@charset "UTF-8";
#mv {
  background-color: #ED6C01;
}

/*--- MVテキストボックス ---*/
#mv_txt_box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 20px;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box {
    min-height: 18.3vw;
    padding: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box {
    min-height: 0;
    padding: 0vw 4vw 5.91vw;
  }
}
#mv_txt_box .mv-price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price {
    gap: 0.92vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price {
    gap: 0;
  }
}
#mv_txt_box .mv-badge {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 113px;
  height: 113px;
  border-radius: 50%;
  background-color: #fff100;
  border: 3px solid #ED6C01;
  color: #e60012;
  line-height: 1;
  transform: rotate(-9.14deg);
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-badge {
    width: 9.42vw;
    height: 9.42vw;
    border-width: 0.27vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-badge {
    position: absolute;
    z-index: 2;
    left: 2.5vw;
    top: -18.57vw;
    width: 23.64vw;
    height: 23.64vw;
    border-width: 0.68vw;
  }
}
#mv_txt_box .mv-badge__label {
  font-weight: 900;
  font-size: 14.7px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-badge__label {
    font-size: 1.23vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-badge__label {
    letter-spacing: 0;
    font-size: 3vw;
  }
}
#mv_txt_box .mv-badge__rate {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-top: 4px;
  padding-left: 0.9em;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-badge__rate {
    margin-top: 0.3vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-badge__rate {
    margin-top: 0.3vw;
    text-align: center;
  }
}
#mv_txt_box .mv-badge__rate .num {
  font-size: 44px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-badge__rate .num {
    font-size: 3.67vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-badge__rate .num {
    font-size: 9.25vw;
  }
}
#mv_txt_box .mv-badge__rate .unit {
  font-size: 22px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-badge__rate .unit {
    font-size: 1.83vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-badge__rate .unit {
    font-size: 4.63vw;
  }
}
#mv_txt_box .mv-price__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__body {
    gap: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__body {
    gap: 3.86vw;
  }
}
#mv_txt_box .mv-price__main {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
}
#mv_txt_box .mv-price__main .num {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 49.6px;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__main .num {
    font-size: 4.13vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__main .num {
    font-size: 9.09vw;
  }
}
#mv_txt_box .mv-price__main .num--lg {
  font-size: 80.6px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__main .num--lg {
    font-size: 6.72vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__main .num--lg {
    font-size: 14.77vw;
  }
}
#mv_txt_box .mv-price__main .jp {
  font-size: 31px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__main .jp {
    font-size: 2.58vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__main .jp {
    font-size: 5.68vw;
  }
}
#mv_txt_box .mv-price__main .jp--lg {
  font-size: 38.5px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__main .jp--lg {
    font-size: 3.21vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__main .jp--lg {
    font-size: 7.05vw;
  }
}
#mv_txt_box .mv-price__note {
  margin: 0;
  background-color: #fff;
  color: #ED6C01;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 25px;
  line-height: 1;
  text-align: center;
  border-radius: 5px;
  padding: 12px 22px;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-price__note {
    font-size: 2.08vw;
    border-radius: 0.44vw;
    padding: 1vw 1.83vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-price__note {
    font-size: 4.7vw;
    border-radius: 1vw;
    padding: 1.7vw 3vw;
  }
}
#mv_txt_box .mv-price__note .kakko {
  display: inline-block;
  margin-left: -0.5em;
  margin-right: -0.5em;
}
#mv_txt_box .mv-notice {
  margin: 8px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  #mv_txt_box .mv-notice {
    font-size: 1.5vw;
    margin-top: 0.67vw;
  }
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-notice {
    font-size: 3.64vw;
    line-height: 1.375;
    margin-top: 1.9vw;
  }
}
#mv_txt_box .mv-notice .br-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  #mv_txt_box .mv-notice .br-sp {
    display: inline;
  }
}

.sub_txt_box {
  padding: 20px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .sub_txt_box {
    margin-top: 0.67vw;
    padding: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  .sub_txt_box {
    margin-top: 1.9vw;
    padding: 1.2vw;
  }
}
.sub_txt_box p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .sub_txt_box p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .sub_txt_box p {
    font-size: 2.3vw;
    text-align: left;
  }
}

