:root{--blue:#0058c7;--navy:#073975;--ink:#16354e;--red:#df1634;--green:#078438;--pale:#edf6ff;--line:#c9dceb;--header-height:66px;--fixed-height:124px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#e9f1f8;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}body{margin:0;padding:var(--header-height) 0 calc(var(--fixed-height) + 16px);font-size:16px;line-height:1.75}img{max-width:100%;height:auto}a{color:inherit}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a,button,summary,select{touch-action:manipulation}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #ed9000;outline-offset:4px}[hidden]{display:none!important}p,h1,h2,h3{margin-top:0}h2,h3{line-height:1.5}p:last-child{margin-bottom:0}.lp{max-width:750px;margin:auto;background:white;overflow:clip}.skip-link{position:fixed;top:-80px;left:12px;z-index:1000;background:white;padding:12px}.skip-link:focus{top:8px}.site-header{position:fixed;top:0;left:0;right:0;background:#fff;z-index:50;border-bottom:1px solid var(--line)}.site-header__inner{max-width:750px;min-height:64px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px}.brand{display:flex;align-items:center;gap:7px;text-decoration:none;white-space:nowrap;min-width:0;font-size:clamp(.875rem,2.6vw,1.18rem);font-weight:900;color:var(--navy)}.brand img{width:32px;height:32px;flex-shrink:0}.header-phone{text-align:right;text-decoration:none;line-height:1.25;flex-shrink:0}.header-phone strong{display:block;white-space:nowrap;font-size:clamp(1rem,3.9vw,1.45rem);color:var(--blue);font-weight:900}.header-phone small{display:block;font-size:.75rem;margin-top:3px;color:#516b7f}
.hero{background:#0755bb;color:white}.hero__visual{position:relative;min-height:360px;display:grid;align-items:center;background:linear-gradient(120deg,#ecfaff,#d4e7f8);color:var(--navy);isolation:isolate}.hero__visual picture{position:absolute;inset:0;z-index:-2;display:block}.hero__visual picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero__visual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,253,255,.95) 0%,rgba(248,253,255,.55) 43%,transparent 70%);pointer-events:none}.hero__copy{padding:clamp(24px,6vw,46px) 5%;width:100%;position:relative}.eyebrow{font-size:clamp(.9rem,2.7vw,1.12rem);font-weight:800;margin:0 0 14px}.hero h1{font-size:clamp(1.9rem,7.2vw,3.6rem);line-height:1.2;letter-spacing:-.04em;font-weight:900;margin:0 0 22px}.hero h1 span{display:block;color:#053b90;white-space:nowrap}.hero h1 strong{display:block;color:#d72c22;white-space:nowrap;margin-top:6px}.hero__message{display:inline-block;font-size:clamp(1rem,3vw,1.35rem);line-height:1.6;background:rgba(255,255,255,.93);padding:10px 16px;border-left:5px solid #ffce3c;margin:0}.hero__image-note{position:absolute;bottom:5px;right:10px;background:rgba(255,255,255,.92);color:#415e70;font-size:.875rem;padding:0 6px;margin:0}.hero-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px 14px 0}.hero-services a{border:1px solid #8bbff3;border-radius:10px;background:white;color:var(--navy);text-align:center;padding:13px 4px;text-decoration:none;line-height:1.5;box-shadow:0 3px 0 #003375}.hero-services span{display:block;font-size:.875rem}.hero-services strong{display:block;font-size:clamp(.95rem,3.4vw,1.4rem)}.hero__area{margin:18px 12px 4px;text-align:center;color:#ffef96;font-weight:900;font-size:clamp(1rem,3.2vw,1.3rem)}.hero__area-note{padding:0 20px 22px;text-align:center;font-size:.875rem;margin:0;line-height:1.7}
.contact-panel{background:#064aac;padding:24px clamp(16px,4vw,32px) 28px;color:white}.contact-panel__lead{text-align:center;font-size:1rem;font-weight:800;margin-bottom:12px}.phone-button,.line-button{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;text-decoration:none;border-radius:12px;min-height:78px;padding:12px 8px;color:white;box-shadow:0 4px 0 rgba(0,0,0,.17)}.phone-button{position:relative;overflow:hidden;background:var(--red);border:2px solid white;margin-bottom:12px;line-height:1.25}.phone-button>span{font-size:1rem;font-weight:800}.phone-button strong{font-weight:900;font-size:clamp(1.75rem,7.3vw,2.75rem);white-space:nowrap;margin-top:4px}.line-button{background:var(--green);border:2px solid #c2ffd8;min-height:68px;line-height:1.5}.line-button>span{font-size:1.35rem;font-weight:900}.line-button small{font-size:.875rem}.contact-note{font-size:.875rem;line-height:1.8;margin:16px 0 0;text-align:center}.contact-note a{text-underline-offset:3px}.phone-button::after,.fixed-contact__phone::after{content:"";position:absolute;top:-25%;bottom:-25%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg) translateX(-800%);animation:phone-shine 5s ease-in-out infinite;pointer-events:none}@keyframes phone-shine{0%,60%{left:0;transform:skewX(-20deg) translateX(-800%)}90%,100%{left:100%;transform:skewX(-20deg) translateX(800%)}}
.section{padding:40px clamp(18px,5vw,36px);scroll-margin-top:16px}.section-kicker{color:var(--blue);font-size:.9rem;font-weight:900;letter-spacing:.1em;margin-bottom:8px}.section h2{color:var(--navy);font-size:clamp(1.5rem,5vw,2.1rem);letter-spacing:-.03em;margin-bottom:22px;line-height:1.5}.section-intro,.body-copy{font-size:1rem;line-height:1.9;margin-bottom:22px}.section-intro strong{font-weight:800}.hours-section{background:#eff7ff}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hours-card{background:white;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;padding:20px 16px}.hours-card h3{font-size:1rem;margin-bottom:10px}.hours-card p{font-size:.9375rem;line-height:1.75}.hours-card .hours-card__number{color:var(--blue);font-size:2rem;font-weight:900;line-height:1.25;margin-bottom:14px}.hours-card__number span{display:block}.hours-card .hours-card__text{color:var(--blue);font-size:1.4rem;font-weight:900;line-height:1.6;margin-bottom:12px}.important-note{font-size:.9375rem;background:white;border-left:4px solid #e4a520;padding:16px;margin:20px 0 0}.consultation-check{background:#083e8b;color:white}.consultation-check h2,.consultation-check .section-kicker{color:white}.check-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-fields label{font-weight:800;font-size:1rem}.check-fields select{display:block;width:100%;max-width:100%;min-height:50px;border:1px solid #b9d2ef;border-radius:6px;padding:10px 30px 10px 10px;background:white;color:var(--ink);margin-top:6px;font-size:1rem}.check-button{width:100%;min-height:54px;margin-top:20px;background:#ffdd4c;color:#14365b;border:none;border-radius:8px;font-weight:900}.check-result{margin-top:24px;padding:22px 18px;background:white;color:var(--ink);border-radius:10px;scroll-margin-top:90px}.check-result h3{font-size:1.2rem;color:var(--navy);margin-bottom:12px}.check-result ul{padding-left:1.4em}.check-result__notice{font-size:.875rem;border-top:1px solid var(--line);padding-top:12px}.text-cta{display:inline-block;color:var(--blue);font-weight:900;text-underline-offset:5px;line-height:1.8;padding:7px 0;font-size:1rem}
.price-card{border:2px solid var(--blue);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1fr 2fr;background:white;margin-bottom:30px}.price-card__heading,.price-card__main{padding:20px 12px;text-align:center;background:#eef6ff}.price-card__heading{border-right:1px solid #c4dcf2}.price-card p{margin:0}.price-card__heading>p,.price-card__main>p{font-weight:900;font-size:1.1rem}.price-card__heading>strong,.price-card__main>strong{display:inline-block;font-size:clamp(2.1rem,8vw,3.5rem);font-weight:900;color:var(--blue);line-height:1.4;white-space:nowrap}.price-card__main>strong{color:var(--red)}.price-card strong>span{font-size:1.25rem}.tax{font-size:.875rem;display:inline-block;margin-left:5px}.price-card__terms{grid-column:1/-1;padding:20px;background:#fff8e8;border-top:1px solid #e4bd67;line-height:1.85;font-size:1rem}.price-card__terms>strong{color:#873d12;display:block;margin-bottom:8px}.subheading{font-size:1.25rem;color:var(--navy);margin-bottom:14px}.cost-breakdown{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:22px;line-height:1.5}.cost-breakdown>span{border:1px solid var(--line);background:var(--pale);padding:10px 12px;border-radius:6px;font-size:1rem;font-weight:800;flex:1 1 20%;text-align:center;min-width:95px}.cost-breakdown small{font-size:.875rem;font-weight:500}.cost-breakdown b{color:var(--blue)}.fees-callout{background:#f0f6fc;border:1px solid var(--line);padding:20px;border-radius:8px;margin:22px 0}.fees-callout h3{font-size:1.125rem;margin-bottom:10px;color:var(--navy)}.fees-callout p{font-size:1rem}.outline-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:2px solid var(--blue);border-radius:8px;padding:14px 10px;font-size:1.05rem;font-weight:900;text-decoration:none;text-align:center;color:var(--blue)}.outline-button span{font-size:.875rem;font-weight:500}.conditions{background:#f2f8ff}.condition-list article{display:flex;gap:16px;border-top:1px solid var(--line);padding:24px 0}.condition-number{font-size:1.75rem;line-height:1.3;font-weight:900;color:var(--blue);flex-shrink:0}.condition-list h3{font-size:1.2rem;margin-bottom:8px;color:var(--navy)}.condition-list p{font-size:1rem}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.service-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;scroll-margin-top:calc(var(--header-height) + 12px);background:#fff}.service-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.service-card>div{padding:18px 16px}.service-card h3{font-size:1.25rem;margin-bottom:10px;color:var(--navy)}.service-card p{font-size:.9375rem;margin-bottom:12px}.service-card details{font-size:.9375rem;border-top:1px solid var(--line);padding-top:10px}.service-card summary{font-weight:800;color:var(--blue);padding:6px 0}.service-card ul{padding-left:1.3em;margin-bottom:0}.service-flow{background:#edf6ff}.flow-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.flow-list li{display:flex;gap:16px;background:white;border:1px solid var(--line);padding:22px 18px;border-radius:10px}.flow-list li>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;color:white;background:var(--blue);font-size:1.05rem;font-weight:900}.flow-list h3{font-size:1.2rem;margin-bottom:8px;color:var(--navy)}.flow-list p{font-size:1rem}.faq details{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.faq summary{font-size:1.05rem;font-weight:800;line-height:1.7;padding:4px 0;color:var(--navy)}.faq details p{margin:14px 0 0;font-size:1rem;line-height:1.9}.area{background:var(--navy);color:white}.area .section-kicker{color:#ffe585}.area h2{color:white}.area p{font-size:1rem}.principles{margin:30px 16px;border:2px solid #bc9752;outline:1px solid #dbc7a0;outline-offset:-9px;background:#fffefa;padding:40px 26px}.principles .section-kicker{color:#8b6221}.principles h2{color:#243c51}.principles ol{padding:0;list-style:none;counter-reset:pledge}.principles li{counter-increment:pledge;border-top:1px solid #e0d3b8;padding-top:18px;margin-top:18px}.principles h3{font-size:1.125rem;margin-bottom:8px}.principles h3::before{content:counter(pledge,decimal-leading-zero) "　";color:#966c2d}.principles p{font-size:1rem}.company{background:#f5f8fc}.company h2{font-size:1.5rem}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:100px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:.9375rem}.company dt{font-weight:800}.company dd{margin:0;overflow-wrap:anywhere}.site-footer{padding:28px 20px;background:#052d60;color:white;text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 22px}.site-footer nav a{font-size:.875rem;text-underline-offset:4px}.site-footer p{font-size:.875rem;margin:20px 0 0}
.fixed-contact{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,750px);z-index:40;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #bad2ed;box-shadow:0 -4px 20px rgba(5,47,93,.1)}.fixed-contact>p{font-weight:800;color:var(--navy);font-size:.875rem;text-align:center;line-height:1.4;margin:0 0 8px}.fixed-contact>p span{display:inline-block}.fixed-contact>div{display:grid;grid-template-columns:1fr 2fr;gap:8px}.fixed-contact a{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;color:white;min-height:70px;text-align:center;padding:10px 6px}.fixed-contact__line{background:var(--green);font-weight:900;font-size:clamp(.95rem,3.3vw,1.2rem)}.fixed-contact__phone{background:var(--red);flex-direction:column;position:relative;overflow:hidden;line-height:1.35}.fixed-contact__phone small{font-size:.875rem;font-weight:800}.fixed-contact__phone strong{font-size:clamp(1.3rem,5.3vw,2rem);font-weight:900;white-space:nowrap}.price-page .section:first-of-type{padding-top:32px}.price-page .price-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:24px 0}.price-table th,.price-table td{border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:middle;line-height:1.7;font-size:1rem}.price-table th{text-align:left}.price-table thead th{background:var(--pale);color:var(--navy)}.price-table th:last-child,.price-table td{text-align:right;width:38%}.price-table td strong{display:block;white-space:nowrap;color:var(--blue);font-size:1.2rem}.price-table td small{font-size:.875rem}.price-table tr:nth-child(even){background:#f7faff}
@media(min-width:600px){.hero__visual{min-height:440px}.hero__copy{padding-top:65px;padding-bottom:65px}.hero h1{font-size:3.25rem}.hero__copy .eyebrow{max-width:65%}}
@media(max-width:420px){.site-header__inner{padding:9px 10px;gap:6px}.brand{gap:5px;font-size:.875rem}.brand img{width:26px;height:26px}.header-phone strong{font-size:1.0625rem}.header-phone small{font-size:.75rem}.hero__visual{min-height:330px}.hero__copy{padding:30px 16px}.hero h1{font-size:clamp(1.7rem,7.25vw,1.95rem)}.eyebrow{font-size:.875rem;max-width:67%}.hero__message{font-size:1rem;padding:8px 10px}.hero-services{gap:4px;padding:12px 8px 0}.hero-services span{font-size:.8125rem}.hero-services strong{font-size:1rem}.hours-grid{gap:10px}.hours-card{padding:16px 12px}.hours-card .hours-card__number{font-size:1.75rem}.hours-card .hours-card__text{font-size:1.2rem}.check-fields{grid-template-columns:1fr}.service-grid{gap:12px}.service-card>div{padding:14px 12px}.service-card h3{font-size:1.1rem}.company dl>div{grid-template-columns:72px 1fr;gap:10px}.fixed-contact__phone small{font-size:.8125rem}.fixed-contact__phone strong{font-size:clamp(1.15rem,5.15vw,1.5rem)}}
@media(max-width:350px){.site-header__inner{flex-wrap:wrap;justify-content:center}.brand{font-size:1rem}.header-phone{display:flex;gap:8px;align-items:center}.header-phone small{margin:0}.hero-services{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:1.6rem}.hours-grid,.service-grid{grid-template-columns:1fr}.fixed-contact>div{grid-template-columns:minmax(80px,1fr) minmax(0,2fr)}.fixed-contact__phone small{font-size:.75rem}.fixed-contact__phone strong{font-size:1.12rem}.price-card{grid-template-columns:1fr 1.6fr}.tax{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.phone-button::after,.fixed-contact__phone::after{animation:none;display:none}}
.hero__visual{min-height:0;aspect-ratio:4/3}.hero__visual picture img{object-position:right top}.hero__visual::after{background:linear-gradient(90deg,rgba(248,253,255,.88),rgba(248,253,255,.35) 40%,transparent 62%)}
@media(max-width:420px){.hero__copy{padding:22px 14px}.hero h1{font-size:clamp(1.45rem,6.7vw,1.8rem);margin-bottom:14px}.hero__message{font-size:.9375rem}.eyebrow{margin-bottom:10px}.hero__image-note{font-size:.875rem;bottom:2px;right:5px}}
@media print{body{padding:0}.site-header,.fixed-contact,.contact-panel,.consultation-check{display:none}.lp{max-width:none}.section{break-inside:avoid}.service-card,.condition-list article{break-inside:avoid}}
