/*========================================
*	common
========================================*/
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500;600&display=swap");
::selection {
  color: #000;
  background: #d6dbdf;
}

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

*:focus {
  outline: 0;
}

html,
body {
  font-size: 62.5%;
  color: #000;
  background-color: #d6dbdf;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
}

html {
  overflow-x: hidden;
}

body {
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}

a {
  color: #000;
  text-decoration: none;
}

h1,
h2,
h3 {
  line-height: 1;
}

ul,
li {
  list-style: none;
}

tr,
th,
td {
  font-weight: normal;
  text-align: left;
}

.pc-none {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

.js--scroll__trigger {
  opacity: 0;
}
.js--scroll__trigger.js--anime {
  opacity: 1;
  transition: opacity 1500ms;
}

#sqexHeader-black {
  position: relative;
  z-index: 5;
}

#contents {
  background: transparent;
}

.container {
  position: relative;
}
.container img, .container picture, .container svg {
  -webkit-backface-visibility: hidden;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  vertical-align: bottom;
}

#sqexFooter {
  position: relative;
  z-index: 4;
}

.header {
  width: 100%;
  top: 34px;
  position: fixed;
  z-index: 3;
}
.header .submenu {
  width: 100%;
  height: 17.3333333333vw;
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .header .submenu {
    height: 5.2083333333vw;
  }
}
.header .submenu-item {
  background: url("../data/webp/pre/bg_menu.png.webp") no-repeat 0 0/contain;
  flex-basis: 49.7333333333vw;
  height: 17.3333333333vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .header .submenu-item {
    background: url("../data/webp/pre/bg_menu_pc.png.webp") no-repeat 0 0/contain;
    flex-basis: 49.8958333333vw;
    height: 5.2083333333vw;
    transition: 0.3s;
  }
  .header .submenu-item .on {
    opacity: 0;
  }
  .header .submenu-item:hover .on {
    opacity: 1;
  }
}
.header .submenu-item .on, .header .submenu-item .off {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.header .submenu-item .on {
  opacity: 0;
}
.header .submenu-item .icon {
  width: 3.4666666667vw;
  height: 3.0666666667vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  top: 45%;
  right: 2.6666666667vw;
  transform: rotate(90deg);
}
@media only screen and (min-width: 768px) {
  .header .submenu-item .icon {
    width: 1.3541666667vw;
    height: 1.1979166667vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 8.75vw;
  }
}
.header-twbtn {
  position: absolute;
  top: 20vw;
  left: 2.6666666667vw;
}
.header-twbtn a {
  width: 14.6666666667vw;
  height: 14.6666666667vw;
  display: block;
  transition: 0.3s;
  position: relative;
}
.header-twbtn a img {
  transition: 0.3s;
  position: absolute;
  top: 0;
  left: 0;
}
.header-twbtn a img.on {
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .header-twbtn {
    top: 7.03125vw;
    left: 1.5625vw;
  }
  .header-twbtn a {
    width: 5.7291666667vw;
    height: 5.7291666667vw;
  }
  .header-twbtn a:hover img.off {
    opacity: 0;
  }
  .header-twbtn a:hover img.on {
    opacity: 1;
  }
}
.header.fixed {
  top: 0;
}
@media only screen and (min-width: 768px) {
  .header.fixed {
    top: 0;
  }
}

.bg-fixed {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .bg-fixed {
    height: 100vh;
  }
}
.bg-fixed.layer1 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 0;
  background-image: url("../data/webp/pre/bg_layer_fixed.png.webp");
}
@media only screen and (min-width: 768px) {
  .bg-fixed.layer1 {
    background-image: url("../data/webp/pre/bg_layer_fixed_pc.png.webp");
  }
}
.bg-fixed.layer2 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  background-image: url("../data/webp/pre/bg_layer_deco.png.webp");
  opacity: 0.6;
  z-index: 4;
}
@media only screen and (min-width: 768px) {
  .bg-fixed.layer2 {
    background-image: url("../data/webp/pre/bg_layer_deco_pc.png.webp");
  }
}

