#mainImage {
    margin: 56px 0 7rem;
    position: relative;
  /*.catch {
      background: rgba($red,0.7);
      color: white;
      position: absolute;
      bottom: -6rem;
      right: 0;
      padding: 2rem 2rem 2rem 0;
      font-size: 2.6rem;
      font-family: $fontMincho;
      line-height: 1.4;
      z-index: 5;
      white-space: nowrap;
      @include mq-tab {
          right: -3rem;
          font-size: 2.5rem;
          padding: 2rem 5rem 2rem 2rem;
      }
      &::before {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          background: rgba($red,0.7);
          position: absolute;
          left: -7rem;
          top: 0;
          z-index: -1;
          transform: skewX(-30deg);
          @include mq-tab {
              left: -5rem;
          }
      }
  }*/
}
@media screen and (min-width: 768px) {
  #mainImage {
        margin: 70px auto 2rem;
        width: 100% !important;
  }
}
@media screen and (min-width: 1400px) {
  #mainImage {
        margin: 100px auto 2rem;
  }
}
#mainImage::before {
    content: "";
    display: block;
    width: 100%;
    z-index: 0;
    background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.4) 4%, rgba(0, 0, 0, 0.1) 35%, rgba(0, 0, 0, 0) 62%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.4) 4%, rgba(0, 0, 0, 0.1) 35%, rgba(0, 0, 0, 0) 62%);
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 4%, rgba(0, 0, 0, 0.1) 35%, rgba(0, 0, 0, 0) 62%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=1 );
}
#mainImage ul.slider li {
    width: 100%;
    height: 90rem;
}
#mainImage ul.slider li:nth-child(1) {
    background: url(../images/top/fv04_sp.jpg) no-repeat top center/cover;
}
#mainImage ul.slider li:nth-child(2) {
    background: url(../images/top/fv02_sp.jpg) no-repeat top center/cover;
}
#mainImage ul.slider li:nth-child(3) {
    background: url(../images/top/fv03_sp.jpg) no-repeat top center/cover;
}
#mainImage ul.slider li:nth-child(4) {
    background: url(../images/top/fv01_sp.jpg) no-repeat top center/cover;
}
@media screen and (min-width: 768px) {
  #mainImage ul.slider li {
        height: calc(100vh - 70px);
  }
  #mainImage ul.slider li:nth-child(1) {
        background: url(../images/top/fv04.jpg) no-repeat bottom center/cover;
  }
  #mainImage ul.slider li:nth-child(2) {
        background: url(../images/top/fv02.jpg) no-repeat top center/cover;
  }
  #mainImage ul.slider li:nth-child(3) {
        background: url(../images/top/fv03.jpg) no-repeat center center/cover;
  }
  #mainImage ul.slider li:nth-child(4) {
        background: url(../images/top/fv01.jpg) no-repeat bottom center/cover;
  }
}
@media screen and (min-width: 1400px) {
  #mainImage ul.slider li {
        height: calc(100vh - 100px);
  }
}
#mainImage .txt {
    width: 100%;
    position: absolute;
    left: 0;
    top: 11rem;
    font-size: 4rem;
    font-family: "Noto Serif JP", serif;
    font-style: italic;
    color: white;
    text-shadow: 3px 3px 8px black;
    line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #mainImage .txt {
        height: 100%;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        font-size: 5rem;
        left: 0;
        bottom: auto;
        top: 0;
  }
}
#mainImage .txt p {
    display: block !important;
    width: 100%;
}
#mainImage .txt p span {
    display: inline;
    font-feature-settings: "palt";
    padding: 0 0.7em 0 20px;
}
#mainImage .txt p span.fontS {
    display: inline-block;
    font-size: 2.2rem;
    margin-top: 1rem;
    line-height: 1.4;
    padding: 1rem 10px 1rem 45px;
}
#mainImage.left_block {
    width: 100%;
}
@media screen and (min-width: 768px) {
  #mainImage.left_block {
        width: 100%;
  }
}

