@charset "UTF-8";
main{
    /* margin-bottom: 120px; */
}
.sp_only{
    display: none!important;
}
.br980{
    display: none!important;
}
.br750{
    display: none!important;
}
.db550{
    display: none!important;
}
/* mv */
.mv{
    position: relative;
    margin-bottom: 160px;
}
.mv_box{
    position: relative;
}
.mv_nav{
    position: absolute;
    display: flex;
    max-width: 1040px;
    padding: 0 20px;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    justify-content: right;
    top: 20px;
    z-index: 10;
}
.mv_nav li{
    margin-right: 30px;
    font-size: 18px;
    position: relative;
}
.mv_nav li:last-child{
    margin-right: 0;
}
.mv_nav_root{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #828282;
    padding: 10px 20px;
    margin-top: 10px;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}
.mv_nav_root_box:hover .mv_nav_root{
    opacity: 1;
    pointer-events: all;
}
.mv_nav_root_box > a{
    padding-bottom: 10px;
}
.mv_nav_root a{
    display: block;
    white-space: nowrap;
    font-size: 14px;
    color: #fff;
    padding: 0.5em 0;
    border-bottom: solid 1px #b7b7b7;
    transition: 0.3s;
}
.mv_nav_root a:hover{
    opacity: 0.7;
}
.mv_nav_root a:last-child{
    border-bottom: none;
}


.deco_item{
    position: absolute;
    z-index: -1;
}
.flex01{
    display: flex;
    justify-content: space-between;
    /* align-items: flex-start; */
    position: relative;
}
.deco_item{
    position: absolute;
    z-index: -1;
}
.sec_ttl{
    font-size: 34px;
    line-height: 1.4;
    font-weight: 500;
}
.more_btn{
    background: #fff559;
    max-width: 332px;
    width: 100%;
    height: 78px;
    /* height: 100%; */
    border-radius: 200px;
    margin-top: 30px;
    display: block;
    transition: 0.3s;
}
.more_btn a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 300;
}
.more_btn:hover{
    background: #ffb459;
    transition: 0.3s;
}
.cart_btn{
    background: #ffb459;
    max-width: 332px;
    width: 100%;
    height: 78px;
    border-radius: 200px;
    margin: 0 auto;
    display: block;
    transition: 0.3s;
}
.cart_btn:hover{
    background: #fff559;
    transition: 0.3s;
}
.cart_btn a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
}


/* concept */
#concept{
    margin-bottom: 100px;
}
#concept .flex01{
    justify-content: left;
}
.sec_text_box{
    max-width: 490px;
    width: 100%;
    position: absolute;
    right: 0;
}
.sec_img_box{
    max-width: 745px;
    position: relative;
    width: 80%;
    min-width: 300px;
}

#concept .con_visi_ttl{
    position: absolute;
    top: 3%;
    left: 3%;
    max-width: 38px;
    width: 7%;
}
.sec_lead{
    font-size: 18px;
    line-height: 2.5;
    margin-top: 30px;
}
.mission .flex01 .sec_lead{
    margin-top: 80px;
}
#concept .sec_text_box{
    bottom: 9%;
}
.concept_item01{
    right: 5%;
    max-width: 550px;
    bottom: 0;
    /* width: 100%; */
    width: 60vw;
}


/* vision */
#vision{
    margin-bottom: 260px;
}
#vision .sec_ttl{
    max-width: 360px;
}
#vision .flex01{
    justify-content: right;
}
#vision .sec_text_box{
    left: 0;
    bottom: 9%;
}
.vision_item01{
    max-width: 460px;
    left: 2%;
    /* width: 100%; */
    top: -2%;
    width: 44vw;
}
#vision .con_visi_ttl{
    position: absolute;
    top: 3%;
    right: 3%;
    max-width: 33px;
    width: 7%;
}

/* mission */
.mis_rule_ttl{
    height: 60px;
}
.mis_rule_ttl img{
    height: 100%;
    width: auto;
}
.mis_rule_lead{
    font-size: 34px;
    line-height: 1.5;
    margin-top: 50px;
    font-weight: 400;
}


