@charset "UTF-8";

.GridSet * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.GridSet *::after {
	box-sizing: border-box;
}

.GridSet *::before {
	box-sizing: border-box;
}

.GridSet {
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	line-height: 1.8;
	font-size: 16px;
}

area {
	outline: none;
}

.sp {
	display: none;
}

#SiteIdentityP,
.SiteIdentityP {
	border-top: solid 5px #e60027;
	background-color: #f2f2f2;
	height: 45px;
}

#SiteIdentityP p,
.SiteIdentityP p {
	padding: 9px 0 0 15px;
	margin: 0;
}

#SiteIdentityP img {
	width: 95px;
}

.GridSet {
	width: 100%;
}

.Grid3 {
	float: none;
	width: 100%;
}

.JS #Contents {
	padding: 0;
}


@media screen and (max-width: 994px) {
	.JS .Grid3 {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

#Footer {
	clear: both;
	width: 100%;
	padding: 15px 0;
	background-color: #e5e5e5;
	overflow: hidden;
	margin-top: -0.2rem;
}

#Footer p {
	max-width: 140rem;
	width: 100%;
	font-size: 65%;
	margin: 0 auto;
	text-align: right;
	line-height: 1.5em;
	color: #333;
	vertical-align: top;
}

@media (max-width: 968px) {
	#Footer {
		min-width: auto;
		width: 100%;
	}

	#Footer p {
		width: 100%;
		text-align: center;
	}
}

/* 2203追加ここから */

/* body {
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
} */

#PopUpContents h3 {
	padding: 0;
	line-height: 1.6;
}

.top_video {
	position: relative;
	margin-bottom: 70px;
}

.top_video video {
	width: 100%;
	height: auto;
}

.top_video h1 {
	color: #fff;
	font-size: 48px;
	font-weight: bold;
	position: absolute;
	top: 40%;
	/* bottom: 0; */
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	width: 100%;
	text-shadow: 0px 0px 10px #11538c;
}

.top_text {
	max-width: 1100px;
	margin: 0 auto 70px;
}

.top_text p {
	text-align: center;
}


.top_text h2 {
	color: #132c5a;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
	background: none;
	line-height: 1.6;
}

#Concept {
	background-image: url(/image/jp/products/advanced/lcm/back01.png);
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.Concept_box {
	max-width: 1100px;
	margin: 0 auto;
	padding-bottom: 13rem;
}

.Contenar_text {
	max-width: 880px;
	text-align: center;
	margin: 0 auto 50px;
}

.Contenar_text h2 {
	color: #132c5a;
	font-size: 34px;
	font-weight: bold;
	padding: 120px 0 0 0;
	margin-bottom: 20px;
	background-image: none;

}

.Contenar_text span {
	color: #132c5a;
	font-size: 19px;
	font-weight: 300;
	font-family: "lato", serif;
	font-style: italic;
	background-color: transparent;
	padding: 0;
	display: block;
}

.us_container {
	display: flex;
}

.us_left {
	display: flex;
	flex-wrap: wrap;
	margin-right: 17px;
	width: 100%;
	flex-direction: column;
}

.us_right {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	flex-direction: column;
}

.Concept_box img {
	width: 100%;
	height: auto;
	margin-bottom: 100px;
}

.Concept_box h3 {
	color: #132c5a;
	font-size: 26px;
	font-weight: bold;
	border: none !important;
	margin-bottom: 40px;
}

.Concept_content {
	text-align: center;
	margin: 0 auto;
}

.content_box {
	display: flex;
	justify-content: space-between;
}

.item {
	width: 345px;
	box-shadow: 10px 10px 15px -10px #b2b2b2;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: auto;
}

.item_title {
	min-height: 100px;
	width: 100%;
	background-color: #122b59;
	display: table;
}

.item_title h4 {
	color: #fff;
	display: table-cell;
	vertical-align: middle;
	font-size: 100%;
	padding: 10px;
	line-height: 150%;
}

.item_text {
	background-color: #fff;
	font-size: 14px;
	padding: 20px 30px;
	text-align: left;
	height: 100%;
}

.item_text p {
	line-height: 180%;
	margin: 0;
}

#Diagnostic {
	background-image: url(/image/jp/products/advanced/lcm/back02.png);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -13.5rem;
	padding-bottom: 10rem;
	background-position: center;
}

.Diagnostic_box {
	max-width: 1100px;
	margin: 0 auto;
	padding-top: 30px;
}

.Contenar_text.white {
	color: #fff;
}

.Contenar_text.white h2 {
	color: #fff;
}

