@charset "UTF-8";
@import url("../css/iconmonstr-iconic-font.css");
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* form parts */
input[type=checkbox], input[type=radio] {
  display: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

.m-0 {
  margin: 0rem !important;
}

.my-0 {
  margin: 0rem 0 !important;
}

.mx-0 {
  margin: 0 0rem !important;
}

.mt-0 {
  margin-top: 0rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.ml-0 {
  margin-left: 0rem !important;
}

.mr-0 {
  margin-right: 0rem !important;
}

.p-0 {
  padding: 0rem !important;
}

.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.pl-0 {
  padding-left: 0rem !important;
}

.pr-0 {
  padding-right: 0rem !important;
}

.m-0px {
  margin: 0px !important;
}

.my-0px {
  margin: 0px 0 !important;
}

.mx-0px {
  margin: 0 0px !important;
}

.mt-0px {
  margin-top: 0px !important;
}

.mb-0px {
  margin-bottom: 0px !important;
}

.ml-0px {
  margin-left: 0px !important;
}

.mr-0px {
  margin-right: 0px !important;
}

.p-0px {
  padding: 0px !important;
}

.py-0px {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.px-0px {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.pt-0px {
  padding-top: 0px !important;
}

.pb-0px {
  padding-bottom: 0px !important;
}

.pl-0px {
  padding-left: 0px !important;
}

.pr-0px {
  padding-right: 0px !important;
}

.m-5 {
  margin: 0.5rem !important;
}

.my-5 {
  margin: 0.5rem 0 !important;
}

.mx-5 {
  margin: 0 0.5rem !important;
}

.mt-5 {
  margin-top: 0.5rem !important;
}

.mb-5 {
  margin-bottom: 0.5rem !important;
}

.ml-5 {
  margin-left: 0.5rem !important;
}

.mr-5 {
  margin-right: 0.5rem !important;
}

.p-5 {
  padding: 0.5rem !important;
}

.py-5 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.px-5 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.pt-5 {
  padding-top: 0.5rem !important;
}

.pb-5 {
  padding-bottom: 0.5rem !important;
}

.pl-5 {
  padding-left: 0.5rem !important;
}

.pr-5 {
  padding-right: 0.5rem !important;
}

.m-5px {
  margin: 5px !important;
}

.my-5px {
  margin: 5px 0 !important;
}

.mx-5px {
  margin: 0 5px !important;
}

.mt-5px {
  margin-top: 5px !important;
}

.mb-5px {
  margin-bottom: 5px !important;
}

.ml-5px {
  margin-left: 5px !important;
}

.mr-5px {
  margin-right: 5px !important;
}

.p-5px {
  padding: 5px !important;
}

.py-5px {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.px-5px {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.pt-5px {
  padding-top: 5px !important;
}

.pb-5px {
  padding-bottom: 5px !important;
}

.pl-5px {
  padding-left: 5px !important;
}

.pr-5px {
  padding-right: 5px !important;
}

.m-10 {
  margin: 1rem !important;
}

.my-10 {
  margin: 1rem 0 !important;
}

.mx-10 {
  margin: 0 1rem !important;
}

.mt-10 {
  margin-top: 1rem !important;
}

.mb-10 {
  margin-bottom: 1rem !important;
}

.ml-10 {
  margin-left: 1rem !important;
}

.mr-10 {
  margin-right: 1rem !important;
}

.p-10 {
  padding: 1rem !important;
}

.py-10 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.px-10 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.pt-10 {
  padding-top: 1rem !important;
}

.pb-10 {
  padding-bottom: 1rem !important;
}

.pl-10 {
  padding-left: 1rem !important;
}

.pr-10 {
  padding-right: 1rem !important;
}

.m-10px {
  margin: 10px !important;
}

.my-10px {
  margin: 10px 0 !important;
}

.mx-10px {
  margin: 0 10px !important;
}

.mt-10px {
  margin-top: 10px !important;
}

.mb-10px {
  margin-bottom: 10px !important;
}

.ml-10px {
  margin-left: 10px !important;
}

.mr-10px {
  margin-right: 10px !important;
}

.p-10px {
  padding: 10px !important;
}

.py-10px {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.px-10px {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.pt-10px {
  padding-top: 10px !important;
}

.pb-10px {
  padding-bottom: 10px !important;
}

.pl-10px {
  padding-left: 10px !important;
}

.pr-10px {
  padding-right: 10px !important;
}

.m-15 {
  margin: 1.5rem !important;
}

.my-15 {
  margin: 1.5rem 0 !important;
}

.mx-15 {
  margin: 0 1.5rem !important;
}

.mt-15 {
  margin-top: 1.5rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem !important;
}

.ml-15 {
  margin-left: 1.5rem !important;
}

.mr-15 {
  margin-right: 1.5rem !important;
}

.p-15 {
  padding: 1.5rem !important;
}

.py-15 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.px-15 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.pt-15 {
  padding-top: 1.5rem !important;
}

.pb-15 {
  padding-bottom: 1.5rem !important;
}

.pl-15 {
  padding-left: 1.5rem !important;
}

.pr-15 {
  padding-right: 1.5rem !important;
}

.m-15px {
  margin: 15px !important;
}

.my-15px {
  margin: 15px 0 !important;
}

.mx-15px {
  margin: 0 15px !important;
}

.mt-15px {
  margin-top: 15px !important;
}

.mb-15px {
  margin-bottom: 15px !important;
}

.ml-15px {
  margin-left: 15px !important;
}

.mr-15px {
  margin-right: 15px !important;
}

.p-15px {
  padding: 15px !important;
}

.py-15px {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.px-15px {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.pt-15px {
  padding-top: 15px !important;
}

.pb-15px {
  padding-bottom: 15px !important;
}

.pl-15px {
  padding-left: 15px !important;
}

.pr-15px {
  padding-right: 15px !important;
}

.m-20 {
  margin: 2rem !important;
}

.my-20 {
  margin: 2rem 0 !important;
}

.mx-20 {
  margin: 0 2rem !important;
}

.mt-20 {
  margin-top: 2rem !important;
}

.mb-20 {
  margin-bottom: 2rem !important;
}

.ml-20 {
  margin-left: 2rem !important;
}

.mr-20 {
  margin-right: 2rem !important;
}

.p-20 {
  padding: 2rem !important;
}

.py-20 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.px-20 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.pt-20 {
  padding-top: 2rem !important;
}

.pb-20 {
  padding-bottom: 2rem !important;
}

.pl-20 {
  padding-left: 2rem !important;
}

.pr-20 {
  padding-right: 2rem !important;
}

.m-20px {
  margin: 20px !important;
}

.my-20px {
  margin: 20px 0 !important;
}

.mx-20px {
  margin: 0 20px !important;
}

.mt-20px {
  margin-top: 20px !important;
}

.mb-20px {
  margin-bottom: 20px !important;
}

.ml-20px {
  margin-left: 20px !important;
}

.mr-20px {
  margin-right: 20px !important;
}

.p-20px {
  padding: 20px !important;
}

.py-20px {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.px-20px {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.pt-20px {
  padding-top: 20px !important;
}

.pb-20px {
  padding-bottom: 20px !important;
}

.pl-20px {
  padding-left: 20px !important;
}

.pr-20px {
  padding-right: 20px !important;
}

.m-25 {
  margin: 2.5rem !important;
}

.my-25 {
  margin: 2.5rem 0 !important;
}

.mx-25 {
  margin: 0 2.5rem !important;
}

.mt-25 {
  margin-top: 2.5rem !important;
}

.mb-25 {
  margin-bottom: 2.5rem !important;
}

.ml-25 {
  margin-left: 2.5rem !important;
}

.mr-25 {
  margin-right: 2.5rem !important;
}

.p-25 {
  padding: 2.5rem !important;
}

.py-25 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.px-25 {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

.pt-25 {
  padding-top: 2.5rem !important;
}

.pb-25 {
  padding-bottom: 2.5rem !important;
}

.pl-25 {
  padding-left: 2.5rem !important;
}

.pr-25 {
  padding-right: 2.5rem !important;
}

.m-25px {
  margin: 25px !important;
}

.my-25px {
  margin: 25px 0 !important;
}

.mx-25px {
  margin: 0 25px !important;
}

.mt-25px {
  margin-top: 25px !important;
}

.mb-25px {
  margin-bottom: 25px !important;
}

.ml-25px {
  margin-left: 25px !important;
}

.mr-25px {
  margin-right: 25px !important;
}

.p-25px {
  padding: 25px !important;
}

.py-25px {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.px-25px {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.pt-25px {
  padding-top: 25px !important;
}

.pb-25px {
  padding-bottom: 25px !important;
}

.pl-25px {
  padding-left: 25px !important;
}

.pr-25px {
  padding-right: 25px !important;
}

.m-30 {
  margin: 3rem !important;
}

.my-30 {
  margin: 3rem 0 !important;
}

.mx-30 {
  margin: 0 3rem !important;
}

.mt-30 {
  margin-top: 3rem !important;
}

.mb-30 {
  margin-bottom: 3rem !important;
}

.ml-30 {
  margin-left: 3rem !important;
}

.mr-30 {
  margin-right: 3rem !important;
}

.p-30 {
  padding: 3rem !important;
}

.py-30 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.px-30 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.pt-30 {
  padding-top: 3rem !important;
}

.pb-30 {
  padding-bottom: 3rem !important;
}

.pl-30 {
  padding-left: 3rem !important;
}

.pr-30 {
  padding-right: 3rem !important;
}

.m-30px {
  margin: 30px !important;
}

.my-30px {
  margin: 30px 0 !important;
}

.mx-30px {
  margin: 0 30px !important;
}

.mt-30px {
  margin-top: 30px !important;
}

.mb-30px {
  margin-bottom: 30px !important;
}

.ml-30px {
  margin-left: 30px !important;
}

.mr-30px {
  margin-right: 30px !important;
}

.p-30px {
  padding: 30px !important;
}

.py-30px {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.px-30px {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.pt-30px {
  padding-top: 30px !important;
}

.pb-30px {
  padding-bottom: 30px !important;
}

.pl-30px {
  padding-left: 30px !important;
}

.pr-30px {
  padding-right: 30px !important;
}

.m-35 {
  margin: 3.5rem !important;
}

.my-35 {
  margin: 3.5rem 0 !important;
}

.mx-35 {
  margin: 0 3.5rem !important;
}

.mt-35 {
  margin-top: 3.5rem !important;
}

.mb-35 {
  margin-bottom: 3.5rem !important;
}

.ml-35 {
  margin-left: 3.5rem !important;
}

.mr-35 {
  margin-right: 3.5rem !important;
}

.p-35 {
  padding: 3.5rem !important;
}

.py-35 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.px-35 {
  padding-left: 3.5rem !important;
  padding-right: 3.5rem !important;
}

.pt-35 {
  padding-top: 3.5rem !important;
}

.pb-35 {
  padding-bottom: 3.5rem !important;
}

.pl-35 {
  padding-left: 3.5rem !important;
}

.pr-35 {
  padding-right: 3.5rem !important;
}

.m-35px {
  margin: 35px !important;
}

.my-35px {
  margin: 35px 0 !important;
}

.mx-35px {
  margin: 0 35px !important;
}

.mt-35px {
  margin-top: 35px !important;
}

.mb-35px {
  margin-bottom: 35px !important;
}

.ml-35px {
  margin-left: 35px !important;
}

.mr-35px {
  margin-right: 35px !important;
}

.p-35px {
  padding: 35px !important;
}

.py-35px {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.px-35px {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.pt-35px {
  padding-top: 35px !important;
}

.pb-35px {
  padding-bottom: 35px !important;
}

.pl-35px {
  padding-left: 35px !important;
}

.pr-35px {
  padding-right: 35px !important;
}

.m-40 {
  margin: 4rem !important;
}

.my-40 {
  margin: 4rem 0 !important;
}

.mx-40 {
  margin: 0 4rem !important;
}

.mt-40 {
  margin-top: 4rem !important;
}

.mb-40 {
  margin-bottom: 4rem !important;
}

.ml-40 {
  margin-left: 4rem !important;
}

.mr-40 {
  margin-right: 4rem !important;
}

.p-40 {
  padding: 4rem !important;
}

.py-40 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.px-40 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.pt-40 {
  padding-top: 4rem !important;
}

.pb-40 {
  padding-bottom: 4rem !important;
}

.pl-40 {
  padding-left: 4rem !important;
}

.pr-40 {
  padding-right: 4rem !important;
}

.m-40px {
  margin: 40px !important;
}

.my-40px {
  margin: 40px 0 !important;
}

.mx-40px {
  margin: 0 40px !important;
}

.mt-40px {
  margin-top: 40px !important;
}

.mb-40px {
  margin-bottom: 40px !important;
}

.ml-40px {
  margin-left: 40px !important;
}

.mr-40px {
  margin-right: 40px !important;
}

.p-40px {
  padding: 40px !important;
}

.py-40px {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.px-40px {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.pt-40px {
  padding-top: 40px !important;
}

.pb-40px {
  padding-bottom: 40px !important;
}

.pl-40px {
  padding-left: 40px !important;
}

.pr-40px {
  padding-right: 40px !important;
}

.m-45 {
  margin: 4.5rem !important;
}

.my-45 {
  margin: 4.5rem 0 !important;
}

.mx-45 {
  margin: 0 4.5rem !important;
}

.mt-45 {
  margin-top: 4.5rem !important;
}

.mb-45 {
  margin-bottom: 4.5rem !important;
}

.ml-45 {
  margin-left: 4.5rem !important;
}

.mr-45 {
  margin-right: 4.5rem !important;
}

.p-45 {
  padding: 4.5rem !important;
}

.py-45 {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

.px-45 {
  padding-left: 4.5rem !important;
  padding-right: 4.5rem !important;
}

.pt-45 {
  padding-top: 4.5rem !important;
}

.pb-45 {
  padding-bottom: 4.5rem !important;
}

.pl-45 {
  padding-left: 4.5rem !important;
}

.pr-45 {
  padding-right: 4.5rem !important;
}

.m-45px {
  margin: 45px !important;
}

.my-45px {
  margin: 45px 0 !important;
}

.mx-45px {
  margin: 0 45px !important;
}

.mt-45px {
  margin-top: 45px !important;
}

.mb-45px {
  margin-bottom: 45px !important;
}

.ml-45px {
  margin-left: 45px !important;
}

.mr-45px {
  margin-right: 45px !important;
}

.p-45px {
  padding: 45px !important;
}

.py-45px {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.px-45px {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.pt-45px {
  padding-top: 45px !important;
}

.pb-45px {
  padding-bottom: 45px !important;
}

.pl-45px {
  padding-left: 45px !important;
}

.pr-45px {
  padding-right: 45px !important;
}

.m-50 {
  margin: 5rem !important;
}

.my-50 {
  margin: 5rem 0 !important;
}

.mx-50 {
  margin: 0 5rem !important;
}

.mt-50 {
  margin-top: 5rem !important;
}

.mb-50 {
  margin-bottom: 5rem !important;
}

.ml-50 {
  margin-left: 5rem !important;
}

.mr-50 {
  margin-right: 5rem !important;
}

.p-50 {
  padding: 5rem !important;
}

.py-50 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.px-50 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.pt-50 {
  padding-top: 5rem !important;
}

.pb-50 {
  padding-bottom: 5rem !important;
}

.pl-50 {
  padding-left: 5rem !important;
}

.pr-50 {
  padding-right: 5rem !important;
}

.m-50px {
  margin: 50px !important;
}

.my-50px {
  margin: 50px 0 !important;
}

.mx-50px {
  margin: 0 50px !important;
}

.mt-50px {
  margin-top: 50px !important;
}

.mb-50px {
  margin-bottom: 50px !important;
}

.ml-50px {
  margin-left: 50px !important;
}

.mr-50px {
  margin-right: 50px !important;
}

.p-50px {
  padding: 50px !important;
}

.py-50px {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.px-50px {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.pt-50px {
  padding-top: 50px !important;
}

.pb-50px {
  padding-bottom: 50px !important;
}

.pl-50px {
  padding-left: 50px !important;
}

.pr-50px {
  padding-right: 50px !important;
}

.m-55 {
  margin: 5.5rem !important;
}

.my-55 {
  margin: 5.5rem 0 !important;
}

.mx-55 {
  margin: 0 5.5rem !important;
}

.mt-55 {
  margin-top: 5.5rem !important;
}

.mb-55 {
  margin-bottom: 5.5rem !important;
}

.ml-55 {
  margin-left: 5.5rem !important;
}

.mr-55 {
  margin-right: 5.5rem !important;
}

.p-55 {
  padding: 5.5rem !important;
}

.py-55 {
  padding-top: 5.5rem !important;
  padding-bottom: 5.5rem !important;
}

.px-55 {
  padding-left: 5.5rem !important;
  padding-right: 5.5rem !important;
}

.pt-55 {
  padding-top: 5.5rem !important;
}

.pb-55 {
  padding-bottom: 5.5rem !important;
}

.pl-55 {
  padding-left: 5.5rem !important;
}

.pr-55 {
  padding-right: 5.5rem !important;
}

.m-55px {
  margin: 55px !important;
}

.my-55px {
  margin: 55px 0 !important;
}

.mx-55px {
  margin: 0 55px !important;
}

.mt-55px {
  margin-top: 55px !important;
}

.mb-55px {
  margin-bottom: 55px !important;
}

.ml-55px {
  margin-left: 55px !important;
}

.mr-55px {
  margin-right: 55px !important;
}

.p-55px {
  padding: 55px !important;
}

.py-55px {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.px-55px {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.pt-55px {
  padding-top: 55px !important;
}

.pb-55px {
  padding-bottom: 55px !important;
}

.pl-55px {
  padding-left: 55px !important;
}

.pr-55px {
  padding-right: 55px !important;
}

.m-60 {
  margin: 6rem !important;
}

.my-60 {
  margin: 6rem 0 !important;
}

.mx-60 {
  margin: 0 6rem !important;
}

.mt-60 {
  margin-top: 6rem !important;
}

.mb-60 {
  margin-bottom: 6rem !important;
}

.ml-60 {
  margin-left: 6rem !important;
}

.mr-60 {
  margin-right: 6rem !important;
}

.p-60 {
  padding: 6rem !important;
}

.py-60 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.px-60 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

.pt-60 {
  padding-top: 6rem !important;
}

.pb-60 {
  padding-bottom: 6rem !important;
}

.pl-60 {
  padding-left: 6rem !important;
}

.pr-60 {
  padding-right: 6rem !important;
}

.m-60px {
  margin: 60px !important;
}

.my-60px {
  margin: 60px 0 !important;
}

.mx-60px {
  margin: 0 60px !important;
}

.mt-60px {
  margin-top: 60px !important;
}

.mb-60px {
  margin-bottom: 60px !important;
}

.ml-60px {
  margin-left: 60px !important;
}

.mr-60px {
  margin-right: 60px !important;
}

.p-60px {
  padding: 60px !important;
}

.py-60px {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.px-60px {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.pt-60px {
  padding-top: 60px !important;
}

.pb-60px {
  padding-bottom: 60px !important;
}

.pl-60px {
  padding-left: 60px !important;
}

.pr-60px {
  padding-right: 60px !important;
}

.m-65 {
  margin: 6.5rem !important;
}

.my-65 {
  margin: 6.5rem 0 !important;
}

.mx-65 {
  margin: 0 6.5rem !important;
}

.mt-65 {
  margin-top: 6.5rem !important;
}

.mb-65 {
  margin-bottom: 6.5rem !important;
}

.ml-65 {
  margin-left: 6.5rem !important;
}

.mr-65 {
  margin-right: 6.5rem !important;
}

.p-65 {
  padding: 6.5rem !important;
}

.py-65 {
  padding-top: 6.5rem !important;
  padding-bottom: 6.5rem !important;
}

.px-65 {
  padding-left: 6.5rem !important;
  padding-right: 6.5rem !important;
}

.pt-65 {
  padding-top: 6.5rem !important;
}

.pb-65 {
  padding-bottom: 6.5rem !important;
}

.pl-65 {
  padding-left: 6.5rem !important;
}

.pr-65 {
  padding-right: 6.5rem !important;
}

.m-65px {
  margin: 65px !important;
}

.my-65px {
  margin: 65px 0 !important;
}

.mx-65px {
  margin: 0 65px !important;
}

.mt-65px {
  margin-top: 65px !important;
}

.mb-65px {
  margin-bottom: 65px !important;
}

.ml-65px {
  margin-left: 65px !important;
}

.mr-65px {
  margin-right: 65px !important;
}

.p-65px {
  padding: 65px !important;
}

.py-65px {
  padding-top: 65px !important;
  padding-bottom: 65px !important;
}

.px-65px {
  padding-left: 65px !important;
  padding-right: 65px !important;
}

.pt-65px {
  padding-top: 65px !important;
}

.pb-65px {
  padding-bottom: 65px !important;
}

.pl-65px {
  padding-left: 65px !important;
}

.pr-65px {
  padding-right: 65px !important;
}

.m-70 {
  margin: 7rem !important;
}

.my-70 {
  margin: 7rem 0 !important;
}

.mx-70 {
  margin: 0 7rem !important;
}

.mt-70 {
  margin-top: 7rem !important;
}

.mb-70 {
  margin-bottom: 7rem !important;
}

.ml-70 {
  margin-left: 7rem !important;
}

.mr-70 {
  margin-right: 7rem !important;
}

.p-70 {
  padding: 7rem !important;
}

.py-70 {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.px-70 {
  padding-left: 7rem !important;
  padding-right: 7rem !important;
}

.pt-70 {
  padding-top: 7rem !important;
}

.pb-70 {
  padding-bottom: 7rem !important;
}

.pl-70 {
  padding-left: 7rem !important;
}

.pr-70 {
  padding-right: 7rem !important;
}

.m-70px {
  margin: 70px !important;
}

.my-70px {
  margin: 70px 0 !important;
}

.mx-70px {
  margin: 0 70px !important;
}

.mt-70px {
  margin-top: 70px !important;
}

.mb-70px {
  margin-bottom: 70px !important;
}

.ml-70px {
  margin-left: 70px !important;
}

.mr-70px {
  margin-right: 70px !important;
}

.p-70px {
  padding: 70px !important;
}

.py-70px {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.px-70px {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.pt-70px {
  padding-top: 70px !important;
}

.pb-70px {
  padding-bottom: 70px !important;
}

.pl-70px {
  padding-left: 70px !important;
}

.pr-70px {
  padding-right: 70px !important;
}

.m-75 {
  margin: 7.5rem !important;
}

.my-75 {
  margin: 7.5rem 0 !important;
}

.mx-75 {
  margin: 0 7.5rem !important;
}

.mt-75 {
  margin-top: 7.5rem !important;
}

.mb-75 {
  margin-bottom: 7.5rem !important;
}

.ml-75 {
  margin-left: 7.5rem !important;
}

.mr-75 {
  margin-right: 7.5rem !important;
}

.p-75 {
  padding: 7.5rem !important;
}

.py-75 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.px-75 {
  padding-left: 7.5rem !important;
  padding-right: 7.5rem !important;
}

.pt-75 {
  padding-top: 7.5rem !important;
}

.pb-75 {
  padding-bottom: 7.5rem !important;
}

.pl-75 {
  padding-left: 7.5rem !important;
}

.pr-75 {
  padding-right: 7.5rem !important;
}

.m-75px {
  margin: 75px !important;
}

.my-75px {
  margin: 75px 0 !important;
}

.mx-75px {
  margin: 0 75px !important;
}

.mt-75px {
  margin-top: 75px !important;
}

.mb-75px {
  margin-bottom: 75px !important;
}

.ml-75px {
  margin-left: 75px !important;
}

.mr-75px {
  margin-right: 75px !important;
}

.p-75px {
  padding: 75px !important;
}

.py-75px {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.px-75px {
  padding-left: 75px !important;
  padding-right: 75px !important;
}

.pt-75px {
  padding-top: 75px !important;
}

.pb-75px {
  padding-bottom: 75px !important;
}

.pl-75px {
  padding-left: 75px !important;
}

.pr-75px {
  padding-right: 75px !important;
}

.m-80 {
  margin: 8rem !important;
}

.my-80 {
  margin: 8rem 0 !important;
}

.mx-80 {
  margin: 0 8rem !important;
}

.mt-80 {
  margin-top: 8rem !important;
}

.mb-80 {
  margin-bottom: 8rem !important;
}

.ml-80 {
  margin-left: 8rem !important;
}

.mr-80 {
  margin-right: 8rem !important;
}

.p-80 {
  padding: 8rem !important;
}

.py-80 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.px-80 {
  padding-left: 8rem !important;
  padding-right: 8rem !important;
}

.pt-80 {
  padding-top: 8rem !important;
}

.pb-80 {
  padding-bottom: 8rem !important;
}

.pl-80 {
  padding-left: 8rem !important;
}

.pr-80 {
  padding-right: 8rem !important;
}

.m-80px {
  margin: 80px !important;
}

.my-80px {
  margin: 80px 0 !important;
}

.mx-80px {
  margin: 0 80px !important;
}

.mt-80px {
  margin-top: 80px !important;
}

.mb-80px {
  margin-bottom: 80px !important;
}

.ml-80px {
  margin-left: 80px !important;
}

.mr-80px {
  margin-right: 80px !important;
}

.p-80px {
  padding: 80px !important;
}

.py-80px {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.px-80px {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.pt-80px {
  padding-top: 80px !important;
}

.pb-80px {
  padding-bottom: 80px !important;
}

.pl-80px {
  padding-left: 80px !important;
}

.pr-80px {
  padding-right: 80px !important;
}

.m-85 {
  margin: 8.5rem !important;
}

.my-85 {
  margin: 8.5rem 0 !important;
}

.mx-85 {
  margin: 0 8.5rem !important;
}

.mt-85 {
  margin-top: 8.5rem !important;
}

.mb-85 {
  margin-bottom: 8.5rem !important;
}

.ml-85 {
  margin-left: 8.5rem !important;
}

.mr-85 {
  margin-right: 8.5rem !important;
}

.p-85 {
  padding: 8.5rem !important;
}

.py-85 {
  padding-top: 8.5rem !important;
  padding-bottom: 8.5rem !important;
}

.px-85 {
  padding-left: 8.5rem !important;
  padding-right: 8.5rem !important;
}

.pt-85 {
  padding-top: 8.5rem !important;
}

.pb-85 {
  padding-bottom: 8.5rem !important;
}

.pl-85 {
  padding-left: 8.5rem !important;
}

.pr-85 {
  padding-right: 8.5rem !important;
}

.m-85px {
  margin: 85px !important;
}

.my-85px {
  margin: 85px 0 !important;
}

.mx-85px {
  margin: 0 85px !important;
}

.mt-85px {
  margin-top: 85px !important;
}

.mb-85px {
  margin-bottom: 85px !important;
}

.ml-85px {
  margin-left: 85px !important;
}

.mr-85px {
  margin-right: 85px !important;
}

.p-85px {
  padding: 85px !important;
}

.py-85px {
  padding-top: 85px !important;
  padding-bottom: 85px !important;
}

.px-85px {
  padding-left: 85px !important;
  padding-right: 85px !important;
}

.pt-85px {
  padding-top: 85px !important;
}

.pb-85px {
  padding-bottom: 85px !important;
}

.pl-85px {
  padding-left: 85px !important;
}

.pr-85px {
  padding-right: 85px !important;
}

.m-90 {
  margin: 9rem !important;
}

.my-90 {
  margin: 9rem 0 !important;
}

.mx-90 {
  margin: 0 9rem !important;
}

.mt-90 {
  margin-top: 9rem !important;
}

.mb-90 {
  margin-bottom: 9rem !important;
}

.ml-90 {
  margin-left: 9rem !important;
}

.mr-90 {
  margin-right: 9rem !important;
}

.p-90 {
  padding: 9rem !important;
}

.py-90 {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.px-90 {
  padding-left: 9rem !important;
  padding-right: 9rem !important;
}

.pt-90 {
  padding-top: 9rem !important;
}

.pb-90 {
  padding-bottom: 9rem !important;
}

.pl-90 {
  padding-left: 9rem !important;
}

.pr-90 {
  padding-right: 9rem !important;
}

.m-90px {
  margin: 90px !important;
}

.my-90px {
  margin: 90px 0 !important;
}

.mx-90px {
  margin: 0 90px !important;
}

.mt-90px {
  margin-top: 90px !important;
}

.mb-90px {
  margin-bottom: 90px !important;
}

.ml-90px {
  margin-left: 90px !important;
}

.mr-90px {
  margin-right: 90px !important;
}

.p-90px {
  padding: 90px !important;
}

.py-90px {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.px-90px {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.pt-90px {
  padding-top: 90px !important;
}

.pb-90px {
  padding-bottom: 90px !important;
}

.pl-90px {
  padding-left: 90px !important;
}

.pr-90px {
  padding-right: 90px !important;
}

.m-95 {
  margin: 9.5rem !important;
}

.my-95 {
  margin: 9.5rem 0 !important;
}

.mx-95 {
  margin: 0 9.5rem !important;
}

.mt-95 {
  margin-top: 9.5rem !important;
}

.mb-95 {
  margin-bottom: 9.5rem !important;
}

.ml-95 {
  margin-left: 9.5rem !important;
}

.mr-95 {
  margin-right: 9.5rem !important;
}

.p-95 {
  padding: 9.5rem !important;
}

.py-95 {
  padding-top: 9.5rem !important;
  padding-bottom: 9.5rem !important;
}

.px-95 {
  padding-left: 9.5rem !important;
  padding-right: 9.5rem !important;
}

.pt-95 {
  padding-top: 9.5rem !important;
}

.pb-95 {
  padding-bottom: 9.5rem !important;
}

.pl-95 {
  padding-left: 9.5rem !important;
}

.pr-95 {
  padding-right: 9.5rem !important;
}

.m-95px {
  margin: 95px !important;
}

.my-95px {
  margin: 95px 0 !important;
}

.mx-95px {
  margin: 0 95px !important;
}

.mt-95px {
  margin-top: 95px !important;
}

.mb-95px {
  margin-bottom: 95px !important;
}

.ml-95px {
  margin-left: 95px !important;
}

.mr-95px {
  margin-right: 95px !important;
}

.p-95px {
  padding: 95px !important;
}

.py-95px {
  padding-top: 95px !important;
  padding-bottom: 95px !important;
}

.px-95px {
  padding-left: 95px !important;
  padding-right: 95px !important;
}

.pt-95px {
  padding-top: 95px !important;
}

.pb-95px {
  padding-bottom: 95px !important;
}

.pl-95px {
  padding-left: 95px !important;
}

.pr-95px {
  padding-right: 95px !important;
}

.m-100 {
  margin: 10rem !important;
}

.my-100 {
  margin: 10rem 0 !important;
}

.mx-100 {
  margin: 0 10rem !important;
}

.mt-100 {
  margin-top: 10rem !important;
}

.mb-100 {
  margin-bottom: 10rem !important;
}

.ml-100 {
  margin-left: 10rem !important;
}

.mr-100 {
  margin-right: 10rem !important;
}

.p-100 {
  padding: 10rem !important;
}

.py-100 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.px-100 {
  padding-left: 10rem !important;
  padding-right: 10rem !important;
}

.pt-100 {
  padding-top: 10rem !important;
}

.pb-100 {
  padding-bottom: 10rem !important;
}

.pl-100 {
  padding-left: 10rem !important;
}

.pr-100 {
  padding-right: 10rem !important;
}

.m-100px {
  margin: 100px !important;
}

.my-100px {
  margin: 100px 0 !important;
}

.mx-100px {
  margin: 0 100px !important;
}

.mt-100px {
  margin-top: 100px !important;
}

.mb-100px {
  margin-bottom: 100px !important;
}

.ml-100px {
  margin-left: 100px !important;
}

.mr-100px {
  margin-right: 100px !important;
}

.p-100px {
  padding: 100px !important;
}

.py-100px {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.px-100px {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.pt-100px {
  padding-top: 100px !important;
}

.pb-100px {
  padding-bottom: 100px !important;
}

.pl-100px {
  padding-left: 100px !important;
}

.pr-100px {
  padding-right: 100px !important;
}

.wid-0 {
  width: 0% !important;
}

.wid-2 {
  width: 2% !important;
}

.wid-4 {
  width: 4% !important;
}

.wid-6 {
  width: 6% !important;
}

.wid-8 {
  width: 8% !important;
}

.wid-10 {
  width: 10% !important;
}

.wid-12 {
  width: 12% !important;
}

.wid-14 {
  width: 14% !important;
}

.wid-16 {
  width: 16% !important;
}

.wid-18 {
  width: 18% !important;
}

.wid-20 {
  width: 20% !important;
}

.wid-22 {
  width: 22% !important;
}

.wid-24 {
  width: 24% !important;
}

.wid-26 {
  width: 26% !important;
}

.wid-28 {
  width: 28% !important;
}

.wid-30 {
  width: 30% !important;
}

.wid-32 {
  width: 32% !important;
}

.wid-34 {
  width: 34% !important;
}

.wid-36 {
  width: 36% !important;
}

.wid-38 {
  width: 38% !important;
}

.wid-40 {
  width: 40% !important;
}

.wid-42 {
  width: 42% !important;
}

.wid-44 {
  width: 44% !important;
}

.wid-46 {
  width: 46% !important;
}

.wid-48 {
  width: 48% !important;
}

.wid-50 {
  width: 50% !important;
}

.wid-52 {
  width: 52% !important;
}

.wid-54 {
  width: 54% !important;
}

.wid-56 {
  width: 56% !important;
}

.wid-58 {
  width: 58% !important;
}

.wid-60 {
  width: 60% !important;
}

.wid-62 {
  width: 62% !important;
}

.wid-64 {
  width: 64% !important;
}

.wid-66 {
  width: 66% !important;
}

.wid-68 {
  width: 68% !important;
}

.wid-70 {
  width: 70% !important;
}

.wid-72 {
  width: 72% !important;
}

.wid-74 {
  width: 74% !important;
}

.wid-76 {
  width: 76% !important;
}

.wid-78 {
  width: 78% !important;
}

.wid-80 {
  width: 80% !important;
}

.wid-82 {
  width: 82% !important;
}

.wid-84 {
  width: 84% !important;
}

.wid-86 {
  width: 86% !important;
}

.wid-88 {
  width: 88% !important;
}

.wid-90 {
  width: 90% !important;
}

.wid-92 {
  width: 92% !important;
}

.wid-94 {
  width: 94% !important;
}

.wid-96 {
  width: 96% !important;
}

.wid-98 {
  width: 98% !important;
}

.wid-100 {
  width: 100% !important;
}

.mb0 {
  margin-bottom: 0;
}

.mt0 {
  margin-top: 0;
}

.hide {
  display: none;
}

.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.tal {
  text-align: left !important;
}

.ma {
  margin-right: auto !important;
  margin-left: auto !important;
}

.mra {
  margin-right: auto !important;
}

.mla {
  margin-left: auto !important;
}

.bslr {
  padding-left: 15px;
  padding-right: 15px;
}

a.link {
  display: inline-block;
}

.indentleft {
  padding-left: 1.5rem;
  text-indent: -1.5rem;
}

.clr3 {
  color: #00a1e9;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  position: relative;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
}
body.pageHome:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/bg.jpg) 50% top no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
}

#wrapper {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 800px;
}

#snsshare {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
  font-size: 0;
  width: 100%;
  padding: 30px 15px 15px 15px;
  background: rgba(0, 0, 0, 0.45);
  position: relative;
}
#snsshare > div {
  padding: 0 15px;
}
#snsshare > div:nth-child(4) {
  width: 54px;
}
#snsshare > div a {
  display: inline-block;
}
#snsshare > div img {
  height: 24px;
  display: inline-block;
}

#main {
  max-width: 100vw;
  overflow-x: hidden;
}

#bana {
  width: 100%;
  padding: 10px 10px 30px 10px;
  background: rgba(0, 0, 0, 0.6);
  text-align: center;
  position: relative;
}
#bana #banainner {
  width: 90%;
  max-width: 800px;
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  padding: -5px;
}
#bana #banainner > div {
  width: calc(50% - 10px);
  margin: 5px;
}
#bana #banainner > div a {
  display: block;
  font-size: 0;
}

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

a {
  text-decoration: none;
  position: relative;
  z-index: 2;
}
a:focus, a:active {
  outline: none;
}

.contitle {
  text-align: center;
}
.contitle img {
  height: 12vw;
  max-height: 60px;
}

.yokoichi {
  width: 100%;
}

.bgnone {
  background: none !important;
}

.iframewrapper {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  z-index: 2;
}

.iframewrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.iframewrapper a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

ruby {
  ruby-position: over; /* ルビを上に配置 */
}

rt {
  font-size: 0.5rem; /* ルビ文字を小さく（親要素の50%） */
  font-weight: normal;
}

/* 行間を詰める */
.ruby-container {
  line-height: 1; /* ルビがある行の高さを確保しつつ詰める */
}

.hidden_chara {
  height: 24px !important;
  display: inline-block;
}

.modaal-content-container {
  padding: 0 !important;
}

.modaal-container {
  background: none !important;
}

#main #mainvisu {
  padding-top: 60px;
  background: #FFF;
  position: relative;
  font-size: 0;
}
#main #mainvisu .catch1 {
  opacity: 0;
  position: absolute;
  z-index: 13;
  top: 10%;
  left: 55%;
  width: 15%;
  z-index: 12;
  transform: translate(10%, 0);
  animation: anime_catch 3s ease 0.8s forwards;
}
#main #mainvisu .catch_new {
  opacity: 0;
  position: absolute;
  z-index: 13;
  top: 5%;
  left: -2%;
  width: 17%;
  z-index: 12;
  transform: translate(10%, 0);
  animation: anime_catch_new 3s ease 0.8s forwards;
}
#main #mainlogo_ky {
  z-index: 2;
  position: relative;
  text-align: center;
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 20%, rgba(255, 255, 255, 0.8) 70%, rgb(255, 255, 255) 100%);
}
#main #mainlogo_ky.newvisuver {
  background: rgb(1, 20, 42);
  background: linear-gradient(0deg, rgba(1, 20, 42, 0) 20%, rgba(1, 20, 42, 0.8) 60%, rgb(1, 20, 42) 100%);
}
#main #mainlogo_ky .logo {
  width: 92%;
  margin-top: -12vh;
  margin-top: -12svh;
}
#main #mainlogo_ky .loadshow {
  width: 65%;
}
#main #mainlogo_ky .loadshow2 {
  width: 55%;
}
#main #mainlogo_ky .roadshowing {
  width: 45%;
}

#topvideo {
  width: 100%;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
#topvideo .topvideoinner {
  width: 100%;
}

#title_video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 0;
  text-align: center;
}
#title_video img {
  width: 80%;
  max-width: 600px;
}

#topnavi ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-left: 0;
  width: 100%;
  font-size: 0;
  margin: -0.5px;
}
#topnavi ul li.yokoichi {
  width: calc(100% - 2px);
}
#topnavi ul li {
  margin: 1px;
  width: calc(50% - 2px);
  padding: calc(15px * 1) 5px;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  list-style: none;
}
#topnavi ul li a {
  display: block;
}
#topnavi ul li a img {
  max-height: 27px;
}
#topnavi ul li.large a {
  display: block;
}
#topnavi ul li.large a img {
  max-height: 35px;
}

#credit {
  text-align: center;
  padding: calc(15px * 2) 5px;
}

#topsns .topnavsub {
  letter-spacing: 1px;
  margin-bottom: 0;
  color: #FFF;
}
#topsns .topnavsub span {
  display: inline-block;
  line-height: 1;
}
#topsns .topnavsub span img {
  max-height: 35px;
}
#topsns #topnavisns .snslist {
  width: 100%;
  display: flex;
  justify-content: center;
}
#topsns #topnavisns .snslist img {
  max-height: 35px;
}
#topsns #topnavisns .snslist > div {
  font-size: 0;
  padding: 0 4px;
  margin: 0 1%;
  text-align: center;
}
#topsns #topnavisns .snslist > div a {
  display: block;
}

