
@charset "utf-8";
/*@import url(https://fonts.googleapis.com/css?family=Rajdhani);*/
/* CSS Document */

/*------------------------------------------
base
------------------------------------------*/
html {
font-size: 62.5%; /*讓呎ｺ悶し繧､繧ｺ*/
}
html.small {
font-size: 50%; /*蟆上し繧､繧ｺ*/
}
html.big {
font-size: 87.5%; /*螟ｧ繧ｵ繧､繧ｺ*/
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}


body{
	background:#fff;
	background-size: cover;
	color: #252525;
	font-size: 16px;
	line-height: 250%;
	font-family:'繝｡繧､繝ｪ繧ｪ', 'Meiryo', sans-serif;
	overflow: hidden;
}
.overflow_hidden {
	overflow: hidden;
}

a,
button{
    cursor: pointer;
}

@media all and (min-width: 992px) {
/* 992px莉･荳翫�蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
	.pc{display: block !important;}
	.sp{display: none !important;}
}

@media all and (max-width: 991px) {
/* 991px縺ｾ縺ｧ縺ｮ蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
	body{
		font-size: 12px;
		line-height: 200%;
	}
	img{max-width: 100%;}
	.sp{display: block !important;}
	.pc{display: none !important;}
}


p{
    margin-bottom: 1.6rem;
}

.row{
	padding-left: 0;
	padding-right: 0;
}

small{
	/*display: block;*/
	line-height: 150%;
    font-size: 0.7rem;
}

.object-fit{
  object-fit: contain;
  font-family: 'object-fit: contain;'
}



#container{
    padding: 5em 0;
}


img{
	image-rendering: -webkit-optimize-contrast;
	vertical-align: bottom;
}


img.btn_fade{
	transition: 0.2s;
}

img.btn_fade:hover{
	opacity: 0.5;
}


.object-fit-img {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}


.svg-icon{
	display: none;
}





/*-------------------------------------
flexbox
---------------------------------------*/
.flexbox{
    display: flex;
    flex-wrap: wrap;
}




/*-------------------------------------
box_shadow
-------------------------------------*/


.box_shadow{
    background: #fff;
    border-radius: 10px;
    box-shadow:0px 0px 12px 0px rgba(114,125,131,0.2);
    display:block;
    color: #252525;
    transition: all .5s;
    word-break: break-all;
    margin: 1em auto;
    text-align: center;
}


.box_shadow .thum img{
    border-radius: 10px 10px 0 0;
}

#container a.box_shadow:hover{
    text-decoration: none;
    box-shadow:0px 0px 12px 0px rgba(114,125,131,1);
    opacity: 0.5;
}



/*-------------------------------------
margin_box
-------------------------------------*/
.margin_box{
	margin-top: 5em;
	margin-bottom: 15rem;
}


/*-------------------------------------
padding_inner
-------------------------------------*/
.padding_inner{
    padding: 1rem;
}

.padding_inner ul{
    margin: 0;
    padding-left:1.5rem;
}

.small_text{
    font-size: 0.8rem;
    line-height: 1.2rem;
	padding: 1em 0;
}



/*------------------------------------
span.orange
------------------------------------*/
span.orange{
    color: #d25f3b;
}




/*-------------------------------------
header
-------------------------------------*/
header{
	background-size: contain;
	padding: 0.5em;
	color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 20px;
}

header h1{
	font-size: 1.4rem;
	line-height: 1em;
	padding: 0;
	margin: 0;
	font-weight: bold;
    width: 200px;
}


header h1 img{
    height: 50px;
}


header .btn_box{
    position: fixed;
    display: flex;
    gap:10px;
}



/*-----------setting_window----------*/

header .btn_box .setting_window{
    position: fixed;
    
    background: #fff;
    color: #000;
    box-shadow: #000 0 0 3px 0;
    border-radius: 5px;
    padding: 10px 20px;
    z-index: 10;
    display: none;    
}

header .btn_box .setting_window.show{
    display: inline-table;
}

header .btn_box .setting_window ul{
    margin: 0;
    padding: 0;
}

