@charset "UTF-8";
/* m plus 1 / noto sans jp */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");

:root{
    --red: #e60012;    
    --yellow: #fff000;
    --yellow-light:#fffef0;
}

body {
	text-align: justify;
	font-feature-settings:"palt";
}
main {padding-top: 2.5%;}

.flex,
.flex-center{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flex-center{justify-content: center}

/* page */
/* 共通 */
.disp_sp {display: none !important;}
.disp_pc {display: block !important;}
@media only screen and (max-width: 767px) {
.disp_sp {display: block !important;}
.disp_pc {display: none !important;}    
}

.ulp_page {
  line-height: 1.6;
  color: #000;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}
.inner {padding: 40px;}
@media only screen and (max-width: 767px) {
.inner {padding: 20px 20px 40px;}  
}


#contents-ttl{
    max-width: 1200px;
    width: 100%;
    margin: 0 auto -10%;
}
.recommend {
    padding-top: 5rem;
    background-image: url("../img/img-cp_bg.jpg");
    background-repeat: repeat-y;
    background-size: contain;
    background-position: center top;
}
.recommendBox {box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);}
.recommendBox:not(:last-child) {margin-bottom: 30px;}
@media only screen and (max-width: 767px) {
}


h2.ttl{
    text-align: center;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 1rem 1.3rem;
    font-size: clamp(22px, 6vw, 38px);
    margin-top: 7rem;
    margin-bottom: 3rem;
    color: var(--red);
    border-bottom: 5px solid var(--red)
}
#cp-info p:not(#attention p){
    font-size: clamp(14px, 4vw, 22px);
    font-weight: 400;
}
.ta-l {text-align: left !important;}
.sp_ta-l {text-align: left;} 
.list_caution01 li,
.list_caution02 li{font-weight: 300;}
.list_caution01 li::before {
    content: "※";
    font-size: clamp(14px, 3.8vw, 20px);
}
.step01, .step02, .step03, .step04 {
  border: 2px solid #FFD8D2;
  text-align: center;
}
.step02, .step03, .step04 {
  margin-top: 20px;
}
.step_count {
  background-color: #FFD8D2;
  font-weight: bold;
  font-size: clamp(22px, 4.5vw, 36px);
  padding: 7px;
}
.step01_content, .step02_content, .step03_content, .step04_content {
  padding: 15px;
}
.step_title {
  font-size: clamp(22px, 5vw, 40px) !important;
  font-weight: bold !important;
  color: var(--red);
}
#cp-info_step .img_wrap {margin: 17px auto;}
#cp-info_step .step01 .img_wrap {max-width: 66px;}
#cp-info_step .step03 .img_wrap {max-width: 284px;}
#cp-info_step .step04 .img_wrap {max-width: 100px;}
#cp-info_step .step04 .img_wrap + p {margin-bottom: 10px;}
.campaignBtn_wrap, .organizerBtn_wrap {
    max-width: 700px;
    margin: 0 auto;
    padding-top: 6%;
    padding-bottom: 6%;
}
@media screen and (min-width: 641px) {
 .step_count {
   font-size: 36px;
   padding: 10px;
 }
.step02, .step03, .step04 {margin-top: 40px;}
.step01_content, .step02_content, .step03_content, .step04_content {padding: 30px;}
.step_title {font-size: 40px !important;}
.sp_ta-l {text-align: center;}    
#cp-info_step .img_wrap {margin: 30px auto;}
#cp-info_step .step01 .img_wrap {max-width: 86px;}
#cp-info_step .step03 .img_wrap {max-width: 524px;}
#cp-info_step .step04 .img_wrap {max-width: 154px;}
#cp-info_step .step04 .img_wrap + p {margin-bottom: 20px;} 
.list_caution01 li,
.list_caution01 li::before,
.list_caution02 li,
.list_caution02 li::before,
.list_num li,
.list_num li::before {font-size: 20px;}    
}

.flex-center#container-store{align-items: center}
#container-store{gap:15px 30px;}
#container-store_logo{width: 200px}
.flex-center#container-store p{
    font-size: clamp(24px, 3.5vw, 28px);
    font-weight: bold;
}
#cp-info{padding-bottom: 0}
#cp-code{padding-top: 0}

.ul-list{
    column-count: 4;
    column-gap: 50px;
}
.ul-list li{
    margin-top: .5rem;
    margin-top: .5rem;
}
.ul-list li::marker {
    content: "● ";
    color: #FFD8D2;
    font-size: 70%;
}

