@charset "utf-8";
/* CSS Document */

.contact-form-box { background:#fff; border:1px solid #dbe4ee; box-shadow:0 8px 24px rgba(15,39,71,.06); }
.contact-form-box__title { min-height:74px; padding:0 34px; background:#0F2747; color:#fff; display:flex; align-items:center; gap:16px; font-family:"Noto Serif JP", serif; font-size:22px; font-weight:700; letter-spacing:.06em; }
.contact-form-box__title i { font-size:24px; }
.contact-form-box__body { padding:38px 34px 36px; }
.contact-form-row { display:grid; grid-template-columns:190px 1fr; gap:24px; align-items:center; margin:0 0 24px; }
.contact-form-row--textarea { align-items:start; }
.contact-form-row--check { align-items:start; margin-bottom:30px; }
.contact-form-row label { color:#0F2747; font-size:16px; font-weight:700; line-height:1.6; letter-spacing:.04em; }
.required { margin-left:8px; padding:3px 7px; background:#e53935; color:#fff; font-size:12px; font-weight:700; border-radius:2px; }
.optional { margin-left:8px; padding:3px 7px; background:#9aa3ad; color:#fff; font-size:12px; font-weight:700; border-radius:2px; }
.contact-form-field input[type="text"], .contact-form-field input[type="email"], .contact-form-field input[type="tel"], .contact-form-field textarea { width:100%; padding:14px 16px; border:1px solid #cfd8e3; background:#fff; color:#1E293B; font-size:15px; line-height:1.6; box-sizing:border-box; }
.contact-form-field textarea { min-height:150px; resize:vertical; }
.contact-form-field input::placeholder, .contact-form-field textarea::placeholder { color:#9aa3ad; }
.contact-check-list .wpcf7-list-item { width:48%; margin:0 0 16px; display:inline-block; }
.contact-check-list label { color:#1E293B; font-size:15px; font-weight:500; cursor:pointer; }
.contact-check-list input[type="checkbox"] { width:18px; height:18px; margin:0 10px 0 0; vertical-align:-3px; }
.contact-form-privacy { margin:26px 0 24px; padding-top:24px; border-top:1px solid #edf1f5; color:#1E293B; font-size:14px; font-weight:500; line-height:1.8; text-align:center; letter-spacing:.04em; }
.contact-form-submit .wpcf7-submit { width:100%; height:58px; border:none; background:#B8A27A; color:#fff; font-size:20px; font-weight:700; letter-spacing:.08em; cursor:pointer; transition:background .25s ease, transform .25s ease; }
.contact-form-submit .wpcf7-submit:hover { background:#a78f63; transform:translateY(-1px); }
@media screen and (max-width:767px) { .contact-form-box__title { min-height:64px; padding:0 22px; font-size:19px; } .contact-form-box__body { padding:28px 20px 30px; } .contact-form-row { display:block; margin-bottom:22px; } .contact-form-row label { display:block; margin-bottom:10px; font-size:15px; } .contact-check-list .wpcf7-list-item { width:100%; margin-bottom:12px; } .contact-form-privacy { text-align:left; font-size:13px; } .contact-form-submit .wpcf7-submit { height:54px; font-size:17px; } }

.contact-side { width:100%; }
.contact-side-faq { background:#fff; border:1px solid #dbe4ee; box-shadow:0 8px 24px rgba(15,39,71,.06); }
.contact-side-faq h2 { margin:0; min-height:74px; padding:0 24px; background:#0F2747; color:#fff; font-family:"Noto Serif JP", serif; font-size:22px; font-weight:700; line-height:1.5; letter-spacing:.06em; display:flex; align-items:center; justify-content:center; text-align:center; position:relative; }
.contact-side-faq h2::after { content:""; width:52px; height:2px; background:#B8A27A; position:absolute; left:50%; bottom:16px; transform:translateX(-50%); }
.contact-side-faq__list { padding:28px 28px 8px; }
.contact-side-faq__item { padding:0 0 26px; margin:0 0 26px; border-bottom:1px dashed #cfd8e3; }
.contact-side-faq__item:last-child { border-bottom:none; margin-bottom:0; }
.contact-side-faq__item h3 { margin:0 0 14px; color:#0F2747; font-size:18px; font-weight:700; line-height:1.7; letter-spacing:.04em; display:flex; gap:14px; align-items:flex-start; }
.contact-side-faq__item h3 span { width:34px; height:34px; flex:0 0 auto; border-radius:50%; background:#0F2747; color:#fff; font-size:16px; font-weight:800; display:flex; align-items:center; justify-content:center; line-height:1; }
.contact-side-faq__item p { margin:0; padding-left:48px; color:#1E293B; font-size:14px; font-weight:500; line-height:1.9; letter-spacing:.04em; }
@media screen and (max-width:767px) { .contact-side-faq h2 { min-height:64px; font-size:19px; } .contact-side-faq__list { padding:24px 20px 4px; } .contact-side-faq__item h3 { font-size:16px; gap:12px; } .contact-side-faq__item h3 span { width:30px; height:30px; font-size:14px; } .contact-side-faq__item p { padding-left:42px; font-size:13px; } }

.contact-form-section { padding:54px 0 84px; background:#fff; }
.contact-form-section__inner { width:min(1200px, 94%); margin:0 auto; display:grid; grid-template-columns:1fr 410px; gap:34px; align-items:start; }
@media screen and (max-width:980px) { .contact-form-section__inner { grid-template-columns:1fr; } }

.contact-side-tel { margin-top:28px; padding:28px 24px 26px; background:#fff; border:2px solid #d6b46a; box-shadow:0 8px 24px rgba(15,39,71,.06); text-align:center; }
.contact-side-tel__icon { width:74px; height:74px; margin:0 auto 18px; border-radius:50%; background:#d6b46a; color:#fff; display:flex; align-items:center; justify-content:center; font-size:32px; line-height:1; }
.contact-side-tel__lead { margin:0 0 18px; color:#0F2747; font-size:16px; font-weight:700; line-height:1.8; letter-spacing:.04em; }
.contact-side-tel__number { display:block; margin:0 0 18px; color:#0F2747; font-size:44px; font-weight:800; line-height:1.2; text-decoration:none; letter-spacing:.03em; }
.contact-side-tel__time { padding-top:18px; border-top:1px solid #d6b46a; color:#1E293B; font-size:15px; font-weight:600; line-height:1.6; letter-spacing:.04em; }
@media screen and (max-width:767px) { .contact-side-tel { margin-top:20px; padding:24px 20px 22px; } .contact-side-tel__icon { width:62px; height:62px; font-size:26px; } .contact-side-tel__lead { font-size:14px; } .contact-side-tel__number { font-size:32px; } .contact-side-tel__time { font-size:13px; } }

.privacy-section { padding:76px 0 90px; background:#fff; }
.privacy-section__inner { width:min(1000px, 94%); margin:0 auto; }
.privacy-content { color:#1E293B; font-size:16px; font-weight:500; line-height:2; letter-spacing:.04em; }
.privacy-content p { margin:0 0 28px; }
.privacy-content h2 { margin:48px 0 18px; padding:0 0 12px 18px; border-bottom:1px solid #dbe4ee; color:#0F2747; font-family:"Noto Serif JP", serif; font-size:24px; font-weight:700; line-height:1.6; letter-spacing:.06em; position:relative; }
.privacy-content h2::before { content:""; width:4px; height:28px; background:#B8A27A; position:absolute; left:0; top:.45em; }
.privacy-content ul { margin:0 0 28px; padding:0; list-style:none; }
.privacy-content li { margin:0 0 8px; padding-left:20px; position:relative; }
.privacy-content li::before { content:""; width:6px; height:6px; border-radius:50%; background:#B8A27A; position:absolute; left:0; top:.9em; }
.privacy-date { margin-top:44px; text-align:right; }
@media screen and (max-width:767px) { .privacy-section { padding:52px 0 64px; } .privacy-content { font-size:14px; line-height:1.9; } .privacy-content p { margin-bottom:22px; } .privacy-content h2 { margin:38px 0 16px; font-size:20px; } .privacy-date { text-align:left; } }