/* freshers.css */

.mv-section {
    position: relative;
    z-index: 2;
    padding-top: 81px;
    height: calc(580px + 81px);
    box-sizing: border-box;
    text-align: center;
    @media (width <= 767px) {
        padding-top: 35px;
        height: calc(510px + 81px);
    }
    .confetti {
        position: absolute;
        background-color: #fff;
        z-index: 0;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        mask-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/white.png),url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/mv_bottom.png);
        mask-repeat: no-repeat,no-repeat;
        mask-size: 100% 580px,1034px 81px;
        mask-position: 0 0,50% 100%;
        @media (width <= 767px) {
            mask-size: 100% 510px,1034px 81px;
        }
        canvas {
            width: 100%;
            height: 100%;
        }
    }
    .top {
        z-index: 1;
        transform: translateY(-50px);
        opacity: 0;
        transition-duration: 2s;
        .sub {
            display: inline-flex;
            align-items: center;
            .dash-img {
                width: auto;
                height: 53px;
                @media (width <= 767px) {
                    height: 24px;
                }
            }
            .--after {
                transform: scaleX(-1);
            }
            .text {
                font-family: var(--font-family-TenMincho);
                font-feature-settings: "palt";
                font-size: 48px;
                @media (width <= 767px) {
                    font-size: 22px;
                }
            }
        }
    }
    .site-name {
        position: relative;
        z-index: 1;
        margin-top: 36px;
        margin-bottom: 55px;
        opacity: 0;
        transition-duration: 2s;
        @media (width <= 767px) {
            margin-top: 14px;
            margin-bottom: 21px;
        }
        .text {
            font-family: var(--font-family-TenMincho);
            font-feature-settings: "palt";
            font-size: 67px;
            color: var(--second-color);
            @media (width <= 767px) {
                display: block;
                font-size: 53px;
                &:nth-of-type(2) {
                    font-size: 62px;
                }
            }
        }
        .welcome-img {
            width: 378px;
            height: auto;
            vertical-align: -4px;
            margin-right: 3px;
            @media (width <= 767px) {
                display: block;
                width: 262px;
                vertical-align: baseline;
                margin: 11px auto 10px;
            }
        }
    }
    .bottom {
        z-index: 1;
        transform: translateY(50px);
        opacity: 0;
        transition-duration: 2s;
        width: 730px;
        margin-left: auto;
        margin-right: auto;
        @media (width <= 767px) {
            margin-left: 16px;
            margin-right: 16px;
            width: auto;
        }
        .message {
            background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/mv_border.png);
            background-size: 671px auto;
            background-position: 50% 60%;
            background-repeat: no-repeat;
            color: var(--second-color);
            font-size: 25px;
            font-weight: bold;
            @media (width <= 767px) {
                background-image: none;
                font-size: 17px;
                display: flex;
                width: 100%;
                &::before, &::after {
                    flex: 1;
                    display: block;
                    content: "";
                    border-top: 2px solid var(--second-color);
                    margin-top: 10px;
                }
                &::before {
                    margin-right: 5px;
                }
                &::before {
                    margin-left: 5px;
                }
            }
        }
        .abstract {
            color: var(--second-color);
            font-size: 19px;
            font-weight: bold;
            line-height: 1.9;
            margin-top: 25px;
            @media (width <= 767px) {
                font-size: 13px;
                font-weight: bold;
                line-height: 1.7;
                margin-top: 19px;

            }
        }
        .topics {
            display: flex;
            font-size: 14px;
            background-color: #ededed;
            width: 600px;
            height: 60px;
            border-radius: 30px;
            align-items: center;
            margin-right: auto;
            margin-left: auto;
            margin-top: 40px;
            box-sizing: border-box;
            padding-left: 36px;
            padding-right: 36px;
            @media (width <= 767px) {
                display: block;
                width: auto;
                height: auto;
                text-align: left;
                border-radius: 15px;
                padding: 18px 20px 16px;
                margin-top: 23px;
            }
            .head {
                @media (width <= 767px) {
                    display: flex;
                    justify-content: space-between;
                }
                h2 {
                    color: var(--second-color);
                    font-size: inherit;
                    font-weight: var(--font-weight-black);
                }
                .buttons {
                    @media (width <= 767px) {
                        display: flex;
                    }
                }
            }
            .button {
                font-size: 15px;
                cursor: pointer;
                &.disabled {
                    color: #d0d0d0;
                    cursor: default;
                }
                &.back {
                    margin-left: 29px;
                    margin-right: 29px;
                    @media (width <= 767px) {
                        margin-right: 20px;
                    }
                }
            }
            .list {
                position: relative;
                flex-grow: 1;
                overflow-x: hidden;
                scroll-behavior: smooth;
                scrollbar-width: none;
                @media (width <= 767px) {
                    margin-top: 10px;
                }
                ul {
                    display: flex;
                    li {
                        width: 100%;
                        display: flex;
                        @media (width <= 767px) {
                            line-height: 1.75;
                            font-size: 13px;
                            display: block;
                        }
                        .date {
                            font-weight: var(--font-weight-black);
                            margin-right: 10px;
                            @media (width <= 767px) {
                                display: inline;
                            }
                        }
                        .title {
                            @media (width <= 767px) {
                                display: inline;
                            }
                            a {
                                font-weight: bold;
                                color: #1a6cc1;
                                text-decoration: none;
                                @media (width >= 768px) {
                                    &:hover {
                                        color: #0badf0;
                                        text-decoration: none;
                                    }
                                }
                            }
                        }
                    }
                }

            }
        }
    }
}

