@charset "UTF-8";

:root {
  --color-key1: #daedd9;
  --color-key2: #abf3f3;
  --color-key3: #2f3c4b;
  --color-key4: #00bfb8;
  --color-white: #fff;
  --color-black: #232122;
  --color-gray: #e8e8e8;
  --color-lightGray: #f5f6f7;
  --color-red: #c51818;
  --color-yellow: #FFEC00;
  --color-blue: #0075c2;
  --color-orange: #fec133;
}

a * {
  pointer-events: none;
}

/* layout */
.separate {
  padding: min(12.8vw, 96px) 0;
}

@media print,
screen and (min-width: 751px) {
  .separate {
    padding: min(7.27vw, 80px) 0;
  }
}

.separate--bgcKey2 {
  background-color: var(--color-key2);
}

.separate--bgcGray {
  background-color: var(--color-lightGray);
}

/* font size */
.hp_fontSz14 {
  font-size: 1.08em;
}

@media print,
screen and (min-width: 751px) {
  .hp_fontSz14 {
    font-size: 0.88em;
  }
}

.hp_fontSz16 {
  font-size: 1em;
}

@media print,
screen and (min-width: 751px) {
  .hp_fontSz16 {
    font-size: 1em;
  }
}

.hp_fontSz18 {
  font-size: 1.15em;
}

@media print,
screen and (min-width: 751px) {
  .hp_fontSz18 {
    font-size: 1.13em;
  }
}

/* margin */
.hp_mt20 {
  margin-top: min(2.66vw, 20px) !important;
}

@media print,
screen and (min-width: 751px) {
  .hp_mt20 {
    margin-top: 20px !important;
  }
}

/* marker */
.hp_text-marker {
  background: var(--color-yellow);
  background: -webkit-gradient(linear, left bottom, left top, from(var(--color-yellow)), color-stop(35%, var(--color-yellow)), color-stop(35%, transparent));
  background: linear-gradient(0deg, var(--color-yellow) 0%, var(--color-yellow) 35%, transparent 35%);
}

/* Btn */
.el_campaignBtn {
  font-size: 1.38em;
  display: grid;
  place-content: center;
}

@media print,
screen and (min-width: 751px) {
  .el_campaignBtn {
    width: 54.54vw;
    max-width: 600px;
    font-size: 1.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
  }
}

.el_campaignBtn--fontSz-s {
  font-size: 0.72em;
  font-weight: normal;
}

@media print,
screen and (min-width: 751px) {
  .el_campaignBtn--fontSz-s {
    font-size: 0.67em;
  }
}

/* ふきだし */
.el_campaignFukidashi {
  display: inline-grid;
  place-content: center;
  padding: min(2vw, 15px) min(3.33vw, 25px);
  font-weight: bold;
  background-color: var(--color-key1);
  border-radius: min(4.26vw, 32px);
  text-align: center;
  line-height: 1.3;
}

@media print,
screen and (min-width: 751px) {
  .el_campaignFukidashi {
    padding: 15px 20px;
    font-size: 1.13em;
    border-radius: 24px;
  }
}

.el_campaignFukidashi--right {
  border-bottom-right-radius: 0;
}

.el_campaignFukidashi--left {
  border-bottom-left-radius: 0;
}

.el_campaignFukidashi_yellow {
  display: inline-grid;
  place-content: center;
  padding: min(4vw, 30px) min(3.33vw, 25px);
  font-size: 160%;
  font-weight: bold;
  background-color: var(--color-yellow);
  border-radius: min(12vw, 50px);
  text-align: center;
  line-height: 1.3;
  width: 100%;
}

@media print,
screen and (min-width: 751px) {
  .el_campaignFukidashi_yellow {
    padding: 15px 15px;
    font-size: 1.5em;
    border-radius: 50px;
  }
}

.el_campaignFukidashi_yellow--right {
  border-bottom-right-radius: 0;
}

.el_campaignFukidashi_yellow--left {
  border-bottom-left-radius: 0;
}

/* アイコン */
.el_campaignIcon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  -webkit-transform: translateY(0.2em);
  transform: translateY(0.2em);
}

.el_inlineIcon {
  display: inline-block;
  padding-bottom: 0.1em;
  vertical-align: middle;
  width: 2.56em;
  margin: 0 3px;
}

@media print,
screen and (min-width: 751px) {
  .el_inlineIcon {
    width: min(5.81vw, 64px);
  }
}

/* 基本フォントサイズ */
.campaign {
  font-size: clamp(0.81rem, 0rem + 3.47vw, 1.63rem);
}

