@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ========================================
   Utilities
   ======================================== */
.res-pc {
  display: none !important;
}
@media only screen and (min-width: 668px) {
  .res-pc {
    display: block !important;
  }
}

.res-sp {
  display: block !important;
}
@media only screen and (min-width: 668px) {
  .res-sp {
    display: none !important;
  }
}

/* ========================================
   Base
======================================== */
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #333333;
  background-color: #FFFDF5;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ========================================
   Layout
======================================== */
.l-wrapper {
  width: 100%;
  overflow-x: hidden;
}
@media only screen and (min-width: 668px) {
  .l-wrapper {
    min-width: 1000px; /* KVの幅に合わせる */
    overflow-x: auto;
  }
}

.l-container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .l-container {
    width: 850px;
    padding: 0;
  }
}

footer {
  background: #E6E6E6;
  text-align: center;
  padding: 2.6666666667vw 0;
  font-size: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  footer {
    padding: 15px 0;
    font-size: 10px;
  }
}

/* ========================================
   Buttons
======================================== */
.c-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #F5A623;
  color: #FFFFFF;
  font-weight: bold;
  border-radius: 50px;
  padding: 15px 40px;
  -webkit-box-shadow: 0 4px 0 #f59300;
          box-shadow: 0 4px 0 #f59300;
  -webkit-transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  font-size: 1.1rem;
  border: none;
  will-change: transform;
}
.c-btn:hover {
  -webkit-transform: translateY(-6px) scale(1.03);
          transform: translateY(-6px) scale(1.03);
  -webkit-box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  background-color: #f7a030;
}
.c-btn:active {
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
  -webkit-box-shadow: 0 2px 0 #f59300;
          box-shadow: 0 2px 0 #f59300;
}
.c-btn--large {
  width: 100%;
  max-width: 92vw;
  padding: 20px;
  font-size: 1.3rem;
}
@media only screen and (min-width: 668px) {
  .c-btn--large {
    max-width: 400px;
  }
}
.c-btn--back {
  background-color: #5C7BC0;
  -webkit-box-shadow: 0 4px 0 #4A639B;
          box-shadow: 0 4px 0 #4A639B;
  color: #fff;
  padding: 15px 50px;
  border-radius: 30px;
  font-size: 1.1rem;
  position: relative;
}
.c-btn--back::after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  position: absolute;
  top: 50%;
  left: 2.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #AAA;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../images/modal_voice_icon_arrow_prev_w.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .c-btn--back::after {
    width: 10px;
    height: 21px;
    left: 20px;
  }
}
.c-btn--back:hover {
  background-color: #6D8FD4;
  -webkit-box-shadow: 0 2px 0 #4A639B;
          box-shadow: 0 2px 0 #4A639B;
}
.c-btn--prev {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid #CCC;
  color: #333;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 0.95rem;
  padding: 12px;
  position: relative;
}
@media only screen and (min-width: 668px) {
  .c-btn--prev {
    width: 315px;
  }
}
.c-btn--prev::after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  position: absolute;
  top: 50%;
  left: 6.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #AAA;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../images/modal_voice_icon_arrow_prev.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .c-btn--prev::after {
    width: 10px;
    height: 21px;
    left: 50px;
  }
}
.c-btn--prev:hover {
  -webkit-transform: translateY(-6px) scale(1.03);
          transform: translateY(-6px) scale(1.03);
  -webkit-box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  background-color: #fff;
}
.c-btn--next {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid #CCC;
  color: #333;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 0.95rem;
  padding: 12px;
  position: relative;
}
@media only screen and (min-width: 668px) {
  .c-btn--next {
    width: 315px;
  }
}
.c-btn--next::after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  position: absolute;
  top: 50%;
  right: 6.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #AAA;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../images/modal_voice_icon_arrow.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .c-btn--next::after {
    width: 10px;
    height: 21px;
    right: 50px;
  }
}
.c-btn--next:hover {
  -webkit-transform: translateY(-6px) scale(1.03);
          transform: translateY(-6px) scale(1.03);
  -webkit-box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  background-color: #fff;
}

