@import url("reset.css");

.dopc{
	display: none !important;
}



/* 共通項目 */
html { font-size: 62.5%; }



html, body {
	/* height: 100%; */
	color: #000000;
	font-size: 10px;
	/* font-weight: 600; */
	/* background-color: #ffffff; */
  /* background-image: url("/img/bg_body.jpg"); */
	/* background-attachment: fixed; */
  line-height: 175%;
    /* -webkit-font-smoothing: subpixel-antialiased; */
}
html, body, body#op .more_btn span, .pagetitle span, .subtitle span {
  font-family: "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}


#topPage::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background-repeat:no-repeat;
  background-position:50% 100%;
  background-image:url(/img/top_sp_img.jpg?20250430);
  background-size:cover;
}


#castPage,
#waitingPage,
#newfacePage,
#newsPage,
#rankingPage,
#accessPage,
#contactPage,
#systemPage,
#eventPage,
#recruitPage,
#reservePage,
#magazinePage{
  background: #ffffff
}




img{
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
  vertical-align: top;
  width: 100%;
}



a{
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  /* color: #000; */
  outline: none;
}

a:hover{
	/* -webkit-transition: all .3s; */
	/* transition: all .3s; */
}

a:visited {
  /* color: #ffffff;
  text-decoration: none; */
}

.anchor{
  display: block;
  padding-top: 120px;
  margin-top: -25px;
}

table{
	margin: 0 auto 20px auto;
	border-collapse: separate;
	border-spacing: 0px 10px;
	box-sizing: border-box;
}
tr{
	box-sizing: border-box;
	filter: drop-shadow(0px 3px 5px rgba(0,0,0,0.2));
}
th{
	padding: 10px;
	color: #111;
	text-align: center;
	background-color: #fff;
	vertical-align: middle;
	box-sizing: border-box;
}
td{
	padding: 10px;
	color: #111;
	text-align: left;
	background-color: #fff;
	vertical-align: middle;
	box-sizing: border-box;
}
input[type="submit"] {
	-webkit-appearance: none;
	border: none;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
.clearfix{
  min-height: 1px;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.upside {
  background: url("/img/bg_nav.jpg") repeat;
}

ul li .ph {
  transition: all .8s ease-out;
  width: 100%;
}

/* #newface #wrap ul li .ph .debut,
#navmenu li i,
.systemlist li h3,
#eventPage #wrap ul li article h3,
#newsPage #wrap ul li article h3,
#linkPage #wrap section .subtitle,
#linkPage #wrap section .subtitle span,
#reviewlist div .star,
#accessPage #wrap ul li .data h3,
#recruit #wrap article .sec01 h3,
#magazinePage .sec01 h3,
#magazinePage .sec01 h4,
#event .slick-dots li.slick-active button::before,
.gallist li article .catch,
.hotel_name,
#newface #wrap li article .catch,
#topbox #profdata .catch,
#rankingPage #wrap li article .catch,
#rankingPage #wrap h3,
#bottomNavi li a,
#wrap article section h3,
#topbox #profdata h3 .star,
.list_star,
.star,
#indexPage .link,
#wrap ul.revlist li .commentbox .star,
#toppage .subcont li article .star,
.slick-dots li.slick-active button::before {
  color: #BD8900;
} */

/* .list_star {
  padding: 3px 5px;
  font-size: 1rem;
  line-height: 1;
  margin-left: 3px;
  vertical-align: baseline;
  display: inline-block;
} */

#main_con ul li article h3,
#main_con ul li article p,
.listbox ul li article h5 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* #todayssche li .time,
#wrap ul.revlist li .ph article .body,
#list li .timedata,
.gallist li .timedata,
.more_btn:hover:after,
.back_btn:hover .btn,
.more_btn:hover .btn {
  color: #fff;
} */

/* #waiting #wrap li article .time,
.block1 .subcont li article h3,
#newfacePage #wrap ul li article h3,
#rankingPage #wrap ul li article h3,
#data_box .name,
#prof .listbox ul li article h5,
#wrap ul.revlist li .ph article h3,
#topbox #profdata h3,
#schedule #wrap ul li article h3,
#waitingPage ul li article h3,
#todayssche li article h3,
#castPage #wrap ul li article h3 {
  color: #000000;
} */

/* #wrap ul {
  max-width: 1000px;
  margin: 30px auto;
} */


#wrap ul {
  margin-top: 10px;
  /* width: 96%; */
}

#wrap article {
  width: 98%;
  padding: 1%;
  margin: 10px auto;
  /* min-height: 300px; */
  font-size: 1.1rem;
}

#wrap article h3 {
  font-size: 2.0rem;
  color: #DC001D;
  margin-bottom: 2%;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}


#wrap article h3 {
  font-size: 1.3rem;
  margin-bottom: 4%;
}

#wrap article h4 {
  font-size: 1.2rem;
  margin: 2% auto 1% auto;
  font-weight: bold;
  text-align: center;
}

#nav ul li.gli a.gbtn,
#nav ul li.gli a.gbtn .jp,
#top_navi ul li a {
  color: #000000;
}

#topPage .subcont ul li {
  line-height: 1.6;
}

.switch-radio {
  display: none;
}

.block1 {
  background-color: #fff;
}

.block2 {
  background-color: #fff;
}

/*====================================
  index.php 認証ページ
====================================*/

#indexPage #wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

#indexPage #index {
  width: 100%;
  margin: 0;
  padding: 0;
}

#indexPage h1 {
  font-size: 12px;
  text-align: center;
  background-color: #070707;
  color: #ffffff;
  padding: 5px;
}

#indexPage address.dosp {
  text-align: center;
  margin: 10px auto;
  font-style: normal;
  font-size: 14px;
}


#indexPage #index .top {
  width: 100%;
  height: auto;
  position: relative;
  /* background: url('/img/index_sp_img.jpg?20250430') no-repeat center top; */
  background-size: 100% auto;
  /* padding-top: 400px; */
}

#index .btnList{
  margin: auto;
  width: 270px;
}


#index .btnList .button a,
#index .btnList .button2 a {
  position: relative;
  display: block;
  width: 270px;
  height: 55px;
  color: white;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  line-height: 55px;
  background: linear-gradient(to bottom, #980e99 0%, #6c066d 50%, #4a044b 51%, #750c76 100%);
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  border: 1px solid #860887;
  overflow: visible;
  text-indent: 0;
  white-space: normal;
  box-sizing: border-box;
  margin-top: 10px;
}


#indexPage #contents {
  width: 100%;
  margin: 0;
  padding: 10px;
  box-sizing: border-box;
}

#indexPage #contents .subsection {
  width: 100%;
  margin: 10px 0;
  padding: 10px;
  font-size: 13px;
  line-height: 1.5;
  box-sizing: border-box;
  background-color: #000000;
  border: 1px solid #CCC;
  color: #FFF;
}

#indexPage #contents center {
  width: 100%;
  overflow-x: auto;
}

#indexPage #contents table {
  width: 100%;
  border-collapse: collapse;
}

#indexPage #contents table td {
  display: block;
  width: 100%;
  text-align: center;
  padding: 5px 0;
  border: none;
}

#indexPage #contents img {
  max-width: 100%;
  height: auto;
}

/* バナー調整 */
#indexPage #f_age_valification_pc,
#indexPage #contents div[align="center"],
#indexPage #contents div[style*="text-align: center"] {
  width: 100%;
  margin: 10px 0;
}

#indexPage #footer {
  /* width: 100%; */
  padding: 10px;
  text-align: center;
  font-size: 12px;
}

#indexPage #copyright {
  margin: 10px 0;
}




/*------------------------------

  ここから下がハンバーガーメニューに関するCSS

------------------------------*/

.swingMenu {
	position: fixed;
	z-index: 1000000;
  background: url(../img/bg_body.jpg) repeat top center rgba(255,255,255,0.9);

}

/* チェックボックスは非表示に */
.drawer-hidden {
	display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 100;
	/* 重なり順を一番上に */
	cursor: pointer;
  position: fixed;
  z-index: 500;
  right: 0px;
  top: 0px;
  width: 50px;
  height: 50px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}


/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
	content: '';
	display: block;
	height: 1px;
	width: 22px;
	background: #122860;
	transition: 0.5s;
	position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
	bottom: 8px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
	top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked~.drawer-open span {
	background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked~.drawer-open span::before {
	bottom: 0;
	transform: rotate(45deg);
}

#drawer-check:checked~.drawer-open span::after {
	top: 0;
	transform: rotate(-45deg);
}

/* メニューのデザイン*/
.drawer-content {
	width: 90%;
	height: 100%;
	position: fixed;
	top: 0;
	transition: 1s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
}

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked~.drawer-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  left: 0;
	background: rgb(255 255 255 / 60%);
	box-shadow: 0 0px 11px rgb(128 156 181 / 60%);
	backdrop-filter: blur(5px);
}
	/* メニューを画面に入れる */

ul.drawer-list {
	list-style: none;
	padding-top: 60px;
}

.drawer-content li {
	line-height: 50px;
	font-size: 14px;
	border-bottom: 1px solid #ffffff33;
}

.drawer-content li a {
	color: #322d42;
	position: relative;
	display: block;
	transition: .3s;
}

.drawer-content li a::after {
	position: absolute;
	bottom: .3em;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color: #925124;
	opacity: 0;
	transition: .3s;
}

.drawer-content li a:hover {
	opacity: 0.3;
	transition: 1.0s;
}


#gnav_sp {
  display: none;
}


#gnav_sp {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 300;
  width: 80%;
  height: 100%;
  overflow: auto;/* scroll*/
  -webkit-overflow-scrolling: touch;
}


#gnav_sp .inner {
  padding: 2% 0;
}

#gnav_sp a {

}
#gnav_sp .navbox {
  margin-top: 8px;
  text-align:center;
}
#gnav_sp .navbox .en {
  font-family: "Montserrat",sans-serif;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: 1.2rem;
  display: block;
}
#gnav_sp .navbox .jp {
  display: block;
}
#gnav_sp .navbox ul {
  width: 100%;
}
#gnav_sp .navbox ul a,#gnav_sp .navbox ul p {
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;

  }
#gnav_sp .navbox ul a:after {
  content: "";
  display: block;
  position: absolute;
  right: 4%;
  top: 50%;
  z-index: 2;
  /*background: url(/img/arrow.png) no-repeat;*/
  width: 9px;
  height: 14px;
  margin-top: -7px;
  background-size: contain;
}

#gnav_sp .navbox ul a.blank:after {
  content: "";
  display: block;
  position: absolute;
  right: 4%;
  top: 50%;
  z-index: 2;
  background: url(../img/blank.png) no-repeat;
  width: 11px;
  height: 9px;
  margin-top: -4px;
  background-size: contain;
}
#gnav_sp .navbox ul > li {
  width: 48%;
  float:left;
  /*border: 1px dotted #FFA4BD;*/
  margin:1%;
  padding:1% 0%;
      box-sizing: border-box;

