@charset "utf-8";
/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl, dd { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
	list-style: none
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
p {
	margin: 0;
	padding: 0;
    text-align: justify;
}
table{
	border-collapse: collapse;
  	border-spacing: 0;
}
img {
	margin: 0;
	padding: 0;
	vertical-align: text-bottom;
	width: 100%;
	height: auto;
}
a img {
	border: none;
}
a:link {
	color: #222222;
	text-decoration: none !important; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #222222;
	text-decoration: none;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}
hr {
	clear: both;
	display: none;
}
.cf:before, .cf:after {
	content: " ";
	display: table
}
.cf:after {
	clear: both
}
.cf {
*zoom:1
}

/*HTML 5 サポート - 新しい HTML 5 タグを display:block に設定します。これにより、ブラウザーでタグが適切にレンダリングされます。 */
header, section, footer, aside, article, figure {
	display: block;
}



/*********   layout  ************/

body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	color: #555555;
	overflow-x: hidden;
}





/*========================================================================
//
// 共通（フォントサイズなど）
//
//========================================================================*/

/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	html, body {
		height: 100%;
		position: relative;
		font-size: 10px;
	}
	
	.wrapper {
		width: 1000px;
		margin: 0 auto;
		position: relative;
	}
	
	.sp_contents {
		display: none;
	}
}


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	html, body {
		height: 100%;
		/* iPhone 6,7,8,x を基準に */
		font-size: calc(100vw / 37.5);
	}
	article {
		overflow: hidden;
	}
	
	.wrapper {
		padding: 0 6%;
	}

	.pc_contents {
		display: none;
	}
}





