@charset "utf-8";
/* CSS Document */
body{padding-left: 10px;}
body::before { content: ''; position: fixed; top: 0; left: 0; bottom: 0; width: 10px; z-index: 100; background-image: url("../images/bg_rainbow_ver@2x.png"); background-repeat: repeat-y; background-position: top left; background-size: 10px auto; }


@media screen and (max-width: 767px) {
    header #site-logo a {
        background-image: url(../images/logo_hori2025.jpg)!important;
    }
}

header #site-logo a {
    background-image: url(../images/logo2025.png);
    background-size: 130px auto;
}

@media screen and (min-width: 768px), print{
    #contents {
        padding-bottom: 0px;
    }
}

#bannerArea .p-4 {
    justify-content: center;
}

#bannerArea.mb-5, 
#bannerArea.my-5 {
    margin-bottom: 0!important;
}

footer {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
}

footer a{
    color: #000;
}

#contents #sponsorarea h3 {
    margin-top: 1.1rem;
    margin-bottom: 0;
    font-size: 12px;
}

#sponsorarea img {
    margin-bottom: 0;
}

.bn-jal{
    margin: auto;
    max-width: 165px;
}

.bn-supporting{
    display: flex;
    justify-content: center;
    padding-top: 20px;
}

.bn-ahamo,
.bn-sgc {
    margin: 0 20px;
}

.bn-ahamo img{
    margin-top: 8px;
    width: 144px!important;
    height: auto;
}

.bn-sgc img{
    width: 139px!important;
    height: auto;
}

.bn-jal a,
.bn-ahamo a,
.bn-sgc a {
    display: block;
}

@media screen and (max-width: 768px) {
    .bn-supporting{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .bn-ahamo,
    .bn-sgc {
        margin: 10px 20px 40px 20px;
    }
}



.footer-main { position: relative; padding: 5.6rem 30px 3.2rem; background-color: #F0F1F3; text-align: center; }
/*.footer-main::before { content: ''; position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 5px; background-image: url("../images/bg_rainbow_hor@2x.png"); background-repeat: repeat-x; background-size: auto 15px; }*/
.footer-main .list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0; padding: 0; list-style: none; }
.footer-main .list li { margin: 0.8rem; }
.footer-main .list.logo { margin-bottom: 2.4rem; }
.footer-main .list.logo li { margin: 0.8rem; }
.footer-main .list.logo img { height: 150px; }
@media (min-width: 42.5em) { .footer-main .list.logo img { height: 150px; } }
@media (min-width: 62em) { .footer-main .list.logo img { height: 150px; } }
.footer-main .list.sns { margin-bottom: 1.6rem; }
.footer-main .list.sns li { margin: 0.4rem; font-size: 18px; line-height: 1; }
@media (min-width: 42.5em) { .footer-main .list.sns li { font-size: 28px; } }
.footer-main .list.sns a { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background-color: #fff; border-radius: 40px; -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.16); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.16); box-shadow: 0 0 6px rgba(0, 0, 0, 0.16); }
.footer-main .list.sns a:hover {opacity: 0.70;}
@media (min-width: 42.5em) { .footer-main .list.sns a { width: 64px; height: 64px; border-radius: 64px; } }
.footer-main .list.sitemap { margin-bottom: 3.2rem; font-size: 14px;}
.footer-main .list.sitemap li { margin: 0.4rem; }
.footer-main .list.sitemap a {  }
.footer-main .copy { margin: 0; background: none; font-size: 0.5em; line-height: 2; }
@media (min-width: 62em) { .footer-main .copy { font-size: 0.7em; line-height: 1.85714; } }


.main_img img{
    width: 100%;
    height: auto;
}

#contents.teaser-contents{
    position: relative;
    padding-top: 10px;
}
.teaser-contents::before { content: ''; position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 10px; background-image: url("../images/bg_rainbow_hor@2x.png"); background-repeat: repeat-x; background-size: auto 15px; }

.row.reverse {
    
}

.col-md-6 {
    -webkit-box-flex: none;
    -ms-flex: none;
    flex: none;
    max-width: 100%;
}

@media (min-width: 980px) {
    .row {
        flex-direction: row;
    }
    .row.reverse {
        flex-direction: row-reverse;
    }
    .col-md-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 980px) {
    #marathon_category .head-real,
    #marathon_category .head-vbf {
        justify-content: center;
    }
}

#marathon_category .head-real.project {
    background-color: #97c11f;
}
#marathon_category .head-real.community {
    background-color: #61b4e4;
}
#marathon_category .head-real.app {
    background-color: #165394;
}
#marathon_category .head-real.goods {
    background-color: #2fcca2;
}

.img-cover img{
  object-fit: cover;
  width: 100%!important;
  height: 100%
}

.i-category {
    
}
.i-category i {
    display: inline-block;
    padding: 8px 16px;
    border: 2px solid #fff;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    font-style: normal;
}
