@charset "UTF-8";
html {
  font-size: 2.5vw;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  scrollbar-gutter: stable;
}

@media (min-width: 640px) {
  html {
    font-size: 16px;
    /* 640px以上は固定 */
  }
}
body {
  width: 100%;
  max-width: 640px;
  /* 最大幅は640px */
  margin: 0 auto;
  /* 中央寄せ（必要なら） */
  padding: 0;
  font-size: 1rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "メイリオ", "Meiryo", sans-serif;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
}

.wrap {
  box-shadow: rgb(199, 199, 199) 0px 1px 20px;
}

/* 画像やブロック要素をリキッド対応に */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.to-home__btn {
  margin-top: 1.25rem;
  margin-bottom: 0.625rem;
}

.to-home__link {
  display: block;
  width: 10rem;
  background-color: #0b2c75;
  font-size: 1.5625rem;
  color: #fff;
  text-align: center;
  padding-block: 0.625rem;
  margin: 0 auto;
}

.fv__btn-area {
  margin-top: 3.125rem;
}

/* =========================================================
   ボタン
   ========================================================= */
.btn {
  position: relative;
  display: block;
  width: 33.5rem;
  margin: 0 auto;
  text-align: center;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  background: linear-gradient(-45deg, #f6de38 0%, #ffb502 100%);
  padding: 3.25rem 0;
  border-radius: 4.75rem;
  box-shadow: 0 0 6px rgba(54, 58, 71, 0.38);
  text-shadow: 0 0 6px rgba(54, 58, 71, 0.38);
}
.btn span {
  font-size: 2.3125rem;
}

.btn::after {
  position: absolute;
  display: block;
  width: 5rem;
  height: 5rem;
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%);
  content: "";
  background-image: url(../assets/images/common/btn_arrow.png);
  background-size: contain;
}

/*ボタンアニメーション*/
.btn_animation {
  animation: beat 0.6s ease infinite alternate;
}

@keyframes beat {
  from {
    transform: scale(1, 1);
  }
  to {
    transform: scale(1.05, 1.05);
  }
}
.middle__btn-area {
  margin: 3.4375rem 0 3.6875rem;
}

/* =========================================================
   おすすめセクション（recommend）
   ========================================================= */
.recommend {
  /* セクション全体 */
  margin-top: 4.1875rem;
  margin-bottom: 2.6875rem;
}

.recommend__inner {
  /* インナー幅・余白調整 */
  padding-inline: 2.9375rem;
}

.recommend__title {
  /* 見出し（h2） */
  font-size: 3.5625rem;
  font-weight: 700;
  color: #1a53be;
  text-align: center;
}
.recommend__title span {
  font-size: 3rem;
}
.recommend__title span + span {
  font-size: 4rem;
}

.recommend__list {
  /* チェックリストのul */
  margin-top: 3.3125rem;
}

