/*----------------------------------------------------
mainImg
----------------------------------------------------*/

#mainImg{
	position:relative;
	height:auto !important;
	min-height:0 !important;
	margin-top:0;
	margin-bottom:0;
	padding:0;
	overflow:visible;
	background:#eaf7ff;
	z-index:1;
}

#mainImg::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url("../../img/verification/bg_main_verification_sp.jpg") no-repeat center top / cover;
	z-index:-1;
}

#mainImg .inner{
	position:relative;
	height:auto !important;
	min-height:0 !important;
	padding:40px 20px 30px;
}

#mainImg .mainWrap{
	position:relative;
	height:auto !important;
	min-height:0 !important;
}

#mainImg .main-header{
	position:relative;
	width:100%;
	max-width:none;
	height:auto;
	padding:25px 20px;
	box-sizing: border-box;
	border-radius:10px;
	background:rgba(255,255,255,.9);
}

#mainImg .sub-small{
	margin:0 0 5px;
	padding:0;
	color:#003b70;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
	text-shadow: 2px 2px 2px #ffffff;
}

#mainImg .sub{
	margin:0;
	color:#003b70;
	font-size:3rem;
	font-weight:900;
	line-height:1.35;
	letter-spacing:.03em;
	text-shadow: 2px 2px 2px #ffffff;
}

#mainImg .sub_txt{
	margin:20px 0 0;
	padding:0;
	color:#222;
	font-size:1.4rem;
	font-weight:500;
	line-height:1.8;
	text-shadow: 1px 1px 1px #ffffff;
}

#mainImg .main_btn{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin-top:25px;
}

#mainImg .main_btn .areaBtn{
	margin:0;
}
#mainImg .mainImg_point-txt{
	margin-bottom: 15px;
    font-size: 1.8rem;
    color: #016cb1;
    text-align: center;
    font-weight: bold;
	line-height: 1.4;
}
#mainImg .main_btn .mod_btn01{
	width: 100%;
    max-width: 380px;
    margin: 0 auto;
}

#mainImg .main_btn .mod_btn01_link{
	gap:10px;
	min-height:50px;
	padding:15px 35px 15px 20px;
	background:#fff;
}

/*#mainImg .main_btn .areaBtn:first-child .mod_btn01_link{
	border-color:#016cb1;
	background:#016cb1;
	color:#fff;
}*/

#mainImg .main_btn_icon{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:25px;
}

#mainImg .main_btn_icon img{
	display:block;
	width:100%;
	height:auto;
}

#mainImg .mainImg_bnr{
	position:static;
	width:180px;
	max-width:none;
	margin:25px auto 0;
}

#mainImg .mainImg_bnr a{
	display:block;
}

#mainImg .mainImg_bnr img{
	display:block;
	width:100%;
	height:auto;
}

#mainImg .main_point_list{
	position:static;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	width:100%;
	max-width:none;
	margin:30px 0 0;
	padding:15px;
	box-sizing: border-box;
	border-radius:10px;
	background:rgba(255,255,255,.95);
	transform:none;
}

#mainImg .main_point_item{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	width:auto;
	max-width:none;
	padding:10px;
	border-radius:5px;
	background:#fff;
	text-align:center;
}

#mainImg .main_point_icon{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:45px;
	height:45px;
	margin:0;
}

#mainImg .main_point_icon img{
	display:block;
	width:auto;
	max-width:100%;
	height:auto;
	max-height:100%;
}

#mainImg .main_point_ttl{
	margin:0;
	color:#016cb1;
	font-size:1.4rem;
	font-weight:bold;
	line-height:1.5;
}

