@charset "UTF-8";

/* ↓PC（横幅640px超）の場合 */
html {
    /* 1rem = 1pxと定義 */
    font-size: 1px;
}

/* ↓スマホ（横幅640px以上）の場合 */


@media screen and (max-width: 640px) {
    html {
        font-size: .75px;
    }

}

body {
    font-size: 16rem;
    color: #000000;
    font-family: "Noto Serif JP", sans-serif;
    min-width: 375px;
    position: relative;
    margin: 0 auto;
    background: #fff;
}

.maru {
    font-family: "Zen Maru Gothic", serif;
}

.corp {
    font-family: "corporate-logo-ver2", sans-serif;
}



.inner {
    padding: 0 24px;
    margin: 0 auto;
    position: relative;
}

/*fv
================================================*/




#fv h1 img {
    width: 100%;
    height: auto;
}

.fv01 {
    display: block;
}

.fv02 {
    display: none;
}

.fv03 {
    display: none;
}

@media screen and (max-width:1280px) {
    .fv01 {
        display: none;
    }

    .fv02 {
        display: block;
    }

    .fv03 {
        display: none;
    }
}

@media screen and (max-width:670px) {
    .fv01 {
        display: none;
    }

    .fv02 {
        display: none;
    }

    .fv03 {
        display: block;
    }
}

/*parts
================================================*/

.btn_entry,
.btn_line {
    max-width: 376px;
    margin: 0 auto;
    border-radius: 50px;
    box-shadow: 0px 191px 54px 0px rgba(0, 0, 0, 0.00), 0px 122px 49px 0px rgba(0, 0, 0, 0.01), 0px 69px 41px 0px rgba(0, 0, 0, 0.05), 0px 31px 31px 0px rgba(0, 0, 0, 0.09), 0px 8px 17px 0px rgba(0, 0, 0, 0.10);
    transition: .3s;
    -webkit-transition: .3s;
    position: relative;
    z-index: 9999;
}

.btn_entry:hover,
.btn_line:hover {
    opacity: .75;
}

.btn_entry img,
.btn_line img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:670px) {

    .btn_entry,
    .btn_line {
        max-width: 282px;
    }
}

/*about
================================================*/
#about {
    padding: 90px 0 0;
    position: relative;
    color: #fff;
    background: url(../img/bk_about.png) center bottom no-repeat;
    background-size: cover;
}

#about .inner {
    max-width: calc(1280px + 24px * 2);
    margin: 0 auto;
}

#about .txt {
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.9;
    margin: 0 auto 40px;
}

#about .btn_entry {
    margin: 0 auto -10%;
}

.fig_about01 {
    max-width: 693px;
    margin: 0 auto
}

.fig_about01 img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:670px) {
    #about {
        padding: 70px 0 0;
    }

    #about .txt {
        font-size: 15px;
        margin: 0 auto 32px;
    }

    #about .btn_entry {
        margin: 0 auto -20%;
    }

}

/*more
================================================*/

#more {
    background: #000;
    padding: 220px 0 140px;
    position: relative;
}

#more .inner {
    max-width: calc(1280px + 24px * 2);
    margin: 0 auto;
}

#tit_more {
    width: 249px;
    height: 184px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 10;
}

#fig_more {
    width: 549px;
    height: 462px;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 5;
}

#tit_more img,
#fig_more img {
    width: 100%;
    height: auto;
}

#tit_more02 {
    max-width: 642px;
    margin: 0 auto 40px;
    position: relative;
    z-index: 2;
}

#tit_more02 img {
    width: 100%;
    height: auto;
}

#more .txt {
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on, 'pkna' on;
    font-family: "Noto Serif JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 190%;
    /* 38px */
    letter-spacing: 1px;
    position: relative;
    z-index: 2;
}

#more .note {
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 24px */
    letter-spacing: 0.8px;
    margin: 0 auto 24px;
    position: relative;
    z-index: 2;
}

#flow {
    display: flex;
    flex-wrap: wrap;
    max-width: 1152px;
    margin: 0 auto 16px;
    position: relative;
}

#flow::before {
    content: "";
    display: block;
    width: 299px;
    height: 444px;
    background: url(../img/fig_line.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    z-index: 1;
}

#flow>li {
    border-radius: 16px;
    border: 1px solid #FFF;
    background: #FFF;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    margin: 0 24px 24px 0;
    width: calc((100% - 24px) / 2);
}

#flow>li:nth-of-type(2n) {
    margin: 0 0 24px;
}

#flow>li h3 {
    background: #268E22;
    background: linear-gradient(180deg, #3AAE36 0%, #268E22 100%);
    color: #fff;
    font-size: 30px;
    text-align: center;
    padding: 12px;
    line-height: 1;
    font-weight: 900;
    border-radius: 15px 15px 0 0;
}

