@charset "utf-8";

/* views */
.spView {
	display: none !important;
}
@media only screen and (max-width:768px) {
	.spView {
			display: block !important;
	}
	.pcView {
			display: none !important;
	}
}

/*--------------------------------------
フォント指定
--------------------------------------*/
body {
	font-family: 'M PLUS Rounded 1c', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

/*--------------------------------------
fade animation
--------------------------------------*/
.animated {
	animation-duration: .5s;
	animation-fill-mode: both;
}

@keyframes fadeSlide { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; }}
.fade_slide1.inview { animation-name: fadeSlide; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0;}

/* fade out */
@keyframes fadeOut { from { opacity: 1; }  to { opacity: 0; }}
.fadeOut { animation-name: fadeOut; }

/* fade in */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.inview.fi { animation-name: fadeIn; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0;}

/* fade in up */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; }}
.inview.fi_u { animation-name: fadeInUp; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in down */
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -20px, 0); } to { opacity: 1; transform: none; }}
.inview.fi_d { animation-name: fadeInDown; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in right */
@keyframes fadeInRight { from { opacity: 0; transform: translate(30px,0); } to { opacity: 1; transform: none; } }
.inview.fi_r { animation-name: fadeInRight; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in left */
@keyframes fadeInLeft {
from { opacity: 0; transform: translate(-30px,0); }to { opacity: 1; transform: none; }}
.inview.fi_l { animation-name: fadeInLeft; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}


/*--------------------------------------
slide in animation
--------------------------------------*/
.si{
	position: relative;
	overflow: hidden;
}
.si::before{
	content: '';
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #362d11;
	opacity: 1;
	transform: scaleX(1);
	transform-origin: top right;
	transition: transform .8s cubic-bezier(0.65, 0.05, 0.36, 1);
	z-index: 10;
}
.si.inview::before{
	transform: scaleX(0);
}

.si2{
	position: relative;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.si2::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #747347;
	transform-origin: right;
	transition: transform .6s .4s cubic-bezier(0.65, 0.05, 0.36, 1);
	z-index: 10;
}
.si2.inview{
	transform: scaleX(1);
}
.si2.inview::before{
	transform: scaleX(0);
}

.section_title_wrap {
	position: relative;
	text-align: center;
	padding-bottom: 120px;
}
.section_title_wrap::after {
	content: '';
	position: absolute;
	display: block;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) scaleY(0); 
	transform-origin: top; 
	width: 1px;
	height: 64px;
	background-color: #a99b65;
	animation: arrowlong01 2s ease infinite;
}

@keyframes arrowlong01 {
	0% { transform: translateX(-50%) scaleY(0); opacity: 0; }
	20% { transform: translateX(-50%) scaleY(0); opacity: 1; }
	80% { transform: translateX(-50%) scaleY(1); opacity: 1; }
	100% { transform: translateX(-50%) scaleY(1); opacity: 0; }
}

/* 線を繰り返して表示させるときは下記を削除 */
/* .section_title_wrap.inview::after {
	animation: arrowlong02 2s ease forwards;
	animation-delay: 1s; 
} */

@keyframes arrowlong02 {
	0% { transform: translateX(-50%) scaleY(0); opacity: 0; }
	20% { transform: translateX(-50%) scaleY(0); opacity: 1; }
	100% { transform: translateX(-50%) scaleY(1); opacity: 1; }
}