/* ***************************************************
 SP
*************************************************** */
@media screen and (max-width:999px) {
  .service-main {
    --color-red: #C30D23;
    --color-pink: #FBF4F4;
    --color-line: #06C655;
    margin-top: 60px;
  }
  .service-main section {
    max-width: 100%;
  }
  .service-main .sports-header,
  .service-main .app-header,
  .service-main .career-header {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 560px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 30px 8vw 50px;
    color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
  }
  .service-main .sports-header::before,
  .service-main .app-header::before,
  .service-main .career-header::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .service-main .sports-header .inner,
  .service-main .app-header .inner,
  .service-main .career-header .inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .sports-header h1,
  .service-main .app-header h1,
  .service-main .career-header h1 {
    margin-bottom: 30px;
    font-size: clamp(30px, 8vw, 42px);
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
  .service-main .sports-header h1 small,
  .service-main .app-header h1 small,
  .service-main .career-header h1 small {
    display: block;
    font-size: 16px;
    font-size: clamp(16px, 4.2vw, 18px);
    line-height: 2em;
  }
  .service-main .sports-header {
    background-image: url(../images/mv-sports_sp.jpg);
  }
  .service-main .app-header {
    padding-bottom: 20px;
    background-image: url(../images/mv-app_sp.jpg);
  }
  .service-main .app-header .inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    height: 100%;
  }
  .service-main .app-header .inner .btn-area {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .service-main .app-header .inner .app-captcha {
    position: absolute;
    right: -20px;
    bottom: -63px;
    width: clamp(145px, 32vw, 240px);
  }
  .service-main .career-header {
    background-image: url(../images/mv-career_sp.jpg);
  }
  .service-main .btn-area {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .service-main .btn-area a:not(:last-child) {
    margin-bottom: 16px;
  }
  .service-main .btn-area .line {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 340px;
    max-width: 100%;
    padding: 0.75em 1em;
    font-size: clamp(16px, 4.8vw, 20px);
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    background-color: #06C655;
    border-radius: 3em;
  }
  .service-main .btn-area .line::before {
    content: "";
    display: block;
    width: 27px;
    height: 28px;
    margin-right: 5px;
    background-image: url(../images/ico-line-w.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .service-main .btn-area .line::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .btn-area .store img {
    width: auto;
    height: 50px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .service-main .btn-area .contact {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 340px;
    max-width: 100%;
    margin: 0;
    padding: 0.75em 1em;
    font-size: clamp(16px, 4.8vw, 20px);
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    background-color: var(--color-red);
    border: 2px solid var(--color-red);
    border-radius: 3em;
  }
  .service-main .btn-area .contact::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .sports-banner {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px 40px;
    margin: 60px auto 70px;
    padding: 0 6vw;
  }
  .service-main .sports-banner li {
    width: 350px;
    max-width: 100%;
  }
  .service-main .title-wrapper {
    text-align: center;
  }
  .service-main .title-wrapper h2 {
    font-size: clamp(22px, 5.8vw, 26px);
  }
  .service-main .title-wrapper small {
    display: block;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-red);
  }
  .service-main .section-about,
  .service-main .section-feature,
  .service-main .section-achievements,
  .service-main .section-app {
    margin: 0 auto 60px;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .service-main .section-about .inner,
  .service-main .section-feature .inner,
  .service-main .section-achievements .inner,
  .service-main .section-app .inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .section-about {
    margin-top: 50px;
  }
  .service-main .section-about .col2 .img {
    width: clamp(400px, 40%, 500px);
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .service-main .section-about .col2 .img img {
    border-radius: 8px;
  }
  .service-main .section-about .col2 .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .service-main .section-about .col2 .text h3 {
    margin-bottom: 1em;
    font-size: clamp(20px, 5.3vw, 24px);
    font-weight: bold;
    line-height: 1.5em;
  }
  .service-main .section-about .col2 .text p {
    font-size: clamp(14px, 3.7vw, 16px);
    font-weight: bold;
    line-height: 2em;
  }
  .service-main .section-about .col2 .text p:last-child {
    margin-bottom: 0;
  }
  .service-main .section-feature {
    margin-bottom: 0;
    padding: 70px 0;
    background-color: var(--color-pink);
  }
  .service-main .section-feature .feature {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 120px auto 0;
    padding: 0 8vw;
    background-color: #fff;
  }
  .service-main .section-feature .feature::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 30px;
    z-index: -1;
    display: block;
    width: 435px;
    max-width: 70%;
    height: 100px;
    -webkit-clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
    background: #E80013;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(232, 0, 19)), to(rgb(185, 29, 35)));
    background: linear-gradient(180deg, rgb(232, 0, 19) 0%, rgb(185, 29, 35) 100%);
  }
  .service-main .section-feature .feature .img {
    width: clamp(400px, 100%, 550px);
    max-width: 100%;
    margin: 20px auto 50px;
  }
  .service-main .section-feature .feature .text {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 70px 0 0;
  }
  .service-main .section-feature .feature .text i {
    position: absolute;
    top: -65px;
    font-style: normal;
    font-weight: bold;
    color: var(--color-red);
    text-align: center;
  }
  .service-main .section-feature .feature .text i small,
  .service-main .section-feature .feature .text i b {
    display: block;
    line-height: 1em;
  }
  .service-main .section-feature .feature .text i small {
    font-size: 20px;
  }
  .service-main .section-feature .feature .text i b {
    font-family: "Roboto", sans-serif;
    font-size: 95px;
  }
  .service-main .section-feature .feature .text h3 {
    margin-bottom: 0.6em;
    font-size: clamp(22px, 5.8vw, 30px);
    font-weight: bold;
    line-height: 1.5em;
  }
  .service-main .section-feature .feature .text h3 small {
    display: block;
    font-size: clamp(16px, 4.2vw, 18px);
  }
  .service-main .section-feature .feature .text p {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.875em;
  }
  .service-main .section-achievements {
    padding: 0;
  }
  .service-main .section-achievements .title-wrapper {
    color: #fff;
  }
  .service-main .section-achievements .title-wrapper small {
    color: #fff;
  }
  .service-main .section-achievements .inner {
    padding: 60px 8vw;
    text-align: center;
    background-color: var(--color-red);
  }
  .service-main .section-achievements .inner img {
    margin: 0 auto;
  }
  .service-main .section-map {
    width: 1050px;
    margin: 0 auto;
  }
  .service-main .section-map h2 {
    text-align: center;
  }
  .service-main .section-map .map-wrapper {
    height: 580px;
    overflow: hidden;
  }
  .service-main .section-map .map-wrapper iframe {
    width: 100%;
    height: calc(100% + 60px);
    margin-top: -60px;
  }
  .service-main .section-support {
    width: 1050px;
    margin: 60px auto 40px;
  }
  .service-main .section-support section:not(:last-child) {
    margin-bottom: 80px;
  }
  .service-main .section-support section > h3 {
    margin-bottom: 40px;
    padding: 5px 1em;
    font-size: clamp(22px, 5.8vw, 26px);
    font-weight: bold;
    line-height: 1.5em;
    border-left: 6px solid #E70012;
  }
  .service-main .section-support section hgroup {
    margin-bottom: 40px;
    padding: 5px 1em;
    font-weight: bold;
    border-left: 6px solid #E70012;
  }
  .service-main .section-support section hgroup h3 {
    padding: 0;
    margin: 0;
    font-size: clamp(22px, 5.8vw, 26px);
    line-height: 1.5em;
  }
  .service-main .section-support section hgroup h3 small {
    display: block;
    margin: 0.5em 0;
    font-size: 13px;
    line-height: 1.5em;
  }
  .service-main .section-support section hgroup p {
    font-size: 12px;
    margin: 0;
  }
  .service-main .section-support ol {
    counter-reset: num;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 14px), 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    font-weight: bold;
  }
  .service-main .section-support ol li {
    counter-increment: num;
    padding: 12px;
    font-size: clamp(13px, 3.4vw, 15px);
    background-color: var(--color-pink);
    border-radius: 8px;
  }
  .service-main .section-support ol li::before {
    content: counter(num, decimal-leading-zero) ".";
    display: block;
    margin-bottom: 0.25em;
  }
  .service-main .section-message {
    padding: 60px 6vw 50px;
    background-color: var(--color-pink);
  }
  .service-main .section-message .inner {
    position: relative;
    width: 1200px;
    max-width: 100%;
    margin: 150px auto 0;
  }
  .service-main .section-message .img {
    position: absolute;
    top: -120px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 10;
    width: 240px;
  }
  .service-main .section-message .text {
    width: 100%;
    margin: 0;
    padding: 110px 6vw 50px;
    background-color: #fff;
    border-radius: 8px;
  }
  .service-main .section-message .text h3 {
    margin-bottom: 1em;
    font-size: clamp(22px, 5.8vw, 26px);
    font-weight: bold;
    line-height: 1.75em;
  }
  .service-main .section-message .text p {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 2em;
  }
  .service-main .section-flow {
    margin-top: 70px;
    padding: 0 4vw;
  }
  .service-main .section-flow:last-child {
    padding-bottom: 100px;
  }
  .service-main .section-flow .flow-inner {
    min-height: 160px;
    width: 1050px;
    max-width: 100%;
    margin: 0 auto 40px;
    padding: 25px 6vw;
    background-color: #fff;
    border-radius: 20px;
    -webkit-filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.15));
  }
  .service-main .section-flow .step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 70px;
    aspect-ratio: 1/1;
    margin: 0 auto 10px;
    padding: 12px 0 10px;
    text-align: center;
    background-color: #C30D23;
    border-radius: 50%;
  }
  .service-main .section-flow .step span {
    width: 100%;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    text-align: center;
  }
  .service-main .section-flow .step .font-small {
    font-size: 14px;
  }
  .service-main .section-flow .step .num {
    font-size: 36px;
  }
  .service-main .section-flow .text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .service-main .section-flow .text h3 {
    margin-bottom: 0.75em;
    font-size: clamp(22px, 5.8vw, 26px);
    text-align: center;
  }
  .service-main .section-flow .text p {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
  }
  .service-main .section-faq {
    padding: 60px 8vw;
    background-color: #F2FBFC;
  }
  .service-main .section-faq .title-wrapper {
    margin: 0 0 45px 0;
  }
  .service-main .section-faq .qa {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    border-bottom: 1.5px solid #000;
  }
  .service-main .section-faq .question {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
  }
  .service-main .section-faq .question::after {
    content: "";
    position: absolute;
    right: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url(../images/open_button.png);
    background-size: contain;
  }
  .service-main .section-faq .question.active::after {
    background-image: url(../images/close_button.png);
  }
  .service-main .section-faq .question h3 {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    padding: 1em 40px 1em 0;
    font-size: 16px;
  }
  .service-main .section-faq .question h3::before {
    content: "Q";
    margin: 0 15px 0 0;
    font-size: 32px;
    font-weight: bold;
    color: var(--color-red);
  }
  .service-main .section-faq .answer {
    display: none;
    margin: 0 0 25px 35px;
    padding: 20px 30px;
    background: #fff;
    word-break: break-all;
    font-size: 14px;
    font-weight: bold;
    border-radius: 20px;
  }
  .service-main .section-faq .answer p:last-child {
    margin-bottom: 0;
  }
  .service-main .sports-cta {
    padding: 40px 8vw;
    margin-bottom: 30px;
    background-color: var(--color-red);
  }
  .service-main .sports-cta h2 {
    font-size: clamp(22px, 5.8vw, 26px);
    color: #fff;
  }
  .service-main .sports-cta .inner {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    padding: 45px 4vw 30px;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  }
  .service-main .sports-cta .inner p {
    font-size: 18px;
    font-weight: bold;
  }
  .service-main .sports-cta .btn-area {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .service-main .career-cta {
    padding: 40px 8vw;
    background-color: var(--color-red);
  }
  .service-main .career-cta h2 {
    font-size: clamp(22px, 5.8vw, 26px);
    color: #fff;
  }
  .service-main .career-cta .col2 {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .service-main .career-cta .col2 .contact,
  .service-main .career-cta .col2 .line {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 70px;
    padding: 80px 4vw 24px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 8px;
  }
  .service-main .career-cta .col2 .contact img,
  .service-main .career-cta .col2 .line img {
    position: absolute;
    top: -55px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: auto;
    height: 120px;
    -o-object-fit: contain;
       object-fit: contain;
    margin: 0 auto 10px;
  }
  .service-main .career-cta .col2 .contact p,
  .service-main .career-cta .col2 .line p {
    margin-bottom: 5px;
    font-size: clamp(14px, 3.7vw, 16px);
  }
  .service-main .career-cta .col2 .contact a,
  .service-main .career-cta .col2 .line a {
    width: 340px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0.75em 1em;
    font-size: clamp(16px, 4.8vw, 20px);
    font-weight: bold;
    border-radius: 3em;
  }
  .service-main .career-cta .col2 .contact a {
    display: block;
    color: var(--color-red);
    border: 2px solid var(--color-red);
  }
  .service-main .career-cta .col2 .line a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    line-height: 1em;
    background-color: #06C655;
  }
  .service-main .career-cta .col2 .line a::before {
    content: "";
    display: block;
    width: 27px;
    height: 28px;
    margin-right: 5px;
    background-image: url(../images/ico-line-w.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .service-main .career-cta .col2 .line a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .section-app {
    padding-top: 60px;
  }
  .service-main .section-app .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 980px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .section-app .col2:not(:last-child) {
    margin-bottom: 50px;
  }
  .service-main .section-app .col2 .text {
    display: contents;
  }
  .service-main .section-app .col2 .text h3 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin: 0 0 30px;
    padding: 5px 1em 5px 0.5em;
    font-size: clamp(22px, 5.8vw, 30px);
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.5em;
    border-left: 6px solid #E70012;
  }
  .service-main .section-app .col2 .text h4 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 1em;
    font-size: clamp(18px, 4.8vw, 22px);
    line-height: 1.5em;
  }
  .service-main .section-app .col2 .text p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    font-size: 16px;
    font-weight: bold;
    line-height: 2em;
  }
  .service-main .section-app .col2 .text p:last-child {
    margin-bottom: 0;
  }
  .service-main .section-app .col2 .img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 254px;
    margin: 0 auto 20px;
  }
  .service-main .app-cta {
    width: 1200px;
    max-width: 88vw;
    margin: 0 auto 100px;
    padding: 30px 6vw;
    background-color: var(--color-red);
    border-radius: 8px;
  }
  .service-main .app-cta .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
  }
  .service-main .app-cta .title > img {
    width: 70px;
    margin-right: clamp(14px, 3.7vw, 18px);
  }
  .service-main .app-cta .title h2 {
    margin: 0;
    font-size: clamp(15px, 4vw, 18px);
    font-weight: bold;
    color: #fff;
    text-align: left;
  }
}
/* ***************************************************
 PC
*************************************************** */
@media all and (min-width:1000px) {
  .service-main {
    --color-red: #C30D23;
    --color-pink: #FBF4F4;
    --color-line: #06C655;
    margin-top: 80px;
  }
  .service-main section {
    max-width: 100%;
  }
  .service-main a:hover {
    opacity: 0.7;
  }
  .service-main .sports-header,
  .service-main .app-header,
  .service-main .career-header {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 560px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 50px;
    color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
  }
  .service-main .sports-header::before,
  .service-main .app-header::before,
  .service-main .career-header::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .service-main .sports-header .inner,
  .service-main .app-header .inner,
  .service-main .career-header .inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .sports-header h1,
  .service-main .app-header h1,
  .service-main .career-header h1 {
    margin-bottom: 40px;
    font-size: 56px;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
  .service-main .sports-header h1 small,
  .service-main .app-header h1 small,
  .service-main .career-header h1 small {
    display: block;
    font-size: 24px;
    line-height: 2em;
  }
  .service-main .sports-header {
    background-image: url(../images/mv-sports.jpg);
  }
  .service-main .app-header {
    background-image: url(../images/mv-app.jpg);
  }
  .service-main .app-header .inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
  }
  .service-main .app-header .inner .app-captcha {
    position: absolute;
    right: 0;
    bottom: -130px;
    width: clamp(210px, 21vw, 320px);
  }
  .service-main .career-header {
    background-image: url(../images/mv-career.jpg);
  }
  .service-main .btn-area {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .service-main .btn-area .line {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 340px;
    padding: 0.75em 1em;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    background-color: #06C655;
    border-radius: 3em;
  }
  .service-main .btn-area .line::before {
    content: "";
    display: block;
    width: 27px;
    height: 28px;
    margin-right: 5px;
    background-image: url(../images/ico-line-w.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .service-main .btn-area .line::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .btn-area .contact {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 340px;
    margin: 0;
    padding: 0.75em 1em;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    background-color: var(--color-red);
    border: 2px solid var(--color-red);
    border-radius: 3em;
  }
  .service-main .btn-area .contact::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .btn-area .contact:hover {
    color: var(--color-red);
    background-color: #fff;
    opacity: 1;
  }
  .service-main .btn-area .contact:hover::after {
    background-color: var(--color-red);
  }
  .service-main .sports-banner {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px 40px;
    margin: 60px auto 70px;
  }
  .service-main .sports-banner a {
    display: block;
    border-radius: 5px;
  }
  .service-main .sports-banner a:hover {
    opacity: 1;
    -webkit-box-shadow: 0 0 30px rgba(195, 13, 35, 0.4);
            box-shadow: 0 0 30px rgba(195, 13, 35, 0.4);
  }
  .service-main .title-wrapper {
    text-align: center;
  }
  .service-main .title-wrapper small {
    display: block;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-red);
  }
  .service-main .section-about,
  .service-main .section-feature,
  .service-main .section-achievements,
  .service-main .section-app {
    margin: 0 auto 100px;
    padding-left: 50px;
    padding-right: 50px;
  }
  .service-main .section-about .inner,
  .service-main .section-feature .inner,
  .service-main .section-achievements .inner,
  .service-main .section-app .inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .section-about {
    margin-top: 68px;
  }
  .service-main .section-about .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .service-main .section-about .col2 .img {
    width: clamp(400px, 40%, 500px);
  }
  .service-main .section-about .col2 .img img {
    border-radius: 8px;
  }
  .service-main .section-about .col2 .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 40px;
  }
  .service-main .section-about .col2 .text h3 {
    margin-bottom: 1em;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
  }
  .service-main .section-about .col2 .text p {
    font-size: 16px;
    font-weight: bold;
    line-height: 2em;
  }
  .service-main .section-about .col2 .text p:last-child {
    margin-bottom: 0;
  }
  .service-main .section-feature {
    padding: 100px 50px 125px;
    background-color: var(--color-pink);
  }
  .service-main .section-feature .title-wrapper {
    margin-bottom: 100px;
  }
  .service-main .section-feature .feature {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .service-main .section-feature .feature::before {
    content: "";
    position: absolute;
    top: 40px;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 930px;
    max-width: 77%;
    background-color: #fff;
  }
  .service-main .section-feature .feature::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    width: 435px;
    height: 165px;
    -webkit-clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
    background: #E80013;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(232, 0, 19)), to(rgb(185, 29, 35)));
    background: linear-gradient(180deg, rgb(232, 0, 19) 0%, rgb(185, 29, 35) 100%);
  }
  .service-main .section-feature .feature:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .service-main .section-feature .feature:nth-of-type(odd)::before {
    left: 0;
    right: auto;
  }
  .service-main .section-feature .feature:nth-of-type(odd)::after {
    left: auto;
    right: 0;
    -webkit-clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .service-main .section-feature .feature:nth-of-type(odd) .img {
    margin-right: clamp(40px, 6.6vw, 80px);
    margin-left: 0;
  }
  .service-main .section-feature .feature:nth-of-type(odd) .text {
    padding-right: 30px;
  }
  .service-main .section-feature .feature:not(:last-child) {
    margin-bottom: 130px;
  }
  .service-main .section-feature .feature .img {
    width: clamp(400px, 45%, 550px);
    margin-top: auto;
    margin-left: clamp(40px, 6.6vw, 80px);
    margin-bottom: 60px;
  }
  .service-main .section-feature .feature .text {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 110px 50px 40px 50px;
  }
  .service-main .section-feature .feature .text i {
    position: absolute;
    top: -30px !important;
    font-style: normal;
    font-weight: bold;
    color: var(--color-red);
    text-align: center;
  }
  .service-main .section-feature .feature .text i small,
  .service-main .section-feature .feature .text i b {
    display: block;
    line-height: 1em;
  }
  .service-main .section-feature .feature .text i small {
    font-size: 20px;
  }
  .service-main .section-feature .feature .text i b {
    font-family: "Roboto", sans-serif;
    font-size: 95px;
  }
  .service-main .section-feature .feature .text h3 {
    margin-bottom: 0.6em;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
  }
  .service-main .section-feature .feature .text h3 small {
    display: block;
    font-size: 20px;
  }
  .service-main .section-feature .feature .text p {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.875em;
  }
  .service-main .section-achievements {
    margin-bottom: 75px;
  }
  .service-main .section-achievements .title-wrapper {
    color: #fff;
  }
  .service-main .section-achievements .title-wrapper small {
    color: #fff;
  }
  .service-main .section-achievements .inner {
    padding: 80px 50px 90px;
    text-align: center;
    background-color: var(--color-red);
  }
  .service-main .section-achievements .inner img {
    margin: 0 auto;
  }
  .service-main .section-map {
    width: 1050px;
    margin: 0 auto 100px;
  }
  .service-main .section-map h2 {
    text-align: left;
  }
  .service-main .section-map .map-wrapper {
    height: 580px;
    overflow: hidden;
  }
  .service-main .section-map .map-wrapper iframe {
    height: calc(100% + 60px);
    margin-top: -60px;
  }
  .service-main .section-map iframe {
    height: 636px;
  }
  .service-main .section-support {
    width: 1050px;
    margin: 0 auto 100px;
  }
  .service-main .section-support section:not(:last-child) {
    margin-bottom: 80px;
  }
  .service-main .section-support section > h3 {
    margin-bottom: 40px;
    padding: 5px 1em;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
    border-left: 6px solid #E70012;
  }
  .service-main .section-support section hgroup {
    margin-bottom: 40px;
    padding: 5px 1em;
    font-weight: bold;
    border-left: 6px solid #E70012;
  }
  .service-main .section-support section hgroup h3 {
    margin-bottom: 0;
    font-size: 32px;
    line-height: 1.5em;
  }
  .service-main .section-support section hgroup h3 small {
    margin-left: 0.5em;
    font-size: 16px;
  }
  .service-main .section-support section hgroup p {
    font-size: 16px;
    margin: 0;
  }
  .service-main .section-support ol {
    counter-reset: num;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(33% - 28px), 1fr));
    gap: 28px;
    margin: 0;
    padding: 0;
    font-weight: bold;
  }
  .service-main .section-support ol li {
    counter-increment: num;
    padding: 20px 24px;
    background-color: var(--color-pink);
    border-radius: 8px;
  }
  .service-main .section-support ol li::before {
    content: counter(num, decimal-leading-zero) ".";
    display: block;
    margin-bottom: 0.75em;
  }
  .service-main .section-message {
    padding: 70px 50px 85px;
    background-color: var(--color-pink);
  }
  .service-main .section-message .inner {
    position: relative;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .section-message .img {
    position: absolute;
    right: -50px;
    bottom: 0;
    z-index: 10;
  }
  .service-main .section-message .text {
    width: 100%;
    margin: 0;
    padding: 70px 450px 70px 80px;
    background-color: #fff;
    border-radius: 8px;
  }
  .service-main .section-message .text h3 {
    margin-bottom: 1em;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5em;
  }
  .service-main .section-message .text p {
    margin: 0;
    font-size: 15px;
    font-weight: bold;
    line-height: 2em;
  }
  .service-main .section-flow {
    margin-top: 100px;
    padding: 0 50px;
  }
  .service-main .section-flow:last-child {
    padding-bottom: 100px;
  }
  .service-main .section-flow .flow-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 160px;
    width: 1050px;
    max-width: 100%;
    margin: 0 auto 40px;
    padding: 25px 40px;
    background-color: #fff;
    border-radius: 20px;
    -webkit-filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.15));
  }
  .service-main .section-flow .step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 108px;
    height: 108px;
    margin: 0 40px 0 0;
    padding: 20px 0;
    background-color: #C30D23;
    border-radius: 50%;
  }
  .service-main .section-flow .step span {
    width: 100%;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    text-align: center;
  }
  .service-main .section-flow .step .font-small {
    font-size: 19px;
  }
  .service-main .section-flow .step .num {
    font-size: 41px;
  }
  .service-main .section-flow .text h3 {
    font-size: 28px;
  }
  .service-main .section-flow .text p {
    margin: 0;
    font-weight: bold;
  }
  .service-main .section-faq {
    padding: 60px 50px;
    background-color: #F2FBFC;
  }
  .service-main .section-faq .title-wrapper {
    margin: 0 0 45px 0;
  }
  .service-main .section-faq .qa {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    border-bottom: 1.5px solid #000;
  }
  .service-main .section-faq .question {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
  }
  .service-main .section-faq .question::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/open_button.png);
    background-size: contain;
  }
  .service-main .section-faq .question.active::after {
    background-image: url(../images/close_button.png);
  }
  .service-main .section-faq .question h3 {
    text-align: left;
    margin: 0;
    padding: 25px 40px;
    font-size: 16px;
  }
  .service-main .section-faq .question h3::before {
    content: "Q";
    margin: 0 15px 0 0;
    font-size: 32px;
    font-weight: bold;
    color: var(--color-red);
  }
  .service-main .section-faq .answer {
    display: none;
    margin: 0 0 25px 35px;
    padding: 20px 30px;
    background: #fff;
    word-break: break-all;
    font-weight: bold;
    border-radius: 20px;
  }
  .service-main .section-faq .answer p:last-child {
    margin-bottom: 0;
  }
  .service-main .sports-cta {
    margin-bottom: 100px;
    background-color: var(--color-red);
  }
  .service-main .sports-cta h2 {
    color: #fff;
  }
  .service-main .sports-cta .inner {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    padding: 45px 50px 55px;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
  }
  .service-main .sports-cta .inner p {
    font-size: 18px;
    font-weight: bold;
  }
  .service-main .sports-cta .btn-area {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .service-main .career-cta {
    margin-bottom: 100px;
    background-color: var(--color-red);
  }
  .service-main .career-cta h2 {
    color: #fff;
  }
  .service-main .career-cta .col2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(calc(50% - 40px), 1fr));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    padding: 45px 50px 0;
    text-align: center;
  }
  .service-main .career-cta .col2 .contact,
  .service-main .career-cta .col2 .line {
    position: relative;
    width: 100%;
    padding: 130px 20px 24px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 8px;
  }
  .service-main .career-cta .col2 .contact img,
  .service-main .career-cta .col2 .line img {
    position: absolute;
    top: -55px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin: 0 auto 10px;
  }
  .service-main .career-cta .col2 .contact p,
  .service-main .career-cta .col2 .line p {
    font-size: 18px;
    margin-bottom: 5px;
  }
  .service-main .career-cta .col2 .contact a,
  .service-main .career-cta .col2 .line a {
    margin: 0 auto;
  }
  .service-main .career-cta .col2 .contact a {
    display: block;
    width: 340px;
    padding: 0.75em 1em;
    font-size: 20px;
    font-weight: bold;
    color: var(--color-red);
    border: 2px solid var(--color-red);
    border-radius: 3em;
  }
  .service-main .career-cta .col2 .line a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 340px;
    padding: 0.75em 1em;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    background-color: #06C655;
    border-radius: 3em;
  }
  .service-main .career-cta .col2 .line a::before {
    content: "";
    display: block;
    width: 27px;
    height: 28px;
    margin-right: 5px;
    background-image: url(../images/ico-line-w.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .service-main .career-cta .col2 .line a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-left: auto;
    background-color: #fff;
    -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
            clip-path: polygon(100% 50%, 0 0, 0 100%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .service-main .section-app .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 980px;
    max-width: 100%;
    margin: 0 auto;
  }
  .service-main .section-app .col2:not(:last-child) {
    margin-bottom: 70px;
  }
  .service-main .section-app .col2 .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 85px;
  }
  .service-main .section-app .col2 .text h3 {
    margin-bottom: 40px;
    padding: 5px 1em 5px 0.5em;
    font-size: 32px;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.5em;
    border-left: 6px solid #E70012;
  }
  .service-main .section-app .col2 .text h4 {
    margin-bottom: 1em;
    font-size: 24px;
    line-height: 1.5em;
  }
  .service-main .section-app .col2 .text p {
    font-size: 16px;
    font-weight: bold;
    line-height: 2em;
  }
  .service-main .section-app .col2 .img {
    width: 254px;
  }
  .service-main .app-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 1200px;
    max-width: calc(100% - 100px);
    margin: 0 auto 100px;
    padding: 40px clamp(50px, 6vw, 110px);
    background-color: var(--color-red);
    border-radius: 8px;
  }
  .service-main .app-cta .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .service-main .app-cta .title > img {
    width: clamp(70px, 7.5vw, 100px);
    margin-right: clamp(18px, 1.8vw, 24px);
  }
  .service-main .app-cta .title h2 {
    margin: 0;
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: bold;
    color: #fff;
    text-align: left;
  }
  .service-main .app-cta .btn-area .store img {
    width: auto;
    height: clamp(60px, 5.3vw, 71px);
    -o-object-fit: contain;
       object-fit: contain;
  }
}