@charset "UTF-8";
/* CSS Document */

/**************************************************
 loading
**************************************************/
#loading{
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background-color: #fff;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#loading.close{
	transition: 2s cubic-bezier(0.660, 0.000, 0.070, 1.000);
	transform: translateY(-100%);
}

.load{
  padding: 10px;
  border-radius: 4px;
  height: 125px;
  margin-bottom: 10px;
}

.sp{
  width: 32px;
  height: 32px;
  clear: both;
  margin: 20px auto;
}


/* Spinner Slices */
.sp.slices {
  border-radius: 50%;
  border-top: 16px rgba(58,44,36,0.75) solid;
  border-left: 16px rgba(58,44,36,0.25) solid;
  border-bottom: 16px rgba(58,44,36,0.25) solid;
  border-right: 16px rgba(58,44,36,0.25) solid;
  -webkit-animation: spSlices 1s infinite linear;
  animation: spSlices 1s infinite linear;
}
@-webkit-keyframes spSlices {
  0% {
    border-top: 16px rgba(58,44,36,0.75) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
  25% {
    border-top: 16px rgba(58,44,36,0.25) solid;
    border-right: 16px rgba(58,44,36,0.75) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
  50% {
    border-top: 16px rgba(0,0,0,0.25) solid;
    border-right: 16px rgba(0,0,0,0.25) solid;
    border-bottom: 16px rgba(0,0,0,0.75) solid;
    border-left: 16px rgba(0,0,0,0.25) solid;
  }
  75% {
    border-top: 16px rgba(58,44,36,0.25) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.75) solid;
  }
  100% {
    border-top: 16px rgba(58,44,36,0.75) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
}
@keyframes spSlices {
  0% {
    border-top: 16px rgba(58,44,36,0.75) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
  25% {
    border-top: 16px rgba(58,44,36,0.25) solid;
    border-right: 16px rgba(58,44,36,0.75) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
  50% {
    border-top: 16px rgba(58,44,36,0.25) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.75) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
  75% {
    border-top: 16px rgba(58,44,36,0.25) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.75) solid;
  }
  100% {
    border-top: 16px rgba(58,44,36,0.75) solid;
    border-right: 16px rgba(58,44,36,0.25) solid;
    border-bottom: 16px rgba(58,44,36,0.25) solid;
    border-left: 16px rgba(58,44,36,0.25) solid;
  }
}


/**************************************************
 header
**************************************************/
@keyframes rollup {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateX(0);
  }
}

header{
	opacity: 0; 
}

header.appear{
	opacity: 1;
	animation :2s rollup;
}


/**************************************************
 copyHanger
**************************************************/
.copyHanger{
	margin: 70px 0;
}


h1{
	font-size: 3rem;
	color: #3A2C24;
	font-weight: 300;
	text-align: center;
	line-height: 1.8;
	letter-spacing: 2px;
	opacity: 0;
	transform: translateY(100%);
	transition: 2s cubic-bezier(0.660, 0.000, 0.070, 1.000);
}

h1 span{
	color: #826B55;
	font-size: 2rem;
	letter-spacing: 1px;
}

h1.appear{
	opacity: 1;
	transform: translateY(0);
}

/**************************************************
 mainVisual
**************************************************/
/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.mainVisual {
  display: -ms-grid;
  overflow: hidden;
  
}
/*----------------------------*/
.mainVisual{
	margin: 30px 0 70px;
	opacity: 0;
	transform: translateY(100%);
	transition: 2s cubic-bezier(0.660, 0.000, 0.070, 1.000);
}

.mainVisual.appear{
	opacity: 1;
	transform: translateY(0);
}

.mainslider{
  display: flex;
  overflow: hidden;
}

.main_list{
  display: flex;
  list-style: none;
}

.main_list-left{animation :infinity-scroll-left 60s infinite linear 0.5s both;}

.main_item{
/*	width: calc(100vw / 3.1);*/
	margin-left: 32px;
}
.main_item > img{
/*   width: 100%;*/
	width: auto;
	max-width: initial;
}


/**************************************************
 contentHanger
**************************************************/
.contentHanger{margin-bottom: 170px;overflow: hidden;}

.left_cont{
	width: 50%;
	padding-left: 6%;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50px);
	transition: 1.3s cubic-bezier(0.660, 0.000, 0.070, 1.000);
}

.left_cont.show{
	opacity: 1;
	visibility: visible;
	transform: translateX(0)
}

.left_cont h2{
	font-size: 3.2rem;
	color: #826B55;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: 2px;
	margin-bottom: 24px;
}

.left_cont p{
	padding-bottom: 24px;
	color: #3A2C24;
	font-size: 1.8rem;
}

.left_cont p small{
	font-size: 1.4rem;
	letter-spacing: 0px;
	margin-bottom: 16px;
	display: block;
}

.right_cont{
	width: 48%;
/*	overflow: hidden;*/
	opacity: 0;
	visibility: hidden;
	transform: translateX(50px);
	transition: 1.3s cubic-bezier(0.660, 0.000, 0.070, 1.000);
}

.right_cont.show{
	opacity: 1;
	visibility: visible;
	transform: translateX(0)
}

.right_cont ul{position: relative;}

.right_cont ul li:first-child{
	position: relative;
	overflow: hidden;
	z-index: -1;
}

.right_cont ul li:nth-child(2){
	width: 60%;
	margin-top: -20px;
}

.right_cont ul li:last-child{
	width: 35%;
	position: absolute;
	bottom: -80px;
	right: 2.5%;
}

.right_cont ul li img{display: block;}

.right_cont ul li:first-child img{
	position: relative;
	right: -32px;
}

/**************************************************
 layerHanger
**************************************************/
.layerHanger{
	padding: 100px 0;
	background-color: #F2F0EC;
}

.categoryHanger{
	max-width: 1100px;
	margin: 0 auto;
}

.categoryHanger ul li{width: calc(100% / 3 - 16px)}

.categoryHanger ul li .cat_title{
	height: 247px;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.categoryHanger ul li .cat_img{
	background: url("../img/top/cat01.jpg")no-repeat center center;
	background-size: cover;
	transition: 0.7s all;
	position: relative;
	height: 100%;
}

.categoryHanger ul li:nth-child(2) .cat_img{
	background: url("../img/top/cat02.jpg")no-repeat center center;
	background-size: cover;
}

.categoryHanger ul li:nth-child(3) .cat_img{
	background: url("../img/top/cat03.jpg")no-repeat center center;
	background-size: cover;
}

.categoryHanger ul li .cat_img:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(58,44,36,0.5);
}

.categoryHanger ul li .cat_img img{opacity: 0;}

.categoryHanger ul li a:hover .cat_img{transform: scale(1.2);}

.categoryHanger ul li  h2{
	font-size: 2.4rem;
	color: #fff;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	font-weight: 400;
}

.categoryHanger ul li .cat_txt{
	background-color: #fff;
	padding-left: 40px;
	padding-top: 32px;
}

.categoryHanger ul li .cat_txt p{
	line-height: 1.6;
	font-size: 1.7rem;
}

.categoryHanger ul li a .cat_txt span{
	padding: 4px 20px;
	background-color: #000;
	color: #fff;
	width: 150px;
	margin: 0 0 0 auto;
	display: block;
	text-align: center;
	font-size: 1.3rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	transition: 0.5s;
}

.categoryHanger ul li a:hover .cat_txt span{ background-color: rgba(174,159,134,1);}

.cases{
	width: 600px;
	max-width: 100%;
	margin: 50px auto;
}

.cases a{
	display: block;
	padding: 30px;
	background-color: #fff;
	border: 1px solid #3A2C24;
	color: #3A2C24;
}
.cases a:hover{
	background-color: #3A2C24;
	color: #fff;
	text-decoration: none;
}

.cases .cat_title{
	font-size: 2.2rem;
	font-weight: normal;
	text-align: center;	
}



/**************************************************
 profileHanger
**************************************************/
.profileHanger{
	max-width: 1100px;
	margin: 50px auto 0;
}

.profileInner{width: 60%;}

.profile,.profile_img{width: 50%;}

.profile{
	background-color: #fff;
	padding-top: 70px;
	padding-left: 40px;
	position: relative;
}

.profile h2{
	font-size: 2.4rem;
	color: #AE9F86;
	font-weight: 500;
}

.profile dl{
	margin-top: 32px;
	padding: 0;
	line-height: 1.8;
}

.profile dl dt{
	font-size: 1.4rem;
	position: relative;
	padding-left: 16px;
}

.profile dl dt:before{
	content: '';
	width: 8px;
	height: 1px;
	color: #000;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 0;
}

.profile dl dd{
	padding-left: 16px;
	font-size: 1.7rem;
}

.profile span{
	padding: 10px 20px;
	background-color: #000;
	color: #fff;
	width: 150px;
	margin: 0 0 0 auto;
	display: block;
	text-align: center;
	font-size: 1.3rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: 0.5s;
}
.profileInner a:hover .profile span{background-color: rgba(174,159,134,1);}

.profile_img{
	height: 550px;
	overflow: hidden;
}

.profileInner a .profile_img img{transition: 0.7s all;}

.profileInner a:hover .profile_img img{transform: scale(1.1);opacity: 1;}


/**************************************************
 snsHanger
**************************************************/
.snsHanger{width: 37%;}

.facebook{width: 100%;}

.facebook iframe{width: 100%;height: 420px;}

.instagram{margin-top: 28px;}


/**************************************************
 Banner
**************************************************/
.bn_hanger{
	margin: 50px auto;
	justify-content: center;
}

.bn_hanger a{
	margin: 10px 1%;
}


/**************************************************
 responsive
**************************************************/

@media screen and (max-width: 767px){
	
	header.appear{
		opacity: 1;
		animation :none;
	}
	
	/** copyHanger ********************/
	
	.copyHanger{margin: 70px 0 40px;}

	h1{font-size: 2.2rem;}

	h1 span{font-size: 1.8rem;}
	
	/** mainVisual ********************/

	.mainVisual{margin: 0px 0 16px;}

	.main_list-left{animation :infinity-scroll-left 70s infinite linear 0.5s both;}

	.main_item > img{height: 250px}
	
	/** contentHanger ********************/
	
	.contentHanger{margin-bottom: 64px;padding: 0 15px;}

	.left_cont{
		width: 100%;
		padding-left: 0;
		transition-delay: 1.2s;
		margin-bottom: 24px;
	}

	.left_cont h2{
		font-size: 2.2rem;
		color: #826B55;
		font-weight: 300;
		line-height: 1.6;
		letter-spacing: 2px;
		margin-bottom: 24px;
	}

	.left_cont p{
		padding-bottom: 24px;
		font-size: 1.6rem;
	}

	.left_cont p small{
		font-size: 1.3rem;
		letter-spacing: 0px;
		margin-bottom: 16px;
		display: block;
	}

	.right_cont{width: 100%;}

	.right_cont ul{position: relative;}

	.right_cont ul li:first-child{
		position: relative;
		overflow: hidden;
		z-index: -1;
	}

	.right_cont ul li:nth-child(2){
		width: 60%;
		margin-top: -20px;
	}

	.right_cont ul li:last-child{
		width: 35%;
		position: absolute;
		bottom: -48px;
		right: 2.5%;
	}
	
	/** layerHanger ********************/
	.layerHanger{padding: 64px 15px;}

	.categoryHanger ul li{
		width: 100%;
		margin: 20px 0;
	}

	.categoryHanger ul li .cat_txt{
		padding-left: 24px;
		padding-top: 16px;
	}

	.categoryHanger ul li a .cat_txt span{
		padding: 4px 20px;
		background-color: #000;
		color: #fff;
		width: 150px;
		margin: 0 0 0 auto;
		display: block;
		text-align: center;
		font-size: 1.3rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		transition: 0.5s;
	}

	.categoryHanger ul li a:hover .cat_txt span{ background-color: rgba(174,159,134,1);}
	
	.cases{ margin: 20px 0;}
	.cases a{ padding: 20px;}

	/** profileHanger ********************/

	.profileHanger{margin: 50px auto 0;}

	.profileInner{width: 100%;}

	.profileInner a{flex-direction: column-reverse;}

	.profile,.profile_img{width: 100%;}

	.profile{
		background-color: #fff;
		padding: 24px 0 32px 24px;
		position: relative;
	}

	.profile h2{
		font-size: 2rem;
		color: #AE9F86;
		font-weight: 500;
	}

	.profile dl{
		margin-top: 16px;
		padding: 0;
		line-height: 1.8;
	}

	.profile dl:first-of-type{margin-top: 24px;}

	.profile dl dt{
		font-size: 1.3rem;
		position: relative;
		padding-left: 16px;
	}

	.profile dl dt:before{
		content: '';
		width: 8px;
		height: 1px;
		color: #000;
		background-color: #000;
		position: absolute;
		top: 50%;
		left: 0;
	}

	.profile dl dd{
		padding-left: 16px;
		font-size: 1.6rem;
	}

	.profile span{
			padding: 10px 20px;
			background-color: #000;
			color: #fff;
			width: 150px;
			margin: 0 0 0 auto;
			display: block;
			font-size: 1.3rem;
			font-family: 'Noto Sans JP', sans-serif;
			font-weight: 400;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.profile_img{
		height: auto;
		overflow: hidden;
	}
	
	
	/** snsHanger ********************/
	.snsHanger{width: 100%;margin-top: 32px;}

	.facebook{width: 100%;}

	.facebook iframe{width: 100%!important;}

	.instagram{ margin: 28px auto 0; text-align: center;}
	
	/** snsHanger ********************/
	.bn_hanger{ margin: 20px;}
	.bn_hanger a{ max-width: 48%; margin: 5px 1%;}
	
}