header .btn_box .setting_window ul li{
    list-style: none;
}

header .btn_box .setting_window ul li label{
    display: block;
    padding: 5px 0;
}

header .btn_box .setting_window ul li input{
    margin-right: 5px;
}


header .btn_box p a{
    color: #000 !important;
}



/*-------search_window-------*/


header .btn_box .search_window{
    position: fixed;
    
    background: #fff;
    color: #000;
    box-shadow: #000 0 0 3px 0;
    border-radius: 5px;
    padding: 10px;
    z-index: 10;
    display: none;

    height: 50px;    
    line-height: 1em;
    gap: 10px;

}


header .btn_box .search_window.show{
    display: flex;
}



@media all and (min-width: 992px) {
    header .btn_box{
        top: 20px;
        left: 250px;
    }

    
    header .btn_box .setting_window{
        left: 425px;
        top: 80px;
    }

    
    header .btn_box .search_window{
        top: 80px;
    }
}


@media all and (max-width: 991px) {
    header{
        padding: 10px;
    }
    header .btn_box{
        top: 5px;
        right: 5px;
    }
	header h1 img{
		height: 20px;
	}

    header .btn_box .setting_window{
        top: 50px;
        right: 5px;
    }
    

    header .btn_box .search_window{
        top: 50px;
    }

}




/*-------------------------------------
position_btn_box
-------------------------------------*/

.position_btn_box .btn_box{
    position: fixed;
	z-index: 100;
}

.position_btn_box .btn_box{
    display: flex;
    gap: 10px;
}



.position_btn_box .btn_box.sideclose,
.position_btn_box .btn_box.sideclose.zoom{
    bottom:10px;
}



@media all and (min-width: 992px) {
    .position_btn_box .btn_box,
    .position_btn_box .btn_box.sideclose,
    .position_btn_box .btn_box.sideclose.zoom{
        bottom: 20px;
        left: 20px;
    }
}



@media all and (max-width: 991px) {
    .position_btn_box .btn_box{
        bottom: 310px;
        left: 5px;
    }
}




/*-------------------------------------
btn_p
-------------------------------------*/


.btn_p{
	margin: 0;
	display: block;
	width: 100%;
	text-align: center;
}

.btn_p a{
	display: block;
	width: 100%;
	height: 40px;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	color: #252525;
	font-weight: bold;
	transition: 0.2s;
	border-radius: 5px;
	line-height: 40px;
}

.btn_p a:hover{
	text-decoration: none;
	opacity: 0.5;
}

.btn_p a img{
	margin: auto;
}




/*-----------------------------------
btn_p2
-----------------------------------*/

 

p.btn_p2{
    margin: 0;
}

p.btn_p2 a,
p.btn_p2 a:visited,
p.btn_p2 button{
    border: none;
    display: block;
    background: #fff;
    color: #000;
    box-shadow: #000 0 0 3px 0;
    border-radius: 5px;
    padding: 5px 10px;
    font-size: 1.2rem;
}





/*-----------------------------------
map_box
-----------------------------------*/



@media all and (min-width: 992px) {
/* 992px莉･荳翫�蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
	#map_box{
		/*width: calc(100vw - 400px);*/
		height: 100vh;
	}
}

@media all and (max-width: 991px) {
/* 991px縺ｾ縺ｧ縺ｮ蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
	#map_box{
		width: 100vw;
		height: 100vh;
	}
}
#map_box{
/*	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;*/
    
    position: relative;
    /*z-index: -10;*/
}
#map_box ifream{
	width: 100%;
	height: 100vh;
}





/*-----------------------------------
side
-----------------------------------*/
#side{
	background-color: rgba(40, 40, 40, 0.8);
	width: 400px;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
}


#side article{
	padding: 20px;
	overflow-y: scroll;
	width: 100%;
	height: 100vh;
}


#side article h3{
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0;
    margin: 0;
}


#side article .inner{
	padding: 10px;
	background: #fff;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
}
#side article table{
	width: 100%;
	margin: 0;
}
#side article table p{
	margin: 0;
}

