@charset "UTF-8";
@view-transition {
  navigation: auto;
}
html, body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}
html *, body * {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  color: #4D4D4D;
}
@media screen and (min-width: 501px) {
  body {
    padding-top: 50px;
    position: relative;
    background-image: url(../images/bg-pc.jpg);
    background-size: 100%;
    background-position: top left;
    background-repeat: repeat;
  }
}
body.locked {
  position: fixed;
  overflow-y: scroll;
  top: 0;
  width: 100%;
}
body.locked .bg {
  opacity: 1;
}
body.locked #nav-pc nav {
  opacity: 0;
}
body.locked .mv__slides {
  visibility: hidden;
}
body.locked #contest {
  opacity: 0;
}

.en {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

a {
  color: #4D4D4D;
  text-decoration: none;
}
a:hover {
  color: inherit;
}

em {
  font-style: normal;
}

@media screen and (min-width: 501px) {
  .for-mb {
    display: none !important;
  }
}

@media screen and (max-width: 980px) {
  .for-pc {
    display: none !important;
  }
}
@media screen and (min-width: 501px) {
  .for-pc {
    display: auto;
  }
}

@media screen and (min-width: 501px) {
  img.for-pc {
    display: inline;
  }
}

.fadein {
  visibility: hidden;
}
.fadein.disabled {
  visibility: hidden;
}

.pop {
  position: relative;
  width: 74.667dvw;
  padding: 2.667dvw 0 3.733dvw;
  margin-left: auto;
  margin-right: auto;
  border-radius: 9999px;
  background-color: #fff;
  text-align: center;
}
@media screen and (min-width: 501px) {
  .pop {
    width: 373px;
    padding: 13px 0 19px;
  }
}
.pop::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 4.8dvw;
  height: 4.267dvw;
  transform: translateX(-50%);
  box-sizing: border-box;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (min-width: 501px) {
  .pop::after {
    width: 24px;
    height: 21px;
  }
}

.marker {
  padding-left: 1.333dvw;
  padding-right: 1.333dvw;
  background: linear-gradient(transparent 75%, #F8E9B2 0%);
}
@media screen and (min-width: 501px) {
  .marker {
    padding-left: 7px;
    padding-right: 7px;
  }
}

.separator {
  display: block;
  margin: 6.667dvw auto;
  height: 0.8dvw;
}
@media screen and (min-width: 501px) {
  .separator {
    margin: 33px auto;
    height: 4px;
  }
}

.notes {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 4dvw;
  line-height: 1.73;
}
@media screen and (min-width: 501px) {
  .notes {
    font-size: 20px;
  }
}
.notes li {
  margin-left: 4.533dvw;
  text-indent: -4.533dvw;
}
@media screen and (min-width: 501px) {
  .notes li {
    margin-left: 23px;
    text-indent: -23px;
  }
}
.notes li::before {
  content: "●";
  margin-right: 1.333dvw;
}
@media screen and (min-width: 501px) {
  .notes li::before {
    margin-right: 7px;
  }
}

.numlist {
  margin: 0;
  padding: 0;
  counter-reset: original-counter;
  list-style: none;
}
.numlist li {
  text-indent: calc(-1em - 1.333dvw);
  padding-left: calc(1em + 1.333dvw);
}
@media screen and (min-width: 501px) {
  .numlist li {
    text-indent: calc(-1em - 7px);
    padding-left: calc(1em + 7px);
  }
}
.numlist li::first-letter {
  margin-right: 1.333dvw;
}
@media screen and (min-width: 501px) {
  .numlist li::first-letter {
    margin-right: 7px;
  }
}

@media screen and (min-width: 501px) {
  .bg {
    background-image: url(../images/bg-pc.jpg);
    background-size: 100vw 100vh;
    background-repeat: no-repeat;
    display: block;
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100vw;
  }
}

#nav-pc {
  display: none;
  transition: opacity 0.5s 0.5s;
}
@media screen and (max-width: 1000px) {
  #nav-pc nav {
    opacity: 0;
  }
}
@media screen and (min-width: 501px) {
  #nav-pc {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100vw;
    background-image: url(../images/mv-bg-pc.png);
    background-size: auto, cover;
    background-position: top center, top left;
    background-repeat: no-repeat;
  }
  #nav-pc nav {
    position: absolute;
    z-index: 0;
    top: 180px;
    right: calc(50% + 310px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 30px;
  }
  #nav-pc nav a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    transition: 0.3s;
    white-space: nowrap;
  }
  #nav-pc nav a:hover {
    color: #91897A;
  }
  #nav-pc nav a.dammy {
    color: #BDB39C;
  }
}

