/* ========================================
   リセットCSS
======================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  overflow-x: hidden;
  background: var(--s-color-dd962245);
  transition: background 0.5s var(--ease-main);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  border: none;
  background: none;
  font: inherit;
  cursor: pointer;
}

/* ========================================
   CSS変数定義（STUDIOから抽出）
======================================== */
:root {
  /* カラー */
  --s-color-dd962245: #6d9561;
  --s-color-6e80f46c: #15337dff;
  --s-color-57b72446: #ff3131ff;
  --s-color-ff805ca3: linear-gradient(90deg, #e8cf8aff, #9f7e2fff);
  --s-color-62b315c7: #34a853ff;
  --s-color-4f83b3db: #a8e6a1ff;
  --s-color-479f57ce: #3ed23eff;
  --s-color-e2948a8e: #ffffffff;
  --s-color-d2beae4c: #d9d9d9ff;
  --color-bg-cream: #FEFBCE;

  /* フォント */
  --s-font-5db43611: Lato;
  --s-font-139f16d5: 'Noto Sans JP';
  --s-font-faa75fe6: Raleway;
  --s-font-71bc664e: 'Josefin Sans';
  --s-font-00adc92e: 'Bebas Neue';
  --s-font-768ecfa4: 'M PLUS Rounded 1c';
  --s-font-dd8503a0: 'Zen Kaku Gothic New';
  --s-font-bb9aee48: 'Zen Old Mincho';

  /* トランジション */
  --ease-main: cubic-bezier(0.4, 0.4, 0, 1);
}

/* ========================================
   固定背景
======================================== */
.fixed-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 105vh;
  background: linear-gradient(0deg, #6d9561 0%, #ffffff 100%);
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  max-width: 100vw;
}

.fixed-bg-inner {
  width: 100%;
  height: 120vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.fixed-bg-image {
  width: 100%;
  height: 100%;
  max-width: 100%;
  background-image: url('../images/fixed-bg.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  filter: contrast(150%);
  transform: scale(1.1);
}

/* ========================================
   FVセクション
======================================== */
.hero-section {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 0;
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: clip;
}

.hero-section > * {
  max-width: 100%;
  box-sizing: border-box;
}

.hero-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

.hero-inner > * {
  max-width: 100%;
  box-sizing: border-box;
}

/* ========================================
   タイトルバッジ
======================================== */
.hero-badge {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  background: transparent;
  flex: none;
  height: auto;
  margin: 20px 0 0 0;
  padding: 0 10px;
  width: 100%;
  max-width: 100%;
}

.badge-text {
  display: inline-block;
  background: var(--s-color-57b72446);
  color: var(--s-color-e2948a8e);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  height: auto;
  line-height: 1.4;
  padding: 5px 10px;
  text-align: left;
  width: auto;
  max-width: 100%;
}

/* ========================================
   メインコピー
======================================== */
.hero-headline {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.headline-text {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--s-font-139f16d5);
  font-weight: 900;
  color: var(--s-color-57b72446);
  box-sizing: border-box;
}

.headline-text > * {
  max-width: 100%;
  box-sizing: border-box;
}

.headline-part {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  background: transparent;
  flex: none;
  height: auto;
  width: 100%;
  max-width: 100%;
}

.headline-why {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 50px;
  font-style: normal;
  font-weight: 900;
  height: auto;
  line-height: 1.4;
  letter-spacing: -0.05em;
  margin: 0;
  padding: 0 10px;
  text-align: left;
  text-shadow: 0px 0px 0px transparent;
  flex: none;
  width: 100%;
  max-width: 100%;
}

.headline-because {
  display: block;
  box-sizing: border-box;
  color: var(--s-color-57b72446);
  flex: none;
  font-family: var(--s-font-139f16d5);
  font-size: 50px;
  font-style: normal;
  font-weight: 900;
  height: auto;
  letter-spacing: -0.05em;
  margin: -35px 0 0 0;
  padding: 0 10px;
  text-align: right;
  text-shadow: 0px 0px 0px transparent;
  width: 100%;
  max-width: 100%;
}

/* メイン部分（100を切れない） */
.headline-main {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: center;
  background: transparent;
  flex: none;
  height: auto;
  margin: -40px 0 0 0;
  padding: 0 0 0 5px;
  width: 100%;
  max-width: 100%;
  z-index: 1;
  transition-delay: 500ms;
}

.headline-number-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  width: auto;
  height: auto;
  z-index: 1;
  font-size: 0;
}

.headline-number {
  display: inline-block;
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 90px;
  font-style: italic;
  font-weight: 900;
  height: auto;
  line-height: 1.4;
  letter-spacing: -0.05em;
  margin: 0;
  padding: 0;
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2);
  transform: scale(0.9, 1);
  width: auto;
  max-width: 100%;
  white-space: nowrap;
  z-index: 1;
  flex: none;
}

.headline-cannot {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 55px;
  font-style: italic;
  font-weight: 900;
  height: auto;
  line-height: 1.4;
  letter-spacing: -0.05em;
  margin: 0 0 0 -10px;
  padding: 24px 10px 0 0;
  text-align: center;
  text-shadow: 3px 3px 0px var(--s-color-e2948a8e);
  transform: scale(0.95, 1);
  width: auto;
  max-width: calc(100% - -10px);
  white-space: nowrap;
  z-index: 1;
  flex: none;
  transition-delay: 500ms;
}

/* ゴルフクラブ画像 */
.golf-club-image {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130px;
  background: transparent;
  flex: none;
  padding: 0;
  z-index: 0;
  max-width: 100%;
  object-fit: contain;
  object-position: left bottom;
  transform-origin: bottom left;
}

/* ========================================
   理由セクション
======================================== */
.hero-reason {
  width: 100%;
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
  background: transparent;
  flex: none;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  z-index: 2;
  max-width: 100%;
}

.reason-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.reason-box {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  background: var(--s-color-57b72446);
  border-radius: 12px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
  flex: none;
  height: auto;
  margin: 10px 0 10px 0;
  padding: 0 0 0 6px;
  width: 95vw;
  max-width: 100%;
  overflow: visible;
  z-index: 1;
}

.reason-text-wrapper {
  display: flex;
  flex-direction: column;
  align-content: flex-end;
  align-items: flex-end;
  justify-content: flex-start;
  background: transparent;
  height: auto;
  width: 63%;
  max-width: 63%;
  padding: 0;
  gap: 0;
  z-index: 2;
  flex: none;
  --gap-h: 0px;
  --gap-v: 0px;
}

.reason-line {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  background: transparent;
  height: auto;
  width: auto;
  max-width: 100%;
}

.reason-line-1 {
  justify-content: flex-end;
  margin: 0 0 -7px 0;
  padding: 0;
  align-content: flex-end;
  align-items: flex-end;
  flex: none;
  width: 100%;
  max-width: 100%;
}

.reason-line-2 {
  justify-content: center;
  margin: -10px 0 -7px 0;
  padding: 0;
  align-content: flex-end;
  align-items: flex-end;
  flex: none;
  width: 100%;
  max-width: 100%;
}

.reason-line-3 {
  justify-content: flex-start;
  margin: -10px 0 -7px 0;
  padding: 0;
  align-content: flex-end;
  align-items: flex-end;
  flex: none;
  width: 100%;
  max-width: 100%;
}

.reason-line-4 {
  justify-content: flex-start;
  margin: -10px 0 10px 0;
  padding: 0;
  align-content: flex-end;
  align-items: flex-end;
  flex: none;
  width: 100%;
  max-width: 100%;
}

.reason-text-normal {
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  color: var(--s-color-e2948a8e);
  margin: 0;
  padding: 12px 0 12px 0;
  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
  height: auto;
  text-align: center;
  width: auto;
  max-width: 100%;
}

.reason-text-em {
  font-family: var(--s-font-139f16d5);
  font-size: 63px;
  font-weight: 900;
  letter-spacing: -3.15px;
  color: var(--s-color-e2948a8e);
  margin: 0;
  padding: 0;
  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
  height: auto;
  width: auto;
  max-width: 100%;
}

.reason-quote {
  font-family: var(--s-font-139f16d5);
  font-size: 55px;
  font-weight: 400;
  letter-spacing: -2.75px;
  color: var(--s-color-e2948a8e);
  margin: 0;
  padding: 0;
  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
  height: auto;
  width: auto;
  max-width: 100%;
}

/* 人物画像 */
.person-image-wrapper {
  position: absolute;
  right: -35px;
  top: 0;
  height: 105%;
  width: auto;
  background: transparent;
  flex: none;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  overflow-x: visible;
  overflow-y: visible;
  z-index: 1;
  max-width: 100%;
}

.person-image {
  width: 250px;
  height: 320px;
  flex: none;
  position: relative;
  overflow-x: visible;
  overflow-y: visible;
  max-width: 100%;
  object-fit: contain;
}

.person-image:before {
  background-repeat: no-repeat;
  background-size: contain;
}

/* ========================================
   誘導文言
======================================== */
.hero-guide {
  width: 100%;
  margin: 30px 0 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-guide.appear {
  opacity: 0;
  transform: translateY(20px);
  transition-delay: 0.6s;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
}

.hero-guide.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.guide-wrapper {
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  background: var(--s-color-ff805ca3);
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.5);
  flex: none;
  height: auto;
  margin: 10px 0;
  padding: 10px 30px 45px;
  width: auto;
  max-width: 100%;
  z-index: 1;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));
}

