@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 154px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 47.6%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}



/*タイトル
========================================== */
.h2Tit {
	font-size: 4.8rem;
}

.h3Tit {
  font-size: 3.6rem;
	margin-bottom: 40px;
}
.h4Tit {
	font-size: 2.8rem;
	margin-bottom: 20px;
}
.h5Tit {  
	font-size: 2rem;
	margin-bottom: 30px;
}
.h6Tit{
	font-size: 1.8em;
	margin-bottom: 20px;
}

/*
　テキスト
========================================== */
.leadTxt{
  font-size: 1.8rem;
  text-align: center;
 line-height: 2;
}
.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */
.btn{
  font-size: 2.2rem;
 width: 423px;
 height: 84px;
}

.btn.w600{
  width: 600px;
 height: 102px;
}

.btn.w500{
  width: 500px;
 height: 102px;
}

/*-- table --*/
.basicTable dt{
	border-right: 1px dotted var(--blue);
	padding: 20px 2.5%;
	width: 23%;
}
.basicTable dd{
	padding: 20px 2.5%;
	width: 77%;
}
.basicTable dt:last-of-type{
	border-bottom: none;
}
.basicTable dd:last-of-type{
	border-bottom: none;
}


/* =======================================
	header
========================================== */
header {
	width: 100%;
 height: 154px;
 padding: 25px 0 0;
}
header .inner1200{
 position: relative;
}
header #logo{
 font-size: 0;
}
header #logo a{
 display: inline-flex;
 align-items: center;
 gap:0 18px;
}
header #logo img{
 width: 118px;
}
header #logo span{
 font-size: 18px;
}


/* =======================================
	gnavi
========================================== */

.gnavi{
 margin-top: 22px;
}
#gnaviList{
}
#gnaviList li{
}
#gnaviList li.current a,
#gnaviList li a:hover{
  color: #333;
  font-weight: 500;
}
#gnaviList > li >a{
 display: block;
 border-bottom: 2px transparent solid;
 padding-bottom: 7px;
 font-size: min(1.4vw,16px);
 font-weight: 700;
 white-space: nowrap;
}
#gnaviList > li >a:hover{
 border-bottom: 2px #344A90 solid;
 font-weight: 700;
}

.headerLinks{
 position: absolute;
 right: 0;
 top: 0;
 gap:0 15px;
}



/* =======================================
	footer
========================================== */
#pageTop{
	width: 70px;
  height: 70px;

	right: 2vw;
	bottom: 20px;
}




/* =======================================
	main
========================================== */
main{
	margin-top: 0px;
}




/* =======================================
	top
========================================== */
.bgLead{
 padding-top: 154px;
}

/*		#mv
-----------------------------*/
#mv{
 margin-left: calc((100% - 1200px)/2);
  max-height: calc(100vh - 160px);
}
@media screen and (max-width: 1250px) {
#mv{
 margin-left: 2vw;
}
}/*-1400 only-*/


/*		#introduction
-----------------------------*/
#introduction .pcFlex{
 position: relative;
 align-items: center;
}
#introduction .pcFlex::before{
 content: "";
 display: block;
 background: var(--blue);
 width: 66.33%;
 height: 100%;
 position: absolute;
 top: 0;
 right: 0;
 z-index: -1;
}
#introduction .pcFlex figure{
 width: 51.25%;
 max-width: 615px;
}
#introduction .txts{
 position: relative;
 width: 48.75%;
 max-width: 585px;
 padding: 62px 56px 60px 60px;
}

/*		#job
-----------------------------*/
#job{
 padding-left: min(32%,382px);
 padding-right: min(32%,382px);
 padding-bottom: 60px;
}
#job ul{
 position: absolute;
 top: 78px;
 width: min(32%,382px);
}
#job ul:first-of-type{
 left: 0;
}
#job ul:last-of-type{
 right: 0;
}
#job ul:last-of-type li figcaption{
 bottom: 0;
 left: auto;
 right: 0;
}


/*		#work
-----------------------------*/
#work{
 padding-top: 58px;
 padding-bottom: 168px;
}
#work .pcFlex{
 justify-content: space-between;
 align-items: flex-start;
}
#work .pcFlex .txts{
 width: calc(100% - 310px - 44px);
}
#work .txts >li{
 display: flex;
}
#work .txts figure{
 width: 59%;
}
#work .txts div{
 width: 41%;
 padding: 0 0 0 26px;
}
#work .txts h3{
 margin-top: 25px;
 margin-left: -73px;
 padding-left: 73px;
}

