@charset "utf-8";
.no-gutter > [class*='col-'] {
	padding-right: 0;
	padding-left: 0;
}
.bg-lightgreen {
	background-color: #e6ede9;
}
.jumbotron {
	background-image: url('../img/top-image.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	/*height: 600px;*/
	height: 400px;
}


	
@media screen and (max-width: 767px){
  .jumbotron{
	background-image: url('../img/top-image-s.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 400px;
  }
}


/* トップの大きい画像エリア（PC用）の調整 */
.jumbotron .container {
  position: relative;   /* この中を基準に絶対配置する */
  height: 400px;        /* すでに .jumbotron と同じ高さなので揃えておく */
}

/* PC用スライダーを右下に配置（元レイアウトに戻す） */
.jumbotron .pc .card {
  position: absolute;
  right: 0;        /* 右端にくっつける */
  bottom: 0;       /* 下端にくっつける */
  width: 40%;      /* 横幅。大きさはお好みで 35〜45% くらいで調整 */
  margin: 0;
}

/* モバイル用スライダーの配置を決める */
@media screen and (max-width: 767px){
  .jumbotron .sp .card {
    position: absolute;
    bottom: 80px; /* ← 好きな数値に調整できる */
    right: 10;
    width: 95%; /* ← 元のレイアウトに近いやつ。必要なら変更可 */
  }
}



/* 女の子一覧のページの最初のメッセージ画像用 */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


/* サービス料金のページでのリストマーカーと文章の表示 */

.shop-srv1 {
color: #990000;
font-weight: bold;
display: inline-block;
font-size: large;
}


/* サービス料金のページでのリストマーカーと文章の表示 */

.topic-moji1 {
color: #FF66FF;
font-weight: bold;
display: inline-block;
font-size: large;
}


/* ゴルフ場名の表示 */

.topic-golf-c1 {
font-family: 'Vollkorn', serif;
color: #FF66FF;
font-weight: bold;
display: inline-block;
font-size: large;
}

.topic-golf-c2 {
font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体";
color: #000000;
font-weight: bold;
display: inline-block;
}

.topic-box-loat {
 float: left;
}


/* 画像の並びをPCとスマホで変えるための記述 ここから */

    .pic_frame {
      display: inline-block;
      text-align: center;
    }

.girl-pic {
	width: 30%;
}

@media screen and (max-width: 767px){
  .girl-pic{
	width: 49%;
	display: inline-block;
	white-space: nowrap;
  }
}



/* 女の子一覧レイアウト */
/* 
.container.bg-light{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
*/

.girl-list.container.bg-light{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.girl-item,
.girl-fng-item{
  flex:0 0 calc(33.333% - 10px);
  font-size:90%;
}

@media (max-width:767px){

.girl-item,
.girl-fng-item{
  flex:0 0 calc(50% - 10px);
}

}




.girl2-item {
  float: left;
  width: 24%;
  /*margin-bottom: 1em;*/
  margin: 0.2em;
  margin-bottom: 0.5em;
  font-size: 90%
}

@media screen and (max-width: 767px){
  .girl2-item{
  float: left;
  width: 48%;
  margin: 0.2em;
  margin-bottom: 0.5em;
  font-size: 90%
  }
}



.booking-sm {
	width: auto;
}

@media screen and (max-width: 767px){
  .booking-sm{
        float: left;
	width: 50%;
	/*display: inline-block;*/
	/*white-space: nowrap;*/
  }
}


body.font-tztw{
  font-family: "Roboto";
}

body.font-cn{
  font-family: "Roboto";
}

body.font-kr{
  font-family: 'Segoe UI',SegoeUI,'Malgun Gothic',Gulim,"Helvetica Neue",Helvetica,Arial,sans-serif;
}


/* 画像の並びをPCとスマホで変えるための記述 ここから */

.faq-pic {
	width: 49%;
	display: inline-block;
}

@media screen and (max-width: 767px){
  .faq-pic{
	width: 100%;
	display: inline-block;
	white-space: nowrap;
  }
}



/* 画像の並びをPCとスマホで変えるための記述 ここまで */


a:hover img{
   opacity: 0.5;
}


.heading {
	border-left: 6px solid #aaa;
	padding: 0 0 0 10px;
}
.heading-topic {
	border-left: 6px solid #FF00FF;
	padding: 0 0 0 10px;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: ">"
}
.footer-copyright {
	width: 100%;
	height: 60px;
	line-height: 60px;
	background-color: #f5f5f5;
}
.footer-info {
	width: 100%;
	height: auto;
	line-height: auto;
	background-color: #f5f5f5;
}
.map iframe {
	width: 100%;
	height: 450px;
}


/* ===== 旧ナビ用CSS（Bootstrapのnavbarと競合するので無効化）=====
nav{
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 1em;
}
nav ul{
    display: none;
}
nav li{
    border-top: solid 1px #c2c2c2;
    border-bottom: solid 1px #c2c2c2;
}
nav a{
    color: #FFF;
    display: block;
    padding: 0.3em;
}
nav .active a{
    border-bottom: 2px solid transparent;
    border-color: #FF99FF;
    padding-bottom: 4px;
}
nav a:hover{
    border-bottom: 2px solid transparent;
    border-color: #fff;
    color: #C0C0C0;
    padding-bottom: 4px;
}
===== ここまで ===== */


/* ===== 旧ナビ用CSS（Bootstrapのnavbarと競合するので無効化）=====
kr-nav{
    font-family: 'Segoe UI',SegoeUI,'Malgun Gothic',Gulim,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 300;
    font-size: 1em;
}
kr-nav ul{
    display: none;
}
kr-nav li{
    border-top: solid 1px #c2c2c2;
    border-bottom: solid 1px #c2c2c2;
}
kr-nav a{
    color: #FFF;
    display: block;
    padding: 0.3em;
}
kr-nav .active a{
    border-bottom: 2px solid transparent;
    border-color: #FF99FF;
    padding-bottom: 4px;
}
kr-nav a:hover{
    border-bottom: 2px solid transparent;
    border-color: #fff;
    color: #C0C0C0;
    padding-bottom: 4px;
}
===== ここまで ===== */



/* ==== 共通ナビ（日本語・韓国語どちらも）==== */
.navbar-nav {
  border-top: 1px solid rgba(255,255,255,0.4);   /* 上の白ライン */
  border-bottom: 1px solid rgba(255,255,255,0.4);/* 下の白ライン */
  padding: 0 .5rem;
}

.navbar-nav .nav-link {
  color: #FFF;
  padding: .3em .6em;
}

.navbar-nav .nav-link:hover {
  color: #C0C0C0;
}

/* アクティブページの下線（必要なら） */
.navbar-nav .nav-item.active .nav-link {
  border-bottom: 2px solid #FF99FF;
}


body.font-kr{
  font-family: 'Segoe UI',SegoeUI,'Malgun Gothic',Gulim,"Helvetica Neue",Helvetica,Arial,sans-serif;
}


/* パンくずリストの余白幅 */
/* --- breadcrumb restore for Bootstrap5 --- */
.breadcrumb {
  padding-top: .75rem;
  padding-bottom: .75rem;
  margin-bottom: .5rem; /* optional */
}
.breadcrumb-item > a {
  color: #007bff;
}

@media (max-width: 768px) {
  nav[aria-label="breadcrumb"] {
    display: none;
  }
}

/* パンくずリストのリンクから下線を消す */
.breadcrumb-item > a {
  text-decoration: none;
}

.breadcrumb-item > a:hover {
  text-decoration: none;  /* ホバー時も付けたくなければこれも */
}

/* メニューの文言と矢印の幅を調整 */
aside .nav-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none !important;
  padding: 0.8rem 0.5rem;
}

/* メニューの文言の上下の空白幅を調整 */
aside .nav-link {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* モバイル時だけタップ領域を拡大 */
@media (max-width: 576px) {
  .navbar-nav .nav-link {
    padding: 1.0rem 0;     /* 上下余白 */
    font-size: 1.05rem;    /* 旧UIに合わせ少し大きめ */
  }
}

@media (max-width: 576px) {
  .mobile-lang-menu {
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
  }
}

/* ===== リスト（地図説明などで使用） ===== */
.fancy-list {
  list-style: none;         /* 標準の黒丸を消す */
  padding-left: 1.5rem;     /* 全体のインデント */
  margin: 0;
}

.fancy-list li {
  position: relative;
  margin: 0.25rem 0 0.25rem 0;  /* 行間の調整 */
}

/* ブレット（縁だけの丸） */
.fancy-list li::before {
  content: "";
  position: absolute;
  left: -1rem;              /* 文字より少し左に出す */
  top: 0.6em;               /* 縦位置を文字の中段くらいに */
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  border: 2px solid #FF99FF; /* 101でよく使ってるピンク系 */
}


/* 大デバイス（デスクトップ, 992px 未満）
============================================== */
@media screen and (max-width: 991.98px) {
.footer-logo {
	width: 100%;
}
} /* END */

/* 中デバイス（タブレット, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {
.gnav-item {
	display: block;
	width: 100%;
	border: none;
}
.gnav-item+ .gnav-item {
	border: none;
}
table th, table td {
	padding: .25rem !important;
}
table th:first-child {
	width: 25%;
}
} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上 デスクトップ, 992px 未満）
============================================== */
@media screen and (min-width: 576px) and (max-width: 991.98px) {
 #sec2  {
     height: 500px;
 } 
} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上）
============================================== */
@media screen and (min-width: 576px) {
 #sec2 .message {
    position: absolute;
     left: 0;
 }  
} /* END */

.slider img {
  display: block;
  width: 100%;
  height: auto;
} /* END */

.container { max-width: 1140px; }

.navbar-nav .nav-link {
  padding: .3rem .7rem;  /* 余白は少しだけ */
  white-space: nowrap;   /* ←ここが”折り返し禁止” */
}

/* 予約画面の表示を消す
============================================== */
.form-block {
  display: none;
}


#lady2-wrap,
#lady3-wrap,
#roomcount-wrap,
#room2-wrap,
#room3-wrap,
#massage2-wrap,
#massage3-wrap,
#foamy-wrap,
#foamy2-wrap,
#foamy3-wrap {
  display: none;
}