.point_ttl{
    margin-bottom: 80px;
    font-size: 42px;
    font-weight: 600;
}
#mission{
    margin-bottom: 360px;
    margin-top: -70px;
    padding-top: 70px;
}
.mission .flex01{
    justify-content: flex-end;
    margin-top: 280px;
}
.mission .sec_text_box{
    left: 0;
    top: -12%;
}
#mission .sec_text_box p{
    text-shadow: 0px 0px 10px rgb(255 255 255),0px 0px 10px rgb(255 255 255),0px 0px 10px rgb(255 255 255),0px 0px 10px rgb(255 255 255),0px 0px 10px rgb(255 255 255);
}
.mission .sec_img_box{
    /* max-width: 700px; */
    /* width: 70%; */
}
.mission1_item02{
    width: 45vw;
    max-width: 280px;
    top: -20%;
    right: 10%;
}
.mission1_item01{
    max-width: 260px;
    left: 5%;
    bottom: -20%;
    width: 45vw;
}
.mission2_item02{
    max-width: 260px;
    left: 5%;
    bottom: -10%;
    width: 45vw;
}
.mission2_item01{
    width: 45vw;
    max-width: 240px;
    top: -17%;
    right: 5%;
}
#mission2 .flex01{
    margin-bottom: 160px;
}
.mission2_ttl{
    font-size: 34px;
    line-height: 1.4;
    font-weight: 500;
}
.mission2_flex{
    display: flex;
    justify-content: space-between;
    position: relative;
}
.mission2_img_box{
    max-width: 490px;
    width: 49%;
}
.mission2_text_box{
    display: flex;
    width: 46%;
    position: relative;
}
.mission2_num{
    font-size: 36px;
    margin-right: 20px;
}
.mission2_item03{
    max-width: 250px;
    right: 0;
    top: -2%;
    width: 45vw;
}
.mission2_item04{
    max-width: 250px;
    right: 30%;
    bottom: 0;
    width: 45vw;
}
.mission2_list_box .mission2_list:not(:last-child){
    margin-bottom: 150px;
}
.mission2_item05{
    max-width: 340px;
    right: 5%;
    top: 0;
    width: 45vw;
}
.mission2_item06{
    max-width: 270px;
    left: -5%;
    top: 0%;
    width: 45vw;
}
.mission2_item06{
    max-width: 120px;
    left: -5%;
    top: -30%;
    width: 45vw;
}
.mission2_item07{
    right: 0;
    max-width: 390px;
    width: 45vw;
    right: 5%;
}
.award_logo{
    max-width: 220px;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 20vw;
}
.award .mission2_text_box{
    align-items: center;
}
.award .mission2_text{
    margin-bottom: 120px;
}
.mission2_list_box .mission2_list.award{
    margin-bottom: 110px;
}
.magazine .mission2_flex{
    align-items: center;
}
#mission2{
    margin-bottom: 300px;
}

.flex01.rules_r{
    justify-content: flex-end;
    margin-top: 140px;
}
.rules_r .sec_text_box{
    right: unset;
    left: 0;
}
#rules .sec_text_box{
    margin-top: 50px;
    max-width: 430px;
    width: 48%;
}
#rules .flex01:not(:last-child){
    margin-bottom: 150px;
}

@media screen and (max-width: 980px){
    .mv_nav li {
        font-size: 16px;
    }
    .br980{
        display: block!important;
    }
    .dn980{
        display: none!important;
    }
    .sec_ttl {
        font-size: 28px;
        white-space: nowrap;
    }
    .more_btn {
        max-width: 300px;
        height: 70px;
    }
    .more_btn a {
        font-size: 16px;
    }
    .text_box {
        width: 58%;
    }
    .sec_lead {
        font-size: 14px;
        margin-top: 30px;
        white-space: nowrap;
        line-height: 2;
    }
    .sec_lead_cap {
        margin-top: 1em;
        font-size: 12px;
    }
    .cart_btn {
        max-width: 300px;
        height: 70px;
    }
    .cart_btn a {
        font-size: 16px;
    }
    .point_ttl {
        margin-bottom: 30px;
        font-size: 22px;
    }
    #mission {
        margin-bottom: 120px;
    }
    .mission .flex01 .sec_lead {
        margin-top: 30px;
    }
    .mission2_ttl{
        font-size: 28px;
    }
    .mission2_num {
        font-size: 28px;
    }
    #vision {
        margin-bottom: 200px;
    }
    .mission .flex01 {
        margin-top: 180px;
    }
    .mis_rule_lead {
        font-size: 28px;
        margin-top: 30px;
    }
    .mis_rule_ttl {
        height: 45px;
    }
    .mission .sec_text_box {
        left: 0;
        top: 0%;
    }
    #mission2 {
        margin-bottom: 200px;
    }
    .mission .flex01 {
        margin-top: 100px;
    }
    .mission2_list_box .mission2_list:not(:last-child) {
        margin-bottom: 100px;
    }
    #mission {
        margin-bottom: 100px;
    }
    .flex01.rules_r {
        margin-top: 100px;
    }
    #rules .flex01:not(:last-child) {
        margin-bottom: 100px;
    }
}

