@charset "UTF-8";
:root{
	--body : #231815;
	--link : #231815;
	--title : #231815;
	--main : #231815;
	--base : #231815;
	--mainBold : #231815;
	--sub : #231815;
	--white : #231815;
	--bg : #231815;
}
/*--------------------------------------------
COVER
---------------------------------------------*/
/*--------------------------------------------
FLEXBOX
---------------------------------------------*/
/*--------------------------------------------
POSITION
---------------------------------------------*/
/*--------------------------------------------
DRAWER
---------------------------------------------*/
/*--------------------------------------------
RADIO
---------------------------------------------*/
/*--------------------------------------------
CHECKBOX
---------------------------------------------*/
/*--------------------------------------------
SLICK DOTS
---------------------------------------------*/
/*--------------------------------------------
OBJECT FIT
---------------------------------------------*/
/*--------------------------------------------
ALPHA
---------------------------------------------*/
/*--------------------------------------------
reset
---------------------------------------------*/
/*--------------------------------------------
WRAP OVER
---------------------------------------------*/
/*--------------------------------------------
PAGINATION
---------------------------------------------*/
#contents:not(.is-fadeIn){
	opacity : .1;
	backface-visibility : hidden;
	will-change : opacity;
}
#contents.is-fadeIn{
	-webkit-animation : fadeIn 1.4s ease-out 0s 1 normal;
	        animation : fadeIn 1.4s ease-out 0s 1 normal;
}
@-webkit-keyframes fadeIn{
	0%{
		opacity : 0;
	}
	100%{
		opacity : 1;
	}
}
@keyframes fadeIn{
	0%{
		opacity : 0;
	}
	100%{
		opacity : 1;
	}
}
body{
	background : url("../images/bg.png") left top repeat;
}
.wrap{
	max-width : 1200px;
	margin-left : auto;
	margin-right : auto;
}
/*--------------------------------------------
HEADER
---------------------------------------------*/
#header{
	background-color : #041b29;
	color : #fff;
}
#header .wrap{
	position : relative;
}
#header h1{
	order : 2;
}
#header h1 a{
	display : block;
	text-align : center;
}
#header h2{
	position : absolute;
	left : 0;
	letter-spacing : .2em;
}
#header h2 span{
	display : block;
}
#header h2 span:nth-of-type(2){
	font-family : "EB Garamond", serif;
	font-style : italic;
}
#header .wrap > div{
	position : absolute;
	right : 0;
}
#header .wrap > div a{
	display : block;
}
#header .wrap > div a span:nth-of-type(1){
	letter-spacing : .2em;
}
#header .wrap > div a span:nth-of-type(2){
	letter-spacing : .1em;
}
#header .wrap > div dl{
	letter-spacing : .2em;
}
@media print,screen and (min-width: 769px){
	#header a{
		color : #fff;
	}
	#header .wrap > div{
		margin-left : auto;
	}
	#header .wrap > div a span{
		display : block;
	}
	#header dl div{
		display : flex;
		align-items : center;
	}
	#header dt{
		width : 3em;
	}
}
@media screen and (max-width: 768px){
	#header .wrap{
		height : calc( 154 * 100vw / 375 );
		padding-top : calc( 25 * 100vw / 375 );
		width : calc( 323 * 100% / 375 );
	}
	#header h1 img{
		height : calc( 112 * 100vw / 375 );
	}
	#header h2{
		width : calc( 138 * 100% / 323 );
		top : calc( 84 * 100vw / 375 );
	}
	#header h2 span:nth-of-type(1){
		font-size : calc( 16 * 100vw / 375 );
	}
	#header h2 span:nth-of-type(2){
		font-size : calc( 13 * 100vw / 375 );
		margin-top : calc( 7 * 100vw / 375 );
	}
	#header .wrap > div{
		top : calc( 85 * 100vw / 375 );
		margin-left : auto;
	}
	#header .wrap > div a span:nth-of-type(1){
		font-size : calc( 16 * 100vw / 375 );
		color : #9a7513;
		background : url("../images/header/tel.svg") left top / auto calc( 36 * 100vw / 375 )  no-repeat;
		height : calc( 36 * 100vw / 375 );
		padding-left : calc( 39 * 100vw / 375 );
		display : flex;
		align-items : center;
	}
}
@media screen and (min-width: 769px) and (max-width:1489px){
	#header .wrap{
		height : calc( 185 * 100vw / 1200 );
		padding-top : calc( 25 * 100vw / 1200 );
		max-width : calc( 698 * 100% / 1200 );
	}
	#header h1 img{
		height : calc( 138 * 100vw / 1200 );
	}
	#header h2{
		top : calc( 91 * 100vw / 1200 );
	}
	#header h2 span:nth-of-type(1){
		font-size : calc( 20 * 100vw / 1200 );
	}
	#header h2 span:nth-of-type(2){
		font-size : calc( 14 * 100vw / 1200 );
		margin-top : calc( 5 * 100vw / 1200 );
	}
	#header .wrap > div{
		top : calc( 49 * 100vw / 1200 );
	}
	#header .wrap > div a span:nth-of-type(1){
		font-size : calc( 16 * 100vw / 1200 );
	}
	#header .wrap > div a span:nth-of-type(2){
		font-size : calc( 18 * 100vw / 1200 );
		margin-top : calc( 4 * 100vw / 1200 );
	}
	#header dl{
		margin-top : calc( 9px - 3px );
	}
	#header dt , #header dd{
		font-size : 14px;
		line-height : 20px;
	}
}
@media print,screen and (min-width: 1490px){
	#header .wrap{
		height : 185px;
		padding-top : 25px;
		max-width : 698px;
	}
	#header h1 img{
		height : 138px;
	}
	#header h2{
		top : 91px;
	}
	#header h2 span:nth-of-type(1){
		font-size : 20px;
	}
	#header h2 span:nth-of-type(2){
		font-size : 14px;
		margin-top : 5px;
	}
	#header .wrap > div{
		top : 49px;
	}
	#header .wrap > div a span:nth-of-type(1){
		font-size : 16px;
	}
	#header .wrap > div a span:nth-of-type(2){
		font-size : 18px;
		margin-top : 4px;
	}
	#header dl{
		margin-top : calc( 9px - 3px );
	}
	#header dt , #header dd{
		font-size : 14px;
		line-height : 20px;
	}
}
/*--------------------------------------------
MENU BUTTON
---------------------------------------------*/
body.is-open{
	overflow : hidden;
}
body.is-open [data-aos^=fade]{
	opacity : 1!important;
}
body.is-open #menuBtn span span:nth-of-type(1){
	-webkit-transform : translateY( calc( 10 * 100vw / 768 ) ) scale(0);
	        transform : translateY( calc( 10 * 100vw / 768 ) ) scale(0);
}
body.is-open #menuBtn span span:nth-of-type(2){
	-webkit-transform : rotate(-45deg);
	        transform : rotate(-45deg);
}
body.is-open #menuBtn span span:nth-of-type(3){
	-webkit-transform : rotate(45deg);
	        transform : rotate(45deg);
}
body.is-open #menuBtn span span:nth-of-type(4){
	-webkit-transform : translateY( calc( -10 * 100vw / 768 ) ) scale(0);
	        transform : translateY( calc( -10 * 100vw / 768 ) ) scale(0);
}
body.is-open #menuBtn span span:nth-of-type(1){
	-webkit-transform : translateY( 10px ) scale(0);
	        transform : translateY( 10px ) scale(0);
}
body.is-open #menuBtn span span:nth-of-type(4){
	-webkit-transform : translateY( -10px ) scale(0);
	        transform : translateY( -10px ) scale(0);
}
#menuBtn{
	z-index : 11;
	position : absolute;
}
#menuBtn > span{
	width : 100%;
	height : 100%;
	position : relative;
	display : block;
	color:#ffffff
}
#menuBtn span span{
	display : block;
	position : absolute;
	left : 0;
	transition : all .4s;
	width : 100%;
}
#menuBtn span span:nth-of-type(1){
	top : 0;
}
#menuBtn span span:nth-of-type(4){
	bottom : 0;
}
body.is-open #nav{
	-webkit-transform : translateX(0);
	        transform : translateX(0);
}
#menuBtn span span{
	background-color : #fff;
}
@media screen and (max-width: 768px){
	#menuBtn{
		top : calc( 25 * 100vw / 375 );
		left : calc( 27 * 100% / 375 );
		width : calc( 30 * 100% / 375 );
		height : calc( 21 * 100vw / 375 );
	}
	#menuBtn span span{
		height : 1px;
	}
	#menuBtn span span:nth-of-type(2) , #menuBtn span span:nth-of-type(3){
		top : calc( 10 * 100vw / 375 );
	}
}
@media screen and (min-width: 769px) and (max-width:1489px){
	#menuBtn{
		top : calc( 45 * 100vw / 1200 );
		left : calc( 54 * 100% / 1200 );
		width : calc( 30 * 100% / 1200 );
		height : calc( 21 * 100vw / 1200 );
	}
	#menuBtn span span{
		height : 1px;
	}
	#menuBtn span span:nth-of-type(2) , #menuBtn span span:nth-of-type(3){
		top : calc( 10 * 100vw / 1200 );
	}
}
@media print,screen and (min-width: 1490px){
	#menuBtn{
		top : 45px;
		left : 54px;
		width : 30px;
		height : 21px;
	}
	#menuBtn span span{
		height : 1px;
	}
	#menuBtn span span:nth-of-type(2) , #menuBtn span span:nth-of-type(3){
		top : 10px;
	}
}
/*--------------------------------------------
NAV
---------------------------------------------*/
#nav{
	position : fixed;
	-webkit-transform : translateX( -100% );
	        transform : translateX( -100% );
	z-index : 10;
	transition : -webkit-transform .5s ease-in;
	transition :         transform .5s ease-in;
	transition :         transform .5s ease-in, -webkit-transform .5s ease-in;
	overflow-y : auto;
	height : 100%;
	top : 0;
	background-color : #041b29;
	background-repeat : no-repeat;
	background-image : url("../images/header/bg.svg");
	color : #fff;
}
#nav p , #nav a{
	color : #fff;
	letter-spacing : .2em;
	text-align : center;
	display : block;
}
#nav li:last-child a{
	border : 1px solid #fff;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	margin-left : auto;
	margin-right : auto;
}
@media screen and (max-width: 768px){
	#nav{
		width : 100%;
		background-size : auto calc( 348 * 100vw / 375 );
		background-position-y : calc( 67 * 100vw / 375 );
		background-position-x : 0;
		padding-top : calc( ( 120 - 12 ) * 100vw / 375 );
		padding-bottom : calc( 152 * 100vw / 375 );
	}
	#nav a{
		font-size : calc( 18 * 100vw / 375 );
	}
	#nav li:not(:last-child) a{
		padding-top : calc( 12 * 100vw / 375 );
		padding-bottom : calc( 12 * 100vw / 375 );
	}
	#nav p{
		margin-top : calc( 60 * 100vw / 375 );
		font-size : calc( 13 * 100vw / 375 );
	}
	#nav li:last-child a{
		border-radius : calc( 30 * 100vw / 375 );
		width : calc( 276 * 100vw / 375 );
		height : calc( 47 * 100vw / 375 );
		margin-top : calc( 14 * 100vw / 375 );
	}
}
@media screen and (min-width: 769px) and (max-width:1489px){
	#nav{
		width : calc( 420 * 100% / 1200 );
		background-size : auto calc( 348 * 100vw / 1200 );
		background-position-y : calc( 67 * 100vw / 1200 );
		background-position-x : calc( 18 * 100% / 1200 );
		padding-top : calc( ( 120 - 12 ) * 100vw / 1200 );
	}
	#nav a{
		font-size : calc( 18 * 100vw / 1200 );
	}
	#nav li:not(:last-child) a{
		padding-top : calc( 12 * 100vw / 1200 );
		padding-bottom : calc( 12 * 100vw / 1200 );
	}
	#nav p{
		margin-top : calc( 60 * 100vw / 1200 );
		font-size : calc( 16 * 100vw / 1200 );
	}
	#nav li:last-child a{
		border-radius : calc( 30 * 100vw / 1200 );
		width : calc( 276 * 100vw / 1200 );
		height : calc( 48 * 100vw / 1200 );
		margin-top : calc( 16 * 100vw / 1200 );
	}
}
@media print,screen and (min-width: 1490px){
	#nav{
		width : 420px;
		background-size : auto 348px;
		background-position-y : 67px;
		background-position-x : 18px;
		padding-top : calc( 120px - 12px );
	}
	#nav a{
		font-size : 18px;
	}
	#nav li:not(:last-child) a{
		padding-top : 12px;
		padding-bottom : 12px;
	}
	#nav p{
		margin-top : 60px;
		font-size : 16px;
	}
	#nav li:last-child a{
		border-radius : 30px;
		width : 276px;
		height : 48px;
		margin-top : 16px;
	}
}
/*--------------------------------------------
FOOTER
---------------------------------------------*/
#footer{
	background-color : #041b29;
	color : #fff;
	text-align : center;
}
#footer a{
	color : #fff;
	display : block;
}
#footer p:nth-of-type(1){
	letter-spacing : .005em;
}
#footer .wrap > a{
	letter-spacing : .2em;
}
#footer p:nth-of-type(2){
	letter-spacing : .2em;
}
@media screen and (max-width: 768px){
	#footer .wrap{
		padding-top : calc( 26 * 100vw / 375 );
		padding-bottom : calc( 48 * 100vw / 375 );
	}
	#footer h2 img{
		height : calc( 40 * 100vw / 375 );
	}
	#footer p:nth-of-type(1){
		font-size : calc( 14 * 100vw / 375 );
		line-height : 1.29;
		margin-top : calc( ( 14 - 2 ) * 100vw / 375 );
	}
	#footer .wrap > a{
		margin-top : calc( 12 * 100vw / 375 );
		font-size : calc( 14 * 100vw / 375 );
	}
	#footer p:nth-of-type(2){
		font-size : calc( 10 * 100vw / 375 );
		margin-top : calc( 22 * 100vw / 375 );
	}
}
@media screen and (min-width: 769px) and (max-width:1489px){
	#footer .wrap{
		padding-top : calc( 26 * 100vw / 1200 );
		padding-bottom : calc( 48 * 100vw / 1200 );
	}
	#footer h2 img{
		height : calc( 40 * 100vw / 1200 );
	}
	#footer p:nth-of-type(1){
		font-size : calc( 14 * 100vw / 1200 );
		line-height : 1.29;
		margin-top : calc( ( 14 - 2 ) * 100vw / 1200 );
	}
	#footer .wrap > a{
		margin-top : calc( 12 * 100vw / 1200 );
		font-size : calc( 14 * 100vw / 1200 );
	}
	#footer p:nth-of-type(2){
		font-size : calc( 10 * 100vw / 1200 );
		margin-top : calc( 22 * 100vw / 1200 );
	}
}
@media print,screen and (min-width: 1490px){
	#footer .wrap{
		padding-top : 26px;
		padding-bottom : 48px;
	}
	#footer h2 img{
		height : 50px;
	}
	#footer p:nth-of-type(1){
		font-size : 14px;
		line-height : 18px;
		margin-top : calc( 14px - 2px );
	}
	#footer .wrap > a{
		margin-top : 12px;
		font-size : 14px;
	}
	#footer p:nth-of-type(2){
		font-size : 10px;
		margin-top : 22px;
	}
}
/*# sourceMappingURL=../maps/layout.css.map */
