/* ==================================================
  base
================================================== */

.main_content {
  overflow-x: clip;
  color: var(--black);
  font-size: 16px;
  line-height: 1.375;
  overflow-wrap: anywhere;
}
.main_content img {
  height: auto;
}
.main_content video {
  vertical-align: bottom;
  width: 100%;
}
.main_content sup {
  vertical-align: top;
  position: relative;
  top: .7em;
  font-size: 10px;
  line-height: 0;
}



/* ----------------------------------------
  breadcrumbs, title
---------------------------------------- */

.page_title_area_aem {
  display: none;
}

@media (max-width: 1023px) {
  .breadcrumbs.for_mobile {
    display: none;
  }
}

@media (min-width: 1024px) {
  .breadcrumbs.for_pc {
    display: none;
  }
}





/* ==================================================
  color
================================================== */

:root {
  --electric-blue: #024ad8;
  --electric-blue-hover: #c9e0fc;
  --power-storm: #568393;
  --orange-bloom: #ff5050;
  --standard-gray: #e6e6e6;
  --light-gray: #f5f5f5;
  --black: #1a1a1a;
  --black-hover: #3d3d3d;
}

.fc_blue { color: var(--electric-blue) !important; }
.fc_power_storm { color: var(--power-storm) !important; }
.fc_orange { color: var(--orange-bloom) !important; }

.bg_standard_gray { background-color: var(--standard-gray) !important; }
.bg_light_gray { background-color: var(--light-gray) !important; }
.bg_black { background-color: var(--black) !important; }





/* ==================================================
  cont_wrap
================================================== */

.cont_wrap {
  padding: 40px 20px;
}

@media (min-width: 768px) {
  .cont_wrap {
    padding: 50px 30px;
  }
}





/* ==================================================
  section_content
================================================== */

@media screen and (min-width: 1024px) {
  .main_content .section_content[class*="mw"] {
    width: auto;
  }
  .section_content.mw1220 {
    max-width: 1220px;
  }
  .section_content.mw1400 {
    max-width: 1400px;
  }
  .section_content.mw1540 {
    max-width: 1540px;
  }
}





/* ==================================================
  heading
================================================== */

.main_content h1,
.main_content h2,
.main_content h3,
.main_content h4,
.main_content h5,
.main_content h6 {
  font-weight: normal;
}





/* ==================================================
  text
================================================== */

.title_large,
.title_medium {
  font-family: "FormaDJRDisplay","FormaDJRJapaneseDisplay";
}
.title_large {
  font-size: 44px;
  line-height: 44px
}
.title_medium {
  font-size: 36px;
  line-height: 36px
}
.title_regular {
  font-size: 32px;
  line-height: 32px
}
.title_small {
  font-size: 24px;
  line-height: 24px
}
.subtitle_large {
  font-size: 18px;
  line-height: 24px
}
.overline_large,
.subtitle_regular {
  font-size: 16px;
  line-height: 20px
}
.overline_regular {
  font-size: 12px;
  line-height: 16px
}
.body_extra_large {
  font-size: 18px;
  line-height: 24px
}
.body_large {
  font-size: 16px;
  line-height: 24px
}
.body_regular {
  font-size: 14px;
  line-height: 24px
}
.label_regular {
  font-size: 16px;
  line-height: 20px
}
.label_small {
  font-size: 12px;
  line-height: 16px
}
.caption_regular {
  font-size: 14px;
  line-height: 20px
}
.caption_small {
  font-size: 12px;
  line-height: 16px
}

