@charset "UTF-8";

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

img {
  height: auto;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd,
figure {
  margin: 0;
  font-weight: 700;
}

ul,
ol {
  padding: 0;
}

ul,
ol,
li {
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
  vertical-align: bottom;
}

button,
input,
select,
textarea {
  font: inherit;
  padding: 0;
  margin: 0;
}

button {
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
  letter-spacing: 0.08em;
}

sup {
  font-size: 60%;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  background-color: #fff;
  color: #444;
  font-weight: 700;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, Verdana, sans-serif;
  margin-bottom: var(--fixed-cta-height);
  letter-spacing: 0.08em;
}

.intext-link {
  text-decoration: underline;
  color: #003f98;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}

.modal-container:focus {
  outline: none;
}

@media only screen and (min-width: 641px) {
  .show-small {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .hide-small {
    display: none !important;
  }
}

:root {
  --color-primary: #e45183;
  --color-accent: #e60012;
}
.color-primary {
  color: var(--color-primary);
}
.color-accent {
  color: var(--color-accent);
}

/* 390px size with px fallback */
:root {
  --pixel01: min(0.2564102564102564vw, 1px);
  --pixel02: min(0.5128205128205128vw, 2px);
  --pixel03: min(0.7692307692307693vw, 3px);
  --pixel04: min(1.0256410256410255vw, 4px);
  --pixel05: min(1.282051282051282vw, 5px);
  --pixel06: min(1.5384615384615385vw, 6px);
  --pixel07: min(1.794871794871795vw, 7px);
  --pixel08: min(2.051282051282051vw, 8px);
  --pixel09: min(2.3076923076923075vw, 9px);
  --pixel10: min(2.564102564102564vw, 10px);
  --pixel11: min(2.8205128205128207vw, 11px);
  --pixel12: min(3.076923076923077vw, 12px);
  --pixel13: min(3.3333333333333335vw, 13px);
  --pixel14: min(3.58974358974359vw, 14px);
  --pixel15: min(3.8461538461538463vw, 15px);
  --pixel16: min(4.102564102564102vw, 16px);
  --pixel17: min(4.358974358974359vw, 17px);
  --pixel18: min(4.615384615384615vw, 18px);
  --pixel19: min(4.871794871794872vw, 19px);
  --pixel20: min(5.128205128205128vw, 20px);
  --pixel21: min(5.384615384615385vw, 21px);
  --pixel22: min(5.641025641025641vw, 22px);
  --pixel23: min(5.897435897435898vw, 23px);
  --pixel24: min(6.153846153846154vw, 24px);
  --pixel25: min(6.410256410256411vw, 25px);
  --pixel26: min(6.666666666666667vw, 26px);
  --pixel27: min(6.923076923076923vw, 27px);
  --pixel28: min(7.17948717948718vw, 28px);
  --pixel29: min(7.435897435897436vw, 29px);
  --pixel30: min(7.6923076923076925vw, 30px);
  --pixel31: min(7.948717948717949vw, 31px);
  --pixel32: min(8.205128205128204vw, 32px);
  --pixel33: min(8.461538461538462vw, 33px);
  --pixel34: min(8.717948717948717vw, 34px);
  --pixel35: min(8.974358974358974vw, 35px);
  --pixel36: min(9.23076923076923vw, 36px);
  --pixel37: min(9.487179487179487vw, 37px);
  --pixel38: min(9.743589743589745vw, 38px);
  --pixel39: min(10vw, 39px);
  --pixel40: min(10.256410256410257vw, 40px);
  --pixel41: min(10.512820512820513vw, 41px);
  --pixel42: min(10.76923076923077vw, 42px);
  --pixel43: min(11.025641025641026vw, 43px);
  --pixel44: min(11.282051282051283vw, 44px);
  --pixel45: min(11.538461538461538vw, 45px);
  --pixel46: min(11.794871794871796vw, 46px);
  --pixel47: min(12.051282051282051vw, 47px);
  --pixel48: min(12.307692307692308vw, 48px);
  --pixel49: min(12.564102564102564vw, 49px);
  --pixel50: min(12.820512820512821vw, 50px);
  --pixel51: min(13.076923076923077vw, 51px);
  --pixel52: min(13.333333333333334vw, 52px);
  --pixel53: min(13.58974358974359vw, 53px);
  --pixel54: min(13.846153846153847vw, 54px);
  --pixel55: min(14.102564102564102vw, 55px);
  --pixel56: min(14.35897435897436vw, 56px);
  --pixel57: min(14.615384615384617vw, 57px);
  --pixel58: min(14.871794871794872vw, 58px);
  --pixel59: min(15.128205128205128vw, 59px);
  --pixel60: min(15.384615384615385vw, 60px);
  --pixel61: min(15.641025641025642vw, 61px);
  --pixel62: min(15.897435897435898vw, 62px);
  --pixel63: min(16.153846153846153vw, 63px);
  --pixel64: min(16.41025641025641vw, 64px);
  --pixel65: min(16.666666666666668vw, 65px);
  --pixel66: min(16.923076923076923vw, 66px);
  --pixel67: min(17.17948717948718vw, 67px);
  --pixel68: min(17.435897435897434vw, 68px);
  --pixel69: min(17.692307692307693vw, 69px);
  --pixel70: min(17.94871794871795vw, 70px);
  --pixel71: min(18.205128205128204vw, 71px);
  --pixel72: min(18.46153846153846vw, 72px);
  --pixel73: min(18.71794871794872vw, 73px);
  --pixel74: min(18.974358974358974vw, 74px);
  --pixel75: min(19.23076923076923vw, 75px);
  --pixel76: min(19.48717948717949vw, 76px);
  --pixel77: min(19.743589743589745vw, 77px);
  --pixel78: min(20vw, 78px);
  --pixel79: min(20.256410256410255vw, 79px);
  --pixel80: min(20.512820512820515vw, 80px);
  --pixel81: min(20.76923076923077vw, 81px);
  --pixel82: min(21.025641025641026vw, 82px);
  --pixel83: min(21.28205128205128vw, 83px);
  --pixel84: min(21.53846153846154vw, 84px);
  --pixel85: min(21.794871794871796vw, 85px);
  --pixel86: min(22.05128205128205vw, 86px);
  --pixel87: min(22.307692307692307vw, 87px);
  --pixel88: min(22.564102564102566vw, 88px);
  --pixel89: min(22.82051282051282vw, 89px);
  --pixel90: min(23.076923076923077vw, 90px);
  --pixel91: min(23.333333333333332vw, 91px);
  --pixel92: min(23.58974358974359vw, 92px);
  --pixel93: min(23.846153846153847vw, 93px);
  --pixel94: min(24.102564102564102vw, 94px);
  --pixel95: min(24.358974358974358vw, 95px);
  --pixel96: min(24.615384615384617vw, 96px);
  --pixel97: min(24.871794871794872vw, 97px);
  --pixel98: min(25.128205128205128vw, 98px);
  --pixel99: min(25.384615384615387vw, 99px);
  --pixel100: min(25.641025641025642vw, 100px);
}

.wrap {
  position: relative;
  width: min(390px, 100%);
  min-height: 100vh;
  margin-right: auto;
  margin-left: auto;
  background-color: #fff;
}
.wrap:before,
.wrap:after {
  content: "";
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 0;
}
.wrap:before {
  background: url(../images/page-bg.webp) no-repeat center top/cover;
}
.wrap:after {
  background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.85) 100%);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.85) 100%);
}
.site-header,
.site-main,
.site-footer {
  background-color: #fff;
}

