@charset "utf-8";

@-ms-viewport {
  width: auto;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width:1280px){

	.pc{display:none;}
	.sp{display:block;}

	html{
		font-size:75%;
	}
	.imageFlex{
		display:flex;
		flex-direction:column;
		width:100%;
		height:auto;
	}
	.imageFlexBox{
		width:100%;
		text-align:center;
		padding:5px 10px;
		margin-right:0;
		margin-bottom:10px;
	}
	.flexbox{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.box-item{
		padding: 0;
		width: 90%;
		height:auto;
		color:#fff;
		border-right:#607290;
		border-bottom:#607290;
		transition:0.5s;
		margin:0 20px 30px 20px!important;
	}
	.box-item p{
		font-size:90%;
		padding:0;
		line-height:1.2em;
	}

	.flexboxFor{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.box-itemFour{
		padding: 0;
		width: 90%;
		height:auto;
		color:#000;
		border-right:#607290;
		border-bottom:#607290;
		transition:0.5s;
	}

/*################################################
    header setting
#################################################*/
	header{
		position: fixed;
		top: 0;
		z-index: 20;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 60px;
		background-color: rgb(0, 0, 0,0.5);
		transition: all 0.3s ease-out;
	}
	header .contents{
		width:100%;
		margin:0 auto;
	}
	header .contents .header-inner{
		width:100%;
		height:30px;
		line-height:15px;
		padding-top:10px;
		padding-left:20px;
	}
	header .contents .header-inner img{
		width:63px;
		height:38px;
		float:left;
	}
	.mainNavWrap{
		display:none
	}
/* 
hamburger(ハンバーガーアイコン)
=================================== */
	.hamburger {
		position: absolute;
		right: 15px;
		top: 20px;
		width: 50px;
		height: 40px;
		cursor: pointer;
		z-index: 300;
	}
	.hamburger__line {
		position: absolute;
		width: 20px;
		height: 2px;
		right: 0;
		background-color: #fff;
		transition: all 0.5s;
	}
	.hamburger__line--1 {
		top: 1px;
	}
	.hamburger__line--2 {
		top: 8px;
	}
	.hamburger__line--3 {
		top: 15px;
	}
	.open .hamburger__line--1 {
		transform: rotate(-45deg);
		top: 11px;
	}
	.open .hamburger__line--2 {
		opacity: 0;
	}
	.open .hamburger__line--3 {
		transform: rotate(45deg);
		top: 11px;
	}
/* 
sp-nav(ナビ)
=================================== */
	.sp-nav {
		position: fixed;
		right: -100%;
		top: 0;
		width: 60%; /* 出てくるスライドメニューの幅 */
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.7);
		transition: all 0.5s;
		z-index: 200;
		overflow-y: auto;
	}


/*ハンバーガーがクリックされたら右からスライド*/
	.open .sp-nav {
		right: 0;
	}
/*スライド内メニュー*/
	.checkItemBox{
		position:relative;
		top:80px;
	}
	.acd-check{
		display: none;
	}
	.acd-label{
		/*background: #0068b7;*/
		background: #333;
		color: #fff;
		display: block;
		margin-bottom: 1px;
		padding: 10px;
		position: relative;
	}
	.acd-content{
		border: 1px solid #333;
		display: block;
		height: 0;
		opacity: 0;
		padding: 0 10px;
		transition: .5s;
		visibility: hidden;
	}
	.acd-content ul li{
		width:100%;
		height:auto;
		line-height:25px;
		color:#fff;
		text-align: left;
		border-bottom:1px solid #fff;
	}
	.acd-content ul li ul{
		margin:0;
		padding:0;
		border:none;
	}
	.acd-content ul li ul li{
		border:none;
		margin-left:1em;
	}
	.acd-content ul li a{
		color:#fff;
		text-decoration:none;
	}
	.acd-check:checked + .acd-label + .acd-content{
		width:100%;
		height: 100%;
		opacity: 1;
		padding: 10px;
		visibility: visible;
	}


/*################################################
    #topImgBox setting
#################################################*/
    #topImgBox .rocketTtl{
        position:absolute;
        bottom:-20px;
        right:20px;
        text-shadow:1px 1px 3px #101229;
        font-size:20px!important;
    }

/*################################################
    #sec01 setting
#################################################*/
	#sec01{
		width:100%;
		height:auto;
		margin:0 auto;
	}
	#sec01 .contents{
		width:100%;
		height:auto;
		margin:0 auto;
		text-align:center;
		padding:30px;
	}
	#sec01 .contents img{
		width:100%;
	}
	#sec01 .contents .mainTtlBox{
		width:100%;
		height:auto;
		display:flex;
		flex-direction: column;
		margin:30px auto;
		justify-content: center;
		align-items: center;
	}
	#sec01 .contents .logoBox{
		width:50%;
		margin-bottom:30px;
	}
	#sec01 .contents .logoTxtBox{
		width:95%;
		text-align:center;
		font-size:24px;
	}

	.l-nav-local04+section{
		margin-top:70px
		}
	.l-nav-local04{
		display:none
		}
	
	#fade-in2 li ul{
		opacity: 0;
		top: 50%;
		visibility: hidden;
		transition: .5s;
	}
	#fade-in2 li:hover ul{
		top: 100%;
		visibility: hidden;
		opacity: 1;
	}