@media screen and (min-width: 501px) {
  .shadow {
    position: absolute;
    inset: 50px 0 0;
    box-shadow: 0 0 50px #DBD8CD;
    mix-blend-mode: multiply;
    width: 500px;
    margin: 0 auto 0;
  }
}

@media screen and (min-width: 501px) {
  #wrapper {
    position: relative;
    z-index: 1;
    background-image: url(../images/bg.jpg);
    width: 500px;
    margin: 0 auto 0;
  }
}

#main {
  background-image: url(../images/bg.jpg);
  background-size: 100% auto;
}

#mv {
  position: relative;
}

.mv__load {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
.mv__load img {
  position: absolute;
  opacity: 0;
}
.mv__load .load1 {
  width: 4dvw;
  top: -10.933dvw;
  left: 11.733dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load1 {
    width: 20px;
    top: -55px;
    left: 59px;
  }
}
.mv__load .load2 {
  width: 4dvw;
  top: -15.467dvw;
  left: 25.867dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load2 {
    width: 20px;
    top: -77px;
    left: 129px;
  }
}
.mv__load .load3 {
  width: 4.267dvw;
  top: 1.067dvw;
  left: 33.867dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load3 {
    width: 21px;
    top: 5px;
    left: 169px;
  }
}
.mv__load .load4 {
  width: 4dvw;
  top: -14.667dvw;
  left: 53.867dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load4 {
    width: 20px;
    top: -73px;
    left: 269px;
  }
}
.mv__load .load5 {
  width: 5.067dvw;
  top: -0.8dvw;
  left: 66.933dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load5 {
    width: 25px;
    top: -4px;
    left: 335px;
  }
}
.mv__load .load6 {
  width: 8dvw;
  top: 0.533dvw;
  left: 82.133dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load6 {
    width: 40px;
    top: 3px;
    left: 411px;
  }
}
.mv__load .load7 {
  width: 4dvw;
  top: -1.333dvw;
  left: 94.667dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load7 {
    width: 20px;
    top: -7px;
    left: 473px;
  }
}
.mv__load .load8 {
  width: 5.333dvw;
  top: 46.133dvw;
  left: 1.6dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load8 {
    width: 27px;
    top: 231px;
    left: 8px;
  }
}
.mv__load .load9 {
  width: 4dvw;
  top: 42.933dvw;
  left: 20dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load9 {
    width: 20px;
    top: 215px;
    left: 100px;
  }
}
.mv__load .load10 {
  width: 4dvw;
  top: 57.867dvw;
  left: 47.733dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load10 {
    width: 20px;
    top: 289px;
    left: 239px;
  }
}
.mv__load .load11 {
  width: 4dvw;
  top: 36dvw;
  left: 94.933dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load11 {
    width: 20px;
    top: 180px;
    left: 475px;
  }
}
.mv__load .load12 {
  width: 4.8dvw;
  top: 112.267dvw;
  left: 8dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load12 {
    width: 24px;
    top: 561px;
    left: 40px;
  }
}
.mv__load .load13 {
  width: 4dvw;
  top: 138.933dvw;
  left: 22.133dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load13 {
    width: 20px;
    top: 695px;
    left: 111px;
  }
}
.mv__load .load14 {
  width: 5.333dvw;
  top: 104.533dvw;
  left: 34.133dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load14 {
    width: 27px;
    top: 523px;
    left: 171px;
  }
}
.mv__load .load15 {
  width: 4dvw;
  top: 125.333dvw;
  left: 51.733dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load15 {
    width: 20px;
    top: 627px;
    left: 259px;
  }
}
.mv__load .load16 {
  width: 5.333dvw;
  top: 75.467dvw;
  left: 76.8dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load16 {
    width: 27px;
    top: 377px;
    left: 384px;
  }
}
.mv__load .load17 {
  width: 4dvw;
  top: 112.267dvw;
  left: 89.6dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load17 {
    width: 20px;
    top: 561px;
    left: 448px;
  }
}
.mv__load .load18 {
  width: 3.467dvw;
  top: 89.867dvw;
  left: 63.467dvw;
}
@media screen and (min-width: 501px) {
  .mv__load .load18 {
    width: 17px;
    top: 449px;
    left: 317px;
  }
}

.mv__fv {
  overflow: visible;
}
.mv__fv .logo {
  padding-top: 2.249svh;
  padding-left: 4dvw;
  transition: opacity 0.5s 1.5s;
  position: relative;
}
@media screen and (min-width: 501px) {
  .mv__fv .logo {
    padding-top: 20px;
    padding-left: 20px;
  }
}
.mv__fv .logo img {
  aspect-ratio: 95/36;
  width: auto;
  max-height: 5.397svh;
}
@media screen and (min-width: 501px) {
  .mv__fv .logo img {
    width: 127px;
    max-height: unset;
  }
}

.mv__title {
  aspect-ratio: 232/530;
  width: 61.867dvw;
  max-height: 79.46svh;
  position: relative;
  margin: 2.699svh auto 3.448svh;
}
@media screen and (min-width: 501px) {
  .mv__title {
    width: 309px;
    max-height: unset;
    margin: 24px auto 31px;
  }
}
.mv__title::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-image: url(../images/mv-title-bg.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  transition: opacity 0.5s 0.5s;
  opacity: 0;
}
.mv__title img {
  position: absolute;
  inset: 0;
  margin: auto;
  aspect-ratio: 124/385;
  width: 33.067dvw;
  opacity: 0;
}
@media screen and (min-width: 501px) {
  .mv__title img {
    width: 165px;
    max-height: unset;
  }
}

.mv__slides {
  position: absolute;
  inset: 0;
  aspect-ratio: 375/667;
  max-width: 500px;
  max-height: 100svh;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 501px) {
  .mv__slides {
    max-height: unset;
  }
}

.mv__slide {
  position: absolute;
  inset: 0;
}
.mv__slide img {
  width: 20%;
  position: absolute;
}
@media screen and (min-width: 501px) {
  .mv__slide img {
    width: 100px;
  }
}
.mv__slide .fva1 {
  top: min(43.328svh, 77.067dvw);
  left: 70.667%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fva1 {
    top: 385px;
    left: 353px;
  }
}
.mv__slide .fva2 {
  top: min(17.841svh, 31.733dvw);
  left: 9.333%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fva2 {
    top: 159px;
    left: 47px;
  }
}
.mv__slide .fva3 {
  top: min(7.496svh, 13.333dvw);
  left: 70.667%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fva3 {
    top: 67px;
    left: 353px;
  }
}
.mv__slide .fvb1 {
  top: min(64.168svh, 114.133dvw);
  left: 9.333%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvb1 {
    top: 571px;
    left: 47px;
  }
}
.mv__slide .fvb2 {
  top: min(24.588svh, 43.733dvw);
  left: 70.667%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvb2 {
    top: 219px;
    left: 353px;
  }
}
.mv__slide .fvb3 {
  top: min(11.394svh, 20.267dvw);
  left: 9.333%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvb3 {
    top: 101px;
    left: 47px;
  }
}
.mv__slide .fvc1 {
  top: min(42.579svh, 75.733dvw);
  left: 9.333%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvc1 {
    top: 379px;
    left: 47px;
  }
}
.mv__slide .fvc2 {
  top: min(20.99svh, 37.333dvw);
  left: 70.667%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvc2 {
    top: 187px;
    left: 353px;
  }
}
.mv__slide .fvc3 {
  top: min(11.244svh, 20dvw);
  left: 9.333%;
}
@media screen and (min-width: 501px) {
  .mv__slide .fvc3 {
    top: 100px;
    left: 47px;
  }
}

.scroll {
  text-align: center;
  transition: opacity 0.5s 1.5s;
  opacity: 0;
}
.scroll .scroll__label {
  display: inline-block;
  margin-bottom: 2dvw;
  font-size: min(2.099svh, 3.733dvw);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
}
@media screen and (min-width: 501px) {
  .scroll .scroll__label {
    margin-bottom: 10px;
    font-size: 19px;
  }
}
.scroll::after {
  content: "";
  display: block;
  width: 1px;
  height: 10.667dvw;
  background: #4D4D4D;
  margin: 0 auto;
}
@media screen and (min-width: 501px) {
  .scroll::after {
    height: 53px;
  }
}

.sec__head {
  text-align: center;
  font-weight: 700;
  font-size: 6.933dvw;
  letter-spacing: 0.05em;
  line-height: 1.73;
  margin-bottom: 9.333dvw;
}
@media screen and (min-width: 501px) {
  .sec__head {
    font-size: 35px;
    margin-bottom: 47px;
  }
}
.sec__head small {
  font-size: 4.8dvw;
}
@media screen and (min-width: 501px) {
  .sec__head small {
    font-size: 24px;
  }
}

body.top .mv__fv::before {
  transition: opacity 0.5s 0.5s;
  opacity: 0;
}
body.top .mv__fv.active::before {
  opacity: 1;
}
body.top .mv__fv.active .logo {
  opacity: 1;
}
body.top .mv__fv.active .mv__title::before {
  opacity: 1;
}
body.top .mv__fv.active .scroll {
  opacity: 1;
}
body.top .mv__fv .logo {
  transition: opacity 0.5s 1.5s;
  opacity: 0;
}
body.top .mv__fv .logo::before {
  content: "";
  aspect-ratio: 375/703;
  position: absolute;
  z-index: 0;
  inset: 0;
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url(../images/mv-bg.png);
}
body.top .mv__fv .logo img {
  position: relative;
  z-index: 1;
}
body.top #lede {
  margin-top: 16dvw;
}
@media screen and (min-width: 501px) {
  body.top #lede {
    margin-top: 80px;
  }
}
body.top #lede .inner {
  width: 66.667dvw;
  margin-left: auto;
  margin-right: auto;
  font-size: 4.267dvw;
}
@media screen and (min-width: 501px) {
  body.top #lede .inner {
    width: 333px;
    font-size: 21px;
  }
}
body.top #report {
  background-image: url(../images/contest-bg1.png), url(../images/contest-bg2.png), url(../images/contest-bg3.png), url(../images/contest-bg4.png), url(../images/contest-bg5.png);
  background-position: top 101.067dvw right, top 275.2dvw left, top 472.267dvw left, top 609.867dvw right, top 707.2dvw right;
  background-size: 47.2dvw 44.267dvw, 100dvw 81.333dvw, 88.8dvw 39.2dvw, 77.067dvw 29.067dvw, 51.733dvw 23.467dvw;
  background-repeat: no-repeat;
  padding-top: 12dvw;
  padding-bottom: 16dvw;
}
@media screen and (min-width: 501px) {
  body.top #report {
    background-position: top 505px right, top 1376px left, top 2361px left, top 3049px right, top 3536px right;
    background-size: 236px 221px, 500px 407px, 444px 196px, 385px 145px, 259px 117px;
    padding-top: 84px;
    padding-bottom: 80px;
  }
}
body.top #report .inner {
  width: 85.333dvw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 501px) {
  body.top #report .inner {
    width: 427px;
  }
}
body.top #report .catch {
  font-size: 3.467dvw;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 8.267dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .catch {
    font-size: 17px;
    margin-bottom: 13px;
  }
}
body.top #report .reports {
  display: flex;
  flex-direction: column;
  gap: 20dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports {
    gap: 100px;
  }
}
body.top #report .reports .report__item .subject {
  font-weight: 700;
  font-size: 4.8dvw;
  margin-bottom: 2.667dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .subject {
    font-size: 24px;
    margin-bottom: 13px;
  }
}
body.top #report .reports .report__item .subject small {
  font-size: 3.2dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .subject small {
    font-size: 16px;
  }
}
body.top #report .reports .report__item .link {
  text-align: right;
  margin-bottom: 3.733dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .link {
    margin-bottom: 19px;
  }
}
body.top #report .reports .report__item .link a {
  display: inline-block;
  border-radius: 9999px;
  display: inline-flex;
  gap: 3.733dvw;
  padding: 2.267dvw 3.733dvw;
  font-size: 3.733dvw;
  box-shadow: 0 0 10px #d1cfc8;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .link a {
    gap: 19px;
    padding: 11px 19px;
    font-size: 19px;
    transition: opacity 0.3s;
  }
  body.top #report .reports .report__item .link a:hover {
    opacity: 0.7;
  }
}
body.top #report .reports .report__item .link a::after {
  content: "";
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.333dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .link a::after {
    width: 7px;
  }
}
body.top #report .reports .report__item .movie {
  aspect-ratio: 16/9;
  height: auto;
  border-radius: 3.467dvw;
}
@media screen and (min-width: 501px) {
  body.top #report .reports .report__item .movie {
    border-radius: 17px;
  }
}
body.top #report .reports .report__item:nth-of-type(1) .link a {
  background-color: #ffc558;
}
body.top #report .reports .report__item:nth-of-type(2) .link a {
  background-color: #a3d1ab;
}
body.top #report .reports .report__item:nth-of-type(3) .link a {
  background-color: #bcdaef;
}
body.top #report .reports .report__item:nth-of-type(4) .link a {
  background-color: #fbb0cb;
}
body.top #report .reports .report__item:nth-of-type(5) .link a {
  background-color: #f9e57c;
}
body.top #information {
  padding-top: 41.867dvw;
}
@media screen and (min-width: 501px) {
  body.top #information {
    padding-top: 209px;
  }
}
body.top #information .inner {
  background-color: #fff;
  padding-bottom: 14.667dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .inner {
    padding-bottom: 73px;
  }
}
body.top #information .sec-head {
  margin: 0;
  transform: translateY(-28.533dvw);
  text-align: center;
  position: relative;
}
@media screen and (min-width: 501px) {
  body.top #information .sec-head {
    transform: translateY(-143px);
  }
}
body.top #information .sec-head::before {
  content: "";
  display: block;
  width: 100%;
  height: 15.2dvw;
  background-image: url(../images/info-head-bgtop.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 33.6dvw;
  z-index: 0;
}
@media screen and (min-width: 501px) {
  body.top #information .sec-head::before {
    height: 76px;
    bottom: 168px;
  }
}
body.top #information .sec-head::after {
  content: "";
  display: block;
  width: 100%;
  height: 7.2dvw;
  background-image: url(../images/info-head-bg.svg);
  background-repeat: repeat-x;
  position: absolute;
  bottom: 14.667dvw;
  animation: bgroop 10s linear infinite;
}
@media screen and (min-width: 501px) {
  body.top #information .sec-head::after {
    height: 36px;
    bottom: 73px;
    animation: bgroop-pc 10s linear infinite;
  }
}
@keyframes bgroop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -69.333dvw 0;
  }
}
@keyframes bgroop-pc {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -347px 0;
  }
}
body.top #information .sec-head img {
  position: relative;
  z-index: 1;
  width: 23.733dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .sec-head img {
    width: 119px;
  }
}
body.top #information .comingsoon {
  margin-top: -23.2dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .comingsoon {
    margin-top: -116px;
  }
}
body.top #information .information__list {
  width: 85.333dvw;
  margin-top: -23.2dvw;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list {
    width: 427px;
    margin-top: -116px;
  }
}
body.top #information .information__list li {
  border-bottom: 1px solid #D1D1D1;
  margin-bottom: 5.333dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list li {
    margin-bottom: 27px;
  }
}
body.top #information .information__list li:last-of-type {
  margin-bottom: 0;
}
body.top #information .information__list a {
  display: block;
  padding-bottom: 3.467dvw;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: 1.6dvw 2.667dvw;
  background-position: right 2.667dvw top 50%;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list a {
    padding-bottom: 17px;
    background-size: 8px 13px;
    background-position: right 13px top 50%;
  }
}
body.top #information .information__list a.pdflink {
  display: grid;
  grid-template-rows: auto 1fr;
  background-image: none;
}
body.top #information .information__list a.pdflink .subject {
  grid-column: 1/2;
  grid-row: 1/2;
}
body.top #information .information__list a.pdflink .detail {
  grid-column: 1/2;
  grid-row: 2/3;
}
body.top #information .information__list a.pdflink img {
  grid-column: 2/3;
  grid-row: 1/3;
  justify-self: end;
  align-self: center;
  width: 13.333dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list a.pdflink img {
    width: 67px;
  }
}
body.top #information .information__list .date {
  display: block;
  font-size: 3.2dvw;
  color: #F8B22D;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 1.333dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list .date {
    font-size: 16px;
    margin-bottom: 7px;
  }
}
body.top #information .information__list .subject {
  display: block;
  font-size: 4dvw;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list .subject {
    font-size: 20px;
  }
}
body.top #information .information__list .detail {
  font-size: 3.2dvw;
  display: block;
  margin-top: 0.5em;
}
@media screen and (min-width: 501px) {
  body.top #information .information__list .detail {
    font-size: 16px;
  }
}
body.top .scroll2top {
  text-align: center;
  background-color: #fff;
  padding-top: 12dvw;
}
@media screen and (min-width: 501px) {
  body.top .scroll2top {
    padding-top: 60px;
  }
}
body.top .scroll2top a {
  aspect-ratio: 214/60;
  width: 57.067dvw;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.4dvw;
  text-align: center;
  border-radius: 9999px;
  background-color: #EDEDED;
  font-size: 3.2dvw;
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 501px) {
  body.top .scroll2top a {
    width: 285px;
    gap: 12px;
    font-size: 16px;
  }
}
body.top .scroll2top a img {
  aspect-ratio: 16/6;
  width: 4.267dvw;
}
@media screen and (min-width: 501px) {
  body.top .scroll2top a img {
    width: 21px;
  }
}

