@charset "UTF-8";
/*==============================================================================
1.ページタイトル・共通タイトル
2.アンカーリンク
3.benefits 福利厚生
4.qa よくある質問
5.recruitment 募集要項
==============================================================================*/

/*============================================================================================================================================================
==============================================================================================================================================================

	1.ページタイトル・共通タイトル

==============================================================================================================================================================
============================================================================================================================================================*/
#title{
    background-image: url(../1_img/about/title.jpg);
}



/*============================================================================================================================================================
==============================================================================================================================================================

	2.アンカーリンク

==============================================================================================================================================================
============================================================================================================================================================*/
.anker-link{
    display: flex;
    flex-direction: column;
    gap: 15px;

    & a{
        width: 100%;
        padding: 20px;
        display: block;
        border: 1px solid #3f4f58;
        text-align: center;
        font-family: var(--font-base);
        font-weight: var(--weight-regular);

        &.button {
            &::after {
                right: 17px;
                transform: translateY(-50%) rotate(45deg);
            }
        }
    }
}

@media all and (min-width: 769px) {
    .anker-link{
        flex-direction: row;
    }
}





/*============================================================================================================================================================
==============================================================================================================================================================

	3.benefits 福利厚生

==============================================================================================================================================================
============================================================================================================================================================*/
#benefits{
    margin-top: 40px;

    /* ========== 福利厚生の紹介 ========== */
    & .benefits-list{
        margin-top: 40px;
        
        & section{
            & h3{
                padding-bottom: 5px;
                border-bottom: 1px solid var(--color-main);
                font-weight: var(--weight-bold);
                font-size: 1.7rem;
                text-align: center;
            }

            & ul{
                margin-top: 20px;
                padding: 20px 70px; 
                background-color: #f1f2f3;

                & li{
                    padding-left: 20px;
                    position: relative;
                    font-weight: var(--weight-bold);

                    & + li{
                        margin-top: 5px;
                    }

                    &::after{
                        content: "";
                        width: 8px;
                        aspect-ratio: 1 / 1;
                        position: absolute;
                        top: calc(0.5em + 0.1em);
                        left: 0;
                        border-radius: 100%;
                        background-color: var(--color-main);
                    }
                }
            }

            & p{
                margin-top: 10px;
                text-align: center;

                & em{
                    margin: 0 5px;
                    font-family: var(--font-math);
                    font-variation-settings: "GRAD" 200;
                    font-size: 3.6rem;

                    & span{
                        font-variation-settings: "GRAD" 0;
                    }
                }
            }

            & + section{
                margin-top: 50px;
            }
        }
    }

    /* ========== リアルな数字で見る ========== */
    & .benefits-date{
        margin-top: 60px;

        & h3{
            text-align: center;

            & span{
                padding: 15px;
                width: 100%;
                max-width: 320px;
                position: relative;
                display: inline-block;
                border-radius: 30px;
                background-color: var(--color-gray);
                color: #fff;

                &::after{
                    content: "";
                    width: 60px;
                    height: 20px;
                    position: absolute;
                    top: calc(100% - 1px);
                    left: 50%;
                    transform: translateX(-50%);
                    background-color: inherit;
                    clip-path: polygon(100% 0, 0 0, 50% 100%);
                }
            }
        }

        & .date_wrap{
            margin-top: 40px;
            display: flex;
            flex-wrap: wrap;
            gap: 20px;

            & .date-item{
                padding: 15px;
                width: calc( (100% - 20px) / 2 );
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: space-between;
                gap: 15px;
                background-color: #f1f2f3;

                & p{
                    text-align: center;
                    font-weight: var(--weight-bold);
                    line-height: 1.4;
                }

                & p:nth-child(1){
                    font-size: 1.4rem;
                }
                & p:nth-child(2){
                    font-size: 1.4rem;
                    font-weight: var(--weight-bold);

                    & em{
                        font-family: var(--font-math);
                        font-variation-settings: "GRAD" 200;
                        font-size: 5rem;
                    }

                    &.flex{
                        display: flex;
                        align-items: center;
                        gap: 0 4px;

                        & span{
                            margin-top: -0.2em;
                            font-size: 2.1rem;
                            line-height: 1.2;
                        }
                    }
                }
                & p:nth-child(3){
                    font-size: 1.2rem;
                }

                &:first-child{
                    width: 100%;
                }
            }
        }
    }
}

