/* 2026.10.20 調整：レイアウトはそのまま、字詰めと細部の不具合だけを直す */

/* 日本語の禁則（行頭の「ー」「。」などを防ぐ） */
body{line-break:strict}

/* 欧文見出しの字間：詰めすぎで文字が接触していた（Release の ea など） */
.display-heading,.display-heading em,.sv-title,.contents-root .display-heading,.content-title,.explore-item h3,
.content-work-preview strong,.content-archive-images :is(.archive-live,.archive-family) figcaption>span:first-child,
.content-interview-headline.is-latin,.interview-preview .content-interview-headline.is-latin,
.interview-preview+.interview-preview .content-interview-headline.is-latin{letter-spacing:-.005em;font-kerning:normal}

/* TOPの名前：TAKETOMO の T・O が触れていた */
.hero-first,.hero-last{letter-spacing:-.012em}
.lyric-album-mark strong{letter-spacing:-.02em}

/* ページ見出しの g・p・y の下が欠けていた */
.sv-title{padding-bottom:.14em;margin-bottom:-.14em}

/* 通し番号を外したぶんの整列 */
.lyric-card-caption{grid-template-columns:minmax(0,1fr) auto}
.content-action{gap:0}

/* 「すべての作品 DISCOGRAPHY」のベースラインを揃える */
.collection-link{align-items:baseline}

/* Lyric Video スケジュール */
.lyric-news-schedule strong{margin-left:-.5em}
.lyric-news-schedule a{min-height:32px;margin-right:16px;overflow-wrap:anywhere}
.lyric-scheduled{display:inline-block}

/* ============================================================
   Interaction layer（参考サイトの「動きの仕組み」だけを借用。色・書体・記号は既存のまま）
   ============================================================ */

/* ヘッダー：読み進める間は退き、戻るときに現れる */
.topbar{transition:background .35s,color .35s,border-color .35s,transform .5s cubic-bezier(.2,.7,.2,1)}
.topbar.is-tucked{transform:translateY(-100%)}

/* 静かな出現 */
.fx-rise{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--delay,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}
.fx-rise.is-in{opacity:1;transform:none}

