.xmas2026 img {
  max-width: 100%;
}
.xmas2026 .Keyvisual {
  background: url("/assets/campaign/xmas2026/img/visual-bg.jpg") no-repeat center center;
  background-size: cover;
  position: relative;
  margin-bottom: 100px;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .Keyvisual {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Keyvisual {
    margin-bottom: 40px;
  }
}
.xmas2026 .Keyvisual h1 {
  line-height: 1.6;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .Keyvisual h1 {
    width: 100%;
    text-align: center;
  }
}
.xmas2026 .pc {
  display: block;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .pc {
    display: none;
  }
}
.xmas2026 .sp {
  display: none;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .sp {
    display: block;
  }
}
.xmas2026 .content-narrow {
  max-width: 1680px;
  padding-left: 40px;
  padding-right: 40px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .content-narrow {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
.xmas2026 .content-wide {
  max-width: 1680px;
  padding-left: 40px;
  padding-right: 40px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .content-wide {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
  }
}
.xmas2026 .Heading {
  margin-bottom: 100px;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .Heading {
    margin-bottom: 40px;
  }
}
.xmas2026 .Heading img {
  width: 100%;
}
.xmas2026 .tokuten-wrapper {
  background-image: repeating-linear-gradient(90deg, #c3161e, #c3161e 20px, #a71117 20px, #a71117 40px);
  padding-top: 60px;
  padding-bottom: 60px;
  width: 100%;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .tokuten-wrapper {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 640px) {
  .xmas2026 .tokuten-wrapper {
    background-image: repeating-linear-gradient(90deg, #c3161e, #c3161e 15px, #a71117 15px, #a71117 30px);
  }
}
.xmas2026 .tokuten-wrapper h2 {
  max-width: 760px;
  width: calc(100% - 80px);
  margin: 0 auto 20px;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .tokuten-wrapper h2 {
    margin-top: 40px;
    width: calc(100% - 40px);
  }
}
.xmas2026 .tokuten-wrapper .tokuten-notice {
  width: calc(100% - 80px);
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .tokuten-wrapper .tokuten-notice {
    width: calc(100% - 40px);
  }
}
.xmas2026 .tokuten-wrapper .tokuten-notice p {
  color: #fff;
  text-align: center;
  font-family: "Sawarabi Mincho";
  line-height: 1.6;
  margin-bottom: 1em;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .tokuten-wrapper .tokuten-notice p {
    text-align: left;
  }
}
.xmas2026 .Tokuten {
  max-width: 1060px;
  width: calc(100% - 60px);
  margin: 0px auto 60px;
  border: 1px solid #fff;
  padding: 30px;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .Tokuten {
    margin: 30px auto;
    padding: 20px;
  }
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Tokuten {
    width: calc(100% - 40px);
  }
}
.xmas2026 .Tokuten img {
  width: 100%;
}
.xmas2026 .Tokuten p {
  font-family: "Sawarabi Mincho";
  color: #fff;
  line-height: 1.6;
  text-align: justify;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Tokuten p {
    font-size: 15px;
    padding-top: 0;
  }
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Tokuten.PC {
    display: none;
  }
}
.xmas2026 .Tokuten.SP {
  display: none;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Tokuten.SP {
    display: block;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper {
  display: flex;
  margin-top: 20px;
  gap: 20px;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper {
    flex-direction: column;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper > div {
  flex: 1;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper > div {
    flex: none;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper > div > p {
  margin: 0;
}
.xmas2026 .Cashipo__Detail__Wrapper > div.pc {
  display: block;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper > div.pc {
    display: none;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper > div.sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper > div.sp {
    display: block;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper .btn-webreserve {
  margin-top: 20px;
}
.xmas2026 .Cashipo__Detail__Wrapper .btn-webreserve a {
  display: block;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  position: relative;
  background: #c6a96b;
  font-size: 22px;
  font-family: "Sawarabi Mincho";
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper .btn-webreserve a {
    font-size: 18px;
  }
}
.xmas2026 .Cashipo__Detail__Wrapper .btn-webreserve a:after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Cashipo__Detail__Wrapper .btn-webreserve a:after {
    width: 14px;
    height: 14px;
  }
}
.xmas2026 .Xmas__Content {
  max-width: 1680px;
  padding: 0 40px;
  width: 100%;
  margin: 100px auto;
}
@media only screen and (max-width: 798px) {
  .xmas2026 .Xmas__Content {
    padding: 0;
    margin: 50px auto 0;
  }
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Xmas__Content .pc {
    display: none;
  }
}
.xmas2026 .Xmas__Content .sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Xmas__Content .sp {
    display: block;
  }
}
.xmas2026 .Xmas__Content section {
  margin: 60px 0;
}
@media only screen and (max-width: 640px) {
  .xmas2026 .Xmas__Content section {
    margin: 30px 0;
  }
}
.xmas2026 .flex {
  display: flex;
}

.pc-5 {
  position: relative;
  width: 100%;
  background-image: url(/assets/campaign/xmas2026/img/pc5.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/1176;
}
.pc-5 #pc5-1, .pc-5 #pc5-2 {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19.6875%;
  height: 4.9319727891%;
  top: 89.7108843537%;
}
.pc-5 #pc5-1 a, .pc-5 #pc5-2 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-5 #pc5-1 {
  left: 13.8125%;
}
.pc-5 #pc5-1 a:hover {
  background-color: rgb(0, 0, 0);
}
.pc-5 #pc5-2 {
  left: 65.125%;
}

.pc-6 {
  position: relative;
  width: 100%;
  background-image: url(/assets/campaign/xmas2026/img/pc6.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/1176;
}
.pc-6 #pc6-1, .pc-6 #pc6-2 {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.9319727891%;
  width: 19.6875%;
  top: 89.6258503401%;
}
.pc-6 #pc6-1 a, .pc-6 #pc6-2 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-6 #pc6-1 {
  left: 15.125%;
}
.pc-6 #pc6-2 {
  left: 65.125%;
}

.pc-7 {
  position: relative;
  background-image: url(/assets/campaign/xmas2026/img/pc7.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  aspect-ratio: 1600/1176;
}
.pc-7 #pc7-1, .pc-7 #pc7-2 {
  position: absolute;
  display: block;
  height: 4.9319727891%;
  width: 19.6875%;
  top: 90.2210884354%;
}
.pc-7 #pc7-1 a, .pc-7 #pc7-2 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-7 #pc7-1 {
  left: 14%;
}
.pc-7 #pc7-2 {
  left: 65.125%;
}

.pc-8 {
  position: relative;
  width: 100%;
  background-image: url(/assets/campaign/xmas2026/img/pc8.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/1130;
}
.pc-8 #pc8-1, .pc-8 #pc8-2, .pc-8 #pc8-3, .pc-8 #pc8-4 {
  position: absolute;
  display: block;
  height: 5.1327433628%;
  width: 19.6875%;
}
.pc-8 #pc8-1 a, .pc-8 #pc8-2 a, .pc-8 #pc8-3 a, .pc-8 #pc8-4 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-8 #pc8-1 {
  top: 53.0088495575%;
  left: 4.625%;
}
.pc-8 #pc8-2 {
  top: 89.7345132743%;
  left: 4.625%;
}
.pc-8 #pc8-3 {
  top: 26.5486725664%;
  left: 60.8125%;
}
.pc-8 #pc8-4 {
  top: 90.5309734513%;
  left: 76.3125%;
}

.pc-9 {
  position: relative;
  width: 100%;
  background-image: url(/assets/campaign/xmas2026/img/pc9.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/1137;
}
.pc-9 #pc9-1, .pc-9 #pc9-2, .pc-9 #pc9-3 {
  position: absolute;
  display: block;
  height: 5.1011433597%;
  width: 19.6875%;
  left: 63.25%;
}
.pc-9 #pc9-1 a, .pc-9 #pc9-2 a, .pc-9 #pc9-3 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-9 #pc9-1 {
  top: 39.5778364116%;
}
.pc-9 #pc9-2 {
  top: 61.125769569%;
}
.pc-9 #pc9-3 {
  top: 89.8856640281%;
}

