@charset "UTF-8";

/** テキストアニメーション **/
.message {
	width: 100%;
	height: 100%;
}

.TextAnimation{
    display: inline-block;
}

.TextAnimation ul {
    display: inline-block;
	list-style: none;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

.TextAnimation ul li {
    white-space: nowrap;
	line-height: calc(100vw * 0.035);
	visibility: hidden;
	font-weight: bold;
	position: absolute;
	display: inline-block;
}

.TextAnimation ul li.line01 {top: 40%; left: 10%;}
.TextAnimation ul li.line02 {top: 50%; right: 10%;}
.TextAnimation ul li.line03 {bottom: 30%; left: 20%;}
.TextAnimation ul li.line04 {top: 20%; right: 20%;}
.TextAnimation ul li.line05 {top: 20%; left: 10%;}
.TextAnimation ul li.line06 {bottom: 30%; right: 20%;}

.TextAnimation ul li p {
	display: inline;
}

.TextAnimation ul li span {
	font-family: 'Noto Serif JP', YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: normal;
    animation: text_anime_on 0.5s ease-out forwards;
    display: inline-block;
    opacity: 0;
    color: #ffffff; /* 他のテキストは白色に設定 */
	text-shadow: 2px 0 2px rgb(0, 0, 0, 0.2), -2px 0 2px rgb(0, 0, 0, 0.2), 0 2px 2px rgb(0, 0, 0, 0.2), 0 -2px 2px rgb(0, 0, 0, 0.2);
    font-size: 30px;
}

.TextAnimation ul li span.slogan_en span {
	font-family: "Cormorant Garamond", serif;
	font-weight: 300;
	font-style: normal;
    font-size: 50px;
}

.TextAnimation ul li span.slogan_en {
	margin: 0 0.5em 0 0;
}

@keyframes text_anime_on {
    0% {
        opacity: 1;
    }
    20% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.TextAnimation ul li {
    visibility: hidden; /* 初期状態で非表示 */
    transition: opacity 1s ease-out;
}

/*テキストアニメーションここまで*/

.videoBox {
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.video {
	min-height: 100%;
	min-width: 100%;
	top: 50%;
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
	
}

a.top_contact {
	background-color: #000000;
	color: #ffffff;
	padding: 10px 60px;
	bottom: 70px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	border-radius: 5px;
	transition: 0.5s;
	white-space: nowrap;
}

a:hover.top_contact {
	background-color: #ffffff;
	color: #000000;
	transition: 0.5s;
}

a.top_contact .contactLinkBorder {
	background-color: #ffffff;
	width: 2px;
	height: 0px;
	position: absolute;
	top: 48px;
	left: 50%;
	transition: 0.5s;
}

a:hover.top_contact .contactLinkBorder {
	background-color: #ffffff;
	width: 2px;
	height: 100px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: 0.5s;
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1336px) {
/* ------------------------------------------------------ */

}


/* ------------------------------------------------------ */
@media only screen and (max-width : 1250px) {
/* ------------------------------------------------------ */

}


/* ------------------------------------------------------ */
@media only screen and (max-width : 768px) {
/* ------------------------------------------------------ */
.TextAnimation ul li.line01 {top: 30%; left: 5%;}
.TextAnimation ul li.line02 {top: 60%; right: 5%;}
.TextAnimation ul li.line03 {bottom: 20%; left: 10%;}
.TextAnimation ul li.line04 {top: 20%; right: 10%;}
.TextAnimation ul li.line05 {top: 30%; left: 5%;}
.TextAnimation ul li.line06 {bottom: 20%; right: 10%;}

.TextAnimation ul li span {
    font-size: 20px;
}

.TextAnimation ul li span.slogan_en span {
    font-size: 36px;
}
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 600px) {
/* ------------------------------------------------------ */

.videoBox {
	height: 100vh;
}



.TextAnimation ul li span.slogan_en {
	margin: 0 0 20px 0;
	display: block;
}

.TextAnimation ul li span {
    font-size: 24px;
}

.TextAnimation ul li span.slogan_en span {
    font-size: 40px;
}

}