@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Cormorant+Garamond:wght@300;400;500&family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&family=Parisienne&display=swap');
/* ⚠️@import はスタイルシートの先頭にしか効かない。途中に書くとブラウザが丸ごと無視する
   （2026-08-14＝Parisienneを途中に書いていて、Androidの実機で発覚）。ここに足すこと。 */

/* =========================================================
   NBrows ACADEMY Korea
   スマホが基準（vw）→ 736px以上でPCに切り替え
   ========================================================= */

:root{
  /* 色：クリーム＋グレージュが土台。ピンクとゴールドは差し色だけ */
  --cream:#FCF7EA;
  --cream2:#FBF9F4;
  --greige:#E6DFD3;
  --greige2:#D6D1C9;
  --taupe:#AEA393;
  --ink:#272727;
  --ink2:#525252;
  --pink:#E26C63;
  --pink-soft:#F07F77;
  --pink-pale:#FFEEED;
  --gold:#D0942B;
  --gold-soft:#D5AE52;
  --line:#DED7CB;

  --en:'Marcellus',serif;
  --en2:'Cormorant Garamond',serif;
  --mincho:'Shippori Mincho','Yu Mincho','游明朝','Hiragino Mincho ProN',serif;
  --gothic:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;

  --ease:cubic-bezier(.76,0,.24,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--cream2);
  color:var(--ink);
  font-family:var(--mincho);
  font-size:3.7vw;
  line-height:1.95;
  letter-spacing:.06em;
  overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0;margin:0}

