@charset "UTF-8";
:root {
  --fz: calc(100vw / 1300);
}
@media screen and (max-width: 640px) {
  :root {
    --fz: calc(100vw / 375);
  }
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho&display=swap');

body {
  font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
/*  font-family: YakuHanJP, "Hiragino Kaku Gothic Pro", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;*/
}

.l-content a,
.l-content a:link,
.l-content a:hover,
.l-content a:active,
.l-content a:visited {color: #0074d2;}

.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.lhS {
  line-height: 1.1;
}

.lhN {
  line-height: 1.3;
}

.lhM {
  line-height: 1.55;
}

.lhL {
  line-height: 1.75;
}

.aiB {
  align-items: baseline !important;
}

.aiC {
  align-items: center !important;
}

.aiFE {
  align-items: flex-end !important;
}

.aiFS {
  align-items: flex-start !important;
}

.aiST {
  align-items: stretch !important;
}

.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.taL {
  text-align: left !important;
}

.fwB {
  font-weight: 700 !important;
}

.fwM {
  font-weight: 500 !important;
}

.fwR {
  font-weight: 400 !important;
}

.vaT {
  vertical-align: top !important;
}

.vaM {
  vertical-align: middle !important;
}

.vaB {
  vertical-align: bottom !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: min(10px, 3vw) !important;
}

.mt15 {
  margin-top: min(15px, 4vw) !important;
}

.mt20 {
  margin-top: min(20px, 5vw) !important;
}

.mt25 {
  margin-top: min(25px, 6vw) !important;
}

.mt30 {
  margin-top: min(30px, 7vw) !important;
}

.mt35 {
  margin-top: min(35px, 8vw) !important;
}

.mt40 {
  margin-top: min(40px, 9vw) !important;
}

@media screen and (max-width: 640px) {
  .splhS {
    line-height: 1.1;
  }
  .splhN {
    line-height: 1.3;
  }
  .splhM {
    line-height: 1.55;
  }
  .splhL {
    line-height: 1.75;
  }
  .spaiB {
    align-items: baseline !important;
  }
  .spaiC {
    align-items: center !important;
  }
  .spaiFE {
    align-items: flex-end !important;
  }
  .spaiFS {
    align-items: flex-start !important;
  }
  .spaiST {
    align-items: stretch !important;
  }
  .sptaC {
    text-align: center !important;
  }
  .sptaR {
    text-align: right !important;
  }
  .sptaL {
    text-align: left !important;
  }
  .spfwB {
    font-weight: 700 !important;
  }
  .spfwM {
    font-weight: 500 !important;
  }
  .spfwR {
    font-weight: 400 !important;
  }
}
.colBase {
  color: #00b0e1;
}

.sizeSS {
  font-size: min(13px, 3vw);
}

.sizeS {
  font-size: min(14px, 3.4vw);
}

.sizeN {
  font-size: min(16px, 3.8vw);
}

.sizeM {
  font-size: min(18px, 4.2vw);
}

.sizeL {
  font-size: min(20px, 4.4vw);
}

.sizeLL {
  font-size: min(22px, 4.8vw);
}

.sizeH {
  font-size: min(24px, 5.2vw);
}

.sizeXL {
  font-size: min(26px, 5.6vw);
}

.sizeB {
  font-size: min(32px, 6vw);
}

@media screen and (min-width: 641px) {
  header.is-pagetop .js-common-burger > i > svg {
    fill: #FFF !important;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
  .spSizeSS {
    font-size: 3vw !important;
  }
  .spSizeS {
    font-size: 3.4vw !important;
  }
  .spSizeN {
    font-size: 3.8vw !important;
  }
  .spSizeM {
    font-size: 4.2vw !important;
  }
  .spSizeL {
    font-size: 4.4vw !important;
  }
  .spSizeLL {
    font-size: 4.8vw !important;
  }
  .spSizeH {
    font-size: 5.2vw !important;
  }
  .spSizeXL {
    font-size: 5.6vw !important;
  }
  .spSizeB {
    font-size: 6vw !important;
  }
}
.gothic {
  font-family: "Oswald", sans-serif;
}

a img {
  transition: opacity 0.3s ease-in;
}

.sec {
  text-align: center;
  padding: 55px 0;
}
@media screen and (max-width: 640px) {
  .sec {
    padding: 8vw 0;
  }
}
.sec.bgb {
  background-color: #00b0e1;
  color: #FFF;
}
.sec.howtoentry {
  padding-bottom: 50px;
  background: url(../img/bg_howto.png) no-repeat center top -10px;
  background-size: 1343px auto;
}
@media screen and (max-width: 640px) {
  .sec.howtoentry {
    padding-bottom: 5vw;
    background-image: url(../img/bg_howto_sp.png);
    background-size: 100% auto;
  }
  .sec.howtoentry .sec__head {
    margin-bottom: 9vw;
  }
  .sec.howtoentry .sec__head__title {
    padding-left: 7vw;
  }
  .sec.howtoentry .sec__head__title.withDash::before {
    left: 4vw;
  }
  .sec.howtoentry .attBox {
    padding-left: 3vw;
  }
}
.sec.spot {
  padding-top: 40px;
  background: #00b0e1 url(../img/bg_spot.png) no-repeat center bottom;
  background-size: 100% auto;
}
@media screen and (max-width: 640px) {
  .sec.spot {
    background-size: 270% auto;
  }
}
.sec.present {
  background: rgba(0, 176, 225, 0.1) url(../img/bg_present.png) repeat center top;
}
@media screen and (max-width: 640px) {
  .sec.present .whiteBox {
    padding-top: 9vw;
  }
  .sec.present .whiteBox .sec__flex {
    gap: 5vw;
  }
}
.sec.metpo .sec__head {
  position: relative;
  display: inline-block;
  text-align: left;
  margin-bottom: min(20px, 3vw);
}
@media screen and (max-width: 640px) {
  .sec.metpo .sec__head {
    padding-top: 13vw;
    padding-left: 8vw;
    margin-bottom: 5vw;
    display: block;
  }
}
.sec.metpo .sec__head .bbl {
  display: block;
  width: 160px;
  position: absolute;
  top: -30px;
  right: calc(100% + 20px);
}
@media screen and (max-width: 640px) {
  .sec.metpo .sec__head .bbl {
    width: 29vw;
    top: -5vw;
    right: auto;
    left: -2vw;
  }
}
.sec.metpo .sec__head .sec__head__title {
  color: #FFF;
  font-size: min(30px, 6vw);
}
.sec.eventsummary {
  padding-top: min(40px, 8vw);
}
.sec.eventsummary .sec__inner {
  max-width: 620px;
}
.sec.eventsummary .sec__head .sec__head__title {
  font-size: calc(var(--fz) * 26);
}
.sec.eventsummary .sec__head .sec__head__title > img {
  margin-bottom: 30px;
}
.sec.eventsummary .sec__head .sec__head__title span {
  display: block;
  color: #333;
}
@media screen and (max-width: 640px) {
  .sec.eventsummary .sec__head {
    padding: 0 5vw;
  }
}
.sec__inner {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
@media screen and (max-width: 640px) {
  .sec__inner {
    width: 100%;
    padding: 0 6vw;
  }
}
.sec__head {
  margin-bottom: min(30px, 5vw);
  position: relative;
}
@media screen and (max-width: 640px) {
  .sec__head.mbnarrow {
    margin-bottom: 0;
  }
}
.sec__head__title {
  font-size: min(40px, 7.4vw);
  font-weight: bold;
  color: #00b0e1;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.sec__head__title.withDash::before, .sec__head__title.withDash::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
}
.sec__head__title.withDash::before {
  width: min(28px, 5.4vw);
  aspect-ratio: 26.7/44.3;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.7 44.3'%3E%3Cg%3E%3Cpath fill='%2300b0e1' d='M0,43.3L25,0l1.7,1L1.7,44.3l-1.7-1Z' /%3E%3C/g%3E%3C/svg%3E");
  top: -6px;
  left: -15px;
}
@media screen and (max-width: 640px) {
  .sec__head__title.withDash::before {
    top: -1vw;
    left: -3vw;
  }
}
.sec__head__title.withDash::after {
  width: 77px;
  aspect-ratio: 77.6/115.6;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 77.6 115.6'%3E%3Cg%3E%3Cpolygon fill='%2300b0e1' points='50 28 25 71.3 0 114.6 1.7 115.6 26.7 72.3 51.7 29 50 28' /%3E%%3Cpolygon fill='%23ededed' points='75.9 0 50.9 43.3 25.9 86.6 27.6 87.6 52.6 44.3 77.6 1 75.9 0' /%3E%3C/g%3E%3C/svg%3E");
  top: -25px;
  right: -40px;
}
@media screen and (max-width: 640px) {
  .sec__head__title.withDash::after {
    width: 15vw;
    top: -5vw;
    right: -8vw;
  }
}
.sec__head__title.withDash.dashN::after {
  width: 66px;
  aspect-ratio: 65.1/95.4;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 77.6 115.6'%3E%3Cg%3E%3Cpolygon fill='%2300b0e1' points='26.7 52.1 26.7 52.1 25 51.1 25 51.1 0 94.4 1.7 95.4 26.7 52.1' /%3E%%3Cpolygon fill='%23ededed' points='63.4 0 38.4 43.3 13.4 86.6 15.1 87.6 40.1 44.3 65.1 1 63.4 0' /%3E%3C/g%3E%3C/svg%3E");
}
@media screen and (max-width: 640px) {
  .sec__head__title.withDash.dashN::after {
    width: 15vw;
  }
}
.sec__head__title.withDash.wchance {
  font-size: min(22px, 4.8vw);
}
@media screen and (max-width: 640px) {
  .sec__head__title.withDash.wchance {
    font-size: min(18px, 4.2vw);
  }
  .sec__head__title.withDash.wchance::before {
    width: 4.4vw;
  }
}
.sec__head__title.withDash.wchance::after {
  width: 53px;
  aspect-ratio: 52.6/87.6;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52.6 87.6'%3E%3Cg%3E%3Cpolygon fill='%2300b0e1' points='26.7 29 26.7 29 25 28 25 28 0 71.3 1.7 72.3 26.7 29' /%3E%%3Cpolygon fill='%23ededed' points='50.9 0 25.9 43.3 .9 86.6 2.6 87.6 27.6 44.3 52.6 1 50.9 0' /%3E%3C/g%3E%3C/svg%3E");
  top: -25px;
  right: -38px;
}
@media screen and (max-width: 640px) {
  .sec__head__title.withDash.wchance::after {
    width: 9vw;
    top: -5vw;
    right: -7vw;
  }
}
.sec__flex {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  text-align: left;
}
@media screen and (min-width: 641px) {
  .sec__flex .sec__head {
    width: 20%;
  }
  .sec__flex .sec__detail {
    width: 77%;
  }
}
.sec__flex__present {
  gap: 7%;
}
@media screen and (min-width: 641px) {
  .sec__flex__present > .img {
    width: 37%;
  }
  .sec__flex__present > .img > img {
    width: 100%;
    height: auto;
  }
  .sec__flex__present .presentDetail {
    width: 56%;
  }
}
.sec__flex__present .presentDetail {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: min(15px, 3vw);
}
@media screen and (max-width: 640px) {
  .sec__flex__present .presentDetail .exchangeList {
    order: 2;
  }
}
.sec__flex__metpo {
  gap: 4%;
}
.sec__flex__metpo > .img {
  width: 32%;
}
.sec__flex__metpo > .img > img {
  width: 100%;
  height: auto;
}
.sec__flex__metpo .presentDetail {
  width: 64%;
}
@media screen and (max-width: 640px) {
  .sec__flex__metpo {
    gap: 3vw;
  }
  .sec__flex__metpo > .img {
    width: 100%;
    padding: 0 10vw;
  }
  .sec__flex__metpo .presentDetail {
    width: 100%;
  }
}

.whiteBox {
  width: 100%;
  background-color: #FFF;
  box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.15);
  padding: min(40px, 6vw) min(40px, 6vw);
  color: #333;
}
.whiteBox.wide {
  padding: min(40px, 6vw) min(60px, 5vw);
}
.whiteBox.radius {
  box-shadow: none;
  border-radius: 30px;
  padding: min(20px, 3vw) min(40px, 6vw);
}

.attBox {
  text-align: left;
}

.listCaution {
  text-align: left;
}
.listCaution:not(.sizeSS) {
  font-size: min(14px, 3.4vw);
}
.listCaution > li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}

.dotList {
  text-align: left;
  font-size: min(14px, 3.4vw);
  display: flex;
  flex-direction: column;
  gap: min(3px, 1vw);
}
@media screen and (max-width: 640px) {
  .dotList {
    font-size: min(13px, 3vw);
  }
}
.dotList li, .dotList dd {
  padding-left: 1em;
  line-height: 1.3;
  position: relative;
}
.dotList li::before, .dotList dd::before {
  display: inline-block;
  content: "";
  width: 0.6em;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: currentColor;
  position: absolute;
  left: 0;
  top: 0.75em;
}

.pageMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(var(--fz) * 42);
}
.pageMenu li a {
  display: block;
  height: calc(var(--fz) * 40);
}
.pageMenu li a img {
  height: 100%;
  max-height: 55px;
  width: auto;
}
@media screen and (max-width: 640px) {
  .pageMenu {
    gap: 3vw 6vw;
  }
  .pageMenu li a {
    height: 9vw;
  }
}

.linkBtn a {
  background-color: #00b0e1;
  color: #fff !important;
  border-radius: 3px;
  display: inline-block;
  padding: 15px;
  font-size: min(20px, 4.4vw);
  font-weight: bold;
  text-align: center;
  transition: opacity 0.3s ease-in;
}
@media screen and (min-width: 641px) {
  .linkBtn a {
    min-width: 310px;
  }
}
@media screen and (max-width: 640px) {
  .linkBtn a {
    width: 100%;
    padding: 5vw;
  }
}
.linkBtn a:hover {
  opacity: 0.8;
}
.linkBtn a span {
  position: relative;
  padding: 0 30px 0 20px;
}
.linkBtn a span::before {
  content: "";
  display: block;
  width: min(20px, 5vw);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'  preserveAspectRatio='none'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M10,0C4.48,0,0,4.48,0,10s4.48,10,10,10,10-4.48,10-10S15.52,0,10,0ZM13.95,10.18c-.03.06-.06.12-.11.16l-3.4,3.4c-.1.1-.23.15-.35.15s-.26-.05-.35-.15c-.2-.2-.2-.51,0-.71l2.54-2.54h-6.88c-.28,0-.5-.22-.5-.5s.22-.5.5-.5h6.88l-2.54-2.54c-.2-.2-.2-.51,0-.71.2-.2.51-.2.71,0l3.4,3.4s.08.1.11.16c.03.06.04.13.04.19s-.01.13-.04.19Z' /%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .linkBtn a span {
    display: block;
    padding: 0 5vw;
  }
}
.linkBtn.orange a {
  background-color: #e18314;
}

hr.hr {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: min(30px, 5vw) auto;
}

.dec {
  position: absolute;
}
.dec.dec01 {
  top: 80px;
  left: 25px;
}
@media screen and (max-width: 640px) {
  .dec.dec01 {
    top: -4vw;
    left: 50vw;
    width: 13vw;
  }
}
.dec.dec02 {
  top: -20px;
  left: 45px;
}
@media screen and (max-width: 640px) {
  .dec.dec02 {
    top: -21vw;
    left: -7vw;
    width: 18vw;
  }
}
.dec.dec03 {
  top: -5px;
  right: 35px;
}
@media screen and (max-width: 640px) {
  .dec.dec03 {
    top: 11vw;
    right: -4vw;
    width: 13vw;
  }
}
.dec.dec04 {
  bottom: 35px;
  right: 0;
}
@media screen and (max-width: 640px) {
  .dec.dec04 {
    top: -3vw;
    right: -51vw;
    width: 11vw;
  }
}
.dec.dec05 {
  top: -35px;
  right: -115px;
}
@media screen and (max-width: 640px) {
  .dec.dec05 {
    top: 7vw;
    right: 4vw;
    width: 13vw;
  }
}
.dec.dec06 {
  top: -20px;
  left: 5px;
}
@media screen and (max-width: 640px) {
  .dec.dec06 {
    top: -17vw;
    left: 2vw;
    width: 11vw;
  }
}

/* -------- KV AREA --------  */
.mv {
  position: relative;
  width: 100%;
  background-color: #00b0e1;
}
.mv img.fit {
  width: 100%;
  height: auto;
}
.mv__inner {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 641px) {
  .mv__inner {
    aspect-ratio: 1300/875;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
  .mv__inner {
    flex-direction: column;
  }
}
.mv__picture {
  width: 54%;
}
@media screen and (max-width: 640px) {
  .mv__picture {
    width: 100%;
  }
}
.mv__detail {
  width: 46%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: calc(var(--fz) * 100);
}
.mv__detail .eventCatch {
  width: 44%;
}
.mv__detail .eventTitle {
  width: 78.5%;
  margin-top: calc(var(--fz) * 20);
}
.mv__detail .eventText {
  margin-top: calc(var(--fz) * 60);
  text-align: center;
  font-weight: bold;
  color: #FFF;
  font-size: calc(var(--fz) * 17);
  line-height: 2;
}
.mv__detail .eventText img {
  margin-right: 0.1em;
}
@media screen and (max-width: 640px) {
  .mv__detail {
    width: 100%;
    padding: 9vw 5vw;
  }
  .mv__detail .eventCatch {
    width: 62%;
  }
  .mv__detail .eventTitle {
    width: 92%;
  }
  .mv__detail .eventText {
    margin-top: calc(var(--fz) * 46);
    font-size: calc(var(--fz) * 15);
  }
}

#pageNav {
  background-color: #ededed;
  padding: calc(var(--fz) * 20) 0 calc(var(--fz) * 10) 0;
}
@media screen and (max-width: 640px) {
  #pageNav {
    padding: 5vw 4vw 3vw 4vw;
  }
}

