:root{--ink:#273e35;--deep:#243e35;--muted:#69736a;--paper:#faf8f1;--warm:#eee9dd;--accent:#b97d34;--line:#d8d9ce;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5;letter-spacing:.02em}h1{font-size:clamp(33px,3.75vw,54px);line-height:1.55;font-weight:800;letter-spacing:-.025em}h2{font-size:clamp(28px,3.1vw,40px);font-weight:800}h3{font-size:25px;font-weight:800}em{font-style:normal;color:var(--accent)}.skip{position:absolute;top:-90px;left:20px;background:white;padding:12px 20px;z-index:20}.skip:focus{top:12px}.header{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 32px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,"Yu Mincho",serif;font-size:27px;font-weight:700;letter-spacing:.08em;line-height:1.2;display:inline-flex;flex-direction:column;gap:6px}.brand span{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:11px;letter-spacing:.19em;font-weight:700}.header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.header nav a:last-child{border-bottom:2px solid var(--accent);padding-bottom:5px}.hero{max-width:var(--max);margin:auto;padding:70px 32px 80px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:55px;align-items:center}.eyebrow,.small-label{font-size:13px;font-weight:800;letter-spacing:.05em}.eyebrow{margin-bottom:20px;color:var(--accent)}.hero-intro{margin-top:24px;font-size:17px;font-weight:700}.hero-description{font-size:15px;max-width:440px;margin-top:14px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 23px;font-weight:800;font-size:15px;min-height:58px;transition:background .18s,color .18s}.button:hover{background:var(--accent);color:white}.primary{background:var(--deep);color:white;margin-top:28px}.hero-visual{align-self:center;border-top:2px solid var(--ink);padding:25px 2px 0}.visual-title{font-weight:800;font-size:20px;margin-bottom:32px}.relationship{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);align-items:center}.person{text-align:center}.person-symbol{width:72px;height:72px;display:grid;place-content:center;font-family:"Yu Mincho",serif;font-size:29px;font-weight:700;border:2px solid var(--ink);border-radius:50%;margin:0 auto 15px;background:white}.craftsperson .person-symbol{background:var(--ink);color:white}.person strong{display:block;font-size:20px}.person small{font-size:11px;display:block;margin-top:4px}.direct-arrow{text-align:center;padding-bottom:25px}.direct-arrow span{font-size:10px;font-weight:800}.direct-arrow b{display:block;font-size:46px;line-height:1;color:var(--accent)}.support-under{display:flex;justify-content:space-between;align-items:center;text-align:center;margin-top:30px;padding:22px 22px;background:var(--warm);border-bottom:3px solid var(--accent);font-size:13px;line-height:1.7}.support-under strong{font-size:20px}.support-under>span{font-size:25px;color:var(--accent)}.visual-note{margin-top:18px;font-size:11px;color:var(--muted)}.section{max-width:var(--max);margin:auto;padding:75px 32px;border-top:1px solid var(--line)}.section-label{display:flex;gap:18px;align-items:center;margin-bottom:25px;font-size:13px;font-weight:800}.section-label span{font:italic 21px Georgia,serif;color:var(--accent)}.concerns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:65px}.concerns .section-label{grid-column:1/-1}.concern-list p{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:15px}.concern-list strong{display:block;font-size:18px}.section-outro{grid-column:1/-1;margin-top:20px;font-size:18px;font-weight:700;color:var(--accent)}.support h2{margin-bottom:40px}.support-rows article{display:grid;grid-template-columns:45px minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.step-no{font:italic 50px Georgia,serif;color:var(--accent);align-self:start;line-height:1.25}.small-label{color:var(--muted);margin-bottom:8px}.support-rows h3{margin-bottom:9px}.support-rows article p:last-child{font-size:15px;max-width:500px}.step-example{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;justify-content:flex-end;text-align:center}.step-example span{border-bottom:1px solid var(--line);padding:7px 0}.step-example b{color:var(--accent)}.step-example strong{color:var(--accent);font-size:14px}.note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:22px}.case{background:var(--warm);max-width:none;padding-left:max(32px,calc((100vw - 1116px)/2));padding-right:max(32px,calc((100vw - 1116px)/2));border:none}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:40px}.case-heading>p{font-size:14px}.case-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.team-member{display:grid;grid-template-columns:135px minmax(0,1fr);gap:25px;align-items:start}.team-member img{height:190px;object-fit:cover;object-position:center 30%}.team-member h3{margin-bottom:15px}.team-member .role{font-size:13px;color:var(--accent);display:block;line-height:1.7;margin-bottom:12px}.team-member p:last-child{font-size:13px}.case-conclusion{border-top:1px solid #c9cbbd;margin-top:35px;padding-top:28px;font-size:19px}.case .note{max-width:830px}.flow h2{margin-bottom:36px}.flow-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.flow-list li{border-top:3px solid var(--accent);padding-top:20px;position:relative}.flow-list li>span{font:italic 24px Georgia,serif;color:var(--accent)}.flow-list h3{font-size:21px;margin-top:10px;margin-bottom:12px}.flow-list p{font-size:14px}.faq h2{margin-bottom:35px}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}.faq summary{list-style:none;font-size:17px;font-weight:800;cursor:pointer;padding-right:35px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'＋';position:absolute;right:0;top:0;color:var(--accent)}.faq details[open] summary::after{content:'−'}.faq details p{font-size:14px;margin-top:18px;max-width:850px}.contact{max-width:none;background:var(--deep);color:white;padding:70px max(32px,calc((100vw - 1116px)/2));display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:60px;align-items:center}.contact .eyebrow{color:#dbb784}.contact h2{font-size:clamp(25px,2.7vw,37px)}.contact h2+p{font-size:14px;margin-top:22px;color:#d9e1d8}.contact-actions{display:flex;flex-direction:column;gap:14px}.contact-actions .button{width:100%}.contact-actions .light{background:var(--paper);color:var(--ink);display:block;padding:13px 25px}.contact-actions .light>span{font-size:11px;display:block}.contact-actions .light strong{font-size:25px;letter-spacing:.04em}.contact-actions .outline{border:1px solid #8eaa9c}.contact-actions>p{font-size:12px}footer{max-width:var(--max);margin:auto;padding:45px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>p{font-size:12px}footer .copyright{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.hero{gap:30px;padding-top:50px}h1{font-size:39px}.header nav{gap:18px;font-size:12px}.team-member{grid-template-columns:110px minmax(0,1fr);gap:18px}.team-member img{height:165px}.case-team{gap:30px}.contact{gap:35px}.step-example{display:none}.support-rows article{grid-template-columns:45px minmax(0,1fr)}}
@media(max-width:720px){html{scroll-padding-top:20px}.header{padding:22px 22px}.brand{font-size:24px}.header nav a:not(:last-child){display:none}.header nav{font-size:12px}.hero{display:block;padding:42px 22px 55px}h1{font-size:clamp(31px,6.8vw,43px)}.eyebrow{font-size:11px;margin-bottom:20px}.hero-intro{font-size:15px}.hero-description{font-size:14px}.hero-visual{margin-top:48px}.visual-title{font-size:19px}.person-symbol{height:64px;width:64px}.person strong{font-size:18px}.person small{font-size:10px}.direct-arrow span{font-size:9px}.direct-arrow b{font-size:40px}.support-under{padding:18px}.section{padding:48px 22px}h2{font-size:28px}.section-label{font-size:11px;gap:14px;margin-bottom:22px}.concerns{display:block}.concern-list{margin-top:30px}.concern-list p{font-size:14px}.concern-list strong{font-size:17px}.section-outro{font-size:16px;margin-top:25px}.support h2{margin-bottom:10px}.support-rows article{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:28px 0}.step-no{font-size:40px}.support-rows h3{font-size:21px}.small-label{font-size:11px}.support-rows article p:last-child{font-size:14px}.case-heading{display:block;margin-bottom:30px}.case-heading>p{margin-top:20px;font-size:13px}.case-team{display:block}.team-member{grid-template-columns:108px minmax(0,1fr);gap:18px;margin-bottom:34px}.team-member img{height:160px}.team-member h3{font-size:23px}.team-member .role{font-size:12px}.team-member p:last-child{font-size:12px}.case-conclusion{font-size:16px;padding-top:24px;margin-top:0}.note{font-size:10px}.flow-list{display:block}.flow-list li{margin-top:24px}.flow-list h3{font-size:20px;margin-top:5px;margin-bottom:8px}.flow-list p{font-size:13px}.faq summary{font-size:15px}.faq details p{font-size:13px}.contact{display:block;padding:45px 22px}.contact h2{font-size:26px}.contact-actions{margin-top:30px}.contact-actions .light strong{font-size:25px}.contact-actions .button{font-size:14px}footer{display:block;padding:35px 22px}footer>p{margin-top:20px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media print{.header nav,.contact-actions,.skip{display:none}.header,.hero,.section,.case,.contact,footer{padding:20px;background:white;color:#17251d}.hero{display:block}.hero-visual{max-width:500px;margin:25px auto}.button{display:none}.case-team{gap:20px}.faq details p{display:block}.contact .eyebrow,.contact h2+p{color:#17251d}.section{break-inside:avoid}h1{font-size:30px}h2{font-size:24px}}
.hero-illustration{align-self:center}.hero-illustration img{width:100%;height:auto}.relationship-section{padding-top:45px;padding-bottom:50px}.relationship-section .hero-visual{border-top:none;padding:0;max-width:700px;margin:0 auto}.relationship-section .visual-title{text-align:center;margin-bottom:30px}.relationship-section .visual-note{text-align:center}.relationship-section .support-under{max-width:520px;margin:25px auto 0}.relationship-section .person-symbol{width:78px;height:78px}.relationship-section .direct-arrow span{font-size:12px}.relationship-section .direct-arrow b{font-size:60px}
h1{font-size:clamp(33px,3.75vw,48px)}h1 em{display:inline-block}@media(max-width:1000px){h1{font-size:39px}}@media(max-width:720px){h1{font-size:clamp(29px,6.8vw,39px)}.hero-illustration{margin-top:32px}.relationship-section .person-symbol{width:64px;height:64px}.relationship-section .direct-arrow span{font-size:10px}.relationship-section .direct-arrow b{font-size:42px}}

.hero-copy,.hero-illustration,.person,.support-rows article>div,.team-member>div,.contact>div{min-width:0}img{max-width:100%}.button{max-width:100%}.brochure-download{margin-top:18px;font-size:12px;line-height:1.8}.brochure-download a{text-decoration:underline;text-underline-offset:4px}.contact-email{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
