/*
Theme Name: Bunny's Guild V3
Description: カジノコンセプト　カフェ＆バー
Author: Bunny's Guild IT_Team
Author URI: http://bunnysguild.com/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Version: 1.0
*/

@charset "UTF-8";

/* RESET
=======================================*/
html, body {
	overscroll-behavior: none; /* disables scroll chaining */
}
body {
	margin: 0;
	padding: 0;
}

div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,button,textarea,p,blockquote,header,nav,footer,section,canvas,article,figure { 
	margin:0;
	padding:0;
	line-height: 1.2;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	display: block;
}
table {
	margin:0;
	padding:0;
	border-collapse:separate;
	border-spacing:0;
}

ul, ol { list-style: none;}
img {
	border: none;
	vertical-align: top;
}

/*DEFAULT
=======================================*/

html{
	font-size: clamp(10px, 1.6vw + 0.2rem, 16px);
}
body {
	font-size: 1.6em;
	color: #fff;
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
	background-image: url(images/gbpc_cropped1.jpg);
	background-position: center center;
	background-repeat: repeat;
	background-size: 5%;
	background-color: #fff;
}
a {
	color:#d4b861;
	text-decoration:underline;
}
a:hover {
	text-decoration:none;
}


/*COMMON
=======================================*/

.f-clear {
	clear: both;
}
.f-right{
	float: right;
}
.f-left{
	float: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-large,
#contents p.txt-large{
	font-size: 1.8rem;
}
.txt-small,
#contents p.txt-small{
	font-size: 1.4rem;
}
.txt-attention{
	color: #ff3333;
}
a.arrow{
	background-image: url(img/icon_arrow.png);
	background-position: left center;
	background-repeat: no-repeat;
	text-indent: 20px;
	display: inline-block;
}


/*-----clearfix-----*/

.clearfix:after {
  content: ".";  
  display: block;  
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}


/* wrapper
=======================================*/


/* header
=======================================*/

header#header {
	background-image: url(images/header.png);
	background-position: center top;
	background-repeat: repeat-x;
	height: 170px;
	position:fixed;
	width: 100%;
	z-index: 9999;
	background-size: contain;
}
#header-in {
	width: 1100px;
	height: 175px;
	margin: 0 auto;
	position: relative;
}
#header-in h1{
	width: 180px;
	position: absolute;
	top: 10px;
	left: 0px;
}
#header-in h1 a{
	display: block;
	background-image: url(images/logo_BG_A.png);
	background-position: center top;
	background-repeat: no-repeat;
	text-indent: -500%;
	overflow: hidden;
	height: 106px;
	background-size: cover;
}
#header-in p{
	font-size: 1.2rem;
	text-align: right;
	/* padding: 15px 0 25px; */
	margin: 0;
}

/*----- nav -----*/

#header-in nav{
	float: right;
}
#header-in nav ul{
	margin: 50px 0 0;
}
/* #header-in nav ul li{
	display: table-cell;
	padding: 0px 40px 0px 0px;
	text-align: center;
	background-image: url(images/bg-parts/BGHP_PC_title_star.png);
	background-position: right 8px;
	background-repeat: no-repeat;
	background-size: 12%;
} */
#header-in nav ul li {
	display: inline-block;
	position: relative;
	padding: 0 20px;
	font-weight: bold;
	font-size: 24px;
}
  
#header-in nav ul li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 44%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url(images/bg-parts/BGHP_PC_title_star.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#header-in nav ul li:last-child{
	background: none;
	padding-right: 0;
}
#header-in nav ul li a {
	color: #000;
	text-decoration: none;
	display: inline-block;
	overflow: hidden;
	font-size: 1.8rem;
	font-family: "Caprasimo", serif;
	font-weight: 400;
}
#header-in nav ul li a:hover{
	transform: scale(1.1);
}
#header-in nav ul li:nth-child(1) a{
	/* background-position: 0px center; */
	/* width: 73px; */
}
#header-in nav ul li:nth-child(2) a{
	/* background-position: -101px center; */
	/* width: 91px; */
}
#header-in nav ul li:nth-child(3) a{
	/* background-position: -221px center; */
	/* width: 70px; */
}
#header-in nav ul li:nth-child(4) a{
	/* background-position: -320px center; */
	/* width: 59px; */
}
#header-in nav ul li:nth-child(5) a{
	/* background-position: -407px center; */
	/* width: 70px; */
}

/* slider banner*/
ul#slide-banner {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  padding: 0;
  position: relative;
  overflow: hidden;
  overscroll-behavior: contain; /* prevents scroll chaining */
  
}
ul#slide-banner,
ul#slide-banner .slick-slide {
  height: 100vh;
  overflow: hidden;
} 
ul#slide-banner li img {
	margin-top: 0px;
    height: 100%;
    width: 100%;
	object-fit: cover;
}

.slick-dots {
	text-align: center;
	padding: 0;
	margin: -50px 0 0;
	list-style: none;
	z-index: 1;
    position: relative;
  }
  
  .slick-dots li {
	display: inline-block;
	margin: 0 5px;
  }
  
  .slick-dot {
	display: block;
	width: 10px;
	height: 10px;
	background-color: #FFF;
	border-radius: 50%;
	text-indent: -9999px; /* Hide text */
	overflow: hidden;
	cursor: pointer;
  }
  
  .slick-dots li.slick-active .slick-dot {
	background-color: #333;
	cursor: default;
  }

/* footer
=======================================*/

footer{
	background-color: #fff;
    opacity: 0.8;
}
#footer-in{
	width: 1100px;
	margin:0 auto;
	padding: 10px 0;
	overflow: hidden;
}

.footer-logo-top{
    display: block;
    margin: 0 auto;
    width: 200px;
}
#footer-logo img {
    width: 100%;
    padding: 30px 0 40px;
    display: block;
}
.external__links {
    display: flex;
    justify-content: space-between;
}
.external__links .ex-links {
	text-align: center;
	margin-bottom: 3rem;
}
.external__links .ex-links h5{
	color: #A68EC3;
	font-size: 2.8rem;
	margin-bottom: 2rem;
	font-weight: 700;
	font-family: "Caprasimo", serif;

}
/*----- pagetop -----*/

p.pagetop{
	display: none;
}

/*----- footer links -----*/

#footer-links{
	width: 100%;
	background-color: #333;
	position: relative;
	background-image: url(img/bg_footer-bk.png);
	background-position: center bottom;
	background-repeat: repeat-x;
	padding: 8px 0 40px;
}
#footer-links:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 30px;
	background-image: url(img/bg_footer-gr.png);
	background-position: center top;
	background-repeat: repeat-x;
	position: absolute;
	top: -28px;
	z-index: 100;
}
#footer-links ul{
	display: flex;
	justify-content:space-around;
	flex-wrap: wrap;
	align-items: center;
	width: 1000px;
	min-height: 60px;
	margin: 0 auto;
}
#footer-links ul li{
	margin: 10px 0;
	padding: 0;
	text-align: center;
	
}
#footer-links ul li a img{
	height: 50px;
	width: auto;
}

.ex-links ul li a {
	text-decoration: none;
    color: #000;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 3rem;
}

/*----- custom map area -----*/
.google-map{
	position: relative;
	overflow: hidden;
}
.map-frame-content{
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 1;
	margin: 2px;
}

.map-container {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto 1fr auto;
	gap: 0;
	border-collapse: collapse;
	z-index: 999;
    position: relative;
	min-height: 470px;
  }

  .frame-part {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
  }

  .frame-center {
	width: 100%;
	
	text-align: center;
  }

  .frame-part img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
	border: none !important;
	margin: 0! important;
  }
  .top-part img {
    position: absolute;
    top: 0;
    width: 100%;
}
  .bottom-part img {
	position: absolute;
	bottom: 0;
	width: 100%;
}

.left-part img {
position: absolute;
left: 0;
height: 100%;
object-fit: cover;
}

.right-part img {
position: absolute;
right: 0;
height: 100%;
object-fit: cover;
}
/*----- custom map area -----*/
/*----- footer area -----*/

#footer-area{
	width: 50%;
	float: left;
}
#footer-area p{
	margin: 0;
	padding: 5px 0 5px 200px;
	line-height: 1.5;
	font-size: 1.2rem;
	background-image: url(img/logo-fotter.png);
	background-position: left center;
	background-repeat: no-repeat;
}

/*----- footer copyright -----*/

footer #sns-area{
	text-align: right;
	padding-bottom: 12px;
}
footer #sns-area a.twitter{
	width: 47px;
	height: 48px;
	background-image: url(img/icon_tweet.png);
	background-position: top center;
	background-repeat: no-repeat;
	text-indent: 200%;
	overflow: hidden;
	display: inline-block;
	margin: 0 0 0 10px;
}
footer #sns-area a.facebook{
	width: 47px;
	height: 48px;
	background-image:url(img/icon_facebook.png);
	background-position: top center;
	background-repeat: no-repeat;
	text-indent: 200%;
	overflow: hidden;
	display: inline-block;
	margin: 0 0 0 10px;
}
footer address{
	font-style: normal;
	font-size: 1.2rem;
	color: #fff;
	text-align:right;
	padding: 5px;
}


/* main contents
=======================================*/

#cast-list li a {
	display: block;
	text-decoration: none;
	position: relative;
	
}

.cast-name-desktop {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    text-align: center;
    left: 0;
    right: 0;
    color: #fff;
	font-size: 1.4rem;
	line-height: 2.5;
    background: rgba(166, 142, 195, 0.8);
	opacity: 0;
	transform: scale(0.7) translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.cast-name-mobile {
	text-align: right;
	font-size: 2.6rem;
	text-decoration: none;
	line-height: 60px;
}

#cast-list li a:hover .cast-name-desktop{
	opacity: 1;
	transform: scale(1) translateY(0);
}

.page-content-top {
    margin-bottom: 2rem;
}

.page-content-bottom {
    margin-top: 2rem;
}

.page-content-bottom img {
    rotate: 180deg;
}
.call-to-action a {
	width: 70%;
    margin: 0 auto;
    display: block;
	position: relative;
	z-index: 2;
}
.call-to-action img{
	width: 100%;
    height: auto;
    display: block;
    margin: 50px auto 0;
}
.call-to-action-concept{
	width: 100%;
	margin: 2rem auto 2rem;
	display: block;
	position: relative;
	z-index: 2;
}
.call-to-action-concept img{
	width: 100%;
    height: auto;
    display: block;
	position: relative;
    z-index: 2;
}
/* page frame */
.frame-top{
	margin-top: 50px;
}
.frame-container{
	background-image: url(images/bg-parts/BGHP_PC_middle1.png);
    background-position: center center;
    background-repeat: repeat-y;
    position: relative;
    color: #000000;
    /* margin: 165px auto 150px; */
    box-sizing: border-box;
    text-align: center;
	padding: 0 80px;
}
.frame-containerXXX:before{
	content: ' ';
    display: block;
    width: 100%;
    height: 118px;
    position: absolute;
    top: -118px;
    left: 0;
    background-image: url(images/bg-parts/BGHP_PC_up1.png);
    background-position: center top;
    background-repeat: no-repeat;
	background-size: cover;
}
.frame-containerXX:after{
	content: ' ';
    display: block;
    width: 100%;
    height: 103px;
    position: absolute;
    bottom: -103px;
    left: 0;
    background-image: url(images/bg-parts/BGHP_PC_down1.png);
    background-position: center bottom;
    background-repeat: no-repeat;
	background-size: cover;
}
.top-bg-image{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}
.bottom-bg-image{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}
.page-contents {
    display: block;
    position: relative;
}
/* page frame */