@media (min-width: 768px) {
  .title_large {
    font-size: 56px;
    line-height: 56px
  }
  .title_medium {
    font-size: 44px;
    line-height: 44px
  }
  .title_regular {
    font-size: 36px;
    line-height: 36px
  }
  .title_small {
    font-size: 28px;
    line-height: 28px
  }
  .subtitle_large {
    font-size: 20px;
    line-height: 24px
  }
  .overline_large,
  .subtitle_regular {
    font-size: 18px;
    line-height: 24px
  }
  .overline_regular {
    font-size: 14px;
    line-height: 20px
  }
  .body_extra_large {
    font-size: 18px;
    line-height: 24px
  }
  .body_large {
    font-size: 16px;
    line-height: 24px
  }
  .body_regular {
    font-size: 14px;
    line-height: 24px
  }
  .label_regular {
    font-size: 16px;
    line-height: 20px
  }
  .label_small {
    font-size: 12px;
    line-height: 16px
  }
  .caption_regular {
    font-size: 14px;
    line-height: 20px
  }
  .caption_small {
    font-size: 12px;
    line-height: 16px
  }
}

@media (min-width: 1280px) {
  .title_large {
    font-size: 72px;
    line-height: 72px
  }
  .title_medium {
    font-size: 56px;
    line-height: 56px
  }
  .title_regular {
    font-size: 44px;
    line-height: 44px
  }
  .title_small {
    font-size: 32px;
    line-height: 32px
  }
  .subtitle_large {
    font-size: 24px;
    line-height: 28px
  }
  .overline_large,
  .subtitle_regular {
    font-size: 20px;
    line-height: 24px
  }
  .overline_regular {
    font-size: 16px;
    line-height: 20px
  }
  .body_extra_large {
    font-size: 20px;
    line-height: 24px
  }
  .body_large {
    font-size: 18px;
    line-height: 24px
  }
  .body_regular {
    font-size: 16px;
    line-height: 24px
  }
  .label_regular {
    font-size: 16px;
    line-height: 20px
  }
  .label_small {
    font-size: 12px;
    line-height: 16px
  }
  .caption_regular {
    font-size: 14px;
    line-height: 20px
  }
  .caption_small {
    font-size: 12px;
    line-height: 16px
  }
}





/* ==================================================
  button
================================================== */

.main_content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 16px;
  text-align: center;
  border-radius: 8px;
}
.main_content .button.line {
  border: none;
  outline-offset: -1px;
  outline-width: 1px;
  outline-style: solid;
}


/* small -------------------- */

.main_content .button.small {
  gap: 4px;
  min-height: 36px;
  padding: 6px 12px;
}


/* primary -------------------- */

.main_content .button.primary {
  background: var(--black);
}
.main_content .button.primary:hover {
  background: var(--black-hover);
}


/* critical -------------------- */

.main_content .button.critical {
  background: var(--electric-blue);
}
.main_content .button.critical:hover {
  background: #103fb2;
}


/* white -------------------- */

.main_content .button.white {
  color: var(--black);
  background: #e8e8e8;
}
.main_content .button.white:hover {
  background: #c2c2c2;
}


/* critical, line -------------------- */

.main_content .button.critical.line {
  color: var(--electric-blue);
  background: transparent;
  outline-color: var(--electric-blue);
}
.main_content .button.critical.line:hover {
  background: var(--electric-blue-hover);
}



/* ----------------------------------------
  ghost
---------------------------------------- */

.main_content .c-button-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: .2s;
  min-height: 48px;
  padding: 12px;
  text-decoration: none !important;
  border-radius: 8px;
}
.main_content .c-button-ghost.small {
  gap: 4px;
  min-height: 36px;
  padding: 6px 12px;
}
.main_content .c-button-ghost .c-button__text {
  color: var(--electric-blue);
}
.main_content .c-button-ghost .c-button__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
}
.main_content .c-button-ghost .c-button__icon::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13.89 4.014a.527.527 0 0 0-.244.137.497.497 0 0 0-.083.588c.023.047.46.488 3.38 3.408l3.352 3.354h-8.93c-7.955 0-8.936.002-8.984.014a.509.509 0 0 0-.367.373.67.67 0 0 0 .016.28.51.51 0 0 0 .362.317c.053.012 1.276.014 8.982.014h8.92l-3.352 3.353c-3.626 3.628-3.383 3.38-3.424 3.518a.494.494 0 0 0 .26.575.479.479 0 0 0 .444 0l.077-.038 3.806-3.806c3.523-3.523 3.808-3.81 3.835-3.865a.49.49 0 0 0 .056-.236.49.49 0 0 0-.056-.236c-.027-.054-.312-.342-3.835-3.865-3.62-3.62-3.81-3.807-3.87-3.84a.507.507 0 0 0-.345-.045z" fill="%23024ad8"></path></svg>');
}
.main_content .c-button-ghost:hover {
  background-color: var(--electric-blue-hover);
}