.recommend__item {
  /* 各項目のli */
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.recommend__item:not(:last-child) {
  margin-bottom: 0.75rem;
}

.recommend__icon {
  /* チェックマークアイコン */
  width: 1.9375rem;
  margin-top: 0.75rem;
}

.recommend__text {
  /* テキスト部分 */
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.recommend__em {
  /* 強調（青文字） */
  color: #2567e0;
  font-weight: 700;
}

/* =========================================================
   メリットセクション（merit）
   ========================================================= */
.merit {
  /* セクション全体 */
  background-image: url(../assets/images/common/bg_merit.png);
  width: 100%;
  clip-path: polygon(50% 2%, 100% 0, 100% 100%, 0 100%, 0 0);
}

.merit__inner {
  /* インナー幅・余白調整 */
  padding: 4.5rem 2.4375rem 7rem;
}

.merit__title {
  /* タイトル（画像h2） */
}
.merit__title img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.merit__list {
  /* メリットのリスト全体（ul） */
  margin-top: 3.125rem;
}

.merit__item {
  /* 各メリット項目（li） */
  background-color: #fff;
  border-radius: 1.75rem;
  padding: 1.875rem 0 2.875rem;
}
.merit__item:not(:last-child) {
  margin-bottom: 3.125rem;
}

.merit__head {
  /* POINT 見出し部分 */
  width: 6.75rem;
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  /* 日本語フォールバック */
  font-size: 2.375rem;
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
}

.merit__point {
  /* POINT のテキスト */
  border-bottom: 2px solid #000;
  padding-bottom: 0.25rem;
}

.merit__No {
  font-size: 5.875rem;
  line-height: 0.9;
}

.merit__image {
  /* メリット画像（ラッパーdiv） */
  margin: 0 auto;
}

.merit__image-01 {
  width: 6.5625rem;
  margin-top: 1.75rem;
  margin-bottom: 2.625rem;
}

.merit__image-02 {
  width: 8.4375rem;
  margin-top: 1.75rem;
  margin-bottom: 0.8125rem;
}

.merit__image-03 {
  width: 8.875rem;
  margin-top: 1rem;
  margin-bottom: 0.8125rem;
}

.merit__text {
  /* メリット説明文 */
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 1.4210526316;
  letter-spacing: 0.06em;
  text-align: center;
}

.merit__em {
  /* 強調（青文字など） */
  color: #2567e0;
  font-weight: 700;
}

/* =========================================================
   kv）
   ========================================================= */
.kv img {
  margin-top: -5.625rem;
  clip-path: polygon(50% 5%, 100% 2%, 100% 100%, 0 100%, 0 2%);
}

/* =========================================================
   流れセクション（flow）
   ========================================================= */
.flow {
  /* セクション全体 */
  background-image: url(../assets/images/common/bg_six-pack-flow.png);
  background-size: cover;
  width: 100%;
  margin-top: -0.0625rem;
}

.flow__inner {
  /* インナー幅・余白調整 */
  padding: 3.625rem 2rem 1.8125rem;
}

.flow__title {
  /* タイトル（h2） */
  font-size: 3.5625rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  text-align: center;
}
.flow__title span {
  font-size: 3rem;
}

.flow__list {
  /* ボックス横並び（flex） */
  display: flex;
  justify-content: center;
  gap: 0.3125rem;
  margin-top: 3.375rem;
}

.flow__item {
  /* 各カード */
  width: 11.5rem;
}

.flow__item--clip-path {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 15% 50%);
}

.flow__phase {
  /* 上段の期間ラベル（例：1〜2ヶ月目） */
  display: flex;
  align-items: center;
  background-color: #fff;
  font-size: 1.4375rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: #001e72;
  padding: 1.5625rem 0 1.5625rem 2.5rem;
}
.flow__phase span {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 2.25rem;
}

.flow__phase--pl {
  padding-left: 1.875rem;
}

.flow__phase-first {
  width: 13.25rem;
  clip-path: polygon(87% 0, 100% 50%, 87% 100%, 0 100%, 0 0);
}

.flow__phase-second {
  width: 13.1875rem;
  clip-path: polygon(0 0, 87% 0, 100% 50%, 87% 100%, 0 100%, 13% 50%);
}

.flow__phase-third {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 14.5% 50%);
}

.flow__text {
  /* 説明テキスト */
  background-color: #9fd3f4;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
  padding-left: 0.5rem;
  padding-bottom: 0.75rem;
  padding-top: 0.3125rem;
}
.flow__text span {
  letter-spacing: -0.12em;
}

.flow-note {
  /* 全体のスタイル */
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: -0.1em;
  /* デザイン調整用 */
  margin-top: 3.1875rem;
}

.flow-note__num {
  /* 数字のスタイル */
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 3.8125rem;
}

.flow-note__tilde {
  /* チルダのスタイル */
  font-size: 2.625rem;
}

.flow-note__unit {
  /* 単位（ヶ月）のスタイル */
  font-size: 2.6875rem;
}

.flow-note__text {
  /* 接続テキスト（で）のスタイル */
  font-size: 2.125rem;
}

.flow-note__emphasis {
  /* 強調テキスト（完全マスター！） */
  font-size: 3.125rem;
}

.flow-note__exclamation {
  /* 感嘆符（!）のスタイル */
  font-size: 3.5625rem;
}

.flow__triangle {
  position: relative;
}

/* ================================
   サービス内容セクション
   ================================ */
.service {
  background-color: #cad9eb;
  padding-block: 6rem 4.25rem;
  margin-top: -0.0625rem;
}

.service__inner {
  padding-inline: 2.5rem;
}

.service__title {
  font-size: 3.625rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-align: center;
  color: #1a53be;
}

/* -------------------------------
   サービスナビ（目次）
   ------------------------------- */
.service-nav {
  margin-top: 2.25rem;
}

