@charset "utf-8";
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
.pageTitle {
  background-image: url("../img/recruit/page_title_bg.jpg");
}
#gHeader p.h1title {
	padding-top: 5px;
	display: block;
	font-size: 2.8rem;
	font-weight: 500;
	font-family: 'Kiwi Maru', serif;
}
.comLinkList {
  margin-bottom: 65px;
}
.comLinkList li a {
  font-size: 2rem;
}
#pagePath {
  margin-bottom: 44px;
}
#main .ttlBox {
  margin-bottom: 58px;
  height: 400px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
#main .ttlBox .photoBox {
  width: 80.18%;
  background: url("../img/recruit/ttl_img01.jpg") no-repeat center / cover;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
#main .ttlBox .photoBox.img02 {
  background: url("../img/recruit/ttl_img02.jpg") no-repeat center / cover;
}
#main .ttlBox .photoBox.img03 {
  background: url("../img/recruit/ttl_img03.jpg") no-repeat center / cover;
}
#main .ttlBox .textBox {
  padding: 75px 0;
  width: 19.82%;
  position: relative;
}
#main .ttlBox .textBox .subBox {
  width: 561px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  background-color: #9ACD06;
  transform: translateX(7%);
}
#main .ttlBox .textBox .subBox .h2Ttl {
  color: #FFF;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-align: center;
}
#main .ttlBox .textBox .subBox .h2Ttl .en {
  margin-top: 4px;
  display: block;
  font-weight: 400;
  font-size: 1.3rem;
}
#main .bg::after {
  width: 100%;
  height: calc(100% - 200px);
  position: absolute;
  top: 200px;
  left: 0;
  background-color: #F1FCEB;
  content: '';
}
#main .sec02 > div {
  position: relative;
  z-index: 1;
}
#main .sec02 {
  margin-bottom: 59px;
  padding-bottom: 88px;
  position: relative;
}
#main .sec02 .ttlBox {
  margin-bottom: 60px;
}
#main .sec02 .h3Ttl {
  margin-bottom: 37px;
  padding: 15px 22px 15px 32px;
  color: #FFF;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  background-color: #07A53B;
  border-radius: 10px;
}
#main .sec02 .h3Ttl .sml {
  padding-top: 9px;
  float: right;
  font-size: 1.3rem;
  font-weight: 200;
  letter-spacing: 0.05em;
}
#main .sec02 .textArea {
  margin-bottom: 38px;
  padding: 50px;
  border-radius: 10px;
  background-color: #FFF;
}
#main .sec02 .textArea .txtList {
  margin-bottom: 38px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#main .sec02 .textArea .txtList.center {
  margin-bottom: 0;
  justify-content: center;
  font-size: 1.8rem;
}
#main .sec02 .textArea .txtList li {
  padding-left: 33px;
  width: 47.18%;
  line-height: 2.6;
  letter-spacing: 0.05em;
  background: url("../img/common/icon13.png") no-repeat left center / 27px;
  box-sizing: border-box;
}
#main .sec02 .textArea .txtList li .col {
  color: #FF8001;
  font-weight: 900;
}
#main .sec02 table {
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #CCC;
  border-top: 1px solid #CCCCCC;
}
#main .sec02 .tab01 th, #main .sec02 .tab01 td {
  padding: 18px 0 20px;
  width: 20%;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
#main .sec02 .tab01 td {
  width: 80%;
  font-weight: normal;
  text-align: left;
  padding: 18px 20px 20px;
}
#main .sec02 .tab01 td small {
  font-size: 1.4rem;
}
#main .sec02 .tab01 td .list li {
  padding-left: 10px;
  position: relative;
  margin-bottom: 5px;
}
#main .sec02 .tab01 td .list li:last-child {
  margin-bottom: 0;
}
#main .sec02 .tab01 td .list li::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background-color: #333;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}
#main .sec02 .tab01 td .cap {
  margin-top: 5px;
}
#main .sec02 .tab01 td .cap li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 3px;
  font-size: 1.4rem;
}
#main .sec02 .tab01 td .cap li:last-child {
  margin-bottom: 0;
}
#main .sec02 .tab01 td .no li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}
#main .sec02 .tab01 td .no li:last-child {
  margin-bottom: 0;
}
#main .sec02 .tab01 tbody th {
  background-color: #F1FCEB;
}
#main .sec02 .linkList {
  margin-bottom: 16px;
  display: block;
  width: 210px;
}
#main .sec02 .linkList li:first-of-type {
  margin-bottom: 16px;
  padding-bottom: 13px;
  width: 100%;
  color: #07A53B;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  border-bottom: 1px solid #07A53B;
}
#main .sec02 .ttlList li:not(:first-of-type) {
  width: 860px;
}
#main .sec02 .linkList li {
  width: 210px;
}
#main .sec02 .linkList li a {
  padding: 26px 0 37px;
  display: block;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: #FFF url("../img/common/icon14.png") no-repeat center bottom 17px / 10px;
  border: 1px solid #07A53B;
  border-radius: 10px;
}
#main .sec02 .linkList li a:hover {
  opacity: 0.7;
}
#main .sec02 .linkList01 {
  margin-bottom: 41px;
  width: 860px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#main .sec02 .txt {
  margin-bottom: 29px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
