/* increw.jp お問い合わせ・面談予約（/contact/）の見た目。色はサービスページ（事務長代行など）と同じ */
:root{--ac:#5C0900;--ac-d:#430600;--bg1:#F7F3F0;--bg2:#EBE4DB;--tx:#333;--sub:#666;--line:#ddd3c8;--err:#c0281b}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--tx);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.85}
a{color:var(--ac)}
img{max-width:100%;height:auto}
.icw-wrap{max-width:820px;margin:0 auto;padding:0 16px}

/* ヘッダー・フッター */
.icw-head{border-bottom:1px solid var(--line);background:#fff}
.icw-head .icw-wrap{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1100px}
.icw-logo img{display:block;width:150px}
.icw-tel{color:var(--ac);font-weight:700;text-decoration:none;font-size:15px;white-space:nowrap}
.icw-hero{background:var(--bg2);padding:44px 0 36px}
.icw-en{display:block;color:var(--ac);font-size:13px;letter-spacing:.2em;font-weight:600}
.icw-hero h1{margin:4px 0 0;font-size:clamp(24px,4.4vw,34px);font-weight:500;color:#222;line-height:1.4}
.icw-body{padding-top:36px;padding-bottom:72px}
.icw-foot{background:var(--ac);color:#fff;padding:32px 0;font-size:14px;line-height:1.8}
.icw-foot a{color:#fff}
.icw-foot-links a{margin-right:18px;display:inline-block}
.icw-copy{opacity:.8;font-size:12px}

/* フォーム */
.clf-lead{font-size:22px;font-weight:700;color:#222;margin:0 0 6px}
.clf-sub{margin:0 0 20px;color:#444}
.clf-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 24px;margin:0 0 24px}
.clf-section{font-weight:700;color:#222;border-left:4px solid var(--ac);padding-left:10px;margin:28px 0 16px;font-size:17px}
.clf-section small{display:block;font-weight:400;font-size:13px;color:var(--sub)}
.clf-field{margin:0 0 22px;border:0;padding:0;min-width:0}
.clf-label{display:block;font-weight:700;color:#222;margin:0 0 6px;font-size:15px;padding:0}
.clf-req,.clf-opt{display:inline-block;font-size:11px;font-weight:700;border-radius:3px;padding:1px 6px;margin-left:8px;vertical-align:2px;line-height:1.6}
.clf-req{background:var(--ac);color:#fff}
.clf-opt{background:#e9e4de;color:#555}
.clf-field input[type=text],.clf-field input[type=tel],.clf-field input[type=email],.clf-field select,.clf-field textarea{width:100%;font-size:16px;padding:12px 12px;border:1px solid #c9bfb4;border-radius:8px;background:#fff;color:#222;font-family:inherit}
.clf-field textarea{min-height:130px;resize:vertical}
.clf-field input:focus,.clf-field select:focus,.clf-field textarea:focus{outline:2px solid rgba(92,9,0,.35);border-color:var(--ac)}
.clf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.clf-hint{font-size:13px;color:var(--sub);margin:6px 0 0;line-height:1.6}
.clf-error{display:none;color:var(--err);font-size:13px;font-weight:700;margin:6px 0 0}
.clf-field.is-error .clf-error{display:block}
.clf-field.is-error input,.clf-field.is-error select,.clf-field.is-error textarea{border-color:var(--err);background:#fff6f5}
.clf-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.clf-choice{display:flex;align-items:center;gap:8px;border:1px solid #c9bfb4;border-radius:8px;padding:10px 12px;cursor:pointer;background:#fff;line-height:1.5}
.clf-choice input{width:20px;height:20px;accent-color:var(--ac);flex:0 0 auto;margin:0}
.clf-choice:has(input:checked){border-color:var(--ac);background:#fff6f4}
.clf-field.is-error .clf-choice{border-color:var(--err)}
.icw-agree{border:0;padding:0;background:none}
.icw-agree:has(input:checked){background:none}
.clf-submit{display:block;width:100%;max-width:460px;margin:8px auto 0;background:var(--ac);color:#fff;border:0;border-radius:40px;padding:17px 20px;font-size:17px;font-weight:700;cursor:pointer;font-family:inherit}
.clf-submit:hover{background:var(--ac-d)}
.clf-submit:disabled{opacity:.75;cursor:wait}
.clf-after{text-align:center;font-size:13px;color:var(--sub);margin:12px 0 0}
.clf-alt{text-align:center;background:var(--bg1);border-radius:12px;padding:18px;font-size:14px}
.clf-alt a{font-size:22px;font-weight:700;text-decoration:none}
.clf-servererr{background:#fff1ef;border:1px solid var(--err);color:var(--err);border-radius:8px;padding:12px 14px;font-weight:700;font-size:14px;margin:0 0 20px}
.clf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.clf-info{background:var(--bg1);border-radius:10px;padding:14px 18px;margin:0 0 20px;font-size:15px}

/* タブ（資料請求／相談したい） */
.icw-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-28px -24px 22px;border-bottom:1px solid var(--line)}
.icw-tab{cursor:pointer;display:block}
.icw-tab input{position:absolute;opacity:0;pointer-events:none}
.icw-tab span{display:block;text-align:center;padding:16px 8px;font-weight:700;font-size:17px;color:#7a6f66;background:var(--bg1);border-bottom:3px solid transparent}
.icw-tab:first-child span{border-top-left-radius:12px}
.icw-tab:last-child span{border-top-right-radius:12px}
.icw-tab input:checked+span{background:#fff;color:var(--ac);border-bottom-color:var(--ac)}
.icw-tab input:focus-visible+span{outline:2px solid var(--ac);outline-offset:-4px}
.icw-tab-lead{display:none;background:var(--bg1);border-radius:10px;padding:14px 18px;margin:0 0 24px;font-size:15px;line-height:1.8}
.icw-tab-lead p{margin:0}
.icw-tab-lead p+p{margin-top:6px;color:#555;font-size:14px}
form[data-tab=doc] .icw-tab-lead[data-for=doc],form[data-tab=consult] .icw-tab-lead[data-for=consult]{display:block}
.icw-only-doc,.icw-only-consult{display:none}
form[data-tab=doc] .icw-only-doc,form[data-tab=consult] .icw-only-consult{display:inline-block}

/* 送信中 */
body.is-sending::after{content:"送信中です。そのままお待ちください…";position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#222;color:#fff;padding:12px 22px;border-radius:30px;font-size:14px;z-index:10;box-shadow:0 4px 16px rgba(0,0,0,.2)}

/* 完了・お知らせ */
.clf-done{text-align:center;max-width:640px;margin:0 auto}
.clf-done-mark{width:64px;height:64px;border-radius:50%;background:var(--ac);color:#fff;font-size:32px;line-height:64px;margin:0 auto 12px;font-weight:700}
.clf-done-mark.is-ng{background:#b07a1a}
.clf-done-title{font-size:22px;font-weight:700;color:#222;margin:0 0 14px}
.clf-done-box{text-align:left;background:var(--bg1);border-radius:10px;padding:16px 18px 16px 36px;font-size:14px;margin:20px 0}
.clf-done-links a{display:inline-block;margin:6px 10px}

/* 面談予約 */
.clb-day{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;background:#fff}
.clb-day summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;font-weight:700;list-style:none}
.clb-day summary::-webkit-details-marker{display:none}
.clb-day summary::after{content:"＋";color:var(--ac);margin-left:8px}
.clb-day[open] summary::after{content:"－"}
.clb-day summary small{margin-left:auto;color:var(--sub);font-weight:400}
.clb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:0 16px 16px}
.clb-times .clf-choice{justify-content:center;padding:9px 6px}
.clb-chosen{font-weight:700;color:var(--ac);margin:10px 0 0;min-height:1em}
.clb-when{font-size:20px;font-weight:700;color:var(--ac);margin:0 0 12px}
.clb-empty{background:var(--bg1);border-radius:10px;padding:16px 18px;text-align:left;font-size:15px}
.clb-empty p{margin:0 0 6px}
.clb-current{background:var(--bg2);border-radius:12px;padding:18px 20px;margin:0 0 24px}
.clb-current p{margin:0}
.clb-current-label{font-size:13px;color:var(--sub)}
.clb-current-when{font-size:20px;font-weight:700;color:#222}
.clb-current.is-canceled .clb-current-when{text-decoration:line-through;color:#888}
.clb-done-msg{background:#eef7ee;border:1px solid #6aa66a;color:#2c6b2c;border-radius:8px;padding:12px 14px;font-weight:700;margin:0 0 20px}
.clb-cancel .clf-submit{background:#fff;color:var(--err);border:2px solid var(--err)}

@media (max-width:640px){
  .clf-row{grid-template-columns:1fr}
  .clf-card{padding:22px 16px}
  .icw-tabs{margin:-22px -16px 20px}
  .icw-tab span{font-size:16px;padding:14px 4px}
  .icw-head .icw-wrap{height:56px}
  .icw-logo img{width:120px}
  .icw-tel{font-size:13px}
}