.row {
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--pixel10);
  padding-left: var(--pixel10);
}

.intext-link {
  text-decoration: underline;
}

.notes-list > li {
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: var(--pixel12);
}
.notes-list > li:before {
  content: "※";
}
.notes-list > li.asterisk:before,
.notes-list > li.asterisk:before {
  content: "＊";
}
.notes-list--numbering {
  counter-reset: number;
}
.notes-list--numbering > li {
  text-indent: -2em;
  padding-left: 2em;
}
.notes-list--numbering > li:before {
  counter-increment: number;
  content: "※" counter(number) " ";
}
.notes-list--numbering-ast {
  counter-reset: number;
}
.notes-list--numbering-ast > li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.notes-list--numbering-ast > li:before {
  counter-increment: number;
  content: "*" counter(number) " ";
}
.notes-list--caution {
  counter-reset: number;
}
.notes-list--caution > li {
  text-indent: -2.35em;
  padding-left: 2.35em;
}
.notes-list--caution > li:before {
  counter-increment: number;
  content: "(注" counter(number) ")";
}
.notes-list > li.nomark {
  padding-left: 0;
  text-indent: 0;
}
.notes-list > li.nomark:before {
  display: none;
}

.numbering-list {
  counter-reset: number;
}
.numbering-list > li {
  text-indent: -1.15em;
  padding-left: 1.15em;
}
.numbering-list > li:before {
  counter-increment: number;
  content: counter(number) ". ";
}