/* 通常マッサージ料金表
============================================== */

.price-table-wrapper {
  max-width: 74%;
  margin: 40px auto;
  padding: 0 16px;
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.price-table thead th {
  font-weight: 600;
  text-align: left;
  padding: 3px 1px;
  border-bottom: 2px solid #222;
  letter-spacing: 0.05em;
}

.price-table td {
  padding: 1px 3px;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: middle;
}

.room-row td {
  padding-top: 2px;
}

.room-name {
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
}

.price {
  color: #d40000;
  font-weight: 700;
  letter-spacing: 0.03em;
}

@media (max-width: 768px) {
  .price-table thead {
    display: none;
  }

  .price-table,
  .price-table tbody,
  .price-table tr,
  .price-table td {
    display: block;
    width: 100%;
  }

  .price-table tr {
    margin-bottom: 24px;
    border-bottom: 2px solid #eee;
  }

  .price-table td {
    border: none;
    padding: 8px 0;
  }

  .room-name {
    margin-bottom: 8px;
  }
}


/* アレキサンダー遊び料金表
============================================== */
/* ==========================================
   Alexander Price Table（完全整理版）
========================================== */

.alex-rate{
  max-width: 66%;
  margin: 40px auto;
  padding: 0 10px;
  color:#111;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* タイトル */
.alex-title{
  font-size:1.35rem;
  font-weight:600;
  margin:0 0 6px;
}

.alex-sub{
  margin:0 0 18px;
  font-size:.95rem;
  color:#444;
}

/* テーブル本体 */
.alex-row{
  display:grid;
  grid-template-columns: 18% 66% 16%;
  align-items:center;
  padding:8px 0;
  position:relative;
}

/* ヘッダー */
.alex-head{
  font-weight:600;
  border-bottom:2px solid #111; /* ←ここだけ太線 */
  padding:10px 0;
}

/* ====== 線のロジック ====== */

/* main行の下に「サービス列から」1px線 */
.alex-row.main::after{
  content:"";
  position:absolute;
  left:20%;
  right:0;
  bottom:0;
  height:1px;
  background:#d9d9d9;
}

/* sub行の下にフル幅1px線 */
.alex-row.sub{
  border-bottom:1px solid #d9d9d9;
}

/* ====== 列スタイル ====== */

.alex-col{
  line-height:1.25;
  padding-right:14px;
}

.alex-col.guests{
  font-weight:600;
  white-space:nowrap;
}

.alex-col.guests span{
  font-weight:400;
  color:#666;
  font-size:.9rem;
}

.alex-col.service{
  white-space:nowrap;
}

.alex-col.service small{
  color:#555;
  font-size:.9rem;
}

.alex-col.price{
  justify-self:end;
  text-align:right;
  white-space:nowrap;
  font-weight:700;
  color:#111;   /* 価格タイトルは黒 */
}

.alex-row:not(.alex-head) .alex-col.price{
  color:#c40000;   /* 価格だけ赤 */
}

/* 空欄セル */
.alex-col.empty{
  visibility:hidden;
}

/* 注釈 */
.alex-note{
  margin-top:14px;
  font-size:.9rem;
  color:#333;
  line-height:1.45;
}

/* EN専用調整 */
html[lang="en"] .alex-row{
  grid-template-columns: 28% 47% 25%;
}

/* SP */
@media(max-width:768px){
  .alex-rate{ max-width:92%; }

  .alex-row{
    grid-template-columns:1fr;
    row-gap:6px;
    padding:12px 0;
  }

  .alex-col.service{ white-space:normal; }
  .alex-col.price{ text-align:left; }
}



.main-title {
  font-size: 1.5rem;   /* ← 今のh4くらい */
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.subtitle {
  font-size: 0.9rem;   /* ← 今のh6くらい */
  margin-bottom: 1rem;
}

.text-gold {
  color: #b8a535;
}

.text-red {
  color: #d3373b;
}



/* ==========================================
   3P Additional Rate Block
========================================== */

.threep-rate-box{
  max-width: 720px;
  margin: 40px auto;
  padding: 0 15px;
  text-align: center;
}

.threep-title{
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: .05em;
}

.threep-card{
  background: linear-gradient(135deg,#ffe3f0,#fff);
  border: 1px solid #f1c6d6;
  padding: 25px 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.threep-item{
  margin-bottom: 18px;
}

.threep-item:last-child{
  margin-bottom: 0;
}

.threep-label{
  font-weight: 600;
  font-size: 1.05rem;
  margin-bottom: 4px;
}

.threep-price{
  font-size: 1.8rem;
  font-weight: 700;
  color: #c40000;
  letter-spacing: .03em;
}

.threep-note{
  font-size: .9rem;
  color: #555;
}

.threep-conditions{
  margin-top: 20px;
  font-size: .9rem;
  color:#333;
  line-height:1.5;
}


/* ==========================================
   Delivery Service Rate Block
========================================== */

.delivery-rate-box{
  max-width: 720px;
  margin: 40px auto;
  padding: 0 15px;
  text-align: center;
}

.delivery-title{
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: .05em;
}

.delivery-card{
  background: linear-gradient(135deg,#ffe3f0,#fff);
  border: 1px solid #f1c6d6;
  padding: 25px 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.delivery-item{
  margin-bottom: 18px;
}

.delivery-item:last-child{
  margin-bottom: 0;
}

.delivery-label{
  font-weight: 600;
  font-size: 1.05rem;
  margin-bottom: 4px;
}

.delivery-price{
  font-size: 1.8rem;
  font-weight: 700;
  color: #c40000;
  letter-spacing: .03em;
}

.delivery-note{
  font-size: .9rem;
  color: #555;
}

.delivery-conditions{
  margin-top: 20px;
  font-size: .9rem;
  color:#333;
  line-height:1.5;
}



/* ==========================================
   Outcall Area Notice
========================================== */

.outcall-area-notice{
  max-width: 720px;
  margin: 30px auto;
  padding: 0 15px;
}

.notice-inner{
  background: #f8fbff;
  border: 2px solid #d40000;
  padding: 22px 20px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.notice-line1{
  font-size: 1rem;
  font-weight: 600;
  color: #1b3c88;
  margin-bottom: 10px;
}

.notice-line2{
  font-size: 1.1rem;
  font-weight: 700;
  color: #d40000;
  margin-bottom: 8px;
}

.notice-line3{
  font-size: 0.9rem;
  color: #444;
}


/* ==========================================
   ボタンの色とフォント
========================================== */

.btn-danger{
background-color:#d62c2c;
border-color:#d62c2c;
font-weight:600;
padding:12px 28px;
}





/* ==========================================
   price page quick navigation
========================================== */

.rate-nav{
display:flex;
gap:10px;
margin:12px 0 18px 0;
}

.rate-nav a{
flex:1;
text-align:center;
text-decoration:none;
font-weight:600;
font-size:14px;
padding:10px 8px;
border-radius:8px;
background:#ffe6f1;
color:#cc0066;
border:1px solid #ffd2e6;
transition:all .2s ease;
}

.rate-nav a:hover{
background:#ffd6ea;
color:#99004d;
}



/* ==========================================
   Booking Bottom
========================================== */
.booking-btn-wrap{
display:flex;
justify-content:center;
gap:30px;
}

.booking-btn{
width:280px;
height:64px;
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
font-weight:bold;
}

@media (max-width:768px){

.booking-btn-wrap{
flex-direction:column;
align-items:center;
gap:20px;
}

.booking-btn{
width:85%;
height:60px;
font-size:16px;
}

}




/* =========================================
   Recruit Section
   ========================================= */

.recruit-apply{
position:relative;
width:100%;
min-height:650px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

/* 背景画像 */

.recruit-bg{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0;
}

.recruit-bg img{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
object-fit:cover;
object-position:center;
display:block;
}

/* 黒オーバーレイ */

.recruit-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.55);
z-index:1;
}

/* コンテンツ */

.recruit-content{
position:relative;
z-index:2;
max-width:700px;
padding:0 20px;
margin:auto;
color:#ffffff;
}

/* 見出し */

.recruit-content h2{
font-size:48px;
font-weight:700;
margin-bottom:20px;
color:#ffffff;
text-shadow:0 2px 10px rgba(0,0,0,0.4);
}

/* テキスト */

.recruit-content p{
font-size:20px;
line-height:1.8;
color:#ffffff;
text-shadow:0 2px 8px rgba(0,0,0,0.35);
}

/* LINEボタン */

.recruit-content .btn{
font-size:26px;
font-weight:700;
min-width:280px;
border-radius:40px;
}

/* 電話ブロック */

.recruit-content .mt-4{
margin-top:32px !important;
}

.recruit-content .mb-2{
font-size:18px;
font-weight:600;
color:#ffffff;
}

.recruit-content .mb-0{
font-size:18px;
line-height:1.8;
color:#ffffff;
}

/* =========================
   Tablet
   ========================= */

@media (max-width:991px){

.recruit-apply{
min-height:600px;
}

.recruit-content h2{
font-size:40px;
}

.recruit-content p{
font-size:18px;
}

}

/* =========================
   Smartphone
   ========================= */

@media (max-width:768px){

.recruit-apply{
min-height:620px;
padding:40px 0;
}

.recruit-content{
max-width:100%;
padding:0 18px;
}

.recruit-content h2{
font-size:34px;
}

.recruit-content p{
font-size:17px;
line-height:1.7;
}

.recruit-content .btn{
font-size:22px;
padding:14px 26px !important;
}

.recruit-content .mb-2,
.recruit-content .mb-0{
font-size:16px;
}

}



/* recruit gallery layout */

.recruit-gallery{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
}

.recruit-gallery .recruit-item{
width:100%;
}

.recruit-gallery .recruit-item img{
width:100%;
height:auto;
display:block;
}

/* smartphone */

@media (max-width:767px){

.recruit-gallery{
grid-template-columns:repeat(2,1fr);
}

}


/* ==========================================
   Yakiniku Gallery（焼肉ページ専用）
========================================== */

.yakiniku-gallery{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.yakiniku-item{
  flex:0 0 calc(33.333% - 10px);
}

.yakiniku-item img{
  width:100%;
  height:auto;
  display:block;
}

/* SP */
@media (max-width:767px){

  .yakiniku-item{
    flex:0 0 calc(50% - 10px);
  }

  /* 3枚目だけ1段にする */
  .yakiniku-item:nth-child(3){
    flex:0 0 47%;
  }

}


/* ===== トップページの提供サービスのタイトル ===== */
.top-service-cards .card-body h4{
  font-weight:700;
  font-size:1.2rem;
  color:#111;
  margin-bottom:10px;
  line-height:1.4;
}

/* ===== 営業時間カード ===== */

.time-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:10px;
  padding:18px 16px 7px 16px;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

.time-card h3{
  font-size:1.1rem;   /* 少しだけ上げる */
  font-weight:600;    /* 太字寄り */
  margin-bottom:10px;
  color:#333;
}

.time-main{
  font-size:1.2rem;
  font-weight:600;
  margin-bottom:6px;
}

.time-main span{
  color:#d40000;
  font-size:1.3rem;
  font-weight:700;
}

.time-sub{
  font-size:0.9rem;
  color:#555;
}

/* 休業日 */

.time-note{
  background:#fff5f5;
  border:1px solid #f1c6c6;
  border-radius:10px;
  padding:14px;
  text-align:center;
}

.time-note h4{
  color:#d40000;
  font-size:0.95rem;
  margin-bottom:6px;
}

.time-note p{
  font-size:0.85rem;
  color:#555;
  margin:0;
}

/* ボタン */

.booking-btn-main{
  width:100%;
  max-width:420px;
  font-size:1.1rem;
}


/* ===== トップページのLINEのご案内 ===== */
.line-contact-box {
  margin-top: 0;
}

.line-time-heading {
  margin-bottom: 0.35rem;
  line-height: 1.5;
}

.line-label {
  color: #22b854;
  font-weight: 600;
}

.foreign-only-note {
  color: #cc0000;
  font-weight: 600;
  margin-bottom: 0.4rem;
  line-height: 1.5;
}

.line-info {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 0;
}

.text-red {
  color: #d40000;
  font-weight: 600;
}

.booking-link {
  color: #007bff;
  text-decoration: underline;
}

.booking-link:hover {
  opacity: 0.8;
}



/* ==========================================
   Party Plan Section Title（新規追加・他に影響なし）
========================================== */

.party-section{
  margin-bottom: 56px;
}

.party-section-title-wrap{
  text-align:center;
  margin-bottom:24px;
}

.party-section-title-en{
  display:block;
  font-size:0.85rem;
  letter-spacing:0.18em;
  color:#b88a8a;
  margin-bottom:6px;
  text-transform:uppercase;
}

.party-section-title{
  display:inline-block;
  position:relative;
  font-size:2rem;
  font-weight:700;
  color:#222;
  line-height:1.4;
  padding:0 18px 10px 18px;
}

.party-section-title::before,
.party-section-title::after{
  content:"";
  position:absolute;
  top:50%;
  width:42px;
  height:2px;
  background:linear-gradient(90deg,#d62c2c,#ff8fb1);
  transform:translateY(-50%);
}

.party-section-title::before{
  left:-38px;
}

.party-section-title::after{
  right:-38px;
}

.party-section-title-border{
  width:86px;
  height:4px;
  margin:0 auto;
  border-radius:999px;
  background:linear-gradient(90deg,#d62c2c,#ff8fb1);
  box-shadow:0 2px 8px rgba(214,44,44,0.25);
}

@media (max-width:768px){

.party-section{
  margin-bottom:42px;
}

.party-section-title-en{
  font-size:0.72rem;
  letter-spacing:0.12em;
}

.party-section-title{
  font-size:1.45rem;
  padding:0 10px 8px 10px;
}

.party-section-title::before,
.party-section-title::after{
  width:24px;
}

.party-section-title::before{
  left:-18px;
}

.party-section-title::after{
  right:-18px;
}

.party-section-title-border{
  width:64px;
  height:3px;
}

}


/* アレキサンダーパーティーのセクション専用タイトル */
.feature-title{
  font-weight:700;
  font-size:1.05rem;
  margin-bottom:6px;
  padding-left:10px;
  border-left:4px solid #ff8fb1;
  line-height:1.4;
}


/* スライダーの画像読み込みで2枚目、3枚目のalt表示を制御 */
.slider img[data-lazy] {
  opacity: 0;
}

.slider img {
  transition: opacity 0.3s ease;
}



