@charset "UTF-8";

@import url("https://img.seoul.co.kr/css/webfont_pretendard.css");

/* reset css */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

caption {
    display: none;
}

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
    font-family: "Pretendard";
    font-style: normal;
    font-weight: 500;
    line-height: 170%;
}

ol,
li,
dl,
dt,
dd {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a,
a:hover,
a:active,
a:link,
a:visited,
button {
    text-decoration: none;
    outline: none;
    cursor: pointer;
}

a,
button {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

img {
    width: 100%;
    vertical-align: middle;
}

:root {
    --bg-primary-100: #f26930;
    --bg-b-bg: #262323;
    --text-gray-100: #f8f8f8;
    --text-gray-200: #f4f4f4;
    --text-gray-300: #eee;
    --text-gray-400: #ddd;
    --text-gray-500: #999;
    --text-gray-600: #666;
    --text-gray-700: #444;
    --text-black: #111;
    --text-white: #fff;
    --etc-notice: #f00;
    --etc-notice-blue: #3a84ff;
    --pointColor: #131163;
}

/* headline text */
.h44 {
    color: var(--text-black, #111);
    /* PC/H_44 */
    font-family: Pretendard;
    font-size: 44px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.44px;
}

.h38 {
    color: var(--text-black, #111);
    /* PC/H_38 */
    font-family: Pretendard;
    font-size: 38px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.38px;
}

.h32 {
    color: var(--text-black, #111);
    /* PC/H_32 */
    font-family: Pretendard;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.32px;
}

.h28 {
    color: var(--text-black, #111);
    /* PC/H_28 */
    font-family: Pretendard;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.28px;
}

.h24 {
    color: var(--text-black, #111);
    /* PC/H_24 */
    font-family: Pretendard;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.24px;
}

.h20 {
    color: var(--text-black, #111);
    /* PC/H_20 */
    font-family: Pretendard;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.2px;
}

.h18 {
    color: var(--text-black, #111);
    /* PC/H_18 */
    font-family: Pretendard;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.18px;
}

.h16 {
    color: var(--text-black, #111);
    /* PC/H_16 */
    font-family: Pretendard;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.16px;
}

.h15 {
    color: var(--text-black, #111);
    /* PC/H_15 */
    font-family: Pretendard;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.15px;
}

.h14 {
    color: var(--text-black, #111);
    /* PC/H_14 */
    font-family: Pretendard;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.14px;
}

.e14 {
    color: var(--text-black, #111);
    /* PC/EN_14 */
    /*font-family: Montserrat;*/
    font-family: Pretendard;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.28px;
}

/* body text */
.body20 {
    color: var(--text-black, #111);
    /* PC/body_20 */
    font-family: Pretendard;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.2px;
}

.body19 {
    color: var(--text-black, #111);
    /* PC/body_18 */
    font-family: Pretendard;
    font-size: 19px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.19px;
}

.body18 {
    color: var(--text-black, #111);
    /* PC/body_18 */
    font-family: Pretendard;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.18px;
}

.body16 {
    color: var(--text-black, #111);
    /* PC/body_16 */
    font-family: Pretendard;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.16px;
}

.body15 {
    font-family: Pretendard;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.15px;
}

.body14 {
    color: var(--text-black, #111);
    /* PC/body_14 */
    font-family: Pretendard;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.14px;
}

.body13 {
    color: var(--text-black, #111);
    /* PC/body_13 */
    font-family: Pretendard;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.13px;
}

.colorPrimary {
    color: var(--bg-primary-100);
}

.colorRed {
    color: var(--etc-notice);
}

.color111 {
    color: var(--text-black);
}

.color000 {
    color: var(--bg-b-bg);
}

.colorFFF {
    color: var(--text-white);
}

.color700 {
    color: var(--text-gray-700);
}

.color600 {
    color: var(--text-gray-600);
}

.color500 {
    color: var(--text-gray-500);
}

.color400 {
    color: var(--text-gray-400);
}

.color300 {
    color: var(--text-gray-300);
}

.color200 {
    color: var(--text-gray-200);
}

.color100 {
    color: var(--text-gray-100);
}

.imgBgWrap {
    width: 100%;
    background: RGB(255, 211, 2);
    padding-bottom: 60px;
    padding-top: 50px;
    background-size: cover;
}

.bgWrap {
    background: #424242;
    padding: 100px 0;
}

.layoutWrap {
    width: 1200px;
    margin: 0 auto;
}

.headerWrap {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.headertop {
    display: flex;
    justify-content: center;
}

.goFreeRunLogo {
    width: 550px;
    height: auto;
}

.headerBottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seoulLogo {
    position: absolute;
    left: 0;
    width: 40px;
    height: auto;
}

.eventTitle {
    display: inline-block;
    padding: 11px 40px;
    border-radius: 50px;
    box-sizing: border-box;
    background: #00a;
    color: #eaff00;
}

.padding {
    padding-left: 4px;
}

.contentTit {
    margin-top: 52px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.topTitContent {
    display: flex;
}

.topTitContent img {
    height: auto;
    width: 100%;
}

.topSubTitContent {
    color: var(--text-white);
    text-align: center;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25);
    font-family: Pretendard;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 72px */
    letter-spacing: -2.4px;
}

.topSubTitContent .icon {
    display: inline-block;
    width: 34px;
    height: 34px;
    background: url("https://img.seoul.co.kr/img/event/gofreerun/plus-icon.png") no-repeat center;
    padding: 0 8px;
}

.eventProcess {
    background: rgba(255, 255, 255, 0.6);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    padding: 50px;
    box-sizing: border-box;
    gap: 40px;
    align-items: center;
}

.processBox {
    width: 253px;
}

.eventProcessListWrap {
    width: 100%;
}

.eventProcessList {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.eventProcessList li {
    position: relative;
    width: 31%;
}

.eventProcessList li:not(:last-child):after {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    right: -31px;
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background: url("https://img.seoul.co.kr/img/event/seoul_mgc/mega-arrow-icon.png") no-repeat center;
    background-size: 26px;
}

.eventInfoWrap {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.condition picture {
    display: block;
    width: auto;
    max-width: 85%;
}

.condition img {
    height: auto;
    width: 100%;
}

.condition .subText {
    margin-top: 10px;
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
    letter-spacing: -0.28px;
    color: var(--text-white);
}

.eventInfoList {
    display: flex;
    flex-direction: column;
    gap: 40px;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    /* 54px */
    letter-spacing: -0.28px;
}

.eventInfoList .infoTItBox {
    display: inline-block;
    color: var(--text-black);
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50px;
    width: 210px;
    text-align: center;
}

.eventInfoList li {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.eventBtn {
    color: var(--text-black);
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.32px;
    padding: 26px 0;
    border-radius: 100px;
    background: #ffd302;
    text-align: center;
    border: 0;
}

.bottomLink {
    display: flex;
    justify-content: center;
    gap: 40px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px;
    /* 75% */
    letter-spacing: -0.26px;
}

.bottomLink a:first-child div {
    position: relative;
}

.bottomLink a:first-child div:after {
    position: absolute;
    top: 3px;
    right: -20px;
    content: "";
    display: block;
    width: 3px;
    height: 24px;
    background: rgba(255, 255, 255, 0.7);
}

.eventBottom {
    padding: 100px 0;
}

.eventBottom .toptit {
    margin-bottom: 20px;
}

.eventBottom ul {
    color: var(--text-gray-700);
    line-height: 170%;
}

.eventBottom ul li {
    position: relative;
    padding-left: 12px;
}

.eventBottom ul li:after {
    content: "";
    position: absolute;
    left: 0;
    top: 16px;
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 5px;
    background: var(--text-gray-700);
}

.eventFooter {
    text-align: center;
    padding: 58px;
    background: #000;
}

.onlyMO {
    display: none;
}

.eventBox {
    margin-top: 60px;
}

.underline {
    text-decoration: underline;
}

.highlight {
    color: #ffd302;
}

.goLinkBtnWrap ul {
    display: flex;
    gap: 60px;
    align-items: center;
}

.goLinkBtnWrap li {
    width: 50%;
    color: #ffd302;
    font-family: Pretendard;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    /* 42px */
    letter-spacing: -0.3px;
}

.goLinkBtnWrap .tit {
    vertical-align: middle;
}

.goLinkBtnWrap li:nth-of-type(1) .goLinkBtn .icon {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 29px;
    background: url("https://img.seoul.co.kr/img/event/seoul_mgc/seoul-logo.png") no-repeat;
    background-size: contain;
}

.goLinkBtnWrap li:nth-of-type(2) .goLinkBtn .icon {
    display: inline-block;
    vertical-align: middle;
    width: 54px;
    height: 29px;
    background: url("https://img.seoul.co.kr/img/event/seoul_mgc/ccatchupp-logo.png") no-repeat;
    background-size: contain;
}

.goLinkBtnWrap .goLinkBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
    border: 1px solid #ffd302;
    border-radius: 100px;
    padding: 14px 40px;
    box-sizing: border-box;
}

.goLinkBtnWrap .goLinkBtn .icon img {
    height: 100%;
}

.LinkWrap {
    padding-top: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 1300px) {
    .layoutWrap {
        width: calc(100% - 40px);
    }

    .imgBgWrap {
        background-position: center top;
        background-size: cover;
    }

    .eventProcess {
        padding: 50px 20px;
    }

    .eventProcessList li {
        width: 29%;
    }

    .eventProcessList li:not(:last-child):after {
        right: calc(-3vw - 6px);
    }

    .processBox {
        width: 100%;
    }

    .processBox img {
        width: 100%;
        max-width: 330px;
    }

    .eventInfoList {
        font-size: 2.3vw;
    }

    .condition picture {
        width: 90%;
    }

    .condition img {
        width: 100%;
    }

    .condition .subText {
        margin-top: 0.4vh;
    }

    .eventBtn {
        font-size: 2.4vw;
    }

    .bottomLink {
        font-size: 2.4vw;
    }

    .bottomLink a:first-child div:after {
        top: 3px;
        height: 81%;
        width: 2px;
    }

    .eventBottom ul {
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%;
        letter-spacing: -0.18px;
    }

    .eventBottom ul strong {
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 150%;
        letter-spacing: -0.18px;
    }

    .condition .subText {
        font-size: 2.3vw;
    }
}

@media screen and (max-width: 1200px) {
    .eventProcessList li:not(:last-child):after {
        right: calc(-3vw - 13px);
    }
}

@media screen and (max-width: 890px) {
    .goLinkBtnWrap ul {
        gap: 20px;
    }

    .goLinkBtnWrap li {
        font-size: 2.5vw;
    }

    .goLinkBtnWrap li:nth-of-type(1) .goLinkBtn .icon {
        width: 15px;
        height: 21px;
    }

    .goLinkBtnWrap li:nth-of-type(2) .goLinkBtn .icon {
        width: 40px;
        height: 21px;
    }

    .goLinkBtnWrap .goLinkBtn {
        padding: 14px 20px;
    }

    .contentTit {
        margin-top: 21px;
    }

    .eventBox {
        margin-top: 0;
    }

    .eventProcess {
        margin-top: 0;
    }

    .eventProcess {
        padding: 32px 20px;
    }

    .eventInfoWrap {
        gap: 40px;
    }

    .imgBgWrap {
        padding-bottom: 40px;
    }

    .inputBox {
        padding-top: 40px;
    }

    .inputBox input {
        padding: 13px 16px;
    }

    .inputBox .tit {
        font-size: 20px;
        line-height: 140%;
        /* 28px */
        letter-spacing: -0.2px;
    }

    .inputBox .subTxt {
        font-size: 18px;
        line-height: 150%;
        /* 27px */
        letter-spacing: -0.18px;
    }

    .onlyPC {
        display: none;
    }

    .eventProcessListWrap {
        width: auto;
    }

    .eventProcessList {
        flex-direction: column;
        gap: 32px;
    }

    .eventProcessList li:not(:last-child):after {
        top: auto;
        bottom: -29px;
        transform: translateX(50%) rotate(90deg);
        right: 50%;
    }

    .bgWrap {
        padding: 70px 0;
    }

    .eventBottom {
        padding: 70px 0;
    }

    .eventInfoList li {
        flex-direction: column;
        gap: 20px;
    }

    .eventInfoList .infoTItBox {
        width: 190px;
    }

    .topTitContent {
        width: calc(100% - 20px);
        margin: 0 auto;
        height: auto;
        max-width: 727px;
    }

    .topTitContent img {
        height: auto;
        width: 100%;
    }

    .eventProcessList li {
        width: 100%;
    }

    .eventInfoList {
        font-size: 2.5vw;
    }

    .eventBtn {
        font-size: 2.5vw;
    }

    .LinkWrap {
        padding-top: 40px;
    }
}

@media screen and (max-width: 750px) {
    .goLinkBtnWrap ul {
        flex-direction: column;
    }

    .goLinkBtnWrap ul li {
        width: 100%;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -0.2px;
    }

    .onlyMO {
        display: block;
    }

    .imgBgWrap {
        padding-top: 26px;
    }

    .goFreeRunLogo {
        max-width: 250px;
    }

    .headerWrap {
        gap: 32px;
    }

    .eventTitle {
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
        /* 22.4px */
        letter-spacing: -0.16px;
        padding: 8px 40px;
    }

    .seoulLogo {
        width: 25px;
        margin-right: 0;
    }

    .topSubTitContent {
        font-size: 22px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        /* 33px */
        letter-spacing: -1.1px;
    }

    .topSubTitContent .icon {
        width: 24px;
        height: 24px;
        background-size: contain;
        padding: 0 4px;
        vertical-align: sub;
    }

    .eventProcess .h32 {
        font-size: 30px;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
        /* 39px */
        letter-spacing: -0.3px;
    }

    .eventProcess {
        gap: 32px;
    }

    .condition picture {
        max-width: 400px;
        width: 75vw;
    }

    .condition .subText {
        margin-top: 10px;
        font-size: 16px;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: -0.32px;
    }

    .eventProcess {
        margin-top: 0;
    }

    .eventInfoList .infoTItBox {
        width: 122px;
        padding: 1px 0;
    }

    .eventInfoList {
        gap: 32px;
    }

    .eventInfoList li {
        gap: 16px;
    }

    .eventInfoList {
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%;
        /* 27px */
        letter-spacing: -0.18px;
    }

    .eventBtn {
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
        /* 26px */
        letter-spacing: -0.2px;
        padding: 16px 0;
    }

    .eventInfoWrap {
        gap: 40px;
    }

    .bottomLink {
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 30px;
        /* 166.667% */
        letter-spacing: -0.18px;
        gap: 30px;
    }

    .bottomLink a:first-child div:after {
        top: 7px;
        right: -16px;
        width: 2px;
        height: 16px;
    }

    .eventBottom .toptit {
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
        /* 25.2px */
        letter-spacing: -0.18px;
    }

    .eventBottom ul {
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%;
        letter-spacing: -0.16px;
    }

    .eventBottom ul strong {
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        letter-spacing: -0.16px;
    }

    .eventBottom ul li:after {
        top: 10px;
    }
}

@media screen and (max-width: 430px) {
    .goLinkBtnWrap .goLinkBtn {
        padding: 14px 20px;
    }

    .goLinkBtnWrap ul li {
        font-size: 18px;
        font-weight: 500;
        letter-spacing: -0.18px;
    }

    .eventBtn {
        padding: 18px 0;
    }

    .condition picture {
        width: 100%;
    }

    .contentTit {
        width: 100%;
    }

    .imgBgWrap {
        padding-bottom: 60px;
    }

    .eventProcess {
        margin-left: -20px;
        margin-right: -20px;
        padding: 32px 40px;
    }

    .eventBox {
        margin-left: -20px;
        margin-right: -20px;
    }

    .seoulLogo {
        display: none;
        position: relative;
    }

    .eventTitle {
        width: 100%;
        text-align: center;
        padding: 8px;
    }

    .condition picture {
        width: 100%;
    }

    .condition img {
        width: 100%;
    }

    .processBox img {
        max-width: 100%;
    }

    .custom-checkbox .checkmark {
        height: 18px;
        width: 18px;
        background-position: -60px -4px;
    }

    .custom-checkbox input[type="checkbox"]:checked~.checkmark {
        background-position: -86px -4px;
    }
}