/* ==================================================
  text_link
================================================== */

a.text_link:link,
a.text_link:visited,
a.text_link:hover {
  color: var(--black);
  text-decoration: underline;
}
a.text_link:hover {
  background: rgb(0 0 0 / .1);
}





/* ==================================================
  modal
================================================== */

.main_content .modal_content {
  border: none;
}
.main_content .modal_content,
.main_content .modal_content_inner {
  max-height: calc(100dvh - (50px * 2));
}
.main_content .modal_content {
  overflow-y: visible;
  width: calc(100vw - 32px);
  max-width: 1220px;
  border-radius: 16px;
}
.main_content .modal_content_inner {
  overflow-y: auto;
  max-width: 1114px;
  padding: 30px 20px;
  margin: 0 auto;
}
.main_content .modal_close {
  top: -46px;
  right: 0;
  transform: none;
  width: 36px;
  height: 36px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5.197 4.812a.505.505 0 0 0-.33.736c.016.03 1.057 1.078 3.227 3.247L11.297 12 8.09 15.208c-2.992 2.993-3.21 3.213-3.236 3.268a.499.499 0 0 0 .697.656c.026-.015 1.175-1.157 3.245-3.226L12 12.703l3.205 3.203c2.07 2.07 3.218 3.211 3.244 3.226a.528.528 0 0 0 .4.043.513.513 0 0 0 .348-.436.594.594 0 0 0-.05-.26c-.028-.059-.151-.184-3.237-3.27L12.703 12l3.203-3.205c2.07-2.07 3.211-3.218 3.226-3.244a.463.463 0 0 0 .063-.245.474.474 0 0 0-.145-.36.503.503 0 0 0-.598-.08c-.03.017-1.078 1.058-3.247 3.228L12 11.297 8.796 8.094c-2.17-2.17-3.218-3.211-3.248-3.228a.533.533 0 0 0-.35-.054z"></path></svg>') no-repeat center center / 24px 24px;
  filter: invert(99%) sepia(63%) saturate(174%) hue-rotate(183deg) brightness(111%) contrast(82%); /* #e8e8e8 */
}
.main_content .modal_close:hover {
  filter: invert(100%) sepia(0%) saturate(5426%) hue-rotate(319deg) brightness(121%) contrast(52%); /* #c2c2c2 */
}
.main_content .modal_close::before,
.main_content .modal_close::after {
  content: none;
}
#modal_overlay {
  background-color: rgb(26 26 26 / .5);
  backdrop-filter: blur(16px);
}

@media (min-width: 768px) {
  .main_content .modal_content {
    width: calc(100vw - 60px);
  }
  .main_content .modal_content_inner {
    padding: 50px 30px;
  }
}





/* ==================================================
  magnific-popup
================================================== */

