@charset "UTF-8";

.main{
  background-color:#ffffdf;
  margin:0 auto;
  padding-bottom: 5px;
}
img{
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}
.u_mt40{
  background-color:#fff;
}
/*-------------contents(ページ内リンク)-------------------------------------------------*/
  .guideMenu{
    text-align:center;
    color:#1fa215;
    margin-top:30px;
  }
  .guideMenu p{    
   font-weight: bold;
   padding-bottom:5px;
   font-size: 1.25rem;
  }
.guideMenu ul{
    width:93.878%;
    margin:0 auto;
    padding:5px 0;
    display:flex;
    justify-content: space-around;
    flex-wrap:wrap;
    border:3.5px solid #1fa215; /*#CA2121;*/
    background-color: #fff;
    border-radius: 30px;
    font-size: 1.125rem;/*18px*/
  }
.guideMenu ul li a{
  font-weight:bold;
  color:#3C3C3C;
  font-style: italic;
  text-decoration: underline;
}
.guideMenu ul li:last-child::before{
  content:"★ ";
  color:rgb(255, 189, 102);
  font-style: italic;
  }
.guideMenu ul li a:hover{
  color:#1fa215;
}
/*-------------section共通-------------------------------------------------*/
.section{
  width:93.878%;
  margin: 70px auto;
  padding: 50px 30px 30px 30px;
  text-align: center;
  background-color: #fff;
  position: relative;
  border:3.5px solid #1fa215; 
  box-sizing: border-box;
}
h2{
  color:#3C3C3C;
  font-size: 2.5rem;
  text-shadow:
	2px 2px 0px #fff, -2px -2px 0px #fff,
   -2px 2px 0px #fff,  2px -2px 0px #fff,
	1px 0px 0px #fff, -2px -0px 0px #fff,
	0px 2px 0px #fff,  0px -2px 0px #fff;
}
h3{
  font-size: 1.5rem;
  color:#3C3C3C;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap:3px;
  margin-bottom:30px;
  }
  h3::after{
  content:"";
  width:10%;
  height:3.5px;
  background-color:#1fa215;
}
/*各sectionの中身*/
.sec_content{
  margin-bottom:50px;
}
.sec_content p{
  text-align: left;
}
.newgraduate_underline{
  font-weight: bold;
  background:linear-gradient(transparent 60%, #ffffd2 20%);
}

/*-------------section（01,04）共通-------------------*/
.hL{
  position: absolute;
  top:-2.25rem;
  left:30px;
  }
  .secL{
    border-top-right-radius:50px; 
    border-bottom-right-radius:50px; 
  }
/*-------------section（02,03）共通-------------------*/
.hR{
  position: absolute;
  top:-2.25rem;
  right:30px;
  }
.secR{
  border-top-left-radius:50px; 
  border-bottom-left-radius:50px; 
  }

/*-------------01 会社を知る-------------------------------------------------*/
.deckLink{
  display:flex;
  justify-content:center;
  gap:30px;
  margin-top:30px;
}
.deckLink dl{
  cursor:pointer;
  box-shadow:0px 2px 5px 0 rgba(18, 40, 62, 0.3);
  transition-property: all;
  transition-duration: .3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.deckLink dl:hover{
  box-shadow:2px 2px 15px 0 rgba(18, 40, 62, 0.3);
  transform:translateY(-3px);
}
.deckLink dl dd{
  padding:5px 0;
  color:#3C3C3C;
}

.detailBox{
  margin-top:30px;
  padding:30px;
  box-shadow:0px 1px 5px 0 rgba(18, 40, 62, 0.3);
}
.strengthTtl{
  padding-bottom:30px;
  font-weight: bold;
  color:#1fa215;
}
.strength{
	width:93.75%;
	margin:0 auto;
	display:flex;
	align-items:flex-start;
	gap:30px;
  padding-bottom:30px;
}
.strength:last-child{
	padding-bottom:0px;
}
.strength h4{
	min-width:200px;
	color:#fff;
  font-weight: bold;
	background:#1fa215;
	border-radius: 30px;
	text-align: center;
  padding:10px;
}
.strength a+a::before{
  content:" / ";
  color:#3C3C3C;
}
.strength a, 
.organizationLink{
  color:#1fa215;
  transition: all;
  text-decoration: underline;
}
.strength a:hover{
  background-color:#ffffdf;
}
.organizationLink:hover{
  background-color:#ffffdf;
  text-decoration: underline;
}

/*-------------02 先輩を知る-------------------------------------------------*/
.guideText{
  margin-bottom:30px;
}
/*-----簡易プロフィール---------*/
.ppl{
  cursor: pointer;
  transition-property: all;
  transition-duration: .3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  padding:0;
}
.ppl:hover{
  box-shadow:2px 2px 15px 0 rgba(18, 40, 62, 0.3);
  transform:translateY(-4px);
}
/*見出し部分*/
.ppl p{
	text-align: center;
	background-color:#1fa215;
  color:#fff;
  font-weight: bold;
  font-size:1.25rem;
  padding:5px 30px;
}
.ppl dl {
	display: flex;
  justify-content:space-around;
  padding:15px;
}
.ppl dl dt{
	width:30%; 
}
.ppl dl dd{
	text-align: left;
  letter-spacing: 0.05em;
  width:60%;
}
.articleBtn{
  float:right;
  clear:both;
  display:block;
  background-color:#ffffdf;
  padding:5px 30px;
  margin-top:15px;
  border-radius: 30px;
  color:#1fa215;
  font-weight:bold;
}
.textBrShow{
  display:none;
}

/**********
jQuery開閉用
**********/
.close::after{
  content:"▼";
  font-weight:bold;
  font-size:0.75rem;
  color:#1fa215;
}
.open::after{
  content:"▲";
  font-weight:bold;
  font-size:1rem;
  font-size:0.75rem;
  color:#1fa215;
}

/*-----QA記事---------*/
.inArticle{
  text-align: left;
  margin: 30px auto;
}
.inQa dl dt{
  margin-bottom:10px;
}
.inQa dl dt::before{
  content:"Q. ";
  font-weight: bold;
}
.inQa dl dd{
  background-color:rgba(18, 40, 62, 0.03) ;
  border-radius: 10px;
  padding:10px 30px 10px 45px;
  position:relative;
  margin-bottom:30px;
}
.inQa dl dd::before{
  content:"A.";
  font-weight: bold;
  color:#1fa215;
  position:absolute;
  top:10px;
  left:20px;
}

/*-------１日スケジュール--------*/
.flex-schedule {
  /*min-width: 400px;
  max-width: 400px;*/
  list-style: none;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: rgba(18, 40, 62, 0.05);
  margin-bottom:30px;
}
.flex-schedule li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}
.flex-schedule .area {
  padding: 10px;
  display: block;
  width: 85%;
  border-left: 4px solid #1fa215;
}
.flex-schedule li .time {
  display: inline-flex;
  justify-content: flex-end;
  flex-basis: 5em;
  max-width: 5em;
  margin-right: 1em;
  margin-top: 30px;
  color:#1fa215;
  font-weight: bold;
}
.flex-schedule .sch_box {
  position: relative;
  min-height: 1em;
  padding: 1em 2em;
  /*box-shadow:0px 1px 5px 0 rgba(18, 40, 62, 0.3);*/
  background-color:#fff;
  border-radius: 10px;
  margin-left:15px;
}
.flex-schedule .sch_box::before {
  content: "";
  position: absolute;
  left: -37px;
  top: 20px;
  background: #1fa215;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}
.flex-schedule .sch_title {
  font-weight: 700;
}
.flex-schedule .sch_tx {
  font-size: 14px;
  font-weight: normal;
}
.flex-schedule .area img{
  max-width:8%;
  position:absolute;
  top:15%;
  right:5%;
  z-index:10;
}

/*-------内定者インタビュー-------*/
.inPict{
  display:flex;
  justify-content: center;
  gap:30px;
}
/*-------------03 採用を知る-------------------------------------------------*/
/*------------募集要項---------------------------------------*/
.recruitInfo tr{
	border:2px solid rgba(23, 35, 81, 0.1);
}
.recruitInfo th{
	padding: 15px;
  width:20%;
  background:rgba(23, 35, 81, 0.1);
}
.recruitInfo td {
	padding: 15px;
  text-align: left;
  width:80%;
}

/*-------------求める人物像----------------*/
.ideal{
	margin:0 auto;
	display:flex;
  justify-content:flex-start;
	align-items:center;
	gap:30px;
	padding-bottom:15px;
	position:relative;
}
.ideal h4{
	min-width:100px;
	min-height:100px;
	color:#fff;
  font-weight: bold;
	background:#1fa215;
	border-radius: 50%;
	text-align: center;
	margin:auto 0;

	display:flex;
	flex-direction: column;
	justify-content: center;
}
.idealDetail p{
  padding:0 10px;
}
.idealDetail p::before{
 content:"●";
 font-size: 0.5rem;
 color:#3C3C3C;
}
#sec3 img{
  min-width:70%;
}
/*------------選考プロセス---------------------------------------*/
.flow{
	display:flex;
  gap:30px;
  justify-content: center;
  margin-bottom:30px;
}
.flow dl{
	min-width:100px;
  box-shadow: 2px 2px 10px 0 rgba(23, 35, 81, 0.2);
}
.flow dt{
	color:#fff;
  font-weight: bold;
	background:#1fa215;
  padding:10px 30px;
  position: relative;
}
.flow .step::after{
  position: absolute;
	content: '';
	top: 0%;
	left: 100%;
	border:22px solid transparent;
	border-left: 25px solid #1fa215;
	width: 0;
	height: 0;
}
.flow dd{
  padding:10px 30px;
}
/*------------選考に進む---------------------------------------*/
#sec4 p{
  margin-bottom:30px;
}
#sec4 .btn{
  display:inline-block;
  background: #1fa215;
  color:#fff;
  font-weight: bold;
  padding:10px 30px;
  min-width:80%;
  border-radius: 30px;
  margin-bottom:30px;
  font-size: 1.25rem;
  box-shadow:0 3px 0px 0px #3C3C3C;
  transition:all 0.2s ease-out;
	box-sizing: border-box;
}

