/* 메인 슬라이드 */
.main_slide_section {
    position: relative;
    width: 100%;
    height: 1014px;
    background-color: var(--main);/*#e7355f;*/
    background-image: url("/marathon/code/8040/images/index_img/main_bg4.png");
    background-position: center 20px;
    background-repeat: no-repeat;
    padding-top: 150px;
}
.main_slide_section .container {
    position: absolute;
	z-index:2;
    font-size:0;
	bottom: 277px;left: 50%;transform: translateX(-50%);
}
.main_slide_section .slider_cont_btn{position:absolute;bottom:45px;left: 50%;transform: translate(-594px);z-index:9;}
@media (max-width: 1240px) {
	.main_slide_section .slider_cont_btn{left: 40px;transform: unset;}
	
}

/*
@media (max-width: 992px){
	.main_slide_section .container .slider_cont_btn{position:relative;padding-top:140px;}
}
@media (max-width: 768px){
	.main_slide_section .container .slider_cont_btn{position:relative;padding-top:140px;}
}
*/
.main_slide_section .visual-slider {
    width: 100%;
    height: 860px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.main_slide_section .slider-img {
    width: 100%;
    height: 860px;
    background-size: cover;
    position: relative;
    top: 0;
    z-index: -1;
    margin: 0 auto;
    float: left;
}
.slider-title {
    margin-top: 4.5%;
}
.main_slide_section .slider-img.slider-man {
    background: url("/marathon/code/8040/images/index_img/main_slider_man2.png") center center no-repeat;
}
.main_slide_section .slider-img.slider-woman {
    background: url("/marathon/code/8040/images/index_img/main_slider_woman.png") center center no-repeat;
}

.main_slide_section .btn-slider {
    display: inline-block;
    width: 255px;
    height: 65px;
    background: url("/marathon/code/8040/images/index_img/slide_btn_01.png") 0 0 no-repeat;
    text-indent: -9999px;
    position: relative;
    z-index: 2;
}

.main_slide_section .btn-slider.type02 {
    background: url("/marathon/code/8040/images/index_img/main_slider_btn2.jpg") 0 0 no-repeat;
    height: 65px;
    margin-left: 10px;
	width: 215px 
}

.slider-scroll {
    display: inline-block;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    text-align: center;
    z-index: 2;
}
.slider-scroll img {
    display: inline-block;
}
.slider-scroll span {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    margin-top: 10px;
}
@media (max-width: 1240px) {
	.main_slide_section .container {
		padding-right: 15px;
		padding-left: 15px;
		margin-right: 0;
		margin-left: 0px;
		left: 20px;transform: unset;
	}
}
/* 메인 콘텐츠 */
.main_content_section {
    position: relative;
    width: 100%;
}

/* 참가정보 */
.main-intro .title {
    display: block;
    padding: 90px 0 30px;
}
.main-intro ul {
    margin-left: 131px;
}
.main-intro ul li {
    display: block;
    font-size: 20px;
    line-height: 15px;
    color: #fff;
    margin-bottom: 13px;
    text-indent: -131px;
	float:unset;
}
.main-intro ul li:last-child {
    margin-bottom: 0;
}
.main-intro ul li span {
    display: inline-block;
    background: url("/marathon/code/8040/images/index_img/main_intro_label.png") 0 0 no-repeat;
    width: 127px;
    height: 40px;
    vertical-align: middle;
    font-size: 20px;
    font-weight: 500;
    line-height: 42px;
    padding-left: 15px;
    margin-right: 5px;
    color:var(--main);
    font-family: 'gg';
    text-indent: 0;
}
/* 이벤트 & 경품 */
.main-souvenir {
    text-align: center;
}
.main-souvenir .title {
    display: block;
    margin-bottom: 30px;
    text-align: left;
}
.main-souvenir .title img {
    display: inline-block;
}
.main-souvenir dl {
    display: block;
}
.main-souvenir dl:after {
    content: "";
    clear: both;
    display: block;
}
.main-souvenir dl dd {
    float: left;
    width: 50%;
    position: relative;
    text-align: center;
    padding: 30px 0;
}
.main-souvenir dl dd img {
    display: inline-block;
}
.main-souvenir dl dd .souvenir-title {
    margin-top: 20px;
}
.main-souvenir dl dd a.big-wrap {margin-top:0px;}
.main-souvenir dl dd a {
    position: relative;
    display: block;
    font-size: 18px;
    color: #fff;
    margin-top: 60px;
    padding-top: 4px;
    text-align: center;
    z-index: 1;
    font-family: 'gg';
    height: 115px;
}
.main-souvenir dl dd a.btn-souvenir:before {
    content: "자세히보기";
    display: block;
    width: 170px;
    height: 40px;
    line-height: 40px;
    background-color: var(--main);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: skewX(-15deg) translate(-55%, -50%);
    z-index: -1;
}

/* 참가자 안내 */
.main-info {
    text-align: center;
    width: 100%;
    max-width: 690px;
    float: left;
}
.main-info .title {
    display: block;
    margin-bottom: 60px;
    text-align: left;
}
.main-info .title img {
    display: inline-block;
}
.main-info dl dd {
    float: left;
}
.main-info dl dd a {
    position: relative;
    display: block;
    width: 210px;
    height: 180px;
    background-color: #fff;
    border: 5px solid #fff;
    text-align: center;
    padding-top: 75px;
}
.main-info dl dd a:hover {
    border: 5px solid var(--main);
    background-color: var(--main);
}

.main-info dl dd a .info-item-title {
    display: inline-block;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.main-info dl dd:first-child a .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_01.png");
    max-width: 97px;
    max-height: 26px;
}
.main-info dl dd:first-child a:hover .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_01_on.png");
}
.main-info dl dd:nth-child(2) a .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_02.png");
    max-width: 99px;
    max-height: 26px;
}
.main-info dl dd:nth-child(2) a:hover .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_02_on.png");
}
.main-info dl dd:last-child a .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_03.png");
    max-width: 101px;
    max-height: 60px;
}
.main-info dl dd:last-child a:hover .info-item-title {
    background-image: url("/marathon/code/8040/images/index_img/info_item_title_03_on.png");
}

