@charset "UTF-8";
:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

/*
======== table of content. ===============

summary:パーツ設定

==========================================
*/
/* title model */
.ttl_mb_m {
  margin-block-end: calc(2.5em + var(--leading-trim));
}

.ttl_mb_ms {
  margin-block-end: calc(1.875em + var(--leading-trim));
}

.ttl_mb_s {
  margin-block-end: calc(1.5em + var(--leading-trim));
}

.ttl_mb_ss {
  margin-block-end: calc(1em + var(--leading-trim));
}

.ttl_fs_s {
  font-size: 75%;
}

.ttl_fs_ms {
  font-size: 87.5%;
}
@media screen and (max-width: 767px) {
  .ttl_fs_ms {
    font-size: 87.5%;
  }
}

.ttl_fs_m {
  font-size: 100%;
}

.ttl_fs_l {
  font-size: 112.5%;
}

.ttl_blue {
  color: #1da4c7;
  font-size: 150%;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .ttl_blue {
    font-size: 125%;
  }
}

.ttl_steel-blue {
  color: #4b81b8;
  font-size: 150%;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .ttl_steel-blue {
    font-size: 125%;
  }
}

.ttl_gold {
  color: #c29d78;
  font-size: 150%;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .ttl_gold {
    font-size: 125%;
  }
}

.ttl_gradation {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  background: linear-gradient(90deg, #6e84c1 0%, #1da4c7 86%);
  background-size: 100% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 187.5%;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_gradation {
    font-size: 150%;
  }
}

.ttl_bg_blue {
  padding: calc((2.8em - 1lh) / 2) 1em;
  background-color: #1da4c7;
  color: #fff;
  font-size: 125%;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_bg_blue {
    padding: calc((2.2222222222em - 1lh) / 2) 1em;
    font-size: 112.5%;
  }
}

.ttl_bg_grey {
  padding: calc((2.8em - 1lh) / 2) 1em;
  background-color: #f2f2f2;
  font-size: 125%;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_bg_grey {
    padding: calc((2.2222222222em - 1lh) / 2) 1em;
    font-size: 112.5%;
  }
}

.ttl_blue-line {
  font-family: "EB Garamond", serif !important;
  font-optical-sizing: auto;
  font-size: 100%;
  font-weight: 700;
}
.ttl_blue-line span {
  padding-block-end: calc(1.7142em + var(--leading-trim));
  background: url(/common/img/bg__ttl__blue-line.svg) no-repeat center bottom/auto 0.9285em;
  font-size: 175%;
}
@media screen and (max-width: 767px) {
  .ttl_blue-line span {
    font-size: 150%;
  }
}

.ttl_rounded {
  padding: calc((2.125em - 1lh) / 2) 1em;
  border-radius: 3lh;
  background-color: #7da9d1;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.ttl_brackets {
  text-align: center;
}
.ttl_brackets span {
  font-size: 137.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .ttl_brackets span {
    font-size: 112.5%;
  }
}
.ttl_brackets span::before {
  content: "[";
}
.ttl_brackets span::after {
  content: "]";
}

.ttl_en {
  text-align: center;
}
.ttl_en::before {
  content: attr(data-en);
  display: block;
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-block: var(--leading-trim) calc(0.25em + var(--leading-trim));
  font-size: 325%;
}
@media screen and (max-width: 767px) {
  .ttl_en::before {
    font-size: 275%;
  }
}
.ttl_en > span {
  margin-block: var(--leading-trim);
  font-size: 150%;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .ttl_en > span {
    font-size: 125%;
  }
}
.ttl_en > span.small {
  font-size: 112.5%;
}
@media screen and (max-width: 767px) {
  .ttl_en > span.small {
    font-size: 100%;
  }
}

.ttl_border {
  position: relative;
  margin-block-end: 1.7778em;
  padding-block-end: calc(1em + var(--leading-trim));
}
.ttl_border::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto auto 0 0;
  inline-size: 100%;
  block-size: 0.1rem;
  background-color: #68b2c6;
}
.ttl_border span {
  font-size: 150%;
}

