@charset "utf-8";
/* app start campaign (2026.08.29-09.27)*/
:root {
  /*color*/
  --c-cmpApp-red: 201 2 2;/*#c90202*/
  --c-cmpApp-red-drk: 185 0 0;
  --c-cmpApp-blu: 0 90 186;/*#005aba*/
  --c-cmpApp-blu-light: 0 110 190;
  --c-cmpApp-brw: 115 60 0;/*#6f3e08*/
  --c-cmpApp-pnk: 255 81 178;
  --c-cmpApp-pnk-light: 255 150 150;
  --c-cmpApp-pnk-drk: 200 55 120;
  --c-cmpApp-ylw: 255 200 0;/*#ffc800*/
  --c-cmpApp-org: 245 164 50;/*#f5a432*/
  --c-cmpApp-grn: 88 136 21;/*#588815*/
  --c-cmpApp-grn-light: 108 163 32;/*#6ca320*/
  /*font famly*/
  --ff-YuMc: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  --ff-YuGo: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --ff-SwMc: 'Sawarabi Mincho', sans-serif;
  --ff-zenmaruG: "Zen Maru Gothic", "Noto Sans JP", "sans-serif";
}
/*font face*/
@font-face {
  font-family: "wf-tegaki";
  src: url("/assets/fonts/HuiFontP29.eot");/*For IE*/
  src: url("/assets/fonts/HuiFontP29.woff") format("woff"),/*For Modern browser*/
    url("/assets/fonts/HuiFontP29.ttf") format("truetype");/*For iOS Android*/
}
.wf-tegaki {
  font-family:"wf-tegaki";
  line-height: 1.3;
  letter-spacing: -0.05em;
}
body {
  font-feature-settings: "palt";
}
img {
  vertical-align: bottom;
}
small {
  font-weight: inherit;
}
section.campApp {
  max-width: 100%;
  padding: 0;
}
/*app download*/
.app-download-cont {
  margin: 2em auto 0;
}
.app-download-title { color: rgb(var(--c-cmpApp-red) / 100%);}
.app-download + p.campApp-text {
  width: fit-content;
  padding: 0.25em 3em;
  margin: 1em auto;
  /*background: #fff;*/
  background: var(--color-link-nml);
  box-shadow: 0 1px 4px rgb(0 0 0 / 20%);
  border-radius: 2em;
  text-align: center;
}
.app-download + p.campApp-text > a {
  color: #fff;
}
.app-download + p.campApp-text > a.link-text__deco--triangle::before {
  border-left-color: #fff;
}
/*-------------------------------
 app campaign - header
---------------------------------*/
.campApp-header {
  background: 
    url("/cs/assets/image/app/campaign260829_appEntry_header_bg.jpg") 50% 0 / auto no-repeat,
    linear-gradient(90deg, rgb(var(--c-cmpApp-ylw) / 100%) 0%, rgb(var(--c-cmpApp-ylw) / 100%) 100%)
    ;
  line-height: 1;
  text-align: center;
}
.campApp-cont {
  width: 100%;
  padding: calc(var(--rs) * 2) 2% calc(var(--rs) * 8);
  margin: 0  auto;
  background: 
    url(/cs/assets/image/bg/bg_ptrn_strp_oblq01_bright.png) 0 0 repeat,
    linear-gradient(180deg, rgb(255 150 8 / 70%) 0%, transparent 30%),
    linear-gradient(180deg, rgb(var(--c-cmpApp-ylw) / 100%) 0%, #f3de88 80%)
  ;
  font-family: var(--ff-YuGo);
  font-size: calc(var(--fs) * 0.6 + var(--rs) * 1.2);
}
/*-------------------------------
 app campaign - intro
---------------------------------*/
.campAppIntro {
  width: min(100%, 108rem);
  padding: 0;
  margin: 0 auto;
}
.campApp-catch,
.campApp-text,
.campApp-catchFtr {
  width: min(96%, 88rem);
  margin: 0 auto;
}
.campApp-catch {
  padding-left: 1em;
  margin: 1em auto 0.5em;
  color: rgb(var(--c-cmpApp-grn) / 100%);
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 2.0);
  font-weight: bold;
  text-align: left;
}
.campApp-catch b {
  display: block;
}
.campApp-catch b + b {
  margin-left: 1em;
  margin-right: 0;
  text-indent: 0;
}
.campApp-text {
  padding: 0 1%;
  margin: 1em auto;
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 0.8);
  text-align: left;
}
.campApp-text b {
  margin: 0 1px;
  color: rgb(var(--c-cmpApp-pnk) / 100%);
  font-size: 112.5%;
  display: inline-block;
}
.campApp-catchFtr {
  color: rgb(var(--c-cmpApp-grn) / 100%);
  font-size: calc(var(--fs) * 1.4 + var(--rs) * 2);
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px#fff, 0 0 4px#fff;
  filter: drop-shadow(0 0 1px #ffff) drop-shadow(2px 2px 4px rgb(var(--c-cmpApp-grn) / 30%));
  display: block;
}
.campApp-catchFtr > b {
  color: rgb(var(--c-cmpApp-pnk) / 100%);
  display: block;
}
/*-------------------------------
 app campaign - outline
---------------------------------*/
.campApp-outline-wrap {
  width: min(98%, 108rem);
  padding: calc(var(--rs) * 2);
  margin: calc(var(--fs) * 2) auto calc(var(--fs) * 6);
  background: #fffef8;
  border: double 4px #ccc;
  box-shadow: calc(var(--fs) * 1) calc(var(--fs) * 1) 0 calc(var(--rs) * 0) #ccc;
  outline: 3px solid #ccc;
  position: relative;
}
.campApp-outline-wrap hr {
  width: 100%;
  max-width: 100%;
  margin: 2em auto;
  border-color: #ddd;
}
/*campain outline _ title*/
.campApp-campTitle {
  padding: calc(var(--rs) * 1);
  background: 
    url("/cs/assets/image/bg/bg_ptrn_strp_oblq01_bright.png") 0 0 repeat
    ;
  color: #fff;
  font-size: calc(var(--fs) * 0.6 + var(--rs) * 2.4);
  line-height: 1.4;  
  text-align: center;
  text-shadow: 2px 2px 2px rgb(0 0 0 / 50%);
  position: relative;
}
.campApp-campTitle > * {
  margin: 0 0.2em;
  font-weight: bold;
  display: inline-block;
}
.campApp-campTitle > .logo-members {
  width: calc(var(--rs) * 8);
  position: absolute;
  right: calc(var(--fs) * -2.2);
  top: calc(var(--fs) * -1);
}
/*campain outline _ catch*/
.campApp-campCatch {
  padding: 0 2%;
  margin: 1em auto 0.5em;
  color: rgb(var(--c-cmpApp-grn) / 100%);
  font-family:"wf-tegaki";
  font-size: calc(var(--fs) * 0.8 + var(--rs) * 1.6);
  font-style: italic;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: 1.2;
  text-align: left;
}
.campApp-campCatchPoint::after {
  content: "";
  width: calc(var(--rs) * 8);
  height: calc(var(--rs) * 8);
  margin: -0.4em 0 -0.3em 0.25em;
  background: url(/cs/assets/image/app/ic_point-present.png) 0% 100% / contain no-repeat;
  display: inline-block;
}
.campApp-campCatchPoint {
  padding: 0 2%;
  color: rgb(var(--c-cmpApp-red) / 100%);
  font-size: calc(var(--fs) * 0.4 + var(--rs) * 3.6);
  font-weight: bold;
  text-align: left;
}
.campApp-campCatchPoint > b {
  padding: 0 calc(var(--rs) * 0.8) 0 0;
  margin-bottom: 0.5em;
  font-size: 135%;
  font-style: italic;
  line-height: 1.0;
  position: relative;
  bottom: -0.05em;
}
/*campain outline _ text*/
.campApp-campText {
  padding: 0 2%;
  margin: 1em auto;
  font-size: calc(var(--fs) * 0.6 + var(--rs) * 1.6);
  font-weight: bold;
  line-height: 1.8;
}
.campApp-campText span {
  padding: 0 calc(var(--rs) * 0.4);
  color: rgb(var(--c-cmpApp-red) / 100%);
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 3px;
  text-decoration-color: rgb(var(--c-cmpApp-red) / 100%);
  position: relative;
}
.campApp-campText b {
  font-size: 150%;
}
/*campaign outline*/
.campApp-outline {
  margin-top: calc(var(--fs) * 4);
  margin-bottom: calc(var(--fs) * 4);
}
.campApp-outline dt {
  width: 100%;
  padding: 0.5em 0.5em 0.5em;
  margin-bottom: 1em;
  background: url("/cs/assets/image/bg/bg_ptrn_strp_oblq01_bright.png") 0 0 repeat;
  border-radius: calc(var(--fs)* 1);
  color: #fff;
  font-size: calc(var(--fs) * 2.4);
  font-weight: bold;
  line-height: 1;
}
.campApp-outline dt::before {
  content: "\0025cf";
  margin-right: 0.25em;
  font-size: 87.5%;
  position: relative;
}
.campApp-outline dd + dt {
  margin-top: 2em;
}
.campApp-outline dd {
  padding: 0 2%;
  margin: 0.5em;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
}
.campApp-outline dd b {
  font-size: calc(var(--fs) * 2.4);
}
.campApp-outline dd b small {
  font-weight: bold;
}
.campApp-schedule li {
  margin: 0.5em 0;
}
.campApp-schedule span {
  padding: 0.15em 0.5em;
  margin-right: calc(var(--fs)* 1);
  background: rgb(var(--c-cmpApp-red) / 100%);
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  position: relative;
  top: -2px;
}
.camp-point {
  color: rgb(var(--c-cmpApp-pnk) / 100%);
}
/*campaign app down load*/
.campApp-outline-wrap .app-download {
  background: #fff;
  box-shadow: 1px 1px 4px rgb(50 50 50 / 50%) inset;
  width: 100%;
  padding: 1em;
  border-radius: calc(var(--rs)* 1);
  margin-top: calc(var(--fs)* 2);
}
/*cmapaign color change*/
.campApp-outline-wrap.outline-camp01 {
  box-shadow: calc(var(--fs) * 1) calc(var(--fs) * 1) 0 calc(var(--rs) * 0) rgb(var(--c-cmpApp-brw) / 80%);
}
.outline-camp01 {
  border-color: rgb(var(--c-cmpApp-red) / 100%);
  outline-color: rgb(var(--c-cmpApp-red) / 100%);
}
.outline-camp01 .campApp-campTitle { background-color: rgb(var(--c-cmpApp-red) / 100%);}
.outline-camp01 .campApp-outline dt { background-color: rgb(var(--c-cmpApp-brw) / 100%);}

/*outline in list*/
.campApp-list {
  padding-left: 0.5em;
  margin: 0.5em auto 1em;
  list-style: disc;
}
.campApp-list li {
  margin: 0.5em 1em;
  color: #333;
  font-size: calc(var(--fs) * 1.6);

}
/*-------------------------------
 app campaign - elements
---------------------------------*/
.campApp-outline-wrap > .campNotice {
  width: 98%;
}
.campNotice {
  padding-left: 1em;
  margin: 0.5em auto 0;
  color: #000;
  font-size: calc(var(--fs)* 1.3);
  line-height: 1.5;
  text-indent: -1em;
}
.campNotice li + li {
  margin-top: 0.25em;
}
.campNotice li a {
  color:var(--color-link-nml);
  font-weight: bold;
  text-decoration: underline;
}
.campNotice li a:hover {
  color: var(--color-link-nml-hover);
}
/*Notification Settings*/
.app-noticePR {
  margin: calc(var(--rs)* 4) auto 0;
  color: rgb(var(--c-cmpApp-red-drk) / 100%);
  font-size: calc(var(--fs)* 1.6 + var(--rs)* 2);
  letter-spacing: -0.05em;
  text-align: center;
}
.app-noticePR > b {
  font-size: 125%;
  display: inline-block;
  position: relative;
}
.app-noticePR > b::before,
.app-noticePR > b::after {
  content: "";
  width: 3px;
  height: 1em;
  background: rgb(var(--c-cmpApp-red-drk) / 100%);
  border-radius: 3px;
  position: absolute;
  bottom: 0.1em;
}
.app-noticePR > b::before {
  left: -0.7em;
  transform: rotate(-30deg);
}
.app-noticePR > b::after {
  right: -0.5em;
  transform: rotate(30deg);
}
/*-------------------------------
 app notice area
---------------------------------*/
.campApp-appNotice {
  width: min(100%, 88rem);
  padding: 1em;
  padding-left: 1.5em;
  margin: 0 auto;
  background: #ffe4e8; /*normal*/
  /*background: rgb(var(--c-cmpApp-pnk) / 30%);*/
}
/*-------------------------------
 app privacy
---------------------------------*/
.campApp-privacy {
  width: 98%;
  padding: 0.5em 0.75em;
  margin: 1em auto;
  background: rgb(255 255 255 / 50%);
  border: 1px solid rgb(0 0 0 / 30%);
  font-size: calc(var(--fs) * 1.2);
}