@charset "utf-8";


/* ================================
 * Header
 * ================================ */

header h1 {
	top: -20px;
	opacity: 0;
}
.headerNav__main,
.headerNav__sub {
	right: -20px;
	opacity: 0;
}
 
header nav li.works a {
	pointer-events: unset !important;
	cursor: unset !important;
}
header nav li.works a:before {
	width: unset !important;
}



/* ================================
 * Firstview
 * ================================ */

section#firstview {
	width: 100%;
	height: 100vh; /* default value */
	position: relative;
	overflow: hidden;
}


.maincopy {
	position: absolute;
	top: 50%;
	left: 5%;
	z-index: 1;
	margin-left: .3em;
	transform: translateY(-70%);
	-webkit-transform: translateY(-70%);
}

.maincopy__design {
	font-size: 5.25rem;
	line-height: 1;
	letter-spacing: .01em;
	font-weight: bold;
	margin-bottom: 5px;
	position: relative;
	opacity: 0;
}
.maincopy__design span.plus {
	position: absolute;
	top: 1em;
	right: -.62em;
	margin-top: -5px;
}
.maincopy__dev {
	font-size: 3.1rem;
	line-height: 1;
	letter-spacing: -.005em;
	font-weight: bold;
	margin-left: .05em;
	overflow: hidden;
	opacity: 0;
}
@media screen and (min-width: 375px){
	.maincopy__design {
		font-size: 5.75rem;
	}
	.maincopy__design span.plus {
		margin-top: -5px;
	}
	.maincopy__dev {
		font-size: 3.5rem;
	}
}
@media screen and (min-width: 425px){
	.maincopy__design {
		font-size: 6.5rem;
	}
	.maincopy__design span.plus {
		margin-top: -6px;
	}
	.maincopy__dev {
		font-size: 3.9rem;
	}
}
@media screen and (min-width: 769px){
	.maincopy__design {
		font-size: 8.26rem;
	}
	.maincopy__design span.plus {
		margin-top: -8px;
	}
	.maincopy__dev {
		font-size: 5rem;
	}
}


.maincopy__design span,
.maincopy__dev span {
	position: relative;
	top: 1em;
	opacity: 0;
}


.addition {
	width: 95%;
	position: absolute;
	bottom: 2%;
	left: 5%;
}

.addition__profile,
.addition__mission,
.addition__skill {
	margin-left: .6em;
	margin-bottom: 18px;
}

.addition h2 {
	line-height: 1.4;
	font-size: 1.0rem;
	letter-spacing: .06em;
	font-weight: bold;
	margin-bottom: 8px;
	opacity: 0;
	transition: all 2s;
	-webkit-transition: all 2s;
}

.addition p {
	line-height: 1.5;
	font-size: 1rem;
	letter-spacing: .02em;
	color: rgba(255,255,255, .8);
	opacity: 0;
	transition: all 2s;
	-webkit-transition: all 2s;
}

.line {
	width: 1px;
	height: 0;
	background: #a9a9a9;
	position: absolute;
	top: 6%;
	left: 100%;
	transform: rotate(36deg);
	-webkit-transform: rotate(36deg);
    transform-origin: left top;
    -webkit-transform-origin: left top;
     transition: all 1s cubic-bezier(0, 0, 0.22, 1.01);
    -webkit-transition: all 1s cubic-bezier(0, 0, 0.22, 1.01);
}
.line.-loaded {
	height: 70vh;
}
@media screen and (max-width: 1600px)  and (min-height: 1200px){
	.line {
	}
}




/* ================================
 * See more
 * ================================ */

.btn__more {
	text-align: center;
	margin-bottom: 110px;
}
.btn__more a {
	display: inline-block;
	padding: 5px 0 5px 18px;
	font-size: 1.5rem;
	position: relative;
}
.btn__more a:before {
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}
.btn__more a:after {
	content: "";
	width: 10px;
	height: 12.5px;
	background: url(/img/common/lock.png) center center / 10px 12.5px;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -7px;
}