/*################################################
    #imgSec setting
#################################################*/
	.imgSec{
		width:100%;
		height:auto;
		margin:0 auto;
		margin:80px 0 0 0;
		position:relative;
	}
	.imgSec img{
		width:100vw;
	}
	.imgSec h1{
		position:absolute;
		top:20px;
		left:20px;
		text-shadow:1px 1px 3px #101229;
		font-size:28px!important;
	}


/*################################################
    .commonSec setting
#################################################*/

    .commonSec .contents{
        width:100%;
        margin:0 auto;
        padding:30px;
        text-align:left;
    }
    .commonSec .contents img{
		width:100%;
	}
	.commonSec .contents ul{
        padding-left:10px!important;
    }

	.twoColumnFlex{
		display:flex;
		flex-direction:column;
		width:100%;
		height:auto;
	}
	.columnLeft{
		width:100%;
		text-align:left;
		padding:5px 10px;
	}
	.columnRight{
		width:100%;
		text-align:left;
		padding:5px 10px;
	}
	.columnLeft-Box{
		width:100%;
		text-align:left;
		padding:5px 10px;
	}
	.columnRight-Box{
		width:100%;
		text-align:left;
		padding:5px 10px;
	}
	.columnBox{
		width:100%;
		text-align:left;
		padding:5px 10px;
	}
	.columnBox img{
		width:100vw;
	}
	.columnBox iframe{
		width:100%;
		height:300px;
		display:block;
		margin:0 auto;
	}
	.videoBox{
        width:100%;
        height:auto;
        margin:0 auto;
        text-align:center;
    }
    .videoBox iframe{
        width:100%;
        height:300px;
        display:block;
        margin:0 auto;
    }

/*==================================
	画像2つ用設定
==================================*/
	.boxItem-Two{
		padding: 0;
		width: 100%;
		height:auto;
		position:relative;
		margin-right:0;
		margin-bottom:80px;
	}
	.boxItem-Two picture{
		width:100%;
		height:auto;
	}
	.boxItem-Two picture img{
		width:100%;
	}
	
	.boxItem-Two .textBox {
		padding: 20px 20px 20px;
		background: #fefb1a url(../../../assets/img/column/pickupInterview/top_box_link.png) no-repeat right bottom;
		background: rgba(254,251,26,1.0) url(../../../assets/img/column/pickupInterview/top_box_link.png) no-repeat right bottom;
		width:100%;
		min-height: 50px;
		position:absolute;
		bottom:-70px;
	}
	.boxItem-Two .textBox p.subTitle {
		margin: 0 0 10px;
		font-weight: bold;
		letter-spacing: -1px;
		font-size: 14px !important;
		color: #000;
		text-decoration: none;
	}

/*==================================
	pickup interview setting
==================================*/
	.pickUpBox-Two{
		padding: 0;
		width: 100%;
		height:auto;
		position:relative;
		margin-right:0;
		margin-bottom:200px;
	}
	.pickUpBox-Two .pickUptextBox {
		padding: 20px 20px 20px;
		background: #fefb1a url(../../../assets/img/column/pickupInterview/top_box_link.png) no-repeat right bottom;
		background: rgba(254,251,26,1.0) url(../../../assets/img/column/pickupInterview/top_box_link.png) no-repeat right bottom;
		width:100%;
		min-height: 50px;
		position:absolute;
		bottom:-175px;
	}
	.pickUpBox-Two .pickUptextBox p.subTitle02 {
		margin: 0 0 10px;
		font-weight: bold;
		letter-spacing: -1px;
		font-size: 14px !important;
		color: #000;
		text-decoration: none;
	}
	.pickUpBox-Two .pickUptextBox h2 {
		font-size: 12px !important;
		line-height:2em;
		color:#000;
	}
	.pickUpBox-Two .pickUptextBox .name {
		font-size: 150%;
		font-weight: bold;
		vertical-align: middle;
		margin-left: 1em;
	}

