@charset "UTF-8";

html {
  scroll-behavior: smooth;
}
.modal-open {
  overflow: hidden; 
  padding-right: var(--scrollbar-width);
}
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sp {
  display: none;
}
@media all and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.breadcrumb {
  padding: 32px 0;
}
#footer #scrollTop {
  display: none;
}
#mintsunafes26 {
  background: #f8f7f6;
  font-feature-settings: 'palt' on;
  position: relative;
}
.l-inner {
  max-width: 1260px;
  width: 89.333333333%;
  padding-inline: 0;
}

.sectionTtl {
  margin-bottom: 60px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.sectionTtl.isCentered {
  overflow: visible;
}
.sectionTtl:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 36px;
  height: 10px;
  background: url(../img/icon_ttl_overview.svg) no-repeat center center/ contain;
  opacity: 0;
}
.sectionTtl.isCentered:before {
  opacity: 1;
}
.sectionTtl .en {
  display: inline-block;
  font-size: clamp(32px, 2.5vw, 48px);
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  padding-left: 70px;
  transform: translateY(100%);
  transition: .5s;
}
.sectionTtl.isCentered .en {
  transform: translateY(0);
}
.sectionTtl .jp {
  display: inline-block;
  font-size: clamp(14px, 1.041666666vw, 20px);
  font-weight: 500;
  padding-left: 30px;
  vertical-align: top;
  letter-spacing: .2em;
  clip-path: inset(0 100% 0 0);
  transition: .5s;
  transition-delay: .5s;
}
.sectionTtl.isCentered .jp {
  clip-path: inset(0);
}



/*  mv  */
#mv {
  height: calc(100svh - 100px);
  position: relative;
  padding: 0;
}
#mv .mvWrap {
  align-items: flex-end;
  position: absolute;
  z-index: 2;
  padding-left: var(--view-pad-left, 0);
  padding-right: var(--view-pad-right, 0);
  padding-top: 0;
  padding-bottom: 0;
  width: 100%;
  left: 0;
  transform: none;
  bottom: var(--view-pad-bottom, 0);
  pointer-events: none;
}
#mv .mvWrap .left {
  display: block;
  width: 57.608695652%;
}
#mv .mvWrap .left .lTop {
  display: block;
  width: 44.339622641%;
  pointer-events: auto;
}
#mv .mvWrap .left .lBottom {
  display: block;
  width: 100%;
  margin-top: 1.886792452%;
  pointer-events: auto;
}
#mv .mvWrap .right {
  width: 40.652173913%;
  pointer-events: auto;
}
#mv .mvWrap .right picture {
  display: block;
}
#mv img {
  width: 100%;
}
#mv .btnMvEntry {
  display: block;
  width: 100%;
  margin-top: 2vw;
  transition: .5s;
}
#mv .btnMvEntry:hover {
  opacity: .7;
}
#matterCanvas {
  display: block;
  background-color: transparent;
  position: absolute;
  top: 0;
  z-index: 1;
  left: var(--view-pad-left, 0);
  right: var(--view-pad-right, 0);
  bottom: var(--view-pad-bottom, 0);
  width: calc(100% - var(--view-pad-left, 0) - var(--view-pad-right, 0));
  height: calc(100% - var(--view-pad-bottom, 0));
  pointer-events: none;
}




/*  message  */
#message {
  background: #fff;
  padding: 4.166666666% 0 22.604166666%;
  position: relative;
}
#message .messageP1 {
  font-size: 11vw;
  font-weight: 500;
  font-family: "Oswald",sans-serif;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-align: center;
  margin-bottom: 8.90625%;
  position: relative;
  z-index: 1;
}
.pCover.isCentered {
  clip-path: inset(0);
}
.messageP2 {
  font-size: clamp(13px, 1.041666666vw, 20px);
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: .2em;
  width: 31.875%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.messageP2-01 {
  position: relative;
}
.pBase {
  color: #f4f3f3;
}
.messageP2 .pBase {
  color: #d3d1d0;
}
.pCover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  clip-path: inset(0 100% 0 0);
  white-space: nowrap;
  color: #231815;
  transition: 1s;
}

.messageBgWrap {
}
.messageBgWrap > * {
  position: absolute;
  overflow: hidden;
}
.messageBgWrap > * figure {
  position: relative;
  display: block;
  transform: translateY(101%);
  transition: .3s;
}
.messageBgWrap > .isCentered figure {
  transform: translateY(0);
}
.messageBgWrap > * figure:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  transition: .3s;
  transition-delay: .6s;
}
.messageBgWrap > .isCentered figure:after {
  height: 0;
}
.messageBg01 {
  top: 25.5%;
  left: 28.4375%;
  width: 3.75%;
}
.messageBg02 {
  bottom: 23.173016864%;
  right: 28.4375%;
  width: 3.75%;
}
.messageBg03 {
  top: 23.297938788%;
  right: 7.8125%;
  width: 9.375%;
}
.messageBgWrap .messageBg03 figure:after {
  background: #F3E12A;
}
.messageBg04 {
  top: 34.54091193%;
  left: 2.083333333%;
  width: 15.104166666%;
}
.messageBgWrap .messageBg04 figure:after {
  background: #BC2022;
}
.messageBg05 {
  top: 52.65459088%;
  left: 17.1875%;
  width: 9.375%;
}
.messageBgWrap .messageBg05 figure:after {
  background: #EE761E;
}
.messageBg06 {
  bottom: 36.227357901%;
  right: 17.1875%;
  width: 9.375%;
  transition-delay: .3s;
}
.messageBgWrap .messageBg06 figure:after {
  background: #5CC244;
  transition-delay: .9s;
}
.messageBg07 {
  bottom: 18.11367895%;
  right: 2.083333333%;
  width: 15.104166666%;
}
.messageBgWrap .messageBg07 figure:after {
  background: #5499A2;
}
.messageBg08 {
  bottom: 6.870705808%;
  right: 17.1875%;
  width: 9.375%;
}
.messageBgWrap .messageBg08 figure:after {
  background: #AA6BD4;
}
.messageBg09 {
  bottom: 6.870705808%;
  left: 2.083333333%;
  width: 9.375%;
  transition-delay: .3s;
}
.messageBgWrap .messageBg09 figure:after {
  background: #3B83C4;
  transition-delay: .9s;
}
.messageBg10 {
  bottom: 0%;
  left: 28.4375%;
  width: 15.104166666%;
  transition-delay: .6s;
}
.messageBgWrap .messageBg10 figure:after {
  background: #D66D9E;
  transition-delay: .3s;
}
.messageSlider {
  display: none;
}