#sec4 .btn:hover{
	transform: translateY(4px);
	box-shadow:none;
}
.gBanner{
  width:65%;
  box-shadow:0px 2px 5px 0 rgba(18, 40, 62, 0.3);
  transition-property: all;
  transition-duration: .3s;
  transition-timing-function: ease;
  transition-delay: 0s;
}

.gBanner:hover{
  box-shadow:2px 2px 15px 0 rgba(18, 40, 62, 0.3);
  transform:translateY(-4px);
}

/*------------レスポンシブ1------------------------------------------------------*/

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

    /*-------------contents(ページ内リンク)-------*/
    .guideMenu{
      margin-top:15px;
    }
    .guideMenu p{    
    font-size: 1.25rem;
    }
    .guideMenu ul{
      padding:5px 10px;
      gap:15px;
      border:3px solid #1fa215;
      font-size: 1rem;
    }
    /*-------------section共通-------------------------------------------------*/
    .section{
    width:93.878%;
    margin: 50px auto;

    border:3px solid #1fa215;
    }
    h2{
    color:#3C3C3C;
    font-size: 2rem;
    }
    h3{
    font-size: 1.25rem;
    margin-bottom:15px;
    }
    /*各sectionの中身*/
    .sec_content{
    margin-bottom:30px;
    }
    /*-------------section（01,04）共通-------------------*/
    .hL{
    top:-2rem;
    left:0px;
    }
    /*-------------section（02,03）共通-------------------*/
    .hR{
    top:-2rem;
    right:0px;
    }


    /*-------------01 会社を知る-------------------------------------------------*/
  .deckLink{
    gap:10px;
    margin-top:15px;
  }
  .detailBox{
    margin-top:15px;
    padding:15px;
  }
  .strength{
    width:100%;
    margin:0 auto;
    display:block;
    padding-bottom:10px;
  }
  .strength h4{
    min-width:initial;
    padding:5px;
  }
  .strength p{
    padding:10px 10px 0 10px;
  }
  .strengthTtl{
    padding-bottom:15px;
  }
  /*-------------02 先輩を知る-------------------------------------------------*/
  #sec2 .guideText{
    margin-bottom:15px;
  }
  /*-----簡易プロフィール---------*/
  .ppl{
    padding:0;
  }
  /*見出し部分*/
  .ppl p{
    font-size:1rem;
  }
  .ppl dl {
    padding:15px;
  }
  .textBr{
    display:none;
  }
  /*-----QA記事---------*/
  .inArticle{
    margin: 15px auto;
  }
  .inQa dl dt{
    margin-bottom:10px;
  }
  .inQa dl dd{
    border-radius: 10px;
  }
  .inQa dl dd::before{
    top:8px;
  }

  /*-------１日スケジュール--------*/
  .flex-schedule {
    margin-bottom:15px;
  }
  .flex-schedule li .time {
    flex-basis: 4em;
    max-width: 4em;
  }
  .flex-schedule .sch_box {
    padding: 1em;
  }
  .flex-schedule .area img{
    width:10%;
    min-width:30px;
    position:absolute;
    top:20%;
    right:5%;
    z-index:10;
  }

  /*-------内定者インタビュー-------*/
  .inPict{
    display:flex;
    justify-content: center;
    gap:30px;
  }
  /*-------------03 採用を知る-------------------------------------------------*/
  /*------------募集要項---------------------------------------*/
  .recruitInfo tr{
    border:2px solid rgba(23, 35, 81, 0.1);
  }
  .recruitInfo th{
    padding: 10px;
  }
  .recruitInfo td {
    padding: 10px;
  }

  /*-------------求める人物像----------------*/
  .ideal{
    flex-direction: column;
    gap:10px;
    padding-bottom:10px;
    position:relative;
  }
  .ideal h4{
    width:100%;
    min-height:3rem;
    color:#fff;
    font-weight: bold;
    background:#1fa215;
    border-radius:10px;
  }
  #sec3 img{
    min-width:80%;
  }
  /*------------選考プロセス---------------------------------------*/
  .flow{
    flex-direction: column;
    gap:15px;
    margin-bottom:15px;
  }
  .flow dl{
    width:100%;
    display:flex;
  }
  .flow dt{
    padding:10px;
    width:30%;
  }
  .flow .step::after{
    position: absolute;
    content: '';
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border:30px solid transparent;
    border-top: 15px solid #1fa215;
    width: 0;
    height: 0;
  }
  .flow dd{
    padding:10px;
    width:50%;
  }
  /*------------選考に進む---------------------------------------*/
  #sec4 p{
    margin-bottom:15px;
  }
  #sec4 .btn{
    padding:10px;
    min-width:100%;
    margin-bottom:10px;
    font-size: 1.25rem;
  }
  .gBanner{
    width:100%;
  }

  }
