body {
    background-image: url(../img/common/bg.png);
    background-position: left top, left top -1220px;
    background-size: auto,auto;
    background-repeat: repeat;
}


.o-header {
    background-image: url(../img/header/bg.png);
    padding: 50px 0 0;
    height: 800px;
    overflow-y: hidden;
    z-index: 0;
    background-size:cover
}
.o-header::before {
    height: 107px;
    z-index: 0;
}
.o-header::after {
    height: 104px;
    z-index: -2;
}
.o-header__logo {
    top: 43%;
    z-index: 15;
}
.o-header__bottom {
    bottom: 1.2%;
}
.o-header__main_visual {
    z-index: unset;
}

.o-header__main_visual .center {
    position: absolute;
    top: 500px;
    right: 20px;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: -2;
}
.o-header__main_visual .right {
    position: absolute;
    right: 0;
    top: 85px;
    z-index: 8;
}
.o-header__main_visual .left {
    position: absolute;
    left: 0;
    top: 26px;
    z-index: 8;
}
.o-header__main_visual .sp {
    display: none;
}

.o-nav {
    background-position: left top -3px;
}

.o-section:first-child {
    margin-top: 0;
    padding-top: 100px;
}
.o-section:last-child {
    margin-bottom: 0;
    padding-bottom: 200px;
}
/* top */
.c-top__card {
    text-align: center;
}
.c-top__card .button {
    position: relative;
    top: -30px;
    margin-bottom: -30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-top__card a {
    position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#13acb0), to(#3dd4a4));
  background: linear-gradient(to bottom, #13acb0, #3dd4a4);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    width: 300px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 20px;
}
.c-top__card a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    content: "";
    display: inline-block;
    background-image: url(../img/top/arrow.png);
    background-size: contain;
    width: 8px;
    height: 12px;
}
.c-top__image {
    text-align: center;
    margin-top: 15px;
}

.c-top__link-image {
    text-align: center;
}
.c-top__link-image--flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 81px;
}
.c-top__link-image--flex .right img {
    margin-bottom: 13px;
}
.c-top__link-image02 img {
    padding-right: 0px;
}
.c-top__link-image .button {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-top__link-image a {
    position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#13acb0), to(#3dd4a4));
  background: linear-gradient(to bottom, #13acb0, #3dd4a4);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    width: 300px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 20px;
}
.c-top__link-image a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    content: "";
    display: inline-block;
    background-image: url(../img/top/arrow.png);
    background-size: contain;
    width: 8px;
    height: 12px;
}
/* sign */
.c-sign__image p {
    margin-top: 10px;
}
.c-sign__character--new {
    color: #28bfaa;
}
.c-sign__character--new .comment {
    color: #333333;
}
.rank-new {
    color: #28bfaa;
}
/* howto */
.c-howto .button {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-howto a {
    position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#13acb0), to(#3dd4a4));
  background: linear-gradient(to bottom, #13acb0, #3dd4a4);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    width: 300px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.c-howto a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    content: "";
    display: inline-block;
    background-image: url(../img/top/arrow.png);
    background-size: contain;
    width: 8px;
    height: 12px;
}

.c-howto__flex.c-howto__flex--first .right {
    text-align: center;
}
.c-howto__event {
    margin-top: 50px;
}
.c-howto__event h3 {
    text-align: center;
    position: relative;
    z-index: 1;
    margin-bottom: 75px;
}
.c-howto__event h3::before {
    content: "";
    background-image: url(../img/howto/bomb01.png);
    background-repeat: no-repeat;
    display: block;
    width: 426px;
    height: 426px;
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.c-howto__event ul {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px 65px;
    position: relative;
    z-index: 1;
}
.c-howto__event > ul +  ul {
    margin-top: 50px;
}
.c-howto__event ul:last-child {
    margin-bottom: 86px;
}
.c-howto__event .button {
    min-width: 270px;
    position: relative;
    margin-top: 0;
}
.c-howto__event .button a {
    width: 100%;
    margin: 0;
}
.c-howto__event .button.bomb01::before {
    content: url(../img/howto/bomb02.png);
    display: block;
    width: 99px;
    height: 77px;
    position: absolute;
    z-index: 10;
    top: -40px;
    left: -30px;
}
.c-howto__event .button.bomb02::before {
    content: url(../img/howto/bomb03.png);
    display: block;
    width: 99px;
    height: 77px;
    position: absolute;
    z-index: 10;
    top: -40px;
    left: -30px;
}

.c-howto__event .button.bomb04::before {
    content: url(../img/howto/bomb04.png);
    display: block;
    width: 99px;
    height: 77px;
    position: absolute;
    z-index: 10;
    top: -40px;
    left: -30px;
}

.c-howto__event .button.bomb05::after {
    content: url(../img/howto/bomb05.png);
    display: block;
    width: 99px;
    height: 77px;
    position: absolute;
    z-index: 10;
    top: -40px;
    right: -29px;
}

.c-howto__event .button.bomb06::after {
    content: url(../img/howto/bomb06.png);
    display: block;
    width: 99px;
    height: 77px;
    position: absolute;
    z-index: 10;
    top: -40px;
    left: -30px;
}

.c-howto__table th {
    border: 1px solid #21a905;
    background-color: #e7fbe3;
    vertical-align: middle;
}
.c-howto__table td {
    border: 1px solid #21a905;
}

.o-modal__contents .c-howto__table .green {
    background-color: #e7fbe3;
}


.c-howto__center+.c-howto__flex {
    margin-top: 70px;
}
.c-howto__flex+.c-howto__center {
    margin-top: 20px;
}
.c-howto__flex.c-howto__flex--netcafe {
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    gap: 30px;
}
.c-howto__flex.c-howto__flex--netcafe .left {
    width: auto;
}
.c-howto__flex.c-howto__flex--netcafe .right {
    width: 53%;
}
.c-howto__block.c-howto__block--left {
    text-align: left;
    margin-top: 70px;
}
.c-howto__block.c-howto__block--left p {
    margin-top: 15px;
}
.c-howto__block.c-howto__block--table .table-block+.table-block {
    margin-top: 50px;
}
.c-howto__block.c-howto__block--table .table-block {
    overflow: auto;
}
.c-howto__block.c-howto__block--table h4 {
    text-align: left;
}
.c-howto__block.c-howto__block--table .note {
    text-align: left;
    margin-top: 10px;
    font-size: 1.4rem;
    color: #e52f2f;
    font-weight: bold;
}
#roEntryFooter {
    z-index: 9999 !important;
}
@media only screen and (max-width: 599px) {
    body {
        background-image: url(../img/common/bg.png);
        background-position: left top -100px;
        background-size: auto;
        background-repeat: repeat;
    }
    .o-contents .left img {
        width: 80%;
    }
    .o-contents .right img {
        width: 80%;
    }
    .o-header {
        padding: 0;
        height: auto;
    }
    .o-header__main_visual .right {
        display: none;
    }
    .o-header__main_visual .left {
        display: none;
    }
    .o-header__main_visual .center {
        display: none;
    }
    .o-header__main_visual .sp {
        display: block;
        width: 100%;
    }
    .o-header__logo {
        top: 52.5%;
        padding: 0 20%;
    }
    .o-header__bottom img {
        width: 100%;
    }

    /* top */
    .c-top__link-image02 img {
        padding-left: 0;
    }
    .button a {
        width: 90%;
    }
    .c-top__card .button {
        flex-direction: column;
    }
    .c-top__card .button a {
        margin: 0;
    }
    .c-top__card .button a+a {
        margin-top: 10px;
    }

    .c-top__image {
        margin-top: 10px;
    }

    .c-top__image .image06 {
        position: static;
        margin-top: 10px;
        width: 35%;
    }
    

    /* howto */
    .c-howto__flex.c-howto__flex--first .right {
        margin-top: 30px;
    }
    .c-howto__event h3::before {
        display: none;
    }
    .c-howto__event ul {
        flex-direction: column;
    }
    .c-howto__event ul .button {
        min-width: auto;
        width: 100%;
        margin-bottom: 20px;
    }
    .c-howto__center+.c-howto__center {
        margin-top: 100px;
    }
    .c-howto__center+.c-howto__flex {
        margin-top: 100px;
    }
    .c-howto__flex+.c-howto__center {
        margin-top: 50px;
    }
    .c-howto__flex.c-howto__flex--netcafe .left {
        width: 100%;
        text-align: center;
    }
    .c-howto__flex.c-howto__flex--netcafe .right {
        width: 100%;
        padding-left: 0;
    }

    .c-howto__character {
        margin-top: 20px;
    }
}

.c-howto__block .note {
    text-align: left;
    color: #e52f2f;
    font-size: 1.4rem;
    margin-top: 10px;
    font-weight: bold;
}

.o-modal__contents .c-howto__table th {
  width: 10%;
  text-align: left;
  padding: 14px 20px;
}
.o-modal__contents .note {
    text-align: left;
    color: #e52f2f;
    font-size: 1.4rem;
    margin-top: 10px;
    font-weight: bold;
}

/* .c-sign__character .right .rank-top.rank-with-bottom {
    padding-left: 15px;
}
.c-sign__character .right .rank-top.rank-with-bottom .rank-number h4 {
    font-size: 1.7rem;
    font-weight: bold;
  }
  .c-sign__character .right .rank-top.rank-with-bottom .rank-number .img {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: unset;
    width: 8%;
  }
  .c-sign__character .right .rank-top.rank-with-bottom .rank-number .img span {
    font-size: 2.2rem;
    font-weight: bold;
  }

  @media screen and (max-width: 599px) {
    .c-sign__character .right .rank-top.rank-with-bottom .rank-number .img {
        width: 21%;
    }

  } */