*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#2e3a32;background:#fff;font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.95}a{color:inherit}img{max-width:100%;height:auto;display:block}figure{margin:0}figcaption{font-size:11px;line-height:1.7;color:#59645c;margin-top:10px}h1,h2{font-family:"Noto Serif JP",serif;font-weight:500;letter-spacing:.045em;line-height:1.6;margin:0 0 28px}h1{font-size:clamp(32px,3.2vw,49px);letter-spacing:.025em}h2{font-size:clamp(28px,2.6vw,38px)}h3{font-size:17px;font-weight:600;margin:0 0 8px}p{margin:0 0 20px}header{height:110px;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e9e5}header img{width:235px}.header-link{font-size:12px;text-decoration:none}.skip{position:absolute;top:-100px;left:10px;background:white;z-index:30}.skip:focus{top:10px}a:focus-visible,summary:focus-visible{outline:3px solid #b88c6a;outline-offset:5px}.hero{display:grid;grid-template-columns:46% 54%;background:#f6f3ea;max-width:1600px;margin:auto}.hero-copy{padding:54px 8% 52px 11%}.region{font-size:12px;letter-spacing:.08em;margin-bottom:32px}.subject{font-size:13px;margin-bottom:14px}.lead{font-size:14px}.hero-photo{position:relative;min-height:690px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:49% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:18px 22px;background:linear-gradient(transparent,rgba(255,255,255,.95));color:#2e3a32}.hero-book{margin-top:34px}.price-meta{font-size:12px;margin:0 0 15px}.price-meta span{display:block;font-size:15px}.price-meta b{font-size:28px;font-weight:600;letter-spacing:.04em}small{font-size:11px}.cta{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;background:#2e3a32;color:#fff;text-decoration:none;line-height:1.5;font-size:14px;min-height:60px;transition:background .2s}.cta:hover{background:#465742}.cta span{font-size:21px}.note{font-size:11px;line-height:1.8;color:#59645c;margin-top:12px}.section{max-width:1240px;margin:0 auto;padding:100px 6%}.kicker{font-size:12px;letter-spacing:.1em;color:#64725f;margin-bottom:22px}.concerns{display:grid;grid-template-columns:1fr 1.15fr;gap:12%}.concern-list>p:not(.body-note){border-bottom:1px solid #d9dfd6;padding:17px 0;margin:0}.concern-list>p:first-child{padding-top:0}.body-note{margin:24px 0 0;font-size:13px}.approach{max-width:none;background:#2e3a32;color:#fff;display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding-left:max(6%,calc((100vw - 1090px)/2));padding-right:max(6%,calc((100vw - 1090px)/2))}.approach .kicker{color:#d0dac9}.approach-text{max-width:530px}.quiet{font-size:12px;color:#d0dac9;margin-top:28px}.section-head{margin-bottom:45px}.section-head>p:last-child{font-size:14px}.method-content{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.method-content img{width:100%;aspect-ratio:1.25;object-fit:cover}.method-rows article{border-top:1px solid #d9dfd6;padding:23px 0}.method-rows article p{font-size:14px;margin:0}.safety{background:#f6f3ea;padding:28px 34px;margin-top:48px;font-size:12px;line-height:1.9}.safety h3{font-size:14px}.safety p:last-child{margin:0}.first{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid #e1e6de}.first-intro img{width:100%;aspect-ratio:1.3;object-fit:cover}.flow{padding:0;list-style:none;counter-reset:step}.flow li{position:relative;padding:0 0 23px 38px;counter-increment:step}.flow li:before{content:counter(step);position:absolute;left:0;top:0;font-family:"Noto Serif JP",serif;color:#8d6b50;font-size:20px}.flow h3{font-size:15px}.flow p{font-size:13px;margin:0}.first-price{border-top:1px solid #a3b09b;padding-top:25px}.first-price>p:first-child{font-size:12px;margin-bottom:5px}.large-price{font-size:17px;margin-bottom:4px}.large-price strong{font-size:40px;font-weight:500;letter-spacing:.03em}.staff{background:#f6f3ea;display:grid;grid-template-columns:32% 1fr;gap:10%;align-items:center}.staff>img{width:100%;height:340px;object-fit:cover;object-position:center 25%}.staff-name{font-size:21px}.staff-name span{display:block;font-size:12px;margin-top:6px}.staff div>p:last-child{font-size:14px}.access{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.access h2{font-size:29px}.access p{font-size:14px}.access img{width:100%;aspect-ratio:1.12;object-fit:cover}.access table{border-collapse:collapse;width:100%;font-size:13px;margin:24px 0 12px}.access caption{text-align:left;font-size:12px;margin-bottom:6px}.access th,.access td{text-align:left;padding:10px 0;border-bottom:1px solid #d9dfd6;font-weight:400}.access .note{font-size:11px}.text-link{font-size:13px;text-underline-offset:6px}.faq{padding-top:0}.faq-list{max-width:820px;margin:auto}details{border-bottom:1px solid #d9dfd6}summary{cursor:pointer;list-style:none;position:relative;padding:22px 40px 22px 0;font-size:15px}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:4px;top:20px;font-size:20px}details[open] summary:after{content:"−"}details p{font-size:13px;padding-right:25px}.final{text-align:center;background:#f6f3ea;padding:90px 20px}.final .cta{max-width:390px;margin:auto}.final h2{font-size:32px}.final .price-meta{margin:25px 0 20px}.line-link{display:inline-block;margin-top:12px;font-size:13px;text-underline-offset:5px}footer{padding:45px 6% 110px;text-align:center}footer>img{width:220px;margin:0 auto 28px}footer nav{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;font-size:12px;margin-bottom:22px}footer small{color:#59645c}.sticky{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.97);border-top:1px solid #d9dfd6;padding:10px max(20px,calc((100vw - 760px)/2));display:flex;align-items:center;gap:30px;box-shadow:0 -4px 16px #00000008;padding-bottom:max(10px,env(safe-area-inset-bottom))}.sticky[hidden]{display:none}.sticky p{margin:0;white-space:nowrap;font-size:13px}.sticky .cta{flex:1;min-width:0;min-height:50px;padding:12px 20px}.sticky b{font-size:20px}
@media(min-width:1500px){.hero-photo{min-height:740px}}@media(max-width:900px){header{height:90px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:40px 8%}h1{font-size:30px}.hero-photo{min-height:650px}.section{padding:75px 6%}.concerns,.approach{gap:7%}.approach{padding:75px 6%}.access h2{font-size:25px}.staff>img{height:300px}.method-content,.first,.access{gap:6%}.faq{padding-top:0}}@media(max-width:600px){body{font-size:14px}header{height:77px;padding:20px 6%}header img{width:180px}.header-link{font-size:10px;max-width:95px;line-height:1.6}.hero{display:flex;flex-direction:column}.hero-copy{padding:30px 7% 25px}.region{font-size:10px;margin-bottom:20px}.subject{font-size:11px}h1{font-size:31px;line-height:1.55;margin-bottom:18px}.lead{font-size:12px;line-height:1.9}.hero-book{margin-top:22px}.hero-photo{min-height:0;height:265px}.hero-photo img{object-position:center 42%}.hero-photo figcaption{font-size:10px;padding:20px 18px 10px}.price-meta span{display:inline;margin-left:10px;font-size:12px}.price-meta b{font-size:23px}.price-meta{font-size:10px}.cta{font-size:13px;padding:16px 18px;min-height:55px}.note{font-size:10px}.section{padding:64px 7%}h2{font-size:28px;margin-bottom:24px}.kicker{font-size:11px;margin-bottom:17px}.concerns,.approach,.method-content,.first,.staff,.access{display:block}.concerns h2 br:nth-child(2){display:none}.concern-list{margin-top:30px}.concern-list>p:not(.body-note){font-size:13px}.approach{padding:60px 7%}.approach-text{font-size:13px}.section-head{margin-bottom:30px}.method-rows{margin-top:25px}.method-content img{aspect-ratio:1.5}.safety{padding:23px;margin-top:25px;font-size:11px}.first-intro img{aspect-ratio:1.6}.flow{margin-top:35px}.large-price strong{font-size:36px}.staff{margin:0 7%;padding:30px}.staff>img{width:180px;height:205px;margin-bottom:28px}.staff h2{font-size:25px}.staff-name{font-size:19px}.access h2{font-size:25px}.access figure{margin-top:30px}.access img{aspect-ratio:1.5}.faq{padding-top:0}summary{font-size:13px}details p{font-size:12px}.final{padding:65px 7%}.final h2{font-size:26px}.final .price-meta span{display:block;margin-left:0;font-size:15px}.final .price-meta{font-size:12px}.final .price-meta b{font-size:30px}footer nav{flex-direction:column;gap:15px}footer{padding-bottom:130px}.sticky{padding:9px 5% max(9px,env(safe-area-inset-bottom));gap:4px;flex-direction:column}.sticky p{font-size:10px;line-height:1.5}.sticky b{font-size:13px}.sticky .cta{width:100%;min-height:43px;font-size:12px;padding:10px 17px}.sticky small{font-size:9px}}
@media(max-width:350px){h1{font-size:27px}.hero-copy{padding-left:6%;padding-right:6%}.price-meta span{margin-left:4px}.price-meta b{font-size:20px}header img{width:155px}.final h2{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
header img,footer>img{filter:brightness(0);opacity:.82}
@media(min-width:901px){.hero-copy{padding-top:38px;padding-bottom:38px}.region{margin-bottom:22px}h1{font-size:clamp(32px,3vw,46px);line-height:1.5}.hero-book{margin-top:25px}}
@media(max-width:600px){h1{font-size:26px}.hero-copy{padding-top:25px}.region{margin-bottom:17px}.hero-book{margin-top:18px}}
@media(max-width:350px){h1{font-size:23px}}
@media(min-width:601px) and (max-width:900px){.hero{grid-template-columns:55% 45%}h1{font-size:25px}.hero-photo{min-height:620px}.hero-copy{padding:35px 7%}.hero-photo img{object-position:42% center}}

.consult-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #7c8f6b;padding:12px 20px;font-size:13px;text-decoration:none;min-height:48px;line-height:1.5;background:transparent;color:#2e3a32;margin-top:16px}.consult-cta:hover{background:#e8eddf}.final-consult{max-width:390px;margin:20px auto 0}.staff.deputy{margin-top:28px;background:#fff;border-bottom:1px solid #e1e6de}.staff.deputy>img{object-position:center 20%}@media(max-width:600px){.consult-cta{font-size:12px;padding:12px 17px;margin-top:14px}.staff.deputy{margin-top:0}.hero-copy{padding-bottom:25px}}

/* Hero retouch: keep both faces and the supported hand visible. */
.hero{grid-template-columns:46% 54%}.hero-photo{min-height:0;align-self:stretch;background:#e9e5dc}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 25%}.hero-photo figcaption{font-size:10px;padding-top:30px}@media(min-width:601px) and (max-width:900px){.hero{grid-template-columns:55% 45%}.hero-photo img{object-fit:contain;object-position:center center}}@media(max-width:600px){.hero-photo{height:auto;aspect-ratio:1/1.05}.hero-photo img{object-position:50% 12%}.hero-photo figcaption{font-size:9px;padding:24px 15px 10px}}

/* Fresh original-photo edit: preserve source geometry; framing belongs to CSS. */
.hero-photo{align-self:center;aspect-ratio:1/1;width:100%;height:auto}.hero-photo img{position:absolute;inset:0;object-fit:cover;object-position:38% center;width:100%;height:100%}@media(min-width:601px) and (max-width:900px){.hero-photo{aspect-ratio:1/1.25}.hero-photo img{object-fit:cover;object-position:36% center}}@media(max-width:600px){.hero-photo{aspect-ratio:1.1/1}.hero-photo img{object-position:38% center}}