#side article thead{
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.5em;
	vertical-align: top;
}

#side article table .thum{
	width: 120px;
	vertical-align: top;
	padding-right: 10px;
}

#side article table .thum img{
	width: 100%;
}

#side article table .text{
	vertical-align: top;
}

#side article table .text h4{
	font-size: 1.8rem;
	font-weight: bold;
}

#side article table .text p{
	font-size: 1.2rem;
	line-height: 1.5em;
}

#side article .inner .btn_td{
	height: 40px;
	width: calc(100% - 120px);
}


#side .header_box{
    display: flex;
    justify-content: space-around;
    align-items: center;
    
    padding-bottom: 20px;
}

#side .header_box .box:first-child{
	flex: 1;
}

#side .header_box .box:last-child{
    display: flex;
    justify-content: space-around;
    gap:10px;
	width: 160px;
}


#side .header_box .zoom{
    margin: 0;
}

#side .header_box .favorite.on a{
    color: #ccc;
}

#side .header_box .favorite.off a{
    color: #000;
}



@media all and (min-width: 992px) {
/* 992px莉･荳翫�蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
    #side .header_box .zoom{
        display: none;
    }
	
	
	#side .header_box .box:last-child{
		width: 120px;
	}

}




/*--------------------
sns_window
--------------------*/

#sns_window{
    position: fixed;
    top:0;
    left: 0;
    background: rgba(0,0,0,0.8);
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    
    color: #000;
    display: none;
}
#sns_window.open_sns{
    display: block;
}

#sns_window .box{
    margin: 0;
    padding: 0;
    background: #fff;
    border-radius: 10px;
    position: fixed;
    height: 200px;
    width: 300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#sns_window .text_p{
    margin: 0;
    text-align: center;
    padding-top: 40px;
}

#sns_window ul{
    margin: 0;
    padding: 0;
    width: 100%;
    margin-top: 40px;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: space-evenly;
}

#sns_window ul li{
    list-style: none;
    margin: 0;
    padding: 0;
}




#sns_window .btn_p.close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    opacity: 1;
}

#sns_window .btn_p.close a {
    border-radius: 50%;
    background: #252525;
}
#sns_window .btn_p.close a svg {
    width: 24px;
    height: 24px;
    fill: #fff;
}
#sns_window a,
#sns_window a img{
    width: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    height: 50px;
    
}
#sns_window a{
    border-radius: 50%;
    display: inline-block;
    padding: 0;
}

#sns_window a img {
    padding: 8px;
}

#sns_window .line{background: #00b900;}
#sns_window .facebook{background: #1877f2;}
#sns_window .twitter{background: #1da1f2;}
#sns_window .mail{background: #f0821e;}


/*---zoom---*/

#side.zoom{
    height: calc(100vh - 220px);
}

.position_btn_box .btn_box.zoom{
    bottom:calc(100vh - 210px);
}

#side_close.zoom{
    bottom:calc(100vh - 220px);
}


@media all and (max-width: 991px) {
	#side{
		position: fixed;
		left: 0;
		top: auto;
		bottom: 0;
		width: 100%;
		height: 300px;
		overflow-y: scroll;
	}
	#side article{
		height: auto;
	}
}



/*------------------------------------
side_close
------------------------------------*/


#side_close{
    margin: 0;
    position: fixed;
    z-index: 100;
    width: 40px;
    cursor: pointer
}


#side_close a,
#side_close a:visited{
    border: none;
    display: block;
    background: #000;
    color: #fff;
    padding: 10px 16px;
    font-size: 1.4rem;
    width: 100%;
}


/*---sideclose---*/
#side_close.sideclose,
#side.sideclose{
    display: none;
}


@media all and (min-width: 992px) {
    #side_close{
        bottom: auto;
        right: 400px;
        left: auto;
        top: 0;
    }
}

@media all and (max-width: 991px) {
    #side_close{
        bottom: 300px;
        right: 0;
    }
}





