 @import url("https://use.typekit.net/koo0xfg.css");


:root {
--point-color-green: #04b321;
--point-color-red: #F74460;
--point-color-blue: #5FDB5F;
--txt-color: #333;
--head-color: rgba(255,255,255,.8);
--content-padding: 120px 0;
--base-color: #eee;
}


/*COMMON*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *: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;
}

/* CSS Document */

body{
	margin: 0;
	padding: 0;
	position: relative;
	background-color: #fff;
	color: #505050;
	letter-spacing: .01em;
	transition: all .4s ease-in-out;

	font-family: "din-2014", sans-serif;
	font-weight: 400;
	font-style: normal;	
	
	line-height: 150%;
	
}
#wrap{
	position: relative;
	width:100%;
	height: 100%;
	overflow: hidden;
	left: 0;
}



header{
	position: relative;
	padding: 50px 50px 50px 70px;
}

header #logo{
	width: 30px;
}
header #logo img{
	width: 100%;
	height: auto;
}


/* ----- -----*/

#promoLogo{
	width: 100vw;
	position: relative;
	padding: 7vw 0 20vw 0 ;
}
#promoLogo .logoimg{
	position: relative;
	animation:logo_anim .7s ease-in-out forwards 2.6s;
	opacity: 0;
	text-align: center;
}
#promoLogo .logoimg img{
	width:8vw;
	height: auto;
}


@keyframes logo_anim {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}





/* intro */
.introTxt{
	padding: 0 12%;
}
.introTxt img{
	width: 100%;
	height: auto;
}



/* intro */
.mainLogo{
	padding: 13vw 7%;
}
.mainLogo img{
	width: 100%;
	height: auto;
}




/*profile*/


.profileArea{
	position: relative;
}
.profileTitle{
	position: absolute;
	top: 0;
	left: 50%;
	transform: rotate(90deg) translate(0,0);
	transform-origin: top left;
	width: 24vw;
}
.profileTitle img{
	width: 100%;
	height: auto;
}


.profileAreaCont{
	display: flex;
	padding: 0vw 13% 10vw 22%;
	letter-spacing: -0.03em;
}
.profileAreaL{
	width: 55%;
}
.profileAreaR{
	width: 45%;
}

.profileBox{
	font-size: 0.84vw;
	line-height: 1.3vw;
}



ul.profilelist {
	margin-bottom: 1vw;
}
ul.profilelist li{
	list-style-type: none;
	position: relative;
}
ul.profilelist li.profilelistTitle{
	font-weight: 700;
}
ul.profilelist li.standard::before{
	content: "-";
	position: absolute;
	top: 0;
	left: -0.63em;
	font-weight: 00;
	font-size: 1.4vw;
}
ul.profilelist li.no1::before,
ul.profilelist li.no2::before,
ul.profilelist li.no3::before,
ul.profilelist li.no4::before,
ul.profilelist li.no5::before{
	position: absolute;
	top: 0;
	left: -1em;
	font-weight: 700;
}
ul.profilelist li.no1::before{
	content: "1";
}
ul.profilelist li.no2::before{
	content: "2";
}
ul.profilelist li.no3::before{
	content: "3";
}
ul.profilelist li.no4::before{
	content: "4";
}
ul.profilelist li.no5::before{
	content: "5";
}

ul.profilelist li.standard,
ul.profilelist li.no1,
ul.profilelist li.no2,
ul.profilelist li.no3,
ul.profilelist li.no4,
ul.profilelist li.no5{
	margin-left: 1.2em;
}




/*========= 1文字ずつ出現させるためのCSS ===============*/



footer{
	padding: 100px 100px 100px;
	background: #fff;
	position: relative;
	z-index: 1;
}
footer .copyright{
	width:100%;
	text-align: center;
}
footer .copyright img{
	width:6vw;
	height: auto;
}



.opening{
	width: 100vw;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 30;
	
	animation:opening .7s ease-out forwards 1.5s;
	
	opacity: 1;
	pointer-events: none;
	transform: scale(1);
}


.opening .openLogo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1);
	width:8vw;
	height: auto;

}
.opening .openLogo img{
	width: 100%;
	height: auto;
}

