/* ===========================================
   LP Base
   =========================================== */
.lp-body {
  overflow-x: hidden;
}

/* ===========================================
   LP KV (Key Visual)
   設計基準: 1440 × 770px
   =========================================== */
.lp-kv {
  background: url(/cms/wp-content/themes/jkcf_new/lp-assets/img/kv_bg.png) #56e4fa;
  background-size: cover;
}

/* ラッパー */
.lp-kv__wrap {
  position: relative;
  width: 100%;
  max-width: 1440px;
  height: 53.47vw;    /* 770 / 1440 × 100vw */
  max-height: 770px;
  margin: 0 auto;
  overflow: hidden;
}

/* 背景装飾オブジェクト（左右） */
.lp-kv__obj {
  position: absolute;
  top: min(-62px, -8.05%);   /* -62 / 770 */
  width: 79.3%;              /* 1142 / 1440 */
  pointer-events: none;
  z-index: 1;
}

.lp-kv__obj--left {
  left: min(-202px, -14.03%);  /* -202 / 1440 */
}

.lp-kv__obj--right {
  left: 60.97%;                /* 878 / 1440 */
}

/* ロゴタブ：上部中央の白い丸底タブ */
.lp-kv__logo-tab {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(340px, 23.6%);   /* 340 / 1440 */
  height: 18.83%;             /* 145 / 770 */
  background: #fff;
  border-radius: 0 0 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: min(17px, 2.21%); /* 17 / 770 */
  gap: min(17px, 2.21%);
  box-sizing: border-box;
  z-index: 10;
}

.lp-kv__logo-tab a {
  display: block;
  line-height: 0;
}

.lp-kv__logo {
  display: block;
  width: 86.5%;   /* 294 / 340 */
  height: auto;
  margin: auto;
}

.lp-kv__tagline {
  display: block;
  width: 75.6%;   /* 257 / 340 */
  height: auto;
}

/* 韓国語リンク（右上） */
.lp-kv__lang {
  position: absolute;
  top: 8px;
  right: min(100px, 6.94%);
  display: flex;
  align-items: center;
  gap: 5px;
  color: #000;
  text-decoration: none;
  z-index: 10;
  font-family: 'Noto Sans KR', 'Inter', sans-serif;
  font-weight: 400;
}

.lp-kv__lang__txt {
  font-size: clamp(12px, 1.6vw, 23px);
  display: flex;
  align-items: center;
  gap: 4px;
}

.lp-kv__lang__txt svg {
  transform: rotate(-90deg);
}

.lp-kv__lang:hover {
  opacity: 0.7;
}

/* スピーチバルーン（共通） */
.lp-kv__balloon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border-radius: 50%;
  font-weight: 700;
  font-family: 'Noto Sans JP', 'Noto Sans KR', sans-serif;
  z-index: 5;
  pointer-events: none;
}

.lp-kv__balloon span {
  line-height: 1.4;
}


/* ===========================================
   KV アニメーション
   =========================================== */
