@charset "utf-8";
/* CSS Document */

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
faq
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
main.faq .faq_list_wrap {
    padding: 0 1rem;
}

main.faq .faq_list_wrap .faq_list {
    background-color: #fff;
    padding: 2.4rem 6.4rem 3.2rem 0;
    margin: 0 auto 4.8rem;
    max-width: 1100px;
    border-radius: 0.8rem;
}

main.faq .faq_list_wrap .faq_list dt {
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 4.6rem;
    padding-top: 1.4rem;
}

main.faq .faq_list_wrap .faq_list dd {
    font-size: 1.8rem;
    line-height: 2;
}

main.faq .faq_list_wrap .faq_list dt,
main.faq .faq_list_wrap .faq_list dd {
    padding-left: 12rem;
    position: relative;
}

main.faq .faq_list_wrap .faq_list dt::before,
main.faq .faq_list_wrap .faq_list dd::before {
    content: '';
    display: block;
    width: 8.6rem;
    height: 6.4rem;
    text-align: center;
    color: #fff;
    font-size: 4.8rem;
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1.33;
    border-radius: 0 1.2rem 1.2rem 0;

}

main.faq .faq_list_wrap .faq_list dt::before {
    content: 'Q';
    background-color: var(--color_main);
}

main.faq .faq_list_wrap .faq_list dd::before {
    content: 'A';
    background-color: var(--color_orange);
}

@media screen and (max-width:480px) {

    main.faq .faq_list_wrap .faq_list {
        background-color: #fff;
        padding: 1.8rem 1.6rem 1.6rem 0;
        margin: 0 auto 1.6rem;
    }

    main.faq .faq_list_wrap .faq_list dt {
        font-size: 1.6rem;
        line-height: 1.5;
        font-weight: 700;
        margin-bottom: 2.1rem;
        padding-top: 0.35rem;
    }

    main.faq .faq_list_wrap .faq_list dd {
        font-size: 1.2rem;

    }

    main.faq .faq_list_wrap .faq_list dt {
        padding-left: 5.8rem;
    }

    main.faq .faq_list_wrap .faq_list dd {
        padding-top: 4.8rem;
        padding-left: 1.6rem;
    }

    main.faq .faq_list_wrap .faq_list dt::before,
    main.faq .faq_list_wrap .faq_list dd::before {
        width: 4.6rem;
        height: 3.4rem;
        font-size: 2.4rem;
        line-height: 1.4;
        border-radius: 0 0.6rem 0.6rem 0;

    }

    main.faq .faq_list_wrap .faq_list dt::before {
        content: 'Q';
        background-color: var(--color_main);
    }

    main.faq .faq_list_wrap .faq_list dd::before {
        content: 'A';
        background-color: var(--color_orange);
    }

}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
リクルート
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
main.recruit .gen_wrap {
    margin-bottom: 4.8rem;
}

@media screen and (max-width:480px) {
    main.recruit .gen_wrap {
        margin-bottom: 0.8rem;
    }
}

main.recruit h2.text_title {
    min-width: 940px;
    width: 76.4vw;
    margin-right: auto;
    margin-left: auto;
}

@media screen and (max-width:480px) {
    main.recruit h2.text_title {
        min-width: auto;
        width: auto;
        margin-right: 2rem;
        margin-left: 2rem;
    }
}

/* スタッフ */

main.recruit .stuff_wrap {
    background: rgb(246, 246, 246);
    background: linear-gradient(90deg, rgba(246, 246, 246, 1) 0%, rgba(246, 246, 246, 1) 50%, rgba(23, 194, 81, 1) 50%, rgba(23, 194, 81, 1) 100%);
    margin-bottom: 4.8rem;
}



main.recruit .stuff_wrap a {
    display: flex;
    min-width: 940px;
    width: 76.4vw;
    margin: auto;
    color: #fff;
}

main.recruit .stuff_wrap a .img_wrap {
    width: 50%;
    aspect-ratio: 550 / 360;
    flex-shrink: 0;
    position: relative;
}

main.recruit .stuff_wrap a .img_wrap::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(23, 194, 81, 0.3);
    mix-blend-mode: multiply;
}

main.recruit .stuff_wrap a .img_wrap img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

main.recruit .stuff_wrap a .text_wrap {
    padding: 3.2rem 0 3.2rem 7.2rem;
    box-sizing: border-box;
    width: 50%;
    flex-shrink: 0;
}

main.recruit .stuff_wrap a .text_wrap h4 {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    margin-bottom: 1.33em;
}

main.recruit .stuff_wrap a .text_wrap h4 span {
    font-size: 2em;
    vertical-align: middle;
}

main.recruit .stuff_wrap a .text_wrap h3 {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #000;
    margin-bottom: 0.67em;
}

main.recruit .stuff_wrap a .text_wrap h5 {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
    margin-bottom: 2.4rem;
}