/* pickUp 3box
======================================*/
	.pickUpBox-three{
		padding: 0;
		width: 100%;
		height:auto;
		position:relative;
	}
	.pickUpBox-three:not(:nth-child(1n+1)) {
		margin-right:0;
	}
	.pickUpBox-three:nth-child(n+2) {
		margin-top: 30px;
	}
	.careerDepBox {
		position: absolute;
		right: 0;
		bottom: 0;
		padding: 10px 20px 10px;
		background: rgba(0, 32, 96, 0.5);
		width:180px;
		min-height:50px;
	}
	.careerTitle{
		position: absolute;
		right: 0;
		top: 0;
		padding: 8px;
		background:rgba(227, 119, 3, 0.7);
		width:100px;
		min-height:8px;
	}
	.careerTitle:after{
		content:"キャリア採用";
		color:#fff;
		text-shadow:1px 1px 3px #101229;
		font-size:14px;
	}

	.nameTitle {
		margin: 0;
		color: #fff;
		font-weight:500;
		text-shadow:1px 1px 3px #101229;
		text-decoration: none;
		font-size:14px;
	}
	.pickUpBox-three picture{
		width:100%;
		height:auto;
	}
	.pickUpBox-three picture img{
		width:100%;
	}
	.pickUpBox-three a:hover{
		width:100%;
		opacity:0.6;
		transition: .5s ease-in-out;
	}

	


/*################################################
    table setting
#################################################*/
	table.tbStyle{
		width: 100%;
		border-collapse: collapse;
	}
	table.tbStyle tr{
		border-bottom: solid 2px white;
	}

	table.tbStyle tr:last-child{
		border-bottom: none;
	}

	table.tbStyle th{
		position: relative;
		text-align: left;
		width: 100%;
		background-color: #212dd5;
		color: white;
		padding: 10px;
		display:block;
	}

	table.tbStyle th:after{
		display: none;
	}

	table.tbStyle td{
		text-align: left;
		width: 100%;
		background-color: #eee;
		padding: 10px 20px;
		color:#333;
		display:block;
	}

/*################################################
    .spcifiTbstyle setting
#################################################*/
	table.spcifiTbstyle{
		border-collapse: collapse;
		border-spacing: 0;
		width: 100%;
	}
	table.spcifiTbstyle tr{
		border-bottom: solid 1px #eee;
	}  
	table.spcifiTbstyle tr:hover{
		background-color: #212dd5;
	}  
	table.spcifiTbstyle th{
		text-align: left;
		width: 100%;
		padding: 15px 0;
		display:block;
	}
	table.spcifiTbstyle td{
		text-align:left;
		width:100%;
		padding:15px 0px;
		display:block;
	}

/*################################################
    .tbStyle02 setting
#################################################*/

	table.tbStyle02 {
		border: 0;
		width:100%
	}
	table.tbStyle02 th{
		background-color: #a40710;
		display: block;
		border-right: none;
	}
	table.tbStyle02 thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table.tbStyle02 tr {
		display: block;
		margin-bottom: .625em;
	}

	table.tbStyle02 td {
		border-bottom: 1px solid #bbb;
		display: block;
		font-size: .8em;
		text-align: right;
		position: relative;
		padding: .625em .625em .625em 4em;
		border-right: none;
	}

	table.tbStyle02 td::before {
		content: attr(data-label);
		font-weight: bold;
		position: absolute;
		left: 10px;
	}

	table.tbStyle02 td:last-child {
		border-bottom: 0;
	}

/*################################################
.tbStyle03 setting
#################################################*/

	table.tbStyle03 {
		border: 0;
		width:100%
	}
	table.tbStyle03 th{
		background-color: #212dd5;
		display: block;
		border-right: none;
	}
	table.tbStyle03 thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table.tbStyle03 tr {
		display: block;
		margin-bottom: .625em;
	}

	table.tbStyle03 td {
		border-bottom: 1px solid #bbb;
		display: block;
		font-size: .8em;
		text-align: right;
		position: relative;
		padding: .625em .625em .625em 4em;
		border-right: none;
	}

	table.tbStyle03 td::before {
		content: attr(data-label);
		font-weight: bold;
		position: absolute;
		left: 10px;
	}

	table.tbStyle03 td:last-child {
		border-bottom: 0;
	}


/*################################################
    .firing-testStyle setting
#################################################*/
	table.firing-testStyle tr {
		display: block;
		margin-bottom: 0;
	}
	table.firing-testStyle th {
		background-color: #607290;
		display:block;
		width:100%;
		text-align: center;
	}

	table.firing-testStyle td {
		border-bottom: 1px solid #bbb;
		display: block;
		font-size: .8em;
		text-align: left;
		position: relative;
		padding: .625em .625em .625em 4em;
		border-right: none;
		width:100%;
	}

