:root{--paper:#efece5;--sand:#ddd5c6;--ink:#4a3f39;--mute:#8a7f76;--red:#c8174b;--line:#cfc7b8;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;line-height:1.95;font-size:15px}.sans{font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}.wrap{max-width:720px;margin:0 auto;padding:0 20px}.fade{opacity:0;transform:translateY(14px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}.fade.in{opacity:1;transform:none}.mincho{font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;font-weight:400}.serif{font-family:Cormorant Garamond,Didot,"Bodoni 72",Times New Roman,serif}.hero{text-align:center;padding:64px 0 8px}.tower{display:flex;flex-direction:column-reverse;align-items:center;gap:3px;margin:0 auto;height:112px;justify-content:flex-start}.tower i{display:block;height:20px;background:var(--c);opacity:0;transform:translateY(-26px);animation:drop 1.8s var(--ease) forwards;animation-delay:calc(var(--n) * .7s + .2s)}@keyframes drop{to{opacity:1;transform:none}}.hero h1{margin:30px 0 0;font-weight:300;font-size:clamp(54px,15vw,104px);line-height:1;letter-spacing:.14em;text-indent:.14em}.hero h1 small{display:block;margin-top:12px;font-size:.2em;letter-spacing:.5em;text-indent:.5em;color:var(--mute)}.copy{margin:26px 0 0;font-size:clamp(17px,4.4vw,22px);letter-spacing:.22em}.sub{margin:6px 0 0;font-size:13px;letter-spacing:.14em;color:var(--mute)}.cta{display:inline-block;margin-top:28px;padding:12px 28px;border:1px solid var(--ink);font:700 13px Hiragino Sans,sans-serif;letter-spacing:.16em;color:var(--ink);text-decoration:none;transition:background 1s var(--ease),color 1s var(--ease)}.cta:hover{background:var(--ink);color:#fff}h2{font-size:18px;letter-spacing:.2em;margin:84px 0 20px;text-align:center;font-weight:700}h2 small{display:block;font-size:10px;letter-spacing:.3em;color:var(--mute);font-weight:400;margin-top:2px}.lead{text-align:center;margin:0 0 1.1em}.ln{display:block;opacity:0;transform:translateY(8px);transition:opacity 2.6s cubic-bezier(.3,.1,.3,1),transform 2.6s cubic-bezier(.2,.7,.2,1)}.ln.in{opacity:1;transform:none}.poem{font-size:clamp(17px,4.6vw,21px);letter-spacing:.24em}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0;list-style:none;font-family:Hiragino Sans,sans-serif;font-size:13px}.chips li{padding:4px 14px;border:1px solid var(--line)}.phase{position:relative;margin:0 0 6px;padding:26px 0 26px 26px;border-left:3px solid var(--c)}.phase .tag{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.phase .no{font-size:15px;color:var(--c);letter-spacing:.2em;font-weight:400}.phase .en{font-size:clamp(22px,6.2vw,30px);line-height:1;letter-spacing:.1em}.phase .ja{font:700 12px Hiragino Sans,sans-serif;letter-spacing:.14em;color:var(--mute)}.phase .pl{margin:10px 0 0;font-size:14px}.mon{display:flex;gap:16px;margin:18px 0 0;padding:16px 18px;background:#f7f5f0;border:1px solid var(--line);border-top:3px solid var(--c)}.mon .m{flex:none;min-width:44px;font-size:34px;line-height:1;font-weight:300;color:var(--c)}.mon .m small{display:block;font:700 10px Hiragino Sans,sans-serif;letter-spacing:.2em;color:var(--mute);margin-top:4px}.mon .b{flex:1;min-width:0}.mon h3{margin:0;font-size:15px;letter-spacing:.06em}.mon .meta{margin:2px 0 0;font:400 13px/1.8 Hiragino Sans,sans-serif;color:var(--mute)}.mon .meta b{color:var(--ink)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.tags li{padding:0 10px;font:700 11px/1.9 Hiragino Sans,sans-serif;letter-spacing:.08em;color:#fff;background:var(--c)}.ppl{margin:10px 0 0;padding:0;list-style:none;font:400 13px/1.8 Hiragino Sans,sans-serif}.ppl li{display:flex;gap:12px;padding:3px 0;border-bottom:1px dotted var(--line)}.ppl span{flex:none;width:6.5em;color:var(--mute)}.foot{margin:12px 0 0;font:700 12px Hiragino Sans,sans-serif;letter-spacing:.1em;color:var(--c)}.tabs{display:flex;gap:0;margin:0;font-family:Hiragino Sans,sans-serif}.tabs button{flex:1;padding:13px 4px;font:700 13px Hiragino Sans,sans-serif;letter-spacing:.08em;color:var(--mute);background:transparent;border:1px solid var(--line);border-bottom:0;cursor:pointer;transition:background .8s var(--ease),color .8s var(--ease)}.tabs button+button{border-left:0}.tabs button[aria-selected=true]{background:#f7f5f0;color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}.tabs small{display:block;font-weight:400;font-size:10px;letter-spacing:.12em}form,.closed{background:#f7f5f0;padding:28px 22px;border:1px solid var(--line)}.closed{text-align:center;color:var(--mute);font-size:14px}.panel[hidden]{display:none}.f{display:block;margin:0 0 20px;font-size:13px;font-weight:700;font-family:Hiragino Sans,sans-serif;letter-spacing:.04em}.req,.opt{margin-left:8px;font-size:10px;padding:1px 6px;font-weight:700;letter-spacing:.05em}.req{background:var(--red);color:#fff}.opt{background:var(--sand);color:var(--mute)}.hint{display:block;margin-top:4px;font-weight:400;color:var(--mute);font-size:12px;letter-spacing:0}input[type=text],input[type=email],select,textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;font:400 16px Hiragino Sans,Yu Gothic,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:2px;transition:border-color .8s var(--ease),box-shadow .8s var(--ease)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px #4a3f391a}fieldset{border:0;margin:0 0 20px;padding:0}legend{padding:0;font:700 13px Hiragino Sans,sans-serif;letter-spacing:.04em}.chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font:400 13.5px/1.7 Hiragino Sans,sans-serif}.chk input{margin-top:5px;accent-color:var(--red);width:16px;height:16px;flex:none}fieldset .chk:first-of-type{margin-top:8px}.guardianBox{display:none}.guardianBox.show{display:block}.submit{display:block;width:100%;margin-top:14px;padding:16px;font:700 15px Hiragino Sans,sans-serif;letter-spacing:.16em;color:#fff;background:var(--ink);border:0;border-radius:2px;cursor:pointer;transition:background 1s var(--ease)}.submit:hover{background:var(--red)}.submit:disabled{opacity:.55;cursor:default}.msg{margin-top:16px;padding:16px 18px;font:400 14px/1.9 Hiragino Sans,sans-serif}.ok{background:#eaf1e3;border:1px solid #bcd0a8}.ng{background:#f6e4e4;border:1px solid #dfb4b4}.demo{margin-bottom:14px;padding:10px 14px;background:#fff3cd;font:400 12px Hiragino Sans,sans-serif}.tbd{margin:18px 0 0;text-align:center;font:400 12px Hiragino Sans,sans-serif;color:var(--mute)}footer{text-align:center;margin:90px 0 0;padding:32px 0 44px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.3em;color:var(--mute)}.kw{position:relative;margin:30px -20px 0}.kwtrack{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 11%;scroll-padding:0 11%;scrollbar-width:none;-webkit-overflow-scrolling:touch}.kwtrack::-webkit-scrollbar{display:none}.kwcard{flex:none;width:78vw;max-width:520px;aspect-ratio:4/3;scroll-snap-align:center;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 24px;color:var(--t,#fff);background:linear-gradient(145deg,var(--c) 0%,color-mix(in srgb,var(--c) 80%,#000) 100%);font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}.kwcard h3{text-shadow:0 1px 3px rgba(0,0,0,.35),0 2px 14px rgba(0,0,0,.3);margin:0;font-size:clamp(24px,7vw,32px);line-height:1.3;letter-spacing:.06em}.kwcard p{text-shadow:0 1px 3px rgba(0,0,0,.35),0 2px 12px rgba(0,0,0,.28);margin:8px 0 0;font-size:clamp(13px,3.8vw,16px);line-height:1.8;letter-spacing:.04em;opacity:.92}.kwbtn{position:absolute;top:calc(50% - 22px);width:34px;height:44px;padding:0 0 3px;font-size:24px;line-height:1;color:#fff;background:#161210e6;border:0;cursor:pointer;transition:background .8s var(--ease)}.kwbtn:hover{background:var(--ink)}.kwbtn.prev{left:0}.kwbtn.next{right:0}.kwdots{display:flex;justify-content:center;gap:8px;margin:16px 0 0}.kwdots i{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background .8s var(--ease),transform .8s var(--ease)}.kwdots i.on{background:var(--ink);transform:scale(1.3)}.top{padding:22px 0 0;font-size:11px;letter-spacing:.3em}.top a{color:var(--mute);text-decoration:none}.pagehead{text-align:center;padding:28px 0 0}.pagehead h1{margin:0;font-weight:300;font-size:clamp(34px,10vw,52px);line-height:1.1;letter-spacing:.14em}.pagehead p{margin:6px 0 0;font-size:12px;letter-spacing:.3em;color:var(--mute)}.phase{padding-top:0;padding-bottom:0}.phead{display:flex;align-items:baseline;gap:12px;width:100%;padding:22px 4px 22px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.phead .en{font-size:clamp(24px,6.6vw,30px);line-height:1;letter-spacing:.1em}.phead .chev{margin-left:auto;align-self:center;width:9px;height:9px;border-right:1.5px solid var(--c);border-bottom:1.5px solid var(--c);transform:rotate(45deg) translate(-2px,-2px);transition:transform .9s var(--ease)}.phase.open .chev{transform:rotate(-135deg) translate(-2px,-2px)}.pbody{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 1s var(--ease),opacity 1s var(--ease)}.phase.open .pbody{grid-template-rows:1fr;opacity:1}.pin{min-height:0;overflow:hidden}.pin>:last-child{margin-bottom:26px}.acts{display:flex;gap:10px;margin:22px 0 0}.abtn{flex:1;text-align:center;padding:10px 8px;font:700 13px/1.6 Hiragino Sans,sans-serif;letter-spacing:.14em;color:var(--c);text-decoration:none;border:1px solid var(--c);transition:background .8s var(--ease),color .8s var(--ease)}.abtn.fill{background:var(--c);color:#fff}.abtn:hover{opacity:.75}.nav{display:flex;justify-content:space-between;gap:12px;margin:60px 0 0;font:700 13px Hiragino Sans,sans-serif;letter-spacing:.1em}.nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.soonbox{margin:22px 0 0;padding:20px;text-align:center;background:#f7f5f0;border:1px dashed var(--line);font:400 13.5px/1.9 Hiragino Sans,sans-serif;color:var(--mute)}.tabs{flex-wrap:wrap}.tabs button{flex:1 1 30%;border-bottom:1px solid var(--line)}.tabs button+button{border-left:1px solid var(--line)}.tabs button[aria-selected=true]{border-bottom-color:#f7f5f0}
