:root{--paper:#f1efe9;--ink:#282923;--muted:#65665f;--line:#c9c8be;--accent:#c34325;--error:#a52c22;color-scheme:light;font-family:Arial,Helvetica,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html,body{height:100%;overflow:clip}
body{margin:0;position:relative}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.page{position:fixed;inset:0;max-width:1600px;height:100dvh;padding:0 5.2vw;display:flex;flex-direction:column;margin:0 auto;overflow:clip}
.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:31px 0 27px;gap:24px}
.wordmark{font-size:33px;font-weight:700;letter-spacing:-1.7px;text-decoration:none;line-height:1}
.wordmark span,.accent{color:var(--accent)}
.edition{font-size:10px;line-height:1.7;letter-spacing:1.5px;margin:0;text-align:right}
.edition [lang=ja]{letter-spacing:2px}
main{display:grid;grid-template-columns:1.22fr 1fr;gap:7%;padding:64px 0 68px;flex:1;align-content:center}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;display:flex;align-items:center;gap:9px;margin:0 0 35px}
.status-dot{height:7px;width:7px;border-radius:50%;background:var(--accent);flex-shrink:0}
h1{font-size:clamp(64px,7.7vw,119px);font-weight:400;letter-spacing:-.065em;line-height:.98;margin:0 0 36px}
.location-line{white-space:nowrap;font-size:.82em}
.introduction-copy{max-width:440px}
.english{font-size:16px;line-height:1.65;margin:0 0 25px;max-width:390px}
.japanese h2{font-size:15px;font-weight:500;line-height:1.9;letter-spacing:.02em;margin:0 0 8px}
.japanese p{font-size:12px;line-height:2.1;letter-spacing:.025em;margin:0;color:var(--muted)}
.signature{margin-top:37px}
.signature p{font-size:13px;margin:0 0 9px}
.signature a{font-size:13px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-block}
.signature a span{color:var(--accent);padding-left:23px}
.signature a:hover{border-color:var(--accent)}
.contact{border-left:1px solid var(--line);padding-left:12%;align-self:start}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}
.section-heading h2{font-size:32px;font-weight:400;letter-spacing:-1.2px;margin:0}
.section-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}
.contact-intro{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 29px}
.contact-intro [lang=ja]{font-size:11px}
.field{margin-bottom:21px}
label{display:flex;gap:13px;align-items:baseline;font-size:12px;margin-bottom:8px}
label [lang=ja]{font-size:10px;color:var(--muted)}
input,textarea{width:100%;border:1px solid #a5a79d;background:#f8f7f3;border-radius:0;color:var(--ink);font-size:16px;padding:11px 12px;line-height:1.5;transition:border-color .15s}
input:hover,textarea:hover{border-color:var(--ink)}
textarea{resize:vertical;min-height:113px;max-height:400px;display:block}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}
.field-error{font-size:11px;color:var(--error);line-height:1.7;margin:7px 0 0}
button{width:100%;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:16px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}
button>span{font-size:12px}
button [lang=ja]{font-size:10px;margin-left:13px;color:#d2d1c9}
button .arrow{font-size:23px;line-height:1}
button:hover{background:var(--accent);border-color:var(--accent)}
button:disabled{cursor:wait;opacity:.7}
.privacy{font-size:10px;line-height:1.8;color:var(--muted);margin:16px 0 0}
.privacy [lang=ja]{font-size:9px}
#form-status{font-size:12px;line-height:1.8;border-left:2px solid var(--accent);padding:3px 0 3px 12px;margin:19px 0 0;white-space:pre-line;overflow-wrap:anywhere}
#form-status[data-state=error]{color:var(--error);border-color:var(--error)}
.notice{font-size:12px;line-height:1.7;padding:14px;border:1px solid var(--line)}
.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
footer{padding:21px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}
footer p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}
.domain-list{letter-spacing:.25px}
.domain-list span{padding:0 13px;color:#92948a}
[hidden]{display:none!important}
.tokyo-layer{position:fixed;top:0;left:0;pointer-events:none;z-index:3;image-rendering:pixelated}
.central-worksite{display:block;min-width:0;height:clamp(120px,calc(36dvh - 100px),260px);flex:0 0 clamp(120px,calc(36dvh - 100px),260px)}
@media(min-width:1600px){.page{padding:0 84px}}
@media(max-width:900px){.page{padding:0 6vw}main{gap:6%;grid-template-columns:1.1fr 1fr;padding-top:49px;padding-bottom:49px}.contact{padding-left:10%}h1{font-size:clamp(61px,8.5vw,80px)}.english{font-size:14px}.section-heading{display:block}.section-heading>span{display:block;margin-top:7px}.eyebrow{font-size:9px;letter-spacing:.9px}}
@media(max-width:650px){.page{padding:0 24px}.masthead{padding:25px 0 22px}.wordmark{font-size:29px}.edition{font-size:8px;letter-spacing:1px}main{display:block;padding:39px 0 36px}.eyebrow{margin-bottom:28px}h1{font-size:clamp(66px,15.7vw,98px);margin-bottom:27px}.english{font-size:15px;max-width:390px}.introduction-copy{max-width:470px}.japanese h2{font-size:14px}.japanese p{font-size:12px}.signature{margin-top:26px}.contact{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;margin-top:39px}.section-heading{display:flex}.section-heading>span{margin:0}.section-heading h2{font-size:30px}.contact-intro{margin-bottom:25px}.field{margin-bottom:20px}textarea{min-height:125px}.privacy{font-size:10px}.privacy [lang=ja]{font-size:10px}footer{padding:20px 0 24px;flex-wrap:wrap;gap:9px}footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* The scene belongs to the viewport. Only the reading/form area can scroll. */
.masthead,footer{flex-shrink:0}
main{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding:24px}
@media(min-width:1000px){
 .masthead{padding:clamp(19px,3dvh,31px) 0 clamp(17px,2.5dvh,27px)}
 main{padding:clamp(10px,1.8dvh,20px) 0;align-content:safe center}
 .eyebrow{margin-bottom:clamp(10px,2dvh,25px)}
 h1{font-size:clamp(54px,min(7.7vw,8.9dvh),110px);margin-bottom:clamp(12px,1.8dvh,22px)}
 .english{font-size:clamp(13px,1.55dvh,16px);line-height:1.55;margin-bottom:clamp(10px,1.4dvh,16px)}
 .japanese h2{font-size:clamp(12px,1.45dvh,15px);line-height:1.65;margin-bottom:6px}
 .japanese p{font-size:clamp(10.5px,1.2dvh,12px);line-height:1.8}
 .signature{margin-top:clamp(10px,1.7dvh,20px)}
 .signature p,.signature a{font-size:12px}
 .section-heading{margin-bottom:10px}
 .section-heading h2{font-size:clamp(26px,3.6dvh,32px)}
 .contact-intro{line-height:1.7;margin-bottom:clamp(12px,2dvh,24px)}
 .field{margin-bottom:clamp(12px,1.8dvh,21px)}
 input,textarea{padding:clamp(7px,1.2dvh,11px) 12px}
 textarea{height:clamp(84px,13dvh,130px);min-height:80px}
 button{padding:clamp(11px,1.8dvh,16px) 17px}
 .privacy{margin-top:12px}
 #contact-form{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
 #contact-form>.field:nth-child(3),#contact-form>button,#contact-form>.privacy,#form-status,#contact-form>noscript{grid-column:1/-1}
 footer{padding:clamp(11px,1.8dvh,21px) 0 clamp(12px,2dvh,25px)}
}
@media(min-width:1000px) and (max-height:660px){
 h1{font-size:46px}
 .english{font-size:12px;line-height:1.4}
 .japanese h2{font-size:11px;line-height:1.5}
 .japanese p{font-size:10px;line-height:1.6}
 .signature p,.signature a{font-size:11px}
}
@media(min-width:1000px) and (max-height:740px){
 h1{font-size:clamp(48px,8.3dvh,64px)}
 .english{line-height:1.45}
 .japanese p{line-height:1.65}
 .signature{margin-top:9px}
 .signature p{margin-bottom:5px}
 #contact-form{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
 #contact-form>.field:nth-child(3),#contact-form>button,#contact-form>.privacy,#form-status,#contact-form>noscript{grid-column:1/-1}
 #contact-form label{gap:6px;font-size:11px}
 .contact-intro{font-size:11px}
}
@media(min-width:1000px) and (max-height:660px){
 main{padding:3px 0}
 h1{font-size:46px}
 .central-worksite{height:100px;flex-basis:100px}
}
@media(max-width:999px){
 .page{padding:0 24px}
 .masthead{padding:24px 0 20px}
 main{display:block;padding:30px 0 28px;flex:1;align-content:normal}
 .introduction{max-width:540px;margin:0 auto}
 .introduction-copy{max-width:none}
 h1{font-size:clamp(64px,12vw,90px)}
 .english{font-size:15px;max-width:480px}
 .contact{max-width:540px;margin:30px auto 0;border-left:0;border-top:1px solid var(--line);padding:27px 0 0}
 .section-heading{display:flex}
 .section-heading>span{margin:0}
 .central-worksite{height:clamp(108px,23dvh,190px);flex-basis:clamp(108px,23dvh,190px);margin:0}
 footer{padding:13px 0 15px;flex-wrap:wrap;gap:7px}
 footer p{font-size:9px}
}
@media(max-width:999px) and (max-height:520px){
 .masthead{padding:14px 0 17px}.wordmark{font-size:25px}
 .central-worksite{height:90px;flex-basis:90px}
 footer{padding:9px 0}.edition{font-size:8px}
}
