@charset "UTF-8";
/* media query : mobile */
@media screen and (max-width:768px) {
}
/* media query : desktop */
@media screen and (min-width:769px) {
}
/* media query : tablet */
@media screen and (min-width:769px) and (max-width:1024px){
}
/* 3.1 home
--------------------------------------------------------------*/
/*  header */
.home header {
	background-color: rgba(0,0,0,0);
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 100;
}
.home .header-logo a {
	background: url(../img/header-logo__white.svg) no-repeat center/contain;
}
.home .header-trigger a {
	color: #FFFFFF;
}
.home .header-trigger .trigger-link a:after {
	background: url(../img/arrow-blank__white.svg) no-repeat center/contain;
}
.home .header.fixed .header-logo a {
	background: url(../img/header-logo__black.svg) no-repeat center/contain;
}
.home .header.fixed .header-trigger a {
	color: #000;
}
.home .header.fixed .header-trigger .trigger-link a:after {
	background: url(../img/arrow-blank__black.svg) no-repeat center/contain;
}
@media screen and (max-width:768px) {
	.home .header-hamburger {
		background: url(../img/menu-on__white.svg) no-repeat center/contain;
	}
	.home .header.fixed .header-hamburger {
		background: url(../img/menu-on__color.svg) no-repeat center/contain;
	}
	.home .header-hamburger.active {
		background: url(../img/menu-off__color.svg) no-repeat center/contain;
	}
	.home .header.fixed .header-hamburger.active {
		background: url(../img/menu-off__color.svg) no-repeat center/contain;
	}
}
/* home-mv */
.home-mv {
	height: 100%;
	height: 100vh;
	overflow: hidden;
	opacity: 0;
	animation-delay: 0s;
    animation: fade-in 2s ease-out forwards;
}
@keyframes fade-in {
    100% {  opacity: 1;}
}