.dot-list > li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
.dot-list > li:before {
  content: "・";
}

.square-list > li {
  position: relative;
  padding-left: 1.5em;
}
.square-list > li:before {
  content: "";
  background-color: var(--color-primary);
  width: 0.9em;
  height: 0.9em;
  position: absolute;
  top: 0.2em;
  left: 0;
}

.weight-regular {
  font-weight: 400;
}
.weight-medium {
  font-weight: 500;
}
.weight-black {
  font-weight: 900;
}

.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}

.num {
  font-family: "DM Sans", sans-serif;
}

.mt-ss {
  margin-top: 0.25em;
}
.mt-s {
  margin-top: 0.5em;
}
.mt-m {
  margin-top: 0.75em;
}
.mt-l {
  margin-top: 1em;
}
.mt-ll {
  margin-top: 1.25em;
}
.mb-ss {
  margin-bottom: 0.25em;
}
.mb-s {
  margin-bottom: 0.5em;
}
.mb-m {
  margin-bottom: 0.75em;
}
.mb-l {
  margin-bottom: 1em;
}
.mb-ll {
  margin-bottom: 1.25em;
}

.site-main {
  position: relative;
  z-index: 2;
}

/** Accordion
==============================================*/
.accordion-head {
  position: relative;
  cursor: pointer;
}

.accordion-body {
  overflow: hidden;
}

/** SITE HEADER
==============================================*/
.site-header {
  position: relative;
  z-index: 1;
  padding: var(--pixel14) var(--pixel12);
}
.brand-logo-img {
  width: min(40.51282051282051vw, 158px);
}

/** PRIMARY BUTTON
==============================================*/
.primary-button {
}
.primary-button__button {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  min-width: min(82.3076923076923vw, 321px);
  border-radius: 9999px;
  background-color: var(--color-accent);
  color: #fff;
  padding: var(--pixel15) var(--pixel40);
  font-size: var(--pixel18);
}
.primary-button__button:after {
  content: "";
  width: var(--pixel18);
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  right: var(--pixel13);
  top: calc(50% - var(--pixel09));
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%20fill%3D%22none%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.2426%204.2426L0.8484%207.6368L0%206.7884L2.97%203.8184L0%200.8484L0.8484%200L4.2426%203.3942C4.35508%203.50672%204.41827%203.6593%204.41827%203.8184C4.41827%203.9775%204.35508%204.13008%204.2426%204.2426Z%22%20fill%3D%22%23E60012%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 55% center;
  background-size: 30%;
}
.primary-button__sub {
  text-align: center;
  margin-top: var(--pixel08);
  font-size: var(--pixel14);
}

/** HEADLINE
==============================================*/
.headline {
  margin-bottom: var(--pixel55);
}
.headline__title {
  text-align: center;
  font-size: var(--pixel24);
}

/** BANNER AREA
==============================================*/
.banner-area__item:not(:first-child) {
  margin-top: var(--pixel20);
}
.banner-area__trigger,
.banner-area__trigger img {
  display: block;
  width: 100%;
}

