﻿@charset "UTF-8";
/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,em,strong,th {
	font-style: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th {
	text-align: left;
}

hr,legend {
	display: none;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

img,fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

img {
	vertical-align: top;
}

/*IE6*/
* html img{
	vertical-align: bottom;
}
/*IE7*/
*:first-child+html img{
	vertical-align: bottom;
}

a{
	outline:none;
}

/* Fonts
------------------------------------------------------------*/
body {
	font-size: 75%; /* IE */
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif !important;
	/*
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-family: "qMmpS Pro W3","Hiragino Kaku Gothic Pro","CI","Meiryo",verdana,Osaka,"lr oSVbN","MS PGothic",Sans-Serif;
	*/
	-webkit-text-size-adjust: 100%;
}

body .yu_go{
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
}

body .futura{
	font-family: futura-pt, sans-serif;
	font-style: normal;
}

body .hira{
	font-family: "qMmpS Pro W3","Hiragino Kaku Gothic Pro","CI","Meiryo",verdana,Osaka,"lr oSVbN","MS PGothic",Sans-Serif;
}

html>/**/body {
	font-size: 12px; /* Except IE */
}

/* clearfix
------------------------------------------------------------*/
.cf:after {
	visibility: hidden;
	display: flex;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

* html .cf { zoom: 1; } /* IE6 */
*:first-child+html .cf { zoom: 1; } /* IE7 */


.ani_none,
.ani_none > *,
.ani_none:before,
.ani_none:after{
	transition:none !important;
	-webkit-transition:none !important;
	-moz-transition:none !important;
}


/*------------ 初期設定 ------------*/
p {
	color: #000000;
	line-height: 1.7;
}

/*------------ 全体 ------------*/
html {
	line-height: 1.15;
}

body {
	min-width:768px;
	margin:0 auto;
	width:100%;
	overflow-x:hidden;
	line-height: 1.5;
}

._hover{
	opacity:1;
	transition: all 0.4s;
}

._hover:hover{
	opacity:0.7;
}

.menu_div a:hover{
	color: #636363 !important;
}

.bg_hover{
	transition: all 0.4s;
}

.bg_hover:hover{
	background:#222222 !important;
}

.ib {
	display: inline-block;
}
/*------------ WRAPPER ------------*/
#wrapper {
	width:950px;
	margin:0 auto;
}

/*------------ HEADER ------------*/

#header{
	width:100%;
	background:#000;
	height:80px;
	position:relative;
}

#header h1{
	position:absolute;
	top:25px;
	left:30px;
	z-index:100;
}

#header ul{
	float:right;
	text-align:right;
	padding:30px 60px 0 0;
}

#header ul li{
	display:inline-block;
	margin-right:60px;
}

#header ul li:last-child{
	margin-right:0;
}

#header ul li a{
	font-size:20px;
	color:#ffffff;
	text-decoration:none;
	transition: all 0.4s;
}

#header ul li a:hover,
#header ul li a.active{
	color:#950012;
}

#header .reservation{
	position:absolute;
	right:0;
	top:80px;
	width:200px;
	z-index:100;
}

#header .reservation.active{
	position:fixed;
	right:0;
	top:0;
}

#header .reservation a{
	background:#feac1a;
	height:50px;
	padding: 7px 0 0 30px;
	display:block;
	font-size:16px;
	color:#ffffff;
	text-decoration:none;
	position:relative;
	box-sizing: border-box;
}

#header .reservation a:before{
	content:"";
	display:block;
	background:url(../images/common/icon_reservation.png) no-repeat left top;
	background-size:8px 15px;
	width:8px;
	height:15px;
	position:absolute;
	left:13px;
	top:50%;
	margin-top:-7px;
}

#header .reservation a:hover:before{
	left:18px;
	transition: all 0.4s;
}

#header .reservation a span{
	display:inline-block;
	margin-right:25px;
	font-size:20px;
	position:relative;
}

#header .reservation a span:after{
	content:"";
	width:1px;
	height:15px;
	background:#FFF;
	position:absolute;
	right:-15px;
	top:50%;
	margin-top:-7px;
}

#header .reservation a:hover span:after{
	animation: anime1 0.4s ease 1;
}

@keyframes anime1 {
  0% {
	transform:rotateZ(0deg);
  }

  100% {
	transform:rotateZ(360deg);
  }
}


