@charset "utf-8";
/* CSS Document */

#versioncheck {color:#20220426;}



/* global Nav */
/* ヘッダー */

#top {
    position: absolute;
    width: 1px;
    height: 1px;
    text-indent: -9999px;
}

.header_company {
	width: 100%;
	min-width: 1000px;
	/*box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);*/
	/*font-size: 11px;*/
	font-size: 14px;
}
.header_bar{
	font-size: 11px;
}


@media screen and (max-width: 1040px){
    .header_company {
        min-width: auto;
    }
}

#header_company_area{
	display: block!important;/*直書きのdisplay:noneに対して*/
	background-color: rgb(255, 255, 255);
}

/* グロナビ */

/*

.header_company_area{
	z-index: 999;
}*/

.global_navigation {
	background-color: #ffffff;
	width: 100%;
	position: relative;
	/*影*/
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
	z-index: 888;
}

.global_navigation>nav {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

.global_navigation>nav>ul {
	display: flex;
}

.global_navigation>nav>ul>li {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

/*幅広のときのみ*/
/*@media screen and (min-width: 1000px)*/
@media screen and (min-width: 999.01px){

	
	.global_navigation>nav>ul>li:hover ,
	.global_navigation>nav>ul>li:focus {
		background-color: #f2f6f6;
	}
}

/*ロゴ*/
.gnavLogo{
	/*position: absolute;*/
	float: left;
	margin: 0;
	/*padding: 0;
	min-height: 55px;*/
    padding: 2px 0px;
}
.global_navigation>nav>ul>li.logo a {
	padding: 0;
}


/*幅広のメニューのみ*/
.global_navigation>nav>ul>li.gnavMenu .pcMenuCategory {
	/*padding: 22px 25px;*/
	/*padding: 20px 25px;*/
	padding: 18px 20px;
	font-weight: bold;
}

/*メニューリストの一番目*/
.global_navigation>nav>ul>li:nth-child(1) {
	margin-left: auto;
}
/*メガメニュー リンク*/
.global_navigation>nav>ul>li.gnavMenu a {
	color: #353535;
	/*font-weight: bold;*/
}




/*メガメニュー 内容*/
#gnav > ul .megamenu {
	/*transition: all .2s ease-in;*/
    /*表示指定は幅ごとに指定
	display: none;*/
    
	position: absolute;
	left: 0;
	top:57px;
	width: 100%;
	background-color: #f2f6f6;
	color:#333333;
	z-index: 888;
    
    /*上側のshadow調整*/
    box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.2);
}
/*@media screen and (min-width: 1000px)*/
@media screen and (min-width: 999.01px){
    /*非表示*/
    #gnav > ul .megamenu {
        transition: 0s;
        transition-delay: 0.3s;

        visibility: hidden;
        opacity: 0;
    }
}
@media screen and (max-width: 999px){
    #gnav > ul .megamenu {
	display: none;
    }
}


.megamenu img{
	max-width: 100%;
	height: auto;
}


/*メガメニュー内容 段組み*/
.megamenuLinkList > .grid3,
.megamenuLinkList > .grid4,
.megamenuLinkList > .grid6,
.megamenuLinkList > .grid8{
	border-left: 1px solid #cccccc;
}
.megamenuLinkList > .grid3:first-child,
.megamenuLinkList > .grid4:first-child,
.megamenuLinkList > .grid6:first-child,
.megamenuLinkList > .grid8:first-child{
	border-left: none;
}
.megamenuLinkList > .grid3.bdNL,
.megamenuLinkList > .grid4.bdNL,
.megamenuLinkList > .grid6.bdNL,
.megamenuLinkList > .grid8.bdNL{/*左側線無*/
	border-left: none;
}
.megamenuLinkList > .grid3.subMenu01,
.megamenuLinkList > .grid4.subMenu01,
.megamenuLinkList > .grid6.subMenu01,
.megamenuLinkList > .grid8.subMenu01{/*左側太線：サブの1個目*/
	border-left: 3px solid #cccccc;
}


/*幅広のときのみ*/
/*@media screen and (min-width: 1000px)*/
@media screen and (min-width: 999.01px){
	
	#gnav > ul > li:hover .megamenu  {
		/*display: block;*/
        visibility: visible;
        opacity: 1; 
        
        transition: 0s;
        transition-delay: 0.3s;
	}
	/*併記するとIEが動作しないので別で記載*/
	#gnav > ul > li:focus-within .megamenu{
		/*display: block;*/
        visibility: visible;
        opacity: 1;  
        
        transition: 0s;
        transition-delay: 0.3s;

	}
	
	
	/* メニュー切替の記載・・・*/
	.pcMenuCategory{
		display: block;
	}
	.spMenuCategory{
		display: none;
	}
    
	.megamenuClose{
		display: block !important;
		font-size: 32px;
		color: #333333;
		float: right;
		padding-right: 10px;
		margin-right: 5px;
		cursor: pointer;
	}
	.megamenuClose:hover{
		opacity: 0.6;
	}
    
	
}