.ttl_border_grey {
  position: relative;
  margin-block-end: 1.7778em;
  padding-block-end: calc(1em + var(--leading-trim));
}
.ttl_border_grey::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto auto 0 0;
  inline-size: 100%;
  block-size: 0.1rem;
  background-color: #cacaca;
}
.ttl_border_grey span {
  font-size: 150%;
}

.ttl_sq_border {
  position: relative;
  padding: 0 0 0.6rem 2.2rem;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  text-align: left;
  text-indent: 0;
}
.ttl_sq_border::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  inline-size: 0.8em;
  block-size: 0.8em;
  background-color: #e6e6e6;
}
.ttl_sq_border::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 0.1rem;
  background-color: #e6e6e6;
}

.ttl_balloon {
  position: relative;
  display: block;
  max-inline-size: 45.75em;
  margin-inline: auto;
  padding: calc((2.625em - 1lh) / 2) 1em;
  background: #fff;
  border: 0.1rem solid #000;
  border-radius: 3lh;
  font-size: 125%;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_balloon {
    border-radius: 1.25em;
    font-size: 112.5%;
  }
}
.ttl_balloon::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -0.6em;
  inline-size: 0;
  margin-inline: auto;
  border-width: calc(0.6em + 0.2rem) calc(0.4em + 0.2rem) 0 calc(0.4em + 0.2rem);
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  z-index: 1;
}
.ttl_balloon::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: calc((0.6em + 0.2rem) * -1);
  inline-size: 0;
  margin-inline: auto;
  border-width: calc(0.6em + 0.2rem) calc(0.4em + 0.2rem) 0 calc(0.4em + 0.2rem);
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  z-index: 0;
}

.txt_square {
  position: relative;
  padding: 0 0 0 2.2rem;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  text-align: left;
  text-indent: 0;
}
.txt_square::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.38em;
  inline-size: 0.8em;
  block-size: 0.8em;
  background-color: #e6e6e6;
}
.txt_square.ttl_square_strong-1::before {
  background-color: #907c2d;
}
.txt_square.ttl_square_strong-2::before {
  background-color: #175b96;
}

.txt_rhombus {
  position: relative;
  padding: 0 0 0 1.2em;
  color: #1da4c7;
  font-size: 112.5%;
  line-height: 1.5;
  text-align: left;
  text-indent: 0;
}
.txt_rhombus::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0.25em;
  inset-block-start: 0.55em;
  inline-size: 0.5em;
  block-size: 0.5em;
  background-color: #1da4c7;
  transform: rotate(45deg) skew(2deg, 2deg);
}

.txt_grade {
  background: linear-gradient(to right, #6e84c1 1%, #1da4c7 86%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.txt_hyphen {
  text-align: center;
}
.txt_hyphen span {
  position: relative;
  padding-inline: 2.6em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .txt_hyphen span {
    padding-inline: 1.875em;
  }
}
.txt_hyphen span::before, .txt_hyphen span::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset-block: 0;
  inline-size: 1.5em;
  block-size: 0.1rem;
  margin-block: auto;
  background-color: #6f87c4;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .txt_hyphen span::before, .txt_hyphen span::after {
    inline-size: 1.25em;
  }
}
.txt_hyphen span::before {
  inset-inline-start: 0;
}
.txt_hyphen span::after {
  inset-inline-end: 0;
}
.txt_hyphen.sp_none span::before,
.txt_hyphen.sp_none span::after {
  content: none;
}

.txt_slash {
  font-size: 112.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .txt_slash {
    font-size: 175%;
  }
}
.txt_slash::before, .txt_slash::after {
  content: "";
  display: inline-block;
  inline-size: 0.3rem;
  block-size: 0.8em;
  border-radius: 0.15em;
  background-color: #555757;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .txt_slash::before, .txt_slash::after {
    inline-size: 0.2rem;
  }
}
.txt_slash::before {
  margin-inline-end: 0.8em;
  transform: rotate(-20deg);
}
.txt_slash::after {
  margin-inline-start: 0.6em;
  transform: rotate(20deg);
}