body.loaded .mv-section .top {
    transform: translateY(0);
    opacity: 1;
}
body.loaded .mv-section .site-name {
    opacity: 1;
}
body.loaded .mv-section .bottom {
    transform: translateY(0);
    opacity: 1;
}
.page-banner-section {
    position: relative;
    z-index: 1;
    background-color: #c2e4f9;
    margin-top: -84px;
    padding-top: 168px;
    padding-bottom: 110px;
    @media (width <= 767px) {
        padding-top: 115px;
        padding-bottom: 60px;
    }
    .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;
            background-repeat: no-repeat;
            background-position: 50% 0;
            z-index: 1;
            background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/page_bg.png);
            background-size: 100% auto;
            @media (width <= 1200px) {
                background-size: 1200px auto;
            }
            @media (width <= 767px) {
                background-size: 600px auto;
            }
        }
    }
    .links {
        margin-left: auto;
        margin-right: auto;
        width: fit-content;
        > ul > li {
            margin-top: 50px;
            @media (width <= 767px) {
                margin-top: 0;
            }
            &:first-child {
                margin-top: 0;
            }
            a {
                display: block;
                position: relative;
                text-decoration: none;
                .base-img {
                    width: 738px;
                    height: auto;
                    @media (width <= 767px) {
                        width: 100%;
                    }
                }
                .balloon-img {
                    position: absolute;
                    width: 182px;
                    height: auto;
                    top: -33px;
                    left: -40px;
                    @media (width <= 1000px) {
                        left: -8px;
                    }
                }
                .icon-img {
                    position: absolute;
                    height: auto;
                }
                .arrow {
                    position: absolute;
                    right: 51px;
                    top: 105px;
                    width: 100px;
                    height: 23px;
                    overflow: hidden;
                    .arrow-inner {
                        position: absolute;
                        top: 0;
                        left: -200px;
                        width: 300px;
                        .arrow-img {
                            float: left;
                            width: 100px;
                            height: auto;
                            margin-left: 50px;
                        }
                    }
                }
                &.flow-link {
                    .icon-img {
                        width: 97px;
                        top: -17px;
                        right: 66px;
                    }
                }
                &.program-link {
                    .icon-img {
                        width: 149px;
                        top: -13px;
                        right: 29px;
                    }
                    .arrow {
                        top: 133px;
                    }
                }
                &.schedule-link {
                    .icon-img {
                        width: 93px;
                        top: -26px;
                        right: 57px;
                    }
                }
                @media (width >= 768px) {
                    &:hover {
                        scale: var(--hover-scale);
                        transition-duration: 100ms;
                        .arrow .arrow-inner {
                            transition-duration: 0.6s;
                            transform: translateX(150px);
                        }
                    }
                }
            }
            &.disabled {
                position: relative;
                a {
                    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))
                    }
                }
            }
        }
    }
}
@keyframes bound {
    0% { transform:translateY(0) }
    5% { transform:translateY(0) }
    10% { transform:translateY(0) }
    20% { transform:translateY(-15px) }
    25% { transform:translateY(0) }
    30% { transform:translateY(-5px) }
    40% { transform:translateY(0) }
    100% { transform:translateY(0) }
}
.page-icon-section {
    position: relative;
    .section-body {
        max-width: 1080px;
        margin: 0 auto;
        background-color: #fff;
        box-sizing: border-box;
        padding: 96px 60px 102px;
        @media (width <= 767px) {
            padding: 48px 16px 38px;
        }
        .category {
            dl {
                dt {
                    display: flex;
                    font-weight: bold;
                    font-size: 27px;
                    color: var(--second-color);
                    align-items: center;
                    @media (width <= 767px) {
                        font-size: 25px;
                    }
                    &::before,&::after {
                        flex-grow: 1;
                        content: "";
                        display: block;
                        height: 3px;
                        background-color: var(--second-color);
                        margin-top: 1px;
                    }
                    &::before {
                        margin-right: 10px;
                    }
                    @media (width <= 767px) {
                        &::before {
                            margin-right: 5px;
                        }
                    }
                    @media (width <= 767px) {
                        &::after {
                            margin-left: 5px;
                        }
                    }
                }
                dd {
                    display: flex;
                    width: 100%;
                    column-gap: 15px;
                    padding-top: 20px;
                    @media (width <= 767px) {
                        display: block;
                    }
                    a {
                        position: relative;
                        flex: 1;
                        display: block;
                        text-decoration: none;
                        .icon {
                            background-color: #ebeff1;
                            border-radius: 10px;
                            display: flex;
                            width: 100%;
                            height: 175px;
                            align-items: center;
                            justify-content: center;
                            @media (width <= 767px) {
                                height: 144px;
                            }
                            .icon-img {
                                height: auto;
                                &.--1 {
                                    width: 60px;
                                    @media (width <= 767px) {
                                        width: 47px;
                                    }
                                }
                                &.--2 {
                                    width: 121px;
                                    @media (width <= 767px) {
                                        width: 96px;
                                    }
                                }
                                &.--3 {
                                    width: 98px;
                                    @media (width <= 767px) {
                                        width: 77px;
                                    }
                                }
                                &.--4 {
                                    width: 115px;
                                    @media (width <= 767px) {
                                        width: 90px;
                                    }
                                }
                                &.--5 {
                                    width: 104px;
                                    @media (width <= 767px) {
                                        width: 82px;
                                    }
                                }
                                &.--6 {
                                    width: 74px;
                                    @media (width <= 767px) {
                                        width: 58px;
                                    }
                                }
                                &.--7 {
                                    width: 115px;
                                    @media (width <= 767px) {
                                        width: 90px;
                                    }
                                }
                                &.--8 {
                                    width: 144px;
                                    @media (width <= 767px) {
                                        width: 113px;
                                    }
                                }
                            }
                        }
                        .emphasis {
                            position: absolute;
                            top: -15px;
                            right: 20px;
                            font-size: 17px;
                            font-weight: bold;
                            line-height: 40px;
                            color: #fff;
                            background-color: #ff9701;
                            border-radius: 7px;
                            width: fit-content;
                            padding-left: 15px;
                            padding-right: 9px;
                            text-align: center;
                            font-feature-settings: "palt";
                            animation: bound 2s infinite;
                            @media (width <= 767px) {
                                top: -10px;
                                right: 10px;
                                font-size: 16px;
                                line-height: 35px;
                                padding-left: 13px;
                                padding-right: 5px;
                            }
                            &::after {
                                position: absolute;
                                bottom: -13px;
                                left: calc(50% - 5px);
                                display: block;
                                content: '';
                                height: 0;
                                width: 0;
                                box-sizing: content-box;
                                border-left: 11px solid #ff9701;
                                border-bottom: 14px solid transparent;
                            }
                        }
                        .caption {
                            font-size: 19px;
                            font-weight: var(--font-weight-medium);
                            text-align: center;
                            padding-top: 13px;
                            color: #333;
                            @media (width <= 767px) {
                                font-size: 16px;
                                padding-top: 9px;
                            }
                        }
                        @media (width >= 768px) {
                            &:hover .icon {
                                background-color: #d9e6ed;
                                scale: var(--hover-scale);
                            }
                        }
                        @media (width <= 767px) {
                            &:not(:first-child) {
                                margin-top: 25px;
                            }
                        }
                    }
                }
                &:not(:first-child) {
                    padding-top: 80px;
                    @media (width <= 767px) {
                        padding-top: 50px;
                    }
                }
            }
        }
        .banner {
            padding-top: 93px;
            @media (width <= 767px) {
                padding-top: 52px;
            }
            a {
                position: relative;
                display: flex;
                justify-content: center;
                align-items: center;
                text-decoration: none;
                height: 175px;
                border: 3px solid #ccc;
                border-radius: 10px;
                @media (width <= 767px) {
                    border-width: 2px;
                    justify-content: normal;
                    height: 145px;
                }
                .caption {
                    font-weight: var(--font-weight-medium);
                    font-size: 30px;
                    color: var(--second-color);
                    @media (width <= 767px) {
                        font-size: 21px;
                        flex: 1;
                        text-align: center;
                    }
                }
                @media (width >= 768px) {
                    &:hover .caption {
                        scale: var(--hover-scale);
                    }
                }
                .arrow {
                    display: flex;
                    align-items: center;
                    position: absolute;
                    top: 25px;
                    bottom: 25px;
                    right: 0;
                    width: 170px;
                    border-left: 2px solid #ccc;
                    overflow: hidden;
                    @media (width <= 767px) {
                        position: relative;
                        top: 0;
                        bottom: 0;
                        height: 120px;
                        border-left-width: 1px;
                        max-width: 82px;
                        justify-content: center;
                    }
                    @media (width >= 768px) {
                        .arrow-inner {
                            width: 200%;
                            margin-left: -100%;
                            .arrow-img {
                                float: left;
                                display: block;
                                width: 50%;
                                height: 17px;
                                object-fit: contain;
                            }
                        }
                    }
                    @media (width <= 767px) {
                        .arrow-img {
                            width: 49px;
                            height: auto;
                        }
                    }
                }
                @media (width >= 768px) {
                    &:hover .arrow .arrow-inner {
                        translate: 50% 0;
                        transition-duration: 0.6s;
                    }
                }
                &::before,&::after {
                    display: block;
                    content: "";
                    background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/page_border_dotted.png);
                    background-size: 100% auto;
                    width: 15px;
                    height: 3px;
                    position: absolute;
                }
                &::before {
                    top: -3px;
                    left: 45px;
                }
                @media (width <= 767px) {
                    &::before {
                        left: 14px;
                    }
                }
                &::after {
                    bottom: -3px;
                    right: 45px;
                }
                @media (width <= 767px) {
                    &::after {
                        right: 14px;
                    }
                }
            }
        }
    }
    &::after {
        display: block;
        content: "";
        bottom: -81px;
        width: 100%;
        height: 81px;
        background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/mv_bottom.png);
        background-repeat: no-repeat;
        background-size: 1034px auto;
        background-position: 50% 0;
        position: absolute;
        z-index: 2;
    }
}
.video-section {
    position: relative;
    background-color: #ed8f8f;
    padding-bottom: 100px;
    padding-top: 139px;
    @media (width <= 767px) {
        padding-top: 125px;
        padding-bottom: 50px;
    }
    .parallax {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        overflow: hidden;
        z-index: 1;
        .image {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            background-repeat: no-repeat;
            background-position: 50% 0;
            z-index: 1;
            background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/page_bg.png);
            background-size: 100% auto;
            @media (width <= 1200px) {
                background-size: 1200px auto;
            }
            @media (width <= 767px) {
                background-size: 600px auto;
            }
        }
    }
    h2 {
        position: relative;
        z-index: 2;
        display: flex;
        width: fit-content;
        margin: 0 auto;
        @media (width <= 767px) {
            .star-img {
                position: absolute;
                z-index: 2;
                &.--left {
                    width: 50px;
                    height: auto;
                    left: -5px;
                    top: 28px;
                }
                &.--right {
                    width: 49px;
                    height: auto;
                    top: 26px;
                    right: -12px;
                }
            }
        }
        .dash-img {
            width: 45px;
            height: auto;
            @media (width <= 767px) {
                width: 28px;
            }
            &.--before {
                translate: 5px 0;
                @media (width <= 767px) {
                    translate: 12px 0;
                }
            }
            &.--after {
                transform: scaleX(-1);
                @media (width <= 767px) {
                    translate: -11px 0;
                }
            }
        }
        .text {
            display: block;
            font-family: var(--font-family-TenMincho);
            font-size: 47px;
            line-height: 1.1;
            font-feature-settings: "palt";
            text-align: center;
            @media (width <= 767px) {
                font-size: 30px;
            }
        }
    }
    .message {
        position: relative;
        z-index: 2;
        padding-top: 3px;
        text-align: center;
        @media (width <= 767px) {
            margin: 0 16px;
            padding-top: 7px;
        }
        .message-img {
            width: 688px;
            height: auto;
            @media (width <= 767px) {
                width: 100%;
            }
        }
    }
    .carousel {
        z-index: 2;
        padding-top: 30px;
        @media (width <= 767px) {
            padding-top: 4px;
        }
        .videos {
            ul {
                margin-bottom: 8px;
                @media (width <= 767px) {
                }
                .splide__slide {
                    position: relative;
                    width: 738px;
                    @media (width <= 767px) {
                        width: 100vw;
                    }
                    .slide {
                        position: relative;
                        margin-bottom: 8px;
                        margin-right: 4px;
                        @media (width <= 767px) {
                            margin: 16px;
                        }
                        .box {
                            position: relative;
                            z-index: 2;
                            height: 510px;
                            border: 3px solid #000;
                            background-color: #fff;
                            border-radius: 17px;
                            @media (width <= 767px) {
                                border-radius: 7px;
                                height: auto;
                                border-width: 2px;
                            }
                            video {
                                width: 100%;
                                height: auto;
                                border-radius: 15px 15px 0 0;
                                user-drag: none;
                                user-select: none;
                                -moz-user-select: none;
                                -webkit-user-drag: none;
                                -webkit-user-select: none;
                                -ms-user-select: none;
                                @media (width <= 767px) {
                                    border-radius: 6px 6px 0 0;
                                }
                            }
                            .title {
                                display: flex;
                                width: 100%;
                                justify-content: center;
                                align-items: center;
                                height: 97px;
                                color: #333333;
                                font-weight: var(--font-weight-medium);
                                font-size: 19px;
                                line-height: 1.5;
                                @media (width <= 767px) {
                                    font-size: 15px;
                                    padding: 9px 13px;
                                    height: auto;
                                    min-height: 63px;
                                    box-sizing: border-box;
                                    text-align: center;
                                }
                            }
                        }
                        &::after {
                            display: block;
                            content: "";
                            width: 100%;
                            height: 502px;
                            background-image: url(https://www.kanazawa-it.ac.jp/assets/img/freshers/index/video_border.png);
                            background-repeat: no-repeat;
                            background-size: 726px 502px;
                            background-position: 100% 100%;
                            position: absolute;
                            right: -8px;
                            bottom: -8px;
                            z-index: 1;
                        }
                        @media (width <= 767px) {
                            &::after {
                                display: none;
                            }
                        }
                        .border {
                            display: none;
                            position: absolute;
                            right: -5px;
                            bottom: -5px;
                            left: 5px;
                            top: 5px;
                            opacity: 0.5;
                            @media (width <= 767px) {
                                display: block;
                            }
                            .right {
                                position: absolute;
                                top: 0;
                                right: 0;
                                bottom: 2px;
                                width: 10px;
                                display: flex;
                                flex-direction: column;
                                .top-img {
                                    width: 10px;
                                    height: 90px;
                                }
                                .center-img {
                                    width: 10px;
                                    flex: 1;
                                }
                                .bottom-img {
                                    width: 10px;
                                    height: 90px;
                                }
                            }
                            .bottom {
                                position: absolute;
                                left: 0;
                                bottom: 0;
                                right: 0;
                                display: flex;
                                .left-img {
                                    width: 40px;
                                    height: 2px;
                                }
                                .center-img {
                                    width: 2px;
                                    height: 2px;
                                    flex: 1;
                                }
                                .right-img {
                                    width: 40px;
                                    height: 2px;
                                }
                            }
                        }
                    }

                }
            }
        }
        .splide__arrows {
            position: relative;
            display: flex;
            width: fit-content;
            margin: 36px auto 0;
            @media (width <= 767px) {
                margin-top: 14px;
            }
            .splide__arrow {
                background-color: transparent;
                opacity: 1;
                font-size: 30px;
                height: auto;
                width: auto;
                transform: none;
                display: flex;
                justify-content: center;
                align-items: center;
                position: relative;
                color: #fff;
                @media (width <= 767px) {
                    font-size: 22px;
                }
                &.splide__arrow--prev {
                    left: auto;
                }
                &.splide__arrow--next {
                    right: auto;
                }
            }
            .splide__arrow:disabled {
                opacity: 0.4;
            }
        }
        .splide__pagination {
            display: flex;
            width: fit-content;
            flex-wrap: nowrap;
            position: relative;
            padding: 0 25px;
            bottom: 0;
            @media (width <= 767px) {
                padding: 0 15px;
            }
            li {
                .splide__pagination__page {
                    width: 13px;
                    height: 13px;
                    background-color: #fff;
                    margin: 7px;
                    opacity: 1;
                    @media (width <= 767px) {
                        width: 10px;
                        height: 10px;
                        margin: 7px;
                    }
                }
                .splide__pagination__page.is-active {
                    transform: none;
                    background-color: #000000;
                }
            }
        }


        .control {
            color: #fff;
            display: flex;
            width: fit-content;
            margin: 35px auto 0;
            column-gap: 35px;
            @media (width <= 767px) {
                column-gap: 22px;
                margin-top: 23px;
            }
            .left-button, .right-button, .dot-button {
                cursor: pointer;
                @media (width >= 768px) {
                    &:not(.disabled):hover {
                        color: #000;
                    }
                }
            }
            .left-button, .right-button {
                font-size: 30px;
                @media (width <= 767px) {
                    font-size: 22px;
                }
                &.disabled {
                    opacity: 0.4;
                    cursor: default;
                }
            }
            .dot-button-list {
                display: flex;
                align-items: center;
                column-gap: 13px;
                @media (width <= 767px) {
                    column-gap: 15px;
                }
                .dot-button {
                    font-size: 13px;
                    @media (width <= 767px) {
                        font-size: 9px;
                    }
                    &.selected {
                        color: #000;
                    }
                }
            }
        }
    }
}
body.touch-device .carousel .videos {
    scroll-behavior: smooth;
}
.link-section {
    background-color: #ebeff1;
    padding-top: 60px;
    padding-bottom: 60px;
    @media (width <= 767px) {
        padding-top: 49px;
        padding-bottom: 49px;
    }
    .links {
        display: flex;
        width: fit-content;
        margin: 0 auto;
        @media (width <= 767px) {
            display: block;
            width: auto;
            margin: 0 30px;
        }
        .link {
            position: relative;
            color: #fff;
            text-decoration: none;
            width: 350px;
            height: 70px;
            border-radius: 35px;
            background-color: #0d539b;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 15px;
            @media (width <= 767px) {
                width: auto;
                margin: 0;
                height: 52px;
            }
            .text {
                font-weight: bold;
                font-size: 19px;
                @media (width <= 767px) {
                    font-size: 15px;
                }
            }
            i {
                position: absolute;
                right: 25px;
                top: 0;
                line-height: 70px;
                font-size: 25px;
                @media (width <= 767px) {
                    font-size: 18px;
                    line-height: 52px;
                    right: 16px;
                }
            }
            @media (width >= 768px) {
                &:hover {
                    background-color: #1075dd;
                    scale: var(--hover-scale);
                }
            }
            &:not(:first-child) {
                @media (width <= 767px) {
                    margin-top: 10px;
                }
            }
        }
    }
}
.welcome-section {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px;
    @media (width <= 767px) {
        height: 167px;
    }
    .message {
        position: relative;
        z-index: 11;
        font-size: 23px;
        font-family: var(--font-family-TenMincho);
        line-height: 1.8;
        text-align: center;
        @media (width <= 767px) {
            font-size: 14px;

        }
    }
    .confetti2 {
        overflow: hidden;
        position: absolute;
        z-index: 10;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        canvas {
            width: 100vw;
            height: 100vh;
        }
    }
}
.banner-section {
    border-top: 2px solid #ebeff1;
    display: flex;
    column-gap: 20px;
    width: 100%;
    justify-content: center;
    padding: 30px 0;
    @media (width <= 767px) {
        flex-direction: column;
        column-gap: normal;
        row-gap: 10px;
        align-items: center;
        padding: 25px 0;
    }
    a {
        width: fit-content;
        text-decoration: none;
    }
}