#main .sec02 .textArea .title {
  margin-bottom: 25px;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: left;
}
#main .sec02 .textArea .title.mtop60 {
  margin-top: 60px;
}
#main .sec02 .text {
  margin-top: 36px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
#main .sec02 .text a {
  text-decoration: underline;
}
#main .comContact {
  margin-top: 0;
}
#main .sec02 .textArea .link a {
  padding: 17px 0 16px 30px;
  display: block;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: #FF8001 url(../img/common/icon06.png) no-repeat left 66px top 21px / 21px;
  border-radius: 50px;
  margin: 30px auto 0;
  width: 250px;
  color: #fff;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#main .sec02 .textArea .link a:hover {
  opacity: 0.7;
}
@media all and (min-width: 897px) {
  #main .sec02 .text a:hover {
    text-decoration: none;
  }
}
@media all and (max-width: 896px) {
  #gHeader p.h1title {
    padding-top: 5px;
    display: block;
    font-size: 2rem;
    font-weight: 500;
    font-family: 'Kiwi Maru', serif;
  }
  .comLinkList {
    margin-bottom: 39px;
  }
  .comLinkList li {
    margin: 0 auto;
  }
  .comLinkList li a {
    font-size: 1.5rem;
  }
  #pagePath {
    margin-bottom: 23px;
  }
  #main .ttlBox {
    margin-bottom: 28px;
    height: auto;
    display: block;
  }
  #main .ttlBox .photoBox {
    width: 100%;
    background: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  #main .ttlBox .photoBox img {
    width: 100%;
  }
  #main .ttlBox .textBox {
    padding: 0;
    height: 130px;
    width: 100%;
    position: relative;
  }
  #main .ttlBox .textBox .subBox {
    margin: -65px 24px 0;
    width: auto;
    height: 100%;
    border-radius: 20px;
    transform: translateX(0);
    box-sizing: border-box;
  }
  #main .ttlBox .textBox .subBox .h2Ttl {
    font-size: 2.5rem;
  }
  #main .ttlBox .textBox .subBox .h2Ttl .en {
    margin-top: 3px;
    font-size: 1.2rem;
  }
  #main .bg::after {
    height: 100%;
    top: 0;
  }
  #main .sec02 {
    margin-bottom: 35px;
    padding-bottom: 49px;
  }
  #main .sec02 .ttlBox {
    margin-bottom: 25px;
  }
  #main .sec02 .h3Ttl {
    margin-bottom: 9px;
    padding: 12px 20px 14px;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  #main .sec02 .sml {
    margin-bottom: 19px;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #main .sec02 .textArea {
    margin-bottom: 26px;
    padding: 28px 23px 38px;
  }
  #main .sec02 .textArea .txtList {
    margin-bottom: 12px;
    display: block;
  }
  #main .sec02 .textArea .txtList li {
    padding-bottom: 10px;
    padding-left: 33px;
    width: 100%;
    line-height: 1.57;
    background: url("../img/common/icon13.png") no-repeat left top / 27px;
  }
  #main .sec02 .tab01 th, #main .sec02 .tab01 td {
    padding: 8px 10px;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.46;
    display: block;
    text-align: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #main .sec02 .tab01 td {
    padding: 8px 10px;
    width: 100%;
    box-sizing: border-box;
  }
  #main .sec02 .linkList {
    margin-bottom: 14px;
    width: 100%;
  }
  #main .sec02 .linkList li:first-of-type {
    margin-bottom: 11px !important;
    padding-bottom: 11px;
    font-size: 1.7rem;
  }
  #main .sec02 .ttlList li:not(:first-of-type) {
    width: 100%;
  }
  #main .sec02 .linkList li {
    width: 100%;
  }
  #main .sec02 .linkList li:not(:last-of-type) {
    margin-bottom: 4px;
  }
  #main .sec02 .linkList li a {
    padding: 13px 0 14px;
    font-size: 1.5rem;
    background: #FFF url("../img/common/icon14.png") no-repeat right 23px center / 10px;
  }
  #main .sec02 .linkList01 {
    margin-bottom: 39px;
    width: 100%;
    display: block;
  }
  #main .sec02 .txt {
    margin-bottom: 15px;
    font-size: 1.5rem;
    line-height: 1.86;
  }
  #main .sec02 .textArea .title {
    margin-bottom: 15px;
    font-size: 2rem;
    line-height: 1.95;
  }
  #main .sec02 .textArea .title.mtop80 {
    margin-top: 30px;
  }
  #main .sec02 .tab02 {
    margin: 0 auto;
    width: 703px;
  }
  #main .sec02 .tab02 th, #main .sec02 .tab02 td {
    padding: 7px 0 9px;
    width: 20%;
    height: 60px;
    font-size: 1.2rem;
    box-sizing: border-box;
  }
  #main .sec02 .tab02 thead th {
    font-size: 1.5rem;
    line-height: 1.46;
  }
  #main .sec02 .tab02 thead th:first-of-type {
    font-size: 1.2rem;
  }
  #main .sec02 .text {
    margin-top: 25px;
    font-size: 1.5rem;
    line-height: 1.66;
  }
  #main .comContact {
    margin-top: 0;
  }
  #main .sec02 .textArea .link a {
    margin: 20px auto 0;
  }
}
@media all and (max-width: 374px) {
  #main .sec02 .textArea .title {
    font-size: 1.6rem;
  }
  #main .sec02 .text {
    font-size: 1.4rem;
  }
}