@media screen and (max-width: 750px){
    .mv{
        margin-bottom: 100px;
    }
    .pc_only{
        display: none!important;
    }
    .sp_only{
        display: block!important;
    }
    .mv_nav{
        display: none;
    }
    .dn750{
        display: none;
    }
    .br750{
        display: block !important;
    }
    .text_box {
        width: 57%;
    }
    .more_btn {
        max-width: 170px;
        height: 40px;
        /* width: 60%; */
        margin-top: 15px;
    }
    .cart_btn {
        max-width: 170px;
        height: 40px;
        /* width: 60%; */
        margin-top: 15px;
    }
    #concept .flex01{
        justify-content: flex-end;
    }
    #concept .sec_text_box{
        right: unset;
        left: 0px;
        bottom: -9.5em;
    }
    #concept .con_visi_ttl {
        left: 0;
    }
    .sec_ttl {
        font-size: 24px;
        white-space: nowrap;
    }
    #concept {
        margin-bottom: 220px;
    }
    .sec_lead {
        margin-top: 20px;
    }
    #vision .sec_ttl {
        width: 50%;
    }
    #vision .sec_text_box {
        bottom: -9em;
    }
    #vision .con_visi_ttl{
        right: unset;
        left: 0;
    }
    #vision .flex01 {
        justify-content: flex-start;
    }
    .con_visi_ttl{
        z-index: 10;
    }
    #vision .sec_img_box{
        left: -30px;
    }
    #concept .sec_img_box{
        right: -30px;
    }
    .more_btn a {
        font-size: 14px;
    }
    .cart_btn a {
        font-size: 14px;
    }
    .com_inner {
        padding: 0 30px;
    }
    #vision {
        margin-bottom: 240px;
    }
    .mission .sec_img_box {
        /* width: 80%; */
        right: -30px;
    }
    #mission {
        margin-bottom: 180px;
    }
    #mission2 .flex01 {
        margin-bottom: 100px;
    }
    .mission2_list_box .mission2_list:not(:last-child) {
        margin-bottom: 80px;
    }
    #mission2 {
        margin-bottom: 160px;
    }
    .mis_rule_lead {
        font-size: 24px;
    }
    .mission .flex01 {
        /* margin-top: 80px; */
    }
    .mission2_ttl {
        font-size: 24px;
        white-space: nowrap;
    }
    .mission2_num {
        font-size: 24px;
    }
    .mission2_list_num .mission2_flex {
        left: -30px;
    }
    .mission2_list_num .mission2_text_box .sec_lead{
        position: relative;
        left: -40px;
    }
    .award .mission2_img_box{
        right: -30px;
        position: relative;
    }
    .magazine .mission2_flex{
        flex-wrap: wrap;
    }
    .magazine .mission2_text{
        width: 100%;
        order: 1;
    }
    .magazine .mission2_img_box{
        width: 90%;
        margin: 0 auto;
        order: 2;
    }
    .rules_l .sec_img_box{
        left: -30px;
    }
    .rules_r .sec_img_box{
        right: -30px;
    }
}


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

}

