@charset "UTF-8";

:root {
    --font-main:"游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    --font-header: "Zen Kaku Gothic New", sans-serif;
    --font-header-en: "Hurricane", cursive;
    --font-sub: "Zen Maru Gothic", sans-serif;
    --brack:#000;
    --white:#fff;
    --blue:#5aaac3;
    --yellow:#ffff00;
    
    /* MV画像配置用変数 */
    --mv-aspect-ratio: 56.25%; /* 16:9のアスペクト比 */
    --mv-copy-top: 29%;
    --mv-copy-left: 10%;
    --mv-copy-width: 33.33%;
    --mv-copy-height: 33.33%;
    --mv-person01-top: 20%;
    --mv-person01-left: 57%;
    --mv-person01-width: 20%;
    --mv-person01-height: 28%;
    --mv-person02-top: 44%;
    --mv-person02-left: 51%;
    --mv-person02-width: 20%;
    --mv-person02-height: 30%;
    --mv-person03-top: 38%;
    --mv-person03-left: 73%;
    --mv-person03-width: 16%;
    --mv-person03-height: 29%;
    --mv-ball01-top: -7%;
    --mv-ball01-left: 80%;
    --mv-ball01-width: 30%;
    --mv-ball01-height: 30%;
    --mv-ball02-top: 63%;
    --mv-ball02-left: -10%;
    --mv-ball02-width: 20%;
    --mv-ball02-height: 20%;
    --tb-mv-copy-top: -4%;
    --tb-mv-copy-left: 19%;
    --tb-mv-copy-width: 60%;
    --tb-mv-copy-height: 60%;
    --tb-mv-person01-top: 40%;
    --tb-mv-person01-left: 28%;
    --tb-mv-person01-width: 36%;
    --sp-mv-person01-height: 36%;
    --tb-mv-person02-top: 60%;
    --tb-mv-person02-left: 18%;
    --tb-mv-person02-width: 36%;
    --tb-mv-person02-height: 36%;
    --tb-mv-person03-top: 56%;
    --tb-mv-person03-left: 56%;
    --tb-mv-person03-width: 32%;
    --tb-mv-person03-height: 28%;
    --sp-mv-copy-top: -8%;
    --sp-mv-copy-left: 19%;
    --sp-mv-copy-width: 60%;
    --sp-mv-copy-height: 60%;
    --sp-mv-person01-top: 23%;
    --sp-mv-person01-left: 28%;
    --sp-mv-person01-width: 36%;
    --sp-mv-person01-height: 36%;
    --sp-mv-person02-top: 44%;
    --sp-mv-person02-left: 18%;
    --sp-mv-person02-width: 36%;
    --sp-mv-person02-height: 36%;
    --sp-mv-person03-top: 48%;
    --sp-mv-person03-left: 56%;
    --sp-mv-person03-width: 28%;
    --sp-mv-person03-height: 22%;
}
html{
    scroll-padding-top: 100px;
    overflow-x: hidden;

}
body {
  font-family: var(--font-main);
  color: var(--brack);
  font-size: 16px;
  margin: 0;
  background: #fff;
  z-index: -1;
  overflow-x: hidden;
  /* モバイルでのスクロール最適化 */
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}

.container {
  max-width:1040px;
  margin: 0 auto;
  background: #fff;
  padding: 0 20px;
  /* overflow-y: hidden;
  overflow-x: hidden; */
  width: 100%;
  box-sizing: border-box;
}

img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    pointer-events: none;
}
a{
    text-decoration: none;
    color:inherit;

    
}
li{
    list-style: none;
}
p{
    font-size: 20px;
    line-height: 1.8;
}
@media (max-width: 768px) {
    p{
        font-size: 16px;
    }
}

h2{
    font-family: var(--font-header);
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    color: var(--brack);
    margin-top: 6rem;
    z-index: 1;
    position: relative;
}
h3{
    font-size: 24px;
    font-weight: bold;
}
.header__en{
    font-family: var(--font-header-en);
    font-size: 50px;
    color: var(--blue);
    margin-top: -2.2rem;
    margin-bottom: 3rem;
    text-align: center;
    
}
@media (max-width: 768px) {
    h2{
        font-size: 28px;
        margin-top: 4rem;
    }
    h3{
        font-size: 24px;
    }
    .header__en{
        font-size: 36px;
        margin-top: -1.7rem;
        margin-bottom: 2rem;
    }
}


.white{
    color: var(--white);
}
.blue{
    color: var(--blue);
}
.yellow{
    color: var(--yellow);
}
.brack{
    color: var(--brack);
}

.button__link-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 6rem auto;
    .button__link{
        display: block;
        width: 460px;
        padding: 1rem 2rem;
        border-radius: 100px;
        border: 2px solid var(--white);
        background-color: var(--white);
        color: var(--blue);
        text-align: center;
        font-weight: 600;
        font-size: 26px;
        letter-spacing: 0.05em;
        font-family: var(--font-sub);
    }
}
.pagetop{
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    z-index: 1000;
    background-color: var(--white);
    box-shadow: 0 4px 0  var(--blue);
    border: 2px solid var(--blue);
    display: block;
    
}


@media (max-width: 768px) {
    .button__link-wrapper{
        margin: 4rem auto;
        .button__link{
            width: 300px;
            padding: 1rem 1.5rem;
            font-size: 20px;
        }
    }
    .pagetop{
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: 60px;
    }
}
@media (max-width: 768px) {
    .pc-only{
        display: none;
    }
}

/* ホバー、フォーカス時のスタイル */
@media (any-hover: hover) {
    a{
        cursor: pointer;
        pointer-events: auto;
    }

    header{
        .header__logo-nav{
            a{
                img{
                    transition: opacity 0.3s ease;
                }
                &:hover img{
                    opacity: 0.7;
                }
                &:focus-visible img{
                    opacity: 0.7;
                }
            }
        }
        .header__nav{
            li{
                a{                
                    transition: background-color 0.3s ease;
                    &:hover:not(.active){
                        background-color: #ffffff48;
                        
                    }
                    &:focus-visible {
                        background-color: #ffffff48;
                    }
    
                }
            }
        }
    }
    .button__link-wrapper{
        .button__link{
            transition: background-color 0.3s ease, color 0.3s ease;
            &:focus-visible {
                background-color: var(--blue);
                color: var(--white);
            }
            &:hover{
                background-color: var(--blue);
                color: var(--white);
            }
        }
    }
    .pagetop{
        transition: translate 0.3s ease, box-shadow 0.3s ease;
        &:focus-visible {
            translate: 0 4px;
            box-shadow: 0 0 0 var(--blue);
        }
        &:hover{
            translate: 0 4px;
            box-shadow: 0 0 0 var(--blue);
        }
        
    }
    .interview{
        .interview__content-wrapper{
            .interview__content-link-wrapper{
                a{
                    transition: background-color 0.3s ease, color 0.3s ease;

                    &:hover{
                        color: var(--blue);
                        background-color: var(--white);
                    }
                    &:focus-visible {
                        color: var(--blue);
                        background-color: var(--white);
                    }

                }
            }
        }
        .interview__video-wrapper{
            .interview__video-wrapper-item{
                a{
                    img{
                        transition: scale 0.3s ease;
                    }
                    &:hover img{
                        scale: 1.05;
                    }
                    &:focus-visible img{
                        scale: 1.05;
                    }
                }
            }
        }
    }
    .toggle-wrapper{
        .toggle-title{
            transition: opacity 0.3s ease;
            &:hover{
                opacity: 0.7;
            }
            &:focus-visible{
                opacity: 0.7;
            }
        }
    }
    .footer{
        .footer__wrapper{
            .footer__logo{
                a{
                    img{
                        transition: opacity 0.3s ease;
                    }
                    &:hover img{
                        opacity: 0.7;
                    }
                    &:focus-visible img{
                        opacity: 0.7;
                    }
                }
            }
            .footer__info-wrapper{
                a{
                    transition: opacity 0.3s ease;
                    &:hover{
                        opacity: 0.7;
                    }
                    &:focus-visible{
                        opacity: 0.7;
                    }
                }
            }
        }
    }
}