.txt_middlebar {
  font-size: 112.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .txt_middlebar {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 175%;
  }
}
.txt_middlebar::before, .txt_middlebar::after {
  content: "";
  display: inline-block;
  position: relative;
  inset-block-start: -0.1em;
  inline-size: 1.2em;
  block-size: 0.1rem;
  background-color: #555757;
  vertical-align: middle;
  flex-shrink: 0;
}
.txt_middlebar::before {
  margin-inline-end: 0.8em;
}
.txt_middlebar::after {
  margin-inline-start: 0.8em;
}

.txt_marker {
  position: relative;
  z-index: 1;
}
.txt_marker::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto auto 0.3em 0;
  inline-size: 100%;
  block-size: 0.5em;
  background-color: #6f87c4;
  z-index: -1;
}

/* link model */
.link_bullet_before {
  position: relative;
  padding-inline-start: 1em;
}
.link_bullet_before::before {
  position: absolute;
  inset-block-start: 0.8em;
  inset-inline-start: 0;
  content: "";
  display: inline-block;
  position: relative;
  inset-block-start: -0.1em;
  inline-size: 0.6em;
  block-size: 0.6em;
  border-block-start: 0.1rem solid #555757;
  border-inline-end: 0.1rem solid #555757;
  vertical-align: baseline;
  transform: rotate(45deg);
  z-index: 2;
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inline-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), block-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), border-width 0.5s cubic-bezier(0.23, 1, 0.32, 1), border-radius 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-size 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-position 0.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1), filter 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.link_bullet_after {
  position: relative;
}
.link_bullet_after::after {
  position: relative;
  inset-block-start: -0.1rem;
  margin-inline-start: 0.5em;
  content: "";
  display: inline-block;
  position: relative;
  inset-block-start: -0.1em;
  inline-size: 0.6em;
  block-size: 0.6em;
  border-block-start: 0.1rem solid #555757;
  border-inline-end: 0.1rem solid #555757;
  vertical-align: baseline;
  transform: rotate(45deg);
  z-index: 2;
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inline-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), block-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), border-width 0.5s cubic-bezier(0.23, 1, 0.32, 1), border-radius 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-size 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-position 0.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1), filter 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

/*----------------------------------------
accordion
------------------------------------------*/
.ac_wrap {
  position: relative;
  margin: 3rem auto;
}

.ac_trigger {
  position: relative;
  padding-inline-end: 1em;
  color: #555757;
  text-decoration: none;
  cursor: pointer;
}

.ac_trigger_wrap {
  display: block;
  position: relative;
  margin-block-end: 0 !important;
}

.ac_trigger_wrap > span {
  display: block;
  padding-inline-end: 2.5em;
  cursor: pointer;
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-block-end 0.5s cubic-bezier(0.23, 1, 0.32, 1), inset-inline-start 0.5s cubic-bezier(0.23, 1, 0.32, 1), inline-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), block-size 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955), border-width 0.5s cubic-bezier(0.23, 1, 0.32, 1), border-radius 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-size 0.5s cubic-bezier(0.23, 1, 0.32, 1), background-position 0.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1), filter 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (max-width: 767px) {
  .ac_trigger_wrap > span {
    padding-inline-end: 1.875em;
  }
}

