@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : top.css
Description : 各トップ
===================================================================== */
@keyframes mask-tl {
  from {
    -webkit-mask-position: 100% 100%;
            mask-position: 100% 100%;
  }
  to {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes mask-br {
  from {
    -webkit-mask-position: -100% 100%;
            mask-position: -100% 100%;
  }
  to {
    -webkit-mask-position: 100% 0%;
            mask-position: 100% 0%;
  }
}
@keyframes mask-none {
  to {
    -webkit-mask-image: none;
            mask-image: none;
  }
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(5rem);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes huwahuwa {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}
@keyframes kurukuru {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
body::after {
  content: "";
  position: absolute;
  display: block;
  top: 5.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 45.1rem;
  background: url(../images/common/bg_shosoin.png) no-repeat top center/cover;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  body::after {
    top: 12rem;
    height: 115.3rem;
  }
}

.main > *:not(.sns) {
  border-style: solid;
  border-image-slice: 1;
  border-image-source: linear-gradient(90deg, #d4c7b4 0%, #f7fffe 20%, #c0f0ec 50%, #ebd3d8 65%, #fcefca 100%);
  border-image-width: 0 0 0.4rem 0;
}

/* =====================================================================
    mv
======================================================================*/
.mv {
  padding: 4rem 0 6.5rem;
}
.mv-grid {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv-grid-right {
  width: calc(460 / 640 * 100%);
}
@media screen and (min-width: 768px) {
  .mv-grid-right {
    width: calc(656 / 1080 * 100%);
  }
}
.mv-biwa {
  position: relative;
  margin-right: calc(19 / 640 * 100%);
  width: calc(160 / 640 * 100%);
}
.mv-biwa::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  margin-bottom: -15%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  padding-top: 3%;
  background: rgba(88, 31, 102, 0.7);
  border-radius: 50%;
  filter: blur(1rem);
}
.mv-biwa img {
  animation: huwahuwa 2s infinite alternate ease-in-out;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .mv-biwa {
    margin-right: calc(62 / 1080 * 100%);
    width: calc(160 / 1080 * 100%);
  }
}
.mv-logo {
  margin: 0 auto 3rem;
  width: 69.5652173913%;
}
@media screen and (min-width: 768px) {
  .mv-logo {
    width: 100%;
  }
}
.mv-desc {
  text-align: center;
  width: 100%;
  font-weight: bold;
  font-size: 2.8rem;
}
.mv-desc .date {
  font-size: 78%;
}
@media screen and (max-width: 767px) {
  .mv-desc .date {
    letter-spacing: 0.1em;
  }
}
.mv-desc .date em {
  font-style: normal;
  font-size: 172%;
  color: #ff3355;
}
.mv-desc .name span {
  margin-right: 0.5em;
  padding: 0.15em 1em;
  font-size: 71%;
  color: #ffffff;
  background-color: #000000;
  border-radius: 2em;
  vertical-align: middle;
}
.mv-movie {
  position: absolute;
  bottom: -14rem;
  right: 1rem;
  width: 32rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .mv-movie {
    bottom: -9rem;
  }
}
.mv-movie a {
  position: relative;
  filter: drop-shadow(0 2.2rem 4.5rem rgba(66, 23, 77, 0.3));
}
.mv-movie a::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 17.5%;
  padding-top: 17.5%;
  background: url(../images/common/icon_play.png) no-repeat center/contain;
}

/* =====================================================================
    news
======================================================================*/
.news {
  padding: 20rem 0 16rem;
}
@media screen and (min-width: 768px) {
  .news {
    padding: 16rem 0;
  }
}
.news > .inner {
  display: flex;
  justify-content: space-between;
}
.news .sec-ttl {
  flex-shrink: 0;
  margin: 0;
  writing-mode: vertical-rl;
}
.news-list {
  margin-right: calc(-55 / 640 * 100%);
  padding: 1.5em calc(64 / 640 * 100%);
  width: calc(535 / 640 * 100%);
  background-color: rgba(255, 255, 255, 0.75);
}
.news-list li {
  padding: 1.5em 0;
  border-style: solid;
  border-image-slice: 1;
  border-image-source: linear-gradient(90deg, #d4c7b4 0%, #f7fffe 20%, #c0f0ec 50%, #ebd3d8 65%, #fcefca 100%);
  border-image-width: 0 0 1px 0;
}
.news-list li:last-child {
  border-image-width: 0;
}
.news-list li h3 {
  margin-top: 0.8em;
  font-weight: bold;
  line-height: 1.666;
}
.news-list li time {
  font-family: "Barlow", sans-serif;
  font-weight: bold;
  font-size: 93%;
  color: #ff3355;
}
@media screen and (min-width: 768px) {
  .news-list {
    margin-right: 0;
    padding-left: calc(64 / 1080 * 100%);
    padding-right: calc(64 / 1080 * 100%);
    width: calc(920 / 1080 * 100%);
  }
}
.news .notice {
  color: #fff;
  background-color: #ff3355;
  width: calc(535 / 640 * 100%);
  margin: 0 auto 1rem;
}
@media screen and (min-width: 768px) {
  .news .notice {
    width: calc(600 / 1080 * 100%);
  }
}
.news .notice p {
  padding: 2rem 3rem;
  text-align: center;
}
.news .notice p b {
  font-weight: 900;
  text-decoration: underline;
}
.news .notice_2 {
  margin-bottom: 5rem;
}

/* =====================================================================
    history
======================================================================*/
.history {
  overflow: hidden;
}
.history::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #b1fcf6 0%, #ffffff 50%, #f7c6d1 100%);
  opacity: 0.75;
  mix-blend-mode: multiply;
}
.history > .inner {
  position: static;
  padding: 0;
  width: 100%;
  max-width: initial;
}
.history-wrap {
  position: relative;
  display: grid;
  align-items: center;
  margin: 0 calc(50% - 50vw);
  padding: 6.5rem 0;
  font-size: 1rem;
  min-height: 100vh;
}
@media screen and (min-width: 768px) {
  .history-wrap {
    padding-top: 11rem;
  }
}
.history-wrap.is-show [data-type] {
  animation: fadeIn 1s ease forwards alternate;
}
.history-wrap.is-show .show-02 {
  animation-delay: 1s;
}
.history-wrap.is-show .show-03 {
  animation-delay: 2s;
}
.history-wrap-outer {
  padding-left: 100vw;
}
.history-wrap-inner {
  position: relative;
  width: 275.6em;
  height: 81.2em;
}
.history-wrap-inner [data-type] {
  opacity: 0;
}
.history [data-type^=history-text-v] {
  position: absolute;
  top: 0;
  left: 0;
}
.history [data-type^=history-text-v] h3 {
  font-size: 5.6em;
  font-weight: bold;
  line-height: 1.4;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  color: #ff3355;
}
.history [data-type^=history-text-v] h3 em {
  font-style: normal;
  font-size: 130%;
}
.history [data-type=history-text-v02] {
  margin: 15.3846153846% 0 0 38.2801161103%;
}
.history [data-type=history-text-v03] {
  margin: 0 0 0 76.4150943396%;
}
.history [data-type^=history-text-h] {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2em;
  font-weight: bold;
  line-height: 1.5;
  white-space: nowrap;
}
.history [data-type^=history-text-h] em {
  font-style: normal;
  font-size: 140%;
}
.history [data-type^=history-text-h] strong {
  font-size: 180%;
}
.history [data-type^=history-text-h].gray {
  font-size: 2.8em;
  color: #b4b4b4;
  mix-blend-mode: multiply;
}
.history [data-type=history-text-h01] {
  margin: 0 0 0 22.206095791%;
}
.history [data-type=history-text-h02] {
  margin: 0 0 0 53.5921625544%;
}
.history [data-type=history-text-h03] {
  margin: 0 0 0 85.9216255443%;
  font-size: 3.4em !important;
}
.history [data-type=history-text-h04] {
  margin: 8.4179970972% 0 0 84.4339622642%;
}
.history [data-type=history-text-h05] {
  margin: 5.1161103048% 0 0 24.3831640058%;
}
.history [data-type=history-text-h06] {
  margin: 11.5384615385% 0 0 24.3831640058%;
}
.history [data-type=history-text-h07] {
  margin: 18.1785195936% 0 0 6.6037735849%;
}
.history [data-type=history-text-h08] {
  margin: 23.6937590711% 0 0 2.9027576197%;
}
.history [data-type=history-text-h09] {
  margin: 18.3236574746% 0 0 46.5166908563%;
}
.history [data-type=history-text-h10] {
  margin: 23.8751814224% 0 0 50.145137881%;
  font-size: 9.5em !important;
}
.history [data-type=history-text-h11] {
  margin: 21.1175616836% 0 0 69.3396226415%;
}
.history [data-type=history-text-h12] {
  margin: 14.3323657475% 0 0 81.6763425254%;
}
.history [data-type^=history-exhibit] {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  font-size: 4.5em;
}
.history [data-type^=history-exhibit] img {
  height: 100%;
  filter: drop-shadow(0 2.2rem 4.5rem rgba(66, 23, 77, 0.15));
}
.history [data-type^=history-exhibit] p {
  position: relative;
  margin: 0 0.5em;
  padding-top: 0.55em;
  flex-shrink: 0;
  color: #b4b4b4;
  line-height: 1.25;
  writing-mode: vertical-rl;
  mix-blend-mode: multiply;
}
.history [data-type^=history-exhibit] p span {
  position: absolute;
  display: block;
  top: 0;
  right: -0.6em;
  font-size: 33%;
  writing-mode: horizontal-tb;
  white-space: nowrap;
}
.history [data-type=history-exhibit01],
.history [data-type=history-exhibit02],
.history [data-type=history-exhibit04],
.history [data-type=history-exhibit05] {
  flex-direction: row-reverse;
}
.history [data-type=history-exhibit01] {
  margin: 0 0 0 9.0348330914%;
}
.history [data-type=history-exhibit01] img {
  width: 4.75em;
}
.history [data-type=history-exhibit02] {
  margin: 3.0116110305% 0 0 38.679245283%;
}
.history [data-type=history-exhibit02] img {
  width: 9.7em;
}
.history [data-type=history-exhibit03] {
  margin: 16.7271407837% 0 0 18.6865021771%;
}
.history [data-type=history-exhibit03] img {
  width: 9.7em;
}
.history [data-type=history-exhibit04] {
  margin: 5.732946299% 0 0 59.7242380261%;
}
.history [data-type=history-exhibit04] img {
  width: 6.5em;
}
.history [data-type=history-exhibit05] {
  margin: 17.198838897% 0 0 86.2844702467%;
}
.history [data-type=history-exhibit05] img {
  width: 6.2em;
}

/* =====================================================================
    outline
======================================================================*/
.outline {
  padding: 20rem 0 32rem;
}
.outline .deco05 {
  position: absolute;
  bottom: -25.5rem;
  right: -22rem;
  width: 52rem;
  z-index: 1;
  pointer-events: none;
}
.outline .deco05 img {
  filter: drop-shadow(0 3rem 6rem rgba(66, 23, 77, 0.3));
  animation: kurukuru 12s linear infinite;
}
@media screen and (min-width: 768px) {
  .outline .deco05 {
    bottom: -29rem;
    right: -26.3rem;
    width: 60rem;
  }
}
@media screen and (min-width: 768px) {
  .outline {
    padding: 16rem 0;
  }
}
.outline > .inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .outline > .inner {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
.outline-left {
  display: contents;
}
@media screen and (min-width: 768px) {
  .outline-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(140 / 1080 * 100%);
  }
}
.outline .sec-ttl {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .outline .sec-ttl {
    right: -0.5em;
    margin-right: 0;
    writing-mode: vertical-rl;
  }
}
@media screen and (min-width: 768px) {
  .outline-right {
    width: calc(800 / 1080 * 100%);
  }
}

.btn-request {
  position: relative;
  margin-top: 8rem;
  filter: drop-shadow(0 2.2rem 4.5rem rgba(66, 23, 77, 0.3));
}
@media screen and (max-width: 767px) {
  .btn-request {
    order: 3;
  }
}/*# sourceMappingURL=top.css.map */