h2 {
    color: var(--green);
}
h2 span {
    color: var(--orange);
}
.en_head {
    color: var(--orange);
}

#scrollmenu {
    /* background: #f9f0cdc0; */
    background: #1daf58d9;
}

.wrapper {
    justify-content: space-between;
}
#fv {
    background-image: url(../img/fv_bk.jpg);
    background-size: cover;
    padding: 0 0 20px;
    background-position: center;
    padding-top: 70px;
}

#fv .fv_attention {
    padding-top: 90px;
    padding-left: 10px;
    font-size: 10px;
}

#fv .fv_img {
    width: 410px;
}

#fv .fv_box {
    width: 90%;
    max-width: none;
    text-align: center;
    padding-top: 100px;
}

#fv .fv_text .fv_heading {
    display: inline;
    color: var(--green);
    padding: 0px 5px;
    text-align: center;
    line-height: 1.35;
    font-size: min(50px, 4.3vw);
    font-weight: bold;
    margin-top: 0;
}

#fv .fv_circle_img {
    margin: 30px auto;
}

#fv .fv_text {
    font-size: 24px;
    font-weight: 600;
}

#fv .fv_text p {
    text-align: center;
    color: var(--green);
    margin-top: 30px;
}

#fv .sub_head {
    font-size: 17px;
}
#fv .sub_head:nth-of-type(2) {
    margin-top: 10px;
}

.btn.btn_left {
    background: var(--green);
    border: 1px solid var(--green);
    border-radius: 50px;
}
.btn.btn_right {
    background: var(--white);
    border: 1px solid var(--green);
    border-radius: 50px;
    color: var(--green);
}
.btn.btn_left::after {
    content: "フリーランスとしてご活動中の方";
    border: 2px solid var(--green);
    color: var(--green);
}
.btn.btn_right::after {
    content: "現在正社員の方はこちら";
}

.fv_btn_box {
    margin: 20px auto;
    width: fit-content;
    gap: 40px;
    display: flex;
}

.introduction .inner_box_50 {
    display: flex;
    align-items: center;
    padding: 50px 16px;
    box-sizing: border-box;
}

.introduction .inner_box_50 .introduction_h2 {
    position: relative;
    flex: 1;
}

.introduction .inner_box_50 .introduction_h2 h1 {
    text-align: left;
    font-size: 24px;
    margin: 0;
    color: var(--green);
}

.introduction .inner_box_50 .introduction_h2::after{
    content: "";
    display: block;
    height: 100px;
    width: 2px;
    background: var(--black);
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.introduction .inner_box_50 .introduction_p {
    flex: 2;
    padding-left: 32px;
}

@media screen and (max-width: 1050px) {
    .introduction .inner_box_50 .introduction_p {
        padding-left: 0;
    }
}

#problem {
    background-color: var(--light-green);
    background-image: url(../img/problem_img.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 230px;
}

#problem .problem_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 120px;
    gap: 20px;
}

#problem .problem_box .problem_s_box {
    background: var(--white);
    width: 30%;
    /* margin: 0 auto 25px; */
    border: 2px solid var(--green);
    position: relative;
    text-align: center;
}

#problem .problem_box .problem_s_box h3 {
    background: var(--green);
    color: var(--white);
    position: relative;
    margin: 0;
    padding: 7px;
    line-height: 1.4;
}

#problem .problem_box .problem_s_box h3:after {
    content: "";
    position: absolute;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--green);
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

#problem .problem_box .problem_s_box p {
    padding: 5px 8px;
}

#merit {
    margin-bottom: -50px;
}

#merit .merit_box .merit_s_box {
    display: flex;
    width: 90%;
    background-color: var(--light-green);
    padding: 20px;
    justify-content: space-between;
    margin: 0 auto 25px 0;
}

#merit .merit_box .merit_s_box h3 {
    color: var(--green);
}

#merit .merit_box .merit_s_box:nth-child(2n) {
    margin: 0 0 25px auto;
}

#merit .merit_box .merit_s_box .merit_img {
    flex: 1;
}

#merit .merit_box .merit_s_box .merit_text {
    flex: 3;
    margin-left: 20px;
}

#project {
    background-color: var(--light-green);
    padding: 0 1rem;
}

#project .project_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    height: 100%;
    /* align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap; */
}

#project .project_box .project_s_box {
    background: var(--white);
    /* width: 280px; */
    margin-bottom: 30px;
    text-align: center;
    height: 100%;
}

#project .project_box .project_s_box h3 {
    font-size: var(--p);
    background: var(--green);
    color: var(--white);
    margin: 0;
    padding: 10px;
}

#project .project_box .project_s_box .time,
#project .project_box .project_s_box .example {
    color: var(--white);
    background-color: var(--green);
    font-weight: 600;
    width: fit-content;
    text-align: center;
    padding: 3px 10px;
    border-radius: 30px;
    margin: 20px auto 10px;
}