.main-info dl dd a .btn-maininfo {
    font-size: 18px;
    line-height: 40px;
    color: var(--main);
    position: absolute;
    left: 50%;
    bottom: 5px;
    transform: translateX(-50%);
    font-family: 'gg';
    padding-top: 4px;
}
.main-info dl dd a:hover .btn-maininfo {
    color: 1fccd3;
}
.main-info dl dd a .btn-maininfo:before {
    content: "";
    display: block;
    width: 130px;
    height: 40px;
    background-color: #fff;
    border: 1px solid var(--main);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: skewX(-15deg) translate(-55%, -50%);
    z-index: -1;
}
.main-info dl dd a:hover .btn-maininfo:before {
    background-color: #fff;
    border-color: #fff;
}

/* 공지사항 */
.main-notice-section {
    width: 100%;
    background-color: var(--main);
    padding: 25px 0;
}
.main-notice-section dl dt {
    float: left;
    width: 160px;
    font-size: 24px;
    color: #fff;
    line-height: 80px;
}
.main-notice-section dl dd {
    float: left;
    width: calc(100% - 160px);
    position: relative;
    padding-right: 50px;
}
.main-notice-section dl dd ul li {
    display: block;
}
.main-notice-section dl dd ul li i {
    color: #fff;
}
.main-notice-section dl dd ul li a {
    position: relative;
    font-size: 18px;
    line-height: 40px;
    color: #fff;
    padding-left: 10px;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80%;
    display: inline-block;
}
.main-notice-section dl dd ul li a:after {
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    background-color: #e7355f;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.main-notice-section dl dd .notice-more {
    display: block;
    width: 40px;
    height: 40px;
    background: url("/marathon/code/8040/images/index_img/notice_more.png") 0 0 no-repeat;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-indent: -9999px;
}

/* 비쥬얼 텍스트 애니메이션 */
.text-scroll {
    display: flex;
    position: absolute;
    top: 100px;
    width: 100%;
    height: 200px;
    overflow: hidden;
    z-index: 0;
}
.text-scroll .text-scroll_title {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    transition: all 1s ease;
}
.text-scroll .text-scroll_title div {
	position:absolute;
	right:0px;
    display: flex;
    animation: scrollTextRight 150s infinite linear;
}
.text-scroll .text-scroll_title img {
    margin: 0;
    padding-right: 40px;
    max-width: fit-content;
}
@keyframes scrollText {
    0% {transform: translateX(0%);}
    100% {transform: translateX(-100%);}
}
@keyframes scrollTextRight { 0% { transform: translateX(0%); } 100% { transform: translateX(100%); } }