#flow ul {
    padding: 16px 24px 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

#flow ul>li {
    display: flex;
    flex-direction: column;
}

#flow ul>li:nth-of-type(1) {
    width: 300px;
    margin: 0 24px 0 0;
    text-align: center;
}

#flow ul>li:nth-of-type(2) {
    width: calc(100% - 300px - 24px);
}

#flow ul>li:nth-of-type(1) p {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    margin: 0 0 8px;
}

#flow ul>li:nth-of-type(1) p span {
    display: block;
    font-size: 18px;
    margin: 8px 0 0;
    font-weight: 400;
}

.arrow_b {
    width: 30px;
    margin: 0 auto 8px;
}

.arrow_b img {
    width: 100%;
    height: auto;
}

.img_flow img {
    width: 100%;
    height: auto;
}

.fig_flow01_s {
    display: none;
}

#more>.btn_entry {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(50%);
    -webkit-transform: translateY(50%);
}


#more>.fig_main01 {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(50%);
    -webkit-transform: translateY(50%);
    width: 372px;
    height: 329px;
    z-index: 10;
}

#more>.fig_main01 img {
    width: 100%;
    height: auto;
}


@media screen and (max-width:1150px) {



    #flow ul>li:nth-of-type(1) {
        width: 270px;
        margin: 0 16px 0 0;
    }

    #flow ul>li:nth-of-type(2) {
        width: calc(100% - 270px - 16px);
    }

    #flow ul>li:nth-of-type(1) p {
        font-size: 20px;
    }

    #flow ul>li:nth-of-type(1) p span {
        font-size: 14px;
    }

    .fig_flow01_s {
        display: block;
        max-width: 640px;
        width: calc(100% - 20px);
        text-align: left;
        margin: -20px auto 24px;
    }

    .fig_flow01_s img {
        width: 100%;
        height: auto;
    }

    .br01 {
        display: block;
    }
}

@media screen and (max-width:1090px) {
    #flow::before {
        display: none;
    }
}

@media screen and (max-width:960px) {
    #flow>li {
        margin: 0 0 24px 0;
        width: 100%;
    }

    #flow>li:nth-of-type(2n) {
        margin: 0 0 24px;
    }

    #flow ul>li:nth-of-type(1) {
        width: calc(100% - 200px - 16px);
        margin: 0 16px 0 0;
    }

    #flow ul>li:nth-of-type(2) {
        width: 200px;
    }
}

@media screen and (max-width:670px) {
    #more {
        padding: 90px 0 80px;
    }

    #tit_more {
        width: 187px;
        height: 138px;
    }

    #fig_more {
        width: 300px;
        height: 231px;
    }

    #more .txt {
        font-size: 15px;
    }

    #more .note {
        font-size: 12px;
    }

    #flow {
        margin: 0 auto 8px;
    }

    #flow>li h3 {
        font-size: 26px;
    }

    #flow ul>li:nth-of-type(1) {
        width: 100%;
        margin: 0 0 16px;
    }

    #flow ul>li:nth-of-type(2) {
        width: 100%;
        max-width: 200px;
        margin: 0 auto;
    }

    .fig_flow01_s {
        margin: 20px auto 24px;
    }

    #more>.fig_main01 {
        width: 122px;
        height: 165px;
    }
}

/*main
================================================*/
#main {
    padding: 160px 0 0;
    position: relative;
    color: #fff;
    background: url(../img/bk_main.png) center bottom no-repeat;
    background-size: cover;
    overflow: hidden;
}

#main .inner {
    max-width: calc(1010px + 24px * 2);
    margin: 0 auto;
    position: relative;
    z-index: 9999;
}



#main>.fig_main02 {
    position: absolute;
    top: 0;
    right: 0;
    width: 202px;
    height: 268px;
}

#main>.fig_main01 img,
#main>.fig_main02 img {
    width: 100%;
    height: auto;
}

#main ol {
    margin: 0 auto -24px;
}

#main ol li {
    max-width: 600px;
    padding: 24px 64px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    text-align: center;
    margin: 0 auto 24px;
}

#main ol li h3 {
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 150%;
    padding: 0 0 16px;
    border-bottom: 1px solid #fff;
    margin: 0 0 16px;
}

#main ol li p {
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
    /* 30px */
    letter-spacing: 1px;
}

#main ol li p span {
    display: block;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 15px;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.75px;
    padding: 8px 0 0;
}

#main ol li p.note {
    font-size: 12px;
    font-weight: 400;
}

#terms {
    margin-bottom: 130px;
}

#terms h2 {
    width: 231px;
    margin: 0 auto 64px;
}

#terms h2 img {
    width: 100%;
    height: auto;
}

#prize {
    padding-bottom: 130px;
    position: relative;
}