/*  partner  */
#partner {
  padding: 168px 0;
  width: 100%;
  background: url(../img/bg_partner.svg) no-repeat center top/ cover;
}
#partner .sectionFlex {
  align-items: center;
  margin-bottom: 60px;
}
#partner .sectionTtl {
  margin-bottom: 0;
}
#partner .sectionTtl:before {
  background: url(../img/icon_ttl_partner.svg) no-repeat center center/ contain;
}
#partner .categoryLabelList {
  opacity: 0;
  transition: .5s;
}
#partner .categoryLabelList.isCentered {
  opacity: 1;
}
#partner .categoryList,
#partner .labelList {
  justify-content: flex-end;
  gap: 4px;
}
#partner .categoryList {
  margin-right: 4px;
}
.categoryList li,
.labelList li {
  width: 76px;
  text-align: center;
  font-size: clamp(12px, 0.78125vw, 15px);
  font-weight: 700;
  padding: 7px 0 9px;
  border-radius: 50vh;
  background: #fff;
  border: solid 2px #231815;
  cursor: pointer;
  transition: .5s;
}
.categoryList li:hover,
.categoryList li.active,
.labelList li:hover,
.labelList li.active {
  background: #231815;
  color: #fff;
}
.partnerList {
  justify-content: flex-start;
  gap: 72px 36px;
  opacity: 0;
  transition: .5s;
}
.partnerList.isCentered {
  opacity: 1;
}
.partnerList .partnerItem {
  cursor: pointer;
  display: none;
  width: calc((100% - 72px) / 3);
}
.partnerList .partnerItem.comingsoon {
  pointer-events: none;
}
.partnerList .partnerItem.active {
  display: flex;
}
.partnerItem .partnerLeft {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.partnerItem .partnerCategory {
  writing-mode: vertical-lr;
  font-size: clamp(12px, 0.78125vw, 15px);
  font-weight: 700;
  padding-top: 15px;
  position: relative;
  font-feature-settings: 'pkna';
}
.partnerItem .partnerLabel {
  writing-mode: vertical-lr;
  font-size: clamp(10px, 0.625vw, 12px);
  margin-top: 8px;
  border-radius: 50vh;
  padding: 8px 4px;
  font-feature-settings: 'pkna';
  color: #fff;
  background: #231815;
}
.categoryColor .partnerCategory:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50vh;
}
.categoryColor.clothing .partnerCategory:before {
  background: #E91E63;
}
.categoryColor.food .partnerCategory:before {
  background: #FF9800;
}
.categoryColor.shelter .partnerCategory:before {
  background: #EFDE4A;
}
.categoryColor.activity .partnerCategory:before {
  background: #4CAF50;
}
.categoryColor.study .partnerCategory:before {
  background: #2196F3;
}
.categoryColor.work .partnerCategory:before {
  background: #993BBE;
}
.partnerItem .partnerCard {
  width: 90.151515151%;
  border-radius: 16px;
  transition: .5s;
  background: #f8f7f6;
}
.partnerItem:hover .partnerCard {
  background: #fff;
}
.partnerCard figure {
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}
.partnerCard .cap {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 10px;
  color: #fff;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
}
.partnerCard .cap.color-bk {
  color: #333;
  filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
}
.partnerCard .modalImg {
  display: none;
}
.partnerCard .partnerTxt {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.partnerTxt .partnerName {
  font-size: clamp(16px, 1.041666666vw, 20px);
  font-weight: 700;
  margin-bottom: 20px;
}
.partnerTxt .partnerBtn {
  width: 40.453074433%;
  position: relative;
  margin-left: auto;
  margin-right: 0;
}
.partnerItem .partnerTxt .partnerBtn .hov {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: .5s;
}
.partnerItem:hover .partnerTxt .partnerBtn .hov {
  opacity: 1;
}

/*  partnerModal  */
#partnerModalOverlay.modalOverlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 5000;
  overflow-y: auto;
  background-color: rgba(248, 247, 246, 0.6);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease .5s, visibility .5s ease .5s;
}
#partnerModalOverlay.modalOverlay.isModal {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
#partnerModalOverlay.modalOverlay .partnerModalContent {
  background-color: #fff;
  border-radius: 16px;
  width: 90%;
  max-width: 504px;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);
  position: relative;
  margin: 20px 0;
  z-index: 2;
  opacity: 0;
  transition: opacity .5s ease-out, transform .5s ease-out;
}
#partnerModalOverlay.modalOverlay.isModal .partnerModalContent {
  opacity: 1;
  transition-delay: .5s;
}
#partnerModalOverlay.modalOverlay .partnerModalContent figure {
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}
#partnerModalOverlay.modalOverlay .partnerModalContent .cap {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 10px;
  color: #fff;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
}
#partnerModalOverlay.modalOverlay .partnerModalContent .cap.color-bk {
  color: #333;
  filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
}
#partnerModalOverlay.modalOverlay .partnerModalContent .modalTxt {
  padding: 40px;
}
#partnerModalOverlay.modalOverlay .modalTxt #modalName {
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 700;
  margin-bottom: 20px;
}
#partnerModalOverlay.modalOverlay .modalTxt .modalCategoryLabel {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 20px;
}
#partnerModalOverlay.modalOverlay .modalTxt #modalCategory {
  font-size: clamp(12px, 0.78125vw, 15px);
  font-weight: 700;
  padding-left: 15px;
  position: relative;
}
#partnerModalOverlay.modalOverlay .modalTxt #modalCategory:before {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#partnerModalOverlay.modalOverlay .modalTxt #modalLabel {
  font-size: clamp(10px, 0.625vw, 12px);
  font-weight: 700;
  line-height: 18px;
  padding: 0 8px 2px;
  border-radius: 50vh;
  color: #fff;
  background: #231815;
  margin-top: 2px;
  margin-left: 8px;
}
#partnerModalOverlay.modalOverlay .modalTxt #modalDetail {
  font-size: clamp(13px, 0.833333333vw, 16px);
  line-height: 1.8;
  text-align: justify;
}
#partnerModalOverlay.modalOverlay #closeModal {
  position: absolute;
  bottom: -18px;
  right: -18px;
  width: 56px;
  cursor: pointer;
  opacity: 1;
  transition: .5s;
}
#partnerModalOverlay.modalOverlay #closeModal:hover {
  opacity: .8;
}


