@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

.lp_font_pjs{
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.lp_screen{
	display: block;
}
.pcNone {
	display:none;
}
.lp_wp{
	font-family: "Plus Jakarta Sans";
	font-size: 18px;
	line-height: 2;
	color: #282D3C;
}
.lp_wp *{
	box-sizing: border-box;
	word-wrap: break-word;
}
.lp_wp a{
	transition: 0.3s;
}
.lp_wide{
	max-width: 472px;
	width: 100%;
	margin: 0 auto;
}
@media only screen and (min-width: 0) and (max-width: 639px) {
	.spNone {
		display:none!important;
	}
	.pcNone {
		display:block!important;
	}
	.lp_screen{
		display: inline;
	}
	.lp_wide{
		padding: 0 8vw;
	}
}

.lp_fade,.lp_fade_i{
	transition: all 1000ms;
	opacity: 0;
	visibility: hidden;
	transform: translate(0px, 40px);
}
.lp_fadein{
	opacity: 1;
	visibility: visible;
	transform: translate(0px, 0px);
}
/* == / modal == */
.lp_modal_wp,.lp_modal_over{
	position: fixed;
	z-index: 200;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.lp_modal_wp{
	display: none;
	opacity: 0;
}
.lp_modal_over{
	background: rgba(0,0,0,0.6);
}
.lp_modal_container{
	position: relative;
	z-index: 201;
	max-height: 85vh;
    max-width: 838px;
	width: calc(100% - 30px);
	display: flex;
	flex-direction: column;
}
.lp_modal_close{
	position: absolute;
	z-index: 202;
	right: -0.2em;
	top: -2.2em;
	width: 2em;
	height: 2em;
	cursor: pointer;
	font-size: 150%;
}
.lp_modal_close:before,.lp_modal_close:after{
	content: '';
	position: absolute;
	top: 0.9em;
	left: 0.25em;
	width: 75%;
	height: 0.1em;
	background: #fff;
}
.lp_modal_close:before{
	transform: rotate(45deg);
}
.lp_modal_close:after{
	transform: rotate(-45deg);
}
.lp_modal_content{
	display: none;
}
.lp_modal_body{
	overflow-y: auto;
    position: relative;
}
.lp_main{
	margin: 0 auto 60px;
	text-align: center;
}
.lp_main img{
	max-width: 100%;
}
.lp_menu{
	margin-bottom: 60px;
	padding: 0 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.lp_menu_btn{
	position: relative;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 0 10px;
	padding: 0 3% 2px 0;
	height: 80px;
	border-radius: 40px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	color: #535A6E;
	background: #EFF2F6;
}
.lp_menu_btn::before{
	content: '';
	position: absolute;
	z-index: 2;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #0F1ED2;
	transition: 0.3s;
}
.lp_menu_btn::after{
	content: '';
	position: absolute;
	z-index: 3;
	top: 50%;
	right: 40px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-65%) rotate(135deg);
	transition: 0.3s;
}
.lp_menu_btn:hover{
	background: #0F1ED2;
	color: #fff;
}
.lp_menu_btn:hover::before{
	background: #fff;
}
.lp_menu_btn:hover::after{
	border-color: #0F1ED2;
}
.lp_nav{
	position: fixed;
	z-index: 130;
	left: 0;
	top: 0;
	width: 100%;
	padding-top: 20px;
	height: 90px;
	border-top: 1px solid #ccc;
	background: rgba(255, 255, 255, .9);
	opacity: 0;
	pointer-events: none;
	transition: 0.3s;
}
.lp_nav.is_on{
	opacity: 1;
	pointer-events: auto;
}
.lp_nav_box{
	position: relative;
	max-width: 940px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.lp_nav_box::after{
	content: '';
	position: absolute;
	z-index: 1;
	left: 66px;
	bottom: 0;
	width: calc(100% - 130px);
	height: 1px;
	background: currentcolor;
}
.lp_nav_btn{
	position: relative;
	width: 130px;
	padding-bottom: 15px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: #535A6E;
	text-decoration: none;
}
.lp_nav_btn::before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 2;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentcolor;
	transform: translateX(-50%) translateY(50%);
}
.lp_nav_btn::after{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 3;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid currentcolor;
	transform: translateX(-50%) translateY(50%);
	opacity: 0;
	transition: 0.3s;
}
.lp_nav_btn.is_on,
.lp_nav_btn:hover{
	color: #2C69FF;
}
.lp_nav_btn.is_on::before,
.lp_nav_btn:hover::before{
	width: 12px;
	height: 12px;
}
.lp_nav_btn.is_on::after,
.lp_nav_btn:hover::after{
	opacity: 1;
}

.lp_sec{
	position: relative;
	overflow: hidden;
	padding: 10.5vw 0 130px;
}
.secA{
	position: relative;
	overflow: hidden;
	padding: 10.5vw 0 130px;
	background: url(../img/lead_bg_pc.webp) top center no-repeat;
	background-size: cover;
}
.en_sec{
	position: absolute;
	top: -1.2vw;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	opacity: 0.5;
}
.en_sec img{
	width: 100%;
}
.h301{
	font-size: 3.75vw;
	text-align: center;
	color: #fff;
	margin: 0 0 20px;
	line-height: 1.6;
	font-weight: 500;
}
.lp_lead{
	margin: 0 0 20px;
	font-size: 2.5vw;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.h301 + .lp_lead{
	margin-top: -18px;
}
.lp_txt{
	color: #fff;
	font-size: 1.2vw;
	text-align: center;
	line-height: 2;
	margin-bottom: 0;
}
.secA .lp_txt{
	font-weight: 300;
}
.secB{
	background: url(../img/service_bg_pc.webp) top center no-repeat;
	background-size: cover;
}
.lp_mb50{
	margin-bottom: 50px;
}
.lp_df{
	display: flex;
	justify-content: space-between;
}
.lp_wrap{
	width: 84%;
	margin: 0 auto;
}
.service_list li{
	width: 48.5%;
}
.service_list li a{
	position: relative;
	display: block;
	background: #282d3c;
	border-radius: 20px;
	padding: 2vw 2vw 2vw 2vw;
	color: #fff;
	text-decoration: none;
}
.service_list li a>span{
	font-size: 0.95vw;
	font-weight: 700;
	margin-bottom: 15px;
	position: relative;
	padding-left: 15px;
}
.service_list li a>span::before{
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: #abc3ff;
	border-radius: 4px;
}
.service_list li a p{
	font-size: 2vw;
	font-weight: 500;
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.service_list li a .ico_arrow{
	background: url(../img/arrow_off.webp) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 2.52vw;
	height: 2.52vw;
}
.service_list li a:hover{
	background: rgba(255,255,255,0.6);
	color: #282D3C;
}
.service_list li a:hover>span::before{
	content: "";
	position: absolute;
	background-color: #0f1ed2;
}
.service_list li a:hover .ico_arrow{
	background-image: url(../img/arrow_on.webp);
}
.secC{
	background: url(../img/inter_bg_pc.webp) top center no-repeat;
	background-size: cover;
}
.inter_flex{
	width: 84%;
	align-items: stretch;
}
.inter_col{
	width: 31.2%;
	position: relative;
	border-radius: 1.6vw;
	overflow: hidden;
}
.inter_flex picture{
	display: block;
	line-height: 0;
	margin: 0;
	padding: 0;
}
.inter_col img{
	width: 100%;
}
a.inter_col::after{
	content: "";
	position: absolute;
	bottom: 40px;
	right: 40px;
	width: 48px;
	height: 48px;
	background: url(../img/arrow_on.webp) 0 0 no-repeat;
}
.inter_thum img{
	width: 100%;
}
.inter_info{
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 0 0 2.2vw 2vw;
	top: 0;
	left: 0;
	color: #fff;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-top: auto;
}
.inter_info::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(40, 45, 60, 1) 0%, rgba(40, 45, 60, 0.5) 55%, rgba(0, 0, 0, 0) 100%);
	background-size: cover;
	opacity: 0.7;
	border-radius: 25px;
}
.inter_txt{
	z-index: 9;
}
.inter_txt span{
	font-size: 1.8rem;
}
.inter_txt span em{
	font-size: 1.4rem;
	position: relative;
	top: -1px;
	margin-right: 3px;
}
.inter_info h4{
	margin: 0.6vw 0 0.6vw 0;
	font-size: 1.56vw;
	line-height: 1.7;
}
.inter_info p{
	margin-bottom: 0;
	font-size: 1.25vw;
	line-height: 1.5;
}
.inter_col:hover {
	opacity: 1;
}
.inter_col:hover .inter_info::before{
	background: linear-gradient(0deg, rgba(44, 105, 255, 1) 0%, rgba(203, 250, 244, 0) 100%);
}
.secD{
	background: url(../img/strengths_bg_pc.webp) top center repeat-y;
	background-size: 100% auto;
	margin-bottom: -11px;
	color: #fff;
}
.secD .en_sec{
	opacity: 1;
}
.f_black{
	color: #282D3C;
}
.infra_img01 img{
	width: 100%;
}
.secE{
	background: url(../img/service_bg_pc.webp) top center no-repeat;
	background-size: cover;
}
.lp_note01{
	font-size: 0.94vw;
	text-align: center;
	margin-top: 10px;
	font-weight: 600;
}
.streng_flex{
	width: 84%;
	margin: 80px auto 0;
	color: #fff;
}
.streng_col{
	width: 31%;
	text-align: center;
}
.streng_ico{
	max-width: 180px;
	margin: 0 auto 30px;
}
.streng_ico img{
	width: 100%;
}
.streng_num{
	width: 78%;
	margin: 0 auto 15px;
}
.streng_num img{
	width: 100%;
}
.streng_col p{
	font-size: 0.95vw;
	text-align: left;
	margin-bottom: 0;
}
.secF{
	background: url(../img/inter_bg_pc.webp) top center no-repeat;
	background-size: cover;
	color: #282D3C;
}
.mainte_flex {
	margin-top: 80px;
}
.mainte_flex li{
	width: 48.5%;
	color: #fff;
}
.mainte_thum{
	margin-bottom: 10px;
}
.mainte_thum img{
	width: 100%;
}
.mainte_flex li h4{
	margin: 0 0 8px;
	font-size: 1.9vw;
}
.mainte_flex li p{
	font-size: 0.95vw;
	font-weight: 400;
	margin-bottom: 0;
}
.infra_splide_wp{
	position: relative;
}
#infra_splide{
	position: absolute;
	right: 3.33vw;
	bottom: 3.33vw;
	width: 43.68vw;
}
#infra_splide .splide__list{
	align-items: stretch;
}
.infra_item{
	padding: 1.15vw 2.1vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #282D3C;
	color: #fff;
	border-radius: 1.57vw;
}
.infra_item img{
	max-width: 100%;
}
.infra_item_pic{
	width: 35.6%;
	line-height: 0;
}
.infra_item_text{
	width: 59%;
	font-size: 0.84vw;
	line-height: 2;
}
.infra_item_text h3{
	margin: 0 0 1vw;
	font-size: 1.57vw;
	font-weight: 700;
	line-height: 1.2;
}

