@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500&display=swap');
:root{--char:#333332;--cream:#f4f0e9;--light:#faf7f1;--beige:#e8ddce;--taupe:#d8c8b5;--line:#cfc6ba}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--char);font-family:"DM Sans","Noto Sans JP",sans-serif;font-weight:400}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;padding:18px 2.8vw;display:flex;justify-content:space-between;align-items:center}.brand img{width:58px;height:58px;border-radius:50%;display:block}.site-nav{display:flex;gap:30px;align-items:center}.site-nav a,.menu-toggle{color:var(--char);text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.menu-toggle{display:none;border:0;background:none}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;padding:110px 3vw 30px;background:var(--cream)}.hero-meta{font-size:10px;letter-spacing:.16em;display:flex;justify-content:space-between;width:47%}.hero-title{position:relative;z-index:3;margin-top:9vh}.hero h1{font-size:clamp(64px,10vw,154px);font-weight:500;line-height:.77;letter-spacing:-.085em;margin:0}.hero h1 span{display:block}.hero h1 span:nth-child(2){margin-left:17vw}.hero h1 span:nth-child(3){margin-left:6vw}.hero-copy{position:absolute;z-index:4;right:8vw;bottom:12vh;font-size:clamp(18px,1.8vw,28px);line-height:1.7}.hero-m{position:absolute;z-index:2;right:-2vw;top:5vh;font-size:43vw;line-height:1;font-weight:600;letter-spacing:-.14em;opacity:.07}.hero-shape{position:absolute;border-radius:50%;filter:none}.shape-a{width:55vw;height:55vw;background:var(--beige);right:-18vw;top:-18vw}.shape-b{width:42vw;height:42vw;background:var(--taupe);right:8vw;bottom:-28vw}.shape-c{width:30vw;height:55vw;background:var(--light);right:25vw;top:-15vw;transform:rotate(-22deg)}.scroll{position:absolute;left:3vw;bottom:28px;font-size:9px;letter-spacing:.16em}.section{padding:140px 3vw;display:grid;grid-template-columns:8% 50% 42%;border-top:1px solid var(--line)}.section-no,.section-head>span,.business-intro>span,.projects-top>span,.global>span,.company-title>span,.contact>span{font-size:10px;letter-spacing:.17em}.section-head h2{font-size:clamp(36px,4.4vw,66px);line-height:1.15;letter-spacing:-.055em;font-weight:500;margin:55px 0 0}.section-body{padding:72px 6vw 0 4vw}.section-body p{font-size:15px;line-height:2.15;margin:0 0 28px}.section-body .strong{font-size:19px;margin-top:55px}.business{background:var(--light);padding:130px 3vw}.business-intro{display:grid;grid-template-columns:15% 55% 30%;align-items:end;margin-bottom:80px}.business-intro h2{font-size:clamp(58px,8.5vw,126px);line-height:.8;letter-spacing:-.08em;font-weight:500;margin:0}.business-intro p{line-height:1.8;margin:0}.business-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.business-grid article{min-height:390px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.business-grid b{font-size:11px;font-weight:400}.business-grid h3{font-size:clamp(27px,3.2vw,46px);line-height:.95;letter-spacing:-.055em;font-weight:500;margin:55px 0 40px}.business-grid p{max-width:500px;line-height:1.9;margin-top:auto}.marquee{overflow:hidden;background:var(--char);color:var(--cream);padding:28px 0;white-space:nowrap}.marquee div{font-size:clamp(42px,6vw,88px);line-height:.9;letter-spacing:-.06em;animation:move 22s linear infinite}@keyframes move{to{transform:translateX(-50%)}}.projects{padding:140px 3vw}.projects-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:75px}.projects-top h2{font-size:clamp(50px,7vw,100px);letter-spacing:-.06em;font-weight:500;margin:0}.project{display:grid;grid-template-columns:58% 42%;border-top:1px solid var(--line);padding-top:25px}.project-art{min-height:600px;background:var(--beige);position:relative;overflow:hidden}.arc{position:absolute;border-radius:50%;}.arc.one{width:70%;height:70%;background:var(--taupe);left:-25%;bottom:-25%}.arc.two{width:55%;height:75%;background:var(--light);right:-15%;top:-25%}.project-m{position:absolute;font-size:34vw;line-height:1;left:13%;top:12%;font-weight:600;letter-spacing:-.16em;opacity:.7}.project-art small{position:absolute;left:24px;top:24px;letter-spacing:.16em}.project-info{padding:45px 0 30px 55px;display:flex;flex-direction:column}.project-info>span:first-child{font-size:10px;letter-spacing:.15em}.project-info h3{font-size:clamp(45px,6vw,90px);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:55px 0}.project-info p{max-width:500px;line-height:2}.linkish{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;font-size:12px;letter-spacing:.12em}.global{position:relative;overflow:hidden;background:var(--beige);padding:130px 3vw 150px}.global h2{position:relative;z-index:2;font-size:clamp(62px,9vw,135px);line-height:.75;letter-spacing:-.085em;font-weight:500;margin:70px 0 110px}.global h2 em{font-style:normal;margin-left:15vw}.global-copy{position:relative;z-index:2;max-width:650px;margin-left:auto}.global-copy h3{font-size:28px;font-weight:500}.global-copy p{line-height:2}.global-copy .en{font-size:12px;opacity:.65;margin-top:40px}.global-circle{position:absolute;width:70vw;height:70vw;border-radius:50%;background:var(--cream);right:-25vw;top:-30vw}.company{padding:140px 3vw;display:grid;grid-template-columns:48% 52%;background:var(--cream)}.company-title h2{font-size:clamp(50px,6.5vw,96px);line-height:.8;letter-spacing:-.075em;font-weight:500;margin:70px 0}.company dl{margin:0;padding-top:70px}.company dl div{display:grid;grid-template-columns:30% 70%;border-top:1px solid var(--line);padding:24px 0}.company dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.company dd{margin:0;line-height:1.8}.contact{position:relative;overflow:hidden;background:var(--taupe);padding:120px 3vw 80px}.contact h2{position:relative;z-index:2;font-size:clamp(58px,8.5vw,128px);line-height:.78;letter-spacing:-.08em;font-weight:500;margin:65px 0 100px}.contact-orbit{position:absolute;width:48vw;height:48vw;border:1px solid rgba(51,51,50,.2);border-radius:50%;right:-7vw;top:-10vw}.contact-bottom{display:grid;grid-template-columns:50% 50%;align-items:end}.contact-bottom p{line-height:1.9}.contact-bottom a{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--char);border-bottom:1px solid var(--char);color:inherit;text-decoration:none;font-size:18px}.site-footer{background:var(--char);color:var(--cream);padding:70px 3vw 30px;overflow:hidden}.footer-symbol{font-size:30vw;line-height:.65;letter-spacing:-.15em;font-weight:600}.footer-meta{display:flex;justify-content:space-between;margin-top:80px;font-size:10px;letter-spacing:.1em}.archive{padding:150px 4vw}.reveal{opacity:0;transform:translateY(28px);transition:.85s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:800px){.brand img{width:48px;height:48px}.site-nav{display:none;position:absolute;right:3vw;top:75px;background:var(--char);padding:25px;flex-direction:column}.site-nav a{color:var(--cream)}.site-nav.open{display:flex}.menu-toggle{display:block}.hero{padding:105px 6vw 25px}.hero-meta{width:100%}.hero-meta span{display:none}.hero h1{font-size:16vw;margin-top:13vh}.hero h1 span:nth-child(2){margin-left:10vw}.hero h1 span:nth-child(3){margin-left:0}.hero-copy{right:auto;left:6vw;bottom:12vh}.shape-a{width:90vw;height:90vw}.section{grid-template-columns:1fr;padding:90px 6vw}.section-no{margin-bottom:45px}.section-body{padding:60px 0 0}.business{padding:90px 6vw}.business-intro{grid-template-columns:1fr}.business-intro h2{font-size:20vw;margin:45px 0}.business-grid{grid-template-columns:1fr}.business-grid article{min-height:330px}.projects{padding:90px 6vw}.projects-top{display:block}.projects-top h2{margin-top:45px}.project{grid-template-columns:1fr}.project-art{min-height:430px}.project-info{padding:45px 0}.global{padding:90px 6vw}.global h2{font-size:15vw}.global h2 em{margin-left:0}.company{grid-template-columns:1fr;padding:90px 6vw}.company dl{padding-top:20px}.company dl div{grid-template-columns:1fr;gap:10px}.contact{padding:90px 6vw 60px}.contact h2{font-size:15vw}.contact-bottom{grid-template-columns:1fr;gap:50px}.footer-symbol{font-size:50vw}}

.business-grid article{min-height:0;padding:0 28px 32px}
.business-image{height:240px;margin:0 -28px 26px;position:relative;overflow:hidden;background:#e8ddce}
.business-image:before,.business-image:after{content:"";position:absolute;border-radius:50%}
.business-image:before{width:62%;aspect-ratio:1;background:#d8c8b5;right:-18%;top:-35%}
.business-image:after{width:48%;aspect-ratio:1;background:#f4f0e9;left:-16%;bottom:-32%}
.business-image span{position:absolute;z-index:2;left:22px;bottom:18px;font-size:9px;letter-spacing:.15em}
.image-02{background:#ddd2c4}.image-02:before{right:auto;left:20%;top:-45%;background:#f4f0e9}.image-02:after{left:auto;right:-10%;bottom:-38%;background:#cdbda9}
.image-03{background:#d4c5b3}.image-03:before{right:-8%;top:-20%;background:#eee7dd}.image-03:after{left:-12%;bottom:-42%;background:#bfb09f}
.image-04{background:#eee8df}.image-04:before{right:20%;top:-55%;background:#d8c8b5}.image-04:after{left:18%;bottom:-55%;background:#f8f5ef}
.business-grid h3{margin-top:34px}
.footer-wordmark{font-size:clamp(48px,7vw,92px);letter-spacing:-.07em;font-weight:500}
.site-footer{padding-top:55px}
.footer-meta{margin-top:55px}
@media(max-width:800px){
 .business-image{height:210px}
 .footer-wordmark{font-size:15vw}
}

/* v0.4 refinements */
.hero h1{font-size:clamp(58px,8.2vw,126px)}
.hero-title{margin-top:7vh}
.section-head h2{font-size:clamp(34px,3.8vw,56px)}
.business-intro h2{font-size:clamp(52px,7vw,104px)}
.business-grid h3{font-size:clamp(25px,2.7vw,40px)}
.global h2{font-size:clamp(56px,7.6vw,114px)}
.company-title h2{font-size:clamp(46px,5.5vw,82px)}
.contact h2{font-size:clamp(54px,7vw,106px)}
.news{padding:125px 3vw;background:var(--light);display:grid;grid-template-columns:38% 62%;border-top:1px solid var(--line)}
.news-heading span{font-size:10px;letter-spacing:.17em}
.news-heading h2{font-size:clamp(52px,7vw,104px);line-height:.8;letter-spacing:-.075em;font-weight:500;margin:70px 0 0}
.news-list{padding-top:55px}
.news-list a,.news-empty{display:grid;grid-template-columns:18% 1fr auto;gap:25px;align-items:center;padding:23px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.news-list time{font-size:10px;letter-spacing:.1em}.news-list strong{font-size:14px;font-weight:400}
.contact-page{min-height:100vh;padding:150px 3vw 110px;background:var(--cream);display:grid;grid-template-columns:45% 55%;gap:5vw}
.contact-page-head>span{font-size:10px;letter-spacing:.17em}
.contact-page h1{font-size:clamp(58px,8vw,118px);line-height:.82;letter-spacing:-.075em;font-weight:500;margin:60px 0}
.contact-page-head p{max-width:460px;line-height:2}
.contact-form-wrap{padding-top:60px}.metis-form{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
.metis-form label{display:flex;flex-direction:column;gap:12px}.metis-form label.full{grid-column:1/-1}
.metis-form label span{font-size:9px;letter-spacing:.15em}
.metis-form input,.metis-form textarea{width:100%;border:0;border-bottom:1px solid var(--char);background:transparent;padding:12px 0;font:inherit;border-radius:0;outline:none}
.metis-form textarea{resize:vertical}.metis-form button{grid-column:1/-1;border:0;border-top:1px solid var(--char);border-bottom:1px solid var(--char);background:none;padding:22px 0;display:flex;justify-content:space-between;font:inherit;cursor:pointer}
.form-status{margin-bottom:30px}
@media(max-width:800px){
 .hero h1{font-size:15vw}
 .news{grid-template-columns:1fr;padding:90px 6vw}.news-heading h2{margin:40px 0 55px}.news-list{padding-top:0}
 .contact-page{grid-template-columns:1fr;padding:120px 6vw 80px}.contact-form-wrap{padding-top:10px}.metis-form{grid-template-columns:1fr}.metis-form label.full,.metis-form button{grid-column:auto}
}

/* v0.5 contact refinement */
.contact-page{grid-template-columns:42% 1fr;gap:7vw}
.contact-page h1{font-family:"Noto Sans JP",sans-serif;font-size:clamp(44px,5.5vw,78px);letter-spacing:-.045em;line-height:1.2;font-weight:500}
.contact-form-wrap{max-width:780px;width:100%;justify-self:end}
.metis-form{gap:34px 28px}
.metis-form label span{font-size:11px;letter-spacing:.08em}
.metis-form label span em,.privacy-check em{font-style:normal}
.metis-form input,.metis-form textarea{font-size:16px;padding:14px 0}
.metis-form textarea{min-height:150px}
.metis-form .privacy-check{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:4px}
.privacy-check input{width:17px;height:17px;margin:0;accent-color:var(--char)}
.privacy-check span{font-size:12px;letter-spacing:0}
.privacy-check a{color:inherit;text-underline-offset:3px}
.metis-form .submit-cta{grid-column:1/-1;border:0;background:var(--char);color:var(--cream);padding:0 28px;height:72px;display:flex;align-items:center;justify-content:space-between;font-family:"Noto Sans JP",sans-serif;font-size:16px;letter-spacing:.06em;cursor:pointer;transition:transform .25s ease,opacity .25s ease}
.metis-form .submit-cta b{width:38px;height:38px;border:1px solid rgba(244,240,233,.5);border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:400;transition:transform .25s ease}
.metis-form .submit-cta:hover{transform:translateY(-2px);opacity:.92}
.metis-form .submit-cta:hover b{transform:translateX(3px)}
@media(max-width:800px){
 .contact-page h1{font-size:12vw}
 .contact-form-wrap{max-width:none}
 .metis-form .privacy-check,.metis-form .submit-cta{grid-column:auto}
 .metis-form .submit-cta{height:66px}
}

/* v0.6 photographic visual system */
.hero-photo{position:absolute;z-index:1;right:0;top:0;width:58%;height:100%;background-size:cover;background-position:center;opacity:.92}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,rgba(244,240,233,.72) 15%,rgba(244,240,233,.06) 55%,rgba(244,240,233,.08) 100%)}
.hero-title,.hero-copy,.hero-meta,.scroll{z-index:5}.hero-m{z-index:3;opacity:.08}.hero-shape{z-index:2;opacity:.42}
.shape-a{background:rgba(232,221,206,.7)}.shape-b{background:rgba(216,200,181,.62)}.shape-c{background:rgba(250,247,241,.65)}
.business-image{background-size:cover;background-position:center;filter:saturate(.72) contrast(.94)}
.business-image:before{background:rgba(216,200,181,.28)}.business-image:after{background:rgba(244,240,233,.2)}
.business-image span{background:rgba(244,240,233,.78);padding:7px 10px;backdrop-filter:blur(4px)}
@media(max-width:800px){.hero-photo{width:100%;height:58%;top:auto;bottom:0;opacity:.62}.hero-photo:after{background:linear-gradient(180deg,var(--cream) 0%,rgba(244,240,233,.42) 38%,rgba(244,240,233,.12) 100%)}.hero-shape{opacity:.25}}
\n/* v0.7 — softer editorial direction */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500&display=swap');
:root{--char:#343330;--cream:#f6f1e9;--light:#fbf8f2;--beige:#e9ddcd;--taupe:#d8c6af;--line:#d8cfc3}
body{font-family:"Manrope","Noto Sans JP",sans-serif}
.site-nav a,.menu-toggle,.section-no,.section-head>span,.business-intro>span,.global>span,.company-title>span,.contact>span{letter-spacing:.12em}
.hero-title{margin-top:5vh}.hero h1{font-family:"Manrope",sans-serif;font-weight:400;letter-spacing:-.065em;line-height:.82}
.hero-meta{display:none!important}
.business-intro h2,.business-grid h3,.global h2,.company-title h2,.contact h2,.news-heading h2{font-family:"Manrope",sans-serif;font-weight:400;letter-spacing:-.055em}
.marquee{padding:11px 0;background:var(--light);color:var(--char);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee div{font-size:clamp(12px,1.15vw,17px);line-height:1.2;letter-spacing:.05em;font-weight:400;animation-duration:34s}
.global h2{font-size:clamp(44px,5.2vw,78px);line-height:.88;letter-spacing:-.055em;margin:62px 0 92px}
.global h2 em{margin-left:10vw}
.contact h2{font-size:clamp(42px,5vw,76px);line-height:.9;letter-spacing:-.055em;margin:55px 0 82px}
.site-footer{padding:26px 3vw;background:var(--char)}
.footer-wordmark{display:none!important}.footer-meta{margin-top:0}
@media(max-width:800px){
 .hero-title{margin-top:10vh}.hero h1{font-size:14vw}
 .marquee{padding:10px 0}.marquee div{font-size:12px}
 .global h2{font-size:12vw;line-height:.92}.global h2 em{margin-left:0}
 .contact h2{font-size:11vw;line-height:.95}
 .site-footer{padding:22px 6vw}
}


/* v0.8 — rounded, natural-width typography */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500&family=Noto+Sans+JP:wght@300;400;500&display=swap');
body{font-family:"DM Sans","Noto Sans JP",sans-serif}
.hero h1,.business-intro h2,.business-grid h3,.news-heading h2,.company-title h2{font-family:"DM Sans",sans-serif;font-stretch:normal;font-weight:400;letter-spacing:-.045em}
.hero h1{font-size:clamp(58px,8vw,120px);line-height:.86}
.business-intro h2{font-size:clamp(48px,6.2vw,92px);line-height:.92}
.business-grid h3{font-size:clamp(24px,2.35vw,36px);line-height:1.02;letter-spacing:-.035em}
.news-heading h2{font-size:clamp(46px,5.6vw,82px);line-height:.95}
.company-title h2{font-size:clamp(42px,5vw,74px);line-height:.92}
.global{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;align-items:end}
.global>span{grid-column:1/-1}.global-main{position:relative;z-index:2;margin-top:58px;align-self:start}
.global-main .global-en{font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.14em;margin:0 0 26px}
.global-main h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(32px,3.7vw,54px);line-height:1.45;letter-spacing:-.045em;font-weight:500;margin:0}
.global-copy{margin:58px 0 0;max-width:600px}.global-copy h3{display:none}
.contact{display:grid;grid-template-columns:1fr;}
.contact h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(32px,3.8vw,56px);line-height:1.4;letter-spacing:-.04em;font-weight:500;margin:52px 0 72px;max-width:780px}
.marquee div{font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.11em}
.site-footer{padding:18px 3vw;background:var(--char)}.footer-meta{margin:0;font-size:9px;opacity:.8}
@media(max-width:800px){
 .hero h1{font-size:13.5vw;line-height:.9}.business-intro h2{font-size:13vw}.business-grid h3{font-size:7vw}
 .global{grid-template-columns:1fr}.global-main{margin-top:42px}.global-main h2{font-size:8.5vw}.global-copy{margin-top:50px}
 .contact h2{font-size:8.5vw}.news-heading h2{font-size:12vw}.company-title h2{font-size:11vw}
}

/* v0.9 — header, mobile navigation and final usability polish */
.site-header{padding:14px 2.8vw;transition:background .25s ease,backdrop-filter .25s ease;border-bottom:1px solid rgba(216,207,195,.35);background:rgba(246,241,233,.76);backdrop-filter:blur(12px)}
.brand img{width:50px;height:50px}.site-nav{gap:27px}.site-nav a{font-size:10px;letter-spacing:.12em;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:width .25s ease}.site-nav a:hover:after{width:100%}.nav-contact{padding:9px 14px;border:1px solid rgba(52,51,48,.5);border-radius:999px}.nav-contact:after{display:none!important}
.scroll{font-size:10px;letter-spacing:.14em;opacity:.7}.scroll:after{content:" ↓"}
.news-empty{border-bottom:1px solid var(--line);opacity:.65}.news-list a:last-child{border-bottom:1px solid var(--line)}
@media(max-width:800px){
 .site-header{padding:12px 5vw}.brand img{width:44px;height:44px}.menu-toggle{display:block;position:relative;z-index:42;font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.12em;padding:10px 0;color:var(--char)}
 .site-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;background:rgba(246,241,233,.98);padding:120px 7vw 50px;flex-direction:column;align-items:flex-start;gap:0;transform:translateY(-10px);transition:.25s ease;z-index:40}
 .site-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.site-nav a{width:100%;font-size:9vw;letter-spacing:-.04em;text-transform:none;padding:13px 0;border-bottom:1px solid var(--line)}.site-nav a:after{display:none}.site-nav .nav-contact{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0}
 body.menu-open{overflow:hidden}.hero{min-height:680px}.hero-copy{font-size:14px;line-height:1.8;bottom:10vh}.scroll{bottom:18px;font-size:9px}
 .news-list a,.news-empty{grid-template-columns:92px 1fr auto;gap:12px}.news-list strong{font-size:13px}
}

/* v1.0 release-candidate additions */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer-links{display:flex;align-items:center;gap:28px}.footer-links a{color:inherit;text-decoration:none}
.legal-page,.news-single-wrap,.not-found{min-height:75vh;padding:150px 6vw 110px;background:var(--cream)}
.legal-head{display:grid;grid-template-columns:30% 70%;align-items:start;border-bottom:1px solid var(--line);padding-bottom:55px}
.legal-head>span,.news-single-head>span{font-size:10px;letter-spacing:.16em}
.legal-head h1{font-size:clamp(34px,4.2vw,60px);font-weight:500;margin:0;letter-spacing:-.04em}
.legal-content{max-width:820px;margin:70px auto 0;line-height:2}
.legal-content h2{font-size:18px;margin:48px 0 10px}.legal-content p{font-size:14px}.legal-date{margin-top:55px}
.news-single-wrap{max-width:1200px;margin:auto}.news-single-head{padding-bottom:60px;border-bottom:1px solid var(--line)}
.news-single-head time{display:block;margin:55px 0 16px;font-size:11px;letter-spacing:.1em}.news-single-head h1{font-size:clamp(32px,4vw,58px);font-weight:500;letter-spacing:-.035em;margin:0;line-height:1.35}
.news-single-body{max-width:800px;margin:65px auto;line-height:2}.news-single-body p{margin:0 0 1.7em}.news-single-body img{max-width:100%;height:auto}.back-news{display:inline-block;color:inherit;text-decoration:none;border-bottom:1px solid var(--char);padding-bottom:4px}
.not-found span{font-size:10px;letter-spacing:.18em}.not-found h1{font-size:clamp(36px,5vw,70px);font-weight:500;margin:60px 0 20px}.not-found a{display:inline-block;margin-top:45px;color:inherit;text-decoration:none;border-bottom:1px solid var(--char);padding-bottom:5px}
@media(max-width:800px){.footer-meta{align-items:flex-start}.footer-links{flex-direction:column;align-items:flex-end;gap:10px}.legal-page,.news-single-wrap,.not-found{padding:120px 6vw 80px}.legal-head{grid-template-columns:1fr;gap:30px}.legal-content{margin-top:45px}}

/* v1.5: accessible, opaque mobile navigation */
@media (max-width:800px) {
  .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .site-header:has(.site-nav.open) { background:#F5F1E9; }
  .site-header .menu-toggle { z-index:102; min-width:66px; min-height:44px; text-align:right; font-size:12px; font-weight:500; color:#333333; cursor:pointer; }
  .site-header .site-nav { position:fixed; inset:0; top:0; right:0; bottom:0; left:0; width:100vw; height:100vh; height:100dvh; max-height:none; padding:110px 7vw 40px; margin:0; overflow-y:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; background:#F5F1E9; color:#333333; z-index:100; visibility:hidden; opacity:0; pointer-events:none; transform:none; transition:opacity .2s ease,visibility .2s ease; }
  .site-header .site-nav.open { visibility:visible; opacity:1; pointer-events:auto; transform:none; }
  .site-header .site-nav a, .site-header .site-nav .nav-contact { display:block; width:100%; margin:0; padding:18px 0; border:0; border-bottom:1px solid #D8CFC3; border-radius:0; background:none; color:#333333; font-family:"DM Sans","Noto Sans JP",sans-serif; font-size:clamp(27px,8vw,40px); font-weight:400; line-height:1.25; letter-spacing:-.035em; text-transform:uppercase; text-decoration:none; opacity:1; }
  .site-header .brand { position:relative; z-index:102; }
  body.menu-open { overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) { .site-header .site-nav { transition:none; } }
