:root{color-scheme:light;--ivory:#f7f3eb;--forest:#294d43;--ink:#303b35;--apricot:#d3a68c}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-bottom:96px}
body{margin:0;background:#eae7df;color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;padding-bottom:90px}
a{color:var(--forest);text-underline-offset:4px}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b3744f;outline-offset:5px}
.skip{position:fixed;z-index:10;top:-100px;left:12px;padding:10px 18px;background:white}
.skip:focus{top:10px}
.shell{max-width:760px;margin:auto;background:var(--ivory);box-shadow:0 0 60px #273a3010}
.toolbar{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #d9d4c9;background:var(--ivory)}
.brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:15px;line-height:1.5}
.read-toggle{border:1px solid #294d4360;color:var(--forest);background:transparent;border-radius:4px;padding:8px 12px;min-height:44px;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.image-section{position:relative;scroll-margin-top:12px}
.visual{position:relative}
.visual img{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block;min-height:44px;border-radius:4px}
.hotspot:hover{box-shadow:0 0 0 3px #d3a68c}
.hotspot-fv{left:6%;width:88%;top:87.4%;height:6%}
.hotspot-buy{left:4.8%;width:90.4%;top:80.2%;height:7.9%}
.copy{display:none;padding:48px clamp(24px,7vw,65px);font-size:18px;line-height:1.9}
.copy h1,.copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;line-height:1.65;font-size:clamp(25px,5.5vw,36px);margin:0 0 28px}
h1,h2,h3,.headline{word-break:auto-phrase;text-wrap:balance;line-break:strict}
.copy h3{font-weight:500;font-size:20px;line-height:1.7;margin:30px 0 10px}
.copy p{margin:14px 0}
.copy p,.conditions dd,.conditions p{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.copy .label{font-size:16px;letter-spacing:.03em;color:#566c60}
.copy .price{font-family:"Yu Mincho",serif;font-size:32px;color:var(--forest)}
.reader-mode .visual{display:none}
.reader-mode .copy{display:block}
.reader-mode .image-section:nth-child(even){background:#e9eee7}
.reader-mode .image-section{border-bottom:1px solid #d5d8cc}
.reader-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--forest);color:white;text-decoration:none;padding:14px 20px;min-height:48px;margin-top:12px;border-radius:4px;font-size:16px}
.conditions{padding:36px clamp(24px,7vw,65px) 42px;border-top:1px solid #d9d4c9;background:#f1eee5}
.conditions h2{font-family:"Yu Mincho",serif;font-size:24px;line-height:1.8;font-weight:400;margin:0 0 22px}
.conditions p{margin:12px 0}
.conditions dl{margin:0}
.conditions dt{font-weight:600;margin-top:22px}
.conditions dd{margin:4px 0 0}
.conditions .unconfirmed{color:#744c34}
.bottom-note{padding:26px 24px 30px;border-top:1px solid #d9d4c9;font-size:14px;line-height:1.85}
.bottom-note p{margin:0 0 12px}
.to-top{display:inline-flex;align-items:center;min-height:44px}
.purchase-bar{position:fixed;z-index:5;left:0;right:0;bottom:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#f7f3ebf5;border-top:1px solid #294d432e;backdrop-filter:blur(8px)}
.purchase-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:712px;margin:auto}
.purchase-bar span{font-size:14px;line-height:1.6}
.purchase-bar a{background:var(--forest);color:white;text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;white-space:nowrap;border-radius:4px;font-size:16px}
@media(max-width:430px){.toolbar{padding:10px 14px}.brand{font-size:13px}.read-toggle{font-size:13px;padding:8px 10px}.purchase-bar span{font-size:12px;max-width:98px}.purchase-bar a{flex:1;padding:10px 12px}.copy{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body{padding:0}.toolbar,.purchase-bar,.skip,.bottom-note,.hotspot{display:none}.shell{box-shadow:none;max-width:none}.image-section{break-after:page}.conditions{break-before:page}}
