@charset "utf-8";
/*--------------------------------------------
ページ上部
---------------------------------------------*/
#sub_head{
    background: #04913D;
    background: linear-gradient(95deg, rgba(4, 145, 61, 1) 0%, rgba(145, 236, 151, 1) 88%);
    min-height: 26.25rem;
    border-radius: 0 0 7rem;
}
#sub_head h2{
    font-size: clamp(1.5rem, 5vw, 5rem) !important;
}
#sub_head .sub_head_title{
    padding-left: clamp(3rem, 4.5vw, 4rem);
}
#sub_head .sub_head_title::before {
    content: "";
    background: url(../images/sub/icon.png) right top/cover no-repeat;
    position: absolute;
    width: clamp(2.5rem, 3.5vw, 3.5rem);
    height: clamp(2.5rem, 3.5vw, 3.5rem);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    color: #fff;
}
@media screen and (max-width:575px) {
    #sub_head{
        min-height: 12.5rem;
    }
    #sub_head h2 {
        font-size: 2rem !important;
    }
    #sub_head .sub_head_title{
        padding-left: 2rem;
        padding-top: 3rem;
    }
    #sub_head .sub_head_title::before{
        width: 24px;
        height: 24px;
        top: 65%;
    }
}
/*パンクズ*/
.breadcrumb-area span{
    color:#666;
}
/*--------------------------------------------
ページ共通
---------------------------------------------*/
@media screen and (max-width:575px) {
    .inner{
        padding: 2rem 0;
    }
}
/*見出し*/
.sub_title h3{
    font-size: clamp(1.5rem, 3vw, 3rem) !important;
}
.headline::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 6px;
    height: 100%;
    background: linear-gradient( to bottom, #51B165 0%, #51B165 50%, #00430E 50%, #00430E 100% );
}
/**/
.subbg_icon02{
    bottom:-40rem;
}

/*ページネーション*/
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav-links{
    display: flex;
    align-items: center;
}
.pagination .page-numbers {
    display: inline-flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    border: 1px solid #15792A;
    color: #15792A !important;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    margin-right: .3rem;
}
.pagination .page-numbers.current {
    background: #15792A;
    color: #fff !important;
    border: 1px solid #15792A;
    font-weight: bold;
}
.pagination .page-numbers:hover:not(.current) {
    background: #15792A;
    color: #fff !important;
    border: 1px solid #15792A;
}
/*--------------------------------------------
会社概要
---------------------------------------------*/
#about .about01{
    top: 5rem;
  right: 0;
}
#about .about02{
    bottom: 0;
  right: 29rem;
}
/*行動指針*/
#about .philosophy_text {
    width: 220px;
}
@media screen and (max-width:767px){
    #about .philosophy_text {
        width: unset
    }
}
/*沿革*/
#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;
}
@media screen and (max-width:480px){
    #about .history-timeline::before{
        top: 4.5rem;
        left: 3.2rem;
    }
    #about .timeline-date::before{
        left: 2.8rem;
        top: .8rem;
        width: 14px;
        height: 14px;
    }
    #about .timeline-date{
        width: 5rem;
    }
}

/*--------------------------------------------
採用情報
---------------------------------------------*/
#job .job01{
    top: .5rem;
    right: -5rem;
}
#job .job01 img{
	width: clamp(200px, 35.875vw, 574px);
  height: clamp(180px, 32.8125vw, 525px);
}
#job .job02{
    bottom: -10rem;
    left: 50%;
}
#job .works_list01 li,#job .works_list02 li{
    padding-bottom: .5rem;
}
#job .works_list01 li{
    width: 33%;
}
#job .works_list02 li{
    width: 24.5%;
}
#job .works_list01 li:last-child{
    display: none;
}
@media screen and (max-width:1300px) {
    #job .job01{
        width: 50%;
    }
    #job .job02{
        width: 30%;
    }
}
@media screen and (max-width:1199px) {
    #job .works_list01 li,#job .works_list02 li{
        width: 49.5%;
    }
    #job .works_list01 li:last-child{
        display: block;
    }    
    #job .works_list02 li:first-child{
        display: none;
    }
}
@media screen and (max-width:991px) {
    #job .strenghts_list img{
        width: 15%;
    }
}

