@charset "utf-8";



section div ul{
	margin:1em 1.5em;
	font-size:16px;
}
section div ul li{
	margin:1em 0;
}
section div section{
	margin-bottom:3em;
}

.mb0{margin-bottom:0 !important}
.w50{width:50% !important;}

article section div ul{
}
article section div ul li{
	margin:1em 1em;
	line-height:1.5;
}

h5.center{
	margin:2em 1em 0.5em 1em;
	font-size:18px;
	text-align: center;
}

figure.modal a{
	transition: 0.25s opacity;
}
figure.modal a:hover{
	opacity: 0.5;
}
figure.modal a{
	display: block;
	position: relative;
}
figure.modal a:after{
	content: "＋";
	padding:3px;
	color:#fff;
	font-size:36px;
	font-weight:bold;
	border-radius: 10px;
	background:#005cca;
	position: absolute;
	right:10px;
	bottom:10px;
}



/* ====================================================================
//
// title
//
//================================================================== */

article div#title{
	padding:105px 0 70px 0;
	position: relative;
}
article div#title:before{
	content: "";
	display: block;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.3);
	position:absolute;
	top:0;
	left:0;
}
article div#title h2{
	width:980px;
	margin:0 auto;
	color:#fff;
	font-size:38px;
	position: relative;
	z-index: 2;
}


/* product */
article#product div#title{
	background: url("../product/images/kv_product.jpg") no-repeat 50% 30% / cover;
}
article#product div#title:before{
}

/* solution */
article#solution div#title{
	background: url("../solution/images/kv_solution.jpg") no-repeat 50% 80% / cover;
}
article#solution div#title:before{
}

/* request */
article#request div#title{
	background: url("../request/images/kv_request.jpg") no-repeat 50% 40% / cover;
}
article#request div#title:before{
}

/* DT */
article.DT div#title {
    background: url("../DigitalTwin/images/img_digitaltwin05.png") no-repeat 50% 40% / cover !important;
}


/* DTdetail */
article#DTdetail div#title{
	background: url("../DigitalTwin/detail/images/kv_DTdetail.png") no-repeat 50% 40% / cover;
}
article#DTdetail div#title:before{
}


/* ====================================================================
//
// h4 label
//
//================================================================== */
/* product */
article#product h4 em{
	background:#3bd093;
}

/* solution */
article#solution h4 em{
	background:#7ad03b;
}



/* ====================================================================
//
// solution
//
//================================================================== */
article#solution > section{
	margin-top:0;
}

article#request section p.caution{
	display: flex;
	margin:0 auto ;
}
article#request section p.caution:before{
	content: "※";
	padding-right:0.5em;
}

article#solution section section div.kk h5{
	margin:0 0 14px 0;
	padding:8px 26px;
	color:#fff;
	font-size:24px;
	font-weight:400;
	border-radius: 5px;
}
article#solution section section div.kk ul{
	margin:0 0 30px 22px;
}
article#solution section section div.kk ul li{
	margin:0 0 0.5em 1.75em;
	line-height: 1.25;
}
/*
article#solution section section div.kk ul li:before{
	content: "・";
	font-size:30px;
	vertical-align: -5px;
}
*/

/* 01 */
article#solution section section div.kk ul.currentStatus{
	margin:0 0 30px 0;
	padding:1em;
	font-size:16px;
	background:#f9f6e2;
	list-style: none;
}
article#solution section section div.kk ul.currentStatus li{
	margin:0 0 0.5em 0;
}
article#solution section section div.kk ul.currentStatus li:last-child{
	margin:0;
}
article#solution section section div.kk ul.currentStatus li:before{
	content: "\f14a";
	padding-right:14px;
	color:#559f1e;
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	vertical-align:0;
}

/* 02 */
article#solution section section div.kk h5.task{
	background:#cd4848;
}
article#solution section section div.kk h5.task:before{
	content: "\f071";
	padding-right:10px;
	font-size:22px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	vertical-align: 2px;
}




/* 03 */
article#solution section section div.kk h5.efficacy{
	background:#5581ff;
}
article#solution section section div.kk h5.efficacy:before{
	content: "\f164";
	padding-right:10px;
	font-size:22px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	vertical-align: 3px;
}
article#solution section section div.kk h5.efficacy +ul{
	margin-bottom:50px;
}



/* ====================================================================
//
// request
//
//================================================================== */
article#request section h3{
	display: flex;
	margin:0 0 1em 0;
	color:inherit;
	font-size:30px;
	align-items: center;
}
article#request section h3 em{
	display: block;
	width:80px;
	height:80px;
	margin-right:20px;
	padding:10px;
	color:#fff;
	font-size:14px;
	font-style: normal;
	font-weight: normal;
	background:#d07a3b;
	position: relative;
}
article#request section h3 em span{
	display: block;
	font-size:58px;
	font-weight:400;
	position: absolute;
	right:7px;
	bottom:7px;
}