/*段組み余白*/
.megamenu .row {
        margin:0;
}


/*
.global_navigation>nav>ul>li .megamenu_inner {
	color: #353535;
	font-weight: bold;
}
.global_navigation>nav>ul>li .megamenu_inner li {
	white-space: normal;
}
*/

#gnav > ul .megamenu .megamenu_inner {
	padding: 20px 0;
	max-width: 1000px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	color: #353535;
	/*font-weight: bold;*/
}
#gnav > ul .megamenu .megamenu_inner li {
	white-space: normal;
}


/*リストリンクのhover時*/
#gnav > ul .megamenu .megamenu_inner .lsLinkList li a{
	display: block;
}
#gnav > ul .megamenu .megamenu_inner .lsLinkList li a:hover{
	background-color: #b4cbcb;
    color:#353535;
}
#gnav > ul .megamenu .megamenu_inner .lsLinkList li a:hover:before {
	background-color: #b4cbcb;
    text-decoration-line: none;
}




#gnav > ul .megamenu .megamenu_inner .megamenuTitle {
	font-size:150%;
	font-weight: bold;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 3px #004692;
}
#gnav > ul .megamenu .megamenu_inner .megamenuSubTitle{
	/*font-size:135%;*/
    font-size: 120%;
	font-weight: bold;
	color: #595959;
	border-bottom: dashed 1px #cccccc;
	padding-bottom:3px; 
	white-space: normal;
}



#gnav > ul .megamenu .megamenu_inner .megamenuLinkList {
	padding: 10px;
}
#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a{
	color:#333333;
	line-height: 2em;
}
#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a:hover,
#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a:focus{
	color:#ff0000;
}

/*globalnav megamenu fixed*/
#header_company_area .global_navigation.fixed{
	top:0;
	margin-top:0px;
	position: fixed;
	z-index: 888;
}

/* 幅狭メニュー */
.gnavBtn {
	display: none;
}
.gnavBtn img {
	transition: .2s;
}

/* ヘッダーバー */

.header_bar {
    background-color: #f2f6f6;
    width: 100%;
}

.header_bar>nav {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

.header_bar>nav>ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header_bar>nav>ul>li {
    display: inline;
    padding: 5px 10px;
    vertical-align: middle;
}


/* 検索 */

legend { display:none; }

#MF_form {
    position: relative;
}

#MF_form p {
    width: 132px;
    height: 20px;
    overflow: hidden;
    background: url(/company/common/img/head_bg_search_01.png) no-repeat center center;
}

#MF_form p span.txt {
    position: relative;
}

#MF_form p input {
    vertical-align: middle;
    border: none;
    background-color: transparent;
    color: #FFF;
    line-height: 2em;
    font-size: 10px;
}

#MF_form p .img input {
    width: 14px;
    padding-left: 6px;
}

#MF_form p .txt input {
    width: 92px;
    height: 20px;
    padding: 0 10px;
}

#MF_form_phrase::placeholder {
    color: white;
}


/*Img*/
.megamenuImgLink {
	margin-bottom:15px;
}
.megamenuImgLink a img:hover{
	opacity: 0.7;
}
@media screen and (max-width: 799px){
	.megamenuLinkList .megamenuImgLink:first-child {
		margin-top:15px;
	}
}



/* Font Awesome 5 Free リンクアイコン （他bodyで使用する場合はbaseの方に追加）*/
.fa_arrow:before {
	display: inline-block;
	padding-right:5px;
	padding-left:3px;
	font-family: 'Font Awesome 5 Free';
	content: "\f105";
	color: #004692;
    font-weight: bold;
}

.fa_c_arrow:before {
	display: inline-block;
	padding-right:5px;
	padding-left:3px;
	font-family: 'Font Awesome 5 Free';
	content: "\f138";
	color: #004692;
    font-weight: bold;
}
.fa_arrow_blank:before {
	display: inline-block;
	padding-right:5px;
	padding-left:3px;
	font-family: 'Font Awesome 5 Free';
	content: "\f35d";
	color: #004692;
    font-weight: bold;
}
.fa_arrow_down:before {
	display: inline-block;
	padding-right:5px;
	padding-left:3px;
	font-family: 'Font Awesome 5 Free';
	content: "\f107";
	color: #004692;
    font-weight: bold;
}