/*  width: 100%;
  display: block;   */
}
#gnav_sp .navbox ul > li > a {
  display: block;
  width: 100%;

}
#gnav_sp .navbox ul > li > a .en,  #gnav_sp .navbox ul > li > p .en {
  /*padding-left: 4%;*/
  line-height: 135%;

}
#gnav_sp .navbox ul > li > a .jp,  #gnav_sp .navbox ul > li > p .jp {
  /*padding-left: 4%;*/
  font-size: 10px;
  line-height: 100%;
}
#gnav_sp .navbox ul > li ul {
  border-top: none;
}
#gnav_sp .navbox ul > li ul > li:first-child {
  border-top: none;
}
#gnav_sp .navbox ul > li ul > li > a {
  display: block;
  width: 100%;
}
#gnav_sp .navbox ul > li ul > li > a .jp {
  font-size: 13px;
  padding-left: 8%;
}

#gnav_sp .addressBox{
  width: 150px;
  margin: auto;
}

#gnav_sp .data {
  text-align: center;
  font-size: 1.5rem;
  margin-top: 20px;
}

#gnav_sp .data .tel {
  margin-top: 10px;
}


/* #gnav_sp .tel {
  float: left;
  margin: 20px 0;
  text-align: center;
  width: 100%;
} */

/* #gnav_sp dl.tel {
  padding: 2% 0;
  border: none;
}

#gnav_sp .tel dt {
  float: left;
  font-size: 1.2rem;
  margin-bottom: 5px;
  width: 100%;
  text-align:center;
  font-weight: bold;
}

#gnav_sp .tel dd {
  float: left;
  font-family: "Montserrat",sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  width: 100%;
}
#gnav_sp .tel dd span {
  font-size: 1.8rem;
  margin: 0;
} */


.slick-arrow > img {
  width: 40px;
}

#thumbnail_slider{
  width: 70%;
  margin: auto;
}

/* ヘッダー */

#header {
  height: 55px;
  padding: 0 2%;
}

#header {
  background: url(/img/bg_header.jpg) repeat center top;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  -moz-transition: height 0.3s;
  -o-transition: height 0.3s;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
}

#header #gnavi-wrapper #gnavi .shop-nav{
  width: 40%;
  height: 50px;
  position: relative;
  bottom: 5px;
}


#header .logo {
  float: none;
  width: auto;
}

#header .logo {
  float: left;
  z-index: 100;
  max-width: 595px;
  position: relative;
  margin-left: 0px;
}

#header .logo {
  height: 100px;
  max-width: 430px;
}

#header .logo {
  height: 55px;
}



#header .logo a {
  overflow: hidden;
}

#header .logo a {
  display: block;
  height: 55px;
  width: auto;
  text-indent: -9999px;
  margin-left: 5px;
  background-size: 80%;
}

#header .logo img {
  display: block;
  margin: -1% 0 0;
}

#header .header_info {
  display: none;
}

#header .header_info {
  float: right;
  color: #fff;
  margin: 10px 0 0 0;
  line-height: 1.2;
}

#header .header_info .shop {
  font-size: 0.98rem;
  font-weight: bold;
  line-height: 1.8;
}
#header .header_info .time {
  display: block;
  font-weight: bold;
  font-size: 1.5rem;
  /* font-family: "Montserrat",sans-serif; */
  letter-spacing: 0.12em;
}

#header .header_info .tel {
  font-size: 2.5rem;
}


/* ヘッダーメニュー */
#top_navi {
  background: url("/img/bg_nav.jpg") repeat scroll bottom left;
}

#top_navi {
  display: block;
}

#top_navi {
  position: fixed;
  top: 55px;
  width: 100%;
  z-index: 9999;
}

.pagetitle {
  background: url("../img/bg_pagetitle.jpg") repeat center right;
}

.pagetitle {
  /* width: 100%; */
  padding: 13px 0 0 10px;
  position: relative;
  height: 32px;
  font-size: 1.8rem;
  font-weight: 500;
  border-top-style: solid;
  border-top-width: 1px;
}

.pagetitle {
  color: #000000;
}

.pagetitle span {
  color: #000000;
}

.pagetitle span {
  padding: 0 0.5em;
  font-weight: normal;
  display: inline-block;
  font-size: 0.9rem;
  vertical-align: top;
  margin-left: 2%;
}


.pagetitle,
#top_navi ul li {
  border-color: rgba(255,255,255,0.7);
}


#top_navi ul li {
  font-size: 0.8rem;
}


#top_navi ul li:first-child {
  border: none;
}

#top_navi ul li {
  width: 25%;
  float: left;
  text-align: center;
  box-sizing: border-box;
  font-weight: bold;
}

#top_navi ul li a {
  display: block;
  padding: 8px 0 5px;
}


#header-open {
  display: block;
}

#header-open {
  text-align: center;
  /* font-size: 1.2rem; */
  margin: 6px auto;
  font-weight: bold;
}
#wrap {
  margin: 100px auto 0;
  padding: 0 0 20px 0;
  max-width: 1080px;
  min-height: 600px;
  overflow: hidden;
}


#topPage #wrap {
  margin: 480px auto 0;
}

#main_con.upside {
  float: none;
  width: 100%;
}
#main_con {
  margin: 0px 0;
}

/* フローティング */
#bottomNavi {
  background-color: rgba(242, 242, 242, 0.9);
}

#bottomNavi {
  bottom: 0;
  color: #111;
  font-size: 0.8rem;
  overflow: hidden!important;
  position: fixed;
  width: 100%;
  z-index: 100;
  display: block;
}

#bottomNavi ul {
  margin: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden!important;
}

#bottomNavi ul li {
  font-size: 0.66rem;
  border: none;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#bottomNavi li i {
  font-size: 3.0rem;
}

#bottomNavi li span {
  display: block;
  font-size: 1.5rem;
  line-height: 2;
}

/* コピーライティング */
#footer .copyright {
  text-align: center;
  font-size: 0.8rem;
  line-height: 200%;
  margin-top: 10px;
}

#footer {
  margin-top: 10px;
  padding-bottom: 80px;
  background: url(/img/bg_header.jpg) repeat center top;
}

#footer .inner {
  max-width: none;
  margin: 0 auto;
  padding: 10px 0 0;
}

#bottomNavi li a {
  display: block;
  padding: 6px 0 3px;
  color: #333;
}





/* トップバナー */
#main_con #event {
  margin-bottom: 10px;
}

/* 流れる文字 */
/* .marquee {
  background: #ECECEC;
}


.marquee {
  margin: 0 auto 10px;
  width: 100%;
  text-align: center;
  overflow: hidden;
  font-size: inherit;
}

.marquee ul {
  margin: 0;
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  line-height: 14px;
  animation: scrollmarquee 15s linear infinite;
}

@keyframes scrollmarquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}

.marquee ul li:nth-child(1) {
  font-weight: bold;
}

.marquee ul li {
  display: inline-block;
  margin: 0 100px 0 0;
  padding: 8px 0 0px;
} */


#topPage .main-image {
  width: 100%;
}

#topPage .main-image img {
  width: 100%;
}


#topPage .top-info .top-info-img{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
  position: relative;
  z-index: 2;
  gap: 10px;
}





#topPage .top-info h1 {
  /* height: 50vw;
  background-color: rgba(0, 0, 0, 1);
  border-top: solid 4px #e8ba00;
  text-align: center;
  position: relative;
  top: 0px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; */
}

#topPage .top-info h1{
  width: 100%;
  background-color: rgba(0, 0, 0, 1);
}


#topPage .top-info h1 video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#topPage .top-info .btn {
  width: 100%;
  max-width: 950px;
  margin: 0px auto 0;
  padding: 0 0 0px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

#topPage .top-info .btn div:nth-child(-n+3) {
  width: calc(100% / 3 - 20px / 3);
  max-width: 310px;
}


#topPage .top-info .btn div img {
  width: 100%;
}

/* #topPage .top-info .btn div:last-child {
  width: 100%;
  max-width: 640px;
} */



.top-slider .prev {
  right: 82%;
}

.top-slider .prev,
.top-slider .next {
  position: absolute;
  top: 44%;
  z-index: 2;
  cursor: pointer;
}

.top-slider .next {
  left: 82%;
  transform: scale(-1, 1);
}


.top-slide-rank{
  height: 390px;
}

/* コンテンツタイトル */
.subtitle {
  color: #000000;
}

.subtitle {
  background:  url("/img/bg_title.jpg") repeat right;
}

.subtitle {
  padding: 10px 0 10px 10px;
  position: relative;
  background-size: auto ,auto;
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 5px;
  letter-spacing: 1px;
}

.subtitle span {
  color: #000000;
}

.subtitle span {
  padding: 0 1px;
}

.subtitle span {
  display: inline-block;
  font-size: 14px;
  vertical-align: top;
  margin-left: 5px;
}
.subtitle span.more a {
  background-color: #000000;
  color: #FFF;
}

.subtitle span.more a {
  position: absolute;
  top: 10px;
  right: 5px;
  display: block;
  padding: 0.5% 1%;
  transition: all 0.3s ease 0s;
  line-height: 150%;
}



/* パンくずリスト */
#panIn {
  font-size: 0.7rem;
  padding: 8px 5px;
  margin: 0 auto 0;
  list-style-type: none;
  max-width: 1200px;
  display: block;
}


/* TOP ニュース */
.top-news {
  margin-bottom: 30px;
}

.title-bg {
  position: relative;
  color: #fff;
  /* background-image: url("../images/title_bg.jpg"); */
  background-color: #000;
  display: flex;
  align-items: center;
  height: 90px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 37%;
  margin-bottom: 30px;
}


.title-bg span {
  font-family: 'Lusitana', serif;
  color: #fff;
  font-size: 3.2rem;
  position: relative;
  letter-spacing: -0.04em;
  transform: rotate(-8deg);
  margin-left: 10px;
}

.title-bg em {
  margin-top: 40px;
  margin-left: -40px;
  font-size: 1.4rem;
}

.more .more-inner {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  letter-spacing: 2px;
  color: #000;
  text-align: center;
  line-height: 50px;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #ffedb4 0%, #ba8f0d 50%, #ffedb4 100%);
  background-size: 200%;
  background-position: -50% 0;
  position: relative;
  cursor: pointer;
}

.top-news-cont {
  /* margin-top: 120px; */
}

.top-news-cont article > div {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 1.4rem;
  color: #353535;
  line-height: 1.6em;
  max-height: 220px;
  overflow-y: auto;
  text-align: justify;
  padding-right: 10px;
}

.top-news-cont article .time {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.4em;
  margin-bottom: 10px;
}

.top-news-cont article .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  margin-bottom: 30px;
  display: inline-block;
  font-size: 1.6rem;
}


/* TOP ボタン関係 */
.more {
  display: block;
  width: 260px;
  height: 50px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}