/*==============================================================================

	benefits PC

==============================================================================*/
@media all and (min-width: 768px){
    #benefits{
        margin-top: 70px;

        /* ========== 福利厚生の紹介 ========== */
        & .benefits-list{
            margin-top: 50px;
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 40px;
            
            & section{
                width: calc( ( 100% - 40px ) / 2 );

                & h3{
                    padding-bottom: 10px;
                }

                & ul{
                    margin-top: 25px;
                    padding: 30px 60px;
                }

                & + section{
                    margin-top: 0px;
                }

                &:last-child{
                    width: 100%;

                    &  ul{
                        display: flex;
                        justify-content: center;
                        gap: 0 40px;

                        & li{
                            margin-top: 0;
                        }
                    }
                }
            }
        }

        /* ========== リアルな数字で見る ========== */
        & .benefits-date{

            & .date_wrap{
                margin-top: 45px;

                & .date-item{

                    &:first-child,
                    &:nth-child(2){
                        width: calc( (100% - 20px) / 2 );
                    }
                    &:nth-child(n+3){
                        width: calc( (100% - 40px) / 3 );
                    }
                }
            }
        }
    }
}







/*============================================================================================================================================================
==============================================================================================================================================================

	4.qa よくある質問

==============================================================================================================================================================
============================================================================================================================================================*/
#qa{

    & .qa_wrap{
        display: flex;
        flex-direction: column;
        gap: 50px 0;

        & h3{
            margin-bottom: 25px;
            padding: 20px;
            text-align: center;
            color: #fff;
            font-weight: var(--weight-bold);
            background-color: var(--color-main);
        }

        & dl{
            padding: 10px;
            border: 1px solid var(--color-main);

            & dt{
                padding: 10px 40px 10px 25px;
                position: relative;
                font-weight: var(--weight-regular);
                cursor: pointer;
                
                &::before,
                &::after{
                    position: absolute;
                }

                &::before{
                    content: "Q";
                    top: 10px;
                    left: 0;
                    font-weight: var(--weight-bold);
                }

                &::after{
                    content: "";
                    width: 30px;
                    aspect-ratio: 1 / 1;
                    top: 50%;
                    right: 0;
                    transform: translateY(-50%);
                    background: url(../1_img/base/btn_plus.svg) no-repeat center / 100% auto;
                    transition: 500ms;
                }
            }

            & dd{
                margin-top: 10px;
                display: none;
                padding: 10px 0 0 25px;
                position: relative;
                border-top: 1px dashed var(--color-main);

                &::before{
                    content: "A";
                    position: absolute;
                    top: 10px;
                    left: 0;
                    font-weight: var(--weight-bold);
                }
            }

            & + dl{
                margin-top: 15px;
            }
        }


        & dl.is-open{
            & dt{
                &::after{
                    background: url(../1_img/base/btn_minus.svg) no-repeat center / 100% auto;
                }
            }
        }
    }
}
/*==============================================================================

	qa PC

==============================================================================*/
@media all and (min-width: 768px){
    #qa{
        & .qa_wrap{
            margin-top: 80px;
            flex-direction: row;
            gap: 0 40px;

            & section{
                flex: 1;
            }

            & h3{
                font-size: 1.5rem;
            }

            & dl{
                padding: 10px 50px;
                border: 1px solid var(--color-main);

                & dt{
                    padding: 10px 10px 10px 25px;

                    &::after{
                        right: -30px;
                    }
                }

                & dd{
                    margin-top: 10px;
                    padding: 15px 0 0 25px;

                    &::before{
                        top: 15px;
                    }
                }
            }
        }
    }
}