.guide-text {
  color: var(--s-color-e2948a8e);
  font-family: var(--s-font-139f16d5);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  height: auto;
  width: auto;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
}

/* ========================================
   スクロール誘導
======================================== */
.hero-scroll {
  width: 100%;
  margin-top: auto;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.hero-scroll.appear {
  opacity: 0;
  transform: translateY(20px);
  transition-delay: 0.6s;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
}

.hero-scroll.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.scroll-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.scroll-text {
  color: #ffffff;
  font-family: 'Raleway', sans-serif;
  font-size: 23px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
  text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.8);
  margin-top: 20px;
}

.scroll-arrows {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.scroll-arrow {
  width: 60px;
  height: auto;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.3));
  margin-top: -5px;
  opacity: 0;
  animation: arrowFadeIn 1.5s ease-in-out infinite;
}

.scroll-arrow:first-child {
  margin-top: 0;
}

.scroll-arrow-1 {
  animation-delay: 0s;
}

.scroll-arrow-2 {
  animation-delay: 0.3s;
}

.scroll-arrow-3 {
  animation-delay: 0.6s;
}

@keyframes arrowFadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  50% {
    opacity: 0.9;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(10px);
  }
}

/* ========================================
   アニメーション（appear）
======================================== */
.appear {
  opacity: 0;
  transition: opacity 1.6s var(--ease-main), transform 1.6s var(--ease-main), filter 1s var(--ease-main);
}

.appear.is-visible {
  opacity: 1;
}

/* 個別アニメーション設定 */
.headline-part.appear {
  transform: translate(60px, 0);
  transition-delay: 0.6s;
  transition-duration: 1.6s;
  transition-timing-function: ease-in-out;
}

.headline-part.appear.is-visible {
  transform: translate(0, 0);
}

.headline-because.appear {
  transition-delay: 1.4s;
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.67, 0.15, 0.56, 1);
}

.headline-number-group.appear {
  transform: translate(60px, 0);
  transition-delay: 1.4s;
  transition-duration: 1.6s;
  transition-timing-function: ease-in-out;
}

.headline-number-group.appear.is-visible {
  transform: translate(0, 0);
}

.golf-club-image.appear {
  transform: scale(0, 0);
  transition-delay: 2.5s;
  transition-duration: 1.6s;
}

.golf-club-image.appear.is-visible {
  transform: scale(1, 1);
}

.reason-box.appear {
  opacity: 0;
  transition-delay: 3.5s;
  transition-duration: 1.6s;
  transition-timing-function: var(--ease-main);
}

.reason-box.appear.is-visible {
  opacity: 1;
}

.person-image-wrapper.appear {
  opacity: 0;
  transition-delay: 3.5s;
  transition-duration: 1.6s;
  transition-timing-function: var(--ease-main);
}

.person-image-wrapper.appear.is-visible {
  opacity: 1;
}

.reason-text-em.appear {
  filter: blur(100px);
  opacity: 0;
  transition-delay: 4.2s;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
}

.reason-text-em.appear.is-visible {
  filter: blur(0);
  opacity: 1;
}

/* ========================================
   繋ぎセクション
======================================== */
.transition-section {
  position: relative;
  width: 100%;
  height: 20vh;
  background: transparent;
}

.transition-inner {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-788x336_v-fs_webp_d0c80f8d-74aa-42ff-9c2b-ca04a53e765d.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ========================================
   お悩みセクション
======================================== */
.problems-section {
  position: relative;
  width: 100%;
  background: transparent;
  padding: 50px 10px 40px 10px;
  margin: 50px 0 0 0;
}

.problems-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}

.problems-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 20px;
  max-width: 100%;
}

/* タイトル */
.problems-title-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 5px;
  margin-bottom: 0;
  background: transparent;
}

.problems-title {
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  line-height: 1.20;
  letter-spacing: -0.05em;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
  max-width: 100%;
}

/* カードグリッド */
.problems-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: stretch;
  justify-content: flex-start;
  width: 100%;
  height: 450px;
  gap: 10px;
  margin: 30px 0 20px 0;
  overflow: visible;
  max-width: 100%;
}

/* 個別カード */
.problem-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: calc(50% - 5px);
  height: calc(50% - 5px);
  background: var(--s-color-d2beae4c);
  border-radius: 12px;
  padding: 10px;
  margin: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.problem-text {
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.20;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 0 0 10px 0;
  padding: 0;
  max-width: 100%;
}

.problem-image {
  width: 100%;
  height: 60%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.problem-image-1 {
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-2388x1668_v-frms_webp_eaf7027f-ecb7-45ff-b12e-095016b4c631_small.webp');
}

.problem-image-2 {
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-2388x1668_v-frms_webp_01af409b-2d17-4d3c-aef3-68700abe37e1_small.webp');
}

.problem-image-3 {
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-2388x1668_v-frms_webp_c721b6d4-d02c-48ce-891c-16fe2f943492_small.webp');
}

.problem-image-4 {
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-2388x1668_v-frms_webp_b1821d0e-f1d2-43e7-af06-62791fa4059b_small.webp');
}

/* スペーサー */
.problems-spacer {
  width: 100%;
  height: 30px;
}

/* メッセージ1 */
.problems-message-1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  height: auto;
  background: transparent;
}

.message-text {
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.05em;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 0;
  padding: 0;
  text-shadow: 0px 0px 0px transparent;
  max-width: 100%;
}

/* メッセージ2 */
.problems-message-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  height: auto;
  background: transparent;
}

/* メッセージ2の中のテキスト「ではありません。」 */
.problems-message-2 .message-text {
  color: var(--s-color-57b72446);
  margin: -5px 0 0 0;
}

.message-emphasis {
  font-family: var(--s-font-139f16d5);
  font-size: 72px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.05em;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0;
  padding: 0;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
  max-width: 100%;
}

/* 人物画像 */
.problems-person-image {
  position: absolute;
  top: auto;
  bottom: -50px;
  left: auto;
  right: 0;
  width: 90px;
  height: 120px;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-1794x2250_v-frms_webp_a9ae2b41-9d25-4ded-b583-b92ecf6e940b_small.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
  flex: none;
}

