body {
    background: #ebe8e4
}

main {
    overflow: visible !important
}

#sec1 .wrap {
    padding: 0
}

#sec1 .content .gr-txt {
    padding: 38px 20px;
    background: #e9e1d8
}

#sec1 .content .gr-txt h3 {
    color: #000;
    font-size: 14px;
    letter-spacing: 5px;
    margin-bottom: 24px
}

#sec1 .content .gr-txt h3 span {
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    letter-spacing: .1em;
    line-height: 1.4;
    display: inline-block
}

#sec1 .content .gr-txt .txt {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    letter-spacing: .1em;
    line-height: 1.4
}

#sec2 {
    padding: 64px 0 0
}

#sec2 .container .sidebar {
    background: #ebe8e4;
    position: sticky;
    top: 56px;
    left: 0;
    z-index: 2;
    margin: 0 -20px;
    padding: 0 20px 20px
}

#sec2 .container .sidebar .gr-btn li:last-child a {
    position: relative
}

#sec2 .container .sidebar .gr-btn li:last-child a::before {
    content: "";
    background: url(../img/interview/line_x.png) repeat-x;
    height: 6px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0
}

#sec2 .container .sidebar .gr-btn li a {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .1em;
    display: block;
    padding: 28px 0;
    background: url(../img/interview/line_x.png) repeat-x
}

#sec2 .container .content {
    background: #fff;
    padding: 66px 20px;
    margin: 48px -20px 0
}

#sec2 .container .content .item:not(:last-child) {
    margin-bottom: 66px
}

#sec2 .container .content .item h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .1em;
    padding-bottom: 12px;
    margin-bottom: 24px;
    border-bottom: 2px solid #d1c5b6
}

#sec2 .container .content .item .photo {
    overflow: hidden
}

#sec2 .container .content .item .photo img {
    transition: transform .3s !important
}

#sec2 .container .content .item .photo:hover img {
    transform: scale(1.05) !important
}

#sec2 .container .content .item p:not(:last-of-type) {
    margin-bottom: 17px
}

#sec3 {
    padding: 63px 0 80px
}

#sec3 .btn-link {
    margin: 61px auto 0
}

@media screen and (min-width: 768px) {
    #sec1 {
        padding: 71px 0 140px
    }

    #sec1 .wrap {
        padding: 0 20px;
        max-width: 1240px
    }

    #sec1 .content {
        display: flex;
        align-items: flex-start;
        flex-direction: row-reverse
    }

    #sec1 .content .photo {
        flex: 1;
        margin: 0 -118px 0 -39px;
        height: 605px;
        position: relative
    }

    #sec1 .content .photo img {
        -o-object-fit: cover;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%
    }

    #sec1 .content .gr-txt {
        padding: 38px 40px 33px 37px;
        width: 551px;
        margin-top: 187px;
        position: relative;
        z-index: 2
    }

    #sec1 .content .gr-txt h3 {
        font-size: 16px;
        margin-bottom: 24px;
        padding-bottom: 19px;
        border-bottom: 1px solid #c7beb2
    }

    #sec1 .content .gr-txt h3 span {
        font-size: 40px;
        line-height: 1.7
    }

    #sec1 .content .gr-txt .txt {
        font-size: 24px;
        line-height: 1.4
    }

    #sec2 {
        padding: 120px 0 193px;
        background: #e9e1d8
    }

    #sec2 .wrap {
        max-width: 1244px;
        padding: 0 20px
    }

    #sec2 .container {
        display: flex;
        align-items: flex-start
    }

    #sec2 .container .sidebar {
        background: none;
        width: 276px;
        top: 140px;
        padding: 0
    }

    #sec2 .container .sidebar .gr-btn li a {
        padding: 29px 0
    }

    #sec2 .container .sidebar .gr-btn li a:hover {
        opacity: .8
    }

    #sec2 .container .content {
        flex: 1;
        padding: 40px 41px;
        margin: 0 0 0 32px
    }

    #sec2 .container .content .item:not(:last-child) {
        margin-bottom: 39px
    }

    #sec2 .container .content .item h3 {
        font-size: 24px;
        padding-bottom: 8px
    }

    #sec2 .container .content .item p:not(:last-of-type) {
        margin-bottom: 23px
    }

    #sec3 {
        padding: 0 0 141px;
        margin-top: -53px
    }

    #sec3 .btn-link {
        margin: 101px auto 0
    }
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
    #sec1 .content {
        display: block
    }

    #sec1 .content .photo {
        margin: 0;
        height: auto
    }

    #sec1 .content .photo img {
        position: unset
    }

    #sec1 .content .gr-txt {
        margin: -80px auto 0
    }
}