/*========================================================================
   index layout
========================================================================*/
#index #mainVisual {
  width: 100%;
  height: auto;
  background: url(../movie/top_movie.jpg) no-repeat center/cover;
}
#index #mainVisual::before {
  padding-top: 55%;
}
#index #main_movie {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
}
#index #main_movie video {
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#greeting .txtArea {
  border-left: solid 2px #db6;
  padding-left: clamp(1.6em, 5.5vw, 3em);
}
#greeting .txtArea h2 {
  position: relative;
  font-size: 4.5rem;
  line-height: 1.3;
  margin-bottom: 0.6em;
}
#greeting .txtArea h2 .sub {
  display: block;
  font-size: 0.43em;
  margin-bottom: 0;
}
#greeting .txtArea .btn_c {
  text-align: right;
}
#greeting .imgArea {
  text-align: center;
}
#greeting .deco.bg_logo {
  top: -30px;
  left: 55%;
}
@media screen and (min-width: 768px) {
  #greeting .txtArea {
    font-size: 1.125em;
    line-height: 1.9em;
  }
}

#contlist {
  background-color: #4b3d3d;
  color: #fff;
}
#contlist a {
  color: #fff !important;
}
#contlist .layout {
  max-width: 1100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 4em;
}
#contlist .layout > * {
  width: 100%;
  padding: 0 min(3.6vw, 1em);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: min(3.6vw, 1em);
}
#contlist .txtArea {
  position: relative;
}
#contlist .txtArea h3 {
  margin-bottom: 1em;
}
#contlist .txtArea .btn_c {
  margin-top: 2.5em;
  text-align: right;
}
#contlist .txtArea .deco {
  left: 60%;
  bottom: 10px;
}
#contlist .imgArea {
  position: relative;
}
@media screen and (min-width: 992px) {
  #contlist .layout {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #contlist .txtArea {
    max-width: 240px;
    width: auto;
    position: relative;
    z-index: 1;
  }
  #contlist .txtArea h3, #contlist .txtArea .btn_c {
    white-space: nowrap;
  }
  #contlist .txtArea h3, #contlist .txtArea .txt {
    width: 750px;
  }
  #contlist .imgArea {
    max-width: 960px;
    width: calc(100% - 240px);
    margin-right: -5%;
    margin-left: 5%;
  }
  #contlist .content:nth-of-type(2n) .layout {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #contlist .content:nth-of-type(2n) .txtArea h3, #contlist .content:nth-of-type(2n) .txtArea .txt {
    position: relative;
    left: -530px;
    text-align: right;
  }
  #contlist .content:nth-of-type(2n) .imgArea {
    margin-right: 5%;
    margin-left: -5%;
  }
}