@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Playfair&display=swap');


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1190px; font-family: 'Noto Sans JP', sans-serif; color: #484747; text-align: center; overflow-x: hidden;}
body.top{ min-width: 1250px;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #484747; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic, .mincho ,.playfair{ font-family: 'Noto Sans JP', sans-serif;}
.playfair{ font-family: 'Playfair', serif;}
.arial{ font-family: Arial, "sans-serif";}
.normal{ font-weight: normal;}
/* bg */
.bg-white{ background: #fff;}
.bg-lightblue{ background: #EDF2F8;}
.bg-gradient{ background: linear-gradient(to bottom,  rgba(225,242,251,1) 0%,rgba(255,255,255,1) 100%);}
/* color */
.white{ color: #fff;}
.red{ color: #c00;}
.blue{ color: #0E66B5;}
/* font */
.f26{ line-height: 1.4;}
.f34{ line-height: 1.4;}

.anchorwrap{ position: relative;}
.anchorwrap .anc{
	position: absolute;
	top: -100px;
	display: block;
	height: 0;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body,body.top{ min-width: inherit;}
	a:hover{ opacity: 1;}
	/* font */
	.f34{ font-size: 24px;}
	.f26{ font-size: 20px;}
	.f22{ font-size: 18px;}
	.f20{ font-size: 18px;}
	/* padding */
	.pt100{ padding-top: 50px;}
	.pb100{ padding-bottom: 50px;}
	.mb100{ margin-bottom: 50px;}
	/* anchor */
	.anchorlink span{ top: -20px;}
	.anchorwrap .anc{ top: 0;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{ position: fixed; left: 0; top: 0; width: 100%; min-width: 1000px; background: #fff; z-index: 999;}
header .wrap{ display: flex; padding-top: 25px; position: relative;}
header .wrap .logo{ width: 330px; transition: all .2s; padding-top: 20px;}
header .wrap .logo a:hover{ opacity: 1;}
header .wrap nav{ }
header .wrap nav > ul{ display: flex;}
header .wrap nav > ul > li{ margin-left: 3em;}
header .wrap nav > ul > li > p a{ display: block; color: #606060; line-height: 85px; padding-bottom: 20px; position: relative;}
header .wrap nav > ul > li > p a:hover{ opacity: 1;}
header .wrap nav > ul > li > p a:after{ display: block; content: ""; position: absolute; left: -.5em; bottom: 0; width: calc(100% + 1em); height: 10px; background: #0E66B5; transition: all .3s; transform: scale(0, 1); transform-origin: left bottom;}
header .wrap nav > ul > li:hover > p a:after{ transform: scale(1, 1);}
header .wrap nav > ul > li > dl{ display: none;}
header .wrap nav > ul > li:hover > dl{ display: flex; position: absolute; left: 0; top: 130px; width: 100%; padding: 25px calc(3% + 100px); background: #fff; text-align: left;}
header .wrap nav > ul > li > dl a{ margin-left: 1.5em; position: relative;}
header .wrap nav > ul > li > dl a:hover{ opacity: 1; color: #0E66B5; border-bottom: 1px solid #0E66B5;}
header .wrap nav > ul > li > dl a:before{ position: absolute; left: -1.5em; top: 0; content: "＞"; color: #0E66B5; line-height: 1.4;}
header .wrap nav > ul > li > dl a[target="_blank"]:after{ display: inline-block; content: ""; margin-left: .5em; width: 15px; height: 15px; background: url("../img/ic-blank.svg") no-repeat;}
header .wrap nav > ul > li > dl dt{ width: 200px; margin-right: 50px; border-right: 1px solid #9B9B9B;}
header .wrap nav > ul > li > dl dd{ display: flex;}
header .wrap nav > ul > li > dl dd ul{ min-width: 260px;}
header .daigas{ position: absolute; right: 0; top: 0; height: 100%; background: #F0F0F0; transition: all .2s;}
header .daigas img{ transition: all .2s;}
header .jiajab{ position: absolute; right: 130px; top: 0; padding: 26px 20px 0 0; transition: all .2s;}

/*------------------------------ responsive ------------------------------*/
@media screen and (min-width: 540px) {
	header.fixed .wrap .logo{ width: 150px;}
	header.fixed .wrap{ padding-top: 10px;}
	header.fixed .wrap nav > ul > li > p a{ line-height: 50px;}
	header.fixed .daigas img{ width: 80px;}
	header.fixed .jiajab{ width: 110px; right: 80px; padding: 10px 10px 0 0;}
	header.fixed .wrap nav > ul > li:hover > dl{ top: 80px;}
}
@media screen and (max-width: 1300px) {
	header .wrap nav > ul > li{ margin-left: 2em;}
}
@media screen and (max-width: 540px) {
	header{ position: static; min-width: inherit; height: 80px;}
	header .wrap{ padding-top: 15px;}
	header .wrap .logo{ width: 140px; padding-top: 20px;}
	header .wrap nav{ display: none; position: absolute; left: 0; top: 80px; width: 100%; background: #fff; box-shadow: 0px 10px 10px -6px rgba(0,0,0,.1); z-index: 9999;}
	header .wrap nav > ul{ display: block; padding: 30px 3% 20px;}
	header .wrap nav > ul > li{ margin-left: 0; text-align: left; position: relative;}
	header .wrap nav > ul > li > p{ border-bottom: 1px solid #707070;}
	header .wrap nav > ul > li > p a{ display: inline-block; line-height: 55px; padding-bottom: 0; margin-left: 1.5em; position: relative; font-size: 18px;}
	header .wrap nav > ul > li > p a:hover{ color: #484747; border-bottom: none;}
	header .wrap nav > ul > li > p a:before{ position: absolute; left: -1.5em; top: .8em; content: "＞"; color: #0E66B5; line-height: 1.4;}
	header .wrap nav > ul > li > p a:after{ display: none;}
	header .wrap nav > ul > li.ac .acbtn{ position: absolute; right: 0; top: 0; height: 55px; width: 55px; cursor: pointer;}
	header .wrap nav > ul > li.ac .acbtn:before,
	header .wrap nav > ul > li.ac .acbtn:after{ display: block; content: ""; position: absolute; left: 25px; top: 27px; height: 1px; width: 20px; background: #0E66B5; -webkit-transition: all .2s; transition: all .2s;}
	header .wrap nav > ul > li.ac .acbtn:after{ transform: rotate(90deg);}
	header .wrap nav > ul > li.ac .acbtn.acopen:after{ transform: rotate(0deg);}
	header .wrap nav > ul > li > dl{ display: none;}
	header .wrap nav > ul > li:hover > dl{ display: none; position: static; padding: 0;}
	header .wrap nav > ul > li > dl a{ margin-left: 3em;}
	header .wrap nav > ul > li > dl a:hover{ color: #484747; border-bottom: none;}
	header .wrap nav > ul > li > dl a:before{ position: absolute; left: -1.5em; top: .3em; content: "＞"; color: #0E66B5; font-size: 12px; line-height: 1.4;}
	header .wrap nav > ul > li > dl dt{ display: none;}
	header .wrap nav > ul > li > dl dd{ display: block;}
	header .wrap nav > ul > li > dl dd ul{ min-width: inherit;}
	header .wrap nav > ul > li > dl dd ul li{ line-height: 35px; border-bottom: 1px solid #D4D4D4;}
	header .wrap nav > ul.sp{ padding: 0 3% 30px;}
	header .wrap nav > ul.sp a{ margin-left: 1.5em; position: relative;}
	header .wrap nav > ul.sp a:before{ position: absolute; left: -1.5em; top: .3em; content: "＞"; color: #0E66B5; font-size: 12px; line-height: 1.4;}
	header .spmenu{ position: absolute; right: 80px; top: 0; width: 80px; height: 80px; background: #0E66B5; cursor: pointer;}
	header .spmenu span{ position: absolute; right: 25px; width: 30px; height: 1px; background: #F0F0F0; -webkit-transition: all .2s; transition: all .2s;}
	header .spmenu span:nth-child(1){ top: 30px;}
	header .spmenu span:nth-child(2){ top: 40px;}
	header .spmenu span:nth-child(3){ top: 50px;}
	header.open .spmenu span:nth-child(1){ top: 40px; transform: rotate(-45deg);}
	header.open .spmenu span:nth-child(2){ opacity: 0;}
	header.open .spmenu span:nth-child(3){ top: 40px; transform: rotate(45deg);}
	header .daigas{ width: 80px; height: 80px;}
	header .jiajab{ display: none;}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{ padding-top: 130px;}
.wrap{ clear: both; box-sizing: content-box; max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 3%; padding-right: 3%;}
.contentbg{ background: url("../img/contentbg.png") center top / 2815px auto no-repeat;}
/* space */
.leftspace{ padding-left: 0;}
.leftspace-wrap{ margin-left: calc(50% - 600px);}
.rightspace{ padding-right: 0;}
.rightspace-wrap{ margin-right: calc(50% - 600px);}
@media screen and (max-width: 1350px) {
	.leftspace{ padding-left: 3%;}
	.leftspace-wrap{ margin-left: 0; padding-left: 5%;}
	.rightspace{ padding-right: 3%;}
	.rightspace-wrap{ margin-right: 0;}
}
@media screen and (max-width: 540px) {
	.leftspace-wrap{ padding-left: 0;}
}
/* zoom */
.zoom{ overflow: hidden;}
.zoom .zoomimg{ height: auto; transition: transform .5s ease;}
.zoom:hover .zoomimg{ transform: scale(1.2);}
a.zoom:hover{ opacity: 1;}
/* ttl */
.pagettl{ height: 220px; background: #FBFCFD;}
.pagettl.recruit{ background: none;}
.pagettl h1{ padding-top: 60px; font-size: 32px; line-height: 1.4; letter-spacing: .2em; text-align: left;}
.pagettl ol{ display: flex; justify-content: flex-end; font-size: 12px; flex-wrap: wrap;}
.pagettl ol li:not(:last-child):after{ content: "＞"; margin: 0 1em;}
.pagettl ol li a:hover{ text-decoration: underline;}
.ttl1{ padding: 0 1em .2em; color: #fff; font-size: 30px; text-align: center; line-height: 1.5; background: #0E66B5;}
.ttl1.pt-rt{ padding-top: .6em;}
.ttl1 ruby rt{ position: relative; top: -.2em;}
@-moz-document url-prefix() {
	.ttl1 ruby rt{ top: .5em;}
	.ttl1.pt-rt{ padding-top: 0;}
}
.ttl2{ font-size: 34px; font-weight: normal; text-align: left; line-height: 1.5;}
.ttl3{ font-size: 40px; font-weight: normal; line-height: 1.5;}
.ttl4{ font-size: 30px; font-weight: normal; line-height: 1.5; margin-bottom: .5em;}
.ttl5{ font-size: 30px; font-weight: normal; line-height: 1.5; padding-bottom: .5em; border-bottom: 1px solid #9B9B9B;}
/* btn */
a.btn1{ display: inline-block; width: 200px; padding: 0 1em; line-height: 50px; text-align: left; background: #fff; border: 1px solid #aaa; position: relative;}
a.btn1:after{ content: "＞"; position: absolute; right: 1em; top: 0; color: #0E66B5; -webkit-transition: all .2s; transition: all .2s;}
a.btn1:hover{ opacity: 1; color: #fff; background: #0E66B5;}
a.btn1:hover:after{ color: #fff;}
a.btn1-clear, a.btn1-clear2{ display: inline-block; width: 200px; padding: 0 1em; line-height: 50px; color: #fff; text-align: left; border: 1px solid #fff; position: relative;}
a.btn1-clear:after, a.btn1-clear2:after{ content: "＞"; position: absolute; right: 1em; top: 0; -webkit-transition: all .2s; transition: all .2s;}
a.btn1-clear:hover{ opacity: 1; color: #fff; background: #0E66B5;}
a.btn1-clear:hover:after{ color: #fff;}
a.btn1-clear2:hover{ opacity: 1; color: #0E66B5; background: #fff;}
a.btn1-clear2:hover:after{ color: #0E66B5;}
a.btn1.btn-back{
	padding-left: 3em;
	width: auto;
}
a.btn1.btn-back:after{ content: none;}
a.btn1.btn-back:before{ content: "＜"; position: absolute; left: 1em; top: 0; color: #0E66B5; -webkit-transition: all .2s; transition: all .2s;}
a.btn2{ display: inline-block; padding: .6em 3em .6em 1em; line-height: 1.5; color: #0E66B5; text-align: left; border: 1px solid #0E66B5; background: url("../img/ic-blank.svg") right 1em center no-repeat;}
a.btn2:hover{ opacity: 1; color: #fff; background: url("../img/ic-blank-hover.svg") right 1em center no-repeat #0E66B5;}
a.btn3{ display: inline-block; padding: .6em 3em .6em 1em; line-height: 1.5; color: #0E66B5; text-align: left; border: 1px solid #0E66B5; position: relative;}
a.btn3:after{ content: "＞"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%);}
a.btn3:hover{ opacity: 1; color: #fff; background: #0E66B5;}
a.btn4{ display: inline-block; padding: .3em 3em .3em 1em; line-height: 1.5; text-align: left; border: 1px solid #707070; position: relative;}
a.btn4:after{ content: "＞"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); color: #0E66B5;}
a.btn4:hover{ opacity: 1; color: #fff; background: #0E66B5; border-color: #0E66B5;}
a.btn4:hover:after{ color: #fff;}
/* table */
.table1{ width: 100%; text-align: left;}
.table1 th, .table1 td{ padding: .7em 0; border-bottom: 1px solid #9B9B9B;}
.table1 .noline th, .table1 .noline td{ border-bottom: none;}
.table2{ width: 100%; font-size: 18px; text-align: left;}
.table2 th{ width: 11em; color: #0E66B5; padding-bottom: 30px; position: relative;}
.table2 th:after{ display: block; content: ""; position: absolute; left: 100%; top: 0; width: 1px; height: calc(100% - 30px); background: #707070;}
.table2 td{ flex: 1; padding-left: 2.5em; padding-bottom: 30px;}
.table3{ width: 100%; text-align: left;}
.table3 th,.table3 td{
	vertical-align: middle;
	border-top: 1px solid #9B9B9B;
	border-bottom: 1px solid #9B9B9B;
	padding: 3px 3px 3px 30px;
}
.table3 th{
	color: #fff;
	background: #0E66B5;
}
.table3 tr td:not(:last-child){ border-right: 1px solid #9B9B9B;}
.w11em{ width: 11em;}
.w30p{ width: 30%;}
.w40p{ width: 40%;}
.w50p{ width: 50%;}
/* contactbox */
.contactbox{ padding: 50px 0; background: #0E66B5;}
.contactbox .ttl1{ font-size: 34px; margin: -1em 0 .5em;}
.contactbox .wrap{ display: flex;}
.contactbox .wrap dl{ width: 50%; padding: 50px 15px; line-height: 1.5; background: #fff; border-right: 1px solid #0E66B5;}
.contactbox.contactbox-recruit .wrap dl{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contactbox.contactbox-recruit .wrap dl p.f26{ font-size: 26px;}
.contactbox.contactbox-recruit .wrap dl dt{ margin-right: 48px;}
.contactbox.contactbox-recruit .wrap dl dd{ text-align: left;}
.contactbox.contactbox-recruit .wrap dl dd .arial{
	color: #484747;
	font-weight: normal;
	display: inline-block;
	padding-top: 10px;
}
.contactbox.contactbox-recruit .wrap dl dd small{ font-size: 16px;}
.contactbox .wrap dl dt{ font-size: 26px; line-height: 2.5;}
.contactbox .wrap dl:first-child dt img{ margin-bottom: 10px;}
.contactbox .wrap dl dt small{ font-size: 16px;}
.contactbox .wrap dl dd .arial{
	color: #0D66B6;
	font-size: 42px;
	line-height: 1;
	font-weight: bold;
	display: inline-block;
}
.contactbox .wrap dl dd strong{
	font-size: 24px;
	font-weight: normal;
	line-height: 1.4;
	display: inline-block;
}
.contactbox .wrap dl dd small{ font-size: 14px;}
/* notfound */
.notfound{ padding-bottom: 200px;}
.notfound h1{ font-size: 150px; font-weight: normal; line-height: 1.2;}
.notfound h1 span{ font-size: 30px;}
.lh12{ line-height: 1.2;}
.lh14{ line-height: 1.4;}
.lh16{ line-height: 1.6;}
.lh18{ line-height: 1.8;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	section{ padding-top: 0;}
	/* zoom */
	.zoom:hover .zoomimg{ transform: scale(1);}
	/* ttl */
	.pagettl{ height: auto; padding: 30px 0 20px;}
	.pagettl h1{ padding: 0 0 .3em; font-size: 28px; letter-spacing: 0;}
	.ttl1{ font-size: 24px;}
	.ttl2{ font-size: 24px;}
	.ttl3{ font-size: 26px;}
	.ttl4{ font-size: 24px;}
	.ttl5{ font-size: 24px;}
	/* btn */
	a.btn1:hover{ color: #484747; background: #fff;}
	a.btn1:hover:after{ color: #0E66B5;}
	a.btn1-clear:hover{ color: #fff; background: none;}
	a.btn1-clear2:hover{ color: #fff; background: none;}
	a.btn1-clear2:hover:after{ color: #fff;}
	/* table */
	.table1 th{ display: block; width: auto; padding: .7em 0 0; border-bottom: none;}
	.table1 td{ display: block; padding: .5em 0 .7em 1em;}
	.table1 iframe{ height: 250px;}
	.table2{ font-size: 16px;}
	.table2 th{ display: block; width: auto; padding-bottom: 0;}
	.table2 th:after{ display: none;}
	.table2 td{ display: block; padding-left: 0; padding-bottom: 1em; margin-bottom: 1em; border-bottom: 1px solid #707070;}
	.table3 th,.table3 td{ padding: 3px 3px 3px 10px;}
	.w30p,.w40p,.w50p{ width: auto;}
	/* contactbox */
	.contactbox{ padding: 30px 0;}
	.contactbox .ttl1{ font-size: 24px; margin: -.5em 0 1em;}
	.contactbox .wrap{ display: block;}
	.contactbox .wrap dl{ width: auto; padding: 10px 3% 30px; border-right: none; border-bottom: 1px solid #0E66B5;}
	.contactbox .wrap dl dt{ font-size: 24px;}
	.contactbox .wrap dl dt img{ width: 40px;}
	.contactbox .wrap dl:first-child dt img{ margin-bottom: 0;}
	.contactbox .wrap dl dt small{ font-size: 14px;}
	.contactbox .wrap dl dd .arial{ font-size: 28px;}
	.contactbox .wrap dl dd strong{ font-size: 17px;}
	.contactbox .wrap dl dd small{ font-size: 12px;}
	.contactbox.contactbox-recruit .wrap dl{ display: block;}
	.contactbox.contactbox-recruit .wrap dl p.f26{ font-size: 24px;}
	.contactbox.contactbox-recruit .wrap dl dt{ margin: 0 0 15px;}
	.contactbox.contactbox-recruit .wrap dl dd .arial{ padding-top: 5px;}
	.contactbox.contactbox-recruit .wrap dl dd small{ font-size: 14px;}
	/* notfound */
	.notfound{ padding-bottom: 100px;}
	.notfound h1{ font-size: 80px;}
	.notfound h1 span{ font-size: 20px;}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{ padding-bottom: 80px; background: #fff;}
footer .fixed{ position: fixed; right: 0; bottom: 0; width: 100px; z-index: 1;}
footer .fixed .contact a{ display: block; padding-top: 15px; height: 100px; color: #fff; font-size: 14px; background: #0E66B5;}
footer .fixed .contact a:hover{ opacity: 1; background: #2392F6;}
footer .fixed .pagetop{ display: block; height: 100px; background: url(../img/pagetop.svg) center no-repeat #F0F0F0; cursor: pointer;}
footer .fabout{ display: flex; padding-top: 30px; padding-bottom: 40px;}
footer .fabout dt{ width: 330px; margin-right: 30px; padding-top: 10px;}
footer .fabout dd{ flex: 1; text-align: left;}
footer .fabout dd div{ display: inline-block; vertical-align: top; width: 33%; text-align: center;}
footer .fabout dd a{ display: inline-block; padding-top: .2em; font-size: 26px; line-height: 1;}
footer .fnav{ display: flex; justify-content: space-between; text-align: left; margin-bottom: 50px;}
footer .fnav > li{ padding-left: 1.5em; border-left: 1px solid #B7B7B7;}
footer .fnav > li dd{ padding-left: 1em;}
footer .fnav > li dd li{ font-size: 12px;}
footer .fnav > li dd li a[target="_blank"]:after{ display: inline-block; content: ""; margin-left: .5em; width: 10px; height: 10px; background: url("../img/ic-blank.svg") center / 10px no-repeat;}
footer .fnav2{ text-align: right;}
footer .fnav2 span:not(:last-child):after{ content: "｜"; margin: 0 1em;}
footer .copy{ clear: both; padding-top: 20px; font-size: 14px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{ padding: 30px 100px 30px 3%; position: relative;}
	footer .fixed{ position: absolute;}
	footer .fixed .contact a:hover{ background: #0E66B5;}
	footer .fabout{ display: block; padding-top: 0; padding-bottom: 0;}
	footer .fabout dt{ width: 140px; margin-right: 0; padding-top: 0; margin-bottom: 15px;}
	footer .fabout dd div{ display: block; width: auto; margin-bottom: .5em;}
	footer .fabout dd div:first-of-type{ text-align: left;}
	footer .fabout dd a{ text-decoration: underline;}
	footer .fnav,
	footer .fnav2{ display: none;}
	footer .copy{ font-size: 12px; text-align: left; line-height: 1.5;}
}



















































/*--------------------------------------------------------------------------------------------
	Sub-page settings
----------------------------------------------------------------------------------------------*/
/*----------------------------------------------
	/
-----------------------------------------------*/

.top1{ position: relative; height: calc(100vh - 130px);}
.top1 .videowrap{ position: fixed; z-index: -1; top: 0; right:0; left:0; bottom:0; overflow: hidden;}
.top1 .videowrap video{ position: absolute; z-index: -1; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 177.77777778vh; height: 56.25vw; min-height: 100%; min-width: 100%;}
.top1 .news{ position: absolute; left: 0; bottom: 0; width: 100%; padding: 2em 0 1em; background: rgba(255,255,255,.9);}
.top1 .news .wrap{ display: flex;}
.top1 .news dl{ display: flex; margin-right: 3em;}
.top1 .news dl dt{ width: 3.5em; font-size: 24px; line-height: 1.5; margin-right: 3em;}
.top1 .news dl dd{ flex: 1;}
.top1 .news .btn{ width: 200px; margin-bottom: 1em;}
.topbg{ margin-bottom: 500px; background: rgba(255,255,255,.9);}
.top2{ padding-top: 100px; text-align: left;}
.top2 h1{ margin-bottom: 1em; font-size: 30px; font-weight: normal;}
.top3{ padding-left: 80px; margin-bottom: 70px; position: relative;}
.top3 h2{ position: absolute; left: 0; top: 0; width: 1em; font-size: 34px; font-weight: normal; line-height: 1.8;}
.top3wrap{ display: flex; justify-content: space-between;}
.top3wrap div{ position: relative; width: 24%;}
.top3wrap div img{ width: auto; height: 360px!important;}
.top3wrap div dl{ position: absolute; left: 0; bottom: 80px; width: 100%; height: calc(100% - 80px); padding: 1.5em 1.5em 1.5em 2em; color: #fff; text-align: left;}
.top3wrap div dl:before{ display: block; content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #0E66B5; opacity: .8; mix-blend-mode: multiply;}
.top3wrap div dl dt{ position: relative; font-size: 28px; line-height: 1.533; margin-bottom: .2em;}
.top3wrap div dl dt span{ position: absolute; right: 0; top: -.4em; font-size: 80px; line-height: 1;}
.top3wrap div dl dd{ position: relative; line-height: 2; font-size: 14px;}
.top3wrap div dl dd li:before{ content: "＞"; margin-right: .5em;}
.top3wrap div dl dd li a{ color: #fff; text-decoration: underline;}
.top3wrap div p{ padding: .7em 2em; color: #fff; font-size: 14px; text-align: left; height: 80px; background: #0E66B5; position: relative;}
.top4{ padding-right: 80px; margin-bottom: 100px; position: relative;}
.top4 h2{ position: absolute; right: 0; top: 0; width: 1em; font-size: 34px; font-weight: normal; line-height: 1.8;}
.top4wrap{ display: flex; justify-content: space-between;}
.top4wrap a{ position: relative; width: 24%; color: #fff; background: #0E66B5;}
.top4wrap a figure{ overflow: hidden;}
.top4wrap a p{ padding: .7em 2em; text-align: left;}
.top5{ padding-top: 70px; padding-bottom: 70px; background: rgba(229,237,248,.9);}
.top5 h2{ display: inline-block; font-size: 34px; font-weight: normal; margin-right: 1em;}
.top5 .btn{ display: inline-block; margin-bottom: 1em;}
.top5 dl{ display: flex;}
.top5 dl dt{ width: 3.5em; font-size: 24px; line-height: 1.5; margin-right: 2em;}
.top5 dl dd{ flex: 1;}
.top6{ padding-top: 70px; padding-bottom: 70px; background: url("../img/top6-bg.jpg") center / cover no-repeat;}
.top6 .wrap{ padding-left: calc(790px + 3%); color: #fff;}
.top6 h2{ display: inline-block; font-size: 34px; font-weight: normal; margin-bottom: .3em;}
.top6 .txt{ text-shadow: 3px 3px 5px rgba(0,0,0,0.3);}
.top6 .btn{ padding-top: 10px;}
.top7{ padding-top: 70px; padding-bottom: 70px; background: url("../img/top7-bg.jpg") center / cover no-repeat;}
.top7 .wrap{ color: #fff;}
.top7 h2{ display: inline-block; font-size: 34px; font-weight: normal; margin-bottom: .3em;}
.top7 .btn{ padding-top: 10px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.top1{ height: auto; padding-top: calc(126% - 80px);}
	.top1 .videowrap{ padding-top: 126%;}
	.top1 .videowrap video{ top: 0; transform: translateX(-50%); width: 223%; height: auto; min-height: inherit; min-width: inherit;}
	.top1 .news{ padding: 1em 3%; background: rgba(255,255,255,.9);}
	.top1 .news .wrap{ display: block;}
	.top1 .news dl{ display: block; margin-right: 0; margin-bottom: 0;}
	.top1 .news dl dt{ font-size: 22px;}
	.top1 .news dl dd{ line-height: 1.5;}
	.top1 .news .btn{ display: none;}
	.topbg{ margin-bottom: 0; background: rgba(255,255,255,1);}
	.topbg .leftspace{ padding: 0!important;}
	.topbg .rightspace{ padding: 0!important;}
	.top2{ padding-top: 30px; margin-bottom: 20px; overflow: hidden;}
	.top2 h1{ font-size: 24px; line-height: 1.6;}
	.top3{ padding-left: 0; margin-bottom: 50px; overflow: hidden;}
	.top3 h2{ position: static; width: auto; font-size: 24px; margin-bottom: 1em;}
	.top3wrap{ display: block;}
	.top3wrap div{ width: auto; padding-left: 30%; margin-bottom: 30px;}
	.top3wrap div:before{ display: block; content: ""; position: absolute; left: 0; top: 0; width: 30%; height: 100%; background: url("../img/top3-img1.jpg") left center / cover no-repeat;}
	.top3wrap div:nth-child(1):before{ display: block; content: ""; position: absolute; left: 0; top: 0; width: 30%; height: 100%; background: url("../img/top3-img1.jpg") left center / cover no-repeat;}
	.top3wrap div:nth-child(2):before{ background: url("../img/top3-img2.jpg") center / cover no-repeat;}
	.top3wrap div:nth-child(3):before{ background: url("../img/top3-img3.jpg") center / cover no-repeat;}
	.top3wrap div:nth-child(4):before{ background: url("../img/top3-img4.jpg") center / cover no-repeat;}
	.top3wrap div dl{ position: static; width: auto; height: auto; padding: 1em; background: #0E66B5;}
	.top3wrap div dl:before{ display: none;}
	.top3wrap div dl dt{ font-size: 24px;}
	.top3wrap div dl dt span{ right: auto; left: -1.3em; top: -.3em;}
	.top3wrap div dl dd{ line-height: 1.85;}
	.top3wrap div p{ padding: 0 1em .7em; height: auto;}
	.top4{ padding-right: 50px; margin-bottom: 50px;}
	.top4 h2{ position: static; width: auto; font-size: 24px; margin-bottom: 1em;}
	.top4wrap{ display: block;}
	.top4wrap a{ position: relative; display: block; width: auto;}
	.top4wrap .slick-next{ position: absolute; right: -50px; top: 30%; display: inline-block; width: 50px; height: 50px; background: url(../img/top4-arrow.svg) center no-repeat; cursor: pointer;}
	.top5{ padding-top: 40px; padding-bottom: 40px; background: rgba(229,237,248,1);}
	.top5 h2{ display: block; font-size: 24px; text-align: center; margin-right: 0; margin-bottom: 0;}
	.top5 .btn{ display: block; margin-bottom: 0; padding-top: 1em; text-align: center;}
	.top5 dl{ display: block; margin-bottom: 0;}
	.top5 dl dt{ font-size: 22px; margin-right: 2em;}
	.top5 dl dd{ margin-left: 1em;}
	.top6{ padding-top: 40px; padding-bottom: 130px; background: url("../img/top6-bg-sp.jpg") center / cover no-repeat;}
	.top6 .wrap{ padding-left: 3%; text-align: center;}
	.top6 h2{ display: block; font-size: 24px;}
	.top7{ padding-top: 40px; padding-bottom: 40px; background: url("../img/top7-bg-sp.jpg") center / cover no-repeat;}
	.top7 .wrap{ text-align: center;}
	.top7 h2{ display: block; font-size: 24px;}
}



/*----------------------------------------------
	strengths/
-----------------------------------------------*/

.strengths1{ padding-top: 100px; padding-bottom: 130px; background: url("../img/strengths1-bg.jpg") center / cover no-repeat;}
.strengths1 .wrap div{ padding-left: 700px; color: #fff; text-align: left;}
.strengths1 h2{ font-size: 30px; margin-bottom: .2em;}
.strengths2{ margin-bottom: 100px;}
.strengths2 .box{ display: flex; align-items: center; position: relative;}
.strengths2 .box:nth-of-type(2n){ flex-direction: row-reverse;}
.strengths2 .boxwrap{ flex: 1; text-align: right; padding-left: 3%;}
.strengths2 .box:nth-of-type(2n) .boxwrap{ text-align: left; padding-right: 3%;}
.strengths2 .boxwrap div{ display: inline-block; max-width: 860px; text-align: left; padding-top: 20px;}
.strengths2 .boxwrap div h2{ position: absolute; left: 3%; top: .3em; font-size: 35px; font-weight: normal;}
.strengths2 .boxwrap div dl{ display: flex; justify-content: space-between; padding-right: 1em;}
.strengths2 .box:nth-of-type(2n) .boxwrap div dl{ flex-direction: row-reverse;}
.strengths2 .boxwrap div dl dt span{ color: #0E66B5; font-size: 100px; line-height: 1.2; position: relative;}
.strengths2 .boxwrap div dl dt span:before{ display: block; content: ""; position: absolute; right: 0; bottom: .1em; width: 50vw; height: 5px; background: #0E66B5;}
.strengths2 .box:nth-of-type(2n) .boxwrap div dl dt span:before{ right: inherit; left: 0;}
.strengths2 .boxwrap div dl dd{ padding-left: 1.5em;}
.strengths2 .box:nth-of-type(2n) .boxwrap div dl dd{ padding-right: 1.5em;}
.strengths2 .boxwrap div dl dd strong{ display: block; font-size: 26px; font-weight: normal; margin-bottom: .3em;}
.strengths2 .box figure{ width: 36.5%;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.strengths1{ padding-top: 40px; padding-bottom: 200px; background: url("../img/top6-bg-sp.jpg") left center / cover no-repeat;}
	.strengths1 .wrap div{ padding-left: 0;}
	.strengths1 h2{ font-size: 24px;}
	.strengths2{ margin-bottom: 50px;}
	.strengths2 .box{ display: block;}
	.strengths2 .boxwrap div{ margin-bottom: 20px;}
	.strengths2 .boxwrap div h2{ position: static; font-size: 24px;}
	.strengths2 .boxwrap div dl dt span{ font-size: 80px;}
	.strengths2 .boxwrap div dl dt span:before{ height: 3px;}
	.strengths2 .boxwrap div dl dd strong{ padding-top: .5em; font-size: 24px; line-height: 1.5;}
	.strengths2 .box figure{ width: auto;}
}



/*----------------------------------------------
	service/
-----------------------------------------------*/

.service1{ padding-top: 100px; padding-bottom: 100px;}
.service1 .anchor{ display: flex; justify-content: space-between;}
.service1 .anchor a{ display: block; width: 23.3%; background: #0E66B5;}
.service1 .anchor a figure{ overflow: hidden; position: relative;}
.service1 .anchor a figure figcaption{ position: absolute; right: .05em; bottom: 0; color: #fff; font-size: 150px; line-height: 1;}
.service1 .anchor a p{ padding: .2em 1em; color: #fff; font-size: 24px; text-align: left; line-height: 1.4; position: relative; height: 80px; display: flex; align-items: center;}
.service1 .anchor a p:after{ display: block; content: "＞"; position: absolute; right: 2.3em; top: 0; bottom: 0; margin: auto 0; transform:rotate(90deg); font-size: 18px;}
.service2{ padding-bottom: 100px;}
.service2 h2, .service3 h2, .service4 h2, .service8 h2{ position: relative;}
.service2 h2:before, .service3 h2.bg2:before{ display: block; content: ""; width: 50vw; height: 100%; position: absolute; right: 100%; top: 0; background: #0E66B5;}
.service3 h2.bg1:before, .service8 h2:before{ display: block; content: ""; width: 50vw; height: 100%; position: absolute; left: 100%; top: 0; background: #0E66B5;}
.service2wrap{ display: flex; margin-right: calc(50% - 600px);}
.service2wrap figure{ width: 42.7%; background: url(../img/service2-img.jpg) center / cover no-repeat;}
.service2wrap ul{ flex: 1; padding: 0 3%; text-align: left;}
.service2wrap ul li:not(:last-child){ margin-bottom: 20px;}
.service2wrap ul li a{ display: inline-block;}
.service2wrap ul li a:hover{ opacity: 1;}
.service2wrap ul li a span{ display: inline-block; padding-left: 1em; font-size: 26px; line-height: 1.5; position: relative;}
.service2wrap ul li a span:before{ display: inline-block; content: "＞"; color: #0E66B5; position: absolute; left: 0; top: .4em; font-size: 18px;}
.service2wrap ul li a:hover span{ opacity: 1; text-decoration: underline;}
.service3{ padding-bottom: 100px;}
.service3 ul{ display: flex; justify-content: space-between;}
.service3 ul li{ width: 23.3%; text-align: left;}
.service3 ul li figure{ overflow: hidden; margin-bottom: .5em;}
.service3 ul li span{ display: inline-block; padding-left: 1em; font-size: 26px; line-height: 1.5; position: relative;}
.service3 ul li span:before{ display: inline-block; content: "＞"; color: #0E66B5; position: absolute; left: 0; top: .4em; font-size: 18px;}
.service4{ display: flex; gap: 3.8%;}
.service4 div{ width: 30.8%;}
.service4 div img{ margin-bottom: 10px;}
.service4 a.box{ display: block; width: 30.8%;}
.service4 a.box figure{ overflow: hidden; margin-bottom: 10px;}
.service4 .icon{ padding-left: 1.5em; font-size: 20px; line-height: 1.5; position: relative;}
.service4 .icon:before{ display: inline-block; content: "＞"; color: #0E66B5; position: absolute; left: 0; top: 0; font-size: 18px;}
/*
.service4 a.box p{
	color: #fff;
	font-size: 16px;
	background: #0E66B5;
	padding: .7em 2em;
	text-align: left;
}
*/
.service4 a.box p{ font-size: 18px;}
p.servicetag span{ display: inline-block; margin: .5em .5em 0 0; padding: 0 1em; background: #EFF8FC; mix-blend-mode: multiply;}
.service5{ display: flex; justify-content: space-between;}
.service5wrap{ flex: 1; padding-right: 50px;}
.service5wrap .list{ display: flex; justify-content: space-between;}
.service5wrap .list ul{ width: 50%;}
.service5wrap .suzuchu{ float: right;}
.service6{ display: flex; justify-content: space-between;}
.service6 div{ width: 48.3%;}
.service7 .box{ display: flex; justify-content: space-between; padding-top: 50px;}
.service7 .box:not(:last-child){ padding-bottom: 50px; border-bottom: 1px solid #9B9B9B;}
.service7 .box div{ flex: 1; padding-right: 100px;}
.service7 .box figure{ width: 400px; height: 400px;}
.service8{ padding-bottom: 100px;}
.service8wrap{ display: flex; margin-right: calc(50% - 600px); flex-direction: row-reverse; min-height: 400px;}
.service8wrap figure{ width: 62.5%; background: url(../img/service8-img.jpg) center / cover no-repeat;}
.service8wrap ul{ flex: 1; padding-right: 3%; text-align: left;}
.service8wrap ul li{ margin-bottom: 20px;}
.service8wrap ul li a{ display: inline-block;}
.service8wrap ul li a:hover{ opacity: 1;}
.service8wrap ul li a span{ display: inline-block; padding-left: 1em; font-size: 24px; line-height: 1.5; position: relative;}
.service8wrap ul li a span:before{ display: inline-block; content: "＞"; color: #0E66B5; position: absolute; left: 0; top: .4em; font-size: 18px;}
.construction-clm2{
	display: flex;
	justify-content: space-between;
}
.construction-clm2 .photo3{ width: 62%;}
.construction-clm2 .rightcol{ width: 35%;}
.service8wrap ul li a:hover span{ opacity: 1; text-decoration: underline;}
.zeb .imgright{
	display: flex;
	justify-content: space-between;
}
.zeb .imgright div{ flex: 1;}
.zeb .imgright figure{ margin-left: 20px;}
.zeb ul.clm3{
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
}
.zeb ul.clm3 li{ width: 49%;}
.zeb ul.clm3 li .bd{
	color: #0D66B6;
	font-size: 20px;
	border: 1px solid #0D66B6;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
}
.zeb .btn-cont{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.zeb .btn-cont a{ min-width: 306px;}
.zeb .photo3{
	display: flex;
	gap: 30px;
	position: relative;
}
.zeb .photo3 figure figcaption{ padding-left: 1em; text-indent: -1em;}
.zeb .photo3 figure img{ margin-bottom: 5px;}
.zeb .photo3 .abs{
	position: absolute;
	right: 0;
	bottom: 0;
}
.zeb .imgleft{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.zeb .imgleft.mb265{ margin-bottom: 265px;}
.zeb .table3 td{ padding-left: 50px;}

.zeb .roof-imgright{
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
}
.zeb .roof-imgright div{ flex: 1;}
.zeb .roof-imgright figure{ margin-left: 100px;}
.zeb .roof-imgleft{
	display: flex;
	justify-content: space-between;
}
.zeb .roof-imgleft div{ flex: 1;}
.zeb .roof-imgleft div ol li{
	padding-left: 1em;
	text-indent: -1em;
}
.zeb .roof-imgleft figure{ margin-right: 100px;}
.zeb .roof-clm2{
	display: flex;
	justify-content: space-between;
	gap: 33px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.service1{ padding-top: 40px; padding-bottom: 40px;}
	.service1 .txt{ margin-bottom: 30px;}
	.service1 .anchor{ display: block;}
	.service1 .anchor a{ width: auto; margin-bottom: 20px;}
	.service1 .anchor a figure figcaption{ right: .05em; font-size: 80px;}
	.service1 .anchor a figure img{ margin: -40% 0 -20%;}
	.service1 .anchor a p{ font-size: 20px; line-height: 1.5;}
	.service2{ padding-bottom: 50px;}
	.service2wrap{ display: block; margin-right: 0;}
	.service2wrap figure{ width: auto; padding: 0 3%; margin-bottom: 20px; background: none; overflow: hidden;}
	.service2wrap figure img{ margin: -10% 0;}
	.service2wrap ul li:not(:last-child){ margin-bottom: 10px;}
	.service2wrap ul li a span{ font-size: 20px;}
	.service2wrap ul li a span:before{ top: .1em;}
	.service2wrap ul li a:hover span{ text-decoration: none;}
	.service3{ padding-bottom: 50px;}
	.service3 ul{ flex-wrap: wrap;}
	.service3 ul li{ width: 49%; margin-bottom: 20px;}
	.service3 ul li span{ font-size: 20px;}
	.service3 ul li span:before{ top: .1em;}
	.service4{ display: block;}
	.service4 div{ width: auto; margin-bottom: 30px;}
	.service4 a.box{ width: auto; margin-bottom: 30px;}
	.service4 .icon{ font-size: 16px;}
	.service5{ display: block;}
	.service5wrap{ padding-right: 0; margin-bottom: 30px;}
	.service5wrap .suzuchu{ float: none; margin-left: 20px; margin-bottom: 20px;}
	.service6{ display: block;}
	.service6 div{ width: auto; margin-bottom: 30px;}
	.service7 .box{ display: block; padding-top: 30px;}
	.service7 .box:not(:last-child){ padding-bottom: 30px;}
	.service7 .box div{ padding-right: 0; margin-bottom: 20px;}
	.service7 .box figure{ width: auto; height: auto;}
	.service8.wrap{ padding: 0 0 30px;}
	.service8wrap{ display: block; margin-right: 0; min-height: inherit;}
	.service8wrap figure{ width: auto; padding: 0 3%; margin-bottom: 20px; background: none; overflow: hidden;}
	.service8wrap figure img{ margin: -10% 0;}
	.service8wrap ul{ padding: 0 3%;}
	.service8wrap ul li:not(:last-child){ margin-bottom: 10px;}
	.service8wrap ul li a span{ font-size: 20px;}
	.service8wrap ul li a span:before{ top: .1em;}
	.service8wrap ul li a:hover span{ text-decoration: none;}
	.construction-clm2{ display: block;}
	.construction-clm2 .photo3{ width: 100%; margin-bottom: 30px;}
	.construction-clm2 .rightcol{ width: 100%;}
	.zeb .imgright{ display: block;}
	.zeb .imgright div{ margin-bottom: 20px;}
	.zeb .imgright figure{ margin: 0;}
	.zeb ul.clm3{ display: block; overflow: hidden;}
	.zeb ul.clm3 li{ width: 100%; margin-bottom: 30px;}
	.zeb ul.clm3 li .bd{
		font-size: 18px;
		padding: 3px;
		margin-bottom: 5px;
	}
	.zeb .btn-cont a{ min-width: inherit;}
	.zeb .photo3{ flex-wrap: wrap; justify-content: center; gap: 4%;}
	.zeb .photo3 figure{ width: 48%; margin-bottom: 10px; line-height: 1.4;}
	.zeb .photo3 figure img{ margin-bottom: 5px;}
	.zeb .imgleft{ display: block;}
	.zeb .imgleft.mb265{ margin-bottom: 120px;}
	.zeb .imgleft figure{ margin-bottom: 20px;}
	.zeb .table3 td{ padding-left: 10px;}

	.zeb .roof-imgright{ display: block;}
	.zeb .roof-imgright figure{ margin: 0 0 20px;}
	.zeb .roof-imgleft{ display: block;}
	.zeb .roof-imgleft figure{ margin: 0 0 20px;}
	.zeb .roof-clm2{ display: block;}
	.zeb .roof-clm2 figure{ margin-bottom: 20px;}
}



/*----------------------------------------------
	case/
-----------------------------------------------*/

.case1{ padding-top: 100px; padding-bottom: 100px;}
.case1.ptb0{ padding-top: 0; padding-bottom: 0;}
.case1 .tab-link{ position: relative;}
.case1 .tab-link.bd-btm{ border-bottom: 1px solid #0E66B3;}
.case1 .tab-link a{ color: #0E66B3; display: block; width: 290px; line-height: 50px; -webkit-transition: all 0s; transition: all 0s; border: 1px solid #0E66B3; border-bottom: none; text-align: center;}
.case1 .tab-link a.tab-link3{
	position: absolute;
	bottom: 0;
	left: 620px;
}
.case1 .tab-link a:hover{ color: #fff; background: #0E66B3; opacity: 1;}
.case1 .tab{ display: flex; border-bottom: 1px solid #0E66B3; margin-bottom: 30px;}
.case1 .tab li{ width: 290px; line-height: 50px; text-align: center; margin-right: 20px; border-bottom: none!important; cursor: pointer;}
.case1 .tab li:nth-child(1){ color: #0E66B3; border: 1px solid #0E66B3;}
.case1 .tab li:nth-child(2){ color: #E04D1A; border: 1px solid #E04D1A;}
.case1 .tab li.active{ color: #fff!important;}
.case1 .tab li:nth-child(1).active{ background: #0E66B3;}
.case1 .tab li:nth-child(2).active{ background: #E04D1A;}
.case1 .tabcont{ display: none; justify-content:flex-start; flex-wrap: wrap;}
.case1 .tabcont.active{ display: flex;}
.case1 .tabcont span{ width: 24.1%; padding: 0 1em; margin: 0 .45% 10px; color: #0E66B3; line-height: 50px; background: #fff; border: 1px solid #0E66B3; border-radius: 5px; cursor: pointer;}
.case1 .tabcont span.long{ width: 49.1%;}
.case1 .tabcont.orange span{ color: #E04D1A; border: 1px solid #E04D1A;}
.case1 .tabcont span.active{ color: #fff; background: #0E66B3;}
.case1 .tabcont.orange span.active{ color: #fff; background: #E04D1A;}
.case1 .clearbtn{ display: inline-block; padding-top: 20px; color: #0E66B3; font-size: 20px; cursor: pointer; -webkit-transition: all .2s; transition: all .2s;}
.case1 .clearbtn:hover{ opacity: .5;}
.case1 .clearbtn img{ vertical-align: middle; margin-right: .5em;}
.case2{ overflow: hidden;}
.case2 article{ display:none;}
.case2 article.active{ display:block;}
.case2 article:not(:last-child){ padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid #9B9B9B;}
.case2 article h3{ margin-bottom: 1em; padding: .5em 1em; color: #fff; font-size: 20px; font-weight: normal; background: #0E66B5;}
.case2 article .tag{ float: right; text-align: right;}
.case2 article .tag span{ display: inline-block; min-width: 100px; margin: 0 10px 10px 0; padding: 0 1.5em; line-height: 30px; color: #484747; font-size: 16px; text-align: center; background: #CFE0F0; border-radius: 5px;}
.case2 article .tag span.orange{ background: #F9DBD1;}
.case2 article .ttl{ float: left; margin-bottom: 10px; color: #0E66B3;}
.case2 article figure{ clear: both; display: flex; justify-content: space-between; height: 389px;}
.case2 article figure img{ width: 49.1%;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.case1{ padding-top: 50px; padding-bottom: 50px;}
	.case1 .tab{ justify-content: space-between; margin-bottom: 20px;}
	.case1 .tab li{ width: 48%; margin-right: 0; line-height: 1.4; padding: 5px 0;}
	.case1 .tab li.active{ color: #fff!important;}
	.case1 .tabcont span{ width: 48%; padding: .5em .5em; margin: 0 1% 2%; line-height: 1.4;}
	.case1 .tabcont span.long{ width: 98%;}
	.case1 .tab-link{ margin-bottom: 30px;}
	.case1 .tab-link a{ display: block; width: 48%; line-height: inherit; padding: 1px; border-bottom: 1px solid #0E66B3; margin-bottom: -1px;}
	.case1 .tab-link a.tab-link3{ position: static;}
	.case1 .clearbtn{ font-size: 16px;}
	.case1 .clearbtn img{ width: 40px;}
	.case2 article:not(:last-child){ padding-bottom: 30px; margin-bottom: 30px;}
	.case2 article h3{ font-size: 18px; line-height: 1.5;}
	.case2 article .tag{ float: none; text-align: left;}
	.case2 article .tag span{ margin: 0 5px 5px 0; padding: 0 .5em; font-size: 14px;}
	.case2 article .tag span.orange{ background: #F9DBD1;}
	.case2 article .ttl{ float: none; line-height: 1.5;}
	.case2 article figure{ height: auto;}
}



/*----------------------------------------------
	voice/
-----------------------------------------------*/

.voice{ text-align: left; padding-top: 100px; padding-bottom: 100px;}
.voice h2{ margin-bottom: 1em; padding: .5em 1em; color: #fff; font-size: 20px; font-weight: normal; background: #0E66B5;}
.voice .caption-photo{
	display: flex;
	gap: 20px;
}
.voice .caption-photo figure{ line-height: 1.4;}
.voice .caption-photo figure img{ margin-bottom: 10px;}
.voice .arrow-box{
	display: flex;
	justify-content: space-between;
}
.voice .arrow-box .bd-box{
	border: 1px solid #0D66B5;
	padding: 25px 30px;
	width: 480px;
	margin-right: 50px;
	position: relative;
}
.voice .arrow-box .bd-box:after{
	content: "";
	position: absolute;
	top: 0;
	right: -37px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/ic-right.svg") center / 20px auto no-repeat;
	width: 20px;
	height: 24px;
	display: block;
}
.voice .arrow-box .blue-box{
	color: #fff;
	background: #0D66B5;
	padding: 25px 30px;
	width: 670px;
}
.voice .imgright{
	display: flex;
	justify-content: space-between;
}
.voice .imgright .leftcol{ flex: 1;}
.voice .imgright .rightcol{ margin-left: 35px;}
.voice .imgright .rightcol.flexbox{
	display: flex;
	gap: 10px;
}
.voice .bd-box{
	border: 1px solid #0D66B5;
	padding: 25px 30px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.voice{ padding-top: 50px; padding-bottom: 50px;}
	.voice h2{ font-size: 18px; line-height: 1.5;}
	.voice .caption-photo{ gap: 10px;}
	.voice .caption-photo figure img{ margin-bottom: 5px;}
	.voice .arrow-box{ display: block;}
	.voice .arrow-box .bd-box{
		padding: 15px 20px;
		width: auto;
		margin: 0 0 50px;
	}
	.voice .arrow-box .bd-box:after{
		top: inherit;
		right: 0;
		bottom: -37px;
		left: 0;
		margin: 0 auto;
		background: url("../img/ic-bottom.svg") center / 24px auto no-repeat;
		width: 24px;
		height: 20px;
	}
	.voice .arrow-box .blue-box{
		padding: 15px 20px;
		width: auto;
	}
	.voice .imgright{ display: block;}
	.voice .imgright .leftcol{ margin-bottom: 20px;}
	.voice .imgright .rightcol{ margin: 0;}
	.voice .imgright .rightcol figure{ text-align: center;}
	.voice .imgright .rightcol.flexbox{ display: block;}
	.voice .imgright .rightcol.flexbox figure{ margin-bottom: 10px;}
	.voice .bd-box{ padding: 15px 20px;}
}



/*----------------------------------------------
	company/
-----------------------------------------------*/

.company1{ display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1000px; margin: 0 auto;}
.company1 a{ display: block; width: 30.8%; background: #0E66B5; margin-bottom: 60px;}
.company1 a figure{ overflow: hidden;}
.company1 a p{ padding: 0 1em .2em; color: #fff; font-size: 24px; text-align: left; line-height: 60px; position: relative;}
.company1 a p:after{ display: block; content: "＞"; position: absolute; right: 1em; top: 0; font-size: 18px;}
.company2{ display: flex; justify-content: space-between;}
.company2 a{ width: 16%; padding: 0 1em; text-align: left; line-height: 50px; border: 1px solid #707070; position: relative;}
.company2 a:after{ content: "＞"; position: absolute; right: .5em; top: 0; color: #0E66B5;}
.company2 a.ic-bottom:after{ transform:rotate(90deg);}
.company2 a:hover{ opacity: 1; color: #fff; background: #0E66B5;}
.company2 a:hover:after{ color: #fff;}
.profile1{ height: 500px; background: url(../img/strengths1-bg.jpg) center / cover no-repeat;}
.profile5 .clm2{
	display: flex;
	justify-content: space-between;
}
.profile5 .clm2 div{ width: 48%;}
.profile2{ display: flex; justify-content: space-between; position: relative; padding-bottom: 60px;}
.profile2:after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	margin: 0 auto;
	display: block;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	width: 100%;
	max-width: 600px;
	height: 40px;
	background: #0E66B5;
}
.profile2 div{ width: 48%;}
.profile2 figure{ width: 350px; text-align: left;}
.profile2 div .table1 th{ width: 7em;}
.profile2-2{
	max-width: 850px;
	margin-right: auto;
	margin-left: auto;
}
.profile3{ display: flex; flex-direction: row-reverse; margin-right: calc(50% - 600px);}
.profile3 figure{ width: 26%; background: url("../img/permit.jpg") center top / cover no-repeat;}
.profile3wrap{ flex: 1; padding-left: 5%; padding-right: 3%;}
.profile3wrap div{ display: flex; justify-content: space-between; text-align: left;}
.profile3wrap div dl{ padding-right: 1em;}
.profile3wrap div dl .line{ padding-bottom: 2em; margin-bottom: 1em; border-bottom: 1px solid #707070;}
.profile4{ display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-top: 1px solid #707070; border-bottom: 1px solid #707070;}
.profile4 dt{ width: 9.5em; padding-bottom: .2em;}
.profile4 dd{
	display: flex;
}
.profile4 dd a{
	display: block;
	margin-left: 1.5em;
}
.profile4 img{ margin-right: .5em;}
.message-cont{
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	box-sizing: content-box;
	margin-right: auto;
	margin-left: auto;
	padding-right: 3%;
	padding-left: 3%;
	/*
	padding-left: calc(50% - 600px);
	*/
}
.message-cont .message1{ /*width: 50%;*/}
.message-cont .message1 .name{
	display: flex;
	align-items: center;
}
.message-cont .message1 .name span{
	display: block;
	margin-right: 20px;
}
.message-cont .message2{ width: 46.8%;}
.message-cont .message2 figure{ margin-bottom: 20px;}
.message1 p img{ vertical-align: middle;}
.philosophy1{ padding: 180px 0; color: #fff; font-size: 46px; line-height: 1.5; background: url("../img/philosophy1-bg.jpg") center / cover no-repeat;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.company1 a{ width: 48%; margin-bottom: 20px;}
	.company1 a p{ padding: 0 .5em; font-size: 20px; line-height: 50px;}
	.company1 a p:after{ right: .5em;}
	.company2{ flex-wrap: wrap;}
	.company2 a{ width: 49%; padding: 0 1em; margin-bottom: 2%; line-height: 40px;}
	.company2 a:hover{ color: #484747; background: none;}
	.company2 a:hover:after{ color: #0E66B5;}
	.profile1{ height: auto; padding-top: 50%; background: url(../img/top6-bg-sp.jpg) center bottom / cover no-repeat;}
	.profile5 .clm2{ display: block;}
	.profile5 .clm2 div{
		width: 100%;
		margin-bottom: 20px;
	}
	.profile2{ display: block;}
	.profile2 div{ width: auto;}
	.profile2 figure{ width: auto; margin-bottom: 50px;}
	.profile3{ display: block; margin-right: 0;}
	.profile3 figure{ width: auto; padding-top: 80%; background: url("../img/permit.jpg") center top / cover no-repeat;}
	.profile3wrap{ padding-left: 3%; padding-right: 3%;}
	.profile3wrap div{ display: block;}
	.profile3wrap div dl{ padding-right: 0; margin-bottom: 1em;}
	.profile3wrap div dl .line{ padding-bottom: 1em;}
	.profile4{ display: block; text-align: left;}
	.profile4 dt{ width: auto; margin-bottom: 20px;}
	.profile4 dd{ display: block;}
	.profile4 dd a{ margin: 0 0 1em;}
	.profile4 dd img{ width: 35px;}
	.message1{ display: block;}
	.message1 p{ padding-right: 0; margin-bottom: 30px;}
	.message1 figure{ width: auto; text-align: center;}
	.message1 figure img{ width: 70%;}
	.message-cont{
		display: block;
		padding: 0 3% 30px;
	}
	.message-cont .message1{ width: 100%;}
	.message-cont .message1 .name span{ margin-right: 15px;}
	.message-cont .message2{ width: 100%;}
	.message-cont .message2 figure{ margin-bottom: 10px;}
	.philosophy1{ padding: 80px 0; font-size: 30px;}
}



/*----------------------------------------------
	recruit/
-----------------------------------------------*/

.new1{ margin-bottom: 100px;}
.new1 li:not(:last-child){ padding-bottom: 20px; background: url(../img/ic-bottom.svg) left 50px bottom 3px no-repeat;}
.new1 li{ display: flex; padding-bottom: 20px;}
.new1 li p.ttl{ flex: 1; padding: .8em 1em 1em; font-size: 30px; line-height: 1.5; background: #F2F6F7;}
.new1 li p.txt{ padding: 2em; width: 880px; line-height: 1.5; background: #F2F6F7; position: relative;}
.new1 li p.txt:before{ display: block; content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 80px; background: #fff;}
.recruit1 .slick-dots{ bottom: 15px;}
.recruit1 .slick-dots li{ width: 10px; height: 10px;}
.recruit1 .slick-dots li button:before{ width: 10px; height: 10px; opacity: .5!important;}
.recruit1 .slick-dots li.slick-active button:before{ opacity: 1!important; background: #fff;}
.recruit2{
	display: flex;
	justify-content: space-between;
}
.recruit2 div{ flex: 1;}
.recruit2 figure{ max-width: 400px; margin-left: 5%; margin-right: 5%;}
.recruit3 .rightspace-wrap{ display: flex;}
.recruit3 .rightspace-wrap figure{ width: 36.5%; background: url("../img/recruit3-img.jpg") right center / cover no-repeat;}
.recruit3 .rightspace-wrap div{ flex: 1; padding-left: 40px; text-align: left;}
.recruit3 ul{ display: flex; justify-content: space-between;}
.recruit3 ul li{ width: 23.3%; text-align: left;}
.recruit3 ul li figure{ margin-bottom: .5em; overflow: hidden;}
.recruit3 ul li p{ padding-left: 1.5em; position: relative;}
.recruit3 ul li p:before{ position: absolute; left: 0; top: 0; content: "＞"; color: #0E66B5;}
.recruit4 .slick-prev{ display: none;}
.recruit4 .slick-next{ position: absolute; right: -50px; top: 40%; width: 50px; height: 50px;background: url("../img/ic-right.svg") center / 40px auto no-repeat; cursor: pointer; z-index: 999;}
.recruit4 .slick-slide{ padding-right: 45px; text-align: left;}
.recruit4 .slick-slide figure{ overflow: hidden; margin-bottom: .5em;}
.recruit5 .leftspace-wrap{ display: flex; flex-direction: row-reverse;}
.recruit5 .leftspace-wrap.pr5p{ padding-right: 5%;}
.recruit5 .leftspace-wrap figure{ width: 50%; background: url("../img/recruit5-img.jpg") center / cover no-repeat; min-height: 510px;}
.recruit5 .leftspace-wrap div{ flex: 1; padding-right: 30px; text-align: left;}
.recruit5 .leftspace-wrap div ul{ display: flex; flex-wrap: wrap; margin-bottom: .5em;}
.recruit5 .leftspace-wrap div ul li{ width: 50%; padding-right: 1em; margin-bottom: 2em;}
.recruit5 .leftspace-wrap div ul li:nth-child(2n){ width: 50%;}
.recruit6{ display: flex;}
.recruit6 a{ padding: 1em 1em 3em; width: 50%; font-size: 30px; line-height: 1.2; background: url(../img/ic-right.svg) center bottom 1.5em / 20px auto no-repeat; border: 1px solid #0E66B5;}
.recruit6 a:nth-child(1){ border-right: none;}
.recruit6 a:hover{ opacity: 1; color: #fff; background: url(../img/ic-right-white.svg) center bottom 1.5em / 20px auto no-repeat #0E66B5;}
.recruit6 a span{ display: inline-block;}
.recruit6 a[target="_blank"] span:after{ display: inline-block; content: ""; margin-left: .5em; width: 20px; height: 20px; background: url("../img/ic-blank.svg") center / 20px no-repeat;}
.recruit6 a[target="_blank"]:hover span:after{ background: url("../img/ic-blank-hover.svg") center / 20px no-repeat;}
.recruit6 a:nth-child(2) span{ padding-top: .5em;}
.recruit6 a small{ vertical-align: middle; font-size: 14px;}
.about1{ margin-bottom: 200px;}
.about1wrap{ padding-top: 70px; background: linear-gradient(to bottom,  rgba(225,242,251,1) 0%,rgba(255,255,255,1) 100%);}
.about1wrap .wrap{ display: flex; justify-content: space-between;}
.about1wrap .wrap .leftcol{ width: 46%;}
.about1wrap .wrap .leftcol h3{ margin-bottom: 60px;}
.about1wrap .wrap .leftcol img{ width: 140%; max-width: inherit; margin-left: -40%;}
.about1wrap .wrap .rightcol{ width: 50%;}
.about2{ margin-bottom: 160px;}
.about3 ol{ display: flex; justify-content: space-between;}
.about3 ol li{ width: 32.5%; text-align: left;}
.about3 ol li p{ padding-top: 3em; margin-bottom: .5em; height: 300px; color: #0E66B5; font-size: 34px; line-height: 1.5; text-align: center; background: #F2F6F7; position: relative;}
.about3 ol li p span{ position: absolute; left: 0; top: -.5em; width: 100%; font-size: 150px; line-height: 1; text-align: center;}
.about4 h3{ text-align: center;}
.about4 .link1{ display: flex; justify-content: center; text-align: left; margin-bottom: 30px;}
.about4 .link1 a{ display: inline-block; max-width: 450px; width: 100%; padding: 0 3em .2em 1em; margin: 0 25px; font-size: 34px; line-height: 90px; text-align: left; background: #fff; border: 1px solid #707070; position: relative;}
.about4 .link1 a:after{ content: "＞"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); color: #0E66B5; font-size: 16px;}
.about4 .link1 a:hover{ opacity: 1; color: #fff; background: #0E66B5; border-color: #0E66B5;}
.about4 .link1 a:hover:after{ color: #fff;}
.about4 .link2{ display: flex; justify-content:space-between; flex-wrap: wrap; text-align: left;}
.about4 .link2 a{ display: inline-block; width: 48%; padding: .5em 3em .7em 1em; margin-bottom: 10px;  line-height: 1.3; text-align: left; background: #fff; border: 1px solid #707070; position: relative;}
.about4 .link2 a:before{ content: "＞"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); color: #0E66B5; font-size: 16px;}
.about4 .link2 a:hover{ opacity: 1; color: #fff; background: #0E66B5; border-color: #0E66B5;}
.about4 .link2 a:hover:before{ color: #fff;}
.about4 .link2 a[target="_blank"]:after{ display: inline-block; content: ""; margin-left: .5em; width: 15px; height: 15px; background: url("../img/ic-blank.svg") no-repeat;}
.about4 .link2 a[target="_blank"]:hover:after{ background: url("../img/ic-blank-hover.svg") no-repeat;}
.interview1{ text-align: left;}
.interview1 .about{ margin-bottom: 80px;}
.interview1 h2{ color: #0E66B5; font-size: 30px; line-height: 1.5; margin-bottom: .5em; padding-bottom: .5em; position: relative;}
.interview1 h2:after{ display: block; content: ""; position: absolute; right: 0; bottom: 0; width: 2000px; height: 1px; background: #0E66B5;}
.interview1 .rightspace h2:after{ width: 100%;}
.interview1 h3{ font-size: 34px; line-height: 1.5; margin-bottom: .5em;}
.interview1 .txt{ margin-bottom: 80px;}
.interview1 .flexrightimg{ display: flex; justify-content: space-between;}
.interview1 .flexrightimg figure{ width: 38%;}
.interview1 .flexrightimg div{ flex: 1; margin-right: 60px;}
.interview1 .flexleftimg{ display: flex; justify-content: space-between; flex-direction: row-reverse;}
.interview1 .flexleftimg figure{ width: 38%;}
.interview1 .flexleftimg div{ flex: 1; margin-left: 60px;}
.interview2{ padding: 30px 0 100px;}
.interview2 li{ display: flex; padding: .5em 0; text-align: left; border-bottom: 1px solid #9B9B9B;}
.interview2 li .hour{ width: 3em; font-size: 30px; line-height: 1;}
.interview2 li .txt{ flex: 1;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1350px) {
	.recruit5 .leftspace-wrap{ padding-left: 0;}
	.recruit5 .leftspace-wrap.pr5p{ padding-left: 3%;}
}
@media screen and (max-width: 540px) {
	.new1{ margin-bottom: 100px;}
	.new1 li{ display: block;}
	.new1 li p.ttl{ padding: .8em 1em; font-size: 20px; line-height: 1.5; background: #F2F6F7;}
	.new1 li p.txt{ padding: 1em; width: auto;}
	.new1 li p.txt:before{ width: 80px; height: 3px;}
	.recruit2{
		display: block;
		margin: 0 0 70px;
		padding: 0 3%;
	}
	.recruit2 div,.recruit2 figure{ width: 100%; margin-bottom: 30px;}
	.recruit2 figure{ width: 80%; margin-right: auto; margin-left: auto;}
	.recruit3 .rightspace-wrap{ display: block;}
	.recruit3 .rightspace-wrap figure{ width: auto; background: none; margin-bottom: 2em;}
	.recruit3 .rightspace-wrap div{ padding-left: 3%;}
	.recruit3 ul{ flex-wrap: wrap;}
	.recruit3 ul li{ width: 49%;}
	.recruit4 .slick-slider{ padding-right: 40px;}
	.recruit4 .slick-next{ top: 35%; right: 0; width: 30px; height: 30px; background-size: 20px auto;}
	.recruit4 .slick-slide{ padding-right: 10px; text-align: left;}
	.recruit4 .slick-slide figure{ overflow: hidden; margin-bottom: .5em;}
	.recruit5 .leftspace-sp .leftspace-wrap div{ padding-left: 0;}
	.recruit5 .leftspace-wrap{ display: block;}
	.recruit5 .leftspace-wrap.pr5p{ padding-right: 3%;}
	.recruit5 .leftspace-wrap figure{ width: auto; background: none; margin-bottom: 2em; min-height: inherit;}
	.recruit5 .leftspace-wrap div{ flex: 1; padding-right: 40px; text-align: left;}
	.recruit5 .leftspace-wrap div ul{ display: block;}
	.recruit5 .leftspace-wrap div ul li{ width: auto; padding-right: 0; margin-bottom: 1em;}
	.recruit5 .leftspace-wrap div ul li:nth-child(2n){ width: auto;}
	.recruit6{ display: block;}
	.recruit6 a{ display: block; padding: 1em .5em 2.5em; width: auto; font-size: 26px; background: url(../img/ic-right.svg) center bottom 1em / 20px auto no-repeat!important;}
	.recruit6 a:nth-child(1){ border-right: 1px solid #0E66B5; border-bottom: none;}
	.recruit6 a:hover{ color: #484747;}
	.recruit6 a span{ display: inline-block;}
	.recruit6 a[target="_blank"] span:after{ width: 15px; height: 15px; background: url("../img/ic-blank.svg") center / 15px no-repeat!important;}
	.recruit6 a[target="_blank"]:hover span:after{ background: url("../img/ic-blank-hover.svg") center / 20px no-repeat;}
	.recruit6 a:nth-child(2) span{ padding-top: 0;}
	.recruit6 a small{ font-size: 12px;}
	
	.about1{ margin-bottom: 100px;}
	.about1wrap{ padding-top: 40px;}
	.about1wrap .wrap{ display: block;}
	.about1wrap .wrap .leftcol{ width: auto; margin-bottom: 2em;}
	.about1wrap .wrap .leftcol h3{ margin-bottom: 1em;}
	.about1wrap .wrap .leftcol img{ width: 100%; margin-left: 0;}
	.about1wrap .wrap .rightcol{ width: auto;}
	.about2{ margin-bottom: 100px;}
	.about3 ol{ display: block; margin-bottom: 30px;}
	.about3 ol li{ width: auto; margin-bottom: 50px;}
	.about3 ol li p{ padding: 2em 0 1.5em; height: auto; font-size: 24px;}
	.about3 ol li p span{ font-size: 80px;}
	.about4 .link1{ display: block; margin-bottom: 30px;}
	.about4 .link1 a{ display: block; max-width: inherit; padding: 0 3em .2em 1em; margin: 0 0 10px; font-size: 24px; line-height: 70px;}
	.about4 .link1 a:hover{ opacity: 1; color: #484747; background: #fff; border-color: #707070;}
	.about4 .link1 a:hover:after{ color: #0E66B5;}
	.about4 .link2{ display: block;}
	.about4 .link2 a{ display: block; width: auto;}
	.about4 .link2 a:hover{ opacity: 1; color: #484747; background: #fff; border-color: #707070;}
	.about4 .link2 a:hover:before{ color: #0E66B5;}
	.about4 .link2 a[target="_blank"]:after{ background: url("../img/ic-blank.svg") no-repeat!important;}
	.interview1 .about{ margin-bottom: 40px;}
	.interview1 h2{ font-size: 20px;}
	.interview1 h3{ font-size: 24px;}
	.interview1 .txt{ margin-bottom: 40px;}
	.interview1 .flexrightimg{ display: block; margin-bottom: 60px;}
	.interview1 .flexrightimg figure{ width: auto;}
	.interview1 .flexrightimg div{ margin-right: 3%;}
	.interview1 .flexleftimg{ display: block; margin-bottom: 60px;}
	.interview1 .flexleftimg figure{ width: auto;}
	.interview1 .flexleftimg div{ margin-left: 3%;}
	.interview2{ padding: 20px 0 60px;}
	.interview2 li .hour{ font-size: 24px;}
}



/*----------------------------------------------
	news/
-----------------------------------------------*/

.news1 dl{ padding: 30px 0; border-bottom: 1px solid #9B9B9B;}
.news1 dl:first-child{ border-top: 1px solid #9B9B9B;}
.news1 dl dt{ font-size: 24px;}
.news1 dl dd a{ text-decoration: underline;}
.news-detail1 .date{
	text-align: right;
	margin-bottom: 2em;
}
.news-detail1 .wpeditor{ margin-bottom: 5em;}
.news-detail1 .wpeditor a{ text-decoration: underline;}
.news-detail1 .wpeditor a:hover{ text-decoration: none;}
.news-detail1 .wpeditor .imgleft,.news-detail1 .wpeditor .imgright{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}
.news-detail1 .wpeditor figure{ text-align: center; padding: 0 30px;}
.news-detail1 .wpeditor .imgleft figure{ margin-right: 30px;}
.news-detail1 .wpeditor .imgright figure{ margin-left: 30px;}
.news-detail1 .wpeditor .imgleft div,.news-detail1 .wpeditor .imgright div{ flex: 1;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.news1 dl{ padding: 15px 0;}
	.news1 dl dt{ font-size: 20px;}
	.news-detail1 .wpeditor .imgleft,.news-detail1 .wpeditor .imgright{ display: block;}
	.news-detail1 .wpeditor figure{ padding: 0 0 1em;}
	.news-detail1 .wpeditor .imgleft figure{ margin-right: 0;}
	.news-detail1 .wpeditor .imgright figure{ margin-left: 0;}
	.news-detail1 .wpeditor .imgleft div,.news-detail1 .wpeditor .imgright div{ margin-bottom: 1em;}
}



/*----------------------------------------------
	info/
-----------------------------------------------*/

.sitemap1 p:first-child{ border-top: 1px solid #9B9B9B;}
.sitemap1 p{ font-weight: bold; background: url(../img/ic-right.svg) right center / 20px auto no-repeat; border-bottom: 1px solid #9B9B9B; position: relative;}
.sitemap1 p a{ display: block; padding: 2em 3em;}
.sitemap1 p:before, .sitemap1 dl dt:before{ display: block; content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 50px; background: #0E66B5;}
.sitemap1 dl{ padding-bottom: 2em; border-bottom: 1px solid #9B9B9B;}
.sitemap1 dl dt{ font-weight: bold; background: url(../img/ic-right.svg) right center / 20px auto no-repeat; position: relative;}
.sitemap1 dl dt a{ display: block; padding: 2em 3em;}
.sitemap1 dl dd{ padding: 0 4.5em; background: url(../img/ic-right.svg) left 3em top .6em no-repeat;}
.sitemap1 a:hover{ opacity: 1; color: #0E66B5; text-decoration: underline;}
.enviroment1 .line{ padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid #9B9B9B;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.privacy1 .mb80{ margin-bottom: 40px;}
	.privacy1 .mb40{ margin-bottom: 20px;}
}












