@charset "utf-8";
/* CSS Document */

/***********************************************
　　　法人会員
***********************************************/

#fukuri {
    background: linear-gradient(to bottom, #FFF 0, #9AE8BA 100%);
}
#hojin .s-lead {
    text-align: center;
    margin-bottom: 1em;
}
#fukuri .fl-block {
    background-image: url("../images/hojin/fukuri_bg.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;   
}
@media screen and (max-width: 767px) {
    #fukuri .fl-block {
        padding-top: 300px;
    }
}
@media screen and (min-width: 768px) {
    #fukuri .fl-block {
        background-position: center center;
        background-size: 60%;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}
#fukuri .fl-block .fukuri-item {
    background: rgba(255,255,255,.7);
    border-radius: 20px;
    margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
    #fukuri .fl-block .fukuri-item {        
        border-radius: 50%;
        width: 46%;        
        margin-bottom: 2em;
        text-align: center;
    }
}
@media screen and (min-width: 960px) {
    #fukuri .fl-block .fukuri-item {        
        width: 40%;        
    }
}
@media screen and (min-width: 768px) {
    #fukuri .fukuri-item .circle {
        position: relative;
        padding-top: 100%;
        height: 0;
    }
}
#fukuri .fukuri-item .circle .txt-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1em;
    text-align: center;
}
@media screen and (min-width: 768px) {
    #fukuri .fukuri-item .circle .txt-block {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 3em;
    }
}
.h-campaign {
    background: #8cc63f;
    border: none;
    color: #FFF;
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
    .h-campaign {
        font-size: 1.8em;
    }
}
.h-campaign.arrow_box::before,
.h-campaign.arrow_box::after {
    background: #8cc63f;
}
#h-plan .fl-block {
    margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
    #h-plan .fl-block {
        /*align-items: flex-start;*/
        justify-content: space-between;
        margin-bottom: 5em;
    }
}
#h-plan .wrap-left {
    text-align: center;
}
@media screen and (min-width: 768px) {
    #h-plan .wrap-left {
        width: 25%;
    }        
    #h-plan .wrap-right {
        width: 70%;
        margin-top: 2em;
    }
}
#h-plan .wrap-left h3 {
    background: #353535;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    clip-path: circle(50% at 50% 50%);
    width: 150px;
    aspect-ratio: 1;
    margin: auto;
}
@media screen and (min-width: 768px) {    
    #h-plan .wrap-left h3 {
        width: 100%;
    }
}
#h-plan .initial-cost {
    background: none;
    padding: 0;
}
#h-plan .initial-cost .wrap-right {
    background: #F5F5F5;
    padding: 1em 5px;
}
@media screen and (min-width: 768px) {
    #h-plan .initial-cost .wrap-right {
        padding: 2em;
    }
}
@media screen and (min-width: 960px) {
    #h-plan .initial-cost .wrap-right {
        padding: 3em 2em;
    }
}
#h-plan .initial-cost dl {
    background: #FFF;
    display: flex;
    align-items: center;
    padding: 1em;
    margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
    #h-plan .initial-cost dl {
        padding: 1em;
    }
}
@media screen and (min-width: 960px) {
    #h-plan .initial-cost dl {
        font-size: 1.2em;
        margin-bottom: 10px;
        padding: 2em 1em;
    }
}
#h-plan .initial-cost dt {
    width: 35%;
}
#h-plan .initial-cost dd {
    width: 65%;
    text-align: center;
}
@media screen and (min-width: 768px) {
    #h-plan .initial-cost dd {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
}
@media screen and (min-width: 768px) {
    #h-plan .initial-cost dd .base::after {
        content: "　→";
    }
}
#h-plan .plan-wrap {
    background: #F5F5F5;
    padding: 1em;
}
@media screen and (min-width: 768px) {
    #h-plan .plan-wrap {
        padding: 2em;
    }
}
@media screen and (min-width: 960px) {
    #h-plan .plan-wrap {
        padding: 3em 2em;
    }
}
#h-plan .plan-wrap h4 {
    background: #4BD27D;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 0;
}
#h-plan .fee-wrap {
    padding: 1em 0;
}
#h-plan .fee-wrap dl {
    background: #FFF;
    display: flex;
    padding: .5em 1em;
    margin-bottom: 5px;
}
#h-plan .fee-wrap dt {
    width: 30%;
    align-self: center;
}
@media screen and (min-width: 768px) {
    #h-plan .fee-wrap dt {
        text-align: center;
    }
}
#h-plan .fee-wrap dd {
    width: 70%;
    text-align: center;
}
.plus-plan {
    background: rgba(255,208,10,.2);
    border: 4px double #FFD00A;
    padding: 1em;
}
.plus-plan .catch {
    color: #ff6e00;
    font-weight: bold;
    font-size: 1.4em;
    line-height: 1.4;
    text-align: center;
}
@media screen and (min-width: 768px) {
    .plus-plan .catch {
        font-size: 1.8em;
    }
}
.catch .bg-circle {
    background: #ff6e00;
    border-radius: 50%;
    color: #FFF;
    font-size: .9em;
    text-shadow: 1px 1px 1px #ff6e00, -1px 1px 1px #ff6e00, 1px -1px 1px #ff6e00, -1px -1px 1px #ff6e00;
    margin-right: 5px;
}
.catch .dec {
    background: #B9FFD2;
    display: inline-block;
}
.plan-icon {
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0;
}
.plan-icon li {
    width: 33%;
    padding: 5px;
}
@media screen and (min-width: 768px) {
    .plan-icon li {
        width: 25%;
    }
}
.plus-plan .plan-icon {
    justify-content: center;
}
.plus-plan .plan-icon li {
    width: 50%;
}
@media screen and (min-width: 768px) {
	.plus-plan .plan-icon li {
        width: 25%;
        max-width: 140px;
    }
}
.h-info {
    border: 1px solid #666;
    max-width: 960px;
    margin: auto;
    padding: 1em;
    margin-bottom: 3em;
    font-size: inherit;
}
.h-info ul {
    text-indent: -1em;
}
.h-info li {
    padding-left: 1.5em;
    padding-bottom: 1em;
}
.h-info li::before {
    content: "※";
    margin-right: 2px;
}
#hojin .contact {
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
}
#hojin .contact .s-lead {
	font-weight: normal;
}

