.special_site_wrapper h1, .special_site_wrapper h2, .special_site_wrapper h3, .special_site_wrapper h4, .special_site_wrapper h5,
.special_site_wrapper article, .special_site_wrapper section,
.special_site_wrapper p, .special_site_wrapper div, .special_site_wrapper span, .special_site_wrapper figure,
.special_site_wrapper ul, .special_site_wrapper ol, .special_site_wrapper li, .special_site_wrapper dl, .special_site_wrapper dt, .special_site_wrapper dd, .special_site_wrapper img, .special_site_wrapper a {
  position: relative;
}

.animate .fadein,
.animate.fadein {
  opacity: 0;
  transition: opacity 1.5s ease 0.3s;
}

.animate.show .fadein,
.animate.show.fadein {
  opacity: 1;
}
.animate.show .fadein.d1,
.animate.show.fadein.d1 {
  transition-delay: 100ms;
}
.animate.show .fadein.d2,
.animate.show.fadein.d2 {
  transition-delay: 200ms;
}
.animate.show .fadein.d3,
.animate.show.fadein.d3 {
  transition-delay: 300ms;
}
.animate.show .fadein.d4,
.animate.show.fadein.d4 {
  transition-delay: 400ms;
}

@keyframes start_fade {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes anchor {
  0% {
    transform: translateY(0%);
  }
  30% {
    transform: translateY(15%);
  }
  70% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(0%);
  }
}
@media print {
  .special_site_wrapper .bg_twinkle {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
  }
  .special_site_wrapper section#kv {
    z-index: 0;
  }
  .special_site_wrapper section#kv .kv_pic {
    width: 100%;
    margin-top: -0.1rem;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .special_site_wrapper section#main_section {
    padding: 8.5em 0 10.4em;
    background: url(../images/201/bg1.jpg) center/cover;
    color: #fff;
  }
  .special_site_wrapper section#main_section .inner_wrap {
    width: 137.6em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .special_site_wrapper section#main_section .col1 {
    width: 77.6em;
    position: absolute;
    right: 0;
    top: 0;
  }
  .special_site_wrapper section#main_section .col1 .section_title {
    font-weight: 500;
    font-size: 4.5em;
    line-height: 1.22em;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .special_site_wrapper section#main_section .col1 .date {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 2.2em;
    line-height: 1.63em;
    margin-top: 1.63em;
  }
  .special_site_wrapper section#main_section .col1 .date .tag {
    display: block;
    width: 8.6em;
    background: #826d4c;
    font-size: 0.9em;
    line-height: 1.81em;
    letter-spacing: 0.03em;
    text-align: center;
    margin-right: 1.01em;
  }
  .special_site_wrapper section#main_section .col1 .text {
    font-weight: 400;
    font-size: 2.5em;
    line-height: 1.88em;
    letter-spacing: 0.05em;
    margin-top: 1.2em;
  }
  .special_site_wrapper section#main_section .col2 {
    width: 62.5em;
    padding-bottom: 22.9em;
  }
  .special_site_wrapper section#main_section .col2 .pic {
    width: 52.5em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .col2 .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#main_section .col2 .pic + .pic {
    margin-top: 3.4em;
  }
  .special_site_wrapper section#main_section .col2 .info {
    width: 100%;
    display: block;
    margin-top: 7em;
  }
  .special_site_wrapper section#main_section .col2 .info tr {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
  }
  .special_site_wrapper section#main_section .col2 .info tr + tr {
    margin-top: 2.7em;
  }
  .special_site_wrapper section#main_section .col2 .info th {
    background: #826d4c;
    display: block;
    width: 7.15em;
    text-align: center;
    font-weight: 400;
    font-size: 2em;
    line-height: 1.8em;
    letter-spacing: 0.03em;
    margin-right: 0.85em;
  }
  .special_site_wrapper section#main_section .col2 .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.36em;
    letter-spacing: 0.05em;
    width: calc(100% - 7.27em);
  }
  .special_site_wrapper section#main_section .col2 .note {
    margin-top: 2.14em;
    border-top: #fff 0.07em solid;
    padding-top: 0.85em;
    font-size: 1.4em;
    line-height: 1.78em;
    letter-spacing: 0.05em;
    padding-left: 1em;
    text-indent: -1em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor {
    margin-top: 6.5em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl {
    width: 26.6em;
    white-space: nowrap;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt, .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    font-size: 1.7em;
    line-height: 1.64em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt {
    font-weight: 500;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    letter-spacing: -0.05em;
    margin-left: 0;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) .logo {
    width: 14.9em;
    height: 12.7em;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) .logo img {
    width: 9.7em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) {
    margin-top: 1.8em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) .logo {
    width: 35.7em;
  }
  .special_site_wrapper section#main_section .map {
    width: 70.5em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .map:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section {
    background: #e40032;
    padding: 8em 0 16.5em;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 158.4em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .anchor_set {
    width: 100%;
    margin-bottom: 11em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7.4em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li {
    display: block;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a {
    display: block;
    width: fit-content;
    height: 1.71em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    font-size: 3.2em;
    text-decoration: underline;
    text-underline-offset: 0.8em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a:after {
    content: "";
    display: block;
    width: 1.71em;
    height: 1.71em;
    box-sizing: border-box;
    margin-left: 0.53em;
    background: url(../images/common/icon_anchor.svg) center/1.71em auto no-repeat;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a:hover:after {
    animation: anchor 1s ease-in-out 0s infinite;
  }
  .special_site_wrapper section#contents_section .row .deco {
    position: absolute;
    width: 49em;
    height: 56.1em;
    background: url(../images/201/deco.png) center/contain no-repeat;
  }
  .special_site_wrapper section#contents_section .row .deco.deco1 {
    width: 38.7em;
    height: 44.4em;
    right: -25.8em;
    top: -30.8em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco2 {
    width: 34.2em;
    height: 39.3em;
    left: -23.4em;
    bottom: -14.5em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco3 {
    width: 43.7em;
    height: 50.2em;
    right: -11.4em;
    top: -30.3em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco4 {
    right: -21.7em;
    bottom: -24.7em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco5 {
    left: -30.5em;
    top: 13em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco6 {
    width: 30.5em;
    height: 35em;
    right: -12.6em;
    top: 89em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco7 {
    width: 42.3em;
    height: 48.5em;
    left: -12em;
    bottom: 29.6em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco8 {
    right: -19.4em;
    bottom: -27em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco9 {
    width: 17.6em;
    height: 20.3em;
    left: 0;
    top: 5.2em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco10 {
    width: 17.6em;
    height: 20.3em;
    right: 0;
    top: 5.2em;
  }
  .special_site_wrapper section#contents_section .row .row_title {
    background: linear-gradient(180deg, #f8f9cf 10%, #f9e39f 50%, #f7e09c 60%, #ddc37f 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1;
    text-shadow: 0 0 3em rgba(0, 0, 0, 0.6);
    font-size: 4.4em;
    text-align: center;
    padding-left: 0.15em;
    margin-bottom: 1.36em;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 16.5em;
  }
  .special_site_wrapper section#contents_section .row.shops {
    z-index: 1;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col {
    display: block;
    width: 36.6em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 63em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col:has(.link) {
    padding-bottom: 5.2em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num {
    position: absolute;
    left: 0;
    top: 0;
    width: 2.25em;
    height: 2.25em;
    box-sizing: border-box;
    z-index: 1;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 4em;
    line-height: 1;
    padding: 0.3em 0 0 0.3em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-left: #16483c 1.125em solid;
    border-top: #16483c 1.125em solid;
    border-right: transparent 1.125em solid;
    border-bottom: transparent 1.125em solid;
    z-index: -1;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts {
    padding: 1.7em 2.5em 2.3em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .title_sub {
    font-weight: 600;
    font-size: 1.3em;
    line-height: 1em;
    margin-bottom: 1.07em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title {
    font-weight: 800;
    font-size: 1.8em;
    line-height: 1em;
    margin-bottom: 1.11em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.88em;
    line-height: 1em;
    margin-top: 0.63em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .text {
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data {
    margin-top: 3em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 2em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.7em;
    line-height: 1.23em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.4em;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 0.35em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link {
    position: absolute;
    right: 1.38em;
    bottom: 1.72em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.8em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .cap {
    padding: 0 2.08em;
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 500;
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/9.77em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 {
    display: flex;
    gap: 4.8em;
    margin-bottom: 5.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col {
    width: calc((100% - 5.4em) / 2);
    border-radius: 3em;
    background-color: rgb(255, 255, 255);
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    padding: 3.3em 3.5em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .pic {
    width: 100%;
    height: 46em;
    background: #808080;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts {
    width: 100%;
    padding: 0 1.5em;
    box-sizing: border-box;
    margin-top: 3em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title {
    font-weight: 800;
    font-size: 2.8em;
    line-height: 1.28em;
    margin-bottom: 1em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span {
    display: block;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span .en {
    display: block;
    font-family: din-2014, sans-serif;
    min-height: auto;
    font-weight: 600;
    font-size: 0.71em;
    line-height: 1em;
    margin-top: 0.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title small {
    display: block;
    font-weight: 500;
    font-size: 0.64em;
    line-height: 1.33em;
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .text {
    font-size: 1.9em;
    line-height: 1.89em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .note {
    margin-top: 0.5em;
    font-size: 1.4em;
    line-height: 1;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col {
    display: block;
    width: 36.6em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 58em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col:has(.link) {
    padding-bottom: 5.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts {
    padding: 1.7em 2.5em 2.3em;
    height: calc(100% - 36.6em);
    display: grid;
    grid-template-rows: 9em auto auto;
    align-items: start;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title {
    height: fit-content;
    font-weight: 800;
    font-size: 1.8em;
    line-height: 1em;
    margin-bottom: 1.11em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.69em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .text {
    height: fit-content;
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data {
    margin-top: 3em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.7em;
    line-height: 1.23em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.4em;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 0.35em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link {
    position: absolute;
    right: 1.38em;
    bottom: 1.72em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.8em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/17.6em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    border-radius: 3em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic {
    width: 83.5em;
    height: auto;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts {
    color: #fff;
    width: 69em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .col_title {
    font-weight: 500;
    font-size: 3em;
    line-height: 1.33em;
    margin-bottom: 0.96em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info {
    display: block;
    margin-bottom: 2.5em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr + tr {
    margin-top: 1.4em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info th {
    background: #fff;
    color: #c02b33;
    display: block;
    width: 4.3em;
    text-align: center;
    font-weight: 600;
    font-size: 2em;
    line-height: 1.8em;
    letter-spacing: 0.03em;
    border-radius: 0.2em;
    margin-right: 1em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.63em;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .text {
    font-size: 1.8em;
    line-height: 2.55em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row#gp {
    margin-top: 16.5em;
  }
  .special_site_wrapper section#contents_section .row#gp .col {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    width: 110em;
    background: #fff;
    margin: 0 auto 0;
    padding: 6em 0 5em;
    border-radius: 3em;
    box-shadow: 0 3em 4em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .row#gp .gp_title {
    width: 100%;
    text-align: center;
    font-size: 3em;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 1.5em;
  }
  .special_site_wrapper section#contents_section .row#gp .texts {
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .row#gp .texts .text {
    font-size: 1.8em;
    line-height: 2;
    margin-top: -0.5em;
    text-align: center;
  }
  .special_site_wrapper section#topics_section .bg {
    background: url(../images/common/bg4.jpg?0925) center/cover;
  }
  body.modal_open {
    overflow: hidden;
  }
  body.modal_open .special_site_wrapper #modal {
    opacity: 1;
    pointer-events: auto;
  }
  html[lang=en] section#contents .row .col .texts .jp_title {
    display: none;
  }
  html[lang=en] section#contents .row .col .texts .info {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .special_site_wrapper .bg_twinkle {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
  }
  .special_site_wrapper section#kv {
    z-index: 0;
  }
  .special_site_wrapper section#kv .kv_pic {
    width: 100%;
    margin-top: -0.1rem;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .special_site_wrapper section#main_section {
    padding: 8.5em 0 10.4em;
    background: url(../images/201/bg1.jpg) center/cover;
    color: #fff;
  }
  .special_site_wrapper section#main_section .inner_wrap {
    width: 137.6em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .special_site_wrapper section#main_section .col1 {
    width: 77.6em;
    position: absolute;
    right: 0;
    top: 0;
  }
  .special_site_wrapper section#main_section .col1 .section_title {
    font-weight: 500;
    font-size: 4.5em;
    line-height: 1.22em;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .special_site_wrapper section#main_section .col1 .date {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 2.2em;
    line-height: 1.63em;
    margin-top: 1.63em;
  }
  .special_site_wrapper section#main_section .col1 .date .tag {
    display: block;
    width: 8.6em;
    background: #826d4c;
    font-size: 0.9em;
    line-height: 1.81em;
    letter-spacing: 0.03em;
    text-align: center;
    margin-right: 1.01em;
  }
  .special_site_wrapper section#main_section .col1 .text {
    font-weight: 400;
    font-size: 2.5em;
    line-height: 1.88em;
    letter-spacing: 0.05em;
    margin-top: 1.2em;
  }
  .special_site_wrapper section#main_section .col2 {
    width: 62.5em;
    padding-bottom: 22.9em;
  }
  .special_site_wrapper section#main_section .col2 .pic {
    width: 52.5em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .col2 .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#main_section .col2 .pic + .pic {
    margin-top: 3.4em;
  }
  .special_site_wrapper section#main_section .col2 .info {
    width: 100%;
    display: block;
    margin-top: 7em;
  }
  .special_site_wrapper section#main_section .col2 .info tr {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
  }
  .special_site_wrapper section#main_section .col2 .info tr + tr {
    margin-top: 2.7em;
  }
  .special_site_wrapper section#main_section .col2 .info th {
    background: #826d4c;
    display: block;
    width: 7.15em;
    text-align: center;
    font-weight: 400;
    font-size: 2em;
    line-height: 1.8em;
    letter-spacing: 0.03em;
    margin-right: 0.85em;
  }
  .special_site_wrapper section#main_section .col2 .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.36em;
    letter-spacing: 0.05em;
    width: calc(100% - 7.27em);
  }
  .special_site_wrapper section#main_section .col2 .note {
    margin-top: 2.14em;
    border-top: #fff 0.07em solid;
    padding-top: 0.85em;
    font-size: 1.4em;
    line-height: 1.78em;
    letter-spacing: 0.05em;
    padding-left: 1em;
    text-indent: -1em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor {
    margin-top: 6.5em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl {
    width: 26.6em;
    white-space: nowrap;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt, .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    font-size: 1.7em;
    line-height: 1.64em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt {
    font-weight: 500;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    letter-spacing: -0.05em;
    margin-left: 0;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) .logo {
    width: 14.9em;
    height: 12.7em;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) .logo img {
    width: 9.7em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) {
    margin-top: 1.8em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) .logo {
    width: 35.7em;
  }
  .special_site_wrapper section#main_section .map {
    width: 70.5em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .map:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section {
    background: #e40032;
    padding: 8em 0 16.5em;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 158.4em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .anchor_set {
    width: 100%;
    margin-bottom: 11em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7.4em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li {
    display: block;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a {
    display: block;
    width: fit-content;
    height: 1.71em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    font-size: 3.2em;
    text-decoration: underline;
    text-underline-offset: 0.8em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a:after {
    content: "";
    display: block;
    width: 1.71em;
    height: 1.71em;
    box-sizing: border-box;
    margin-left: 0.53em;
    background: url(../images/common/icon_anchor.svg) center/1.71em auto no-repeat;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a:hover:after {
    animation: anchor 1s ease-in-out 0s infinite;
  }
  .special_site_wrapper section#contents_section .row .deco {
    position: absolute;
    width: 49em;
    height: 56.1em;
    background: url(../images/201/deco.png) center/contain no-repeat;
  }
  .special_site_wrapper section#contents_section .row .deco.deco1 {
    width: 38.7em;
    height: 44.4em;
    right: -25.8em;
    top: -30.8em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco2 {
    width: 34.2em;
    height: 39.3em;
    left: -23.4em;
    bottom: -14.5em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco3 {
    width: 43.7em;
    height: 50.2em;
    right: -11.4em;
    top: -30.3em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco4 {
    right: -21.7em;
    bottom: -24.7em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco5 {
    left: -30.5em;
    top: 13em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco6 {
    width: 30.5em;
    height: 35em;
    right: -12.6em;
    top: 89em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco7 {
    width: 42.3em;
    height: 48.5em;
    left: -12em;
    bottom: 29.6em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco8 {
    right: -19.4em;
    bottom: -27em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco9 {
    width: 17.6em;
    height: 20.3em;
    left: 0;
    top: 5.2em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco10 {
    width: 17.6em;
    height: 20.3em;
    right: 0;
    top: 5.2em;
  }
  .special_site_wrapper section#contents_section .row .row_title {
    background: linear-gradient(180deg, #f8f9cf 10%, #f9e39f 50%, #f7e09c 60%, #ddc37f 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1;
    text-shadow: 0 0 3em rgba(0, 0, 0, 0.6);
    font-size: 4.4em;
    text-align: center;
    padding-left: 0.15em;
    margin-bottom: 1.36em;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 16.5em;
  }
  .special_site_wrapper section#contents_section .row.shops {
    z-index: 1;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col {
    display: block;
    width: 36.6em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 63em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col:has(.link) {
    padding-bottom: 5.2em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num {
    position: absolute;
    left: 0;
    top: 0;
    width: 2.25em;
    height: 2.25em;
    box-sizing: border-box;
    z-index: 1;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 4em;
    line-height: 1;
    padding: 0.3em 0 0 0.3em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-left: #16483c 1.125em solid;
    border-top: #16483c 1.125em solid;
    border-right: transparent 1.125em solid;
    border-bottom: transparent 1.125em solid;
    z-index: -1;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts {
    padding: 1.7em 2.5em 2.3em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .title_sub {
    font-weight: 600;
    font-size: 1.3em;
    line-height: 1em;
    margin-bottom: 1.07em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title {
    font-weight: 800;
    font-size: 1.8em;
    line-height: 1em;
    margin-bottom: 1.11em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.88em;
    line-height: 1em;
    margin-top: 0.63em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .text {
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data {
    margin-top: 3em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 2em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.7em;
    line-height: 1.23em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.4em;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 0.35em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link {
    position: absolute;
    right: 1.38em;
    bottom: 1.72em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.8em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .cap {
    padding: 0 2.08em;
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 500;
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/9.77em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 {
    display: flex;
    gap: 4.8em;
    margin-bottom: 5.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col {
    width: calc((100% - 5.4em) / 2);
    border-radius: 3em;
    background-color: rgb(255, 255, 255);
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    padding: 3.3em 3.5em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .pic {
    width: 100%;
    height: 46em;
    background: #808080;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts {
    width: 100%;
    padding: 0 1.5em;
    box-sizing: border-box;
    margin-top: 3em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title {
    font-weight: 800;
    font-size: 2.8em;
    line-height: 1.28em;
    margin-bottom: 1em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span {
    display: block;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span .en {
    display: block;
    font-family: din-2014, sans-serif;
    min-height: auto;
    font-weight: 600;
    font-size: 0.71em;
    line-height: 1em;
    margin-top: 0.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title small {
    display: block;
    font-weight: 500;
    font-size: 0.64em;
    line-height: 1.33em;
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .text {
    font-size: 1.9em;
    line-height: 1.89em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .note {
    margin-top: 0.5em;
    font-size: 1.4em;
    line-height: 1;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col {
    display: block;
    width: 36.6em;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 58em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col:has(.link) {
    padding-bottom: 5.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts {
    padding: 1.7em 2.5em 2.3em;
    height: calc(100% - 36.6em);
    display: grid;
    grid-template-rows: 9em auto auto;
    align-items: start;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title {
    height: fit-content;
    font-weight: 800;
    font-size: 1.8em;
    line-height: 1em;
    margin-bottom: 1.11em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.69em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .text {
    height: fit-content;
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data {
    margin-top: 3em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.7em;
    line-height: 1.23em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.4em;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 0.35em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link {
    position: absolute;
    right: 1.38em;
    bottom: 1.72em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.8em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/17.6em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    border-radius: 3em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic {
    width: 83.5em;
    height: auto;
    box-shadow: -2em 2.3em 3em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.5em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts {
    color: #fff;
    width: 69em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .col_title {
    font-weight: 500;
    font-size: 3em;
    line-height: 1.33em;
    margin-bottom: 0.96em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info {
    display: block;
    margin-bottom: 2.5em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr + tr {
    margin-top: 1.4em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info th {
    background: #fff;
    color: #c02b33;
    display: block;
    width: 4.3em;
    text-align: center;
    font-weight: 600;
    font-size: 2em;
    line-height: 1.8em;
    letter-spacing: 0.03em;
    border-radius: 0.2em;
    margin-right: 1em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.63em;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .text {
    font-size: 1.8em;
    line-height: 2.55em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row#gp {
    margin-top: 16.5em;
  }
  .special_site_wrapper section#contents_section .row#gp .col {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    width: 110em;
    background: #fff;
    margin: 0 auto 0;
    padding: 6em 0 5em;
    border-radius: 3em;
    box-shadow: 0 3em 4em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .row#gp .gp_title {
    width: 100%;
    text-align: center;
    font-size: 3em;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 1.5em;
  }
  .special_site_wrapper section#contents_section .row#gp .texts {
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .row#gp .texts .text {
    font-size: 1.8em;
    line-height: 2;
    margin-top: -0.5em;
    text-align: center;
  }
  .special_site_wrapper section#topics_section .bg {
    background: url(../images/common/bg4.jpg?0925) center/cover;
  }
  body.modal_open {
    overflow: hidden;
  }
  body.modal_open .special_site_wrapper #modal {
    opacity: 1;
    pointer-events: auto;
  }
  html[lang=en] section#contents .row .col .texts .jp_title {
    display: none;
  }
  html[lang=en] section#contents .row .col .texts .info {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .special_site_wrapper .bg_twinkle {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
  }
  .special_site_wrapper section#kv {
    z-index: 0;
  }
  .special_site_wrapper section#kv .kv_pic {
    margin-top: -0.1rem;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .special_site_wrapper section#main_section {
    padding: 2.5em 0 8em;
    background: url(../images/201/bg1_sp.jpg) center/cover;
    color: #fff;
  }
  .special_site_wrapper section#main_section .inner_wrap {
    width: 100%;
  }
  .special_site_wrapper section#main_section .col1 {
    width: 31.4em;
    margin: 0 auto;
    left: -0.2em;
  }
  .special_site_wrapper section#main_section .col1 .section_title {
    font-weight: 500;
    font-size: 2.25em;
    line-height: 1.22em;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .special_site_wrapper section#main_section .col1 .text {
    font-weight: 400;
    font-size: 1.5em;
    line-height: 1.9em;
    margin-top: 0.86em;
    letter-spacing: -0.02em;
  }
  .special_site_wrapper section#main_section .col1 .text .sp_nowrap {
    white-space: nowrap;
  }
  .special_site_wrapper section#main_section .col2 {
    margin-top: 2.1em;
  }
  .special_site_wrapper section#main_section .col2 .pic_set {
    width: 34.5em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .special_site_wrapper section#main_section .col2 .pic {
    width: 17em;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .col2 .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.25em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#main_section .col2 .info {
    width: 30.8em;
    display: block;
    margin: 2.9em auto 0;
  }
  .special_site_wrapper section#main_section .col2 .info tr {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
  }
  .special_site_wrapper section#main_section .col2 .info tr + tr {
    margin-top: 2.3em;
  }
  .special_site_wrapper section#main_section .col2 .info th {
    background: #826d4c;
    display: block;
    width: 8.2em;
    text-align: center;
    font-weight: 400;
    font-size: 1.15em;
    line-height: 1.73em;
    letter-spacing: 0.03em;
    margin-right: 0.86em;
  }
  .special_site_wrapper section#main_section .col2 .info td {
    white-space: nowrap;
    font-size: 1.4em;
    line-height: 1.35em;
    width: calc(100% - 6.57em);
    letter-spacing: -0.05em;
  }
  .special_site_wrapper section#main_section .col2 .note {
    width: 28em;
    margin: 2.36em auto 0;
    border-top: #fff 0.09em solid;
    padding-top: 0.72em;
    font-size: 1.1em;
    line-height: 1.59em;
    letter-spacing: 0;
    padding-left: 1em;
    text-indent: -1em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor {
    color: #fff;
    width: 30.8em;
    margin: 3em auto 0;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row {
    width: 100%;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl {
    width: fit-content;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt, .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    width: fit-content;
    font-size: 1.2em;
    line-height: 1.41em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dt {
    font-weight: 500;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row dl dd {
    letter-spacing: 0;
    margin-left: 0;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.8em 3.5em 0.8em 0em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(1) .logo {
    width: 6.6em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) {
    margin-top: 1.15em;
    padding: 1.25em 0 0 1.5em;
  }
  .special_site_wrapper section#main_section .col2 .sponsor .row:nth-child(2) .logo {
    width: 29.95em;
    margin-top: 0.55em;
    left: -1.05em;
  }
  .special_site_wrapper section#main_section .map {
    margin: 2.9em auto 0;
    width: 35em;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  .special_site_wrapper section#main_section .map:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.25em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section {
    overflow: hidden;
    background: #e40032;
    padding: 2.9em 0 5.8em;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 34.3em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .anchor_set {
    width: 100%;
    margin-bottom: 4.8em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul {
    width: 30.6em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2.6em 2.4em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li {
    display: block;
    width: fit-content;
    min-width: 10.5em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a {
    display: block;
    width: fit-content;
    height: 1.72em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    font-size: 1.68em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .anchor_set ul li a:after {
    content: "";
    display: block;
    width: 1.72em;
    height: 1.72em;
    box-sizing: border-box;
    margin-left: 0.53em;
    background: url(../images/common/icon_anchor.svg) center/1.72em auto no-repeat;
  }
  .special_site_wrapper section#contents_section .row .deco {
    position: absolute;
    width: 14.1em;
    height: 16.15em;
    background: url(../images/201/deco.png) center/contain no-repeat;
  }
  .special_site_wrapper section#contents_section .row .deco.deco1 {
    right: -5.8em;
    top: -8.6em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco2 {
    left: -6.8em;
    bottom: 35.3em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco3 {
    right: -4.6em;
    top: 85em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco4 {
    left: -4.3em;
    bottom: 90em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco5 {
    left: -6.9em;
    top: -2.1em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco6 {
    right: -3em;
    top: 98em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco7 {
    left: -2.1em;
    bottom: -5.4em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco8 {
    right: -3.8em;
    top: 10em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco9 {
    left: -8em;
    top: -5em;
  }
  .special_site_wrapper section#contents_section .row .deco.deco10 {
    right: -8em;
    bottom: -5em;
  }
  .special_site_wrapper section#contents_section .row .row_title {
    background: linear-gradient(180deg, #f8f9cf 10%, #f9e39f 50%, #f7e09c 60%, #ddc37f 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1;
    text-shadow: 0 0 3em rgba(0, 0, 0, 0.6);
    font-size: 2.1em;
    text-align: center;
    padding-left: 0.07em;
    margin-bottom: 2.14em;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 5.9em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col {
    width: 16.4em;
    display: block;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 33.25em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col:has(.link) {
    padding-bottom: 3em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col + .col + .col {
    margin-top: 1.9em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num {
    position: absolute;
    left: 0;
    top: 0;
    width: 2.23em;
    height: 2.23em;
    box-sizing: border-box;
    z-index: 1;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 1.79em;
    line-height: 1;
    padding: 0.3em 0 0 0.41em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .num:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-left: #16483c 1.1em solid;
    border-top: #16483c 1.1em solid;
    border-right: transparent 1.1em solid;
    border-bottom: transparent 1.1em solid;
    z-index: -1;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.25em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts {
    padding: 0.85em 0.9em 2.5em 1.1em;
    height: calc(100% - 16.4em);
    display: grid;
    align-items: start;
    grid-template-rows: 1.5em 4.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts.sp3 {
    grid-template-rows: 1.5em 6em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts.sp3-2 {
    grid-template-rows: 3em 6em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts.sp4 {
    grid-template-rows: 1.5em 7.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts.sp4-2 {
    grid-template-rows: 3em 7.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts.sp2-notag {
    grid-template-rows: 4.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .title_sub {
    font-weight: 600;
    font-size: 0.85em;
    line-height: 1.4;
    margin-bottom: 1em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title {
    font-weight: 800;
    font-size: 1.25em;
    line-height: 1.4;
    margin-bottom: 0.8em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.88em;
    line-height: 1em;
    margin-top: 0.45em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .text {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data {
    margin-top: 2em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
    margin-top: 0.18em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link {
    position: absolute;
    right: 1em;
    bottom: 1.45em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.1em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col .cap {
    padding: 0 1em;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 400;
    color: #901925;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 1.45em;
    margin: auto;
  }
  .special_site_wrapper section#contents_section .row.shops .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/8em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col {
    width: 100%;
    border-radius: 1.5em;
    background-color: rgb(255, 255, 255);
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    padding: 1.65em 1.7em 2.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col:nth-of-type(n+2) {
    margin-top: 2.9em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .pic {
    width: 100%;
    height: 21.5em;
    background: #808080;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts {
    margin-top: 1.5em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title {
    white-space: nowrap;
    font-weight: 800;
    font-size: 1.5em;
    line-height: 1.33em;
    margin-bottom: 0.93em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span {
    display: block;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title span .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.88em;
    line-height: 1em;
    margin-top: 0.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .col_title small {
    display: block;
    font-weight: 600;
    font-size: 0.86em;
    margin-top: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .text {
    font-size: 1.3em;
    line-height: 1.53em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap2 .col .texts .note {
    margin-top: 1.81em;
    font-size: 1.1em;
    line-height: 1;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 12em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col {
    width: 16.4em;
    display: block;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    background: #fff;
    min-height: 33.25em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col:has(.link) {
    padding-bottom: 4.2em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col + .col + .col {
    margin-top: 1.9em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.25em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts {
    padding: 0.85em 0.9em 2.5em 1.1em;
    height: calc(100% - 16.4em);
    display: grid;
    align-items: start;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts.sp2 {
    grid-template-rows: 4.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts.sp3 {
    grid-template-rows: 6em auto auto;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts.sp4 {
    grid-template-rows: 7.5em auto auto;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title {
    font-weight: 800;
    font-size: 1.25em;
    line-height: 1.4;
    margin-bottom: 0.8em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .col_title .en {
    display: block;
    font-family: din-2014, sans-serif;
    font-weight: 800;
    font-size: 0.88em;
    line-height: 1em;
    margin-top: 0.45em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .text {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data {
    margin-top: 2em;
    align-self: end;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set:nth-of-type(n+2) {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_title {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
    color: #c02b33;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .texts .data .data_set .data_text {
    font-size: 1.1em;
    line-height: 1.54em;
    font-weight: 500;
    margin-top: 0.18em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link {
    position: absolute;
    right: 1em;
    bottom: 1.45em;
    width: fit-content;
    color: #901925;
    font-weight: 500;
    font-size: 1.1em;
    line-height: 1em;
    text-decoration: underline;
    text-underline-offset: 0.4em;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col .link a {
    color: #901925;
  }
  .special_site_wrapper section#contents_section .row.topics .flex_wrap .col.blank {
    background: url(../images/201/deco.png) center/16em auto no-repeat;
    box-shadow: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic {
    width: 100%;
    height: auto;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .row.booth .col .pic:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff 0.25em solid;
    pointer-events: none;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts {
    margin: 2.4em auto 0;
    color: #fff;
    width: 30.7em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .col_title {
    font-weight: 500;
    font-size: 1.6em;
    line-height: 1.46em;
    margin-bottom: 1.25em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info {
    display: block;
    margin-bottom: 2.5em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info tr + tr {
    margin-top: 0.8em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info th {
    background: #fff;
    color: #c02b33;
    display: block;
    width: 4.34em;
    text-align: center;
    font-weight: 600;
    font-size: 1.15em;
    line-height: 1.73em;
    letter-spacing: 0.03em;
    border-radius: 0.17em;
    margin-right: 1.08em;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .info td {
    white-space: nowrap;
    font-size: 1.4em;
    line-height: 1.35em;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .row.booth .col .texts .text {
    font-size: 1.4em;
    line-height: 1.71em;
    font-weight: 500;
  }
  .special_site_wrapper section#contents_section .row#gp {
    margin-top: 6em;
  }
  .special_site_wrapper section#contents_section .row#gp .col {
    background: #fff;
    border-radius: 1.5em;
    box-shadow: -1em 1.15em 1.5em 0 rgba(0, 0, 0, 0.5);
    padding: 3.4em 0 3.2em;
  }
  .special_site_wrapper section#contents_section .row#gp .col .gp_title {
    width: 100%;
    text-align: center;
    font-size: 1.8em;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 1.16em;
  }
  .special_site_wrapper section#contents_section .row#gp .col .texts {
    width: 29em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .row#gp .col .texts .text {
    font-size: 1.05em;
    line-height: 2.3em;
    letter-spacing: -0.05em;
  }
  .special_site_wrapper section#topics_section .bg {
    background: url(../images/common/bg4_sp.jpg?0925) center/cover;
  }
  body.modal_open {
    overflow: hidden;
  }
  .modal_open .special_site_wrapper #modal {
    opacity: 1;
    pointer-events: auto;
  }
  html[lang=en] section#intro .texts .main_copy {
    font-size: 1.6em;
    letter-spacing: 0.05em;
  }
  html[lang=en] section#contents .row .col .texts .jp_title {
    display: none;
  }
  html[lang=en] section#contents .row .col .texts .info {
    margin-top: 0;
  }
}