:root{
  --ink:#27231e;--gold:#9a7b32;--gold-dark:#735b22;--paper:#fbfaf6;--line:#d9d0bd;
  --serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.9}
img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}.section{padding:72px max(28px,calc((100% - 1180px)/2))}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid #eee;backdrop-filter:blur(10px)}
.header-inner{max-width:1280px;margin:auto;min-height:76px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{font-family:var(--serif);font-size:36px;line-height:1;color:var(--gold)}.brand b{display:block;font-family:var(--serif);font-size:20px;letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.25em;color:#555}
.global-nav{display:flex;align-items:stretch;gap:26px;height:76px}.global-nav>a:not(.header-contact){display:flex;flex-direction:column;justify-content:center;font-size:11px;letter-spacing:.08em;text-align:center}.global-nav small{font-size:9px;letter-spacing:0;color:#777}.header-contact,.gold-btn{background:var(--gold);color:white;padding:11px 25px;display:inline-flex;align-items:center;gap:12px;letter-spacing:.05em}.header-contact{margin:10px 0;font-size:12px}.menu-toggle{display:none;border:1px solid var(--gold);background:white;padding:9px 12px;color:var(--gold)}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:white}.hero-copy{padding:60px max(28px,calc((100vw - 1180px)/2)) 55px max(28px,calc((100vw - 1180px)/2));padding-right:50px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:.3em;color:var(--gold);margin:0 0 18px}.hero h1{font:500 clamp(30px,4vw,48px)/1.75 var(--serif);letter-spacing:.08em;margin:0 0 18px}.lead{font-size:13px;line-height:2.05;margin:0 0 26px}.gold-btn{align-self:flex-start;min-width:185px;justify-content:center}.hero-photo{position:relative;min-height:500px}.hero-photo img{height:100%}.hero-message{position:absolute;right:1%;top:20%;font:300 clamp(21px,3vw,35px)/1.8 var(--serif);letter-spacing:.12em;text-align:center}.hero-message small{font:10px/1.8 var(--sans);letter-spacing:.2em;display:block;margin-top:25px}
.section-label{margin-bottom:25px}.section-label span{display:inline-block;color:var(--gold);font-size:11px;letter-spacing:.25em;border-right:60px solid var(--line);padding-right:12px;line-height:1}.section-label small{display:block;font-size:10px;margin-top:6px}.section-label.center{text-align:center}.section-label.center span{border:0;padding:0}
.concept{background:white}.concept-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:50px;align-items:center}.concept h2,.support h2,.partner h2{font:500 29px/1.75 var(--serif);margin:0;letter-spacing:.06em}.concept p,.partner p,.support p{font-size:12px;line-height:2.2;margin:0}.concept-grid img{height:180px}
.services{background:#faf9f4}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.section-head>p{font-family:var(--serif);margin:0;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-card{background:white;border:1px solid #e9e4d8;padding-bottom:22px}.service-card img{height:112px}.service-card>*:not(img){margin-left:20px;margin-right:20px}.num{font:400 22px var(--serif);color:var(--gold);margin-top:9px}.service-card h3{font:500 20px var(--serif);margin-top:0;margin-bottom:6px}.service-card p{font-size:11px;line-height:1.9;color:#666;min-height:68px}.service-card a{color:var(--gold);font-size:20px}
.flow{padding:60px max(28px,calc((100% - 1100px)/2));background:linear-gradient(90deg,#f6f2e8,#fff,#f6f2e8);border-top:1px solid #eee}.flow-row{display:grid;grid-template-columns:150px 30px 150px 30px 150px 1fr;align-items:center;gap:10px}.flow-item{aspect-ratio:1;border:1px solid #d6c9a9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fffdf8}.flow-item strong{font:500 18px/1.6 var(--serif)}.flow-item small{font-size:9px;line-height:1.6;color:#777}.flow-row>i{font:30px var(--serif);color:var(--gold);font-style:normal}.flow-copy{border-left:1px solid #cfc5b0;padding-left:30px}.flow-copy h3{font:500 20px/1.8 var(--serif);margin:0 0 8px}.flow-copy p{font-size:10px;margin:0}
.support{display:grid;grid-template-columns:190px 1fr 300px;gap:35px;align-items:center;background:white}.support>img{height:145px}.support-list{background:#faf8f0;border:1px solid #e4ddcd;padding:15px 20px;font-size:10px}.support-list b{font:500 13px var(--serif)}.support-list ul{padding-left:18px;margin:7px 0 0;line-height:2}.support-list li::marker{color:var(--gold)}
.partner{display:grid;grid-template-columns:1.3fr .8fr .7fr;gap:35px;align-items:center;background:#fbfaf6}.partner>img{height:190px}.hugkum{border-left:1px solid #ddd5c5;padding-left:35px}.hug-logo{font:500 29px var(--serif);letter-spacing:.04em}.hugkum p{margin:8px 0 18px;font-size:11px}.outline-btn{border:1px solid #bcae8f;padding:8px 22px;font-size:10px;display:inline-block}
.cta{background:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68)),url("image/cta.jpg") center/cover;min-height:145px}.cta-inner{max-width:1180px;margin:auto;padding:35px 28px;display:flex;justify-content:flex-end;align-items:center;gap:10px}.cta h2{font:500 21px/1.8 var(--serif);margin:0}
.company{background:white}.company-grid{display:grid;grid-template-columns:1fr 2fr;gap:50px}.company h2{font:500 30px var(--serif);margin:0}.company dl{display:grid;grid-template-columns:120px 1fr;margin:0;font-size:12px}.company dt,.company dd{border-top:1px solid #e4e0d7;padding:12px 0;margin:0}.company dt{color:#766746}.footer{background:#fff;border-top:1px solid #eee}.footer-inner{max-width:1180px;margin:auto;padding:25px 28px;display:grid;grid-template-columns:1fr 2fr auto;gap:25px;align-items:center}.footer nav{display:flex;justify-content:center;gap:25px;font-size:10px}.footer>small{font-size:9px;color:#888}
@media(max-width:900px){
 .global-nav{gap:13px}.header-inner{padding:0 18px}.global-nav .header-contact{padding:9px 14px}
 .hero-copy{padding-left:28px}.hero h1{font-size:34px}.lead{font-size:11px}.concept-grid{grid-template-columns:1fr 1fr;gap:25px}.concept-grid img{grid-column:1/-1;height:210px}.service-grid{grid-template-columns:repeat(2,1fr)}.flow-row{grid-template-columns:130px 22px 130px 22px 130px 1fr}.support{grid-template-columns:150px 1fr}.support-list{grid-column:1/-1}.partner{grid-template-columns:1fr 1fr}.partner>img{grid-column:1/-1}.footer-inner{grid-template-columns:1fr}.footer nav{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:680px){
 .section{padding:52px 20px}.header-inner{min-height:66px}.menu-toggle{display:block}.global-nav{position:absolute;left:0;right:0;top:66px;height:auto;background:white;border-top:1px solid #eee;display:none;flex-direction:column;padding:10px 20px;gap:0;box-shadow:0 8px 20px rgba(0,0,0,.08)}.global-nav.is-open{display:flex}.global-nav>a:not(.header-contact){padding:11px 0;border-bottom:1px solid #eee;text-align:left;display:block}.global-nav small{margin-left:10px}.global-nav .header-contact{margin:12px 0;text-align:center;justify-content:center}.brand b{font-size:17px}.brand-mark{font-size:30px}
 .hero{grid-template-columns:1fr}.hero-copy{padding:48px 20px}.hero-photo{min-height:330px}.hero-message{top:10%;font-size:25px}.lead br{display:none}
 .concept-grid{grid-template-columns:1fr}.concept-grid img{grid-column:auto;height:190px}.concept h2,.support h2,.partner h2{font-size:25px}.section-head{display:block}.section-head>p{margin-top:15px;font-size:12px}.service-grid{grid-template-columns:1fr 1fr;gap:7px}.service-card img{height:100px}.service-card>*:not(img){margin-left:13px;margin-right:13px}.service-card h3{font-size:16px}.service-card p{font-size:10px;min-height:85px}
 .flow-row{grid-template-columns:1fr;justify-items:center}.flow-row>i{transform:rotate(90deg)}.flow-item{width:145px}.flow-copy{border-left:0;border-top:1px solid #cfc5b0;padding:22px 0 0;text-align:center;margin-top:10px}
 .support{grid-template-columns:1fr}.support>img{height:190px}.partner{grid-template-columns:1fr}.hugkum{border-left:0;border-top:1px solid #ddd5c5;padding:25px 0 0}.partner>img{grid-column:auto;height:180px}
 .cta-inner{display:block;padding:30px 20px}.cta .gold-btn{margin-top:18px}.company-grid{grid-template-columns:1fr;gap:20px}.company dl{grid-template-columns:90px 1fr}.footer nav{gap:12px}
}