/* ------------------------------------------------------------------ */

.header {
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 1000;

    margin: 0 auto;
    .header__logo-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
    }
    .header__logo {
        width: 200px;
        height: auto;
        display: block;
        margin-left: 3rem;
        scale: 0.6;
    }
    .header__nav {
        background: var(--blue);
        padding:0.5rem 4rem 0.5rem 2rem;
        border-radius: 50px 0 0 50px;

        letter-spacing: 0.02em;
        ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
        }
        li {
            a {
                color: var(--white);
                padding: 0.5rem 1rem;
                border-radius: 20px;
                
                /* アクティブ状態のスタイル */
                &.active {
                    background-color: var(--white);
                    color: var(--blue);
                }
            }
        }
    }
    
    /* ハンバーガーメニューボタン */
    .hamburger-btn {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: 80px; 
        height: 80px;
        background-color: var(--blue);
        z-index: 9999;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 12px;
        border-radius: 0 0 0 30px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
        
        
        .hamburger-line {
            width: 40px;
            height: 4px;
            background-color: var(--white);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            border-radius: 2px;
        }
        
        &.active {
            .hamburger-line {
                &:nth-child(1) {
                    transform: translateY(16px) rotate(45deg);
                }
                &:nth-child(2) {
                    opacity: 0;
                }
                &:nth-child(3) {
                    transform: translateY(-16px) rotate(-45deg);
                }
            }
        }
    }
    

}




@media (max-width: 768px) {
    .header {
        top: 0;
        .header__nav {
            position: fixed;
            top: 0;
            right: -100%;
            width: 100%;
            height: 80vh;
            background-color: var(--blue);
            z-index: 1000;
            transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            align-items: center;
            padding-left: 2rem;
            border-radius: 0 0 0 50px;
            flex-direction: column;
            justify-content: center;
            
            &.active {
                right: 0;
            }
            
            ul {
                display: flex;
                flex-direction: column;
                gap: 2rem;
                
                li {
                    a {
                        color: var(--white);
                        font-size: 18px;
                        font-weight: 600;
                        letter-spacing: 0.02em;
                        padding: 1rem 2rem;
                    }
                }
            }
        }
        
        .hamburger-btn {
            display: flex;
        }

        .header__logo{
            width: 180px;
            height: auto;
            margin: 0.5rem 0 0 0;
        }
    }
}



.mv__area{
    position: relative;
    overflow-x: hidden;

    .mv__text{
        display: inline-block;
        position: absolute;
        top: 18%;
        left: 0;
        font-weight: 600;
        font-size: 24px;
        letter-spacing: 0.02em;
        background: var(--blue);
        padding:1rem 3rem 1rem 6rem;
        color: var(--white);
        border-radius:0 100px 100px 0;
        line-height: 1.2;
        z-index: 10;
    }
    .mv__wrapper{
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: var(--mv-aspect-ratio);
        overflow: hidden;
        padding-top: 300px;
        
        img{
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
        
        .mv__bg{
            position: absolute;
            top: 0;
            left: 0;
            width: 94%;
            height: 100%;
            margin: 0 40px;
            object-fit: contain;
            opacity: 0;
        }
        
        .mv__copy{
            position: absolute;
            top: var(--mv-copy-top);
            left: var(--mv-copy-left);
            width: var(--mv-copy-width);
            height: var(--mv-copy-height);
            opacity: 0;
        }
        
        .mv__person-01{
            position: absolute;
            top: var(--mv-person01-top);
            left: var(--mv-person01-left);
            width: var(--mv-person01-width);
            height: var(--mv-person01-height);
            opacity: 0;
        }
        
        .mv__person-02{
            position: absolute;
            top: var(--mv-person02-top);
            left: var(--mv-person02-left);
            width: var(--mv-person02-width);
            height: var(--mv-person02-height);
            opacity: 0;
        }
        
        .mv__person-03{
            position: absolute;
            top: var(--mv-person03-top);
            left: var(--mv-person03-left);
            width: var(--mv-person03-width);
            height: var(--mv-person03-height);
            opacity: 0;
        }
        
        .mv__ball-01{
            position: absolute;
            top: var(--mv-ball01-top);
            left: var(--mv-ball01-left);
            width: var(--mv-ball01-width);
            height: var(--mv-ball01-height);
            z-index: 10;
        }
        
        .mv__ball-02{
            position: absolute;
            top: var(--mv-ball02-top);
            left: var(--mv-ball02-left);
            width: var(--mv-ball02-width);
            height: var(--mv-ball02-height);
            z-index: 10;
        }
        
        .mv__wave{
            position: absolute;
            top: var(--mv-wave-top);
            left: var(--mv-wave-left);
            width: var(--mv-wave-width);
            height: var(--mv-wave-height);
            z-index: 5;
        }
    }
    /* &::before{
        content: "";
        position: absolute;
        bottom: 0;
        transform: translate(-30%, -20%) ;
        width: 200px;
        height: 200px;
        background-image: url(../img/ball_mv_02.png);
        background-size: cover;
        background-position: top right;
        background-repeat: no-repeat;
        z-index: 5;
    }

    &::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 100px;
        height: 100px;
        background-image: url(../img/wave.png);
        background-size: cover;
        background-position: left;
        background-repeat: no-repeat;
        z-index: 5;
    } */

}



@media (max-width: 960px) {
    .mv__area{
        .mv__text{
            padding:1rem 2rem 1rem 4rem;
            top: 20%;
        }
    }
}
@media (max-width: 768px) {
    .mv__area{
        .mv__text{
            font-size: 18px;
            padding:0.5rem 2rem 0.5rem 2rem;
            top: 12%;
        }
        .mv__wrapper{
            padding-bottom: 100%;
            margin-top: 100px;

            .mv__bg{
                width: 100%;
                height: auto;
                margin: 0;
            }
            .mv__copy{
                position: absolute;
                top: var(--tb-mv-copy-top);
                left: var(--tb-mv-copy-left);
                width: var(--tb-mv-copy-width);
                height: var(--tb-mv-copy-height);
                opacity: 0;
            }
            
            .mv__person-01{
                position: absolute;
                top: var(--tb-mv-person01-top);
                left: var(--tb-mv-person01-left);
                width: var(--tb-mv-person01-width);
                height: var(--tb-mv-person01-height);
                opacity: 0;
            }
            
            .mv__person-02{
                position: absolute;
                top: var(--tb-mv-person02-top);
                left: var(--tb-mv-person02-left);
                width: var(--tb-mv-person02-width);
                height: var(--tb-mv-person02-height);
                opacity: 0;
            }
            
            .mv__person-03{
                position: absolute;
                top: var(--tb-mv-person03-top);
                left: var(--tb-mv-person03-left);
                width: var(--tb-mv-person03-width);
                height: var(--tb-mv-person03-height);
                opacity: 0;
            }
            
            .mv__ball-01{
                display: none;
            }
            
            .mv__ball-02{
                display: none;
            }
            
            .mv__wave{
                display: none;
            }
    
        }
    }
}
@media (max-width: 480px) {
    .mv__area{
        .mv__wrapper{
            .mv__copy{
                position: absolute;
                top: var(--sp-mv-copy-top);
                left: var(--sp-mv-copy-left);
                width: var(--sp-mv-copy-width);
                height: var(--sp-mv-copy-height);
                opacity: 0;
            }
            
            .mv__person-01{
                position: absolute;
                top: var(--sp-mv-person01-top);
                left: var(--sp-mv-person01-left);
                width: var(--sp-mv-person01-width);
                height: var(--sp-mv-person01-height);
                opacity: 0;
            }
            
            .mv__person-02{
                position: absolute;
                top: var(--sp-mv-person02-top);
                left: var(--sp-mv-person02-left);
                width: var(--sp-mv-person02-width);
                height: var(--sp-mv-person02-height);
                opacity: 0;
            }
            
            .mv__person-03{
                position: absolute;
                top: var(--sp-mv-person03-top);
                left: var(--sp-mv-person03-left);
                width: var(--sp-mv-person03-width);
                height: var(--sp-mv-person03-height);
                opacity: 0;
            }

        }
    }
}

/* ------------------------------------------------------------------ */
.lead{
    /* @media (max-width: 768px) {
        background: url(../img/sp_bg_intro.png) no-repeat top center / cover;
    } */
    padding-top: 10rem;
    padding-bottom: 10rem;
    margin-top: -6rem;
    position: relative;
    z-index: 20;

    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }

    .container{
        background-color: inherit;
        margin-top: 6rem;

    }

    .lead__title{
        font-size: 36px;
        font-family: var(--font-header);
        font-weight: bold;
        text-align: center;
        color: var(--white);
        margin-bottom: 5rem;
    }
    .lead__text{
        font-size: 24px;
        letter-spacing: 0.05em;
        color: var(--white);
        text-align: center;
        margin-bottom: 1.2rem;
        line-height: 1.5;
    
    }
    .lead__content-wrapper{
        display: grid;
        grid-template-columns: repeat(3, auto);
        align-items: end;
        margin:6rem 0 0;
        padding-bottom: 4rem;
        gap: 1rem;

        .lead__content-img{
            margin-bottom: -100px;
            max-width: 525px;
            height: auto;
            object-fit: contain;

        }
        .lead__content-text{
            font-family: var(--font-sub);
            font-weight: 300;
            font-size: 12px;
            color: var(--white);
            text-align: right;
            align-self: end;
        }
        .lead__content-tasukaru{
            max-width: 185px;
            height: auto;
            object-fit: contain;
        }
    }
}

