@charset "UTF-8";
*,*::before,*::after{
	box-sizing:border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
html{
	font-size:62.5%;
}
body{
	line-height: 170%;
	margin:0 auto;
	padding:0;
	font-size:1.4em;
	font-family: YakuHanJP, 'Open Sans', 'Arial', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif!important;
}
ol, ul{
	list-style: none;
}
blockquote, q{
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after{
	content: '';
	content: none;
}
@media screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* 電話リンクなし */
	a[href^=tel]{
		pointer-events:none;
	}
}
*,*::before,*::after{
	box-sizing:border-box;
}
img {
	border:none;
	vertical-align:top;
	width: 100%;
}
ul li,ol li{
	list-style:none;
}
a{
	color:#0a1426;
	text-decoration:none;
	transition:color 0.15s;
}
a:link{
	color:#0a1426;
}
a:visited{
	color:#0a1426;
}
a:hover{
	color:#0a1426;
	text-decoration:none;
}
/* button初期化 */
button{
	font: inherit;
	-webkit-appearance:none;
	appearance:none;
	padding:0;
	margin:0;
	background:none;
	border:none;
	outline:none;
}
button:hover{
	cursor:pointer;
}
button, input, select, textarea{
	font-family : inherit;
	font-size:100%;
}
table{
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
	word-wrap: break-word;
}
/* 表示切替 */
.sp-hide{
	display:none!important;
}
@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust:100%;
	}
	.pc-hide{
		display:none!important;
	}
	.sp-hide{
		display:block!important;
	}
	br.sp-hide{
		display:inline-block;
	}
}
/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--black: #0a1426;
	--blue: #0062c2;
	--bgreen: #009eb7;
	/* font */
	--en: 'Lucida Grande', 'Open Sans', 'Arial', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	--light: 100;
	--medium: 500;
	--bold: 700;
}
.container{
	padding: 80px 15px;
}
#km_Footer .container{
	padding: 0 15px;
}
/* play button */
.play__button::before,
.play__button::after{
	content: '';
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: filter .3s;
	z-index: 1;
}
.play__button::before{
	background: #FFF;
	border-radius: 41px;
	filter: drop-shadow(0 0 10px rgba(10,20,38,.2));
	height: 82px;
	width: 82px;
}
.play__button::after{
	border-bottom: 16px solid transparent;
	border-left: 27px solid var(--blue);
	border-top: 16px solid transparent;
	left: 50.5%;
	top: 50.5%;
}
/* txtlink */
a.txtlink{
	border-bottom: 1px solid var(--blue);
	color: var(--blue);
	display: inline-block;
	font-size: 1.4rem;
	font-weight: var(--medium);
	height: 24px;
	margin: 13px 0 0 0;
}
.txtlink__txt{
	padding: 0 20px 0 0;
	position: relative;
}
.txtlink__txt::before{
	background: url("../../img/ico_link_003.png") no-repeat center center /cover;
	content: '';
	height: 14px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	width: 14px;
}
a.txtlink:hover{
	border-bottom: none;
}
/* caption */
.caption{
	color: #898989;
	font-size: 1.3rem;
	font-weight: var(--medium);
	line-height: 1.4;
	margin: 10px 0 0 0;
}
.caption__head{
	display: block;
	font-size: 1.3rem;
	font-weight: var(--bold);
	margin: 0 0 5px 0;
}
.project__link{
	-ms-align-items: flex-end;
	align-items: flex-end;
	display: -ms-inline-flex;
	display: inline-flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	height: 135px;
	margin: 0 0 0 335px;
	z-index: 1;
}
.project__button{
	-ms-align-items: center;
	align-items: center;
	background: #FFF;
	display: -ms-flex;
	display: flex;
	height: 72px;
	margin: 0 0 0 65px;
	min-width: 315px;
	padding: 0 22px;
	position: relative;
}
.project__button::before,
.project__button::after{
	background: var(--black);
	content: '';
	height: 1px;
	position: absolute;
	right: -25px;
	transition: right .3s;
}
.project__button::before{
	bottom: 12px;
	width: 62px;
}
.project__button::after{
	bottom: 16px;
	transform: rotate(50deg);
	width: 10px;
}
.project__button--txt{
	color: var(--bgreen);
	font-size: 2.0rem;
	font-weight: var(--bold);
	transition: color .3s;
}
/* hover */
.project__button:hover .project__button--txt{
	color: var(--blue);
	transition: color .3s;
}
.project__button:hover::before,
.project__button:hover::after{
	right: -33px;
	transition: right .3s;
}
/* inactive */
.inactive .project__button--txt,
.inactive.project__button:hover .project__button--txt{
	color: #bdc1c4;
}
.inactive.project__button::before,
.inactive.project__button::after,
.inactive.project__button:hover::before,
.inactive.project__button:hover::after{
	background: #bdc1c4;
	content: '';
	height: 1px;
	position: absolute;
	right: -25px;
	transition: right .3s;
}
@media screen and (max-width:812px){
	.container{
		padding: 60px 15px;
	}
	#km_Header #main_Navigation.open.openOk{
		left: 0;
	}
	#km_Footer .container{
		padding: 0 10px;
	}
	.project__link{
		display: block;
		height: auto;
		margin: 0;
		padding: 0 45px 0 0;
	}
	.project__button{
		height: 60px;
		margin: 10px 0 0 15px;
		padding: 0 15px;
		min-width: 97%;
		width: 97%;
	}
	.project__button--txt{
		font-size: 1.6rem;
		font-weight: var(--bold);
		transition: color .3s;
	}
	/* hover */
	.project__button:hover .project__button--txt{
		color: var(--blue);
		transition: color .3s;
	}
	.project__button:hover::before,
	.project__button:hover::after{
		right: -33px;
		transition: right .3s;
	}
}
/*
	sub-header
-----------------------------------------------------------------------------------------------*/
.pc .content-wrapper{
	padding: 74px 0 0 0;
}
.sub-header{
	-ms-align-items: center;
	align-items: center;
	background: var(--black);
	display: -ms-flex;
	display: flex;
	height: 77px;
	-ms-justify-content: space-between;
	justify-content: space-between;
	padding: 0 0 0 30px;
	position: fixed;
	top: 74px;
	transition: top .3s;
	width: 100%;
	z-index: 9999;
}
.sub-header.fixed{
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	top: 0;
	transition: top .4s;
}
.sub-header__logo{
	line-height: 1;
	margin: 5px 0 0 0;
}
.sub-header__logo--button{
	-ms-align-items: center;
	align-items: center;
	display: -ms-flex;
	display: flex;
	height: 40px;
	-ms-justify-content: center;
	justify-content: center;
	transition: opacity .3s;
}
.sub-header__logo--button:hover{
	opacity: .7;
	transition: opacity .3s;
}
.sub-header__logo--txt{
	background: url("../../img/logo_001.svg") no-repeat center center /auto;
	color: transparent;
	display: block;
	height: 17px;
	overflow: hidden;
	text-indent: -9999px;
	width: 313px;
}
.nav__list{
	display: -ms-flex;
	display: flex;
}
a.nav__item--button,
.nav__item--button{
	-ms-align-items: center;
	align-items: center;
	color: #FFF;
	cursor: pointer;
	display: -ms-flex;
	display: flex;
	font-size: 1.6rem;
	font-weight: var(--bold);
	height: 77px;
	-ms-justify-content: center;
	justify-content: center;
	position: relative;
	text-align: center;
	width: 130px;
}
a.nav__item--button::before,
.nav__item--button::before{
	bottom: 0;
	content: '';
	height: 6px;
	right: 0;
	position: absolute;
	transition: width .3s;
	width: 0;
	z-index: 1;
}
a.nav__item--button:hover::before,
.nav__item--button:hover::before{
	left: 0;
	right: auto;
	transition: width .3s;
	width: 130px;
}
.nav-history::before,
.nav-business::before,
.nav-workstyle::before{
	background: rgba(255,255,255,.4);
}
.nav-project::before{
	background: #2671c1;
}
.nav-people::before{
	background: var(--bgreen);
}
.nav-recruit::before{
	background: var(--blue);
}
.menu{
	-ms-align-items: flex-start;
	align-items: flex-start;
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	left: -200vw;
	opacity: 0;
	padding: 30px 50px 10px 50px;
	position: absolute;
	transition: opacity .9s;
	width: 100%;
}
.nav__item:hover .menu{
	left: 0;
	opacity: 1;
	overflow-x: scroll;
	top:77px;
	transition: opacity .3s;
}
.menu-project{
	background: rgba(66,83,105,.95);
}
.menu-people{
	background: rgba(0,158,183,.95);
}
.menu-recruit{
	background: rgba(0,98,194,.95);
}
.menu__head{
	color: #FFF;
	display: block;
	min-width: 175px;
}
.menu__head--img{
	display: block;
	margin: 0 0 25px 0;
}
.menu__head--project,
.menu__head--people,
.menu__head--recruit{
	color: transparent;
	height: 44px;
	overflow: hidden;
	text-indent: -9999px;
	width: 174px;
}
.menu__head--project{
	background: url("../../img/bg_menu_project_001.png") no-repeat center center /cover;
}
.menu__head--people{
	background: url("../../img/bg_menu_people_001.png") no-repeat center center /cover;
	width: 152px;
}
.menu__head--recruit{
	background: url("../../img/bg_menu_recruit_001.png") no-repeat center center /cover;
}
.menu__head--txt{
	color: rgba(255,255,255,.6);
	font-size: 1.2rem;
	font-weight: var(--bold);
	margin: 20px 0 0 0;
}
.menu__list{
	-ms-align-items: flex-start;
	align-items: flex-start;
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 0 0 35px;
	padding: 0 0 0 35px;
	max-width: 825px;
	min-width: 825px;
	position: relative;
}
.menu__list::before{
	background: #FFF;
	content: '';
	height: calc(100% - 20px);
	left: 0;
	position: absolute;
	top: 0;
	width: 1px;
}
.menu__item{
	margin: 0 20px 20px 0;
	max-width: 258px;
	width: 250px;
}
.menu__item:nth-child(3n){
	margin-right: 0;
}
.menu__item:nth-child(4n){
	margin-bottom: auto;
}
.menu__item--button{
	display: block;
	transition: opacity 1.0s;
}
.menu__item--head{
	-ms-align-items: center;
	align-items: center;
	color: #FFF;
	display: -ms-flex;
	display: flex;
	font-size: 1.5rem;
	font-weight: var(--bold);
	margin: 0 0 10px 0;
	min-height: 40px;
}
.menu__item--head.head-2l{
	-ms-align-items: flex-start;
	align-items: flex-start;
}
.menu__item--head.head-2l [class^="menu__item--number"]{
	margin: 1px 2px 0 0;
}
.menu__item--number01,
.menu__item--number02,
.menu__item--number03,
.menu__item--number04,
.menu__item--number05,
.menu__item--number06{
	color: transparent;
	display: inline-block;
	height: 15px;
	margin: 0 4px 2px 0;
	text-indent: -9999px;
}
.menu__item--number01{
	background: url("../../img/bg_menu_number_001.png") no-repeat center center /cover;
	min-width: 16px;
	width: 16px;
}
.menu__item--number02{
	background: url("../../img/bg_menu_number_002.png") no-repeat center center /cover;
	min-width: 18px;
	width: 18px;
}
.menu__item--number03{
	background: url("../../img/bg_menu_number_003.png") no-repeat center center /cover;
	min-width: 18px;
	width: 18px;
}
.menu__item--number04{
	background: url("../../img/bg_menu_number_004.png") no-repeat center center /cover;
	min-width: 20px;
	width: 20px;
}
.menu__item--number05{
	background: url("../../img/bg_menu_number_005.png") no-repeat center center /cover;
	min-width: 19px;
	width: 19px;
}
.menu__item--number06{
	background: url("../../img/bg_menu_number_006.png") no-repeat center center /cover;
	min-width: 19px;
	width: 19px;
}
.menu__item--head-txt{
	line-height: 1.3;
}
.menu__item--img{
	background: #ced0d4;
	color: transparent;
	display: block;
	height: 150px;
	margin: 0 0 13px 0;
	overflow: hidden;
	text-indent: -9999px;
}
.municipal-dx{
	background: url("../../img/img_menu_project_001.png") no-repeat center center /cover;
}
.gas{
	background: url("../../img/img_menu_project_002.png") no-repeat center center /cover;
}
.imaging{
	background: url("../../img/img_menu_project_003.png") no-repeat center center /cover;
}
.x-ray{
	background: url("../../img/img_menu_project_004.png") no-repeat center center /cover;
}
.hitomeq{
	background: url("../../img/img_menu_project_005.png") no-repeat center center /cover;
}
.environment{
	background: url("../../img/img_menu_project_006.png") no-repeat center center /cover;
}
.kang-seokyung{
	background: url("../../img/img_menu_people_001.png") no-repeat center center /cover;
}
.yan-jiani{
	background: url("../../img/img_menu_people_002.png") no-repeat center center /cover;
}
.ebata-ryu{
	background: url("../../img/img_menu_people_003.png") no-repeat center center /cover;
}
.takemura-mio{
	background: url("../../img/img_menu_people_004.png") no-repeat center center /cover;
}
.tokumaru-shota{
	background: url("../../img/img_menu_people_005.png") no-repeat center center /cover;
}
.yorisaki-emiko{
	background: url("../../img/img_menu_people_006.png") no-repeat center center /cover;
}
.job-description{
	background: url("../../img/img_menu_recruit_001.png") no-repeat center center /cover;
}
.personnel{
	background: url("../../img/img_menu_recruit_002.png") no-repeat center center /cover;
}
.guideline{
	background: url("../../img/img_menu_recruit_003.png") no-repeat center center /cover;
}
.menu__item--tit{
	color: #FFF;
	display: block;
	font-feature-settings: 'palt';
	font-size: 1.5rem;
	font-weight: var(--bold);
	line-height: 1.5;
}
.menu__item--position,
.menu__item--since{
	color: rgba(255,255,255,.8);
	display: block;
	font-size: 1.1rem;
	line-height: 1.5;
	margin: 3px 0 0 0;
}
.menu__item--since{
	margin: 7px 0 0 0;
}
.nav__entry--button{
	background: var(--blue);
	align-items: center;
	color: #FFF;
	cursor: pointer;
	display: -ms-flex;
	display: flex;
	font-size: 1.7rem;
	font-weight: var(--bold);
	height: 77px;
	letter-spacing: .2rem;
	margin: 0 0 0 10px;
	padding: 0 40px;
	position: relative;
	text-align: center;
	transition: background .3s;
	width: 175px;
}
.nav__entry--button::before,
.nav__entry--button:after{
	background: #FFF;
	content: '';
	height: 1px;
	position: absolute;
	right: 30px;
	top: 47%;
	transition: .3s;
	width: 20px;
}
.nav__entry--button::before{
	transform: scale(1.0);
}
.nav__entry--button::after{
	transform: scale(1.0) rotate(90deg);
}
.nav__entry--button.active:hover::after{
	transform: scale(1.0) rotate(0);
}
.nav__entry--button.active::after{
	transform: scale(1.0) rotate(0);
}
.nav__entry--box{
	opacity: 0;
	position: absolute;
	right: -175px;
	top: 77px;
	transition: opacity .3s, right 0s .3s;
}
.open-box.active{
	opacity: 1;
	right: 0;
	transition: opacity .3s;
}
a.nav__item--entry{
	align-items: center;
	background: var(--blue);
	border-top: 1px solid rgba(255, 255, 255, .3);
	color: #fff;
	display: flex;
	font-weight: var(--bold);
	height: 50px;
	padding: 16px;
	position: relative;
	transition: .3s;
	width: 175px;
}
.nav__item--entry::before,
.nav__item--entry::after{
	background: #fff;
	content: '';
	height: 1px;
	position: absolute;
	right: 20px;
	transition: right .3s;
}
.nav__item--entry::before{
	top: 50%;
	width: 28px;
}
.nav__item--entry::after{
	transform: rotate(45deg);
	top: 45%;
	width: 6px;
}
/* hover */
.nav__entry--button.active,
.nav__entry--button:hover{
	background: #004499;
	transition: background .3s;
}
.nav__entry--button:hover::before,
.nav__entry--button:hover::after{
	transition: .3s;
}
.nav__entry--button:hover::before{
	transform: scale(1.17);
}
.nav__entry--button:hover::after{
	transform: scale(1.17) rotate(90deg);
}
.nav__item--entry:hover:before,
.nav__item--entry:hover:after{
	right: 15px;
	transition: right .3s;
}
a.nav__item--entry:hover{
	background: #004499;
	transition: background .3s;
}
.sub-header + *{
	margin-top: 77px;
}
/* inactive */
.nav__item.inactive,
.nav__item.inactive:hover{
	opacity: .5;
	transition: none;
}
.inactive .nav__item--button{
	cursor: default;
}
.inactive a.nav__item--button::before,
.inactive .nav__item--button::before{
	content: none;
}
.menu__item.inactive{
	position: relative;
}
.menu__item.inactive::before{
	background: url("../../img/txt_menu_001.png") no-repeat center center /cover;
	content: '';
	height: 14px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 130px;
	z-index: 1;
}
.menu-recruit .inactive::before{
	top: 43%;
}
.menu-people .inactive::before{
	top: 32%;
}
.menu__item.inactive .menu__item--button,
.menu__item.inactive .menu__item--button:hover{
	opacity: .4;
	transition: none;
}
@media screen and (max-width:1366px){
	.sub-header__logo--txt{
		background: url("../../img/logo_002.svg") no-repeat center center /auto;
		height: 38px;
		width: 155px;
	}
}
@media screen and (max-width:812px){
	.pc .content-wrapper{
		padding: 63px 0 0 0;
	}
	.sub-header{
		height: 65px;
		padding: 0 0 0 15px;
		top: 64px;
	}
	.sub-header.fixed{
		backdrop-filter: none;
	}
	.sub-header__logo{
		margin: 4px 0 0 0;
	}
	.sub-header__logo--button{
		height: auto;
	}
	.sub-header__logo--button:hover{
		opacity: .7;
		transition: opacity .3s;
	}
	.sub-header__logo--txt{
		background: url("../../img/logo_002.svg") no-repeat center center /auto;
		height: 32px;
		width: 125px;
	}
	.nav-menu{
		height: 65px;
		position: relative;
		width: 65px;
	}
	.nav-menu__txt,
	.nav-menu__txt::before,
	.nav-menu__txt::after{
		background: #FFF;
		color: transparent;
		height: 2px;
		left: 50%;
		position: absolute;
		text-indent: -9999px;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 25px;
	}
	.nav-menu__txt::before{
		content: '';
		top: -7px;
	}
	.nav-menu__txt::after{
		content: '';
		top: 9px;
	}
	.nav .nav-sub-header{
		-ms-align-items: center;
		align-items: center;
		background: var(--black);
		display: none;
		height: 65px;
		-ms-justify-content: space-between;
		justify-content: space-between;
		padding: 0 0 0 15px;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 1;
	}
	.nav.active .nav-sub-header{
		display: -ms-flex;
		display: flex;
	}
	.close .nav-menu__txt{
		background: transparent;
	}
	.close .nav-menu__txt::before,
	.close .nav-menu__txt::after{
		left: -1px;
		top: 0;
		transform: rotate(45deg);
		width: 28px;
	}
	.close .nav-menu__txt::after{
		transform: rotate(-45deg);
	}
	.nav{
		background: rgba(10,20,38,.95);
		height: 100%;
		left: 0;
		opacity: 0;
		overflow: scroll;
		padding: 65px 0 0 0;
		position: fixed;
		top: -600%;
		transition: opacity .2s, top 6s, z-index .1s;
		width: 100%;
		z-index: -9999;
	}
	.nav-menu.active + .nav{
		left: 0;
		opacity: 1;
		top: 0;
		transition: opacity .3s, top 0s, z-index .1s;
		z-index: 9999;
	}
	.nav__list{
		display: block;
	}
	.nav__item{
		border-bottom: 1px solid rgba(225,225,225,.15);
		padding: 17px 45px;
	}
	.nav__item:last-child{
		border-bottom: none;
	}
	a.nav__item--button,
	.nav__item--button{
		font-size: 1.6rem;
		height: auto;
		-ms-justify-content: flex-start;
		justify-content: flex-start;
		padding: 5px 0;
		text-align: left;
		width: 100%;
	}
	p.nav__item--button{
		pointer-events: none;
	}
	a.nav__item--button::before,
	.nav__item--button::before,
	a.nav__item--button:hover::before,
	.nav__item--button:hover::before{
		content: none;
	}
	.nav-history::before,
	.nav-business::before,
	.nav-workstyle::before,
	.nav-project::before,
	.nav-people::before,
	.nav-recruit::before{
		background: transparent;
	}
	.menu{
		display: block;
		left: 0;
		opacity: 1;
		overflow: visible;
		padding: 0;
		position: static;
		width: 100%;
	}
	.nav__item:hover .menu{
		overflow-x: visible;
	}
	.menu-project,
	.menu-people,
	.menu-recruit{
		background: transparent;
	}
	.menu__head{
		display: none;
	}
	.menu__list{
		-ms-justify-content: space-between;
		justify-content: space-between;
		margin: 5px 0 0 23px;
		padding: 0;
		position: relative;
		max-width: 100%;
		min-width: 100%;
	}
	.menu__list::before{
		content: none;
	}
	.menu__item{
		display: block;
		margin: 0 0 3px 0;
		max-width: 100%;
		width: 100%;
	}
	.menu-people .menu__item{
		display: -ms-flex;
		display: flex;
		max-width: calc(100%/2);
		width: calc(100%/2);
	}
	.menu__item:nth-child(even){
		margin-right: 0;
	}
	.menu__item:nth-child(4n){
		margin: 0 0 3px 0;
	}
	.menu__item--button{
		display: block;
		padding: 6px 0;
		transition: opacity 1.0s;
	}
	.menu__item--head{
		margin: 0;
	}
	.menu__item--number01,
	.menu__item--number02,
	.menu__item--number03,
	.menu__item--number04,
	.menu__item--number05,
	.menu__item--number06{
		display: none;
		height: 14px;
		margin: 0 5px 0 0;
		opacity: .8;
	}
	.menu__item--number01{
		min-width: 15px;
		width: 15px;
	}
	.menu__item--number02,
	.menu__item--number03,
	.menu__item--number04{
		min-width: 17px;
		width: 17px;
	}
	.menu__item--head-txt{
		line-height: 1.2;
		margin: 0;
	}
	.menu__item--img{
		display: none;
		height: 100px;
		margin: 0 0 6px 0;
	}
	.menu__item--tit{
		line-height: 1.4;
	}
	.menu__item--position,
	.menu__item--since{
		display: none;
		font-size: 1.0rem;
		line-height: 1.4;
		margin: 2px 0 0 0;
	}
	.menu__item--head,
	.menu__item--head-txt,
	.menu__item--tit{
		color: rgba(255,255,255,.8);
		font-size: 1.3rem;
		font-weight: var(--medium);
		min-height: auto;
	}
	.nav-entry.nav__item{
		padding: 80px 0 0 0;
	}
	.nav__entry{
		padding: 30px 20px;
	}
	.nav__entry--box.open-box{
		opacity: 1;
		position: static;
	}
	a.nav__item--entry{
		border-top: none;
		font-size: 1.6rem;
		height: 52px;
		justify-content: start;
		margin: 0;
		padding: 0 20px;
		width: 100%;
	}
	a.nav__item--entry::before{
		top: 50%;
		width: 40px;
	}
	a.nav__item--entry::after{
		top: 46%;
		transform: rotate(45deg);
		width: 7px;
	}
	.nav__item--entry + .nav__item--entry{
		margin-top: 16px;
	}
	.sub-header + *{
		margin-top: 65px;
	}
	.nav > .sub-header + *{
		margin-top: auto;
	}
	/* inactive */
	.menu__item.inactive::before{
		content: none;
	}
}
/*
	entry
-----------------------------------------------------------------------------------------------*/
#entry{
	background: #e7f0f1;
}
.entry__flex{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
}
.entry__button{
	-ms-align-items: center;
	align-items: center;
	display: -ms-flex;
	display: flex;
	height: 170px;
	-ms-justify-content: center;
	justify-content: center;
	margin: 0 25px;
	overflow: hidden;
	position: relative;
	width: 460px;
}
.entry__button::before{
	background: url("../../img/bg_entry_001.png") no-repeat center center /100%;
	content: '';
	height: 700px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 15.0s;
	width: 700px;
}
.entry__button:last-child::before{
	background: url("../../img/bg_entry_002.png") no-repeat center center /100%;
}
.entry__button--txt{
	color: #FFF;
	font-size: 2.4rem;
	font-weight: var(--medium);
	z-index: 0;
}
.entry__button--txt::before,
.entry__button--txt::after{
	content: '';
	position: absolute;
	right: 120px;
	transition: right .3s;
}
.entry__button--txt::before{
	background: #FFF;
	height: 1px;
	top: 50%;
	width: 40px;
}
.entry__button--txt::after{
	border-right: 1px solid #FFF;
	border-top: 1px solid #FFF;
	height: 7px;
	top: 48%;
	transform: rotate(45deg);
	width: 7px;
}
/* hover */
.entry__button:hover::before{
	transform: translate(-50%, -50%) rotate(360deg);
	transition: transform 10.0s;
}
.entry__button:hover .entry__button--txt::before,
.entry__button:hover .entry__button--txt::after{
	right: 110px;
	transition: right .3s;
}
@media screen and (max-width:812px){
	.entry__flex{
		display: block;
	}
	.entry__button{
		height: 110px;
		margin: 17px 0 0 0;
		width: 100%;
	}
	.entry__button:first-child{
		margin: 0;
	}
	.entry__button--txt{
		font-size: 2.0rem;
		padding: 0 55px 0 0;
		position: relative;
	}
	.entry__button--txt::before,
	.entry__button--txt::after{
		right: 0;
	}
	.entry__button--txt::after{
		top: 37%;
	}
	/* hover */
	.entry__button:hover .entry__button--txt::before,
	.entry__button:hover .entry__button--txt::after{
		right: -10px;
	}
}
/*
	media
-----------------------------------------------------------------------------------------------*/
#media{
	background: #d4e4e7;
}
#media .container{
	overflow: visible;
	padding: 100px 15px;
}
.media__head{
	-ms-align-items: flex-end;
	align-items: flex-end;
	display: -ms-flex;
	display: flex;
}
#media .top__lead{
	line-height: 1;
	margin-left: 20px;
}
.media__tit{
	width: 360px;
}
.media__list{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-ms-justify-content: space-between;
	justify-content: space-between;
	margin: 45px 0 0 0;
}
.media__item{
	width: calc((100% - 140px)/4);
}
.media__item:last-child{
	margin-top: 0;
}
a.media__button{
	display: inline-block;
	position: relative;
}
.media__button::before,
.media__button::after{
	background: var(--black);
	content: '';
	height: 1px;
	position: absolute;
	right: -20px;
	transition: right .3s;
	z-index: 1;
}
.media__button::before{
	bottom: 11px;
	width: 50px;
}
.media__button::after{
	bottom: 14px;
	width: 8px;
	transform: rotate(45deg);
}
.media__button:hover::before,
.media__button:hover::after{
	right: -25px;
}
.media__button--img{
	display: block;
	overflow: hidden;
}
a.media__button .media__button--img img{
	transition: .3s;
}
a.media__button:hover .media__button--img img{
	transform: scale(1.1);
	transition: .3s;
}
.media__button--body{
	background: #FFF;
	display: block;
	min-height: 131px;
	padding: 14px 15px;
}
.media__button--tit{
	color: var(--black);
	font-size: 1.5rem;
	font-weight: var(--bold);
}
.media__button--ico{
	display: inline-block;
	line-height: .8;
	margin: 0 0 0 5px;
	width: 12px;
}
.media__button--txt{
	color: #adadad;
	display: block;
	font-feature-settings: 'palt';
	font-size: 1.2rem;
	line-height: 1.5;
	margin: 2px 0 0 0;
}
@media screen and (max-width:812px){
	#media .container{
		display: block;
		max-width: 100%;
		padding: 60px 15px;
	}
	.media__head{
		display: block;
	}
	#media .top__lead{
		line-height: 1;
		margin-left: 0;
	}
	.media__tit{
		width: 180px;
	}
	.media__list {
		display: -ms-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-justify-content: flex-start;
		justify-content: flex-start;
		margin: 30px 0 0 0;
	}
	.media__item{
		width: calc((100% - 10px)/2);
		margin: 0 10px 0 0;
	}
	.media__item:nth-child(2n){
		margin-right: 0;
	}
	.media__item:nth-child(n + 3){
		margin-top: 10px;
	}
	a.media__button{
		display: inline-block;
	}
	.media__button::before,
	.media__button::after,
	.media__button:hover::before,
	.media__button:hover::after{
		right: 15px;
	}
	.media__button--img{
		height: auto;
	}
	.media__button--body{
		min-height: 230px;
		padding: 15px 15px 30px 15px;
	}
	.media__button--tit{
		font-size: 1.6rem;
		line-height: 1.0;
	}
	.media__button--ico{
		margin: 0 0 0 5px;
		width: 12px;
	}
	.media__button--txt{
		font-size: 1.2rem;
		line-height: 1.6;
		margin: 4px 0 0 0;
	}
}
/*
	sub-footer
-----------------------------------------------------------------------------------------------*/
.sub-footer{
	background: var(--black);
}
.sub-footer__logo{
	border-bottom: 1px solid #FFF;
	margin: 0 0 45px 0;
	padding: 0 0 30px 0;
}
.sub-footer__logo--img{
	background: url("../../img/logo_001.svg") no-repeat center center /cover;
	color: transparent;
	display: inline-block;
	height: 20px;
	overflow: hidden;
	text-indent: -9999px;
	width: 313px;
}
.sub-footer__link{
	-ms-align-items: flex-start;
	align-items: flex-start;
	display: -ms-flex;
	display: flex;
}
.sub-footer__block{
	color: #FFF;
	margin: 0 50px 0 0;
	width: calc(100%/4);
}
.sub-footer__block:last-child{
	margin: 0;
}
.sub-footer__block--box + .sub-footer__block--box{
	margin: 35px 0 0 0;
}
a.sub-footer__tit--button{
	color: #FFF;
}
a.sub-footer__tit--button:hover{
	text-decoration: underline;
}
.sub-footer__list{
	margin: 15px 0 0 0;
}
.sub-footer__item + .sub-footer__item{
	margin: 10px 0 0 0;
}
a.sub-footer__item--button{
	color: #b8bbc0;
	font-size: 1.3rem;
	font-weight: var(--medium);
}
a.sub-footer__item--button:hover{
	text-decoration: underline;
}
/* inactive */
.sub-footer__tit--button.inactive,
.sub-footer__item--button.inactive,
.sub-footer__item--button.inactive:hover{
	opacity: .25;
	text-decoration: none;
}
@media screen and (max-width:812px){
	.sub-footer{
		display: none;
	}
	.sub-footer .container{
		padding: 45px 15px 5px 15px;
	}
	.sub-footer__logo{
		margin: 0;
		padding: 0 0 7px 0;
	}
	.sub-footer__link{
		display: block;
	}
	.sub-footer__block{
		margin: 0;
		width: 100%;
	}
	.sub-footer__block--box{
		border-bottom: 1px solid rgba(225,225,225,.15);
		padding: 25px 7px;
	}
	.sub-footer__block:last-child .sub-footer__block--box:last-child{
		border-bottom: none;
	}
	.sub-footer__block--box + .sub-footer__block--box{
		margin: 0;
	}
	.sub-footer__tit{
		font-size: 1.6rem;
		font-weight: var(--bold);
		padding: 5px 0;
	}
	a.sub-footer__tit--button{
		color: #FFF;
	}
	a.sub-footer__tit--button:hover{
		text-decoration: underline;
	}
	.sub-footer__list{
		margin: 8px 0 0 30px;
	}
	.sub-footer__item{
		margin: 0 0 5px 0;
	}
	.sub-footer__item + .sub-footer__item{
		margin: 10px 0 0 0;
	}
	.sub-footer__people .sub-footer__list{
		display: -ms-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.sub-footer__people .sub-footer__item{
		margin: 0 0 5px 0;
		max-width: calc(100%/2);
		width: calc(100%/2);
	}
	a.sub-footer__item--button{
		font-size: 1.4rem;
		font-weight: var(--medium);
		padding: 8px 0;
	}
	.sub-footer__people a.sub-footer__item--button{
		display: block;
		padding: 8px 0;
	}
	a.sub-footer__item--button:hover{
		text-decoration: underline;
	}
}
/*
	パンくず
-----------------------------------------------------------------------------------------------*/
.pan__list,
.pan__list--wh{
	display: -ms-flex;
	display: flex;
	padding: 20px 25px;
	position: relative;
	z-index: 10;
}
.pan__item{
	padding:0 0 0 10px;
	margin:0 0 0 10px;
	font-size:1.1rem;
	line-height: 1.2;
	position:relative;
}
.pan__item::after{
	content:' ';
	display:block;
	width:5px;
	height:5px;
	border-top:1px solid #aaa;
	border-right:1px solid #aaa;
	position:absolute;
	top:45%;
	left:-5px;
	transform: rotate(45deg)translateY(-50%);
}
.pan__item:first-of-type{
	padding:0;
	margin:0;
	transition: opacity .2s;
}
.pan__item:hover:first-of-type{
	cursor: pointer;
	opacity: .6;
}
.pan__item:first-of-type::after{
	display:none;
}
.pan__item--btn{
	transition:opacity .15s;
}
.pan__item--img{
	background: url("../../img/ico_home_001.png") no-repeat center bottom /cover;
	color: transparent;
	display: inline-block;
	padding: 5px 0;
	height: 11px;
	overflow: hidden;
	text-indent: -9999px;
	width: 13px;
}
@media screen and (max-width:812px){
	.pan__list,
	.pan__list--wh{
		padding: 12px 15px;
	}
}
/* hover */
.pan__item--btn:hover{
	opacity: .8;
}
/* white */
.pan__list--wh .pan__item{
	color: #fff;
}
.pan__list--wh .pan__item--btn{
	color: #fff;
}
.pan__list--wh .pan__item::after{
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}
.pan__list--wh .pan__item--img{
	background: url("../../img/ico_home_002.png") no-repeat center bottom /cover;
}


/*
	第2階層 ヘッダー
-----------------------------------------------------------------------------------------------*/
.second__head{
	height: 472px;
}
.second__tit{
	height: calc(100% - 64px);
	padding: 90px 0;
	text-align: center;
}
.second__tit--img{
	display: block;
	height: 22px;
	margin: 0 0 30px 0;
	width: auto;
}
.second__tit--img img{
	height: 100%;
	width: auto;
}
.second__tit--txt,
.second__tit--txt-white{
	display: block;
	font-size: 3.8rem;
	font-weight: var(--bold);
	line-height: 1.7;
	text-align: center;
}
.second__tit--txt-white{
	color: #FFF;
}
@media screen and (max-width:812px){
	.second__head{
		height: 350px;
	}
	.second__tit{
		height: calc(100% - 48px);
		padding: 60px 15px;
	}
	.second__tit--img{
		height: 18px;
		margin: 0 0 20px 0;
	}
	.second__tit--txt,
	.second__tit--txt-white{
		font-size: 2.6rem;
	}
}
/*
	modal
-----------------------------------------------------------------------------------------------*/
.modal{
	bottom: 0;
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
	overflow-y: scroll;
}
.modal__bg{
	-ms-align-items: center;
	align-items: center;
	background: rgba(0,0,0,0.75);
	cursor: zoom-out;
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	min-height: 100%;
	padding: 20px;
	position: relative;
	overflow-y: auto;
	width: 100%;
}
.modal__contents{
	background: #FFF;
	cursor: default;
	-webkit-filter: drop-shadow(0 0 30px rgba(0,0,0,.5));
	filter: drop-shadow(0 0 30px rgba(0,0,0,.5));
	padding: 65px 55px;
	position: relative;
	text-align: left;
	width: 950px;
}
.modal__contents::before,
.modal__contents::after{
	background: var(--black);
	content: '';
	height: 1px;
	position: absolute;
	right: 11px;
	top: 30px;
	width: 40px;
}
.modal__contents::before{
	transform: rotate(45deg);
}
.modal__contents::after{
	transform: rotate(-45deg);
}
@media screen and (max-width:812px){
	.modal__contents{
		padding: 50px 20px 20px;
		width: 100%;
	}
	.modal__contents::before,
	.modal__contents::after{
		right: 11px;
		top: 25px;
		width: 30px;
	}
}
/*
	km_footer
-----------------------------------------------------------------------------------------------*/
@media screen and (max-width:812px){
	#km_Footer .row{
		margin: 0!important;
	}
}
/*
	inview
-----------------------------------------------------------------------------------------------*/
.fadein-left,
.fadein-left-01s,
.fadein-left-02s,
.fadein-left-03s,
.fadein-right,
.fadein-right,
.fadein-right-01s,
.fadein-right-02s,
.fadein-right-03s,
.fadein,
.fadein-01s,
.fadein-02s,
.fadein-03s,
.fadein-04s,
.fadein-05s,
.fadein-06s,
.fadein-07s,
.fadein-08s,
.fadein-09s,
.fadein-10s,
.fadein-11s,
.fadein-12s,
.fadein-13s,
.fadein-14s,
.fadein-15s{
	opacity: 0;
	-webkit-transform: translate(0,15px);
	transform: translate(0,15px);
	transition: opacity .8s, transform .8s;
}
.fadein-left,
.fadein-left-01s,
.fadein-left-02s,
.fadein-left-03s{
	-webkit-transform: translate(-15px,0);
	transform: translate(-15px,0);
}
.fadein-right,
.fadein-right-01s,
.fadein-right-02s,
.fadein-right-03s{
	-webkit-transform: translate(15px,0);
	transform: translate(15px,0);
}
.fadein-01s,
.fadein-left-01s,
.fadein-right-01s{
	transition-delay: .1s;
}
.fadein-02s,
.fadein-left-02s,
.fadein-right-02s{
	transition-delay: .2s;
}
.fadein-03s,
.fadein-left-03s,
.fadein-right-03s{
	transition-delay: .3s;
}
.fadein-04s{
	transition-delay: .4s;
}
.fadein-05s{
	transition-delay: .5s;
}
.fadein-06s{
	transition-delay: .6s;
}
.fadein-07s{
	transition-delay: .7s;
}
.fadein-08s{
	transition-delay: .8s;
}
.fadein-09s{
	transition-delay: .9s;
}
.fadein-10s{
	transition-delay: 1.0s;
}
.fadein-11s{
	transition-delay: 1.1s;
}
.fadein-12s{
	transition-delay: 1.2s;
}
.fadein-13s{
	transition-delay: 1.3s;
}
.fadein-14s{
	transition-delay: 1.4s;
}
.fadein-15s{
	transition-delay: 1.5s;
}
@media screen and (max-width:812px){
	.fadein-left,
	.fadein-left-01s,
	.fadein-left-02s,
	.fadein-left-03s,
	.fadein-right,
	.fadein-right,
	.fadein-right-01s,
	.fadein-right-02s,
	.fadein-right-03s,
	.fadein,
	.fadein-01s,
	.fadein-02s,
	.fadein-03s,
	.fadein-04s,
	.fadein-05s,
	.fadein-06s,
	.fadein-07s,
	.fadein-08s,
	.fadein-09s,
	.fadein-10s,
	.fadein-11s,
	.fadein-12s,
	.fadein-13s,
	.fadein-14s,
	.fadein-15s{
		transition-delay: 0;
	}
}
.inview-active{
	opacity: 1;
	-webkit-transform: translate(0,0);
	transform: translate(0,0); 
}

a.cct-blockSkip {
	color:#0062c2;
}
a.cct-blockSkip:link {
	color:#0062c2;
}
a.cct-blockSkip:visited {
	color:#0062c2;
}
a.cct-blockSkip:hover {
	color:#0062c2;
}