.more-btn2 {
  text-align: center;
  position: relative;
  cursor: pointer;
  max-width: 240px;
}

.more-btn-inner2 {
  width: 100%;
  height: 46px;
  border-radius: 35px;
  position: absolute;
  left: 0;
  z-index: 100;
  background: #333333;
  background: -moz-linear-gradient(left, #333333 0%, #000000 100%);
  background: -webkit-linear-gradient(left, #333333 0%, #000000 100%);
  background: linear-gradient(to right, #333333 0%, #000000 100%);
  max-width: 240px;
  min-width: 190px;
}

.into2 {
  display: inline-block;
  width: 18px;
  height: 18px;
  position: absolute;
  left: 15.5px;
  top: 15px;
  transition: all .3s;
  z-index: 120;
}

.more-btn2 .into2 {
  transform: rotate(90deg);
  height: 13px;
  left: 16px;
}

.more-btn2 span {
  font-size: 2.0rem;
  color: #fff;
  line-height: 48px;
  letter-spacing: 1.4px;
  position: relative;
  left: 10px;
  z-index: 110;
  font-family: 'Lusitana', serif;
}


.into2 span {
  display: block;
  background: #fff;
  transition: all .2s;
  position: absolute;
  border-radius: 1px;
}

.more-btn2 .into2 span.plus1 {
  opacity: 0;
  width: 16px;
  height: 2px;
  top: 8px;
  left: 0px;
}
.more-btn2 .into2 span.plus2 {
  width: 2px;
  height: 18px;
  top: -4px;
  left: 10px;
}
.more-btn2 .into2 span.plus3 {
  transition-delay: .1s;
  width: 10px;
  height: 2px;
  left: 9px;
  top: 0px;
  transform: rotate(45deg);
  transform-origin: right top;
}

.more-btn2 .into2 span.plus4 {
  transition-delay: .1s;
  width: 10px;
  height: 2px;
  left: 4px;
  top: 0px;
  transform: rotate(-45deg);
  transform-origin: left top;
}



/* TOP 新人情報 */
.new-cast .new-cast-slider figure {
  position: relative;
  background-color: #ffffff;
}

.new-cast .new-cast-slider figure > a:first-of-type img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  transition: 0.6s;
  z-index: 100;
}

.new-cast .new-cast-slider figure > a:first-of-type {
  color: #fff;
  margin-bottom: 6px;
  height: auto;
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
}
.new-cast .new-cast-slider figure > a:first-of-type::before {
  content: "";
  display: block;
  padding-top: 133.4%;
}
.new-cast .new-cast-slider figure figcaption {
  padding: 0 10px;
}

.new-cast .new-cast-slider figure figcaption .time {
  letter-spacing: 0.4em;
  margin-bottom: 10px;
  display: block;
  margin-top: 20px;
  font-size: 1.6rem;
}

.new-cast .new-cast-slider figure figcaption .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  margin-bottom: 14px;
  display: inline-block;
  font-size: 1.6rem;
}

.new-cast .new-cast-slider figure figcaption .name .age {
  font-size: 1.4rem;
  font-family: 'Playfair Display', serif;
}
.new-cast .new-cast-slider figure figcaption .name .size {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  display: block;
  letter-spacing: 0.05em;
  margin-top: 14px;
}

.new-cast .new-cast-slider figure figcaption .comment {
  margin: 0 10px 20px;
  max-height: 400px;
  overflow-y: auto;
  font-size: 1.4rem;
  line-height: 2em;
  font-weight: bold;
}


.new-cast .new-cast-slider .prev,
.new-cast .new-cast-slider .next {
  position: absolute;
  top: 36%;
  z-index: 2;
  cursor: pointer;
}


.new-cast .new-cast-slider .next {
  left: 90%;
  transform: scale(-1, 1);
}

.new-cast .new-cast-slider {
  margin-bottom: 20px;
}


.new-cast {
  margin-bottom: 60px;
}


/* TOP 今スグ */


/* TOP スケジュール */
#top-schedule .schedule-calendar {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  flex-wrap: wrap;
  width: 98%;
}

#top-schedule .schedule-cont {
  margin: 0 auto;
  width: 100%;
}



#top-schedule .schedule-calendar li {
  background-color: #000;
  color: #fff;
  width: calc(calc(100%/3) - 4px);
  border: solid 1px #ccc;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  line-height: 1em;
  margin-bottom: 2px;
}

#top-schedule .schedule-calendar li.current{
  background: linear-gradient(to right, #f9f1a5 50%, #625531 100%);
}

#top-schedule .schedule-calendar li.current a{
  color: #000;
}




#top-schedule .schedule-calendar li a span {
  color: #000;
  background: #fff;
  padding: 0px 2px;
  font-size: 12px;
  width: 34px;
  display: inline-block;
  margin-left: 6px;
  text-align: center;
}

.sat {
  color: #77c9f8 !important;
}

.sun {
  color: #fd5555 !important;
}

.schedule-day {
  background: linear-gradient(to right, #f9f1a5 50%, #625531 100%);
  text-align: center;
  width: 98%;
  margin: 10px auto;
  padding: 10px 0;
}

#top-schedule .scheduleWrap {
  display: none;
}

#top-schedule .scheduleWrap-active {
  display: block;
}


#top-schedule .schedule-cont > ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

#top-schedule .schedule-cont > ul > li {
  background-size: 3px 3px;
  background-image: radial-gradient(#bababa 25%, #000 20%);
  border: solid 1px #a0a0a0;
  position: relative;
  width: calc(calc(100%/2) - 2px);
  margin: 1px;
  box-sizing: border-box;
  transform: .4s;
}

#top-schedule .schedule-cont > ul > li::before {
  content: "";
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
  display: inline-block;
  height: 270px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
#top-schedule .cast-box {
  z-index: 10;
  position: relative;
}

#top-schedule .schedule-cont > ul > li a:first-of-type {
  color: #fff;
  margin-bottom: 6px;
  height: auto;
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
}

#top-schedule .schedule-cont > ul > li a:first-of-type::before {
  content: "";
  display: block;
  padding-top: 133.4%;
}


#top-schedule .schedule-cont > ul > li a:first-of-type img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  transition: 0.6s;
  z-index: 100;
}

#top-schedule .cast-box figcaption .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  width: 100%;
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: bold;
  background-color: #000;
  color: #fff;
  padding: 4px 0px 0 0;
  text-align: center;
}
#top-schedule .cast-box figcaption .name .age {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-weight: normal;
}

#top-schedule .cast-box figcaption .size {
  display: block;
  letter-spacing: 0.05em;
  margin: 6px 0 0;
  font-size: 1.2rem;
  text-align: center;
  padding: 4px;
  background: #fff;
  color: #000;p-rank
}

#top-schedule .cast-box figcaption .time {
  height: 26px;
  background: linear-gradient(to right, #d2b047 50%, #feebb1 100%);
  text-align: left;
  line-height: 1.6em;
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  padding: 0 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top-schedule .cast-box figcaption .time svg {
  width: 20px;
  margin-right: 4px;
}

#top-schedule .cast-box figcaption .time span {
  display: inline-block;
  margin-top: 2px;
}
#top-schedule .cast-box figcaption .waiting-time {
  background-color: #000;
  color: #ff8a00;
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  padding: 6px 5px;
  background: -webkit-repeating-linear-gradient(-45deg, #f9eaef 0, #f9ebef 10px, #fff 10px, #fff 20px);
  background: repeating-linear-gradient(-45deg, #1b1b1b 0, #1b1b1b 5px, #000 5px, #000 10px);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: center;
}




/* TOP ランキング */
#top-ranking {
  margin-bottom: 30px;
}

#top-ranking .top-ranking-slider .prev {
  right: 82%;
}

#top-ranking .top-ranking-slider .prev,
#top-ranking .top-ranking-slider .next {
  position: absolute;
  top: 40%;
  z-index: 2;
  cursor: pointer;
}
#top-ranking .top-ranking-slider .next {
  left: 82%;
  transform: scale(-1, 1);
}
#top-ranking .top-ranking-slider figure{
  background-color: #ffffff;
}


#top-ranking .top-ranking-slider figure > a:first-of-type {
  color: #fff;
  margin-bottom: 6px;
  height: auto;
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
}
#top-ranking .top-ranking-slider figure > a::before {
  content: "";
  display: block;
  padding-top: 133.4%;
}

#top-ranking .top-ranking-slider figure > a:first-of-type img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  transition: 0.6s;
  z-index: 100;
}

#top-ranking .top-ranking-slider figure figcaption {
  display: flex;
  align-items: center;
  justify-content: center;
}

#top-ranking .top-ranking-slider figure figcaption img {
  width: 60px;
  margin-right: 16px;
}

#top-ranking .top-ranking-slider figure figcaption .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 1.6rem;
  margin: 20px 0;
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

#top-ranking .top-ranking-slider figure figcaption .name .age {
  font-size: 1.4rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#top-ranking .top-ranking-slider figure figcaption .name .size {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  display: block;
  letter-spacing: 0.05em;
  margin-top: 4px;
}




/* TOP その他コンテンツ */
/* 写メ日記 */
.title-photodiary {
  text-align: center;
}
.title-photodiary img {
  width: 100%;
  max-width: 640px;
  vertical-align: top;
}
#photodiary-container {
  width: 100%;
  max-width: 760px;
  margin: 10px auto 30px;
  overflow: auto;
  /* height: 2200px; */
  overflow-y: hidden;
}

#photodiary-container iframe {
  margin: 0 auto;
  display: block;
  width: 100%;
  max-width: 640px;
  /* height: 2418px; */
  overflow: hidden;
}


/* イベント */
#top-event .title-bg {
  margin-bottom: 0;
}

#top-event .event-cont {
  height: 500px;
  overflow-y: auto;
  width: 96%;
  margin: 0 auto 30px;
}

#top-event .event-cont article {
  background-color: #d6d6d8;
  padding: 10px;
  margin-bottom: 20px;
}

/* バナー */
.footer-ban a {
  margin-bottom: 16px;
  display: block;
}




/*-- cast.php --*/
#cast {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	margin: 0 auto;
}
.title-bg em {
	margin-left: -40px;
}
#cast .cast-cont {
	/* padding: 5px 0 30px 0; */
}
#cast .cast-cont .search {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	background: #333;
	width: 54%;
	margin: 0 auto 20px;
	padding: 20px 0;
}
@media screen and (min-width: 641px) and (max-width: 800px) {
	#cast .cast-cont .search {
		width: 80%;
	}
}
@media screen and (max-width: 640px) {
	#cast .cast-cont .search {
		width: 100%;
	}
}
#cast .cast-cont .search .title {
	font-size: 20px;
	color: #fff;
	margin-bottom: 20px;
	text-align: center;
	letter-spacing: 0.1em;
}
#cast .cast-cont .search .box {
	font-size: 14px;
	color: #fff;
	width: 83%;
	margin: 0 auto;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
