*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#FAFAFA;color:#171717}.site{--serif:'Noto Serif JP',Georgia,serif;--sans:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}.site a{color:inherit;text-decoration:none}.site a:focus-visible,.site summary:focus-visible{outline:2px solid #171717;outline-offset:7px}.header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);font-size:26px;line-height:1.2;letter-spacing:.13em}.brand-mark{width:27px;height:27px;border:1px solid #171717;border-radius:50%;position:relative}.brand-mark:after{content:'';position:absolute;inset:5px;border:1px solid #171717;border-radius:50%;transform:translateX(5px)}.brand-en{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.2em;margin-top:7px}.header nav{display:flex;align-items:center;gap:33px;font-size:11px;letter-spacing:.06em}.nav-contact{border-bottom:1px solid #171717;padding:8px 0}.nav-contact span{margin-left:19px}.hero{min-height:685px;min-height:min(780px,calc(100svh - 100px));padding:65px 5% 0;display:flex;flex-direction:column;align-items:center;text-align:center}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.19em;margin:0}.hero h1{font-family:var(--serif);font-size:clamp(46px,7.5vw,108px);font-weight:400;letter-spacing:.035em;line-height:1.55;margin:36px 0 13px}.hero h1 span{display:block}.hero-english{font-family:Georgia,serif;font-size:clamp(20px,2.1vw,29px);font-style:italic;color:#68665f;margin:12px 0 72px}.hero-foot{width:100%;margin-top:auto;padding:25px 0;border-bottom:1px solid #cbc9c3;display:flex;justify-content:space-between;text-align:left;font-size:11px;letter-spacing:.08em}.hero-foot a{font-size:9px;letter-spacing:.14em}.hero-foot a span{margin-left:30px;font-size:17px}.section-wrap{max-width:1440px;margin:auto;padding:76px 8% 90px}.section-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;color:#65635e}.section-label span:last-child{letter-spacing:.06em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%;margin-top:52px}.site h2{font-family:var(--serif);font-weight:400;letter-spacing:.03em;font-size:clamp(29px,3.1vw,43px);line-height:1.8;margin:0}.circle-study{display:flex;margin-top:42px;height:74px;align-items:center;padding-left:1px}.circle-study span{width:72px;height:72px;border:1px solid #96938a;border-radius:50%;margin-right:-23px}.circle-study span:nth-child(2){border-color:#bbb8ae}.circle-study span:nth-child(3){border-color:#77746c}.motif-caption{font-size:8px;letter-spacing:.17em;color:#77746c;margin-top:15px}.about-copy{padding-top:3px;max-width:440px}.about-copy p{margin:0 0 22px;font-size:13px;line-height:2.15}.about-copy .lead{font-size:18px;line-height:1.95;margin-bottom:24px}.text-note{display:block;font-size:11px;margin-top:30px;color:#68665f}.services{padding-top:25px;padding-bottom:100px}.services .section-label{border-top:1px solid #cbc9c3;padding-top:27px}.services-intro{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:44px 0 43px}.services-intro h2{font-size:clamp(26px,2.8vw,38px)}.services-intro>p{font-size:12px;color:#68665f;line-height:2}.service-row{display:grid;grid-template-columns:55px 1fr 1fr;gap:22px;padding:35px 0;border-top:1px solid #d9d7d1}.service-row:last-child{border-bottom:1px solid #d9d7d1}.service-number{font-family:Georgia,serif;font-size:15px;font-style:italic;color:#77746c;padding-top:3px}.service-title>p{font-size:9px;letter-spacing:.15em;margin:0 0 10px;color:#68665f}.service-title h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0;line-height:1.6}.service-copy>p{font-size:12px;line-height:2;margin:0 0 12px;max-width:390px}.service-copy small{font-size:10px;color:#77746c}.contact{background:#efede7;padding:76px 24px 65px;text-align:center}.contact-inner{max-width:650px;margin:auto}.contact h2{margin:24px 0 20px;font-size:clamp(30px,3.6vw,47px)}.contact-copy{font-size:12px;line-height:2.1;color:#57554f;margin-bottom:33px}.contact details{max-width:430px;margin:auto;text-align:left;border-top:1px solid #9b988e;border-bottom:1px solid #9b988e}.contact summary{cursor:pointer;list-style:none;padding:19px 4px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.contact summary::-webkit-details-marker{display:none}.detail-plus{font-size:21px;font-weight:400}.contact details[open] .detail-plus{transform:rotate(45deg)}.brief-content{padding:0 4px 21px;font-size:12px}.brief-content ol{padding-left:22px}.brief-content .static-note{font-size:10px;color:#68665f;line-height:1.8;margin-top:20px}.footer{max-width:1440px;margin:auto;padding:33px 5%;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-brand{font-family:var(--serif);font-size:24px;letter-spacing:.1em}.footer-brand span{font-family:var(--sans);font-size:9px;letter-spacing:.15em;margin-left:13px}.footer>p{font-size:10px;color:#68665f}.footer>small{font-size:8px;letter-spacing:.08em;color:#77746c}@media(min-width:1500px){.hero{max-width:1440px;margin:auto}}@media(max-width:760px){.header{padding:23px 6%}.header nav{gap:20px}.header nav>a:first-child{display:none}.hero{padding:65px 6% 0;min-height:650px}.hero h1{font-size:clamp(42px,8.8vw,66px);margin-top:45px;line-height:1.65;letter-spacing:0}.hero-english{margin-top:20px;margin-bottom:70px}.eyebrow{font-size:9px;letter-spacing:.13em}.hero-foot{font-size:9px;gap:18px}.hero-foot a{font-size:8px;white-space:nowrap}.hero-foot a span{margin-left:12px}.section-wrap{padding:55px 7% 60px}.about-grid{grid-template-columns:1fr;gap:30px;margin-top:34px}.circle-study{margin-top:26px;height:57px}.circle-study span{width:56px;height:56px;margin-right:-18px}.about-copy{max-width:none}.about-copy .lead{font-size:17px}.services{padding-top:12px}.services-intro{display:block;margin:31px 0}.services-intro>p{margin-top:18px}.service-row{grid-template-columns:30px 1fr;gap:12px;padding:27px 0}.service-copy{grid-column:2}.service-title h3{font-size:22px}.service-copy>p{max-width:none}.contact{padding:57px 7%}.footer{flex-wrap:wrap;padding:28px 7%;gap:12px}.footer>p{margin-left:auto}.footer>small{width:100%}}@media(max-width:380px){.header nav{gap:12px;font-size:10px}.brand{font-size:23px}.brand-mark{width:23px;height:23px}.hero h1{font-size:11.2vw}.hero-foot{letter-spacing:0}.hero-foot a span{margin-left:5px}.service-title h3{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}