/*  boothmap  */
#boothmap {
  padding: 118px 0 168px;
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 1;
}
#boothmap:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_boothmap.png) no-repeat center top/ cover;
  z-index: -1;
}
#boothmap .sectionTtl:before {
  background: url(../img/icon_ttl_boothmap.svg) no-repeat center center/ contain;
}
#boothmap .stickyArea {
  align-items: flex-start;
}
#boothmap .stickyItem {
  position: sticky;
  top: 0;
  width: 57.142857142%;
  max-width: 720px;
  padding-top: 50px;
}
#boothmap .mapWrap {
  position: relative;
  border: solid 4px #F8F7F6;
  background: #fff;
  border-radius: 15px;
  padding: 1.468253968%;
  opacity: 0;
  transition: .5s;
}
#boothmap .mapWrap.isCentered {
  opacity: 1;
}
#boothmap .mapWrap .boothmapPin {
  position: absolute;
  width: 6.388888888%;
  padding-top: 6.388888888%;
  border-radius: 50vh;
  color: #fff;
  font-size: clamp(12px, 1.904761904vw, 24px);
  font-family: "Oswald",sans-serif;
  text-align: center;
}
#boothmap .mapWrap .boothmapPin01 {top: 49%; left: 13%;}
#boothmap .mapWrap .boothmapPin02 {top: 59%; left: 10%;}
#boothmap .mapWrap .boothmapPin03 {top: 59%; left: 17%;}
#boothmap .mapWrap .boothmapPin04 {top: 74%; left: 34%;}
#boothmap .mapWrap .boothmapPin05 {top: 68%; left: 37%;}
#boothmap .mapWrap .boothmapPin06 {top: 68%; left: 29%;}
#boothmap .mapWrap .boothmapPin07 {top: 74%; left: 27%;}
#boothmap .mapWrap .boothmapPin08 {top: 69%; left: 57%;}
#boothmap .mapWrap .boothmapPin09 {top: 22%; left: 11%;}
#boothmap .mapWrap .boothmapPin10 {top: 16%; left: 11%;}
#boothmap .mapWrap .boothmapPin11 {top: 13%; left: 3%;}
#boothmap .mapWrap .boothmapPin12 {top: 6%; left: 8%;}
#boothmap .mapWrap .boothmapPin13 {top: 4%; left: 18%;}
#boothmap .mapWrap .boothmapPin14 {top: 12%; left: 17%;}
#boothmap .mapWrap .boothmapPin15 {top: 10%; left: 30%;}
#boothmap .mapWrap .boothmapPin16 {top: 4%; left: 27%;}
#boothmap .mapWrap .boothmapPin17 {top: 4%; left: 34%;}
#boothmap .mapWrap .boothmapPin18 {top: 69%; left: 64%;}
#boothmap .mapWrap .boothmapPin19 {top: 24%; left: 3%;}
#boothmap .mapWrap .boothmapPin20 {top: 0; left: 0;}

#boothmap .boothmapList {
  width: 31.746031746%;
  max-width: 400px;
  margin-top: 280px;
  opacity: 0;
  transition: .5s;
}
#boothmap .boothmapList.isCentered {
  opacity: 1;
}
#boothmap .boothmapItem {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px dashed rgba(35, 24, 21, 0.2);
  font-size: clamp(16px, 1.041666666vw, 20px);
  display: flex;
  align-items: center;
}
#boothmap .boothmapItem .boothmapPin {
  display: inline-block;
  position: relative;
  width: 11.5%;
  padding-top: 11.5%;
  border-radius: 50vh;
  color: #fff;
  font-size: clamp(16px, 1.904761904vw, 24px);
  font-family: "Oswald",sans-serif;
  text-align: center;
  margin-right: 16px;
}

