@charset "UTF-8";

@media screen and (min-width: 769px), print {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .container {
    overflow: hidden;
  }
  .row {
    /* max-width: 84rem; */
    max-width: 100rem;
    width: 100%;
    margin: 0 auto;
  }
  .inner {
    max-width: 80rem;
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) and (min-width: 769px) {
  .inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (min-width: 769px), print {
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .hvr-pop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(0.1rem) translateZ(0);
    -moz-transform: perspective(0.1rem) translateZ(0);
         transform: perspective(0.1rem) translateZ(0);
    -moz-box-shadow: 0 0 0.1rem rgba(0, 0, 0, 0);
         box-shadow: 0 0 0.1rem rgba(0, 0, 0, 0);
  }
  .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
    -webkit-animation-name: hvr-pop;
    -moz-animation-name: hvr-pop;
         animation-name: hvr-pop;
    -webkit-animation-duration: 0.3s;
    -moz-animation-duration: 0.3s;
         animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
         animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
         animation-iteration-count: 1;
  }
  .text_cm {
    font-size: 1.6rem;
    line-height: 1.875;
  }
  body {
    padding-top: 5rem;
  }
  .header {
    /* position: absolute; */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    height: 5rem;
    background-color: #fcf9f7;
  }
  .header h1 {
    font-size: 0;
    line-height: 0;
  }
  .header h1 a {
    display: block;
    width: 13.8rem;
  }
  .header .row {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    /* max-width: 120rem; */
    max-width: 100%;
    padding: 1.5rem 2rem 0;
  }
  .header .row .header_btn {
    display: block;
    margin-top: -0.6rem;
    height: 4rem;
    width: 22rem;
  }
  .header .row .header_btn img {
    width: 100%;
    height: auto;
  }
  .footer {
    text-align: center;
            padding-bottom: 150px;

  }
  .footer_top {
    background-color: #f5f5f5;
    padding: 4rem 0 1rem;
  }
  .footer_top p {
    font-size: 1.4rem;
  }
  .footer_top .copyrights {
    font-size: 1.2rem;
    margin-top: 4rem;
  }
  .footer .f_cta {
    position: fixed;       /* 画面に固定 */
    bottom: 0;            /* 下端に配置 */
    left: 0;              /* 左端に配置 */
    width: 100%;          /* 横幅を画面幅いっぱいに */
    z-index: 9999;        /* ほかの要素より手前に表示したい場合、値を大きめに設定 */
    text-align: center;   /* ボタン（画像）を中央寄せ */
    padding: 5rem 0;
    text-align: center;

    /* --- ここからアニメーションの初期状態を指定 --- */
    transform: translateY(100%);  /* 下に隠しておく */
    opacity: 0;                  /* 非表示（透明）状態にしておく */
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  /* ボタンが表示される時のクラス */
  .f_cta.show {
    transform: translateY(0);  /* 下からスライドイン */
    opacity: 1;               /* 表示（不透明）にする */
  }
  .footer .f_cta a {
    display: inline-block;
    width: 68.1rem;
  }
  .p_top .yo {
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
  }
  .p_top .mv {
    position: relative;
  }
  .p_top .mv .row {
    /* max-width: 120rem; */
    max-width: 100%;
  }
  .p_top .mv_cta {
    /* position: absolute;
    left: 50%;
    bottom: 3rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 70%; */
    width: 100%;
    text-align: center;
  }
  .p_top .mv_cta > a {
    display: inline-block;
    width: 68.1rem;
  }
  .p_top .mv_cta p {
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    margin-top: 1rem;
  }
  .p_top .mv_cta p small {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
  }
  .p_top .tl {
    font-size: 3.6rem;
    line-height: 1.38889;
    font-weight: bold;
    position: relative;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    text-align: center;
    padding-bottom: 1.5rem;
  }
  .p_top .tl::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    background-color: black;
    width: 10rem;
    height: 0.5rem;
  }
  .p_top .tl.st2 {
    margin-bottom: 10rem;
    font-size: 2rem;
  }
  .p_top .tl2 {
    font-size: 3rem;
    line-height: 1.4;
    font-weight: bold;
    position: relative;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    text-align: center;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    margin-bottom: 8.5rem;
  }
  .p_top .tl2::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 40%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: block;
    background-image: url(/img/promotion/promotion/tl2_bg1.png);
    background-repeat: no-repeat;
    -moz-background-size: 100% 100%;
         background-size: 100% 100%;
    width: 21.1rem;
    height: 21.9rem;
    z-index: -1;
  }
  .p_top .tl2.st2 {
    margin-bottom: 6rem;
  }
  .p_top .tl2.st2::after { 
    background-image: url(/img/promotion/tl2_bg2.png);
  }
  .p_top .tl2.st3 {
    margin-bottom: 6rem;
  }
  .p_top .tl2.st3::after {
    background-image: url(/img/promotion/tl2_bg3.png);
  }
  .p_top .tl2.st4::after {
    background-image: url(/img/promotion/tl2_bg4.png);
  }

  .p_top .sec01 {
    padding-bottom: 5rem;
  }
  .p_top .sec01_head {
    background: url(/img/promotion/sec01_head_bg.png) center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding-top: 7rem;
    min-height: 20rem;
    margin-bottom: 8.5rem;
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
  }
  .p_top .sec01_head::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 83.8rem;
    height: 25.7rem;
    background: url(/img/promotion/sec01_head_bg2.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
  }
  .p_top .sec01_bd .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3rem;
    margin-bottom: 7.5rem;
  }
  .p_top .sec01_bd .df .df_img {
    width: 28rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .sec01_bd .df_text {
    width: 100%;
    padding-right: 4rem;
  }
  .p_top .sec01_bd .videoWr {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    /* width: 69.6rem; */
    width: 76rem;
    margin: 0 auto;
  }
  .p_top .sec01_bd .videoWr iframe, .p_top .sec01_bd .videoWr video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p_top .sec02_head {
    padding: 4rem 0 10rem;
    background-color: #f5f5f5;
    text-align: center;
    clip-path: polygon(99.998% 78.275%, 50% 100%, 0.002% 78.275%, 0% 78.275%, 0% 78.275%, 0% 78.274%, 0% 78.274%, 0% 0.001%, 100% 0.001%, 100% 78.275%, 99.998% 78.275%);
    margin-bottom: 9rem;
  }
  .p_top .sec02_head .tl {
    margin-bottom: 1rem;
  }
  .p_top .sec02_head .pic img {
    /* width: 89rem; */
    width: 100rem;
  }
  .p_top .sec02_bd {
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    padding-bottom: 9rem;
  }
  .p_top .sec02_bd::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 27rem;
    height: 105.5rem;
    background: url(/img/promotion/sec02_bg1.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
    top: -20rem;
  }
  .p_top .sec02_bd::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 27rem;
    height: 105.5rem;
    background: url(/img/promotion/sec02_bg2.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
    top: -20rem;
  }
  .p_top .sec02_bd .list01 {
    display: -ms-grid;
    display: grid;
    gap: 2rem;
    -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 4.5rem;
  }
  .p_top .sec02_bd .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .sec02_bd .df_img {
    width: 37.8rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .sec02_bd .df_text {
    width: 100%;
    padding-right: 4rem;
  }
  .p_top .sec02_bd .df_text h4 {
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 1.63636;
    margin-bottom: 2.5rem;
  }
  .p_top .sec02_bd .df_text p + p {
    margin-top: 3rem;
  }
  .p_top .sec03 {
    background-image: url(/img/promotion/sec03_bg.png);
    background-repeat: no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: relative;
    padding: 5rem 0;
    z-index: 2;
  }
  .p_top .sec03.st2 {
    padding-top: 0.1rem;
    background-image: url(/img/promotion/sec03_bg2.png);
  }
  .p_top .sec03 .box {
    background-color: #fff;
    text-align: center;
    padding: 5rem 4rem;
    position: relative;
  }
  .p_top .sec03 .box::before {
    content: "";
    position: absolute;
    top: -5rem;
    left: -7rem;
    width: 27.4rem;
    height: 27.5rem;
    background: url(/img/promotion/first_50_pairs.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .sec03 .box h2 {
    margin-bottom: 3rem;
  }
  .p_top .sec03 .box h2 small {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
  }
  .p_top .sec03 .box h2 img {
    width: 18rem;
  }
  .p_top .sec03 .box h3 {
    font-weight: bold;
    font-size: 7.8rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    line-height: 1.3;
  }
  .p_top .sec03 .box h3 span {
    font-size: 6rem;
  }
  .p_top .sec03 .box h4 {
    background-color: #000;
    color: #fff;
    padding: 0.5rem;
    font-size: 2.6rem;
  }
  .p_top .sec03 .box .t_txt01 {
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-bottom: 1.5rem;
  }
  .p_top .sec03 .box .box_sm {
    -moz-border-radius: 2rem;
         border-radius: 2rem;
    background-color: #d1eedc;
    font-weight: bold;
    font-size: 2.8rem;
    letter-spacing: 0.04em;
    margin-top: 3.5rem;
    padding: 1rem;
  }
  .p_top .sec03 .box .box_sm small {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
  }
  .p_top .sec03 .box .list01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1rem 0 2rem;
  }
  .p_top .sec03 .box .list01 li {
    margin: 0 2rem;
    font-weight: bold;
  }
  .p_top .sec03 .box .list01 li .tx1 {
    font-size: 2.4rem;
  }
  .p_top .sec03 .box .list01 li .tx1 i {
    font-style: normal;
    line-height: 1;
    font-size: 5.7rem;
    color: #d72795;
  }
  .p_top .sec03 .box .list01 li .tx2 {
    font-size: 9.6rem;
    line-height: 1;
    color: #d72795;
    font-weight: bold;
  }
  .p_top .sec03 .sec03_tt {
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.4;
    text-align: center;
    margin: 4.5rem 0;
  }
  .p_top .sec03 .list02 {
    display: -ms-grid;
    display: grid;
    gap: 3rem;
    -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p_top .sec03 .list02 li {
    overflow: hidden;
    background-color: white;
    -moz-box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
    padding: 2rem;
  }
  .p_top .sec03 .list02 li h4 {
    margin: 0 -8.1rem 2rem;
  }
  .p_top .sec03 .list02 li figure {
    margin-right: 3rem;
    margin-left: -5rem;
  }
  .p_top .sec03 .list02 li h5 {
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 1rem;
  }
  .p_top .sec03 .list02 li h5 small {
    display: block;
    font-size: 2rem;
  }
  .p_top .sec03 .list02 li .txt_price {
    font-size: 2.2rem;
    line-height: 1.31818;
    text-align: center;
    margin-bottom: 1rem;
  }
  .p_top .sec03 .list02 li .txt_price span {
    font-weight: bold;
    font-size: 3rem;
    display: block;
  }
  .p_top .sec03 .list02 li .txt_price span small {
    font-size: 2.2rem;
  }
  .p_top .sec03 .list02 li .text_cm {
    margin-bottom: 1rem;
    min-height: 12rem;
  }
  .p_top .sec04 {
    padding: 5rem 0;
  }
  .p_top .sec04 .df {
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .sec04 .df.rv {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
       -moz-box-orient: horizontal;
       -moz-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p_top .sec04 .df.rv > figure {
    padding-right: 4rem;
  }
  .p_top .sec04 .df > figure {
    width: 50%;
    text-align: center;
    padding-left: 4rem;
  }
  .p_top .sec04 .df > figure img {
    display: inline-block;
  }
  .p_top .sec04 .df .df_txt {
    width: 50%;
  }
  .p_top .sec04 .df .df_txt dl dt {
    font-weight: bold;
    font-size: 2rem;
    line-height: 2.5;
    letter-spacing: 0.04em;
  }
  .p_top .sec04 .df .df_txt dl .accCt p {
    font-size: 1.4rem;
    line-height: 2;
  }
  .p_top .sec05 {
    background: url(/img/promotion/sec05_bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 5rem 0;
  }
  .p_top .sec05 .box {
    background-color: #fff;
    padding: 4rem;
  }
  .p_top .sec05 .box .note {
    font-size: 1.2rem;
    line-height: 1.66667;
    margin-top: 0.5rem;
  }
  .p_top .sec05 .box table {
    border-spacing: 0.2rem;
    width: 100%;
  }
  .p_top .sec05 .box table .bg {
    background-color: #97e4ce;
  }
  .p_top .sec05 .box table thead th {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 1rem;
    vertical-align: bottom;
  }
  .p_top .sec05 .box table thead .cus p {
    text-align: center;
  }
  .p_top .sec05 .box table thead .cus p img {
    width: 5.5rem;
  }
  .p_top .sec05 .box table thead .cus ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_top .sec05 .box table tbody th, .p_top .sec05 .box table tbody td {
    border: 1px solid #53b353;
    padding: 1.5rem;
    vertical-align: middle;
  }
  .p_top .sec05 .box table tbody th {
    font-weight: bold;
    font-size: 1.4rem;
    width: 12rem;
    padding: 0;
  }
  .p_top .sec05 .box table tbody td {
    font-size: 1.6rem;
    line-height: 1.875;
    width: 21rem;
  }
  .p_top .sec05 .box table tbody .nopd {
    padding: 0;
  }
  .p_top .sec05 .box table tbody .txt_pr {
    text-align: center;
    font-weight: bold;
  }
  .p_top .sec05 .box table tbody .txt_pr span {
    color: #d72795;
    font-weight: bold;
    font-size: 3rem;
    display: block;
    line-height: 1;
  }
  .p_top .sec05 .box table tbody .txt_pr + div {
    margin-top: 1.2rem;
  }
  .p_top .sec05 .box table tbody .vib {
    vertical-align: bottom;
  }
  .p_top .sec05 .box table tbody .vit {
    vertical-align: top;
  }
  .p_top .sec05 .box table tbody .tb_list li {
    position: relative;
    padding-left: 1.5rem;
    font-size: 1.2rem;
    line-height: 1.66667;
  }
  .p_top .sec05 .box table tbody .tb_list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  .p_top .sec06 {
    padding: 5rem 0;
  }
  .p_top .sec06 .tl2.st2 {
    margin-bottom: 8.5rem;
  }
  .p_top .sec06 .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .sec06 .df_txt {
    width: 50%;
  }
  .p_top .sec06 .df_txt p + p {
    margin-top: 3rem;
  }
  .p_top .sec06 .df_txt a.sec06_btn {
    font-weight: bold;
    font-size: 2.4rem;
    background-color: #97e4ce;
    -moz-box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
    width: 37.1rem;
    height: 6rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 3rem auto 0;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
  }
  .p_top .sec06 .df > figure {
    width: 50%;
    padding-right: 4rem;
  }
  .p_top .sec07 {
    background: #f5f5f5 url(/img/promotion/sec07_bg.png) center bottom no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    padding: 5rem 0;
  }
  .p_top .sec07 h4 {
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.04em;
    margin: 3.5rem 0;
  }
  .p_top .sec07 .tl2 {
    margin-bottom: 8.5rem;
  }
  .p_top .sec07 .list {
    display: -ms-grid;
    display: grid;
    padding: 0 2rem;
    gap: 4rem;
    -ms-grid-columns: (minmax(0, 1fr))[3];
        grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: center;
  }
  .p_top .sec07 .list li figure {
    overflow: hidden;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
    width: 24rem;
    height: 24rem;
    display: inline-block;
  }
  .p_top .sec07 .list li figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec07 .list li p {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1.08333;
  }
  .p_top .sec07 .list li p small {
    display: block;
    letter-spacing: 0.04em;
    font-size: 1.6rem;
    line-height: 1.625;
    min-height: 7.8rem;
  }
  .p_top .sec08 {
    background: url(/img/promotion/sec08_bg.png) center bottom no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 5rem 0;
  }
  .p_top .sec08 .tl2 {
    margin-bottom: 8.5rem;
  }
  .p_top .sec08 .box {
    -moz-border-radius: 1.5rem;
         border-radius: 1.5rem;
    background-color: rgba(255, 255, 255, 0.7);
    width: 66rem;
    max-width: 100%;
    margin: 0 auto 5rem;
    padding: 1rem;
    text-align: center;
  }
  .p_top .sec08 .list {
    display: -ms-grid;
    display: grid;
    gap: 2rem 1.5rem;
    -ms-grid-columns: (minmax(0, 1fr))[3];
        grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p_top .sec08 .list li {
    background-color: white;
    -moz-box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
    padding: 1rem;
  }
  .p_top .sec08 .list li .head {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.5rem;
  }
  .p_top .sec08 .list li .head p {
    font-weight: bold;
    padding-left: 2rem;
    font-size: 1.4rem;
    line-height: 1.42857;
  }
  .p_top .sec08 .list li .head figure {
    width: 5rem;
    height: 5rem;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec08 .list li .head figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec08 .list li p {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .p_top .sec09 {
    padding: 5rem 0;
    position: relative;
  }
  .p_top .sec09::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 15.8rem;
    background: url(/img/promotion/sec09_bg.png) center/100% 100% no-repeat;
    display: block;
    -moz-background-size: cover;
         background-size: cover;
  }
  .p_top .sec09 .step {
    margin-top: 10rem;
    display: -ms-grid;
    display: grid;
    gap: 6rem;
    -ms-grid-columns: (minmax(0, 1fr))[3];
        grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p_top .sec09 .step li:not(:last-child) .circle {
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    z-index: 2;
  }
  .p_top .sec09 .step li:not(:last-child) .circle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -5.9rem;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 5.9rem;
    height: 5rem;
    background: url(/img/promotion/ar.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
  }
  .p_top .sec09 .step li > p {
    font-size: 1.6rem;
    line-height: 1.625;
    font-weight: bold;
    text-align: center;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    margin-top: 0.5rem;
  }
  .p_top .sec09 .step li .circle {
    background-color: #fafafa;
    border: 0.3rem solid #01d9bb;
    text-align: center;
    -moz-border-radius: 50%;
         border-radius: 50%;
    width: 24rem;
    height: 24rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p_top .sec09 .step li .circle span {
    display: block;
    font-size: 2rem;
    color: #05c9ab;
  }
  .p_top .sec09 .step li .circle figure {
    width: 12.9rem;
    display: inline-block;
    margin: 0.5rem 0;
  }
  .p_top .sec09 .step li .circle p {
    font-size: 1.6rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.375;
    min-height: 4.4rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .p_top .sec09 h3 {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 2rem;
    letter-spacing: 0.04em;
    font-weight: bold;
    margin-top: 5rem;
  }
  .p_top .sec09 h3 + figure {
    /* width: 50rem; */
    width: 76rem;
    margin: 0 auto;
    max-width: 100%;
  }
  .p_top .faq {
    padding: 5rem 0;
    background: #f5f5f5;
  }
  .p_top .faq .row {
    max-width: 76rem;
  }
  .p_top .faq_list {
    margin-top: 5rem;
  }
  .p_top .faq_list dl {
    border-style: solid;
    border-width: 0.2rem;
    border-color: #19d9a2;
    -moz-border-radius: 1.5rem;
         border-radius: 1.5rem;
    background-color: white;
    padding: 0 1.8rem;
  }
  .p_top .faq_list dl + dl {
    margin-top: 1rem;
  }
  .p_top .faq_list dl dt {
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    padding: 1.5rem 4rem 1.5rem 2.5rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    position: relative;
    cursor: pointer;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p_top .faq_list dl dt::before {
    content: "Q.";
    position: absolute;
    top: 1.5rem;
    left: 0;
  }
  .p_top .faq_list dl dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 2.2rem;
    height: 1.3rem;
    background: url(/img/promotion/ar3.png) center/100% 100% no-repeat;
    display: block;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p_top .faq_list dl dt:hover {
    opacity: 0.7;
  }
  .p_top .faq_list dl dt.is_active::after {
    -webkit-transform: translateY(-50%) scaleY(-1);
       -moz-transform: translateY(-50%) scaleY(-1);
        -ms-transform: translateY(-50%) scaleY(-1);
            transform: translateY(-50%) scaleY(-1);
  }
  .p_top .faq_list dl dd {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    -moz-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
  }
  .p_top .faq_list dl dd .accCt {
    border-top: 1px solid #bababa;
    padding: 1.5rem 0;
  }
  .p_top .sec10 {
    padding: 6.5rem 0 5rem;
  }
  .p_top .sec10 dl {
    border-style: solid;
    border-width: 0.1rem;
    border-color: black;
    -moz-border-radius: 2rem;
         border-radius: 2rem;
    background-color: white;
    position: relative;
  }
  .p_top .sec10 dl dt {
    position: absolute;
    left: 50%;
    top: -1.8rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    font-weight: bold;
    font-size: 2.4rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    padding: 0 1rem;
    background-color: #fff;
    z-index: 3;
  }
  .p_top .sec10 dl dd {
    padding: 4rem;
  }
  .p_top .sec10 dl dd ul li {
    position: relative;
    padding-left: 1.5rem;
    font-size: 1.6rem;
    line-height: 2;
  }
  .p_top .sec10 dl dd ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  .boxoverlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1900;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, 0.4);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50%;
    width: 84rem;
    height: auto;
    z-index: 2000;
    visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
       -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
  }
  .modal.open {
    visibility: visible;
  }
  .modal.open .m_in {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  .modal .wrap_modal .js_sc {
    max-height: 70vh;
  }
  .modal .wrap_modal h2 {
    margin-bottom: 4rem;
  }
  .modal .wrap_modal h3 {
    margin: 3.5rem 0 1.5rem;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
  }
  .modal .wrap_modal figure {
    margin-bottom: 4rem;
  }
  .modal .wrap_modal .text_cm span {
    color: #d72795;
  }
  .modal .wrap_modal .box {
    -moz-border-radius: 1rem;
         border-radius: 1rem;
    background-color: #d1eedc;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1rem;
    padding: 1rem;
  }
  .modal .wrap_modal .box.st2 {
    text-align: left;
    font-weight: 500;
    margin-bottom: 1.5rem;
  }
  .modal .wrap_modal .box.st2 p {
    font-weight: 500;
  }
  .modal .wrap_modal .box.st2 p strong {
    font-weight: bold;
  }
  .modal .m_in {
    background: #fff;
    -webkit-transform: scale(2);
       -moz-transform: scale(2);
        -ms-transform: scale(2);
            transform: scale(2);
    opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding: 4rem;
    padding-bottom: 8rem;
    padding-right: 0;
    background: #fff;
  }
  .modal .m_area {
    position: relative;
  }
  .modal .btn_close {
    position: absolute;
    top: -7rem;
    right: 0;
    cursor: pointer;
    font-size: 1.6rem;
    display: inline-block;
    padding-right: 2.2rem;
    color: #fff;
  }
  .modal .btn_close::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.7rem;
    height: 1.6rem;
    background: url(/img/promotion/ic_close.png) center/contain no-repeat;
    display: block;
  }
  .modal .btn_wr {
    position: absolute;
    bottom: -7rem;
    left: 0rem;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 4rem;
  }
  .modal .btn_wr a {
    font-size: 1.6rem;
    position: relative;
    display: inline-block;
    padding-right: 2.2rem;
  }
  .modal .btn_wr a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.7rem;
    height: 1.6rem;
    background: url(/img/promotion/ic_close2.png) center/contain no-repeat;
    display: block;
  }
  .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 1rem;
    background-color: #bababa !important;
  }
  .mCSB_scrollTools .mCSB_draggerRail {
    background-color: transparent !important;
  }
  .mCSB_inside > .mCSB_container {
    margin-right: 4rem;
  }
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
  }
  .show_pc {
    display: none !important;
  }
  .row {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .text_cm {
    font-size: 3rem;
    line-height: 1.73333;
  }
  .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    height: 6rem;
  }
  .header h1 {
    font-size: 0;
    line-height: 0;
  }
  .header h1 a {
    display: block;
    width: 21rem;
  }
  .header .row {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2rem;
    padding-top: 3.8rem;
  }
  .footer {
    text-align: center;
            padding-bottom: 100px;
  }
  .footer_top {
    background-color: #f5f5f5;
    padding: 6rem 4rem 3rem;
  }
  .footer_top p {
    font-size: 3rem;
    line-height: 2.4;
    text-align: left;
  }
  .footer_top .copyrights {
    font-size: 1.6rem;
    margin-top: 6rem;
    text-align: center;
  }
  .footer .f_cta {
    /*padding: 17rem 1rem 7rem;*/
        padding: 10px;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        text-align: center;
    /* --- ここからアニメーションの初期状態を指定 --- */
    transform: translateY(100%);  /* 下に隠しておく */
    opacity: 0;                  /* 非表示（透明）状態にしておく */
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  /* ボタンが表示される時のクラス */
  .f_cta.show {
    transform: translateY(0);  /* 下からスライドイン */
    opacity: 1;               /* 表示（不透明）にする */
  }
  html {
    font-size: 1.33333vw!important;
  }
  .p_top .yo {
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
  }
  .p_top .mv {
    position: relative;
    padding-bottom: 21rem;
  }
  .p_top .mv .row {
    padding: 0;
  }
  .p_top .mv_cta {
    position: absolute;
    left: 50%;
    bottom: 0rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 71rem;
    text-align: center;
    background-color: #fff;
    padding: 4rem 1.5rem 7rem;
  }
  .p_top .mv_cta p {
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    font-size: 3.6rem;
    line-height: 1.38889;
    letter-spacing: 0.04em;
    margin-top: 2rem;
  }
  .p_top .mv_cta p small {
    display: block;
    font-size: 2rem;
    letter-spacing: 0.04em;
  }
  .p_top .tl {
    font-size: 5.4rem;
    line-height: 1.38889;
    font-weight: bold;
    position: relative;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    text-align: center;
    padding-bottom: 3rem;
  }
  .p_top .tl::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    background-color: black;
    width: 15rem;
    height: 0.8rem;
  }
  .p_top .tl.st2 {
    margin-bottom: 11rem;
    font-size: 3rem;
  }
  .p_top .tl2 {
    font-size: 4.3rem;
    line-height: 1.4;
    font-weight: bold;
    position: relative;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    text-align: center;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    margin-bottom: 12rem;
  }
  .p_top .tl2::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 28%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: block;
    background-image: url(/img/promotion/tl2_bg1.png);
    background-repeat: no-repeat;
    -moz-background-size: 100% 100%;
         background-size: 100% 100%;
    width: 31.65rem;
    height: 32.85rem;
    z-index: -1;
  }
  .p_top .tl2.st2 {
    margin-bottom: 14rem;
  }
  .p_top .tl2.st2::after {
    background-image: url(/img/promotion/tl2_bg2.png);
  }
  .p_top .tl2.st3 {
    margin-bottom: 14rem;
  }
  .p_top .tl2.st3::after {
    background-image: url(/img/promotion/tl2_bg3.png);
  }
  .p_top .tl2.st4::after {
    background-image: url(/img/promotion/tl2_bg4.png);
  }
  .p_top .sec01 {
    padding-bottom: 7.5rem;
  }
  .p_top .sec01_head {
    background: url(/img/promotion/sec01_head_bg_sp.png) center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding-top: 6.5rem;
    min-height: 32.1rem;
    margin-bottom: 13rem;
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
  }
  .p_top .sec01_head::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 73.6rem;
    height: 25.7rem;
    background: url(/img/promotion/sec01_head_bg2_sp.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
  }
  .p_top .sec01_bd .df {
    margin-top: 3rem;
  }
  .p_top .sec01_bd .df .df_img {
    width: 46.1rem;
    margin: 5rem auto 0;
  }
  .p_top .sec01_bd .df_text {
    width: 100%;
  }
  .p_top .sec01_bd .df_text p + p {
    margin-top: 4rem;
  }
  .p_top .sec01_bd .blk02 {
    margin-top: 13.5rem;
  }
  .p_top .sec01_bd .videoWr {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 0 auto;
    margin-top: 13rem;
  }
  .p_top .sec01_bd .videoWr iframe, .p_top .sec01_bd .videoWr video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p_top .sec02_head {
    padding: 0rem 0 0rem;
    text-align: center;
    margin-bottom: 14rem;
    position: relative;
  }
  .p_top .sec02_head h2 {
    position: absolute;
    left: 0;
    top: 6.5rem;
    width: 100%;
    z-index: 3;
  }
  .p_top .sec02_bd {
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    padding-bottom: 9rem;
  }
  .p_top .sec02_bd .list01 {
    display: -ms-grid;
    display: grid;
    gap: 2rem;
    -ms-grid-columns: (minmax(0, 1fr))[1];
        grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 6.5rem;
  }
  .p_top .sec02_bd .df_img {
    width: 56.1rem;
    margin: 6.5rem auto 0;
  }
  .p_top .sec02_bd .df_text {
    width: 100%;
  }
  .p_top .sec02_bd .df_text h4 {
    font-weight: bold;
    font-size: 4rem;
    line-height: 1.5;
    margin-bottom: 3rem;
  }
  .p_top .sec02_bd .df_text p + p {
    margin-top: 3rem;
  }
  .p_top .sec03 {
    background-image: url(/img/promotion/sec03_bg_sp.png);
    background-repeat: no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: relative;
    padding: 7.5rem 0;
    z-index: 2;
  }
  .p_top .sec03.st2 {
    padding-top: 0.1rem;
    background-image: url(/img/promotion/sec03_bg2_sp.png);
  }
  .p_top .sec03 .box {
    background-color: #fff;
    text-align: center;
    padding: 9.5rem 2rem;
    position: relative;
  }
  .p_top .sec03 .box::before {
    content: "";
    position: absolute;
    top: -7.5rem;
    left: -2rem;
    width: 30.9rem;
    height: 41.2rem;
    background: url(/img/promotion/first_50_pairs_sp.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .sec03 .box h2 {
    margin-bottom: 9rem;
  }
  .p_top .sec03 .box h2 small {
    display: block;
    font-size: 2.4rem;
    letter-spacing: 0.04em;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
  }
  .p_top .sec03 .box h2 img {
    width: 27rem;
  }
  .p_top .sec03 .box h3 {
    font-weight: bold;
    font-size: 13rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    line-height: 1.1;
  }
  .p_top .sec03 .box h3 span {
    font-size: 10rem;
  }
  .p_top .sec03 .box h4 {
    background-color: #000;
    color: #fff;
    padding: 1rem;
    font-size: 4.2rem;
    line-height: 1.3;
    margin: 2rem 0;
  }
  .p_top .sec03 .box .t_txt01 {
    font-weight: bold;
    font-size: 4rem;
    line-height: 1.42857;
    letter-spacing: 0.02em;
    margin-bottom: 1.5rem;
    text-align: left;
  }
  .p_top .sec03 .box .box_sm {
    -moz-border-radius: 2rem;
         border-radius: 2rem;
    background-color: #d1eedc;
    font-weight: bold;
    font-size: 4rem;
    line-height: 1.52381;
    letter-spacing: 0.04em;
    margin-top: 6rem;
    padding: 2rem;
    text-align: right;
  }
  .p_top .sec03 .box .box_sm small {
    display: block;
    font-size: 3rem;
    line-height: 1.53333;
    letter-spacing: 0.04em;
    text-align: left;
    margin-top: 1rem;
  }
  .p_top .sec03 .box .list01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1rem 0 2rem;
  }
  .p_top .sec03 .box .list01 li {
    margin: 0 1rem;
    font-weight: bold;
  }
  .p_top .sec03 .box .list01 li .tx1 {
    font-size: 3rem;
    margin-bottom: 1.33333vw;
  }
  .p_top .sec03 .box .list01 li .tx1 i {
    font-style: normal;
    line-height: 1;
    font-size: 7rem;
    color: #d72795;
  }
  .p_top .sec03 .box .list01 li .tx2 {
    font-size: 13.2rem;
    line-height: 1;
    color: #d72795;
    font-weight: bold;
  }
  .p_top .sec03 .sec03_tt {
    font-weight: bold;
    font-size: 4.5rem;
    line-height: 1.4;
    text-align: center;
    margin: 7rem 0;
  }
  .p_top .sec03 .list02 {
    margin-left: 0;
    line-height: 1;
    display: -ms-grid;
    display: grid;
    gap: 5rem;
    -ms-grid-columns: (minmax(0, 1fr))[1];
  grid-template-columns: repeat(1, minmax(0, 1fr));
  
  }
  .p_top .sec03 .list02 li {
    overflow: hidden;
    background-color: white;
    -moz-box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
    padding: 3rem 2rem 4rem;
  }
  .p_top .sec03 .list02 li h4 {
    margin: 0 -26rem 2rem;
  }
  .p_top .sec03 .list02 li figure {
    margin-right: 10rem;
    margin-left: -5rem;
  }
  .p_top .sec03 .list02 li h5 {
    font-weight: bold;
    font-size: 4.5rem;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 1rem;
  }
  .p_top .sec03 .list02 li h5 small {
    display: block;
    font-size: 3rem;
  }
  .p_top .sec03 .list02 li .txt_price {
    font-size: 3.3rem;
    line-height: 1.31818;
    text-align: center;
    margin-bottom: 1rem;
  }
  .p_top .sec03 .list02 li .txt_price span {
    font-weight: bold;
    font-size: 4.5rem;
  }
  .p_top .sec03 .list02 li .txt_price span small {
    font-size: 3.3rem;
  }
  .p_top .sec03 .list02 li .text_cm {
    margin-bottom: 3rem;
    min-height: 12rem;
  }
  .p_top .sec04 {
    padding: 7rem 0;
  }
  .p_top .sec04 .tl2.st4::after {
    top: 31%;
  }
  .p_top .sec04 .df > figure {
    width: 56.1rem;
    margin: 0 auto 7rem;
    text-align: center;
  }
  .p_top .sec04 .df > figure.mt {
    margin-top: 7rem;
    margin-bottom: 0;
  }
  .p_top .sec04 .df > figure img {
    display: inline-block;
  }
  .p_top .sec04 .df .df_txt dl {
    border-bottom: 2px solid #bababa;
    margin-bottom: 5.33333vw;
  }
  .p_top .sec04 .df .df_txt dl dt {
    font-weight: bold;
    font-size: 4.2rem;
    letter-spacing: 0.04em;
    padding: 2.5rem 0;
    position: relative;
    padding-right: 7rem;
  }
  .p_top .sec04 .df .df_txt dl dt i {
    position: absolute;
    width: 3rem;
    height: 3rem;
    right: 2.4rem;
    top: 50%;
    margin-top: -1.5rem;
    display: block;
  }
  .p_top .sec04 .df .df_txt dl dt i:before, .p_top .sec04 .df .df_txt dl dt i:after {
    content: "";
    position: absolute;
    background-color: #000;
    -webkit-transition: -webkit-transform 0.25s ease-out;
    transition: -webkit-transform 0.25s ease-out;
    -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
    transition: transform 0.25s ease-out;
    transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
  }
  .p_top .sec04 .df .df_txt dl dt i:before {
    top: 0;
    left: 50%;
    width: 0.4rem;
    height: 100%;
    margin-left: -0.2rem;
  }
  .p_top .sec04 .df .df_txt dl dt i:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.4rem;
    margin-top: -0.2rem;
  }
  .p_top .sec04 .df .df_txt dl dt.is_active i:before {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .p_top .sec04 .df .df_txt dl dd {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    -moz-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
  }
  .p_top .sec04 .df .df_txt dl .accCt {
    padding-bottom: 2.66667vw;
  }
  .p_top .sec04 .df .df_txt dl .accCt p {
    font-size: 3rem;
    line-height: 1.73333;
  }
  .p_top .sec05 {
    background: url(/img/promotion/sec05_bg_sp.png) center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 7rem 0;
  }
  .p_top .sec05 .tl {
    margin-bottom: 7rem;
  }
  .p_top .sec05 .tl2::after {
    top: 45%;
  }
  .p_top .sec05 .box {
    background-color: #fff;
    padding: 7rem 2rem;
    margin: 0 -2rem;
  }
  .p_top .sec05 .box .note {
    font-size: 2rem;
    line-height: 1.66667;
    margin-top: 4.5rem;
  }
  .p_top .sec05 .box .tb_sp {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    margin-right: -2rem;
    padding-bottom: 0.1rem;
  }
  .p_top .sec05 .box table {
    width: 104rem;
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .p_top .sec05 .box table {
    border-spacing: 0.2rem;
  }
  .p_top .sec05 .box table .bg {
    background-color: #97e4ce;
  }
  .p_top .sec05 .box table thead th {
    font-size: 2.4rem;
    font-weight: bold;
    padding: 1.5rem;
    vertical-align: bottom;
    text-align: center;
  }
  .p_top .sec05 .box table thead .cus p {
    text-align: center;
  }
  .p_top .sec05 .box table thead .cus p img {
    width: 8.3rem;
  }
  .p_top .sec05 .box table thead .cus ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_top .sec05 .box table tbody th, .p_top .sec05 .box table tbody td {
    border: 1px solid #53b353;
    padding: 1.5rem;
    vertical-align: middle;
  }
  .p_top .sec05 .box table tbody th {
    font-weight: bold;
    font-size: 2.1rem;
    width: 6rem;
    padding: 1rem;
    line-height: 1.1;
  }
  .p_top .sec05 .box table tbody td {
    font-size: 1.6rem;
    line-height: 1.875;
    width: 32rem;
  }
  .p_top .sec05 .box table tbody .nopd {
    padding: 0;
  }
  .p_top .sec05 .box table tbody .txt_pr {
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
  }
  .p_top .sec05 .box table tbody .txt_pr span {
    color: #d72795;
    font-weight: bold;
    font-size: 4.5rem;
    display: block;
    line-height: 1;
  }
  .p_top .sec05 .box table tbody .txt_pr + div {
    margin-top: 1.2rem;
  }
  .p_top .sec05 .box table tbody .vib {
    vertical-align: bottom;
  }
  .p_top .sec05 .box table tbody .vit {
    vertical-align: top;
  }
  .p_top .sec05 .box table tbody .tb_list li {
    position: relative;
    padding-left: 2.5rem;
    font-size: 2.2rem;
    line-height: 1.63636;
  }
  .p_top .sec05 .box table tbody .tb_list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  .p_top .sec06 {
    padding: 7rem 0;
  }
  .p_top .sec06 .df_txt p + p {
    margin-top: 3rem;
  }
  .p_top .sec06 .df_txt a.sec06_btn {
    font-weight: bold;
    font-size: 3.6rem;
    background-color: #97e4ce;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 7rem auto 0;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    -moz-box-shadow: 0rem 0.5rem 1rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.5rem 1rem 0rem rgba(0, 0, 0, 0.25);
    width: 67.1rem;
    height: 12rem;
  }
  .p_top .sec06 .df > figure {
    margin-bottom: 7rem;
  }
  .p_top .sec07 {
    background: #f5f5f5 url(/img/promotion/sec07_bg_sp.png) center bottom no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 7rem 0;
  }
  .p_top .sec07 .tl2::after {
    top: 35%;
  }
  .p_top .sec07 h4 {
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    letter-spacing: 0.04em;
    margin: 7rem 0;
  }
  .p_top .sec07 .tl2 {
    margin-bottom: 8.5rem;
  }
  .p_top .sec07 .list {
    display: -ms-grid;
    display: grid;
    gap: 4rem;
    -ms-grid-columns: (minmax(0, 1fr))[1];
        grid-template-columns: repeat(1, minmax(0, 1fr));
    text-align: center;
  }
  .p_top .sec07 .list li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .sec07 .list li figure {
    overflow: hidden;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
    width: 30rem;
    height: 30rem;
    display: inline-block;
  }
  .p_top .sec07 .list li figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec07 .list li p {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.08333;
    padding-left: 5rem;
    text-align: left;
  }
  .p_top .sec07 .list li p small {
    display: block;
    font-size: 2.4rem;
    line-height: 1.625;
    min-height: 11.7rem;
  }
  .p_top .sec08 {
    background: url(/img/promotion/sec08_bg_sp.png) center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 7rem 0;
  }
  .p_top .sec08 .box {
    -moz-border-radius: 1.5rem;
         border-radius: 1.5rem;
    background-color: rgba(255, 255, 255, 0.7);
    margin: 0 auto 7rem;
    padding: 2rem;
  }
  .p_top .sec08 .list {
    display: -ms-grid;
    display: grid;
    gap: 3rem;
    -ms-grid-columns: (minmax(0, 1fr))[1];
        grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .p_top .sec08 .list li {
    background-color: white;
    -moz-box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
         box-shadow: 0rem 0.3rem 0.7rem 0rem rgba(0, 0, 0, 0.25);
    padding: 2rem;
  }
  .p_top .sec08 .list li .head {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2.5rem;
  }
  .p_top .sec08 .list li .head p {
    font-weight: bold;
    padding-left: 4rem;
    font-size: 2.8rem;
    line-height: 1.42857;
  }
  .p_top .sec08 .list li .head figure {
    width: 10rem;
    height: 10rem;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec08 .list li .head figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -moz-border-radius: 999.9rem;
         border-radius: 999.9rem;
    overflow: hidden;
  }
  .p_top .sec08 .list li p {
    font-size: 3rem;
    line-height: 1.73333;
  }
  .p_top .sec09 {
    padding: 5rem 0 7rem;
    position: relative;
  }
  .p_top .sec09::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 19rem;
    background: url(/img/promotion/sec09_bg_sp.png) center/100% 100% no-repeat;
    display: block;
    -moz-background-size: cover;
         background-size: cover;
  }
  .p_top .sec09 .step {
    margin-top: 10rem;
    display: -ms-grid;
    display: grid;
    gap: 9rem;
    -ms-grid-columns: (minmax(0, 1fr))[1];
        grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .p_top .sec09 .step li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .sec09 .step li:not(:last-child) .circle {
    position: relative;
    -webkit-transform: rotateZ(0);
       -moz-transform: rotateZ(0);
        -ms-transform: rotate(0);
            transform: rotateZ(0);
    z-index: 2;
  }
  .p_top .sec09 .step li:not(:last-child) .circle::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8.42857rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 7.14286rem;
    height: 8.42857rem;
    background: url(/img/promotion/ar_t2.png) center/100% 100% no-repeat;
    display: block;
    z-index: -1;
  }
  .p_top .sec09 .step li > p {
    font-size: 3rem;
    line-height: 1.73333;
    font-weight: bold;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    padding-left: 2.5rem;
  }
  .p_top .sec09 .step li .circle {
    background-color: #fafafa;
    border: 0.3rem solid #01d9bb;
    text-align: center;
    -moz-border-radius: 50%;
         border-radius: 50%;
    width: 33rem;
    height: 33rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .sec09 .step li .circle span {
    display: block;
    font-size: 2.7rem;
    color: #05c9ab;
  }
  .p_top .sec09 .step li .circle figure {
    width: 18rem;
    display: inline-block;
    margin: 1rem 0;
  }
  .p_top .sec09 .step li .circle p {
    font-size: 2.2rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.375;
  }
  .p_top .sec09 h3 {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 3rem;
    letter-spacing: 0.04em;
    font-weight: bold;
    margin-top: 7rem;
  }
  .p_top .faq {
    padding: 7rem 0;
    background: #f5f5f5;
  }
  .p_top .faq_list {
    margin-top: 7rem;
  }
  .p_top .faq_list dl {
    border-style: solid;
    border-width: 0.2rem;
    border-color: #19d9a2;
    -moz-border-radius: 1.5rem;
         border-radius: 1.5rem;
    background-color: white;
    padding: 0 2rem;
  }
  .p_top .faq_list dl + dl {
    margin-top: 3rem;
  }
  .p_top .faq_list dl dt {
    font-size: 3rem;
    line-height: 1.2;
    font-weight: bold;
    position: relative;
    padding: 2rem 4rem 2rem 4rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    position: relative;
    cursor: pointer;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p_top .faq_list dl dt::before {
    content: "Q.";
    position: absolute;
    top: 2rem;
    left: 0;
  }
  .p_top .faq_list dl dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3.19rem;
    height: 1.885rem;
    background: url(/img/promotion/ar3.png) center/100% 100% no-repeat;
    display: block;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p_top .faq_list dl dt:hover {
    opacity: 0.7;
  }
  .p_top .faq_list dl dt.is_active::after {
    -webkit-transform: translateY(-50%) scaleY(-1);
       -moz-transform: translateY(-50%) scaleY(-1);
        -ms-transform: translateY(-50%) scaleY(-1);
            transform: translateY(-50%) scaleY(-1);
  }
  .p_top .faq_list dl dd {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    -moz-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
  }
  .p_top .faq_list dl dd .accCt {
    border-top: 2px solid #bababa;
    padding: 1.5rem 0;
  }
  .p_top .faq_list dl dd .accCt p {
    font-size: 2.4rem;
    line-height: 1.875;
  }
  .p_top .sec10 {
    padding: 9.5rem 0 7.5rem;
  }
  .p_top .sec10 dl {
    border-style: solid;
    border-width: 0.1rem;
    border-color: black;
    -moz-border-radius: 2rem;
         border-radius: 2rem;
    background-color: white;
    position: relative;
  }
  .p_top .sec10 dl dt {
    position: absolute;
    left: 50%;
    top: -2.7rem;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    font-weight: bold;
    font-size: 3.6rem;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    padding: 0 2rem;
    background-color: #fff;
    z-index: 3;
  }
  .p_top .sec10 dl dd {
    padding: 6rem 4rem 6rem 2rem;
  }
  .p_top .sec10 dl dd ul li {
    position: relative;
    padding-left: 2.5rem;
    font-size: 2.4rem;
    line-height: 2;
  }
  .p_top .sec10 dl dd ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  .boxoverlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1900;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, 0.4);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50%;
    width: 71rem;
    height: auto;
    z-index: 2000;
    visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
       -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
  }
  .modal.open {
    visibility: visible;
  }
  .modal.open .m_in {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  .modal .wrap_modal .js_sc {
    max-height: 60vh;
  }
  .modal .wrap_modal .tl {
    margin-bottom: 4rem;
    font-size: 5.4rem;
  }
  .modal .wrap_modal h3 {
    margin: 3.5rem 0 2.5rem;
    font-weight: bold;
    font-size: 3.6rem;
    line-height: 1.5;
  }
  .modal .wrap_modal figure {
    margin-bottom: 4rem;
  }
  .modal .wrap_modal .text_cm span {
    color: #d72795;
  }
  .modal .wrap_modal .box {
    -moz-border-radius: 1rem;
         border-radius: 1rem;
    background-color: #d1eedc;
    font-size: 3rem;
    font-weight: bold;
    margin-top: 3rem;
    padding: 2rem;
  }
  .modal .wrap_modal .box.st2 {
    text-align: left;
    font-weight: 500;
    margin-bottom: 1.5rem;
  }
  .modal .wrap_modal .box.st2 p {
    font-weight: 500;
  }
  .modal .wrap_modal .box.st2 p strong {
    font-weight: bold;
  }
  .modal .m_in {
    background: #fff;
    -webkit-transform: scale(2);
       -moz-transform: scale(2);
        -ms-transform: scale(2);
            transform: scale(2);
    opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding: 6rem 2rem;
    padding-bottom: 11rem;
    padding-right: 0;
    background: #fff;
  }
  .modal .m_area {
    position: relative;
  }
  .modal .btn_close {
    position: absolute;
    top: -10.5rem;
    right: 0;
    cursor: pointer;
    font-size: 2.4rem;
    display: inline-block;
    padding-right: 3.3rem;
    color: #fff;
  }
  .modal .btn_close::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 2.55rem;
    height: 2.4rem;
    background: url(/img/promotion/ic_close.png) center/contain no-repeat;
    display: block;
  }
  .modal .btn_wr {
    position: absolute;
    bottom: -7rem;
    left: 0rem;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 3rem;
  }
  .modal .btn_wr a {
    font-size: 2.4rem;
    position: relative;
    display: inline-block;
    padding-right: 3.3rem;
  }
  .modal .btn_wr a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 2.55rem;
    height: 2.4rem;
    background: url(/img/promotion/ic_close2.png) center/contain no-repeat;
    display: block;
  }
  .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 1rem;
    background-color: #bababa !important;
  }
  .mCSB_scrollTools .mCSB_draggerRail {
    background-color: transparent !important;
  }
  .mCSB_inside > .mCSB_container {
    margin-right: 3rem;
  }
  .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
    height: 1rem;
  }
}

@media screen and (max-width: 1200px) and (min-width: 769px) {
  html {
    font-size: 9px;
  }
}

@media screen and (max-width: 1050px) and (min-width: 769px) {
  html {
    font-size: 8px;
  }
}

@media screen and (max-width: 991px) and (min-width: 769px) {
  html {
    font-size: 7px;
  }
}

@media screen and (min-width: 1200px) {
  body {
    padding-top: 9rem;
  }
  .container {
    overflow: inherit;
  }
  .header {
    height: 9rem;
    z-index: 8;
  }
  .header .row {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    padding: 0 2rem;
  }
  .header h1 a {
    width: 20.7rem;
  }
  .header .row .header_btn {
    margin-top: 0;
    width: 33.2rem;
    height: 6rem;
  }
  .p_top main {
    position: relative;
    z-index: 9;
  }
  .p_top .mv picture {
    margin-top: -0.666%;
  }
}

@media screen and (max-width: 1200px) and (min-width: 769px) {
  body {
    padding-top: 6rem;
  }
  .container {
    overflow: inherit;
  }
  .header {
    height: 6rem;
    z-index: 8;
  }
  .header .row {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    padding: 0 2rem;
  }
  .header h1 a {
    width: 13.8rem;
  }
  .header .row .header_btn {
    margin-top: 0;
    width: 22.1rem;
    height: 4rem;
  }
  .p_top main {
    position: relative;
    z-index: 9;
  }
  .p_top .mv picture {
    margin-top: -0.666%;
  }
}

@media screen and (min-width: 769px) {
  .p_top .sec01 .hasBor {
    padding: 3rem 4.2rem 3rem 4.5rem;
    border-radius: 2rem;
    background: linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 75.8%) padding-box,linear-gradient(to right, rgb(117,234,180) 0%, rgb(28,142,207) 100%) border-box;
    border: 0.5rem solid transparent;
  }
  .p_top .doctorList {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 2rem -2rem -2rem;
  }
    .p_top .doctorList:has(.doctorListArticle) {
justify-content: center;
  }
  .p_top .doctorList article {
    width: 40rem;
    margin: 2rem;
  }

  .p_top .doctorList .doctorListArticle {
      width: 100%;
      max-width: 480px;
      margin: 2rem;
  }

  .p_top .doctorList article h4 {
    text-align: left;
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 1.5rem;
  }
  .p_top .doctorList article figure {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p_top .sec01 .hasBor {
    margin: 0 -2rem;
    padding: 5.2rem 4.9rem 2.3rem 5rem;
    border-radius: 2rem;
    background: linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 75.8%) padding-box,linear-gradient(to right, rgb(117,234,180) 0%, rgb(28,142,207) 100%) border-box;
    border: 1rem solid transparent;
  }
  .p_top .doctorList {
    margin-top: 7rem;
  }
  .p_top .doctorList article {
    width: 100%;
  }
    .p_top .doctorList .doctorListArticle {
      width: fit-content;
      max-width: 100%;
      margin: 2rem;
  }

  .p_top .doctorList article + article {
    margin-top: 5.8rem;
  }
  .p_top .doctorList article h4 {
    margin: 0 0 1.5rem;
  }
  .p_top .doctorList article figure {
    margin-bottom: 2.5rem;
    text-align: center;
  }
  .p_top .doctorList article figure img {
    width: 56rem;
  }
    .p_top .doctorList .doctorListArticle figure img {
    width: 65rem;
  }
}

/* 打ち消し */
.p_top {
  letter-spacing: unset;
}
.p_top ul{
      margin-left: 0;
    line-height: 1;
}

.mv_ctaWrapper{
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
.mainMv01{
position: relative;
}
.mainMv01::before{
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("/img/promotion/mv_pc02.png");
background-position: center;
background-size: 90%;
background-repeat: no-repeat;
max-width: 1400px;
margin-inline: auto;

}
.mainMv02{
position: relative;
}
.mainMv02::before{
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("/img/promotion/mv_pc01.png");
background-position: center;
background-size: 90%;
background-repeat: no-repeat;
max-width: 1400px;
margin-inline: auto;
}
.mv_ctaWrapper{
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  height: 140px;
  padding-top: 46px;
}
}
@media screen and (min-width: 1921px) {
  .mainMv01 img{
    width: 100%;
  }
    .mainMv02 img{
    width: 100%;
  }
.mainMv01::before{
max-width: 1800px;
}
.mainMv02::before{
max-width: 1800px;
}

}



