@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){
}
/*==============================================================
4.0 Home
--------------------------------------------------------------*/
/* common
--------------------------------------------------------------*/
#header-logo__logotype .st2 {
	fill: var(--white);
}
.header.scroll #header-logo__logotype .st2 {
	fill: var(--black);
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.header-trigger span {
		background: var(--white);
	}
	.header.scroll .header-trigger span {
		background: var(--black);
	}
	.header.active #header-logo__logotype .st2 {
		fill: var(--black);
	}
	.header.active .header-trigger span {
		background: var(--black);
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	#menu-header a {
		color: var(--white);
	}
}
.main.page-home {
	margin-top: 0;
}
/* home-h2 */
.home-h2 {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 6rem;
}
.home-h2 i {
	display: block;
    font-size: 3.8rem;
    font-weight: 700;
	line-height: 1;
}
.home-h2 h2 {
	font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.4rem;
	line-height: 1.5;
}
/* media query : mobile */
@media screen and (max-width:768px) {
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-h2 i {
    	font-size: 2.8rem;
	}
}
/* home-mv
--------------------------------------------------------------*/
.home-mv {
    width: 100%;
    height: 100%;
    height: 100vh;
	height: 100svh;
	overflow: hidden;
}
.home-mv__bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.home-mv__bg video {
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.home-mv__title {
	max-width: 100%;
    height: 100%;
}
.home-h1 {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
	color: var(--white);
	text-align: center;
}
.home-h1 i {
	font-weight: 400;
    letter-spacing: 6px;
    line-height: 1.2;
}
.home-h1 h1 {
    font-weight: 500;
    letter-spacing: 10px;
    line-height: 1.4;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-h1 {
		gap: 2rem;
	}
	.home-h1 i {
    	font-size: 1.4rem;
	}
	.home-h1 h1 {
    	font-size: 1.5rem;
	}

}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-h1 {
		gap: 4rem;
	}
	.home-h1 i {
    	font-size: 1.7rem;
	}
	.home-h1 h1 {
    	font-size: 2.2rem;
	}

}
/* scroll */
.home-mv__scroll {
	position:absolute;
	height: 6rem;
	left: 50%;
	z-index: 1;
}
.home-mv__scroll .bar {
	position: absolute;
	left:-6px;
	color: var(--main);
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}
.home-mv__scroll::after {
	content: "";
	position: absolute;
	top: 0;
	width: 2px;
	background: var(--main);
	animation: scroll-bar 1.4s ease-in-out infinite;
	opacity:0;
}
.home-mv__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: var(--white);
}

/* media query : mobile */
@media screen and (max-width:768px) {
	.home-mv__scroll {
		bottom: 3rem;
	}
	.home-mv__scroll .bar {
		top: 10px;
	}
	.home-mv__scroll .txt {
	}
	@keyframes scroll-bar {
		0%{
			height:0;
			top:60px;
			opacity: 0;
		}
		30%{
			opacity: 1;
			height:60px;
		}
		100%{
			height:0;
			opacity: 0;
			top:120px;
		}
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.home-mv__scroll {
		bottom: 40px;
	}
	.home-mv__scroll .bar {
		top: -56px;
	}
	@keyframes scroll-bar {
		0%{
			height:0;
			top:0;
			opacity: 0;
		}
		30%{
			opacity: 1;
			height:120px;
		}
		100%{
			height:0;
			opacity: 0;
			top:120px;
		}
	}

}
/* 
--------------------------------------------------------------*/
.page-home .button {
    margin: 4rem auto 0;
}
/* home-corporate
--------------------------------------------------------------*/
.section.home-corporate {
	background: url(../img/home-corporate.jpg) no-repeat center / cover;
}
.home-corporate .wrap {
	display: flex;
}
.home-corporate h2 {
    font-weight: 700;
    letter-spacing: 3px;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-corporate .wrap {
		flex-direction: column;
		gap: 2rem;
	}
	.home-corporate h2 {
		font-size: 4rem;
		line-height: 1.2;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.section.home-corporate {
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
	.home-corporate .wrap {
		justify-content: center;
    	align-items: center;
		gap: 6rem;
		gap: 5.6vw;
	}
	.home-corporate h2 {
		font-size: 5rem;
		line-height: 1.4;
	}
	.home-corporate p {
		font-size: 1.4rem;
	}
}
/* home-service
--------------------------------------------------------------*/
.section.home-service {
	background: url(../img/home-service.jpg) no-repeat center / cover;
	color: var(--white);
}
.home-service__intro {
	margin-bottom: 4rem;
}
.home-service__intro h3 {
	text-align: center;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 2rem;
}
.home-service__intro p {
	text-align: center;
}
.home-service__list {
	display: flex;
    align-items: center;
    justify-content: center;
}
.home-service__list li {
	display: flex;
    background: var(--white);
    color: var(--black);
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    border-radius: 50%;
    justify-content: center;
}
.home-service__list i {
	display: block;
	width: 7rem;
}
.home-service__list h3 {
    font-weight: 600;
}
.home-service__list p {
	text-align: center;
}
/* media query : mobile */
@media screen and (max-width:768px) {
	.home-service__intro h3 {
		font-size: 2rem;
	}
	.home-service__intro p {
		font-size: 1.2rem;
	}
	.home-service__list {
		flex-direction: column;
		gap: 2rem;
	}
	.home-service__list li {
		gap: 0.5rem;
		width: 18rem;
		max-width: none;
		height: 18rem;
		max-height: none;
	}
	.home-service__list i {
		width: 5rem;
	}
	.home-service__list h3 {
		font-size: 1.3rem;
	}
}
/* media query : desktop */
@media screen and (min-width:769px) {
	.section.home-service {
		background-attachment: fixed;
	}
	.home-service__intro h3 {
		font-size: 4rem;
	}
	.home-service__intro p {
		font-size: 1.5rem;
	}
	.home-service__list {
		gap: 2rem;
	}
	.home-service__list li {
		gap: 1rem;
		width: 100%;
        max-width: 23.7rem;
        height: 23.7vw;
        max-height: 23.7rem;
	}
	.home-service__list i {
		width: 7rem;
	}
	.home-service__list h3 {
		font-size: 1.5rem;
	}


}