/* ===== Tsunemi's LP  styles.css  v1.1 ===== */
:root{
  --tsunemis-ink:#16423A;      /* 深めのフレッシュグリーン（成長・信頼） */
  --tsunemis-base:#EAF6F0;     /* 明るいミント（希望・軽やか） */
  --tsunemis-accent:#12A56E;   /* いきいきエメラルド（勢い・前向き） */
  --tsunemis-accent-soft:#E7F5EE;
  --tsunemis-line:#D2E6DC;
  --tsunemis-white:#FFFFFF;
  --tsunemis-ink-70:#4E6B61;
  --maxw:960px;
  --serif:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--tsunemis-ink);
  background:var(--tsunemis-white);
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  word-break:normal;
  overflow-wrap:anywhere;
}
h1,h2,h3{word-break:keep-all;overflow-wrap:break-word;line-height:1.5;}
p{margin:0 0 1em;}
a{color:inherit;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---- Header ---- */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(234,246,240,.92);
  backdrop-filter:saturate(150%) blur(6px);
  border-bottom:1px solid var(--tsunemis-line);
}
.head-inner{display:flex;align-items:center;justify-content:space-between;height:60px;}
.brand{
  font-family:var(--serif);font-size:20px;letter-spacing:.06em;
  text-decoration:none;color:var(--tsunemis-ink);
}