/** SECTION HERO
==============================================*/
.section-hero {
  padding-top: var(--pixel22);
  padding-bottom: var(--pixel36);
  background: -webkit-linear-gradient(bottom, #ff99b9 0%, #fef1f5 74.52%);
  background: linear-gradient(0deg, #ff99b9 0%, #fef1f5 74.52%);
}

.page-kv {
}
.page-kv__title {
  text-align: center;
  margin-bottom: var(--pixel10);
}
.page-kv__title .title-lead {
  display: block;
  line-height: 1.4;
  font-size: var(--pixel20);
}
.page-kv__title .title-main {
  display: block;
  line-height: 1.3;
  font-size: var(--pixel23);
}
.page-kv__title .title-main .large {
  font-size: var(--pixel37);
}

.page-kv__annualfee {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  line-height: 1;
  font-size: var(--pixel16);
  padding: var(--pixel06) var(--pixel12);
  border: 1px solid var(--color-primary);
  margin-bottom: var(--pixel20);
}
.page-kv__card {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
.page-kv__card::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 231 / 146;
  background: url("/am_lp/common/images/card-jq-amex.png") lightgray 50% / cover no-repeat;
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-mask-image: -webkit-linear-gradient(bottom, #fff 0%, transparent var(--pixel32));
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: -webkit-linear-gradient(bottom, #fff 0%, transparent var(--pixel32));
  mask-image: linear-gradient(to top, #fff 0%, transparent var(--pixel32));
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  z-index: 0;
}
.page-kv__card img {
  margin-bottom: var(--pixel30);
  width: min(61.02564102564103vw, 238px);
}

.section-hero .banner-area {
  margin-top: var(--pixel12);
}

/** SECTION ABOUT
==============================================*/
.section-about {
  background-color: #f6f6f6;
  padding-top: var(--pixel60);
  padding-bottom: var(--pixel38);
}
.about-features__cut:not(:first-child) {
  margin-top: var(--pixel38);
  border-top: 1px solid var(--color-primary);
  padding-top: var(--pixel32);
}

.about-features__item {
  border-radius: var(--pixel08);
  background-color: #fff;
  box-shadow: 0 var(--pixel02) var(--pixel24) 0 rgba(0, 0, 0, 0.1);
  padding: var(--pixel25) var(--pixel14);
}
.about-features__item:not(:first-child) {
  margin-top: var(--pixel28);
}

.about-features__head {
  margin-bottom: var(--pixel14);
}
.about-features__title {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  align-items: flex-start;
  padding-right: var(--pixel10);
  padding-left: var(--pixel10);
}
.about-features__title .label {
  border-radius: min(31.428461538461537vw, 122.571px) min(31.428461538461537vw, 122.571px) 0 min(31.428461538461537vw, 122.571px);
  background-color: var(--color-primary);
  color: #fff;
  width: var(--pixel66);
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  margin-right: var(--pixel16);
}
.about-features__title .label .lead {
  line-height: 1;
  font-size: var(--pixel10);
}
.about-features__title .label .num {
  line-height: 1;
  font-size: var(--pixel28);
  margin-top: var(--pixel03);
}
.about-features__title .text {
  -webkit-box-flex: 1;
  flex: 1;
  font-size: var(--pixel22);
  letter-spacing: -0.015em;
}
.about-features__title .text .small {
  font-size: var(--pixel14);
}

.earn-points {
  margin-top: var(--pixel32);
}
.earn-points__list > li:not(:first-child) {
  margin-top: var(--pixel20);
}
.earn-points__list > li {
  text-align: center;
  border-radius: var(--pixel06);
  border: 1px solid #dedede;
  padding: var(--pixel10);
}
.earn-points__list > li span {
  display: inline-block;
  line-height: 1.4;
}
.earn-points__list > li .num {
  line-height: 0;
}
.earn-points__list > li .ss {
  font-size: var(--pixel14);
}
.earn-points__list > li .s {
  font-size: var(--pixel16);
}
.earn-points__list > li .m {
  font-size: var(--pixel24);
}
.earn-points__list > li .l {
  font-size: var(--pixel30);
}
.earn-points__list > li .ll {
  font-size: var(--pixel50);
}
.earn-points__list > li .logo-jr-kyupo {
  display: inline-block;
  vertical-align: baseline;
  position: relative;
  top: var(--pixel02);
  width: min(34.26307692307692vw, 133.626px);
  margin-right: var(--pixel05);
  margin-left: var(--pixel05);
  margin-top: calc(0px - var(--pixel05));
}
.earn-points__notes {
  margin-top: var(--pixel10);
}

.item-description__head {
  margin-bottom: var(--pixel20);
}
.item-description__head:after {
  content: "";
  width: var(--pixel30);
  height: 2px;
  display: block;
  margin-inline: auto;
  margin-top: var(--pixel15);
  background-color: var(--color-primary);
}
.item-description__title {
  text-align: center;
  font-size: var(--pixel18);
}

.item-description__img {
  padding-bottom: var(--pixel20);
}
.item-description__img img {
  margin-inline: auto;
}
.logo-jr-kyupo-set {
  width: min(99.87934426229508vw, 228.474px);
}
.item-description__txt {
  font-size: var(--pixel14);
}

.point-uses {
  padding-top: var(--pixel25);
}

.point-uses__list > li:not(:first-child) {
  margin-top: var(--pixel32);
}
.point-uses__list > li {
  position: relative;
  border-radius: var(--pixel06);
  border: 1px solid #dedede;
  background-color: #fff;
  padding: var(--pixel30) var(--pixel15);
}

.point-uses__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-radius: 9999px;
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--pixel14);
  padding: var(--pixel05) var(--pixel20);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.point-uses__img {
  margin-inline: auto;
  margin-top: var(--pixel15);
  margin-bottom: var(--pixel15);
}
.point-uses__img.logo-sugoca {
  width: min(77.81420765027323vw, 178px);
}

.point-uses__txt {
  text-align: center;
  line-height: 1.6;
}
.point-uses__txt span {
  display: inline-block;
}
.point-uses__txt .num {
  line-height: 0;
  position: relative;
  top: 0.05em;
}
.point-uses__txt .ss {
  font-size: var(--pixel14);
}
.point-uses__txt .s {
  font-size: var(--pixel19);
}
.point-uses__txt .m {
  font-size: var(--pixel20);
}
.point-uses__txt .l {
  font-size: var(--pixel24);
}
.point-uses__txt .ll {
  font-size: var(--pixel50);
}
.point-uses__txt .icon-equal {
  display: inline-block;
  vertical-align: baseline;
  position: relative;
  top: calc(0px - var(--pixel02));
  margin-right: var(--pixel05);
  margin-left: var(--pixel05);
}

.point-uses__notes {
  margin-top: var(--pixel18);
}
.point-uses__notes > li {
}

.auto-charge__main {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
}
.auto-charge__img {
  width: min(48.96174863387978vw, 112px);
  margin-right: var(--pixel06);
}
.auto-charge__info {
  -webkit-box-flex: 1;
  flex: 1;
}
.auto-charge__txt {
  text-align: justify;
  font-size: var(--pixel14);
}

.auto-charge__step {
  counter-reset: number;
  margin-top: var(--pixel25);
}
.auto-charge__step > li:not(:first-child) {
  margin-top: var(--pixel15);
}
.auto-charge__step > li {
  border-radius: var(--pixel06);
  border: 1px solid #dedede;
  background-color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
  padding: var(--pixel13);
}
.auto-charge__step > li:before {
  counter-increment: number;
  content: counter(number);
  width: var(--pixel31);
  aspect-ratio: 1/1;
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 50%;
  font-size: var(--pixel16);
  font-family: "DM Sans", sans-serif;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  margin-right: var(--pixel12);
}
.auto-charge__step > li .text {
  -webkit-box-flex: 1;
  flex: 1;
  letter-spacing: 0;
  font-size: var(--pixel14);
}
.auto-charge__step > li .icon {
  margin-left: var(--pixel05);
  width: var(--pixel58);
}

.auto-charge__sub {
  background-color: #fef1f5;
  padding: var(--pixel20) var(--pixel10);
  border-radius: var(--pixel06);
  text-align: center;
  margin-top: var(--pixel20);
}
.auto-charge__sub .lead {
  display: inline-block;
  font-size: var(--pixel16);
  margin-bottom: var(--pixel05);
}
.logo-jr-kyupo {
  display: inline-block;
  vertical-align: text-bottom;
  width: min(58.41573770491804vw, 133.626px);
}
.auto-charge__sub .main {
  font-size: var(--pixel24);
}
.auto-charge__notes {
  margin-top: var(--pixel10);
}

.shop-list {
  overflow: hidden;
}
.shop-list__wrapper {
  -webkit-box-align: stretch;
  align-items: stretch;
}
.shop-list__wrapper > li {
  height: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  border-radius: var(--pixel06);
  border: 1px solid #dedede;
  background-color: #fff;
  padding: var(--pixel20);
}
.shop-list__img {
  padding-top: var(--pixel10);
  padding-bottom: var(--pixel10);
  border-bottom: 1px solid var(--color-primary);
}
.shop-list__img img {
  width: 100%;
}

.shop-list__info {
  padding-top: var(--pixel20);
}
.shop-list__info > :not(:first-child) {
  margin-top: var(--pixel15);
}
.shop-list__title {
  text-align: center;
  font-size: var(--pixel16);
}
.shop-list__txt {
  font-size: var(--pixel14);
}
.shop-list__more {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  font-size: var(--pixel14);
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 9999px;
  padding: var(--pixel08) var(--pixel35) var(--pixel08) var(--pixel25);
  background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2218%22%20viewBox%3D%220%200%2012%2018%22%20fill%3D%22none%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.6772%209.88389L2.13514%2017.7913L0%2015.8148L7.4745%208.89564L0%201.9765L2.13514%200L10.6772%207.90739C10.9603%208.16952%2011.1193%208.52499%2011.1193%208.89564C11.1193%209.26629%2010.9603%209.62176%2010.6772%209.88389Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--pixel15)) center;
  background-size: var(--pixel06);
}

.slide-controller__pagination {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  margin-top: var(--pixel30);
}
.slide-controller__pagination .swiper-pagination-bullet {
  background-color: #d9d9d9;
  border-radius: 50%;
  margin-right: var(--pixel03);
  margin-left: var(--pixel03);
  width: var(--pixel08);
  height: var(--pixel08);
}
.slide-controller__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}

/** SECTION SPEC
==============================================*/
.section-spec {
  padding-top: var(--pixel24);
  padding-bottom: var(--pixel50);
}

.card-info {
  margin-top: var(--pixel60);
  padding-right: var(--pixel14);
  padding-left: var(--pixel14);
}
.card-info__head {
  margin-bottom: var(--pixel35);
}
.card-info__title:before {
  content: attr(data-en);
  display: block;
  font-size: var(--pixel40);
  font-family: "DM Sans", sans-serif;
}
.card-info__title {
  font-size: var(--pixel12);
  text-align: center;
}
.card-info__spec > dt {
  margin-bottom: var(--pixel10);
  font-size: var(--pixel14);
}
.card-info__spec > dt:not(:first-of-type) {
  padding-top: var(--pixel15);
}
.card-info__spec > dd {
  border-bottom: 1px solid var(--color-primary);
  padding-bottom: var(--pixel15);
}
.card-info__spec > dd > *:not(:first-child) {
  margin-top: var(--pixel05);
}
.card-info__spec > dd .text {
  font-size: var(--pixel14);
  letter-spacing: 0;
}
.card-info__spec > dd .logo-list {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
}
.card-info__spec > dd .logo-list > li {
  padding-top: var(--pixel03);
  padding-bottom: var(--pixel03);
}
.card-info__spec > dd .logo-list > li:not(:last-child) {
  margin-right: var(--pixel15);
}
.card-info__spec > dd .logo-list > li img {
  height: var(--pixel23);
}

.card-info__notes {
  margin-top: var(--pixel23);
  background-color: #f6f6f6;
  padding: var(--pixel15) var(--pixel12);
}
.card-info__notes .notes-list > li {
  font-size: var(--pixel11);
}

/** FIXED CTA
==============================================*/
.fixed-cta {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 10;
  text-align: center;
  background-color: rgb(228, 81, 131, 0.8);
}
@media screen and (min-width: 641px) {
  .fixed-cta {
    padding: var(--pixel15);
  }
}
@media screen and (max-width: 640px) {
  .fixed-cta {
    padding: var(--pixel10);
  }
}

/** CAMPAIGN INFO
==============================================*/
.campaign-info__dl > dt {
  font-weight: 700;
  font-size: var(--pixel16);
  color: var(--color-primary);
  margin-bottom: var(--pixel10);
  text-indent: -1em;
  padding-left: 1em;
}
.campaign-info__dl > dt:not(:first-of-type) {
  margin-top: var(--pixel30);
}
.campaign-info__dl > dt:before {
  content: "■";
}

.campaign-info__cut:not(:first-child) {
  margin-top: var(--pixel20);
}
.campaign-info__cut > *:not(:first-child) {
  margin-top: var(--pixel10);
}
.campaign-info__txt {
  font-size: var(--pixel14);
}
.campaign-info__txt-small {
  font-size: var(--pixel12);
}
.campaign-info__dot > li {
  font-size: var(--pixel14);
}
.campaign-info__dot-small > li {
  font-size: var(--pixel12);
}
.campaign-info__notes > li {
  font-size: var(--pixel12);
}

.campaign-info__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: var(--pixel02);
}
.campaign-info__table th,
.campaign-info__table td {
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.08em;
  padding: var(--pixel10) var(--pixel05);
  font-size: var(--pixel10);
  line-height: 1.5;
}
.campaign-info__table th {
  background-color: var(--color-primary);
  color: #fff;
  font-weight: 700;
}
.campaign-info__table td {
  background-color: #f2f2f2;
}
.campaign-info__bg {
  background-color: #f2f2f2;
  padding: var(--pixel15) var(--pixel20);
}
.campaign-info__img {
  display: block;
  width: 100%;
}

