body{background:#f8f8f8}.page-hero{background:linear-gradient(135deg,#E61E4D 0%,#D70466 100%);color:#fff;padding:60px 0;text-align:center}.page-hero h1{font-size:28px;font-weight:bold;margin-bottom:10px}.page-hero p{font-size:16px;opacity:0.9}.main-content{display:grid;grid-template-columns:1fr 350px;gap:40px;padding:40px 0}.form-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.form-card h2{font-size:22px;font-weight:bold;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #E61E4D}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#333}.form-group label .required{color:#E61E4D;margin-left:4px;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:8px;font-size:15px;font-family:inherit;transition:border-color 0.2s,box-shadow 0.2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#E61E4D;box-shadow:0 0 0 3px rgba(230,30,77,0.1)}.form-group textarea{min-height:120px;resize:vertical}.form-group select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 16px center;background-color:#fff}.form-group .hint{font-size:14px;color:#555;margin-top:6px}.date-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-group .checkbox-label{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f8f8f8;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:400;color:#333;cursor:pointer;transition:all 0.2s;margin-bottom:0}.checkbox-group .checkbox-label:hover{border-color:#E61E4D;background:#FFF5F7}.checkbox-group .checkbox-label input[type="checkbox"]{width:18px;height:18px;accent-color:#E61E4D;cursor:pointer}.checkbox-group .checkbox-label:has(input:checked){border-color:#E61E4D;background:#FFF5F7}.privacy-check{display:flex;align-items:flex-start;gap:10px}.privacy-check input[type="checkbox"]{width:18px;height:18px;margin-top:3px;accent-color:#E61E4D}.privacy-check label{font-size:14px;line-height:1.6;margin-bottom:0}.privacy-check label a{color:#E61E4D;text-decoration:underline}.submit-btn{width:100%;margin-top:1em;padding:20px;background:linear-gradient(to right,#E61E4D,#D70466);color:#fff;border:none;border-radius:8px;font-size:20px;font-weight:600;cursor:pointer;transition:opacity 0.3s}.submit-btn:hover{opacity:0.9}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.sidebar{display:flex;flex-direction:column;gap:24px}.sidebar-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.sidebar-card h3{font-size:16px;font-weight:bold;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.phone-card{text-align:center}.phone-card .phone-number{font-size:28px;font-weight:bold;color:#E61E4D;margin-bottom:8px}.phone-card .phone-hours{font-size:14px;color:#444}.property-list{list-style:none}.property-list li{margin-bottom:8px}.property-list li a{display:flex;align-items:center;gap:8px;padding:12px;background:#f8f8f8;border-radius:8px;color:#333;font-size:14px;text-decoration:none;transition:background 0.2s}.property-list li a:hover{background:#eee}.property-list li a .arrow{color:#E61E4D}.back-btn{display:inline-block;padding:12px 24px;background:#f0f0f0;color:#333;border-radius:8px;font-size:14px;text-decoration:none;transition:background 0.2s}.back-btn:hover{background:#e0e0e0}@media (max-width:900px){.main-content{grid-template-columns:1fr}}@media (max-width:768px){.page-hero h1{font-size:22px}.page-hero p{font-size:14px}}@media (max-width:500px){.date-group{grid-template-columns:1fr}}.notice-box-top{background:#FFF8E5;border:1px solid #F0D98B;border-radius:8px;padding:20px 24px;margin-bottom:28px}.notice-box-top h4{font-size:15px;font-weight:bold;color:#B87B00;margin-bottom:12px}.notice-box-top ul{list-style:disc;padding-left:20px;margin:0}.notice-box-top li{font-size:14px;color:#6B5900;line-height:1.8}.contact-info-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,0.08)}.contact-info-card h3{font-size:18px;font-weight:bold;color:#333;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #2AACB8}.contact-info-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.contact-info-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-info-icon.phone-icon{background:#E8F7F8;color:#2AACB8}.contact-info-icon.mail-icon{background:#E8F7F8;color:#2AACB8}.contact-info-icon.location-icon{background:#FFEEEE;color:#E61E4D}.contact-info-icon svg{width:20px;height:20px}.contact-info-content{flex:1}.contact-info-label{font-size:14px;color:#555;margin-bottom:4px}.contact-info-value{font-size:15px;color:#333;line-height:1.5}.contact-info-value a{color:#2AACB8;text-decoration:none;font-weight:500}.contact-info-value a:hover{text-decoration:underline}.phone-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#fff;border:2px solid #2AACB8;border-radius:8px;color:#2AACB8;font-size:16px;font-weight:600;text-decoration:none;transition:all 0.3s;margin-top:8px}.phone-cta-btn:hover{background:#2AACB8;color:#fff}.phone-cta-btn svg{width:20px;height:20px}.business-hours-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,0.08)}.business-hours-card h3{font-size:18px;font-weight:bold;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #2AACB8}.hours-table{margin-bottom:16px}.hours-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}.hours-row:last-child{border-bottom:none}.hours-label{font-size:14px;color:#444}.hours-value{font-size:14px;color:#333;font-weight:500}.hours-notes{background:#f8f8f8;border-radius:6px;padding:12px}.hours-notes p{font-size:14px;color:#555;line-height:1.6;margin:0 0 6px 0}.hours-notes p:last-child{margin-bottom:0}
/* 必須項目のエラー表示（contact.js の validateRequired が .field-error を挿入し、aria-invalid を付ける） */
.field-error{margin:8px 0 0;font-size:14px;line-height:1.6;color:#C0173D;font-weight:600}
.field-error::before{content:"! ";font-weight:700}
.form-group input[aria-invalid="true"],.form-group select[aria-invalid="true"],.form-group textarea[aria-invalid="true"]{border-color:#C0173D;background-color:#FFF5F7}
.checkbox-group[aria-invalid="true"]{outline:2px solid #C0173D;outline-offset:4px;border-radius:8px}
/* select の下の注意書き（赤字）。#b71c1c は白地でコントラスト比 約7:1（WCAG AA 4.5:1 以上）。エラー(.field-error)は太字＋「!」付きで見分ける */
.field-note--alert{margin:6px 0 0;font-size:0.88em;line-height:1.7;color:#b71c1c;font-weight:400}
/* 「電話で問い合わせる」ボタンは非表示（contact.js でも取り除く。WP 本文側の元の要素は WP 管理画面で削除してよい）。電話番号・受付時間の表示は残す */
.sidebar .phone-cta-btn,.phone-cta-btn{display:none}
