@charset "UTF-8";
/* CSS Document */
.main{
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	color: #fff;
	padding-top: 120px;
}
.main a.emergency{
	position: absolute;
	top: 140px;
	left: 20px;
	z-index: 9;
	background: #fff;
	padding: 3px 20px;
	border-radius: 5px;
}
.main a.emergency:hover{
	opacity: 0.8;
}
.main a.emergency dl{
	display: flex;
	flex-wrap: wrap;
}
.main a.emergency dl dt{
	font-family: Roboto;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 28px; /* 200% */
	letter-spacing: 0.28px;
	color: #333333;
	margin-right: 20px;
}
.main a.emergency dl dd{
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 186.667% */
	letter-spacing: 0.3px;
	color: #E20100;
}
.main .main_ttl{
	position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0px 8vw;
}
.main .main_ttl .ttl{
	position: relative;
	padding-left: 30px;
}
.main .main_ttl .ttl::before{
	content: "";
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
.main .main_ttl h1{
	font-size: 4.8rem;
	font-style: normal;
	font-weight: 500;
	line-height: 84px; /* 150% */
	letter-spacing: 2.8px;
	color: #fff;
	margin-bottom: 22px;
}
.main .main_ttl p{
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 400;
	line-height: 36px; /* 200% */
	letter-spacing: 2.7px;
	color: #fff;
}
.video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}
.video-background iframe {
  position:absolute;
  bottom: 0;
  left:0;
  min-width: 100%;
  min-height: 100%;
  aspect-ratio: 16 / 9;
  left: 50%;
  transform: translate(-50%, 0);
}
.video-background iframe.pc_elm {
	display: block;
}
.video-background iframe.sp_elm {
	display: none;
}
.video-background .movie_picture {
  position:absolute;top:0;left:0;width:100%;height:100%;
	background: no-repeat center / cover;
	background-image: url("../img/index/movie_picture_pc.png");
}
@media only screen and (max-width: 767px) {

.video-background iframe {
  position:absolute;
  top:auto;
  bottom: 0;
  /* left:0; */
  width:100%;
  height: auto;
  aspect-ratio: 1 / 2.25;
}
.video-background iframe.pc_elm {
	display: none;
}
.video-background iframe.sp_elm {
	display: block;
}
.video-background .movie_picture {
	background-image: url("../img/index/movie_picture_sp.png");
}
}

.column{
	margin: 20px 0px 100px;
	justify-content: space-between;
}

.news{
	position: relative;
}
.news .more .more_btn{
	position: relative;
	display: block;
	width: 150px;
	border-radius: 5px;
	margin-top: 20px;
	padding: 8px 0px;
	text-align: center;
	background: #557EC0;
	transition: 0.3s;
	border: solid 1px #557EC0;
}
.companyinfo .more .more_btn{
	position: absolute;
    top: -6px;
    right: 0;
    margin: 0;
}
.news .more .more_btn::after{
	content: "▶︎";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0px,-50%);
	transition: 0.3s;
	opacity: 0;
	color: #557EC0;
	font-size: 0.8rem;
}
.news .more .more_btn:hover{
	background: #fff;
	border: solid 1px #557EC0;
	opacity: 1;
}
.news .more .more_btn:hover::after{
	content: "▶︎";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-6px,-50%);
	transition: 0.3s;
	opacity: 1;
	color: #557EC0;
}
.news .more .more_btn p{
	font-family: "Outfit", sans-serif;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 171.429% */
	letter-spacing: 0.7px;
	color: #fff;
}
.news .more .more_btn:hover p{
	color: #333;
}
.news .news_list{
	margin: 32px 0px 0px;
}
.news .news_list a{
	width: 100%;
	display: block;
	padding: 20px 0px;
	border-bottom: solid 1px #CCCCCC;
	position: relative;
}
.news .news_list a::after{
	content: "▶︎";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-30px,-50%);
	transition: 0.3s;
	opacity: 0;
	color: #557EC0;
}
.news .news_list a:hover{
	opacity: 1;
}
.news .news_list a:hover::after{
	content: "▶︎";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-20px,-50%);
	opacity: 1;
}
.news .news_list a:first-child{
	border-top: solid 1px #CCCCCC;
}
.news .news_list a dl{
	display: flex;
	flex-wrap: wrap;
}
.news .news_list a dl dt{
	color: #878FCE;
	font-family: Roboto;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 28px; /* 200% */
	letter-spacing: 0.28px;
	margin-right: 20px;
}
.news .news_list a dl dd{
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 186.667% */
	letter-spacing: 0.3px;
}