.sp-br{
    display: none;
}

@media (max-width: 790px) {
    .lead{
        .lead__title{
            font-size: 28px;
            margin-bottom: 3rem;
        }
        .lead__text{
            font-size: 17px;
        }
    }

}

@media (max-width: 768px) {
    .lead{
        padding-top: 6rem;
        .container{
            margin-top: 0;
        }
        .sp-br{
            display: block;
        }
        .lead__content-wrapper{
            grid-template-columns: 60% 35%;
            grid-template-rows: auto auto;
            align-items: start;
            .lead__content-img{
                margin-bottom: 0;
                grid-column: 1 / 2;
                grid-row: 2 / 3;
                width: 100%;
            }
            .lead__content-text{
                grid-column: 1 / 2;
                grid-row: 1 / 2;
            }
            .lead__content-tasukaru{
                grid-column: 2 / 3;
                grid-row: 1 / -1;
                width: 100%;
            }
        }
    }
}
@media (max-width: 480px) {
    .lead{
        .lead__title{
            font-size: 22px;
        }
    }
}
/* ------------------------------------------------------------------ */
/* 事業内容 */
/* ------------------------------------------------------------------ */
.business{
    padding-top: 10rem;
    margin-top: -16rem;
    position: relative;
    z-index: 30;

    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--white);
        height: 80%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_white.png) no-repeat top center / 100% auto;
        z-index: -1;
    }


    .container{
        margin-top: 4rem;
        position: relative;
        overflow: visible;
    }
    .business__star{
        position: absolute;
        top: 0;
        left: 0;
        width: 150px;
        translate: -40% -30%;
        z-index: 10;
    }
    
    .business__content-wrapper{
        display: grid;
        grid-template-columns: auto auto;
        grid-template-rows: auto;
        gap: 2rem;
        margin-bottom: 4rem;
        .business__content-item{
            display: grid;
            grid-template-columns: 1fr auto;
            grid-template-rows: auto 1fr;
            gap: 1rem;
            background-color: var(--blue);
            padding: 1.5rem 3rem; 
            border-radius: 20px;


            .business__content-item-title{
                font-size: 24px;
                font-weight: bold;
                color: var(--white);
                grid-column: 1 / -1;
                grid-row: 1 / 2;
            }
            .business__content-item-text{
                font-size: 14px;
                color: var(--white);
                line-height: 1.5;
                grid-column: 1 / 2;
                grid-row: 2 / 3;
            }
            .business__content-item-img{
                display: grid;
                place-items: center;
                grid-column: 2 / 3;
                grid-row: 2 / 3;
                img{
                    width: 125px;
                    height: 115px;
                    object-fit: contain;
                }
            }
        }
    }
}

@media (max-width: 860px) {
    .business{
        .business__content-wrapper{
            gap: 1rem;
            .business__content-item{
                .business__content-item-title{
                    font-size: 20px;
                }
            }
        }
    }
}

@media (max-width: 768px) {
    .business{
        padding-top: 4rem;
        .business__content-wrapper{
            max-width: 600px;
            margin: 0 auto;
            grid-template-columns: 1fr;
            .business__content-item{
                padding: 1rem 2rem;
                .business__content-item-img{
                    img{
                        width: 100px;
                        height: 90px;
                    }
                }
            }
        }
    }
}

/* ------------------------------------------------------------------ */
/* 特徴 */
/* ------------------------------------------------------------------ */
.feature{
    padding-top: 6rem;
    padding-bottom: 6rem;
    z-index: 40;
    .container{
        position: relative;
    }
    .feature__ball{
        position: absolute;
        top: 0;
        right: 0;
        width: 250px;
        translate: 70% -40%;
    }
    h2{
        margin: 0;
    }

    .hukidashi__wrapper{
        text-align: center;

        .feature__hukidashi {
            position: relative;
            display: inline-block;
            margin-bottom: 20px;
            margin-right: 240px;
            padding: 6px 26px;
            border: 3px solid #000000;
            border-radius: 60px;
            background-color: #ffffff;
            text-align: left;
            font-size: 28px;
            font-weight: 700;
            line-height: 1.5;
            color: #000000;
            font-family: var(--font-sub);
            }
            
            .feature__hukidashi::before {
            content: "";
            position: absolute;
            bottom: 0;
            left: 74%;
            border-style: solid;
            border-width: 20px 0 0 20px;
            border-color: #000000 transparent transparent;
            translate: -50% 100%;
            }
            
            .feature__hukidashi::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 74%;
            border-style: solid;
            border-width: 12.8px 0 0 12.8px;
            border-color: #ffffff transparent transparent;
            translate: calc(-50% + 0.6px) 100%;
            }
    }

    .feature__list{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows:auto auto;
        gap: 2rem;
        .feature__item{
            &:nth-child(5){
                grid-column: 1 / 3;
                grid-row: 2 / 3;
            }
            &:nth-child(6){
                grid-column: 3 / 5;
                grid-row: 2 / 3;
            }
        }
        /* .feature__item{
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
            padding: 1rem;
            border: 3px solid var(--blue);
            border-radius: 20px;
            .feature__item-title{
                font-size: 24px;
                font-weight: bold;
                color: var(--blue);
            }
        } */
    }
}