.sp{
	display:none;
}
@media screen and (max-width: 768px) {

	.sp{
		display:block;
	}

	.pc{
		display:none;
	}

	img{
		width:100%;
		height:auto;
	}

	body ,
	html{
		width:100%;
		min-width:100%;
		overflow-x:hidden;
	}


	#header{
		width:100%;
		background:none;
		height:auto;
		padding-bottom:10px;
		position:relative;
	}

	#header h1{
		position:relative;
		top:auto;
		left:auto;
		width:60px;
		padding-top:10px;
		padding-left:10px;

		text-align:left;
	}

	#header ul{
		float:none;
		text-align:right;
		width:100%;
		height:100vh;
		background:rgba(0,0,0,0.8);
		padding:40% 0px 0 0;
		position:absolute;
		left:0;
		top:-100vh;
		box-sizing:border-box;
		transition: all 0.4s;
		z-index:1000;
	}

	#header ul.active{
		top:0vh;
		position:fixed;

	}

	#header ul li{
		display:block;
		margin-right:0px;
		text-align:center;
		padding-bottom:10%;
		opacity:0;
		transition: all 0.4s;
	}


	#header ul.active li{
		opacity:1;
	}

	#header ul.active li:nth-child(1) {
		-webkit-transition-delay: 600ms;
		transition-delay: 600ms;
	}
	#header ul.active li:nth-child(2) {
		-webkit-transition-delay: 700ms;
		transition-delay: 700ms;
	}
	#header ul.active li:nth-child(3) {
		-webkit-transition-delay: 800ms;
		transition-delay: 800ms;
	}
	#header ul.active li:nth-child(4) {
		-webkit-transition-delay: 900ms;
		transition-delay: 900ms;
	}
	#header ul.active li:nth-child(5) {
		-webkit-transition-delay: 1000ms;
		transition-delay: 1000ms;
	}

	#header ul li:last-child{
		margin-right:0;
	}

	#header ul li a{
		font-size:8vw;
		color:#FFF;
		text-decoration:none;
	}

	#header .reservation{
		position:absolute;
		right:0;
		top:100px;
		width:45%;
	}

	#header .reservation a {
		background:#feac1a;
		height:auto;
		padding:5% 0 4% 13%;
		display:block;
		font-size:4.5vw;
		color:#ffffff;
		text-decoration:none;
		position:relative;
	}

	#header .reservation a:before{
		content:"";
		display:block;
		background:url(../images/common/icon_reservation.png) no-repeat left top;
		background-size:100% auto;
		width:2vw;
		height:4vw;
		position:absolute;
		left:2vw;
		top:50%;
		margin-top:-1.5vw;
	}

	#header .reservation a:hover:before{
		left:18px;
		transition: all 0.4s;
	}

	#header .reservation a span{
		display:inline-block;
		margin-right:15%;
		font-size:4.5vw;
		position:relative;
	}

	#header .reservation a span:after{
		content:"";
		width:1px;
		height:4vw;
		background:#FFF;
		position:absolute;
		right:-17%;
		top:50%;
		margin-top:-2vw;
	}

	#btn_menu{
		position:absolute;
		right:10px;
		top:10px;
		width: 40px;
		height:41px;
		box-sizing:border-box;
		display:block;
		z-index:10000;
		cursor:pointer;
		background:#000;
		padding:6px 5px;
	}

	#btn_menu.active{
		position:fixed;
	}

	#btn_menu span {
		display: block;
		background: #FFF;
		width: 22px;
		height: 1px;
		position: absolute;
		left: 50%;
		margin-left:-11px;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
	}
	#btn_menu span:first-child {
		top: 13px;
	}
	#btn_menu span:nth-child(2) {
		top: 50%;
	}
	#btn_menu span:nth-child(3){
		bottom: 13px;
	}
	#btn_menu.active span:first-child {
		-webkit-transform: translateY(7px) rotate(45deg);
		-moz-transform: translateY(7px) rotate(45deg);
		-ms-transform: translateY(7px) rotate(45deg);
		transform: translateY(7px) rotate(45deg);
		background: #FFF;
	}
	#btn_menu.active span:nth-child(2) {
		opacity: 0;
	}
	#btn_menu.active span:nth-child(3) {
		-webkit-transform: translateY(-7px) rotate(-45deg);
		-moz-transform: translateY(-7px) rotate(-45deg);
		-ms-transform: translateY(-7px) rotate(-45deg);
		transform: translateY(-7px) rotate(-45deg);
		background: #FFF;
	}
}

/*------------ NAVI ------------*/


/*------------ TOP ------------*/


/*------------ FOOTER ------------*/

#footer{
	background:#000;
	width:100%;
	padding:60px 0;
	/*margin-top:200px;*/
}

#footer .page_top{
	display:none;
}

#footer .page_top a{
	display:block;
	position:fixed;
	right:30px;
	bottom:30px;
	width:50px;
	height:50px;
	background:#950012;
	text-align:center;
	padding-top:20px;
	box-sizing:border-box;
}

#footer .page_top a:hover{
	transition: all 0.4s;
	padding-top:15px;
}