/* slick slider */
.slick-prev.slick-arrow,
.slick-next.slick-arrow {
	border: none;
	z-index: 999;
	position: absolute;
	background: url(images/bg-parts/new/slidericon.png);
	text-indent: -260%;
	overflow: hidden;
	width: 50px;
	height: 50px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}
.cast-slider .slick-next.slick-arrow {
    right: -18px;
    top: 32.5%;
	rotate: 180deg;
}

.cast-slider .slick-prev.slick-arrow {  
    left: -18px;
    top: 32.5%;
}

#news-slider-autoplay {
    display: flex;
    gap: 20px;
	flex-wrap: wrap;
	justify-content:space-around;
}

#news-slider-autoplay .slick-next.slick-arrow {
    right: -24px;
    top: calc(50% - 25px);
	rotate: 180deg;
}
#news-slider-autoplay .slick-prev.slick-arrow {
    left: -24px;
    top: calc(50% - 25px);
}
#news_detail img {
    width: 100%;
    margin-bottom: 2rem;
}
#concept-slider .slick-next.slick-arrow {
    right: -24px;
    top: calc(50% - 25px);
	rotate: 180deg;
}
#concept-slider .slick-prev.slick-arrow {
    left: -24px;
    top: calc(50% - 25px);
}
#concept-slider .slick-list{
	border-radius: 15px;
	overflow: hidden;
}
#concept-slider {
	position: relative;
	width: 80%;
	height: 100%;
	margin: 30px auto -40px;
	border-radius: 15px;
}
#slider-autoplay {
	position: relative;
	width: 100%;
	height: 100%;
}

#slider-autoplay .slide-inner {
	display: flex;
	justify-content: space-between;
	gap: 4%; /* optional */
}
  
  #slider-autoplay .post-item {
	width: 32%;
	box-sizing: border-box;
  }

  .slide-inner .post-item a img {
	width: 100%;
  }

  .common-slick-slider .slick-slide {
	padding: 0 10px; /* Creates 20px total gap between slides */
	box-sizing: border-box;
  }
  .cast-slider .post-item a img {
	width: 100%;
	/* height: 421px;
    object-fit: cover; */
  }
  .common-slick-slider .slick-list {
	margin: 0 -10px; /* Compensate for padding on edges */
  }

  /*wp caresole slider customization*/
#concept-slider-section {
	width: 70%;
	height: 100%;
	position: relative;
	margin: 0 auto;
	padding: 0;
}
#concept-slider-section .wpcp-carousel-section.nav-vertical-center{
	max-height: 500px;
	border-radius: 15px;
}
#concept-slider-section .wpcp-carousel-section.nav-vertical-center .swiper-button-next, 
#concept-slider-section .wpcp-carousel-section.nav-vertical-center .swiper-button-prev{
	border: none;
	z-index: 999;
	position: absolute;
	background: url(images/bg-parts/new/slidericon.png) !important;
	text-indent: -260%;
	overflow: hidden;
	width: 50px;
	height: 50px;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	transform: none !important;
}
#concept-slider-section .swiper-button-next{
	rotate: 180deg;
}
#concept-slider-section .swiper-button-prev i,
#concept-slider-section .swiper-button-next i{
	display: none !important;
}
#concept-slider-section .swiper-button-prev,
#concept-slider-section .swiper-button-next{
	top: calc(50% - 25px) !important;
}
#concept-slider-section .swiper-slide,
#concept-slider-section .wpcp-carousel-section .wpcp-single-item{
	border-radius: 15px !important;
	border: none !important;
}
/*wp caresole slider customization*/
  .news-item-bg{
	background-image: url(images/bg-parts/new/news-bg.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover; /* or use contain depending on the image style */
	padding: 5px;
	width: 300px; /* Make it responsive */
	max-width: 300px;
	aspect-ratio: 1 / 1; /* Keeps it square and scalable */
	margin: 0 auto;
	box-sizing: border-box;
  }
  .news-content .box-news-thumb img{
	object-fit: contain;
    height: 160px;
	width: 100%;
	margin: 0 auto;
  }
  .box-news-in{
	font-size: 16px;
    color: #d4b861;
    font-weight: 400;
    text-align: center;
    margin: 8px auto;
	min-height: 1rem;
  }
  .news-content .news-title{
	font-size: 18px;
	line-height: 24px;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    text-align: left;
    float: left;
	overflow: hidden;
	margin: 0.8rem;
  }
/* slick slider */
/* sns section */
.sns-links {
	display: flex;
	gap: 12px; /* spacing between items */
	justify-content: space-between;
	
}
  
.sns-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
    height: auto; /*220px;*/
	background-image: url(images/bg-parts/new/sns.png); 
	background-size: cover;
	background-position: center;
	overflow: hidden;
	padding: 30px;
}
  
.sns-link img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
.map-content-frame{
	border: #d4b861 3px solid;
	height: 457px;
}
/* sns section */
/* modal enlarge section */
.clickable-image{
	cursor: pointer;
}
.image-modal {
	display: none; /* Hidden by default */
	position: fixed;
	z-index: 9999;
	padding-top: 80px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.9);
  }
  
  .image-modal .modal-content {
	margin: auto;
	display: block;
	max-width: 80%;
	max-height: 80%;
	animation: zoomIn 0.3s;
  }
  
  .image-modal .close {
	position: absolute;
	top: 15px;
	right: 15px;
	color: white;
	font-size: 40px;
	font-weight: bold;
	cursor: pointer;
  }
  
  @keyframes zoomIn {
	from { transform: scale(0.7); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
  }
/* modal enlarge section */

main#contents{
	width: 1100px;
	margin: 0 auto;
	min-height: 700px;
	position: relative;
	display: block;
}

.dashicons-phone.custom-phone-icon {
    font-size: 36px;
    margin-right: 1rem;
    color: #A68EC3;
}
/* 見出し */
h2.pagetitle{
	background: url(img/h2_access.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	width: 100%;
	height: 169px;
	margin-bottom: 70px;
	overflow: hidden;
	text-indent: -200%;
	padding-top: 105px;
}
.page-title{
	font-size: 2.6rem;
    line-height: 1.2;
    color: #000;
    font-family: "Caprasimo", serif;
    text-align: center;
    position: relative;
    margin-bottom: 2rem;
    font-weight: 400;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.page-title-after,
.page-title-before{
	min-width: 30px;  
	height: 30px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(images/bg-parts/BGHP_PC_title_star.png);
}
.page-subtitle{
	font-size: 1.4rem !important;
	margin-bottom: 1rem;
}
.gallery-title{
	font-size: 2rem;
    line-height: 1.2;
    color: #000;
    font-family: "Caprasimo", serif;
    text-align: center;
    position: relative;
    margin: 2rem auto 2rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.access-hour-title{
	font-size: 2rem;
    line-height: 1.2;
    color: #000;
    font-family: "Caprasimo", serif;
    text-align: center;
    position: relative;
    margin: 0 auto 2rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
.access-hour-title-after,
.access-hour-title-before{
	width: 32px;  /* or adjust to fit your image */
	height: 32px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(images/bg-parts/BGHP_PC_title_star.png);
}
/*system menu */
#cast-list,
.menu-list {
	margin-bottom: 0 !important;
}
#cast-list,
.news-item-list,
.menu-list {
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-between; */
	gap: 20px; /* spacing between items */
	margin-bottom: 50px;
}
.menu-list {
	justify-content: space-between;
}
.menu-list .menu-item {
	width: calc(50% - 20px); /* Adjust width to fit 2 items per row with gap */
	box-sizing: border-box;
	background-color: #f8f8f8; /* Background color for menu items */
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
	position: relative;
}

.news-item-list .news-item {
	/*width: calc(33.333% - 20px);  Adjust width to fit 3 items per row with gap */
	flex: 0 1 calc((100% - 40px) / 3);
	box-sizing: border-box;
	background-color: #f8f8f8; /* Background color for menu items */
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
	position: relative;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#cast-list li {
	/* width: calc(33.333% - 20px);  Adjust width to fit 3 items per row with gap */
	flex: 0 1 calc((100% - 40px) / 3);
	box-sizing: border-box;
	background-color: #f8f8f8; /* Background color for menu items */
	overflow: hidden;
	text-align: center;
	position: relative;
}

#cast-list li a img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.news-item-list .news-item a .news-item-thumb img{
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.news-item a{
	text-decoration: none;
}
.news-item-title {
	font-size: 1.4rem;
	color: #000;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	text-align: left;
	margin: 1rem;
	display: block;
	
    overflow: hidden;
}
.news-item-title.default-height{
	height: 4rem;
}
.news-item-title.maintain-height{
	height: 6rem;
}
.news-schedule {
    height: 2rem;
    text-align: center;
    font-size: 1.2rem;
    margin-top: 1rem;
    display: block;
    color: #000;
	border-bottom: 1px solid #ddd;
}
.news-item-time {
    border-top: 1px solid #ddd;
    text-align: right;
    padding: 8px;
	font-size: 18px;
	color: #000;
}
.news-cat {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
	gap: 8px;;
}
.news-cat li{
	background-color: #A68EC3;
	color: #fff;
	padding: 4px 15px;
	border-radius: 5px;
	font-size: 14px;
}
.dashicons-clock.custom-clock {
    margin-right: 0.8rem;
    line-height: 18px;
	vertical-align: middle;
}
.news-item-list .news-item a{
	text-decoration: none;
}
.menu-list .menu-item img{
	width: 100%;
	height: auto;
	object-fit: cover;
	cursor: pointer;
}
p.page-concept-text {
    margin-bottom: 1rem;
}
/*system menu */
h2.pagetitle:before{
	content: ' ';
	display: block;
	width: 235px;
	height:125px;
	position: absolute;
	top:197px;
	left:19px;
	background-image: url(img/h2_tramp-lt.png);
	background-position: center top;
	background-repeat: no-repeat;
}
h2.pagetitle:after{
	content: ' ';
	display: block;
	width:235px;
	height:126px;
	position: absolute;
	top: 201px;
	right: 13px;
	background-image: url(img/h2_tramp-gt.png);
	background-position: center top;
	background-repeat: no-repeat;
}
#contents h3{
	clear: both;
	border: #d4b861 3px solid;
	border-radius: 13px;
	background-image: url(img/h3_bg.png);
	background-position: center center;
	position: relative;
	margin: 75px auto 45px;
	box-sizing: border-box;
	width: 1000px;
	text-align: center;
}
#contents h3:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 41px;
	position: absolute;
	top: -25px;
	left: -3px;
	padding: 0 3px;
	background-image: url(img/h3_part-hd1.png), url(img/h3_part-hd2.png), url(img/h3_part-hd3.png);
	background-position: left bottom, center top, right bottom;
	background-repeat: no-repeat;
}
#contents h3:after{
	content: ' ';
	display: block;
	width: 100%;
	height: 41px;
	position: absolute;
	bottom: -25px;
	left: -3px;
	padding: 0 3px;
	background-image: url(img/h3_part-ft1.png), url(img/h3_part-ft2.png), url(img/h3_part-ft3.png);
	background-position: left top, center bottom, right top;
	background-repeat: no-repeat;
}
#contents h3 span{
	display: inline-block;
	padding: 15px;
	font-size: 3.0rem;
	line-height: 1.6;
	color: #d4b861;
	font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
	position: relative;
}
#contents h3 span:before{
	content: ' ';
	display: inline-block;
	width: 45px;
	height: 30px;
	background-image: url(img/h3_text-lt.png);
	background-position: left 13px;
	background-repeat: no-repeat;

}
#contents h3 span:after{
	content: ' ';
	display: inline-block;
	width: 45px;
	height: 30px;
	background-image: url(img/h3_text-gt.png);
	background-position: right 13px;
	background-repeat: no-repeat;

}
#contents h2+h3{
	margin-top: 20px;
}