@media (max-width: 768px) {
    .feature{
        .hukidashi__wrapper{
            .feature__hukidashi{
                font-size: 24px;
                margin-right: 100px;
            }
        }
        .feature__list{
            grid-template-columns: 1fr 1fr;
            grid-template-rows: repeat(4, auto);
            .feature__item{
                &:nth-child(5){
                    grid-column: 1 / -1;
                    grid-row: 3 / 4;
                }
                &:nth-child(6){
                    grid-column: 1 / -1;
                    grid-row: 4 / 5;
                }
            }
        }
    }
}


/* ------------------------------------------------------------------ */
/* インタビュー */
/* ------------------------------------------------------------------ */
.interview{
    padding-top: 10rem;
    padding-bottom: 12rem;
    position: relative;
    z-index: 50;

    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }


    .container{
        background-color: inherit;
        position: relative;
        /* overflow: visible; */

    }
    .interview__star{
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        translate: 20% -50%;
    }
    h2{
        color: var(--white);

    }
    .header__en{
        color: var(--yellow);
    }
    .interview__text{
        color: var(--white);
        letter-spacing: 0.05em;
        
    }
    .interview__img-wrapper{
        margin-top: 6rem;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }
    .interview__wave{
        position: absolute;
        top: 0;
        left: 0;
        width: 200px;
        translate: -140% -30%;
    }
    .interview__content-wrapper{
        display: grid;
        grid-template-columns: 60% auto;
        gap: 2.5rem;
        margin-top: 2.5rem;
        position: relative;
        .interview__content-senpai{
            display: grid;
            grid-template-columns: auto 1fr;
            grid-template-rows: 1fr auto;
            row-gap: 2rem;
            img{
                width: 200px;
                height: 300px;
                grid-column: 1 / 2;
                grid-row: 1 / -1;
                align-self: end;
            }
            .interview__content-senpai-text{
                position: relative;
                display: inline-block;
                margin-left: 15px;
                padding:2rem 2.5rem;
                border-radius: 50px;
                background-color: #ffffff;
                text-align: left;
                font-size: 16px;
                font-weight: 400;
                line-height: 1.5;
                color: #000000;
                grid-column: 2 / 3;
                grid-row: 1 / 2;
            
                
                &::before {
                    content: "";
                    position: absolute;
                    top: 65%;
                    left: 0;
                    border-style: solid;
                    border-width: 0 20px 15px 0;
                    border-color: transparent #fff transparent transparent;
                    translate: -100% -50%;
                }
                
                &::after {
                    content: "";
                    position: absolute;
                    top: 65%;
                    left: 0;
                    border-style: solid;
                    border-width: 0 15.8px 7.9px 0;                 
                    border-color: transparent #ffffff transparent transparent;
                    translate: -100% calc(-50% - 0.3px);
                }            
                h3{
                    display: inline-block;
                    font-size: 24px;
                    letter-spacing: 0.02em;
                    font-family: var(--font-sub);
                    font-weight:500;
                    color: var(--blue);
                    border-bottom: 0.5px solid var(--blue);
                    line-height: 1.2;
                }
                p{
                    font-size: 18px;
                    letter-spacing: 0;
                    margin-top: 1rem;
                    text-align: justify;
                    line-height: 1.4;
                }
                
            }
            .interview__content-senpai-text-sub{
                font-size: 14px;
                color: var(--white);
                line-height: 1.5;
                grid-column: 2 / 3;
                grid-row: 2 / 3;
                margin-left: 2rem;
            }
        }
        .interview__content-link-wrapper{
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
            align-self: end;
            a{
                display: block;
                font-size: 26px;
                font-weight: 600;
                color: var(--white);
                line-height: 1.5;
                text-align: center;
                padding: 0.4rem 2rem;
                border-radius: 100px;
                background-color: var(--blue);
                border: 2px solid var(--white);
            }
        }
    }
    .interview__video-wrapper{
        margin: 6rem 0;
        h3{
            text-align: center;
            color: var(--white);
            font-size: 24px;
            font-weight: 500;
            margin-bottom: 2rem;
            font-family: var(--font-header);
        }
        .interview__video-wrapper-item{

            max-width: 800px;
            margin-inline: auto;
            a{
                img{
                    width: 100%;
                }
            }
        }
    }
}

@media (max-width: 768px) {
    .interview{
        .sp-br{
            display: block;
        }
        padding-top: 6rem;
        .container{
            margin-top: 0;
        }   
        .interview__text{
            font-size: 16px;
            text-align: justify;
            line-height: 1.8;
        }
        .interview__img-wrapper{
            grid-template-columns: 1fr;
        }
        .interview__content-wrapper{
            grid-template-columns: 1fr;
            .interview__content-senpai{
                grid-template-columns: 1fr;
                grid-template-rows: 1fr;
                position: relative;
                img{
                    width: 140px;
                    height: 240px;
                    object-fit: contain;
                    grid-column: 1 / 2;
                    grid-row: 2 / 3;
                    justify-self: center;
                    margin-top: -40px;

                }
                .interview__content-senpai-text{
                    grid-column: 1 / 2;
                    grid-row: 1 / 2;
                    border-radius: 40px;
                    padding: 1.5rem 2rem;
                    margin-left: 0;

                    p{
                        font-size: 16px;
                        text-align: left;
                    }

                    &::before{
                        display: none;
                    }
                    &::after{
                        top: 0;
                        bottom: 0;
                        left: 70%;
                        border-width: 20px 20px 0 0;
                        border-color: #ffffff transparent transparent;
                        translate: calc(-50% - 0.4px) 100%;
                    }
                }
                .interview__content-senpai-text-sub{
                    position: absolute;
                    top: 0;
                    right: 0;
                    z-index: 10;
                    translate: 0% 120%;
                    width: 116px;
                    margin: 0;
                    font-size: 12px;
                }
            }
            .interview__content-link-wrapper{
                a{
                    font-size: 22px;
                }
            }
        }
        .interview__video-wrapper{
            h3{
                font-size: 18px;
            }
        }
    }
}