/*------------------------------------
popup
------------------------------------*/
#popup{
	background: rgba(0,0,0,0.8);
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    margin: 0 auto;
    z-index: 100;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
	width: 100%;
	height: 100vh;
	display: none;
	
}

#popup .inner{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)
             translateY(-50%);
	width: 800px;
	/*height: 500px;*/
	background: #fff;
	padding: 20px;
	border-radius: 10px;
}



#popup .slider{
    margin: 0 auto;
    width: 80%;
	padding: 0;
}
#popup .slider img{
    width: 200px;
	height: 200px;
	object-fit: cover;
}
/*slick setting*/
#popup .slick-prev:before,
#popup .slick-next:before {
    color: #252525;
}

#popup .inner .text_box{
	padding-top: 40px;
}

#popup .inner .text_box h3{
	font-weight: bold;
	font-size: 1.8rem;
}

#popup .inner .text_box .address_p{
	margin: 0;
	font-size: 1.6rem;
}

#popup .inner .text_box .link_p{
	text-align: right;
}

#popup .slider li a{
	position: relative;
}

#popup .slider li a svg{
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 24px;
	height: 24px;
	fill: #fff;
}


#popup .btn_p.close{
	position: absolute;
	top: -10px;
	right: -10px;
	width: 40px;
	height: 40px;
}
#popup .btn_p.close a{
	border-radius: 50%;
	background: #252525;
}
#popup .btn_p.close a svg{
	width: 24px;
	height: 24px;
	fill:#fff;
}

#popup .btn_p.close{
	opacity: 1;
}

#popup .btn_p.prev_cast,
#popup .btn_p.next_cast{
	width: 200px;
}

#popup .btn_p.prev_cast{
	float: left;
}
#popup .btn_p.next_cast{
	float: right;
}




@media all and (max-width: 991px) {
	#popup .inner{
		width: 90%;
	}
	
	#popup .btn_p.prev_cast,
	#popup .btn_p.next_cast{
		width: 110px;
	}
}

/*------------------------------------
link
-----------------------------------*/
.link{
	position: relative;
	top: -200px;
	display: block;
}




/*------------------------------------
container
------------------------------------*/
#container {
    position: relative;
    z-index: 10;
}

#container.content {
   /* background: #fbfbfb;*/
	padding-top: 0;
}

#container .container{
	padding: 10em 1rem;
}








/*------------------------------------
hr
-------------------------------------*/



/*------------------------------------
h
-------------------------------------*/




/*----------------------------------
js-animation
------------------------------------*/

.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}



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




/*-----------------------------------
pageup
-----------------------------------*/

#pageup {
    letter-spacing: 0;
    display: block;
    position: fixed;
	z-index: 99;
    bottom: 1rem;
    right: 50px;
}

#pageup a {
    position: relative;
    display: block;
    font-size: 10px;
    text-align: center;
    font-weight: normal;
    line-height: 112px;
    width: 80px;
    height: 80px;

    background: #000;
	border: #fff solid 1px;
    
    color: #fff;
	cursor:pointer;
	
	text-decoration:none;
	letter-spacing:0.2rem;
	padding: 0;
	
	transition: 0.5s;
}

#pageup a:before{
	content:"";
	display: block;
	width:25px;
	height:25px;
	position: absolute;
	left:27px;
	top:26px;
	margin-top:-6px;

	border-top:6px solid #fff;
	border-right:6px solid #fff;
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

#pageup a:hover , #pageup a:visited{
	text-decoration: none;
}


@media all and (min-width: 992px) {
/* 992px莉･荳翫�蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */


	#pageup a:hover {
		opacity: 0.5;
	}
	#pageup a:hover:before{
		border-color:#fff;
	}

}
@media all and (max-width: 767px) {
/* 767px縺ｾ縺ｧ縺ｮ蟷��蝣ｴ蜷医↓驕ｩ蠢懊＆繧後ｋ */
	
	.insta_btn {
		zoom:1;
	}
    #pageup{
        bottom:1rem;
		right:1rem;
    }
}