/* ========================================
   お悩みセクション - アニメーション
======================================== */
.problems-section.appear {
  opacity: 0;
  transition: opacity 1000ms ease-in-out;
}

.problems-section.appear.is-visible {
  opacity: 1;
}

.problem-card.appear {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 800ms ease-in-out, transform 800ms ease-in-out;
}

.problem-card.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.problem-card:nth-child(1).appear {
  transition-delay: 500ms;
}

.problem-card:nth-child(2).appear {
  transition-delay: 1600ms;
}

.problem-card:nth-child(3).appear {
  transition-delay: 2100ms;
}

.problem-card:nth-child(4).appear {
  transition-delay: 3200ms;
}

.problems-message-2.appear {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1000ms ease-in-out, transform 1000ms ease-in-out;
  transition-delay: 1600ms;
}

.problems-message-2.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.problems-person-image.appear {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1000ms ease-in-out, transform 1000ms ease-in-out;
  transition-delay: 1900ms;
}

.problems-person-image.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   セクション3: 本当の理由
   ======================================== */

.reason-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  background: transparent;
  box-sizing: border-box;
}

.reason-section-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  padding: 30px 20px;
  box-sizing: border-box;
  gap: 0;
}

/* 上部グループ */
.reason-top-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 0 0 0 0;
  max-width: 100%;
  box-sizing: border-box;
}

.reason-title-wrapper {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  gap: 5px;
}

.reason-title {
  /* data-s-d1b39ca6 継承スタイル */
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  /* data-s-345c06a1 独自スタイル */
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 0;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
  width: auto;
  max-width: 100%;
}

/* 背景画像エリア（上部） */
.reason-bg-area-1 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 50vh;
  padding: 30px;
  background-image: url('../images/section3-bg1.webp');
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  box-sizing: border-box;
  max-width: 100%;
}

.reason-text-blue {
  /* data-s-b8bb87d0 継承スタイル */
  font-family: var(--s-font-139f16d5);
  font-size: 26px;
  font-weight: 900;
  color: var(--s-color-6e80f46c);
  text-align: left;
  margin: 0;
  position: relative;
  max-width: 100%;
}

/* 優先順位が */
.reason-priority-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  width: auto;
  max-width: 100%;
}

.reason-priority-text {
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  color: var(--s-color-57b72446);
  text-align: left;
  margin: 0;
  position: relative;
  max-width: 100%;
}

.reason-text-ga {
  margin: 3px 0;
}

/* ズレているだけ */
.reason-misaligned-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  width: auto;
  margin: -10px 0;
  max-width: 100%;
}

.reason-misaligned-text {
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  color: var(--s-color-57b72446);
  text-align: left;
  margin: 0;
  position: relative;
  max-width: 100%;
}

.reason-text-dake {
  margin: 3px 0;
}

/* 下部グループ */
.reason-bottom-group {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  background: transparent;
  max-width: 100%;
  box-sizing: border-box;
}

/* 背景画像エリア（下部） */
.reason-bg-area-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(110% + 20px);
  height: 320px;
  margin: 0 0 0 -40px;
  padding: 50px 20px 30px 40px;
  background-image: url('../images/section3-bg2.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}

.reason-text-special {
  font-family: var(--s-font-139f16d5);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 0;
  position: relative;
  max-width: 100%;
}

/* たった３つを */
.reason-number-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: nowrap;
  margin: -25px 0 0 0;
  max-width: 100%;
}

.reason-text-tatta {
  padding: 15px 0;
  text-align: center;
}

.reason-number-3 {
  font-family: var(--s-font-139f16d5);
  font-size: 60px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0 0 0 -5px;
  position: relative;
  max-width: 100%;
}

.reason-number-tsu {
  font-family: var(--s-font-139f16d5);
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--s-color-57b72446);
  text-align: center;
  padding: 5px 0;
  margin: 0 0 0 -5px;
  position: relative;
  max-width: 100%;
}

.reason-text-wo {
  margin: 0 0 0 5px;
  padding: 15px 0;
  text-align: center;
}

.reason-text-teach {
  font-family: var(--s-font-139f16d5);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: -20px 0 0 0;
  position: relative;
  max-width: 100%;
}

/* アニメーション: セクション全体 */
.reason-section.appear {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1000ms ease-in-out, transform 1000ms ease-in-out;
}

.reason-section.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アニメーション: 優先順位が（1000ms） */
.reason-priority-group.appear {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1000ms;
}

.reason-priority-group.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アニメーション: ズレているだけ（1600ms） */
.reason-misaligned-group.appear {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1600ms;
}

.reason-misaligned-group.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アニメーション: なんです。（1600ms） */
.reason-text-nandesu.appear {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1600ms;
}

.reason-text-nandesu.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アニメーション: たった３つを（2600ms、スケール） */
.reason-number-group.appear {
  opacity: 1;
}

.reason-number-3.appear {
  transform: scale(0, 0);
  transition: transform 1000ms ease-in-out;
  transition-delay: 1600ms;
}

.reason-number-3.appear.is-visible {
  transform: scale(1, 1);
}

.reason-number-tsu.appear {
  transform: scale(0, 0);
  transition: transform 1000ms ease-in-out;
  transition-delay: 1600ms;
}

.reason-number-tsu.appear.is-visible {
  transform: scale(1, 1);
}

/* ========================================
   繋ぎセクション（セクション3-4間）
   ======================================== */

.transition-3-4-section {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 25vh;
  padding: 0;
  background: transparent;
  z-index: 2;
  box-sizing: border-box;
  max-width: 100%;
}

.transition-3-4-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/transition3-4-bg1.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.transition-3-4-inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 25vh;
  padding: 0;
  box-sizing: border-box;
  max-width: 100%;
}

.transition-3-4-subsection {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 187px;
  margin: 0 0 -80px 0;
  padding: 0;
  background: transparent;
  z-index: 2;
  box-sizing: border-box;
  max-width: 100%;
}

.transition-3-4-subsection::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/transition3-4-bg2.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

/* ========================================
   セクション4: 100を切るための３つの要素
   ======================================== */

.section4 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  padding: 150px 0;
  margin: -60px 0 0 0;
  background: transparent;
  z-index: 1;
  box-sizing: border-box;
  max-width: 100%;
}

.section4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-1024x1536_v-fms_webp_aebb181e-c0dc-4ffe-80d7-2b7d07483e27.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.section4-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* タイトル */
.section4-title-wrapper {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 30px 0;
  gap: 5px;
  background: transparent;
  flex: none;
  max-width: 100%;
}

.section4-title {
  /* data-s-d1b39ca6 継承スタイル */
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  /* data-s-64283214-893e-4bce-94a9-ba22fbc3372b 独自スタイル */
  color: var(--s-color-e2948a8e);
  text-align: center;
  margin: 0;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* カード1: 基準が整っている */
.section4-card1-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 0;
  background: transparent;
  flex-wrap: nowrap;
  max-width: 100%;
}

.section4-card1-image {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  background: transparent;
  flex: none;
  max-width: 100%;
}

.section4-card1-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-341x338_webp_4c681384-6c4a-46ec-b6c7-b1bb232774fa.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

.section4-card1-text {
  font-family: var(--s-font-139f16d5);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.20;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* カード2+3グループ */
.section4-card23-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: -40px 0 0 0;
  padding: 0;
  background: transparent;
  flex-wrap: nowrap;
  max-width: 100%;
}

/* カード2: 正しい順番で練習している */
.section4-card2-image {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  margin: 0 -10px 0 0;
  background: transparent;
  flex: none;
  z-index: 1;
  max-width: calc(100% - -10px);
}