.ac_trigger::before,
.ac_trigger::after,
.ac_close::before,
.ac_close::after,
.ac_trigger_wrap > span::before,
.ac_trigger_wrap > span::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: auto;
  inset-inline-end: 0.5em;
  inset-block-start: 0;
  inset-block-end: 0;
  inline-size: 1em;
  block-size: 0.1rem;
  margin: auto 0;
  background-color: #555757;
  transform: rotate(0);
  transform-origin: center center;
  transition: opacity 0.5s cubic-bezier(0, 0, 0.58, 1), transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media screen and (max-width: 767px) {
  .ac_trigger::before,
  .ac_trigger::after,
  .ac_close::before,
  .ac_close::after,
  .ac_trigger_wrap > span::before,
  .ac_trigger_wrap > span::after {
    inset-inline-end: 0;
  }
}

.ac_trigger_wrap > span:before,
.ac_trigger_wrap > span::after {
  inline-size: 1em;
}

.ac_trigger::before,
.ac_close::before,
.ac_trigger_wrap > span::before {
  transform: rotate(90deg);
}

.ac_trigger.on::before,
.ac_close::before,
.ac_trigger_wrap.on span::before {
  transform: rotate(0);
}

.ac_trigger.on::before,
.ac_trigger.on::after,
.ac_trigger_wrap.on span::before,
.ac_trigger_wrap.on span::after {
  background-color: #2179bf;
}

.ac_body {
  display: none;
  position: relative;
  margin: 0;
  padding: 1rem 0 0;
}
.ac_body::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.5rem;
  inline-size: 100%;
  border-block-start: 0.1rem dashed #555757;
}
.box_faq .ac_body::before {
  inline-size: auto;
  border-block-start: none;
}

/*----------------------------------------
box model
------------------------------------------*/
.bg_blue_full,
.bg_grey_full {
  position: relative;
  padding-block: 5em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .bg_blue_full,
  .bg_grey_full {
    padding-block-start: 5em;
  }
}
.bg_blue_full::before,
.bg_grey_full::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: calc(100vw - var(--scrollbar-width));
  block-size: 100%;
  margin-inline: calc(50% - (50vi - var(--scrollbar-width, 0) / 2));
  z-index: -1;
}

.bg_blue_full::before {
  background-color: #f0f9fb;
}

.bg_grey_full::before {
  background-color: #f6f6f6;
}

.flex_img_l,
.flex_img_r {
  display: flex;
  inline-size: 100%;
  justify-content: center;
  gap: 2em;
}
@media screen and (max-width: 767px) {
  .flex_img_l,
  .flex_img_r {
    flex-direction: column;
  }
}
.flex_img_l .flex_item,
.flex_img_r .flex_item {
  inline-size: 48.3636363636%;
}
@media screen and (max-width: 767px) {
  .flex_img_l .flex_item,
  .flex_img_r .flex_item {
    inline-size: 100%;
  }
}
.flex_img_l .flex_img,
.flex_img_r .flex_img {
  flex-shrink: 0;
  inline-size: 45.4545454545%;
  text-align: center;
}
.flex_img_l .flex_img figcaption,
.flex_img_r .flex_img figcaption {
  margin: 1rem auto 0;
  font-size: 75%;
  line-height: 1.5;
}
.flex_img_l .flex_img figcaption span,
.flex_img_r .flex_img figcaption span {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .flex_img_l .flex_img,
  .flex_img_r .flex_img {
    inline-size: 100%;
  }
}

.flex_img_l .flex_item {
  order: 2;
}
.flex_img_l .flex_img {
  order: 1;
}

.flex_img_r .flex_item {
  order: 1;
}
.flex_img_r .flex_img {
  order: 2;
}

.flex_2col_1col_eq,
.flex_2col_2col_eq,
.flex_3col_1col_eq,
.flex_3col_2col_eq,
.flex_3col_1col_eq,
.flex_4col_2col_eq {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}

@media screen and (min-width: 768px) {
  .flex_2col_1col_eq > *,
  .flex_2col_2col_eq > * {
    inline-size: calc((100% - 2em) / 2);
  }
  .flex_2col_1col_eq > *:nth-child(-n+2),
  .flex_2col_2col_eq > *:nth-child(-n+2) {
    margin-block-start: 0;
  }
  .flex_2col_1col_eq > *:nth-child(2n),
  .flex_2col_2col_eq > *:nth-child(2n) {
    margin-inline-end: 0;
  }
}