/*		#traditionalChallenge
-----------------------------*/
#traditionChallenge ul{
 justify-content: space-between;
}
#traditionChallenge ul li{
 width: 29.5%;
 max-width: 353px;
}

/*		#interview
-----------------------------*/
.interviewHead{
 align-items: flex-start;
}
.interviewHead figure{
 width: 41.7%;
}
.interviewHead .txts{
 width: 58.3%;
 padding-left: 30px;
}
.interviewBox h3::before{
 left: -30px;
}
.interviewHead.flexRowReverse .txts{
 padding-left: 0;
 padding-right: 30px;
}
.interviewHead.flexRowReverse h3::before{
 right: -30px;
}
.interviewBox .half{
 margin-top: 30px;
}
.interviewBox .pcFlex.half >li{
 background: var(--Lblue);
}
.interviewBox .pcFlex.half >li h4{
 background: #fff;
}
.interviewBox .schedule dd{
 justify-content: space-between;
 align-items: flex-end;
 padding-right: 30px;
}
.interviewBox .schedule dd >img{
 width: calc(100% - 130px);
 max-width: 327px;
 height: auto;
}
.interviewBox .schedule dd div{
 position: relative;
 flex:0 0 auto;
}
.interviewBox .schedule .baloon{
 position: absolute;
 right: 0;
 bottom:calc(100% - 5px);
}
/*		#employeeBenefits
-----------------------------*/
#employeeBenefits{
}
.benefitsList{
 gap:0 30px;
}
.benefitsList li{
 width: calc((100% - 30px*2)/3);
}
.support .basicTable dt{
 width: 16%;
 padding: 25px 3.5%;
}
.support .basicTable dd{
 width: 84%;
 padding: 25px 3%;
}

.support ul.flex li p .ltxt{
 display: block;
 transform: translate(-2em, 0);
}

/*		#statistics
-----------------------------*/
#statistics .leadTxt{
 font-size: 20px;
}
#statistics .pcFlex > li{
 width: calc((100% - 26px*2)/3);
}
#statistics .pcFlex > li:nth-of-type(4),
#statistics .pcFlex > li:nth-of-type(5){
 width: calc((100% - 20px)/2);
}
#statistics .pcFlex > li ol:not(.wide) li{
 height: 97px;
}
#statistics .pcFlex > li ol:not(.wide) li:nth-of-type(1){
 height: 133px;
}

/*		#sdgs
-----------------------------*/
#sdgs .ttl {
 align-items: flex-start;
 gap:0 60px;
}
#sdgs .ttl h2{
 width: 474px;
 padding: 0 0 17px 54px;
}
#sdgs .ttl h2::before{
 content: "";
 display: block;
 background: var(--blue);
 width: 504px;
 height: 300px;
 position: absolute;
 right: 0;
 top: -100px;
 z-index: -1;
}

#sdgs .ttl figure{
 width: calc(100% - 60px - 474px);
}
#sdgs ul{
 gap:0 30px;
}
#sdgs ul li{
 width: calc((100% - 30px*2)/3);
}

/*		#message
-----------------------------*/
#message{padding-top: 0;}
#message .pcFlex{
 position: relative;
 gap:0 45px;
 margin-bottom: -177px;
}
@media screen and (max-width: 1000px) {
 #message .pcFlex{
 margin-bottom:-6vw;
}
}/*-1200 only-*/

#message .txts{
 width: 62%;
 min-width: 576px;
 max-width: 743px;
 padding-top: 75px;
}

#message .bgW h3:nth-of-type(1){
 width: 64.2%;
}
#message .bgW p:nth-of-type(1){
 width: 64.2%;
}


/* =======================================
	form
========================================== */
.tb_cont th{
	border-bottom: 1px solid var(--wh);
	padding: 15px 2.5%;
	width: 25%;
}
.tb_cont td{
	border-bottom: 1px solid var(--base);
	padding: 15px 2.5%;
	width: 75%;
}
.tb_cont td input:not([type=checkbox]){
	padding: 8px;
	width: 80%;
}
.tb_cont td textarea{
	padding: 8px;
	width: 80%;
	height: 100px;
}
.tb_cont .hissu{
	padding: 3px 3%;
}
.tb_cont .zip{
	margin-right: 10px;
	width: 20%;
}
.tb_cont .zipBtn{
	font-size: 1.4rem;
	padding: 10px 14px;
}
.tb_cont .w50{
	width: 58%;
}
.tb_cont .fileBtn li{
	width: 33%;
}
.confirm {
  margin-top: 20px;
}

/* =======================================
	thanks
========================================== */

#thanks{
  margin-top: 154px
}

#thanks p{
  font-size: 1.8rem;
}