:root{--navy:#102c43;--deep:#092235;--ink:#162e3e;--muted:#617480;--gold:#f4b23f;--gold-dark:#d98c1f;--bg:#f5f8f8;--line:#dfe8e9;--radius:16px;--container:1160px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.72;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}::selection{background:#fbd183;color:#102c43}:focus-visible{outline:3px solid #df9b2d;outline-offset:4px}.container{max-width:var(--container);margin:0 auto;padding:0 28px}.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:#000;padding:8px 14px;z-index:200}.skip-link:focus{top:12px}.demo-banner{background:#fff2d8;color:#744c15;text-align:center;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.02em}.site-header{position:sticky;top:0;background:#fff;z-index:40;border-bottom:1px solid #e7eded;box-shadow:0 4px 22px #0d273807}.header-inner{height:84px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;gap:11px;align-items:center;min-width:max-content}.brand-icon{width:42px;height:42px;background:var(--navy);color:var(--gold);border-radius:11px;display:grid;place-items:center}.brand-icon svg{width:25px;height:25px}.brand-text{display:flex;flex-direction:column;line-height:1.35}.brand-text strong{font-size:19px;letter-spacing:.035em;font-weight:850}.brand-text small{color:#7a8c95;font-size:10px;font-weight:700;letter-spacing:.11em;margin-top:4px}.desktop-nav{display:flex;gap:23px;margin-left:auto;align-items:center;white-space:nowrap}.desktop-nav a{font-size:12px;font-weight:700;transition:color .2s}.desktop-nav a:hover{color:#d18a22}.btn{display:inline-flex;justify-content:center;align-items:center;gap:19px;border:none;border-radius:7px;line-height:1.2;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn span{font-size:20px;font-weight:500}.btn-header{background:var(--gold);color:var(--deep);padding:16px 18px;font-size:12px;white-space:nowrap}.btn-header:hover,.btn-primary:hover{background:#ffc861}.menu-toggle,.mobile-menu{display:none}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,#29506a78 0,transparent 68%);right:-130px;top:-100px;pointer-events:none}.hero-grid-bg{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(to right,#9dc1c6 1px,transparent 1px),linear-gradient(to bottom,#9dc1c6 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 22%,black 100%);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;min-height:640px;align-items:center;gap:35px;padding-top:67px;padding-bottom:45px;position:relative}.hero-content{position:relative;z-index:2}.eyebrow{display:flex;gap:13px;align-items:center;color:#bdd7dc;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:26px}.eyebrow-line{display:inline-block;width:29px;height:2px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(40px,4.25vw,63px);line-height:1.43;letter-spacing:-.045em;font-weight:850;margin:0 0 25px;white-space:nowrap}.hero-emphasis{color:#fff;background:linear-gradient(transparent 76%,#e9a03566 0)}.hero-accent{color:var(--gold)}.hero-description{font-size:15px;line-height:2.1;max-width:485px;color:#d2e1e5;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.btn-primary{background:var(--gold);color:var(--deep);padding:20px 26px;font-size:14px;box-shadow:0 10px 30px #071b2a33}.btn-text{color:#fff;padding:12px 0;font-size:13px}.btn-text:hover{color:var(--gold)}.hero-hint{font-size:11px;color:#abc6ce;margin-top:18px}.hero-visual{min-width:0;position:relative;padding:25px 8px 25px 12px}.visual-glow{position:absolute;inset:15% 0;background:#5b8d97;filter:blur(75px);opacity:.24;border-radius:50%}.visual-card{position:relative;background:linear-gradient(145deg,#f7fcfb,#e4eeed);border:7px solid #31516a;border-radius:22px;box-shadow:0 26px 55px #061a2b7d;transform:rotate(-3deg);overflow:hidden}.visual-card-header{height:49px;background:#edf5f5;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #cadcdf;color:#5c7b88;font-size:10px;letter-spacing:.18em;font-weight:800}.visual-dots{display:flex;gap:6px;margin-right:auto}.visual-dots i{display:block;width:8px;height:8px;background:#c2d5da;border-radius:50%}.visual-dots i:first-child{background:#efaf69}.visual-card-header svg{width:17px;height:17px;margin-left:auto;stroke:#72919a;stroke-width:2}.hero-art{width:100%;height:auto;padding:5px 0 10px}.visual-tag{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;background:#fff;color:var(--navy);box-shadow:0 17px 38px #0a22364c;border-radius:11px;font-size:11px;line-height:1.5;padding:14px 20px}.visual-tag strong{font-size:14px}.visual-tag-top{top:4px;right:-13px;transform:rotate(3deg)}.visual-tag-bottom{bottom:0;left:-15px;transform:rotate(2deg)}.tag-icon{font-size:26px;color:#f0a128}.tag-check{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e4f4ed;color:#308562;font-size:24px;font-weight:800}
.section{padding:105px 0}.services-section{background:var(--bg)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:52px;margin-bottom:44px}.section-kicker{font:800 12px/1.2 Arial,sans-serif;letter-spacing:.23em;color:#d38b20;display:flex;gap:16px;align-items:center;margin-bottom:23px}.section-kicker span{height:1px;width:40px;background:#d38b20}.section-heading h2,.why-section h2,.area-section h2,.faq-section h2,.contact-section h2,.center-heading h2{font-size:clamp(28px,3vw,43px);line-height:1.48;font-weight:850;letter-spacing:-.03em;margin-bottom:0}.section-heading h2 em,.why-section h2 em,.contact-section h2 em{font-style:normal;color:#d9942c}.section-lead{max-width:425px;margin:0 0 3px;color:var(--muted);font-size:14px;line-height:2.1}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.service-card{position:relative;background:#fff;border:1px solid #e5ecee;border-radius:13px;padding:30px 27px 24px;min-height:275px;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s,border-color .25s}.service-card:hover{box-shadow:0 20px 40px #102c4316;transform:translateY(-5px);border-color:#c9d8db}.service-icon{width:64px;height:64px;display:grid;place-items:center;background:#fff5e5;border-radius:15px;margin-bottom:25px}.service-icon svg,.step-icon svg{width:42px;height:42px;stroke:var(--navy);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.card-number{position:absolute;top:30px;right:29px;color:#dbe4e6;font:800 15px Arial,sans-serif}.service-card h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;margin-bottom:13px}.service-card p{color:#697d87;font-size:12.8px;line-height:1.9;margin-bottom:22px}.card-link{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#bd7414}.card-link span{font-size:20px}.card-link:hover{text-decoration:underline}.services-bottom{margin-top:27px;display:flex;gap:15px;align-items:center;color:#586d78;background:#eaf1f1;padding:18px 23px;border-radius:9px}.services-bottom span{font-size:23px;color:#c98721}.services-bottom p{font-size:12px;line-height:1.8;margin:0;flex:1}.services-bottom a{font-size:12px;font-weight:800;color:#bb791c;white-space:nowrap}.services-bottom a:hover{text-decoration:underline}
.why-section{background:#123249;color:#fff;position:relative;overflow:hidden}.why-section:after{content:"";width:500px;height:500px;border-radius:50%;border:1px solid #37607a;position:absolute;right:-220px;top:-220px}.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:95px;position:relative;z-index:1}.section-kicker-light{color:var(--gold)}.section-kicker-light span{background:var(--gold)}.why-text h2{margin-bottom:25px}.why-text>p:not(.section-kicker){color:#c9dce1;font-size:14px;line-height:2.1;max-width:460px;margin-bottom:30px}.why-list{padding-top:25px}.why-item{display:flex;gap:25px;align-items:flex-start;padding:23px 0;border-bottom:1px solid #426075}.why-item:first-child{border-top:1px solid #426075}.why-item>span{color:#e9ad45;font:700 20px Arial,sans-serif}.why-item h3{font-size:17px;margin-bottom:6px}.why-item p{font-size:12px;line-height:1.9;color:#bdd3d9;margin-bottom:0}
.center-heading{text-align:center;margin-bottom:54px}.center-heading .section-kicker{justify-content:center;margin-bottom:17px}.center-heading h2{margin-bottom:12px}.center-heading>p:last-child{font-size:14px;color:var(--muted)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{position:relative;text-align:center;padding:17px 18px}.step:not(:last-child):after{content:"";position:absolute;right:-18px;top:65px;width:28px;height:2px;border-top:2px dashed #c7d4d7}.step-no{font:800 12px Arial,sans-serif;color:#d48e24;letter-spacing:.16em}.step-icon{height:100px;width:100px;display:grid;place-items:center;background:#edf3f3;border-radius:50%;margin:18px auto 24px}.step-icon svg{width:46px;height:46px}.step h3{font-size:18px;margin-bottom:12px}.step p{font-size:13px;line-height:2;color:var(--muted);margin:0}
.pricing-band{background:#fffaf1;padding:63px 0;border-top:1px solid #f4e8d1;border-bottom:1px solid #f4e8d1}.pricing-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:38px;align-items:center}.pricing-band .section-kicker{margin-bottom:13px}.pricing-band h2{font-size:clamp(23px,2.2vw,31px);line-height:1.5;margin-bottom:13px}.pricing-band p:not(.section-kicker){font-size:13px;line-height:1.95;color:#6f7880;max-width:625px;margin:0}.pricing-right{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.pricing-tags{display:flex;flex-wrap:wrap;gap:8px}.pricing-tags span{font-size:11px;border:1px solid #e5d8bb;color:#8b6c39;background:#fff;border-radius:6px;padding:6px 10px}.pricing-right .btn{padding:15px 20px}.area-section{background:#eaf1f1;padding:75px 0}.area-inner{display:grid;grid-template-columns:170px 1fr auto;gap:36px;align-items:center}.area-icon svg{width:165px;height:165px}.area-section .section-kicker{margin-bottom:13px}.area-section h2{font-size:clamp(25px,2.6vw,36px);margin-bottom:17px}.area-section p:not(.section-kicker){font-size:13px;color:var(--muted);max-width:540px;margin:0}.area-section p.area-note{font-size:10px;color:#8b6b3c;margin-top:7px}.btn-dark{background:var(--navy);color:#fff;padding:18px 21px;font-size:12px;white-space:nowrap}.btn-dark:hover{background:#20475d}
.faq-inner{display:grid;grid-template-columns:.77fr 1.23fr;gap:70px}.faq-intro p:last-child{font-size:13px;color:var(--muted);margin-top:20px}.faq-list{border-top:1px solid #d9e4e6}.faq-list details{border-bottom:1px solid #d9e4e6;padding:0 10px}.faq-list summary{list-style:none;cursor:pointer;padding:24px 0;font-size:15px;font-weight:750;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:25px;line-height:1;color:#d8972e;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:13px;line-height:2;color:var(--muted);padding:0 29px 21px 0;margin:0}
.contact-section{background:#0d293e;color:#fff;padding:105px 0}.contact-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:76px;align-items:start}.contact-copy h2{margin-bottom:24px}.contact-copy>p:not(.section-kicker){color:#c6d8dd;line-height:2.05;font-size:14px;margin-bottom:37px}.contact-info{border-top:1px solid #486176;max-width:420px}.contact-info>div{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid #486176;padding:19px 0}.contact-info-label{color:#c1ccd0;font-size:11px}.contact-info strong{font-size:14px}.contact-info small{color:#b0c4ca;font-size:11px}.contact-line{margin-top:34px;color:#e6ad4e;font-size:12px;font-weight:800}.form-card{background:#fff;color:var(--ink);border-radius:14px;padding:38px;box-shadow:0 30px 60px #071c303b}.form-card h3{font-size:23px;margin-bottom:5px}.form-subtitle{font-size:12px;color:var(--muted);margin-bottom:27px}.form-card form{display:flex;flex-direction:column;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750}.form-card label span{font-size:9px;font-weight:700;color:#c87922;background:#fff1dc;padding:2px 7px;border-radius:3px;margin-left:5px}.form-card label small{font-size:10px;font-weight:400;color:#83919a;display:inline}.form-card input,.form-card select,.form-card textarea{width:100%;padding:13px 13px;border-radius:5px;border:1px solid #d8e2e4;background:#f9fbfb;color:#183448;font-size:13px;outline:none;transition:border .2s,box-shadow .2s}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#cb912d;box-shadow:0 0 0 3px #f4b23f24}.form-card textarea{resize:vertical;min-height:120px}.form-card input::placeholder,.form-card textarea::placeholder{color:#a3adb3}.btn-submit{width:100%;background:var(--gold);color:var(--deep);padding:18px;font-size:14px}.btn-submit:hover{background:#ffc768}.form-note{font-size:10px;line-height:1.8;color:#75868e;margin:0}.form-feedback{font-size:12px;line-height:1.7;margin:0}.form-feedback:empty{display:none}.form-feedback.is-error{color:#b23c2d}.form-feedback.is-success{color:#246b52}
.site-footer{background:#081d2d;color:#e5f1f3}.footer-upper{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:42px;padding-bottom:40px}.footer-brand .brand-icon{background:#25465a}.footer-brand .brand-text small{color:#9cafb8}.footer-upper nav{display:flex;gap:24px}.footer-upper nav a{font-size:12px;color:#bacbd1}.footer-upper nav a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #284356;display:flex;justify-content:space-between;gap:15px;padding-top:18px;padding-bottom:20px}.footer-bottom p{font-size:10px;color:#94aab3;margin:0}.mobile-cta{display:none}
@media(max-width:1100px){.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.header-inner{gap:18px}.brand-text strong{font-size:17px}.hero h1{font-size:48px}.area-inner{grid-template-columns:120px 1fr auto;gap:20px}.area-icon svg{width:115px;height:115px}.contact-inner{gap:35px}}
@media(max-width:920px){.pricing-inner{grid-template-columns:1fr;gap:25px}.pricing-right{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.desktop-nav,.btn-header{display:none}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:none;background:transparent;padding:12px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 15px 20px #0b263624;padding:8px 28px 20px;max-height:calc(100vh - 100px);overflow-y:auto}.mobile-menu a{padding:14px 0;border-bottom:1px solid #edf0f1;font-size:14px;font-weight:800}.hero-inner{grid-template-columns:1fr 1fr;gap:18px;min-height:550px}.hero h1{font-size:clamp(35px,5vw,48px)}.hero-description{font-size:13px}.visual-tag{font-size:9px;padding:10px}.visual-tag strong{font-size:12px}.why-inner{gap:35px}.area-inner{grid-template-columns:110px 1fr}.area-inner .btn{grid-column:2;justify-self:start}.faq-inner{gap:35px}.contact-inner{grid-template-columns:1fr 1.2fr;gap:24px}.form-card{padding:26px}}
@media(max-width:700px){.pricing-band{padding:58px 0}.pricing-right{align-items:flex-start;flex-direction:column}html{scroll-padding-top:72px}.container{padding-left:20px;padding-right:20px}.demo-banner{font-size:10px}.header-inner{height:68px}.brand-icon{width:37px;height:37px}.brand-icon svg{width:21px}.brand-text strong{font-size:16px}.brand-text small{font-size:9px}.hero-inner{grid-template-columns:1fr;gap:6px;padding-top:61px;padding-bottom:46px;min-height:0}.hero h1{font-size:clamp(36px,9.4vw,50px);line-height:1.5}.hero-description{max-width:520px;font-size:13px}.hero-actions{gap:15px}.hero-visual{max-width:480px;width:92%;margin:22px auto 0;padding:10px}.visual-card{border-width:5px}.visual-tag-top{top:-2px;right:-5px}.visual-tag-bottom{left:-5px;bottom:0}.section{padding:76px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:33px}.section-lead{margin-top:20px;font-size:13px}.services-grid{grid-template-columns:repeat(2,1fr);gap:13px}.service-card{padding:22px 17px;min-height:260px}.service-icon{width:53px;height:53px;margin-bottom:19px}.service-icon svg{width:33px;height:33px}.service-card h3{font-size:16px}.service-card p{font-size:12px}.card-number{font-size:12px;right:17px;top:24px}.services-bottom{align-items:flex-start;flex-wrap:wrap}.services-bottom p{flex-basis:calc(100% - 45px)}.services-bottom a{margin-left:40px}.why-inner{grid-template-columns:1fr;gap:23px}.why-text h2{font-size:33px}.why-list{padding-top:0}.steps-grid{grid-template-columns:1fr;gap:24px}.step{padding:0 24px 23px;border-bottom:1px solid #e5ecee}.step:last-child{border:0}.step:not(:last-child):after{display:none}.step-icon{height:85px;width:85px;margin:12px auto 16px}.area-inner{grid-template-columns:85px 1fr;gap:15px}.area-icon svg{width:85px;height:85px}.area-section h2{font-size:24px}.area-inner .btn{grid-column:1 / -1;margin-top:8px}.faq-inner{grid-template-columns:1fr;gap:25px}.contact-inner{grid-template-columns:1fr;gap:35px}.contact-section{padding:74px 0}.contact-copy h2{font-size:33px}.form-card{padding:26px 20px}.footer-upper{flex-direction:column;align-items:flex-start}.footer-upper nav{flex-wrap:wrap;gap:12px 21px}.footer-bottom{flex-direction:column;gap:5px;padding-bottom:90px}.mobile-cta{position:fixed;bottom:12px;left:15px;right:15px;z-index:30;background:var(--gold);color:var(--navy);box-shadow:0 8px 27px #09233970;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:17px;padding:15px;font-size:13px;font-weight:850}.mobile-cta span{font-size:17px}}
@media(max-width:430px){.services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:25px}.service-card h3{font-size:18px}.service-card p{font-size:13px}.section-heading h2,.why-text h2{font-size:29px}.hero h1{font-size:35px}.hero-actions .btn-primary{width:100%}.hero-actions .btn-text{padding-left:2px}.field-row{grid-template-columns:1fr}.visual-tag{font-size:8px}.visual-tag strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* 3市対応・サービス詳細ページ用追加スタイル */
.seo-region-title{font-size:.43em;color:#c9e0e4;letter-spacing:.01em;white-space:normal;display:inline-block;line-height:1.45;vertical-align:middle;margin-bottom:10px}
.breadcrumb{font-size:12px;color:#6b7d87;padding:18px 0}.breadcrumb a{color:#1c536b;text-decoration:underline;text-underline-offset:3px}
.detail-hero{background:#102c43;color:#fff;padding:75px 0 85px}.detail-hero .section-kicker{color:#f4b23f}.detail-hero h1{font-size:clamp(32px,4vw,53px);line-height:1.48;letter-spacing:-.025em;max-width:840px;margin:0 0 18px}.detail-hero p{color:#d8e5e7;font-size:15px;line-height:2;max-width:780px}.detail-hero .btn{margin-top:16px}
.detail-section{padding:76px 0}.detail-section.alt{background:#f5f8f8}.detail-section h2{font-size:clamp(26px,3vw,37px);margin:0 0 20px;line-height:1.5}.detail-lead{max-width:790px;font-size:15px;color:#516875;line-height:2.05}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.detail-card{background:#fff;border:1px solid #dfe8e9;border-radius:12px;padding:26px}.detail-card .count{color:#c9831d;font-weight:800;font-size:12px}.detail-card h3{font-size:18px;margin:12px 0}.detail-card p{font-size:13px;line-height:1.9;color:#596f7a;margin:0}.detail-questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px}.detail-questions .faq-list{align-self:start}.detail-cta{background:#f9eedb;border-radius:16px;padding:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.detail-cta p{margin:7px 0 0;color:#586974}.detail-related{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.detail-related a{border:1px solid #d8e2e4;border-radius:6px;padding:12px 17px;font-size:13px;background:#fff;color:#21516a;font-weight:700}.detail-area-list{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.detail-area-list span{padding:8px 15px;background:#ecf3f4;border:1px solid #cfdddf;border-radius:6px;font-weight:700}.detail-note{font-size:12px;color:#64747e;margin-top:15px}
@media(max-width:700px){.detail-hero{padding:48px 0 60px}.detail-hero h1{font-size:33px}.detail-section{padding:58px 0}.detail-grid{grid-template-columns:1fr}.detail-questions{grid-template-columns:1fr;gap:20px}.detail-cta{align-items:flex-start;flex-direction:column}.seo-region-title{font-size:.4em}}

/* くらしのマーケット掲載ページへの外部リンク */
.curama-section{padding:78px 0;background:#edf4f4}
.curama-panel{background:#fff;border:1px solid #d9e7e9;border-radius:20px;padding:48px 55px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.85fr);gap:28px;align-items:center;box-shadow:0 14px 50px #173a4920}
.curama-panel .section-kicker{color:#bd7819;font-size:11px;font-weight:800;letter-spacing:.16em}
.curama-panel h2{font-size:clamp(26px,3vw,39px);line-height:1.48;letter-spacing:-.03em;margin:12px 0 15px}
.curama-panel p{color:#526b77;font-size:14px;line-height:1.95}
.curama-content{min-width:0}
.curama-chips{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0 26px}
.curama-chips span{background:#f2f6f6;color:#295164;border:1px solid #e0eaeb;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:750}
.btn-curama{background:#102c43;color:#fff;padding:18px 22px;font-size:13px;min-height:54px;text-align:center}
.btn-curama:hover{background:#264c65}
.curama-panel .curama-note{margin:15px 0 0;font-size:11px;color:#687e89;line-height:1.75}
.curama-visual{align-self:stretch;min-height:250px;background:linear-gradient(145deg,#eaf3f2,#f7f1e6);border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 18px;gap:4px}
.curama-visual svg{max-width:100%;width:245px;max-height:215px}
.curama-visual-label{color:#36657b;font-size:11px;font-weight:850;letter-spacing:.18em}
.curama-visual p{font-size:12px;font-weight:750;color:#315669;margin:0}
.curama-detail{background:#edf4f4}
.curama-panel-compact{box-shadow:none}
@media(max-width:700px){.curama-section{padding:53px 0}.curama-panel{padding:29px 23px;grid-template-columns:1fr;gap:19px}.curama-panel h2{font-size:27px}.curama-panel p{font-size:13px}.curama-visual{min-height:180px;padding:13px}.curama-visual svg{width:185px;max-height:155px}.btn-curama{width:100%;font-size:12px}.curama-chips{margin-bottom:19px}}

/* LINE inquiry — green links to the provided LINE URL. */
.btn-line{background:#06c755;color:#073a22;padding:18px 24px;font-size:14px;box-shadow:0 9px 24px #041f1138;text-align:center;min-height:54px}
.btn-line:hover{background:#00b94e;transform:translateY(-2px)}
.btn-line:visited{color:#073a22}
.btn-header.btn-line{padding:14px 17px;box-shadow:none;min-height:0;font-size:12px}
.line-contact-box{background:#fff;color:var(--ink);padding:24px 23px;border-radius:13px;max-width:420px;margin:0 0 30px}
.line-contact-kicker{font-size:10px;font-weight:850;letter-spacing:.12em;color:#147843}
.line-contact-box h3{font-size:19px;line-height:1.4;margin:8px 0}
.line-contact-box p{font-size:12px;line-height:1.9;color:#4e6470;margin:0 0 17px}
.line-contact-box .btn{width:100%;font-size:13px}
.line-contact-box small{display:block;font-size:10px;color:#64717a;margin-top:12px}
.detail-cta-actions{display:flex;flex-direction:column;gap:9px;align-items:center}
.detail-mail-link{font-size:12px;color:#1d4b67;text-decoration:underline;text-underline-offset:3px}
.mobile-cta-line{background:#06c755!important;color:#073a22!important}
@media(max-width:700px){.detail-cta-actions{align-items:stretch;width:100%}.detail-cta-actions .btn{width:100%}.line-contact-box{max-width:none}}


/* Google Forms: primary inquiry route, with LINE available as an alternative */
.btn-form{background:var(--gold);color:var(--deep);padding:18px 24px;font-size:14px;box-shadow:0 9px 24px #041f1138;min-height:54px;text-align:center}
.btn-form:hover{background:#ffc861}
.btn-form:visited{color:var(--deep)}
.btn-header.btn-form{padding:14px 16px;min-height:0;font-size:12px;box-shadow:none}
.btn-line-secondary{font-size:13px;min-height:54px;padding:16px 18px;box-shadow:none}
.google-form-card{padding:32px 27px}
.form-card-kicker{font:800 11px/1.5 Arial,sans-serif;letter-spacing:.16em;color:#b4761c;margin:0 0 10px}
.google-form-card h3{margin:0 0 8px}
.google-form-card .form-subtitle{line-height:1.85;margin:0 0 18px}
.btn-form-wide{width:100%;margin-bottom:11px}
.form-external-intro,.form-privacy-note{color:#607581;font-size:11px;line-height:1.8;margin:11px 0}
.detail-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.detail-hero-actions .btn{margin-top:0}
.detail-cta-actions .btn-form{width:100%}
.mobile-cta-form{background:var(--gold)!important;color:var(--deep)!important}
@media(max-width:920px){.btn-header.btn-form{display:none}}
@media(max-width:700px){.google-form-card{padding:26px 15px}.detail-hero-actions{flex-direction:column;align-items:stretch}.detail-hero-actions .btn{width:100%;font-size:12px}.hero-actions .btn{width:100%;font-size:13px}.btn-form-wide{font-size:12px}}


/* Compact Instagram profile banner */
.instagram-section{padding:30px 0 36px;background:#fff}
.instagram-panel{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:21px;border:1px solid #eee1e9;border-radius:16px;padding:19px 25px;background:linear-gradient(110deg,#fff8f6,#fff 58%,#fcf7fd)}
.instagram-mark-icon{width:54px;height:54px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f6b23f 2%,#df346e 52%,#7e41c1 100%);border-radius:15px;box-shadow:0 7px 16px #c3477e28}
.instagram-mark-icon .instagram-icon{width:34px;height:34px}
.instagram-copy{min-width:0}
.instagram-copy .section-kicker{color:#a9336d;font-size:10px;margin:0 0 3px}
.instagram-copy h2{font-size:20px;letter-spacing:-.02em;line-height:1.4;margin:0 0 4px}
.instagram-copy p:not(.section-kicker){font-size:12px;color:#526a77;line-height:1.65;margin:0}
.instagram-icon{width:19px;height:19px;flex-shrink:0}
.btn-instagram{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#c03577;color:#fff;padding:12px 16px;min-height:44px;font-size:12px;box-shadow:none;white-space:nowrap}
.btn-instagram:hover{background:#a52965;transform:translateY(-2px)}
.btn-instagram:visited{color:#fff}
.footer-instagram{display:inline-flex!important;align-items:center;gap:6px}
.footer-instagram .instagram-icon{height:17px;width:17px}
/* The external Google Form button replaces the previous large iframe. */
.google-form-card{align-self:start}
.google-form-card .form-external-intro{margin:0 0 16px}
@media(max-width:920px){.instagram-panel{grid-template-columns:50px minmax(0,1fr);gap:15px}.btn-instagram{grid-column:2;justify-self:start}}
@media(max-width:700px){.instagram-section{padding:25px 0 30px}.instagram-panel{grid-template-columns:44px minmax(0,1fr);gap:10px 13px;padding:17px;border-radius:13px}.instagram-mark-icon{width:44px;height:44px;border-radius:12px}.instagram-mark-icon .instagram-icon{width:26px;height:26px}.instagram-copy .section-kicker{font-size:9px}.instagram-copy h2{font-size:17px}.instagram-copy p:not(.section-kicker){font-size:11px}.btn-instagram{grid-column:1 / -1;width:100%;font-size:12px;min-height:42px;margin-top:4px}}


/* 2026-11: Balanced inquiry cards and Instagram at the end */
.hero-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.hero-actions>.btn{min-height:56px;line-height:1.4;gap:12px;padding:16px 19px}
.contact-section{padding:80px 0 84px}
.contact-layout{display:block}
.contact-heading{margin:0 0 30px;max-width:730px}
.contact-heading h2{margin:0 0 13px}
.contact-heading>p:not(.section-kicker){font-size:14px;color:#c6d8dd;line-height:1.9;margin:0}
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px}
.contact-options .contact-card{background:#fff;color:var(--ink);border-radius:15px;padding:31px 32px;display:flex;flex-direction:column;min-width:0;box-shadow:0 13px 34px #031d303d}
.contact-options .contact-card h3{font-size:21px;line-height:1.48;margin:7px 0 13px;font-weight:800}
.contact-options .contact-card .form-card-kicker,.contact-options .contact-card .line-contact-kicker{font-size:11px;margin:0;font-weight:850;letter-spacing:.11em}
.contact-options .contact-card-description{font-size:13px;line-height:1.9;color:#526b77;margin:0 0 24px;flex:1}
.contact-options .contact-card .btn{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 18px;font-size:14px;margin:0;line-height:1.4;box-shadow:none;white-space:normal}
.contact-options .contact-card-note{font-size:11px;line-height:1.7;color:#657882;margin:13px 0 0}
.contact-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:25px;padding-top:20px;border-top:1px solid #496174;color:#cfdee3;font-size:12px;line-height:1.7}
.instagram-section{padding:28px 0 33px;background:#f8fafb}
@media(max-width:760px){
 .contact-section{padding:64px 0 68px}
 .contact-heading{margin-bottom:24px}
 .contact-options{grid-template-columns:1fr;gap:14px}
 .contact-options .contact-card{padding:26px 22px}
 .contact-options .contact-card h3{font-size:19px;margin:6px 0 10px}
 .contact-options .contact-card-description{margin-bottom:18px}
 .contact-options .contact-card .btn{min-height:52px;font-size:13px}
 .contact-meta{margin-top:20px;padding-top:16px}
 .hero-actions{gap:10px}
 .hero-actions>.btn{width:100%;min-height:54px}
}

/* Keep Instagram link compact despite the global .btn span sizing. */
.btn-instagram span{font-size:12px;font-weight:750}
.btn-instagram span:last-child{font-size:16px;font-weight:500}

/* Public home page: compact information-only service cards. */
.services-grid .service-card{min-height:0}
.services-grid .service-card p{margin-bottom:0}

/* Business and residential presentation, revised for launch */
.site-header .header-inner{height:94px;gap:20px}
.brand{gap:13px}
.brand-icon{width:54px;height:54px;border-radius:12px;flex-shrink:0}
.brand-icon svg{width:31px;height:31px}
.brand-text strong{font-size:30px;line-height:1.16;letter-spacing:.045em;font-weight:900}
.brand-text small{font-size:11px;margin-top:5px;letter-spacing:.06em}
.desktop-nav{gap:17px}
.hero-inner{min-height:650px;grid-template-columns:1.07fr 1fr;gap:22px}
.hero h1{font-size:clamp(38px,3.8vw,53px);white-space:normal;line-height:1.47;letter-spacing:-.05em}
.hero .seo-region-title{font-size:.31em;display:inline-block;color:#c6dce0;font-weight:700;letter-spacing:.04em;margin-bottom:14px}
.hero-description{max-width:590px;font-size:14px;line-height:2.04}
.hero-visual{padding:30px 8px}
.visual-card{transform:rotate(-1deg);border-width:5px}
.visual-tag-top{right:-3px}
.client-section{background:#fff;padding:83px 0 94px;border-bottom:1px solid #e7eeef}
.client-header{margin-bottom:30px}
.client-header .section-kicker{margin-bottom:15px}
.client-header h2{font-size:clamp(26px,2.65vw,38px);line-height:1.5;letter-spacing:-.03em;margin-bottom:0}
.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.client-card{border:1px solid #dfe9ea;border-radius:14px;padding:34px 36px 36px;position:relative;overflow:hidden}
.client-business{background:linear-gradient(115deg,#153950 0%,#102c43 100%);border-color:#254d64;color:#fff}
.client-personal{background:#f2f7f7;color:#1a3444}
.client-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.client-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:13px;background:#f7b546;color:#17394d}
.client-personal .client-icon{background:#dbe9eb}
.client-icon svg{width:37px;height:37px;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.client-label{letter-spacing:.21em;font-size:11px;font-weight:800;color:#ffcf75}
.client-personal .client-label{color:#55727e}
.client-card h3{font-size:26px;line-height:1.35;margin:0 0 12px}
.client-card p{font-size:13px;line-height:2.0;max-width:480px;margin:0;color:#d3e2e8}
.client-personal p{color:#516b76}
.service-card p{font-size:13px}
@media(max-width:1120px){.site-header .header-inner{height:83px}.desktop-nav,.btn-header{display:none}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:none;background:transparent;padding:12px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--navy)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 15px 20px #0b263624;padding:8px 28px 20px;max-height:calc(100vh - 83px);overflow-y:auto}.mobile-menu a{padding:14px 0;border-bottom:1px solid #edf0f1;font-size:14px;font-weight:800}.brand-text strong{font-size:27px}}
@media(max-width:700px){.site-header .header-inner{height:75px}.brand-icon{width:43px;height:43px;border-radius:10px}.brand-icon svg{width:26px;height:26px}.brand-text strong{font-size:24px}.brand-text small{font-size:9px}.hero-inner{grid-template-columns:1fr;gap:10px;min-height:0;padding-top:50px}.hero h1{font-size:clamp(34px,8.0vw,47px);line-height:1.5}.hero .seo-region-title{font-size:.37em;margin-bottom:10px}.hero-description{font-size:13px}.client-section{padding:62px 0 66px}.client-header h2{font-size:27px}.client-grid{grid-template-columns:1fr;gap:14px}.client-card{padding:25px 24px 27px}.client-icon{width:52px;height:52px}.client-icon svg{width:30px;height:30px}.client-card h3{font-size:22px}.visual-tag-top{right:0}}
@media(max-width:360px){.brand-text strong{font-size:22px}.brand-text small{font-size:8px}.hero h1{font-size:32px}}

/* Main coverage area: compact, wrapping city/ward labels. */
.area-cities{display:flex;flex-wrap:wrap;gap:8px 9px;margin:18px 0 14px;max-width:600px}
.area-cities span{display:inline-flex;align-items:center;padding:7px 12px;background:#fff;border:1px solid #cbdcdd;border-radius:6px;color:#27495b;font-size:12px;font-weight:750;line-height:1.5}
@media(max-width:700px){.area-cities{gap:7px;margin:15px 0 13px}.area-cities span{font-size:11px;padding:6px 10px}}

/* Compact profile inside the existing Curama booking panel. */
.curama-owner-card{align-self:center;min-width:0;background:#f5f8f8;border:1px solid #dce8e9;border-radius:15px;padding:24px 22px;color:#17394c}
.curama-owner-head{display:flex;align-items:center;gap:16px;min-width:0}
.curama-owner-photo{flex:0 0 80px;width:80px;height:80px;border-radius:50%;position:relative;overflow:hidden;background:linear-gradient(125deg,#d9e7e9,#f1e5cf);border:3px solid #fff;box-shadow:0 2px 9px #183f581f}
.curama-owner-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.curama-owner-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:#385669}
.curama-owner-name{display:flex;flex-direction:column;min-width:0;gap:5px}
.curama-owner-name strong{font-size:20px;line-height:1.35;letter-spacing:.02em;color:#17394c}
.curama-owner-name small{font-size:11px;line-height:1.65;color:#577380}
.curama-panel .curama-owner-summary{font-size:12px;line-height:1.8;margin:15px 0 13px;color:#405e6c}
.curama-owner-qualification{display:inline-flex;align-items:center;background:#e8f0ee;border:1px solid #d6e5e0;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:800;color:#225f55}
@media(max-width:700px){.curama-owner-card{padding:18px 17px}.curama-owner-head{gap:13px}.curama-owner-photo{flex-basis:70px;width:70px;height:70px}.curama-owner-name strong{font-size:18px}.curama-panel .curama-owner-summary{font-size:12px}}