@media screen and (max-width: 550px){
    .mv {
        margin-bottom: 40px;
    }
    .dn550{
        display: none;
    }
    .db550{
        display: block!important;
    }
    .more_btn a {
        font-size: 10px;
    }
    .cart_btn a {
        font-size: 10px;
    }
    .more_btn {
        max-width: 120px;
        height: 30px;
    }
    .flex01 {
        align-items: flex-end;
    }
    .sec_ttl {
        font-size: 20px;
        white-space: nowrap;
    }
    .sec_lead {
        font-size: 10px;
        margin-top: 10px;
        text-align: justify;
    }
    #concept .sec_text_box {
        bottom: -6.8em;
    }
    #concept {
        margin-bottom: 150px;
    }
    #vision .sec_text_box {
        bottom: -6.5em;
    }
    .sec_lead span {
        font-size: 10px;
    }
    #concept .con_visi_ttl {
        max-width: 11px;
        top: 0;
    }
    #vision .con_visi_ttl {
        max-width: 10px;
        top: 5%;
    }
    #vision {
        margin-bottom: 200px;
    }
    .sec_lead_cap {
        margin-top: 1em;
        font-size: 10px;
    }
    .cart_btn {
        margin-top: 30px;
    }
    .point_ttl {
        margin-bottom: 20px;
        font-size: 20px;
    }
    .mission .flex01{
        flex-wrap: wrap;
    }
    .mission .sec_text_box{
        position: relative;
        margin-top: -40%;
    }
    #mission {
        margin-bottom: 100px;
    }
    .award .mission2_ttl{
        white-space: nowrap;
    }
    .award .mission2_text {
        margin-bottom: unset;
        position: relative;
        top: -30px;
    }
    .award .mission2_text_box{
        align-items: flex-start;
    }
    .mis_rule_ttl {
        height: 25px;
    }
    .mis_rule_lead {
        font-size: 15px;
    }
    .mission_ttl_sp{
        position: absolute;
        top: -35px;
        left: 0;
        z-index: 10;
    }
    .mission .sec_text_box{
        margin-top: 10px;
    }
    .mission .flex01 .sec_lead {
        margin-top: 10px;
    }
    .mission .flex01{
        justify-content: flex-start;
        margin-top: 80px;
    }
    .mission .sec_img_box{
        right: unset;
        left: -30px;
    }
    .mission1_item02 {
        width: 45vw;
        max-width: 280px;
        top: 55%;
        right: 0%;
    }
    .mission1_item01{
        display: none;
    }
    #mission2 .flex01{
        justify-content: flex-end;
        margin-bottom: 60px;
    }
    #mission2.mission .sec_img_box{
        right: -30px;
        left: unset;
    }
    #mission2.mission .sec_text_box{
        position: absolute;
        top: -44px;
    }
    .mission2_item01{
        display: none;
    }
    .mission2_item02 {
        left: -4%;
        width: 38vw;
        bottom: 0;
    }
    .mission2_img_box {
        min-width: 160px;
    }
    .mission2_ttl {
        font-size: 15px;
    }
    .mission2_num {
        font-size: 15px;
    }
    .mission2_list_num .mission2_text_box .sec_lead {
        left: -30px;
        margin-top: 10px;
        line-height: 1.8;
    }
    .mission2_item03 {
        max-width: 130px;
        right: -10%;
        top: -10%;
    }
    .mission2_item04 {
        max-width: 100px;
        right: 20%;
    }
    .mission2_list_box .mission2_list:not(:last-child) {
        margin-bottom: 50px;
    }
    .mission2_item05 {
        max-width: 140px;
        right: -14%;
        top: -10%;
    }
    .award_logo {
        max-width: 110px;
        position: absolute;
        right: -10vw;
        bottom: 0;
        width: 32vw;
    }
    .mission2_list.award{
        margin-top: 80px;
    }
    .mission2_item07 {
        width: 60vw;
        right: 5%;
        bottom: -5%;
    }
    #mission2 {
        margin-bottom: 100px;
    }
    .flex01.rules_r {
        margin-top: 40px;
    }
    #rules .sec_text_box{
        position: relative;
        margin-top: 20px;
        min-width: 300px;
    }
    #rules .flex01{
        flex-wrap: wrap;
    }
    #rules .rules_r .sec_text_box {
        width: 74.5%;
        right: -30px;
        left: unset;
    }
    #rules .flex01:not(:last-child) {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 370px){
    .sec_ttl {
        font-size: 18px;
    }
}