@charset "utf-8";

.menu-open {
    overflow: hidden;
}

.w1920 {
    position: relative;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
}

.wrapper {
    position: relative;
    z-index: 1;
}

.wrapper::before {
    content: "";
    background: url(/system_panel/uploads/images/20260108161401280069.png) no-repeat top/100% auto;
    width: 100%;
    height: calc(578/1920 * 100vw);
    top: 0;
    left: 0;
    position: absolute;
    z-index: -1;
}

.wrapper::after {
    content: "";
    background: url(/system_panel/uploads/images/20260108161407273567.png) no-repeat top/100% auto;
    width: 100%;
    height: calc(578/1920 * 100vw);
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -1;
}

h1,
h2,
h3,
h4 {
    text-wrap: auto;
}

.desc p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
    line-height: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
    color: #001e39;
    word-break: auto-phrase;
}

.sec-title {
    overflow: hidden;
}

.sec-title .ttl-ja {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1;
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    color: #005aaa;
}

.sec-title .ttl-en {
    display: inline-block;
    font-family: "Outfit", sans-serif;
    font-weight: 500;
    line-height: 1.2;
    font-size: clamp(3.5rem, 3.136rem + 1.55vw, 5rem);
    color: #005aaa;
}

.sec-title .ttl-en span {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.6s ease;
}

.sec-title.active .ttl-en span {
    transform: translateY(0);
    opacity: 1;
}

.morebtn {
    display: flex;
    align-items: center;
    border-radius: 10px;
    background: #005aaa;
    height: 60px;
    max-width: 236px;
    width: 100%;
    gap: 20px;
    justify-content: center;
    transition: .4s ease;
}

.morebtn:hover {
    background-color: #FFF;
    border: 1px solid #005aaa;
}

.morebtn p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
}

.morebtn:hover p {
    color: #005aaa;
}

.morebtn .arrow {
    background: url(/system_panel/uploads/images/20260106151431670815.svg) no-repeat center/contain;
    width: 11px;
    height: 15px;
    transform: translateX(8px);
}

.morebtn:hover .arrow {
    background-image: url(/system_panel/uploads/images/20260106151519486628.svg);
}

@media (max-width: 960px) {
    .wrapper::before {
        background: url(/system_panel/uploads/images/20260129035033121667.png) no-repeat top/100% auto;
        height: calc(202/375 * 100vw);
    }

    .wrapper::after {
        background: url(/system_panel/uploads/images/20260129035033826061.png) no-repeat top/100% auto;
        height: calc(601/375 * 100vw);
    }
}