#boothmap .boothmapPin01 {background: #6AA947;}
#boothmap .boothmapPin02 {background: #6AA947;}
#boothmap .boothmapPin03 {background: #6AA947;}
#boothmap .boothmapPin04 {background: #3B83C4;}
#boothmap .boothmapPin05 {background: #3B83C4;}
#boothmap .boothmapPin06 {background: #3B83C4;}
#boothmap .boothmapPin07 {background: #3B83C4;}
#boothmap .boothmapPin08 {background: #5554A2;}
#boothmap .boothmapPin09 {background: #D867A3;}
#boothmap .boothmapPin10 {background: #D867A3;}
#boothmap .boothmapPin11 {background: #D867A3;}
#boothmap .boothmapPin12 {background: #D867A3;}
#boothmap .boothmapPin13 {background: #D867A3;}
#boothmap .boothmapPin14 {background: #D867A3;}
#boothmap .boothmapPin15 {background: #D867A3;}
#boothmap .boothmapPin16 {background: #D867A3;}
#boothmap .boothmapPin17 {background: #D867A3;}
#boothmap .boothmapPin18 {background: #5554A2;}
#boothmap .boothmapPin19 {background: #D867A3;}
#boothmap .boothmapPin20 {background: #F3E12A;}

#boothmap .boothmapPin span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}



/*  specialpresent  */
#specialpresent {
  padding: 60px;
  width: 100%;
  background: #fff;
  position: relative;
  overflow: hidden;
}
#specialpresent:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 8.854166666%;
  background: url(../img/bg_present01.png)no-repeat center top/contain;
  transform: translateY(-100%);
  transition: 1s;
  z-index: 1;
}
#specialpresent.isCentered:before {
  transform: translateY(0);
}
#specialpresent:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 8.333333333%;
  background: url(../img/bg_present02.png)no-repeat center top/contain;
  transform: translateY(100%);
  transition: 1.5s;
  z-index: 1;
}
#specialpresent.isCentered:after {
  transform: translateY(0);
}




/*  timetable  */
#timetable {
  padding: 168px 0;
  width: 100%;
}
#timetable .sectionTtl:before {
  background: url(../img/icon_ttl_timetable.svg) no-repeat center center/ contain;
}
#timetable .sectionTxt {
  font-size: clamp(13px, 0.833333333vw, 16px);
  line-height: 2.2;
  text-align: justify;
  margin-bottom: 60px;
  opacity: 0;
  transition: .5s;
}
#timetable .sectionTxt.isCentered {
  opacity: 1;
}
#timetable .stickyArea {
  opacity: 0;
  transition: .5s;
}
#timetable .stickyArea.isCentered {
  opacity: 1;
}
#timetable .stickyItem {
  position: sticky;
  top: 0;
  margin-bottom: 4px;
}




/*  quiz  */
#quiz {
  padding: 168px 0;
  background: #fff;
  width: 100%;
  border-radius: 100px;
}
#quiz .sectionTtl:before {
  background: url(../img/icon_ttl_quiz.svg) no-repeat center center/ contain;
}
#quiz .horizonScroll {
  flex-wrap: nowrap;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 auto;
  gap: 24px;
}
#quiz .slide {
  flex-shrink: 0;
}
#quiz .firstSlide {
  max-width: 612px;
  width: 31.875vw;
}
#quiz .firstSlide h3 {
  font-size: clamp(28px, 2.916666666vw, 56px);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.4;
  margin-bottom: 30px;
}
#quiz .firstSlide h3 span:nth-child(1) {
  color: #BC2022;
}
#quiz .firstSlide h3 span:nth-child(2) {
  color: #EE761E;
}
#quiz .firstSlide h3 span:nth-child(3) {
  color: #F3E12A;
}
#quiz .firstSlide h3 span:nth-child(4) {
  color: #5CC244;
}
#quiz .firstSlide h3 span:nth-child(5) {
  color: #5499A2;
}
#quiz .firstSlide h3 span:nth-child(6) {
  color: #3B83C4;
}
#quiz .firstSlide h3 span:nth-child(7) {
  color: #AA6BD4;
}
#quiz .firstSlide h3 span:nth-child(8) {
  color: #D66D9E;
}
#quiz .firstSlide p {
  font-size: clamp(13px, 0.833333333vw, 16px);
  line-height: 2.2;
  text-align: justify;
}

#quiz .quizSlide {
  width: clamp(300px, 22.395833333vw, 430px);
  height: clamp(400px, 30.208333333vw, 580px);
  list-style: none;
  perspective: 1500px;
}
#quiz .quizConts {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.75, 0, 0.85, 1);
}
#quiz .quizSlide:nth-child(even) .updwn {
  animation-delay: 2s;
}
#quiz .quizMore {
  display: none;
}
.quizMore:checked ~ .quizConts {
  transform: rotateY(180deg);
}
#quiz .front,
#quiz .back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
#quiz .quizSlide .front {
  background: #666;
  border-radius: 32px;
  overflow: hidden;
}
#quiz .quizSlide .back {
  transform: rotateY(180deg);
  background: #fff;
  border: solid 8px #666;
  border-radius: 32px;
  overflow: hidden;
}
#quiz .quizSlide:nth-of-type(2) .front {
  background: #F3E12A;
}
#quiz .quizSlide:nth-of-type(2) .back {
  border: solid 8px #F3E12A;
}
#quiz .quizSlide:nth-of-type(3) .front {
  background: #469C42;
}
#quiz .quizSlide:nth-of-type(3) .back {
  border: solid 8px #469C42;
}
#quiz .quizSlide:nth-of-type(4) .front {
  background: #A28CC1;
}
#quiz .quizSlide:nth-of-type(4) .back {
  border: solid 8px #A28CC1;
}
#quiz .quizSlide:nth-of-type(5) .front {
  background: #EE761E;
}
#quiz .quizSlide:nth-of-type(5) .back {
  border: solid 8px #EE761E;
}
#quiz .quizSlide:nth-of-type(6) .front {
  background: #3B83C4;
}
#quiz .quizSlide:nth-of-type(6) .back {
  border: solid 8px #3B83C4;
}