/** ENTRY MODAL
==============================================*/
.entry-modal__head {
  margin-bottom: var(--pixel30);
}
.entry-modal__title {
  text-align: center;
  font-size: var(--pixel20);
}
.entry-modal__buttons > li:not(:first-child) {
  margin-top: var(--pixel25);
}

.entry-modal__button {
  text-align: center;
  border: var(--pixel03) solid var(--color-accent);
}
.entry-modal__button--outline {
  background-color: #fff;
  color: var(--color-accent);
}
.entry-modal__button--outline:after {
  background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%20fill%3D%22none%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.2426%204.2426L0.8484%207.6368L0%206.7884L2.97%203.8184L0%200.8484L0.8484%200L4.2426%203.3942C4.35508%203.50672%204.41827%203.6593%204.41827%203.8184C4.41827%203.9775%204.35508%204.13008%204.2426%204.2426Z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E);
  background-color: var(--color-accent);
}
.entry-modal__button .small {
  display: block;
  font-size: var(--pixel14);
}
.entry-modal__button .main {
  display: block;
  font-size: var(--pixel18);
}
.entry-modal__sub {
  margin-top: var(--pixel05);
}
.entry-modal__sub > *:not(:first-child) {
  margin-top: var(--pixel10);
}
.entry-modal__txt {
  font-size: var(--pixel14);
}