.service-nav__item:not(:last-child) {
  margin-bottom: 1.5625rem;
}

.service-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: linear-gradient(180deg, #0544be 0%, #062c75 100%);
  height: 7.125rem;
  color: #fff;
  padding-inline: 1.375rem;
}

.service-nav__num {
  /* 数字のスタイル */
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 4.0625rem;
  font-weight: 600;
  margin-right: 1.0625rem;
}

.service-nav__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.875rem;
  margin-right: 1.25rem;
}

/* アイコンごとの調整用 */
.service-nav__icon--tv {
  width: 4.625rem;
}

.service-nav__icon--live {
  width: 4.9375rem;
}

.service-nav__icon--group {
  width: 4.5rem;
}

.service-nav__icon--individual {
  width: 3.5625rem;
}

.service-nav__icon--offkai {
  width: 5.875rem;
}

.service-nav__label {
  width: 16.1875rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.service-nav__chevron img {
  width: 2.875rem;
  margin-left: 0.6875rem;
}

/* -------------------------------
   サービス詳細（全体ラッパー）
   ------------------------------- */
.service-detail {
  margin-top: 6.4375rem;
}

/* -------------------------------
   サービスカード（個別項目）
   ------------------------------- */
.service-card {
  background-color: #fff;
  text-align: center;
  padding-top: 0.0625rem;
  padding-inline: 1.5625rem;
  padding-bottom: 2rem;
}
.service-card:not(:last-child) {
  margin-bottom: 5.1875rem;
}

.service-card__head {
  padding-bottom: 1.375rem;
  border-bottom: 2px solid #000;
  margin-top: -4.0625rem;
}

.service-card__badge {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  color: #fff;
  background-color: #2567e0;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  margin: 0 auto;
}

.service-card__title {
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.4210526316;
  color: #2567e0;
  margin-top: 0.75rem;
}

.service-card__body {
  margin-top: 1.375rem;
}

.service-card__lead {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.6071428571;
  letter-spacing: 0.06em;
}

.service-card__lead--mt {
  margin-top: 1.375rem;
}

.service-card__lead--flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}

.service-card__highlight {
  font-size: 1.875rem;
  font-weight: 700;
  color: #ed7070;
  line-height: 1.8;
  letter-spacing: 0.03em;
  /* デザイン調整用 */
}

.service-card__tag {
  width: 20rem;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  background-color: #2567e0;
  margin: 0 auto;
  padding-block: 0.625rem;
}

.service-card__tag--mt {
  margin-top: 1.25rem;
}

.service_triangle {
  display: block;
  background-image: url(../assets/images/common/service_triangle.svg);
  width: 1.25rem;
  height: 1.8125rem;
}

.service-card__figure {
  position: relative;
  margin-top: 1.25rem;
}
.service-card__figure img {
  display: block;
  width: 28rem;
  margin: 0 auto;
}
.service-card__figure::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.625rem;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}
.service-card__figure::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.625rem;
  background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.service-card__panel {
  border: 11px solid #cad9eb;
  border-radius: 1.5rem;
  padding: 2.8125rem 0 3rem;
  margin-top: 3.5rem;
}

.service-card__chip {
  margin-top: -4.9375rem;
}

.service-card__list {
  margin-top: 2.5625rem;
}

