
.contact-page{background:#06080d}
.contact-hero{min-height:calc(100vh - 78px);display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 35%,rgba(83,75,184,.18),transparent 28%),radial-gradient(circle at 16% 75%,rgba(160,62,101,.10),transparent 30%)}
.contact-hero-bg{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;pointer-events:none}
.contact-hero-bg span{font:700 clamp(130px,21vw,340px)/.8 "Arial Narrow",Impact,sans-serif;color:rgba(255,255,255,.018);letter-spacing:-.06em;white-space:nowrap;transform:translateX(-2vw)}
.contact-hero-inner{position:relative;z-index:2;padding:100px 0}
.contact-kicker{font:10px Georgia,serif;letter-spacing:.27em;color:var(--gold);margin:0 0 24px}
.contact-hero h1{margin:0;font:700 clamp(64px,9.2vw,136px)/.78 "Arial Narrow",Impact,sans-serif;letter-spacing:-.05em}
.contact-jp{margin:34px 0 0;font:500 clamp(23px,2.4vw,34px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.12em}
.contact-lead{max-width:620px;margin:25px 0 34px;color:#98a4b1;font-size:13px;line-height:2}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.service-card{min-height:330px;padding:28px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));display:flex;flex-direction:column;position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-90px;bottom:-90px;background:rgba(93,78,205,.12);filter:blur(30px)}
.service-card>span{color:#596572;font:9px Georgia,serif;letter-spacing:.15em}
.service-card small{margin-top:auto;color:var(--gold);font:8px Georgia,serif;letter-spacing:.22em}
.service-card h3{margin:13px 0 13px;font:500 25px Georgia,serif}
.service-card p{margin:0;color:#8d99a6;font-size:11px;line-height:1.85}
.contact-policy{border-block:1px solid rgba(255,255,255,.08);background:linear-gradient(110deg,#080c12,#0e0b13)}
.contact-policy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.contact-policy-title h2{margin:0;font:500 clamp(46px,6vw,78px)/1.25 "Yu Mincho",serif}
.contact-policy-copy{padding-top:37px}
.contact-policy-copy>p{color:#99a4b0;font-size:13px;line-height:2.1;margin:0 0 20px}
.contact-rule{margin-top:34px;padding:20px 0;border-block:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:30px}
.contact-rule span{font:8px Georgia,serif;letter-spacing:.18em;color:#707c89}
.contact-rule strong{font-size:12px;font-weight:500}
.contact-form-section{padding:125px 0;background:#06080d}
.contact-form-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:84px;align-items:start}
.contact-form-intro h2{margin:0;font:500 clamp(50px,6vw,80px)/1 Georgia,serif}
.contact-form-intro>p:not(.contact-kicker){margin:28px 0;color:#8d99a6;font-size:12px;line-height:2}
.contact-x{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12);font:9px Georgia,serif;letter-spacing:.14em}
.contact-x span{color:#caae74}
.contact-form{padding:34px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.018);border-radius:18px}
.contact-form label{display:grid;gap:9px;margin-bottom:18px;color:#acb6c1;font-size:10px;letter-spacing:.07em}
.contact-form label>span{font-size:7px;color:#66717d}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);background:#080d14;color:#eef1f4;border-radius:8px;padding:14px 15px;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(223,189,120,.55);box-shadow:0 0 0 3px rgba(223,189,120,.06)}
.contact-submit{width:100%;border:0;cursor:pointer;margin-top:7px}
.contact-form-note{margin:13px 0 0;color:#66717d;font-size:9px;text-align:center}
.contact-status{margin-top:15px;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:8px;font-size:11px}
.contact-status.error{border-color:rgba(239,101,124,.35);background:rgba(239,101,124,.06)}
.contact-status.success{border-color:rgba(142,209,124,.35);background:rgba(142,209,124,.06)}
@media(max-width:1050px){.service-grid{grid-template-columns:1fr 1fr}.contact-policy-grid,.contact-form-layout{grid-template-columns:1fr}.contact-form-layout{gap:50px}}
@media(max-width:700px){.contact-hero{min-height:auto}.contact-hero-inner{padding:80px 0}.contact-hero h1{font-size:clamp(54px,18vw,82px)}.contact-jp{font-size:21px}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.contact-policy-grid{gap:42px}.contact-policy-title h2{font-size:40px}.contact-rule{display:grid}.contact-form-section{padding:82px 0}.contact-form{padding:21px}.contact-form-intro h2{font-size:48px}}

.service-grid-three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1050px){.service-grid-three{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.service-grid-three{grid-template-columns:1fr}}

.contact-mail{margin-top:10px}
.contact-mail-note{margin:12px 0 0!important;color:#66717d!important;font-size:9px!important;line-height:1.8!important}
.footer-mail{display:inline-block;margin-top:8px;color:#caae74;font-size:10px;letter-spacing:.05em}
.footer-mail:hover{text-decoration:underline}
