/* nyugaku.css */

.head-section {
    position: relative;
    color: #fff;
    background-color: #ed8f8f;
    .parallax {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        overflow: hidden;
        z-index: 0;
        .image {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            z-index: 1;
            background-position: 50% 0;
            background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/inside/head_bg.png);
            background-size: 100% auto;
            background-repeat: no-repeat;
            @media (width <= 1267px) {
                background-size: 1267px auto;
            }
            @media (width <= 767px) {
                background-size: 634px auto;
            }
        }
        .filter {
            position: absolute;
            z-index: 2;
            left: 0;
            right: 0;
            bottom: 0;
            height: 200px;
            background-image: linear-gradient(to bottom, rgba(13, 83, 155, 0) 0%, rgba(#ed8f8f, 1) 50%);
        }
    }
    .head {
        position: relative;
        display: flex;
        align-items: center;
        width: fit-content;
        margin: 0 auto;
        padding-top: 73px;
        @media (width <= 767px) {
            padding-top: 50px;
        }
        h1 {
            .head-img {
                width: 710px;
                height: auto;
                @media (width <= 767px) {
                    width: 263px;
                }
            }
        }
    }
    .message {
        position: relative;
        font-size: 17px;
        font-weight: var(--font-weight-medium);
        line-height: 1.9;
        max-width: 730px;
        margin: 0 auto;
        padding-top: 46px;
        padding-bottom: 47px;
        @media (width <= 767px) {
            font-size: 14px;
            margin: 0 16px;
            padding-top: 31px;
            padding-bottom: 10px;
        }
    }
    .bottom {
        position: relative;
        display: flex;
        width: 100%;
        overflow: hidden;
        .spacer {
            flex: 1;
            background-color: #dff2fb;
            @media (width <= 1046px) {
                display: none;
            }
        }
        .bottom-img {
            width: 1046px;
            height: 81px;
            @media (width <= 1046px) {
                object-fit: cover;
                width: 100%;
            }

        }
    }
}

.menu-container {
    top: 46px;
}

.design-block.--light-design-block {
    padding-bottom: 0;
}

.general-section + .general-section {
    padding-top: 92px;
    @media (width <= 767px) {
        padding-top: 53px;
    }
}

.--link-section {
    padding-top: 50px;
    @media (width <= 767px) {
        padding-top: 22px;
    }
}

.--link-section + .--schedule-section {
    padding-top: 58px;
}

.--schedule-section {

    .schedule-block {
        margin-top: 40px;
        @media (width <= 767px) {
            margin-top: 26px;
        }
        dl {
            display: flex;
            width: 100%;
            align-items: flex-start;
            padding: 10px 0;
            border-top: 2px solid #c4d4df;
            &:last-child {
                border-bottom: 2px solid #c4d4df;
            }
            @media (width <= 767px) {
                display: block;
                padding: 15px 0 14px;
            }
            dt {
                a {
                    position: relative;
                    text-decoration: none;
                    display: block;
                    color: #1a6cc1;
                    font-weight: bold;
                    background-color: #fff;
                    line-height: 44px;
                    height: 45px;
                    width: 195px;
                    padding: 0 20px;
                    box-sizing: border-box;
                    border-radius: 9999px;
                    @media (width <= 767px) {
                        width: auto;
                        font-size: 17px;
                    }
                    .weekday {
                        font-size: 13px;
                    }
                    i {
                        position: absolute;
                        right: 12px;
                        top: 0;
                        bottom: 0;
                        font-size: 15px;
                        overflow: hidden;
                        height: 45px;
                        line-height: 47px;
                        @media (width <= 767px) {
                            right: 18px;
                        }
                    }
                    @media (width >= 768px) {
                        &:hover {
                            background-color: #1a6cc1;
                            color: #fff;
                        }
                    }
                }
            }
            dd {
                margin-left: 39px;
                margin-top: 7px;
                margin-bottom: 5px;
                flex: 1;
                .small-block {
                    margin-bottom: 3px;
                    .small {
                        font-size: 14px;
                        line-height: 1.9;
                        @media (width <= 767px) {
                            font-size: 13px;
                        }
                    }
                }
            }
        }
    }
    .schedule-block + .decorate-h3 {
        margin-top: 73px;
        @media (width <= 767px) {
            margin-top: 37px;
        }
    }
}
.--schedule-section + .--tetsuduki-section {
    padding-top: 94px;
    @media (width <= 767px) {
        padding-top: 64px;
    }
}
.back-top-page {
    border-top: 2px solid #cae3f6;
    @media (width <= 767px) {
        padding-top: 33px;
        padding-bottom: 35px;
    }
}

.breadcrumb-nav {
    background-color: #ed8f8f;
    @media (width <= 767px) {
        overflow-x: scroll;
    }
    &::-webkit-scrollbar {
        display: none;
        -webkit-appearance: none;
    }
    .breadcrumb {
        display: flex;
        font-size: 12px;
        color: #fff;
        padding: 18px 30px;
        @media (width <= 767px) {
            font-size: 10px;
            padding: 11px 15px 10px;
        }

        .breadcrumb-item {
            @media (width <= 767px) {
                white-space: nowrap;
            }
        }
        .breadcrumb-item:not(:last-child) {
            font-weight: bold;

            i {
                margin-left: 5px;
                margin-right: 5px;
                color: #fbd3d3;
                font-size: 10px;
            }
            @media (width >= 768px) {
                a:hover {
                    text-decoration: none;
                }
            }
        }
    }
}

.head-back-block-outer {
    min-height: 46px;
}
.head-back-block,.footer-back-block {
    padding: 15px 30px;
    font-size: 15px;
    min-height: 16px;
    font-weight: var(--font-weight-medium);
    @media (width <= 767px) {
        font-size: 12px;
        padding: 15px 16px;
    }
    i {
        margin-right: 5px;
        color: #333333;
        @media (width <= 767px) {
            color: inherit;
        }
    }
    a {
        text-decoration: none;
        color: inherit;
        &:hover {
            text-decoration: underline;
        }
    }
}
.head-back-block.--float {
    position: fixed;
    z-index: 100;
    top: -46px;
    left: 0;
    right: 0;
    transition-duration: 100ms;
    background-color: rgba(223,242,251,0.9);
}
.head-back-block.--float.--up {
    top: 0;
}

.footer-back-block {
    margin-top: 80px;
    padding: 0 30px;
    line-height: 68px;
    border-top: 2px solid #cae3f6;
    @media (width <= 767px) {
        padding: 0 16px;
        line-height: 48px;
        margin-top: 60px;
    }
}

.study-tools {
    margin-top: 38px;
    margin-bottom: 40px;
    @media (width <= 767px) {
        margin-top: 23px;
        margin-bottom: 30px;
    }
    &.disabled {
        position: relative;
        dl {
            opacity: 0.4;
        }
        .over-msg {
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            text-align: center;
            font-family: var(--font-family-AbBabywalk);
            letter-spacing: -0.05em;
            color: #074381;
            font-size: 65px;
            @media (width <= 767px) {
                font-size: calc(45 * var(--px-to-sp-vw));
                line-height: 0.9;
                top: calc(35 * var(--px-to-sp-vw))
            }
        }
    }
    dl {
        &:not(:last-child) {
            margin-bottom: 36px;
            @media (width <= 767px) {
                margin-bottom: 29px;
            }
        }
        dt {
            display: flex;
            align-items: center;
            font-weight: bold;
            line-height: 1;
            margin-bottom: 13px;
            @media (width <= 767px) {
                margin-bottom: 13px;
            }
            &::after {
                content: "";
                height: 1px;
                background-color: #aab6c3;
                margin-left: 12px;
                flex: 1;
                @media (width <= 767px) {
                    margin-left: 3px;
                }
            }
        }
        dd {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            @media (width <= 767px) {
                gap: 5px;
            }
            a {
                color: #fff;
                font-weight: bold;
                background-color: #1a6cc1;
                border-radius: 25px;
                line-height: 50px;
                width: calc(50% - 10px / 2);
                padding-left: 20px;
                box-sizing: border-box;
                text-decoration: none;
                transition-duration: var(--hover-duration);
                @media (width <= 767px) {
                    width: 100%;
                    line-height: 45px;
                }
                i {
                    margin-right: 5px;
                }
                @media (width >= 768px) {
                    &:hover {
                        background-color: #0badf0;
                        scale: var(--hover-scale);
                    }
                }
            }

        }
    }
}

.general-section.--plain-enquiry-section {
    .plain-enquiry-h {
        font-size: 30px;
        font-weight: var(--font-weight-black);
        @media (width <= 767px) {
            font-size: 22px;
        }
    }
    .plain-enquiry-h + ul.general {
        margin-top: 27px;
        @media (width <= 767px) {
            margin-top: 11px;
        }
    }
}
.general-section + .general-section.--plain-enquiry-section {
    padding-top: 50px;
    @media (width <= 767px) {
        padding-top: 44px;
    }
}
.general-section.--enquiry-section {
    @media (width <= 767px) {
        padding-top: 65px;
    }
}

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