.topconin {
  padding: 0.5rem;
  background: rgba(0, 27, 68, 0.8);
  border-radius: 0.5rem;
}

#cvs-wrap {
  position: fixed;
  width: 100vw;
  max-width: 100vw;
  height: 100%;
  min-height: 100vh;
  max-height: 100vh;
  margin: 0;
  padding: 0;
  left: 0;
  top: 0;
  overflow: hidden !important;
  z-index: 0;
  background: rgba(6, 8, 29, 0.5);
}

#story {
  position: relative;
}
#story:before {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  min-height: 100svh;
  top: 60px;
  background: #010c27;
}
#story .storyvisubg {
  background: #D70E1A;
  background: linear-gradient(180deg, rgb(215, 14, 26) 0%, rgb(215, 14, 26) 30%, rgb(46, 1, 1) 100%);
}
#story #story_main {
  overflow: hidden;
  margin-top: 60px;
  width: 100%;
  background: url(../img/story/storyvisu_bg.png) no-repeat top center;
  background-size: cover;
  position: relative;
}
#story #story_main .storyphoto {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#story #story_main .story_title {
  z-index: 0;
  animation: fade-anim 0.1s cubic-bezier(0.19, 1, 0.22, 1) 1s forwards;
}
#story #story_main .photo01 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0s forwards;
  z-index: 9;
  animation-play-state: paused;
}
#story #story_main .photo02 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.15s forwards;
  z-index: 8;
  animation-play-state: paused;
}
#story #story_main .photo03 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.3s forwards;
  z-index: 7;
  animation-play-state: paused;
}
#story #story_main .photo04 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.45s forwards;
  z-index: 6;
  animation-play-state: paused;
}
#story #story_main .photo05 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.6s forwards;
  z-index: 5;
  animation-play-state: paused;
}
#story #story_main .photo06 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.75s forwards;
  z-index: 4;
  animation-play-state: paused;
}
#story #story_main .photo07 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.9s forwards;
  z-index: 3;
  animation-play-state: paused;
}
#story #story_main .photo08 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 1.05s forwards;
  z-index: 2;
  animation-play-state: paused;
}
#story #story_main .photo09 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 1.2s forwards;
  z-index: 1;
  animation-play-state: paused;
}
#story #story_main_new {
  overflow: hidden;
  margin-top: 60px;
  width: 100%;
  background: url(../img/story/storyvisu_bg_new.png) no-repeat top center;
  background-size: cover;
  position: relative;
}
#story #story_main_new .storyphoto {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#story #story_main_new .story_title {
  top: inherit;
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  animation: fadeInDown 1s ease 1s forwards;
  animation-play-state: paused;
  z-index: 9;
}
#story #story_main_new .photo01 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0s forwards;
  z-index: 9;
  animation-play-state: paused;
}
#story #story_main_new .photo02 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.15s forwards;
  z-index: 8;
  animation-play-state: paused;
}
#story #story_main_new .photo03 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.3s forwards;
  z-index: 7;
  animation-play-state: paused;
}
#story #story_main_new .photo04 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.45s forwards;
  z-index: 6;
  animation-play-state: paused;
}
#story #story_main_new .photo05 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.6s forwards;
  z-index: 5;
  animation-play-state: paused;
}
#story #story_main_new .photo06 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.75s forwards;
  z-index: 4;
  animation-play-state: paused;
}
#story #story_main_new .photo07 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 0.9s forwards;
  z-index: 3;
  animation-play-state: paused;
}
#story #story_main_new .photo08 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 1.05s forwards;
  z-index: 2;
  animation-play-state: paused;
}
#story #story_main_new .photo09 {
  filter: blur(40px);
  animation: blur-anim1 0.4s ease-out 1.2s forwards;
  z-index: 1;
  animation-play-state: paused;
}
#story #story_main_new .catch {
  z-index: 2;
  top: 72%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: dadaan 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.8s forwards;
  animation-play-state: paused;
}
#story .slideimage {
  font-size: 0;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 26px 0;
}
#story .slideimage:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 26px;
  background: url(../img/story/decoarrow.png) repeat-x;
}
#story .slideimage:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 26px;
  background: #000 url(../img/story/decoarrow_re.png) repeat-x;
}
@keyframes loop_animation_right_double {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
#story .slideimage .story_photos_anime {
  display: flex;
  width: calc(100% + 30px);
  height: 35vw;
  overflow: hidden;
  margin-left: -15px;
}
#story .slideimage .story_photos_anime picture {
  width: auto;
  max-width: inherit;
  animation: loop_animation_right_double 60s linear infinite;
  height: 100%;
}
#story .slideimage .story_photos_anime picture .photo_anime_img {
  height: 35vw;
  width: auto;
  max-width: inherit;
  white-space: nowrap;
}
#story .storytxt {
  color: #FFF;
}
#story .storytxt--in {
  padding: 15px;
}
#story .storytxt--in p + p {
  margin-top: 1.5rem;
  line-height: 1.8;
  letter-spacing: 1px;
}
#story .storytxt--in-headline {
  text-align: center;
  margin-top: 30px;
}
#story .storytxt--in-img1, #story .storytxt--in-headline {
  opacity: 0;
  animation-play-state: paused;
  animation: fade-anim 4s cubic-bezier(0.19, 1, 0.22, 1) 2.4s forwards;
}
#story #ccq {
  background: url(../img/story/bg_ccq.jpg) no-repeat center center;
  background-size: cover;
  padding: 3rem 15px;
  color: #FFF;
}
#story .ccq_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px 0px;
}
#story .ccq_head_img {
  width: 25%;
}
#story .ccq_head_txt {
  line-height: 1.25;
  width: 75%;
  padding-left: 10px;
  font-weight: bold;
}
#story .ccq_txt {
  font-weight: bold !important;
  font-style: italic;
  color: #cd1e21;
  filter: drop-shadow(1px 3px 1px rgba(0, 0, 0, 0.6));
  font-size: 1.6rem;
}
#story .ccq_body {
  font-weight: bold;
}
#story .ccq_body ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  padding-left: 0;
  display: flex;
  justify-content: center;
}
#story .ccq_body ol li {
  font-size: 16px;
  line-height: 1.5;
  padding-left: 30px;
  position: relative;
  font-size: 1.6rem;
  padding: 0px 15px 0px 30px;
  filter: drop-shadow(1px 4px 1px rgba(0, 0, 0, 0.6));
}
#story .ccq_body ol li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background: #ffffff;
  background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(0, 106, 205) 100%);
  border: 1px solid #006ACD;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 22px;
  width: 22px;
  color: #006ACD;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