/*--- aboutセクション ---*/
#about {
  background-color: #fff;
  padding-bottom: 80px;
}
@media screen and (max-width: 1200px) {
  #about {
    padding-bottom: 6.67vw;
  }
}
@media screen and (max-width: 768px) {
  #about {
    padding-bottom: 9vw;
  }
}
#about {
  /* ヘッダーバナー（PC・SP共通：オレンジ帯＋黄色ライン＋ボタン） */
}
#about .about-banner {
  position: relative;
  margin-top: 65px;
}
@media screen and (max-width: 1200px) {
  #about .about-banner {
    margin-top: 5.4vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner {
    margin-top: 7vw;
  }
}
#about .about-banner__shape {
  position: relative;
  z-index: 1;
  padding: 22px 0;
  background-color: #ED6C01;
}
@media screen and (max-width: 1200px) {
  #about .about-banner__shape {
    padding: 1.83vw 0;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner__shape {
    padding: 4.1vw 0;
  }
}
#about .about-banner__frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 300px;
  padding: 10px 20px;
  border-top: 4px solid #fff100;
  border-bottom: 4px solid #fff100;
}
@media screen and (max-width: 1200px) {
  #about .about-banner__frame {
    gap: 1vw;
    min-height: 25vw;
    padding: 0.83vw 1.67vw;
    border-width: 0.33vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner__frame {
    gap: 3vw;
    min-height: 76.8vw;
    padding: 2vw 4.5vw;
    border-width: 1vw;
  }
}
#about .about-banner__title {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 30px;
  line-height: 1.16;
  letter-spacing: 0.02em;
  color: #fff100;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #about .about-banner__title {
    font-size: 2.57vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner__title {
    font-size: 8vw;
  }
}
#about .about-banner .sub_txt {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  line-height: 1.5em;
  margin-top: 0em;
  margin-bottom: 0.9em;
}
@media screen and (max-width: 1200px) {
  #about .about-banner .sub_txt {
    font-size: 2vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner .sub_txt {
    font-size: 5.7vw;
    margin-bottom: 0.5em;
  }
}
#about .about-banner__br {
  display: none;
}
@media screen and (max-width: 768px) {
  #about .about-banner__br {
    display: inline;
  }
}
#about .about-banner {
  /* 黄色い「詳細はこちら」ボタン */
}
#about .about-banner__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 450px;
  height: 100px;
  border: 3px solid #000;
  border-radius: 15px;
  background-color: #fff100;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 21.55px;
  line-height: 1.2;
  color: #000;
  text-decoration: none;
}
@media screen and (max-width: 1200px) {
  #about .about-banner__btn {
    width: 33.33vw;
    height: 8.33vw;
    border-width: 0.25vw;
    border-radius: 1.25vw;
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner__btn {
    width: 83.33vw;
    height: 22.7vw;
    border-width: 0.7vw;
    border-radius: 3.4vw;
    font-size: 4.9vw;
  }
}
#about .about-banner__btn-arrow {
  position: absolute;
  right: 24px;
  font-size: 13.469px;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  #about .about-banner__btn-arrow {
    right: 2vw;
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-banner__btn-arrow {
    right: 4.5vw;
    font-size: 3.06vw;
  }
}
#about .about-banner__chara {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}
#about .about-chara {
  position: absolute;
  width: auto;
  height: auto;
}
@media screen and (max-width: 768px) {
  #about .about-chara {
    display: none;
  }
}
#about .about-chara--01 {
  left: 165px;
  top: -43px;
  width: 119px;
  transform: rotate(-6.29deg);
}
@media screen and (max-width: 1200px) {
  #about .about-chara--01 {
    left: 13.75vw;
    top: -3.58vw;
    width: 9.92vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-chara--01 {
    left: 6.14vw;
    top: 1.36vw;
    width: 15vw;
  }
}
#about .about-chara--02 {
  left: 94px;
  top: 90px;
  width: 166px;
  transform: rotate(-11.76deg);
}
@media screen and (max-width: 1200px) {
  #about .about-chara--02 {
    left: 7.83vw;
    top: 7.5vw;
    width: 13.83vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-chara--02 {
    left: 1.14vw;
    top: 26.4vw;
    width: 20.5vw;
  }
}
#about .about-chara--03 {
  left: 860px;
  top: 21px;
  width: 159px;
}
@media screen and (max-width: 1200px) {
  #about .about-chara--03 {
    left: 71.67vw;
    top: 1.75vw;
    width: 13.25vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-chara--03 {
    left: 70.7vw;
    top: 13.9vw;
    width: 25.4vw;
  }
}
#about {
  /* 内側コンテナ */
}
#about .about-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 20px 0;
}
@media screen and (max-width: 1200px) {
  #about .about-inner {
    padding: 6.67vw 2vw 0;
  }
}
@media screen and (max-width: 768px) {
  #about .about-inner {
    padding: 14.77vw 8.4vw 0;
  }
}
#about {
  /* ボタンカード共通グリッド */
}
#about .about-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1200px) {
  #about .about-menu {
    gap: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-menu {
    gap: 5.23vw 4.66vw;
  }
}
#about .about-menu--biz {
  margin-top: 38px;
}
@media screen and (max-width: 1200px) {
  #about .about-menu--biz {
    margin-top: 3.17vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-menu--biz {
    margin-top: 5.23vw;
  }
}
#about .about-menu__wide {
  grid-column: 1/-1;
}
#about .about-menu__wide a {
  min-height: 76px;
}
@media screen and (max-width: 1200px) {
  #about .about-menu__wide a {
    min-height: 6.33vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-menu__wide a {
    min-height: 8.9vw;
  }
}
#about .about-menu li {
  display: flex;
}
#about {
  /* カード */
}
#about .about-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 144px;
  padding: 12px 16px;
  border: 3px solid #000;
  border-radius: 15px;
  background-color: #fff100;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 21.55px;
  line-height: 1.3;
  color: #000;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 1200px) {
  #about .about-card {
    min-height: 12vw;
    padding: 1vw 1.3vw;
    border-width: 0.25vw;
    border-radius: 1.25vw;
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-card {
    min-height: 32.7vw;
    padding: 2vw;
    border-width: 0.68vw;
    border-radius: 3.4vw;
    font-size: 4.3vw;
    line-height: 1.4;
  }
}
#about .about-card--disabled {
  background-color: #d8d8d8;
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
}
#about .about-card--wide {
  min-height: 76px;
}
@media screen and (max-width: 1200px) {
  #about .about-card--wide {
    min-height: 6.33vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-card--wide {
    min-height: 15.2vw;
  }
}
#about .about-card__arrow {
  position: absolute;
  right: 18px;
  bottom: 14px;
  font-size: 13.5px;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  #about .about-card__arrow {
    right: 1.5vw;
    bottom: 1.2vw;
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-card__arrow {
    right: 3vw;
    bottom: 2.5vw;
    font-size: 3vw;
  }
}
#about .about-card--wide #about .about-card__arrow {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}
#about {
  /* 事業者見出し */
}
#about .about-heading {
  margin: 100px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 1.2;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #about .about-heading {
    margin-top: 8.33vw;
    font-size: 2.92vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-heading {
    margin-top: 8.86vw;
    font-size: 4.55vw;
  }
}
#about .about-heading__slash {
  display: inline-block;
  margin: 0 0.4em;
  font-weight: 400;
}
#about {
  /* 期間カード */
}
#about .about-period {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 680px;
  margin: 100px auto 0;
}
@media screen and (max-width: 1200px) {
  #about .about-period {
    gap: 2.5vw;
    margin-top: 8.33vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-period {
    grid-template-columns: 1fr;
    gap: 3.4vw;
    margin-top: 13vw;
  }
}
#about .about-period__item {
  overflow: hidden;
  border: 4px solid #f49c00;
  border-radius: 15px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  #about .about-period__item {
    border-width: 0.33vw;
    border-radius: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-period__item {
    border-width: 0.9vw;
    border-radius: 3.4vw;
  }
}
#about .about-period__label {
  margin: 0;
  padding: 8px 10px;
  background-color: #f49c00;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #about .about-period__label {
    padding: 0.7vw 0.8vw;
    font-size: 1.67vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-period__label {
    padding: 2vw 1vw;
    font-size: 4.55vw;
  }
}
#about .about-period__value {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-height: 92px;
  padding: 8px 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 23px;
  line-height: 1.35;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #about .about-period__value {
    min-height: 7.67vw;
    padding: 0.7vw 0.8vw;
    font-size: 1.92vw;
  }
}
@media screen and (max-width: 768px) {
  #about .about-period__value {
    min-height: 16.8vw;
    padding: 1.5vw 1vw;
    font-size: 5.23vw;
  }
}

