html {
    interpolate-size: allow-keywords;
}

main {
    line-height: 1.5;
}

details {
    overflow: hidden;
    position: relative;

    .accordion-title {
        transition: all 0.3s ease;
        cursor: pointer;
        padding: 20px 30px;
        list-style: none;
        border: 1px solid;
        border-radius: 10px 10px;
        position: relative;
        background-color: #ffffff;

        &::before,
        &::after {
            content: "";
            display: block;
            position: absolute;
            top: 45%;
            right: 30px;
            width: 20px;
            height: 4px;
        }

        &::before {
            width: 4px;
            height: 20px;
            margin: -8px 8px 0 0;
            transition: 0.4s;
        }

        h3 {
            padding-right: 24px;
        }
    }

    .accordion-inner {
        background-color: #fff;
        padding: 20px 30px 30px;
        border: 1px solid;
    }

    &::details-content {
        transition: all 2s ease;
        height: 0;
        opacity: 0;
    }

    &:not(:last-of-type) {
        margin-bottom: 40px;
    }

    &:open {
        .accordion-title {
            border-radius: 10px 10px 0 0;
            color: #ffffff;

            &::before,
            &::after {
                background-color: #ffffff;
            }

            &::before {
                transform: rotate(90deg);
            }
        }

        .accordion-inner {
            border-radius: 0 0 10px 10px;
        }

        &::details-content {
            height: auto;
            opacity: 1;
        }
    }
}

.reverse {
    flex-direction: row-reverse;

    .company-block__right {
        margin-right: 9.7222222222vw;
        margin-left: 0;
    }
}

.company-detail-block__contents {
    position: relative;
    margin-top: 40px;
    padding-bottom: 40px;

    &::before {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 3px;
        margin: auto;
        background: url(../img/common/img_border_03.svg) no-repeat;
        background-size: auto;
        background-size: auto;
        background-size: cover;
    }
}

.recruit-top {
    padding-left: 5.5555555556vw;
    padding-right: 5.5555555556vw;
}

.interview {
    h3 {
        color: #ffffff;
        background-color: #6fba2c;
        border-radius: 10px;
        font-size: 20px;
        text-align: center;
        padding: 20px;
        margin-bottom: 20px;
    }

    h4 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    img {
        width: 100%;
        padding: 0 30px;
        border-radius: 10px;
    }

    .company-detail-block__left {
        width: 40%;
    }

    .company-detail-block__right {
        width: 60%;
    }
}

.fukuri,
.youkou {
    .company-detail-block__left {
        width: 20%;
    }

    .company-detail-block__right {
        width: 80%;
    }
}

.qanda,
.youkou {
    padding-top: 80px;
    padding-bottom: 80px;

    .company-detail-block__head p {
        text-align: center;
        margin-bottom: 40px;
    }

    .company-detail-block__inner {
        background-color: transparent;
    }

    .company-detail-block__head h2::before {
        display: none;
    }
}

.fukuri {
    ul {
        margin-bottom: 20px;
        list-style: disc inside;
    }

    .fukuri-num {
        font-size: 2em;
    }
}

.qanda {
    details {
        .accordion-title {
            color: #76a02d;
            border-color: #76a02d;

            &::before,
            &::after {
                background-color: #76a02d;
            }

            h3 {
                text-indent: -1em;
                padding-left: 2em;
            }
        }

        &:open .accordion-title {
            background-color: #76a02d;
            color: #ffffff;

            &::before,
            &::after {
                background-color: #ffffff;
            }
        }

        .accordion-inner {
            border-color: #76a02d;

            p {
                text-indent: -1em;
                padding-left: 2em;
            }
        }
    }

    .qa-first {
        padding-right: 1em;
        font-weight: 700;
        display: inline-block;
    }
}

.youkou {
    h3 {
        margin-bottom: 10px;
    }

    details {
        .accordion-title {
            color: #ef5b62;
            border-color: #ef5b62;

            &::before,
            &::after {
                background-color: #ef5b62;
            }
        }

        &:open .accordion-title {
            background-color: #ef5b62;
            color: #ffffff;

            &::before,
            &::after {
                background-color: #ffffff;
            }
        }

        .accordion-inner {
            border-color: #ef5b62;
        }
    }

    .button-wrapper {
        margin: 40px auto 20px;

        a {
            width: fit-content;
            padding: 20px 30px;
            color: #ffffff;
            background-color: #ef5b62;
            font-size: 20px;
            border-radius: 10px;
            margin: auto;
        }
    }
}

@media screen and (min-width: 1441px) {
    .company-detail-block__contents {
        margin-top: 40px;
        padding-bottom: 40px;
    }

    .reverse {
        .company-block__right {
            margin-right: 140px;
            margin-left: 0;
        }
    }

    .recruit-top {
        padding-left: 80px;
        padding-right: 80px;
    }
}

@media screen and (max-width: 800px) {
    .company-detail-block__contents {
        margin-top: 10vw;
        padding: 0 5vw 10vw 5vw;
    }

    .reverse {
        .company-block__right {
            margin: 0 5.3333333333vw;
        }
    }

    .interview,
    .fukuri,
    .youkou {

        .company-detail-block__left,
        .company-detail-block__right {
            width: auto;
        }
    }
}