@charset "UTF-8";
/* CSS Document */

.ttl_inner{
}

.ttl_inner .title{
	margin-bottom:5em;
}
.ttl_inner .title h1{
	font-size:1.1rem;
	margin-bottom:1em;
}
.ttl_inner .title h6{
	font-size:2.0rem;
	line-height:1em;
}
.ttl_inner .title h6 span{
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
	.ttl_inner .title{
		text-align:center;
	}
}

/* -- cont -- */
.cont{
	padding:70px 0;
	border-radius:20px;
	margin:0 0 70px 0;
	position:relative;
}
.cont.line{
	background:#374567;
}
.cont.style{
	background:#e3e4e7;
}
.cont .inner{
	width:90%;
	margin:auto;
	display:flex;
	justify-content:space-between;
	z-index:1;
	position:relative;
}
.cont .inner .subttl_inner{
	width:45%;
	margin-right:5%;
	box-sizing:border-box;
}
.cont.line .inner .subttl_inner{
	border-right:1px solid #b4aea1;
}
.cont.style .inner .subttl_inner{
	border-right:1px solid #939fb1;
}
.cont .inner .subttl_inner .sub_ttl{
	width:90%;
	max-width:450px;
	height:fit-content;
	position:sticky;
	top:calc(50% - 25%);
	color:#fff;
}
.cont .inner .subttl_inner .sub_ttl h2{
	font-size:1.5rem;
	margin:0 0 0.1em 0;
}
.cont .inner .subttl_inner .sub_ttl p.eng{
	font-size:1.0rem;
	margin:0 0 2em 0;
}
.cont .inner .subttl_inner .sub_ttl p{
}
.cont .inner .sub_inner{
	width:50%;
}
.cont .inner li{
	margin:0 0 50px 0;
	padding:0 0 50px 0;
}
.cont.line .inner li{
	border-bottom:1px solid #b4aea1;
}
.cont.style .inner li{
	border-bottom:1px solid #939fb1;
}
.cont .inner li:last-of-type{
	margin:0 0 0 0;
	padding:0 0 0 0;
	border-bottom:unset;
}
.cont .inner li .img_wrap{
	width:100%;
	margin-bottom:20px;
	overflow:hidden;
	text-align:center;
	position:relative;
	aspect-ratio:1/0.6;
}
.cont .inner li .img_wrap.animate:after{
	background:#000000;
	mix-blend-mode: color;
}
.cont .inner li .img_wrap > img{
	object-fit:cover;
	height:100%;
	width:100%;
}
.cont .inner li .detail{
	width:100%;
	align-items:center;
	display:flex;
}
.cont .inner li .detail .sub_inner{
	width:80%;
	margin:auto;
}
.cont .inner li .detail h3{
	font-size:1.2rem;
	margin-bottom:0.5em;
	text-align:center;
	color:#fff;
}
.cont .inner li .detail p{
	color:#fff;
}
.cont .inner li .detail .btn{
	text-align:center;
	margin:30px 0 0 0;
	font-size:0.8rem;
}
.cont .inner li .detail .btn a{
	text-decoration:none;
	padding:0.5em 3em 0.5em 2em;
	background:#ffffff;
	border-radius:40px;
}
.text_liner{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.text_liner .text_reactive_liner{
	position:relative;
	display:flex;
	height:100%;
	width:100%;
}
.text_liner .text_sticky_liner{
	height:100vh;
	width:100%;
	display:block;
	position:sticky;
	top:0;
	left:0;
	overflow:hidden;
}
.text_liner .text_liner_subinner{
	font-family: "minerva-modern", sans-serif;
	font-weight: 400;
	font-style: normal;
	display: flex;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	position:absolute;
	bottom:0;
}
.text_liner .text_liner_subinner .lp-text__item {
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 25rem;
	line-height:1em;
}
.line .text_liner .text_liner_subinner .lp-text__item {
	color:#465372;
}
.style .text_liner .text_liner_subinner .lp-text__item {
	color:#d8dee7;
}
.text_liner .text_liner_subinner .lp-text__item:nth-child(odd) {
    animation: MoveLeft 100s -50s infinite linear;
	padding-right:1em;
  }
.text_liner .text_liner_subinner  .lp-text__item:nth-child(even) {
    animation: MoveLeft2 100s infinite linear;
	padding-right:1em;
}
@keyframes MoveLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes MoveLeft2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/* ----------768px–---------- */
@media screen and (max-width: 768px) {
	.cont .inner .subttl_inner .sub_ttl p.eng{
		text-align:center;
	}
	.cont .inner .subttl_inner .sub_ttl h2{
		text-align:center;
	}
	.cont .inner{
		width:90%;
		display:block;
		justify-content:unset;
		position:relative;
	}
	.cont .inner .subttl_inner{
		width:100%;
		margin-right:0;
		box-sizing:border-box;
	}
	.cont .inner .subttl_inner .sub_ttl{
		width:100%;
		max-width:unset;
		position:unset;
		top:unset;
	}
	.cont.line .inner .subttl_inner,
	.cont.style .inner .subttl_inner{
		border-right:unset;
		margin-bottom:70px
	}
	.cont .inner .sub_inner{
		width:100%;
		max-width:600px;
		margin:auto;
	}
	.cont.style .inner .subttl_inner{
		border-right:unset;
	}
}
/* ----------519px–---------- */
@media screen and (max-width: 519px) {
	.cont .inner .subttl_inner .sub_ttl h2 span{
		display:block;
	}
}