@keyframes opening {
	0% {
		opacity: 1;
		pointer-events: none;
		transform: scale(1);
	}
	100% {
		opacity: 0;
		pointer-events: auto !important;
		transform: scale(1);
	}
}


@keyframes logo_mask {
	0% {
		opacity: 0;
		transform: translate(-30%,-50%);
		background-position: 200% 0%;
	}
	30% {
		background-position: 200% 0%;
	}
	60% {
		transform: translate(-50%,-50%);
	}
	100% {
		opacity: 1;
		transform: translate(-50%,-50%);
		background-position: -10% 0%;
	}
}





.pc{
	display: block
}
.sp{
	display: none
}


@media screen and (max-width: 768px) {
	.pc{
		display: none
	}
	.sp{
		display: block
	}

	


	.opening .openLogo{
		width: 10vw;

	}



	header{
		position: relative;
		padding: 26px 20px 20px 30px;
	}

	header #logo{
		width: 13px;
	}
	header #logo img{
		width: 100%;
		height: auto;
	}


	/* ----- -----*/

	#promoLogo{
		width: 100vw;
		position: relative;
		padding: 7vw 0 20vw 0 ;
	}
	#promoLogo .logoimg{
		position: relative;
		animation:logo_anim .7s ease-in-out forwards 2.6s;
		opacity: 0;
		text-align: center;
	}
	#promoLogo .logoimg img{
		width:20vw;
		height: auto;
	}



	/* intro */
	.introTxt{
		padding: 0 10%;
	}
	.introTxt img{
		width: 100%;
		height: auto;
	}



	/* intro */
	.mainLogo{
		padding: 25vw 7%;
	}
	.mainLogo img{
		width: 100%;
		height: auto;
	}




	/*profile*/


	.profileArea{
		padding: 0 10%;
		position: relative;
	}
	.profileTitle{
		position: relative;
		top: 0;
		left: 0;
		transform: rotate(0) translate(0,0);
		transform-origin: top left;
		width: 40vw;
		margin-bottom: 10vw;
	}
	.profileTitle img{
		width: 100%;
		height: auto;
	}


	.profileAreaCont{
		display: block;
		padding: 0;
		letter-spacing: -0.03em;
	}
	.profileAreaL{
		width: 100%;
	}
	.profileAreaR{
		width: 100%;
	}

	.profileBox{
		font-size: 3.2vw;
		line-height: 4.4vw;
	}



	ul.profilelist {
		margin-bottom: 5vw;
	}
	ul.profilelist li{
		list-style-type: none;
		position: relative;
	}
	ul.profilelist li.profilelistTitle{
		font-weight: 700;
		margin-bottom: 2vw;
	}
	ul.profilelist li.standard::before{
		content: "-";
		position: absolute;
		top: 0;
		left: -0.9em;
		font-weight: 00;
		font-size: 3.2vw;
	}
	ul.profilelist li.no1::before,
	ul.profilelist li.no2::before,
	ul.profilelist li.no3::before,
	ul.profilelist li.no4::before,
	ul.profilelist li.no5::before{
		position: absolute;
		top: 0;
		left: -1em;
		font-weight: 700;
	}
	ul.profilelist li.no1::before{
		content: "1";
	}
	ul.profilelist li.no2::before{
		content: "2";
	}
	ul.profilelist li.no3::before{
		content: "3";
	}
	ul.profilelist li.no4::before{
		content: "4";
	}
	ul.profilelist li.no5::before{
		content: "5";
	}

	ul.profilelist li.standard,
	ul.profilelist li.no1,
	ul.profilelist li.no2,
	ul.profilelist li.no3,
	ul.profilelist li.no4,
	ul.profilelist li.no5{
		margin-left: 1.2em;
	}




	/*========= 1文字ずつ出現させるためのCSS ===============*/



	footer{
		padding: 100px 100px 100px;
		background: #fff;
		position: relative;
		z-index: 1;
	}
	footer .copyright{
		width:100%;
		text-align: center;
	}
	footer .copyright img{
		width:20vw;
		height: auto;
	}

	
}

