@charset "UTF-8";

/*===============================================
画面の横幅が768px以上（PC用）

(max-width: 767.99px) (max-width: 959.99px)
(max-width: 1024.99px) (max-width: 1059.99px)
===============================================*/

@media screen and (min-width:768px){

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}


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

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


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








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


.explanation_all .explanation {
    margin: 0 auto 5em;
    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;}
@media screen and (max-width: 767.99px) {
.explanation_all .explanation {
    padding: 0.5rem 0 0;
    margin: 0 auto 2em;
}}





.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: #fdfdf5; /*f5f5f5*/
  }


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



/* STEP BOX */
.stepbox {
    width: 96%;
    max-width: 1000px;
    margin: 4em auto;
    display: flex;
    flex-wrap: wrap;}
@media screen and (max-width: 820.99px) {
.stepbox {
    margin: 2em auto;
}}


.stepbox .stepboxin {
    padding: 0.4rem 1vw 0.1rem;
    margin: 3rem 2%;
    position: relative;
    min-height: 10vh;
    background: #fff;
    border: 5px solid #5ab620; /* 06c755 4ca353 */
    border-radius: 1rem;
    filter: drop-shadow(0.5px 4px 4px #55555530);
    width: 29%;
    color: #333333;
    text-align: center;
    }


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

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


.stepboxintitle {
    padding: 1em 0vw;
    margin: 0;
    width: 100%;
    line-height: 1.4;
    font-size: 1.9rem;
    color: #326d0c;
    text-align: center;
    font-weight: bold;
    /*font-feature-settings: "palt";*/
    }
@media screen and (max-width: 820.99px) {
.cpflow-imgbox{
padding: 1rem 0vw;
    font-size: 80%;
}}




.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: 2rem 2% 4em;
    padding: 0;
    width:96%;
    text-align: center;
    color: #4d4d4d;
    font-size: 2.6rem;
    font-weight:bold;
    line-height: 1.8;
    font-feature-settings: "palt";}
@media screen and (max-width: 767.99px) {
.cpflowcomment {
        font-size: 100%;
        line-height: 1.5;
        font-weight: 600;
        margin: 1rem 3%;
        width: 94%;
}}






/* */
.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;}
@media screen and (min-width: 768px) {
.cpflow .cpflowtoptitlecap{
    font-size: 2.4rem;
}}


/*  */
.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;
    position: relative;
}

.passwording_all::before {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 7rem 22vw 0px 20vw;
    border-color: #f5f5f5 transparent transparent transparent;
    top: -13%;
    /* top: calc(0% - 4em); */
    margin: 0rem auto;
    left: 0;
    right: 0;
    width: 40%;
        }


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

}

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


.passwordingcomment {
    margin: 2rem 2% 2rem;
    padding: 0;
    width:96%;
    text-align: center;
    color: #4d4d4d;
    font-size: 2.6rem;
    font-weight:bold;
    line-height: 1.5;
    font-feature-settings: "palt";}
@media screen and (max-width: 767.99px) {
.passwordingcomment {
        font-size: 100%;
        line-height: 1.5;
        font-weight: 600;
        margin: 1rem 3%;
        width: 94%;
}}



/* */
.btn_copy_all {
    margin: 0em auto 2em;
    position: relative;
    text-align: right;
    width: 100%;
    max-width: 840px;
    }

.btn_copy {
    margin: 1rem 2% 1rem;
        text-align: right;
        /* width: 34%; */
        transition: 0.5s;
    }


.btn_copy a{
    padding: 0.6rem 4vw;
    display: inline-block;
        font-size: 1.6rem;
        font-weight: bold;
        color: #fff;
        background: #ff0000;
    border: 1px solid #ff0000;
        text-decoration: none;
        position: relative;
        float: right;
        border-radius: 1rem;}
  @media screen and (max-width: 797.99px) {
.btn_copy a {
    font-size: 120%;
    border-radius: 3rem;
    width: 92%;
    }}