#cast-items-tmpl, 
#shop-items-tmpl2 {
	display: none;
}

#control-div {
	width: 100%;
	height: 100%;
	position: relative;
	pointer-events: none;
	z-index: 11;
}
#control-div button {
	background-color: #37F;
	border: 2px solid #fff;
	boxShadow: 0 2px 6px rgba(0,0,0,.3);
	color: #FFF;
	cursor: pointer;
	font-family: "Roboto,Arial,sans-serif";
	font-size: 16px;
	line-height: 38px;
	margin: 8px 0 22px;
	padding: 0 5px;
	text-align: center;
	border-radius: 38px;
	pointer-events: all;
}


#control-div #center-cross {
	position: fixed;
	top: calc( 50% - 15px );
	left: calc( 50% - 15px );
	font-size: 30px;
}


.fav_icon{
	position: absolute;
	right: 20px;
	top: 10px;
}

.fav_icon.off, .fav_icon.off a {
	font-size: 18px;
	color: #ccc;
	text-shadow: #fff 2px 0px 6px, #fff -2px 0px 6px, #fff 0px -2px 6px, #fff -2px 0px 6px, #fff 2px 2px 6px, #fff -2px 2px 6px;
}
.fav_icon.on, .fav_icon.on a {
	font-size: 18px;
	color: #fc686f;
	text-shadow: #fff 2px 0px 2px, #fff -2px 0px 2px, #fff 0px -2px 2px, #fff -2px 0px 2px, #fff 2px 2px 2px, #fff -2px 2px 2px;
}

.share {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 6px;
}
.share-color .line a {
	background-color: #00b900;
}
.share-color .facebook a {
	background-color: #1877f2;
}
.share-color .twitter a {
	background-color: #1da1f2;
}
.share-color .mail a {
	background-color: #f0821e;
}
.share .sns-item a {
	border-radius: 50%;
	display: inline-block;
	line-height: 36px;
	width: 36px;
	height: 36px;
	padding: 0;
}
.share .sns-item a img {
	width: 36px;
	height: 36px;
	padding: 8px;
}
#side #controll_btns.row {
	margin: 15px 0;
}
#side #controll_btns > div {

}
#side #controll_btns button {
	font-size: 18px;
	width: 100%;
}
	

#control-div button#reload,
#control-div button#gotome,
#control-div button#sns_x{		
	border: none;
	display: block;
	background: #000;
	color: #fff;
	border-radius: 0 5px 5px 0;
	padding: 10px;
	font-size: 1.6rem;
	width: 80px;
	margin: 0;	
	line-height: 1.5em;
	
	font-family:'繝｡繧､繝ｪ繧ｪ', 'Meiryo', sans-serif;
}
#control-div button#reload {
	position: fixed;
	top: 100px;
	left: 0;
}
#control-div button#gotome{
	position: fixed;
	top: 150px;
	left: 0;
}
#control-div button#sns_x{
	position: fixed;
	top: 200px;
	left: 0;
}
#control-div button#reload[disabled],
#control-div button#gotome[disabled],
#control-div button#sns_x[disabled] {
	background: #888;
}

#control-div button#sns_x img{
	height: 20px;
}
@media all and (max-width: 991px) {

}











/*----------------------------
content_main
----------------------------*/
#content_main{
	background: #000;
	color: #fff;
}

#content_main .header {
	height: 100px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background: #000;
}
#content_main .header p{
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	text-align: center;
}

#content_main .header img{
	height: auto;
	height: 60px;
}

#content_main #side{
	color: #000;
	position: static;
	margin: 0 auto;
	width: 100%;
	height: auto;
	margin-top: 100px;
}

#content_main #side article{
	overflow-y:auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 20px;
	height: auto;
}

@media (max-width: 991px){
	#content_main #side {
		/*height: 100vh;*/
		overflow: auto;
	}
	

	#content_main #side article{
		display: block;
	}
}


.site_list {
	display: flex;
}
.site_link_list a {
	border: 1px solid #000000;
	border-radius: 3px;
	box-shadow: 2px 2px 5px black;

}