#cast .cast-cont .search .box div:nth-child(2n+1) {
	width: 15%;
	text-align: right;
}
#cast .cast-cont .search .box div:nth-child(2n) {
	width: calc(85% - 10px);
	margin-left: 10px;
}
#cast .cast-cont .search .box div:nth-child(n+3) {
	margin-top: 10px;
}
#cast .cast-cont .search input[type="text"] {
	font-size: 16px;
	width: 100%;
	height: 40px;
	padding: 0 0 0 10px;
	border: none;
	border-radius: 0;
	outline: none;
	background: #fff;
	letter-spacing: 0.1em;
}
#cast .cast-cont .search select {
	font-size: 16px;
	width: 100%;
	height: 40px;
	padding: 0 0 0 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: url(../images/arrow.png) right 15px center #fff no-repeat;
	letter-spacing: 0.1em;
}
#cast .cast-cont .search .btn {
	width: 83%;
	margin: 10px auto 0;
}
#cast .cast-cont .search input[type="submit"] {
	font-size: 20px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 10px 0;
	border: none;
	outline: none;
	background: linear-gradient(to right, #d3b149 0%, #ffedb4 50%, #d3b149 100%);
	letter-spacing: 0.1em;
}
#cast .cast-cont .caption {
	text-align: center;
	width: 100%;
	margin: 0 auto 20px;
	background: linear-gradient(to right, #ba8f0d 0%, #ffedb4 50%, #ba8f0d 100%);
	letter-spacing: 0.2em;
	font-size: 1.4rem;
	line-height: 1.2em;
}

#cast .cast-cont .caption:hover {
	opacity: .8;
}
#cast .cast-cont .caption span{
	display: block;
	height: 100%;
	padding: 16px 0;
  color: #000;
  font-size: 12px;
}

#cast .cast-cont > ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#cast .cast-cont > ul > li {
	background-size: 3px 3px;
	background-image: radial-gradient(#bababa 25%, #000 20%);
	border: solid 1px #a0a0a0;
	position: relative;
	width: calc(calc(100%/2) - 2px);
	margin: 1px;
	box-sizing: border-box;
}
	@media screen and (min-width:768px) { 
		#cast .cast-cont > ul > li {
			width: calc(calc(100%/3) - 4px);
		}
	}

#cast .cast-cont > ul > li a:first-child {
	color: #fff;
	margin-bottom: 6px;
	height: auto;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}
#cast .cast-cont > ul > li a:first-child::before {
	content: "";
	display: block;
	padding-top: 133.4%;
}
#cast .cast-cont > ul > li a:first-child img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 100;
}
#cast .cast-cont > ul > li .icon-twitter {
	right: 10px;
	top: calc(42.5vw - 44px);
	z-index: 100; 
}
@media screen and (max-width: 767px) {
	#cast .cast-cont > ul > li .icon-twitter {
		top: calc(63.5vw - 44px);
	}
}

#cast .cast-cont > ul > li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
	display: inline-block;
	height: 90px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
#cast .cast-cont > ul > li a .shop-icon {
	position: absolute;
	left: auto;
	right: 5px;
	top: 5px;
}
#cast .cast-cont > ul > li a .shop-icon img {
	width: 70px;
	position: relative;
}
#cast .cast-cont .icon-rank {
	width: 100%;
	vertical-align: top;
}
#cast .cast-box {
	z-index: 10;
	position: relative;
}
#cast .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	width: 98%;
	margin: 0 auto;
	background-color: #000;
	color: #fff;
	padding: 4px 2px;
	text-align: center;
}
#cast .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}
#cast .cast-box figcaption .size {
	display: block;
	letter-spacing: 0.05em;
	margin: 6px 0 0;
	font-size: 1.2rem;
	text-align: center;
}

/*-- schedule.php --*/
#schedule {}
#schedule .top-header {
	background-image: url("../images/title_schedule.jpg");
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
	background-color: #fff;
}
#schedule .top-header h2 {
	min-width: 400px;
}
#schedule .schedule-calendar {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	flex-wrap: wrap;
	width: 98%;
}
#schedule .schedule-calendar li {
	background-color: #000;
	color: #fff;
	width: calc(calc(100%/3) - 4px);
	border: solid 1px #ccc;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Playfair Display', serif;
	font-size: 2.4rem;
	line-height: 1em;
	margin-bottom: 2px;
}

@media screen and (min-width:768px) { 
	#schedule .schedule-calendar {
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 80%;
	}
	#schedule .schedule-calendar li {
		width: calc(25% - 6px);
		margin: 3px;
	}
}

#schedule .schedule-calendar li a {
	color: #fff;
	display: flex;
	align-items: center;
}
#schedule .schedule-calendar li a span {
	color: #000;
	background: #fff;
	padding: 0px 2px;
	font-size: 1.2rem;
	width: 34px;
	display: inline-block;
	margin-left: 6px;
	text-align: center;
}
#schedule .schedule-cont {
	padding: 5px 0 30px 0;
}
#schedule .schedule-cont > ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#schedule .schedule-cont > ul > li {
	background-size: 3px 3px;
	background-image: radial-gradient(#bababa 25%, #000 20%);
	border: solid 1px #a0a0a0;
	position: relative;
	width: calc(calc(100%/2) - 2px);
	margin: 1px;
	box-sizing: border-box;
}

@media screen and (min-width:768px) { 
	#schedule .schedule-cont > ul > li {
		width: calc(calc(100%/3) - 4px);
	}
}

#schedule .schedule-cont > ul > li a:first-of-type {
	color: #fff;
	margin-bottom: 6px;
	height: auto;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}
#schedule .schedule-cont > ul > li a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133.4%;
}
#schedule .schedule-cont > ul > li a:first-of-type img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 100;
}
#schedule .schedule-cont > ul > li .icon-twitter {
	right: 10px;
	top: calc(47vw - 80px);
	z-index: 200;
}
@media screen and (max-width: 767px) {
	#schedule .schedule-cont > ul > li .icon-twitter {
		top: calc(72.5vw - 80px);
	}
}

#schedule .schedule-cont > ul > li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
	display: inline-block;
	height: 270px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
#schedule .schedule-cont > ul > li a .shop-icon {
	position: absolute;
	left: auto;
	right: 5px;
	top: 5px;
}
#schedule .schedule-cont > ul > li a .shop-icon img {
	width: 70px;
	position: relative;
}
#schedule .schedule-cont .icon-rank {
	width: 100%;
	vertical-align: top;
}
#schedule .cast-box {
	z-index: 10;
	position: relative;
}
#schedule .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 100%;
	margin: 0 auto;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #000;
	color: #fff;
	padding: 4px 2px;
	text-align: center;
}
#schedule .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}
#schedule .cast-box figcaption .size {
	display: block;
	letter-spacing: 0.05em;
	margin: 6px 0;
	font-size: 1.2rem;
	text-align: center;
}
#schedule .cast-box figcaption .time svg {
	width: 20px;
	margin-right: 4px;
}
#schedule .cast-box figcaption .time span {
	display: inline-block;
	margin-top: 2px;
}
#schedule .cast-box figcaption .time {
	height: 26px;
	background: linear-gradient(to right, #d2b047 50%, #feebb1 100%);
	text-align: left;
	line-height: 1.6em;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 14px;
	padding: 0 15px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
}
#schedule .cast-box figcaption .waiting-time {
	background-color: #000;
	color: #ff8a00;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 14px;
	padding: 6px 5px;
	background: -webkit-repeating-linear-gradient(-45deg, #f9eaef 0, #f9ebef 10px, #fff 10px, #fff 20px);
	background: repeating-linear-gradient(-45deg, #1b1b1b 0, #1b1b1b 5px, #000 5px, #000 10px);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	text-align: center;
}



/*-- profile.php --*/
#profile {}
#profile .cast-cont {
	padding: 5px 5px 30px 5px;
}
.profile-nav {}
.profile-nav ul {
	display: flex;
	margin: 30px auto;
}
.profile-nav li {
	font-family: 'Playfair Display', serif;
	font-size: 1.8rem;
	letter-spacing: 2px;
	color: #000;
	text-align: center;
	line-height: 60px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #ba8f0d 0%, #ffedb4 50%, #ba8f0d 100%);
	background-size: 100%;
	background-position: -50% 0;
	position: relative;
	margin: 0 10px;
}

.profile-nav li a {
	color: #000;
	font-size: 1.8rem;
	display: block;
}
.profile-nav li a span {
	font-size: 1.4rem;
	margin-left: 4px;
}
.profile-nav li:last-child a span {
	margin-left: 0;
	margin-right: 4px;
}

#profile .thum-wrap {
	position: relative;
}
#profile .icon-twitter {
	right: calc(40.5vw - 44px);
	bottom: 10px;
	z-index: 100;
}
@media screen and (max-width: 767px) {
	#profile .icon-twitter {
		right: 10px;
	}
}

.cast-slider_sp > div > img {
	opacity: 0.8;
}
.slick-slide img {
	width: 100%;
	opacity: 0.5;
}

.slick-dotted.slick-slider {
	margin-bottom: 50px;
}
.slick-center img {
	opacity: 1;
}
.cast-slider_sp .prev, .cast-slider_sp .next {
	position: absolute;
	top: 46%;
	z-index: 1;
	cursor: pointer;
}
.cast-slider_sp .prev {
	right: 66%;
}
.cast-slider_sp .next {
	left: 66%;
	transform: scale(-1, 1);
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
	position: relative;
}
@media screen and (max-width: 768px) {
	.profile-nav ul {
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	.profile-nav li {
		width: calc(50% - 20px);
		margin-bottom: 10px;
		height: 50px;
		line-height: 50px;
	}
	.profile-nav li:nth-child(2) {
		order: 1;
		width: 100%;
	}
	.profile-nav li a {
		color: #000;
		font-size: 1.4rem;
		display: block;
	}
	.profile-nav li a span {
		font-size: 1.0rem;
		margin-left: 4px;
	}
	.cast-slider_sp .prev {
		right: 86%;
	}
	.cast-slider_sp .next {
		left: 86%;
	}
	.cast-slider_sp .prev {
		right: 86%;
	}
	.cast-slider_sp .next {
		left: 86%;
		transform: scale(-1, 1);
	}
	.slick-slide img {
	opacity: 1;
}

}

#profile .prof-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96%;
	margin: 0 auto 20px;
}
#profile .prof-icon .icon-rank img {
	vertical-align: top;
	width: 100%;
	max-width: 400px;
}
#profile .prof-icon .nomination {
	background-color: #d2b147;
	width: 320px;
	margin-left: 10px;
	text-align: center;
	padding: 2.2vw 0;
	font-size: 1.2rem;
}
#profile .prof-icon.new {
  flex-wrap: wrap;
}
#profile .prof-icon.new .icon-rank {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
}
#profile .prof-icon.new .nomination {
  font-size: 2.4rem;
  width: 100%;
  max-width: 400px;
  margin-left: 0;
}
@media screen and (min-width:768px) { 
	#profile .prof-icon .nomination {
		height: 50px;
		padding: 0;
		line-height: 50px;
	}
}
#profile .prof-icon .nomination span {
	margin-right: 20px;
}
#profile .prof-info {
	text-align: center;
	margin-bottom: 20px;
}
#profile .prof-info .name {
	font-size: 3.4rem;
	display: block;
	margin-bottom: 4px;
}
#profile .prof-info .age {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	display: block;
	margin-bottom: 4px;
}
#profile .prof-info .size {
	font-size: 1.4rem;
	font-family: 'PT Sans', sans-serif;
	letter-spacing: 0.1em;
}
#profile .prof-info span {
	font-size: 1.4rem;
	display: block;
	margin-bottom: 4px;
}


