@charset "UTF-8";
/*=============================================================
 01_base
=============================================================*/
/*!  02_base
================================================ */
html {
  overflow: scroll;
  font-size: 10px;
}
body {
  width: 100%;
  position: relative;
  min-width: 320px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-size: 3.75vw;
  color: #030303;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-align: justify;
}
@media print, screen and (min-width: 641px) {
  body {
    min-width: 1200px;
    width: 100%;
    font-size: 16px;
  }
}
@media print, screen and (min-width: 1801px) {
  body {
    font-size: 16px;
  }
}
body .fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
body a {
  color: #000;
  text-decoration: none;
}
@media print, screen and (min-width: 641px) {
  body a[href^="tel:"] {
    pointer-events: none;
  }
}
@media print, screen and (min-width: 641px) {
  body a img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}
@media print, screen and (min-width: 641px) {
  body a:hover {
    opacity: 0.8;
    -webkit-animation: btn 0.5s;
            animation: btn 0.5s;
  }
}
@-webkit-keyframes btn {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 0.4;
  }
  100% {
    opacity: 0.8;
  }
}
@keyframes btn {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 0.4;
  }
  100% {
    opacity: 0.8;
  }
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

dl, dt, dd, h1, h2, h3, h4, h5, h6, p, section {
  margin: 0;
  padding: 0;
}

section {
  display: block;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

@media print, screen and (min-width: 641px) {
  .viewSp {
    display: none !important;
  }
}

.viewPc {
  display: none !important;
}
@media print, screen and (min-width: 641px) {
  .viewPc {
    display: block !important;
  }
}

.notice li {
  padding-left: 1em;
  text-indent: -1em;
}
.notice li::before {
  content: "※";
}
/*=============================================================
 02_layout
=============================================================*/
/*!  main
================================================ */
#content {
  position: relative;
  overflow: hidden;
  background: url(../img/global/sp/bg.png) repeat-y 50% 0/100% auto;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  #content {
    background-image: url(../img/global/pc/bg.png);
    background-repeat: repeat;
    background-size: 1800px auto;
  }
}

.text-c {
  text-align: center;
}

.text-r {
  text-align: right;
}

.bold,
.emphasis {
  font-weight: bold;
}

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

.fs-large {
  font-size: 1.1666666667em;
}

.fs-xlarge {
  font-size: 1.4166666667em;
}

.link {
  text-decoration: underline;
  color: #006fd6;
}
@media (hover: hover) {
  .link:hover {
    text-decoration: none;
  }
}

.fc-pink {
  color: #ee31a1;
}

.fc-red {
  color: #e60013;
}

.fc-red01 {
  color: #e22333;
}

.referencemark > li::before {
  content: "※";
}

.list-square > li::before {
  content: "■";
}

.pc {
  display: none;
}
@media print, screen and (min-width: 641px) {
  .pc {
    display: block;
  }
}

@media print, screen and (min-width: 641px) {
  .sp {
    display: none;
  }
}