/* ---------- Notes from the End of Youth：左に最新作、右に3本ずつ上下スライド ---------- */
.notes{padding-top:90px;padding-bottom:40px}
.notes-title{display:flex;align-items:flex-end;flex-wrap:wrap;gap:18px 48px;margin-bottom:46px;font-weight:400}
.nt-album{display:flex;align-items:flex-end;gap:16px}
.nt-ja{font:400 clamp(48px,5vw,82px)/.9 var(--serif);letter-spacing:-.01em}
.nt-kanji{font-family:ContentJP,"Hiragino Mincho ProN","Yu Mincho",serif;font-size:.86em;margin-left:.04em}
.nt-en{font:400 clamp(15px,1.25vw,19px)/1.15 var(--serif);padding-bottom:.25em}
.nt-main{font-size:clamp(40px,4.4vw,72px);line-height:.9;white-space:nowrap}
.notes-body{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:40px;align-items:start}
.notes-item{display:block;min-width:0}
.notes-thumb{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#20201d}
.notes-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.notes-item:hover .notes-thumb img{transform:scale(1.045);filter:brightness(.78)}
.notes-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffffd0;border-radius:50%;color:#fff;background:#10101030;backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.notes-item.is-latest .notes-play{width:64px;height:64px;opacity:1}
.notes-item:hover .notes-play{opacity:1}
.notes-play svg{width:18px;height:18px;margin-left:3px}
.notes-item.is-latest .notes-play svg{width:24px;height:24px}
.notes-cap{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-top:14px}
.notes-cap strong{font:400 16px/1.5 ContentJP,"Yu Mincho",serif}
.notes-item.is-latest .notes-cap strong{font-size:24px}
.notes-yt{font:12px/1.4 var(--sans);text-decoration:underline;text-underline-offset:5px;flex-shrink:0}
.notes-item:hover .notes-yt{opacity:.6}
/* 右列：縦に3本ずつ */
.notes-side{display:flex;flex-direction:column;min-height:0}
.notes-viewport{position:relative;overflow:hidden}
.notes-track{display:flex;flex-direction:column;gap:18px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.notes-track .notes-item{display:grid;grid-template-columns:var(--thumb-w,170px) minmax(0,1fr);gap:16px;align-items:stretch;flex:0 0 auto}
.notes-track .notes-thumb{height:100%;width:100%;aspect-ratio:auto}
.notes-track .notes-cap{flex-direction:column;justify-content:flex-end;gap:4px;padding:0 0 2px}
.notes-controls{display:flex;justify-content:flex-end;gap:18px;padding-top:14px}
.notes-controls button{font:30px/1 var(--sans);width:36px;min-height:44px;padding:0;transition:opacity .2s}
.notes-controls button:disabled{opacity:.25;cursor:default}
.lyric-progress>span{display:block;height:100%;background:var(--fg);transform:scaleX(0);transform-origin:left}

/* ---------- Lyric Videos：中央に寄せるカルーセル ---------- */
.lyric-series{display:block;padding-bottom:70px;overflow:hidden}
.lyric-series-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}
.lyric-series-heading .display-heading{font-size:clamp(43px,4.6vw,65px);line-height:.92}
.lyric-series-heading .display-heading>span{display:block}
.lyric-series-heading .display-heading>span+span{margin-left:15%}
.lyric-controls{display:flex;align-items:center;gap:21px}
.lyric-progress{display:block;width:120px;height:1px;background:var(--fn);margin-right:14px}
.lyric-progress>span{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.lyric-controls button{font:38px/1 var(--sans);width:40px;min-height:46px;padding:0;transition:opacity .2s}
.lyric-controls button:disabled{opacity:.25;cursor:default}
.lyric-stage{margin:0 calc(var(--pad) * -1);overflow:visible;touch-action:pan-y;user-select:none}
.lyric-track{display:flex;gap:32px;transition:transform .9s cubic-bezier(.2,.7,.2,1);will-change:transform}
.lyric-series .lyric-card,.lyric-series .lyric-card:nth-child(even){flex:0 0 min(52vw,760px);margin:0;transform:scale(.78);opacity:.32;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s}
.lyric-series .lyric-card.is-near{opacity:.5;cursor:pointer}
.lyric-series .lyric-card.is-active{transform:none;opacity:1}
.lyric-series .lyric-card:not(.is-active) .lyric-card-caption{opacity:0}
.lyric-card-caption{transition:opacity .5s}
.lyric-series .lyric-card:not(.is-active) .lyric-play-icon{opacity:0}
.lyric-player-soon img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) grayscale(.6)}
.lyric-soon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#f2f0ea}
.lyric-soon time{font:400 clamp(20px,2.2vw,30px)/1 var(--sans);letter-spacing:.02em}
.lyric-soon span{font:11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.8}

@media(max-width:800px){
 .notes{padding-top:60px}
 .notes-title{gap:14px;margin-bottom:30px}
 .nt-ja{font-size:52px}
 .nt-en{font-size:15px}
 .nt-main{font-size:42px;flex-basis:100%}
 .notes-body{grid-template-columns:minmax(0,1fr);gap:28px}
 .notes-item.is-latest .notes-cap strong{font-size:19px}
 .notes-viewport{--row-h:96}
 .notes-track{gap:14px}
}
@media(max-width:600px){
 .lyric-series-heading{margin-bottom:30px}
 .lyric-progress{width:56px;margin-right:4px}
 .lyric-controls{gap:3px}
 .lyric-controls button{font-size:25px;width:28px;min-height:44px}
 .lyric-track{gap:14px}
 .lyric-series .lyric-card,.lyric-series .lyric-card:nth-child(even){flex-basis:80vw;transform:scale(.88)}
 .lyric-series .lyric-card.is-active{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .fx-rise{opacity:1;transform:none;transition:none}
 .lyric-track,.lyric-series .lyric-card{transition:none}
}