.lp_modal_body .infra_item{
	padding: 60px 40px;
	border-radius: 30px;
}
.lp_modal_body .infra_item_text{
	font-size: 16px;
}
.lp_modal_body .infra_item_text h3{
	margin: 0 0 20px;
	font-size: 30px;
}

.infra_note10{
	margin: 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
}
.infra_img01>div{
	position: absolute;
	z-index: 3;
	width: 1.51vw;
	height: 2.6vw;
	width: 1.47vw;
	height: 5vw;
	cursor: pointer;
	transition: 0.3s;
}
.infra_img01>div::before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 2.6vw;
	background: url(../img/infra_mark.webp) no-repeat;
	background-size: 100% 100%;
	transition: 0.3s;
}
.infra_img01>div:hover::before,
.infra_img01>div.is_on::before{
	transform: scale(2);
	transform-origin: 50% 100%;
	background-image: url(../img/infra_mark_on.webp);
}
.infra_img01>div:hover .infra_mark,
.infra_img01>div.is_on .infra_mark{
	color: #FF8C00;
}
.infra_mark{
	position: absolute;
	left: 50%;
	bottom: 0;
	height: 1.9vw;
	padding: 0 1.2vw;
	background: #fff;
	color: #0F1ED2;
	border: 1px solid currentcolor;
	border-radius: 0.95vw;
	font-size: 0.84vw;
	line-height: 1.2;
	font-weight: 700;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translateX(-50%);
	transition: 0.3s;
}
.infra_pos01{
	left: 12vw;
	top: 24.4vw;
}
.infra_pos02{
	left: 31.6vw;
	top: 32vw;
}
.infra_pos03{
	left: 48.2vw;
	top: 23.5vw;
}
.infra_pos04{
	left: 74.8vw;
	top: 26.3vw;
}
.infra_pos05{
	left: 86vw;
	top: 21.7vw;
}
#infra_splide .splide__arrow{
	background: #0F1ED2;
	width: 2.52vw;
	height: 2.52vw;
	opacity: 1;
}
#infra_splide .splide__arrow svg{
	fill: #fff;
	width: 1.2vw;
	height: 1.2vw;
}
#infra_splide .splide__arrow:hover{
	opacity: 0.8;
}
#infra_splide .splide__arrow--prev{
	left: 0;
	transform: translateX(-50%) translateY(-50%);
}
#infra_splide .splide__arrow--next{
	right: 0;
	transform: translateX(50%) translateY(-50%);
}
.lp_en_scroll {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
}
.lp_en_scroll_inner {
	display: inline-flex;
	align-items: center;
	animation: scroll-left 60s linear infinite;
}
.lp_en_scroll_inner p {
	margin: 0;
	padding-right: 150px;
	font-size: 10.5vw;
	font-weight: 700;
	line-height: 1;
	color: rgba(255,255,255,0.5);
}
.lp_scr_serv .lp_en_scroll_inner{
	animation-duration: 40s;
}
.lp_scr_inter .lp_en_scroll_inner{
	animation-duration: 48s;
}
.lp_scr_infra .lp_en_scroll_inner{
	animation-duration: 68s;
}
.lp_scr_str .lp_en_scroll_inner{
	animation-duration: 52s;
}
.lp_scr_maint .lp_en_scroll_inner{
	animation-duration: 64s;
}
.lp_en_scroll{
	display: none;
}
.lp_en_pc{
	text-align: center;
	margin: 0;
	font-size: 8.5vw;
	font-weight: 700;
	line-height: 1;
	color: rgba(255,255,255,0.5);
}
.lp_scr_infra + .lp_en_pc{
	color: rgba(255,255,255,0.3);
}
#Strengths{
	color: #fff;
}
.lp_int_hei01{
	min-height: 9.6vw;
}

