
.header2-container {
	display: block;
	height: 25vh;
	animation: logo 1s ease 1;
	background-image: url("https://cdn2-caskan.com/caskan/img/shop_logo/1168_logo_1685345413.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.header-nav li {
	display: table-cell;
	width: 12%;
	text-align: center;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {


	.header-nav li {
		width: 25%;
	}
}

:root{
  /* 背景画像 */
  --bg-pc: url("https://cdn2-caskan.com/caskan/shop_image/11681757445811.jpg"); /* PC */
  --bg-sp: var(--bg-pc); /* SP*/

  /* 背景のヴェール濃度 */
  --overlay-opacity: .35;

  /* パレット */
  --text:       #2E2A28;   /* Charcoal */
  --muted:      #9C9189;
  --brand-deep: #3D0A12;   /* Cardinal Deep */
  --brand-mid:  #7A1220;   /* Cardinal */
  --gold:       #C7A45B;   /* Champagne Gold */
  --ivory:      #F7F4EF; 
  --champagne:  #E8DCCB;

  --border-weak: rgba(255,255,255,.65);

--panel-news-img: url("https://cdn2-caskan.com/caskan/shop_image/11681757452671.jpg");
--panel-overlay: rgba(61,10,18,.60); /*0.40〜0.60で調整 */
}

/* ベース */
body{
  position: relative;
  color: var(--text);
  /* 既存の赤×黒グラデを無効化 */
  background: none !important;
}
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(
      rgba(247,244,239,var(--overlay-opacity)),
      rgba(247,244,239,var(--overlay-opacity))
    ),
    var(--bg-pc) center/cover no-repeat;
}
@media (max-width: 820px){
  body::before{
    background:
      linear-gradient(
        rgba(247,244,239,var(--overlay-opacity)),
        rgba(247,244,239,var(--overlay-opacity))
      ),
      var(--bg-sp) center/cover no-repeat;
  }
}

/* ベースのリンク＆サブテキスト */
a, a:link, a:visited, a:hover { color: var(--text); }
.text-muted { color: var(--muted); }

/* 見出し */
.h1 { color: var(--gold); z-index:-100; }
.subject01 .subject01-en,
.subject01 .subject01-jp { color: var(--gold); }


/* ヘッダー背景 */
.header-nav-wrapper{
  background:
    linear-gradient(180deg, rgba(61,10,18,.55), rgba(0,0,0,.10)),
    url(https://cdn2-caskan.com/caskan/shops/dspa/dspa_header_bg2.jpeg) center/cover no-repeat !important;
}

/* グランドメニュー */
.nav-wrapper{
  background: linear-gradient(135deg, var(--brand-mid), var(--brand-deep)) !important;
  border-bottom: 1px solid rgba(199,164,91,.35);
}
.header-nav li a,
.header-nav li a:hover { color:#FFF !important; }

/* パネル */
.parts-panel{
  background: linear-gradient(135deg, var(--brand-mid), var(--brand-deep)) !important;
  color:#FFF !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
/* パネル内：リンク＆見出し */
.body-container .parts-panel a{ color:#C7A45B !important; }
.parts-panel .subject01 .subject01-en,
.parts-panel .subject01 .subject01-jp{ color:#C7A45B !important; }


/* ボタン */
/* --- Slim Glossy Gold (square-ish) --- */
.btn-primary,
a.btn-primary:link,
a.btn-primary:visited,
a.btn-primary:active,
a.btn-primary:focus{
  --gold-mid: var(--gold); 
  --gold-hi:  #F3E6B2;      /* ハイライト側 */
  --gold-lo:  #7A5A1E;      /* 影側 */
  --gold-br:  rgba(199,164,91,.95);

  display:inline-block;
  padding:.58rem 1.2rem;         /* 細め */
  border-radius:15px;            /* 角 */
  border:1px solid var(--gold-br);
  color:#F7F4EF !important;
  text-decoration:none;
  letter-spacing:.02em;
  font-weight:700;
  position:relative;
  overflow:hidden;

  /* 縦グラデ */
  background: linear-gradient(
    180deg,
    var(--gold-hi) 0%,
    var(--gold-mid) 32%,
    var(--gold-lo) 100%
  ) !important;

  /* 立体 */
  box-shadow:
    0 6px 18px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.28) inset, /* 上 */
    0 -1px 0 rgba(0,0,0,.18) inset,      /* 下 */
    0 0 0 1px rgba(255,255,255,.08) inset;
}

/* 上面の広い艶 */
.btn-primary::before{
  content:"";
  position:absolute;
  left:2px; right:2px; top:2px; bottom:42%; /* 上60光 */
  border-radius:10px;
  background: linear-gradient(to bottom,
    rgba(255,255,255,.55),
    rgba(255,255,255,.12)
  );
  pointer-events:none;
}

/* 斜細グリント */
.btn-primary::after{
  content:"";
  position:absolute;
  inset:12% 14% 58% 14%;
  border-radius:10px;
  transform: skewY(-10deg);
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.60) 40%,
    rgba(255,255,255,0) 72%
  );
  opacity:.85;
  pointer-events:none;
}


/* スケジュール */
.tbl-cast-schedule thead th,
.tbl-cast-schedule thead th.today{
  background: var(--brand-deep) !important;
  color:#FFF !important;
  border-color: rgba(199,164,91,.35) !important;
}
.tbl-cast-schedule thead th.today{ background:none !important; }
.tbl-cast-schedule thead th.today a{
  color:#FFF !important;
  background: rgba(61,10,18,.72);
  font-weight:700;
}

/* フッター */
.footer-wrapper{
  background: linear-gradient(135deg, rgba(61,10,18,.94), rgba(28,6,9,.94)) !important;
  border-top: 1px solid rgba(199,164,91,.35);
}
.footer-menus a,
.panel-footer-menu a{ color:#FFF !important; }
.panel-footer-menu{
  border: 1px solid var(--border-weak);
  border-radius: 10px;
}
.footer-menu-table td{
  border-bottom: 1px solid var(--border-weak);
  color: var(--champagne);
}

/* サイド/固定リンク */
.side-menu-link,
.link-page-up,
.fixed-menu,
.side-menu-block{
  color:#FFF;
  background: linear-gradient(135deg, var(--brand-mid), var(--brand-deep)) !important;
  border: 1px solid rgba(199,164,91,.30);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.side-menu-block{ background: linear-gradient(135deg, var(--brand-mid), var(--brand-mid)) !important; }
.side-menu-link a, .link-page-up a, .fixed-menu a, .side-menu-block a{ color:#FFF !important; }
.side-menu-list li a:hover { color: var(--champagne) !important; }

/* 既存要素のボーダー色を統一 */
.nav-wrapper,
.parts-panel,
.tbl-calendar td,
.tbl-cast-schedule thead th,
.side-menu-list li a ,
.parts-room-list dt,
.parts-price-table td,
.parts-panel .panel-default,
.parts-panel .table>tbody>tr>th,
.parts-panel .table>tbody>tr>td,
.parts-recruit-table th,
.parts-recruit-table td{
  border-color: var(--border-weak) !important;
}
.parts-news-list > li, .parts-article-datas > li{
  border-bottom: 1px solid var(--border-weak) !important;
}


.therapist-datas-each{
  background: linear-gradient(135deg, #FFFFFF 0%, #F5EFE6 100%) !important; 
  border: none !important;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
  color: var(--text) !important;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
  padding-bottom: 30px; 
}
.therapist-datas, .therapist-datas a{ color:#3A2F30 !important; }
.therapist-datas-each:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}


/* グリント */
.therapist-datas-each::after{
  content:"";
  position:absolute; top:-50%; left:-50%;
  width:200%; height:200%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 45%,
    rgba(255,255,255,.75) 50%,
    rgba(255,255,255,0) 55%
  );
  transform: rotate(25deg);
  opacity:0; transition: opacity .6s ease;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .therapist-datas-each:hover::after{
    opacity:1; animation: shine .9s forwards;
  }
}
@keyframes shine{
  from{ transform: translateX(-150%) rotate(25deg); }
  to  { transform: translateX(150%)  rotate(25deg); }
}


@media (max-width: 768px){
  .h1{ font-size: 0; } /* 既存の巨大H1を抑制 */
}

/* ===== 画像背景 ===== */
.body-container .parts-panel:nth-of-type(1){
  background:
    linear-gradient(var(--panel-overlay), var(--panel-overlay)),
    var(--panel-news-img) center/cover no-repeat !important;
}

/* SP */
@media (max-width:820px){
  :root{ --panel-overlay: rgba(61,10,18,.56); }
}

a,
a:link,
a:visited,
a:hover,
a:active {
  color: #FFF !important;
}

.therapist-datas-each a {
  color: var(--brand-mid) !important;
}