@charset "UTF-8";
:root{--bg:#faf9f6;--surface:#fff;--soft:#f0f1ee;--text:#303638;--muted:#626c6c;--line:#d9dedb;--accent:#446b68;--accent-dark:#294b49;--radius:12px;--space:clamp(22px,4vw,56px);--max:1100px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;overflow-wrap:anywhere}a{color:var(--accent-dark);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b57b3d;outline-offset:3px}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.demo-banner{padding:7px 16px;text-align:center;background:#e9ede9;color:#3d5350;font-size:12px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:50}.skip:focus{top:12px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}.brand{font-size:19px;line-height:1.35;font-weight:750;color:var(--text);text-decoration:none;white-space:nowrap}.brand span{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted);margin-top:5px}.site-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,24px)}.site-nav a{font-size:13px;text-decoration:none;color:var(--text);font-weight:600}.site-nav a[aria-current="page"]{color:var(--accent-dark);border-bottom:2px solid var(--accent);padding-block:5px}.site-nav .back-link{padding:9px 13px;border:1px solid var(--line);border-radius:7px}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px}.breadcrumbs{display:flex;align-items:center;gap:10px;padding:23px 0;font-size:13px;color:var(--muted)}.page-heading{padding:clamp(24px,5vw,65px) 0 clamp(35px,5vw,65px);border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:750;color:var(--accent);margin:0 0 10px}.page-heading h1{font-size:clamp(30px,4vw,46px);line-height:1.35;margin:0 0 16px}.page-heading>p:last-child{max-width:720px;margin:0;color:var(--muted)}h2{font-size:clamp(23px,2.7vw,30px);line-height:1.45;margin:0 0 22px}h3{font-size:19px;line-height:1.5;margin:0 0 12px}p{margin:0 0 17px}.section{padding:clamp(45px,6vw,80px) 0;border-bottom:1px solid var(--line)}.section-head{max-width:760px;margin-bottom:30px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,32px)}.large{font-size:21px;font-weight:700}.note{font-size:13px;color:var(--muted)}.fake-action{display:inline-block;padding:10px 15px;background:var(--soft);border-radius:8px;color:var(--muted);font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}.image-placeholder{min-height:240px;aspect-ratio:4/3;background:linear-gradient(135deg,#e6e9e5,#d9e1dc);border:1px solid #d2d9d3;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#546660;font-size:14px;border-radius:var(--radius)}.image-placeholder.portrait{aspect-ratio:5/4}.feature{padding:22px 0;border-top:2px solid var(--accent)}.feature span{font-size:12px;color:var(--accent)}.feature h3{margin-top:10px}.data-list{margin:0;border-top:1px solid var(--line)}.data-list>div{display:grid;grid-template-columns:220px minmax(0,1fr);border-bottom:1px solid var(--line);padding:16px 10px;gap:18px}.data-list dt{font-weight:700}.data-list dd{margin:0}.inline-links{display:flex;gap:25px;flex-wrap:wrap;font-weight:700}.cta{background:var(--accent-dark);color:#fff;border-radius:var(--radius);padding:clamp(24px,4vw,48px);margin:65px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta h2{margin-bottom:8px}.cta p{margin:0;color:#e4eae8}.button{display:inline-block;background:var(--accent-dark);border:2px solid var(--accent-dark);color:white;padding:13px 22px;border-radius:7px;text-decoration:none;font-weight:700;text-align:center}.button-light{background:white;color:var(--accent-dark);border-color:white;white-space:nowrap}.button-outline{background:white;color:var(--accent-dark)}.site-footer{background:#edf0ec;padding:42px 0}.footer-inner{display:flex;justify-content:space-between;gap:35px}.footer-inner p{font-size:14px;margin:10px 0}.footer-inner small{color:var(--muted)}.footer-inner nav{display:flex;gap:12px 20px;flex-wrap:wrap;max-width:470px;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #aab4af;background:#fff;border-radius:7px;padding:12px 14px;color:var(--text)}.field textarea{resize:vertical}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#a33232}.field em,.check em{font-size:12px;font-style:normal;background:#8e3f38;color:#fff;border-radius:3px;padding:2px 6px}.optional{font-size:12px;color:var(--muted);font-weight:400}.error{display:block;color:#9d2929;font-size:13px;min-height:1em}.privacy-box{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:25px 0}.privacy-box p{font-size:14px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:600}.check input{width:20px;height:20px;flex-shrink:0;margin-top:6px}.notice{background:#f4efe5;padding:14px 18px;border-left:4px solid #ae8856;border-radius:4px;font-size:14px}.error-summary{background:#fff0ef;border:1px solid #c87c74;padding:12px 18px;margin-bottom:20px}.preview{background:white;border:1px solid var(--line);padding:24px;margin-top:25px;border-radius:var(--radius)}.preview[hidden],.error-summary[hidden]{display:none}.map-placeholder{min-height:350px;border:1px dashed #9ea9a3;border-radius:var(--radius);background:repeating-linear-gradient(45deg,#e8ece8,#e8ece8 15px,#eef1ed 15px,#eef1ed 30px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:#53655f}.map-placeholder strong{font-size:30px;letter-spacing:.25em}.map-placeholder small{font-size:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:400px;background:#fff}caption{text-align:left;color:var(--muted);font-size:13px;padding-bottom:10px}th,td{padding:15px 18px;border:1px solid var(--line);text-align:left}thead{background:#edf1ed}.photo-info h3{margin:16px 0 6px}.service-list{display:grid;gap:40px}.service-row{display:grid;grid-template-columns:42% 1fr;gap:clamp(20px,4vw,50px);align-items:center}.service-row:nth-child(even) .image-placeholder{order:2}.mini-list{border-top:1px solid var(--line);margin:20px 0 0}.mini-list div{padding:9px 0;border-bottom:1px solid var(--line)}.mini-list dt{font-weight:700;font-size:13px}.mini-list dd{margin:0;font-size:14px}.steps{padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;list-style:none}.steps li{border-top:3px solid var(--accent);padding:17px 8px}.steps p{font-size:14px;margin:8px 0}.faq details{background:white;border-bottom:1px solid var(--line);padding:18px 22px}.faq summary{cursor:pointer;font-weight:700}.faq details p{padding-top:14px;margin:0}.reveal{transition:opacity .65s ease,transform .65s ease}.js-motion .reveal:not(.is-visible){opacity:0;transform:translateY(12px)}@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:15px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 25px #00000012}.site-nav.is-open{display:flex}.site-nav a{padding:13px 6px;border-bottom:1px solid var(--line)}.site-nav a[aria-current="page"]{border-bottom:2px solid var(--accent)}.site-nav .back-link{margin-top:12px;text-align:center}.header-inner{min-height:75px}}@media(max-width:680px){.container{width:min(calc(100% - 32px),var(--max))}.grid.two,.grid.three,.split,.service-row,.steps,.form-grid{grid-template-columns:1fr}.service-row:nth-child(even) .image-placeholder{order:0}.data-list>div{grid-template-columns:1fr;gap:3px}.cta,.footer-inner{flex-direction:column;align-items:stretch}.cta{margin:40px 0}.site-footer{padding:30px 0}.page-heading{padding:20px 0 35px}.section{padding:42px 0}.image-placeholder{min-height:200px}.steps{gap:0}.steps li{padding:14px 8px}.brand{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.js-motion .reveal:not(.is-visible){transition:none;transform:none;opacity:1}}