/* ------------------------------------------------------------------ */
/* 福利厚生 */
/* ------------------------------------------------------------------ */
.welfare{
    padding-top: 10rem;
    margin-top: -16rem;
    padding-bottom: 10rem;
    position: relative;
    z-index: 60;
    font-size: 24px;
    letter-spacing: 0.05em;
    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--white);
        height: 80%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_white.png) no-repeat top center / 100% auto;
        z-index: -1;
    }

    h2{
        margin: 0;
    }
    .container{
        position: relative;
        padding-top: 6rem;
    }
    .welfare__star{
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        translate: -30% 10%;
    }

    .hukidashi__wrapper{
        text-align: left;

        .welfare__hukidashi {
            position: relative;
            display: inline-block;
            margin-bottom: 16px;
            margin-left: 20px;
            padding: 8px 26px;
            border: 3px solid #000000;
            border-radius: 60px;
            background-color: #ffffff;
            text-align: left;
            font-size: 28px;
            font-weight: 700;
            line-height: 1.5;
            color: #000000;
            font-family: var(--font-sub);
            }
            
            .welfare__hukidashi::before {
            content: "";
            position: absolute;
            bottom: 0;
            left: 75%;
            border-style: solid;
            border-width: 20px 0 0 20px;
            border-color: #000000 transparent transparent;
            translate: -50% 100%;
            }
            
            .welfare__hukidashi::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 75%;
            border-style: solid;
            border-width: 12.8px 0 0 12.8px;
            border-color: #ffffff transparent transparent;
            translate: calc(-50% + 0.6px) 100%;
            }
    }
    .welfare__list{
        margin: 4rem 2rem 0;
        li{
            font-size: 20px;
        }
    }
    .welfare__content-wrapper{
        margin-top: 6rem;
        text-align: justify;
        h4{
            color: var(--white);
            background-color: var(--blue);
            border-radius: 100px;
            padding: 0.5rem 3rem;
            font-weight: 600;
            font-size: 22px;
            letter-spacing: 0.02em;
        }
        .welfare__content-inner-wrapper{
            margin: 2rem 2.5rem 0;
            p{
                line-height: 1.5;
                letter-spacing: 0.05em;
            }
        }

        .welfare__content-rec-wrapper{
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: repeat(4,auto);
            gap: 3rem;
            .welfare__content-rec-item{
                &:nth-child(1){
                    grid-column: 1 / 2;
                    grid-row: 1 / 3;
                }
                &:nth-child(2){
                    grid-column: 2 / 3;
                    grid-row: 1 / 3;
                }
                &:nth-child(3){
                    grid-column: 1 / 2;
                    grid-row: 3 / 5;
                }
                &:nth-child(4){
                    grid-column: 2 / 3;
                    grid-row: 3 / 4;
                }
                &:nth-child(5){
                    grid-column: 2 / 3;
                    grid-row: 4 / 5;
                }
                .welfare__content-rec-item-title{
                    font-weight: bold;
                    margin-bottom: 0.5rem;
                }
                .welfare__content-rec-item-text{
                    line-height: 1.5;
                }
                &:nth-child(5){
                    .welfare__content-rec-item-text{
                        letter-spacing: 0;
                        text-align: left;
                    }
                }
            }
            .welfare__content-rec-item-img{
                display: flex;
                flex-direction: row;
                align-items: end;
                gap: 1rem;
                img{
                    width: 280px;
                    height: 190px;
                }
                .welfare__content-rec-item-text-sub{
                    font-size: 14px;
                    letter-spacing: normal;
                    line-height: 1.5rem;
                    .sp-icon{
                        display: none;
                    }
                    .pc-icon{
                        display: inline;
                    }
                }
            }
        }
        .welfare__content-shikaku-wrapper{
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 5rem;
            img{
                width: 280px;
                height: 190px;
            }
        }
    }
}
@media (max-width: 860px) {
    .welfare{
        .welfare__content-wrapper{
            .welfare__content-rec-wrapper{
                gap: 2rem;
                .welfare__content-rec-item-img{
                    img{
                        width: 240px;
                        height: 160px;
                    }
                }
            }
            .welfare__content-shikaku-wrapper{
                img{
                    width: 240px;
                    height: 160px;
                }
            }
        }
    }
}

@media (max-width: 768px) {
    .welfare{
        padding-top: 4rem;
        .sp-br{
            display: block;
        }
        .container{
            margin-top: 0rem;
        }
        .hukidashi__wrapper{
            .welfare__hukidashi{
                font-size: 20px;
                margin-left: 0;
                margin-bottom: 1rem;
                padding: 8px 20px;
                &::before{
                    left: 40%;
                }
                &::after{
                    left: 40%;
                }
            }
        }
        .welfare__text{
            line-height: 1.5;
            text-align: justify;
        }
        .welfare__list{
            margin: 2rem 0 0;
            li{
                line-height: 1.5;
                margin-bottom: 1rem;
                font-size: 16px;
            }
        }
        .welfare__content-wrapper{
            h4{
                margin: 0 -20px;
                height: 80px;
                display: flex;
                align-items: center;
                padding: 0.5rem 2rem;
                font-size: 20px;
            }
            .welfare__content-inner-wrapper{
                margin: 2rem 0 0;
                font-size: 20px;
                line-height: 1.8;
            }
            .welfare__content-rec-wrapper{
                grid-template-columns: 1fr;
                grid-template-rows: repeat(5,auto);
                gap: 2rem;
                .welfare__content-rec-item{
                    &:nth-child(1){
                        grid-column: 1 / 2;
                        grid-row: 1 / 2;
                    }
                    &:nth-child(2){
                        grid-column: 1 / 2;
                        grid-row: 2 / 3;
                    }
                    &:nth-child(3){
                        grid-column: 1 / 2;
                        grid-row: 3 / 4;
                    }
                    &:nth-child(4){
                        grid-column: 1 / 2;
                        grid-row: 4 / 5;
                    }
                    &:nth-child(5){
                        grid-column: 1 / 2;
                        grid-row: 5 / 6;
                    }
                }
                .welfare__content-rec-item-img{
                    flex-direction: column;
                    align-items: start;
                    gap: 0.5rem;
                    img{
                        max-width: 600px;
                        width: 100%;
                        height: auto;
                    }
                    .welfare__content-rec-item-text-sub{
                        .sp-icon{
                            display: inline;
                        }
                        .pc-icon{
                            display: none;
                        }
                    }
                }
            }
            .welfare__content-shikaku-wrapper{
                grid-template-columns: 1fr;
                gap: 2rem;
                img{
                    max-width: 600px;
                    width: 100%;
                    height: auto;
                }
            }
            .welfare__content-point-wrapper{
                p{
                    font-size: 16px;
                }
            }
        }
    }
}

/* ------------------------------------------------------------------ */
/* ベース */
/* ------------------------------------------------------------------ */
.base{
    padding-top: 10rem;
    margin-top: -6rem;
    padding-bottom: 16rem;
    position: relative;
    z-index: 70;
    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }

    .container{
        background-color: inherit;
        position: relative;
    }
    h2{
        color: var(--white);
    }
    .header__en{
        color: var(--yellow);
    }
    .base__text{
        letter-spacing: 0.05em;
        color: var(--white);
        max-width: 800px;
        margin: 0 auto;
    }
    .base__tasukaru{
        position: absolute;
        bottom: -110%;
        left: 0;
        width: 275px;
        height: 375px;
        object-fit: contain;
        z-index: 10;
        opacity: 1;
    }
}
@media (max-width: 768px) {
    .base{
        .container{
            margin-top: 0;
            padding-top: 0;
        }
        h2{
            margin-top: 0;
        }
        .base__tasukaru{
            bottom: -100%;
            width: 200px;
            
        }
    }
}
/* ------------------------------------------------------------------ */
/* メッセージ */
/* ------------------------------------------------------------------ */
.message{
    padding-top: 10rem;
    margin-top: -12rem;
    padding-bottom: 4rem;
    position: relative;
    z-index: 80;
    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--white);
        height: 80%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_white.png) no-repeat top center / 100% auto;
        z-index: -1;
    }

    .container{
        position: relative;
        
    }
    .message__wave{
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        translate: 20% -50%;
    }
    .message__text{
        letter-spacing: 0.05em;
        margin: 0 auto;
    }
    
}


