@charset "utf-8";
.ca-main {
    --box-border: 3px;
}
.ca-main img {
    display: block;
}
.ca-l-inner-text {
    width: 604px;
    margin: 0 auto;
}
.ca-l-inner-02 {
    width: 850px;
    margin: 0 auto;
}
.ca-t-main,
a.ca-t-main {
    color: #1432aa;
}
.ca-main .ca-t-main-bg {
    background-color: #1432aa;
}
.ca-t-02 {
    color: #0875E2;
}
.ca-main {
    position: relative;
    margin: 0 -12px;
}
.ca-main::before {
    content: "";
    background: #eeeeee;
    position: absolute;
    top: 0;
    left: min(-40px, calc((100vw - 1200px) / -2));
    height: 100%;
    width: 101vw;
    min-width: 1280px;
}
.ca-box {
    position: relative;
}
.ca-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    height: 100%;
    transform-origin: 100% 50%;
}
.ca-cover.ca-lay-or,
.ca-wrap-frame-serif.ca-lay-or {
    transform-origin: 0% 50%;
}
.ca-ht {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
}
.ca-u-line-text-wrap {
    transform-origin: 0 0;
    display: block;
}
.ca-u-line-text-wrap--rl {
    display: flex;
    flex-direction: row-reverse;
}
.ca-u-line-text {
    display: block;
    margin-bottom: -1px;
    width: fit-content;
    height: fit-content;
}
/* modal */
.ca-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    opacity: 0;
    overflow-y: scroll;
    transform: translateZ(1px);
}
.ca-modal-wrap {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100%;
    position: relative;
    padding: 50px 0;
    box-sizing: border-box;
}
.ca-box-modal {
    position: relative;
    z-index: 1;
    width: 660px;
    height: 371px;
    margin: 0 auto;
}
.ca-box-video {
    position: relative;
    width: 100%;
    height: 371px;
    border-radius: 5px;
    overflow: hidden;
}
.ca-box-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ca-bg-modal {
    position: absolute;
    top: 0;
    right: 0;
    background: rgba(193, 193, 193, 0.92);
    width: 100%;
    height: 100%;
    right: 0 !important;
}
.ca-btn-close-modal {
    position: absolute;
    top: 0;
    right: 0;
    margin: -40px;
    z-index: 1;
    display: block;
}
.ca-btn-close-modal:focus-visible path,
.ca-btn-close-modal:hover path {
    fill: #1432aa;
}
.ca-modal-ctn {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}
.ca-btn-close-modal-ac {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
@media (min-width:768px) {
    .ca-for-sp {
        display: none !important;
    }
    .ca-u-line-text-wrap {
        transform: scale(1) !important;
    }
}
@media screen and (max-width:767px) {
    .ca-l-inner-02 {
        width: 100%;
    }
    .ca-l-inner-text {
        width: 86.777%;
    }
    .ca-for-pc {
        display: none !important;
    }
    .ca-main::before {
        left: 0;
        width: 100%;
        min-width: 0;
    }
    .ca-main img {
        width: 100%;
        height: auto;
    }
    .ca-u-line-text-wrap {
        height: 0;
        transform: scale(0);
    }
    /* modal */
    .ca-box-modal {
        width: calc(100% - 50px);
        height: auto;
    }
    .ca-box-video {
        width: 100%;
        height: 0;
        padding-bottom: 56.25%;
    }
    .ca-btn-close-modal {
        top: -20px;
        right: -20px;
        width: 20px;
        height: 20px;
        margin: 0;
    }
    .ca-btn-close-modal svg {
        width: 18px;
        height: 18px;
    }
}
@media screen and (max-width: 500px) {
    .ca-main {
        --box-border: 2px;
    }
}
@media screen and (hover:hover) {
    .ca-btn-close-modal-ac {
        transition: opacity 200ms ease-out;
    }
    .ca-btn-close-modal:hover .ca-btn-close-modal-ac,
    .ca-btn-close-modal:focus-visible .ca-btn-close-modal-ac {
        opacity: 1;
    }
}
/* js-animation */

.ca-main [class*="js-anm"],
.ca-main [class*="js-opening"] {
    opacity: 0;
}
.ca-main [class*="js-anm"].fix,
.ca-main [class*="js-opening"].fix {
    opacity: 1;
}

.ca-main .js-anm--boxright {
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0 100%);
    transform-origin: 0;
}
.ca-main .ca-side-img-box,
.ca-main .ca-lead-img {
    opacity: 0;
    transform: translateY(3rem);
}
.ca-main .js-anm--boxright:before {
    content: "";
    background: #1432aa;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
}
.ca-main .ca-bfilter {
    position: absolute;
    top: 0;
    filter: contrast(0) brightness(34%) sepia(100%) hue-rotate(195deg) saturate(900%);
    pointer-events: none;
    z-index: 1;
}

