@charset "utf-8";
/* CSS Document */

.page-contact { position:relative; padding:180px 20px 120px; background:#050505; overflow:hidden; }
.page-contact::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 10%, rgba(201,157,61,.08) 0%, rgba(0,0,0,0) 48%); }
.page-contact__inner { position:relative; z-index:2; width:min(100%, 1000px); margin:0 auto; }
.contact-lead { margin:0 auto 60px; text-align:center; }
.contact-lead p { margin:0; color:#fff; font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif; font-size:18px; line-height:2; letter-spacing:.06em; }
.contact-methods { display:grid; grid-template-columns:repeat(2, 1fr); gap:30px; margin:0 0 90px; }
.contact-method { padding:42px 34px; background:rgba(255,255,255,.035); border:1px solid rgba(201,157,61,.38); text-align:center; }
.contact-method__title { margin:0 0 22px; color:#d7b65b; font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif; font-size:24px; font-weight:700; line-height:1.5; letter-spacing:.08em; }
.contact-tel { margin:0; }
.contact-tel a { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:38px; line-height:1.3; letter-spacing:.04em; text-decoration:none; }
.contact-lineqr { display:flex; align-items:center; justify-content:center; width:220px; height:220px; margin:0 auto; color:rgba(255,255,255,.7); font-size:16px; letter-spacing:.08em; background:rgba(255,255,255,.08); border:1px dashed rgba(201,157,61,.5); }
.contact-lineqr img{width:100%;}
.contact-form-area { margin:0; }
.cf7-form { width:min(100%, 820px); margin:0 auto; }
.cf7-field { margin:0 0 28px; }
.cf7-field label { display:block; margin:0 0 10px; color:#d7b65b; font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif; font-size:17px; font-weight:700; line-height:1.6; letter-spacing:.06em; }
.cf7-field label span { display:inline-block; margin-left:10px; padding:2px 8px; color:#fff; font-size:12px; line-height:1.4; background:#8c0d0d; }
.cf7-field input, .cf7-field textarea { width:100%; padding:16px 18px; color:#fff; font-size:16px; line-height:1.6; background:rgba(255,255,255,.06); border:1px solid rgba(201,157,61,.35); border-radius:0; box-sizing:border-box; }
.cf7-field textarea { height:220px; resize:vertical; }
.cf7-field input::placeholder, .cf7-field textarea::placeholder { color:rgba(255,255,255,.45); }
.cf7-field input:focus, .cf7-field textarea:focus { outline:none; border-color:rgba(201,157,61,.9); background:rgba(255,255,255,.09); }
.cf7-submit { margin:48px 0 0; text-align:center; }
.cf7-submit input { width:320px; max-width:100%; height:70px; color:#fff; font-size:18px; font-weight:700; letter-spacing:.12em; background:linear-gradient(180deg, #a91414 0%, #6d0909 100%); border:1px solid rgba(255,255,255,.16); cursor:pointer; transition:.3s; }
.cf7-submit input:hover { transform:translateY(-3px); opacity:.92; }
.wpcf7-spinner { display:block; margin:16px auto 0; }
.wpcf7-not-valid-tip { margin:8px 0 0; color:#ff8b8b; font-size:14px; }
.wpcf7-response-output { margin:30px 0 0!important; padding:18px 20px!important; color:#fff; border-color:rgba(201,157,61,.5)!important; }

@media (max-width: 768px) {
.page-contact { padding:130px 20px 85px; }
.contact-lead { margin:0 auto 42px; text-align:left; }
.contact-lead p { font-size:16px; line-height:1.9; }
.contact-methods { grid-template-columns:1fr; gap:20px; margin:0 0 70px; }
.contact-method { padding:30px 20px; }
.contact-method__title { font-size:21px; }
.contact-tel a { font-size:30px; }
.contact-lineqr { width:200px; height:200px; }
.cf7-field { margin:0 0 24px; }
.cf7-field label { font-size:16px; }
.cf7-field input, .cf7-field textarea { padding:14px 15px; font-size:16px; }
.cf7-field textarea { height:190px; }
.cf7-submit input { width:100%; height:62px; font-size:16px; }
}