@charset "utf-8";
/* CSS Document */

/*-------------------------------------------------------------
 *
 *						layout.css
 *
 *-------------------------------------------------------------*/
	
	/* ---------- ---------- ---------- ---------- ----------
	 *					header
	 * ---------- ---------- ---------- ---------- ---------- */
		#headerContents					{ width:100%; position:fixed; z-index:1000; background: #fff; }
		#headerContents.top				{ background:#fff; }
		#headerContents > div			{ margin:0 auto; overflow:hidden; }
		#headerContents h1				{ display:none; }
		
		#headLink						{ float:left; margin:26px 0 26px 30px; }
		#headerContents.top #headLink img.corp_logo_other,
		#headerContents.top #contactMenu .header_contact_other	{ display: none; }


	/*-------------------------------------------------------------
	 *						globalMenu
	 *-------------------------------------------------------------*/
	 #globalMenu						{ float:right; }
	 #globalMenu ul						{ float:left; margin-right: 20px; }

	 #globalMenu ul li					{ text-align:center; font-weight:normal; z-index:1; }
	 
	 #globalMenu ul li:after			{ content: " > "; position: absolute; transform: translateX(-50%) rotate(90deg); font-size: 17px; color: transparent; bottom: 0; }
	 
	 #globalMenu ul li:first-child:hover:after 	{ color: #003067; }
	 #globalMenu ul li a				{ display:block; margin:30px -1px 30px; text-decoration:none; color: #003067; font-size: 14px; transform: skewX(-10deg); padding: 4px 15px; }
	 #globalMenu ul li a span			{ display:block; transform: skewX(10deg); /*transition: none;*/ }
	 #globalMenu ul li:hover a span		{ color: #fff; }
	 
	 #globalMenu li div					{ display:none; width: 100%; position:absolute; background:#004998; left: 0; padding:65px 0 80px; transition: none; }
	 
	 
	 
	 
	 #globalMenu li ul					{ float:none; width:900px; margin: 0 auto; position: relative; }
	 #globalMenu li ul p				{ color:#fff;  margin:0 0 20px 0; font-weight: bold; font-size: 16px; }
	 #globalMenu li ul p:after			{ content:'>'; margin:0 0 0 10px; }

	 #globalMenu li li					{ width:100%; text-align:left; color:#fff; box-sizing:border-box; display: flex; }
	 #globalMenu li:hover ul li	a		{ background: transparent; }
	 #globalMenu li ul li p				{ margin:0 0 20px; padding:0; }
	 #globalMenu li ul li p span a		{ display: contents; }	
	 #globalMenu li li a				{ color:#fff; display:block; width:100%; padding:0px; margin:0 1% 1% 0; font-size:93%; transform: skewX(0deg); position: relative; overflow: hidden; }
	 #globalMenu li li a:hover			{ background:none; text-decoration:none; background: transparent; }
	 #globalMenu li li a img 			{ transition:1s all; }
	 #globalMenu li li a:hover img 		{ transform:scale(1.2,1.2); transition:1s all; }

	 #globalMenu li li a span			{ display:block; font-size:93%; transform: skewX(0deg); position: absolute; bottom: 15px; left: 20px; font-size: 18px; }
	 #globalMenu li ul li::before, 
	 #globalMenu li ul li::after		{ display: none; }

	 #globalMenu li ul span.gwClose			{ display: block; position: absolute; width: 32px; height: 32px; right: 0; top:-10px; /* border: 1px solid #fff;*/ }
	 #globalMenu li ul span.gwClose::before, 
	 #globalMenu li ul span.gwClose::after	{ content: ""; position: absolute; top: 46%; left: 13%; display: block; width: 24px; border-top: 2px solid rgba(255, 255, 255, 0.5); }
	 #globalMenu li ul span.gwClose::before	{ transform: skewY(-45deg); }
	 #globalMenu li ul span.gwClose::after	{ transform: skewY(45deg); }
 
	 #globalMenu li ul span.gwClose:hover	{ opacity: 0.5; cursor: pointer; }
 
	 
	 /*tab*/
	 #globalMenu li li.tabMenu				{ margin-bottom: 20px; }
	 #globalMenu li li.tabMenu ul li		{ width: auto; border-left: 1px solid rgba(255, 255, 255, 0.5); width: 33.33333%; width: -webkit-calc(100% / 3); display: inline-block; text-align: center; cursor: pointer; padding: 10px; font-size: 15px; border-top: 1px solid rgba(255, 255, 255, 0.5); border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
	 #globalMenu li li.tabMenu ul li:last-child	{ border-right: 1px solid rgba(255, 255, 255, 0.5); }
	 #globalMenu li li.tabMenu ul li.open	{ background-color: #fff; color: #004998; }
	 #globalMenu li li.tabContents.close	{ display: none; }
	 #globalMenu li li.tabContents li a		{ margin-right: 1.1%; overflow: hidden; margin-bottom: 1.1%; }
	 #globalMenu li li.tabContents li a img { transition:1s all; }
	 #globalMenu li li.tabContents li a:hover img { transform:scale(1.2,1.2); transition:1s all; }

	 #globalMenu li li.tabContents li a:last-child	{ margin-right: 0; }
	 #globalMenu li li.tabContents li img	{ width: 100%; }

	/* tab03 */
	 #globalMenu li li.tabContents .tab03 li				{ text-align: center; height: 65px; }
	 #globalMenu li li.tabContents .tab03 li a 				{ margin: 0 1.5% 1.5% 0; width: calc(100% / 5 - 1.5% ); overflow: initial; border: 1px solid rgba(255, 255, 255, 0.5); padding: 15px 0; display: flex; justify-content: center; align-items: center; line-height: 1.3; }
	 #globalMenu li li.tabContents .tab03 li a:last-child	{ margin-right: 0; }
	 #globalMenu li li.tabContents .tab03 li a:hover		{ color: #004998; background: #fff; cursor: pointer; }

	 #globalMenu li li.tabContents .tab03 li a.tabContentsNone	{ border: 1px solid transparent!important; }
	 #globalMenu li li.tabContents .tab03 li a.tabContentsNone:hover	{ background: transparent; }

	 #spMenuOpen							{ display:none; }


	/* other */
	 /* #headerContents.other #headLink img.corp_logo, */
	 #headerContents.other #contactMenu .header_contact	{ display: none; }
	 .other #globalMenu ul li a span				{ color: #fff; }
	 .other #globalMenu ul li:first-child:hover:after 			{ color: #0075bf; }

	 .other #globalMenu ul li.menuOn a				{ background:#0075bf; }

	 /*.other #globalMenu ul li:hover a				{ background:#0075bf; }*/
	 .other #globalMenu ul li:hover ul li a			{ background: transparent; }

	 /* #globalMenu #slide-line */
	 #globalMenu #slide-line 						{ position: absolute; bottom: 30px; height: 31px; background-color: #003067; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; z-index:0; transform: skewX(-10deg); }
	 .other #globalMenu #slide-line 				{ background-color: #0075bf; }


	 /*.cbp-af-header *				{ -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; }*/
	 
	 @media screen and ( min-width:1101px ) {
		 /*	menu on	*/
			 #globalMenu .menuOn > a, 
			 #globalMenu .menuOn > a span	{ color:#fff; }
	 
		 /*	after scroll	*/
			 .cbp-af-header *			{ -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;  }

			 #headerContents.cbp-af-header.cbp-af-header-shrink		{ border-bottom:1px solid #c7c7c7; }
			 #headerContents.cbp-af-header.cbp-af-header-shrink	div	{ background: #fff; transition: none; }

			 #headerContents.cbp-af-header.cbp-af-header-shrink.other #headLink img.corp_logo	{ display: block; }
			 #headerContents.cbp-af-header.cbp-af-header-shrink.other #headLink img.corp_logo_other	{ display: none; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu #slide-line,
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li.menuOn a	{ background: #003067; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li:hover ul li a { background: transparent; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li:hover ul li a:hover{ background: #fff; color: #004998; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu li li.tabContents .tab03 li a.tabContentsNone:hover	{ background: transparent; }



			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li a span		{ color: #003067; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li:hover a span	{ color:#fff; }
			 .cbp-af-header.cbp-af-header-shrink.other #globalMenu .menuOn > a span	{ color:#fff; }

			 .cbp-af-header.cbp-af-header-shrink #globalMenu ul li:first-child:before,
			 .cbp-af-header.cbp-af-header-shrink #globalMenu ul li:first-child:hover::after	{ color: #003067; }
			 
			 .cbp-af-header.cbp-af-header-shrink #globalMenu li div			{ background: #004998; }

	 }

	/* IE対応 */
		@media all and (-ms-high-contrast: none) {
		#globalMenu ul li:after							{ content: none; }
		#globalMenu ul li:first-child a					{ position: relative; }
		#globalMenu ul li:first-child a::after			{ content: " > "; position: absolute; transform: skewX(10deg) translateX(-50%) rotate(90deg); font-size: 17px; color: transparent; bottom: -29px; left: 50%; }
		#globalMenu ul li:first-child a:hover:after 	{ color: #003067; }
		.other #globalMenu ul li:first-child a:hover:after 			{ color: #0075bf; }
		.cbp-af-header.cbp-af-header-shrink #globalMenu ul li:first-child a::after	{ bottom: -29px; }
		.cbp-af-header.cbp-af-header-shrink.other #globalMenu ul li:first-child a:hover:after 			{ color: #003067; }

	}
	
	 /* ---------- ---------- ---------- ---------- ----------
	 *			contactArea / areaContact_recruit
	 * ---------- ---------- ---------- ---------- ---------- */
		#areaContact,
		#areaContact_recruit					{ background:url("./../common/bg_contact.png") no-repeat left top; background-size: cover; padding: 60px 0; text-align: center; clear: both; }
		#areaContact > *,
		#areaContact_recruit > *				{ color: #fff; }
		#areaContact .titleMain,
		#areaContact_recruit .titleMain			{ font-weight: normal; }
		#areaContact div,
		#areaContact_recruit div				{ background:rgba(255, 255, 255, 1); width: 260px; margin: 0 auto 25px; }
		#areaContact div a:hover,
		#areaContact_recruit div a:hover		{ color:rgba(255, 255, 255, 1); border-color: rgba(255, 255, 255, 0.5); background: #004998; }
	
	/* ---------- ---------- ---------- ---------- ----------
	 *					footer
	 * ---------- ---------- ---------- ---------- ---------- */
		#footer							{ padding:45px 0 0; clear: both; }
		
		#ftrSitemap						{ border-bottom: 2px solid #eeeeee; }
		#ftrSitemap	div					{ max-width:1100px; margin:0 auto; overflow:hidden; display: flex; padding-bottom: 35px; }
		#ftrSitemap ul					{ border-right: 2px solid #eeeeee;; display:block; }
		#ftrSitemap ul:last-child		{ border-right: none; }
		#ftrSitemap ul:nth-child(1)  	{ width:255px; }
		#ftrSitemap ul:nth-child(2)  	{ width:240px; }
		#ftrSitemap ul:nth-child(3)  	{ width:320px; }
		#ftrSitemap ul:nth-child(4)  	{ width:190px; }

		#ftrSitemap li					{ padding:0 18px 0 18px; font-size:12px; box-sizing:border-box; }
		#ftrSitemap li:first-child		{ margin-top: 5px; }
		#ftrSitemap .ftrIndex 			{ margin-bottom: 15px; }
		#ftrSitemap .ftrIndex02			{ margin-top: 20px; } 
		#ftrSitemap .ftrIndex a			{ color: #003067; font-weight: bold; margin:0 0 10px; }
		#ftrSitemap a					{ text-decoration:none; }
		#ftrSitemap a:hover				{ opacity: 0.8; }
		.groupLogo						{ margin-top: 38px; }

		.ftrAdress, .ftrLogo, .privacyLogo { display: flex; }

		.ftrAdress 						{ max-width:1100px; margin:0 auto; font-size: 11px; justify-content: space-between; padding: 37px 18px 0; }
		.ftrAdress a:hover				{ opacity: 0.8; }

		.ftrLogo div .bold				{ font-size: 15px; }
		.ftrLogo div					{ white-space: nowrap; margin-left: 5%; }
		.ftrLogo div .adressDetails a:hover	{ opacity: 1; }
		.privacyLogo 					{ margin-right: 17%; }
		.privacyLogo div				{ line-height: 16px; white-space: nowrap; margin-left: 5%; }

		#copyright						{ max-width:1100px; margin:0 auto; clear:both; text-align:right; font-size:11px; padding:50px 0 20px; position:relative; z-index:1; }
		
	
	/* ---------- ---------- ---------- ---------- ----------
	 *					page top
	 * ---------- ---------- ---------- ---------- ---------- */
		#pageTop						{ position: fixed; right: 26px; bottom: 0; display: inline-block; z-index: 100; }
		#pageTop a						{ text-decoration:none; background:#003067; display:block; transition:all .3s; }
		#pageTop a:hover				{ background:#0075be; }


	/* ---------- ---------- ---------- ---------- ----------
	 *					footer-type2
	 * ---------- ---------- ---------- ---------- ---------- */
		#footer-type2					{ clear: both; background-color: #fff; }
		#footer-type2 .ticty-corpLink	{ color: #fff; background:linear-gradient(to right,#2e7cc5, #0e4284); text-decoration: none; width: 200px; display: inline-block; text-align: center; font-size: 14px; padding: 1px 0; box-sizing: border-box; margin-top: 7px; }
		#footer-type2 .ticty-corpLink:hover{ opacity: 0.8; }



/*-------------------------------------------------------------
 *
 *						layout.css(ver.SP)
 *
 *-------------------------------------------------------------*/
 @media screen and ( max-width:1100px ) {
	/* ---------- ---------- ---------- ---------- ----------
	*					all container
	* ---------- ---------- ---------- ---------- ---------- */
		#allContainer > div		{ width:auto; }
		/*#mainContents			{ margin-top: 57px!important; }*/

	/* ---------- ---------- ---------- ---------- ----------
	*					header
	* ---------- ---------- ---------- ---------- ---------- */
		#headerContents			{ width:100% !important; position:static; }
		#headerContents > div	{ width:100%; }
		#headLink				{ position:fixed; z-index:103; background:rgba(255, 255, 255, 1); padding:14px 0 15px 15px; width:100%; margin:0; }
		#headLink img			{ width:105px !important; }

		#headerContents.cbp-af-header.cbp-af-header-shrink #headLink	{ border-bottom: 1px solid #c7c7c7; }

		
	/*-------------------------------------------------------------
	*						globalMenu
	*-------------------------------------------------------------*/
		#globalMenu						{ /*float:none;*/ width:100%; margin:57px 0 0; position:fixed; z-index:102; top: 0; transition: all 0.4s; display: none; overflow: revert; }
		#globalMenu ul					{ width:100%; margin-right: 0; height: 100%; overflow: auto; -webkit-overflow-scrolling: touch; }
		#globalMenu.setClass			{ /*top: 0; */ display: block; }

		#globalMenu ul li				{ text-align:left; background:#004998; border-bottom:1px solid rgba(255, 255, 255, 0.5); width:100%; line-height:0; }
		#globalMenu ul li::before, 
		#globalMenu ul li:after			{ display: none; }

		#globalMenu ul li a				{ display:block; padding:23px 20px; color:#fff; margin: 0; transform: initial; position: relative; }
		#globalMenu ul li:first-child a::after,
		#globalMenu ul li:last-child a::after		{ content: ">"; color: #fff; position: absolute; right: 15px; transform: translateX(-50%) rotate(90deg); font-size: 17px; }
		#globalMenu ul li a.active::after		{ transform: translateX(-50%) rotate(270deg); }


		#globalMenu ul li:hover a		{ background:#004998; }
		#globalMenu ul li a:hover,
		#globalMenu li.sonota li a:hover{ background:#0075be; text-decoration:none; }

		#globalMenu ul li a span		{ transform: initial; bottom: 25px; font-size: 14px; }
		
		
		#globalMenu li div				{ display:none; margin:0 0 60px; position:static; width:100%; padding:0; overflow: hidden; }
		#globalMenu li:hover div		{ display:none; padding:0px; }
		#globalMenu li div ul			{ width:100%; display:flex; }
		#globalMenu li li				{ margin:0px; padding:15px 15px 0; border:0px; }
		#globalMenu li li.tabContents	{ margin:0px; padding:0; border:0px; }
		#globalMenu li div ul li p		{ display:none; }
		#globalMenu div ul li a			{ padding: 0 ;margin: 0 1% 1% 0; display:block; box-sizing:border-box; }
		#globalMenu li li.tabContents .tab03 li a	{ padding: 25px; }
		#globalMenu li ul li a::after	{ display: none; }

		/* tab */
		#globalMenu li li.tabMenu ul li	{ padding: 15px 0; font-size: 100%; line-height: 1.3; display: flex; flex-direction: column; justify-content: center; align-items: center; }
		#globalMenu li li.tabContents .tab03 li	{ padding: 0 15px; }

		#globalMenu li ul span.gwClose	{ display: none; }

		
		#globalMenu #slide-line			{ display: none; }

		#spMenuOpen						{ display: inline-block; position:fixed; top:1px; right:13px; z-index:103; margin: 0; }
		#spMenuOpen	span,
		#spMenuOpen	span img			{ display: inline-block; }
		#spMenuOpen	span img.sp_menu_other	{ display: none; }
		.other #spMenuOpen img.sp_menu_other	{ display: block; }

		/* sonota */
		#globalMenu li.sonota div 					{ margin-bottom: 0; }
		#globalMenu li.sonota a						{ display:block; }
		#globalMenu li.sonota li					{ padding: 0; display: block; line-height: 1; }
		#globalMenu li.sonota li a					{ margin: 0; padding: 20px; border-top:1px solid rgba(255, 255, 255, 0.5); }
		#globalMenu li.sonota div ul				{ display: block; }


		/* 2階層以下 */
		.other #spMenuOpen .sp_menu					{ display: none; }

		.cbp-af-header.other #headLink				{ /*background: none;*/ background: #fff; }
		.cbp-af-header.other #spMenuOpen a			{ background:url("./../common/sp_menu_other.png") no-repeat center center; display: inline-block; }


		.cbp-af-header.cbp-af-header-shrink.other #headLink 									{ background: #fff; border-bottom: 1px solid #c7c7c7; }
		.cbp-af-header.cbp-af-header-shrink.other #headLink img.corp_logo_other					{ display: none; }
		#headerContents.other.cbp-af-header.cbp-af-header-shrink #headLink img.corp_logo		{ display: block; }
		.cbp-af-header.cbp-af-header-shrink.other #spMenuOpen .sp_menu							{ display: block; }

		.cbp-af-header.cbp-af-header-shrink.other #spMenuOpen span img.sp_menu_other								{ display: none; }
					

 }
 @media screen and ( max-width:1000px ) {

	/* ---------- ---------- ---------- ---------- ----------
	 *					footer
	 * ---------- ---------- ---------- ---------- ---------- */
	 	#footer							{ padding-top: 30px; }
		.ftrAdress, .ftrLogo			{ display: block; }
		.privacyLogo					{ display: none; }
		.ftrAdress						{ text-align: center; }
		.ftrLogo div					{ margin-left: 0; margin-bottom: 20px; }
		.ftr50thLogo a					{ background:url("./../common/ftr_50th_logo_sp.gif") no-repeat center center; display: inline-block; }
		.ftr50thLogo a img 				{ opacity: 0; }

		#copyright						{ text-align: center; padding: 25px 0 25px; border-top: 1px solid #dedede; }


	/* ---------- ---------- ---------- ---------- ----------
	 *					footer-type2
	 * ---------- ---------- ---------- ---------- ---------- */
		#footer-type2 .privacyLogo		{ display: flex; margin-top: 40px; margin-bottom: 50px; }
		#footer-type2 .ftrAdress		{ text-align: left; }
		#footer-type2 .ftrLogo			{ padding-top: 30px; }
		#footer-type2 #pageTop			{ right: 0; }


 }

 @media screen and ( max-width:850px ) {
		#globalMenu li li.tabContents .tab03 li			{ height: 72px; }
		#globalMenu li li.tabContents .tab03 li a		{ padding: 25px 0; }
 }

 @media screen and ( max-width:767px ) {
	/*-------------------------------------------------------------
	*						globalMenu
	*-------------------------------------------------------------*/

		#globalMenu li li.tabContents					{ display: block; margin: 0 15px; width: calc(100% + 1.5%); }
		#globalMenu li li.tabMenu ul li					{ font-size: 13px; padding: 11px 15px; }
		#globalMenu li li.tabContents ul li				{ display: contents; }
		#globalMenu li li.tabContents a	span			{ font-size: 13px; left: 12px; bottom: 17px; }

		#globalMenu li li.tabContents ul,
		#globalMenu li li.tabContents ul.tab03			{ width: calc(100% + 2%); justify-content: left; }
		#globalMenu li li.tabContents li a,
		#globalMenu li li.tabContents .tab03 li a		{ width: calc(96% / 2 ); margin:  0 2% 2% 0; }
		#globalMenu li li.tabContents li a:last-child	{ margin-right: 2%; }
		#globalMenu li li.tabContents li a img			{ height: auto; }

		/* tab03 */
		#globalMenu li li.tabContents ul.tab03			{ width: calc(100% + 3.5%); margin-bottom: -140px; }
		#globalMenu li li.tabContents .tab03 li a		{ width: calc(93% / 2 ); margin:  0 3.5% 3.5% 0; }
		#globalMenu li li.tabContents .tab03 li a:last-child	{ margin-right: 3.5%; }
		#globalMenu li li.tabContents .tab03 li a		{ height: 45px; }

	/* ---------- ---------- ---------- ---------- ----------
	 *					footer
	 * ---------- ---------- ---------- ---------- ---------- */
	 	#ftrSitemap						{ display: none; }
		.ftrAdress						{ padding-top: 0; }

		#areaContact span,
		#areaContact_recruit span		{ padding-right: 20px; padding-left: 20px; display: block; }




 }
 @media screen and ( max-width:480px ) {
		#globalMenu li li.tabMenu		{ padding-top: 5px; }
		#globalMenu ul li a				{ padding: 21px; }
		#globalMenu li.sonota li a		{ padding: 15px 20px; }

		#globalMenu li li.tabMenu ul li	{ font-size: 12px; padding: 8px; }

		#globalMenu li li.tabContents ul.tab03	{ margin-bottom: -180px; }
		#globalMenu li li.tabContents .tab03 li a		{ padding: 20px 0; height: 40px; }

 }

 @media screen and ( max-width:375px ) {
		#globalMenu ul li a								{ padding: 18px 20px; }
		#globalMenu li.sonota li a						{ padding: 13px 20px; }

		#globalMenu li li.tabContents a	span			{ bottom: 10px; line-height: 1.2; width: 150px; }
		#globalMenu li li.tabContents .tab03 li a		{ padding: 20px 0; height: 25px; }
		#globalMenu li li.tabContents ul.tab03			{ margin-bottom: -240px; }


 }