#mainImg .main_point_txt{
	margin:5px 0 0;
	color:#222;
	font-size:1.4rem;
	line-height:1.6;
}
#mainImg .mainImg_point-cta{
	position: relative;
    padding: 20px 10px;
    background: #fff4bcc9;
    border-radius: 12px;
}
#mainImg .mainImg_point-cta .area_mark{
	position: absolute;
	max-width: 70px;
    width: 13%;
    top: -10px;
    left: -10px;
}
@media all and (min-width:600px){

	#mainImg{
		height:auto !important;
		min-height:700px !important;
		margin-top:95px;
		overflow:hidden;
	}

	#mainImg::before{
		background-image:url("../../img/verification/bg_main_verification_pc.jpg");
		background-position: right center;
	}

	#mainImg .inner{
		height:auto !important;
		min-height:700px !important;
		padding:70px 0 25px;
	}

	#mainImg .mainWrap{
		display:flex;
		flex-direction:column;
		min-height:605px !important;
	}

	#mainImg .main-header{
		width:55%;
		max-width:650px;
		padding:0;
		border-radius:0;
		background:transparent;
	}

	#mainImg .sub-small{
		margin-bottom:0;
		font-size:2.4rem;
	}

	#mainImg .sub{
		font-size:4.8rem;
		line-height:1.3;
	}

	#mainImg .sub_txt{
		margin-top:20px;
		font-size:1.6rem;
		line-height:1.8;
	}

	#mainImg .main_btn{
		grid-template-columns: repeat(1, minmax(0, 500px));
		gap:15px;
		margin-top:25px;
	}

	#mainImg .main_btn .mod_btn01_link{
		min-height:55px;
		padding:15px 30px 15px 15px;
		font-size:1.4rem;
	}

	#mainImg .mainImg_bnr{
		position:absolute;
		top:180px;
		left:55%;
		width:230px;
		margin:0;
		z-index:2;
	}

	#mainImg .mainImg_bnr a{
		transition:opacity .3s;
	}

	#mainImg .mainImg_bnr a:hover{
		opacity:.8;
	}

	#mainImg .main_point_list{
		grid-template-columns:repeat(4,minmax(0,1fr));
		gap:0;
		margin: 40px 0px;
		padding:20px 25px;
	}

	#mainImg .main_point_item{
		display:grid;
		grid-template-columns:70px minmax(0,1fr);
		align-items:center;
		gap:15px;
		padding:0 10px;
		border-right:1px solid #d8e5f2;
		border-radius:0;
		background:transparent;
		text-align:left;
	}

	#mainImg .main_point_item:first-child{
		padding-left:0;
	}

	#mainImg .main_point_item:last-child{
		padding-right:0;
		border-right:none;
	}

	#mainImg .main_point_icon{
		width: 70px;
        height: 70px;
	}

	#mainImg .main_point_ttl{
		font-size:1.5rem;
	}

	#mainImg .main_point_txt{
		font-size:1.4rem;
		line-height:1.5;
	}

}
/*----------------------------------------------------
problem
----------------------------------------------------*/

#problem .problem_list{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	margin-top:30px;
}

#problem .problem_item{
	position:relative;
	padding:25px 20px 20px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
	box-shadow:0 5px 15px rgba(0,91,172,.08);
}

#problem .problem_num{
	position:absolute;
	top:-15px;
	left:15px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	margin:0;
	border-radius:50%;
	background:#0864b9;
	color:#fff;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1;
}

#problem .problem_head{
	display:grid;
	grid-template-columns:70px minmax(0,1fr);
	align-items:center;
	gap:15px;
	min-height:90px;
}

#problem .problem_img{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

#problem .problem_img img{
	width:60px;
}

#problem .problem_ttl{
	margin:0;
	color:#016cb1;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#problem .problem_txt{
	margin:10px 0 0;
	font-size:1.4rem;
	line-height:1.8;
}
@media all and (min-width:600px){
	#problem {
		margin-top: -50px;
	}
	#problem .problem_list{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
		margin-top:40px;
	}

	#problem .problem_item{
		padding:30px 25px 25px;
	}

	#problem .problem_item:nth-child(4){
		grid-column:1 / 2;
	}

	#problem .problem_item:nth-child(5){
		grid-column:2 / 3;
	}

	#problem .problem_head{
		grid-template-columns:60px minmax(0,1fr);
		min-height:100px;
	}

	#problem .problem_img img{
		width:70px;
	}

	#problem .problem_ttl{
		font-size:1.8rem;
	}
}


/*----------------------------------------------------
mechanism
----------------------------------------------------*/

#mechanism .mechanism_img{
	margin-top:30px;
	padding:15px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
	overflow:auto;
}

#mechanism .mechanism_img img{
	width:100%;
	min-width:700px;
}

#mechanism .mechanism_wrap{
	display:grid;
	grid-template-columns:1fr;
	gap:30px;
	margin-top:50px;
}

#mechanism .mechanism_flow{
	padding:15px;
	border-radius:10px;
	background: #e5f0f7;
}

#mechanism .mechanism_flow_ttl{
	width:fit-content;
	margin:-30px auto 20px;
	padding:10px 20px;
	border-radius:30px;
	background:#016cb1;
	color:#fff;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#mechanism .mechanism_flow_ttl span{
	display:block;
	font-size:1.4rem;
	font-weight:400;
}

#mechanism .mechanism_step{
	display:grid;
	grid-template-columns:50px minmax(0,1fr);
	align-items:center;
	gap:15px;
	padding:20px;
	border:1px solid #bcd6ee;
	border-radius:10px;
	background:#fff;
}

#mechanism .mechanism_step_dark{
	border:none;
	background:linear-gradient(135deg,#06235b 0%,#001c49 100%);
	color:#fff;
}

#mechanism .mechanism_step_blue{
	border:none;
	background:linear-gradient(135deg,#0a62ce 0%,#0652b3 100%);
	color:#fff;
}

#mechanism .mechanism_num{
	display:flex;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	margin:0;
	border-radius:50%;
	background:#016cb1;
	color:#fff;
	font-size:2rem;
	font-weight:bold;
	line-height:1;
}