/* -------- 参加方法 --------  */
.entryStep {
  padding-top: min(10px, 3vw);
}
.entryStep .entryStepBox + .entryStepBox {
  margin-top: min(35px, 9vw);
}
.entryStep dt h3 {
  font-size: min(22px, 4.8vw);
  font-weight: bold;
  position: relative;
  padding-left: min(40px, 10vw);
}
.entryStep dt h3 .no {
  width: min(32px, 8vw);
  background-color: #00b0e1;
  color: #FFF;
  font-size: min(18px, 4.2vw);
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -0.3em;
  left: 0;
  font-family: "Oswald", sans-serif;
}
.entryStep dd {
  padding-left: 40px;
  margin-top: min(10px, 3vw);
}
@media screen and (max-width: 640px) {
  .entryStep dd {
    padding-left: 3vw;
  }
}
.entryStep dd p {
  font-size: min(18px, 4.2vw);
  line-height: 1.7;
}
@media screen and (max-width: 640px) {
  .entryStep dd p {
    line-height: 1.5;
  }
}

.spot__list {
  margin-top: min(20px, 5vw);
  display: flex;
  flex-wrap: wrap;
  gap: min(30px, 5vw) min(50px, 5vw);
  position: relative;
}
.spot__list > li {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 640px) {
  .spot__list > li {
    width: 100%;
  }
}
.spot__list > li h3 {
  text-align: left;
  padding-left: 55px;
  position: relative;
  line-height: 1.1;
}
@media screen and (max-width: 640px) {
.spot__list > li h3 {padding-left: 12vw;}
}
.spot__list > li h3 .spotNo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: "Oswald", sans-serif;
  font-size: min(22px, 4.8vw);
  color: #FFF;
  width: min(36px, 8vw);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' preserveAspectRatio='none'%3E%3Cg%3E%3Cpolygon fill='%2300b0e1' points='36 0 0 0 0 36 24.16 36 36 15.49 36 0' /%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.spot__list > li h3 .spotSt {
  color: #00b0e1;
  font-weight: normal;
  font-size: min(16px, 3.8vw);
}
.spot__list > li h3 .spotSt strong {
  font-size: min(19px, 4.3vw);
}
.spot__list > li h3 .spotPlace {
  display: block;
  font-size: min(24px, 5.2vw);
  margin-top: min(10px, 3vw);
}
.spot__list > li .img {
  margin-top: min(10px, 3vw);
}
.spot__list > li .img img {
  width: 100%;
  height: auto;
}
.spot__list > li .text {
  text-align: left;
  font-size: min(14px, 3.4vw);
  margin-top: min(15px, 3vw);
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .spot__list > li .text {
    font-size: 3.5vw;
  }
}