.attention__box {
    position: relative;
    margin-bottom: 20px;
}

.attention__deco {
  position: absolute;
  content: "";
  background-size: contain;
  width: 70%;
  max-width: 362px;
  left: 50%;
  transform: translateX(-50%);
  top: -20px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
.ul-list{
    column-count: 3;
    column-gap: 30px;
}    
  .attention__deco {
    max-width: 300px;
    width: 60%;
  }
}
@media only screen and (max-width: 640px) {
.ul-list{column-count: 2;}   
.ul-list li{font-size: 15px;}    
  .attention__deco {
    top: -10px;
    max-width: 250px;
  }
}

.attention__title {
    text-align: center;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 2.5rem;
    font-size: clamp(20px, 4vw, 32px);
    margin-top: 6rem;
    margin-bottom: 3rem;
    color: #ffffff;
    background-color: var(--red);
    border-radius: 9999px;
    position: relative;
    width: fit-content;
    min-width: 380px;
    margin: auto;
}
.toggle {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translate(0%, -50%);
    width: 40px;
    height: 40px;
    background: var(--blue);
    cursor: pointer;
    border-radius: 50%;
}
.toggle::before,
.toggle::after {
    width: 24px;
    height: 4px;
    background-color: white;
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
}
.attention__title .toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.attention__title.js-active .toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.attention__body {
    padding: 30px 0 0;
    display: none;
}

.attention__heading {
    font-weight: bold;
    margin-top: 30px;
    font-size: clamp(20px, 3vw, 22px);
    color: var(--red);
    border-bottom: 2px solid var(--red);
    line-height: 1.4;
    text-align: center;
}

.attention__text {
  margin-top: 10px;
  line-height: 1.6666666667;
}
.attention__text.-first {
  margin-top: 0;
}

.attention__notes,
.attention__indent {
  margin-top: 10px;
}
.attention__notes > li,
.attention__indent > li{
  line-height: 1.5;
    margin-top: 5px;
    margin-bottom: 5px;
}
.attention__notes > li:before{content: "・"}
.attention__notes > li{
  text-indent: -0.5em;
  padding-left: 0.5em;    
}
.attention__indent > li{
  text-indent: -1em;
  padding-left: 1em;
}
a.txt-link{
    color: var(--red);
    text-decoration: underline;
    display: inline;
}
@media only screen and (max-width: 520px) {
.attention__title {min-width: 280px}    
}

.entry + .recommendBox{margin-top: 6rem}
.entry__btn{margin-bottom: 2rem}
.entry__btn .c-btn-a {
    font-size: 35px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--red);
    background-size: auto auto;
    background: var(--yellow);
    border-radius: 20px;
    padding: 15px;
    max-width: 400px;
    width: 100%;
    min-height: 100px;
    text-align: left;
    line-height: 1;
    margin: 0 auto;
    box-shadow: 0 7px 0 var(--red);
    border: 3px solid var(--red);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.entry__btn .c-btn-a::after {
    content: "▶";
    font-size: 20px;
}

.fixed-btn div{
  display: block;
  position: fixed;
  z-index: 500;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.fixed-btn #fixed-btn_pc{
    right: 0;
    top: 55%;
    transform:  translateY(-50%);
    display: block;
}
.fixed-btn #fixed-btn_sp{display: none;}
.fixed-btn a {
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    color: var(--yellow);
    background: var(--red);
    border: 3px solid #000000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}
.fixed-btn #fixed-btn_pc{bottom: 5px;}
.fixed-btn #fixed-btn_pc a{
    width: 80px;
    writing-mode: vertical-rl;
    border-radius: 14px 0 0 14px;
    padding: 15px 8px 15px 10px;
    border-right: none;
    line-height: 1;
    font-size: 28px;
}
@media only screen and (max-width: 767px) {
.entry__btn .c-btn-a {
    font-size: 24px;
    max-width: 330px;
    min-height: 65px;
}    
.fixed-btn #fixed-btn_pc{display: none;}
.fixed-btn #fixed-btn_sp{
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    }
.fixed-btn #fixed-btn_sp a{
    border-radius: 12px 12px 0 0;
    padding: 10px 12px;
    border-bottom: none;
    font-size: 22px;
}
.fixed-btn #fixed-btn_sp a::after {content: "▶";}
}
