@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.animate .fadein {
  opacity: 0;
  transform-style: preserve-3d;
  transition-property: opacity;
  transition-duration: 1600ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .fadein {
  opacity: 1;
}
.animate .slidein_left {
  opacity: 0;
  transform: translateX(-100px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate .slidein_right {
  opacity: 0;
  transform: translateX(100px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .slidein_left, .animate.show .slidein_right {
  opacity: 1;
  transform: translateX(0);
}
.animate .slidein_top {
  opacity: 0;
  transform: translateY(-20px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate .slidein_bottom {
  opacity: 0;
  transform: translateY(20px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .slidein_top, .animate.show .slidein_bottom {
  opacity: 1;
  transform: translateY(0);
}
.animate .zoomin {
  opacity: 0;
  transform: scale(1.5, 1.5);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 400ms;
  transition-delay: 0ms;
}
.animate .zoomout {
  opacity: 0;
  transform: scale(0.5, 0.5);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 400ms;
  transition-delay: 0ms;
}
.animate.show .zoomin, .animate.show .zoomout {
  opacity: 1;
  transform: scale(1, 1);
}
.animate .d1 {
  transition-delay: 100ms;
}
.animate .d2 {
  transition-delay: 200ms;
}
.animate .d3 {
  transition-delay: 300ms;
}
.animate .d4 {
  transition-delay: 400ms;
}
.animate .d5 {
  transition-delay: 500ms;
}
.animate .d6 {
  transition-delay: 600ms;
}
.animate .d7 {
  transition-delay: 700ms;
}
.animate .d8 {
  transition-delay: 800ms;
}
.animate .d9 {
  transition-delay: 900ms;
}
.animate .d10 {
  transition-delay: 1000ms;
}
.animate .d11 {
  transition-delay: 1100ms;
}
.animate .d12 {
  transition-delay: 1200ms;
}
.animate .d13 {
  transition-delay: 1300ms;
}
.animate .d14 {
  transition-delay: 1400ms;
}
.animate .d15 {
  transition-delay: 1500ms;
}
.animate .d16 {
  transition-delay: 1600ms;
}
.animate .d17 {
  transition-delay: 1700ms;
}
.animate .d18 {
  transition-delay: 1800ms;
}
.animate .d19 {
  transition-delay: 1900ms;
}
.animate .d20 {
  transition-delay: 2000ms;
}

body {
  font-family: "M PLUS Rounded 1c", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
}
body main {
  width: 100%;
}
body a, body button {
  outline: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  body a, body button {
    opacity: 1;
    transform-style: preserve-3d;
    transition-property: opacity;
    transition-duration: 300ms;
    transition-timing-function: linear;
    transition-delay: 0ms;
  }
  body a:hover, body button:hover {
    opacity: 0.6;
  }
}
body a:hover, body button:hover {
  text-decoration: none;
}
body img {
  vertical-align: bottom;
  border: 0;
  outline: none;
}
body sup, body sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative;
  font-size: 50%;
}
body sup {
  bottom: 1ex;
}
body sub {
  top: 0.5ex;
}
body input, body textarea, body select, body button {
  padding: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body input::-ms-expand, body textarea::-ms-expand, body select::-ms-expand, body button::-ms-expand {
  display: none;
}
body .word_break {
  word-wrap: break-word;
  word-break: break-all;
}
body * {
  outline: none;
}
body *:hover, body *:active, body *:focus {
  outline: none;
}

.navy {
  color: #00265E;
}

.blue {
  color: #2853DD;
}

.pink {
  color: #E4007F;
}

.orange {
  color: #F39701;
}

.yellow {
  color: #FFEE53;
}

.white {
  color: #fff;
}

@media screen and (min-width: 768px) {
  body {
    width: 100%;
  }
  body img {
    display: block;
    width: 100%;
  }
  body .btn {
    display: block;
    width: 14.375vw;
    height: 2.6875vw;
    margin: auto;
    position: relative;
  }
  body .btn span {
    display: block;
    width: 100%;
    padding: 0.46875vw 0;
    border-radius: 1.25vw;
    box-sizing: border-box;
    background-color: #FFEE53;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
    text-align: center;
    color: #2853DD;
    transition: all 0.2s ease-out;
  }
  body .btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 2.5vw;
    background-color: #00265E;
    border-radius: 1.25vw;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
  body .btn:hover span {
    transform: translateY(0.1875vw);
  }
  body .box {
    width: 62.5vw;
    padding: 2.5vw 3.75vw;
    border-radius: 1.25vw;
    box-sizing: border-box;
    margin: auto;
    position: relative;
  }
  body .box .ribbon {
    width: fit-content;
    height: 6.75vw;
    position: absolute;
    top: -2.75vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body .box .ribbon img {
    width: auto;
    height: 100%;
  }
  body .box .box-border {
    font-size: 1.25vw;
    line-height: 1.875vw;
    font-weight: 500;
    padding-bottom: 1.25vw;
    background-repeat: no-repeat;
    background-position: bottom center;
  }
  body .box::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
  }
  body header {
    width: 100%;
    padding: 0.875vw 0;
    background-color: rgba(255, 255, 255, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3.125vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
  }
  body header .header-logo {
    display: block;
    width: 15.875vw;
    height: auto;
  }
  body header .header-links .header-links-sub {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 1.25vw;
  }
  body header .header-links .header-links-sub li a {
    display: block;
    width: fit-content;
    padding-right: 1.25vw;
    position: relative;
    font-size: 0.875vw;
    line-height: 1.5625vw;
    font-weight: 500;
  }
  body header .header-links .header-links-sub li a::after {
    content: "";
    display: block;
    width: 1.0625vw;
    height: 1.0625vw;
    background: url("../img/icon-tab.svg") no-repeat center/100%;
    position: absolute;
    right: 0;
    bottom: 0.1875vw;
  }
  body header .header-links .header-links-main {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.5625vw;
    margin-top: 0.5vw;
  }
  body header .header-links .header-links-main li a {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
  }
  body header .header-links .header-links-main li a.btn {
    width: 260px;
  }
  body header .header-links .header-links-main li a.btn span {
    background-color: #2853DD;
    color: #fff;
  }
  body section h2 {
    display: block;
    width: fit-content;
    height: 9.6875vw;
    margin: auto;
  }
  body section h2 img {
    width: auto;
    height: 100%;
  }
  body section p {
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 500;
    text-align: center;
    color: #00265E;
  }
  body section p .bold {
    font-weight: 700;
  }
  body section .chara {
    display: block;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
  }
  body section .chara.sv-chara1 {
    width: 22.3125vw;
    height: 35.8125vw;
    background-image: url("../img/sv-chara1.png");
    top: 7.125vw;
    right: 50%;
    margin-right: 21vw;
  }
  body section .chara.sv-chara2 {
    width: 19.625vw;
    height: 35.9375vw;
    background-image: url("../img/sv-chara2.png");
    top: 22vw;
    left: 50%;
    margin-left: 20.875vw;
  }
  body section .chara.photo-chara1 {
    width: 20.25vw;
    height: 38.1875vw;
    background-image: url("../img/photo-chara1.png");
    top: 2.1875vw;
    right: 50%;
    margin-right: 12.875vw;
  }
  body section .chara.photo-chara2 {
    width: 21.4375vw;
    height: 36.3125vw;
    background-image: url("../img/photo-chara2.png");
    top: 24.25vw;
    left: 50%;
    margin-left: 24.125vw;
  }
  body section .chara.photo-chara3 {
    width: 18.5625vw;
    height: 36.875vw;
    background-image: url("../img/photo-chara3.png");
    top: 50.25vw;
    right: 50%;
    margin-right: 24.5625vw;
  }
  body section .chara.benefits-chara1 {
    width: 15.625vw;
    height: 33.625vw;
    background-image: url("../img/benefits-chara1.png");
    top: 57.625vw;
    left: 50%;
    margin-left: 20.5vw;
  }
  body section .chara.benefits-chara2 {
    width: 20.875vw;
    height: 36.4375vw;
    background-image: url("../img/benefits-chara2.png");
    top: 72.5625vw;
    right: 50%;
    margin-right: 19.0625vw;
  }
  body section .chara.howto-chara1 {
    width: 13.125vw;
    height: 31.0625vw;
    background-image: url("../img/howto-chara1.png");
    top: 22.3125vw;
    left: 50%;
    margin-left: 27.0625vw;
  }
  body section .chara.howto-chara2 {
    width: 16.1875vw;
    height: 34vw;
    background-image: url("../img/howto-chara2.png");
    top: -1.125vw;
    right: 50%;
    margin-right: 23.75vw;
  }
  body section .chara.goods-chara {
    width: 25.8125vw;
    height: 39.0625vw;
    background-image: url("../img/goods-chara.png");
    top: 24.625vw;
    left: 50%;
    margin-left: 10.625vw;
  }
  body section .chara.event-chara1 {
    width: 15.6875vw;
    height: 37.125vw;
    background-image: url("../img/event-chara1.png");
    top: 25.375vw;
    right: 50%;
    margin-right: 15.875vw;
  }
  body section .chara.event-chara2 {
    width: 14.6875vw;
    height: 33.8125vw;
    background-image: url("../img/event-chara2.png");
    top: 27.375vw;
    left: 50%;
    margin-left: 19vw;
  }
  body section.mv .fv {
    width: 100%;
    height: auto;
    aspect-ratio: 1600/1137;
    position: relative;
  }
  body section.mv .fv .fv-bg {
    width: 100%;
    height: 100%;
    background: url("../img/fv-bg.jpg") no-repeat center/100%;
    position: absolute;
    top: 0;
    bottom: 0;
  }
  body section.mv .fv .fv-main {
    display: block;
    width: 33.25vw;
    height: auto;
    aspect-ratio: 532/430;
    position: absolute;
    top: 8.625vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.mv .fv .fv-sub {
    display: block;
    width: 41.9375vw;
    height: auto;
    aspect-ratio: 671/122;
    position: absolute;
    bottom: 6.375vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.mv .fv .fv-link {
    display: block;
    width: 22.9375vw;
    height: auto;
    aspect-ratio: 367/387;
    position: absolute;
    top: 13vw;
    left: 50%;
    margin-left: 20.9375vw;
  }
  body section.mv .sv {
    width: 100%;
    height: auto;
    aspect-ratio: 1600/894;
    background: url("../img/sv-bg.png") no-repeat center top/100% 100%;
    margin-top: -8.125vw;
    padding-top: 12.625vw;
    box-sizing: border-box;
    position: relative;
  }
  body section.mv .sv h3 {
    font-size: 2.25vw;
    line-height: 3.3125vw;
    font-weight: 800;
    text-align: center;
  }
  body section.mv .sv p {
    margin-top: 4.875vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 500;
    text-align: center;
  }
  body section.stamp .stamp-inner {
    width: 100%;
    height: auto;
    aspect-ratio: 1600/282;
    background: url("../img/stamp-bg.jpg") no-repeat center top/100% 100%;
  }
  body section.stamp .stamp-inner h2 {
    height: 11vw;
  }
  body section.stamp .stamp-inner p {
    margin-top: 0.5vw;
  }
  body section.stamp .stamp-map {
    width: 100%;
    height: auto;
    aspect-ratio: 1600/1331;
    background: url("../img/stamp-map-bg.jpg") no-repeat center/100%;
    position: relative;
  }
  body section.stamp .stamp-map .stamp-map-spot {
    display: block;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot01 {
    background-image: url("../img/stamp-map-spot01.png");
    width: 21.0625vw;
    height: 8.25vw;
    top: 11.75vw;
    right: 50%;
    margin-right: 17.0625vw;
    transition-property: transform;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot01:hover {
    transform: scale(1.1);
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot02 {
    background-image: url("../img/stamp-map-spot02.png");
    width: 5vw;
    height: 4.125vw;
    top: 16vw;
    left: 50%;
    margin-left: -12.9375vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot02:hover {
    background-image: url("../img/stamp-map-spot02-hover.png");
    width: 14.625vw;
    height: 4.375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot03 {
    background-image: url("../img/stamp-map-spot03.png");
    width: 4.625vw;
    height: 4.3125vw;
    top: 32.125vw;
    left: 50%;
    margin-left: -12.5625vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot03:hover {
    background-image: url("../img/stamp-map-spot03-hover.png");
    width: 15.375vw;
    height: 4.5625vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot04 {
    background-image: url("../img/stamp-map-spot04.png");
    width: 6.25vw;
    height: 4.9375vw;
    top: 26.625vw;
    left: 50%;
    margin-left: -11.6875vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot04:hover {
    background-image: url("../img/stamp-map-spot04-hover.png");
    width: 14.625vw;
    height: 4.9375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot05 {
    background-image: url("../img/stamp-map-spot05.png");
    width: 7.0625vw;
    height: 5.125vw;
    top: 48.75vw;
    right: 50%;
    margin-right: -0.5625vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot05:hover {
    background-image: url("../img/stamp-map-spot05-hover.png");
    width: 12.4375vw;
    height: 5.125vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot06 {
    background-image: url("../img/stamp-map-spot06.png");
    width: 6.1875vw;
    height: 4.125vw;
    top: 53.5vw;
    right: 50%;
    margin-right: 2.1875vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot06:hover {
    background-image: url("../img/stamp-map-spot06-hover.png");
    width: 12.75vw;
    height: 4.375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot07 {
    background-image: url("../img/stamp-map-spot07.png");
    width: 6.875vw;
    height: 4.125vw;
    top: 57.625vw;
    right: 50%;
    margin-right: -0.375vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot07:hover {
    background-image: url("../img/stamp-map-spot07-hover.png");
    width: 14.5vw;
    height: 4.375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot08 {
    background-image: url("../img/stamp-map-spot08.png");
    width: 5.875vw;
    height: 4.5vw;
    top: 68.625vw;
    left: 50%;
    margin-left: -0.375vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot08:hover {
    background-image: url("../img/stamp-map-spot08-hover.png");
    width: 13vw;
    height: 4.75vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot09 {
    background-image: url("../img/stamp-map-spot09.png");
    width: 4.9375vw;
    height: 7vw;
    top: 56.625vw;
    left: 50%;
    margin-left: 8.1875vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot09:hover {
    background-image: url("../img/stamp-map-spot09-hover.png");
    width: 13.0625vw;
    height: 7.25vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot10 {
    background-image: url("../img/stamp-map-spot10.png");
    width: 4.3125vw;
    height: 5vw;
    top: 50vw;
    left: 50%;
    margin-left: 4.5vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot10:hover {
    background-image: url("../img/stamp-map-spot10-hover.png");
    width: 12.6875vw;
    height: 5vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot11 {
    background-image: url("../img/stamp-map-spot11.png");
    width: 4.4375vw;
    height: 4.75vw;
    top: 55vw;
    left: 50%;
    margin-left: 13.875vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot11:hover {
    background-image: url("../img/stamp-map-spot11-hover.png");
    width: 12.4375vw;
    height: 5vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot12 {
    background-image: url("../img/stamp-map-spot12.png");
    width: 11.625vw;
    height: 4.4375vw;
    top: 49.125vw;
    left: 50%;
    margin-left: 16.5vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot12:hover {
    background-image: url("../img/stamp-map-spot12-hover.png");
    width: 20.1875vw;
    height: 4.4375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot13 {
    background-image: url("../img/stamp-map-spot13.png");
    width: 25.8125vw;
    height: 16.5625vw;
    top: 34.25vw;
    left: 50%;
    margin-left: 18.125vw;
    transition-property: transform;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot13:hover {
    transform: scale(1.1);
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot14 {
    background-image: url("../img/stamp-map-spot14.png");
    width: 4.5vw;
    height: 5.5625vw;
    top: 40vw;
    left: 50%;
    margin-left: 15vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot14:hover {
    background-image: url("../img/stamp-map-spot14-hover.png");
    width: 10.8125vw;
    height: 5.5625vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot15 {
    background-image: url("../img/stamp-map-spot15.png");
    width: 5.5vw;
    height: 5.4375vw;
    top: 28.25vw;
    left: 50%;
    margin-left: 3.25vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot15:hover {
    background-image: url("../img/stamp-map-spot15-hover.png");
    width: 11.1875vw;
    height: 5.4375vw;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot16 {
    background-image: url("../img/stamp-map-spot16.png");
    width: 17.0625vw;
    height: 13.1875vw;
    top: 13vw;
    left: 50%;
    margin-left: 5.9375vw;
    transition-property: transform;
    opacity: 1 !important;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot16:hover {
    transform: scale(1.1);
  }
  body section.photo {
    background: #2853DD url("../img/photo-bg.png") no-repeat top center/100%;
    padding-top: 2.5vw;
    padding-bottom: 15vw;
    position: relative;
  }
  body section.photo .photo-text {
    width: 40.3125vw;
    margin: 1.5625vw auto 3.75vw;
  }
  body section.photo .photo-box {
    width: 62.5vw;
    padding: 3.4375vw 6.25vw 1.5625vw;
    border-radius: 1.25vw;
    box-sizing: border-box;
    background-color: #fff;
    margin: auto;
    position: relative;
  }
  body section.photo .photo-box .photo-ribbon {
    width: 22.9375vw;
    height: auto;
    aspect-ratio: 367/72;
    position: absolute;
    left: 0;
    right: 0;
    top: -1.3125vw;
    margin: auto;
  }
  body section.photo .photo-box .photo-box-text {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: center;
  }
  body section.photo .photo-box .photo-box-text small {
    font-size: 0.875vw;
  }
  body section.photo .photo-box .photo-list {
    margin: 1.1875vw auto 1.5625vw;
    display: flex;
    justify-content: center;
  }
  body section.photo .photo-box .photo-list ul {
    width: 50%;
  }
  body section.photo .photo-box .photo-list ul li {
    width: fit-content;
    padding-left: 1.875vw;
    padding-top: 0.125vw;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 0.75vw;
    position: relative;
    cursor: pointer;
  }
  body section.photo .photo-box .photo-list ul li:nth-of-type(n+2) {
    margin-top: 0.625vw;
  }
  body section.photo .photo-box .photo-list ul li .list-num {
    display: block;
    width: 1.25vw;
    height: 1.25vw;
    padding: 0.125vw 0 0.0625vw;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 0.8125vw;
    line-height: 1.0625vw;
    font-weight: 800;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 0.125vw;
    left: 0.125vw;
  }
  body section.photo .photo-box .photo-list ul li .list-main {
    font-size: 1vw;
    line-height: 1.25vw;
    font-weight: 800;
    color: #00265E;
    text-align: left;
    transition: color 0.2s ease-out;
  }
  body section.photo .photo-box .photo-list ul li .list-sub {
    font-size: 0.875vw;
    line-height: 1.25vw;
    font-weight: 400;
    color: #00265E;
    margin-top: 0.125vw;
    text-align: left;
    transition: color 0.2s ease-out;
  }
  body section.photo .photo-box .photo-list ul li .list-icon {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 0.3125vw;
  }
  body section.photo .photo-box .photo-list ul li .list-icon img {
    width: 2.5vw;
    height: 2.5vw;
    border: 2px solid #00265E;
    border-radius: 50%;
    box-sizing: border-box;
    transition: border-color 0.2s ease-out;
  }
  body section.photo .photo-box .photo-list ul li:hover .list-main {
    color: #E4007F;
  }
  body section.photo .photo-box .photo-list ul li:hover .list-sub {
    color: #E4007F;
  }
  body section.photo .photo-box .photo-list ul li:hover .list-icon img {
    border-color: #E4007F;
  }
  body section.photo .photo-cap {
    margin-top: 1.1875vw;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: center;
  }
  body section.photo .photo-cap .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("../img/icon-spot.svg") no-repeat center/100%;
    vertical-align: sub;
    margin-left: 0.25vw;
  }
  body section.photo .photo-image {
    position: absolute;
  }
  body section.photo .photo-image.photo-image1 {
    width: 29.1875vw;
    height: 24.75vw;
    top: 1.5625vw;
    left: 50%;
    margin-left: 15.875vw;
  }
  body section.photo .photo-image.photo-image2 {
    width: 16.1875vw;
    height: 15.1875vw;
    top: 23.75vw;
    right: 50%;
    margin-right: 26.0625vw;
  }
  body section.photo .photo-image.photo-image3 {
    width: 16.0625vw;
    height: 12.25vw;
    top: 60.625vw;
    left: 50%;
    margin-left: 24.9375vw;
  }
  body section.benefits {
    background: url("../img/benefits-bg.png") no-repeat top center/100%;
    padding-top: 15.25vw;
    padding-bottom: 15.875vw;
    margin-top: -10.75vw;
    position: relative;
  }
  body section.benefits .benefits-contents {
    margin: 2.5vw auto 0;
    width: 62.5vw;
    display: flex;
    justify-content: center;
    gap: 2.25vw;
    flex-wrap: wrap;
  }
  body section.benefits .benefits-contents .benefits-set {
    display: block;
    width: 19.375vw;
    padding: 1.5625vw 1.875vw;
    border-radius: 0.9375vw;
    box-sizing: border-box;
    background-color: #fff;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-title {
    margin-bottom: 0.875vw;
    font-size: 1.875vw;
    line-height: 2.25vw;
    font-weight: 800;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-text {
    padding: 0 0.375vw;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-cap {
    font-size: 0.875vw;
    line-height: 1.5625vw;
    font-weight: 500;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 0.625vw;
    margin-top: 1.25vw;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag span {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag span.tag {
    width: 5.25vw;
    padding: 0.1875vw 0;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #00265E;
    color: #fff;
    text-align: center;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) {
    width: 40.625vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-text {
    text-align: center;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers {
    display: flex;
    justify-content: space-between;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item {
    width: 11.875vw;
    margin-top: 1.5vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item img {
    width: 11.375vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item p {
    margin-top: 0.875vw;
    font-size: 0.875vw;
    line-height: 1.25vw;
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item p .bold {
    font-size: 1vw;
    font-weight: 800;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) {
    padding-left: 1vw;
    padding-right: 1vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) .benefits-set-flex {
    display: flex;
    gap: 0.4375vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) img {
    width: 8.5vw;
    margin-top: -0.75vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) .benefits-set-tag {
    margin-top: -0.875vw;
    margin-left: 0.75vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) {
    width: 100%;
    background-image: url("../img/benefits-set3-bg1.png"), url("../img/benefits-set3-bg2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: 3.5625vw 2vw, 44.8125vw 2vw;
    background-size: 13.125vw 8.4375vw, 16.0625vw 9.375vw;
    padding-left: 4.0625vw;
    padding-right: 4.0625vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-text {
    text-align: center;
    margin-top: 1.5625vw;
    margin-bottom: 0.625vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place {
    margin-top: 1.5625vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex {
    display: grid;
    gap: 2.8125vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex.col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex.col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex:nth-of-type(n+2) {
    margin-top: 0.75vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: center;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p.bg {
    padding: 0.1875vw 0;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #2853DD;
    color: #fff;
    margin-bottom: 0.3125vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p small {
    display: block;
    font-size: 0.875vw;
    line-height: 1.25vw;
    margin-top: 0.3125vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-tag {
    justify-content: center;
  }
  body section.benefits .benefits-cap {
    width: fit-content;
    margin: 0.625vw auto 0;
  }
  body section.benefits .benefits-cap li {
    width: fit-content;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    color: #00265E;
  }
  body section.benefits .benefits-box {
    background-color: #8DDFFF;
    margin-top: 5vw;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
  body section.benefits .benefits-box .box-border {
    background-image: url("../img/benefits-box-border.png");
    background-size: 15.8125vw;
  }
  body section.benefits .benefits-box .benefits-box-award {
    width: 100%;
    padding: 4.375vw 1.25vw 2.5vw;
    border-radius: 1vw;
    box-sizing: border-box;
    background-color: #E5F8FF;
    position: relative;
    margin-top: 4.6875vw;
  }
  body section.benefits .benefits-box .benefits-box-award::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
  }
  body section.benefits .benefits-box .benefits-box-award .benefits-box-award-title {
    display: block;
    width: 17.5vw;
    padding: 0.75vw 0;
    border-radius: 1.875vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 1.875vw;
    line-height: 2.25vw;
    font-weight: 800;
    text-align: center;
    color: #fff;
    position: absolute;
    top: -1.875vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1::after {
    background-image: url("../img/benefits-box-award1-after.png");
    width: 19.0625vw;
    height: 8.4375vw;
    top: -4.0625vw;
    right: -0.5vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex {
    margin-top: 1.5vw;
    display: flex;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set {
    width: 50%;
    display: flex;
    gap: 0.5vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left {
    width: 7.375vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    padding: 0.8125vw 0 0.875vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 1vw;
    line-height: 1.5vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle .big {
    font-size: 2.5vw;
    line-height: 1;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle .black {
    font-weight: 900;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-bgtext {
    display: block;
    width: 5.1875vw;
    height: 1.875vw;
    padding: 0.1875vw 0;
    border-radius: 0.9375vw;
    box-sizing: border-box;
    background-color: #fff;
    margin: 0.625vw auto 0;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right {
    width: fit-content;
    max-width: calc(100% - 7.375vw - 0.75vw);
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right .benefits-box-main {
    font-size: 1.875vw;
    line-height: 2.25vw;
    font-weight: 800;
    text-align: left;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right .benefits-box-main small {
    font-size: 1vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right img {
    width: 16.25vw;
    margin-top: 0.75vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete {
    margin-top: 2.25vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-title {
    width: 28.4375vw;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-image {
    width: 19.5625vw;
    margin: 5vw auto 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex {
    display: flex;
    justify-content: center;
    gap: 1.25vw;
    margin-top: 1.25vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set {
    width: calc((100% - 2.5vw) / 3);
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .date {
    width: 100%;
    padding: 0.3125vw 0 0.4375vw;
    border-radius: 0.9375vw;
    box-sizing: border-box;
    background-color: #2853DD;
    font-size: 1.25vw;
    line-height: 1.5625vw;
    font-weight: 800;
    color: #fff;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .date small {
    font-size: 1vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .text {
    margin-top: 1vw;
    font-size: 1.25vw;
    line-height: 2.25vw;
    font-weight: 800;
    color: #2853DD;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(1) .text {
    font-size: 1.125vw;
    line-height: 1.25vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(1) img {
    width: 15.875vw;
    margin: 1vw auto 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(2) img {
    width: 13.1875vw;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(3) .text {
    margin-top: 1.5625vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(3) img {
    width: 15.625vw;
    margin: 1.5625vw auto 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2::after {
    background-image: url("../img/benefits-box-award2-after.png");
    width: 18.5625vw;
    height: 8.25vw;
    top: -2vw;
    left: -1.1875vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.125vw;
    padding: 1.5625vw 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex.border {
    padding-top: 2.1875vw;
    background: url("../img/benefits-box-award2-border.png") no-repeat center top/50vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left {
    width: 7.375vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    padding: 0.8125vw 0 0.875vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 1vw;
    line-height: 1.5vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle .big {
    font-size: 2.5vw;
    line-height: 1;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle .black {
    font-weight: 900;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle.complete {
    background-image: url("../img/benefits-box-circle-icon.svg");
    background-repeat: no-repeat;
    background-position: center 0.3125vw;
    background-size: 2.1875vw;
    padding-top: 2.0625vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right {
    display: grid;
    justify-content: start;
    align-items: start;
    gap: 0.75vw 1.5625vw;
    flex-wrap: wrap;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right.col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right.col2 {
    grid-template-columns: repeat(2, 1fr);
    position: relative;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right.col2::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right.col2.img1::after {
    background-image: url("../img/benefits-box-award2-image1.png");
    width: 13.875vw;
    height: 14.8125vw;
    bottom: 0vw;
    right: -14.1875vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right.col2.img2::after {
    background-image: url("../img/benefits-box-award2-image2.png");
    width: 11.9375vw;
    height: 5.75vw;
    top: 0vw;
    right: -14.75vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set {
    width: 14.375vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p.bg {
    padding: 0.1875vw 0;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #2853DD;
    color: #fff;
    margin-bottom: 0.3125vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p small {
    display: block;
    font-size: 0.875vw;
    line-height: 1.25vw;
    margin-top: 0.3125vw;
  }
  body section.benefits .benefits-box .benefits-box-cap {
    margin-top: 1.375vw;
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    color: #00265E;
  }
  body section.benefits .benefits-box::after {
    display: none;
  }
  body section.howto {
    background: url("../img/howto-bg.png") no-repeat top center/100%;
    padding-top: 10.75vw;
    padding-bottom: 20.625vw;
    margin-top: -10.75vw;
    position: relative;
  }
  body section.howto p {
    margin-top: 1.25vw;
  }
  body section.howto p.howto-subtitle {
    display: block;
    width: 14.75vw;
    background: url("../img/howto-subtitle-bg.png") no-repeat center/100%;
    margin: 3.875vw auto 0;
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 800;
    text-align: center;
    color: #2853DD;
  }
  body section.howto .howto-flow {
    width: 60.25vw;
    margin: -2.5vw auto -2.5vw;
  }
  body section.howto .howto-qr {
    width: 10vw;
    margin: 1.25vw auto 0;
  }
  body section.howto .howto-cap {
    font-size: 0.875vw;
    line-height: 1.875vw;
    font-weight: 500;
    text-align: center;
    margin-top: 1.25vw;
  }
  body section.howto .howto-box {
    background-color: #8DDFFF;
    margin-top: 7.125vw;
    padding-left: 5.3125vw;
    padding-right: 5.3125vw;
  }
  body section.howto .howto-box .box-border {
    font-weight: 800;
    background-image: url("../img/howto-box-border.png");
    background-size: 15.8125vw;
  }
  body section.howto .howto-box .howto-box-grid {
    display: grid;
    grid-template-columns: repeat(2, 15.625vw);
    justify-content: center;
    gap: 2.8125vw;
    margin-top: 2.125vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item {
    display: grid;
    grid-template-rows: 3.9375vw 7vw auto;
    justify-content: center;
    align-items: center;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-main {
    font-size: 1.25vw;
    line-height: 1.875vw;
    font-weight: 800;
    margin: 0;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-image {
    margin: 0.4375vw auto 0.8125vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-sub {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 500;
    text-align: left;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(1) .item-image {
    width: 10.25vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(2) .item-image {
    width: 11.625vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(3) .item-image {
    width: 11.125vw;
  }
  body section.howto .howto-box .howto-box-btn {
    margin-top: 2.25vw;
  }
  body section.howto .howto-box::after {
    width: 25.125vw;
    height: 9.75vw;
    background-image: url("../img/howto-box-after.png");
    bottom: 0vw;
    right: -4.6875vw;
  }
  body section.goods {
    background: url("../img/goods-bg.png") no-repeat top center/100%;
    padding-top: 11.875vw;
    padding-bottom: 35.625vw;
    margin-top: -15vw;
    position: relative;
  }
  body section.goods p {
    margin-top: 1.875vw;
  }
  body section.goods .goods-place {
    width: fit-content;
    margin: 4.875vw auto 0;
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 1.25vw;
  }
  body section.goods .goods-place .goods-place-tag {
    display: block;
    width: 10vw;
    padding: 0.75vw 0;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #00265E;
    font-size: 1vw;
    line-height: 1;
    font-weight: 500;
    text-align: center;
    color: #fff;
    margin: 0;
  }
  body section.goods .goods-place ul li {
    font-size: 1vw;
    line-height: 1.25vw;
    font-weight: 500;
    text-align: left;
  }
  body section.goods .goods-comming {
    display: block;
    width: 19.5625vw;
    height: 8.75vw;
    background: url("../img/goods-comming.png") no-repeat center/100%;
    position: absolute;
    top: 31.875vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.event {
    background: url("../img/event-bg.png") no-repeat top center/100%;
    padding-top: 13.5vw;
    padding-bottom: 6.0625vw;
    margin-top: -16.25vw;
    position: relative;
  }
  body section.event .event-schedule {
    width: 18.9375vw;
    height: 14.5625vw;
    background: url("../img/event-schedule.png") no-repeat center/100%;
    position: absolute;
    top: 7.5vw;
    left: 50%;
    margin-left: 19vw;
  }
  body section.event p {
    margin-top: 2.25vw;
  }
  body section.event .event-table {
    width: fit-content;
    margin: 3.625vw auto 0;
  }
  body section.event .event-table .event-tr {
    display: grid;
    justify-content: start;
    align-items: center;
    gap: 1.25vw;
    grid-template-columns: 10vw auto 7.375vw;
  }
  body section.event .event-table .event-tr:nth-of-type(n+2) {
    margin-top: 1.25vw;
  }
  body section.event .event-table .event-tr .event-th p {
    display: block;
    width: 100%;
    padding: 0.75vw 0;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #00265E;
    font-size: 1vw;
    line-height: 1;
    font-weight: 500;
    text-align: center;
    color: #fff;
    margin: 0;
  }
  body section.event .event-table .event-tr .event-td p {
    font-size: 1vw;
    line-height: 1.25vw;
    font-weight: 500;
    text-align: left;
    color: #fff;
    margin-top: 0;
  }
  body section.event .event-table .event-tr .event-td .btn {
    width: 100%;
    height: 2.1875vw;
  }
  body section.event .event-table .event-tr .event-td .btn span {
    padding: 0.125vw 0 0.1875vw;
    font-size: 1vw;
    line-height: 1.5625vw;
  }
  body section.event .event-table .event-tr .event-td .btn::before {
    height: 1.875vw;
  }
  body section.event .event-detail-btn {
    width: 20.625vw;
    margin-top: 1.875vw;
  }
  body section.event .event-cap {
    width: fit-content;
    margin: 1.875vw auto 0;
  }
  body section.event .event-cap li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1vw;
    line-height: 1.25vw;
    font-weight: 500;
  }
  body section.event .event-box {
    margin-top: 6.5625vw;
    background-color: #8DDFFF;
    padding-left: 6.5625vw;
    padding-right: 4.0625vw;
    padding-bottom: 4.6875vw;
    position: relative;
  }
  body section.event .event-box::before {
    content: "";
    display: block;
    width: 16vw;
    height: 13.75vw;
    background: url("../img/event-box-before.png") no-repeat center/100%;
    position: absolute;
    top: -3.5625vw;
    left: -1.1875vw;
  }
  body section.event .event-box .box-border {
    font-weight: 800;
    background-image: url("../img/event-box-border.png");
    background-size: 12.5625vw;
  }
  body section.event .event-box .event-box-inner {
    display: flex;
    align-items: start;
    gap: 4.0625vw;
    margin-top: 3.375vw;
  }
  body section.event .event-box .event-box-inner .event-box-image {
    width: 19.3125vw;
    transition: opacity 0.4s ease-out;
    cursor: pointer;
  }
  body section.event .event-box .event-box-inner .event-box-image:hover {
    opacity: 0.6;
  }
  body section.event .event-box .event-box-inner p {
    display: block;
    width: calc(100% - 19.3125vw - 4.0625vw);
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 500;
    text-align: left;
    margin: 0;
  }
  body section.event .event-box::after {
    width: 19.25vw;
    height: 8.25vw;
    background-image: url("../img/event-box-after.png");
    bottom: -2.875vw;
    right: -1.625vw;
  }
  body section.event .event-actor {
    display: block;
    width: 11.4375vw;
    height: 13.1875vw;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    top: 23.125vw;
  }
  body section.event .event-actor.event-actor1 {
    background-image: url("../img/event-actor1.png");
    right: 50%;
    margin-right: 12.5vw;
  }
  body section.event .event-actor.event-actor2 {
    background-image: url("../img/event-actor2.png");
    left: 50%;
    margin-left: 12.5vw;
  }
  body footer .footer-bnr {
    background: url("../img/footer-bnr-bg.png") no-repeat center/cover;
    padding: 1.25vw 23vw 2.5vw;
    position: relative;
  }
  body footer .footer-bnr .footer-bnr-image {
    width: 17.4375vw;
    height: 24vw;
    float: right;
  }
  body footer .footer-bnr .footer-bnr-circle {
    width: 12.25vw;
    position: absolute;
    top: 0;
    right: 50%;
    margin-right: 13.9375vw;
  }
  body footer .footer-bnr .footer-bnr-logo {
    width: 18.75vw;
    position: absolute;
    top: 2.5vw;
    right: 50%;
    margin-right: -5.625vw;
  }
  body footer .footer-bnr p {
    margin-top: 11.25vw;
    font-size: 1.25vw;
    line-height: 1.875vw;
    font-weight: 800;
  }
  body footer .footer-bnr .footer-bnr-btn {
    margin-top: 1.875vw;
    margin-left: 6.5625vw;
    width: 20.625vw;
  }
  body footer .footer-bnr .footer-bnr-btn span {
    color: #00265E;
  }
  body footer .footer-nav {
    width: 100%;
    background: url("../img/footer-nav-bg.png") no-repeat center/cover;
    padding: 4.5vw 0;
  }
  body footer .footer-nav ul {
    display: grid;
    grid-template-columns: repeat(3, 22.5vw);
    gap: 3.9375vw;
    justify-content: center;
    align-items: start;
  }
  body footer .footer-nav ul li a {
    display: grid;
    grid-template-rows: 5.625vw 12.5vw;
    gap: 1.25vw;
    align-items: center;
  }
  body footer .footer-nav ul li a p {
    font-size: 1.25vw;
    line-height: 1.875vw;
    font-weight: 500;
    text-align: center;
    color: #fff;
  }
  body footer .copy {
    width: 100%;
    padding: 1.25vw 0;
    background-color: #2853DD;
  }
  body footer .copy p {
    font-size: 1vw;
    line-height: 2.5vw;
    font-weight: 500;
    text-align: center;
  }
  body .common_modal .common_modal_con {
    width: 75vw;
  }
  body .common_modal .common_modal_con .modal_close_outer {
    width: 4.125vw;
    height: 4.125vw;
    top: 0vw;
    right: 1vw;
  }
  body .common_modal .common_modal_con .modal_close_outer::before, body .common_modal .common_modal_con .modal_close_outer::after {
    width: 2.125vw;
    height: 0.25vw;
    border-radius: 0.125vw;
  }
  body .common_modal .common_modal_con .common_modal_frame {
    width: 100%;
    height: fit-content;
    max-height: 80vh;
    overflow-y: auto;
    padding-right: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner {
    width: 100%;
    height: fit-content;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 28.5625vw 25.375vw;
    border-radius: 1.25vw;
    padding-bottom: 4.5vw;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-img_inner {
    padding: 0;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-station::before {
    content: "";
    display: block;
    width: 72.6875vw;
    height: 45.9375vw;
    background: url("../img/modal-station-bg.png") no-repeat center/100%;
    position: absolute;
    bottom: 2.375vw;
    left: 0.875vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place::before {
    content: "";
    display: block;
    width: 70.625vw;
    height: 33.25vw;
    background: url("../img/modal-place-bg.png") no-repeat center/100%;
    position: absolute;
    top: 39.6875vw;
    left: 2.1875vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-name {
    background-color: #2853DD;
    justify-content: center;
    padding: 3.125vw 11.25vw;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-name .circle1 {
    position: absolute;
    left: 2.875vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-chara .modal-spot-chara-name {
    display: block;
    width: auto;
    height: 10.6875vw;
    position: absolute;
    bottom: 10.625vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text {
    width: 31.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list {
    margin-top: 2.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info {
    margin-top: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-tag {
    height: 2.5vw;
    padding: 0;
    display: grid;
    place-content: center;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-text {
    width: calc(100% - 11.25vw);
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-text .bg {
    display: block;
    width: 9.25vw;
    padding: 0.25vw 0;
    border-radius: 0.3125vw;
    background-color: #E4007F;
    text-align: center;
    margin-bottom: 0.3125vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-text .bg:nth-of-type(2) {
    margin-top: 0.625vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info:last-of-type {
    align-items: start;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info {
    margin-top: 5.3125vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-title {
    width: 14.6875vw;
    height: 3vw;
    background: url("../img/modal-station-info-title-bg.png") no-repeat center/100%;
    display: grid;
    place-items: center;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-title span {
    font-size: 1.5vw;
    line-height: 2.25vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name {
    background-color: #00265E;
    padding-top: 1.5625vw;
    padding-bottom: 0.875vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name .station-info-chara {
    position: absolute;
    right: 50%;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name .circle2 {
    position: absolute;
    right: 4.125vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner {
    width: 53.125vw;
    margin: 3.75vw auto 4.375vw;
    display: flex;
    justify-content: start;
    align-items: start;
    gap: 4.6875vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner .station-info-image {
    width: 20.625vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner p {
    width: calc(100% - 25.3125vw);
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 500;
    color: #00265E;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name {
    width: 100%;
    padding: 0.9375vw 4.375vw 1.0625vw 2.8125vw;
    box-sizing: border-box;
    background-color: #00265E;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 {
    width: 7.5vw;
    height: 7.5vw;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #E4007F;
    display: grid;
    place-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text {
    line-height: 1;
    color: #fff;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text small {
    display: block;
    font-size: 1.5vw;
    font-weight: 500;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text span {
    display: block;
    font-size: 3.75vw;
    font-weight: 800;
    margin-top: 0.3125vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .name {
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 800;
    text-align: center;
    color: #fff;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .name small {
    font-size: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 {
    width: 5.25vw;
    height: 5.25vw;
    border-radius: 50%;
    border: 0.25vw solid #fff;
    box-sizing: border-box;
    background-color: #2853DD;
    display: grid;
    place-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text {
    line-height: 1;
    font-weight: 800;
    color: #fff;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text small {
    display: block;
    font-size: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text span {
    display: block;
    font-size: 2.5vw;
    margin-top: 0.3125vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-image {
    display: block;
    width: 100%;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-chara {
    position: absolute;
    left: 50%;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text {
    width: 28.25vw;
    margin-top: 3.9375vw;
    margin-left: 10.625vw;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text > p {
    min-height: 6.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text p {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info {
    margin-top: 2.5vw;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info.top {
    align-items: start;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info .modal-spot-info-tag {
    display: block;
    width: 10vw;
    padding: 0.25vw 0;
    border-radius: 0.3125vw;
    background-color: #00265E;
    font-size: 0.875vw;
    line-height: 1vw;
    font-weight: 500;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info .modal-spot-info-text {
    line-height: 1.25vw;
    font-weight: 500;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-news {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
    color: #00265E;
    text-align: center;
    display: block;
    width: fit-content;
    margin: 3.75vw auto 7.5vw;
    padding-bottom: 0.9375vw;
    background: url(../img/benefits-box-award2-border.png) no-repeat center bottom/100%;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-news a {
    color: #2853DD;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box {
    width: 31.25vw;
    margin-top: 4.0625vw;
    margin-left: 6.25vw;
    background-color: #2853DD;
    border-radius: 0.9375vw;
    padding: 4vw 2.5vw 0.9375vw;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box::before {
    content: "";
    display: block;
    width: 8.5vw;
    height: 7.25vw;
    background: url("../img/modal-station-deco.png") no-repeat center/100%;
    position: absolute;
    top: -3.9375vw;
    left: -3.875vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .modal-spot-box-ribbon {
    height: 4.9375vw;
    top: -0.9375vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p {
    font-size: 1vw;
    line-height: 1.5625vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p.member {
    line-height: 1.25vw;
    text-align: center;
    margin-top: 1vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p.member small {
    font-weight: 500;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.25vw;
    margin-top: 1.125vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date .bg {
    width: 14vw;
    padding: 0.25vw;
    border-radius: 0.3125vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 1vw;
    line-height: 1;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date .text {
    font-size: 1vw;
    line-height: 1.25vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal_close_inner {
    width: 12.5vw;
    height: 3.125vw;
    border-radius: 1.5625vw;
    box-sizing: border-box;
    background-color: #00265E;
    display: grid;
    place-items: center;
    margin: 6.25vw auto 0;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal_close_inner span {
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 800;
  }
  body .common_modal.modal-spot01 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u01-bg.png");
  }
  body .common_modal.modal-spot01 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 45.25vw;
    height: 56.3125vw;
    top: 19.25vw;
    margin-left: -4.375vw;
  }
  body .common_modal.modal-spot13 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u12-bg.png");
  }
  body .common_modal.modal-spot13 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 47.1875vw;
    height: 54.9375vw;
    top: 20.5vw;
    margin-left: -6.25vw;
  }
  body .common_modal.modal-spot16 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u01-bg.png");
  }
  body .common_modal.modal-spot16 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 50.25vw;
    height: 57.5625vw;
    top: 20.5vw;
    margin-left: -6.25vw;
  }
  body .common_modal.modal-spot02 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u02-bg.png");
  }
  body .common_modal.modal-spot02 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot02 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.1875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot03 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u04-bg.png");
  }
  body .common_modal.modal-spot03 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot03 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.3125vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot04 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u04-bg.png");
  }
  body .common_modal.modal-spot04 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot04 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.3125vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot05 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u06-bg.png");
  }
  body .common_modal.modal-spot05 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 58.125vw;
    top: 15vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot05 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot06 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u07-bg.png");
  }
  body .common_modal.modal-spot06 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 56.875vw;
    top: 15vw;
    margin-left: 0.0625vw;
  }
  body .common_modal.modal-spot06 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.1875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot07 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u07-bg.png");
  }
  body .common_modal.modal-spot07 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot07 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.1875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u09-bg.png");
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 56.6875vw;
    top: 15vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner .station-info-chara {
    width: 26.9375vw;
    height: 19.75vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot09 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u10-bg.png");
  }
  body .common_modal.modal-spot09 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot09 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.1875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot10 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u10-bg.png");
  }
  body .common_modal.modal-spot10 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 56.6875vw;
    top: 15vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot10 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.1875vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot11 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u11-bg.png");
  }
  body .common_modal.modal-spot11 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot11 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.8125vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot12 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u12-bg.png");
  }
  body .common_modal.modal-spot12 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot12 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.8125vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u13-bg.png");
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 5.9375vw;
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner .modal-spot-chara .modal-spot-chara-name {
    left: 3.125vw;
    right: auto;
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner .station-info-chara {
    width: 25.5vw;
    height: 18.625vw;
    bottom: -4.125vw;
    margin-right: 9.8125vw;
  }
  body .common_modal.modal-spot15 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u14-bg.png");
  }
  body .common_modal.modal-spot15 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 39.375vw;
    height: 55.6875vw;
    top: 15.9375vw;
    margin-left: 1.3125vw;
  }
  body .common_modal.modal-spot15 .common_modal_con .common_modal_inner .station-info-chara {
    width: 30.1875vw;
    height: 20.0625vw;
    bottom: -6vw;
    margin-right: 9.8125vw;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  html, body {
    font-size: 0.2666666667vw;
  }
  body {
    width: 100%;
    min-width: 320px;
  }
  body img {
    display: block;
    width: 100%;
  }
  body .btn {
    display: block;
    width: 54.4vw;
    height: 7.4666666667vw;
    margin: auto;
    position: relative;
  }
  body .btn span {
    display: block;
    width: 100%;
    padding: 1.6666666667vw 0;
    border-radius: 3.3333333333vw;
    box-sizing: border-box;
    background-color: #FFEE53;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 3.4666666667vw;
    line-height: 3.3333333333vw;
    font-weight: 800;
    text-align: center;
    color: #2853DD;
  }
  body .btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 6.6666666667vw;
    background-color: #00265E;
    border-radius: 3.3333333333vw;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  body .box {
    width: 90.6666666667vw;
    padding: 8.6666666667vw 4vw 19.3333333333vw;
    border-radius: 2.6666666667vw;
    box-sizing: border-box;
    margin: auto;
    position: relative;
  }
  body .box .ribbon {
    width: fit-content;
    height: 17.0666666667vw;
    position: absolute;
    top: -5.8666666667vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body .box .ribbon img {
    width: auto;
    height: 100%;
  }
  body .box .box-border {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    padding-bottom: 2.6666666667vw;
    background-repeat: no-repeat;
    background-position: bottom center;
  }
  body .box::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
  }
  body header {
    width: 100%;
    padding: 3.2vw 3.7333333333vw 3.2vw 4.6666666667vw;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
  }
  body header .header-logo {
    display: block;
    width: 44.8vw;
    height: auto;
  }
  body header .menu-btn {
    display: block;
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    background-color: transparent;
    border: none;
    position: relative;
  }
  body header .menu-btn span {
    display: block;
    width: 100%;
    height: 0.5333333333vw;
    background-color: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transition: all 0.4s ease-out;
  }
  body header .menu-btn span:nth-of-type(1) {
    transform: translateY(-3.0666666667vw);
  }
  body header .menu-btn span:nth-of-type(3) {
    transform: translateY(3.0666666667vw);
  }
  body header.open .menu-btn span:nth-of-type(1) {
    transform: rotate(45deg) translateX(0);
  }
  body header.open .menu-btn span:nth-of-type(2) {
    opacity: 0;
  }
  body header.open .menu-btn span:nth-of-type(3) {
    transform: rotate(-45deg) translateX(0);
  }
  body .menu {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 18.6666666667vw 8vw 16vw;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    transform: translateX(100%);
    transition: transform 0.4s ease-out;
  }
  body .menu .menu-inner {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    padding-right: 1.3333333333vw;
    box-sizing: border-box;
  }
  body .menu .menu-inner .menu-title {
    display: block;
    width: 23.2vw;
    height: 17.2vw;
    background: url("../img/menu-title.png") no-repeat center/100%;
    margin: auto;
  }
  body .menu .menu-inner .links {
    width: 100%;
    margin-top: 2.6666666667vw;
  }
  body .menu .menu-inner .links li {
    text-align: center;
  }
  body .menu .menu-inner .links li:nth-of-type(n+2) {
    margin-top: 10.4vw;
  }
  body .menu .menu-inner .links li.link-anchor {
    font-size: 4.5333333333vw;
    line-height: 6.1333333333vw;
    font-weight: 800;
    color: #2853DD;
  }
  body .menu .menu-inner .links li.link-btn .btn {
    width: 66.6666666667vw;
    height: 14.6666666667vw;
  }
  body .menu .menu-inner .links li.link-btn .btn span {
    padding: 4vw 0;
    border-radius: 6.6666666667vw;
    background-color: #2853DD;
    font-size: 4.2666666667vw;
    line-height: 5.3333333333vw;
    color: #fff;
  }
  body .menu .menu-inner .links li.link-btn .btn::before {
    height: 13.3333333333vw;
    border-radius: 6.6666666667vw;
  }
  body .menu .menu-inner .links li.link-tab {
    font-size: 3.4666666667vw;
    line-height: 6.1333333333vw;
    font-weight: 500;
    color: #00265E;
  }
  body .menu .menu-inner .links li.link-tab::after {
    content: "";
    display: inline-block;
    width: 5.6vw;
    height: 5.6vw;
    background: url("../img/icon-tab.svg") no-repeat center/100%;
    vertical-align: sub;
    margin-left: 0.6666666667vw;
  }
  body .menu.open {
    transform: translateX(0);
  }
  body section {
    width: 100%;
    overflow-x: hidden;
  }
  body section h2 {
    display: block;
    width: fit-content;
    height: 20.6666666667vw;
    margin: auto;
  }
  body section h2 img {
    width: auto;
    height: 100%;
  }
  body section p {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    text-align: center;
    color: #00265E;
  }
  body section p .bold {
    font-weight: 700;
  }
  body section .chara {
    display: block;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
  }
  body section .chara.sv-chara1 {
    width: 37.6vw;
    height: 63.8666666667vw;
    background-image: url("../img/sv-chara1-sp.png");
    top: 7.3333333333vw;
    right: 50%;
    margin-right: 23.3333333333vw;
  }
  body section .chara.sv-chara2 {
    width: 36.2666666667vw;
    height: 66.5333333333vw;
    background-image: url("../img/sv-chara2-sp.png");
    bottom: 0;
    left: 50%;
    margin-left: 21.4666666667vw;
  }
  body section .chara.photo-chara1 {
    width: 43.0666666667vw;
    height: 69.4666666667vw;
    background-image: url("../img/photo-chara1-sp.png");
    top: 0;
    right: 50%;
    margin-right: 22.8vw;
  }
  body section .chara.photo-chara2 {
    width: 40.9333333333vw;
    height: 64.9333333333vw;
    background-image: url("../img/photo-chara2-sp.png");
    top: 118.1333333333vw;
    left: 50%;
    margin-left: 21.2vw;
  }
  body section .chara.photo-chara3 {
    width: 35.0666666667vw;
    height: 65.7333333333vw;
    background-image: url("../img/photo-chara3-sp.png");
    top: 256vw;
    left: 50%;
    margin-left: 26.1333333333vw;
  }
  body section .chara.benefits-chara1 {
    width: 33.8666666667vw;
    height: 72.9333333333vw;
    background-image: url("../img/benefits-chara1-sp.png");
    top: -36.6666666667vw;
    left: 50%;
    margin-left: 16.2666666667vw;
  }
  body section .chara.benefits-chara2 {
    width: 37.0666666667vw;
    height: 73.7333333333vw;
    background-image: url("../img/benefits-chara2-sp.png");
    top: 410.6666666667vw;
    right: 50%;
    margin-right: 13.0666666667vw;
  }
  body section .chara.howto-chara1 {
    width: 30.5333333333vw;
    height: 72.2666666667vw;
    background-image: url("../img/howto-chara1-sp.png");
    top: 96vw;
    left: 50%;
    margin-left: 20.6666666667vw;
  }
  body section .chara.howto-chara2 {
    width: 34.5333333333vw;
    height: 72.5333333333vw;
    background-image: url("../img/howto-chara2-sp.png");
    bottom: -40.2666666667vw;
    right: 50%;
    margin-right: 17.2vw;
  }
  body section .chara.goods-chara {
    width: 47.7333333333vw;
    height: 72.1333333333vw;
    background-image: url("../img/goods-chara-sp.png");
    bottom: -10.4vw;
    left: 50%;
    margin-left: 8.1333333333vw;
  }
  body section .chara.event-chara1 {
    width: 33.4666666667vw;
    height: 79.2vw;
    background-image: url("../img/event-chara1-sp.png");
    top: 52vw;
    left: 50%;
    margin-left: 17.3333333333vw;
  }
  body section .chara.event-chara2 {
    width: 31.2vw;
    height: 72vw;
    background-image: url("../img/event-chara2-sp.png");
    top: 120.2666666667vw;
    right: 50%;
    margin-right: 16.2666666667vw;
  }
  body section.mv {
    width: 100%;
    height: auto;
    aspect-ratio: 750/2388;
    background: url("../img/mv-bg-sp.jpg") no-repeat center/100% 100%;
  }
  body section.mv .fv {
    width: 100% 100%;
    height: auto;
    aspect-ratio: 750/1288;
    position: relative;
  }
  body section.mv .fv .fv-main {
    display: block;
    width: 70.4vw;
    height: auto;
    aspect-ratio: 528/298;
    position: absolute;
    top: 18.9333333333vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.mv .fv .fv-sub {
    display: block;
    width: 89.4666666667vw;
    height: auto;
    aspect-ratio: 671/122;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.mv .fv .fv-link {
    display: block;
    width: 64vw;
    height: auto;
    aspect-ratio: 480/257;
    position: absolute;
    bottom: 13.6vw;
    left: 50%;
    margin-left: -15.7333333333vw;
  }
  body section.mv .sv {
    width: 100%;
    margin-top: 11.2vw;
    box-sizing: border-box;
    position: relative;
  }
  body section.mv .sv h3 {
    font-size: 4.8vw;
    line-height: 7.0666666667vw;
    font-weight: 800;
    text-align: center;
  }
  body section.mv .sv p {
    margin-top: 9.3333333333vw;
    line-height: 6.1333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body section.stamp .stamp-inner {
    width: 100%;
    height: auto;
    aspect-ratio: 750/474;
    background: url("../img/stamp-bg-sp.png") no-repeat center top/100% 100%;
  }
  body section.stamp .stamp-inner h2 {
    height: 26.1333333333vw;
  }
  body section.stamp .stamp-inner p {
    width: 68.5333333333vw;
    margin: 6vw auto 0;
    text-align: left;
  }
  body section.stamp .stamp-map {
    width: 100%;
    height: auto;
    aspect-ratio: 750/1280;
    background: url("../img/stamp-map-bg-sp.jpg") no-repeat center/100%;
    position: relative;
  }
  body section.stamp .stamp-map::before {
    content: "";
    display: block;
    width: 88.2666666667vw;
    height: 18.5333333333vw;
    background: url("../img/stamp-map-ribbon-sp.png") no-repeat center/100%;
    position: absolute;
    top: -7.3333333333vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.stamp .stamp-map .stamp-map-spot {
    display: block;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot01 {
    background-image: url("../img/stamp-map-spot01-sp.png");
    width: 17.0666666667vw;
    height: 17.3333333333vw;
    top: 6vw;
    right: 50%;
    margin-right: 14.2666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot02 {
    background-image: url("../img/stamp-map-spot02-sp.png");
    width: 10.6666666667vw;
    height: 8.8vw;
    top: 29.8666666667vw;
    right: 50%;
    margin-right: 19.6vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot03 {
    background-image: url("../img/stamp-map-spot03-sp.png");
    width: 12vw;
    height: 8.8vw;
    top: 56.9333333333vw;
    right: 50%;
    margin-right: 14.2666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot04 {
    background-image: url("../img/stamp-map-spot04-sp.png");
    width: 10.8vw;
    height: 10.1333333333vw;
    top: 46.4vw;
    right: 50%;
    margin-right: 14.6666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot05 {
    background-image: url("../img/stamp-map-spot05-sp.png");
    width: 14.6666666667vw;
    height: 12.1333333333vw;
    top: 87.0666666667vw;
    right: 50%;
    margin-right: 5.0666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot06 {
    background-image: url("../img/stamp-map-spot06-sp.png");
    width: 12.1333333333vw;
    height: 8.8vw;
    top: 99.0666666667vw;
    right: 50%;
    margin-right: 11.3333333333vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot07 {
    background-image: url("../img/stamp-map-spot07-sp.png");
    width: 12.1333333333vw;
    height: 8.8vw;
    top: 106.2666666667vw;
    right: 50%;
    margin-right: 4.5333333333vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot08 {
    background-image: url("../img/stamp-map-spot08-sp.png");
    width: 10.8vw;
    height: 9.6vw;
    top: 128.1333333333vw;
    left: 50%;
    margin-left: -6vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot09 {
    background-image: url("../img/stamp-map-spot09-sp.png");
    width: 14.2666666667vw;
    height: 9.2vw;
    top: 104vw;
    left: 50%;
    margin-left: 9.3333333333vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot10 {
    background-image: url("../img/stamp-map-spot10-sp.png");
    width: 8.9333333333vw;
    height: 11.2vw;
    top: 90.9333333333vw;
    left: 50%;
    margin-left: 3.4666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot11 {
    background-image: url("../img/stamp-map-spot11-sp.png");
    width: 8.8vw;
    height: 11.4666666667vw;
    top: 104.4vw;
    left: 50%;
    margin-left: 25.4666666667vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot12 {
    background-image: url("../img/stamp-map-spot12-sp.png");
    width: 10.1333333333vw;
    height: 8.8vw;
    top: 94vw;
    left: 50%;
    margin-left: 14vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot13 {
    background-image: url("../img/stamp-map-spot13-sp.png");
    width: 17.6vw;
    height: 16.9333333333vw;
    top: 75.7333333333vw;
    left: 50%;
    margin-left: 28.9333333333vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot14 {
    background-image: url("../img/stamp-map-spot14-sp.png");
    width: 8.9333333333vw;
    height: 12.2666666667vw;
    top: 71.3333333333vw;
    left: 50%;
    margin-left: 24vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot15 {
    background-image: url("../img/stamp-map-spot15-sp.png");
    width: 9.2vw;
    height: 9.4666666667vw;
    top: 52.2666666667vw;
    left: 50%;
    margin-left: 2.4vw;
  }
  body section.stamp .stamp-map .stamp-map-spot.stamp-map-spot16 {
    background-image: url("../img/stamp-map-spot16-sp.png");
    width: 14.5333333333vw;
    height: 16.2666666667vw;
    top: 27.0666666667vw;
    left: 50%;
    margin-left: 25.2vw;
  }
  body section.photo {
    background: url("../img/photo-bg-sp.png") no-repeat;
    background-position: center 21.3333333333vw;
    background-size: 100%;
    margin-top: -11.2vw;
    padding-top: 6.4vw;
    padding-bottom: 32vw;
    position: relative;
  }
  body section.photo::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #2853DD;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  body section.photo .photo-text {
    width: 68.5333333333vw;
    margin: 2.6666666667vw auto 0;
    text-align: left;
  }
  body section.photo .photo-image {
    width: 97.7333333333vw;
    height: 67.4666666667vw;
    margin-bottom: 2.4vw;
  }
  body section.photo .photo-box {
    width: 90.6666666667vw;
    padding: 10vw 4.2666666667vw 3.3333333333vw;
    border-radius: 2vw;
    box-sizing: border-box;
    background: #fff;
    background-image: url("../img/photo-box-bg-sp.png");
    background-repeat: no-repeat;
    background-position: 72vw 46.9333333333vw;
    background-size: 13.0666666667vw 32.1333333333vw;
    margin: auto;
    position: relative;
  }
  body section.photo .photo-box .photo-ribbon {
    width: 73.3333333333vw;
    height: auto;
    aspect-ratio: 550/105;
    position: absolute;
    left: 0;
    right: 0;
    top: -3.7333333333vw;
    margin: auto;
  }
  body section.photo .photo-box .photo-box-text {
    font-size: 3.4666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body section.photo .photo-box .photo-box-text small {
    font-size: 2.6666666667vw;
  }
  body section.photo .photo-box .photo-list {
    margin: 2.5333333333vw auto 1.3333333333vw;
  }
  body section.photo .photo-box .photo-list ul:nth-of-type(n+2) {
    margin-top: 2.4vw;
  }
  body section.photo .photo-box .photo-list ul li {
    width: fit-content;
    padding-left: 7.3333333333vw;
    padding-top: 0.2666666667vw;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.3333333333vw;
    position: relative;
    cursor: pointer;
  }
  body section.photo .photo-box .photo-list ul li:nth-of-type(n+2) {
    margin-top: 2.4vw;
  }
  body section.photo .photo-box .photo-list ul li .list-num {
    display: block;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    padding: 0.4vw 0 0.2666666667vw;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 3.0666666667vw;
    line-height: 4.8vw;
    font-weight: 800;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 0.2666666667vw;
    left: 0.2666666667vw;
  }
  body section.photo .photo-box .photo-list ul li .list-main {
    font-size: 3.7333333333vw;
    line-height: 4.8vw;
    font-weight: 800;
    color: #00265E;
    text-align: left;
    transition: color 0.2s ease-out;
  }
  body section.photo .photo-box .photo-list ul li .list-sub {
    font-size: 3.3333333333vw;
    line-height: 4.8vw;
    font-weight: 400;
    color: #00265E;
    margin-top: 0.5333333333vw;
    text-align: left;
  }
  body section.photo .photo-box .photo-list ul li .list-icon {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 0.8vw;
  }
  body section.photo .photo-box .photo-list ul li .list-icon img {
    width: 7.3333333333vw;
    height: 7.3333333333vw;
    border: 2px solid #00265E;
    border-radius: 50%;
    box-sizing: border-box;
    transition: border-color 0.2s ease-out;
  }
  body section.photo .photo-cap {
    width: 90.6666666667vw;
    margin: 1.2vw auto 0;
    font-size: 2.6666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body section.photo .photo-cap .icon {
    display: inline-block;
    width: 3.4666666667vw;
    height: 3.4666666667vw;
    background: url("../img/icon-spot.svg") no-repeat center/100%;
    vertical-align: sub;
    margin-left: 0.5333333333vw;
  }
  body section.benefits {
    background: url("../img/benefits-bg-sp.png") no-repeat top center/100%;
    padding-top: 17.8666666667vw;
    padding-bottom: 25.3333333333vw;
    margin-top: -26.6666666667vw;
    position: relative;
    overflow: hidden;
  }
  body section.benefits .benefits-contents {
    width: 90.6666666667vw;
    margin: 2.6666666667vw auto 0;
  }
  body section.benefits .benefits-contents .benefits-set {
    display: block;
    width: 100%;
    padding: 3.3333333333vw 2.6666666667vw;
    border-radius: 2vw;
    box-sizing: border-box;
    background-color: #fff;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(n+2) {
    margin-top: 4vw;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-title {
    margin-bottom: 4vw;
    font-size: 5.3333333333vw;
    line-height: 1;
    font-weight: 800;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-text {
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-cap {
    font-size: 3.2vw;
    line-height: 1;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 3.3333333333vw;
    margin-top: 4.6666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag span {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set .benefits-set-tag span.tag {
    width: 20.8vw;
    padding: 1.0666666667vw 0;
    border-radius: 0.6666666667vw;
    box-sizing: border-box;
    background-color: #00265E;
    font-size: 4vw;
    color: #fff;
    text-align: center;
  }
  body section.benefits .benefits-contents .benefits-set ul {
    padding-left: 24vw;
  }
  body section.benefits .benefits-contents .benefits-set ul li {
    padding-left: 4.8vw;
    position: relative;
  }
  body section.benefits .benefits-contents .benefits-set ul li::before {
    content: "";
    display: block;
    width: 4vw;
    height: 4vw;
    background: url("../img/icon-spot.svg") no-repeat center/100%;
    position: absolute;
    left: 0;
    top: 0.5333333333vw;
  }
  body section.benefits .benefits-contents .benefits-set ul li p {
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) {
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers {
    margin-top: 3.2vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item {
    display: flex;
    justify-content: space-between;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item:nth-of-type(n+2) {
    margin-top: 2.4vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item img {
    width: 41.8666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item p {
    width: calc(100% - 44vw);
    font-size: 3.4666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: left;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(1) .benefits-set-stickers .benefits-set-stickers-item p .bold {
    font-size: 4vw;
    font-weight: 800;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) .benefits-set-flex {
    display: flex;
    gap: 2.6666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) img {
    width: 23.2vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(2) .benefits-set-tag {
    margin-top: 1.6vw;
    justify-content: center;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) {
    width: 100%;
    background-image: url("../img/benefits-set3-bg1.png"), url("../img/benefits-set3-bg2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: 2.8vw 2vw, right 2vw;
    background-size: 20.8vw 13.4666666667vw, 25.0666666667vw 14.6666666667vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
    padding-top: 6.2666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-text {
    margin-top: 5.6vw;
    margin-bottom: 2.6666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex .benefits-set-place-item {
    margin-top: 2.9333333333vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p.bg {
    padding: 0.6666666667vw 0;
    border-radius: 0.6666666667vw;
    box-sizing: border-box;
    background-color: #2853DD;
    color: #fff;
    margin-bottom: 1.0666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-place .benefits-set-place-flex p small {
    display: block;
    font-size: 2.9333333333vw;
    line-height: 4vw;
    margin-top: 0.6666666667vw;
  }
  body section.benefits .benefits-contents .benefits-set:nth-of-type(3) .benefits-set-tag {
    justify-content: center;
  }
  body section.benefits .benefits-cap {
    padding-left: 38vw;
    padding-right: 4.6666666667vw;
    margin-top: 4vw;
  }
  body section.benefits .benefits-cap li {
    font-size: 3.2vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    color: #00265E;
  }
  body section.benefits .benefits-box {
    background-color: #8DDFFF;
    margin-top: 13.3333333333vw;
    padding-bottom: 10.6666666667vw;
    padding-left: 5.0666666667vw;
    padding-right: 5.0666666667vw;
  }
  body section.benefits .benefits-box .box-border {
    background-image: url("../img/benefits-box-border-sp.png");
    background-size: 39.0666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award {
    width: 100%;
    padding: 8vw 3.3333333333vw 5.3333333333vw;
    border-radius: 2.1333333333vw;
    box-sizing: border-box;
    background-color: #E5F8FF;
    position: relative;
    margin-top: 10vw;
  }
  body section.benefits .benefits-box .benefits-box-award::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
  }
  body section.benefits .benefits-box .benefits-box-award .benefits-box-award-title {
    display: block;
    width: 37.3333333333vw;
    padding: 1.3333333333vw 0;
    border-radius: 4.2666666667vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 5.3333333333vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
    text-align: center;
    color: #fff;
    position: absolute;
    top: -4.2666666667vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 {
    margin-top: 20vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1::after {
    background-image: url("../img/benefits-box-award1-after-sp.png");
    width: 41.7333333333vw;
    height: 26vw;
    top: -24.5333333333vw;
    right: -8.2666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex {
    margin-top: 3.2vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set {
    width: 100%;
    display: flex;
    gap: 2.6666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set:nth-of-type(n+2) {
    margin-top: 4.2666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left {
    width: 23.2vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    padding: 3.4666666667vw 0 3.6vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 3.4666666667vw;
    line-height: 4.6666666667vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle .big {
    font-size: 5.3333333333vw;
    line-height: 1;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-cercle .black {
    font-weight: 900;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-left .benefits-box-bgtext {
    display: block;
    width: 16.2666666667vw;
    height: 5.8666666667vw;
    padding: 0.5333333333vw 0;
    border-radius: 2.9333333333vw;
    box-sizing: border-box;
    background-color: #fff;
    margin: 2vw auto 0;
    font-size: 3.0666666667vw;
    line-height: 4.8vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right {
    width: fit-content;
    max-width: calc(100% - 23.2vw - 2.6666666667vw);
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right .benefits-box-main {
    font-size: 4.8vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
    text-align: left;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-flex .benefits-box-award1-flex-set .benefits-box-right img {
    width: 45.6vw;
    margin-top: 2.4vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete {
    margin-top: 6vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-title {
    width: 66.6666666667vw;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-image {
    width: 41.7333333333vw;
    margin: 5.3333333333vw auto 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex {
    margin-top: 4.2666666667vw;
    width: 100%;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set {
    width: 100%;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .date {
    width: 100%;
    padding: 0.9333333333vw 0;
    border-radius: 2vw;
    box-sizing: border-box;
    background-color: #2853DD;
    font-size: 4vw;
    line-height: 4.8vw;
    font-weight: 800;
    color: #fff;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .date small {
    font-size: 1em;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set .text {
    margin-top: 2.1333333333vw;
    font-size: 4vw;
    line-height: 4.8vw;
    font-weight: 800;
    color: #2853DD;
    text-align: left;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(1) {
    padding-bottom: 6.6666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(1) img {
    width: 18.1333333333vw;
    margin: 2.1333333333vw auto 0 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(2) {
    padding-bottom: 24vw;
    position: relative;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(2) .text {
    margin-top: 4.8vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(2) img {
    width: 68.5333333333vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(3) .text {
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award1 .benefits-box-award1-complete .benefits-box-award1-complete-flex .benefits-box-award1-complete-flex-set:nth-of-type(3) img {
    width: 45.3333333333vw;
    margin: 4.8vw auto 0;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 {
    padding-top: 13.3333333333vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2::after {
    background-image: url("../img/benefits-box-award2-after-sp.png");
    width: 40.9333333333vw;
    height: 25.8666666667vw;
    top: -2.9333333333vw;
    left: -5.3333333333vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex {
    position: relative;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex:nth-of-type(n+2) {
    margin-top: 6.6666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left {
    width: 100%;
    margin-bottom: 2.9333333333vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle {
    display: block;
    width: 57.3333333333vw;
    height: auto;
    border-radius: 4.2666666667vw;
    padding: 1.0666666667vw 0;
    box-sizing: border-box;
    background-color: #E4007F;
    margin: auto;
    font-size: 4vw;
    line-height: 4.2666666667vw;
    font-weight: 800;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle .big {
    font-size: 7.3333333333vw;
    line-height: 1;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle .black {
    font-weight: 900;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-left .benefits-box-cercle img {
    width: 66.6666666667vw;
    margin: auto;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set {
    width: 100%;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p.bg {
    padding: 0.6666666667vw 0;
    border-radius: 0.6666666667vw;
    box-sizing: border-box;
    background-color: #2853DD;
    color: #fff;
    margin-bottom: 1.0666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-award.benefits-box-award2 .benefits-box-award2-flex .benefits-box-award2-right .benefits-box-award2-right-set p small {
    display: block;
    font-size: 2.9333333333vw;
    line-height: 4vw;
    margin-top: 0.6666666667vw;
  }
  body section.benefits .benefits-box .benefits-box-cap {
    margin-top: 4.2666666667vw;
    font-size: 3.2vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    color: #00265E;
  }
  body section.howto {
    background: url("../img/howto-bg-sp.png") no-repeat top center/100%;
    padding-top: 19.7333333333vw;
    padding-bottom: 40.5333333333vw;
    margin-top: -15.4666666667vw;
    position: relative;
    overflow: hidden;
  }
  body section.howto p.howto-text {
    width: 68.5333333333vw;
    margin: 4.2666666667vw auto 13.8666666667vw;
    text-align: left;
  }
  body section.howto p.howto-subtitle {
    display: block;
    width: 44.5333333333vw;
    background: url("../img/howto-subtitle-bg-sp.png") no-repeat center/100%;
    margin: 9.6vw auto 4.2666666667vw;
    padding: 0.4vw 0;
    font-size: 4.2666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 800;
    text-align: center;
    color: #2853DD;
  }
  body section.howto .howto-flow {
    width: 64.5333333333vw;
    margin: auto;
  }
  body section.howto .howto-qr-btn {
    width: 85.3333333333vw;
    height: 14.9333333333vw;
    margin: 7.2vw auto 0;
  }
  body section.howto .howto-qr-btn span {
    padding: 4.4vw 0;
    border-radius: 7.4666666667vw;
    font-size: 5.3333333333vw;
    line-height: 1;
  }
  body section.howto .howto-qr-btn::before {
    height: 14.1333333333vw;
    border-radius: 7.4666666667vw;
  }
  body section.howto .howto-box {
    background-color: #8DDFFF;
    margin-top: 18.2666666667vw;
    padding-bottom: 10.6666666667vw;
    padding-left: 6.4vw;
    padding-right: 5.3333333333vw;
  }
  body section.howto .howto-box .box-border {
    background-image: url("../img/howto-box-border.png");
    background-size: 31.7333333333vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item {
    display: flex;
    justify-content: center;
    align-items: start;
    flex-wrap: wrap;
    margin-top: 4.8vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-main {
    width: 100%;
    font-size: 4.2666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 800;
    margin: 0 0 2.6666666667vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-image {
    width: 32.8vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item .item-sub {
    width: calc(100% - 32.8vw);
    font-size: 3.4666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: left;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(1) .item-image img {
    width: 27.7333333333vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(2) .item-image img {
    width: 27.8666666667vw;
  }
  body section.howto .howto-box .howto-box-grid .howto-box-grid-item:nth-of-type(3) .item-image img {
    width: 26.8vw;
  }
  body section.howto .howto-box .howto-box-btn {
    margin-top: 5.8666666667vw;
    width: 41.6vw;
  }
  body section.howto .howto-box::after {
    width: 53.6vw;
    height: 20.8vw;
    background-image: url("../img/howto-box-after-sp.png");
    bottom: -7.4666666667vw;
    right: -4.6666666667vw;
  }
  body section.goods {
    background: url("../img/goods-bg-sp.png") no-repeat top center/100%;
    padding-top: 19.7333333333vw;
    padding-bottom: 54.1333333333vw;
    margin-top: -30.4vw;
    position: relative;
    overflow: hidden;
  }
  body section.goods h2 {
    height: 26.1333333333vw;
  }
  body section.goods p {
    margin-top: 1.6vw;
  }
  body section.goods .goods-place {
    width: 100%;
    padding: 0 26.6666666667vw 0 8vw;
    margin: 6.6666666667vw auto 0;
    box-sizing: border-box;
  }
  body section.goods .goods-place .goods-place-tag {
    display: block;
    width: 24.8vw;
    padding: 0.8vw 0;
    border-radius: 0.6666666667vw;
    box-sizing: border-box;
    background-color: #00265E;
    font-weight: 500;
    text-align: center;
    color: #fff;
    margin: 0;
  }
  body section.goods .goods-place ul {
    margin-top: 2.1333333333vw;
  }
  body section.goods .goods-place ul li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    font-size: 3.7333333333vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    text-align: left;
  }
  body section.goods .goods-comming {
    display: block;
    width: 41.7333333333vw;
    height: 18.6666666667vw;
    background: url("../img/goods-comming-sp.png") no-repeat center/100%;
    position: absolute;
    top: 75.2vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  body section.event {
    background: url("../img/event-bg-sp.png") no-repeat top center/100%;
    padding-top: 26.6666666667vw;
    padding-bottom: 12vw;
    margin-top: -16vw;
    position: relative;
  }
  body section.event .event-schedule {
    width: 49.8666666667vw;
    height: 38.2666666667vw;
    background: url("../img/event-schedule-sp.png") no-repeat center/100%;
    position: absolute;
    top: -2.6666666667vw;
    left: 50%;
    margin-left: 6.2666666667vw;
  }
  body section.event h2 {
    height: 28.4vw;
    position: relative;
  }
  body section.event .event-float {
    width: 68.8vw;
    margin-left: 5.0666666667vw;
    margin-right: auto;
    margin-top: 0.4vw;
  }
  body section.event .event-actor {
    display: block;
    width: 27.6vw;
    height: 31.8666666667vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  body section.event .event-actor.event-actor1 {
    background-image: url("../img/event-actor1-sp.png");
    float: right;
    margin-right: -8.5333333333vw;
  }
  body section.event .event-actor.event-actor2 {
    background-image: url("../img/event-actor2-sp.png");
    margin-left: 19.6vw;
    margin-top: 2.4vw;
    margin-bottom: 1.3333333333vw;
  }
  body section.event .event-text {
    text-align: left;
  }
  body section.event .event-table {
    width: fit-content;
    padding-right: 4.8vw;
    padding-left: 25.2vw;
    position: relative;
    z-index: 1;
  }
  body section.event .event-table .event-tr {
    display: grid;
    justify-content: start;
    align-items: start;
    gap: 2.6666666667vw;
    grid-template-columns: 24.8vw auto;
  }
  body section.event .event-table .event-tr:nth-of-type(3) {
    align-items: center;
  }
  body section.event .event-table .event-tr:nth-of-type(n+2) {
    margin-top: 4.2666666667vw;
  }
  body section.event .event-table .event-tr .event-th p {
    display: block;
    width: 100%;
    padding: 0.8vw 0;
    border-radius: 0.6666666667vw;
    box-sizing: border-box;
    background-color: #00265E;
    font-weight: 500;
    text-align: center;
    color: #fff;
    margin: 0;
  }
  body section.event .event-table .event-tr .event-td p {
    font-size: 3.7333333333vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    text-align: left;
    color: #fff;
    margin-top: 0;
  }
  body section.event .event-table .event-tr .event-td .btn {
    width: 21.8666666667vw;
    height: 6.4vw;
    margin-left: 0;
    margin-top: 0.8vw;
  }
  body section.event .event-table .event-tr .event-td .btn span {
    padding: 1.0666666667vw 0 1.0666666667vw;
    font-size: 3.4666666667vw;
    line-height: 3.4666666667vw;
  }
  body section.event .event-table .event-tr .event-td .btn::before {
    height: 5.6vw;
  }
  body section.event .event-detail-btn {
    margin-top: 7.7333333333vw;
  }
  body section.event .event-cap {
    width: fit-content;
    margin: 5.3333333333vw auto 0;
  }
  body section.event .event-cap li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 2.6666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
  }
  body section.event .event-box {
    margin-top: 8.2666666667vw;
    background-color: #8DDFFF;
    padding-left: 7.2vw;
    padding-right: 7.2vw;
    padding-bottom: 8.8vw;
    position: relative;
  }
  body section.event .event-box::before {
    content: "";
    display: block;
    width: 93.7333333333vw;
    height: 20.9333333333vw;
    background: url("../img/event-box-before-sp.png") no-repeat center/100%;
    position: absolute;
    top: 8.9333333333vw;
    left: -1.3333333333vw;
  }
  body section.event .event-box .box-border {
    background-image: url("../img/event-box-border-sp.png");
    background-size: 32.6666666667vw;
  }
  body section.event .event-box .event-box-inner {
    margin-top: 5.3333333333vw;
  }
  body section.event .event-box .event-box-inner .event-box-image {
    width: 56.6666666667vw;
    margin: auto;
  }
  body section.event .event-box .event-box-inner p {
    margin-top: 4.8vw;
    font-weight: 500;
    text-align: left;
  }
  body section.event .event-box::after {
    width: 41.0666666667vw;
    height: 17.6vw;
    background-image: url("../img/event-box-after-sp.png");
    bottom: -6.1333333333vw;
    right: 2.9333333333vw;
  }
  body footer .footer-bnr {
    background: url("../img/footer-bnr-bg-sp.png") no-repeat center/cover;
    padding: 64.6666666667vw 7.3333333333vw 9.3333333333vw;
    position: relative;
  }
  body footer .footer-bnr .footer-bnr-image {
    width: 46.2666666667vw;
    position: absolute;
    top: 1.6vw;
    right: 2.6666666667vw;
  }
  body footer .footer-bnr .footer-bnr-circle {
    width: 32.8vw;
    position: absolute;
    top: 2.6666666667vw;
    left: 1.3333333333vw;
  }
  body footer .footer-bnr .footer-bnr-logo {
    width: 44.2666666667vw;
    position: absolute;
    top: 34.8vw;
    left: 4.2666666667vw;
  }
  body footer .footer-bnr p {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
  }
  body footer .footer-bnr .footer-bnr-btn {
    margin-top: 4.2666666667vw;
    width: 54.4vw;
  }
  body footer .footer-bnr .footer-bnr-btn span {
    color: #00265E;
  }
  body footer .footer-nav {
    width: 100%;
    background: url("../img/footer-nav-bg-sp.png") no-repeat center/cover;
    padding: 10.9333333333vw 4.8vw;
    box-sizing: border-box;
  }
  body footer .footer-nav ul li:nth-of-type(n+2) {
    margin-top: 6.6666666667vw;
  }
  body footer .footer-nav ul li a {
    display: flex;
    gap: 5.6vw;
    align-items: center;
  }
  body footer .footer-nav ul li a p {
    width: calc(100% - 53.6vw);
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    text-align: left;
    color: #fff;
  }
  body footer .footer-nav ul li a .footer-nav-image {
    width: 48vw;
  }
  body footer .copy {
    width: 100%;
    padding: 2.6666666667vw 0;
    background-color: #2853DD;
  }
  body footer .copy p {
    font-size: 2.6666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 500;
    text-align: center;
  }
  body .common_modal .common_modal_con {
    width: 90.6666666667vw;
  }
  body .common_modal .common_modal_con .modal_close_outer {
    width: 8.8vw;
    height: 8.8vw;
    top: -3.3333333333vw;
    right: -3.3333333333vw;
  }
  body .common_modal .common_modal_con .modal_close_outer::before, body .common_modal .common_modal_con .modal_close_outer::after {
    width: 4.5333333333vw;
    height: 0.5333333333vw;
    border-radius: 0.2666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_frame {
    width: 100%;
    height: fit-content;
    max-height: 80vh;
    overflow-y: auto;
    padding-right: 2.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner {
    width: 100%;
    height: fit-content;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 60.9333333333vw 54.1333333333vw;
    border-radius: 2.6666666667vw;
    padding-bottom: 11.3333333333vw;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-station::before {
    content: "";
    display: block;
    width: 84.5333333333vw;
    height: 151.8666666667vw;
    background: url("../img/modal-station-bg-sp.png") no-repeat center/100%;
    position: absolute;
    top: 83.0666666667vw;
    left: 2.5333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-station .modal-spot-chara {
    top: 29.6vw;
    left: 8.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-station .modal-spot-text {
    margin-top: 74.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place::before {
    content: "";
    display: block;
    width: 80.8vw;
    height: 71.3333333333vw;
    background: url("../img/modal-place-bg-sp.png") no-repeat center/100%;
    position: absolute;
    top: 83.0666666667vw;
    left: 2.5333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-name {
    height: 20.2666666667vw;
    background-color: #2853DD;
    justify-content: center;
    align-items: center;
    padding: 0 19.2vw;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-name .circle1 {
    position: absolute;
    left: 1.8666666667vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place > .modal-spot-name {
    padding: 0 5.3333333333vw 0 19.2vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-chara {
    width: fit-content;
    height: 93.3333333333vw;
    top: 29.8666666667vw;
    margin-left: -14.4vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-chara img {
    width: auto;
    height: 100%;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text {
    width: 66.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list {
    margin-top: 6.9333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info {
    margin-top: 2.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info:nth-of-type(n+2) {
    margin-top: 4.2666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-tag {
    height: 9.3333333333vw;
    padding: 0;
    display: grid;
    place-content: center;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-text {
    width: 100%;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .modal-spot-text .modal-spot-info-list .modal-spot-info .modal-spot-info-text .bg {
    display: block;
    width: 39.3333333333vw;
    padding: 1.3333333333vw 0;
    border-radius: 0.6666666667vw;
    background-color: #E4007F;
    margin: 3.6vw auto 2.8vw 0;
    font-size: 4vw;
    line-height: 1;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info {
    margin-top: 11.3333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-title {
    width: 31.3333333333vw;
    height: 6.4vw;
    background: url("../img/modal-station-info-title-bg.png") no-repeat center/100%;
    display: grid;
    place-items: center;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-title span {
    font-size: 3.2vw;
    line-height: 4.8vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name {
    background-color: #00265E;
    padding-top: 2.4vw;
    padding-bottom: 2.2666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name .station-info-chara {
    width: fit-content;
    height: 33.8666666667vw;
    position: absolute;
    top: 12.8vw;
    left: 50%;
    margin-left: 2.9333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name .station-info-chara img {
    width: auto;
    height: 100%;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .modal-spot-name .circle2 {
    position: absolute;
    right: 8.8vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner {
    width: 74.6666666667vw;
    margin: 5.3333333333vw auto 9.3333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner .station-info-chara-text {
    display: block;
    width: fit-content;
    max-width: 44.8vw;
    font-size: 4.2666666667vw;
    line-height: 5.3333333333vw;
    font-weight: 800;
    color: #E4007F;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner .station-info-chara-text small {
    display: block;
    font-size: 4vw;
    line-height: 5.8666666667vw;
    color: #2853DD;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner .station-info-image {
    width: 100%;
    margin: 9.3333333333vw 0 4vw;
  }
  body .common_modal .common_modal_con .common_modal_inner.modal-place .station-info .station-info-inner p {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 500;
    color: #00265E;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name {
    width: 100%;
    padding: 2vw 9.3333333333vw 2.2666666667vw 6vw;
    box-sizing: border-box;
    background-color: #00265E;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 {
    width: 16vw;
    height: 16vw;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #E4007F;
    display: grid;
    place-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text {
    line-height: 1;
    color: #fff;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text small {
    display: block;
    font-size: 3.2vw;
    font-weight: 500;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle1 .text span {
    display: block;
    font-size: 8vw;
    font-weight: 800;
    margin-top: 0.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .name {
    font-size: 5.3333333333vw;
    line-height: 1;
    font-weight: 800;
    text-align: center;
    color: #fff;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .name small {
    font-size: 3.7333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 {
    width: 11.2vw;
    height: 11.2vw;
    border-radius: 50%;
    border: 0.5333333333vw solid #fff;
    box-sizing: border-box;
    background-color: #2853DD;
    display: grid;
    place-items: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text {
    line-height: 1;
    font-weight: 800;
    color: #fff;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text small {
    display: block;
    font-size: 2.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-name .circle2 .text span {
    display: block;
    font-size: 5.3333333333vw;
    margin-top: 0.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-image {
    display: block;
    width: 100%;
    height: 60vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-image img {
    min-height: 100%;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-chara {
    position: absolute;
    left: 50%;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-chara-name {
    display: block;
    width: fit-content;
    min-width: 55.7333333333vw;
    margin-left: 7.4666666667vw;
    margin-top: 16vw;
    font-size: 8vw;
    line-height: 1;
    font-weight: 800;
    color: #00265E;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-chara-name small {
    display: block;
    margin-top: 1.3333333333vw;
    font-size: 2.4vw;
    line-height: 1;
    font-weight: 800;
    color: #2853DD;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text {
    width: 73.3333333333vw;
    margin: 13.3333333333vw auto 0;
    position: relative;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text p {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info {
    margin-top: 8.8vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info .modal-spot-info-tag {
    display: block;
    width: 100%;
    padding: 1.7333333333vw 0;
    border-radius: 2.1333333333vw;
    background-color: #00265E;
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-text .modal-spot-info .modal-spot-info-text {
    font-weight: 500;
    margin-top: 2.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-news {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
    color: #00265E;
    text-align: center;
    width: 73.3333333333vw;
    margin: 8vw auto;
    padding-bottom: 2vw;
    background: url(../img/benefits-box-award2-border.png) no-repeat center bottom/106.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-news a {
    color: #2853DD;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box {
    width: 80vw;
    margin: 19.4666666667vw auto 0;
    background-color: #2853DD;
    border-radius: 2vw;
    padding: 10vw 3.3333333333vw 4.6666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box::before {
    content: "";
    display: block;
    width: 23.3333333333vw;
    height: 19.8666666667vw;
    background: url("../img/modal-station-deco-sp.png") no-repeat center/100%;
    position: absolute;
    top: -14.4vw;
    left: -4.4vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .modal-spot-box-ribbon {
    height: 16.9333333333vw;
    top: -6.4vw;
    left: -2.9333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p.member {
    text-align: center;
    margin-top: 4.2666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box p.member small {
    font-weight: 500;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1.2vw;
    margin-top: 3.3333333333vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date .bg {
    width: 44vw;
    padding: 0.8vw;
    border-radius: 2.1333333333vw;
    box-sizing: border-box;
    background-color: #E4007F;
    font-size: 4vw;
    line-height: 1;
    text-align: center;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal-spot-box .date .text {
    font-size: 4vw;
    line-height: 5.8666666667vw;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal_close_inner {
    width: 33.6vw;
    height: 8.4vw;
    border-radius: 4.2666666667vw;
    box-sizing: border-box;
    background-color: #00265E;
    display: grid;
    place-items: center;
    margin: 10.6666666667vw auto 0;
  }
  body .common_modal .common_modal_con .common_modal_inner .modal_close_inner span {
    font-size: 4vw;
    line-height: 5.8666666667vw;
    font-weight: 800;
  }
  body .common_modal.modal-spot01 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u01-bg.png");
  }
  body .common_modal.modal-spot01 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 86.6666666667vw;
    height: 120.1333333333vw;
  }
  body .common_modal.modal-spot13 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u12-bg.png");
  }
  body .common_modal.modal-spot13 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 86.6666666667vw;
    height: 120.2666666667vw;
  }
  body .common_modal.modal-spot16 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u01-bg.png");
  }
  body .common_modal.modal-spot16 .common_modal_con .common_modal_inner .modal-spot-chara {
    width: 86.6666666667vw;
    height: 124.2666666667vw;
  }
  body .common_modal.modal-spot02 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u02-bg.png");
  }
  body .common_modal.modal-spot02 .common_modal_con .common_modal_inner .station-info-chara {
    top: 15.4666666667vw;
    margin-left: 2.9333333333vw;
  }
  body .common_modal.modal-spot03 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u04-bg.png");
  }
  body .common_modal.modal-spot04 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u04-bg.png");
  }
  body .common_modal.modal-spot04 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot05 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u06-bg.png");
  }
  body .common_modal.modal-spot06 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u07-bg.png");
  }
  body .common_modal.modal-spot07 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u07-bg.png");
  }
  body .common_modal.modal-spot07 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u09-bg.png");
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot08 .common_modal_con .common_modal_inner .station-info-chara {
    top: 12.8vw;
    margin-left: -5.3333333333vw;
  }
  body .common_modal.modal-spot09 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u10-bg.png");
  }
  body .common_modal.modal-spot10 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u10-bg.png");
  }
  body .common_modal.modal-spot10 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot11 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u11-bg.png");
  }
  body .common_modal.modal-spot11 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot12 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u11-bg.png");
  }
  body .common_modal.modal-spot12 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u13-bg.png");
  }
  body .common_modal.modal-spot14 .common_modal_con .common_modal_inner .modal-spot-chara {
    margin-left: -6.6666666667vw;
  }
  body .common_modal.modal-spot15 .common_modal_con .common_modal_inner {
    background-image: url("../img/modal-u14-bg.png");
  }
  body .common_modal.modal-spot15 .common_modal_con .common_modal_inner .station-info-chara {
    top: 14.6666666667vw;
    margin-left: -8.6666666667vw;
  }
  .pc {
    display: none !important;
  }
}
.fv-link {
  animation-name: charaMove;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-delay: 0s;
  animation-duration: 10s;
}

.chara {
  animation-name: charaMove;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.chara.sv-chara1 {
  animation-delay: 0s;
  animation-duration: 10s;
}
.chara.sv-chara2 {
  animation-delay: -2s;
  animation-duration: 9s;
}
.chara.photo-chara1 {
  animation-delay: 0s;
  animation-duration: 9s;
}
.chara.photo-chara2 {
  animation-delay: -2s;
  animation-duration: 10s;
}
.chara.photo-chara3 {
  animation-delay: -4s;
  animation-duration: 11s;
}
.chara.benefits-chara1 {
  animation-delay: 0s;
  animation-duration: 10s;
}
.chara.benefits-chara2 {
  animation-delay: -2s;
  animation-duration: 9s;
}
.chara.howto-chara1 {
  animation-delay: 0s;
  animation-duration: 9s;
}
.chara.howto-chara2 {
  animation-delay: 2s;
  animation-duration: 10s;
}
.chara.goods-chara {
  animation-delay: 0s;
  animation-duration: 10s;
}
.chara.event-chara1 {
  animation-delay: 0s;
  animation-duration: 9s;
}
.chara.event-chara2 {
  animation-delay: -2s;
  animation-duration: 10s;
}

@keyframes charaMove {
  0% {
    transform: rotate(0deg);
  }
  20% {
    transform: rotate(4deg);
  }
  25% {
    transform: rotate(5deg);
  }
  30% {
    transform: rotate(4deg);
  }
  50% {
    transform: rotate(0deg);
  }
  70% {
    transform: rotate(-4deg);
  }
  75% {
    transform: rotate(-5deg);
  }
  80% {
    transform: rotate(-4deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.common_modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  z-index: -1;
}
.common_modal.open {
  opacity: 1;
  z-index: 100;
  animation: modalOpen 0.5s linear;
}
.common_modal.close {
  opacity: 0;
  z-index: -1;
  animation: modalClose 0.5s linear;
}
.common_modal .common_modal_bg {
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
}
.common_modal .common_modal_con {
  width: 50%;
  height: fit-content;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.common_modal .common_modal_con .modal_close_outer {
  display: block;
  border-radius: 50%;
  background-color: #00265E;
  position: absolute;
  z-index: 5;
}
.common_modal .common_modal_con .modal_close_outer::before, .common_modal .common_modal_con .modal_close_outer::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.common_modal .common_modal_con .modal_close_outer::before {
  transform: rotate(45deg);
}
.common_modal .common_modal_con .modal_close_outer::after {
  transform: rotate(-45deg);
}

@keyframes modalOpen {
  0% {
    z-index: -1;
    opacity: 0;
  }
  1% {
    z-index: 100;
    opacity: 0;
  }
  100% {
    z-index: 100;
    opacity: 1;
  }
}
@keyframes modalClose {
  0% {
    z-index: 100;
    opacity: 1;
  }
  99% {
    z-index: 100;
    opacity: 0;
  }
  100% {
    z-index: -1;
    opacity: 0;
  }
}