@charset "utf-8";

.center {
  text-align: center;
}

.mt24 {
  margin-top: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mt48 {
  margin-top: 48px;
}

.reason02AreaWrap .accordion-body p.img.first,
.reason03AreaWrap .accordion-body p.img.first,
.priceAreaWrap .accordion-body p.img.first,
.fp_aboutAreaWrap .accordion-body p.img.first {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .mt24 {
    margin-top: 6vmin;
    /* 24px相当 ≒ 6vmin */
  }

  .mt32 {
    margin-top: 8vmin;
    /* 32px相当 ≒ 8vmin */
  }

  .mt48 {
    margin-top: 12vmin;
    /* 48px相当 ≒ 12vmin */
  }

  .reason02AreaWrap .accordion-body p.img.first,
  .reason03AreaWrap .accordion-body p.img.first,
  .priceAreaWrap .accordion-body p.img.first,
  .fp_aboutAreaWrap .accordion-body p.img.first {
    margin-top: 8vmin;
  }
}

@media screen and (max-width: 767px) {
  .view-pc {
    display: none !important;
  }

  /********* hokama **********/
  .newline {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .view-sp {
    display: none !important;
  }
}


/* --------------------------------------------------------------------
/* mv
-------------------------------------------------------------------- */
@media only screen and (min-width: 768px) {
  .mv {
    background: url(../img/mv_pc.png) no-repeat;
    background-size: cover;
    background-position: center center;
    height: 340px;
  }
}

@media only screen and (min-width: 1600px) {
  .mv {
    height: 440px;
  }
}

/* --------------------------------------------------------------------
/* ctaAreaWrap
-------------------------------------------------------------------- */
.wrapContents .ctaAreaWrap.first {
  padding-top: 32px;
  margin-top: -75px;
  z-index: 1;
  position: relative;
  width: 100%;
}

.wrapContents .ctaAreaWrap.first::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 40px;
  height: calc(100% + 0px);
  z-index: -1;
  pointer-events: none;
  background-color: #fff;
  box-shadow: 0 0px 10px -12px rgba(0, 0, 0, .28);
  border-radius: 40px 40px 0 0;
}


.wrapContents .ctaAreaWrap {
  background: none;
  padding-top: 0px;
  margin-top: 0;
  width: 100%;
}

.ctaAreaWrap h1 {
  font-size: clamp(28px, calc(28px + (20) * ((100vw - 375px) / 375)), 56px);
  font-weight: 900;
  color: #0e2b4b;
  padding: 32px 48px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.ctaAreaWrap h1 .small {
  font-size: clamp(23px, calc(23px + (13) * ((100vw - 375px) / 375)), 36px);
}

.ctaAreaWrap h1 .sub_txt {
  background: #d3ab42;
  color: #fff;
  font-size: clamp(23px, calc(23px + (13) * ((100vw - 375px) / 375)), 36px);
  padding: 5px 16px 7px 16px;
  text-align: center;
  border-radius: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 3px;
}

.ctaAreaWrap .img {
  text-align: center;
  width: fit-content;
  margin-left: 40px;
}

/********* hokama **********/
.ctaFeatures {
  /* --- 共通スタイル --- */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
  overflow: hidden;
}

/********* hokama **********/

.ctaAreaWrap .btn_area {
  background: #0b4187;
  padding: 84px 20px;
}

.ctaAreaWrap .btn_area .txt {
  text-align: center;
  color: #fff;
  font-size: clamp(20px, calc(20px + (13) * ((100vw - 375px) / 375)), 36px);
  font-weight: 700;
}


.ctaAreaWrap .btn_area .yew {
  color: #fff500;
}

.ctaAreaWrap .btn_area .big {
  font-size: clamp(26px, calc(26px + (16) * ((100vw - 375px) / 375)), 46px);
}

/** PC **/
@media only screen and (min-width: 768px) {
  .ctaAreaWrap h1 {
    padding-bottom: 10px;
    font-size: 37px;
    text-align: center;
  }

  .ctaAreaWrap .img {
    max-width: 918px;
    margin: 0 auto;
  }

  .ctaAreaWrap h1 .sub_txt {
    font-size: 26px;
  }

  .ctaAreaWrap h1 .small {
    font-size: 28px;
  }

  /********* hokama **********/
  .ctaFeatures {
    background-image: url('../img/cta_ph_bg01_pc.png'); /* テキストなしのPC用画像パス */
    aspect-ratio: 10000 / 2800;
    max-width: 918px;
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .ctaFeatures_list {
    position: absolute;
    top: 28%;
    left: 0;
    width: 100%;
    transform: translateY(-28%);
    list-style: none;
    margin: 0;
    color: #0e2b4b;
    font-weight: bold;
    padding: 5vmin 3vmin 5vmin 9vmin;
  }

  .ctaFeatures_list li {
    font-size: clamp(16.5px, calc(16.5px + (3.5) * ((100vw - 768px) / 151)), 20px);
    margin-bottom: 1em;
    padding-left: 2.2em; /* アイコンの幅 + アイコンとテキストの間隔 */
    position: relative;
    line-height: 1.2; /* アイコンの垂直位置を調整しやすくするため */
  }

  .ctaFeatures_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.1em; /* テキストとの垂直位置を微調整 */
    width: 1.4em;  /* フォントサイズに連動した幅 */
    height: 1.4em; /* フォントサイズに連動した高さ */
    background-image: url('../img/cta_ph_chk.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .ctaFeatures .red {
    color: #e50012;
    font-size: 1.1em;
    font-weight: 900;
  }
  /********* hokama **********/

  .ctaAreaWrap .btn_area {
    padding: 27px 20px;
  }

  .ctaAreaWrap .btn_area .btn-group {
    display: block;
    max-width: 650px;
    margin: 0 auto;
  }

  .ctaAreaWrap .btn_area a {
    display: block;
    max-width: 650px;
    margin: 0 auto;
  }

}

@media only screen and (min-width: 992px) {
  .ctaAreaWrap h1 {
    font-size: 42px;
  }

  .ctaAreaWrap h1 .small {
    font-size: 32px;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .ctaAreaWrap {
    margin-top: -10.2vmin;
    padding-top: 4.3vmin;
  }

  .ctaAreaWrap h1 {
    font-size: clamp(28.12px,
        calc(28.12px + (28.12) * ((100vw - 375px) / 375)),
        56.25px);
    padding: 4.3vmin 6.4vmin;
  }

  .ctaAreaWrap h1 .small {
    font-size: clamp(20.62px,
        calc(20.62px + (20.62) * ((100vw - 375px) / 375)),
        41.25px);
  }

  .ctaAreaWrap h1 .sub_txt {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    padding: 2px 8px 6px;
  }

  .ctaAreaWrap .img {
    text-align: center;
    padding: 0;
    margin-right: 0vmin;
    margin-left: 5vmin;
  }

  /********* hokama **********/
  .ctaFeatures {
    background-image: url('../img/cta_ph_bg01.png'); /* テキストなしのSP用画像パス */
    padding-top: 53.78%; /* 例: (400px / 750px) * 100% - 正しい値に修正してください */
    width: calc(100% - 5vmin); /* 元のmargin-left: 5vmin; を考慮して幅を調整 */
    margin-left: 5vmin; /* 元のmargin-leftを再現 */
  }

  /* テキストを背景画像の上に重ねるためのスタイル */
  .ctaFeatures_list {
    /* 既存のスタイル */
    position: absolute;
    top: -0.6em;
    left: 0; /* left: 0; のままで、padding-leftで調整 */
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    list-style: none;
    margin: 0;
    color: #0e2b4b;
    font-weight: bold;
    /* 背景画像内のテキスト位置に合わせてpaddingを調整 */
    /* 例: 左端から5vminの余白がある場合、テキストもそれに合わせて調整 */
    padding: 6vmin 3vmin 5vmin 10vmin; /* 上下左右のpaddingをvminで指定 */
  }

  .ctaFeatures_list li {
    /* フォントサイズを画面幅に応じて可変させる */
    font-size: clamp(13.5px, calc(13.5px + (14.5) * ((100vw - 375px) / 375)), 28px);
    margin-bottom: 1em; /* リストアイテム間の間隔をvminで指定 */
    padding-left: 1.1vmin; /* アイコン分の余白をvminで指定 */
    position: relative;
    line-height: 1.4;
  }

  .ctaFeatures_list li::before {
    content: '';
    position: absolute;
    left: -1.3em;
    top: 0.15em; /* テキストとの垂直位置を微調整 */
    width: 1.2em;  /* フォントサイズに連動した幅 */
    height: 1.2em; /* フォントサイズに連動した高さ */
    background-image: url('../img/cta_ph_chk.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .ctaFeatures .red {
    color: #e50012;
    font-size: 1.05em;
    font-weight: 900;
  }
  /********* hokama **********/

  .ctaAreaWrap .btn_area {
    background: #0b4187;
    padding: 3.5vmin 2.3vmin;
  }

  .wrapContents .ctaAreaWrap.first {
    position: relative;
    padding-top: 3.2vmin;
    margin-top: -10.5vmin;
    z-index: 10;
  }

  .wrapContents .ctaAreaWrap.first::before {
    top: 15px;
    box-shadow: 0 -10px 20px -12px rgba(0, 0, 0, .28);
    border-radius: 20px 20px 0 0;
  }
}

.ctaAreaWrap .btn_area .btn-group {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
}

/* --------------------------------------------------------------------
/* bannerAreaWrap
-------------------------------------------------------------------- */

.bannerAreaWrap {
  padding: 40px 48px;
}

.bannerAreaWrap .bnr {
  margin-bottom: 12px;
  text-align: center;
}

.bannerAreaWrap .link_txt {
  margin-bottom: 24px;
  text-align: center;
}

.bannerAreaWrap .link_txt a {
  color: #0e2b4b;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  text-decoration: underline;
}

.bannerAreaWrap .link_txt a span {
  color: #0162c7;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .bannerAreaWrap {
    padding: 40px 10px 100px;
    max-width: 774px;
    margin: 0 auto;
  }

  .bannerAreaWrap .link_txt a {
    font-size: 12px;
  }

  /**** hokama ****/
  .bannerAreaWrap .priceBnr {
    width: 100%;
    border: solid 2px #0162c7;
    border-radius: 16px;
    padding-bottom: 20px;
    margin-top: 24px;
  }

  .bannerAreaWrap .priceBnr_ttl {
    font-size: 1.6em;
    font-family: "Noto Sans JP", sans-serif;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 0.1em 0;
    border: solid 2px #0162c7;
    border-radius: 12px 12px 0 0;
    background-color: #0162C7;
  }

  .bannerAreaWrap .priceBnr_inner {
    width: 100%;
    padding: 18px 0 0;
    background: #fff;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2%;
  }

  .bannerAreaWrap .price_wrap {
    width: 78%;
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }

  .bannerAreaWrap .price-postage {
    width: 15%;
    text-align: center;
    color: #0162c7;
    font-size: 1.15em;
    font-weight: 800;
    line-height: 1.3;
    background: #dfeef8;
    padding: 5px 0;
  }
  
  .bannerAreaWrap .price_txt {
    font-size: 1.9em;
    font-weight: 900;
    color: #0e2b4b;
    line-height: 1;
  }

  .bannerAreaWrap .price_num {
    font-size: 54px;
    font-weight: 700;
    color: #e50012;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0;
    line-height: 1;
  }

  .bannerAreaWrap .price_num .comma {
    font-size: 0.7em;
    font-weight: 900;
  }

  .bannerAreaWrap .price_txt_total {
    font-size: 21px;
    font-weight: 600;
    color: #0e2b4b;
    
    .total_ttl {
      font-size: 0.85em;
    }
  }

  .bannerAreaWrap .tax_wrap {
    align-self: flex-start;
    display: inline-flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    
  }

  .bannerAreaWrap .price_tax {
    font-weight: bold;
  }

  .bannerAreaWrap .clearLh {
    line-height: 1.1;
  }

  /**** hokama ****/

}

/** SP **/
@media only screen and (max-width: 767px) {
  .bannerAreaWrap {
    padding: 6vmin 3.5vmin;
  }

  .bannerAreaWrap .bnr {
    margin-bottom: 0;
  }

  .bannerAreaWrap .link_txt a {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  /**** hokama ****/
  .bannerAreaWrap .priceBnr {
    width: 100%;
    border: solid 2px #0162c7;
    border-radius: 16px;
    padding-bottom: 20px;
    margin-top: 24px;
  }

  .bannerAreaWrap .priceBnr_ttl {
    /*font-size: 36px;*/
    /*font-size: 18px;*/
    font-size: clamp(18px, calc(18px + (18 * ((100vw - 375px) / 393))), 36px);
    font-family: "Noto Sans JP", sans-serif;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 0.1em 0;
    border: solid 2px #0162c7;
    border-radius: 12px 12px 0 0;
    background-color: #0162C7;
  }

  .bannerAreaWrap .priceBnr_inner {
    width: 100%;
    padding: 18px 0 0;
    background: #fff;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2%;
  }

  .bannerAreaWrap .price_wrap {
    width: 68%;
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 2%;
  }

  .bannerAreaWrap .price-postage {
    width: 20%;
    text-align: center;
    color: #0162c7;
    /*font-size: 24px;*/
    /*font-size: 14px;*/
    font-size: clamp(14px, calc(14px + (10 * ((100vw - 375px) / 393))), 24px);
    font-weight: 800;
    line-height: 1.3;
    background: #dfeef8;
    padding: 0.7em 0;
  }
  
  .bannerAreaWrap .price_txt {
    /*font-size: 30px;*/
    /*font-size: 14px;*/
    font-size: clamp(14px, calc(14px + (16 * ((100vw - 375px) / 393))), 30px);
    font-weight: 900;
    color: #0e2b4b;
    line-height: 1;
  }

  .bannerAreaWrap .vertical_txt {
    writing-mode: vertical-rl;
  }

  .bannerAreaWrap .price_num {
    /*font-size: 70px;*/
    /*font-size: 34px;*/
    font-size: clamp(34px, calc(34px + (36 * ((100vw - 375px) / 393))), 70px);
    font-weight: 700;
    color: #e50012;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0;
    line-height: 1;
  }

  .bannerAreaWrap .price_num .comma {
    font-size: 0.7em;
    font-weight: 900;
  }

  .bannerAreaWrap .price_txt_total {
    /*font-size: 34px;*/
    /*font-size: 18px;*/
    font-size: clamp(18px, calc(18px + (16 * ((100vw - 375px) / 393))), 34px);
    font-weight: 700;
    color: #0e2b4b;
    
    
  }
  .total_ttl {
      font-size: 0.85em;
    }

  .bannerAreaWrap .tax_wrap {
    align-self: flex-start;
    display: inline-flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    
  }

  .bannerAreaWrap .price_tax {
    
    font-size: clamp(10px, calc(10px + (6 * ((100vw - 375px) / 393))), 16px);
    font-weight: bold;
  }

  .bannerAreaWrap .clearLh {
    line-height: 1.1;
  }

  /**** hokama ****/
}

/* --------------------------------------------------------------------
/* page_linkAreaWrap
-------------------------------------------------------------------- */

.page_linkAreaWrap {
  background: url(../img/page_link_bg.png) no-repeat;
  background-size: cover;
  height: 815px;
  position: relative;
  z-index: 10;
}

.page_linkAreaWrap h2 {
  text-align: center;
  padding-top: 80px;
  margin-bottom: 30px;
}

.page_linkAreaWrap h2 img {
  width: 412px;
  max-width: 100%;
  margin: auto;
}

.page_linkAreaWrap .flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 24px;
}

.page_linkAreaWrap .flex li {
  width: calc(100% / 2);
}

/** PC **/
@media only screen and (min-width: 768px) {
  .page_linkAreaWrap h2 {
    padding-top: 0;
  }

  .page_linkAreaWrap {
    position: relative;
    background: linear-gradient(to bottom, #0162C7 50%, #0281cf);
    height: auto;
  }

  .page_linkAreaWrap:before {
    content: "";
    width: 724px;
    height: 74px;
    background: url(../img/page_link_bg_top_pc.png) no-repeat;
    background-size: contain;
    margin: 0 auto;
    position: absolute;
    top: -65px;
    right: 0;
    left: 0;
    z-index: 0;
  }

  .page_linkAreaWrap:after {
    content: "";
    width: 100%;
    height: 64px;
    background: url(../img/page_link_bg_bottom_pc.svg) no-repeat;
    background-size: cover;
    background-position: bottom center;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    top: 565px;
  }

  .page_linkAreaWrap .flex {
    max-width: 680px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .page_linkAreaWrap h2 img {
    position: relative;
    max-width: 334px;
    z-index: 1;
  }

  .page_linkAreaWrap .deco {
    position: absolute;
    top: -64px;
    right: 0;
    left: -10px;
    margin: 0 auto;
    max-width: 674px;
    z-index: 1;
  }

  .page_linkAreaWrap .deco-pc {
    display: none;
  }
}

@media only screen and (min-width: 992px) {
  .page_linkAreaWrap {
    background: linear-gradient(to bottom, #0162C7 60%, #0384D0);
  }

  .page_linkAreaWrap .flex {
    flex-wrap: nowrap;
    max-width: 980px;
  }

  .page_linkAreaWrap:after {
    top: 307px;
    z-index: 0;
  }

  .page_linkAreaWrap .deco-pc {
    display: block;
  }

  .page_linkAreaWrap .deco-sm {
    display: none;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .page_linkAreaWrap {
    background: url(../img/page_link_bg.webp) no-repeat;
    background-size: 100%;
    height: auto;
    padding-bottom: 11vmin;
  }

  .page_linkAreaWrap h2 {
    text-align: center;
    padding-top: 10vmin;
    margin-bottom: 6.3vmin;
  }

  .page_linkAreaWrap h2 img {
    width: 55vmin;
  }

  .page_linkAreaWrap .flex {
    padding: 0 3.2vmin;
  }

  .page_linkAreaWrap .deco-sm,
  .page_linkAreaWrap .deco-pc {
    display: none;
  }
}

/* --------------------------------------------------------------------
/* reasonAreaWrap
-------------------------------------------------------------------- */

.reasonAreaWrap {
  background: #fcf7de;
  padding: 40px 26px 80px;
  margin-top: -45px;
}

.reasonAreaWrap h3 {
  padding-top: 50px;
  margin: 0 -24px 24px;
}

.reasonAreaWrap .img {
  margin-bottom: 24px;
}

.reasonAreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 24px;
}

.reasonAreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.reasonAreaWrap .note {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -13px;
  padding-left: 24px;
}

.reasonAreaWrap .note::before {
  content: "※";
  font-size: clamp(13px, calc(13px + (7) * ((100vw - 375px) / 375)), 20px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .reasonAreaWrap h3 {
    max-width: 790px;
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 25px;
  }

  .reasonAreaWrap .box {
    display: flex;
    max-width: 749px;
    margin: 0 auto;
    gap: 34px;
  }

  .reasonAreaWrap .txt {
    font-size: 16px;
  }

  .reasonAreaWrap .note {
    font-size: 12px;
    text-indent: -8px;
    padding-left: 14px;
  }

  .reasonAreaWrap .note::before {
    font-size: 12px;
  }

  .reasonAreaWrap .txt-area {
    padding-top: 15px;
  }

  .reasonAreaWrap .img {
    margin: 0;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .reasonAreaWrap {
    background: #fcf7de;
    padding: 8vmin 3.2vmin 10.7vmin;
    margin-top: -45px;
    z-index: -1;
    position: relative;
  }

  .reasonAreaWrap h3 {
    padding-top: 8vmin;
    margin: 0 0vmin 6vmin;
  }

  .reasonAreaWrap .img {
    margin: 0 2vmin;
    margin-bottom: 6vmin;
  }

  .reasonAreaWrap .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin: 0 2vmin;
    margin-bottom: 4vmin;
  }

  .reasonAreaWrap .note {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    position: relative;
    text-indent: -2.4vmin;
    padding-left: 6vmin;
  }

  .reasonAreaWrap .note::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }
}

/* --------------------------------------------------------------------
/* voiceAreaWrap
-------------------------------------------------------------------- */

.voiceAreaWrap {
  background: linear-gradient(to bottom, #0162c7, #059ed6);
  padding-top: 48px;
  padding-bottom: 48px;
}

/**** hokama ****/
.voiceAreaWrap h3 {
  color: #fff;
  background-image: url("../img/voice_ttl_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.voiceAreaWrap h3 img {
  width: 476px;
  max-width: 100%;
}

.voiceAreaWrap .txt {
  text-align: center;
  color: #fff;
  font-size: clamp(18px, calc(18px + (10) * ((100vw - 375px) / 375)), 28px);
  line-height: 1.2;
  margin-bottom: 32px;
}

.voiceAreaWrap .voice-slider {
  max-width: 100%;
  margin: 0 auto;
}

/*.voiceAreaWrap .voice-card {
    background: #fff;
    border-radius: 8px;
    padding: 24px 40px;
    margin: 0 15px;
    min-height: 1250px;
}*/

/* ① 固定min-heightはやめる */
.voiceAreaWrap .voice-card {
  /* min-height: 1250px;  ←削除 */
  height: 100%;
  display: flex;
  /* 中身を縦に配置しやすくする */
  flex-direction: column;
  /* 余白の制御が楽 */
  background: #fff;
  border-radius: 8px;
  padding: 24px 40px;
  margin: 0 15px;
}

/* ② トラックをフレックスにして、全スライドを等高に伸ばす */
.voiceAreaWrap .slick-track {
  display: flex !important;
}

/* ③ スライド要素（Slickが作る .slick-slide）をトラック高にストレッチ */
.voiceAreaWrap .slick-slide {
  height: auto;
  /* Slickの内挿heightを上書き */
  display: flex;
  /* スライド自身もflexにして中のdivを伸ばす */
}

/* ④ スライド直下のラッパ(div)とカードを100%高さに */
.voiceAreaWrap .slick-slide>div {
  /* Slickは slide > div > .voice-card という入れ子 */
  width: 100%;
  height: 100%;
  display: flex;
}

.voiceAreaWrap .slick-slide>div>.voice-card {
  height: 100%;
}

.voiceAreaWrap .voice-card .flex {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 30px;
  height: auto;
}

.voiceAreaWrap .voice-card .flex .img {
  width: 171px;
  height: 171px;
}

.voiceAreaWrap .voice-card .tag {
  font-weight: bold;
  color: #e60033;
  margin-bottom: 4px;
  border: 1px solid #e60033;
  border-radius: 100rem;
  text-align: center;
  padding: 0 8px;
  font-size: clamp(17px, calc(17px + (9) * ((100vw - 375px) / 375)), 23px);
}

.voiceAreaWrap .voice-card .name {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: clamp(17px, calc(17px + (9) * ((100vw - 375px) / 375)), 23px);
}

.voiceAreaWrap .voice-card .highlight {
  background: yellow;
  font-weight: 900;
  color: #1e46b4;
}

.voiceAreaWrap .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 96px;
  height: 96px;
  z-index: 10;
  cursor: pointer;
}

.voiceAreaWrap .slick-prev {
  left: 0px;
}

.voiceAreaWrap .slick-next {
  right: 0px;
}

.voiceAreaWrap h4 {
  font-size: clamp(16px, calc(21px + (11) * ((100vw - 375px) / 375)), 24px);
  font-weight: 900;
}

.voiceAreaWrap .comment {
  font-size: clamp(16px, calc(21px + (11) * ((100vw - 375px) / 375)), 24px);
  margin-top: 0.5em;
}

/* dot全体の位置や整列 */
.voiceAreaWrap .slick-dots {
  display: flex !important;
  justify-content: center;
  margin-top: 0;
  gap: 8px;
  bottom: -40px;
}

/* dotの見た目を丸くする */
.voiceAreaWrap .slick-dots li button {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  /* 薄水色 */
  border: none;
  text-indent: -9999px;
  overflow: hidden;
  padding: 0;
  transition: background 0.3s;
}

/* アクティブなdot（中央の白） */
.voiceAreaWrap .slick-dots li.slick-active button {
  background: #fff500;
}

.voiceAreaWrap .link_txt {
  text-align: center;
  margin-top: 56px;
  color: #fff;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  text-decoration: underline;
  margin-bottom: 48px;
}

.voiceAreaWrap .link_txt a {
  color: #fff;
}

.voiceAreaWrap .bnr {
  text-align: center;
  width: 90%;
  margin: auto;
  margin-bottom: 48px;
}

.voiceAreaWrap .note {
  padding: 0 40px;
}

.voiceAreaWrap .note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -15px;
  padding-left: 24px;
  margin-bottom: 10px;
  color: #fff;
}

.voiceAreaWrap .note li::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .voiceAreaWrap .voice-slider {
    max-width: 960px;
    padding: 0 40px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 16px;
  }

  .voiceAreaWrap h4 {
    font-size: 16px;
  }

  .voiceAreaWrap .comment {
    font-size: 15px;
  }

  .voiceAreaWrap .voice-card {
    padding: 30px;
    height: auto;
    margin: 0;
    width: calc(50% - 8px);
  }

  .voiceAreaWrap .voice-card .name {
    font-size: 14px;
  }

  .voiceAreaWrap .voice-card .tag {
    font-size: 14px;
  }

  .voiceAreaWrap .voice-card .flex .img {
    width: 86px;
    height: 86px;
  }

  /*
  .voiceAreaWrap h3 {
    max-width: 258px;
    margin: 0 auto;
    padding: 10px 0 20px;
  }*/
  /**** hokama ****/
  .voiceAreaWrap h3 {
    width: 258px;
    height: 70.81px;
    margin: 10px auto 20px;
    font-size: 1.85em;
  }

  .voiceAreaWrap .txt {
    font-size: 16px;
  }

  .voiceAreaWrap .link_txt {
    font-size: 12px;
    margin-top: 30px;
  }

  .voiceAreaWrap .bnr {
    max-width: 750px;
    margin-bottom: 30px;
  }

  .voiceAreaWrap .note {
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
  }

  .voiceAreaWrap .note li {
    font-size: 12px;
    margin: 0;
    text-indent: -6px;
    padding-left: 14px;
  }

  .voiceAreaWrap .note li::before {
    font-size: 12px;
  }

  .voiceAreaWrap .slick-arrow {
    width: 66px;
    height: 66px;
  }

  .voiceAreaWrap .slick-next {
    right: 40px;
  }

  .voiceAreaWrap .slick-prev {
    left: 40px;
  }

  .voiceAreaWrap .slick-dots li button {
    width: 12px;
    height: 12px;
  }

  /********* hokama **********/
  .voiceAreaWrap .newline {
    display: block;
  }
}

@media only screen and (min-width: 992px) {
  .voiceAreaWrap .voice-slider {
    flex-wrap: nowrap;
    padding: 0 20px;
  }

  .voiceAreaWrap .voice-card {
    margin: 0;
    padding: 20px 14px 30px;
    width: 100%;
    flex: 1;
    height: auto;
  }

  .voiceAreaWrap .voice-card .flex {
    margin-bottom: 10px;
  }

  .voiceAreaWrap .voice-card .tag {
    padding: 0;
  }

  .voiceAreaWrap .voice-card .flex {
    gap: 10px;
  }

  .voiceAreaWrap .link_txt {
    margin-top: 20px;
  }

}

/** SP **/
@media only screen and (max-width: 767px) {
  .voiceAreaWrap {
    background: linear-gradient(to bottom, #0162c7, #059ed6);
    padding-bottom: 6vmin;
  }

  /*
  .voiceAreaWrap h3 {
    padding-top: 0;
    margin: auto;
    margin-bottom: 4.3vmin;
    max-width: 63vmin;
  }*/
  /**** hokama ****/
  .voiceAreaWrap h3 {
    width: 62vw;
    aspect-ratio: 3.64 / 1;
    margin: 0 auto 4.3vmin;
    font-size: clamp(1.75em, 7.143vw + 0.078em, 3.5em);
  }

  .voiceAreaWrap .txt {
    text-align: center;
    color: #fff;
    font-size: clamp(13.88px,
        calc(13.88px + (13.88) * ((100vw - 375px) / 375)),
        27.75px);
    line-height: 1.5;
    margin-bottom: 6vmin;
  }

  .voiceAreaWrap .voice-card {
    padding: 3.2vmin 4.3vmin;
    margin: 0 2vmin;
    /*min-height: 520px;*/
  }

  .voiceAreaWrap .voice-card .tag {
    padding: 0 3px;
    font-size: clamp(13.88px,
        calc(13.88px + (13.88) * ((100vw - 375px) / 375)),
        27.75px);
  }

  .voiceAreaWrap .voice-card .flex {
    gap: 3.7vmin;
    margin-bottom: 3vmin;
    height: auto;
  }

  .voiceAreaWrap .voice-card .flex .img {
    max-width: 24vmin;
    height: auto;
  }

  .voiceAreaWrap .voice-card .name {
    font-size: clamp(13.88px,
        calc(13.88px + (13.88) * ((100vw - 375px) / 375)),
        27.75px);
  }

  .voiceAreaWrap h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
  }

  .voiceAreaWrap .comment {
    font-size: clamp(15.37px,
        calc(15.37px + (15.37) * ((100vw - 375px) / 375)),
        30.75px);
    line-height: 160%;
  }

  .voiceAreaWrap .slick-arrow {
    width: 48px;
    height: 48px;
  }

  .voiceAreaWrap .slick-dots li button {
    width: 7px;
    height: 7px;
  }

  .voiceAreaWrap .slick-dots li {
    margin: 0;
  }

  .voiceAreaWrap .link_txt a {
    color: #fff;
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  .voiceAreaWrap .bnr {
    text-align: center;
    max-width: 90%;
    margin: auto;
    margin-bottom: 6vmin;
  }

  .voiceAreaWrap .link_txt {
    margin-top: 10.9vmin;
    margin-bottom: 6vmin;
    font-size: 0;
  }

  .voiceAreaWrap .note {
    padding: 0 4vmin;
  }

  .voiceAreaWrap .note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -2.3vmin;
    padding-left: 6vmin;
  }

  .voiceAreaWrap .note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }
}

/* --------------------------------------------------------------------
/* reason02AreaWrap
-------------------------------------------------------------------- */

.reason02AreaWrap {
  background: #dfeef8;
  padding: 56px 24px;
}

.reason02AreaWrap h3 {
  margin: 0 -24px 24px;
}

.reason02AreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 24px;
}

.reason02AreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.reason02AreaWrap .note {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -13px;
  padding-left: 24px;
  margin-bottom: 24px;
}

.reason02AreaWrap .note::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

.reason02AreaWrap .img {
  text-align: center;
  margin-bottom: 24px;
}

.reason02AreaWrap .accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 84px;
}

.reason02AreaWrap .accordion-header {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0 -10px;
  text-align: center;
}

.reason02AreaWrap .accordion-body {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.3s ease;
  padding: 0 46px;
  border: 1px solid #1e46b4;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 4px 0px 6px 0px #ccc;
  margin-top: -25px;
  margin-right: 12px;
  margin-left: -3px;
}

.reason02AreaWrap .accordion-body p.img {
  text-align: center;
  margin-top: 32px;
  margin-bottom: 32px;
}

.reason02AreaWrap .accordion-body p.img.ph17 {
  max-width: 100%;
  width: 224px;
  margin: auto;
  margin-bottom: 32px;
}

.reason02AreaWrap .accordion-body h4 {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  border-left: 12px solid #1e46b4;
  padding-left: 24px;
  margin-bottom: 24px;
}

.reason02AreaWrap .accordion-body .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 54px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .reason02AreaWrap {
    padding-top: 26px;
    padding-bottom: 0;
  }

  .reason02AreaWrap-inner {
    max-width: 790px;
    padding: 20px;
    margin: 0 auto;
  }

  .reason02AreaWrap .box {
    display: flex;
    gap: 32px;
  }

  .reason02AreaWrap .box img {
    max-width: 349px;
  }

  .reason02AreaWrap .txt-area {
    padding-top: 10px;
  }

  .reason02AreaWrap .txt {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .reason02AreaWrap .note {
    font-size: 12px;
    text-indent: -8px;
    padding-left: 14px;
  }

  .reason02AreaWrap .note::before {
    font-size: 12px;
  }

  .reason02AreaWrap .txt-area .txt img {
    padding-bottom: 30px;
    width: 100%;
  }

  .reason02AreaWrap .accordion {
    margin-bottom: 75px;
  }
  
  .reason02AreaWrap .accordion-header {
    left: 8px;
  }

  /**** hokama ****/
  .reason02AreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    left: -2px;
    max-width: 100%;
    aspect-ratio: 7.7 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg_pc.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .reason02AreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .reason02AreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .accordion-header_text .yellow {
    padding: 0 0 2px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }
  
  .reason02AreaWrap .accordion-header img {
    width: 100%;
    position: relative;
    left: -2px;
  }

  .reason02AreaWrap .accordion-body {
    padding: 0 30px 0 30px;
    margin-right: 0px;
    margin-left: 0px;
  }

  .reason02AreaWrap .accordion-body .box {
    display: flex;
    gap: 32px;
  }

  .reason02AreaWrap .accordion-body .box.row-reverse {
    flex-direction: row-reverse;
  }

  .reason02AreaWrap .accordion-body .box img {
    max-width: inherit;
  }

  .reason02AreaWrap .accordion-body h4 {
    font-size: 18px;
    border-left: 6px solid #1e46b4;
    padding-left: 14px;
    margin-bottom: 10px;
  }

  .reason02AreaWrap .accordion-body .txt-area {
    padding-top: 40px;
  }

  .reason02AreaWrap .accordion-body p.img.first {
    margin-top: 40px;
  }

  .reason02AreaWrap .accordion-body .txt {
    font-size: 16px;
  }

  .reason02AreaWrap .accordion-body p.img {
    max-width: 303px;
    margin: 30px 0;
  }

  .reason02AreaWrap .accordion-body p.img.first.ph11 {
    max-width: 100%;
    margin-bottom: 0;
  }

  .reason02AreaWrap .accordion-body p.img.ph17 {
    max-width: 303px;
    margin: 30px 0;
    width: auto;
  }

  /**** hokama ****/
  .reason02AreaWrap .speechBubble01 {
    max-width: 349px;
    aspect-ratio: 3.689 / 1;
    background-image: url('../img/reason_ph_bg05-02_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 30px;
  }

  .reason02AreaWrap .speechBubble01 .speechBubble_inner01 {
    position: absolute;
    top: 23%;
    left: 31%;
    font-size: clamp(13px, calc(13px + (2 * ((100vw - 768px) / 50))), 15px);
    font-weight: 900;
  }
  
  .reason02AreaWrap .speechBubble01 .speechBubble_inner01 .red {
    color: #e50012;
  }

  .reason02AreaWrap .speechBubble02 {
    max-width: 349px;
    aspect-ratio: 3.689 / 1;
    background-image: url('../img/reason_ph_bg12-02_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 30px;
  }

  .reason02AreaWrap .speechBubble02 .speechBubble_inner02 {
    position: absolute;
    top: 23%;
    left: 31%;
    font-size: clamp(13px, calc(13px + (2 * ((100vw - 768px) / 50))), 15px);
    font-weight: 900;
  }
  
  .reason02AreaWrap .speechBubble02 .speechBubble_inner02 .red {
    color: #e50012;
  }

  /**** hokama ****/
  .reason02AreaWrap .accordion-body .test-covers {
    max-width: 100%;
    aspect-ratio: 3.898 / 1;
    margin: 30px 0 0;
    flex: 1;
    background: #fce5e7;
    border-radius: 16px;
    padding: 20px 0;
  }

  .reason02AreaWrap .accordion-body .test-covers .test-covers_ttl {
    margin: 0 auto;
    color: #e25452;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
  }

  .reason02AreaWrap .accordion-body .test-covers ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    width: 70%;
    height: 82%;
    margin: 10px auto 0;
  }

  .reason02AreaWrap .accordion-body .test-covers ul li {
    position: relative;
    padding-left: 0.8em;
    color: #444444;
    font-size: 26px;
    font-weight: 500;
  }

  .reason02AreaWrap .accordion-body .test-covers ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.7em;
    height: 0.7em;
    background-color: #e25452;
    border-radius: 50%;
  }
  
  .reason02AreaWrap .accordion-body .mt40 {
    margin-top: 40px;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .reason02AreaWrap {
    background: #dfeef8;
    padding: 10.9vmin 4vmin;
  }

  .reason02AreaWrap h3 {
    margin: 0 -4vmin 4vmin;
  }

  .reason02AreaWrap .img {
    text-align: center;
    margin-bottom: 4vmin;
  }

  .reason02AreaWrap .note {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -2.3vmin;
    padding-left: 4vmin;
  }

  .reason02AreaWrap .note::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }

  .reason02AreaWrap .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
  }

  .reason02AreaWrap .accordion {
    gap: 2vmin;
    margin-bottom: 11.2vmin;
  }

  .reason02AreaWrap .accordion-header {
    margin: 0;
    margin-right: -2vmin;
    margin-left: -0.5vmin;
  }

  /**** hokama ****/
  .reason02AreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.75 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .reason02AreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .reason02AreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 21%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .accordion-header_inner .yellow {
    padding: 0 0 1px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .reason02AreaWrap .accordion-body {
    padding: 0 4vmin;
    margin: 0;
    margin-top: -4vmin;
    margin-right: 1vmin;
  }

  .reason02AreaWrap .accordion-body h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: 6px solid #1e46b4;
    padding-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .reason02AreaWrap .accordion-body .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 4.3vmin;
  }

  .reason02AreaWrap .accordion-body .txt.last {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 8vmin;
  }

  .reason02AreaWrap .accordion-body p.img {
    text-align: center;
    margin-top: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  .reason02AreaWrap .accordion-body p.img.ph17 {
    max-width: 100%;
    width: 112px;
    margin: auto;
    margin-bottom: 4.3vmin;
  }

  /**** hokama ****/
  .reason02AreaWrap .accordion-body .ph17-img {
    max-width: 100%;
    margin: auto;
    margin-bottom: 4.3vmin;
  }

  /**** hokama ****/
  .reason02AreaWrap .img_wrap {
    text-align: center;
    margin: none;
  }

  .reason02AreaWrap .speechBubble01 {
    max-width: 100%;
    aspect-ratio: 2.723 / 1;
    background-image: url('../img/reason_ph_bg05.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
    margin-bottom: 4vmin;
  }

  .reason02AreaWrap .speechBubble01 .speechBubble_inner01 {
    position: absolute;
    top: 30%;
    left: 33%;
    font-size: clamp(15.7px, calc(15.7px + (16.3 * ((100vw - 375px) / 393))), 32px);
    font-weight: 900;
    line-height: 1.65;
  }
  
  .reason02AreaWrap .speechBubble01 .speechBubble_inner01 .red {
    color: #e50012;
  }

  .reason02AreaWrap .speechBubble02 {
    max-width: 100%;
    aspect-ratio: 2.723 / 1;
    background-image: url('../img/reason_ph_bg12.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
    margin-bottom: 4vmin;
  }

  .reason02AreaWrap .speechBubble02 .speechBubble_inner02 {
    position: absolute;
    top: 30%;
    left: 33%;
    font-size: clamp(15.7px, calc(15.7px + (16.3 * ((100vw - 375px) / 393))), 32px);
    font-weight: 900;
    line-height: 1.65;
  }
  
  .reason02AreaWrap .speechBubble02 .speechBubble_inner02 .red {
    color: #e50012;
  }

  /**** hokama ****/
  .reason02AreaWrap .accordion-body .test-covers {
    max-width: 100%;
    aspect-ratio: 2.512 / 1;
    margin: 8vmin 0;
    background: #fce5e7;
    border-radius: 16px;
    padding: 2vmin 0;
  }

  .reason02AreaWrap .accordion-body .test-covers .test-covers_ttl {
    margin: 0 auto;
    color: #e25452;
    font-size: clamp(18px, calc(18px + (14 * ((100vw - 375px) / 393))), 34px);
    font-weight: 700;
    text-align: center;
  }

  .reason02AreaWrap .accordion-body .test-covers ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    width: 90%;
    height: 70%;
    margin: 10px auto 0;
  }

  .reason02AreaWrap .accordion-body .test-covers ul li {
    position: relative;
    padding-left: 0.8em;
    color: #444444;
    font-size: clamp(18px, calc(18px + (14 * ((100vw - 375px) / 393))), 34px);
    font-weight: 500;
  }

  .reason02AreaWrap .accordion-body .test-covers ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.7em;
    height: 0.7em;
    background-color: #e25452;
    border-radius: 50%;
  }
}

/* --------------------------------------------------------------------
/* reason03AreaWrap
-------------------------------------------------------------------- */

.reason03AreaWrap {
  background: #fcf7de;
  padding: 56px 24px 32px;
  position: relative;
}

.reason03AreaWrap::after {
  content: "";
  background: url(../img/reason_ph39.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: 85px;
  position: absolute;
  bottom: -84px;
  left: 0;
  right: 0;
  margin: auto;
}

.reason03AreaWrap h3 {
  margin: 0 -24px 24px;
}

.reason03AreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 24px;
}

.reason03AreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.reason03AreaWrap .img {
  text-align: center;
  margin-bottom: 24px;
}

.reason03AreaWrap .accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.reason03AreaWrap .accordion-header {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0 -10px;
  text-align: center;
}

.reason03AreaWrap .accordion-body {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.3s ease;
  padding: 0 46px;
  border: 1px solid #1e46b4;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 4px 0px 6px 0px #ccc;
  margin-top: -25px;
  margin-right: 12px;
  margin-left: -3px;
}

.reason03AreaWrap .accordion-body p.img {
  text-align: center;
  margin-top: 32px;
  margin-bottom: 32px;
}

.reason03AreaWrap .accordion-body p.movie {
  text-align: center;
  margin-bottom: 32px;
}

.reason03AreaWrap .accordion-body h4 {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  border-left: 6px solid #1e46b4;
  padding-left: 24px;
  margin-bottom: 24px;
}

.reason03AreaWrap .accordion-body .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 24px;
}

.reason03AreaWrap .accordion-body p.last {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 54px;
}

.reason03AreaWrap .accordion-body .note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -15px;
  padding-left: 24px;
  margin-bottom: 24px;
}

.reason03AreaWrap .accordion-body .note li::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

.reason03AreaWrap .accordion-body .note.last {
  margin-bottom: 54px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .reason03AreaWrap {
    padding: 20px 24px 0 32px;
  }

  .reason03AreaWrap::after {
    content: "";
    background-image: url(../img/reason_ph39_pc.png);
    background-position: center center;
    width: 100%;
    height: 70px;
    bottom: -69px;
  }

  .reason03AreaWrap-inner {
    max-width: 790px;
    padding: 20px;
    margin: 0 auto;
  }

  .reason03AreaWrap .box {
    display: flex;
    gap: 32px;
  }

  .reason03AreaWrap .box img {
    max-width: 349px;
  }

  .reason03AreaWrap .txt-area {
    padding-top: 10px;
  }

  .reason03AreaWrap .txt {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .reason03AreaWrap .txt-area .txt img {
    padding-bottom: 30px;
    width: 100%;
  }

  .reason03AreaWrap .accordion-header {
    left: 8px;
  }

  /**** hokama ****/
  .reason03AreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    left: -2px;
    max-width: 100%;
    aspect-ratio: 7.7 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg_pc.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 18%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1.5;
  }

  .accordion-header_text .yellow,
  .accordion-header_twolineText .yellow {
    padding: 0 0 2px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .reason03AreaWrap .accordion-header img {
    width: 100%;
    position: relative;
    left: -2px;
  }

  .reason03AreaWrap .accordion-body {
    padding: 0 30px;
    margin-right: 0px;
    margin-left: 0px;
  }

  .reason03AreaWrap .accordion-body h4 {
    font-size: 18px;
    border-left: 6px solid #1e46b4;
    padding-left: 14px;
    margin-bottom: 10px;
  }

  .reason03AreaWrap .accordion-body p.last {
    font-size: 16px;
    flex: 1;
    margin-bottom: 43px;
  }

  .reason03AreaWrap .accordion-body p.img.first {
    margin-top: 40px;
  }

  .reason03AreaWrap .accordion-body .txt-area {
    padding-top: 40px;
  }

  .reason03AreaWrap .accordion-body .txt {
    font-size: 16px;
  }

  .reason03AreaWrap .accordion-body .note li {
    font-size: 12px;
    text-indent: -8px;
    padding-left: 14px;
  }

  .reason03AreaWrap .accordion-body .note li::before {
    font-size: 12px;
    margin: 0;
  }

  .reason03AreaWrap .accordion-body img {
    max-width: inherit;
  }

  .reason03AreaWrap .accordion-body p.img {
    max-width: 303px;
  }

  .reason03AreaWrap .accordion-body p.img.ph30 {
    margin: 0;
    padding-bottom: 40px;
  }

  .reason03AreaWrap .accordion-body .box-first {
    align-items: center;
  }

  .reason03AreaWrap .accordion-body .box-first .ttl {
    margin-top: 60px;
  }

  .reason03AreaWrap .accordion-body .box-first .first {
    margin-bottom: 0;
  }

  .reason03AreaWrap .accordion-body p.ph28 {
    margin: 30px 0 0;
  }

  .reason03AreaWrap .accordion-body .check-box {
    background-color: #fcf7de;
    border-radius: 8px;
    margin: 30px 0 0;
    padding: 30px 20px;
    width: 100%;
  }

  .reason03AreaWrap .accordion-body .txt .check {
    display: block;
    position: relative;
    margin-left: 23px;
    margin-bottom: 8px;
    line-height: 1.4;
  }

  .reason03AreaWrap .accordion-body .txt .check:before {
    content: "";
    background: url(../img/check-mark.png)no-repeat;
    width: 14px;
    height: 11px;
    background-size: contain;
    position: absolute;
    top: 10px;
    left: -23px;
  }

  /**** hokama ****/
  .reason03AreaWrap .speechBubble03 {
    max-width: 349px;
    aspect-ratio: 3.689 / 1;
    background-image: url('../img/reason_ph_bg21-02_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 30px;
  }

  .reason03AreaWrap .speechBubble03 .speechBubble_inner03 {
    position: absolute;
    top: 23%;
    left: 31%;
    font-size: clamp(13px, calc(13px + (2 * ((100vw - 768px) / 50))), 15px);
    font-weight: 900;
  }
  
  .reason03AreaWrap .speechBubble03 .speechBubble_inner03 .red {
    color: #e50012;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .reason03AreaWrap {
    background: #fcf7de;
    padding: 6vmin 3.2vmin;
    position: relative;
  }

  .reason03AreaWrap h3 {
    margin: 0 -3.2vmin 3.2vmin;
  }

  .reason03AreaWrap .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
  }

  .reason03AreaWrap .accordion {
    flex-direction: column;
    gap: 6vmin;
  }

  .reason03AreaWrap .accordion {
    gap: 2vmin;
    margin-bottom: 0;
  }

  .reason03AreaWrap .accordion-header {
    margin: 0;
    margin-right: -2vmin;
    margin-left: -0.8vmin;
  }

  /**** hokama ****/
  .reason03AreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.75 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner.threeLine {
    position: relative;
    max-width: 100%;
    aspect-ratio: 3.682 / 1;
    background: none;
    background-image: url("../img/reason_ph_3line_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 21%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .reason03AreaWrap .accordion-header .accordion-header_inner .accordion-header_threelineText {
    text-align: left;
    position: absolute;
    top: 16%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .accordion-header_inner .yellow,
  .accordion-header_3lineInner .yellow {
    padding: 0 0 1px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .reason03AreaWrap .accordion-body {
    padding: 0 4vmin;
    margin: 0;
    margin-top: -4vmin;
    margin-right: 1vmin;
  }

  .reason03AreaWrap .accordion-body h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: 6px solid #1e46b4;
    padding-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .reason03AreaWrap .accordion-body .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 4.3vmin;
  }

  .reason03AreaWrap .accordion-body .txt.last {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 8vmin;
  }

  .reason03AreaWrap .accordion-body p.img {
    text-align: center;
    margin-top: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  .reason03AreaWrap::after {
    bottom: -84px;
    background-size: 100%;
  }

  .reason03AreaWrap .accordion-body .note {
    margin-bottom: 8vmin;
  }

  .reason03AreaWrap .accordion-body .note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    position: relative;
    text-indent: -2.4vmin;
    padding-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .reason03AreaWrap .accordion-body .note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }

  .reason03AreaWrap .accordion-body .note.last {
    margin-bottom: 8vmin;
  }

  .reason03AreaWrap .accordion-body p.last {
    margin-bottom: 8vmin;
  }

  /**** hokama ****/
  .reason03AreaWrap .speechBubble03 {
    max-width: 100%;
    aspect-ratio: 2.723 / 1;
    background-image: url('../img/reason_ph_bg21.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
    margin-bottom: 24px;
  }

  .reason03AreaWrap .speechBubble03 .speechBubble_inner03 {
    position: absolute;
    top: 30%;
    left: 33%;
    font-size: clamp(15.7px, calc(15.7px + (16.3 * ((100vw - 375px) / 393))), 32px);
    font-weight: 900;
    line-height: 1.65;
  }
  
  .reason03AreaWrap .speechBubble03 .speechBubble_inner03 .red {
    color: #e50012;
  }
}

/* --------------------------------------------------------------------
/* reviewAreaWrap
-------------------------------------------------------------------- */

.reviewAreaWrap {
  background: linear-gradient(to bottom, #0162c7, #059ed6);
  padding-bottom: 48px;
}

/*
.reviewAreaWrap h3 {
  text-align: center;
  padding-top: 150px;
  margin-bottom: 48px;
}*/
/**** hokama ****/
.reviewAreaWrap h3 {
  text-align: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reviewAreaWrap h3 img {
  max-width: 100%;
  width: 460px;
  margin: auto;
}

.reviewAreaWrap .review_box {
  padding: 0px 32px;
  margin-bottom: 64px;
}

.reviewAreaWrap .review_box .flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.reviewAreaWrap .review_box .flex .name {
  color: #fff;
  font-weight: 900;
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
}

.reviewAreaWrap .review_box .flex .name span {
  display: block;
  color: #fff;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 500;
}

.reviewAreaWrap .review_box .txt_box {
  background: #fff;
  border-radius: 8px;
  padding: 24px 48px;
}

.reviewAreaWrap .review_box .txt_box p {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
}

.reviewAreaWrap .review_box .txt_box .red {
  color: #e50012;
  font-weight: 900;
}

.reviewAreaWrap .review_box .icon {
  width: 128px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  /**** hokama ****/
  .reviewAreaWrap {
    padding-top: 140px;
  }

  .reviewAreaWrap .review_box {
    max-width: 790px;
    padding: 0 20px;
    margin: 0 auto 60px;
  }

  .reviewAreaWrap .review_box .txt_box p {
    font-size: 16px;
  }

  .reviewAreaWrap .review_box .flex .name {
    font-size: 22px;
  }

  .reviewAreaWrap .review_box .flex .name span {
    font-size: 16px;
  }

  .reviewAreaWrap .review_box .icon {
    width: 64px;
  }

  /*
  .reviewAreaWrap h3 {
    max-width: 458px;
    margin: 0 auto;
    padding: 140px 0 40px;
  }*/
  /**** hokama ****/
  .reviewAreaWrap h3 {
    width: 458px;
    height: 65px;
    margin: 0 auto 40px;
    color: #fff;
    font-size: 32px;
    background-image: url("../img/review_ph_bg01_pc.png");
    padding-left: 7px;
  }
}

.reviewAreaWrap .note {
  padding: 0 40px;
}

.reviewAreaWrap .note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -15px;
  padding-left: 24px;
  margin-bottom: 10px;
  color: #fff;
}

.reviewAreaWrap .note li::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

.reviewAreaWrap .note {
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
  }

  .reviewAreaWrap .note li {
    font-size: 12px;
    margin: 0;
    text-indent: -6px;
    padding-left: 14px;
  }

  .reviewAreaWrap .note li::before {
    font-size: 12px;
  }


/** SP **/
@media only screen and (max-width: 767px) {
  /**** hokama ****/
  .reviewAreaWrap {
    padding-top: 20vmin;
  }

  .reviewAreaWrap .review_box .flex {
    gap: 2vmin;
    margin-bottom: 4vmin;
  }

  .reviewAreaWrap .review_box {
    padding: 0px 4.3vmin;
    margin-bottom: 8vmin;
  }

  /*
  .reviewAreaWrap h3 {
    text-align: center;
    padding-top: 20vmin;
    margin-bottom: 8vmin;
    max-width: 66vmin;
    margin: 0 auto 8vmin;
  }*/
  /**** hokama ****/
  .reviewAreaWrap h3 {
    width: 60vw;
    aspect-ratio: 3.276 / 1;
    margin: 0 auto 8vmin;
    color: #fff;
    font-size: clamp(23.52px, 5.06vw + 4.54px, 43.84px);
    line-height: 1.4;
    background-image: url("../img/review_ph_bg01.png");
  }

  .reviewAreaWrap h3 img {
    max-width: 100%;
  }

  .reviewAreaWrap .review_box .flex .icon {
    width: 16vmin;
  }

  .reviewAreaWrap .review_box .flex .name {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    width: 72.5vmin;
  }

  .reviewAreaWrap .review_box .flex .name span {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  .reviewAreaWrap .review_box .txt_box {
    background: #fff;
    border-radius: 4px;
    padding: 3.2vmin 6vmin;
  }

  .reviewAreaWrap .review_box .txt_box p {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
  }

  .reviewAreaWrap .note {
    padding: 0 4vmin;
  }

  .reviewAreaWrap .note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -2.3vmin;
    padding-left: 6vmin;
  }

  .reviewAreaWrap .note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }
}

/* --------------------------------------------------------------------
/* reason04AreaWrap
-------------------------------------------------------------------- */

.reason04AreaWrap {
  background: #dfeef8;
  padding: 56px 24px 0;
  position: relative;
}

.reason04AreaWrap::after {
  content: "";
  background: url(../img/reason_ph40.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: 85px;
  position: absolute;
  bottom: -84px;
  left: 0;
  right: 0;
  margin: auto;
}

.reason04AreaWrap h3 {
  margin: 0 -24px 24px;
}

.reason04AreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 24px;
}

.reason04AreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.reason04AreaWrap .img {
  text-align: center;
  margin-bottom: 24px;
}


/* .reason04AreaWrap .note {
  padding: 0 24px;
  margin-top: 24px;
}

.reason04AreaWrap .note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -13px;
  padding-left: 24px;
  margin-bottom: 10px;
}

.reason04AreaWrap .note li::before {
  content: "※";
  font-size: clamp(13px, calc(13px + (7) * ((100vw - 375px) / 375)), 20px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
} */

/** PC **/
@media only screen and (min-width: 768px) {
  .reason04AreaWrap {
    padding: 20px 24px 0 32px;
  }

  .reason04AreaWrap-inner {
    max-width: 790px;
    padding: 20px;
    margin: 0 auto;
  }

  .reason04AreaWrap .box {
    display: flex;
    gap: 32px;
  }

  .reason04AreaWrap .box img {
    max-width: 349px;
  }

  .reason04AreaWrap .txt-area {
    padding-top: 10px;
  }

  .reason04AreaWrap .txt {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .reason04AreaWrap .txt-area .txt img {
    padding-bottom: 30px;
    width: 100%;
  }

  /*   .reason04AreaWrap .note{
    margin-top: 10px;
  }
  .reason04AreaWrap .note li{
    font-size: 12px;
    max-width: 740px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }
  .reason04AreaWrap .note li::before{
    font-size: 12px;
  } */
  .reason04AreaWrap::after {
    content: "";
    background-image: url(../img/reason_ph40_pc.png);
    background-position: center center;
    width: 100%;
    bottom: -65px;
    z-index: 1;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .reason04AreaWrap {
    padding: 6vmin 3.2vmin;
    position: relative;
  }

  .reason04AreaWrap::after {
    background-size: 100%;
    /* bottom: -17vmin; */
    bottom: -12vw;
    height: 13.5vw;
  }

  .reason04AreaWrap h3 {
    margin: 0 -3.2vmin 3.2vmin;
  }

  .reason04AreaWrap .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
  }

  /*   .reason04AreaWrap .note {
    padding: 0 3.2vmin;
    margin-top: 3.2vmin;
  }

  .reason04AreaWrap .note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -3.3vmin;
    padding-left: 4vmin;
    margin-bottom: 1vmin;
  }

  .reason04AreaWrap .note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  } */
}

/* --------------------------------------------------------------------
/* qaAreaWrap
-------------------------------------------------------------------- */

.qaAreaWrap {
  background: linear-gradient(to bottom, #0162c7, #059ed6);
  padding-bottom: 110px;
}

/**** hokama ****/
.qaAreaWrap h3 {
  text-align: center;
  background-image: url("../img/qa_ph_bg01.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}


.qaAreaWrap .qa_box .txt {
  text-align: center;
  font-size: clamp(26px, calc(26px + (14) * ((100vw - 375px) / 375)), 40px);
  text-align: center;
  font-weight: 900;
  padding-top: 48px;
  margin-bottom: 32px;
}

.qaAreaWrap .qa_box .txt-extra {
  text-align: center;
  font-size: clamp(22px, calc(22px + (14) * ((100vw - 375px) / 375)), 28px);
  text-align: center;
  font-weight: 900;
  padding-top: 16px;
  margin-bottom: 32px;
}

.qaAreaWrap .qa_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  margin-top: 32px;
}

.qaAreaWrap .qa_box li {
  cursor: pointer;
}

.qaAreaWrap .qa_box li button {
  cursor: pointer;
}

.qaAreaWrap .qa_box li button.yes {
  background: #fc730e;
  border: 2px solid #fc730e;
  text-align: center;
  color: #fff;
  font-size: clamp(23px, calc(23px + (13) * ((100vw - 375px) / 375)), 36px);
  border-radius: 16px;
  box-shadow: 0px 3px 5px 1px #bbb;
  padding: 10px 0;
  width: 280px;
}

.qaAreaWrap .qa_box li button.no {
  border: 2px solid #fc730e;
  text-align: center;
  color: #fc730e;
  font-size: clamp(23px, calc(23px + (13) * ((100vw - 375px) / 375)), 36px);
  border-radius: 16px;
  box-shadow: 0px 3px 5px 1px #bbb;
  padding: 10px 0;
  width: 270px;
  background: #fff;
}

.qaAreaWrap .link_txt {
  text-align: center;
  margin-top: 24px;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
}

.qaAreaWrap .link_txt a {
  color: #fff;
  text-decoration: underline;
}

/* diagnostic */
.qaAreaWrap #diagnostic {
  background-color: #fff;
  width: 680px;
  min-height: 320px;
  margin: 30px auto 0;
  position: relative;
  overflow: visible;
  /* ←重要 */
  border-radius: 8px;
  height: auto;
  /* ←固定を解除 */
  padding-bottom: 0;
  /* ←JSで動的に変える */
}

.qaAreaWrap #diagFrame {
  overflow: hidden;
  width: 680px;
  position: relative;
}

.qaAreaWrap div.diagWrap {
  width: 5440px;
  /*680*8*/
}

.qaAreaWrap div.qubox {
  float: left;
  width: 680px;
  height: 320px;
  position: relative;
}

.qaAreaWrap p.question {
  margin-top: 55px;
  padding: 0 5px;
  color: #3ea835;
  font-size: 1.8em;
  line-height: 1.25;
}

.qaAreaWrap div.selector {
  position: absolute;
  top: 160px;
  left: 0;
  width: 100%;
  z-index: 10;
}

.qaAreaWrap #judgement {
  width: 680px;
  height: auto;
  overflow: visible;
  /* position: absolute; ← 削除！ */
  /* top: 281px; ← 削除！ */
  /* left: 0; ← 削除！ */
  z-index: 10;
  padding-bottom: 48px;
}

.qaAreaWrap p.judge {
  text-align: center;
  font-size: 1.6em;
  line-height: 1.6;
  margin-top: 24px;
  margin-bottom: 36px;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
}

.qaAreaWrap div.qualified {
  display: none;
  width: 680px;
  height: auto;
  background-color: #fff;
  border-radius: 8px;
  padding-top: 48px;
}

.qaAreaWrap div.unqualified {
  display: none;
  width: 680px;
  height: auto;
  background-color: #fff;
  border-radius: 8px;
  padding-top: 48px;
}

.qaAreaWrap .price_area {
  border-top: 1px dotted #0e2b4b;
  padding-top: 48px;
  max-width: 90%;
  margin: auto;
}

.qaAreaWrap .price_area .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
}

.qaAreaWrap .price_area .note {
  margin-top: 24px;
}

.qaAreaWrap .price_area .note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  padding-left: 42px;
  margin-bottom: 10px;
}

.qaAreaWrap .price_area .note li::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

.qaAreaWrap div.qualified span.courseLink,
.qaAreaWrap div.unqualified span.courseLink {
  font-size: 65%;
  line-height: 1.4;
}

.qaAreaWrap div.qualified span.courseLink {
  padding-left: 0 !important;
}

.qaAreaWrap div.qualified span.courseLink a,
.qaAreaWrap div.unqualified span.courseLink a {
  display: block;
}

.qaAreaWrap div.qualified p.judge span.courseLink small {
  display: block;
  font-size: 0.75em;
  line-height: 1.3;
  margin-bottom: 4px;
}

.qaAreaWrap div.qualified a.retry,
.qaAreaWrap div.unqualified a.retry {
  position: absolute;
  bottom: 0px;
  right: 45px;
  cursor: pointer;
}

.qaAreaWrap div.qualified p.retry i,
.qaAreaWrap div.unqualified p.retry i {
  font-size: 122%;
  margin-right: 3px;
  vertical-align: middle;
}

.qaAreaWrap div.unqualified .txt_img img {
  max-width: 100%;
  width: 480px;
  margin: auto;
}

.qaAreaWrap div.qualified .txt_img img {
  max-width: 100%;
  width: 240px;
  margin: auto;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .qaAreaWrap {
    padding-top: 150px;
    padding-bottom: 70px;
  }

  .qaAreaWrap #diagnostic {
    width: 698px;
    min-height: 263px;
  }

  .qaAreaWrap div.selector {
    top: 94px;
  }

  .qaAreaWrap .qa_box .txt {
    font-size: 32px;
    padding-top: 50px;
  }

  .qaAreaWrap div.qubox {
    height: 215px;
  }

  /**** hokama ****/
  .qaAreaWrap h3 {
    width: 435.98px;
    height: 85.36px;
    margin: 0 auto 30px;
    color: #fff;
    font-size: 23.5px;
    line-height: 1.4;
  }

  .qaAreaWrap .qa_box li button.yes {
    width: 230px;
    font-size: 29px;
  }

  .qaAreaWrap .qa_box li button.no {
    width: 230px;
    font-size: 29px;
  }

  .qaAreaWrap .link_txt {
    font-size: 12px;
  }

  .qaAreaWrap #judgement {
    margin: 0 auto;
  }

  .qaAreaWrap div.qualified .txt_img img {
    width: 120px;
  }

  .qaAreaWrap p.judge {
    font-size: 16px;
    margin-bottom: 26px;
  }

  .qaAreaWrap .price_area {
    max-width: 485px;
    padding-top: 30px;
    border: none;
  }

  .qaAreaWrap .price_area .txt {
    font-size: 16px;
  }

  .qaAreaWrap .price_area .note li {
    font-size: 12px;
    margin-bottom: 0;
  }

  .qaAreaWrap .price_area .note li::before {
    font-size: 12px;
  }

  .qaAreaWrap div.unqualified .txt_img img {
    max-width: 240px;
  }

  .qaAreaWrap .line {
    max-width: 634px;
    display: block;
    margin: 0 auto;
  }

  .qaAreaWrap div.qualified {
    padding-top: 38px;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .qaAreaWrap {
    padding-top: 20vmin;
    padding-bottom: 11.2vmin;
  }
  /**** hokama ****/
  .qaAreaWrap h3 {
    width: 332px;
    height: 65px;
    margin: 0 auto 6vmin;
    color: #fff;
    font-size: 18px;
    line-height: 1.4;
  }

  .qaAreaWrap h3 img {
    max-width: 100%;
    width: 332px;
  }

  /*.qaAreaWrap .qa_box {
        border-radius: 8px;
        padding: 0 6vmin 6vmin;
        margin: 0 4.3vmin;
    }*/

  .qaAreaWrap .qa_box .txt {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    padding-top: 4vmin;
    margin-bottom: 3vmin;
    margin-left: -5vmin;
    min-height: 3.2em;
    /* ← 2行ぶんくらいの高さを確保 */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .qaAreaWrap .qa_box .txt-extra {
    font-size:clamp(16px, calc(16px + (16) * ((100vw - 375px) / 375)), 18px);
    margin-bottom: 16px;
  }

  .qaAreaWrap .qa_box ul {
    gap: 3.2vmin;
    margin-top: 0;
  }

  /*.qaAreaWrap .qa_box li.yes {
        font-size: clamp(22.50px, calc(22.50px + (22.50) * ((100vw - 375px) / 375)), 45.00px);
        border-radius: 8px;
        padding: 0;
        width: 141px;
        height: 43px;
    }

    .qaAreaWrap .qa_box li.no {
        font-size: clamp(22.50px, calc(22.50px + (22.50) * ((100vw - 375px) / 375)), 45.00px);
        border-radius: 8px;
        padding: 0;
        width: 141px;
        height: 43px;
    }*/

  .qaAreaWrap .link_txt {
    text-align: center;
    margin-top: 3.2vmin;
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  /* diagnostic */
  .qaAreaWrap #diagnostic {
    width: 90%;
    min-height: auto;
  }

  .qaAreaWrap div.qubox {
    width: 100%;
    height: auto;
    min-height: 40vmin;
  }

  .qaAreaWrap div.selector {
    position: static;
    margin-left: -2vmin;
  }

  .qaAreaWrap #judgement {
    width: 100%;
    padding-bottom: 0;
  }

  .qaAreaWrap div.qualified,
  .qaAreaWrap div.unqualified {
    width: 100%;
    padding-top: 6vmin;
  }

  .qaAreaWrap div.qualified p.img {
    width: 120px;
    margin: auto;
    display: block;
  }

  .qaAreaWrap div.unqualified p.img {
    width: 240px;
    margin: auto;
    display: block;
  }

  .qaAreaWrap div.qualified .price_area p.img,
  .qaAreaWrap div.unqualified .price_area p.img {
    width: 100%;
    margin: auto;
    display: block;
  }

  .qaAreaWrap .qa_box li {
    cursor: pointer;
  }

  .qaAreaWrap .qa_box li button.yes,
  .qaAreaWrap .qa_box li button.no {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    width: 141px;
  }

  .qaAreaWrap p.judge {
    text-align: center;
    /*font-size: 1.6em;*/
    line-height: 1.6;
    margin-top: 3.2vmin;
    margin-bottom: 6vmin;
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
  }

  .qaAreaWrap .price_area {
    padding-top: 6vmin;
  }

  .qaAreaWrap .price_area .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
  }

  .qaAreaWrap .price_area .note {
    padding: 0;
    padding-bottom: 5vmin;
    margin-top: 3.2vmin;
  }

  .qaAreaWrap .price_area .note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -2.3vmin;
    padding-left: 4vmin;
    margin-bottom: 1vmin;
  }

  .qaAreaWrap .price_area .note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }

  .qaAreaWrap div.unqualified .txt_img img {
    max-width: 100%;
    width: 240px;
    margin: auto;
  }

  .qaAreaWrap div.qualified .txt_img img {
    max-width: 100%;
    width: 120px;
    margin: auto;
  }
}