/*リンクリスト*/
.lsLinkList li a{
	padding-left:1em;
	position:relative;
}
.lsLinkList li a:before {
	position:absolute;
	left: 0;
	top: 0em;
	font-family: 'Font Awesome 5 Free';
	content: "\f054";
	/*margin-right: 10px;*/
	color: #004692;
	font-size: 90%;
    font-weight: bold;
}

.lsLinkList.lsLinkListMain{
    font-size:110%;
    font-weight: bold;
}

.lsLinkList.lsLinkListMain li a:before{
	top: 0em;
}




/*外部リンク*/
.lsLinkList li.external a:before {
	content: "\f35d";
}


/*リンクアイコンには影響しないように…*/
.global_navigation>nav>ul>li a.icoLLink  {
    padding: 0 30px;
}
.global_navigation>nav>ul>li:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #b8b9dc;
    /*position: absolute;*/
    left: 0px;
    top: calc((100% - 20px)/2);
}
.global_navigation>nav>ul>li:first-child:before {
    content: none;
}






#header_company_area .global_navigation{
	max-height:auto;
}




/* Speak Navigation Settings */

.naviSpeak{
	position:absolute;
	width:0px;
	height:0px;
	overflow:hidden;
}



/*メニュー縮小*/
@media screen and (max-width: 999px){
    
    
	.megamenuClose{
		display: none !important;
	}
	
	.gnavLogo{
		/*position: absolute;*/
		float: none;
		clear: both;
		/*margin: 0;
		padding: 0;*/
		display: block;
		width:100%;
		background-color: #ffffff;
		/*min-height: 55px;*/
		border-bottom: 1px solid #dddddd;/*jpのみ*/

	}
	/*回り込んでくるぱんくずを解除　jpのみ*/
	#topicPath{
		clear: both;
		margin-top: 1px;
	}
	
	.global_navigation>nav>ul>li.gnavMenu {
		clear: both;
		padding: 0;
	}	
	

	
	/*メニュー 固定をはずす*/
	#header_company_area .global_navigation.fixed{
		position: relative;
		top:0;
		margin-top:0px;
		z-index: 888;
	}
	

	.header_company {
		width: 100%;
		min-width: 100%;/*これも必要*/
		/*box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);*/
		/*font-size: 11px;*/
		/*border-bottom:1px solid #cccccc;*/
	}

	.header_bar,
	.header_bar>nav,
	.global_navigation>nav {
		max-width: 100%;/*この指定も必要*/
		width: 100%;
		margin: 0 auto;
		z-index: 888;
	}
	
	.globalHeaderWrapper {
		margin-left: 0px;
		margin-right: 0px;
		width: 100%;
	}

	.globalHeader {
		z-index: 888;
		height: 76px;
	}
	
	.gnavBtn {
		position: absolute;
		display: block;
		top: 12px;
		right: 22px;
		cursor: pointer;
	}
	.gnavBtn:hover {
		opacity: 0.7;
	}
	
	.gnavBtn i {
		color: #454545;
		/*font-size: 230%;*/
		font-size: 200%;
		padding: 3px;
	}
	.gnavLogo{
		position: top;
	}
	
	/*スクロール
	#header_company_area .global_navigation {
		z-index: 999;
		overflow: auto;
		max-height:calc(90vh - 1.5em);
		-webkit-overflow-scrolling: touch;
	}*/
	
	#header_company_area .global_navigation.fixed{
	}
	
	#gnav .gnavMenuArea .gnavMenu{
		display: none;	/*これを戻す*/
	}
	
	#gnav .gnavMenuArea.isOpen .gnavMenu{
		display: block;	/*これを戻す*/
	}
	
	/*アコーディオン用にリストを形成しなおし*/
	.global_navigation>nav>ul {
		display: block;
	}
	.global_navigation>nav>ul>li {
		display: block;
		/*position: relative;*/
		white-space: nowrap;
	}
	
	.global_navigation>nav>ul>li.gnavMenu>a:hover ,
	.global_navigation>nav>ul>li.gnavMenu>a:focus {
		background-color: #f2f6f6;
	}

	/*ロゴを除くリスト liだけだとロゴもなってしまうので…*/
	.global_navigation>nav>ul>li.gnavMenu>.spMenuCategory {
		display: block;
		/*padding: 20px 0px;*/
        padding: 18px 0px;
		width: 100%;
		font-weight: bold;
	}
	
	/* メニュー切替の記載・・・*/
	.pcMenuCategory{
		display: none;
	}
	.spMenuCategory{
		display: block;
	}
	
	/*ロゴを除くリスト liだけだとロゴもなってしまうので…*/
	.global_navigation>nav>ul>li.gnavMenu>div {
		max-width: 100%;
	}
	
	
	
	/*gnavMenu menuOpen が併記された場合は「プラス」アイコン*/
	.global_navigation>nav>ul>.gnavMenu>.spMenuCategory:before {
		display: inline-block;
		padding-right:15px;
		padding-left:10px;
		font-family: 'Font Awesome 5 Free';
		content: "\f067";
		color: #666666;
		font-size: 18px;
        font-weight: bold;
    }
	
	/*gnavMenu menuOpen が併記された場合は「マイナス」アイコン*/
	.global_navigation>nav>ul>.gnavMenu>.spMenuCategory.menuOpen:before {
		content: "\f068";
	}

	
	/*　中の内容 */
	#gnav > ul .megamenu {
		position: inherit;
		max-width: 100%;
		width: 100%;
		background-color: #f2f6f6;
		color:#333333;
		z-index: 888;
	}
	
	#gnav > ul .megamenu .megamenu_inner {
		padding: 30px 0px;
		max-width: 100%;
		width: 100%;
		color: #333333;
		/*font-weight: bold;*/
	}
	
	#gnav > ul .megamenu .megamenu_inner li {
		white-space: normal;
	}

	/*メガメニュー内タイトル*/
	#gnav > ul .megamenu .megamenu_inner .megamenuTitle {
		font-size:150%;
		font-weight: bold;
		margin-bottom: 15px;
		padding-bottom: 10px;
		padding-left: 10px;
		border-bottom: solid 3px #004692;
	}
	/*メガメニュー内サブタイトル*/
	#gnav > ul .megamenu .megamenu_inner .megamenuSubTitle{
		font-size:130%;
		font-weight: bold;
		color: #595959;
		border-bottom: dashed 1px #cccccc;
		padding-bottom:3px; 
		padding-left:10px;

	}
	/*メガメニュー内リンクリスト*/
	#gnav > ul .megamenu .megamenu_inner .megamenuLinkList {
		padding: 10px;
	}
	#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a{
		color:#333333;
		line-height: 2em;
	}
	#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a:hover,
	#gnav > ul .megamenu .megamenu_inner .megamenuLinkList a:focus{
		color:#ff0000;
	}
	
	
	/*メガメニュー内容 段組み
	.megamenuLinkList .grid3,
	.megamenuLinkList .grid4{
		width: 50%;
		margin-bottom:30px;
	}*/
	.megamenuLinkList .grid3:nth-of-type(2n),
	.megamenuLinkList .grid4:nth-of-type(2n){
		border-left: 1px solid #cccccc;
	}
	.megamenuLinkList .grid3.bdNL,
	.megamenuLinkList .grid4.bdNL{
		border-left: none;
	}
	.megamenuLinkList .grid3:nth-of-type(2n).subMenu01,
	.megamenuLinkList .grid4:nth-of-type(2n).subMenu01,
	.megamenuLinkList .grid8.subMenu01,
	.megamenuLinkList .grid6:nth-of-type(2n).subMenu01{
		border-left: 3px solid #cccccc;
	}
	
	.megamenuLinkList img{
		max-width: 100%;
		height: auto;
	}
	
}

