@charset "UTF-8";
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
form,
legend,
textarea,
pre,
iframe,
small,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  height: 100%;
}

*, *::before, *::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  word-break: break-word;
}

body {
  min-width: 320px;
  color: #000;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px), print {
  body.is-no-scroll {
    overflow: hidden;
  }
}

main {
  display: block;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

address {
  font-style: normal;
}

small {
  font-size: 100%;
}

a {
  color: #ED7EAD;
}

ruby[data-ruby] {
  position: relative;
  white-space: nowrap;
}
ruby[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.5em;
  right: -2em;
  left: -2em;
  font-size: 0.6em;
  text-align: center;
  white-space: nowrap;
}

rt {
  display: none;
}

h1 {
  font-size: clamp(1.625rem, 0.996rem + 2.35vw, 2.125rem);
}

h2 {
  font-size: clamp(1.38rem, 0.851rem + 1.98vw, 1.8rem);
}

h3 {
  font-size: clamp(1.3rem, 0.922rem + 1.41vw, 1.6rem);
}

h4 {
  font-size: clamp(1.22rem, 0.968rem + 0.94vw, 1.42rem);
}

h5 {
  font-size: clamp(1.14rem, 0.976rem + 0.61vw, 1.27rem);
}

h6 {
  font-size: clamp(1.07rem, 0.994rem + 0.28vw, 1.13rem);
}

h1, h2, h3, h4, h5 {
  font-weight: 900;
  line-height: 1.5;
}

/* ここから 丸ゴシック「Rounded M+ 1c」による18px以下の文字かすれ対策 */
.frame p, .frame dt, .frame dd {
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

/* ここまで　丸ゴシック「Rounded M+ 1c」による18px以下の文字かすれ対策 */
body.home {
  height: 100%;
  background-color: #5ca7d5;
  background-image: url(../../assets/img/common/aquarium-sp.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media screen and (min-width: 768px), print {
  body.home {
    background-image: url(../../assets/img/common/aquarium.jpg);
    background-size: cover;
  }
}

body.bg-sub .container {
  background-image: url(../../assets/img/common/bg-sub-pages.png);
  background-position: center top;
  background-size: 800px;
}
@media screen and (min-width: 768px), print {
  body.bg-sub .container {
    background-size: 1920px;
  }
}

body.news,
body.info {
  background-color: #F5E86F;
}

body.character {
  background-color: #B8E4AB;
}

body.story {
  background-color: #B1E4DF;
}

body.movie {
  background-color: #F0C3D5;
}

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 5%;
  padding-left: 5%;
}
@media screen and (min-width: 768px), print {
  .header {
    padding-top: 2%;
  }
}
.header-logo {
  width: 20%;
}

.footer {
  margin-top: 40px;
  padding: 20px;
  text-align: center;
}
.footer-logo {
  margin-bottom: 10px;
}
.footer-logo img {
  max-width: 280px;
}
.footer-copyright {
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1;
}
@media screen and (max-width: 767px), print {
  .footer-copyright {
    padding-bottom: 180px;
  }
}

body:not(.home) .footer {
  background-color: #ED7EAD;
}

.main {
  margin: 0 auto;
  padding: 0 5%;
}

.fade-in-up {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: fade-in-up;
          animation-name: fade-in-up;
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s;
  opacity: 0;
}

@-webkit-keyframes fade-in-up {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes fade-in-up {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.bounce-in {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: bounce-in;
          animation-name: bounce-in;
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s;
  opacity: 0;
}

@-webkit-keyframes bounce-in {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  70% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes bounce-in {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  70% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes bounce {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes shake-y {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
}
@keyframes shake-y {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
}
@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
            transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
            transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
            transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
            transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.frame {
  padding: clamp(1.875rem, -0.982rem + 14.29vw, 5.875rem) clamp(1.25rem, -1.786rem + 15.18vw, 5.5rem);
  border-radius: clamp(1.875rem, 1.071rem + 4.02vw, 3rem);
  background-color: #fff;
}

.button {
  display: inline-block;
  max-width: 100%;
  padding: 1em 2em;
  border-radius: 40px;
  background-color: #ED7EAD;
  color: #fff;
  text-decoration: none;
}
.button:hover {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.globalnav {
  width: 75%;
}
.globalnav a {
  display: block;
}
.globalnav a:hover {
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation-name: jello;
          animation-name: jello;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.globalnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 2%;
}
.globalnav li {
  max-width: 126px;
}

.slideup-menu {
  position: fixed;
  z-index: 70;
  bottom: 0;
  left: 1%;
  width: 98%;
  height: 70px;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  border-top: 6px solid #fff;
  border-right: 6px solid #fff;
  border-left: 6px solid #fff;
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
  background-color: #F5E86F;
}
.slideup-menu.is-opened {
  z-index: 90;
  height: 99%;
  background: #F5E86F url(../../assets/img/common/bg-sub-pages.png) repeat left top;
  background-size: 800px;
}
.slideup-menu.is-opened .slideup-menu-nav {
  top: 5%;
}
.slideup-menu.is-opened .slideup-menu-peikon {
  display: block;
  z-index: 110;
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}
.slideup-menu.is-opened .slideup-menu-button {
  width: calc(98% - 12px);
}
.slideup-menu-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: calc(6px + 1%);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(98% - 12px);
  height: 64px;
  padding-left: 25px;
  background-color: #F5E86F;
}
.slideup-menu-button img {
  width: 212px;
}
@media screen and (max-width: 360px), print {
  .slideup-menu-button img {
    width: 180px;
  }
}
.slideup-menu-button.open {
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
}
.slideup-menu-button.open.is-opened {
  display: none;
}
.slideup-menu-button.close {
  display: none;
}
.slideup-menu-button.close.is-opened {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.slideup-menu-nav {
  position: absolute;
  top: 70px;
  height: calc(99% - 76px);
  overflow-y: auto;
}
.slideup-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 0% 4% 4%;
}
.slideup-menu li {
  width: calc((92% - 8px) / 2);
}
@media screen and (min-width: 576px), print {
  .slideup-menu li {
    width: calc((92% - 16px) / 3);
  }
}
.slideup-menu-peikon {
  display: none;
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 86px;
}

.sns-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 80%;
  max-width: 298px;
  margin: 0 auto;
  padding-top: 50px;
}
@media screen and (min-width: 768px), print {
  .sns-buttons {
    padding-top: 100px;
  }
}
.sns-buttons li {
  margin: 0 8px;
}
.sns-buttons a {
  display: block;
}
.sns-buttons a:hover {
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation-name: swing;
          animation-name: swing;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.copyright {
  padding: 8px 5%;
  background-color: #ED7EAD;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: center;
}

.pagetop {
  position: fixed;
  z-index: 80;
  right: 25px;
  bottom: 0;
  width: 120px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
  opacity: 0;
}
@media screen and (min-width: 768px), print {
  .pagetop {
    right: 20px;
    bottom: 20px;
    width: 150px;
  }
}
.pagetop:hover img {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.pagetop.is-up {
  -webkit-animation: upAnime 0.5s forwards;
          animation: upAnime 0.5s forwards;
}
.pagetop.is-down {
  -webkit-animation: downAnime 0.5s forwards;
          animation: downAnime 0.5s forwards;
}
.pagetop.is-scroll img {
  -webkit-animation-name: shake-y;
          animation-name: shake-y;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

@-webkit-keyframes upAnime {
  from {
    -webkit-transform: translateY(250px);
            transform: translateY(250px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes upAnime {
  from {
    -webkit-transform: translateY(250px);
            transform: translateY(250px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes downAnime {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(250px);
            transform: translateY(250px);
    opacity: 1;
  }
}
@keyframes downAnime {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(250px);
            transform: translateY(250px);
    opacity: 1;
  }
}
.page-header {
  padding: 3em 0;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .page-header {
    padding: 4em 0;
  }
}
.page-header-title {
  font-size: clamp(2rem, 1.371rem + 2.35vw, 2.5rem);
  font-weight: 800;
  line-height: 1.5;
  text-shadow: 4px 4px 0 #fff, -4px -4px 0 #fff, -4px 4px 0 #fff, 4px -4px 0 #fff, 0 4px 0 #fff, 0 -4px 0 #fff, -4px 0 0 #fff, 4px 0 0 #fff;
}

.entry h2, .entry h3, .entry h4, .entry h5, .entry h6 {
  margin-top: 1.5em;
}
.entry > *:first-child {
  margin-top: 0;
}
.entry > * {
  margin-top: 1rem;
}
.entry ul, .entry ol {
  padding-left: 1.3em;
}
.entry ul {
  list-style: disc;
}
.entry ol {
  list-style: decimal;
}

.news-list {
  display: -ms-grid;
  display: grid;
  gap: 35px;
  width: min(100%, 500px);
  margin: 0 auto;
}
@media screen and (min-width: 768px), print {
  .news-list {
    -ms-grid-columns: 1fr 50px 1fr;
    grid-template-columns: repeat(2, 1fr);
    width: min(96%, 700px);
    gap: 50px;
  }
}

.news-item a {
  display: block;
  height: 100%;
  padding: 20px 30px;
  border-radius: clamp(1.875rem, 1.071rem + 4.02vw, 3rem);
  background-color: #fff;
  color: #000;
  text-decoration: none;
}
.news-item:hover img {
  -webkit-animation: tada;
          animation: tada;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.news-item-thumb {
  position: relative;
  margin-bottom: 12px;
}
.news-item-thumb::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.news-item-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.news-item-txt {
  font-size: 1.125rem;
  line-height: 1.5;
}

.news-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 0.75em;
}
.news-meta time {
  display: block;
  font-weight: 800;
  line-height: 1.2;
  text-align: right;
}

.news-item .news-meta .news-category {
  max-width: 80%;
}
.news-item .news-meta time {
  width: 20%;
  font-size: 0.8125rem;
}

.news-header .news-meta {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
}
.news-header .news-meta time {
  white-space: nowrap;
}

.news-category {
  display: block;
  padding: 5px 30px;
  overflow: hidden;
  border-radius: 50px;
  background-color: #999;
  background-image: url(../../assets/img/common/bg-button-left.png), url(../../assets/img/common/bg-button-right.png);
  background-repeat: no-repeat;
  background-position: left 3px top 3px, right 3px bottom 3px;
  background-size: 20px, 13px;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: -0.1em;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-category.orange {
  background-color: #FFB900;
}
.news-category.skyblue {
  background-color: #26E0FF;
}
.news-category.pink {
  background-color: #FF8BC0;
}
.news-category.blue {
  background-color: #6499FF;
}
.news-category.red {
  background-color: #FF5B4D;
}
.news-category.purple {
  background-color: #CC7BFF;
}

.news-frame {
  max-width: 800px;
  margin: 0 auto;
}

.news-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 2em;
  padding-bottom: 1.5em;
  background: url(../../assets/img/common/bg-konpeito.svg) no-repeat bottom center;
  background-size: contain;
}
@media screen and (min-width: 768px), print {
  .news-header {
    background: url(../../assets/img/common/bg-konpeito-2.svg) no-repeat bottom center;
  }
}

.home-logo,
.home-characters-item {
  opacity: 0;
}

@media screen and (min-width: 768px), print {
  .home-main {
    padding-top: 2%;
  }
}
.home-main-inner {
  overflow: hidden;
}
@media screen and (max-width: 767px), print {
  .home-main-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: calc(100vh - 70px);
  }
}
@media screen and (min-width: 900px), print {
  .home-main-inner {
    min-height: 100vh;
  }
}

.home-logo {
  width: 50%;
  margin: 10px auto 15%;
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
}
@media screen and (min-width: 768px), print {
  .home-logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    margin: 2% auto 0 3%;
  }
}

.home-globalnav {
  width: 60%;
  margin-right: 2%;
  margin-left: auto;
}
.home-globalnav a {
  display: block;
}
.home-globalnav a:hover {
  -webkit-animation: jello;
          animation: jello;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.home-globalnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 2%;
}
.home-globalnav li {
  max-width: 180px;
}

.home-characters {
  position: relative;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  width: 90%;
  margin: 25px auto;
}
@media screen and (min-width: 768px), print {
  .home-characters {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 70%;
    max-width: 750px;
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px), print {
  .home-characters {
    margin-top: 10vh;
  }
}
.home-characters::before {
  content: "";
  display: block;
  padding-top: 70.66%;
}
.home-characters img {
  width: 100%;
}
.home-characters-item {
  position: absolute;
}
.home-characters-item.peikon {
  top: 0;
  left: 17%;
  width: 61%;
}
.home-characters-item.parents {
  top: 11%;
  left: 0;
  width: 30%;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.home-characters-item.kireji {
  top: 6%;
  right: 11%;
  width: 16%;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.home-characters-item.minibou {
  bottom: 17%;
  left: 15%;
  width: 33%;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.home-characters-item.smidas {
  right: 0;
  bottom: 0;
  width: 25%;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.home-tansparent-frame {
  display: block;
  width: 90%;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  padding: clamp(1.875rem, 1.428rem + 2.24vw, 2.5rem);
  padding-top: 0;
  border-radius: 8%;
  background-color: rgba(255, 255, 255, 0.6);
  background-image: url(../../assets/img/home/bg-glow-top-right.png), url(../../assets/img/home/bg-glow-bottom-left.png);
  background-repeat: no-repeat;
  background-position: top right, bottom left;
  background-size: contain;
  text-decoration: none;
}
@media screen and (max-width: 767px), print {
  .home-tansparent-frame.movie {
    margin-top: 35px;
  }
  .home-tansparent-frame.movie .home-tansparent-frame-title {
    margin-bottom: -5px;
  }
}
@media screen and (min-width: 768px), print {
  .home-tansparent-frame.movie {
    position: absolute;
    top: min(17.5vw, 230px + 2vw);
    right: 20px;
    width: 18.6458333333%;
    margin-left: auto;
    padding: 1.5%;
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
  }
  .home-tansparent-frame.movie:hover {
    opacity: 0.9;
  }
}
.home-tansparent-frame-title {
  padding: 0.5em 0 0.2em;
  color: #ED7EAD;
  font-size: 1.9375rem;
  font-weight: 900;
  text-align: center;
  text-shadow: 4px 4px 0 #fff, -4px -4px 0 #fff, -4px 4px 0 #fff, 4px -4px 0 #fff, 0 4px 0 #fff, 0 -4px 0 #fff, -4px 0 0 #fff, 4px 0 0 #fff;
}
.home-tansparent-frame-title img {
  width: 134px;
}
.home-tansparent-frame-border {
  overflow: hidden;
  border: 2px #87BDE3 solid;
  border-radius: 10px;
  outline: 5px #fff solid;
  background-color: #fff;
}

.home-news {
  margin-top: 80px;
}
@media screen and (max-width: 767px), print {
  .home-news {
    width: 90%;
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
  }
}
.home-news-title {
  margin-bottom: 0.75em;
  color: #fff;
  font-size: 3.125rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width: 767px), print {
  .home-news li + li {
    margin-top: 35px;
  }
}
@media screen and (min-width: 768px), print {
  .home-news-list {
    position: relative;
    max-width: 80%;
    margin: 0 auto;
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
  }
  .home-news li {
    height: 100%;
  }
  .home-news-prev, .home-news-next {
    position: absolute;
    z-index: 10;
    top: calc(50% - 60px);
    width: 120px;
    cursor: pointer;
  }
  .home-news-prev:hover, .home-news-next:hover {
    -webkit-animation-name: bounce;
            animation-name: bounce;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
  }
  .home-news-prev {
    left: -11%;
  }
  .home-news-next {
    right: -11%;
  }
  .home-news .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .home-news .slick-slide {
    height: inherit;
    margin: 0 15px;
  }
}
.home-news-more {
  display: block;
  width: 50%;
  max-width: 265px;
  margin: 50px auto 100px;
}
.home-news-more:hover {
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation-name: jello;
          animation-name: jello;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.info-about {
  max-width: 826px;
  margin: 0 auto;
}

.character-nav {
  max-width: 1050px;
  margin: 0 auto 40px;
  padding: clamp(1.25rem, 0.357rem + 4.46vw, 2.5rem);
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .character-nav {
    margin-bottom: 80px;
  }
}
.character-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
@media screen and (min-width: 768px), print {
  .character-nav-list {
    gap: 2%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767px), print {
  .character-nav li {
    width: calc((100% - 20px) / 3);
  }
}
.character-nav a {
  display: block;
  text-decoration: none;
}
.character-nav a:hover {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.character-item + .character-item {
  margin-top: 35px;
}
@media screen and (min-width: 768px), print {
  .character-item + .character-item {
    margin-top: 70px;
  }
}

.character-item.frame {
  padding: clamp(1.875rem, 0.982rem + 4.46vw, 3.125rem) clamp(1.875rem, 0.982rem + 4.46vw, 3.125rem) clamp(3.125rem, 2.232rem + 4.46vw, 4.375rem);
}

.character-item {
  max-width: 550px;
  margin: 0 auto;
}
.character-item.peikon .character-item-img {
  width: 53%;
}
.character-item.kireji .character-item-img {
  width: 30%;
}
.character-item.minibou .character-item-img {
  width: 51%;
}
.character-item.sumidas .character-item-img {
  width: 50%;
}
.character-item.parents .character-item-img {
  width: 49%;
}
.character-item-img {
  margin: 0 auto;
}
.character-item-title {
  margin: 1em 0 0.25em;
  color: #ED7EAD;
  font-size: clamp(1.625rem, 0.917rem + 2.65vw, 2.188rem);
}
.character-item-txt {
  font-size: clamp(1rem, 0.843rem + 0.59vw, 1.125rem);
  line-height: 2.4;
}

.character-trivia-button {
  display: block;
  position: relative;
  z-index: 10;
  max-width: 263px;
  margin: 30px auto -22px;
}
.character-trivia-button:hover {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.character-trivia-close {
  display: block;
  width: 5em;
  margin: 1em auto 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}
.character-trivia-close:before {
  content: "×";
  margin-right: 0.5em;
}
.character-trivia-content {
  display: none;
  padding: 2.5em 1.5em 1.5em;
  border: 2px dashed #3EC6C2;
  font-size: 1rem;
  line-height: 2.4;
}

.story-frame.frame {
  max-width: 800px;
  margin: 0 auto;
}
.story-frame.frame figure {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px), print {
  .story-frame.frame figure {
    margin-bottom: 60px;
  }
}
.story-frame.frame p {
  font-size: clamp(1.125rem, 0.968rem + 0.59vw, 1.25rem);
  line-height: 2.4;
}
.story-frame.frame p + p {
  margin-top: 1.5em;
}

.movie-frame.frame {
  max-width: 800px;
  margin: 0 auto;
}

.movie-youtube {
  padding-bottom: 50px;
  background: url(../../assets/img/common/bg-konpeito.svg) no-repeat bottom center;
  background-size: contain;
}
@media screen and (min-width: 768px), print {
  .movie-youtube {
    padding-bottom: 80px;
    background-size: 70%;
  }
}

.movie-summary-title {
  margin: 1.75em 0 1.25em;
  color: #ED7EAD;
  font-size: clamp(1.375rem, 0.746rem + 2.35vw, 1.875rem);
  text-align: center;
}
.movie-summary-txt {
  font-size: clamp(1.125rem, 0.968rem + 0.59vw, 1.25rem);
  line-height: 2.4;
}

.movie-credit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 70px;
}
.movie-credit-item + .movie-credit-item {
  margin-top: 70px;
}
.movie-credit-item {
  width: 100%;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .movie-credit-item:nth-child(1), .movie-credit-item:nth-child(2) {
    width: 50%;
  }
  .movie-credit-item:nth-child(2) {
    margin-top: 0;
  }
}
.movie-credit-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1em;
  gap: 0.5em;
  color: #ED7EAD;
  font-size: clamp(1.375rem, 0.746rem + 2.35vw, 1.875rem);
}
.movie-credit-title:before, .movie-credit-title:after {
  content: "";
  display: block;
  width: min(10%, 50px);
  height: 3px;
  border-radius: 10px;
  background-color: currentColor;
}
.movie-credit dt {
  margin: 1.5em 0 0.25em;
  color: #3EC6C2;
}

.light {
  display: none;
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-animation: lightFlickering 4s infinite;
          animation: lightFlickering 4s infinite;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.light.light-1 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  background-image: url(../../assets/img/common/light-1.png);
}
.light.light-2 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  background-image: url(../../assets/img/common/light-2.png);
}
.light.light-3 {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  background-image: url(../../assets/img/common/light-3.png);
}

@-webkit-keyframes lightFlickering {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0.5;
  }
  25% {
    opacity: 1;
  }
  70% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}

@keyframes lightFlickering {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0.5;
  }
  25% {
    opacity: 1;
  }
  70% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
.particles-bubble {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.fw-800 {
  font-weight: 800;
}

.color-pink {
  color: #ED7EAD;
}

@media screen and (max-width: 767px), print {
  .pc-only {
    display: none !important;
  }
}
@media screen and (min-width: 768px), print {
  .sp-only {
    display: none !important;
  }
}