@keyframes scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
@media only screen and (max-width: 1400px) {
	.lp_menu_btn{
		font-size: 1.3vw;
	}
	.lp_menu_btn::before{
		right: 15px;
		width: 18px;
		height: 18px;
	}
	.lp_menu_btn::after{
		right: 21px;
		width: 6px;
		height: 6px;
	}
	
}

@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.lp_screen{
		display: inline;
	}
	.lp_menu{
		margin-bottom: calc(60px - 5vw);
		flex-wrap: wrap !important;
		justify-content: space-between;
		padding: 0 5vw;
	}
	.lp_menu_btn{
		width: 48.5%;
		height: 10vw;
		margin: 0 0 5vw 0;
		padding: 0 8vw 0 5vw;
		border-radius: 5vw;
		font-size: 3.6vw;
		flex: none;
		justify-content: flex-start;
	}
	.lp_menu_btn::before{
		right: 10px;
		width: 19px;
		height: 19px;
	}
	.lp_menu_btn::after{
		right: 16px;
		width: 7px;
		height: 7px;
	}
	.lp_nav{
		height: 17vw;
		padding-top: 3vw;
	}
	.lp_nav_box{
		justify-content: center;
	}
	.lp_nav_btn{
		padding-bottom: 3vw;
		width: 17.2vw;
		font-size: 2.56vw;
		white-space: nowrap;
	}
	.lp_nav_box::after{
		left: 15.8vw;
		width: calc(100% - 31vw);
	}
	.lp_mb40sp{
		margin-bottom: 40px;
	}
	.lp_main img{
		width: 100%;
	}
	.lp_sec {
		padding: 14vw 8vw 50px;
	}
	.secA{
		padding: 14vw 8vw 50px;
		background: url(../img/lead_bg_sp.webp) top center no-repeat;
		background-size: cover;
	}
	.secB{
		background: url(../img/service_bg_sp.webp) top center no-repeat;
		background-size: cover;
	}
	.secC{
		background: url(../img/inter_bg_sp.webp) top center no-repeat;
		background-size: cover;
	}
	.secE{
		background: url(../img/service_bg_sp.webp) top center no-repeat;
		background-size: cover;
	}
	.secF{
		background: url(../img/inter_bg_sp.webp) top center no-repeat;
		background-size: cover;
	}
	.lp_wrap{
		width: 100%;
	}
	.en_sec{
		position: static;
		margin-bottom: 10vw;
		width: 100%;
		transform: translateX(0);
	}
	.en_sec img{
		width: 100%;
	}
	.streng_ico img{
		width: 100%;
	}
	.h301{
		font-size: 8vw;
		text-align: left;
	}
	.lp_txt{
		font-size: 4.6vw;
		text-align: left;
		line-height: 1.9;
	}
	.secA .lp_txt{
		font-size: 5vw;
	}
	.lp_df{
		display: block;
	}
	.service_list li{
		width: 100%;
	}
	.service_list li:first-child{
		margin-bottom: 30px;
	}
	.service_list li a{
		padding: 25px 25px 60px;
	}
	.service_list li a>span{
		font-size: 1.4rem;
	}
	.service_list li a p{
		font-size: 6vw;
		line-height: 1.5;
		letter-spacing: 0.04em;
	}
	.service_list li a .ico_arrow{
		position: absolute;
		left: 25px;
		bottom: 25px;
		width: 30px;
		height: 30px;
		background-size: 100% 100%;
	}
	.service_list li a:hover .ico_arrow{
		background-size: 100% 100%;
	}
	.inter_col{
		display: block;
		width: 100%;
		margin-bottom: 30px;
		overflow: hidden;
		border-radius: 6.5vw;
	}
	.inter_col:last-child{
		margin-bottom: 0;
	}
	.inter_col::after{
		width: 30px;
		height: 30px;
		background-size: 100% 100%;
		left: 10%;
		bottom: 10%;
	}
	.inter_info{
		padding: 0 0 95px 10%;
	}
	.inter_info::before {
		background: linear-gradient(0deg, rgba(40, 45, 60, 1) 0%, rgba(40, 45, 60, 0.5) 55%, rgba(255, 255, 255, 0.1) 100%);
		background-size: cover;
	}
	.inter_txt span{
		font-size: 1.6rem;
		margin-bottom: 5px;
		display: inline-block;
	}
	.inter_txt span em{
		font-size: 1.4rem;
	}
	.inter_info h4{
		margin: 1vw 0 2vw;
		font-size: 5.6vw;
	}
	.inter_info p{
		font-size: 4.3vw;
	}
	.infra_img01{
		width: calc(100% + 16vw);
		margin-left: -8vw;
		margin-right: -8vw;
	}
	.secE .en_sec{
		opacity: 0.5;
	}
	.lp_note01{
		font-size: 3.5vw;
		text-align: left;
		font-weight: normal;
		margin: 0;
	}
	.streng_flex{
		width: 100%;
		margin: 40px auto 0;
	}
	.streng_col{
		width: 100%;
		margin-bottom: 30px;
	}
	.streng_col:last-child{
		margin-bottom: 0;
	}
	.streng_ico{
		width: 47%;
		margin: 0 auto 20px;
	}
	.streng_num{
		width: 72%;
	}
	.streng_col p{
		font-size: 4.6vw;
	}
	.mainte_flex{
		margin-top: 40px;
	}
	.mainte_flex li{
		width: 100%;
	}
	.mainte_flex li:first-child{
		margin-bottom: 40px;
	}
	.mainte_thum{
		margin-bottom: 10px;
	}
	.mainte_flex li h4{
		font-size: 6.15vw;
	}
	.mainte_flex li p{
		font-size: 4.5vw;
		font-weight: 300;
	}
	.infra_item{
		padding: 30px;
		display: block;
		border-radius: 20px;
	}
	.infra_item_pic{
		margin-bottom: 30px;
		width: 100%;
		border-radius: 20px;
		overflow: hidden;
	}
	.infra_item_text{
		width: 100%;
		font-size: 4.1vw;
	}
	.infra_item_text h3{
		margin-bottom: 15px;
		font-size: 6.15vw;
	}
	#infra_splide{
		margin-top: 35px;
		margin-bottom: 40px;
		position: relative;
		left: 0;
		top: 0;
		right: auto;
		width: 100%;
	}
	#infra_splide .splide__pagination{
		bottom: -35px;
	}
	#infra_splide .splide__pagination li{
		margin: 0 5px;
	}
	#infra_splide .splide__pagination__page{
		background: #C5CCD9;
		transform: scale(1.2);
	}
	#infra_splide .splide__pagination__page.is-active{
		background: #0F1ED2;
		transform: scale(1.2);
	}
	#infra_splide .splide__arrow{
		top: 30vw;
		width: 10vw;
		height: 10vw;
	}
	#infra_splide .splide__arrow svg{
		width: 4vw;
		height: 4vw;
	}
	.infra_img01>div{
		width: 2vw;
		height: 8.5vw;
	}
	.infra_img01>div::before{
		height: 3.6vw;
	}
	.infra_img01>div.is_on::before{
		transform: scale(2);
		transform-origin: 50% 100%;
		background-image: url(../img/infra_mark_on.webp);
	}
	.infra_img01>div.is_on .infra_mark{
		color: #FF8C00;
	}
	.infra_mark{
		bottom: 0;
		height: 3.6vw;
		font-size: 2vw;
		border-radius: 1.8vw;
	}
	.infra_pos01{
		left: 4vw;
		top: 23.4vw;
	}
	.infra_pos02{
		left: 23.6vw;
		top: 31vw;
	}
	.infra_pos03{
		left: 40.2vw;
		top: 22.5vw;
	}
	.infra_pos04{
		left: 66.8vw;
		top: 25.3vw;
	}
	.infra_pos05{
		left: 78vw;
		top: 20.7vw;
	}
	.lp_en_scroll{
		display: block;
	}
	.lp_en_scroll_inner p{
		padding-right: 20vw;
		font-size: 20vw;
	}
	.lp_en_pc{
		margin-right: -3vw;
		margin-left: -0.3vw;
		font-size: 11.5vw;
		text-align: left;
		line-height: 1.2;
	}
	.secD{
		background-image: url(../img/strengths_bg_sp.webp);
		background-repeat: no-repeat;
		background-size: cover;
	}
	.lp_lead{
		font-size: 8vw;
		text-align: left;
	}
	
}

/* 20260109 */
.lp_main_video {
    position: relative;
    max-width: 1000px;
    height: 100%;
    aspect-ratio: 1000 / 571;
    overflow: hidden;
	margin: 10px auto;
}
.lp_main_video iframe {
    min-width: auto !important;
    min-height: auto !important;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border: none;
}
.video_ttl {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    margin-top: 25px;
    margin-bottom: 0;
}
.video_ttl_notes {
	font-size: 14px;
	line-height: 1;
    margin-top: 15px;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	.lp_main_video {
		height: auto;
	}
	.lp_main_video iframe {
		position: relative;
        top: auto;
        left: auto;
        transform: none;
	}
	.video_ttl {
		font-size: 20px;
	}
}

/* 20260115 */
.site-footer-02 {
	margin: 0;
}












