@charset "UTF-8";
.c-hero01 {
  display: none !important;
}

.c-single01 .c-single01__header {
  display: none !important;
}

.c-single01__header .c-meta01 {
  display: none !important;
}

.c-single01 .c-single01__body {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .c-single01 .c-single01__body .sec .p-index-nav {
    overflow: hidden;
  }
}

@media screen and (min-width: 768px), print {
  .imgArea00 img {
    width: 50%;
  }
}
@media screen and (min-width: 768px), print {
  .imgArea00 figure {
    width: 50%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px), print {
  .imgArea00 figure img {
    width: 100%;
  }
}

.imgArea01 {
  margin-top: 40px;
}
@media screen and (min-width: 768px), print {
  .imgArea01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px), print {
  .imgArea01 img {
    width: 20%;
  }
}

@media screen and (min-width: 768px), print {
  .imgArea02 img {
    width: 25%;
    margin: 0 !important;
  }
}

@media screen and (min-width: 768px), print {
  .imgArea03 img {
    width: 33.3333%;
  }
}

.twoColumns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .twoColumns {
    display: block;
  }
}
@media screen and (min-width: 768px), print {
  .twoColumns .img {
    width: 28%;
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px), print {
  .twoColumns .txt {
    width: calc(72% - 20px);
  }
}

.sec {
  padding-top: 3em;
  margin-top: 6em !important;
  border-top: solid 1px #ccc;
}

.ttl {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
  color: #2291FF;
}

.bold {
  font-weight: bold;
}

.table {
  width: auto;
  margin-top: 1em;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table {
    width: 100%;
    border-top: 1px solid #000;
  }
}
.table th,
.table td {
  border: 1px solid #000;
  vertical-align: top;
  padding: 0.8em 1em;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .table th,
  .table td {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .table th {
    font-weight: 600;
    border-top: none;
    border-bottom: none;
  }
}

.sponsored {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .sponsored p:nth-child(1) {
    width: 18%;
  }
}
@media screen and (min-width: 768px), print {
  .sponsored p:nth-child(1) {
    width: 70px;
  }
}
@media screen and (max-width: 767px) {
  .sponsored p:nth-child(2) {
    width: 70%;
  }
}
@media screen and (min-width: 768px), print {
  .sponsored p:nth-child(2) {
    width: 270px;
    margin-left: 20px;
  }
}

.mvImg {
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .mvImg {
    margin-inline: -15px;
  }
}

.mvDesc {
  max-width: 770px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .mvDesc {
    width: 90%;
  }
}

.mvTxt {
  font-size: 170%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  .mvTxt {
    font-size: 113%;
  }
}
.mvTxt .big {
  font-size: 120%;
}
@media screen and (max-width: 767px) {
  .mvTxt .big {
    font-size: 130%;
  }
}

.mvNotes {
  text-align: center;
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .mvNotes {
    font-size: 80%;
  }
}

/* .mvTxt {
  padding-left: 0 !important;
}
.mvTxt:before {
  content: none !important;
} */
.subHeading {
  color: #F39800;
  padding-left: 0 !important;
}
.subHeading:before {
  content: none !important;
}
.subHeading:not(.first) {
  margin-top: 30px !important;
}
@media screen and (min-width: 768px), print {
  .subHeading:not(.first) {
    margin-top: 50px !important;
  }
}

.c-pager02 {
  display: none !important;
}

@media screen and (min-width: 768px), print {
  .fieldList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
  }
}
.fieldList li {
  padding-left: 0 !important;
}
@media screen and (max-width: 767px) {
  .fieldList li {
    margin-top: 10px !important;
  }
}
@media screen and (min-width: 768px), print {
  .fieldList li {
    width: calc(50% - 10px);
    line-height: 1;
    margin-top: 0 !important;
  }
}
.fieldList li:before {
  content: none !important;
}

.groupList-item {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4% 2%;
  border: 1px solid #ccc;
  margin-top: 20px;
}
@media screen and (min-width: 768px), print {
  .groupList-item {
    padding: 30px 40px;
    margin-top: 30px;
  }
}
.groupList-imgArea {
  width: 52%;
}
@media screen and (min-width: 768px), print {
  .groupList-imgArea {
    width: 30%;
  }
}
.groupList-img figcaption {
  text-align: right;
  font-size: 75%;
  margin-right: 23%;
}
@media screen and (min-width: 768px), print {
  .groupList-img figcaption {
    font-size: 100%;
    margin-right: 29%;
  }
}
.groupList-txtArea {
  width: 46%;
}
@media screen and (min-width: 768px), print {
  .groupList-txtArea {
    width: 65%;
  }
}
.groupList-txtArea + p {
  display: none;
}
.groupList-heading {
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px), print {
  .groupList-heading {
    font-size: 150%;
    margin-bottom: 20px;
  }
}
.groupList-txt {
  font-size: 75%;
}
@media screen and (min-width: 768px), print {
  .groupList-txt {
    font-size: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .groupList-cat {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px), print {
  .groupList-cat span {
    font-size: 100%;
    padding: 5px 10px;
  }
}

.groupList-cat {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
}
.groupList-cat span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 75%;
  line-height: 1;
  padding: 3px 6px;
  border: 1px solid #ccc;
}
.groupList-cat span + span {
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .exhibitionList .groupList-item {
    display: block;
    padding: 4%;
  }
}
@media screen and (min-width: 768px), print {
  .exhibitionList .groupList-item {
    display: block;
    padding: 4%;
  }
}
@media screen and (max-width: 767px) {
  .exhibitionList .groupList-item:first-child {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .exhibitionList .groupList-imgArea {
    width: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .exhibitionList .groupList-imgArea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .exhibitionList .groupList-txtArea {
    width: 100%;
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px), print {
  .exhibitionList .groupList-txtArea {
    width: 100%;
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .eventList .groupList-item {
    display: block;
  }
}
@media screen and (min-width: 768px), print {
  .eventList .groupList-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .eventList .groupList-imgArea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .eventList .groupList-txtArea {
    width: 100%;
    margin-top: 10px;
  }
}

/* .eventTxt {
  text-align: center;
  margin-top: 10px;
} */
.sec .p-index-nav {
  background: none;
  padding: 0;
}
@media screen and (min-width: 768px), print {
  .sec .p-index-nav {
    background: none;
    padding: 0;
  }
}
.sec .p-index-nav .p-index-nav__ticket {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .sec .p-index-nav .p-index-nav__ticket {
    background-size: 410px;
    padding: 20px 30px;
  }
}
@media screen and (min-width: 768px), print {
  .sec .p-index-nav .p-index-nav__ticket {
    background-size: 330px;
  }
}
.sec .p-index-nav__ticket-btn {
  position: relative;
}
.sec .p-index-nav__ticket-btn:after {
  content: "";
  display: block;
  width: 100px;
  aspect-ratio: 750/619;
  position: absolute;
  top: 0;
  z-index: 100;
  background: url(../img/imaginary/imaginary_character_04.png) no-repeat center center/cover;
  rotate: y 180deg;
  -webkit-filter: brightness(0%);
          filter: brightness(0%);
}
@media screen and (min-width: 768px) and (max-width: 1130px) {
  .sec .p-index-nav__ticket-btn:after {
    right: 230px;
  }
}
@media screen and (min-width: 1131px) {
  .sec .p-index-nav__ticket-btn:after {
    right: -200px;
  }
}
@media screen and (max-width: 767px) {
  .sec .p-index-nav__ticket-btn:after {
    width: 70px;
    top: 51px;
    right: -48px;
  }
}

.sec .c-pager02 {
  display: block !important;
  border: none;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .sec .c-pager02 {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec .c-pager02:before {
    content: none;
  }
}
.sec .c-pager02 .c-pager02__back a {
  color: #F39800;
}
.sec .c-pager02.soon .c-pager02__back a {
  pointer-events: none;
  color: #ccc;
  border-color: #ccc;
}

/*
.nav {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  padding-top: 50px;
  padding-bottom: 50px;
  @media screen and (max-width: 767px) {
    gap: 10px;
    padding-top: 10px;
    padding-bottom: 25px;
  }
  a {
    display: block;
    width: 32%;
    @media screen and (max-width: 767px) {
      width: 48%;
    }
    @media screen and (min-width: 768px), print {
      transition: opacity 0.2s;
    }
    &:hover {
      opacity: 0.8;
      @media screen and (min-width: 768px), print {
        opacity: 0.8;
      }
    }
  }
}
*/
/* .nav a[href="#sec05"] {
  pointer-events: none;
  opacity: 0.9;
  filter:grayscale(100%);
} */
.companyList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 4%;
}
@media screen and (max-width: 767px) {
  .companyList {
    gap: 20px 2%;
  }
}
.companyList .companyList-item {
  width: 22%;
}
@media screen and (max-width: 767px) {
  .companyList .companyList-item {
    width: 32%;
  }
}
.companyList .txt {
  text-align: center;
  margin-top: 0.3em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .companyList .txt {
    font-size: 73%;
    line-height: 1.4;
  }
}

.pickupBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #ccc;
  padding: 30px 40px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .pickupBox {
    display: block;
    padding: 4% 4%;
  }
}
.pickupBox .groupList-heading {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .pickupBox .groupList-heading {
    font-size: 120%;
    line-height: 1.4;
    margin-bottom: 20px;
  }
}
.pickupBox .img {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .pickupBox .img {
    width: 100%;
    margin-bottom: 20px;
  }
}
.pickupBox .txtArea {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .pickupBox .txtArea {
    width: 100%;
    font-size: 90%;
  }
}
.pickupBox .attention {
  font-weight: bold;
}

.illust {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .illust {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 10px;
  }
}
.illust .img {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .illust .img {
    width: 43%;
  }
}
.illust .txtArea {
  width: 58%;
}
@media screen and (max-width: 767px) {
  .illust .txtArea {
    width: 50%;
  }
}
.illust .icon {
  width: 50%;
}
.illust .name {
  font-size: 120%;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .illust .txt {
    position: relative;
    top: calc((70/750)*100vw);
    left: -93%;
    width: 92vw;
  }
}

@media screen and (max-width: 767px) {
  .secMap {
    padding-top: 0;
    margin-bottom: -50px;
  }
}
.secMap-map {
  border: 1px solid #ccc;
  padding: 6px 0;
}

@media screen and (min-width: 768px), print {
  .logoImg {
    width: 80%;
    margin: 0 auto;
  }
  /* .eventImg {
    width: 80%;
    margin: 0 auto;
  } */
}
/* ============================
2026/05/27 2026夏用に追記
============================ */
.flame {
  max-width: 770px;
  margin: 0 auto;
  position: relative;
}
.flame:before, .flame:after {
  display: block;
  content: "";
  width: 100%;
  height: 50%;
  background: url(../img/imaginary/imaginary_flame_01.png) no-repeat center top/100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.flame:after {
  background-position: center bottom;
  top: auto;
  bottom: 0;
  z-index: 2;
}
.flame-sec {
  padding-top: 0;
  border: none;
}
@media screen and (max-width: 767px) {
  .flame-sec {
    margin-top: 3.5em !important;
  }
}
@media screen and (max-width: 767px) {
  .flame-sec .c-pager02 {
    margin-top: 1em;
  }
}
.flame-ttl {
  position: relative;
  z-index: 10;
  font-size: 120%;
  font-weight: bold;
  text-align: center;
  color: #a67243;
  padding-top: 3.5em;
  margin-bottom: -2.5em;
}
@media screen and (max-width: 767px) {
  .flame-ttl {
    padding-top: 2em;
    margin-bottom: -3em;
  }
}
.flame-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 50px;
  padding-top: 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .flame-inner {
    padding: calc((80/750)*100vw) calc((40/750)*100vw);
  }
}
.flame-inner:before {
  display: block;
  content: "";
  width: 14%;
  aspect-ratio: 2763/2950;
  background: url(../img/imaginary/imaginary_character_08.png) no-repeat center center/contain;
  rotate: y 180deg;
  -webkit-filter: brightness(0%) drop-shadow(4px 4px 8px #ababab);
          filter: brightness(0%) drop-shadow(4px 4px 8px #ababab);
  -webkit-animation: float1 2s cubic-bezier(0.39, 0.09, 0.43, 1.13) 1.3s infinite;
          animation: float1 2s cubic-bezier(0.39, 0.09, 0.43, 1.13) 1.3s infinite;
}
@media screen and (max-width: 767px) {
  .flame-inner:before {
    width: 16%;
    position: absolute;
    top: calc((10/750)*100vw);
    left: 0;
  }
}
.flame-inner:after {
  display: block;
  content: "";
  width: 13%;
  aspect-ratio: 2677/4729;
  background: url(../img/imaginary/imaginary_character_01.png) no-repeat center center/contain;
  -webkit-filter: brightness(0%) drop-shadow(4px 4px 8px #ababab);
          filter: brightness(0%) drop-shadow(4px 4px 8px #ababab);
  -webkit-animation: float2 3s cubic-bezier(0.39, 0.09, 0.43, 1.13) 1.3s infinite;
          animation: float2 3s cubic-bezier(0.39, 0.09, 0.43, 1.13) 1.3s infinite;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .flame-inner:after {
    width: 13%;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.flame-inner p {
  text-align: center;
  margin-inline: 8%;
  margin-top: 2em;
  color: #4b582a;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .flame-inner p {
    font-size: 96%;
    margin-inline: 0;
  }
}

@-webkit-keyframes float1 {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  50% {
    -webkit-transform: translate(4px, 4px) rotate(4deg);
            transform: translate(4px, 4px) rotate(4deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes float1 {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  50% {
    -webkit-transform: translate(4px, 4px) rotate(4deg);
            transform: translate(4px, 4px) rotate(4deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
@-webkit-keyframes float2 {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  50% {
    -webkit-transform: translate(2px, 2px) rotate(2deg);
            transform: translate(2px, 2px) rotate(2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes float2 {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  50% {
    -webkit-transform: translate(2px, 2px) rotate(2deg);
            transform: translate(2px, 2px) rotate(2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
.bgc {
  width: 100vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: relative;
  left: 50%;
  margin-inline: auto;
  background-image: -webkit-linear-gradient(269deg, #ffffff, #f5f3e8 5% 95%, #ffffff 100%);
  background-image: linear-gradient(181deg, #ffffff, #f5f3e8 5% 95%, #ffffff 100%);
}
.bgc-inner {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  padding-block: 200px;
  margin-block: 300px;
  width: min(100%, 1130px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .bgc-inner {
    padding-block: calc((200/750)*100vw);
    margin-block: calc((300/750)*100vw);
  }
}
.bgc-inner:before, .bgc-inner:after {
  content: "";
  display: block;
  width: 40%;
  aspect-ratio: 2200/884;
  background: url(../img/imaginary/imaginary_border_01.png) no-repeat center center/contain;
  position: absolute;
  top: -100px;
  left: 51%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .bgc-inner:before, .bgc-inner:after {
    width: 70%;
    top: calc((-100/750)*100vw);
  }
}
.bgc-inner:after {
  top: auto;
  bottom: -100px;
}
@media screen and (max-width: 767px) {
  .bgc-inner:after {
    top: auto;
    bottom: calc((-100/750)*100vw);
  }
}

.nav {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}
.nav-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .nav-inner {
    gap: calc((30/750)*100vw);
  }
}
.nav-sec {
  padding-top: 0;
  border: none;
}
.nav-txt {
  position: relative;
  z-index: 4;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5), -1px 1px 0 rgba(255, 255, 255, 0.5), -1px -1px 0 rgba(255, 255, 255, 0.5), 1px -1px 0 rgba(255, 255, 255, 0.5);
  -webkit-transition: text-shadow 0.4s;
  transition: text-shadow 0.4s;
}
.nav a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 190px;
  height: 60px;
  font-weight: 700;
  text-decoration: none;
  color: #889071 !important;
  background-color: rgba(136, 144, 113, 0.2);
  border: 2px solid #889071;
  border-radius: 30px;
  -webkit-transition: opacity 0.4s, color 0.4s, border-color 0.4s, background-color 0.4s;
  transition: opacity 0.4s, color 0.4s, border-color 0.4s, background-color 0.4s;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nav a {
    width: calc((190*1.7/750)*100vw);
    height: calc((60*1.7/750)*100vw);
    border-radius: calc((30*1.7/750)*100vw);
  }
}
.nav a.soon {
  pointer-events: none;
  color: #ccc !important;
  border-color: #ccc;
  background-color: rgba(135, 135, 135, 0.3);
}
.nav a.soon .nav-txt {
  text-shadow: 1px 1px 0 rgba(170, 170, 170, 0.5), -1px 1px 0 rgba(170, 170, 170, 0.5), -1px -1px 0 rgba(170, 170, 170, 0.5), 1px -1px 0 rgba(170, 170, 170, 0.5);
}
.nav a:not(.soon):hover {
  opacity: 1;
  color: #fff !important;
  background-color: rgba(196, 146, 14, 0.2);
  border-color: #c4920e;
}
.nav a:not(.soon):hover span {
  text-shadow: 1px 1px 0 #c4920e, -1px 1px 0 #c4920e, -1px -1px 0 #c4920e, 1px -1px 0 #c4920e;
}
.nav a:not(.soon):hover:after {
  -webkit-filter: grayscale(0%) blur(0);
          filter: grayscale(0%) blur(0);
  opacity: 1;
}
.nav a:after {
  content: "";
  display: block;
  background: url(../img/imaginary/imaginary_character_01.png) no-repeat right bottom/contain;
  -webkit-filter: grayscale(80%) blur(2px);
          filter: grayscale(80%) blur(2px);
  position: absolute;
  top: 10px;
  right: 10px;
  opacity: 0.4;
  -webkit-transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: filter 0.4s, opacity 0.4s;
  transition: filter 0.4s, opacity 0.4s, -webkit-filter 0.4s;
}
.nav a:nth-child(1):after {
  width: 60px;
  aspect-ratio: 2677/4729;
  background-image: url(../img/imaginary/imaginary_character_01.png);
}
.nav a:nth-child(2):after {
  width: 60px;
  aspect-ratio: 2770/3930;
  background-image: url(../img/imaginary/imaginary_character_02.png);
}
.nav a:nth-child(3):after {
  width: 50px;
  aspect-ratio: 2285/5185;
  background-image: url(../img/imaginary/imaginary_character_03.png);
}
.nav a:nth-child(4):after {
  width: 130px;
  aspect-ratio: 3001/2475;
  background-image: url(../img/imaginary/imaginary_character_04.png);
}
.nav a:nth-child(5):after {
  width: 70px;
  aspect-ratio: 2939/3979;
  background-image: url(../img/imaginary/imaginary_character_05.png);
}
.nav a:nth-child(6):after {
  width: 80px;
  aspect-ratio: 3519/3261;
  background-image: url(../img/imaginary/imaginary_character_06.png);
}
.nav a:nth-child(7):after {
  width: 100px;
  aspect-ratio: 2713/2387;
  background-image: url(../img/imaginary/imaginary_character_07.png);
}

.dealerList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-block: 1em;
}
@media screen and (max-width: 767px) {
  .dealerList {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc((30/750)*100vw);
  }
}
.dealerList li {
  width: 18%;
  padding-left: 0 !important;
  list-style: none;
  text-align: center;
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .dealerList li {
    width: 45%;
  }
}
.dealerList li:before {
  content: none !important;
}
.dealerList li .txt {
  font-weight: 700;
}
.dealerList-btn {
  margin-top: 2em;
}

.proList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px 0;
  margin: 2em 0 0;
}
@media screen and (max-width: 767px) {
  .proList {
    gap: calc((60/750)*100vw);
    margin-top: 1em;
  }
}
.proList li {
  width: 48%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  padding: 4% !important;
  background-color: #fff;
  border: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .proList li {
    width: 100%;
    padding: 6% !important;
  }
}
.proList li:before {
  content: none !important;
}
.proList li figure {
  text-align: center;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .proList li figure {
    margin-bottom: 1em;
  }
}
.proList-profile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 2em;
  border-top: 1px dashed #ccc;
}
@media screen and (max-width: 767px) {
  .proList-profile {
    padding-top: 1.5em;
  }
}
.proList-profile .img {
  width: 39%;
}
@media screen and (max-width: 767px) {
  .proList-profile .img {
    width: 37%;
  }
}
.proList-profile .txtArea {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .proList-profile .txtArea {
    width: 55%;
  }
}
.proList-profile .name {
  font-size: 120%;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .proList-profile .name {
    font-size: 110%;
  }
}
.proList-profile .txt {
  font-size: 90%;
}
@media screen and (max-width: 767px) {
  .proList-profile .txt {
    font-size: 80%;
  }
}

.letterImg {
  width: 60%;
  margin: 0 auto;
}

.pageTop {
  width: calc((80/750)*100vw);
  height: calc((80/750)*100vw);
  margin: 0 !important;
  position: fixed;
  right: calc((16/750)*100vw);
  bottom: calc((146/750)*100vw);
  z-index: 100;
}
@media screen and (min-width: 768px), print {
  .pageTop {
    display: none !important;
  }
}
.pageTop a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #c4920e !important;
  text-decoration: none;
  background-color: #e4e1dc;
  border: 1px solid #c4920e;
  border-radius: 50%;
  opacity: 0.7;
}