.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#contents_section {
    background: url(../images/common/bg5.jpg) center top/cover no-repeat;
    padding: 8em 0 12.6em;
    color: #fff;
    margin-top: -0.1rem;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 93.4em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 12.8em;
  }
  .special_site_wrapper section#contents_section .pic {
    width: 109em;
    margin-left: calc(50% - 54.5em);
    background: #808080;
    box-shadow: -2em 2.3em 4em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .pic:not(:has(img)) {
    height: 67.6em;
  }
  .special_site_wrapper section#contents_section .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 .pic + .row_title {
    margin-top: 5.7em;
  }
  .special_site_wrapper section#contents_section .pic + .info {
    margin-top: 5.5em;
  }
  .special_site_wrapper section#contents_section .pic.map {
    margin-top: 12.8em;
  }
  .special_site_wrapper section#contents_section .row_title {
    font-size: 1em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row_title .en {
    display: block;
    font-weight: 500;
    font-size: 3.6em;
  }
  .special_site_wrapper section#contents_section .row_title .jp {
    display: block;
    font-weight: 500;
    font-size: 1.6em;
  }
  .special_site_wrapper section#contents_section .row_title .en + .jp {
    margin-top: 1.2em;
  }
  .special_site_wrapper section#contents_section .row_title + .info {
    margin-top: 2.1em;
  }
  .special_site_wrapper section#contents_section .row_title + .text {
    margin-top: 2.72em;
  }
  .special_site_wrapper section#contents_section .info {
    display: block;
  }
  .special_site_wrapper section#contents_section .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .special_site_wrapper section#contents_section .info tr + tr {
    margin-top: 1.4em;
  }
  .special_site_wrapper section#contents_section .info th {
    background: #fff;
    color: #991f1f;
    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 .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.8em;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .info + .main_copy {
    margin-top: 2.3em;
  }
  .special_site_wrapper section#contents_section .info + .text {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .main_copy {
    font-weight: 600;
    font-size: 2.6em;
    line-height: 1.46em;
  }
  .special_site_wrapper section#contents_section .main_copy + .main_copy {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .main_copy + .text {
    margin-top: 2.72em;
  }
  .special_site_wrapper section#contents_section .text {
    font-size: 2.2em;
    line-height: 2.09em;
    font-weight: 400;
  }
  .special_site_wrapper section#contents_section .text + .note {
    margin-top: 1.36em;
  }
  .special_site_wrapper section#contents_section .note {
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 300;
  }
  .special_site_wrapper section#contents_section .cap_row {
    width: 54.5em;
    margin-left: auto;
    margin-right: calc(50% - 54.5em);
    margin-top: 15em;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_title {
    font-size: 2.2em;
    line-height: 2.09em;
    font-weight: 600;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_text {
    font-size: 1.8em;
    line-height: 2.22em;
    font-weight: 400;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  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#contents_section {
    background: url(../images/common/bg5.jpg) center top/cover no-repeat;
    padding: 8em 0 12.6em;
    color: #fff;
    margin-top: -0.1rem;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 93.4em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 12.8em;
  }
  .special_site_wrapper section#contents_section .pic {
    width: 109em;
    margin-left: calc(50% - 54.5em);
    background: #808080;
    box-shadow: -2em 2.3em 4em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .pic:not(:has(img)) {
    height: 67.6em;
  }
  .special_site_wrapper section#contents_section .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 .pic + .row_title {
    margin-top: 5.7em;
  }
  .special_site_wrapper section#contents_section .pic + .info {
    margin-top: 5.5em;
  }
  .special_site_wrapper section#contents_section .pic.map {
    margin-top: 12.8em;
  }
  .special_site_wrapper section#contents_section .row_title {
    font-size: 1em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row_title .en {
    display: block;
    font-weight: 500;
    font-size: 3.6em;
  }
  .special_site_wrapper section#contents_section .row_title .jp {
    display: block;
    font-weight: 500;
    font-size: 1.6em;
  }
  .special_site_wrapper section#contents_section .row_title .en + .jp {
    margin-top: 1.2em;
  }
  .special_site_wrapper section#contents_section .row_title + .info {
    margin-top: 2.1em;
  }
  .special_site_wrapper section#contents_section .row_title + .text {
    margin-top: 2.72em;
  }
  .special_site_wrapper section#contents_section .info {
    display: block;
  }
  .special_site_wrapper section#contents_section .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .special_site_wrapper section#contents_section .info tr + tr {
    margin-top: 1.4em;
  }
  .special_site_wrapper section#contents_section .info th {
    background: #fff;
    color: #991f1f;
    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 .info td {
    white-space: nowrap;
    font-size: 2.2em;
    line-height: 1.8em;
    width: fit-content;
  }
  .special_site_wrapper section#contents_section .info + .main_copy {
    margin-top: 2.3em;
  }
  .special_site_wrapper section#contents_section .info + .text {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .main_copy {
    font-weight: 600;
    font-size: 2.6em;
    line-height: 1.46em;
  }
  .special_site_wrapper section#contents_section .main_copy + .main_copy {
    margin-top: 1em;
  }
  .special_site_wrapper section#contents_section .main_copy + .text {
    margin-top: 2.72em;
  }
  .special_site_wrapper section#contents_section .text {
    font-size: 2.2em;
    line-height: 2.09em;
    font-weight: 400;
  }
  .special_site_wrapper section#contents_section .text + .note {
    margin-top: 1.36em;
  }
  .special_site_wrapper section#contents_section .note {
    font-size: 1.4em;
    line-height: 1.78em;
    font-weight: 300;
  }
  .special_site_wrapper section#contents_section .cap_row {
    width: 54.5em;
    margin-left: auto;
    margin-right: calc(50% - 54.5em);
    margin-top: 15em;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_title {
    font-size: 2.2em;
    line-height: 2.09em;
    font-weight: 600;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_text {
    font-size: 1.8em;
    line-height: 2.22em;
    font-weight: 400;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  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#contents_section {
    background: url(../images/common/bg5_sp.jpg) center top/cover no-repeat;
    padding: 6.4em 0;
    color: #fff;
    margin-top: -0.1rem;
  }
  .special_site_wrapper section#contents_section .inner_wrap {
    width: 30.1em;
    margin: 0 auto;
  }
  .special_site_wrapper section#contents_section .row + .row {
    margin-top: 7.5em;
  }
  .special_site_wrapper section#contents_section .pic {
    width: 33.2em;
    margin-left: calc(50% - 16.6em);
    background: #808080;
    box-shadow: -1em 1.15em 2em 0 rgba(0, 0, 0, 0.5);
  }
  .special_site_wrapper section#contents_section .pic:not(:has(img)) {
    height: 20.5em;
  }
  .special_site_wrapper section#contents_section .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 .pic + .row_title {
    margin-top: 3.2em;
  }
  .special_site_wrapper section#contents_section .pic + .info {
    margin-top: 3.5em;
  }
  .special_site_wrapper section#contents_section .pic.map {
    width: 37.5em;
    margin-top: 7.5em;
    margin-left: calc(50% - 18.75em);
  }
  .special_site_wrapper section#contents_section .row_title {
    font-size: 1em;
    color: #fff;
  }
  .special_site_wrapper section#contents_section .row_title .en {
    display: block;
    font-weight: 500;
    font-size: 2.4em;
    line-height: 1.25em;
  }
  .special_site_wrapper section#contents_section .row_title .jp {
    display: block;
    font-weight: 500;
    font-size: 1.15em;
  }
  .special_site_wrapper section#contents_section .row_title .en + .jp {
    margin-top: 0.6em;
  }
  .special_site_wrapper section#contents_section .row_title + .info {
    margin-top: 2.4em;
  }
  .special_site_wrapper section#contents_section .row_title + .text {
    margin-top: 1.5em;
  }
  .special_site_wrapper section#contents_section .info {
    display: block;
  }
  .special_site_wrapper section#contents_section .info tr {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: center;
  }
  .special_site_wrapper section#contents_section .info tr.start {
    align-items: start;
  }
  .special_site_wrapper section#contents_section .info tr + tr {
    margin-top: 0.8em;
  }
  .special_site_wrapper section#contents_section .info th {
    background: #fff;
    color: #991f1f;
    display: block;
    width: 4.17em;
    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 .info td {
    font-size: 1.4em;
    line-height: 1.35em;
    width: calc(100% - 4em);
  }
  .special_site_wrapper section#contents_section .info + .main_copy {
    margin-top: 1.93em;
  }
  .special_site_wrapper section#contents_section .info + .text {
    margin-top: 1.85em;
  }
  .special_site_wrapper section#contents_section .main_copy {
    font-weight: 500;
    font-size: 1.5em;
    line-height: 1.5em;
  }
  .special_site_wrapper section#contents_section .main_copy + .main_copy {
    margin-top: 0.8em;
  }
  .special_site_wrapper section#contents_section .main_copy + .text {
    margin-top: 2em;
  }
  .special_site_wrapper section#contents_section .text {
    font-size: 1.4em;
    line-height: 1.71em;
  }
  .special_site_wrapper section#contents_section .text + .note {
    margin-top: 1.45em;
  }
  .special_site_wrapper section#contents_section .note {
    font-size: 1.1em;
    line-height: 1.59em;
    font-weight: 300;
  }
  .special_site_wrapper section#contents_section .note li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .special_site_wrapper section#contents_section .note li + li {
    margin-top: 0.45em;
  }
  .special_site_wrapper section#contents_section .cap_row {
    margin-top: 5em;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_title {
    font-size: 1.3em;
    line-height: 1.84em;
    font-weight: 600;
  }
  .special_site_wrapper section#contents_section .cap_row .cap_text {
    font-size: 1.1em;
    line-height: 2.08em;
    font-weight: 400;
  }
  .special_site_wrapper section .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  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;
  }
}