:root{--cp-blue:#0756a5;--cp-bright:#0877c9;--cp-pale:#edf8ff;--cp-line:#cfe6f7;--cp-text:#173b62}.consultation-page{background:linear-gradient(180deg,#fff 0,#f5fbff 100%);color:var(--cp-text);padding-bottom:72px}.consultation-inner{width:min(980px,calc(100% - 48px));margin-inline:auto}.consultation-hero{padding:72px 0 44px;background:linear-gradient(135deg,#fff 0%,#eef9ff 100%)}.consultation-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:var(--cp-blue);font-size:16px;font-weight:700}.consultation-eyebrow::before{content:'';width:44px;height:2px;background:var(--cp-blue)}.consultation-hero h1{max-width:780px;margin:0;color:#063b82;font-size:clamp(36px,4.2vw,58px);line-height:1.26;letter-spacing:.015em}.consultation-hero p:last-child{max-width:650px;margin:22px 0 0;font-size:17px;line-height:1.9}.consultation-card{margin-top:32px;padding:clamp(24px,4vw,44px);border:1px solid var(--cp-line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(18,93,155,.06)}.consultation-card h2{margin:0;color:#063b82;font-size:clamp(26px,3vw,38px);line-height:1.35}.consultation-card>p{margin:12px 0 0;line-height:1.8}.photo-guide{margin:28px 0 36px;padding:24px;border-radius:12px;background:var(--cp-pale)}.photo-guide h2{font-size:24px}.photo-guide img{display:block;width:min(620px,100%);height:auto;margin:20px auto 0;border-radius:10px}.consultation-form fieldset{margin:20px 0 0;padding:24px;border:1px solid var(--cp-line);border-radius:12px}.consultation-form legend{padding:0 8px;color:#063b82;font-size:20px;font-weight:700}.consultation-form legend small{margin-left:8px;color:#54718d;font-size:13px;font-weight:400}.consultation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.consultation-form label{display:grid;gap:8px;color:#173b62;font-weight:700}.consultation-form input:not([type=checkbox]):not([type=file]),.consultation-form select,.consultation-form textarea{box-sizing:border-box;width:100%;min-height:48px;padding:11px 13px;border:1px solid #b9d8ed;border-radius:8px;background:#fff;color:#173b62;font:inherit}.consultation-form textarea{min-height:126px;resize:vertical}.consultation-form input:focus,.consultation-form select:focus,.consultation-form textarea:focus{outline:3px solid rgba(8,119,201,.16);border-color:var(--cp-bright)}.consultation-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.consultation-choice-grid label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--cp-line);border-radius:8px;font-weight:400}.consultation-wide{margin-top:18px}.consultation-upload{display:flex!important;align-items:center;justify-content:center;min-height:110px;padding:16px;border:1px dashed #8dbfe1;border-radius:10px;background:#f7fcff;color:var(--cp-blue);text-align:center}.consultation-upload input{max-width:100%}.consultation-note{margin:12px 0 0;color:#54718d;font-size:14px;line-height:1.7}.consultation-submit{display:inline-flex;align-items:center;justify-content:center;min-width:280px;min-height:56px;margin-top:28px;padding:14px 28px;border:1px solid var(--cp-bright);border-radius:8px;background:var(--cp-bright);color:#fff;font:700 17px inherit;cursor:pointer}.consultation-submit:hover{background:#075fa5}.consultation-privacy{display:flex!important;align-items:center;gap:8px;margin-top:18px;font-size:14px;font-weight:400!important}.consultation-privacy a,.consultation-links a{color:var(--cp-blue)}.consultation-support{display:flex;flex-wrap:wrap;gap:12px 22px;margin:32px 0 0;padding-top:22px;border-top:1px solid var(--cp-line);line-height:1.7}.consultation-steps{display:grid;gap:14px;margin-top:30px}.consultation-step{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--cp-line);border-radius:12px;background:#fff}.consultation-step b{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#dff2ff;color:var(--cp-bright);font-size:20px;font-style:italic}.consultation-step p{margin:0;font-size:17px;line-height:1.7}.line-open{display:inline-flex;align-items:center;justify-content:center;min-height:56px;margin-top:30px;padding:14px 28px;border-radius:8px;background:#06b53c;color:#fff;font-weight:700;text-decoration:none}.consultation-footer{padding:32px 24px;background:#063b82;color:#fff;text-align:center;line-height:1.8}.consultation-footer a{color:#fff}@media(max-width:768px){.consultation-inner{width:calc(100% - 32px)}.consultation-hero{padding:52px 0 32px}.consultation-card{padding:22px 16px}.consultation-grid,.consultation-choice-grid{grid-template-columns:1fr}.consultation-form fieldset{padding:18px 14px}.consultation-submit{width:100%;min-width:0}.photo-guide{padding:18px}.consultation-step{padding:16px;grid-template-columns:48px minmax(0,1fr)}.consultation-step b{width:46px;height:46px;font-size:17px}}
/* The two utility links are intentionally omitted from both consultation pages. */
.consultation-support{display:none}
.estimate-bottom-contact{min-height:420px;display:grid;place-items:center;padding:72px 24px 56px;background-image:linear-gradient(rgba(4,105,185,.08),rgba(4,105,185,.08)),url('../images/symptom-guide/symptom-contact-bg.png');background-size:cover;background-position:center bottom;background-repeat:no-repeat;color:#fff;text-align:center}.estimate-bottom-contact__inner{width:min(900px,100%)}.estimate-bottom-contact h2{margin:0;color:#fff;font-size:clamp(30px,3vw,42px);line-height:1.35;text-shadow:0 2px 8px rgba(0,45,100,.2)}.estimate-bottom-contact p{margin:18px 0 0;color:#fff;font-size:18px;line-height:1.8}.estimate-bottom-contact small{display:block;margin-top:12px;color:#fff;font-size:15px;line-height:1.7}.consultation-footer{padding:28px 24px!important;background:#063b82!important;color:#fff!important;text-align:center!important;font-size:15px!important}@media(max-width:768px){.estimate-bottom-contact{min-height:390px;padding:56px 18px 44px}.estimate-bottom-contact h2{font-size:30px}.estimate-bottom-contact p{font-size:16px}.estimate-bottom-contact small{font-size:14px}}
.major-symptom-guide-v2 .msg-contact .msg-contact-actions{width:min(1120px,100%);min-height:0;margin:30px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.major-symptom-guide-v2 .msg-contact .msg-contact-actions a{display:block;min-height:0;padding:0;background:transparent;border-radius:0}.major-symptom-guide-v2 .msg-contact .msg-contact-actions img{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;object-fit:contain}.major-symptom-guide-v2 .msg-contact{min-height:500px}@media(max-width:768px){.major-symptom-guide-v2 .msg-contact{min-height:620px}.major-symptom-guide-v2 .msg-contact .msg-contact-actions{grid-template-columns:1fr;width:90%;gap:16px}.major-symptom-guide-v2 .msg-contact .msg-contact-actions img{max-width:520px}}
.site-header{height:118px!important;display:flex!important;align-items:center!important;gap:24px!important;padding:0 60px!important;background:#fff!important;border-bottom:1px solid #e6f0f7!important}.site-header>a:first-child{flex:none}.site-header .header-logo{display:block!important;width:400px!important;max-width:none!important;height:auto!important}.site-header .main-nav{display:flex!important;gap:25px!important;margin-left:auto!important;white-space:nowrap!important}.site-header .main-nav a{color:#123f76!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important}.site-header img.header-line{display:block!important;width:195px!important;max-width:none!important;height:auto!important}.site-header img.header-phone{display:block!important;width:214px!important;max-width:none!important;height:74px!important;object-fit:cover!important;transform:translateY(7px)!important}.site-header .header-menu{width:60px!important;height:60px!important;margin:0!important;border:0!important;border-left:1px solid #e5eff6!important;background:transparent!important;display:grid!important;place-items:center!important}.consultation-hero{padding-block:76px!important}.consultation-hero h1{max-width:720px!important;font-size:clamp(36px,3.6vw,48px)!important;line-height:1.35!important}.consultation-hero p:last-child{font-size:17px!important;line-height:1.8!important}@media(max-width:1100px){.site-header{padding:0 24px!important}.site-header .main-nav{display:none!important}.site-header .header-logo{width:320px!important}.site-header>a:nth-of-type(2){margin-left:auto}}@media(max-width:680px){.site-header{height:82px!important;padding:0 14px!important;gap:10px!important}.site-header .header-logo{width:190px!important}.site-header img.header-line{width:116px!important}.site-header img.header-phone{display:none!important}.site-header .header-menu{width:42px!important;height:42px!important;margin-left:auto!important}.consultation-hero{padding-block:56px!important}.consultation-hero h1{font-size:34px!important}}
body:has(.consultation-steps) .consultation-hero h1{max-width:900px!important;white-space:nowrap!important;font-size:clamp(36px,3.6vw,48px)!important}body:has(.consultation-steps) .consultation-hero h1 + p{font-size:0}body:has(.consultation-steps) .consultation-hero h1 + p::after{content:'気になる場所の写真を送るだけでも大丈夫です。';font-size:17px;line-height:1.8}@media(max-width:768px){body:has(.consultation-steps) .consultation-hero h1{white-space:normal}}
body:not(:has(.consultation-steps)) .consultation-hero h1{max-width:900px!important;font-size:clamp(34px,3.2vw,42px)!important;line-height:1.35!important}
/* Compact consultation first views and keep the LINE lead to one clean sentence. */
.consultation-hero{padding-block:48px 40px!important}
body:has(.consultation-steps) .consultation-hero h1 + p{display:none!important}
body:has(.consultation-steps) .consultation-hero::after{content:'気になる場所の写真を送るだけでも大丈夫です。';display:block;max-width:900px;margin:16px auto 0;color:var(--cp-text);font-size:17px;line-height:1.8}
@media(max-width:768px){.consultation-hero{padding-block:44px 32px!important}body:has(.consultation-steps) .consultation-hero h1{white-space:normal!important}}
/* Compact administrative footer panel for the estimate page. */
.estimate-bottom-contact{min-height:210px!important;padding:34px 24px!important;background-position:center bottom!important}
.estimate-bottom-contact h2{font-size:clamp(22px,2.2vw,30px)!important}
.estimate-bottom-contact p{margin:10px 0 0!important;font-size:16px!important}
.estimate-bottom-contact a{color:#fff!important;text-decoration:underline}
.estimate-bottom-contact small{margin-top:6px!important;font-size:13px!important}
@media(max-width:768px){.estimate-bottom-contact{min-height:190px!important;padding:28px 16px!important}}
/* Match the compact administrative footer treatment on the LINE page. */
body:has(.consultation-steps) .consultation-footer{min-height:210px!important;box-sizing:border-box;padding:34px 24px!important;background-image:linear-gradient(rgba(4,105,185,.08),rgba(4,105,185,.08)),url('../images/symptom-guide/symptom-contact-bg.png')!important;background-size:cover!important;background-position:center bottom!important;background-repeat:no-repeat!important;color:#fff!important}
body:has(.consultation-steps) .consultation-footer a{color:#fff!important}
@media(max-width:768px){body:has(.consultation-steps) .consultation-footer{min-height:190px!important;padding:28px 16px!important}}
/* Shared non-home footer: sky/city background with administrative information. */
.consultation-footer{min-height:210px!important;box-sizing:border-box;padding:34px 24px!important;background-image:linear-gradient(rgba(4,105,185,.08),rgba(4,105,185,.08)),url('../images/symptom-guide/symptom-contact-bg.png')!important;background-size:cover!important;background-position:center bottom!important;background-repeat:no-repeat!important;color:#fff!important}
.consultation-footer a{color:#fff!important}
body:has(.estimate-bottom-contact) .consultation-footer{display:none!important}
body:has(.estimate-bottom-contact) .consultation-footer.estimate-site-footer{display:block!important}
.estimate-site-footer{text-align:left!important;font-family:"Yu Gothic",YuGothic,Meiryo,sans-serif!important;padding:44px max(24px,calc((100% - 930px)/2)) 20px!important;background-color:transparent!important;color:#fff!important}
.estimate-site-footer__grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:70px;max-width:930px;margin:0 auto}
.estimate-site-footer section,.estimate-site-footer nav{min-width:0}
.estimate-site-footer__label{margin:0 0 12px;color:#ffe45e;font-size:10px;font-weight:700;letter-spacing:.18em}
.estimate-site-footer h2{margin:0 0 12px;color:#fff;font-size:19px;line-height:1.4}
.estimate-site-footer p{margin:0;color:#fff;font-size:11px;line-height:1.8}
.estimate-site-footer nav{display:flex;flex-direction:column;gap:8px}
.estimate-site-footer nav a,.estimate-site-footer a{color:#fff;text-decoration:none;font-size:12px;line-height:1.5}
.estimate-site-footer__phone{display:block;font-size:18px!important;font-weight:700}
.estimate-site-footer small{display:block;margin-top:2px;font-size:10px}
.estimate-site-footer__cta{display:block!important;margin-top:18px;color:#ffe45e!important;font-weight:700}
.estimate-site-footer__bottom{display:flex;justify-content:space-between;gap:20px;max-width:930px;margin:38px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.3);font-size:10px}
@media(max-width:768px){.estimate-site-footer{padding:36px 20px 18px!important}.estimate-site-footer__grid{grid-template-columns:1fr 1fr;gap:28px}.estimate-site-footer__grid section:first-child{grid-column:1/-1}.estimate-site-footer__bottom{display:block;margin-top:28px}.estimate-site-footer__bottom span{display:block;margin-top:5px}}
@media(max-width:768px){.consultation-footer{min-height:190px!important;padding:28px 16px!important}}

/* 情報発信の詳細も、現行サイトと同じ本文書体に統一 */
body:has(.consultation-page){font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important}
body:has(.consultation-page) .consultation-page{font-family:inherit}
/* LINE相談ページでは、末尾を写真・メール問い合わせ導線として表示 */
body:has(.line-open) .consultation-footer{min-height:250px!important;padding:38px 24px 44px!important;text-align:center;font-size:0!important;background-position:center!important}
body:has(.line-open) .consultation-footer:before{content:'写真・メールでお問い合わせください。';display:block;margin:0 0 8px;font-family:serif;font-size:clamp(24px,2.5vw,40px);font-weight:700}
body:has(.line-open) .consultation-footer:after{content:'気になる場所の写真を送っていただければ、状況を確認してご案内します。';display:block;font-size:clamp(13px,1vw,17px);font-weight:600}
/* LINE相談ページも見積もりページと同じ共通フッターを使用 */
body:has(.line-open) .consultation-footer.estimate-site-footer{min-height:210px!important;padding:44px max(24px,calc((100% - 930px)/2)) 20px!important;text-align:left!important;font-size:initial!important;background-image:linear-gradient(rgba(4,105,185,.08),rgba(4,105,185,.08)),url('../images/symptom-guide/symptom-contact-bg.png')!important;background-size:cover!important;background-position:center bottom!important;background-repeat:no-repeat!important;color:#fff!important}
body:has(.line-open) .consultation-footer.estimate-site-footer::before,
body:has(.line-open) .consultation-footer.estimate-site-footer::after{content:none!important;display:none!important}
