:root{--paper:#f8f5f2;--ink:#33272e;--plum:#753d54;--wash:#efe2e7;--muted:#705e67;--line:#d9cbd0;--white:#fffdfc;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scrollbar-color:var(--plum) var(--wash);caret-color:var(--plum)}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.7}::selection{background:var(--plum);color:var(--white)}a{color:var(--plum);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--plum);outline-offset:5px;border-radius:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.3;text-wrap:balance}h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.035em;font-weight:750}html[lang=ja] h1{line-height:1.42;letter-spacing:-.025em}h2{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.025em}h3{font-size:1.15rem}p{max-width:70ch}p+p{margin-top:1rem}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:var(--white);z-index:10}.skip:focus{top:8px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-weight:750;letter-spacing:-.035em;font-size:1.6rem;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:26px;font-size:.9rem}.site-header nav a{text-decoration:none}.language{border:1px solid var(--line);border-radius:var(--radius);padding:7px 13px}.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:76px;align-items:start;padding-block:70px 88px}.hero-copy{padding-block:60px}.hero .intro{font-size:1.13rem;margin-top:26px;color:var(--muted);max-width:40ch}.availability{font-size:.86rem;margin-top:20px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--plum);color:var(--white);min-height:50px;padding:12px 22px;text-decoration:none;border-radius:var(--radius);font-weight:650}.button:hover{background:#603046;text-decoration:none}.button svg{width:20px;height:20px}.preview{justify-self:center;width:min(100%,300px)}.preview img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 18px 48px #33272e20;animation:arrive 800ms cubic-bezier(.16,1,.3,1) both}.preview figcaption{font-size:.75rem;color:var(--muted);text-align:center;margin-top:20px}.story{padding:72px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.story p{margin-top:22px;color:var(--muted)}.choices{margin:0;padding:0;list-style:none}.choices li{display:flex;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.choices li:first-child{padding-top:0}.choices svg{width:32px;height:32px;flex-shrink:0;color:var(--plum)}.choices strong{display:block;font-size:1.1rem}.choices span{display:block;color:var(--muted);font-size:.92rem;margin-top:4px}.boundary{background:var(--wash);padding-block:72px}.boundary .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.boundary p{margin-top:20px}.boundary dl{margin:0}.boundary dt{font-weight:700;margin-bottom:9px}.boundary dd{margin:0;color:var(--muted)}.boundary dd+dt{margin-top:28px}.close{padding-block:72px;display:flex;align-items:center;justify-content:space-between;gap:40px}.close p{margin-top:18px;color:var(--muted)}footer{border-top:1px solid var(--line);padding-block:28px;font-size:.84rem;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.reading{max-width:780px;margin-inline:auto;padding-block:66px 88px}.reading h1{font-size:clamp(2.3rem,5vw,3.5rem)}.reading .intro{font-size:1.15rem;color:var(--muted);margin-top:26px}.reading h2{font-size:1.5rem;margin-top:46px;margin-bottom:16px}.reading .date{color:var(--muted);font-size:.86rem;margin-top:20px}.reading ul,.reading ol{padding-left:1.4em}.reading li+li{margin-top:12px}.reading details{padding-block:22px;border-bottom:1px solid var(--line)}.reading summary{font-weight:650;cursor:pointer;min-height:30px}.reading details p{margin-top:16px;color:var(--muted)}.reading .contact{margin-top:42px;padding:28px;background:var(--wash);border-radius:var(--radius)}.contact h2{margin:0 0 14px}.contact a{overflow-wrap:anywhere}.back{display:inline-block;margin-top:40px;min-height:44px}.notfound{min-height:65vh}.notfound p{margin-top:24px}@keyframes arrive{from{transform:translateY(16px);box-shadow:0 4px 16px #33272e10}to{transform:translateY(0);box-shadow:0 18px 48px #33272e20}}@media(prefers-reduced-motion:reduce){.preview img{animation:none}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:32px;padding-block:44px 60px}.hero-copy{padding:0}.hero h1{font-size:2.75rem}.preview{width:min(100%,250px)}.story,.boundary .wrap{gap:40px}.reading{padding-block:44px 60px}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.site-header{gap:12px;padding-block:19px}.brand{font-size:1.35rem}.site-header nav{gap:12px;font-size:.8rem}.language{padding:7px 10px}.hero{grid-template-columns:1fr;gap:40px;padding-block:42px 48px}.hero h1{font-size:2.8rem}.hero .intro{font-size:1rem;max-width:38ch}.hero-copy{max-width:480px}.preview{width:238px}.story,.boundary .wrap{grid-template-columns:1fr;gap:32px}.story{padding-block:46px}.boundary{padding-block:46px}.close{align-items:flex-start;flex-direction:column;padding-block:46px;gap:25px}.reading{padding-top:38px}.reading h1{font-size:2.3rem}.reading .contact{padding:22px}.footer-inner{gap:18px}.footer-links{gap:18px}.availability{max-width:34ch}}@media(max-width:359px){.hero h1{font-size:2.35rem}.site-header nav{gap:8px}.brand{font-size:1.25rem}.site-header{gap:8px}.language{padding-inline:8px}}

html[lang=ja]{line-break:strict}.site-header nav a{display:inline-flex;align-items:center;min-height:44px}.brand{display:inline-flex;align-items:center;min-height:44px}.footer-links a{display:inline-flex;align-items:center;min-height:44px}

.reading h1 span{display:inline-block}
