html { font-size: 62.5%;}

body { min-width: auto; font-size: 1.6rem; overflow: auto; background: #FFFFFF;}

/* ===== layout ===== */
.l-header{background:#e60012;}
.l-header__inner{display:flex;justify-content:space-between;align-items:center;height:80px;padding:0 50px;position:relative;box-sizing: border-box;}

@media (max-width: 828px) {.l-header__inner {height: 60px;padding: 3vw;}.l-header__logo img{height: 40px;}}

.l-pub{padding:0 0 2rem;position:relative;overflow:hidden}

.l-catch{text-align:center;font-size:24px;font-size:2.4rem;padding:0 0 100px;position:relative}
.l-catch img{width: 100%; height: auto;}
@media(max-width:828px){.l-catch{font-size:16px;font-size:1.6rem}}
.-child .l-catch{padding-top:0;padding-bottom:40px}

.p-activity__contents{padding:60px 0 0;background:#f6f166}
@media(max-width:828px){.p-activity__contents{padding:40px 0 0}}
.-child .p-activity__contents{padding-top:40px;background:#f9f9f9;border-bottom:solid 2px #ddd}

/* ===== container width ===== */
.p-inner{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
@media(max-width:828px){.p-inner{padding-left:40px;padding-right:40px}}
@media(max-width:828px){.p-inner{padding-left:3%;padding-right:3%}}
.p-inner.-s{max-width:800px;margin:0 auto;padding:0 48px 4rem}
@media(max-width:828px){.p-inner.-s{max-width:100%;padding-left:3%;padding-right:3%}}

/* ===== components ===== */
.c-date{font-family:"Roboto",sans-serif;font-size:16px;font-size:1.6rem;vertical-align:middle}

.c-tag{margin-bottom:10px;display:inline-block}
.c-tag>li{display:inline-block;border-radius:100px;color:#fff;padding:2px 20px;font-size:14px;font-size:1.4rem;text-shadow:none}
.p-activity .c-tag>li{background:#e60012}
@media(max-width:828px){.c-tag>li{font-size:11px;font-size:1.1rem}}

.c-pageTitle{text-align:center;font-size: 3rem;font-weight:700;line-height:1.4} /* ベースがp-drawer内のみだったため、最小の体裁だけ保持 */
@media(max-width:828px){.c-pageTitle{font-size:24px;font-size:2.4rem}}

.c-pageTitle--sub{display: block; font-size: 1.6rem;font-weight:bold;}

.c-blockTitle{font-weight:bold;font-size:18px;font-size:1.8rem;margin-bottom:16px}

.c-lede{margin-bottom:24px;font-size:16px;font-size:1.6rem;line-height:1.8}
@media(max-width:828px){.c-lede{font-size:17px;font-size:1.6rem}}

.c-iconLink{padding-right:20px;font-size:1.6rem;letter-spacing:.5px;color:#000000;text-decoration:underline !important;background:url(../../assets/images/ic-arrow-red.png) no-repeat right center;background-size:10px 15px;transition:.3s cubic-bezier(.645,.045,.355,1)}
.c-iconLink.-blank{background-image:url(../../assets/images/ic-blank-red.png);background-size:15px 15px}
.c-iconLink:hover{opacity:.7}

.p-point{background:#f9f9f9;position:relative;border-radius:12px;padding:40px 40px 20px;font-size:16px;font-size:1.6rem}
.p-point.p-apply .c-blockTitle{font-size:16px;font-size:1.6rem}
@media(max-width:828px){.p-point{padding-left:5%;padding-right:5%}.p-point.p-apply{padding-left:3%;padding-right:3%;}}
.p-point__head{background:#e60012;color:#fff;display:inline-block;padding:2px 20px;position:absolute;left:50%;transform:translateX(-50%);top:-10px;white-space:nowrap;text-align:center;line-height:1.4}
@media(max-width:828px){
.p-point__head{display:block;position:static;transform:none;margin-top:-50px;border-radius:4px;white-space:normal}
}

.p-buttonUnit{display:flex;align-items:center;justify-content:center;margin-top:40px}
.p-buttonUnit>*:not(:first-child){margin-right:16px}
@media(max-width:828px){
.p-buttonUnit{display:block;text-align:center}
.p-buttonUnit>*:not(:first-child){margin:16px 0 0}
}

.c-roundButton{display:inline-block;width:240px;padding:18px 16px;border:2px solid #e60012;border-radius:30px;background-color:#fff;color:#e60012;font-size:1.6rem;font-weight:bold;text-align:center;line-height:1;transition:.3s cubic-bezier(.645,.045,.355,1);cursor:pointer}
.c-roundButton:hover{background-color:#e60012;color:#fff}
.c-roundButton.-gray{border-color:rgba(0,0,0,.54);color:rgba(0,0,0,.54)}
.c-roundButton.-gray:hover{border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,.54);color:#fff}
.c-roundButton.-red{background-color:#e60012;color:#fff}
.c-roundButton.-red:hover{background-color:#fff;color:#e60012}
.c-roundButton.-large{font-size:18px;font-size:1.8rem}
.c-roundButton.-label{position:relative}
.c-roundButton.-label:before{content:"すでに会員の方はこちら";position:absolute;top:-25px;color:#333;left:0;text-align:center;width:100%;font-size:13px;font-size:1.3rem}
.c-roundButton.-label.-yet:before{content:"まだ会員ではない方はこちら"}
.c-roundButton.-blank::after{
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 15px;
  height: 15px;
  background-image: url(../../assets/images/ic-blank-red.png);
  background-size: 15px 15px;
  transform: translateY(-50%);
  transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.c-roundButton.-blank.-red::after{
  background-image: url(../../assets/images/ic-blank.png);
}
.c-roundButton.-blank.-red:hover::after{
  background-image: url(../../assets/images/ic-blank-red.png);
}
.c-roundButton.-blank.-gray:hover::after{background-image: url(../../assets/images/ic-blank.png);}
@media(max-width:828px){.c-roundButton.-label.-yet{margin-top:40px}}
@media(max-width:828px){.c-roundButton:hover{background-color:#fff;color:#e60012}}
@media(max-width:828px){.c-roundButton.-gray:hover{background-color:#fff;color:rgba(0,0,0,.54)}}

.c-dialog{text-align:center;padding:40px;border-radius:10px;border:solid 2px #ddd;margin-bottom:20px}
@media(max-width:828px){.c-dialog{padding:20px}}

.c-notice{color:#888;font-size:12px;font-size:1.2rem}
@media(max-width:828px){.c-notice{font-size:14px;font-size:1.4rem}}

.c-list{margin-left:20px}
.c-list>li{list-style-type:disc; color: #888;}
.c-list._indent{margin-left:0}
.c-list._indent>li{list-style-type:none;text-indent:-1em;padding-left:1em}
.c-list._indent>li{list-style-type:none;}

/* ===== utilities ===== */
.inline-block{display:inline-block}
.text-left{text-align:left}
.text-right{text-align:right}
.text-center{text-align:center}
.bg-white{background-color:#fff}
.text-red{color:#e60012}
.text-l{font-size:120%}
.font-bold{font-weight:bold}
.font-medium{font-weight:500}
.font-12{font-size: 1.2rem;}
.flex-reverse{flex-direction:row-reverse}
@media(max-width:828px){.inline-block.rpd{display:block;width:100%}}
@media(max-width:828px){.flex.rpd{display:block}} /* p-buttonUnit と併用時のSP崩れ防止 */

.pb-40{padding-bottom:40px}
.mb-0{margin-bottom:0}
.mb-10{margin-bottom:10px}
.mb-20{margin-bottom:20px}
.mb-40{margin-bottom:40px}
.mb-60{margin-bottom:60px}
.mt-20{margin-top:20px}
.mt-30{margin-top:30px}
.mt-40{margin-top:40px}
.mt-60{margin-top:60px}

.hr{color: #eee; border-top: 1px solid #eee; margin:30px 0 20px}
.text-link{text-decoration:underline}
.text-link:hover{text-decoration:none}

/* ===== page-specific (このHTML内でのみ使われている任意クラス名) ===== */
.prize_box{}
.prize_text{font-size: 1.92rem;}
.prize_imgBox{display: flex; align-items: flex-start; justify-content: center;}
.prize_group{width: 67%;}
.prize_groupImgBox{display: flex;}
.prize_img{ max-height: 250px; height: 250px; margin: 20px 20px 0;}
.prize_img.retortCurry{ width: 29%;}
.prize_img.retortCurry img{ max-height: 183px;}

.prize_img img{max-width: 100%; width: auto; max-height: 100%; height: auto; margin: auto;}
.grid_btn-blank{}
.c-dialog_img{max-width:100%;height:auto}

@media (max-width: 828px) {
.prize_imgBox{flex-direction: column;align-items: center;}
.prize_group{width: 100%;}
.prize_groupImgBox{width: 80%; flex-direction: column; align-items: center; margin: auto;}
.prize_groupImgBox .prize_img:nth-last-of-type(2){width: 80%;}
.prize_img{ max-height: none; width: 70%; height: auto; margin: 10px;}
.prize_img.retortCurry{ width: 100%; margin-top: 40px;}
.prize_img.retortCurry img{ width: 50%; max-height: none; height: auto;}
}

.quiz_box{}
.quize_text{font-size: 1.92rem; width: fit-content; margin: 0 auto; text-indent:-1em; padding-left:1em}
.quize_choices{width: fit-content; margin: 20px auto 0;}
.quize_hint{color: #000000; text-decoration: underline !important;}
.quize_hint:hover{opacity: 0.7;}

/* 任意の幅指定ボタンが必要なら（使っていれば有効化） */
.c-roundButton_w377{display:inline-block;max-width:100%;width:377px}

@media (min-width: 829px) {
.grid_btn-blank a:hover span:after {
    background-image: url(../../assets/images/ic-blank.png);
}
}

.grid_btn-blank span:after {
content: '';
display: inline-block;
width: 15px;
height: 15px;
margin-left: 0.5em;
background-image: url(../../assets/images/ic-blank-red.png);
background-size: 15px 15px;
transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.c-iconLink-blank:after {
content: '';
display: inline-block;
width: 15px;
height: 15px;
margin-left: 0.5em;
background-image: url(../../assets/images/ic-blank-red.png);
background-size: 15px 15px;
transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.c-roundButton_w377 {
display: inline-block;
box-sizing: border-box;
width: 377px;
padding: 16px;
border: 2px solid #e60012;
border-radius: 50px;
background-color: #fff;
color: #e60012;
font-size: 1.6rem;
font-weight: bold;
text-align: center;
line-height: 1;
-webkit-transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
cursor: pointer;
}

.c-roundButton_w377:hover {
background-color: #e60012;
color: #fff;
}

.c-roundButton.-blue {
background-color: #0A58C3;
border: 2px solid #0A58C3;
color: #fff;
width: 280px;
}

.c-roundButton.-blue:hover {
background-color: #fff;
color: #0A58C3;
}

@media (max-width: 828px) {
.c-roundButton.-blue {
    margin-top: 30px;
}
}

/* -----  format overwrite  ------- */
div#footer{
  position: relative;
  height: auto;
}
div#footer .footer_inner{
  width: auto;
}
div#footer .footer_inner .footer_menu{
  float: none;
}
div#footer .footer_inner .footer_menu li{
  float: none;
  display: block;
  font-size: 14px;
  border-bottom: solid 1px #ccc;
  position: relative;
}
div#footer .footer_inner .footer_menu li.last{
  border-left: none;
  padding-left: 0;
}
div#footer .footer_menu li a{
  display: block;
  padding: 12px 0 12px 40px;

}
div#footer .footer_menu li .ico_window{
  position: absolute;
  top: 50%;
  left: 10px;
  translate: 0 -50%;
  scale:0.8;
}
div#footer .footer_inner .copyright{
  width: auto;
  float: none;
  text-align: left;
  text-align: center;
  padding: 20px 0;
  font-size: 70%;
}

@media(min-width: 829px){

  div#footer{
    position: fixed;
    height: 50px;
  }
  div#footer .footer_inner{
    width: 980px;
  }
  div#footer .footer_inner .footer_menu{
    float: left;
  }
  div#footer .footer_inner .copyright{
    float: right;
    text-align: right;
    padding: 0;
    font-size: 80%;
  }
  div#footer .footer_inner .footer_menu li{
    display: inline;
    float: left;
    font-size: 90%;
    border-bottom: none;
  }
  div#footer .footer_menu li .ico_window{
    position: static;
    scale: 1;
  }
  div#footer .footer_inner .footer_menu li a{
    display: inline;
    padding: 0;
  }
  .-mt-82 {
    margin-top: 0;
  }
}


.spOnly{
  display: block;
}

.pcOnly{
  display: none;
}

.inline_sp {
  display: inline;
}

.line-h_0 {
  line-height: 0;
}

@media(min-width: 629px){
  .spOnly{
    display: none;
  }
  
  .pcOnly{
    display: block;
  }
}

.visible{
  visibility: visible;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.z-10{
  z-index: 10;
}
.m-0{
  margin: 0px;
}
.-my-2{
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
.mx-0{
  margin-left: 0px;
  margin-right: 0px;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-16{
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.-mt-8{
  margin-top: -2rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-8{
  margin-top: 2rem;
}
.\!block{
  display: block !important;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.h-96{
  height: 24rem;
}
.h-full{
  height: 100%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-3\/4{
  width: 75%;
}
.w-full{
  width: 100%;
}
.w_calc3 {
  width: calc((100% - 60px) / 3);
}
.max-w-none{
  max-width: none;
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.resize{
  resize: both;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-center{
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.flex-direction {
  flex-direction: column;
}
.gap {
  gap: 15%;
}
.justify-between{
  justify-content: space-between;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-y-scroll{
  overflow-y: scroll;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-b-3xl{
  border-bottom-right-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-8{
  border-width: 8px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-l-0{
  border-left-width: 0px;
}
.border-r-0{
  border-right-width: 0px;
}
.border-solid{
  border-style: solid;
}
.border-dotted{
  border-style: dotted;
}
.border-double{
  border-style: double;
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-green{
  background-color: #88b93a;
}
.bg-gold{
  background-color: #ab9b34;
}
.p-1{
  padding: 0.25rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.p-16{
  padding: 4rem;
}
.px-0{
  padding-left: 0;
  padding-right: 0;
}
.px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.\!pb-0{
  padding-bottom: 0px !important;
}
.\!pb-28{
  padding-bottom: 7rem !important;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-20{
  padding-bottom: 5rem;
}
.pb-28{
  padding-bottom: 7rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pl-8{
  padding-left: 2rem;
}
.pl-12{
  padding-left: 3rem;
}
.pl-sp{
  padding-left: 9rem;
}
.pr-sp{
  padding-right: 9rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-16{
  padding-top: 4rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-8{
  padding-top: 2rem;
}

.inner {
    padding-left: 3vw;
    padding-right: 3vw;
}
@media (min-width: 828px) {
    .inner {
        max-width: 1022px;
    }
}

.contact .inner {
  padding-bottom: 7rem;
}

@media (max-width: 828px) {
    .contact .inner {
      padding-bottom: 2rem;
    }
}