/* main_visual */
#main_visual { position: relative; height: 970px; max-height: 100vh; overflow: hidden; }
#main_visual .mv_wrap { position: relative; height: 100%; }
#main_visual .mv_text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#main_visual .mv_text .contwrap { height: 100%; }
#main_visual .mv_slick { z-index: 1; position: relative; height: 100%; }
#main_visual .mv_slick .slick-list, #main_visual .mv_slick .slick-track, #main_visual .mv_slick .slick-slide, #main_visual .mv_slick .slick-slide > div { height: 100%; }
#main_visual .mv_slick .con { position: relative; height: 100%; }
#main_visual .mv_slick .con .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#main_visual .mv_slick .slick-current .bg { animation: mv_bg forwards linear 3s; }
@keyframes mv_bg { 
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
#main_visual .mv_slick .con1 .bg { background: url(/image/main/mv_bg1.png) no-repeat center/cover; }
#main_visual .mv_slick .con2 .bg { background: url(/image/main/mv_bg2.jpg) no-repeat center/cover; }
#main_visual .mv_slick .con3 .bg { background: url(/image/main/mv_bg3.png) no-repeat center/cover; }

#main_visual .mv_slick .con .video { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
#main_visual .mv_slick .con .video video { width: initial; height: initial; min-width: 120%; min-height: 120%; }

#main_visual .mv_slick .con .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); }
#main_visual .mv_slick .slick-current .frame { animation: mv_frame forwards linear 3s; }
@keyframes mv_frame { 
    0% { background-color: rgba(0, 0, 0, 0.1); }
    100% { background-color: rgba(0, 0, 0, 0.6); }
}
#main_visual .slick-dots { z-index: 10; position: absolute; left: 50%; transform: translateX(-50%); bottom: 20px; display: flex; flex-wrap: nowrap; justify-content: center; text-align: center; }
#main_visual .slick-dots li { width: 12px; height: 12px; border-radius: 50%; background-color: #b5b5b5; margin: 0 6px; cursor: pointer; }
#main_visual .slick-dots li button { display: none; }
#main_visual .slick-dots li.slick-active { background-color: #202d6d; }

#main_visual .mv_slick .con .contwrap { height: 100%; }
#main_visual .mv_slick .con .textbox { z-index: 3; position: relative; top: 55%; transform: translateY(-50%); text-align: center; }
#main_visual .mv_slick .con .textbox .text1 { font-weight: 700; font-size: 60px; color: #fff; line-height: 1.2; }
#main_visual .mv_slick .con .textbox .text2 { margin-top: 5px; font-size: 25px; color: #fff; line-height: 1.6; }
#main_visual .mv_slick .con .textbox .text2 b { font-size: inherit !important; }

@media (max-width: 1535px) {
    #main_visual { height: calc(450px + 30vw); }
}
@media (max-width: 1279px) {
    #main_visual { height: calc(350px + 25vw); }
}
@media (max-width: 1023px) {
    #main_visual { height: calc(280px + 17vw); }
    #main_visual .slick-dots { bottom: 20px; }
    #main_visual .slick-dots li { width: 10px; height: 10px; }
    #main_visual .mv_slick .con .textbox { top: 57%; }
}
@media (max-width: 624px) {
    #main_visual .mv_slick .con .video video { min-width: initial; min-height: initial; max-width: 200%; }
}
@media (max-width: 524px) {
    #main_visual .mv_slick .con .textbox .text2 br { display: none; }
}

/* main_business */
#main_business { position: relative; overflow: hidden; height: 100vh; height: initial; padding: 130px 0; }
#main_business .business_wrap { position: relative; /* top: 50%; transform: translateY(-50%); */ }
#main_business .text1 { padding-bottom: 40px; text-align: center; font-weight: 600; font-size: 40px; color: #373737; }
#main_business .text1 span { color: #df2e13; }
#main_business .businessSlick { margin: -10px; }
#main_business .businessSlick .slick-slide { padding: 10px; }
#main_business .businessSlick .slick-slide .businessA { position: relative; display: flex; align-items: center; justify-content: center; text-emphasis: calc(); overflow: hidden; border-radius: 20px; aspect-ratio: 1/0.45; }
#main_business .businessSlick .slick-slide .businessA img { display: inline-block; width: 100%; }
#main_business .businessSlick .slick-slide .businessA .descbox { opacity: 0; z-index: 2; position: absolute; left: 0; bottom: 0; width: 100%; background-color: rgba(0, 0, 0, 0.7); padding: 20px; text-align: left; transition: opacity 0.3s; }
#main_business .businessSlick .slick-slide.slick-current .businessA .descbox { opacity: 1; }
#main_business .businessSlick .slick-slide .businessA .descbox .desc1 { font-weight: 600; font-size: 24px; color: #fff; line-height: 1.33; }
#main_business .businessSlick .slick-slide .businessA .descbox .desc2 { margin-top: 5px; font-size: 18px; color: #fff; line-height: 1.38; }
#main_business .businessSlick .slick-slide .businessA .frame { z-index: 3; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); transition: opacity 0.3s; }
#main_business .businessSlick .slick-slide.slick-current .businessA .frame { opacity: 0; }

#main_business .businessSlick .slick-dots { padding-top: 25px; display: flex; flex-wrap: nowrap; justify-content: center; }
#main_business .businessSlick .slick-dots li { margin: 0 5px; width: 15px; height: 15px; background-color: #bfbfbf; border: 2px solid #bfbfbf; border-radius: 50%; cursor: pointer; }
#main_business .businessSlick .slick-dots li.slick-active { background-color: #fff; border: 2px solid #4e649b; }
#main_business .businessSlick .slick-dots li button { display: none; }
@media (max-width: 1535px) {
    #main_business { height: calc(500px + 15vw); height: initial; padding: 100px 0; }
    #main_business .business_wrap { top: initial; transform: translateY(0); }


    #main_business .businessSlick .slick-slide .businessA { border-radius: 17px; }
    #main_business .businessSlick .slick-slide .businessA .descbox { padding: 18px; }
}
@media (max-width: 1279px) {
    #main_business { padding: 80px 0; }

    #main_business .businessSlick .slick-slide .businessA { border-radius: 15px; }
    #main_business .businessSlick .slick-slide .businessA .descbox { padding: 16px; }
}
@media (max-width: 1023px) {
    #main_business { padding: 60px 0; }

    #main_business .businessSlick .slick-slide .businessA .descbox { padding: 15px; }
    #main_business .businessSlick .slick-dots { padding-top: 15px }
    #main_business .businessSlick .slick-dots li { margin: 0 4px; width: 10px; height: 10px; }
}
@media (max-width: 767px) {
    #main_business { padding: 50px 0; }

    #main_business .businessSlick .slick-slide .businessA { position: relative; display: block; aspect-ratio: 1/0.7; border-radius: 13px; }
    #main_business .businessSlick .slick-slide .businessA img { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); min-width: 100%; min-height: 100%; width: auto; height: auto; max-width: 200%; }
    #main_business .businessSlick .slick-slide .businessA .descbox { padding: 13px; }
    #main_business .businessSlick .slick-slide .businessA .descbox .desc2 { display: none !important; }
}
@media (max-width: 580px) {
    #main_business .businessSlick { margin: -5px; }
    #main_business .businessSlick .slick-slide { padding: 5px; }
    #main_business .businessSlick .slick-slide .businessA .descbox { padding: 10px; }
    #main_business .businessSlick .slick-slide .businessA .descbox .desc1 { font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    #main_business .businessSlick .slick-slide .businessA .descbox .desc2 { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}

/* main_perform */
#main_perform { position: relative; overflow: hidden; padding: 120px 0; background: url(/image/main/perform_bg.jpg) no-repeat center/cover; }
#main_perform .text1 { padding-bottom: 45px; font-weight: 700; font-size: 40px; color: #373737; }
#main_perform .text1 span { color: #df2f14; }

/* main_blog */
#main_blog { position: relative; overflow: hidden; padding-top: 100px; }
#main_blog .text1 { padding-bottom: 20px; font-weight: 500; font-size: 35px; color: #000; display: flex; justify-content: space-between; align-items: center; }
#main_blog .text1 * { font-weight: inherit; font-size: inherit; color: inherit; }

/* main_board */
#main_board { padding: 100px 0; overflow: hidden; }
#main_board .contents1 { display: flex; flex-wrap: nowrap; justify-content: space-between; }
#main_board .contents1 > li { width: 48%; }
@media (max-width: 1023px) {
    #main_board .contents1 { display: block; }
    #main_board .contents1 > li { width: 100%; }
    #main_board .contents1 > li:nth-of-type(n + 2) { margin-top: 30px; }
}

/* main_banner */
#main_banner { position: relative; padding: 45px 0; overflow: hidden; }
#main_banner .bannerSlick { margin: -2px; }
#main_banner .bannerSlick .slick-slide { padding: 2px; text-align: center; }
#main_banner .bannerSlick .slick-slide a { pointer-events: none; }
#main_banner .bannerSlick .slick-slide a img { display: inline-block; }

/* main_contact */
#main_contact { position: relative; padding: 60px 0; overflow: hidden; }
#main_contact .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(/image/main/contact_bg.jpg) no-repeat center/cover; }
#main_contact .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
#main_contact dl { z-index: 3; position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main_contact dl dt .textbox { display: flex; flex-wrap: nowrap; align-items: center; font-size: 24px; color: #fff; line-height: 1.38; }
#main_contact dl dt .textbox * { font-size: inherit; color: inherit; line-height: inherit; }
#main_contact dl dt .textbox .left { min-width: max-content; margin-right: 15px; }
#main_contact dl dt .textbox .left img { width: 36px; }
#main_contact dl dt .textbox:nth-of-type(n + 2) { margin-top: 20px; }
#main_contact dl dt .textbox:nth-of-type(n + 2) .left img { opacity: 0; }
#main_contact dl dt .textbox span { font-size: 34px; }
#main_contact dl dt .textbox b { font-weight: 700; font-size: inherit !important; }
#main_contact dl dt .textbox .br1 { display: none; }
#main_contact dl dt .textbox i { display: inline-block; font-style: normal; }
#main_contact dl dd a { margin-left: 15px; display: inline-block; padding: 15px 60px; text-align: center; font-size: 20px; color: #fff; border-radius: 100px; transition: background-color 0.3s, border 0.3s; }
#main_contact dl dd a:first-of-type { border: 1px solid #fff; background-color: transparent; }
#main_contact dl dd a:first-of-type:hover { background-color: rgba(0, 0, 0, 0.2); }
#main_contact dl dd a:last-of-type { border: 1px solid #5c7bc7; background-color: #5c7bc7; }
#main_contact dl dd a:last-of-type:hover { background-color: #202d6d; border: 1px solid #202d6d; }
@media (max-width: 1535px) {
    #main_contact dl dt .textbox .left { margin-right: 13px; }
    #main_contact dl dt .textbox .left img { width: calc(26px + 0.6vw); }
    #main_contact dl dt .textbox:nth-of-type(n + 2) { margin-top: 17px; }
}
@media (max-width: 1279px) {
    #main_contact dl dt .textbox .left { margin-right: 11px; }
    #main_contact dl dt .textbox .left img { width: calc(24px + 0.5vw); }
    #main_contact dl dt .textbox:nth-of-type(n + 2) { margin-top: 15px; }
}
@media (max-width: 1023px) {
    #main_contact .bg { background-position-x: 100%; }
    #main_contact dl { display: block; text-align: center; }
    #main_contact dl dt .textbox { justify-content: center; }
    #main_contact dl dd { margin-top: 20px; }
    #main_contact dl dd a { margin: 0 6px; }
}
@media (max-width: 424px) {
    #main_contact dl dt .textbox .br1 { display: inline-block; }
    #main_contact dl dt .textbox i { display: none; }
}