#quiz .quizInner,
#quiz .quizInner {
  height: 100%;
  transform: translateZ(1px) scale(1);
  position: relative;
}
#quiz label {
  display: block;
  width: 100%;
  height: 100%;
}
#quiz .quizNum {
  display: block;
  position: absolute;
  top: clamp(20px, 2.083333333vw, 40px);
  left: clamp(20px, 2.083333333vw, 40px);
  font-family: "Oswald",sans-serif;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 500;
  line-height: clamp(48px, 3.333333333vw,64px);
  width: clamp(48px, 3.333333333vw,64px);
  text-align: center;
  color: #fff;
  background: #231815;
  border-radius: 8px;
}
#quiz .quizTxtWrap {
  display: block;
  width: calc(100% - clamp(40px, 4.166666666vw, 80px));
  position: absolute;
  left: 50%;
  transform: translate(-50%,-50%);
}
#quiz .front .quizTxtWrap {
  top: 50%;
  transform: translate(-50%,-50%);
}
#quiz .back .quizTxtWrap {
  top: 22%;
  transform: translate(-50%,0);
}
#quiz .quizTtl {
  width: 100%;
  font-size: clamp(20px, 1.666666666vw, 32px);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 10%;
}
#quiz .quizTxt {
  width: 100%;
  font-size: clamp(13px, 0.833333333vw, 16px);
  font-weight: 500;
  line-height: 1.6;
  text-align: justify;
}
#quiz label .quizBtn {
  position: relative;
  backface-visibility: hidden;
  background: #fff;
  border: solid 3px #231815;
  border-radius: 50vh;
  padding: 18px 32px;
  font-size: clamp(16px, 1.041666666vw, 20px);
  letter-spacing: -.04em;
  text-align: center;
  white-space: nowrap;
  transition: .3s ease-in-out;
  cursor: pointer;
}
#quiz label:hover .quizBtn {
  background: #231815;
  color: #fff;
}
#quiz label .quizBtn span {
  position: relative;
  padding-right: 30px;
}
#quiz label .quizBtn span:after {
  content: '';
  position: absolute;
  right: 0;
  top: calc(50% + 1px);
  transform: translateY(-50%);
  width: 13px;
  height: 13.35px;
  background: url(../img/icon_quiz_arrow.svg) no-repeat center center/contain;
  transition: .3s ease-in-out;
}
#quiz label:hover .quizBtn span:after {
  background: url(../img/icon_quiz_arrow_w.svg) no-repeat center center/contain;
}
#quiz label .quizReturn {
  display: block;
  position: absolute;
  bottom: clamp(20px, 2.083333333vw, 40px);
  right: clamp(20px, 2.083333333vw, 40px);
  width: clamp(48px, 3.333333333vw, 64px);
  height: clamp(48px, 3.333333333vw, 64px);
  cursor: pointer;
}
#quiz label:hover .quizReturn img {
  transition: 1s;
  transform: rotate(-360deg);
}




/*  overview  */
#overview {
  padding: 168px 0;
}
#overview .sectionTtl:before {
  background: url(../img/icon_ttl_overview.svg) no-repeat center center/ contain;
}
#overview .overviewTable {
  border-top: solid 3px #231815;
  opacity: 0;
  transition: .5s;
}
#overview .overviewTable.isCentered {
  opacity: 1;
}
#overview .overviewTable > * {
  border-top: solid 1px #d3d1d0;
  padding: 40px 0;
  font-size: clamp(13px, 0.833333333vw, 16px);
  font-weight: 500;
  line-height: 2.2;
  text-align: justify;
}
#overview .overviewTable dt {
  width: 17.460317461%;
  color: #655d5b;
}
#overview .overviewTable dd {
  width: 82.539682539%;
}
#overview .overviewLink {
  display: inline-block;
  position: relative;
  color: #333;
  transition: opacity 500ms ease-in-out;
}
#overview .overviewLink:hover {
  opacity: .6;
}
#overview .overviewLink:after {
  content: "";
  width: 9px;
  height: 9px;
  background: url(../img/icon_external.svg) no-repeat center / 100%;
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}




/*  list  */
#list {
  background: #fff;
  padding: 168px 0 110px;
}
#list .host {
  margin-bottom: 100px;
}
#list dt {
  font-size: clamp(16px, 1.041666666vw, 20px);
  font-weight: 500;
  width: 17.460317461%;
}
#list dd {
  width: 82.539682539%;
  max-width: 1040px;
}
#list .host figure {
  max-width: 404px;
  width: 38.846153846%;
}
#list .sponsor ul:before {
  content: '';
  display: block;
  width: 21.153846153%;
  order: 1;
}
#list .sponsor ul:after {
  content: '';
  display: block;
  width: 21.153846153%;
}
#list .sponsor li {
  margin-bottom: 40px;
  width: 21.153846153%;
}