.orange-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  outline: none;
  background: none;
  /* ここからデザイン */
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  border-radius: 999px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  border: 2px solid #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffa726), color-stop(50%, #fb8c00), to(#ef6c00));
  background: -webkit-linear-gradient(top, #ffa726 0%, #fb8c00 50%, #ef6c00 100%);
  background: linear-gradient(to bottom, #ffa726 0%, #fb8c00 50%, #ef6c00 100%);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

/* 矢印 */
.orange-btn .arrow {
  font-size: 20px;
  line-height: 1;
}

/* 押したとき */
.orange-btn:hover {
  -webkit-transform: translateY(-6px) scale(1.03);
          transform: translateY(-6px) scale(1.03);
}

.orange-btn {
  position: relative;
  /* 既存スタイルはそのまま */
}

/* 上部の濃いライン */
.orange-btn::after {
  content: "";
  position: absolute;
  top: 2px; /* 少し内側に入れるのがポイント */
  left: 6%;
  width: 88%;
  height: 2px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 999px;
  pointer-events: none;
}

.btn-anim {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  outline: none;
  background: none;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  width: 65.0666666667vw;
}
@media only screen and (min-width: 668px) {
  .btn-anim {
    width: 322px;
  }
}

/* 押したとき */
.btn-anim:hover {
  -webkit-transform: translateY(-6px) scale(1.03);
          transform: translateY(-6px) scale(1.03);
}

/* ========================================
   Components
======================================== */
/* 1. Hero */
.p-hero {
  background-color: #FEE781;
  background-image: url("../images/hero_bg_s.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 25px 0;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 668px) {
  .p-hero {
    background-image: url("../images/hero_bg.png");
    background-size: auto;
    padding: 25px 0 100px;
  }
}
@media only screen and (min-width: 668px) {
  .p-hero .l-container {
    width: 1000px; /* KVのみ1000px */
  }
}
.p-hero__logo {
  text-align: left;
  width: 15.2vw;
  margin: 0;
}
@media only screen and (min-width: 668px) {
  .p-hero__logo {
    width: 850px;
    margin-bottom: 80px;
  }
}
.p-hero__title {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  color: #5C6BC0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 20px;
  text-shadow: 2px 2px 0px #fff;
}
@media only screen and (min-width: 668px) {
  .p-hero__title {
    margin-bottom: 20px;
  }
}
.p-hero__image {
  margin: 0 auto 20px;
  max-width: 90%;
  height: 250px;
}
.p-hero__target {
  display: inline-block;
  margin: 0 auto 3.7333333333vw;
  width: 63.5333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-hero__target {
    width: 263px;
    margin: 0 auto 20px;
  }
  .p-hero__target img {
    width: 100%;
    height: autoc;
  }
}
.p-hero__target span {
  background: #5C6BC0;
  color: #FFFFFF;
  padding: 2px 8px;
  border-radius: 10px;
  margin-right: 5px;
  font-size: 0.8rem;
}

/* 2. Intro & Voice */
.p-intro {
  padding: 0 0 40px;
}
@media only screen and (min-width: 668px) {
  .p-intro {
    width: 850px;
    margin: 0 auto;
  }
}
.p-intro__movie {
  width: 100%;
  height: auto;
}
.p-intro__catch {
  text-align: center;
  margin: -11.3333333333vw auto 6.6666666667vw;
  width: 84.1333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-intro__catch {
    margin: -80px auto 70px;
    width: 336px;
  }
}
.p-intro__about-title {
  margin: 0 auto 12vw;
  width: 90.7333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-intro__about-title {
    width: 790px;
    margin: 0 auto 50px;
  }
}

.p-voice {
  background: #FFFDF5;
}
.p-voice__head {
  text-align: center;
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 3.7333333333vw;
}
.p-voice__head span {
  color: #F5A623;
}
@media only screen and (min-width: 668px) {
  .p-voice__head {
    margin-bottom: 38px;
  }
}
.p-voice__head p {
  text-align: left;
  font-size: 5.2vw;
  margin-top: 4vw;
}
@media only screen and (min-width: 668px) {
  .p-voice__head p {
    font-size: 20px;
    margin-top: 37px;
    text-align: center;
  }
}
.p-voice__head p.p-voice__head-att {
  text-align: left;
  font-size: 3.4666666667vw;
  margin-top: 2vw;
}
@media only screen and (min-width: 668px) {
  .p-voice__head p.p-voice__head-att {
    font-size: 16px;
    margin-top: 15px;
    text-align: center;
  }
}
.p-voice__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 668px) {
  .p-voice__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-voice__text {
  width: 81vw;
  margin: 0 auto 3.8666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-voice__text {
    width: 381px;
    margin: 0 auto 37px;
  }
}
.p-voice__item {
  display: block; /* ボタンのデフォルト挙動をリセット */
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  border: 1px solid #E2E8F0;
  width: 100%;
  padding: 0;
  cursor: pointer;
  background-color: #eee;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  will-change: transform;
}
@media only screen and (min-width: 668px) {
  .p-voice__item {
    width: calc(50% - 10px); /* gap: 20px を考慮して確実に横並びに */
  }
}
.p-voice__item:hover {
  -webkit-transform: translateY(-8px) scale(1.02);
          transform: translateY(-8px) scale(1.02);
  border-color: #F5A623;
  -webkit-box-shadow: 0 12px 24px rgba(245, 166, 35, 0.2);
          box-shadow: 0 12px 24px rgba(245, 166, 35, 0.2);
}
.p-voice__item:hover .p-voice__item-arrow {
  background-color: #fff;
  color: #F5A623;
  -webkit-box-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
          box-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
}
@media only screen and (min-width: 668px) {
  .p-voice__item:hover .p-voice__item-arrow {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.p-voice__item-img {
  width: 100%;
  height: auto;
}
.p-voice__item-arrow {
  position: absolute;
  top: 24.8vw;
  right: 2.6666666667vw;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background: url(../images/voice_btn_s.png) no-repeat center center;
  background-size: 100% auto;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-weight: bold;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 2;
  text-indent: -9999px;
}
@media only screen and (min-width: 668px) {
  .p-voice__item-arrow {
    width: 40px;
    height: 40px;
    top: 50%;
    right: 30px;
    margin-top: -20px;
  }
}
.p-voice__item:first-child-arrow {
  top: 50%;
}

/* 3. Steps */
.p-steps {
  background-image: url("../images/p-steps_bg.png");
  background-position: center center;
  padding: 50px 0;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-steps {
    background-image: url("../images/p-steps_bg.png");
    background-position: center center;
    padding: 98px 0 160px;
  }
}
.p-steps__title {
  width: 59.2vw;
  margin: 0 auto 6.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-steps__title {
    width: 570px;
    margin: 0 auto 45px;
  }
}
.p-steps h3 {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 6.9333333333vw;
  font-weight: bold;
  color: #F59300;
  text-align: center;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-steps h3 {
    font-size: 35px;
    margin-bottom: 40px;
  }
}
.p-steps__intro-img {
  width: 90.6666666667vw;
  height: auto;
  margin: 0 auto 20px;
}
@media only screen and (min-width: 668px) {
  .p-steps__intro-img {
    width: 850px;
  }
}
.p-steps__intro-text {
  font-weight: bold;
  margin-bottom: 4vw;
  font-size: 4vw;
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-steps__intro-text {
    font-size: 20px;
    margin-bottom: 73px;
  }
}
.p-steps__badges {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-steps__badge {
  background: #64B5F6;
  color: #fff;
  padding: 2px 20px;
  border-radius: 5px;
  font-size: 6.9333333333vw;
  font-weight: bold;
}
.p-steps__badge:nth-child(2) {
  background: #FFB74D;
}
.p-steps__badge:nth-child(3) {
  background: #E57373;
}
@media only screen and (min-width: 668px) {
  .p-steps__badge {
    font-size: 38px;
  }
}
.p-steps__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media only screen and (min-width: 668px) {
  .p-steps__list {
    gap: 60px;
  }
}

.p-step-card {
  background: #FFFFFF;
  border-radius: 20px;
  text-align: left;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.p-step-card:hover {
  -webkit-transform: scale(1.02) translateY(-10px);
          transform: scale(1.02) translateY(-10px);
  -webkit-box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
          box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}
.p-step-card__img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
.p-step-card__outer {
  position: relative;
}
.p-step-card__label {
  display: inline-block;
  background: #64B5F6;
  color: #fff;
  border: 2px solid #fff;
  padding: 2px 20px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 6.9333333333vw;
  line-height: 1.2;
  position: relative;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (min-width: 668px) {
  .p-step-card__label {
    width: 125px;
    height: 45px;
    line-height: 1.2;
    font-size: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    border: 3px solid #fff;
    overflow: hidden;
  }
}
.p-step-card--search .p-step-card__label {
  background: #FFB74D;
}
.p-step-card--take .p-step-card__label {
  background: #E57373;
}
.p-step-card__content {
  padding: 30px 20px 20px;
}
@media only screen and (min-width: 668px) {
  .p-step-card__content {
    padding: 40px;
  }
}
@media only screen and (min-width: 668px) {
  .p-step-card__text-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-step-card__text {
  font-size: 4vw;
  margin-bottom: 15px;
}
@media only screen and (min-width: 668px) {
  .p-step-card__text {
    font-size: 18px;
  }
}
@media only screen and (min-width: 668px) {
  .p-step-card__points {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-step-card__points-title {
  color: #64B5F6;
  font-weight: bold;
  font-size: 4vw;
  margin-bottom: 10px;
}
@media only screen and (min-width: 668px) {
  .p-step-card__points-title {
    font-size: 20px;
  }
}
@media only screen and (min-width: 668px) {
  .p-step-card__points ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.p-step-card__points ul li {
  font-size: 4vw;
  font-weight: bold;
  margin-bottom: 5px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 668px) {
  .p-step-card__points ul li {
    width: 50%;
    font-size: 16px;
  }
}
.p-step-card__points ul li:before {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background-image: url("../images/steps_intro_icon01_s.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin-right: 1em;
}
@media only screen and (min-width: 668px) {
  .p-step-card__points ul li:before {
    width: 27px;
    height: 27px;
  }
}
.p-step-card--search .p-step-card__points-title {
  color: #FFB74D;
}
.p-step-card--take .p-step-card__points-title {
  color: #E57373;
}
.p-step-card--search .p-step-card__points ul li:before {
  background-image: url("../images/steps_intro_icon02.png");
}
.p-step-card--take .p-step-card__points ul li:before {
  background-image: url("../images/steps_intro_icon03.png");
}
.p-step-card__sub-imgs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}
.p-step-card__sub-img {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 82.6666666667vw;
  height: auto;
}

/* 4. Offer */
.p-offer {
  padding: 13.3333333333vw 0 6vw;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-offer {
    padding: 100px 0;
  }
}
.p-offer__head {
  width: 91.6666666667vw;
  margin: 0 auto 1.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__head {
    width: 430px;
    margin: 0 auto 30px;
  }
}
.p-offer__head__lead {
  color: #f59300;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 6.1333333333vw;
  font-weight: bold;
  margin-bottom: 8vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__head__lead {
    font-size: 25px;
    margin-bottom: 43px;
  }
}
.p-offer__head__lead span {
  display: inline-block;
  margin-top: 3.0666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__head__lead span {
    margin-top: 20px;
  }
}
.p-offer__box {
  background: #FFF9C4;
  border-radius: 15px;
  margin: 0 0 30px;
  padding: 30px 20px;
}
.p-offer__box-title {
  color: #F5A623;
  font-size: 6.2666666667vw;
  font-weight: bold;
}
@media only screen and (min-width: 668px) {
  .p-offer__box-title {
    font-size: 25px;
  }
}
.p-offer__box-badge {
  margin-top: 2.6666666667vw;
  background: #f59300;
  color: #fff;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 7.2vw;
  vertical-align: middle;
}
@media only screen and (min-width: 668px) {
  .p-offer__box-badge {
    font-size: 30px;
    margin-left: 0.5em;
  }
}
.p-offer__book-img {
  width: 86.6vw;
  margin: 0 auto 5.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__book-img {
    width: 734px;
    margin: 0 auto 20px;
  }
}
.p-offer__book-img img {
  width: 100%;
  height: auto;
}
.p-offer__sepa {
  width: 21.3333333333vw;
  margin: 6.4vw auto 5.0666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__sepa {
    width: 62px;
    margin: 34px auto;
  }
}
.p-offer__sepa img {
  width: 100%;
  height: auto;
}
.p-offer__box-lead {
  font-size: 4vw;
  text-align: left;
  margin-bottom: 4vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__box-lead {
    text-align: center;
    font-size: 18px;
    margin-bottom: 22px;
  }
}
.p-offer__kit {
  background: #FFF9C4;
  border-radius: 15px;
  margin: 0 auto;
  padding: 5.3333333333vw 4vw 12vw;
  width: 90.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__kit {
    width: 850px;
    padding: 50px 169px;
  }
}
.p-offer__kit-img {
  width: 82.6666666667vw;
  margin-bottom: 6.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__kit-img {
    width: 511px;
    margin-bottom: 20px;
  }
}
.p-offer__kit .p-offer__box-title {
  margin-bottom: 4vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__kit .p-offer__box-title {
    margin-bottom: 25px;
  }
}
.p-offer__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}
.p-offer__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
}
.p-offer__item-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-right: 15px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media only screen and (min-width: 668px) {
  .p-offer__item-icon {
    width: 95px;
    height: 95px;
  }
}
@media only screen and (min-width: 668px) {
  .p-offer__item-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
}
.p-offer__item-catch {
  color: #F5A623;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: bold;
  line-height: 1.2;
}
@media only screen and (min-width: 668px) {
  .p-offer__item-catch {
    font-size: 16px;
  }
}
.p-offer__item-name {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 6vw;
  font-weight: bold;
  line-height: 1.2;
}
@media only screen and (min-width: 668px) {
  .p-offer__item-name {
    font-size: 26px;
  }
}
.p-offer__item-text {
  color: #373737;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.2vw;
  line-height: 1.2;
  margin-bottom: 2vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__item-text {
    font-size: 14px;
    margin-bottom: 0;
  }
}
.p-offer__item-btn {
  width: 42.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-offer__item-btn {
    width: 161px;
  }
}
.p-offer .steps-btn {
  width: 82.6666666667vw !important;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-offer .steps-btn {
    width: 348px !important;
  }
}

/* 5. Campaign */
.p-campaign {
  background: #F5F5F5;
  padding: 8vw 0 0;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-campaign {
    padding: 8vw 0 0;
  }
}
.p-campaign .more-sepa {
  width: 100%;
  padding: 5.6vw 0 5.3333333333vw;
  background: #fff;
  margin-top: 6.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign .more-sepa {
    margin-top: 80px;
    padding: 50px 0 60px;
  }
}
.p-campaign .more-sepa img {
  width: 34.4vw;
  margin: 0 auto;
  height: auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign .more-sepa img {
    width: 158px;
  }
}
.p-campaign__card {
  width: 82.6666666667vw;
  background: #fff;
  border-radius: 15px;
  margin: 0 auto;
  padding: 4vw 4.6666666667vw 5.3333333333vw;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 668px) {
  .p-campaign__card {
    width: 850px;
    padding: 0 0 50px;
  }
}
.p-campaign__book-img {
  width: 120px;
  margin: -40px auto 0;
}
@media only screen and (min-width: 668px) {
  .p-campaign__book-img {
    width: 334px;
    margin: -80px auto 20px;
  }
}
.p-campaign__title {
  color: #F5A623;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.8vw;
  font-weight: bold;
  margin-bottom: 2vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__title {
    font-size: 30px;
    margin-bottom: 15px;
  }
}
.p-campaign__text {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: bold;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__text {
    font-size: 20px;
    margin-bottom: 20px;
    padding: 0 30px;
  }
}
.p-campaign__btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6666666667vw;
  margin-bottom: 6vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__btns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 585px;
    margin: 0 auto 50px;
  }
}
.p-campaign__btns .btn-anim {
  width: 73.3333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__btns .btn-anim {
    width: 275px;
  }
}
.p-campaign__line-img {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__line-img {
    width: 502px;
    margin: 0 auto;
  }
}
.p-campaign__present-wrapper {
  background: #FEE781;
  padding: 0 0 40px;
}
@media only screen and (min-width: 668px) {
  .p-campaign__present-wrapper {
    padding: 17px 0 40px;
  }
}
.p-campaign__time {
  width: 90.6666666667vw;
  margin: 0 auto 4vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__time {
    width: 519px;
    margin: 0 auto 30px;
  }
}
.p-campaign__note {
  font-size: 2.8vw;
  text-align: left;
  width: 90.6666666667vw;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__note {
    font-size: 12px;
    width: 850px;
  }
}
.p-campaign__note span {
  display: block;
  font-size: 3.2vw;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__note span {
    font-size: 14px;
    margin-bottom: 20px;
    text-align: center;
  }
}
.p-campaign__copy {
  width: 90.5333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__copy {
    width: 462px;
  }
}
.p-campaign__present {
  position: relative;
}
.p-campaign__present-title {
  width: 92.4vw;
  margin: 0 auto 0.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-campaign__present-title {
    width: 802px;
    margin: 0 auto 20px;
  }
}
.p-campaign__present-title span {
  color: #F5A623;
  font-size: 1.8rem;
}
.p-campaign__present-slider {
  margin-bottom: 20px;
}
.p-campaign__present-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1040/1229;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.p-campaign__present-note {
  width: 92.4vw;
  margin: 0 auto;
  font-size: 92.4vw;
  text-align: left;
  color: #666;
}
@media only screen and (min-width: 668px) {
  .p-campaign__present-note {
    padding: 0;
  }
}
.p-campaign__slider-container {
  position: relative;
  margin-bottom: 20px;
  padding: 0;
  width: 100%;
}
@media only screen and (min-width: 668px) {
  .p-campaign__slider-container {
    padding: 0;
    width: 850px;
    margin: 0 auto 20px;
  }
}
.p-campaign__slider-prev, .p-campaign__slider-next {
  width: 6.1333333333vw !important;
  height: 7.2vw !important;
  color: #fff !important;
  margin-top: -17px !important;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-campaign__slider-prev::after, .p-campaign__slider-next::after {
  display: none;
}
.p-campaign__slider-prev:hover, .p-campaign__slider-next:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
@media only screen and (min-width: 668px) {
  .p-campaign__slider-prev, .p-campaign__slider-next {
    width: 23px !important;
    height: 27px !important;
  }
}
.p-campaign__slider-prev {
  left: 12vw !important;
  background: url("../images/swiper-btn-prev.png") no-repeat center center;
  background-size: 100% auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__slider-prev {
    left: -20px !important;
  }
}
.p-campaign__slider-next {
  right: 12vw !important;
  background: url("../images/swiper-btn-next.png") no-repeat center center;
  background-size: 100% auto;
}
@media only screen and (min-width: 668px) {
  .p-campaign__slider-next {
    right: -20px !important;
  }
}

/* 6. Footer area */
.l-footer {
  text-align: center;
  padding: 30px 0;
}
.l-footer__title {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 668px) {
  .l-footer__title {
    font-size: 21px;
  }
}

/* ========================================
   Modal
======================================== */
.p-modal {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  -webkit-transition: visibility 0.6s;
  transition: visibility 0.6s;
}
.p-modal.is-open {
  visibility: visible;
}
.p-modal.is-open .p-modal__overlay {
  opacity: 1;
}
.p-modal.is-open .p-modal__content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-modal.is-open .p-modal__inner {
  -webkit-animation: modalInnerFadeIn 0.4s ease forwards 0.4s;
          animation: modalInnerFadeIn 0.4s ease forwards 0.4s;
  opacity: 0;
}
.p-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0, 0, 0);
  cursor: pointer;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.p-modal__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 40px 4%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-modal__inner {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.p-modal {
  /* モーダルタイプ別調整 */
}
.p-modal--voice .p-modal__content {
  padding: 0;
  background-color: #F7F7F7;
}
.p-modal--voice .p-modal__inner {
  max-width: 500px;
  background-color: #F7F7F7;
  padding-bottom: 60px;
}
@media only screen and (min-width: 668px) {
  .p-modal--voice .p-modal__inner {
    max-width: 850px;
  }
}
.p-modal--kit .p-modal__content {
  padding: 0;
  background-color: #F5F5F5;
}
.p-modal--kit .p-modal__inner {
  max-width: 600px;
  background-color: #F5F5F5;
  padding-bottom: 0;
}
@media only screen and (min-width: 668px) {
  .p-modal--kit .p-modal__inner {
    max-width: 850px;
  }
}
.p-modal#modal-apply-select .p-modal__inner {
  padding: 8vw 0 0;
}
@media only screen and (min-width: 668px) {
  .p-modal#modal-apply-select .p-modal__inner {
    padding: 100px 0 0;
  }
}
.p-modal__close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  font-size: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 10;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  color: #666;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-modal__close:hover {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-modal__close-circle {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  color: #666;
  border: none;
  cursor: pointer;
  z-index: 10;
  text-indent: -9999px;
}
.p-modal__close-circle::after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  color: #AAA;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../images/modal_voice_icon_arrow_prev.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__close-circle::after {
    width: 10px;
    height: 21px;
    left: 50px;
  }
}
.p-modal {
  /* パーツ別スタイル */
}
.p-modal__hero {
  width: 100%;
  display: block;
  margin-bottom: 0;
}
.p-modal__kit-title {
  text-align: center;
  padding: 4vw 0 6vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__kit-title {
    padding: 43px 0 3.3333333333vw;
  }
}
.p-modal__kit-title-main {
  display: block;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 5.7333333333vw;
  font-weight: bold;
  color: #f59300;
}
@media only screen and (min-width: 668px) {
  .p-modal__kit-title-main {
    font-size: 40px;
  }
}
.p-modal__kit-title-main--small {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 5.7333333333vw;
  font-weight: bold;
}
@media only screen and (min-width: 668px) {
  .p-modal__kit-title-main--small {
    font-size: 40px;
  }
}
.p-modal__kit-title-sub {
  display: block;
  color: var(--color-primary);
  font-size: 0.9rem;
  font-weight: bold;
  color: #f59300;
}
@media only screen and (min-width: 668px) {
  .p-modal__kit-title-sub {
    font-size: 25px;
  }
}
.p-modal__voice-img {
  width: 100%;
  display: block;
}
.p-modal__voice-body {
  width: 90.6666666667vw;
  margin: 0 auto;
  text-align: left;
  padding-top: 12vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body {
    width: 850px;
    padding-top: 35px;
  }
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body.w650 {
    width: 650px;
  }
}
.p-modal__voice-body .title-orange {
  color: #f59300;
  text-align: center;
  margin-bottom: 2.6666666667vw;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 4.9333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .title-orange {
    margin-bottom: 20px;
    font-size: 30px;
  }
}
.p-modal__voice-body--inner {
  background: #fff;
  border-radius: 15px;
  padding: 4vw 6.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body--inner {
    padding: 55px;
  }
}
.p-modal__voice-body .hero-img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 15px;
}
.p-modal__voice-body .desc-text {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4vw;
  line-height: 1.6;
  margin-bottom: 20px;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .desc-text {
    font-size: 20px;
  }
}
.p-modal__voice-body .desc-text span {
  color: #f59300;
}
.p-modal__voice-body .price-box {
  text-align: center;
}
.p-modal__voice-body .price-box .label {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 4vw;
  line-height: 1.2;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .price-box .label {
    font-size: 29px;
  }
}
.p-modal__voice-body .price-box .price {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.2vw;
  line-height: 1.2;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .price-box .price {
    font-size: 22px;
  }
}
.p-modal__voice-body .price-box .attention {
  margin-top: 1.5em;
  font-size: 2.6666666667vw;
  line-height: 1.2;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .price-box .attention {
    font-size: 18px;
  }
}
.p-modal__voice-body .price-box .num {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 5.8666666667vw;
  color: #E53935;
  font-weight: bold;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .price-box .num {
    font-size: 42px;
  }
}
.p-modal__voice-body .btn-box {
  margin-top: 2em;
  text-align: center;
  width: 100%;
}
.p-modal__voice-body .btn-box .l-container {
  width: 100%;
}
.p-modal__voice-body .btn-box .btn-box-title p {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 2.9333333333vw;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-body .btn-box .btn-box-title p {
    font-size: 21px;
  }
}
.p-modal__voice-label {
  color: #6182c1;
  font-size: 4vw;
  font-weight: bold;
  margin-bottom: 1.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-label {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.p-modal__voice-title {
  color: #f08300;
  font-size: 5.6vw;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-title {
    font-size: 30px;
    margin-bottom: 20px;
  }
}
.p-modal__voice-text {
  font-size: 3.7333333333vw;
  line-height: 1.6;
  color: #373737;
  margin-bottom: 30px;
}
@media only screen and (min-width: 668px) {
  .p-modal__voice-text {
    font-size: 20px;
  }
}
.p-modal {
  /* 特徴リスト */
}
.p-modal__feature-list {
  padding: 0 20px 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
.p-modal__feature-item {
  background: #FFF;
  border-radius: 15px;
  padding: 40px 0 20px;
  position: relative;
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-item {
    padding: 90px 0 50px;
  }
}
.p-modal__feature-item .p-modal__feature-item-half {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  padding: 0 4vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-item .p-modal__feature-item-half {
    padding: 0 30px;
  }
}
.p-modal__feature-item .p-modal__feature-item-half h3 {
  width: 49%;
  font-size: 4.5333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-item .p-modal__feature-item-half h3 {
    width: 39%;
    font-size: 28px;
  }
}
.p-modal__feature-item .p-modal__feature-item-half .p-modal__feature-img {
  width: 49%;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-item .p-modal__feature-item-half .p-modal__feature-img {
    width: 60%;
  }
}
.p-modal__feature-badge {
  position: absolute;
  top: -4vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 14.9333333333vw;
  height: auto;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-badge {
    width: 142px;
    top: -35px;
  }
}
.p-modal__feature-title {
  color: #f08300;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 5.3333333333vw;
  margin-bottom: 2.6666666667vw;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-title {
    font-size: 30px;
    margin-bottom: 10px;
  }
}
.p-modal__feature-img {
  width: 66.6666666667vw;
  margin: 0 auto;
  display: block;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-img {
    width: 650px;
  }
}
.p-modal__feature-note {
  font-size: 2.4vw;
  color: #666;
  text-align: left;
  line-height: 1.6;
  margin-top: 15px;
  padding: 10px;
  border-radius: 5px;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-note {
    width: 650px;
    margin: 0 auto;
    font-size: 12px;
  }
}
.p-modal__feature-note span {
  display: block;
  line-height: 1.4;
  font-size: 3.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__feature-note span {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.p-modal {
  /* ステップフロー */
}
.p-modal__step-flow {
  width: 90.6666666667vw;
  margin: 0 auto;
  background: #FFF;
  border-radius: 15px;
  padding: 4vw 0;
}
@media only screen and (min-width: 668px) {
  .p-modal__step-flow {
    width: 650px;
    padding: 30px 0;
  }
}
.p-modal__step-item {
  width: 80vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-modal__step-item {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 400px;
  }
}
.p-modal__step-item-num {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 6.2666666667vw;
  font-weight: bold;
  color: #f59300;
}
@media only screen and (min-width: 668px) {
  .p-modal__step-item-num {
    font-size: 44px;
    width: 60px;
  }
}
.p-modal__step-item-text {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.5333333333vw;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (min-width: 668px) {
  .p-modal__step-item-text {
    font-size: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
  }
}
.p-modal__step-arrow {
  display: block;
  width: 4.1333333333vw;
  margin: 0 auto;
  padding: 2.8vw 0 4.1333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__step-arrow {
    width: 30px;
    padding: 20px 0 10px;
  }
}
.p-modal__caution-box {
  width: 80vw;
  margin: 6vw auto 0;
}
@media only screen and (min-width: 668px) {
  .p-modal__caution-box {
    width: 574px;
    margin: 35px auto 0;
  }
}
.p-modal {
  /* FAQ */
}
.p-modal__faq-list {
  padding: 0 20px 40px;
}
.p-modal__faq-list h3 {
  margin-top: 5.3333333333vw;
  margin-bottom: 1.3333333333vw;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.2666666667vw;
  font-weight: bold;
  color: #f59300;
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-modal__faq-list h3 {
    width: 650px;
    font-size: 20px;
    margin: 40px auto 20px;
  }
}
.p-modal__faq-item {
  background: #FFF;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
  text-align: left;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 668px) {
  .p-modal__faq-item {
    width: 650px;
    margin: 0 auto 20px;
  }
}
.p-modal__faq-item-q {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: #f59300;
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1.6;
}
@media only screen and (min-width: 668px) {
  .p-modal__faq-item-q {
    font-size: 18px;
  }
}
.p-modal__faq-item-a {
  color: #000000;
  font-size: 3.7333333333vw;
  line-height: 1.6;
}
@media only screen and (min-width: 668px) {
  .p-modal__faq-item-a {
    font-size: 15px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-modal__faq-item-a:before {
  background: -webkit-radial-gradient(circle farthest-side, #f59300, #f59300 60%, transparent 60%, transparent);
  background: radial-gradient(circle farthest-side, #f59300, #f59300 60%, transparent 60%, transparent);
  background-size: 10px 10px;
  content: "";
  display: inline-block;
  height: 10px;
  width: 100%;
}
.p-modal {
  /* その他リンク */
}
.p-modal__other-body {
  width: 90.6666666667vw;
  margin: 0 auto;
  text-align: left;
  padding-top: 12vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-body {
    width: 850px;
    padding-top: 35px;
  }
}
.p-modal__other {
  margin-top: 40px;
  padding: 30px 20px;
}
.p-modal__other-title {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-title {
    font-size: 25px;
  }
}
.p-modal__other-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
}
.p-modal__other-item {
  border: none;
  border-top: 1px solid #373737;
  border-bottom: 1px solid #373737;
  padding: 15px 20px;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: bold;
  font-size: 5.0666666667vw;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  width: 100%;
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-item {
    font-size: 25px;
  }
}
.p-modal__other-item span {
  font-size: 3.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-item span {
    font-size: 15px;
  }
}
.p-modal__other-item:after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  position: absolute;
  top: 50%;
  right: 5.3333333333vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #AAA;
  font-weight: normal;
  background-image: url("../images/modal_voice_icon_arrow.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media only screen and (min-width: 668px) {
  .p-modal__other-item:after {
    width: 14px;
    height: 29px;
  }
}
.p-modal__other-item:hover {
  border-color: var(--color-primary);
  background-color: #FFFDF5;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.p-modal__other-item:hover:after {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.p-modal__start-box {
  background-color: #fff;
  margin: 40px 20px 0;
  border-radius: 15px;
  padding: 30px 20px;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-box {
    width: 650px;
    margin: 40px auto 0;
  }
}
.p-modal__start-title {
  font-size: 0.95rem;
  color: #333;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
}
.p-modal__start-title:before, .p-modal__start-title:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40px;
  height: 1px;
  background-color: #CCC;
}
.p-modal__start-title:before {
  left: -50px;
}
.p-modal__start-title:after {
  right: -50px;
}
.p-modal__start-links {
  list-style: none;
  padding: 0;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links {
    width: 573px;
    margin: 0 auto;
  }
}
.p-modal__start-links li {
  border-bottom: 1px solid #EEE;
}
.p-modal__start-links li:last-child {
  border-bottom: none;
}
.p-modal__start-links button {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.3333333333vw 0;
  background: none;
  border: none;
  text-align: left;
  font-size: 3.7333333333vw;
  font-weight: bold;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 8px;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links button {
    padding: 15px 0;
    font-size: 20px;
  }
}
.p-modal__start-links button:hover:after {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.p-modal__start-links button:before {
  content: "";
  width: 7.4666666667vw;
  height: 5.2vw;
  margin-right: 15px;
  border-radius: 5px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  background-image: url("../images/modal_voice_icon01.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links button:before {
    width: 54px;
    height: 38px;
  }
}
.p-modal__start-links button:after {
  content: "";
  width: 2vw;
  height: 4.1333333333vw;
  position: absolute;
  top: 50%;
  right: 2vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #AAA;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../images/modal_voice_icon_arrow.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links button:after {
    width: 15px;
    height: 31px;
    right: 15px;
    -webkit-transform: none;
            transform: none;
    margin-top: -15px;
  }
}
.p-modal__start-links li:nth-child(1) button:before {
  background-image: url("../images/modal_voice_icon01.png");
}
.p-modal__start-links li:nth-child(2) button:before {
  background-image: url("../images/modal_voice_icon02.png");
  width: 7.4666666667vw;
  height: 7.4666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links li:nth-child(2) button:before {
    width: 53px;
    height: 53px;
  }
}
.p-modal__start-links li:nth-child(3) button:before {
  background-image: url("../images/modal_voice_icon03.png");
  width: 8.5333333333vw;
  height: 8.4vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__start-links li:nth-child(3) button:before {
    width: 61px;
    height: 61px;
  }
}
.p-modal__title-img {
  width: 80%;
  max-width: 300px;
  margin: 0 auto 30px;
  display: block;
}
.p-modal__books {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.p-modal__books img {
  width: 100%;
  display: block;
  border-radius: 8px;
}
.p-modal {
  /* モーダル11専用 */
}
.p-modal__head-title {
  background-color: #f59300;
  padding: 1.6vw 0;
  color: #fff;
  font-weight: bold;
  font-size: 1.25rem;
  border-radius: 2.6666666667vw;
  margin: 0 auto 14.6666666667vw;
  text-align: center;
  width: 78.6666666667vw;
  max-width: 90%;
}
@media only screen and (min-width: 668px) {
  .p-modal__head-title {
    padding: 12px 0;
    margin: 0 auto 130px;
    border-radius: 10px;
    width: 550px;
  }
}
.p-modal__campaign-box {
  background-color: #ffee7d;
  border-radius: 4vw;
  padding: 10.6666666667vw 0 8vw;
  margin: 0 auto 24vw;
  position: relative;
  width: 94.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__campaign-box {
    border-radius: 15px;
    padding: 50px 0 70px;
    margin: 0 auto 150px;
    width: 850px;
  }
}
.p-modal__campaign-title {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #f8bd47;
  color: #373737;
  padding: 10px 0;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: bold;
  width: 78.6666666667vw;
  text-align: center;
}
@media only screen and (min-width: 668px) {
  .p-modal__campaign-title {
    width: 400px;
    font-size: 1.25rem;
    padding: 10px 0;
    border-radius: 10px;
  }
}
.p-modal__campaign-caption {
  font-size: 0.85rem;
  width: 89.3333333333vw;
  margin: 0 auto 0.5em;
  color: #ef5350;
}
@media only screen and (min-width: 668px) {
  .p-modal__campaign-caption {
    width: auto;
    font-size: 0.88rem;
    margin: 0 auto 1em;
  }
}
.p-modal__workbook-box {
  background-color: #d7e7f7;
  border-radius: 4vw;
  padding: 14.6666666667vw 0 8vw;
  margin: 0 auto 6.6666666667vw;
  position: relative;
  width: 94.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__workbook-box {
    border-radius: 15px;
    padding: 85px 0 70px;
    margin: 0 auto 20px;
    width: 850px;
  }
}
.p-modal__workbook-title {
  background-color: #91bfe8;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #373737;
  padding: 10px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: bold;
  width: 78.6666666667vw;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-modal__workbook-title {
    width: 400px;
    font-size: 1.25rem;
    padding: 10px 0;
    border-radius: 10px;
  }
}
.p-modal__note {
  font-size: 1rem;
  line-height: 1.4;
  text-align: left;
  margin: 0 20px 30px;
  color: #373737;
  font-weight: bold;
}
@media only screen and (min-width: 668px) {
  .p-modal__note {
    font-size: 1.4rem;
  }
}
.p-modal__select-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.6666666667vw 0;
}
@media only screen and (min-width: 668px) {
  .p-modal__select-grid {
    gap: 30px 0;
  }
}
.p-modal__select-item {
  background: #fff;
  padding: 2vw 0 4.6666666667vw;
  border-radius: 2.6666666667vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  width: 89.3333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-modal__select-item {
    width: 100%;
    padding: 25px 0 35px;
    border-radius: 10px;
    max-width: 650px;
  }
}
.p-modal__select-item picture {
  width: 80vw;
  margin: 0 auto 2vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__select-item picture {
    width: 559px;
    margin: 0 auto 15px;
  }
}
.p-modal__select-item img {
  width: 100%;
  height: auto;
  display: block;
}
.p-modal__select-item p {
  line-height: 1.4;
  font-weight: bold;
  font-size: 0.9rem;
  margin-bottom: 10px;
}
.p-modal__select-item .c-btn {
  width: 42.6666666667vw;
  font-size: 0.85rem;
  padding: 10px;
  -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
  margin: 0 auto;
}
@media only screen and (min-width: 668px) {
  .p-modal__select-item .c-btn {
    width: 230px;
  }
}
.p-modal__select-item .c-btn:link {
  color: #fff;
}
.p-modal__select-item .c-btn.c-btn--red {
  background-color: #E53935;
  -webkit-box-shadow: 0 3px 0 #b71c1c;
          box-shadow: 0 3px 0 #b71c1c;
}
.p-modal__select-item .c-btn.c-btn--red:hover {
  background-color: #ef5350;
}
.p-modal__select-item .c-btn.c-btn--gray {
  background-color: #555555;
  -webkit-box-shadow: 0 3px 0 #333333;
          box-shadow: 0 3px 0 #333333;
}
.p-modal__select-item .c-btn.c-btn--gray:hover {
  background-color: #777777;
}
.p-modal__select-item .c-btn.c-btn--blue {
  background-color: #3F51B5;
  -webkit-box-shadow: 0 3px 0 #283593;
          box-shadow: 0 3px 0 #283593;
}
.p-modal__select-item .c-btn.c-btn--blue:hover {
  background-color: #5c6bc0;
}
.p-modal__workbook-box picture {
  width: 63.0666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__workbook-box picture {
    width: 416px;
  }
}
.p-modal__select-item-last {
  padding-top: 8vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__select-item-last {
    padding-top: 40px;
  }
}
.p-modal__mid_title {
  width: 63.2vw;
  margin: 0 auto 2vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__mid_title {
    width: 383px;
    margin: 0 auto 8px;
  }
}
.p-modal__body-title {
  font-size: 0.8rem;
  text-align: left;
  margin-bottom: 0.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__body-title {
    margin-bottom: 8px;
  }
}
.p-modal__spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  line-height: 1.4;
  margin-bottom: 0;
}
@media only screen and (min-width: 668px) {
  .p-modal__spec-table {
    font-size: 0.9rem;
  }
}
.p-modal__spec-table th, .p-modal__spec-table td {
  border: 1px solid #fff;
  padding: 8px;
  text-align: left;
}
.p-modal__spec-table th {
  background-color: #fff6d6;
  width: 25%;
  font-weight: bold;
}
.p-modal__spec-table td {
  background-color: #f0f0f0;
}
.p-modal__bottom-info {
  margin: 40px 20px;
}
.p-modal__bottom-info .flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}
.p-modal__bottom-info .flex-container img {
  width: 57.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .flex-container img {
    width: 530px;
  }
}
.p-modal__bottom-info .title {
  font-weight: bold;
  font-size: 1rem;
  text-align: left;
  line-height: 1;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .title {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}
.p-modal__bottom-info .desc {
  font-weight: bold;
  font-size: 0.9rem;
  text-align: left;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .desc {
    font-size: 1.1rem;
    margin-bottom: 10px;
  }
}
.p-modal__bottom-info .desc span.f-b {
  font-size: 0.7rem;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .desc span.f-b {
    font-size: 0.9rem;
  }
}
.p-modal__bottom-info .attention {
  font-size: 0.85rem;
  text-align: left;
  margin-bottom: 5.3333333333vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .attention {
    font-size: 1.1rem;
    margin-bottom: 20px;
  }
}
.p-modal__bottom-info .center-img {
  margin: 0 auto 15px 0;
  display: block;
  border-radius: 5px;
  width: 26.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__bottom-info .center-img {
    width: 250px;
  }
}
.p-modal__caution-footer {
  text-align: left;
  font-size: 0.75rem;
  color: #373737;
  line-height: 1.6;
  width: 92vw;
  margin: 0 auto 6.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-modal__caution-footer {
    width: 100%;
    margin: 0 auto 30px;
  }
}
.p-modal__rental-box {
  width: 92vw;
  margin: 0 auto 6.6666666667vw;
  color: #373737;
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-modal__rental-box {
    width: 100%;
    margin: 0 auto 50px;
  }
}
.p-modal__rental-box .title {
  font-weight: bold;
  font-size: 0.75rem;
}
@media only screen and (min-width: 668px) {
  .p-modal__rental-box .title {
    font-size: 1rem;
  }
}
.p-modal__rental-box .item-name {
  font-size: 0.75rem;
  font-weight: bold;
}
@media only screen and (min-width: 668px) {
  .p-modal__rental-box .item-name {
    font-size: 1rem;
  }
}
.p-modal__rental-box .price {
  font-size: 0.75rem;
}
@media only screen and (min-width: 668px) {
  .p-modal__rental-box .price {
    font-size: 1rem;
  }
}
.p-modal__end {
  margin-top: 40px;
  padding-bottom: 40px;
}
.p-modal__end-text {
  position: relative;
  text-align: center;
  margin-bottom: 30px;
  color: #c7c7c7;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
}
.p-modal__end-text:before, .p-modal__end-text:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 25%;
  height: 1px;
  background-color: #c7c7c7;
}
.p-modal__end-text:before {
  left: 0;
}
.p-modal__end-text:after {
  right: 0;
}
.p-modal .cleaning-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #9b9b9b;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu {
    grid-template-columns: 1fr;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item {
  position: relative;
  border-bottom: 1px solid #9b9b9b;
}
.p-modal .cleaning-menu .cleaning-menu__item:nth-child(odd)::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  width: 1px;
  height: calc(100% - 20px);
  background: #9b9b9b;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item:nth-child(odd)::after {
    display: none;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
  min-height: 110px;
  padding: 18px 54px 18px 20px;
  background: #f4f4f4;
  color: #333;
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link {
    gap: 14px;
    min-height: 96px;
    padding: 14px 30px 14px 14px;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link:hover {
  background: #ececec;
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 14px;
  height: 14px;
  border-top: 3px solid #666;
  border-right: 3px solid #666;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link::after {
    right: 18px;
    width: 12px;
    height: 12px;
    border-top-width: 2px;
    border-right-width: 2px;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 74px;
  height: 74px;
  margin: 0;
  border-radius: 50%;
  background: #fff;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__img {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__img img {
  display: block;
  max-width: 80%;
  max-height: 80%;
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__link--no-image {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__content .cleaning-menu__title {
  margin: 0;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.35;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__content .cleaning-menu__title {
    font-size: 5.0666666667vw;
    line-height: 1.4;
  }
}
.p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__content .cleaning-menu__sub {
  margin: 0 0 6px;
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 667px) {
  .p-modal .cleaning-menu .cleaning-menu__item .cleaning-menu__link .cleaning-menu__content .cleaning-menu__sub {
    margin-bottom: 4px;
    font-size: 3.3333333333vw;
  }
}

/* ========================================
   Accordion
======================================== */
.p-accordion {
  margin-bottom: 10px;
  overflow: hidden;
  width: 82.6666666667vw;
  margin: 0 auto 8vw;
}
@media only screen and (min-width: 668px) {
  .p-accordion {
    width: 770px;
    margin: 0 auto 50px;
  }
}
.p-accordion__head {
  background: #fff;
  padding: 1.3333333333vw;
  cursor: pointer;
  position: relative;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  border: 1px solid #373737;
  border-radius: 5px;
}
@media only screen and (min-width: 668px) {
  .p-accordion__head {
    padding: 0 15px;
  }
}
.p-accordion__head:hover {
  background-color: #f9f9f9;
}
.p-accordion__head::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -4px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #666;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-accordion__head-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-accordion__head-inner img {
  width: 70px;
}
@media only screen and (min-width: 668px) {
  .p-accordion__head-inner img {
    width: 120px;
  }
}
.p-accordion__head-inner .text-box {
  text-align: left;
}
@media only screen and (min-width: 668px) {
  .p-accordion__head-inner .text-box {
    line-height: 1.2;
  }
}
.p-accordion__head-inner .text-box .main {
  font-weight: bold;
  font-size: 1.1rem;
}
@media only screen and (min-width: 668px) {
  .p-accordion__head-inner .text-box .main {
    font-size: 1.4rem;
  }
}
.p-accordion__head-inner .text-box .sub {
  font-size: 0.85rem;
}
@media only screen and (min-width: 668px) {
  .p-accordion__head-inner .text-box .sub {
    font-size: 1.2rem;
  }
}
.p-accordion__body {
  display: none;
  padding: 0.6666666667vw 0 0;
  width: 82.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-accordion__body {
    padding: 5px 0 0;
    width: 770px;
  }
}
.p-accordion__body-title {
  font-size: 0.8rem;
  text-align: left;
  margin-bottom: 0.6666666667vw;
}
@media only screen and (min-width: 668px) {
  .p-accordion__body-title {
    font-size: 1rem;
    margin-bottom: 5px;
  }
}
.p-accordion.is-active .p-accordion__head::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

@-webkit-keyframes modalInnerFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes modalInnerFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ========================================
   Animations (Utility)
======================================== */
.u-fade-up {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
  will-change: opacity, transform;
}
.u-fade-up.is-animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.u-no-transition {
  -webkit-transition: none !important;
  transition: none !important;
}
.u-no-transition * {
  -webkit-transition: none !important;
  transition: none !important;
}