/*========================================================================
//
// ヘッダー関連
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	
	#ghead{
		position: fixed;
		left:0;
		top:0;
		width:100%;
		z-index: 9999;
	}

	header{
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
		background:rgb(255 255 255 / 90%);
		padding:0 0 8px;
	}

	.home header{
		background:rgb(255 255 255 / 0%);
		padding:0;
	}

	header.fix{
		background:rgba(255,255,255,1);
		box-shadow: 0 0 10px 10px rgb(0,30,50,0.2);
		padding:0 0 8px;
	}
	
	header.fix_r{
		background:rgba(255,255,255,1);
		padding:0 0 8px;
	}
	
	#ci {
		width: 176px;
		margin: 37px 0 10px 34px;
	}

	.home #ci{
		filter: brightness(0) invert(1);
	}

	#ci_sfg_wrap {
		width: 146px;
		position:absolute;
		right: 34px;
		top:0;
	}

	.home #ci_sfg{
		filter: brightness(0) invert(1);
	}

	header.fix #ci,header.fix_r #ci,header.fix #ci_sfg{
		filter:none;
	}
	
	header.DownMove {
		transform: translate(0, 0);
	}
	header.UpMove {
		transform: translate(0, -110px);
	}
	
	
	/* head_navi(グローバルナビ) start　------------------ */
	
	#head_navi{
		position:relative;
	}

	.home #head_navi{
		filter: brightness(0) invert(1);
	}

	header.fix #head_navi,header.fix_r #head_navi,header.fix_r #ci_sfg{
		filter:none;
	}

	
	#head_navi > ul{
		width: 700px;
		position:absolute;
		top: -56px;
		right: 200px;
		display: flex;
		justify-content:space-between;
	}
    
    #head_navi > ul.legacy{
		
	}
	
	#head_navi > ul > li{
		position: relative;
		padding: 20px 0;
	}
	
	#head_navi > ul > li > a{
		display: block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		color: #005293;
		letter-spacing: 2px;
		padding: 0;
		position:relative;
	}

	#head_navi > ul > li:before,
	#head_navi > ul > li:after{
		content: "";
		display: block;
		width: 0;
		height: 2px;
		background: #005293;
		position: absolute;
		bottom: 18px;
		left: 50%;
		opacity:0;
		transform:translate(-50%, -50%);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	#head_navi > ul > li.uline:hover:before,
	#head_navi > ul > li.uline:hover:after{
		width: 100%;
		opacity:1;
	}
	
	
	/* megapop start -------------------------------------------- */
	
	.sec_nav_wrap{
		display:none;
		width: 100%;
		height: 460px;
		background: linear-gradient( to right,  rgba(0,82,146,0.9) 25%, rgba(19,115,189,0.9) 75% );
		position: fixed;
		left: 0;
		top: 8px;
		z-index: 0;
		box-shadow: 0 8px 8px 0 rgba(0,0,0,0.2);
	}
    
    #head_navi > ul > li:nth-child(3) .sec_nav_wrap{
        height: 400px;
    }
    #head_navi > ul > li:nth-child(4) .sec_nav_wrap{
        height: 240px;
    }

	.sec_nav_wrap .nav_block{
		width:1000px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform:translate(-50%, -50%);
	}
	.sec_nav_wrap p {
		border-bottom:1px solid #7ba2c1;
		margin:0 0 16px;
		padding:0 0 6px;
	}

	.sec_nav_wrap p a{
		display:inline-block;
		min-width: 61px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:300;
		letter-spacing:1px;
		font-size: 1.8rem;
		color:#fff;
		margin: 0 0 6px;
	}

	.sec_nav_wrap p a.no_link{
		pointer-events: none;
	}

	.sec_nav_wrap .business_wrap{
		display: flex;
	}

	.sec_nav_wrap .business_wrap > ul{
		padding:0 80px 0 0;
	}

	.sec_nav_wrap .business_wrap > ul > li > span{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		letter-spacing:1px;
		font-size: 1.6rem;
		color:#fff;
		display:block;
		padding:0 0 12px;
		position:relative;
	}

	.sec_nav_wrap .business_wrap > ul > li > span:before{
		content: "";
		display: block;
		width: 50px;
		height: 1px;
		background:#7ba2c1;
		position: absolute;
		bottom: 8px;
		left: 0;
	}

	.sec_nav_wrap .business_wrap > ul > li > a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		letter-spacing:1px;
	}

	.sec_nav_wrap .ir_wrap{
		display: flex;
	}

	.sec_nav_wrap .ir_wrap > ul{
		padding:0 80px 0 0;
	}
	.sec_nav_wrap .list01 a{
		display: inline-block;
		font-size: 1.4rem;
		margin: 0 0 10px;
		color:#fff;
	}

	.sec_nav_wrap .ir_wrap .list01 > li > a{
		display: inline-block;
		font-size: 1.5rem;
		font-weight: 600;
		margin: 0 0 10px;
		color:#fff;
	}

	.sec_nav_wrap .list01 a span{
		display:block;
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
		font-weight:400;
		font-size: 1.2rem;
		letter-spacing:0.15rem;
		line-height:140%;
		color:#b1cbe0;
	}

	.sec_nav_wrap .list01 a.icon_win{
		background: url("/global/img/icon_win.gif") no-repeat right 6px;
		padding: 0 17px 0 0;
	}

	.sec_nav_wrap a:hover{
        color:#fff;
        transform:translate(16px, 0);
    }

    .sec_nav_wrap .list02{
    	padding:0 0 10px 20px;
    }

    .sec_nav_wrap .list02 a{
		display: inline-block;
		font-size: 1.3rem;
		margin: 0 0 3px;
		color:#b1cbe0;
	}

	 .sec_nav_wrap .list03 a{
		display:inline-block;
		min-width: 61px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:300;
		letter-spacing:1px;
		font-size: 1.3rem;
		color:#fff;
		margin: 0 0 6px;
	}

	.sec_nav_wrap a{
		transition: all 0.3s cubic-bezier(0.15, 0.5, 0.49, 0.99) 0s;
		position:relative;
	}

	.sec_nav_wrap a:before{
		content: "";
		display: block;
		width: 0;
		height: 1px;
		background:#fff;
		position: absolute;
		top: 48%;
		left:-16px;
	}

	.sec_nav_wrap p a:before{
		top: 52%;
	}

	.sec_nav_wrap a:hover:before{
		width: 10px;
		transition: all 0.3s cubic-bezier(0.15, 0.5, 0.49, 0.99) 0.3s;
	}


	.sec_nav_wrap .f_logo a:hover:before{
		width: 0;
	}

	.sec_nav_wrap a:hover{
		opacity:0.5;
	}
	

	

    /* icon set --------------------------------------------- */

	#head_navi > ul > li:nth-child(7){
		position:relative;
		margin: 0 0 0 16px;
	}

	#head_navi > ul > li:nth-child(7) a:before{
		content: "";
		display: block;
		width: 1px;
		height: 20px;
		border-radius:100%;
		background:#005293;
		position: absolute;
		top: 50%;
		left: -17px;
		transform:translate(0, -50%);
		pointer-events: none;
	}

	#head_navi > ul > li:nth-child(7) a{
		background:url("/global/img/icon_info.png") no-repeat 0 center;
		text-indent:20px;
	}

	#head_navi > ul > li:nth-child(8) a{
		background:url("/global/img/icon_eng.png") no-repeat 0 center;
		text-indent:20px;
	}

	/* head_navi(グローバルナビ)  end　------------------ */



	/* activ set */
	
	.home #head_navi > ul > li:nth-child(1):before,
	.home #head_navi > ul > li:nth-child(1) :after{
		width: 100%;
		opacity:1;
	}

	.corporate #head_navi > ul > li:nth-child(3):before,
	.corporate #head_navi > ul > li:nth-child(3) :after{
		width: 100%;
		opacity:1;
	}
	
	.business #head_navi > ul > li:nth-child(4):before,
	.business #head_navi > ul > li:nth-child(4) :after{
		width: 100%;
		opacity:1;
	}
    
    .sustainability #head_navi > ul > li:nth-child(5):before,
	.sustainability #head_navi > ul > li:nth-child(5) :after{
		width: 100%;
		opacity:1;
	}

	.news #head_navi > ul > li:nth-child(6):before,
	.news #head_navi > ul > li:nth-child(6) :after{
		width: 100%;
		opacity:1;
	}

	.contact #head_navi > ul > li:nth-child(7):before,
	.contact #head_navi > ul > li:nth-child(7) :after{
		width: 100%;
		opacity:1;
	}

}