.Contenar_text.white span {
	color: #fff;
}

.Diagnostic_flex {
	max-width: 880px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

.flex_item {
	background-color: #fff;
	max-width: 432px;
	height: auto;
	padding: 40px;
}


.flex_text h4 {
	color: #132c5a;
	font-size: 18px;
	margin-bottom: 15px;
}


.flex_text p {
	font-size: 14px;
	line-height: 180%;
}

.Diagnostic_ander {
	max-width: 880px;
	height: auto;
	background-color: #fff;
	padding: 40px;
	margin: 15px auto;
}

.diagnostic_ph {
	margin-bottom: 30px;
}

.diagnostic_ph img {
	display: block;
	width: 80%;
	height: auto;
	margin: 0 auto;
}

.ph_pd .diagnostic_ph {
	padding: 92px 0;
}



.Diagnostic_ander img {
	display: block;
	margin: 0 auto;
	padding: 0 45px;
	width: 100%;
}



#Utilization_Scene_wrapper {
	background-image: url(/image/jp/products/advanced/lcm/back03.png);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -15.7rem;
	padding-top: 3rem;
}

.us_box {
	max-width: 1100px;
	margin: 0 auto;
}

#Utilization_Scene_wrapper .Contenar_text p {
	text-align: center;
}

#Utilization_Scene_wrapper .content_title1 h3 {

	padding: 5px 0;
	margin: 0;
	text-align: center;
	color: #fff;

	font-weight: normal;
	border-left: none;
	font-size: 20px;
}

.content_title1 {
	position: relative;
	width: 100%;
	background: #5E5E5E;
}

.content_title1 h3::after {
	position: absolute;
	top: 0;
	right: -12px;
	content: '';
	border-width: 21px 0 21px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #5E5E5E;
}

.content_title2 {
	width: 100%;
	background-color: #B2B2B2;
}

#Utilization_Scene_wrapper .content_title2 h3 {

	padding: 5px 0;
	margin: 0;
	text-align: center;
	color: #fff;
	font-weight: normal;
	border-left: none;
	font-size: 20px;
}

.us_item_box {
	display: flex;
	width: 100%;
	margin-top: 20px;
	flex-grow: 1;
}

.us_item {
	width: 100%;
	background-color: #fff;
	margin-right: 1rem;
	text-align: center;
	position: relative;
	padding-bottom: 10px;
}

.us_item::after {
	position: absolute;
	top: 170px;
	right: -20px;
	content: '';
	border-width: 26px 0 26px 20px;
	border-style: solid;
	border-color: transparent transparent transparent #d0d5de;
	z-index: 1;
}

.us_right .us_item:last-child::after {
	content: none;
}

.us_item:last-child {
	margin-right: 0;
}

.us_item img {
	width: 100%;
	height: auto;
	/* padding: 20px 20px; */
}

.item_top p {
	line-height: 1.4;
	display: table-cell;
	vertical-align: middle;
}

.item_title1 {
	background-color: #809891;
	color: #fff;
	width: 100%;
	height: 110px;
	font-size: 14px;
	font-weight: bold;
	display: table;
}

.item_title1 {
	/* display: table-cell; */
	/* vertical-align: middle; */
	padding: 10px;
	line-height: 1.4;
}

.item_title2 {
	background-color: #146095;
	color: #fff;
	width: 100%;
	height: 54.5px;
	margin-bottom: 1px;
	font-size: 14px;
	font-weight: bold;
	display: table;
}

.item_title2 p {
	display: table-cell;
	vertical-align: middle;
}

.item_title3 {
	background-color: #60a4cd;
	color: #fff;
	width: 100%;
	height: 110px;
	font-size: 14px;
	font-weight: bold;
	display: table;
}

.item_title3 p {
	display: table-cell;
	vertical-align: middle;
}

.item_title4 {
	background-color: #7ab7b6;
	color: #fff;
	width: 100%;
	height: 110px;
	font-size: 14px;
	font-weight: bold;
	display: table;
}

.item_title4 p {
	display: table-cell;
	vertical-align: middle;
}

.us_item li {
	list-style-type: none;
	position: relative;
	font-size: 12px;
	text-align: left;
	padding: 0 28px;
	line-height: 1.4;
}

.us_item li::before {
	border-radius: 50%;
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	top: 3px;
	left: 14px;
	content: "";
}

.us_item ul {
	padding-left: 0;
}

.us_ul1 li::before {
	background-color: #b3c1bd
}

.us_ul2 li::before {
	background-color: #72a0bf;
}

.us_ul3 li::before {
	background-color: #7ab7b6;
}


