@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-color: #008cd6;
  background-image: url(../img/global/sp/bg_top.png), url(../img/global/sp/bg_bottom.png);
  background-repeat: no-repeat, no-repeat;
  background-position: 50% 0, 50% 100%;
  background-size: 100% auto, 100% auto;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  #content {
    background-image: url(../img/global/pc/bg_top.png), url(../img/global/pc/bg_bottom.png);
    background-size: 100% auto, 100% auto;
  }
}

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

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

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

.fc-pink {
  color: #ee31a1;
}

.fc-red {
  color: #e60013;
}

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

/* animation
-------------------------------------------------*/
@-webkit-keyframes loadingfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loadingfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes poyoyon2 {
  0% {
    transform: scale(1, 1) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1) translate(0, 8px);
  }
  50% {
    transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1, 1) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
@keyframes poyoyon2 {
  0% {
    transform: scale(1, 1) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1) translate(0, 8px);
  }
  50% {
    transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1, 1) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes zoomIn {
  0% {
    transform: scale(5.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(5.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes zoomOut {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.loadfade {
  opacity: 0;
  -webkit-animation: loadingfadeIn 0.5s 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: loadingfadeIn 0.5s 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.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;
}

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

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

/* .
-------------------------------------------------*/
.bg-leaf {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .bg-leaf {
    width: min(100%, 1800px);
  }
}

.leaf {
  position: absolute;
  top: -150px;
  width: 10px;
  height: auto;
}
@media print, screen and (min-width: 641px) {
  .leaf {
    width: 25px;
  }
}

/* アニメーションの定義 */
@-webkit-keyframes fall {
  to {
    top: 120%;
  }
}
@keyframes fall {
  to {
    top: 120%;
  }
}
@-webkit-keyframes rotate1 {
  from {
    transform: translateX(0px) rotate(0deg);
  }
  to {
    transform: translateX(200px) rotate(-80deg) rotateX(180deg);
  }
}
@keyframes rotate1 {
  from {
    transform: translateX(0px) rotate(0deg);
  }
  to {
    transform: translateX(200px) rotate(-80deg) rotateX(180deg);
  }
}
@-webkit-keyframes rotate2 {
  from {
    transform: translateX(200px) rotate(-45deg);
  }
  to {
    transform: translateX(0px) rotate(0deg);
  }
}
@keyframes rotate2 {
  from {
    transform: translateX(200px) rotate(-45deg);
  }
  to {
    transform: translateX(0px) rotate(0deg);
  }
}
/* 各葉にランダムな初期位置と遅延を与える */
.leaf:nth-child(1) {
  left: 0;
  -webkit-animation: fall 10s linear infinite, rotate1 3s ease-in-out infinite alternate;
          animation: fall 10s linear infinite, rotate1 3s ease-in-out infinite alternate;
}

.leaf:nth-child(2) {
  left: 5vw;
  -webkit-animation: fall 15s linear infinite, rotate1 2s ease-in-out infinite alternate;
          animation: fall 15s linear infinite, rotate1 2s ease-in-out infinite alternate;
}

.leaf:nth-child(3) {
  left: 15vw;
  -webkit-animation: fall 9s linear infinite, rotate1 3.5s ease-in-out infinite alternate;
          animation: fall 9s linear infinite, rotate1 3.5s ease-in-out infinite alternate;
}

.leaf:nth-child(4) {
  left: 30vw;
  -webkit-animation: fall 8s linear infinite, rotate2 4s ease-in-out infinite alternate;
          animation: fall 8s linear infinite, rotate2 4s ease-in-out infinite alternate;
}

.leaf:nth-child(5) {
  left: 40vw;
  -webkit-animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
          animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
}

.leaf:nth-child(6) {
  left: 55vw;
  -webkit-animation: fall 11s linear infinite, rotate2 3s ease-in-out infinite alternate;
          animation: fall 11s linear infinite, rotate2 3s ease-in-out infinite alternate;
}

.leaf:nth-child(7) {
  left: 65vw;
  -webkit-animation: fall 7s linear infinite, rotate2 3.5s ease-in-out infinite alternate;
          animation: fall 7s linear infinite, rotate2 3.5s ease-in-out infinite alternate;
}

.leaf:nth-child(8) {
  left: 50vw;
  -webkit-animation: fall 7s linear infinite, rotate1 3s ease-in-out infinite alternate;
          animation: fall 7s linear infinite, rotate1 3s ease-in-out infinite alternate;
}

.leaf:nth-child(9) {
  left: 0;
  -webkit-animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
          animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
}

.leaf:nth-child(10) {
  left: 5vw;
  -webkit-animation: fall 15s linear infinite, rotate1 3.5s ease-in-out infinite alternate;
          animation: fall 15s linear infinite, rotate1 3.5s ease-in-out infinite alternate;
}

.leaf:nth-child(11) {
  left: 15vw;
  -webkit-animation: fall 9s linear infinite, rotate1 2s ease-in-out infinite alternate;
          animation: fall 9s linear infinite, rotate1 2s ease-in-out infinite alternate;
}

.leaf:nth-child(12) {
  left: 30vw;
  -webkit-animation: fall 8s linear infinite, rotate2 3s ease-in-out infinite alternate;
          animation: fall 8s linear infinite, rotate2 3s ease-in-out infinite alternate;
}

.leaf:nth-child(13) {
  left: 40vw;
  -webkit-animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
          animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
}

.leaf:nth-child(14) {
  left: 55vw;
  -webkit-animation: fall 11s linear infinite, rotate2 2.5s ease-in-out infinite alternate;
          animation: fall 11s linear infinite, rotate2 2.5s ease-in-out infinite alternate;
}

/* .kv
-------------------------------------------------*/
.kv {
  position: relative;
  padding: 7.8125vw 0 5.3125vw;
}
@media print, screen and (min-width: 641px) {
  .kv {
    padding: 50px 0 44px;
  }
}
@media print, screen and (min-width: 641px) {
  .kv .inner-contents {
    width: min(100%, 1100px);
    margin: 0 auto;
  }
}
.kv .sns {
  position: absolute;
  top: 1.09375vw;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2.1875vw 4.375vw;
}
@media print, screen and (min-width: 641px) {
  .kv .sns {
    position: absolute;
    top: 20px;
    right: 24px;
    width: min(100%, 1752px);
    justify-content: flex-end;
    gap: 14px 28px;
  }
}
.kv h1 {
  position: absolute;
  bottom: 4.0625vw;
  left: 0;
  right: 0;
  width: 38.59375%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 641px) {
  .kv h1 {
    width: min(34.6363636364%, 381px);
    bottom: 42px;
  }
}
.kv .page-lead {
  position: relative;
  width: min(100%, 1164px);
  margin: 0 auto;
  padding: 1.40625vw 0 0;
}
@media print, screen and (min-width: 641px) {
  .kv .page-lead {
    padding: 19px 0 0;
  }
}
.kv .page-lead .catch-decoration01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 20.9375%;
  height: auto;
  aspect-ratio: 134/125;
  background: url(../img/kv/sp/billow01.png) no-repeat 50% 50%/100% auto;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .page-lead .catch-decoration01 {
    width: min(20.2749140893%, 236px);
    aspect-ratio: 236/195;
    background-image: url(../img/kv/pc/billow01.png);
  }
}
.kv .page-lead .catch-decoration02 {
  position: absolute;
  top: -2px;
  right: 0;
  width: 17.03125%;
  height: auto;
  aspect-ratio: 109/125;
  background: url(../img/kv/sp/billow02.png) no-repeat 50% 50%/100% auto;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .page-lead .catch-decoration02 {
    top: -2px;
    right: 0;
    width: min(20.2749140893%, 236px);
    aspect-ratio: 236/195;
    background-image: url(../img/kv/pc/billow02.png);
  }
}
.kv .page-lead .catch {
  position: relative;
  width: 87.8125%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .kv .page-lead .catch {
    width: 909px;
  }
}
.kv .event-dates {
  position: relative;
  z-index: 2;
  width: 96.875%;
  margin: -3.125vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .kv .event-dates {
    width: 1096px;
    margin-top: -22px;
  }
}
.kv .period {
  position: absolute;
  z-index: 2;
  bottom: 8.125vw;
  left: 8.125vw;
  width: 18.59375%;
}
@media print, screen and (min-width: 641px) {
  .kv .period {
    bottom: 95px;
    left: calc(50% - 410px);
    width: 186px;
  }
}
.kv .period::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: -1;
  background: url(../img/kv/sp/period_bg.png) no-repeat 50% 50%/100% auto;
  -webkit-animation: rotate 12s infinite linear;
          animation: rotate 12s infinite linear;
}
@media print, screen and (min-width: 641px) {
  .kv .period::before {
    background-image: url(../img/kv/pc/period_bg.png);
  }
}
.kv .movie {
  position: absolute;
  bottom: 9.375vw;
  right: 2.8125vw;
  width: 26.25%;
}
@media print, screen and (min-width: 641px) {
  .kv .movie {
    bottom: 162px;
    right: calc(50% - 475px);
    width: 263px;
  }
}

.swiper-container {
  width: 100%;
  margin: -2.65625vw 0 0;
  padding: 0;
  aspect-ratio: 640/724;
  overflow: hidden;
}
@media print, screen and (min-width: 641px) {
  .swiper-container {
    margin-top: -27px;
    aspect-ratio: 1800/1062;
  }
}

.swiper-slide {
  opacity: 1;
  overflow: hidden;
  transition: 0.7s;
  padding-top: 40px;
  transform: scale(1);
}
@media print, screen and (min-width: 641px) {
  .swiper-slide {
    padding-top: 84px;
  }
}

.swiper-slide img {
  width: 100%;
}

.swiper-slide-active {
  opacity: 1;
  z-index: 1;
  padding-top: 0;
}

/* .page-link
-------------------------------------------------*/
.page-link {
  padding: 5.9375vw 0 5vw;
  background: url(../img/nav/sp/bg.png) repeat-x 50% 0/100% auto;
}
@media print, screen and (min-width: 641px) {
  .page-link {
    padding: 60px 0 40px;
    background-image: url(../img/nav/pc/bg.png);
  }
}

.in-page-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9375vw 2.34375vw;
  width: 91.875%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .in-page-links {
    align-items: flex-end;
    gap: 5px 18px;
    width: min(100%, 1104px);
    margin: 0 auto;
  }
}

.in-page-links > li {
  width: calc((100% - 2.34375vw) / 2);
}
@media print, screen and (min-width: 641px) {
  .in-page-links > li {
    width: calc((100% - 36px) / 3);
  }
}
@media print, screen and (min-width: 641px) and (min-width: 641px) {
  .in-page-links > li a img {
    opacity: 0;
  }
}
@media print, screen and (min-width: 641px) {
  .in-page-links > li a:hover {
    -webkit-animation: none;
            animation: none;
  }
}
@media print and (hover: hover), screen and (min-width: 641px) and (hover: hover) {
  .in-page-links > li a {
    display: block;
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .in-page-links > li a img {
    transition: all 0.2s ease;
  }
  .in-page-links > li a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .in-page-links > li a:hover img {
    opacity: 0;
  }
  .in-page-links > li:nth-of-type(1) a {
    background-image: url(../img/nav/pc/btn_nav01.png?0822), url(../img/nav/pc/btn_nav01_hover.png?0822);
  }
  .in-page-links > li:nth-of-type(2) a {
    background-image: url(../img/nav/pc/btn_nav02.png?0822), url(../img/nav/pc/btn_nav02_hover.png?0822);
  }
  .in-page-links > li:nth-of-type(3) a {
    background-image: url(../img/nav/pc/btn_nav03.png?0822), url(../img/nav/pc/btn_nav03_hover.png?0822);
  }
  .in-page-links > li:nth-of-type(4) a {
    background-image: url(../img/nav/pc/btn_nav04.png?0822), url(../img/nav/pc/btn_nav04_hover.png?0822);
  }
  .in-page-links > li:nth-of-type(5) a {
    background-image: url(../img/nav/pc/btn_nav05.png?0822), url(../img/nav/pc/btn_nav05_hover.png?0822);
  }
  .in-page-links > li:nth-of-type(6) a {
    background-image: url(../img/nav/pc/btn_nav06.png?0822), url(../img/nav/pc/btn_nav06_hover.png?0822);
  }
}

/* .topic01
-------------------------------------------------*/
.topic01 {
  width: 93.90625%;
  margin: 0 auto;
  padding: 4.84375vw 0 7.1875vw;
  background: url(../img/topic01/sp/bg.png?0822) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic01 {
    width: min(100%, 1125px);
    margin-bottom: 73px;
    padding: 32px 0 70px;
    background-image: url(../img/topic01/pc/bg.png?0822);
  }
}
.topic01 h2 {
  width: 87.853577371%;
  margin: 0 0 3.28125vw 2.8125vw;
}
@media print, screen and (min-width: 641px) {
  .topic01 h2 {
    width: min(74.8444444444%, 842px);
    margin-bottom: 47px;
    margin-left: 42px;
  }
}
.topic01 .fair {
  width: 90.8485856905%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic01 .fair {
    width: min(93.8666666667%, 1056px);
  }
}
.topic01 .lead {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  line-height: 1.3333333333;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic01 .lead {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic01 .leaflet {
  display: flex;
  flex-direction: column;
  margin: 3.4375vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet {
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    margin-top: 55px;
    margin-left: 21px;
  }
}
.topic01 .leaflet h3 {
  order: 1;
  width: 97.8021978022%;
  margin: 0 auto 2.65625vw;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet h3 {
    width: 100%;
    margin-bottom: 14px;
  }
}
.topic01 .leaflet .textarea {
  display: contents;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .textarea {
    display: block;
    width: 505px;
  }
}
.topic01 .leaflet .ssleaflet {
  order: 3;
  width: 97.0695970696%;
  margin: 4.84375vw auto 0;
  padding: 7.65625vw 0 7.34375vw;
  background: url(../img/topic01/sp/bg_ss.png) no-repeat 50% 0/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .ssleaflet {
    width: min(100%, 500px);
    margin-top: 0;
    padding: 45px 0 43px;
    background-image: url(../img/topic01/pc/bg_ss.png);
  }
}
.topic01 .leaflet .lineup > dt {
  width: 84.9056603774%;
  margin: 0 auto 2.96875vw;
  padding-bottom: 1.40625vw;
  border-bottom: 1px solid #e90000;
  font-size: 23.26px;
  font-size: 3.634375vw;
  font-weight: bold;
  line-height: 1.1362854686;
  text-align: center;
  color: #e90000;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .lineup > dt {
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-width: 2px;
    font-size: 22px;
    line-height: 1.1363636364;
  }
}
.topic01 .leaflet .lineup > dt [data-ruby] {
  position: relative;
}
.topic01 .leaflet .lineup > dt [data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.25em;
  left: -2.5em;
  right: 0;
  width: 9em;
  margin: auto;
  font-size: 0.5em;
  letter-spacing: -0.05em;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .lineup > dt [data-ruby]::before {
    top: -1.15em;
  }
}
.topic01 .leaflet .lineup > dd {
  width: 88.679245283%;
  margin: 0 auto;
  font-size: 14.8px;
  font-size: 2.3125vw;
  font-weight: bold;
  line-height: 1.7141891892;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .lineup > dd {
    width: 94.8%;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.topic01 .leaflet .notice {
  order: 4;
  margin: 2.8125vw 0 0 1.09375vw;
  font-size: 12.69px;
  font-size: 1.9828125vw;
  line-height: 1.6658786446;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .notice {
    margin: 17px 0 0 0;
    font-size: 12px;
    line-height: 1.6666666667;
  }
}
.topic01 .leaflet .prize {
  order: 2;
}
@media print, screen and (min-width: 641px) {
  .topic01 .leaflet .prize {
    width: min(49.9025341131%, 512px);
    margin-top: 52px;
  }
}
.topic01 .leaflet .prize figure {
  margin: 0;
}
.topic01 .box-border {
  width: 88.6855241265%;
  margin: 4.53125vw auto 4.375vw;
  padding: 3.75vw 0 2.5vw;
  border: 5px solid #fdfa05;
  box-sizing: border-box;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic01 .box-border {
    display: flex;
    width: min(88.8888888889%, 1000px);
    margin: 100px auto 40px;
    padding: 26px 0 27px;
    border-width: 10px;
  }
}
@media print, screen and (min-width: 641px) {
  .topic01 .mark {
    display: flex;
    align-items: center;
    width: min(87.5510204082%, 858px);
    margin: 0 0 0 28px;
  }
}
.topic01 .mark h3 {
  width: 90.0573613767%;
  margin: 0 auto 1.875vw;
}
@media print, screen and (min-width: 641px) {
  .topic01 .mark h3 {
    order: 2;
    width: min(56.1771561772%, 482px);
    margin-bottom: 0;
  }
}
.topic01 .mark .mark-box {
  width: 59.4646271511%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic01 .mark .mark-box {
    order: 1;
    width: min(42.5407925408%, 365px);
  }
}
.topic01 .bookstores {
  margin-bottom: 1.171875vw;
  font-size: 20.8px;
  font-size: 3.25vw;
  font-weight: bold;
  line-height: 1.5384615385;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic01 .bookstores {
    margin-bottom: 20px;
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic01 .btn-list {
  width: 74.8752079867%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic01 .btn-list {
    order: 1;
    width: min(50%, 500px);
  }
}
@media print, screen and (min-width: 641px) {
  .topic01 .btn-list a img {
    opacity: 0;
  }
}
.topic01 .btn-list a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic01 .btn-list a {
    display: block;
    background-image: url(../img/topic01/pc/btn_fair.png), url(../img/topic01/pc/btn_fair_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic01 .btn-list a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic01 .btn-list a:hover img {
    opacity: 0;
  }
}

/* .topic02
-------------------------------------------------*/
.topic02 {
  width: 93.90625%;
  margin: 10.3125vw auto 0;
  padding: 0 0 7.1875vw;
  background: url(../img/topic02/sp/bg.png?0822) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic02 {
    width: min(100%, 1125px);
    margin: 0 auto 0;
    padding: 0 0 75px;
    background-image: url(../img/topic02/pc/bg.png?0822);
  }
}
.topic02 h2 {
  width: 77.8702163062%;
  margin: 0 0 6.5625vw 0.9375vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 h2 {
    width: min(71.0222222222%, 842px);
    margin-bottom: 43px;
    margin-left: 38px;
  }
}
.topic02 .sec-content {
  width: 89.3510815308%;
  margin: 0 auto;
}
.topic02 .lead {
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.3333333333;
}
@media print, screen and (min-width: 641px) {
  .topic02 .lead {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic02 .box01 {
  margin: 3.90625vw 0 3.125vw;
  border: 2px solid #90e8dd;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box01 {
    margin: 35px 0 38px;
  }
}
.topic02 .box01 .box-head {
  border-bottom: 2px solid #90e8dd;
}
.topic02 .box01 .box-content {
  padding: 3.125vw 4.6875vw 4.53125vw;
  background-color: #fff;
  font-size: 19.87px;
  font-size: 3.1046875vw;
  line-height: 1.5747357826;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box01 .box-content {
    padding: 18px 53px 27px;
    font-size: 27.6px;
    line-height: 1.9369565217;
  }
}
.topic02 .circled {
  counter-reset: list-counter;
}
.topic02 .circled > li {
  position: relative;
  padding-left: 1em;
}
.topic02 .circled > li:not(:last-of-type) {
  margin-bottom: 2.03125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .circled > li:not(:last-of-type) {
    margin-bottom: 0;
  }
}
.topic02 .circled > li::before {
  position: absolute;
  top: 0.78125vw;
  left: -0.3125vw;
  content: counter(list-counter);
  counter-increment: list-counter;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background-color: #030303;
  font-size: 0.85em;
  color: #fff;
  text-align: center;
  line-height: 1.2;
}
@media print, screen and (min-width: 641px) {
  .topic02 .circled > li::before {
    top: 0.5em;
    left: 0;
  }
}
.topic02 .subtitle {
  margin: 0 auto 0.3125vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle {
    margin-bottom: 10px;
  }
}
.topic02 .subtitle.title-period {
  width: 21.04283054%;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle.title-period {
    width: 157px;
  }
}
.topic02 .subtitle.title-pass {
  width: 21.2290502793%;
}
@media print, screen and (min-width: 641px) {
  .topic02 .subtitle.title-pass {
    width: 158px;
  }
}
.topic02 .box02 {
  margin-bottom: 3.28125vw;
  padding: 2.65625vw 4.375vw 2.8125vw;
  border: 2px solid #90e8dd;
  font-size: 19.31px;
  font-size: 3.0171875vw;
  line-height: 1.5023303988;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box02 {
    margin-bottom: 33px;
    padding: 28px 54px 28px;
    font-size: 27.6px;
  }
}
.topic02 .box02 p {
  font-size: 19.31px;
  font-size: 3.0171875vw;
  line-height: 1.5023303988;
}
@media print, screen and (min-width: 641px) {
  .topic02 .box02 p {
    padding: 0 0 0;
    font-size: 27.6px;
    line-height: 1.2485507246;
  }
}
.topic02 .period-text {
  font-size: 19.31px;
  font-size: 3.0171875vw;
  line-height: 1.5023303988;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic02 .period-text {
    text-align: left;
    font-size: 27.6px;
    line-height: 1.2485507246;
  }
}
.topic02 .notice {
  margin-top: 0.625vw;
  font-size: 12px;
  font-size: 1.875vw;
  line-height: 1.1933333333;
}
@media print, screen and (min-width: 641px) {
  .topic02 .notice {
    margin-top: 0;
    font-size: 12px;
  }
}
.topic02 .definition {
  margin-bottom: 7.34375vw;
}
@media print, screen and (min-width: 641px) {
  .topic02 .definition {
    margin-bottom: 56px;
  }
}
.topic02 .definition > dt {
  font-size: 16px;
  font-size: 2.5vw;
  line-height: 1.96625;
}
@media print, screen and (min-width: 641px) {
  .topic02 .definition > dt {
    margin-top: 0;
    font-size: 16px;
  }
}
.topic02 .definition > dd {
  font-size: 12px;
  font-size: 1.875vw;
  line-height: 1.955;
}
@media print, screen and (min-width: 641px) {
  .topic02 .definition > dd {
    margin-top: 0;
    font-size: 12px;
  }
}
.topic02 .btn-post {
  width: 99.0689013035%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic02 .btn-post {
    order: 1;
    width: min(70.2%, 702px);
  }
}
@media print, screen and (min-width: 641px) {
  .topic02 .btn-post a img {
    opacity: 0;
  }
}
.topic02 .btn-post a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic02 .btn-post a {
    display: block;
    background-image: url(../img/topic02/pc/btn_post.png), url(../img/topic02/pc/btn_post_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic02 .btn-post a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic02 .btn-post a:hover img {
    opacity: 0;
  }
}

/* .topic03
-------------------------------------------------*/
.topic03 {
  width: 93.90625%;
  margin: 7.03125vw auto 0;
  padding: 0 0 7.1875vw;
  background: url(../img/topic03/sp/bg.png?0822) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic03 {
    width: min(100%, 1125px);
    margin: 64px auto 0;
    padding: 0 0 84px;
    background-image: url(../img/topic03/pc/bg.png?0822);
  }
}
.topic03 h2 {
  width: 71.0482529118%;
  margin: 0 0 2.5vw 1.25vw;
}
@media print, screen and (min-width: 641px) {
  .topic03 h2 {
    width: min(64%, 720px);
    margin-bottom: 40px;
    margin-left: 38px;
  }
}
.topic03 .lead {
  margin-bottom: 3.75vw;
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  line-height: 1.3333333333;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic03 .lead {
    margin-bottom: 32px;
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic03 .text-c {
  margin: 3.90625vw 0 0;
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  line-height: 1.3333333333;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic03 .text-c {
    font-size: 26px;
    margin-top: 20px;
    line-height: 1.5384615385;
  }
}
.topic03 .btn-signing {
  width: 74.8752079867%;
  margin: 1.5625vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic03 .btn-signing {
    width: min(50%, 500px);
    margin-top: 18px;
  }
}
@media print, screen and (min-width: 641px) {
  .topic03 .btn-signing a img {
    opacity: 0;
  }
}
.topic03 .btn-signing a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic03 .btn-signing a {
    display: block;
    background-image: url(../img/topic03/pc/btn_detail.png), url(../img/topic03/pc/btn_detail_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic03 .btn-signing a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic03 .btn-signing a:hover img {
    opacity: 0;
  }
}
.topic03 .box-item {
  position: relative;
  width: 88.6855241265%;
  margin: 0 auto;
  padding: 3.125vw 0 3.125vw;
  background-color: #fce8f6;
  --x-gradient: linear-gradient(90deg, #fce8f6 0 19px, transparent 0 calc(100% - 19px), #fce8f6 calc(100% - 19px));
  --y-gradient: linear-gradient(#fce8f6 0 19px, transparent 0 calc(100% - 19px), #fce8f6 calc(100% - 19px));
  position: relative;
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  background-position: top, right, bottom, left;
}
@media print, screen and (min-width: 641px) {
  .topic03 .box-item {
    width: min(88.8888888889%, 1000px);
    padding: 28px 0 30px;
    --x-gradient: linear-gradient(90deg, #fb00ab 0 36px, transparent 0 calc(100% - 36px), #fb00ab calc(100% - 36px));
    --y-gradient: linear-gradient(#fb00ab 0 36px, transparent 0 calc(100% - 36px), #fb00ab calc(100% - 36px));
    background-size: 100% 4px, 4px 100%, 100% 4px, 4px 100%;
  }
}
.topic03 .box-item + .box-item {
  margin-top: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .topic03 .box-item + .box-item {
    margin-top: 66px;
  }
}
.topic03 .box-item p {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: bold;
  line-height: 1.3333333333;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic03 .box-item p {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic03 .table01 {
  width: 93.808630394%;
  margin: 0.78125vw auto 0;
  border-spacing: 2px;
}
@media print, screen and (min-width: 641px) {
  .topic03 .table01 {
    width: min(86.4%, 864px);
    margin-top: 11px;
    border-spacing: 5px;
  }
}
.topic03 .table01 th {
  padding: 1.71875vw 4.0625vw;
  background-color: #293eaa;
  font-size: 19px;
  font-size: 2.96875vw;
  font-weight: bold;
  line-height: 1.5384057971;
  color: #fafeff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic03 .table01 th {
    width: 150px;
    padding: 6px 26px;
    font-size: 27.6px;
  }
}
.topic03 .table01 td {
  padding: 1.71875vw 4.0625vw;
  background-color: #fafeff;
  font-size: 19px;
  font-size: 2.96875vw;
  line-height: 1.5384057971;
  color: #030303;
}
@media print, screen and (min-width: 641px) {
  .topic03 .table01 td {
    padding: 6px 26px;
    font-size: 27.6px;
  }
}

/* .topic04
-------------------------------------------------*/
.topic04 {
  width: 93.90625%;
  margin: 9.53125vw auto 0;
  padding: 0 0 7.1875vw;
  background: url(../img/topic04/sp/bg.png) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic04 {
    width: min(100%, 1125px);
    margin: 71px auto 0;
    padding: 0 0 75px;
    background-image: url(../img/topic04/pc/bg.png);
  }
}
.topic04 h2 {
  width: 87.5207986689%;
  margin: 0 0 4.375vw 0.46875vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 h2 {
    width: min(71.7333333333%, 842px);
    margin-bottom: 35px;
    margin-left: 36px;
  }
}
.topic04 .sec-content {
  width: 89.3510815308%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic04 .sec-content {
    width: min(88.8888888889%, 1000px);
  }
}
.topic04 .lead, .topic04 .txt {
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.3333333333;
}
@media print, screen and (min-width: 641px) {
  .topic04 .lead, .topic04 .txt {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic04 .txt {
  margin-bottom: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 .txt {
    margin-bottom: 40px;
  }
}
.topic04 .img-novecomi {
  width: 87.895716946%;
  margin: 2.96875vw auto 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .topic04 .img-novecomi {
    width: 56.2%;
    margin: 21px auto 23px;
  }
}
.topic04 .btn-detail {
  width: 83.7988826816%;
  margin: 5vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic04 .btn-detail {
    order: 1;
    width: min(50%, 500px);
    margin: 50px auto 0;
  }
}
@media print, screen and (min-width: 641px) {
  .topic04 .btn-detail a img {
    opacity: 0;
  }
}
.topic04 .btn-detail a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic04 .btn-detail a {
    display: block;
    background-image: url(../img/topic04/pc/btn_detail.png), url(../img/topic04/pc/btn_detail_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic04 .btn-detail a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic04 .btn-detail a:hover img {
    opacity: 0;
  }
}

/* .topic05
-------------------------------------------------*/
.topic05 {
  width: 93.90625%;
  margin: 8.59375vw auto 0;
  padding: 0 0 7.1875vw;
  background: url(../img/topic05/sp/bg.png) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic05 {
    width: min(100%, 1125px);
    margin: 74px auto 0;
    padding: 0 0 60px;
    background-image: url(../img/topic05/pc/bg.png);
  }
}
.topic05 h2 {
  width: 78.8685524126%;
  margin: 0 0 5vw 0.46875vw;
}
@media print, screen and (min-width: 641px) {
  .topic05 h2 {
    width: min(64.6222222222%, 727px);
    margin-bottom: 44px;
    margin-left: 38px;
  }
}
.topic05 .sec-content {
  width: 89.3510815308%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic05 .sec-content {
    width: min(88.8888888889%, 1000px);
  }
}
.topic05 .lead, .topic05 .txt {
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.3333333333;
}
@media print, screen and (min-width: 641px) {
  .topic05 .lead, .topic05 .txt {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}
.topic05 .txt {
  margin-bottom: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .topic05 .txt {
    margin-bottom: 40px;
  }
}
.topic05 .img-ebook {
  width: 101.303538175%;
  margin: 2.65625vw auto 1.25vw;
}
@media print, screen and (min-width: 641px) {
  .topic05 .img-ebook {
    width: 100%;
    margin: 15px auto 13px;
  }
}
.topic05 .notice {
  margin-top: 1.25vw;
  font-size: 12px;
  font-size: 1.875vw;
  line-height: 1.955;
}
@media print, screen and (min-width: 641px) {
  .topic05 .notice {
    margin-top: 0;
    font-size: 12px;
  }
}
.topic05 .btn-detail {
  width: 83.7988826816%;
  margin: 3.75vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic05 .btn-detail {
    order: 1;
    width: min(50%, 500px);
    margin: 33px auto 0;
  }
}
@media print, screen and (min-width: 641px) {
  .topic05 .btn-detail a img {
    opacity: 0;
  }
}
.topic05 .btn-detail a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic05 .btn-detail a {
    display: block;
    background-image: url(../img/topic04/pc/btn_detail.png), url(../img/topic04/pc/btn_detail_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic05 .btn-detail a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic05 .btn-detail a:hover img {
    opacity: 0;
  }
}

/* .topic06
-------------------------------------------------*/
.topic06 {
  width: 93.90625%;
  margin: 8.75vw auto 0;
  padding: 0 0 6.25vw;
  background: url(../img/topic06/sp/bg.png) no-repeat 50% 100%/100% auto;
}
@media print, screen and (min-width: 641px) {
  .topic06 {
    width: min(100%, 1125px);
    margin: 68px auto 0;
    padding: 0 0 69px;
    background-image: url(../img/topic06/pc/bg.png);
  }
}
.topic06 h2 {
  width: 83.3610648918%;
  margin: 0 0 7.03125vw 0.78125vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 h2 {
    width: min(74.4%, 842px);
    margin-bottom: 86px;
    margin-left: 38px;
  }
}
.topic06 .box-item {
  position: relative;
  width: 88.6855241265%;
  margin: 0 auto;
  background-color: #e3f9cd;
  --x-gradient: linear-gradient(90deg, #55ac01 0 19px, transparent 0 calc(100% - 19px), #55ac01 calc(100% - 19px));
  --y-gradient: linear-gradient(#55ac01 0 19px, transparent 0 calc(100% - 19px), #55ac01 calc(100% - 19px));
  position: relative;
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  background-position: top, right, bottom, left;
}
@media print, screen and (min-width: 641px) {
  .topic06 .box-item {
    width: min(88.8888888889%, 1000px);
    --x-gradient: linear-gradient(90deg, #55ac01 0 36px, transparent 0 calc(100% - 36px), #55ac01 calc(100% - 36px));
    --y-gradient: linear-gradient(#55ac01 0 36px, transparent 0 calc(100% - 36px), #55ac01 calc(100% - 36px));
    background-size: 100% 4px, 4px 100%, 100% 4px, 4px 100%;
  }
}
.topic06 .box-item + .box-item {
  margin-top: 10.15625vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .box-item + .box-item {
    margin-top: 98px;
  }
}
.topic06 .box-item h3 {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.topic06 .text {
  font-size: 16.64px;
  font-size: 2.6vw;
  font-weight: bold;
  line-height: 1.7920673077;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic06 .text {
    font-size: 26px;
    line-height: 1.5746153846;
  }
}
.topic06 .goods {
  padding: 6.5625vw 0 2.34375vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods {
    padding: 60px 0 53px;
  }
}
.topic06 .goods h3 {
  top: -3.4375vw;
  width: 22.5140712946%;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods h3 {
    top: -32px;
    width: min(16.7%, 167px);
  }
}
.topic06 .goods .fairgoods {
  width: 94.3714821764%;
  margin: 3.59375vw auto 0;
  padding-bottom: 5.78125vw;
  background-image: linear-gradient(0deg, #cef6fc 8%, #45cbfc 82%);
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .fairgoods {
    width: min(90%, 900px);
    margin: 24px auto 0;
    padding-bottom: 38px;
  }
}
.topic06 .goods .img-goods {
  margin-bottom: 1.875vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .img-goods {
    margin-bottom: 23px;
  }
}
.topic06 .goods .fair-date {
  display: flex;
  flex-wrap: wrap;
  gap: 0.46875vw 0;
  width: 85.0894632207%;
  margin: 0 auto;
  font-size: 14.53px;
  font-size: 2.2703125vw;
  font-weight: bold;
  line-height: 1.4659325533;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .fair-date {
    gap: 5px 0;
    width: min(85.2222222222%, 767px);
    margin: 0 auto;
    font-size: 26px;
    line-height: 1.4661538462;
  }
}
.topic06 .goods .fair-date > dt {
  width: 29.4392523364%;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .fair-date > dt {
    width: min(29.335071708%, 225px);
    box-sizing: border-box;
  }
}
.topic06 .goods .fair-date > dt:nth-of-type(1) {
  background-color: #344ab4;
}
.topic06 .goods .fair-date > dt:nth-of-type(2) {
  background-color: #ed2aad;
}
.topic06 .goods .fair-date > dd {
  width: 70.5607476636%;
  background-color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .fair-date > dd {
    width: calc(100% - 225px);
    box-sizing: border-box;
  }
}
.topic06 .goods .img-goods-sample {
  width: 94.8310139165%;
  margin: 2.34375vw auto 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .goods .img-goods-sample {
    width: min(94.7777777778%, 853px);
    margin: 26px auto 35px;
  }
}
.topic06 .piracy {
  padding: 7.34375vw 0 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy {
    padding: 120px 0 55px;
  }
}
.topic06 .piracy h3 {
  top: -3.4375vw;
  width: 24.5778611632%;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy h3 {
    top: -32px;
    width: min(18.4%, 184px);
  }
}
.topic06 .piracy .box-piracy_details {
  margin: 0 auto 3.90625vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy .box-piracy_details {
    position: relative;
    width: min(93%, 930px);
    margin: 0 auto 33px;
  }
}
.topic06 .piracy .box-piracy_lead {
  width: 85.3658536585%;
  margin: 0 auto 0.9375vw;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy .box-piracy_lead {
    position: absolute;
    top: 0;
    left: 3px;
    width: min(44.7311827957%, 416px);
    margin: 0;
  }
}
.topic06 .piracy .box-piracy_text {
  margin: 3.4375vw 0 0;
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.6472222222;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy .box-piracy_text {
    position: absolute;
    top: 196px;
    left: 15px;
    margin: 0;
    font-size: 26px;
    line-height: 1.5384615385;
    text-align: left;
  }
}
.topic06 .piracy .text-lead {
  margin-bottom: 3.125vw;
  line-height: 1.3333333333;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy .text-lead {
    margin-bottom: 13px;
    font-size: 29px;
    line-height: 1.2817241379;
  }
}
.topic06 .piracy .box-piracy_img {
  width: 85.9287054409%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .topic06 .piracy .box-piracy_img {
    width: min(59.5698924731%, 554px);
    margin: 0 0 0 auto;
  }
}
.topic06 .btn-detail {
  width: 89.4632206759%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 641px) {
  .topic06 .btn-detail {
    order: 1;
    width: min(55.5555555556%, 500px);
    margin: 0 auto 0;
  }
}
@media print, screen and (min-width: 641px) {
  .topic06 .btn-detail a img {
    opacity: 0;
  }
}
.topic06 .btn-detail a:hover {
  -webkit-animation: none;
          animation: none;
}
@media (hover: hover) {
  .topic06 .btn-detail a {
    display: block;
    background-image: url(../img/topic04/pc/btn_detail.png), url(../img/topic04/pc/btn_detail_hover.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 0;
    background-size: 100% auto, 0 0;
    transition: all 0.2s ease;
  }
  .topic06 .btn-detail a:hover {
    opacity: 1;
    background-size: 0 0, 100% auto;
  }
  .topic06 .btn-detail a:hover img {
    opacity: 0;
  }
}

/* .pagetop
-------------------------------------------------*/
.pagetop {
  position: fixed;
  bottom: 1.5625vw;
  right: 0;
  width: 12.96875%;
}
@media print, screen and (min-width: 641px) {
  .pagetop {
    width: 57px;
    bottom: 28px;
    right: 28px;
  }
}
.pagetop a {
  display: block;
}

/* .content-copyright
-------------------------------------------------*/
.content-copyright {
  width: 93.75%;
  margin: 8.59375vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .content-copyright {
    width: min(88.8888888889%, 1000px);
    margin: 66px auto 0;
  }
}
.content-copyright .illustrator {
  font-size: 13.44px;
  font-size: 2.1vw;
  font-weight: bold;
  line-height: 1.3385416667;
  text-align: center;
  letter-spacing: 0.04em;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .illustrator {
    font-size: 14px;
    line-height: 1.1428571429;
  }
}
.content-copyright .bnr {
  width: 25%;
  margin: 3.28125vw auto 4.53125vw;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .bnr {
    width: 155px;
    margin: 27px auto 31px;
  }
}

/*!  footer
================================================ */
/* footer
-------------------------------------------------*/
footer {
  padding: 7.5vw 0 9.53125vw;
  background-color: #030303;
  font-size: 11.52px;
  font-size: 1.8vw;
  font-weight: bold;
  line-height: 3.3046875;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  footer {
    padding: 52px 0 80px;
  }
}
footer .logo {
  width: 42.1875%;
  margin: 0 auto 0.46875vw;
}
@media print, screen and (min-width: 641px) {
  footer .logo {
    width: 281px;
    margin: 0 auto 17px;
  }
}
@media print, screen and (min-width: 641px) {
  footer {
    font-size: 12px;
    line-height: 0.5909090909;
  }
}

/*!  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: 45px;
    margin-bottom: 40px;
  }
}
#shoplist h1 span {
  background-color: #ffbd1d;
  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: #fffdc5;
  border-radius: 4.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: 30px;
    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: #e60012;
  color: #fff;
  text-align: center;
  padding: 1.875vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation h2 {
    font-size: 22px;
    border-radius: 30px 30px 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: #ffbd1d;
  padding: 2.65625vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block h2 {
    font-size: 22px;
    padding: 16px 0;
  }
}
#shoplist .block table {
  width: 100%;
  border-spacing: 0;
}
#shoplist .block table tr {
  display: block;
  line-height: 1;
  padding: 2.34375vw 0 2.8125vw 5.625vw;
  background-color: #ffebe6;
  font-size: 26px;
  font-size: 4.0625vw;
  font-weight: bold;
  color: #030303;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block table tr {
    font-size: 22px;
    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;
  }
}