@charset "UTF-8";

.page-wrapper{font-family:'Noto Sans JP',sans-serif; max-width:390px;margin:0 auto;background:#fff;padding:70px 0px;}
.page-wrapper * {box-sizing: border-box; margin: 0; padding: 0;}
.form-header { padding: 0px 24px;}
.form-header > p {font-family: var(--default); font-size: 12px; color: #ADA485; text-align: center;}
.form-header > h2 {font-family: var(--default);font-size: 24px; letter-spacing: 0; text-align: center;}

.tel_area {font-family: var(--default); margin-top: 24px;}
.tel_area > p {font-size: 14px; font-weight: bold; color: #811818; text-align: center; position: relative;}
.tel_area > p:after {content: ""; width: 100%; height: 1px; background-color: #811818; display: block; position: absolute; left: 0; top: 50%; z-index: 0;}
.tel_area > p span {position: relative; background-color: #FFF; padding: 0px 10px; display:inline-block; z-index: 2;}
.tel_area > div {background-color: #811818; margin-top: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16); padding: 15px 24px;}
.tel_area > div dl {display: flex; align-items: center;}
.tel_area > div dl dt {color: #FFF; font-size: 16px; font-weight: bold; letter-spacing: 0;}
.tel_area > div dl dd {width: 192px; height: 50px; flex-shrink: 0; margin-left: 10px;}
.tel_area > div dl dd a {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background-color: #FFF; border-radius: 5px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16); font-size: 22px; letter-spacing: 0; line-height: 100%;}
.tel_area > div dl dd a:before {content: ""; width: 22px; height: 22px; background: url(../images/tel_bt_icon.svg) no-repeat; background-size: cover; display: block; font-size: 0; margin-right: 5px;}


.section-divider{display:flex;align-items:center;margin-top: 20px; margin-bottom:20px;gap:10px;}
.section-divider::before,.section-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.section-divider span{font-family: var(--default); font-size:14px;color:var(--gray);white-space:nowrap; font-weight: bold;}
.form-body{padding:0 24px;}
.choice-section{margin-bottom:24px;}
.choice-title{font-size:13px;font-weight:500;color:var(--gray);margin-bottom:12px;letter-spacing:0.5px;}
.choice-cards{display:flex;flex-direction:column;gap:10px;}
.choice-card{border:1.5px solid var(--border);border-radius:4px;padding:16px 18px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:12px;background:#fff;}
.choice-card:hover{border-color:var(--red);background:#fff8f8;}
.choice-card.selected{border-color:var(--red);background:#fff8f8;}
.choice-card input[type="checkbox"]{appearance:none;width:18px;height:18px;border:2px solid var(--border);border-radius:3px;cursor:pointer;flex-shrink:0;position:relative;transition:all 0.2s;}
.choice-card.selected input[type="checkbox"]{background:var(--red);border-color:var(--red);}
.choice-card.selected input[type="checkbox"]::after{content:'✓';position:absolute;top:-1px;left:2px;font-size:12px;color:white;font-weight:700;}
.choice-card-name{font-size:15px;font-weight:500;color:var(--dark);font-family:'Noto Serif JP',serif;}
.choice-card-desc{font-size:11px;color:var(--gray);margin-top:2px;}
.same-day-toggle{display:none;animation:fadeIn 0.3s ease;margin-bottom:20px;}
.same-day-toggle.visible{display:block;}
.same-day-banner{background:linear-gradient(135deg,#fff8f8 0%,#fff3f3 100%);border:1.5px solid #f0c0c0;border-radius:6px;padding:14px 16px;}
.same-day-banner-title{font-size:12px;font-weight:600;color:var(--red);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.same-day-options{display:flex;gap:8px;}
.same-day-opt{flex:1;border:1.5px solid var(--border);border-radius:5px;padding:12px 10px;text-align:center;cursor:pointer;transition:all 0.2s;background:#fff;}
.same-day-opt:hover{border-color:var(--red);}
.same-day-opt.selected{border-color:var(--red);background:var(--red);color:white;}
.same-day-opt-icon{font-size:20px;display:block;margin-bottom:4px;}
.same-day-opt-label{font-size:12px;font-weight:500;line-height:1.4;}
.same-day-opt-sub{font-size:10px;opacity:0.7;margin-top:2px;}
.calendar-section{margin-bottom:20px;display:none;animation:fadeIn 0.3s ease;}
.calendar-section.visible{display:block;}
.cal-label{font-size:13px;font-weight:500;color:var(--dark);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.section-block{border-left:3px solid var(--red);padding-left:12px;margin-bottom:20px;}
.section-block-title{font-size:11px;color:var(--red);font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase;}
.combined-section{display:none;animation:fadeIn 0.3s ease;margin-bottom:20px;}
.combined-section.visible{display:block;}
.combined-block{border:1.5px solid var(--red);border-radius:6px;padding:16px;background:#fff8f8;}
.combined-block-title{font-size:12px;font-weight:600;color:var(--red);margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.combined-block-sub{font-size:11px;color:var(--gray);margin-bottom:14px;}
.time-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.time-col-label{font-size:11px;font-weight:600;color:var(--gray);margin-bottom:6px;letter-spacing:0.5px;}
.time-col-label span{display:inline-block;background:var(--dark);color:white;font-size:9px;padding:1px 5px;border-radius:2px;margin-right:4px;font-weight:400;}
.date-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.date-chip{padding:10px 14px;border:1.5px solid var(--border);border-radius:4px;cursor:pointer;font-size:13px;text-align:center;transition:all 0.2s;background:#fff;min-width:72px;}
.date-chip:hover{border-color:var(--red);background:#fff8f8;}
.date-chip.selected{border-color:var(--red);background:var(--red);color:white;}
.date-chip .chip-day{font-size:18px;font-weight:600;display:block;font-family:'Noto Serif JP',serif;}
.date-chip .chip-wd{font-size:10px;opacity:0.7;}
.mini-calendar{background:var(--light-gray);border-radius:6px;padding:14px;margin-bottom:8px;}
.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px; position: relative;}
.mini-cal-month{font-size:14px;font-weight:600;font-family:'Noto Serif JP',serif; margin: auto;}
.mini-cal-nav{background:none;border:1px solid var(--border);border-radius:3px;width:28px;height:28px;cursor:pointer;font-size:12px;color:var(--gray);display:flex;align-items:center;justify-content:center; position: absolute;}
.mini-cal-nav.prev {left: 0; display: none;}
.mini-cal-nav.next {right: 0; display: none;}
.mini-cal-nav:hover{background:var(--red);color:white;border-color:var(--red);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-weekday{text-align:center;font-size:10px;color:var(--gray);padding:4px 0;font-weight:500;}
.cal-weekday.sat{color:#3498db;}
.cal-weekday.sun{color:var(--red);}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:3px;cursor:pointer;transition:all 0.2s;border:1.5px solid transparent;}
.cal-day:hover:not(.disabled):not(.empty){border-color:var(--red);background:#fff8f8;}
.cal-day.selected{background:var(--red);color:white;border-color:var(--red);}
.cal-day.disabled{color:#ccc;cursor:default;background:#e9e9e9;}
.cal-day.empty{cursor:default;}
.cal-day.sat{color:#3498db;}
.cal-day.sun{color:var(--red-light);}
.cal-day.today{font-weight:700;}
.disabled-note{font-size:10px;color:var(--gray);margin-top:6px;}
.time-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;display:none;animation:fadeIn 0.3s;}
.time-slots.visible{display:flex;}
.time-slot{padding:8px 14px;border:1.5px solid var(--border);border-radius:3px;font-size:12px;cursor:pointer;transition:all 0.2s;background:#fff;}
.time-slot:hover{border-color:var(--red);background:#fff8f8;}
.time-slot.selected{border-color:var(--red);background:var(--red);color:white;}
.time-slots-compact{display:flex;flex-direction:column;gap:6px;}
.time-slot-compact{padding:8px 10px;border:1.5px solid var(--border);border-radius:3px;font-size:12px;cursor:pointer;transition:all 0.2s;background:#fff;text-align:center;}
.time-slot-compact:hover{border-color:var(--red);background:#fff8f8;}
.time-slot-compact.selected{border-color:var(--red);background:var(--red);color:white;}
.field-group{margin-bottom:16px;}
.field-label{font-size:13px;font-weight:500;color:var(--dark);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.required-badge{font-size:10px;background:var(--red);color:white;padding:1px 5px;border-radius:2px;font-weight:400;}
.optional-badge{font-size:10px;background:var(--gray);color:white;padding:1px 5px;border-radius:2px;font-weight:400;}
.field-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:3px;font-size:14px;font-family:'Noto Sans JP',sans-serif;color:var(--dark);background:#fff;outline:none;transition:border-color 0.2s;}
.field-input:focus{border-color:var(--red);}
.field-input::placeholder{color:#bbb;font-size:13px;}
textarea.field-input{resize:vertical;min-height:90px;}
.privacy-box{border:1px solid var(--border);border-radius:4px;padding:14px;margin-bottom:16px;background:var(--light-gray);}
.privacy-title{font-size:13px;font-weight:500;margin-bottom:8px;}
.privacy-text{font-size:11px;color:var(--gray);line-height:1.7;}
.wpcf7-acceptance label{display:flex;align-items:center;gap:8px;margin-top:12px;cursor:pointer;font-size:13px;}
.wpcf7-acceptance input{accent-color:var(--red);width:16px;height:16px;}

.submit-btn{width:100%;padding:18px;background:var(--dark);color:white;border:none;border-radius:3px;font-size:15px;font-weight:500;font-family:'Noto Sans JP',sans-serif;letter-spacing:2px;cursor:pointer;transition:background 0.2s;margin-bottom:8px;}
.submit-btn:hover:not(:disabled){background:var(--red);}
.submit-btn:disabled{background:var(--border);cursor:default;color:var(--gray);}
.selected-summary{background:#fff8f8;border:1px solid #f5c6c6;border-radius:4px;padding:12px 14px;margin-bottom:20px;font-size:12px;color:var(--gray);display:none;}
.selected-summary.visible{display:block;}
.selected-summary strong{color:var(--red);font-size:13px;}
.footer-logo{text-align:center;padding:24px;border-top:1px solid #eee;margin-top:24px;}
.logo-mark{width:44px;height:44px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;color:white;font-size:18px;font-weight:700;font-family:'Noto Serif JP',serif;}
.logo-name{font-size:12px;color:var(--gray);letter-spacing:2px;}
.success-screen{display:none;text-align:center;padding:60px 24px;animation:fadeIn 0.4s ease;}
.success-screen.visible{display:block;}
.success-icon{width:64px;height:64px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:white;font-size:28px;}
.success-title{font-family:'Noto Serif JP',serif;font-size:20px;margin-bottom:10px;}
.success-text{font-size:13px;color:var(--gray);line-height:1.8;}
@keyframes fadeIn{
from{opacity:0;transform:translateY(-6px);}
to{opacity:1;transform:translateY(0);}
}