.mfp-bg {
  opacity: 1;
  background-color: rgb(26 26 26 / .5);
  backdrop-filter: blur(16px);
}
.mfp-iframe-holder .mfp-close {
  top: -46px;
  right: 0;
  transform: none;
  opacity: 1;
  width: 36px;
  height: 36px;
  padding: 0;
  font-size: 0;
  background: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5.197 4.812a.505.505 0 0 0-.33.736c.016.03 1.057 1.078 3.227 3.247L11.297 12 8.09 15.208c-2.992 2.993-3.21 3.213-3.236 3.268a.499.499 0 0 0 .697.656c.026-.015 1.175-1.157 3.245-3.226L12 12.703l3.205 3.203c2.07 2.07 3.218 3.211 3.244 3.226a.528.528 0 0 0 .4.043.513.513 0 0 0 .348-.436.594.594 0 0 0-.05-.26c-.028-.059-.151-.184-3.237-3.27L12.703 12l3.203-3.205c2.07-2.07 3.211-3.218 3.226-3.244a.463.463 0 0 0 .063-.245.474.474 0 0 0-.145-.36.503.503 0 0 0-.598-.08c-.03.017-1.078 1.058-3.247 3.228L12 11.297 8.796 8.094c-2.17-2.17-3.218-3.211-3.248-3.228a.533.533 0 0 0-.35-.054z"></path></svg>') no-repeat center center / 24px 24px;
  filter: invert(99%) sepia(63%) saturate(174%) hue-rotate(183deg) brightness(111%) contrast(82%); /* #e8e8e8 */
}
.mfp-iframe-holder .mfp-close:hover {
  filter: invert(100%) sepia(0%) saturate(5426%) hue-rotate(319deg) brightness(121%) contrast(52%); /* #c2c2c2 */
}
.mfp-iframe-scaler iframe {
  border-radius: 16px;
  box-shadow: none;
}





/* ==================================================
  list_basic
================================================== */

.main_content .list_basic > li {
  line-height: inherit;
}
.main_content .list_basic > li::before {
  content: "\2022";
  font-family: Arial;
  font-size: 130%;
  top: 0;
  width: auto;
  height: auto;
  line-height: 1;
  background: none;
}
.main_content .list_basic > li:nth-child(n+2) {
  margin-top: .25em;
}





/* ==================================================
  notes
================================================== */

.notes {
  padding-left: 1em;
  font-size: 12px;
  line-height: 1.33;
  text-indent: -1em;
}
.notes > li:nth-child(n+2) {
  margin-top: .5em;
}



/* ----------------------------------------
  番号付き
---------------------------------------- */

.notes_num {
  counter-reset: notes_num;
  font-size: 12px;
  line-height: 1.33;
}
.notes_num > li {
  position: relative;
  padding-left: 3em;
}
.notes_num > li:nth-child(n+2) {
  margin-top: .5em;
}
.notes_num > li::before {
  counter-increment: notes_num;
  content: "\203B" counters(notes_num, "-") "";
  position: absolute;
  left: 0;
}





/* ==================================================
  アコーディオンのトリガー
================================================== */

.main_content .acco_trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.main_content .acco_trigger::after {
  content: "";
  flex-shrink: 0;
  transition: transform .3s ease-out;
  width: 36px;
  height: 36px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M11.874 3.018a.518.518 0 0 0-.36.368c-.011.05-.013.566-.013 4.086v4.03H7.472c-3.56 0-4.036.002-4.088.014a.516.516 0 0 0-.368.364.505.505 0 0 0 .369.606c.05.012.566.014 4.087.014h4.03v4.029c0 3.52 0 4.037.013 4.087.04.174.188.323.364.369a.505.505 0 0 0 .606-.37c.012-.049.014-.565.014-4.086v-4.03h4.03c3.52 0 4.036-.001 4.086-.013a.516.516 0 0 0 .37-.364.505.505 0 0 0-.37-.606c-.05-.012-.566-.014-4.086-.014h-4.03v-4.03c0-3.52-.002-4.036-.014-4.086a.516.516 0 0 0-.364-.37.6.6 0 0 0-.247.002z"></path></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  border-radius: 50%;
}
.main_content .acco_trigger:hover::after {
  background-color: hsla(0, 0%, 52%, .1);
}
.main_content .acco_trigger.acco_open::after {
  transform: rotate(45deg);
}





/* ==================================================
  fadeIn
================================================== */

.fadeIn {
  transform: translateY(50px);
  transition: transform .8s ease;
}
.fadeIn.is_visible {
  transform: translateY(0);
}





/* ==================================================
  Swiper
================================================== */

/* fade -------------------- */

.main_content .swiper-fade .swiper-slide {
  transition-property: opacity !important;
}


/* controller -------------------- */

