/* 画像版LPの文字の強弱、緑・金の装飾、写真との一体感を再現する調整。
   文章はindex.html、開催日はseminar-config.jsで更新できます。 */
:root { --ink:#082b21; --gold:#c29b38; --ivory:#fffcf0; }
.seminar-page { background:#f1f3ef; }
.seminar-page main, .seminar-page>.header, .seminar-page>.footer { max-width:1200px; background-color:white; margin-inline:auto; }
.wrap { width:min(1050px,calc(100% - 64px)); }
.section { padding-block:48px; }
h2 { font-size:clamp(2rem,4.2vw,3.35rem); line-height:1.4; font-weight:900; letter-spacing:-.055em; }
.section>h2, .tint>.section>h2 { padding-bottom:18px; border-bottom:2px solid var(--gold); margin-bottom:25px; }
p { margin-bottom:1em; }
.header { padding-inline:32px; width:100%; min-height:95px; }
.header .brand img { width:122px; height:83px; }
.header>span { font-size:1rem; }
.header-cta { padding:10px 15px; border:1px solid #c1a451; background:#fbf7e8; }
.hero-stage { position:relative; isolation:isolate; overflow:hidden; background:white; }
.hero { position:relative; grid-template-columns:1.05fr 1fr; padding:18px 0 70px; gap:0; min-height:665px; }
.hero-copy { position:relative; z-index:2; }
.hero h1 { font-size:clamp(2.7rem,5.65vw,4.25rem); line-height:1.32; font-weight:900; letter-spacing:-.07em; white-space:nowrap; text-shadow:0 1px white; }
.hero h1 span { color:#127b4e; }
.hero-copy>.eyebrow { display:none; }
.hero-lead { font-size:1.15rem; font-weight:700; border-top:2px solid var(--gold); padding-top:18px; margin-top:22px; }
.hero-copy>p { position:relative; max-width:640px; }
.hero-photo { position:relative; top:auto; z-index:0; width:calc(100% + 35px); margin:0 0 0 -15px; align-self:center; }
.hero-photo img { height:auto; width:100%; aspect-ratio:1.15; object-fit:cover; object-position:center; mask-image:linear-gradient(to bottom,#000 86%,transparent); -webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent); }
.hero-forest { position:absolute; z-index:1; bottom:0; left:0; width:100%; height:145px; background:url('assets/forest.png') center 68%/cover no-repeat; mask-image:linear-gradient(transparent,#000 55%); -webkit-mask-image:linear-gradient(transparent,#000 55%); pointer-events:none; }
.title-band,.cta-band,.apply-title { background:linear-gradient(105deg,#003f2bed,#003c29e8),url('assets/forest.png') center 80%/cover; position:relative; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); }
.title-band { padding:26px 0 30px; }
.title-band h2 { font-size:clamp(2.3rem,5.25vw,4.2rem); font-weight:900; letter-spacing:-.055em; text-shadow:0 2px 7px #001e17; margin-bottom:2px; }
.title-band .seminar-title { font-size:clamp(1.35rem,2.7vw,2rem); line-height:1.55; color:#f7e6ab; }
.title-band p:first-child { color:#f6e6b0; font-family:var(--serif); font-weight:700; }
.topics { margin-top:18px; box-shadow:0 2px 6px #00180f55; border:1px solid #d8bb65; border-radius:3px; }
.schedule { width:calc(100% - 38px); padding:22px 35px 30px; margin-top:20px; border:1px solid #668d76; box-shadow:inset 0 0 0 5px white,inset 0 0 0 6px #dbe6dc; background:linear-gradient(100deg,#ffffff,#fffdf4); }
.schedule>.eyebrow { font-size:1.15rem; letter-spacing:.02em; }
.schedule .small-heading { font-size:1rem; padding-bottom:12px; border-bottom:1px solid #7aa78c; }
.date-main { font-size:clamp(2.6rem,5.5vw,4.25rem); letter-spacing:-.06em; }
.date-hour { font-size:1.15rem; }
.time-note { font-size:1.4rem; }
.bonus-tag { background:linear-gradient(100deg,#d6b452,#fff0ba 40%,#d5b250); padding:5px 34px; position:relative; z-index:1; margin-bottom:-8px; clip-path:polygon(0 0,100% 0,98% 50%,100% 100%,0 100%,2% 50%); font-size:1.15rem; }
.button { background:linear-gradient(110deg,#008451,#00472d 55%,#002c20); border:2px solid #cfa83f; border-radius:9px; box-shadow:inset 0 1px 0 #ffffff42,0 3px 7px #143b2528; font-size:clamp(1.3rem,2.8vw,2rem); padding:19px 26px; text-shadow:0 1px 2px #00281d88; }
.gold { color:white; background:linear-gradient(110deg,#007347,#003e29 75%); }
.button span { font-family:var(--sans); }
.schedule>.button { padding-top:23px; }
.tint { background:linear-gradient(95deg,#fffdf1,#fffbee 50%,#fffefa); }
.split.text-only { display:block; }
.text-only>div { max-width:930px; }
.statement { border:2px solid #4f8163; background:#ffffffbf; border-radius:4px; font-size:1.8rem; line-height:1.6; }
mark { background:linear-gradient(transparent 15%,#faf3a9 15%,#faf3a9 94%,transparent 94%); }
.number-list { margin-top:22px; }
.number-list li { padding-top:22px; padding-bottom:22px; padding-left:135px; }
.number-list li:before { font-size:4.6rem; width:106px; top:15px; }
.number-list h3 { font-size:1.9rem; font-weight:800; }
.system-grid { background:linear-gradient(120deg,#e8edeb,#fafcfa); border:1px solid #c5d0c8; gap:22px; padding:30px; }
.system-grid article { box-shadow:0 4px 12px #122c2315; }
.system-grid h3 { font-weight:800; }
.checks { font-size:1.5rem; }
.checks li { padding-block:12px; }
.gifts { width:calc(100% - 38px); padding:22px 28px 12px; border:1px solid #d0ae54; background:linear-gradient(100deg,#fffcf0,#fff 55%,#fffced); }
.gift-label { font-size:1rem; background:linear-gradient(110deg,#e1c069,#fff0c3,#dfbf69); padding:4px 32px 4px 17px; }
.gift-heading h2 { font-size:clamp(1.8rem,3.5vw,2.7rem); font-weight:900; line-height:1.45; }
.gift-showcase { width:100%; height:auto; max-height:330px; object-fit:contain; margin:8px auto 20px; }
.gift { grid-template-columns:90px 1fr; gap:24px; padding:22px 25px; border-color:#e0ce94; background:linear-gradient(100deg,#fffdf7,#fff); box-shadow:0 2px 5px #53451d13; }
.gift>img { display:none; }
.gift-number { font-size:3.7rem; font-weight:800; }
.gift h3 { font-size:1.7rem; line-height:1.55; }
.gift p { font-size:1.05rem; }
.cta-band { width:calc(100% - 38px); margin-block:18px 22px; padding:28px; }
.cta-band h2 { font-size:clamp(2rem,4.6vw,3.5rem); margin-bottom:5px; }
.cta-band>p:first-child { position:relative; border-bottom:1px solid #c5a552; padding-bottom:9px; }
.pills span { font-size:1rem; }
.program-head { border-block:1px solid #7caa90; padding:13px 0; }
.program-head h3 { margin:0; font-family:var(--sans); }
.voice-heading { font-weight:800; font-size:1.65rem; }
.voices { grid-template-columns:1fr; gap:16px; }
blockquote { padding:24px 30px 24px 75px; position:relative; background:#fcfefd; }
blockquote:before { content:'“'; font:900 4.5rem var(--serif); position:absolute; top:0; left:20px; color:var(--green); }
blockquote p { font-size:1.4rem; line-height:1.8; }
.lecturer { grid-template-columns:340px 1fr; gap:35px; padding-top:35px; }
.lecturer>img { aspect-ratio:1; }
.lecturer h2 { font-size:3.5rem; }
.faq .eyebrow { font-size:1.2rem; text-align:center; margin-bottom:20px; }
.faq summary { font-size:1.45rem; padding-left:76px; }
.faq summary:before { font-size:3.8rem; top:-24px; }
.faq details p { padding-left:76px; }
.apply-title h2 { font-size:clamp(2rem,4.5vw,3.7rem); }
.apply-title p { font-size:1.2rem; }
form h3 { font-size:2.55rem; padding-bottom:15px; border-bottom:1px solid var(--gold); }
@media(max-width:850px) {
  .hero { min-height:560px; padding-bottom:95px; }
  .hero h1 { font-size:5.55vw; }
  .hero-photo img { aspect-ratio:.9; }
  .hero-lead { font-size:1rem; }
  .hero-copy>p:last-child { font-size:.9rem; }
  .header>span { font-size:.8rem; }
  .header-cta { font-size:.75rem; }
  .number-list h3 { font-size:1.55rem; }
  .number-list li { padding-left:95px; }
  .number-list li:before { width:76px; font-size:3.5rem; }
  .lecturer { grid-template-columns:1fr 1.3fr; }
  .gift h3 { font-size:1.4rem; }
}
@media(max-width:600px) {
  .seminar-page { background:white; }
  .wrap { width:calc(100% - 32px); }
  .section { padding-block:32px; }
  .header { width:100%; padding:8px 16px; min-height:76px; }
  .header .brand img { width:88px; height:60px; }
  .header>span { font-size:.72rem; padding:4px 7px; }
  .hero { display:flex; flex-direction:column; padding-top:5px; padding-bottom:76px; min-height:0; }
  .hero h1 { font-size:clamp(2.5rem,10vw,3.7rem); line-height:1.27; white-space:normal; letter-spacing:-.075em; }
  .hero-copy { display:contents; }
  .hero-copy h1 { order:0; z-index:2; margin-bottom:10px; }
  .hero-photo { order:1; width:100%; margin:0; }
  .hero-photo img { width:100%; height:auto; aspect-ratio:1.8; object-fit:cover; object-position:center 38%; mask-image:linear-gradient(#000 85%,transparent); -webkit-mask-image:linear-gradient(#000 85%,transparent); }
  .hero-lead { order:2; z-index:2; margin-top:5px; padding-top:10px; font-size:1rem; }
  .hero-copy>p:last-child { order:3; z-index:2; font-size:.9rem; margin-bottom:3px; }
  .hero-forest { height:112px; }
  .title-band { padding:22px 0; }
  .title-band h2 { font-size:clamp(1.6rem,7.3vw,2.6rem); letter-spacing:-.055em; }
  .title-band .seminar-title { font-size:1.2rem; }
  .title-band .topics { font-size:.81rem; }
  .schedule { width:calc(100% - 24px); padding:20px 14px 23px; }
  .schedule>.eyebrow { font-size:.875rem; }
  .date-main { font-size:clamp(1.6rem,7vw,2.6rem); }
  .date-hour { font-size:.75rem; }
  .time-note { font-size:1.08rem; }
  .bonus-tag { font-size:.85rem; padding-inline:16px; }
  .button { font-size:1.2rem; padding:17px 12px; border-radius:7px; }
  h2 { font-size:clamp(1.7rem,7.6vw,2.7rem); line-height:1.45; }
  .section>h2,.tint>.section>h2 { padding-bottom:12px; margin-bottom:18px; border-width:1px; }
  .statement { font-size:1.3rem; padding:14px 8px; }
  .number-list li { padding:18px 0 18px 64px; }
  .number-list li:before { width:50px; font-size:2.7rem; top:15px; }
  .number-list h3 { font-size:1.3rem; }
  .checks { font-size:1.2rem; }
  .system-grid { padding:15px; gap:12px; }
  .gifts { width:calc(100% - 24px); padding:19px 14px 9px; }
  .gift-label { font-size:.85rem; }
  .gift-heading { margin-bottom:10px; }
  .gift-heading h2 { font-size:1.65rem; }
  .gift-showcase { margin:10px auto 16px; }
  .gift { grid-template-columns:48px 1fr; gap:13px; padding:17px 12px; }
  .gift>div { grid-column:2; }
  .gift-number { font-size:2.3rem; border-right:1px solid #9bb29d; align-self:start; }
  .gift h3 { font-size:1.16rem; }
  .gift p { font-size:.9rem; }
  .cta-band { width:calc(100% - 24px); padding:22px 16px; }
  .cta-band h2 { font-size:1.9rem; }
  .pills span { font-size:.8rem; }
  .voice-heading { font-size:1.25rem; }
  blockquote { padding:20px 20px 20px 48px; }
  blockquote:before { left:10px; font-size:3rem; }
  blockquote p { font-size:1.15rem; }
  .lecturer { grid-template-columns:1fr; gap:22px; }
  .lecturer>img { aspect-ratio:1.4; max-width:100%; }
  .lecturer h2 { font-size:2.6rem; }
  .faq summary { font-size:1.18rem; padding-left:43px; }
  .faq summary:before { font-size:2.5rem; top:-12px; }
  .faq details p { padding-left:43px; }
  .apply-title { padding:23px 14px; }
  .apply-title h2 { font-size:1.75rem; }
  .apply-title p { font-size:1rem; }
  form h3 { font-size:1.65rem; }
}
@media print { .hero-forest{display:none;} .hero {min-height:0;} .hero-photo img {mask-image:none;} }

/* ヒーローに代表写真。本文はチーム写真、講師紹介は文章のみ。 */
.hero-photo img { aspect-ratio:.82; object-position:28% center; }
.lecturer { display:block; padding:35px; border:1px solid #a4bba9; background:linear-gradient(110deg,#fffdf0,#fff); }
.lecturer>div { max-width:900px; margin:auto; }
@media(max-width:600px) {
 .hero-photo img { aspect-ratio:1.35; object-position:28% 35%; }
 .lecturer { padding:24px 20px; margin-block:30px; }
}

/* CTAは矢印を独立配置し、文字自体をボタンの中央へ。 */
.button,.header-cta { position:relative; display:flex; justify-content:center; align-items:center; text-align:center; padding-inline:2.5em; }
.button>span[aria-hidden],.header-cta>span[aria-hidden] { position:absolute; right:.9em; top:50%; transform:translateY(-50%); margin:0; }
.lecturer { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); align-items:center; gap:32px; }
.lecturer>img { display:block; width:100%; height:auto; aspect-ratio:.9; object-fit:cover; object-position:28% center; }
.lecturer>div { min-width:0; }
.closing-team { display:block; width:100%; max-width:820px; height:auto; margin:32px auto 0; border-radius:3px; }
.pain .split>img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; max-height:none; }
.system-visual { margin:28px 0; }
.system-image-window { position:relative; overflow:hidden; aspect-ratio:622/270; background:#f5f5f1; }
.system-image-window img { position:absolute; width:109.807%; max-width:none; height:auto; left:-4.823%; top:-272.963%; }
.system-visual figcaption { margin-top:10px; text-align:center; font-size:.875rem; color:#536757; }
@media(max-width:600px){
 .lecturer { grid-template-columns:1fr; }
 .lecturer>img { max-width:380px; margin:auto; aspect-ratio:1.2; }
 .button { padding-inline:2.2em; font-size:clamp(1rem,4.5vw,1.2rem); }
 .button>span[aria-hidden] { right:.7em; }
 .closing-team { margin-top:24px; }
}

@media(max-width:600px){.header>span{display:none}.header-cta{font-size:.8rem;padding-block:10px}}

/* お客様の声：写真1/3・本文2/3。元写真は加工せず円形の表示範囲を調整。 */
.voices .voice-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:center; gap:28px; padding:28px; }
.voices .voice-card:before { content:none; }
.voice-portrait { position:relative; width:100%; aspect-ratio:1; overflow:hidden; border-radius:50%; background:#eef1eb; }
.voice-portrait img { position:absolute; max-width:none; height:auto; display:block; }
.voice-portrait.leasekin img { width:234.146%; left:-90.244%; top:-9.756%; }
.voice-portrait.raizin img { width:255.867%; left:-80%; top:-34.667%; }
.voice-copy { min-width:0; }
.voice-copy p { margin:0 0 18px; }
.voice-copy footer { line-height:1.8; }
@media(max-width:600px){
 .voices .voice-card { padding:16px 12px; gap:14px; align-items:start; }
 .voice-copy p { font-size:1rem; line-height:1.85; margin-bottom:14px; }
 .voice-copy footer { font-size:.875rem; }
}

/* 本文と同じ外枠でフッターの白背景を連続させる。 */
.seminar-page>.footer { width:100%; max-width:1200px; padding:28px clamp(32px,6.25vw,75px) 36px; box-sizing:border-box; }
.seminar-page>.footer .footer-nav { margin-left:auto; }
.seminar-page>.footer .footer-nav a { margin-left:0; }
.hero h1 .hero-title-tail { color:inherit; }
.hero-kicker>span { display:block; }
@media(max-width:600px){
 .seminar-page>.footer { padding:24px 20px 30px; flex-wrap:wrap; gap:16px; }
 .seminar-page>.footer .footer-nav { width:100%; margin:0; justify-content:flex-start; gap:18px; padding-top:14px; border-top:1px solid #dce5dd; }
 .hero-stage { background:#fff; color:#123d2b; }
 .hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); grid-template-rows:auto auto auto auto; width:100%; padding:16px 18px 22px; gap:0; min-height:0; background:linear-gradient(135deg,#fff 55%,#f3f7f1); }
 .hero-copy { display:contents; }
 .hero-copy>.hero-kicker { grid-column:1/-1; grid-row:1; display:block; position:static; margin:0 0 20px; font-size:.8rem; font-weight:700; line-height:1.7; letter-spacing:.025em; color:#174f36; border-bottom:1px solid #d8c589; padding-bottom:10px; }
 .hero-kicker>span { display:block; font-size:.875rem; letter-spacing:0; color:#174f36; }
 .hero h1 { grid-column:1; grid-row:2; position:relative; z-index:2; align-self:center; width:auto; min-width:0; margin:0; padding:0 0 12px; font-size:clamp(1.65rem,7.8vw,2.9rem); line-height:1.4; letter-spacing:-.075em; color:#123d2b; text-shadow:none; white-space:normal; }
 .hero h1>span:not(.hero-title-tail) { color:#087848; }
 .hero h1 .hero-title-tail { display:block; font-size:.72em; line-height:1.6; margin-top:16px; letter-spacing:-.025em; color:#123d2b; }
 .hero-title-tail>br:first-child { display:none; }
 .hero-photo { grid-column:2; grid-row:2; position:relative; top:auto; right:auto; width:100%; height:auto; margin:0; align-self:stretch; min-height:230px; z-index:1; overflow:hidden; }
 .hero-photo img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:30% center; mask-image:linear-gradient(to bottom,#000 88%,transparent); -webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent); mask-composite:add; -webkit-mask-composite:source-over; }
 .hero-copy>.hero-lead { grid-column:1/-1; grid-row:3; position:static; width:100%; max-width:none; margin:18px 0 0; padding:14px 0 14px 14px; border:0; border-left:3px solid #c7a450; background:white; color:#17422f; text-shadow:none; font-size:1rem; line-height:1.8; font-weight:700; border-radius:0; box-sizing:border-box; }
 .hero-copy>.hero-lead br { display:none; }
 .hero-copy>p:last-child { grid-column:1/-1; grid-row:4; position:static; max-width:none; margin:12px 0 0; padding:0; background:none; color:#48584f; font-size:.9375rem; line-height:1.85; text-shadow:none; }
 .hero-copy>p:last-child br { display:none; }
 .hero-forest { display:none; }
 .title-band { padding:20px 0; }
}

/* 日程案内の見出しを読み取りやすく拡大。 */
.schedule>.eyebrow{font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.7;font-weight:700;letter-spacing:.01em}
.schedule .small-heading{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.5;padding-bottom:16px;margin-bottom:20px}

/* スマートフォンで読み進めやすい文字・余白・操作領域。 */
@media(max-width:600px){
 .seminar-page { font-size:16px; line-height:1.85; }
 .section { padding-block:36px; }
 .section p,.gift p,.cta-band>p,.title-band p,.apply-title p { font-size:1rem; line-height:1.85; }
 .section p br:not(.mobile),.title-band p br:not(.mobile) { display:none; }
 .hero-copy>p:last-child { font-size:1rem; }
 .hero-copy>.hero-kicker { font-size:.875rem; }
 .section h2 { font-size:clamp(1.5rem,6.5vw,2rem); line-height:1.55; letter-spacing:-.04em; }
 .section h3,.gift h3 { font-size:1.2rem; line-height:1.65; }
 .date-grid { grid-template-columns:1fr; gap:10px; }
 .date-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; column-gap:12px; padding:12px 16px; text-align:left; border:1px solid #bfd0c1; border-radius:5px; background:#fff; }
 .date-year { grid-column:1; grid-row:1; font-size:.875rem; line-height:1.3; }
 .date-main { grid-column:1; grid-row:2; font-size:1.9rem; line-height:1.4; }
 .date-main small { font-size:1rem; margin-left:5px; }
 .date-hour { grid-column:2; grid-row:1/3; font-size:1rem; font-weight:700; text-align:right; white-space:normal; }
 .date-card>small { grid-column:1/-1; }
 .time-note { font-size:1.1rem; }
 .topics { flex-wrap:wrap; font-size:.875rem; }
 .pills { flex-wrap:wrap; }
 .pills span,.gift-note,.gift-label,.pdf-label,.bonus-tag { font-size:.875rem; line-height:1.7; }
 .gift-heading { align-items:flex-start; gap:12px; }
 .gift { padding:20px 12px; }
 .gift p { margin-bottom:0; }
 .number-list li { padding-left:52px; }
 .number-list li:before { width:40px; font-size:2.2rem; }
 .checks { font-size:1.05rem; }
 .faq summary { min-height:48px; padding-left:36px; font-size:1.0625rem; line-height:1.7; }
 .faq details p { padding-left:0; }
 .faq summary:before { font-size:2rem; top:-5px; }
 .button,.header-cta,.secondary { min-height:48px; line-height:1.6; }
 .header-cta { font-size:.875rem; }
 .button { font-size:1.0625rem; padding-block:16px; }
 form { padding:24px 16px; }
 form input { font-size:16px; min-height:48px; }
 form input[type=checkbox],form input[type=radio] { min-height:0; width:20px; height:20px; flex-shrink:0; }
 .date-choice { min-height:60px; padding:14px 12px; }
 .consent { font-size:.9375rem; line-height:1.8; padding-block:8px; }
 .dialog-actions { flex-wrap:wrap; gap:12px; }
 .dialog-actions button { flex:1 1 100%; }
 .voices .voice-copy p { font-size:1rem; }
 .footer-nav a { min-height:44px; display:inline-flex; align-items:center; }
}

/* 開催状況を日付の右に表示。受付中の日付はフォームへ移動。 */
.date-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
a.date-card { display:block; color:inherit; text-decoration:none; border-radius:5px; }
a.date-card:hover { background:#f1f7ef; }
a.date-card:focus-visible { outline:3px solid #087848; outline-offset:3px; }
.date-main { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.date-value { white-space:nowrap; }
.date-status { display:inline-block; font:700 1rem/1.5 var(--sans); letter-spacing:0; white-space:nowrap; margin-left:6px; }
.date-status.remaining { color:#bd2525; }
.date-card.closed,.date-choice.closed { color:#858585; opacity:1; }
.closed .date-year,.closed .date-value,.closed .date-hour { color:#858585; text-decoration:line-through; }
.closed .date-status { color:#858585; text-decoration:none; }
mark.message-emphasis { font-family:var(--serif); font-size:1.3rem; line-height:1.8; font-weight:800; }
#registration { scroll-margin-top:20px; }
@media(max-width:600px){
 .hero { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
 .hero-photo { min-height:260px; }
 .hero-photo img { object-position:29% center; }
 .hero h1>span:not(.hero-title-tail) { text-decoration:underline; text-decoration-color:#d5b654; text-decoration-thickness:3px; text-underline-offset:6px; }
 .date-grid { grid-template-columns:1fr; }
 a.date-card,.date-card { display:grid; grid-template-columns:minmax(0,1fr); gap:3px; padding:14px 16px; }
 .date-year { grid-column:1; grid-row:1; }
 .date-main { grid-column:1; grid-row:2; justify-content:flex-start; flex-wrap:wrap; font-size:2rem; gap:10px; }
 .date-hour { grid-column:1; grid-row:3; text-align:left; font-size:1rem; }
 .date-status { font-size:1rem; }
 .date-choice .date-status { margin-left:8px; }
 mark.message-emphasis { font-size:1.15rem; line-height:1.85; }
}

/* ご感想は読みやすい本文サイズと明朝の要約見出しで構成。 */
.voices .voice-copy p { font-size:1.0625rem; line-height:1.9; }
.voices .voice-copy .voice-summary { font-family:var(--serif); font-weight:800; font-size:1.4rem; line-height:1.7; color:#154b32; }
.voices .voice-card { align-items:start; }
.lecturer>img[src$="lecturer-profile.jpg"] { object-position:49% center; }
/* 固定バナー分の余白を確保して、フッターや入力欄を隠さない。 */
body.seminar-page { padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
html { scroll-padding-bottom:140px; }
.floating-apply { position:fixed; z-index:50; bottom:calc(16px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); width:min(900px,calc(100% - 32px)); border:1px solid #e7cf88; border-radius:8px; box-shadow:0 8px 28px #00281845,inset 0 1px 0 #ffffff33; overflow:hidden; background:linear-gradient(110deg,#003b29 0%,#16764d 35%,#03422d 65%,#0c6341 100%); background-size:250% 200%; animation:seminar-gradient 10s ease-in-out infinite alternate; }
.floating-apply a { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 28px; min-height:76px; padding:16px 52px; color:white; text-decoration:none; text-align:center; font-family:var(--serif); line-height:1.5; }
.floating-apply a>span:first-child { font-size:1.15rem; font-weight:700; }
.floating-apply strong { color:#ffe7a1; font-size:1.7rem; font-weight:900; }
.floating-arrow { position:absolute; right:22px; top:50%; transform:translateY(-50%); color:#ffe7a1; font-size:1.6rem; }
.floating-apply a:focus-visible { outline:3px solid #ffe7a1; outline-offset:-5px; }
@keyframes seminar-gradient { from{background-position:0% 35%} to{background-position:100% 65%} }
@media(max-width:600px){
 .voices .voice-copy p { font-size:1rem; }
 .voices .voice-copy .voice-summary { font-size:1.125rem; }
 .floating-apply { width:calc(100% - 24px); bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
 .floating-apply a { flex-direction:column; gap:2px; padding:12px 34px; min-height:82px; }
 .floating-apply a>span:first-child { font-size:.875rem; }
 .floating-apply strong { font-size:1.4rem; }
 .floating-arrow { right:13px; font-size:1.4rem; }
}
@media(prefers-reduced-motion:reduce){.floating-apply{animation:none}}
@media print{.floating-apply{display:none}body.seminar-page{padding-bottom:0}}

/* チェックの字形を四角の縦横中央に配置。 */
.checks li:before { display:grid; place-items:center; padding:0; box-sizing:border-box; width:28px; height:28px; top:50%; transform:translateY(-50%); font-size:20px; line-height:1; font-weight:700; text-align:center; letter-spacing:0; }
.founder-profile { padding-top:20px; }
.founder-profile>.eyebrow { color:#647951; letter-spacing:.06em; font-size:.875rem; }
.founder-profile>h2 { font-size:clamp(1.6rem,3.2vw,2.65rem); }
.profile-career { padding:26px 30px; margin:26px 0 32px; background:#f2f6f0; border-left:3px solid #bca15c; }
.founder-profile h3 { font-family:var(--serif); color:#154a32; font-size:1.4rem; line-height:1.7; margin:0 0 16px; }
.profile-career p:last-child,.profile-story p:last-child,.profile-message p:last-child { margin-bottom:0; }
.profile-story { display:grid; gap:28px; }
.profile-story article { padding:0 0 26px; border-bottom:1px solid #d9dfd4; }
.profile-story p { max-width:940px; }
.profile-message { margin-top:28px; padding:28px 30px; background:#fffbee; border:1px solid #d4bd79; border-radius:4px; }
@media(max-width:600px){
 .founder-profile { padding-top:12px; }
 .profile-career,.profile-message { padding:22px 18px; }
 .founder-profile h3 { font-size:1.2rem; line-height:1.7; }
 .profile-story { gap:24px; }
 .profile-story article { padding-bottom:22px; }
 .founder-profile p { font-size:1rem; line-height:1.9; }
}

.hero h1 .hero-title-main { color:inherit; }
.hero-title-main em { font-style:normal; color:#127b4e; }
@media(max-width:600px){
 .hero { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); grid-template-rows:auto auto auto auto auto; padding-top:14px; }
 .hero-copy>.hero-kicker { margin-bottom:16px; }
 .hero h1 { display:contents; }
 .hero h1>span.hero-title-main { display:block; grid-column:1/-1; grid-row:2; font-family:var(--serif); font-size:clamp(2.5rem,11.5vw,4.2rem); font-weight:900; line-height:1.2; letter-spacing:-.055em; text-decoration:none; color:#103c29; margin:0 0 14px; }
 .hero-title-main em { color:#087748; background:linear-gradient(transparent 80%,#f1df9d 80%,#f1df9d 96%,transparent 96%); }
 .hero h1 .hero-title-tail { grid-column:1; grid-row:3; align-self:center; display:block; font-family:var(--serif); font-weight:800; font-size:clamp(1.25rem,5.6vw,2rem); line-height:1.75; margin:0; padding:0 6px 18px 0; letter-spacing:-.055em; border-bottom:2px solid #ceb16b; color:#123d2b; }
 .hero-title-tail>br:first-child { display:none; }
 .hero-photo { grid-column:2; grid-row:3; min-height:245px; border-radius:3px; }
 .hero-photo img { object-position:29% center; }
 .hero-copy>.hero-lead { grid-row:4; margin-top:18px; }
 .hero-copy>p:last-child { grid-row:5; }
}