#mechanism .mechanism_step_dark .mechanism_num,
#mechanism .mechanism_step_blue .mechanism_num{
	background:#fff;
	color:#064fa8;
}

#mechanism .mechanism_step_ttl{
	margin:0;
	color:#0758b5;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#mechanism .mechanism_step_dark .mechanism_step_ttl,
#mechanism .mechanism_step_blue .mechanism_step_ttl{
	color:#fff;
}

#mechanism .mechanism_step_txt{
	margin:5px 0 0;
	font-size:1.4rem;
	line-height:1.7;
}

#mechanism .mechanism_arrow{
	position:relative;
	height:50px;
}

#mechanism .mechanism_arrow::before{
	content:"";
	position:absolute;
	top:5px;
	left:50%;
	width:18px;
	height:25px;
	background:#016cb1;
	transform:translateX(-50%);
}

#mechanism .mechanism_arrow::after{
	content:"";
	position:absolute;
	top:25px;
	left:50%;
	width:0;
	height:0;
	border-top:20px solid #016cb1;
	border-right:18px solid transparent;
	border-left:18px solid transparent;
	transform:translateX(-50%);
}

#mechanism .mechanism_arrow_txt{
	position:absolute;
	top:10px;
	left:calc(50% + 35px);
	margin:0;
	color:#0758b5;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
	white-space:nowrap;
}

#mechanism .mechanism_step_detail{
	grid-template-columns:50px minmax(0,1fr);
}

#mechanism .mechanism_detail_list{
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
	margin:15px 0 0;
	padding:0;
	list-style:none;
}

#mechanism .mechanism_detail_list li{
	padding:15px;
	border-top:1px dashed #a7c7e5;
	font-size:1.2rem;
	line-height:1.7;
	text-align:center;
}

#mechanism .mechanism_step_bottom{
	background:#f8fbff;
}

#mechanism .mechanism_cause_ttl{
	display:flex;
	align-items:center;
	gap:20px;
	margin:0 0 20px;
	color:#0758b5;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#mechanism .mechanism_cause_ttl::before,
#mechanism .mechanism_cause_ttl::after{
	content:"";
	flex:1;
	height:1px;
	background:#016cb1;
}

#mechanism .mechanism_cause_list{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin:0;
	padding:0;
	list-style:none;
}

#mechanism .mechanism_cause_item{
	display:grid;
	grid-template-columns:80px minmax(0,1fr);
	align-items:center;
	gap:20px;
	padding:20px;
	border:1px solid #bcd6ee;
	border-radius:10px;
	background:#fff;
}

#mechanism .mechanism_cause_img{
	display:flex;
	align-items:center;
	justify-content:center;
	width:80px;
	height:80px;
	margin:0;
	border-radius:50%;
	background:#eaf5ff;
}

#mechanism .mechanism_cause_img img{
	display:block;
	width:55px;
	height:55px;
	object-fit:contain;
}

#mechanism .mechanism_cause_item_ttl{
	margin:0;
	color:#0758b5;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#mechanism .mechanism_cause_txt{
	margin:10px 0 0;
	font-size:1.4rem;
	line-height:1.8;
}

@media all and (min-width:600px){

	#mechanism .mechanism_wrap{
		grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
		align-items:start;
		gap:30px;
		margin-top:70px;
	}

	#mechanism .mechanism_flow{
		padding:20px;
	}

	#mechanism .mechanism_flow_ttl{
		margin:-35px auto 20px;
		padding:10px 30px;
		font-size:1.8rem;
	}

	#mechanism .mechanism_flow_ttl span{
		display:inline;
		font-size:1.4rem;
	}

	#mechanism .mechanism_step{
		grid-template-columns:60px minmax(0,1fr);
		gap:20px;
		padding:20px 25px;
	}

	#mechanism .mechanism_num{
		width: 40px;
        height: 40px;
		font-size:2rem;
	}

	#mechanism .mechanism_step_ttl{
		font-size:2rem;
	}

	#mechanism .mechanism_detail_list{
		grid-template-columns:repeat(3,1fr);
		gap:0;
		margin-top:0px;
	}

	#mechanism .mechanism_detail_list li{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:90px;
		padding:5px;
		border-top:none;
		border-right:1px dashed #a7c7e5;
	}

	#mechanism .mechanism_detail_list li:last-child{
		border-right:none;
	}

	#mechanism .mechanism_cause_ttl{
		font-size:2.2rem;
	}

	#mechanism .mechanism_cause_list{
		gap:20px;
	}

	#mechanism .mechanism_cause_item{
		grid-template-columns:100px minmax(0,1fr);
		gap:25px;
		min-height:170px;
		padding:25px;
	}

	#mechanism .mechanism_cause_img{
		width:100px;
		height:100px;
	}

	#mechanism .mechanism_cause_img img{
		width:70px;
		height:70px;
	}

	#mechanism .mechanism_cause_item_ttl{
		font-size:2rem;
	}

}