#about {
    position: relative;
    margin-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  #about::after {
        content: "";
        display: block;
        width: 100%;
        height: 80%;
        background: #fff;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: -1;
  }
}
#about .half {
    padding: calc(50 / 1024 * 100%);
    max-width: 1400;
    margin: auto;
}
@media screen and (max-width: 767px) {
  #about .half {
        flex-direction: column-reverse;
        background: #fff;
  }
}
#about .photo {
    width: 100%;
    background: #b40000;
    position: relative;
}
@media screen and (max-width: 767px) {
  #about .photo {
        display: flex;
        justify-content: flex-start;
        margin-top: 3rem;
  }
  #about .photo .photo_img {
        width: 50%;
  }
}
@media screen and (min-width: 768px) {
  #about .photo {
        width: calc(300 / 1024 * 100%);
        padding-bottom: 6rem;
  }
}
#about .photo .photo_txt {
    color: white;
    font-family: "Noto Serif JP", serif;
    display: block;
    padding: 0 1em 0.3em;
    position: absolute;
    bottom: 0;
    right: 0;
    border-left: 1px solid white;
}
#about .txt {
    width: 100%;
}
@media screen and (min-width: 768px) {
  #about .txt {
        width: calc(670 / 1024 * 100%);
  }
}
#about .txt h2 {
    font-size: 10rem;
    line-height: 1;
    text-align: left;
    color: #b5b5b5;
    margin-bottom: 2rem;
}
#about .txt h2 span {
    color: #b40000;
}

#ifa {
    background: white;
    position: relative;
    margin-top: 30rem;
}
@media screen and (min-width: 768px) {
  #ifa {
        margin-top: 20rem;
  }
}
#ifa h2 {
    width: 75%;
    background: #b40000;
    color: white;
    font-size: 4rem;
    line-height: 1.5;
    position: absolute;
    top: -2rem;
    left: 0;
    text-align: left;
    padding-left: calc(50 / 1024 * 100%);
    vertical-align: middle;
}
@media screen and (min-width: 768px) {
  #ifa h2 {
        width: 50%;
        font-size: 5rem;
        top: -4rem;
  }
}
#ifa h2 span {
    font-size: 2.4rem;
    position: relative;
    padding: 0 0 2rem 0.5em;
    font-weight: normal;
    line-height: 1;
    vertical-align: middle;
    z-index: 10;
    color: #c8c8c8;
}
@media screen and (max-width: 767px) {
  #ifa h2 span {
        display: block;
  }
}
@media screen and (min-width: 768px) {
  #ifa h2 span {
        padding: 0.9rem 0 0.9rem 3rem;
        font-size: 1.8rem;
        margin-left: 3rem;
        line-height: 5rem;
  }
  #ifa h2 span::before {
        content: "";
        display: block;
        width: 1px;
        height: 6rem;
        transform: rotate(45deg);
        position: absolute;
        top: -1rem;
        left: 0;
        background: white;
  }
}
#ifa h2 span strong {
    color: white;
}
#ifa h2::after {
    content: "";
    display: block;
    width: 150px;
    height: 100%;
    transform: skewX(30deg);
    position: absolute;
    top: 0;
    right: -50px;
    background: #b40000;
    z-index: 0;
}
#ifa .half {
    padding: calc(100 / 690 * 100%) calc(50 / 1024 * 100%) calc(50 / 1024 * 100%);
    max-width: 1400;
    align-items: center;
}
@media screen and (min-width: 768px) {
  #ifa .half {
        padding-top: calc(80 / 1024 * 100%);
  }
}
#ifa .half .txt {
    width: 100%;
}
@media screen and (max-width: 767px) {
  #ifa .half .txt {
        margin-bottom: 5rem;
  }
}
@media screen and (min-width: 768px) {
  #ifa .half .txt {
        width: calc(470 / 1024 * 100%);
  }
}
#ifa .half .img_ifa {
    width: 100%;
}
@media screen and (min-width: 768px) {
  #ifa .half .img_ifa {
        width: calc(500 / 1024 * 100%);
  }
}
#ifa::after {
    content: "";
    display: block;
    width: 100vw;
    height: 30rem;
    margin-right: -5% !important;
    position: absolute;
    top: -20rem;
    right: 0;
    z-index: -1;
    overflow: hidden;
    background: url(../images/top/bg_ifa.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  #ifa::after {
        height: 24rem;
        top: -12rem;
  }
}