main.recruit .stuff_wrap a .text_wrap h5 span {
    font-weight: 600;
    color: #000;
    font-size: 1.25em;
    display: block;
    margin-top: 0.8rem;
}

/* 偶数列 */
main.recruit .stuff_wrap:nth-child(2n+1) {
    background: rgb(246, 246, 246);
    background: linear-gradient(270deg, rgba(246, 246, 246, 1) 0%, rgba(246, 246, 246, 1) 50%, rgba(23, 194, 81, 1) 50%, rgba(23, 194, 81, 1) 100%);
}

main.recruit .stuff_wrap:nth-child(2n+1) a {
    flex-direction: row-reverse;
}

@media screen and (max-width:480px) {

    main.recruit .stuff_wrap {
        background: transparent !important;
        margin-bottom: 1.2rem;
        padding: 0 1rem;
    }

    main.recruit .stuff_wrap a {
        flex-direction: column;
        min-width: auto;
        width: 100%;
        position: relative;
    }

    main.recruit .stuff_wrap a .img_wrap {
        width: 100%;
        aspect-ratio: 355 / 160;
        flex-shrink: 0;
        position: relative;
    }

    main.recruit .stuff_wrap a .text_wrap {
        padding: 1rem 1.2rem 1.4rem;
        box-sizing: border-box;
        width: auto;
        background-color: var(--color_main);
    }

    main.recruit .stuff_wrap a .text_wrap h4 {
        font-size: 2rem;
        position: absolute;
        top: 1rem;
        right: 1rem;
    }

    main.recruit .stuff_wrap a .text_wrap h4 span {
        font-size: 3em;
        vertical-align: text-top;
    }

    main.recruit .stuff_wrap a .text_wrap h3 {
        font-size: 1.6rem;
        margin-bottom: 0.67em;
    }

    main.recruit .stuff_wrap a .text_wrap h5 {
        font-size: 1.2rem;
        margin-bottom: 1.4rem;
    }

    main.recruit .stuff_wrap a .text_wrap h5 span {
        font-size: 1.33em;
        display: inline-block;
        margin-top: auto;
        padding-left: 1em;
        vertical-align: -0.1em;
    }

    /* 偶数列 */
    main.recruit .stuff_wrap:nth-child(2n+1) {
        background: transparent !important;
    }

    main.recruit .stuff_wrap:nth-child(2n+1) a {
        flex-direction: column;
    }
}

/* エントリー */
main.recruit .entry_wrap {
    padding: 0 2rem;
}

main.recruit .entry_wrap ul {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 1100px;
}

main.recruit .entry_wrap ul li {
    width: 49.1%;
    max-width: 540px;
}

main.recruit .entry_wrap ul li h3 {
    width: 66.7%;
    max-width: 36rem;
    font-size: 2.4rem;
    background-color: var(--color_main);
    color: #fff;
    text-align: center;
    margin: 0 auto 1.1em;
    padding: 0.5em;
    border-radius: 0.4rem;
    position: relative;
    letter-spacing: 0.2em;
}

main.recruit .entry_wrap ul li h3 span {
    display: inline-block;
    padding-left: 0.2em;
}

main.recruit .entry_wrap ul li h3::after {
    content: '';
    display: block;
    width: 1.6rem;
    height: calc(1.6rem / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: var(--color_main);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 90%);
}

main.recruit .entry_wrap ul li h3.deep_green,
main.recruit .entry_wrap ul li h3.deep_green::after {
    background-color: var(--color_deep_green);
}

main.recruit .entry_wrap ul li .text_wrap {
    background-color: #fff;
    padding: 1.6rem 10% 3.2rem;
}

main.recruit .entry_wrap ul li .text_wrap p {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-bottom: 2.22em;
    min-height: 6em;
}

main.recruit .entry_wrap ul li .text_wrap .button_wrap .maru_button {
    margin: auto;
}

@media screen and (max-width:480px) {
    main.recruit .entry_wrap {
        padding: 0 1rem;
    }

    main.recruit .entry_wrap ul {
        flex-direction: column;
    }

    main.recruit .entry_wrap ul li {
        width: auto;
        max-width: auto;
    }

    main.recruit .entry_wrap ul li:first-child {
        margin-bottom: 3.2rem;
    }

    main.recruit .entry_wrap ul li h3 {
        width: 72%;
        max-width: 24rem;
        font-size: 1.8rem;
    }

    main.recruit .entry_wrap ul li h3::after {
        width: 1.2rem;
        height: calc(1.2rem / 2 * tan(60deg));
    }

    main.recruit .entry_wrap ul li .text_wrap {
        background-color: #fff;
        padding: 1.4rem 2rem 2.4rem;
    }

    main.recruit .entry_wrap ul li .text_wrap p {
        font-size: 1.2rem;
        line-height: 2;
        letter-spacing: 0.1em;
        margin-bottom: 2.22em;
        min-height: auto;
    }

    main.recruit .entry_wrap ul li .text_wrap .button_wrap .maru_button {
        margin: auto;
    }
}