/*################################################
    .historyList setting
#################################################*/
	dl.historyList.historyList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding:0 0 0 20px;
		height:350px;
		overflow-y: scroll;
	}
	dl.historyList.historyList::-webkit-scrollbar {
		width: 10px;
	}

	dl.historyList.historyList::-webkit-scrollbar-thumb {
		background: linear-gradient(0deg,#43e2c6,#3183d0);
		border-radius: 2px;
	}

	dl.historyList.historyList::-webkit-scrollbar-track {
		background: rgba(100,100,100, .5);
	}
	dl.historyList dt {
		text-align: left;
		width: 8.5em;
		padding: 0.5em 1.0em 0.5em 0.5em;
		position: relative;
		font-size:16px;
		font-weight:700;
	}
	dl.historyList dt::after {
		content: '●';
		position: absolute;
		left: -0.7em;
		top: 8px;
		font-size: 16px;
		color: #212dd5;
	}  
	dl.historyList dd {
		width: 100%;
		padding: 0.5em 1.0em;
		border-left: 2px solid #ccc;
	}
	dl.historyList dd span{
		font-weight: 700;
		font-size:14px;
	}

/*################################################
    .button setting
#################################################*/
	.button {
		display: inline-block;
		width: 150px;
		height: 40px;
		text-align: center;
		text-decoration: none;
		line-height: 40px;
		outline: none;
	}
	span.testBtn{
		margin-left:0;
		margin-top:20px;
		display:block;
	}

/* ========================================================
to topPage btn setting
=========================================================*/
	.toToparrow {
		position: relative;
		display: inline-block;
		padding: 0 0 0 16px;
		color: #000;
		vertical-align: middle;
		text-decoration: none;
	}
	.toToparrow::after, .toToparrow::before {
		position: absolute;
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		vertical-align: middle;
		box-sizing: border-box;
	}
	.arrow_down::before,
	.arrow_up::before {
		top: auto;
		left: auto;
		bottom: 8px;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: rotate(-45deg);
		box-sizing: border-box;
	}
	#js-backtoTop {
		position: fixed;
		bottom: 50px;
		right: 40px;
		z-index: 1000;
		transition: all 1s ease-out;
		transition: bottom 0.2s ease-out;
		opacity: 0;
	}
	#js-backtoTop.fadein {
		opacity: 1;
		transition:0.5s;
	}
	#js-backtoTop.fadeout {
		opacity: 0;
		transition:0.5s;
		}
	#js-backtoTop:hover {
		opacity: 0.8;
		bottom: 34px;
	}
	#js-backtoTop:hover::after {
		box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
		box-sizing: border-box;
	}
	#js-backtoTop::after {
		content: "";
		display: block;
		color: #fff;
		text-align: center;
		width: 30px;
		height: 30px;
		padding: 4px;
		border:1px solid #fff;
		transition: all 0.3s;
		transition: background-color 0.5s ease-out;
		box-sizing: border-box;
	}
	#js-backtoTop .toToparrow {
		top: 40px;
		left: -8px;
	}
	#js-backtoTop .toToparrow::before {
		width: 15px;
		height: 15px;
		z-index: 1;
		box-sizing: border-box;
	}
/*################################################
    title setting
#################################################*/
	h2.subTtl {
		padding: 0.5rem 1rem;
		color: #fff;
		/* background-image: -webkit-gradient(linear, left top, right top, from(#a40710), to(#101229));
		background-image: -webkit-linear-gradient(left, #a40710 0%, #101229 100%);
		background-image: linear-gradient(to right, #a40710 0%, #101229 100%); */
		width:100%;
		margin:40px 0 10px 0;
		font-size:90%;
	}

/*################################################
    footer setting
#################################################*/

	footer{
        width:100%;
        height:auto;
        margin:0;
    }
    footer .contents{
        width:100%;
        margin:0 auto;
        display:flex;
        flex-direction:column;
    }
    footer .contents dl{
        width:94%;
        height:auto;
        margin-bottom:50px;
    }
    footer .contents dl dt{
        font-weight:900;
        margin-left:1em;
        height:30px;
        border-bottom:1px solid #fff;
    }

	dl.h2bDetails{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		width: 100%;
	}
	dl.h2bDetails dt{
		width: 100%;
		margin:0;
		padding:0;
	
	}
	dl.h2bDetails dd{
		width: 100%;
		margin:0;
		padding:0;
	
	}
}