.toggle-wrapper{
    margin: 8rem auto;
    
    .toggle-title{
        position: relative;
        background-color: var(--blue);
        color: var(--white);
        padding: 0.5rem 3rem;
        font-size: 24px;
        font-weight: 600;
        text-align: center;
        cursor: pointer;
        border-radius: 28px;
        user-select: none;
        display: block;
        list-style-type: none;

        &::marker {
            content: "";
        }
        &::-webkit-details-marker {
            display: none;
        }
        
        &::after{
            content: "";
            position: absolute;
            right: 2rem;
            top: 50%;
            translate: 0 -50%;
            width: 0;
            height: 0;
            border-left: 12px solid transparent;
            border-right: 12px solid transparent;
            border-top: 16px solid var(--white);
            transition: translate 0.3s ease, rotate 0.3s ease;
        }
                
        /* &.active{
            border-radius: 20px 20px 0 0;
            &::after{
                transform: translateY(-50%) rotate(180deg);
            }
        } */
    }
    
    .toggle-item{
        overflow: hidden;
        border-radius: 0 0 20px 20px;
        background-color: rgba(255, 255, 255, 0.95);
        border-right: 2px solid var(--blue);
        border-left: 2px solid var(--blue);
        border-bottom: 2px solid var(--blue);
        
        ul{
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: repeat(14,auto);
            column-gap: 1rem;
            row-gap: 0.5rem;
            padding: 3rem;
            grid-auto-flow: column;
            
            li{
                font-size: 20px;
                letter-spacing: 0.05em;
                margin: 0;
                border-radius: 8px;
            }
            .toggle-item-sub{
                grid-column: 2 / 3;
                grid-row: 14 / 15;
                font-size: 20px;
                letter-spacing: 0.05em;
                align-self: center;
            }

        }
    }
}   
details[open]{
    .toggle-title{
        border-radius: 28px 28px 0 0;
        &::after{
            translate: 0 -50%;
            rotate: 180deg;
        }
    }
}
@media (max-width: 768px) {
    .message{
        margin-top: -10rem;
        padding-top: 6rem;
        .container{
            margin-top: 0;
        }
    }
    .toggle-wrapper{
        margin: 4rem auto;
        .toggle-title{
            font-size: 20px;
        }
        .toggle-item{
            ul{
                grid-template-columns: 1fr;
                grid-template-rows: repeat(28,auto);
                padding: 2rem;
                li{
                    font-size: 18px;
                    line-height: 1.5;
                }
                .toggle-item-sub{
                    font-size: 18px;
                    grid-column: auto;
                    grid-row: auto;
                }
            }
        }
    }
}
/* ------------------------------------------------------------------ */
/* よくある質問 */
/* ------------------------------------------------------------------ */
.faq{
    padding-top: 10rem;
    margin-top: -6rem;
    padding-bottom: 10rem;
    position: relative;
    z-index: 90;
    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }
    .container{
        background-color: inherit;
    }
    h2{
        color: var(--white);
    }
    .header__en{
        color: var(--yellow);
    }
    .faq__list{
        font-size: 24px;
        letter-spacing: 0.05em;
        color: var(--white);
        line-height: 1.5;
        display: flex;
        flex-direction: column;
        gap: 3rem;
        padding-top: 2rem;
        .faq__item{
            h3{
                font-family: var(--font-sub);
                margin-bottom: 1rem;
                font-weight: 600;
            }
            p{
                line-height: 1.5;
                text-align: justify;
                span{
                    letter-spacing: 0.03em;
                }
            }
        }

    }
    
    
}
@media (max-width: 768px) {
    .faq{
        padding-top: 4rem;
        .faq__list{
            padding-top: 0;
            .faq__item{
                h3{
                    font-size: 20px;
                }
            }
        }
    }
}

/* ------------------------------------------------------------------ */

/* ------------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------------ */
.footer{
    padding-top: 10rem;
    margin-top: -10rem;
    padding-bottom: 4rem;
    position: relative;
    z-index: 100;
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_white.png) no-repeat top center / 100% auto;
        z-index: -1;
    }
    .footer__wrapper{
        display: flex;
        flex-direction: row;
        margin-top: 6rem;
        gap: 2rem;

        .footer__logo{
            width: 240px;
            height: auto;
            scale: 0.6;
        }
        .footer__info-wrapper{
            p{
                font-size: 16px;
                line-height: 1.5;
                letter-spacing: 0.02em;
                &:first-child{
                    font-weight: 600;
                }
            }
            a{
                text-decoration: underline;
            }
        }
    }
}

@media (max-width: 768px) {
    .footer{
        padding-top: 6rem;
        margin-top: -6rem;
        padding-bottom: 2rem;
        .footer__wrapper{
            flex-direction: column;
            margin-top: 2rem;
            .footer__logo{
                scale: 1;
                width: 180px;
            }
        }
    }
}



/* ------------------------------------------------------------------ */
/* flow */
/* ------------------------------------------------------------------ */

/* ------------------------------------------------------------------ */
/* フロー */
/* ------------------------------------------------------------------ */
.flow {
    position: relative;
    background: #fff;
    padding-bottom: 0;
    margin-top: 16rem;
    .container {
        position: relative;
    }

    .flow__text{
        font-size: 20px;
        letter-spacing: 0.05em;
        width: fit-content;
        margin-inline: auto;
    }
    .flow__bg-wave {
        position: absolute;
        left: 0;
        top: 120px;
        width: 100%;
        z-index: 1;
        .flow__wave-img {
            position: absolute;
            left: 0;
            top: 0;
            width: 150px;
            translate: -100% -50%;
        }
        .flow__star-img {
            position: absolute;
            right: 0;
            top: 0;
            width: 150px;
            translate: 70% -120%;
        }
    }
    .flow__steps {
        display: flex;
        justify-content: space-between;
        gap: 32px;
        margin: 48px 0 0 0;
        position: relative;
        z-index: 2;
        .flow__step {
            border-radius: 16px;
            min-width: 180px;
            display: grid;
            grid-template-rows: auto 1fr;
            border: 4px solid #d6f0f7;
            height: auto;
            position: relative;
            
            &:not(:last-child)::after {
                content: "";
                position: absolute;
                right: -30%;
                top: 50%;
                transform: translateY(-50%);
                width: 0;
                height: 0;
                border-top: 16px solid transparent;
                border-bottom: 16px solid transparent;
                border-left: 24px solid #d6f0f7;
                z-index: 3;
            }
            .flow__step-title {
                background-color: #d6f0f7;
                font-size: 24px;
                font-weight: 600;
                width: 100%;
                text-align: center;
                padding: 1rem 0;
            }
            .flow__step-wrapper{
                display: flex;
                flex-direction: column;
                gap: 1rem;
                justify-content: center;
                align-items: center;
                padding: 3rem 1rem;

                .flow__step-box {
                    font-size: 20px;
                    font-weight: bold;
                    border-radius: 10px;
                    color: var(--brack);
                    text-align: center;
                    background-color: #afe6f5;
                    width: 150px;
                    height: 100px;
                    display: grid;
                    place-items: center;
                    line-height: 1.2;
                    &.flow__step-box--yellow {
                        background-color: #ffff64;
                    }
                    &.flow__step-box--pale {
                        background-color: #d6f0f7;
                    }
                }
            }
        }
    }
}



