#bas-counseling-202609,
#bas-counseling-202609 * { box-sizing: border-box; }
#bas-counseling-202609 {
  --bas-orange:#d17a4d; --bas-orange-dark:#bf673c; --bas-orange-soft:#fff4ec;
  --bas-green:#718f68; --bas-green-dark:#587451; --bas-green-soft:#edf5ea;
  --bas-cream:#fdf9f5; --bas-bg:#fcf8f3; --bas-text:#292929; --bas-sub:#716963;
  --bas-light-text:#8d837d; --bas-line:#e8ddd6; --bas-white:#ffffff;
  background:var(--bas-bg); color:var(--bas-text); padding:72px 20px 100px;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
#bas-counseling-202609 .basCF-shell{width:min(780px,100%);margin:0 auto}
#bas-counseling-202609 .basCF-header{text-align:center;margin-bottom:46px}
#bas-counseling-202609 .basCF-eyebrow{margin:0 0 10px;color:var(--bas-orange-dark);font-size:12px;font-weight:700;letter-spacing:.18em}
#bas-counseling-202609 h1{margin:0;font-size:clamp(30px,5vw,44px);line-height:1.35;font-weight:700;letter-spacing:.03em}
#bas-counseling-202609 .basCF-lead{max-width:620px;margin:22px auto 0;font-size:16px;line-height:1.95}
#bas-counseling-202609 .basCF-time{margin:15px 0 0;color:var(--bas-sub);font-size:13px}
#bas-counseling-202609 .basCF-progress-wrap{margin-bottom:23px}
#bas-counseling-202609 .basCF-progress-meta{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--bas-sub);font-size:12px;font-weight:700;letter-spacing:.08em}
#bas-counseling-202609 .basCF-progress{width:100%;height:5px;overflow:hidden;border-radius:999px;background:#eadfd8}
#bas-counseling-202609 .basCF-progress-bar{height:100%;border-radius:inherit;background:var(--bas-orange);transition:width .35s ease}
#bas-counseling-202609 .basCF-step{display:none;padding:44px;border-radius:26px;background:var(--bas-white);box-shadow:0 12px 42px rgba(70,45,30,.06)}
#bas-counseling-202609 .basCF-step.is-active{display:block;animation:basCFfade .28s ease}
@keyframes basCFfade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
#bas-counseling-202609 .basCF-step-head{display:flex;align-items:flex-start;gap:16px;padding-bottom:28px;margin-bottom:42px;border-bottom:1px solid var(--bas-line)}
#bas-counseling-202609 .basCF-step-head>span{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--bas-cream);color:var(--bas-orange-dark);font-size:14px;font-weight:700}
#bas-counseling-202609 .basCF-step-head p{margin:1px 0 4px;color:var(--bas-orange-dark);font-size:10px;font-weight:700;letter-spacing:.15em}
#bas-counseling-202609 .basCF-step-head h2{margin:0;font-size:23px;line-height:1.45}
#bas-counseling-202609 .basCF-field{margin-bottom:54px}
#bas-counseling-202609 .basCF-question{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}
#bas-counseling-202609 .basCF-qbody{flex:1;min-width:0}
#bas-counseling-202609 .basCF-qicon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin-top:1px;border-radius:50%}
#bas-counseling-202609 .basCF-qicon svg{width:22px;height:22px;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#bas-counseling-202609 .basCF-question.is-required .basCF-qicon{background:var(--bas-orange-soft)}
#bas-counseling-202609 .basCF-question.is-required .basCF-qicon svg{stroke:var(--bas-orange-dark)}
#bas-counseling-202609 .basCF-question.is-optional .basCF-qicon{background:var(--bas-green-soft)}
#bas-counseling-202609 .basCF-question.is-optional .basCF-qicon svg{stroke:var(--bas-green)}
#bas-counseling-202609 .basCF-label{display:block;width:100%;margin:0;color:var(--bas-text);font-size:17px;font-weight:700;line-height:1.75;letter-spacing:.01em}
#bas-counseling-202609 .basCF-required,#bas-counseling-202609 .basCF-optional{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:999px;vertical-align:2px;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap}
#bas-counseling-202609 .basCF-required{color:#fff;background:var(--bas-orange);border:1px solid var(--bas-orange)}
#bas-counseling-202609 .basCF-optional{color:var(--bas-green-dark);background:var(--bas-green-soft);border:1px solid #cfe1ca}
#bas-counseling-202609 .basCF-help{margin:7px 0 0;color:var(--bas-light-text);font-size:13px;font-weight:400;line-height:1.75}
#bas-counseling-202609 .basCF-age-note{font-weight:400;color:var(--bas-light-text)}
#bas-counseling-202609 .basCF-input,#bas-counseling-202609 .basCF-textarea,#bas-counseling-202609 .basCF-select{width:100%;border:1px solid #ddd2cb;border-radius:13px;outline:none;background:#fff;color:var(--bas-text);font:inherit;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease}
#bas-counseling-202609 .basCF-input,#bas-counseling-202609 .basCF-select{min-height:54px;padding:12px 15px}
#bas-counseling-202609 .basCF-textarea{min-height:132px;padding:15px 16px;line-height:1.8;resize:vertical}
#bas-counseling-202609 .basCF-input::placeholder,#bas-counseling-202609 .basCF-textarea::placeholder{color:#aaa19b}
#bas-counseling-202609 .basCF-input:focus,#bas-counseling-202609 .basCF-textarea:focus,#bas-counseling-202609 .basCF-select:focus{border-color:var(--bas-orange);box-shadow:0 0 0 3px rgba(209,122,77,.12)}
#bas-counseling-202609 .basCF-age-input{width:220px;max-width:100%}
#bas-counseling-202609 .basCF-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#bas-counseling-202609 .basCF-topic{position:relative;display:block;cursor:pointer}
#bas-counseling-202609 .basCF-topic input{position:absolute;opacity:0;pointer-events:none}
#bas-counseling-202609 .basCF-topic-card{position:relative;display:flex;align-items:flex-start;gap:15px;min-height:118px;height:100%;padding:18px;border:1.5px solid #e5dad3;border-radius:17px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
#bas-counseling-202609 .basCF-topic-visual{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--bas-orange-soft)}
#bas-counseling-202609 .basCF-topic-visual svg{width:25px;height:25px;fill:none;stroke:var(--bas-orange-dark);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#bas-counseling-202609 .basCF-topic-copy{display:block;flex:1;min-width:0;padding-right:25px}
#bas-counseling-202609 .basCF-topic-card strong{display:block;color:var(--bas-text);font-size:16px;font-weight:700;line-height:1.55}
#bas-counseling-202609 .basCF-topic-card small{display:block;margin-top:7px;color:var(--bas-light-text);font-size:13px;line-height:1.65}
#bas-counseling-202609 .basCF-topic-card::before{content:"";position:absolute;top:14px;right:14px;width:19px;height:19px;border:1.5px solid #b8aaa1;border-radius:6px;background:#fff}
#bas-counseling-202609 .basCF-topic:hover .basCF-topic-card{border-color:#d6b09a;transform:translateY(-1px)}
#bas-counseling-202609 .basCF-topic input:checked+.basCF-topic-card{border-color:var(--bas-orange);background:#fff8f3;box-shadow:0 6px 18px rgba(191,103,60,.07)}
#bas-counseling-202609 .basCF-topic input:checked+.basCF-topic-card::before{border-color:var(--bas-orange);background:var(--bas-orange)}
#bas-counseling-202609 .basCF-topic input:checked+.basCF-topic-card::after{content:"✓";position:absolute;top:13px;right:18px;color:#fff;font-size:12px;font-weight:700}
#bas-counseling-202609 .basCF-options{display:grid;gap:11px}
#bas-counseling-202609 .basCF-options-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
#bas-counseling-202609 .basCF-option{position:relative;display:block;cursor:pointer}
#bas-counseling-202609 .basCF-option input{position:absolute;opacity:0;pointer-events:none}
#bas-counseling-202609 .basCF-option span{position:relative;display:block;min-height:54px;padding:14px 16px 14px 48px;border:1px solid #e2d8d2;border-radius:13px;background:#fff;font-size:15px;font-weight:600;line-height:1.55;transition:.18s ease}
#bas-counseling-202609 .basCF-option span::before{content:"";position:absolute;top:50%;left:17px;width:20px;height:20px;border:1.5px solid #b8aaa1;border-radius:50%;background:#fff;transform:translateY(-50%)}
#bas-counseling-202609 .basCF-option input:checked+span{border-color:var(--bas-orange);background:var(--bas-orange-soft)}
#bas-counseling-202609 .basCF-option input:checked+span::before{border-color:var(--bas-orange);background:var(--bas-orange);box-shadow:inset 0 0 0 5px #fff}
#bas-counseling-202609 .basCF-conditional{margin-top:18px;padding:22px;border:1px solid #dae6d6;border-radius:16px;background:#f5faf3}
#bas-counseling-202609 .basCF-conditional-head{display:inline-block;margin-bottom:17px;padding:4px 9px;border:1px solid #cfe1ca;border-radius:999px;color:var(--bas-green-dark);background:var(--bas-green-soft);font-size:11px;font-weight:700}
#bas-counseling-202609 .basCF-sub-label{display:block;margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.7}
#bas-counseling-202609 .basCF-mini-field+.basCF-mini-field{margin-top:22px}
#bas-counseling-202609 .basCF-privacy{display:flex;align-items:flex-start;gap:13px;margin:48px 0 28px;padding:19px 20px;border:1px solid var(--bas-line);border-radius:15px;background:var(--bas-cream)}
#bas-counseling-202609 .basCF-privacy-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px}
#bas-counseling-202609 .basCF-privacy-icon svg{width:21px;height:21px;fill:none;stroke:var(--bas-green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#bas-counseling-202609 .basCF-privacy p{margin:0;color:var(--bas-sub);font-size:12px;line-height:1.8}
#bas-counseling-202609 .basCF-privacy p+p{margin-top:5px}
#bas-counseling-202609 .basCF-privacy a{color:var(--bas-orange-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
#bas-counseling-202609 .basCF-error,#bas-counseling-202609 .basCF-submit-error{margin:9px 0 0;color:#a34032;font-size:13px;line-height:1.65}
#bas-counseling-202609 .basCF-submit-error{margin:0 0 20px;padding:13px 15px;border-radius:11px;background:#fff1ee}
#bas-counseling-202609 .basCF-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:48px}
#bas-counseling-202609 .basCF-nav-end{justify-content:flex-end}
#bas-counseling-202609 .basCF-btn{appearance:none;min-height:52px;padding:12px 24px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}
#bas-counseling-202609 .basCF-btn:hover{transform:translateY(-1px)}
#bas-counseling-202609 .basCF-btn-next,#bas-counseling-202609 .basCF-btn-submit{min-width:150px;color:#fff;background:var(--bas-orange)}
#bas-counseling-202609 .basCF-btn-next:hover,#bas-counseling-202609 .basCF-btn-submit:hover{background:var(--bas-orange-dark)}
#bas-counseling-202609 .basCF-btn-back{padding-left:7px;color:var(--bas-sub);background:transparent}
#bas-counseling-202609 .basCF-btn:disabled{opacity:.55;cursor:wait;transform:none}
#bas-counseling-202609 .basCF-complete{padding:58px 42px;border-radius:26px;background:#fff;text-align:center;box-shadow:0 12px 42px rgba(70,45,30,.06)}
#bas-counseling-202609 .basCF-complete-mark{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto 22px;border-radius:50%;background:var(--bas-green);color:#fff;font-size:27px}
#bas-counseling-202609 .basCF-complete h2{margin:0 0 24px;font-size:25px}
#bas-counseling-202609 .basCF-complete>p:not(.basCF-eyebrow){max-width:570px;margin:0 auto;font-size:15px;line-height:1.95}
#bas-counseling-202609 .basCF-complete>p:not(.basCF-eyebrow)+p{margin-top:14px}
#bas-counseling-202609 .basCF-complete-last{font-weight:700}
#bas-counseling-202609 .basCF-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#bas-counseling-202609 [hidden]{display:none!important}
#bas-counseling-202609 .basCF-sp{display:none}
@media (max-width:600px){
  #bas-counseling-202609{padding:48px 13px 80px}
  #bas-counseling-202609 .basCF-header{margin-bottom:35px}
  #bas-counseling-202609 .basCF-sp{display:block}
  #bas-counseling-202609 .basCF-lead{font-size:14px;line-height:1.85}
  #bas-counseling-202609 .basCF-step{padding:29px 18px 27px;border-radius:20px}
  #bas-counseling-202609 .basCF-step-head{gap:12px;margin-bottom:36px;padding-bottom:23px}
  #bas-counseling-202609 .basCF-step-head>span{flex-basis:42px;width:42px;height:42px}
  #bas-counseling-202609 .basCF-step-head h2{font-size:20px}
  #bas-counseling-202609 .basCF-field{margin-bottom:48px}
  #bas-counseling-202609 .basCF-question{gap:11px;margin-bottom:18px}
  #bas-counseling-202609 .basCF-qicon{flex-basis:40px;width:40px;height:40px}
  #bas-counseling-202609 .basCF-qicon svg{width:20px;height:20px}
  #bas-counseling-202609 .basCF-label{font-size:16px;line-height:1.7}
  #bas-counseling-202609 .basCF-required,#bas-counseling-202609 .basCF-optional{margin-left:5px;padding:3px 7px;font-size:9px}
  #bas-counseling-202609 .basCF-help{font-size:12px}
  #bas-counseling-202609 .basCF-age-input{width:100%}
  #bas-counseling-202609 .basCF-topic-grid{grid-template-columns:1fr;gap:13px}
  #bas-counseling-202609 .basCF-topic-card{min-height:100px;padding:16px;gap:13px}
  #bas-counseling-202609 .basCF-topic-visual{flex:0 0 44px;width:44px;height:44px;border-radius:13px}
  #bas-counseling-202609 .basCF-topic-visual svg{width:23px;height:23px}
  #bas-counseling-202609 .basCF-topic-copy{padding-right:24px}
  #bas-counseling-202609 .basCF-topic-card strong{font-size:15px}
  #bas-counseling-202609 .basCF-topic-card small{font-size:12.5px}
  #bas-counseling-202609 .basCF-options-compact{grid-template-columns:1fr}
  #bas-counseling-202609 .basCF-option span{padding:14px 14px 14px 47px;font-size:15px}
  #bas-counseling-202609 .basCF-conditional{padding:18px 15px}
  #bas-counseling-202609 .basCF-privacy{padding:16px 14px}
  #bas-counseling-202609 .basCF-nav{margin-top:40px}
  #bas-counseling-202609 .basCF-btn{min-height:50px}
  #bas-counseling-202609 .basCF-btn-next,#bas-counseling-202609 .basCF-btn-submit{flex:1;max-width:200px}
  #bas-counseling-202609 .basCF-complete{padding:42px 21px}
}