@keyframes messageEffect {
  0% {
    opacity: 0;
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
.fadein_sakurachara {
  animation: fadein_sakuramain 3s ease 2.5s forwards;
}

.fadein_sakuracap {
  animation: fadein_sakuramain 3s ease 5s forwards;
}

@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime_akaixkuroda {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime_black {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime_catch {
  0% {
    opacity: 0;
    top: 15%;
  }
  100% {
    opacity: 1;
    top: 20%;
  }
}
@keyframes anime_catch_new {
  0% {
    opacity: 0;
    top: 5%;
  }
  100% {
    opacity: 1;
    top: 15%;
  }
}
@keyframes anime_catch_ky {
  0% {
    opacity: 0;
    top: 0;
  }
  100% {
    opacity: 1;
    top: 4%;
  }
}
@keyframes anime_catch_ky_kid {
  0% {
    opacity: 0;
    top: 0;
  }
  100% {
    opacity: 1;
    top: 2%;
  }
}
@keyframes anime_copy {
  0% {
    opacity: 0;
    top: 0;
  }
  100% {
    opacity: 1;
    top: 1%;
  }
}
@keyframes anime_logo {
  0% {
    opacity: 0;
    bottom: 10%;
  }
  100% {
    opacity: 1;
    bottom: 10%;
  }
}
@keyframes anime_logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-anim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blur-anim1 {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  20% {
    opacity: 0.08;
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}
@keyframes dadaan {
  0% {
    transform: scale(0) rotate(0deg) translate(-50%, -50%);
    opacity: 0;
  }
  50% {
    transform: scale(1.2) rotate(0deg) translate(-50%, -50%);
  }
  100% {
    transform: scale(1) rotate(0deg) translate(-50%, -50%);
    opacity: 1;
  }
}
@keyframes slideInLeft2 {
  from {
    filter: blur(1.5);
    transform: translateX(-20%) translate(-50%, -50%);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: translateX(0) translate(-50%, -50%);
    opacity: 1;
  }
}
@keyframes slideInLeft {
  from {
    filter: blur(1.5);
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInRight {
  from {
    filter: blur(1.5);
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-60%) translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateY(-50%) translateX(-50%);
  }
}
.slide-in {
  opacity: 0;
}
.slide-in.leftIn {
  opacity: 0;
  filter: blur(2);
  transform: translateX(-20%);
  transition: all 0.3s ease-out 0.5s;
  animation-play-state: paused;
}
.slide-in.ignition.leftIn {
  opacity: 1;
  filter: blur(0);
  transform: translateX(0);
}
.slide-in.rightIn {
  opacity: 0;
  filter: blur(2);
  transform: translateX(20%);
  transition: all 0.3s ease-out 0.5s;
  animation-play-state: paused;
}
.slide-in.ignition.rightIn {
  opacity: 1;
  filter: blur(0);
  transform: translateX(0);
}
.slide-in.ignition.fadeIn {
  animation: blur-anim1 0.3s ease-out 0.5s forwards;
}
.slide-in.downIn {
  opacity: 0;
  filter: blur(2);
  transform: translateY(-20%);
  transition: all 0.5s ease-out 0.5s;
  animation-play-state: paused;
}
.slide-in.ignition.downIn {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

@keyframes move {
  0% {
    transform: rotate(45deg) translate(0, 0);
  }
  20% {
    transform: rotate(45deg) translate(5px, 5px);
  }
  40% {
    transform: rotate(45deg) translate(0, 0);
  }
}
#loading {
  width: 100%;
  max-width: 100vw;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);
  max-height: 100vh;
  background: rgb(72, 177, 226);
  background: rgb(72, 177, 226);
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(72, 177, 226) 100%);
  /*background: linear-gradient(0deg, rgba(0,27,68,1) 0%, rgba(0,161,233,1) 48%, rgba(0,27,68,1) 100%);*/
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 11000;
}
#loading #loading_img {
  width: 40%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
#loading #loading_img .crystal {
  animation: blinking 1s ease-in-out infinite alternate;
}
#loading #loading_img .loading_txt {
  width: 50%;
  position: relative;
}
#loading #loading_img {
  letter-spacing: 1px;
  color: #ababab;
  text-align: center;
}
#loading #loading_img .loadingbox {
  position: relative;
  height: 20px;
  margin: auto;
  width: 75px;
  font-family: boucherie-block, sans-serif;
  font-weight: 600;
  color: #001b44;
}
#loading #loading_img .loadingbox .loadingtxt {
  text-align: left;
  display: inline-block;
  margin: auto;
  width: 100%;
}