/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	
	header{
		position: absolute;
		left:0;
		top:0;
		width:100%;
		z-index:900;
	}
	
	.ci_wrap{
		width: 100%;
		margin: 0;
	}
	
	
	#ci {
		width: 41vw;
		margin: 26px 0 0 16px;
		filter: brightness(0) invert(1);
	}

	.home #ci{
		filter: brightness(0) invert(1);
	}

	#ci_sfg_wrap {
		width: 30vw;
		position:absolute;
		right: 80px;
		top: 0;
		filter: brightness(0) invert(1);
	}

	.home #ci_sfg{
		filter: brightness(0) invert(1);
	}
	
	
	
	
	/* head_navi(グローバルナビ) start　------------------ */
	
	#head_navi{
		display: none;
	}

	/* head_navi(グローバルナビ)  start　------------------ */

}


/*========================================================================
//
// サイドフローティング
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	#side_navi {
		position:fixed;
		top:50%;
		right:-8px;
		transform:translate(0,-50%);
		z-index:9999;
	}
	#side_navi a{
		width:68px;
		height: 200px;
		box-sizing: border-box;
		display:block;
		background: #000;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.8rem;
		color:#fff;
		line-height: 1;
		writing-mode: vertical-rl;
		text-align: center;
		font-feature-settings: 'palt';
		letter-spacing: 0.4rem;
		border-radius: 6px 0 0 6px;
		padding: 0 22px 4px;
	}

	#side_navi a span{
		display:inline-block;
		width: 14px;
		vertical-align: text-top;
		margin: 5px -2px 0 0;
	}

	#side_navi a em{
		display:inline-block;
		width: 18px;
		vertical-align: text-top;
		margin: 0 0px 8px 0;
	}

	#side_navi a{
		transition: all 0.4s ease 0s;
	}

	#side_navi a:hover{
		transform:translate(-8px,0);
	}
}

/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	#side_navi {
		display:none;
	}
}



/*========================================================================
//
// パンくず
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	#bread_list {
		width:100%;
		padding:20px 0;
        background: #fff;
		border-top:1px solid #eeeeee;
		box-shadow: 0 0 10px -2px rgba(0,0,0,0.1);
	}

	#bread_list ul{
		width:1000px;
		margin:0 auto;
		display: flex;
	}
	#bread_list li{
		font-size: 1.3rem;
		line-height: 100%;
		letter-spacing: 1px;
		color:#79889b;
		padding: 0 40px 0 0;
		position:relative;
	}

	#bread_list li:after{
		content: "";
		display: block;
		width: 20px;
		height: 1px;
		background: linear-gradient( to right,  #73c3e8 25%, #4770c3 75% );
		position: absolute;
		top:6px;
		right:10px;
	}

	#bread_list li:last-child:after{
		width:0;
	}
	
	#bread_list a{
		color:#005293;
		font-weight:bold;
		display:block;
	}

	#bread_list a:hover{
		transition: all 0.5s ease 0s;
        opacity: 0.5;
	}
}

/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	#bread_list {


		display: none;
	}
}





/*========================================================================
//
// Page Top 固定ボタン
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	.pagetop{
		position: fixed;
		right: -80px;
		top: 95%;
		transform: translate(0, -50%);
		z-index:9000;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	
	.pagetop_act{
		right: -18px;
	}

	.pagetop li a{
		display:block;
		background: #b4b4b4 url(/global/img/arrow_w2.png) no-repeat 20px center;
		background-size: 16px auto;
		width: 72px;
		height: 50px;
		border-radius:6px;
		transform: translate(0,0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	.pagetop li a:hover{
		transform: translate(-8px,0);
		background: #002c4f url(/global/img/arrow_w2.png) no-repeat 20px center;
		background-size: 16px auto;
	}
}


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	.pagetop{
		position: fixed;
		right: -80px;
		top: 95%;
		transform: translate(0, -50%);
		z-index:9000;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	
	.pagetop_act{
		right: -18px;
	}

	.pagetop li a{
		display:block;
		background: #bdc2cc url(/global/img/arrow_w2.png) no-repeat 15px center;
		background-size: 14px auto;
		width: 60px;
		height: 44px;
		border-radius:6px;
		transform: translate(0,0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
}




/*========================================================================
//
// ハンバーガーメニュー
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	
	/* Menu ボタン　----------------------------- */
	#drawer-icon {
	  position: fixed;
	  cursor: pointer;
	  display: inline-block;
	  height: 60px;
	  width: 60px;
	  top: 5px;
	  right: 5px;
	  z-index:9999;
	  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#drawer-icon:after{
		content: "MENU";
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.1rem;
		letter-spacing: 1px;
		line-height: 100%;
		color: #005292;
		margin: 39px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-icon span {
	  background: #005292;
	  border-radius: 4px;
	  display: block;
	  height: 2px;
	  position:absolute;
	  top: 40%;
	  left: 50%;
	  -webkit-transform:translate(-50%, -50%);
	  transform:translate(-50%, -50%);
	  transition: all 0.3s ease-in-out;
	  width: 22px;
	}
	#drawer-icon span::before,
	#drawer-icon span::after {
	  background: #005292;
	  border-radius: 2px;
	  content: "";
	  display: block;
	  height: 100%;
	  position:absolute;
	  top: 50%;
	  left: 0;
	  -webkit-transform:translate(-50%, -50%);
	  transform:translate(-50%, -50%);
	  transform: rotate(0);
	  transition: all 0.3s ease-in-out;
	  width: 22px;
	}
	#drawer-icon span::before {
	  margin-top: -30%;
	}
	#drawer-icon span::after {
	  margin-top: 24%;
	}

	#drawer-icon.fix{
		background: rgba(255, 255, 255, 0.5);
	}

	#drawer-icon{
		background: rgba(255, 255, 255, 0.5);
	}

	.home #drawer-icon{
		background: rgba(255, 255, 255, 0.5);
	}

	
	
	
	/* CLOSE ボタン　----------------------------- */
	#drawer-close-icon {
	  position: absolute;
	  cursor: pointer;
	  display: inline-block;
	  height: 60px;
	  width: 60px;
	  top: 4px;
	  right: 5px;
	  z-index:9999;
	  /* transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); */
	}
	#drawer-close-icon:after{
		content: "CLOSE";
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.0rem;
		letter-spacing: 1px;
		line-height: 100%;
		color: #a5a5a5;
		margin: 44px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-close-icon span {
	  display: block;
	  height: 100%;
	  position: absolute;
	  top: 43%;
	  left: 50%;
	  transform:translate(-50%, -50%);
	  width:100%;
	}
	
	#drawer-close-icon span::before,
	#drawer-close-icon span::after {
	  content: "";
	  background: #a5a5a5;
	  display: block;
	  height: 2px;
	  width: 26px;
	  position: absolute;
	  top: 50%;
	  left: 30%;
	  transform:translate(-50%, -50%);
	}
	#drawer-close-icon span::before {
			  transform: rotate(-45deg);
	}
	#drawer-close-icon span::after {
			  transform: rotate(45deg);
	}
	
	
	/* メニューエリア　----------------------------- */
	
	#drawer-content {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10001;
		width: calc(100vw*0.8);
		max-width: 90%;
		height: 100%;
		background: rgba(0, 0, 0, 0.9);
		transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translateX(100%);
	}

	#drawer-content.act {
		overflow-y: auto;
		transform: translateX(0);
		box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
	}
	
	#drawer-content-inner{
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
	}

	#drawer-close {
	  display: none;
	  cursor: pointer;
	  position: fixed;
	  z-index: 10000;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  transition: all 0.3s ease-in-out 0s;
	}
	#drawer-close.act {
	  display: block;
	}
	

	/*ボタン*/
	.no_accordion_btn_wrap{
		padding: 13px 0 13px 14px;
	}
	.no_accordion_btn_wrap li{
		border: 1px solid #3f3e41;
		line-height:0;
		float: left;
	}
	.no_accordion_btn_wrap li:last-child{
		border: 1px solid #0096d7;
	}
	.no_accordion_btn_wrap a{
		font-family: 'Ubuntu', sans-serif;
		font-weight: 200;
		font-size: 1.4rem;
		padding: 18px 12px 16px;
		letter-spacing:1px;
		line-height:100%;
		display: inline-block;
		color :#9c9c9c;
	}

	.no_accordion_btn_wrap a span{
		display: block;
		font-size:1.2rem;
		color:#b0afb3;
		text-align: center;
		height:100%;
		margin: -2px 0 0;
	}
	
	.no_accordion_btn_wrap > li:nth-child(2) a{
		background: #0096d7;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		padding: 17px 18px 17px;
		line-height: 100%;
		color:#ffffff;
	}

	.no_accordion_btn_wrap > li:nth-child(2){
		margin: 0 0 0 8px;
	}


	.sp_btn_wrap{
		border-top: 1px solid #2c2c2d;
		padding:20px 0 20px;
	}

	.sp_btn_wrap a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 200;
		font-size:1.4rem;
		display: block;
		padding: 8px 0 8px 60px;
		color: #fff;
		opacity: 0.8;
	}
    .sp_btn_wrap li:nth-child(1) a{
		background: url(../img/nav_icon03.png) no-repeat 20px center;
		background-size: 28px auto;
	}
	
	.sp_btn_wrap li:nth-child(2)  a{
		background: url(../img/nav_icon01.png) no-repeat 20px center;
		background-size: 28px auto;
	}
	
	
	
	.sp_btn_wrap li:nth-child(3)  a{
		background: url(../img/nav_icon02.png) no-repeat 20px center;
		background-size: 28px auto;
	}
	
	
	.nav_sns{
		border-top: 1px solid #2c2c2d;
		padding:20px 0 50px 24px;
		display: flex;
	}
	
	.nav_sns li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size:1.4rem;
		margin: 0 10px 0 0;
		color: #bfbfbf;
	}
	
	.nav_sns li:nth-child(2){
		width: 24px;
		margin: 0 5px 0 0;
	}
	.nav_sns li:nth-child(3){
		width: 24px;
	}
	

	/*アコーディオン*/


	input.accordion {
		display: none;
	}

	


	.accordion_btn_wrap li a{

		font-size: 1.4rem;
		display:block;
		color: #ffffff;
		opacity: 0.6;
		padding: 10px 0 9px 32px;
		position:relative;
	}

	.accordion_btn_wrap li > span{
		font-size: 1.4rem;
		display:block;
		color: #dfdfdf;
		padding: 20px 0 0 18px;
		position: relative;
	}

	.accordion_btn_wrap li > span:before{
		content: "";
		display: block;
		width: 94%;
		height: 1px;
		background:#84828e;
		position: absolute;
		top:10px;
		left:6%;
	}

	.accordion_btn_wrap li a span{
		font-size: 1.3rem;
		display:block;
		color: #ffffff;
		opacity: 0.5;
		line-height:140%;
		padding:0 10px 0 0;
	}

	.accordion_btn_wrap > li:first-child{
		padding: 18px 0 0;
	}
	
	.accordion_btn_wrap > li:last-child{
		padding: 0 0 18px;
	}

	.accordion_btn_wrap li a:before{
		position:absolute;
		content:"";
		top: 46%;
		left: 19px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
	}
	
	.accordion_btn_wrap ul.list02{
		padding:0 0 0 10%;
	}

	.accordion_btn_wrap ul.list02 a{
		font-size: 1.3rem;
	}

	
	/* ac BTN */
	.menu_ac_wrap li {
		border-top: 1px solid #2c2c2d;
	}

	.menu_ac_wrap li.last{
		border-bottom: 1px solid #2c2c2d;
	}
	
	.menu_ac_wrap li a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size:1.4rem;
		display: block;
		letter-spacing:1px;
		padding: 16px 0 18px 22px;
		position: relative;
		color: #bfbfbf;
	}

	
	.menu_ac_wrap li a:before{
		position:absolute;
		content:"";
		top: 50%;
		right: 20px;
		width: 12px;
		transition: all 0.5s ease 0s;
		border-top: 1px solid #888888;
		transform: rotate(0);
	}
	
	.menu_ac_wrap li a:after{
		position:absolute;
		content:"";
		top: 50%;
		right: 20px;
		width: 12px;
		transition: all 0.5s ease 0s;
		border-top: 1px solid #888888;
		transform: rotate(90deg);
	}
	
	.menu_ac_wrap li a.no_plus:before,
	.menu_ac_wrap li a.no_plus:after
	{
		border-top:none;
	}
	

	
	/* ac BTN active */

	
	.menu_ac_wrap li a.active{
		background: #000000;
	}
	
	
	.menu_ac_wrap li a.active:before{
		transform: rotate(180deg);
	}
	.menu_ac_wrap li a.active:after{
		transform: rotate(360deg);
	}
	
	.menu_ac_contents{

		/* padding: 16px 0; */
		background: rgba(100,100,110,0.45);
	}

	#recruit_btn{
	width: 92%;
	margin: 30px 0 20px auto;
	}

	#recruit_btnli {
		margin:0 0 8px;
	}


	#recruit_btn li a{
		display:block;
		background: linear-gradient( to right,  #ffffff 0%, #ffffffd1 95% );
		color:#000;
		padding: 14px 14px 12px 24px;
		font-size:1.6rem;
		letter-spacing:0.5px;
		border-radius: 6px 0 0 6px;
	}

	#recruit_btn li em{
		display:inline-block;
		width: 26px;
		vertical-align: text-top;
		margin: -9px 8px 0 0;
		filter: brightness(0); 
	}

	#recruit_btn li span{
		display:inline-block;
		width: 18px;
		vertical-align: text-top;
		margin: -9px 0 0 7px;
		filter: brightness(0);
	}

	
	
	.scroll-prevent {
	  /*動き固定*/
	  position: fixed;
	  /*奥行きを管理*/
	  z-index: -1;
	  /*下2つで背景を元のサイズのまま表示することができる*/
	  width: 100%;
	  height: 100%;
		top: 0;
  		right: 0;
	}
}


