@charset "UTF-8";
/* ----------------------------------------------------------------
   home
  ----------------------------------------------------------------- */
/* intro */
body.home .loader {
 align-items: center;
 display: flex;
 height: 100vh;
 justify-content: center;
 overflow: hidden;
 position: fixed;
 width: 100%;
 z-index: 100;
 -webkit-animation: fog-bkg-fade 19s linear 0s forwards;
 animation: fog-bkg-fade 19s linear 0s forwards;
}
body.home .skip {
 display: none;
}
.inner-video {
 position: relative;
 height: 56.25vw
}
.loader-skip {
 bottom: 1%;
 position: absolute;
 right: 1%;
 width: 125px;
 z-index: 9;
}
video {
 width: 100%; /* 動画をレスポンシブ化 */
}
@-webkit-keyframes fog-bkg-fade {
 0% {
  background-color: #000 visibility: visible;
 }
 90% {
  background-color: #000;
  opacity: 1;
  visibility: visible;
 }
 100% {
  background-color: none;
  opacity: 0;
  visibility: hidden;
 }
}
@keyframes fog-bkg-fade {
 0% {
  background-color: #000;
  visibility: visible;
 }
 90% {
  background-color: #000;
  opacity: 1;
 }
 100% {
  background-color: none;
  opacity: 0;
  visibility: hidden;
 }
}
/* スクロールダウン */
body.home .arrowWrap {
 position: absolute;
 right: 1%;
 bottom: 15px;
 height: 150px;
}
body.home .arrowInner p {
 color: #fff;
 font-family: minion-3-display, serif;
 font-size: 14px;
 font-style: normal;
 font-weight: 700;
 letter-spacing: 0.1em;
 text-align: end;
 -webkit-transform: rotate(90deg);
 transform: rotate(90deg);
}
body.home .arrow {
 background-color: #fff;
 display: block;
 width: 1px;
 height: 107px;
 margin: 26px auto 0;
 position: relative;
 overflow: hidden;
}
body.home .arrow::before {
 animation: arrow 2.5s ease-in-out infinite normal;
 -webkit-animation: arrow 2.5s ease-in-out infinite normal;
 display: block;
 content: '';
 width: 1px;
 height: 107px;
 margin: 26px auto 0;
 background: linear-gradient(to bottom, #714841 0%, #714841 100%);
 position: absolute;
 bottom: 0;
 left: 0;
}
@keyframes arrow {
 0% {
  transform: translateY(-100%);
 }
 100% {
  transform: translateY(100%);
 }
}
@-webkit-keyframes arrow {
 0% {
  transform: translateY(-100%);
 }
 100% {
  transform: translateY(100%);
 }
}
body.home .keyimg {
 background-image: url("../img/home/bkg_main2.jpg");
 background-position: top left 0px;
 background-repeat: no-repeat;
 background-size: contain;
 height: 100vh;
 margin: 0 auto;
 position: relative;
 width: 100%;
}
body.home .op-item {
 align-items: center;
 display: flex;
 height: 100%;
 margin-left: auto;
 justify-content: center;
 width: calc((100% - 72.6vh) - 0px);
}
body.home .main-info {
 width: 90%;
}
body.home .title {
 filter: drop-shadow(0px 0px 20px #da949f);
 margin: 0 auto;
 max-width: 728px;
 min-width: 528px;
 width: 90%;
}
@media only screen and (max-height: 720px) {
 body.home .keyimg {
  height: 720px;
 }
 body.home .op-item {
  width: calc((100% - 523px) - 0px);
 }
 body.home .title {
  max-width: 474px;
  width: 100%;
 }
}
body.home .schedule {
 align-items: center;
 display: flex;
 justify-content: center;
 margin-top: 4%;
 min-width: 528px;
}
body.home .schedule-inr {
 color: #714841;
 display: inline-block;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-style: normal;
 font-weight: 700;
 line-height: 1.5;
 text-shadow: 0px 0px 1px #714841;
}
body.home .schedule .date {
 font-size: 2.25vw;
}
body.home .schedule .place {
 font-size: 1.75vw;
 font-style: normal;
 font-weight: 700;
 padding: 0 0 1% 0;
}
body.home .schedule .place-sub {
 font-size: 1.0vw;
}
body.home .cast {
 color: #714841;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 1.75vw;
 line-height: 1.3;
 margin-top: 5%;
 min-width: 528px;
 text-align: center;
 text-shadow: 0px 0px 1px #714841;
}
body.home .cast a {
 color: #714841;
}
body.home .cast a:hover {
 opacity: 0.7;
}
body.home .cast .cast-cate {
 font-size: 1.0vw;
 font-weight: 700;
 margin-top: 5%;
}
body.home .cast .mr-5 {
 margin-right: 5px;
}
body.home .cast .mr-10 {
 margin-right: 10px;
}
body.home .cast .mr-15 {
 margin-right: 15px;
}
body.home .cast li {
 display: inline;
 white-space: nowrap;
}
body.home .actor .part {
 font-size: 1.0vw;
 font-weight: 800;
}
body.home .staff {
 margin: 0 auto;
 max-width: 700px;
}
body.home .staff .name {
 font-size: 1.5vw;
}
body.home .staff .part {
 font-size: 1.0vw;
}
.comment {
 font-family: YakuHanMP, 'Noto Serif JP', serif;
 font-size: 12px;
 font-weight: 500;
 line-height: 1;
 padding-bottom: 30px;
 text-align: center;
}
.comment a {
 border: 1px solid #714841;
 color: #714841;
 display: inline-block;
 padding: 5px;
}
.comment a:hover {
 background-color: #714841;
 color: #e8bfc5;
 transition: 0.5s;
}
body.home .modaal-overlay {
 background: #f7f3ee!important;
 background: #fff!important;
 opacity: 0.95!important;
}
body.home .modaal-close {
 color:#714841!important;
}
body.home .modaal-close:after, .modaal-close:before {
 background:#714841!important;
}
body.home .modaal-container {
 background: none;
 border: 1px solid #714841;
 border-width: 1.7rem;
 -o-border-image: url(../img/home/deco-line.png) 3.515625% 1.9765739385%/1.7rem repeat;
 border-image: url(../img/home/deco-line.png) 3.515625% 1.9765739385% / 1.7rem repeat;
 box-shadow: none;
}
body.home .modaal-content-container {
 padding: 5%;
 text-align: center;
}
.profile-tit {
 color: #714841;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 24px;
 font-weight: 900;
 line-height: 1.5;
 text-align: left;
}
.profile-txt {
 border-top: 1px dotted #444;
 color: #714841;
 font-size: 18px;
 line-height: 2em;
 margin-top: 2.5%;
 padding-top: 2.5%;
 text-align: left;
}
.btn-area {
 align-items: center;
 display: flex;
 justify-content: space-between;
 margin: 0 auto;
 min-width: 528px;
 width: 90%;
}
.btn {
 font-family: YakuHanMP, 'Noto Serif JP', serif;
 font-size: 16px;
 margin: 5% auto;
 text-align: center;
}
.btn-movie {
 margin-right: 15px;
}
.btn i {
 font-size: 32px;
 margin-left: 15px;
}
.btn span {
 align-items: center;
 display: flex;
 justify-content: center;
}
.btn a {
 border: 1px solid #714841;
 color: #714841;
 display: inline-block;
 padding: 15px 0;
 width: 236px;
}
.btn a:hover {
 background-color: #714841;
 color: #e8bfc5;
 transition: 0.5s;
}
@media only screen and (max-width: 768px) {
 body.home .keyimg {
  background-image: none;
  background-position: top right 0px;
  background-repeat: no-repeat;
  background-size: contain;
  height: auto;
  margin: 0 auto;
  position: relative;
  width: 100%;
 }
 body.home .op-item {
  display: block;
  height: auto;
  position: relative;
  text-align: center;
  top: 0;
  transform: none;
  width: 100%;
 }
 body.home .title {
  min-width: 90%;
}
 body.home .schedule {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 4%;
  min-width: 90%;
 }
 body.home .cast {
  min-width: 90%;
 }
 body.home .main-info {
  margin: 0 auto;
  position: static;
  padding: 5% 0 5%;
 }
 body.home .schedule .date {
  font-size: 7.875vw;
  margin: 4% auto;
 }
 body.home .schedule .place {
  font-size: 5.25vw;
  font-style: normal;
  font-weight: 700;
  padding: 0 0 1% 0;
 }
 body.home .schedule .place-tokyo {
  line-height: 1;
 }
 body.home .schedule .place-sub {
  font-size: 3vw;
 }
 body.home .cast {
  color: #714841;
  font-family: "kinuta-mincho-stdn", sans-serif;
  font-weight: 700;
  font-size: 4.98vw;
  line-height: 1.3;
  margin-top: 4%;
  text-align: center;
  text-shadow: 0px 0px 1px #714841;
 }
 body.home .cast .cast-cate {
  font-size: 3vw;
  font-weight: 700;
  margin-top: 1%;
 }
 body.home .cast .mr-15 {
  margin-right: 15px;
 }
 body.home .cast .mr-5 {
  margin-right: 5px;
 }
 body.home .cast li {
  display: inline;
  white-space: nowrap;
 }
 body.home .actor .part {
  font-size: 3vw;
  font-weight: 700;
 }
 body.home .staff .name {
  font-size: 4.5vw;
 }
 body.home .staff .part {
  font-size: 3vw;
 }
 body.home .modaal-content-container {
  padding: 5%;
 }
 .modaal-inner-wrapper {
  border-radius: 5%;
  padding: 5%;
 }
 .modaal-content-container {
  padding: 5%;
  text-align: center;
 }
 .profile-tit {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.5;
  text-align: left;
 }
 .profile-txt {
  font-size: 16px;
  line-height: 1.7em;
  margin-top: 5%;
  padding-top: 5%;
  text-align: left;
 }
 .btn-area {
  display: block;
  min-width: 90%;
 }
 .btn-movie {
  margin-right: 0px;
 }
}
/* intro */
body.home .movie {
 margin: 0 auto 10%;
 max-width: 800px;
 padding: 0px;
 width: 90%;
}
/*body.home .modaal-container {
 background: none;
 padding: 0px;
 max-width: 1100px;
}
body.home .modaal-content-container {
 padding: 0px;
}*/
body.home .sec-intro {
 background-color: #f7f3ee;
 padding: 10% 0;
}
body.home .sec-intro .sec-wrap {
 border-width: 1.7rem;
 -o-border-image: url(../img/home/deco-line.png) 3.515625% 1.9765739385%/1.7rem repeat;
 border-image: url(../img/home/deco-line.png) 3.515625% 1.9765739385% / 1.7rem repeat;
}
body.home .sec-intro .sec-wrap {
 margin: 0 auto;
 max-width: 1200px;
 padding: 5%;
 width: 90%;
}
body.home .sec-intro .sec-tit {
 color: #E1A9B1;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 48px;
 line-height: 1.3;
 text-shadow: 0px 0px 1px #fff;
}
body.home .sec-intro .sec-tit-intro {
 padding-left: 51px;
 background-image: url("../img/home/deco_flower.png");
 background-position: center left;
 background-repeat: no-repeat;
 background-size: 46px;
}
body.home .sec-intro .sec-tit-sub {
 color: #E1A9B1;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 16px;
 line-height: 1.3;
 margin-top: 1%;
 text-shadow: 0px 0px 1px #fff;
}
body.home .sec-intro .sec-tit-sub-intro {
 padding-left: 51px;
}
body.home .sec-intro .sec-heading {
 color: #444;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 28px;
 line-height: 1.75;
 margin-top: 5%;
 text-align: center;
}
body.home .sec-intro .sec-txt {
 color: #444;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 20px;
 line-height: 2;
 margin-top: 2.5%;
}
body.home .sec-intro .story {
 background-color: #fff;
 margin: 5% 0 0;
 padding: 2.5% 7.5% 7.5%;
}
body.home .sec-intro .sec-tit-story {
 font-size: 36px;
 text-align: center;
}
body.home .sec-intro .sec-tit-sub-story {
 color: #E1A9B1;
 font-family: "kinuta-mincho-stdn", sans-serif;
 font-weight: 700;
 font-size: 12px;
 line-height: 1.3;
 margin-top: 1%;
 text-shadow: 0px 0px 1px #fff;
 text-align: center;
}
.note {
 background-image: linear-gradient(180deg, #ccc 1px, transparent 1px); /* 罫線の色と太さ  */
 background-size: 100% 2.80em; /* 行の高さ */
 line-height: 2.5em; /* 文字の高さ */
 padding-bottom: 1px; /* 最終行の下にも罫線を引く */
}
body.home .sec-intro .note .sec-txt {
 font-size: 18px;
 line-height: 2.5em;
}
@media only screen and (max-width: 768px) {
 /* intro */
 body.home .sec-intro {
  padding: 10% 0;
 }
 body.home .sec-intro .sec-wrap {
  padding: 10% 7.5%;
  width: 98%;
  text-align: center;
 }
 body.home .sec-intro .sec-tit {
  font-size: 27px;
 }
 body.home .sec-intro .sec-tit-intro {
  background-image: none;
  display: inline-block;
  padding-left: 0;
  position: relative;
 }
 body.home .sec-intro .sec-tit-intro::before {
  background-image: url("../img/home/deco_flower.png");
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 31px;
  left: -36px;
  position: absolute;
  top: 3px;
  width: 31px;
 }
 body.home .sec-intro .sec-tit-sub {
  font-size: 12px;
  padding-left: 0;
  text-align: center;
 }
 body.home .sec-intro .sec-heading {
  font-size: 18px;
  margin-top: 5%;
  text-align: left;
 }
 body.home .sec-intro .sec-txt {
  font-size: 14px;
  line-height: 1.75;
  margin-top: 7.5%;
  text-align: left;
 }
 body.home .sec-intro .story {
  background-color: #fff;
  margin: 10% 0 0;
  padding: 7.5% 7.5% 7.5%;
 }
 body.home .sec-intro .sec-tit-story {
  font-size: 21px;
 }
 body.home .sec-intro .sec-tit-sub-story {
  font-size: 12px;
 }
 .note {
  background: none;
 }
 body.home .sec-intro .note .sec-txt {
  font-size: 14px;
  line-height: 1.75em;
 }
}
footer {
 background-color: #c3525b;
 padding: 5% 0;
 width: 100%;
}
footer .logo-area {
 margin: 0 auto 0;
 max-width: 300px;
 width: 60%;
}
footer .billing-area {
 margin: 15px auto 0;
 max-width: 450px;
 width: 90%;
}
footer .copyright {
 color: #fff;
 display: inline-block;
 font-size: 14px;
 margin-top: 2.5%;
 text-align: center;
 width: 100%;
}
@media only screen and (max-width: 768px) {
 footer {
  padding: 10% 0;
 }
 footer .copyright {
  margin-top: 5%;
 }
}