

/*========================================================================
//
// 共通（フォントサイズなど）
//
//========================================================================*/


/*********  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;
	}
}





/*========================================================================
//
// ヘッダー関連
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	
	header{
		position: absolute;
		left:0;
		top:0;
		width:100%;
		z-index:900;
		background-color: #fff;
	}
	
	#ci_wrap{
		width: 100%;
	}
	
	#ci {
		margin: 20px 10px 17px 2%;
	}

	#ci a{
		display: flex;
	}

	#ci a p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		color: #195386;
		letter-spacing:1px;
		line-height:160%;
		padding: 5px 0 0 15px;
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	#ci a p{
		color: #195386;
	}

	#ci_mark{
		width: 256px;
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	
	/* head_r_navi start　------------------ */

	#head_r_navi{
		display: none;
	}

	/* head_r_navi end　------------------ */
	
	
	/* head_navi(グローバルナビ) start　------------------ */
	
	#head_navi{
		display: none;
	}

	/* head_navi(グローバルナビ)  start　------------------ */

	/* entry_navi start ------------------ */

	#entry_navi{
		position:fixed;
		right:10px;
		bottom:10px;
	}

	#entry_navi li{
		width:70px;
		height:70px;
		border-radius:50%;
		position:relative;
		background: linear-gradient( to right,  #ff9600 25%, #f7b817 75% );
		transition: all 0.5s cubic-bezier(0.47, 0.16, 0.18, 1.87) 0s;
	}

	#entry_navi li a{
		display:block;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size:1.6rem;
		padding: 22px 0;
		letter-spacing: 1px;
		text-indent: 3px;
		color:#fff;
		text-align:center;
	}

	

	/* entry_navi start ------------------ */

}




/*========================================================================
//
// ハンバーガーメニュー
//
//========================================================================*/


/*********  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: #195386;
		margin: 39px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-icon span {
	  background:  #195386;
	  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: #195386;
	  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:after{
		color: #fff;
	}
	#drawer-icon span {
	  background:  #fff;
	}
	#drawer-icon span::before,
	#drawer-icon span::after {
	  background: #fff;
	}

	#drawer-icon span::before {
	  margin-top: -30%;
	}
	#drawer-icon span::after {
	  margin-top: 24%;
	}

	#drawer-icon.fix{
		background: #def3fb;
	}

	#drawer-icon{
		background: #ff9600;
	}

	#drawer-icon.fix{
		background: #ff9600;
	}

	.career #drawer-icon{
		background: #ff9600;
	}

	.career #drawer-icon.fix{
		background: #ff9600;
	}
	
	
	/* 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;
	}

	#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 #385692;
	}
	.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: #385692;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 200;
		padding: 17px 26px 17px;
		line-height: 100%;
		color:#e7e9ef;
	}

	.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(../../../global/img/nav_icon03.png) no-repeat 20px center;
		background-size: 28px auto;
	}
	
	.sp_btn_wrap li:nth-child(2)  a{
		background: url(../../../global/img/nav_icon01.png) no-repeat 20px center;
		background-size: 28px auto;
	}
	
	
	
	.sp_btn_wrap li:nth-child(3)  a{
		background: url(../../../global/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: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);
	}
	
	
	/* ac BTN */
	.menu_ac_wrap li {
		border-top: 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);
	}
	
	.menu_ac_wrap li.embtn{
		/* padding: 16px 0 18px 22px; */
		padding: 16px 22px;
	}
	.menu_ac_wrap li.embtn a{
		background: #ff9600;
		color: #ecedf3;
		padding: 12px 18px;
		display: inline-block;

	}

	.scroll-prevent {
	  /*動き固定*/
	  position: fixed;
	  /*奥行きを管理*/
	  z-index: -1;
	  /*下2つで背景を元のサイズのまま表示することができる*/
	  width: 100%;
	  height: 100%;
		top: 0;
  		right: 0;
	}
}




/*========================================================================
//
// フッター関連
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	footer{
		background:#fff;
	}
	
	/* f_site_map start */
	#f_site_map{
		background: #e6e6e6;
		padding: 40px 0;
	}

	#f_site_map ul{
	padding: 0 5%;
	}

	#f_site_map li{
	padding:5px 0;
	}

	#f_site_map ul a{
		display:inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 1.6rem;
		letter-spacing:0.1rem;
		line-height:100%;
		padding: 22px 0 24px;
		border-radius:50px;
		color:#fff;
		text-align:center;
		width: 100%;
		box-shadow: 14px 20px 20px 0 rgba(16,36,71,0.2);
		background: linear-gradient( to right,  #013d78 25%, #27669e 75% );
		transition: all 0.5s cubic-bezier(0, 0, 0.31, 1.66) 0s;
	}

	#f_site_map ul li:last-child a{
		background: linear-gradient( to right,  #27669e 25%, #5ba5a1 75% );
	}


    /* f_copyright_wrap start */
    #f_copyright_wrap{
    	background: #ffffff;
    	padding:20px 0 150px;
    }

    #f_copyright_wrap #foot_ci{
    	width:48px;
    	margin: 0 auto 8px;
    }

    #f_copyright_wrap p{
    	font-family: 'Noto Sans JP', sans-serif;
    	font-weight:300;
    	letter-spacing:0.1em;
    	font-size:1.3rem;
    	color: #000;
    	text-align:center;
    }

	
}



/*========================================================================
//
// GDPR Cookie
//
//========================================================================*/


/*********  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;
    }
    
    .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;
    }


    a.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;
    }
}


/*===============================================
　SP iPhone5サイズ対応　画面の横幅が350pxまで▼▼▼▼▼
===============================================*/

@media (max-width:349px) {
	
	
}

/*===============================================
　SP iPhone Plus サイズ対応　画面の横幅が415pxまで▼▼▼▼▼
===============================================*/

@media (min-width: 413px) and (max