/*----------------------------------------------------
test_design
----------------------------------------------------*/

#test_design .test_design_img{
	margin-top:30px;
	padding:15px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
	overflow:auto;
}

#test_design .test_design_img img{
	width:100%;
	min-width:700px;
}

#test_design .test_design_point_list{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin-top:30px;
}

#test_design .test_design_point_item{
	display:grid;
	grid-template-columns:70px minmax(0,1fr);
	align-items:center;
	gap:15px;
	padding:20px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
}

#test_design .test_design_point_img{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

#test_design .test_design_point_img img{
	width:60px;
}

#test_design .test_design_point_ttl{
	margin:0 0 5px;
	color:#016cb1;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#test_design .test_design_point_txt{
	margin:0;
	font-size:1.4rem;
	line-height:1.7;
}

#test_design .test_design_lead{
	margin:30px 0 0;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.8;
	text-align:center;
}

#test_design .test_design_lead span{
	color:#006fbd;
}
/*----------------------------------------------------
test_design_compare
----------------------------------------------------*/

#test_design .test_design_compare{
	display:grid;
	grid-template-columns:1fr;
	gap:25px;
	margin-top:30px;
}

#test_design .test_design_compare_item{
	overflow:hidden;
	border:1px solid #c8dff2;
	border-radius:10px;
	background:#fff;
}

#test_design .test_design_compare_ttl{
	margin:0;
	padding:15px 20px;
	color:#fff;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#test_design .test_design_compare_general .test_design_compare_ttl{
	background:#666;
}

#test_design .test_design_compare_support .test_design_compare_ttl{
	background:#016cb1;
}

/* 一般的な検証 */

#test_design .test_design_compare_list{
	display:grid;
	grid-template-columns:1fr;
	gap:55px;
	margin:0;
	padding:30px 20px;
	list-style:none;
	counter-reset:test-design-general;
}

#test_design .test_design_compare_step{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:80px;
	padding:20px;
	border:1px solid #d8d8d8;
	border-radius:10px;
	background:#f7f7f7;
	counter-increment:test-design-general;
}

#test_design .test_design_compare_step::before{
	content:counter(test-design-general,decimal-leading-zero);
	position:absolute;
	top:50%;
	left:20px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:50%;
	background:#777;
	color:#fff;
	font-size:1.4rem;
	font-weight:bold;
	line-height:1;
	transform:translateY(-50%);
}

#test_design .test_design_compare_step:not(:last-child)::after{
	content:"";
	position:absolute;
	top:calc(100% + 30px);
	left:50%;
	width:0;
	height:0;
	border-top:20px solid #888;
	border-right:15px solid transparent;
	border-left:15px solid transparent;
	transform:translateX(-50%);
}

#test_design .test_design_compare_step_ttl{
	margin:0;
	color:#333;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

/* 日新システムズの検証支援 */

#test_design .test_design_support_list{
	display:grid;
	grid-template-columns:1fr;
	gap:50px;
	margin:0;
	padding:30px 20px;
	list-style:none;
}

#test_design .test_design_support_item{
	position:relative;
	display:grid;
	grid-template-columns:45px minmax(0,1fr);
	align-items:center;
	gap:15px;
}

#test_design .test_design_support_item:not(:last-child)::after{
	content:"";
	position:absolute;
	top:calc(100% + 10px);
	left:50%;
	width:0;
	height:0;
	border-top:20px solid #016cb1;
	border-right:15px solid transparent;
	border-left:15px solid transparent;
	transform:translateX(-50%);
}

#test_design .test_design_support_num{
	display:flex;
	align-items:center;
	justify-content:center;
	width:45px;
	height:45px;
	margin:0;
	border-radius:50%;
	background: #016cb1;
    color: #fff;
	font-size:1.4rem;
	font-weight:bold;
	line-height:1;
}

#test_design .test_design_support_head{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:55px;
	padding:10px 15px;
	border:1px solid #b9d8f3;
	border-radius:5px;
	background:#eef7ff;
}

#test_design .test_design_support_ttl{
	margin:0;
	color:#016cb1;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#test_design .test_design_support_txt{
	grid-column:1 / -1;
	margin:0;
	font-size:1.4rem;
	line-height:1.8;#016cb1
}

#test_design .test_design_support_item_point{
	padding:15px;
	border:2px solid #016cb1;
	border-radius:10px;
	background:#f4f9ff;
}

#test_design .test_design_support_item_point .test_design_support_head{
	border:none;
	background:transparent;
}

