@charset "utf-8";
#sub_head .sub_head_title{
	padding-left: 4.5rem;
}
#sub_head .sub_head_title::before {
	content: "";
	background: url(../images/sub/icon.png) right top/cover no-repeat;
	position: absolute;
	width: 56px;
	height: 56px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	color: #fff;
}
/*見出し*/
.sub_title h3{
    font-size: clamp(3rem, 48px, 3rem);
}
.headline::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 6px;
  height: 1.2em;
  background: linear-gradient( to bottom, #51B165 0%, #51B165 50%, #00430E 50%, #00430E 100% );
}
/**/
.subbg_icon02{
	bottom:-40rem;
}

/*--------------------------------------------
会社概要
---------------------------------------------*/
#about .about01{
	top: -2rem;
}
#about .about02{
	bottom: -6rem;
	left: -12rem;
}
/*沿革*/
#about .history-timeline {
  position: relative;
}
#about .history-timeline::before {
    content: '';
    position: absolute;
    top: 3.5rem;
    bottom: 0;
    left: 6.45rem;
    width: 2px;
    background: #04913D;
    border-radius: 2px;
}
#about .timeline-item {
    position: relative;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
}
#about .timeline-date {
  position: relative;
  z-index: 2;
	width: 10rem;
}
#about .timeline-date::before {
content: '';
  display: block;
  position: absolute;
  top:1.2rem;
  right: 3rem;
  width: 16px;
  height: 16px;
  background: #04913D;
  border-radius: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
#about .timeline-content {
  flex: 1;
}

/*--------------------------------------------
採用情報
---------------------------------------------*/
#job .works_list01 li{
    width: 33%;
}
#job .works_list02 li{
    width: 24.5%;
}
#job .job01{
    top: -2rem;
}
#job .job02{
    bottom: -5rem;
  left: -10rem;
}

/*--------------------------------------------
求人情報
---------------------------------------------*/

/*recruit_tax*/
#recruit .recruit_tax li{
    color: #fff;
    padding: .3rem .8rem;
	  border-radius: 1.5rem;
}
#recruit .recruit_tax li.esthetician{
    background-color: #73C2EA;
}
#recruit .recruit_tax li.cafestaff{
    background-color: #107C49;
}
#recruit .recruit_tax li.lecturer{
    background-color: #E8BF1A;
}
#recruit .recruit_tax li.solution{
    background-color: #ACACB4;
}
#recruit .recruit_tax li.fieldmarketer{
    background-color: #F774C7;
}
#recruit .recruit_tax li.marketingconsultant{
    background-color: #D96369;
}
#recruit .recruit_tax li.mobile{
      background-color: #FB7D35;
}
#recruit .recruit_tax li.officework{
    color: #04913D;
  border: 1px solid;
}
/*===== 一覧ページ =====*/
#recruit .search_list li:first-child{
    border-bottom: 1px solid #04913D;
}
/*===== 詳細ページ =====*/
#recruit .number_inner {
    border-radius: 1rem;
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    height: 480px;
    z-index: 1;
}
#recruit .right-triangle-box {
    clip-path: polygon(
        0 0,
        80% 0,
        100% 50%,
        80% 100%, 
        0 100%
    );
}
#recruit .number{
    top: -6%;
    z-index: 2;
    left: 45%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#recruit .number.number03{
    left: 50%;
}
#recruit .list_btn_wrapper {
    display: flex;
    justify-content: center;
}
#recruit .list_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
    padding: 1rem 2rem 1rem 3.5rem;
    position: relative;
    border: 1px solid;
}
#recruit .list_btn::before {
    font-family: "Font Awesome 5 Free";
    content: "\f104";
    font-weight: 900;
    font-size: 1em;
    position: absolute;
    left: 2rem;
}
#recruit .list_btn.list_btn02,#recruit .list_btn.list_btn03{
	padding: 0.5rem 2.5rem .5rem 2rem;
	width: 100%;
}
#recruit .list_btn.list_btn03{
	background-color: #04913D;
  border-color: #04913D;
  color: #fff !important;
}
#recruit .list_btn.list_btn02::before,#recruit .list_btn.list_btn03::before{
    content: unset;
}
#recruit .list_btn.list_btn02::after {
     content: "";
    background: url(../images/btn_icon04.png) right top/cover no-repeat;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: .8rem;
    color: #fff;
}
#recruit .list_btn.list_btn03::after {
     content: "";
    background: url(../images/btn_icon.png) right top/cover no-repeat;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: .8rem;
    color: #fff;
}
/*--------------------------------------------
form
---------------------------------------------*/
.form__row {
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
	justify-content: space-between;
	border-bottom: 1px dotted;
  padding: 1.5rem 0;
}
.form__row .form__label,
.form__row .form__body {
    margin: 0;
    box-sizing: border-box;
}
.form__row .form__label {
    padding-bottom: .8rem;
    width: 32%;
}
.form__row .form__body{
    width: 66%;
}
.form__row .form__label label {
    position: relative;
	margin: 0;
}
.form__row .form__label p{
	position: relative;
}
.form__row .form__label p::after {
    content: "任意";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 4px 12px;
  background-color: #ACABAB;
  color: #fff;
  font-size: 12px;
  text-align: center;
  box-sizing: border-box;
  border-radius: 3rem;
}
.form__row .form__label.nofree p::after{
	content: unset;
}
.form__row .form__label.is-required label {
    position: relative;
    margin: 0;
    text-align: justify;
}
.form__row .form__label.is-required p::after {
    content: "必須";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 4px 12px;
    background-color: #DE573C;
    color: #fff;
    font-size: 12px;
    text-align: center;
    box-sizing: border-box;
	border-radius: 3rem;
}
.submit-btn{
    display: flex;
    justify-content: center;
}
.submit-btn input[type="submit"] {
    background-color: #D1467C;
    font-weight: 500;
    max-width: 100%;
    padding: .5rem 2rem;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    border: 2px solid #D1467C;
    color: #fff;
}
/*項目*/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
	display: block;
	width: 100%;
	padding: 0.55em 1em;
	border: 1px solid #C1C1C1;
	background-color: #fff;
	color: rgba(0, 0, 0, 0.7);
	transition: ease;
	border-radius: .1rem;
}
.wpcf7-spinner{
	display: none;
}
@media screen and (max-width:768px) {
    .form__row .form__label,
    .form__row .form__body{
        width: 100%;
    }
}
@media screen and (max-width:576px) {
    .form__row .form__label {
        padding-bottom: .3rem;
    }
    .form__row {
        padding-bottom: .5rem;
    }
}

.custom-file-label::before {
     content: "";
    background: url(../images/sub/contact_icon.png) right top/cover no-repeat;
    position: absolute;
    width: 24px;
    height: 24px;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: .8rem;
    color: #fff;
}