.mv {
  padding: 74.6666666667vw 0 6.6666666667vw;
  display: block;
  position: relative;
}
.mv .mv-logo,
.mv .mv-tit,
.mv .mv-release,
.mv .mv-text,
.mv .mv-badge {
  opacity: 0;
}
.mv .mv-chara img {
  filter: blur(10px);
  opacity: 0;
}
.mv.js--anime .mv-logo,
.mv.js--anime .mv-tit,
.mv.js--anime .mv-release,
.mv.js--anime .mv-text,
.mv.js--anime .mv-badge {
  opacity: 1;
  transition: opacity 1500ms;
  transition-delay: 700ms;
}
.mv.js--anime .mv-chara img {
  filter: blur(0px);
  opacity: 1;
  transition: opacity 1000ms, filter 1500ms;
}
@media only screen and (min-width: 768px) {
  .mv {
    padding: 9.375vw 0 5.7291666667vw;
  }
}
.mv-chara {
  width: 92vw;
  position: absolute;
  top: 20vw;
}
@media only screen and (min-width: 768px) {
  .mv-chara {
    width: 40.8854166667vw;
    top: 6.25vw;
  }
}
@media only screen and (max-width: 767px) {
  .mv-chara {
    -webkit-mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.1) 68%, transparent 100%);
    mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.1) 68%, transparent 100%);
  }
}
.mv-chara.left {
  left: -13.3333333333vw;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .mv-chara.left {
    left: 0;
  }
}
.mv-chara.right {
  right: -12vw;
}
@media only screen and (min-width: 768px) {
  .mv-chara.right {
    right: 0;
  }
}
.mv-logo {
  width: 84.2666666667vw;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .mv-logo {
    width: 32.9166666667vw;
  }
}
.mv-release {
  width: 55.3333333333vw;
  margin: 2.6666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .mv-release {
    width: 21.6145833333vw;
    margin: 1.0416666667vw auto 0;
  }
}
.mv-badge {
  width: 89.3333333333vw;
  margin: 8vw auto 0;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .mv-badge {
    width: 41.9270833333vw;
    margin: 3.125vw auto 0;
  }
}
.mv-badge--list {
  margin: 2.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .mv-badge--list {
    display: flex;
    justify-content: center;
    margin: 1.3020833333vw 0 0;
  }
}
.mv-badge--list-item {
  margin: 2vw 0 0;
}
@media only screen and (min-width: 768px) {
  .mv-badge--list-item {
    margin: 0 0.3645833333vw;
  }
}
.mv-badge--list-item a {
  display: block;
  width: 89.3333333333vw;
  height: 20.5333333333vw;
  display: block;
  transition: 0.3s;
  position: relative;
}
.mv-badge--list-item a img {
  width: auto;
  max-width: none;
  height: 100%;
}
.mv-badge--list-item a img {
  transition: 0.3s;
  position: absolute;
  top: 0;
  left: 0;
}
.mv-badge--list-item a img.on {
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .mv-badge--list-item a {
    width: 14.5833333333vw;
    height: 3.3854166667vw;
  }
  .mv-badge--list-item a:hover img.off {
    opacity: 0;
  }
  .mv-badge--list-item a:hover img.on {
    opacity: 1;
  }
}
.mv-badge--sublist {
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .mv-badge--sublist {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.mv-badge--sublist-item a {
  width: auto;
  height: 14.5333333333vw;
  display: block;
  transition: 0.3s;
  position: relative;
}
.mv-badge--sublist-item a img {
  width: auto;
  max-width: none;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .mv-badge--sublist-item {
    margin: 0;
  }
  .mv-badge--sublist-item a {
    height: 3.3854166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .mv-badge--sublist-item.item-qr {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .mv-badge--sublist-item.item-qr {
    margin: 0 1.0416666667vw 0 0.3645833333vw;
  }
  .mv-badge--sublist-item.item-qr img {
    width: auto;
    max-width: none;
    height: 100%;
  }
  .mv-badge--sublist-item.item-qr:last-child {
    margin: 0 0 0 0.3645833333vw;
  }
  .mv-badge--sublist-item.item-qr img {
    height: 3.2291666667vw;
  }
}

.sec-campaign1 {
  background: url("../data/webp/pre/bg_contents.png.webp") repeat 0 0/25% auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgb(0, 0, 0) 10%, rgba(0, 0, 0, 0.8) 95%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgb(0, 0, 0) 10%, rgba(0, 0, 0, 0.8) 95%, transparent 100%);
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1 {
    background: url("../data/webp/pre/bg_contents.png.webp") repeat 0 0/128px 128px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 4.5%, rgba(0, 0, 0, 0.8) 93%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 4.5%, rgba(0, 0, 0, 0.8) 93%, transparent 100%);
  }
}
.sec-campaign1--contents {
  padding: 26.6666666667vw 0 33.3333333333vw;
  margin: -13.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--contents {
    padding: 10.4166666667vw 0 13.0208333333vw;
    margin: -8.8541666667vw 0 0;
  }
}
.sec-campaign1--tit {
  background: url("../data/webp/pre/tit_line.png.webp") no-repeat center bottom/86.6666666667vw auto;
  padding: 0 0 10vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--tit {
    background: url("../data/webp/pre/tit_line_pc.png.webp") no-repeat center bottom/62.5vw auto;
    padding: 0 0 3.90625vw;
  }
  .sec-campaign1--tit span {
    width: 39.0625vw;
    margin: 0 auto;
    display: block;
  }
}
.sec-campaign1--read {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #8e043d;
  font-size: 5.3333333333vw;
  letter-spacing: 0.01em;
  line-height: 1.85;
  text-align: center;
  margin: 8vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--read {
    font-size: 2.0833333333vw;
    margin: 3.125vw 0 0;
  }
}
.sec-campaign1--item {
  width: 86.6666666667vw;
  margin: 3.3333333333vw auto 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item {
    width: 62.5vw;
    margin: 2.6041666667vw auto 0;
  }
}
.sec-campaign1--item-list {
  position: relative;
}
.sec-campaign1--item-list.cleared:before {
  display: block;
  content: "";
  background: url("../data/webp/pre/clear.png.webp") no-repeat 0 0/contain;
  width: 15.4666666667vw;
  height: 15.4666666667vw;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .sec-campaign1--item-list.cleared:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item-list.cleared:before {
    width: 5.5208333333vw;
    height: 5.5208333333vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5.2083333333vw;
  }
}
.sec-campaign1--item-list:not(:last-child) {
  margin: 0 0 13.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item-list:not(:last-child) {
    margin: 0 0 4.6875vw;
  }
}
.sec-campaign1--item-list:not(:last-child):after {
  display: block;
  content: "";
  background: url("../data/webp/pre/plus.png.webp") no-repeat 0 0/contain;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10.4vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item-list:not(:last-child):after {
    width: 2.0833333333vw;
    height: 2.0833333333vw;
    bottom: -3.3854166667vw;
  }
}
.sec-campaign1--item-list.modal-item a {
  display: block;
}
.sec-campaign1--item-list.modal-item .hakucho {
  width: 49.0666666667vw;
  position: absolute;
  right: -5.0666666667vw;
  bottom: 3.4666666667vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item-list.modal-item .hakucho {
    width: 22.03125vw;
    right: 0;
    bottom: 0;
  }
}
.sec-campaign1--item-list.modal-item.cleared:before {
  display: block;
  content: "";
  background: url("../data/webp/pre/clear_gold.png.webp") no-repeat 0 0/contain;
  width: 32vw;
  height: 29.3333333333vw;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .sec-campaign1--item-list.modal-item.cleared:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--item-list.modal-item.cleared:before {
    width: 12.5vw;
    height: 11.4583333333vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    top: 53%;
    right: 37.0833333333vw;
  }
}
.sec-campaign1--attention {
  width: 86.6666666667vw;
  font-size: 2.6666666667vw;
  line-height: 1.85;
  padding-left: 1em;
  text-indent: -0.85em;
  margin: 5.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--attention {
    width: auto;
    text-align: center;
    font-size: 0.7291666667vw;
    margin: 2.34375vw auto 0;
  }
}
.sec-campaign1--subtit {
  color: #8e043d;
  font-size: 3.7333333333vw;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
  margin: 8.6666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--subtit {
    font-size: 1.0416666667vw;
    margin: 5.9895833333vw auto 0;
  }
}
.sec-campaign1--scroll {
  width: 86.6666666667vw;
  height: 57.3333333333vw;
  font-size: 3.4666666667vw;
  padding: 2.6666666667vw;
  margin: 4vw auto 0;
  background: #dddddd;
  overflow-y: scroll;
  font-family: "Noto Sans JP", sans-serif;
}
.sec-campaign1--scroll__indent {
  padding-left: 1em;
  text-indent: -0.85em;
  line-height: 1.65;
}
.sec-campaign1--scroll__indent a {
  color: #8e043d;
  line-height: 1.85;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--scroll__indent a:hover {
    color: #000;
  }
}
@media only screen and (min-width: 768px) {
  .sec-campaign1--scroll {
    width: 62.5vw;
    height: 20.8333333333vw;
    font-size: 0.7291666667vw;
    padding: 2.0833333333vw;
    margin: 1.5625vw auto 0;
  }
}

.sec-campaign2 {
  background: url("../data/webp/pre/bg_contents.png.webp") repeat 0 0/25% auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgb(0, 0, 0) 2.5%, rgba(0, 0, 0, 0.9) 97%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgb(0, 0, 0) 2.5%, rgba(0, 0, 0, 0.9) 97%, transparent 100%);
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2 {
    background: url("../data/webp/pre/bg_contents.png.webp") repeat 0 0/128px 128px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 4.5%, rgba(0, 0, 0, 0.8) 95%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 4.5%, rgba(0, 0, 0, 0.8) 95%, transparent 100%);
  }
}
.sec-campaign2--contents {
  padding: 33.3333333333vw 0 46.6666666667vw;
  margin: -9.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--contents {
    padding: 15.625vw 0 14.5833333333vw;
    margin: -7.8125vw 0 0;
  }
}
.sec-campaign2--titbg {
  background: url("../data/webp/pre/bg_tit_campaign2.png.webp") no-repeat 0 0/cover;
  padding: 31.3333333333vw 0 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--titbg {
    background: url("../data/webp/pre/bg_tit_canpaign2_pc.png.webp") no-repeat 0 0/cover;
    padding: 10.9375vw 0 13.5416666667vw;
  }
}
.sec-campaign2--tit {
  background: url("../data/webp/pre/tit_line.png.webp") no-repeat center bottom/86.6666666667vw auto;
  padding: 0 0 10vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--tit {
    background: url("../data/webp/pre/tit_line_pc.png.webp") no-repeat center bottom/62.5vw auto;
    padding: 0 0 3.90625vw;
  }
  .sec-campaign2--tit span {
    width: 39.0625vw;
    margin: 0 auto;
    display: block;
  }
}
.sec-campaign2--finish-text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-weight: 700;
  color: #8e043d;
  font-size: 5.3333333333vw;
  line-height: 2;
  text-align: center;
  margin: -4.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--finish-text {
    font-size: 2.0833333333vw;
    margin: -8.4375vw 0 0;
  }
}
.sec-campaign2--finish-btn {
  background: url("../data/webp/pre/bnr_result.png.webp") no-repeat 0 0/contain;
  width: 86.6666666667vw;
  height: 17.6vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 7.3333333333vw auto 0;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--finish-btn {
    background: url("../data/webp/pre/bnr_result_pc.png.webp") no-repeat 0 0/contain;
    width: 62.5vw;
    height: 6.25vw;
    margin: 3.6458333333vw auto 0;
    transition: 0.3s;
  }
  .sec-campaign2--finish-btn:hover {
    color: #8e043d;
  }
}
.sec-campaign2--finish-btn__text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 6.6666666667vw;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--finish-btn__text {
    font-size: 2.6041666667vw;
  }
}
.sec-campaign2--finish-btn .icon {
  width: 3.7333333333vw;
  height: 3.2vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  top: 52%;
  right: 22.9333333333vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--finish-btn .icon {
    width: 1.4583333333vw;
    height: 1.25vw;
    right: 22.2916666667vw;
  }
}
.sec-campaign2--read {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4vw;
  line-height: 1.85;
  text-align: center;
  margin: 9.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read {
    font-size: 1.25vw;
    margin: 3.90625vw 0 0;
  }
}
.sec-campaign2--read em {
  color: #8e043d;
  font-size: 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read em {
    font-size: 1.7708333333vw;
  }
}
.sec-campaign2--detail {
  width: 86.6666666667vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--detail {
    width: 46.875vw;
    display: flex;
    justify-content: center;
    margin: 6.6666666667vw auto 0;
  }
}
.sec-campaign2--detail-item {
  margin: 6.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--detail-item {
    flex-basis: 24.4791666667vw;
    margin: 0;
  }
  .sec-campaign2--detail-item:last-child {
    margin-left: -2.0833333333vw;
  }
}
.sec-campaign2--detail-item__circle {
  background: url("../data/webp/pre/circle.png.webp") no-repeat 0 0/contain;
  width: 47.4666666667vw;
  height: 47.4666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--detail-item__circle {
    width: 13.2291666667vw;
    height: 13.2291666667vw;
  }
}
.sec-campaign2--detail-item__circle span {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 5.3333333333vw;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--detail-item__circle span {
    font-size: 1.25vw;
  }
}
.sec-campaign2--detail-item__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  text-align: center;
  margin: 5.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--detail-item__text {
    font-size: 1.0416666667vw;
    line-height: 1.85;
    margin: 2.0833333333vw auto 0;
  }
}
.sec-campaign2--attention {
  font-size: 2.6666666667vw;
  line-height: 1.85;
  text-align: center;
  display: block;
  margin: 4.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--attention {
    font-size: 0.7291666667vw;
    margin: 1.0416666667vw auto 0;
  }
}
.sec-campaign2--period {
  width: 97.8666666667vw;
  margin: 9.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--period {
    width: 62.5vw;
    margin: 3.90625vw auto 0;
  }
}
.sec-campaign2--bnr {
  margin: 13.6vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--bnr {
    margin: 5.7291666667vw auto 0;
  }
}
.sec-campaign2--bnr-link {
  background: url("../data/webp/pre/bg_cv.png.webp") no-repeat 0 0/contain;
  width: 100vw;
  height: 75.7333333333vw;
  position: relative;
  display: block;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--bnr-link {
    background: url("../data/webp/pre/bg_cv_pc.png.webp") no-repeat 0 0/contain;
    width: 100%;
    height: 17.4479166667vw;
  }
}
.sec-campaign2--bnr-link .off {
  width: 70.4vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 13.6vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--bnr-link .off {
    width: 42.9166666667vw;
    top: 9.1145833333vw;
  }
}
.sec-campaign2--about {
  font-family: "Noto Sans JP", sans-serif;
  margin: 17.0666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about {
    width: 46.875vw;
    margin: 4.6875vw auto 0;
  }
}
.sec-campaign2--about-tit {
  padding: 0 14.4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-tit {
    padding: 0 1.5625vw;
  }
}
.sec-campaign2--about-tit:after {
  display: block;
  content: "";
  background: url("../data/webp/common/icon_deco_line.png.webp") no-repeat 0 0/contain;
  width: 6.1333333333vw;
  height: 3.7333333333vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.2vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-tit:after {
    width: 1.1979166667vw;
    height: 0.7291666667vw;
    right: 0;
  }
}
.sec-campaign2--about-tit:before {
  display: block;
  content: "";
  background: url("../data/webp/common/icon_deco_line.png.webp") no-repeat 0 0/contain;
  width: 6.1333333333vw;
  height: 3.7333333333vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 7.2vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-tit:before {
    width: 1.1979166667vw;
    height: 0.7291666667vw;
    left: 0;
  }
}
.sec-campaign2--about-tit__line {
  background: #8e043d;
  flex-basis: 24.6666666667vw;
  width: 24.6666666667vw;
  height: 2px;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-tit__line {
    flex-basis: 16.40625vw;
    width: 16.40625vw;
    height: 1px;
    right: 0;
  }
}
.sec-campaign2--about-tit__text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4.5333333333vw;
  color: #8e043d;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-tit__text {
    font-size: 1.3541666667vw;
  }
}
.sec-campaign2--about-organize {
  padding: 0 7.7333333333vw;
  margin: 6.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize {
    padding: 0;
    margin: 2.8645833333vw auto 0;
  }
}
.sec-campaign2--about-organize__store {
  display: flex;
  align-items: center;
}
.sec-campaign2--about-organize__store:before {
  display: block;
  content: "";
  background-color: #8e043d;
  border-radius: 50%;
  width: 2.4vw;
  height: 2.4vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__store:before {
    width: 0.7291666667vw;
    height: 0.7291666667vw;
  }
}
.sec-campaign2--about-organize__store span {
  font-size: 3.7333333333vw;
  font-weight: 700;
  padding-left: 1.0666666667vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__store span {
    font-size: 0.9375vw;
    padding-left: 0.625vw;
  }
}
.sec-campaign2--about-organize__animate {
  font-size: 3.7333333333vw;
  margin: 5.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__animate {
    font-size: 0.9375vw;
    margin: 1.3541666667vw 0 0;
  }
}
.sec-campaign2--about-organize__link {
  font-size: 3.7333333333vw;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin: 5.3333333333vw 0 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__link {
    font-size: 0.9375vw;
    margin: 1.3541666667vw 0 0;
    transition: 0.3s;
  }
  .sec-campaign2--about-organize__link:hover {
    color: #8e043d;
  }
  .sec-campaign2--about-organize__link:hover:after {
    display: block;
    content: "";
    margin-left: 0.9375vw;
  }
}
.sec-campaign2--about-organize__link:after {
  display: block;
  content: "";
  background: url("../data/webp/pre/icon_blank.png.webp") no-repeat 0 0/contain;
  width: 3.0666666667vw;
  height: 2.5333333333vw;
  margin-left: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__link:after {
    width: 0.78125vw;
    height: 0.625vw;
    margin-left: 0.78125vw;
    transition: 0.3s;
  }
}
.sec-campaign2--about-organize__link-text {
  border-bottom: 1px solid #000;
  padding: 0 0 0.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-organize__link-text {
    padding: 0 0 0.3125vw;
  }
}
.sec-campaign2--about-prize {
  padding: 0 5.2vw;
  margin: -2.6666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    margin: 0 auto;
  }
}
.sec-campaign2--about-prize__list {
  margin: 9.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list {
    flex-basis: 22.2916666667vw;
    margin: 3.125vw 0 0;
  }
  .sec-campaign2--about-prize__list.prize3 {
    flex-basis: 46.875vw;
  }
  .sec-campaign2--about-prize__list.prize3 .sec-campaign2--about-prize__list-tit {
    background: url("../data/webp/pre/bg_subtit2_pc.png.webp") no-repeat 0 0/contain;
    width: 46.875vw;
  }
}
.sec-campaign2--about-prize__list-tit {
  background: url("../data/webp/pre/bg_subtit.png.webp") no-repeat 0 0/contain;
  width: 100%;
  height: 8vw;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 4vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-tit {
    background: url("../data/webp/pre/bg_subtit_pc.png.webp") no-repeat 0 0/contain;
    width: 22.2916666667vw;
    height: 1.6666666667vw;
    font-size: 1.1458333333vw;
  }
}
.sec-campaign2--about-prize__list-text {
  font-size: 3.7333333333vw;
  line-height: 1.85;
  padding: 0 1.3333333333vw;
  margin: 5.3333333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-text {
    font-size: 0.9375vw;
    padding: 0;
    margin: 1.5625vw 0 0;
  }
  .sec-campaign2--about-prize__list-text:not(:first-child) {
    margin: 1.0416666667vw 0 0;
  }
}
.sec-campaign2--about-prize__list-text em {
  color: #8e043d;
  font-weight: 700;
  display: block;
}
.sec-campaign2--about-prize__list-attention {
  font-size: 2.6666666667vw;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
  margin: 4vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-attention {
    font-size: 0.7291666667vw;
    margin: 1.0416666667vw 0 0;
  }
}
.sec-campaign2--about-prize__list-detail {
  padding: 0 1.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail {
    padding: 0;
    margin: 1.6666666667vw 0 0;
    display: flex;
  }
}
.sec-campaign2--about-prize__list-detail .prize-detail {
  margin: 5.0666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail .prize-detail {
    flex-basis: 22.9166666667vw;
    margin: 0 2.0833333333vw 0 0;
  }
}
.sec-campaign2--about-prize__list-detail .prize-detail--tit {
  font-size: 3.7333333333vw;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail .prize-detail--tit {
    font-size: 0.9375vw;
  }
}
.sec-campaign2--about-prize__list-detail .prize-detail--text {
  font-size: 3.7333333333vw;
  line-height: 1.85;
  margin: 4.6666666667vw 0 0;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail .prize-detail--text {
    font-size: 0.9375vw;
    margin: 1.5625vw 0 0;
  }
}
.sec-campaign2--about-prize__list-detail .prize-detail--text em {
  color: #8e043d;
  font-weight: 700;
}
.sec-campaign2--about-prize__list-detail .prize-detail--img.gold {
  width: 86.6666666667vw;
  margin: 4vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail .prize-detail--img.gold {
    width: 23.125vw;
    margin: 0 -0.5208333333vw 0 auto;
  }
}
.sec-campaign2--about-prize__list-detail .prize-detail--img.silver {
  width: 62.4vw;
  margin: 4vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-prize__list-detail .prize-detail--img.silver {
    width: 16.5104166667vw;
    margin: 0 auto 0;
  }
}
.sec-campaign2--about-attention {
  padding: 0 6.9333333333vw;
  margin: 6.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-attention {
    padding: 0;
    margin: 2.6041666667vw 0 0;
  }
}
.sec-campaign2--about-attention p {
  font-size: 2.6666666667vw;
  line-height: 1.65;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--about-attention p {
    font-size: 0.7291666667vw;
  }
}
.sec-campaign2--result {
  width: 86.6666666667vw;
  margin: 9.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--result {
    width: 46.875vw;
    margin: 3.90625vw auto 0;
  }
}
.sec-campaign2--entry {
  font-family: "Noto Sans JP", sans-serif;
  margin: 17.0666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry {
    width: 46.875vw;
    margin: 4.6875vw auto 0;
  }
}
.sec-campaign2--entry-tit {
  padding: 0 14.4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-tit {
    padding: 0 1.5625vw;
  }
}
.sec-campaign2--entry-tit:after {
  display: block;
  content: "";
  background: url("../data/webp/pre/icon_deco_line.png.webp") no-repeat 0 0/contain;
  width: 6.1333333333vw;
  height: 3.7333333333vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.2vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-tit:after {
    width: 1.1979166667vw;
    height: 0.7291666667vw;
    right: 0;
  }
}
.sec-campaign2--entry-tit:before {
  display: block;
  content: "";
  background: url("../data/webp/pre/icon_deco_line.png.webp") no-repeat 0 0/contain;
  width: 6.1333333333vw;
  height: 3.7333333333vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 7.2vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-tit:before {
    width: 1.1979166667vw;
    height: 0.7291666667vw;
    left: 0;
  }
}
.sec-campaign2--entry-tit__line {
  background: #8e043d;
  flex-basis: 24.6666666667vw;
  width: 24.6666666667vw;
  height: 2px;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-tit__line {
    flex-basis: 16.40625vw;
    width: 16.40625vw;
    height: 1px;
    right: 0;
  }
}
.sec-campaign2--entry-tit__text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4.5333333333vw;
  color: #8e043d;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-tit__text {
    font-size: 1.3541666667vw;
  }
}
.sec-campaign2--entry-step {
  padding: 0 7.7333333333vw;
  margin: 6.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-step {
    padding: 0;
    margin: 0.78125vw 0 0;
  }
}
.sec-campaign2--entry-step__text {
  display: flex;
  margin: 2.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-step__text {
    margin: 1.0416666667vw 0 0;
  }
}
.sec-campaign2--entry-step__text:before {
  display: block;
  content: "";
  background-color: #8e043d;
  border-radius: 50%;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 3.2vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-step__text:before {
    width: 1.5104166667vw;
    height: 1.5104166667vw;
    font-size: 0.9375vw;
  }
}
.sec-campaign2--entry-step__text.step1:before {
  content: "1";
}
.sec-campaign2--entry-step__text.step2:before {
  content: "2";
}
.sec-campaign2--entry-step__text span {
  font-size: 3.7333333333vw;
  font-weight: 700;
  padding-left: 1.0666666667vw;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-step__text span {
    padding-left: 0.625vw;
    font-size: 0.9375vw;
  }
}
.sec-campaign2--entry-btn {
  background: url("../data/webp/pre/bg_btn.png.webp") no-repeat 0 0/contain;
  width: 86.6666666667vw;
  height: 14.2666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4.6666666667vw auto 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-btn {
    width: 22.4479166667vw;
    height: 3.75vw;
    margin: 2.8645833333vw auto 0;
  }
}
.sec-campaign2--entry-btn__text {
  font-size: 3.7333333333vw;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-btn__text {
    font-size: 1.0416666667vw;
  }
}
.sec-campaign2--entry-btn .icon {
  width: 3.4666666667vw;
  height: 3.0666666667vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-btn .icon {
    width: 1.3541666667vw;
    height: 1.1979166667vw;
    right: 1.1979166667vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-btnlist {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.sec-campaign2--entry-btnlist .sec-campaign2--entry-btn {
  margin: 8vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-btnlist .sec-campaign2--entry-btn {
    margin: 2.6041666667vw 1.0416666667vw 0;
    flex-shrink: 0;
    transition: 0.3s;
  }
  .sec-campaign2--entry-btnlist .sec-campaign2--entry-btn:hover {
    color: #8e043d;
  }
}
.sec-campaign2--entry-attention {
  padding: 0 6.9333333333vw;
  margin: 6.6666666667vw 0 0;
}
.sec-campaign2--entry-attention p {
  font-size: 2.6666666667vw;
  line-height: 1.65;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--entry-attention {
    padding: 0;
    margin: 2.6041666667vw 0 0;
  }
  .sec-campaign2--entry-attention p {
    font-size: 0.7291666667vw;
  }
}
.sec-campaign2--read-subtit {
  color: #8e043d;
  font-size: 3.7333333333vw;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
  margin: 10.6666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read-subtit {
    font-size: 1.0416666667vw;
    margin: 5.9895833333vw auto 0;
  }
}
.sec-campaign2--read-scroll {
  width: 86.6666666667vw;
  height: 57.3333333333vw;
  padding: 2.6666666667vw 2.6666666667vw;
  margin: 4vw auto 0;
  background: #dddddd;
  overflow-y: scroll;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.4666666667vw;
}
.sec-campaign2--read-scroll__indent {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.85;
}
.sec-campaign2--read-scroll__indent a {
  color: #8e043d;
  line-height: 1.85;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read-scroll__indent a:hover {
    color: #000;
  }
}
.sec-campaign2--read-scroll__text {
  line-height: 1.85;
  margin: 1.3333333333vw 0;
}
.sec-campaign2--read-scroll__text em {
  font-weight: 700;
}
.sec-campaign2--read-scroll__text a {
  color: #8e043d;
  line-height: 1.85;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read-scroll__text a:hover {
    color: #000;
  }
}
@media only screen and (min-width: 768px) {
  .sec-campaign2--read-scroll {
    width: 62.5vw;
    height: 9.8958333333vw;
    padding: 1.0416666667vw 1.5625vw;
    margin: 1.5625vw auto 0;
    font-size: 0.7291666667vw;
  }
  .sec-campaign2--read-scroll__text {
    margin: 0.5208333333vw 0;
  }
}

.fixbtn {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 10;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms;
}
.fixbtn.js--show {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 300ms;
}
@media only screen and (min-width: 768px) {
  .fixbtn {
    display: none;
  }
}
.fixbtn--list {
  background: linear-gradient(180deg, rgba(105, 30, 83, 0) 0%, rgba(105, 30, 83, 0.1) 25%, rgba(105, 30, 83, 0.7) 80%);
  padding: 17.3333333333vw 5.3333333333vw 3.3333333333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 3.6vw 0 0;
}
.fixbtn--list-item a {
  display: block;
  width: 100%;
  height: 14.2666666667vw;
}
.fixbtn--list-item a img {
  width: auto;
  max-width: none;
  height: 100%;
}

.pagetop {
  width: 12vw;
  height: 12vw;
  display: block;
  position: fixed;
  z-index: 11;
  bottom: 21.3333333333vw;
  right: 2.6666666667vw;
  transition: 0.3s;
}
.pagetop img {
  display: block;
  position: absolute;
  transition: 0.3s;
}
.pagetop img.on {
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .pagetop {
    width: 5.7291666667vw;
    height: 5.7291666667vw;
    bottom: 1.5625vw;
    right: 1.5625vw;
  }
  .pagetop:hover .on {
    opacity: 1;
  }
}

.footer {
  padding: 0 0 10vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding: 0 0 3.3854166667vw;
  }
}
@media only screen and (min-width: 768px) {
  .footer-content {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
  }
}
.footer-logo {
  width: 47.6vw;
  height: 14.9333333333vw;
  margin: 0 auto;
}
.footer-logo a {
  display: block;
}
@media only screen and (min-width: 768px) {
  .footer-logo {
    width: 20.8333333333vw;
    height: 6.5625vw;
    margin: 0;
  }
}
.footer-spec {
  padding: 0 13.3333333333vw;
  margin: 6vw auto 0;
}
@media only screen and (min-width: 768px) {
  .footer-spec {
    padding: 0;
    margin: 0 0 0 3.125vw;
  }
}
.footer-spec--content {
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  font-size: 2.6666666667vw;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .footer-spec--content {
    font-size: 0.625vw;
  }
}
.footer-spec--content__tit {
  flex-basis: 28vw;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .footer-spec--content__tit {
    flex-basis: 9.375vw;
    flex-shrink: 0;
  }
}
@media only screen and (min-width: 768px) {
  .footer-spec--content__desc {
    flex-shrink: 0;
  }
}
.footer-bnr {
  width: 86.6666666667vw;
  height: 20.1333333333vw;
  margin: 7.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .footer-bnr {
    width: 62.5vw;
    height: 7.8125vw;
    margin: 2.34375vw auto 0;
  }
}
.footer-bnr a {
  width: 100%;
  height: 100%;
  font-size: 0;
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .footer-bnr a:hover img {
    transform: translate(-50%, -50%) scale(1.05);
    filter: sepia(100%);
  }
}
.footer-bnr a img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  transition: 0.3s;
}

.modal-block {
  border: 5px solid #885ab3;
  background: url("../data/webp/pre/modal/bg.png.webp") #fff repeat 0 0/25% auto;
  padding: 0.4vw;
  position: relative;
}
.modal-block:before {
  display: block;
  content: "";
  background: #885ab3;
  width: 4vw;
  height: 1px;
  position: absolute;
  top: 1.3333333333vw;
  left: -0.9333333333vw;
  transform: rotate(-45deg);
}
@media only screen and (min-width: 768px) {
  .modal-block:before {
    width: 2.9166666667vw;
    top: 0.78125vw;
    left: -0.7291666667vw;
  }
}
.modal-block:after {
  display: block;
  content: "";
  background: #885ab3;
  width: 4vw;
  height: 1px;
  position: absolute;
  top: 1.3333333333vw;
  right: -0.9333333333vw;
  transform: rotate(45deg);
}
@media only screen and (min-width: 768px) {
  .modal-block:after {
    width: 2.9166666667vw;
    top: 0.78125vw;
    right: -0.7291666667vw;
  }
}
.modal-block img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .modal-block {
    background: url("../data/webp/pre/bg_contents.png.webp") #fff repeat 0 0/128px 128px;
    border: 0.5208333333vw solid #885ab3;
    padding: 0.4166666667vw;
  }
}
.modal-block--inner {
  border: 1px solid #885ab3;
  padding: 8vw 0 8.6666666667vw;
  position: relative;
}
.modal-block--inner:before {
  display: block;
  content: "";
  background: #885ab3;
  width: 4vw;
  height: 1px;
  position: absolute;
  bottom: 0.4vw;
  left: -1.3333333333vw;
  transform: rotate(45deg);
}
@media only screen and (min-width: 768px) {
  .modal-block--inner:before {
    width: 2.9166666667vw;
    bottom: 0.3645833333vw;
    left: -1.1979166667vw;
  }
}
.modal-block--inner:after {
  display: block;
  content: "";
  background: #885ab3;
  width: 4vw;
  height: 1px;
  position: absolute;
  bottom: 0.4vw;
  right: -1.3333333333vw;
  transform: rotate(-45deg);
}
@media only screen and (min-width: 768px) {
  .modal-block--inner:after {
    width: 2.9166666667vw;
    bottom: 0.3645833333vw;
    right: -1.1979166667vw;
  }
}
@media only screen and (min-width: 768px) {
  .modal-block--inner {
    padding: 3.125vw 0 2.0833333333vw;
  }
}
.modal-block--title {
  padding: 0 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--title {
    padding: 0 getvw(80, 1920);
  }
}
.modal-block--subtit1 {
  width: 66.9333333333vw;
  margin: 5.3333333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .modal-block--subtit1 {
    width: 38.6458333333vw;
    margin: 2.34375vw auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .modal-block--main {
    width: 52.9166666667vw;
    margin: 0 auto;
  }
}
.modal-block--subtit2 {
  border-top: 2px solid #885ab3;
  width: 73.6vw;
  padding: 6.2666666667vw 6vw 0;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .modal-block--subtit2 {
    width: 52.9166666667vw;
    padding: 2.34375vw 8.3333333333vw 0;
  }
}
.modal-block--container {
  padding: 0 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--container {
    padding: 0 2.34375vw;
  }
}
.modal-block--container-tit {
  margin: 6vw auto 0;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-tit {
    margin: 3.2291666667vw 0 0;
  }
}
.modal-block--container-storename {
  background: url("../data/webp/pre/modal/bg_storename.png.webp") no-repeat center 0/contain;
  width: 100%;
  height: 8.5333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3.3333333333vw 0 4.6666666667vw;
}
.modal-block--container-storename span {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4.2666666667vw;
  color: #fff;
}
.modal-block--container-storename span small {
  font-size: 2.9333333333vw;
  padding-left: 0.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-storename {
    height: 6.25vw;
    margin: 2.0833333333vw 0 2.0833333333vw;
  }
  .modal-block--container-storename span {
    font-size: 3.125vw;
  }
  .modal-block--container-storename span small {
    font-size: 2.0833333333vw;
    padding-left: 0.4166666667vw;
  }
}
.modal-block--container-storelist {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
  margin: 2.6666666667vw 0 2vw;
}
.modal-block--container-storelist__name {
  font-size: 3.2vw;
  line-height: 6.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-storelist {
    padding: 0 1.0416666667vw;
    margin: 0.5208333333vw 0 3.4895833333vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .modal-block--container-storelist__name {
    font-size: 1.8229166667vw;
    line-height: 3.2291666667vw;
    margin: 2.34375vw 0 0;
    flex-basis: 50%;
    position: relative;
  }
  .modal-block--container-storelist__name:last-child {
    margin: 0.78125vw 0 0;
  }
  .modal-block--container-storelist__name:nth-child(even):before {
    display: block;
    content: "";
    background: url("../data/webp/pre/modal/list_line.png.webp") no-repeat 0 0/contain;
    width: 0.4166666667vw;
    height: 3.4375vw;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.modal-block--container-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6666666667vw;
  line-height: 1.5;
  letter-spacing: -0.05em;
  padding: 0 1.3333333333vw 0 2vw;
}
.modal-block--container-text em {
  color: #8e043d;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-text {
    font-size: 1.0416666667vw;
    padding: 0 2.34375vw;
  }
}
.modal-block--container-img-g {
  width: 62.6666666667vw !important;
  margin: 3.7333333333vw auto 0;
  display: block;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-img-g {
    width: 48.6979166667vw !important;
    margin: 2.34375vw auto 0;
  }
}
.modal-block--container-img-s {
  width: 48.8vw !important;
  margin: 1.3333333333vw auto 0;
  display: block;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-img-s {
    width: 34.5833333333vw !important;
    margin: 2.6041666667vw auto 0;
  }
}
.modal-block--container-dist {
  background: #8e043d;
  width: 73.3333333333vw;
  height: 6vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6.6666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-dist {
    width: 52.9166666667vw;
    height: 2.34375vw;
    margin: 3.125vw auto 0;
  }
}
.modal-block--container-dist span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 2.9333333333vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-dist span {
    font-size: 1.1458333333vw;
  }
}
.modal-block--container-btn {
  background: url("../data/webp/pre/bg_btn.png.webp") no-repeat 0 0/contain;
  width: 100%;
  height: 12.2666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6.2666666667vw auto 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-btn {
    width: 20vw;
    height: 3.3333333333vw;
    margin: 3.125vw auto 0;
    transition: 0.3s;
  }
  .modal-block--container-btn:hover {
    color: #8e043d;
  }
}
.modal-block--container-btn__text {
  font-size: 3.7333333333vw;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-btn__text {
    font-size: 1.0416666667vw;
  }
}
.modal-block--container-btn .icon {
  width: 3.4666666667vw;
  height: 3.0666666667vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .modal-block--container-btn .icon {
    width: 1.3541666667vw;
    height: 1.1979166667vw;
    right: 1.1979166667vw;
  }
}

.mfp-bg {
  background: #000;
  opacity: 0.7;
}

.mfp-close-btn-in {
  overflow: hidden auto;
}

.mfp-figure:after {
  content: none;
}

.popup-close.mfp-close {
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../img/common/modal_close.png");
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  top: -11.3333333333vw;
  bottom: auto;
  left: auto;
  right: 0;
  padding: 0;
  opacity: 1;
}
.popup-close.mfp-close::before, .popup-close.mfp-close::after {
  content: none;
}
@media only screen and (min-width: 768px) {
  .popup-close.mfp-close {
    width: 50px;
    height: 50px;
    top: -80px;
    transition: 0.3s;
  }
  .popup-close.mfp-close:hover {
    opacity: 0.6;
  }
}

.mfp-image-holder {
  padding: 17.3333333333vw 4vw;
}
@media only screen and (min-width: 768px) {
  .mfp-image-holder {
    padding: 90px 0 50px;
  }
}

.mfp-inline-holder {
  padding: 17.3333333333vw 6.6666666667vw 4vw;
}
@media only screen and (min-width: 768px) {
  .mfp-inline-holder {
    padding: 90px 18.75vw 50px;
  }
}
.mfp-inline-holder .mfp-content {
  padding: 0 0 4vw;
}
@media only screen and (min-width: 768px) {
  .mfp-inline-holder .mfp-content {
    padding: 0 0 50px;
  }
}

@media only screen and (min-width: 768px) {
  .mfp-image-holder .mfp-content {
    max-width: 1060px;
  }
}

.mfp-iframe-scaler iframe {
  box-shadow: none;
}

.mfp-figure:after {
  content: none;
}

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.7;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/*# sourceMappingURL=../maps/pre.css.map */
