@charset "UTF-8";

/*------- common -------*/
html {
}
body{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 100;
  color: #6c633a;
  font-size: 16px;
	background: url('../images/contents_bg.png') repeat left top;
	-webkit-background-size: 81px auto;
	background-size: 81px auto;
	position: relative;
}
body::after{
	content: "";
	width: 100%;
	height: 554px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url('../images/footer_ptn.svg') repeat-x left bottom;
	-webkit-background-size: auto 554px;
	background-size: auto 554px;
	z-index: 1;
}

.container{
	width: 96%;
	max-width: 1080px;
	margin: 0 auto;
}

img{
	display: block;
	width: 100%;
	height: auto;
}
a{
	display: block;
	text-decoration: none;
	color: #6c633a;
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
}


/*------- responsive -------*/

/* PC（.pc） */
@media all and (min-width: 1025px) {
  .tablet:not(.pc), .sp:not(.pc), .sp-land:not(.pc), .sp-port:not(.pc){
    display: none !important;
  }
}

/* タブレット縦（.tablet） */
@media all and (max-width: 1024px) and (min-width: 897px) {
  .pc:not(.tablet), .sp:not(.tablet), .sp-land:not(.tablet), .sp-port:not(.tablet){
    display: none !important;
  }
}

/* スマホ横（.sp .sp-land） */
@media all and (max-width: 896px) and (min-width: 481px) {
  .pc:not(.sp):not(.sp-land), .tablet:not(.sp):not(.sp-land), .sp-port:not(.sp):not(.sp-land){
    display: none !important;
  }
}

/* スマホ縦（.sp .sp-port） */
@media all and (max-width: 480px) {
  .pc:not(.sp):not(.sp-port), .tablet:not(.sp):not(.sp-port), .sp-land:not(.sp):not(.sp-port){
    display: none !important;
  }
}


/*------- contents -------*/

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 65px;
	background-color: rgba(0,0,0,.7);
	z-index: 999;
}
header .container{
	position: relative;
}
header .logo{
	width: 104px;
	position: absolute;
	top: 0;
	left: 0;
}
header .logo_name{
	width: 240px;
	position: absolute;
	top: 16px;
	left: 130px;
}


#mv{
	position: relative;
	z-index: 3;
}
#mv .mv_txt{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#mv h1{
	font-size: 42px;
	font-weight: bold;
	color: #fff;
	text-shadow: 3px 3px 5px rgba(0,0,0,.5);
}

#main{
	padding: 130px 0 180px;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
h2{
	font-size: 25px;
	line-height: 2;
	text-align: center;
	background-color: rgba(111, 67, 7, 0.55);
	color: #fff;
	font-weight: 100;
	letter-spacing: 10px;
	text-indent: 10px;
	margin-bottom: 40px;
	position: relative;
}
_:lang(x)::-ms-backdrop, h2 {
	padding-top: 10px;
}
#main section:nth-child(n+2){
	margin-top: 100px;
}
#main section h2::before{
	content: "";
	width: 34.6vw;
	height: 0;
	padding-bottom: 33.3vw;
	background: url('../images/h2_dec.svg') no-repeat right center;
	-webkit-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
#main section:nth-child(2n+1) h2::before{
	right: calc(540px - 50vw);
}
#main section:nth-child(2n) h2::before{
	left: calc(540px - 50vw);
	-webkit-transform: translateY(-50%) scale(-1, 1);
	-ms-transform: translateY(-50%) scale(-1, 1);
	transform: translateY(-50%) scale(-1, 1);
}
@media all and (max-width: 1124px) {
	#main section:nth-child(2n+1) h2::before{
		right: calc(50% - 50vw);
	}
	#main section:nth-child(2n) h2::before{
		left: calc(50% - 50vw);
	}
}
#main p{
	line-height: 3;
	text-align: center;
}
#main p b{
	font-size: 27px;
}
#main p + p{
	margin-top: 20px;
}
#access p{
	font-size: 18px;
}

#socialize .img{
	margin-top: 30px;
}
#socialize .img ul{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
#socialize .img ul li{
	width: 21.48%;
}
#access .parking{
	margin-top: 20px;
	text-align: center;
}
#access .parking span{
	display: inline-block;
	font-size: 17px;
	line-height: 1.8;
	letter-spacing: 2px;
	color: #fff;
	background-color: #ab9270;
	padding: 0 37px;
}
_:lang(x)::-ms-backdrop, #access .parking span {
	padding-top: 6px;
}
#access .map{
	border: 1px solid #6c633a;
	padding: 20px;
	background-color: #fff;
	margin-top: 47px;
}
#access .slider{
	margin-top: 43px;
}
#sns h3{
	font-size: 18px;
	font-weight: 100;
	letter-spacing: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#sns h3 img{
	width: 30px;
	height: auto;
	margin-right: 10px;
}
#sns .hash{
	text-align: center;
	margin-top: 15px;
}
#sns .hash a{
	display: inline-block;
	font-size: 18px;
	letter-spacing: 3px;
}

