﻿/* #topimg / メイン二カラム（home-main-cards-wrap）用スタイル */
@import url('https://fonts.googleapis.com/css2?family=Cherry+Bomb+One&family=Fredoka+One&family=Zen+Maru+Gothic:wght@500;700;900&display=swap');
.home-main-cards-wrap { width:630px; max-width:100%; margin:0 0 10px 10px; box-sizing:border-box; font-family:"Hiragino Kaku Gothic ProN","Meiryo","MS PGothic",sans-serif; --home-card-paper:#faf1da; }
/* 開発パネル／設定 JSON と共用。初期値は pastelPink 相当（JS 適用前のちらつき軽減・別 theme は後から上書き） */
#topimg.home-main-cards-wrap {
  overflow:visible;
  box-sizing:border-box;
  --topimg-accent:#c7789c;
  --topimg-soft:#d894b3;
  --topimg-dark:#a35d7e;
  --topimg-accent-muted:rgba(199,120,156,.45);
  --topimg-title-en-shadow:rgba(199,120,156,.14);
}
/* topimg-pending: HTML に付与し、topimg-main.js が処理後に外す */
#topimg.home-main-cards-wrap.topimg-pending {
  visibility:hidden;
}
/* カード見出し：Release / アルバムでボックス高さを揃える */
#topimg.home-main-cards-wrap .home-main-cards-inner > .home-release-card > .home-card-head,
#topimg.home-main-cards-wrap .home-main-cards-inner > .home-album-card > .home-card-head {
  min-height:40px;
  padding:3px 10px;
  box-sizing:border-box;
}
#topimg.home-main-cards-wrap .home-card-head {
  padding-top:3px;
  padding-bottom:3px;
  line-height:1.12;
}
#topimg.home-main-cards-wrap .home-card-head,
#topimg.home-main-cards-wrap .home-archive-band { background:var(--topimg-accent); }
#topimg.home-main-cards-wrap .home-album-divider,
#topimg.home-main-cards-wrap .home-release-sub,
#topimg.home-main-cards-wrap .home-archive-single-title-cell { color:var(--topimg-accent); }
#topimg.home-main-cards-wrap .home-archive-single-title-sub { color:var(--topimg-soft); }
#topimg.home-main-cards-wrap .home-release-date-line.home-release-date-line--slash .home-release-date-sep { color:var(--topimg-accent-muted); }
.home-main-cards-wrap *, .home-main-cards-wrap *::before, .home-main-cards-wrap *::after { box-sizing:border-box; }
.home-main-cards-inner { display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; height:100%; max-height:100%; min-height:0; box-sizing:border-box; }
.home-main-cards-inner .home-card { flex:1 1 calc(50% - 7px); min-width:260px; min-height:0; max-height:100%; display:flex; flex-direction:column; container-type:inline-size; }
.home-main-cards-inner > .home-card > .home-card-head { display:flex; align-items:center; justify-content:center; min-height:40px; padding:4px 10px; box-sizing:border-box; position:relative; }
.home-card-head { background:#c7789c; color:#fff; font-weight:900; text-align:center; padding:8px 10px; font-size:15px; line-height:1.35; border-radius:15px 15px 0 0; letter-spacing:0.06em; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; -webkit-font-smoothing:antialiased; }
/* #topimg：見出しは Cherry Bomb を優先（かなは収録あり／欠ける字形は Zen Maru へ）。Release は英語子要素、アルバムは帯全体 */
#topimg.home-main-cards-wrap .home-release-card > .home-card-head > .home-card-head-en { font-family:"Cherry Bomb One","Fredoka One","Segoe UI","Arial Rounded MT Bold",Tahoma,sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(21px,7.4cqw,32px); letter-spacing:0.03em; text-shadow:0 1px 0 rgba(0,0,0,.14); line-height:1.05; display:inline-block; white-space:nowrap; }
#topimg.home-main-cards-wrap .home-album-card > .home-card-head { font-family:"Cherry Bomb One","Fredoka One","Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-weight:500; font-size:clamp(23px,8cqw,34px); letter-spacing:0.045em; line-height:1.08; text-shadow:0 1px 0 rgba(0,0,0,.14); -webkit-font-smoothing:antialiased; }
.home-head-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.home-head-chars-wrap { display:inline; }
.home-head-char { display:inline-block; opacity:0; animation:home-head-char-drop .62s cubic-bezier(.34,1.45,.55,1) both; }
@keyframes home-head-char-drop {
  0% { opacity:0; transform:translateY(-.55em) scale(.75); }
  42% { opacity:1; transform:translateY(.1em) scale(1.06); }
  65% { transform:translateY(-.07em) scale(.97); }
  82% { transform:translateY(.03em) scale(1.02); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
.home-album-divider { margin:0 0 10px; font-size:13px; font-weight:900; color:#c7789c; line-height:1.45; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; letter-spacing:0.04em; }
.home-archive-stack { margin:0 0 2px; width:100%; max-width:100%; min-height:0; border:none; overflow:hidden; background:var(--home-card-paper); box-sizing:border-box; }
.home-album-card .home-archive-stack { margin-left:-12px; margin-right:-12px; width:calc(100% + 24px); max-width:calc(100% + 24px); flex:1 1 auto; min-height:0; overflow:visible; }
.home-archive-block { margin:0; padding:0; border:none; border-top:1px solid rgba(199,120,156,.2); box-sizing:border-box; }
.home-archive-block:first-child { border-top:none; }
.home-archive-band { margin:0; padding:5px 12px; min-height:30px; background:#c7789c; color:#fff; text-align:center; box-sizing:border-box; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:0; overflow:hidden; }
.home-archive-band-title { margin:0; padding:0; font-size:clamp(14px,4.35cqw,18px); font-weight:900; line-height:1.22; letter-spacing:.06em; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; -webkit-font-smoothing:antialiased; word-break:keep-all; width:100%; max-width:100%; box-sizing:border-box; }
.home-archive-band--with-volbox { flex-direction:row; align-items:center; justify-content:center; padding:5px 54px 5px 12px; min-height:32px; position:relative; overflow:hidden; }
.home-archive-band--with-volbox .home-archive-band-title { flex:1; width:auto; min-width:0; text-align:center; margin:0; }
.home-archive-vol-box { position:absolute; right:8px; top:50%; margin-top:0; padding:7px 10px; background:#fffafd; color:#a35d7e; border:2px solid var(--home-card-paper); border-radius:5px; box-shadow:0 3px 11px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.95); font-size:clamp(10px,3.2cqw,13px); font-weight:900; line-height:1.15; letter-spacing:.06em; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; white-space:nowrap; transform:translateY(-50%) rotate(-10deg); transform-origin:50% 50%; -webkit-font-smoothing:antialiased; pointer-events:none; box-sizing:border-box; z-index:2; }
.home-archive-block-body { padding:8px 0 10px; text-align:center; background:var(--home-card-paper); box-sizing:border-box; overflow:hidden; max-width:100%; }
.home-album-card .home-archive-block:first-child .home-archive-block-body { overflow:visible; padding:8px 0 10px; margin-top:0; position:relative; z-index:2; background:transparent; }
.home-album-card .home-archive-block:first-child > .home-archive-band { overflow:visible; position:relative; z-index:1; padding:3px 12px; min-height:26px; }
.home-album-card .home-archive-block:first-child .home-archive-band-title { position:relative; z-index:2; text-shadow:0 1px 3px rgba(0,0,0,.42); font-size:clamp(17px,5.6cqw,22px); line-height:1.28; letter-spacing:.07em; }
.home-archive-aino-ph { display:block; width:86px; height:86px; margin:0 auto; padding:0; border:1px solid rgba(199,120,156,.22); box-sizing:border-box; flex-shrink:0; object-fit:cover; vertical-align:bottom; background:#ececec; }
.home-archive-slideshow { width:100%; max-width:100%; margin:0; padding:0; box-sizing:border-box; }
.home-archive-slide-viewport { width:100%; padding:4px 0 3px; overflow:hidden; border:none; box-sizing:border-box; }
/* イルカ・アーカイブシリーズ：スライド下〜ブロック下端の余白をやや詰める */
.home-album-card .home-archive-block:nth-child(2) .home-archive-block-body { padding:8px 0 6px; }
.home-archive-film-gate-clip { overflow:hidden; width:100%; border-radius:4px; box-sizing:border-box; -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 9%,#000 22%,#000 78%,rgba(0,0,0,0) 91%,rgba(0,0,0,0) 100%); mask-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 9%,#000 22%,#000 78%,rgba(0,0,0,0) 91%,rgba(0,0,0,0) 100%); }
.home-archive-film-segment { display:flex; flex-direction:column; flex-shrink:0; align-items:stretch; box-sizing:border-box; }
.home-archive-film-perf { flex-shrink:0; height:10px; width:100%; box-sizing:border-box; background-color:#f5cfe0; background-image:radial-gradient(circle at 50% 50%,rgba(253,249,250,.98) 2.4px,transparent 2.7px); background-size:13px 10px; background-repeat:repeat-x; background-position:6px 50%; border-radius:2px 2px 0 0; box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(199,120,156,.12); }
.home-archive-film-perf--bottom { border-radius:0 0 2px 2px; margin-top:0; box-shadow:inset 0 1px 0 rgba(199,120,156,.1),inset 0 -1px 0 rgba(255,255,255,.35); }
.home-archive-film-gate-inner { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:5px; flex-shrink:0; padding:4px 0; box-sizing:border-box; background:linear-gradient(180deg,#fff8fb 0%,#fceaf2 52%,#fadbed 100%); box-shadow:inset 0 0 0 1px rgba(199,120,156,.18),inset 0 1px 0 rgba(255,255,255,.75); }
.home-archive-slide-track { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:flex-start; gap:0; width:max-content; animation:home-archive-marquee 26s linear infinite; }
.home-archive-slide-track:hover { animation-play-state:paused; }
.home-archive-slide { flex:0 0 auto; width:46px; height:46px; margin:0; padding:0; overflow:hidden; background:#f3dbe8; border:1px solid rgba(199,120,156,.32); border-radius:2px; box-sizing:border-box; box-shadow:inset 0 1px 0 rgba(255,255,255,.55); }
.home-archive-slide-img { display:block; width:100%; height:100%; margin:0; padding:0; border:none; vertical-align:bottom; object-fit:cover; background:#f3dbe8; }
@keyframes home-archive-marquee {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
@keyframes home-release-sub-star-twinkle {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.18); }
}
@media (prefers-reduced-motion:reduce) {
  .home-archive-slide-track { animation:none; }
  .home-archive-film-gate-clip { overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
  .home-main-cards-wrap .home-album-trio-row .home-album-trio-cell {
    animation:none !important;
    opacity:1 !important;
  }
  .home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-jacket {
    animation:none !important;
    opacity:1 !important;
  }
  .home-main-cards-wrap .home-release-card > .home-card-body,
  .home-main-cards-wrap .home-album-card > .home-card-body,
  .home-main-cards-wrap .home-release-card .home-release-title-stack,
  .home-main-cards-wrap .home-album-divider,
  .home-main-cards-wrap .home-archive-band,
  .home-main-cards-wrap .home-release-card .home-release-cover,
  .home-main-cards-wrap .home-archive-aino-ph,
  .home-main-cards-wrap .home-archive-slide-img,
  .home-main-cards-wrap .home-head-char,
  .home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-title-cell {
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .home-main-cards-wrap .home-release-sub-text::before,
  .home-main-cards-wrap .home-release-sub-text::after {
    animation:none !important;
    transform:scale(1) !important;
  }
  .home-album-trio-row .home-album-trio-cell { transition:none !important; }
  .home-main-cards-wrap .home-album-trio-row .home-album-trio-cell:hover { transform:none !important; }
  .home-main-cards-wrap .home-album-card .home-archive-slide { transition:none !important; }
  .home-main-cards-wrap .home-album-card .home-archive-slide:hover { transform:none !important; }
  .home-main-cards-wrap .home-archive-single-jacket { transition:none !important; }
  .home-main-cards-wrap .home-archive-single-jacket--left:hover,
  .home-main-cards-wrap .home-archive-single-jacket--right:hover { transform:none; z-index:4; }
  .home-main-cards-wrap .home-release-card .home-card-body > a:first-of-type { transition:none !important; }
  .home-main-cards-wrap .home-release-card .home-card-body > a:first-of-type:hover,
  .home-main-cards-wrap .home-release-card .home-card-body > a:first-of-type:focus-visible { transform:none !important; }
}
.home-card-body { flex:1; min-width:0; background:var(--home-card-paper); border:1px solid #d5d5d5; border-top:none; border-radius:0 0 15px 15px; padding:16px; text-align:center; container-type:inline-size; container-name:home-release; }
.home-card-body.home-card-body-album { padding:4px 12px 0; }
.home-album-card > .home-card-body.home-card-body-album { display:flex; flex-direction:column; align-items:stretch; min-height:0; overflow:visible; }
.home-album-card .home-album-divider { margin:-2px 0 5px; line-height:1.38; font-size:clamp(15px,5.2cqw,19px); letter-spacing:0.05em; font-weight:900; }
.home-album-detail-wrap { margin-top:auto; align-self:stretch; width:auto; min-width:0; margin-left:-12px; margin-right:-12px; margin-bottom:0; flex-shrink:0; }
.home-release-date-band,.home-album-detail-band { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; padding:5px 10px; margin:0; width:100%; max-width:100%; box-sizing:border-box; background:linear-gradient(180deg,#fff8fb 0%,#fceaf2 55%,#fadbed 100%); border:none; border-top:2px solid #c7789c; border-radius:0 0 15px 15px; box-shadow:inset 0 1px 0 rgba(255,255,255,.7); overflow:hidden; min-height:44px; }
.home-album-detail-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; color:#2f2829 !important; font-weight:900; font-size:clamp(15px,5.4cqw,20px); text-decoration:none; letter-spacing:0.02em; line-height:1.28; font-feature-settings:"palt" 1; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; transition:opacity .15s ease,color .15s ease; }
.home-album-detail-link:hover { opacity:.9; color:var(--topimg-soft) !important; }
.home-album-detail-chev { display:inline-block; color:#d4a03d; font-weight:900; font-size:1.05em; line-height:1; transform:translateY(-1px); }
.home-release-card > .home-card-body { display:flex; flex-direction:column; align-items:center; overflow:hidden; min-height:0; }
.home-release-card .home-card-body > a:first-of-type { display:inline-block; vertical-align:top; flex-shrink:0; transition:transform .22s ease; }
.home-release-cover { display:block; width:auto; max-width:min(100%,318px); max-height:clamp(248px,62cqw,310px); height:auto; margin:0 auto 2px; vertical-align:bottom; border:1px solid rgba(212,160,61,.25); box-shadow:0 4px 14px rgba(120,80,40,.12); flex-shrink:0; object-fit:contain; }
.home-release-sub-wrap { margin:1px 0 2px; padding:0 8px; width:100%; max-width:100%; flex-shrink:0; text-align:center; }
.home-release-sub { position:relative; display:flex; justify-content:center; align-items:center; margin:0; padding:2px 4px 2px; font-size:clamp(18px,6.2cqw,25px); font-weight:900; color:#c7789c; letter-spacing:0.12em; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; line-height:1.35; text-align:center; background:none; border:none; border-radius:0; box-shadow:none; }
.home-release-sub-text { display:inline-flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:0 11px; white-space:nowrap; position:relative; padding:0 1px; font-weight:900; font-size:1.08em; color:var(--topimg-accent,#c7789c); }
.home-release-sub-text::before,.home-release-sub-text::after { content:"\2605"; flex-shrink:0; margin:0; background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#e8b820 !important; -webkit-text-fill-color:#e8b820; paint-order:normal; -webkit-text-stroke:0 transparent; font-size:clamp(22px,7.2cqw,34px); font-weight:900; vertical-align:middle; opacity:1; display:inline-block; line-height:1; transform-origin:center center; text-shadow:0 0 11px rgba(255,240,195,.75),0 1px 0 rgba(255,255,255,.55); filter:drop-shadow(0 0 6px rgba(255,225,145,.55)); animation:home-release-sub-star-twinkle 1.85s ease-in-out infinite; }
.home-release-sub-text::after { animation-delay:.38s; }
.home-release-title-stack { margin:2px 0 8px; padding:6px 4px 8px; text-align:center; border:none; background:none; box-shadow:none; flex-shrink:0; }
.home-release-title { margin:0; padding:0; font-weight:800; color:var(--topimg-soft); line-height:1.2; letter-spacing:0.02em; word-break:keep-all; overflow-wrap:break-word; text-wrap:balance; }
.home-release-title a { color:inherit !important; text-decoration:none; transition:transform .15s ease,opacity .2s; display:inline-block; }
.home-release-title a:hover { opacity:.92; transform:scale(1.02); }
.home-release-title.home-release-title-en { color:var(--topimg-dark); text-wrap:unset; word-break:normal; overflow-wrap:normal; }
.home-release-title-en { font-family:"Fredoka One","Segoe UI","Arial Rounded MT Bold",Tahoma,sans-serif; font-weight:400; font-size:clamp(17px,9cqw,25px); letter-spacing:0.032em; text-transform:uppercase; margin:0 0 8px; padding:0 4px; border:none; line-height:1.12; text-shadow:0 1px 0 var(--topimg-title-en-shadow); -webkit-font-smoothing:antialiased; text-wrap:unset; }
.home-release-title-en-line1,
.home-release-title-en-line2 { white-space:nowrap; display:inline-block; }
.home-release-title-en a { max-width:100%; }
.home-release-title-ja { font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-weight:900; font-size:clamp(13px,6.2cqw,19px); color:var(--topimg-soft); letter-spacing:0.06em; line-height:1.38; margin:0; white-space:normal; text-wrap:balance; text-shadow:0 1px 0 rgba(255,255,255,.55); }
.home-release-date-main { font-size:clamp(18px,7cqw,26px); font-weight:900; color:#2f2829; letter-spacing:.02em; font-feature-settings:"palt" 1; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; white-space:nowrap; flex-shrink:0; line-height:1.2; }
.home-release-date-main .home-release-date-part-num { font-size:1.22em; font-weight:900; letter-spacing:.025em; }
.home-release-date-main .home-release-date-part-unit { font-size:.62em; font-weight:800; letter-spacing:.12em; color:#4a3f41; opacity:.92; vertical-align:.14em; }
.home-release-date-via { font-size:clamp(15px,5.2cqw,18px); color:#3d3537; letter-spacing:.03em; font-family:"Zen Maru Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-weight:800; white-space:nowrap; flex-shrink:0; line-height:1.22; }
.home-release-date-sep { display:none; }
.home-release-date-line.home-release-date-line--slash .home-release-date-sep { display:inline; flex-shrink:0; padding:0 6px; }
.home-release-date-line { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 12px; max-width:100%; min-width:0; box-sizing:border-box; }
.home-release-date-wrap { margin-top:auto; align-self:stretch; width:auto; min-width:0; margin-left:-16px; margin-right:-16px; margin-bottom:-16px; flex-shrink:0; }
/* オリジナルアルバム3枚：扇配置ではなく横並び（カード幅に合わせて拡大） */
.home-album-trio-row { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:center; gap:clamp(8px,2.6cqw,14px); width:100%; max-width:min(100%,392px); margin:0 auto 4px; padding:3px 4px 1px; box-sizing:border-box; }
.home-album-trio-row .home-album-trio-cell { position:relative; flex:0 0 auto; width:clamp(92px,28cqw,104px); height:clamp(92px,28cqw,104px); margin:0; padding:0; box-sizing:border-box; transition:transform .22s ease,box-shadow .22s ease; border:1px solid rgba(199,120,156,.22); border-radius:0; overflow:hidden; background:#ececec; box-shadow:0 3px 11px rgba(0,0,0,.12); }
.home-main-cards-wrap .home-album-trio-row .home-album-trio-cell:hover { transform:scale(1.08); z-index:4; box-shadow:0 5px 16px rgba(0,0,0,.16); }
.home-album-trio-row .home-album-trio-cell:has(.home-album-fan-cover) { background:transparent; }
.home-album-trio-row .home-album-fan-cover { display:block; width:100%; height:100%; margin:0; padding:0; border:none; vertical-align:bottom; object-fit:cover; }
.home-archive-single-pair-wrap { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:center; align-items:center; gap:clamp(2px,1cqw,5px); width:100%; max-width:min(100%,392px); margin:0 auto; padding:0 2px; box-sizing:border-box; overflow:visible; }
/* カラムはレイアウト上フラット化し、ジャケット・タイトルを1行に並べる（画像テキスト画像テキスト） */
.home-archive-single-column { display:contents; box-sizing:border-box; }
.home-archive-single-column .home-archive-single-jacket { position:relative; left:auto; bottom:auto; width:80px; height:80px; flex-shrink:0; margin:0; padding:0; box-sizing:border-box; transition:transform .22s ease,box-shadow .22s ease; border:1px solid rgba(199,120,156,.22); overflow:hidden; background:transparent; z-index:4; transform:none; box-shadow:0 3px 11px rgba(0,0,0,.14); }
.home-archive-single-jacket--left,
.home-archive-single-jacket--right { transform:none; z-index:4; box-shadow:0 3px 11px rgba(0,0,0,.14); }
.home-archive-single-jacket a { display:block; width:100%; height:100%; line-height:0; }
.home-archive-single-jacket .home-album-fan-cover { display:block; width:100%; height:100%; margin:0; padding:0; border:none; vertical-align:bottom; object-fit:cover; }
.home-main-cards-wrap .home-archive-single-jacket--left:hover,
.home-main-cards-wrap .home-archive-single-jacket--right:hover { transform:scale(1.06); z-index:6; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.home-archive-single-column .home-archive-single-title-cell { flex:0 1 auto; min-width:0; width:auto; max-width:none; margin:0; padding:0; text-align:center; font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-weight:900; font-size:clamp(10px,3.5cqw,13px); line-height:1.28; color:#c7789c; letter-spacing:0.02em; word-break:keep-all; overflow-wrap:break-word; overflow:visible; box-sizing:border-box; }
.home-archive-single-title-main { display:block; }
.home-archive-single-title-sub { display:inline; font-size:.72em; font-weight:700; letter-spacing:0.04em; line-height:inherit; color:#d894b3; opacity:.96; margin-top:0; }
.home-album-card .home-archive-slide { transition:transform .26s ease; }
.home-album-card .home-archive-slide:hover { overflow:visible; transform:scale(1.58); position:relative; z-index:8; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.home-ph-square { flex-shrink:0; width:72px; height:72px; background:#ececec; border:1px solid #ddd; }
/* リリース情報カード：テキスト余白を詰めて発売日まで表示 */
.home-release-card .home-card-body { padding:10px 12px 0; }
.home-release-card .home-release-cover { margin:0 auto 1px; }
.home-release-card .home-card-body > a:first-of-type:hover,
.home-release-card .home-card-body > a:first-of-type:focus-visible { transform:scale(1.06); }
.home-release-card .home-release-sub-wrap { margin:2px 0 2px; padding:0 8px; }
.home-release-card .home-release-sub { padding:2px 4px 1px; line-height:1.35; }
.home-release-card .home-release-sub-text { gap:0 8px; }
.home-release-card .home-release-title-stack { margin:0 0 6px; padding:4px 3px 6px; }
.home-release-card .home-release-title-en { margin:0 0 6px; line-height:1.08; }
.home-release-card .home-release-title-ja { line-height:1.34; }
.home-release-card .home-release-date-wrap { margin-left:-12px; margin-right:-12px; margin-bottom:0; margin-top:auto; flex-shrink:0; }
.home-release-card .home-release-date-line { gap:0 8px; flex-wrap:nowrap; justify-content:center; min-width:0; }
.home-release-card .home-release-date-main { font-size:clamp(18px,7cqw,26px); letter-spacing:.03em; transform:translateY(-3px); }
.home-release-card .home-release-date-via { font-size:clamp(15px,5.2cqw,18px); letter-spacing:.03em; }
@container home-release (max-width:280px) {
  .home-release-card .home-release-date-main { font-size:clamp(16px,6.2cqw,24px); letter-spacing:.025em; transform:translateY(-3px); }
  .home-release-card .home-release-date-via { font-size:clamp(13px,4.6cqw,17px); letter-spacing:.022em; }
}

/* --- メインボックス：初回ロード演出 --- */
@keyframes home-load-body-in {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes home-load-title-in {
  from { opacity:0; transform:translateY(16px) scale(0.97); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes home-load-img-in {
  from { opacity:0; transform:scale(0.94); }
  to { opacity:1; transform:scale(1); }
}
@keyframes home-load-soft-in {
  from { opacity:0; }
  to { opacity:1; }
}
.home-main-cards-wrap .home-release-card > .home-card-body {
  opacity:0;
  animation:home-load-body-in .52s ease-out .26s forwards;
}
.home-main-cards-wrap .home-album-card > .home-card-body {
  opacity:0;
  animation:home-load-body-in .52s ease-out .34s forwards;
}
.home-main-cards-wrap .home-release-card .home-release-title-stack {
  opacity:0;
  animation:home-load-title-in .68s cubic-bezier(.22,1,.36,1) .72s both;
}
.home-main-cards-wrap .home-album-divider {
  opacity:0;
  animation:home-load-title-in .68s cubic-bezier(.22,1,.36,1) .76s both;
}
.home-main-cards-wrap .home-archive-band {
  opacity:0;
  animation:home-load-title-in .62s cubic-bezier(.22,1,.36,1) .78s both;
}
.home-main-cards-wrap .home-release-card .home-release-cover {
  opacity:0;
  animation:home-load-img-in .72s cubic-bezier(.22,1,.36,1) .88s both;
}
.home-main-cards-wrap .home-album-trio-row .home-album-trio-cell {
  opacity:0;
  animation:home-load-soft-in .55s ease-out .82s both;
}
.home-main-cards-wrap .home-archive-aino-ph {
  opacity:0;
  animation:home-load-img-in .65s cubic-bezier(.22,1,.36,1) .92s both;
}
.home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-jacket {
  opacity:0;
  animation:home-load-soft-in .55s ease-out both;
}
.home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-jacket--left { animation-delay:.82s; }
.home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-jacket--right { animation-delay:.9s; }
.home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-title-cell {
  opacity:0;
  animation:home-load-title-in .58s cubic-bezier(.22,1,.36,1) .96s both;
}
.home-main-cards-wrap .home-archive-single-pair-wrap .home-archive-single-column:last-child .home-archive-single-title-cell { animation-delay:1s; }
.home-main-cards-wrap .home-archive-slide-img {
  opacity:0;
  animation:home-load-img-in .62s cubic-bezier(.22,1,.36,1) .98s both;
}