/*========================================================================
//
// フッター関連
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	
	footer{
		background:#005292;
	}

    /* f_bnr start */
	#f_bnr{
		background:#95a3b5;
		padding:50px 0;
	}

	#f_bnr .swiper-container_bnr{
		width: 1010px;
		margin:0 auto;
		overflow:hidden;
	}

	#f_bnr .swiper-container_bnr a{
		display:block;
		line-height:0;
		transition: all 0.3s ease-in-out 0s;
	}

	#f_bnr .swiper-container_bnr a:hover{
		opacity:0.5;
	}
	
	/* f_site_map start */
	#f_site_map{
		width: 920px;
		margin: 0 auto;
		padding: 40px 0;
		display: flex;
		gap: 0 70px;
		flex-wrap: wrap;
	}

	#f_site_map .f_logo{
		width: 180px;
		margin: 0 40px 0 0;
	}

	#f_site_map p {
		border-bottom:1px solid #316d9c;
		margin:0 0 16px;
		width: 150px;
		padding: 0 0 6px 0;
	}

	#f_site_map p a{
		display:inline-block;
		min-width: 61px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:300;
		letter-spacing:1px;
		font-size: 1.4rem;
		color:#fff;
		margin: 0 0 6px;
	}

	#f_site_map p a.no_link{
		pointer-events: none;
	}

	#f_site_map .ir_wrap{
		display: flex;
        justify-content:space-between;
	}

	#f_site_map .ir_wrap > ul{
		padding:0 20px 0 0;
	}
	#f_site_map .list01 a{
		display: inline-block;
		font-size: 1.3rem;
		margin: 0 0 6px;
		color:#fff;
	}

	#f_site_map .business_wrap .list01{
		margin: 0 0 10px 10px;
	}

	#f_site_map .business_wrap .list01 li:first-child{
		margin:0 0 0 -10px;
	}

	#f_site_map li > span{
		display:block;
		font-weight:bold;
		font-size: 1.4rem;
		margin: 0 0 8px;
		color:#7293ad;
	}

	#f_site_map .list01 a.icon_win{
		background: url("/global/img/icon_win.gif") no-repeat right 6px;
		padding: 0 17px 0 0;
	}

	#f_site_map a:hover{
        color:#fff;
        transform:translate(16px, 0);
    }

    #f_site_map .list02{
    	padding:0 0 0 20px;
    }

    #f_site_map .list02 a{
		display: inline-block;
		font-size: 1.2rem;
		margin: 0 0 3px;
		color:#b1cbe0;
	}

	 #f_site_map .list03 a{
		display:inline-block;
		min-width: 61px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:300;
		letter-spacing:1px;
		font-size: 1.3rem;
		color:#fff;
		margin: 0 0 6px;
	}

	#f_site_map a{
		transition: all 0.3s cubic-bezier(0.15, 0.5, 0.49, 0.99) 0s;
		position:relative;
	}

	#f_site_map a:before{
		content: "";
		display: block;
		width: 0;
		height: 1px;
		background:#fff;
		position: absolute;
		top: 48%;
		left:-16px;
	}

	#f_site_map a:hover:before{
		width: 10px;
		transition: all 0.3s cubic-bezier(0.15, 0.5, 0.49, 0.99) 0.3s;
	}


	#f_site_map .f_logo a:hover:before{
		width: 0;
	}

	#f_site_map a:hover{
		opacity:0.5;
	}
	

    /* f_copyright_wrap start */
    #f_copyright_wrap{
    	border-top:2px solid #316d9c;
    	width:1000px;
    	margin:0 auto;
    	padding:10px 0 40px;
    	position:relative;
    }

    #f_copyright_wrap p{
		letter-spacing:1px;
		font-size:1.2rem;
		color:#fff;
		text-align:center;
    }

    #f_copyright_wrap ul{
    	position:absolute;
    	top:0;
    	right:0;
    	display: flex;
        justify-content:space-between;
    }

    #f_copyright_wrap li{
    	margin:0 0 0 4px;
    	font-size: 1.2rem;
		color:#ffffff;
    }

    #f_copyright_wrap a{
		font-size: 1.2rem;
		color:#749bb9;
    }

    #f_copyright_wrap a:hover{
    	transition: all 0.5s ease 0s;
        color:#fff;
    }

}


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	footer{
		width:100vw;
		background:#005292;
		overflow:hidden;
	}

    /* f_bnr start */
	#f_bnr{
		background:#95a3b5;
		padding:50px 0;
		position: relative;
	}

	#f_bnr ul{
		margin:0 10%;
	}

	#f_bnr li{
		width: 100%;
		padding:0 0 10px;
	}

	#f_bnr li a{
		display:block;
		line-height:0;
	}

	
	/* f_site_map start */
	#f_site_map{
		width:92%;
		margin:40px auto 0;
	}

	#f_site_map .f_logo{
		width: 55%;
	}

	#f_site_map p {
		display:none;
	}

	#f_site_map ul {
		display:none;
	}
	
	
    /* f_copyright_wrap start */
    #f_copyright_wrap{
    	padding: 9px 0 100px;
    	position:relative;
    }

    #f_copyright_wrap .wrapper{
    	padding: 0 4%;
    }

     #f_copyright_wrap p{
		letter-spacing:1px;
		font-size: 1.0rem;
		color:#fff;
		text-align: left;
		}

    #f_copyright_wrap ul{
    	position:absolute;
    	top: -20px;
    	left: 59%;
    	display: flex;
    	justify-content:space-between;
    }

    #f_copyright_wrap li{
    	margin:0 0 0 4px;
    	font-size: 1.4rem;
		color:#ffffff;
    }

    #f_copyright_wrap a{
		font-size: 1.4rem;
		color:#749bb9;
    }

	
}


