:root{--ink:#233c42;--muted:#60777b;--green:#327c72;--green-dark:#24645d;--mint:#e5f3ef;--sky:#e9f3f7;--paper:#fffefa;--line:#d8e4e0;--gold:#c49a55;--serif:"Noto Sans JP",sans-serif;--wrap:1160px;--gutter:clamp(22px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.8;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d39c48;outline-offset:4px}.wrap{width:min(var(--wrap),calc(100% - var(--gutter)*2));margin-inline:auto}.sample-note{margin:0;padding:7px 14px;text-align:center;background:#243d42;color:#fff;font-size:12px;letter-spacing:.03em}.site-header{height:88px;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:rgba(255,254,250,.96);border-bottom:1px solid rgba(35,60,66,.08)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--green);border-radius:50%;color:var(--green);font-size:19px;font-weight:600}.brand-name{font-weight:600;font-size:14px;line-height:1.4;letter-spacing:.04em}.brand-name small{display:block;margin-top:4px;color:var(--muted);font-family:Arial,sans-serif;font-size:8px;letter-spacing:.12em}.site-nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);font-size:13px;font-weight:500}.site-nav>a:not(.nav-contact){min-height:44px;display:grid;place-items:center;position:relative}.site-nav>a:not(.nav-contact)::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .18s}.site-nav>a:not(.nav-contact):hover::after{transform:scaleX(1)}.nav-contact,.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 23px;border-radius:999px;font-weight:600;transition:background .18s,transform .18s}.nav-contact{background:var(--green);color:#fff}.nav-contact:hover,.button-primary:hover{background:var(--green-dark);transform:translateY(-1px)}.menu-toggle{display:none}.hero{position:relative;min-height:min(690px,calc(100svh - 120px));min-height:610px;isolation:isolate;display:flex;align-items:center;color:#fff;background:#667977}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:center 53%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(19,39,42,.73) 0%,rgba(23,43,47,.5) 44%,rgba(27,47,48,.08) 100%),linear-gradient(0deg,rgba(20,38,39,.18),transparent 55%)}.hero-copy{padding:60px 0 100px}.eyebrow{margin:0 0 16px;color:var(--green);font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.19em}.hero-eyebrow{color:#d8eee8}.hero h1{max-width:700px;margin:0;font-size:clamp(38px,5vw,64px);font-weight:500;letter-spacing:.05em;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;text-shadow:0 2px 20px rgba(0,0,0,.16)}.hero-lead{margin:18px 0 30px;font-size:clamp(15px,1.5vw,18px);line-height:2;letter-spacing:.04em}.button-light{background:#fffefa;color:var(--ink)}.button-light:hover{background:var(--mint);transform:translateY(-1px)}.representative-card{position:absolute;right:var(--gutter);bottom:30px;display:flex;align-items:center;gap:15px;width:min(355px,32vw);padding:18px 22px;background:rgba(255,254,250,.96);color:var(--ink);border-radius:16px;box-shadow:0 14px 40px rgba(17,40,39,.16)}.portrait-mark{flex:none;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#c2ded4,#78b8a7);color:#fff;font-family:Georgia,serif;font-size:31px}.representative-card>div{display:grid;gap:2px}.card-label,.card-caption{font-size:11px;color:var(--muted)}.representative-card strong{font-size:16px}.card-caption{line-height:1.5}.hero-index{position:absolute;bottom:26px;left:var(--gutter);font:10px Arial,sans-serif;letter-spacing:.13em;color:rgba(255,255,255,.76)}.contact-ribbon{background:var(--mint);color:var(--green-dark)}.ribbon-inner{min-height:62px;display:flex;align-items:center;gap:25px;font-size:12px}.ribbon-inner>a{margin-left:auto;min-height:44px;display:flex;align-items:center;gap:20px;font-weight:600}.ribbon-separator{height:18px;width:1px;background:#a8c9bf}.section{padding:112px 0}.section-heading{max-width:690px;margin-bottom:48px}.section-heading h2,.services h2,.approach h2,.greeting h2,.faq h2,.office h2,.contact h2{margin:0;font-size:clamp(30px,3.6vw,44px);font-weight:500;line-height:1.55;letter-spacing:.04em;word-break:keep-all;overflow-wrap:anywhere}.section-intro{margin:15px 0 0;color:var(--muted)}.concerns{background:var(--paper)}.concern-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.concern-item{min-width:0;padding:26px 22px 30px 0}.concern-item+.concern-item{border-left:1px solid var(--line);padding-left:22px}.item-no{color:var(--green);font:12px Arial,sans-serif;letter-spacing:.14em}.concern-item h3{margin:16px 0 10px;font-size:17px;line-height:1.65;font-weight:600;word-break:keep-all;overflow-wrap:anywhere}.concern-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}.services{background:var(--sky)}.services-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(48px,9vw,130px)}.services-intro>p:not(.eyebrow){max-width:400px;margin:22px 0;color:var(--muted);font-size:14px}.text-link{display:inline-flex;align-items:center;gap:30px;min-height:44px;color:var(--green-dark);font-size:13px;font-weight:600;border-bottom:1px solid #9bbdb4}.service-list{border-top:1px solid #cbdcdd}.service-card{display:grid;grid-template-columns:42px 1fr 22px;gap:17px;align-items:start;padding:24px 0;border-bottom:1px solid #cbdcdd}.service-icon{color:var(--green);font:11px Arial,sans-serif;letter-spacing:.08em;padding-top:4px}.service-card h3{margin:0;font-size:16px;font-weight:600}.service-card p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.service-arrow{color:var(--green);font-size:18px}.approach{background:#fffefa}.approach-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(42px,8vw,110px)}.approach-photo{position:relative}.approach-photo img{width:100%;aspect-ratio:1.14;object-fit:cover;border-radius:2px 100px 2px 2px}.photo-note{position:absolute;bottom:15px;left:18px;color:#fff;font:10px Arial,sans-serif;letter-spacing:.16em;text-shadow:0 1px 8px #233c42}.approach-copy>p:not(.eyebrow){margin:18px 0 0;color:var(--muted);font-size:14px}.approach-copy h2{font-size:clamp(29px,3vw,39px)}.approach-sign{display:flex;align-items:center;gap:13px;margin-top:28px;font-size:12px}.sign-line{width:35px;height:1px;background:var(--gold)}.flow{background:var(--mint)}.centered{text-align:center;margin-inline:auto}.flow-list{list-style:none;max-width:850px;padding:0;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bad2ca}.flow-list li{padding:24px 18px 0 0}.flow-number{font:12px Arial,sans-serif;color:var(--green);letter-spacing:.12em}.flow-list h3{margin:12px 0 7px;font-size:15px}.flow-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.85}.greeting{background:#f6f2e9}.greeting-inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,10vw,145px);align-items:center}.greeting-mark{width:min(100%,320px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid #d8c7a8;color:#8d805f;font-size:clamp(42px,7vw,78px);letter-spacing:.12em;background:radial-gradient(circle at 50% 50%,#fffdf8 0,#f8f1e3 68%,#efe6d4 100%)}.greeting-copy>p:not(.eyebrow):not(.greeting-name){max-width:610px;margin:17px 0 0;color:#586a69;font-size:14px}.greeting-copy h2{font-size:clamp(31px,3.7vw,45px)}.greeting-name{margin:27px 0 0;font-size:12px;line-height:1.9;color:var(--muted)}.greeting-name strong{font-size:15px;color:var(--ink)}.faq{background:#fffefa}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(40px,9vw,125px)}.faq-heading p:not(.eyebrow){color:var(--muted);font-size:13px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:21px 45px 21px 0;font-size:15px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:4px;top:18px;color:var(--green);font:23px Arial,sans-serif}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:0;padding:0 30px 22px 0;color:var(--muted);font-size:13px}.office{background:#edf4f2}.office-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(45px,9vw,125px)}.office-copy>p:not(.eyebrow){max-width:350px;color:var(--muted);font-size:14px}.office-contact{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:28px;font-size:12px}.office-contact span{color:var(--muted)}.office-details dl{margin:0;border-top:1px solid #cadbd6}.office-details dl>div{display:grid;grid-template-columns:120px 1fr;padding:12px 0;border-bottom:1px solid #cadbd6;font-size:13px}.office-details dt{color:var(--muted)}.office-details dd{margin:0;font-weight:500}.office-details dd a{text-decoration:underline;text-underline-offset:3px}.map-placeholder{height:175px;margin-top:22px;border:1px solid #d4dfdc;background:#e6e9e7;display:grid;place-items:center;color:#657673;font-size:13px}.contact{background:#e5f1ee}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,9vw,125px);align-items:start}.contact-copy>p:not(.eyebrow){max-width:410px;color:var(--muted);font-size:14px}.contact-number{display:grid;gap:0;margin-top:28px}.contact-number span{font-size:12px;color:var(--muted)}.contact-number a{width:max-content;font:clamp(24px,3vw,34px) Arial,sans-serif;color:var(--green-dark);letter-spacing:.04em}.contact-number small{font-size:11px;color:var(--muted)}.contact-form{padding:32px;background:#fffefa;border-radius:4px}.form-title{margin:0 0 21px;font-size:17px;font-weight:600}.contact-form label{display:block;margin-top:14px;font-size:12px;font-weight:600}.contact-form label>span{margin-left:7px;color:#a75443;font-size:10px}.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #d5e0dc;border-radius:2px;background:white;font-size:14px;color:var(--ink)}.contact-form input{height:46px}.contact-form textarea{resize:vertical;min-height:110px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9aa9a7}.button-primary{width:100%;margin-top:18px;border:0;background:var(--green);color:#fff;cursor:pointer}.form-note{margin:10px 0 0;text-align:center;color:var(--muted);font-size:11px}.site-footer{padding:35px 0 90px;background:#233c42;color:#edf4f2}.footer-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.footer-brand .brand-mark{border-color:#a7c9bd;color:#cce3da}.footer-brand .brand-name small{color:#b9d0c9;font:inherit;font-size:11px}.footer-inner>p{justify-self:end;font-size:11px;color:#c6d5d1}.copyright{grid-column:1/-1;padding-top:15px;border-top:1px solid rgba(255,255,255,.2);font:10px Arial,sans-serif;color:#b9d0c9;letter-spacing:.04em}.mobile-contact{display:none}.mobile-break{display:none}



@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.hero-photo.image-unavailable{visibility:hidden}.approach-photo img.image-unavailable{visibility:hidden}.approach-photo:has(img.image-unavailable){min-height:260px;background:linear-gradient(135deg,#e5f3ef,#d1e3df 48%,#edf4f2);display:grid;place-items:center}.approach-photo:has(img.image-unavailable)::after{content:'写真 154';color:#60777b;font-size:12px;letter-spacing:.12em}
/* 日本語の改行を文節で（Claudeの手直し） */
h1,h2,h3,h4{word-break:auto-phrase!important;text-wrap:balance}
p,dd,li,summary,td,th{text-wrap:pretty}
img{height:auto}
/* スマホ用の指定を最後に移した（後ろの指定に上書きされていたため。Claude） */
@media(max-width:900px){.site-header{height:76px}.site-nav{gap:15px;font-size:12px}.brand-name{font-size:13px}.hero{min-height:570px}.representative-card{width:300px}.concern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concern-item:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.concern-item:nth-child(4){border-top:1px solid var(--line)}.services-layout{gap:45px}.section{padding:90px 0}}
@media(max-width:700px){html{scroll-padding-top:70px}.sample-note{font-size:10px;line-height:1.5;padding:7px 10px}.site-header{position:sticky;top:0;height:68px;padding:0 20px}.brand{gap:9px}.brand-mark{width:36px;height:36px;font-size:16px}.brand-name{font-size:12px}.brand-name small{font-size:7px}.menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #cbdcd7;border-radius:50%;background:#fffefa;color:var(--ink);cursor:pointer}.menu-toggle span{display:block;width:16px;height:1px;background:currentColor;transition:transform .18s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-9px) rotate(-45deg)}.site-nav{position:absolute;top:68px;left:0;right:0;display:none;align-items:stretch;gap:0;padding:10px 20px 18px;background:#fffefa;border-bottom:1px solid var(--line);box-shadow:0 12px 18px rgba(35,60,66,.08);font-size:14px}.site-nav.is-open{display:flex;flex-direction:column}.site-nav>a:not(.nav-contact){min-height:48px;justify-content:start;border-bottom:1px solid #edf1ef}.site-nav>a:not(.nav-contact)::after{display:none}.nav-contact{margin-top:12px}.hero{min-height:760px;min-height:calc(100svh - 110px);height:auto;align-items:flex-start}.hero-photo{object-position:59% center}.hero-shade{background:linear-gradient(90deg,rgba(19,39,42,.68),rgba(23,43,47,.26) 82%),linear-gradient(0deg,rgba(20,38,39,.3),transparent 70%)}.hero-copy{padding-top:16vh;padding-bottom:280px}.hero h1{font-size:clamp(36px,10vw,50px);line-height:1.55}.hero-lead{font-size:14px}.hero-copy .button{min-height:46px;font-size:13px}.representative-card{left:20px;right:auto;bottom:55px;width:min(340px,calc(100% - 40px));padding:14px 16px;border-radius:12px}.portrait-mark{width:52px;height:52px}.hero-index{bottom:21px;font-size:8px}.ribbon-inner{min-height:68px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;font-size:10px}.ribbon-inner>a{gap:10px;font-size:11px}.ribbon-separator{height:14px}.section{padding:72px 0}.section-heading{margin-bottom:32px}.section-heading h2,.services h2,.approach h2,.greeting h2,.faq h2,.office h2,.contact h2{font-size:clamp(29px,8vw,36px)}.mobile-break{display:initial}.concern-grid{grid-template-columns:minmax(0,1fr)}.concern-item,.concern-item+.concern-item{padding:19px 0;border-left:0}.concern-item+.concern-item{border-top:1px solid var(--line)}.concern-item h3{margin:9px 0 4px;font-size:16px}.concern-item h3 br{display:none}.concern-item p{font-size:12px}.services-layout,.approach-grid,.greeting-inner,.faq-layout,.office-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:34px}.services-intro>p:not(.eyebrow){font-size:13px}.service-card{grid-template-columns:32px 1fr 18px;gap:12px;padding:19px 0}.service-card h3{font-size:14px}.service-card p{font-size:12px}.approach-grid{gap:28px}.approach-photo img{aspect-ratio:1.15;border-top-right-radius:70px}.approach-copy h2{font-size:30px}.approach-copy>p:not(.eyebrow){font-size:13px}.flow-list{grid-template-columns:minmax(0,1fr);border-top:0}.flow-list li{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:17px 0;border-top:1px solid #bad2ca}.flow-number{padding-top:3px}.flow-list h3{margin:0 0 4px;font-size:14px}.flow-list p{font-size:12px}.greeting-inner{gap:24px}.greeting-mark{width:125px}.greeting-copy h2{font-size:31px}.greeting-copy>p:not(.eyebrow):not(.greeting-name){font-size:13px}.faq-layout{gap:20px}.faq-heading p:not(.eyebrow){margin:8px 0}.faq-list summary{font-size:14px;padding:18px 38px 18px 0}.faq-list details p{font-size:12px}.office-layout{gap:28px}.office-copy>p:not(.eyebrow){font-size:13px}.office-details dl>div{grid-template-columns:95px 1fr;font-size:12px;gap:7px}.map-placeholder{height:145px}.contact-layout{gap:27px}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-number{margin-top:16px}.contact-number a{font-size:27px}.contact-form{padding:23px 18px}.footer-inner{grid-template-columns:1fr;gap:14px}.footer-inner>p{justify-self:start;margin:0}.copyright{grid-column:auto}.site-footer{padding-bottom:98px}.mobile-contact{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:#fffefa;box-shadow:0 -5px 20px rgba(35,60,66,.12)}.mobile-contact a{height:60px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:var(--green);font-size:13px;font-weight:600}.mobile-contact a+a{background:#256b63;border-left:1px solid rgba(255,255,255,.3)}.mobile-icon{font-size:18px}}
@media(max-width:360px){:root{--gutter:18px}.site-header{padding-inline:16px}.brand-name{font-size:11px}.hero{min-height:720px}.hero-copy{padding-top:13vh;padding-bottom:280px}.hero h1{font-size:35px}.ribbon-inner{column-gap:7px}.contact-form{padding-inline:15px}}
@media(max-width:700px){.hero .button,.hero-actions,.hero a.button-primary{display:none}}