/*--------------------------------------------
求人情報
---------------------------------------------*/
/*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 .clip_list{
    display: flex;
    flex-wrap: wrap;
}
#recruit .clip_list li .clip_block {
    background: #fff;
    clip-path: polygon(
        0% 0%,
        90% 0%,
        100% 50%,
        90% 100%,
        0% 100%
    );
    border-radius: 1rem;
    height: 500px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
#recruit .clip_list li:last-child .clip_block{
    clip-path: unset;
}
#recruit .clip_list li:nth-child(1){
    width: 33%;
}
#recruit .clip_list li:nth-child(2){
    width: 38%;
}
#recruit .clip_list li:nth-child(3){
    width: 27%;
}
#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%;
}
@media screen and (max-width:991px){
    #recruit .clip_list{
        display: block;
    }
    #recruit .clip_list li{
        width: 100% !important;
    }
    #recruit .clip_list li .clip_block{
        clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0px 90%);
    }
    #recruit .clip_list li:nth-child(1) .clip_block{
        height: 350px;   
    }
    #recruit .clip_list li:last-child .clip_block{
        height: 250px;
    }

	#recruit .number{
		left: 50%;
	}
    #recruit .number.number01 {
        top: -10%;
    }
    #recruit .number.number02 {
        top: -7%;
    }
    #recruit .number.number03 {
        top: -13%;
    }
}
/*ボタン*/
#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 2rem .5rem 1.5rem;
    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;
}
@media screen and (max-width: 576px) {
    #recruit .list_btn{
        padding: .8rem 2rem .8rem 3.5rem;
    }
}
/*--------------------------------------------
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 {
    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.is-required p::after {
    content: "必須";
    background-color: #DE573C;
}
.form__row .form__label.nofree p::after{
    content: unset;
}
.form__row .form__label.is-required label {
    position: relative;
    margin: 0;
    text-align: justify;
}
.submit-btn{
    display: flex;
    justify-content: center;
}
.submit-btn input[type="submit"] {
    background: #89CD3F;
    background: linear-gradient(90deg,rgba(137, 205, 63, 1) 0%, rgba(137, 205, 63, 1) 0%, rgba(10, 158, 69, 1) 100%);
    font-weight: 500;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    font-size: clamp(1rem, 1.5vw, 1.5rem);
    border: unset;
    border-radius: 3rem;
    padding: 1.5rem 4.5rem;
    min-width: 280px;
}
.back-btn input[type="button"]{
    background-color: #000;
    font-weight: 500;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    font-size: clamp(1rem, 1.5vw, 1.5rem);
    border: unset;
    border-radius: 3rem;
    padding: 1.5rem 4.5rem;
    min-width: 280px;
}
/*項目*/
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;
}
input.small,select.small{
    width: 100px;
}
.wpcf7-spinner{
    display: none;
}
.pflex p{
    display: flex;
    align-items: center;
}
.wpcf7-list-item{
    display: block;
}
.wpcf7 form .wpcf7-response-output{
    padding: 1em 1em;
    text-align: center;
}

@media screen and (max-width:767px) {
    .form__row .form__label,
    .form__row .form__body{
        width: 100%;
    }
    .form__row .form__label {
        padding-bottom: .3rem;
    }
    .form__row {
        padding-bottom: 1.5rem;
    }
    .form__row .form__label p::after{
        top:-3px;
    }
}
@media screen and (max-width:575px) {
    input.small,select.small{
        width: 80px;
    }
}
/* ファイル */
#contact .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;
}
#contact .custom-file-label {
    display: flex;
    align-items: center;
    justify-content: center;
    background: unset;
    color: #15792A;
    padding: 1rem 1.5rem 1rem 3rem;
    border-radius: 3rem;
    font-size: 14px;
    cursor: pointer;
    position: relative;
    transition: background 0.2s;
    width: 100%;
    height: 80px;
    border: 1px solid #15792A;
}
#contact .custom-file-input {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 2;
}
#contact .custom-file-label::after{
    content: unset;
}
/*ファイル任意*/
.free{
    position:relative;
}
.free::after {
    content: "任意";
    display: block;
    position: absolute;
    top: 5px;
    right: 1rem;
    margin: 0;
    padding: 4px 12px;
    background-color: #ACABAB;
    color: #fff;
    font-size: 12px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 3rem;
}
@media screen and (max-width:767px) {
    #contact .custom-file-label{
        width: 320px;
    }
}
@media screen and (max-width:575px) {
    #contact .custom-file-label{
        height: 60px;
    }
}
/*--------------------------------------------
新着情報
---------------------------------------------*/
.info_img{
    height: 200px !important;
    object-fit: cover;
    width: 100%;
}
.info_tax li{
    border: 1px solid #04913D;
  border-radius: 3rem;
  padding: .3rem .8rem;
}
/*アーカイブ*/
.archive-list > .year {
    cursor: pointer;
    position: relative;
    padding: .5rem 0;
      border-bottom: 1px solid #D9D9D9;
}
.archive-list > .year > .plusMinus::before {
    content: "+";
    display: inline-block;
    margin-right: .6rem;
    transition: transform 0.2s ease;
    background: #000;
    color: #fff !important;
    border: 1px solid #000;
    padding: .1rem .4rem;
}
.archive-list > .year.acv_open > .plusMinus::before {
    content: "−";
    transform: rotate(0deg);
    background: unset;
    color: #000 !important;
}
.month-archive-list {
    margin-left: 3rem;
    padding-top: 1rem;
}
.month-archive-list li {
    margin-bottom: .8rem;
    position: relative;
}
.month-archive-list li:before{
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 600;
    font-size: 1em;
    position: absolute;
    left: -1rem;
}
/*--------------------------------------------
店舗情報
---------------------------------------------*/
/*カテゴリ*/
#shop .shop_tax li {
    color: #fff;
    padding: .3rem .8rem;
    border-radius: 1.5rem;
}
#shop .shop_tax li.mobileshop{
    background-color: #FB7D35;
}
#shop .shop_tax li.cafeshop {
    background-color: #107C49;
}
#shop .shop_tax li.salons {
    background-color: #73C2EA;
}
/*iframe*/
#shop .areadata-iframe iframe {
    width: 100% !important;
    height: 327px !important;
    display: block;
    border: 0;
}
/*table*/
.table02 th,.table02 td{
    background-color: unset;
}
.table02 th{
    border-bottom: 2px solid;
}
.table02 td{
    border-top: unset !important;
    border-bottom: 1px solid #C1C1C1;
}
@media screen and (max-width:480px) {
	.table02 td{
		width: 45%;
		}
}
#shop .business_list li {
    border: 1px solid #04913D;
    border-radius: 3rem;
    padding: .3rem .8rem;
}