.btn_copy a::after{
    content: "";
    position: absolute;
    width: 8%;
    height: 100px;
    bottom: 0;
    top: calc(50% - 0.55em);
    right: 13px;
    background-image: url(../img/ic_file.png);
    background-size: 100%;
    vertical-align: bottom;
    background-repeat: no-repeat;}
@media screen and (min-width: 768px) and (max-width: 969.99px) {
.btn_copy a::after{
        width: 7%;
        top: calc(50% - 1.3rem);
        right: 0%;
        background-size: 100%;
}}

@media screen and (max-width: 767.99px) {
.btn_copy a::after{
    width: 6%;
    top: calc(50% - 0.5em);
    right: 3%;
    background-size: 100%;
}}



.btn_copy a:hover {
    color: #fff000!important;
    background:#ff0000;
    text-decoration: none!important;
animation: changehover4 2s ease;
    text-decoration:none;
}

@keyframes changehover4  {
  40% {opacity: 1; color: #fff000;scale:1.02;}
  80% {opacity: 1;color: #4d4d4d;scale:1.0;}
  100% {opacity: 1;color: #4d4d4d;scale:1.0;}
}

.btn_copy::after:hover {
    color: #fff!important;
}














/* ///  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-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 h1{
    padding: 4rem 0 0rem;
}



.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: 2rem auto 0;
    width: 100%;
    /* line-height: 2; */
    font-size: 1.8rem;
    color: #333;
    text-align: center;
    font-weight: 500;
    position: relative;
    /*letter-spacing: 0.2rem;*/
    /* font-family: 'Noto Serif JP', serif;*/
}

.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;
}
.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: 0.5rem 10% 0rem;
    color: #333;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.3;
    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: 20rem;
    width: 80%;
    /*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 10%;
}}



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

    display: flex;
    justify-content: center;
    align-items: center;
    /*transform: rotate(354deg);*/
    rotate: 372deg;
    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;
}









/* ///  anexample 例 ///////////////////////　*/
.anexample_all{
    margin: 0em auto 0;
    text-align: center;
    padding: 0;
    width: 100%;
    /* background: #f3fbed; */
    position: relative;}
@media screen and (max-width: 1180.99px) {
.anexample_all{
    padding: 0rem 0 0em;
}}

.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;*/
    table-layout: fixed;
    width: 96%;
    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: 6em auto 6em;
    text-align: center;
    padding: 0;
    width: 96%;
    max-width: 1100px;
    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;}
@media screen and (max-width: 768.99px) {
.hyo {
    padding: 0 0 2rem;
}}



.hyo .hyobox {
    margin: 2em auto;
    padding: 1em 1vw;
    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%;
}}



/*
.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: 13%;
    padding: 0.4vh 0 0.3vh 1.5vw;
    color: #769d5b;
    font-weight: 600;
    text-align: left;
    vertical-align: middle;
    font-feature-settings: "palt";
    font-size: 1.5rem;
    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: -0.4rem;
    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: 1024.99px) {
  .hyo_item th::after{
    width: 34%;
    top: calc(50% - 0.8em);
    left: -3px;
}}
@media screen and (min-width: 768px) and (max-width: 969.99px) {
  .hyo_item th::after{
    width: 38%;
    top: calc(50% - 0.8em);
    left: -15%;
    background-size: 100%;
}}

@media screen and (max-width: 768.99px) {
  .hyo_item th::after{
    width: 38%;
    top: calc(50% - 0.6em);
    left: -15%;
    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 1vw;
    font-size: 1.5rem;
    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: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.6px;
    font-weight:500;
 }



 .hyo_item tr td .subtitle{
    margin: 0.8rem auto;
    font-size: 1.4rem;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.4;
    letter-spacing: 0.6px;
 }

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

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









/* ページTOPに戻る PCが認識されなかったりするのでここにも同じの配置 */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 2%;
  bottom: 24px;
  background: #d1481d;
  opacity: 0.9;
  border-radius: 50%;
  /*background: linear-gradient(to right, #f3e385 0%, #e0c25d 50%,#f3e385 100% );*/
    z-index: 10000;
}
 @media screen and (max-width: 820.99px) {
#page_top{
  bottom: 24px;
}}



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

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









}/*end */
