.jcr-contact-page{--jc-navy:var(--jcr-navy);--jc-blue:var(--jcr-blue);--jc-accent:var(--jcr-accent);--jc-ink:var(--jcr-ink);--jc-muted:var(--jcr-muted);--jc-line:var(--jcr-line);--jc-soft:var(--jcr-surface);color:var(--jc-ink);background:#fff}.jcr-contact-page *{box-sizing:border-box}.jcr-contact-page>br:first-child{display:none!important}.jcr-contact-page>:where(.jcr-contact-hero,.jcr-contact-route,.jcr-contact-form-section,.jcr-contact-faq,.jcr-contact-complete-stage){margin-block-start:0!important}.jcr-contact-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.jcr-contact-eyebrow{margin:0 0 10px;color:var(--jc-accent);font-size:.75rem;font-weight:900;letter-spacing:.14em}.jcr-contact-hero{position:relative;overflow:hidden;padding:82px 0;background:linear-gradient(132deg,#eaf3f7 0%,#fff 58%,#fff2e3 100%)}.jcr-contact-hero:after{content:"";position:absolute;right:-170px;top:-260px;width:560px;height:560px;border-radius:50%;background:rgba(242,159,5,.1)}.jcr-contact-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:64px;align-items:center}.jcr-contact-hero h1{max-width:800px;margin:.12em 0 .3em;color:var(--jc-navy);font-size:clamp(2.45rem,5vw,4.7rem);line-height:1.12;letter-spacing:-.045em}.jcr-contact-lead{max-width:720px;color:#425967;font-size:1.08rem;line-height:1.9}.jcr-contact-hero ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:26px 0 0;list-style:none}.jcr-contact-hero li{padding:8px 12px;border:1px solid var(--jc-line);border-radius:999px;background:#fff;font-size:.82rem;font-weight:800}.jcr-contact-hero aside{padding:30px;border-radius:22px;color:#fff;background:var(--jc-navy);box-shadow:0 24px 55px rgba(13,45,70,.2)}.jcr-contact-hero aside span{color:#b9d7e7;font-size:.78rem;font-weight:800}.jcr-contact-hero aside strong{display:block;margin:8px 0 14px;color:#fff;font-size:1.8rem}.jcr-contact-hero aside p{margin:0;color:#dbe8ef;line-height:1.8}.jcr-contact-route{padding:26px 0;border-block:1px solid var(--jc-line);background:#fff}.jcr-contact-route>.jcr-contact-shell{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}.jcr-contact-route>div>p{margin:0;color:var(--jc-navy);font-weight:900}.jcr-contact-route ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;margin:0;background:var(--jc-line);list-style:none}.jcr-contact-route li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:15px 18px;background:#fff}.jcr-contact-route b{grid-row:1/3;align-self:center;color:var(--jc-accent);font-size:.72rem}.jcr-contact-route strong{color:var(--jc-navy)}.jcr-contact-route span{color:var(--jc-muted);font-size:.78rem}.jcr-contact-form-section{padding:84px 0;background:var(--jc-soft)}.jcr-contact-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:58px;align-items:start}.jcr-contact-intro{position:sticky;top:120px}.jcr-contact-intro h2,.jcr-contact-faq h2{margin:.12em 0 .35em;color:var(--jc-navy);font-size:clamp(2rem,4vw,3.1rem);line-height:1.2}.jcr-contact-intro>p:not(.jcr-contact-eyebrow){color:var(--jc-muted)}.jcr-contact-assurance{margin-top:28px;padding:20px;border-left:5px solid var(--jc-accent);background:#fff}.jcr-contact-assurance strong{color:var(--jc-navy)}.jcr-contact-assurance p{margin:6px 0 0;color:var(--jc-muted);font-size:.86rem}.jcr-contact-card{min-width:0;padding:34px;border:1px solid var(--jc-line);border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(13,45,70,.1)}.jcr-contact-form p,.jcr-contact-form fieldset{margin:0 0 22px}.jcr-contact-form label,.jcr-contact-form legend{font-weight:800}.jcr-contact-form input:not([type=radio]):not([type=checkbox]),.jcr-contact-form select,.jcr-contact-form textarea{display:block;width:100%;min-height:50px;margin-top:7px;padding:12px 13px;border:1px solid #a9bbc7;border-radius:9px;color:var(--jc-ink);background:#fff;font:inherit}.jcr-contact-form textarea{resize:vertical}.jcr-contact-form input:focus,.jcr-contact-form select:focus,.jcr-contact-form textarea:focus{outline:3px solid rgba(20,108,148,.2);border-color:var(--jc-blue)}.jcr-contact-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0;margin:0 0 30px;list-style:none}.jcr-contact-steps li{padding:11px 7px;border-radius:8px;color:#687a87;background:#edf2f5;text-align:center;font-size:.82rem;font-weight:900}.jcr-contact-steps li.is-current{color:#fff;background:var(--jc-navy)}.jcr-contact-steps li.is-done{color:var(--jc-navy);background:#dceaf1}.jcr-contact-panel{min-width:0;padding:28px!important;border:1px solid var(--jc-line)!important;border-radius:17px!important}.jcr-contact-panel>legend{padding:0 9px;color:var(--jc-navy);font-size:1.35rem}.jcr-contact-panel>legend span{display:block;color:var(--jc-accent);font-size:.68rem;letter-spacing:.13em}.jcr-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.jcr-required,.jcr-optional{display:inline-block;padding:2px 7px;border-radius:999px;font-size:.67rem;vertical-align:middle}.jcr-required{color:#fff;background:#a22e2e}.jcr-optional{color:#596c78;background:#e9eef1}.jcr-choice{padding:18px!important}.jcr-choice label{display:inline-flex;gap:8px;align-items:center;margin:7px 22px 7px 0}.jcr-field-error{display:block;margin-top:5px;color:#a22e2e;font-size:.82rem;font-weight:800}.jcr-error-summary,.jcr-contact-status{margin-bottom:22px;padding:16px;border-radius:10px}.jcr-error-summary,.jcr-contact-status--error{border:1px solid #d68e8e;background:#fff2f2}.jcr-contact-review dl{display:grid;grid-template-columns:170px minmax(0,1fr);margin:0 0 22px;border-top:1px solid var(--jc-line)}.jcr-contact-review dt,.jcr-contact-review dd{margin:0;padding:11px;border-bottom:1px solid var(--jc-line);overflow-wrap:anywhere}.jcr-contact-review dt{color:var(--jc-navy);background:#f3f7f9;font-weight:800}.jcr-contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border:0;border-radius:9px;color:#fff;background:var(--jc-blue);box-shadow:0 10px 24px rgba(20,108,148,.18);font-weight:900;text-decoration:none;cursor:pointer}.jcr-contact-button:hover{background:var(--jc-navy)!important}.jcr-contact-button--light{border:1px solid var(--jc-navy);color:var(--jc-navy);background:#fff;box-shadow:none}.jcr-contact-actions{display:flex;justify-content:space-between;gap:12px}.jcr-contact-form [hidden]{display:none!important}.jcr-submit{width:100%;margin-top:8px;background:var(--jc-accent);color:#312100}.jcr-submit:disabled{opacity:.6;cursor:wait}.jcr-contact-faq{padding:82px 0}.jcr-contact-faq .jcr-contact-shell>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jcr-contact-faq details{padding:19px;border:1px solid var(--jc-line);border-radius:14px;background:#fff}.jcr-contact-faq summary{color:var(--jc-navy);font-weight:900;cursor:pointer}.jcr-contact-faq details p{color:var(--jc-muted)}.jcr-contact-complete{width:min(820px,calc(100% - 40px));margin:80px auto;padding:48px;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--jc-navy),var(--jc-blue));box-shadow:0 25px 60px rgba(13,45,70,.2)}.jcr-contact-complete h1{color:#fff}.jcr-contact-complete>span{color:#ffd481;font-size:.75rem;font-weight:900;letter-spacing:.14em}.jcr-contact-complete .jcr-contact-button{margin-top:18px}.jcr-contact-complete .jcr-contact-button--light{color:var(--jc-navy)}
@media(max-width:900px){.jcr-contact-hero__grid,.jcr-contact-layout{grid-template-columns:1fr}.jcr-contact-intro{position:static}.jcr-contact-route>.jcr-contact-shell{grid-template-columns:1fr}.jcr-contact-faq .jcr-contact-shell>div{grid-template-columns:1fr}.jcr-contact-hero{padding:58px 0}.jcr-contact-layout{gap:28px}}
@media(max-width:640px){.jcr-contact-shell{width:min(100% - 24px,1180px)}.jcr-contact-hero{padding:42px 0}.jcr-contact-hero h1{font-size:clamp(2.1rem,11vw,3rem)}.jcr-contact-hero__grid{gap:28px}.jcr-contact-route ol{grid-template-columns:1fr}.jcr-contact-card{padding:18px 14px;border-radius:16px}.jcr-contact-panel{padding:18px 13px!important}.jcr-contact-panel>legend{font-size:1.1rem}.jcr-two{grid-template-columns:1fr;gap:0}.jcr-contact-steps{gap:4px}.jcr-contact-steps li{min-height:45px;padding:8px 3px;font-size:.68rem}.jcr-contact-review dl{grid-template-columns:1fr}.jcr-contact-review dt{border-bottom:0}.jcr-contact-actions .jcr-contact-button{flex:1;padding-inline:10px}.jcr-contact-form-section,.jcr-contact-faq{padding:52px 0}.jcr-contact-complete{margin:40px auto;padding:28px 20px}}
@media(prefers-reduced-motion:reduce){.jcr-contact-page *{scroll-behavior:auto!important;transition:none!important}}
.jcr-contact-consent{position:static;display:flex;width:auto;max-width:none;gap:9px;align-items:flex-start;margin:18px 0!important;padding:14px;border:0;border-radius:10px;background:#f4f7f9;box-shadow:none;color:var(--jc-ink);font-size:inherit;line-height:1.6}.jcr-contact-consent input{flex:0 0 auto;margin-top:.35em}

/* Completion view: container padding prevents block-layout margin collapsing. */
.jcr-contact-complete-stage{padding:72px 20px 88px;background:#fff}
.jcr-contact-complete-stage .jcr-contact-complete{width:min(820px,100%);margin:0 auto}
@media(max-width:640px){.jcr-contact-complete-stage{padding:52px 12px}.jcr-contact-complete-stage .jcr-contact-complete{padding:28px 20px}}

/* A calm consultation image supports the form while preserving readable guidance. */
.jcr-contact-hero aside{position:relative;display:flex;min-height:390px;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(180deg,rgba(10,29,50,.08) 25%,rgba(10,29,50,.9) 82%),url('../images/jcr-contact-coordinator.webp') 58% center/cover no-repeat}
.jcr-contact-hero aside::after{position:absolute;right:10px;top:9px;padding:3px 7px;border-radius:999px;background:rgba(9,31,54,.7);color:#fff;content:'写真はイメージです';font-size:.66rem}
@media(max-width:640px){.jcr-contact-hero aside{min-height:340px;background-position:58% center}}