@media screen and (min-width: 768px) {
  .flex_3col_1col_eq > *,
  .flex_3col_2col_eq > * {
    inline-size: calc((100% - 4em) / 3);
  }
  .flex_3col_1col_eq > *:nth-child(-n+3),
  .flex_3col_2col_eq > *:nth-child(-n+3) {
    margin-block-start: 0;
  }
  .flex_3col_1col_eq > *:nth-child(3n),
  .flex_3col_2col_eq > *:nth-child(3n) {
    margin-inline-end: 0;
  }
}

@media screen and (min-width: 768px) {
  .flex_4col_1col_eq > *,
  .flex_4col_2col_eq > * {
    inline-size: calc((100% - 6em) / 3);
  }
  .flex_4col_1col_eq > *:nth-child(-n+4),
  .flex_4col_2col_eq > *:nth-child(-n+4) {
    margin-block-start: 0;
  }
  .flex_4col_1col_eq > *:nth-child(4n),
  .flex_4col_2col_eq > *:nth-child(4n) {
    margin-inline-end: 0;
  }
}

@media screen and (max-width: 767px) {
  .flex_2col_1col_eq > *,
  .flex_3col_1col_eq > *,
  .flex_4col_1col_eq > * {
    inline-size: 100%;
  }
  .flex_2col_1col_eq > *:first-child,
  .flex_3col_1col_eq > *:first-child,
  .flex_4col_1col_eq > *:first-child {
    margin-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .flex_2col_1col_eq > *.btn_l,
  .flex_3col_1col_eq > *.btn_l,
  .flex_4col_1col_eq > *.btn_l {
    inline-size: calc(100% + 2em);
  }
}

@media screen and (max-width: 767px) {
  .flex_2col_2col_eq > *,
  .flex_3col_2col_eq > *,
  .flex_4col_2col_eq > * {
    inline-size: calc((100% - 2em) / 2);
  }
}

.box {
  padding: 2em;
}
.box > *:first-child {
  margin-block-start: calc((1em - 1lh) / 2);
}
.box > *:last-child {
  margin-block-end: calc((1em - 1lh) / 2);
}

.box_narrow {
  max-inline-size: 45em;
  margin-inline: auto;
}
.box_narrow > *:first-child {
  margin-block-start: calc((1em - 1lh) / 2);
}
.box_narrow > *:last-child {
  margin-block-end: calc((1em - 1lh) / 2);
}

.box_border {
  margin-block-start: 4em;
  padding: 2em;
  border: 0.1rem solid #555757;
}
.box_border > *:first-child {
  margin-block-start: calc((1em - 1lh) / 2);
}
.box_border > *:last-child {
  margin-block-end: calc((1em - 1lh) / 2);
}
.box_border.box_border_grey {
  border-color: #e6e6e6;
}
.box_border.box_border_lightgrey {
  border-color: #fafafa;
}
.box_border.box_border_strong-1 {
  border-color: #907c2d;
}
.box_border > section:first-of-type {
  padding-block-start: 0;
}
.box_border > section:last-child {
  padding-block-end: 0;
}
@media screen and (max-width: 767px) {
  .box_border {
    margin-block-start: 6.25vw;
    padding: 6.25vw;
  }
}

.box_faq {
  border-block-end: 0.1rem solid #cacaca;
}
.box_faq:first-of-type {
  border-block-start: 0.1rem solid #cacaca;
}
.box_faq dt,
.box_faq dd {
  position: relative;
  inline-size: 100%;
  padding-inline-start: 4.375em;
  padding-block: calc((4.25em - 1lh) / 2);
  font-size: 112.5%;
}
@media screen and (max-width: 767px) {
  .box_faq dt,
  .box_faq dd {
    padding-inline-start: 3em;
    font-size: 100%;
  }
}
.box_faq dt::before,
.box_faq dd::before {
  content: "Q";
  display: inline-block;
  position: absolute;
  inset-block-start: calc((4.25em - 1lh) / 2 - 0.5em + 0.05em);
  inset-inline-start: 0.5em;
  margin-block: var(--leading-trim);
  font-family: "EB Garamond", serif !important;
  font-optical-sizing: auto;
  font-size: 1.5555555556em;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .box_faq dt::before,
  .box_faq dd::before {
    font-size: 1.5em;
  }
}
.box_faq dt {
  font-weight: 700;
}
.box_faq dt.on {
  border-block-end: 0.1rem solid #cacaca;
}
.box_faq dd::before {
  content: "A";
  color: #2790b4;
}

.box_embed {
  position: relative;
  inline-size: 100%;
  padding-block-start: 56.25%;
  margin: 3.75em 0 0;
}
.box_embed iframe {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  aspect-ratio: 16/9;
}

/*----------------------------------------
table model
------------------------------------------*/
@media screen and (max-width: 767px) {
  .table_switch {
    display: block;
  }
  .table_switch thead,
  .table_switch tbody,
  .table_switch th,
  .table_switch td {
    display: block;
  }
}

.table_notebook {
  inline-size: 100%;
}
.table_notebook th,
.table_notebook td {
  position: relative;
  padding: 0 1rem;
  border-block-end: 0.1rem solid #e6e6e6;
  background: url("../images/bg__table__notebook.png") repeat left top/1.2rem 3.9rem;
  font-size: 1.4rem;
  line-height: 3.9rem;
}
.table_notebook th::before,
.table_notebook td::before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 0.3rem;
  background-color: #fff;
}
.table_notebook th::after,
.table_notebook td::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 0.3rem;
  background-color: #fff;
}
.table_notebook th {
  padding: 0 0.6rem;
  text-align: center;
}
.table_notebook th.letter01 {
  inline-size: 3.6rem;
}
.table_notebook th.letter02 {
  inline-size: 4.8rem;
}
.table_notebook th.letter03 {
  inline-size: 6rem;
}
.table_notebook th.letter04 {
  inline-size: 7.2rem;
}
.table_notebook th.letter05 {
  inline-size: 9.6rem;
}
.table_notebook th.letter06 {
  inline-size: 10.8rem;
}
.table_notebook th.letter07 {
  inline-size: 12rem;
}
.table_notebook th.letter08 {
  inline-size: 14.4rem;
}
.table_notebook th.letter09 {
  inline-size: 15.6rem;
}
.table_notebook tr:last-child th,
.table_notebook tr:last-child td {
  border-block-end: none;
}
@media screen and (max-width: 767px) {
  .table_notebook.table_switch th,
  .table_notebook.table_switch td {
    inline-size: 100% !important;
    padding: 3.125vw 0;
    background: none;
    line-height: 1.5;
  }
  .table_notebook.table_switch th::before, .table_notebook.table_switch th::after,
  .table_notebook.table_switch td::before,
  .table_notebook.table_switch td::after {
    content: none;
  }
  .table_notebook.table_switch th {
    padding-block-end: 0;
    border-block-end: none;
    text-align: left;
  }
  .table_notebook.table_switch td {
    padding-block-start: 1.5625vw;
  }
}