/* ---- Buttons ---- */
.btn{
  display:inline-block;text-decoration:none;text-align:center;
  background:var(--tsunemis-ink);color:var(--tsunemis-white);
  border:1px solid var(--tsunemis-ink);border-radius:2px;
  padding:14px 28px;font-size:15px;letter-spacing:.04em;
  transition:background .2s,color .2s;
}
.btn:hover{background:#1E6B57;}
.btn-sm{padding:9px 16px;font-size:13px;}
.btn-lg{padding:17px 40px;font-size:16px;}
.btn-disabled{
  background:var(--tsunemis-line);color:var(--tsunemis-ink-70);
  border-color:var(--tsunemis-line);cursor:not-allowed;pointer-events:none;
}

/* ---- Section base ---- */
.section{padding:104px 0;}
.section-alt{background:var(--tsunemis-base);}
.sec-title{
  font-family:var(--serif);font-size:27px;font-weight:600;
  margin:0 0 34px;letter-spacing:.06em;
}
.sec-note{color:var(--tsunemis-ink-70);font-size:14px;margin-top:24px;}

/* ---- Hero ---- */
.hero{
  position:relative;
  background:linear-gradient(180deg,var(--tsunemis-base) 0%,var(--tsunemis-white) 100%);
  padding:96px 0 84px;
}
.hero-inner{text-align:center;}
.hero-brand{
  font-family:var(--serif);letter-spacing:.22em;
  color:var(--tsunemis-accent);font-size:15px;margin:0 0 24px;
}
.hero-title{
  font-family:var(--serif);font-weight:600;
  font-size:40px;line-height:1.5;margin:0 0 30px;letter-spacing:.06em;
}
.hero-sub{
  max-width:600px;margin:0 auto 40px;color:var(--tsunemis-ink-70);
  font-size:16px;
}
.hero-rule{
  width:64px;height:2px;background:var(--tsunemis-accent);
  margin:8px auto 0;
}
.sp-br{display:none;}
.scroll-hint{
  display:inline-block;margin-top:40px;width:26px;height:16px;line-height:0;
}
.scroll-hint svg{width:26px;height:16px;opacity:.8;}
/* B-1 ヒーローのオファー即提示 */
.hero-bridge{
  font-family:var(--serif);font-size:17px;color:var(--tsunemis-ink);
  margin:0 auto 16px;max-width:560px;
}
.hero-offer{
  font-size:14px;color:var(--tsunemis-ink-70);line-height:1.8;
  margin:0 auto 30px;max-width:600px;
}
.hero-cta-sub{font-size:12.5px;color:var(--tsunemis-ink-70);margin:12px 0 0;}
/* B-4 講師リード */
.teachers-lead{
  font-family:var(--serif);font-size:16px;color:var(--tsunemis-ink);
  line-height:1.9;margin:-16px 0 32px;
}
/* B-2 反復CTA帯 */
.section-cta-band{background:var(--tsunemis-base);padding:56px 0;text-align:center;}
.cta-band-sub{font-size:12.5px;color:var(--tsunemis-ink-70);margin:12px 0 0;}
/* B-3 主催再掲 */
.register-host{font-size:12.5px;color:var(--tsunemis-ink-70);margin:10px 0 0;}

/* ---- 分かれ道（左右ハーフ対比・矢印なし） ---- */
.fork-split{
  display:grid;grid-template-columns:1fr 1fr;
  max-width:640px;margin:0 auto;
  border:1px solid var(--tsunemis-line);border-radius:6px;overflow:hidden;
}
.fork-half{
  padding:40px 28px;text-align:center;background:var(--tsunemis-white);
  border-top:3px solid transparent;
}
.fork-half + .fork-half{border-left:1px solid var(--tsunemis-line);}
.fork-half-b{background:var(--tsunemis-accent-soft);border-top:3px solid var(--tsunemis-accent);}
.fork-tag{
  display:inline-block;font-size:13px;letter-spacing:.08em;
  color:var(--tsunemis-ink-70);margin-bottom:14px;
}
.fork-half-b .fork-tag{color:var(--tsunemis-accent);}
.fork-lead{font-family:var(--serif);font-size:19px;margin:0;}

/* ---- 特典PDF / register ---- */
.section-register{background:var(--tsunemis-ink);}
.register-card{
  max-width:640px;margin:0 auto;background:var(--tsunemis-white);
  border-radius:6px;padding:48px 40px;text-align:center;
}
.register-card .sec-title{margin-bottom:20px;}
.register-lead{color:var(--tsunemis-ink-70);text-align:left;}

/* 数字を主役に（チェックリスト項目数） */
.reg-nums{
  display:flex;align-items:center;justify-content:center;gap:28px;
  margin:28px 0 8px;
}
.reg-num{display:flex;flex-direction:column;align-items:center;}
.reg-n{
  font-family:var(--serif);font-size:52px;line-height:1;
  color:var(--tsunemis-accent);font-weight:600;
}
.reg-nl{font-size:12.5px;color:var(--tsunemis-ink-70);margin-top:8px;}
.reg-numdiv{width:1px;height:44px;background:var(--tsunemis-line);}

/* 登録フォーム（本番はML埋込に差替。今はダミー） */
.ml-form{margin:24px 0 14px;}
.ml-dummy{display:flex;gap:10px;flex-wrap:wrap;}
.ml-input{
  flex:1 1 220px;height:48px;padding:0 16px;font-size:15px;
  border:1px solid var(--tsunemis-line);border-radius:2px;
  background:var(--tsunemis-base);color:var(--tsunemis-ink);font-family:var(--sans);
}
.ml-btn{flex:0 0 auto;opacity:.55;cursor:not-allowed;}
.register-fine{font-size:13px;color:var(--tsunemis-ink-70);margin:0;}

/* ---- Chips ---- */
.chip{
  display:inline-block;font-size:12.5px;letter-spacing:.03em;
  padding:5px 12px;border:1px solid var(--tsunemis-line);border-radius:999px;
  color:var(--tsunemis-ink-70);background:var(--tsunemis-white);
  margin:0 6px 8px 0;
}
.chip-accent{
  border-color:var(--tsunemis-accent);color:var(--tsunemis-accent);
  margin-bottom:16px;
}
.chip-lg{font-size:14px;padding:8px 16px;}

/* ---- Topic cards ---- */
.card-grid{display:grid;gap:20px;}
.card-grid.three{grid-template-columns:repeat(3,1fr);}
.topic-card{
  border:1px solid var(--tsunemis-line);border-radius:4px;
  padding:28px 24px;background:var(--tsunemis-white);
}
.topic-no{
  font-family:var(--serif);font-size:32px;color:var(--tsunemis-accent);
  letter-spacing:.06em;line-height:1;display:block;
}
.topic-title{font-family:var(--serif);font-size:19px;margin:12px 0 12px;}
.topic-card p{margin:0;color:var(--tsunemis-ink-70);font-size:15px;}

/* ---- Teacher（1人1ブロック縦積み・左プロフィール／右メッセージ） ---- */
.teacher{
  display:grid;grid-template-columns:230px 1fr;gap:36px;
  background:var(--tsunemis-white);border:1px solid var(--tsunemis-line);
  border-radius:6px;padding:40px;margin-bottom:28px;align-items:start;
}
.teacher:last-child{margin-bottom:0;}
.teacher-side{text-align:left;}
.avatar{width:84px;height:84px;display:block;margin-bottom:16px;}
.avatar svg{width:84px;height:84px;}
.avatar img{width:84px;height:84px;display:block;border-radius:50%;}
.avatar-initial{font-family:var(--serif);font-size:38px;fill:var(--tsunemis-accent);}
.teacher-name{font-family:var(--serif);font-size:22px;margin:0 0 8px;}
.teacher-role{font-size:13px;color:var(--tsunemis-ink-70);margin:0 0 14px;line-height:1.7;}
.badges{display:flex;flex-wrap:wrap;}
.teacher-main{padding-top:4px;}
.teacher-body{font-size:15.5px;margin:0 0 20px;}
.quote-label{
  font-size:12px;letter-spacing:.12em;color:var(--tsunemis-accent);
  margin:0 0 10px;
}
.teacher-quote{
  margin:0;padding:4px 0 4px 24px;border-left:2px solid var(--tsunemis-accent);
  font-family:var(--serif);font-size:15.5px;line-height:1.95;color:var(--tsunemis-ink);
}
.teacher-quote p{margin:0 0 1em;}
.teacher-quote p:last-child{margin-bottom:0;}

/* ---- 対象 ---- */
.target-chips{display:flex;flex-wrap:wrap;margin-bottom:20px;}
.target-lead{font-family:var(--serif);font-size:18px;margin:0 0 8px;}

/* ---- Event ---- */
.event-dl{
  max-width:560px;margin:0 0 32px;border-top:1px solid var(--tsunemis-line);
}
.event-row{
  display:flex;gap:20px;padding:16px 4px;
  border-bottom:1px solid var(--tsunemis-line);
}
.event-row dt{
  flex:0 0 96px;font-size:14px;color:var(--tsunemis-ink-70);
  letter-spacing:.06em;margin:0;
}
.event-row dd{margin:0;font-size:16px;}
.event-cta{text-align:left;}
.event-fine{font-size:13px;color:var(--tsunemis-ink-70);margin:14px 0 0;}

/* ---- Teaser ---- */
.section-teaser{padding:56px 0;text-align:center;}
.teaser-line{
  font-family:var(--serif);font-size:20px;letter-spacing:.04em;
  color:var(--tsunemis-ink);margin:0 0 12px;
}
.teaser-sub{
  font-size:14.5px;color:var(--tsunemis-ink-70);margin:0;letter-spacing:.02em;
}

/* ---- Footer ---- */
.site-foot{
  background:var(--tsunemis-ink);color:var(--tsunemis-base);
  padding:48px 0 40px;text-align:center;
}
.foot-brand{font-family:var(--serif);font-size:20px;letter-spacing:.1em;margin:0 0 14px;}
.foot-credit{font-size:14px;color:#c9cfc9;margin:0 0 16px;}
.foot-nav{margin:0 0 20px;}
.foot-nav a{color:var(--tsunemis-base);font-size:14px;text-decoration:underline;text-underline-offset:3px;}
.foot-sep{color:#6f7a72;margin:0 10px;}

/* ---- schedule.html ---- */
.sched-sub{font-family:var(--serif);font-size:18px;margin:40px 0 18px;letter-spacing:.04em;}
.sched-sub:first-of-type{margin-top:8px;}
.sched-empty{color:var(--tsunemis-ink-70);font-size:14px;margin:0;}
.foot-copy{font-size:12px;color:#8a938c;margin:0;}

/* ===== 若年層LP（10years） ===== */
/* before/after 対比カード */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
/* 定点観測3カード（同一品目コーヒー・数字主役） */
.ba-grid-3{grid-template-columns:repeat(3,1fr);}
.ba-lead{font-family:var(--serif);font-size:16px;margin:-16px 0 28px;color:var(--tsunemis-ink);}
.ba-price{font-family:var(--serif);margin:14px 0 4px;color:var(--tsunemis-ink);font-size:16px;line-height:1;}
.ba-yen{color:var(--tsunemis-accent);font-size:34px;letter-spacing:.02em;}
.ba-avg{font-size:12px;color:var(--tsunemis-ink-70);margin-left:3px;}
.ba-cups{color:var(--tsunemis-accent);font-family:var(--serif);}
.ba-tokyo{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--tsunemis-line);font-size:13px;color:var(--tsunemis-ink-70);}
.ba-card{
  border:1px solid var(--tsunemis-line);border-radius:4px;
  padding:28px 24px;background:var(--tsunemis-white);
}
.ba-now{border-color:var(--tsunemis-accent);}
.ba-tag{
  display:inline-block;font-size:13px;letter-spacing:.06em;
  color:var(--tsunemis-ink-70);margin-bottom:12px;
  padding-bottom:8px;border-bottom:1px solid var(--tsunemis-line);
}
.ba-now .ba-tag{color:var(--tsunemis-accent);border-color:var(--tsunemis-accent);}
.ba-body{margin:0;font-size:15px;}

/* スタッツ（数字が主役） */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.stat{
  background:var(--tsunemis-white);border:1px solid var(--tsunemis-line);
  border-radius:4px;padding:28px 22px;
}
.stat-num{
  font-family:var(--serif);font-size:26px;line-height:1.35;
  color:var(--tsunemis-ink);margin:0 0 12px;letter-spacing:.01em;
}
.stat-arrow{color:var(--tsunemis-accent);margin:0 8px;font-size:20px;}
.stat-label{margin:0;font-size:14px;color:var(--tsunemis-ink-70);line-height:1.85;}
.stat-source{margin-top:22px;font-size:12.5px;color:var(--tsunemis-ink-70);}

/* 座標軸の話 */
.axis-blocks{display:grid;gap:20px;max-width:720px;}
.axis-p{
  margin:0;font-size:16px;padding:22px 26px;
  border-left:3px solid var(--tsunemis-line);background:var(--tsunemis-base);
  border-radius:0 4px 4px 0;line-height:2;
}

/* 免責注記 */
.section-disclaimer{padding:0 0 40px;}
.disclaimer{
  font-size:12.5px;color:var(--tsunemis-ink-70);margin:0;
  max-width:720px;line-height:1.9;
}

/* フッター相互リンク */
.foot-cross{margin:0 0 16px;}
.foot-cross a{
  color:var(--tsunemis-base);font-size:14px;
  text-decoration:underline;text-underline-offset:3px;
}

/* ===== Legal page ===== */
.legal-main{padding:56px 0 72px;}
.legal-title{font-family:var(--serif);font-size:26px;margin:0 0 12px;}
.legal-lead{color:var(--tsunemis-ink-70);font-size:14px;margin-bottom:32px;}
.legal-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.legal-table th,.legal-table td{
  border:1px solid var(--tsunemis-line);padding:14px 16px;
  text-align:left;vertical-align:top;
}
.legal-table th{
  background:var(--tsunemis-base);width:32%;font-weight:600;
  color:var(--tsunemis-ink);white-space:nowrap;
}
.legal-back{display:inline-block;margin-top:32px;font-size:14px;}

/* ===== Responsive ===== */
@media(max-width:768px){
  .section{padding:64px 0;}
  .hero{padding:40px 0 44px;}
  .hero-brand{margin-bottom:14px;}
  .hero-title{font-size:26px;line-height:1.5;margin-bottom:20px;}
  .hero-sub{margin-bottom:14px;font-size:14px;}
  .hero-bridge{font-size:15px;margin-bottom:12px;}
  .hero-offer{font-size:12.5px;margin-bottom:22px;line-height:1.7;}
  .scroll-hint{display:none;}
  .section-cta-band{padding:44px 0;}
  .sec-title{font-size:22px;}
  .card-grid.three{grid-template-columns:1fr;}
  .fork-half{padding:30px 22px;}
  .register-card{padding:36px 22px;}
  .reg-nums{gap:22px;}
  .reg-n{font-size:44px;}
  .teacher{grid-template-columns:1fr;gap:22px;padding:28px 22px;}
  .teacher-side{display:flex;flex-direction:column;}
  .avatar,.avatar svg,.avatar img{width:68px;height:68px;}
  .event-row{flex-direction:column;gap:4px;}
  .event-row dt{flex-basis:auto;}
  .legal-table th{width:38%;}
  .ba-grid,.ba-grid-3{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr;}
  .stat-num{font-size:23px;}
  .axis-p{padding:20px 22px;}
}
