@charset "UTF-8";
/* ============================================================
   エステ鶴 セルフエステ 予約システム デザイン刷新 v1
   くすみピンク × ゴールド / 上品・華やか
   base.css の後に読み込み、既存クラスを上書きする
   ============================================================ */
:root{
  --pink:#B98AA0;
  --pink-d:#9C6E86;
  --pink-l:#FBF3F5;
  --gold:#C9A96A;
  --bg1:#FAF4F2;
  --bg2:#F3E7E4;
  --card:#ffffff;
  --text:#4E453F;
  --line:#EDE1DC;
}

body{
  font-family:'Noto Sans JP',"Hiragino Kaku Gothic ProN","メイリオ",sans-serif !important;
  background:linear-gradient(165deg,var(--bg1) 0%,var(--bg2) 100%) !important;
  background-attachment:fixed !important;
  color:var(--text) !important;
  margin:0 !important;
  padding:28px 14px 60px !important;
  min-height:100vh;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-align:center;
}

/* ---------- 見出し ---------- */
div.min_font, .min_font{
  font-size:20px !important;
  font-weight:700 !important;
  color:var(--pink-d) !important;
  letter-spacing:.06em;
  text-align:center;
  margin:6px auto 22px !important;
  position:relative;
}
div.min_font::after{
  content:"";
  display:block;
  width:48px; height:3px;
  margin:12px auto 0;
  border-radius:2px;
  background:linear-gradient(90deg,var(--pink),var(--gold));
}

/* ---------- カード化（フォーム/情報テーブル） ---------- */
table.tb, table.tb_no_border, table.tb_kiyaku{
  background:var(--card) !important;
  width:100% !important;
  max-width:460px !important;
  margin:18px auto !important;
  border:none !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:18px !important;
  box-shadow:0 12px 34px rgba(156,110,134,.14) !important;
  overflow:hidden;
  text-align:left;
}
td.tb, td.tb2, td.tb2_gray, td.tb_no_border, td.tb_no_border2, td.tb_kiyaku{
  border:none !important;
  border-bottom:1px solid var(--line) !important;
  padding:15px 20px !important;
  background:transparent !important;
  font-size:15px !important;
  color:var(--text) !important;
  vertical-align:middle;
  width:auto !important;
}
td.tb{
  color:var(--pink-d) !important;
  font-weight:500 !important;
  background:var(--pink-l) !important;
  white-space:nowrap;
}
tr:last-child td{ border-bottom:none !important; }

/* ---------- 入力欄 ---------- */
input[type=text],input[type=email],input[type=password],
input[type=tel],input[type=number],input[type=date],select,textarea{
  width:100% !important;
  box-sizing:border-box;
  padding:12px 14px !important;
  border:1.5px solid var(--line) !important;
  border-radius:11px !important;
  font-size:15px !important;
  font-family:inherit !important;
  background:#fff !important;
  color:var(--text) !important;
  transition:.2s;
}
input:focus,select:focus,textarea:focus{
  outline:none !important;
  border-color:var(--pink) !important;
  box-shadow:0 0 0 3px rgba(185,138,160,.16) !important;
}
::placeholder{ color:#c9bcb5; }

/* ---------- ボタン ---------- */
.button, .button_link, input.button,
input[type=submit], input[type=button], button.button, button[type=submit]{
  display:inline-block !important;
  padding:14px 40px !important;
  margin:8px 6px !important;
  border:none !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--pink) 0%,var(--gold) 100%) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.06em;
  cursor:pointer !important;
  box-shadow:0 7px 20px rgba(185,138,160,.36) !important;
  transition:.22s !important;
  text-decoration:none !important;
  -webkit-appearance:none;
}
.button:hover, input.button:hover, input[type=submit]:hover, button.button:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 26px rgba(185,138,160,.48) !important;
  filter:brightness(1.03);
}
.button_green{ background:linear-gradient(135deg,#93C1A2,#6FA383) !important; box-shadow:0 7px 20px rgba(111,163,131,.35) !important;}
.button_orange{ background:linear-gradient(135deg,#EABF83,#D89A50) !important; box-shadow:0 7px 20px rgba(216,154,80,.35) !important;}

/* ---------- テキスト・リンク・その他 ---------- */
a{ color:var(--pink-d); text-decoration:none; }
a:hover{ text-decoration:underline; }
font.error, .error{ color:#d1607e !important; font-weight:500; }
center{ display:block; }
form{ margin:0 !important; }

/* ---------- ログイン画面（mypage/index.php の table.login）も白カードに ---------- */
table.login{
  background:var(--card) !important;
  width:100% !important;
  max-width:420px !important;
  margin:18px auto !important;
  border:none !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:18px !important;
  box-shadow:0 12px 34px rgba(156,110,134,.14) !important;
  overflow:hidden;
}
td.login, td.login2{
  border:none !important;
  border-bottom:1px solid var(--line) !important;
  padding:15px 20px !important;
  font-size:15px !important;
  color:var(--text) !important;
  background:transparent !important;
}
td.login{
  color:var(--pink-d) !important;
  font-weight:500 !important;
  background:var(--pink-l) !important;
  white-space:nowrap;
}
table.login tr:last-child td{ border-bottom:none !important; }

/* ---------- レスポンシブ ---------- */
@media(max-width:480px){
  body{ padding:18px 10px 48px !important; }
  table.tb, table.tb_no_border, table.login{ max-width:100% !important; }
  td.tb{ white-space:normal; }
  .button, input[type=submit]{ padding:13px 30px !important; width:auto; }
}