#profile .prof-type {
	display: flex;
	width: 80%;
	margin: 0 auto 20px;
	flex-wrap: wrap;
}
#profile .prof-type li {
  font-size: 1.4rem;
	color: #fff;
	width: calc(calc(100%/2) - 4px);
	text-align: center;
	margin: 0 2px 4px;
	background: linear-gradient(to right, #000 0%, #242424 50%, #464646 100%);
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	letter-spacing: 0.04em;
	padding: 8px 0;
}
#profile .prof-other {
	width: 96%;
	margin: 0 auto 20px;
	max-width: 970px;
}
#profile .prof-other li {
	background-image: url("/img/profile_cont_bg.jpg");
	background-repeat: no-repeat;
	height: 18vw;
	background-size: contain;
	padding: 0;
	position: relative;
	width: 100%;
	margin: 0 auto 6px;
}
#profile .prof-other li a {
	display: block;
	height: 60%;
	color: #d2b147;
	font-size: 6vw;
	position: absolute;
	top: 7vw;
	bottom: 0;
	left: 20px;
	right: 0;
	margin: auto;
}
.prevnone{
  visibility: hidden;
}
.nextnone{
  visibility: hidden;
}
@media screen and (min-width:768px) { 
	#profile .prof-other li {
		height: 180px;
		margin-bottom: 20px;
	}
	#profile .prof-other li a {
		font-size: 7.0rem;
	}
}
#profile .prof-cont01 {
	justify-content: space-between;
	width: 96%;
	margin: 0 auto 30px;
}
#profile .prof-cont01 .qa {
	margin-bottom: 20px;
}
#profile .prof-cont01 .qa > div {
  overflow-y: auto;
}


#profile .prof-cont01 h3 {
	/* background-image: url("/img/profile_title01.jpg"); */
	/* background-repeat: no-repeat; */
	color: #fff;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	text-align: center;
	line-height: 50px;
	letter-spacing: 0.1em;
	background-size: cover;
  background: black;
}
#profile .prof-cont01 .qa dl {
	display: flex;
	border-bottom: solid 1px #a9a9a9;
	width: 98%;
	margin: 0 auto;
	padding: 1em 4px 1em 4px;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	flex-direction: column;
	align-items: start;
}

#profile .prof-cont01 .qa dl dt {
	flex-basis: 30%;
	color: #d36c03;
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (min-width:768px) { 
	#profile .prof-cont01 .qa dl {
		align-items: center;
		flex-direction: unset;
		padding: 1em;
	}
	#profile .prof-cont01 .qa dl dt {
		margin-bottom: 0;
	}
}

#profile .prof-cont01 .qa dl dd {
	flex-basis: 70%;
	font-size: 1.4rem;
	margin-left: 1em;
}
#profile .prof-cont01 .comment > div {
	overflow-y: auto;
	font-size: 1.4rem;
	line-height: 2em;
	font-weight: bold;
}
#profile .option {
	/* background-image: url("/img/profile_option_sp_bg.jpg"); */
	width: 96%;
	margin: 0 auto 20px;
	padding: 0 10px;
	/* background-repeat: no-repeat;
	background-size: cover; */
	overflow: hidden;
	position: relative;
  background: black;
}
#profile .option::before {
	/* content: "";
	background-image: url("/img/profile_option_bg_left.png");
	width: 70px;
	height: 28px;
	position: absolute;
	top: 0;
	left: 0; */
}
#profile .option::after {
	/* content: "";
	background-image: url("/img/profile_option_bg_right.png");
	width: 122px;
	height: 49px;
	position: absolute;
	bottom: 0;
	right: 0; */
}
#profile .option h3 {
	color: #fff;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	min-width: 240px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 20px 0 10px;
}
#profile .option h3 span {
	display: block;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.4rem;
	margin-left: 20px;
}
#profile .option ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#profile .option ul li {
	color: #000;
	width: calc(calc(100%/2) - 10px);
	height: 30px;
	text-align: center;
	font-size: 1.4rem;
	background: linear-gradient(to right, #ba8f0d 0%, #ffedb4 100%);
	margin: 3px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}
@media screen and (min-width:768px) { 
	#profile .option ul li {
		width: calc(calc(100%/3) - 10px);
	}
}
#profile .option ul li.off {
	background: linear-gradient(to right, #929291 0%, #e8e8e8 100%);
	color: #fff;
}
#profile .prof-cont02 {
	width: 96%;
	margin: 0 auto 60px;
}
#profile .prof-cont02 section {}
#profile .prof-cont02 .prof-schedule {
	margin-bottom: 20px;
}
#profile .prof-cont02 .prof-schedule h3 {
	/* background-image: url("/img/profile_title02.jpg"); */
	background-repeat: repeat-x;
	color: #fff;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	text-align: center;
	line-height: 50px;
	letter-spacing: 0.1em;
  background: black;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box {
	display: flex;
	flex-wrap: wrap;
	/* background-color: #000; */
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box::before {
	content: "";
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box::after {
	content: "";
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl {
	min-height: 74.4px;
	width: calc(calc(100%/4) - 4px);
	margin: 0 auto 9px;
	position: relative;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl:first-child::before,#profile .prof-cont02 .prof-schedule .prof-schedule-box dl:nth-child(5)::before {
	left: 0px;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl::before {
	content: "";
	position: absolute;
	top: 5%;
	right: -2px;
	height: 90%;
	z-index: 1;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 106%;
	left: -2%;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt {
	background-color: #f1f2f3;
	display: flex;
	align-items: center;
	height: 50px;
	justify-content: center;
	/* padding-left: 6px; */
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt > span {
	font-family: 'Lusitana', serif;
	font-size: 1.6rem;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt > span + span {
	font-family: 'Playfair Display', serif;
	font-size: 1.2rem;
	display: inline-block;
	background-color: #333;
	color: #fff;
	/* width: 50px; */
	text-align: center;
	padding: 4px;
	margin-left: 5px;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd {
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 6px;
	height: 84px;
	/* padding-left: 12px; */
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd > span {
	font-family: 'Lusitana', serif;
	font-size: 1.4rem;
	display: block;
	text-align: center;
	margin: 10px auto;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd .reserve {
	font-size: 1.4rem;
	color: #fff;
	display: block;
	background: #000;
	width: 94%;
	height: 40px;
	line-height: 40px;
	text-align: center;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd .reserve::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 8%;
	width: 0;
	height: 0;
	margin-top: -5px;
	border-top: 5px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #ffc53b;
}
.sat {
	color: #77c9f8 !important;
}
.sun {
	color: #fd5555 !important;
}
.yasumi, .mitei {
}

/* 動画追加20250328 */
#profile .prof-cont02 .prof-movie {
	width: 100%;
}
#profile .prof-cont02 .prof-movie h3 {
  background: black;
	color: #fff;
	/* height: 50px; */
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	text-align: center;
	line-height: 50px;
	letter-spacing: 0.1em;
}
#profile .prof-cont02 .prof-movie video {
  overflow-x: hidden;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100% !important;
  margin: 10px 0;
}

#profile .prof-cont02 .prof-photo {
	width: 100%;
  height: 550px;
	padding-bottom: 20px;
}

#profile .prof-cont02 .prof-photo h3 {
  background: black;
	color: #fff;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	text-align: center;
	line-height: 50px;
	letter-spacing: 0.1em;
}
#profile .prof-cont02 .prof-photo iframe {
  overflow-x: hidden;
  margin: 10px;
  width: calc(100% - 20px);
  height: 500px;
}


/*-- system.php --*/
.systemlist li {
  width: 100%;
  overflow: hidden;
  margin-bottom: 10%;
}

.systemlist li h3 {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 2%;
}

.systemlist li h3 span {
  font-size: 0.9rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 7px;
}

.systemlist dl {
  font-size: 1.2rem;
  overflow: hidden;
  padding: 2% 0 1.4%;
  text-align: left;
  width: 100%;
  float: left;
  border-bottom: 1px solid #ccc;
  /* margin-right: 1%; */
}

.systemlist dt {
  float: left;
  width: 40%;
  text-align: center;
}

.systemlist dd {
  float: left;
  width: 58%;
  text-align: right;
}

.systemlist .comment {
  clear: both;
  padding: 4% 0 2.6%;
}






















/* パンくずリスト */
#panIn {
  font-size: 0.7rem;
  padding: 8px 5px;
  margin: 0 auto 0;
  list-style-type: none;
  max-width: 1200px;
  display: block;
}



/* TOP スケジュール */
#todayssche ul {
  margin: 5px 0 20px;
}

#todayssche ul li {
  width: 25%;
  margin: 0;
  overflow: hidden;
  /* float: left; */
  text-align: center;
}

#todayssche ul li {
  width: 50%;
}


#todayssche ul li a {
  display: block;
  position: relative;
}


.list_new {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  width: 50px;
}

.list_new {
  width: 40px;
}


#todayssche ul li .ph,
#castPage ul li .ph,
#schedulePage ul li .ph,
#waitingPage ul li .ph {
  position: relative;
  padding-top: 133.333%;
  overflow: hidden;
}

#todayssche ul li .ph img,
#castPage ul li .ph img,
#schedulePage ul li .ph img,
#waitingPage ul li .ph img {
  position: absolute;
  top: 0;
  left: 0;
}

#wrap ul.revlist li .ph article,
#todayssche li article {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) , rgba(255, 255, 255, 1));
}

#todayssche li article {
  bottom: 25px;
  height: 65px;
  position: absolute;
  width: 100%;
  padding-top: 20px;
  box-sizing: border-box;
}

#todayssche li article {
  bottom: 50px;
}

#todayssche li article h3 {
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.1;
}

/* #todayssche li article .list_star {
  font-size: 1.1rem;
} */

#topPage #main_con ul li article p {
  white-space: inherit;
}


#todayssche li article .body {
  font-size: 0.7rem;
}

#list li .timedata,
#todayssche li .time,
.gallist li .timedata {
  background: url("/img/sub_bg.gif") repeat;
}