.section4-card2-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-341x338_webp_4c681384-6c4a-46ec-b6c7-b1bb232774fa.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

.section4-card2-text {
  font-family: var(--s-font-139f16d5);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.20;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* カード3: コースをイメージする */
.section4-card3-image {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  background: transparent;
  flex: none;
  z-index: 2;
  max-width: 100%;
}

.section4-card3-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-341x338_webp_4c681384-6c4a-46ec-b6c7-b1bb232774fa.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

.section4-card3-text {
  font-family: var(--s-font-139f16d5);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.20;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* アニメーション: タイトル */
.section4-title-wrapper.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 2000ms ease-in-out, transform 2000ms ease-in-out;
}

.section4-title-wrapper.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード1 (1500ms遅延) */
.section4-card1-wrapper.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 2000ms ease-in-out, transform 2000ms ease-in-out;
  transition-delay: 1500ms;
}

.section4-card1-wrapper.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード23グループ */
.section4-card23-group.appear {
  opacity: 0;
  transition: opacity 1000ms ease-in-out;
}

.section4-card23-group.appear.is-visible {
  opacity: 1;
}

/* アニメーション: カード2 (2500ms遅延) */
.section4-card2-image.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 2000ms ease-in-out, transform 2000ms ease-in-out;
  transition-delay: 2500ms;
}

.section4-card2-image.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード3 (4000ms遅延) */
.section4-card3-image.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 2000ms ease-in-out, transform 2000ms ease-in-out;
  transition-delay: 4000ms;
}

.section4-card3-image.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* ========================================
   セクション5: え、これだけ？
   ======================================== */

.section5 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 610px;
  margin: -70px 0 0 0;
  background: transparent;
  flex: none;
  z-index: 1;
  box-sizing: border-box;
  max-width: 100%;
}

.section5::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-1668x2388_v-frms_webp_80975a74-e871-48a0-aaff-52a5f160709b_regular.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.section5-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
}

/* タイトル */
.section5-title {
  font-family: var(--s-font-139f16d5);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 100px 0 20px 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* 中央ボックス（背景画像付き） */
.section5-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 372px;
  height: 280px;
  margin: 0;
  padding: 0;
  background: transparent;
  flex: none;
  max-width: 100%;
}

.section5-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-722x542_v-fs_webp_fc09e68d-7ec3-4486-b3dc-eea2ba945001.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

/* ボックス内テキスト1 */
.section5-text1 {
  font-family: var(--s-font-139f16d5);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  color: var(--s-color-57b72446);
  text-align: center;
  margin: 30px 0 0 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* ボックス内テキスト2 */
.section5-text2 {
  font-family: var(--s-font-139f16d5);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  color: var(--s-color-6e80f46c);
  text-align: center;
  margin: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  justify-content: center;
}

/* 下部装飾画像 */
.section5-decoration {
  position: absolute;
  bottom: -100px;
  left: 0;
  width: 100%;
  height: 200px;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-788x336_v-fs_webp_c5c9474c-bb6c-4b56-a7c5-83455b84a2a7.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  flex: none;
  z-index: 1;
  max-width: 100%;
}

/* アニメーション: タイトル */
.section5-title.appear {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1000ms ease-in-out, transform 1000ms ease-in-out;
}

.section5-title.appear.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アニメーション: ボックス (ブラー効果) */
.section5-box.appear {
  filter: blur(50px);
  opacity: 0;
  transition: filter 1500ms ease-in-out, opacity 1500ms ease-in-out;
}

.section5-box.appear.is-visible {
  filter: blur(0);
  opacity: 1;
}

/* ============================================
   セクション6: 私が断言します!!
   ============================================ */

/* セクション全体 */
.section6 {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;

  margin: -100px 0 0 0;
  bottom: -100px;
  background: transparent;
  box-sizing: border-box;
}

/* 背景画像 */
.section6::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-1024x1536_v-fms_webp_9e5c913c-62f1-4840-b793-e41cde9b229d.webp');
  background-position: center bottom;
  background-repeat: repeat;
  background-size: contain;
  z-index: -1;
}

/* 内部コンテナ */
.section6-inner {
  width: 100%;
  padding: 100px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* コンテナ */
.section6-container {
  width: 100%;
  margin: 30px 0 50px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* タイトルとbadgeグループ */
.section6-title-group {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: transparent;
  box-sizing: border-box;
}

/* タイトル */
.section6-title {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 40px;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  text-align: center;
  z-index: 2;
  box-sizing: border-box;
}

/* Badge画像 */
.section6-badge {
  position: absolute;
  bottom: -14px;
  left: 20px;
  right: -11px;
  top: auto;
  width: auto;
  height: 53px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  background: transparent;
  z-index: 1;
  box-sizing: border-box;
}

.section6-badge::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-728x130_v-fs_webp_c5e3b683-a221-4e6f-9374-884eea6dc361.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* プロフィール画像ラッパー */
.section6-profile-wrapper {
  width: 100%;
  margin: 20px 0 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  box-sizing: border-box;
}

/* プロフィール画像 */
.section6-profile-image {
  position: relative;
  width: 360px;
  height: 370px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  background: transparent;
  box-sizing: border-box;
}

.section6-profile-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-666x704_v-fs_webp_21f012f3-dcb6-43e1-b911-0ddb6a3153f6.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* 名前とクレデンシャルコンテナ */
.section6-info {
  width: 100%;
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  background: transparent;
  box-sizing: border-box;
}

/* 名前 */
.section6-name {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  text-align: left;
  margin: 0;
  width: auto;
  box-sizing: border-box;
}

/* クレデンシャルコンテナ */
.section6-credentials {
  width: 100%;
  padding: 20px 0 0 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  background: transparent;
  box-sizing: border-box;
}

.section6-credentials-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: auto;
  background: transparent;
  box-sizing: border-box;
}

/* クレデンシャルテキスト */
.section6-credentials-text {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 19px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.50;
  text-align: left;
  margin: 0;
  box-sizing: border-box;
}

/* カードコンテナ */
.section6-cards {
  width: 100%;
  margin: 30px 0 50px 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  background: transparent;
  box-sizing: border-box;
}

/* カード1 */
.section6-card1 {
  width: 130px;
  height: 220px;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  position: relative;
  box-sizing: border-box;
}

.section6-card1::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-219x343_webp_ada29289-b36c-491c-90e6-734c57f4cd24.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

.section6-card1-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  box-sizing: border-box;
}

.section6-card1-text1 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  margin: 0;
  box-sizing: border-box;
}

.section6-card1-text2 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.5);
  margin: 0 0 30px 0;
  box-sizing: border-box;
}

/* カード2 */
.section6-card2 {
  width: 130px;
  height: 220px;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  position: relative;
  box-sizing: border-box;
}

.section6-card2::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-219x343_webp_ada29289-b36c-491c-90e6-734c57f4cd24.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

.section6-card2-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  box-sizing: border-box;
}

.section6-card2-text1 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  margin: 0;
  box-sizing: border-box;
}

.section6-card2-text2 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.5);
  margin: 0 0 30px 0;
  box-sizing: border-box;
}

/* カード3 */
.section6-card3 {
  width: 130px;
  height: 220px;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  position: relative;
  box-sizing: border-box;
}

.section6-card3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-219x343_webp_ada29289-b36c-491c-90e6-734c57f4cd24.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

.section6-card3-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  box-sizing: border-box;
}

.section6-card3-text1 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  margin: 0;
  box-sizing: border-box;
}

.section6-card3-text2 {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.5);
  margin: 0 0 30px 0;
  box-sizing: border-box;
}

/* ============================================
   セクション6 アニメーション
   ============================================ */

/* アニメーション: title-group */
.section6-title-group .section6-title.appear {
  opacity: 0;
  transform: translate(-30px, 0);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 600ms;
}

