/* 書体と見出しの扱いは母体の typography.css に合わせる。
   見出し＝店名と同じ Yuji Syuku の筆文字、ラベルの色＝提灯の朱（琥珀ではない）。 */
:root{--night:#100906;--brown:#28150e;--paper:#f0e5d2;--paper2:#d8c4a6;--red:#d73520;--amber:#e9aa43;--ink:#180d09;--line:rgba(240,229,210,.22);--sans:"Noto Sans JP",sans-serif;--display:"Yuji Syuku","Yu Mincho","Hiragino Mincho ProN",serif;--label:"Oswald",sans-serif;--lantern-type:#ed4328}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;min-width:0;background:var(--night);color:var(--paper);font-family:var(--sans);line-height:1.8}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}button,select{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.demo-banner{position:sticky;top:0;z-index:80;min-height:40px;display:grid;place-items:center;padding:6px 14px;background:var(--red);color:var(--paper);font-size:12px;font-weight:700;text-align:center;line-height:1.5}
.shop-header{height:76px;padding:0 clamp(18px,4vw,60px);display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:var(--night)}.brand{display:block;line-height:1;white-space:nowrap}.brand small{display:block;color:var(--amber);font:500 8px var(--label);letter-spacing:.28em}.brand span{display:block;margin-top:9px;font:400 21px "Yuji Syuku",serif}.shop-header nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.shop-header nav>a:hover,.detail-links a:hover,.shop-footer>a:hover{color:var(--amber)}.cart-indicator{white-space:nowrap}.cart-indicator b{display:inline-grid;place-items:center;margin-left:5px;width:23px;height:23px;border:1px solid var(--line);font:500 12px var(--label)}
.chapter-number,.item-number{color:var(--lantern-type);font:600 11px var(--label);letter-spacing:.17em}
.catalog-wrap,.detail-main{width:min(100% - 48px,1320px);margin-inline:auto}.catalog-section{padding:95px 0 25px}.chapter-head{display:grid;grid-template-columns:minmax(115px,.3fr) minmax(0,1fr) minmax(180px,.4fr);gap:28px;align-items:start;padding-top:18px;margin-bottom:35px;border-top:2px solid var(--paper)}.chapter-head h2{font:400 clamp(38px,5vw,66px)/1.3 var(--display);letter-spacing:-.04em}.chapter-head>p{color:var(--paper2);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-card{min-width:0;display:block;background:var(--brown);transition:background .2s,transform .2s}.product-card:hover{background:#351c11;transform:translateY(-3px)}.product-media{position:relative;aspect-ratio:1;overflow:hidden;background:var(--brown);border:1px solid var(--line)}.product-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:1}.product-media img.is-missing{display:none}.photo-pending{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:var(--paper2);font-size:13px;letter-spacing:.12em}.card-info{min-height:197px;padding:20px 22px 24px;display:flex;flex-direction:column}.card-info h3{margin:10px 0 5px;font:400 clamp(19px,2vw,27px)/1.45 var(--display)}.card-info p{color:var(--paper2);font-size:13px}.card-info strong{display:block;margin-top:auto;padding-top:18px;font:500 25px var(--label)}.card-info strong small,.detail-price small{font:500 12px var(--sans);color:var(--paper2)}
.shipping-note{display:grid;grid-template-columns:220px 1fr;gap:30px;margin:95px 0 120px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.shipping-note h2{font:400 24px var(--display)}.shipping-note p{color:var(--paper2);font-size:14px}
.detail-main{padding-top:26px}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;color:var(--paper2);font-size:12px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,90px);align-items:start;padding:34px 0 90px}.detail-photo .product-media{width:100%}.detail-buy{padding-top:16px}.detail-buy h1{margin:15px 0 20px;font:400 clamp(36px,4vw,63px)/1.3 var(--display);letter-spacing:-.04em}.detail-lead{font-size:19px}.detail-price{margin-top:30px;padding-bottom:24px;border-bottom:1px solid var(--line);font:500 42px var(--label)}.purchase-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-width:430px;margin-top:26px}.selector-label{font-size:12px;font-weight:700}.purchase-controls select{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:var(--brown);color:var(--paper)}.cart-button{width:100%;min-height:58px;margin-top:20px;padding:12px;border:0;border-radius:0;background:var(--red);color:var(--paper);font-weight:700;cursor:pointer}.cart-button:hover{filter:brightness(1.12)}.cart-message{padding:12px 0;color:var(--amber);font-weight:700}.cart-message[hidden]{display:none}.purchase-note{margin-top:18px;color:var(--paper2);font-size:12px}.detail-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(30px,6vw,100px);padding:30px 0 70px;border-bottom:1px solid var(--line)}.detail-text .chapter-head{grid-column:1/-1;grid-template-columns:180px 1fr}.detail-text>p{font-size:16px;line-height:2.15}.detail-text dl{margin:0;border-top:1px solid var(--line)}.detail-text dl div{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-text dt{color:var(--amber);font-weight:700}.detail-text dd{margin:0}.detail-text .cool-note{grid-column:2;margin-top:25px;color:var(--paper2);font-size:13px}.detail-links{display:flex;justify-content:space-between;gap:20px;padding:27px 0;font-size:13px;font-weight:700}.related{padding:75px 0 115px}.related .chapter-head{grid-template-columns:180px 1fr}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.shop-footer{display:flex;align-items:end;gap:30px;padding:55px max(24px,6vw) 85px;border-top:1px solid var(--line);background:#090503;color:var(--paper2);font-size:12px}.shop-footer p{margin-left:auto}
@media(max-width:820px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-head{grid-template-columns:110px 1fr}.chapter-head>p{grid-column:2}.detail-layout{gap:28px}.detail-buy h1{font-size:clamp(30px,4vw,48px)}.detail-text{display:block}.detail-text dl{margin-top:32px}.detail-text .cool-note{margin-top:24px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html{scroll-padding-top:110px}.demo-banner{font-size:11px}.shop-header{height:68px;padding:0 18px;gap:8px}.brand span{font-size:17px}.shop-header nav{gap:10px;font-size:10px}.cart-indicator b{width:21px;height:21px}.catalog-wrap,.detail-main{width:calc(100% - 36px)}.catalog-section{padding-top:66px}.chapter-head,.detail-text .chapter-head,.related .chapter-head{grid-template-columns:1fr;gap:7px;margin-bottom:24px}.chapter-head>p{grid-column:auto}.chapter-head h2{font-size:39px}.product-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-grid .product-card:last-child{display:block}.card-info{min-height:0;padding:13px 13px 17px}.card-info .item-number{font-size:9px;letter-spacing:.1em}.card-info h3{margin:7px 0 4px;font-size:17px;line-height:1.5}.card-info p{font-size:11px;line-height:1.7}.card-info strong{padding-top:11px;font-size:19px}.card-info strong small,.detail-price small{font-size:10px}.shipping-note{display:block;margin:70px 0 85px}.shipping-note p{margin-top:14px}.detail-layout{grid-template-columns:1fr;gap:22px;padding:25px 0 65px}.detail-buy{padding-top:0}.detail-buy h1{font-size:clamp(34px,9vw,48px)}.detail-price{font-size:38px}.purchase-controls{max-width:none}.detail-text{padding-bottom:55px}.detail-text>p{font-size:15px}.detail-links{font-size:12px}.related{padding:60px 0 85px}.shop-footer{display:block;padding:48px 24px 85px}.shop-footer p{margin:22px 0}.shop-footer>a:last-child{display:inline-block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}
/* カートと購入手続きは、既存の色と書体を引き継ぐ。 */
.flow-heading h1,.checkout-section h2,.checkout-section legend{font-family:var(--display);font-weight:400}
.external-sale{display:block;margin-top:auto;padding-top:18px;color:var(--paper);font-size:15px;font-weight:700}.external-sale small{display:block;color:var(--paper2);font-size:11px;font-weight:400}
.flow-main{width:min(100% - 48px,1000px);margin:0 auto;padding:26px 0 120px}.flow-heading{margin-top:40px}.flow-heading h1{font-size:clamp(38px,5vw,66px);line-height:1.3}.empty-cart{padding:45px 0;border-top:1px solid var(--line)}.empty-cart a{display:inline-block;margin-top:20px;border-bottom:1px solid var(--amber);font-weight:700}.cart-table{border-top:1px solid var(--line)}.cart-row{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(100px,1fr));gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cart-labels{color:var(--paper2);font-size:12px}.cart-product{display:flex;flex-direction:column;align-items:start;gap:4px}.text-button{padding:0;border:0;background:none;color:var(--paper2);text-decoration:underline;cursor:pointer;font-size:12px}.cart-quantity{font-size:0}.cart-quantity input{width:78px;min-height:48px;padding:8px;border:1px solid var(--line);border-radius:0;background:var(--brown);color:var(--paper);font:inherit;font-size:16px}.total-lines{max-width:480px;margin:30px 0 30px auto}.total-lines>div,.order-items li{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.total-lines .grand-total{margin-top:9px;padding-top:18px;border-top:1px solid var(--line);font-size:20px}.flow-note{color:var(--paper2);font-size:12px}.flow-button{display:block;max-width:480px;margin-left:auto;text-align:center}.checkout-section{margin:0 0 46px;padding:26px 0 0;border:0;border-top:1px solid var(--line)}.checkout-section h2,.checkout-section legend{font-size:30px}.checkout-section legend{padding-right:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.form-grid label{display:grid;gap:8px;font-size:13px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input{width:100%;min-width:0;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:0;background:var(--brown);color:var(--paper);font:inherit;font-size:16px}.payment-options{display:flex;flex-wrap:wrap;gap:12px 28px;margin:20px 0}.payment-options label{display:flex;align-items:center;gap:8px;min-height:48px}.payment-options input{width:20px;height:20px;accent-color:var(--red)}.order-items{margin:15px 0;padding:0;list-style:none}.order-items li{border-bottom:1px solid var(--line)}#checkout-form>.cart-button{max-width:480px;margin-left:auto}#checkout-message{max-width:480px;margin-left:auto}input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
@media(max-width:600px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-main{width:calc(100% - 36px);padding-bottom:85px}.cart-labels{display:none}.cart-row{grid-template-columns:1fr 1fr;gap:8px}.cart-product{grid-column:1/-1}.cart-row [data-label]::before{content:attr(data-label) ' ';display:block;color:var(--paper2);font-size:11px}.cart-quantity{font-size:11px}.cart-quantity input{display:block;margin-top:4px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.total-lines{max-width:none}.external-sale{font-size:14px}}

.product-grid,.related-grid{gap:clamp(9px,1.6vw,22px)}
.product-card{min-width:0;background:transparent;border-bottom:1px solid var(--line);transition:none}
.product-card:hover{background:transparent;transform:none}
.product-media{border:0;background:var(--brown)}
.product-media img{transition:transform .65s ease;transform-origin:center}
@media(hover:hover){.product-card:hover .product-media img{transform:scale(1.04)}}
.card-info{min-height:0;padding:18px 0 24px}
.card-info h3{margin:10px 0 5px;font:400 clamp(24px,2.25vw,33px)/1.3 var(--display)}
.card-info p{font-size:12px;line-height:1.7;color:var(--paper2)}
.card-info strong{margin-top:auto;padding-top:22px;font:500 clamp(32px,3vw,43px)/1 var(--label);letter-spacing:.02em}
.card-info strong small{font-size:11px;letter-spacing:0}
.external-sale{align-self:flex-start;margin-top:auto;padding:15px 21px 16px;min-height:70px;background:var(--red);color:var(--paper);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));font-weight:700;line-height:1.4}
.external-sale small{margin-top:5px;color:var(--paper);opacity:.78}
.detail-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,5vw,95px);padding-top:40px}
.detail-photo .product-media{aspect-ratio:1}
.detail-buy{padding-top:28px}
.detail-buy h1{font-size:clamp(48px,4.8vw,74px)}
.purchase-panel{margin-top:34px;padding:28px clamp(24px,3vw,48px) 32px;background:var(--brown);border-top:2px solid var(--paper)}
.purchase-panel .detail-price{margin:0 0 25px;padding-bottom:20px;font:500 clamp(48px,5vw,68px)/1 var(--label)}
.purchase-controls{max-width:none;margin-top:0;gap:10px}
.purchase-controls select{height:54px;background:var(--night)}
.purchase-panel .purchase-note{margin-top:22px}
.flow-heading{margin-bottom:44px}
.cart-table{border-top:2px solid var(--paper)}
.cart-row{border-bottom:1px solid var(--line);padding:24px 0}
.cart-product>strong{font-family:var(--display);font-size:23px;font-weight:400}
.total-lines{max-width:550px;margin-top:44px}
.total-lines>div{border-bottom:1px solid var(--line)}
.total-lines .grand-total{align-items:baseline;margin-top:0;padding:21px 0;border-top:2px solid var(--paper);border-bottom:0;font-size:18px}
.grand-total strong{font:500 clamp(38px,4vw,56px)/1 var(--label)}
.form-grid input,.cart-quantity input{min-height:54px;border:1px solid var(--line);background:var(--night)}
.checkout-section{margin-bottom:58px;padding-top:28px}
.order-items{border-top:2px solid var(--paper)}
@media(max-width:820px){.chapter-head{grid-template-columns:100px minmax(0,1fr);gap:10px 24px}.chapter-head>p{grid-column:2}.detail-layout{grid-template-columns:1fr 1fr;gap:28px}}
@media(prefers-reduced-motion:reduce){.product-media img{transition:none}}



/* 送料の節は提灯の写真を薄く敷く */
.shipping-note{position:relative;isolation:isolate}
.shipping-note::before{content:"";position:absolute;inset:-26px -4vw;z-index:-1;background:linear-gradient(90deg,var(--night) 12%,rgba(16,9,6,.72) 62%,rgba(16,9,6,.52) 100%),url('images/bg-yatai-close.webp?v=20260926a') center 45%/cover no-repeat}
.card-spec{display:block;margin-top:8px;color:var(--paper2);font-size:12px}
.frozen-section{padding-bottom:110px}.frozen-section .product-card{opacity:.9}.frozen-section .card-info{min-height:175px}.frozen-section .external-sale{background:var(--brown);border:1px solid var(--line);clip-path:none;font-size:13px;min-height:0}
.at-a-glance{margin-top:18px;color:var(--paper2);font-size:14px}.buy-assurance{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.buy-assurance p{color:var(--paper2);font-size:12px;line-height:1.7;margin:8px 0}.buy-assurance strong{color:var(--paper)}.checkout-intro{color:var(--paper2);font-size:14px;margin-bottom:26px}
@media(max-width:820px){}
@media(max-width:600px){.card-spec{font-size:10px;line-height:1.5}.frozen-section .external-sale{font-size:11px}.at-a-glance{font-size:13px}.buy-assurance p{font-size:11px}}
.checkout-section{margin-bottom:22px;padding-top:16px}.checkout-section h2{font-size:25px}.form-grid{gap:12px;margin-top:14px}.form-grid label{gap:4px}.form-grid input{min-height:44px}.order-items{margin:9px 0}.order-items li{padding:6px 0}.checkout-section .total-lines{margin-top:12px;margin-bottom:16px}.checkout-section .grand-total{padding:12px 0}.flow-heading{margin-bottom:20px}
@media(max-width:600px){.flow-main{padding-top:14px}.flow-heading{margin-top:18px}.flow-heading h1{font-size:37px}.checkout-intro{margin-bottom:15px;font-size:12px}.checkout-section{margin-bottom:16px;padding-top:12px}.checkout-section h2{font-size:22px}.form-grid{gap:8px}.form-grid label{font-size:11px}.form-grid input{min-height:42px}.order-items li{font-size:12px}.checkout-section .grand-total strong{font-size:35px}}


/* 狭い画面では見出しの keep-all を解く。母体は広い画面前提で、そのまま持ち込むと
   「使うほど、あの屋台が近くなる。」のような一文が折り返せず、横スクロールが出る。 */
@media(max-width:600px){
  .chapter-head{grid-template-columns:minmax(0,1fr)}
}


/* 写真は6枚とも揃っているので「商品写真準備中」の文字は出さない。
   遅延読み込みの一瞬だけ見えて、商品が準備中だと誤解されるため。
   （画像が本当に落ちたときは is-missing で背景色が残る） */
.photo-pending{font-size:0}
.catalog-page .catalog-section{padding:35px 0 0}
.catalog-page .catalog-title{margin:0 0 16px;font:400 clamp(28px,3vw,38px)/1.3 var(--display)}
.catalog-page .catalog-intro{margin:-5px 0 15px;color:var(--paper2);font-size:13px;line-height:1.65}
.catalog-page .product-grid{gap:12px}
.catalog-page .card-info{min-height:0;padding:10px 0 16px}
.catalog-page .card-info h3{margin:0 0 3px;font:400 clamp(20px,2vw,26px)/1.3 var(--display)}
.catalog-page .card-info p{font-size:12px;line-height:1.5}
.catalog-page .card-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-page .card-info strong{margin-top:6px;padding:0;font:500 28px/1.25 var(--label)}
.catalog-page .card-spec{margin-top:6px}
.catalog-page .external-sale{align-self:auto;min-height:0;margin-top:8px;padding:0;background:none;border:0;clip-path:none;color:var(--paper);font-size:12px;line-height:1.4}
.catalog-page .frozen-section .product-card{opacity:1}
.catalog-page .frozen-section .card-info{min-height:0}
.catalog-page .frozen-section .external-sale{min-height:0;background:none;border:0;padding:0;font-size:12px}
.catalog-shipping{margin:36px 0 55px;padding-top:15px;border-top:1px solid var(--line);color:var(--paper2);font-size:12px;line-height:1.7}
@media(max-width:600px){
 .catalog-page .catalog-section{padding-top:22px}
 .catalog-page .catalog-title{margin-bottom:10px;font-size:27px}
 .catalog-page .catalog-intro{font-size:11px}
 .catalog-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .catalog-page .card-info{padding:8px 0 12px}
 .catalog-page .card-info h3{font-size:17px}
 .catalog-page .card-info p{font-size:10px}
 .catalog-page .card-info strong{font-size:22px}
 .catalog-page .card-spec{margin-top:4px;font-size:10px}
 .catalog-page .external-sale,.catalog-page .frozen-section .external-sale{font-size:10px}
 .catalog-shipping{margin:28px 0 35px;font-size:11px}
}


/* FV は削減前の形に戻す（山田 2026-09-26「fvは前の方が良い」）。商品一覧は今のまま。 */
.shop-hero h1,.chapter-head h2,.card-info h3,.detail-buy h1,.shipping-note h2,.brand span{font-family:var(--display);font-weight:400;font-feature-settings:"palt" 1,"pkna" 1;letter-spacing:.008em;line-break:strict;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}
.eyebrow,.chapter-number,.item-number,.detail-text dt,.brand small{color:var(--lantern-type)}
.shop-hero{min-height:455px;padding:75px max(24px,6vw);display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px;align-items:center;background:radial-gradient(circle at 78% 50%,rgba(215,53,32,.17),transparent 35%),var(--night)}
.hero-inner{max-width:760px}
.eyebrow,.chapter-number,.item-number{color:var(--amber);font:600 11px var(--label);letter-spacing:.17em}
.shop-hero h1{margin:22px 0 28px;font:400 clamp(48px,6vw,88px)/1.22 var(--display);letter-spacing:-.05em}
.hero-note{max-width:570px;color:var(--paper2);font-size:15px}
.hero-jump{display:inline-block;margin-top:28px;padding-bottom:5px;border-bottom:1px solid var(--amber);font-size:13px;font-weight:700}
.hero-stamp{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--line);transform:rotate(7deg);color:var(--amber)}
.hero-stamp span{font:600 11px var(--label);letter-spacing:.18em}
.hero-stamp b{font:400 110px/1 "Yuji Syuku",serif}
.shop-hero{min-height:390px;grid-template-columns:1fr}
.hero-stamp{display:none}
.shop-hero{min-height:0;padding:40px 24px 44px}
.shop-hero h1{margin:14px 0 18px;font-size:clamp(38px,10vw,50px)}
.hero-note{font-size:13px}
.hero-jump{margin-top:20px}
/* 母体の章立て、写真、罫線のリズムをショップにも通す。 */
.shop-hero{min-height:460px;position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) auto;background:linear-gradient(90deg,var(--night) 0%,rgba(16,9,6,.82) 42%,rgba(16,9,6,.32) 100%),linear-gradient(0deg,var(--night),transparent 48%),url('images/bg-yatai-night.webp?v=20260926a') center 55%/cover no-repeat}
.hero-inner,.hero-stamp{position:relative;z-index:1}
.shop-hero h1{max-width:850px;text-shadow:0 3px 28px var(--night)}
.hero-note{color:var(--paper);text-shadow:0 2px 14px var(--night)}
.hero-stamp{width:170px;border-color:var(--paper);color:var(--paper);background:var(--night)}
.shop-hero{height:45svh;min-height:340px;max-height:430px;display:flex;align-items:center;padding:28px 18px 30px;background-position:center,center,58% center}
.shop-hero h1{margin:10px 0 12px;font-size:clamp(38px,10vw,48px)}
.hero-note{font-size:12px;line-height:1.65}
.hero-jump{margin-top:12px;font-size:12px}
/* 購買導線: 屋台の記憶 → 道具 → 贈り方 → 宅麺。既存の色・書体のみ使用。 */
.shop-hero{min-height:600px;display:flex;align-items:center;position:relative;overflow:hidden;isolation:isolate;padding:78px max(24px,6vw);background:var(--night)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 49%;z-index:-2}
.shop-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,var(--night) 20%,transparent 90%),linear-gradient(0deg,var(--night),transparent 35%);opacity:.9;z-index:-1}
.hero-inner{max-width:610px}
.shop-hero h1{margin:20px 0;font-size:clamp(52px,6.2vw,92px);line-height:1.2}
.hero-note{max-width:500px;font-size:16px;line-height:1.9}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-actions a{display:inline-grid;place-items:center;min-height:54px;padding:10px 22px;font-weight:700;font-size:14px}
.hero-primary{background:var(--red)}
.hero-secondary{border:1px solid var(--paper)}
.shop-hero{min-height:620px}
.hero-photo{object-position:70% 48%}
.shop-hero::after{background:linear-gradient(0deg,var(--night) 0%,transparent 100%)}
.shop-hero{height:auto;min-height:620px;max-height:none;align-items:flex-end;padding:190px 18px 42px}
.hero-photo{object-position:73% 46%}
.shop-hero::after{background:linear-gradient(0deg,var(--night) 1%,var(--night) 17%,transparent 85%)}
.shop-hero h1{font-size:clamp(42px,12vw,55px);margin:12px 0}
.hero-note{font-size:13px;line-height:1.8}
.hero-actions{margin-top:20px;gap:8px}
.hero-actions a{min-height:48px;padding:8px 12px;font-size:12px}
.shop-hero h1,.chapter-head h2,.card-info h3,.detail-buy h1,.shipping-note h2{word-break:normal;overflow-wrap:break-word}

/* 一覧のカード内で、商品リンクと購入操作を独立させる。 */
.catalog-page .catalog-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.catalog-page .catalog-card .product-card{border:0}
.catalog-page .catalog-card .product-card h3{margin:10px 0 3px;font:400 clamp(20px,2vw,26px)/1.3 var(--display);font-feature-settings:"palt" 1,"pkna" 1;overflow-wrap:anywhere}
.catalog-page .catalog-card .card-info{flex:1;display:flex;flex-direction:column;padding:0 0 16px}
.catalog-page .catalog-card .card-info strong{margin-top:8px}
.catalog-page .card-actions{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.catalog-page .card-action{min-width:0;min-height:44px;flex:1;display:grid;place-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--paper);font:700 12px/1.35 var(--sans);text-align:center;cursor:pointer}
.catalog-page .card-action-primary{border-color:var(--red);background:var(--red)}
.catalog-page .card-action-external{flex:0 1 auto;justify-self:start}
.catalog-page .card-action:hover{filter:brightness(1.15)}
.catalog-page .card-action:focus-visible,.catalog-page .catalog-card .product-card:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.catalog-page .catalog-cart-message{margin-top:8px;color:var(--paper);font-size:12px;font-weight:700}
.catalog-page .catalog-cart-message[hidden]{display:none}
@media(max-width:600px){
 .catalog-page .catalog-card .product-card h3{font-size:17px}
 .catalog-page .card-actions{flex-direction:column;gap:6px;padding-top:10px}
 .catalog-page .card-action{width:100%;flex:auto;font-size:11px;padding:6px 4px}
 .catalog-page .card-action-external{font-size:10px}
}
