@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
  font-size: 1.3333333333vw;
  background-color: #E60012;
}
html.active {
  overflow: hidden;
}
@media screen and (min-width: 897px) {
  html {
    font-size: 10px;
  }
}

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

.addclassOn {
  transition: opacity 200ms ease;
}
.addclassOn.on {
  opacity: 0.7;
}

.popup-overlay {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 100002;
  width: 100%;
  height: 100%;
  min-height: 100%;
  top: 0;
  left: 0;
  display: none;
}
.popup-overlay.view {
  display: block;
  animation: 200ms blockopacity02 ease;
}

.popupBox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  z-index: 100003;
  opacity: 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  transition: opacity 200ms ease;
}
.popupBox .popup-box-in {
  width: 100%;
  position: relative;
  display: table;
  height: 100%;
  min-height: 100%;
  z-index: 100004;
}
.popupBox .popup-box-in .popup-box-in-in {
  display: table-cell;
  vertical-align: middle;
  position: relative;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box {
  position: relative;
  padding: 6em 0em;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap {
  position: relative;
  z-index: 100005;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap .popup-contents-in .gallery-slide-popup {
  position: relative;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap .popup-contents-in .gallery-slide-popup .swiper .swiper-wrapper {
  height: auto;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap .popup-close {
  position: absolute;
  top: -2.4em;
  left: 0.5em;
  width: 7em;
  z-index: 5;
}
.popupBox.popup-gallery .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap .popup-contents-in {
  background-color: #FFF;
  width: 69.7em;
  border-radius: 1em;
  padding: 5.8em;
  margin: 0 auto;
  box-shadow: 0.7em 1.7em 1.2em rgba(0, 0, 0, 0.2);
}
.popupBox.view {
  pointer-events: auto;
  opacity: 1;
}
@media screen and (min-width: 897px) {
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box {
    padding: 4em 0em;
  }
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap .popup-close {
    top: -1.5em;
    left: -1.5em;
    width: 5em;
  }
  .popupBox.popup-gallery .popup-box-in .popup-box-in-in .popup-box-box .popup-contentsWrap {
    width: 69.7em;
    margin: 0 auto;
  }
}

#wrapper #main {
  overflow: hidden;
}
#wrapper #main .main {
  background-color: #FFF;
  border-radius: 3em;
  width: 65em;
  margin: 0 auto;
  padding: 0em 0em 9.4em 0em;
}
#wrapper #main .main .section-in {
  position: relative;
  padding: 20.2em 0em 0em 0em;
  margin: 0em 0em 8.9em 0em;
}
#wrapper #main .main .section-in .main-obj {
  position: absolute;
}
#wrapper #main .main .section-in .main-obj {
  width: 75em;
  left: 0em;
  top: 0em;
}
#wrapper #main .main .section-in .main-tl {
  width: 51.45341em;
  margin: 0em 0em 6.1em 5.9em;
}
#wrapper #main .main .section-in .main-img {
  margin: 0em 0em 0em 9.7em;
  position: relative;
  width: 46.55513em;
}
#wrapper #main .main .section-in .main-img > div {
  width: 100%;
}
#wrapper #main .main .section-in .main-img > div:nth-child(2) {
  animation: flip 4s steps(2) infinite;
}
#wrapper #main .main .section-in .main-img > div.close {
  width: 33.4546em;
  position: absolute;
  top: 1.4em;
  left: 0;
}
#wrapper #main .main .main_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3em 4em;
}
#wrapper #main .main .main_btn > div {
  width: 27.4em;
}
#wrapper #main .main .main_btn > div a {
  width: 100%;
  height: 27.4em;
  display: flex;
  border-radius: 50%;
  border: 1.1em solid #E40012;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 200ms ease;
  background-color: #FFF;
}
#wrapper #main .main .main_btn > div a p svg path {
  transition: 200ms ease;
}
#wrapper #main .main .main_btn > div a:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3em;
  background: url(../images/navi_text.svg) no-repeat left top;
  background-size: 100% auto;
  width: 7.7em;
  height: 2.5em;
}
#wrapper #main .main .main_btn > div:nth-child(1) a p {
  width: 18.1em;
}
#wrapper #main .main .main_btn > div:nth-child(2) a p {
  width: 21.9em;
}
#wrapper #main .main .main_btn > div:nth-child(3) a p {
  width: 17.9em;
  margin-bottom: 2em;
}
#wrapper #main .main .main_btn > div.coming {
  pointer-events: none;
}
#wrapper #main .main .main_btn > div.coming a p {
  width: 17.7em;
}
#wrapper #main .main .main_btn > div.coming a:after {
  display: none;
}
#wrapper #main .main .main_btn > div.on {
  opacity: 1;
}
#wrapper #main .main .main_btn > div.on a {
  background-color: #E40012;
}
#wrapper #main .main .main_btn > div.on a p svg path {
  fill: #FFF;
}
#wrapper #main .sub .contents .box01 .section-in .about {
  padding: 1.1em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .about .bg {
  width: 53.95954em;
  margin: 0em 0em 2.9em 8em;
}
#wrapper #main .sub .contents .box01 .section-in .about .about-in {
  width: 65em;
  margin: 0em auto;
}
#wrapper #main .sub .contents .box01 .section-in .profile {
  padding: 1.1em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .bg {
  width: 53.95954em;
  margin: 0em 0em 2.9em 12.8em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in {
  width: 65em;
  margin: 0 auto;
  background-color: #FFF;
  border-radius: 3em;
  padding: 2.2em 0em 3.5em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .tl {
  width: 61.696em;
  margin-left: 1.7em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide {
  margin: 3.1em auto 3.8em auto;
  position: relative;
  width: 59.2em;
  border: 1.8em solid #E60012;
  height: 59.2em;
  border-radius: 50%;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper {
  height: 100%;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper {
  height: 100%;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide {
  display: flex;
  align-items: flex-end;
  height: 100%;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide > div {
  margin-left: 9.7em;
  margin-bottom: 5.7em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide.slide01 > div {
  width: 37.7em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide.slide02 > div {
  width: 35.7em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide.slide03 > div {
  width: 37.1em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper .swiper-wrapper .swiper-slide.slide04 > div {
  width: 35.7em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper-button {
  border: none;
  width: 5.8em;
  height: 5.8em;
  margin-top: 0;
  top: 25.8em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper-button:after {
  display: none;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper-button-prev {
  left: 2.2em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .chara_slide .swiper-button-next {
  right: 2.2em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .text {
  width: 54.4em;
  margin: 0 auto;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .list {
  margin: 5.7em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .list > div {
  margin: 0em 0em 4.8em 0em;
  padding: 0em 2.7em 0em 2.4em;
}
#wrapper #main .sub .contents .box01 .section-in .profile .profile-in .list > div:last-child {
  margin-bottom: 0;
}
#wrapper #main .sub .contents .box01 .section-in .campaign {
  padding: 3.7em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .bg {
  width: 11.7em;
  margin: 0em auto 2.4em auto;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in {
  width: 65em;
  margin: 0 auto;
  background-color: #FFF;
  border-radius: 3em;
  padding: 6.9em 0em 5.8em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .img01 {
  width: 62.5em;
  margin: 0em 0em 2.6em 2em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list {
  margin: 0em 0em 5em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list > div {
  margin: 0em auto 10em auto;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list > div:nth-child(1) {
  width: 54.8em;
  margin-left: 6.2em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list > div:nth-child(2) {
  width: 54.5em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list > div:nth-child(3) {
  width: 52.5em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .list > div:last-child {
  margin-bottom: 0;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .cap {
  width: 55.2em;
  margin: 0em 0em 8.2em 4em;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .text01 {
  width: 57.2em;
  margin: 0em auto 0em auto;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .text02 {
  width: 57.1em;
  margin: 0em auto 0em auto;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .line-btn {
  margin: 6em 0em;
  text-align: center;
}
#wrapper #main .sub .contents .box01 .section-in .campaign .campaign-in .line-btn a img {
  width: auto;
  max-width: 100%;
}
#wrapper #main .sub .contents .box01 .section-in .gallery {
  padding: 3.7em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .bg {
  width: 11.7em;
  margin: 0em auto 4em auto;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in {
  width: 65em;
  margin: 0 auto;
  background-color: #FFF;
  border-radius: 3em;
  padding: 2.2em 0em 8em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in .tl {
  width: 61.696em;
  margin-left: 1.7em;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in .text {
  width: 44.25444em;
  margin: 1.6em auto 3.3em auto;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in .gallery-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0em 1.5em;
  gap: 1.7em;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in .gallery-list > div {
  width: 19.52769em;
}
#wrapper #main .sub .contents .box01 .section-in .gallery .gallery-in .gallery-list > div.dammy {
  background-color: #ecebeb;
}
#wrapper #main .sub .contents .box01 .section-in .coming {
  padding: 3.8em 0em 0em 0em;
}
#wrapper #main .sub .contents .box01 .section-in .coming .coming-in .img {
  width: 65em;
  margin: 0em auto;
}
#wrapper #main .btn {
  width: 47.1em;
  margin: 6em auto 0em auto;
}
#wrapper #footer {
  background-color: #E60012;
}
#wrapper #footer .section-in {
  padding: 6em 0em 0em 0em;
}
#wrapper #footer .section-in address {
  width: 45.2em;
  margin: 0em auto 3em auto;
}
#wrapper #footer .section-in .footer-in {
  padding: 4.6em 0em 6.3em 0em;
  background-color: #000;
}
#wrapper #footer .section-in .footer-in .footer_btn {
  width: 43.66294em;
  margin: 0 auto;
}
@media screen and (min-width: 897px) {
  #wrapper #main .main {
    background-color: transparent;
    width: 92em;
    margin: 0 auto;
    padding: 0em 0em 2em 0em;
  }
  #wrapper #main .main .section-in {
    width: 100%;
    background-color: #FFF;
    border-radius: 2.8em;
    position: relative;
    padding: 15.3em 0em 3em 0em;
    margin: 0em 0em 1.5em 0em;
    display: flex;
    gap: 0em 4.7em;
  }
  #wrapper #main .main .section-in .main-obj {
    width: 94.7em;
    left: 50%;
    transform: translateX(-50%);
  }
  #wrapper #main .main .section-in .main-tl {
    width: 42.71617em;
    margin: 2.4em 0em 0em 8.1em;
  }
  #wrapper #main .main .section-in .main-img {
    margin: 0em 0em 0em 0em;
    width: 28.9667em;
  }
  #wrapper #main .main .section-in .main-img > div.close {
    width: 20.81558em;
    top: 0.9em;
  }
  #wrapper #main .main .main_btn {
    gap: 0em 2.6em;
  }
  #wrapper #main .main .main_btn > div {
    width: 20.25796em;
  }
  #wrapper #main .main .main_btn > div a {
    height: 20.25796em;
    border: 0.819em solid #E40012;
  }
  #wrapper #main .main .main_btn > div a:after {
    display: none;
  }
  #wrapper #main .main .main_btn > div:nth-child(1) a p {
    width: 13.38018em;
  }
  #wrapper #main .main .main_btn > div:nth-child(2) a p {
    width: 16.03389em;
  }
  #wrapper #main .main .main_btn > div:nth-child(3) a p {
    width: 13.27963em;
    margin-bottom: 0;
  }
  #wrapper #main .main .main_btn > div.coming {
    pointer-events: none;
  }
  #wrapper #main .main .main_btn > div.coming a p {
    width: 13.102em;
  }
  #wrapper #main .main .main_btn > div.on a {
    border-color: #FFF;
  }
  #wrapper #main .sub {
    font-size: 10px;
  }
  #wrapper #main .sub .contents {
    width: 75em;
    margin: 0 auto;
  }
  #wrapper #footer {
    font-size: 10px;
  }
}
@media screen and (min-width: 897px) and (max-width: 1000px) {
  #wrapper {
    min-width: 1000px;
    overflow: visible;
  }
}

@keyframes flip {
  0%, 20% {
    opacity: 0; /* 表示 */
  }
  21%, 100% {
    opacity: 1; /* 非表示 */
  }
}
@keyframes blockopacity-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@keyframes blockopacity02 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}