html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: none;
  text-size-adjust: none
}

body {
  font-family: Zen Kaku Gothic New Regular, Arial
}

@media (max-width:1024px) {
  body {
    zoom: .7
  }
}

.memorial_logo {
  background-image: url(../images/logo.webp);
  background-size: 241px auto;
  font-size: 0;
  height: 28px;
  width: 241px
}

.title_message {
  background-image: url(../images/title_message.webp);
  font-size: 0;
  height: 112px;
  width: 896px
}

.title_movie {
  background-image: url(../images/title_movie.webp);
  font-size: 0;
  height: 113px;
  width: 937px
}

.title_history {
  background-image: url(../images/title_history.webp);
  font-size: 0;
  height: 112px;
  width: 566px
}

.title_vision {
  background-image: url(../images/title_vision.webp);
  font-size: 0;
  height: 112px;
  width: 497px
}

.header {
  position: relative
}

.movie_pc {
  display: block
}

.movie_sp {
  display: none
}

.header-movie_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 30%
}

.navigation {
  background-color: rgba(0, 0, 0, .8);
  display: flex;
  justify-content: space-between;
  padding: 20px 72px 20px 40px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5
}

.nav_menu {
  display: flex;
  padding-top: 4px
}

.nav_menu li {
  margin-left: 42px
}

.nav_menu li a {
  color: #fff;
  font-weight: 700;
  text-decoration: none
}

.nav_menu li a:hover {
  text-decoration: underline
}

.navbar {
  display: none
}

.prologue {
  background-image: url(../images/bg_prologue.webp);
  background-color: #fff;
  background-position: 94% top;
  background-size: 121%;
  background-repeat: no-repeat;
  margin-top: -2px;
  overflow: hidden;
  text-align: center
}

.prologue_inner {
  margin: 180px auto 128px auto;
  max-width: 1300px
}

.title_prologue {
  font-size: 36px;
  font-weight: 700;
  line-height: 2em;
  margin-bottom: 60px;
  text-align: left
}

.title_prologue strong {
  color: #e8382c
}

.text_prologue {
  font-size: 18px;
  line-height: 42px;
  margin-bottom: 152px;
  text-align: left
}

.text_prologue p {
  margin-bottom: 62px
}

.text_prologue p:last-child {
  margin-bottom: 0
}

.prologue_subject {
  border: 1px solid #e70012;
  border-radius: 20px;
  padding: 60px
}

.prologue_subject p {
  font-size: 24px
}

.prologue_subject strong {
  font-size: 36px;
  font-weight: 700;
  line-height: 42px
}

.prologue_subject_logo {
  background-image: url(../images/arrow_logo.webp);
  background-position: center 76px;
  background-repeat: no-repeat;
  display: flex;
  justify-content: space-between;
  margin-top: 72px
}

.prologue_subject_logo dt {
  font-size: 24px;
  margin-bottom: 30px
}

@media (max-width:1200px) {
  .prologue_subject_logo {
    zoom: .9
  }
}

.message_container {
  background-image: url(../images/bg_message.webp);
  background-position: center bottom;
  background-size: cover;
  overflow: hidden;
  padding-top: 100px
}

.message_inner {
  font-size: 15px;
  line-height: 2em;
  margin: 0 auto 210px auto;
  max-width: 1300px
}

.message_lead {
  font-size: 32px;
  margin: 70px auto 60px;
  max-width: 1300px
}

.text-margin_pc {
  margin-bottom: 30px
}

.vision_container {
  background-image: url(../images/bg_vision.webp);
  background-position: center bottom;
  background-size: cover;
  overflow: hidden;
  padding-top: 100px
}

.vision_inner {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  line-height: 2em;
  margin: 86px auto 132px auto;
  max-width: 1300px
}

.vision_lead {
  font-size: 36px;
  font-weight: 700;
  line-height: 56px
}

.vision_lead span {
  display: inline-block
}

.vision_text {
  font-size: 18px;
  line-height: 32px;
  max-width: 640px
}

.vision_text p {
  margin-bottom: 50px
}