article#request section > div > ul > li{
	box-sizing:border-box;
}
article#request section > div > ul li h4{
	margin:0 0 1em 0;
	font-size:20px;
	line-height:1.25;
}
article#request section > div > ul li time{
	display: block;
	margin:0 0 1em 0;
	font-weight:bold;
}
article#request section > div > ul li time:before{
	content: "・";
}
article#request section > div > ul li h4 + time{
	margin-top:0;
}

/* text */
article#request section > div > ul li p{
	margin:0 0 1em 0;
	font-size:14px;
}
article#request section > div > ul li p:nth-last-child(2){
	margin:0 0 2em 0;
}
article#request section > div > ul li p:last-child{
	margin:auto 0 0 0;
}

/* btn */
article#request section > div > ul li p:last-child a{
	display: block;
	padding:0.25em 0;
	color:#fff;
	font-family: FontAwesome;
	font-size:16px;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	background: #005cca;
	transition:0.25s background;
}
article#request section > div > ul li p:last-child a:after{
	content: "\f2d2";
	padding-left:0.75em;
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	right:0;
	transform:none;
}
article#request section > div > ul li p:last-child a[href*="youtube"]:after{
	content:"\f16a";
	font-family: FontAwesome;
	font-size:1.25em;
	line-height:0.75;
	vertical-align: -1px;
}
article#request section > div > ul li p:last-child a[href*=".pdf"]:after{
	content:"\f1c1";
	font-family: FontAwesome;
	font-size:1.25em;
	line-height:0.75;
	vertical-align: -1px;
}
article#request section > div > ul li p:last-child a:hover{
	background: #448ffd;
}

/* nolink */
article#request section > div > ul li p.comingsoon:last-child{
	margin:auto 0 0 0;
	padding:0.25em 0;
	color:#fff;
	font-family: "Font Awesome 5 Free";
	font-size:16px;
	text-align: center;
	border-radius: 50px;
	background: #999;
}


/* seminar
-------------------------------------------------------------------- */
article#request section.seminar{
}
article#request section.seminar > div > ul{
	display: flex;
	flex-wrap: wrap;
	box-sizing:border-box;
}
article#request section.seminar > div > ul li{
	display: flex;
	margin:0 2% 2% 0;
	padding:2em;
	background:#d8eaf8;
	flex-direction: column;
}

/* box2 */
article#request section.seminar > div > ul.box2 li{
	width:49%;
}
article#request section.seminar > div > ul.box2 li:nth-of-type(2n){
	margin-right:0;
}

/* box3 */
article#request section.seminar > div > ul.box3 li{
	width:32%;
}
article#request section.seminar > div > ul.box3 li:nth-of-type(3n){
	margin-right:0;
}

/* box4 */
article#request section.seminar > div > ul.box4 li{
	width:23.5%;
}
article#request section.seminar > div > ul.box4 li:nth-of-type(4n){
	margin-right:0;
}

/* image */
article#request section.seminar > div > ul li figure{
	display: block;
	margin:0 0 1.5em 0;
}
article#request section.seminar > div > ul li figure img{
	width:100%;
}

/* image */
article#request section.seminar > div > ul.box3 li a{
	display: flex;
	padding:1em 2em;
	text-align: left;
	border-radius: 10px;
}
article#request section.seminar > div > ul.box3 li a:after{
	margin-top:7%;
}
article#request section.seminar > div > ul.box4 li a{
	display: block;
	padding:1em 1.5em 1em 1em;
	text-align: left;
	border-radius: 5px;
	position: relative;
}
article#request section.seminar > div > ul.box4 li a:after{
	position: absolute;
	top:1em;
	right:0.5em;
}


/* document
-------------------------------------------------------------------- */

article#request section.document{
}
article#request section.document > div > ul > li{
	display: flex;
	margin:0 0 1em 0;
	padding:2em;
	background:#ddd;
}
article#request section.document > div > ul > li div{
	display: flex;
	width:70%;
	flex-direction: column;
}
article#request section.document > div > ul > li div.full{
	display: block;
	width:100%;
}
article#request section.document > div > ul > li div.full:last-child a{
	width:400px;
	margin:0 auto;
}

article#request section.document > div > ul > li figure{
	display: block;
	width:30%;
	margin-left:2em;
}
article#request section.document > div > ul > li figure img{
	display: block;
	width:100%;
}
article#request section.document > div > ul > li figure img + img{
	margin-top:2em;
}
