.web-consultation{background:#fff;border-top:7px solid var(--orange);scroll-margin-top:16px}.web-consultation h2{text-align:center}.consult-field{margin-bottom:24px}.consult-field label,.consult-services legend{display:block;font-weight:800;font-size:1.15rem;margin-bottom:10px}.consult-field input{display:block;width:100%;min-height:60px;padding:14px 12px;border:2px solid #8fa6bd;border-radius:10px;background:#fff;font:inherit;font-size:1.1rem;color:var(--blue)}.consult-field input::placeholder{color:#66798b;font-size:1rem}.consult-field input:focus-visible,.service-options input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.consult-services{border:0;padding:0;margin:28px 0}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-options label{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid #b2c4d6;background:#f5f9fd;border-radius:10px;font-size:1.05rem;font-weight:700;cursor:pointer;min-height:60px}.service-options label:last-child{grid-column:1/-1}.service-options label:has(input:checked){border:2px solid var(--blue);background:#e7f0fa;padding:13px 9px}.service-options input{width:23px;height:23px;accent-color:var(--blue);flex:none;margin:0}.consult-privacy{font-size:.9rem;line-height:1.8;margin:24px 0;text-align:center}.consult-privacy a{text-underline-offset:4px}#consult-error{color:#a32516;background:#fff1ed;border:1px solid #cc766b;padding:14px;border-radius:8px;font-size:1rem;margin-bottom:18px}#consult-success{text-align:center;background:#edf5fd;padding:28px 16px;border-radius:12px}#consult-success p{font-size:1rem;margin-top:14px}.web-consultation button:disabled{cursor:wait;opacity:.7}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px max(16px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #123f701a}.mobile-cta .button{font-size:1.2rem;min-height:58px}.mobile-cta .sticky-phone{background:var(--blue);color:#fff;box-shadow:0 4px 0 #082747}.mobile-cta .sticky-phone:hover{background:#205489}.mobile-cta .sticky-web{background:var(--orange);color:#123555}footer{padding-bottom:130px}@media(max-width:360px){.consult-field label,.consult-services legend{font-size:1rem}.service-options{gap:8px}.service-options label{font-size:1rem}.mobile-cta{padding-inline:12px;gap:10px}.mobile-cta .button{font-size:1.1rem}}

/* Keep consultation labels and phone numbers centered. */
.call.button{text-align:center}.call.button>span{width:100%;text-align:center}.phone-number{text-align:center}

/* Preserve artwork proportions on short screens without blank side strips. */
.hero picture{background:linear-gradient(#ffffff73,#ffffff73),url("hero-energy-news-background.png") center/cover no-repeat}
.hero picture img{object-fit:contain;background:transparent}
.web-consultation{background:#123f70;color:#fff;border-top:7px solid var(--orange)}
.web-consultation .required{background:#fff1d7;color:#754206}
.web-consultation .service-options label{color:var(--blue);background:#fff}
.web-consultation .service-options label:has(input:checked){background:#fff1d7;border-color:var(--orange)}
.web-consultation .service-options label:last-child{grid-column:auto}
.web-consultation .consult-privacy{color:#fff}
.web-consultation #consult-success{color:var(--blue)}
@media(max-height:680px) and (max-width:640px){
 .lp-column header{padding-block:8px}.lp-column header img{height:36px}
 .fv-cta{padding-block:10px 16px}.fv-cta .button{min-height:64px;padding-block:10px;font-size:1.1rem}
 .hero-date{padding-bottom:6px;font-size:.8125rem}
}

/* A clear two-level hierarchy for phone consultation CTAs. */
.call.button:has(.phone-number){min-height:94px;padding:15px 18px 14px;border-radius:15px;background:linear-gradient(180deg,#ffb743,#f7a01e);box-shadow:0 4px 0 #b96a12,0 7px 16px #d78b181a,inset 0 1px 0 #ffe3b5;font-size:1.125rem;line-height:1.4;letter-spacing:.015em}
.call.button:has(.phone-number)>span{display:flex;flex-direction:column;align-items:center;gap:5px;font-weight:700}
.call.button .phone-number{font-family:Arial,"Helvetica Neue",sans-serif;font-size:1.85rem;font-weight:800;line-height:1.1;letter-spacing:.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
.call.button:has(.phone-number):hover{background:linear-gradient(180deg,#ffc15d,#ffab2f)}
.rail-contact .call.button:has(.phone-number){font-size:.9375rem;padding-inline:8px}.rail-contact .call.button .phone-number{font-size:1.5rem;letter-spacing:.015em}
@media(max-width:360px){.call.button:has(.phone-number){font-size:1rem;padding-inline:10px}.call.button .phone-number{font-size:1.65rem}}
@media(max-height:680px) and (max-width:640px){.fv-cta .call.button:has(.phone-number){min-height:78px;padding-block:10px;font-size:1rem}.fv-cta .call.button .phone-number{font-size:1.65rem}.fv-cta .call.button>span{gap:4px}}

.simple-services h3 .plan-increase{display:block;margin:17px 0 0;padding-top:14px;border-top:1px solid #123f7026;font-size:1rem;line-height:1.5;color:#a84900}
.simple-services h3 .plan-month{font-size:.875rem;line-height:1.4;color:#526a80}
.simple-services h3 .plan-increase strong{display:block;font-size:2.25rem;line-height:1.35;font-family:Arial,"Helvetica Neue",sans-serif;white-space:nowrap}
.simple-services h3 .plan-increase strong span{display:inline;font-size:1rem;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.simple-services h3 .plan-rise-label{font-size:1.15rem;line-height:1.5}
.plans-section .simple-services{margin-bottom:14px}.plan-rate-note{text-align:center;color:#526a80;font-size:.875rem;line-height:1.7;margin:0 0 26px}
@media(max-width:360px){.simple-services h3 .plan-increase strong{font-size:1.9rem}.simple-services h3 .plan-increase strong span{font-size:.875rem}}

/* Balanced consultation dock: equal touch targets with restrained depth. */
.mobile-cta{width:min(calc(100% - 20px),536px);bottom:max(10px,env(safe-area-inset-bottom));padding:8px;gap:8px;border:1px solid #dce5ee;border-radius:21px;background:#fff;box-shadow:0 5px 24px #092e5126;align-items:stretch}
.mobile-cta .button{min-width:0;min-height:60px;padding:14px 8px;border-radius:14px;font-size:1.25rem;font-weight:800;line-height:1.35;letter-spacing:.04em;text-align:center;box-shadow:none;transform:none}
.mobile-cta .sticky-phone{background:#123f70;color:#fff;border:1px solid #123f70;box-shadow:inset 0 1px 0 #ffffff14}
.mobile-cta .sticky-web{background:#ffa823;color:#123555;border:1px solid #ee971b;box-shadow:inset 0 1px 0 #ffe4b5}
.mobile-cta .sticky-phone:hover{background:#205489;box-shadow:none;transform:none}.mobile-cta .sticky-web:hover{background:#ffb73f;box-shadow:none;transform:none}
.mobile-cta .button:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #123f701a}
@media(max-width:360px){.mobile-cta{width:calc(100% - 16px);padding:7px;gap:7px;border-radius:19px}.mobile-cta .button{min-height:56px;font-size:1.125rem;letter-spacing:.025em}}