.home-mv .container {
	display: flex;
    align-items: center;
    justify-content: center;
	flex-direction: column;
    height: 100%;
	z-index: 2;
}
.home-mv h1 {
	text-align: center;
	color: #FFFFFF;
	line-height: 2.6;
}
.home-mv h1 strong {
	display: block;
	font-weight: 400;
	margin-bottom: 1rem;
	line-height: 2;
	animation-delay: 1s;
	animation: slide-in1 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
.home-mv h1 span {
	display: block;
	font-family: 'Jost', sans-serif;
	font-weight: 400;
	animation-delay: 2s;
	animation: slide-in1 4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
.home-mv__play {
	animation-delay: 3s;
	animation: slide-in3 6s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slide-in1 {
	0% {
	  transform: translateY(-70px);
	  opacity: 0;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}
@keyframes slide-in2 {
	0% {
	  transform: translateY(-85px);
	  opacity: 0;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}
@keyframes slide-in3 {
	0% {
	  transform: translateY(-100px);
	  opacity: 0;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}
.home-mv__play a {
	display: block;
	width: 4rem;
	height: 4rem;
	background: url(../img/link-play__line-circle.svg) no-repeat center/contain;
}
.home-mv__play a:hover {
	background: url(../img/link-play__solid-circle.svg) no-repeat center/contain;
	opacity: 1;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home h1 {
		margin-bottom: 2rem;
	}
	.home-mv h1 strong {
		font-size: 1.2rem;
		letter-spacing: 8px;
	}
	.home-mv h1 span {
		font-size: 0.9rem;
		letter-spacing: 2px;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home h1 {
		margin-top: 3rem;
		margin-bottom: 3rem;
	}
	.home-mv h1 strong {
		font-size: 3rem;
		letter-spacing: 12px;
	}
	.home-mv h1 span {
		font-size: 1.2rem;
		letter-spacing: 4px;
	}
}
/* media query : tablet */
@media screen and (min-width:769px) and (max-width:1024px){
	.home-mv h1 strong {
		font-size: 2.7vw;
	}
	.home-mv h1 span {
		font-size: 1.8vw;
	}
}
/* mov */
.home-mv__movie {
	position: absolute;
    top: 0;
	width: 100%;
    height: 100%;
    left: 0;
}
.home-mv__movie video {
	width: 100%;
	height: 100%;
    object-fit: cover;
}
/* scroll */
.home-scroll {
	position:absolute;
	height:120px;
	left: 50%;
	bottom:0;
	z-index: 3;
}
.home-scroll__bar {
	position: absolute;
	left:-6px;
	top: -56px;
	color: #FFFFFF;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}
.home-scroll::after {
	content: "";
	position: absolute;
	top: 0;
	width: 2px;
	height: 120px;
	background: linear-gradient(0deg,#7f3bff 0,#3573ff 100%);
	background: -webkit-linear-gradient(90deg, #7f3bff 0,#3573ff 100%);
	animation: scroll-bar 1.4s ease-in-out infinite;
	opacity:0;
}
.home-scroll__txt {
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: block;
    line-height: 1;
    white-space: nowrap;
    margin: 0 auto;
    color: #FFFFFF;
}
@keyframes scroll-bar {
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:120px;
		opacity: 1;
	}
	100%{
		height:0;
		top:120px;
		opacity: 0;
	}
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-scroll {
		bottom: -3rem;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-scroll {
		bottom:0;
	}
}
/* 3.2.1 home-company
--------------------------------------------------------------*/
/* home-company */
.home-company__link {
	display: block;
	line-height: 0;
	border-top-left-radius: 1.25rem;
	border-bottom-left-radius: 1.25rem;
	overflow: hidden;
}
.home-company__link:before {
	display: block;
    content: "";
}
.home-company__link img {
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.home-company__link:after {
	content: "";
    display: block;
    position: absolute;
    width: 3rem;
    height: 3rem;
    background: url(../img/link-right__solid-circle.svg) no-repeat center/contain;
    left: calc(50% - 1rem);
    top: calc(50% - 1rem);
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-company__link {
		width: 85%;
		margin-left: auto;
	}
	.home-company__link:before {
		padding-top: 28rem;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-company__link {
		width: 65%;
		margin: -13.2rem 0 0 auto;
	}
	.home-company__link:before {
		padding-top: 36rem;
	}
}
/* home-hublink */
.home-hublink__item {
    border-radius: 1.25rem;
	background: no-repeat center/cover;
	overflow: hidden;
}
.home-hublink__link {
	display: block;
}
.home-hublink__link:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
}
.home-hublink__link:after {
	content: "";
    display: block;
    position: absolute;
    width: 3rem;
    height: 3rem;
    background: url(../img/link-right__solid-circle.svg) no-repeat center/contain;
    right: 2rem;
    top: calc(50% - 1rem);
}
.home-hublink__img {
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    z-index: -1;
}
.home-hublink__img:before {
	display: block;
    content: "";
}
.home-hublink__img img {
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.home-hublink__item .title-h2 {
	color: #FFF;
    padding-top: 2rem;
    padding-left: 2rem;
    margin-bottom: 0;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-hublink__link {
		height: 19rem;
	}
	.home-hublink__list {
		margin-bottom: -1rem;
	}
	.home-hublink__item {
		margin-bottom: 1rem;
	}
	.home-hublink__item .title-h2 {
		padding-bottom: 30%;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-hublink__link {
		height: 22rem;
	}
	.home-hublink__list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		align-content: center;
		margin-bottom: -4%;
	}
	.home-hublink__item {
		width: 48%;
		margin-bottom: 4%;
	}
	.home-hublink__item .title-h2 {
		padding-bottom: 10rem;
	}
}
/* home-servicelink*/
.home-servicelink__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	align-content: center;
}
.home-servicelink__item {
    border-radius: 1.25rem;
	background: no-repeat center/cover;
	overflow: hidden;
}
.home-servicelink__link {
	display: block;
}
.home-servicelink__link:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	z-index: 1;
}
.home-servicelink__link:after {
	content: "";
    display: block;
    position: absolute;
    width: 3rem;
    height: 3rem;
    background: url(../img/link-right__solid-circle.svg) no-repeat center/contain;
    left: calc(50% - 1.5rem);
    bottom: 2rem;
	z-index: 2;
}
.home-servicelink__img {
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
}
.home-servicelink__img:before {
	display: block;
    content: "";
}
.home-servicelink__img img {
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.home-servicelink__item .title-h3 {
	color: #FFF;
	padding-top: 2rem;
    padding-bottom: 7rem;
	z-index: 2;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-servicelink__list {
		margin-bottom: -1rem;
	}
	.home-servicelink__item {
		width: calc(50% - 0.5rem);
		margin-bottom: 1rem;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-servicelink__list {
		margin-bottom: -4%;
	}
	.home-servicelink__item {
		width: 22%;
		margin-bottom: 4%;
	}
}