@media print,
screen and (min-width: 751px) {
  .campaign {
    font-size: clamp(0.81rem, 0.41rem + 0.86vw, 1rem);
  }
}

/* 別窓アイコン小 */
@media print,
screen and (min-width: 751px) {
  .textLinkIco-blank::before {
    top: 0.1em;
    width: min(2.360156vw, 20px);
  }
}

/* オーバーライド */
.chapterHeading::after {
  background: #e8e8e8;
}

/* アンカーリンク
-----------------------------------*/
html {
  scroll-padding-top: 110px;
}

.navi {
  background: var(--color-key4);
  padding: 15px 0;
  position: sticky;
  width: 100%;
  z-index: 1000;
  top: 0;
}

@media print,
screen and (max-width: 750px) {
  .navi {
    padding: 10px 0;
  }
}

.navi ul {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.navi li {
  padding: 0 20px;
  border-left: #fff 1px solid;
}

@media print,
screen and (max-width: 1200px) {
  .navi li {
    padding: 0 10px;
  }
}

.navi li:not(.last) {
  width: 220px;
  font-size: 1.5em;
  position: relative;
}

@media print,
screen and (max-width: 1200px) {
  .navi li:not(.last) {
    font-size: 1.2em !important;
    width: 18%;
  }
}

@media print,
screen and (max-width: 750px) {
  .navi li:not(.last) {
    width: 24%;
  }
}

.navi li:not(.last) a {
  color: #fff;
  font-weight: bold;
  text-align: center;
  display: block;
  padding-top: 8px;
  height: 100%;
}

@media print,
screen and (max-width: 1200px) {
  .navi li:not(.last) a {
    padding-top: 10px;
  }
}

@media print,
screen and (max-width: 750px) {
  .navi li:not(.last) a {
    padding-top: 0px;
    padding-bottom: 15px;
  }
}

.navi li:not(.last) a:hover {
  background: #198c8a;
}

.navi li:not(.last) a::after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left: calc(50% - 5px);
  bottom: 4px;
}

@media print,
screen and (max-width: 1200px) {
  .navi li:not(.last) a::after {
    width: 6px;
    height: 6px;
    left: calc(50% - 3px);
  }
}

@media print,
screen and (max-width: 1200px) {
  .navi li:first-of-type {
    border-left: none;
  }
}

.navi li:nth-of-type(3) {
  font-size: 1.3em;
  line-height: 1.2;
}

@media print,
screen and (max-width: 750px) {
  .navi li:nth-of-type(3) {
    width: 28%;
    font-size: 0.9em !important;
  }
}

.navi li:nth-of-type(3) a {
  padding-top: 4px !important;
}

.navi .last {
  border-right: #fff 1px solid;
}

@media print,
screen and (max-width: 1200px) {
  .navi .last {
    border-right: none;
    width: 28%;
  }
}

@media print,
screen and (max-width: 750px) {
  .navi .last {
    display: none;
  }
}

.navi .last a {
  width: 280px;
  display: block;
  line-height: 1;
  border-radius: 0%;
  padding-top: 10px;
  padding-bottom: 14px;
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media print,
screen and (max-width: 1200px) {
  .navi .last a {
    width: 100%;
    font-size: 1.2em;
    padding-left: 35px;
    padding-right: 20px;
  }
}

.navi .last a span {
  font-size: 0.6em;
}

/* ページトップボタン調整 */
@media print,
screen and (max-width: 750px) {
  .pagetopBtn {
    bottom: 29.1538461538vw;
  }
}

/* フッター調整 */
@media print,
screen and (max-width: 750px) {
  .globalFooter_bottom {
    padding: 10.2564102564vw 0 30.3846153846vw;
  }
}

/* 終了対応
-----------------------------------*/
.campaignEnd {
  margin: min(5.3333333vw, 20px) auto;
}

@media print,
screen and (min-width: 751px) {
  .campaignEnd {
    margin: min(2.5390625vw, 26px) auto;
  }
}

.campaignEnd-inner {
  padding: 0 min(4vw, 15px);
}

@media print,
screen and (min-width: 751px) {
  .campaignEnd-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 min(2.27vw, 25px);
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
  }
}

.content .campaignEnd-inner {
  padding: 0;
}

.campaignEnd-inner p {
  font-size: 1.13em;
}

@media print,
screen and (min-width: 751px) {
  .campaignEnd-inner p {
    font-size: 1.25em;
  }
}

/* SP用エントリーボタン（フロート要素）
-----------------------------------*/
@media print,
screen and (max-width: 750px) {
  .spFlowEntry {
    position: fixed;
    bottom: 0;
    left: 0;
    padding: 3.8461538462vw 3.8461538462vw;
    width: 100%;
    background-color: #fff;
  }
}