.exchangeList {
  display: flex;
  justify-content: flex-start;
  gap: 0.5em;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .exchangeList {
    flex-wrap: wrap;
  }
}
.exchangeList.column {
  gap: 0;
  flex-direction: column;
}
.exchangeList.column dt, .exchangeList.column dd {
  width: 100%;
}
.exchangeList dt {
  font-size: min(16px, 3.8vw);
  font-weight: bold;
  width: 4.5em;
  padding-top: 0.3em;
}
.exchangeList dd {
  width: calc(100% - 5em);
  font-size: min(22px, 5.6vw);
}
@media screen and (max-width: 640px) {
  .exchangeList {
    flex-direction: column;
        gap: 0em;
  }
  .exchangeList dd { padding-bottom: .35em;}
  .exchangeList dt, .exchangeList dd {
    width: 100%;
  }
}

.eventLeaflet {
  display: inline-block;
  background: rgba(0, 0, 0, 0.1);
  padding: 10px;
}

.eventDetail {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  line-height: 1.3;
  font-weight: bold;
}
.eventDetail dt {
  width: 3em;
}
.eventDetail dd {
  width: calc(100% - 3em);
}

.spotSwipe {
  width: 100%;
  position: relative;
}

.swiper-spot {
  width: 100%;
  max-width: 360px;
  margin: 0 auto; 
  overflow: hidden;
}