@media screen and (min-width: 768px) {
    #hojin .appoint a .tel-num::before {
        content: "お電話：";
        font-size: .8em;
    }
}
#hojin .contact .btn-more {
	max-width: 360px;
	padding: 1em;
	margin-top: 1.5em;
}


/***********************************************
　　　求人
***********************************************/

.job-list dt {
    background: #666;
    color: #FFF;
    font-weight: bold;
    padding: 5px 10px;    
}
.job-list dd {
    padding: 1em 1em 2em;
}
.job-list ul {
    padding-left: 1em;
}
.job-list li {
    padding-bottom: 1em;
    text-indent: -1em;
}
.job-list .btn-ht {
	color: #FFF;
}
@media screen and (min-width: 768px) {
    .job-list .btn-ht {
        width: 50%;
        padding: 10px;
    }
}
#recruit .s-lead {
	color: #006532;
    font-weight: 700;
    text-align: center;
    padding-bottom: 1.5em;
}
#recruit h2 {
    font-size: clamp(18px, calc(15.818181818181818px + 0.6818181818181818vw), 24px);
    margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
	#recruit h2 {
		text-align: center;
	}
}
#recruit table {
    border-spacing: 0;
    border-top: 1px solid #CCC;
    width: 100%;
}
#recruit table tr {
    border-bottom: 1px solid #CCC;
}
#recruit th {
    padding: 5px;
}
#recruit td {
    padding: 1em 0;
}
#recruit th {
    background: #F5F5F5;
    text-align: left;
}
@media screen and (min-width: 768px) {
    #recruit th {
        width: 20%;
        padding: 1em;
    }    
    #recruit td {
        width: 80%;
        padding: 1em;
    }
}
@media screen and (max-width: 767px) {
    #recruit table,
	#recruit thead,
	#recruit tbody,
	#recruit tr,
    #recruit th,
    #recruit td {
        display: block;
		width: 100%;
    }	
	#recruit td {
		padding: 1em 5px;
	}
}
#recruit .workplace dt {
    font-weight: 500;
}
#recruit .workplace dd {
    margin-left: 0;
    padding: 5px 0 1em 10px;    
}
@media screen and (max-width: 767px) {
    .appoint a {
        background: #01A15E;
        border-radius: 10px;
        color: #FFF;
        display: block;
        margin: 1em 0;
        padding: 10px;
    }
}
@media screen and (min-width: 768px) {
    .appoint a {
        cursor: none;
        pointer-events: none;
    }
}
.appoint a .tel-num {
    font-size: 1.4em;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .appoint a .tel-num {
        color: #FFFD00;
		line-height: 1.2;
    }
}
@media screen and (max-width: 767px) {
    .appoint a .tel-num::before {
        content: "電話をかける：";
        font-size: .6em;
		line-height: 1.2;
        color: #FFF;
    }
}
@media screen and (min-width: 768px) {
    .appoint a .tel-num::before {
        content: "TEL：";
        font-size: .8em;
    }
}
@media screen and (max-width: 767px) {
    .btn-wrap {
        text-align: center;
    }
}
#recruit #form {
    background: #F5F5F5;
    padding:3em 10px 150px;
}
@media screen and (max-width: 767px) {
	#recruit #form {
		padding:5em 10px 50px;
	}
}
.form-wrap {
    background: #FFF;
    border-radius: 30px;
    max-width: 960px;
    margin: 0 auto;
    padding: 1em 5px;
}
@media screen and (min-width: 768px) {
    .form-wrap {
        padding: 2em;
    }
}
.form-wrap p {
	padding: 0 1em 1em;
}
@media screen and (min-width: 768px) {
    #recruit #form th {
        width: 25%;
    }
}