#event {
    margin-bottom: 20rem;
}
#event .column {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#event .column li {
    background: white;
    width: calc((100% - 4rem) /2);
    padding: calc(30 / 690 * 100%) calc(30 / 690 * 100%) calc(50 / 690 * 100%);
    box-sizing: border-box;
    margin-right: 4rem;
    margin-bottom: 5rem;
    position: relative;
}
@media screen and (max-width: 767px) {
  #event .column li:nth-child(2n) {
        margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  #event .column li {
        width: calc((100% - 10rem) /3);
        padding: calc(30 / 1024 * 100%) calc(30 / 1024 * 100%) calc(50 / 1024 * 100%);
  }
  #event .column li:nth-child(3n) {
        margin-right: 0;
  }
}
@media screen and (min-width: 1400px) {
  #event .column li {
        padding-bottom: calc(30 / 1024 * 100%);
  }
}
#event .column li .icon {
    width: calc(280 / 1024 * 100%);
    margin: calc(50 / 1024 * 100%) auto;
}
#event .column li h3 {
    color: #b40000;
    font-size: 2.4rem;
}
#event .column li p {
    font-size: 0.85em;
    line-height: 1.6;
    text-align: left;
}

#news {
    position: relative;
    margin-top: 10rem;
    background: white;
    padding: calc(30 / 1024 * 100%);
    text-align: left;
}
#news h2 {
    font-size: 7rem;
    position: absolute;
    top: -6.6rem;
    right: 0;
    line-height: 1;
    color: white;
}
#news h2 span {
    color: #b40000;
}
@media screen and (min-width: 768px) {
  #news h2 {
        font-size: 10rem;
        top: -9rem;
  }
}
#news h3 {
    font-size: 2.4rem;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 3rem;
}
#news h4 {
    font-size: 3rem;
}
@media screen and (min-width: 768px) {
  #news h4 {
        font-size: 2rem;
  }
}
#news::after {
    content: "";
    display: block;
    width: 100vw;
    height: 24rem;
    margin-right: -5% !important;
    position: absolute;
    top: -12rem;
    right: 0;
    z-index: -1;
    overflow: hidden;
    background: url(../images/top/bg_news.jpg) no-repeat center center/cover;
}

#banner {
    max-width: 1024px;
    margin: 12rem auto;
}
@media screen and (max-width: 767px) {
  #banner {
        width: 90%;
  }
}
#banner .half {
    flex-wrap: wrap;
}
#banner li {
    font-size: 2rem;
    width: 100%;
}
@media screen and (max-width: 767px) {
  #banner li:not(:last-child) {
        margin-bottom: 4rem;
  }
}
@media screen and (min-width: 768px) {
  #banner li {
        width: 48%;
        font-size: 1.4rem;
  }
}
#banner li a {
    background: url(../images/common/bg_btn.png) no-repeat center center/cover;
    position: relative;
    margin-bottom: 0.5rem;
    color: white;
    font-size: 2.6rem;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 4rem 5rem;
    line-height: 1.4;
    text-align: left;
}
@media screen and (min-width: 768px) {
  #banner li a {
        min-height: 100px;
        padding: 0.8rem 5rem;
  }
}
#banner li a::after {
    content: "\e904";
    font-size: 2.6rem;
    font-family: 'icomoon';
    display: inline;
    position: absolute;
    right: 2rem;
    transition: all .3s;
}
#banner li a:hover::after {
    right: 1.2rem;
}

/*# sourceMappingURL=top.css.map */