#header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0px 0;
  display: flex;
  flex-wrap: wrap;
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 50%, rgb(255, 255, 255) 100%);
  justify-content: center;
  align-items: center;
  z-index: 999;
  height: 60px;
  transition: all 200ms 0s ease;
}
#staffcast #header, #themesong #header, #trailer #header, #keypersons #header, #animail #header {
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  transition: all 200ms 0s ease;
}
#staffcast.scroll #header, #themesong.scroll #header, #trailer.scroll #header, #keypersons.scroll #header, #animail.scroll #header {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.75) 50%, rgb(255, 255, 255) 100%);
}
#header #title_teaser {
  width: 64%;
  text-align: center;
}
#header #title_teaser img {
  width: 100%;
  max-width: 600px;
}
#header #logo {
  width: 60vw !important;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-55%, -50%);
  transition: all 300ms 0s ease;
  z-index: 10000;
}
#header {
  /*#logo.logosmall {
    width: 110px!important;
    height: 40px!important;
    margin-left: -55px!important;
  }*/
}
#header .headersmall #header_in {
  height: 10vw;
}
#header .headersmall #logo {
  width: 45vw !important;
}

#spMenu {
  display: block;
  position: absolute;
  z-index: 1000;
  position: fixed;
  top: 32px;
  right: 10px;
  transform: translateY(-50%);
}

