/* PAGE HEADER */
.page-header{margin-top:56px;background:#fff;padding:48px 40px 36px;border-bottom:1px solid var(--gray-border);}
.page-header-inner{max-width:1160px;margin:0 auto;}
.page-title{font-size:22px;font-weight:700;margin-bottom:6px;}
.page-desc{font-size:12px;color:var(--gray-text);}

/* SECTIONS */
.sec{padding:64px 40px;}
.sec-inner{max-width:1160px;margin:0 auto;}
.sec-gray{background:var(--gray-bg);}
.sec-title{font-size:22px;font-weight:700;margin-bottom:6px;}
.sec-sub{font-size:12px;color:var(--gray-text);margin-bottom:32px;}
.sec-divider{border:none;border-top:1px solid var(--gray-border);margin:0;}

/* ACCESS */
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.map-box{width:100%;aspect-ratio:4/3;background:var(--gray-bg);border:1px solid var(--gray-border);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gray-text);font-size:12px;}
.map-box svg{width:28px;height:28px;stroke:#bbb;fill:none;stroke-width:1.5;}
.access-info h3{font-size:17px;font-weight:700;margin-bottom:20px;}
.acc-row{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start;}
.acc-row svg{width:16px;height:16px;stroke:var(--red);fill:none;stroke-width:2;flex-shrink:0;margin-top:3px;}
.acc-label{font-size:11px;font-weight:700;color:var(--gray-text);margin-bottom:2px;}
.acc-val{font-size:13px;line-height:1.6;}
.acc-dir{margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-border);}
.acc-dir h4{font-size:12px;font-weight:700;margin-bottom:8px;}
.acc-dir ul{list-style:none;}
.acc-dir li{font-size:12px;color:var(--gray-text);line-height:1.8;padding-left:10px;position:relative;}
.acc-dir li::before{content:'・';position:absolute;left:0;}

/* CONTACT FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
.form-label{font-size:12px;font-weight:700;color:var(--dark);}
.form-label .req{color:var(--red);font-size:10px;margin-left:4px;font-weight:700;}
.form-input,.form-select,.form-textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-border);border-radius:4px;font-size:13px;font-family:inherit;color:var(--dark);background:#fff;outline:none;transition:border-color 0.18s;}
.form-input:focus,.form-select:focus,.form-textarea:focus,
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{border-color:var(--red);}
.form-textarea,
.wpcf7 textarea{resize:vertical;min-height:120px;}
.form-note{font-size:11px;color:var(--gray-text);margin-bottom:24px;line-height:1.7;}

/* CF7 wrapper reset */
.wpcf7 form{margin:0;padding:0;}
.wpcf7 .wpcf7-form-control-wrap{display:block;}
.wpcf7 p{margin:0;}

/* Submit button — right-aligned with top spacing */
.form-submit-wrap{margin-top:32px;text-align:right;}
.form-submit-wrap p{margin:0;text-align:right;}
.form-submit-wrap .wpcf7-spinner{display:none;}
.btn-submit,
.wpcf7 input[type="submit"]{background:var(--red);color:#fff;padding:13px 32px 13px 48px;border-radius:3px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:background 0.18s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:20px center;background-size:16px 16px;}
.btn-submit:hover,
.wpcf7 input[type="submit"]:hover{background-color:var(--red-dark);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E");}

/* CF7 response output */
.wpcf7 .wpcf7-response-output{border:1px solid var(--gray-border);border-radius:4px;padding:12px 16px;margin:20px 0 0;font-size:13px;background:#fff;}
.wpcf7 .wpcf7-mail-sent-ok{border-color:#46b450;color:#46b450;}
.wpcf7 .wpcf7-validation-errors{border-color:var(--red);color:var(--red);}
.wpcf7-not-valid{border-color:var(--red) !important;}
.wpcf7-not-valid-tip{font-size:11px;color:var(--red);margin-top:4px;}

/* INQUIRY INFO */
.inquiry-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px;}
.inquiry-card{background:#fff;border:1px solid var(--gray-border);border-radius:6px;padding:20px;text-align:center;}
.inquiry-card .ic-icon{width:44px;height:44px;background:rgba(192,0,0,0.08);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.inquiry-card .ic-icon svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2;}
.inquiry-card .ic-label{font-size:11px;color:var(--gray-text);margin-bottom:4px;}
.inquiry-card .ic-val{font-size:14px;font-weight:700;}
.inquiry-card .ic-note{font-size:11px;color:var(--gray-text);margin-top:2px;}

@media(max-width:1024px){.inquiry-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .page-header{padding:28px 16px 22px;}.page-title{font-size:18px;}
  .sec{padding:44px 16px;}
  .access-grid{grid-template-columns:1fr;gap:24px;}
  .form-grid{grid-template-columns:1fr;}
  .form-group.full{grid-column:1;}
  .inquiry-cards{grid-template-columns:1fr;}
}