/* --------------------------------------------------------------------
/* serviceAreaWrap
-------------------------------------------------------------------- */

.serviceAreaWrap {
  background: #fcf7de;
  padding: 112px 0;
}

.serviceAreaWrap h3 {
  text-align: center;
  font-size: clamp(36px, calc(36px + (20) * ((100vw - 375px) / 375)), 56px);
  margin-bottom: 56px;
}

.serviceAreaWrap .img {
  text-align: center;
  max-width: 100%;
  width: 698px;
  margin: auto;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .serviceAreaWrap .img {
    max-width: 790px;
    padding: 0 20px;
  }

  .serviceAreaWrap h3 {
    font-size: 32px;
    margin-bottom: 30px;
  }

  .serviceAreaWrap {
    padding: 52px 0;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .serviceAreaWrap {
    background: #fcf7de;
    padding: 12.8vmin 0;
  }

  .serviceAreaWrap h3 {
    text-align: center;
    font-size: clamp(30px, calc(30px + (30) * ((100vw - 375px) / 375)), 60px);
    margin-bottom: 6vmin;
  }

  .serviceAreaWrap .img {
    width: 90%;
  }
}

/* --------------------------------------------------------------------
/* priceAreaWrap
-------------------------------------------------------------------- */

.priceAreaWrap {
  margin-top: 102px;
  margin-bottom: 102px;
  margin-left: 20px;
  margin-right: 20px;
}
.priceAreaWrap .bnr{
  max-width: 790px;
  margin: 0 auto 24px;
}

.priceAreaWrap h3 {
  text-align: center;
  font-size: clamp(36px, calc(36px + (20) * ((100vw - 375px) / 375)), 56px);
  margin-bottom: 24px;
}

.priceAreaWrap .img {
  text-align: center;
  margin-bottom: 24px;
}

.priceAreaWrap .img.medal {
  max-width: 100%;
  width: 584px;
  margin: auto;
}

.priceAreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  padding: 0 24px;
}

.priceAreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.priceAreaWrap .accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 24px;
  margin-top: 24px;
  margin-bottom: 48px;
}

.priceAreaWrap .accordion-header {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0 -10px;
  text-align: center;
}

.priceAreaWrap .accordion-body {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.3s ease;
  padding: 0 32px;
  border: 1px solid #1e46b4;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 4px 0px 6px 0px #ccc;
  margin-top: -25px;
  margin-right: 12px;
  margin-left: -3px;
}

.priceAreaWrap .accordion-body p.img {
  text-align: center;
  margin-top: 48px;
  margin-bottom: 24px;
}

.priceAreaWrap .accordion-body h4 {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  margin-bottom: 24px;
}

.priceAreaWrap .accordion-body .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 54px;
}

.priceAreaWrap .accordion-body .sub_txt {
  font-size: clamp(18px, calc(18px + (10) * ((100vw - 375px) / 375)), 28px);
  margin-bottom: 24px;
}

.priceAreaWrap p.note {
  margin-bottom: 48px;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
}

.priceAreaWrap ul.note {
  margin-bottom: 48px;
}

.priceAreaWrap ul.note li {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -13px;
  padding-left: 24px;
}

.priceAreaWrap ul.note li::before {
  content: "※";
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

.priceAreaWrap .sub_ttl {
  background: #0162c7;
  text-align: center;
  color: #fff;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  border-radius: 8px;
  margin-bottom: 16px;
}

.priceAreaWrap .accordion-body p.last {
  margin-bottom: 60px;
}

.priceAreaWrap .accordion-body ol {
  border-top: 1px dotted #0e2b4b;
  margin-bottom: 24px;
}

.priceAreaWrap .accordion-body ol li {
  border-bottom: 1px dotted #0e2b4b;
  padding-top: 24px;
  padding-bottom: 24px;
}

.priceAreaWrap .accordion-body ol li p.img {
  margin: 0;
}

.priceAreaWrap .accordion-body .txt_link {
  display: block;
  text-align: center;
  margin-top: 32px;
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  text-decoration: underline;
  color: #0e2b4b;
  margin-bottom: 48px;
}

.priceAreaWrap .note_area {
  margin-top: 32px;
  overflow-y: scroll;
  height: 578px;
  border: 1px solid #c3c3c3;
  border-radius: 15px;
  padding: 36px;
}

.priceAreaWrap .note_area ul {
  margin: 0 32px;
  margin-bottom: 32px;
}

.priceAreaWrap .note_area ul li {
  font-size: clamp(14px, calc(14px + (8) * ((100vw - 375px) / 375)), 22px);
  list-style: disc;
  font-weight: 400;
}

.priceAreaWrap .note_area h4 {
  background: none;
  color: #0e2b4b;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-bottom: 8px;
  text-align: left;
  font-weight: 700;
}

.priceAreaWrap .note_area .sub_ttl {
  background: none;
  color: #0e2b4b;
  font-size: clamp(14px, calc(14px + (8) * ((100vw - 375px) / 375)), 22px);
  font-weight: 700;
  text-align: left;
  margin-bottom: 0px;
  padding: 0;
}

.priceAreaWrap .note_area .txt {
  font-size: clamp(14px, calc(14px + (8) * ((100vw - 375px) / 375)), 22px);
  padding: 0;
  margin-left: 24px;
  margin-bottom: 24px;
}

.priceAreaWrap .note_area a {
  text-decoration: underline;
  color: #0e2b4b;
  font-weight: 700;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .priceAreaWrap {
    margin-top: 50px;
  }

  .priceAreaWrap .bnr{
    padding: 0 20px;
  }

  .priceAreaWrap h3 {
    font-size: 32px;
  }

  .priceAreaWrap .img {
    max-width: 790px;
    padding: 0 20px;
    margin: 0 auto;
  }

  .priceAreaWrap .txt-area{
    max-width: 790px;
    margin: 15px auto 0;
  }

  /**** hokama ****/
  .priceAreaWrap .priceBnr_wrap {
    width: 100%;
    padding: 0 20px;
  }

  .priceAreaWrap .priceBnr {
    max-width: 750px;
    margin: 0 auto;
    border: solid 2px #0162c7;
    border-radius: 16px;
    padding-bottom: 20px;
  }

  .priceAreaWrap .priceBnr_ttl {
    font-size: 1.6em;
    font-family: "Noto Sans JP", sans-serif;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 0.1em 0;
    border: solid 2px #0162c7;
    border-radius: 12px 12px 0 0;
    background-color: #0162C7;
  }

  .priceAreaWrap .priceBnr_inner {
    max-width: 100%;
    padding: 18px 20px 15px;
    background: #fff;
    /*
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2%;
    */
  }

  .priceAreaWrap .price_ttl0 {
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    color: #e50012;
    text-align: center;
    border: solid 2px #e50012;
  }

  .priceAreaWrap .price_wrap0 {
    width: 100%;
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 5px;
    padding: 15px 0;
    border-bottom: 2px dashed #a3a3a3;
  }

  .priceAreaWrap .price_ttl01 {
    color: #fff;
    font-size: 1.3em;
    font-weight: 700;
    background-color: #0162C7;
    padding: 0.5em 0.45em;
    margin-right: 0.4em;
  }

  .priceAreaWrap .price_wrap {
    /*width: ;*/
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    gap: 5px;
    padding: 15px 0 10px;
  }
  
  .priceAreaWrap .price_ttl02 {
    color: #fff;
    font-size: 1.5em;
    font-weight: 700;
    background-color: #0162C7;
    padding: 0.4em 1.1em;
    margin-right: 0.4em;
  }

  .priceAreaWrap .price_txt {
    font-size: 1.9em;
    font-weight: 900;
    color: #0e2b4b;
    line-height: 1.5;
  }

  .priceAreaWrap .price_month {
    font-size: 1.3em;
    font-weight: 700;
    letter-spacing: -1px;
  }

  .priceAreaWrap .price_num {
    font-size: 54px;
    font-weight: 700;
    color: #e50012;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0;
    line-height: 1;
  }

  .priceAreaWrap .price_num .comma {
    font-size: 0.7em;
    font-weight: 900;
  }

  .priceAreaWrap .price_txt_total {
    font-size: 21px;
    font-weight: 600;
    color: #0e2b4b;
    display: flex;
    justify-content: center;
    align-items: end;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
      
    
  }
  .priceAreaWrap .price_txt_total .total_tax {
      font-size: 0.5em;
      font-weight: 700;
    }

  .priceAreaWrap .price_tax {
    font-weight: bold;
  }

  .priceAreaWrap .clearLh {
    line-height: 1.1;
  }

  /**** hokama ****/

  .priceAreaWrap ul.note {
    max-width: 790px;
    padding: 15px 20px 0;
    margin: 0 auto;
  }

  .priceAreaWrap ul.note li {
    font-size: 12px;
  }

  .priceAreaWrap ul.note li::before {
    font-size: 12px;
  }

  .priceAreaWrap .accordion {
    max-width: 790px;
    padding: 20px 20px 0;
    margin: 0 auto;
  }

  .priceAreaWrap .img.medal {
    padding: 50px 0;
  }

  .priceAreaWrap .note_area {
    max-width: 750px;
    margin: 0 auto;
    height: 289px;
    padding: 20px 5px;
  }

  .priceAreaWrap .note_area ul li {
    font-size: 12px;
  }

  .priceAreaWrap .note_area h4 {
    font-size: 24px;
  }

  .priceAreaWrap .note_area .sub_ttl {
    font-size: 18px;
  }

  .priceAreaWrap .note_area .txt {
    font-size: 16px;
  }

  .priceAreaWrap .box {
    display: flex;
    gap: 32px;
  }

  .priceAreaWrap .box img {
    max-width: 349px;
  }

  .priceAreaWrap .txt {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .priceAreaWrap .txt-area .txt img {
    padding-bottom: 30px;
    width: 100%;
  }

  .priceAreaWrap .accordion-body {
    padding: 0 30px;
    margin-right: 0px;
    margin-left: 0px;
  }

  .priceAreaWrap .accordion-body .mt40 {
    margin-top: 40px
  }

  .priceAreaWrap .accordion-header {
    left: 8px;
  }

  /**** hokama ****/
  .priceAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    left: -2px;
    max-width: 100%;
    aspect-ratio: 7.7 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg_pc.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .priceAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .priceAreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 18%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1.5;
  }

  .priceAreaWrap .accordion-header img {
    width: 100%;
    position: relative;
    left: -2px;
  }

  .priceAreaWrap .accordion-body img {
    max-width: inherit;
  }

  .priceAreaWrap .accordion-body .ph07 img {
    max-width: 100%;
  }

  .priceAreaWrap .accordion-body .ph07 {
    margin: 0;
  }

  .priceAreaWrap .accordion-body p.img {
    max-width: 303px;
  }

  .priceAreaWrap .accordion-body p.img.first {
    margin-top: 0;
    padding: 0;
  }

  .priceAreaWrap .accordion-body p.img.last {
    max-width: 100%;
    margin: 0 0 30px;
    padding: 0;
  }

  .priceAreaWrap .accordion-body .sub_txt {
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 15px;
  }

  .priceAreaWrap .accordion-body .sub_txt02 {
    margin-top: 40px;
  }

  .priceAreaWrap .sub_ttl {
    font-size: 16px;
    border-radius: 4px;
    margin-bottom: 10px;
  }

  .priceAreaWrap .accordion-body h4 {
    font-size: 22px;
  }

  .priceAreaWrap p.note {
    font-size: 12px;
    margin-bottom: 30px;
  }

  .priceAreaWrap .ucanpro-logo {
    width: 145px;
    margin: 0 auto;
    display: block;
    padding: 40px 0 25px;
  }

  .priceAreaWrap .accordion-body .txt_link {
    font-size: 12px;
    margin: 20px 0 30px;
  }

  .priceAreaWrap .note.row {
    display: flex;
  }

  .priceAreaWrap .note.row li {
    padding-left: 0;
    text-indent: 0;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .priceAreaWrap {
    margin-top: 12.8vmin;
    margin-bottom: 12.8vmin;
    margin-left: 3.2vmin;
    margin-right: 3.2vmin;
  }

  .priceAreaWrap h3 {
    text-align: center;
    font-size: clamp(30px, calc(30px + (30) * ((100vw - 375px) / 375)), 60px);
    margin-bottom: 3.2vmin;
  }
  .priceAreaWrap .txt{
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
    padding: 0;
  }
  .priceAreaWrap ul.note {
    margin-bottom: 6vmin;
  }

  .priceAreaWrap ul.note li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-indent: -2.3vmin;
    padding-left: 4vmin;
    margin-bottom: 1vmin;
  }

  .priceAreaWrap ul.note li::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }

  .priceAreaWrap .accordion {
    gap: 6vmin;
    margin: 0 3.2vmin;
    margin-top: 3.2vmin;
    margin-bottom: 10vmin;
  }

  .priceAreaWrap .img {
    text-align: center;
    margin-bottom: 3.2vmin;
  }

  .priceAreaWrap .img.medal {
    max-width: 68vmin;
    width: 292px;
    margin: auto;
  }

  .priceAreaWrap .note_area {
    margin-top: 8vmin;
    padding: 4vmin;
    height: 290px;
  }

  .priceAreaWrap .img {
    text-align: center;
    margin: auto;
    margin-bottom: 3.2vmin;
    width: 100%;
  }

  .priceAreaWrap .priceBnr_wrap {
    width: 100%;
    margin-bottom: 12px;
  }

  .priceAreaWrap .priceBnr {
    border: solid 2px #0162c7;
    border-radius: 8px;
    padding-bottom: 20px;
  }

  .priceAreaWrap .priceBnr_ttl {
    font-size: 1.1em;
    font-family: "Noto Sans JP", sans-serif;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 0.1em 0;
    border: solid 2px #0162c7;
    border-radius: 5px 5px 0 0;
    background-color: #0162C7;
  }

  .priceAreaWrap .priceBnr_inner {
    max-width: 100%;
    padding: 18px 20px 15px;
    background: #fff;
    /*
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2%;
    */
  }

  .priceAreaWrap .price_ttl0 {
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    color: #e50012;
    text-align: center;
    border: solid 1px #e50012;
  }

  .priceAreaWrap .price_wrap0 {
    width: 100%;
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 5px;
    padding: 15px 0;
    border-bottom: 2px dashed #a3a3a3;
  }

  .priceAreaWrap .price_ttl01 {
    color: #fff;
    font-size:0.7em;
    font-weight: 700;
    background-color: #0162C7;
    padding: 0.5em 1em;
    margin-right: 0.4em;
    line-height: 1.3;
  }
  
  .priceAreaWrap .price_wrap {
    /*width: ;*/
    /*margin: 0 auto;*/
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    gap: 5px;
    padding: 15px 0 10px;
  }

  
  .priceAreaWrap .price_ttl02 {
    color: #fff;
    font-size: 0.7em;
    font-weight: 700;
    background-color: #0162C7;
    padding: 0.8em 1em;
    margin-right: 0.4em;
  }

  .priceAreaWrap .price_txt {
    font-size: 1em;
    font-weight: 900;
    color: #0e2b4b;
    line-height: 1.5;
  }

  .priceAreaWrap .price_month {
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: -1px;
  }

  .priceAreaWrap .price_num {
    font-size: 34px;
    font-weight: 700;
    color: #e50012;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0;
    line-height: 1;
  }

  .priceAreaWrap .price_num .comma {
    font-size: 0.7em;
    font-weight: 900;
  }

  .priceAreaWrap .price_txt_total {
    font-size: 21px;
    font-weight: 900;
    color: #0e2b4b;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    margin-left: 16%;     
    
  }
  .priceAreaWrap .price_txt_total .total_tax {
      font-size: 0.6em;
      font-weight: 700;
    }

  .priceAreaWrap .price_tax {
    font-weight: bold;
  }

  .priceAreaWrap .clearLh {
    line-height: 1.1;
  }












  .priceAreaWrap .note_area ul {
    margin: 0 6vmin;
    margin-bottom: 4.3vmin;
  }

  .priceAreaWrap .note_area ul li {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  .priceAreaWrap .note_area h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    margin-bottom: 2vmin;
  }

  .priceAreaWrap .note_area .sub_ttl {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  .priceAreaWrap .note_area .txt {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    padding: 0;
    margin-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .priceAreaWrap .accordion {
    display: flex;
    flex-direction: column;
    gap: 3.2vmin;
    margin: 0;
    margin-top: 4.3vmin;
    margin-bottom: 6vmin;
  }

  .priceAreaWrap .accordion-header {
    margin: 0;
    margin-right: -2vmin;
    margin-left: -1.5vmin;
  }

  /**** hokama ****/
  .priceAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.75 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .priceAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .priceAreaWrap .accordion-body {
    padding: 0 6vmin;
    margin: 0;
    margin-top: -4vmin;
    margin-right: 1vmin;
  }

  .priceAreaWrap .accordion-body h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: none;
    padding-left: 0;
    margin-bottom: 3.2vmin;
  }

  .priceAreaWrap .accordion-body .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 4.3vmin;
  }

  .priceAreaWrap .accordion-body p.img {
    text-align: center;
    margin-top: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  .priceAreaWrap .sub_ttl {
    background: #0162c7;
    text-align: center;
    color: #fff;
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    border-radius: 4px;
    margin-bottom: 4vmin;
    padding: 1vmin;
  }

  .priceAreaWrap .accordion-body .sub_txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-top: 6vmin;
  }

  .priceAreaWrap p.note {
    margin-bottom: 6vmin;
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
  }

  .priceAreaWrap .accordion-body .txt_link {
    display: block;
    text-align: center;
    margin-top: 3vmin;
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    text-decoration: underline;
    color: #0e2b4b;
    margin-bottom: 6vmin;
  }
}