/*============================================================================================================================================================
==============================================================================================================================================================

	5.recruitment 募集要項

==============================================================================================================================================================
============================================================================================================================================================*/
#recruitment{

    /* ========== タブ ========== */
    & .tab-list{
        display: flex;
        gap: 5px;
        top: 40px;
        left: 0;
        position: sticky;
        z-index: 9998;

        & li{
            width: calc( (100% - 10px) / 3 );
            background-color: var(--color-main);
            transition: 500ms;

            & a{
                padding: 10px 0 35px;
                display: flex;
                width: 100%;
                height: 100%;
                align-items: center;
                justify-content: center;
                position: relative;
                text-align: center;
                font-family: var(--font-sub);
                line-height: 1.6;
                color: #fff;

                &::before,
                &::after{
                    content: "";
                    position: absolute;
                    left: 50%;
                }

                &::before{
                    width: 20px;
                    aspect-ratio: 1 / 1;
                    bottom: 8px;
                    transform: translateX(-50%);
                    border-radius: 50%;
                    border: 1px solid #fff;
                }
                &::after{
                    width: 5px;
                    aspect-ratio: 1 / 1;
                    bottom: 14px;
                    border-top: 1px solid #fff;
                    border-left: 1px solid #fff;
                    transform: translateX(-50%) rotate(45deg);
                }
            }

            /* ホバー時 & active時 */
            &:hover,
            &.active{
                background-color: #c5cacd;

                & a{
                    color: var(--color-main);

                    &::before,
                    &::after{
                        border-color: var(--color-main);
                    }

                    &::after{
                        bottom: 15px;
                        transform: translateX(-50%) rotate(-135deg);
                    }
                }
            }
        }
    }
    /* ========== タブ 中身 ========== */
    & .tab-content{
        margin-top: 20px;
        padding-bottom: 110px;

        & > div {
            padding: 15px;
            display: none; /* デフォルトは非表示 */
            border: 1px solid var(--color-main);
        }

        & > div.active {
            display: block; /* active のみ表示 */
        }
    }

    /* ========== tableの設定 ========== */
    & table{
        display: block;
        border: none;

        & tr,& th,& td{
            border: none;
            display: block;
        }

        & tr + tr{
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px dashed var(--color-main);
        }

        & td > * {
            margin-bottom: 10px;
        }

        & td > *:last-child {
            margin-bottom: 0;
        }
        & td a{
            text-decoration: underline;
            font-weight: var(--weight-bold);
        }

        & .note{
            margin-left: 1em;
            text-indent: -1em;
        }

        & ul{
            & li{
                margin-left: 1em;
                text-indent: -1em;

                & + li{
                    margin-top: 5px;
                }

                & ul{
                    margin-top: 2px;
                }
            }
            &.block li::before{
                content: "◼︎";
            }
            &.circle li::before{
                content: "・";
            }
        }

        & .space{
            height: 20px;
        }

        & dl{
            & dt{
                font-weight: var(--weight-bold);
            }

            & dd{
                margin-top: 12px;

                & > * {
                    margin-bottom: 3px;
                }
                & > *:last-child {
                    margin-bottom: 0;
                }
            }
        }
    }
}
/*==============================================================================

	recruitment PC

==============================================================================*/
@media all and (min-width: 768px){
    #recruitment{
        /* ========== タブ ========== */
        & .tab-list{
            top: 85px;

            & li{
                width: calc( (100% - 10px) / 3 );
                background-color: var(--color-main);
                transition: 500ms;

                & a{
                    padding: 25px 0 50px;
                    font-size: 1.6rem;

                    &::before{
                        bottom: 18px;
                    }
                    &::after{
                        bottom: 24px;
                    }
                }

                /* ホバー時 & active時 */
                &:hover,
                &.active{
                    & a{
                        &::after{
                            bottom: 25px;
                        }
                    }
                }
            }
        }

        /* ========== タブ 中身 ========== */
        & .tab-content{

            & > div {
                padding: 75px;
            }
        }

        /* ========== tableの設定 ========== */
        & table{
            display: table;

            & tr{
                display: table-row;
            }
            & th,& td{
                display: table-cell;
            }
            & th{
                padding: 30px;
                width: 220px;
                font-size: 1.8rem;
            }
            & td{
                padding: 30px;
                font-size: 1.5rem;
            }

            & tr + tr{
                margin-top: 0;
                padding-top: 0;
            }
            & tr:first-child{
                & th,& td{
                    padding-top: 0;
                }
            }
            & tr:last-child{
                & th,& td{
                    padding-bottom: 0;
                }
            }
        }
    }
}