.contents2{
	padding: 50px 16vw 10px;
	background: url("../img/index/cnt2_bg.png");
	background-size: cover;
}
.contents2 .cnt .column .img{
	position: relative;
}
.contents2 .cnt .column .img .more_btn{
	/*position: absolute;
    top: -6px;
    right: 0;*/
	display: block;
	position: relative;
    width: 150px;
    border-radius: 5px;
    padding: 8px 0px;
    text-align: center;
    background: #557EC0;
	border: solid 1px #557EC0;
	transition: 0.3s;
	margin-top: 20px;
}
.contents2 .cnt .column .img .more_btn::after{
	content: "▶︎";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0px,-50%);
	color: #557EC0;
	opacity: 0;
	transition: 0.3s;
	font-size: 0.8rem;
}
.contents2 .cnt .column .img .more_btn:hover{
	background:rgba(255,255,255,1);
	border: solid 1px #557EC0;
	opacity: 1;
}
.contents2 .cnt .column .img .more_btn:hover::after{
	transform: translate(-6px,-50%);
	opacity: 1;
	color: #557EC0;
}
.contents2 .cnt .column .img .more_btn p {
    font-family: Outfit;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.7px;
    color: #fff;
}
.contents2 .cnt .column .img .more_btn:hover p{
	color: #333;
}
.contents2 .cnt .column .img h4{
	font-size: 2.4rem;
	font-style: normal;
	font-weight: 700;
	line-height: 44px; /* 183.333% */
	letter-spacing: 1.2px;
	color: #333;
	margin-bottom: 38px;
}
.contents2 .cnt .column .img h4::before{
	background: #333;
}
.contents2 .cnt .column .img p{
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px; /* 173.333% */
	letter-spacing: 0.75px;
	color: #333;
}
.contents2 .cnt .column .img p.ttl{
	font-size: 3rem;
	font-style: normal;
	font-weight: 700;
	line-height: 44px; /* 146.667% */
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}
.contents2 .cnt .column .img .img_img{
	width: 100%;
	height: 260px;
	margin: 30px 0px 0px;
	position: relative;
}
.contents2 .cnt .column .img .img_img .image {
 	position: absolute;
	top: 0;
  	left: 0;
  	width: 100%;
  	height: auto;
  	object-fit: cover;
  	opacity: 0;
  	transition: opacity 0.3s ease;
}
.contents2 .cnt .column .img .img_img .image img{
	width: 100%;
}
.contents2 .cnt .column .img .img_img .image.active {
  	opacity: 1;
}
.contents2 .cnt .column .txt a{
	position: relative;
	display: block;
	padding: 37px 30px;
	background: rgba(255, 255, 255, 0);
  	overflow: hidden;
  	z-index: 0;
  	transition: color 0.3s ease;
	border-bottom: solid 1px #fff;
	background: rgba(85, 126, 192,0.5);
}
.contents2 .cnt .column .txt a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background: rgba(255, 255, 255, 0.1);
	z-index: -1;
	transition: width 0.4s ease;
}
.contents2 .cnt .column .txt a::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 18px;
	height: 17px;
	background: url("../img/common/arrow_icon3.svg");
	background-size: 100%;
	transform: translate(-30px,-50%);
	transition: 0.3s;
	color: #fff;
	opacity: 0;
}
.contents2 .cnt .column .txt a:hover::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 18px;
	height: 17px;
	background: url("../img/common/arrow_icon3.svg");
	background-size: 100%;
	transform: translate(-20px,-50%);
	transition: 0.3s;
	color: #fff;
	opacity: 1;
}
.contents2 .cnt .column .txt a:hover{
	opacity: 1;
	background: none;
}
.contents2 .cnt .column .txt a:hover::before {
  	width: 100%;
	background: rgba(255, 255, 255, 0.1);
}
.contents2 .cnt .column .txt a:first-child{
	border-top: solid 1px #fff;
}
.contents2 .cnt .column .txt a .tab{
	display: none;
}
.contents2 .cnt .column .txt a p{
	color: #fff;
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px; /* 150% */
	letter-spacing: 1px;
}
.contents2 .cnt .column .txt a:hover p{
	color: #333;
}
.contents2 .cnt .column .txt a p .pc{
	display: block;
}

.contents3{
	padding: 100px 16vw;
}
.companyinfo .column{
	margin-bottom: 0px;
}
.companyinfo .link_btn2{
	padding: 45px 30px;
}
.companyinfo .link_btn2:hover::after{
	transform: translate(-27px, -50%);
}
.companyinfo a{
	background: #fff;
}
.companyinfo a:hover{
	background: url("../img/lower/info/bg1.png");
	background-size: cover;
	background-position: center;
}
.companyinfo a:nth-child(2):hover{
	background: url(../img/lower/info/bg4.png);
	background-size: cover;
	background-position: center;
}
.companyinfo a:nth-child(3):hover{
	background: url(../img/lower/info/bg5.png);
	background-size: cover;
	background-position: center;
}

