@charset "UTF-8";
*,
*:before,
*:after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
}
body{
	margin: 0 auto;
	padding: 0;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-size : 20px;
	line-height : 1.6;
	letter-spacing: .5px;
	background: #000;
	color: #fff;
	width: 100%;
}
div,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
dl,
dt,
dd{
	margin: 0;
	padding: 0
}
img{
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	margin: 0 auto;
	display: block;
}
img{
	/* pc */
	pointer-events: none;
	/* smartphone*/
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	touch-callout:none;
	user-select:none;
}

p{
	margin: 0 auto 30px;
}

#main{
	overflow: hidden;
	margin : 0 auto;
}

#header01{
	display: flex;
	justify-content: center;
    align-items: center;
	background: url(../images/header.png) no-repeat center #000;
	height: 100vh;
	background-size: cover;
}
section{
	display: flex;
}
.cnt{
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 100vh;
	padding: 100px 0 120px;
}
.cnt > [class^="bg_"]{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all 0.5s ease 0s;
	z-index: -1;
}
.show > [class^="bg_"]{
		opacity: 1;
}
.bg_01{
		background-image: url("../images/bg01.png");
}
.bg_02{
		background-image: url("../images/bg02.png");
}
.bg_03{
		background-image: url("../images/bg03.png");
}
.bg_04{
		background-image: url("../images/bg04.png");
}
.bg_05{
		background-image: url("../images/bg05.png");
}
.bg_06{
		background-image: url("../images/bg06.png");
}
.bg_07{
		background-image: url("../images/bg07.png");
}
.bg_08{
		background-image: url("../images/bg08.png");
}
.bg_09{
		background-image: url("../images/bg09.png");
}
.cnt_box{
	width: 100%;
	max-width: 1040px;
/*	min-height: 100vh;*/
	margin: 0 auto;
	padding: 60px;
	text-shadow: 1px 0 10px rgba(73,54,58,0.6),
			 0 1px 10px rgba(73,54,58,0.6),
			 -1px 0 10px rgba(73,54,58,0.6),
			 0 -1px 10px rgba(73,54,58,0.6);
}
.cnt_r{
	width: 60vw;
	margin-left: auto;
	margin-right: 0;
	padding-right: 7vw;
}
.cnt_l{
	width: 62vw;
	margin-right: auto;
	margin-left: 0;
	padding-left: 16vw;
}
.cnt_c{
}


.bg_wht{
	background: #fff;
}

footer{
	padding: 15px 0px;
	background: #000;
	font-size : 16px;
	line-height : 1.5;
	color: #fff;
	width: 100%;
	text-align: center;
	letter-spacing: 1px;
}

footer a{
	color: #fff;
}
footer a:hover{
	color: #f3f389;
}

footer p{
	margin: 0 auto;
	padding: 0;
}
footer .copy{
	font-size: 14px;
}

.ttl{
	position: relative;
	max-width: 1040px;
/*	inline-size: fit-content;*/
	margin: 0 auto;
	padding: 40px 20px;
	text-align: center;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(24px);
	text-shadow: 1px 0 8px rgba(73,54,58,0.2),
				 0 1px 8px rgba(73,54,58,0.2),
				 -1px 0 8px rgba(73,54,58,0.2),
				 0 -1px 8px rgba(73,54,58,0.2);
	
}
.ttl::before,
.ttl::after{
	 background: rgba(255, 255, 255, 1.0);
	content: '';
	display: block;
	height: 1px;
	width: 0;
	transform: translateX(-50%);
	transition: 2.3s cubic-bezier(0.22, 1, 0.36, 1);
	position: absolute;

}
.ttl::before{
	 top: 0;
	left: 50%;
}
.ttl::after{
	bottom: 0;
	left: 50%;
}
.ttl.is-animated::before,
.ttl.is-animated::after{
	width: 100%;
}






.smooth{
	clip-path: inset(0 100% 0 0);
	display: inline-block;
	transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
	transition-property: clip-path;
	height: 100%;
	padding-right: 10px;
}
.smooth.animated{
	clip-path: inset(0);
}

a.link:link{
	color: #00e;
	text-decoration: underline;
}

.on_sp{
	display: none;
}
/*animation
fadeUp ----------------------------------------------------*/
@keyframes fadeUp{
	0%{
		transform: translateY(30px);
		opacity: 0;
	}
	80%{
		opacity: 1;
	}
	100%{
		opacity: 1;
		transform: translateY(0);}
}
@-webkit-keyframes fadeUp{
	0%{
		transform: translateY(30px);
		opacity: 0;
	}
	80%{
		opacity: 1;
	}
	100%{
		opacity: 1;
		transform: translateY(0);}
}
.trg_fUp{
	opacity: 0;
}
.trg_fUp.fadeUp{
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}







@media screen and (max-width: 640px){
	body{
		font-size : 18px;
	}
	.off_sp{
		display: none;
	}
	.on_sp{
		display: initial;
	}
	#header01{
		background: url(../images/header_sp.png) no-repeat center top;
		background-size: cover;
		height: 80svh;
	}
	.cnt{
		padding: 50px 20px 100px;
	}
	.cnt_box{
		padding: 0;
	}
	.cnt_r,
	.cnt_l{
		width: 100vw;
		padding: 0;
	}
	.ttl{
		font-size: 2.2em;
	}
	.bg_01{
		background-image: url("../images/bg01_sp.png");
	}
	.bg_02{
		background-image: url("../images/bg02_sp.png");
	}
	.bg_03{
		background-image: url("../images/bg03_sp.png");
	}
	.bg_04{
		background-image: url("../images/bg04_sp.png");
	}
	.bg_05{
		background-image: url("../images/bg05_sp.png");
	}
	.bg_06{
		background-image: url("../images/bg06_sp.png");
	}
	.bg_07{
		background-image: url("../images/bg07_sp.png");
	}
	.bg_08{
		background-image: url("../images/bg08_sp.png");
	}
	.bg_09{
		background-image: url("../images/bg09_sp.png");
	}

}
@media screen and (max-width: 390px){
	#header01{
		height: 370px;
	}
}
@media screen and (max-width: 375px){
	#header01{
		height: 350px;
	}
	.ttl{
		font-size: 2em;
	}
}

@media screen and (max-width: 320px){
	#header01{
		height: 300px;
	}
	.ttl{
		font-size: 1.8em;
	}
	.ttl::before{
		margin-right: 20px;
	}
	.ttl::after{
		margin-left: 20px;
	}
}