/* Higasaka Navi v7.27.5 contact page */
body.higasaka-contact-v727{--hc-navy:#12324a;--hc-teal:#176f6c;--hc-ink:#24313a;--hc-muted:#66747d;--hc-line:#dce4e1;--hc-cream:#f5f0e6;--hc-sand:#b89462;--hc-max:1180px;margin:0;color:var(--hc-ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;letter-spacing:.015em;-webkit-font-smoothing:antialiased}
body.higasaka-contact-v727 *{box-sizing:border-box}
body.higasaka-contact-v727 a{color:inherit}
body.higasaka-contact-v727 .contact-container{width:min(calc(100% - 52px),var(--hc-max));margin-inline:auto}
body.higasaka-contact-v727 .skip-link{position:fixed;left:16px;top:-70px;z-index:9999;background:#fff;color:var(--hc-navy);padding:12px 18px;border-radius:8px;box-shadow:0 18px 44px rgba(18,50,74,.12)}
body.higasaka-contact-v727 .skip-link:focus{top:12px}

.contact-hero{padding:70px 0 72px;background:linear-gradient(135deg,#f8f6f1 0%,#f1f5f3 100%);border-bottom:1px solid rgba(18,50,74,.07)}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:64px;align-items:center}
.contact-eyebrow{margin:0 0 9px;color:var(--hc-sand);font-size:.76rem;font-weight:850;letter-spacing:.18em}
.contact-hero h1{margin:0;color:var(--hc-navy);font-size:clamp(2.35rem,4.8vw,4.15rem);line-height:1.2;letter-spacing:.015em;font-weight:850}
.contact-lead{max-width:760px;margin:22px 0 0;color:#3e4c54;font-size:1.08rem;line-height:1.95}
.contact-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.contact-hero-points span{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid #d6d8d0;border-radius:999px;background:rgba(255,255,255,.75);color:#41505a;font-size:.82rem;font-weight:750}
.contact-hero-note{padding:30px 31px 28px;border-radius:22px;background:var(--hc-navy);color:#fff;box-shadow:0 18px 45px rgba(18,50,74,.12)}
.contact-hero-note small{display:block;margin-bottom:10px;color:#cad5dc;font-size:.78rem;line-height:1.65}
.contact-hero-note strong{display:block;font-size:1.18rem;line-height:1.65;letter-spacing:.015em}
.contact-hero-note a{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);font-size:.86rem;font-weight:800}
.contact-hero-note a:hover{border-color:#fff}

.contact-form-section{padding:38px 0 78px;background:#fff}
.contact-form-wrap{max-width:980px}
.contact-form-intro-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.72fr);gap:24px;align-items:center;margin:0 0 16px;padding:0 8px}
.contact-form-heading{max-width:620px;margin:0;text-align:left}
.contact-form-heading h2{margin:0;color:var(--hc-navy);font-size:clamp(1.7rem,3.1vw,2.35rem);line-height:1.4;letter-spacing:.02em}
.contact-form-heading p:last-child{margin:9px 0 0;color:var(--hc-muted);font-size:.93rem;line-height:1.75}
.contact-form-visual{display:flex;align-items:center;justify-content:center;min-width:0}
.contact-form-visual img{display:block;width:100%;max-width:320px;height:auto;max-height:205px;object-fit:contain;mix-blend-mode:multiply;filter:saturate(.94)}
.contact-form-card{padding:30px 50px 42px;border:1px solid var(--hc-line);border-radius:24px;background:#fff;box-shadow:0 14px 42px rgba(18,50,74,.07)}

/* Contact Form 7: keep form fields/settings as-is; style only the output. */
.higasaka-contact-v727 .wpcf7{margin:0}
.higasaka-contact-v727 .wpcf7 form{margin:0;color:#2e3a42;font-size:.95rem}
.higasaka-contact-v727 .wpcf7 p{margin:0 0 25px;line-height:1.8}
.higasaka-contact-v727 .wpcf7 p:last-of-type{margin-bottom:0}
.higasaka-contact-v727 .wpcf7 input[type="text"],
.higasaka-contact-v727 .wpcf7 input[type="email"],
.higasaka-contact-v727 .wpcf7 input[type="tel"],
.higasaka-contact-v727 .wpcf7 input[type="url"],
.higasaka-contact-v727 .wpcf7 input[type="number"],
.higasaka-contact-v727 .wpcf7 select,
.higasaka-contact-v727 .wpcf7 textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #cdd8d6;border-radius:9px;background:#fff;color:#26333b;font:inherit;line-height:1.6;box-shadow:inset 0 1px 2px rgba(18,50,74,.03);transition:border-color .18s,box-shadow .18s}
.higasaka-contact-v727 .wpcf7 textarea{min-height:150px;resize:vertical}
.higasaka-contact-v727 .wpcf7 input:focus,
.higasaka-contact-v727 .wpcf7 select:focus,
.higasaka-contact-v727 .wpcf7 textarea:focus{outline:none;border-color:var(--hc-teal);box-shadow:0 0 0 3px rgba(23,111,108,.10)}
.higasaka-contact-v727 .wpcf7-list-item{margin:0 18px 8px 0}
.higasaka-contact-v727 .wpcf7-list-item label{display:inline-flex;align-items:flex-start;gap:7px;cursor:pointer}
.higasaka-contact-v727 .wpcf7 input[type="checkbox"],.higasaka-contact-v727 .wpcf7 input[type="radio"]{width:18px;height:18px;margin-top:4px;accent-color:var(--hc-teal)}
.higasaka-contact-v727 .wpcf7 input[type="submit"]{min-width:250px;min-height:54px;padding:14px 30px;border:0;border-radius:999px;background:var(--hc-navy);color:#fff;font:800 1rem/1.2 inherit;letter-spacing:.04em;cursor:pointer;box-shadow:0 8px 22px rgba(18,50,74,.15);transition:transform .16s,background .16s}
.higasaka-contact-v727 .wpcf7 input[type="submit"]:hover{background:var(--hc-teal);transform:translateY(-1px)}
.higasaka-contact-v727 .wpcf7-spinner{vertical-align:middle}
.higasaka-contact-v727 .wpcf7-not-valid-tip{margin-top:6px;font-size:.82rem}
.higasaka-contact-v727 .wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:12px 16px;border-radius:9px;font-size:.9rem;line-height:1.7}

.contact-after-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:34px;align-items:start;margin-top:28px;padding:25px 28px;border-radius:16px;background:#f6f8f7;border:1px solid #e1e8e5}
.contact-after-note strong{color:var(--hc-navy)}
.contact-after-note p{margin:6px 0 0;color:#5d6a72;font-size:.84rem;line-height:1.8}
.contact-direct-links{display:grid;gap:8px}
.contact-direct-links a{display:flex;align-items:baseline;gap:12px;padding:8px 0;color:var(--hc-navy);text-decoration:none;border-bottom:1px solid #d9e1de}
.contact-direct-links a:last-child{border-bottom:0}
.contact-direct-links small{min-width:42px;color:#6b787f;font-size:.72rem;font-weight:800}
.contact-direct-links strong{font-size:.88rem;overflow-wrap:anywhere}

.higasaka-contact-v727 .site-footer{padding:52px 0 22px;background:#081d2c;color:#c0cad0}
.higasaka-contact-v727 .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;padding-bottom:40px}
.higasaka-contact-v727 .footer-brand-logo{display:inline-flex;flex-direction:column;align-items:flex-start;padding:8px 12px 7px;border-radius:10px;background:#fff;text-decoration:none}
.higasaka-contact-v727 .footer-brand-logo .brand-logo-img{display:block;width:190px;height:auto}
.higasaka-contact-v727 .footer-brand-logo small{margin-top:3px;color:#53646e;font-size:.67rem;letter-spacing:.08em}
.higasaka-contact-v727 .footer-grid>div:first-child>p{max-width:500px;font-size:.84rem}
.higasaka-contact-v727 .footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 30px;align-content:start;font-size:.86rem}
.higasaka-contact-v727 .footer-links a{color:#c0cad0;text-decoration:none}
.higasaka-contact-v727 .footer-links a:hover{color:#fff}
.higasaka-contact-v727 .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.72rem;letter-spacing:.04em}
.higasaka-contact-v727 .footer-bottom a{color:#c0cad0;text-decoration:none}

@media(max-width:900px){
  .contact-hero-grid{grid-template-columns:1fr;gap:30px}
  .contact-hero-note{max-width:620px}
  .contact-form-intro-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.62fr);gap:18px}
  .contact-form-visual img{max-width:290px;max-height:190px}
  .contact-after-note{grid-template-columns:1fr}
}
@media(max-width:680px){
  body.higasaka-contact-v727 .contact-container{width:min(calc(100% - 30px),var(--hc-max))}
  .contact-hero{padding:45px 0 50px}
  .contact-hero h1{font-size:2.25rem}
  .contact-lead{font-size:1rem;line-height:1.85}
  .contact-pc-break{display:none}
  .contact-hero-points{display:grid;grid-template-columns:1fr;gap:7px}
  .contact-hero-points span{justify-content:flex-start;width:fit-content}
  .contact-hero-note{padding:24px 22px;border-radius:17px}
  .contact-form-section{padding:34px 0 58px}
  .contact-form-intro-grid{grid-template-columns:1fr;gap:6px;margin-bottom:14px;padding:0}
  .contact-form-heading{text-align:left;margin:0}
  .contact-form-heading p:last-child{font-size:.88rem;line-height:1.7}
  .contact-form-visual{justify-content:flex-start}
  .contact-form-visual img{width:min(100%,300px);max-height:175px;margin:0 auto}
  .contact-form-card{padding:22px 19px 28px;border-radius:18px}
  .higasaka-contact-v727 .wpcf7 form{font-size:.94rem}
  .higasaka-contact-v727 .wpcf7 p{margin-bottom:22px}
  .higasaka-contact-v727 .wpcf7-list-item{display:block;margin-right:0}
  .higasaka-contact-v727 .wpcf7 input[type="submit"]{width:100%;min-width:0}
  .contact-after-note{padding:21px 19px;margin-top:20px}
  .contact-direct-links a{display:block}
  .contact-direct-links small{display:block;margin-bottom:2px}
  .higasaka-contact-v727 .footer-grid{grid-template-columns:1fr;gap:34px}
  .higasaka-contact-v727 .footer-links{grid-template-columns:1fr 1fr}
  .higasaka-contact-v727 .footer-bottom{flex-direction:column}
}

/* v7.27.4: footer brand lockup — white logo directly on navy, no white card */
.higasaka-contact-v727 .footer-brand-logo{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
.higasaka-contact-v727 .footer-brand-logo .brand-logo-img{display:block!important;width:185px!important;height:auto!important}
.higasaka-contact-v727 .footer-brand-logo small{margin-top:6px!important;color:#aebac2!important;font-size:.67rem!important;letter-spacing:.08em!important}


/* v7.27.5: conversion-focused compact contact hero.
   Visitors are already on the contact page, so remove secondary navigation
   and move the form substantially closer to the fixed header. */
.contact-hero{padding:34px 0 30px!important}
.contact-hero-compact{max-width:980px;margin-inline:auto}
.contact-hero-compact .contact-eyebrow{margin-bottom:5px}
.contact-hero-compact h1{margin:0;color:var(--hc-navy);font-size:clamp(2.25rem,4vw,3.35rem);line-height:1.18;letter-spacing:.015em;font-weight:850}
.contact-hero-compact .contact-lead{max-width:820px;margin:13px 0 0;font-size:1rem;line-height:1.75}
.contact-form-section{padding-top:24px!important}
@media(max-width:680px){
  .contact-hero{padding:25px 0 23px!important}
  .contact-hero-compact h1{font-size:2.05rem!important}
  .contact-hero-compact .contact-lead{margin-top:10px;font-size:.95rem;line-height:1.72}
  .contact-form-section{padding-top:20px!important}
}

/* v7.27.6: concise one-line guidance copy on desktop */
@media (min-width: 641px){
  .contact-hero{padding:28px 0 24px!important}
  .contact-hero-compact .contact-lead{max-width:none;margin-top:8px;font-size:.88rem;line-height:1.55;white-space:nowrap}
  .contact-form-section{padding-top:18px!important}
  .contact-form-heading p:last-child{margin-top:6px;font-size:.84rem;line-height:1.55;white-space:nowrap}
}
@media (max-width: 640px){
  .contact-hero-compact .contact-lead{font-size:.86rem;line-height:1.6;white-space:normal}
  .contact-form-heading p:last-child{font-size:.84rem;line-height:1.6;white-space:normal}
}
\n\n/* v7.29.1: contact conversion pass\n   Remove the redundant "まずは、聞いてみる。" hero and begin directly with\n   the editable form heading + illustration. Keep the illustration on small screens\n   but reduce its footprint so the first input appears much sooner. */\n.contact-form-section--direct{padding-top:26px!important;}\n.contact-form-section--direct .contact-form-intro-grid{margin-top:0;}\n.contact-form-section--direct .contact-form-heading .contact-eyebrow{margin-bottom:5px;}\n.contact-form-section--direct .contact-form-heading h2{font-size:clamp(1.75rem,3vw,2.3rem);}\n.contact-form-section--direct .contact-form-visual img{max-width:280px;max-height:180px;}\n@media(max-width:680px){\n  .contact-form-section--direct{padding-top:12px!important;}\n  .contact-form-section--direct .contact-form-intro-grid{gap:3px;margin-bottom:8px;}\n  .contact-form-section--direct .contact-form-heading .contact-eyebrow{margin-bottom:2px;font-size:.7rem;}\n  .contact-form-section--direct .contact-form-heading h2{font-size:1.55rem;line-height:1.35;}\n  .contact-form-section--direct .contact-form-heading p:last-child{margin-top:4px;font-size:.8rem;line-height:1.5;}\n  .contact-form-section--direct .contact-form-visual img{width:min(48vw,180px);max-width:180px;max-height:none;margin:1px auto 0;}\n  .contact-form-section--direct .contact-form-card{padding-top:17px;}\n}\n@media(max-width:360px){\n  .contact-form-section--direct .contact-form-visual img{width:160px;max-width:160px;}\n  .contact-form-section--direct .contact-form-heading h2{font-size:1.45rem;}\n}\n
/* v7.29.2: mobile-only illustration size refinement.
   Desktop/tablet remain unchanged; reduce vertical footprint on phones. */
@media(max-width:680px){
  .contact-form-section--direct .contact-form-visual img{
    width:min(42vw,156px);
    max-width:156px;
  }
}
@media(max-width:360px){
  .contact-form-section--direct .contact-form-visual img{
    width:140px;
    max-width:140px;
  }
}


/* v7.30.18: footer brand lockup update — approved logo, longer office label. */
.footer-brand-logo .brand-logo-img{width:195px!important;height:auto!important}
.footer-brand-logo small{margin-top:4px!important;letter-spacing:.03em!important;font-size:.64rem!important;white-space:nowrap}
@media(max-width:680px){
  .footer-brand-logo .brand-logo-img{width:185px!important}
  .footer-brand-logo small{font-size:.61rem!important;white-space:nowrap}
}


/* v7.30.26: compact free-consultation reassurance immediately before the form. */
.contact-free-inline{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid #dbe5e2;border-radius:12px;background:#f7faf8;color:#52636b;font-size:.84rem;line-height:1.55}
.contact-free-inline strong{color:#173b53;font-size:.9rem;white-space:nowrap}
@media(max-width:680px){
  .contact-free-inline{display:block;margin-bottom:10px;padding:10px 12px;font-size:.8rem}
  .contact-free-inline strong{display:block;margin-bottom:2px;font-size:.86rem;white-space:normal}
}
