@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
  color: #000;
  line-height: 1.8; 
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
a {
  color: #000; 
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clickable a, .clickable a:hover {
  
}
.flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.inrContent {width: 80%; max-width: 1200px; margin:0 auto; position: relative;}
img {width: 100%; height: auto;}
.br_spOnly{display:none;}
.br_pcOnly{display:block;}
#home #wrapper{display:block; position: relative; background: url("../img/top/main.png") no-repeat center top; background-size: 100% auto; background-attachment: fixed; overflow: hidden;}
.linkRed{color: #7d001a; text-decoration: underline;}

/*　上に上がる動き　*/
#page-top.UpMove{animation: UpAnime 0.5s forwards; z-index: 99;}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{animation: DownAnime 0.5s forwards; z-index: 99;}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .6 !important; filter: alpha(opacity=60);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .6 !important; filter: alpha(opacity=60);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=60) !important;	opacity: .6 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
	


/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 99; width: 100%; background: rgba(255, 255, 255, 0); min-height: min(6vw, 90px);}
#header.fixed {position: fixed; background: rgba(255, 255, 255, 1);}

#header .headerInner{width:95%; margin: 0 auto;}
#hd-logo p{width: min(18vw, 270px); margin: min(2vw, 30px) 0 0 0;}
.hedBtWrap{align-items: center;}
.hedBtWrap ul {padding: 0.3em 1em 0 1em;}
.hedBtWrap ul li{position: relative; padding: 0 1.2em 0 0.2em; font-size: min( 1.067vw , 1.6rem );}
.hedBtWrap ul li::after{position: absolute; top: 0; right: 0; content: "｜";}
.hedBtWrap ul li:last-child::after{content: "";}
.hedBtWrap ul li a{font-weight: 600;}
.headEntry a{background: linear-gradient(to right, #fdbfb7, #ff6e4a); border-radius: 50px; display: flex; align-items: center; justify-content: center; position: relative; font-size: min( 1.33vw , 2rem ); color: white; font-weight: 500; letter-spacing: 0.02em; padding: 0.3em 2em 0.3em 1em;}
.headEntry a::after {content: '→'; position: absolute; right: 0.8em; background: white; border-radius: 50%; color: #ff6e4a; font-size: min( 0.8vw , 1.2rem ); padding: 0 0.25em;}


}

/* ----------------------------------------------------
メインビジュアル
---------------------------------------------------- */
.mainVis{position:relative; padding: min( 12vw , 180px ) 0; justify-content: center; align-items: center; flex-flow: column; text-align: center;}
.mainVis h2{font-size: min( 4.267vw , 6.4rem ); letter-spacing: 0.2em; font-weight: 600; line-height: 1.3;}
.mainVis h2 .sou{font-size: min( 5.6vw , 8.4rem ); color: #ff6e4a;}
.mainVis h2 .kaku{font-size: min( 5.6vw , 8.4rem ); color: #7d001a;}
.mainVis p{font-size: min( 1.33vw , 2rem ); line-height: 2.2; margin-top: 2em;}

/* ----------------------------------------------------
メイン下写真
---------------------------------------------------- */	
.mainVisPhoto{position:relative; width: 100%; min-height: min( 54vw , 810px );}
.mvp01{position: absolute; top: min( 5.2vw , 78px ); left: -2%;	width: min( 19.333vw , 290px ); animation: float 4s ease-in-out infinite;}
.mvp02{position: absolute; top: min( 10.667vw , 160px ); left: 19.7%;	width: min( 22.2vw , 333px ); animation: float 4s ease-in-out infinite; animation-delay: 1s;}
.mvp03{position: absolute; top: 0; left: 47.3%; width: min( 23.133vw , 347px ); animation: float 4s ease-in-out infinite;}
.mvp04{position: absolute; top: min( 27.2vw , 408px ); left: 50.4%; width: min( 23.133vw , 347px ); animation: float 4s ease-in-out infinite; animation-delay: 0.5s;}
.mvp05{position: absolute; top: min( 16.467vw , 247px ); right: -2%; width: min( 21.067vw , 316px ); animation: float 4s ease-in-out infinite;}

.mvIll01{position: absolute; top: min( 25vw , 375px ); left: min( -3vw , -45px ); z-index: -1;}
.mvIll02{position: absolute; top: min( 12vw , 180px ); right: 0;}

@keyframes float {
  0%   { transform: translateY(0); }
  50%  { transform:translate(-1.5%,5%) }
  100% { transform: translateY(0); }
}

/* ----------------------------------------------------
共通
---------------------------------------------------- */
h3.tpContTitle{font-size: min( 5.33vw , 8rem ); color: #7d001a; line-height: 1.1; font-weight: 300; letter-spacing: 0.05em; margin-bottom: 0.5em;}
h3.tpContTitle span{font-size: min( 1.33vw , 2rem ); color: #a4a4a4; display: block; font-weight: 400; padding-top: 1em;}
h4.tpContCatch{font-size: min( 2.133vw , 3.2rem ); line-height: 1.5; font-weight: 500; margin-bottom: 0.5em;}

/*イラストのあしらい*/
.arch01{width: min( 32.133vw , 482px );}
.arch02{width: min( 16vw , 240px );}
.arch03{width: min( 16vw , 240px );}
.arch04{width: min( 16vw , 240px );}
.arch05{width: min( 16vw , 240px );}
.lineIll{width: min( 17.333vw , 260px );}

.btCt{display: flex; align-items: center; justify-content: center; margin-top: 4em;}
.btCt a{background: linear-gradient(to right, #fdbfb7, #ff6e4a); border-radius: 50px; display: inline-block; position: relative; font-size: min( 1.33vw , 2rem ); color: white; font-weight: 500; letter-spacing: 0.02em; padding: 0.3em 3em 0.3em 2em;}
.btCt a::after {content: '→'; position: absolute; right: 0.8em; top: 50%; transform: translateY(-50%); background: white; border-radius: 50%; color: #ff6e4a; font-size: min( 0.8vw , 1.2rem ); padding: 0 0.25em;}


/* ----------------------------------------------------
about
---------------------------------------------------- */	
#about{position: relative; padding: min( 4vw , 60px ) 0 min( 9.33vw , 60px ) 0;}
.aboutTop {align-items: center; margin-bottom: min( 7.333vw , 110px );}
.aboutTop .aboutImg{width: 56%; position: relative;}
.aboutTop .aboutImg .abP01{width: 73%;}
.aboutTop .aboutImg .abP02{position: absolute; top: 50%; right: 0; width: 60%;}
.aboutTop .aboutRead{width: 43%;}
#about h3{text-align: right; margin-bottom: 0.7em;}
#about aside{width: 50%; margin-left: 50%;}
#about h4{margin-top: 1em;}
#about p{font-size: min( 1.467vw , 2.2rem ); line-height: 2.2;}
.aboutNum {position: relative; padding: min( 5.6vw , 84px ) 0 0 0;}
.aboutNum .lineIll{position: absolute; top: min( 68.667vw , 1030px ); left: 0;}
.aboutNum .arch02{position: absolute; top: 0; left: 55%; z-index: -1;}
.aboutNum .arch03{position: absolute; top: min( 70vw , 1050px ); left: 50%; margin-left: min( 32.667vw , 490px ); z-index: -1;}
.aboutNum .arch03.under{top: inherit!important; bottom: min( -7.333vw , -110px )!important; margin-left: min( 17.33vw , 260px )!important;}
.abCaset01{align-items: flex-start; position: relative;}
.abCaset02{align-items: flex-end; position: relative;}
.abCaset03{align-items: flex-end; position: relative; padding-top: min( 5.6vw , 84px );}
.abP01-read{width: 63%; padding-left: 13%; align-items: flex-end; position: relative;}
.abP01-read .pointIcon{position: absolute; top: min( -4vw , -60px ); left: 0;}
.abP02-read{width: 62%; align-items: flex-end; position: relative; margin-bottom: 8em;}
.abP02-read .pointIcon{position: absolute; top: min( -4vw , -60px ); right: 0;}
.abP03-read{width: 63%; align-items: flex-end; position: relative; margin-top: 14em;}
.abP03-read .pointIcon{position: absolute; top: min( -2.133vw , 32px ); right: min( -4vw , -60px );}
.abpReadIn{flex-grow: 1;}
.abpReadIn h5{margin-bottom: 1em;}
.abpReadIn h5 span{font-size: min( 2vw , 3rem ); font-weight: 600; background-image: linear-gradient(transparent calc(100% - 10px), #96f3ff 0); background-size: 100% 100%; background-repeat: repeat;}
.abpReadIn .counter{font-size: min( 2.133vw , 3.2rem ); line-height: 1;}
.abpReadIn .counter span{color: #7d001a; font-size: min( 10vw , 15rem ); font-weight: 900;}

.abPoint .announ{font-size: min( 0.8vw , 1.2rem ); padding-top: 0.5em; width: 100%;}
.graph{display: block; width: 70%; margin-top: 1.5em;}

.pointIcon{width: min( 7.867vw , 118px );}
.ptTx{width: 100%;}
/*.abCaset02 .ptTx{width: 52%;}
.abCaset03 .ptTx{width: 100%;}*/
.abP01-img{width: 29%;}
.abP02-img{width: 27%;}
.abP03-img{width: 23%;}
.abp02{position: absolute; bottom: min( -4vw , -60px ); left: 49%; width: min( 20.667vw , 310px );}
.abp04{position: absolute; bottom: min( -13.333vw , -200px ); left: 19%; width: min( 18.133vw , 272px );}
.abp05{position: absolute; bottom: min( -13.333vw , -200px ); left: 44%; width: min( 18.133vw , 272px );}
@media (max-width: 1200px) and (min-width: 768px) {
.abp04{bottom: -13vw;}
.abp05{bottom: -13vw;}
}

/* ----------------------------------------------------
MESSAGE
---------------------------------------------------- */	
#topmessage {background-color: #f4f4f4; padding: min(7.333vw, 110px) 0 0 0; position: relative; overflow: hidden;}
.messageInner {display: flex;}
.messageInner .messTx {width: 67%; font-size: min(1.33vw, 2rem);}
.messageInner .messTx h3 {margin-left: 5%;}
.messageInner .messTx .messRead {width: 60%; margin-left: 30%; line-height: 2.2; padding-bottom: min(16.667vw, 250px);}
.messageInner .messTx .messRead p {font-family: "Noto Serif JP", serif; text-align: right; margin-top: 2em; line-height: 1.3;}
.messageInner .messTx .messRead p span {font-size: min(2.133vw, 3.2rem); display: block;}
.messageInner .presidentPhoto {width: 33%;}
.tpM-catch {position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start;}
.tpMc-bg {background-color: #fff; padding: 1.5em 1em 0 1em;}
.tate {writing-mode: vertical-rl; font-family: "Noto Serif JP", serif; font-size: min(4vw, 6rem); line-height: 1.8; white-space: nowrap; padding-left: 1em; font-weight: 600;}
.tpMc-yoko {font-family: "Noto Serif JP", serif; font-size: min(6vw, 9rem); padding-left: 1em; background-color: white; font-weight: 600; margin-top: -0.4em; line-height: 1.3; padding-bottom: 0.2em;}

/* ----------------------------------------------------
求める人物像
---------------------------------------------------- */	
#look-for{text-align: center; margin-top: min( 10vw , 150px );}
.lookCont{position: relative; /*min-height: min(41vw, 615px); */margin-top: min(6vw, 90px);}
.lookCont .inrContent{position: relative; z-index: 3;}
.lookBeenBack{background: url("../img/top/lookforTx.svg") no-repeat 0 0; min-width: min(24.133vw, 362px); min-height: min(20.4vw, 306px); background-size: cover; display: flex; justify-content: center; align-content: center; flex-flow: column; line-height: 1.4;}
.lookBeen01{position: absolute; top: 0; left: 15%;}
.lookBeen02{position: absolute; top: 0; left: 55%;}
.lookBeen03{position: absolute; top: min(18.333vw, 275px); left: 30%;;}
.lookBeenBack p{font-size: min(2vw, 3rem); line-height: 2.5; position: relative; font-weight: 800;}
.lookBeenBack p::after{background-color: #ff6e4a; width: 30%; height: 10px; content: ""; bottom: 0.5em; left: 50%; transform: translateX(-50%); position: absolute; z-index: -1;}
.lookCont .arch03{position: absolute; bottom: min(6vw, 90px); right: 0;}
.lookCont .arch04{position: absolute; bottom: 0; left: 0; z-index: 1;}
.lookCont .lineIll{position: absolute; bottom: min(2.133vw, 32px); left: 14%; z-index: 2;}
.lookCont .lookImg01{position: absolute; bottom: min(8vw, 120px); left: 0; width: min(18.667vw, 280px); z-index: 2;}
.lookCont .lookImg02{position: absolute; bottom: min(1.33vw, 20px); right: 0; width: min(18.667vw, 280px); z-index: 2;}

.lookCont .wIll{width: 36%;}
.lookCont ul{width: 60%;}
.lookCont ul li{text-align: left; margin-bottom: 2em;}
.lookCont ul li:last-child{margin-bottom: 0;}
.lookCont ul li p{font-size: min(1.467vw,2.2rem); font-weight: 600; position: relative; padding-left: min(3.533vw, 53px);}
.lookCont ul li:nth-of-type(1) p::before{position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ""; width: min(3.533vw, 53px); height: min(3.133vw, 47px); background: url("../img/top/wIll01.svg") 0 0 no-repeat;}
.lookCont ul li:nth-of-type(2) p::before{position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ""; width: min(3.533vw, 53px); height: min(2.733vw, 41px); background: url("../img/top/wIll02.svg") 0 0 no-repeat;}
.lookCont ul li:nth-of-type(3) p::before{position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ""; width: min(3.533vw, 53px); height: min(1.933vw, 29px); background: url("../img/top/wIll03.svg") 0 0 no-repeat;}

.lookCont ul li span{display: block; padding-left: 1em; text-indent: -1em; line-height: 1.3; margin-top: 0.8em; position: relative;}
.lookCont ul li span::before{position: absolute; top: 0; left: 0; content: ""; width: min(1.067vw, 16px); height: min(1.533vw, 23px); background: url("../img/top/icon-hinto.svg") 0 0 no-repeat;}



/* ----------------------------------------------------
クロストーク
---------------------------------------------------- */	
#crosstalk{text-align: center; margin-top: min( 10vw , 150px );}
/*.movThumbnail{width: 56%; margin: 0 auto;}*/
.movThumbnailWrap{width: 100%; margin: min(-1.33vw, -20px) auto 0 auto;}
.movThumbnail{width: 30%; margin-top: min(3.333vw, 50px);}
.crstTitle{font-size: min( 1.33vw , 2rem ); line-height: 1.3; font-weight: 600; margin-top: 0.5em;}

.talkMemWrap{margin-top: min( 6vw , 90px );}
.talkMem{width: 32%; display: flex; flex-flow: column; align-items: center;}
.talkMem img{margin-bottom: min(1.33vw, 20px);}
.talkMem span{display: inline; background-color: #ff6e4a; color: white; padding: 0.1em 0.5em;}
.talkMemName{color: #909090; font-size: min(2vw, 3rem);}
.talkRead{/*width: 85%; */margin: 0.5em auto; text-align: center; line-height: 1.4;}

/* ----------------------------------------------------
社員紹介
---------------------------------------------------- */	
#interview{margin-top: min( 10vw , 150px );}
.intWrap {display: grid; grid-template-columns: repeat(6, 1fr); gap: min(3.333vw, 50px); padding-top: min(6vw, 90px);}
.intMem {grid-column: span 2; position: relative;}
.intMem:nth-child(4) {grid-column: 2 / 4;}
.intMem:nth-child(5) {grid-column: 4 / 6;}
.intMem .intNameBox {position: absolute; top: 1em; left: 0;}
.intMem .intNameBox p{color: #909090; font-size: min(2vw, 3rem); line-height: 1.1; margin-bottom: 0.3em;}
.intMem .intNameBox span{display: inline; background-color: #ff6e4a; color: white; padding: 0.1em 0.5em;}
.intMem .intNameBox aside{display: block; color: #ff6e4a; font-size: min( 1.067vw , 1.6rem ); letter-spacing: -0.05em; line-height: 1.3; text-indent: -0.7em; padding-left: 0.7em; margin-top: 0.5em;}

/* ----------------------------------------------------
人勢育成
---------------------------------------------------- */	
#careerpath{text-align: center; margin-top: min( 10vw , 150px );}

/* ----------------------------------------------------
募集要項
---------------------------------------------------- */
#recruitment{background: url("../img/top/recruit.png") no-repeat 0 0; background-size: 100% auto; padding-top: min( 20.33vw , 305px ); margin-top: min( 10vw , 150px );}
.recruitInner{background-color: white; width: 93%; max-width: 1400px; margin: 0 auto; padding-bottom: min(5.33vw, 80px);}
#recruitment h3{text-align: center; padding: min( 6.667vw , 100px ) 0 0 0;}
.recTable{border-top: 1px solid #666666; width: 100%;}
.recTable th{background-color: #EBEBEB; width: 30%; border-bottom: 1px solid #666666; text-align: center; padding: 1em 0.5em; font-weight: 300;}
.recTable td{width: 70%; border-bottom: 1px solid #666666; padding: 1em;}
.recTable li{padding-left:1em; text-indent:-1em;}

.recTable .indent-dd{padding-left:1em; text-indent:-1em;}
.recTable .indent-dd2{padding-left:2em; text-indent:-2em;}

.mark{margin-top: 1em;}
.mark img{width: 25%;}



/* ----------------------------------------------------
よくあるご質問
---------------------------------------------------- */	
#qa{text-align: center; margin-top: min( 10vw , 150px ); position: relative;}
#qa .lineIll{position: absolute; top: min( 44vw , 660px ); right: 6%;}
#qa .arch03{position: absolute; top: min( 6.667vw , 100px ); right: 0; z-index: -1;}
#qa .inrContent .arch03{position: absolute; top: min( 28vw , 420px ); right: 8%; z-index: -1;}
#qa .qaImg01{position: absolute; top: min( 53.3vw , 800px ); right: 5%; width: min(20.533vw,308px);}
.recWrap{width: 65%; text-align: left;}
.recBlock{background-color: #fcede4; border-radius: min(1.33vw,20px); width: 100%; margin-bottom: 2em;}
.recBlock h3 {font-size: min(1.467vw,2.2rem); font-weight: 600; color: #7d001a; position: relative; cursor: pointer; line-height: 1.5; padding: 0.8em 0.5em 0.8em 0;}
.recBlock h3::before {font-size: min(1.467vw,2.2rem); color: white; background-color: #7d001a; position: absolute; left: 0.8em; border-radius: 50%; content: "Q"; width: min(2.333vw,35px); height: min(2.333vw,35px); text-align: center;}
.recBlock h3 span {display: block; position: relative; padding: 0.2em 3em 0.2em 3.2em;}
.recBlock h3 span::before, .recBlock h3 span::after {content: ""; width: min(1vw,15px); height: 1px; background: #7d001a; position: absolute; right: min(0.867vw,13px); top: 45%; transform: translate(50%, -50%); z-index: 2; transition: 0.5s all;}
.recBlock h3 span::after { transform: translate(50%, -50%) rotate(90deg); }
.recBlock h3.active span::after { transform: translate(50%, -50%) rotate(0); }
.recCont {margin-top: 0; display: none; position: relative; padding: 0 3em 0 4em; line-height: 1.5; padding-bottom: 1.5em; letter-spacing: -0.03em;}
.recCont::before {font-size: min(1.467vw,2.2rem); color: #7d001a; border: 1px solid #7d001a; position: absolute; left: 0.8em; border-radius: 50%; content: "A"; width: min(2.333vw,35px); height: min(2.333vw,35px); text-align: center;}
.recCont span{display: block; margin: 0.5em 0;}
.recCont span a{display: inline-block; position: relative; color: #7d001a; padding-right: 1.5em; border-bottom: 1px solid #7d001a;}
.recCont span a::after{position: absolute; top: 53%; transform: translateY(-50%); right: 0; content: ""; background: url("../img/common/iconLink.svg") no-repeat 0 0; width: min(1.333vw,20px); height: min(1vw,15px);}
.recBlockImg{width: 23%;}
.recCont ul li{padding-left: 1em; text-indent: -1em;}

/* ----------------------------------------------------
選考プロセス
---------------------------------------------------- */	
#process{text-align: center; margin-top: min( 10vw , 150px ); position: relative;}
.flowStepWrap{position: relative;}
.flowStepWrap::after{position: absolute; top: 25%; left: 0; width: 90%; height: 1px; background-color: #7d001a; content: "";}
.flowStepSet{position: relative; width: 17%; /* display: flex; align-items: center; justify-content: center;*/}

.flowStepSet p{text-align: left; margin-top: 1em; line-height: 1.6; font-size: min( 1.067vw , 1.6rem );}
.flowStepSet span{color: #7d001a; font-size: min( 1.467vw , 2.2rem ); font-weight: 600; display: block;}

.stepNum{position: relative; border: 1px solid #7d001a; border-radius: 50%; width: min(10vw, 150px); height: min(10vw, 150px); color: #7d001a; font-size: min( 3.333vw , 5rem ); background-color: white; display: flex; align-items: center; justify-content: center; z-index: 2;}
.stepNum::before{position: absolute; left: -0.5em; top: 50%; transform: translateY(-50%); content: "STEP"; background-color: white; border-radius: 50%; text-decoration: underline; padding: 0.2em 0; font-size: min( 1.067vw , 1.6rem );}


/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {position: relative; z-index: 2; margin-top: min(10.667vw, 160px); background-color: #7d001a; text-align: center; padding: min(3.33vw, 50px) 0 0 0;}
.ftInner{background-color: white; width: 60%; max-width: 880px; margin: 0 auto min(3.33vw, 50px) auto; padding: 2em 0; border-radius: min(3.33vw, 50px);}
.ftInner h3{font-size: min( 1.733vw , 2.6rem );}
.ftInner .btCt{margin-top: 1em;}
.ftInner .btCt a{width: 40%;}
.ftCopyright{font-size: min( 1.067vw , 1.6rem ); background-color: white; padding: 0.5em 0;}
#page-top a{width:min( 4.667vw , 70px ); transition:all 0.3s; z-index: 99;}
/*リンクを右下に固定*/
#page-top {position: fixed; right: 2%; z-index: 99; opacity: 0; transform: translateY(100px); width:min( 4.667vw , 70px );}

/* ----------------------------------------------------
社員詳細ページ
---------------------------------------------------- */	
#intPage .intMainVis{background: url("../img/interview/mainBack.png"), linear-gradient(0deg, rgba(255, 153, 128, 0.2) 0%, rgba(254, 192, 184, 0.1) 60%, rgba(255, 255, 255, 1) 100%); background-position: center top; background-size: cover; padding: min( 6.6vw , 100px ) 0; position: relative;}
#intPage .intMainImg{width: 93%; max-width: 1400px; margin: 0 auto min( 8.667vw , 130px ) auto; position: relative;}
#intPage .intP-nameBox{position: absolute; top: min( 39vw , 585px ); left: 5%;}
#intPage .intP-nameBox .empName-e{font-size: min(2.4vw, 3.6rem); line-height: 1.1; margin: 0.3em 0 0.1em 0; text-align: left;}
#intPage .intP-nameBox .empName-j{font-size: min(1.6vw, 2.4rem); line-height: 1.1; margin-bottom: 1em; text-align: left;}
#intPage .intP-nameBox .empBase{margin-bottom: 0.1em; text-align: left;}
#intPage .intP-nameBox span{display: inline-block; background-color: #ff6e4a; color: white; padding: 0.1em 0.5em;}
#intPage .intP-nameBox aside{display: block; color: #ff6e4a; font-size: min( 1.067vw , 1.6rem );}
#intPage .intMainVis h2{text-align: center; font-size: min(2.667vw, 4rem); margin-bottom: 0.5em;}
#intPage .intMainVis p.mainRead{text-align: center; line-height: 2.2;}
#intPage .intMainImg .lineIll{position: absolute; right: 0; bottom: -6vw;}
#intPage .intMainVis .arch05{position: absolute; bottom: -5vw; left: 0;}
#intPage .intCt{position: relative;}
#intPage .intCt h3{font-size: min(2.2vw, 3.3rem); font-weight: 600; margin-bottom: 1em;}
#intPage .intCt .intRead{line-height: 2.2;}
#intPage .intCaset01{padding: min(15.33vw, 230px) 0 min(10vw, 150px) 0;}
#intPage .intCaset01 h3,#intPage .intCaset01 .intRead{width: 60%;}
#intPage .intCaset01 .casImg01{position: absolute; top: min( 6.6vw , 100px ); left: 55%; margin-left: min(13.333vw, 200px); width: /*min(25.667vw, 385px)*/30%;}
#intPage .intCaset01 .arch04{position: absolute; top: 35vw; right: 0; z-index: -1;}
#intPage .intCaset02.flex{flex-flow: column;}
#intPage .intCaset02{/*background-color: #f5f5f5; */position: relative; padding: min(10vw, 150px) 0 min( 6.6vw , 100px ) 0;}
#intPage .intCaset02 .inrContent .inC02-inner{background-color: #fff; width: 69%; margin-left: 31%; padding: min(5.333vw, 80px) min(4.333vw, 65px) min(5.333vw, 80px) min(11.33vw, 170px);}
#intPage .intCaset02 .casImg02{position: absolute; top: min( -4.333vw, -65px ); left: 0; z-index: 1; width: min( 30.667vw , 460px );}
#intPage .intCaset02 .lineIll{position: absolute; left: min(10vw, 150px); top: min( 18.667vw , 280px ); z-index: 1;}
#intPage .intCaset03{position: relative; padding: min( 6.6vw , 100px ) 0;}
#intPage .intCaset03 .inrContent{width: 45%; max-width: 680px;}
#intPage .intCaset03 h3,#intPage .intCaset03 .intRead{text-align: center;}
#intPage .intCaset03 .arch01{position: absolute; bottom: 0; right: 0;}

#intPage .challengeWrap{position: relative; background: linear-gradient(180deg,rgba(245, 245, 245, 1) 0%, rgba(245, 245, 245, 1) 75%, rgba(255, 255, 255, 1) 75%, rgba(255, 255, 255, 1) 100%); padding: min(5.333vw, 80px) 0;}
#intPage .challengeWrap::after{position: absolute; top: min( 3.667vw , 55px ); left: 48%; content: "Challenge"; font-family: "Noto Serif JP", serif; font-size: min( 10vw , 15rem ); color: #e4e4e4; line-height: 1;}
#intPage .chgTx{width: 39%;}
#intPage .chgTx h5{color: #7d001a; font-weight: 600; font-size: min( 1.33vw , 2rem ); border-bottom: 1px solid #bcbcbc; padding-bottom: 0.3em; margin-bottom: 1em;}
#intPage .chgP{width: 41%; padding-top: min(13.33vw, 200px);}
#intPage .chgT{width: 5%; writing-mode: vertical-rl; font-size: min( 2.2vw , 3.3rem ); padding-top: min(13.33vw, 200px);}
#intPage .schedule,#intPage .careerstep{padding-top: min( 20.33vw , 305px ); margin-top: min( 10vw , 150px );}
#intPage .schedule.emp05{background: url("../img/interview/05/sc-crBack.png") no-repeat 0 0; background-size: 100% auto;}
#intPage .schedule.emp02{background: url("../img/interview/02/sc-crBack.png") no-repeat 0 0; background-size: 100% auto;}
#intPage .schedule.emp03{background: url("../img/interview/03/sc-crBack.png") no-repeat 0 0; background-size: 100% auto;}
#intPage .careerstep.emp01{background: url("../img/interview/01/sc-crBack.png") no-repeat 0 0; background-size: 100% auto;}
#intPage .careerstep.emp04{background: url("../img/interview/04/sc-crBack.png") no-repeat 0 0; background-size: 100% auto;}

#intPage .schedInner,#intPage .carstpInner{background-color: white; width: 93%; max-width: 1400px; margin: 0 auto; padding-bottom: min(5.33vw, 80px);}
#intPage .schedInner h3,#intPage .carstpInner h3{text-align: center; padding: min( 6.667vw , 100px ) 0 0 0;}
.centerLine{position: relative; padding: min(3.33vw, 50px) 0;}
.centerLine::after{position: absolute; width: 1px; height: 100%; top: 0; left: 50%; transform: translateX(-50%); content: ""; background-color: #989898;}

.timeRight{padding-left: 50%; position: relative;}
.timeRight::before{position: absolute; top: 0; left: 50%; transform: translateX(-50%); content: "●"; font-size: min( 1vw , 1.5rem ); color: #989898;}
.timeRight::after{position: absolute; top: 0.8em; left: 50%; content: ""; background-image: repeating-linear-gradient(90deg, #989898, #989898 3px, transparent 3px, transparent 6px); background-position: left top; background-repeat: repeat-x; width: min(10vw, 150px); height: 1px;}
.timeRIn{padding-left: min(10vw, 150px);}
.timeLIn{padding: 0 min(10vw, 150px);}

.timeLeft{position: relative; padding-right: 50%;}
.timeLeft::before{position: absolute; top: 0; left: 50%; transform: translateX(-50%); content: "●"; font-size: min( 1vw , 1.5rem ); color: #989898;}
.timeLeft::after{position: absolute; top: 0.8em; right: 50%; content: ""; background-image: repeating-linear-gradient(90deg, #989898, #989898 3px, transparent 3px, transparent 6px); background-position: left top; background-repeat: repeat-x; width: min(10vw, 150px); height: 1px;}
.timeLIn{padding-right: min(10vw, 150px);}

.timeRIn img,.timeLIn img{width: min(18.667vw, 280px); margin-top: 0.8em; padding-left: min(2vw, 30px);}

.time{position: relative; font-size: min(1.33vw, 2rem); font-weight: 700; padding-left: min(2vw, 30px); margin-bottom: 0.3em; color: #7d001a;}
.time::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; width: min(1.533vw, 20px); height: min(1.667vw, 25px); background: url("../img/interview/icon-time.svg") no-repeat 0 0;}
.schTx{padding-left: min(2vw, 30px); line-height: 1.3;}
.schTx span{display: block; font-weight: 700;}
.careerLeft{position: relative; padding-right: 50%;}
.careerLeft::before{position: absolute; top: 3em; left: 50%; transform: translateX(-50%); content: "●"; font-size: min( 1vw , 1.5rem ); color: #989898;}
.careerLeft::after{position: absolute; top: 3.1em; right: 50%; content: ""; background-image: repeating-linear-gradient(90deg, #989898, #989898 3px, transparent 3px, transparent 6px); background-position: left top; background-repeat: repeat-x; width: min(5vw, 75px); height: 1px;}
.careerLIn{padding-right: min(5.667vw, 85px); align-items: center;}
.careerRight{padding-left: 50%; position: relative;}
.careerRight::before{position: absolute; top: 3em; left: 50%; transform: translateX(-50%); content: "●"; font-size: min( 1vw , 1.5rem ); color: #989898;}
.careerRight::after{position: absolute; top: 3.1em; left: 50%; content: ""; background-image: repeating-linear-gradient(90deg, #989898, #989898 3px, transparent 3px, transparent 6px); background-position: left top; background-repeat: repeat-x; width: min(5vw, 75px); height: 1px;}

@media (max-width: 1400px) and (min-width: 1200px) {
.careerLeft::after,.careerRight::after{top: 2.7em;}
}

.careerRIn{padding-left: min(5.667vw, 85px); /*align-items: center;*/}
.careerYear{position: relative; font-size: min(2.667vw, 4rem); border: 1px solid #7d001a; border-radius: 50%; width: min(6vw, 90px); height: min(6vw, 90px); color: #7d001a; display: flex; align-items: center; justify-content: center; z-index: 2;}
.careerYear::before{position: absolute; right: -1em; top: 50%; content: "年目"; background-color: white; border-radius: 50%; padding: 0.2em 0 0.4em 0; line-height: 1; font-size: min( 1.2vw , 1.8rem );}

.careerBeforeYear{position: relative; font-size: min(2.667vw, 4rem); border: 1px solid #7d001a; border-radius: 50%; width: min(6vw, 90px); height: min(6vw, 90px); color: #7d001a; display: flex; align-items: center; justify-content: center; z-index: 2;}
.careerBeforeYear::before{position: absolute; right: -1em; top: 50%; content: "社前"; background-color: white; border-radius: 50%; padding: 0.2em 0 0.4em 0; line-height: 1; font-size: min( 1.2vw , 1.8rem );}


.carTx{padding: min(2.667vw, 40px)/*min(1vw, 15px)*/ min(6.667vw, 100px) 0 min(2.667vw, 40px); flex: 1;;}
.carTx p{color: #7d001a; font-size: min(1.467vw, 2.2rem);}
.carTx img{width: 70%; margin-top: 0.8em;}
.carTx span{display: block;}
.negativeM1{margin-top: -1em;}
.negativeM2{margin-top: -2em;}
.negativeM3{margin-top: -3em;}
.negativeM4{margin-top: -4em;}
.negativeM5{margin-top: -5em;}
.margin1{margin-top: 1em;}
.margin2{margin-top: 2em;}
.margin3{margin-top: 3em;}
.margin4{margin-top: 4em;}
.margin5{margin-top: 5em;}
.empLocalNav{margin-top: min(10vw, 150px);}
.empLocalNav h3{text-align: center; font-size: min( 2.667vw , 4rem );}
.empLocalNav ul{margin-top: min(3.33vw, 50px);}
.empLocalNav ul li{width: 17%; background: linear-gradient(0deg,rgba(245, 245, 245, 1) 0%, rgba(245, 245, 245, 1) 80%, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 1) 100%); position: relative;}
.empLocalNav ul li span{position: absolute; writing-mode: vertical-rl; font-size: min( 1.067vw , 1.6rem ); top: 0; right: 0;}




@media (max-width: 1500px) {
.hedBtWrap ul li{font-size: min( 1.067vw , 1.6rem );}
}
	
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {

ul{margin-bottom:0!important;}

}
@media (max-width: 1024px) and (min-width: 768px) {
@media (orientation: landscape) {

}
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {
.inrContent {width: 90%; padding-bottom: 12vw;}
.br_spOnly{display:block;}
.br_pcOnly{display:none;}
.order1{order:1;}
.order2{order:2;}
	
#wrapper{background-size: 150% auto;}

	
/*ハンバーガー*/
#btnGlobal {position: fixed; right: 3.5%; top: min(3vw,20px); z-index: 120;display: flex; display: -webkit-flex; flex-wrap: wrap; flex-direction: column; justify-content: center; border: 1px solid #333; border-radius: 2vw; width: min(12vw,90px); aspect-ratio: 1/1; background: #fff;}
#btnGlobal .btnWrapGlobal {	position: relative;	width: min(4vw,28px);	height: min(3.2vw,27px); margin: 0 auto min(1vw,10px);}
#btnGlobal .btnLine { height: 1px; background: #333; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {top: 0;}
#btnGlobal .btnLine.btnLineM {top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB {bottom: 0; }
#btnGlobal .btnGlobal__txt {font-size:min(3vw,24px); line-height: 1.2; width: 100%; text-align: center;}

#btnGlobal.active {border-color: #fff; background: #7d001a; }
#btnGlobal.active .btnGlobal__txt {color: #fff;}
#btnGlobal.active .btnLine {background: #fff;}
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}	
	
#grandMenu {background: #7d001a; width: 100%; height: 100%; position: fixed; z-index: 100!important;  left: 0; top: 0; display: none; overflow: auto; padding: 20vw 8%;}
#grandMenu a {color: #fff;}
#grandMenu #navGlobal {position: relative; right: inherit; display: block; height: 100%;}
#grandMenu #navGlobal > li {border-bottom: 1px dashed #fff; line-height: 1; margin: 0 auto;}
#grandMenu #navGlobal > li a {display: block; position: relative; margin-right:0; font-size: min(4vw,20px); font-weight: 600; padding: 4.5vw 0 4.5vw 1.5em;}
#grandMenu #navGlobal > li a::before {content: ""; width: 1em; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#header .headInner ul li:last-child a{margin-right:0;}
#grandMenu #navGlobal li a::after {content:""; position: absolute;  top: 50%; border-top:2px solid #fff; border-right: 2px solid #fff; transform:  rotate(45deg) translateX(-50%); transition: all 0.3s  ease; right: 2vw; width: 2vw; height: 2vw;}

/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 100; width: 100%; background: rgba(255, 255, 255, 0);height: min(18vw,130px);}
#header.fixed {position: fixed; background: rgba(255, 255, 255, 1);}
.headerInner{width:93%; margin: 3vw auto; justify-content: flex-start; }
#hd-logo{width: 46%; margin: 2.5vw 0 0 0;}
#hd-logo p{width: 100%; margin: 0;}
	
.headEntry a{background: linear-gradient(to right, #fdbfb7, #ff6e4a); border-radius: 50px; display: flex; align-items: center; justify-content: center; position: absolute; top: 5vw; right:18vw; font-size: 3.2vw; color: white; font-weight: 500; letter-spacing: 0.02em; padding: 0.3em 3em 0.3em 1em;}
.headEntry a::after {content: '→'; position: absolute; right: 0.8em; background: white; border-radius: 50%; color: #ff6e4a; font-size: 2.8vw; padding: 0 0.25em;}	

/* ----------------------------------------------------
メインビジュアル
---------------------------------------------------- */
.mainVis{padding: 25vw 0 10vw 0;}
.mainVis h2{font-size: 7vw}
.mainVis h2 .sou{font-size: 9vw;}
.mainVis h2 .kaku{font-size: 9vw;}
.mainVis p{font-size: 3.5vw;}


/* ----------------------------------------------------
共通
---------------------------------------------------- */
h3.tpContTitle{font-size: 7.5vw;}
h3.tpContTitle span{font-size: 3.5vw;}
h4.tpContCatch{font-size: 4.4vw;}

/*イラストのあしらい*/
.arch01{width: min( 32.133vw , 482px );}
.arch02{width: min( 16vw , 240px );}
.arch03{width: min( 16vw , 240px );}
.arch04{width: min( 16vw , 240px );}
.lineIll{width: min( 17.333vw , 260px );}

.btCt{margin-top: 3em;}
.btCt a{font-size: 3.4vw;}
.btCt a::after {font-size: 2.8vw;}	
	
/* ----------------------------------------------------
about
---------------------------------------------------- */	
#about{padding: 8vw 0;}
.aboutTop {align-items: center; margin-bottom: min( 7.333vw , 110px );}
.aboutTop .aboutImg{width: 100%; position: relative;}
.aboutTop .aboutImg .abP01{width: 100%;}
.aboutTop .aboutImg .abP02{top: 45%; width: 50%;}
.aboutTop .aboutRead{width: 100%;}
#about h3{text-align: center; margin-bottom: 0.7em;}
#about .spClum{display: flex; flex-flow: column; justify-content: center;}
#about aside{width: 40%; margin: 0 auto;}
#about h4{margin-bottom: 1em; width: 100%}
#about p{font-size: 3.7vw;}
.abPoint{margin-bottom: 3em;}
.aboutNum {position: relative; padding: min( 5.6vw , 84px ) 0 0 0;}
.aboutNum .lineIll{position: absolute; top: min( 68.667vw , 1030px ); left: 0;}
.aboutNum .arch02{position: absolute; top: 0; left: 55%; z-index: -1;}
.aboutNum .arch03{position: absolute; top: 130vw; left: 50%; margin-left: min( 32.667vw , 490px ); z-index: -1;}
.aboutNum .arch03.under{top: inherit!important; bottom: min( -7.333vw , -110px )!important; margin-left: min( 17.33vw , 260px )!important;}
.abCaset01{align-items: flex-start; position: relative;}
.abCaset02{align-items: flex-end; position: relative;}
.abCaset03{align-items: flex-end; position: relative; padding-top: min( 5.6vw , 84px ); margin-bottom: -1em;}
.abP01-read{width: 68%; padding-left: 0%; align-items: flex-start; position: relative;}
.abP01-read .pointIcon{position: absolute; top: 0; left: 0;}
.abP02-read{width: 68%; align-items: flex-end; position: relative; margin-bottom: 0;}
.abP02-read .pointIcon{top: 0;}
.abP03-read{width: 70%; align-items: flex-end; position: relative; margin-top: 4em;}
.abP03-read .pointIcon{top: 0; right: inherit;}
.abpReadIn{display: flex; align-items: flex-end; margin-bottom: 1em; margin-top: 15vw; flex-wrap: wrap;}
.abpReadIn h5{margin-bottom: 0; margin-right: 1em;}
.abpReadIn h5 span{font-size: 4.2vw;}
.abpReadIn .counter{font-size: 3.4vw;}
.abpReadIn .counter span{font-size: 10vw;}
.abPoint .announ{font-size: 2.8vw; width: 100%; margin-top: 0.5em;/* order: 3; */}
.pointIcon{width: 30%;}
.ptTx{width: 100%;}
.abCaset02 .ptTx{width: 100%;}
.abP01-img{width: 25%;}
.abP02-img{width: 27%;}
.abP03-img{width: 23%;}
.abp02{bottom: 0; left: 72%; width: 25vw;}
.abp04{bottom:-28vw; left: 60vw;}
.abp05{bottom:-28vw; left: 40vw;}
	.graph{width: 100%;}
	
/* ----------------------------------------------------
MESSAGE
---------------------------------------------------- */	
#topmessage {padding: min(7.333vw, 110px) 0 0 0; position: relative; overflow: hidden;}
.messageInner {display: flex;}
.messageInner .messTx {width: 100%; font-size: 3.4vw;}
.messageInner .messTx h3 {margin-left: 5%;}
.messageInner .messTx .messRead {width: 90%; margin: 0 auto; padding-bottom: 10vw;}
.messageInner .messTx .messRead p {font-family: "Noto Serif JP", serif; text-align: right; margin-top: 2em; line-height: 1.3;}
.messageInner .messTx .messRead p span {font-size: 4.8vw;}
.messageInner .presidentPhoto {width: 100%;}
.tpMc-bg {padding: 1.5em 1em 0 0.2em;}
.tate {font-size: 6vw; padding-left: 0.5em;}
.tpMc-yoko {font-size: 9vw; padding-left: 0.5em; padding-bottom: 0.2em;}	
	
/* ----------------------------------------------------
求める人物像
---------------------------------------------------- */	
#look-for{margin-top: 10vw;}
.lookCont{position: relative; /*min-height: 42vw; */margin-top: 10vw;}
.lookCont .inrContent{position: relative; z-index: 3;}
.lookBeenBack{min-width: 59vw; min-height: 50.333vw; background-size: auto 100%; background-position: center;}
.lookBeen01{position: relative; top: inherit; left: inherit;}
.lookBeen02{position: relative; top: inherit; left: inherit;}
.lookBeen03{position: relative; top: inherit; left: inherit;}
.lookBeenBack p{font-size: 4.2vw; line-height: 2.5;}
.lookCont .arch03{bottom: 15vw; right: 0;}
.lookCont .arch04{bottom: 0; left: 0; z-index: 1;}
.lookCont .lineIll{bottom: inherit; left: 7%; top: 35vw}
.lookCont .lookImg01{bottom: inherit; left: 0; top: 0; width: 28vw;}
.lookCont .lookImg02{bottom: 0; right: 0; width: 32vw; z-index: 2;}	

.lookCont .inrContent{flex-flow: column;}
.lookCont .wIll{width: 70%; margin: 0 auto;}
.lookCont ul{width: 100%; margin-top: 2em;}

.lookCont ul li p{font-size: 4.2vw; padding-left: 6.901vw;}
.lookCont ul li:nth-of-type(1) p::before{width: 6.901vw; height: 6.12vw;}
.lookCont ul li:nth-of-type(2) p::before{width: 6.901vw; height: 5.339vw;}
.lookCont ul li:nth-of-type(3) p::before{width: 6.901vw; height: 3.776vw;}
	
.lookCont ul li span::before{width: 2.604vw; height: 3.646vw; }
	
/* ----------------------------------------------------
クロストーク
---------------------------------------------------- */	
#crosstalk{margin-top: 20vw;}
	
.movThumbnailWrap{width: 100%; margin: -3vw auto 0 auto;}
.movThumbnail{width: 47%; margin-top: 6vw;}
.crstTitle{font-size: 3.2vw;}	
	
/*.movThumbnail{width: 85%; margin: 0 auto;}*/
.talkMemWrap{margin-top: 6vw;}
.talkMem{width: 100%; display: flex; flex-flow:wrap; align-items: center; justify-content: space-between;}
.talkMem img{margin-bottom: min(1.33vw, 20px); width: 50%;}
.talkMem div{width: 45%; text-align: left;}
.talkMem span{display: inline; background-color: #ff6e4a; color: white; padding: 0.1em 0.5em;}
.talkMemName{font-size: 3.6vw;}
.talkRead{width: 100%; margin: 0.5em auto; text-align: left; line-height: 1.4;}	
	
/* ----------------------------------------------------
社員紹介
---------------------------------------------------- */	
#interview{margin-top: 10vw;}
.intWrap {display: flex; padding-top: 6vw;}
.intMem {width: 45%; margin-bottom: 3em;}
.intMem a{position: relative;}
.intMem .intNameBox {position: absolute; top: 8vw; left: 0;}
.intMem .intNameBox p{font-size: 4.2vw; background-color: white; padding: 0.1em;}
.intMem .intNameBox aside{font-size: 2.8vw;}

/* ----------------------------------------------------
人勢育成
---------------------------------------------------- */	
#careerpath{margin-top: 10vw;}

/* ----------------------------------------------------
募集要項
---------------------------------------------------- */
#recruitment{padding-top: 20vw; margin-top: 10vw;}
.recruitInner{padding-bottom: 4vw;}
#recruitment .inrContent{padding-bottom: 4vw;}
.mark img{width: 45%;}
	
/* ----------------------------------------------------
よくあるご質問
---------------------------------------------------- */	
#qa{margin-top: 10vw;}
#qa .lineIll{display: none;}
#qa .arch03{display: none;}
#qa .qaImg01{display: none}
.recWrap{width: 100%;}
.recBlock{border-radius: 2.66vw;}
.recBlock h3 {font-size: 3.5vw;}
.recBlock h3::before {font-size: 3.5vw; width: 6vw; height: 6vw;}
.recBlock h3 span::before, .recBlock h3 span::after {width: 3vw; right: 3vw; top: 45%;}
.recCont::before {font-size: 3.5vw; width: 6vw; height: 6vw;}
.recCont span{display: block; margin-top: 0.5em;}
.recCont span a{padding-right: 2em;}
.recCont span a::after{width: 4.33vw; height: 3vw;}
.recBlockImg{width: 0; display: none;}
	
/* ----------------------------------------------------
選考プロセス
---------------------------------------------------- */	
#process{margin-top: 10vw;}
.flowStepWrap{position: relative;}
.flowStepWrap::after{position: absolute; top: 1vw; left: 9%; width: 1px; height: 90%; background-color: #7d001a; content: "";}
.flowStepSet{width: 100%; display: flex; justify-content: space-between; margin-bottom: 2em;}
.flowStepSet p{font-size: 3.2vw; width: 76%; margin-top: 0;}
.flowStepSet span{font-size: 3.6vw;}

.stepNum{width: 17vw; height: 17vw; font-size: 5vw;}
.stepNum::before{padding: 0.2em 0; font-size: 2.4vw;}	
	
/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {margin-top: 12vw; padding: 6.6vw 0 0 0;}
.ftInner{width: 80%; margin: 0 auto 6vw auto; border-radius: min(3.33vw, 50px);}
.ftInner h3{font-size: 3.8vw;}
.ftInner .btCt a{width: 40%;}
.ftCopyright{font-size: 2.8vw;}
#page-top a{width:min( 4.667vw , 70px ); transition:all 0.3s; z-index: 99;}
/*リンクを右下に固定*/
#page-top {position: fixed; right: 2%; z-index: 99; opacity: 0; transform: translateY(100px); width:min( 4.667vw , 70px );}
#page-top a{width:12.5vw; z-index: 99;}
/*リンクを右下に固定*/
#page-top {width:12.5vw; z-index: 99;}

	
/* ----------------------------------------------------
社員詳細ページ
---------------------------------------------------- */	
#intPage .intMainVis{padding: 17vw 0 3vw 0;/*padding: 17vw 0 12vw 0;*/}
#intPage .intMainImg{margin: 0 auto 22vw auto;}
#intPage .intP-nameBox{top: 38vw; left: 0;}
#intPage .intP-nameBox .empName-e{font-size: 5.2vw; margin: 0.3em 0 0.1em 0;}
#intPage .intP-nameBox .empName-j{font-size: 3.6vw;}
#intPage .intP-nameBox .empBase{margin-bottom: 0.1em; line-height: 1;}
#intPage .intP-nameBox span{display: inline-block; margin-top: 0.3em;}
#intPage .intP-nameBox aside{font-size: 2.8vw; display: inline; padding-right: 0.5em;}
#intPage .intMainVis h2{font-size: 5.6vw; margin: 0.5em 3%; line-height: 1.4; text-align: left;}
#intPage .intMainVis p.mainRead{text-align: left; line-height: 1.8; width: 90%; margin: 0 auto;}
#intPage .intCt h3{font-size: 4.4vw;}
#intPage .intCt .intRead{line-height: 1.8;}
#intPage .intCaset01{padding: min(15.33vw, 230px) 0 0 0;/*padding: min(15.33vw, 230px) 0 min(10vw, 150px) 0;*/}
#intPage .intCaset01 h3,#intPage .intCaset01 .intRead{width: 100%;}
#intPage .intCaset01 .casImg01{position: relative; top: inherit; left: inherit; margin-left: 0; width: 100%; height: 60vw;}
#intPage .intCaset01 .casImg01 img{width: 100%; height: 100%; object-fit: cover; object-position: top center;}
#intPage .intCaset01 .arch04{display: none;;}
#intPage .intCaset02{padding: 0 0 10vw 0;}
#intPage .intCaset02 .inrContent{margin-bottom: 0; padding-bottom: 0; margin-top: -3em;}
#intPage .intCaset02 .inrContent .inC02-inner{width: 100%; margin-left: 0; padding: 10vw 6vw;}
#intPage .intCaset02 .casImg02{position: relative; top: inherit; left: inherit; z-index: 1; width: 100%; margin-top: 3em;}
#intPage .intCaset02 .lineIll{/*left: inherit; top: 75vw; right: 0;*/display:none;}
#intPage .intCaset03{position: relative; padding: 12vw 0 0 0;}
#intPage .intCaset03 .inrContent{width: 80%; max-width: inherit;}
#intPage .intCaset03 .intRead{text-align: left;}
#intPage .intCaset03 .arch01{position: absolute; bottom: 0; right: 0;}
#intPage .challengeWrap .inrContent{padding-bottom: 0;}
#intPage .challengeWrap{position: relative; background: linear-gradient(180deg,rgba(245, 245, 245, 1) 0%, rgba(245, 245, 245, 1) 100%); padding: 8vw 0; margin-top: 5vw;}
#intPage .challengeWrap::after{top: 3vw; left: 0; font-size: 15vw;}
#intPage .chgTx{width: 100%;}
#intPage .chgTx h5{font-size: 3.6vw; margin-top: 1em;}
#intPage .chgP{width: 100%; padding-top: 13vw;}
#intPage .chgT{width: 5%; writing-mode: vertical-rl; font-size: 4.8vw; line-height: 1.3; padding-top: 6vw;}
#intPage .schedule,#intPage .careerstep{padding-top: 20vw; margin-top: 10vw;}
#intPage .schedInner,#intPage .carstpInner{padding-bottom: 5.3vw;}
#intPage .schedInner h3,#intPage .carstpInner h3{padding: 6.6vw 0 0 0;}
.centerLine{padding: 3.5vw 0;}
.centerLine::after{left: 10%; transform: 0;}
.timeRight{padding-left: 0;}
.timeRight::before,
.timeLeft::before{left: 10%; transform: 0; font-size: 2.7vw;}
.timeRight::after,
.timeLeft::after{width: 7vw; left: 10%; transform: 0;}
.timeLeft{padding-right: 0;}
.timeRIn{padding-left: 10%;}
.timeLIn{padding-right: 10%;}
.time{font-size: 3.6vw; padding-left: 14vw; margin-bottom: 0;}
.time::before{left: 10%; width: 3.636vw; height: 4.545vw;}
.schTx{padding-left: 14vw; margin-bottom: 1em;}
	
.timeRIn img, .timeLIn img{padding-left: 14vw; width: 60%; margin: 0.2em 0 1em 0;}
	
.careerLeft{padding-right: 0; margin-bottom: 1.5em;}
.careerLeft::before,
.careerRight::before{top: 1em; left: 10%; transform: 0; font-size: 2.7vw;}
.careerLeft::after,
.careerRight::after{top: 1.5em; right: inherit; left: 10%; width: 7vw;}
.careerLIn{padding-right: 0;}
.careerRight{padding-left: 0; margin-bottom: 1.5em;}
.careerRIn{padding-left: 20%;}
	
.careerYear,.careerBeforeYear{position: relative; font-size: 4.6vw; width: 12vw; height: 12vw;}
.careerYear::before,.careerBeforeYear::before{font-size: 3.0vw;}
.carTx{padding: 2vw 5vw 0 8vw; flex: 1; line-height: 1.3;}
.carTx p{font-size: 3.6vw; line-height: 1.3;}

.negativeM1,
.negativeM2,
.negativeM3,
.negativeM4,
.negativeM5,
.margin1,
.margin2,
.margin3,
.margin4,
.margin5{margin-top: 0;}

	
.empLocalNav{margin-top: 10vw;}
.empLocalNav h3{text-align: center; font-size: 4vw;}
.empLocalNav ul{margin-top: 5vw; gap: 16px; justify-content: flex-start;}
.empLocalNav ul li{width: 30%;}
.empLocalNav ul li span{font-size: 2.8vw; right: -0.5em;}	
	
	

}