.item_image img {
	padding: 45px 35px;
}

.us_item a {
	text-decoration: none;
}

.button_box {
	padding: 0 10px;
}

.item_button {
	background-color: #132C5A;
	color: #fff;
	margin-bottom: 5px;
	width: 100%;
	height: 50px;
	display: table;
	padding: 8px 18px 8px 8px;
	position: relative;
}

.item_button a:hover {
	opacity: 0.5;
}

.item_button a {
	text-decoration: none;
	display: table;
	width: 100%;
	height: 100%;
	color: #fff;

}

.item_button p {
	font-size: 13px;
	line-height: 1.3;
	display: table-cell;
	vertical-align: middle;
}

.item_button a::after {
	display: inline-block;
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 42%;
	right: 6%;
}

.service_cotainer {
	max-width: 1100px;
	margin: 110px auto 0;
	padding-bottom: 50px;
}

.service_contents {
	width: 100%;
	height: auto;
	background-color: #fff;
	margin-bottom: 30px;
	padding: 70px 120px;
	box-shadow: 10px 10px 15px -10px #b2b2b2;
	position: relative;
	z-index: 0;
}

.service_contents:last-child {
	margin-bottom: 0;
}

.service_number {
	max-width: 250px;
	position: absolute;
	top: 0px;
	right: -6px;
	z-index: -1;
}



#Utilization_Scene_wrapper .service_contents h3 {
	color: #132c5a;
	font-size: 26px;
	font-weight: bold;
	border: none !important;
	margin-bottom: 40px;
	text-align: center;
	padding: 0;
}

.service_box {
	display: flex;
	margin: 0 auto 40px;
}

.service_box img {
	width: 100%;
	height: auto;
}

.service_box:last-child {
	margin: 0 auto;
}


.service_ph {
	width: 50%;
}

.wd40 img {
	width: 80%;
	margin: 0 auto;
	display: block;
}

.service_text {
	margin: 10px 0 0 40px;
	width: 50%;
}

.service_text p {
	font-size: 14px;
	line-height: 180%;
}

.service_text_box {
	margin-bottom: 30px;
}

.service_text_box:last-child {
	margin-bottom: 0;
}

.service_text h4 {
	color: #132c5a;
	font-size: 20px;
	position: relative;
	padding-left: 15px;
	margin-bottom: 15px;
	line-height: 1.4;
}

.service_text h4::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 28px;
	background-color: #d0d5de;
	position: absolute;
	top: 2px;
	left: 0;
}

#service05 span {
	display: block;
}

@media screen and (min-width: 968px) {
	.sp_br {
		display: none;
	}
}

