@charset "utf-8";

/* CSS Document */



html {

	height: 100%;

	font-size:4vmin;

}

body {

	max-width: 100%;

	box-sizing: border-box;

	height: 100%;

	padding-top:62px;

	background:#2e2121;

}





p.main_paragraph {

	font-size: 0.9rem;

	line-height: 1.5;

	padding: 0 3%;

	margin-bottom:2rem;

}



.inner{

	width:100%;

	box-sizing:border-box;

}



img{

	width:100%;

	max-width:100%;

}





.emp{

	font-size: 1rem;

	font-family: 'Noto Sans JP', sans-serif;

	color:#0f2061;

	font-weight: 700;

}





.under{

background: linear-gradient(transparent 80%, #fdff4b 0%);

font-weight: bold; 

}

.pc_common_header {

	display:none;

}















/* header */

#top-head {

	line-height: 1;

	z-index: 999;

	text-align:center;

}

#top-head a,

#top-head {

	color: #404040;

	text-decoration: none;

}





#global-nav ul {

	list-style: none;

}

#global-nav ul li {

	float: left;

	position: relative;

}

#global-nav ul li a {

	padding: 0 30px;

}



/* Btn Hover */

#global-nav ul li:after {

	position: absolute;

	content: "";

	display: block;

	width: 100%;

	height: 3px;

	bottom: -10px;

	transition: all 0.3s ease;

	-webkit-transition: all 0.3s ease;

	-moz-transition: all 0.3s ease;

}

#global-nav ul li:hover:after {

	background: #fff;

	bottom: -10px;

}





/* Fixed */

#top-head.fixed {

	margin-top: 0;

	top: 0;

	width:100%;

	position: fixed;

	padding: 10px 0;

	background: rgba(0,0,0,0.7);



	transition: top 0.65s ease-in;

	-webkit-transition: top 0.65s ease-in;

	-moz-transition: top 0.65s ease-in;

}





/* Fixed Btn Hover */

#top-head.fixed #global-nav ul li:after {

	bottom: 0;

}

#top-head.fixed #global-nav ul li:hover:after {

	background: #ffffff;

	bottom: -10px;

}







#top-head,

#top-head .logo,

#global-nav ul li,

#global-nav ul li a {

	transition: all 0.3s ease;

	-webkit-transition: all 0.3s ease;

	-moz-transition: all 0.3s ease;

}









/* Toggle Button */

#nav-toggle {

	display: none;

	position: absolute;

	right: 3%;

	top: 1.5rem;

	width: 32px;

	height: 34px;

	cursor: pointer;

	z-index: 101;

}



#nav-toggle div {

	position: relative;

}

#nav-toggle span {

	display: block;

	position: absolute;

	height: 3px;

	width: 100%;

	background: #ffffff;

	left: 0;

	-webkit-transition: .35s ease-in-out;

	-moz-transition: .35s ease-in-out;

	transition: .35s ease-in-out;

}

#nav-toggle span:nth-child(1) {

	top: 0;

}

#nav-toggle span:nth-child(2) {

	top: 11px;

}

#nav-toggle span:nth-child(3) {

	top: 22px;

}





/*グローバルナビ*/

#top-head,

.inner {

	width: 100%;

	padding: 0;

}

#top-head {

	top: 0;

	position: fixed;

	margin-top: 0;

}

/* Fixed reset */

#top-head.fixed {

	padding-top: 0;

	background: transparent;

}





#mobile-head {

	background: #000000;

	width: 100%;

	height: 4rem;

	z-index: 999;

	position: relative;

	padding:0.5rem 0;



}

#mobile-head h1{

	text-align:left;

	padding: 0.2rem 3% ;

}

#mobile-head h1 img{

	width:35%;



}

#global-nav {

	position: absolute;

	top: -510px;

	background: rgba(0,0,0,0.8);

	width: 100%;

	text-align: center;

	padding: 2rem 0;

	-webkit-transition: .5s ease-in-out;

	-moz-transition: .5s ease-in-out;

	transition: .5s ease-in-out;

}

#global-nav ul {

	list-style: none;

	position: static;

	right: 0;

	bottom: 0;



}

#global-nav ul li {

	float: none;

	position: static;

}



#global-nav ul li:after  {

	display: none;

}

#top-head #global-nav ul li a,

#top-head.fixed #global-nav ul li a {

	width: 100%;

	display: block;

	color: #fff;

	padding: 1.2rem 0;

	font-size: 1rem;

}

	



	

#nav-toggle {

	display: block;

}

/* #nav-toggle  */

