@charset "utf-8";



.des_main.des_main_pre {
	/*display: none;*/
	visibility: visible !important;
    position: absolute;
    bottom: 0;
    /*left: 50%;
    transform: translateX(-50%);*/
	transition: all 1.5s;
	transition-delay: 2.5s;
    text-align: center;
    padding: 30px 0;
    width: 100%;
    opacity: 1 !important;
    z-index: 2;
    /*background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);*/
    /*background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);*/
    /*background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);*/
}

/* IE11 */
@media all and (-ms-high-contrast:none){
.site-footer .foot-navi ul li.new a:before {
top: -24px;
}
}
.businessHours li{
	padding-bottom: 13px;
}

/*==================================================================
	Base content setting
===================================================================*/




/*instagram*/
.pc_only_insta_bnr{display: block;}
.sp_only_insta_bnr{display: none;}
@media only screen and (max-width: 1000px) {
	.pc_only_insta_bnr{display: none;}
	.sp_only_insta_bnr{display: block;}	
}
.insta_logo{
	margin: 0 auto;
  max-width: 450px;
  padding: 20px 0;	
}
@media only screen and (max-width: 1000px) {
	.insta_logo{
	margin: 0 auto;
  max-width: 330px;
  padding: 40px 0;
}
	.insta_btn{
	margin: 0 auto;
  max-width: 290px;
  padding: 10px 0 30px;
}
}

.blurin {
	opacity: 0;
}
.blurin.on {
	-webkit-animation-name: blurInAnime;
	animation-name: blurInAnime;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-animation-duration: 2s !important;
	animation-duration: 2s !important;
	opacity: 0;
}
@-webkit-keyframes blurInAnime {
	0%{
		-webkit-filter: blur(15px);
		filter: blur(15px);
		opacity: 0;
		perspective: 1000;
		-webkit-perspective: 1000;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
	100%{
		-webkit-filter: blur(0);
		filter: blur(0);
		opacity: 1;
		perspective: 1000;
		-webkit-perspective: 1000;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
}
@keyframes blurInAnime {
	0%{
		-webkit-filter: blur(15px);
		filter: blur(15px);
		opacity: 0;
		perspective: 1000;
		-webkit-perspective: 1000;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
	100%{
		-webkit-filter: blur(0);
		filter: blur(0);
		opacity: 1;
		perspective: 1000;
		-webkit-perspective: 1000;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
}
.txt-vertical-col {
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	/* flex: 1; */
}
.txt-vertical-col .num {
	-webkit-writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-ms-writing-mode: rl-bt;
	writing-mode: horizontal-tb;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 5px;
}
.block-link {
	display: block;
}

.nolink .box-link .b-btn:after {
	display: none!important;
}

.js-txt-hover {
	display: inline-block;
	overflow: hidden;
	position: relative;
}
.js-txt-hover .js-txt-up {
	position: absolute;
	left: 0;
	top: 0;
}
.js-txt-hover .js-txt-up .txt-split {
	-webkit-transform: translateY(2.2em);
	-ms-transform: translateY(2.2em);
	transform: translateY(2.2em);
	opacity: 0;
	-webkit-transition: color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
	-o-transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms);
	transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
}
.js-txt-hover .js-txt-cur .txt-split {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
	-o-transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms);
	transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
}
.js-txt-hover .js-txt.fadesplit > span {
	opacity: 1;
	line-height: 1.4;
}
a:hover ~ .js-txt-hover .js-txt-cur .txt-split,
.block-link:hover .js-txt-hover .js-txt-cur .txt-split,
.js-txt-hover:hover .js-txt-cur .txt-split {
	-webkit-transform: translateY(-2.2em);
	-ms-transform: translateY(-2.2em);
	transform: translateY(-2.2em);
	opacity: 0;
	-webkit-transition: color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
	transition: color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
	-o-transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms);
	transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms);
	transition: transform 0.3s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.3s ease calc(var(--split-delay)*30ms), -webkit-transform 0.3s ease calc(var(--split-delay)*30ms);
}
a:hover ~ .js-txt-hover .js-txt-up .txt-split,
.block-link:hover .js-txt-hover .js-txt-up .txt-split,
.js-txt-hover:hover .js-txt-up .txt-split {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: color 0s, opacity 0.8s ease calc(var(--split-delay)*30ms), -webkit-transform 0.8s ease calc(var(--split-delay)*30ms);
	transition: color 0s, opacity 0.8s ease calc(var(--split-delay)*30ms), -webkit-transform 0.8s ease calc(var(--split-delay)*30ms);
	-o-transition: transform 0.8s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.8s ease calc(var(--split-delay)*30ms);
	transition: transform 0.8s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.8s ease calc(var(--split-delay)*30ms);
	transition: transform 0.8s ease calc(var(--split-delay)*30ms), color 0s, opacity 0.8s ease calc(var(--split-delay)*30ms), -webkit-transform 0.8s ease calc(var(--split-delay)*30ms);
}

