#kasane-osechi{--kos-yellow:#fedc00;--kos-ink:#222;--kos-gray:#f5f5f2;--kos-line:#d9d9d4;--kos-muted:#686868;box-sizing:border-box;width:100%;max-width:none;margin:0;color:var(--kos-ink);background:#fff;font-family:inherit;font-size:16px;line-height:1.85;letter-spacing:.025em;overflow:hidden}
#kasane-osechi *,#kasane-osechi *:before,#kasane-osechi *:after{box-sizing:border-box}
#kasane-osechi h1,#kasane-osechi h2,#kasane-osechi h3,#kasane-osechi p{font-family:inherit;margin-top:0}
#kasane-osechi h2{font-size:clamp(26px,3.1vw,40px);line-height:1.45;letter-spacing:.015em;font-weight:750;margin-bottom:20px}
#kasane-osechi h3{font-weight:750}
#kasane-osechi a{color:inherit;text-decoration:none}
#kasane-osechi button,#kasane-osechi input,#kasane-osechi select,#kasane-osechi textarea{font-family:inherit;font-size:inherit}
#kasane-osechi button{cursor:pointer}
#kasane-osechi button:focus-visible,#kasane-osechi a:focus-visible,#kasane-osechi input:focus-visible,#kasane-osechi select:focus-visible,#kasane-osechi textarea:focus-visible{outline:3px solid #377bcc;outline-offset:3px}
#kasane-osechi .kos-container{width:min(calc(100% - 64px),1180px);margin:auto}
#kasane-osechi .kos-breadcrumb{width:min(calc(100% - 64px),1180px);margin:auto;padding:20px 0;font-size:12px;color:#666;display:flex;gap:12px}
#kasane-osechi .kos-breadcrumb a{text-decoration:underline}
#kasane-osechi .kos-hero{display:grid;grid-template-columns:56% 44%;min-height:0;background:#f3f3f1}
#kasane-osechi .kos-hero-copy{padding:clamp(23px,2.8vw,38px) clamp(24px,3.6vw,56px);align-self:center;min-width:0}
#kasane-osechi .kos-overline{font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:19px}
#kasane-osechi .kos-line{display:block;width:42px;height:4px;background:var(--kos-yellow);margin-bottom:12px}
#kasane-osechi .kos-hero h1{font-size:clamp(30px,3vw,43px);line-height:1.29;font-weight:800;letter-spacing:-.025em;margin:0 0 12px}
#kasane-osechi .kos-lead{font-size:clamp(16px,1.3vw,19px);font-weight:750;line-height:1.48;margin-bottom:9px}
#kasane-osechi .kos-hero-copy>p:not(.kos-lead):not(.kos-overline):not(.kos-small):not(.kos-hero-brand):not(.kos-hero-keywords){font-size:13.5px;line-height:1.65;max-width:590px;margin-bottom:10px;color:#454545}
#kasane-osechi .kos-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 10px}
#kasane-osechi .kos-small{font-size:13px;line-height:1.7}
#kasane-osechi .kos-muted{color:var(--kos-muted)}
#kasane-osechi .kos-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 24px;min-height:55px;font-size:15px;font-weight:800;border-radius:5px;border:2px solid transparent;line-height:1.5;transition:filter .15s,transform .15s;text-align:center;max-width:100%;background:none}
#kasane-osechi .kos-btn:hover{filter:brightness(.94);transform:translateY(-1px)}
#kasane-osechi .kos-btn-yellow{background:var(--kos-yellow);border-color:var(--kos-yellow);color:#202020!important}
#kasane-osechi .kos-btn-light{background:#fff;border-color:#deded9}
#kasane-osechi .kos-btn-outline{background:#fff;border-color:#222;color:#222!important}
#kasane-osechi .kos-full{width:100%}
#kasane-osechi .kos-hero-actions .kos-btn{padding:9px 13px;min-height:42px;font-size:13px;gap:5px}
#kasane-osechi .kos-hero-copy>.kos-small{font-size:11.5px;line-height:1.5;margin:0}
#kasane-osechi .kos-hero-img{position:relative;min-height:0;align-self:stretch;background:#292522;overflow:hidden}
#kasane-osechi .kos-hero-img img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center center}
#kasane-osechi .kos-hero-img>span{position:absolute;bottom:13px;right:13px;background:#fffdf0d9;color:#333;padding:3px 8px;font-size:10px}
#kasane-osechi .kos-mini-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#222;color:#fff;padding:24px max(24px,calc((100vw - 1180px)/2));gap:13px;margin-top:24px}
#kasane-osechi .kos-mini-strip>div{border-left:2px solid var(--kos-yellow);padding-left:14px;font-size:14px;display:flex;flex-direction:column}
#kasane-osechi .kos-mini-strip b{color:var(--kos-yellow);font-size:12px;letter-spacing:.15em}
#kasane-osechi .kos-section{padding:clamp(64px,7vw,108px) 0}
#kasane-osechi .kos-headrow{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:30px}
#kasane-osechi .kos-headrow h2{margin-bottom:8px}
#kasane-osechi .kos-headrow p{margin:0;color:#555}
#kasane-osechi .kos-count{flex-shrink:0;font-size:25px;font-weight:850}
#kasane-osechi .kos-count span{font-size:12px;font-weight:500;color:#777}
#kasane-osechi .kos-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#kasane-osechi .kos-item{border:1px solid #dcdcd7;background:#fff;min-width:0;display:flex;flex-direction:column;transition:box-shadow .2s}
#kasane-osechi .kos-item.is-selected{box-shadow:0 0 0 3px #e7bd00}
#kasane-osechi .kos-item-visual{height:225px;background:#f1f0ed;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
#kasane-osechi .kos-item-visual img{display:block;width:100%;height:100%;object-fit:cover}
#kasane-osechi .kos-imgcaption{position:absolute;bottom:8px;right:8px;color:#777;font-size:11px}
#kasane-osechi .kos-boxart{position:relative;width:180px;height:125px;transform:rotate(-7deg)}
#kasane-osechi .kos-boxart-body,#kasane-osechi .kos-boxart-lid,#kasane-osechi .kos-boxart-bottom{display:block;position:absolute;width:146px;left:14px;background:var(--item-color);border:1px solid rgba(0,0,0,.17);box-shadow:9px 10px 12px #0002}
#kasane-osechi .kos-boxart-lid{top:5px;height:69px;transform:skewY(-9deg);border:7px solid #fff3}
#kasane-osechi .kos-boxart-body{top:72px;height:32px;filter:brightness(.7)}
#kasane-osechi .kos-boxart-bottom{top:103px;height:12px;filter:brightness(.48)}
#kasane-osechi .kos-item-body{padding:26px;display:flex;flex:1;flex-direction:column;gap:10px}
#kasane-osechi .kos-item-body h3{margin:0;font-size:23px}
#kasane-osechi .kos-item-body p{margin:0;color:#555;line-height:1.75;font-size:14px}
#kasane-osechi .kos-item-body .kos-small{margin-top:auto;color:#333;font-weight:700}
#kasane-osechi .kos-item-body .kos-btn{width:100%;margin-top:9px;min-height:48px;font-size:14px;padding:10px}