@media all and (min-width:600px){

	#test_design .test_design_compare{
		grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);
		align-items:stretch;
		gap:20px;
		margin-top:40px;
	}

	#test_design .test_design_compare_item{
		display:flex;
		flex-direction:column;
	}

	#test_design .test_design_compare_ttl{
		font-size:2rem;
	}

	#test_design .test_design_compare_list{
		flex:1;
		align-content:center;
		gap:70px;
		padding:40px 25px;
	}

	#test_design .test_design_compare_step{
		min-height:50px;
	}

	#test_design .test_design_compare_step_ttl{
		font-size:1.8rem;
	}

	#test_design .test_design_support_list{
		flex:1;
		align-content:center;
		gap:35px;
		padding:30px;
	}

	#test_design .test_design_support_item{
		grid-template-columns:50px minmax(180px,.75fr) minmax(0,1.25fr);
		gap:20px;
	}

	#test_design .test_design_support_item:not(:last-child)::after{
		top: calc(100% + 10px);
        left: calc(20px + -20px + (100% - 70px) * .3);
        border-top-width: 15px;
        border-right-width: 10px;
        border-left-width: 10px;
	}

	#test_design .test_design_support_num{
		width:40px;
		height:40px;
	}

	#test_design .test_design_support_head{
		min-height:30px;
	}

	#test_design .test_design_support_ttl{
		font-size: 1.6rem;
	}

	#test_design .test_design_support_txt{
		grid-column:auto;
	}

	#test_design .test_design_support_item_point{
		padding:10px;
	}

}

/*----------------------------------------------------
service
----------------------------------------------------*/

#service .service_list{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	margin-top:30px;
}

#service .service_item{
	position:relative;
	display:flex;
	flex-direction:column;
	padding:30px 20px 20px;
	border:1px solid #c8dff2;
	border-radius:10px;
	background:#fff;
}

#service .service_num{
	position:absolute;
	top:-15px;
	left:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	margin:0;
	border-radius:50%;
	background:#0864b9;
	color:#fff;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1;
	transform:translateX(-50%);
}

#service .service_img{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:10px auto 15px;
}

#service .service_img img{
	width:90px;
}

#service .service_ttl{
	margin:0;
	color:#016cb1;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#service .service_txt{
	margin:10px 0 0;
	font-size:1.4rem;
	line-height:1.7;
	text-align:center;
}

#service .service_box{
	margin-top:20px;
	padding:20px;
	border-radius:10px;
	background:#eef6fd;
}

#service .service_box_ttl{
	margin:0 0 10px;
	color:#016cb1;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#service .service_box_list{
	margin:0;
	padding:0;
	list-style:none;
}

#service .service_box_list li{
	position:relative;
	padding-left:25px;
	font-size:1.4rem;
	line-height:1.8;
}

#service .service_box_list li + li{
	margin-top:5px;
}

#service .service_box_list li::before{
	content:"";
	position:absolute;
	top:.65em;
	left:5px;
	width:10px;
	height:5px;
	border-bottom:2px solid #0864b9;
	border-left:2px solid #0864b9;
	transform:rotate(-45deg);
}

/*----------------------------------------------------
sample
----------------------------------------------------*/

#sample .sample_wrap{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	margin-top:30px;
}

#sample .sample_img{
	padding:15px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
	overflow:auto;
}

#sample .sample_img img{
	width:100%;
	min-width:700px;
}

#sample .sample_cont{
	padding:20px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
}

#sample .sample_ttl{
	margin:0;
	color:#016cb1;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5;
    text-align: center;
}

#sample .sample_txt{
	margin:10px 0 0;
	font-size:1.4rem;
	line-height:1.7;
}

#sample .sample_note{
	margin-top:20px;
	padding:20px;
	border-radius:10px;
	background:#eef6fd;
}

#sample .sample_note_ttl{
	margin:0 0 10px;
	color:#016cb1;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.5;
}

#sample .sample_note_list{
	margin:0;
	padding:0;
	list-style:none;
}

#sample .sample_note_list li{
	position:relative;
	padding-left:25px;
	font-size:1.4rem;
	line-height:1.8;
}

#sample .sample_note_list li + li{
	margin-top:5px;
}

#sample .sample_note_list li::before{
	content:"";
	position:absolute;
	top:.65em;
	left:5px;
	width:10px;
	height:5px;
	border-bottom:2px solid #0864b9;
	border-left:2px solid #0864b9;
	transform:rotate(-45deg);
}

#sample .sample_cta{
	display:grid;
	grid-template-columns:70px minmax(0,1fr);
	align-items:center;
	gap:15px;
	margin-top:30px;
	padding:20px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#f7fbff;
}

#sample .sample_cta_icon{
	display:flex;
	align-items:center;
	justify-content:center;
}

#sample .sample_cta_icon img{
	width:60px;
}

#sample .sample_cta_ttl{
	margin:0;
	color:#016cb1;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#sample .sample_cta_ttl span{
	color:#f28c00;
}

#sample .sample_cta_txt{
	margin:10px 0 0;
	font-size:1.4rem;
	line-height:1.7;
}

#sample .sample_cta .areaBtn{
	grid-column:1 / -1;
}