/*========================================================================
//
// GDPR Cookie
//
//========================================================================*/

/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	.g-gdpr {
        width: 100%;
        padding: 30px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(0,0,0,.75);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10000;
        backdrop-filter: blur(15px);
        transition: 1s;
        transform: translateY(100%);
        animation: anime-gdpr 1s both 1s;
    }
    
    .is-gdpr_off .g-gdpr {
        animation: anime-gdpr_off 1s both;
    }
    
    .g-gdpr__text {
        color: #cacaca;
        text-shadow: 0 0 3px #000;
        padding: 0 30px 0 0;
        font-size: 1.5rem;
    }

    .g-gdpr__text a {
        color: #85b9d0;
        text-decoration: underline !important;
        padding: 0 .15em;
        display: inline-block;
    }

    .g-gdpr__text a:hover {
        text-decoration: none;
    }

    .g-gdpr__button {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        padding: 1em 2em 1em 2em;
        display: block;
        background: #6785d5;
        border: 1px solid #fff;
        transition: .2s;
        cursor: pointer;
    }

    .g-gdpr__button:hover {
        opacity: .8;
    }
}


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	.g-gdpr {
        width: 80%;
        padding: 30px 10%;
        justify-content: center;
        align-items: center;
        background: rgba(0,0,0,.75);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10000;
        backdrop-filter: blur(15px);
        transition: 1s;
        transform: translateY(100%);
        animation: anime-gdpr 1s both 1s;
    }
    
    .is-gdpr_off .g-gdpr {
        animation: anime-gdpr_off 1s both;
    }
    
    .g-gdpr__text {
    	display:block;
    	color: #cacaca;
    	text-shadow: 0 0 3px #000;
    	padding: 0 0 20px;
    	font-size: 1.4rem;
    }

    .g-gdpr__text a {
        color: #85b9d0;
        text-decoration: underline !important;
        padding: 0 .15em;
        display: inline-block;
    }

    .g-gdpr__text a:hover {
        text-decoration: none;
    }

    .g-gdpr__button {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        padding: 1em 2em 1em 2em;
        display: block;
        background: #6785d5;
        border: 1px solid #fff;
        transition: .2s;
        cursor: pointer;
    }
}



@keyframes anime-gdpr {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}



@keyframes anime-gdpr_off {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(100%);
	}
}





/*===============================================
　SP iPhone5サイズ対応　画面の横幅が350pxまで▼▼▼▼▼
===============================================*/

@media (max-width:349px) {
	
	
}

/*===============================================
　SP iPhone Plus サイズ対応　画面の横幅が415pxまで▼▼▼▼▼
===============================================*/

@media (min-width:413px) {
	
}