.wrap{width:88vw;margin-inline:auto}
.sec{padding:16vw 0}
.sec--cream{background:var(--cream)}
.sec--greige{background:var(--greige)}
.sec--white{background:#fff}
.sec--tight{padding:10vw 0}

/* ── 見出しの型（英字を小さく上に、和文を明朝で大きく） ── */
.ttl{text-align:center;margin:0 0 9vw}
.ttl__en{
  display:block;font-family:var(--en);font-size:3.2vw;
  letter-spacing:.32em;color:var(--taupe);line-height:1;margin-bottom:3.5vw;
  text-transform:uppercase;
}
.ttl__ja{
  display:block;font-family:var(--mincho);font-weight:600;
  font-size:6.2vw;line-height:1.5;letter-spacing:.1em;color:var(--ink);
}
.ttl__ja small{font-size:.62em;letter-spacing:.08em}

.lead{font-size:3.7vw;line-height:2.1;margin:0 0 5vw}
.center{text-align:center}

/* ── ボタン ── */
.btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:14vw;padding:0 5vw;
  font-family:var(--mincho);font-size:4vw;letter-spacing:.14em;
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.btn:active{transform:scale(.985)}
.btn--fill{background:var(--ink);color:#fff}
.btn--pink{background:var(--pink);color:#fff}
.btn--gold{background:var(--gold);color:#fff}
.btn--line{background:#06C755;color:#fff}
.btn--ghost{border:1px solid var(--taupe-line);color:var(--ink);background:transparent}
.btn__arrow{margin-left:auto;font-family:var(--en);font-size:3.4vw;letter-spacing:0}

/* 細い下線リンク（オレンジ流の「もっと見る」） */
.more{
  display:inline-flex;align-items:center;gap:2.5vw;
  font-family:var(--en);font-size:3.2vw;letter-spacing:.24em;color:var(--ink);
  padding-bottom:1.6vw;border-bottom:1px solid var(--taupe-line);
}
.more::after{content:"";width:8vw;height:1px;background:var(--taupe-line)}

/* =========================================================
   ヘッダー（ロゴ左・ハンバーガー右上固定）
   ========================================================= */
.hd{
  height:18vw;padding:0 4.5vw;
  display:flex;align-items:center;
  position:sticky;top:0;z-index:60;
  background:rgba(252,249,244,.92);backdrop-filter:blur(8px);
}
.hd__logo img{width:26vw}

.navbtn{
  position:fixed;top:0;right:0;width:18vw;height:18vw;z-index:80;
  background:transparent;border:0;padding:0;cursor:pointer;
}
.navbtn .line{
  position:absolute;left:4.5vw;width:9vw;height:1px;background:var(--ink);
  transition:all .35s var(--ease);
}
.navbtn .line-t{top:7.4vw}
.navbtn .line-b{top:10.4vw}
.nav-open .navbtn .line-t{top:8.9vw;transform:rotate(20deg)}
.nav-open .navbtn .line-b{top:8.9vw;transform:rotate(-20deg)}
.nav-open .navbtn .line{background:var(--ink)}

.nav{
  position:fixed;inset:0;z-index:70;
  background:var(--cream);
  opacity:0;visibility:hidden;
  transition:opacity .45s var(--ease),visibility .45s var(--ease);
  display:flex;flex-direction:column;justify-content:center;
  padding:18vw 10vw;overflow-y:auto;
}
.nav-open .nav{opacity:1;visibility:visible}
.nav a{
  display:block;padding:4.2vw 0;border-bottom:1px solid var(--line);
  font-family:var(--mincho);font-size:4.4vw;letter-spacing:.12em;
}
.nav a .en{
  display:block;font-family:var(--en);font-size:2.8vw;
  letter-spacing:.28em;color:var(--taupe);margin-top:1vw;text-transform:uppercase;
}
.nav__cta{margin-top:8vw;display:grid;gap:3vw}

/* body固定 */
body.nav-open{overflow:hidden}

/* =========================================================
   ヒーロー
   ========================================================= */
.hero{position:relative;background:var(--cream);padding:6vw 0 0;overflow:hidden}
.hero__copy{text-align:center;padding:0 6vw}
.hero__logo{width:44vw;margin:0 auto 6vw}
.hero__en{
  font-family:var(--en);font-size:3.4vw;letter-spacing:.34em;
  color:var(--taupe);margin:0 0 5vw;text-transform:uppercase;
}
.hero__lead{font-family:var(--mincho);font-weight:600;font-size:5.2vw;letter-spacing:.16em;margin:0 0 2.5vw}
.hero__ttl{font-family:var(--mincho);font-weight:600;font-size:7.4vw;letter-spacing:.14em;margin:0 0 6vw;line-height:1.45}
.hero__sub{font-size:3.6vw;line-height:2.2;letter-spacing:.1em;color:var(--ink2);margin:0 0 3vw}
.hero__name{font-family:var(--mincho);font-size:3.8vw;letter-spacing:.14em;margin:0 0 6vw}
.hero__name b{display:block;font-family:var(--en);font-size:5.6vw;letter-spacing:.2em;font-weight:400;margin-top:1vw}
.hero__photo{margin:0}
.hero__photo img{width:100%}

/* =========================================================
   コースカード
   ========================================================= */
.course{background:#fff;margin-bottom:9vw}
.course__thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.course__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.course__body{padding:8vw 6vw 7vw}
.course__en{
  display:block;font-family:var(--en);font-size:2.9vw;letter-spacing:.3em;
  color:var(--taupe);margin-bottom:2.5vw;text-transform:uppercase;
}
.course__ttl{font-family:var(--mincho);font-weight:600;font-size:5.8vw;letter-spacing:.1em;margin:0 0 4vw}
.course__txt{font-size:3.5vw;line-height:2.05;color:var(--ink2);margin:0 0 6vw}

/* =========================================================
   お知らせ（一覧の行）
   ========================================================= */
.news-row{
  display:block;padding:5vw 0;border-bottom:1px solid var(--line);
}
.news-row__date{
  display:block;font-family:var(--en);font-size:3vw;
  letter-spacing:.2em;color:var(--taupe);margin-bottom:1.6vw;
}
.news-row__ttl{display:block;font-size:3.8vw;line-height:1.75;letter-spacing:.06em}

/* =========================================================
   3つの特長（画像＋文章）
   ========================================================= */
.feat{display:grid;gap:12vw}
.feat__img{margin:0 0 5vw}
.feat__img img{width:100%}
.feat__num{
  display:block;font-family:var(--en);font-size:7vw;letter-spacing:.1em;
  color:var(--greige2);line-height:1;margin-bottom:2vw;
}
.feat__ttl{font-family:var(--mincho);font-weight:600;font-size:5vw;line-height:1.55;letter-spacing:.08em;margin:0 0 3.5vw}
.feat__txt{font-size:3.5vw;line-height:2.1;color:var(--ink2);margin:0 0 3vw}

/* タイル3つ */
.tiles{display:grid;gap:3vw;margin-top:10vw}
.tile{position:relative;display:block;overflow:hidden;background:#fff}
.tile img{width:100%;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.04)}
.tile__label{
  display:block;padding:3.6vw;text-align:center;
  font-family:var(--mincho);font-size:3.8vw;letter-spacing:.14em;
}

/* =========================================================
   講師紹介
   ========================================================= */
.teacher__photo{margin:0 0 6vw}
.teacher__photo img{width:100%}
.teacher__name{font-family:var(--mincho);font-weight:600;font-size:5.4vw;letter-spacing:.1em;margin:0 0 4vw;text-align:center}
.teacher__name .en{font-family:var(--en);letter-spacing:.16em}
.teacher__p{font-size:3.5vw;line-height:2.1;color:var(--ink2);margin:0 0 3.5vw}
.teacher__h{
  font-family:var(--mincho);font-weight:600;font-size:4.2vw;letter-spacing:.1em;
  margin:7vw 0 3vw;padding-bottom:2.5vw;border-bottom:1px solid var(--line);
}

/* =========================================================
   施術例・ギャラリー
   ========================================================= */
.works{display:grid;grid-template-columns:repeat(2,1fr);gap:2vw}
.works img{width:100%;aspect-ratio:1/1;object-fit:cover}
.works--3{grid-template-columns:repeat(2,1fr)}

/* =========================================================
   日程・受講料
   ========================================================= */
.dates{display:grid;gap:4vw;margin-bottom:8vw}
.date-card{
  background:#fff;padding:6vw 5vw;text-align:center;position:relative;
}
.date-card__stamp{
  display:inline-block;margin-bottom:3vw;padding:1.4vw 5vw;
  background:var(--pink);color:#fff;
  font-family:var(--mincho);font-size:3.6vw;letter-spacing:.2em;
}
.date-card__txt{
  display:block;font-family:var(--en);font-size:6vw;letter-spacing:.06em;
  line-height:1.4;position:relative;
}
.date-card--full .date-card__txt{color:var(--taupe)}
.date-card--full .date-card__txt::after{
  content:"";position:absolute;left:-1vw;right:-1vw;top:52%;height:1px;background:var(--pink);
}
.date-detail{text-align:center;font-size:3.5vw;line-height:2.1;color:var(--ink2);margin:0}

.sched{display:grid;gap:5vw}
.sched img{width:100%}

.fee{background:#fff;padding:8vw 6vw;text-align:center}
.fee__img{margin:0 0 6vw}
.fee__badge{font-family:var(--mincho);font-size:4.2vw;letter-spacing:.14em;margin:0 0 2vw}
.fee__price{
  font-family:var(--en);font-size:11vw;letter-spacing:.02em;line-height:1.1;
  color:var(--ink);margin:0 0 5vw;
}
.fee__price .tax{display:block;font-size:.3em;letter-spacing:.2em;color:var(--taupe);margin-top:1.5vw}
.fee__list{font-size:3.5vw;line-height:2.2;text-align:left;display:inline-block;color:var(--ink2)}

/* =========================================================
   よくある質問（アコーディオン）
   ========================================================= */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);background:#fff}
.faq summary{
  list-style:none;cursor:pointer;padding:5vw 12vw 5vw 5vw;position:relative;
  font-family:var(--mincho);font-size:3.9vw;line-height:1.7;letter-spacing:.06em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:5vw;top:50%;width:3.4vw;height:1px;
  background:var(--taupe-line);transition:transform .35s var(--ease);
}
.faq summary::before{
  content:"";position:absolute;right:6.7vw;top:50%;width:1px;height:3.4vw;
  background:var(--taupe-line);transform:translateY(-50%);transition:transform .35s var(--ease);
}
.faq details[open] summary::before{transform:translateY(-50%) rotate(90deg)}
.faq .a{padding:0 5vw 5.5vw;font-size:3.5vw;line-height:2.05;color:var(--ink2);margin:0}

/* =========================================================
   Instagram / QR / CTA
   ========================================================= */
.ig__logo{width:56vw;margin:0 auto 6vw}
.ig__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5vw}
.ig__grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.ig__handle{
  display:block;text-align:center;margin-top:6vw;
  font-family:var(--en);font-size:4vw;letter-spacing:.16em;
}

.qr{display:grid;gap:9vw}
.qr__ttl{font-family:var(--mincho);font-size:4.4vw;letter-spacing:.14em;margin:0 0 4vw;text-align:center}
.qr__img{width:56vw;margin:0 auto 3.5vw}
.qr__note{font-size:3.3vw;line-height:1.95;text-align:center;color:var(--ink2);margin:0}

.cta{background:var(--greige);text-align:center}
.cta__en{font-family:var(--en);font-size:3.2vw;letter-spacing:.32em;color:var(--ink2);margin:0 0 3vw;text-transform:uppercase}
.cta__ttl{font-family:var(--mincho);font-weight:600;font-size:5.6vw;line-height:1.6;letter-spacing:.1em;margin:0 0 5vw}
.cta__txt{font-size:3.5vw;line-height:2.05;margin:0 0 7vw;color:var(--ink2)}
.cta__btns{display:grid;gap:3vw}

/* =========================================================
   下部固定CTA（スクロールで出る）
   ========================================================= */
.fixcta{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  display:grid;grid-template-columns:1fr 1fr;
  transform:translateY(calc(100% + 40px));transition:transform .5s var(--ease);
}
.fixcta.on{transform:none}
.fixcta a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:2.8vw 2vw;font-family:var(--mincho);font-size:3.6vw;letter-spacing:.1em;color:#fff;
}
.fixcta a .sub{font-family:var(--en);font-size:2.4vw;letter-spacing:.24em;opacity:.85;margin-bottom:.6vw}
.fixcta__line{background:#06C755}
.fixcta__apply{background:var(--ink)}

/* =========================================================
   フッター
   ========================================================= */
.ft{background:var(--ink);color:#fff;padding:14vw 0 28vw}
.ft__logo{width:34vw;margin:0 auto 8vw;filter:brightness(0) invert(1)}
.ft__nav{display:grid;gap:0;margin-bottom:9vw}
.ft__nav a{
  padding:4vw 0;border-bottom:1px solid rgba(255,255,255,.15);
  font-size:3.6vw;letter-spacing:.1em;
}
.ft__info{text-align:center;font-size:3.2vw;line-height:2.1;color:rgba(255,255,255,.72)}
.ft__brand{font-family:var(--en);font-size:4.6vw;letter-spacing:.2em;color:#fff;margin-bottom:3vw}
.ft__legal{margin-top:7vw;text-align:center;font-size:3vw}
.ft__legal a{color:rgba(255,255,255,.72);margin:0 2.5vw}
.ft__copy{margin-top:5vw;text-align:center;font-size:2.7vw;color:rgba(255,255,255,.45);letter-spacing:.06em}

/* =========================================================
   記事（お知らせ・ブログ）
   ========================================================= */
.page-hero{background:var(--cream);padding:12vw 0 10vw;text-align:center}
.page-hero .en{
  display:block;font-family:var(--en);font-size:3.2vw;letter-spacing:.32em;
  color:var(--taupe);margin-bottom:3vw;text-transform:uppercase;
}
.page-hero h1{font-family:var(--mincho);font-weight:600;font-size:6.4vw;letter-spacing:.12em;margin:0}

.cards{display:grid;gap:7vw}
.card{display:block;background:#fff}
.card__img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--greige)}
.card__body{padding:5vw 5vw 6vw}
.card__date{font-family:var(--en);font-size:2.9vw;letter-spacing:.2em;color:var(--taupe)}
.card__ttl{font-size:3.9vw;line-height:1.75;margin:2vw 0 0;letter-spacing:.06em}

.article{padding:10vw 0 14vw}
.article__date{font-family:var(--en);font-size:3vw;letter-spacing:.22em;color:var(--taupe)}
.article__ttl{font-family:var(--mincho);font-weight:600;font-size:5.6vw;line-height:1.65;letter-spacing:.08em;margin:3vw 0 3vw}
.article__meta{font-size:3.2vw;color:var(--taupe);margin:0 0 7vw}
.article__cover{width:100%;margin-bottom:8vw}
.article__body p{font-size:3.7vw;line-height:2.2;margin:0 0 5vw}
.article__nav{display:grid;gap:3vw;margin-top:12vw;font-size:3.4vw}
.article__nav a{padding:4vw 0;border-top:1px solid var(--line);color:var(--ink2)}
.back{display:inline-block;margin-bottom:5vw;font-family:var(--en);font-size:3vw;letter-spacing:.2em;color:var(--taupe)}

/* 規約・ポリシー */
.doc h2{font-family:var(--mincho);font-weight:600;font-size:4.6vw;letter-spacing:.1em;margin:10vw 0 4vw;padding-bottom:2.5vw;border-bottom:1px solid var(--line)}
.doc h3{font-size:3.9vw;color:var(--pink);margin:6vw 0 2vw;letter-spacing:.08em}
.doc p{font-size:3.5vw;line-height:2.1;margin:0 0 3vw;color:var(--ink2)}

/* =========================================================
   フォーム
   ========================================================= */
.form{display:grid;gap:6vw}
.form label{display:block;font-family:var(--mincho);font-size:3.5vw;letter-spacing:.1em;margin-bottom:2.5vw}
.form label .req{color:var(--pink);font-size:.85em;margin-left:1.5vw}
.form input,.form select,.form textarea{
  width:100%;padding:4vw;font-size:4vw;font-family:var(--gothic);
  background:#fff;border:1px solid var(--line);border-radius:0;color:var(--ink);
  appearance:none;
}
.form select{background-image:linear-gradient(45deg,transparent 50%,var(--taupe-line) 50%),linear-gradient(135deg,var(--taupe-line) 50%,transparent 50%);
  background-position:calc(100% - 5.5vw) center,calc(100% - 4vw) center;background-size:1.5vw 1.5vw;background-repeat:no-repeat}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--taupe-line);box-shadow:0 0 0 1px var(--taupe-line)}
.form__2{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.form__submit{
  width:100%;min-height:15vw;margin-top:3vw;
  background:var(--ink);color:#fff;border:0;cursor:pointer;
  font-family:var(--mincho);font-size:4.4vw;letter-spacing:.3em;
}
.form__note{font-size:3.2vw;line-height:1.95;text-align:center;color:var(--ink2);margin:0}

/* スクロールで出す */
.rv{opacity:0;transform:translateY(5vw);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* =========================================================
   PC（736px以上）
   ========================================================= */
@media screen and (min-width:736px){
  body{font-size:16px;line-height:2}
  .wrap{width:min(100% - 80px,1120px)}
  .sec{padding:120px 0}
  .sec--tight{padding:80px 0}

  .ttl{margin-bottom:64px}
  .ttl__en{font-size:13px;margin-bottom:18px}
  .ttl__ja{font-size:36px}
  .lead{font-size:16px}

  .btn{min-height:76px;font-size:18px;max-width:420px;margin-inline:auto}
  .btn__arrow{font-size:14px}
  .more{font-size:13px;gap:14px}
  .more::after{width:48px}

  .hd{height:96px;padding:0 40px}
  .hd__logo img{width:150px}
  .navbtn{width:96px;height:96px}
  .navbtn .line{left:28px;width:40px}
  .navbtn .line-t{top:42px}
  .navbtn .line-b{top:54px}
  .nav-open .navbtn .line-t,.nav-open .navbtn .line-b{top:48px}
  .nav{padding:120px 0;align-items:center}
  .nav a{width:min(88vw,520px);font-size:20px;padding:20px 0}
  .nav a .en{font-size:11px}
  .nav__cta{width:min(88vw,520px);gap:14px;margin-top:40px}

  .hero{padding:40px 0 0}
  .hero__inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;width:min(100% - 80px,1280px);margin-inline:auto}
  .hero__photo{order:1}
  .hero__copy{order:2;padding:0 0 40px}
  .hero__logo{width:230px;margin-bottom:32px}
  .hero__en{font-size:13px;margin-bottom:26px}
  .hero__lead{font-size:24px}
  .hero__ttl{font-size:36px;margin-bottom:32px}
  .hero__sub{font-size:16px}
  .hero__name{font-size:15px;margin-bottom:0}
  .hero__name b{font-size:26px}

  .courses{display:grid;grid-template-columns:1fr 1fr;gap:40px}
  .course{margin-bottom:0;display:flex;flex-direction:column}
  .course__body{padding:44px 40px 40px;flex:1;display:flex;flex-direction:column}
  .course__en{font-size:12px}
  .course__ttl{font-size:28px}
  .course__txt{font-size:15px;flex:1}
  .course__thumbs{grid-template-columns:repeat(4,1fr)}

  .news-row{display:flex;align-items:baseline;gap:40px;padding:24px 8px}
  .news-row:hover{background:rgba(226,108,99,.04)}
  .news-row__date{flex:0 0 120px;font-size:13px;margin:0}
  .news-row__ttl{font-size:16px}

  .feat{gap:100px}
  .feat__row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .feat__row:nth-child(even) .feat__img{order:2}
  .feat__img{margin:0}
  .feat__num{font-size:34px}
  .feat__ttl{font-size:26px}
  .feat__txt{font-size:15px}

  .tiles{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:80px}
  .tile__label{font-size:15px;padding:18px}

  .teacher{display:grid;grid-template-columns:400px 1fr;gap:56px;align-items:start}
  .teacher__photo{margin:0}
  .teacher__name{font-size:26px;text-align:left}
  .teacher__p{font-size:15px}
  .teacher__h{font-size:17px;margin:36px 0 14px}

  .works{grid-template-columns:repeat(5,1fr);gap:10px}
  .works--3{grid-template-columns:repeat(3,1fr)}

  .dates{gap:20px;max-width:860px;margin-inline:auto}
  .date-card{padding:32px 28px}
  .date-card__stamp{font-size:15px;padding:6px 26px;margin-bottom:14px}
  .date-card__txt{font-size:34px}
  .date-detail{font-size:15px}
  .sched{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1120px;margin-inline:auto}

  .fee{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;text-align:left;padding:56px;max-width:1000px;margin-inline:auto}
  .fee__img{margin:0}
  .fee__badge{font-size:20px}
  .fee__price{font-size:56px}
  .fee__price .tax{display:inline;font-size:.36em;margin-left:12px}
  .fee__list{font-size:15px}

  .faq{max-width:900px;margin-inline:auto}
  .faq summary{font-size:17px;padding:26px 60px 26px 28px}
  .faq summary::after{right:28px;width:16px}
  .faq summary::before{right:35px;height:16px}
  .faq .a{font-size:15px;padding:0 28px 26px}

  .ig__logo{width:280px}
  .ig__grid{grid-template-columns:repeat(6,1fr);gap:8px;max-width:1120px;margin-inline:auto}
  .ig__handle{font-size:20px}

  .qr{grid-template-columns:1fr 1fr;gap:56px;max-width:800px;margin-inline:auto}
  .qr__ttl{font-size:19px}
  .qr__img{width:260px}
  .qr__note{font-size:14px}

  .cta__en{font-size:13px}
  .cta__ttl{font-size:28px}
  .cta__txt{font-size:16px}
  .cta__btns{grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin-inline:auto}
  .cta__btns .btn{max-width:none}

  .fixcta{max-width:420px;left:auto;right:24px;bottom:24px;gap:1px}
  .fixcta a{padding:16px 12px;font-size:15px}
  .fixcta a .sub{font-size:10px}

  .ft{padding:90px 0 60px}
  .ft__logo{width:180px;margin-bottom:48px}
  .ft__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 36px;margin-bottom:48px}
  .ft__nav a{border:0;padding:8px 0;font-size:14px}
  .ft__nav a:hover{color:var(--gold-soft)}
  .ft__info{font-size:14px}
  .ft__brand{font-size:22px}
  .ft__legal{font-size:13px;margin-top:40px}
  .ft__copy{font-size:12px}

  .page-hero{padding:90px 0 72px}
  .page-hero .en{font-size:13px}
  .page-hero h1{font-size:36px}

  .cards{grid-template-columns:repeat(3,1fr);gap:36px}
  .card{transition:transform .5s var(--ease)}
  .card:hover{transform:translateY(-6px)}
  .card__body{padding:24px 24px 28px}
  .card__date{font-size:12px}
  .card__ttl{font-size:16px}

  .article{max-width:760px;margin-inline:auto;padding:80px 0 120px}
  .article__ttl{font-size:30px}
  .article__body p{font-size:16px;line-height:2.2}
  .article__nav{grid-template-columns:1fr 1fr;font-size:14px}

  .doc h2{font-size:22px;margin:56px 0 20px}
  .doc h3{font-size:17px}
  .doc p{font-size:15px}

  .form{max-width:680px;margin-inline:auto;gap:28px}
  .form label{font-size:15px;margin-bottom:10px}
  .form input,.form select,.form textarea{padding:14px 16px;font-size:16px}
  .form select{background-position:calc(100% - 22px) center,calc(100% - 16px) center;background-size:6px 6px}
  .form__2{gap:20px}
  .form__submit{min-height:66px;font-size:18px;max-width:320px;margin-inline:auto;display:block}
  .form__note{font-size:14px}

  .rv{transform:translateY(24px)}
}

/* =========================================================
   ヒーロー v2（2026-08-05）
   案A = 実写フルブリード／案B = スプリット
   ふるまい：講習の実写を3枚ゆっくり入れ替え（Ken Burns）
   ========================================================= */
.hv{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:flex-start;
  overflow:hidden;
  background:var(--cream);
  isolation:isolate;
}
/* スマホ＝上に写真の帯、その下にコピー */
.hv__bg{position:absolute;inset:0 0 auto 0;height:40svh;z-index:0;overflow:hidden}
.hv__slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center 38%;
  opacity:0;
  animation:hvKen 24s var(--ease) infinite;
  will-change:opacity,transform;
}
.hv__slide:nth-child(1){animation-delay:0s}
.hv__slide:nth-child(2){animation-delay:8s}
.hv__slide:nth-child(3){animation-delay:16s}
@keyframes hvKen{
  0%{opacity:0;transform:scale(1.04)}
  5%{opacity:1}
  30%{opacity:1}
  36%{opacity:0;transform:scale(1.13)}
  100%{opacity:0;transform:scale(1.13)}
}
/* 文字の下だけクリームを濃く敷いて、写真は上に残す */
.hv__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(252,247,234,.12) 0%,
      rgba(252,247,234,.06) 40%,
      rgba(252,247,234,.55) 72%,
      rgba(252,247,234,.96) 92%,
      var(--cream) 100%);
}
.hv__spark{
  position:absolute;font-size:3.4vw;color:var(--gold-soft);
  opacity:0;animation:hvTwinkle 6s ease-in-out infinite;
  text-shadow:0 0 12px rgba(213,174,82,.6);pointer-events:none;
}
.hv__spark--1{top:16%;left:9%;animation-delay:.4s}
.hv__spark--2{top:31%;right:12%;font-size:2.4vw;animation-delay:2.6s}
.hv__spark--3{top:47%;left:22%;font-size:2vw;animation-delay:4.4s}
@keyframes hvTwinkle{
  0%,100%{opacity:0;transform:scale(.6)}
  50%{opacity:.95;transform:scale(1)}
}

/* アンナさん */
.hv__anna{
  position:absolute;z-index:1;margin:0;
  right:-8vw;top:3svh;width:auto;height:38svh;
  filter:drop-shadow(0 6px 26px rgba(39,39,39,.16));
  animation:hvFloat 9s ease-in-out infinite;
}
.hv__anna img{width:auto;height:100%}
@keyframes hvFloat{0%,100%{translate:0 0}50%{translate:0 -1.1vw}}

.hv__inner{
  position:relative;z-index:2;
  width:88vw;margin-inline:auto;
  padding:38svh 0 16vw;text-align:center;
}
.hv__inner>*{animation:hvUp .9s var(--ease) both}
.hv__inner>*:nth-child(1){animation-delay:.05s}
.hv__inner>*:nth-child(2){animation-delay:.14s}
.hv__inner>*:nth-child(3){animation-delay:.22s}
.hv__inner>*:nth-child(4){animation-delay:.30s}
.hv__inner>*:nth-child(5){animation-delay:.38s}
.hv__inner>*:nth-child(6){animation-delay:.46s}
.hv__inner>*:nth-child(7){animation-delay:.54s}
.hv__inner>*:nth-child(8){animation-delay:.62s}
.hv__inner>*:nth-child(9){animation-delay:.70s}
@keyframes hvUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* 「日本初開催」チップ */
.hv__chip{
  display:inline-flex;align-items:stretch;overflow:hidden;
  border-radius:999px;margin:0 0 4vw;
  box-shadow:0 4px 18px rgba(39,39,39,.10);
  background:#fff;
}
.hv__chip b{
  background:var(--pink);color:#fff;font-weight:500;
  font-family:var(--gothic);font-size:3vw;letter-spacing:.14em;
  padding:2.2vw 4vw;
}
.hv__chip span{
  color:var(--ink);font-family:var(--mincho);
  font-size:3.2vw;letter-spacing:.12em;padding:2.2vw 4.6vw;
}

.hv__logo{width:26vw;margin:0 auto 2.4vw}
.hv__en{
  font-family:var(--en);font-size:3.2vw;letter-spacing:.34em;
  color:var(--taupe);margin:0 0 2vw;text-transform:uppercase;
}
.hv__ttl{
  font-family:var(--mincho);font-weight:600;
  font-size:7.4vw;letter-spacing:.1em;line-height:1.4;
  margin:0 0 3vw;
}
.hv__lead{
  font-family:var(--mincho);font-weight:600;font-size:4.4vw;
  letter-spacing:.1em;line-height:1.75;margin:0 0 2.4vw;
}
.hv__sub{
  font-size:3.4vw;line-height:1.95;letter-spacing:.08em;
  color:var(--ink2);margin:0 0 4.5vw;
}
.hv__cta{display:grid;gap:3vw;margin-bottom:4vw}
.hv__cta .btn{box-shadow:0 6px 20px rgba(39,39,39,.14)}
.hv__more{
  display:inline-flex;align-items:center;gap:2vw;
  font-family:var(--mincho);font-size:3.4vw;letter-spacing:.12em;
  color:var(--ink2);border-bottom:1px solid var(--taupe-line);
  padding-bottom:1.2vw;margin-bottom:6vw;
}
.hv__more i{font-style:normal;transition:transform .4s var(--ease)}
.hv__more:hover i{transform:translateX(5px)}
.hv__name{
  font-family:var(--mincho);font-size:3.2vw;letter-spacing:.14em;
  color:var(--ink2);margin:0;
}
.hv__name b{font-family:var(--en);font-size:4.4vw;font-weight:400;letter-spacing:.2em}

.hv__scroll{
  position:absolute;z-index:2;bottom:4vw;left:50%;transform:translateX(-50%);
  font-family:var(--en);font-size:2.6vw;letter-spacing:.3em;color:var(--taupe);
  display:flex;flex-direction:column;align-items:center;gap:1.6vw;
}
.hv__scroll span{
  width:1px;height:9vw;background:var(--taupe-line);
  transform-origin:top;animation:hvLine 2.4s ease-in-out infinite;
}
@keyframes hvLine{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── 案B＝スプリット（写真の面とコピーの面を分ける） ── */
.hv--b .hv__veil{
  background:linear-gradient(180deg,
    rgba(252,247,234,0) 0%,
    rgba(252,247,234,.10) 40%,
    rgba(252,247,234,.90) 58%,
    var(--cream) 66%);
}
.hv--b .hv__anna{top:4vw;width:74vw;left:auto;right:-4vw;transform:none}
.hv--b .hv__inner{text-align:left;padding-bottom:20vw}
.hv--b .hv__logo{margin-left:0}
.hv--b .hv__cta{grid-template-columns:1fr 1fr;gap:2.5vw}
.hv--b .hv__cta .btn{font-size:3.4vw;padding:0 2vw}

/* =========================================================
   PC
   ========================================================= */
@media screen and (min-width:736px){
  .hv{min-height:min(92svh,860px);justify-content:center}
  .hv__bg{inset:0;height:auto}
  .hv__slide{background-position:center 42%}
  /* 背景写真が明るい（左40%の明度200前後）ので膜は薄く。
     濃くすると写真が完全に消える＝2026-08-05に実測して調整 */
  .hv__veil{
    background:
      linear-gradient(90deg,
        rgba(252,247,234,.91) 0%,
        rgba(252,247,234,.71) 31%,
        rgba(252,247,234,.26) 55%,
        rgba(252,247,234,0) 74%,
        rgba(252,247,234,0) 100%),
      linear-gradient(180deg,rgba(252,247,234,.22) 0%,rgba(252,247,234,0) 24%,rgba(252,247,234,.32) 100%);
  }
  .hv__spark{font-size:20px}
  .hv__spark--1{top:18%;left:52%}
  .hv__spark--2{top:30%;right:8%;font-size:15px}
  .hv__spark--3{top:62%;left:46%;font-size:13px}

  .hv__anna{
    left:auto;right:3%;top:auto;bottom:0;transform:none;
    width:auto;height:min(86%,720px);
  }
  .hv__anna img{width:auto;height:100%}
  @keyframes hvFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}

  .hv__inner{
    width:min(100% - 80px,1280px);
    padding:0;text-align:left;
    max-width:1280px;
  }
  .hv__chip{margin-bottom:26px}
  .hv__chip b{font-size:13px;padding:9px 18px}
  .hv__chip span{font-size:14px;padding:9px 22px}
  .hv__logo{width:190px;margin:0 0 18px}
  .hv__en{font-size:13px;margin-bottom:14px}
  .hv__ttl{font-size:44px;margin-bottom:20px}
  .hv__lead{font-size:22px;margin-bottom:14px}
  .hv__sub{font-size:15px;margin-bottom:30px;max-width:24em}
  .hv__cta{grid-template-columns:auto auto;justify-content:start;gap:14px;margin-bottom:20px}
  .hv__cta .btn{width:auto;min-width:230px;min-height:58px;font-size:16px}
  .hv__more{font-size:14px;margin-bottom:28px;gap:8px;padding-bottom:5px}
  .hv__name{font-size:14px}
  .hv__name b{font-size:20px}
  .hv__scroll{bottom:22px;left:26px;transform:none;font-size:11px;gap:8px}
  .hv__scroll span{height:46px}
  .sp-br{display:none}

  /* 案B＝左コピー／右に写真の面 */
  .hv--b{justify-content:flex-start;align-items:center;flex-direction:row}
  .hv--b .hv__bg{left:auto;right:0;width:52%;border-radius:280px 0 0 0}
  .hv--b .hv__veil{
    background:linear-gradient(90deg,rgba(252,247,234,.9) 0%,rgba(252,247,234,.06) 34%,rgba(252,247,234,0) 100%);
  }
  .hv--b .hv__anna{right:0;width:min(46%,600px)}
  .hv--b .hv__inner{padding-bottom:0}
  .hv--b .hv__cta{grid-template-columns:auto auto}
  .hv--b .hv__cta .btn{font-size:16px;padding:0 5vw}
}

/* 動きが苦手な人には全部止める */
@media (prefers-reduced-motion:reduce){
  .hv__slide{animation:none;opacity:0}
  .hv__slide:nth-child(1){opacity:1}
  .hv__anna,.hv__spark,.hv__scroll span,.hv__inner>*{animation:none}
  .hv__spark{opacity:.7}
  .hv__inner>*{opacity:1;transform:none}
}

/* =========================================================
   Zoom／LINE カード ＋ ブログ帯（2026-08-05）
   もとは画像3枚（青ベタのインスタ用バナー／裸のQR／グレーのブログバナー）。
   文字を画像から出してHTMLに。サイトの書体と色がそのまま効く＝浮かない。
   ⚠️QRだけは本物のデータなので画像のまま（作り直すと読み取れなくなる）
   ========================================================= */
.ccards{display:grid;gap:5vw;text-align:left}
.ccard{
  position:relative;background:#fff;padding:9vw 6.5vw 7vw;
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(39,39,39,.05);
  display:flex;flex-direction:column;
}
.ccard__badge{
  position:absolute;top:6vw;right:6.5vw;
  background:var(--pink);color:#fff;font-family:var(--gothic);
  font-size:3vw;letter-spacing:.12em;padding:1.6vw 4.2vw;border-radius:999px;
  box-shadow:0 4px 14px rgba(226,108,99,.28);
}
.ccard__note b{font-weight:600;color:var(--ink)}
.ccard__en{
  font-family:var(--en);font-size:2.9vw;letter-spacing:.3em;
  color:var(--taupe);text-transform:uppercase;margin-bottom:2.5vw;
}
.ccard__ttl{
  font-family:var(--mincho);font-weight:600;font-size:5.8vw;
  letter-spacing:.1em;margin:0 0 3.5vw;
}
.ccard__lead{font-size:3.5vw;line-height:1.95;color:var(--ink2);margin:0 0 5vw}
.ccard__qa{margin:0 0 5vw;border-top:1px solid var(--line)}
.ccard__qa li{
  position:relative;border-bottom:1px solid var(--line);
  padding:3.6vw 0 3.6vw 6.5vw;font-size:3.5vw;line-height:1.8;
}
.ccard__qa li::before{
  content:"Q";position:absolute;left:0;top:3.4vw;
  font-family:var(--en);font-size:3.4vw;color:var(--pink);letter-spacing:0;
}
.ccard__note{
  font-size:3vw;line-height:1.85;color:var(--taupe);margin:0 0 5vw;
}
.ccard .btn{margin-top:auto}

/* QRは白い枠に載せるだけ＝読み取りやすさを壊さない */
.qrbox{
  display:block;width:52vw;margin:0 auto 4vw;padding:3.5vw;
  background:#fff;border:1px solid var(--line);
  box-shadow:0 6px 20px rgba(39,39,39,.06);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.qrbox img{width:100%}
.qrbox:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(39,39,39,.12)}

/* ── ブログ帯 ── */
.bband{
  display:block;position:relative;overflow:hidden;
  background:linear-gradient(115deg,var(--cream) 0%,var(--cream) 52%,#F3EEE0 100%);
  border:1px solid var(--line);
  padding:8vw 6.5vw 0;
}
.bband__txt{position:relative;z-index:2;max-width:62%}
.bband__en{
  display:block;font-family:var(--en);font-size:3vw;letter-spacing:.3em;
  color:var(--taupe);text-transform:uppercase;margin-bottom:2.5vw;
}
.bband__ttl{
  font-family:var(--mincho);font-weight:600;font-size:5.6vw;
  letter-spacing:.1em;line-height:1.5;margin:0 0 3vw;
}
.bband__sub{font-size:3.3vw;line-height:1.9;color:var(--ink2);margin:0 0 5vw}
.bband__more{
  display:inline-flex;align-items:center;gap:2.4vw;
  font-family:var(--mincho);font-size:3.4vw;letter-spacing:.12em;
  border-bottom:1px solid var(--taupe-line);padding-bottom:1.4vw;margin-bottom:8vw;
}
.bband__more i{font-style:normal;transition:transform .4s var(--ease)}
.bband:hover .bband__more i{transform:translateX(5px)}
.bband__photo{
  position:absolute;z-index:1;right:-6vw;bottom:0;
  width:auto;height:78%;
  filter:drop-shadow(0 6px 20px rgba(39,39,39,.12));
  transition:transform .6s var(--ease);
}
.bband:hover .bband__photo{transform:translateY(-4px)}

@media screen and (min-width:736px){
  .ccards{grid-template-columns:1fr 1fr;gap:28px;max-width:940px;margin-inline:auto}
  .ccard{padding:44px 40px 36px}
  .ccard__badge{top:28px;right:36px;font-size:13px;padding:7px 18px}
  .ccard__en{font-size:12px;margin-bottom:10px}
  .ccard__ttl{font-size:26px;margin-bottom:14px}
  .ccard__lead{font-size:15px;margin-bottom:24px}
  .ccard__qa{margin-bottom:24px}
  .ccard__qa li{padding:14px 0 14px 26px;font-size:15px}
  .ccard__qa li::before{font-size:14px;top:13px}
  .ccard__note{font-size:13px;margin-bottom:24px}
  .qrbox{width:200px;padding:14px;margin-bottom:20px}

  .bband{display:grid;grid-template-columns:1fr auto;align-items:end;
    padding:56px 0 0 56px;min-height:280px}
  .bband__txt{max-width:none;padding-bottom:56px}
  .bband__en{font-size:12px;margin-bottom:12px}
  .bband__ttl{font-size:30px;margin-bottom:14px}
  .bband__sub{font-size:15px;margin-bottom:26px}
  .bband__more{font-size:14px;gap:8px;padding-bottom:5px;margin-bottom:0}
  .bband__photo{position:relative;right:auto;bottom:auto;height:280px;margin-right:40px}
}
@media (prefers-reduced-motion:reduce){
  .qrbox,.bband__photo,.bband__more i{transition:none}
}

/* =========================================================
   構造の組み直し（2026-08-05）
   入口の分岐／次の開催2枠／比較表／開催実績／新ページの部品
   ========================================================= */

/* ── ナビのグループ見出し ── */
.nav__grp{
  font-family:var(--en);font-size:2.7vw;letter-spacing:.3em;color:var(--taupe);
  text-transform:uppercase;margin:6vw 0 1vw;padding-bottom:1vw;
}
.nav__grp:first-child{margin-top:0}

/* ── 入口の分岐 ── */
.entry{text-align:center}
.entry__q{font-family:var(--mincho);font-weight:600;font-size:6vw;letter-spacing:.1em;margin:0 0 2.5vw}
.entry__note{font-size:3.4vw;color:var(--ink2);margin:0 0 8vw}
.entry__cards{display:grid;gap:4vw}
.ecard{
  display:flex;flex-direction:column;text-align:left;
  background:#fff;border:1px solid var(--line);padding:8vw 6.5vw 7vw;
  box-shadow:0 10px 30px rgba(39,39,39,.05);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.ecard:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(39,39,39,.10)}
.ecard__en{font-family:var(--en);font-size:2.9vw;letter-spacing:.3em;color:var(--taupe);text-transform:uppercase;margin-bottom:3vw}
.ecard__ttl{font-family:var(--mincho);font-weight:600;font-size:5.4vw;line-height:1.5;letter-spacing:.08em;margin-bottom:3.5vw}
.ecard__txt{font-size:3.4vw;line-height:1.95;color:var(--ink2);margin-bottom:5vw}
.ecard__go{
  margin-top:auto;display:inline-flex;align-items:center;gap:2vw;align-self:flex-start;
  font-family:var(--mincho);font-size:3.6vw;letter-spacing:.1em;
  border-bottom:1px solid var(--taupe-line);padding-bottom:1.2vw;
}
.ecard__go i{font-style:normal;transition:transform .4s var(--ease)}
.ecard:hover .ecard__go i{transform:translateX(5px)}
.ecard--nurse{border-top:3px solid var(--pink-line)}
.ecard--beauty{border-top:3px solid var(--taupe-line)}

/* ── 次の開催（2枠固定） ── */
.nexts{display:grid;gap:4vw}
.nx{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  padding:7vw 6.5vw 6vw;box-shadow:0 10px 30px rgba(39,39,39,.05);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.nx:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(39,39,39,.10)}
/* 2026-08-14 🔴社長指示「ソウル開催・日本開催をもっと大きく」＝2.9vw→4.4vw（PCは12px→19px） */
.nx__flag{
  align-self:flex-start;font-family:var(--gothic);font-weight:700;font-size:4.4vw;letter-spacing:.12em;
  padding:2.2vw 5.5vw;border-radius:999px;margin-bottom:4.5vw;
}
.nx--kr .nx__flag{background:#EAF0F8;color:#4C6FA5}
.nx--jp .nx__flag{background:var(--pink-pale);color:var(--pink)}
.nx__ttl{font-family:var(--mincho);font-weight:600;font-size:5.2vw;letter-spacing:.08em;margin-bottom:2.5vw}
.nx__txt{font-size:3.4vw;line-height:1.9;color:var(--ink2);margin-bottom:2vw}
.nx__meta{font-size:3vw;color:var(--taupe);margin-bottom:5vw}
.nx__go{
  margin-top:auto;display:inline-flex;align-items:center;gap:2vw;align-self:flex-start;
  font-family:var(--mincho);font-size:3.5vw;letter-spacing:.1em;
  border-bottom:1px solid var(--taupe-line);padding-bottom:1.2vw;
}
.nx__go i{font-style:normal;transition:transform .4s var(--ease)}
.nx:hover .nx__go i{transform:translateX(5px)}

/* ── 比較表 ── */
.cmp{background:#fff;border:1px solid var(--line)}
.cmp__row{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}
.cmp__row>span{padding:4vw 5vw;font-size:3.4vw;line-height:1.85}
.cmp__row>span:first-child{
  background:var(--cream);font-family:var(--mincho);font-weight:600;
  letter-spacing:.08em;padding:3vw 5vw;
}
.cmp__row b{display:block;font-weight:600;margin-top:1vw}
.cmp__row--head{display:none}
.cmp__row--same .cmp__both{
  text-align:center;background:var(--cream);font-family:var(--mincho);
  font-weight:600;font-size:4vw;letter-spacing:.06em;
}
.cmp__row>span:nth-child(2)::before{content:"ソウル開催";display:block;font-family:var(--en);font-size:2.7vw;letter-spacing:.2em;color:#4C6FA5;margin-bottom:1.4vw}
.cmp__row>span:nth-child(3)::before{content:"日本開催";display:block;font-family:var(--en);font-size:2.7vw;letter-spacing:.2em;color:var(--pink);margin-bottom:1.4vw}
.cmp__row--same>span:nth-child(2)::before,.cmp__row--head>span::before{content:none}
.cmp__row>span:nth-child(3){border-top:1px dashed var(--line)}
.cmp__btns{display:grid;gap:3vw;padding:6vw 5vw}

/* ── 開催実績 ── */
.records__sum{
  text-align:center;font-family:var(--mincho);font-size:4.2vw;line-height:1.9;
  letter-spacing:.06em;margin:0 0 7vw;
}
.records__sum b{color:var(--pink);font-size:1.2em}
.records__sum small{display:block;font-family:var(--gothic);font-size:3.2vw;color:var(--ink2);margin-top:2vw}
.records__list{display:grid;gap:0;border-top:1px solid var(--line)}
.rec{
  display:grid;grid-template-columns:1fr auto;gap:1vw 3vw;align-items:baseline;
  padding:4.5vw 2vw;border-bottom:1px solid var(--line);
}
.rec:hover{background:rgba(226,108,99,.04)}
.rec__date{grid-column:1/-1;font-family:var(--en);font-size:3vw;letter-spacing:.2em;color:var(--taupe)}
.rec__ttl{font-size:3.7vw;line-height:1.7}
.rec__n{font-size:3.1vw;color:var(--pink);white-space:nowrap}

/* ── 注意書き・強調ブロック ── */
.alert{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:7vw 6vw}
.alert--strong{border-left-color:var(--pink-line);background:var(--pink-pale)}
.alert__ttl{font-family:var(--mincho);font-weight:600;font-size:4.6vw;letter-spacing:.06em;margin:0 0 3.5vw}
.alert--strong .alert__ttl{color:var(--pink)}
.alert__txt{font-size:3.5vw;line-height:2;color:var(--ink2);margin:0 0 3vw}
.alert__txt:last-child{margin-bottom:0}
.alert__txt a{border-bottom:1px solid var(--taupe-line)}

.after{background:#fff;border:1px solid var(--line);padding:8vw 6.5vw}
.after--ok{border-top:3px solid var(--pink-line)}
.after__ttl{font-family:var(--mincho);font-weight:600;font-size:5vw;letter-spacing:.06em;margin:0 0 4vw;color:var(--pink)}
.after__txt{font-size:3.5vw;line-height:2;color:var(--ink2);margin:0 0 3vw}
.after__note{font-size:3.1vw;line-height:1.9;color:var(--taupe);margin:4vw 0 0}

.pt__lead{font-family:var(--mincho);font-weight:600;font-size:5vw;line-height:1.6;letter-spacing:.06em;margin:0 0 4vw}
.pt__txt{font-size:3.5vw;line-height:2.05;color:var(--ink2);margin:0 0 3.5vw}
.pt__note{font-size:3.2vw;line-height:1.95;color:var(--ink2);background:var(--cream);padding:5vw;margin:5vw 0 0}

/* ── 日程の段組み ── */
.days{display:grid;gap:4vw}
.day{background:#fff;border:1px solid var(--line);padding:6.5vw 6vw}
.day--hl{border-color:var(--pink-line);border-width:2px}
.day__n{display:block;font-family:var(--en);font-size:3.4vw;letter-spacing:.2em;color:var(--taupe);margin-bottom:2vw}
.day--hl .day__n{color:var(--pink)}
.day__ttl{font-family:var(--mincho);font-weight:600;font-size:4.6vw;letter-spacing:.06em;margin:0 0 2.5vw}
.day__txt{font-size:3.4vw;line-height:1.95;color:var(--ink2);margin:0}

/* ── 日本開催の開催地リスト ── */
.jp-list{display:grid;gap:4vw}
.jp-row{background:#fff;border:1px solid var(--line);padding:7vw 6vw 6vw}
.jp-row--open{border-top:3px solid var(--pink-line)}
.jp-row--soon{background:var(--cream);border-style:dashed}
.jp-row__city{font-family:var(--mincho);font-weight:600;font-size:5.4vw;letter-spacing:.08em;margin-bottom:3.5vw}
.jp-row__badge{
  display:inline-block;background:var(--pink);color:#fff;font-family:var(--gothic);
  font-size:2.8vw;letter-spacing:.1em;padding:1.2vw 3.4vw;border-radius:999px;
  margin-right:3vw;vertical-align:middle;
}
.jp-row__date{font-family:var(--mincho);font-size:4.2vw;letter-spacing:.06em;margin:0 0 2vw}
.jp-row__course{font-size:3.4vw;color:var(--ink2);margin:0 0 2vw}
.jp-row__note{font-size:3.1vw;line-height:1.9;color:var(--taupe);margin:0 0 5vw}
.jp-row__btn{margin-top:1vw}

/* ── おすすめ ── */
.reco{position:relative;background:#fff;border:2px solid var(--pink-line);padding:9vw 6.5vw 7vw}
.reco--kr{border-color:#4C6FA5}
.reco__badge{
  position:absolute;top:0;left:6.5vw;transform:translateY(-50%);
  background:var(--pink);color:#fff;font-family:var(--gothic);font-size:3vw;
  letter-spacing:.14em;padding:1.6vw 4.4vw;border-radius:999px;
}
.reco--kr .reco__badge{background:#4C6FA5}
.reco__ttl{font-family:var(--mincho);font-weight:600;font-size:5.6vw;letter-spacing:.08em;margin:0 0 3.5vw}
.reco__txt{font-size:3.5vw;line-height:2;color:var(--ink2);margin:0 0 3.5vw}

/* ── FAQ ── */
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line);padding:5.5vw 0}
.faq__q{
  position:relative;font-family:var(--mincho);font-weight:600;font-size:4vw;
  line-height:1.7;letter-spacing:.06em;margin:0 0 3vw;padding-left:7vw;
}
.faq__q::before{content:"Q";position:absolute;left:0;top:0;font-family:var(--en);color:var(--pink);font-size:4vw}
.faq__a{font-size:3.4vw;line-height:2;color:var(--ink2);margin:0;padding-left:7vw}
.faq__a a{border-bottom:1px solid var(--taupe-line)}

/* ── お知らせ（次回調整中） ── */
.notice{background:#fff;border:1px dashed var(--line);padding:8vw 6vw;text-align:center}
.notice__ttl{font-family:var(--mincho);font-weight:600;font-size:4.8vw;letter-spacing:.06em;margin:0 0 3.5vw}
.notice__txt{font-size:3.4vw;line-height:2;color:var(--ink2);margin:0}

/* ── SMPオプション ── */
.addon{
  display:flex;flex-direction:column;background:var(--cream2);
  border:1px dashed var(--line);padding:7vw 6.5vw 6vw;margin-top:5vw;
}
.addon__tag{
  align-self:flex-start;background:var(--greige);color:var(--ink2);
  font-family:var(--gothic);font-size:2.8vw;letter-spacing:.12em;
  padding:1.4vw 3.6vw;border-radius:999px;margin-bottom:3.5vw;
}
.addon__ttl{font-family:var(--mincho);font-weight:600;font-size:4.8vw;letter-spacing:.08em;margin-bottom:3vw}
.addon__txt{font-size:3.4vw;line-height:1.95;color:var(--ink2);margin-bottom:4vw}
.addon__go{
  display:inline-flex;align-items:center;gap:2vw;align-self:flex-start;
  font-family:var(--mincho);font-size:3.4vw;letter-spacing:.1em;
  border-bottom:1px solid var(--taupe-line);padding-bottom:1.2vw;
}
.addon__go i{font-style:normal;transition:transform .4s var(--ease)}
.addon:hover .addon__go i{transform:translateX(5px)}

/* ── ページ見出しのリード ── */
.page-hero__lead{font-family:var(--mincho);font-size:4.4vw;letter-spacing:.08em;margin:3vw 0 0;color:var(--ink2)}

@media screen and (min-width:736px){
  .nav__grp{font-size:11px;margin:26px 0 4px}
  .entry__q{font-size:32px;margin-bottom:12px}
  .entry__note{font-size:15px;margin-bottom:44px}
  .entry__cards{grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin-inline:auto}
  .ecard{padding:40px 36px 34px}
  .ecard__en{font-size:12px;margin-bottom:12px}
  .ecard__ttl{font-size:24px;margin-bottom:14px}
  .ecard__txt{font-size:15px;margin-bottom:22px}
  .ecard__go{font-size:15px;gap:8px;padding-bottom:5px}

  .nexts{grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin-inline:auto}
  .nx{padding:34px 32px 30px}
  .nx__flag{font-size:19px;padding:10px 24px;margin-bottom:20px}
  .nx__ttl{font-size:23px;margin-bottom:10px}
  .nx__txt{font-size:15px;margin-bottom:8px}
  .nx__meta{font-size:13px;margin-bottom:22px}
  .nx__go{font-size:15px;gap:8px;padding-bottom:5px}

  .cmp{max-width:900px;margin-inline:auto}
  .cmp__row{grid-template-columns:170px 1fr 1fr}
  .cmp__row>span{padding:20px 24px;font-size:15px}
  .cmp__row>span:first-child{padding:20px 24px}
  .cmp__row>span:nth-child(3){border-top:0;border-left:1px solid var(--line)}
  .cmp__row>span:nth-child(2)::before,.cmp__row>span:nth-child(3)::before{content:none}
  .cmp__row--head{display:grid;background:var(--cream)}
  .cmp__row--head>span{font-family:var(--en);font-size:12px;letter-spacing:.2em;padding:14px 24px}
  .cmp__kr{color:#4C6FA5}.cmp__jp{color:var(--pink)}
  .cmp__row--same>span:nth-child(2){grid-column:2/-1;border-left:1px solid var(--line)}
  .cmp__row--same .cmp__both{font-size:18px}
  .cmp__btns{grid-template-columns:auto auto;justify-content:center;gap:14px;padding:28px}
  .cmp__btns .btn{width:auto;min-width:210px;min-height:54px;font-size:15px}

  .records__sum{font-size:19px;margin-bottom:34px}
  .records__sum small{font-size:14px}
  .rec{grid-template-columns:150px 1fr auto;gap:0 24px;padding:20px 8px;align-items:baseline}
  .rec__date{grid-column:auto;font-size:13px}
  .rec__ttl{font-size:16px}
  .rec__n{font-size:13px}

  .alert{padding:36px 34px}
  .alert__ttl{font-size:21px;margin-bottom:16px}
  .alert__txt{font-size:15px;margin-bottom:12px}
  .after{padding:40px 36px}
  .after__ttl{font-size:23px;margin-bottom:18px}
  .after__txt{font-size:15px;margin-bottom:12px}
  .after__note{font-size:13px;margin-top:20px}
  .pt__lead{font-size:23px;margin-bottom:18px}
  .pt__txt{font-size:15px;margin-bottom:14px}
  .pt__note{font-size:14px;padding:24px;margin-top:24px}

  .days{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
  .day{padding:30px 28px}
  .day__n{font-size:13px;margin-bottom:8px}
  .day__ttl{font-size:19px;margin-bottom:10px}
  .day__txt{font-size:14px}

  .jp-list{gap:20px;max-width:900px;margin-inline:auto}
  .jp-row{display:grid;grid-template-columns:200px 1fr auto;gap:32px;align-items:center;padding:30px 32px}
  .jp-row__city{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:21px;margin-bottom:0;line-height:1.35}
  .jp-row__badge{font-size:11px;padding:5px 12px;margin-right:0}
  .jp-row__date{font-size:17px}
  .jp-row__course{font-size:14px}
  .jp-row__note{font-size:13px;margin-bottom:0}
  .jp-row__btn{width:auto;min-width:180px;min-height:52px;font-size:15px;margin-top:0}

  .reco{max-width:760px;margin-inline:auto;padding:44px 40px 36px}
  .reco__badge{left:40px;font-size:13px;padding:7px 18px}
  .reco__ttl{font-size:26px;margin-bottom:16px}
  .reco__txt{font-size:15px;margin-bottom:16px}
  .reco .btn{width:auto;min-width:230px;min-height:54px;font-size:15px}

  .faq{max-width:820px;margin-inline:auto}
  .faq__item{padding:26px 0}
  .faq__q{font-size:17px;padding-left:32px;margin-bottom:12px}
  .faq__q::before{font-size:17px}
  .faq__a{font-size:15px;padding-left:32px}

  .notice{padding:44px 40px;max-width:760px;margin-inline:auto}
  .notice__ttl{font-size:22px}
  .notice__txt{font-size:15px}

  .addon{padding:32px 30px 28px;margin-top:24px}
  .addon__tag{font-size:12px;padding:5px 14px;margin-bottom:14px}
  .addon__ttl{font-size:20px;margin-bottom:10px}
  .addon__txt{font-size:15px;margin-bottom:16px}
  .addon__go{font-size:14px;gap:8px;padding-bottom:5px}

  .page-hero__lead{font-size:18px;margin-top:14px}
}
@media (prefers-reduced-motion:reduce){
  .ecard,.nx,.qrbox,.ecard__go i,.nx__go i,.addon__go i{transition:none}
}

/* =========================================================
   入口の作り直し（2026-08-05夜・2回目）
   「あなたはどちらですか？」と聞くのをやめ、
   「どなたでも受講可能」＋卒業後の違いだけを見せる形に
   ========================================================= */
.after2{display:grid;gap:4vw;text-align:left;margin-top:8vw}
.after2__col{background:#fff;border:1px solid var(--line);padding:7vw 6vw 6vw;display:flex;flex-direction:column}
.after2__col--ok{border-top:3px solid var(--pink-line)}
.after2__col--ng{border-top:3px solid var(--taupe-line)}
.after2__who{
  font-family:var(--gothic);font-size:3vw;letter-spacing:.1em;color:var(--ink2);
  background:var(--cream);padding:1.6vw 3.6vw;border-radius:999px;align-self:flex-start;margin-bottom:4vw;
}
.after2__can{font-family:var(--mincho);font-weight:600;font-size:4.8vw;letter-spacing:.06em;margin:0 0 3vw;line-height:1.5}
.after2__col--ok .after2__can{color:var(--pink)}
.after2__col--ng .after2__can{color:var(--ink)}
.after2__txt{font-size:3.4vw;line-height:1.95;color:var(--ink2);margin:0 0 5vw}
.after2__go{
  margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:2vw;
  font-family:var(--mincho);font-size:3.5vw;letter-spacing:.1em;
  border-bottom:1px solid var(--taupe-line);padding-bottom:1.2vw;
}
.after2__go i{font-style:normal;transition:transform .4s var(--ease)}
.after2__go:hover i{transform:translateX(5px)}

/* 日本開催の3つの受け方 */
.jp-row__price{
  font-family:var(--mincho);font-weight:600;font-size:5vw;letter-spacing:.04em;margin:2vw 0 0;
}
.jp-row__price span{font-size:.5em;letter-spacing:.08em;color:var(--ink2);margin-left:1.5vw}
.jp-row__save{
  display:block;font-family:var(--gothic);font-size:3vw;font-weight:500;
  color:var(--pink);letter-spacing:.04em;margin-top:2vw;
}
.jp-row--set{border-color:var(--gold);border-width:2px;background:linear-gradient(180deg,#FFFDF7,#fff)}
.jp-row__badge--set{background:var(--gold)}

@media screen and (min-width:736px){
  .after2{grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:44px auto 0}
  .after2__col{padding:34px 32px 30px}
  .after2__who{font-size:12px;padding:6px 14px;margin-bottom:18px}
  .after2__can{font-size:22px;margin-bottom:12px}
  .after2__txt{font-size:15px;margin-bottom:22px}
  .after2__go{font-size:15px;gap:8px;padding-bottom:5px}

  .jp-row__price{font-size:22px;margin-top:8px}
  .jp-row__save{font-size:13px;margin-top:6px}
}
@media (prefers-reduced-motion:reduce){.after2__go i{transition:none}}


/* =========================================================
   v3（2026-08-08）UI Pro Max を当てた差分
   ─────────────────────────────────────────────────────────
   直したのは3つだけ。色の世界観（クリーム＋グレージュ）は変えていない。
   ① コントラスト … 文字に使っていた色が WCAG AA（4.5:1）を割っていた
   ② ファーストビュー … CTAが画面の外に出ていたので収めた
   ③ 可読性 …長い日本語の中央寄せ・行の割れ方
   ========================================================= */

:root{
  /* ── ① 文字に使う色を作り直す ───────────────────────────
     もとの色は「面・罫線」には良いが「文字」だと薄すぎた。
     色相はそのままに、明度だけ落として 4.5:1 を通している。
       taupe #AEA393 → 2.32:1  ✗（英字ラベル ARTMAKE SCHOOL / Next / Course）
       pink  #E26C63 → 2.99:1  ✗（「日本国内で施術できます」＝一番読ませたい行）
       gold  #D0942B → 2.47:1  ✗
       白 on LINE緑 #06C755 → 2.14:1 ✗
     面・罫線として使う分は薄いままでよいので、別トークンに分けた。 */
  --taupe-line:#AEA393;   /* 罫線・下線・面（コントラスト要件なし） */
  --taupe-txt:#7D705E;    /* 文字用 4.51:1 */
  --pink-txt:#C4362A;     /* 白抜き文字を乗せる面 5.37:1 */
  --gold-txt:#956A1F;     /* 文字用 4.50:1 */
  --line-green:#1A8038;   /* 白抜き文字 5.01:1（LINE緑を暗くしたもの） */
}

/* 英字ラベルは全部これ。小さい文字なので 4.5:1 が要る */
.ttl__en,.hv__en,.course__en,.cta__en,.bband__en,.hv__scroll,.hv__name{color:var(--taupe-txt)}
.after2__col--ok .after2__can{color:var(--pink-txt)}
.jp-row__save{color:var(--pink-txt)}
.btn--line{background:var(--line-green)}
.btn--pink{background:var(--pink-txt)}
.btn--gold{background:var(--gold-txt)}
.hv__chip b{background:var(--pink-txt)}
.btn--ghost{border-color:var(--taupe-txt)}
/* 罫線は薄いままでいい＝見た目を変えない */
.hv__scroll span{background:var(--taupe-line)}

/* ── ② ファーストビュー ───────────────────────────────────
   実測：v2 は高さ922px／端末812px ＝「お申し込みフォーム」が
   画面の外にあった（＝押せる状態で見えていない）。
   ロゴ・「講習日程を見る」・講師名の行をHTML側で外し、
   ここでは余白を締めて収めきる。 */
.hv{min-height:100svh}
.hv__inner{padding:38svh 0 9vw}
.hv__sub{margin-bottom:5vw}
.hv__cta{margin-bottom:0}
.hv__lead b{
  font-family:var(--en);font-weight:400;
  font-size:1.15em;letter-spacing:.14em;
}

/* ── ③ 読みやすさ ───────────────────────────────────────
   日本語の中央寄せは1〜2行までが限度。3行以上は行頭が揃わず読みにくい。
   長い説明文は左に寄せて、1行の長さも制限する（日本語は35〜40字が上限）。 */
.entry__note{
  text-align:left;max-width:34em;margin-inline:auto;
  line-height:1.9;
}
/* 見出しが「ま／す。」で割れていた。文節で折り返す */
.entry__q,.hv__ttl,.hv__lead,.cta__ttl,.ttl__ja,.after2__can{
  word-break:auto-phrase;
  line-break:strict;
}

/* ── 🆕 実績（Proof）──────────────────────────────────────
   UI Pro Max の "Trust & Authority + Conversion" は
   Hero →【Proof】→ 解決策 → CTA の順。証拠を最初に出す。
   ⚠️数字は build.py がお知らせ記事から機械で数えたもの。手打ち禁止。 */
.sec--proof{
  padding:11vw 0 12vw;
  background:linear-gradient(180deg,var(--cream) 0%,#fff 100%);
}
.proof__lead{
  text-align:center;font-family:var(--mincho);
  font-size:3.5vw;line-height:1.9;letter-spacing:.08em;
  color:var(--ink2);margin:0 0 7vw;
}
.proof__nums{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin:0;padding:0;
}
.proof__cell{
  text-align:center;padding:0 1vw;
  border-left:1px solid var(--taupe-line);
}
.proof__cell:first-child{border-left:0}
.proof__cell dt{
  font-family:var(--gothic);font-size:2.9vw;font-weight:500;
  letter-spacing:.1em;color:var(--taupe-txt);margin-bottom:2.4vw;
}
.proof__cell dd{
  margin:0;font-family:var(--mincho);color:var(--ink);
  display:flex;align-items:baseline;justify-content:center;gap:.6vw;
}
.proof__cell dd b{
  font-family:var(--en);font-weight:400;
  font-size:11vw;line-height:1;letter-spacing:.02em;
}
.proof__cell dd span{font-size:3.4vw;letter-spacing:.06em}
.proof__src{
  text-align:center;font-size:3vw;line-height:1.9;
  letter-spacing:.06em;color:var(--ink2);margin:7vw 0 0;
}
.proof__src a{
  color:var(--ink);border-bottom:1px solid var(--taupe-line);
  padding-bottom:.4vw;
}
.proof__src a:hover{border-color:var(--ink)}

/* 数字は見えたら数え上がる（意味のある動き＝UI Pro Max の Animation ルール） */
.proof__cell dd b{
  opacity:0;transform:translateY(14px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
}
.proof.in .proof__cell dd b{opacity:1;transform:none}
.proof.in .proof__cell:nth-child(2) dd b{transition-delay:.10s}
.proof.in .proof__cell:nth-child(3) dd b{transition-delay:.20s}

/* ── アクセシビリティ（UI Pro Max の Priority 1・2）────────── */
/* キーボードで辿れるように。もとはフォーカスの枠が見えなかった */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
  border-radius:2px;
}
/* 押せるものは指で押せる大きさに（44×44px以上） */
.hv__scroll,.more,.after2__go,.addon__go{
  min-height:44px;display:inline-flex;align-items:center;
}
/* ⚠️文中のリンクを inline-flex にすると行の流れが壊れる（下線が宙に浮いた）。
   指の当たりは縦のpaddingで稼ぐ。 */
.proof__src a{display:inline;padding:10px 2px}

@media screen and (min-width:736px){
  .hv__inner{padding-bottom:40px}
  .proof__lead{font-size:15px;margin-bottom:38px}
  .proof__nums{max-width:760px;margin-inline:auto}
  .proof__cell dt{font-size:12px;margin-bottom:12px}
  .proof__cell dd b{font-size:64px}
  .proof__cell dd span{font-size:15px;margin-left:4px}
  .proof__src{font-size:13px;margin-top:34px}
  .sec--proof{padding:66px 0 72px}
}

@media (prefers-reduced-motion:reduce){
  .proof__cell dd b{opacity:1;transform:none;transition:none}
}

/* 下部の固定CTAも同じ緑に揃える（白抜き文字 5.01:1）
   ⚠️ .btn--line と別クラスなので取りこぼしていた */
.fixcta__line{background:var(--line-green)}

/* ── コントラストの詰め（ブラウザで全要素を実測して残った14件）──────────
   実測してはじめて分かったこと＝薄いグレージュ #E6DFD3 の上に乗る文字は、
   クリームの上より基準が厳しい。全部の背景で通る濃さに1本化した。 */
:root{
  --taupe-txt:#655B4C;      /* クリーム5.79 / 白6.62 / グレージュ5.03 ＝全部OK */
  --taupe:var(--taupe-txt); /* 文字用に残っていた24箇所をまとめて基準内へ */
}
/* 「次の開催」の2つのバッジ */
.nx--kr .nx__flag{color:#3F5F91}              /* 5.62:1 */
.nx--jp .nx__flag{color:var(--pink-txt)}      /* 4.79:1 */
/* Zoom質問会の「40分・無料」バッジ（白抜き） */
.ccard__badge{background:var(--pink-txt)}     /* 5.37:1 */

/* ── --pink も同じ仕分け（14ページを実測して見つけた50件）──────────
   #E26C63 はサーモン系で目に優しいぶん、文字にすると 2.85〜3.20:1 しか出ない。
   「満枠御礼」「必須」「日本国内では施術できません」など、
   いちばん読ませたい行がことごとくこの色だった。
   罫線・薄い面（--pink-line / --pink-pale）は元の色のまま＝見た目のトーンは保つ。 */
:root{
  --pink-line:#E26C63;   /* 罫線・下線・区切り（コントラスト要件なし） */
  --pink:var(--pink-txt);/* 文字と、白抜き文字を乗せる面 */
}

/* ── 最後の10件 ─────────────────────────────────────────────
   ①「おすすめ」バッジ＝白抜き文字を金色に乗せていた（2.64:1）
   ② 手順の飾り連番 01/02/03＝26pxなので基準は3:1でよいが 1.44:1 しかなかった
      （＝薄すぎて何番目か分からない。飾りのつもりでも意味を持つ番号） */
.jp-row--set,.jp-row__badge--set{border-color:var(--gold)}
.jp-row__badge--set,.badge--gold,.btn--gold{background:var(--gold-txt)}
.feat__num{color:#8F8674}   /* 3.42:1（26pxなので3:1が基準） */

/* ── スクロールで出す動きを速くする ─────────────────────────
   実測：フェードが 0.9秒 かかっていた＝速くスクロールすると
   その区間がまるごと真っ白に見える（何度も遭遇した）。
   UI Pro Max の目安は 150〜300ms、スタッガーでも 300〜450ms。
   0.45秒に詰めて、移動量も 5vw → 2.4vw に浅くした。
   ⚠️「動きを減らす」設定の端末では元から全部止まる（既存のルールが効く）。 */
.rv{
  transform:translateY(2.4vw);
  transition:opacity .45s var(--ease),transform .45s var(--ease);
}
@media screen and (min-width:736px){ .rv{transform:translateY(14px)} }

/* =========================================================
   🔴 社長判断（2026-08-08）＝「変更前の色味がいい。あとは変更後でオッケー」
   ─────────────────────────────────────────────────────────
   色だけ元に戻す。ほかの直し（ファーストビュー・実績バー・画像の寸法・
   読みやすさ・動きの速さ）は変更後のまま残す。

   ⚠️これで今日見つけたコントラストの基準割れ50件が元に戻る。
     それでも見た目を取るのは社長の判断。
   ⭐トークンの仕組み（文字用／罫線用の分け方）は残してあるので、
     気が変わったらここの5行を消すだけで基準版に戻せる。
   ========================================================= */
:root{
  --taupe-txt:#AEA393;    /* 元の色（英字ラベル・日付） */
  --taupe:#AEA393;
  --pink-txt:#E26C63;     /* 元の色（満枠御礼・必須・チップ） */
  --pink:#E26C63;
  --gold-txt:#D0942B;     /* 元の色 */
  --line-green:#06C755;   /* 元のLINE緑 */
}
.nx--kr .nx__flag{color:#4C6FA5}   /* 元のソウルの青 */
.feat__num{color:#D6D1C9}          /* 元の飾り連番 */

/* =========================================================
   2026-08-14 ＝ 🔴社長判断で「カンプ版(artmake-site-v3)から
   ①白背景 ②フォント ③雰囲気 ④トップのアンナさん だけ移植」。
   ・下の3ブロックだけが今回の変更。ほかは今までのサイトのまま。
   🔙戻し方＝この "移植" ブロックを丸ごと削除し、
     _src/index.html のヒーローを _backup_20260814_デザインリニューアル前 から戻す。
   ========================================================= */

/* ── ① 面を白へ（もとはクリーム #FCF7EA / #FBF9F4）── */
:root{
  --cream:#F7F5F2;    /* うすいグレージュ＝面の切り替えにだけ使う */
  --cream2:#FFFFFF;   /* 本文の地＝白 */
  --ink:#1F1D1B;
  --mauve:#8C7D8B;    /* カンプの差し色 */
  --mauve-d:#7A6B79;
  --didone:'Cormorant Garamond',serif;
  --script:'Parisienne',cursive;
}
body{background:#fff}
.sec--cream{background:var(--cream)}

/* ── ② ヒーロー（カンプ版から移植）── */
.hero3{
  position:relative;background:linear-gradient(180deg,#FAF8F6 0%,#F1ECE7 100%);
  display:grid;grid-template-columns:58% 42%;
  grid-template-areas:"copy photo" "cta cta";
  align-items:center;padding:0 0 9vw;
}
.hero3__copy{grid-area:copy;padding:22vw 0 2vw 5vw}
.hero3__chip{
  display:inline-block;background:var(--mauve);color:#fff;font-family:var(--gothic);
  font-size:2.7vw;font-weight:500;letter-spacing:.16em;padding:1.2vw 3vw;margin:0 0 3vw;
}
.hero3__date{font-family:var(--mincho);font-size:4.2vw;letter-spacing:.1em;margin:0 0 1.5vw;color:var(--ink)}
.hero3__date span{color:var(--taupe);margin:0 .4em}
/* ⚠️ARTMAKE が2行に折れた実績あり＝折れたら気づけるよう nowrap */
.hero3__ttl{
  font-family:var(--didone);font-weight:300;font-size:10.5vw;line-height:1.02;
  letter-spacing:.06em;margin:0;color:var(--ink);
}
.hero3__ttl span{display:block;white-space:nowrap}
.hero3__ja{font-family:var(--mincho);font-size:3.5vw;letter-spacing:.2em;color:var(--ink2);margin:2vw 0 0}
.hero3__rule{border:0;border-top:1px solid var(--line);width:76%;margin:4vw 0}
.hero3__lead{font-family:var(--mincho);font-size:3vw;line-height:1.95;letter-spacing:.01em;margin:0;color:var(--ink)}
.hero3__lead em{font-family:var(--script);font-style:normal;font-size:3.9vw;letter-spacing:0;padding:0 .12em}
.hero3__tick{display:block;width:6vw;height:1px;background:var(--line);margin:3.5vw 0}
.hero3__note{font-family:var(--mincho);font-size:3.8vw;letter-spacing:.03em;color:var(--ink);margin:0;white-space:nowrap}
.hero3__photo{grid-area:photo;margin:0;align-self:stretch;height:100%}
.hero3__photo img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero3__vert{
  position:absolute;right:1.5vw;top:38%;transform:translateY(-50%);
  writing-mode:vertical-rl;font-family:var(--en);font-size:2.1vw;letter-spacing:.34em;
  color:rgba(255,255,255,.75);z-index:3;
}
.hero3__cta{grid-area:cta;width:90vw;margin:7vw auto 0;display:grid;gap:2.5vw}
.hero3__cta .btn{width:100%}
.hero3 .hv__scroll{display:none}

/* ── ③ 雰囲気＝見出しの英字をカンプのDidoneに寄せる ── */
.ttl__en{font-family:var(--didone);font-weight:400;letter-spacing:.34em}
.btn--fill{background:var(--ink)}
.btn--fill:hover{background:var(--mauve)}

@media (min-width:736px){
  .hero3{min-height:600px;grid-template-columns:1fr 1fr;grid-template-areas:"copy photo";padding:0}
  .hero3__copy{padding:0 0 0 clamp(40px,7vw,110px);max-width:640px;justify-self:end}
  .hero3__chip{font-size:12px;padding:7px 16px;margin-bottom:18px}
  .hero3__date{font-size:26px;margin-bottom:6px}
  .hero3__ttl{font-size:clamp(56px,7.2vw,104px)}
  .hero3__ja{font-size:19px;margin-top:10px}
  .hero3__rule{width:300px;margin:26px 0}
  .hero3__lead{font-size:20px}
  .hero3__lead em{font-size:26px}
  .hero3__tick{width:34px;margin:26px 0}
  .hero3__note{font-size:15px}
  .hero3__photo img{object-position:60% center}
  .hero3__vert{
    right:14px;top:50%;font-size:10px;color:rgba(31,29,27,.5);
  }
  .hero3__cta{display:none}   /* PCは下の固定CTAとヘッダーがあるので出さない */
}

/* ヒーローのCTAはカンプに合わせてモーヴ。LINEの緑は白×グレージュの面から浮くため
   （⚠️ほかの場所の .btn--line は今までどおり緑のまま＝ここだけ上書き） */
.hero3__cta .btn--line{background:var(--mauve);color:#fff}
.hero3__cta .btn--line:hover{background:var(--mauve-d)}
/* ⚠️ARTMAKE の右端が写真に触れていたので、文字側に逃げを作る */
.hero3__copy{padding-right:2vw}
.hero3__ttl{font-size:10.1vw}
@media (min-width:736px){
  .hero3__copy{padding-right:0}
  .hero3__ttl{font-size:clamp(56px,7.2vw,104px)}
}
/* ⚠️文字側に逃げを作った分、「…Anna が、」の『が、』がまた落ちたので詰め直し */
.hero3__lead{font-size:2.9vw}
.hero3__lead em{font-size:3.8vw}
@media (min-width:736px){
  .hero3__lead{font-size:20px}
  .hero3__lead em{font-size:26px}
}

/* ── ヒーロー再構成（2026-08-14 🔴社長「背景3枚のスライドショーを採用して
   アンナさんを切り抜いて乗せて」）＝前のトップの背景の仕掛け＋カンプ版の人物 ── */
.hero3{
  display:block;position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#FAF8F6 0%,#F1ECE7 100%);
  padding:0 0 9vw;min-height:0;
}
.hero3__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero3__slide{
  position:absolute;inset:0;background-size:cover;background-position:center 38%;
  opacity:0;animation:hvKen 24s var(--ease) infinite;will-change:opacity,transform;
}
.hero3__slide:nth-child(1){animation-delay:0s}
.hero3__slide:nth-child(2){animation-delay:8s}
.hero3__slide:nth-child(3){animation-delay:16s}
/* 文字が乗る左側だけ白を濃く敷く＝写真は右に残す */
.hero3__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.90) 38%,
      rgba(255,255,255,.55) 62%,
      rgba(255,255,255,.22) 82%,
      rgba(255,255,255,.10) 100%),
    linear-gradient(180deg, rgba(255,255,255,0) 70%, rgba(255,255,255,.92) 100%);
}
.hero3__anna{
  position:absolute;right:-6vw;bottom:0;z-index:1;margin:0;
  width:56vw;max-width:none;
}
.hero3__anna img{width:100%;height:auto;display:block}
.hero3__copy{position:relative;z-index:2;padding:22vw 0 0 5vw;width:62vw}
.hero3__cta{
  position:relative;z-index:2;width:90vw;margin:8vw auto 0;display:grid;gap:2.5vw;
}
.hero3__cta .btn{width:100%}

@media (min-width:736px){
  .hero3{
    display:grid;grid-template-columns:1fr 1fr;align-items:center;
    min-height:600px;padding:0;
  }
  .hero3__copy{width:auto;max-width:640px;justify-self:end;padding:0 0 0 clamp(40px,7vw,110px)}
  .hero3__anna{right:2%;width:min(46%,620px)}
  .hero3__veil{
    background:
      linear-gradient(100deg,
        rgba(255,255,255,.94) 0%,
        rgba(255,255,255,.86) 42%,
        rgba(255,255,255,.40) 66%,
        rgba(255,255,255,.12) 88%,
        rgba(255,255,255,0) 100%);
  }
}

/* ヒーローの人物の置き方を実測して調整（2026-08-14）
   ⚠️PCで人物が下にはみ出していた＝幅で指定すると高さが枠を超えるので、高さ基準にする
   ⚠️PCでスマホ用のCTAが出ていた＝あとから書いた base の display:grid が
     先に書いた @media の display:none に勝っていたので、PC側で消し直す */
.hero3__anna{right:-4vw;bottom:27vw;width:56vw}
.hero3__copy{padding-bottom:2vw}
@media (min-width:736px){
  .hero3{overflow:hidden}
  .hero3__anna{right:3%;bottom:0;top:auto;width:auto;height:96%}
  .hero3__anna img{height:100%;width:auto}
  .hero3__cta{display:none}
}
/* ⚠️スマホで人物が文字に被った（実測）。文字は左5vw〜58vw、人物は58vw〜に置く */
@media (max-width:735px){
  .hero3__anna{right:-6vw;bottom:26vw;width:48vw}
  .hero3__copy{width:58vw;padding-bottom:3vw}
}

/* ヒーローの「短期」フック（2026-08-14 社長指示）
   ⚠️文字は 58vw−5vw＝53vw に収まる大きさにしてある（vw基準＝端末幅が変わっても折れない） */
.hero3__hook{
  font-family:var(--mincho);font-size:4.4vw;letter-spacing:.05em;
  color:var(--ink);margin:0 0 1.8vw;white-space:nowrap;
}
.hero3__note{font-size:2.6vw;line-height:1.85;letter-spacing:.02em;color:var(--ink2)}
@media (min-width:736px){
  .hero3__hook{font-size:26px;margin-bottom:10px}
  .hero3__note{font-size:14px;line-height:1.9}
}

/* 🔴2026-08-14 社長指示（3点）
   ①「どなたでも受講いただけます。」はフック追加前と同じ太さ・大きさに戻す
     （日数の行は小さいまま＝別クラス hero3__sub に分けた）
   ②「次の開催」はスマホでは日本開催を上に（社長がスマホで見る順）
   ③ ソウル＝水色／日本＝ピンクのチップをモーヴに統一 */
.hero3__sub{
  font-family:var(--mincho);font-size:2.6vw;line-height:1.85;letter-spacing:.02em;
  color:var(--ink2);margin:0 0 1.6vw;
}
.hero3__note{
  font-family:var(--mincho);font-size:3.8vw;letter-spacing:.03em;
  color:var(--ink);margin:0;white-space:nowrap;line-height:1.7;
}
@media (min-width:736px){
  .hero3__sub{font-size:14px;margin-bottom:8px}
  .hero3__note{font-size:15px}
}

/* ② 日本開催を先に（スマホだけ／PCは左ソウル・右日本のまま） */
@media (max-width:735px){
  .nexts{display:flex;flex-direction:column}
  .nx--jp{order:-1}
}

/* ③ チップをモーヴへ。日本＝面で強く／ソウル＝淡くして差はつける */
.nx--jp .nx__flag{background:var(--mauve);color:#fff}
.nx--kr .nx__flag{background:#EFEAEE;color:#7A6B79}

/* 🔴2026-08-14 社長「この一文の上下の余白はもう少し少ない方が良くない？」
   ＝この帯は見出しを消して一文だけになったので、.sec の標準の余白(16vw/120px)だと
   空きすぎていた。ここだけ詰める。 */
#course{padding:9vw 0}
@media (min-width:736px){ #course{padding:62px 0} }

/* 🔴2026-08-14 社長「日本開催とソウル開催のフォントも他に合わせよう」
   ＝ここだけゴシックだった。サイト全体と同じ明朝に統一する。
   ⚠️ヒーローの「日本初開催」も同じ種類のラベルなので一緒に明朝へ（バラけるのを防ぐため）。
   ⭐明朝は太字にすると潰れるので、weightを落として字間を広げて締める。 */
.nx__flag{font-family:var(--mincho);font-weight:500;letter-spacing:.16em}
.hero3__chip{font-family:var(--mincho);font-weight:500;letter-spacing:.18em}

/* 🔴2026-08-14 SMPを「オプション」から独立したコースの見せ方へ（社長指示）
   ・オプションのタグを外したので、見出しをアートメイクコースと同じ格に上げる
   ・最後の一文（合わせて受ける人が多い／単品でも申し込める）は囲って別扱いにする */
.addon__ttl{font-size:5.6vw;margin-bottom:3.5vw}
.addon__note{
  display:block;font-size:3.1vw;line-height:1.9;color:var(--ink2);
  border-left:2px solid var(--line);padding-left:3.5vw;margin:0 0 5vw;
}
.addon__note b{font-weight:600;color:var(--ink)}
@media (min-width:736px){
  .addon__ttl{font-size:26px;margin-bottom:16px}
  .addon__note{font-size:14px;padding-left:16px;margin-bottom:24px}
}

/* ── 講習風景ギャラリー＝横スクロール（2026-08-14 社長指示で4枚→14枚）── */
.works--scroll{
  display:flex;gap:3vw;overflow-x:auto;padding:0 6vw 3vw;margin-inline:-6vw;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.works--scroll::-webkit-scrollbar{display:none}
.works__item{flex:0 0 62vw;margin:0;scroll-snap-align:center}
.works__item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.works__hint{
  text-align:center;font-family:var(--gothic);font-size:2.8vw;letter-spacing:.14em;
  color:var(--taupe);margin:4vw 0 0;
}
@media (min-width:736px){
  .works--scroll{gap:16px;padding:0 0 14px;margin-inline:0}
  .works__item{flex:0 0 300px}
  .works__hint{font-size:12px;margin-top:18px}
}

/* 🔴2026-08-14 社長指摘＝「40分・無料」のバッジだけ前のピンク(#E26C63)が残っていて
   白×モーヴの中でオレンジに浮いていた。差し色をモーヴに統一する。 */
.ccard__badge{
  background:var(--mauve);
  box-shadow:0 4px 14px rgba(140,125,139,.30);
}
/* 同じ系統のバッジ・スタンプもモーヴへ（受付中／おすすめ など）。
   ⚠️`.alert--strong`（注意書き）はピンクのまま＝警告として色を分けたいので触らない。 */
.date-card__stamp,.jp-row__badge,.reco__badge{background:var(--mauve);color:#fff}
.btn--pink{background:var(--mauve)}

/* 10月名古屋の告知バナー（アートメイクコースページの一番上） */
.topbanner{display:block;background:#fff}
.topbanner img{width:100%;height:auto;display:block;transition:opacity .35s var(--ease)}
.topbanner:hover img{opacity:.9}
@media (min-width:736px){
  .topbanner img{max-width:1100px;margin-inline:auto}
}

/* 「できること」の中でソウル開催だけの話に付けるラベル
   （日本開催＝名古屋を先に見せているので、どちらの話か分かるようにするため） */
.feat__where{
  display:inline-block;background:var(--greige);color:var(--ink2);
  font-family:var(--mincho);font-size:2.8vw;letter-spacing:.14em;
  padding:1vw 3vw;margin:0 0 2.5vw 2.5vw;vertical-align:middle;
}
@media (min-width:736px){ .feat__where{font-size:12px;padding:5px 13px;margin:0 0 10px 12px} }

/* 🔴2026-08-14＝差し色をモーヴに一本化する。
   1箇所ずつ直すと必ず取りこぼすので、色の定義そのものを置き換える
   （--pink 系を使っている全部が一度にモーヴになる）。
   ⚠️ただし「注意書き」だけは色で区別したいので、専用の --warn を新設して元の色を残す。 */
:root{
  --pink:#8C7D8B;
  --pink-soft:#9C8D9B;
  --pink-pale:#F1ECF0;
  --pink-txt:#7A6B79;
  --pink-line:#C9BCC7;
  --warn:#E26C63;
  --warn-pale:#FFEEED;
  --warn-line:#F0BDB9;
}
/* 注意書き（日本では施術できない等）は今までどおり目立たせる */
.alert--strong{border-left-color:var(--warn-line);background:var(--warn-pale)}
.alert--strong .alert__ttl{color:var(--warn)}

/* 見出しの横に付ける開催地ラベル（韓国の行程を名古屋と取り違えないため） */
.ttl__where{
  display:inline-block;background:var(--greige);color:var(--ink2);
  font-family:var(--mincho);font-size:2.8vw;letter-spacing:.14em;
  padding:.9vw 2.8vw;margin-left:2.5vw;vertical-align:middle;
}
.sched__note{
  text-align:center;font-family:var(--mincho);font-size:3.2vw;line-height:1.95;
  color:var(--ink2);margin:-4vw 0 7vw;
}
.sched__note b{font-weight:600;color:var(--ink)}
@media (min-width:736px){
  .ttl__where{font-size:12px;padding:4px 12px;margin-left:12px}
  .sched__note{font-size:14px;margin:-18px 0 34px}
}
/* トップに置くバナーは、前後のセクションと間を空ける（コースページは最上部なので余白なし） */
.topbanner--sec{padding:0 0 12vw;background:var(--cream2)}
@media (min-width:736px){ .topbanner--sec{padding:0 0 70px} }

/* 🔴2026-08-14 社長「この文章の上下の余白をもっと無くそう。下は余白も大きい」
   実測＝上50px／下94px と非対称だった。原因は段落自身が持っていた margin-bottom:44px
   （2カラムを消す前の名残）。これを0にして、セクションの余白も詰める。 */
.entry__note{margin-bottom:0}
#course{padding:6vw 0}
@media (min-width:736px){ #course{padding:38px 0} }

/* =========================================================
   満員御礼（2026-08-22 社長「10月の名古屋開催を満員御礼にして」）
   ⭐設計＝「終わった」ではなく「埋まった」に見せる。
     受付終了の取り消し線（.date-card--full）は使わない＝あれは"閉じた"印。
     満員御礼はゴールド＋明朝で、実績として気持ちよく置く。
   ⭐そのうえで必ず"次に申し込める開催"へ足を向ける（ソウル11/23〜25）。
   ========================================================= */

/* ヒーロー直下の1行（トップ）
   ⚠️2026-08-22 実測で直した＝最初 display:flex で組んだら【ページ全体が横にはみ出した】。
     flexアイテム（バッジの隣の текст ノード）の min-width が auto のままで縮まないため。
     ⭐フレックスをやめて inline-block のバッジ＋通常の文章にしたら消えた。
     → 型＝「1行にバッジと文を並べる」だけのためにflexを使わない。 */
.hero3__soldout{
  font-family:var(--mincho);font-size:3.1vw;line-height:1.95;letter-spacing:.04em;
  color:var(--ink2);margin:2.5vw 0 3vw;
}
.hero3__soldout b{
  display:inline-block;background:var(--gold);color:#fff;
  font-size:2.8vw;letter-spacing:.18em;padding:.6vw 2.2vw;margin-right:2vw;
  font-weight:400;vertical-align:middle;
}

/* 満員御礼の帯（トップ／アートメイクコースページの最上部＝旧バナーの位置） */
.soldout-bar{
  background:linear-gradient(180deg,#FFFDF6,var(--cream));
  border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);
  padding:9vw 0;text-align:center;
}
.soldout-bar__stamp{
  display:inline-block;border:1px solid var(--gold);color:var(--gold);
  font-family:var(--mincho);font-size:3.4vw;letter-spacing:.34em;
  padding:1.6vw 5vw 1.6vw 5.6vw;margin:0 0 4.5vw;
}
.soldout-bar__ttl{
  font-family:var(--mincho);font-size:5.2vw;line-height:1.7;letter-spacing:.06em;
  color:var(--ink);margin:0 0 3.5vw;
}
.soldout-bar__txt{
  font-size:3.4vw;line-height:2;color:var(--ink2);margin:0 0 6vw;
}
.soldout-bar__txt b{color:var(--ink);font-weight:600}
.soldout-bar .btn{display:inline-flex;width:auto;min-width:64vw}

/* 日本開催ページの注記ブロック */
.soldout-note{
  background:#fff;border:1px solid var(--gold-soft);
  padding:6vw 5vw;margin:0 0 7vw;text-align:center;
}
.soldout-note__stamp{
  display:inline-block;background:var(--gold);color:#fff;
  font-family:var(--mincho);font-size:3.2vw;letter-spacing:.3em;
  padding:1.2vw 4.4vw 1.2vw 5vw;margin:0 0 3.5vw;
}
.soldout-note__txt{font-size:3.4vw;line-height:2;color:var(--ink2);margin:0}
.soldout-note__txt b{color:var(--ink);font-weight:600}
.soldout-note__txt a{color:var(--gold);border-bottom:1px solid var(--gold-soft)}

/* 「次の開催」カードの満員御礼スタンプ */
.nx--soldout{position:relative}
.nx__stamp{
  display:inline-block;align-self:flex-start;
  border:1px solid var(--gold);color:var(--gold);
  font-family:var(--mincho);font-size:2.8vw;letter-spacing:.28em;
  padding:1vw 3vw 1vw 3.6vw;margin-bottom:2.5vw;
}
.nx--soldout .nx__ttl,.nx--soldout .nx__txt{opacity:.72}
.nx__meta b{color:var(--gold);font-weight:600}

/* 日本開催ページの行 */
.jp-row--full{border-top:3px solid var(--gold-soft);background:var(--cream2)}
.jp-row--full .jp-row__date,.jp-row--full .jp-row__price{opacity:.62}
.jp-row__badge--full{background:var(--gold)!important;color:#fff!important}

/* 日程カード（アートメイクコースページ） */
.date-card--soldout{background:var(--cream2);border:1px solid var(--gold-soft)}
.date-card--soldout .date-card__txt{color:var(--ink2)}
.date-card__stamp--soldout{background:var(--gold)!important;letter-spacing:.28em}
.date-card__note{
  display:block;font-family:var(--mincho);font-size:3.1vw;letter-spacing:.08em;
  color:var(--gold);margin-top:2.5vw;
}

@media (min-width:736px){
  .hero3__soldout{font-size:13px;margin:14px 0 16px}
  .hero3__soldout b{font-size:11px;padding:4px 10px;margin-right:10px}
  .soldout-bar{padding:56px 0}
  .soldout-bar__stamp{font-size:14px;padding:8px 22px 8px 26px;margin-bottom:22px}
  .soldout-bar__ttl{font-size:26px;margin-bottom:16px}
  .soldout-bar__txt{font-size:15px;margin-bottom:28px}
  .soldout-bar .btn{min-width:280px}
  .soldout-note{padding:30px 32px;margin-bottom:34px}
  .soldout-note__stamp{font-size:13px;padding:6px 18px 6px 22px;margin-bottom:16px}
  .soldout-note__txt{font-size:15px}
  .nx__stamp{font-size:11px;padding:5px 12px 5px 15px;margin-bottom:12px}
  .date-card__note{font-size:13px;margin-top:12px}
}

/* フォームの設問の下に置く注記（2026-08-22＝SMPが満席／11月は開催なし を選ぶ前に伝える） */
.form-note{
  font-size:3vw;line-height:1.85;color:var(--ink2);
  background:var(--cream);border-left:2px solid var(--gold-soft);
  padding:3vw 3.5vw;margin:0 0 3vw;
}
@media (min-width:736px){ .form-note{font-size:13px;padding:12px 14px;margin-bottom:12px} }

/* 次回予定の行（2026-08-22＝次の名古屋は2027年1月予定。日付はまだ入れない） */
.jp-row--next{border-top:3px solid var(--pink-line);background:#fff}
.jp-row__badge--next{background:var(--pink)!important;color:#fff!important}

/* =========================================================
   講師アンナ先生の動画（2026-08-22 新設）
   ⭐縦動画（1080x1920＝リール）を前提。横スクロールの帯で並べる
     ＝**本数が増えても縦に伸びない**（社長「これは増えていく」）。
   ⚠️スマホは1.35枚ぶん見せる＝「まだ右にある」と分かる幅にしている。
   ========================================================= */
.vids{
  display:grid;grid-auto-flow:column;grid-auto-columns:64vw;gap:4vw;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:0 4vw 3vw;margin:0 -4vw;
  scrollbar-width:none;
}
.vids::-webkit-scrollbar{display:none}
.vid{scroll-snap-align:center}
.vid__frame{
  position:relative;aspect-ratio:9/16;background:#111;overflow:hidden;
  border:1px solid var(--line);
}
.vid__el{width:100%;height:100%;object-fit:cover;display:block;background:#111}
/* 再生ボタン＝posterの上に重ねる。押したら消える */
.vid__play{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.34));
  border:0;cursor:pointer;padding:0;transition:opacity .3s var(--ease);
}
.vid__play span{
  width:14vw;height:14vw;max-width:64px;max-height:64px;border-radius:50%;
  background:rgba(255,255,255,.92);position:relative;display:block;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.vid__play span::after{
  content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:2.6vw 0 2.6vw 4.2vw;
  border-color:transparent transparent transparent var(--ink);
}
.vid__frame.is-playing .vid__play{opacity:0;pointer-events:none}
.vid__len{
  position:absolute;right:2.5vw;bottom:2.5vw;
  background:rgba(0,0,0,.62);color:#fff;font-size:2.9vw;letter-spacing:.06em;
  padding:.6vw 2vw;font-family:var(--en);
}
.vid__frame.is-playing .vid__len{opacity:0}
.vid__label{
  font-family:var(--en);font-size:2.9vw;letter-spacing:.22em;color:var(--gold);
  margin:3.5vw 0 1.5vw;
}
.vid__ttl{
  font-family:var(--mincho);font-size:4vw;line-height:1.6;letter-spacing:.04em;
  color:var(--ink);margin:0 0 1.5vw;font-weight:600;
}
.vid__desc{font-size:3.1vw;line-height:1.8;color:var(--ink2);margin:0}

@media (min-width:736px){
  .vids{
    grid-auto-flow:row;grid-auto-columns:auto;
    grid-template-columns:repeat(auto-fit,minmax(240px,280px));
    justify-content:center;gap:28px;overflow:visible;padding:0;margin:0;
  }
  .vid__play span{width:64px;height:64px}
  .vid__play span::after{border-width:11px 0 11px 18px}
  .vid__len{font-size:12px;padding:3px 8px;right:10px;bottom:10px}
  .vid__label{font-size:11px;margin:16px 0 6px}
  .vid__ttl{font-size:17px;margin-bottom:6px}
  .vid__desc{font-size:13px}
}

/* =========================================================
   注記（※〜）の字（2026-08-22）
   🔴🔴社長「字が大きすぎる。別に強調することでもないので普通の字の大きさで」
   ⚠️**真因は文字の指定を`style="font-size:3.4vw"`とHTMLに直書きしていたこと。**
     vwは画面幅に比例するので、スマホでは13px相当でも **PCの1280pxでは約43px**＝見出しより大きくなる。
     CSSのクラスには全部 @media(min-width:736px) の上書きがあるのに、
     **インラインで書いた所だけ その上書きが効かない**（インラインの方が強い）。
   ⭐だから直し方は「小さくする」ではなく **インライン指定をやめてクラスにする**。
   ========================================================= */
.note-s{font-size:3.2vw;line-height:1.95;color:var(--ink2)}
.note-s b{font-weight:600;color:var(--ink)}
@media (min-width:736px){ .note-s{font-size:13px;line-height:2} }

/* =========================================================
   ほかの講習と違うところ（2026-08-22 社長指示の「武器」3つ）
   ⭐スマホは縦積み・PCは3列。写真→番号→見出し→本文の順で読ませる。
   ⚠️文字サイズはインラインで書かない（vwはPCで巨大化する／同日の学び）。
   ========================================================= */
.whys{display:grid;gap:11vw}
.why{background:#fff;border:1px solid var(--line);padding:0 0 7vw}
.why__img{margin:0 0 5vw;aspect-ratio:4/3;overflow:hidden;background:var(--cream2)}
.why__img img{width:100%;height:100%;object-fit:cover;display:block}
.why__n{
  display:block;font-family:var(--en);font-size:4vw;letter-spacing:.28em;
  color:var(--gold);padding:0 6vw;margin-bottom:2.5vw;
}
.why__ttl{
  font-family:var(--mincho);font-size:5.4vw;line-height:1.55;letter-spacing:.04em;
  color:var(--ink);font-weight:600;padding:0 6vw;margin:0 0 4vw;
}
.why__txt{
  font-size:3.5vw;line-height:2.05;color:var(--ink2);padding:0 6vw;margin:0 0 3.5vw;
}
.why__txt:last-child{margin-bottom:0}
.why__txt b{font-weight:600;color:var(--ink)}
.why__note{
  font-size:3vw;line-height:1.9;color:var(--taupe);padding:0 6vw;margin:4vw 0 0;
}
@media (min-width:736px){
  .whys{grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
  .why{padding-bottom:32px}
  .why__img{margin-bottom:24px}
  .why__n{font-size:14px;padding:0 28px;margin-bottom:10px}
  .why__ttl{font-size:21px;padding:0 28px;margin-bottom:16px}
  .why__txt{font-size:14px;line-height:2;padding:0 28px;margin-bottom:14px}
  .why__note{font-size:12px;padding:0 28px;margin-top:18px}
}

/* 講習特別価格の上に置く「市場価格 10万円以上 →」（2026-08-22 社長指示）
   ⚠️取り消し線は使わない＝二重価格に見せない。事実として並べるだけ。 */
.fee__was{
  display:inline-block;font-family:var(--mincho);font-size:3.4vw;letter-spacing:.06em;
  color:var(--taupe);margin-bottom:1vw;
}
@media (min-width:736px){ .fee__was{font-size:14px;margin-bottom:4px} }

/* 🔴2026-08-22 社長「（渡航・不要）の上に一段余白がある」
   真因＝`.cmp__row b{display:block;margin-top:1vw}`。
   ふつうのセルは「本文→<b>補足</b>」の順なので上マージンが効くが、
   **<b>がセルの先頭に来た時だけ、上に1行ぶんの空きが残る**（PCでは1vw≒13px）。
   ⭐セル先頭の<b>だけ上マージンを消す＝他のセルの見え方は変えない。 */
.cmp__row > span > b:first-child{margin-top:0}

/* =========================================================
   ページ見出しの中のCTA（2026-08-23 新設）
   🔴広告の着地(/seoul)で、1画面目に押せるものが1つも無かったので足した。
     実測＝広告から来た人の到達9%／LINEボタンは39%の位置＝一生見えない。
   ⚠️1画面目に収める必要があるので**詰める**（余白は最小限）。
   ========================================================= */
.page-hero__meta{
  font-size:3.3vw;line-height:1.9;letter-spacing:.06em;
  color:var(--ink2);margin:5vw 0 0;
}
.page-hero__meta b{font-weight:600;color:var(--ink);font-size:1.15em}
.page-hero__cta{margin-top:5vw}
@media screen and (min-width:736px){
  .page-hero__meta{font-size:15px;margin-top:22px}
  .page-hero__cta{margin-top:22px;max-width:460px;margin-inline:auto}
}