@media (max-width: 1000px) {
    .flow {
        .flow__text{
            font-size: 20px;
        }
        .flow__steps {
            flex-direction: column;
            gap: 3rem;
            max-width:800px;
            width: fit-content;
            margin-inline: auto;
            
            .flow__step {
                width: 100%;
                width: 100%;
                margin: 0 auto;
                
                &:not(:last-child)::after {
                    content: "";
                    position: absolute;
                    right: 48%;
                    top: 110%;
                    transform: rotate(90deg);
                    transform-origin: center;
                    width: 0;
                    height: 0;
                    border-top: 16px solid transparent;
                    border-bottom: 16px solid transparent;
                    border-left: 24px solid #d6f0f7;
                    z-index: 3;
                }
                .flow__step-title {
                    width: 100%;
                    padding: 0.5rem 0;
                }
                .flow__step-wrapper {
                    padding: 1rem;
                    flex-direction: row;
                    gap: 1rem;
                    justify-content: center;
                    align-items: center;
                }
                .flow__step-box {
                    width: 100%;
                    height: auto;
                }
            }
        }
    }
}
@media (max-width: 768px) {
    .flow{
        margin-top: 8rem;
        .flow__text{
            font-size: 16px;
        }
    }
}
@media (max-width: 600px) {
    .flow{
        .sp-br{
            display: block;
        }
        .flow__steps{
            .flow__step{
                &:not(:last-child)::after{
                    right: 46%;

                }
                .flow__step-wrapper{
                    .flow__step-box{
                        font-size: 14px;
                        width: 80px;
                        height: 80px;
                    }
                }
            }
        }
    }
}
/* ------------------------------------------------------------------ */
/* 職務内容 */
/* ------------------------------------------------------------------ */
.jobdesc {
    position: relative;
    margin-top: 6rem;
    margin-bottom: 6rem;
    padding-top: 16rem;
    padding-bottom: 10rem;
    z-index: 20;

    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }


    .container {
        position: relative;
        background-color: inherit;
    }
    h2{
        color: var(--white);
        margin-top: 0;
    }
    .header__en{
        color: var(--yellow);
    }
    .jobdesc__table-wrapper {
        margin: 40px auto 0 auto;
        background: #fff;
        border-radius: 30px;
        overflow: hidden;
    }
    .jobdesc__table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 20px;
        font-family: var(--font-main);
        line-height: 1.5;
        th, td {
            padding: 2rem;
            vertical-align: middle;
        }
        th {
            background-color: #d6f0f7;
            color: var(--brack);
            font-weight: 700;
            text-align: center;
            min-width: 280px;
            border-bottom: 3px solid #fff;
            
        }
        td {
            background: #fff;
            color: var(--brack);
            border-bottom: 3px solid #d6f0f7;
            padding-left: 3rem;
            padding-right: 3rem;

        }
        tr:last-child th, tr:last-child td {
            border-bottom: none;
        }
    }
}
@media (max-width: 768px) {
    .jobdesc{
        padding-top: 10rem;
        .sp-br{
            display: block;
        }
        .jobdesc__table-wrapper{
            border-radius: 16px;
        }
        .jobdesc__table{
            th, td {
                padding: 1rem;
                font-size: 16px;
            }
            th{
                min-width: 130px;
            }
        }
    }
}

/* ------------------------------------------------------------------ */
/* schedule */
/* ------------------------------------------------------------------ */
/* メンテナンス */
/* ------------------------------------------------------------------ */
.maintenance {
    position: relative;
    background: #fff;
    padding-bottom: 0;
    margin-top: 16rem;
    }
    .container{
        position: relative;
    }
    .schedule__star{
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        height: 150px;
        translate: 0 -50%;
        object-fit: contain;
    }
    .maintenance__lead {
        font-size: 20px;
        letter-spacing: 0.05em;
        line-height: 1.5;
        width: fit-content;
        margin-inline: auto;
    }
    .maintenance__steps {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 4rem;
        margin-bottom: 4rem;
        width: 100%;
        border-radius: 30px;
        overflow: hidden;
        .maintenance__step {
            color: var(--white);
            font-size: 30px;
            font-weight: 600;
            background: var(--blue);
            width: 100%;
            height: 140px;
            display: grid;
            place-items: center;
            position: relative;
            span{
                display: block;
                position: relative;
                z-index: 10;
            }

            &::before, &::after{
                content: "";
                width: 0;
                height: 0;
                display: block;
                position: absolute;
            }
            &::before{
                z-index: 5;
                border-width: 80px 40px;
                border-style: solid;
                border-color: transparent transparent transparent var(--blue);
                top: -10px;
                right: -66px;
            }
            &::after{
                z-index: 1;
                border-width: 80px 40px;
                border-style: solid;
                border-color: transparent transparent transparent var(--white);
                top: -10px;
                right: -72px;
            }
            &:last-child{
                &::before, &::after{
                    display: none;
                }
            }
            &:not(:first-child){
                padding-left: 1rem;
            }
            &:nth-child(even){
                background: #6ebed7;
                &::before{
                    border-color: transparent transparent transparent #6ebed7;
                }
            }
        }
    }