#sample .sample_cta .mod_btn01{
	margin:0 auto;
}

/*----------------------------------------------------
w_model
----------------------------------------------------*/

#w_model .w_model_img{
	margin-top:30px;
	padding:15px;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
	overflow:auto;
}

#w_model .w_model_img img{
	width:100%;
	min-width:800px;
}

#w_model .w_model_compare{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	margin-top:30px;
}

#w_model .w_model_compare_item{
	overflow:hidden;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
}

#w_model .w_model_compare_ttl{
	margin:0;
	padding:15px 20px;
	color:#fff;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}

#w_model .w_model_compare_ttl_gray{
	background:#666;
}

#w_model .w_model_compare_ttl_blue{
	background:#016cb1;
}

#w_model .w_model_compare_img{
	padding:20px;
	overflow:auto;
}

#w_model .w_model_compare_img img{
	width:100%;
	min-width:500px;
}

#w_model .w_model_compare_list{
	margin:0 20px 20px;
	padding:20px;
	border-radius:10px;
	list-style:none;
}

#w_model .w_model_compare_list_ng{
	border:1px solid #f2b9b9;
	background:#fff7f7;
}

#w_model .w_model_compare_list_ok{
	border:1px solid #bddaf0;
	background:#f2f9ff;
}

#w_model .w_model_compare_list li{
	position:relative;
	padding-left:25px;
	font-size:1.4rem;
	line-height:1.8;
}

#w_model .w_model_compare_list li + li{
	margin-top:5px;
}

#w_model .w_model_compare_list li::before{
	content:"";
	position:absolute;
	top:.45em;
	left:0;
	width:17px;
	height:17px;
	border-radius:50%;
	background:#7b8793;
}

#w_model .w_model_compare_list_ng li::after{
	content:"";
	position:absolute;
	top: 11px;
    left: 4px;
    width: 6px;
    height: 4px;
	border-bottom:2px solid #fff;
	border-left:2px solid #fff;
	transform:rotate(-45deg);
}

#w_model .w_model_compare_list_ng li span::after{
	content:"";
}

#w_model .w_model_compare_list_ok li::before{
	background:#0864b9;
}

#w_model .w_model_compare_list_ok li::after{
	content:"";
	position:absolute;
	top: 11px;
    left: 4px;
    width: 6px;
    height: 4px;
	border-bottom:2px solid #fff;
	border-left:2px solid #fff;
	transform:rotate(-45deg);
}

/*----------------------------------------------------
effect
----------------------------------------------------*/

#effect .effect_list{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin-top:30px;
}

#effect .effect_item{
	gap:15px;
	padding:20px;
	background: #e4f1ff;
    border-radius: 10px;
}

#effect .effect_img{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

#effect .effect_img img{
	width:60px;
}

#effect .effect_ttl{
	margin:0 0 5px;
	color:#006fbd;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#effect .effect_txt{
	margin:0;
	font-size:1.4rem;
	line-height:1.7;
}

/*----------------------------------------------------
strength
----------------------------------------------------*/

#strength .strength_list{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin-top:30px;
}

#strength .strength_item{
	gap:15px;
	padding:20px;
	border-bottom:1px solid #d8e5f2;
}

#strength .strength_img{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}

#strength .strength_img img{
	width:60px;
}

#strength .strength_ttl{
	margin:0 0 5px;
	color:#006fbd;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#strength .strength_txt{
	margin:0;
	font-size:1.4rem;
	line-height:1.7;
}

/*----------------------------------------------------
domain
----------------------------------------------------*/

#domain .domain_list{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	margin-top:30px;
}

#domain .domain_item{
	overflow:hidden;
	border:1px solid #d8e5f2;
	border-radius:10px;
	background:#fff;
}

#domain .domain_ttl{
	display:flex;
	align-items:center;
	justify-content: center;
	gap:10px;
	margin:0;
	margin: 0;
    padding: 30px 20px 10px;
	color:#016cb1;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5;
}

#domain .domain_icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:50%;
	background:#0864b9;
}

#domain .domain_icon img{
	width:50px;
}

#domain .domain_img{
	margin:0;
}

#domain .domain_img img{
	width:100%;
	aspect-ratio:16 / 7;
	object-fit:cover;
}

#domain .domain_txt_list{
	margin:0;
	padding:20px;
	list-style:none;
}

#domain .domain_txt_list li{
	position:relative;
	padding-left:20px;
	font-size:1.4rem;
	line-height:1.8;
}

#domain .domain_txt_list li + li{
	margin-top:5px;
}

#domain .domain_txt_list li::before{
	content:"";
	position:absolute;
	top:.75em;
	left:0;
	width:8px;
	height:8px;
	border-radius:50%;
	background:#0864b9;
}

/*----------------------------------------------------
contact
----------------------------------------------------*/

#contact{
	background:#016cb1;
}