.open #nav-toggle span:nth-child(1) {

	top: 11px;

	-webkit-transform: rotate(315deg);

	-moz-transform: rotate(315deg);

	transform: rotate(315deg);

}

.open #nav-toggle span:nth-child(2) {

	width: 0;

	left: 50%;

}

.open #nav-toggle span:nth-child(3) {

	top: 11px;

	-webkit-transform: rotate(-315deg);

	-moz-transform: rotate(-315deg);

	transform: rotate(-315deg);

}

.open #global-nav {

	/* #global-nav top + #mobile-head height */

	-moz-transform: translateY(556px);

	-webkit-transform: translateY(556px);

	transform: translateY(556px);

}







#mv {

	height:100%;

	position:relative;

	padding: 0 3%;

	box-sizing:border-box;

}



#mv .inner{

	height: 100%;

	background-size:cover;

}





.mv_switch {

    position: absolute;

    top: 0px;

    left: 0px;

    width: 100%;

    height: 100%;

    background: #000000;

    z-index: -1;

	overflow:hidden;

}

.mv_switch li {

    position: absolute;

    top: 0px;

    left: 0px;

    width: 100%;

    height: 100%;

    background-size: cover;

    background-position: 50% 50%;

    background-repeat: none;

    opacity: 0;

    -webkit-animation: anime 18s linear 0s infinite ;

    animation: anime 18s linear 0s infinite ;

}

.mv_switch li:nth-child(1) { 

    background-image: url(../images/mv_bg_sp01.jpg)   /* 背景画像を入力して下さい */

}

.mv_switch li:nth-child(2) {

    background-image: url(../images/mv_bg_sp02.jpg);

    -webkit-animation-delay: 6s;

    animation-delay: 6s;

}

.mv_switch li:nth-child(3) {

    background-image: url(../images/mv_bg_sp03.jpg);

    -webkit-animation-delay: 12s;

    animation-delay: 12s;

}

/* .mv_switch li:nth-child(4) {

    background-image: url(../images/mv_bg_sp04.jpg);

    -webkit-animation-delay: 12s;

    animation-delay: 12s;

} */



@-webkit-keyframes anime { 

    0% {

        opacity: 0;

    }

    10% {

        opacity: 1;

    }

    35% {



        opacity: 1;

    }

    45% {

        -webkit-transform: scale(1.2);

        opacity: 0;

    }



    100% { 

		opacity: 0;

	}

}

@keyframes anime { 

    0% {

        opacity: 0;

    }

    10% {

        opacity: 1;

    }

    35% {



        opacity: 1;

    }

    45% {

        transform: scale(1.2);

        opacity: 0;

    }

    100% { 

		opacity: 0;

	}

}







.contact_btn{

	display:block;

	background:#2d2d2d;

	color:#ffffff;

	padding:1.5rem 0;

	text-align:center;

	border:1px solid #ffffff;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:500;

	font-size:1rem;

}





#mv .mv_copy{

	position:absolute;

	bottom:8.5rem;

	color:#ffffff;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:700;

	font-size:1.15rem;

	letter-spacing:0.1rem;

	text-shadow: 1px 1px 2px black;

	padding-left:0.5rem;

	word-break:keep-all;

}



#mv .contact_btn{

	position:absolute;

	bottom:2.5rem;

	z-index:10;

	width:94%;



}





h2{

	margin-bottom:1rem;

	text-align:center;

}

h2 img{

	width:80%;

}



#concept{

	background:url(../images/concept_bg_sp.jpg) top center no-repeat;

	background-size:cover;

	padding:5rem 5% 6rem;

	border-top:10px solid #2e2121;

}

#concept h2 img{

	width:100%;

}



#concept .inner{

	box-sizing:border-box;

	background:rgba(0,0,0,0.5);

	width:100%;

	margin:0 auto;

	color:#ffffff;

	text-align:center;

	border:1px solid #736a6a;

	padding:2rem;

	

}



.concept_copy{

	white-space:pre-wrap;

	margin-bottom:2rem;

	line-height:2;

	font-family: 'Noto Sans JP', sans-serif;

	font-size:0.9rem;

	word-break:keep-all;

}







#system{

	background:#2e2121;

	color:#ffffff;

}

#system .inner{

	padding:3rem 3%;

}

table.fee{

	width:100%;

	border-collapse:collapse;

	font-family: 'Noto Serif JP', sans-serif;

	font-weight:300;

	font-size:1rem;

	line-height:1.5;

	margin-bottom:5rem;

}

table.fee th{

	text-align:left;

	padding:1rem 1% ;

	font-weight:300;



}

