/** Shopify CDN: Minification failed

Line 199:29 Unexpected "@media"
Line 204:12 Expected ":"

**/
/* ---- yj-base.css から、トップで使う分だけ（試作用の .info などと名前がぶつかるので base は読まない） ---- */
:root {
  --wall: #e2eaec; --floor: #fbf6db; --ink: #303235; --ink2: #5d5a52;
  --teal: #84b8b3; --teal-d: #3d6f6a; --orange: #e0914c; --lime: #d6f26b; --pink: #eb9c9d; --yellow: #ffd96d; --wine: #8e3b3b;
  --line: 2.4px;
  --display: "Fraunces", "IBM Plex Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  --ui: "IBM Plex Sans JP", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;
  --beat: 833ms; --bar: 1666ms;   /* 72 BPM */
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--wall); color: var(--ink); }
body { font: 500 16px/1.7 var(--ui); -webkit-font-smoothing: antialiased; font-feature-settings: "palt"; overflow-x: hidden; }
/* 横スクロールを絶対に起こさない（iOS は body だけだと効かないので html にも。clip は sticky を壊さない） */
html, body { overflow-x: hidden; max-width: 100%; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
img { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.display { font-family: var(--display); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; letter-spacing: -.025em; line-height: 1.02; text-wrap: balance; }
.ja { font-family: var(--ui); font-weight: 600; letter-spacing: .02em; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
.btn3d {
  --edge: 5px; --bg: var(--lime); --fg: var(--ink);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 24px; margin-bottom: var(--edge);
  border: var(--line) solid var(--ink); border-radius: 14px; background: var(--bg); color: var(--fg) !important;
  box-shadow: 0 var(--edge) 0 var(--ink); font: 600 15px/1 var(--ui); letter-spacing: .01em; text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .14s cubic-bezier(.3, .7, .4, 1), box-shadow .14s cubic-bezier(.3, .7, .4, 1), background-color .2s;
}
.btn3d:hover { transform: translateY(-2px); box-shadow: 0 calc(var(--edge) + 2px) 0 var(--ink); }
.btn3d:active { transform: translateY(var(--edge)); box-shadow: 0 0 0 var(--ink); transition-duration: .06s; }
.btn3d:focus-visible { outline: var(--line) solid var(--ink); outline-offset: 5px; }
.btn3d--ghost { --bg: var(--floor); }
.foot { background: var(--floor); border-top: var(--line) solid var(--ink); padding: 40px 0 120px; font-family: var(--ui); }
.foot .wrap { max-width: 1120px; margin: 0 auto; padding: 0 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.foot__logo { width: 200px; height: auto; }
.foot__links { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; }
.foot__links a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; padding-bottom: 2px; transition: background-size .3s; }
.foot__links a:hover { background-size: 100% 1px; }
.foot__note { flex-basis: 100%; margin: 8px 0 0; font-size: 12px; color: var(--ink2); }
@media (max-width: 1080px) { .foot .wrap { padding: 0 20px; } }

/* Yawaraka Jazz トップ: FV（yj-room.css）の下に T シャツ 2 種類の入口。床の色の上に、額のような 2 枚 */
body.yj-home { background: var(--floor); }
.nav__lang { color: var(--ink2) !important; }
.goods { position: relative; background: var(--floor); padding: 56px 0 140px; }
.goods__wrap { max-width: 1160px; margin: 0 auto; padding: 0 40px; }
.goods__h { margin: 0; font-family: var(--display); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; font-size: clamp(36px, 4vw, 52px); letter-spacing: -.025em; line-height: 1.05; }
.goods__h.ja-h { font-family: var(--ui); font-size: 30px; letter-spacing: .04em; line-height: 1.4; }
.goods__lead { margin: 14px 0 36px; max-width: 34em; font-size: 15px; line-height: 1.8; color: var(--ink2); }
.goods__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.good { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px 20px; color: var(--ink); text-decoration: none; }
.good__img { grid-column: 1 / -1; display: block; aspect-ratio: 1; overflow: hidden; border: 1.6px solid var(--ink); border-radius: 18px; background: #fff; box-shadow: 0 6px 0 rgba(48, 50, 53, .12); transition: transform .2s cubic-bezier(.3, .7, .4, 1); }
.good__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
.good:hover .good__img { transform: translateY(-3px); }
.good:hover .good__img img { transform: scale(1.03); }
.good__txt { display: grid; gap: 4px; }
.good__name { font-family: var(--display); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; font-size: 28px; letter-spacing: -.02em; line-height: 1.1; }
.good__sub { font-size: 13px; color: var(--ink2); }
.good__price { font-size: 17px; font-variant-numeric: tabular-nums; }
.good__cta { height: 46px; padding: 0 20px; font-size: 14px; }
.goods__pick { margin: 28px 0 0; font-size: 14px; color: var(--ink2); }
.yj-home .foot { padding-bottom: 140px; }
img { -webkit-user-drag: none; -webkit-touch-callout: none; user-select: none; }
@media (max-width: 1080px) {
  .goods { padding: 52px 0 150px; }
  .goods__wrap { padding: 0 20px; }
  .goods__h.ja-h { font-size: 24px; }
  .goods__list { grid-template-columns: 1fr; gap: 36px; }
  .good__name { font-size: 24px; }
}
.good__cta { width: 46px; padding: 0; font-size: 18px; }
/* 実写の一覧（Room Tee のシーン写真）。PC は 5 枚を 1 行、SP は 2 列 */
/* 右上の YouTube は商品ページと同じ小さな丸い札に */
.nav .nav__yt { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px 0 12px; border: 2.4px solid var(--ink); border-radius: 999px; background: var(--floor); background-size: 0 !important; }
.nav .nav__yt svg { width: 18px; height: 18px; fill: var(--wine); }
/* ---------- 商品カード（色・生地・実写が一目で） ---------- */
.goods__list { gap: 40px; }
.good { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; align-content: start; gap: 0; }
.good__img { position: relative; display: block; aspect-ratio: 1; overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
.good__img::before { content: ""; position: absolute; inset: 0; z-index: 1; border: 1.6px solid var(--ink); border-radius: 18px; background: #fff; box-shadow: 0 6px 0 rgba(48, 50, 53, .12); }
.good__photo { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; border-radius: 18px; padding: 1.6px; opacity: 0; transition: opacity .35s ease, transform .5s cubic-bezier(.2, .7, .3, 1); }
.good__photo.is-on { opacity: 1; }
.good__photo:not([src]) { display: none; }
.good--ls .good__photo { object-fit: contain; }
.good:hover .good__img { transform: none; }
.good__body { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 10px 16px; padding: 22px 2px 0; }
.good__name { font-family: var(--display); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; font-size: 30px; letter-spacing: -.02em; line-height: 1.1; text-decoration: none; color: var(--ink); }
.good__price { font-size: 18px; font-variant-numeric: tabular-nums; justify-self: end; }
.good__chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.good__chips li { padding: 5px 10px 4px; border: 1.6px solid var(--ink); border-radius: 999px; background: var(--wall); font-size: 12px; line-height: 1.2; }
.good__colors { grid-column: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; padding-top: 6px; }
.good__count { margin-left: 6px; font-size: 12px; color: var(--ink2); }
.good__cta { grid-column: 2; align-self: end; width: 52px; height: 46px; padding: 0; font-size: 18px; }
/* 色の丸: 商品ページの丸と同じ、手描きのいびつな輪 */
.gsw { width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; }
.gsw i { display: block; width: 100%; height: 100%; background: var(--c); border: 2px solid var(--ink); border-radius: 46% 54% 52% 48% / 52% 46% 54% 48%; transition: transform .18s cubic-bezier(.3, .7, .4, 1), box-shadow .18s; }
.gsw:nth-child(3n) i { border-radius: 54% 46% 48% 52% / 46% 54% 48% 52%; } .gsw:nth-child(3n+1) i { border-radius: 50% 50% 44% 56% / 56% 44% 52% 48%; }
.gsw:hover i, .gsw[aria-checked="true"] i { transform: translateY(-3px); box-shadow: 0 3px 0 var(--ink); }
.gsw:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 50%; }
/* 画面に入ったら丸が左から順にぽんと出る */
.good .gsw, .good .good__chips li { opacity: 0; transform: scale(.4); }
.good.is-in .gsw { animation: gsw-in 520ms cubic-bezier(.3, 1.6, .5, 1) calc(240ms + var(--n) * 38ms) both; }
.good.is-in .good__chips li { animation: gsw-in 520ms cubic-bezier(.3, 1.6, .5, 1) calc(120ms + var(--i, 0) * 60ms) both; }
.good.is-in .good__chips li:nth-child(2) { animation-delay: 180ms; } .good.is-in .good__chips li:nth-child(3) { animation-delay: 240ms; } .good.is-in .good__chips li:nth-child(4) { animation-delay: 300ms; }
@keyframes gsw-in { from { opacity: 0; transform: scale(.4) translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 1080px) {
  .good__name { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) { .good .gsw, .good .good__chips li { opacity: 1; transform: none; animation: none !important; } }
.yj-home .foot .wrap { max-width: 1160px; }
/* 半袖は製品写真（平置き）を表紙に */
.good--tee .good__photo { object-fit: contain; }
/* 実写の組写真: 大きい 1 枚＋小さい 4 枚（PC は 4 列×2 段、SP は大 1 枚＋2 列） */
/* ---------- カードの角の小物（部屋の絵）。いちばん手前で、入ってきたら落ちて弾み、そのあと目で分かる幅で揺れ続ける ---------- */
.deco { position: absolute; z-index: 4; pointer-events: none; opacity: 0; }
.deco img { display: block; width: 100%; height: auto; }
.deco--tr { right: -3%; top: 0; transform-origin: 50% 0; }
.good__media { position: relative; }
.deco--bl { left: -3%; bottom: -3%; transform-origin: 50% 100%; }
.deco--record { width: 15%; }
.deco--plant { width: 34%; top: -9%; right: -6%; }
.deco--clock { width: 20%; top: -5%; right: -3%; }
.deco--phones { width: 26%; }
.good.is-in .deco { animation: deco-drop 700ms cubic-bezier(.3, 1.5, .5, 1) 300ms both; }
.good.is-in .deco--bl { animation-delay: 480ms; }
.good.is-in .deco--plant img { animation: deco-sway 3332ms ease-in-out 1100ms infinite; transform-origin: 50% 0; }
.good.is-in .deco--record img { animation: deco-rock 1666ms ease-in-out 1100ms infinite; transform-origin: 50% 100%; }
.good.is-in .deco--clock img { animation: deco-swing 1666ms ease-in-out 1100ms infinite; transform-origin: 50% 0; }
.good.is-in .deco--phones img { animation: deco-bob 1666ms ease-in-out 1100ms infinite; transform-origin: 50% 100%; }
@keyframes deco-drop { 0% { opacity: 0; transform: translateY(-40px) rotate(-6deg); } 60% { opacity: 1; transform: translateY(4px) rotate(1deg); } 100% { opacity: 1; transform: none; } }
@keyframes deco-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes deco-rock { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(5deg); } }
@keyframes deco-swing { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
@keyframes deco-bob { 0%, 100% { transform: translateY(0) scale(1, 1); } 40% { transform: translateY(-8px) scale(.97, 1.03); } 70% { transform: translateY(0) scale(1.03, .97); } }
@media (prefers-reduced-motion: reduce) { .deco { opacity: 1; animation: none !important; } .deco img { animation: none !important; } }
/* SP: FV を低くして、最初の画面で商品カードの頭が見えるように（下の選曲帯 104px ＋カード約 150px） */
@media (max-width: 1080px) {
  .yj-home .room { height: calc(100svh - 270px); min-height: 440px; }
  .goods { padding-top: 22px; }
}
/* SP: 下の選曲帯は最初から床の色を敷く（FV の下に商品カードが覗くので、文字が写真に重ならないように） */
@media (max-width: 1080px) { .yj-home .band { background: var(--floor); border-top: 1px solid rgba(48, 50, 53, .12); } }
/* SP のフッター: リンクは折り返して横に並べる（1 語ずつ縦に潰れないように） */
@media (max-width: 1080px) {
  .yj-home .foot { padding: 32px 0 150px; }
  .yj-home .foot__logo { width: 160px; }
  .foot__links { flex-wrap: wrap; gap: 10px 18px; }
  .foot__links li { white-space: nowrap; }
}
@media (max-width: 1080px) { .goods { padding-bottom: 64px; } }

/* SP: 半袖カード右上のビカクシダは FV の部屋のビカクシダと重なって見えるので出さない */
@media (max-width: 1080px) { .deco--plant { display: none; } }
/* PC の選曲帯: 案内とレコードのボタンをひとまとまりで左右中央に（部屋の絵と同じ中心） */
@media (min-width: 1081px) { .yj-home .band__pick { justify-content: center; } }
@media (max-width: 1080px) { .yj-home .room { overflow: hidden; } @supports (overflow: clip) { .yj-home .room { overflow: clip; } } }
/* iPhone に自動再生を止められたとき: 再生ボタンを光らせて「タップで再生」（player.js が #player に .needs-tap） */
#player.needs-tap .ctl.pp { background: var(--lime); color: var(--ink); animation: yjTap 1.1s ease-in-out infinite; }
#player.needs-tap .ctl.pp .spin { display: none; }
#player.needs-tap .ctl.pp .i-play { display: block; }
#player.needs-tap .ctl.pp .i-pause { display: none; }
#player.needs-tap .ctl.pp::after { content: attr(data-hint); position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); padding: 4px 8px; border-radius: 4px; background: var(--ink); color: var(--floor); font-size: 11px; line-height: 1.3; white-space: nowrap; pointer-events: none; }
@keyframes yjTap { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { #player.needs-tap .ctl.pp { animation: none; } }

/* ---- 部屋で撮った写真: 元の見た目（枠線・角丸・すき間）のまま画面幅いっぱいに。左半分に大 1、右半分に 2×2 ---- */
.shots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 72px; padding: 0 24px; }
.shot { display: block; aspect-ratio: 1; overflow: hidden; border: 1.6px solid var(--ink); border-radius: 14px; background: var(--wall); }
.shot img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
@media (hover: hover) { .shot:hover img { transform: scale(1.04); } }
.shot--big { grid-column: span 2; grid-row: span 2; border-radius: 18px; }
@media (max-width: 1080px) { .shots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 48px; padding: 0 16px; } .shot--big { grid-column: 1 / -1; grid-row: auto; } }
/* 半袖カードの日本版への入口（日本・東アジアだけ） */
.good__alt { display: inline-flex; align-items: center; gap: 6px; justify-self: start; margin: 2px 0 0; font-size: 12.5px; color: #3d6f6a; text-decoration: underline; text-underline-offset: 3px; }
.good__alt::after { content: "→"; text-decoration: none; transition: transform .2s; }
.good__alt:hover::after { transform: translateX(3px); }
/* スマホでも言語は切り替えられるように（試作の「狭い画面はナビを隠す」から言語だけ戻す）。ロゴと並ぶよう YouTube はアイコンだけ */
@media (max-width: 600px) {
  .nav > a.nav__lang { display: inline; }
  .nav .nav__yt { gap: 0; width: 44px; padding: 0; justify-content: center; font-size: 0; }
}
.good__note { margin: 0; font-size: 12px; color: var(--ink2, #5b5e63); }

/* ---- 10/25 夜: 価格の注記・部屋の下の一言・写真の拡大・コンパクトなヘッダー ---- */
.good__plus { grid-column: 1 / -1; justify-self: end; margin-top: -6px; text-align: right; font-size: 11.5px; line-height: 1.45; font-weight: 500; color: var(--ink2, #5b5e63); letter-spacing: 0; }
.good__alt { grid-column: 1 / -1; }
.goods__intro { max-width: 620px; margin: 0 auto 44px; padding: 0 20px; text-align: center; }
.goods__title { margin: 0 0 12px; font-size: 48px; line-height: 1.05; letter-spacing: -.01em; }
.goods__lede { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ink2, #5b5e63); }
.shot { padding: 0; font: inherit; color: inherit; cursor: zoom-in; }
/* ヘッダー: ロゴの下に「Official Merch Store」。少しでもスクロールしたら帯ごと低く、ロゴも小さく */
.logo, .nav, html.is-compact @media (max-width: 1080px) {
  .goods__intro { margin-bottom: 28px; }
  .goods__title { font-size: 34px; }
  .goods__lede { font-size: 14px; }
  .good__plus { font-size: 11px; }
        html.is-compact   }

/* 日本語の改行: 手で区切った塊（.nw）は割らない。それ以外の本文は文節で折る（対応ブラウザ） */
.nw { display: inline-block; }
html:lang(ja) .goods__lede, html:lang(ja) .real__sub, html:lang(ja) .good__plus { word-break: auto-phrase; }
.is-br { word-break: keep-all; overflow-wrap: anywhere; }
/* ギャラリーの最後の 1 枚＝本物の部屋（横長）。左下に「This room is real.」 */
.shot--wide { position: relative; grid-column: 1 / -1; aspect-ratio: 16 / 7; border-radius: 18px; }
.shot--wide img { object-position: 50% 55%; }
.shot__cap { position: absolute; left: 22px; bottom: 16px; padding: 6px 14px 8px; border: 1.6px solid var(--ink); border-radius: 999px; background: var(--floor); color: var(--ink); font-size: 22px; line-height: 1; pointer-events: none; }
@media (max-width: 1080px) { .shot--wide { aspect-ratio: 16 / 10; border-radius: 14px; } .shot__cap { left: 12px; bottom: 10px; font-size: 16px; padding: 5px 11px 6px; } }
/* 「Wear the room.」の上の小さな実写（ポラロイドのように少し傾けて） */
.intro__photo { display: block; width: 132px; margin: 0 auto 18px; padding: 5px 5px 14px; border: 1.6px solid var(--ink); border-radius: 6px; background: #fff; box-shadow: 0 3px 0 var(--ink); transform: rotate(-3deg); cursor: zoom-in; transition: transform .3s cubic-bezier(.3, 1.4, .5, 1); }
.intro__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 2px; }
.intro__photo:hover { transform: rotate(0deg) scale(1.06); }
.intro__photo:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 1080px) { .intro__photo { width: 108px; margin-bottom: 14px; } }
/* スクロールに合わせて: 見出しの上の写真はだんだん大きく、ギャラリー最後の写真は寄り→引き（--s / --z は下の script） */
.intro__photo { transform: rotate(-3deg) scale(var(--s, 1)); transform-origin: 50% 100%; }
.intro__photo:hover { transform: rotate(0deg) scale(calc(var(--s, 1) * 1.06)); }
.shot--wide img { transform: scale(var(--z, 1)); transition: none; }
@media (hover: hover) { .shot--wide:hover img { transform: scale(var(--z, 1)); } }
/* 選曲の帯: 少しでもスクロールしたら床色を敷く（部屋を過ぎる前でも、下の商品と重ならないように） */
.band { transition: background-color .3s ease, border-color .3s ease; }
html.is-compact .band { background: var(--floor); border-top: 1px solid rgba(48, 50, 53, .12); }

/* お届け先の切り替え（snippets/yj-shipto.liquid）: 1 本の線で囲んだ平たい 1 つの形。透明の select を全体にかぶせる */
.shipto { position: relative; display: inline-flex; align-items: center; gap: 8px; max-width: 100%; margin-top: 14px; padding: 8px 14px; border: 1.6px solid var(--ink); border-radius: 999px; background: transparent; font-size: 13px; line-height: 1.2; white-space: nowrap; }
.shipto:hover { background: rgba(48, 50, 53, .05); }
.shipto:focus-within { outline: 2px solid var(--ink); outline-offset: 2px; }
.shipto__label { flex: none; color: var(--ink2); }
.shipto__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 600; color: var(--ink); }
.shipto__cur { flex: none; font: 500 11px/1 Inter, var(--ui); letter-spacing: .08em; color: var(--ink2); }
.shipto__caret { flex: none; width: 10px; height: 6px; color: var(--ink); }
.shipto__select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }

/* ---- ヘッダー（商品ページと同じ .hdr。トップは部屋の上に重ねるので fixed）。スクロールしたら低く（html.is-compact） ---- */
.hdr { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 72px; padding: 0 40px; background: color-mix(in srgb, var(--wall) 88%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: height .3s cubic-bezier(.3, .7, .3, 1); }
.hdr--home { position: fixed; left: 0; right: 0; }
.hdr__logo { display: flex; flex-direction: column; gap: 6px; }
.hdr__tag { font: 500 10px/1 Inter, system-ui, sans-serif; letter-spacing: .26em; text-transform: uppercase; color: var(--ink2); white-space: nowrap; transition: font-size .3s; }
.hdr .logo { position: relative; left: auto; top: auto; z-index: auto; width: 210px; height: auto; aspect-ratio: 278 / 35; transition: width .3s cubic-bezier(.3, .7, .3, 1); }
.hdr__nav { display: flex; align-items: center; gap: 22px; font: 600 14px/1 var(--ui); letter-spacing: .02em; }
.hdr__nav a { color: var(--ink); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; padding-bottom: 3px; transition: background-size .3s ease; }
.hdr__nav a:hover { background-size: 100% 1px; }
.hdr__nav .lang, .hdr__nav .cartlink { color: var(--ink2); white-space: nowrap; }
.hdr__nav .pill { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px 0 12px; border: var(--line) solid var(--ink); border-radius: 999px; background: var(--floor); color: var(--ink); }
.hdr__nav .pill:hover { background-size: 0; }
.hdr__nav .pill svg { width: 18px; height: 18px; }
html.is-compact .hdr { height: 56px; }
html.is-compact .hdr .logo { width: 156px; }
html.is-compact .hdr__tag { font-size: 8.5px; }
@media (max-width: 1080px) {
  .hdr { height: 60px; padding: 0 20px; }
  .hdr .logo { width: 150px; }
  .hdr__tag { font-size: 8px; letter-spacing: .22em; }
  .hdr__nav { gap: 14px; font-size: 13px; }
  .hdr__nav .txt:not(.lang) { display: none; }
  html.is-compact .hdr { height: 50px; }
  html.is-compact .hdr .logo { width: 124px; }
  html.is-compact .hdr__tag { font-size: 7.5px; }
}
@media (max-width: 600px) { .hdr__logo { flex: none; } .hdr__nav .pill { gap: 0; width: 40px; padding: 0; justify-content: center; font-size: 0; } }
/* ヘッダーの背景はスクロールを始めてから塗る（一番上では透明） */
.hdr { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; transition: height .3s cubic-bezier(.3, .7, .3, 1), margin .3s cubic-bezier(.3, .7, .3, 1), background-color .3s ease; }
html.is-compact .hdr { background: color-mix(in srgb, var(--wall) 88%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

/* ---- 鳴っているのに聞こえないとき（player.js）: 消音で鳴っていたら「タップで音を出す」、iPhone の初回だけ音量とマナーモードの案内（数秒で消える） ---- */
#player .snd-on, #player .snd-hint { position: absolute; left: 0; bottom: calc(100% + 16px); z-index: 4; margin: 0; font-size: 12px; line-height: 1.4; letter-spacing: .02em; }
#player .snd-hint { max-width: calc(100vw - 32px); word-break: keep-all; overflow-wrap: anywhere; padding: 5px 9px; border-radius: 4px; background: var(--ink); color: var(--floor); pointer-events: none; animation: yjSndHint 5.5s ease both; }
#player .snd-on { display: none; align-items: center; gap: 6px; padding: 6px 11px 6px 9px; border: 1.5px solid var(--ink); border-radius: 4px; background: var(--lime); color: var(--ink); font-family: inherit; font-weight: 500; cursor: pointer; }
#player .snd-on svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#player.needs-sound .snd-on { display: inline-flex; animation: yjSndIn .35s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes yjSndHint { 0% { opacity: 0; transform: translateY(6px); } 7%, 86% { opacity: 1; transform: none; } 100% { opacity: 0; transform: none; } }
@keyframes yjSndIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes yjSndFade { 0% { opacity: 0; } 7%, 86% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { #player .snd-hint { animation-name: yjSndFade; } #player.needs-sound .snd-on { animation: none; } }

/* 背面プリント版のカード: 名前の下に「背中に大きく」の一行（10/26） */
.good__backnote { grid-column: 1 / -1; margin: -4px 0 0; font-size: 13px; line-height: 1.5; color: var(--ink2); }

/* 背面版カードの小物（左上・右下。10/26） */
.deco--tl { left: -4%; top: -6%; transform-origin: 50% 100%; }
.deco--br { right: -4%; bottom: -4%; transform-origin: 50% 100%; }
.deco--lamp { width: 17%; }
.deco--cup { width: 18%; }
.deco--pedal { width: 20%; top: -10%; }
.deco--speaker { width: 19%; }
.good.is-in .deco--br { animation-delay: 480ms; }
.good.is-in .deco--lamp img { animation: deco-rock 1666ms ease-in-out 1100ms infinite; transform-origin: 50% 100%; }
.good.is-in .deco--cup img { animation: deco-bob 1666ms ease-in-out 1100ms infinite; transform-origin: 50% 100%; }
.good.is-in .deco--pedal img { animation: deco-sway 3332ms ease-in-out 1100ms infinite; transform-origin: 70% 0; }
.good.is-in .deco--speaker img { animation: deco-bob 833ms ease-in-out 1100ms infinite; transform-origin: 50% 100%; }

/* ---- 10/26 公開前点検 ---- */
/* 押せる範囲を見た目を変えずに広げる（#35） */
.hdr__nav .lang, .hdr__nav .cartlink { position: relative; }
.hdr__nav .lang::after, .hdr__nav .cartlink::after { content: ""; position: absolute; inset: -14px -8px; }
/* 英語ページの「日本語」リンクは端末の書体で（#30） */
.hdr__nav .lang[lang="ja"] { font-family: system-ui, -apple-system, "Hiragino Sans", "Yu Gothic UI", sans-serif; }