.menu-trigger-circle {
  padding: 0px 0px;
  width: 25px;
  height: 12px;
  top: 20px;
  transform: translateY(-50%);
  /*background: #003e77;*/
  /*border-radius: 20px;
  -webkit-border-radius: 20px;*/
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  width: 25px;
  height: 12px;
}

.menu-trigger span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  /*background: url(../img/burger_line.png) no-repeat center center;
  background-size:cover;*/
  background: #001b44;
  border-radius: 3px;
}

.menu-trigger.active span {
  background: #001b44;
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

/*.menu-trigger span:nth-of-type(2) {
  top: 8px;
}*/
.menu-trigger span:nth-of-type(2) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  width: 100%;
  transform: translateY(5px) rotate(-30deg);
}

/*.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}*/
.menu-trigger.active span:nth-of-type(2) {
  transform: translateY(-5px) rotate(30deg);
}

#toggleWrap {
  opacity: 0;
  background: rgb(0, 166, 234);
  background: linear-gradient(0deg, rgb(0, 166, 234) 0%, rgb(230, 240, 250) 56%, rgb(255, 255, 255) 100%);
  padding: 20vw 10px 15px 10px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 999;
  overflow: auto;
  /*z-index: -100!important;*/
}
.menuOn #toggleWrap {
  animation: toggle_anime_on 0.5s ease forwards;
}
@keyframes toggle_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#navilogo {
  margin-bottom: 1rem;
  width: 40vw;
  margin-left: auto;
  margin-right: auto;
}