#sns .instagram-gallery{
	width: 77.5%;
	display: flex;
	flex-wrap: wrap;
	margin: 35px auto 0;
}
#sns .instagram-gallery .item{
	width: 25%;
	padding-bottom: 25%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
}
#sns .instagram-gallery .item:hover{
	opacity: .8;
}
#sns .facebook{
	margin-top: 77px;
}
#sns .facebook .fb_iframe_widget{
	margin-top: 35px;
	display: block;
	text-align: center;
}
#sns .facebook .fb_iframe_widget span{
	box-shadow: 2px 2px 3px rgba(0,0,0,.2)
}

footer{
	padding: 80px 0;
	position: relative;
	z-index: 2;
}
footer::after{
	content: "";
	width: 100%;
	height: 30px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: -moz-linear-gradient(top, rgba(230,226,210,.8), rgba(230,226,210,1));
  background: -webkit-linear-gradient(top, rgba(230,226,210,.8), rgba(230,226,210,1));
  background: linear-gradient(to bottom, rgba(230,226,210,.8), rgba(230,226,210,1));
}
footer .container{
	padding: 0 5%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .logo a{
	width: 300px;
}
footer a:hover{
	opacity: .8;
}
footer .logo address{
	display: block;
	font-size: 15px;
	font-style: normal;
	margin-top: 15px;
	letter-spacing: 1px;
}
footer .bnr{
	width: 256px;
	box-shadow: 2px 2px 5px rgba(0,0,0,.5);
}













/**
 * タブレット以下
 */
@media all and (max-width: 1024px) {
}









/**
 * ランドスケープ以下
 */
@media all and (max-width: 896px) {

	body{
		-webkit-background-size: 40px auto;
		background-size: 40px auto;
		font-size: 14px;
	}
	body::after{
		height: 277px;
		-webkit-background-size: auto 277px;
		background-size: auto 277px;
	}

	.container{
		width: 94%;
	}

	header{
		height: 50px;
	}
	header .logo {
    width: 80px;
	}
	header .logo_name {
		width: 140px;
    top: 15px;
    left: 95px;
	}


	#mv h1{
		font-size: 20px;
		text-shadow: 1px 1px 3px rgba(0,0,0,.5);
	}

	#main{
		padding: 50px 0 60px;
	}
	h2{
		font-size: 16px;
		letter-spacing: 5px;
		text-indent: 5px;
		margin-bottom: 20px;
	}
	_:lang(x)::-ms-backdrop, h2 {
		padding-top: 5px;
	}
	#main section:nth-child(n+2){
		margin-top: 50px;
	}
	#main section h2::before{
		width: 25vw;
		padding-bottom: 25vw;
	}
	#main p{
		line-height: 2.4;
	}
	#main p b{
		font-size: 18px;
	}
	#main p + p{
		margin-top: 10px;
	}
	#access p{
		font-size: 14px;
	}

	#socialize .img{
		margin-top: 20px;
	}
	#socialize .img ul{
		margin-top: 20px;
	}
	#access .parking{
		margin-top: 20px;
	}
	#access .parking span{
		font-size: 12px;
		letter-spacing: 1px;
		padding: 0 15px;
	}
	_:lang(x)::-ms-backdrop, #access .parking span {
		padding-top: 3px;
	}
	#access .map{
		padding: 10px;
		margin-top: 20px;
	}
	#access .map iframe{
		height: 300px;
	}
	#access .slider{
		margin-top: 20px;
	}
	#sns h3{
		font-size: 12px;
		letter-spacing: 2px;
	}
	#sns h3 img{
		width: 15px;
		margin-right: 5px;
	}
	#sns .hash{
		margin-top: 10px;
	}
	#sns .hash a{
		font-size: 12px;
		letter-spacing: 2px;
	}
	#sns .instagram-gallery{
		width: 100%;
		margin-top: 15px;
	}
	#sns .instagram-gallery .item{
		width: 50%;
		padding-bottom: 50%;
	}
	#sns .facebook{
		margin-top: 30px;
	}
	#sns .facebook .fb_iframe_widget{
		margin-top: 15px;
	}
	#sns .facebook .fb_iframe_widget span{
		box-shadow: 1px 1px 2px rgba(0,0,0,.2)
	}


	footer{
		padding: 40px 0;
	}
	footer::after{
		height: 15px;
	}
	footer .logo a{
		width: 150px;
		margin: 0 auto;
	}
	footer .logo address{
		font-size: 10px;
		margin-top: 10px;
		letter-spacing: .5px;
	}
	footer .bnr{
		width: 128px;
		box-shadow: 1px 1px 3px rgba(0,0,0,.5);
	}
}









/**
 * ポートレート以下
 */
@media all and (max-width: 480px) {
	header{
		height: 42px;
	}
	header .logo {
		width: 60px;
	}
	header .logo_name {
		width: 110px;
		top: 13px;
		left: 73px;
	}
	#mv h1{
		font-size: 16px;
	}

	footer{
		padding: 30px 0;
	}
	footer .container{
		flex-direction: column;
	}
	footer .logo{
		order: 2;
		margin-top: 20px;
	}
	footer .bnr{
		order: 1;
	}
}