/* --------------------------------------------------------------------
/* scheduleAreaWrap
-------------------------------------------------------------------- */

.scheduleAreaWrap {
  background: #fcf7de;
  padding: 112px 0;
}

.scheduleAreaWrap h3 {
  text-align: center;
  font-size: clamp(36px, calc(36px + (20) * ((100vw - 375px) / 375)), 56px);
  margin-bottom: 56px;
}

.scheduleAreaWrap .txt {
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  padding: 0 24px;
  margin-top: 24px;
}

.scheduleAreaWrap .img {
  margin: 0 24px;
  text-align: center;
}

.scheduleAreaWrap .txt .red {
  color: #e50012;
  font-weight: 900;
}

.scheduleAreaWrap .accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 24px;
  margin-top: 24px;
  margin-bottom: 48px;
}

.scheduleAreaWrap .accordion-header {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0 -10px;
  text-align: center;
}

.scheduleAreaWrap .accordion-body {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.3s ease;
  padding: 0 46px;
  border: 1px solid #1e46b4;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 4px 0px 6px 0px #ccc;
  margin-top: -25px;
  margin-right: 12px;
  margin-left: -3px;
}

.scheduleAreaWrap .accordion-body p.img {
  margin-top: 48px;
}

.scheduleAreaWrap .accordion-body .ttl {
  margin-top: 48px;
  margin-bottom: 24px;
}