#navi {
  width: 95%;
  max-width: 800px;
  margin: auto;
  overflow: auto;
}
#navi > ul {
  padding: 0;
}
#navi > ul li {
  margin-left: -30px;
  list-style: none;
  padding: 10px;
  display: block;
  margin-bottom: 1rem;
  font-family: goudy-old-style, serif;
  font-weight: 700;
  font-style: normal;
  color: #001b44;
}
.menuOn #navi > ul li {
  animation: nav_anime_on 0.5s ease forwards;
}
@keyframes nav_anime_on {
  0% {
    opacity: 0;
    margin-left: -30px;
  }
  100% {
    opacity: 1;
    margin-left: 0px;
  }
}
#navi > ul li ul.gsubnavi {
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
}
#navi > ul li ul.gsubnavi li {
  width: 50%;
  font-size: 5vw;
  margin-bottom: 0;
}
#navi > ul li ul.gsubnavi li a {
  width: 100%;
  height: 100%;
  border-bottom: solid 1px rgba(3, 38, 118, 0.1);
  color: #001b44;
}
@keyframes toggle_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#gsubnavi {
  padding: 20px 20px 20px 20px;
  background: rgba(0, 0, 0, 0.9);
}

#navi > ul > li a {
  display: block;
}

#nav > ul > li.snslink {
  background: none;
  border: none;
}

