@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;600;700&display=swap');
:root{--ink:#1e343d;--paper:#f5f4ef;--blue:#24485b;--cream:#e8e6db;--line:#c5cdd0;font-family:'Noto Sans JP',sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}a{color:inherit}.skip{position:absolute;left:12px;top:-80px;z-index:20;background:white;padding:8px}.skip:focus{top:8px}
.demo-note{margin:0;background:#24333c;color:#fff;text-align:center;padding:7px 14px;font-size:10px;line-height:1.6}.mast{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(20px,4vw,68px);background:#fff}.brand{text-decoration:none;font-family:'Noto Serif JP',serif;font-size:26px;line-height:1;font-weight:700;white-space:nowrap}.brand span{display:block;font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.12em;margin-top:8px}.mast nav{display:flex;gap:clamp(12px,2vw,32px);font-size:12px}.mast nav a{text-decoration:none}.mast nav a:hover,.mast nav a:focus-visible,.text-link:hover,.text-link:focus-visible{text-decoration:underline;text-underline-offset:5px}
.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);min-height:min(760px,76vw)}.hero-photo{position:relative;min-width:0;margin:0;background:#d0d6d8}.hero-photo img{width:100%;height:100%;min-height:610px;object-fit:cover;object-position:55% center;display:block}.hero-photo figcaption{position:absolute;bottom:20px;left:clamp(20px,4vw,60px);color:white;font-size:10px;letter-spacing:.16em;text-shadow:0 1px 5px #25343c}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(35px,6vw,100px) clamp(26px,5vw,90px);background:var(--blue);color:#f6f5f0}.category{display:block;font-size:14px;letter-spacing:.1em;padding-bottom:12px;border-bottom:1px solid #9ab0ba}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(46px,5.3vw,94px);font-weight:600;letter-spacing:-.045em;line-height:1.35;margin:clamp(32px,4vw,62px) 0}.hero h1 em{font-style:normal;color:#d7d5c7}.hero-copy p{font-size:14px;line-height:2;max-width:23em}.text-link{display:inline-flex;justify-content:space-between;gap:25px;text-decoration:none;border-bottom:1px solid currentColor;padding:13px 0;font-size:13px;min-width:190px;margin-top:20px}
.work{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,50px);padding:clamp(90px,11vw,170px) clamp(20px,5vw,90px);align-items:center}.section-no{font-size:11px;letter-spacing:.16em;align-self:start}.work h2,.clothes h2{font-family:'Noto Serif JP',serif;font-size:clamp(30px,3.5vw,57px);font-weight:600;line-height:1.5;margin:0 0 28px}.work p{font-size:14px;line-height:2.1;max-width:30em}.work-photo{margin:0;overflow:hidden;height:430px}.work-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:80% center;transform:scale(1.45)}.clothes{background:var(--cream);padding:clamp(70px,9vw,140px) clamp(20px,5vw,90px)}.clothes-head{display:flex;justify-content:space-between;gap:30px;align-items:start}.clothes-head span{font-size:11px;letter-spacing:.16em}.clothes h2{margin:0 0 38px}.clothes figure{margin:0}.clothes img{width:100%;max-height:690px;object-fit:cover;display:block}.clothes figcaption{font-size:11px;line-height:1.6;margin-top:13px}.about{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;padding:55px clamp(20px,5vw,90px);align-items:start;border-top:1px solid var(--line);font-size:12px}.about span{font-size:10px;letter-spacing:.13em}.about p{line-height:1.9;margin:0}.about a{text-align:right;text-decoration:none}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,5vw,90px);background:#20333d;color:#fff;font-size:11px}footer a{text-decoration:none}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}.hero-photo img{min-height:570px}.hero-copy{padding:40px}.hero h1{font-size:clamp(38px,5.5vw,60px)}.work{grid-template-columns:80px 1fr 1fr}.work-photo{height:380px}.about{grid-template-columns:1fr 2fr}.about a{text-align:left}}
@media(max-width:700px){.mast{min-height:66px}.brand{font-size:20px}.mast nav a:nth-child(1),.mast nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr}.hero-photo img{height:clamp(330px,90vw,600px);min-height:0;object-position:center 46%}.hero-copy{padding:30px 24px 48px}.hero h1{font-size:clamp(46px,11vw,73px);margin:25px 0}.hero-copy p{margin:0}.work{grid-template-columns:1fr;padding:70px 24px;gap:22px}.work-photo{height:360px}.clothes-head{display:block}.clothes-head span{display:block;margin-bottom:20px}.clothes h2{margin-bottom:28px}.about{grid-template-columns:1fr}.about a{text-align:left}footer{flex-direction:column}}
@media(max-width:390px){.hero-photo img{height:350px}.hero h1{font-size:44px}.hero-copy{padding:26px 20px 42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero h1{font-size:clamp(37px,3.9vw,58px);letter-spacing:-.055em;line-height:1.42;white-space:nowrap}
@media(max-width:700px){.hero h1{font-size:clamp(38px,8.3vw,54px)}}
@media(max-width:390px){.hero h1{font-size:38px}}

.hero h1 .service-name{font-size:.78em;letter-spacing:-.07em;white-space:nowrap}
@media(min-width:391px) and (max-width:700px){.hero-photo img{height:min(68vw,430px)}}
