/* 竜樹伐採: restrained light identity, real photography, one clear next step. */
:root{--ink:#17231d;--muted:#54615a;--green:#1f5a3a;--deep:#163c2a;--surface:#f4f6f5;--line:#dce3de;--white:#fff;--radius:12px;--max:1120px;--forest:#163c2a;--paper:#fff;--leaf:#1f5a3a;--ink-soft:#54615a;--mist:#f4f6f5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--white);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,textarea,select{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}img{max-width:100%;display:block}figure{margin:0}p{margin:0 0 1.25em}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.025em;line-height:1.4;text-wrap:balance}h2{font-size:clamp(30px,3.6vw,46px)}h3{font-size:22px}p{text-wrap:pretty}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #276cbd;outline-offset:5px}::selection{background:#d3e7db}button{cursor:pointer}section,aside{scroll-margin-top:90px}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:16px;padding:12px 20px;background:white;z-index:40;transform:translateY(-160%);border:1px solid var(--green)}.skip-link:focus{transform:none}
.site-header{height:82px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ebefec}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;line-height:1.4}.brand-mark{display:grid;place-items:center;width:36px;height:40px;border:1px solid #8ca596;border-radius:5px;font-size:20px;font-weight:600;color:var(--deep)}.brand strong{font-size:19px;font-weight:650;letter-spacing:.04em}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:.03em}.site-nav,.article-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:500;white-space:nowrap}.site-nav a,.article-nav a{min-height:44px;display:inline-flex;align-items:center}.site-nav a:hover,.article-nav a:hover{color:var(--green)}.nav-cta{padding:8px 19px;background:var(--green);color:white!important;border-radius:24px}.nav-cta:hover{background:var(--deep)}.nav-toggle{display:none;border:1px solid var(--line);color:var(--ink);background:white;border-radius:24px;min-height:44px;padding:0 17px;font-size:13px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:13px 24px;border-radius:30px;border:1px solid transparent;font-size:15px;font-weight:600;line-height:1.65;transition:background .2s ease,transform .2s ease}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--deep)}.button.secondary,.button.ghost,.button.line{border-color:#bac9c0;background:transparent;color:var(--green)}.button.secondary:hover,.button.ghost:hover,.button.line:hover{background:#e8f0eb}.button:active,.nav-cta:active{transform:scale(.98)}.text-link,.inline-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--green);font-size:15px;font-weight:550}.text-link:hover,.inline-cta:hover{text-decoration:underline;text-underline-offset:5px}.cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.section{padding:100px max(24px,calc((100vw - var(--max))/2))}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:44px}.section-head>p{max-width:430px;color:var(--muted);font-size:16px;margin:0}.section-label{color:var(--green);font-weight:600;font-size:13px;margin-bottom:18px}.small-note{font-size:13px;color:var(--muted);line-height:1.85}.service-area{color:var(--green);font-weight:600;font-size:13px;letter-spacing:.035em;margin-bottom:22px}
.clean-hero{padding:66px max(24px,calc((100vw - 1200px)/2)) 0}.hero-message{text-align:center;padding:0 0 42px;max-width:1000px;margin:auto}.hero-message h1{font-size:clamp(36px,4.4vw,62px);line-height:1.32;font-weight:650;letter-spacing:-.035em}.hero-subtitle{color:var(--muted);font-size:18px;margin:24px 0 26px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:28px}.hero-note{font-size:12px;color:var(--muted);margin:15px 0 0}.hero-scene{position:relative;overflow:hidden;border-radius:12px;background:#e5ebe7}.hero-scene img{width:100%;height:440px;object-fit:cover;object-position:50% 42%}.hero-scene figcaption{position:absolute;bottom:16px;right:20px;background:#163c2ae8;color:white;font-size:11px;border-radius:4px;padding:3px 10px}
.problems{padding-top:88px;padding-bottom:74px}.problems .section-head h2{font-size:34px}.problem-list{padding:0;margin:32px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:12px}.problem-list li{padding:12px 20px;background:var(--surface);border-radius:8px;font-size:14px;flex:1;text-align:center;white-space:nowrap}.services{background:var(--surface)}.service-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{min-width:0}.service-picture{display:block;overflow:hidden;border-radius:12px}.service-picture img{width:100%;height:290px;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.service-card:nth-child(1) img{object-position:center 35%}.service-card:nth-child(3) img{object-position:center 60%}.service-picture:hover img{transform:scale(1.025)}.service-description{padding:23px 0 0}.service-description h3{font-size:23px}.service-description h3 a{display:flex;gap:12px;justify-content:space-between;align-items:center}.service-description h3 span{font-size:20px;font-weight:400;color:var(--green)}.service-description p{font-size:14px;color:var(--muted);margin:10px 0 0}.other-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:48px}.compact-service{border-top:1px solid #d3ddd6}.compact-service>a{display:block;position:relative;padding:23px 28px 23px 0;min-height:110px}.compact-service h3{font-size:17px}.compact-service p{font-size:13px;color:var(--muted);margin:7px 0 0}.compact-service>a>span{position:absolute;right:0;top:24px;color:var(--green)}.compact-service>a:hover h3{color:var(--green)}
.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.price-copy>p:not(.section-label){color:var(--muted);margin:25px 0 20px}.price-table{width:100%}.price-table>[role=row]{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px}.price-table>[role=row]:first-child{padding-top:0}.price-table strong{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.price-layout .small-note{margin:20px 0 0}.reasons{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--surface)}.reason-intro>p:last-child{color:var(--muted);margin:25px 0 0}.reason-points article{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}.reason-points article:last-child{margin-bottom:0;padding-bottom:0;border:0}.reason-points h3{font-size:20px;margin-bottom:12px}.reason-points p{font-size:15px;color:var(--muted);margin:0}.cases{padding-bottom:96px}.work-wide{background:var(--surface);border-radius:12px;overflow:hidden}.work-wide>img{width:100%;height:470px;object-fit:cover;object-position:center 36%}.work-wide figcaption{padding:27px 32px;display:grid;grid-template-columns:1fr auto;gap:6px 32px}.work-wide figcaption strong{font-size:25px;line-height:1.5}.work-wide figcaption span{color:var(--muted);font-size:14px}.work-wide figcaption a{grid-column:2;grid-row:1/3;align-self:center;color:var(--green);font-size:14px;min-height:44px;display:flex;align-items:center}.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px}.work-pair img{width:100%;height:340px;object-fit:cover;object-position:center 35%;border-radius:12px}.work-pair figure:nth-child(2) img{object-position:center 65%}.work-pair figcaption{padding-top:22px;display:grid;gap:8px}.work-pair strong{font-size:23px;font-weight:600}.work-pair span{font-size:14px;color:var(--muted)}.work-pair a{font-size:14px;color:var(--green);min-height:44px;display:inline-flex;align-items:center}
.area{background:#eef4f0;display:grid;grid-template-columns:1fr 1fr;gap:90px}.area>div>p:not(.section-label){color:var(--muted);margin-top:24px}.area-detail{align-self:center}.area-detail .area-main{font-size:48px!important;line-height:1.3;color:var(--deep)!important;margin:0 0 20px!important;letter-spacing:-.04em;font-weight:600}.area-detail .small-note{border-top:1px solid #cddad2;padding-top:20px;margin-top:22px}.flow-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 28px;counter-reset:step;margin:0 0 20px}.flow-list li{border-top:1px solid var(--line);padding-top:20px;counter-increment:step}.flow-list li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--green);font-size:13px;margin-bottom:13px}.flow-list strong{display:block;font-size:18px;font-weight:600}.flow-list span{display:block;color:var(--muted);font-size:13px;margin-top:10px}.faq{background:var(--surface)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq-layout>div>p{margin-top:20px;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;list-style:none;font-size:16px;line-height:1.7;font-weight:550;min-height:64px;padding:20px 35px 20px 0}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:18px;font-size:22px;font-weight:400;color:var(--muted)}details[open]>summary:after{content:'−'}details>p{color:var(--muted);font-size:15px;padding-right:24px;margin-bottom:24px}.faq-list details:first-child{border-top:1px solid var(--line)}
.reading-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.reading-preview>a{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding:23px 0 0;min-height:235px}.reading-preview>a>span:first-child{font-size:12px;color:var(--green);font-weight:600;margin-bottom:15px}.reading-preview h3{font-size:22px}.reading-preview p{font-size:14px;color:var(--muted);margin:14px 0}.reading-preview>a>span:last-child{color:var(--green);font-size:23px;margin-top:auto}.reading-preview a:hover h3{color:var(--green)}.partners{background:var(--surface);text-align:center;padding-top:65px;padding-bottom:65px}.partners h2{font-size:30px}.partners p{color:var(--muted);margin:20px 0 8px}.business-info{display:grid;grid-template-columns:1fr 1fr;gap:28px 90px}.business-info .section-context{font-size:13px;color:var(--green);font-weight:600;margin:0 0 15px}.business-info>div>p:last-child{color:var(--muted);font-size:15px;margin:22px 0 0;max-width:35em}.business-info dl{margin:0;min-width:0}.business-info dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--line);padding:15px 0}.business-info dt{font-size:13px;color:var(--muted)}.business-info dd{margin:0;font-size:14px;overflow-wrap:anywhere}.business-info dd small{color:var(--muted)}.business-info a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.privacy-note{grid-column:1/-1}.privacy-note summary{font-size:13px;min-height:44px}.privacy-note p{font-size:13px;max-width:70em}.final-cta{background:#eef4f0;text-align:center}.final-cta-copy h2{font-size:clamp(36px,4.4vw,56px)}.final-cta-copy>p:not(.section-label){color:var(--muted);margin:24px 0}.final-cta .cta-row{justify-content:center}.final-cta .consult-builder{max-width:720px;margin:42px auto 0;text-align:left;border-top:1px solid #c8d6cd;border-bottom:1px solid #c8d6cd}.consult-builder>summary{font-size:14px}.estimate-form{padding:28px 0}.estimate-form h3{font-size:22px;margin-bottom:16px}.estimate-form>p{font-size:14px;color:var(--muted)}.estimate-form label{display:grid;gap:7px;font-size:13px;margin-top:20px}.estimate-form input,.estimate-form textarea,.estimate-form select{width:100%;padding:12px 14px;background:white;border:1px solid #aabbb0;border-radius:8px;color:var(--ink);min-height:48px}.estimate-form textarea{min-height:110px;resize:vertical}.estimate-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.estimate-form button[type=submit]{margin-top:26px}.estimate-form .form-note{font-size:12px;margin-top:18px}.contact-result{border-top:1px solid #c8d6cd;margin-top:28px;padding-top:24px}.contact-result textarea{margin-bottom:20px}.contact-result .button{font-size:13px;padding:11px 16px}.phone-display{font-size:14px;margin-top:18px}
.site-footer,.guide-footer{padding:48px max(24px,calc((100vw - var(--max))/2));background:#f5f6f5;color:var(--muted);font-size:13px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top p{margin:0;font-size:12px}.footer-guide-links,.guide-footer nav{display:flex;flex-wrap:wrap;gap:6px 28px;border-top:1px solid var(--line);padding-top:25px;margin-top:26px}.footer-guide-links a,.guide-footer nav a{min-height:44px;display:inline-flex;align-items:center}.footer-guide-links a:hover,.guide-footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-copyright{font-size:11px;margin:24px 0 0}.mobile-cta{display:none}
/* Reading pages share the same quiet header and restrained typography. */
.article-shell{max-width:1120px;padding:0 24px 80px;margin:auto}.breadcrumbs,.guide-breadcrumb{font-size:12px;color:var(--muted);padding:28px 0}.breadcrumbs a,.guide-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.article-heading{max-width:870px;padding:28px 0 44px}.article-category{font-size:12px;color:var(--green);font-weight:600;margin-bottom:18px}.article-heading h1{font-size:clamp(30px,3.5vw,45px);line-height:1.55;max-width:22em;text-wrap:balance}.article-description{color:var(--muted);font-size:16px;max-width:45em;margin:24px 0}.article-credit{color:var(--muted);font-size:12px}.article-credit a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.reading-layout{display:grid;grid-template-columns:minmax(0,720px) 240px;gap:65px;align-items:start}.reading-body{font-size:16px;line-height:2;min-width:0}.article-answer{background:#eef4f0;border-radius:8px;padding:28px}.article-answer p{margin:0}.article-photo{margin:32px 0 45px}.article-photo img{width:100%;height:auto;max-height:410px;object-fit:cover;border-radius:10px}.article-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.8}.reading-body section{margin:44px 0}.reading-body h2{font-size:26px;line-height:1.65;margin-bottom:20px}.reading-body p{margin:0 0 18px}.article-checklist{padding-left:23px}.article-checklist li{padding:5px 0}.article-scope{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}.reading-body a{color:var(--green);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.reading-aside{position:sticky;top:110px;font-size:13px}.aside-title{font-size:13px;font-weight:600}.reading-aside nav{display:grid}.reading-aside nav a{border-bottom:1px solid var(--line);padding:13px 0;line-height:1.7}.aside-contact{margin-top:28px;background:var(--surface);border-radius:10px;padding:20px}.aside-contact p{font-size:12px;color:var(--muted);margin:13px 0}.aside-contact .button{font-size:12px;padding:10px 14px;gap:0;width:100%;min-height:46px}.aside-phone{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--green);margin-top:8px}.related-reading{max-width:720px;margin-top:65px;padding-top:28px;border-top:1px solid var(--line)}.related-reading h2{font-size:26px;margin-bottom:20px}.related-reading>a{display:flex;gap:20px;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--green)}.related-reading>a span{flex-shrink:0}.reading-end{background:#eef4f0;padding:65px max(24px,calc((100vw - 1072px)/2));display:flex;align-items:center;justify-content:space-between;gap:50px}.reading-end h2{font-size:34px}.reading-end p{font-size:13px;color:var(--muted);margin:18px 0 0}.guide-footer>p{overflow-wrap:anywhere;margin:18px 0 0}.guide-footer nav{margin-top:20px}.hub-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:35px 0 55px;align-items:end}.hub-intro h1{font-size:48px}.hub-intro p{color:var(--muted);font-size:16px;margin:18px 0 0}.hub-intro .article-category{color:var(--green);font-size:12px;margin:0 0 16px}.hub-categories{display:flex;flex-wrap:wrap;gap:10px 26px;border-block:1px solid var(--line);padding:14px 0}.hub-categories a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;color:var(--green)}.hub-category{margin:60px 0}.hub-category>h2{font-size:28px;margin-bottom:25px}.reading-list{display:grid;grid-template-columns:1fr 1fr;gap:0 46px}.reading-item{position:relative;padding:25px 25px 25px 0;border-top:1px solid var(--line)}.reading-item h3{font-size:20px;line-height:1.65}.reading-item p{font-size:14px;color:var(--muted);margin:15px 0 0}.reading-arrow{position:absolute;right:0;top:25px;color:var(--green)}.reading-item:hover h3{color:var(--green)}.editorial-note{max-width:760px;border-top:1px solid var(--line);padding-top:28px}.editorial-note h2{font-size:24px;margin-bottom:20px}.editorial-note p{font-size:14px;color:var(--muted)}
/* Existing service URLs keep their semantic content and contact hooks. */
.guide-breadcrumb{max-width:1120px;margin:auto;padding-inline:24px}.guide-hero{max-width:1120px;margin:auto;padding:30px 24px 75px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.guide-hero h1{font-size:18px;color:var(--green);margin-bottom:20px}.guide-display{font-size:clamp(30px,3.3vw,44px);font-weight:600;line-height:1.5;letter-spacing:-.03em}.guide-hero-copy>p:not(.guide-display):not(.service-area){font-size:15px;color:var(--muted)}.guide-cover img{width:100%;height:490px;object-fit:cover;border-radius:12px}.guide-cover figcaption{font-size:11px;color:var(--muted);margin-top:12px}.guide-phone{display:flex;color:var(--green);align-items:center;min-height:44px;margin-top:12px;font-size:14px}.guide-jumps{max-width:1072px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 35px;border-block:1px solid var(--line);padding:15px 0;color:var(--green);font-size:14px}.guide-jumps a{min-height:44px;display:inline-flex;align-items:center}.guide-split{display:grid;grid-template-columns:1fr 1fr;gap:85px}.guide-split>h2{font-size:36px}.guide-split p{font-size:15px;color:var(--muted)}.guide-split h2+p{margin-top:24px}.guide-checks article{padding:24px 0;border-top:1px solid var(--line)}.guide-checks h3{font-size:19px;margin-bottom:12px}.guide-checks p{margin:0}.guide-pricing{background:var(--surface)}.guide-price{font-size:42px!important;color:var(--green)!important;font-weight:600;margin:25px 0 20px}.guide-price-panel{padding:28px;background:white;border-radius:12px}.guide-price-panel h3{font-size:21px}.guide-price-panel ol{padding-left:23px}.guide-price-panel li{padding:8px 0}.guide-price-panel p{font-size:14px;margin:8px 0 0}.guide-price-panel .guide-small{font-size:12px;margin-top:20px}.photo-checklist{padding:0;list-style:none;counter-reset:photo;margin:0}.photo-checklist li{counter-increment:photo;border-top:1px solid var(--line);padding:20px 0}.photo-checklist li:before{content:counter(photo,decimal-leading-zero);display:block;font-size:12px;color:var(--green);margin-bottom:8px}.photo-checklist strong{display:block;font-size:18px;font-weight:600}.photo-checklist span{font-size:14px;color:var(--muted);display:block;margin-top:10px}.guide-faq{background:var(--surface)}.guide-end{background:#eef4f0;text-align:center}.guide-end .cta-row{justify-content:center;margin-top:28px}.guide-end h2{font-size:40px}
@media(min-width:701px){.hero-message{animation:arrive .7s ease-out both}.hero-scene{animation:arrive .9s ease-out both}@keyframes arrive{from{transform:translateY(10px)}to{transform:translateY(0)}}}
@media(max-width:1050px){.site-header{padding-inline:24px;gap:20px}.site-nav{gap:17px;font-size:12px}.brand small{font-size:9px}.section{padding-block:80px}.price-layout,.reasons,.area,.business-info,.guide-split{gap:45px}.faq-layout{gap:45px}.reading-layout{gap:35px;grid-template-columns:minmax(0,1fr) 220px}.service-picture img{height:240px}.hero-scene img{height:400px}.guide-hero{gap:40px}.guide-display{font-size:34px}.guide-jumps{margin-inline:24px}.article-nav{gap:20px}}
@media(max-width:800px){.site-header{height:70px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;padding:20px 24px 28px;background:white;box-shadow:0 8px 8px #163c2a08;border-bottom:1px solid var(--line);font-size:15px;white-space:normal}.site-nav.is-open{display:grid;gap:4px}.site-nav a{min-height:48px}.site-nav .nav-cta{justify-content:center;margin-top:10px}.section-head{align-items:start;gap:30px}.section-head h2{font-size:34px}.section-head>p{font-size:14px}.clean-hero{padding-top:48px}.hero-subtitle{font-size:16px}.reading-layout{grid-template-columns:1fr}.reading-aside{display:none}.article-shell{max-width:780px}.article-heading{padding-top:18px}.work-wide figcaption{display:block}.work-wide figcaption strong,.work-wide figcaption span{display:block}.work-wide figcaption span{margin-top:8px}.work-wide figcaption a{display:inline-flex;margin-top:8px}.flow-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 18px}.flow-list strong{font-size:16px}.service-description h3{font-size:21px}.other-services{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-split{gap:35px}.guide-hero{grid-template-columns:1fr 1fr;gap:30px}.guide-cover img{height:450px}.guide-display{font-size:30px}.article-nav{gap:14px;font-size:12px}.article-nav>a:first-child{display:none}.hub-intro{gap:30px}.reading-end{gap:30px}.reading-end h2{font-size:30px}}
@media(max-width:600px){html{scroll-padding-top:75px}body{font-size:15px;padding-bottom:88px}.site-header{height:65px;padding-inline:20px;gap:14px}.brand{gap:9px}.brand strong{font-size:17px}.brand-mark{width:31px;height:35px;font-size:18px}.brand small{font-size:8px}.nav-toggle{min-height:44px;padding:0 15px;font-size:12px}.site-nav{top:64px;padding-inline:20px}.section{padding:62px 22px}.section-head{display:block;margin-bottom:30px}.section-head h2,h2{font-size:31px}.section-head>p{margin-top:20px;font-size:14px}.section-label{font-size:12px;margin-bottom:15px}.clean-hero{padding:38px 0 0}.hero-message{padding:0 22px 31px}.service-area{font-size:11px;margin-bottom:19px}.hero-message h1{font-size:clamp(32px,8.5vw,43px);line-height:1.4;letter-spacing:-.04em}.hero-subtitle{font-size:14px;max-width:23em;margin:19px auto 23px;line-height:1.8}.hero-actions{gap:12px;flex-direction:column}.hero-actions .button{font-size:14px;min-height:49px;padding-inline:24px}.hero-actions .text-link{font-size:13px;min-height:44px}.hero-note{font-size:10px;margin-top:10px}.hero-scene{border-radius:0;margin:0}.hero-scene img{height:310px;object-position:46% 36%}.hero-scene figcaption{font-size:9px;bottom:12px;right:14px}.problems{padding-top:49px;padding-bottom:49px}.problems .section-head h2{font-size:28px}.problem-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}.problem-list li{font-size:11px;padding:12px 5px;border-radius:6px;white-space:normal}.service-features{display:grid;grid-template-columns:1fr;gap:30px}.service-picture img{height:245px}.service-description{padding-top:18px}.service-description h3{font-size:24px}.service-description p{margin-top:8px;font-size:13px}.other-services{gap:0 23px;margin-top:35px}.compact-service>a{min-height:110px;padding:19px 15px 18px 0}.compact-service h3{font-size:14px;line-height:1.6}.compact-service p{font-size:11px;line-height:1.75}.compact-service>a>span{top:18px;font-size:13px}.price-layout,.reasons,.area,.business-info,.faq-layout,.guide-split{grid-template-columns:1fr;gap:32px}.price-copy>p:not(.section-label){font-size:14px;margin:20px 0 10px}.price-table>[role=row]{font-size:13px;padding:16px 0;gap:8px}.price-table strong{font-size:19px}.small-note{font-size:11px}.price-layout .small-note{margin-top:16px}.reason-intro>p:last-child{font-size:14px;margin-top:20px}.reason-points h3{font-size:18px}.reason-points p{font-size:14px}.reason-points article{padding-bottom:23px;margin-bottom:23px}.work-wide{border-radius:10px}.work-wide>img{height:265px;object-position:43% center}.work-wide figcaption{padding:23px}.work-wide figcaption strong{font-size:22px}.work-wide figcaption span{font-size:12px}.work-pair{grid-template-columns:1fr;gap:30px;margin-top:30px}.work-pair img{height:290px}.work-pair strong{font-size:21px}.work-pair span{font-size:13px}.work-pair figcaption{padding-top:18px}.area>div>p:not(.section-label){font-size:14px;margin-top:20px}.area-detail .area-main{font-size:40px!important;margin-top:0!important}.area-detail>p:not(.area-main){font-size:13px!important}.flow-list{grid-template-columns:1fr 1fr;gap:25px 23px}.flow-list strong{font-size:16px}.flow-list span{font-size:12px}.flow-list li:before{font-size:11px;margin-bottom:8px}.flow>.text-link{font-size:13px;margin-top:12px}.faq-layout>div>p{font-size:14px}.faq-layout{gap:23px}.faq-layout summary{font-size:14px;min-height:63px;padding-right:28px}.faq-layout details>p{font-size:13px}.reading-preview{grid-template-columns:1fr;gap:0}.reading-preview>a{position:relative;min-height:0;padding:23px 30px 23px 0}.reading-preview>a>span:first-child{font-size:11px;margin-bottom:10px}.reading-preview h3{font-size:21px}.reading-preview p{font-size:13px;margin:12px 0 0}.reading-preview>a>span:last-child{position:absolute;right:0;top:23px;font-size:18px}.home-reading .section-head>.text-link{margin-top:14px}.partners h2{font-size:26px}.partners p{font-size:13px}.partners br{display:none}.business-info{gap:28px}.business-info dl>div{grid-template-columns:90px minmax(0,1fr);gap:12px}.business-info dd{font-size:13px}.business-info>div>p:last-child{font-size:14px}.business-info .privacy-note{margin-top:0}.privacy-note p{font-size:12px}.final-cta{padding-block:65px}.final-cta-copy h2{font-size:41px}.final-cta-copy>p:not(.section-label){font-size:13px;margin:22px 0}.final-cta .cta-row{gap:12px 18px}.final-cta .cta-row .primary{width:100%;font-size:14px}.final-cta .cta-row .secondary{font-size:13px;min-height:44px}.final-cta .text-link{font-size:13px}.final-cta .consult-builder{margin-top:30px}.consult-builder>summary{font-size:12px}.estimate-form{padding-top:18px}.estimate-form .form-grid{grid-template-columns:1fr;gap:0}.estimate-form .button{font-size:13px}.estimate-form label{font-size:12px}.site-footer,.guide-footer{padding:35px 22px 38px}.footer-top{display:block}.footer-top p{font-size:10px;margin-top:17px}.footer-guide-links,.guide-footer nav{gap:5px 22px;padding-top:20px;margin-top:22px;font-size:11px}.footer-guide-links a{min-height:44px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:7px;align-items:center;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:45px;border-radius:24px;color:var(--green);font-size:12px}.mobile-cta a:first-child{background:var(--green);color:#fff;font-size:12px;font-weight:600;padding-inline:10px}.article-nav{gap:12px;font-size:11px}.article-nav .nav-cta{padding:8px 13px;min-height:44px}.article-nav>a:not(.nav-cta){display:none}.article-shell{padding:0 22px 50px}.breadcrumbs{padding:23px 0;font-size:11px}.article-heading{padding:10px 0 24px}.article-heading h1{font-size:28px;line-height:1.6}.article-description{font-size:14px;margin:20px 0}.article-category{font-size:11px;margin-bottom:15px}.article-credit{font-size:11px}.reading-body{font-size:15px}.article-answer{padding:22px;font-size:14px}.article-photo{margin:25px 0 30px}.article-photo img{max-height:270px}.article-photo figcaption{font-size:10px}.reading-body h2{font-size:23px;line-height:1.65}.reading-body section{margin:35px 0}.reading-body p{margin-bottom:16px}.related-reading{margin-top:45px}.related-reading h2{font-size:24px}.related-reading>a{font-size:14px;gap:15px}.reading-end{display:block;padding:50px 22px}.reading-end h2{font-size:29px}.reading-end>div+div{margin-top:25px}.reading-end .button{font-size:14px}.reading-end p{font-size:12px}.guide-footer>p{font-size:11px}.hub-intro{grid-template-columns:1fr;gap:5px;padding:15px 0 30px}.hub-intro h1{font-size:35px}.hub-intro p{font-size:14px}.hub-categories{gap:5px 20px}.hub-categories a{font-size:12px;min-height:44px}.hub-category{margin:40px 0}.hub-category>h2{font-size:25px;margin-bottom:20px}.reading-list{grid-template-columns:1fr}.reading-item h3{font-size:19px}.reading-item p{font-size:13px}.editorial-note h2{font-size:22px}.editorial-note p{font-size:13px}.guide-hero{grid-template-columns:1fr;padding:15px 22px 40px;gap:30px}.guide-breadcrumb{padding:22px;font-size:11px}.guide-hero h1{font-size:16px}.guide-display{font-size:31px;line-height:1.5}.guide-cover img{height:330px}.guide-hero-copy>p:not(.guide-display):not(.service-area){font-size:14px}.guide-jumps{margin-inline:22px;gap:5px 20px;font-size:12px;padding-block:10px}.guide-split>h2{font-size:30px}.guide-split p{font-size:14px}.guide-price{font-size:36px!important}.guide-price-panel{padding:23px}.guide-price-panel h3{font-size:20px}.guide-questions summary{font-size:14px}.guide-questions details>p{font-size:13px}.guide-end h2{font-size:32px}.guide-end .button{font-size:13px}.photo-checklist strong{font-size:17px}.photo-checklist span{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Photographs appear only in the homepage field gallery and hero. */
.hero-message h1{font-size:clamp(34px,4.1vw,56px)}
.hero-subtitle{max-width:40em;margin-inline:auto}
.service-features>.service-card{background:white;border-radius:10px;padding:6px 25px 26px}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.work-gallery img{width:100%;height:350px;object-fit:cover;object-position:center 40%;border-radius:10px}
.work-gallery figure:nth-child(3) img{object-position:center 65%}
.work-gallery figcaption{display:grid;gap:10px;padding-top:20px}
.work-gallery strong{font-size:21px;font-weight:600}
.work-gallery span{font-size:14px;color:var(--muted)}
.service-detail-heading{max-width:850px;padding-bottom:40px}
.service-detail-heading .cta-row{margin-top:26px}
.service-detail-heading .article-description{font-size:17px;line-height:1.9}
.detail-jumps{display:flex;flex-wrap:wrap;gap:8px 28px;padding:12px 0;border-block:1px solid var(--line);font-size:14px;color:var(--green)}
.detail-jumps a{display:inline-flex;align-items:center;min-height:44px}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(0,240px);gap:65px;align-items:start}
.service-detail-layout .reading-body>section{margin:48px 0}
.service-detail-layout .reading-body section>section{margin:26px 0}
.service-detail-layout h3{font-size:20px;line-height:1.65;margin-bottom:12px}
.detail-price{font-size:28px;line-height:1.65;color:var(--green);font-weight:600}
.detail-aside{position:sticky;top:110px;padding-top:48px;font-size:14px}
.detail-aside h2{font-size:19px;margin-bottom:15px}
.detail-aside>a:not(.button){display:block;padding:13px 0;border-bottom:1px solid var(--line);color:var(--green);line-height:1.7}
.detail-aside p{font-size:13px;color:var(--muted);margin:25px 0 18px}
.detail-aside .button{font-size:12px;padding:12px 16px;gap:0;width:100%}
@media(max-width:900px){.service-detail-layout{grid-template-columns:1fr;gap:0}.detail-aside{position:static;padding:0 0 30px;max-width:720px}.detail-aside .button{width:auto}.work-gallery{gap:20px}.work-gallery img{height:280px}.work-gallery strong{font-size:19px}}
@media(max-width:600px){.hero-message h1{font-size:clamp(28px,7.5vw,36px);letter-spacing:-.03em}.hero-subtitle{max-width:24em;font-size:14px}.service-features{gap:16px}.service-features>.service-card{padding:0 22px 24px}.service-description{padding-top:23px}.work-gallery{grid-template-columns:1fr;gap:30px}.work-gallery img{height:310px}.work-gallery strong{font-size:21px}.work-gallery span{font-size:13px}.work-gallery figcaption{padding-top:17px}.service-detail-heading .article-description{font-size:15px}.service-detail-heading .button{font-size:13px;padding-inline:20px}.detail-jumps{gap:4px 22px;font-size:12px}.service-detail-layout h3{font-size:19px}.service-detail-layout .reading-body>section{margin:36px 0}.detail-price{font-size:24px}.final-cta-copy h2{font-size:clamp(28px,7.5vw,40px)}}

/* Japanese wrapping: preserve meaningful phrases instead of balancing characters. */
h1,h2,h3{ text-wrap:wrap; word-break:normal; overflow-wrap:normal; line-break:strict; }
p{ text-wrap:wrap; line-break:strict; }
.text-phrase{display:inline-block;white-space:nowrap;max-width:100%}
.hero-subtitle{max-width:36em;text-align:left}
@media(max-width:600px){.section-head h2,h2{font-size:28px}.partners h2{font-size:25px}.final-cta-copy h2{font-size:26px}.hero-subtitle{max-width:25em}.text-phrase{letter-spacing:-.025em}}

/* Verified contact hours and photo-based work notes. */
.case-notes{max-width:820px;margin-top:52px}.case-notes>h3{margin-bottom:24px}.case-notes details{border-top:1px solid var(--line)}.case-notes details:last-child{border-bottom:1px solid var(--line)}.case-notes summary{cursor:pointer;padding:22px 30px 22px 0;font-weight:600;line-height:1.7}.case-note-body{padding:0 0 24px;font-size:15px;line-height:1.9}.case-note-body h4{font-size:17px;margin:26px 0 10px}.case-note-body p{margin:0 0 18px}.contact-hours{font-size:13px;color:var(--muted);line-height:1.9;margin-top:22px}.contact-hours br{display:none}@media(max-width:600px){.case-notes{margin-top:34px}.case-notes>h3{font-size:23px}.case-notes summary{font-size:16px}.case-note-body{font-size:14px}.contact-hours{font-size:12px}}

/* 2026-11 改善版v1: 未送信の明示と結果パネルのフォーカス、サービス補足 */
.estimate-form>.form-note-top{padding:12px 14px;color:var(--ink);background:var(--mist);border-left:4px solid var(--green);border-radius:var(--radius);font-size:13px;line-height:1.7}
.contact-result:focus{outline:none}
.contact-result:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.services-note{max-width:1120px;margin:0 auto;padding:0 max(24px,calc((100vw - var(--max))/2)) 8px;color:var(--muted);font-size:14px}
