/* =========================================================================
   カウンセリング予約フォームページ (/yoyaku) 固有スタイル
   共通のヒーロー・パンくず・注意書きは common.css の .page-hero / .notice を使用。
   ========================================================================= */

/* .yoyaku-sec{padding-block:clamp(40px,5.5vh,60px) var(--sect-y);} */

/* ★更新：このページの注意書きは文章量が多いため、アイコンと本文を横並び(flex)から
   縦積みに変更し、見出しと本文の間・本文の各段落の間にも余白を入れて読みやすくした。
   他ページの .notice（横並びのまま）には影響しない、このページだけのスタイル。 */
.yoyaku-sec .notice.notice--stacked{display:block;}
.yoyaku-sec .notice--stacked .ic{display:inline-block;margin-bottom:16px;}
.yoyaku-sec .notice--stacked .notice-body p{margin:0 0 1em;}
.yoyaku-sec .notice--stacked .notice-body p:last-child{margin-bottom:0;}
.yoyaku-sec .notice--stacked .notice-heading{font-family:var(--f-disp);font-weight:700;color:var(--ink);font-size:1.05rem;letter-spacing:0;margin:0 0 .9em;}

.yoyaku-errors{background:#FBEEEE;border:1px solid #E3B8B8;border-radius:6px;padding:clamp(18px,2.4vw,24px);margin-top:clamp(26px,3.6vh,34px);}
.yoyaku-errors p{margin:0 0 .6em;font-weight:700;color:#9A3B3B;font-family:var(--f-disp);}
.yoyaku-errors ul{margin:0;padding-left:1.3em;}
.yoyaku-errors li{font-size:.9rem;line-height:1.85;color:#7A3030;}

.yoyaku-success{background:var(--card);border:1px solid var(--bronze);border-radius:6px;padding:clamp(30px,4vw,44px);margin-top:clamp(26px,3.6vh,34px);text-align:center;}
.yoyaku-success h2{font-family:var(--f-disp);font-weight:700;font-size:1.4rem;margin:0 0 .6em;}
.yoyaku-success p{margin:0;color:var(--ink-soft);font-weight:400;line-height:1.95;font-size:.94rem;}

.yoyaku-form{margin-top:clamp(30px,4vh,40px);display:flex;flex-direction:column;gap:clamp(26px,3.4vh,32px);}
.yoyaku-honeypot{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden;}

.yoyaku-field label{display:block;font-family:var(--f-body);font-weight:700;font-size:.92rem;color:var(--ink);margin-bottom:.6em;}
.yoyaku-field .req{color:#B33;margin-left:.3em;font-weight:700;}
.yoyaku-field .req-optional{color:var(--ink-faint);font-weight:400;font-size:.82rem;margin-left:.4em;}
.yoyaku-field input[type="text"],.yoyaku-field input[type="tel"],.yoyaku-field input[type="email"],.yoyaku-field input[type="number"],.yoyaku-field input[type="date"],.yoyaku-field select,.yoyaku-field textarea{width:100%;font-family:inherit;font-size:.96rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:.9em 1em;transition:border-color .3s;box-sizing:border-box;}
.yoyaku-field input:focus,.yoyaku-field select:focus,.yoyaku-field textarea:focus{outline:none;border-color:var(--bronze);}
.yoyaku-field textarea{resize:vertical;min-height:8em;}
.yoyaku-field--narrow{max-width:220px;}
.yoyaku-hint{margin:.6em 0 0;font-size:.82rem;color:var(--ink-faint);line-height:1.7;}

.yoyaku-suffix-wrap{position:relative;display:flex;align-items:center;}
.yoyaku-suffix-wrap input{padding-right:2.6em;}
.yoyaku-suffix{position:absolute;right:1em;color:var(--ink-soft);font-size:.9rem;pointer-events:none;}

.yoyaku-addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.yoyaku-addr-grid input:first-child,.yoyaku-addr-grid input:last-child{grid-column:1 / -1;}

.yoyaku-dropdown{position:relative;}
.yoyaku-dropdown-summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;width:100%;font-family:inherit;font-size:.96rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:.9em 1em;box-sizing:border-box;transition:border-color .3s;}
.yoyaku-dropdown-summary::-webkit-details-marker{display:none;}
.yoyaku-dropdown[open] .yoyaku-dropdown-summary{border-color:var(--bronze);border-bottom-left-radius:0;border-bottom-right-radius:0;}
.yoyaku-dropdown-summary-text{color:var(--ink-soft);}
.yoyaku-dropdown[open] .yoyaku-dropdown-arrow{transform:rotate(180deg);}
.yoyaku-dropdown-arrow{color:var(--bronze);transition:transform .3s;flex:0 0 auto;margin-left:1em;}
.yoyaku-dropdown-panel{border:1px solid var(--bronze);border-top:none;border-radius:0 0 4px 4px;background:var(--card);padding:clamp(18px,2.4vw,24px);display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;max-height:340px;overflow-y:auto;}
.yoyaku-treatment-group-title{display:block;font-family:var(--f-body);font-weight:700;font-size:.82rem;letter-spacing:.02em;color:var(--bronze);margin-bottom:.7em;}
.yoyaku-checkbox-list{display:flex;flex-direction:column;gap:.55em;}
.yoyaku-checkbox{display:flex;align-items:flex-start;gap:.6em;font-size:.88rem;color:var(--ink-soft);font-weight:400;cursor:pointer;}
.yoyaku-checkbox input{margin-top:.2em;accent-color:var(--bronze);flex:0 0 auto;}
.yoyaku-checkbox--standalone{font-size:.94rem;color:var(--ink);font-weight:700;}

.yoyaku-hope-grid{display:flex;flex-direction:column;gap:12px;}
.yoyaku-hope-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:10px;align-items:center;}
.yoyaku-hope-label{font-size:.88rem;font-weight:700;color:var(--ink);}

.yoyaku-submit-wrap{display:flex;justify-content:center;padding-top:12px;}
.yoyaku-submit-wrap .btn{border:none;cursor:pointer;}

@media (max-width:680px){
  .yoyaku-dropdown-panel{grid-template-columns:1fr;max-height:300px;}
  .yoyaku-hope-row{grid-template-columns:1fr;}
  .yoyaku-hope-label{margin-bottom:-4px;}
  .yoyaku-addr-grid{grid-template-columns:1fr;}
  .yoyaku-addr-grid input{grid-column:1 / -1;}
}