#kasane-osechi .kos-soft{background:var(--kos-gray)}
#kasane-osechi .kos-headlead{max-width:650px;color:#555}
#kasane-osechi .kos-cup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:35px 0 18px}
#kasane-osechi .kos-cup-card{padding:24px 16px;text-align:center;background:#fff;border:1px solid #e2e2df;display:flex;flex-direction:column;gap:2px}
#kasane-osechi .kos-cup-card span{font-size:35px;font-weight:850;letter-spacing:-.04em}
#kasane-osechi .kos-cup-card b{font-size:15px}
#kasane-osechi .kos-cup-card small{font-size:12px;color:#777}
#kasane-osechi .kos-footnote{font-size:12px;color:#666;line-height:1.9;margin:15px 0 0}
#kasane-osechi .kos-order-made{background:#222;color:#fff}
#kasane-osechi .kos-original-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
#kasane-osechi .kos-original-intro h2{font-size:clamp(29px,3.5vw,45px)}
#kasane-osechi .kos-original-intro p:not(.kos-overline){max-width:520px;color:#e4e4e4}
#kasane-osechi .kos-original-intro .kos-btn{margin-top:19px}
#kasane-osechi .kos-original-art{height:330px;background:#363632;position:relative;overflow:hidden}
#kasane-osechi .kos-paper-layer{position:absolute;left:18%;top:18%;width:60%;height:50%;border:12px solid #fff4;box-shadow:15px 17px 0 #0005;transform:rotate(-12deg)}
#kasane-osechi .kos-paper-one{background:#a92828;transform:rotate(-14deg) translate(-14px,-8px)}
#kasane-osechi .kos-paper-two{background:#bda27f;transform:rotate(-3deg) translate(20px,15px)}
#kasane-osechi .kos-paper-three{background:#191919;transform:rotate(7deg) translate(40px,26px)}
#kasane-osechi .kos-label-a,#kasane-osechi .kos-label-b{position:absolute;font-size:11px;letter-spacing:.2em;z-index:2;font-weight:800}
#kasane-osechi .kos-label-a{left:22px;top:16px;color:var(--kos-yellow)}
#kasane-osechi .kos-label-b{bottom:13px;right:15px}
#kasane-osechi .kos-custom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:58px 0 36px}
#kasane-osechi .kos-custom-grid>div{border-top:2px solid #888;padding-top:18px}
#kasane-osechi .kos-custom-grid span{color:var(--kos-yellow);font-size:12px}
#kasane-osechi .kos-custom-grid h3{font-size:18px;margin:12px 0}
#kasane-osechi .kos-custom-grid p{font-size:13px;line-height:1.9;color:#d0d0d0}
#kasane-osechi .kos-original-bottom{background:#343434;padding:23px 26px;border-left:5px solid var(--kos-yellow)}
#kasane-osechi .kos-original-bottom p{font-size:13px;color:#ddd;margin:5px 0 0}
#kasane-osechi .kos-original-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px}
#kasane-osechi .kos-original-cta p{margin:0;font-size:14px}
#kasane-osechi .kos-order-grid{display:grid;grid-template-columns:minmax(240px,.84fr) minmax(0,1.16fr);gap:60px;align-items:start}
#kasane-osechi .kos-order-copy{position:sticky;top:36px}
#kasane-osechi .kos-order-copy p{color:#535353}
#kasane-osechi .kos-steps{display:grid;gap:17px;border-top:1px solid var(--kos-line);border-bottom:1px solid var(--kos-line);padding:25px 0;margin:38px 0}
#kasane-osechi .kos-steps>div{display:flex;gap:16px;align-items:center;font-weight:750;font-size:15px}
#kasane-osechi .kos-steps b{font-size:12px;display:inline-flex;justify-content:center;align-items:center;border-radius:100%;width:30px;height:30px;background:var(--kos-yellow)}
#kasane-osechi .kos-formbox{padding:36px 40px;background:#fafaf8;border:1px solid #d9d9d2}
#kasane-osechi .kos-field-block{border-bottom:1px solid #d8d8d1;padding:0 0 28px;margin-bottom:30px}
#kasane-osechi .kos-form-step{display:inline-block;font-size:11px;letter-spacing:.12em;background:#222;color:#fff;padding:4px 10px;font-weight:800}
#kasane-osechi .kos-field-block h3{font-size:21px;margin:10px 0 18px}
#kasane-osechi .kos-field-block>label{display:block;font-size:14px;font-weight:750;margin:18px 0 8px}
#kasane-osechi .kos-req{font-size:11px;color:#8c2525;background:#fff0ec;padding:2px 7px;margin-left:5px}
#kasane-osechi .kos-choices{display:flex;gap:7px;flex-wrap:wrap}
#kasane-osechi .kos-choices button,#kasane-osechi .kos-preset button{background:#fff;color:#222;border:1px solid #bdbdb8;border-radius:3px;padding:8px 13px;font-size:13px;font-weight:750;min-height:41px}
#kasane-osechi .kos-choices button[aria-pressed="true"],#kasane-osechi .kos-preset button[aria-pressed="true"]{background:#222;color:#fff;border-color:#222;box-shadow:inset 0 -3px 0 var(--kos-yellow)}
#kasane-osechi .kos-preset{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
#kasane-osechi .kos-preset button{min-height:58px;line-height:1.45;padding:7px}
#kasane-osechi .kos-preset button small{font-size:11px;font-weight:500}
#kasane-osechi .kos-input{display:block;width:100%;padding:10px 12px;border:1px solid #c8c8c2;background:#fff;border-radius:3px;color:#202020;font-size:16px;line-height:1.5;min-height:46px}
#kasane-osechi .kos-help{font-size:12px;font-weight:400;line-height:1.7;color:#666;margin:7px 0 10px}
#kasane-osechi .kos-mix[hidden]{display:none}
#kasane-osechi .kos-cup-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
#kasane-osechi .kos-cup-inputs label{font-size:13px;font-weight:700}
#kasane-osechi .kos-cup-inputs input{display:block;margin-top:4px;width:100%;min-height:40px;padding:7px;border:1px solid #bbb}
#kasane-osechi .kos-tray-status{background:#fff;border-left:4px solid var(--kos-yellow);padding:11px 14px;font-size:13px;margin-top:14px;min-height:44px}
#kasane-osechi .kos-tray-status.is-bad{border-left-color:#b72e2e;color:#a02727}
#kasane-osechi .kos-check{display:flex!important;align-items:flex-start;gap:12px;line-height:1.75;font-weight:500!important;font-size:12px!important;margin-top:25px!important}
#kasane-osechi .kos-check input{width:19px;height:19px;margin-top:2px;flex:none;accent-color:#222}
#kasane-osechi .kos-order-summary{background:#fff;border:1px solid #d7d7d1;padding:20px;margin-bottom:18px;font-size:13px}
#kasane-osechi .kos-order-summary b{font-size:16px;display:block;margin-bottom:9px}
#kasane-osechi .kos-order-summary p{margin-bottom:7px}
#kasane-osechi .kos-error{color:#a02727;background:#fff1f1;padding:10px 14px;font-size:13px}
#kasane-osechi .kos-error[hidden],#kasane-osechi .kos-confirm[hidden]{display:none}
#kasane-osechi .kos-confirm{margin-top:20px;border:2px solid #222;background:#fff;padding:23px}
#kasane-osechi .kos-confirm h3{font-size:20px;margin-bottom:5px}
#kasane-osechi .kos-confirm p{font-size:13px}
#kasane-osechi .kos-confirm-body{font-size:13px}
#kasane-osechi .kos-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
#kasane-osechi .kos-confirm-actions .kos-btn{flex:1;min-width:180px}
#kasane-osechi .kos-honey{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
#kasane-osechi .kos-msg{padding:14px;margin-bottom:18px;font-size:13px;border-left:4px solid #777;background:#fff}
#kasane-osechi .kos-msg-demo{border-color:#b19400;background:#fffbdf}
#kasane-osechi .kos-msg-success{border-color:#248444;background:#eef9f0}
#kasane-osechi .kos-msg-error{border-color:#b22d2d;background:#fff0f0}
#kasane-osechi .kos-bottom{background:#282828;color:#fff;padding:75px 0}
#kasane-osechi .kos-bottom .kos-overline{color:#fedc00}
#kasane-osechi .kos-bottom h2{margin-bottom:30px}
#kasane-osechi .kos-bottom .kos-container>div{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1000px){#kasane-osechi .kos-hero{grid-template-columns:1fr 1fr}
#kasane-osechi .kos-hero-copy{padding:27px 26px}
#kasane-osechi .kos-items{gap:13px}
#kasane-osechi .kos-item-body{padding:20px}
#kasane-osechi .kos-order-grid{gap:27px}
#kasane-osechi .kos-formbox{padding:28px}}
@media(max-width:760px){#kasane-osechi .kos-container,#kasane-osechi .kos-breadcrumb{width:calc(100% - 36px)}
#kasane-osechi .kos-hero h1{font-size:clamp(29px,6vw,35px)}
#kasane-osechi .kos-hero-copy>p:not(.kos-lead):not(.kos-overline):not(.kos-small):not(.kos-hero-brand):not(.kos-hero-keywords){font-size:13px;line-height:1.6}
#kasane-osechi .kos-hero{display:flex;flex-direction:column}
#kasane-osechi .kos-hero-copy{padding:24px 20px 20px}
#kasane-osechi .kos-hero-img{min-height:0;height:clamp(165px,53vw,230px);aspect-ratio:auto}
#kasane-osechi .kos-mini-strip{grid-template-columns:repeat(2,1fr);padding:22px 18px;margin-top:18px}
#kasane-osechi .kos-headrow{display:block}
#kasane-osechi .kos-count{margin-top:20px}
#kasane-osechi .kos-items{grid-template-columns:1fr}
#kasane-osechi .kos-item{display:grid;grid-template-columns:38% 62%}
#kasane-osechi .kos-item-visual{height:auto;min-height:210px}
#kasane-osechi .kos-boxart{transform:scale(.7) rotate(-7deg)}
#kasane-osechi .kos-cup-grid{grid-template-columns:repeat(2,1fr)}
#kasane-osechi .kos-original-intro,#kasane-osechi .kos-order-grid{grid-template-columns:1fr}
#kasane-osechi .kos-order-copy{position:static}
#kasane-osechi .kos-custom-grid{grid-template-columns:repeat(2,1fr);gap:20px}
#kasane-osechi .kos-original-cta{display:block}
#kasane-osechi .kos-original-cta .kos-btn{margin-top:15px}}
@media(max-width:470px){#kasane-osechi{font-size:15px}
#kasane-osechi .kos-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#kasane-osechi .kos-hero-actions .kos-btn{width:100%;min-width:0;padding:8px 5px;font-size:12px;letter-spacing:0;gap:4px}
#kasane-osechi .kos-item{display:flex}
#kasane-osechi .kos-item-visual{height:210px}
#kasane-osechi .kos-formbox{padding:20px 16px}
#kasane-osechi .kos-cup-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}
#kasane-osechi .kos-confirm-actions{display:block}
#kasane-osechi .kos-confirm-actions .kos-btn{width:100%;margin:6px 0}
#kasane-osechi .kos-original-art{height:240px}
#kasane-osechi .kos-original-bottom{padding:20px}
#kasane-osechi .kos-bottom .kos-btn{width:100%}
#kasane-osechi .kos-hero-img>span{font-size:8px}}



/* v1.8.4: v1.8.1の幅・文字・写真比率を維持。冒頭の重複ロゴの余白は設けない。 */

/* 税込商品代金の自動計算 */
#kasane-osechi .kos-price-panel{margin:20px 0 28px;padding:23px;border:2px solid #222;background:#fff}
#kasane-osechi .kos-price-panel h3{font-size:20px;margin:0 0 8px}
#kasane-osechi .kos-price-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ededeb;padding:10px 0;font-size:14px}
#kasane-osechi .kos-price-line span:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}
#kasane-osechi .kos-price-grand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 3px;border-top:3px solid var(--kos-yellow);margin-top:15px;font-size:14px}
#kasane-osechi .kos-price-grand strong{font-size:clamp(23px,3vw,32px);white-space:nowrap;font-variant-numeric:tabular-nums}
#kasane-osechi .kos-price-alert{font-size:13px;color:#a02727;background:#fff1f1;padding:9px}
#kasane-osechi .kos-price-alert[hidden]{display:none}
@media(max-width:470px){#kasane-osechi .kos-price-panel{padding:16px}
#kasane-osechi .kos-price-grand{display:block}
#kasane-osechi .kos-price-grand strong{display:block;text-align:right}}

/* v1.2: 実物サンプル写真は商品カード＋注文欄に配置。既存テーマには影響しません。 */
#kasane-osechi .kos-cup-size-caption{font-size:13px;color:#505050;margin-top:20px;font-weight:600}
#kasane-osechi .kos-cup-grid{gap:14px;margin:17px 0 18px}
#kasane-osechi .kos-cup-card{padding:13px 12px 15px;gap:5px}
#kasane-osechi .kos-cup-photo{display:flex;align-items:center;justify-content:center;width:100%;height:130px;background:#fff;border:1px solid #e6e6e2;overflow:hidden;margin-bottom:4px}
#kasane-osechi .kos-cup-photo img{display:block;width:100%;height:100%;max-height:100%;min-height:0;flex:1 1 auto;object-fit:contain;object-position:center}
#kasane-osechi .kos-no-photo{display:grid;place-items:center;text-align:center;font-size:11px;font-weight:650;color:#777;padding:5px}
#kasane-osechi .kos-series-choices button.kos-series-choice{display:inline-flex;align-items:center;gap:8px;min-height:57px;padding:5px 9px}
#kasane-osechi .kos-series-choice img{display:block;width:45px;height:45px;object-fit:contain;background:#f5f5f2;border:1px solid #ddd}
#kasane-osechi .kos-series-swatch{display:inline-block;width:30px;height:30px;border:1px solid #aaa;flex:none}



#kasane-osechi .kos-preset button[aria-pressed="true"] .kos-no-photo{color:inherit}
@media(max-width:760px){#kasane-osechi .kos-cup-photo{height:108px}}
@media(max-width:470px){#kasane-osechi .kos-cup-card{padding:9px}
#kasane-osechi .kos-cup-photo{height:92px}
#kasane-osechi .kos-preset{grid-template-columns:repeat(3,minmax(0,1fr))}
#kasane-osechi .kos-preset-photo{height:49px}}
#kasane-osechi .kos-cup-card .kos-no-photo{font-size:11px;font-weight:650;letter-spacing:0;line-height:1.45;overflow-wrap:anywhere}
#kasane-osechi .kos-item-visual img{object-fit:contain;padding:10px;background:#f3f2ef;box-sizing:border-box}


/* LP文字サイズ調整 v1.2.1 — 既存サイトの控えめな文字階層に合わせてLP内のみ調整。
   元サイトのヘッダー・フッター・フォント、会社ロゴ画像、価格/数量入力欄には影響しません。 */
#kasane-osechi h2{font-size:clamp(24px,2.55vw,34px)}
#kasane-osechi .kos-hero h1{font-size:clamp(30px,3vw,43px);letter-spacing:-.025em;line-height:1.29;margin-bottom:12px}
#kasane-osechi .kos-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.48;margin-bottom:9px}
@media(max-width:760px){#kasane-osechi .kos-hero h1{font-size:clamp(29px,6vw,35px)}}
#kasane-osechi .kos-original-intro h2{font-size:clamp(27px,3.3vw,44px)}
#kasane-osechi .kos-item-body h3{font-size:20px}
#kasane-osechi .kos-count{font-size:21px}
#kasane-osechi .kos-cup-card span{font-size:30px}
#kasane-osechi .kos-custom-grid h3{font-size:17px}
#kasane-osechi .kos-field-block h3{font-size:19px}
#kasane-osechi .kos-price-panel h3{font-size:18px}
/* 金額・数量・選択ボタンの可読性は維持 */

/* サンプル申込・送料込み案内（LPスコープ内のみ） */
#kasane-osechi .kos-sample{background:#fff}
#kasane-osechi .kos-sample-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;margin-bottom:34px}
#kasane-osechi .kos-sample-lead h2{margin:0 0 16px}
#kasane-osechi .kos-sample-benefits{background:#faf8ec;border-top:5px solid var(--kos-yellow);padding:20px 25px;display:grid;gap:13px}
#kasane-osechi .kos-sample-benefits>div{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ddd;padding-bottom:12px;font-size:14px}
#kasane-osechi .kos-sample-benefits>div:last-child{border:0;padding:0}
#kasane-osechi .kos-sample-benefits b{font-size:12px;color:#555}
#kasane-osechi .kos-sample-formbox{background:#fafaf8;border:1px solid #d9d9d2;padding:30px;max-width:940px}
#kasane-osechi .kos-sample-formtitle{margin-bottom:20px}
#kasane-osechi .kos-sample-formtitle h3{font-size:22px;margin:3px 0 10px}
#kasane-osechi .kos-sample-fields,#kasane-osechi .kos-sample-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 19px}
#kasane-osechi .kos-sample-fields label,#kasane-osechi .kos-sample-contact label{font-size:13px;font-weight:700;display:block}
#kasane-osechi .kos-sample-fields .kos-input,#kasane-osechi .kos-sample-contact .kos-input{margin-top:7px}
#kasane-osechi .kos-sample-box-fields{display:contents}
#kasane-osechi .kos-sample-box-fields[hidden],#kasane-osechi .kos-sample-cups[hidden]{display:none!important}
#kasane-osechi .kos-sample-cups{grid-column:1/-1;margin:2px 0;border:1px solid #ccc;padding:15px}
#kasane-osechi .kos-sample-cups legend{font-size:13px;font-weight:750;padding:0 6px}
#kasane-osechi .kos-sample-cup-choice{display:flex;flex-wrap:wrap;gap:8px}
#kasane-osechi .kos-sample-cup-choice label{border:1px solid #bbb;background:white;padding:11px 13px;display:flex;gap:8px;align-items:center}
#kasane-osechi .kos-sample-cup-choice input{accent-color:#222}
#kasane-osechi .kos-sample-wide{grid-column:1/-1}
#kasane-osechi .kos-sample-contact{border-top:1px solid #ddd;margin-top:22px;padding-top:20px}
#kasane-osechi .kos-sample-shipping{border-left:5px solid var(--kos-yellow);background:#fff;padding:14px 19px;margin-top:20px}
#kasane-osechi .kos-sample-shipping strong{display:block;font-size:18px}
#kasane-osechi .kos-sample-shipping p{font-size:13px;margin:8px 0 0}
#kasane-osechi .kos-sample-formbox .kos-full{width:100%;margin-top:15px}
#kasane-osechi .kos-shipping-info{background:#f5f5f2;padding:45px 0}
#kasane-osechi .kos-shipping-info h2{margin:7px 0 20px}
#kasane-osechi .kos-shipping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
#kasane-osechi .kos-shipping-grid>div{background:#fff;padding:22px;border-top:4px solid var(--kos-yellow)}
#kasane-osechi .kos-shipping-grid b{font-size:15px}
#kasane-osechi .kos-shipping-grid p{font-size:13px;line-height:1.8;margin:10px 0 0}
#kasane-osechi .kos-sample-confirm-price{font-weight:800;font-size:18px}
#kasane-osechi .kos-sample-formbox .kos-confirm{margin-top:20px}
#kasane-osechi .kos-sample-lead .kos-footnote strong{font-weight:800}
#kasane-osechi .kos-sample [hidden]{display:none!important}
@media(max-width:760px){#kasane-osechi .kos-sample-lead,#kasane-osechi .kos-shipping-grid{grid-template-columns:1fr}
#kasane-osechi .kos-sample-formbox{padding:22px}}
@media(max-width:520px){#kasane-osechi .kos-sample-fields,#kasane-osechi .kos-sample-contact{grid-template-columns:1fr}
#kasane-osechi .kos-sample-formbox{padding:18px}
#kasane-osechi .kos-sample-box-fields{display:contents}}

/* 小鉢はすべて0個スタート。写真と個数欄を常時表示する */
#kasane-osechi .kos-cup-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#kasane-osechi .kos-cup-entry{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:10px;border:1px solid #ddd;background:#fafaf8;font-size:13px;min-width:0}
#kasane-osechi .kos-cup-entry .kos-preset-photo{height:70px;width:100%;margin:0 0 3px}
#kasane-osechi .kos-cup-entry strong{font-size:15px}
#kasane-osechi .kos-cup-entry>span:not(.kos-preset-photo){font-size:11px;font-weight:500;color:#555}
#kasane-osechi .kos-cup-entry input{font-size:17px;text-align:center;font-weight:750}

/* 1段目・2段目・3段目それぞれの独立した小鉢指定 */
#kasane-osechi .kos-tier-cup{border:1px solid #d4d4cf;background:#fff;margin:16px 0;padding:14px}
#kasane-osechi .kos-tier-cup[hidden]{display:none!important}
#kasane-osechi .kos-tier-cup-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:3px solid var(--kos-yellow);padding-bottom:10px;margin-bottom:13px}
#kasane-osechi .kos-tier-cup-heading strong{font-size:17px}
#kasane-osechi .kos-tier-cup-heading small{font-size:11px;color:#555}
#kasane-osechi .kos-cup-unit{font-size:12px!important;color:#333!important;font-weight:700!important;background:#fffae7;padding:4px 5px;min-height:27px}
#kasane-osechi .kos-cup-totals{padding:15px;border:1px solid #d4d4cf;background:#fff;margin:17px 0}
#kasane-osechi .kos-cup-totals h4{font-size:16px;margin:0 0 5px}
#kasane-osechi .kos-cup-total-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e4e4df;font-size:13px}
#kasane-osechi .kos-cup-total-row strong{font-variant-numeric:tabular-nums}
#kasane-osechi .kos-cup-total-row:last-child{border-bottom:0}
#kasane-osechi .kos-price-subheading{font-size:13px;font-weight:800;margin:16px 0 4px}
@media(max-width:470px){#kasane-osechi .kos-tier-cup{padding:10px}
#kasane-osechi .kos-tier-cup-heading{display:block}
#kasane-osechi .kos-tier-cup-heading small{display:block;margin-top:4px}}

/* サンプル小鉢：4種類の個数を0から自由入力。金額や購入側の入力欄には影響させない */
#kasane-osechi .kos-sample-cup-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#kasane-osechi .kos-sample-cup-choice label{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:12px;min-width:0}
#kasane-osechi .kos-sample-qty-control{display:flex;gap:6px;align-items:center;justify-content:center}
#kasane-osechi .kos-sample-qty-control input{min-width:0;width:100%;max-width:92px;font-size:17px;font-weight:700;text-align:center;margin:0;padding:9px 5px}
#kasane-osechi .kos-sample-cup-total{font-weight:750;margin:14px 0 4px}
@media(max-width:660px){#kasane-osechi .kos-sample-cup-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* サンプル明細：小鉢の本注文共通単価＋固定送料 */
#kasane-osechi .kos-sample-price-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #ddd;padding:8px 0;align-items:baseline;flex-wrap:wrap}
#kasane-osechi .kos-sample-price-row strong{font-size:14px;font-weight:700}
#kasane-osechi .kos-sample-shipping .kos-sample-price-grand{font-size:19px;font-weight:800;color:#212121;margin:16px 0 8px}

/* 自社LPは定番最大10シリーズ＋その他はネットショップへ。既存テーマには影響させない */
#kasane-osechi .kos-feature-note{margin:24px 0 0;padding:17px 21px;border-left:4px solid var(--kos-yellow);background:#f7f7f4;color:#444;font-size:13px;line-height:1.8}
#kasane-osechi .kos-shop-section{background:#f3f3ef;padding:52px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
#kasane-osechi .kos-shop-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
#kasane-osechi .kos-shop-section h2{margin:8px 0 18px}
#kasane-osechi .kos-shop-section p{line-height:1.85;margin:0}
#kasane-osechi .kos-shop-caption{font-size:12px;color:#666;margin-top:12px!important}
#kasane-osechi .kos-shop-links{background:#fff;padding:26px;border-top:5px solid var(--kos-yellow);display:grid;gap:11px;align-content:center}
#kasane-osechi .kos-shop-links>strong{font-size:16px;margin-bottom:8px}
#kasane-osechi .kos-shop-links .kos-btn{text-align:center;min-width:0;width:100%;box-sizing:border-box}
#kasane-osechi .kos-shop-pending{padding:14px;background:#f8f8f4;border:1px solid #ddd;font-size:13px;color:#555}
@media(max-width:760px){#kasane-osechi .kos-shop-grid{grid-template-columns:1fr;gap:22px}
#kasane-osechi .kos-shop-section{padding:42px 0}
#kasane-osechi .kos-shop-links{padding:22px}}

/* 売り切れの表示と操作停止。LP以外のテーマ・パーツには影響させない。 */
#kasane-osechi .kos-item-visual .kos-sold-out-badge{position:absolute;z-index:3;top:13px;left:13px;background:#292929;color:#fff;font-size:12px;font-weight:800;padding:4px 13px}
#kasane-osechi .kos-item.is-sold-out .kos-item-visual{filter:grayscale(.55)}
#kasane-osechi .kos-item.is-sold-out .kos-pick,#kasane-osechi button:disabled{cursor:not-allowed!important;opacity:.55;transform:none!important;filter:none!important}
#kasane-osechi .kos-choices button:disabled{background:#f3f3f0;border-color:#bbb;color:#555;box-shadow:none}
#kasane-osechi .kos-cup-card.is-sold-out{outline:2px solid #555;outline-offset:-2px;background:#eee}
#kasane-osechi .kos-cup-card.is-sold-out b:after{content:" · 売り切れ";font-size:12px;color:#802020}
#kasane-osechi .kos-cup-entry.is-sold-out{background:#e9e9e6;color:#555}
#kasane-osechi .kos-cup-entry.is-sold-out input{background:#eee}
#kasane-osechi .kos-sample-cup-choice label.is-sold-out{background:#eee;color:#555}

/* SEO-oriented reference content and accessible FAQ (scoped to this LP). */
#kasane-osechi .kos-hero-keywords{font-size:12px;font-weight:650;line-height:1.5;color:#444;letter-spacing:.01em;margin-top:0;margin-bottom:8px}
#kasane-osechi .kos-spec-section{background:#fafaf8;border-top:1px solid #eee}
#kasane-osechi .kos-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
#kasane-osechi .kos-spec-grid>div{background:#fff;padding:24px;border-top:4px solid var(--kos-yellow);min-width:0;border-left:1px solid #e8e8e5;border-right:1px solid #e8e8e5;border-bottom:1px solid #e8e8e5}
#kasane-osechi .kos-spec-grid h3{font-size:18px;margin-bottom:8px}
#kasane-osechi .kos-spec-grid p{font-size:14px;margin:0 0 10px}
#kasane-osechi .kos-faq-list{border-top:1px solid #d6d6d2;max-width:920px}
#kasane-osechi .kos-faq-list details{border-bottom:1px solid #d6d6d2;padding:0 14px}
#kasane-osechi .kos-faq-list summary{cursor:pointer;padding:19px 0;font-weight:750;font-size:16px;line-height:1.55}
#kasane-osechi .kos-faq-list details>p{padding:0 0 18px;margin:0;color:#4e4e4e;font-size:14px;line-height:1.85}
#kasane-osechi .kos-faq-list summary:focus-visible{outline:3px solid #377bcc;outline-offset:3px}
@media(max-width:760px){#kasane-osechi .kos-spec-grid{grid-template-columns:1fr}#kasane-osechi .kos-spec-grid>div{padding:20px}}

/* v1.8.6: tier-specific real product photos; scoped to this LP only. */
#kasane-osechi .kos-tier-photo-switch{display:flex;justify-content:center;gap:5px;padding:9px 10px 0;background:#fff}
#kasane-osechi .kos-tier-photo-switch button{font:inherit;font-size:12px;line-height:1.3;border:1px solid #cfcfca;border-radius:4px;background:#fff;color:#222;padding:6px 16px;cursor:pointer;min-height:33px}
#kasane-osechi .kos-tier-photo-switch button[aria-pressed="true"]{border-color:#222;background:#222;color:#fff}
#kasane-osechi .kos-photo-caption{margin:7px 8px 0!important;text-align:center;color:#6a6a6a;font-size:11px!important;line-height:1.45!important}
#kasane-osechi .kos-chosen-photo{margin:12px 0;padding:11px;border:1px solid #e0e0dc;background:#fbfbfa;display:flex;align-items:center;gap:15px;max-width:470px}
#kasane-osechi .kos-chosen-photo[hidden]{display:none!important}
#kasane-osechi .kos-chosen-photo img{width:105px;height:95px;object-fit:contain;background:#fff;flex:none}
#kasane-osechi .kos-chosen-photo span{font-size:12px;line-height:1.65;color:#444}
@media(max-width:760px){#kasane-osechi .kos-tier-photo-switch button{padding:6px 13px}}
/* Product photos supplied on white backgrounds: avoid a visible gray square frame. */
#kasane-osechi .kos-item-visual{background:#fff}
#kasane-osechi .kos-item-visual img{background:#fff}

/* v1.8.7: the four standard sizes align regardless of label length. */
#kasane-osechi .kos-size-unit{margin:0 0 12px!important;color:#555;font-size:13px}
#kasane-osechi .kos-size-list{margin:0;display:grid;gap:0;border-top:1px solid #e4e4de}
#kasane-osechi .kos-size-list>div{display:grid;grid-template-columns:minmax(74px,35%) minmax(0,1fr);align-items:baseline;column-gap:12px;padding:11px 0;border-bottom:1px solid #e4e4de}
#kasane-osechi .kos-size-list dt{font-weight:800;white-space:nowrap;font-size:14px}
#kasane-osechi .kos-size-list dd{margin:0;font-size:14px;font-weight:650;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
#kasane-osechi #kos-size-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#kasane-osechi #kos-size-choices button{width:100%;min-width:0;min-height:47px;padding:9px 3px;text-align:center;line-height:1.4;overflow-wrap:anywhere}
#kasane-osechi #kos-size-choices .kos-help{grid-column:1/-1}
@media(max-width:560px){#kasane-osechi #kos-size-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1050px){#kasane-osechi .kos-size-list>div{grid-template-columns:1fr;gap:2px}#kasane-osechi .kos-size-list dd{text-align:left}}
@media(max-width:350px){#kasane-osechi .kos-size-list>div{grid-template-columns:minmax(65px,32%) minmax(0,1fr);gap:6px}#kasane-osechi .kos-size-list dd{font-size:12px}}

/* v1.8.7: gently highlight the link to the wider online catalogue. */
#kasane-osechi .kos-shop-section{background:#fff9e5;border-top:1px solid #ecdcaa;border-bottom:1px solid #ecdcaa}
#kasane-osechi .kos-shop-section .kos-overline{color:#5c4a08;letter-spacing:.18em}
#kasane-osechi .kos-shop-section h2{border-left:5px solid var(--kos-yellow);padding-left:17px;line-height:1.42}
#kasane-osechi .kos-shop-links{border:1px solid #e2d9ae;border-top:5px solid var(--kos-yellow);box-shadow:0 8px 24px rgba(37,31,5,.06)}
#kasane-osechi .kos-shop-links>strong{font-size:17px}
#kasane-osechi .kos-shop-links .kos-btn{min-height:53px}

/* Two-view real-photo gallery. The original exterior remains the default; missing interiors never use substitute photos. */
#kasane-osechi .kos-photo-view-switch{display:flex;justify-content:center;gap:7px;padding:10px 10px 0;background:#fff}
#kasane-osechi .kos-photo-view-switch button{font:inherit;font-size:12px;line-height:1.3;border:1px solid #bdbdb9;border-radius:4px;background:#fff;color:#222;padding:6px 22px;min-height:33px;cursor:pointer}
#kasane-osechi .kos-photo-view-switch button[aria-pressed="true"]{background:#292929;border-color:#292929;color:#fff}
#kasane-osechi .kos-item-visual .kos-interior-pending{font:inherit;font-size:13px;color:#666;text-align:center;line-height:1.7;display:block;padding:20px}
#kasane-osechi .kos-item-visual .kos-interior-pending[hidden]{display:none!important}
#kasane-osechi .kos-item-visual [data-series-photo][hidden]{display:none!important}
#kasane-osechi .kos-region-note{color:#4a3b00;background:#fff7d1;border-left:4px solid #fedc00;padding:10px 12px;line-height:1.7}
#kasane-osechi .kos-hero-img.is-contain{background:#fff}
#kasane-osechi .kos-hero-img.is-contain img{object-fit:contain;padding:12px}
/* v1.9.7：実テーマ（sogoshiki）の reset.css は div・ul・ol・dl すべてに :before/:after（clearfix）を付けるため、
   LP内のグリッド・横並びの先頭に空のマスができる。LP（#kasane-osechi）の中だけ打ち消す。サイト全体には影響しない。 */
#kasane-osechi div:before,#kasane-osechi div:after,#kasane-osechi ul:before,#kasane-osechi ul:after,#kasane-osechi ol:before,#kasane-osechi ol:after,#kasane-osechi dl:before,#kasane-osechi dl:after{content:none;display:none}
/* v1.9.7：白いボタン（kos-btn-light）は文字色を指定していなかったため、黒い帯の中では白地に白文字になっていた（v1.9.1から）。文字色を固定する。 */
#kasane-osechi .kos-btn-light{color:#222!important}
/* v1.9.9：お取引条件 */
#kasane-osechi .kos-terms{background:#fff;margin-top:24px;padding:22px 24px;border-top:4px solid var(--kos-yellow)}
#kasane-osechi .kos-terms h3{font-size:16px;margin:0 0 12px}
#kasane-osechi .kos-terms dl{margin:0}
#kasane-osechi .kos-terms dl>div{display:grid;grid-template-columns:10em minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #e6e6e1}
#kasane-osechi .kos-terms dl>div:last-child{border-bottom:0}
#kasane-osechi .kos-terms dt{font-weight:700;font-size:13px}
#kasane-osechi .kos-terms dd{margin:0;font-size:13px;line-height:1.8}
#kasane-osechi .kos-terms a{text-decoration:underline}
@media(max-width:760px){#kasane-osechi .kos-terms dl>div{grid-template-columns:1fr;gap:2px}}

/* v2.1.4：オリジナル製作の写真 */
#kasane-osechi .kos-original-photo{margin:0;position:relative;overflow:hidden;background:#363632;aspect-ratio:4/3}
#kasane-osechi .kos-original-photo img{display:block;width:100%;height:100%;object-fit:cover}
#kasane-osechi .kos-original-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:7px 12px;background:rgba(0,0,0,.62);color:#fff;font-size:12.5px;line-height:1.5}
#kasane-osechi .kos-original-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0 0}
#kasane-osechi .kos-original-gallery.kos-n1{grid-template-columns:minmax(0,1fr);max-width:560px}
#kasane-osechi .kos-original-gallery.kos-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){#kasane-osechi .kos-original-gallery,#kasane-osechi .kos-original-gallery.kos-n2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#kasane-osechi .kos-original-gallery.kos-n1{grid-template-columns:minmax(0,1fr)}#kasane-osechi .kos-original-photo figcaption{font-size:11.5px;padding:5px 9px}}
#kasane-osechi .kos-zip-note{display:block;margin-top:4px;font-size:12px;color:#5a5a5a}

/* ===== v2.1.7：写真を大きく見せるレイアウト ===== */
/* トップ：横幅いっぱいの写真＋重ねた見出し（「表示のしかた：枠いっぱい」のとき） */
#kasane-osechi .kos-hero.is-photo-hero{display:block;background:#fff}
#kasane-osechi .is-photo-hero .kos-hero-img{position:relative;width:100%;height:clamp(340px,52vw,640px);background:#222;overflow:hidden}
#kasane-osechi .is-photo-hero .kos-hero-img img{display:block;width:100%;height:100%;object-fit:cover}
#kasane-osechi .is-photo-hero .kos-hero-shade{position:absolute;z-index:1;inset:0;display:block;background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.05) 80%);pointer-events:none}
#kasane-osechi .kos-hero-overlay{position:absolute;z-index:2;left:clamp(20px,6vw,90px);bottom:clamp(28px,7vw,90px);right:20px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
#kasane-osechi .kos-hero-overlay h1{color:#fff;font-size:clamp(34px,5.4vw,72px);line-height:1.18;margin:0 0 12px;letter-spacing:-.02em}
#kasane-osechi .kos-hero-overlay .kos-hero-keywords{color:#fff;font-weight:700;font-size:clamp(12px,1.3vw,15px);margin:0;opacity:.95}
#kasane-osechi .is-photo-hero .kos-hero-cap{position:absolute;z-index:2;right:12px;bottom:10px;background:rgba(0,0,0,.5);color:#fff;font-size:11.5px;padding:4px 9px}
#kasane-osechi .is-photo-hero .kos-hero-copy{max-width:960px;margin:0 auto;padding:clamp(26px,4vw,48px) 20px clamp(20px,3vw,34px);text-align:left}
#kasane-osechi .is-photo-hero .kos-lead{font-size:clamp(20px,2.4vw,28px);line-height:1.5;font-weight:800;margin:0 0 14px}
#kasane-osechi .is-photo-hero .kos-hero-copy>p:not(.kos-lead):not(.kos-small){font-size:15px;line-height:1.95;max-width:none;color:#333}
/* 定番商品：正方形の大きな写真で3つ並び（タブレット2列・スマホ1列） */
#kasane-osechi .kos-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1000px) and (min-width:761px){#kasane-osechi .kos-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
#kasane-osechi .kos-item-visual{height:auto;aspect-ratio:1/1;min-height:0;background:#fff}
#kasane-osechi .kos-item-visual img{object-fit:contain;padding:0;background:#fff}
@media(max-width:760px){#kasane-osechi .kos-items{grid-template-columns:1fr;gap:20px}#kasane-osechi .kos-item{display:flex;flex-direction:column}#kasane-osechi .kos-item-visual{height:auto;aspect-ratio:1/1;min-height:0}}
/* 小鉢：左に色の札、右に写真のタイル（2つ並び） */
#kasane-osechi .kos-cup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#kasane-osechi .kos-cup-card{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;border:0;background:#fff;min-height:0;text-align:center;overflow:hidden}
#kasane-osechi .kos-cup-card .kos-cup-label{order:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f6e3a6;padding:16px 10px}
#kasane-osechi .kos-cup-card .kos-cup-label span{font-size:12px;font-weight:700;color:#5b4a14}
#kasane-osechi .kos-cup-card .kos-cup-label b{font-size:clamp(18px,2vw,22px);color:#222}
#kasane-osechi .kos-cup-card .kos-cup-label small{font-size:12px;color:#5b4a14}
#kasane-osechi .kos-cup-card .kos-cup-photo{order:2;height:auto;aspect-ratio:1/1;margin:0;border:0;background:#fff}
#kasane-osechi .kos-cup-card.is-sold-out .kos-cup-label{background:#e4e4e1}
@media(max-width:760px){#kasane-osechi .kos-cup-grid{grid-template-columns:1fr;gap:12px}#kasane-osechi .kos-cup-card .kos-cup-photo{height:auto}}
@media(max-width:470px){#kasane-osechi .kos-cup-card .kos-cup-photo{height:auto}}
@media(max-width:760px){#kasane-osechi .is-photo-hero .kos-hero-cap{top:10px;bottom:auto;right:10px}}
/* v2.1.7b：参考ページに合わせて、写真を中央の幅に収め、余白と文字の大きさで見やすく */
#kasane-osechi .kos-hero.is-photo-hero{padding:clamp(16px,3vw,36px) 20px 0}
#kasane-osechi .is-photo-hero .kos-hero-img{max-width:1180px;margin:0 auto;height:auto;aspect-ratio:16/9;max-height:620px}
#kasane-osechi .is-photo-hero .kos-hero-overlay{left:clamp(18px,4vw,56px);bottom:clamp(20px,5vw,64px)}
#kasane-osechi .kos-hero-overlay h1{font-size:clamp(30px,4.2vw,56px);font-weight:800}
#kasane-osechi .is-photo-hero .kos-hero-copy{max-width:1180px;padding:clamp(30px,4vw,52px) 0 clamp(20px,3vw,36px)}
#kasane-osechi .is-photo-hero .kos-lead{font-size:clamp(21px,2.3vw,30px);line-height:1.55}
#kasane-osechi .is-photo-hero .kos-hero-copy>p:not(.kos-lead):not(.kos-small){font-size:17px;line-height:2;max-width:none}
#kasane-osechi .kos-headrow p,#kasane-osechi .kos-headlead{font-size:16px;line-height:1.95}
#kasane-osechi .kos-item-body p{font-size:15px;line-height:1.85}
@media(max-width:760px){#kasane-osechi .kos-hero.is-photo-hero{padding:12px 12px 0}#kasane-osechi .is-photo-hero .kos-hero-img{aspect-ratio:4/3}#kasane-osechi .is-photo-hero .kos-hero-copy>p:not(.kos-lead):not(.kos-small){font-size:15.5px}}
#kasane-osechi .kos-hero.is-photo-hero .kos-hero-copy>p:not(.kos-lead):not(.kos-overline):not(.kos-small):not(.kos-hero-brand):not(.kos-hero-keywords){font-size:17px;line-height:2;max-width:none;color:#333}
@media(max-width:760px){#kasane-osechi .kos-hero.is-photo-hero .kos-hero-copy>p:not(.kos-lead):not(.kos-overline):not(.kos-small):not(.kos-hero-brand):not(.kos-hero-keywords){font-size:15.5px}}
#kasane-osechi .is-photo-hero .kos-hero-img.is-contain{background:#f1eee8}
#kasane-osechi .is-photo-hero .kos-hero-img.is-contain img{object-fit:contain}
/* v2.1.9：写真全体を表示（文字入りバナーなど）— 写真の形のまま、暗くしない */
#kasane-osechi .is-photo-hero .kos-hero-img.is-contain{height:auto;max-height:none;background:transparent}
#kasane-osechi .is-photo-hero .kos-hero-img.is-contain img{object-fit:contain;height:100%}
#kasane-osechi .is-photo-hero .kos-hero-title{font-size:clamp(26px,3.2vw,40px);line-height:1.35;margin:0 0 8px;font-weight:800}
#kasane-osechi .is-photo-hero .kos-hero-copy>.kos-hero-keywords{font-size:13px;font-weight:700;color:#666;margin:0 0 18px}
@media(max-width:760px){#kasane-osechi .is-photo-hero .kos-hero-img.is-contain{aspect-ratio:auto}}
/* v2.1.10：ネットショップ欄の写真 */
#kasane-osechi .kos-shop-grid.has-photo{grid-template-columns:1fr 1fr}
#kasane-osechi .kos-shop-photo{margin:-26px -26px 10px;overflow:hidden;aspect-ratio:4/3;background:#fff}
#kasane-osechi .kos-shop-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){#kasane-osechi .kos-shop-grid.has-photo{grid-template-columns:1fr}}
/* ===== v2.3.0：買いやすく・見やすく ===== */
/* 写真つきメニュー */
#kasane-osechi .kos-quick{padding:34px 0 10px;background:#fff}
#kasane-osechi .kos-quick ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
#kasane-osechi .kos-quick ul::before,#kasane-osechi .kos-quick ul::after{content:none!important;display:none!important}
#kasane-osechi .kos-quick li{list-style:none;margin:0}
#kasane-osechi .kos-quick a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e3e3e3;border-radius:8px;overflow:hidden;color:#1f1f1f;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s}
#kasane-osechi .kos-quick a:hover{box-shadow:0 8px 18px rgba(0,0,0,.08);transform:translateY(-2px);border-color:#1f1f1f}
#kasane-osechi .kos-quick-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f6f5f2;overflow:hidden}
#kasane-osechi .kos-quick-ph img{width:100%;height:100%;object-fit:cover;display:block}
#kasane-osechi .kos-quick-ph.is-icon{background:var(--kos-yellow,#FEDC00)}
#kasane-osechi .kos-quick-ph.is-icon svg{width:42%;height:42%;color:#1f1f1f}
#kasane-osechi .kos-quick-tx{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;position:relative}
#kasane-osechi .kos-quick-tx strong{font-size:15px;line-height:1.4;font-weight:700;padding-right:14px}
#kasane-osechi .kos-quick-tx small{font-size:11.5px;color:#777;line-height:1.5}
#kasane-osechi .kos-quick-tx::after{content:"";position:absolute;right:12px;top:16px;width:7px;height:7px;border-right:2px solid #1f1f1f;border-bottom:2px solid #1f1f1f;transform:rotate(45deg)}
/* 商品カード：値段 */
#kasane-osechi .kos-item{border-radius:8px;overflow:hidden}
#kasane-osechi .kos-from{margin:2px 0 0!important;padding:12px 14px;background:#fffbe0;border-left:4px solid var(--kos-yellow,#FEDC00);display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;color:#1f1f1f!important}
#kasane-osechi .kos-from:empty{display:none}
#kasane-osechi .kos-from-lot{font-size:12px;font-weight:700;width:100%}
#kasane-osechi .kos-from strong{font-family:'Lato',sans-serif;font-size:28px;line-height:1.1;font-weight:700;letter-spacing:.02em}
#kasane-osechi .kos-from strong small{font-family:'Noto Sans JP',sans-serif;font-size:14px;margin-left:2px}
#kasane-osechi .kos-from-note{font-size:11.5px;color:#555;line-height:1.5}
/* スマホの下の固定ボタン */
#kasane-osechi .kos-spbar{display:none}
@media (max-width:1000px){
  #kasane-osechi .kos-quick ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  #kasane-osechi .kos-quick{padding:22px 0 4px}
  #kasane-osechi .kos-quick ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #kasane-osechi .kos-quick-tx{padding:8px 10px 10px}
  #kasane-osechi .kos-quick-tx strong{font-size:14px}
  #kasane-osechi .kos-quick-tx::after{top:13px;right:10px}
  #kasane-osechi .kos-from strong{font-size:26px}
  #kasane-osechi .kos-spbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:999;background:#fff;border-top:1px solid #e3e3e3;box-shadow:0 -2px 10px rgba(0,0,0,.07);padding-bottom:env(safe-area-inset-bottom)}
  #kasane-osechi .kos-spbar::before,#kasane-osechi .kos-spbar::after{content:none!important;display:none!important}
  #kasane-osechi .kos-spbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:60px;font-size:12px;font-weight:700;color:#1f1f1f;text-decoration:none}
  #kasane-osechi .kos-spbar a svg{width:22px;height:22px}
  #kasane-osechi .kos-spbar a.is-y{background:var(--kos-yellow,#FEDC00)}
  #kasane-osechi .kos-spbar a.is-k{background:#1f1f1f;color:#fff}
  body:has(#kasane-osechi .kos-spbar){padding-bottom:60px}
}
/* メニューから飛んだとき、上の固定ヘッダーに見出しが隠れないように */
#kasane-osechi section[id],#kasane-osechi #request{scroll-margin-top:90px}