#contents h4{
	margin: 30px 10px 20px;
	padding: 0 5px 5px;
	font-size: 2.4rem;
	color: #d4b861;
	border-bottom:#d4b861 4px double;
}
#contents h5{
	margin: 25px 5px;
	font-size: 1.8rem;
	line-height: 1.8;
	color: #d4b861;
}

/* 段落・テキスト */
#contents p{
	font-size: 1.6rem;
	line-height: 1.8;
}
#contents .box_in h4:first-child,
#contents .box_in p:first-child,
#contents p.lead{
	margin-top: 0;
}
#contents p strong{
	font-size: 1.8rem;
}

/* table */

#contents .box_in table{
	border-radius: 10px;
	border:#d4b861 3px solid;
	background-color:#333333;
	width: 465px;
	margin: 0px auto 30px;
}
#contents .box_in table th{
	background-image: url(img/bg_table-hd2.png);
	background-position: center center;
	padding: 15px 10px;
	color: #805f0d;
	font-size: 1.6rem;
	line-height:1.6;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
	border-top:#805f0d 2px solid;
	width: 25%;
}
#contents .box_in table td{
	border-top:#d4b861 2px solid;
	padding: 15px 10px;
	color: #fff;
	font-size: 1.6rem;
	line-height:1.6;
	text-align: left;
}
#contents .box_in table tr:first-child th,
#contents .box_in table tr:first-child td{
	border-top:none;
}

#contents .box_1col table{
	border-radius: 20px;
	border:#d4b861 3px solid;
	background-color:#333333;
	width: 870px;
	margin: 0px auto 30px;
	min-height: 100px;
}
#contents .box_1col table th{
	background-image: url(img/bg_table-hd2.png);
	background-position: center center;
	padding: 15px 10px;
	color: #805f0d;
	font-size:2.2rem;
	line-height:1.6;
	letter-spacing: 3px;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
	border-top:#805f0d 1px solid;
	border-left:#805f0d 1px solid;
	border-bottom:#805f0d 1px solid;
	border-radius: 17px 0 0 17px;
	width: 35%;
	vertical-align: middle;
	text-align: center;
}
#contents .box_1col table td{
	border-top:#d4b861 2px solid;
	padding: 15px 10px;
	color: #fff;
	font-size:1.8rem;
	line-height:1.6;
	border-top:#805f0d 1px solid;
	border-right:#805f0d 1px solid;
	border-bottom:#805f0d 1px solid;
	border-radius: 0 17px 17px 0;
	vertical-align: middle;
	text-align: center;
}
#contents .box_1col table td .txt-large{
	font-size:2.2rem;
}

/* 画像 */
/* concept */
.fixed-page {
    padding: 170px 0 0;
}
.page-concept-inner:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 70px;
    position: absolute;
    top: -70px;
	left: 0;
	background-image: url(images/content-top.png);
	background-position: center top;
	background-repeat: no-repeat;
}
.page-concept-inner:after{
	content: ' ';
	display: block;
	width: 100%;
	height: 70px;
    position: absolute;
    bottom: -70px;
	left: 0;
	background-image: url(images/content-top.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	rotate: 180deg;
	z-index: 1;
}
.page-concept-inner {
    position: relative;
    padding: 2rem 0;
	margin: 110px 0;
}
.concept-image-item{
	border-radius: 15px;;
}
.concept-image-item img {
    width: 100%;
    border-radius: 15px;
    margin: 0 auto;
}
/* concept */

#contents .box_in img{
	border:#d4b861 3px solid;
	margin: 5px;
}
#contents .box_in img.none{
	border:none;
}
#contents .box_in .waku img{
	border:#d4b861 3px solid;
	border-radius: 20px;
	margin: 0;
}
#contents .box_in .waku {
	position:relative;
	text-align: center;
	display: inline-block;
}
#contents .box_in .waku:before{
	content: ' ';
	display: inline-block;
	width: 100%;
	height: 45px;
	position: absolute;
	top: -7px;
	left: -27px;
	padding: 0 27px;
	background-image: url(img/img_part-hlt.png), url(img/img_part-hgt.png);
	background-position: left top, right top;
	background-repeat: no-repeat;
}
#contents .box_in .waku:after{
	content: ' ';
	display: inline-block;
	width: 100%;
	height: 45px;
	position: absolute;
	bottom: -7px;
	left: -27px;
	padding: 0 27px;
	background-image: url(img/img_part-blt.png), url(img/img_part-bgt.png);
	background-position: left top, right top;
	background-repeat: no-repeat;
}

/* box */

#contents .box_2col{
	margin: 0 auto 50px;
	width: 100%;
	display: table;
}
#contents .box_2col .box_in{
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
#contents .box_1col{
	margin: 0 auto 50px;
	width: 100%;
}
#contents .box_3col{
	margin: 0 auto 50px;
	width: 100%;
	display: table;
}
#contents .box_3col .box_in{
	display: table-cell;
	width: 33%;
	vertical-align: top;
}

.access-hours {
    border: #d4b861 3px solid;
    margin: 0 15px;
    padding: 30px 0;
}
.access-hours .hours{
	font-size: 1.6rem !important;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	width: 90%;
    margin: 0 auto;
}
.schedule-list {
    display: grid;
    grid-template-columns:220px auto;
	margin-bottom: 10px;
}
.day-schedule {
    text-align: center;
}

.time-schedule {
    text-align: left;
}

/* link area */
.btn-bg{
	background-image: url(images/bg-parts/new/BGHP_PCviewall.png);
    background-position: center top;
    background-repeat: no-repeat;
    display: block;
    height: 60px;
    line-height: 60px;
	margin: 3rem 0 5rem;
    font-size: 24px;
    text-decoration: none;
    color: #fff;
	font-family: "Caprasimo", serif;
	font-weight: 400;
	text-align: center;
	background-size: contain;
}
.custom-button {
	background-color: #A68EC3; /* light purple */
	color: white;
	padding: 8px 30px;
	border: 3px solid white; /* white border */
	border-radius: 50px; /* pill shape */
	outline: 3px solid #A68EC3; /* outer spacing effect */
	font-size: 24px;
	font-family: "Caprasimo", serif;
	font-weight: 400;
	cursor: pointer;
	transition: 0.3s;
	text-decoration: none;
    display: block;
    margin: 3rem auto 5rem;
    max-width: 150px;
  }
.cast-bg{
	margin: 1rem 0;
	text-decoration: none;
}
.cast-bg-off,
.cast-bg-on{
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
    align-items: center;
    flex-direction: column;
	margin: 10px 10px;
	gap: 5px;
}
.cast-bg-on{
	background-image: url(images/bg-parts/new/cast-on.png);
	
}
.cast-bg-off{
	background-image: url(images/bg-parts/new/cast-off.png);
}
.cast-name {
    margin: 0.8rem 0;
}
.cast-bg .cast-time{
	font-size: 1.6rem;
    color: #A68EC3;
    font-weight: 400;
    text-align: center;
}

.cast-bg .cast-name a{
    font-size: 2rem;
	color: #000;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
}

.cast-bg .cast-time,
.cast-bg .cast-name {
}

.link_area{
	/* margin: 10px 0; */
}

.link_area .pagination .nav-links{
	font-size: 24px;
}
.link_area .pagination .nav-links .current,
.link_area .pagination .nav-links a{
	display: inline-block;
	padding: 6px 6px;
	margin: 0 2px;
	text-align:center;
	text-decoration: none;
	color: #000;
}

.link_area .pagination .nav-links .current{
	color: #A68EC3 !important;
}

.link_area p,
.link_area p.pager{
	text-align: center;
}
.link_area p a.backlink{
	display: inline-block;
	/* background-image: url(img/obj_backlink-lt.png), url(img/obj_backlink-gt.png);
	background-position: left center, right center;
	background-repeat: no-repeat; */
	padding: 10px 30px;
	text-decoration: none;
	color: #d4b861;
	font-size: 1.8rem;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
}
.link_area p a.backlink:hover{
	color: #d4b861;
}
.link_area p.pager a,
.link_area p.pager span{
	display: inline-block;
	padding: 6px 14px;
	margin: 0 3px;
	text-align:center;
	text-decoration: none;
	background-color: #333333;
	color: #fff;
	border-radius: 50%;
	vertical-align: middle;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
}
.link_area p.pager span{
	background-color: #999;
}
.link_area p.pager span.dots{
	background-color: transparent;
}
.link_area p.pager a.prev{
	background-color: transparent;
	background-image: url(img/btn_pager-prev.png);
	background-position: center center;
	background-repeat: no-repeat;
	width: 30px;
	height: 34px;
	padding: 0;
	border-radius: 0;
	text-indent: -200%;
	overflow: hidden;
}
.link_area p.pager a.next{
	background-color: transparent;
	background-image:url(img/btn_pager-next.png);
	background-position: center center;
	background-repeat: no-repeat;
	width: 30px;
	height: 34px;
	padding: 0;
	border-radius: 0;
	text-indent: -200%;
	overflow: hidden;
}

/*----- top -----*/
/*----- maps -----*/
.access-map{
	position: relative;
	background-image: url(images/map-parts/地図枠_上.png), url(images/map-parts/地図枠_下.png), url(images/map-parts/地図枠_右.png), url(images/map-parts/地図枠_左.png), url(images/map-parts/地図枠_右上.png), url(images/map-parts/地図枠_右下.png), url(images/map-parts/地図枠_左上.png), url(images/map-parts/地図枠_左下.png);
	background-position: center top, center bottom, right center, left center, right top, right bottom, left top, left bottom;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
	background-size: auto;

}

