/* Kohin テーマ：トップだけで使う区画（template-parts/front/）。 */
/* ヒーロー：夏の島の通り */
.hero{position:relative;overflow:hidden;color:#fff;margin-top:-76px;background:linear-gradient(180deg,var(--sky-0) 0%,var(--sky-1) 48%,var(--sky-2) 100%)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:38% 62%;display:block}
.hero-video{z-index:0}
.veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,70,.62) 0%,rgba(4,20,70,.38) 38%,rgba(4,20,70,0) 62%);pointer-events:none}
.hero-in{position:relative;z-index:1;text-align:center;max-width:880px;margin:0 auto;padding:128px 16px clamp(300px,36vw,440px)}
.hero .eyebrow{color:rgba(255,255,255,.85)}
.h1{font-family:var(--mincho);font-weight:800;font-size:clamp(38px,10vw,88px);line-height:1.2;letter-spacing:.1em;margin:10px 0 18px;padding-left:.1em;text-shadow:0 4px 30px rgba(4,20,60,.45)}
.lead{font-size:clamp(15px,2vw,18px);line-height:2;color:#fff;text-shadow:0 2px 14px rgba(4,20,60,.6);margin:0 auto 26px}
.lead span{display:inline-block}
.cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 14px}
.assure{margin:16px 0 0;font-size:13px;color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(4,20,60,.6)}
.cap{position:absolute;left:16px;bottom:20px;z-index:1;margin:0;font-size:11px;background:rgba(255,253,248,.88);color:var(--ink-2);padding:1px 10px;border-radius:99px;max-width:calc(100% - 32px)}
.cap[hidden]{display:none}
@media (max-width:700px){
  .hero{background:linear-gradient(180deg,#0A2F86 0%,#123F9E 60%,#1B4DAE 100%)}
  .hero-media{top:auto;bottom:0;height:54%;object-position:30% 100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 26%);mask-image:linear-gradient(to bottom,transparent 0,#000 26%)}
  .veil{display:none}
  .cap{left:auto;right:12px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}

/* 青い間奏：音だけで */
.interlude{position:relative;overflow:hidden;margin-top:80px;padding:88px 16px 112px;text-align:center;color:#fff;background:linear-gradient(180deg,var(--sea) 0%,var(--sea-2) 100%)}
.interlude .eyebrow{color:rgba(255,255,255,.7)}
.poem{font-family:var(--mincho);font-weight:700;font-size:clamp(22px,3.6vw,32px);line-height:2;letter-spacing:.1em;margin:18px 0 0}
.poem-sep{width:20px;margin:22px auto;border-top:1.5px solid rgba(255,255,255,.7)}
.poem-en{font-family:var(--latin);font-weight:700;font-size:clamp(16px,2.2vw,20px);line-height:1.7;color:rgba(255,255,255,.9);margin:0}
.waves{position:absolute;left:0;right:0;bottom:0;width:100%;height:120px;opacity:.5;pointer-events:none}
.waves path{fill:none;stroke:#fff;stroke-width:1.2}

/* Kohinについて（トップの抜粋） */
.about{padding:26px 28px}
.about p{margin:0 0 14px}
.about p:last-child{margin-bottom:0}
