@charset "UTF-8";
@import url("../assets/_core.css");

/* CORPORATE */
.intro{padding:clamp(70px,10vh,120px) 0 clamp(50px,7vh,80px);background:var(--ink)}
.intro .wrap{max-width:900px}
.intro .lead{font-family:var(--serif-jp);font-size:clamp(21px,2.7vw,32px);line-height:1.85;letter-spacing:.07em;text-wrap:pretty;color:var(--paper)}
.intro .lead em{font-style:normal;color:var(--gold-2)}
.intro .sub{margin-top:30px;color:var(--mute);font-size:16px;line-height:2.25;max-width:42em}

.benefits{padding:clamp(40px,6vh,70px) 0 clamp(80px,11vh,130px);background:var(--ink)}
.sec-label{display:flex;align-items:baseline;gap:20px;margin-bottom:46px}
.sec-label .en{font-family:var(--serif-en);font-size:clamp(26px,3.4vw,40px);letter-spacing:.04em;color:var(--paper)}
.sec-label .jp{font-size:14px;letter-spacing:.3em;color:var(--mute)}
.ben-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.ben{background:var(--ink);padding:clamp(34px,3.6vw,52px)}
.ben .num{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--gold)}
.ben h3{font-size:22px;letter-spacing:.08em;margin:18px 0 16px;line-height:1.5}
.ben h3 .en{display:block;font-family:var(--serif-en);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute-2);margin-top:8px}
.ben p{color:var(--mute);font-size:14.5px;line-height:2.1}

.online{margin-top:34px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:clamp(28px,3vw,42px) clamp(30px,3.5vw,48px);border:1px solid var(--line);background:rgba(201,169,106,.045)}
.online .tag{font-family:var(--serif-en);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.online .t{color:var(--paper);font-size:17px;line-height:1.7;letter-spacing:.06em}
.online .t small{display:block;color:var(--mute);font-size:13.5px;margin-top:6px;line-height:1.8}

.form-sec{padding:clamp(80px,11vh,130px) 0;background:var(--ink-2);border-top:1px solid var(--line-2)}
.form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,6vw,90px);align-items:start}
.form-aside{position:sticky;top:120px}
.form-aside .eyebrow{margin-bottom:24px}
.form-aside h2{font-family:var(--serif-en);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:.03em}
.form-aside .jp{font-size:15px;color:var(--mute);line-height:2.1;margin-top:22px;max-width:24em}
.form-aside .contact-alt{margin-top:40px;padding-top:30px;border-top:1px solid var(--line-2)}
.form-aside .contact-alt dt{font-family:var(--serif-en);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.form-aside .contact-alt dd{color:var(--paper);font-size:15px;margin-bottom:20px;letter-spacing:.06em}
.form-aside .contact-alt dd small{display:block;color:var(--mute-2);font-size:12.5px;margin-top:3px}
.form-card{background:var(--ink);border:1px solid var(--line-2);padding:clamp(34px,4vw,56px)}
.form-card .group-label{font-family:var(--serif-en);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute-2);padding-bottom:14px;border-bottom:1px solid var(--line-2);margin:0 0 28px}
.form-card .group-label:not(:first-child){margin-top:14px}

@media (max-width:880px){
  .ben-grid{grid-template-columns:1fr}
  .online{grid-template-columns:1fr;gap:18px;text-align:left}
  .form-grid{grid-template-columns:1fr;gap:46px}
  .form-aside{position:static}
}