.vision_text p:last-child {
  margin-bottom: 0
}

.video_cover {
  background-color: #fff;
  position: absolute;
  height: calc(100% - 68px);
  width: 100%
}

.video-wrapper {
  background-image: linear-gradient(0deg, #fff, #fff 49%, #000 50% 100%);
  position: relative;
  height: auto;
  padding-top: 68px;
  width: 100%
}

.video-wrapper video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  aspect-ratio: 16/9
}

.modal_open {
  cursor: pointer
}

.modal_open:hover {
  opacity: .5
}

.modal {
  display: none
}

.modal_close {
  font-family: Arial, Helvetica, sans-serif;
  width: 45px;
  height: 45px;
  position: absolute;
  top: -45px;
  right: 0;
  cursor: pointer;
  color: #fff
}

.modal_close:hover {
  opacity: .5
}

.modal_close::after,
.modal_close::before {
  content: "";
  position: absolute;
  top: -18px;
  left: -5px;
  width: 45px;
  height: 1px;
  background-color: #fff;
  transform-origin: 50%
}

.modal_close::before {
  transform: rotate(45deg)
}

.modal_close::after {
  transform: rotate(-45deg)
}

.modal.active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, .8)
}

.modal .container {
  position: absolute;
  z-index: 1000;
  width: 100%;
  max-width: 860px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.modal iframe {
  width: 100%;
  aspect-ratio: 16/9
}

.no-scroll {
  overflow: hidden
}

.under-line {
  border-bottom: 3px solid #e8382c;
  display: inline-block
}

.under-line_sp {
  border: none
}

.icon_gray {
  background-color: #c9c9c9;
  border-radius: 25px;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  padding: 0 60px
}

.icon_red {
  color: #fff;
  background-color: #e8382c;
  border-radius: 25px;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  padding: 0 60px
}

.br_sp {
  display: none
}

.br_pc {
  display: inline-block
}

.display-none {
  display: none
}

.inline-block {
  display: inline-block
}

.con_fcontact {
  overflow: hidden
}

.slidein {
  transition: 1.2s cubic-bezier(.75, 0, .25, 1)
}

.bottomup {
  transition: 1s cubic-bezier(.75, 0, .25, 1)
}

.fade_in {
  transition: 1.5s
}

.slide_left {
  transform: translateX(calc(-50vw - 50%))
}

.slide_right {
  transform: translateX(calc(50vw + 50%))
}

.slide_bottom {
  transform: translateY(50vh)
}

.hide {
  opacity: 0
}

.show {
  transform: translateX(0);
  transform: translateY(0);
  opacity: 1
}

@font-face {
  font-family: icomoon;
  src: url(../fonts/icomoon.eot?h91sdc);
  src: url(../fonts/icomoon.eot?h91sdc#iefix) format('embedded-opentype'), url(../fonts/icomoon.ttf?h91sdc) format('truetype'), url(../fonts/icomoon.woff?h91sdc) format('woff'), url(../fonts/icomoon.svg?h91sdc#icomoon) format('svg');
  font-weight: 400;
  font-style: normal;
  font-display: block
}

[class*=" icon-"],
[class^=icon-] {
  font-family: icomoon !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.icon-caret-right:before {
  content: "\e902"
}

.icon-x:before {
  content: "\e901"
}

.icon-twitter:before {
  content: "\e901"
}

.icon-mail2:before {
  content: "\e900"
}

.icon-arrow-up2:before {
  content: "\ea3a"
}

.icon-arrow1:before {
  content: "\ea3c"
}

.icon-instagram:before {
  content: "\ea92"
}

.icon-youtube:before {
  content: "\ea9d"
}

#footer .con_footer .inner .box_flnk .wrp_flnk .imglnk li a:after {
  content: "\ea3c";
  font-size: 115%;
  font-weight: 900
}

#footer .con_footer .inner .box_flnk .wrp_flnk .txtlnk li a:before {
  content: "\e902";
  font-weight: 900
}
#footer .con_footer .inner p{
  margin: 0 auto!important;
}
#footer .con_footer{
  padding: 2em 0 1em!important;
}