.section6-title-group .section6-title.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード1 */
.section6-card1.appear {
  opacity: 0;
  transform: translate(0, -20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1000ms;
}

.section6-card1.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード2 */
.section6-card2.appear {
  opacity: 0;
  transform: translate(0, -20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 2100ms;
}

.section6-card2.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: カード3 */
.section6-card3.appear {
  opacity: 0;
  transform: translate(0, -20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 3200ms;
}

.section6-card3.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション: title-group wrapper */
.section6-title-group.appear {
  opacity: 0;
  transform: translate(-30px, 0);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 600ms;
}

.section6-title-group.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* ================================================
   Section 7 Transition
   ================================================ */
.section7-transition {
  background: var(--s-color-57b72446);
  flex: none;
  height: 80px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* ================================================
   Section 7: そんな私が100切りの全てを
   ================================================ */

/* セクション要素 */
.section7 {
  position: relative;
  background: var(--s-color-57b72446);
  flex: none;
  margin: 0px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* 内部要素 - paddingはここのみ */
.section7-inner {
  padding: 0px 10px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* メインコンテナ（デフォルト+モバイル組み合わせ、人物画像の親 - position:relative必須） */
.section7-main-container {
  /* position:relativeは絶対配置の親要素として必須 */
  position: relative;
  /* モバイル */
  height: auto;
  margin: 0px 0px 20px 0px;
  width: 95%;
  max-width: 95%;
  /* デフォルトから継承 */
  align-content: center;
  align-items: center;
  background: rgba(0,0,0,0.0);
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  display: flex;
  box-sizing: border-box;
}

/* タイトル1（デフォルト+モバイル組み合わせ） */
.section7-title1 {
  /* モバイル */
  color: #ffffffff;
  font-size: 27px;
  font-weight: 900;
  margin: 0px 0px 10px 0px;
  max-width: 100%;
  /* デフォルトから継承 */
  font-family: var(--s-font-139f16d5);
  height: auto;
  line-height: 1.2;
  text-align: center;
  width: auto;
  justify-content: center;
  box-sizing: border-box;
}

/* タイトル2（モバイル: 48px/900/text-shadow） */
.section7-title2 {
  color: #ffffffff;
  font-family: var(--s-font-139f16d5);
  font-size: 48px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0px 0px 10px;
  padding: 0px;
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2);
  max-width: 100%;
  text-align: center;
  box-sizing: border-box;
}

/* "にまとめました"コンテナ（デフォルト+モバイル組み合わせ） */
.section7-summary-container {
  /* モバイル */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  width: 100%;
  max-width: 100%;
  /* デフォルトから継承 */
  padding: 0px;
  display: flex;
  box-sizing: border-box;
}

/* "にまとめました"テキスト（デフォルト+モバイル組み合わせ） */
.section7-summary-text {
  /* モバイル */
  color: #ffffffff;
  font-size: 27px;
  font-weight: 900;
  margin: 0px 0px 10px 0px;
  text-align: left;
  max-width: 100%;
  justify-content: flex-start;
  /* デフォルトから継承 */
  font-family: var(--s-font-139f16d5);
  height: auto;
  line-height: 1.2;
  width: auto;
  box-sizing: border-box;
}

/* 人物画像（position:absolute） */
.section7-person-image {
  position: absolute;
  bottom: -40px;
  left: -17px;
  top: auto;
  right: auto;
  width: 100px;
  height: 120px;
  flex: none;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
}

.section7-person-image::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-2428x2852_v-frms_webp_fc541f21-c408-4854-b6ce-f3d1fc7ef9b7_small.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.section7-person-image.appear {
  opacity: 0;
  transform: translate(0px, 15px);
  transform-origin: bottom left;
  transition-delay: 500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-person-image.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
  transform-origin: bottom left;
  transition-delay: 500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

/* 白背景コンテナ（デフォルト+モバイル組み合わせ） */
.section7-white-container {
  /* モバイル */
  align-content: flex-start;
  align-items: flex-start;
  flex: none;
  justify-content: center;
  margin: 0px;
  padding: 10px;
  width: 95%;
  max-width: 95%;
  /* デフォルトから継承 */
  background: #FFFFFF;
  border-radius: 8px;
  height: auto;
  opacity: 1;
  overflow-x: visible;
  overflow-y: visible;
  /* 人物画像(z-index:1)より前面に表示 */
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* コースヘッダー（デフォルト+モバイル組み合わせ） */
.section7-course-header {
  /* モバイル */
  align-content: center;
  align-items: center;
  flex: none;
  height: auto;
  justify-content: flex-start;
  padding: 10px 0px 0px 0px;
  /* デフォルトから継承 */
  background: rgba(0,0,0,0.0);
  border-radius: 0;
  opacity: 1;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* コースタイトル（デフォルト+モバイル組み合わせ） */
.section7-course-title {
  /* モバイル */
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 19px;
  font-weight: 900;
  letter-spacing: -0.05em;
  /* デフォルトから継承 */
  border-radius: 0;
  line-height: 1.5;
  margin: 0px 0px 10px 0px;
  padding: 0;
  text-align: center;
  max-width: 100%;
  justify-content: center;
  box-sizing: border-box;
}

/* 特徴リスト（デフォルト+モバイル組み合わせ） */
.section7-features {
  /* モバイル */
  align-content: flex-start;
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 5px 0px;
  justify-content: center;
  margin: 0px 0px 40px 0px;
  padding: 0px 0px 0px 10px;
  width: 100%;
  max-width: 100%;
  /* デフォルトから継承 */
  background: rgba(0,0,0,0.0);
  border-radius: 0;
  opacity: 1;
  overflow-x: visible;
  overflow-y: visible;
  display: flex;
  box-sizing: border-box;
}

/* 特徴1 */
.section7-feature1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
}

.section7-feature1-icon {
  width: 20px;
  height: 20px;
  flex: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.section7-feature1-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-55x55_webp_33d26dad-873a-42de-9582-760e31f9fe10.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.section7-feature1-text {
  /* モバイル */
  color: var(--s-color-6e80f46c);
  font-size: 18px;
  font-weight: 800;
  margin: 0px;
  max-width: 100%;
  /* デフォルトから継承 */
  font-family: var(--s-font-139f16d5);
  border-radius: 0;
  letter-spacing: 0em;
  line-height: 1;
  padding: 0px;
  text-align: center;
  justify-content: center;
  box-sizing: border-box;
}

/* 特徴2 */
.section7-feature2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
}

.section7-feature2-icon {
  width: 20px;
  height: 20px;
  flex: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.section7-feature2-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-55x55_webp_33d26dad-873a-42de-9582-760e31f9fe10.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.section7-feature2-text {
  /* モバイル (data-s-5a0bf361-0be6-4e17-9496-8c8b504d5844) */
  color: var(--s-color-6e80f46c);
  font-size: 18px;
  font-weight: 800;
  margin: 0px;
  max-width: 100%;
  /* デフォルトから継承 */
  font-family: var(--s-font-139f16d5);
  border-radius: 0;
  letter-spacing: 0em;
  line-height: 1;
  padding: 0px;
  text-align: center;
  justify-content: center;
  box-sizing: border-box;
}

/* STEP1 */
.section7-step1 {
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.section7-step1.appear {
  opacity: 0;
  transform: translate(0px, -10px);
  transition-delay: 600ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step1.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
  transition-delay: 600ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step1-badge {
  background: var(--s-color-57b72446);
  border-radius: 16px;
  height: auto;
  width: auto;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.section7-step1-badge-text {
  border-radius: 32px;
  color: var(--s-color-e2948a8e);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step1-title {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 5px 0px 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step1-description {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 17px;
  font-weight: 400;
  margin: 5px 0px 10px;
  padding: 0px 10px;
  text-align: left;
  max-width: 100%;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* STEP2 */
.section7-step2 {
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.section7-step2.appear {
  opacity: 0;
  transform: translate(0px, -10px);
  transition-delay: 2100ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step2.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
  transition-delay: 2100ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step2-badge {
  background: var(--s-color-57b72446);
  border-radius: 16px;
  height: auto;
  width: auto;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.section7-step2-badge-text {
  border-radius: 32px;
  color: var(--s-color-e2948a8e);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step2-title {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 5px 0px 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step2-description {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 17px;
  font-weight: 400;
  margin: 5px 0px 10px;
  padding: 0px 10px;
  text-align: left;
  max-width: 100%;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* STEP3 */
.section7-step3 {
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.section7-step3.appear {
  opacity: 0;
  transform: translate(0px, -10px);
  transition-delay: 3600ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step3.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
  transition-delay: 3600ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section7-step3-badge {
  background: var(--s-color-57b72446);
  border-radius: 16px;
  height: auto;
  width: auto;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.section7-step3-badge-text {
  border-radius: 32px;
  color: var(--s-color-e2948a8e);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step3-title {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 5px 0px 0px;
  padding: 0px 10px;
  max-width: 100%;
  box-sizing: border-box;
}

.section7-step3-description {
  border-radius: 0px;
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 17px;
  font-weight: 400;
  margin: 5px 0px 10px;
  padding: 0px 10px;
  text-align: left;
  max-width: 100%;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* ステップ画像（デフォルト+モバイル組み合わせ） */
.section7-steps-image {
  /* モバイル */
  position: absolute;
  bottom: -2px;
  right: 0px;
  left: auto;
  top: auto;
  width: 160px;
  height: 160px;
  flex: none;
  overflow-x: hidden;
  overflow-y: hidden;
  z-index: 1;
  max-width: 100%;
  /* デフォルトから継承なし（モバイルですべて指定） */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
}

.section7-steps-image::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-300x300_webp_c32723cc-ede0-452d-9de6-f6852db57dc6.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Fincsアプリセクション（デフォルト+モバイル組み合わせ） */
.section7-fincs-section {
  /* モバイル */
  align-content: stretch;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 10px;
  height: auto;
  justify-content: flex-start;
  margin: 30px 0px 30px 0px;
  overflow-x: visible;
  overflow-y: visible;
  padding: 0px 10px;
  width: 100%;
  max-width: 100%;
  /* デフォルトから継承 */
  background: rgba(0,0,0,0.0);
  border-radius: 0;
  display: flex;
  box-sizing: border-box;
}

/* Fincs内部コンテナ（デフォルト+モバイル組み合わせ） */
.section7-fincs-inner {
  /* モバイル */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 30px 0px;
  height: calc(50% - 5px);
  justify-content: space-around;
  margin: 0px;
  padding: 10px 5px 10px 5px;
  width: 100%;
  max-width: 100%;
  /* デフォルトから継承 */
  background: var(--s-color-e2948a8e);
  border-radius: 12px;
  overflow-x: visible;
  overflow-y: visible;
  display: flex;
  box-sizing: border-box;
}

/* Fincsヘッダー（デフォルト+モバイル組み合わせ） */
.section7-fincs-header {
  /* モバイル */
  align-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0px 10px;
  justify-content: space-around;
  /* デフォルトから継承 */
  flex-wrap: nowrap;
  padding: 0px;
  display: flex;
  box-sizing: border-box;
}

/* Fincsロゴ（デフォルト+モバイル組み合わせ） */
.section7-fincs-logo {
  /* モバイル */
  border-radius: 8px;
  box-shadow: 3px 3px 2px 0px rgba(0,0,0,0.2);
  flex: none;
  height: 150px;
  margin: 0px;
  width: 150px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  /* デフォルトから継承 */
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  box-sizing: border-box;
}

.section7-fincs-logo::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-1536x1538_v-fms_webp_88d9b77d-0d5f-4dc4-8164-ac48a9762fae_small.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* Fincsタイトル（デフォルト+モバイル+継承スタイル data-s-9d889849 組み合わせ） */
.section7-fincs-title {
  /* モバイル */
  color: var(--s-color-6e80f46c);
  margin: 0px;
  text-align: center;
  text-shadow: 1px 1px 0px rgba(0,0,0,0.2);
  max-width: 100%;
  justify-content: center;
  /* デフォルトから継承 */
  border-radius: 0;
  height: auto;
  padding: 0;
  /* 継承スタイル data-s-9d889849 */
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.20;
  box-sizing: border-box;
}

/* Fincs機能カードコンテナ（デフォルト+モバイル組み合わせ） */
.section7-fincs-features {
  /* モバイル */
  background: transparent;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 120px;
  width: 100%;
  max-width: 100%;
  /* デフォルトから継承なし */
  display: flex;
  box-sizing: border-box;
}

/* 機能カード1: スマホ・PC対応（デフォルト+モバイル組み合わせ） */
.section7-fincs-feature1 {
  /* モバイル data-s-74bd82d2-875e-43c8-a30f-0d49f9774b1c */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: center;
  margin: 0px;
  padding: 10px 5px;
  width: 25%;
  max-width: 25%;
  /* デフォルトから継承 - モバイルで上書きされない */
  background: var(--s-color-e2948a8e);
  border-radius: 12px;
  display: flex;
  box-sizing: border-box;
}

.section7-fincs-feature1-text {
  /* モバイル data-s-69abfc80-3d63-4ed4-b1e9-5261062b10a6 */
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  text-align: center;
  justify-content: center;
  /* デフォルトから継承 - モバイルで上書きされない */
  margin: 0px 0px 15px 0px;
  box-sizing: border-box;
}

.section7-fincs-feature1-icon {
  /* モバイル data-s-ab70b51e-d408-46bd-8514-b6a56bfdbce0 */
  border-radius: 80px;
  flex: none;
  height: 80px;
  margin: 0px;
  width: 80px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  /* デフォルトから継承 */
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  box-sizing: border-box;
}

.section7-fincs-feature1-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.stock.studio.design/optimized/hQPu0U5SHE8aRs_yJt8w2.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* 機能カード2: いつでも、何度でも視聴可能（デフォルト+モバイル組み合わせ） */
.section7-fincs-feature2 {
  /* モバイル data-s-85ff435b-b917-4276-83f8-59a10bdd8df9 */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: center;
  margin: 0px;
  padding: 10px 5px;
  width: 25%;
  max-width: 25%;
  /* デフォルトから継承 - モバイルで上書きされない */
  background: var(--s-color-e2948a8e);
  border-radius: 12px;
  display: flex;
  box-sizing: border-box;
}

.section7-fincs-feature2-text {
  /* モバイル data-s-aff3147c-69c6-4608-912f-34997528441b */
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  text-align: center;
  justify-content: center;
  /* デフォルトから継承 - モバイルで上書きされない */
  margin: 0px 0px 15px 0px;
  box-sizing: border-box;
}

.section7-fincs-feature2-icon {
  /* モバイル data-s-773d501c-ca29-4110-bb89-62843f171a32 */
  border-radius: 80px;
  flex: none;
  height: 80px;
  margin: 0px;
  width: 80px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  /* デフォルトから継承 */
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  box-sizing: border-box;
}

.section7-fincs-feature2-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.stock.studio.design/optimized/6_TuPt0VDD26zPkFwvt7U.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* 機能カード3: 自分のペースで学習（デフォルト+モバイル組み合わせ） */
.section7-fincs-feature3 {
  /* モバイル data-s-57df2474-78a1-429a-bc16-dbcea33e800c */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: center;
  margin: 0px;
  padding: 10px 5px;
  width: 25%;
  max-width: 25%;
  /* デフォルトから継承 - モバイルで上書きされない */
  background: var(--s-color-e2948a8e);
  border-radius: 12px;
  display: flex;
  box-sizing: border-box;
}

.section7-fincs-feature3-text {
  /* モバイル data-s-de79d13f-9eb4-4826-9c09-15ee57b9ee9c */
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  text-align: center;
  justify-content: center;
  /* デフォルトから継承 - モバイルで上書きされない */
  margin: 0px 0px 15px 0px;
  box-sizing: border-box;
}

.section7-fincs-feature3-icon {
  /* モバイル data-s-7d80fb29-4a37-4d71-a25d-5b854cb45c4c */
  border-radius: 80px;
  flex: none;
  height: 80px;
  margin: 0px;
  width: 80px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  /* デフォルトから継承 */
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  box-sizing: border-box;
}

.section7-fincs-feature3-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.stock.studio.design/optimized/jbd1iXX6mNy3aJ1vFQ1Hn.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* 機能カード4: 動画に関する質問受付（デフォルト+モバイル組み合わせ） */
.section7-fincs-feature4 {
  /* モバイル data-s-f960cfdd-4892-48d7-aea1-3d7c0f1c1c31 */
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: center;
  margin: 0px;
  padding: 10px 5px;
  width: 25%;
  max-width: 25%;
  /* デフォルトから継承 - モバイルで上書きされない */
  background: var(--s-color-e2948a8e);
  border-radius: 12px;
  display: flex;
  box-sizing: border-box;
}

.section7-fincs-feature4-text {
  /* モバイル data-s-ad90da0d-87eb-4643-b43f-caec7965963d */
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.20;
  text-align: center;
  justify-content: center;
  /* デフォルトから継承 - モバイルで上書きされない */
  margin: 0px 0px 15px 0px;
  box-sizing: border-box;
}

.section7-fincs-feature4-icon {
  /* モバイル data-s-83ff0074-e4cd-49a5-8484-ab2277f250b1 */
  border-radius: 80px;
  flex: none;
  height: 80px;
  margin: 0px;
  width: 80px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  /* デフォルトから継承 */
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 0px;
  box-sizing: border-box;
}

.section7-fincs-feature4-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.stock.studio.design/optimized/fDsnD_KzD6tIDioFUR7L-.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* ================================================
   Section 7 アニメーション
   ================================================ */

/* transition要素 */
.section7-transition.appear {
  opacity: 0;
  transition: opacity 600ms ease-in-out;
  transition-delay: 0ms;
}

.section7-transition.appear.is-visible {
  opacity: 1;
}

/* タイトル2 - アニメーション */
.section7-title2.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 500ms;
}

.section7-title2.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* 人物画像 - アニメーション */
.section7-person-image.appear {
  opacity: 0;
  transform: translate(0px, 15px);
  transform-origin: bottom left;
  transition: opacity 600ms ease-in-out, transform 600ms ease-in-out;
  transition-delay: 1000ms;
}

.section7-person-image.appear.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* ================================================
   Section 8: 価格セクション
   ================================================ */

/* セクション全体 */
.section8 {
  align-content: center;
  align-items: center;
  background: rgba(0,0,0,0.0);
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: auto;
  justify-content: flex-start;
  margin: 0px 0px 50px 0px;
  padding: 0px;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  z-index: -1;
  display: flex;
  box-sizing: border-box;
}

.section8-inner {
  padding: 0px;
  width: 100%;
  height: auto;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  display: flex;
  box-sizing: border-box;
}

/* 価格ボックス */
.section8-price-box {
  background: var(--s-color-57b72446);
  flex: none;
  height: auto;
  padding: 0px 20px 20px 20px;
  width: 100%;
  max-width: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

/* 価格コンテナ */
.section8-price-container {
  border: 1px solid var(--s-color-57b72446);
  gap: 0px;
  height: auto;
  margin: 0px;
  padding: 20px 0px;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  background: white;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

/* 通常価格ラベル */
.section8-regular-price-label {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 28px;
  font-weight: 500;
  margin: 0px;
  padding: 0px;
  text-align: center;
  box-sizing: border-box;
}

/* 通常価格の金額コンテナ */
.section8-regular-price-amount {
  align-content: flex-end;
  align-items: flex-end;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0px;
  justify-content: center;
  position: relative;
  display: flex;
  box-sizing: border-box;
}

.section8-regular-price-number {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 40px;
  font-weight: 900;
  letter-spacing: -0.05em;
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
}

.section8-regular-price-yen {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 28px;
  font-weight: 900;
  margin: 0px 0px 0px 5px;
  padding: 5px 0px;
  box-sizing: border-box;
}

.section8-regular-price-tax {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  padding: 10px 0px;
  margin: 0px;
  box-sizing: border-box;
}

/* 取り消し線（position: absolute） */
.section8-strikethrough {
  align-content: center;
  align-items: center;
  bottom: auto;
  justify-content: center;
  left: 0px;
  right: auto;
  top: 30px;
  position: absolute;
  width: 100%;
  height: 2px;
  box-sizing: border-box;
}

.section8-strikethrough-inner {
  width: 100%;
  height: 100%;
  background: var(--s-color-6e80f46c);
  box-sizing: border-box;
}

.section8-strikethrough-inner.appear {
  transform: scale(0, 1);
  transform-origin: center left;
  transition-delay: 2000ms;
  transition-duration: 1000ms;
  transition-timing-function: ease-in-out;
}

.section8-strikethrough-inner.appear.is-visible {
  transform: scale(1, 1);
  transition-delay: 2000ms;
  transition-duration: 1000ms;
  transition-timing-function: ease-in-out;
}

/* このページを見た方だけ */
.section8-limited-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 20px 0px 20px;
  width: 100%;
  box-sizing: border-box;
}

.section8-limited-label.appear {
  opacity: 0;
  transition-delay: 2000ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-limited-label.appear.is-visible {
  opacity: 1;
  transition-delay: 2000ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-limited-text {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 0px;
  padding: 0px;
  text-align: center;
  box-sizing: border-box;
}

/* 限定価格ラベル */
.section8-limited-price-label {
  color: transparent;
  font-family: var(--s-font-139f16d5);
  font-size: 36px;
  font-weight: 900;
  margin: 10px 0px 0px 0px;
  padding: 0px;
  text-align: center;
  box-sizing: border-box;
  background: var(--s-color-ff805ca3);
  background-clip: text;
  -webkit-background-clip: text;
  max-width: 100%;
}

.section8-limited-price-label.appear {
  opacity: 0;
  transition-delay: 2500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-limited-price-label.appear.is-visible {
  opacity: 1;
  transition-delay: 2500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

/* 限定価格の金額コンテナ */
.section8-limited-price-amount {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  box-sizing: border-box;
}

.section8-limited-price-amount.appear {
  opacity: 0;
  transform: scale(0, 0);
  transition-delay: 3500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-limited-price-amount.appear.is-visible {
  opacity: 1;
  transform: scale(1, 1);
  transition-delay: 3500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-limited-price-number {
  color: transparent;
  font-family: var(--s-font-139f16d5);
  font-size: 60px;
  font-weight: 900;
  letter-spacing: -0.05em;
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  background: var(--s-color-ff805ca3);
  background-clip: text;
  -webkit-background-clip: text;
  transform: scaleY(1.15);
}

.section8-limited-price-yen {
  color: transparent;
  font-family: var(--s-font-139f16d5);
  font-size: 32px;
  font-weight: 900;
  margin: 0px 0px 0px 5px;
  padding: 10px 0px;
  box-sizing: border-box;
  background: var(--s-color-ff805ca3);
  background-clip: text;
  -webkit-background-clip: text;
  transform: scaleY(1.15);
}

.section8-limited-price-tax {
  color: transparent;
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  margin: 0px;
  padding: 10px 0px;
  box-sizing: border-box;
  background: var(--s-color-ff805ca3);
  background-clip: text;
  -webkit-background-clip: text;
}

/* 注意書き */
.section8-notice {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 20px;
  width: 100%;
  box-sizing: border-box;
}

.section8-notice.appear {
  opacity: 0;
  transition-delay: 3500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-notice.appear.is-visible {
  opacity: 1;
  transition-delay: 3500ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-notice-text {
  color: var(--s-color-57b72446);
  font-family: var(--s-font-139f16d5);
  font-size: 16px;
  font-weight: 900;
  margin: 0px;
  padding: 0px;
  text-align: center;
  box-sizing: border-box;
}

/* 取り消し線画像 */
.section8-strikethrough-image {
  width: 100%;
  height: 120px;
  margin: -50px 0px 0px 0px;
  position: relative;
  box-sizing: border-box;
}

.section8-strikethrough-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/p6aokmnnaR/s-500x70_ea6ae657-ad80-471f-a7a9-3ea625265e7d.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* おすすめセクション */
.section8-recommend {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  padding: 0px;
  margin: 20px 0px -20px 0px;
  width: 100%;
  box-sizing: border-box;
}

.section8-recommend-title {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 20px;
  font-weight: 900;
  margin: 0px;
  padding: 0px;
  text-align: left;
  text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
  box-sizing: border-box;
}

.section8-recommend-image {
  width: 100px;
  height: 120px;
  margin: 0px;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-2366x2687_v-frms_webp_3e7dba03-4c30-46dd-8075-036b378b7068_small.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
}

.section8-recommend-image.appear {
  opacity: 0;
  transform: translate(50px, 0px);
  transition-delay: 2000ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

.section8-recommend-image.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
  transition-delay: 2000ms;
  transition-duration: 1500ms;
  transition-timing-function: ease-in-out;
}

/* チェックリスト */
.section8-checklist {
  border: 2px solid var(--s-color-6e80f46c);
  border-radius: 12px;
  padding: 20px;
  margin: 0px 20px 50px 20px;
  background: white;
  box-sizing: border-box;
}

.section8-checklist-text {
  color: var(--s-color-6e80f46c);
  font-family: var(--s-font-139f16d5);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

/* =====================================================
   Section 9: 最終メッセージ+動画+CTA
   ===================================================== */

/* セクション全体 */
.section9 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: var(--s-color-6e80f46c);
  padding: 100px 0px 150px 0px;
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  box-sizing: border-box;
}

.section9-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* 上部コンテナ（画像+テキスト） */
.section9-top-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0px 0px 30px 0px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* 装飾画像（キラキラ） */
.section9-sparkle-image {
  width: 80%;
  max-width: 80%;
  height: 350px;
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/BXaxPgzwa7/s-720x712_v-fs_webp_5b1bf70c-1092-4885-92f1-ce6c9dd848b8.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
  flex: none;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
}

.section9-sparkle-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: inherit;
  pointer-events: none;
  transition: inherit;
  z-index: -2;
}

/* テキストグループ（絶対配置） */
.section9-text-group {
  position: absolute;
  left: 30px;
  top: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  z-index: 1;
  box-sizing: border-box;
}

/* テキスト共通スタイル */
.section9-text {
  /* .sdクラスのデフォルト */
  display: flex;
  position: relative;
  flex: none;
  max-width: 100%;
  pointer-events: all;

  /* .sd.textクラスのスタイル */
  flex-direction: row;
  align-content: center;
  align-items: center;
  overflow: visible;
  overflow-wrap: anywhere;
  word-break: break-word;

  /* 個別スタイル（data-s-be1604a9...） */
  justify-content: flex-start;
  text-align: left;
  height: auto;
  width: auto;
  color: #FFFFFF;
  z-index: 2;

  /* 継承スタイル（data-s-b2a9e63b） */
  font-family: var(--s-font-139f16d5);
  font-size: 25px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.5;

  /* その他 */
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

/* 各テキストのアニメーション遅延 */
.section9-text-1.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1000ms;
}

.section9-text-1.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
}

.section9-text-2.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 1500ms;
}

.section9-text-2.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
}

.section9-text-3.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 2000ms;
}

.section9-text-3.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
}

.section9-text-4.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 2500ms;
}

.section9-text-4.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
}

.section9-text-5.appear {
  opacity: 0;
  transform: translate(0px, 20px);
  transition: opacity 1500ms ease-in-out, transform 1500ms ease-in-out;
  transition-delay: 3000ms;
}

.section9-text-5.appear.is-visible {
  opacity: 1;
  transform: translate(0px, 0px);
}

/* ビデオセクション */
.section9-video-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex: 0.8;
  gap: 10px;
  width: 100%;
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

.section9-video-title {
  color: transparent;
  font-family: var(--s-font-139f16d5);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  padding: 10px 0px;
  text-align: left;
  margin: 0px;
  background: var(--s-color-ff805ca3);
  background-clip: text;
  -webkit-background-clip: text;
  box-sizing: border-box;
}

.section9-video-title.appear {
  opacity: 0;
  transition: opacity 1600ms ease-in-out;
  transition-delay: 3000ms;
}

.section9-video-title.appear.is-visible {
  opacity: 1;
}

/* ビデオコンテナ */
.section9-video-container {
  width: 95%;
  height: 30vh;
  margin: 0px 0px 40px 0px;
  position: relative;
  box-sizing: border-box;
}

.section9-video-container.appear {
  opacity: 0;
  transition: opacity 1600ms ease-in-out;
  transition-delay: 3000ms;
}

.section9-video-container.appear.is-visible {
  opacity: 1;
}

.section9-video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* CTAセクション */
.section9-cta-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 10px 0px 20px 0px;
  box-sizing: border-box;
}

.section9-cta-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  box-sizing: border-box;
  position: relative;
}

.section9-cta-wrapper.appear {
  opacity: 0;
  transition: opacity 1600ms ease-in-out;
  transition-delay: 2000ms;
}

.section9-cta-wrapper.appear.is-visible {
  opacity: 1;
}

/* CTAボタン */
.section9-cta-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--s-color-ff805ca3);
  border-radius: 40px;
  padding: 10px 30px;
  margin: 10px 0px;
  width: auto;
  transition: all 300ms ease-in-out;
  text-decoration: none;
  box-sizing: border-box;
  z-index: 1;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.5);
}

.section9-cta-button.appear.is-visible {
  animation: buttonClick 6s ease-in-out 2s infinite;
}

@keyframes buttonClick {
  0%, 100% {
    transform: scale(1);
  }
  15% {
    transform: scale(1);
  }
  16.67% {
    transform: scale(0.95);
  }
  18.33% {
    transform: scale(1);
  }
}

.section9-cta-button:hover {
  transform: scale(1.05);
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.3);
  animation: none;
}

.section9-cta-wrapper:hover .cta-click-finger {
  animation: none;
  opacity: 0.5;
}

.section9-cta-button {
  font-family: var(--s-font-139f16d5);
  font-size: 24px;
  font-weight: 900;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.5;
}

/* クリック指の画像 */
.cta-click-finger {
  position: absolute;
  bottom: -30px;
  right: -20px;
  width: 60px;
  height: auto;
  z-index: 2;
  pointer-events: none;
}

.section9-cta-section.appear.is-visible .cta-click-finger {
  animation: fingerClick 6s ease-in-out 2s infinite;
}

@keyframes fingerClick {
  0%, 100% {
    transform: translateY(0);
  }
  15% {
    transform: translateY(0);
  }
  16.67% {
    transform: translateY(8px);
  }
  18.33% {
    transform: translateY(0);
  }
}

