@charset "UTF-8";

/* ---------------------------------------
  index
-----------------------------------------*/
section {
	padding: 6rem 0 0;
}

@media screen and (max-width: 767px) {
	section {
		padding: 18rem 0 0;
	}
}


/* mv
--------------------------------*/
#sec_mv {
	padding: 0;
}

#sec_mv .img {
	width: 100%;
	height: 40.714285vw;
	min-height: 57rem;
	overflow: hidden;
}

#sec_mv .img a {
	display: block;
	width: 100%;
	height: 100%;
}

#sec_mv .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: .8s cubic-bezier(.8, 0, .4, 1);
	will-change: transform;
}

#sec_mv .mv_slider .slick-dots {
	width: 100%;
	max-width: 140rem;
	padding: 0 1rem;
	display: flex;
	justify-content: flex-end;
	gap: 0 1.2rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5rem;
	margin: 0 auto;
}

#sec_mv .mv_slider .slick-dots li {
	font-size: 0;
}

#sec_mv .mv_slider .slick-dots li button {
	font-size: 0;
	width: 4rem;
	height: .4rem;
	background-color: #fff;
}

#sec_mv .mv_slider .slick-dots li.slick-active button {
	background-color: #005293;
}

@media screen and (min-width: 768px) {
	#sec_mv .img a:hover {
		opacity: 1;
	}

	#sec_mv .img a:hover img {
		transform: scale(1.05);
	}
}

@media screen and (max-width: 767px) {
	#sec_mv .img {
		height: 113.33133vw;
		min-height: inherit;
	}

	#sec_mv .mv_slider .slick-dots {
		max-width: inherit;
		justify-content: center;
		gap: 0 1.5rem;
		position: static;
		margin: 4.2rem auto 0;
	}

	#sec_mv .mv_slider .slick-dots li button {
		background-color: #dcdddd;
	}

	#sec_mv .mv_slider .slick-dots li button {
		width: 5.2rem;
		height: .5rem;
	}
}


/* secttl
--------------------------------*/
#sec_news .secttl {
	flex: 1;
}

#sec_news .txtwrap {
	width: 82rem;
}

#sec_news .list .item {
	border-bottom: .1rem solid #282828;
}

#sec_news .list .item a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 1.75rem 0;
}

#sec_news .list .item .date {
	flex: 0 0 auto;
	min-width: 6em;
	font-weight: 500;
	font-size: 1.6rem;
	padding-left: 1rem;
	margin-right: 1.5rem;
}

#sec_news .list .item .cate {
	flex: 0 0 auto;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.25;
	letter-spacing: 0.05em;
	margin-right: 2.5rem;
}

#sec_news .list .item .cate span {
	display: block;
	min-width: 11rem;
	text-align: center;
	padding: .375em .5em;
	background-color: #008cd6;
	border-radius: 0.2rem;
}

#sec_news .list .item .cate span + span {
	margin-top: .5rem;
}

#sec_news .list .item .ttl {
	line-height: 1.45;
}

#sec_news .btn {
	margin-top: 4rem;
}

@media screen and (min-width: 768px) {
	#sec_news .list .item:first-child a {
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {
	#sec_news {
		padding: 10rem 0 0;
	}

	#sec_news .txtwrap {
		width: 100%;
	}

	#sec_news .list .item {
		border-bottom: 1px solid #282828;
	}

	#sec_news .list .item a {
		display: block;
		padding: 2.8rem 2rem 2rem;
	}

	#sec_news .list .item .date {
		font-size: 3rem;
		min-width: inherit;
		padding-left: 0;
		margin-right: 2.5rem;
	}

	#sec_news .list .item .cate {
		font-size: 2.7rem;
		margin-right: 0;
	}

	#sec_news .list .item .cate span {
		display: inline-block;
		min-width: 20rem;
		padding: .52rem 2.2rem;
		margin: .75rem .75rem .75rem 0;
	}

	#sec_news .list .item .cate span + span {
		margin-top: 0;
	}

	#sec_news .list .item .ttl {
		font-size: 3rem;
		line-height: 1.666;
		margin-top: 1.2rem;
	}

	#sec_news .btn {
		text-align: center;
		margin-top: 7rem;
	}

}