.map-border-container {
	position: relative;
  }
  
  .map-border-repeat,
  .map-border-corners {
	position: absolute;
	inset: 0;
	pointer-events: none; /* so clicks go through */
  }
  
  .map-border-repeat {
	z-index: 2;
	background-image:
	  url(images/maps/PC/repeatedborderX.png),
	  url(images/maps/PC/repeatedborderX.png),
	  url(images/maps/PC/repeatedborderY.png),
	  url(images/maps/PC/repeatedborderY.png);
	background-position: 
	  top center,
	  bottom center,
	  center right,
	  center left;
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  }
  
  .map-border-corners {
	z-index: 2;
	background-image:
	  url(images/maps/PC/topright.png),
	  url(images/maps/PC/bottomright.png),
	  url(images/maps/PC/topleft.png),
	  url(images/maps/PC/bottomleft.png);
	background-position: 
	  top right,
	  bottom right,
	  top left,
	  bottom left;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  }
  
  .map-content {
	position: relative;
	z-index: 1;
    height: 457px;
  }

  .mask-border {
	-webkit-mask-image: 
	  radial-gradient(circle at 0% 0%, transparent 32px, red 32px),
	  radial-gradient(circle at 100% 0%, transparent 32px, red 32px),
	  radial-gradient(circle at 100% 100%, transparent 32px, red 32px),
	  radial-gradient(circle at 0% 100%, transparent 32px, red 32px);
	-webkit-mask-composite: source-in;
	mask-image: 
	  radial-gradient(circle at 0% 0%, transparent 32px, red 32px),
	  radial-gradient(circle at 100% 0%, transparent 32px, red 32px),
	  radial-gradient(circle at 100% 100%, transparent 32px, red 32px),
	  radial-gradient(circle at 0% 100%, transparent 32px, red 32px);
	mask-composite: intersect;
  }

  .place-card.place-card-large {
    margin: 0px;
    position: absolute;
    top: 46px;
    background: #fff;
    left: 60px;
}

/*----- maps -----*/
/*----- groups -----*/
.group-items {
	display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  
  .group-item {
	width: calc(50% - 15px);
	background-color: lightblue;
	position: relative;
  }

  .group-item a img {
	width: 100%;
	height: 100%;
  }

.group-title {
    position: absolute;
    bottom: 0;
    background: rgba(166, 142, 195, 0.8);
    color: #fff;
    left: 0;
    right: 0;
    padding: 0.6rem;
    font-size: 1.4rem;
}
/*----- groups -----*/

/* news */
#contents .box_2col.top_news{
	margin-top: 70px;
}
.top_newslist,
.box_tweet{
	background-image: url(img/waku_topinfo_bg.png);
	background-position: center top;
	background-repeat: repeat-y;
	position: relative;
	color: #000000;
}
.top_newslist:before,
.box_tweet:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	top: -30px;
	left: 0;
	background-image: url(img/waku_topinfo_hd.png);
	background-position: center top;
	background-repeat: no-repeat;
}
.top_newslist:after,
.box_tweet:after{
	content: ' ';
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	bottom: -30px;
	left: 0;
	background-image: url(img/waku_topinfo_ft.png);
	background-position: center bottom;
	background-repeat: no-repeat;
}
.top_newslist dl{
	margin: 10px 40px;
}
.top_newslist dl dt{
	padding:0 3px 5px;
	width:98%;
}
.top_newslist dl dd{
	padding:0 3px 13px;
	border-bottom:#333 1px dotted;
	margin-bottom: 13px;
}
.top_newslist dl span{
	display: inline-block;
	font-size:1.2rem;
	padding:3px 10px;
	margin:0 0 0 5px;
	background-color:#ccc;
	color:#000;
	border-radius: 2px;
	float:right;
}
.top_newslist dl span.cat_1{
	background-color:#a22f2f;
	color:#fff;
}
.top_newslist dl span.cat_2{
	background-color:#e2299e;
	color:#fff;
}
.top_newslist dl span.cat_3{
	background-color:#2989e2;
	color:#fff;
}
/*.top_newslist dl dd:before{
	content: "♦ ";
	color:#a22f2f;
}*/
.top_newslist dl dd a,
.top_newslist p a{
	color: #000000;
}
.top_newslist dl dd a:hover{
	color: #a22f2f;
}
#contents .top_newslist p{
	margin: 15px 40px 0;
}

/*access-section*/
.sns-section {
	margin-bottom: 5rem;
}

.access-info{
	text-align: left;
}
.access-info .address-info{
	font-size: 1.6rem !important;
	margin-bottom: 1rem;
	line-height: 1.5 I !important;
}
.access-tel {
    margin-left: 15px;
    font-size: 36px;
    margin-bottom: 3rem;
}
.tel-icon{
	color:#A68EC3;
}
/* tweet */
.box_tweet iframe{
	width: 425px !important;
	height: 600px !important;
	padding-left: 47px;
	flex-grow: 0 !important;
}
.box_tweet .twitter{
	/*margin: 0 35px 0;*/
}
/* about */

#contents .box_in table.tb_about{
	border-radius: 10px;
	border:#d4b861 3px solid;
	background-color: #fff;
	width: 465px;
	margin: 30px auto;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
}
#contents .box_in table.tb_about th{
	background-image: url(img/bg_table-hd1.png);
	background-position: center center;
	padding: 5px;
	color: #805f0d;
	font-size: 2.0rem;
	letter-spacing: 5px;
}
#contents .box_in table.tb_about th span{
	display: inline-block;
	background-color: #fff;
	border-radius: 20px;
	padding: 7px 24px 7px 28px;
}
#contents .box_in table.tb_about td{
	border-top:#d4b861 2px solid;
	border-left:#d4b861 2px solid;
	padding: 10px;
	color: #805f0d;
	font-size: 2.0rem;
	letter-spacing: 1px;
	text-align: center;
}
#contents .box_in table.tb_about td:first-child{
	border-left:none;
}

.top_movie{
	background-image: url(img/obj_topmovie.png);
	background-position: center top;
	background-repeat: no-repeat;
	padding: 90px 0 0;
}


/*----- 2nd page -----*/

/* story */

#contents.story h2.pagetitle{
	background-image:url(img/h2_story.png);
}
.box_white{
	background-image: url(img/waku_white_bg.png);
	background-position: center top;
	background-repeat: repeat-y;
	position: relative;
	color: #000000;
	width: 840px;
	margin: 115px auto 50px;
	padding: 1px 10px;
	box-sizing: border-box;
	text-align: center;
}
.box_white:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 26px;
	position: absolute;
	top: -26px;
	left: 0;
	background-image: url(img/waku_white_hd.png);
	background-position: center top;
	background-repeat: no-repeat;
}
.box_white:after{
	content: ' ';
	display: block;
	width: 100%;
	height: 26px;
	position: absolute;
	bottom: -26px;
	left: 0;
	background-image: url(img/waku_white_ft.png);
	background-position: center bottom;
	background-repeat: no-repeat;
}
#contents .box_white h3,
#contents .box_white h4{
	text-indent: -200%;
	overflow: hidden;
	clear: both;
	border: none;
	background-image:url(img/h3_story.png);
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top:-67px;
	margin: 0;
	box-sizing: border-box;
	width: 100%;
	height: 74px;
	text-align: left;
}
#contents .box_white h3:before,
#contents .box_white h3:after{
	display: none;
}
#contents .box_white hr{
	border: none;
	background-image: url(img/obj_line01.png);
	background-position: center center;
	width: 500px;
	height: 10px;
	margin: 20px auto;
}
#contents .box_white p{
	margin: 10px 15px;
}
#contents .box_in h4.label{
	text-indent: -200%;
	overflow: hidden;
	clear: both;
	border: none;
	background-image:url(img/h3_story-jack.png);
	background-position: center top;
	background-repeat: no-repeat;
	position: relative;
	left: auto;
	top:auto;
	margin: 0;
	box-sizing: border-box;
	width: 100%;
	height: 101px;
	text-align: left;
}
#contents .box_in h4.label:before,
#contents .box_in h4.label:after{
	display: none;
}
#contents .box_in h4.label+p{
	margin-top: 5px;
}
#contents.story .box_in p{
	text-align: center;
}
#contents .box_in.bg_jack{
	background-image: url(img/bg_story-jack.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#contents .box_in.bg_jack h4.label{
	background-image:url(img/h3_story-jack.png);
}
#contents .box_in.bg_queen{
	background-image:url(img/bg_story-queen.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#contents .box_in.bg_queen h4.label{
	background-image:url(img/h3_story-queen.png);
}
#contents .box_in.bg_king{
	background-image:url(img/bg_story-king.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#contents .box_in.bg_king h4.label{
	background-image:url(img/h3_story-king.png);
}
#contents .box_in.bg_ace{
	background-image:url(img/bg_story-ace.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#contents .box_in.bg_ace h4.label{
	background-image:url(img/h3_story-ace.png);
}

/* queens frontier */

.box_qf{
	margin: 0 50px 50px;
	overflow: hidden;
}
#contents .box_qf p{
	font-size: 1.4rem;
}
#contents .box_qf h3{
	clear: none;
	overflow:visible;
	border: none;
	background-image:none;
	position:relative;
	left:auto;
	top:auto;
	margin: 20px 0;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	text-align: left;
	font-size: 2.2rem;
	color: #fff;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
}
#contents .box_qf h3:before,
#contents .box_qf h3:after{
	display: none;
}
#contents .box_qf h3 span{
	font-size: 1.8rem;
	display: inline;
}
#contents .box_qf.box_qf-heart h3{
	text-align: right;
}
#contents .box_qf.box_qf-dia h3{
	text-align: right;
	padding-right: 20px;
}
.box_qf-heart{
	padding-right: 65px;
	background-image: url(img/bg_story-qf_heart.png);
	background-position: right 10px;
	background-repeat: no-repeat;
}
.box_qf-club{
	padding-left: 65px;
	background-image:url(img/bg_story-qf_culb.png);
	background-position: left 10px;
	background-repeat: no-repeat;
}
.box_qf-dia{
	padding-right: 65px;
	background-image:url(img/bg_story-qf_dia.png);
	background-position: right 10px;
	background-repeat: no-repeat;
	padding-top: 73px;
	margin-top: -50px;
}
.box_qf-spad{
	padding-left: 65px;
	background-image:url(img/bg_story-qf_spad.png);
	background-position: left 10px;
	background-repeat: no-repeat;
}
#contents .box_qf-heart .img,
#contents .box_qf-dia .img{
	float: left;
	margin: -62px 15px 0 0;
}
#contents .box_qf-club .img,
#contents .box_qf-spad .img{
	float: right;
	margin: -62px 0 0 15px;
}

/* system */
#contents.system h2.pagetitle{
	background-image:url(img/h2_system.png);
}

.bg_system-card{
	background-image: url(img/bg_system-card.png);
	background-position: center top;
	background-repeat: no-repeat;
}
.bg_system-coin{
	background-image:url(img/bg_system-coin.png);
	background-position: center top;
	background-repeat: no-repeat;
}

#contents .box_white h4.label_price{
	background-image:url(img/h4_system-price.png);
}
#contents .box_white h4.label_coin{
	background-image:url(img/h4_system-coin.png);
}

/* cast */