.pickup figure{
	display: block;
	width: 100%;
	aspect-ratio: 400 / 240;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 0 1px 0px #000000;
	border-radius: 13px;
}
.pickup .column.col3 .col{
	width: calc(100% / 3 - 20px);
	flex-wrap: wrap;	
	justify-content: start;	
}	
.pickup .column.col3 .col p{	
	font-size: 14px;	
	margin: 6px 0 0;
}
@media only screen and (min-width: 1840px) {
	.contents2 .cnt .column .img .img_img{
		min-height: 310px;
	}
	.contents2 .cnt .column .img .img_img .image{
		height: 100%;
		object-fit: unset;
	}
}
@media only screen and (max-width: 1024px) {
	.main .main_ttl{
		padding: 0px 20px;
	}
	.contents .column.col3{
		gap:0;
	}
	.contents .column.col3 .col{
		width: calc(100% / 3);
	}
	.news .more .more_btn::after{
		opacity: 1;
		color: #fff;    
		transform: translate(-6px, -50%);
	}
	.news .news_list a::after{
		opacity: 1;
		transform: translate(-20px, -50%);
	}
	.contents2{
		padding: 60px 20px 60px;
		background: url("../img/index/cnt2_bg_sp.png");
		background-size: cover;
	}	
	.contents2 .column{
		display: block;
	}
	.contents2 .cnt .column .img{
		width: 100%;
		min-width: 100%;
		margin-bottom: 60px;
	}
	.contents2 .cnt .column .img h4{
		font-size: 2rem;
		font-style: normal;
		font-weight: 700;
		line-height: 44px; /* 220% */
		letter-spacing: 1px;
	}
	.contents2 .cnt .column .img h4::before{
		top: 50%;
		transform: translate(0, -50%);
	}
	.contents2 .cnt .column .img p.ttl{
		padding-left: 0px;
		font-size: 2.6rem;
		font-style: normal;
		font-weight: 700;
		line-height: 44px; /* 169.231% */
		letter-spacing: 1.3px;
	}
	.contents2 .cnt .column .img p.ttl::before{
		display: none;
	}
	.contents2 .cnt .column .img p{
		font-style: normal;
		font-weight: 400;
		line-height: 26px; /* 173.333% */
		letter-spacing: 0.75px;
	}
	.contents2 .cnt .column .img .img_img{
		display: none;
	}
	.contents2 .cnt .column .img .more_btn::after{
		opacity: 1;
		color: #fff;
		transform: translate(-6px, -50%);
	}
	.contents2 .column.col2 .col{
		width: 100%;
	}
	.contents2 .cnt .column .txt a{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 20px;
	}
	.contents2 .cnt .column .txt a .tab{
		display: block;
		margin-right: 20px;
	}
	.contents2 .cnt .column .txt a p{
		font-size: 1.6rem;
		font-style: normal;
		font-weight: 400;
		line-height: 24px; /* 150% */
		letter-spacing: 0.8px;
	}
	.contents2 .cnt .column .txt a p .pc{
		display: none;
	}
	.contents2 .cnt .column .txt a::after{
		opacity: 1;
		width: 30px;
		height: 28px;
		background-size: 100%;
	}
	
	.contents3{
		padding: 60px 20px 60px;
	}
	.contents3 .column.col3 a{
		padding: 25px 36px 25px 16px;
		height: 100px;
	}
	.link_btn2::after{
		opacity: 1;
	}
	
	.companyinfo a p{
		color: #557EC0;
	}
	.companyinfo a:hover{
		background: none;
	}
	.companyinfo a:nth-child(2):hover{
		background: none;
	}
	.companyinfo a:nth-child(3):hover{
		background:none;
	}
}

@media only screen and (max-width: 767px) {
	.main {
		padding: 61px 20px 20px;
		height: calc(100vh - 61px);
	}
	.main a.emergency{
		width: 90%;
		top: 64px;
	}
	.main .main_ttl{
		padding: 0;
	}
	.main .main_ttl h1{
		font-size: 2.8rem;
		font-style: normal;
		font-weight: 700;
		line-height: 50px; /* 147.059% */
		letter-spacing: 1.7px;
		margin-bottom: 18px;
	}
	.main .main_ttl p{
		font-size: 1.5rem;
		font-style: normal;
		font-weight: 500;
		line-height: 26px; /* 173.333% */
		letter-spacing: 2.25px;
	}
	
	.contents .column.col3 .col{
		width: 100%;
		padding: 0px;
		margin-bottom: 30px;
	}
	.contents .column.col3 .col:last-child{
		margin-bottom: 0px;
	}
	
	.contents2{
		padding: 60px 20px;
	}
	.contents2 .column{
		margin-bottom: 0px;
	}
	.contents2 .cnt .column .img h4{
		margin-bottom: 20px;
	}
	.contents2 .cnt .column .img p.ttl{
		margin-bottom: 10px;
	}
	.contents2 .cnt .column .img .more_btn{
		position: relative;
		display: block;
		margin: 38px 0px 0px;
	}
	.contents2 .cnt .column .txt a p .pc{
		display: block;
	}
	.contents2 .cnt .column .txt a .tab{
		width: 90px;
	}
	.contents2 .cnt .column .txt a::after{
		width: 20px;
		height: 19px;
		transform: translate(-10px, -50%);
	}
	.contents2 .cnt .column .txt a{
		padding: 20px 10px;
	}
	
	.news .more .more_btn{
		position: relative;
		margin: 50px auto 0px;
		display: block;
		top: 0;
	}
	.news .news_list a::after{
		display: none;
	}
}