#navi > ul > li > a img,
#navi ul > li > p img {
  max-height: 4.5vw;
}

#navi > ul > li > a {
  color: #001b44;
  font-size: 6vw;
  line-height: 1;
}
#navi > ul > li > a:not(.nob) {
  border-bottom: solid 1px rgba(3, 38, 118, 0.1);
}
#navi > ul > li > a:hover {
  text-decoration: none;
}
#navi > ul > li > a:active {
  text-decoration: none;
}

li.accordion p {
  display: block;
  margin: 0;
  font-size: 6.5vw;
}

li.accordion p {
  background-size: 4vw;
  position: relative;
}
li.accordion p:after {
  font-family: "iconmonstr-iconic-font";
  font-size: 5vw;
  content: "\e072";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0, -50%);
  transition: all 0.8s 0s ease;
}
li.accordion p.navdumm:after {
  right: 0px;
}

li.accordion p.atmopen {
  position: relative;
  background-size: 4vw;
}
li.accordion p.atmopen:after {
  font-family: "iconmonstr-iconic-font";
  font-size: 5vw;
  content: "\e073";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}

.snslink .navsub {
  font-size: 1.4rem;
  color: #000;
}
.snslink #navisns {
  width: 100%;
  display: flex;
  justify-content: center;
}
.snslink #navisns img {
  margin-top: 10px;
  max-height: 5.5vw;
}
.snslink #navisns > div {
  padding: 0 5px;
  margin: 1%;
  text-align: center;
}
.snslink #navi ul.innernavi {
  margin: 5px 0 0 0;
  display: none;
}
.snslink #navi ul.innernavi li {
  list-style: none;
  padding: 10px 10px 10px 20px;
  border-top: dotted 1px #000000;
  border-bottom: none;
}

#footer {
  position: relative;
  padding: 30px;
  background: #002a50;
  background: linear-gradient(90deg, rgba(0, 42, 80, 0.8) 0%, rgba(42, 131, 212, 0.8) 50%, rgba(0, 42, 80, 0.8) 100%);
  width: 100%;
  text-align: center;
  color: #FFF;
  font-size: 1rem;
}
#footer #pvcy {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  margin-bottom: 15px;
  line-height: 1;
}
#footer #pvcy > div {
  width: 50%;
  padding: 0 0.5rem 15px 0.5rem;
}
#footer #pvcy > div a {
  color: #FFF;
}
#footer #txttitle {
  margin-bottom: 10px;
}
#footer #txttitle img {
  max-height: 10px;
}

.topilist + .topilist {
  margin-top: 5px;
}
.topilist {
  width: 100%;
  color: #001b44;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 5px;
  padding: 12px 5px;
  display: block;
  padding-right: 20px;
  position: relative;
}
.topilist:after {
  content: "";
  font-family: "iconmonstr-iconic-font";
  content: "\e001";
  font-size: 1rem;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translate(0, -50%);
}
.topilist-in {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  line-height: 1.25;
  align-items: center;
}
.topilist-in-date {
  text-align: center;
  width: 20%;
  border-right: solid 1px;
  padding-right: 5px;
}
.topilist-in-date .year {
  font-size: 1.3rem;
  margin-bottom: -3px;
}
.topilist-in-date .day {
  font-size: 1.5rem;
  font-weight: bold;
}
.topilist-in-date .week {
  font-size: 1.1rem;
}
.topilist-in-text {
  width: 80%;
  padding-left: calc(5px * 2);
  text-align: left;
}
.topilist-in-text h4.headline {
  font-weight: normal;
  font-size: 1.25rem;
}
.topilist-in-text .cat {
  font-size: 0.95rem;
}
.topilist-in-text .cat span {
  display: inline-block;
  color: #FFF;
  background: #666666;
  line-height: 1;
  padding: 4px 8px;
  margin-bottom: 5px;
  border-radius: 3px;
}