.ani-hover-img {
	overflow: hidden;
}
.ani-hover-img img {
	transition: transform 2s cubic-bezier(0, 0, 0.3, 1), -webkit-transform 2s cubic-bezier(0, 0, 0.3, 1);
}
a:hover .ani-hover-img img,
a:hover ~ .ani-hover-img img,
.ani-hover-img:hover img {
	animation: flashHover 2s 0s ease both;
	transform: scale(1.05);
}
@-webkit-keyframes flashHover {
	0% {
	 	opacity:0.8;
	}
	to {
	 	opacity:1;
	}
}
@keyframes flashHover {
	0% {
		opacity:0.8;
	}
	to {
		opacity:1;
	}
}

/* #page_main */
#page_main {
	background: url('../imgs/bg_main.jpg') no-repeat center center / cover;
	position: relative;
	padding: 50px 15px;
	text-align: center;
}
#page_main .main-box {
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#page_main .main-box .ttl {
	color: #ffffff;
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	line-height: 1.1;
}
@media only screen and (max-width: 1000px) {
	#page_main {
		padding: 35px 15px;
	}
	#page_main .main-box {
		max-width: 80px;
	}
	#page_main .main-box .ttl {
		font-size: 2.2rem;
	}
}
@media only screen and (max-width: 767px) {
	#page_main {
		background-position: center left;
	}


}

/* sec main image */

.sec-main-image .image-wrap {
    position: relative;
}
.sec-main-image .cont {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
    padding: 0 0 50px;
    z-index: 1;
}
.sec-main-image .cont .ttl {
    animation-delay: 0.5s;
    text-align: center;
}
.sec-main-image .cont .ttl img {
    width: 60px;
}
.sec-main-image .line-animation {
    height: 150px;
    width: 1px;
    margin: 0 auto 50px;
    position: relative;
}
.sec-main-image .line-animation .line {
	background: #ffffff;
	width: 100%;
	height: 0;
	transition: all ease-in-out 1.0s;
	top: 0;
	right: 50%;
	position: absolute;
}
.sec-main-image .line-animation.on .line {
	height: 80%;
}
.sec-main-image .line-animation .square {
	background: #ffffff;
	width: 40px;
	height: 40px;
	position: absolute;
	transform: rotate(45deg);
	bottom: -14px;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	transition: all ease-in-out 1.25s;
	transition-delay: 1s;
	margin-left: -20px;
}
.sec-main-image .line-animation.on .square {
	opacity: 1;
	visibility: visible;
}
.sec-main-image .line-animation .square:before {
	content: "";
	width: 45%;
	height: 45%;
	position: absolute;
	border-bottom: 1px solid #48563F;
	border-right: 1px solid #48563F;
	bottom: 10px;
	right: 10px;	
}
@media only screen and (max-width: 1000px) {
	.sec-main-image .bg_photo {
		height: 80vh;
	}
	.sec-main-image .bg_photo img {
		height: 100%;
		object-fit: cover;
		object-position: top;
	}
	.sec-main-image .line-animation {
		height: 160px;
	}
}
@media only screen and (max-width: 767px) {
	.sec-main-image .line-animation {
		height: 90px;
	}
	.sec-main-image .cont .ttl img {
		width: 44px;
	}
}