@charset "UTF-8";
/* ============================================================================
   Thalassa 加盟店申込 / 事前診断 テーマ
   ログイン画面(login-split)と同じブランド言語で entry / diagnosis を刷新する。
   entry.css の後に読み込み、既存クラスを上書きする。
   ink #1C1A17 / gold #C19A3E
   ========================================================================== */
:root{
  --thal-ink:#1C1A17;
  --thal-ink-2:#26231F;
  --thal-gold:#C19A3E;
  --thal-gold-dark:#A07F2C;
  --thal-cream:#FAF8F3;
  --thal-cream-2:#FFFDF5;
  --thal-line:#E7E2D8;
  --thal-text:#2A2723;
  --thal-muted:#8A8377;
}

/* ---- レイアウト土台 ---------------------------------------------------- */
.thal-entry-body{
  margin:0;
  background:var(--thal-cream);
  color:var(--thal-text);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.entry-split{ display:flex; min-height:100vh; align-items:stretch; }

/* 横スクロール(はみ出し)防止 + Bootstrap の負マージン打消し */
.thal-entry-body{ overflow-x:hidden; }
.entry-main-panel{ overflow-x:hidden; }
.entry-main-panel .row{ margin-left:0; margin-right:0; }
.entry-main-panel *{ box-sizing:border-box; }

/* ---- 左: ブランドパネル ------------------------------------------------ */
.entry-brand-panel{
  flex:0 0 340px; max-width:340px; position:relative; overflow:hidden;
  background:#1C1A17;
  background-image:linear-gradient(160deg, rgba(193,154,62,.18) 0%, rgba(28,26,23,1) 55%, rgba(14,12,9,1) 100%);
  color:#EDE7DA;
}
.entry-brand-inner{ position:sticky; top:0; padding:3rem 2rem; }
.entry-brand-logo img{ height:34px; width:auto; }
.entry-brand-lead{
  margin:2.2rem 0 0; font-size:1.5rem; font-weight:700; line-height:1.5; color:#fff;
  letter-spacing:.02em;
}
.entry-brand-deco{
  width:56px; height:4px; margin:1.25rem 0 1.75rem; border-radius:1px;
  background:linear-gradient(135deg,#C8A24A 0%, #A07F2C 100%);
}
.entry-trust-list{ list-style:none; margin:0; padding:0; }
.entry-trust-list li{
  position:relative; padding:.5rem 0 .5rem 1.75rem; font-size:.9rem; color:#CFC7B6; line-height:1.5;
}
.entry-trust-list li i{ position:absolute; left:0; top:.62rem; color:var(--thal-gold); }

/* ---- 右: メインパネル -------------------------------------------------- */
.entry-main-panel{ flex:1 1 auto; min-width:0; background:var(--thal-cream); }
.entry-main-inner{ max-width:920px; margin:0 auto; padding:2.5rem 2.25rem 4rem; }
.entry-main-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.entry-main-logo-sm{ height:26px; width:auto; display:none; } /* PCは左パネルにロゴがあるので非表示 */
.entry-page-title{
  font-size:1.5rem; font-weight:700; color:var(--thal-ink); margin:0 0 1.5rem;
  padding-bottom:.9rem; border-bottom:2px solid var(--thal-line); letter-spacing:.02em;
}
.entry-page-title:after{ content:""; }

/* 旧レイアウト残骸の無効化(念のため) */
.thal-entry-body #wrap>header.header,
.thal-entry-body #sub-header{ display:none !important; }

/* ---- コンテンツ幅・共通 ------------------------------------------------ */
.entry-main-panel #page{ width:100%; }
.entry-main-panel .container{ width:auto; max-width:none; padding:0; margin:0; }
.entry-main-panel .center-text{ text-align:center; line-height:1.8; color:var(--thal-text); }

/* ---- カード(フォームブロック) ----------------------------------------- */
.entry-main-panel .form-group-border{
  background:#fff; border:1px solid var(--thal-line); border-radius:12px;
  padding:1.75rem 1.75rem .5rem; margin:1.25rem 0;
  box-shadow:0 1px 2px rgba(28,26,23,.04);
}
.entry-main-panel .block, .entry-main-panel .block-content{ padding:0; }

/* 行(ラベル/入力) */
.entry-main-panel .controls .row-form,
.entry-main-panel .row-form{
  padding:.85rem 0; border-bottom:1px dashed var(--thal-line); margin:0;
}
.entry-main-panel .row-form:last-child{ border-bottom:0; }
.entry-main-panel .row-form .col-md-6:first-child{
  font-weight:600; color:var(--thal-ink); padding-top:.45rem;
}
.entry-main-panel .row-form strong{ font-weight:600; }

/* ラベルバッジ(必須/任意) */
.entry-main-panel .label-danger{ background:#B4402F; }
.entry-main-panel .label-info{ background:var(--thal-gold-dark); }
.entry-main-panel .label{ border-radius:4px; font-weight:600; padding:.2em .5em; }

/* ---- 入力コントロール ------------------------------------------------- */
.entry-main-panel .form-control{
  height:auto; padding:.62rem .8rem; font-size:.95rem; color:var(--thal-text);
  background-color:var(--thal-cream); border:1px solid var(--thal-line);
  border-radius:.375rem; box-shadow:none;
  transition:border-color .15s, background-color .15s, box-shadow .15s;
}
.entry-main-panel .form-control:focus{
  border-color:var(--thal-gold); background-color:var(--thal-cream-2);
  box-shadow:0 0 0 3px rgba(193,154,62,.18); outline:0;
}
.entry-main-panel textarea.form-control{ min-height:90px; }
/* select2 をトーンに合わせる */
.entry-main-panel .select2-container--default .select2-selection--single{
  height:auto; padding:.28rem .3rem; background:var(--thal-cream);
  border:1px solid var(--thal-line); border-radius:.375rem;
}
.entry-main-panel .select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--thal-gold);
}

/* エラー */
.entry-main-panel label.error{ color:#B4402F; font-size:.82rem; font-weight:600; margin-top:.3rem; }
.entry-main-panel .alert-danger{
  background:#f7e0e2; border:1px solid #eab7bc; color:#8a2b25; border-radius:.5rem;
}
.entry-main-panel .alert-success{
  background:#d8efdf; border:1px solid #aad8ba; color:#1f6b3b; border-radius:.5rem;
}

/* ---- ボタン ----------------------------------------------------------- */
.entry-main-panel .btn-primary,
.entry-main-panel button[type="submit"].btn-primary{
  background-color:var(--thal-ink); border-color:var(--thal-ink); color:#fff;
  border-radius:.5rem; font-weight:700; letter-spacing:.03em;
  padding:.8rem 1.2rem; transition:background-color .15s, border-color .15s;
}
.entry-main-panel .btn-primary:hover,
.entry-main-panel .btn-primary:focus{
  background-color:var(--thal-gold-dark); border-color:var(--thal-gold-dark); color:#fff;
}
.entry-main-panel .btn-primary[disabled],
.entry-main-panel .btn-primary:disabled,
.entry-main-panel .btn-primary.disabled{
  background-color:#d7d2c7 !important; border-color:#d7d2c7 !important;
  color:#f3f1ec !important; opacity:1 !important;
  cursor:not-allowed !important; box-shadow:none !important;
}
/* 有効時はホバーで少し持ち上げて「押せる」感を出す */
.entry-main-panel .btn-primary:not([disabled]):not(.disabled){ cursor:pointer; }
.entry-main-panel .btn-primary:not([disabled]):hover{ box-shadow:0 2px 6px rgba(28,26,23,.18); }
.entry-main-panel .btn-default{
  background:#fff; border:1px solid var(--thal-line); color:var(--thal-ink);
  border-radius:.5rem; font-weight:600; padding:.8rem 1.2rem;
}
.entry-main-panel .btn-default:hover{ background:var(--thal-cream); border-color:var(--thal-gold); }
.entry-main-panel .btn-lg{ font-size:1rem; }
.entry-main-panel .btn-warning{ border-radius:.4rem; font-weight:600; }

/* ---- 規約スクロール枠 ------------------------------------------------- */
.entry-main-panel .terms-wrap{ margin:1rem 0; }
.entry-main-panel .terms-wrap .terms-scroller{
  border:1px solid var(--thal-line); border-radius:10px; background:#fff;
  padding:1.1rem 1.25rem; max-height:280px; overflow-y:auto;
}
.entry-main-panel h4.form-title{ color:var(--thal-ink); font-weight:700; }

/* ---- 確認テーブル ----------------------------------------------------- */
.entry-main-panel .tbl-confirm{
  width:100%; border-collapse:separate; border-spacing:0; margin:1.25rem 0;
  background:#fff; border:1px solid var(--thal-line); border-radius:12px; overflow:hidden;
  box-shadow:0 1px 3px rgba(28,26,23,.05);
}
.entry-main-panel .tbl-confirm tr{ border:0; }
.entry-main-panel .tbl-confirm th{
  width:34%; text-align:left; vertical-align:middle; font-weight:600;
  background:var(--thal-cream); color:var(--thal-ink);
  padding:.95rem 1.25rem; border-bottom:1px solid var(--thal-line); border-right:1px solid var(--thal-line);
  box-shadow:inset 3px 0 0 var(--thal-gold);
}
.entry-main-panel .tbl-confirm td{
  vertical-align:middle; font-weight:500; font-size:.98rem; color:var(--thal-text);
  background:#fff; padding:.95rem 1.25rem; border-bottom:1px solid var(--thal-line); word-break:break-all;
}
.entry-main-panel .tbl-confirm tr:last-child th,
.entry-main-panel .tbl-confirm tr:last-child td{ border-bottom:0; }
@media (max-width: 600px){
  .entry-main-panel .tbl-confirm th{ width:38%; padding:.8rem .8rem; font-size:.88rem; }
  .entry-main-panel .tbl-confirm td{ padding:.8rem .8rem; font-size:.92rem; }
}

/* ---- ステップバー(多段) ----------------------------------------------- */
.entry-main-panel .stepBar{
  display:flex; width:100%; max-width:680px; margin:0 auto 1.75rem; padding:0;
  text-align:center;
}
.entry-main-panel .stepBar li{
  flex:1 1 0; min-width:0; list-style:none; position:relative;
  font-size:11px; color:var(--thal-muted); line-height:1.35;
}
.entry-main-panel .stepBar li:after{            /* ステップ間の接続線 */
  content:""; position:absolute; z-index:0; top:15px; left:-50%;
  width:100%; height:3px; background:var(--thal-line);
}
.entry-main-panel .stepBar li:first-child:after{ display:none; }
.entry-main-panel .stepBar li span{             /* 番号の丸 */
  position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; margin-bottom:6px; border-radius:50%;
  background:#fff; border:2px solid var(--thal-line); color:var(--thal-muted);
  font-weight:700; font-size:13px; line-height:1;
}
.entry-main-panel .stepBar .visited:after{ background:var(--thal-gold); }
.entry-main-panel .stepBar .visited span{
  background:var(--thal-gold); border-color:var(--thal-gold); color:#fff;
}
.entry-main-panel .stepBar .visited{ color:var(--thal-ink); font-weight:600; }
.entry-main-panel .step-duration,
.entry-main-panel .step-duration-active{
  display:inline-block; margin-top:5px; padding:1px 7px; border-radius:999px;
  font-size:10px; line-height:1.5; border:1px solid var(--thal-line);
  background:var(--thal-cream); color:var(--thal-muted);
}
.entry-main-panel .step-duration-active{
  background:var(--thal-gold); border-color:var(--thal-gold); color:#fff;
}
@media (max-width: 600px){
  .entry-main-panel .stepBar li{ font-size:9.5px; }
  .entry-main-panel .stepBar li span{ width:26px; height:26px; font-size:11px; }
  .entry-main-panel .stepBar li:after{ top:12px; }
  .entry-main-panel .step-duration,
  .entry-main-panel .step-duration-active{ font-size:9px; padding:0 4px; }
}

/* ---- 見出し・要約 ----------------------------------------------------- */
.entry-main-panel h3{ color:var(--thal-ink); font-weight:700; }
.entry-main-panel .panel-heading{ background:var(--thal-cream); color:var(--thal-ink); }

/* ---- カスタムチェック(同意する) 青→Thalassa配色。✔にはbackgroundを付けない --- */
.entry-main-panel .ex-checkbox + label.ex-checkbox-lbl{ border-color:var(--thal-gold-dark); color:var(--thal-gold-dark); }
.entry-main-panel .ex-checkbox + label.ex-checkbox-lbl:before{ border-color:var(--thal-gold-dark); background:#fff; }
.entry-main-panel .ex-checkbox + label.ex-checkbox-lbl:after{ color:var(--thal-gold-dark); background:transparent; }
.entry-main-panel .ex-checkbox:checked + label.ex-checkbox-lbl{ background-color:var(--thal-gold); border-color:var(--thal-gold); color:#fff; }
.entry-main-panel .ex-checkbox:checked + label.ex-checkbox-lbl:before{ border-color:#fff; background:transparent; }
.entry-main-panel .ex-checkbox:checked + label.ex-checkbox-lbl:after{ color:#fff; background:transparent; }
.entry-main-panel .ex-checkbox:disabled + label.ex-checkbox-lbl{ border-color:#d7d2c7; color:#b7b1a5; }
.entry-main-panel .ex-checkbox:disabled + label.ex-checkbox-lbl:before{ border-color:#d7d2c7; }
/* ---- カスタムラジオ: ドットをゴールドに(こちらは塗り) --------------------- */
.entry-main-panel .xl-radio:checked + label.xl-radio-lbl:before{ border-color:var(--thal-gold); }
.entry-main-panel .xl-radio:checked + label.xl-radio-lbl:after{ background:var(--thal-gold); }

/* ---- 申込みに必要な書類 注記ボックス ---------------------------------- */
.entry-main-panel .entry-doc-note{
  background:#FDF1DD; border:1px solid #E7C88A; border-left:5px solid var(--thal-gold);
  border-radius:10px; padding:1.1rem 1.25rem; margin:1.25rem 0 0; font-size:.92rem; line-height:1.8; color:#5a4a25;
}
.entry-main-panel .entry-doc-note-title{
  font-weight:700; color:var(--thal-gold-dark); margin-bottom:.5rem; font-size:1rem;
}
.entry-main-panel .entry-doc-note-title:before{ content:"\f06a"; font-family:FontAwesome; margin-right:.45rem; }

/* ---- 一時中断ボタン --------------------------------------------------- */
#btn-entry-stop.entry-suspend-btn{
  background:#fff; color:var(--thal-gold-dark); border:1px solid var(--thal-gold);
  border-radius:999px; font-weight:600; font-size:12px; padding:5px 14px; box-shadow:none;
  position:static;
}
#btn-entry-stop.entry-suspend-btn:hover{ background:var(--thal-gold); color:#fff; border-color:var(--thal-gold); }

/* ---- 一時中断モーダル(Thalassa) ※body直下に描画されるため非スコープ ------ */
.thal-modal .modal-content{ border:0; border-radius:14px; overflow:hidden; box-shadow:0 20px 55px rgba(28,26,23,.28); }
.thal-modal .modal-header{ background:var(--thal-ink); border:0; padding:1.05rem 1.35rem; position:relative; }
.thal-modal .modal-header:after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(135deg,#C8A24A 0%, #A07F2C 100%); }
.thal-modal .modal-title{ color:#fff; font-weight:700; font-size:1.05rem; letter-spacing:.02em; }
.thal-modal .modal-title i{ color:var(--thal-gold); margin-right:.4rem; }
.thal-modal .modal-header .close{ color:#fff; opacity:.75; text-shadow:none; font-size:1.5rem; margin-top:-2px; }
.thal-modal .modal-header .close:hover{ opacity:1; }
.thal-modal .modal-body{ padding:1.5rem 1.35rem; background:#fff; }
.thal-modal .thal-modal-lead{ font-weight:700; color:var(--thal-ink); margin:0 0 1rem; }
.thal-modal .thal-resume .form-control{
  background:var(--thal-cream); border:1px solid var(--thal-line); border-right:0;
  border-radius:.5rem 0 0 .5rem; height:auto; padding:.62rem .8rem; box-shadow:none; color:var(--thal-text);
}
.thal-modal .thal-resume-btn{
  background:var(--thal-ink); color:#fff; border:1px solid var(--thal-ink);
  border-radius:0 .5rem .5rem 0; font-weight:600; padding:.62rem 1.1rem; white-space:nowrap;
}
.thal-modal .thal-resume-btn:hover{ background:var(--thal-gold-dark); border-color:var(--thal-gold-dark); color:#fff; }
.thal-modal .thal-resume-sent{ color:#1f7a44; font-weight:700; padding:.6rem 0 0; }
.thal-modal .thal-modal-note{
  margin-top:1.35rem; padding:.9rem 1.05rem; background:#FBEDEC; border:1px solid #E7BFBB;
  border-radius:8px; color:#8a3b34; font-size:.88rem; line-height:1.75;
}
.thal-modal .thal-modal-note strong{ color:#B4402F; font-weight:700; }
.thal-modal .modal-footer{ border-top:1px solid var(--thal-line); padding:.9rem 1.35rem; }
.thal-modal .modal-footer .btn-default{
  background:#fff; border:1px solid var(--thal-line); color:var(--thal-ink);
  border-radius:.5rem; font-weight:600; padding:.55rem 1.5rem;
}
.thal-modal .modal-footer .btn-default:hover{ background:var(--thal-cream); border-color:var(--thal-gold); }

/* ---- レスポンシブ ----------------------------------------------------- */
@media (max-width: 1100px){
  .entry-brand-panel{ flex-basis:280px; max-width:280px; }
}
@media (max-width: 860px){
  .entry-split{ flex-direction:column; }
  .entry-brand-panel{ flex:none; max-width:none; }
  .entry-brand-inner{ position:static; padding:1.5rem 1.25rem; }
  .entry-brand-lead{ font-size:1.2rem; margin-top:1rem; }
  .entry-trust-list{ display:none; }
  .entry-main-inner{ padding:1.5rem 1.1rem 3rem; }
  .entry-main-logo-sm{ display:none; }
}