.ca-main [class*="--zoomout"] {
    transform: scale(1.2);
    opacity: 0;
}
.ca-main .fix[class*="--zoomout"] {
    transform: scale(1);
    opacity: 1;
    transition: opacity 0.5s, transform 0.5s cubic-bezier(0.32, 1.69, 0.8, 0.75);
    will-change: transform, opacity;
}
.ca-main .fix[class*="--fadein"] {
    opacity: 1;
    transition: opacity 0.5s;
    will-change: opacity;
}
.ca-main .fix[class*="--delay05"] {
    transition-delay: 0.5s;
}
.ca-main .fix[class*="--delay10"] {
    transition-delay: 1s;
}
.ca-main [class*="mask-right"] {
    -webkit-mask-image: linear-gradient(to left, transparent 50%, black 0);
    -webkit-mask-position-x: 100%;
    -webkit-mask-size: 200% 100%;
}
.ca-main [class*="mask-bottom"] {
    display: block;
    position: relative;
    -webkit-mask-image: linear-gradient(to top, transparent 50%, black 0);
    -webkit-mask-position-y: 100%;
    -webkit-mask-size: 100% 200%;
}
.ca-main .fix[class*="mask-right"] {
    -webkit-mask-position-x: 0%;
    transition: 1.2s cubic-bezier(0.47, 0.25, 0.11, 0.95);
    will-change: -webkit-mask-position-x, opacity;
}
.ca-main .fix[class*="mask-bottom"] {
    -webkit-mask-position-y: 0%;
    transition: 1.2s cubic-bezier(0.52, 0.04, 0.24, 1);
    transition-delay: .4s;
}

.ca-main [class*="blue-right"] {
    transform: translateY(10%);
    z-index: 1;
    /* position: inherit; */
}
.ca-main .fix[class*="blue-right"] {
    transform: translateY(0);
    transition: transform 1.5s cubic-bezier(0.31, 0.16, 0.24, 1);
    will-change: transform, opacity;
}
.ca-main [class*="blue-bottom"] {
    transform: translateY(10%);
    z-index: 1;
    /* position: inherit; */
}
.ca-main .fix[class*="blue-bottom"] {
    transform: translateY(0);
    transition: transform 1.5s cubic-bezier(0.31, 0.16, 0.24, 1);
    will-change: transform, opacity;
}

.ca-main [class*="blue-right"] .ca-bfilter,
.ca-main .js-anm--boxright:before {
    -webkit-mask-image: linear-gradient(to left, transparent 50%, black 0);
    -webkit-mask-position-x: 91.4%;
    -webkit-mask-size: 220% 100%;
}
.ca-main .js-anm--boxright:before {
    -webkit-mask-position-x: 0%;
}
.ca-main [class*="blue-bottom"] .ca-bfilter {
    -webkit-mask-image: linear-gradient(to top, transparent 50%, black 0);
    -webkit-mask-position-y: 91.4%;
    -webkit-mask-size: 100% 220%;
}
.ca-main .fix[class*="blue-right"] .ca-bfilter,
.ca-main .fix.js-anm--boxright:before {
    -webkit-mask-position-x: -83.5%;
    transition: -webkit-mask-position-x 1.3s cubic-bezier(0.38, 0.02, 0.21, 0.99);
    will-change: -webkit-mask-position-x;
}
.ca-main .fix.js-anm--boxright:before {
    transition-delay: .2s;
    transition-duration: .8s;
}
.ca-main .fix[class*="blue-bottom"] .ca-bfilter {
    -webkit-mask-position-y: -83.5%;
    transition: -webkit-mask-position-y 1.3s cubic-bezier(0.38, 0.02, 0.21, 0.99);
    will-change: -webkit-mask-position-y;
}

@media screen and (max-width: 767px) {
    .ca-main [class*="blue-bottom-spright"] .ca-bfilter {
        -webkit-mask-position-y: 0;
        -webkit-mask-image: linear-gradient(to left, transparent 50%, black 0);
        -webkit-mask-position-x: 91.4%;
        -webkit-mask-size: 220% 100%;
    }
    .ca-main .fix[class*="blue-bottom-spright"] .ca-bfilter {
        -webkit-mask-position-x: -83.5%;
        transition: -webkit-mask-position-x 1.3s cubic-bezier(0.38, 0.02, 0.21, 0.99);
    }
    .ca-main [class*="blue-right-spbottom"] .ca-bfilter {
        -webkit-mask-position-x: 0;
        -webkit-mask-image: linear-gradient(to top, transparent 50%, black 0);
        -webkit-mask-position-y: 91.4%;
        -webkit-mask-size: 100% 220%;
    }
    .ca-main .fix[class*="blue-right-spbottom"] .ca-bfilter {
        -webkit-mask-position-y: -83.5%;
        transition: -webkit-mask-position-y 1.3s cubic-bezier(0.38, 0.02, 0.21, 0.99);
    }
    .ca-main img.ca-bfilter {
        width: -webkit-fill-available !important;
    }
}

.ca-main .ca-js-boxright h2[class*="blue-bottom"] .ca-bfilter {
    -webkit-mask-position-y: 94%;
}
.ca-main .ca-js-boxright h2.fix[class*="blue-bottom"] .ca-bfilter {
    -webkit-mask-position-y: -83.5%;
    transition-delay: .2s;
}
.ca-main .ca-js-boxright h2[class*="blue-right"] .ca-bfilter {
    -webkit-mask-position-x: 94%;
}
.ca-main .ca-js-boxright h2.fix[class*="blue-right"] .ca-bfilter {
    -webkit-mask-position-x: -83.5%;
    transition-delay: .2s;
}
.ca-main .ca-bfilter+picture,
.ca-main .ca-bfilter+img {
    visibility: hidden;
    z-index: 0;
}
.ca-main .fix>.ca-bfilter+picture,
.ca-main .fix>.ca-bfilter+img,
.ca-main .fix a>.ca-bfilter+picture,
.ca-main .fix a>.ca-bfilter+img {
    visibility: visible;
    transition-delay: .45s;
}
.ca-main .ca-js-boxright h2.fix[class*="blue-right"]>.ca-bfilter+* {
    transition-delay: .65s;
}
.ca-main .ca-js-boxright h2.fix[class*="blue-bottom"]>.ca-bfilter+* {
    transition-delay: .65s;
}