/*===============================================
  情報セクション群（お知らせ／とは／流れ／FAQ／参加店舗一覧）
===============================================*/
.info-sec--purple {
  --info-color: #b077b0;
  background-color: #b077b0;
}
.info-sec--blue {
  --info-color: #46b2e7;
  background-color: #46b2e7;
}
.info-sec--pink {
  --info-color: #ec7aac;
  background-color: #ec7aac;
}
.info-sec--green {
  --info-color: #00a73c;
  background-color: #00a73c;
}
.info-sec--first {
  margin-top: 20px;
  padding-top: 35px;
}
@media screen and (max-width: 1200px) {
  .info-sec--first {
    padding-top: 2.9vw;
  }
}
@media screen and (max-width: 768px) {
  .info-sec--first {
    margin-top: 2vw;
    padding-top: 6vw;
  }
}
.info-sec--last {
  padding-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  .info-sec--last {
    padding-bottom: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .info-sec--last {
    padding-bottom: 4.1vw;
  }
}

.info-card {
  position: relative;
  width: 83.25%;
  max-width: 999px;
  margin: 0 auto;
  padding: 60px 0 80px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .info-card {
    padding: 5vw 0 6.67vw;
  }
}
@media screen and (max-width: 768px) {
  .info-card {
    width: 92%;
    padding: 8vw 0 10vw;
  }
}

/* セクション境目の4色バー（2番目以降のセクション先頭） */
.info-sec:not(.info-sec--first) .info-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(to right, #46b2e7 0 25%, #ec7aac 25% 50%, #ed6d34 50% 75%, #00a73c 75% 100%);
}
@media screen and (max-width: 768px) {
  .info-sec:not(.info-sec--first) .info-card::before {
    height: 3px;
  }
}

/* 吹き出し見出し */
.info-head {
  position: relative;
  width: 75%;
  max-width: 750px;
  min-height: 100px;
  margin: 0 auto 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px;
  border-radius: 15px;
  background-color: var(--info-color);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.3;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .info-head {
    min-height: 8.33vw;
    margin-bottom: 4.7vw;
    border-radius: 1.25vw;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .info-head {
    width: 85.4%;
    min-height: 21vw;
    margin-bottom: 9vw;
    border-radius: 2vw;
    font-size: 4.7vw;
  }
}
.info-head::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -15px);
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 42px solid var(--info-color);
}
@media screen and (max-width: 1200px) {
  .info-head::after {
    border-left-width: 2.5vw;
    border-right-width: 2.5vw;
    border-top-width: 3.5vw;
    transform: translate(-50%, -1.2vw);
  }
}
@media screen and (max-width: 768px) {
  .info-head::after {
    border-left-width: 4vw;
    border-right-width: 4vw;
    border-top-width: 5.5vw;
    transform: translate(-50%, -2vw);
  }
}
.info-head--2lv {
  font-size: 30px;
}
@media screen and (max-width: 1200px) {
  .info-head--2lv {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .info-head--2lv {
    font-size: 4.4vw;
    line-height: 1.4;
  }
}
.info-head__sub {
  font-size: 25px;
}
@media screen and (max-width: 1200px) {
  .info-head__sub {
    font-size: 2.08vw;
  }
}
@media screen and (max-width: 768px) {
  .info-head__sub {
    font-size: 3.8vw;
  }
}
.info-head__br {
  display: none;
}
@media screen and (max-width: 768px) {
  .info-head__br {
    display: inline;
  }
}

/* 本文エリア */
.info-body {
  width: 75%;
  max-width: 750px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .info-body {
    max-width: none;
    width: 85.4%;
  }
}

/* 黄色CTAボタン */
.info-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  max-width: 100%;
  min-height: 100px;
  margin: 56px auto 0;
  padding: 10px 20px;
  border: 3px solid #000;
  border-radius: 15px;
  background-color: #fff100;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 21.55px;
  line-height: 1.3;
  color: #000;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 1200px) {
  .info-btn {
    width: 29.17vw;
    min-height: 8.33vw;
    border-width: 0.25vw;
    border-radius: 1.25vw;
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .info-btn {
    width: 100%;
    min-height: 18vw;
    border-width: 2px;
    border-radius: 2vw;
    font-size: 4.3vw;
  }
}
@media screen and (max-width: 768px) {
  .info-btn.shop-btn {
    width: 85.6%;
  }
}
.info-btn__arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13.5px;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  .info-btn__arrow {
    right: 1.5vw;
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 768px) {
  .info-btn__arrow {
    right: 4vw;
    font-size: 3vw;
  }
}

/* お知らせ */
.news-list {
  margin: 0;
}

.news-item {
  padding: 14px 0;
  border-bottom: 1px solid #b3b3b3;
}
@media screen and (max-width: 1200px) {
  .news-item {
    padding: 1.2vw 0;
  }
}
@media screen and (max-width: 768px) {
  .news-item {
    padding: 2.5vw 0;
  }
}
.news-item .news-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.news-item .news-link:hover {
  opacity: 0.6;
}
.news-item .news-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 1200px) {
  .news-item .news-meta {
    gap: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .news-item .news-meta {
    gap: 2.5vw;
  }
}
.news-item .news-date,
.news-item .news-text {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .news-item .news-date,
  .news-item .news-text {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .news-item .news-date,
  .news-item .news-text {
    font-size: 3.4vw;
  }
}

/* カテゴリーバッジ（校了前のため一時非表示） */
.news-cat {
  display: none;
  flex-shrink: 0;
  padding: 2px 10px;
  background-color: #727272;
  border-radius: 1.5em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.6;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 1200px) {
  .news-cat {
    padding: 0.17vw 0.83vw;
    font-size: 1.08vw;
  }
}
@media screen and (max-width: 768px) {
  .news-cat {
    padding: 0.5vw 2.5vw;
    font-size: 3.1vw;
  }
}
.news-cat--urgent {
  background-color: #DF0B0B;
}
.news-cat--important {
  background-color: #ED6C00;
}
.news-cat--application {
  background-color: #EC7AAC;
}
.news-cat--stores {
  background-color: #55B5E7;
}
.news-cat--for-stores {
  background-color: #4FB233;
}
.news-cat--other {
  background-color: #727272;
}

/* とは？ */
.about2-desc {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.67;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .about2-desc {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-desc {
    font-size: 3.5vw;
  }
}

.about2-total {
  margin: 36px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .about2-total {
    margin-top: 3vw;
    font-size: 2.33vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-total {
    margin-top: 6vw;
    font-size: 5vw;
  }
}

.about2-amount {
  margin: 4px 0 0;
  text-align: center;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
}
.about2-amount .num {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 65px;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 1200px) {
  .about2-amount .num {
    font-size: 5.42vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-amount .num {
    font-size: 11vw;
  }
}
.about2-amount .jp {
  font-weight: 700;
  font-size: 40px;
}
@media screen and (max-width: 1200px) {
  .about2-amount .jp {
    font-size: 3.33vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-amount .jp {
    font-size: 6.5vw;
  }
}
.about2-amount .jp--sm {
  font-weight: 900;
  font-size: 30px;
}
@media screen and (max-width: 1200px) {
  .about2-amount .jp--sm {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-amount .jp--sm {
    font-size: 5vw;
  }
}

.about2-list {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .about2-list {
    width: 108%;
    margin-left: -4%;
    margin-right: -4%;
  }
}
.about2-list li {
  position: relative;
  padding-left: 1.4em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.56;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .about2-list li {
    font-size: 1.33vw;
  }
}
@media screen and (max-width: 768px) {
  .about2-list li {
    font-size: 3.3vw;
  }
}
.about2-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: #46b2e7;
}

/* 流れ（STEP） */
.flow-lead {
  margin: 0 0 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .flow-lead {
    margin-bottom: 2.5vw;
    font-size: 1.83vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-lead {
    margin-bottom: 5vw;
    font-size: 4vw;
  }
}

.flow-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.flow-step {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 111px;
  margin-bottom: 50px;
  border: 3px solid #ec7aac;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .flow-step {
    min-height: 9.25vw;
    margin-bottom: 4.2vw;
    border-width: 0.25vw;
    border-radius: 0.83vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step {
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0vw;
    border-width: 2px;
    border-radius: 2vw;
    overflow: hidden;
    border: none;
  }
}
.flow-step:last-child {
  margin-bottom: 0;
}
.flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 12px;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 16px solid #ec7aac;
}
@media screen and (max-width: 1200px) {
  .flow-step:not(:last-child)::after {
    margin-top: 1vw;
    border-left-width: 1vw;
    border-right-width: 1vw;
    border-top-width: 1.3vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step:not(:last-child)::after {
    margin-top: 2vw;
    border-left-width: 2vw;
    border-right-width: 2vw;
    border-top-width: 2.6vw;
  }
}
.flow-step__num {
  flex: 0 0 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff100;
  color: #ec7aac;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.2;
}
@media screen and (max-width: 1200px) {
  .flow-step__num {
    flex-basis: 9vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__num {
    flex: none;
    flex-direction: row;
    gap: 0.5em;
    width: 100%;
    padding: 1.8vw 0;
    font-size: 4.6vw;
    border-bottom: 2px solid #ec7aac;
  }
}
.flow-step__num b {
  font-size: 25px;
  font-weight: 900;
}
@media screen and (max-width: 1200px) {
  .flow-step__num b {
    font-size: 2.08vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__num b {
    font-size: 6.8vw;
  }
}
.flow-step__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 90px 12px 20px;
}
@media screen and (max-width: 1200px) {
  .flow-step__body {
    padding: 1vw 7.5vw 1vw 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__body {
    width: 100%;
    padding: 4vw 0vw 5vw;
  }
}
.flow-step__title {
  margin: 0 0 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.2;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .flow-step__title {
    margin-bottom: 0.7vw;
    font-size: 2.33vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__title {
    margin-bottom: 1.5vw;
    font-size: 10vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__title.sp_txt {
    font-size: 8vw;
  }
}
.flow-step__note {
  margin: 0;
  padding: 6px 16px;
  border-radius: 5px;
  background-color: rgba(236, 122, 172, 0.3);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.44;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .flow-step__note {
    font-size: 1.25vw;
    padding: 1vw 2vw;
    border-radius: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__note {
    font-size: 4.1vw;
    padding: 1.5vw 5vw;
    border-radius: 2vw;
  }
}
.flow-step__icon {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: 64px;
}
@media screen and (max-width: 1200px) {
  .flow-step__icon {
    right: 1.9vw;
    height: 5.3vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-step__icon {
    position: static;
    transform: none;
    display: block;
    height: 16vw;
    margin: 3vw auto;
  }
}

.sp_arrow {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_arrow {
    display: block;
    width: 4.6vw;
    margin: 4.6vw auto;
  }
}

.flow-cells {
  display: flex;
  justify-content: center;
  gap: 10px;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .flow-cells {
    gap: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-cells {
    flex-direction: column;
    gap: 3vw;
  }
}

.flow-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .flow-cell {
    width: 100%;
  }
}
.flow-cell--wide {
  width: 100%;
}

.flow-pill {
  width: 230px;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 5px;
  background-color: #676566;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .flow-pill {
    width: 19.17vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-pill {
    width: 100%;
    font-size: 3.6vw;
  }
}
.flow-pill--wide {
  width: 470px;
}
@media screen and (max-width: 1200px) {
  .flow-pill--wide {
    width: 39.17vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-pill--wide {
    width: 100%;
  }
}

.flow-val {
  margin-top: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.31;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .flow-val {
    margin-top: 0.7vw;
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 768px) {
  .flow-val {
    margin-top: 1.5vw;
    font-size: 4vw;
  }
}

/* FAQ */
.faq-list {
  margin: 0;
}

.faq-item {
  padding: 24px 30px;
  margin-bottom: 20px;
  border-radius: 10px;
  background-color: #fff5b1;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .faq-item {
    padding: 2vw 2.5vw;
    margin-bottom: 1.7vw;
    border-radius: 0.83vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-item {
    padding: 4vw 4vw;
    margin-bottom: 3vw;
    border-radius: 2vw;
  }
}

.faq-q,
.faq-a__inner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .faq-q,
  .faq-a__inner {
    gap: 1.2vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-q,
  .faq-a__inner {
    gap: 2.5vw;
    font-size: 3.5vw;
  }
}

.faq-q {
  position: relative;
  align-items: center;
  line-height: 1.3;
}

.faq-a {
  display: none; /* アコーディオン：初期は閉じた状態 */
  margin-top: 18px;
}
@media screen and (max-width: 1200px) {
  .faq-a {
    margin-top: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-a {
    margin-top: 3vw;
  }
}

.faq-a__inner {
  line-height: 1.45;
}

.faq-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  .faq-icon {
    flex-basis: 3.33vw;
    width: 3.33vw;
    height: 3.33vw;
    font-size: 1.67vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-icon {
    flex-basis: 8vw;
    width: 8vw;
    height: 8vw;
    font-size: 4vw;
  }
}
.faq-icon--q {
  background-color: #fff;
  border: 2px solid #00a73c;
  color: #00a73c;
}
.faq-icon--a {
  background-color: #00a73c;
  color: #fff;
}

.faq-q__text {
  flex: 1;
}

.faq-a__text {
  flex: 1;
  padding-top: 8px;
}
@media screen and (max-width: 768px) {
  .faq-a__text {
    padding-top: 1.5vw;
  }
}

.faq-toggle {
  flex: 0 0 auto;
  display: inline-block;
  margin-left: 10px;
  font-size: 22px;
  line-height: 1;
  color: #000;
  transition: transform 0.3s;
}
@media screen and (max-width: 1200px) {
  .faq-toggle {
    font-size: 1.83vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-toggle {
    font-size: 4.5vw;
  }
}

.faq-item.is-open .faq-toggle {
  transform: rotate(45deg); /* ＋ → × */
}

/* 参加店舗一覧 準備中 */
.shops-prep {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 229px;
  border-radius: 10px;
  background-color: #b7b7b7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 25px;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .shops-prep {
    min-height: 19.08vw;
    border-radius: 0.83vw;
    font-size: 2.08vw;
  }
}
@media screen and (max-width: 768px) {
  .shops-prep {
    min-height: 40vw;
    border-radius: 2vw;
    font-size: 5vw;
  }
}

/*===============================================
  参加店舗募集セクション（黄＋橙CTA）
===============================================*/
.recruit-cta__txt {
  flex-shrink: 0;
}

.recruit-br {
  display: none;
}
@media screen and (max-width: 768px) {
  .recruit-br {
    display: inline;
  }
}

/* 募集案内（黄） */
.recruit {
  background-color: #fff100;
  padding: 60px 20px 75px;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .recruit {
    padding: 5vw 2vw 6.25vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit {
    padding: 9vw 5vw 9vw;
  }
}
.recruit__bubble {
  position: relative;
  width: 62.5%;
  max-width: 750px;
  min-height: 100px;
  margin: 0 auto 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 15px;
  background-color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.3;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .recruit__bubble {
    min-height: 8.33vw;
    margin-bottom: 4.7vw;
    border-radius: 1.25vw;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit__bubble {
    width: 79.5%;
    min-height: 18vw;
    margin-bottom: 9vw;
    border-radius: 2vw;
    font-size: 5.68vw;
  }
}
.recruit__bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -15px);
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 42px solid #000;
}
@media screen and (max-width: 1200px) {
  .recruit__bubble::after {
    transform: translate(-50%, -1.2vw);
    border-left-width: 2.5vw;
    border-right-width: 2.5vw;
    border-top-width: 3.5vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit__bubble::after {
    transform: translate(-50%, -2vw);
    border-left-width: 4vw;
    border-right-width: 4vw;
    border-top-width: 5.5vw;
  }
}
.recruit__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 28px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 35px;
  line-height: 1.3;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .recruit__lead {
    margin-bottom: 2.3vw;
    font-size: 2.92vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit__lead {
    margin-bottom: 5vw;
    font-size: 8vw;
  }
}
.recruit__img {
  display: block;
  width: 600px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .recruit__img {
    width: 50vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit__img {
    width: 92%;
  }
}

/* 登録申請CTA（橙） */
.recruit-cta {
  background-color: #ED6C01;
  padding: 60px 20px 74px;
}
@media screen and (max-width: 1200px) {
  .recruit-cta {
    padding: 5vw 2vw 6.17vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-cta {
    padding: 9vw 5vw 12vw;
  }
}
.recruit-cta__inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.recruit-cta__head {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 35px;
  line-height: 1.3;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .recruit-cta__head {
    margin-bottom: 2.5vw;
    font-size: 2.92vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-cta__head {
    margin-bottom: 5vw;
    font-size: 8.18vw;
  }
}
.recruit-cta__head--mt {
  margin-top: 60px;
}
@media screen and (max-width: 1200px) {
  .recruit-cta__head--mt {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-cta__head--mt {
    margin-top: 11vw;
  }
}
.recruit-cta__row {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 0;
}
@media screen and (max-width: 1200px) {
  .recruit-cta__row {
    gap: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-cta__row {
    flex-direction: column;
    align-items: center;
    gap: 4vw;
  }
}

.recruit-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  max-width: 100%;
  min-height: 100px;
  padding: 10px 16px;
  border: 3px solid #000;
  border-radius: 15px;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 21.55px;
  line-height: 1.3;
  color: #000;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (max-width: 1200px) {
  .recruit-btn {
    width: 29.17vw;
    min-height: 8.33vw;
    border-width: 0.25vw;
    border-radius: 1.25vw;
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-btn {
    width: 80vw;
    min-height: 20vw;
    border-width: 2px;
    border-radius: 2vw;
    font-size: 4.9vw;
  }
}
.recruit-btn--disabled {
  margin: 0 auto;
  opacity: 0.5;
  pointer-events: none;
}
.recruit-btn__arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13.469px;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  .recruit-btn__arrow {
    right: 1.5vw;
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit-btn__arrow {
    right: 4vw;
    font-size: 3vw;
  }
}

#miurayuuna {
  display: flex;
  justify-content: center;
  padding: 40px 20px;
}
@media screen and (max-width: 1200px) {
  #miurayuuna {
    padding: 3.33vw 1.67vw;
  }
}
@media screen and (max-width: 768px) {
  #miurayuuna {
    padding: 6vw 4vw;
  }
}

.miurayuuna-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 680px;
  max-width: 100%;
  min-height: 94px;
  padding: 10px 50px;
  background-color: #46b2e7;
  border: 3px solid #000;
  border-radius: 15px;
  text-decoration: none;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .miurayuuna-btn {
    width: 56.67vw;
    min-height: 7.83vw;
    padding: 0.83vw 4.17vw;
    border-width: 0.25vw;
    border-radius: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  .miurayuuna-btn {
    width: 82vw;
    min-height: 24.5vw;
    padding: 3.6vw 11vw;
    border-width: 2px;
    border-radius: 3.4vw;
  }
}
.miurayuuna-btn__texts {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
@media screen and (max-width: 1200px) {
  .miurayuuna-btn__texts {
    gap: 0.5vw;
  }
}
@media screen and (max-width: 768px) {
  .miurayuuna-btn__texts {
    gap: 1.4vw;
  }
}
.miurayuuna-btn__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .miurayuuna-btn__sub {
    font-size: 1.33vw;
  }
}
@media screen and (max-width: 768px) {
  .miurayuuna-btn__sub {
    font-size: 3.6vw;
  }
}
.miurayuuna-btn__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.25;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .miurayuuna-btn__name {
    font-size: 2.08vw;
  }
}
@media screen and (max-width: 768px) {
  .miurayuuna-btn__name {
    font-size: 5.7vw;
  }
}
.miurayuuna-btn__arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 13.469px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .miurayuuna-btn__arrow {
    right: 1.5vw;
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 768px) {
  .miurayuuna-btn__arrow {
    right: 4vw;
    font-size: 3vw;
  }
}

.miura-modaal .modaal-container {
  max-width: 493px;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .miura-modaal .modaal-container {
    max-width: 88vw;
  }
}
.miura-modaal .modaal-content-container {
  padding: 0;
}

.miura-modal {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.miura-modal__img-wrap {
  width: 100%;
  padding: 28px 46px 0;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .miura-modal__img-wrap {
    padding: 4.5vw 4.5vw 0;
  }
}
.miura-modal__img {
  width: 100%;
  display: block;
  height: auto;
  border-radius: 10px;
}
.miura-modal__body {
  padding: 20px 47px 32px;
}
@media screen and (max-width: 768px) {
  .miura-modal__body {
    padding: 16px 31px 28px;
  }
}
.miura-modal__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  text-align: center;
  color: #000;
  margin-bottom: 9px;
}
.miura-modal__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
  line-height: 1.44;
  margin-bottom: 31px;
}
.miura-modal__name-main {
  font-size: 25px;
}
.miura-modal__name-read {
  font-size: 16px;
}
.miura-modal__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.4375;
  color: #000;
}