@keyframes kv-fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes kv-fadein-left {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes kv-fadein-right {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* メインビジュアル */
.lp-kv__content {
  position: absolute;
  left: 0;
  right: 0;
  top: min(90px, 6.25vw);   /* 90 / 1440 = 6.25vw */
  width: min(1240px, 86.11%); /* 1240 / 1440 = 86.11% */
  margin: 0 auto;
  z-index: 3;
  pointer-events: none;
  animation: kv-fadein 0.7s ease both;
  animation-delay: 0.1s;
}

.lp-kv__content img {
  display: block;
  width: 100%;
  height: auto;
}

/* 左右家族イラスト */
.lp-kv__illust {
  position: absolute;
  pointer-events: none;
  z-index: 4;
}

/* kv_img01（韓国家族）: left:101, top:327, w:330 */
.lp-kv__illust--left {
  left: 7.01%;    /* 101 / 1440 */
  top: 42.47%;    /* 327 / 770 */
  width: 22.92%;  /* 330 / 1440 */
  height: auto;
  animation: kv-fadein-left 0.6s ease both;
  animation-delay: 0.8s;
}

/* kv_img02（日本家族）: left:69.1%, right:7.08%, top:333 */
.lp-kv__illust--right {
  left: 69.1%;
  top: 43.25%;    /* 333 / 770 */
  width: 23.82%;  /* 1 - 69.1% - 7.08% */
  height: auto;
  animation: kv-fadein-right 0.6s ease both;
  animation-delay: 1.1s;
}

/* ===========================================
   LP KV — SP (max-width: 767px)
   設計基準: 390 × 556px 固定（vwスケール無し）
   =========================================== */
@media (max-width: 767px) {

  /* ラッパー：390×556px固定 */
  .lp-kv__wrap {
    width: 390px;
    height: 556px;
    max-width: none;
    max-height: none;
  }

  /* 背景装飾オブジェクト */
  .lp-kv__obj {
    width: 500px;
    top: 0;
  }
  .lp-kv__obj--left {
    left: -72px;   /* -18.46% of 390 */
  }
  .lp-kv__obj--right {
    left: auto;
    right: -140px; /* -35.9% of 390 */
  }

  /* ロゴタブ：幅200px・高さ85px */
  .lp-kv__logo-tab {
    width: 200px;
    height: 85px;
    padding-top: 10px;
    gap: 8px;
  }

  /* メインビジュアル：left:20, top:65, width:350 */
  .lp-kv__content {
    left: 20px;
    right: auto;
    top: 65px;
    width: 350px;
    margin: 0;
  }

  /* バルーン共通：81×43px, 10px */
  .lp-kv__balloon {
    width: 81px;
    aspect-ratio: 81 / 43;
    font-size: 10px;
    color: #000;
  }

  /* 各バルーン位置（px固定） */
  .lp-kv__balloon--ko-1 { left: 20px;  top: 281px; }
  .lp-kv__balloon--ko-2 { left: 101px; top: 299px; }
  .lp-kv__balloon--ja-2 { left: 209px; top: 299px; }
  .lp-kv__balloon--ja-1 { left: 289px; top: 281px; }

  /* 左イラスト（韓国家族）：left:32, top:336, width:163 */
  .lp-kv__illust--left {
    left: 32px;
    top: 336px;
    width: 163px;
  }

  /* 右イラスト（日本家族）：left:197, top:335, width:173 */
  .lp-kv__illust--right {
    left: 197px;
    top: 335px;
    width: 173px;
  }
}

/* ===========================================
   LP コンテンツエリア
   =========================================== */
.lp-contents {
  background-image: url('../img/bg.png');
  background-color: #FFFCEC;
  background-repeat: repeat-y;
  background-size: 100% auto;
}

/* ===========================================
   LP お知らせ
   =========================================== */
.lp-news {
  position: relative;
  padding-top: 151px; /* イラストがパネル上に突き出る高さ（919px - 768px） */
}

.lp-news__wrap {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}

.lp-news__panel {
  width: calc(100% - 200px);
  max-width: 1240px;
  min-height: 248px;
  margin: 0 auto;
  background: #d7f0f4;
  border-radius: 20px;
  padding: 41px 60px 41px 29.9%;  /* padding-left: 371 / 1240 = 29.9% */
  box-sizing: border-box;
}

.lp-news__title {
  font-size: 30px;
  font-weight: 700;
  color: #ff7b21;
  line-height: normal;
  margin: 0 0 25px;
  font-family: 'Noto Sans JP', sans-serif;
}

.lp-news__body {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
}

.lp-news__body p {
  margin: 0;
  line-height: 30px;
}

/* イラスト：左右反転してパネル上に突き出して配置 */
.lp-news__illust {
  position: absolute;
  top: -151px;
  left: 7px;
  width: min(501px, 34.8%);  /* 501 / 1440 = 34.8% */
  pointer-events: none;
  z-index: 1;
  /* スクロールアニメーション初期状態（左から） */
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.lp-news__illust.is-animated {
  opacity: 1;
  transform: translateX(0);
}

.lp-news__illust img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===========================================
   LP 日韓学校間交流応援とは？
   =========================================== */
.lp-about {
  position: relative;
  padding-top: 68px;  /* イラストがタイトル上に突き出る高さ（1227px - 1159px） */
  padding-bottom: 80px;
}

.lp-about__wrap {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}

/* タイトル＋背景SVG波線 */
.lp-about__title-area {
  position: relative;
  text-align: center;
  margin-bottom: 57px; /* タイトル下端〜本文上端（1320px - 1227px - 約36px） */
}

.lp-about__title-bg {
  position: absolute;
  top: 3px; /* title_bg（1230px）- title（1227px）= 3px */
  left: 0;
  width: 100%;
  height: 37px;
  object-fit: fill;
  z-index: 0;
  pointer-events: none;
}

.lp-about__title {
  position: relative;
  z-index: 1;
  font-size: clamp(18px, 2.08vw, 30px);  /* 30 / 1440 = 2.08vw */
  font-weight: 700;
  color: #000;
  line-height: normal;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
}
.lp-about__title span {
  padding: 12px 32px;
  background: #FFFCEC;
}

/* 本文テキスト */
.lp-about__text {
  width: min(692px, 48.1%);          /* 692 / 1440 = 48.1% */
  margin-left: min(252px, 17.5%);    /* 252 / 1440 = 17.5% */
  margin-bottom: 65px;
  font-size: clamp(13px, 1.11vw, 16px);  /* 16 / 1440 = 1.11vw */
  font-weight: 400;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.8;
}

.lp-about__text p {
  margin: 0;
}

/* 希望登録ボタン */
.lp-about__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(260px, 80%);
  height: 50px;
  margin: 0 auto;
  background: #ff8300;
  border-radius: 100px;
  color: #fff;
  font-size: clamp(14px, 1.25vw, 18px);  /* 18 / 1440 = 1.25vw */
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}

.lp-about__btn:hover {
  opacity: 0.8;
}

.lp-about__btn__arrow {
  font-size: 0;
}

/* イラスト：右側に絶対配置・左右反転 */
.lp-about__illust {
  position: absolute;
  top: -68px;
  left: min(924px, 64.2%);    /* 924 / 1440 = 64.2% */
  width: min(315px, 21.9%);   /* 315 / 1440 = 21.9% */
  pointer-events: none;
  /* スクロールアニメーション初期状態（右から） */
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.lp-about__illust.is-animated {
  opacity: 1;
  transform: translateX(0);
}

.lp-about__illust img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===========================================
   LP 交流を希望する方は（フローステップ）
   =========================================== */
.lp-flow {
  padding: 80px 0;
}

.lp-flow__wrap {
  max-width: 1440px;
  margin: 0 auto;
}

/* タイトル（lp-about と同パターン） */
.lp-flow__title-area {
  position: relative;
  text-align: center;
  margin-bottom: 71px; /* タイトル下端〜円画像上端 */
}

.lp-flow__title-bg {
  position: absolute;
  top: 6px; /* wave: 1588px - title: 1582px = 6px */
  left: 0;
  width: 100%;
  height: 37px;
  object-fit: fill;
  z-index: 0;
  pointer-events: none;
}

.lp-flow__title {
  position: relative;
  z-index: 1;
  font-size: clamp(18px, 2.08vw, 30px);
  font-weight: 700;
  color: #000;
  line-height: normal;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

.lp-flow__title span {
  padding: 15px 20px;
  background: #fffcec;
}

/* フローリスト */
.lp-flow__list {
  display: flex;
  justify-content: center;
  gap: clamp(10px, 1.46vw, 21px); /* 21 / 1440 = 1.46vw */
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: min(959px, calc(100% - 200px)); /* 4×224 + 3×21 = 959px */
}

.lp-flow__item {
  flex: 1;
  min-width: 0;
  max-width: 224px;
}

/* 円形画像ラッパー */
.lp-flow__circle-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 224px;
  margin: 0 auto;
}

.lp-flow__circle {
  width: 100%;
  height: 100%;
  /* border-radius: 50%;
  overflow: hidden; */
}

.lp-flow__circle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* スクロールアニメーション初期状態 */
  opacity: 0;
  transition: opacity 0.6s ease;
}

/* stagger：左から順に遅延 */
.lp-flow__item:nth-child(1) .lp-flow__circle img { transition-delay: 0s; }
.lp-flow__item:nth-child(2) .lp-flow__circle img { transition-delay: 0.15s; }
.lp-flow__item:nth-child(3) .lp-flow__circle img { transition-delay: 0.3s; }
.lp-flow__item:nth-child(4) .lp-flow__circle img { transition-delay: 0.45s; }

.lp-flow__list.is-animated .lp-flow__circle img {
  opacity: 1;
}

.lp-flow__head {
    display: flex;
    align-items: center;
    position: absolute;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    top: 4%;
    justify-content: center;
    gap: 3%;
}
/* 番号バッジ（黒丸） */
.lp-flow__num {
  /* position: absolute;
  top: 6.7%;
  left: 4.9%; */
  
  width: 13.4%;  /* 30 / 224 = 13.4% */
  aspect-ratio: 1;
  background: #000;
  border-radius: 50%;
  color: #fff;
  font-size: clamp(11px, 1.25vw, 18px);
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ステップタイトル（円の上部に重ねる） */
.lp-flow__step-title {
  /* position: absolute;
  top: 6.7%;
  left: 0;
  right: 0; */
  text-align: center;
  font-size: clamp(11px, 1.11vw, 16px); /* 16 / 1440 = 1.11vw */
  font-weight: 700;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.4;
  margin: 0;
}

/* 説明文 */
.lp-flow__desc {
  margin: 23px 0 0;
  padding-left: 18px;
  list-style-type: disc;
}

.lp-flow__desc li {
  font-size: clamp(10px, 0.83vw, 12px); /* 12 / 1440 = 0.83vw */
  font-weight: 400;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
  margin-bottom: 4px;
}

/* ===========================================
   LP Q&A
   =========================================== */
.lp-qa {
  position: relative;
  padding-top: 210px;  /* イラストがタイトル上210px突き出る（6618px - 6408px） */
  padding-bottom: 80px;
}

.lp-qa__wrap {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}

/* イラスト：右上に絶対配置 */
.lp-qa__illust {
  position: absolute;
  top: -226px;
  left: min(864px, 60%);    /* 864 / 1440 = 60% */
  width: min(399px, 27.7%); /* 399 / 1440 = 27.7% */
  pointer-events: none;
  z-index: 0;
}

.lp-qa__illust img {
  display: block;
  width: 100%;
  height: auto;
}

/* タイトル（他セクションと同パターン） */
.lp-qa__title-area {
  position: relative;
  text-align: center;
  margin-bottom: 30px;
}

.lp-qa__title-bg {
  position: absolute;
  top: 6px;
  left: 0;
  width: 100%;
  height: 37px;
  object-fit: fill;
  z-index: 0;
  pointer-events: none;
}

.lp-qa__title {
  position: relative;
  z-index: 1;
  font-size: clamp(18px, 2.08vw, 30px);
  font-weight: 700;
  color: #000;
  line-height: normal;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

.lp-qa__title span {
  padding: 15px 30px;
  background: #fffcec;
}

/* Q&Aパネル */
.lp-qa__panel {
  width: min(1460px, calc(100% - 200px)); /* 960 / 1440 */
  margin: 0 auto;
  background: #d7f0f4;
  border-radius: 20px;
  padding: 10px 64px 50px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.lp-qa__list {
  margin: 0;
  padding: 0;
}

/* 各Q&Aアイテム */
.lp-qa__item {
  padding: 24px 0;
}

.lp-qa__item + .lp-qa__item {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}

/* Q行・A行 */
.lp-qa__q,
.lp-qa__a {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
}

.lp-qa__a {
  margin-top: 8px;
}

/* Q./A.ラベル */
.lp-qa__label {
  color: #00b8b8;
  font-size: 20px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  flex-shrink: 0;
  width: 34px;
  line-height: 1.4;
}

/* 質問テキスト */
.lp-qa__q .lp-qa__text {
  font-size: clamp(14px, 1.25vw, 18px); /* 18 / 1440 = 1.25vw */
  font-weight: 500;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.4;
  font-size: 18px;
}

/* 回答テキスト */
.lp-qa__a .lp-qa__text {
  font-size: clamp(12px, 0.97vw, 14px); /* 14 / 1440 = 0.97vw */
  font-weight: 400;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 25px;
  font-size: 16px;
}

/* ===========================================
   LP 交流事例（lp-ex）見出し
   =========================================== */
.lp-ex__title-area {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}

.lp-ex__title-bg {
  position: absolute;
  top: 6px;
  left: 0;
  width: 100%;
  height: 37px;
  object-fit: fill;
  z-index: 0;
  pointer-events: none;
}

.lp-ex__title {
  position: relative;
  z-index: 1;
  font-size: clamp(18px, 2.08vw, 30px);
  font-weight: 700;
  color: #000;
  line-height: normal;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

.lp-ex__title span {
  padding: 15px 30px;
  background: #fffcec;
}

/* 一覧ページへボタン */
.lp-ex__btn-wrap {
  text-align: center;
  margin-top: 40px;
}

.lp-ex__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(260px, 80%);
  height: 50px;
  background: #ed4f97;
  border-radius: 100px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}

.lp-ex__btn:hover {
  opacity: 0.8;
}

.lp-ex__btn__arrow {
  display: flex;
  align-items: center;
  font-size: 0;
  transform: rotate(-90deg);
}

/* ===========================================
   LP ページ内ナビゲーション
   =========================================== */
.lp-nav {
  position: relative;
  z-index: 20;
  margin-top: max(-39px, -2.71vw);   /* 39 / 1440 = 2.71vw */
  margin-bottom: max(-39px, -2.71vw);
}

.lp-nav__inner {
  /* width: calc(100% - 200px); */
  max-width: 1240px;
  height: min(80px, 5.56vw);   /* 80 / 1440 = 5.56vw */
  margin: 0 auto;
  background: #00b8b8;
  border-radius: 20px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
}

.lp-nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lp-nav__item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* アイテム間の縦ディバイダー */
.lp-nav__item + .lp-nav__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  width: 1px;
  height: 60%;   /* 48.5 / 80 ≈ 60% */
  background: rgba(255, 255, 255, 0.5);
}

.lp-nav__link {
  display: flex;
  align-items: center;
  gap: clamp(4px, 0.56vw, 8px);          /* 8 / 1440 = 0.56vw */
  padding: 0 clamp(8px, 1.25vw, 18px);   /* 18 / 1440 = 1.25vw */
  color: #fff;
  text-decoration: none;
  font-size: clamp(11px, 1.18vw, 17px);  /* 17 / 1440 = 1.18vw */
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  white-space: nowrap;
  transition: opacity 0.2s;
  height: 100%;
}

.lp-nav__link:hover {
  opacity: 0.75;
}

.lp-nav__link__icon {
  display: block;
  flex-shrink: 0;
  width: clamp(14px, 1.6vw, 23px);   /* 23 / 1440 = 1.6vw */
  height: clamp(14px, 1.6vw, 23px);
}
.lp-form {
    max-width: 1240px;
    margin: 70px auto;
    background: #FF8300;
    padding: 40px;
    border-radius: 20px;
}
.lp-form__title {
    color: #FFF;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 50px;
}
.lp-form iframe {
    border-radius: 20px;
}

.lp-body .page-index {
    background: none;
}
.lp-body .page-index .sec-report {
    background-color: transparent;
    padding: 0 0 0;
    margin: 0 0 0;
}
.lp-body .page-index .sec-report__post {
    background: #fff;
}

/* ===========================================
   LP KV - SP (〜767px)
   設計基準: 390 × 556px
   =========================================== */
@media (max-width: 767px) {
    .lp-kv {
    background: url(/cms/wp-content/themes/jkcf_new/lp-assets/img/kv_bg_sp.png) #56e4fa;
    background-size: cover;
    }

  /* ラッパー: 390:556のアスペクト比を維持 */
  .lp-kv__wrap {
    width: 100%;
    height: calc(585 / 390 * 100vw);
  }

  .lp-kv__content {
    width: 88%;
  }

  /* ロゴタブ */
  .lp-kv__logo-tab {
    left: 25.38%;   /* 99px / 390px */
    right: 23.33%;  /* 91px / 390px */
    width: auto;
    transform: none;
    height: 85px;
  }

  .lp-kv__logo-tab img {
    width: 173px;
  }

  .lp-kv__illust--right {
        left: 50.1%;
        top: 60.25%;
        width: 45.82%;
        height: auto;
    }
    .lp-kv__illust--left {
        left: 8.01%;
        top: 60.47%;
        width: 43.92%;
        height: auto;
    }

  /* 韓国語リンク */
  .lp-kv__lang {
    top: 4px;
    right: 2.31%; /* 9px / 390px */
    font-size: 14px;
    gap: 2px;
  }

  /* テキストコンテンツ */
  .lp-kv__content {
    top: 14%; 
    text-align: center;
  }
  .lp-kv__content img {
    /* width: 89%; */
    margin: auto;
  }

  .lp-kv__sub {
    font-size: 19px;
  }

  .lp-kv__title {
    font-size: 40px;
    margin-top: 13px; /* 179px - 143px(sub top) - 約23px(sub高) */
  }

  .lp-kv__lang__txt {
    font-size: 16px;
  }

  /* ナビゲーション SP：縦積みリスト */
  .lp-nav {
    margin-top:-50px;
  }

  .lp-nav__inner {
    width: calc(100% - 40px); /* 左右20pxずつ余白 */
    max-width: none;
    height: auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }

  .lp-nav__list {
    flex-direction: column;
    width: 100%;
    padding: 0;
  }

  .lp-nav__item {
    flex: none;
    width: 100%;
    height: 50px;
  }

  /* 2番目以降の上ボーダー（白1px） */
  .lp-nav__item + .lp-nav__item::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 1);
  }

  .lp-nav__link {
    font-size: 18px;
    justify-content: center;
    padding: 0 45px 0 15px;
    height: 50px;
    width: 100%;
    position: relative;
    gap: 0;
  }

  .lp-nav__link__icon {
    position: absolute;
    right: 56px; /* Figma: icon left=299px / nav left=20px → 350-(279+15)=56px */
    width: 15px;
    height: 15px;
  }

  .lp-contents {
    padding-top: 220px;
    margin-top: -250px;
    }

  /* お知らせ SP */
  .lp-news {
    padding-top: 100px; /* イラストがパネル上に突き出る高さ（858px - 798px） */
    margin-bottom: -40px;
}

  .lp-news__panel {
    width: calc(100% - 40px); /* 左右20pxずつ余白 */
    min-height: 205px;
    padding: 17px 20px 20px 30px;
  }

  .lp-news__title {
    font-size: 19px;
    text-align: center;
    margin: 0 0 25px;
  }

  .lp-news__body {
    font-size: 12px;
  }

  .lp-news__body p {
    line-height: 20px;
  }

  .lp-news__illust {
    top: -60px;  /* Figma: 798px - 858px(panel top) = -60px */
    left: -25px; /* Figma: illust left=-25px（パネル外にはみ出す） */
    width: 148px;
  }

  /* 日韓学校間交流応援とは？ SP */
  .lp-about {
    padding-top: 0; /* PC用 padding-top をリセット */
    padding-bottom: 40px;
  }

  .lp-about__title-area {
    padding-top: 87px; /* 1108px - 1021px = 87px（イラストtop〜タイトルtop） */
    margin-bottom: 20px;
  }

  .lp-about__title-bg {
    top: 92px;  
    height: 18px;
  }

  .lp-about__title {
    font-size: 19px;
    text-align: center;
  }

  .lp-about__title span {
    padding: 4px 16px;
  }

  .lp-about__text {
    width: calc(100% - 40px);
    margin-left: 20px;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 40px;
  }

  .lp-about__btn {
    font-size: 16px;
    width: 260px;
  }

  .lp-about__illust {
    top: 0;
    left: auto;
    right: 10px; /* 390 - 281 - 99 = 10px from right */
    width: 99px;
    z-index: 1;
  }

  /* 交流フロー SP */
  .lp-flow {
    padding: 40px 0;
  }

  .lp-flow__title-area {
    margin-bottom: 30px;
  }

  .lp-flow__title-bg {
    top: 7px;   /* wave: 1373px - title: 1366px = 7px */
    height: 18px;
  }

  .lp-flow__title {
    font-size: 19px;
  }

  .lp-flow__title span {
    padding: 4px 16px;
  }

  .lp-flow__list {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    max-width: none;
  }

  .lp-flow__item {
    max-width: none;
    width: 100%;
  }

  .lp-flow__circle-wrap {
    width: calc(100% - 40px); /* 350px at 390px viewport */
    max-width: 350px;
  }

  .lp-flow__head {
    top: 11.1%; /* 39 / 350 = 11.1% */
  }

  .lp-flow__num {
    width: 8.57%; /* 30 / 350 = 8.57% */
    font-size: 18px;
  }

  .lp-flow__step-title {
    font-size: 16px;
  }

  .lp-flow__desc {
    width: calc(100% - 40px);
    margin: 10px auto 0;
    padding-left: 21px;
  }

  .lp-flow__desc li {
    font-size: 14px;
  }

  /* Q&A SP */
  .lp-qa {
    padding-top: 75px; /* illustration top: 0, title top: 4686-4611=75px */
  }

  .lp-qa__illust {
    top: -80px;
    left: auto;
    right: 6px;
    width: 151px;
  }

  .lp-qa__title-area {
    margin-bottom: 5px;
  }

  .lp-qa__title-bg {
    top: 7px;    /* wave: 4693 - title: 4686 = 7px */
    height: 18px;
  }

  .lp-qa__title {
    font-size: 19px;
  }

  .lp-qa__title span {
    padding: 4px 12px;
  }

  .lp-qa__panel {
    width: calc(100% - 40px);
    padding: 10px 20px 30px;
  }

  .lp-qa__item {
    padding: 20px 0;
  }

  .lp-qa__q,
  .lp-qa__a {
    gap: 6px;
  }

  .lp-qa__label {
    font-size: 16px;
    width: 34px;
  }

  .lp-qa__q .lp-qa__text {
    font-size: 14px;
  }

  .lp-qa__a .lp-qa__text {
    font-size: 12px;
    line-height: 1.7;
  }
    .lp-form {
        padding: 13px;
        margin: 60px auto;
    }
    .lp-form__title {
        font-size: 19px;
        margin-bottom: 10px;
    }

.lp-body .page-index .sec-report__post {
    background: none;
}

}

/* ===========================================
   lp-contact (お問い合わせ / ボランティア募集)
   =========================================== */
.lp-contact {
  padding: min(120px, 8.33vw) 0 min(100px, 6.94vw);
}

.lp-contact__wrap {
  width: min(1240px, calc(100% - 200px));
  margin: 0 auto;
  position: relative;
}

/* タブボタン群 */
.lp-contact__tabs {
  display: flex;
  gap: 15px;
  position: relative;
  z-index: 1;
  padding: 0 30px;
}

.lp-contact__tab {
  width: min(351px, 30%);
  padding: 18px 20px;
  border: none;
  border-radius: 20px 20px 0 0;
  font-size: clamp(14px, 1.67vw, 24px);
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  background: #cedee1;
  color: #575757;
  text-align: center;
  flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;

}

.lp-contact__tab.lp-contact__tab--active {
  background: #00b8b8;
  color: #fff;
  display: flex;
    justify-content: center;
    align-items: center;
}

/* 外枠パネル */
.lp-contact__panel {
  background: #00b8b8;
  border-radius: 20px;
  padding: min(40px, 2.78vw);
  position: relative;
  z-index: 0;
}

/* 白い内側 */
.lp-contact__body {
  background: #fff;
  border-radius: 20px;
  padding: min(60px, 4.17vw) min(80px, 5.56vw);
  min-height: 400px;
}

/* コンテンツ切り替え */
.lp-contact__content {
  display: none;
}

.lp-contact__content.lp-contact__content--active {
  display: block;
}

/* PC: タブ1の改行は非表示 */
.lp-contact__tab-br {
  display: none;
}

@media (max-width: 767px) {
  .lp-contact {
    padding: 40px 0 50px;
  }

  .lp-contact__wrap {
    width: calc(100% - 20px);
  }

  .lp-contact__tabs {
    gap: 6px;
  }

  .lp-contact__tab {
    width: calc(50% - 3px);
    font-size: 13px;
    font-weight: 700;
    padding: 7px 0;
    border-radius: 16px 16px 0 0;
    line-height: 1.5;
  }

  /* SP: タブ1の改行を表示 */
  .lp-contact__tab-br {
    display: inline;
  }

  .lp-contact__panel {
    padding: 12px;
    border-radius: 16px;
  }

  .lp-contact__body {
    padding: 24px 16px;
    border-radius: 12px;
  }
}