#contact .contact_ttl{
	color:#fff;
	text-align:center;
}

#contact .contact_ttl h2{
	margin:0 0 10px;
	font-size:2.2rem;
	font-weight:bold;
	line-height:1.5;
}

#contact .contact_ttl .txt{
	color:#fff;
}

#contact .contact_btn{
	display:grid;
	grid-template-columns:1fr;
	gap:15px;
	margin-top:30px;
}

#contact .contact_btn .areaBtn,
#contact .contact_btn .mod_btn01{
	margin:0;
	max-width:none;
}

#contact .contact_btn .mod_btn01_link{
	background:#fff;
}

/*----------------------------------------------------
download_cta
----------------------------------------------------*/
#download_cta {
	margin-top: 6%;
	padding: 50px 0;
	background: #fffed2;
}
#download_cta .download_txt{
	position: relative;
	font-size: 1.6rem;
    line-height: 1.6;
    color: #016cb1;
    font-weight: bold;
    text-align: center;
}
#download_cta .download_txt:before,#download_cta .download_txt:after{
	position: absolute;
    width: 2px;
    height: 30px;
    content: "";
    background: #016cb1;
}
#download_cta .download_txt:before {
    left: 10px;
    bottom: 0;
    margin-right: 0px;
    transform: rotate(-30deg);
}
#download_cta .download_txt:after {
	right: 10px;
    bottom: 0;
    margin-left: 10px;
    transform: rotate(30deg);
}
@media all and (min-width: 600px) {
	#download_cta .download_txt{
		font-size: 2rem;
	}
	#download_cta .download_txt:before,#download .download_txt:after{
		height: 30px;
	}
	#download_cta .download_txt:before {
		left: 18%;
	}
	#download_cta .download_txt:after {
		right: 18%;
	}
}

/*----------------------------------------------------
PC
----------------------------------------------------*/

@media all and (min-width:600px){

	#intro .intro_lead{
		font-size:3.4rem;
	}

	#intro .intro_btn{
		grid-template-columns:repeat(2,minmax(0,280px));
		justify-content:center;
		gap:20px;
	}

	#intro .intro_point_list{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
	}

	#intro .intro_point_item{
		grid-template-columns:80px minmax(0,1fr);
		padding:25px;
	}

	#intro .intro_point_img img{
		width:70px;
	}

	#intro .intro_point_ttl{
		font-size:2rem;
	}


	#mechanism .mechanism_img,
	#test_design .test_design_img,
	#w_model .w_model_img{
		padding:25px;
		overflow:visible;
	}

	#mechanism .mechanism_img img,
	#test_design .test_design_img img,
	#w_model .w_model_img img{
		min-width:0;
	}

	#test_design .test_design_point_list{
		grid-template-columns:repeat(4,1fr);
		gap:10px;
	}

	#test_design .test_design_point_item{
		grid-template-columns:80px minmax(0,1fr);
		padding: 25px 10px;
	}

	#test_design .test_design_point_img img{
		width:70px;
	}

	#test_design .test_design_point_ttl{
		font-size:1.8rem;
	}

	#test_design .test_design_lead{
		margin-top:40px;
		font-size:2rem;
	}

	#service .service_list{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
		margin-top:40px;
		align-items:stretch;
	}

	#service .service_item{
		padding:35px 25px 25px;
	}

	#service .service_img img{
		width:100px;
	}

	#service .service_ttl{
		font-size:2.2rem;
	}

	#service .service_box{
		margin-top:20px;
		padding:25px;
	}

	#service .common_note{
		grid-template-columns:70px minmax(0,1fr);
		margin-top:40px;
		padding:25px 30px;
	}

	#sample .sample_wrap{
		grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);
		align-items:start;
		gap:25px;
		margin-top:40px;
	}

	#sample .sample_img{
		padding:10px;
		overflow:visible;
	}

	#sample .sample_img img{
		min-width:0;
	}

	#sample .sample_cont{
		padding:25px;
	}

	#sample .sample_ttl{
		font-size:2rem;
	}

	#sample .sample_cta{
		grid-template-columns:90px minmax(0,1fr) 280px;
		gap:25px;
		margin-top:40px;
		padding:30px;
	}

	#sample .sample_cta_icon img{
		width:80px;
	}

	#sample .sample_cta_ttl{
		font-size:2.2rem;
	}

	#sample .sample_cta .areaBtn{
		grid-column:auto;
	}

	#w_model .w_model_compare{
		grid-template-columns:repeat(2,1fr);
		gap:15px;
		margin-top:40px;
	}

	#w_model .w_model_compare_img{
		padding:15px;
		overflow:visible;
	}

	#w_model .w_model_compare_img img{
		min-width:0;
	}

	#w_model .w_model_compare_ttl{
		font-size:2rem;
	}

	#effect .effect_list{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
		margin-top:40px;
	}

	#effect .effect_item{
		grid-template-columns:80px minmax(0,1fr);
		padding:25px;
	}

	#effect .effect_img img{
		width:70px;
	}

	#effect .effect_ttl{
		font-size:2rem;
	}

	#strength .strength_list{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
		margin-top:40px;
	}

	#strength .strength_item{
		grid-template-columns:80px minmax(0,1fr);
		padding:25px;
		border:1px solid #d8e5f2;
		border-radius:10px;
	}

	#strength .strength_img img{
		width:70px;
	}

	#strength .strength_ttl{
		font-size:2rem;
	}

	#domain .domain_list{
		grid-template-columns:repeat(4,1fr);
		gap:20px;
		margin-top:40px;
	}

	#domain .domain_ttl{
		min-height:70px;
		padding:15px;
		font-size:1.6rem;
	}

	#domain .domain_txt_list{
		padding: 0 20px 20px;
	}


}