/*  inPageFooter  */
#inPageFooter {
  padding: 168px 0 40px;
  position: relative;
}
#inPageFooter .inPageFooterWrap {
  padding: 0 40px;
  align-items: flex-start;
}
#inPageFooter figure {
  width: 48.913043478%;
  max-width: 900px;
}
#inPageFooter .inPageNav {
  width: 35%;
  max-width: 400px;
}
#inPageFooter .inPageNav {
  margin-top: -36px;
}
#inPageFooter .inPageNav li {
  width: 45%;
  margin-top: clamp(20px, 1.875vw, 36px);
}
#inPageFooter .inPageNav li a {
  font-size: clamp(16px, 1.041666666vw, 20px);
  font-weight: 500;
  transition: opacity 500ms ease-in-out;
}
#inPageFooter .inPageNav li a:hover {
  opacity: .6;
}
#inPageFooter .inPageNav .mailLinkWrap {
  margin-top: 50px;
}
#inPageFooter .inPageNav .mailLinkTxt {
  font-size: clamp(15px, 0.9375vw, 18px);
  text-align: center;
}
#inPageFooter .inPageNav .mailLink {
  margin-top: 10px;
  display: block;
  font-size: clamp(13px, 0.833333333vw, 16px);
  line-height: 1.4;
  text-align: center;
  font-weight: 500;
  padding: 15px;
  border-radius: 50vh;
  color: #fff;
  border: solid 2px #333;
  background: #333;
  transition: 500ms ease-in-out;
}
#inPageFooter .inPageNav .mailLink:hover {
  background: #fff;
  color: #333;
}

.floating {
  position: absolute;
  bottom: 40px;
  right: 40px;
  max-width: 592px;
  width: 30.833333333%;
  min-width: 320px;
  z-index: 3000;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.5s, transform 0.5s;
}
.floating.is-fixed {
  position: fixed;
  bottom: 40px;
  right: calc(40px + var(--scrollbar-width, 0px));
  transform: translateY(0);
  opacity: 1;
}
.floating.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.floating .btnEntry {
  width: 64.189189189%;
  transition: .5s;
}
.floating .btnEntry:hover {
  opacity: .7;
}
#toggleModal {
  width: 15.202702702%;
  padding-top: 15.202702702%;
  background: url(../img/btn_indefault.png) no-repeat center center/contain;
  cursor: pointer;
  transition: .5s;
}
#toggleModal:hover {
  opacity: .7;
}
#navModalOverlay.isModal + .floating #toggleModal {
  background: url(../img/btn_inclose.png) no-repeat center center/contain;
}
.inPageTop {
  width: 15.202702702%;
  background: url(../img/btn_inpagetop.png) no-repeat center center/contain;
  cursor: pointer;
  transition: .5s;
}
.inPageTop:hover {
  opacity: .7 !important;
}

/*  navModal  */
#navModalOverlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  overflow-y: auto;
  background-color: rgba(248, 247, 246, 0.6);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease .5s, visibility .5s ease .5s;
}
#navModalOverlay.isModal {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
#navModalOverlay .navModalContent {
  width: 90%;
  max-width: 1260px;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: opacity .5s ease 0s;
}
#navModalOverlay.isModal .navModalContent {
  opacity: 1;
  transition-delay: .5s;
}
.inPageModalNav {
  gap: 64px 36px;
}
.inPageModalNav li {
  width: calc(50% - (36px / 2));
}
#navModalOverlay .inPageModalNav li a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  overflow: hidden;
  transition: .5s;
}
#navModalOverlay .inPageModalNav li a:hover {
  opacity: .7;
}
#navModalOverlay .inPageModalNav li a .en {
  display: block;
  font-size: clamp(32px, 3.333333333vw, 64px);
  font-weight: 500;
  font-family: "Oswald",sans-serif;
  transform: translateY(100%);
  transition: .3s;
}
#navModalOverlay.isModal .inPageModalNav li a .en {
  overflow: visible;
  transform: translateY(0);
  transition-delay: 1s;
}
#navModalOverlay .inPageModalNav li a .jp {
  display: block;
  font-size: clamp(11px, 0.833333333vw, 16px);
  font-weight: 500;
  padding: 0 0 5px 16px;
  clip-path: inset(0 100% 0 0);
  transition: .3s;
}
#navModalOverlay.isModal .inPageModalNav li a .jp {
  clip-path: inset(0);
  transition-delay: 1.3s;
}




@media all and (max-width: 1280px) {
  /*  message  */
  .messageP2 {
      width: 36%;
  }

  /*  partner  */
  #partner {
    padding: 84px 0;
  }
  #partner .categoryLabelList.isCentered {
    margin-top: 40px;
  }

  /*  specialpresent  */
  #specialpresent {
    padding: 30px;
  }
  #specialpresent:before {
    padding-top: 9.375%;
    background: url(../img/bg_present01_tab.png)no-repeat center top/contain;
  }
  #specialpresent:after {
    padding-top: 12.5%;
    background: url(../img/bg_present02_tab.png)no-repeat center top/contain;
  }

  /*  boothmap  */
  #boothmap {
    padding: 59px 0 84px;
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 1;
  }
  #boothmap .stickyItem {
    padding-top: 25px;
  }

  /*  timetable  */
  #timetable {
    padding: 84px 0;
    width: 100%;
  }

  /*  quiz  */
  #quiz {
    padding: 84px 0;
    background: #fff;
    width: 100%;
    border-radius: 50px;
  }

  /*  overview  */
  #overview {
    padding: 84px 0;
  }

  /*  list  */
  #list {
    background: #fff;
    padding: 84px 0 55px;
  }

  /*  inPageFooter  */
  #inPageFooter {
    padding: 84px 0 40px;
    position: relative;
  }

}
@media all and (max-width: 1080px) {
  .sectionTtl {
    margin-bottom: 30px;
  }

  /*  message  */
  #message {
    padding: 4.166666666% 0 0;
  }
  .messageP2 {
    width: max(381px, 36%);
    margin-bottom: 10%;
  }
  .messageBg01 {
    top: 20%;
    left: 15%;
  }
  .messageBg02 {
    bottom: 30%;
    right: 15%;
  }
  .messageBg03,
  .messageBg04,
  .messageBg05,
  .messageBg06,
  .messageBg07,
  .messageBg08,
  .messageBg09,
  .messageBg10 {
    display: none;
  }
  .messageSlider {
    display: block;
    width: 100%;
    overflow: hidden;
    pointer-events: none;
    height: auto !important;
  }
  .messageSlider .swiper-wrapper {
    height: auto !important;
    transition-timing-function: linear;
  }
  .messageSlider .swiper-slide {
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .messageSlider .swiper-slide img {
    display: block;
    line-height: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /*  partner  */
  #partner .sectionFlex {
    display: block;
    width: calc(64px * 9);
  }
  #partner .categoryList,
  #partner .labelList {
    justify-content: space-between;
  }
  #partner .categoryList {
    margin-right: 0;
    margin-bottom: 4px;
  }
  .categoryList li,
  .labelList li {
    width: 60px;
    padding: 4px 0 5px;
  }
  .partnerList {
      gap: 40px 20px;
  }
  .partnerList .partnerItem {
      width: calc((100% - 40px) / 3);
  }
  .partnerCard .partnerTxt {
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .partnerTxt .partnerBtn {
    min-width: 100px;
  }

  /*  boothmap  */
  #boothmap .stickyItem {
    width: 60%;
  }
  #boothmap .boothmapList {
    margin-top: 140px;
    width: 35%;
  }

  /*  inPageFooter  */
  #inPageFooter {
    padding: 84px 0 90px;
    position: relative;
  }
}