@media (max-width: 768px) {
    .maintenance{
        margin-top: 6rem;
        .maintenance__lead{
            font-size: 16px;
        }
        .maintenance__steps{
            .maintenance__step{
                font-size: 20px;
            }
        }
    }
}
@media (max-width: 600px) {
    .maintenance{
        .maintenance__steps{
            .maintenance__step{
                font-size: 16px;
                height: 120px;
                span{
                    writing-mode: vertical-lr;
                    translate: 23% 0;
                }
                .last-step{
                    translate: 0 0;
                }
                &:not(:first-child){
                    padding-left: 1.5rem;
                }
                &::before{
                    border-width: 66px 33px;
                    right: -58px;
                    top: -7px;
                }
                &::after{
                    border-width: 66px 33px;
                    right: -62px;
                    top: -7px;
                }
    
            }
        }
    }
}
/* ------------------------------------------------------------------ */
/* schedule */
/* ------------------------------------------------------------------ */
/* スケジュール */
/* ------------------------------------------------------------------ */
.schedule {
    position: relative;
    margin-top: 6rem;
    padding-top: 16rem;
    padding-bottom: 10rem;
    z-index: 20;
    
    &::before{
        content: "";
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        background-color: var(--blue);
        height: 100%;
        z-index: -2;
    }
    &::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../img/bg_color.png) no-repeat top center / 100% auto;
        z-index: -1;
    }

    .container {
        position: relative;
        background-color: inherit;
    }
    h2{
        color: var(--white);
        margin-top: 0;
    }
    .header__en{
        color: var(--yellow);
    }


    .schedule__timeline-wrapper {
        display: flex;
        flex-direction: column;
        gap: 8rem;
        margin: 4rem auto;
        width: 100%;

    }
    .schedule__timeline {
        background: var(--white);
        border-radius: 24px;
        padding-bottom: 4rem;
        .schedule__timeline-title {
            font-size: 22px;
            color: var(--white);
            background-color: #2d7387;
            font-weight: 700;
            text-align: center;
            z-index: 2;
            padding: 1.5rem;
            margin-bottom: 4rem;
            border-radius: 24px 24px 0 0;
        }
        .schedule__timeline-box {
            width: 660px;
            margin-inline: auto;
            display: grid;
            grid-template-columns: 140px 1fr;
            align-items: center;
            gap: 2rem;
            margin-bottom: 1rem;
            position: relative;
            .circle__line{
                position: absolute;
                width: 5px;
                height: calc(100% + 2em);
                background-color: var(--blue);
                top: 1em;
                left: 10%;
                z-index: 1;
            }
            .schedule__timeline-circle {
                width: 80px;
                height: 80px;
                font-size: 16px;
                color: var(--white);
                font-weight: 700;
                background: #d6f0f7;
                border-radius:100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                background-color: var(--blue);
                justify-self: center;
                letter-spacing: 0em;
                position: relative;
                z-index: 2;
            }
            .circle__big{
                width: 140px;
                height: 140px;
                font-size: 20px;
                span{
                    font-size: 32px;
                }
            }
            .circle__rest{
                width: 112px;
                height: 112px;
                font-size: 20px;
                background-color: #fff;
                color: var(--blue);
                border: 3px solid var(--blue);
            }
            .schedule__timeline-content {
                min-height: 100px;
                height: auto;
                font-size: 20px;
                font-weight: bold;
                border-top: 3px solid var(--blue);
                border-right: 3px solid var(--blue);
                border-bottom: 3px solid var(--blue);
                border-radius: 0 24px 24px 0;
                line-height: 1.5;
                display: flex;
                align-items: center;
                padding: 1rem 0 1rem 3rem;
            }
            .speech__bubble{
                position: absolute;
                top: 0;
                right: 0;
                padding: 10px 16px;
                border-radius: 24px;
                background-color: #b3f3ff;
                text-align: left;
                font-weight: 400;
                letter-spacing: 0.02em;
                z-index: 10;
                font-family: var(--font-sub);
                font-weight: 500;
                white-space: nowrap;
                p{
                    font-size: 16px;
                    line-height: 1.5;

                }
            }
            .speech__bubble-01 {
                translate: -30% -20%;
            }
            
            .speech__bubble-01::after {
                content: "";
                position: absolute;
                border-style: solid;
                top: 64%;
                left: 0;
                border-width: 10px 8px 0 0;
                border-color: transparent #b3f3ff transparent transparent;
                translate: -100% calc(-50% + 0.6px);
                transform: skew(0, -2deg);
                transform-origin: right;
            }        
            .speech__bubble-02 {
                translate: -30% -50%;
            }
            .speech__bubble-02::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
            .speech__bubble-03 {
                translate: 40% -60%;
            }
            .speech__bubble-03::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
            .speech__bubble-04 {
                translate: 20% 120%;
            }
            .speech__bubble-04::after {
                content: "";
                position: absolute;
                top: 0;
                left: 21%;
                border-style: solid;
                border-width: 0 10px 10px 0;
                border-color: transparent transparent #b3f3ff;
                translate: calc(-50% - 0.4px) -100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
            .speech__bubble-05 {
                translate: -70% -30%;
            }
            .speech__bubble-05::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
            .speech__bubble-06 {
                translate: 0% -20%;
            }
            
            .speech__bubble-06::after {
                content: "";
                position: absolute;
                border-style: solid;
                top: 64%;
                left: 0;
                border-width: 10px 8px 0 0;
                border-color: transparent #b3f3ff transparent transparent;
                translate: -100% calc(-50% + 0.6px);
                transform: skew(0, -2deg);
                transform-origin: right;
            }        
            .speech__bubble-07 {
                translate: -20% -30%;
            }
            .speech__bubble-07::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }

            .speech__bubble-08 {
                translate: 20% -50%;
            }
            .speech__bubble-08::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
            .speech__bubble-09 {
                translate: 20% -50%;
            }
            .speech__bubble-09::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 19%;
                border-style: solid;
                border-width: 8px 10px 0 0;
                border-color: #b3f3ff transparent transparent;
                translate: calc(-50% - 0.6px) 100%;
                transform: skew(-2deg);
                transform-origin: top;
            }
        }
        
        .schedule__timeline-note{
            font-size: 18px;
            color: var(--brack);
            text-align:right;
            margin-top: 2rem;
            padding: 0 2rem;
        }
    }
}
#gaikin{
    position: relative;
    .schedule__star{
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        height: 150px;
        translate: 100% -100%;
        object-fit: contain;

    }
}
#syuttyou{
    position: relative;
    .schedule__wave{
        position: absolute;
        top: 0;
        left: 0;
        width: 150px;
        height: 150px;
        translate: -130% -100%;
        object-fit: contain;

    }
}

@media (max-width: 768px) {
    .schedule{
        margin-top: 6rem;
        padding-top: 10rem;
        .pc-br{
            display: none;
        }
        .schedule__timeline{
            .schedule__timeline-title{
                font-size: 20px;
                padding: 1rem;
            }
            .schedule__timeline-box{
                width: 100%;
                max-width: 400px;
                grid-template-columns: 100px 1fr;
                gap: 0rem;
                padding-right: 0.5rem;
                .circle__line{
                    height: calc(100% + 1.2em);
                    left: 12%;
                }
    
                .schedule__timeline-circle{
                    width: 60px;
                    height: 60px;
                    font-size: 14px;
                    span{
                        font-size: 20px;
                    }
                }
                .circle__big{
                    width: 90px;
                    height: 90px;
                    font-size: 16px;
                    span{
                        font-size: 18px;
                    }
                }
                .circle__rest{
                    width: 60px;
                    height: 60px;
                    font-size: 16px;
                }
                .schedule__timeline-content {
                    min-height: 80px;
                    height: auto;
                    font-size: 16px;
                    border-radius: 0 20px 20px 0;
                    padding: 0.5rem 0.5rem 0.5rem 1rem;
                }
                .speech__bubble{
                    p{
                        font-size: 12px;
                        line-height: 1.3;
                    }
                }
                .speech__bubble-01 {
                    translate: 0% 120%;
                }
                .speech__bubble-01::after {
                    top: 0;
                    left: 21%;
                    border-width: 0 10px 10px 0;
                    border-color: transparent transparent #b3f3ff;
                    translate: calc(-50% - 0.4px) -100%;
                    transform: skew(-2deg);
                    transform-origin: top;
                }
                .speech__bubble-02 {
                    translate: 0% -70%;
                }
                .speech__bubble-02::after {
                }
                .speech__bubble-03 {
                    translate: 15% -70%;
                }
                .speech__bubble-03::after {
                }
                .speech__bubble-04 {
                    translate: 0% 150%;
                }
                .speech__bubble-04::after {
                }
                .speech__bubble-05 {
                    translate: -10% -70%;
                }
                .speech__bubble-05::after {
                }
                .speech__bubble-06 {
                    translate: 10% 140%;
                }
                .speech__bubble-06::after {
                    top: 0;
                    left: 21%;
                    border-width: 0 10px 10px 0;
                    border-color: transparent transparent #b3f3ff;
                    translate: calc(-50% - 0.4px) -100%;
                    transform: skew(-2deg);
                    transform-origin: top;
                }
                .speech__bubble-07 {
                    translate: 10% 220%;
                }
                .speech__bubble-07::after {
                    top: 0;
                    left: 21%;
                    border-width: 0 10px 10px 0;
                    border-color: transparent transparent #b3f3ff;
                    translate: calc(-50% - 0.4px) -100%;
                    transform: skew(-2deg);
                    transform-origin: top;
                }
                .speech__bubble-08 {
                    translate: 5% -60%;
                }
                .speech__bubble-08::after {
                }
                .speech__bubble-09 {
                    translate: 0% 190%;
                }
                .speech__bubble-09::after {
                    top: 0;
                    left: 21%;
                    border-width: 0 10px 10px 0;
                    border-color: transparent transparent #b3f3ff;
                    translate: calc(-50% - 0.4px) -100%;
                    transform: skew(-2deg);
                    transform-origin: top;

                }
                
                
                
            }
            .schedule__timeline-note{
                font-size: 16px;
                padding: 0 1rem;
                text-align: left;
            }
        }
    }
}
@media (max-width: 400px) {
    .schedule{
        .schedule__timeline{
            .schedule__timeline-box{
                margin-right: 0.5rem;
                .circle__line{
                    height: calc(100% + 1.2em);
                    left: 14%;
                }

            }
        }
    }
}