*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f4;color:#141312;font-family:"Noto Sans JP",sans-serif;font-weight:400;line-height:2.1}a{color:inherit;text-decoration:none}img{max-width:100%}.header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,244,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid #e8e4e0}.brand img{width:115px;display:block}.header nav{display:flex;gap:30px}.header nav a{font-size:10px;letter-spacing:.15em}.header nav a:hover,.text-link:hover{color:#a48d6b}.menu-button{display:none}.hero{min-height:calc(100svh - 82px);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 20px 130px}.eyebrow,.overline{font-size:11px;letter-spacing:.27em;color:#a48d6b;font-weight:500}.hero-logo{width:min(360px,65vw);display:block;margin:40px auto 56px}.hero h1{font-size:clamp(28px,3.6vw,49px);font-weight:500;line-height:1.75;letter-spacing:.16em;margin:0 0 25px}.hero p{font-size:13px;line-height:2.4;letter-spacing:.08em;color:#676765}.scroll-cue{display:block;margin-top:65px;font-size:9px;letter-spacing:.25em;color:#858585}.scroll-cue span{display:block;font-size:20px;margin-top:10px}.hero-number{position:absolute;bottom:26px;left:6.5%;font-size:9px;letter-spacing:.2em;color:#a7a29c}.section{display:grid;grid-template-columns:25% 75%;padding:140px 9% 150px;gap:30px;border-top:1px solid #e8e4e0}.section-heading{display:flex;align-items:flex-start;gap:15px;font-size:11px;letter-spacing:.18em;color:#676765}.section-heading .num{color:#a48d6b}.section-body{max-width:760px}.section h2{font-size:clamp(28px,3vw,43px);font-weight:500;letter-spacing:.09em;line-height:1.8;margin:25px 0 45px}.section-body>p:not(.overline):not(.name):not(.small){font-size:14px;line-height:2.5;max-width:640px;color:#55524e;margin-bottom:26px}.section .lead{font-size:19px!important;line-height:2.3!important;color:#141312!important;margin-bottom:40px!important}.statement{background:#141312;color:white;text-align:center;padding:115px 20px}.statement span{color:#a48d6b;font-size:10px;letter-spacing:.3em}.statement p{font-size:clamp(22px,3vw,38px);line-height:2;letter-spacing:.1em;font-weight:300}.note{border-left:2px solid #a48d6b;padding:10px 20px;margin-top:55px;color:#858585;font-size:12px}.business{background:#f0eeeb}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px}.card{background:#fff;padding:34px 25px;display:flex;flex-direction:column;min-height:450px}.card-index{font-size:9px;letter-spacing:.12em;color:#a48d6b}.card h3{font-size:23px;letter-spacing:.08em;margin:35px 0 0;font-weight:500}.card-jp{font-size:12px!important;margin:5px 0 25px!important;color:#858585!important}.card p{font-size:12px;line-height:2.2;color:#676765}.card .meta{margin-top:auto;font-size:10px;color:#a48d6b}.text-link{font-size:11px;margin-top:12px;border-bottom:1px solid #a48d6b;width:max-content}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:45px 0 25px}.price-grid div{border-top:1px solid #a48d6b;padding:22px 12px 15px 0;display:flex;flex-direction:column}.price-grid span{font-size:12px;color:#676765}.price-grid strong{font-size:17px;font-weight:500;margin-top:10px}.price-grid small{font-size:10px;color:#a48d6b}.small{font-size:11px!important;color:#858585!important;line-height:2.2!important}.name{font-size:19px!important;font-weight:500}.name span{font-size:12px;font-weight:400;color:#858585}.contact{text-align:center;padding:140px 20px;background:#eae6e0}.contact h2{font-size:clamp(38px,6vw,75px);font-weight:400;letter-spacing:.22em;margin:15px 0 30px}.contact>p:not(.overline){font-size:13px}.contact-button{display:inline-flex;justify-content:space-between;align-items:center;min-width:270px;border:1px solid #141312;padding:13px 22px;margin:25px 0 35px;font-size:13px}.contact-button:hover{background:#141312;color:white}footer{background:#141312;color:white;display:flex;align-items:center;gap:30px;padding:55px 8%;font-size:11px}footer img{width:125px}footer small{margin-left:auto;color:#a7a29c;font-size:10px}@media(max-width:850px){.header{height:70px}.menu-button{display:flex;align-items:center;gap:12px;background:none;border:0;font:inherit;font-size:10px;letter-spacing:.12em}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#f7f6f4;padding:24px 7%;flex-direction:column;gap:20px;border-bottom:1px solid #e8e4e0}.header nav.open{display:flex}.section{display:block;padding:85px 7%}.section-heading{margin-bottom:40px}.section h2{margin-bottom:30px}.cards{grid-template-columns:1fr}.card{min-height:0}.price-grid{grid-template-columns:1fr}.hero{min-height:calc(100svh - 70px)}.hero-logo{margin:25px auto 40px}footer{flex-wrap:wrap;gap:20px}footer small{width:100%;margin:0}.name span{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Ver.0.2：正式ロゴに「育動」を添える */
.hero-logo-lockup{display:flex;flex-direction:column;align-items:center;margin:40px auto 56px}
.hero-logo-lockup .hero-logo{margin:0 auto}
.hero-japanese-name{font-size:clamp(17px,2vw,22px);font-weight:500;letter-spacing:.48em;padding-left:.48em;margin-top:18px;line-height:1.5}
@media(max-width:850px){.hero-logo-lockup{margin:25px auto 40px}.hero-japanese-name{margin-top:14px}}

/* Ver.0.4: 「ここから」の前後にゆとりを持たせ、視線を集める */
.contact h2{margin-top:75px;margin-bottom:85px;}
@media(max-width:850px){.contact h2{margin-top:58px;margin-bottom:68px;}}

/* Ver.0.5: 操作性・アクセシビリティの改善。採用済みの色・文字・余白は維持 */
html{scroll-padding-top:90px}
section[id]{scroll-margin-top:90px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#141312;color:#fff;padding:8px 18px;font-size:13px}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible{outline:2px solid #a48d6b;outline-offset:5px}
.menu-button{cursor:pointer;min-height:44px}
@media(max-width:850px){.header nav a{display:flex;align-items:center;min-height:44px}.header nav{gap:8px}.hero-number{font-size:8px}}
@media(max-width:480px){.section{padding-left:7%;padding-right:7%}.hero h1{letter-spacing:.09em}.card{padding:30px 22px}.contact-button{min-width:0;width:min(100%,330px)}}