/** SITE FOOTER
==============================================*/
.site-footer {
  position: relative;
  border-top: 1px dotted #ccc;
  background-color: #fff;
  font-weight: 400;
  z-index: 1;
}

.site-footer .section-content {
  padding: 0;
}

.site-footer .footer_notes {
  padding-top: var(--pixel20);
}
.site-footer .footer_notes .txt {
  font-size: var(--pixel12);
  color: #484848;
  line-height: 1.5;
}
.site-footer .footer_notes .txt .intextlink {
  display: inline-block;
  padding-top: var(--pixel05);
}

.site-footer .footer_copyright {
  padding-bottom: var(--pixel20);
  padding-top: var(--pixel30);
}
.site-footer .footer_copyright .company_privacy {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: end;
  align-items: flex-end;
}
.site-footer .footer_copyright .company_privacy .company img {
  width: min(37.43589743589744vw, 146px);
  max-width: 100%;
  margin-bottom: var(--pixel05);
}
.site-footer .footer_copyright .company_privacy .company .txt {
  font-size: var(--pixel10);
  display: block;
  color: #848484;
  line-height: 1.2;
}
.site-footer .footer_copyright .company_privacy .privacy {
  padding-left: var(--pixel10);
}
.site-footer .footer_copyright .company_privacy .privacy img {
  width: var(--pixel45);
  max-width: 100%;
}
.site-footer .footer_copyright .copyright {
  font-size: var(--pixel10);
  line-height: 1.4;
  color: #848484;
  display: block;
  line-height: 1.5;
  padding-top: var(--pixel15);
  letter-spacing: 0;
}

