@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
.bl_ttl_set {
	display: flex;
	flex-flow: column;
	gap: 32px;
	text-align: center;
}
.el_sec_mainTtl {
	order: 2;
	font-size: 22px;
}
.el_sec_subTtl {
	order: 1;
	font-size: 40px;
	position: relative;
}
.el_sec_subTtl::after {
	position: absolute;
	content: "";
	width: 76px;
	height: 7px;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: #9dd4d7;
}
.el_btn{
	width: 280px;
	height: 50px;
	border-radius: 30px;
	display: flex;
	margin: auto;
	justify-content: center;
	align-items: center;
	background: #74babe;
	color: #fff;
	font-size: 20px;
	position: relative;
}
.el_btn::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
	border-style: solid;
	border-width: 5.5px 0 5.5px 9px;
	border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 750px) {
    .el_sec_mainTtl {
	    font-size: 32px;
    }
    .el_sec_subTtl {
	    font-size: 60px;
    }
	.el_btn{
		width: 480px;
		height: 100px;
		border-radius: 60px;
		font-size: 32px;
	}
	.el_btn::after{
		right: 30px;
		border-width: 11px 0 11px 18px;
	}
}
/*=======================================================
MV
=======================================================*/
.ly_mv {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.ly_mv .bl_mv_img {
	position: absolute;
	width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    animation: fadeInOut 20s infinite;
    transition: opacity 0.5s ease-in-out;
	display: flex;
	justify-content: center;
}
.ly_mv .bl_mv_img:first-of-type {
    position: relative;
    animation-delay: 0s;
}
.ly_mv .bl_mv_img:nth-of-type(2) {
	animation-delay: 10s;
}
@keyframes fadeInOut {
    0% { opacity: 0; }
	20% { opacity: 1; }
    50% { opacity: 1; }
	80% { opacity: 0; z-index: 0; }
    100% { opacity: 0; }
}
.ly_mv .bl_mv_conts {
    position: relative;
}
.ly_mv .bl_mv_conts .bl_mv_ttl_set {
    position: absolute;
	top: 80px;
    left: 120px;
	text-shadow: 1px 2px 14px #3b322e;
}
.ly_mv .bl_mv_conts .bl_mv_ttl {
	font-size: 90px;
	line-height: 1.1;
	letter-spacing: 0.06em;
	color: #fff;
	margin-bottom: 16px;
}
.ly_mv .bl_mv_conts .bl_mv_txt {
	font-size: 40px;
	letter-spacing: 0.09em;
	color: #f8c03a;
}
@media screen and (max-width: 750px) {
	.ly_mv .bl_mv_img > img {
		height: 1290px;
		object-fit: cover;
	}
    .ly_mv .bl_mv_conts .bl_mv_ttl_set {
	    top: 480px;
        left: 32px;
    }
}
/*=======================================================
About
=======================================================*/
.bl_about {
	padding: 80px 0;
}
.bl_about_txt {
	text-align: center;
}
@media screen and (max-width: 750px) {
    .bl_about {
	    padding: 64px 0;
    }
}
/*=======================================================
Service
=======================================================*/
.bl_service {
	padding: 80px 0;
	background-color: #ebebeb;
}
.bl_service {
	padding: 80px 0;
}
.bl_service .el_sec_mainTtl {
	margin-bottom: 24px;
}
.bl_service .bl_mediaList {
	display: flex;
	flex-flow: nowrap;
	justify-content: space-between;
	margin-bottom: 64px;
}
.bl_service .bl_media {
	display: flex;
	flex-flow: column;
	width: 490px;
}
.bl_service .bl_media .bl_media_imgWrapper {
	width: 490px;
	margin-bottom: 24px;
}
.bl_service .bl_media .el_media_ttl {
	color: #31a1b9;
	font-size: 20px;
	text-align: center;
	margin-bottom: 8px;
}
@media screen and (max-width : 750px){
    .bl_service {
	    padding: 64px 0;
    }
	.bl_service .bl_mediaList {
	    flex-flow: column;
	    justify-content: center;
	    margin-bottom: 64px;
    }
	.bl_service .bl_media {
	    width: 100%;
    }
	.bl_service .bl_media .bl_media_imgWrapper {
	    width: 100%;
    }
	.bl_service .bl_media .el_media_ttl {
	    font-size: 32px;
}
}
/*=======================================================
Point
=======================================================*/
.bl_point {
	padding: 80px 0;
}
.bl_point .bl_ttl_set {
	color: #fff;
}
.bl_point .bl_card {
	padding: 0;
}
.bl_point .el_card_ttl {
	font-size: 28px;
	color: #9dd4d7;
	margin-bottom: 16px;
}
.bl_point .bl_card_body {
    background-color: #fff;
	height: 220px;
	padding: 20px 24px 26px;
}
.bl_point .el_card_sub_ttl {
    color: #31a1b9;
	font-size: 18px;
	text-align: center;
	margin-bottom: 8px;
}
.bl_point .bl_card_txt {
    font-size: 16px;
}
@media screen and (max-width: 750px) {
    .bl_point {
	    padding: 64px 0;
    }
	.bl_point .ly_cont_inner {
		width: 630px;
	}
	.bl_point .bl_cardUnit {
	    flex-flow: column;
		gap: 40px;
	}
	.bl_point .bl_card {
	    width: 100%;
    }
    .bl_point .el_card_ttl {
	    font-size: 48px;
    }
    .bl_point .bl_card_body {
	    height: 271px;
	    padding: 40px 48px 52px;
    }
    .bl_point .el_card_sub_ttl {
        font-size: 36px;
    }
    .bl_point .bl_card_txt {
        font-size: 26px;
    }
}
/*=======================================================
Products
=======================================================*/
.bl_products {
	padding: 80px 0;
}
.bl_products .bl_cardUnit {
	flex-flow: nowrap;
	margin-bottom: 64px;
}
.bl_products .bl_card {
	background-color: #ebebeb;
	width: 230px;
}
.bl_products .bl_card_imgWrapper {
	width: 141px;
	margin: 0 auto 8px;
}
.bl_products .el_card_ttl {
	font-size: 18px;
	margin-bottom: 0;
}
@media screen and (max-width: 750px) {
    .bl_products {
	    padding: 64px 0;
    }
	.bl_products .ly_cont_inner {
		width: 630px;
	}
	.bl_products .bl_cardUnit {
	    flex-flow: column;
		gap: 64px;
    }
    .bl_products .bl_card {
	    width: 100%;
    }
	.bl_products .bl_card_link {
		padding: 32px;
	}
    .bl_products .bl_card_imgWrapper {
	    width: 282px;
		margin: 0 auto 24px;
    }
    .bl_products .el_card_ttl {
	    font-size: 32px;
    }
}
/*=======================================================
information
=======================================================*/
.bl_info {
	padding: 80px 0;
	background-color: #ebebeb;
}
.bl_info .el_sec_mainTtl {
	font-size: 40px;
	position: relative;
}
.bl_info .el_sec_mainTtl::after {
	position: absolute;
	content: "";
	width: 76px;
	height: 7px;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: #9dd4d7;
}
.bl_info .el_btn {
	margin-top: 64px;
}
@media screen and (max-width: 750px) {
    .bl_info {
	    padding: 64px 0;
    }
    .bl_info .el_sec_mainTtl {
	    font-size: 64px;
    }
}