.contact-page { padding-top: 104px; color: var(--color-night); background: #fff; }
.contact-hero { padding: 72px 0; background: var(--color-sea); }
.contact-hero__en,.contact-option__en { margin: 0 0 8px; color: var(--color-kobe-red); font-family: var(--font-en); font-size: 13px; font-weight: 700; letter-spacing: .18em; }
.contact-hero h1 { margin: 0 0 16px; font-size: clamp(32px,4vw,48px); }
.contact-hero p:last-child { max-width: 720px; margin: 0; line-height: 1.9; }
.contact-form-section { padding: 88px 0 104px; }
.contact-form { max-width: 860px; margin-inline: auto; padding: 48px; border: 1px solid rgba(25,60,104,.14); background: #fff; box-shadow: 0 14px 36px rgba(25,60,104,.07); }
.contact-form label { display:block; margin-bottom:8px; color:var(--color-night); font-weight:700; }
.contact-form input:not([type="checkbox"]),.contact-form select,.contact-form textarea { width:100%; padding:14px 16px; border:1px solid #ccd3da; border-radius:0; background:#fff; font:inherit; }
.contact-form textarea { min-height:180px; resize:vertical; }
.contact-form input[type="submit"] { min-width:220px; min-height:58px; border:0; color:#fff; background:var(--color-night); font-weight:700; cursor:pointer; transition:background-color var(--transition); }
.contact-form input[type="submit"]:hover { background:var(--color-kobe-red); }
.contact-form .wpcf7-form-control-wrap { display:block; margin-top:8px; }
.contact-form .wpcf7-not-valid-tip { margin-top:6px; font-size:13px; }
.contact-form__setup { padding:20px; border-left:4px solid var(--color-kobe-red); background:#f6f7f8; line-height:1.8; }
.contact-options__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.contact-option { display: flex; min-height: 440px; flex-direction: column; align-items: center; padding: 42px 28px 30px; border: 1px solid rgba(25,60,104,.14); background: #fff; text-align: center; box-shadow: 0 14px 36px rgba(25,60,104,.07); }
.contact-option__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 24px; border-radius: 50%; color: #fff; background: var(--color-night); font-family: var(--font-en); font-size: 17px; font-weight: 700; }
.contact-option--line .contact-option__icon { background: #06c755; font-size: 12px; }
.contact-option h2 { margin: 0 0 18px; font-size: 21px; }
.contact-option > p:not(.contact-option__en) { margin: 0 0 28px; color: var(--color-text-sub); line-height: 1.8; }
.contact-option__button { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: center; margin-top: auto; color: #fff; background: var(--color-night); font-weight: 700; transition: background-color var(--transition); }
.contact-option__button:hover { background: var(--color-kobe-red); }
.contact-option small { margin-top: 14px; color: var(--color-text-sub); line-height: 1.6; }
.contact-options__notice { margin: 32px 0 0; padding: 18px 20px; background: #f6f7f8; color: var(--color-text-sub); font-size: 13px; line-height: 1.8; }
@media (max-width: 1024px) { .contact-page { padding-top: 88px; } .contact-options__grid { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; } .contact-option { min-height: 0; } }
@media (max-width: 768px) { .contact-page { padding-top: 78px; } .contact-form-section { padding:56px 0 72px; } .contact-form { padding:28px 20px; } }