#footer ul{
	text-align:center;
	width:800px;
	margin:0 auto;
	border-top:solid 1px #ffffff;
	border-bottom:solid 1px #ffffff;
	padding:20px 0 10px;
}

#footer ul li{
	display:inline-block;
	margin-right:100px;
}

#footer ul li:last-child{
	margin-right:0;
	position:relative;
	/*top:-6px;*/
}

#footer .inner{
	width:800px;
	margin:60px auto 0;
	position:relative;
}

#footer .inner .inner_l{
	width:140px;
	float:left;
}

#footer .inner p{
	width:400px;
	float:left;
	font-size:18px;
	color:#ffffff;
}

#footer .inner p span{
	margin-top:20px;
	display:block;
	font-size: 14px;
	color: rgb(255, 255, 255);
	line-height: 1.5;
}

#footer .inner a.bg_hover{
	display:block;
	font-size:20px;
	color:#ffffff;
	text-decoration:none;
	width:275px;
	height:70px;
	box-sizing:border-box;
	padding-top:22px;
	position:absolute;
	right:0;
	top:45px;
	background:#950012;
	text-align:center;
}

small{
	display:block;
	text-align:center;
	font-size:14px;
	color:#ffffff;
	margin-top:50px;
}

.footer_section-col {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 1em;
}

.footer_section .footer_logolist {
	align-items: center;
	border: none;
	gap: 15px;
}

.footer_section .footer_logolist li img {
	margin: 0;
	width: auto;
}

.footer_section .footer_logolist li .instagram {
	height: 30px;
	width: auto;
}

.footer_section .footer_logolist li .tagelog {
	height: 25px;
	width: auto;
}

@media screen and (max-width: 768px) {
	#footer{
		background:#000;
		width:100%;
		padding:10% 0;
		margin-top:0%;
	}

	#footer .page_top a{
		display:block;
		position:fixed;
		right:0px;
		bottom:20px;
		width:50px;
		height:50px;
		padding:20px 15px 10px;
		background:#950012;
		text-align:center;
		box-sizing:border-box;
	}

	#footer .page_top a:hover{
		padding:20px 15px 10px;
	}

	#footer ul{
		text-align:center;
		width:90%;
		margin:0 auto;
		border-top:solid 1px #ffffff;
		border-bottom:solid 1px #ffffff;
		padding:20px 0 10px;
	}

	#footer ul li{
		display:inline-block;
		margin-right:0px;
		text-align:center;
		margin-right:5%;
	}

	#footer ul li:nth-child(1){
		width:13%;
	}

	#footer ul li:nth-child(2){
		width:25%;
	}

	#footer ul li:nth-child(3){
		width:12%;
	}

	#footer ul li:nth-child(4){
		width:6%;
	}

	#footer ul li:last-child{
		margin-right:0;
		position:relative;
		top:-1vw;
	}

	#footer .inner{
		width:90%;
		margin:5% auto 0;
		position:relative;
	}

	#footer .inner .inner_l{
		width:20%;
		float:none;
		margin:0 auto;
	}

	#footer .inner p{
		width:100%;
		float:none;
		font-size:4.5vw;
		color:#ffffff;
		margin-top:5%;
	}

	#footer .inner p span{
		margin-top:3%;
		display:block;
		font-size: 3.8vw;
		color: rgb(255, 255, 255);
		line-height: 1.5;
	}

	#footer .inner a.bg_hover{
		display:block;
		font-size:5vw;
		color:#ffffff;
		text-decoration:none;
		width:60%;
		height:auto;
		box-sizing:content-box;
		padding:5% 0 3%;
		position:relative;
		right:auto;
		top:auto;
		margin:8% auto 0;
		background:#950012;
		text-align:center;
	}

	small{
		display:block;
		text-align:center;
		font-size:3.2vw;
		color:#ffffff;
		margin-top:8%;
	}

	.footer_section-col {
		width: 100%;
	}
}

/*-------- text_right --------*/
.t_right {
	text-align: right;
}

/*-------- text_left --------*/
.t_left {
	text-align: left;
}

/*-------- center --------*/
.t_center {
	text-align: center;
}

/*-------- left --------*/
.left {
	float: left;
}

/*-------- right --------*/
.right {
	float: right;
}

/*-------- ClearBoth --------*/
.cb {
	clear: both;
}

/*-------- COLOR --------*/

.red{
	color:#FF0000;
}

.orange{
	color:#FF6600;
}

.blue{
	color:#0097B2;
}

/*-------- FONT --------*/

.bold{
	font-weight:700;
}

.f10{
	font-size:10px;
}

.f14{
	font-size:14px;
}

/*-------- WIDTH --------*/

.w149{
	width:149px;
}