#todayssche li .time {
  width: 100%;
  box-sizing: border-box;
  height: 25px;
  padding: 0.5%;
  font-size: 13px;
  font-weight: bold;
}



/* トップ ニュース */
.subtitle span.more a {
  background-color: #000000;
  color: #FFF;
}

.subtitle span.more a {
  position: absolute;
  top: 10px;
  right: 5px;
  display: block;
  padding: 0.5% 1%;
  transition: all 0.3s ease 0s;
  line-height: 150%;
}

.block1 .subcont {
  margin-bottom: 15px;
}

.block1 .subcont li .ph {
  width: 100%;
  float: none;
  margin: 0 auto;
}
.block1 .subcont li .ajph {
  margin: 0 auto 3px;
  position: relative;
  width: 100%;
}


.block1 .subcont li article .day {
  font-size: 1.1rem;
  margin-top: 5px;
}

.block1 .subcont li article h3 {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
}

.block1 .subcont li article h3 {
  font-size: 1.1rem;
}

.block1 .subcont li article .comment {
  height: 230px;
}

.block1 .subcont li article .comment {
  margin-top: 5px;
  overflow: auto;
  height: 320px;
}

.block1 .subcont li article .comment {
  height: auto;
  overflow: visible;
}

/* トップ 新人情報 */
.block1 .subcont li .ajarticle {
  line-height: 1.3;
  width: 100%;
  text-align: center;
}

.block1 .subcont li article .ajcomment {
  height: auto;
  overflow: inherit;
  text-align: left;
  padding: 0 1.5%;
}



.block1 .subcont li article .ajh3 {
  font-size: 1.4rem;
}

.block1 .subcont li article .comment {
  height: auto;
  overflow: visible;
}

.subcont li article .reviewer:before {
  content: "投稿者：";
}

.subcont li article .reviewer:after {
  content: "さん";
  font-size: 0.8rem;
}

.subcont li article .star:before {
  content: "満足度：";
}

.block2 .subcont li article h3 {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.block2 .subcont li article .body {
  font-size: 1.1rem;
  line-height: 1.5;
  display: block;
  text-align: center;
}

/* .list_star {
  font-size: 0.78rem;
} */

.block2 .subcont li .ph {
  width: 90%;
  margin: 0px auto 3px;
  position: relative;
}
.block2 .subcont li .ph {
  width: 98%;
}

/* フローティング */
#bottomNavi {
  background-color: rgba(242, 242, 242, 0.9);
}

#bottomNavi {
  bottom: 0;
  color: #111;
  font-size: 0.8rem;
  overflow: hidden!important;
  position: fixed;
  width: 100%;
  z-index: 98;
  display: block;
}

/* #bottomNavi ul {
  margin: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden!important;
} */

/* #bottomNavi ul li {
  font-size: 0.66rem;
  border: none;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
} */

/* #bottomNavi li i {
  font-size: 2rem;
} */

/* #bottomNavi li span {
  display: block;
  font-size: 0.85rem;
  line-height: 1;
} */

/* コピーライティング */
#footer .copyright {
  text-align: center;
  font-size: 0.8rem;
  line-height: 200%;
  margin-top: 10px;
}

/* #footer {
  margin-top: 10px;
  padding-bottom: 80px;
  background: url(/img/bg_header.jpg) repeat center top;
} */

#footer .inner {
  max-width: none;
  margin: 0 auto;
  padding: 10px 0 0;
}

#bottomNavi li a {
  display: block;
  padding: 6px 0 3px;
  color: #333;
}



/* 在籍一覧 */
.list_today {
  display: block;
  right: 0;
  position: absolute;
  top: 0;
  z-index: 4;
  width: 70px;
}

.list_today {
  width: 55px;
}

.gallist {
  display: flex;
  flex-wrap: wrap;
}

.gallist {
  margin-top: 15px;
}

.listswich {
  transition: all .3s ease;
}



.gallist li {
  width: 49%;
  margin: 0 0.5% 25px;
  float: none;
}


.gallist li a {
  display: block;
  position: relative;
}

.gallist li article {
  bottom: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  padding-top: 25px;
  box-sizing: border-box;
  line-height: 1.3;
  padding-bottom: 5px;
}

.gallist li article {
  bottom: auto;
  position: static;
  padding-top: 5px;
  padding-bottom: 5px;
}

.sns {
  display: flex;
  font-size: 0.8rem;
  width: 100%;
  justify-content: space-between;
  text-align: center;
  margin-bottom: 5px;
}

.sns {
  color: #fff;
}


.gallist li article h3 {
  font-size: 1.3rem!important;
  font-weight: bold;
}

.gallist li article .body {
  font-weight: normal;
  font-size: 1.2rem;
}
.gallist li article .catch {
  font-size: 1rem;
  text-align: center;
}


/* 表示切り替え */
.switch-radio {
  display: none;
}

.switchB {
  display: flex;
  justify-content: space-between;
  width: 70px;
  margin: 20px 10px 20px auto;
}

.switchB {
  margin: 20px 2% 20px auto;
}

#gridv:checked~.switchB .switchB__gridv,
#listv:checked~.switchB .switchB__listv {
  cursor: default;
}
.switchB__gridv {
  position: relative;
}

.switchB__gridv,
.switchB__listv {
  cursor: pointer;
}

#gridv:checked~.switchB .switchB__gridv i,
#listv:checked~.switchB .switchB__listv i {
  color: #FF007F;
}

.switchB__gridv i,
.switchB__listv i {
  display: block;
  color: #ccc;
  font-size: 30px;
  transition: all .3s ease;
}

.fa-th:before {
  content: "\f00a";
}

#listv:checked~.listswich .list__item {
  width: 98%;
  margin: 0.5% 1% 1%;
}

#listv:checked~.listswich .list__item .ph {
  width: 30%;
  padding-top: 40%;
  float: left;
}

#listv:checked~.listswich .list__item article {
  width: 69%;
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 0;
}

#listv:checked~.gallist.listswich .list__item article {
  padding-top: 26px;
}

.list_star {
  font-size: 0.78rem;
}


/* 料金システム */
.systemlist li {
  width: 100%;
  overflow: hidden;
  margin-bottom: 10%;
}

.systemlist li h3 {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 2%;
}

.systemlist li h3 span {
  font-size: 0.9rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 7px;
}

.systemlist dl {
  font-size: 1.2rem;
  overflow: hidden;
  padding: 2% 0 1.4%;
  text-align: left;
  width: 100%;
  float: left;
  border-bottom: 1px solid #ccc;
  /* margin-right: 1%; */
}

.systemlist dt {
  float: left;
  width: 40%;
  text-align: center;
}

.systemlist dd {
  float: left;
  width: 58%;
  text-align: right;
}

.systemlist .comment {
  clear: both;
  padding: 4% 0 2.6%;
}



/* 出勤情報 */
#wrap #daynavi {
  max-width: 1080px;
  overflow: hidden;
}

#daynavi {
  /* margin: 5px auto 5px; */
  max-width: 100%;
}

#daynavi li {
  background: rgba(255, 255, 255, 0.7);
}

#daynavi li {
  width: 14.28%;
  margin: 0;
  float: left;
  text-align: center;
  position: relative;
  letter-spacing: 0.1rem;
  line-height: 135%;
}

#daynavi li a {
  display: block;
  padding: 15% 0% 10%;
  transition: all 0.7s ease 0s;
  background: #000000;
  color: white;
}

#daynavi li a:hover {
  background: #fbdf99;
  color: #1b1a1a;
}

/* 選択状態のスタイル - 色を変更 */
#daynavi li.current a {
  background: #BD8900; /* 選択状態の色を青系に変更 */
  color: #fff;
}


#daynavi li .dotw {
  font-size: 0.8rem;
  display: inline-block;
  width: 70%;
  margin-top: 1em;
  background: rgba(255,255,255,0.4);
}

#daynavi li p {
  font-size: 1.4rem;
}

#daynavi li .month {
  font-size: 0.9rem;
  display: inline-block;
  vertical-align: top;
  position: relative;
  top: -0.3em;
}



#list li article .catch {
  font-size: 1rem;
  text-align: center;
  font-weight: normal;
  display: none;
}

#list li .timedata {
  padding: 5px 0 4px;
  margin-top: 5px;
}

#list li article p {
  font-weight: normal;
}

#wrap ul li article h3,
#wrap ul li article p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #000;
}

#list li article h3 {
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0px;
}

#week-next li a {
  display: block;
  margin: 3px 0;
  padding: 5px;
  text-align: center;
  background: #000;
  color: #fff;
}

#week-next {
  bottom: 60px;
  font-size: 0.7rem;
  position: fixed;
  right: 0;
  width: 50px;
  z-index: 10;
}

#week-next li i {
  display: block;
  font-size: 3.5rem;
  line-height: 0.6;
}


/* 新人 */
#newfacePage .gallist > li {
  width: 100%;
}

#newfacePage .gallist li .ph {
  height: auto;
  width: 40%;
  float: left;
  position: relative;
  margin-top: 15px;
}

#newfacePage .gallist li article {
  bottom: auto;
  position: static;
  padding-top: 5px;
  padding-bottom: 5px;
  width: 60%;
  overflow: hidden;
  background: none !important;
}


#newfacePage .gallist li article .catch {
  font-size: 1rem;
  text-align: center;
  margin-bottom: 5px;
}

#newfacePage .gallist li article h3 {
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}

#newfacePage .gallist li article .body {
  font-size: 0.8rem;
  line-height: 1.2;
  text-align: center;
}

#newfacePage .gallist li article .type {
  width: 95%;
  margin: 5px auto;
  position: relative;
}

#newfacePage .gallist li article .type ul {
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
}

#topbox #profdata .type li,
#option_box li,
#newfacePage .gallist li article .type li {
  border-color: #BD8900;
  color: #BD8900;
}

#newfacePage .gallist li article .type li {
  width: 48%;
  font-size: 0.8rem;
}

#newfacePage .gallist li article .type li {
  height: 20px;
  border: 1px solid;
  padding: 8px 0;
  float: left;
  margin: 0.5%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  height: auto;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#newfacePage .gallist li article .comment {
  max-height: 90px;
  /* overflow: hidden; */
  font-size: 0.9rem;
  padding: 1% 2% 0;
  line-height: 1.3;
  height: 150px;
  overflow: scroll;
  text-align: left;
}

/* ランキング */
#rankingPage #wrap h3 {
  font-weight: bold;
  padding: 2% 1%;
  font-size: 1.4rem;
  margin-bottom: 0px;

}

.topiclist {
  margin: 30px 0 10%;
}

.topiclist li {
  width: 98%;
  display: block;
  overflow: hidden;
  position: relative;
  margin: 0 auto 3%;
}

.topiclist li .ph {
  float: left;
  width: 45%;
}


.topiclist li .ph div {
  height: 200px;
  width: 200px;
  border-radius: 50%;
  overflow: hidden;
  margin: auto;
}