@media print,
screen and (max-width: 750px) {
  .spFlowEntry .spFlowEntry_btn {
    display: block;
    position: relative;
    padding: 3.076923vw 9.2307692308vw 3.0769230769vw 5.1282051282vw !important;
    line-height: 1.3;
    font-size: clamp(14px, 4.358974359vw, 33px);
  }
}

@media print,
screen and (max-width: 750px) {
  .spFlowEntry .spFlowEntry_btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 17vw;
    border-radius: 2px;
    padding-top: 6.4102564103vw;
    width: 10.2564102564vw;
    background-size: cover;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

/* Title
-----------------------------------*/
.campaignTtl {
  font-size: 2em;
  font-weight: bold;
  text-align: center;
  margin-bottom: min(8vw, 60px);
}

@media print,
screen and (min-width: 751px) {
  .campaignTtl {
    font-size: 3em;
    margin-bottom: min(5.45vw, 60px);
  }
}

.campaignTtl>span {
  color: #fff;
  background-color: #008FD2;
  padding: 0.3em 1.5em;
}

.campaignTtl--underline {
  position: relative;
  padding-bottom: min(6.66vw, 50px);
}

@media print,
screen and (min-width: 751px) {
  .campaignTtl--underline {
    padding-bottom: min(4.54vw, 50px);
  }
}

.campaignTtl--underline::after {
  content: "";
  width: min(20.53vw, 154px);
  height: clamp(0.06rem, 0.03rem + 0.14vw, 0.13rem);
  background-color: #222;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media print,
screen and (min-width: 751px) {
  .campaignTtl--underline::after {
    width: min(14vw, 154px);
    height: 2px;
  }
}

/* mainVisual
-----------------------------------*/
.campaignHeader-mainvisual {
  text-align: center;
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-mainvisual {
    margin: min(2.27vw, 25px);
  }
}

.campaignHeader-mainvisual_img {
  display: block;
}

.campaignHeader-mainvisual_img>img {
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.campaignHeader-contents {
  margin-top: min(5.33vw, 40px);
  margin-bottom: clamp(1.75rem, 0.23rem + 6.48vw, 4.69rem);
}

.campaignHeader-label {
  display: grid;
  place-content: center;
  padding: 0.5em;
  color: var(--color-white);
  font-weight: bold;
  background: var(--color-red);
  border-radius: min(1.06vw, 8px);
  margin-left: -1.9230769231vw;
  margin-right: -1.9230769231vw;
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-label {
    font-size: 1.25em;
    margin: auto;
    border-radius: 4px;
  }
}

.campaignHeader-period {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: min(2.66vw, 20px) 0;
  margin-top: min(2.66vw, 20px);
  margin-bottom: min(8vw, 60px);
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period {
    gap: 15px 0;
    margin-top: min(2.72vw, 30px);
    margin-bottom: min(3.63vw, 40px);
  }
}

.campaignHeader-period .w-space {
  white-space: nowrap;
}

.campaignHeader-period_ttl {
  -ms-flex-preferred-size: 26.81%;
  flex-basis: 26.81%;
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_ttl {
    -ms-flex-preferred-size: 24.35%;
    flex-basis: 24.35%;
    min-height: 74px;
  }
}

.campaignHeader-period_ttl:first-of-type {
  background-color: var(--color-key2);
}

.campaignHeader-period_ttl.el_campaignFukidashi {
  padding-left: min(1.33vw, 10px);
  padding-right: min(1.33vw, 10px);
  font-size: clamp(0.75rem, -0.13rem + 3.73vw, 1.63rem);
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_ttl.el_campaignFukidashi {
    font-size: 1.13em;
  }
}

.campaignHeader-period_date-wrapper {
  -ms-flex-preferred-size: 66.66%;
  flex-basis: 66.66%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: -0.04em;
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date-wrapper {
    -ms-flex-preferred-size: 71.79%;
    flex-basis: 71.79%;
  }
}

.campaignHeader-period_date {
  display: grid;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
  font-weight: bold;
  line-height: 1.1;
}

.campaignHeader-period_date:not(:first-of-type) {
  position: relative;
  margin-left: calc(1em + 10px);
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date:not(:first-of-type) {
    margin-left: calc(1.25em + 10px);
  }
}

.campaignHeader-period_date:not(:first-of-type)::before {
  content: "～";
  position: absolute;
  bottom: 0.1em;
  left: calc(-1em - 5px);
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date:not(:first-of-type)::before {
    font-size: 1.25em;
  }
}

.campaignHeader-period_date-year {
  font-size: clamp(0.69rem, 0rem + 2.93vw, 1.38rem);
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date-year {
    font-size: 1.13em;
  }
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date-md {
    font-size: 1.25em;
  }
}

.campaignHeader-period_date-md .num {
  font-size: 1.62em;
  font-weight: 900;
}

@media print,
screen and (min-width: 751px) {
  .campaignHeader-period_date-md .num {
    font-size: 1.9em;
  }
}

.campaignHeader-period_date-md .num2 {
  font-size: 1.12em;
}

/* 賞品
-----------------------------------*/
.campaignPrize {
  overflow: hidden;
  padding-bottom: min(12.8vw, 96px);
  border-radius: min(4vw, 30px);
  background-color: var(--color-white);
  -webkit-box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.09);
  box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.09);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize {
    padding-bottom: min(7.27vw, 80px);
    border-radius: 30px;
  }
}

.campaignPrize+.campaignPrize {
  margin-top: 7.6923076923vw;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize+.campaignPrize {
    margin-top: min(3.90625vw, 40px);
  }
}

.campaignPrize-ttl {
  color: var(--color-white);
  background-color: #198c8a;
  border-bottom: clamp(0.25rem, 0rem + 1.07vw, 0.5rem) solid #ffde00;
  text-align: center;
  padding: min(1.86vw, 14px);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-ttl {
    padding: 10px;
    border-bottom-width: 8px;
  }
}

.campaignPrize-ttl .lsSS {
  letter-spacing: 0;
}

.campaignPrize-ttl .lsS {
  letter-spacing: 0.06em;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-ttl .lsS {
    letter-spacing: 0.2em;
  }
}

.campaignPrize-ttl .lsM {
  letter-spacing: 0.6em !important;
}

.campaignPrize-ttl .lsL {
  letter-spacing: 1.2em !important;
}

.campaignPrize-ttl>span {
  display: inline-block;
  font-size: clamp(1.38rem, 0rem + 5.87vw, 2.75rem);
  font-weight: bold;
  letter-spacing: 0.6em;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-ttl>span {
    font-size: 2.25em;
  }
}

.campaignPrize-contents {
  max-width: 860px;
  margin: 0 auto;
  padding: min(6.66vw, 50px) min(5.33vw, 40px) 0;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-contents {
    padding-top: min(3.63vw, 40px);
  }
}

.campaignPrize-fukidashi {
  margin-bottom: min(4vw, 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1em;
  text-align: center;
  font-size: 1.23em;
  font-weight: bold;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-fukidashi {
    margin-bottom: min(1.81vw, 20px);
    font-size: 1.5em;
    gap: 1.4em;
  }
}

.campaignPrize-fukidashi>span {
  display: inline-block;
  padding-bottom: 0.4em;
}

.campaignPrize-fukidashi::before,
.campaignPrize-fukidashi::after {
  content: "";
  width: min(0.53vw, 4px);
  height: 2.66em;
  background-color: var(--color-black);
}

@media print,
screen and (min-width: 751px) {

  .campaignPrize-fukidashi::before,
  .campaignPrize-fukidashi::after {
    width: 3px;
    height: 3.54em;
  }
}

.campaignPrize-fukidashi::before {
  -webkit-transform: rotate(-25deg);
  transform: rotate(-25deg);
}

.campaignPrize-fukidashi::after {
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
}

.campaignPrize-item {
  padding: min(7.33vw, 55px) min(6.66vw, 50px);
  border: min(0.8vw, 6px) solid var(--color-gray);
  border-radius: min(2.66vw, 20px);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item {
    padding: min(5.45vw, 60px) min(7.27vw, 80px);
    border-width: 3px;
    border-radius: 20px;
  }
}

.campaignPrize-item+.campaignPrize-item {
  margin-top: min(5.33vw, 40px);
}

.campaignPrize-item_ttl {
  margin-bottom: min(8vw, 60px);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_ttl {
    margin-bottom: min(3.27vw, 36px);
  }
}

.campaignPrize-item_ttl>span {
  display: inline-block;
  padding: 0.3em 1em;
  color: var(--color-white);
  font-size: 1.15em;
  font-weight: bold;
  background-color: var(--color-key4);
  border-radius: 50vw;
  border-bottom-left-radius: 0;
  -webkit-box-shadow: 0.19em 0.19em 0px 0px var(--color-key2);
  box-shadow: 0.19em 0.19em 0px 0px var(--color-key2);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_ttl>span {
    font-size: 1.88em;
  }
}

.campaignPrize-item_img {
  margin: min(2.66vw, 20px) auto;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_img {
    margin: min(1.81vw, 20px) auto;
  }
}

.campaignPrize-item_img>img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 90%;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_img>img {
    max-width: 440px;
  }
}

.campaignPrize-item_lead {
  font-size: 1.7em;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  color: #2f3c4b;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_lead {
    font-size: 2.8em;
  }
}