#subnavi {
  position: relative;
  width: 100%;
  overflow: hidden;
}
#subnavi ul {
  margin: 0;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#subnavi ul li {
  margin: 1px;
  width: calc(50% - 2px);
  padding: calc(15px * 1) 5px;
  text-align: center;
  background: rgba(255, 255, 255, 0.7);
  list-style: none;
  line-height: 1;
  font-family: goudy-old-style, serif;
  font-weight: 700;
  font-style: normal;
  color: #001b44;
  font-size: 4.5vw;
}
#subnavi ul li a {
  display: block;
  color: #001b44;
}
#subnavi ul li a img {
  max-height: 17px;
}
#subnavi ul li.yokoichi {
  width: 100%;
}

.spguestbox {
  padding: 15px;
}

.article.spguest {
  padding: 15px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 15px;
  margin-bottom: 30px;
}
.article-head {
  margin-bottom: 15px;
}
.article-head .txtnama {
  width: 65%;
}
.article-body {
  position: relative;
  color: #FFF;
}
.article-body p {
  font-weight: 600;
  line-height: 1.75;
  filter: drop-shadow(0px 0px 3px #000) drop-shadow(0px 1px 0px #000);
}
.article-body p.rightspc {
  padding-right: 24%;
}
.article-body .photo {
  margin-bottom: 15px;
}
.article-body .photo.misia {
  text-align: center;
}
.article-body .photo.misia img {
  width: 70%;
}
.article-body .illust {
  text-align: center;
}
.article-body .illust .omae {
  width: 42%;
}
.article-body .illust .tateoki {
  width: 36%;
}
.article-body .songinfo img {
  width: 70%;
  max-width: 320px;
}
.article-body .songinfo h3 {
  font-size: 2.4rem;
  filter: drop-shadow(0px 1px 0px #000);
}
.article-body .songinfo h4 {
  font-size: 1.9rem;
  filter: drop-shadow(0px 1px 0px #000);
}
.article-body .songinfo .label {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.article-body .misiaprof .txt {
  font-weight: 600;
  font-size: 1.3rem;
  filter: drop-shadow(0px 0px 3px rgba(65, 20, 0, 0.8)) drop-shadow(0px 0px 1px rgba(65, 20, 0, 0.8));
}
.article-body .misiaprof .txt p {
  filter: none;
}
.article-body .misiaprof .profhead {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  border-bottom: solid 3px #0075a9;
}
.article-body .commentname img {
  max-height: 30px;
}

#themesong {
  position: relative;
  padding-top: 60px;
  max-width: 100vw;
  overflow-x: hidden;
}
#themesong:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/themesong/themesongbg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  top: 0px;
  left: 0;
}
#themesong #pagetitle img:not(.hidden_chara) {
  width: 95%;
}
#themesong .misialink {
  max-width: 200px;
}

#staffcast {
  position: relative;
  padding-top: 60px;
  max-width: 100vw;
  overflow-x: hidden;
}
#staffcast:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/staffcast/staffcast_bg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  top: 0px;
  left: 0;
}
#staffcast #pagetitle img:not(.hidden_chara) {
  width: 95%;
}
#staffcast #staffcast_main {
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: 480px;
}
#staffcast #creditin {
  position: relative;
  background: url(../img/staffcast/creditbg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 5rem 15px;
}
#staffcast #creditin .credittitle img {
  width: 35%;
}
#staffcast .oricomi {
  color: #FFF;
}
#staffcast .oricomi .illust_aoyama {
  position: absolute;
  right: -10px;
  top: -3rem;
  width: 35%;
  z-index: 1;
}
#staffcast .oricomi .txt_gosho {
  width: 40%;
}

#trailer {
  position: relative;
  padding-top: 60px;
  max-width: 100vw;
  overflow-x: hidden;
}
#trailer:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/trailer/trailer_bg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  top: 0px;
  left: 0;
}
#trailer #pagetitle img:not(.hidden_chara) {
  width: 95%;
}
#trailer .videobox {
  padding: 15px;
}
#trailer .videobox .changebtn {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem auto;
  gap: 10px;
  width: 100%;
}
#trailer .videobox .changebtn a {
  background: rgba(0, 0, 0, 0.5);
  padding: 12px 5px;
  text-align: center;
  display: block;
  border: solid 0.5px #00a1e9;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}
#trailer .videobox .changebtn a.small, #trailer .videobox .changebtn a .small {
  font-size: smaller;
}
#trailer .videobox .changebtn.sepa2 a {
  width: calc(50% - 5px);
}
#trailer .videobox .changebtn.sepa3 a {
  width: 31.333%;
}
#trailer .videobox .changebtn.sepa4 a {
  width: 23%;
}
#trailer .videobox .changebtn a.active {
  background: rgba(0, 161, 233, 0.8);
  border: solid 0.5px rgba(255, 255, 255, 0.7);
  color: #FFF;
}
#trailer .videobox .changebtn a:hover {
  text-decoration: none;
}
#trailer .videobox .changebtn a:active {
  text-decoration: none;
}

#keypersons {
  position: relative;
  padding-top: 60px;
  max-width: 100vw;
  overflow-x: hidden;
}
#keypersons:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/keypersons/keypersonsbg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  top: 0px;
  left: 0;
}
#keypersons #pagetitle {
  margin: 3rem 0;
}
#keypersons #pagetitle img:not(.hidden_chara) {
  width: 95%;
}
#keypersons .charathum {
  display: flex;
  flex-wrap: wrap;
}
#keypersons .charathum .charathum-list {
  padding: 4px 4px;
  width: 33.3333333333% !important;
}
#keypersons .charathum .charathum-list:hover {
  filter: contrast(1.25) drop-shadow(0px 0px 3px rgba(255, 248, 22, 0.6));
}
#keypersons .charathum .charathum-list.slick-current, #keypersons .charathum .charathum-list.chara-active {
  filter: contrast(1.25) drop-shadow(0px 0px 3px rgba(255, 248, 22, 0.6));
}
#keypersons .slide-persons {
  width: 100%;
  background: url(../img/keypersons/chart_waku.png) no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
  padding: 0px 5px;
}
#keypersons .slick-prev {
  left: -15px;
}
#keypersons .slick-prev:before {
  font-family: "iconmonstr-iconic-font";
  content: "\e002";
  color: #FFF;
}
#keypersons .slick-next {
  right: -15px;
}
#keypersons .slick-next:before {
  font-family: "iconmonstr-iconic-font";
  content: "\e001";
  color: #FFF;
}

#animail {
  position: relative;
  padding-top: 60px;
  max-width: 100vw;
  overflow-x: hidden;
}
#animail:before {
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background: url(../img/animail/animailbg.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  top: 0px;
  left: 0;
}
#animail .animail .scroll {
  text-align: center;
  margin: 0 auto 30px auto;
}
#animail .animail .scroll span {
  position: relative;
}
#animail .animail .scroll span:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  left: 0;
  right: 0;
  bottom: -5px;
  margin: auto;
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg);
  animation: move 2s infinite;
}
#animail .animail-head {
  padding-top: 15px;
}
#animail .animail-intro {
  padding: 15px;
  color: #FFF;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.6));
}
#animail .animail-article .img_h1 {
  width: 80%;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.6));
}
#animail .page {
  padding: 0 15px;
  margin-bottom: 30px;
}
#animail .page.p7 {
  padding: 15px;
  background: url(../img/animail/p7bg.jpg) no-repeat;
  background-size: cover;
}
#animail .page.p9 {
  padding: 15px 0;
  background: url(../img/animail/p9bg.jpg) no-repeat;
  background-size: cover;
}
#animail .page.p10 {
  padding: 15px;
  background: url(../img/animail/p10bg.jpg) no-repeat;
  background-size: cover;
}
#animail .page.p11 {
  padding: 0;
}/*# sourceMappingURL=style.css.map */