@charset "utf-8";


/******************************************************************** structure
*/
body{overflow-x:hidden;}
.wrapper {
	width:96%;
	max-width:1080px;
	text-align: left;
	margin: 0 auto;
	box-sizing:border-box;
}
.pc_none{display:none;}
.sp_none{display:block;}


/******************************************************************** header
*/
header #header{
	max-width:1080px;
	margin:0 auto;
	height:80px;
	padding:0;
}
header #header .logo{
	float:left;
	position: relative;
}

header .fixed{
	height:60px !important;
}


/******************************************************************** globalNav
*/
.globNav-toggle,
#globalNav li.home,
#globalNav li.close{display:none;}
#globalNav {
	position:absolute;
	top:0;
	left:auto;
	right:0;
	float:right;
	width:64%;
	display:-webkit-flex !important;
  display:flex !important;
	-webkit-justify-content:space-between;
  justify-content:space-between;
	padding:20px 0;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#globalNav li{
	background:transparent;
}
#globalNav li a{
	height:40px;
	line-height:40px;
	border-bottom:none;
}
#globalNav li a:hover{opacity:0.5;}
#globalNav li a::before,
#globalNav li a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#globalNav li a{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#globalNav li.contact a{
	border-radius:20px;
	color:#FFF;
	width:170px;
}
#globalNav li.contact a:before{display:none;}

.fixed #globalNav{
	padding:10px 0;
}

/******************************************************************** container
*/

#container section{padding:120px 0;}

.ttl{margin-bottom:64px;}
.ttl:before{
	display:block;
	content:"";
	width:2px;
	height:40px;
	background:#E50012;
	position:absolute;
	left:50%;
	top:-60px;
	margin-left:-1px;
}
.ttl p{font-size:1.3rem;}

.btn a:hover,
.back-btn a:hover{opacity:0.5;}

#container section.page-title h2{
	padding:120px 0;
	font-size:2rem;
}

.back-btn a,
section.shop_detail .btn a{
	width:300px;
	margin:0 auto;
}
.tel-btn{display:none;}

/******************************************************************** footer
*/

footer{
	padding:120px 0;
	color:#FFF;
}
footer .wrapper{text-align:center;}
footer .catch-copy{margin-bottom:24px;}
footer .logo{margin-bottom:8px;}
footer h2{margin-bottom:64px; line-height:1;}
footer ul{
	display:block; 
	margin-bottom:64px;
}
footer ul li{
	display:inline-block;
	padding:0 24px;
	line-height:1;
}
footer ul li:last-child{ margin-right:0;}
footer ul li a:link{color:#FFF;}
footer ul li a:visited{color:#FFF;}


/******************************************************************** index
*/

.headline{
	/*border-left:#FFF 10px solid;
	border-right:#FFF 10px solid;*/
	padding:0 5%;
}
.headline p{margin-bottom:40px;}
.headline p img{
	width:auto;
	max-width:100%;
}

.main .next{
	top:auto;
	bottom:8%;
	width:60px;
	height:60px;
	margin-left:-30px;
}


/******************************************************************** company
*/
#company{
	padding:80px 0;
}
#company div.fL,
#company div.fR{
	width:50%;
	font-size:1em;
	box-sizing:border-box;
}
#company div.fL{
	float:left;
	border-right:#CCC 1px solid;
}
#company div.fR{
	float:right;
}
#company table{
	width:100%;
}
#company table tr th{
	padding:10px 20px;
	width:80px;
	border-bottom:none;
}
#company table tr td{
	padding:10px 20px;
	line-height:1.6;
	border-bottom:none;
}

h3.map-ttl{
	font-size:1.4rem;
	margin:0 2.5% 32px;
	padding-bottom:16px;
}

