.text-blue {
    color:#0a41a6;
}
.text-yellow {
    color:#fdc105;
}

.swiper_mainvisual {
  position:relative;
}

.main-visual_container {
  background-color:#ffffff;
  height: 100%;
}

.main-visual_container.bg02 {
  background:#ffffff;
  background-image:none !important;
  visibility:hidden;
}

.is-loading .main-visual_container.bg02 {
  visibility:visible;
}

.swiper-pagination {
  text-align:center;
  bottom:10vh !important;
}
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    opacity: 1;
    background-color: #D9D9D9;
    border:1px solid #D9D9D9;
}
.swiper-pagination-bullet-active {
    background-color: #0A41A6;
    border:1px solid #ffffff;
}

@media (hover: hover) {
    .swiper-pagination-bullet:hover {
        opacity: 0.7;
        border:1px solid #ffffff;
    }
}


.main-visual_container.bg02:after {
    background-image: url(/dcms_media/image/top_main_bg_sp02.webp);
}
.is-loading .main-visual_container.bg02:after {
    animation:none;
}

.main-visual_container.bg02:before {
    background-image: url(/dcms_media/image/top_main_bg_sp02b.webp);
    background-position: 0 0;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    content: "";
    background-repeat: no-repeat;
}

@media print, screen and (min-width: 980px) {
    .main-visual_container.bg02:after {
        background-image: url(/dcms_media/image/top_main_bg_pc02.webp);
        background-position: 0 100%;
        background-size: 100% auto;
    }
    .main-visual_container.bg02:before {
        background-image: url(/dcms_media/image/top_main_bg_pc02b.webp);
        background-position: 0 0;
        background-size: 100% auto;
    }
}

@media print, screen and (max-width: 979.8px) {
    .main-visual_container.bg02 {
        padding-top: 10px;
    }
}

.is-loading .main-visual_thumb.mv-img02 .img1,
.is-loading .main-visual_thumb.mv-img03 .img1 {
    animation: none;
}
.main-visual_thumb.mv-img02 img,
.main-visual_thumb.mv-img03 img {
    height: auto;
} 

.main-visual_thumb.mv-img02 .img1,
.main-visual_thumb.mv-img03 .img1 {
    left:0;
    width: 100%;
}

.main-visual_thumb.mv-img02 {
    width: 100%;
    max-width: 100%;
    margin-top: 30px;
}

.main-visual_thumb.mv-img03 {
    width: 80%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    right:0;
    margin-top: 30px;
}

@media print, screen and (min-width: 980px) {
    .main-visual_txtarea.mv02 {
        width: 50%;
        padding-right: 25px;
        display: flex;
        align-items: center;

    } 
    .main-visual_thumb.mv-img02, .main-visual_thumb.mv-img03 {
        width: 50%;
        max-width: 844px;
        margin-top: 0;
        display: flex;
        align-items: center;
    }
    .main-visual_thumb.mv-img03 {
        max-width: 682px;
        right: auto;
    }
    .main-visual_thumb.mv-img02 .img1, .main-visual_thumb.mv-img03 .img1 {
        margin-right: calc((100vw - 100%) / 2 * -1);
        width: calc((100vw - 100%) / 2 + 46%);
    }
    .is-loading .main-visual_thumb.mv-img02 .img1, .is-loading .main-visual_thumb.mv-img03 .img1 {
        animation: none;
    }
    .main-visual_thumb.mv-img02 img {
        max-width: 844px;
    } 
    .main-visual_thumb.mv-img03 img {
        max-width: 682px;
    } 
}

.fw-normal {
    font-weight: 400 !important;
}

.main-cta-btn.custom-btn a, .main-cta-btn.custom-btn02 a {
    font-size: 18px;
    color: #333333;
    padding-top:18px;
    padding-bottom: 18px;
}

@media print, screen and (min-width: 980px) {
    .main-cta-btn.custom-btn a, .main-cta-btn.custom-btn02 a {
        width: calc(100% - 30px);
        max-width: 450px;
        min-width: unset;
    }
}

@media print, screen and (max-width: 767.8px) {
    .main-cta-btn.custom-btn a, .main-cta-btn.custom-btn02 a {
        min-width: 100%;
    }
}

.main-cta-btn.custom-btn02 a {
    border-color: #0A41A6;
    background-color: #ffffff;
}
.main-cta-btn.custom-btn02 a:after {
    background-color: #0A41A6;
}

.main-cta-btn.custom-btn a:before, .main-cta-btn.custom-btn02 a:before {
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    right:20px;
    top:calc(50% - 12px);
    background-image: url(/dcms_media/other/arr-custom-btn01.svg) !important;
    background-repeat: no-repeat !important;
    background-size: 24px 24px;
    z-index: 2;
}

.main-cta-btn.custom-btn02 a:before {
    background-image: url(/dcms_media/other/arr-custom-btn02.svg) !important;
}


@media (hover: hover) {
    .main-cta-btn.custom-btn02 a:hover {
        color: #ffffff !important;
    }
    .main-cta-btn.custom-btn a:hover:before {
        background-image: url(/dcms_media/other/arr-custom-btn01-wht.svg) !important;
    }
}


@media print, screen and (max-width: 979.8px) {
    .swiper_mainvisual .swiper-slide {
        height: unset;
    }
    .swiper-pagination {
        bottom:5vh !important;
    }
}


.main-visual_title.slide02_title {
    font-size: min(8vw, 58px);
    font-weight: 700;
    letter-spacing: 0.15rem;
}

@media print, screen and (min-width: 980px) {
    .main-visual_title.slide02_title {
        font-size: min(5.4vw, 58px);
    }
}

.main-visual_subtitle {
    font-size: min(4.5vw, 30px);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}
.main-visual_subtitle span {
    font-size: min(3.5vw, 24px);
}

@media print, screen and (min-width: 980px) {
    .main-visual_subtitle {
        font-size: min(2.7vw, 30px);
    }
    .main-visual_subtitle span {
        font-size: 24px;
    }
}


#tinymce .main-visual_container.bg-gray,
#tinymce .main-visual_container.bg-wht,
#tinymce .main-visual_container.bg02 {
    visibility:visible;
}
#tinymce .swiper-wrapper {
    display: block;
}