table.fee .thth{

	width:55%;

}

table.fee th span{

	display:block;

	font-size:0.7rem;

}



.table_headline{

	border-bottom:1px solid #bd893b;

	font-size:1rem;

}

table.fee .table_headline th{

	padding-bottom:0.5rem;

	font-family: 'Noto Sans JP', sans-serif;

	font-size:0.8rem;

}

.table_headline th.center{

	text-align:center;

}



table.fee td{

	text-align:right;

	font-size:1.2rem;

	padding-right: 0.5rem;

}

table.fee td.table_charge_time{

	font-size:0.9rem;

	text-align: left;

}

table.fee .table_charge th{

	vertical-align: top;

	padding-top: 0.2rem;

	width: 50%;

}

.table_charge td{

	line-height:1.5;

}

.table_border{

	border-bottom:1px solid #bd893b;

	font-size:1.2rem;

	height: 0.5rem;



}

#system h3{

	border-bottom:1px solid #bd893b;

	font-size:1.1rem;

	padding-left:1%;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:300;

	padding-bottom:0.5rem;

	margin-bottom:1rem;

}

#system p.fee{

	margin-bottom:1.5rem;

	padding-left:1%;

	font-size:1rem;

	line-height:1.5;

}

#system .regulation{

	margin-bottom:2rem;

}

#system .regulation li{

	list-style:inherit;

	margin-left:1.2rem;

	margin-bottom:0.5rem;

	font-size:0.9rem;

}

#system figure{

	display:flex;

	justify-content:space-between;

	gap:5px;

	margin-bottom:5rem;

}

#system figure img{

	width:49.5%;

}











#flavor{

	background:url(../images/flavor_bg_sp.jpg) top center no-repeat;

	background-size:cover;

	padding:5rem 5% 6rem;

}



#flavor .inner{

	box-sizing:border-box;

	background:rgba(0,0,0,0.5);

	width:100%;

	color:#ffffff;

	text-align:center;

	border:1px solid #736a6a;

	padding:2rem;

}

#flavor h2 img{

	width:100%;

}

.flavor_copy{

	white-space:pre-wrap;

	margin-bottom:2rem;

	line-height:2;

	font-family: 'Noto Sans JP', sans-serif;

	font-size:0.9rem;

	word-break:keep-all;

}





#drink{

	background:url(../images/drinkmenu_bg_sp.jpg) top center no-repeat;

	background-size:cover;

	padding:5rem 5%;

	border-top:10px solid #222222;

	text-align:center;

}

#drink ul{

	margin-bottom:5rem;

}

#drink li{

	color:#ffffff;

	margin-bottom:1.5rem;

	font-family: 'Noto Serif JP', sans-serif;

	font-weight:500;

	font-size:1.2rem;

}

#drink .contact_btn{

	width:80%;

	margin:0 auto;

	background:#111111;

}







#gallery{

	background:#2e2121;

	color:#ffffff;

	padding:5rem 5% 2rem;

}







/*

右から左へ

----------------------------*/

@keyframes infinity-scroll-left {

  from {

    transform: translateX(0);

  }

  to {

    transform: translateX(-100%);

  }

}



.d-demo__wrap {

  display: flex;

  overflow: hidden;

}



.d-demo__list {

  display: flex;

  list-style: none;

}



.d-demo__list--left{

animation :infinity-scroll-left 95s infinite linear 0.5s both;

}



.d-demo__item {

  width: calc(500vw / 12);

}

.d-demo__item > img{

   width: 100%;

}





#gallery .photos li{

  position: relative;

  aspect-ratio:1 / 1;

}



#gallery .photos li img{

  position: absolute;

  width: 100%;

  height: 100%;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  margin: auto;

  object-fit: cover;

}









#blog{

	background:#2e2121;

	color:#ffffff;

	padding:2rem 5% 5rem;

}



#blog .inner{

	color:#ffffff;

	

}





#blog .news{

	clear:both;

	background:#000000;

	margin-bottom:1rem;

	padding:1rem;

	border:1px solid #736a6a;

}

#blog .news::after{

	clear:both;

	display:block;

	content:"";

}

#blog .news img{

	aspect-ratio:2 / 1;

	object-fit: cover;

}

#blog .news time{

	display:block;

	font-size:1rem;

	color:#ffffff;

}

#blog .news h4{

	font-size:1.1rem;

	font-family: 'Noto Sans JP', sans-serif;

	margin-bottom:10px;

	

}



#blog .news p{

	font-size:0.8rem;

	line-height:1.5;

	overflow: hidden;

	height:3.6rem;

	color:#cccccc;

	

}