.campaignPrize-item_lead .num {
  font-size: 1.56em;
}

.campaignPrize-item_lead .point {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 1.94em;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-key3);
  padding-right: 0.2em;
}

.campaignPrize-item_lead .point2 {
  font-size: 3.4em;
  font-weight: 800;
  color: #198c8a;
  padding-right: 0.1em;
}

.campaignPrize-item_line {
  border: none;
  border-top: clamp(0.06rem, 0rem + 0.27vw, 0.13rem) solid var(--color-gray);
  margin: min(5.33vw, 40px) auto;
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize-item_line {
    border-top-width: 1px;
    margin: 30px auto;
  }
}

.campaignPrize-contents-participate dl {
  border: min(0.29vw, 3px) solid #e7e7e7;
  border-radius: min(1.95vw, 20px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

@media print,
screen and (max-width: 750px) {
  .campaignPrize-contents-participate dl {
    border-width: 0.8vw;
    border-radius: 4vw;
    display: block;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    align-items: normal;
  }
}

.campaignPrize-contents-participate dl+dl {
  margin-top: min(1.95vw, 20px);
}

@media print,
screen and (max-width: 750px) {
  .campaignPrize-contents-participate dl+dl {
    margin-top: 4vw;
  }
}

.campaignPrize-contents-participate dl dt {
  width: 25%;
  text-align: center;
  background-color: #ffde00;
  font-weight: bold;
  font-size: min(2.34vw, 24px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: min(1.66vw, 17px) 0 0 min(1.66vw, 17px);
}

@media print,
screen and (max-width: 750px) {
  .campaignPrize-contents-participate dl dt {
    width: auto;
    font-size: 4.8vw;
    display: block;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    align-items: normal;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    border-radius: 3.2vw 3.2vw 0 0;
    padding: 1.33vw 0;
  }
}

.campaignPrize-contents-participate dl dd {
  width: 75%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: min(2.92vw, 30px);
}

@media print,
screen and (max-width: 750px) {
  .campaignPrize-contents-participate dl dd {
    width: auto;
    padding: 4vw 5.33vw;
  }
}

.campaignPrize-contents-participate dl dd p.step_txt {
  font-size: min(2.14vw, 22px);
  font-weight: bold;
}

@media print,
screen and (max-width: 750px) {
  .campaignPrize-contents-participate dl dd p.step_txt {
    font-size: 4vw;
  }
}

.campaignPrize .compartment {
  margin-top: min(3.46vw, 26px);
}

@media print,
screen and (min-width: 751px) {
  .campaignPrize .compartment {
    margin-top: min(3.63vw, 40px);
  }
}

.chargexview_deco-invitation {
  position: relative;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: min(1.33vw, 10px);
}

@media print,
screen and (min-width: 751px) {
  .chargexview_deco-invitation {
    gap: min(0.9vw, 10px);
  }
}

.chargexview_deco-invitation>span,
.chargexview_deco-invitation::before {
  position: relative;
  z-index: 1;
}

.chargexview_deco-invitation>span {
  -ms-flex-item-align: center;
  align-self: center;
  padding-bottom: 0.6em;
}

@media print,
screen and (min-width: 751px) {
  .chargexview_deco-invitation>span {
    padding-bottom: 0;
  }
}

.chargexview_deco-invitation::before {
  -ms-flex-item-align: end;
  align-self: flex-end;
  content: "";
  width: min(21.33vw, 160px);
  height: min(15.2vw, 114px);
  background: url(/card/campaign/chargexview2025/img/img_invitation-only.png) no-repeat center bottom/contain;
  left: -10px;
}

@media print,
screen and (min-width: 751px) {
  .chargexview_deco-invitation::before {
    width: min(9.09vw, 100px);
    height: min(6.45vw, 71px);
  }
}

.chargexview_deco-invitation::after {
  position: absolute;
  left: 0;
  bottom: 0;
}

/* オートチャージ
-----------------------------------*/
.aboutAutocharge .frameUnit_primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}

.aboutAutocharge .frameUnit_primary strong {
  font-size: 1.2em;
  color: #198c8a;
}

.aboutAutocharge .frameUnit_img {
  width: min(50.66vw, 380px);
  height: auto;
}

@media print,
screen and (min-width: 751px) {
  .aboutAutocharge .frameUnit_img {
    width: min(25.45vw, 280px);
  }
}

/* ご利用方法
-----------------------------------*/
.howtoApp-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.6em;
}

.howtoApp-headingNum {
  display: inline-grid;
  place-items: center;
  width: 6em;
  padding: 0.6em;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 50vw 50vw 50vw 0;
  font-family: "Montserrat", sans-serif;
  font-size: min(3.73vw, 1.75em);
  line-height: 1;
}

@media print,
screen and (min-width: 751px) {
  .howtoApp-headingNum {
    font-size: min(1.81vw, 1.25em);
  }
}

.howtoApp-headingText {
  font-size: 1.06em;
  font-weight: bold;
}

@media print,
screen and (min-width: 751px) {
  .howtoApp-headingText {
    font-size: 1.38em;
  }
}

.howtoApp-flow {
  counter-reset: flowNum;
  display: grid;
  grid-template-columns: 1fr;
  gap: min(5.33vw, 40px);
}

@media print,
screen and (min-width: 751px) {
  .howtoApp-flow {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

.howtoApp-flowItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.6em;
}

.howtoApp-flowItemImage {
  text-align: center;
  vertical-align: bottom;
}

.howtoApp-flowItemImage>img {
  max-width: 100%;
}

.howtoApp-flowItemText {
  padding-left: 3em;
  font-size: 0.85em;
  position: relative;
}

@media print,
screen and (min-width: 751px) {
  .howtoApp-flowItemText {
    font-size: 0.94em;
  }
}

.howtoApp-flowItemText::before {
  counter-increment: flowNum 1;
  content: counter(flowNum);
  display: inline-grid;
  place-items: center;
  width: 1.6em;
  height: 1.6em;
  font-size: 1.4em;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  border: 1px solid var(--color-black);
  border-radius: 50vw;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateY(-18%);
  transform: translateY(-18%);
}

/* 商品一例
-----------------------------------*/
.goodsList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: min(4vw, 30px);
}

@media print,
screen and (min-width: 751px) {
  .goodsList {
    grid-template-columns: repeat(3, 1fr);
  }
}

.goodsItem {
  text-align: center;
}

.goodsItem img {
  max-width: 100%;
  vertical-align: bottom;
  outline: 1px solid var(--color-gray);
}

.goodsItem figcaption {
  margin-top: 0.6em;
  font-weight: bold;
}

/* エントリー方法
-----------------------------------*/
.campaignEntry-lead {
  text-align: left;
}

@media print,
screen and (min-width: 751px) {
  .campaignEntry-lead {
    text-align: center;
  }
}

.campaignEntry-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.6em 1.4em;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media print,
screen and (min-width: 751px) {
  .campaignEntry-link {
    font-size: 0.88em;
  }
}

/* 注意事項
-----------------------------------*/
@media print,
screen and (min-width: 751px) {
  .campaignNotes {
    font-size: 1em;
  }
}

/* 通学定期券の購入もおトクに！
-----------------------------------*/
.btn_point .btn_mobile img {
  max-width: 95px;
  vertical-align: middle;
}

.btn_point .btn_jre img {
  max-width: 145px;
  vertical-align: middle;
}

/* campaignFooter
-----------------------------------*/
.campaignFooter {
  padding: min(13.33vw, 100px) 0 min(12vw, 90px);
}

@media print,
screen and (min-width: 751px) {
  .campaignFooter {
    padding: min(5.45vw, 60px) 0 min(9.09vw, 100px);
    border-bottom: 1px solid var(--color-gray);
  }
}

/* chargexview
-----------------------------------*/
.chargexview_chapterHeading {
  margin-top: -4vw;
}

@media print,
screen and (min-width: 751px) {
  .chargexview_chapterHeading {
    margin-top: 0;
  }
}

.chargexview_box1 ul {
  margin-bottom: 6.66vw;
}

@media print,
screen and (min-width: 751px) {
  .chargexview_box1 ul {
    margin-bottom: 25px;
  }
}

.chargexview_box1 ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.chargexview_box1 ul li strong {
  background-color: #008CD0;
  color: #fff;
  display: block;
  padding: 1.6vw 2.93vw 2.4vw;
  line-height: 1;
  font-size: 4.53vw;
  border-radius: 2.13vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print,
screen and (min-width: 751px) {
  .chargexview_box1 ul li strong {
    padding: 6px 11px 9px;
    font-size: 17px;
    border-radius: 8px;
  }
}

.icon-view {
  width: 11.2vw;
  height: auto;
  vertical-align: middle;
  margin: -1.06vw 1.33vw 0 0.8vw;
}

@media print,
screen and (min-width: 751px) {
  .icon-view {
    width: 42px;
    height: auto;
    margin: -4px 5px 0 3px;
  }
}

.img_point_use {
  width: 100%;
  max-width: 280px;
  height: auto;
}

@media print,
screen and (min-width: 751px) {
  .img_point_use {
    max-width: 400px;
  }
}

.point_use_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5%;
}

@media print,
screen and (min-width: 751px) {
  .point_use_box {
    gap: 8%;
  }
}

.point_use_box li {
  width: 30%;
  text-align: center;
}

@media print,
screen and (min-width: 751px) {
  .point_use_box li {
    width: 20%;
  }
}

.point_use_box li p {
  font-weight: bold;
  font-size: 4.53vw;
}

@media print,
screen and (min-width: 751px) {
  .point_use_box li p {
    font-size: 19px;
  }
}

.point_use_box li figure img {
  width: 100%;
  max-width: 150px;
  height: auto;
}

.point_use_box li figure.img_point_use22 {
  padding-top: 5.33vw;
}

@media print,
screen and (min-width: 751px) {
  .point_use_box li figure.img_point_use22 {
    padding-top: 27px;
  }
}

.point_use_box li figure.img_point_use23 {
  padding-top: 1.33vw;
}

@media print,
screen and (min-width: 751px) {
  .point_use_box li figure.img_point_use23 {
    padding-top: 5px;
  }
}

/* try-teppay
-----------------------------------*/
.try-teppay p {
  text-align: center;
  font-size: min(1.82vw, 20px);
}

.try-teppay .try-teppay-img {
  display: block;
  margin: min(2.73vw, 30px) auto;
}

.try-teppay ul {
  background-color: #f1f1f1;
  margin: min(3.64vw, 40px) 0 min(1.82vw, 20px);
  padding: min(3.64vw, 40px) 0;
  border-radius: min(1.36vw, 15px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: min(3.64vw, 40px);
}

.try-teppay ul li img {
  display: block;
  margin: 0 auto;
}

.try-teppay ul li .appbtn {
  height: min(7.27vw, 80px);
  width: auto;
}

.try-teppay ul li .qrimg {
  height: min(16.36vw, 180px);
  width: auto;
  margin-top: min(2.27vw, 25px);
}

@media print,
screen and (max-width: 750px) {
  .try-teppay p {
    text-align: left;
    font-size: 4vw;
  }

  .try-teppay .try-teppay-img {
    margin: 5.33vw auto;
  }

  .try-teppay ul {
    margin: 8vw 0 5.33vw;
    padding: 8vw 0;
    border-radius: 2.67vw;
    display: block;
  }

  .try-teppay ul li {
    width: 80%;
    margin: 0 auto;
  }

  .try-teppay ul li+li {
    margin-top: 5.33vw;
    border-top: 1px solid #ccc;
    padding-top: 5.33vw;
  }

  .try-teppay ul li .appbtn {
    height: 16vw;
    width: auto;
  }

  .try-teppay ul li .qrimg {
    height: 34.67vw;
    width: auto;
    margin-top: 2.67vw;
  }
}

/* cp-category */
.cp-category .cp-color {
  margin: 20px 3%;
  font-weight: bold;
  font-size: 5vw;
  color: var(--color-white);
  text-align: center;
  padding: min(1.86vw, 14px) min(1.86vw, 14px) min(1.86vw, 14px) 0;
}

@media print,
screen and (min-width: 751px) {
  .cp-category .cp-color {
    margin: 20px 0;
    font-size: 2.25em;
    padding: 10px;
  }
}

.cp-category .txt-area {
  margin: 3%;
  /*margin: 3% 3% 5%;
  padding: 0 0 3% 0;
  border-bottom: solid 3px #A0A0A0;*/
  font-size: 90%;
}

.cp-category .txt-areaEnd {
  margin: 3% 3% 0px;
  padding: 0 0 3% 0;
  font-size: 90%;
}

.cp-category img {
  width: 100%;
  margin-bottom: 1%;
  display: block;
}

.cp-color-vss {
  background-color: #0097df !important;
}

@media print,
screen and (min-width: 751px) {
  .cp-category .txt-area {
    font-size: 100%;
  }

  .cp-category .txt-areaEnd {
    font-size: 100%;
  }
}



.about_acc {
  border: min(0.29vw, 3px) solid #e7e7e7;
  border-radius: min(1.95vw, 20px);
  margin-top: min(1.95vw, 20px);
  padding: min(2.92vw, 30px);
}

@media print,
screen and (max-width: 750px) {
  .about_acc {
    border-width: 0.8vw;
    border-radius: 4vw;
    margin-top: 4vw;
    padding: 4vw 5.33vw;
  }
}

.about_acc h3 {
  text-align: center;
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 20px;
  line-height: 1;
}
.about_acc h3 img {
  width: 155px;
  height: auto;
  vertical-align: middle;
  margin: -7px 5px 0 0;
}

.about_acc .about_acc_toggle {
  cursor: pointer;
  background: var(--color-key2) url("/card/campaign/teppay2026/img/ac-toggle-open.svg") no-repeat right 20px center;
  background-size: 25px auto;
  font-size: 19px;
  font-weight: 900;
  text-align: left;
  padding: 20px 30px 25px;
  transition: opacity 0.4s;
}

.about_acc .about_acc_toggle:hover {
  opacity: 0.6;
  transition: opacity 0.4s;
}

.about_acc .about_acc_toggle.is-open {
  background: var(--color-key2) url("/card/campaign/teppay2026/img/ac-toggle-close.svg") no-repeat right 20px center;
  background-size: 25px auto;
}

.about_acc_toggle img {
  width: 70%;
  height: auto;
  display: block;
  margin: 20px auto 0;
  border: 5px solid #fff;
  border-radius: 50px;
}

.about_acc_body {
  background: var(--color-key2);
  padding: 10px 40px 40px;
  margin-bottom: 10px;
}

.about_acc_body .about_teppay_p1 {
  font-size: 16px;
  line-height: 1.6;
}

.about_acc_body .about_teppay_p2 {
  font-size: 18px;
  line-height: 1.6;
  font-weight: 600;
  margin: 0 0 10px;
  text-align: center;
}

.about_acc_body .about_teppay_p2 sup {
  font-size: 16px;
}

.about_acc_body .about_teppay_p3 {
  font-size: 15px;
  line-height: 1.7;
}
.about_teppay_p4 + .about_teppay_p4 {
  margin-top: 1em;
}

.about_acc_body .about_teppay_p3 span {
  font-size: 14px;
  display: block;
  margin-top: 5px;
}

.about_acc_body ul {
  display: flex;
  justify-content: space-between;
  margin: 25px 0 0 !important;
  padding: 0 !important;
}

.about_acc_body ul li {
  width: 48%;
  border-radius: 30px;
  background-color: #fff;
  padding: 25px;
}

@media only screen and (max-width: 750px) {

.about_acc {
    padding: 5vw;
  }
.about_acc h3 {
  font-size: 4.6vw;
  margin: 0 0 3vw;
}
.about_acc h3 img {
  width: 30vw;
  height: auto;
  margin: -1.3vw 1vw 0 0;
}
  .about_acc .about_acc_toggle {
    background: var(--color-key2) url("/card/campaign/teppay2026/img/ac-toggle-open.svg") no-repeat right 4vw center;
    background-size: 5vw auto;
    font-size: 4.6vw;
    padding: 3vw 10vw 4vw 3.5vw;
    line-height: 1.5;
  }

  .about_acc .about_acc_toggle:hover {
    opacity: 1;
  }
  .about_acc .about_acc_toggle.is-open {
    background: var(--color-key2) url("/card/campaign/teppay2026/img/ac-toggle-close.svg") no-repeat right 4vw center;
    background-size: 5vw auto;
  }
.about_acc_toggle img {
  width: 100%;
  height: auto;
  margin: 5.3333vw auto 0;
  border: 0.8vw solid #fff;
  border-radius: 6vw;
}
  .about_acc_body {
    padding: 3vw 4vw 5.3333vw;
    margin-bottom: 2.6667vw;
  }

  .about_acc_body .about_teppay_p1 {
    font-size: 3.7333vw;
  }

  .about_acc_body .about_teppay_p2 {
    font-size: 4.2vw;
    margin: 0 0 2.6667vw;
  }

  .about_acc_body .about_teppay_p2 sup {
    font-size: 4.2667vw;
  }

  .about_acc_body .about_teppay_p3 {
    font-size: 4vw;
    line-height: 1.7;
  }
  .about_teppay_p4 {
    font-size: 3.2vw;
    line-height: 1.7;
    padding-left: 1em;
    text-indent: -1em;
  }

  .about_acc_body .about_teppay_p3 span {
    font-size: 3.2vw;
    margin-top: 2.1333vw;
  }

  .about_acc_body ul {
    display: block;
    margin: 5.3333vw 0 0 !important;
  }

  .about_acc_body ul li {
    width: auto;
    border-radius: 8vw;
    padding: 4vw;
  }
  .about_acc_body ul li + li {
    margin-top: 5.3333vw;
  }
}