.dl_table {
  display: flex;
  flex-wrap: wrap;
  inline-size: 100%;
  border-block-start: 0.1rem solid #e6e6e6;
}
@media screen and (max-width: 767px) {
  .dl_table {
    flex-direction: column;
  }
}
.dl_table dt {
  inline-size: 25%;
  padding: 0.5rem 1.5rem;
  background-color: #fafafa;
  border-block-end: 0.1rem solid #e6e6e6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .dl_table dt {
    inline-size: 100%;
    padding: 1.5625vw 3.123vw;
  }
}
.dl_table dd {
  inline-size: 75%;
  padding: 0.5rem 1.5rem;
  border-block-end: 0.1rem solid #e6e6e6;
  border-inline-start: 0.1rem solid #e6e6e6;
}
@media screen and (max-width: 767px) {
  .dl_table dd {
    inline-size: 100%;
    padding: 1.5625vw 3.123vw;
    border-inline-start: none;
  }
}

/*----------------------------------------
list  model
------------------------------------------*/
.txt_note,
.list_notes li,
.list_option li {
  position: relative;
  padding-inline-start: 1.2em;
}

.list_notes li,
.list_option li {
  margin-block: calc(1em + var(--leading-trim)) var(--leading-trim);
}

.list_notes li:first-child,
.list_option li:first-child {
  margin-block-start: 0;
}

