/* 神楽AYA 2026-11-12 : compact, readable reservation form and category icon navigation */
#services .kqa-category-jump{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,2vw,22px);padding:17px 14px 14px;margin:10px 0 25px;border:1px solid #f3e4e6;border-radius:20px;background:radial-gradient(circle at 0 8%,#fff0f4 0,transparent 24%),radial-gradient(circle at 100% 100%,#fff0f4 0,transparent 25%),#fffdfb;box-shadow:0 7px 25px #be879016}
#services .kqa-category-jump:before,#services .kqa-category-jump:after{content:"✿";position:absolute;color:#efb8ca;font-size:24px;opacity:.65;pointer-events:none}
#services .kqa-category-jump:before{top:3px;left:6px}#services .kqa-category-jump:after{right:8px;bottom:3px}
#services .kqa-category-jump a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;min-width:0;gap:4px;padding:5px 4px 7px;border-radius:15px;text-decoration:none;color:#5d3038;transition:background .2s}
#services .kqa-category-jump a:hover,#services .kqa-category-jump a:focus-visible{background:#fff0f5;outline-offset:2px}
#services .kqa-category-icon{display:grid;place-items:center;width:clamp(46px,7vw,66px);height:clamp(46px,7vw,66px);margin-bottom:3px;border-radius:50%;background:linear-gradient(135deg,#fff6df,#f7e8cf);color:#b5843c}
#services .kqa-category-icon svg{width:62%;height:62%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#services .kqa-category-title{font-size:clamp(14px,1.5vw,18px);font-weight:750;line-height:1.35}
#services .kqa-category-sub{font-size:clamp(11px,1.25vw,14px);font-weight:600;line-height:1.35;overflow-wrap:anywhere}
#kqm-cat-personal,#kqm-cat-group,#kqm-cat-training{scroll-margin-top:110px}
/* Reduce outer form whitespace without sacrificing readable labels */
#individual-booking .container{width:min(100% - 28px,960px)}
#individual-booking .pkr-head{margin-bottom:12px!important}
#individual-booking .pkr-head .eng{margin-bottom:5px!important}
#individual-booking .pkr-head h2{margin-bottom:6px!important}
#individual-booking .pkr-head p{margin:4px auto!important;font-size:15px!important}
#individual-booking .pkr-mini-steps{margin:8px auto 12px!important}
#individual-booking #personalBookingForm .pkr-form-inner{padding:clamp(10px,2vw,18px)!important}
#individual-booking #personalBookingForm .pkr-form-section{padding:10px 0!important;margin:0!important}
#individual-booking #personalBookingForm .pkr-form-section h3{font-size:18px!important;line-height:1.35!important;margin:0 0 8px!important;font-weight:750!important}
#individual-booking #personalBookingForm .pkr-form-section h3 span{font-size:14px!important}
#individual-booking #personalBookingForm .pkr-field>span,#individual-booking #personalBookingForm .kqa-area-intro,#individual-booking #personalBookingForm fieldset legend{font-size:15px!important;line-height:1.45!important}
#individual-booking #personalBookingForm .pkr-field:has(#pkrMenu),#individual-booking #personalBookingForm .pkr-field:has(#pkrPlan){margin:0!important;height:0!important;min-height:0!important;overflow:hidden!important}
#individual-booking #personalBookingForm .kqa-choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:3px 0 7px!important}
#individual-booking #personalBookingForm .kqa-press-card{min-height:49px!important;gap:7px!important;padding:8px 10px!important;border-radius:11px!important;box-shadow:0 2px 5px #82465d12!important}
#individual-booking #personalBookingForm .kqa-press-card[aria-pressed=true]{padding:7.5px 9.5px!important;box-shadow:inset 0 2px 6px #7b345126!important}
#individual-booking #personalBookingForm .kqa-press-dot{width:18px!important;height:18px!important;font-size:12px!important;border-width:1.5px!important}
#individual-booking #personalBookingForm .kqa-press-title{font-size:15px!important;line-height:1.35!important;font-weight:700!important}
#individual-booking #personalBookingForm .kqa-press-sub{font-size:12.5px!important;line-height:1.3!important}
#individual-booking #personalBookingForm .kqa-press-price{font-size:15px!important;line-height:1.2!important;font-weight:750!important}
#individual-booking #personalBookingForm #kqaPlanCards .kqa-press-card{flex-wrap:wrap;align-content:center;column-gap:7px;row-gap:2px}
#individual-booking #personalBookingForm #kqaPlanCards .kqa-press-price{margin-left:25px}
#individual-booking #personalBookingForm .kqa-menu-more{margin:2px 0 0!important;padding:0!important}
#individual-booking #personalBookingForm .kqa-menu-more>summary{padding:4px 0!important;font-size:14px!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:2px 0 8px!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-intro{grid-column:1/-1;margin:0!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-card{min-height:43px!important;padding:6px 9px!important;margin:0!important;border-radius:11px!important;box-shadow:0 2px 5px #82465d0f!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-card:has(input:checked){padding:5.5px 8.5px!important;box-shadow:inset 0 2px 6px #7b345126!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-card label,#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-card label strong{font-size:15px!important;line-height:1.35!important;font-weight:700!important}
#individual-booking #personalBookingForm .kqa-venue-step .kqa-area-card input[type=radio]{width:17px!important;height:17px!important}
#individual-booking #personalBookingForm .pkr-course-row{margin-top:5px!important}
#individual-booking #personalBookingForm .pkr-section-copy{font-size:14px!important;line-height:1.5!important;margin:4px 0 6px!important}
#individual-booking #personalBookingForm .pkr-time-rule{font-size:13px!important;line-height:1.5!important}
#individual-booking #personalBookingForm .pkr-time-rule small{font-size:12px!important;display:inline!important}
#individual-booking #personalBookingForm .pkr-choice-row{padding:8px 10px!important;margin:5px 0!important}
#individual-booking #personalBookingForm .pkr-choice-label{margin-bottom:4px!important}
#individual-booking #personalBookingForm .pkr-choice-label strong,#individual-booking #personalBookingForm .pkr-date-label{font-size:15px!important;line-height:1.4!important}
#individual-booking #personalBookingForm .pkr-inline-trigger{font-size:14px!important;min-height:39px!important;padding:6px 10px!important;margin:4px 0!important}
#individual-booking #personalBookingForm .pkr-time-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-width:none!important}
#individual-booking #personalBookingForm .pkr-time-fields .pkr-field{min-width:0!important}
#individual-booking #personalBookingForm :is(.pkr-from,.pkr-to,input[name=pkr_name],input[name=pkr_email]){min-height:41px!important;height:41px!important;padding:7px 9px!important;font-size:15px!important}
#individual-booking #personalBookingForm .kqa-booking-channel{padding:8px 10px!important;margin:0 0 8px!important}
#individual-booking #personalBookingForm .kqa-channel-options{gap:7px!important}
#individual-booking #personalBookingForm .kqa-channel-options label{font-size:15px!important;padding:7px 10px!important}
#individual-booking #personalBookingForm .kqa-channel-note{font-size:13px!important;line-height:1.5!important;margin:5px 0 0!important}
#individual-booking #personalBookingForm .pkr-optional-details{margin-top:6px!important}
#individual-booking #personalBookingForm .pkr-optional-details>summary{padding:8px 10px!important;font-size:14px!important}
#individual-booking #personalBookingForm .kqa-radio-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
#individual-booking #personalBookingForm .kqa-radio-card{min-height:54px!important;gap:7px!important;padding:7px 9px!important;border-radius:11px!important;box-shadow:0 2px 5px #82465d0f!important}
#individual-booking #personalBookingForm .kqa-radio-card:has(input:checked){padding:6.5px 8.5px!important;box-shadow:inset 0 2px 6px #7b345126!important}
#individual-booking #personalBookingForm .kqa-radio-card input{width:17px!important;height:17px!important}
#individual-booking #personalBookingForm .kqa-radio-card-copy strong{font-size:15px!important;line-height:1.3!important}
#individual-booking #personalBookingForm .kqa-radio-card-copy small{font-size:12px!important;line-height:1.3!important}
#individual-booking #personalBookingForm .kqa-choice-note{font-size:12.5px!important;line-height:1.5!important;margin:5px 0 0!important}
#individual-booking #personalBookingForm .pkr-price-box{padding:9px 12px!important;margin:8px 0!important}
#individual-booking #personalBookingForm .pkr-price-box strong{font-size:23px!important;line-height:1.35!important}
#individual-booking #personalBookingForm .pkr-actions{padding-top:10px!important}
#individual-booking #personalBookingForm .pkr-reservation-reminder{font-size:13px!important;margin:5px 0!important}
@media(max-width:760px){
 #individual-booking .container{width:calc(100% - 22px)!important}
 #individual-booking #personalBookingForm .pkr-form-inner{padding:10px!important}
 #individual-booking #personalBookingForm .pkr-form-section{padding:9px 0!important}
 #individual-booking #personalBookingForm .kqa-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #individual-booking #personalBookingForm .kqa-press-card{padding:7px 8px!important;gap:5px!important}
 #individual-booking #personalBookingForm .kqa-press-card[aria-pressed=true]{padding:6.5px 7.5px!important}
 #individual-booking #personalBookingForm .kqa-press-title{font-size:14.5px!important}
 #individual-booking #personalBookingForm .kqa-press-price{font-size:14px!important}
 #individual-booking #personalBookingForm #kqaPlanCards .kqa-press-price{margin-left:23px}
 #individual-booking #personalBookingForm .kqa-radio-card-copy strong{font-size:14.5px!important}
 #individual-booking #personalBookingForm .kqa-radio-card-copy small{font-size:11.5px!important}
 #services .kqa-category-jump{padding:13px 5px 10px;gap:2px;margin-bottom:18px}
 #services .kqa-category-jump a{padding:4px 1px}
 #services .kqa-category-title{font-size:13px}
 #services .kqa-category-sub{font-size:11px}
}
@media(max-width:340px){#individual-booking #personalBookingForm .kqa-press-title{font-size:13.5px!important}#individual-booking #personalBookingForm .kqa-radio-card-copy strong{font-size:13px!important}}