/* animation
-------------------------------------------------*/
@-webkit-keyframes loadingfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loadingfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes poyoyon2 {
  0% {
    -webkit-transform: scale(1, 1) translate(0, 0);
            transform: scale(1, 1) translate(0, 0);
  }
  15% {
    -webkit-transform: scale(0.98, 0.9) translate(0, 5px);
            transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    -webkit-transform: scale(1.02, 1) translate(0, 8px);
            transform: scale(1.02, 1) translate(0, 8px);
  }
  50% {
    -webkit-transform: scale(0.98, 1.05) translate(0, -8px);
            transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    -webkit-transform: scale(1, 0.9) translate(0, 5px);
            transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0, 0);
            transform: scale(1, 1) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
@keyframes poyoyon2 {
  0% {
    -webkit-transform: scale(1, 1) translate(0, 0);
            transform: scale(1, 1) translate(0, 0);
  }
  15% {
    -webkit-transform: scale(0.98, 0.9) translate(0, 5px);
            transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    -webkit-transform: scale(1.02, 1) translate(0, 8px);
            transform: scale(1.02, 1) translate(0, 8px);
  }
  50% {
    -webkit-transform: scale(0.98, 1.05) translate(0, -8px);
            transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    -webkit-transform: scale(1, 0.9) translate(0, 5px);
            transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0, 0);
            transform: scale(1, 1) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(5.8);
            transform: scale(5.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomIn {
  0% {
    -webkit-transform: scale(5.8);
            transform: scale(5.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  45% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  60% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  45% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  60% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes roll-in-left {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes roll-in-left {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes shake-horizontal {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transform: translate3d(7px, 0, 0);
            transform: translate3d(7px, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-7px, 0, 0);
            transform: translate3d(-7px, 0, 0);
  }
}
@keyframes shake-horizontal {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transform: translate3d(7px, 0, 0);
            transform: translate3d(7px, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-7px, 0, 0);
            transform: translate3d(-7px, 0, 0);
  }
}
@-webkit-keyframes throb {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  12% {
    -webkit-transform: scale(1.8);
            transform: scale(1.8);
  }
  27% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  41% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes throb {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  12% {
    -webkit-transform: scale(1.8);
            transform: scale(1.8);
  }
  27% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  41% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes updown1 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes updown1 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slide-up {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slide-up {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slide-down {
  0% {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slide-down {
  0% {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slide-left {
  0% {
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slide-left {
  0% {
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes slide-right {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slide-right {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.zoomout {
  opacity: 0;
  -webkit-animation: zoomOut 0.8s 0.3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: zoomOut 0.8s 0.3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.zoomin {
  opacity: 0;
  -webkit-animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.zoom {
  opacity: 0;
  -webkit-animation: zoom 0.5s forwards;
          animation: zoom 0.5s forwards;
}

.scr-target {
  opacity: 0;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fadein.is-active {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

.zoomin.is-active {
  -webkit-animation-name: zoomIn;
          animation-name: zoomIn;
}

.zoomout.is-active {
  -webkit-animation-name: zoomOut;
          animation-name: zoomOut;
}

.zoom.is-active {
  -webkit-animation-name: zoom;
          animation-name: zoom;
}

.throb.is-active {
  -webkit-animation: throb 1s ease-in-out;
          animation: throb 1s ease-in-out;
  opacity: 1;
}

/* .logo_fadein
-------------------------------------------------*/
.logo_fadein {
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
}
.logo_fadein .logo_fadein_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.logo_fadein p {
  width: 44.0625%;
  margin: 0 auto;
  opacity: 0;
  -webkit-animation: zoomOut 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: zoomOut 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@media print, screen and (min-width: 641px) {
  .logo_fadein p {
    width: 281px;
  }
}

/* #bg-snow
-------------------------------------------------*/
#bg-snow {
  position: fixed;
  width: 100%;
  height: 100svh;
  overflow: hidden;
  z-index: 1;
}

#bg-snow .bg-snow_box {
  position: relative;
}

#bg-snow .bg-snow_box img {
  position: absolute;
}

.snow:nth-child(1) {
  width: 5.3125%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(1) {
    width: 66px;
  }
}

.snow:nth-child(2) {
  width: 7.96875%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(2) {
    width: 103px;
  }
}

.snow:nth-child(3) {
  width: 3.28125%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(3) {
    width: 42.5px;
  }
}

.snow:nth-child(4) {
  width: 3.90625%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(4) {
    width: 49px;
  }
}

.snow:nth-child(5), .snow:nth-child(8), .snow:nth-child(9), .snow:nth-child(10) {
  width: 2.1875%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(5), .snow:nth-child(8), .snow:nth-child(9), .snow:nth-child(10) {
    width: 28.5px;
  }
}

.snow:nth-child(6), .snow:nth-child(7) {
  width: 1.875%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(6), .snow:nth-child(7) {
    width: 103px;
  }
}

.snow:nth-child(11) {
  width: 4.21875%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(11) {
    width: 53px;
  }
}

.snow:nth-child(12) {
  width: 3.75%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(12) {
    width: 47px;
  }
}

.snow:nth-child(13), .snow:nth-child(14) {
  width: 2.8125%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(13), .snow:nth-child(14) {
    width: 35px;
  }
}

.snow:nth-child(15) {
  width: 6.09375%;
}
@media print, screen and (min-width: 641px) {
  .snow:nth-child(15) {
    width: 78px;
  }
}

/* 雪の結晶パーツの表示位置 */
.snow:nth-child(1) {
  top: 0;
  left: 0%;
}

.snow:nth-child(2) {
  top: 0;
  left: 5%;
}

.snow:nth-child(3) {
  top: 0;
  left: 22%;
}

.snow:nth-child(4) {
  top: 0;
  left: 25%;
}

.snow:nth-child(5) {
  top: 0;
  left: 28%;
}

.snow:nth-child(6) {
  top: 0;
  left: 35%;
}

.snow:nth-child(7) {
  top: 0;
  left: 40%;
}

.snow:nth-child(8) {
  top: 0;
  left: 43%;
}

.snow:nth-child(9) {
  top: 0;
  left: 50%;
}

.snow:nth-child(10) {
  top: 0;
  left: 55%;
}

.snow:nth-child(11) {
  top: 0;
  left: 80%;
}

.snow:nth-child(12) {
  top: 0;
  left: 85%;
}

.snow:nth-child(13) {
  top: 0;
  left: 91%;
}

.snow:nth-child(14) {
  top: 0;
  left: 98%;
}

.snow:nth-child(15) {
  top: 0;
  left: 100%;
}

@-webkit-keyframes sakura {
  0% {
    opacity: 0;
  }
  20% {
    -webkit-transform: translate(3px, 10svh) rotate(20deg);
            transform: translate(3px, 10svh) rotate(20deg);
    opacity: 1;
  }
  30% {
    -webkit-transform: translate(0, 16svh) rotate(50deg);
            transform: translate(0, 16svh) rotate(50deg);
  }
  50% {
    -webkit-transform: translate(-20px, 33svh) rotate(150deg);
            transform: translate(-20px, 33svh) rotate(150deg);
  }
  70% {
    -webkit-transform: translate(-40px, 50svh) rotate(-50deg);
            transform: translate(-40px, 50svh) rotate(-50deg);
    opacity: 0.8;
  }
  80% {
    -webkit-transform: translate(-60px, 60svh) rotate(-180deg);
            transform: translate(-60px, 60svh) rotate(-180deg);
  }
  90% {
    -webkit-transform: translate(-70px, 67svh) rotate(-180deg);
            transform: translate(-70px, 67svh) rotate(-180deg);
  }
  100% {
    -webkit-transform: translate(-70px, 82svh);
            transform: translate(-70px, 82svh);
    opacity: 0;
  }
}

@keyframes sakura {
  0% {
    opacity: 0;
  }
  20% {
    -webkit-transform: translate(3px, 10svh) rotate(20deg);
            transform: translate(3px, 10svh) rotate(20deg);
    opacity: 1;
  }
  30% {
    -webkit-transform: translate(0, 16svh) rotate(50deg);
            transform: translate(0, 16svh) rotate(50deg);
  }
  50% {
    -webkit-transform: translate(-20px, 33svh) rotate(150deg);
            transform: translate(-20px, 33svh) rotate(150deg);
  }
  70% {
    -webkit-transform: translate(-40px, 50svh) rotate(-50deg);
            transform: translate(-40px, 50svh) rotate(-50deg);
    opacity: 0.8;
  }
  80% {
    -webkit-transform: translate(-60px, 60svh) rotate(-180deg);
            transform: translate(-60px, 60svh) rotate(-180deg);
  }
  90% {
    -webkit-transform: translate(-70px, 67svh) rotate(-180deg);
            transform: translate(-70px, 67svh) rotate(-180deg);
  }
  100% {
    -webkit-transform: translate(-70px, 82svh);
            transform: translate(-70px, 82svh);
    opacity: 0;
  }
}
.bg-snow_box img {
  -webkit-animation: sakura linear 16s infinite;
          animation: sakura linear 16s infinite;
  /*アニメーションが始まるまで画像を見えなくしておく*/
  opacity: 0;
}

.snow:nth-child(1), i.snow:nth-child(4), .snow:nth-child(7), .snow:nth-child(10), .snow:nth-child(8), .snow:nth-child(11), .snow:nth-child(13) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.snow:nth-child(2), .snow:nth-child(5) {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.snow:nth-child(3), .snow:nth-child(6), .snow:nth-child(9), .snow:nth-child(12) {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.snow:nth-child(8), .snow:nth-child(11), .snow:nth-child(13) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.snow:nth-child(14) {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.snow:nth-child(15) {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

/* .kv
-------------------------------------------------*/
.kv {
  position: relative;
  /*.kv-fade01 {
    opacity: 0;
    animation: loadingfadeIn 1s 4s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  }
  .kv-fade02 {
    opacity: 0;
    animation: loadingfadeIn 0.5s 5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  }*/
}
.kv .kv-container {
  position: relative;
  padding: 0 0 5.78125vw;
  background: url(../img/kv/sp/bg.png) repeat 50% 0/cover;
}
@media print, screen and (min-width: 641px) {
  .kv .kv-container {
    padding: 0 0 46px;
    background-image: url(../img/kv/pc/bg.png);
    background-size: 100% auto;
  }
}
.kv .sns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.1875vw 4.375vw;
  width: 93.75%;
  margin: 0 auto;
  padding: 1.40625vw 0 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .sns {
    width: min(100%, 1100px);
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 14px 28px;
    padding: 12px 0 0;
  }
}
.kv .carousel01, .kv .carousel02 {
  position: absolute;
  overflow: hidden;
}
.kv .carousel01 ul, .kv .carousel02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.kv .carousel01 ul > li, .kv .carousel02 ul > li {
  padding: 0 14px;
  width: 227.2727272727vw;
  height: auto;
}
@media print, screen and (min-width: 641px) {
  .kv .carousel01 ul > li, .kv .carousel02 ul > li {
    padding: 0 28px;
    width: 166.6666666667vw;
  }
}
.kv .carousel01 {
  top: -0.78125vw;
}
@media print, screen and (min-width: 641px) {
  .kv .carousel01 {
    top: -10px;
  }
}
.kv .carousel01 ul {
  -webkit-animation: loop-slide-right 35s infinite linear 1s both;
          animation: loop-slide-right 35s infinite linear 1s both;
}
@media print, screen and (min-width: 641px) {
  .kv .carousel01 ul {
    -webkit-animation: loop-slide-right 50s infinite linear 1s both;
            animation: loop-slide-right 50s infinite linear 1s both;
  }
}
.kv .carousel02 {
  bottom: -1.5625vw;
}
@media print, screen and (min-width: 641px) {
  .kv .carousel02 {
    bottom: -40px;
  }
}
.kv .carousel02 ul {
  -webkit-animation: loop-slide-left 35s infinite linear 1s both;
          animation: loop-slide-left 35s infinite linear 1s both;
}
@media print, screen and (min-width: 641px) {
  .kv .carousel02 ul {
    -webkit-animation: loop-slide-left 50s infinite linear 1s both;
            animation: loop-slide-left 50s infinite linear 1s both;
  }
}
.kv .kv-content {
  position: relative;
  background: url(../img/kv/sp/bg_content.png) no-repeat 50% 1.875vw/100%;
  width: 99.375%;
  aspect-ratio: 636/787;
  margin: -0.625vw auto 0;
  padding: 0 0 1.5625vw;
}
@media print, screen and (min-width: 641px) {
  .kv .kv-content {
    width: 1175.5px;
    background-image: url(../img/kv/pc/bg_content.png);
    background-position: 50% 15px;
    aspect-ratio: 2351/1716;
    margin: -18px auto 0;
    padding: 0 0 0;
  }
}
.kv h1 {
  position: absolute;
  top: -3.75vw;
  right: 3.90625vw;
  width: 44.3396226415%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv h1 {
    top: 38px;
    right: 412px;
    width: 350px;
  }
}
.kv .catch {
  position: absolute;
  top: 8.90625vw;
  left: 0.9375vw;
  width: 66.6666666667%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .catch {
    top: 50px;
    left: -10px;
    width: 591px;
  }
}
.kv .catch01 {
  position: absolute;
  top: 12.5vw;
  left: 2.8125vw;
  width: 44.8113207547%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .catch01 {
    top: 367px;
    left: 45px;
    width: 351px;
  }
}
.kv .catch02 {
  position: absolute;
  bottom: 3.28125vw;
  right: 5.625vw;
  width: 69.8113207547%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .catch02 {
    bottom: 71px;
    right: 58px;
    width: 543px;
  }
}
.kv .event-dates {
  position: absolute;
  top: 44.0625vw;
  right: 0.625vw;
  width: 27.9874213836%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .event-dates {
    top: 60px;
    right: -24px;
    width: 234.5px;
  }
}
.kv .hero-image {
  /* position: relative;
   width: calc(607 / 636 * 100%);
   margin: 0 auto;
   z-index: 1;
   @include mq {
     width: calc(1328px / 2);
     margin: 0 58px 0 auto;
   }
   .hero-bg {
     width: 100%;
     height: auto;
     background: url(../img/kv/sp/hero_image_bg.png) no-repeat 50% 50% / 100% auto;
     aspect-ratio: 607 / 777;
     @include mq {
       background-image: url(../img/kv/pc/hero_image_bg.png);
       aspect-ratio: 1328 / 1681;
     }
   }
   .hero {
     position: absolute;
     top: 0;
     right: 0;
     @include mq {
       top: 0;
       right: 0;
     }
   }*/
  position: relative;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .hero-image {
    margin: 0 58px 0 auto;
  }
}
.kv .hero-image .hero-image01 {
  position: absolute;
  top: 2.65625vw;
  right: 4.375vw;
  width: 90.0943396226%;
}
@media print, screen and (min-width: 641px) {
  .kv .hero-image .hero-image01 {
    top: 55px;
    left: 10px;
    width: 632px;
  }
}
.kv .hero-image .hero-image01 .hero {
  position: absolute;
  top: 0;
  left: 0;
}
.kv .hero-image .hero-image01 .hero-bg {
  width: 100%;
  height: auto;
  background: url(../img/kv/sp/hero_image01_bg.png) no-repeat 50% 50%/100% auto;
  aspect-ratio: 573/741;
}
@media print, screen and (min-width: 641px) {
  .kv .hero-image .hero-image01 .hero-bg {
    background-image: url(../img/kv/pc/hero_image01_bg.png);
    aspect-ratio: 1264/1598;
  }
}
.kv .hero-image .hero-image02 {
  position: absolute;
  top: -0.78125vw;
  left: -0.3125vw;
  width: 98.1132075472%;
}
@media print, screen and (min-width: 641px) {
  .kv .hero-image .hero-image02 {
    top: 26px;
    left: 516px;
    width: 632px;
  }
}
.kv .hero-image .hero-image02 .hero {
  position: absolute;
  top: 0;
  left: 0;
}
.kv .hero-image .hero-image02 .hero-bg {
  width: 100%;
  height: auto;
  background: url(../img/kv/sp/hero_image02_bg.png) no-repeat 50% 50%/100% auto;
  aspect-ratio: 624/775;
}
@media print, screen and (min-width: 641px) {
  .kv .hero-image .hero-image02 .hero-bg {
    background-image: url(../img/kv/pc/hero_image02_bg.png);
    aspect-ratio: 1264/1598;
  }
}
.kv .note {
  position: absolute;
  bottom: -0.625vw;
  right: 4.0625vw;
  width: 33.4905660377%;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .kv .note {
    bottom: 26px;
    right: 46px;
    width: 357px;
  }
}
.kv .kv-slide01 {
  opacity: 0;
  -webkit-animation: fadeIn 0.5s 4s forwards, slide-up 0.5s 4s forwards;
          animation: fadeIn 0.5s 4s forwards, slide-up 0.5s 4s forwards;
}
.kv .kv-slide02 {
  opacity: 0;
  -webkit-animation: fadeIn 0.5s 4s forwards, slide-down 0.5s 4s forwards;
          animation: fadeIn 0.5s 4s forwards, slide-down 0.5s 4s forwards;
}
.kv .kv-fade02 {
  opacity: 0;
  -webkit-animation: loadingfadeIn 0.5s 5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: loadingfadeIn 0.5s 5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.kv .kv-updown {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, updown1 2s 3s ease-in-out infinite;
          animation: fadeIn 1s 5.5s forwards, updown1 2s 3s ease-in-out infinite;
}
.kv .kv-shake-horizontal {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, shake-horizontal 1s 5.5s forwards;
          animation: fadeIn 1s 5.5s forwards, shake-horizontal 1s 5.5s forwards;
}
.kv .kv-shake-slide03 {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, slide-left 0.25s ease-in-out 5.5s forwards;
          animation: fadeIn 1s 5.5s forwards, slide-left 0.25s ease-in-out 5.5s forwards;
}
.kv .kv-shake-slide04 {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, slide-right 0.25s ease-in-out 5.5s forwards;
          animation: fadeIn 1s 5.5s forwards, slide-right 0.25s ease-in-out 5.5s forwards;
}
.kv .kv-roll-in-left {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, roll-in-left 0.35s 5.5s forwards;
          animation: fadeIn 1s 5.5s forwards, roll-in-left 0.35s 5.5s forwards;
}
.kv .kv-throb {
  opacity: 0;
  -webkit-animation: fadeIn 1s 5.5s forwards, throb 1s 5.5s ease-in-out forwards;
          animation: fadeIn 1s 5.5s forwards, throb 1s 5.5s ease-in-out forwards;
}

@-webkit-keyframes loop-slide-right {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes loop-slide-right {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes loop-slide-left {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loop-slide-left {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* .page-link
-------------------------------------------------*/
.page-link {
  position: relative;
  margin: -1.09375vw 0 0;
  padding: 0;
}
@media print, screen and (min-width: 641px) {
  .page-link {
    min-height: 99px;
    margin-top: -57px;
    padding: 0;
  }
}
.page-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 34.375vw;
  background-color: rgba(0, 225, 0, 0.2);
  background: url(../img/kv/sp/page_link_bg.png) repeat 0 0/3.125% auto;
}
@media print, screen and (min-width: 641px) {
  .page-link::before {
    height: calc(100% - 57px);
    background-image: url(../img/kv/pc/page_link_bg.png);
    background-size: 20px auto;
  }
}
.page-link .btn-bookstore {
  position: relative;
  width: 89.53125%;
  margin: 0 auto;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .page-link .btn-bookstore {
    position: absolute;
    top: -58px;
    left: 0;
    right: 0;
    width: 632px;
  }
}
.page-link .in-page-links {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .page-link .in-page-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4px 0;
    width: min(100%, 1200px);
    margin: 0 auto;
    padding: 0 0 40px;
  }
}
.page-link .in-page-links > li {
  width: 51.71875%;
}
@media print, screen and (min-width: 641px) {
  .page-link .in-page-links > li {
    width: 564px;
  }
}
.page-link .in-page-links > li:nth-of-type(2n) {
  margin-left: -3.4375vw;
}
@media print, screen and (min-width: 641px) {
  .page-link .in-page-links > li:nth-of-type(2n) {
    margin-left: 0;
  }
}
.page-link .in-page-links > li:nth-of-type(n+3) {
  margin-top: -2.1875vw;
}
@media print, screen and (min-width: 641px) {
  .page-link .in-page-links > li:nth-of-type(n+3) {
    margin-top: 0;
  }
}
.page-link .in-page-links > li a {
  display: block;
}

/* .content-box
-------------------------------------------------*/
.content-box {
  position: relative;
  margin-top: -7.34375vw;
  padding: 12.8125vw 0 7.5vw;
  background-color: #1f49b6;
  border-radius: 2.34375vw;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .content-box {
    margin-top: -75px;
    padding: 118px 0 18px;
    border-radius: 30px;
  }
}
.content-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 9.84375vw;
  border-radius: 2.34375vw 2.34375vw 0 0;
  background-image: url(../img/kv/sp/page_link_bg.png);
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 3.125% auto;
}
@media print, screen and (min-width: 641px) {
  .content-box::before {
    height: 98px;
    border-radius: 30px 30px 0 0;
    background-image: url(../img/kv/pc/page_link_bg.png);
    background-size: 40px auto;
  }
}
.content-box .content-box-inner {
  width: 87.6666666667%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .content-box .content-box-inner {
    width: 1052px;
  }
}

/* .topic01
-------------------------------------------------*/
.topic01 {
  width: 93.75%;
  margin: 3.59375vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic01 {
    width: 1200px;
    margin: 37px auto 0;
  }
}
.topic01 .topic_title {
  position: relative;
  width: 76.1666666667%;
  margin: 0 auto;
  padding: 6.875vw 0 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .topic01 .topic_title {
    width: 665px;
    padding: 67px 0 0;
  }
}
.topic01 .topic_title .icon_get {
  position: absolute;
  top: 0;
  left: -5vw;
  width: 15.3172866521%;
}
@media print, screen and (min-width: 641px) {
  .topic01 .topic_title .icon_get {
    top: 0;
    left: -56px;
    width: 102px;
  }
}
.topic01 .topic_title h2 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}
.content-box {
  margin-top: -7.34375vw;
  padding: 12.8125vw 0 6.25vw;
}
@media print, screen and (min-width: 641px) {
  .content-box {
    margin-top: -75px;
    padding: 118px 0 21px;
  }
}
.content-box::before {
  background: url(../img/kv/sp/page_link_bg.png) repeat 0 0/3.125% auto;
}
@media print, screen and (min-width: 641px) {
  .content-box::before {
    background-image: url(../img/kv/pc/page_link_bg.png);
    background-size: 20px auto;
  }
}
.content-box .content-box-inner {
  width: 87.6666666667%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .content-box .content-box-inner {
    width: 1052px;
  }
}
.content-box .lead {
  margin-bottom: 2.34375vw;
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  line-height: 1.5555555556;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .content-box .lead {
    margin-bottom: 18px;
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.content-box .strong {
  font-weight: bold;
  color: #fff216;
}
.content-box .subtitle {
  margin-bottom: 2.5vw;
  padding: 0.46875vw 0;
  background-color: #fff216;
  border-radius: 0.78125vw;
  font-size: 26px;
  font-size: 4.0625vw;
  font-weight: bold;
  text-align: center;
  color: #ef2637;
  letter-spacing: 0.1em;
  text-indent: -0.1em;
}
@media print, screen and (min-width: 641px) {
  .content-box .subtitle {
    margin-bottom: 16px;
    padding: 2px 0 1px;
    font-size: 36px;
    border-radius: 10px;
  }
}
@media print, screen and (min-width: 641px) {
  .content-box .title-wrap {
    margin-bottom: 18px;
  }
}
.content-box .title-wrap .fair-subtitle {
  display: inline-block;
  margin-bottom: 0.78125vw;
  padding: 0.3125vw 2.03125vw 0.15625vw;
  background-color: #fff;
  font-size: 35.66px;
  font-size: 5.571875vw;
  font-weight: bold;
  line-height: 1;
  color: #000;
}
@media print, screen and (min-width: 641px) {
  .content-box .title-wrap .fair-subtitle {
    margin-bottom: 6px;
    padding: 2px 16px 1px;
    font-size: 44.5px;
    color: #000;
  }
}
.content-box .title-wrap .fair-title {
  display: inline-block;
  padding: 0.9375vw 1.71875vw 0.625vw;
  background-color: #fff;
  font-size: 44.05px;
  font-size: 6.8828125vw;
  font-weight: bold;
  line-height: 1;
}
@media print, screen and (min-width: 641px) {
  .content-box .title-wrap .fair-title {
    padding: 8px 15px 4px;
    font-size: 55px;
  }
}
.content-box .text {
  font-size: 16px;
  font-size: 2.5vw;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .content-box .text {
    font-size: 16px;
  }
}
.content-box .lineup > dt {
  padding: 0.78125vw 0 0.3125vw;
  background-color: #fff;
  border-radius: 0.78125vw 0.78125vw 0 0;
  font-size: 17.63px;
  font-size: 2.7546875vw;
  font-weight: bold;
  text-align: center;
  color: #244ab3;
}
@media print, screen and (min-width: 641px) {
  .content-box .lineup > dt {
    padding: 4px 0 1px;
    border-radius: 10px 10px 0 0;
    border: 2px solid #fff;
    font-size: 22px;
  }
}
.content-box .lineup > dd {
  padding: 2.34375vw 1.5625vw 3.125vw;
  border-radius: 0 0 0.78125vw 0.78125vw;
  border: 0.3125vw solid #fff;
  border-top: none;
  font-size: 12px;
  font-size: 1.875vw;
  font-weight: bold;
  line-height: 1.8025;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .content-box .lineup > dd {
    padding: 20px 13px 49px;
    border-radius: 0 0 10px 10px;
    border: 2px solid #fff;
    border-top: none;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.content-box .notice {
  font-size: 10px;
  font-size: 1.5625vw;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
}
#shoplist .block h2 .notice2{
  font-size: 12px;
}
@media print, screen and (min-width: 641px) {
  .content-box .notice {
    font-size: 12px;
    line-height: 1.6666666667;
  }
}
.content-box .fs {
  font-size: 0.8333333333em;
  font-weight: normal;
}
.content-box .details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2.96875vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .details {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 32px;
  }
}
.content-box .details .textarea {
  display: contents;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .textarea {
    display: block;
    width: 499px;
  }
}
.content-box .details .title-wrap {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .title-wrap {
    margin-bottom: 18px;
  }
}
.content-box .details .text {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.content-box .details .lineup {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 3.28125vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .lineup {
    margin-top: 22px;
  }
}
.content-box .details .prizearea {
  display: contents;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .prizearea {
    position: relative;
    display: block;
    width: 530px;
  }
}
.content-box .details .prize {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 96.0076045627%;
  margin: 2.8125vw auto 1.25vw;
  padding: 0;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .prize {
    position: absolute;
    top: -26px;
    right: -30px;
    width: 563.5px;
    margin: 0 auto 0;
  }
}
.content-box .details .notice {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  margin-top: 1.5625vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .details .notice {
    margin-top: 510px;
  }
}
.content-box .sticker {
  margin: 4.0625vw auto 8.4375vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .sticker {
    width: 1000px;
    margin: 25px auto 78px;
  }
}
.content-box .distribution {
  margin-bottom: 5.9375vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution {
    margin-top: -9px;
    margin-bottom: 36px;
  }
}
.content-box .distribution .title-wrap {
  margin-bottom: 1.875vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .title-wrap {
    margin-bottom: 22px;
  }
}
.content-box .distribution .distribution-wrap {
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .distribution-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .distribution-text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 530px;
    margin-top: 132px;
  }
}
.content-box .distribution .distribution-img {
  width: 88.2129277567%;
  margin: 5.9375vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .distribution-img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 490px;
    margin: 0 0 0 14px;
  }
}
.content-box .distribution .fair-guide {
  margin: 6.09375vw auto 3.59375vw;
  padding-bottom: 2.34375vw;
  border-bottom: 0.625vw solid #fff216;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .fair-guide {
    margin: -47px 0 17px;
    padding-bottom: 12px;
    border-bottom: 4px solid #fff216;
  }
}
.content-box .distribution .fair-guide .fair-guide-title {
  width: 100%;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .fair-guide .fair-guide-title {
    width: 499px;
    margin: 0 0 0 auto;
  }
}
.content-box .distribution .guide {
  padding-bottom: 4.375vw;
  border-bottom: 0.625vw solid #fff216;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .guide {
    padding-bottom: 20.5px;
    border-bottom: 4px solid #fff216;
  }
}
.content-box .distribution .guide + .guide {
  margin-top: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .guide + .guide {
    margin-top: 19px;
  }
}
.content-box .distribution .lineup {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 6.875vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .lineup {
    margin-top: 31px;
  }
}
.content-box .distribution .lineup > dd {
  padding: 2.65625vw 1.5625vw 3.125vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .lineup > dd {
    padding: 26px 48px 25px 24px;
  }
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .lineup > dd ul {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
  }
}
.content-box .distribution .lineup > dd ul > li:not(:last-of-type) {
  margin-bottom: 0.4921875vw;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .lineup > dd ul > li:not(:last-of-type) {
    margin-bottom: 0;
    line-height: 2.1428571429;
  }
}
.content-box .distribution .notice {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5625vw 0 0 auto;
}
@media print, screen and (min-width: 641px) {
  .content-box .distribution .notice {
    margin: 13px 0 0 auto;
  }
}
.content-box .bookstores {
  font-size: 19.2px;
  font-size: 3vw;
  font-weight: bold;
  line-height: 1.1854166667;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .content-box .bookstores {
    font-size: 32px;
    line-height: 1.185;
  }
}
.content-box .btn-soon {
  width: 69.7718631179%;
  margin: 2.03125vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .content-box .btn-soon {
    width: 556.5px;
    margin: 16px auto 0;
  }
}
.content-box .btn-list {
  width: 93.9163498099%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 641px) {
  .content-box .btn-list {
    width: 629px;
    margin: -30px auto 0;
  }
}

/* .topic
-------------------------------------------------*/
.topic {
  position: relative;
  width: 93.75%;
  margin: 3.90625vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic {
    width: 1200px;
    margin: 37px auto 0;
  }
}
.topic .topic_title {
  position: relative;
  margin: 0 auto;
  padding: 6.875vw 0 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .topic .topic_title {
    padding: 67px 0 0;
  }
}
.topic .topic_title .icon_get {
  position: absolute;
  top: 0;
  left: -5vw;
  width: 15.3172866521%;
}
@media print, screen and (min-width: 641px) {
  .topic .topic_title .icon_get {
    top: 0;
    left: -56px;
    width: 102px;
  }
}
.topic .topic_title h2 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}
/* .topic02
-------------------------------------------------*/
.topic02 .topic_title {
  width: 76.1666666667%;
  padding: 6.875vw 0 0;
}
@media print, screen and (min-width: 641px) {
  .topic02 .topic_title {
    width: 610px;
    padding-top: 105px;
  }
}
@media print, screen and (min-width: 641px) {
  .topic02 .topic_title h2 {
    margin-top: -43px;
  }
}
.topic02.topic {
  margin-top: 7.8125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02.topic {
    margin-top: 14px;
  }
}
.topic02 .content-box {
  padding-top: 16.09375vw;
  padding-bottom: 5.625vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .content-box {
    padding-top: 144px;
    padding-bottom: 40px;
    background-image: url(../img/topic02/pc/bg_item01.png), url(../img/topic02/pc/bg_item02.png), url(../img/topic02/pc/bg_item03.png);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left 73px top 264px, right 70px top 224px, right 153px top 394px;
    background-size: 75px auto, 34px auto, 48px auto;
  }
}
.topic02 .content-box::before {
  background-image: url(../img/topic02/sp/page_link_bg.png);
}
@media print, screen and (min-width: 641px) {
  .topic02 .content-box::before {
    background-image: url(../img/topic02/pc/page_link_bg.png);
  }
}
.topic02 .intoro {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.8888888889;
}
@media print, screen and (min-width: 641px) {
  .topic02 .intoro {
    padding: 0 14px 0;
    font-size: 26px;
    line-height: 1.6473076923;
  }
}
.topic02 .intoro .lead {
  display: inline-block;
  width: 103.605313093%;
  margin: 0 -10% 2.5vw;
  background-color: #fff;
  font-size: 25.99px;
  font-size: 4.0609375vw;
  font-weight: bold;
  color: #e22333;
  text-align: center;
  line-height: 1.55136591;
}
@media print, screen and (min-width: 641px) {
  .topic02 .intoro .lead {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 26px;
    padding: 0 17px 0;
    font-size: 44px;
    line-height: 1.415;
  }
}
.topic02 .intoro .underline {
  text-decoration: underline;
}
.topic02 .subtitle-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 22px;
  font-size: 3.4375vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff216;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle-line {
    font-size: 31px;
  }
}
.topic02 .subtitle-line::before, .topic02 .subtitle-line::after {
  content: "";
  width: 3.125vw;
  height: 0.625vw;
  background-color: #fff216;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle-line::before, .topic02 .subtitle-line::after {
    width: 27px;
    height: 4px;
  }
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle-line::before {
    margin-right: 0.5em;
  }
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle-line::after {
    margin-left: 0.5em;
  }
}
.topic02 .enter {
  margin-top: 6.71875vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .enter {
    margin-top: 50px;
  }
}
.topic02 .box-white {
  margin-top: 1.25vw;
  padding: 3.4375vw 0 3.28125vw 3.125vw;
  background-color: #fff;
  border-radius: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box-white {
    width: min(100%, 1000px);
    margin: 3px auto 0;
    padding: 24px 26px 35px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 20px;
  }
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.topic02 .howto-enter > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.1875vw;
  font-size: 20px;
  font-size: 3.125vw;
  font-weight: bold;
  line-height: 1.6;
  color: #1f49b6;
  letter-spacing: -0.02em;
  text-align: left;
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter > li {
    display: block;
    width: 301.5px;
    font-size: 20px;
  }
}
.topic02 .howto-enter > li:not(:last-of-type) {
  margin-bottom: 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter > li:not(:last-of-type) {
    margin-bottom: 0;
  }
}
.topic02 .howto-enter > li:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: -3.28125vw;
  left: 18.28125vw;
  display: inline-block;
  width: 4.53125vw;
  height: 2.5vw;
  background: #1f49b6;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter > li:not(:last-of-type)::after {
    top: 85px;
    bottom: inherit;
    right: -18px;
    left: inherit;
    width: 14px;
    height: 34px;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
  }
}
.topic02 .howto-enter .enter-img {
  position: relative;
  width: 51.185770751%;
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter .enter-img {
    width: 100%;
    margin-bottom: 17px;
  }
}
.topic02 .howto-enter .enter-detail {
  width: 46.04743083%;
}
@media print, screen and (min-width: 641px) {
  .topic02 .howto-enter .enter-detail {
    width: 100%;
  }
}
.topic02 .box-white + .notes {
  margin-top: 5.078125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box-white + .notes {
    margin-top: 27px;
  }
}
.topic02 .notes {
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic02 .notes {
    width: min(100%, 1000px);
    margin: auto;
  }
}
.topic02 .item-headline {
  margin-bottom: 0.78125vw;
  font-size: 20px;
  font-size: 3.125vw;
  font-weight: bold;
  color: #fff216;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 641px) {
  .topic02 .item-headline {
    margin-bottom: 4px;
    font-size: 22px;
  }
}
.topic02 .subitem-headline {
  font-size: 12px;
  font-size: 1.875vw;
  line-height: 1.6666666667;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subitem-headline {
    font-size: 12px;
  }
}
.topic02 .period {
  margin-top: -0.625vw;
  font-size: 22px;
  font-size: 3.4375vw;
  font-weight: bold;
  line-height: 1.2272727273;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 641px) {
  .topic02 .period {
    margin-top: 4px;
    font-size: 22px;
  }
}
.topic02 .item-contents {
  margin-top: 4.21875vw;
  font-size: 16px;
  font-size: 2.5vw;
  font-weight: bold;
  line-height: 1.5625;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 641px) {
  .topic02 .item-contents {
    margin-top: 29px;
    font-size: 16px;
  }
}
.topic02 .item-contents + .subitem-contents {
  margin-top: 4.453125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .item-contents + .subitem-contents {
    margin-top: 33px;
  }
}
.topic02 .subitem-contents {
  margin-top: 5.625vw;
  font-size: 12px;
  font-size: 1.875vw;
  line-height: 1.6666666667;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subitem-contents {
    margin-top: 27px;
    font-size: 12px;
  }
}
.topic02 .line-narrow {
  line-height: 1;
}
@media print, screen and (min-width: 641px) {
  .topic02 .line-narrow {
    line-height: 1.1764705882;
  }
}
.topic02 .support {
  margin: 0.703125vw 0 1.40625vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .support {
    margin: 0 0 7px;
  }
}
.topic02 .support a {
  color: #fff;
}
.topic02 .btn-sns {
  width: 93.9163498099%;
  margin: 5.15625vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic02 .btn-sns {
    width: 783px;
    margin: 17px auto 0;
  }
}

/* .topic03
-------------------------------------------------*/
.topic03 .topic_title {
  width: 50.8333333333%;
  padding: 0;
}
@media print, screen and (min-width: 641px) {
  .topic03 .topic_title {
    width: 451px;
  }
}
.topic03.topic {
  margin-top: 10.46875vw;
}
@media print, screen and (min-width: 641px) {
  .topic03.topic {
    margin-top: 80px;
  }
}
.topic03 .content-box {
  padding-top: 14.140625vw;
  padding-bottom: 6.25vw;
}
@media print, screen and (min-width: 641px) {
  .topic03 .content-box {
    padding-top: 140px;
    padding-bottom: 38px;
  }
}
.topic03 .content-box::before {
  background-image: url(../img/topic03/sp/page_link_bg.png);
}
@media print, screen and (min-width: 641px) {
  .topic03 .content-box::before {
    background-image: url(../img/topic03/pc/page_link_bg.png);
  }
}
.topic03 .intoro {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  color: #fff;
  line-height: 1.5555555556;
}
@media print, screen and (min-width: 641px) {
  .topic03 .intoro {
    font-size: 26px;
    line-height: 1.7919230769;
  }
}
.topic03 .fair {
  margin: 4.140625vw 0 0;
}
@media print, screen and (min-width: 641px) {
  .topic03 .fair {
    margin: 47px 0 0;
  }
}
.topic03 .fair .fair-headline {
  font-size: 26.48px;
  font-size: 4.1375vw;
  font-weight: bold;
  color: #fff216;
}
@media print, screen and (min-width: 641px) {
  .topic03 .fair .fair-headline {
    font-size: 31px;
  }
}
.topic03 .fair .period {
  font-size: 16px;
  font-size: 2.5vw;
  font-weight: bold;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic03 .fair .period {
    font-size: 20px;
  }
}
.topic03 .fair .bannar {
  width: 100%;
  margin: 1.71875vw auto 1.71875vw;
}
@media print, screen and (min-width: 641px) {
  .topic03 .fair .bannar {
    width: 1004px;
    margin: 17px auto 6px;
  }
}
.topic03 .fair .referencemark {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  font-size: 10px;
  font-size: 1.5625vw;
  line-height: 1.4;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic03 .fair .referencemark {
    margin: 0 26px 0 auto;
    font-size: 12px;
    line-height: 1.6666666667;
  }
}
.topic03 .btn-denshi {
  width: 93.9163498099%;
  margin: 4.375vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic03 .btn-denshi {
    width: 612px;
    margin: 40px auto 0;
  }
}

/* .topic04
-------------------------------------------------*/
.topic04 .topic_title {
  width: 38%;
  padding: 0;
}
@media print, screen and (min-width: 641px) {
  .topic04 .topic_title {
    width: 378px;
  }
}
.topic04.topic {
  margin-top: 11.09375vw;
}
@media print, screen and (min-width: 641px) {
  .topic04.topic {
    margin-top: 71px;
  }
}
.topic04 .content-box {
  padding-top: 14.140625vw;
  padding-bottom: 6.5625vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 .content-box {
    padding-top: 140px;
    padding-bottom: 38px;
  }
}
.topic04 .content-box::before {
  background-image: url(../img/topic04/sp/page_link_bg.png);
}
@media print, screen and (min-width: 641px) {
  .topic04 .content-box::before {
    background-image: url(../img/topic04/pc/page_link_bg.png);
  }
}
.topic04 .intoro {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  color: #fff;
  line-height: 1.5555555556;
}
@media print, screen and (min-width: 641px) {
  .topic04 .intoro {
    font-size: 26px;
    line-height: 1.7919230769;
  }
}
.topic04 .order {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 4.375vw auto 0.78125vw;
  font-size: 16.94px;
  font-size: 2.646875vw;
  font-weight: bold;
  color: #1f49b6;
}
@media print, screen and (min-width: 641px) {
  .topic04 .order {
    margin: 22px auto 3px;
    font-size: 27.6px;
  }
}
.topic04 .order > dt {
  padding: 1.09375vw 1.40625vw 0.78125vw;
  background-color: #fff216;
}
@media print, screen and (min-width: 641px) {
  .topic04 .order > dt {
    padding: 0 14px 0;
  }
}
.topic04 .order > dd {
  padding: 1.09375vw 1.40625vw 0.78125vw;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic04 .order > dd {
    padding: 0 14px 0;
  }
}
.topic04 .release {
  font-size: 14px;
  font-size: 2.1875vw;
  font-weight: bold;
}
@media print, screen and (min-width: 641px) {
  .topic04 .release {
    font-size: 18px;
  }
}
.topic04 .intoro + .goods {
  margin-top: 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 .intoro + .goods {
    margin-top: 21px;
  }
}
.topic04 .goods {
  width: 99.6197718631%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods {
    width: min(100%, 1000px);
  }
}
.topic04 .goods + .goods {
  margin-top: 5.15625vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods + .goods {
    margin-top: 40px;
  }
}
.topic04 .goods .goods-headline {
  margin-bottom: 3.125vw;
  padding: 0.78125vw 0 0.3125vw;
  border-top: 0.2828125vw solid #fff216;
  border-bottom: 0.2828125vw solid #fff216;
  font-size: 24.89px;
  font-size: 3.8890625vw;
  font-weight: bold;
  color: #fff216;
  line-height: 1.7918842909;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods .goods-headline {
    margin-bottom: 5px;
    padding: 3px 0 4px;
    border-top-width: 2px;
    border-bottom-width: 2px;
    font-size: 27.6px;
    line-height: 1.7920289855;
  }
}
.topic04 .goods-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.5vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  gap: 1.484375vw 2.5vw;
  width: 93.320610687%;
  margin: 0 auto;
}
.topic04 .goods-list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.topic04 .goods-list > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods-list {
    -ms-grid-columns: 1fr 14px 0.51fr 14px 0.51fr;
    grid-template-columns: 1fr 0.51fr 0.51fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    gap: 0 14px;
    width: min(100%, 1000px);
    margin: 21px auto 0;
  }
  .topic04 .goods-list > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .topic04 .goods-list > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .topic04 .goods-list > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
}
.topic04 .goods-list .goods-item:nth-of-type(1) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods-list .goods-item:nth-of-type(1) {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
}
.topic04 .goods-list .goods-item:nth-of-type(2) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods-list .goods-item:nth-of-type(2) {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.topic04 .goods-list .goods-item:nth-of-type(3) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 3/3;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods-list .goods-item:nth-of-type(3) {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 2/2;
  }
}
@media print, screen and (min-width: 641px) {
}
.topic04 .goods-list .goods-item figure {
  margin: 0;
  padding: 0;
}
.topic04 .goods-list .goods-item .goods-type {
  margin: 1.5625vw 0;
  font-size: 17.55px;
  font-size: 2.7421875vw;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 641px) {
  .topic04 .goods-list .goods-item .goods-type {
    margin: 5px 0;
    font-size: 18px;
  }
}
.topic04 .btn-goods {
  width: 93.9163498099%;
  margin: 3.125vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic04 .btn-goods {
    width: 612px;
    margin: 17px auto 0;
  }
}

/* .pagetop
-------------------------------------------------*/
.pagetop {
  position: fixed;
  bottom: 9.84375vw;
  right: 1.875vw;
  width: 10%;
  opacity: 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .pagetop {
    width: min(100%, 1400px);
    bottom: 28px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}
.pagetop a {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .pagetop a {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 86.5px;
  }
}

/* .content-copyright
-------------------------------------------------*/
.content-copyright {
  position: relative;
  width: 93.75%;
  margin: 0 auto 0;
  padding: 8.59375vw 0 0;
  color: #2e2d88;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .content-copyright {
    width: min(88.8888888889%, 1000px);
    margin: 0 auto 0;
    padding: 58px 0 30px;
  }
}
.content-copyright .illustrator {
  font-size: 13.98px;
  font-size: 2.184375vw;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .illustrator {
    font-size: 14px;
  }
}
.content-copyright .bnr {
  width: 26%;
  margin: 7.65625vw auto 4.53125vw;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .bnr {
    width: 155px;
    margin: 49px auto 0;
  }
}

/*!  footer
================================================ */
/* footer
-------------------------------------------------*/
footer {
  position: relative;
  padding: 7.65625vw 0 6.5625vw;
  background-color: #183687;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  footer {
    padding: 52px 0 42px;
  }
}
footer .logo {
  width: 44.0625%;
  margin: 0 auto 2.34375vw;
}
@media print, screen and (min-width: 641px) {
  footer .logo {
    width: 281px;
    margin: 0 auto 12px;
  }
}
footer .copyright {
  font-size: 11.99px;
  font-size: 1.8734375vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  footer .copyright {
    font-size: 12px;
  }
}
footer .copyright small {
  font-size: 100%;
}

/*!  shoplist
================================================ */
#shoplist {
  padding: 6.25vw 0 3.125vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist {
    padding: 42px 0 30px;
  }
}
#shoplist .inner {
  margin: 0 3.75vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .inner {
    width: 1000px;
    margin: 0 auto;
  }
}
#shoplist .logo {
  width: 41.25vw;
  margin: 0 auto 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .logo {
    width: 235px;
    margin: 0 auto 18px;
  }
}
#shoplist h1 {
  font-size: 38px;
  font-size: 5.9375vw;
  margin-bottom: 7.5vw;
  color: #030303;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  #shoplist h1 {
    font-size: 42px;
    margin-bottom: 40px;
  }
}
#shoplist h1 span {
  background-color: #fff317;
  padding: 0 2.34375vw 0 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist h1 span {
    padding: 0 20px 0 0;
  }
}
#shoplist .notice {
  font-size: 26px;
  font-size: 4.0625vw;
  background-color: #d3defe;
  border-radius: 1.6875vw;
  padding: 7.5vw 5vw;
  color: #e60012;
  font-weight: bold;
  margin-bottom: 9.0625vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .notice {
    font-size: 20px;
    padding: 42px 50px;
    border-radius: 10px;
    margin-bottom: 78px;
  }
}
#shoplist .navigation {
  border-radius: 4.6875vw 4.6875vw 0 0;
  margin-bottom: 9.0625vw;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation {
    margin-bottom: 76px;
    border-radius: 30px 30px 0 0;
  }
}
#shoplist .navigation h2 {
  font-size: 30px;
  font-size: 4.6875vw;
  border-radius: 4.6875vw 4.6875vw 0 0;
  background-color: #17358d;
  color: #fff;
  text-align: center;
  padding: 1.875vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation h2 {
    font-size: 22px;
    border-radius: 10px 10px 0 0;
    padding: 10px 0;
  }
}
#shoplist .navigation ul {
  font-size: 0;
  padding: 6.25vw 6.25vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul {
    padding: 46px 50px 28px;
  }
}
#shoplist .navigation ul li {
  display: inline-block;
  margin-bottom: 6.25vw;
  margin-left: 2.34375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li {
    margin-left: 34px;
    margin-bottom: 20px;
  }
}
#shoplist .navigation ul li a {
  position: relative;
  font-size: 26px;
  font-size: 4.0625vw;
  padding-right: 3.90625vw;
  font-weight: bold;
  color: #030303;
  text-decoration: underline;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li a {
    font-size: 18px;
    padding-right: 18px;
  }
}
#shoplist .navigation ul li a::after {
  content: "";
  width: 2.8125vw;
  height: 1.71875vw;
  background: url("../img/shoplist/sp/icon.png") no-repeat top center;
  background-size: contain;
  position: absolute;
  bottom: 1.25vw;
  right: 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li a::after {
    width: 13px;
    height: 7px;
    bottom: 7px;
    background: url("../img/shoplist/pc/icon.png") no-repeat top center;
    background-size: contain;
  }
}
#shoplist .block {
  padding-bottom: 9.375vw;
  border-bottom: 2px solid #030303;
  margin-bottom: 9.375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block {
    padding-bottom: 45px;
    margin-bottom: 25px;
  }
}
#shoplist .block h2 {
  font-size: 30px;
  font-size: 4.6875vw;
  color: #030303;
  line-height: 1;
  text-align: center;
  background-color: #fff217;
  padding: 2.65625vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block h2 {
    font-size: 22px;
    padding: 16px 0;
  }
}
 #shoplist table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}
 #shoplist table th {
  width: 80%;
  background-color: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 8px;
  vertical-align: middle;
  font-weight: bold;
  text-align: left;
}
 #shoplist table td {
  background: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 8px;
  vertical-align: top;
  text-align: center;
  font-weight: bold;
    color: #e60012;
}
#shoplist table th.pk,
#shoplist table td.pk{
  background: #fee7e9;
}

@media print, screen and (min-width: 641px) {
  #shoplist .block table tr {
    font-size: 18px;
    padding: 10px 0 10px 50px;
  }
}
#shoplist .block table tr:nth-of-type(2n) {
  background-color: #fff;
}
#shoplist .text2 {
  font-size: 26px;
  font-size: 4.0625vw;
  font-weight: bold;
  color: #030303;
  margin-bottom: 12.5vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .text2 {
    font-size: 14px;
    margin-bottom: 40px;
    text-align: center;
  }
}
#shoplist .btnBack {
  width: 19.6875vw;
  margin: 0 auto 9.0625vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .btnBack {
    width: 126px;
    margin: 0 auto 24px;
  }
}
#shoplist .bnr {
  width: 24.21875vw;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  #shoplist .bnr {
    width: 155px;
    margin: 0 auto;
  }
}