#footer {
  padding-top: 12dvw;
  padding-bottom: 10.667dvw;
  background-color: #fff;
}
@media screen and (min-width: 501px) {
  #footer {
    padding-top: 60px;
    padding-bottom: 53px;
  }
}
#footer .inner {
  width: 85.333dvw;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid #D1D1D1;
  padding-top: 12dvw;
}
@media screen and (min-width: 501px) {
  #footer .inner {
    width: 427px;
    padding-top: 60px;
  }
}
#footer .logo {
  text-align: center;
  margin-bottom: 4dvw;
}
@media screen and (min-width: 501px) {
  #footer .logo {
    margin-bottom: 20px;
  }
}
#footer .logo img {
  width: 82.133dvw;
  height: 13.333dvw;
}
@media screen and (min-width: 501px) {
  #footer .logo img {
    width: 411px;
    height: 67px;
  }
}
#footer .address {
  font-size: 3.733dvw;
  line-height: 1.71;
  font-style: normal;
  text-align: center;
  margin-bottom: 6.667dvw;
}
@media screen and (min-width: 501px) {
  #footer .address {
    font-size: 19px;
    margin-bottom: 33px;
  }
}
#footer .links {
  display: flex;
  gap: 8dvw;
  justify-content: center;
}
@media screen and (min-width: 501px) {
  #footer .links {
    gap: 40px;
  }
}
#footer .links a {
  font-size: 3.733dvw;
  color: #0075C1;
  text-decoration: underline;
}
@media screen and (min-width: 501px) {
  #footer .links a {
    font-size: 19px;
  }
}
#footer .imagecharacter {
  text-align: center;
  margin-top: 6.667dvw;
}
@media screen and (min-width: 501px) {
  #footer .imagecharacter {
    margin-top: 33px;
  }
}
#footer .imagecharacter img {
  width: 45.333dvw;
}
@media screen and (min-width: 501px) {
  #footer .imagecharacter img {
    width: 227px;
  }
}
#footer .imagecharacter .label {
  display: inline-block;
  margin-top: 1.6dvw;
  font-size: 2.933dvw;
}
@media screen and (min-width: 501px) {
  #footer .imagecharacter .label {
    margin-top: 8px;
    font-size: 15px;
  }
}

