@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;
	position: relative;
}


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

.maincopy__design {
	line-height: 1;
	font-size: 9.7rem;
	letter-spacing: 0em;
	font-weight: bold;
	margin-bottom: 6px;
	margin-left: -6px;
	overflow: hidden;
	opacity: 0;
}
.maincopy__design span.plus {
	position: absolute;
	top: 1em;
	right: -.65em;
	margin-top: -8px;
	opacity: 0;
}
.maincopy__dev {
	line-height: 1;
	font-size: 5.9rem;
	letter-spacing: -.01em;
	font-weight: bold;
	margin-left: -3px;
	overflow: hidden;
	opacity: 0;
}

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


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

.addition__mission,
.addition__skill {
	position: absolute;
	top: 0;
	left: 0;
}
.addition__mission { left: 45%; }
.addition__skill   { left: 69%; }

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

.addition p {
	line-height: 1.6;
	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: 0;
	left: 90%;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
    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: 90vh;
}
@media screen and (max-width: 1600px)  and (min-height: 1200px){
	.line {
	}
}



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

.btn__more {
	text-align: center;
	margin-bottom: 80px;
}
.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;
}