@media screen and (max-width: 968px) {
	.JS #PopUpContents {
		padding: 0;
	}

	#PopUpContents h3 {
		padding: 0;
	}

	.top_video {
		margin-bottom: 30px;
	}

	.top_video h1 {
		font-size: 25px;
		top: 25%;
	}

	.top_text {
		margin: 0 10px 30px;
	}

	.top_text h2 {
		font-size: 22px;
		margin-bottom: 15px;
		padding: 0;
	}

	.top_text p {
		font-size: 14px;
	}

	#Concept {
		background-size: cover;
	}

	.Concept_box {
		padding-bottom: 14rem;
		margin: 0 10px;
	}

	.Contenar_text h2 {
		font-size: 28px;
		padding: 25px 0 15px 0;
		margin: 0;
	}

	.Contenar_text span {
		font-size: 16px;
	}

	.Contenar_text p {
		font-size: 14px;
	}

	.item_title {
		height: auto;
	}

	.item_title h4 {
		padding: 15px;
	}

	.Contenar_text2 {
		padding: 0;
	}

	.Contenar_text2 h2 {
		font-size: 28px;
		padding: 50px 0 15px;
		margin: 0;
	}

	.Contenar_text2 span {
		font-size: 16px;
	}

	#Diagnostic {
		background-size: cover;
		margin-top: -20rem;
		padding-top: 6rem;
	}

	.Diagnostic_box {
		padding: 7rem 10px 6rem;
	}

	.Diagnostic_flex {
		flex-direction: column;
	}

	.flex_item {
		max-width: 880px;
		margin: 0 0 10px 0;
		padding: 30px 20px;
	}

	.flex_item img {
		width: 60%;
	}

	.ph_pd .diagnostic_ph {
		padding: 0;
	}

	.diagnostic_ph {
		margin-bottom: 20px;
	}

	.flex_text {
		margin: 0;
	}

	.flex_text h4 {
		font-size: 20px;
	}

	.flex_text p {
		font-size: 15px;
	}

	.Diagnostic_ander {
		margin: 0 auto;
		padding: 30px 20px;
	}

	.Diagnostic_ander img {
		width: 100%;
		padding: 20px 0;
	}

	#Utilization_Scene_wrapper {
		background-size: cover;
		margin-top: -31rem;
		padding-top: 22rem;
	}

	.us_box {
		margin: 0 10px;
	}

	#Utilization_Scene_wrapper .Contenar_text p {
		text-align: left;
	}

	.us_container {
		flex-direction: column;
	}

	.us_left {
		flex-wrap: nowrap;
		margin-right: 0;
		align-items: stretch;
		width: 100%;
		flex-direction: row;
	}

	.us_right {
		flex-wrap: nowrap;
		align-items: stretch;
		margin-top: 40px;
		margin-bottom: 100px;
		width: 100%;
		flex-direction: row;
	}

	.content_title1 {
		width: 2rem;
		height: auto;
	}

	#Utilization_Scene_wrapper .content_title1 h3 {
		height: 100%;
		padding: 50px 5px 0;
	}

	.content_title1 h3::after {
		top: 100%;
		right: 0;
		content: '';
		border-width: 9px 15px 0 15px;
		border-style: solid;
		border-color: #5E5E5E transparent transparent transparent;
	}

	.content_title2 {
		width: 2rem;
		height: auto;
	}

	#Utilization_Scene_wrapper .content_title2 h3 {
		height: 100%;
		padding: 50px 5px 0;
	}

	.us_item_box {
		margin-top: 0;
		margin-left: 20px;
		flex-direction: column;
	}

	.top_text h3 {
		font-size: 22px;
	}

	.Concept_wrapper {
		background-size: cover;
		height: auto;
	}

	.content_box {
		flex-direction: column;
	}

	.Concept_content h3 {
		font-size: 20px;
	}

	.item {
		width: auto;
		margin: 10px 10px;
	}

	.item_text {
		height: auto;
		padding: 20px;
	}

	.Concept_box img {
		margin-bottom: 50px;
	}

	.item_title1 {
		height: 50px;
	}

	.item_title2 {
		height: 50px;
	}

	.item_title3 {
		height: 50px;
	}

	.item_title4 {
		height: 50px;
	}

	.pc_br {
		display: none;
	}

	.sp_flex {
		display: flex;
		align-items: center;
	}

	.button_box {
		width: 100%;
		padding: 0 15px;
	}

	.item_button {
		padding: 10px 10px;
		height: initial;
	}

	.item_top {
		min-height: initial;
	}

	.us_item {
		margin-right: 0;
		margin-bottom: 40px;
	}

	.us_item:last-child {
		margin-bottom: 0;
	}

	.us_item ul {
		margin-left: 20px;
	}

	.us_item img {
		width: 50%;
		margin: 0 auto;
	}


	.us_item li {
		padding: 0;
	}

	.us_item li::before {
		top: 1px;
		left: -15px;
	}

	.us_item::after {
		top: initial;
		bottom: -30px;
		right: 50%;
		left: 50%;
		transform: translateX(-50%);
		content: '';
		border-width: 20px 26px 0 26px;
		border-color: #d0d5de transparent transparent transparent;
	}

	.service_cotainer {
		margin: 0 10px;
	}

	.service_contents {
		padding: 0 20px 40px;
	}

	.service_box {
		flex-direction: column;
		margin: 0 auto 20px;
	}

	.service_text {
		margin: 25px 0 0;
	}

	.service_text_box {
		margin-bottom: 20px;
	}

	#Utilization_Scene_wrapper .service_contents h3 {
		padding-top: 35px;
		margin-bottom: 25px;
	}



	#Utilization_Scene_wrapper .service_number {
		width: 120px;
		top: 0;
		right: 0;
	}

	.service_box img {
		width: 80%;
		margin: 0 auto;
		display: block;
	}

	.service_ph,
	.service_text {
		width: 100%;
	}
}

.FloatContent2 {
	background-color: #fff !important;
	-webkit-box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.3);
	box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.3);
}

@media (max-width: 968px) {
	.FloatContent2 {
		display: none !important;
	}
}

.GridSet {
	width: 100%;
}

.GridSet {
	margin: 0 auto;
}

.FloatingMenu.afm {
	display: block !important;
	max-width: 1305px;
	padding: 0 15px;
}

.FloatingMenu {
	display: none !important;
}

.FloatingMenu {
	padding-left: 0;
	clear: right;
	margin: 0 auto;
	min-width: initial;
	text-align: left;
}