#project .project_s_box .price {
    font-family: var(--font-family-num);
    font-size: 65px;
    font-weight: 600;
    text-align: center;
    margin: 0;
}
#project .project_s_box .price small {
    font-family: var(--font-family-pr);
    font-size: 20px;
    font-weight: 600;
}

#project .project_s_box .location {
    position: relative;
    width: 85%;
    margin: 0 auto;
}

#project .project_s_box .location:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 20px;
    background-image: url(../img/location.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 5px;
    margin-bottom: 4px;
}

#project .project_s_box ul {
    width: 85%;
    margin: 0 auto 20px;
}

#project .project_s_box ul li {
    text-indent: -1em;
    padding-left: 1em;
    margin: 5px 0;
}

#project .btn.btn_left {
    margin: 30px auto 0;
    display: block;
}

#voice .voice_s_box {
    display: flex;
    width: 90%;
    background-color: var(--light-green);
    padding: 20px;
    justify-content: space-between;
    margin: 0 auto 25px 0;
}

#voice .voice_box .voice_s_box .voice_img {
    flex: 1;
}

#voice .voice_box .voice_s_box .voice_img p {
    font-size: 12px;
}

#voice .voice_box .voice_s_box .voice_text {
    flex: 4;
    margin-left: 20px;
}

#voice .voice_box .voice_s_box .voice_text h3 {
    color: var(--green);
}

#voice .voice_s_box:nth-child(2n) {
    margin: 0 0 25px auto;
}

#flow h2,
#faq h2,
#project h2 {
    margin-bottom: 10px;
}

#flow .h2_under {
    margin-bottom: 80px;
}

#faq .faq_s_box {
    background-color: var(--light-green);
}
#faq .faq_s_box h3 {
    color: var(--green);
}


#registration{
    padding-top: 1rem;
}

#registration h2{
    font-size: 20px;
    padding: 0 1rem;
    margin-bottom: 0;
}
@media screen and (max-width: 750px) {
    #registration h2{
        padding: 0 1rem;
    }
}

footer {
    background-color: var(--light-green);
}


/* responsive */
@media screen and (max-width: 1050px) {
    .fv_btn_box {
        display: block;
        width: 70%;
    }
    #fv {
        padding-top: 60px;
    }
    #fv .fv_circle_img {
        width: min(60%, 450px);
    }
    .introduction .inner_box_50 {
        display: block;
    }
    .introduction .inner_box_50 .introduction_h2::after {
        content: none;
    }
    #problem {
        background-size: 195px;
    }
    
    #merit .merit_box .merit_s_box .merit_img {
        width: 70%;
        margin: 0 auto;
    }
    #merit .merit_box .merit_s_box .merit_text {
        margin: 0;
    }
    #project .project_box.slick-initialized .slick-track {
        display: flex;
    }
    #project .project_box.slick-initialized .slick-slide {
        height: auto;
    }
    #project .project_box.slick-initialized .slick-slide > div {
        height: 100%;
    }
    #project .project_box.slick-initialized {
        padding-bottom: 40px;
    }
    .slick-dots {
        bottom: 0!important;
    }
    .slick-dots li.slick-active button:before {
        color: var(--green)!important;
        content: "●"!important;
        font-size: 14px!important;
    }
    .slick-dots li button:before {
        content: "◯"!important;
        color: var(--green)!important;
        opacity: 1!important;
        font-size: 14px!important;
    }
    #project .btn.btn_left {
        margin: 60px auto 0;
    }
    #voice .voice_box .voice_s_box .voice_text {
        margin-left: 10px;
    }
    #voice .voice_box .voice_s_box .voice_img {
        flex: 1.5;
    }
    #fv .fv_box {
        width: 90%;
    }
    #project .project_box {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media screen and (max-width: 750px) {
    #fv .fv_attention {
        padding-top: 40px;
    }
    #fv .fv_circle_img {
        width: min(90%, 370px);
        margin: 20px auto 10px;
    }
    .fv_btn_box {
        width: 100%;
    }
    #fv .fv_box .fv_heading {
        font-size: min(30px, 8vw);
    }
    #fv .fv_box {
        padding-top: min(50px, 6vw);
    }
    #fv .fv_text p {
        font-size: 14px;
        margin-top: 15px;
    }
    #fv .sub_head:nth-of-type(2) {
        margin-top: 7px;
    }
    #problem .problem_box {
        gap: 13px;
    }
    #problem .problem_box .problem_s_box {
        width: min(90%, 500px);
    }
    #problem .problem_box .problem_s_box h3 {
        font-size: 16px;
    }
    #problem .problem_box .problem_s_box p {
       font-size: 14px;
   }
    #merit .merit_box .merit_s_box {
        display: block;
    }
    
}