.pc-9.pc-9-1002 {
  background-image: url(/assets/campaign/xmas2026/img/pc9-1001.jpg);
}
.pc-9.pc-9-1002 #pc9-2 a, .pc-9.pc-9-1002 #pc9-3 a {
  pointer-events: none;
}

.sp-9 {
  background-color: #c2172c;
}

.pc-10 {
  position: relative;
  width: 100%;
  background-image: url(/assets/campaign/xmas2026/img/pc10.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/964;
}
.pc-10 #pc10-1, .pc-10 #pc10-2, .pc-10 #pc10-3, .pc-10 #pc10-4 {
  position: absolute;
  display: block;
  height: 6.0165975104%;
  width: 19.6875%;
}
.pc-10 #pc10-1 a, .pc-10 #pc10-2 a, .pc-10 #pc10-3 a, .pc-10 #pc10-4 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-10 #pc10-1, .pc-10 #pc10-2 {
  left: 39.8125%;
}
.pc-10 #pc10-3, .pc-10 #pc10-4 {
  left: 70.4375%;
}
.pc-10 #pc10-1 {
  top: 35.8921161826%;
}
.pc-10 #pc10-2 {
  top: 89.2116182573%;
}
.pc-10 #pc10-3 {
  top: 32.1576763485%;
}
.pc-10 #pc10-4 {
  top: 71.5767634855%;
}

.pc-12 {
  position: relative;
  background-image: url(/assets/campaign/xmas2026/img/pc12.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  aspect-ratio: 1600/985;
}
.pc-12 #pc12-1, .pc-12 #pc12-2, .pc-12 #pc12-3 {
  position: absolute;
  display: block;
  height: 5.8883248731%;
  width: 19.6875%;
  top: 87.0050761421%;
}
.pc-12 #pc12-1 a, .pc-12 #pc12-2 a, .pc-12 #pc12-3 a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
}
.pc-12 #pc12-1 {
  left: 2.0625%;
}
.pc-12 #pc12-2 {
  left: 34.875%;
}
.pc-12 #pc12-3 {
  left: 68.1875%;
}

@media only screen and (max-width: 640px) {
  .sp-5 > a,
  .sp-6 > a,
  .sp-7 > a,
  .sp-8 > a {
    display: block;
    height: 100%;
    margin-bottom: 30px;
  }
  .sp-5 > a:last-of-type,
  .sp-6 > a:last-of-type,
  .sp-7 > a:last-of-type,
  .sp-8 > a:last-of-type {
    margin-bottom: 0;
  }
}
.webreserve {
  margin: 0 auto 60px;
  max-width: 1000px;
  width: calc(100% - 80px);
}
@media only screen and (max-width: 798px) {
  .webreserve {
    margin: 40px auto;
    width: calc(100% - 60px);
  }
}
.webreserve a:hover {
  opacity: 0.9;
}
.webreserve a img {
  margin: 0 auto;
}

.campaign-notice {
  margin: 0 auto 60px;
  max-width: 1000px;
  width: calc(100% - 80px);
  color: #fff;
  font-family: "Sawarabi Mincho";
  line-height: 2;
}
@media only screen and (max-width: 798px) {
  .campaign-notice {
    margin: 40px auto;
    width: calc(100% - 60px);
  }
}