@media (max-width: 1440px) {
	.main_slide_section {height: 882px;background-image: url("/marathon/code/8040/images/index_img/main_bg5.png");padding-top: 100px;background-position-y: 121px;}

	.main_slide_section .slider-img.slider-man {
    background: url("/marathon/code/8040/images/index_img/main_slider_man3.png") center center no-repeat;
	}

}
@media (max-width: 1280px) {
	.main_slide_section {height: 797px;background-image: url("/marathon/code/8040/images/index_img/main_bg6.png");padding-top: 100px;background-position-y: 121px;}

	.main_slide_section .slider-img.slider-man {
    background: url("/marathon/code/8040/images/index_img/main_slider_man4.png") center center no-repeat;
	}
	.main_slide_section .slider-img{top: -36px;}

}

@media (min-width: 991px) {
    /* 메인컨텐츠 */
    .main_content_section {
        height: 1910px;
        background: url("/marathon/code/8040/images/index_img/main_content_bg.png") center top no-repeat;
        padding-top: 180px;
    }

    /* 참가정보 */
    .main-intro {
        width: 100%;
        max-width: 1920px;
        height: 521px;
        background: url("/marathon/code/8040/images/index_img/main_intro_bg.png") left center no-repeat;
        margin-bottom: 235px;
    }
    /* 이벤트 & 기념품 */
    .main-souvenir {
        display: block;
        width: 510px;
        float: right;
        margin-bottom: 10px;
    }
    .main-info dl dd:nth-child(2) {
        margin: 0 30px;
    }
    .main-info dl dd:last-child a {
        padding-top: 50px;
    }

    /* 공지사항 */
    .main-notice-section {
        position: absolute;
        left: 0;
        bottom: 0;
    }
    .main-info dl dd:nth-child(2) {
        margin: 0 30px;
    }
    .main-info dl dd:last-child a {
        padding-top: 50px;
    }
}

@media (max-width: 1720px) {
    .main-intro {
        background-position-x:-230px;
    }
}