#contents.cast h2.pagetitle{
	background-image:url(img/h2_cast.png);
}
#contents.cast ul#cast_list{
	width: 990px;
	margin: 0 auto 50px;
	overflow: hidden;
}
#contents.cast ul#cast_list li{
	width: 330px;
	height: 342px;
	float: left;
	text-align: center;
	position:relative;
	margin: 0 0 30px;
}
/*
#contents.cast ul#cast_list li:after{
	content: ' ';
	display: inline-block;
	width: 320px;
	height: 45px;
	position: absolute;
	bottom: 0;
	left: 5px;
	padding: 0;
	background-image: url(img/img_part-blt.png), url(img/img_part-bgt.png);
	background-position: left top, right top;
	background-repeat: no-repeat;
}
*/
#contents.cast ul#cast_list li .thumb{
	width: 260px;
	height: 300px;
	margin: 30px auto;
	display: block;
	text-align: center;
	border-radius: 20px;
	/* border:#d4b861 3px solid; */
	overflow: hidden;
}
#contents.cast ul#cast_list li .thumb img{
	border: none;
}
/*
#contents.cast ul#cast_list li h4{
	background-image: url(img/h4_cast-list.png);
	background-position: center top;
	background-repeat: no-repeat;
	height: 69px;
	width: 100%;
	margin: 0;
	padding: 6px 0 0;
	color: #805f0d;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
	border: none;
	position: absolute;
	font-weight: bold;
	letter-spacing: 3px;
}
#contents.cast ul#cast_list li h4 a{
	color: #805f0d;
	text-decoration: none;
}
*/
#contents .box_2col.box_cast-detail{
	width: 920px;
	text-align: center;
}
#contents .box_2col.box_cast-detail h4{
	background-image: url(img/h4_cast-list.png);
	background-position: center top;
	background-repeat: no-repeat;
	height: 69px;
	width: 100%;
	margin: 0;
	padding: 6px 0 0;
	color: #805f0d;
	font-family: 'Hiragino Mincho Pro' , Century, HeiseiMincho, "ＭＳ 明朝" , 'MS Mincho' , serif;
	border: none;
	font-weight: bold;
	letter-spacing: 3px;
}
#contents .box_2col.box_cast-detail h4+p{
	margin-top: 0;
}
#contents .box_2col.box_cast-detail hr{
	border: none;
	background-image: url(img/obj_line02.png);
	background-position: center center;
	width: 80%;
	height: 10px;
	margin: 20px auto;
}

/* news */

#contents.news h2.pagetitle{
	background-image:url(img/h2_news.png);
}

#news_list{
}
#news_list .box_news{
	clear: both;
	border: #d4b861 3px solid;
	border-radius: 13px;
	position: relative;
	margin: 75px auto 45px;
	box-sizing: border-box;
	width: 995px;
	min-height: 315px;
	text-align: center;
	display: table;
	background-color: #202020;
}
#news_list .box_news:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 41px;
	position: absolute;
	top: -25px;
	left: -3px;
	padding: 0 3px;
	background-image: url(img/h3_part-hd1.png), url(img/h3_part-hd2.png), url(img/h3_part-hd3.png);
	background-position: left bottom, center top, right bottom;
	background-repeat: no-repeat;
}
#news_list .box_news:after{
	content: ' ';
	display: block;
	width: 100%;
	height: 41px;
	position: absolute;
	bottom: -25px;
	left: -3px;
	padding: 0 3px;
	background-image: url(img/h3_part-ft1.png), url(img/h3_part-ft2.png), url(img/h3_part-ft3.png);
	background-position: left top, center bottom, right top;
	background-repeat: no-repeat;
}
#news_list .box_news .box_news-in{
	display: table-cell;
	vertical-align: top;
	text-align: left;
	padding: 15px;
}
#news_list .box_news .box_news-thumb{
	display: table-cell;
	width: 315px;
	vertical-align: middle;
	text-align: center;
	background-image: url(img/bg_news-thumb.png);
	background-position: center center;
	border-radius: 0 10px 10px 0;
}
#news_list .box_news .box_news-thumb img{
	vertical-align: top;
	border: none;
	border-radius: 0 10px 10px 0;
}
#contents #news_list .box_news p.date{
	width: 180px;
	height: 74px;
	box-sizing: border-box;
	padding: 23px 0 0;
	color: #7c5e26;
	text-align: center;
	background-image:url(img/bg_news-date.png);
	background-position: center top;
	background-repeat: no-repeat;
	line-height: 1.2;
	font-size: 1.4rem;
	font-weight: bold;
	position: absolute;
	top:-50px;
	left: -45px;
	z-index: 15;
}
#contents #news_list .box_news h3{
	background-image: url(img/bg_news-h3.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	border: none;
	border-bottom: #d5bc63 2px solid;
	border-radius: 0;
	width: 100%;
	height: auto;
	padding: 30px 5px 17px;
	margin: 0 0 15px;
	font-size: 2.4rem;
	line-height: 1.6;
	color: #d4b861;
	font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
}
#contents #news_list .box_news h3:before,
#contents #news_list .box_news h3:after{
	display: none;
}
#contents #news_list .box_news h3 a{
	text-decoration: none;
}
#contents #news_list .box_news .entry{
}
#contents #news_list .box_news .entry p{
}
#contents #news_list .box_news p.link_more{
	text-align: right;
	margin-bottom: 10px;
}
#contents #news_list .box_news p.link_more a{
	display: inline-block;
	width: 175px;
	height: 39px;
	background-image: url(img/btn_more-link.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	text-align: left;
	text-indent: -200%;
}

/* news_detail */
#contents #news_detail{
	position: relative;
}
#contents #news_detail h3{
	color: #d4b861;
	font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
	padding: 20px;
	font-size: 2.4rem;
}
#contents #news_detail .date{
	width: 180px;
	height: 74px;
	box-sizing: border-box;
	padding: 18px 0 0;
	color: #7c5e26;
	text-align: center;
	background-image:url(img/bg_news-date.png);
	background-position: center top;
	background-repeat: no-repeat;
	line-height: 1.2;
	font-size: 1.4rem;
	font-weight: bold;
	position: absolute;
	top:-60px;
	left: 8px;
	z-index: 15;
}
#contents #news_detail .box_1col .waku{
	margin: 0px 35px 15px;
}
#contents #news_detail .box_1col .waku.f-right{
	margin: 0px 0 15px 35px;
}
#contents #news_detail .box_1col .waku.f-left{
	margin: 0px 35px 15px 0;
}

/* recruit */

#contents.recruit h2.pagetitle{
	background-image:url(img/h2_recruit.png);
}
#contents .box_2col.box_recruit .box_in{
	width: 34%;
}
#contents .box_2col.box_recruit .box_in:first-child{
	width: 66%;
}
#contents .box_2col.access-content .box_in{
	width: 45%;
}
#contents .box_2col.access-content .box_in:first-child{
	width: 55%;
	padding-right: 30px;
}
#contents.recruit .box_1col table.tb_recruit th{
	border-bottom: none;
	border-left: none;
	border-top-width: 2px;
	border-radius: 0;
}
#contents.recruit .box_1col table.tb_recruit tr:first-child th{
	border-radius: 17px 0 0 0;
	border-top: none;
}
#contents.recruit .box_1col table.tb_recruit td{
	border-bottom: none;
	border-right: none;
	border-top-width: 2px;
	border-color: #d5bc63;
	border-radius: 0;
	text-align: left;
	line-height: 1.8;
	padding: 15px;
}
#contents.recruit .box_1col table.tb_recruit tr:first-child td{
	border-radius: 0 17px 0 0;
	border-top: none;
}
.box_form{
	width: 700px;
	margin: 15px auto 50px;
	padding: 40px 0;
	background-image:url(img/bg_box-form_hd.png),url(img/bg_box-form_ft.png);
	background-position: center top, center bottom;
	background-repeat: no-repeat;
}
.box_form form{
	margin: 0;
	padding: 5px 0;
	background-color: #333;
}
.box_form dl{
	width: 600px;
	margin: 0 auto;
	font-size:1.6rem;
}
.box_form dl dt{
	width: 150px;
	float: left;
	color: #ceb360;
	padding-top: 15px;
	text-align: center;
}
.box_form dl dd{
	padding: 15px 15px 15px 160px;
	border-bottom:#d4b861 2px solid;
}
.box_form dl dd input[type=text],
.box_form dl dd input[type=email]{
	width: 60%;
	padding: 5px 8px;
	border: none;
	border-radius: 3px;
	background-color: #fff;
	font-size:1.6rem;
}
.box_form dl dd textarea{
	width: 95%;
	height:150px;
	padding: 5px 8px;
	border: none;
	border-radius: 3px;
	background-color: #fff;
	font-size:1.6rem;
}
#contents .box_form p{
	margin: 0;
	padding: 20px 0px;
	text-align: center;
	background-color: #333;
}
.box_form p input[type=submit]{
	width: 250px;
	height: 68px;
	background-image:url(img/btn_form-link.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-color: transparent;
	border: none;
	text-indent: -200%;
	overflow: hidden;
	margin: 0 auto;
}
.box_form dl dd span.wpcf7-list-item{
	display:inline-block;
	margin-right: 10px;
}
.box_form dl dd span.wpcf7-list-item input{
	display:inline-block;
	vertical-align: middle;
}

/* contact */

#contents.contact h2{
	background-image:url(img/h2_contact.png);
}

/* access */

#contents.access h2{
	background-image: url(img/h2_access.png);
}

/* menu */

#contents.menu h2{
	background-image:url(img/h2_menu.png);
}

#menu{
	width: 1051px;
	margin: 0 auto;
	padding-bottom: 30px;
}
/* menu サイドメニュー */
#menu_side{
	position: relative;
	width: 331px;
	margin: 0 0 0 auto;
}
#menu_side-in{
	width: 331px;
	background-image: url(img/bg_menu-side_hd.png),url(img/bg_menu-side_ft.png);
	background-position: center top, center bottom;
	background-repeat: no-repeat;
	padding: 59px 0;
	position:fixed;
	top: 120px;
	z-index: 150;
}
#menu_side-body{
	background-image: url(img/bg_menu-side_ct.png);
	background-position: center center;
	background-repeat: repeat-y;
	padding: 0 50px;
}
#menu_side ul{
	background-image:url(img/obj_line02.png);
	background-position: center top;
	background-repeat: no-repeat;
	padding: 20px 0 10px;
}
#menu_side ul li{
	text-align: center;
	font-size: 1.6rem;
	padding: 0 0 8px;
}
#menu_side ul li a{
	color: #ffffff;
	text-decoration: none;
}
#menu_side ul li.title{
	color: #d4b861;
	font-size: 2.2rem;
	font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
}
#menu_side ul li.title a{
	color: #d4b861;
}
#menu_side ul:first-child{
	background-image:none;
	padding-top: 0;
}