.txt_note::before,
.list_notes li::before {
  display: block;
  position: absolute;
  inset-inline-start: 0;
}

.txt_note_dot::before,
.list_note_dot li::before {
  content: "・";
}

.txt_note_comment::before,
.list_note_comment li::before {
  content: "※";
}

.txt_note_comment2::before,
.list_note_comment2 li::before {
  content: "＊";
}

.txt_note_hyphen::before,
.list_note_hyphen li::before {
  content: "―";
}

.txt_note_circle::before,
.list_note_circle li::before {
  content: "";
  inset-block-start: calc(0.5lh - 0.45em);
  inline-size: 0.9em;
  block-size: 0.9em;
  border-radius: 50%;
  background-color: #e6e6e6;
}

.txt_note_square::before,
.list_note_square li::before {
  content: "";
  inset-block-start: calc(0.5lh - 0.45em);
  inline-size: 0.9em;
  block-size: 0.9em;
  background-color: #e6e6e6;
}

.txt_note_check::before,
.list_note_check li::before {
  content: "";
  inset-block-start: calc(0.5lh - 0.45em);
  inline-size: 1em;
  block-size: 1em;
  border-radius: 50%;
  background-color: #907c2d;
}

.txt_note_check::after,
.list_note_check li::after {
  content: "";
  display: block;
  position: absolute;
  inset-block-start: calc((1lh - 1em) / 2 + 0.15em);
  left: 0.3em;
  inline-size: 0.4em;
  block-size: 0.6em;
  border-right: 0.2rem solid #fff;
  border-bottom: 0.2rem solid #fff;
  transform: rotate(45deg);
  z-index: 2;
}

.icon_strong-1::before {
  color: #907c2d;
}

.icon_strong-2::before {
  color: #175b96;
}

.icon_grey::before {
  color: #e6e6e6;
}

.txt_note_circle.icon_strong-1::before,
.list_note_circle.icon_strong-1 li::before,
.txt_note_square.icon_strong-1::before,
.list_note_square.icon_strong-1 li::before {
  background-color: #907c2d;
}

.txt_note_circle.icon_strong-2::before,
.list_note_circle.icon_strong-2 li::before,
.txt_note_square.icon_strong-2::before,
.list_note_square.icon_strong-2 li::before {
  background-color: #175b96;
}

.txt_note_circle.icon_grey::before,
.list_note_circle.icon_grey li::before,
.txt_note_square.icon_grey::before,
.list_note_square.icon_grey li::before {
  background-color: #e6e6e6;
}

.list_number {
  counter-reset: numbering;
}

.list_number li {
  position: relative;
  padding-inline-start: 1.5em;
}

.list_number li::before {
  display: block;
  position: absolute;
  inset-inline-start: 0;
  counter-increment: numbering;
  content: counter(numbering) ".";
}

.list_divide {
  display: block flex;
  flex-wrap: wrap;
  gap: 1.25em 2.5em;
}
.list_divide li {
  position: relative;
}
.list_divide li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  inset-block: 0;
  inline-size: 0.1rem;
  block-size: 1em;
  margin-block: auto;
  background-color: #dddddd;
  inset-inline-end: -1.25em;
}/*# sourceMappingURL=parts.css.map */