.site-footer .footer_nav {
  border-top: 1px dotted #ccc;
}
.site-footer .footer_nav .footer_nav_list {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  flex-wrap: wrap;
  padding-top: var(--pixel10);
  padding-bottom: var(--pixel10);
  font-size: var(--pixel10);
  flex-wrap: wrap;
}
.site-footer .footer_nav .footer_nav_list > li {
  margin-right: 0.5em;
  margin-left: 0.5em;
}
.site-footer .footer_nav .footer_nav_list > li .intextlink {
  position: relative;
  line-height: 1;
  letter-spacing: 0;
}

.site-footer.site-notes {
  margin-bottom: 0;
}

.footer_notes_list {
  padding-top: var(--pixel20);
  padding-bottom: var(--pixel20);
}
.footer_notes_list ul.notes {
  margin: 0;
  padding: 0;
  text-indent: 0;
}
.footer_notes_list ul.notes > li {
  font-size: var(--pixel10);
  margin: 0;
}
.footer_notes_list ul.notes > li:not(.nomark) {
  text-indent: -1em;
  padding-left: 1em;
}
.footer_notes_list ul.notes > li:not(.nomark):before {
  content: "※";
}
.footer_notes_list ul.notes > li.nomark:before {
  display: none;
}

.intextlink {
  text-decoration: underline;
  color: #006fca;
}
.intextlink:hover,
.intextlink:active {
  color: #006fca;
}