.scheduleAreaWrap .accordion-body .img {
  margin: auto;
  margin-bottom: 32px;
}

.scheduleAreaWrap .accordion-body .sub_ttl {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  margin-bottom: 0px;
}

.scheduleAreaWrap .accordion-body .txt {
  padding: 0;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-top: 0px;
}

.scheduleAreaWrap .accordion-body .mark {
  margin: 48px 0;
}

.scheduleAreaWrap .accordion-body p.last {
  margin-bottom: 60px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .scheduleAreaWrap {
    padding: 50px 0 40px;
  }

  .scheduleAreaWrap h3 {
    font-size: 32px;
    margin-bottom: 40px;
  }

  .scheduleAreaWrap .firstbox {
    display: flex;
    gap: 32px;
    max-width: 790px;
    padding: 0 20px;
    margin: 0 auto;
  }

  .scheduleAreaWrap .txt {
    font-size: 16px;
    margin: 0;
    padding: 10px 0 0;
    max-width: 362px;
  }

  .scheduleAreaWrap .txt img {
    padding-bottom: 20px;
  }

  .scheduleAreaWrap .firstbox .img {
    max-width: 349px;
    margin: 0;
  }

  .scheduleAreaWrap .accordion-header {
    left: 8px;
  }

  /**** hokama ****/
  .scheduleAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    left: -2px;
    max-width: 100%;
    aspect-ratio: 7.7 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg_pc.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .scheduleAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .scheduleAreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 18%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1.5;
  }

  .accordion-header_text .yellow,
  .accordion-header_twolineText .yellow {
    padding: 0 0 2px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .scheduleAreaWrap .accordion .accordion-header img {
    width: 100%;
    position: relative;
    left: -2px;
  }

  .scheduleAreaWrap .accordion {
    max-width: 750px;
    margin: 40px auto;
  }

  .scheduleAreaWrap .accordion-body {
    padding: 0 35px;
    margin-right: 0px;
    margin-left: 0px;
  }

  .scheduleAreaWrap .accordion-body .box {
    display: block;
  }

  .scheduleAreaWrap .step-box {
    display: flex;
    gap: 32px;
  }

  .scheduleAreaWrap .step-box03,
  .scheduleAreaWrap .step-box05 {
    padding-top: 40px;
  }

  .scheduleAreaWrap .step-box06 {
    padding-bottom: 30px;
  }

  .scheduleAreaWrap .accordion-body p.img {
    max-width: 303px;
    margin: 0;
  }

  .scheduleAreaWrap .accordion-body .sub_ttl {
    font-size: 18px;
  }

  .scheduleAreaWrap .accordion-body .txt {
    font-size: 16px;
  }

  .scheduleAreaWrap .accordion-body .mark {
    width: 72px;
    margin: 30px auto 0;
  }

  .scheduleAreaWrap .accordion-body .ttl {
    margin-top: 25px;
  }

  .scheduleAreaWrap .accordion-body .ttl.first {
    margin-top: 40px;
  }

  /**** hokama ****/
  .scheduleAreaWrap .accordion-body .step_ttl,
  .scheduleAreaWrap .accordion-body .step_twoLine_ttl {
    position: relative;
    max-width: 100%;
    aspect-ratio: 13.584 / 1;
    background: none;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .scheduleAreaWrap .accordion-body .step_ttl .step_ttl-text,
  .scheduleAreaWrap .accordion-body .step_twoLine_ttl .step_ttl-text {
    text-align: left;
    position: absolute;
    top: 15%;
    left: 7.3%;
    font-size: 20px;
    /*font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);*/
    font-weight: 900;
    line-height: 1.4;
  }

  .scheduleAreaWrap .accordion-body .step01_bg {
    background-image: url("../img/schedule_ph_step01_pc.png");
  }

  .scheduleAreaWrap .accordion-body .step02_bg {
    background-image: url("../img/schedule_ph_step02_pc.png");
  }

  .scheduleAreaWrap .accordion-body .step03_bg {
    background-image: url("../img/schedule_ph_step03_pc.png");
  }

  .scheduleAreaWrap .accordion-body .step04_bg {
    background-image: url("../img/schedule_ph_step04_pc.png");
  }

  .scheduleAreaWrap .step02_txt {
    font-size: 16px;
    margin: 0;
    padding: 10px 0 0;
    max-width: 100%;
  }
  /**** hokama ****/
  .scheduleAreaWrap .speechBubble04 {
    max-width: 362px;
    aspect-ratio: 2.896 / 1;
    background-image: url('../img/schedule_ph_bg01-02_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 10px;
  }

  .scheduleAreaWrap .speechBubble04 .speechBubble_inner04 {
    position: absolute;
    top: 18%;
    left: 26.5%;
    font-size: 15.5px;
    /*font-size: clamp(13px, calc(13px + (2 * ((100vw - 768px) / 50))), 15px);*/
    font-weight: 900;
  }
  
  .scheduleAreaWrap .speechBubble04 .speechBubble_inner04 .red {
    color: #e50012;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .scheduleAreaWrap {
    background: #fcf7de;
    padding: 12.8vmin 3.2vmin;
  }

  .scheduleAreaWrap h3 {
    text-align: center;
    font-size: clamp(30px, calc(30px + (30) * ((100vw - 375px) / 375)), 60px);
    margin-bottom: 5vmin;
  }

  .scheduleAreaWrap .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    padding: 0 0;
    margin-top: 3.2vmin;
  }

  .scheduleAreaWrap .accordion {
    display: flex;
    flex-direction: column;
    gap: 3.2vmin;
    margin: 0;
    margin-top: 4.3vmin;
    margin-bottom: 6vmin;
  }

  .scheduleAreaWrap .accordion-header {
    margin: 0;
    margin-right: -2vmin;
    margin-left: -1.1vmin;
  }

  /**** hokama ****/
  .scheduleAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.75 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .scheduleAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .scheduleAreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 21%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .scheduleAreaWrap .accordion-body {
    padding: 0 6vmin;
    margin: 0;
    margin-top: -4vmin;
    margin-right: 1vmin;
  }

  .scheduleAreaWrap .accordion-body h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: 6px solid #1e46b4;
    padding-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .scheduleAreaWrap .accordion-body .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 4.3vmin;
  }

  .scheduleAreaWrap .accordion-body p.img {
    margin: auto;
    text-align: center;
    margin-top: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  .scheduleAreaWrap .accordion-body p.img.w50 img {
    width: 101px;
    margin: auto;
  }

  .scheduleAreaWrap .accordion-body .sub_ttl {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    margin-bottom: 0px;
  }

  .scheduleAreaWrap .accordion-body .mark {
    margin: 6vmin 0;
  }

  .scheduleAreaWrap .accordion-body .mark img {
    max-width: 96px;
  }

  .scheduleAreaWrap .accordion-body .ttl {
    margin-top: 6vmin;
    margin-bottom: 6vmin;
  }

  .scheduleAreaWrap .img {
    margin: 0;
    text-align: center;
  }

  /**** hokama ****/
  .scheduleAreaWrap .accordion-body .step_ttl {
    position: relative;
    max-width: 100%;
    aspect-ratio: 5.94 / 1;
    background: none;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .scheduleAreaWrap .accordion-body .step_ttl .step_ttl-text {
    text-align: left;
    position: absolute;
    top: 4%;
    left: 16.5%;
    font-size: clamp(20px, calc(20px + (20 * ((100vw - 375px) / 393))), 40px);
    font-weight: 900;
    line-height: 1.4;
  }

  .scheduleAreaWrap .accordion-body .step_twoLine_ttl {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.662 / 1;
    background: none;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .scheduleAreaWrap .accordion-body .step_twoLine_ttl .step_ttl-text {
    text-align: left;
    position: absolute;
    top: 4%;
    left: 16.5%;
    font-size: clamp(20px, calc(20px + (20 * ((100vw - 375px) / 393))), 40px);
    font-weight: 900;
    line-height: 1.4;
  }

  .scheduleAreaWrap .accordion-body .step01_bg {
    background-image: url("../img/schedule_ph_step01.png");
  }

  .scheduleAreaWrap .accordion-body .step02_bg {
    background-image: url("../img/schedule_ph_step02.png");
  }

  .scheduleAreaWrap .accordion-body .step03_bg {
    background-image: url("../img/schedule_ph_step03.png");
  }

  .scheduleAreaWrap .accordion-body .step04_bg {
    background-image: url("../img/schedule_ph_step04.png");
  }

  .scheduleAreaWrap .accordion-body .step-img {
    margin-bottom: 6vmin;
  }

  /**** hokama ****/
  .scheduleAreaWrap .speechBubble04 {
    max-width: 100%;
    aspect-ratio: 2.029 / 1;
    background-image: url('../img/schedule_ph_bg01.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
  }

  .scheduleAreaWrap .speechBubble04 .speechBubble_inner04 {
    position: absolute;
    top: 19%;
    left: 32%;
    font-size: clamp(15.7px, calc(15.7px + (16.8 * ((100vw - 375px) / 393))), 32.5px);
    font-weight: 900;
    line-height: 1.65;
  }
  
  .scheduleAreaWrap .speechBubble04 .speechBubble_inner04 .small-text {
    font-size: clamp(12.5px, calc(12.5px + (13.5 * ((100vw - 375px) / 393))), 26px);
  }

  .scheduleAreaWrap .speechBubble04 .speechBubble_inner04 .red {
    color: #e50012;
  }
}

/* --------------------------------------------------------------------
/* fp_aboutAreaWrap
-------------------------------------------------------------------- */

.fp_aboutAreaWrap {
  background: #dfeef8;
  padding: 112px 0;
}

.fp_aboutAreaWrap .accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 24px;
  margin-top: 48px;
  margin-bottom: 48px;
}

.fp_aboutAreaWrap .accordion-header {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin: 0 -10px;
  text-align: center;
}

.fp_aboutAreaWrap .accordion-body {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.3s ease;
  padding: 0 46px;
  border: 1px solid #1e46b4;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 4px 0px 6px 0px #ccc;
  margin-top: -25px;
  margin-right: 12px;
  margin-left: -3px;
}

.fp_aboutAreaWrap .accordion-body .ttl {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  border-left: 6px solid #1e46b4;
  padding-left: 24px;
  margin-bottom: 24px;
}

.fp_aboutAreaWrap .accordion-body .img {
  margin-bottom: 32px;
}

.fp_aboutAreaWrap .accordion-body .sub_ttl {
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
  margin-bottom: 0px;
}

.fp_aboutAreaWrap .accordion-body .txt {
  padding: 0;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  margin-top: 0px;
}

.fp_aboutAreaWrap .accordion-body p.last {
  margin-bottom: 60px;
}

.fp_aboutAreaWrap h3.fv img {
  max-width: 100%;
  width: 532px;
  display: block;
  margin: auto;
}

.fp_aboutAreaWrap p.fv img {
  max-width: 100%;
  width: 698px;
  display: block;
  margin: auto;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .fp_aboutAreaWrap {
    padding: 50px 0 150px;
  }

  .fp_aboutAreaWrap .midashi {
    display: flex;
    max-width: 790px;
    padding: 0 20px 35px;
    margin: 0 auto;
    gap: 30px;
    align-items: center;
  }

  .fp_aboutAreaWrap p.fv img {
    max-width: 349px;
    width: auto;
  }

  .fp_aboutAreaWrap h3 {
    margin: 0;
  }

  .fp_aboutAreaWrap .accordion {
    max-width: 790px;
    padding: 0 20px;
    margin: 0 auto;
    gap: 20px;
  }

  .fp_aboutAreaWrap .accordion-header {
    left: 8px;
  }

  /**** hokama ****/
  .fp_aboutAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    left: -2px;
    max-width: 100%;
    aspect-ratio: 7.7 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg_pc.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .fp_aboutAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 35%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1;
  }

  .fp_aboutAreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 18%;
    left: 9.5%;
    font-size: clamp(16.4px, calc(16.4px + (1.6 * ((100vw - 768px) / 70))), 18px);
    font-weight: 700;
    line-height: 1.5;
  }

  .accordion-header_text .yellow,
  .accordion-header_twolineText .yellow {
    padding: 0 0 2px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .fp_aboutAreaWrap .accordion .accordion-header img {
    width: 100%;
    position: relative;
    left: -2px;
  }

  .fp_aboutAreaWrap .accordion-body {
    padding: 0 30px;
    margin-right: 0px;
    margin-left: 0px;
  }

  .fp_aboutAreaWrap .accordion-body .box {
    display: flex;
    gap: 32px;
  }

  .fp_aboutAreaWrap .accordion-body .ttl {
    font-size: 18px;
    border-left: 6px solid #1e46b4;
    padding-left: 14px;
    margin-top: 0;
    margin-bottom: 20px;
  }

  .fp_aboutAreaWrap .accordion-body .txt-area {
    padding-top: 40px;
    flex: 1;
  }

  .fp_aboutAreaWrap .accordion-body p.img.first {
    margin-top: 40px;
  }

  .fp_aboutAreaWrap .accordion-body .txt {
    font-size: 16px;
  }

  .fp_aboutAreaWrap .accordion-body p.img {
    max-width: 303px;
    margin: 30px 0;
    flex: 1;
  }

  /**** hokama ****/
  .fp_aboutAreaWrap .accordion-body .test-covers {
    max-width: 303px;
    margin: 30px 0;
    flex: 1;
    background: #fce5e7;
    border-radius: 16px;
    padding: 20px 0;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers .test-covers_ttl {
    margin: 0 auto;
    color: #e25452;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    width: 90%;
    height: 80px;
    margin: 10px auto 0;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul li {
    position: relative;
    padding-left: 0.8em;
    color: #444444;
    font-size: 20px;
    font-weight: 500;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.7em;
    height: 0.7em;
    background-color: #e25452;
    border-radius: 50%;
  }
  
  .fp_aboutAreaWrap .accordion-body .mt40 {
    margin-top: 40px;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .fp_aboutAreaWrap {
    background: #dfeef8;
    padding: 12.8vmin 3.2vmin;
  }

  .fp_aboutAreaWrap h3.fv img {
    max-width: 100%;
    width: 266px;
    display: block;
    margin: auto;
  }

  .fp_aboutAreaWrap p.fv img {
    max-width: 100%;
    width: 100%;
    display: block;
    margin: auto;
  }

  .fp_aboutAreaWrap .accordion {
    display: flex;
    flex-direction: column;
    gap: 2vmin;
    margin: 0;
    margin-top: 4.3vmin;
    margin-bottom: 6vmin;
  }

  .fp_aboutAreaWrap .accordion-header {
    margin: 0;
    margin-right: -2vmin;
    margin-left: -1vmin;
  }

  /**** hokama ****/
  .fp_aboutAreaWrap .accordion-header .accordion-header_inner {
    position: relative;
    max-width: 100%;
    aspect-ratio: 4.75 / 1;
    background: none;
    background-image: url("../img/reason_ph_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .fp_aboutAreaWrap .accordion-header .accordion-header_inner .accordion-header_text {
    text-align: left;
    position: absolute;
    top: 32%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .fp_aboutAreaWrap .accordion-header .accordion-header_inner .accordion-header_twolineText {
    text-align: left;
    position: absolute;
    top: 21%;
    left: 13%;
    font-size: clamp(13.8px, calc(13.8px + (14.2 * ((100vw - 375px) / 393))), 28px);
    font-weight: 700;
    line-height: 1.4;
  }

  .accordion-header_inner .yellow,
  .accordion-header_twolineText .yellow {
    padding: 0 0 1px 2px;
    color: #1e46b5;
    font-weight: 900;
    background-color: #fff500;
  }

  .fp_aboutAreaWrap .accordion-body {
    padding: 0 6vmin;
    margin: 0;
    margin-top: -4vmin;
    margin-right: 1vmin;
  }

  .fp_aboutAreaWrap .accordion-body h4 {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: 6px solid #1e46b4;
    padding-left: 3.2vmin;
    margin-bottom: 3.2vmin;
  }

  .fp_aboutAreaWrap .accordion-body .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 4.3vmin;
  }

  .fp_aboutAreaWrap .accordion-body p.img {
    text-align: center;
    margin-top: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  /**** hokama ****/
  .fp_aboutAreaWrap .accordion-body .test-covers {
    max-width: 100%;
    aspect-ratio: 2.512 / 1;
    margin: 8vmin 0;
    background: #fce5e7;
    border-radius: 16px;
    padding: 2vmin 0;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers .test-covers_ttl {
    margin: 0 auto;
    color: #e25452;
    font-size: clamp(18px, calc(18px + (14 * ((100vw - 375px) / 393))), 34px);
    font-weight: 700;
    text-align: center;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    width: 90%;
    height: 70%;
    margin: 10px auto 0;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul li {
    position: relative;
    padding-left: 0.8em;
    color: #444444;
    font-size: clamp(18px, calc(18px + (14 * ((100vw - 375px) / 393))), 34px);
    font-weight: 500;
  }

  .fp_aboutAreaWrap .accordion-body .test-covers ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.7em;
    height: 0.7em;
    background-color: #e25452;
    border-radius: 50%;
  }

  .fp_aboutAreaWrap .accordion-body .sub_ttl {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    margin-bottom: 0px;
  }

  .fp_aboutAreaWrap .accordion-body .mark {
    margin: 6vmin 0;
  }

  .fp_aboutAreaWrap .accordion-body .ttl {
    font-size: clamp(16.12px,
        calc(16.12px + (16.12) * ((100vw - 375px) / 375)),
        32.25px);
    font-weight: 900;
    border-left: 6px solid #1e46b4;
    padding-left: 3.2vmin;
    margin-top: 0;
    margin-bottom: 3.2vmin;
  }

  .fp_aboutAreaWrap .accordion-body p.last {
    margin-bottom: 8vmin;
  }
}

/* --------------------------------------------------------------------
/* faqAreaWrap
-------------------------------------------------------------------- */

.faqAreaWrap {
  position: relative;
  padding-top: 30px;
  margin-bottom: 130px;
}

.faqAreaWrap-inner {
  max-width: 790px;
  padding: 0 20px;
  margin: 0 auto;
}

.faqAreaWrap::before {
  content: "";
  background: url(../img/faq_ph01.png) no-repeat;
  width: 100%;
  height: 69px;
  position: absolute;
  top: -65px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
}

.faqAreaWrap h3 {
  margin-bottom: 48px;
  text-align: center;
  font-size: clamp(39px, calc(39px + (21) * ((100vw - 375px) / 375)), 60px);
  font-weight: 900;
}

.faqAreaWrap h3 span {
  display: block;
  font-size: clamp(21px, calc(21px + (11) * ((100vw - 375px) / 375)), 32px);
  font-weight: 900;
}

.faqAreaWrap .faq-item {
  border-bottom: 1px solid #0162c7;
  padding-bottom: 32px;
  margin-bottom: 32px;
}

.faqAreaWrap .faq-question {
  width: 100%;
  text-align: left;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: clamp(20px, calc(20px + (10) * ((100vw - 375px) / 375)), 30px);
  color: #0e2b4b;
  font-weight: 700;
  padding: 0;
  background: #fff;
}

.faqAreaWrap .q-icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-right: 0.5em;
  flex-shrink: 0;
}

.faqAreaWrap .question-text {
  flex-grow: 1;
  line-height: 1.5;
}

.faqAreaWrap .toggle-icon {
  font-weight: bold;
  color: #005bac;
  transition: transform 0.3s;
  border: 1px solid #005bac;
  border-radius: 100rem;
  line-height: 1;
  padding: 0px 1px 3px;
}

.faqAreaWrap .faq-answer {
  display: none;
  margin-top: 32px;
}

.faqAreaWrap .a-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75em;
}

.faqAreaWrap .a-icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 0.25em;
}

.faqAreaWrap .a-text {
  flex-grow: 1;
  font-size: clamp(18px, calc(18px + (10) * ((100vw - 375px) / 375)), 28px);
}

.faqAreaWrap .a-text a {
  color: #0e2b4b;
  text-decoration: underline;
}

.faqAreaWrap .note {
  font-size: clamp(16px, calc(16px + (8) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  position: relative;
  text-indent: -15px;
  padding-left: 24px;
  margin-top: 24px;
}

.faqAreaWrap .note::before {
  content: "※";
  font-size: clamp(13px, calc(13px + (7) * ((100vw - 375px) / 375)), 24px);
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
}

/** PC **/
@media only screen and (min-width: 768px) {
  .faqAreaWrap .faq-question {
    font-size: 20px;
  }

  .faqAreaWrap h3 {
    font-size: 36px;
  }

  .faqAreaWrap h3 span {
    font-size: 22px;
  }

  .faqAreaWrap .q-icon {
    width: 42px;
    height: 42px;
    margin-right: 0.8em;
  }

  .faqAreaWrap .a-icon {
    width: 42px;
    height: 42px;
    margin-top: 0;
    margin-right: 0.4em;
  }

  .faqAreaWrap::before {
    background-image: url(../img/faq_ph01_pc.svg);
    background-position: center center;
    background-size: cover;
    width: 100%;
  }

  .faqAreaWrap .a-text {
    font-size: 16px;
  }

  .faqAreaWrap .note {
    font-size: 12px;
    text-indent: -8px;
    padding-left: 14px;
  }

  .faqAreaWrap .note::before {
    font-size: 12px;
  }

}

/** SP **/
@media only screen and (max-width: 767px) {
  .faqAreaWrap {
    position: relative;
    padding-top: 6vmin;
    margin-bottom: 15vmin;
  }

  .faqAreaWrap::before {
    background: url(../img/faq_ph01.png) no-repeat;
    top: -9vmin;
    background-size: 100%;
  }

  .faqAreaWrap h3 span {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
  }

  .faqAreaWrap h3 {
    margin-bottom: 6vmin;
    text-align: center;
    font-size: clamp(30px, calc(30px + (30) * ((100vw - 375px) / 375)), 60px);
    font-weight: 900;
  }

  .faqAreaWrap .faq-question {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
  }

  .faqAreaWrap .faq-item {
    border-bottom: 1px solid #0162c7;
    margin: 0 3.2vmin;
    padding-bottom: 4.3vmin;
    margin-bottom: 4.3vmin;
  }

  .faqAreaWrap .q-icon {
    width: 10vmin;
    height: 10vmin;
  }

  .faqAreaWrap .question-text {
    flex-grow: 1;
    line-height: 1.5;
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
  }

  .faqAreaWrap .a-icon {
    width: 10vmin;
    height: 10vmin;
  }

  .faqAreaWrap .a-text {
    flex-grow: 1;
    font-size: clamp(13.88px,
        calc(13.88px + (13.88) * ((100vw - 375px) / 375)),
        27.75px);
  }

  .faqAreaWrap .note {
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    position: relative;
    text-indent: -2.4vmin;
    padding-left: 6vmin;
    margin-top: 4vmin;
  }

  .faqAreaWrap .note::before {
    content: "※";
    font-size: clamp(12px, calc(12px + (12) * ((100vw - 375px) / 375)), 24px);
    font-weight: 400;
    display: inline-block;
    margin-right: 5px;
  }

  .faqAreaWrap .faq-answer {
    display: none;
    margin-top: 4.3vmin;
  }
}

.footerWrap {
  padding-bottom: 180px;
}

.footer_copy {
  background: #0e2b4b;
  color: #fff;
  text-align: center;
  font-size: clamp(13px, calc(13px + (7) * ((100vw - 375px) / 375)), 20px);
  padding: 12px 0;
}

.ctaBtn {
  position: fixed;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1000;
  max-width: 750px;
  display: none;
  /* アニメーション用 */
  transition: transform 0.4s, opacity 0.4s;
  transform: translateY(80px);
  opacity: 0;
  text-align: center;
}

.ctaBtn.is-visible {
  display: block;
  transform: translateY(0);
  opacity: 1;
}

.ctaBtn-float {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .7);
}

/** PC **/
@media only screen and (min-width: 768px) {
  .ctaBtn {
    max-width: 670px;
  }

  .footer_copy {
    font-size: 16px;
  }

  .footerWrap {
    padding-bottom: 110px;
  }
}

/** SP **/
@media only screen and (max-width: 767px) {
  .footerWrap {
    padding-bottom: 25vmin;
  }

  .footer_copy {
    background: #0e2b4b;
    color: #fff;
    text-align: center;
    font-size: clamp(9.38px,
        calc(9.38px + (9.38) * ((100vw - 375px) / 375)),
        18.75px);
    padding: 2vmin 0;
  }
}


/* ＋／−アイコンをヘッダー画像の上に重ねる（FAQと同じデザイン） */
.reason02AreaWrap .accordion-header,
.reason03AreaWrap .accordion-header,
.priceAreaWrap .accordion-header,
.scheduleAreaWrap .accordion-header,
.fp_aboutAreaWrap .accordion-header {
  position: relative;
  display: block;
  line-height: 0;
}

.reason02AreaWrap .accordion-header::after,
.reason03AreaWrap .accordion-header::after,
.priceAreaWrap .accordion-header::after,
.scheduleAreaWrap .accordion-header::after,
.fp_aboutAreaWrap .accordion-header::after {
  content: "＋";
  position: absolute;
  top: 45%;
  right: 26px;
  transform: translateY(-50%);
  font-weight: bold;
  color: #005bac;
  transition: transform 0.3s;
  border: 1px solid #005bac;
  border-radius: 100rem;
  line-height: 1;
  padding: 0px 1px 3px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}

/* 開いたら「−」に切り替え */
.reason02AreaWrap .accordion-header.active::after,
.reason03AreaWrap .accordion-header.active::after,
.priceAreaWrap .accordion-header.active::after,
.scheduleAreaWrap .accordion-header.active::after,
.fp_aboutAreaWrap .accordion-header.active::after {
  content: "－";
}


@media (max-width: 767px) {

  .reason02AreaWrap .accordion-header::after,
  .reason03AreaWrap .accordion-header::after,
  .priceAreaWrap .accordion-header::after,
  .scheduleAreaWrap .accordion-header::after,
  .fp_aboutAreaWrap .accordion-header::after {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
  }
}

@media only screen and (min-width: 768px) {

  .reason02AreaWrap .accordion-header::after,
  .reason03AreaWrap .accordion-header::after,
  .priceAreaWrap .accordion-header::after,
  .scheduleAreaWrap .accordion-header::after,
  .fp_aboutAreaWrap .accordion-header::after {
    font-size: 20px;
    right: 42px;
  }
}



/**** 20260128 add ****/

.reason04AreaWrap::after {
  content: none;
}
.reason04-base-outer {
  width: 90%;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .reason04AreaWrap-inner {
    padding: 20px 20px 43px;
  }
  .reason04-base-outer {
    max-width: 790px;
    padding: 0 20px;
    margin: 0 auto 59px;
  }
}
.reason04AreaWrap h3 {
  margin: 0 -12px 4px;
}
.reason04Area-lead {
  margin-bottom: 27px;
  text-align: center;
}
.reason04Area-lead-txt {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0 15px;
  font-size: 26px;
  line-height: calc(28/26);
  font-weight: 700;
  color: #0E2B4B;
}
.reason04Area-lead-txt::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 8px;
  height: 33px;
  background-color: #216CC8;
}
.reason04-base-box .img {
  text-align: center;
  margin-bottom: 24px;
}

.reason04-base-box .txt .red {
  color: #e50012;
  font-weight: 900;
}

@media only screen and (max-width: 767px) {
  .reason04AreaWrap h3 {
    margin: 0 -12px 14px;
  }
  .reason04-base-box .txt {
    font-size: clamp(15px, calc(15px + (15) * ((100vw - 375px) / 375)), 30px);
    margin-bottom: 3.2vmin;
  }
  .reason04Area-lead {
    text-align: left;
  }
  .reason04Area-lead-txt {
    padding: 0 20px;
    text-align: left;
  }
  .reason04Area-lead-txt::before {
    top: 3px;
    height: 100%;
  }
}

@media only screen and (min-width: 768px) {
  .reason04-base-box {
    display: flex;
    gap: 32px;
  }

  .reason04-base-box img {
    max-width: 349px;
  }

  .reason04-base-box .txt-area {
    padding-top: 10px;
  }

  .reason04-base-box .txt {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .reason04-base-box .txt-area .txt img {
    padding-bottom: 30px;
    width: 100%;
  }
}
.txt-area .bold {
  font-weight: 900;
}
.white {
  color: #fff;
}
.white .bold {
  color: #fff;
  font-weight: 900;
}

.reason04Area-lead-txt.white::before {
  background-color: #fff;
}

.reason04Area-button-box {
  display: flex;
  justify-content: center;
}
.reason04Area-button {
  display: inline-block;
  width: 63%;
}

@media only screen and (max-width: 767px) {
  .qaAreaWrap {
    padding-top: 11.2vmin;
    padding-bottom: 11.2vmin;
  }
  .qaAreaWrap .reason04-base-box .txt {
    margin-bottom: 7.2vmin;
  }
}
@media only screen and (min-width: 768px) {
  .reason04Area-button-box {
    margin-top: -20px;
  }
  .reason04Area-button {
    max-width: 366px;
    width: 80%;
  }
  .qaAreaWrap {
    padding-top: 57px;
  }
}

.egiftWrap {
  padding: 53px 0;
  background-color: #dfeef8;
}
.egift-box {
  /*display: flex;
  justify-content: flex-start;*/
  margin-bottom: 40px;
  gap: 10px;
}
.egift-box .img {
  flex: 0 0 22.3%;
}
.egift-box .txt-area {
  padding-top: 3px;
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .egift-box .img {
    width: 50%;
    margin: 0 auto 30px;
  }
  .egift-box .txt-area {
    padding-top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .egiftWrap {
    padding: 57px 0 53px;
  }
  .egiftWrap .reason04-base-outer {
    margin-bottom: 0;
  }
  .egift-box {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
    padding-left: 67px;
    gap: 41px;
  }
  .egift-box .img {
    flex: 0 0 22.3%;
  }
  .egift-box .txt-area {
    padding-top: 13px;
    flex: 1;
  }
}