.comingsoon {
  text-align: center;
  font-size: 4dvw;
  margin: 0;
}
@media screen and (min-width: 501px) {
  .comingsoon {
    font-size: 20px;
  }
}
.comingsoon.movie {
  aspect-ratio: 560/315;
  background-color: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
}

#detail {
  padding-top: 5.333dvw;
}
@media screen and (min-width: 501px) {
  #detail {
    padding-top: 27px;
  }
}
#detail .inner {
  background: linear-gradient(transparent 0px, transparent 18.667dvw, #fff 18.667dvw, #fff 100%);
  padding-bottom: 20.533dvw;
}
@media screen and (min-width: 501px) {
  #detail .inner {
    background: linear-gradient(transparent 0px, transparent 50px, #fff 50px, #fff 100%);
    padding-bottom: 103px;
  }
}
#detail .sec-head {
  margin: 0;
  transform: translateY(-28.533dvw);
  text-align: center;
  position: relative;
}
@media screen and (min-width: 501px) {
  #detail .sec-head {
    transform: translateY(-143px);
  }
}
#detail .sec-head::before {
  content: "";
  display: block;
  width: 100%;
  height: 15.2dvw;
  background-image: url(../images/info-head-bgtop.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 33.6dvw;
  z-index: 0;
}
@media screen and (min-width: 501px) {
  #detail .sec-head::before {
    height: 76px;
    bottom: 168px;
  }
}
#detail .sec-head img {
  position: relative;
  z-index: 1;
}
#detail .detail__head {
  margin: 0;
  border-radius: 2.133dvw;
  background-color: #fddd8f;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 2.667dvw 5.333dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail__head {
    border-radius: 11px;
    padding: 13px 27px;
  }
}
#detail .sec__head {
  padding-top: 5.333dvw;
  font-size: 4.8dvw;
}
@media screen and (min-width: 501px) {
  #detail .sec__head {
    padding-top: 27px;
    font-size: 24px;
  }
}
#detail .sec__head small {
  font-size: 3.2dvw;
}
@media screen and (min-width: 501px) {
  #detail .sec__head small {
    font-size: 16px;
  }
}
#detail .detail {
  width: 77.867dvw;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.467dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail {
    width: calc(100% - 100px);
    font-size: 17px;
  }
}
#detail .detail p {
  line-height: 1.73;
  margin: 0;
}
#detail .detail p + p {
  margin-top: 8dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail p + p {
    margin-top: 40px;
  }
}
#detail .detail .imgs {
  display: flex;
  flex-wrap: wrap;
  max-width: 103.733dvw;
  gap: 4dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail .imgs {
    max-width: 519px;
    gap: 20px;
  }
}
#detail .detail .imgs img {
  width: calc((100% - 4dvw) / 2);
}
@media screen and (min-width: 501px) {
  #detail .detail .imgs img {
    width: calc((100% - 20px) / 2);
  }
}
#detail .detail figure {
  margin-left: auto;
  margin-right: auto;
}
#detail .detail figure figcaption {
  margin-top: 1.333dvw;
  font-size: 2.667dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail figure figcaption {
    margin-top: 7px;
    font-size: 13px;
  }
}
#detail .detail .img-v {
  width: 46.667dvw;
}
@media screen and (min-width: 501px) {
  #detail .detail .img-v {
    width: 233px;
  }
}
#detail .detail .detail__subject {
  font-size: 4.267dvw;
  line-height: 1.73;
  margin: 8dvw 0;
}
@media screen and (min-width: 501px) {
  #detail .detail .detail__subject {
    font-size: 21px;
    margin: 40px 0;
  }
}
#detail .detail em {
  font-weight: 700;
  font-size: 1.3rem;
}
#detail .detail a {
  color: #0075C1;
  text-decoration: underline;
}

