@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Shippori Mincho", serif;
  --f-en: "Cinzel", serif;
  --main-color: #1c428b;
  --clr1: #333333;
  --clr2: #accbee;
  --ttl_size: 30px;
  --wrapper: 110px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-family: var(--f-notosans);
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: 100%;
  -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure,
picture {
  display: block;
  padding: 0;
  margin: 0;
}

img {
  display: table;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a:not(.tel_click) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  color: #64b5f7;
}
a.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not([target*=_blank]) {
    transition: opacity 0.3s ease;
  }
  a:not([target*=_blank]):hover {
    opacity: 0.7;
  }
  a.tel_click {
    pointer-events: none;
  }
  a:not(.tel_click):hover, a:not(.tel_click):active {
    color: #64b5f7;
  }
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

table {
  width: 100%;
}

iframe {
  width: 100%;
  height: 100%;
}

.captcha_box iframe {
  height: auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

p {
  line-height: 2.25;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty {
  display: none !important;
}
p:last-child {
  margin-bottom: 0;
}

.red {
  color: #ca0a0a !important;
}

.bold {
  font-weight: bold !important;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

*,
::after,
::before {
  box-sizing: border-box;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  overflow-x: auto !important;
}

.wrapper {
  overflow: hidden;
}

.inner_max,
.inner_big,
.inner,
.inner_sm {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.inner_max {
  max-width: 1480px;
}

.inner_big {
  max-width: 1320px;
}

.inner {
  max-width: 1158px;
}

.inner_sm {
  max-width: 1020px;
}

.fullWidthBreak {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.txt_ver {
  writing-mode: vertical-rl;
}

@media only screen and (min-width: 769px) {
  .txt_ver_pc {
    writing-mode: vertical-rl;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 35px;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
  background-color: #ccc;
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  width: 90%;
  margin: 0px auto;
  max-width: 1118px;
}
.TabContainer .TabPager > div {
  background-color: #a4c7ce;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 20px 20px;
  width: calc(50% - 0px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  border-radius: 10px 10px 0px 0px;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 1.5em;
  line-height: 2;
  border-bottom: 1px solid transparent;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
  color: #3d9e81;
}
.TabContainer .TabPager > div.active p {
  border-bottom: 1px solid;
}

.rel {
  position: relative;
}

.ovh {
  overflow: hidden !important;
}

.ovs {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* Lets it scroll lazy */
}

.lt0 {
  letter-spacing: 0 !important;
}

figure,
picture {
  text-align: center;
  line-height: 1;
}

.fblock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.key {
  position: relative;
}

.txt_l {
  float: left;
  width: calc(100% - 385px);
}

.txt_r {
  float: right;
  width: calc(100% - 385px);
}

.link > a {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tel_click {
  display: table;
  text-decoration: none;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-size: 1.5em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.3214em;
  margin-top: 0.1786em;
  width: 0.893em;
  height: 0.893em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}

.en-big {
  position: relative;
  z-index: 1;
  margin-bottom: -0.6125em;
  font-size: clamp(80px, 11.2vw, 160px);
  letter-spacing: 0.105em;
  text-align: center;
  line-height: 1;
  text-transform: uppercase;
}
.en-big.white {
  color: rgba(255, 255, 255, 0.3);
}

.en {
  font-family: var(--f-en);
  text-transform: uppercase;
}

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  font-family: var(--f-jp);
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 10px;
  height: 6px;
  left: 0;
  right: 0;
  bottom: 0.8em;
  margin: 0 auto;
  --mask: url(../images/idx_btn_arr_ico.png);
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}

.btn-group {
  font-size: clamp(8px, 0.7vw, 10px);
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  min-width: 180px;
  max-width: 436px;
  overflow: hidden;
}
.btn-group .btn.style01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  height: 100%;
  width: 100%;
  padding: 0.7em 1em 1em;
  font-size: 2.4em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  color: var(--main-color);
  background-color: white;
  transition: all 0.3s;
  border-radius: 5px;
  box-shadow: 0px 0px 20px 0px rgba(7, 32, 72, 0.08);
}
.btn-group .btn.style01 a::after {
  background-color: var(--main-color);
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--main-color);
}
.btn-group .btn.bg01 a::after {
  background-color: var(--main-color);
}
.yt {
  max-width: 960px;
  margin: 0px auto;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slick-arrow {
  display: block;
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  position: absolute;
  top: 37%;
  width: 2em;
  height: 2em;
  transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

.slick-prev {
  left: -1em;
}

.slick-next {
  right: -1em;
}

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  body {
    font-size: 87.5%;
  }
}
.br_custom {
  display: none;
}

.br_auto {
  display: inline-block;
}

@media only screen and (max-width: 319px) {
  .br_auto {
    display: inline;
  }
}
.br_1280,
.br_1170,
.br_769,
.br_750,
.br_640,
.br_520,
.br_480,
.br_430,
.br_390,
.br_375,
.br_360,
.br_320,
.ft_769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .br_1280 {
    display: block;
  }
  .dis_1280 {
    display: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .br_1170 {
    display: block;
  }
  .dis_1170 {
    display: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_769,
  .br_769 {
    display: block;
  }
  .dis_769 {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .br_750 {
    display: block;
  }
  .dis_750 {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .br_640 {
    display: block;
  }
  .dis_640 {
    display: none;
  }
}
@media only screen and (max-width: 520px) {
  .br_520 {
    display: block;
  }
  .dis_520 {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .br_480 {
    display: block;
  }
  .in_480 {
    display: inline;
  }
  .dis_480 {
    display: none;
  }
}
@media only screen and (max-width: 430px) {
  .br_430 {
    display: block;
  }
  .in_430 {
    display: inline;
  }
  .dis_430 {
    display: none;
  }
}
@media only screen and (max-width: 390px) {
  .br_390 {
    display: block;
  }
  .in_390 {
    display: inline;
  }
  .dis_390 {
    display: none;
  }
}
@media only screen and (max-width: 375px) {
  .br_375 {
    display: block;
  }
  .in_375 {
    display: inline;
  }
  .dis_375 {
    display: none;
  }
}
@media only screen and (max-width: 360px) {
  .br_360 {
    display: block;
  }
  .dis_360 {
    display: none;
  }
  .in_360 {
    display: inline;
  }
}
@media only screen and (max-width: 350px) {
  .in_320 {
    display: inline;
  }
  .br_320 {
    display: block;
  }
  .dis_320 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_769,
  .br_640,
  .br_520,
  .br_480,
  .br_430,
  .br_375 {
    display: none;
  }
}
.flex_gr {
  --size-mg: 5px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: calc(var(--size-mg) * -1);
}
.flex_gr .btn.style01 {
  min-width: unset;
}
.flex_gr .item {
  width: 100%;
  margin: var(--size-mg);
}
@media only screen and (min-width: 769px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(33.333333% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(25% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(20% - 2 * var(--size-mg));
  }
}

.link a {
  position: absolute;
  display: block;
  inset: 0;
  z-index: 2;
}

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
  padding: 0 49px 0 53px;
  transition: all 0.3s;
}

header.active,
.ovh header {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  header.active .logo,
  .ovh header .logo {
    width: 21%;
    top: 0;
    max-width: 218px;
  }
}
header.active .logo .lg_active,
.ovh header .logo .lg_active {
  display: block;
}
header.active .logo .lg_first,
.ovh header .logo .lg_first {
  display: none;
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 5px 20px;
  height: 100%;
}

.logo {
  position: relative;
  width: 30%;
  max-width: 258px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}
@media only screen and (min-width: 769px) {
  .logo {
    top: 20px;
    margin-right: -9%;
  }
}
.logo a {
  display: table;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}
.logo .lg_active {
  display: none;
}
.logo .lg_first {
  display: block;
}

.hd_tel a {
  position: relative;
  z-index: 1;
  padding-left: 1.5em;
  font-size: 2.4em;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-family: var(--f-jp);
  text-transform: uppercase;
  color: var(--main-color);
  text-decoration: none;
}
.hd_tel a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0.0833em;
  width: 1.0833em;
  height: 1.0833em;
  background: url(../images/hd_tel_ico.png) no-repeat center/cover;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .hd_tel a {
    filter: drop-shadow(0px 0px 5px rgb(255, 255, 255)) drop-shadow(0px 0px 10px rgb(255, 255, 255)) drop-shadow(0px 0px 10px rgb(255, 255, 255)) drop-shadow(0px 0px 1px rgb(255, 255, 255));
  }
}
header .right_head .pc_navi {
  opacity: 0;
  pointer-events: none;
}
header.show_right_head .right_head .pc_navi {
  opacity: 1;
  pointer-events: unset;
}
header .pc_navi {
  flex-grow: 1;
  padding-right: 3.1em;
}
header .pc_navi ul > li > a,
header .pc_navi .pc_navi > ul > li > p {
  padding-left: 1em;
  padding-right: 1.1111em;
}

.right_head {
  width: calc(79% - 20px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-size: min(0.72vw, 10px);
  transition: all 0.3s;
}

.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1px;
  height: 100%;
  background-color: var(--clr2);
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-left: 2.9444em;
  padding-right: 2.9444em;
  margin: 0;
  height: 1.6667em;
  text-decoration: none;
  text-align: center;
  font-size: 1.8em;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: var(--f-jp);
  color: var(--main-color);
  transition: all 0.2s ease;
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 66.6666666667%;
  font-weight: 600;
}
.pc_navi > ul > li:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  transform: translateY(5px);
}
.pc_navi > ul > li:first-child > a,
.pc_navi > ul > li:first-child > p {
  padding-left: 0;
}
.pc_navi > ul > li:last-child::after {
  display: none;
}
.pc_navi > ul > li:last-child > a,
.pc_navi > ul > li:last-child > p {
  padding-right: 0;
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 18em;
  right: 50%;
  bottom: -15px;
  padding-top: 0px;
  transform: translate(50%, 100%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pc_navi > ul .subInner.active {
  opacity: 1;
  visibility: visible;
}
.pc_navi > ul .subInner ul {
  background-color: var(--main-color);
  padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
}
.pc_navi > ul .subInner ul li a {
  position: relative;
  display: block;
  padding: 1.2em 0.6em 1.2em 1.6em;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
  font-size: 0.875em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.05em;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 440px;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 900px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
}
.idx_gallery {
  position: relative;
  z-index: 2;
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img img {
  overflow: hidden;
  border-radius: 5px;
  margin: 0 5px;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery .list .img img {
    max-width: 300px;
  }
}
@media only screen and (max-width: 768px) {
  .idx_gallery .list .img img {
    max-width: 250px;
  }
}
.idx_logo a:hover {
  opacity: 1;
}

.time_sheet {
  margin: 0px auto;
  max-width: 436px;
  font-size: clamp(8.5px, 0.8vw, 10px);
}
.time_sheet .time_sheet_note {
  margin-top: 9px;
  line-height: 1.8333333;
  font-size: 12px;
}
.time_sheet table .char {
  position: relative;
  z-index: 1;
}
.time_sheet table .char::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  top: 0.2em;
  margin: auto;
  width: 0.2667em;
  height: 1px;
  background-color: var(--clr1);
}
.time_sheet table .char .line {
  opacity: 0;
}
.time_sheet table th,
.time_sheet table td {
  border: none;
  text-align: center;
  width: 8.2%;
  font-weight: 400;
  font-size: 1.5em;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 36%;
  white-space: nowrap;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 14.7%;
  padding-right: 2.1em;
}
.time_sheet table th {
  padding: 0.9em 0.2em;
  letter-spacing: 0.12em;
  color: white;
  background-color: var(--main-color);
}
.time_sheet table th:first-child {
  border-radius: 5px 0 0 5px;
}
.time_sheet table th:last-child {
  border-radius: 0 5px 5px 0;
}
.time_sheet table td {
  position: relative;
  padding: 1.1em 0.2em 1.4em;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.time_sheet table td::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 1px;
  background-color: #c9c9c9;
}
.time_sheet table td:first-child {
  color: var(--clr1);
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  header {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  :root {
    --ttl_size: 24px;
    --wrapper: 90px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  header {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 45px;
  right: 37px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 70px;
  height: 70px;
  margin: 0;
  filter: drop-shadow(0px 0px 20px rgba(7, 32, 72, 0.08));
}

@media only screen and (min-width: 769px) {
  .totop:hover .icon {
    opacity: 0.9;
    animation-name: bounces;
  }
}
.bounce {
  animation-name: bounces;
}

.animateds {
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner {
  position: fixed;
  top: calc(40% - 6.6em);
  right: 0px;
  z-index: 15;
  transition: right 0.3s ease-in-out;
  font-size: 10px;
}
.fixed_banner > div {
  position: relative;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fixed_banner p {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
  line-height: 1.2222222222;
  text-align: center;
  text-decoration: none;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  letter-spacing: 0.1em;
  flex-direction: column;
}
.fixed_banner p .tt::before {
  content: "";
  display: block;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
.fixed_banner .tel p {
  background-color: white;
  color: var(--main-color);
}
.fixed_banner .tel p .tt::before {
  width: 1.375em;
  height: 1.375em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 331' %3E%3Cpath d='M329.968,246.177 L329.968,311.000 C329.972,320.620 322.527,328.617 312.925,329.286 C304.917,329.824 298.374,330.139 293.315,330.139 C131.368,330.139 0.099,198.817 0.099,36.820 C0.099,31.756 0.374,25.221 0.943,17.204 C1.616,7.604 9.606,0.136 19.231,0.136 L84.031,0.136 C88.742,0.136 92.689,3.708 93.159,8.416 C93.581,12.628 93.966,15.976 94.331,18.523 C97.974,43.943 105.437,68.683 116.470,91.871 C118.209,95.544 117.073,99.918 113.775,102.272 L74.229,130.544 C98.407,186.884 143.309,231.797 199.651,255.1000 L227.874,216.495 C230.254,213.176 234.674,212.030 238.375,213.775 C261.557,224.785 286.269,232.244 311.677,235.867 C314.225,236.222 317.578,236.648 321.758,237.034 C326.435,237.511 329.991,241.478 329.985,246.177 L329.968,246.177 Z'/%3E%3C/svg%3E");
  background-color: var(--main-color);
}
.fixed_banner .mail p {
  background-color: var(--clr2);
}
.fixed_banner .mail p .tt::before {
  width: 1.5417em;
  height: 1.375em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 264 216' %3E%3Cpath d='M229.376,215.997 L35.482,215.997 C16.392,215.997 0.859,200.384 0.859,181.192 L0.859,35.016 C0.859,15.824 16.392,0.211 35.482,0.211 L229.376,0.211 C248.466,0.211 263.1000,15.824 263.1000,35.016 L263.1000,48.953 C263.1000,48.964 263.1000,48.975 263.1000,48.987 L263.1000,181.192 C263.1000,200.384 248.466,215.997 229.376,215.997 ZM250.150,35.016 C250.150,23.496 240.831,14.127 229.376,14.127 L35.482,14.127 C24.027,14.127 14.708,23.496 14.708,35.016 L14.708,45.209 L132.429,124.100 L250.150,45.209 L250.150,35.016 ZM250.150,61.943 L136.270,138.261 C135.107,139.043 133.768,139.430 132.429,139.430 C131.090,139.430 129.751,139.043 128.588,138.261 L14.708,61.944 L14.708,181.192 C14.708,187.497 17.511,193.144 21.916,196.977 C21.270,194.637 21.832,192.034 23.661,190.197 L72.135,141.469 C74.839,138.752 79.222,138.752 81.927,141.469 C84.632,144.192 84.632,148.590 81.927,151.314 L33.454,200.042 C32.753,200.743 31.939,201.256 31.072,201.596 C32.495,201.907 33.968,202.081 35.482,202.081 L229.376,202.081 C230.890,202.081 232.363,201.907 233.786,201.596 C232.919,201.256 232.104,200.743 231.404,200.042 L182.931,151.314 C180.226,148.590 180.226,144.192 182.931,141.469 C185.635,138.752 190.018,138.752 192.723,141.469 L241.196,190.197 C243.026,192.034 243.587,194.637 242.941,196.977 C247.347,193.144 250.150,187.497 250.150,181.192 L250.150,61.943 Z'/%3E%3C/svg%3E");
  background-color: white;
}
.fixed_banner .web p {
  background-color: var(--main-color);
}
.fixed_banner .web p .tt::before {
  width: 1.375em;
  height: 1.375em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232 ' %3E%3Cpath d='M218.959,232.004 L13.039,232.004 C5.931,232.004 0.169,226.540 0.169,219.806 L0.169,49.115 C0.169,42.374 5.931,36.917 13.039,36.917 L51.648,36.917 L51.648,12.533 C51.648,5.799 57.410,0.348 64.518,0.348 C71.626,0.348 77.388,5.799 77.388,12.533 L77.388,36.917 L154.608,36.917 L154.608,12.533 C154.608,5.799 160.370,0.348 167.478,0.348 C174.586,0.348 180.348,5.799 180.348,12.533 L180.348,36.917 L206.089,36.917 L218.959,36.917 C226.069,36.917 231.829,42.374 231.829,49.115 L231.829,219.806 C231.829,226.540 226.069,232.004 218.959,232.004 ZM106.345,141.603 L83.269,119.752 C78.243,114.984 70.098,114.984 65.071,119.752 C60.043,124.508 60.043,132.228 65.071,136.983 L97.246,167.469 C99.659,169.750 102.934,171.045 106.345,171.045 C109.758,171.045 113.032,169.750 115.445,167.469 L166.925,118.702 C171.953,113.940 171.953,106.214 166.925,101.452 C161.898,96.690 153.753,96.690 148.726,101.452 L106.345,141.603 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 5.5em;
    width: 5.5em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner > div:not(:last-child) {
    margin-bottom: 5px;
  }
  .fixed_banner p {
    border-radius: 5px 0 0 5px;
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner .web {
    height: 19em;
  }
  .fixed_banner .web p {
    padding-bottom: 1px;
    height: 100%;
  }
  .fixed_banner .web p .tt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-size: 1.6em;
    letter-spacing: 0.15em;
  }
  .fixed_banner .web p .tt > span {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.8125em;
    width: 1.25em;
    height: 1.25em;
  }
  .fixed_banner .web p .jp {
    position: relative;
    right: 0.0938em;
    writing-mode: vertical-rl;
  }
  .fixed_banner .web p .txt_en {
    writing-mode: vertical-lr;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8.75px;
  }
  .totop {
    bottom: 25px;
    right: 25px;
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .fixed_banner {
    top: 200px;
  }
}
footer {
  padding: 40px 0 40px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: var(--clr1);
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 30px;
  max-width: 406px;
}
footer .ft_info {
  width: 47.5%;
}
footer .ft_info .des {
  margin-bottom: 26px;
  font-size: 14px;
  letter-spacing: 0.1em;
}
footer .ft_link {
  width: 50%;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .link_list > div > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
  }
  .ft_link .link_list > div > ul li {
    width: 50%;
  }
  .ft_link .menu01 {
    width: 100%;
  }
  .ft_link .menu01 > ul {
    max-height: 13em;
  }
  .ft_link .menu02 {
    margin-top: 2em;
    width: 100%;
  }
  .ft_link .menu02 > ul {
    max-height: 10em;
  }
  .ft_link .menu02 > ul > li:nth-child(n+3) {
    max-width: 20em;
  }
}
.ft_link .title {
  margin-bottom: 28px;
  padding-left: 0;
  font-size: calc(var(--ttl_size) + 4px);
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
}
.ft_link .title::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.15em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  font-size: 0.9375em;
  letter-spacing: 0.05em;
  color: var(--clr1);
  line-height: 1.6;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 20px 0px;
  position: relative;
  z-index: 1;
}
.copyright .flex {
  align-items: center;
  justify-content: flex-start;
  min-height: 40px;
}
.copyright .inner_big {
  max-width: 1157px;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: var(--main-color);
}
.copyright .textwidget {
  display: block;
  line-height: 20px;
  padding-left: 19px;
  padding-bottom: 3px;
  margin-left: 22px;
  border-left: 1px solid #cecece;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 13px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 159px;
}

.idx_contact .contact_box {
  max-width: 1280px;
  padding: 54px clamp(40px, 4.2vw, 60px) 111px;
  margin-left: auto;
  margin-right: auto;
  background-color: #f6f6f6;
  border-radius: 5px;
}
.idx_contact .contact_box h3 {
  margin-bottom: 49px;
}
.idx_contact .contact_banner_gr {
  --size-mg: 14px;
  font-size: min(1.1vw, 10px);
}
.idx_contact .contact_banner_gr .banner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 1.5em;
  max-width: 436px;
  min-height: 13em;
  border-radius: 5px;
  box-shadow: 0px 0px 20px 0px rgba(7, 32, 72, 0.08);
  transition: all 0.3s;
}
.idx_contact .contact_banner_gr .banner .ttl {
  position: relative;
  line-height: 1;
}
.idx_contact .contact_banner_gr .banner .ttl::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  top: 0;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
}
.idx_contact .contact_banner_gr .banner.tel {
  background-color: white;
}
.idx_contact .contact_banner_gr .banner.tel p {
  margin-bottom: 0;
  text-align: center;
  color: var(--main-color);
}
.idx_contact .contact_banner_gr .banner.tel .ttl {
  padding-left: 1.4333em;
  margin-bottom: 0.3333em;
  min-height: 1em;
  font-size: 3em;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.05em;
}
.idx_contact .contact_banner_gr .banner.tel .ttl::before {
  width: 1em;
  height: 1em;
  --mask: url(../images/idx_contact_mask_phone.png);
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx_contact .contact_banner_gr .banner.tel .ttl {
    position: relative;
    left: 2px;
    top: 1px;
  }
}
.idx_contact .contact_banner_gr .banner.tel .note {
  font-size: 1.4em;
  text-align: center;
  line-height: 1.42857;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
  color: var(--main-color);
}
.idx_contact .contact_banner_gr .banner:not(.tel) .ttl {
  margin-bottom: 0;
  font-size: 2.6em;
}
.idx_contact .contact_banner_gr .banner.web {
  padding-left: 2.5em;
  background-color: var(--main-color);
}
.idx_contact .contact_banner_gr .banner.web .ttl {
  padding-left: 1.9615em;
  color: white;
}
.idx_contact .contact_banner_gr .banner.web .ttl::before {
  top: -0.1154em;
  width: 1.2308em;
  height: 1.2308em;
  --mask: url(../images/idx_contact_mask_web.png);
  background-color: white;
}
@media only screen and (min-width: 769px) {
  .idx_contact .contact_banner_gr .banner.web:hover {
    opacity: 0.8;
  }
}
.idx_contact .ct_area {
  margin-top: 49px;
}
.idx_contact .ct_area p {
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .idx_contact .contact_box {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}
.details_sheet {
  position: relative;
  z-index: 1;
  font-size: clamp(7.5px, 0.9vw, 10px);
  border: 1px solid #c9c9c9;
  border-radius: 5px;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .details_sheet {
    /* Specific to iOS devices */
    border-width: 1.5px;
  }
}
@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    .details_sheet {
      /* Safari */
      border-width: 1.5px;
    }
  }
}
.details_sheet .td_ico {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.4375em;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #989898;
}
.details_sheet .td_ico.icon01 {
  width: 1.375em;
  height: 1.375em;
  --mask: url(../images/td_ico01.png);
}
.details_sheet .td_ico.icon02 {
  width: 1.125em;
  height: 1.125em;
  --mask: url(../images/td_ico02.png);
}
.details_sheet .td_ico.icon03 {
  width: 1.375em;
  height: 1.3125em;
  --mask: url(../images/td_ico03.png);
}
.details_sheet .td_ico.icon04 {
  width: 1.375em;
  height: 1.375em;
  --mask: url(../images/td_ico04.png);
}
.details_sheet table th,
.details_sheet table td {
  padding: 0.5em;
  border: 1px solid #c9c9c9;
  letter-spacing: 0.05em;
  text-align: center;
}
.details_sheet table th:first-child,
.details_sheet table td:first-child {
  width: 28%;
  font-family: var(--f-jp);
  background-color: #f6f6f6;
}
.details_sheet table th:not(:first-child),
.details_sheet table td:not(:first-child) {
  width: 20%;
}
.details_sheet table th {
  font-size: 2em;
  font-weight: 400;
  line-height: 1.75;
  color: var(--main-color);
}
.details_sheet table td {
  font-size: 1.6em;
  text-align: center;
}
.details_sheet table tr:first-of-type th,
.details_sheet table tr:first-of-type td {
  height: 9em;
}
.details_sheet table tr:first-of-type td {
  font-size: 2em;
  font-family: var(--f-jp);
  line-height: 1.75;
  color: white;
  background: no-repeat center/cover;
}
.details_sheet table tr:first-of-type td:nth-of-type(1) {
  background-image: url(../images/details_sheet_td_bg01.jpg);
}
.details_sheet table tr:first-of-type td:nth-of-type(2) {
  background-image: url(../images/details_sheet_td_bg02.jpg);
}
.details_sheet table tr:first-of-type td:nth-of-type(3) {
  background-image: url(../images/details_sheet_td_bg03.jpg);
}
.details_sheet table tr:not(:first-of-type) th,
.details_sheet table tr:not(:first-of-type) td {
  height: 120px;
}
.details_sheet table tr:not(:first-of-type) td {
  line-height: 1.5625;
}
.details_sheet table tr th:last-child,
.details_sheet table tr td:last-child {
  border-right: none;
}
.details_sheet table tr th:first-child,
.details_sheet table tr td:first-child {
  border-left: none;
}
.details_sheet table tr:first-of-type th,
.details_sheet table tr:first-of-type td {
  border-top: none;
}
.details_sheet table tr:first-of-type td:last-of-type {
  border-top-right-radius: 5px;
}
.details_sheet table tr:last-of-type th,
.details_sheet table tr:last-of-type td {
  border-bottom: none;
}
@media only screen and (min-width: 1280px) {
  .details_sheet table tr:nth-of-type(2) td {
    padding-top: 0.9em;
  }
  .details_sheet table tr:nth-of-type(2) td .td_ico {
    margin-bottom: 11px;
  }
  .details_sheet table tr:nth-of-type(3) td, .details_sheet table tr:nth-of-type(4) td, .details_sheet table tr:nth-of-type(5) td, .details_sheet table tr:nth-of-type(6) td {
    padding-top: 0.7em;
  }
  .details_sheet table tr:nth-of-type(7) td, .details_sheet table tr:nth-of-type(8) td {
    padding-top: 0.1em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .details_sheet table tr:first-of-type td,
  .details_sheet table th {
    font-size: 1.8em;
  }
  .details_sheet table tr:not(:first-of-type) th, .details_sheet table tr:not(:first-of-type) td {
    height: 90px;
  }
}
@media only screen and (max-width: 768px) {
  .details_sheet table th:first-child,
  .details_sheet table td:first-child {
    width: 20%;
  }
}
.faq_box {
  font-size: 10px;
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .faq_box {
    font-size: 9px;
  }
}
.faq_box .accContainer {
  background-color: white;
  margin-bottom: 30px;
  max-width: 626px;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
}
.faq_box .accContainer:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .faq_box .accContainer:nth-last-of-type(2) {
    margin-bottom: 0;
  }
}
.faq_box .accBtn {
  cursor: pointer;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0;
  padding: 1em 40px 1em 1.9em;
  border-radius: 5px;
  min-height: 7em;
  background-color: var(--main-color);
  transition: 0.3s all;
}
.faq_box .accBtn .plus {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 20px;
  width: 1.3em;
  height: 1.3em;
  font-size: 10px;
}
.faq_box .accBtn .plus::before, .faq_box .accBtn .plus::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  bottom: 0;
  top: 0;
  margin: auto;
  background-color: #dad6d6;
}
.faq_box .accBtn .plus::before {
  left: 0;
  width: 100%;
  height: 1px;
}
.faq_box .accBtn .plus::after {
  left: 0;
  right: 0;
  height: 100%;
  width: 1px;
}
.faq_box .accBtn h4 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  font-size: 2em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 0;
  color: white;
}
.faq_box .accBtn h4::before {
  content: "Q";
  position: relative;
  top: 0.2em;
  margin-right: 1.1em;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.1em;
  color: white;
}
.faq_box .accBtn h4.letter02 {
  letter-spacing: 0.02em;
}
.faq_box .accBtn.rotate .plus::after {
  transform: rotate(45deg);
  opacity: 0;
}
.faq_box .accBlock {
  position: relative;
  padding: 19px 20px 21px 31px;
  margin-top: 10px;
  border-radius: 5px;
  background-color: #f6f6f6;
}
.faq_box .accBlock p {
  font-size: 16px;
}
@media only screen and (max-width: 1170px) {
  .faq_box .accBlock p {
    font-size: 14px;
  }
}
@media only screen and (min-width: 769px) {
  .faq_box .accBtn:hover {
    background-color: #05235d;
  }
}

@media only screen and (min-width: 769px) {
  .faq_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .faq_box > div {
    width: calc(50% - 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .faq_box .accBtn {
    min-height: 8em;
  }
}
@media only screen and (max-width: 768px) {
  .faq_box {
    font-size: 8.75px;
  }
  .faq_box .accContainer {
    width: 100%;
    margin: 0 auto 20px;
  }
  .faq_box .accBlock {
    padding: 20px;
  }
  .faq_box .accBlock::before {
    top: 0.78em;
  }
}
@media only screen and (max-width: 480px) {
  .faq_box .accBlock::before {
    top: 0.745em;
  }
}
.idx_banner {
  position: relative;
  z-index: 1;
  padding: 70px 40px;
}
.idx_banner::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% + 85px);
  background-color: #f6f6f6;
}
.idx_banner .banner_gr {
  --size-mg: 14px;
}
.idx_banner .banner_gr .banner {
  position: relative;
  z-index: 1;
  max-width: 288px;
}
.idx_banner .banner_gr .banner a {
  z-index: 2;
}
.idx_banner .banner_gr .banner.bd a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #d8dde6;
}

@media only screen and (max-width: 768px) {
  .idx_banner {
    padding: 40px 20px;
  }
  .idx_banner .banner_gr {
    --size-mg: 5px;
  }
  .idx_banner .banner_gr .banner {
    max-width: 200px;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

/*# sourceMappingURL=style.css.map */