#blog .news p::after{

	content:"...";

}





#recruit{

	background: linear-gradient( rgba(46, 33, 33, 0.8), rgba(46, 33, 33, 0.8)),
	url("../images/recruit_bg_sp.jpg") top center no-repeat;

	background-size:cover;

	padding:3rem 5% 5rem;

	text-align:center;

	color:#ffffff;

}



#recruit .recruit_copy{

	margin-bottom:2rem;

	line-height:2;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:300;

	font-size:1rem;

}







#recruit .contact_btn{

	width:80%;

	margin:0 auto;

	background:#1c2700;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:300;

	font-size:1rem;

}

#access{

	background:#2e2121;

	color:#ffffff;

	padding:5rem 5% 3rem;

}





.googlemap-bw iframe {

  -webkit-filter: grayscale(100%);

  -moz-filter: grayscale(100%);

  -ms-filter: grayscale(100%);

  -o-filter: grayscale(100%);

  filter: grayscale(100%);

}



#access iframe{

	width:100%;

	aspect-ratio:1 / 1;

	margin-bottom:1rem;

}

#access .address{

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:300;

	font-size:0.9rem;

	

}



#sns{

	background:#2e2121;

	color:#ffffff;

	padding:0 5% 5rem;

}





#sns li{

	width:100%;

	aspect-ratio:3 / 1;

	text-align:center;

	padding:0.5rem 0 0;

}

#sns li img{

	width:30%;

}

#sns li a{display:block;

}

.sns_instagram{

	background: linear-gradient( rgba(72, 44, 44, 0.5), rgba(72, 44, 44, 0.5)),
        url("../images/sns_bg_instagram.jpg") no-repeat center center;

	background-size:cover;

}

.sns_twitter{

	background: linear-gradient( rgba(43, 37, 37, 0.5), rgba(43, 37, 37, 0.5)),
        url("../images/sns_bg_twitter.jpg") no-repeat center center;

	background-size:cover;

}

.sns_line{

	background: linear-gradient( rgba(20, 77, 9, 0.4), rgba(20, 77, 9, 0.4)),
        url("../images/sns_bg_line.jpg") no-repeat center center;

	background-size:cover;

}



.info_nav{

	margin-bottom:8rem;

	padding:0 2%;

	display:flex;

	justify-content:space-between;

	align-items:center;

}

.info_nav a{

	color:#ffffff;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight: 700;

	font-size:1.5rem;

	display:block;

	height:400px;

	line-height:400px;

}

.info_to_company{

	width:calc(100% / 3);

	background:url(../images/top_company_info_bg.jpg) no-repeat;

	background-size:cover;

	text-align:center;

	outline: 1px solid rgb(255, 255, 255);

	outline-offset: -1.5rem;

}

	

.info_to_contact{

	width:calc(100% / 3);

	background:url(../images/top_contact_info_bg.jpg) no-repeat;

	background-size:cover;

	text-align:center;

	outline: 1px solid rgb(255, 255, 255);

	outline-offset: -1.5rem;

}

	

.info_to_recruit{

	width:calc(100% / 3);

	background:url(../images/top_recruit_info_bg.jpg) no-repeat;

	background-size:cover;

	text-align:center;outline: 1px solid rgb(255, 255, 255);

	outline-offset: -1.5rem;

}











footer{

	text-align:center;

	background:#000000;

}

footer h1{

	margin-bottom:2rem;

}

footer h1 img{

	width:60%;

}

footer .contact_btn{

	margin:0 auto;

	background:#111111;

	width:100%;

}



.footer{

	padding:3rem 5% 5rem;

}



.copy{

	color:#ffffff;

	font-size:0.8rem;

	background:#2e2121;

	padding:1rem 0;

}









.remodal{

	font-family: 'Noto Sans JP', sans-serif;

	border:1px solid #444444;

}

.remodal h2{

	font-size:1.2rem;

	font-family: 'Noto Sans JP', sans-serif;

	font-weight:500;

	margin-bottom:2rem;

	text-align:center;

	word-break:keep-all;



}

.remodal .tel a{

	display:block;

	padding:1rem;

	margin-bottom:1rem;

	background:#000227;

	color:#ffffff;

	font-size:1.2rem;

	line-height:1.5rem;

	border:1px solid #666;

	

}



.remodal .line a{

	display:block;

	padding:1rem;

	margin-bottom:0.5rem;

	background:#1c2700;

	color:#ffffff;

	font-size:1rem;

	line-height:1.5rem;

	border:1px solid #666;

}