.spotSwipe .swiper-wrapper {
}

.spotSwipe .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 640px) {
  .swiper-spot {
    max-width: 86%; 
  }
  .spotSwipe {
    width: calc(100% + 12vw);
    transform: translateX(-6vw);
  }
}

.goodsSwipe {
  width: 100%;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 640px) {
  .goodsSwipe {
    width: calc(100% + 12vw);
    transform: translateX(-6vw);
  }
}
.goodsSwipe .swiper-slide {
  position: relative;
}
.goodsSwipe .swiper-slide::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s ease-in;
}
.goodsSwipe .swiper-slide.swiper-slide-active::after {
  opacity: 0;
}
.goodsSwipe .swiper-button-prev,
.goodsSwipe .swiper-button-next {
  display: flex;
  z-index: 1;
  background-color: #ededed;
  border-radius: 50%;
  width: min(26px, 7vw);
  height: min(26px, 7vw);
  top: calc(100% / 2);
}
@media screen and (max-width: 640px) {
  .goodsSwipe .swiper-button-prev,
  .goodsSwipe .swiper-button-next {
    top: calc((100% - 5vw) / 2);
  }
}
.goodsSwipe .swiper-button-prev::before,
.goodsSwipe .swiper-button-next::before {
  border-color: #00b0e1;
  width: min(11px, 4vw);
  height: min(11px, 4vw);
}
.goodsSwipe .swiper-button-prev {
  left: 95px;
}
@media screen and (max-width: 640px) {
  .goodsSwipe .swiper-button-prev {
    left: 4vw;
  }
}
.goodsSwipe .swiper-button-next {
  right: 95px;
}
@media screen and (max-width: 640px) {
  .goodsSwipe .swiper-button-next {
    right: 4vw;
  }
}