#prize h2 {
    max-width: 684px;
    margin: 0 auto 40px;
    position: relative;
}

#prize h2 img {
    width: 100%;
    height: auto;
}

#prize h2 img.tit_main02_note {
    display: block;
    width: 72px;
    height: 24.5px;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
}

#prize ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0 90px;
    position: relative;
}

#prize ul>li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 40px) / 2);
    margin: 0 40px 40px 0;
}

#prize ul>li p {
    padding: 8px 0 0;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-size: 18px;
    font-weight: 400;
    line-height: 190%;
    letter-spacing: 0.9px;
}

#prize ul>li p.note {
    font-size: 12px;
}

.badge {
    width: 202px;
    height: 198px;
}

.badge img {
    width: 100%;
    height: auto;
}

#prize ul>li:nth-of-type(1) {
    position: relative;
}

#prize ul>li:nth-of-type(2) {
    margin: 0 0 40px;
    position: relative;
}

#prize ul>li:nth-of-type(3) {
    width: calc((100% - 40px)/2 + 112px);
    margin: 0 0 40px;
    padding: 0 0 0 112px;
}

#prize ul>li figure img {
    width: 100%;
    height: auto;
}

#prize ul>li:nth-of-type(1) .badge {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-50%) translateY(-16%);
    -webkit-transform: translateX(-50%) translateY(-16%);
}

#prize ul>li:nth-of-type(2) .badge {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(50%) translateY(-16%);
    -webkit-transform: translateX(50%) translateY(-16%);
}

#prize ul>li:nth-of-type(3) .badge {
    position: absolute;
    left: 0;
}

#prize .btn_entry {
    margin-top: 80px;
}

.fig_prize01 {
    position: absolute;
    bottom: 320px;
    right: 0;
    width: 523px;
    height: 220px;
    overflow: hidden;
    display: block;
}

.fig_prize01 img {
    width: 523px;
    height: 220px;
}

.fig_prize01_s {
    display: none;
}

.fig_prize02 {
    width: 147px;
    height: 254px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
}

.fig_prize02 img {
    width: 100%;
    height: auto;
}

.bk_prize {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-56%);
    -webkit-transform: translateY(-56%);
}

.bk_prize img {
    width: 100%;
    height: auto;
}

#announcement {
    padding-bottom: 160px;
}

#announcement h2 {
    max-width: 390px;
    margin: 0 auto 40px;
}

#announcement h2 img {
    width: 100%;
    height: auto;
}

#announcement .box {
    max-width: 600px;
    margin: 0 auto;
    padding: 24px 16px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}

#announcement .box ul {
    padding-left: 1.25em;
}

#announcement .box li {
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
    list-style-type: disc;
}

#announcement .box li a {
    text-decoration: underline;
}

.fig_prize03 {
    width: 202px;
    height: 268px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.fig_prize03 img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:1160px) {
    .fig_prize01_s {
        display: block;
    }

    .fig_prize01 {
        display: none;
    }

    .fig_prize01_s {
        margin: 0 0 40px;
    }

    .fig_prize01_s img {
        width: 100%;
        height: auto;
    }

    .fig_prize02 {
        width: 73.5px;
        height: 127px;
        transform: translateY(-160%);
        -webkit-transform: translateY(-160%);
    }

    .bk_prize {
        transform: translateY(-75%);
        -webkit-transform: translateY(-75%);
    }
}

@media screen and (max-width:840px) {
    #prize h2 {
        margin: 0 auto 96px;
    }

    #prize h2 img.tit_main02_note {
        right: 0;
        bottom: 0;
        transform: translateY(100%);
        -webkit-transform: translateY(100%);
    }

    .badge {
        width: 101px;
        height: 99px;
    }

    #prize ul>li:nth-of-type(3) {
        width: calc((100% - 40px)/2 + 0);
        margin: 0 0 40px;
        padding: 0 0 0 0;
    }

}