#wrap li .ph .list_rank {
  left: 0%;
  position: absolute;
  top: 0;
  width: 22%;
  max-width: 60px;
}
#rankingPage .topiclist li article {
  text-align: center;
  width: 55%;
  padding: 2%;
  box-sizing: border-box;
  line-height: 1.6;
  float: left;
  background: rgba(255,255,255, 0.7);
}

.topiclist li article .rankno {
  letter-spacing: 0.4rem;
  
  font-size: 1rem;
  font-weight: bold;
  
}

#rankingPage #wrap li article .body {
  font-size: 1.2rem;
}

#rankingPage .topiclist li article h3,
#rankingPage .topiclist li article .body {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#rankingPage #wrap li article .catch {
  font-size: 1.1rem;
  text-align: center;
}

#rankingPage #wrap li article .comment {
  font-size: 1.0rem;
  text-align: left;
  margin-top: 5px;
}

/* イベント */
#eventPage .topiclist {
  margin-top: 0px;
}

#eventPage .topiclist li {
  overflow: hidden;
  padding: 1% 0;
  border-bottom: 1px solid #ccc;
}

#eventPage .topiclist li .ph {
  width: 100%;
  display: block;
  margin: 2% 0 1%;
}

#eventPage .topiclist li article {
  font-size: 1.2rem;
  line-height: 1.6;
}

#eventPage .topiclist li article p.day {
  font-size: 1rem;
}

#eventPage .topiclist li article h3,
#newsPage .topiclist li article h3 {
  font-size: 1.5rem;
  font-weight: bold;
  color: #DC001D;
  margin-bottom: 10px;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  text-align: left;
}

#eventPage #wrap ul li article h3,
#eventPage #wrap ul li article p {
  overflow: visible!important;
  white-space: normal;
}
#eventPage strong {
  font-size: 1rem;
}


/* ニュース */
#newsPage .topiclist {
  margin-top: 10px;
}

#newsPage .topiclist li {
  overflow: hidden;
  padding: 1% 0;
  border-bottom: 1px solid #ccc;
}
#newsPage .topiclist li .ph {
  width: 100%;
  display: block;
  margin: 2% 0 1%;
}

#newsPage .topiclist li article {
  font-size: 1.2rem;
  line-height: 1.6;
}

#newsPage .topiclist li article .day {
  font-size: 1rem;
  overflow: visible!important;
  white-space: normal;
}

#newsPage .topiclist li article h3 {
  font-size: 1.5rem;
  font-weight: bold;
  color: #DC001D;
  margin-bottom: 10px;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}

/* アクセス */

#access_list li .data{
  font-size: 18px;
  text-align: center;
  line-height: 1.5;
}


#access_list li .map iframe {
  height: 300px;
}





/* メールマガジン */
#magazinePage #wrap article {
  width: 96%;
  padding: 1%;
  margin: 10px auto;
  min-height: 500px;
  font-size: 1.1rem;
}

#wrap article .sec01 {
  width: 98%;
}


#magazinePage #wrap article .sec01 h3 {
  font-size: 1.4rem;
  margin-bottom: 3%;
  font-weight: bold;
  text-align: left;
}

#magazinePage #wrap article .sec01 h4 {
  font-size: 1.2rem;
  margin: 2% auto 1% auto;
  text-align: left;
}

#magazinePage #wrap article .sec01 form {
  text-align: center;
  margin: 40px auto;
}

#magazinePage #wrap article .sec01 .input {
  font-size: 1.2rem;
  width: 260px;
  padding: 1%;
  margin: 0 10px 0 0;
  background-color: #fff;
  border: 1px solid #666;
}

#magazinePage #wrap article .sec01 .submit {
  box-sizing: border-box;
  margin: 20px auto;
  padding: 8px 0;
  width: 150px;
  letter-spacing: 0.15em;
  font-weight: bold;
  text-align: center;
  transition: all 0.4s ease 0s;
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  cursor: pointer;
  font-size: 1.2rem;
}

#magazinePage .sec01 .submit {
  border-width: 1px;
  border: solid 1px;
}

#magazinePage #wrap article .sec01 label {
  margin: 0 30px 0 5px;
}


/* 女子求人情報 */
#recruitPage #wrap article {
  width: 96%;
  padding: 0 2%;
  margin: 10px auto;
  font-size: 1.1rem;
  line-height: 1.5;
  max-width: 1000px;
  min-height: 300px;
}

#recruitPage #wrap section {
  margin: 0 0 100px;
}

#recruitPage #wrap article h3 {
  font-size: 1.6rem;
  margin: 2% auto 1% auto;
  font-weight: bold;
  text-align: center;
}

#recruitPage #wrap article h4 {
  font-size: 1.5rem;
  margin: 2% auto 1% auto;
  font-weight: bold;
  text-align: center;
}

#recruitPage #wrap article .sec01 dl {
  font-size: 1.2rem;
  overflow: hidden;
  text-align: left;
  box-sizing: border-box;
  padding: 0;
  border: none;
}

#recruitPage #wrap article .sec01 dl:last-child {
  border-bottom: 1px solid #CCC;
}

#recruitPage #wrap article .sec01 dt {
  float: none;
  width: 98%;
  padding: 2% 1% 0.5% 1%;
  text-align: left;
  font-weight: bold;
  border-top: 1px solid #CCC;
}


#recruitPage #wrap article .sec01 dd {
  font-size: 1.1rem;
  float: none;
  width: 98%;
  text-align: left;
  padding: 0.5% 1% 2% 1%;
  border: none;
}

#error {
  color: red;
}

.check-1702887962, #error {
  display: none;
}

dl {
  border-top: 1px solid #DDD;
  font-size: 1.4rem;
  overflow: hidden;
  padding: 2% 0 2% 1%;
  text-align: left;
}

#recruitPage dt {
  float: none;
  width: 100%;
}

#recruitPage dd {
  float: none;
  width: 100%;
}

input.text {
  width: 80%;
}

input.short {
  width: 10%;
}

textarea#comment,
textarea.text {
  height: 100px;
  width: 98%;
}

#wrap article .more_btn {
  font-size: 13px;
}

.more_btn,
.back_btn {
  border-style: solid;
  border-width: 1px;
  box-sizing: border-box;
  display: block;
  margin: 20px auto;
  line-height: 40px;
  letter-spacing: 0.15em;
  text-align: center;
  transition: all 0.4s ease 0s;
  position: relative;
  cursor: pointer;
  font-weight: bold;
}

.more_btn,
.back_btn {
  width: 150px;
}

.more_btn:hover::after,
.more_btn:hover .btn {
  color: #fff;
}

#schebox .reserve a,
#magazinePage .sec01 .submit,
.more_btn,
.more_btn::after,
.btn,
.back_btn,
.back_btn::after {
  color: #333333;
}

.more_btn:after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-size: 10px;
  line-height: 40px;
  position: absolute;
  right: 15px;
  top: 0;
  transition: all 0.3s ease 0s;
  z-index: 1;
}

.btn {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  border: medium none;
  cursor: pointer;
  font-size: 1rem;
  letter-spacing: 0.15em;
  font-weight: bold;
}


/* お問い合わせ */
#contactPage .caution {
  font-size: 1rem;
  padding: 2%;
  text-align: left;
  margin-bottom: 20px;
}

#contactPage dt {
  float: none;
  width: 100%;
}

#contactPage dd {
  float: none;
  width: 100%;
}

#contactPage #wrap article {
  width: 96%;
  padding: 0 2%;
  margin: 10px auto;
  font-size: 1.1rem;
  line-height: 1.5;
  max-width: 1000px;
}

/* ネット予約 */
#reservePage .caution {
  font-size: 1rem;
  padding: 2%;
  text-align: left;
  margin-bottom: 20px;
}

#reservePage dt {
  float: none;
  width: 100%;
}

#reservePage dd {
  float: none;
  width: 100%;
}

#reservePage #wrap article {
  width: 96%;
  padding: 0 2%;
  margin: 10px auto;
  font-size: 1.1rem;
  line-height: 1.5;
  max-width: 1000px;
}


/* アンケート */
#enquetePage .caution {
  font-size: 1rem;
  padding: 2%;
  text-align: left;
  margin-bottom: 20px;
}

#enquetePage dt {
  float: none;
  width: 100%;
}

#enquetePage dd {
  float: none;
  width: 100%;
}

#enquetePage #wrap article {
  width: 96%;
  padding: 0 2%;
  margin: 10px auto;
  font-size: 1.1rem;
  line-height: 1.5;
  max-width: 1000px;
}

/* リンク */
#wrap .linkguide {
  margin-top: 10px;
}

#linkPage #wrap section .subtitle {
  background: none;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  width: 98%;
  margin: auto;
  font-size: 1.5rem;
  padding: 10px 0 10px 10px;
  position: relative;
  font-weight: 500;
  letter-spacing: 0.05rem;
}

#linkPage #wrap section .subtitle span {
  display: inline-block;
  font-size: 0.9rem;
  vertical-align: top;
  margin-left: 2%;
  padding: 0 0.5em;
}

#linkPage #wrap section .bn {
  padding: 20px 50px 30px;
}

#linkPage #wrap section .inner {
  padding: 10px 10px 20px;
  font-size: 1.2rem;
  line-height: 1.5;
}


/* ホテルリスト */
article.hotellist {
  width: 98%;
  margin: 20px auto;
  line-height: 1.5;
  font-size: 1.4rem;
}

.hotellist > ul {
  margin-bottom: 40px;
}

.hotellist > ul li {
  display: inline-block;
  width: 32.5%;
}

article.hotellist li {
  padding: 1% 0;
  border-bottom: 1px solid;
}

#hotelPage article.hotellist h3 {
  font-weight: bold;
  margin-bottom: 10px;
  text-align: left;
}

article.hotellist section {
  margin: 0 0 4%;
}


/* レビュー */
#wrap .sortbox {
  background: rgba(1,1,1,0.1);
  padding: 10px 2%;
  width: 90%;
  margin: 10px auto;
  overflow: hidden;
  font-size: 1.1rem;
}

#wrap .sortbox .gal_s {
  width: 100%;
  float: none;
}

#wrap .sortbox .more_btn {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: 50px;
  line-height: 34px;
}

#wrap .sortbox .order_s {
  width: 100%;
  float: none;
  text-align: center;
}

#wrap ul.revlist li {
  margin: 0 0 15px 0;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid;
  padding: 1%;
}

#wrap ul.revlist li .ph {
  width: 38%;
  margin-right: 2%;
  float: left;
  position: relative;
}

#wrap ul.revlist li a {
  display: block;
  position: relative;
}


#wrap ul.revlist li .ph article {
  bottom: 0;
  left: 0;
  text-align: center;
  position: absolute;
  width: 100%;
  padding-bottom: 5px;
  padding-top: 25px;
  margin: 0 0;
}

#wrap ul.revlist li .ph article h3 {
  font-size: 1.3rem;
  font-weight: bold;
}