.floatingBnr {
  width: 100%;
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  background-color: #555555;
  transition: transform 0.3s ease-in-out;
  transform: translateY(100%);
  z-index: 99;
}
.floatingBnr.is-show {
  transform: translateY(0);
}
.floatingBnr a {
  display: block;
  color: #fff !important;
  border-radius: 3px;
  padding: min(22px, 3vw);
  font-size: min(24px, 4vw);
  font-weight: bold;
  text-align: center;
  transition: opacity 0.3s ease-in;
}
@media screen and (max-width: 640px) {
  .floatingBnr a {
    width: 100%;
    padding: 5vw;
  }
}
.floatingBnr a:hover {
  opacity: 0.8;
}
.floatingBnr a span {
  position: relative;
  padding: 0 30px;
}
.floatingBnr a span::before {
  content: "";
  display: block;
  width: min(20px, 5vw);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'  preserveAspectRatio='none'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M10,0C4.48,0,0,4.48,0,10s4.48,10,10,10,10-4.48,10-10S15.52,0,10,0ZM13.95,10.18c-.03.06-.06.12-.11.16l-3.4,3.4c-.1.1-.23.15-.35.15s-.26-.05-.35-.15c-.2-.2-.2-.51,0-.71l2.54-2.54h-6.88c-.28,0-.5-.22-.5-.5s.22-.5.5-.5h6.88l-2.54-2.54c-.2-.2-.2-.51,0-.71.2-.2.51-.2.71,0l3.4,3.4s.08.1.11.16c.03.06.04.13.04.19s-.01.13-.04.19Z' /%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .floatingBnr a span {
    display: block;
    padding: 0 5vw;
  }
}