/*** サンクスページ **********************************************/

.thanks-text {
    border: solid 1px #cccccc;
    max-width: 900px;
    margin: 0 auto;
    padding: 30px;    
}
.thanks-text h2 {
    text-align: center;
}
.thanks-text p {
    text-align: center;
}


/***********************************************
　　　個人情報保護方針・規約・他
***********************************************/

#terms .inner {
	max-width: 960px;
}
.terms_list {
    margin-bottom: 50px;
}
.terms_list .prologue {
    padding: 1em 0 2em;
}
.terms_list dl dd p {
	margin: 0 ;
}
.terms_list dt {
	font-weight: bold;
    font-size: 1.1em;
	border-bottom: 1px solid #CCC;
	padding: 0 5px 5px;
}
.terms_list dd {
	margin-left: 0;
	padding: 10px 0 2em 1em;
}
.terms_list ol,
.terms_list ul {
	padding: 10px 0 1em 0;
}
.terms_list ul {
	padding-left: 1em;
}
.terms_list ol.decimal > li {
	list-style: decimal;
	margin-left: 1em;
}
.terms_list ol li,
.terms_list ul li {
	padding-bottom: 10px;
}
.terms_list ol.circle-num li {
	line-height: 1.5;
}
.terms_list ol.circle-num li::before {
	width: 1.4em;
	height: 1.4em;
    top: 2px;
}
.terms_list dd dl.sub {
	padding-top: 1em;
}
.terms_list dd dl.sub dt {
	font-weight: normal;
	border: none;
}
.terms_list dd dl.sub dd {
	padding:0 0 1em 1em;
}
.terms_list .sub dt{
    font-size: 1em;
    font-weight: bold!important;
}
.card-list {
    padding: 1em 0;
    max-width: 600px;
    margin: 0 auto 0 0;
}
#rules .list li {
    padding-bottom: 0;
}
#conditions .s-lead {
    font-weight: bold;
}
#conditions .list {
    padding-top: 2em;    
}
#admiddion .anchor {
    justify-content: space-around;
}
.dl_pdf {
    text-align: right;
}
.dl_pdf a {
    border: 1px solid #666;
    padding: 5px 10px;
}