/* menu メイン */
.menu_txt{
	margin: 0px 10px;
}
#menu #menu_main li {
   padding-bottom: 20px;
}
#menu #menu_main{
	margin: 0 331px 0 0;
}
#menu #menu_main h3{
	width: 100%;
}
#menu #menu_main h4{
	padding: 8px 30px;
	font-size: 2.0rem;
	line-height: 1.6;
	color: #ffffff;
	font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
	position: relative;
	border:#ceb360 2px solid;
	background-color: #333333;
	border-radius:25px;
	text-align: center;
	background-image: url(img/bg_menu-h4_lt.png), url(img/bg_menu-h4_gt.png);
	background-position: left center, right center;
	background-repeat: repeat-y;
}
#menu #menu_main h4 .price{
	font-size: 1.4rem;
	margin-left: 15px;
	vertical-align: text-bottom;
}
#menu #menu_main h5{
	background-color: rgba(124,94,38,0.5);
	border-top: #d5bc63 1px solid;
	border-bottom: #d5bc63 1px solid;
	padding: 10px;
	margin: 20px 10px 10px;
	font-size: 2.0rem;
	text-align: center;
	position: relative;
}
#menu #menu_main h5:before{
	content: ' ';
	display: block;
	width: 100%;
	height: 8px;
	position: absolute;
	left: 0;
	top: -10px;
	background-image: url(img/bg_menu-h5_hd.png);
	background-position: center top;
	background-repeat: no-repeat;
}
#menu #menu_main p.price{
	font-size: 1.4rem;
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: right;
}

#menu #menu_main .menu_2col{
	margin: 0 10px;
	overflow: hidden;
}
#menu #menu_main .menu_2col li{
	width: 49%;
	float: left;
	text-align: center;
}
#menu #menu_main .menu_2col li.pt_1col{
	width: 100%;
	float: none;
	text-align: center;
	clear:both;
}
#menu #menu_main .menu_2col li p,
#menu #menu_main .menu_2col li.pt_1col p{
	margin-top: 10px;
}
#menu #menu_main .menu_tb{
	margin: 0 10px;
	display: table;
	width: 700px;
}
#menu #menu_main .menu_tb .menu_tb-in{
	display: table-cell;
	vertical-align: top;
}
#menu #menu_main .menu_tb .menu_tb-in.w235{
	width: 235px;
}
#menu #menu_main .menu_waku img{
	border:#d4b861 3px solid;
	border-radius: 20px;
	margin: 0;
	vertical-align: top;
}
#menu #menu_main .menu_waku{
	position:relative;
	text-align: center;
	display: inline-block;
}
#menu #menu_main .menu_waku:before{
	content: ' ';
	display: inline-block;
	width: 29px;
	height: 52px;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(img/bg_menu-img_hd.png);
	background-position: left top;
	background-repeat: no-repeat;
}
#menu #menu_main .menu_waku:after{
	content: ' ';
	display: inline-block;
	width: 29px;
	height: 52px;
	position: absolute;
	bottom: 0;
	right: 0;
	background-image:url(img/bg_menu-img_ft.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}
#menu #menu_main .bg_jack{
	background-image: url(img/bg_story-jack.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#menu #menu_main .bg_queen{
	background-image:url(img/bg_story-queen.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#menu #menu_main .bg_king{
	background-image:url(img/bg_story-king.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#menu #menu_main .bg_ace{
	background-image:url(img/bg_story-ace.png);
	background-position: center center;
	background-repeat: no-repeat;
}
#menu #menu_main .bg_kakeru{
	background-image: url(img/obj_kakeru.png);
	background-position: center center;
	background-repeat: no-repeat;
}

/* 404 */
#contents.page_404 h2.pagetitle{
	background-image:url(img/h2_404.png);
}


/* コンテンツ */
#contents img.aligncenter{
   display: block;
   margin-left: auto;
   margin-right: auto;
}
img.alignleft {
   float: left;
}
img.alignright {
   float: right;
}
.aligncenter,
div.aligncenter {
	text-align: center;
}
.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}

/* sp対策 */

#header-in p.spbtn,
#header-in nav p{
	display: none;
}
#header-in a img {
    width: 180px;
    padding-top: 10px;
    padding-left: 15px;
	position: absolute;
}
footer {
    margin-top: 100px;
    display: block;
    position: relative;
}

.sp-slider-img{
	display: none !important;
}
.pc-slider-img{
	display: block;
}

.visible-desktop{
	display: block;
}

.visible-mobile{
	display: none;
}
.top-news-ellipsis-text-4 {
	display: -webkit-box;
	-webkit-line-clamp: 4;        /* Show only 4 lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ellipsis-text-4 {
	display: -webkit-box;
	-webkit-line-clamp: 4;        /* Show only 4 lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ellipsis-text-3 {
	display: -webkit-box;             /* required for line clamping */
	-webkit-box-orient: vertical;     /* required for line clamping */
	-webkit-line-clamp: 3;            /* the number of lines to clamp */
	overflow: hidden;                 /* hides the extra lines */
	line-height: 1.4;                 /* recommended to match max-height */
	max-height: calc(1.4em * 3);      /* makes it consistent visually */
	font-family: inherit;             /* optional: keep font consistent */
	word-break: break-word;           /* optional: avoid overflow */
	width: 100%;                     /* optional: full width */
	max-width: 270px; /* optional: limit width */
}
.ellipsis-text-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;        /* Show only 2 lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.payment-method {
    margin: 2rem auto 0;
    width: 70%;
    display: block;
    position: relative;
}
.payment-method img{
	margin: 0 auto;
	width: 100%;
}
#news-slider-autoplay .news-item {
	display: none;
}
.page-sub-title {
    color: #000 !important;
	font-size: 1.4rem !important;
	border-bottom: none !important;
	line-height: 2.8rem !important;
	margin-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
    margin-right: 0 !important;
}
.no-link{
	cursor: default;
}
.swiper-slide-active .wcp-light-box {
	cursor: grabbing;
}
.swiper-slide .wcp-light-box {
	cursor: grab;
}
/* Desktop: show all items */
@media (min-width: 1100px) {
	#news-slider-autoplay .news-item {
	  display: block;
	}
	ul#menu-nav li:first-child {
		display: none;
	}
  }
/* スマホ表示（1100pxより小さい画面）
=======================================*/