@media (max-width: 990px) {
    /* 메인 슬라이드 */
    .main_slide_section {
        /*height: auto;*/
        padding: 100px 0 60px;
    }
	.main_slide_section .slider-img.slider-woman {
		background: url(/marathon/code/8040/images/index_img/main_slider_woman.png) 70% center no-repeat;
	}
	.main_slide_section .slider-img.slider-man {
		background: url(/marathon/code/8040/images/index_img/main_slider_man3.png) 70% center no-repeat;
	}
	

    /* 참가정보 */
    .main-intro {
        background-image: url("/marathon/code/8040/images/index_img/main_intro_bg_m.png");
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        padding: 50px 0;
        position: relative;
    }
    .main-intro:before {
        content: "";
        display: block;
        width: 100%;
        height: calc(100% - 100px);
        background-color: var(--main);
        position: absolute;
        top: 50px;
        left: 0;
    }
    .main-intro .container {
        padding: 60px 0;
        position: relative;
        z-index: 1;
    }
    .main-intro .title {
        padding-top: 0;
    }
    /* 이벤트 & 기념품 */
    .main-souvenir {
        padding: 80px 0;
    }
    .main-souvenir h3 {
        font-size: 36px;
    }
    .main-souvenir dl dd {
        padding: 30px 5px;
    }
    .main-souvenir dl dd img {
        display: block;
        margin: 0 auto;
    }

    /* 참가자 안내 */
    .main-info-wrap {
        background-color: #f1f1f1;
        padding: 80px 0 110px;
    }
    .main-info {
        width: 100%;
    }
    .main-info h3 {
        font-size: 36px;
    }
    .main-info dl {
        margin-left: -10px;
        margin-right: -10px;
    }
    .main-info dl dd {
        width: 33.3%;
        padding: 0 10px;
    }
    .main-info dl dd a {
        width: 100%;
        height: 120px;
        padding-top: 40px;
        font-size: 24px;
        line-height: 30px;
    }
    .main-info dl dd:last-child a {
        padding-top: 25px;
    }
    .main-info dl dd a .btn-maininfo {
        font-size: 12px;
        line-height: 26px;
        bottom: -3px;
    }
    .main-info dl dd a .btn-maininfo:before {
        width: 90px;
        height: 26px;
    }

    /* 공지사항 */
    .main-notice-section dl dt {
        width: 100%;
    }
    .main-notice-section dl dd {
        width: 100%;
    }
    .main-notice-section dl dd ul li {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        color: #fff;
    }
    .main-notice-section dl dd .notice-more {
        top: -60px;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
	/* 메인이미지 */
	.slider-scroll {display:none;}
	.main_slide_section {
		/*background-position:bottom;background-size:cover;*/
		image-rendering: -webkit-optimize-contrast;
		padding: 100px 0 80px;
	}
	.main_slide_section .visual-slider {position:relative; height:600px;}
	.main_slide_section .slider-img { height:600px;}
	.main_slide_section .slider-img.slider-man {
		/*background: url("/marathon/code/8040/images/index_img/main_slider_man_m.png") center center no-repeat;
		background-size: contain;*/
	}
	.main_slide_section .slider-img.slider-woman {
		background: url("/marathon/code/8040/images/index_img/main_slider_woman_m.png") center center no-repeat;
		background-size: 60%;
	}
	.slider-title {margin-top:-38%;}

	.main-intro .title {
		padding-left:30px;
		padding-right:30px;
	}
    
    .main-intro ul {
        padding-left: 30px;
    }
}
@media (max-width: 480px) {
	.main_slide_section .visual-slider {position:relative; height:600px;}
	.main_slide_section .slider-img { height:600px;}
	.main_slide_section .slider-img.slider-man {
	/*
		background: url("/marathon/code/8040/images/index_img/main_slider_man_m.png") center center no-repeat;
		background-size: 155%;
		background-position-x: left;
		background-position-y: 0px;
		image-rendering: -webkit-optimize-contrast;
	*/
	}
	.main_slide_section .slider-img.slider-woman {
		background: url("/marathon/code/8040/images/index_img/main_slider_woman_m.png") center center no-repeat;
		background-size: 60%;
		background-position-x: right;
		background-position-y: 0px;
		image-rendering: -webkit-optimize-contrast;
	}
	.slider-title {margin-top:-83%;}
    .main_slide_section .btn-slider,
    .main_slide_section .btn-slider.type02 {
        background-size: 100%;
        width: 140px;
    }
    
    /* 대회개요*/
    .main-intro ul li {
        font-size: 14px;
        text-indent: -105px;
        margin-left: -40px;
        line-height: 1.2;
        padding-right: 15px;
    }
    .main-intro ul li span {
        font-size: 16px;
        width: 100px;
        background-size: 100%;
        background-position-x: right;
        height: 31px;
        line-height: 34px;
    }

    /* 이벤트 & 기념품 */
    .main-souvenir .title {
        text-align: center;
    }
    .main-souvenir .title img {
        height: 8vw;
    }
    .main-souvenir dl dd a {
        font-size: 15px;
        color: #fff;
        margin-top: 15px;
        height: 82px;
    }
    .main-souvenir dl dd a:before {
        width: 120px;
        height: 30px;
    }
    .main-souvenir dl dd img {
        width: 22vw;
    }
    .main-souvenir dl dd .souvenir-title {
        width: 35vw;
    }
    .main-souvenir dl dd a.btn-souvenir:before {
        width: 150px;
    }

    /* 참가자 안내 */
    .main-info .title {
        text-align: center;
    }
    .main-info .title img {
        height: 8vw;
    }
    .main-info dl dd a {
        font-size: 18px;
    }
    .main-info dl dd a .btn-maininfo {
        width: 80%;
    }
    .main-info dl dd a .btn-maininfo:before {
        width: 100%;
        background-color: #fff;
        border: 1px solid var(--main);
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: -1;
    }
    .main-info dl dd:first-child a .info-item-title,
    .main-info dl dd:nth-child(2) a .info-item-title,
    .main-info dl dd:last-child a .info-item-title {
        max-width: 80px;
    }
    
    /* 공지사항*/
    .main-notice-section dl dt {
        line-height: 65px;
    }
    .main-notice-section dl dd ul li a {
        font-size: 16px;
        max-width: 100%;
    }
}
