/* 固定ページ seminar 専用（page-seminar.php） */
.cbs{
  --cbs-cream:#fffcf2; --cbs-coral:#ee6574; --cbs-coral-dark:#d95666; --cbs-green:#3c8261;
  --cbs-ink:#293e36; --cbs-muted:#657168; --cbs-mint:#ddefdd; --cbs-line:#dedfd3; --cbs-yellow:#ffe68c; --cbs-orange:#f3a63b;
  --cbs-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --cbs-serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  --cbs-en:Montserrat,"Noto Sans JP",sans-serif;
  max-width:760px; margin:0 auto; padding:0 16px 40px; color:var(--cbs-ink); font-family:var(--cbs-sans); font-size:15px; line-height:1.8; letter-spacing:.025em;
}
.cbs *{box-sizing:border-box}
.cbs h1,.cbs h2,.cbs h3{font-family:var(--cbs-serif); font-weight:700; line-height:1.45; margin:0; color:var(--cbs-ink); letter-spacing:.02em}

.cbs-intro{text-align:center; padding:28px 0 8px}
.cbs-kicker{margin:0 0 6px; font-family:var(--cbs-en); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--cbs-green)}
.cbs-title{font-size:clamp(16px,4.6vw,30px);letter-spacing:0;text-wrap:balance}
@media(max-width:480px){.cbs-title{font-size:min(4.4vw,19px)}}
.cbs-doors{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px}
.cbs-door{display:block; padding:14px 10px; border-radius:14px; text-decoration:none; color:var(--cbs-ink); border:2px solid; background:#fff}
.cbs-door b{display:block; font-family:var(--cbs-serif); font-weight:900; font-size:15.5px; line-height:1.4; word-break:keep-all}
.cbs-door span{display:block; margin-top:4px; font-size:12px; color:var(--cbs-muted); line-height:1.5}
.cbs-door--online{border-color:var(--cbs-green)}
.cbs-door--online b{color:var(--cbs-green)}
.cbs-door--taiken{border-color:var(--cbs-orange)}
.cbs-door--taiken b{color:#c97d12}

.cbs-online,.cbs-taiken{margin-top:28px; padding:26px 18px; border-radius:20px; scroll-margin-top:16px}
.cbs-online{background:var(--cbs-mint)}
.cbs-taiken{background:#fff4e2}
.cbs-label{display:inline-block; margin:0 0 10px; padding:3px 12px; border-radius:999px; background:var(--cbs-green); color:#fff; font-size:12px; font-weight:700}
.cbs-label--taiken{background:var(--cbs-orange)}
.cbs-online h2,.cbs-taiken h2{font-size:clamp(22px,5vw,30px)}
.cbs-facts{list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.cbs-facts li{background:#fff; border-radius:12px; padding:10px 4px; text-align:center; line-height:1.4}
.cbs-facts b{display:block; font-family:var(--cbs-en); font-weight:800; font-size:18px; color:var(--cbs-green)}
.cbs-facts span{font-size:12px; color:var(--cbs-muted)}
.cbs-lead{margin:14px 0 0; font-size:14.5px}

.cbs-form,.cbs-thanks{margin-top:18px; background:#fff; border-radius:16px; padding:22px 16px}
.cbs-thanks{text-align:center}
.cbs-thanks h3{color:var(--cbs-green); font-size:21px; font-weight:900}
.cbs-thanks p{margin:12px 0 0}
.cbs-field{border:0; margin:0 0 16px; padding:0; min-width:0}
.cbs-field legend,.cbs-field>label{display:block; font-weight:700; margin-bottom:8px; padding:0}
.cbs-field em{font-style:normal; font-size:11px; font-weight:700; color:#fff; background:var(--cbs-coral); border-radius:4px; padding:1px 6px; margin-left:4px; vertical-align:2px}
.cbs-field small{font-size:12px; font-weight:500; color:var(--cbs-muted); margin-left:6px}
.cbs-form input[type=text],.cbs-form input[type=tel],.cbs-form input[type=email],.cbs-form input[type=date],.cbs-form input[type=time],.cbs-form select,.cbs-form textarea{
  width:100%; font:inherit; font-family:var(--cbs-sans); font-size:16px; color:var(--cbs-ink); background:#fff; border:1px solid #cfd3c5; border-radius:10px; padding:10px 12px; margin:0}
.cbs-form input:focus,.cbs-form select:focus,.cbs-form textarea:focus{outline:2px solid var(--cbs-green); outline-offset:1px; border-color:var(--cbs-green)}
.cbs-form [aria-invalid=true]{border-color:var(--cbs-coral)!important; background:#fff6f6!important}
.cbs-choices{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.cbs-choices--4{grid-template-columns:repeat(4,1fr)}
.cbs-choices label{position:relative; cursor:pointer; margin:0}
.cbs-choices input{position:absolute; opacity:0; pointer-events:none}
.cbs-choices span{display:block; text-align:center; padding:11px 2px; border:1.5px solid #cfd3c5; border-radius:12px; font-weight:700; font-size:13.5px; white-space:nowrap; background:#fff}
.cbs-choices input:checked+span{border-color:var(--cbs-green); background:var(--cbs-mint); color:var(--cbs-green)}
.cbs-choices input:focus-visible+span{outline:2px solid var(--cbs-green); outline-offset:2px}
.cbs-slot{display:grid; grid-template-columns:1fr 9em; gap:8px; align-items:center; margin-top:8px}
.cbs-slot-label{font-size:14px; font-weight:700}
.cbs-sub{margin-top:14px}
.cbs-sub label{display:block; font-size:14px; font-weight:700; margin-bottom:6px}
.cbs-hint{margin:6px 0 0; font-size:12.5px; color:var(--cbs-muted)}
.cbs-error{margin:4px 0 0; color:var(--cbs-coral-dark); font-size:13px; line-height:1.5}
.cbs-error:empty{display:none}
.cbs-error--box{margin:0 0 14px; padding:10px 12px; background:#fff1f1; border-radius:10px; font-weight:700}
.cbs-honeypot{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.cbs-note{margin:8px 0; text-align:center; color:var(--cbs-muted); font-size:12.5px}
.cbs-submit{display:block; width:100%; margin-top:8px; padding:15px; border:0; border-radius:999px; background:var(--cbs-coral); color:#fff; font:inherit; font-family:var(--cbs-sans); font-weight:700; font-size:16.5px; cursor:pointer; box-shadow:0 5px 0 var(--cbs-coral-dark)}
.cbs-submit:hover{background:var(--cbs-coral-dark)}
.cbs-submit:disabled{opacity:.6; cursor:wait}
@media(max-width:480px){.cbs-submit{font-size:min(4.2vw,16px);padding:15px 8px;white-space:nowrap}}

.cbs-taiken-body{margin-top:18px; background:#fff; border-radius:16px; padding:20px 16px}
.cbs-taiken-body > *:first-child{margin-top:0}

.cbs-sp{display:none}
.cbs-point{margin:16px 0 0; padding:12px 14px; border-radius:12px; background:#fff; border-left:4px solid var(--cbs-green); font-family:var(--cbs-serif); font-weight:700; font-size:15.5px; line-height:1.7}
.cbs-facts--taiken b{color:#c97d12}
.cbs-form select{appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--cbs-muted) 50%),linear-gradient(135deg,var(--cbs-muted) 50%,transparent 50%); background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:28px}
.cbs-field>.cbs-check{display:flex; gap:10px; align-items:flex-start; font-weight:500; cursor:pointer; margin:0}
.cbs-check input{width:20px; height:20px; margin:3px 0 0; flex:none; accent-color:var(--cbs-green)}
.cbs-submit--taiken{background:#ec8f1c; box-shadow:0 5px 0 #c97412}
.cbs-submit--taiken:hover{background:#d97f10}
.cbs-access{margin-top:18px; background:#fff; border-radius:16px; padding:20px 16px}
.cbs-access h3{font-size:18px; margin-bottom:10px}
.cbs-access dl{margin:0}
.cbs-access dt{font-weight:700; color:#c97d12; margin-top:10px; font-size:14px}
.cbs-access dd{margin:2px 0 0; font-size:14px; line-height:1.75}
.cbs-map{margin-top:14px; border-radius:12px; overflow:hidden; aspect-ratio:4/3; background:#eee}
.cbs-map iframe{display:block; width:100%; height:100%; border:0}

/* 事前アンケート（任意・開いたときだけ表示） */
.cbs-survey{margin:4px 0 16px; border:1.5px dashed #cfd3c5; border-radius:12px; background:#fbfcf8}
.cbs-survey summary{cursor:pointer; list-style:none; padding:13px 44px 13px 14px; font-weight:700; position:relative}
.cbs-survey summary::-webkit-details-marker{display:none}
.cbs-survey summary small{margin-left:8px; font-size:12px; font-weight:500; color:var(--cbs-muted)}
.cbs-survey summary::after{content:"＋"; position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--cbs-green); font-weight:700}
.cbs-survey[open] summary::after{content:"－"}
.cbs-survey-lead{margin:0; padding:0 14px 10px; font-size:13px; color:var(--cbs-muted); line-height:1.7}
.cbs-q{border:0; margin:0; padding:12px 14px; border-top:1px solid #eceee6; min-width:0}
.cbs-q legend{float:left; width:100%; padding:0; margin-bottom:8px; font-weight:700; font-size:14px; line-height:1.6}
.cbs-q-opts{clear:both; display:flex; flex-wrap:wrap; gap:6px}
.cbs-q-opts label{position:relative; margin:0; cursor:pointer}
.cbs-q-opts input{position:absolute; opacity:0; pointer-events:none}
.cbs-q-opts span{display:inline-block; padding:6px 11px; border:1px solid #cfd3c5; border-radius:999px; background:#fff; font-size:13px; line-height:1.5}
.cbs-q-opts input:checked+span{border-color:var(--cbs-green); background:var(--cbs-mint); color:var(--cbs-green); font-weight:700}
.cbs-q-opts input:focus-visible+span{outline:2px solid var(--cbs-green); outline-offset:2px}
.cbs-q textarea,.cbs-q input[type=text]{clear:both}

/* 管理者だけの予約管理 */
.cbs-admin{margin-top:20px; padding:16px; border:2px solid var(--cbs-ink); border-radius:14px; background:#fff}
.cbs-admin h2{font-size:18px}
.cbs-admin h2 small{font-size:12px; font-weight:500; color:var(--cbs-muted); margin-left:6px}
.cbs-admin h3{font-size:15px; margin:14px 0 6px}
.cbs-admin-list{list-style:none; margin:0; padding:0}
.cbs-admin-list li{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #eee; font-size:14px}
.cbs-admin-list form{margin:0}
.cbs-admin button{font:inherit; font-size:13px; padding:6px 12px; border-radius:8px; border:1px solid #bbb; background:#f6f6f6; cursor:pointer}
.cbs-admin-block{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.cbs-admin-block input,.cbs-admin-block select{font:inherit; padding:6px 8px; border:1px solid #ccc; border-radius:8px}

.cbs-contact{margin-top:28px; text-align:center}
.cbs-contact p{margin:0 0 10px; font-weight:700}
.cbs-contact-links{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.cbs-contact-links a{display:block; padding:12px; border-radius:999px; border:1.5px solid var(--cbs-green); color:var(--cbs-green); font-weight:700; text-decoration:none; background:#fff}

@media (max-width:600px){
  .cbs-online,.cbs-taiken{padding:22px 14px; margin-left:-4px; margin-right:-4px}
  .cbs-form,.cbs-thanks,.cbs-taiken-body{padding:18px 14px}
  .cbs-slot{grid-template-columns:1fr 8em}
  .cbs-slot-label{grid-column:1/-1}
  .cbs-sp{display:inline}
  .cbs-choices--4{grid-template-columns:repeat(2,1fr)}
  .cbs-access{padding:18px 14px}
}

/* 管理者だけに表示するメニュー */
.cbs-adminbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;padding:10px 12px;background:#f1f1f1;border:1px dashed #999;border-radius:8px;font-size:13px}
.cbs-adminbar>span{font-weight:700;color:#555;margin-right:4px}
.cbs-adminbtn{display:inline-block;padding:8px 14px;border-radius:999px;background:#2563eb;color:#fff!important;text-decoration:none;font-weight:700;font-size:13px}
.cbs-adminbtn--taiken{background:#d97706}

/* ヘッダー部分の余白（ヘッダーが空のため残るスペーサー）を詰める */
.cbs-page .wp-site-blocks > .wp-block-spacer{display:none}

/* ===== 2026-10-16 改善版：1ページ・3ステップ予約 ===== */
.cbs-hero{text-align:center; padding:22px 0 4px}
.cbs-hero .cbs-title{font-size:clamp(21px,5.6vw,32px); line-height:1.5}
@media(max-width:480px){.cbs-hero .cbs-title{font-size:min(5.8vw,24px)}}
.cbs-hero-lead{margin:10px 0 0; font-size:14px; color:var(--cbs-muted); line-height:1.7}
.cbs-chips{list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px}
.cbs-chips li{font-size:12.5px; font-weight:700; color:var(--cbs-green); background:#fff; border:1px solid #c9e2d0; border-radius:999px; padding:3px 11px}
.cbs-online{margin-top:16px}
.cbs-book{border:2px solid var(--cbs-green); margin-top:0}
.cbs-book-title{margin:0; font-weight:700; font-size:17px; text-align:center}
.cbs-prog{display:flex; gap:5px; margin:10px 0 14px}
.cbs-prog i{flex:1; height:5px; border-radius:3px; background:#e3e8e3}
.cbs-prog i.is-on{background:var(--cbs-green)}
.cbs-num{display:inline-block; width:22px; height:22px; line-height:22px; border-radius:50%; background:var(--cbs-green); color:#fff; text-align:center; font-family:var(--cbs-en); font-size:12.5px; margin-right:6px; vertical-align:1px}
.cbs-step{margin-bottom:18px}
.cbs-days{display:none; gap:6px; overflow-x:auto; padding:2px 2px 6px; -webkit-overflow-scrolling:touch; scrollbar-width:thin}
.cbs-js .cbs-days{display:flex}
.cbs-day{flex:0 0 auto; min-width:58px; border:1.5px solid #cfd3c5; border-radius:12px; background:#fff; padding:6px 4px; font:inherit; font-family:var(--cbs-sans); font-size:11.5px; line-height:1.3; color:var(--cbs-ink); cursor:pointer; text-align:center}
.cbs-day b{display:block; font-family:var(--cbs-en); font-size:18px; font-weight:700}
.cbs-day.is-sun b{color:#c0392b}
.cbs-day.is-sat b{color:#2471a3}
.cbs-day.is-sel{background:var(--cbs-green); border-color:var(--cbs-green); color:#fff}
.cbs-day.is-sel b{color:#fff}
.cbs-day:disabled{opacity:.45; cursor:not-allowed}
.cbs-js .cbs-slot--fallback{display:none}
.cbs-js.is-more .cbs-slot--fallback{display:grid; grid-template-columns:1fr}
.cbs-js .cbs-slot--fallback select{display:none}
.cbs-more{display:none; margin-top:6px; padding:0; border:0; background:none; color:var(--cbs-green); font:inherit; font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer}
.cbs-js .cbs-more{display:inline-block}
.cbs-js.is-more .cbs-more{display:none}
.cbs-times{display:none; grid-template-columns:repeat(3,1fr); gap:7px}
.cbs-js .cbs-times{display:grid}
.cbs-time{border:1.5px solid #cfd3c5; border-radius:12px; background:#fff; padding:10px 0; font:inherit; font-family:var(--cbs-en); font-weight:700; font-size:15px; color:var(--cbs-ink); cursor:pointer}
.cbs-time:disabled{background:#f2f4f1; color:#b5bcb6; text-decoration:line-through; cursor:not-allowed}
.cbs-time.is-sel{background:var(--cbs-green); border-color:var(--cbs-green); color:#fff}
.cbs-day:focus-visible,.cbs-time:focus-visible{outline:2px solid var(--cbs-green); outline-offset:2px}
.cbs-about{margin-top:16px}
.cbs-about .cbs-point{margin-top:0}

.cbs-trust{margin-top:26px}
.cbs-trust h2,.cbs-faq h2{font-size:clamp(19px,4.6vw,24px); text-align:center; margin-bottom:12px}
.cbs-trust ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px}
.cbs-trust li{background:var(--cbs-mint); border-radius:14px; padding:12px; font-size:13px; line-height:1.55}
.cbs-trust b{display:block; font-family:var(--cbs-serif); font-size:16px; color:var(--cbs-green); margin-bottom:2px}

.cbs-taiken h2{line-height:1.5}
.cbs-tdays{display:grid; grid-template-columns:repeat(3,1fr); gap:7px}
.cbs-tdays label{position:relative; margin:0; cursor:pointer}
.cbs-tdays input{position:absolute; opacity:0; pointer-events:none}
.cbs-tdays span{display:block; text-align:center; padding:9px 2px; border:1.5px solid #e2cfa9; border-radius:12px; background:#fff; font-weight:700; font-size:13.5px; white-space:nowrap}
.cbs-tdays input:checked+span{background:#ec8f1c; border-color:#ec8f1c; color:#fff}
.cbs-tdays input:focus-visible+span{outline:2px solid #ec8f1c; outline-offset:2px}

.cbs-faq{margin-top:28px}
.cbs-faq details{background:#fff; border:1px solid var(--cbs-line); border-radius:12px; margin-bottom:8px; padding:0 14px}
.cbs-faq summary{cursor:pointer; padding:12px 0; font-weight:700; list-style:none; position:relative; padding-right:24px}
.cbs-faq summary::-webkit-details-marker{display:none}
.cbs-faq summary::after{content:"＋"; position:absolute; right:0; top:50%; transform:translateY(-50%); color:var(--cbs-green)}
.cbs-faq details[open] summary::after{content:"－"}
.cbs-faq details p{margin:0 0 12px; font-size:14px; color:var(--cbs-muted)}

.cbs-line{margin-top:24px; text-align:center; background:#ecfbea; border:1px solid #bfe8bc; border-radius:18px; padding:20px 16px}
.cbs-line-title{margin:0; font-weight:700; font-size:16px}
.cbs-line-lead{margin:6px 0 12px; font-size:13.5px; color:var(--cbs-muted)}
.cbs-banners{display:grid; gap:10px}
.cbs-banners a{display:block; line-height:0}
.cbs-banners img{width:100%; height:auto; border-radius:12px}
.cbs-line-btn{display:block; padding:13px; border-radius:999px; background:#06c755; color:#fff!important; font-weight:700; text-decoration:none; box-shadow:0 4px 0 #04a646}
.cbs-line-tel{margin:12px 0 0; font-size:13.5px}
.cbs-line-tel a{color:var(--cbs-green); font-weight:700}

.cbs-survey-form{margin-top:14px; padding:0; background:none}
.cbs-survey-form .cbs-survey{margin:0; background:#fff}
.cbs-survey-form select{width:100%; font:inherit; font-size:16px; border:1px solid #cfd3c5; border-radius:10px; padding:10px 12px; background:#fff}
.cbs-survey-send{padding:12px 14px 16px}
.cbs-submit--sub{background:var(--cbs-green); box-shadow:0 4px 0 #2b6448; font-size:15.5px; padding:12px}
.cbs-submit--sub:hover{background:#2b6448}

.cbs-sticky{display:none}
@media(max-width:767px){
  .cbs{padding-bottom:96px}
  .cbs-sticky{display:block; position:fixed; left:12px; right:12px; bottom:12px; z-index:50; padding:13px 10px; border-radius:999px; background:var(--cbs-coral); color:#fff!important; text-align:center; font-family:var(--cbs-sans); font-weight:700; font-size:15px; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.18); transition:opacity .2s, transform .2s}
  .cbs-sticky.is-hidden{opacity:0; transform:translateY(120%); pointer-events:none}
}
@media(max-width:380px){
  .cbs-tdays{grid-template-columns:repeat(2,1fr)}
  .cbs-time{font-size:14px}
}

/* 体験セミナー：満席・受付終了の日 */
.cbs-tdays input:disabled+span{opacity:.5; text-decoration:line-through; cursor:not-allowed; background:#f5f1e8}