/******************************************************************** shop-info
*/
#container section#shop-info dl{
	/*display:-webkit-flex;
  display:flex;
	-webkit-align-items:stretch;
  align-items:stretch;
	-webkit-justify-content:space-between;
  justify-content:space-between;*/
}
#container section#shop-info dl dt{
	background:url(../img/bg_ttl_shop-ifo.png) no-repeat 140% 90% #E50012;
	/*background:url(../img/bg_ttl_shop-ifo.png) no-repeat 5% 290% #E50012;*/
	/*width:49%;*/
	/*width:532px;*/
	padding:120px 56px 56px;
	margin-bottom:0;
	box-sizing:border-box;
}
#container section#shop-info dl dd{width:100%; /*width:50%;*/ /*width:540px;*/}
#container section#shop-info dl dd ul{
	justify-content: flex-start;
}
#container section#shop-info dl dd ul li{
	width:calc(97% / 4);
	padding:24px;
	margin-top:1%;
	margin-bottom: 0;
	margin-right: 1%;
	position:relative;
}
#container section#shop-info dl dd ul li:nth-child(4n){margin-right: 0;}
#container section#shop-info dl dd ul li:last-child{}
#container section#shop-info dl dd ul li img{max-width:100%;}
#container section#shop-info dl dd ul li .txt{
	padding-bottom:48px;
	margin-bottom:0;
}
#container section#shop-info dl dd ul li .btn{
	position:absolute;
	width:100%;
	left:0;
	bottom:24px;
}


/******************************************************************** associates
*/

#associates ul{
	display:-webkit-flex;
  display:flex;
	-webkit-align-items:stretch;
  align-items:stretch;
	-webkit-justify-content:space-between;
  justify-content:space-between;
	-webkit-flex-wrap:wrap;
  flex-wrap:wrap;
}
#associates ul li{
	width:49%;
	margin-bottom:1vw;
}
#associates ul li:last-child{margin-bottom:1vw;}
#associates ul li .inner{
	padding:24px;
}


/******************************************************************** recruitment
*/
#recruitment .wrapper{
	width:100%;
	max-width:100%;
}

#container section#recruitment .bg{
	background:url(../img/bg_recruit.jpg) no-repeat center center;
	background-size:cover;
	padding: 120px 5% 40px;
	margin-bottom:-40px;
}
#recruitment .ttl h2{font-size:1.2rem;}
#recruitment .ttl p{font-size:3.6rem; letter-spacing:0.05em; margin-bottom:8px;}
#recruitment .txt{margin-bottom:60px;}

.tabs{
	width:96%;
	max-width:1080px;
	margin:0 auto;
	padding: 0 0 120px;
	position:relative;
	text-align:center;
	z-index:2;
}
.tabs:before{
	position: absolute;
	display:block;
	content: "";
	width: 100vw;
	height:4px;
	top: 40px;
	left:50%;
	margin-left:-50vw;
	background:#E50012;
	z-index: 1;
}
.tab_item {
  width: 240px;
  height:40px;
	border: 2px solid #CCC;
	border-bottom: none;
  background-color: #FFF;
  line-height:40px;
  display: inline-block;
  float: none;
	font-size:1rem;
	margin:0 8px;
	border-radius:10px 10px 0 0;
	box-sizing:border-box;
	letter-spacing:0;
}
.tab_item:before,
.tab_item:after {
	position: absolute;
	bottom: -2px;
	width: 8px;
	height: 10px;
	content: " ";
	border: 2px solid #CCC;
  transition: all 0.2s ease;
}
.tab_item:before {
	left: -10px;
	border-bottom-right-radius: 8px;
	border-width: 0 2px 2px 0;
	box-shadow: 3px 3px 0 #FFF;
}
.tab_item:after {
	right: -10px;
	border-bottom-left-radius: 8px;
	border-width: 0 0 2px 2px;
	box-shadow: -3px 3px 0 #FFF;
}

.tab_content {padding: 64px 60px 0; text-align:left; z-index: 3;}
.tab_content .tab_item {margin:0 auto 24px; display:block; border: none;}
.tab_content .tab_item:before,
.tab_content .tab_item:after{display:none;}

.tabs input:checked + .tab_item{border: 2px solid #E50012; border-bottom: none;}
.tabs input:checked + .tab_item:before{border:none; box-shadow: 2px 2px 0 #E50012;}
.tabs input:checked + .tab_item:after{border:none; box-shadow: -2px 2px 0 #E50012;}

#recruitment h3{
	font-size:1.6rem;
	margin-bottom:8px;
}
#recruitment table{width:100%;}
#recruitment table tr th,
#recruitment table tr td{padding:1em;}

/******************************************************************** contact
*/
#contact .wrapper{max-width:640px;}
#contact .txt{
	margin-bottom:64px;
	text-align:center;
}
#contact dd ol li{
	width:90%;
	margin:0 auto !important;
}