/* PRODUCTS
--------------------------------*/
#sec_products .scrollimg {
	width: 100%;
	height: 18.7rem;
	background-image: url(../img/index/product_img.png);
	background-repeat: repeat-x;
	background-size: auto 100%;
	animation: loop-anime 50s linear infinite;
}

#sec_products .btn {
	margin-top: 2.5rem;
}

@keyframes loop-anime {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -154.6rem 0;
	}
}

@media screen and (max-width: 767px) {
	#sec_products .scrollimg {
		height: 30rem;
		animation: loop-anime-sp 50s linear infinite;
	}

	#sec_products .btn {
		text-align: center;
		margin-top: 4.5rem;
	}
}

@keyframes loop-anime-sp {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -248rem 0;
	}
}


/* links
--------------------------------*/
#sec_links .linkbox + .linkbox {
	margin-top: 1rem;
}

#sec_links .linkbox a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 34rem;
	padding: 6rem 7rem;
	overflow: hidden;
}

#sec_links .linkbox a .img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

#sec_links .linkbox a .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .8s cubic-bezier(.8, 0, .4, 1);
	will-change: transform;
}

#sec_links .linkbox .txtwrap {
	position: relative;
	width: 24rem;
	height: 22rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 2rem;
	z-index: 1;
}

#sec_links .linkbox .txtwrap .ttl {
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	margin-bottom: 1.2rem;
}

#sec_links .linkbox .txtwrap .ttl .en {
	position: relative;
	display: block;
	color: rgba(40, 40, 40, .7);
	font-size: 2.2rem;
	line-height: 1;
	letter-spacing: 0.05em;
	padding-top: 1.3rem;
	margin-top: 1rem;
}

#sec_links .linkbox .txtwrap .ttl .en::before {
	content: "";
	width: 13rem;
	height: .1rem;
	background-color: #282828;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}

#sec_links .linkbox .txtwrap .txt {
	font-weight: 400;
	line-height: 1.6;
}

#sec_links .linkbox .txtwrap .ico {
	display: block;
	width: 2.2rem;
	margin: 1.5rem auto 0;
}

#sec_links .linkbox._about .txtwrap {
	background-color: rgba(0, 82, 147, .85);
}

#sec_links .linkbox._about .txtwrap * {
	color: #fff;
}

#sec_links .linkbox._about .txtwrap .ttl .en {
	color: rgba(255, 255, 255, .7);
}

#sec_links .linkbox._about .txtwrap .ttl .en::before {
	background-color: #fff;
}

#sec_links .linkbox._service .txtwrap {
	background-color: #bababa;
}

#sec_links .linkbox._recruit .txtwrap {
	background-color: rgba(255, 241, 0, .8);
}


@media screen and (min-width: 768px) {
	#sec_links .linkbox a:hover {
		opacity: 1;
		background-size: 110%;
	}

	#sec_links .linkbox a:hover .img img {
		transform: scale(1.05);
	}
}


@media screen and (max-width: 767px) {
	#sec_links .wrap._l {
		width: 100%;
	}

	#sec_links .linkbox a {
		height: 45rem;
		padding: 7.5rem 0;
	}

	#sec_links .linkbox .txtwrap {
		width: 30rem;
		height: 30rem;
		padding: 1rem 2rem 1.5rem;
	}

	#sec_links .linkbox .txtwrap .ttl {
		font-size: 3rem;
		margin-bottom: 1.5rem;
	}

	#sec_links .linkbox .txtwrap .ttl .en {
		font-size: 3rem;
		padding-top: 1.7rem;
		margin-top: 1rem;
	}

	#sec_links .linkbox .txtwrap .ttl .en::before {
		width: 16rem;
		height: 1px;
	}

	#sec_links .linkbox .txtwrap .txt {
		line-height: 1.25;
	}

	#sec_links .linkbox .txtwrap .ico {
		width: 3.2rem;
		margin: 1.5rem auto 0;
	}

	#sec_links .linkbox._about .txtwrap {
		background-color: rgba(0, 82, 147, .9);
	}

	#sec_links .linkbox._service .txtwrap {
		background-color: rgba(179, 179, 179, .8);
	}
}

/* ---------------------------------------
  印刷用
-----------------------------------------*/
@media print {
	#sec_mv {
		height: 50rem;
		background: url(../img/index/mv01_pc.jpg) no-repeat center / cover;
	}

	.mv_slider {
		display: none;
	}
}