/***************
レスポンシブ2
***************/
  @media screen and (max-width: 431px){
  /*-------------section共通-------------------------------------------------*/
  .section{
    padding:30px 15px 15px 15px;
    }
    h2{
    font-size: 1.5rem;
    }
    h3{
    margin-bottom:15px;
    }
    /*各sectionの中身*/
    .sec_content{
    margin-bottom:25px;
    }
    /*-------------section（01,04）共通-------------------*/
    .hL{
      top:-1.5rem;
    }
    .secL{
      border-top-right-radius:50px; 
      border-bottom-right-radius:50px; 
    }
    /*-------------section（02,03）共通-------------------*/
    .hR{
    top:-1.5rem;
    }
    .secR{
      border-top-left-radius:50px; 
      border-bottom-left-radius:50px; 
      }
    /*-------------01 会社を知る-------------------------------------------------*/
    .deckLink{
      flex-direction: column;
      gap:15px;
      margin-top:15px;
    }
    .deckLink dl a{
      display: flex;
      align-items: center;
    }
    .deckLink dl dt{
      width:30%;
      margin-right:30px;
    }
    .detailBox{
      margin-top:15px;
      padding:15px;
    }
    .strengthTtl{
      padding-bottom:15px;
    }
    
    /*-------------02 先輩を知る-------------------------------------------------*/

    /*-----簡易プロフィール---------*/
    .ppl{
      padding:0;
    }
    .ppl p{
     padding:5px 10px; 
    }
    .ppl dl {
      padding:10px;
      flex-direction: column;
      align-items: center;
      gap:10px;
    }
    .ppl dl dd{
      width:100%;
    }
    .textBr{
      display:none;
    }
    .textBrShow{
      display:block;
    }
    /*-----QA記事---------*/
    .inQa dl dt{
      margin-bottom:10px;
    }
    .inQa dl dd{
      border-radius: 10px;
      padding:10px 10px 10px 30px;
      margin-bottom: 10px;
    }
    .inQa dl dd::before{
      top:10px;
      left:10px;
    }

    .articleBtn{
      float:none;
      display:block;
      padding:5px 15px;
      text-align: center;
    }
    /*-----1日スケジュール---------*/
    .flex-schedule .area img{
      min-width:30px;
      position:absolute;
      top:5%;
      right:5%;
      z-index:10;
    }

    /*-------内定者インタビュー-------*/
    .inPict{
      gap:10px;
    }
    /*-------------03 採用を知る-------------------------------------------------*/
    /*------------募集要項---------------------------------------*/
    .recruitInfo th{

      font-weight: normal;
      width:25%;
    }
    .recruitInfo td {
      width:75%;
    }
    /*-------------求める人物像----------------*/
    .ideal{
      gap:10px;
      padding-bottom:10px;
    }
    .ideal h4{
      width:100%;
      min-height:2rem;
      color:#fff;
      font-weight: bold;
      background:#1fa215;
      border-radius:10px;
    }
    .sec3Pic{
      width:100%;
    }
    /*------------選考プロセス---------------------------------------*/
    .flow{
      flex-direction: column;
      gap:15px;
      margin-bottom:15px;
    }
    .flow dl{
      width:100%;
      display:flex;
    }
    .flow dt{
      padding:10px;
      width:30%;
    }
    .flow .step::after{
      position: absolute;
      content: '';
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      border:30px solid transparent;
      border-top: 15px solid #1fa215;
      width: 0;
      height: 0;
    }
    .flow dd{
      padding:10px;
      width:50%;
    }
    /*------------選考に進む---------------------------------------*/
    #sec4 p{
      margin-bottom:15px;
    }
    #sec4 .btn{
      padding:10px;
      min-width:100%;
      margin-bottom:10px;
      font-size: 1rem;
    }
    .gBanner{
      width:100%;
    }

}