/******************************************************************** shop
*/
#container section.shop-name{
	position:relative;
	padding:80px 0 0;
	margin:0;
}
#container section.shop-name:before{height:400px;}
.block #container section.shop-name:before{background:url(../img/block/bg.jpg) no-repeat center 18%;background-size:cover;}
#container section.shop-name .ttl{
	padding-top:293px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction:row;
  flex-direction:row;
	-webkit-justify-content:flex-start;
  justify-content:flex-start;
  -webkit-align-items: flex-end;
  align-items:flex-end;
}
#container section.shop-name .ttl p{
	margin:0;
	width:auto;
}
#container section.shop-name .ttl p img{max-width:100%;}
#container section.shop-name .ttl h2{
	background:transparent;
	line-height:1.4;
	padding:0 24px 0 40px;
	font-size:2rem;
	letter-spacing:-0.03em;
	width:80%;
	box-sizing:border-box;
	text-align:left;
}
#container section.shop{padding:40px 0 80px;}
#container section.shop .txt{width:800px; margin:0 auto; font-size:1.1rem;}

#container section.shop_p01,
#container section.shop_p02,
#container section.shop_p03{
	padding:0;
	position:relative;
	margin:0 0 80px 50vw;
	max-width:600px;
	width:50vw;
	box-sizing:border-box;
	font-size:1rem;
}
#container section.shop_p02{
	margin:0 50vw 80px 0;
	max-width:none;
}
#container section.shop_p03{margin:0 0 120px 50vw;}

#container section.shop_p01 .wrapper,
#container section.shop_p02 .wrapper,
#container section.shop_p03 .wrapper{
	width:100%;
	max-width:inherit;
	text-align:left;
	margin: 0 auto;
	box-sizing:border-box;
	padding:40px;
	line-height:1.8;
	min-height:370px;
}
#container section.shop_p02 .wrapper{
	max-width:600px;
	right:0;
	margin:0 0 0 auto;
}

#container section.shop_p01:before,
#container section.shop_p02:before,
#container section.shop_p03:before{
	position:absolute;
	left:-100%;
	top:0;
	content:"";
	width:50vw;
	max-width:600px;
	height:370px;
}
#container section.shop_p02:before{
	left:50vw;
}

#container section.shop_p01 h3,
#container section.shop_p02 h3,
#container section.shop_p03 h3{margin-bottom:16px;}

#container section.youtube{
	margin:0 0 120px;
	padding: 0;
}
#container section.youtube .wrapper{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
	width: 100%;
	max-width: 1200px;
}
#container section.youtube .wrapper .movie{
	width: 50vw;
	max-width: 600px;
	padding-top: 0;
	height: 370px;
}
#container section.youtube .wrapper .inner{
	width: 50vw;
	max-width: inherit;
	text-align: left;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 40px;
	line-height: 1.8;
	min-height: 370px;
}

#container section.shop_detail dl{
	width:800px;
	margin:0 auto 40px;
}
#container section.shop_detail dl dt{
	width:20%;
	border-bottom:#CCC 1px solid;
	padding:0.5em 0;
}
#container section.shop_detail dl dd{
	width:80%;
	border-bottom:#CCC 1px solid;
	padding:0.5em 0;
}
#container section.shop_detail dl dd ol li{
	margin-left:1em;
	list-style:disc;
	margin-bottom:0.3em;
}
#container section.shop_detail dl dd ol li:last-child{margin-bottom:0;}

#container section.shop .tel-btn{margin-top:5%;}
#container section.shop_detail .tel-btn{margin-bottom:5%;}
#container section.shop_detail .btn{margin-bottom:20px;}



.shabunoya_plenty #container section.shop-name:before{background:url(../img/shabunoya_plenty/bg.jpg) no-repeat center top 40%;background-size:cover;}

/******************************************************************** thanks
*/
.thanks{
	padding:160px 0 80px;
	text-align:center;
}
.thanks .wrapper{text-align:center;}