.FloatingMenu.afm .left_navi {
	float: left;
}

.FloatingMenu>ul>li,
.FloatingMenu #MegaMenu2>dl {
	display: block;
	float: left;
	padding: 0;
}

.FloatingMenu>ul>li a {
	display: block;
	/* line-height: 3.3rem; */
	background: none;
	padding: 18px;
}

.FloatingMenu>ul>li a:hover {
	background-color: #132C5A;
	color: #fff;
	opacity: 1;
}

.FloatingMenu>ul>li>a {
	font-weight: bold;
	margin: 0;
	text-decoration: none;
	font-size: 16px;
	color: #132C5A;
}

.FloatingMenu li a {
	color: #000;
	word-break: break-all;
}

.FloatingMenu.afm .right_navi {
	float: right;
}

.FloatingMenu.afm .right_navi .bg_red a {
	padding: 1.1rem 3rem;
}

.FloatingMenu.afm .bg_red a {
	-webkit-transition: .3s;
	transition: .3s;
	background: #e60027;
	color: #fff;
}

.FloatingMenu.afm .bg_red a:hover {
	background: #C81A37 !important;
}

.over_float_wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: none;
	z-index: 6;
}

.over_float_wrap .cont {
	background: white;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.over_float_wrap .rd {
	position: absolute;
	left: 8.3rem;
	top: 0;
	background: white;
	padding-top: 5.5rem;
	display: none;
	z-index: 99999;
}

.over_float_wrap .mf {
	position: absolute;
	left: 14.5rem;
	top: 0;
	background: white;
	padding-top: 5.5rem;
	display: none;
	z-index: 99999;
}

.over_float_wrap .qm {
	position: absolute;
	left: 20.5rem;
	top: 0;
	background: rgba(255, 255, 255, 0.9);
	padding-top: 5.5rem;
	display: none;
	z-index: 99999;
}

.over_float_wrap .unit_wrap {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.over_float_wrap .unit_wrap ul {
	list-style: none;
}

.over_float_wrap .unit_wrap ul li:hover a {
	color: #132C5A;
	opacity: 1;
	background-color: #fff;
}

.over_float_wrap .unit_wrap ul a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
	background-color: #132C5A;
	-webkit-transition: .3s;
	transition: .3s;
	cursor: pointer;
	font-size: 15px;
	color: #fff;
}

.over_float_wrap .unit_wrap li a {
	text-decoration: none;
}


/* 220606 追加 */

.flex_item {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ph_pd .diagnostic_ph {
	padding: 0;
	margin: 30px 0 30px;
}

#Utilization_Scene_wrapper .bold_text {
	font-weight: bold;
	font-size: 16px;
}

#Utilization_Scene_wrapper .service_text_last {
	margin-top: 10px;
}

#Utilization_Scene_wrapper .service_contents h3 {
	margin-bottom: 0;
}

.service_box {
	margin: 40px 0 0;
}

.service_box:last-child {
	margin: 40px 0 0;
}

/* 220608 追加 */

@media screen and (max-width: 968px) {
	.top_text p {
		text-align: left;
	}

	.Contenar_text p {
		text-align: left;
	}

	.Contenar_text2 p {
		text-align: left;
	}
}

#Diagnostic {
	padding-bottom: 13rem;
}

#Diagnostic h2 {
	padding: 160px 0 0 0;
}

@media screen and (max-width: 968px) {
	#Diagnostic h2 {
		padding: 40px 0 0 0;
	}

	#Diagnostic {
		padding-bottom: 9rem;
	}
}

/* 220629追加 */

@media screen and (max-width: 968px) {
	#Utilization_Scene_wrapper .global .content_title1 {
		background: #5E5E5E;
	}

	#Utilization_Scene_wrapper .global .content_title1::after {
		bottom: -0.7%;
	    right: 2%;
		content: '';
	    border-width: 9px 15px 0 15px;
	    border-style: solid;
	    border-color: #5E5E5E transparent transparent transparent;
		position: absolute;
	}
	
	#Utilization_Scene_wrapper .global .content_title1 h3 {
		height: auto;
		width: 138px;
		padding: 102px 0 0 25px;
		transform: rotate(90deg);
	}
	
	#Utilization_Scene_wrapper .global .content_title1 h3::after {
		display: none;
	}
	
	#Utilization_Scene_wrapper .global .content_title2 h3 {
		height: auto;
		width: 284px;
		padding: 250px 0 0 30px;
		transform: rotate(90deg);
	
	}
}

sup {
	font-size: 0.7em;
	vertical-align: 0.4em;
}

.service_box {
	align-items: center;
}