/** MODAL OPEN
==============================================*/
[data-micromodal-transition] {
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  opacity: 0;
}

[data-micromodal-transition].is-open {
  opacity: 1;
}

@media screen and (min-width: 641px) {
  .modal-open {
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .modal-open:hover {
    opacity: 0.8;
  }
}

/** MODAL MICROMODAL
==============================================*/
.modal-micromodal {
  display: none;
}

.modal-micromodal.is-open {
  display: block;
}

@-webkit-keyframes modalfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes modalfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes modalfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes modalfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.modal-micromodal[aria-hidden="false"] .modal-overlay {
  -webkit-animation: modalfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.modal-micromodal[aria-hidden="true"] .modal-overlay {
  -webkit-animation: modalfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

/** MODAL OVERLAY
==============================================*/
.modal-overlay {
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  padding: 0 var(--pixel10);
}

/** MODAL CONTAINER
==============================================*/
/* container */
.modal-container {
  width: 375px;
  max-height: calc(100vh - var(--pixel40));
}
.modal-container:focus {
  outline: none;
}

.modal-close__button {
  cursor: pointer;
  position: absolute;
  width: var(--pixel50);
  height: var(--pixel50);
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2238%22%20height%3D%2238%22%20viewBox%3D%220%200%2038%2038%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M28.5%209.5L9.5%2028.5M9.5%209.5L28.5%2028.5%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
}
@media screen and (min-width: 641px) {
  .modal-close__button {
    top: var(--pixel40);
    right: var(--pixel26);
  }
}
@media screen and (max-width: 640px) {
  .modal-close__button {
    top: var(--pixel10);
    right: var(--pixel10);
  }
}

.modal-container__set {
  background-color: #fff;
  color: #000;
}

/** MODAL CONTENT
==============================================*/
.modal-content {
  line-height: 1.5;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  max-height: calc(100vh - var(--pixel100) - var(--pixel60));
}
.modal-content::-webkit-scrollbar {
  width: var(--pixel03);
}
.modal-content::-webkit-scrollbar-thumb {
  background-color: #d2d2d2;
}

/** MODAL INNER
==============================================*/
.modal-inner {
  padding: var(--pixel40) var(--pixel15);
}

/** MODAL FIXED
==============================================*/
.modal-fixed {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  display: block;
  padding: 0 var(--pixel10);
  height: var(--pixel40);
}
.modal-fixed.is-hidden {
  display: none;
}
.modal-fixed::-webkit-scrollbar {
  width: var(--pixel03);
}
