@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; font-family: "Noto Sans JP", serif; color: #111; text-align: center;}
a{ color: #111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .5; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: "Noto Sans JP", serif;}
.mincho{ font-family: "Noto Serif JP", serif;}
.ebgaramond{ font-family: "EB Garamond", serif;}
.regular400{ font-weight: 400;}
.medium500{ font-weight: 500;}
.bold700{ font-weight: 700;}
/* bg */
.bg-white{ background: #fff;}
.bg-gray{ background: #F4F4F7;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #c00;}
.f-blue{ color: #0F539E;}
.f-blue2{ color: #007C9C;}
.f-blue3{ color: #0C68D3;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit; font-size: 3.73vw;}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	background: #fff;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1100px;
}
header .wrap{
	display: flex;
	justify-content: space-between;
	max-width: 1100px;
	height: 100px;
}
header h1{
	width: 301px;
	padding-top: 30px;
}
body.site-corporate header h1.logo{
	width: auto;
	max-width: 240px;
	height: 100%;
	padding-top: 0;
	display: flex;
	align-items: center;
}
body.site-corporate header h1.logo a{
	display: flex;
	align-items: center;
	height: 100%;
}
body.site-corporate header h1.logo img{
	width: auto;
	height: auto;
	max-height: 56px;
	max-width: 100%;
	display: block;
}
header .spmenu{
	display: none;
}
header nav{
	flex: 1;
	position: relative;
}
header nav .gnav1{
	display: flex;
	justify-content: flex-end;
	padding-top: 40px;
	margin-right: -.5em;
}
header nav .gnav1 li div{
	display: none;
}
header nav .gnav1 li a{
	display: block;
	padding: 0 1em;
	font-size: 14px;
	line-height: 50px;
	position: relative;
}
header nav .gnav1 li a:hover{
	opacity: 1;
	color: #30B4AF;
}
header nav .gnav1 li a:after{
	display: block;
	position: absolute;
	left: .5em;
	bottom: .4em;
	width: 0;
	height: 1px;
	content: "";
	background: #30B4AF;
	transition: all .2s;
}
header nav .gnav1 li a:hover:after{
	width: calc(100% - 1em);
}
header nav .gnav2{
	position: absolute;
	right: 0;
	top: 0;
	width: 301px;
	display: flex;
}
header nav .gnav2 li{
	width: 50%;
	border-left: 1px solid #fff;
}
header nav .gnav2 li a{
	display: block;
	color: #fff;
	font-weight: 500;
	line-height: 42px;
}
header nav .gnav2 li:nth-child(1) a{
	font-size: 18px;
	background: linear-gradient(#309bb4 0%, #61b7ad 100%);
}
header nav .gnav2 li:nth-child(2) a{
	font-size: 16px;
	background: linear-gradient(#0c4a7e 0%, #1e79a8 100%);
}
header nav .gnav3{
	display: none;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	header{
		min-width: inherit;
	}
	header .wrap{
		align-items: center;
		max-width: inherit;
		height: 70px;
	}
	header h1{
		width: 174px;
		padding-top: 0;
	}
	body.site-corporate header h1.logo{
		width: auto;
		max-width: 140px;
		height: 100%;
		padding-top: 0;
	}
	body.site-corporate header h1.logo img{
		max-height: 40px;
	}
	header .spmenu{
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 70px;
		height: 70px;
		background: #00478A;
		cursor: pointer;
	}
	header .spmenu span{
		display: inline-block;
		position: absolute;
		left: 50%;
		width: 100%;
		width: 29px;
		height: 2px;
		background: #fff;
		transform: translateX(-50%);
		transition: all .5s;
	}
	header .spmenu span {
		display: inline-block;
		transition: all .5s;
	}
	header .spmenu span:nth-of-type(1) {
		top: 25px;
	}
	header .spmenu span:nth-of-type(2) {
		top: 34px;
	}
	header .spmenu span:nth-of-type(3) {
		bottom: 25px;
	}
	header .spmenu.active span:nth-of-type(1){
		transform: translate(-7px, 6px) rotate(-315deg);
		top: 28px;
		left: 30px;
	}
	header .spmenu.active span:nth-of-type(2) {
		opacity: 0;
	}
	header .spmenu.active span:nth-of-type(3) {
		-webkit-transform: translate(-7px, -4px) rotate(315deg);
		transform: translate(-7px, -4px) rotate(315deg);
		bottom: 30px;
		left: 30px;
	}
	header nav{
		display: none;
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		height: calc(100vh - 70px);
		background: #4b4b4b;
		overflow-y: auto;
		padding-bottom: 25vw;
		z-index: 999;
	}
	header nav .gnav1{
		text-align: left;
		display: block;
		padding: 5vw 8vw;
		margin-right: -.5em;
	}
	header nav .gnav1 li{
		border-bottom: 1px solid #777;
	}
	header nav .gnav1 li a{
		color: #fff;
		font-size: 4.266vw;
		font-weight: 500;
		display: block;
		padding: 2.1vw;
		position: relative;
	}
	header nav .gnav1 li a:hover{
		color: #ccc;
	}
	header nav .gnav1 li a:after{
		content: none;
	}
	header nav .gnav1 li a{
		padding: 1vw 0;
	}
	header nav .gnav1 li p{
		position: relative;
	}
	header nav .gnav1 li p span{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		background: url("../img/ic-arrow-white-bottom.svg") right center / 1.6vw auto no-repeat;
		width: 15vw;
		height: 100%;
		display: block;
	}
	header nav .gnav1 li p.open span{
		background: url("../img/ic-arrow-white-top.svg") right center / 1.6vw auto no-repeat;
	}
	header nav .gnav1 li div{
		margin-bottom: .8vw;
	}
	header nav .gnav1 li dl{
		margin-bottom: .8vw;
	}
	header nav .gnav1 li dl dt{
		color: #fff;
		font-size: 4.266vw;
		font-weight: 500;
		padding: 1vw 3vw;
	}
	header nav .gnav1 li div a{
		color: #999;
		font-size: 3.733vw;
		padding: 0 3.2vw;
		font-weight: 400;
		background: #333;
		border-bottom: 1px solid #4b4b4b;
	}
	header nav .gnav2{
		display: none;
	}
	header nav .gnav3{
		display: flex;
		background: linear-gradient(to right, #309bb4 0%, #61b7ad 100%);
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	header nav .gnav3 li{
		width: 100%;
		position: relative;
	}
	header nav .gnav3 li:first-child:after{
		display: block;
		content: "";
		content: none;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: 14vw;
		background: #fff;
	}
	header nav .gnav3 li a{
		color: #fff;
		display: block;
		padding: 3vw 0;
		font-size: 3.466vw;
		font-weight: bold;
	}
	header nav .gnav3 li a:hover{
		opacity: 1;
		background: rgba(255,255,255,.3);
	}
	header nav .gnav3 li a img{
		display: block;
		margin: 0 auto .5em;
		width: 6.4vw;
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{
	padding-top: 100px;
	padding-bottom: 150px;
	overflow: hidden;
}
section.pt0{ padding-top: 0;}
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
/* wpeditor */
.wpeditor{ text-align: left; clear: both;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6,.wpeditor a{ color: #0F3286; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ text-decoration: underline;}
.wpeditor h1{ font-size: 32px;}
.wpeditor h2{ font-size: 30px;}
.wpeditor h3{ font-size: 28px;}
.wpeditor h4{ font-size: 24px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
.wpeditor p, .wpeditor ul, .wpeditor ol, .wpeditor table{ margin-top: 2em;}
.wpeditor figure{ text-align: center;}
.wpeditor img{ display: block; margin: 2em auto 0;}
.wpeditor p.date{ text-align: right;}
@media screen and (max-width: 540px){
	.wrap{ padding-left: 3%; padding-right: 3%;}
	.wpeditor{ padding-top: 15px;}
	.wpeditor h1{ font-size: 5.33vw;}
	.wpeditor h2{ font-size: 4.8vw;}
	.wpeditor h3{ font-size: 4.266vw;}
	.wpeditor h4{ font-size: 4vw;}
	.wpeditor h5{ font-size: 3.733vw;}
	.wpeditor h6{ font-size: 3.466vw;}
}
/* ttl */
.ttl1{
	font-weight: 500;
}
.ttl1 span{
	font-size: 20px;
}
.ttl1 span.english{
	font-size: 42px;
	font-weight: 400;
	line-height: 1;
}
.ttl2{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ttl2 span{
	display: block;
	padding: 0 30px;
}
.ttl2 .english{
	font-size: 18px;
	font-weight: 400;
	border-right: 1px solid #333;
}
.ttl3{
	color: #0F519B;
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2em;
}
.ttl4{
	font-size: 22px;
	line-height: 1.4;
	font-weight: 500;
	padding-bottom: 15px;
	border-bottom: 1px solid #707070;
}
.ttl4.bd-no{
	border-bottom: none;
	padding-bottom: 10px;
}
/* btn */
.btn1{
	display: inline-block;
	width: 100%;
	max-width: 240px;
	padding: 1em;
	font-family: "Noto Serif JP", serif;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .1em;
	text-align: center;
	border: 1px solid #000;
}
.btn1:hover{
	opacity: 1;
	color: #fff;
	background: #00478A;
	border-color: #00478A;
}
.btn2{
	color: #fff;
	font-size: 21px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: linear-gradient(to left, #0250A8, #73F6FC);
	position: relative;
	display: inline-block;
	max-width: 340px;
	width: 100%;
	padding: 25px 35px;
}
button.btn2{
	height: 80px;
	line-height: 30px;
}
.btn2:after{
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-right-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}
.btn3{
	color: #fff;
	font-size: 18px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: #333;
	position: relative;
	display: inline-block;
	max-width: 270px;
	width: 100%;
	padding: 15px 35px;
}
.btn3:after{
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-right-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}
.btn4{
	color: #fff;
	font-size: 18px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: #0F519B;
	position: relative;
	display: inline-block;
	max-width: 300px;
	width: 100%;
	padding: 15px 35px;
}
.btn4:after{
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-right-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}
.btn-back{
	color: #fff;
	font-size: 21px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: #333;
	position: relative;
	display: inline-block;
	max-width: 340px;
	width: 100%;
	padding: 25px 35px;
}
.btn-back:before{
	content: "";
	position: absolute;
	top: 0;
	left: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-left-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}
.btn-back2{
	color: #fff;
	font-size: 21px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: #333;
	position: relative;
	display: inline-block;
	max-width: 340px;
	width: 100%;
	padding: 25px 35px;
}
.btn-back2:before{
	content: "";
	position: absolute;
	top: 0;
	left: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-left-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}
.btn-pdf{
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	display: inline-block;
	padding: 15px 30px;
	border-radius: 5px;
	min-width: 240px;
	position: relative;
	background: url("../img/ic-pdf2.svg") right 10px center no-repeat #30B4AF;
}
/* pager */
ul.pager{
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	display: flex;
	justify-content: center;
	padding-top: 3.5em;
}
ul.pager li{
	margin: 0 10px 20px;
	display: flex;
	align-items: center;
}
ul.pager li a{
	color: #333;
	border: 1px solid #333;
	width: 36px;
	height: 36px;
	line-height: 32px;
	display: block;
}
ul.pager li.act a{
	pointer-events: none;
	color: #fff;
	background: #333;
}
ul.pager li.prev a,ul.pager li.next a{
	border: none;
}

/* pan */
.pan{
	border-top: 1px solid #ACACAC;
}
.pan ol{
	font-size: 12px;
	display: flex;
	justify-content: flex-end;
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px 0 80px; 
}
.pan.bd-no{
	border-top: none;
}
.pan.bd-no ol{
	padding: 15px 0 100px;
}
.pan ol li:before{
	content: " 〉";
	display: inline-block;
	margin-left: .5em;
}
.pan ol li:first-child:before{
	content: none;
}
.pan ol li a{
	color: #0F519B;
	text-decoration: underline;
}
/* tag */
.tag-blue,
.tag-blue2,
.tag-blue3,
.tag-yellow,
.tag-green{
	display: inline-block;
	min-width: 90px;
	padding: .5em;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	background: #307CB4;
}
.tag-green{ background: #30B4AF;}
.tag-blue2{ background: #007C9C;}
.tag-blue3{ background: #0C68D3;}
.tag-yellow{ background: #E58A0F;}
.pdf:after{
	display: inline-block;
	content: "PDF";
	margin-left: 1em;
	padding: 0 .8em .1em;
	font-size: 12px;
	line-height: 1.4;
	color: #D12222;
	border: 1px solid #D12222;
}
/* lower */
.lower{
	background: url("../img/lower-bg.jpg") left top 130px / 809px auto no-repeat;
}
.lower-ttl{
	padding-left: calc(50% - 500px);
	height: 400px;
	display: flex;
	align-items: center;
	position: relative;
}
.lower-ttl h2{
	position: relative;
	z-index: 2;
	text-align: left;
	font-weight: 400;
	line-height: 1.3;
}
.lower-ttl h2 .ebgaramond{
	font-size: 60px;
	display: inline-block;
	border-bottom: 2px solid #000;
	margin-bottom: .2em;
}
.lower-ttl:before{
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 76%;
	height: 100%;
	display: block;
}
.about .lower-ttl:before{
	background: url("../img/about-bg.jpg") right center / cover no-repeat;
}
.tech .lower-ttl:before{
	background: url("../img/tech-bg.jpg") right center / cover no-repeat;
}
.business .lower-ttl:before{
	background: url("../img/business-bg.jpg") right center / cover no-repeat;
}
.sustainability .lower-ttl:before{
	background: url("../img/sustainability-bg.jpg") right center / cover no-repeat;
}
.corporate .lower-ttl:before{
	background: url("../img/corporate-bg.jpg") right center / cover no-repeat;
}
.products .lower-ttl:before{
	background: url("../img/products-bg.jpg") right center / cover no-repeat;
}
/* link-list */
.link-list{
	display: flex;
	flex-wrap: wrap;
}
.link-list a{
	display: block;
	width: 30%;
	margin: 0 5% 40px 0;
}
.link-list a:nth-child(3n){
	margin-right: 0;
}
.link-list a figure{ margin-bottom: .2em;}
.link-list a p{
	padding-left: 20px;
	background: url("../img/ic-arrow-link.svg") left top .57em no-repeat;
}
ul.link-list2{
	display: flex;
	justify-content: center;
	padding-bottom: 100px;
	border-bottom: 1px solid #CEC5C5;
}
ul.link-list2 li{
	padding: 0 30px;
	border-left: 1px solid #000;
	margin-bottom: .5em;
}
ul.link-list2 li:first-child{
	border-left: none;
}
ul.link-list2 li a{
	font-size: 20px;
	line-height: 1;
	font-weight: 500;
	padding-right: 25px;
	display: block;
	background: url("../img/ic-arrow-anc.svg") right top .2em no-repeat;
}
.link-list3{
	text-align: center;
	display: flex;
	justify-content: center;
}
.link-list3 a{
	color: #717171;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 500;
	padding: 12px;
	background: #fff;
	border: 1px solid #717171;
	display: block;
	width: 250px;
	margin: 0 6px 10px;
}
.link-list3 a.active{
	color: #fff;
	background: #0F519B;
	border: 1px solid #0F519B;
}
/* popup-cont */
#colorbox, #cboxContent, #cboxLoadedContent,#cboxWrapper{
	background: #fff;
	border-radius: 10px;
}
#cboxWrapper img{
	height: auto!important;
}
#cboxContent{
	padding-bottom: 75px;
}
.popup-cont{
	text-align: center;
	max-width: 600px;
	border-radius: 10px;
	padding: 50px 60px;
	background: #fff;
}
.popup-cont h4{
	color: #0F519B;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: .8em;
}
.popup-cont h4.f-green{
	color: #309BB4;
}
.popup-cont figure{
	margin-bottom: 5px;
}
.popup-cont p{
	text-align: left;
}
.popup-cont p.t-center{
	text-align: center;
}
.anc-wrap{
	position: relative;
}
.anc-wrap .anc{
	position: absolute;
	top: -100px;
	display: block;
	height: 0;
}

/* FadeUp */
.move.move-active.FadeUp{ animation: FadeUp 1s; opacity: 0;}
@keyframes FadeUp {
  0% { transform: translateY(60px); opacity: 0;}
  100% { transform: translateY(0); opacity: 1;}
}
/* movelist */
div figure.movelist{
	opacity: 0;
}
div figure:nth-child(1).movelist.movelist-active{
	transform-origin: center bottom;
	animation: balloonAnime 3s ease-out 0s 1 forwards;
}
div figure:nth-child(2).movelist.movelist-active{
	transform-origin: center bottom;
	animation: balloonAnime 3s ease-out .3s 1 forwards;
}
div figure:nth-child(3).movelist.movelist-active{
	transform-origin: center bottom;
	animation: balloonAnime 3s ease-out .6s 1 forwards;
}
@keyframes balloonAnime {
	0% { transform: scale(1);}
	5% { transform: scale(1.1);}
	10% { transform: scale(1); opacity: 1;}
	20% { transform: scale(1.02);}
	30% { transform: scale(1);}
	100% { transform: scale(1); opacity: 1;}
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	section{
		padding-top: 70px;
		padding-bottom: 20vw;
	}
	/* ttl */
	.ttl1 span{
		font-size: 5.33vw;
	}
	.ttl1 span.english{
		font-size: 9.6vw;
	}
	.ttl2{
		font-size: 4.266vw;
	}
	.ttl2 span{
		padding: 0 4vw;
	}
	.ttl2 .english{
		font-size: 4.8vw;
	}
	.ttl3{
		font-size: 6.4vw;
		margin-bottom: 1.5em;
	}
	.ttl4{
		font-size: 5.33vw;
		padding-bottom: 3vw;
	}
	.ttl4.bd-no{
		padding-bottom: 2vw;
	}
	/* btn */
	.btn1{
		max-width: 56vw;
		font-size: 3.733vw;
	}
	.btn2{
		font-size: 4.8vw;
		padding: 15px 30px;
	}
	button.btn2{
		height: 54px;
		line-height: 24px;
	}
	.btn2:after{
		right: 10px;
	}
	.btn3{
		font-size: 4.266vw;
		padding: 10px 30px;
	}
	.btn3:after{
		right: 10px;
	}
	.btn4{
		font-size: 4vw;
		padding: 10px 30px;
	}
	.btn4:after{
		right: 10px;
	}
	.btn-back{
		font-size: 4.8vw;
		padding: 15px 30px;
	}
	.btn-back:before{
		left: 10px;
	}
	.btn-back2{
		font-size: 4.8vw;
		padding: 15px 10vw 15px 15vw;
		max-width: inherit;
	}
	.btn-back2:before{
		left: 3vw;
	}
	.btn-pdf{
		font-size: 3.733vw;
		padding: 3vw 8vw;
		background: url("../img/ic-pdf2.svg") right 2.5vw center / 5.33vw auto no-repeat #30B4AF;
	}
	/* pager */
	ul.pager{
		font-size: 4.8vw;
		padding-top: 2em;
	}
	ul.pager li{
		margin: 0 1.5vw 4vw;
	}
	ul.pager li a{
		width: 9.6vw;
		height: 9.6vw;
		line-height: 8.4vw;
	}
	/* pan */
	.pan{
		display: none;
	}
	/* lower */
	.lower{
		background: url("../img/lower-bg.jpg") left top 30vw / 80% auto no-repeat;
	}
	.lower-ttl{
		height: inherit;
		padding: 5vw 5%;
		background-size: cover!important;
		margin-bottom: 5vw;
	}
	.lower-ttl:before{
		width: 100%;
	}
	.lower-ttl h2 .ebgaramond{
		font-size: 10vw;
	}
	/* link-list */
	.link-list{
		display: block;
	}
	.link-list a{
		width: 100%;
		margin: 0 0 8vw;
	}
	ul.link-list2{
		display: block;
		padding: 0 5% 15vw;
		border-bottom: 1px solid #CEC5C5;
	}
	ul.link-list2 li{
		padding: 3vw 0;
		border-top: 1px solid #000;
		border-left: none;
		margin-bottom: 0;
	}
	ul.link-list2 li:first-child{
		border-top: none;
	}
	ul.link-list2 li a{
		font-size: 4.8vw;
		min-height: 17px;
	}
	.link-list3{
		display: block;
	}
	.link-list3 a{
		font-size: 4.266vw;
		padding: 2.4vw;
		width: 100%;
		margin: 0 0 2vw;
	}
	/* popup-cont */
	#cboxContent{
		padding-bottom: 4em;
	}
	.popup-cont{
		padding: 3vw 4vw 60px;
	}
	.popup-cont h4{
		font-size: 4.8vw;
		margin-bottom: .8em;
	}
	.popup-cont figure{
		margin-bottom: 1vw;
	}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{
	color: #999;
	background: #4B4B4B;
	padding: 1px 0 50px;
}
footer a{
	color: #fff;
}
footer .pagetop{
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 1;
	cursor: pointer;
}
footer .fnav1{
	display: flex;
	margin-top: -40px;
	margin-bottom: 65px;
	background: linear-gradient(to right, #309bb4 0%, #61b7ad 100%);
}
footer .fnav1 li{
	width: 100%;
	position: relative;
}
footer .fnav1 li:first-child:after{
	display: block;
	content: "";
	content: none;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 80px;
	background: #fff;
}
footer .fnav1 li a{
	display: block;
	padding: 30px 30px 20px;
	font-size: 18px;
	font-weight: bold;
}
footer .fnav1 li a:hover{
	opacity: 1;
	background: rgba(255,255,255,.3);
}
footer .fnav1 li a img{
	display: block;
	margin: 0 auto .5em;
}
footer .fnav2{
	display: flex;
	text-align: left;
	margin-bottom: 1em;
}
footer .fnav2 > div{
	display: flex;
}
footer .fnav2 div.leftcol{ width: 58%;}
footer .fnav2 div.leftcol dl:nth-child(1){ width: 55%;}
footer .fnav2 div.leftcol dl:nth-child(2){ flex: 1;}
footer .fnav2 div.rightcol{ flex: 1;}
footer .fnav2 div.rightcol dl:nth-child(1){ flex: 1;}
footer .fnav2 div.rightcol dl:nth-child(2){ width: 8em;}
footer .fnav2 dl dt,footer .fnav2 dl dt a{
	color: #fff;
	font-weight: bold;
}
footer .fnav2 dl dd ul li{ margin-bottom: .3em;}
footer .fnav2 dl dd a{
	color: #999;
	font-size: 14px;
	font-weight: 500;
}
footer .fnav2 dl dd img{
	display: block;
	width: 208px;
	max-width: 100%;
	margin-top: 8px;
}
footer .flink{
	font-size: 14px;
	font-weight: 500;
}
footer .copy{
	font-size: 12px;
	font-weight: 500;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{
		padding: 0 0 25vw;
	}
	footer .pagetop img{
		width: 16vw;
	}
	footer .fnav1{
		margin: 0 -3vw 15vw;
	}
	footer .fnav1 li:first-child:after{
		height: 16vw;
	}
	footer .fnav1 li a{
		padding: 5vw 0 3vw;
		font-size: 3.46vw;
	}
	footer .fnav1 li a img{
		width: 6.66vw;
	}
	footer .fnav2{
		display: block;
		margin-bottom: 1em;
	}
	footer .fnav2 > div{
		display: block;
	}
	footer .fnav2 div.leftcol{
		width: 100%;
	}
	footer .fnav2 div dl{
		width: auto!important;
		margin-bottom: 2em;
	}
	footer .fnav2 dl dt{
		font-size: 4.26vw;
	}
	footer .fnav2 dl dd a{
		font-size: 3.73vw;
		font-weight: 500;
	}
	footer .fnav2 dl dd img{
		width: 50%;
		margin-top: 2vw;
	}
	footer .flink{
		font-size: 3.73vw;
	}
	footer .copy{
		font-size: 3.2vw;
	}
}



















































/*--------------------------------------------------------------------------------------------
	Sub-page settings
----------------------------------------------------------------------------------------------*/
/*----------------------------------------------
	/
-----------------------------------------------*/

.top1{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100vh;
	margin-bottom: 135px;
}
.top-fixedbnr{
	position: absolute;
	right: 0;
	bottom: -40px;
	width: 347px;
	z-index: 1;
	display: block;
}
.movie{
	overflow: hidden;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.movie video{
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
/*	transform: translate(-50%,-50%);*/
}
.topbg{
	clear: both;
	background: url("../img/topbg2.jpg") left bottom / 40% auto no-repeat, url("../img/topbg1.jpg") center top / 100% auto no-repeat;
}
.top2{
	display: flex;
	margin-bottom: 70px;
}
.top2 figure{
	width: 52.7%;
	min-height: 365px;
	aspect-ratio: 1442 / 880;
	background: url("../img/top2-img.jpg") center / cover no-repeat;
}
.top2 div{
	flex: 1;
	padding-left: 100px;
	margin-right: calc(50% - 550px);
	text-align: left;
}
.top2 div .txt{
	margin-bottom: 5em;
}
.top3{
	padding-bottom: 40px;
	background: rgba(255,255,255,.8);
	margin-bottom: 45px;
}
.top3 .tab{
	display: flex;
}
.top3 .tab li{
	width: 384px;
	line-height: 4.37;
	font-weight: bold;
	border-right: 3px solid #fff;
	background: #E0E0E0;
	cursor: pointer;
	transition: all .2s;
}
.top3 .tab li:last-child{
	border-right: none;
}
.top3 .tab li:hover,
.top3 .tab li.active{
	opacity: 1;
	color: #fff;
	background: #00478A;
}
.top3 .cont{
	padding-top: 60px;
}
.top3 .cont ul{
	display: none;
}
.top3 .cont ul.active{
	display: flex;
	flex-wrap: wrap;
}
.top3 .cont ul li{
	font-weight: bold;
	width: 23.6%;
	margin-bottom: 20px;
}
.top3 .cont ul li:not(:nth-child(4n)){
	margin-right: 1.86%;
}
.top3 .cont ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	line-height: 1.5;
	background: #F4F4F7;
}
.top3 .cont ul:nth-child(2) li a{
	background: #ddd;
}
.top3 .cont ul li a:hover{
	opacity: 1;
	color: #fff;
	background: #999;
}
.top4{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
.top4 a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 49.9%;
	height: 304px;
	color: #fff;
}
.top4 a:nth-child(1){ background: url("../img/top4-bg1.jpg") center / cover no-repeat;}
.top4 a:nth-child(2){ background: url("../img/top4-bg2.jpg") center / cover no-repeat;}
.top5{
	display: flex;
	justify-content: space-between;
	padding-top: 130px;
	padding-bottom: 80px;
	text-align: left;
}
.top5 .leftcol{
	flex: 1;
	margin-left: calc(50% - 500px);
	padding-right: 50px;
}
.top5 .rightcol{
	display: flex;
	justify-content: space-between;
	width: 64.4%;
	margin-right: -4.7%;
}
.top5 .rightcol figure{
	width: 31.7%;
}
.top5 .rightcol figure:nth-child(2){
	margin-top: -160px;
}
.top5 .rightcol figure figcaption{
	display: block;
	padding-top: 50px;
}
.top6{
	display: block;
	padding-top: 60px;
	text-align: left;
}
.top6 h2{
	float: left;
	margin-right: 40px;
}
.top6 .btn{
	padding-top: .5em;
}
.top6 dl{
	clear: both;
	display: flex;
	padding: 1.5em 0;
}
.top6 dl:not(:last-child){
	border-bottom: 1px solid #99B1CE;
}
.top6 dl dt{
	width: 95px;
	font-size: 14px;
}
.top6 dl dd{
	flex: 1;
}
.top6 dl dd span{
	float: left;
	margin-right: 1.5em;
	margin-top: .2em;
}
.top6 dl dd p{
	overflow: hidden;
	line-height: 1.6;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.topbg{
		background: url("../img/topbg2.jpg") left bottom / 60% auto no-repeat, url("../img/topbg1.jpg") center top 120vw / 100% auto no-repeat;
	}
	.top1{
		/*
		height: 0;
		padding-top: 132.5%;
		*/
		height: 90vh;
		margin-bottom: 10vw;
	}
	.top-fixedbnr{
		display: none;
	}
	.movie video{
		width: 100%;
	}
	.top2{
		display: block;
		margin-bottom: 20vw;
		padding-top: 10.13vw;
	}
	.top2 figure{
		width: 80%;
		min-height: inherit;
		aspect-ratio: auto;
		background: none;
		margin-bottom: 10vw;
	}
	.top2 div{
		padding-left: 5%;
		margin-right: 5%;
	}
	.top2 div .txt{
		margin-bottom: 2em;
	}
	.top3{
		padding: 0 0 4vw;
		margin-bottom: 6vw;
	}
	.top3 .tab li{
		width: 50%;
	}
	.top3 .cont{
		padding: 8vw 0 0;
	}
	.top3 .cont ul{
		display: none;
	}
	.top3 .cont ul li{
		width: 49%;
		margin-bottom: 2%;
	}
	.top3 .cont ul li:not(:nth-child(4n)){
		margin-right: 0;
	}
	.top3 .cont ul li:not(:nth-child(2n)){
		margin-right: 2%;
	}
	.top3 .cont ul li a{
		height: 5em;
		padding: 0 1.5em;
		justify-content: flex-start;
		text-align: left;
	}
	.top4{
		display: block;
		padding: 0;
		margin-bottom: 30vw;
	}
	.top4 a{
		width: auto;
		height: 9.5em;
	}
	.top4 a:nth-child(1){ margin-bottom: 2px; background-position: center top!important;}
	.top4 a:nth-child(2){ background-position: center bottom!important;}
	.top4 a .ttl1 .english{
		font-size: 6.93vw;
	}
	.top5{
		display: block;
		padding: 15vw 5%;
	}
	.top5 .leftcol{
		margin-left: auto;
		padding-right: 0;
		margin-bottom: 27vw;
	}
	.top5 .rightcol{
		display: flex;
		justify-content: space-between;
		width: 120%;
		margin-right: -20%;
	}
	.top5 .rightcol figure{
		width: 31.5%;
	}
	.top5 .rightcol figure:nth-child(2){
		margin-top: -20vw;
	}
	.top5 .rightcol figure figcaption{
		padding-top: 7vw;
	}
	.top6{
		display: block;
		padding-top: 15vw;
		text-align: left;
	}
	.top6 h2{
		float: none;
		margin-right: 0;
	}
	.top6 .btn{
		display: none;
	}
	.top6 dl{
		display: block;
	}
	.top6 dl:last-child{
		padding-bottom: 0;
	}
	.top6 dl dt{
		float: left;
		width: 6em;
		font-size: 3.73vw;
		margin-bottom: 1em;
	}
	.top6 dl dd{
		flex: 1;
		font-size: 4.26vw;
	}
	.top6 dl dd span{
		float: none;
		margin-right: 1.5em;
		margin-top: .2em;
	}
	.top6 dl dd p{
		clear: both;
		overflow: hidden;
	}
}












/* contact */
.contact .form-cont{
	text-align: left;
	padding: 40px 70px;
	border-radius: 10px;
	background: #F4F4F7;
}
.contact table{
	font-weight: 500;
	width: 100%;
}
.contact table th,.contact table td{
	vertical-align: middle;
	padding: 20px 0;
	border-top: 1px dotted #BABABA;
}
.contact table th.v-top{
	vertical-align: top;
}
.contact table tr:first-child th,.contact table tr:first-child td{
	border-top: none;
}
.contact table th{
	padding-left: 57px;
	width: 240px;
	position: relative;
}
.contact table th .hissu{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: block;
	height: 22px;
}
.contact table th.v-top .hissu{
	top: 25px;
	bottom: inherit;
}
.contact table td input.w240{
	width: 240px;
	margin: 0 20px 0 12px;
}
.contact table td input.w266{
	width: 266px;
	margin-right: 20px;
}
.contact table small{
	font-weight: 400;
}
.contact table td label{
	display: inline-block;
	margin-right: 20px;
}
.hissu{
	color: #fff;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 500;
	display: inline-block;
	padding: 2px 7px;
	border-radius: 5px;
	background: #E50C0C;
	margin-right: 15px;
}
.contact .btn-area{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
.contact .btn-area a,.contact .btn-area button{
	margin: 0 10px 20px;
}
input[type="text"], input[type="button"], input[type="submit"], input[type="password"], input[type="email"], input[type="tel"]{
	height: 46px;
	line-height: 46px;
	border: 1px solid #848789;
}
::placeholder {
	color: #C3C3C3;
}
textarea{ height: 220px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.contact .form-cont{
		padding: 10px 20px;
	}
	.contact table th,.contact table td{
		padding: 10px 0;
		display: block;
	}
	.contact table th{
		padding: 10px 0 0;
		width: auto;
	}
	.contact table th .hissu{
		position: static;
		margin: 0 10px 0 0;
		display: inline-block;
		height: inherit;
	}
	.contact table td{
		border-top: none;
	}
	.contact table td input.w240{
		margin: 0 10px 0 5px;
	}
	.contact table td input.w266{
		margin-right: 10px;
	}
	.contact table td label{
		margin-right: 10px;
	}
	.hissu{
		font-size: 3.733vw;
		margin-right: 10px;
	}
}



/* news-list */
.news-list ul.tab-container{
	text-align: center;
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #99B1CE;
}
.news-list ul.tab-container li{
	font-weight: 700;
	min-width: 175px;
	cursor: pointer;
	padding: 10px;
	margin: 0 10px;
	border-radius: 5px 5px 0 0;
}
.news-list ul.tab-container li.tab-blue3{
	color: #0C68D3;
	border: 1px solid #0C68D3;
	border-bottom: none;
}
.news-list ul.tab-container li.tab-blue3.active{
	color: #fff;
	background: #0C68D3;
}
.news-list ul.tab-container li.tab-green{
	color: #30B4AF;
	border: 1px solid #30B4AF;
	border-bottom: none;
}
.news-list ul.tab-container li.tab-green.active{
	color: #fff;
	background: #30B4AF;
}
.news-list ul.tab-container li.tab-yellow{
	color: #E58A0F;
	border: 1px solid #E58A0F;
	border-bottom: none;
}
.news-list ul.tab-container li.tab-yellow.active{
	color: #fff;
	background: #E58A0F;
}
.news-list ul.tab-container li.tab-blue2{
	color: #0F519B;
	border: 1px solid #0F519B;
	border-bottom: none;
}
.news-list ul.tab-container li.tab-blue2.active{
	color: #fff;
	background: #0F519B;
}
.news-list .content{
	display: none;
}
.news-list .content.show{
	display: block;
}
.news-list .top6 dl dt{
	color: #007C9C;
}
.year-wring{
	text-align: right;
	font-weight: 500;
	max-width: 300px;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	margin-right: auto;
	margin-left: auto;
	background: #F4F4F7;
}
.year-wring select{
	text-align: left;
	background: #fff;
	border-radius: 5px;
	border: none;
	height: 37px;
	line-height: 37px;
	width: 160px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	/* news-list */
	.news-list ul.tab-container{
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: 2px solid #99B1CE;
	}
	.news-list ul.tab-container li{
		min-width: inherit;
		width: 49%;
		padding: 2vw;
		margin: 0 2% 2vw 0;
		border-radius: 5px;
	}
	.news-list ul.tab-container li:nth-child(2n){
		margin-right: 0;
	}
	.news-list ul.tab-container li.tab-blue3{
		border: 1px solid #0C68D3;
	}
	.news-list ul.tab-container li.tab-blue3.active{
		background: #0C68D3;
	}
	.news-list ul.tab-container li.tab-green{
		border: 1px solid #30B4AF;
	}
	.news-list ul.tab-container li.tab-green.active{
		background: #30B4AF;
	}
	.news-list ul.tab-container li.tab-yellow{
		border: 1px solid #E58A0F;
	}
	.news-list ul.tab-container li.tab-yellow.active{
		background: #E58A0F;
	}
	.news-list ul.tab-container li.tab-blue2{
		border: 1px solid #0F519B;
	}
	.news-list ul.tab-container li.tab-blue2.active{
		background: #0F519B;
	}
	.year-wring{
		max-width: 290px;
		padding: 0 3vw;
		padding: 3vw;
	}
	.year-wring select{
		width: 150px;
	}
}



/* news-detali */
.news-detali{
	text-align: left;
}
.news-detali .date{
	color: #007C9C;
	font-size: 14px;
	display: inline-block;
	margin-right: 30px;
}
.news-detali .news-ttl{
	font-size: 32px;
	line-height: 1.4;
	font-weight: 300;
	padding-bottom: .5em;
	border-bottom: 1px solid #C6C6C6;
	margin-bottom: 1.5em;
}
.news-detali .news-cont p{
	margin-bottom: 1em;
}
.news-detali .imgleft,
.news-detali .imgright{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}
.news-detali .imgright{
	flex-direction: row-reverse;
}
.news-detali .imgright figure,
.news-detali .imgleft figure{
	width: 48%;
}
.news-detali .imgright .leftcol,
.news-detali .imgleft .rightcol{
	width: 48%;
}
.news-detali .imgright .leftcol div,
.news-detali .imgleft .rightcol div{
	margin-bottom: 3em;
}
.news-detali .imgright .leftcol div p,
.news-detali .imgleft .rightcol div p{
	font-size: 15px;
}
.news-detali .ic-outside,
.news-detali .ic-pdf{
	font-weight: 500;
	text-decoration: underline;
	padding-right: 23px;
	display: inline-block;
}
.news-detali .ic-outside{
	color: #0C68D3;
	background: url("../img/ic-outside.svg") right center no-repeat;
}
.news-detali .ic-pdf{
	background: url("../img/ic-pdf.svg") right center no-repeat;
}
ul.pager li.pager-back a{
	color: #fff;
	font-size: 18px;
	line-height: 1.33;
	text-align: center;
	font-weight: 700;
	background: #333;
	position: relative;
	display: inline-block;
	width: 270px;
	height: 54px;
	padding: 15px 35px;
}
ul.pager li.pager-back a:before{
	content: "";
	position: absolute;
	top: 0;
	left: 20px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-arrow-left-white.svg") center / 20px 7px no-repeat;
	width: 20px;
	height: 7px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.news-detali .date{
		font-size: 3.73vw;
		margin-right: 5vw;
	}
	.news-detali .news-ttl{
		font-size: 8.5vw;
	}
	.news-detali .news-cont p{
		margin-bottom: 1em;
	}
	.news-detali .imgleft,
	.news-detali .imgright{
		display: block;
		margin-bottom: 3em;
	}
	.news-detali .imgright figure,
	.news-detali .imgleft figure{
		width: 100%;
		margin-bottom: 1em;
	}
	.news-detali .imgright .leftcol,
	.news-detali .imgleft .rightcol{
		width: 100%;
	}
	.news-detali .imgright .leftcol div,
	.news-detali .imgleft .rightcol div{
		margin-bottom: 2em;
	}
	.news-detali .imgright .leftcol div p,
	.news-detali .imgleft .rightcol div p{
		font-size: 4vw;
	}
	ul.pager li.pager-back a{
		font-size: 4.8vw;
		width: inherit;
		height: inherit;
		padding: 15px 10vw 15px 15vw;
	}
	ul.pager li.pager-back a:before{
		left: 3vw;
	}
}



/* tech */
.tech{
	text-align: left;
}
.tech .link-list a p{
	font-size: 18px;
	font-weight: 500;
	background-position: left top .65em;
}
.tech-detail{
	text-align: left;
}
.tech-detail .imgright{
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.tech-detail .imgright div{
	width: 53%;
}
.tech-detail .imgright figure{
	width: 40%;
}
.tech-detail .ac-cont{
	padding: 30px 60px;
	border-radius: 10px;
	background: #F4F4F7;
	margin-bottom: 100px;
}
.tech-detail .ac-cont h4{
	font-size: 26px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.5em;
}
.tech-detail .ac-cont dl{
	margin-bottom: 20px;
}
.tech-detail .ac-cont dl dt{
	color: #fff;
	font-size: 22px;
	line-height: 1.5;
	padding: 8px 40px 8px 20px;
	background: #0F519B;
	position: relative;
	cursor: pointer;
}
.tech-detail .ac-cont dl dt:before,
.tech-detail .ac-cont dl dt:after{
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
	width: 16px;
	height: 2px;
	display: block;
	background: #fff;
	-webkit-transition: all .2s; transition: all .2s;
}
.tech-detail .ac-cont dl dt:after{
	transform: rotate(90deg);
}
.tech-detail .ac-cont dl dt.open:after{
	transform: rotate(0deg);
}
.tech-detail .ac-cont dl dt span{
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.tech-detail .ac-cont dl dd{
	font-size: 18px;
	padding: 40px 50px;
	background: #fff;
	display: none;
}
.relation{
	text-align: center;
	padding: 30px 5% 15px;
	background: #DFE5EB;
	margin-bottom: 60px;
}
.relation a.underline{
	padding-right: 12px;
	background: url("../img/ic-arrow-black.svg") right top .5em no-repeat;
}
.relation h5{
	color: #0F519B;
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 10px;
}
.relation ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.relation ul li{
	margin: 0 10px 20px;
	display: flex;
}
.relation ul li a{
	color: #0F519B;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding: 20px 44px 20px 20px;
	min-width: 480px;
	width: 480px;
	max-width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid #0F519B;
	background: url("../img/ic-arrow-blue.svg") right 12px center no-repeat #fff;
}
.relation ul li a > span{
	display: block;
	width: 100%;
	text-align: left;
}
.relation ul.link-blue li a{
	color: #fff;
	background: url("../img/ic-arrow-right-white2.svg") right 12px center no-repeat #0F519B;
}
.tech-detail .rtb-cont{
	padding: 30px 22px 22px;
	border-radius: 10px;
	background: #F4F4F7;
	margin-bottom: 100px;
}
.tech-detail .rtb-cont h4{
	font-size: 26px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.5em;
}
.tech-detail .rtb-cont div{
	position: relative;
}
.tech-detail .rtb-cont div dl{
	position: absolute;
}
.tech-detail .rtb-cont.paper div dl.abs1{
	top: 2.4%;
	right: 28.5%;
}
.tech-detail .rtb-cont.paper div dl.abs2{
	top: 14.3%;
	left: 27.8%;
}
.tech-detail .rtb-cont.paper div dl.abs3{
	top: 22.28%;
	left: 19.8%;
}
.tech-detail .rtb-cont.paper div dl.abs4{
	top: 22.6%;
	right: 13.5%;
}
.tech-detail .rtb-cont.paper div dl.abs5{
	top: 30.92%;
	right: 31.5%;
}
.tech-detail .rtb-cont.paper div dl.abs6{
	top: 40.75%;
	right: 31.5%;
}
.tech-detail .rtb-cont.paper div dl.abs7{
	bottom: 40.36%;
	left: 15.8%;
}
.tech-detail .rtb-cont.paper div dl.abs8{
	bottom: 24.58%;
	left: 19.8%;
}
.tech-detail .rtb-cont.paper div dl.abs9{
	bottom: 10.53%;
	left: 15.8%;
}
.tech-detail .rtb-cont.purification div dl.abs1{
	top: 3.33%;
	left: 8.8%;
}
.tech-detail .rtb-cont.purification div dl.abs2{
	top: 7.36%;
	left: 31.9%;
}
.tech-detail .rtb-cont.purification div dl.abs3{
	top: 22.7%;
	left: 11.8%;
}
.tech-detail .rtb-cont.purification div dl.abs4{
	top: 31.9%;
	left: 47.8%;
}
.tech-detail .rtb-cont.purification div dl.abs5{
	top: 38.9%;
	left: 50.8%;
}
.tech-detail .rtb-cont.purification div dl.abs6{
	top: 55.7%;
	left: 9.7%;
}
.tech-detail .rtb-cont.purification div dl.abs7{
	bottom: 27.9%;
	left: 49.8%;
}
.tech-detail .rtb-cont.purification div dl.abs8{
	bottom: 21.7%;
	left: 13.7%;
}
.tech-detail .rtb-cont.purification div dl.abs9{
	top: 2.7%;
	right: 27.7%;
}
.tech-detail .rtb-cont.purification div dl.abs10{
	top: 11%;
	right: 52.7%;
}
.tech-detail .rtb-cont.purification div dl.abs11{
	top: 17.8%;
	right: 26.5%;
}
.tech-detail .rtb-cont.purification div dl.abs12{
	top: 31.9%;
	right: 33.9%;
}
.tech-detail .rtb-cont.purification div dl.abs13{
	top: 45.9%;
	right: 31.9%;
}
.tech-detail .rtb-cont.purification div dl.abs14{
	bottom: 38.4%;
	right: 24.1%;
}
.tech-detail .rtb-cont.purification div dl.abs15{
	bottom: 8.4%;
	right: 37.1%;
}
.tech-detail .rtb-cont.petrochemistry div dl.abs1{
	top: 16.1%;
	left: 23.5%;
}
.tech-detail .rtb-cont.petrochemistry div dl.abs2{
	top: 19.1%;
	left: 31.5%;
}
.tech-detail .rtb-cont.petrochemistry div dl.abs3{
	top: 7.1%;
	right: 22.5%;
}
.tech-detail .rtb-cont.petrochemistry div dl.abs4{
	top: 37.1%;
	left: 31.5%;
}
.tech-detail .rtb-cont.petrochemistry div dl.abs5{
	bottom: 22.1%;
	right: 16.5%;
}
.tech-detail .rtb-cont .geothermal div dl.abs1{
	top: 30.7%;
	left: 15.2%;
}
.tech-detail .rtb-cont .geothermal div dl.abs2{
	top: 10%;
	right: 38.2%;
}
.tech-detail .rtb-cont .geothermal div dl.abs3{
	top: 48%;
	right: 27.4%;
}
.tech-detail .rtb-cont.steel div dl.abs1{
	top: 17.4%;
	left: 5.3%;
}
.tech-detail .rtb-cont.steel div dl.abs2{
	top: 41%;
	left: 5.3%;
}
.tech-detail .rtb-cont.steel div dl.abs3{
	bottom: 34.6%;
	left: 5.3%;
}
.tech-detail .rtb-cont.steel div dl.abs4{
	bottom: 7.8%;
	left: 5.3%;
}
.tech-detail .rtb-cont.steel div dl.abs5{
	top: 17.4%;
	right: 5.7%;
}
.tech-detail .rtb-cont.steel div dl.abs6{
	top: 41%;
	right: 5.7%;
}
.tech-detail .rtb-cont.steel div dl.abs7{
	bottom: 34.6%;
	right: 5.7%;
}
.tech-detail .rtb-cont .plant-cont{
	display: flex;
	justify-content: space-between;
}
.tech-detail .rtb-cont .plant-cont div{
	width: 24%;
}
.tech-detail .rtb-cont .plant-cont div dl{
	position: relative;
}
.tech-detail .rtb-cont .plant-cont div dl dt:after{
	content: "";
	background: url("../img/ic-expansion.svg") center no-repeat;
	width: 28px;
	height: 28px;
	position: absolute;
	right: 2vw;
	bottom: 2vw;
	display: block;
}
.tech-detail .rtb-cont .plant-cont div dl dd{
	left: -12px;
}
.tech-detail .rtb-cont div dl dt{
	line-height: 1;
}
.tech-detail .rtb-cont div dl dd{
	color: #fff;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 600;
	width: 270px;
	position: absolute;
	z-index: 98;
	bottom: calc(100% + 16px);
	left: -120px;
	margin: 0 auto;
	background: #30B4AF;
	border-radius: 10px;
	padding: 15px;
	display: none;
}
.tech-detail .rtb-cont div dl:hover dd{
	display: block;
}
.tech-detail .rtb-cont div dl dd:before{
	content: "";
	position: absolute;
	right: 0;
	top: 99%;
	left: 0;
	margin: 0 auto;
	display: block;
	background: #30B4AF;
	width: 12px;
	height: 11px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.tech-detail .rtb-cont div dl dd:after{
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 20px;
	display: block;
}
.tech-detail .rtb-cont div dl.upper dd{
	top: calc(100% + 16px);
	bottom: auto;
}
.tech-detail .rtb-cont div dl.upper dd:before{
	top: -11px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.tech-detail .rtb-cont div dl.upper dd:after{
	top: -19px;
}
.tech-detail .rtb-cont div dl dd p{
	color: #fff;
	margin-bottom: .6em;
}
.tech-detail .rtb-cont div dl dd p:before{
	content: "＜";
}
.tech-detail .rtb-cont div dl dd p:after{
	content: "＞";
}
.tech-detail .rtb-cont div dl dd ul{
	margin-bottom: 1.5em;
}
.tech-detail .rtb-cont div dl dd ul:last-child{
	margin-bottom: 0;
}
.tech-detail .rtb-cont div dl dd ul li{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: .4em;
}
.tech-detail .rtb-cont div dl dd ul li:last-child{
	margin-bottom: 0;
}
	

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.tech .link-list a p{
		font-size: 4.8vw;
	}
	.tech-detail .imgright{
		display: block;
		margin-bottom: 10vw;
	}
	.tech-detail .imgright div{
		width: 100%;
		margin-bottom: 5vw;
	}
	.tech-detail .imgright figure{
		width: 100%;
	}
	.tech-detail .ac-cont{
		padding: 6vw 8vw;
		margin-bottom: 15vw;
	}
	.tech-detail .ac-cont h4{
		font-size: 5.33vw;
	}
	.tech-detail .ac-cont dl{
		margin-bottom: 4vw;
	}
	.tech-detail .ac-cont dl dt{
		font-size: 4.266vw;
	}
	.tech-detail .ac-cont dl dd{
		font-size: 4.266vw;
		padding: 4vw 5vw;
	}
	.relation{
		padding: 8vw 0;
		margin-bottom: 16vw;
	}
	.relation h5{
		font-size: 5.066vw;
		margin-bottom: 2vw;
	}
	.relation ul li{
		margin: 0 1vw 2vw;
		width: 100%;
	}
	.relation ul li a{
		font-size: 4.266vw;
		padding: 4vw 12vw 4vw 6vw;
		min-width: inherit;
		width: 100%;
	}
	.relation ul.link-blue li .is-coming-soon{
		font-size: 4.266vw;
		padding: 4vw 6vw;
		min-width: inherit;
		width: 100%;
	}
	.relation ul.link-blue li .coming-soon-txt{
		font-size: 2.93vw;
	}
	.tech-detail .rtb-cont{
		padding: 6vw 8vw 10vw;
		margin-bottom: 15vw;
	}
	.tech-detail .rtb-cont h4{
		font-size: 5.33vw;
	}
	.tech-detail .rtb-cont div dl{
		display: none;
	}
	.tech-detail .rtb-cont .plant-cont{
		display: block;
	}
	.tech-detail .rtb-cont .plant-cont div{
		width: 100%;
		margin-bottom: 5vw;
	}
}




/* business */
.business{
	text-align: left;
}
.business .link-list a p{
	font-size: 18px;
	font-weight: 500;
	background-position: left top .65em;
}
.business-detail{
	text-align: left;
}
.business-detail .modal-cont{
	text-align: center;
	position: relative;
	margin-bottom: 3em;
}
.business-detail .modal-cont p{
	position: absolute;
	z-index: 3;
	text-align: right;
	bottom: 100%;
	right: 10px;
	font-size: 14px;
	font-weight: 600;
}
.business-detail .modal-cont .popup{
	display: block;
	position: absolute;
	z-index: 2;
	width: 5.9%;
}
.business-detail .modal-cont .petrochemistry-ser1{
	top: 30%;
	left: 33%;
}
.business-detail .modal-cont .petrochemistry-ser2{
	top: 25%;
	left: 37.4%;
}
.business-detail .modal-cont .petrochemistry-ser3{
	top: 36%;
	left: 44%;
}
.business-detail .modal-cont .petrochemistry-ser4{
	top: 42%;
	left: 54.5%;
}
.business-detail .modal-cont .petrochemistry-ser5{
	top: 33%;
	left: 63%;
}
.business-detail .modal-cont .purification-ser1{
	top: 8%;
	left: 13%;
}
.business-detail .modal-cont .purification-ser2{
	top: 36%;
	left: 28%;
}
.business-detail .modal-cont .purification-ser3{
	top: -5%;
	left: 20%;
}
.business-detail .modal-cont .purification-ser4{
	top: 20%;
	left: 23%;
}
.business-detail .modal-cont .purification-ser5{
	top: 20%;
	right: 31%;
}
.business-detail .modal-cont .purification-ser6{
	top: -1%;
	right: 10%;
}
.business-detail .modal-cont .purification-ser7{
	top: -5%;
	right: 47.5%;
}
.business-detail .modal-cont .paper-ser1{
	top: 0;
	left: 14%;
}
.business-detail .modal-cont .paper-ser2{
	top: 5%;
	right: 35%;
}
.business-detail .modal-cont .steel-ser1{
	top: 42%;
	left: 16%;
}
.business-detail .modal-cont .steel-ser2{
	top: 24%;
	left: 30%;
}
.business-detail .modal-cont .steel-ser3{
	top: .5%;
	right: 34%;
}
.business-detail .modal-cont .steel-ser4{
	top: -5%;
	left: 33%;
}
.business-detail .modal-cont .steel-ser5{
	top: 58%;
	right: 25%;
}
.business-detail .modal-cont .plant-ser1{
	top: 8%;
	left: 29%;
}
.business-detail .modal-cont .plant-ser2{
	top: 3%;
	left: 47%;
}
.business-detail .modal-cont .plant-ser3{
	top: 60%;
	right: 29%;
}
.business-detail .modal-cont .plant-ser4{
	top: 0;
	left: 52%;
}
.business-detail .modal-cont .plant-ser5{
	top: 29%;
	right: 9%;
}
.business-detail .modal-cont .food-ser1{
	top: 2%;
	right: 34%;
}
.business-detail .modal-cont .food-ser2{
	top: 12%;
	right: 56%;
}
.business-detail .modal-cont .food-ser3{
	top: 6%;
	left: 11%;
}
.business-detail .modal-cont .food-ser4{
	top: 27%;
	left: 29%;
}
.business-detail .modal-cont .electronic-ser1{
	top: -7%;
	left: 34%;
}
.business-detail .modal-cont .electronic-ser2{
	top: 0;
	right: 12%;
}
.business-detail .modal-cont .electronic-ser3{
	top: 0;
	left: 15%;
}
.business-detail .modal-cont .electronic-ser4{
	top: 8%;
	right: 34%;
}
.business-detail .modal-cont .electronic-ser5{
	top: 30%;
	right: 16%;
}
.business-detail .modal-cont .car-ser1{
	top: 25%;
	left: 51%;
}
.business-detail .modal-cont .car-ser2{
	top: 12%;
	left: 42%;
}
.business-detail .modal-cont .car-ser3{
	top: 34%;
	left: 68%;
}
.business-detail .modal-cont .air-ser1{
	top: 30%;
	right: 29%;
}
.business-detail .modal-cont .air-ser2{
	top: 4%;
	left: 28%;
}
.business-detail .modal-cont .data-ser1{
	top: 0;
	left: 7%;
}
.business-detail .modal-cont .data-ser2{
	top: 10%;
	left: 23%;
}
.business-detail .modal-cont .data-ser3{
	top: 4%;
	left: 52%;
}
.business-detail .modal-cont .trasar1{
	top: -2%;
	left: 48%;
}
.business-detail .modal-cont .trasar2{
	top: 4%;
	right: 21.7%;
}
.business-detail .modal-cont .trasar3{
	top: 30%;
	left: 21%;
}
.business-detail .modal-cont .trasar4{
	top: 37%;
	left: 36%;
}
.business-detail .modal-cont .trasar5{
	top: 12%;
	left: 19%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.business .link-list a p{
		font-size: 4.8vw;
	}
	.business-detail .modal-cont p{
		font-size: 2.5vw;
		bottom: 107%;
	}
}



/* products */
ul.products-list{
	display: flex;
	flex-wrap: wrap;
}
ul.products-list li{
	text-align: center;
	width: 32%;
	padding: 30px;
	margin: 0 2% 20px 0;
	margin-bottom: 20px;
	background: #F4F4F7;
}
ul.products-list li:nth-child(3n){
	margin-right: 0;
}
ul.products-list li h3{
	color: #fff;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 500;
	background: #0F519B;
	padding: 5px;
	margin-bottom: 15px;
}
ul.products-list li figure{
	margin-bottom: 20px;
}
ul.products-list li p{
	margin-bottom: 12px;
}
ul.products-list li p a{
	color: #0F519B;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding: 17px 40px 17px 17px;
	background: url("../img/ic-arrow-right-blue.svg") right 10px center no-repeat #fff;
	border: 1px solid #0F519B;
}
ul.products-list li p a > span{
	display: block;
	width: 100%;
	text-align: left;
}

.products-detali .detail-cont{
	text-align: left;
	padding: 50px 70px;
	background: #F4F4F7;
	border-radius: 10px;
}
.products-detali .detail-cont .products-ttl{
	color: #0F519B;
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 3px solid #0F519B;
	margin-bottom: 50px;
}
.products-detali .detail-cont .products-ttl small{
	font-size: 20px;
}
.products-detali .detail-cont .imgleft{
	display: flex;
	justify-content: space-between;
}
.products-detali .detail-cont .imgleft .leftcol{
	width: 53.5%;
	margin-right: 4.5%;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-main figure,
.products-detali .detail-cont .imgleft .leftcol .gallery-thumb li{
	position: relative;
	height: 0;
	overflow: hidden;
	cursor: pointer;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-thumb .slick-list{
	width: 103%;
	margin-left: -3%;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-thumb .slick-slide{
	margin-left: 3%;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-thumb .slick-slide:first-child{
	padding-left: 0;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-main img,
.products-detali .detail-cont .imgleft .leftcol .gallery-thumb li img{
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-main a:first-child img{
	display: inline-block;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-main figure{
	padding-top: 72%;
}
.products-detali .detail-cont .imgleft .leftcol .gallery-main p{
	margin-bottom: 30px;
}
/*
.products-detali .detail-cont .imgleft .leftcol ul.gallery-thumb{
	display: flex;
	justify-content: space-between;
}
*/
.products-detali .detail-cont .imgleft .leftcol ul.gallery-thumb li{
	padding-top: 21%;
	width: 21%;
	background: #fff;
}
.products-detali .detail-cont .imgleft .rightcol{
	flex: 1;
}
.products-detali .detail-cont .imgleft .rightcol dl{
	margin-bottom: 2.5em;
}
.products-detali .detail-cont .imgleft .rightcol dl dt{
	color: #fff;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
	font-weight: 700;
	background: #0C68D3;
	border-radius: 99px;
	width: fit-content;
	min-width: 160px;
	padding: 1px 10px;
	margin-bottom: 1em;
}
.products-detali .detail-cont .imgleft .rightcol dl dd{
	font-size: 14px;
}
.products-detali .detail-cont .imgleft .rightcol dl dd strong{
	font-size: 16px;
	font-weight: 500;
}
.products-detali .detail-cont .imgleft .rightcol dl dd p{
	margin-bottom: 1em;
}
.products-detali .detail-cont .movie-cont{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
	border-top: 1px dashed #0F519B;
	padding-top: 40px;
}
.products-detali .detail-cont .movie-cont .movie-inner{
	width: 48%;
	margin-bottom: 25px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	/* products */
	ul.products-list{
		display: block;
	}
	ul.products-list li{
		width: 100%;
		padding: 5vw;
		margin-bottom: 5vw;
	}
	ul.products-list li h3{
		font-size: 4.8vw;
		padding: 1vw;
		margin-bottom: 3vw;
	}
	ul.products-list li figure{
		margin-bottom: 4vw;
	}
	ul.products-list li p{
		margin-bottom: 2.4vw;
	}
	ul.products-list li p a{
		font-size: 4.266vw;
		padding: 3vw 12vw 3vw 3vw;
	}
	
	.products-detali .detail-cont{
		padding: 6vw 8vw;
	}
	.products-detali .detail-cont .products-ttl{
		font-size: 6.33vw;
		padding-bottom: 2.66vw;
		margin-bottom: 12vw;
	}
	.products-detali .detail-cont .products-ttl small{
		font-size: 4.33vw;
	}
	.products-detali .detail-cont .imgleft{
		display: block;
	}
	.products-detali .detail-cont .imgleft .leftcol{
		width: 100%;
		margin-bottom: 7vw;
	}
	.products-detali .detail-cont .imgleft .leftcol .gallery-main{
		margin-bottom: 2vw;
	}
	.products-detali .detail-cont .imgleft .leftcol .gallery-main p{
		margin-bottom: 5vw;
	}
	.products-detali .detail-cont .imgleft .leftcol ul.gallery-thumb li{
		width: 22.3%;
	}
	.products-detali .detail-cont .imgleft .rightcol{
		width: 100%;
	}
	.products-detali .detail-cont .imgleft .rightcol dl{
		margin-bottom: 2.5em;
	}
	.products-detali .detail-cont .imgleft .rightcol dl dt{
		font-size: 4.266vw;
		margin-bottom: .5em;
	}
	.products-detali .detail-cont .imgleft .rightcol dl dd{
		font-size: 3.466vw;
	}
	.products-detali .detail-cont .imgleft .rightcol dl dd strong{
		font-size: 3.733vw;
	}
	.products-detali .detail-cont .imgleft .rightcol dl dd p{
		margin-bottom: .5em;
	}
	.products-detali .detail-cont .movie-cont{
		display: block;
		margin-top: 0;
		padding-top: 8vw;
	}
	.products-detali .detail-cont .movie-cont .movie-inner{
		width: 100%;
		margin-bottom: 6.4vw;
	}
}



/* sustainability */
section.sustainability{ padding-bottom: 50px;}
.sustainability .sustainability-cont{
	padding-top: 100px;
	border-top: 1px solid #CEC5C5;
	margin-bottom: 30px;
}
.sustainability .sustainability-cont.bd-no{ border-top: none;}
.sustainability .sustainability-cont ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sustainability .sustainability-cont ul.j-center{
	justify-content: center;
}
.sustainability .sustainability-cont ul li{
	width: 30.8%;
	margin-bottom: 100px;
}
.sustainability .sustainability-cont ul li figure{
	margin-bottom: 35px;
}
.sustainability .sustainability-cont ul li figure img{
	margin-bottom: 15px;
}
.sustainability .sustainability-cont ul li figure figcaption{
	color: #0C68D3;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 500;
}
.sustainability .sustainability-cont ul li p{
	font-size: 14px;
	text-align: left;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	section.sustainability{ padding-bottom: 5vw;}
	.sustainability .sustainability-cont{
		padding-top: 12vw;
		margin-bottom: 6vw;
	}
	.sustainability .sustainability-cont ul{
		display: block;
	}
	.sustainability .sustainability-cont ul li{
		width: 100%;
		margin-bottom: 15vw;
	}
	.sustainability .sustainability-cont ul li figure{
		margin-bottom: 4vw;
	}
	.sustainability .sustainability-cont ul li figure img{
		margin-bottom: 2vw;
	}
	.sustainability .sustainability-cont ul li figure figcaption{
		font-size: 4.8vw;
	}
	.sustainability .sustainability-cont ul li p{
		font-size: 3.733vw;
	}
}



/* corporate */
.corporate{
	text-align: left;
}
.corporate .corporate1{
	display: flex;
	justify-content: space-between;
	margin-bottom: 90px;
}
.corporate .corporate1 .leftcol{
	flex: 1;
}
.corporate .corporate1 .leftcol p{
	margin-bottom: 1em;
}
.corporate .corporate1 .rightcol{
	line-height: 1.6;
	text-align: center;
	width: 32%;
}
.corporate .corporate1 .rightcol figure{
	margin-bottom: 15px;
}
.corporate .corporate1 .rightcol strong{
	font-weight: 500;
	display: inline-block;
	padding-top: 5px;
}
.corporate .corporate2{
	color: #0F519B;
	line-height: 1.4;
	text-align: center;
	padding: 60px 0;
	background: url("../img/slogan-bg.jpg") center / cover no-repeat;
	margin-bottom: 110px;
}
.corporate .corporate2 h4{
	color: #fff;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 500;
	padding: 5px;
	max-width: 633px;
	background: linear-gradient(to left, rgba(0,0,0,0), #0F519B, #0F519B, rgba(0,0,0,0));
	margin: 0 auto 1em;
}
.corporate .corporate2 .f30{
	letter-spacing: .1em;
}
.corporate .corporate2 .f18{
	letter-spacing: .02em;
}
.corporate .corporate2 dl{
	padding-top: 20px;
	border-top: 1px solid #0F519B;
	max-width: 800px;
	margin: 0 auto; 
}
.corporate .corporate2 dl dt{
	font-size: 22px;
	line-height: 1.8;
	font-weight: 600;
	letter-spacing: .15em;
	margin-bottom: .5em;
}
.corporate .corporate2 dl dd{
	line-height: 2.2;
}
.corporate .corporate3 a{
	color: #0F519B;
	text-decoration: underline;
}
.corporate .corporate3 .imgright{
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	padding-left: 35px;
	margin-bottom: 60px;
}
.corporate .corporate3 .imgright div{
	flex: 1;
}
.corporate .corporate3 .imgright ol{
	font-weight: 500;
	margin-bottom: 1em;
}
.corporate .corporate3 .imgright ol li{
	padding-left: 2.5em;
	text-indent: -2.5em;
}
.corporate .corporate3 .imgright figure{
	width: 35%;
	margin-left: 40px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
/* corporate */
	.corporate .corporate1{
		display: block;
		margin-bottom: 10vw;
	}
	.corporate .corporate1 .leftcol{
		margin-bottom: 5vw;
	}
	.corporate .corporate1 .rightcol{
		margin: 0 auto;
		width: 50%;
	}
	.corporate .corporate1 .rightcol figure{
		margin-bottom: 3vw;
	}
	.corporate .corporate1 .rightcol strong{
		padding-top: 1vw;
	}
	.corporate .corporate2{
		padding: 12vw 0;
		margin-bottom: 15vw;
	}
	.corporate .corporate2 h4{
		font-size: 4.8vw;
		padding: 1vw;
	}
	.corporate .corporate2 dl{
		padding-top: 4vw;
	}
	.corporate .corporate2 dl dt{
		font-size: 4.8vw;
	}
	.corporate .corporate2 dl dd{
		text-align: left;
		font-size: 3.466vw;
	}
	.corporate .corporate2 dl dd br{ display: none;}
	.corporate .corporate3 .imgright{
		font-size: 3.466vw;
		display: block;
		padding-left: 0;
		margin-bottom: 15vw;
	}
	.corporate .corporate3 .imgright div{
		margin-bottom: 5vw;
	}
	.corporate .corporate3 .imgright figure{
		width: 100%;
		margin: 0;
	}
}



/* outline */
.outline1{
	margin-bottom: 140px;
}
.outline1 table{
	width: 100%;
}
.outline1 table th,.outline1 table td{
	padding: 35px 5px 35px 30px;
}
.outline1 table th{
	font-weight: 700;
	width: 150px;
	border-bottom: 1px solid #0F519B;
}
.outline1 table td{
	padding-left: 50px;
	border-bottom: 1px solid #E2E2E2;
}
.outline1 table tr:first-child th{
	border-top: 1px solid #0F519B;
}
.outline1 table tr:first-child td{
	border-top: 1px solid #E2E2E2;
}
.outline1 table td dl{
	display: flex;
}
.outline1 table td dl dt{
	width: 8em;
	padding-right: 1em;
}
.outline1 table td dl dd{
	flex: 1;
}
.outline1 table td div{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.outline1 table td div figure{
	margin-right: 85px;
}
.outline2{
	margin-bottom: 100px;
}
.outline2 ul{
	padding: 0 30px;
	display: flex;
	flex-wrap: wrap;
}
.outline2 ul li{
	font-weight: 500;
	line-height: 1.4;
	width: 33.33%;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 1.5em;
}
.outline2 ul li small{
	font-size: 11px;
	line-height: 1;
	font-weight: 300;
}
.outline3 ul{
	padding: 0 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.outline3 ul li{
	width: 48%;
	margin-bottom: 50px;
}
.outline3 ul li h4{
	color: #fff;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	padding: 8px;
	background: #0F519B;
	margin-bottom: 20px;
}
.outline3 ul li div{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.outline3 ul li p{
	margin-bottom: .2em;
}
.outline3 ul li .map{
	font-size: 14px;
	font-weight: 600;
	display: inline-block;
	width: 140px;
	text-align: center;
	border: 1px solid #000;
	padding: 1px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
/* outline */
	.outline1{
		margin-bottom: 28vw;
	}
	.outline1 table th,.outline1 table td{
		padding: 3vw 1vw 3vw 3vw;
		display: block;
	}
	.outline1 table th{
		width: auto;
		padding-bottom: 0;
		border-bottom: none;
	}
	.outline1 table td{
		padding-left: 3vw;
	}
	.outline1 table tr:first-child th{
		border-top: 1px solid #E2E2E2;
		padding-top: 3vw;
	}
	.outline1 table tr:first-child td{
		border-top: none;
	}
	.outline1 table td dl{
		display: block;
	}
	.outline1 table td dl dt{
		width: auto;
		padding-right: 0;
	}
	.outline1 table td dl dd{
		margin-bottom: 1em;
	}
	.outline1 table td div figure{
		padding-top: 2vw;
		margin-right: 5vw;
	}
	.outline2{
		margin-bottom: 20vw;
	}
	.outline2 ul{
		display: block;
		padding: 0;
	}
	.outline2 ul li{
		width: 100%;
		margin-bottom: 1em;
	}
	.outline2 ul li small{
		font-size: 3vw;
	}
	.outline3 ul{
		padding: 0;
		display: block;
	}
	.outline3 ul li{
		width: 100%;
		margin-bottom: 10vw;
	}
	.outline3 ul li h4{
		font-size: 4.266vw;
		padding: 2vw;
		margin-bottom: 3vw;
	}
	.outline3 ul li div{
		display: block;
	}
	.outline3 ul li .map{
		font-size: 3.466vw;
		display: block;
		width: auto;
		padding: .2vw;
	}
}



/* history */
.history1{
	margin-bottom: 80px;
}
.history1 .clm2{
	display: flex;
	justify-content: center;
}
.history1 .clm2 dl{
	text-align: center;
	width: 34.5%;
	margin: 0 3% 25px;
}
.history1 .clm2 dl dt{
	margin-bottom: 20px;
}
.history1 .clm2 dl dd{
	font-size: 14px;
}
.history1 .history-logo{
	text-align: center;
}
.history1 .history-logo .date{
	font-size: 26px;
	font-weight: 500;
	margin-bottom: 5px;
}
.history1 .history-logo .fig{
	margin-bottom: 15px;
}
.history1 .history-logo .f22{
	line-height: 1.6;
}
.history2 table{
	width: 100%;
}
.history2 table th,.history2 table td{
	font-size: 18px;
	font-weight: 500;
	vertical-align: middle;
}
.history2 table th{
	color: #0F519B;
	text-align: center;
	padding: 25px 20px;
	border-bottom: 1px solid #0F519B;
	width: 85px;
}
.history2 table td{
	padding: 25px 5px 25px 40px;
	border-bottom: 1px solid #E2E2E2;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	/* history */
	.history1{
		margin-bottom: 10vw;
	}
	.history1 .clm2 dl{
		width: 45%;
		margin: 0 2.5% 2.5vw;
	}
	.history1 .clm2 dl dt{
		margin-bottom: 1vw;
	}
	.history1 .clm2 dl dd{
		font-size: 3.4vw;
	}
	.history1 .history-logo img{
		width: 60%;
	}
	.history1 .history-logo .date{
		font-size: 5.33vw;
		margin-bottom: 1vw;
	}
	.history1 .history-logo .fig{
		margin-bottom: 3vw;
	}
	.history2 table th,.history2 table td{
		font-size: 4.266vw;
	}
	.history2 table th{
		padding: 3vw 2vw;
		width: 10vw;
	}
	.history2 table td{
		padding: 3vw 1vw 3vw 5vw;
	}
}



/* about */
.about1{
	margin-bottom: 130px;
}
.about1 h4{
	color: #0F519B;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 500;
	text-align: center;
	position: relative;
	margin-bottom: 1.5em;
}
.about1 h4:before{
	content: "";
	display: block;
	position: absolute;
	top: .8em;
	width: 100%;
	height: 1px;
	background: #0F519B;
	z-index: 1;
}
.about1 h4 span{
	display: inline-block;
	background: #fff;
	padding: 0 23px;
	position: relative;
	z-index: 2;
}
.about1 .bg-aqua{
	padding: 60px 60px 30px;
	background: #EBF8FF;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
}
.about1 .bg-aqua dl{
	width: 32%;
}
.about1 .bg-aqua dl dt{
	color: #0C68D3;
	font-size: 23px;
	letter-spacing: .1em;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 50px;
}
.about1 .bg-aqua ul{
	width: 62.4%;
	display: flex;
	flex-wrap: wrap;
}
.about1 .bg-aqua ul li{
	font-size: 14px;
	line-height: 1.4;
	width: 31%;
	margin: 0 3.5% 30px 0;
}
.about1 .bg-aqua ul li:nth-child(3n){
	margin-right: 0;
}
.about1 .bg-aqua ul li figure{
	text-align: center;
	margin-bottom: 5px;
}
.about1 .bg-aqua ul li h5{
	text-align: center;
	font-weight: 500;
	padding: 8px 0;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	margin-bottom: 10px;
}
.about1 .bg-aqua ul li p{
	text-align: left;
}
.about2{
	margin-bottom: 100px;
}
.about2 h3{
	color: #309BB4;
	font-size: 36px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin-bottom: 50px;
}
.about2 h3 span{
	display: inline-block;
	padding: 0 70px;
	background: url("../img/about-balloon1.svg") left center no-repeat,
				url("../img/about-balloon2.svg") right center no-repeat;
}
.about2 .modal-cont{
	position: relative;
	margin-bottom: 60px;
}
.about2 .modal-cont a{
	color: #fff;
	font-size: 1.07vw;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	position: absolute;
	background: url("../img/ic-expansion2.svg") center / 100% auto no-repeat;
	width: 13.9%;
	height: 7.4%;
	padding: .6% 1%;
	display: block;
}
.about2 .modal-cont a:hover{
	opacity: .8;
}
.about2 .modal-cont a.popup1{
	bottom: 35%;
	left: 18.15%;
	z-index: 2;
}
.about2 .modal-cont a.popup2{
	bottom: 43%;
	left: 29.8%;
	z-index: 1;
}
.about2 .modal-cont a.popup3{
	top: 17%;
	left: 23%;
}
.about2 .modal-cont a.popup4{
	top: 27.5%;
	left: 7%;
}
.about2 .modal-cont a.popup5{
	top: 2.2%;
	right: 15.9%;
}
.about2 .modal-cont a.popup6{
	top: 42.5%;
	right: 28.6%;
}
.about2 .modal-cont a.popup7{
	right: 28.7%;
	bottom: 22.2%;
}
.about2 .modal-cont a.popup8{
	top: 24.5%;
	right: 14.9%;
}
.about2 .modal-cont a.popup9{
	top: 2%;
	left: 38.3%;
}
.about2 .modal-cont a.popup10{
	top: 10%;
	left: 49.4%;
}
.about3{
	padding-top: 50px;
	padding-bottom: 90px;
	background: #F4F4F7;
}
.about3 h3{
	font-size: 26px;
	font-weight: 700;
	letter-spacing: .2em;
	margin-bottom: .5em;
}
.about3 h3 strong{
	color: #309BB4;
	font-size: 60px;
}
.about3 h3 em{
	font-size: 36px;
	font-weight: 700;
}
.about3 ul.box1{
	display: flex;
	justify-content: space-between;
}
.about3 ul.box1 li:first-child{ width: 40.4%;}
.about3 ul.box1 li:last-child{ width: 57.6%;}
.about3 .box2{
	display: flex;
	justify-content: space-between;
}
.about3 .box2 ul{
	width: 31.8%;
}
.about3 .box2 ul:first-child{
	width: 32.4%;
}
.about3 ul li{
	background: #fff;
	margin-bottom: 18px;
}


/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1120px) {
	.about2 .modal-cont a{
		font-size: 12px;
		padding: 6px 25px;
		background: url("../img/ic-expansion2-sp.svg") center / 100% auto no-repeat;
	}
}
@media screen and (max-width: 540px) {
	/* about */
	.about1{
		padding-top: 5vw;
		margin-bottom: 20vw;
	}
	.about1 h4{
		font-size: 4.8vw;
		margin-bottom: 1.5em;
	}
	.about1 h4 span{
		padding: 0 4vw;
	}
	.about1 .bg-aqua{
		padding: 5.33vw 5.33vw 3vw;
		display: block;
	}
	.about1 .bg-aqua dl{
		width: 100%;
		margin-bottom: 10vw;
	}
	.about1 .bg-aqua dl dt{
		font-size: 4.8vw;
		margin-bottom: 6vw;
	}
	.about1 .bg-aqua ul{
		width: 100%;
		display: block;
	}
	.about1 .bg-aqua ul li{
		font-size: 3.466vw;
		width: 100%;
		margin: 0 0 8vw;
	}
	.about1 .bg-aqua ul li figure{
		margin-bottom: 2vw;
	}
	.about1 .bg-aqua ul li h5{
		padding: 2vw 0;
		margin-bottom: 3vw;
	}
	.about2{
		margin-bottom: 15vw;
	}
	.about2 h3{
		font-size: 6.4vw;
		margin-bottom: 10vw;
	}
	.about2 h3 span{
		padding: 0 17.66vw;
		background: url("../img/about-balloon1.svg") left center / 15.2vw auto no-repeat,
					url("../img/about-balloon2.svg") right center / 15.2vw auto no-repeat;
		margin-right: 3%;
		margin-left: 3%;
	}
	.about2 .modal-cont{
		margin-bottom: 12vw;
	}
	.about2 .modal-cont a{
		font-size: 1.6vw;
		padding: .7vw 0;
		width: 18%;
		height: 10.5%;
	}
	.about3{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.about3 h3{
		font-size: 5.33vw;
		letter-spacing: .15em;
		margin-bottom: .5em;
	}
	.about3 h3 strong{
		font-size: 9.6vw;
	}
	.about3 h3 em{
		font-size: 6.4vw;
	}
	.about3 ul.box1{
		display: block;
	}
	.about3 ul.box1 li{ width: auto!important;}
	.about3 .box2{
		display: block;
	}
	.about3 .box2 ul{
		width: auto;
	}
	.about3 .box2 ul:first-child{
		width: auto;
	}
	.about3 ul li{
		padding: 0 10%;
		margin-bottom: 5vw;
	}
}



/* privacy */
.privacy{
	text-align: left;
}
.privacy h3,
.privacy h4,
.privacy h5,
.privacy h6{
	font-weight: 600;
}
.privacy h4{
	font-size: 17px;
}
.privacy .bg-gray{
	padding: 30px 40px;
	background: #F4F4F7;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.privacy h4{
		font-size: 4.533vw;
	}
	.privacy .bg-gray{
		padding: 4vw 5vw;
	}
}



/*----------------------------------------------
	important notice banner
-----------------------------------------------*/

:root {
	--header-height: 100px;
	--notice-height: 48px;
}

body.site-corporate.has-important-notice header {
	z-index: 1000;
}

.important-notice {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 999;
	top: var(--header-height);
	background: #FFF0F0;
	color: #D12222;
}

.important-notice__inner {
	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto;
	padding: 8px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
}

.important-notice__inner.no-link {
	justify-content: flex-start;
}

.important-notice__text {
	margin: 0;
	line-height: 1.4;
	font-size: 14px;
	font-weight: 500;
	text-align: left;
}

.important-notice__link {
	margin: 0;
	flex-shrink: 0;
}

.important-notice__link a {
	color: #D12222;
	text-decoration: underline;
	white-space: nowrap;
}

.important-notice__link a:hover {
	opacity: 1;
}

body.has-important-notice section {
	padding-top: calc(var(--header-height) + var(--notice-height));
}

body.site-corporate.has-important-notice section.page-top-hero {
	padding-top: var(--notice-height);
}

@media screen and (max-width: 540px) {
	:root {
		--header-height: 70px;
		--notice-height: 52px;
	}

	body.site-corporate.has-important-notice header nav {
		z-index: 1100;
	}

	.important-notice__inner {
		gap: 0.25em;
		padding-left: 5%;
		padding-right: 5%;
	}

	.important-notice__inner.no-link {
		align-items: flex-start;
	}

	.important-notice__text {
		font-size: 3.2vw;
	}

	body.has-important-notice section {
		padding-top: calc(var(--header-height) + var(--notice-height));
	}

	body.site-corporate.has-important-notice section.page-top-hero {
		padding-top: var(--notice-height);
	}
}

/* Coming Soon（非リンク） */
.is-coming-soon{
	display: block;
	cursor: default;
	pointer-events: none;
	color: #999;
}
header nav .gnav1 li div .is-coming-soon{
	display: block;
	padding: 0 1em;
	font-size: 14px;
	line-height: 1.8;
	padding-top: .4em;
	padding-bottom: .4em;
}
footer .fnav2 dl dd .is-coming-soon{
	color: #999;
	font-size: 14px;
	font-weight: 500;
}
.top3 .cont ul li .is-coming-soon{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	line-height: 1.5;
	background: #ddd;
	font-weight: bold;
	text-align: center;
	padding: 0 .5em;
	box-sizing: border-box;
}
.link-list .is-coming-soon{
	display: block;
	width: 30%;
	margin: 0 5% 40px 0;
	color: inherit;
}
.link-list .is-coming-soon:nth-child(3n){
	margin-right: 0;
}
.link-list .is-coming-soon figure{
	position: relative;
	margin-bottom: .2em;
}
.link-list .is-coming-soon figure img{
	opacity: .6;
}
.link-list .is-coming-soon .coming-soon-watermark{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .28);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.3;
	text-align: center;
	pointer-events: none;
}
.link-list .is-coming-soon p{
	padding-left: 0;
	background: none;
	color: #999;
}
.tech .link-list .is-coming-soon p{
	font-size: 18px;
	font-weight: 500;
	background-position: left top .65em;
}
.link-blue .is-coming-soon,
ul.link-blue li .is-coming-soon{
	pointer-events: none;
	cursor: default;
}
.relation ul.link-blue li .is-coming-soon{
	color: #fff;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
	min-width: 480px;
	width: 480px;
	max-width: 100%;
	height: 100%;
	box-sizing: border-box;
	background: #999;
	text-align: left;
}
.relation ul.link-blue li .coming-soon-txt{
	display: inline-block;
	margin-top: .2em;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .04em;
	opacity: .9;
}
.relation ul.link-blue li{
	flex: 0 1 auto;
}
.products-list .is-coming-soon{
	color: #999;
	pointer-events: none;
	cursor: default;
	margin: .5em 0;
}

@media screen and (max-width: 768px) {
	header nav .gnav1 li div .is-coming-soon{
		color: #999;
		font-size: 3.733vw;
		padding: 2vw 3.2vw;
		font-weight: 400;
		background: #333;
		border-bottom: 1px solid #4b4b4b;
		line-height: 1.5;
	}
	footer .fnav2 dl dd .is-coming-soon{
		font-size: 3.73vw;
	}
	.top3 .cont ul li .is-coming-soon{
		height: auto;
		min-height: 18vw;
		font-size: 3.2vw;
		padding: 2vw .5em;
	}
	.link-list .is-coming-soon{
		width: 47.5%;
		margin: 0 5% 8vw 0;
	}
	.link-list .is-coming-soon .coming-soon-watermark{
		font-size: 3.73vw;
	}
	.link-list .is-coming-soon:nth-child(2n){
		margin-right: 0;
	}
	.link-list .is-coming-soon:nth-child(3n){
		margin-right: 5%;
	}
	.link-list .is-coming-soon:nth-child(2n){
		margin-right: 0;
	}
	.tech .link-list .is-coming-soon p{
		font-size: 4.8vw;
	}
}