@media (max-width: 1100px) {
	body{
		/* background-image: url(images/BGHP_smartphone.png);
		background-position: center top;
		background-repeat: repeat; */
	}
	#wrapper.top,
	#wrapper{
		background-image: none;
		background-color: transparent;
		color: #fff;
	}
	.page-content-inner-padding {
		padding: 0 3rem;
	}
	.page-concept-inner {
		margin: 4rem auto;
	}
	p.page-concept-text {
		margin-bottom: 1.5rem;
	}
	.access-content{
		flex-direction: column-reverse;
		display: flex !important;
	}
	.access-tel,
	.access-info .address-info {
		margin: 2rem auto !important;
		text-align: center;
	}
	.access-hours .hours{
		width: 77%;
	}
	.sns-links{
		flex-wrap: nowrap;
		flex-direction: row;
		justify-content: center;
	}

	.call-to-action a {
		width: 100%;
	}
	.payment-method img{
		width: 100%;
	}
	#footer-logo img{
		width: 70%;
        margin: 0 auto;
	}

	.frame-top {
		margin-top: -1;
        margin-top: -2px;
	}
	#header-in nav ul li a:hover{
		transform: none;
	}
	/* sp版 header */

	header#header {
		background: none;
		position: absolute;
		height: 100px;
	}
	#header-in {
		width: 100%;
		height: 100px;
		margin: 0 auto;
		position: relative;
	}

	#header-in p{
		display: none;
	}
	#header-in nav ul li:not(:last-child)::after {
		background-image: none;
	}
	/* sp版 nav */

	#header-in nav{
		width: 100%;
		height: auto;
		/* position: absolute; */
		position: fixed;
		top: 0;
		left: 0;
		background-color: rgba(255, 255, 255, 0.9);
		display: none;
	}
	#header-in nav ul{
		display: block;
		margin: 0 auto;
		background-image: none;
		width: 100%;
		max-width: 500px;
		height: 100%;
		overflow: hidden;
	}
	#header-in nav ul li{
		display:block;
		padding: 0px;
		text-align: center;
		background-image: none;
		width: 50%;
		float: left;
	}
	#header-in nav ul li:first-child{
		padding-left: 0;
	}
	#header-in nav ul li a{
		color: #000;
		font-weight: bold;
		text-decoration: none;
		display: block;
		height: auto;
		width: 95%;
		background-image: none;
		text-indent: 0;
		overflow: hidden;
		padding: 5px 0;
		margin: 5px auto;
		border: #000 solid 1px;
	}
	#header-in nav ul li a:hover{
		background-image: none;
	}
	#header-in nav ul li:nth-child(1) a,
	#header-in nav ul li:nth-child(2) a,
	#header-in nav ul li:nth-child(3) a,
	#header-in nav ul li:nth-child(4) a,
	#header-in nav ul li:nth-child(5) a,
	#header-in nav ul li:nth-child(6) a,
	#header-in nav ul li:nth-child(7) a,
	#header-in nav ul li:nth-child(8) a{
		width: 95%;
	}
	#header-in p.spbtn{
		display: block;
		margin-right: 1.5rem;
		/*below for new  fixed*/
		position: fixed;
        right: 0;
        width: 100%;
	}
	#header-in p.spbtn a{
		display: block;
		width: 100%;
		height: 130px;
		background-image: url(images/menubtn.png);
		background-position: right center;
		background-repeat: no-repeat;
		text-indent: -500%;
		overflow: hidden;
		color: transparent;
	}
	#header-in nav p{
		display: block;
		text-align: center;
		padding: 0;
	}
	#header-in nav p a{
		color: #000;
		padding: 10px 8px;
		display: block;
		text-decoration: none;
		background-color: rgba(255, 255, 255, 0.8);
	}
	ul#slide-banner,
	ul#slide-banner .slick-slide {
	height: 60vh;
	} 
	ul#slide-banner li img {
		margin-top: 0;
	}
	/* sp版 footer */

	footer{
		margin-top: 40px;
	}
	#footer-in{
		width: 100%;
		margin:0 auto;
		padding: 10px 0;
		overflow: hidden;
	}

	p.pagetop{
		display: block;
		text-align: right;
	}

	/* sp版 footer links */

	#footer-links{
		width: 100%;
		background-color: #333;
		position: relative;
		background-image: url(img/bg_footer-bk.png);
		background-size: auto 10px;
		background-position: center bottom;
		background-repeat: repeat-x;
		padding: 8px 0 18px;
	}
	#footer-links:before{
		content: ' ';
		display: block;
		width: 100%;
		height: 10px;
		background-image: url(img/bg_footer-gr.png);
		background-size: auto 10px;
		background-repeat: repeat-x;
		position: absolute;
		top: -9px;
		z-index: 100;
	}
	#footer-links ul{
		display: block;
		width: 100%;
		min-height: 0;
		margin: 0 auto;
		text-align: center;
	}
	#footer-links ul li{
		display:inline-block;
		margin: 0 5px 5px;
		padding: 0;
		text-align: center;
		
	}
	.external__links{
		flex-wrap: wrap;
		flex-direction: column;
	}
	.access-section,
	.group-section{
		width: 80%;
		margin: 0 auto;
	}
	.group-item{
		width: 100%;
		margin: 0 auto;
	}
	.news-section,
	.sns-section {
		width: 90%;
		margin: 0 auto 5rem;
	}
	.sns-link {
		background-size: contain;
		background-repeat: no-repeat;
	}
	/* sp版 footer area */

	#footer-area{
		width: 100%;
		float: none;
	}
	#footer-area p{
		margin: 0;
		padding: 80px 0 5px;
		line-height: 1.5;
		font-size: 1.2rem;
		text-align: center;
		background-image: url(img/logo-fotter.png);
		background-position: center top;
		background-repeat: no-repeat;
	}

	/* sp版 footer copyright */

	footer #sns-area{
		text-align: center;
		padding: 5px;
	}
	footer address{
		text-align:center;
		padding: 5px;
	}

	/* sp版 main contents
	=======================================*/

	/* main#contents{
		width: 80%;
		margin: 0 auto;
		padding: 60px 5px 1px;
		min-height: 0;
		position: relative;
		background-image: url(img/bg_h2.png);
		background-size: auto 80px;
		background-position: center 80px;
		background-repeat: no-repeat;
		background-color: #000;
	} */
	.fixed-page {
		padding: 150px 0 0 !important;
	}

	.news-item-list .news-item,
	.menu-list .menu-item {
		width: 100%;
	}

	main#contents{
		width: 90%;
	}

	.frame-container{
		/* margin: 130px auto 120px; */
		padding: 0;
		background-size: contain;
	}
	.page-concept-inner:before,
	.frame-container:before{
		background-position: center bottom;
		background-size: contain;
	}
	.page-concept-inner:after{
		background-position: center bottom;
		background-size: contain;
	}
	.frame-container:after{
		background-position: center top;
		background-size: contain;
	}
	.common-slick-slider .slick-list {
		margin: 0 0; /* Compensate for padding on edges */
	}
	.cast-slider .slick-next.slick-arrow {
		right: 0px;
	}
	.cast-slider .slick-prev.slick-arrow {
		left: 0px;
	}
	#news-slider-autoplay .slick-next.slick-arrow {
		right: 0px;
	}
	#news-slider-autoplay .slick-prev.slick-arrow {
		left: 0px;
	}	

	.page-title-after,
	.page-title-before{
		background-size: 50%;
	}
	.btn-bg{
		background-image: url(images/bg-parts/new/BGHP_PCviewall.png);
		margin: 2rem 0 4rem;
		height: 40px;
		line-height: 40px;
		font-size: 18px;
		background-size: contain;
	}
	.custom-button {
		padding: 10px 40px;
		font-size: 2rem;
	}
	#concept-slider-section {
		width: 100%;
	}
	/* sp版 見出し */
	h2.pagetitle{
		height: 80px;
		background-size: auto 50px;
		max-width: 600px;
		margin: 0 auto 70px;
		position: relative;
		overflow: visible;
		padding: 0px;
	}
	h2.pagetitle:before{
		background-size:  135px auto;
		width: 135px;
		height: 75px;
		top: 20px;
		left: -20px;
	}
	h2.pagetitle:after{
		background-size: 135px auto;
		width: 135px;
		height: 75px;
		top: 20px;
		right: -20px;
	}
	#contents h3{
		margin: 75px auto 45px;
		width: 98%;
	}
	#contents h3 span{
		font-size: 2.4rem;
	}
	#contents h3 span:before,
	#contents h3 span:after{
		display: none;
	}
	#contents h2+h3{
		margin-top: 20px;
	}

	#contents h4{
		margin: 30px 10px 20px;
		padding: 0 5px 5px;
		font-size: 2.0rem;
		color: #d4b861;
		border-bottom:#d4b861 4px double;
	}

	/* sp版 段落・テキスト */
	#contents p{
		font-size: 1.6rem;
		line-height: 1.8;
	}
	#contents br.none{
		display: none;
	}

	/* sp版 table */

	#contents .box_in table{
		width: 90%;
	}
	#contents .box_in table th,
	#contents .box_in table td{
		width: 100%;
		box-sizing: border-box;
		display: block;
		border-top:none;
	}
	#contents .box_in table tr:first-child th,
	#contents .box_in table tr:first-child td{
	}

	#contents .box_1col table{
		width: 90%;
	}
	#contents .box_1col table th,
	#contents .box_1col table td{
		width: 100%;
		box-sizing: border-box;
		display: block;
		border-top: #805f0d 1px solid;
		border-left: #805f0d 1px solid;
		border-right: #805f0d 1px solid;
		border-bottom: none;
	}
	#contents .box_1col table th:first-child,
	#contents .box_1col table td:first-child{
		border-radius: 17px 17px 0 0;
		border-top: #805f0d 1px solid;
		border-left: #805f0d 1px solid;
		border-right: #805f0d 1px solid;
		border-bottom: none;
	}
	#contents .box_1col table th:last-child,
	#contents .box_1col table td:last-child{
		border-radius: 0 0 17px 17px;
		border-top: #805f0d 1px solid;
		border-left: #805f0d 1px solid;
		border-right: #805f0d 1px solid;
		border-bottom: #805f0d 1px solid;
	}
	#contents .box_1col table td .txt-large{
		font-size:2.2rem;
	}

	/* sp版 画像 */
	/* 
	#contents img{
		max-width: 96%;
	} */

	/* sp版 box */

	#contents .box_2col,
	#contents .box_1col,
	#contents .box_3col{
		margin: 0 auto 50px;
		width: 98%;
		display: block;
	}
	#contents .box_2col .box_in,
	#contents .box_3col .box_in{
		display: block;
		width: 100%;
	}

	/*----- sp版 top -----*/

	/* sp版 news */
	#contents .box_2col.top_news{
		margin-top: 70px;
	}
	.top_newslist,
	.box_tweet{
		background-image: url(img/waku_white_bg.png);
		width: 90%;
		background-size: contain;
		margin: 70px auto 10px;
	}
	.top_newslist:before,
	.box_tweet:before{
		background-image: url(img/waku_white_hd.png);
		background-position: center bottom;
		background-size: contain;
	}
	.top_newslist:after,
	.box_tweet:after{
		background-image: url(img/waku_white_ft.png);
		background-position: center top;
		background-size: contain;
	}

	.top_newslist dl{
		margin: 10px auto;
		width: 90%;
	}
	#contents .top_newslist p{
		margin: 15px auto;
		width: 90%;
	}

	/* sp版 tweet */
	.box_tweet iframe{
		height:300px !important;
	}
	.box_tweet .twitter{
		margin: 0 auto;
		width: 90%;
		text-align: center;
	}
	/* sp版 about */

	#contents .box_in table.tb_about{
		width: 98%;
		margin: 30px auto;
	}
	#contents .box_in table.tb_about th{
		font-size: 1.8rem;
		letter-spacing: 5px;
	}
	#contents .box_in table.tb_about td{
		font-size: 1.8rem;
		width: 100%;
		display: block;
		box-sizing: border-box;
		border-left:none;
	}
	#contents .box_in table.tb_about td:nth-child(1),
	#contents .box_in table.tb_about td:nth-child(3){
		background-color: rgba(231,188,99,0.3);
	}

	.top_movie{
		background-image: url(img/obj_topmovie.png);
		background-position: center top;
		background-repeat: no-repeat;
		padding: 90px 0 0;
	}
	.top_movie iframe{
		width: 100%;
		height:auto;
	}

	/* sp版 story */

	.box_white{
		width: 90%;
		background-size: contain;
	}
	.box_white:before{
		background-position: center bottom;
		background-size: contain;
	}
	.box_white:after{
		background-position: center top;
		background-size: contain;
	}
	#contents .box_white hr{
		width: 100%;
		max-width: 500px;
	}

	/* sp版 queens frontier */

	.box_qf{
		margin: 0 0 30px;
		overflow: hidden;
	}
	#contents .box_qf p{
		font-size: 1.4rem;
	}
	#contents .box_qf h3{
		background-color: #a32941;
		border-top: #d5bc63 1px solid;
		border-bottom: #d5bc63 1px solid;
		padding: 10px;
		margin: 20px 0 20px;
		font-size: 2.0rem;
		text-align: center;
		position: relative;
		border-radius: 0;
	}
	#contents .box_qf h3:before{
		content: ' ';
		display: block;
		width: 100%;
		height: 8px;
		position: absolute;
		left: 0;
		top: -10px;
		background-image: url(img/bg_menu-h5_hd.png);
		background-position: center top;
		background-repeat: no-repeat;
	}
	#contents .box_qf h3:after{
		display: none;
	}
	#contents .box_qf h3 span{
		font-size: 1.8rem;
		display: inline;
	}
	#contents .box_qf.box_qf-heart h3{
		text-align: center;
		background-color: #a32941;
	}
	#contents .box_qf.box_qf-dia h3{
		text-align: center;
		background-color: #a32916;
	}
	#contents .box_qf.box_qf-club h3{
		background-color: #4b8e16;
	}
	#contents .box_qf.box_qf-spad h3{
		background-color: #1c455b;
	}

	.box_qf-heart,
	.box_qf-club,
	.box_qf-dia,
	.box_qf-spad{
		padding: 0;
		background-image: none;
	}
	#contents .box_qf-heart .img,
	#contents .box_qf-dia .img,
	#contents .box_qf-club .img,
	#contents .box_qf-spad .img{
		float: none;
		margin: 0 auto 15px;
		text-align: center;
	}

	/* sp版 system */

	.bg_system-card,
	.bg_system-coin{
		background-image:none;
	}

	/* sp版 menu */

	#menu{
		width: 100%;
		margin: -30px 0 0;
		padding-bottom: 30px;
	}
	/* sp版 menu サイドメニュー */
	#menu_side{
		position: relative;
		width: 100%;
		margin: 0;
	}
	#menu_side-in{
		width: 100%;
		background-image:none;
		padding: 0;
		position: relative;
		top: auto;
	}
	#menu_side-body{
		background-image:url(img/obj_line02.png);
		background-position: center bottom;
		background-repeat: no-repeat;
		padding: 0 0 10px;
		background-color: #333;
	}
	#menu_side ul{
		text-align: center;
	}
	#menu_side ul:first-child{
		background-image:url(img/obj_line02.png);
		padding: 20px 0 10px;
	}
	#menu_side ul li{
		display: inline-block;
	}
	#menu_side ul li:after{
		content: ' ／';
		display: inline-block;
	}
	#menu_side ul li.title{
		display: block;
	}
	#menu_side ul li:last-child:after,
	#menu_side ul li.title:after{
		display: none;
	}
		
	/* sp版 menu メイン */
	#menu #menu_main{
		margin: 0 0 0 0;
	}
	#menu #menu_main .menu_tb{
		margin: 0 auto;
		display: block;
		width: 100%;
	}
	#menu #menu_main .menu_tb .menu_tb-in{
		display: block;
		text-align: center;
	}
	#menu #menu_main .menu_tb .menu_tb-in.w235{
		width: 100%;
	}
	#menu #menu_main h3{
		width: 100%;
	}
	#menu #menu_main .menu_2col li{
		width: 100%;
		float: none;
		text-align: center;
	}
	#menu #menu_main .menu_2col.bg_kakeru li{
		width: 50%;
		float: left;
	}
	#menu #menu_main h4 .price{
		font-size: 1.4rem;
		margin: 5px 0 0;
		vertical-align: text-bottom;
		display: block;
		text-align: center;
	}

	/* sp版 cast */

	#contents.cast ul#cast_list{
		width: 100%;
	}
	#contents.cast ul#cast_list li{
		width: 100%;
		max-width: 330px;
		height: auto;
		float: none;
		padding: 10px 0 0;
		margin: 0 auto 30px;
	}
	#contents.cast ul#cast_list li:after{
		width: 100%;
		max-width: 330px;
		height: 45px;
		position: absolute;
		bottom: -6px;
		left: 0;
	}
	#contents.cast ul#cast_list li .thumb{
		width: 100%;
		height: auto;
		margin: 30px auto;
		display: block;
		text-align: center;
		border-radius: 20px;
		border: none;
		overflow: hidden;
	}
	#contents.cast ul#cast_list li .thumb img{
		border:#d4b861 3px solid;
		border-radius: 20px;
	}
	#contents.cast ul#cast_list li h4{
		margin: 0px 0 0;
		padding: 6px 0 0;
	}

	/* sp版 cast詳細 */

	#contents .box_2col.box_cast-detail{
		margin: 0 auto 50px;
		width: 98%;
		text-align: center;
	}

	/* sp版 news */

	#news_list{
	}
	#news_list .box_news{
		width: 100%;
		min-height: 0;
		display: table;
	}
	#news_list .box_news .box_news-in{
		display: table-cell;
		vertical-align: top;
		text-align: left;
		padding: 15px;
	}
	#news_list .box_news .box_news-thumb{
		width: 100px;
		height: 100px;
		overflow: hidden;
	}
	#news_list .box_news .box_news-thumb img{
		width: 100%;
	}
	#contents #news_list .box_news p.date{
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding: 0px 0px 10px;
		margin: 0;
		color: #7c5e26;
		text-align: left;
		background-image:none;
		position: relative;
		top:auto;
		left:auto;
		font-size: 1.2rem;
	}
	#contents #news_list .box_news h3{
		background-image: none;
		border: none;
		margin-bottom: 0;
		padding: 0;
		width: 100%;
		text-align: left;
		font-size: 1.8rem;
	}
	#contents #news_list .box_news .entry,
	#contents #news_list .box_news p.link_more{
		display: none;
	}

	/* sp版 news_detail */
	#contents #news_detail{
		position: relative;
	}
	#contents #news_detail h3{
		color: #d4b861;
		font-family: Century, HeiseiMincho, 'Hiragino Mincho Pro' , "ＭＳ 明朝" , 'MS Mincho' , serif;
		padding: 20px;
		font-size: 2.4rem;
	}
	#contents #news_detail .date{
		width: 100%;
		height: 20px;
		box-sizing: border-box;
		padding: 0;
		color: #d5bc63;
		text-align: left;
		background-image:none;
		line-height: 1.2;
		font-size: 1.4rem;
		font-weight: normal;
		position: absolute;
		top:-44px;
		left: 8px;
		z-index: 15;
	}
	#contents #news_detail .box_1col{
		width: 98%;
		margin: 0 auto;
	}
	#contents #news_detail .box_1col .waku{
		margin: 0px 35px 15px;
	}

	/* sp版 recruit */

	#contents .box_2col.box_recruit .box_in,
	#contents .box_2col.box_recruit .box_in:first-child{
		width: 100%;
		text-align: center;
	}

	/* sp版 accesss */

	#contents .box_2col.access-content .box_in,
	#contents .box_2col.access-content .box_in:first-child{
		width: 100%;
	}
	#contents .box_2col.box_recruit .box_in:first-child{
		text-align: left;
	}
	#contents.recruit .box_1col table.tb_recruit th,
	#contents.recruit .box_1col table.tb_recruit td{
		border: none;
	}
	#contents.recruit .box_1col table.tb_recruit tr:first-child th{
		border-radius: 17px 17px 0 0;
	}

	/* sp版 form */

	.box_form{
		width: 95%;
		max-width: 700px;
	}
	.box_form dl{
		width: 95%;
		margin: 0 auto;
		font-size:1.6rem;
	}
	.box_form dl dt{
		width: 100%;
		float: none;
		color: #ceb360;
		padding-top: 15px;
		text-align: left;
	}
	.box_form dl dd{
		padding: 10px 15px 15px;
		border-bottom:#d4b861 2px solid;
		text-align: center;
	}
	.box_form dl dd input[type=text],
	.box_form dl dd input[type=email]{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.box_form dl dd textarea{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.call-to-action img{
		margin: 20px auto;
	}
	/* .cast-slider .post-item a img {
		height: 321px;
	} */
	.cast-name-desktop{
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}
/*tab size*/
@media only screen and (min-width: 768px) and (max-width: 1100px)  {
	
	.concept {
		padding-bottom: 0 !important;
	}

	.fixed-page {
        padding: 150px 0 0 !important;
    }

	#cast-list,
	.news-item-list,
	.menu-list {
		gap: 40px;
	}
	#news-slider-autoplay .news-item,
	#cast-list li,
	.news-item-list .news-item, 
	.menu-list .menu-item {
		flex: 0 1 calc((100% - 40px) / 2);
	}
	
	.cast-name-mobile{
		display: block;
	}
	.page-title-after, .page-title-before {
        background-size: 80%;
    }

	#news-slider-autoplay .news-item:nth-child(-n+2) {
		display: block;
	}
}
@media (max-width: 767px) {
	.frame-container{
		/* margin: 7rem auto; */
	}
	#concept-slider-section .wpcp-carousel-section.nav-vertical-center{
		max-height: 250px !important;
	}
	#news-slider-autoplay,
	#cast-list,
	.news-item-list,
	.menu-list {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	#cast-list li{
		width: 100%;
		max-width: 330px;
		margin: 0 auto 0;
	}
	
	#news-slider-autoplay .news-item:nth-child(1){
		display: block;
	}
	
	.link_area .pagination .nav-links {
		font-size: 1.8rem;
	}
	#slider-autoplay-3 .slick-slide {
		transition: transform 0.4s ease, opacity 0.4s ease;
		transform: scale(0.8);
		opacity: 0.5;
	}
	  
	#slider-autoplay-3 .slick-center {
		transform: scale(1);
		opacity: 1;
		z-index: 2;
	}

	.cast-bg .cast-time, 
	.cast-bg .cast-name {
		padding: 0;
	}
	.cast-bg .cast-time{
	}

	.cast-bg .cast-name a{
	}
	.common-slick-slider .slick-slide{
		padding: 0;
	}

	#menu #menu_main .bg_kakeru{
		background-image: none;
	}
	#menu #menu_main .menu_2col.bg_kakeru li{
		width: 100%;
		float: none;
	}
	#menu #menu_main .bg_kakeru li:first-child:after{
		content: ' ';
		display: block;
		width: 100%;
		height: 90px;
		background-image: url(img/obj_kakeru.png);
		background-position: center center;
		background-repeat: no-repeat;
	}
	.pc-slider-img{
		display: none !important;
	}
	.sp-slider-img{
		display: block !important;
	}

	.visible-desktop{
		display: none !important;
	}
	.visible-mobile{
		display: block !important;
	}
	.news-section{
		width: 95%;
		margin: 0 auto;
	}
	.map-content-frame,
	.map-content {
		height: 370px;
	}
	.map-container {
		min-height: 370px;
	}
	
	.post-item:not(.slick-current.slick-active){
		pointer-events: none;
	}
	.post-item:not(.slick-current.slick-active) .cast-bg{
		display: none;
	}
	.slick-prev.slick-arrow,
	.slick-next.slick-arrow {
		background-size: 70%;
	}
	#concept-slider-section .wpcp-carousel-section.nav-vertical-center .swiper-button-next,
	#concept-slider-section .wpcp-carousel-section.nav-vertical-center .swiper-button-prev{
		background-size: 70% !important;
	}
	.dashicons-phone.custom-phone-icon,
	.access-tel {
		font-size: 24px;
	}
	.page-concept-text{
		font-size: 1.4rem !important;
	}
	.news-item-time {
		font-size: 14px;
	}
	.dashicons-clock.custom-clock {
		line-height: 18px;
	}
	.map-border-repeat {
		background-image:
		  url(images/maps/SP/repeatedborderX.png),
		  url(images/maps/SP/repeatedborderX.png),
		  url(images/maps/SP/repeatedborderY.png),
		  url(images/maps/SP/repeatedborderY.png);
	  }
	  
	  .map-border-corners {
		background-image:
		  url(images/maps/SP/topright.png),
		  url(images/maps/SP/bottomright.png),
		  url(images/maps/SP/topleft.png),
		  url(images/maps/SP/bottomleft.png);
	  }

	  #header-in p.spbtn a{
		height: 100px;
	  }
}
@media (max-width: 500px) {
	.frame-container{
		/* margin: 6rem auto 6rem; */
	}
	main#contents{
		width: 90%;
		margin: 0 auto;
	}
	h2.pagetitle:before,
	h2.pagetitle:after{
		display: none;
	}
	#contents .box_in h4.label{
		background-size: auto 80px;
		height: 80px;
	}
	#news_list .box_news .box_news-thumb{
		display: none;
	}

	#header-in p.spbtn a {
		background-size: 15%;
	}

	#header-in h1 a {
		background-size: 70%;
		margin-left: 10px;
	}

	.access-hours{
		margin: 0 auto !important;
	}
	.access-hour-title {
		margin-top: 0;
		font-size: 2rem !important;
		gap: 1rem;
		font-weight: 400;
	}
	.fixed-page {
		padding: 120px 0px 0 !important;
	}
	.map-content-frame,
	.map-content {
		height: 270px;
	}
	.map-container {
		min-height: 270px;
	}
	
	.sns-links {
		flex-wrap: wrap;
	}
	.sns-links a{
		width: calc(32% - 20px); 
		
	}
	.call-to-action img{
		width: 90%;
	}
	
	.access-hours .hours {
		font-size: 1.4rem !important;
	}
	.schedule-list{
		grid-template-columns: 130px auto;
	}
	.access-hours .hours {
        width: 90%;
    }

	.top-news-ellipsis-text-4 {
		-webkit-line-clamp: 3;        /* Show only 3 lines */
	}
	#header-in a img {
		width: 120px;
	}
	/* .cast-slider .post-item a img{
		height: 270px;
	} */
	#concept-slider-section .wpcp-carousel-section.nav-vertical-center{
		max-height: 200px !important;
	}

	.custom-button {
		max-width: 40%;
        padding: 5px 30px;
	}
}
@media (max-width: 375px) {
	.cast-bg-off, .cast-bg-on {
		margin: 1rem auto;
	}
}

@media (width: 1024px) {
	.access-hours .hours{
		width: 60%;
	}
}