/*タブレット*/
@media screen and (max-width: 799px){
	
	/*メガメニュー内容 段組み*/
	.megamenuLinkList .grid3,
	.megamenuLinkList .grid4{
		width: 50%;
		margin-bottom:30px;
	}
	
	.megamenuLinkList > .grid6,
	.megamenuLinkList > .grid8{ 
		float: none;  width: 100% !important; 
	}
	
	.megamenuLinkList .grid6.subMenu01,
	.megamenuLinkList .grid8.subMenu01{
		border-left: none;
	}
	.megamenuLinkList .grid3:nth-of-type(odd){
		border-left: none;
	}
	
	
}

/*スマホ*/
@media screen and (max-width: 499px){

	/*メガメニュー内容 段組み*/
	.megamenuLinkList .grid3,
	.megamenuLinkList .grid4{
		width: 100%;
		margin-bottom:15px;
	}
	.megamenuLinkList .grid3:nth-of-type(2n),
	.megamenuLinkList .grid4:nth-of-type(2n){
		border-left: none;
	}
	.megamenuLinkList .grid3.bdNL,
	.megamenuLinkList .grid4.bdNL{
		border-left: none;
	}
	.megamenuLinkList .grid3:nth-of-type(2n).subMenu01,
	.megamenuLinkList .grid4:nth-of-type(2n).subMenu01{
		border-left: none;
	}

	#gnav > ul .megamenu .megamenu_inner .megamenuSubTitle {
		padding-left: 0px;
	}
	
	/* s_company.css 移植 */
	
}

/*印刷用*/
@media print{
    .megamenu{
        display: none;
    }
    .spMenuCategory{
        display: none;
    }
}