@media all and (max-width: 768px) {
  .sectionTtl {
    margin-bottom: 30px;
  }
  .sectionTtl:before {
    width: 22px;
    height: 6px;
  }
  .sectionTtl .en {
    padding-left: 38px;
  }
  .sectionTtl .jp {
    padding-left: 14px;
  }


  /*  mv  */
  #mv {
    height: calc(100svh - 80px);
  }
  #mv .mvWrap .left {
    width: 100%;
  }
  #mv .mvWrap .left .lTop {
    width: 58.029850746%;
  }
  #mv .mvWrap .left .lBottom {
    margin-top: 2.388059701%;
  }
  #mv .mvWrap .right {
    width: 100%;
    margin-top: 5.333333333vw;
  }
  #mv .btnMvEntry {
    display: block;
    width: 100%;
    margin-top: 5.333333333vw;
  }


  /*  message  */
  #message {
    padding: 22% 0 0px;
  }
  #message .messageP1_sp {
    width: 89.333333333%;
    font-size: 20.8vw;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    font-weight: 500;
    font-family: "Oswald",sans-serif;
    letter-spacing: -0.02em;
    white-space: nowrap;
    text-align: left;
  }
  #message .messageP1_sp + .messageP1_sp {
    margin-bottom: 22%;
  }
  #message .messageP1_sp .pCover {
    position: absolute;
    left: 0;
    transform: translateY(-50%);
  }
  #message .messageP1_sp .pCover.isCentered {
    clip-path: inset(0);
  }
  .messageP2 {
    width: 76%;
    margin-bottom: 22%;
  }
  .messageBg01 {
    top: 24%;
    left: 6%;
    width: 10%;
  }
  .messageBg02 {
    bottom: 18.5%;
    right: 6%;
    width: 10%;
  }


  /*  partner  */
  #partner {
    padding: 120px 0;
    background: none;
    position: relative;
  }
  #partner:before,
  #partner:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
  }
  #partner:before {
    top: 0;
    left: 0;
    background: url(../img/bg_partner01_sp.png) no-repeat center top/contain;
  }
  #partner:after {
    background: url(../img/bg_partner02_sp.png) no-repeat center bottom/contain;
    bottom: 0;
    left: 0;
  }
  #partner .l-inner {
    position: relative;
    z-index: 1;
  }
  #partner .sectionFlex {
    width: 100%;
    margin-bottom: 30px;
  }
  #partner .categoryList,
  #partner .labelList {
    justify-content: flex-start;
  }
  #partner .categoryList {
    margin-right: 0;
    margin-bottom: 4px;
  }
  .partnerList {
      gap: 32px;
  }
  .partnerList .partnerItem {
    width: 100%;
  }
  .partnerItem .partnerCard {
    display: flex;
    align-items: stretch;
    border-radius: 8px;
    background: #fff;
  }
  .partnerCard figure {
    width: 48%;
    border-radius: 8px;
    position: relative;
  }
  .partnerCard figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .partnerCard .partnerTxt {
    width: 52%;
    padding: 16px 8px 8px 16px;
    display: flex; 
    flex-direction: column;
    justify-content: flex-start;
  }
  .partnerTxt .partnerName {
    line-height: 1.4;
    margin-bottom: 10px;
  }
  .partnerTxt .partnerBtn {
    width: 29px;
    min-width: 29px;
  }
  .partnerItem .partnerTxt .partnerBtn .flat,
  .partnerItem .partnerTxt .partnerBtn .hov {
    display: none;
  }


  /*  partnerModal  */
  #partnerModalOverlay.modalOverlay .partnerModalContent {
    border-radius: 8px;
    max-width: 277px;
  }
  #partnerModalOverlay.modalOverlay .partnerModalContent figure {
    border-radius: 8px;
  }
  #partnerModalOverlay.modalOverlay .partnerModalContent .modalTxt {
    padding: 32px;
  }
  #partnerModalOverlay.modalOverlay .modalTxt #modalName {
    margin-bottom: 10px;
  }
  #partnerModalOverlay.modalOverlay #closeModal {
    position: absolute;
    bottom: -18px;
    right: -18px;
    width: 48px;
  }


  /*  boothmap  */
  #boothmap {
    padding: 100px 0;
  }
  #boothmap:before {
    background: url(../img/bg_boothmap_sp.png) no-repeat center top/ cover;
  }
  #boothmap .stickyItem {
    position: static;
    top: 0;
    width: 100%;
    padding-top: 0;
  }
  #boothmap .mapWrap {
    border: solid 2px #F8F7F6;
    border-radius: 8px;
  }
  #boothmap .boothmapList {
    width: 100%;
    margin-top: 20px;
  }


  /*  specialpresent  */
  #specialpresent {
    padding: 20px;
  }
  #specialpresent:before {
    padding-top: 17.105263157%;
    background: url(../img/bg_present01_sp.png)no-repeat center top/contain;
  }
  #specialpresent:after {
    padding-top: 23.684210526%;
    background: url(../img/bg_present02_sp.png)no-repeat center top/contain;
  }


  /*  timetable  */
  #timetable {
    padding: 100px 0;
  }
  #timetable .sectionTxt {
    margin-bottom: 30px;
  }
  #timetable .stickyItem {
    position: static;
    margin-bottom: 0;
  }


  /*  quiz  */
  #quiz {
    padding: 80px 0;
    border-radius: 50px;
  }
  #quiz .horizonScroll {
    overflow-x: scroll;
    gap: 24px;
    padding: 2% 20px 2% 0;
    margin-right: calc(50% - 50vw);
  }
  #quiz .slide {
    flex-shrink: 0;
  }
  #quiz .firstSlide {
    max-width: auto;
    width: 100%;
    margin-bottom: 40px;
    opacity: 0;
    transition: .5s;
  }
  #quiz .firstSlide.isCentered {
    opacity: 1;
  }
  #quiz .quizSlide .front {
    border-radius: 16px;
  }
  #quiz .quizSlide .back {
    border: solid 4px #666;
    border-radius: 16px;
  }
  #quiz .quizSlide:nth-of-type(2) .back {
    border: solid 4px #F3E12A;
  }
  #quiz .quizSlide:nth-of-type(3) .back {
    border: solid 4px #469C42;
  }
  #quiz .quizSlide:nth-of-type(4) .back {
    border: solid 4px #A28CC1;
  }
  #quiz .quizSlide:nth-of-type(5) .back {
    border: solid 4px #EE761E;
  }
  #quiz .quizSlide:nth-of-type(6) .back {
    border: solid 4px #3B83C4;
  }
  #quiz .quizNum {
    border-radius: 8px;
  }
  #quiz label .quizBtn {
    border: solid 3px #231815;
  }


  /*  overview  */
  #overview {
    padding: 100px 0 80px;
  }
  #overview .overviewTable > * {
    padding: 24px 0;
  }
  #overview .overviewTable dt {
    width: 35%;
  }
  #overview .overviewTable dd {
    width: 65%;
  }


  /*  list  */
  #list {
    background: #fff;
    padding: 100px 0 80px;
  }
  #list .host {
    margin-bottom: 64px;
  }
  #list dt {
    width: 100%;
    margin-bottom: 20px;
  }
  #list dd {
    width: 100%;
  }
  #list .host figure {
    width: 100%;
  }
  #list .sponsor ul:before {
    width: 48%;
  }
  #list .sponsor ul:after {
    display: none;
  }
  #list .sponsor li {
    margin-bottom: 16px;
    width: 48%;
  }


  /*  inPageFooter  */
  #inPageFooter {
    padding: 100px 0 120px;
  }
  #inPageFooter .inPageFooterWrap {
    padding: 0 20px;
  }
  #inPageFooter figure {
    width: 100%;
  }
  #inPageFooter .inPageNav {
    margin: 50px auto 0;
    width: 100%;
  }
  #inPageFooter .inPageNav li {
    width: 48%;
  }

  .floating {
    bottom: 20px;
    right: auto;
    left: 50%;
    transform: translate(-50%,-50%);
    width: calc(100% - 40px);
    max-width: 420px;
  }
  .floating.is-fixed {
    bottom: 140px;
    right: auto;
    left: 50%;
    transform: translate(-50%,0);
  }
  .floating.is-visible {
    transform: translate(-50%,0);
  }
  .floating.is-cookie {
    bottom: 20px;
  }

  /*  navModal  */
  #navModalOverlay {
    backdrop-filter: blur(32px);
    -webkit-backdrop-filter: blur(32px);
  }
  #navModalOverlay .navModalContent {
    width: 78.666666666%
  }
  .inPageModalNav {
    gap: 32px;
  }
  .inPageModalNav li {
    width: 100%;
  }
  #navModalOverlay .inPageModalNav li a .jp {
    padding: 0 0 5px 16px;
  }

  #navModalOverlay {
    display: block;
  }
  #navModalOverlay .navModalContent {
    padding: 120px 0 60px;
    overflow-y: auto;
    height: 80vh;
    width: 100%;
  }
  .inPageModalNav {
    width: 78.666666666%;
    margin: 0 auto;
    padding-bottom: 120px;
  }

}


@media all and (max-width: 379px) {
  #mv {
    height: calc(110svh - 80px);
  }
  .messageP2 {
    font-size: 3.421052631vw;
  }
}




/* animation */
.updwn {
  animation: floating-y 4s ease-in-out infinite alternate-reverse;
  width: 100%;
  height: 100%;
}
@keyframes floating-y {
  0% {
  transform: translateY(-1%);
  }
  100% {
  transform: translateY(1%);
  }
}