.service-card__item {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.service-card__item:not(:last-child) {
  margin-bottom: 1.75rem;
}

/* -------------------------------
   固定ヘッダー対策用アンカー


#service-01 {}

#service-02 {}

#service-03 {}

#service-04 {}

#service-05 {}
   ------------------------------- */
/* 購入者限定10大特典 */
.tokuten {
  background-color: #f8e289;
  padding-block: 4.25rem 5.875rem;
}

.tokuten__inner {
  padding-inline: 2.5rem;
}

.tokuten__title img {
  width: 34.6875rem;
  margin: 0 auto;
}

.tokuten__list {
  margin-top: 5.625rem;
}

.tokuten__item {
  border-radius: 0.9375rem;
  background: linear-gradient(120deg, #fdf4c3 2%, #fefae7 48%, #e3d690 100%);
  box-shadow: 0 0 11px rgba(0, 0, 0, 0.21);
  padding: 2.6875rem 1.625rem 3.375rem;
  text-align: center;
}
.tokuten__item:not(:last-child) {
  margin-bottom: 4.25rem;
}

.tokuten__num {
  font-size: 5.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  transform: skewX(-11deg);
  margin-top: -5.5rem;
  margin-left: 1.0625rem;
}

.tokuten__content {
  margin-top: 0.9375rem;
}

.tokuten__text {
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.5263157895;
  letter-spacing: -0.05em;
}

.tokuten__emphasis {
  display: block;
  font-size: 3.375rem;
  line-height: 1.2222222222;
  color: #e33c3c;
  margin-top: 0.1875rem;
}

.tokuten__emphasis-05 {
  margin-top: 1.125rem;
}

.tokuten__emphasis--mb {
  margin-bottom: 1rem;
}

.tokuten__emphasis-last {
  letter-spacing: -0.06em;
  /* デザイン調整用 */
}

.tokuten__note {
  width: 29.625rem;
  background-color: #fff;
  border-radius: 1.0625rem;
  padding-block: 1.125rem 2.875rem;
  margin-top: 1.25rem;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.3928571429;
  letter-spacing: 0.12em;
  margin-inline: auto;
}

.tokuten__note--plain {
  width: 100%;
  background-color: unset;
  border-radius: 0;
  padding-block: 0;
  margin-top: 1.25rem;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.4642857143;
  letter-spacing: 0.07em;
}

/* 購入者限定特典 - 「相当の」用 */
.tokuten__note-sub {
  display: inline-block;
  margin-left: 3.3125rem;
}

.tokuten__note--important {
  display: block;
  font-size: 2rem;
  line-height: 1.21875;
  margin-top: 0.9375rem;
}

.tokuten__note--red {
  font-weight: 700;
  color: #e33c3c;
}

.tokuten__note-red--mt {
  margin-top: 2.375rem;
}

.tokuten__note--caution {
  /* 注意書きのサイズ/色など個別調整用 */
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: 0.16em;
  text-align: left;
  padding-left: 1.5rem;
  text-indent: -1.4375rem;
}

/* 購入者限定特典 - 07：対談撮影＆ディナー招待（行間・余白の個別調整用） */
.tokuten__emphasis--invite {
  line-height: 1.3333333333;
}

/* 購入者限定特典 - 08：価格表示（数値のサイズ・太さ調整用） */
.tokuten__price {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 3.8125rem;
}

.tokuten__price--flex {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 08専用：無料の強調だけ */
.tokuten__item08 .tokuten__emphasis {
  margin-top: 0;
}

/* 09：全体ラッパ（必要なら個別調整用） */
.tokuten__item09 .tokuten__note--plain {
  font-weight: 700;
}

/* 09：価格ブロック（白ボックスの中身は09専用で管理） */
.tokuten09 {
  padding-block: 2.1875rem;
}

/* 09：通常価格行 */
.tokuten09__regular {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tokuten09__regular::after {
  position: absolute;
  content: "";
  width: 15.25rem;
  height: 0.1875rem;
  background-color: #e33c3c;
  right: 6rem;
}

.tokuten09__label {
  width: 2.75rem;
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
}

.tokuten09__num--regular {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 3.8125rem;
  line-height: 0.9672131148;
  letter-spacing: 0;
}
.tokuten09__num--regular span {
  font-size: 3.125rem;
  line-height: 1.18;
}

.tokuten09__unit {
  display: flex;
  flex-direction: column-reverse;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.tokuten09__tax {
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
}

/* 09：バッジ「本日限定特別価格」 */
.tokuten09__badge {
  background-image: url(../assets/images/common/tokuten_label.png);
  background-size: cover;
  width: 18.0625rem;
  height: 4.8125rem;
  margin: 0 auto;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  padding-top: 0.6875rem;
  margin-top: 0.875rem;
}

/* 09：本日価格行 */
.tokuten09__today {
  width: 18.3125rem;
  height: 4.8125rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 3px solid #e33c3c;
  margin: 0.875rem auto 0;
}

.tokuten09__num--today {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 4.9375rem;
  line-height: 1;
  letter-spacing: -0.02em;
}
.tokuten09__num--today span {
  font-size: 3.0625rem;
  line-height: 1.5510204082;
}

.tokuten09-today__unit {
  font-size: 2.25rem;
  color: #e33c3c;
}

.tokuten09-today__tax {
  color: #e33c3c;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
}

/* 09：分割払い説明 */
.tokuten09__split {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3214285714;
  letter-spacing: 0.14em;
  margin-top: 2.5625rem;
}

/* 09：月あたり */
.tokuten09__permonth {
  position: relative;
  width: 15rem;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  margin-top: 1.5rem;
  margin-inline: auto;
}

.tokuten09__permonth-1 {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 2.5rem;
  letter-spacing: 0;
}

.tokuten09__permonth-num {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #64a7d3;
}
.tokuten09__permonth-num span {
  font-size: 2.0625rem;
  line-height: 1.1818181818;
}

.tokuten09-permonth__tax {
  font-size: 0.5rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.14em;
  color: #64a7d3;
}

.tokuten09-permonth__unit {
  position: absolute;
  font-size: 1.3125rem;
  letter-spacing: 0.14em;
  color: #64a7d3;
  right: -0.25rem;
  top: 0.1875rem;
}

/* 09：日あたり */
.tokuten09__perday {
  width: 18.4375rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 0.9375rem;
  margin-inline: auto;
}

.tokuten09__perday-1 {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 3.5rem;
  letter-spacing: 0;
}

.tokuten09__perday-num {
  font-family: "din-2014", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 3.5rem;
  letter-spacing: 0;
}

.tokuten09-perday__unit {
  position: absolute;
  font-size: 1.9375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  color: #e33c3c;
  align-items: flex-start;
  right: -0.1875rem;
  top: 0.5625rem;
}

.tokuten09-perday__tax {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
}

/* 購入者限定特典 - 10（紹介制度） */
.tokuten__item10 .tokuten__note {
  font-weight: 700;
}
.tokuten__item10 .tokuten__note--red {
  display: inline;
}

/* ================================
   料金セクション（SP：～640px）
   ================================ */
/* ブロック */
.pricing {
  background-image: url(../assets/images/common/bg_price.jpg);
  background-size: cover;
  width: 100%;
  padding-block: 4.625rem 5.625rem;
}

/* セクション全体 */
/* レイアウト */
.pricing__inner {
  padding-inline: 2.5rem;
}

/* 内側コンテナ */
.pricing__title {
  font-size: 3.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
}

/* セクション見出し */
.pricing__list {
  margin-top: 2.3125rem;
}

/* アイテムのUL */
.pricing__item {
  text-align: center;
}
.pricing__item:not(:last-child) {
  margin-bottom: 1.9375rem;
}

/* 共通カード内 */
.pricing__head {
  background-color: #062c75;
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  padding-block: 1.125rem;
}

/* 見出しバーのテキスト */
.pricing__body {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
  background-color: #fff;
  padding-block: 1.625rem;
}

.pricing__desc-item {
  font-feature-settings: "pwid", "pkna", "palt";
}

.pricing__text--font-feature-settings {
  font-feature-settings: "pwid", "pkna", "palt";
}

/* ご返金について（SP〜640px） */
.refund {
  /* セクション全体 */
  background-image: url(../assets/images/common/bg_refund.jpg);
  background-size: cover;
  width: 100%;
  padding-block: 4.75rem 5.5625rem;
  text-align: center;
  color: #fff;
}

.refund__title {
  /* 見出し（h2） */
  font-size: 3.5625rem;
  font-weight: 700;
  margin-bottom: 2.875rem;
}

.refund__text {
  /* 段落の基本テキスト */
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: -0.06em;
}
.refund__text:not(:last-child) {
  margin-bottom: 2.6875rem;
}

/* Q&A セクション */
.faq__title {
  background-image: url(../assets/images/common/bg_q&a.png);
  background-size: contain;
  width: 100%;
  height: 11.8125rem;
  font-size: 3.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  padding-top: 2.5rem;
  margin-top: -0.0625rem;
}

.faq__list {
  margin-top: 2.5rem;
  padding-inline: 2.375rem;
  padding-bottom: 3.0625rem;
}

.faq__item {
  background-color: #f4f4f4;
  padding: 1.1875rem 0.6875rem 1.9375rem 1.0625rem;
}
.faq__item:not(:last-child) {
  margin-bottom: 3.375rem;
}

.faq__q {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}

/* 質問行（dt） */
.faq__a {
  display: flex;
  margin-top: 1.3125rem;
  gap: 1.125rem;
}

/* 回答行（dd） */
.faq__badge {
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.faq__badge--q img {
  width: 1.5rem;
}

.faq__badge--a {
  position: relative;
}

.faq__badge-icon {
  position: absolute;
  width: 1.5rem;
  top: 0.8125rem;
  left: 0.9375rem;
}

.faq__badge-face {
  width: 4.75rem;
  border-radius: 50%;
}

.faq__question {
  font-size: 1.75rem;
  font-weight: 500;
  color: #595a5b;
  letter-spacing: -0.04em;
}

.faq__answer-desc {
  margin-top: 0.4375rem;
}

.faq-answer__text {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
}

.faq-answer__text--red {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.7333333333;
  letter-spacing: 0.02em;
  color: #ed7070;
}

.faq-answer__text--s-size {
  display: block;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7368421053;
  letter-spacing: 0.06em;
}

.faq__note {
  display: block;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: -0.04em;
}

/*調整*/
.faq-answer__text-01 {
  display: block;
  margin-top: 0.5625rem;
}

.faq-answer__text-03 {
  letter-spacing: -0.05em;
}

.faq-answer__text-s-size--mt {
  margin-top: 0.6875rem;
}

.faq__note--mt {
  margin-top: 0.875rem;
  padding-left: 1.0625rem;
  text-indent: -1.125rem;
}

/* 決済後の流れ（SP：〜640px） */
.payment-flow {
  background-image: url(../assets/images/common/bg_payment-flow.jpg);
  background-size: cover;
  width: 100%;
  padding-block: 2.9375rem 7.125rem;
}

/* セクション全体 */
.payment-flow__inner {
  text-align: center;
}

/* 内側コンテナ */
.payment-flow__title {
  font-size: 3.5625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1a53be;
}
.payment-flow__title span {
  font-size: 3rem;
}

/* セクション見出し */
.payment-flow__list {
  margin-top: 3.375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

/* 手順一覧（縦並び） */
.payment-flow__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 各手順カード（丸枠・影など） */
.payment-flow__figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18.6875rem;
  height: 18.6875rem;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 7px rgba(145, 150, 155, 0.62);
  margin-bottom: 1.875rem;
}

.payment-flow__figure-01 img {
  width: 15.875rem;
}

.payment-flow__figure-02 img {
  width: 7rem;
  margin-right: 1.0625rem;
}

.payment-flow__figure-03 img {
  width: 11.125rem;
  margin-left: 1.5rem;
}

.payment-flow__caption {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

/* 矢印：各アイテムの下にCSSで表示（画像は擬似要素で）*/
/* 例）.payment-flow__item:not(:last-child)::after に
   background-image:url("./assets/images/common/flow-arrow.png"); を設定 */
.payment-flow__item:not(:last-child)::after {
  display: block;
  content: "";
  background-image: url(../assets/images/common/flow_arrow.svg);
  background-size: contain;
  width: 9.25rem;
  height: 3.375rem;
  margin-top: 1rem;
}

/* 契約書セクション */
/* セクション全体 */
.contract {
  margin-top: 3.1875rem;
  margin-bottom: 5.625rem;
}

/* インナー */
.contract__inner {
  padding-inline: 1.875rem;
}

/* 見出し（h2） */
.contract__title {
  font-size: 3.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1a53be;
  text-align: center;
}

/* 本文（スクロールボックス） */
.contract__doc {
  margin-top: 3rem;
  height: 25rem;
  overflow-y: scroll;
  border: 1px solid #000;
  padding: 1.3125rem 1.3125rem 0;
  line-height: 1.8;
  font-size: 14px;
}

/* 契約本文の中の要素（読みやすさ向上） */
.contract__doc h3 {
  font-size: 16px;
  line-height: 1.5;
  margin: 20px 0 8px;
  font-weight: 700;
  padding-left: 10px;
  border-left: 3px solid #111;
}

h3.contract__text--red {
  border-left: 3px solid #e33c3c;
}

.contract__doc p {
  margin: 0 0 12px;
}

.contract__doc ol,
.contract__doc ul {
  margin: 8px 0 12px 20px;
  padding: 0;
}

.contract__doc li {
  margin: 6px 0;
}

/* 表（料金テーブル） */
.contract__doc table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 14px;
}

.contract__doc th,
.contract__doc td {
  border: 1px solid #e0e0e0;
  padding: 10px;
  vertical-align: top;
}

.contract__doc thead th {
  background: #fafafa;
  font-weight: 700;
  top: 0;
}

.contract__text--center {
  text-align: center;
}

.contract__text--red {
  color: #e33c3c;
}

/* 同意チェック */
.contract__consent {
  margin-top: 2.5625rem;
}

.contract__agree {
  display: block;
  cursor: pointer;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0.625rem;
}

.contract__check {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contract__agree-label {
  position: relative;
  padding-left: 2.0625rem;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-right: 1.875rem;
}

.contract__agree-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 1.3125rem;
  height: 1.3125rem;
  border: 2px solid #333;
  background: #fff;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

/* ✔️ チェック時の見た目 */
.contract__check:checked + .contract__agree-label::after {
  content: "✔️";
  position: absolute;
  left: 0.1875rem;
  top: 40%;
  font-size: 0.8125rem;
  color: #2a447c;
  /* 青色 */
}

.contract__btn-area {
  margin-top: 8rem;
}

.contract-consent__note {
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 2.875rem;
}

/* =========================
  フッター
   ========================= */
.footer {
  background-color: #0b2c75;
  padding-block: 2.4375rem;
}

/* list
   HTML: <ul class="footer__list"> */
.footer__list {
  display: flex;
  justify-content: center;
}

/* item
   HTML: <li class="footer__item"> */
.footer__item:not(:last-child) {
  border-right: 1px solid #fff;
}

/* link
   HTML: <a class="footer__link" href="…"> */
.footer__link {
  font-size: 1.375rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.1;
  padding-inline: 0.5rem;
}

/* copyright
   HTML: <p class="footer__copy"> */
.footer__copy {
  font-size: 1.375rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin-top: 1rem;
}

/* 同意促しモーダル ---------------------------------- */
/* ラッパー（hidden時は非表示） */
.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.consent-modal[hidden] {
  display: none;
}

/* 背面オーバーレイ */
.consent-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}

/* モーダル本体 */
.consent-modal__content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, 100% - 40px);
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.18);
  padding: 1.375rem 1.25rem 1.125rem;
  outline: none;
}

/* 説明テキスト */
.consent-modal__text {
  font-size: 1rem;
  line-height: 1.6;
  color: #6b7280;
  /* 薄いグレー */
  text-align: center;
  margin-bottom: 1.125rem;
}

/* ボタン配置 */
.consent-modal__actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
}

/* OKボタン */
.consent-modal__primary {
  min-width: 6rem;
  height: 2.5rem;
  padding-inline: 1rem;
  border-radius: 0.375rem;
  border: 1px solid #5aa9ff;
  background-color: #67b3ff;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
}

/* フォーカスリング（アクセシビリティ） */
.consent-modal__primary:focus-visible {
  outline: 0.1875rem solid rgba(103, 179, 255, 0.6);
  outline-offset: 0.125rem;
}

/* プライバシーポリシー */
.policy {
  padding-block: 3.125rem 0.625rem;
}

.policy__inner {
  padding-inline: 1.875rem;
}

.policy__title {
  font-size: 3.125rem;
  font-weight: 700;
  text-align: center;
  color: #062C75;
}

.policy__title--mb {
  margin-bottom: 2.8125rem;
}

.policy__block {
  border: 1px solid #DFDFDF;
}

.policy__heading {
  background-color: #DBDBDB;
  border-bottom: 1px solid #DFDFDF;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  padding-block: 1.5625rem;
}

.policy__text {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0.625rem 0.625rem 0.9375rem;
}

/* 特定商取引法に基づく表記 */
.commerce {
  padding-block: 3.125rem 0.625rem;
}

.commerce__inner {
  padding-inline: 1.875rem;
}

.commerce__title {
  font-size: 2.8125rem;
  font-weight: 700;
  text-align: center;
  color: #062C75;
}

.commerce__title--mb {
  margin-bottom: 2.8125rem;
}

/* 特定商取引法に基づく表記（olバージョン専用） */
ol.commerce__list {
  margin-bottom: 3.125rem;
}

ol.commerce__list .commerce__block {
  border: unset;
}

ol.commerce__list .commerce__heading {
  border-bottom: unset;
  background-color: unset;
}

.commerce__block {
  border: 1px solid #DFDFDF;
}

.commerce__heading {
  background-color: #DBDBDB;
  border-bottom: 1px solid #DFDFDF;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  padding-block: 1.5625rem;
}

.commerce__text {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1.25rem 0.9375rem;
}/*# sourceMappingURL=style.css.map */