@media screen and (max-width:670px) {


    #main>.fig_main02 {
        width: 101px;
        height: 134px;
    }

    #terms {
        margin-bottom: 70px;
    }

    #terms h2 {
        width: 174px;
        margin: 0 auto 24px;
    }

    #main ol li {
        padding-left: 16px;
        padding-right: 16px;
    }

    #main ol li h3 {
        font-size: 18.75px;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }

    #main ol li p {
        font-size: 15px;
    }

    #main ol li p span {
        font-size: 12px;
    }

    #main ol li p.note {
        font-size: 12px;
    }

    #prize {
        padding-bottom: 70px;
    }

    #prize .btn_entry {
        margin-top: 0px;
    }

    #prize h2 {
        max-width: 275px;
        margin: 0 auto 24px;
    }


    #prize h2 img.tit_main02_note {
        width: 72px;
        height: 24.5px;
        position: absolute;
        right: 0;
        bottom: 4px;
        transform: translateX(50%);
        -webkit-transform: translateX(50%);
    }

    #prize ul {
        padding: 0 32px;
    }

    #prize ul>li {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 0 40px;
    }

    #prize ul>li p {
        font-size: 15px;
    }


    .badge {
        width: calc(202px * 0.5);
        height: calc(198px * 0.5);
    }

    #prize ul>li:nth-of-type(1) {
        position: relative;
    }

    #prize ul>li:nth-of-type(2) {
        margin: 0 0 40px;
        position: relative;
    }

    #prize ul>li:nth-of-type(3) {
        width: 100%;
        margin: 0 0 40px;
        padding: 0;
    }

    #prize ul>li figure img {
        width: 100%;
        height: auto;
    }

    #prize ul>li:nth-of-type(1) .badge {
        position: absolute;
        top: 0;
        left: 0;
        transform: translateX(-50%) translateY(-16%);
        -webkit-transform: translateX(-50%) translateY(-16%);
    }

    #prize ul>li:nth-of-type(2) .badge {
        position: absolute;
        top: 0;
        right: 0;
        transform: translateX(50%) translateY(-16%);
        -webkit-transform: translateX(50%) translateY(-16%);
    }

    #prize ul>li:nth-of-type(3) .badge {
        position: absolute;
        left: 0;
        transform: translateY(-24%);
        -webkit-transform: translateY(-24%);
    }

    #announcement {
        padding-bottom: 90px;
    }

    #announcement h2 {
        max-width: 293px;
        margin: 0 auto 24px;
    }

    #announcement .box {
        max-width: 600px;
        margin: 0 auto;
        padding: 18px 12px;
        background: rgba(0, 0, 0, 0.3);
        border-radius: 8px;
    }

    #announcement .box ul {
        padding-left: 1.25em;
    }

    #announcement .box li {
        font-size: 13.5px;

    }

    .bk_prize {
        transform: translateY(-55%);
        -webkit-transform: translateY(-55%);
    }

    .fig_prize03 {
        width: 101px;
        height: 134px;
        transform: translateY(50%);
        -webkit-transform: translateY(50%);
    }


}

@media screen and (max-width:450px) {
    .badge {
        width: 101px;
        height: 99px;
    }
}

/*info
================================================*/

#info {
    background: #000;
    padding: 120px 0;
}

#info .inner {
    max-width: calc(1280px + 24px * 2);
    margin: 0 auto;
}

#info h3 {
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Serif JP";
    font-size: 40px;
    font-style: italic;
    font-weight: 900;
    line-height: 90%;
    margin: 0 auto 40px;
}

#caution {
    max-width: 803px;
    margin: 0 auto 100px;
}

#caution ul {
    padding-left: 1.25em;
    margin: 0 auto 32px;
}


#caution li {
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
    /* 34.2px */
    list-style-type: disc;

}

#caution p {
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
    /* 34.2px */
}

#contact p {
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Serif JP";
    font-size: 25px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 37.5px */
    letter-spacing: 1.25px;
}

#contact p a {
    text-decoration: none;
    transition: .3s;
    -webkit-transition: .3s;
}

#contact p a:hover {
    opacity: .75;
}

@media screen and (max-width:670px) {
    #info h3 {
        font-size: 30px;
        margin: 0 auto 32px;
    }

    #caution li,
    #caution p {
        font-size: 13.5px;
    }

    #contact p {
        font-size: 18px;
    }
}

/*footer
================================================*/
#footer {
    padding: 40px 10px;
    background: #fff;
    font-family: "Noto Sans JP", sans-serif;
}

#footer .inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    color: #000;
}

#footer ul {
    margin: 0 auto 0px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 40px;
}

#footer ul li {
    display: flex;
    flex-direction: column;
    margin: 0 0 40px;
}

#footer li img {
    height: 50px;
    width: auto;
}

#footer div {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 16px 0;
    margin: 0 0 16px;
}

#footer div p:nth-of-type(1) {
    margin: 0 0 16px;
    font-size: 14px;
}

#footer div p:nth-of-type(2) {
    font-size: 12px;
}

#footer .inner>p {
    font-size: 12px;
}


/*bits
================================================*/
@media screen and (min-width:1000px) {}

.pc_none {
    display: none !important;
}

.sp_none {
    display: block !important;
}

@media screen and (max-width:670px) {
    .pc_none {
        display: block !important;
    }

    .sp_none {
        display: none !important;
    }
}

/*
@media screen and (max-width:670px) {
  dl {
    display: flex;
    flex-wrap: wrap;
  }
  dt,
  dd {
    display: flex;
    flex-direction: column;
  }
}
*/