@charset "UTF-8";

/*===============================================
画面の横幅が約767.99pxまで（SP用）

(min-width: 376px)(max-width: 375.99px)
(min-width: 568px)(max-width: 567.99px)
(max-width: 959.99px)
===============================================*/
@media screen and (max-width:767.98px){


body {
  margin: 0 auto;
  padding: 0;
}

img{
max-width: 100%;
height: auto;
width /***/: auto;　
}


.pc,
.gnav{ display:none!important;}
.sp { display:inline; }



.body-all{
    margin: 0 auto;
    padding: 0;
    background: #fff;
    width: 100%;
}

.topview {
    width: 100%;
    height: auto;
    position: relative;
    margin-top: 0;
}






/* ///  キャンペーン概要 ///////////////////////　*/
.explanation_all {
    margin: 0 auto;
    text-align: center;
    padding: 0 0;
    width: 100%;
    float: none;
  }


.explanation_all .explanation {
    padding: 0.5rem 0 0;
    margin: 0 auto 2em;
    text-align: center;
    max-width: 900px;
    width: 96%;
    display: flex;
    flex-wrap: wrap;
    border: 4px solid #5ab620;
    border-radius: 1rem;
    background: #fff;
    filter: drop-shadow(0.5px 1px 0.5px #55555550);
    justify-content: space-between;
    align-items: flex-start;}






.explanation .explanationtitle {
    padding: 3rem 0 1.8rem;
    margin: 0rem 2% 2rem;
    width: 96%;
    line-height: 1.3;
    font-size: 2.8rem;
    color: #5ab620;
    font-weight: bold;
    font-feature-settings: "palt";
    text-align: center;
    border-bottom: 3px solid #5ab620;
}



.explanation .explanation-imgbox{
    z-index: 100;
    margin: 1rem auto;
    width: 30%;
    background: #d6fff2;
    position: relative;
    border-radius: 1rem;}
@media screen and (max-width: 959.99px) {
.explanation .explanation-imgbox{
    margin: 2rem 2%;
    width: 96%;
}}

.explanation .explanation-imgbox img{  width: 100%;}



/*  */
.explanation_all .explanation .explanation-box{
padding: 1rem 1vw 0.5vw;
    margin: 0rem 0 3rem 0;
    text-align: left;
    width: 66%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}


/*  */
.explanation_all .explanation .explanation-box .explanation-boxin{
    padding: 1rem 0.6vw 0;
    margin: 0rem 0 3rem 0;
    text-align: left;
    width: 100%;
}


.explanation-boxin .boxtitle{
    margin: 0 0.4rem 0 0.3rem;
    padding: 0.4rem;
    float: left;
    position: relative;
    height: fit-content;
    line-height: 1.2;
    font-size: 76%;
    color: #fff;
    background: #5ab620;
    font-weight: 600;
    font-feature-settings: "palt";
    text-align: center;
    width: 20%;}
@media screen and (max-width: 915.99px) {
.explanation-boxin .boxtitle{
    font-size: 68%;
}}


.explanation-boxin .boxtitle::after{
    content:"…";
    position:absolute;
    font-size:100%;
    color:#5ab620;
    right:-1.5em;
}


.explanation-boxin .boxcap{
    font-size: 2rem;
    color: #333;
    font-weight: 600;
    font-feature-settings: "palt";
    text-align: left;
    padding-left: 9vw;}
@media screen and (max-width: 959.99px) {
.explanation-boxin .boxcap{
    font-size: 1.6rem;
}}













/* ///  Campaign flow キャンペーンの流れ ///////////////////////　*/
.cpflow_all{
    margin: 0 auto 3em;
    padding-top:1em;
    text-align: center;
    padding: 2vh 0;
    width: 100%;
    /*background: #f5f5f5;*/
  }


/* */
.cpflow_all .cpflow{
    padding-top: 0.25rem;
    margin: 0rem auto;
    text-align: center;
    width: 100%;
}



/* STEP BOX */
.stepbox {
    width: 96%;
    max-width: 1000px;
    margin: 1em auto;
}

.stepbox .stepboxin {
    padding: 1rem 2vw;
    margin: 3rem 7% 2em;
    position: relative;
    min-height: fit-content;
    background: #fff;
    border: 3px solid #5ab620;
    border-radius: 4rem;
    filter: drop-shadow(0.5px 4px 4px #55555530);
    width: 86%;
    color: #333333;
    text-align: center;
    }


.stepboxin .stepboxinimg{
    padding: 1rem 10% 0em;
    width: 100%;
}

.stepboxin .stepboxinimg img{
    width: 90%;
}


.stepboxintitle {
    padding: 1em 4vw;
    margin: 0;
    width: 100%;
    line-height: 1.4;
    font-size: 100%;
    color: #326d0c;
    text-align: center;
    font-weight: bold;
    font-feature-settings: "palt";
    }





.cpflow-imgbox{
    z-index: 100;
    margin: 1rem auto 3em;
    width: 30%;
    position: relative;
    border-radius: 1rem;}
@media screen and (max-width: 959.99px) {
.cpflow-imgbox{
    margin: 2rem 2%;
    width: 96%;
}}

.explanation .explanation-imgbox img{  width: 100%;}






.cpflowcomment {
        margin: 1rem 3%;
    padding: 0;
        width: 94%;
    text-align: center;
    color: #4d4d4d;
        font-size: 100%;
        line-height: 1.5;
        font-weight: 600;
    font-feature-settings: "palt";}







/* */
.cpflow_all .cpflow .cpflow-box{
    padding: 0 0 8rem;
    line-height: 2.2;
    text-align: center;
    margin: 0rem auto 0rem;
    max-width: 1100px;
}


.cpflow .cpflowtoptitle{
    margin: 7rem auto 3rem;
    padding: 1.2rem;
    line-height: 1.4;
    font-size: 2.6rem;
    font-weight: bold;
    background: #71bd43;
    border-radius: 3rem;
    color: #fff;
    width: 50%;
    text-align: center;
    font-feature-settings: "palt";
}


.cpflow .cpflowtoptitlecap{
    margin: 0 auto 5rem;
    width: 100%;
    line-height: 1.6;
    font-size: 2rem;
    font-weight: bold;
    color: #71bd43;
    font-feature-settings: "palt";
    text-align: center;}



/*  */
.cpflow .cpflow-boxin{
    padding: 2rem;
    margin: 0rem auto 0rem;
    line-height: 2.2;
    text-align: center;
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 959.99px) {
.cpflow .cpflow-boxin{
    margin: 0rem auto 2rem;
  }}




.cpflow .cpflow-boxin .kindsbox{
    padding: 0 2rem;
    margin: 0rem 2% 4rem;
    line-height: 2.2;
    text-align: center;
    width: 46%;
    /* background: #fff;
    border: 1px solid #fafafa;
    border-radius: 1.5rem;
    filter: drop-shadow(1px 5px 2.5px #55555520);*/
}







/* ///  passwording 合言葉 ///////////////////////　*/


.passwording_all {
    padding-bottom: 3vh;
    width: 100%;
    margin-bottom: 0rem;
    height: fit-content;
}




.passwording {
    margin:0 auto;
    width: 100%;
max-width:1100px;
}

.passwording .passwordingimg {
    width: 100%;
    margin: 9vh auto 7vh;
    max-width: 900px;
    filter: drop-shadow(0px 1px 0px #fff);}
.passwording .passwordingimg img{
    width: 100%;
}


.passwording .passwordingimg .passwordingimg {
    width: 100%;
    margin: 9vh auto 7vh;
    max-width: 900px;
    filter: drop-shadow(0px 1px 0px #fff);
}

.passwordingcomment {
    margin: 1rem 3%;
    padding: 0;
        width: 94%;
    text-align: center;
    color: #4d4d4d;
        font-size: 100%;
        line-height: 1.5;
        font-weight: 600;
    font-feature-settings: "palt";}








/* ///  btn-eria_all ///////////////////////　*/
.btn-eria_all {
    margin: 0 auto;
    text-align: center;
    padding: 0 0 3rem;
    width: 100%;
    background: #fafafa ; 
    /*
    background: linear-gradient(to top, #fafafa 0%, #fafafa 50%,#f4f4f4 100% );

    border-bottom: 10px solid #d4b54b;
    border-image: linear-gradient(to right, #f3e385 0%, #d4b54b 50%,#f3e385 100% );
    border-image-slice: 1;
    */
   }

.btn-eria_all .btn-eria {
    margin: 2rem auto;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1000px;
  }

.btn-eria_all .titlename {
    margin: 0rem auto 1rem;
    width: 100%;
    line-height: 2;
    font-size: 92%;
    color: #333;
    letter-spacing: 0.1em;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
}



.btn-eria_all h1{
    padding: 2rem 0 0rem;
    font-size: 150%;
    letter-spacing: normal;
}



.btn-eria_all .titlename {
    margin: 0rem auto;
    width: 100%;
    line-height: 2;
    font-size: 3rem;
    color: #333;
    letter-spacing: 0.2rem;
    text-align: center;
    font-weight: 500;
    /* font-family: 'Noto Serif JP', serif; */
    font-feature-settings: "palt";
}


.btn-eria_all .btn-eria .block_btn{
    margin-bottom: 1rem;
    font-weight: bold;
    margin-top: 1rem;
    width: 50%;}
@media screen and (max-width: 768px) {
.btn-eria_all .btn-eria .block_btn{
    width: erit;
        }}

.btn-eria_all .btn-eria .block_btn .btn_link{
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.02));
}


.btn-eria_all .btn-eria .block_btn .capname {
    margin: 1rem auto 0;
    width: 100%;
    /* line-height: 2; */
    font-size: 90%;
    color: #333;
    font-feature-settings: "palt";
    text-align: center;
    font-weight: 500;
}


.btn-eria_all .btn-eria .block_btn .capname::before,
.btn-eria_all .btn-eria .block_btn .capname::after {
    content: "";
    /*position: absolute;*/
    top: 40%;
    display: inline-block;
    background: #555;
    width: 30px;
    height: 1px;
    vertical-align: middle;
}

.btn-eria_all .btn-eria .block_btn .capname::before{
    transform: rotate(70deg);
    margin-left: 0;
}

.btn-eria_all .btn-eria .block_btn .capname::after{
    transform: rotate(-70deg);
    margin-right: 0;
}


.btn-eria_all .btn-eria .block_btn .capname2 {
    margin: 1.4rem auto 0;
    width: 100%;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.2rem;
    filter: drop-shadow(0.5px 1px 0.5px #55555570);
}


.btn-eria_all .btn-eria .block_btn .btnin-cap {
    width: 80%;
    margin: 0rem 10% 2rem;
    padding: 0.6rem;
    font-size: 1.6rem;
    font-weight: 500;
    background: #ffff;
    border-radius: 3rem;
    font-feature-settings: "palt";
    letter-spacing: 0.01rem;
}
.btn-eria_all .btn-eria .block_btn .btnin-cap:hover {
    color: #1ea427;
}
.btn-eria_all .btn-eria .block_btn .btnin-cap span:hover {
    color: #1ea427;
    /*animation:blink 1s ease-in-out infinite alternate; */
}

/*
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
*/




.btn-eria_all .btn-eria .block_btn .tyuki{
    margin: 0rem 10% 1rem;
    color: #333;
    text-align: left;
    font-size: 74%;
    line-height: 1.4;
    float: left;
    /* letter-spacing: 0.1rem; */
    /* font-family: 'Noto Serif JP', serif; */
    font-feature-settings: "palt";
}




.btn-eria_all .btn-eria .block_btn .btn_link{
    position: relative;
    display: inline-block;
    margin: 1rem auto;
    padding: 2rem 60px;
    font-size: 2rem;
    font-weight: bold;
    font-feature-settings: "palt";
    border: 1px solid #f68800;
    background: #f68800 ; 
    background: linear-gradient(to bottom, #ffeeb3 0%,#ffd028 100% );

    text-decoration: none;
    color: #333333;
    text-align: center;
    border-radius: 1.6rem;
    width: 86%;
    /*transition: 1s;*/}
@media screen and (max-width: 959.99px) {
.btn-eria_all .btn-eria .block_btn .btn_link{
    margin: 1rem auto;
    font-size: 2rem;
    padding: 1.3rem 5%;
}}


/*
.btn-eria_all .btn-eria .block_btn a::before {
    position: absolute;
    content: "";
    width: 120px;
    height: 200px;
    left: 2.5%;
    top: calc(50% - 2.5em);
    background-image: url(../img/book01.png);
    background-size: 55%;
    vertical-align: middle;
    background-repeat: no-repeat;

    display: flex;
    justify-content: center;
    align-items: center;

    filter: drop-shadow(-1px 3px 2px #55555520);
    animation: poyopoyo 5s cubic-bezier(0.65, 0.05, 0.36, 1) infinite; 
    opacity: 1;
}


@keyframes poyopoyo {
  0%, 40%, 60%, 80% {transform: scale(1.0);}
  50%, 70% {transform: scale(0.95);}
}
*/


.btn-eria_all .btn-eria .block_btn a::after {
    position: absolute;
    content: "";
    width: 28px;
    height: 100%;
    right: 3%;
    top: calc(50% - 0.7em);
    background-image: url(../img/ic_ore.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}

.btn-eria_all .btn-eria .block_btn a::before:hover,
.btn-eria_all .btn-eria .block_btn a::after:hover{
    border: 1px solid #7ae553;
}

.btn-eria_all .btn-eria .block_btn .btn_link:hover{
    background: linear-gradient(to bottom, #eef3b3 0%,#7ae553 100% );
    border: 1px solid #7ae553;
}








/* ///  流れbtn //////////////

.block_btn2cap{
margin: 0rem 5% 0;
    width: 90%;
font-size: 90%;
    color: #fff!important;
    letter-spacing: 0.05em;
    text-align: center;
    font-weight: 500;
    padding-top: 3vh;
}

 .block_btn2{
    margin: 1rem auto;
    font-weight: bold;
}


.block_btn2 a{
    position: relative;
    display: inline-block;
    margin: 1rem auto;
    padding: 1.8rem 60px;
    font-size: 2.2rem;
    font-weight: bold;
    font-family: serif;
    letter-spacing: 0.07em;

   background: #fff ; 
    text-decoration: none;
    color: #6f543b!important;
    text-align: center;
    border-radius: 0.6rem;
    width: 80%;
    transition: 1s;}


　*/




/* ///  anexample 例 ///////////////////////　*/
.anexample_all{
    margin: 0em auto 0;
    text-align: center;
    padding: 0rem 0 1em;
    width: 100%;
    /* background: #f3fbed; */
    position: relative;
  }


.anexample_all .anexample{
    margin: 0rem auto;
    text-align: center;
    width: 100%;
    padding: 0;}



.anexample_all .anexample .anexampleview{
    position: relative;
    margin: 0rem auto;
    text-align: center;
    width: 100%;
    padding: 0;
}

.anexample_all .anexample .anexampleview img{
    width: 100%;}
@media screen and (max-width: 1024.99px) {
.anexample_all .anexample .anexampleview img{
    height: 8em;
    object-fit: cover;
}}




.anexample_all .anexample .anexamplecaptitle{
    margin: 6rem auto 4rem;
    width: 100%;
    line-height: 1.6;
    font-size: 2rem;
    color: #333;
    font-feature-settings: "palt";
    text-align: center;
}






/* ///  表 ///////////////////////　*/


table{
    border-collapse: collapse; /* separate */
    border-spacing: 3;
    /*display: inline-table;*/
    display: flex;
    margin: 0 2% 1rem;

/* はみだしを防ぐ */
width: 100%;
table-layout: fixed;
word-break: break-all;
word-wrap: break-all;}
@media screen and (max-width: 767.99px) {
table{
    display: inline-flex;
    align-items: center;;
    width: 100%;
    display: flex;
    margin: 0 auto 1rem;
    }}


.hyo {
    margin: 1em auto 2em;
    text-align: center;
    padding: 0 0 2rem;
    width:96%;
    max-width: 1100px;
    margin-bottom: 30px;
    font-size: 1.3rem;
    background: #f5f5f5;
    border-radius: 1em;
    filter: drop-shadow(2px 5px 3px #55555530);
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;}



.hyo .hyobox {
    margin: 1Rem auto;
    padding: 0em 0vw;
    font-feature-settings: "palt";
    filter: drop-shadow(0.5px 4px 4px #55555530);
    background: #fff;
    color: #333;
    text-align: center;
    border-radius: 1em;
    width: 95%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    overflow-y: scroll;
    overflow-x: hidden;
 }


/*
.hyo .hyobox::before {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 4rem 16vw 0px 16vw;
    border-color: #ffffff transparent transparent transparent;
    bottom: calc(0% - -2em);
    margin: 0rem auto;
    left: 0;
    right: 0;
    width: 40%;
}
*/




.hyo .hyobox .hyoanswertitle{
    padding: 1em 0 1rem;
    font-feature-settings: "palt";
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.8;
    color: #326d0c;
    z-index: 2;
    filter: drop-shadow(1px 2px 1px #fff);
}


.hyo .hyobox .hyoanswer .hyoanswerimg {
    width: 210px;
    margin: 0 0 0 3rem;
    /*transform: rotate(-90deg);*/}
.hyo .hyobox .hyoanswer .hyoanswerimg img{
    width: 22%;
    bottom: 0;
    position: absolute;
    right: 2%;
}







.hyo table{
box-sizing: border-box;
word-break: break-all;
margin: 2em auto;
}

.hyo .hyo_item {
    padding-bottom:2em;
    width: 96% !important;
    border-collapse: collapse;
    text-align: center;
    /* margin: 0em auto; */
    line-height: 1.4;
    font-size: 2rem;
    border-collapse: separate;
    border-spacing: 9px;
    display: inline-table;
    white-space: initial;/* 折り返さない＝nowrap*/

}
@media screen and (max-width: 768.99px) {
.hyo .hyo_item {
    font-size: 72%;
display: inline-block;
}}




.hyo_item tr {
    width: 100%;
    font-size: 1.3rem;
}
@media screen and (max-width: 797.99px) {
  .hyo_item tr {
    font-size: 110%;

    display: flex;
    flex-wrap: wrap;
}}



/*
.hyo_item tr:last-child{
border-bottom: 2px solid #769d5b;
}
*/


.hyo_item th,
.hyo_item td {
    padding: 1vh 1vw;
    border-collapse: collapse;
    text-align: left;
    vertical-align: top;
    border-spacing: 0;
 }

  .hyo_item th {
    width: 100%;
    padding: 1.5vh 0 0.5vh 7vw;
    color: #769d5b;
    font-weight: 600;
    text-align: left;
    vertical-align: middle;
    font-feature-settings: "palt";
    font-size: 170%;
    position: relative;
}


/*
  .hyo_item th:last-child{
border-bottom: 2px solid #fff!important;
}
*/

  .hyo_item th::after {
    content: "";
    position: absolute;
    width: 27%;
    height: 100px;
    bottom: 0;
    top: calc(50% - 0.8em);
    left: 1px;
    background-image: url(../img/ic_pen.png);
    background-size: 100%;
    vertical-align: bottom;
    background-repeat: no-repeat;}
@media screen and (min-width: 768px) and (max-width: 969.99px) {
  .hyo_item th::after{
        width: 7%;
        top: calc(50% - 1.3rem);
        right: 0%;
        background-size: 100%;
}}

@media screen and (max-width: 767.99px) {
  .hyo_item th::after{
    width: 8%;
    top: calc(50% - 0.6em);
    right: 3%;
    background-size: 100%;
}}






.hyo_item th .bigfont{
    font-size: 140% !important;
    font-weight: bold;
    vertical-align: middle;
}



  .hyo_item td {
    table-layout: fixed;
    word-wrap: break-word;
    text-align: left;
    padding: 1vh 0 1vh 2vw;
    font-size: 90%;
    line-height: 1.4;
    background: #fff;
    font-feature-settings: "palt";
    border-color: #fff #fff #769d5b #fff;
    vertical-align: middle;
    border-bottom: 1px solid #769d5660;}
@media screen and (max-width: 797.99px) {
  .hyo_item td {
    font-size: 1.8rem;
}}

 .hyo_item tr td .title{
    margin: 0.8rem auto 1em;
    font-size: 90%;
    line-height: 1.5;
    letter-spacing: 0.6px;
    font-weight:500;
 }



 .hyo_item tr td .subtitle{
    margin: 0.8rem auto;
    font-size: 84%;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.6;
    letter-spacing: 0.6px;
    font-feature-settings: "palt";
 }

 .hyo_item tr td a{
    text-decoration: underline;
    color: #d84e1f;

   & ::hover{color:#5ab620;}
}












/* ページTOPに戻る */
#page_top{
  width: 60px;
    height: 60px;
    position: fixed;
    right: 2%;
    bottom: 1vh;
    background: #d1481d; /*F8B500*/
    opacity: 0.9;
    border-radius: 50%;
    /* background: linear-gradient(to right, #f3e385 0%, #e0c25d 50%,#f3e385 100% ); */
    z-index: 10000;
}

#page_top a{
    position: relative;
    display: block;
    width: 60px;
    height: 55px;
    text-decoration: none;
    margin-top: 1%;
}

#page_top a::before{
    font-weight: 900;
    content: 'TOP';
    font-size: 19px;
    color: #fff;
    position: absolute;
    /* width: 25px; */
    height: 11px;
    top: -5px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}







}/*end */