.main_content [class^="swiper-button-"] {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.main_content [class^="swiper-button-"]::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M14.92 4.006a.734.734 0 0 0-.158.055c-.036.018-.787.764-3.858 3.833-3.437 3.437-3.815 3.816-3.843 3.87a.491.491 0 0 0 0 .47c.028.055.406.434 3.843 3.872 2.791 2.79 3.823 3.816 3.853 3.83.21.106.432.075.59-.081a.52.52 0 0 0 .154-.354.602.602 0 0 0-.055-.224c-.027-.059-.182-.215-3.636-3.67L8.204 12l3.606-3.608c3.454-3.454 3.609-3.61 3.636-3.67a.488.488 0 0 0-.005-.45.507.507 0 0 0-.52-.266z"></path></svg>');
}
.main_content .swiper-button-next::after {
  transform: scaleX(-1);
}
.main_content .swiper-button-disabled {
  pointer-events: none;
}


/* pagination -------------------- */

.main_content .swiper-pagination {
  display: flex;
  justify-content: center;
}
.main_content .swiper-pagination-bullet {
  display: inline-block;
  transition: width .7s ease;
  cursor: pointer;
  width: 9px;
  height: 9px;
  margin: 0 5px;
  background-color: var(--black);
  background-clip: padding-box;
  border: 2px solid transparent;
  border-radius: 20px;
}
.main_content .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  background-color: var(--black-hover);
}
.main_content .swiper-pagination-bullet-active {
    width: 60px;
}



/* ----------------------------------------
  標準デザイン（default）
---------------------------------------- */

/* controller -------------------- */

.default .swiper-controller {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-bottom: 24px;
}
.default [class^="swiper-button-"] {
  width: 36px;
  height: 36px;
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  border: 1px solid var(--black);
}
.default .swiper-button-prev {
  background-color: transparent;
}
.default .swiper-button-prev:hover {
  background-color: hsla(0, 0%, 52%, .1);
}
.default .swiper-button-next {
  background-color: var(--black);
}
.default .swiper-button-next:hover {
  background-color: var(--black-hover);
}
.default .swiper-button-next::after {
  filter: invert(1);
}


/* pagination -------------------- */

.default .swiper-pagination {
  padding-top: 24px;
}
.default [class^="swiper-button-"].swiper-button-disabled::after {
  filter: invert(84%) sepia(0%) saturate(0%) hue-rotate(183deg) brightness(79%) contrast(84%); /* #a3a3a3 */
}
.default .swiper-button-prev.swiper-button-disabled {
  border-color: #a3a3a3;
}
.default .swiper-button-next.swiper-button-disabled {
  background-color: #e8e8e8;
  border-color: #e8e8e8;
}





/* ==================================================
  video
================================================== */

.video {
  overflow: hidden;
  position: relative;
  border-radius: 16px;
}
.video video {
  object-fit: cover;
  height: 350px;
}

@media (min-width: 768px) {
  .video video {
    height: 600px;
  }
}



/* ----------------------------------------
  video_button
---------------------------------------- */

.video_button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  background: var(--black);
  border-radius: 50%;
}
.video_button:hover {
  background: var(--black-hover);
}
.video_button::after {
  content: "";
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.video_button.pause::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M7.825 3.016a1.01 1.01 0 0 0-.794.736l-.024.09v16.317l.024.088c.028.103.088.234.144.315.05.075.151.18.225.237.084.063.243.14.35.169a.737.737 0 0 0 .25.024.72.72 0 0 0 .248-.024c.107-.028.235-.088.326-.15a1.21 1.21 0 0 0 .251-.255c.057-.083.116-.214.144-.316l.024-.088V3.84l-.024-.089a1.192 1.192 0 0 0-.152-.326 1.212 1.212 0 0 0-.254-.252 1.137 1.137 0 0 0-.315-.141 1.188 1.188 0 0 0-.423-.017zm8 0a1.01 1.01 0 0 0-.794.736l-.024.09v16.317l.024.088c.028.103.088.234.144.315.05.075.151.18.225.237.084.063.243.14.35.169a.737.737 0 0 0 .25.024.72.72 0 0 0 .248-.024c.107-.028.235-.088.326-.15a1.21 1.21 0 0 0 .251-.255c.057-.083.116-.214.144-.316l.024-.088V3.84l-.024-.089a1.193 1.193 0 0 0-.152-.326 1.215 1.215 0 0 0-.254-.252 1.139 1.139 0 0 0-.315-.141 1.188 1.188 0 0 0-.423-.017z"></path></svg>');
}
.video_button.play::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" fill="transparent" d="M5.688 2.953a.761.761 0 0 0-.68.657c-.013.108-.013 16.672 0 16.78a.745.745 0 0 0 .743.655.737.737 0 0 0 .381-.102c.044-.026 13.223-8.262 13.306-8.315.027-.018.085-.068.127-.111a.516.516 0 0 0 .125-.173.665.665 0 0 0 .084-.344.675.675 0 0 0-.08-.34.72.72 0 0 0-.209-.252c-.072-.056-13.344-8.349-13.417-8.385a.85.85 0 0 0-.38-.07z"></path></svg>');
  filter: invert(1);
}