body.page #nav-pc {
  display: none;
}
@media screen and (min-width: 501px) {
  body.page .shadow,
  body.page #wrapper {
    width: calc(100% - 100px);
    max-width: 1000px;
  }
}
body.page #detail {
  padding-top: 5.333dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail {
    padding-top: 27px;
  }
}
body.page #detail .inner {
  /*
              background: linear-gradient(
                  transparent 0px, 
                  transparent px2vw(40, 375),
                  #fff px2vw(40, 375),
                  #fff 100%
              );
  */
  background-color: #fff;
  padding-top: 8dvw;
  padding-bottom: 20.533dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .inner {
    /*
                    background: linear-gradient(
                        transparent 0px, 
                        transparent 0px,
                        #fff 0px,
                        #fff 100%
                    );
    */
    padding-top: 40px;
    padding-bottom: 103px;
  }
}
body.page #detail .detail__head {
  margin: 0;
  border-radius: 2.133dvw;
  background-color: #fddd8f;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 2.667dvw 5.333dvw;
  font-size: 3.2dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail__head {
    border-radius: 11px;
    padding: 13px 27px;
    font-size: 16px;
  }
}
body.page #detail .sec__head {
  padding-top: 0;
  font-size: 4.8dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .sec__head {
    font-size: 24px;
  }
}
body.page #detail .sec__head small {
  font-size: 3.2dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .sec__head small {
    font-size: 16px;
  }
}
body.page #detail .detail {
  width: 77.867dvw;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.467dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail {
    width: calc(100% - 100px);
    font-size: 17px;
  }
}
body.page #detail .detail p {
  line-height: 1.73;
  margin: 0;
}
body.page #detail .detail p + p {
  margin-top: 8dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail p + p {
    margin-top: 40px;
  }
}
body.page #detail .detail .imgs {
  display: flex;
  flex-wrap: wrap;
  max-width: 103.733dvw;
  gap: 4dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail .imgs {
    max-width: 519px;
    gap: 20px;
  }
}
body.page #detail .detail .imgs img {
  width: calc((100% - 4dvw) / 2);
}
@media screen and (min-width: 501px) {
  body.page #detail .detail .imgs img {
    width: calc((100% - 20px) / 2);
  }
}
body.page #detail .detail figure {
  margin-left: auto;
  margin-right: auto;
}
body.page #detail .detail figure figcaption {
  margin-top: 1.333dvw;
  font-size: 2.667dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail figure figcaption {
    margin-top: 7px;
    font-size: 13px;
  }
}
body.page #detail .detail .img-v {
  width: 46.667dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail .img-v {
    width: 233px;
  }
}
body.page #detail .detail .detail__subject {
  font-size: 4.267dvw;
  line-height: 1.73;
  margin: 8dvw 0;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail .detail__subject {
    font-size: 21px;
    margin: 40px 0;
  }
}
body.page #detail .detail sup,
body.page #detail .detail small,
body.page #detail .detail aside {
  font-size: 2.667dvw;
}
@media screen and (min-width: 501px) {
  body.page #detail .detail sup,
  body.page #detail .detail small,
  body.page #detail .detail aside {
    font-size: 13px;
  }
}
@media screen and (min-width: 501px) {
  body.page #footer .inner {
    width: calc(100% - 100px);
  }
}

.link-back {
  background-color: #fff;
  text-align: center;
}
.link-back a {
  border-radius: 9999px;
  background-color: #EDEDED;
  display: inline-flex;
  gap: 3.733dvw;
  padding: 4.8dvw 6.133dvw;
  font-size: 4dvw;
}
@media screen and (min-width: 501px) {
  .link-back a {
    gap: 19px;
    padding: 24px 31px;
    font-size: 20px;
  }
}
.link-back a::before {
  content: "";
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.333dvw;
  scale: -1;
}
@media screen and (min-width: 501px) {
  .link-back a::before {
    width: 7px;
  }
}

.part-a {
  color: #d48806;
}

.part-b {
  color: #228B22;
}

.part-c {
  color: #1e90ff;
}

.part-d {
  color: #8a2be2;
}

.part-e {
  color: #e63946;
}

.part-f {
  color: #008b8b;
}