.w180{
	width:180px;
}

.w287{
	width:287px;
}

.w380{
	width:380px;
}

.w304{
	width:304px;
}

/*-------- HEIGHT --------*/

.h350{
	height:350px;
}

.h375{
	height:375px;
}

.h500{
	height:420px;
}

.h600{
	height:470px;
}

/*-------- MARGIN --------*/

.ml3{
	margin:0 0 0 3px;
}

.ml10{
	margin:0 0 0 10px;
}

.ml30{
	margin:0 0 0 30px;
}

.ml40{
	margin:0 0 0 40px;
}

.ml60{
	margin:0 0 0 60px;
}

.ml70{
	margin:0 0 0 70px;
}

.mb10{
	margin:0 0 10px 0;
}

.mb15{
	margin:0 0 15px 0;
}

.mt3{
	margin:3px 0 0 0;
}

.mt10{
	margin:10px 0 0 0;
}


.mt20{
	margin:20px 0 0 0;
}

.mt30{
	margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
	padding-top:5px;
}

.pt10{
	padding-top:10px;
}

.pt15{
	padding-top:15px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt60{
	padding-top:60px;
}

.pl10{
	padding-left:10px;
}

.pl12{
	padding-left:12px;
}

.pl15{
	padding-left:15px;
}

.pl20{
	padding-left:20px;
}

.pl30{
	padding-left:30px;
}

.pl40{
	padding-left:40px;
}

.pl50{
	padding-left:50px;
}

.pl60{
	padding-left:60px;
}

.pl70{
	padding-left:70px;
}

.pl80{
	padding-left:80px;
}

.pl100{
	padding-left:100px;
}

.pr100{
	padding-right:100px;
}


.pb20{
	padding-bottom:20px;
}

/*-------- COMMON --------*/

.pic{
	padding:2px;
	display:block;
	border:1px solid #CCCCCC;
}

.hidden{
	overflow:hidden;
}

.abs{
	position:absolute;
}

.ondes{
	color:#999999;
}

/*************************************/
.delay2{
	opacity:0;
	transition: all 0.4s;

}
.delay4{
	opacity:0;
	transition: all 0.4s;
}
.delay6{
	opacity:0;
	transition: all 0.4s;
}
.delay8{
	opacity:0;
	transition: all 0.4s;
}

.delay2.active{
	transition-delay: 200ms;
	opacity:1;
}
.delay4.active{
	transition-delay: 400ms;
	opacity:1;
}
.delay6.active{
	transition-delay: 600ms;
	opacity:1;
}
.delay8.active{
	transition-delay: 800ms;
	opacity:1;
}

a.delay2.active:hover {
	opacity: 0.7;
}

#loadng_area{
	width:100%;
	height:100%;
	background:#262626;
	position:fixed;
	left:0;
	top:0;
	z-index:9998;
	background:url(../images/top/bg_block02.png) no-repeat center bottom #262626;
	background-size:cover;
}

body{
	min-height:101vh;
}

.disnon3{
	opacity:0;
}

.disnon3.active{
	opacity:1;
}

@media screen and (max-width: 768px) {

	.delay2.active,
	.delay6.active{
		transition-delay: 200ms;
		opacity:1;
	}

	.delay4.active,
	.delay8.active{
		transition-delay: 400ms;
		opacity:1;
	}
}

.clock{
	font-weight:500 !important;
	position:relative;
	font-size:20px !important;
	letter-spacing:3px;
	font-family: futura-pt, sans-serif;
}

.clock:before{
	content:"";
	display:inline-block;
	background:url(../images/common/icon_clock.png) no-repeat left top;
	background-size:100% auto;
	width:24px;
	height:24px;
	position:relative;
	right:14px;
	top:5px;
}

.clock.clock_w:before{
	background:url(../images/common/icon_clock_w.png) no-repeat left top;
	background-size:100% auto;
}

.clock span{
	font-weight:bold;
	font-size:20px !important;
	transform:rotate(0) !important;
	font-family: "qMmpS Pro W3","Hiragino Kaku Gothic Pro","CI","Meiryo",verdana,Osaka,"lr oSVbN","MS PGothic",Sans-Serif;
}

@media screen and (max-width: 768px) {
	.clock{
		font-size:5vw !important;
	}

	.clock:before{
		background:url(../images/common/icon_clock.png) no-repeat left top;
		background-size:100% auto;
		width:5vw;
		height:5vw;
		position:relative;
		right:2%;
		top:1vw;
	}

	.clock.clock_w:before{
		background:url(../images/common/icon_clock_w.png) no-repeat left top;
		background-size:100% auto;
	}

	.clock span{
		font-size:5vw !important;
	}
}


.main_slide {
	margin-bottom: 0;
}