/* ----------------------------------------
  youtube
---------------------------------------- */

.video .youtube_button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  background: #e8e8e8;
  border-radius: 50%;
}
.video .youtube_button:hover {
  background: #c2c2c2;
}
.video .youtube_button::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" fill="transparent" d="M5.688 2.953a.761.761 0 0 0-.68.657c-.013.108-.013 16.672 0 16.78a.745.745 0 0 0 .743.655.737.737 0 0 0 .381-.102c.044-.026 13.223-8.262 13.306-8.315.027-.018.085-.068.127-.111a.516.516 0 0 0 .125-.173.665.665 0 0 0 .084-.344.675.675 0 0 0-.08-.34.72.72 0 0 0-.209-.252c-.072-.056-13.344-8.349-13.417-8.385a.85.85 0 0 0-.38-.07z"></path></svg>') no-repeat center center / contain;
}





/* ==================================================
  media_content
================================================== */

.media_content {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.media_content__media img,
.media_content__media video {
  width: 100%;
  border-radius: 16px;
}
.media_content__media video {
  object-fit: cover;
  aspect-ratio: 16 / 9;
  height: auto;
}

@media (min-width: 1280px) {
  .media_content {
    flex-direction: row;
    justify-content: space-between;
  }
  .media_content__media {
    width: 50%;
  }
  .media_content__content {
    width: calc(50% - 50px);
  }
  /* 画像が右の時 */
  .media_content.imgR {
    flex-direction: row-reverse;
  }
}





/* ==================================================
  anchor_navi
================================================== */

.anchor_navi {
  position: relative;
  z-index: 1;
  width: 100%;
}
.anchor_navi.is_fixed,
body.anchor_navi_opened .anchor_navi {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 201;
}
.anchor_navi_menu > li > a {
  color: var(--black);
  text-decoration: none !important;
}
.anchor_navi_menu_cta {
  display: flex;
  gap: 16px;
}

@media (max-width: 1023px) {
  .anchor_navi_content {
    position: relative;
    z-index: 1;
    min-height: 62px;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
  }
  body:not(.anchor_navi_opened) .anchor_navi_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  .anchor_navi_trigger {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 20px;
    cursor: pointer;
  }
  .anchor_navi_trigger h5 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
  }
  .anchor_navi_trigger h5::after {
    content: "";
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M4.394 8.512a.518.518 0 0 0-.249.14.495.495 0 0 0-.081.59c.014.03 1.04 1.063 3.83 3.853 3.418 3.419 3.818 3.815 3.87 3.843.154.08.317.08.476-.001.06-.031.28-.249 3.86-3.83 2.624-2.622 3.806-3.81 3.824-3.841a.5.5 0 0 0-.07-.614.52.52 0 0 0-.353-.153.602.602 0 0 0-.224.055c-.059.027-.215.181-3.669 3.635L12 15.796l-3.608-3.607c-3.454-3.454-3.61-3.608-3.67-3.635a.5.5 0 0 0-.328-.042z"></path></svg>');
  }
  .anchor_navi_trigger.is_active h5::after {
    transform: rotate(180deg);
  }
  .anchor_navi_menu {
    display: none;
    opacity: 0;
  }
  body.anchor_navi_opened .anchor_navi_menu {
    opacity: 1;
  }
  .anchor_navi_menu > li > a {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 20px;
  }
  .anchor_navi.is_fixed .anchor_navi_overlay {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
  }
  .anchor_navi_menu_cta {
    padding: 12px 20px;
  }
  body.anchor_navi_opened .anchor_navi_menu_cta {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .anchor_navi_menu_cta .button {
    min-height: auto;
  }
  body.anchor_navi_opened .anchor_navi_overlay {
    height: 100dvh;
    background: rgb(26 26 26 / .5);
    backdrop-filter: blur(16px);
  }
  body.anchor_navi_opened {
    overflow: hidden;
    height: 100%;
  }
}

@media (max-width: 479px) {
  .anchor_navi_menu_cta {
    display: none;
  }
  body.anchor_navi_opened .anchor_navi_menu_cta {
    display: flex;
  }
}

@media (max-width: 767px) {
  .anchor_navi_menu_cta {
    gap: 10px;
  }
  .anchor_navi_menu_cta .button {
    padding: 12px 10px;
    font-size: 14px;
  }
}

@media (min-width: 1024px) {
  .anchor_navi {
    padding: 0 20px;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
  }
  .anchor_navi_trigger {
    display: none;
  }
  .anchor_navi_content {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 1220px;
    min-height: 72px;
    margin: 0 auto;
  }
  .anchor_navi_menu {
    display: flex !important;
  }
  .anchor_navi_menu > li {
    position: relative;
    transition: background .1s ease-in,color .1s ease-in;
    padding: 6px 0;
  }
  .anchor_navi_menu > li:hover {
    background: var(--electric-blue-hover);
  }
  .anchor_navi_menu > li > a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 20px;
  }
  .anchor_navi_menu > li:hover > a,
  .anchor_navi_menu > li > a.is_current {
    color: #0e3191;
  }
  .anchor_navi_menu > li::after {
    display: block;
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    transition: background .1s ease-in;
    opacity: 0;
    height: 2px;
    background: #0e3191;
  }
  .anchor_navi_menu > li:hover::after,
  .anchor_navi_menu > li:has(> .is_current)::after {
    opacity: 1;
  }
  .anchor_navi_menu_cta {
    padding: 12px 0;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .anchor_navi_menu > li > a {
    padding: 0 16px;
    font-size: 15px;
  }
  .anchor_navi_menu_cta .button {
    font-size: 15px;
  }
}



/* ----------------------------------------
  local_navi
---------------------------------------- */

.local_navi {
  transition: .5s;
}
body.anchor_navi_fixed .local_navi {
  transform: translateY(-100%);
}



/* ----------------------------------------
  page_top
---------------------------------------- */

body.anchor_navi_opened .page_top_btn {
  z-index: 100;
}





/* ==================================================
  よくある質問
================================================== */

.faq_list_item {
  padding: 20px;
  background: #fff;
  border-radius: 16px;
}
.faq_list_item + .faq_list_item {
  margin-top: 20px;
}
.faq_list_item .acco_content {
  padding-top: 16px;
}
.faq_list_item .acco_content p + p {
  margin-top: 1em;
}
.faq_list_item .acco_content .list_basic {
  margin: .25em 0;
}

@media (min-width: 768px) {
  .faq_list_item {
    padding: 30px;
  }
}





/* ==================================================
  免責事項
================================================== */

.disclaimer {
  transition: box-shadow .3s ease-out;
  padding: 20px;
  font-size: 14px;
  background: #fff;
  border-radius: 16px;
}
.disclaimer:hover {
  box-shadow: 0 3px 12px 3px rgb(26 26 26 / .2);
}
.disclaimer .acco_content {
  padding-top: 20px;
}
.disclaimer .acco_content > * + * {
  margin-top: 20px;
}
.disclaimer .notes_num {
  font-size: inherit;
}

@media (min-width: 768px) {
  .disclaimer {
    padding: 30px;
  }
}
