:root{--ink:#252722;--green:#4d7752;--lime:#d8e7d0;--paper:#fff;--line:#dddcd5;--muted:#50534e}
body{color:var(--ink);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;font-weight:400;line-height:1.9}
.page-shell{width:min(100% - 80px,1320px)}
.site-header{background:rgba(255,255,255,.97);box-shadow:none;backdrop-filter:none}
.header-inner{min-height:87px}.brand img{width:188px}
.desktop-nav{gap:clamp(16px,2vw,32px);font-size:14px;font-weight:700}
.desktop-nav>a:not(.nav-contact){border-bottom:1px solid transparent}
.desktop-nav>a:not(.nav-contact):hover{border-color:var(--ink);color:var(--ink)}
.desktop-nav .nav-contact{padding:12px 18px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:14px;font-weight:700}
.desktop-nav .nav-contact:hover{background:var(--ink);color:#fff}
.legal-main{padding:105px 0 125px}
.section-label{gap:18px;color:#4d514c;font-size:13px;font-weight:700;letter-spacing:.06em}
.section-number{color:var(--green);font:700 18px/1.5 'Noto Sans JP',sans-serif;letter-spacing:0}
.legal-main h1{margin:25px 0 28px;font-family:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(43px,4.9vw,72px);font-weight:600;line-height:1.45;letter-spacing:-.045em}
.legal-main .intro{max-width:870px;color:var(--muted);font-size:17px;font-weight:500;line-height:2}
.legal-content{max-width:1000px;margin-top:65px}
.legal-content section{padding:30px 0;border-color:var(--line)}
.legal-content h2{margin-bottom:16px;font-family:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;font-size:26px;font-weight:600;line-height:1.6}
.legal-content p,.legal-content li{color:var(--muted);font-size:16px;line-height:2}
.company-details>div{grid-template-columns:190px 1fr;gap:20px;padding:19px 0;border-color:var(--line)}
.company-details dt{font-weight:700}.company-details dd{color:var(--muted)}
.site-footer{padding-top:50px;background:#fff}.footer-brand img{width:175px}.footer-main p{font-weight:700}.footer-main nav{font-size:13px;font-weight:700}.footer-bottom{color:#6b6f69}
@media(max-width:1120px){.desktop-nav{display:none}.mobile-menu{position:relative;display:block}.header-inner{min-height:74px}.brand img{width:165px}.mobile-menu summary{display:flex;flex-direction:row;align-items:center;gap:9px;min-width:0;min-height:0;padding:9px 12px;border:1px solid var(--ink);font-size:13px;font-weight:700}.mobile-menu summary span:first-child{font-size:16px}.mobile-menu nav{top:calc(100% + 8px);border-color:var(--line);box-shadow:0 15px 30px rgba(0,0,0,.1)}.mobile-menu nav a{font-weight:500}}
@media(max-width:850px){.page-shell{width:min(100% - 44px,680px)}.brand img{width:160px}.legal-main{padding:78px 0 90px}.legal-main .intro{font-size:16px}.legal-content{margin-top:50px}.legal-content h2{font-size:23px}.company-details>div{grid-template-columns:1fr;gap:5px}}
@media(max-width:600px){.page-shell{width:calc(100% - 38px)}.brand img{width:150px}.legal-main{padding:67px 0 78px}.legal-main h1{font-size:clamp(36px,9vw,47px)}.legal-main .intro,.legal-content p,.legal-content li{font-size:15px}.section-label{font-size:12px}.section-number{font-size:17px}.footer-brand img{width:150px}}
@media(max-width:350px){.brand img{width:135px}.mobile-menu summary{gap:6px;padding:8px 9px;font-size:12px;white-space:nowrap}}