/* CONDITIONAL SAFETY FOLLOW-UP */
#bas-counseling-202609 .basCF-safety-followup{margin-top:18px;padding:20px;border:1px solid #eadfd8;border-radius:16px;background:#fffaf6}
#bas-counseling-202609 .basCF-followup-note{margin:0 0 18px;color:var(--bas-sub);font-size:13px;font-weight:600;line-height:1.75}
#bas-counseling-202609 .basCF-safety-followup .basCF-question{margin-bottom:16px}
#bas-counseling-202609 .basCF-safety-followup .basCF-conditional{background:#fff}
@media (max-width:600px){#bas-counseling-202609 .basCF-safety-followup{padding:18px 15px}}

/* v0.1.4: booking confirmation shown after counseling submission */
.basCF-booking-confirm-box{margin:22px 0 8px;padding:16px;border:1px solid #eadfd5;border-radius:14px;background:#fffaf6;text-align:left}
.basCF-booking-confirm-box>strong,.basCF-booking-confirm-box>span{display:block}
.basCF-booking-confirm-box>strong{font-size:16px;margin-bottom:4px}.basCF-booking-confirm-box>span{font-weight:700;margin-bottom:8px}
.basCF-booking-confirm-box p{margin:0 0 12px;font-size:14px;line-height:1.7}
.basCF-btn-manage{display:inline-flex!important;width:auto!important;text-decoration:none!important}
