@charset "utf-8";

/* ---------------------------------------- 
 - contents（greeting）
---------------------------------------- */
#greeting {
	width:100%;	
	max-width: 1400px;
	margin: 0 auto 100px;
}
.greeting_main{
	width:100%;	
	margin: 0 auto 80px;
	position: relative;
}
.greeting_main .visual{
	width:70%;	
	max-width: 1100px;
	margin-left: auto;	
	height: 590px;
}
.greeting_main .visual img,
.greeting_main .visual picture{
	height: 100%;
	object-fit: cover;
}
.greeting_main .greeting_lead{
	width: 90%;
    max-width: 700px;
	position: absolute;
	top:15%;
	left:5%;
}
.greeting_main .greeting_lead .catch{
	color:#fff;
	font-size:4.8rem;
	margin-bottom: 40px;
}
.greeting_main .greeting_lead .catch span.fadein{
	display: inline-block;
	padding:0 7px;
	position: relative;
	line-height: 1.4;
}
.greeting_main .greeting_lead .catch span.fadein span{
	position: relative;
	z-index: 1;
	opacity: 0;
}
.greeting_main .greeting_lead .catch.anime span.fadein::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
	width: 100%;
    height: 100%;
    background-color:#e50a11;
}
.greeting_main .greeting_lead .catch.anime span.fadein::after {
    animation: typo-overlayIn 0.6s 0.8s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
.greeting_main .greeting_lead .catch.anime span.fadein span{
	animation:typo-fadeIn 0.5s 1.1s;
	animation-fill-mode: both;
}
@keyframes typo-fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes typo-overlayIn {
    0% {
      width: 0;
    }
    100% {
      width:  100%;
    }
}
.greeting_main .greeting_lead .name{
	font-size:3.0rem;
	line-height: 1.6;
}
.greeting_main .greeting_lead .name span{
	font-size:2.0rem;
	display: block;
}
.greeting_txt {
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	#greeting {
		margin-bottom: 50px;
	}
	.greeting_main{
		margin-bottom: 40px;
	}
	.greeting_main .visual{
		width:100%;
		height: auto;
	}
	.greeting_main .greeting_lead{
		width: 90%;
		max-width: 90%;
		position: static;
		margin: 20px auto 0;
	}
	.greeting_main .greeting_lead .catch{
		font-size:7.2vw;/* 27px */
		margin-bottom: 10px;
	}
	.greeting_main .greeting_lead .name{
		font-size:4.8vw;/* 16px */
	}
	.greeting_main .greeting_lead .name span{
		font-size:3.467vw;/* 13px */
	}
	.greeting_main .greeting_lead .lead {
		width: 100%;
		max-width: 100%;
		line-height: 1.8;
		margin-top: 10px;
		padding: 0;
	}
	.greeting_txt {
		margin-top: 35px;
	}
}