/* faqバナー */

main.recruit .faq_banner_wrap {
    margin: 12rem 0;
}

main.recruit .faq_banner_wrap .faq_banner {
    display: block;
    background-color: #fff;
    padding: 4.8rem 2rem;
}

main.recruit .faq_banner_wrap .faq_banner .inner {
    max-width: 900px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto;
}

main.recruit .faq_banner_wrap .faq_banner .inner h2.text_title {
    width: auto;
    min-width: auto;
    margin: 0;
    padding-left: 16rem;
    background-image: url(../img/recruit/icon_faq.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 12rem auto;
}

main.recruit .faq_banner_wrap .faq_banner .inner h2.text_title span.en {
    font-size: 8rem;
}

main.recruit .faq_banner_wrap .faq_banner .inner h2.text_title span.slash {
    color: #000;
}

main.recruit .faq_banner_wrap .faq_banner .inner .maru_button {
    width: 28rem;
}

@media screen and (max-width:480px) {
    main.recruit .faq_banner_wrap {
        margin: 6rem 0;
    }

    main.recruit .faq_banner_wrap .faq_banner {
        padding: 3rem 2rem;
    }

    main.recruit .faq_banner_wrap .faq_banner .inner {
        flex-direction: column;
    }

    main.recruit .faq_banner_wrap .faq_banner .inner h2.text_title {
        margin: 0 0 3rem;
        padding-left: 8rem;
        background-position: left top;
        background-size: 6rem auto;
    }

    main.recruit .faq_banner_wrap .faq_banner .inner h2.text_title span.en {
        font-size: 4rem;
    }

    main.recruit .faq_banner_wrap .faq_banner .inner .maru_button {
        width: 24rem;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
スタッフ
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

main.recruit .interview_title_wrap {
    margin: 19.5rem auto 10rem;
    padding: 0 1rem;
}

main.recruit .interview_title_wrap .interview_title {
    max-width: 1100px;
    height: 60rem;
    margin: auto;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

/* 背景画像 */
main.recruit.staff01 .interview_title_wrap .interview_title {
    background-image: url(../img/recruit/stuff-01.webp);
}

main.recruit.staff02 .interview_title_wrap .interview_title {
    background-image: url(../img/recruit/stuff-02.webp);
}

main.recruit.staff03 .interview_title_wrap .interview_title {
    background-image: url(../img/recruit/stuff-03.webp);
}

main.recruit.staff04 .interview_title_wrap .interview_title {
    background-image: url(../img/recruit/stuff-04.webp);
}

main.recruit .interview_title_wrap .interview_title h4 {
    font-size: 8rem;
    letter-spacing: 0.05em;
    position: absolute;
    right: 0;
    top: -1.65em;
    color: var(--color_main);
}

main.recruit .interview_title_wrap .interview_title h4 span {
    font-size: 3em;
    vertical-align: -0.425em;

}

main.recruit .interview_title_wrap .interview_title .text_wrap {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: space-between;
}

main.recruit .interview_title_wrap .interview_title .text_wrap h1 {
    padding: 2.8rem 0 2.8rem 4.8rem;
    color: #fff;
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

main.recruit .interview_title_wrap .interview_title .text_wrap h5 {
    background-color: var(--color_main);
    width: 34%;
    max-width: 400px;
    padding: 5rem 4rem;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}

main.recruit .interview_title_wrap .interview_title .text_wrap h5 span {
    display: block;
    font-size: 1.78em;
    margin-top: 0.7em;
    color: #000;
}

main.recruit .gen_wrap.interview {
    background-color: #fff;
    margin-bottom: 12rem;
}

main.recruit .gen_wrap.interview p {
    margin-bottom: 3em;
}

main.recruit .gen_wrap.interview p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width:480px) {

    main.recruit .interview_title_wrap {
        margin: 6rem auto 9rem;
        padding: 0 1rem;
    }

    main.recruit .interview_title_wrap .interview_title {
        height: 21rem;

    }

    main.recruit .interview_title_wrap .interview_title h4 {
        font-size: 3rem;
        letter-spacing: 0.05em;
        position: absolute;
        right: 0;
        top: -1.65em;
        color: var(--color_main);
    }

    main.recruit .interview_title_wrap .interview_title h4 span {
        font-size: 3em;
        vertical-align: -0.425em;
    }

    main.recruit .interview_title_wrap .interview_title .text_wrap {
        position: static;
        background: transparent;
        display: block;
    }

    main.recruit .interview_title_wrap .interview_title .text_wrap h1 {
        padding: 0.6rem 1rem;
        box-sizing: border-box;
        font-size: 1.6rem;
        width: 100%;
        position: absolute;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
    }

    main.recruit .interview_title_wrap .interview_title .text_wrap h5 {
        background-color: var(--color_main);
        width: 100%;
        max-width: auto;
        padding: 1.6rem 1rem;
        box-sizing: border-box;
        width: 100%;
        position: absolute;
        bottom: 0;
        color: #fff;
        font-size: 1.2rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        position: absolute;
        bottom: 0;
        transform: translateY(100%);
    }

    main.recruit .interview_title_wrap .interview_title .text_wrap h5 span {
        display: inline-block;
        font-size: 1.33em;
        margin: 0 0 0 1em;
        vertical-align: middle;
    }

    main.recruit .gen_wrap.interview {
        background-color: #fff;
        margin-bottom: 6rem;
    }

    main.recruit .gen_wrap.interview p {
        margin-bottom: 3em;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
会社概要
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

main.company div.bg_change {
    background-color: var(--color_bg);
}

main.company div.bg_change:nth-child(2n+1) {
    background-color: #fff;
}

main.company div.bg_change:nth-child(2n+1) dl.table dt {
    background-color: #eee;
}

/* 拠点 */
main.company .kyoten_wrap .inner {
    max-width: 1100px;
}

main.company .kyoten {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6.4rem;
}

main.company .kyoten:last-of-type {
    margin-bottom: 0;
}

main.company .kyoten .map_wrap {
    max-width: 550px;
    width: 50%;
    flex-shrink: 0;
    overflow: hidden;
}

main.company .kyoten .map_wrap iframe {
    width: 400%;
    height: calc(100% - 4.2rem);
    transform: translate(-37.5%);
    pointer-events: none;
}

main.company .kyoten .map_wrap .maplink {
    margin-top: 1rem;
}

main.company .kyoten .map_wrap .maplink a {
    display: block;
    background-color: var(--color_main);
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.05em;
}

main.company .kyoten .data_wrap h3 {
    border-top: 2px solid var(--color_main);
    font-size: 2.4rem;
    line-height: 1.5;
    padding-top: 0.4em;
    letter-spacing: 0.05em;
    margin-bottom: 0.75em;
}

main.company .kyoten .data_wrap {
    width: 46%;
    max-width: 500px;
}



main.company .kyoten .data_wrap p {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 2.4em;
}

@media screen and (max-width:480px) {

    main.company .kyoten {
        flex-direction: column;
        margin-bottom: 3.2rem;
    }

    main.company .kyoten .map_wrap {
        max-width: auto;
        width: 100%;
    }

    main.company .kyoten .map_wrap iframe {
        height: calc(100vw - 4rem);
    }

    main.company .kyoten .map_wrap .maplink a {
        font-size: 1.4rem;
    }

    main.company .kyoten .data_wrap {
        width: 100%;
        max-width: auto;
        margin-bottom: 1em;
    }

    main.company .kyoten .data_wrap h3 {
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: 0.05em;
        margin-bottom: 0.75em;
    }

    main.company .kyoten .data_wrap p {
        font-size: 1.2rem;
        margin-bottom: 2em;
    }
}

/* CEO */

main.company #ceo_message .ceo_img {
    width: 33%;
    float: right;
    margin: 0 0 4rem 4rem;
}

main.company #ceo_message .ceo_name {
    height: 4rem;
    text-align: right;
    margin: 16rem auto 4rem;
}

main.company #ceo_message .ceo_name img {
    height: 100%;
    width: auto;

}

main.company #ceo_message p::after {
    content: '';
    display: block;
    clear: both;
}

@media screen and (max-width:480px) {
    main.company #ceo_message .ceo_img {
        width: 60%;
        float: none;
        margin: 0 auto 2rem;
    }

    main.company #ceo_message .ceo_name {
        height: 2.4rem;
        text-align: center;
        margin: 2rem auto 3rem;
        /* padding-top: 4rem; */
    }

    main.company #ceo_message .ceo_name img {
        height: 100%;
        width: auto;

    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
エントリーフォーム
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
.form_wrap {
    letter-spacing: 0.05em;
}

.form_wrap sup {
    font-size: 0.75em;
}

.form_wrap .hissu_ano {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 700;
}

.form_wrap .hissu {
    color: #c00;
}

.form_wrap .form_kirikae {
    padding: 3.2rem 1rem;
}

.form_wrap .form_kirikae:nth-of-type(2n) {
    background-color: var(--color_light_green);
}

.form_wrap dl {
    max-width: 900px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.form_wrap dt,
.form_wrap dd {
    margin: 1.6rem 0;
    font-size: 2rem;
    line-height: 1.5;
}

.form_wrap dt {
    width: 38%;
    font-weight: 600;
    position: relative;
    padding-top: 0.5em;
}

.form_wrap dt::before {
    content: '';
    display: block;
    height: 2px;
    width: 6em;
    background-color: var(--color_main);
    position: absolute;
    top: 0;
    left: 0;
}

.form_wrap dd {
    width: 60%;
}

.form_wrap dd h3 {
    border-left: 2px solid var(--color_main);
    padding-left: 0.5em;
    margin-bottom: 1.6rem;
}

.form_wrap dd table {
    width: 100%;
    margin-bottom: 1.6rem;
}

.form_wrap dd table th,
.form_wrap dd table td {
    padding: 1.6rem 0;
    vertical-align: middle;
}

.form_wrap dd table tr:first-of-type th,
.form_wrap dd table tr:first-of-type td {
    padding-top: 0;
}

.form_wrap dd table th {
    text-align: left;
    font-weight: 500;
    width: 8em;
}

.form_wrap dl dd input[type=text],
.form_wrap dl dd input[type=email],
.form_wrap dl dd input[type=tel],
.form_wrap dl dd textarea {
    width: 100%;
    border: 1px solid #666;
    font-size: 2rem;
    line-height: 1.5;
    padding: 0.5em;
    box-sizing: border-box;
    font-weight: 400;
}

.form_wrap dl dd input.size-s {
    width: 6em;
    text-align: center;
}

.form_wrap dl dd input.zipcord {
    width: 10em;
}

.form_wrap dl dd input.busyo {
    margin-top: 1.6rem;
}

.form_wrap dl dd textarea.address {
    margin-top: 3.2rem;
}

.form_wrap dl dd textarea {
    height: 6em;
}

.form_wrap dl dd textarea.textarea_l {
    height: 9em;
}

.form_wrap .submit_wrap {
    text-align: center;
    margin-top: 8rem;
}

.form_wrap .privacypolicy {
    width: 48rem;
    background-color: #fff;
    margin: 6rem auto;
    text-align: center;
    font-size: 2rem;
    padding: 1em 0 1.5em;
    border-radius: 0.8rem;
}

.form_wrap .privacypolicy div.link {
    font-size: 0.75em;
    padding-top: 1.25em;

}

.form_wrap .privacypolicy div.link a {
    text-decoration: underline;
}

.form_wrap .submit_wrap input[type=submit],
.form_wrap .submit_wrap input[type=button] {
    appearance: none;
    border: none;
    background-color: var(--color_main);
    color: #fff;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    width: 32rem;
    height: 9rem;
    border-radius: 4.5rem;
    margin: 1rem;
}

.form_wrap .submit_wrap input[type=button] {
    background-color: var(--color_deep_green);
}

.form_wrap .submit_wrap span.wpcf7-spinner {
    display: block;
    margin: 1rem auto;
}

/* エラーメッセージ */
.form_wrap .wpcf7-validation-errors,
.form_wrap .wpcf7-not-valid-tip,
.form_wrap .wpcf7-mail-sent-ng {
    display: inline-block;
    background-color: #ffc7c7;
    font-size: 1.2rem;
    padding: 0.5em;
    line-height: 1.5;
    border-radius: 0.5em;
    margin: 1em;
    border: none;
}

.wpcf7-response-output {
    max-width: 980px;
    margin: 2rem auto !important;
    font-size: 2rem;
    line-height: 2;
    text-align: center;
}

@media screen and (max-width:480px) {

    .form_wrap .hissu_ano {
        font-size: 1.4rem;
    }

    .form_wrap .form_kirikae {
        padding: 2rem 1rem;
    }

    .form_wrap dl {
        flex-direction: column;
    }

    .form_wrap dt,
    .form_wrap dd {
        font-size: 1.4rem;
    }

    .form_wrap dt {
        width: 100%;
        margin: 0.8rem 0 0.5em;
    }

    .form_wrap dd {
        width: 100%;
        margin: 0 0 0.8em;
    }

    .form_wrap dd h3 {
        border-left: 2px solid var(--color_main);
        padding-left: 0.5em;
        margin: 1.2rem 0;
    }

    .form_wrap dd table {
        width: 100%;
        margin-bottom: 0.8rem;
    }

    .form_wrap dd table th,
    .form_wrap dd table td {
        padding: 0.8rem 0;
        vertical-align: middle;
    }


    .form_wrap dl dd input[type=text],
    .form_wrap dl dd input[type=email],
    .form_wrap dl dd input[type=tel],
    .form_wrap dl dd textarea {
        font-size: 1.4rem;
    }

    .form_wrap dl dd input.busyo {
        margin-top: 1.2rem;
    }

    .form_wrap dl dd textarea.address {
        margin-top: 1rem;
    }

    .form_wrap .privacypolicy {
        width: auto;
        margin: 4rem 4rem;
        font-size: 1.4rem;
    }

    .form_wrap .submit_wrap {
        margin-top: 4rem;
    }

    .form_wrap .submit_wrap input[type=submit],
    .form_wrap .submit_wrap input[type=button] {
        font-size: 2rem;
        width: 80%;
        height: 6rem;
    }

    .form_wrap .submit_wrap span.wpcf7-spinner {
        display: block;
        margin: 1rem auto;
    }

    /* エラーメッセージ */
    .form_wrap .wpcf7-validation-errors,
    .form_wrap .wpcf7-not-valid-tip,
    .form_wrap .wpcf7-mail-sent-ng {
        display: inline-block;
        background-color: #ffc7c7;
        font-size: 1.2rem;
        padding: 0.5em;
        line-height: 1.5;
        border-radius: 0.5em;
        margin: 1em;
        border: none;
    }

    .wpcf7-response-output {
        font-size: 1.4rem;
    }

}

/* サンクスページ */
main.mail_tanks {
    text-align: center;
    font-size: 2rem;
    padding: 0 1em;

}

main.mail_tanks h1 {
    font-size: 1.8em;
    margin: 2em 0;
    line-height: 1.5;
}

main.mail_tanks p {
    line-height: 2;
    margin: 2em 0;
}

@media screen and (max-width:480px) {
    main.mail_tanks {
        text-align: center;
        font-size: 1.4rem;

    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
事業案内
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

main.works .gyomu_wrap {
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(23, 194, 81, 1) 50%, rgba(23, 194, 81, 1) 100%);
}

main.works .gyomu_wrap .inner {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    min-width: 940px;
    width: 76.4vw;
    margin: auto;
    color: #000;
}

main.works .gyomu_wrap .inner .img_wrap,
main.works .gyomu_wrap .inner .slider_wrap {
    width: 50%;
    /* aspect-ratio: 550 / 394; */
    flex-shrink: 0;
    position: relative;
    min-height: 394px;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider {
    width: 100%;
    height: 100%;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider div {
    height: 100%;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider div.img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider_dots {
    position: absolute;
    width: 100%;
    z-index: 2;
    bottom: 2rem;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider_dots ul.slick-dots {
    text-align: center;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider_dots .slick-dots li {
    display: inline-block;
    margin: 0 0.75rem;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider_dots .slick-dots li button {
    position: relative;
    appearance: none;
    border: none;
    font-size: 0;
    border-radius: 999px;
    width: 0;
    height: 0;
    padding: 0.5rem;
    background-color: rgba(255, 255, 255, 0.6);
    outline: none;
}

main.works .gyomu_wrap .inner .slider_wrap .bassai_slider_dots .slick-dots li.slick-active button {
    background-color: var(--color_main);
}


main.works .gyomu_wrap .inner .img_wrap img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

main.works .gyomu_wrap .inner .text_wrap {
    padding: 0;
    box-sizing: border-box;
    width: 45%;
    flex-shrink: 0;
    padding: 4rem 0;
    align-self: center;
}

main.works .gyomu_wrap .inner .text_wrap h2 {
    font-size: 2.4rem;
    color: #006633;
    margin-bottom: 1.2em;
}

main.works .gyomu_wrap .inner .text_wrap p {
    font-size: 2rem;
    line-height: 2;
}

/* 偶数列 */
main.works .gyomu_wrap:nth-child(2n+1) {
    background: rgb(255, 255, 255);
    background: linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(23, 194, 81, 1) 50%, rgba(23, 194, 81, 1) 100%);
}

main.works .gyomu_wrap:nth-child(2n+1) .inner {
    flex-direction: row-reverse;
}

@media screen and (max-width:480px) {

    main.works .gyomu_wrap,
    main.works .gyomu_wrap:nth-child(2n+1) {
        background: #fff;
    }

    main.works .gyomu_wrap .inner {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        min-width: auto;
        width: 100%;
        margin: auto;
        color: #000;
    }

    main.works .gyomu_wrap .inner .img_wrap,
    main.works .gyomu_wrap .inner .slider_wrap {
        width: 100%;
        flex-shrink: 0;
        position: relative;
        padding: 0 1rem;
        box-sizing: border-box;
        background-color: var(--color_main);
        min-height: auto;
    }

    main.works .gyomu_wrap .inner .text_wrap {
        padding: 4rem 2rem 2rem;
        width: 100%;
    }

    main.works .gyomu_wrap .inner .text_wrap h2 {
        font-size: 1.6rem;

    }

    main.works .gyomu_wrap .inner .text_wrap p {
        font-size: 1.4rem;
    }

    /* 偶数列 */
    main.works .gyomu_wrap:nth-child(2n+1) .inner {
        flex-direction: column;
    }

}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
TOP
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

main.top .recruit_wrap {
    background-image: url(../img/common/recruit_bg.webp);
    background-size: cover;
    background-position: center center;
    padding: 7rem 2rem 6rem;

}

main.top .recruit_wrap .inner {
    max-width: 1100px;
    margin: auto;
}

main.top .recruit_wrap .inner h2.title {
    margin-bottom: 3.2rem;
}

main.top .recruit_wrap .inner h2.title span.en {
    font-size: 8rem;
    color: #fff;
}

main.top .recruit_wrap .inner h2.title span.sub_copy {
    margin-top: 0.5em;
}

main.top .recruit_wrap .inner p {
    font-size: 2.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
    max-width: 620px;
    width: 55%;
    margin-bottom: 6.2rem;
    font-weight: 700;
    color: #fff;
}

@media screen and (max-width:480px) {
    main.top .recruit_wrap {
        background-image: url(../img/common/recruit_bg.webp);
        background-size: cover;
        background-position: center center;
        padding: 3.2rem 2rem 2.4rem;

    }

    main.top .recruit_wrap .inner h2.title {
        margin-bottom: 3.2rem;
    }

    main.top .recruit_wrap .inner h2.title span.en {
        font-size: 6rem;
    }

    main.top .recruit_wrap .inner h2.title span.sub_copy {
        font-size: 1.8rem;
    }

    main.top .recruit_wrap .inner p {
        font-size: 1.4rem;
        width: 60%;
    }

    main.top .recruit_wrap .inner .button_wrap a {
        margin: auto;
    }
}

/* その他のページ */
main.top .other_page_wrap {
    padding: 0 1rem;
    margin: 12rem 0;
}

main.top .other_page_wrap ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    width: 100%;
    margin: auto;
}

main.top .other_page_wrap ul li {
    width: 50%;
    flex-shrink: 0;
}

main.top .other_page_wrap ul li a {
    display: block;
    width: 100%;
    height: 25.4rem;
    box-sizing: border-box;
    background-color: var(--color_main);
    padding: 4rem 3.2rem;
}

main.top .other_page_wrap ul li.bgimg a {
    background-size: cover;
    background-position: center center;
    position: relative;
}

main.top .other_page_wrap ul li.bgimg a::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(23, 194, 81, 0.6);
    mix-blend-mode: multiply;
}

main.top .other_page_wrap ul li.bgimg.message a {
    background-image: url(../img/top/top_img-03.webp);
}

main.top .other_page_wrap ul li.bgimg.bases a {
    background-image: url(../img/top/top_img-04.webp);
}

main.top .other_page_wrap ul li.bgimg a h3,
main.top .other_page_wrap ul li.bgimg a div {
    position: relative;
}

@media screen and (max-width:480px) {
    main.top .other_page_wrap {
        margin: 6rem 0;
    }

    main.top .other_page_wrap ul li {
        width: 100%;
        flex-shrink: 0;
    }

    main.top .other_page_wrap ul li a {
        display: block;
        width: 100%;
        height: 14rem;
        padding: 2rem 2rem;
    }
}

/* 会社概要 */

main.top .company_info_wrap {
    margin: 12vw 0 12rem;
}

main.top .company_info_wrap .company_info {
    display: flex;
    width: 100%;
    position: relative;
}


main.top .company_info_wrap .company_info .text_wrap,
main.top .company_info_wrap .company_info .img_wrap {
    width: 50%;
    flex-shrink: 0;
    box-sizing: border-box;
}

main.top .company_info_wrap .company_info .img_wrap img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

main.top .company_info_wrap .company_info.company {
    flex-direction: row-reverse;
}

main.top .company_info_wrap .company_info.company .img_wrap .inner {
    background-image: url(../img/top/border.svg);
    background-size: contain;
    padding-left: calc(100% - 550px);
    height: 100%;
}

main.top .company_info_wrap .company_info .text_wrap .inner {
    width: 80%;
    margin: auto;
    padding: 8rem 0;
    box-sizing: border-box;
}

main.top .company_info_wrap .company_info .text_wrap p {
    font-size: clamp(1.8rem, 1.4vw, 2.4rem);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-bottom: 4.8rem;
}

main.top .company_info_wrap .company_info .text_wrap h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5em;
}

main.top .company_info_wrap .company_info .text_wrap h2 {
    font-size: 4.2rem;
    letter-spacing: 0.05em;
    color: var(--color_main);
    margin-bottom: 0.5em;
}

main.top .company_info_wrap .company_info.works .text_wrap h2 {
    position: absolute;
    font-size: max(12.5vw, 12rem);
    top: 0;
    left: 0;
    transform: translate(0.15em, -0.75em);
    z-index: 10;
}

main.top .company_info_wrap .company_info.works h3 {
    font-size: clamp(2rem, 1.6vw, 3.2rem);
    margin-top: 1em;
}


@media screen and (max-width:480px) {

    main.top .company_info_wrap {
        margin: 10rem 0 6rem;
    }

    main.top .company_info_wrap .company_info {
        flex-direction: column-reverse;
        width: 100%;
        position: relative;
        padding-top: 5rem;
    }

    main.top .company_info_wrap .button_wrap a {
        margin: auto;
    }

    main.top .company_info_wrap .company_info .text_wrap,
    main.top .company_info_wrap .company_info .img_wrap {
        width: 100%;
        flex-shrink: 0;
        box-sizing: border-box;
    }

    main.top .company_info_wrap .company_info .img_wrap {
        overflow: hidden;
    }

    main.top .company_info_wrap .company_info .img_wrap img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    main.top .company_info_wrap .company_info.company {
        flex-direction: column-reverse;
    }

    main.top .company_info_wrap .company_info.company .img_wrap .inner {
        background-image: none;
        padding-left: 0;
        height: 100%;
    }

    main.top .company_info_wrap .company_info.works .img_wrap img {
        transform: translateX(3rem);
    }

    main.top .company_info_wrap .company_info.company .img_wrap img {
        transform: translateX(-3rem);
    }

    main.top .company_info_wrap .company_info .text_wrap .inner {
        width: 100%;
        margin: auto;
        padding: 0 3rem;
        box-sizing: border-box;
    }

    main.top .company_info_wrap .company_info .text_wrap {
        padding-top: 3rem;
    }

    main.top .company_info_wrap .company_info .text_wrap p {
        font-size: 1.4rem;
        margin-bottom: 2em;
    }

    main.top .company_info_wrap .company_info .text_wrap h3 {
        font-size: 1.8rem;
        margin-bottom: 1.5em;
    }

    main.top .company_info_wrap .company_info .text_wrap h2 {
        font-size: 3.4rem;
        position: absolute;
        top: 0;
    }

    main.top .company_info_wrap .company_info.works {
        margin-bottom: 6rem;
    }

    main.top .company_info_wrap .company_info.works .text_wrap h2 {
        position: absolute;
        font-size: 8rem;
        top: -1em;
        left: 0.2em;
        line-height: 0.9;
        transform: none;
    }

    main.top .company_info_wrap .company_info.works h3 {
        font-size: 1.8rem;
        margin-bottom: 1.5em;
    }

    main.top .company_info_wrap .company_info.works p {
        font-size: 1.4rem;
    }

}

/* メインイメージ */
main.top .main_title {
    position: relative;

}

main.top .main_title .button_recruit {
    display: none;
}

main.top .main_title::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    background-image: url(../img/top/zigzag.svg);
    background-size: cover;
    background-position: center center;
    background-repeat: repeat-x;
    height: 36vw;
    min-height: 30rem;
    max-height: 60rem;
    bottom: 0;
    left: 0;
    z-index: 10;
    transform: translate(0, 15%);
}

main.top .main_title h1.img_title {
    aspect-ratio: 127 / 70;
    max-height: 100vh;
    max-height: 100dvh;
    padding-left: 5vw;
}


main.top .main_title h1.img_title .video_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

main.top .main_title h1.img_title .video_wrap video {
    width: 100%;
}

main.top .main_title h1.img_title .inner {
    height: 100%;
}

main.top .main_title h1.img_title .inner .top_copy {
    font-size: clamp(6rem, 6vw, 10rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

main.top .main_title h1.img_title .inner .top_sub_copy {
    font-size: clamp(1.8rem, 2vw, 3.6rem);
    color: #fff;
    position: absolute;
    line-height: 1.5;
    bottom: 1.25em;
    letter-spacing: 0.1em;
}

@media screen and (max-width:480px) {
    main.top .main_title {
        width: 100%;
        height: calc(100vh - 4.4rem);
        height: calc(100dvh - 4.4rem);
    }

    main.top .main_title .button_recruit {
        display: block;
        position: absolute;
        top: 4rem;
        right: 0;
        z-index: 50;

    }

    main.top .main_title .button_recruit a {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--color_main);
        color: #fff;
        width: 4.4rem;
        height: 12rem;
    }

    main.top .main_title .button_recruit a span {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        display: inline-block;
        padding-top: 1.75em;
        line-height: 1.5;
        background-image: url(../img/common/icon_man_white.svg);
        background-position: top center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    main.top .main_title::after {
        background-position: 60% center;
        height: 20rem;
        min-height: 0px;
        max-height: 100%;
        transform: translate(0, 15%);
    }

    main.top .main_title h1.img_title {
        aspect-ratio: auto;
        max-height: 100%;
        padding-left: 0;
        height: calc(100vh - 4.4rem);
        height: calc(100dvh - 4.4rem);
    }


    main.top .main_title h1.img_title .video_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    main.top .main_title h1.img_title .video_wrap video {
        width: auto;
        height: 100%;
        transform: translateX(-15%);
    }

    main.top .main_title h1.img_title .inner {
        height: 100%;
    }

    main.top .main_title h1.img_title .inner .top_copy {
        font-size: 3.2rem;
        line-height: 1.5;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        top: 1rem;
        left: 8rem;
    }

    main.top .main_title h1.img_title .inner .top_sub_copy {
        font-size: 1.6rem;
        position: absolute;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        top: 1rem;
        left: 1.6rem;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
プライバシーポリシー
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

main.privacy-policy {
    font-size: 2rem;
    line-height: 2;
}

main.privacy-policy p {
    margin-bottom: 1em !important;
}

main.privacy-policy h4 {
    margin: 2em 0 1em;
}

main.privacy-policy ul.list_circle li {
    line-height: 1.75;
}

@media screen and (max-width:480px) {
    main.privacy-policy {
        font-size: 1.4rem;
        line-height: 2;
    }

}