/* =====================================================================
   miredo テナント募集フォーム
   ===================================================================== */
:root{
    --ink:#333;
    --ink-soft:#666;
    --line:#ddd;
    --bg-hero:#ececec;
    --bg-field:#f2f2f2;
    --accent:#4a4a4a;
    --badge:#3f7bbf;
    --error:#c0392b;
    --footer:#3a3a3a;
    --maxw:640px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
    color:var(--ink);
    line-height:1.8;
    font-size:15px;
    background:#fff;
}
a{color:var(--badge);}

/* ---- ヘッダー ---- */
.site-header{border-bottom:1px solid var(--line);}
.site-header__inner{max-width:1000px;margin:0 auto;padding:14px 20px;font-size:13px;letter-spacing:.05em;}

/* ---- ヒーロー ---- */
.hero{background:var(--bg-hero);padding:36px 20px;}
.hero__title{text-align:center;font-size:22px;font-weight:700;margin:0 0 20px;}
.hero__lead{max-width:900px;margin:0 auto;font-size:13.5px;color:#444;}
.hero__lead p{margin:0;}

/* ---- ステップ ---- */
.steps{display:flex;align-items:center;justify-content:center;gap:6px;padding:34px 20px 10px;}
.steps__item{display:flex;flex-direction:column;align-items:center;gap:6px;color:#bbb;font-size:12px;}
.steps__circle{width:44px;height:44px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:14px;color:#bbb;background:#fff;}
.steps__label{font-weight:600;}
.steps__item.is-active .steps__circle{background:var(--accent);border-color:var(--accent);color:#fff;}
.steps__item.is-active{color:var(--accent);}
.steps__item.is-done .steps__circle{border-color:var(--accent);color:var(--accent);}
.steps__item.is-done{color:var(--accent);}
.steps__line{width:48px;height:2px;background:#ccc;margin:0 2px 20px;}

/* ---- コンテナ ---- */
.container{max-width:var(--maxw);margin:0 auto;padding:20px 20px 60px;}

/* ---- セクション見出し ---- */
.section-title{text-align:center;font-size:19px;font-weight:700;margin:44px 0 8px;padding-bottom:14px;border-bottom:1px solid var(--line);}

/* ---- フィールド ---- */
.field{margin:26px 0;}
.field__label{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px;}
.field__note{font-size:12.5px;color:var(--ink-soft);margin:0 0 8px;}
.field__control{
    width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:4px;
    background:var(--bg-field);font-size:15px;font-family:inherit;color:var(--ink);
}
.field__control:focus{outline:none;border-color:var(--badge);background:#fff;box-shadow:0 0 0 2px rgba(63,123,191,.15);}
.field__textarea{resize:vertical;min-height:120px;}
.field__row2{display:flex;gap:12px;}
.field__row2 .field__control{flex:1;}
select.field__control{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;}
.field__radios{display:flex;gap:26px;flex-wrap:wrap;padding:4px 0;}
.radio,.agree__label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.radio input,.agree__label input{width:16px;height:16px;}

/* ---- バッジ ---- */
.badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;line-height:1.5;color:#fff;}
.badge--required{background:var(--badge);}
.badge--optional{background:#9aa4ad;}

/* ---- エラー ---- */
.field.has-error .field__control{border-color:var(--error);background:#fff5f4;}
.error-text{color:var(--error);font-size:12.5px;margin:6px 0 0;}
.alert{padding:14px 16px;border-radius:6px;margin:16px 0;font-size:14px;}
.alert--error{background:#fdecea;border:1px solid #f5c6c0;color:var(--error);}

/* ---- 個人情報 ---- */
.privacy{font-size:13.5px;color:#444;margin:16px 0;}
.agree{text-align:center;margin:22px 0;}
.agree.has-error .agree__label{color:var(--error);}

/* ---- ボタン ---- */
.submit-area{text-align:center;margin:40px 0 10px;}
.submit-area--split{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.btn{
    display:inline-flex;align-items:center;gap:10px;justify-content:center;
    min-width:230px;padding:15px 28px;border:none;border-radius:30px;
    font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;
}
.btn--primary{background:linear-gradient(#8a8a8a,#6f6f6f);color:#fff;}
.btn--primary:hover{background:linear-gradient(#7d7d7d,#5f5f5f);}
.btn--back{background:#e4e4e4;color:#555;}
.btn--back:hover{background:#d8d8d8;}
.btn__arrow{font-size:18px;}

/* ---- 確認画面 ---- */
.confirm-lead{text-align:center;margin:10px 0 20px;}
.confirm-list{margin:0 0 10px;}
.confirm-list dt{font-weight:700;font-size:13px;color:var(--ink-soft);margin-top:16px;}
.confirm-list dd{margin:2px 0 0;padding:0 0 12px;border-bottom:1px dashed var(--line);word-break:break-all;}

/* ---- 完了画面 ---- */
.thanks{text-align:center;padding:30px 0;}
.thanks__title{font-size:20px;margin-bottom:20px;}

/* ---- フッター ---- */
.site-footer{background:var(--footer);color:#ccc;text-align:center;padding:30px 20px;margin-top:40px;font-size:12px;}
.site-footer__links{list-style:none;display:flex;justify-content:center;gap:26px;flex-wrap:wrap;padding:0;margin:0 0 16px;}
.site-footer__links a{color:#ddd;text-decoration:none;}
.site-footer__links a:hover{text-decoration:underline;}
.site-footer__copy{margin:0;color:#888;}

/* ---- 設備容量（複合入力） ---- */
.equipment-rows{display:flex;flex-direction:column;gap:10px;}
.equipment-row{display:flex;align-items:center;gap:10px;}
.equipment-row__label{flex:0 0 90px;font-size:13px;font-weight:700;}
.equipment-row__control{flex:0 1 260px;}
.equipment-row__unit{font-size:13px;color:#666;}

/* ---- レスポンシブ ---- */
@media (max-width:600px){
    .hero__title{font-size:19px;}
    .steps__circle{width:38px;height:38px;}
    .steps__line{width:26px;}
    .btn{min-width:0;width:100%;}
    .field__row2{flex-direction:column;}
    .equipment-row{flex-wrap:wrap;}
    .equipment-row__control{flex:1 1 auto;}
}