.common_note{
	display:grid;
	grid-template-columns:60px minmax(0,1fr);
	align-items:center;
	gap:15px;
	margin-top:30px;
	padding:20px;
	border-radius:10px;
	background:#e5f7ff;
}

.common_note_icon{
	display:flex;
	align-items:center;
	justify-content:center;
}

.common_note_icon img{
	width:50px;
}

.common_note_txt{
	margin:0;
	color:#016cb1;
	font-size:2rem;
	font-weight:bold;
	line-height:1.7;
}

@media all and (min-width: 600px){
	.common_note{
		grid-template-columns:70px minmax(0,1fr);
		margin-top:40px;
		padding:15px 30px;
	}

	.common_note_icon img{
		width:60px;
	}
}


/* contact
------------------------------------- */
#contact{
	position: relative;
	margin-top: 8%;
	padding: 60px 0;
	background: url("../../img/electric-power/bk_contact.png") bottom center / cover no-repeat;
}
#contact .contact_ttl{
	margin-bottom: 30px;
	text-align: center;
	color: #FFF;
}
#contact .contact_ttl h3{
	margin-bottom: 10px;
	font-size: 1.6rem;
	font-weight: bold;
}
#contact .button-group .btn{
	display: block;
	margin-bottom: 20px;
	padding: 10px 20px;
	transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
    will-change: transform, filter, box-shadow;
}

#contact .button-group .btn:hover {
   transform: translateY(-3px);
  filter: brightness(1.05);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

#contact .button-group .btn-list:hover {
  background-image: linear-gradient(90deg, #0090ff 0%, #00c9ff 100%);
}
#contact .button-group .btn-contact:hover {
  background-image: linear-gradient(90deg, #ff9500 0%, #ffbc00 100%);
}

#contact .button-group .btn .icon:before {
	content: '';
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
	width: 23px;
	height: 23px;
}
#contact .button-group .btn .icon_dl:before{
	background: url("../../img/l1m-net/icon-dl.png") no-repeat center / contain;
}
#contact .button-group .btn .icon_farm:before{
	background: url("../../img/l1m-net/btn_foam.png") no-repeat center / contain;
}
#contact .button-group .btn span{
	padding: 10px 0px;
	font-size: 1.3rem;
	letter-spacing: 1px;
	color: #fff;
	
}
#contact .button-group .btn .icon{
	font-size: 1.8rem;
}
#contact .button-group .btn::after{
	display: none;
}
#contact .button-group .btn-list{
	background: #03A9F4;
	text-decoration: none;
	text-align: center;
}
#contact .button-group .btn-contact{
	background: #ffa707;
	text-decoration: none;
	text-align: center;
}
@media all and (min-width: 600px){
	#contact .contact_ttl h3{
		font-size: 2.2rem;
	}
	.button-group{
		display: flex;
		flex-wrap: wrap;
        justify-content: space-between;
		max-width: 900px;
		margin: auto;
		font-weight: bold;
	}
	.button-group .btn{
		flex: 0 1 49%;
		width: 49%;
		max-width: 49%;
		box-sizing: border-box;
	}
}

/*  バナー
================================================== */

/* ふわふわ効果 */
.fluffy{
	width: 100%;
	animation: fluffy 4s ease infinite;
}

@keyframes fluffy{
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
.Bnr{
  position: relative;
  margin: 0 auto;
  display: none;
}
.Bnr .Bnr__img{
  position: fixed;
  bottom: 140px;
  right: 0;
  z-index: 888;
}
.Bnr__img__inner{
  box-sizing:border-box;
  padding: 10px;
  padding-right: 14px;
}
.Bnr .Bnr__img__inner a{
  display: block;
  filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8)); 
}
.Bnr .Bnr__img p.close{
  position: absolute;
  right: 10px;
  top:-20px;
}
.Bnr .Bnr__img p.close a{
  display: block;
  width: 20px;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
  font-size: 20px;
  z-index: 999;
  color: #999;
  padding: 2px 4px;
  background-color: #fff;
}