#wrap ul.revlist li .ph article .body {
  font-size: 0.8rem;
}

#wrap ul.revlist li .commentbox {
  float: left;
  width: 60%;
}

#wrap ul.revlist li .commentbox .day {
  font-size: 0.8rem;
  text-align: right;
}

#wrap ul.revlist li .commentbox .reviewttl {
  font-size: 1.3rem;
}

#wrap ul.revlist li .commentbox .star {
  font-weight: bold;
}
#wrap ul.revlist li .commentbox .star {
  font-size: 1.1rem;
}

#wrap ul.revlist li .commentbox .day:before {
  content: "投稿日：";
}

#wrap ul.revlist li .commentbox .star:before {
  content: "満足度：";
}

#wrap ul.revlist li .commentbox .reviewer {
  font-size: 1.1rem;
}
#wrap ul.revlist li .commentbox .reviewer:before {
  content: "投稿者：";
}

#wrap ul.revlist li .commentbox .comment {
  font-size: 1.0rem;
  margin-top: 10px;
}
#wrap .sortbox .more_btn:after {
  display: none;
}



/* twitter.php */
#twitter .contentInner {
  display: flex;
  border: 2px solid #000;
  border-radius: 15px;
  /* padding: 20px; */
  margin: auto;
  margin: 0px auto 20px;
}

#twitter .contentInner .ph {
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#twitter .contentInner .ph div {
  border-radius: 50%;
  height: 100px;
  width: 100px;
  overflow: hidden;
  margin: auto;
}

#twitter .contentInner .Rcontent {
  width: 70%;
}

#twitter .contentInner .Rcontent .dataBox {
  font-size: 1rem;
}

#twitter .contentInner .Rcontent .dataBox .name {
  font-size: 1.4rem;
  text-align: center;
}

#twitter .contentInner .Rcontent .dataBox .twitterLink {
  border: 2px solid #000;
  border-radius: 15px;
  width: 250px;
  /* text-align: right; */
  float: right;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  /* font-size: 1rem; */
  margin-right: 3px;
}

#twitter .contentInner .Rcontent .dataBox .twitterLink svg {
  width: 26px;
  margin-right: 10px;
  position: relative;
  top: 3px;
}

#twitter .contentInner .Rcontent .dataBox .twitterLink .path01 {
  fill: #ffffff;
}

#twitter .contentInner .Rcontent .dataBox .twitterLink a {
  color: #ffffff;
}

#twitter .contentInner .Rcontent .dataBox .twitterLink .linkText {
  float: right;
  position: relative;
  top: 8px;
  font-size: 16px;
}

.staffTwitter .staffTitle {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 20px 0;
  background-color: #fa4c78;
  color: white;
  text-align: center;
  border-radius: 15px;
  width: 75%;
  margin: 20px auto;
}


/* 予約フォーム */
.profile-form .caption {
  font-size: 12px;
  margin: 10px;
  text-align: center;
}
.profile-form .form-group-wrapper {

}
.profile-form .form-group {
  margin-bottom: 20px;
}

.profile-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #555;
}

.profile-form input, .profile-form select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  box-sizing: border-box;
}

.profile-form button {
  background-color: #4CAF50;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  transition: background-color 0.3s;
}

.profile-form button:hover {
  background-color: #45a049;
}

.profile-form .error {
  color: red;
  font-size: 14px;
  margin-top: 5px;
}
.time-select-container {
  margin: 15px 0;
}

#timeList {
  overflow-x: auto; /* 横スクロール可能に */
  -webkit-overflow-scrolling: touch; /* スマホでのスムーズスクロール */
}

.timeListHeader {
  display: flex;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
}

.timeListBody {
  display: flex;
}

.timeListHeader .time,
.timeListBody .time {
  flex: 1;
  text-align: center;
  padding: 8px 0;
  border-right: 1px solid #eee;
  position: relative;
}

.timeListHeader .time span {
  position: absolute;
  top: 100%;
  width: 20px;
  height: 20px;
  text-align: center;
  left: 0px;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 100%;
  box-shadow: 0 0 5px #ccc;
  z-index: 2;
}

.timeListHeader .time:last-child,
.timeListBody .time:last-child {
  border-right: none;
}
.timeListHeader,
.timeListBody {
  display: flex; /* flexを維持 */
  min-width: 600px; /* 最小幅を設定してスクロールさせる */
}

.timeListHeader .time,
.timeListBody .time {
  flex: none; /* flexを解除して固定幅に */
  width: 40px; /* 各時間枠を40pxの固定幅に */
  min-width: 40px; /* 最小幅も設定 */
  padding: 8px 0;
}

/* スクロールを促すスタイル */
.time-select-container::after {
  content: '←スクロール可能→';
  display: block;
  text-align: center;
  font-size: 12px;
  color: #999;
  padding: 5px 0;
}
.timeListBody .time {
  cursor: pointer;
  transition: background-color 0.2s;
}

.timeListBody .time.available {
  color: #1890ff;
}

.timeListBody .time.available:hover {
  background-color: #e6f7ff;
}

.timeListBody .time.unavailable {
  color: #f5222d;
  cursor: not-allowed;
}

.timeListBody .time.outside-hours {
  background-color: #f5f5f5;
  cursor: not-allowed;
}

.timeListBody .time.selected {
  background-color: #1890ff;
  color: white;
}

.register-link {
  margin-top: 15px;
  text-align: center;
}

.register-link a {
  color: #4682B4;
  text-decoration: underline;
  cursor: pointer;
}

.swal-form {
  text-align: left;
  padding: 0 10px;
}

.swal-form .form-group {
  margin-bottom: 15px;
}

.swal-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.register-popup {
  width: 500px !important;
}
/* 予約時間情報のスタイル */
.reservation-time-info {
  margin-top: 5px;
  padding: 8px 12px;
  background-color: #f0f8ff;
  border: 1px solid #91d5ff;
  border-radius: 4px;
  color: #1890ff;
}

.reservation-time-info p {
  margin: 0;
  font-size: 0.9em;
}
.reserveCaption {
  font-size: 12px;
  text-align: center;
  margin-top: 5px;
  padding: 5px;
  border: solid 1px #CCC;
  border-radius: 5px;
  font-weight: bold;
  color: #676767;
}
.reserveCaption a {
  color: #D70000;
  text-decoration: underline;
  cursor: pointer;
  font-weight: bold;
}
.reserveCaption .fa-phone {
  margin-left: 5px;
  background: #45a049;
  color: #fff;
  font-weight: bold;
  padding: 5px;
  border-radius: 5px;
}

/*====================================
  top.php
====================================*/
/* top-news-event
-----------------*/

.what-new-cont article .time {
  letter-spacing: 0.4em;
  margin-bottom: 10px;
  display: inline-block;
}

#wrap article h3 {
  font-size: 18px;
  color: #DC001D;
  margin-bottom: 2%;
  font-weight: bold;
  text-align: center;
}
#top-news-event article {
  background-color: #ffffff;
}

.what-new-cont article > .what-new-text {
  height: 300px;
  overflow-y: auto;
}

/*====================================
  footer.php
====================================*/
#bottomNavi .floating-Banner a{
  width: 50%;
  margin: auto;
  display: block;
}
/* 予約モーダル */
#reserveModalWrap {
  display: none;
  backdrop-filter: blur(2px);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 9999;
}
#reserveModal {
  position: absolute;
  top: 50%;
  left: 10%;
  width: calc(80% - 40px);
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0px 5px 11px #ccc;
}
#reserveModalClose {
  position: absolute;
  top: -15px;
  right: -10px;
  font-size: 30px;
  color: #d80073;
  cursor: pointer;
  z-index: 10000;
}

.reserveTitle {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  text-align: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

.reserveContent {
  padding: 10px;
}

.reserveContent .title {
  font-size: 16px;
  font-weight: bold;
  color: #d80073;
  margin-top: 10px;
  margin-bottom: 5px;
}

.reserveContent p {
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 1.5;
}

.reserveContent a {
  color: #D70000;
  text-decoration: underline;
  font-weight: bold;
}


/*====================================
  スライダーに左右ボタンを追加 202504030
====================================*/
/* 矢印を左右に配置 */
.top-slide-rank .slider .prev,
.top-slide-rank .slider .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
}

.top-slide-rank .slider .prev {
  left: 10px;
}

.top-slide-rank .slider .next {
  right: 10px;
  transform: translateY(-50%) rotate(180deg); /* 右矢印を180度回転 */
}


/*====================================
  index_dx.php追加 20250510
====================================*/
#indexDxPage {
  background: url('/img/dx_bg_ego.jpg') no-repeat center top;
  background-size: cover;
  min-height: 100vh;
  position: relative;
}


#indexDxPage #wrapper {
  width: 100%;
  height: 100vh;
  position: relative;
}

#index_dx {
  width: 100%;
  height: 100%;
  position: relative;
}

#index_dx h1 {
  position: absolute;
  width: 100%;
  top: 25%;
  left: 0;
  color: #fff;
  font-size: 25px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  text-align: center;
  z-index: 10;
}


.link-container {
  position: absolute;
  right: 20px;
  top: 60%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 220px;
  z-index: 5;
}

.link-item {
  transition: transform 0.3s ease;
}

.link-item:hover {
  transform: scale(1.05);
}

.link-item img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); */
}
/*====================================
  index_dx_20251117.php追加 20251117
====================================*/
#indexDxPage_20251117 {
  background: url('/img/index_dx/bg.webp') no-repeat center top;
  background-size: cover;
  min-height: 100vh;
  position: relative;
}
#indexDxPage_20251117 #particles-js {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
#indexDxPage_20251117 #particles-js canvas {
  filter: blur(20px);
}
#indexDxPage_20251117 #wrapper {
  height: 100dvh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#indexDxPage_20251117 #logo {
  position: absolute;
  width: 56%;
  top: 200px;
  right: 10px;
  z-index: 1;
}
#indexDxPage_20251117 #girl {
  position: absolute;
  height: 100dvh;
  max-width: unset;
  width: unset;
  top: 0;
  left: -75px;
}
#indexDxPage_20251117 h1 {
  top: 10px;
}
#indexDxPage_20251117 .link-container {
  top: 300px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 100%;
  width: 70%;
}
#indexDxPage_20251117 .link-container .link-item {
  padding: 20px;
  backdrop-filter: blur(5px);
  background: rgb(255 255 255 / 70%);
  color: #111;
  font-weight: bold;
  box-shadow: 0px 5px 10px #33333352;
}
#indexDxPage_20251117 .link-container .link-item .captionMain {
  font-weight: bold;
  font-size: 24px;
}
#indexDxPage_20251117 .link-container .link-item .captionSub {
  font-size: 14px;
  padding: 5px;
  font-weight: bold;
}
#indexDxPage_20251117 .link-container .link-item .captionClick {
  text-align: right;
  font-size: 16px;
  position: relative;
  top: 15px;
  right: -15px;
}