@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : top.css
Description : トップ
===================================================================== */
.main {
  overflow: hidden;
}

/* =====================================================================
    mv
======================================================================*/
.mv {
  margin-bottom: 10rem;
  background: url(../images/top/img_mv-sp.jpg) no-repeat center/cover;
}
.mv .inner {
  padding: calc(509 / 750 * 100%) 0 calc(120 / 750 * 100%);
}
.mv h1 {
  width: calc(291 / 650 * 100%);
  font-size: 8rem;
  opacity: 0;
}
.mv h1.is-appear {
  animation: fadeIn 0.8s ease-in forwards;
}
.mv h1 img {
  filter: drop-shadow(0 0 0.1em rgba(0, 36, 84, 0.6)) drop-shadow(0 0 0.1em rgba(0, 36, 84, 0.6));
}
.mv-catch {
  position: absolute;
  top: 0;
  right: 0;
  margin: calc(124 / 650 * 100%) calc(90 / 650 * 100%) 0 0;
  width: calc(41 / 650 * 100%);
  font-size: 4.4rem;
  opacity: 0;
}
.mv-catch.is-appear {
  animation: fadeIn 1s ease-in forwards;
}
.mv-catch img {
  filter: drop-shadow(0 0 0.3em rgba(0, 36, 84, 0.9)) drop-shadow(0 0 0.5em rgba(0, 36, 84, 0.9)) drop-shadow(0 0 1em rgba(0, 36, 84, 0.9));
}
.mv-copyright {
  text-align: right;
  margin-top: 3.5rem;
  font-size: 1.8rem;
  line-height: 1.222;
  color: #ffffff;
  opacity: 0;
}
.mv-copyright.is-appear {
  animation: fadeIn 0.8s ease-in forwards;
}
.mv-date {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-bottom: calc(-100 / 650 * 100%);
  opacity: 0;
}
.mv-date.is-appear {
  animation: fadeIn 0.8s ease-in forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .mv {
    margin-bottom: 0;
    background-image: url(../images/top/img_mv-pc.jpg);
  }
  .mv .inner {
    padding: calc(135 / 1920 * 100%) 0 calc(32 / 1920 * 100%);
    width: calc(1400 / 1920 * 100%);
    max-width: 1400px;
  }
  .mv h1 {
    width: 20.8571428571%;
  }
  .mv-catch {
    margin: 7.5714285714% 7.1428571429% 0 0;
    width: 3%;
  }
  .mv-copyright {
    margin: 27.7142857143% -14.2857142857% 0 auto;
    width: 85.7142857143%;
    font-size: 1.4rem;
  }
  .mv-date {
    margin-bottom: 2.8571428571%;
    width: 22.8571428571%;
  }
}
/* =====================================================================
    catch
======================================================================*/
.catch {
  padding: 5.5rem 0;
}
.catch-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  margin-left: calc(-20 / 650 * 100%);
  width: calc(690 / 650 * 100%);
  height: 35.33em;
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 2.5 !important;
  letter-spacing: 0.2em;
  color: #007f87;
  background: url(../images/top/bg_catch.jpg) no-repeat top left 63%/cover;
  -webkit-clip-path: inset(0px round 15em);
          clip-path: inset(0px round 15em);
}
@media screen and (min-width: 768px) {
  .catch {
    padding: 10rem 0;
  }
  .catch-text {
    margin-left: calc(-150 / 1200 * 100%);
    width: calc(1500 / 1200 * 100%);
    height: 50rem;
    font-size: 2.6rem;
    line-height: 3.076 !important;
    background-position: center;
  }
}

/* =====================================================================
    news
======================================================================*/
.news {
  padding-bottom: 20rem;
  overflow: visible;
}
.news .textAnime-01 {
  bottom: -50vw;
  left: 0;
}
@media screen and (min-width: 768px) {
  .news .textAnime-01 {
    bottom: -25vw;
  }
}
.news-ttl {
  text-align: center;
  margin-bottom: 2rem;
  padding: 4rem;
  background-color: #fffde4;
  border-radius: 2rem;
}
.news-ttl-inner {
  display: inline-flex;
  flex-direction: column;
  text-align: center;
  padding: 0.8em 1.8em;
  font-size: 3.8rem;
  color: #007f87;
  border: 1px solid;
  border-radius: 2em;
}
.news-ttl-inner span {
  display: block;
  letter-spacing: 0.18em;
}
.news-ttl-inner .en {
  margin-bottom: 0.5em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 63%;
}
.news-ttl-inner .en::first-letter {
  font-size: 158%;
  font-weight: normal;
}
.news-ttl-inner .ja {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
}
.news-list {
  padding: 3rem calc(45 / 650 * 100%);
  background-color: #ffffff;
  border-radius: 2rem;
}
.news-list-inner {
  max-height: 28em;
  overflow-y: auto;
}
.news-list li {
  padding: 1.5em 0;
}
.news-list li:not(:last-child) {
  border-bottom: 1px solid #c2d2d3;
}
.news-list li time {
  display: block;
  margin-bottom: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 85%;
  color: #007f87;
}
.news-list li h3 {
  line-height: 1.769;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

@media screen and (min-width: 768px) {
  .news {
    padding-bottom: 6rem;
  }
  .news-wrap {
    display: flex;
    justify-content: space-between;
  }
  .news-ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    flex-shrink: 0;
    width: calc(250 / 1200 * 100%);
    padding: 5rem;
  }
  .news-ttl-inner {
    padding: 2em 0.8em;
    font-size: 3.4rem;
    border-radius: 3em;
  }
  .news-ttl-inner .ja {
    line-height: 1.264;
  }
  .news-list {
    padding: 3rem calc(45 / 1200 * 100%);
    width: calc(946 / 1200 * 100%);
  }
  .news-list-inner {
    max-height: 20em;
  }
  .news-list li,
  .news-list li a {
    display: flex;
    align-items: center;
  }
  .news-list li time {
    flex-shrink: 0;
    margin: 0 1.5em 0 0;
    transition: color 0.3s ease;
  }
  .news-list li h3 {
    -webkit-line-clamp: 1;
    transition: color 0.3s ease;
  }
  .news-list li a:hover {
    transform: translateY(0);
  }
  .news-list li a:hover time {
    color: #6ad4e7;
  }
  .news-list li a:hover h3 {
    color: #007f87;
    text-decoration: underline;
  }
}
/* =====================================================================
    movie
======================================================================*/
.movie {
  padding-top: 20rem;
}
.movie-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  height: calc(100% - 20rem);
  background: url(../images/common/bg_pattern1.jpg) no-repeat center/cover;
  -webkit-clip-path: inset(8rem round 5rem);
          clip-path: inset(8rem round 5rem);
  transition: 0.8s ease;
  overflow: hidden;
}
.movie-bg.is-appear {
  -webkit-clip-path: inset(0 round 0);
          clip-path: inset(0 round 0);
}
.movie-ttl {
  position: absolute;
  display: grid;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 26rem;
  height: 26rem;
  font-size: 5rem;
  color: #007f87;
  border: 1px solid;
  border-radius: 50%;
}
.movie-ttl span {
  transform: translateY(-0.1em);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
}
.movie-ttl span::first-letter {
  font-size: 158%;
  font-weight: normal;
}
.movie-wrap {
  margin-left: calc(-35 / 650 * 100%);
  padding: 20rem 0;
  width: calc(720 / 650 * 100%);
}

@media screen and (min-width: 768px) {
  .movie {
    padding-top: 18rem;
  }
  .movie-wrap {
    margin: 0 auto;
    padding: 14rem 0;
    width: calc(960 / 1200 * 100%);
  }
}
/* =====================================================================
    banner1
======================================================================*/
.banner1 {
  padding: 11rem 0;
}
.banner1-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.banner1-list li {
  margin-top: 4rem;
  width: calc(590 / 650 * 100%);
}
.banner1-list li:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .banner1 {
    padding: 6rem 0;
  }
  .banner1-list li {
    margin: 2rem calc(20 / 1200 * 100%) 0 0;
    width: calc(590 / 1200 * 100%);
  }
  .banner1-list li:nth-child(-n+2) {
    margin-top: 0;
  }
  .banner1-list li:nth-child(2n), .banner1-list li:last-child {
    margin-right: 0;
  }
}
/* =====================================================================
    outline
======================================================================*/
.outline {
  padding: 5rem 0;
  width: calc(700 / 750 * 100%);
  background-color: #007f87;
  border-radius: 0 2rem 2rem 0;
  z-index: 1;
  margin-top: 13rem;
}
.outline .inner {
  width: 85.7142857143%;
}
.outline-date {
  margin-bottom: 12rem;
}
.outline-ttl {
  margin-bottom: 9rem;
  font-size: 5.6rem;
}
.outline-ttl span {
  display: block;
}
.outline-ttl .en {
  margin-bottom: 0.6em;
  font-family: "Shippori Mincho", serif;
  font-size: 37%;
  color: #afe1e4;
}
.outline-ttl .en::first-letter {
  font-size: 158%;
}
.outline-ttl .ja {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.2em;
}
.outline-list li {
  position: relative;
  font-size: 107%;
}
.outline-list li:not(:last-child) {
  margin-bottom: 1.5em;
}
.outline-list li > *:not(:last-child) {
  margin-bottom: 0.5em;
}
.outline-list li h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 120%;
  color: #afe1e4;
  letter-spacing: 0.1em;
}
.outline-list li p {
  font-weight: bold;
  color: #ffffff;
}
.outline-list li p small {
  font-weight: normal;
  font-size: 75%;
}
.outline-list li iframe {
  width: 100%;
  border-radius: 1.2rem;
}
.outline-list li .taisei_logo img {
  max-width: 102px;
}

@media screen and (min-width: 768px) {
  .outline {
    margin: 13rem auto;
    padding: 6.5rem 0;
    width: calc(1200 / 1600 * 100%);
    max-width: 1200px;
    border-radius: 2rem;
    overflow: visible;
  }
  .outline .inner {
    width: calc(1000 / 1200 * 100%);
  }
  .outline-wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .outline-date {
    margin: -8rem -2.6% 0 0;
    width: 25%;
  }
  .outline-left {
    width: 69%;
  }
  .outline-ttl {
    margin-bottom: 11rem;
    font-size: 4.6rem;
  }
  .outline-list li {
    font-size: 122%;
  }
  .outline-list li h3 {
    font-size: 109%;
  }
}
/* =====================================================================
    sns
======================================================================*/
.sns {
  padding: 19rem 0;
  overflow: visible;
}
.sns .textAnime-02 {
  top: -90vw;
  left: 0;
}
@media screen and (min-width: 768px) {
  .sns .textAnime-02 {
    top: -40vw;
  }
}
.sns-ttl {
  text-align: center;
  margin-bottom: 1.4em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 4.6rem;
  color: #007f87;
}

@media screen and (min-width: 768px) {
  .sns {
    padding: 13rem 0;
  }
}
/* =====================================================================
    banner2
======================================================================*/
.banner2 {
  padding: 10rem 0;
  background-color: #fffde4;
}
.banner2-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.banner2-list li {
  margin-top: 4rem;
  width: calc(560 / 650 * 100%);
}
.banner2-list li:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .banner2 {
    padding: 7rem 0;
  }
  .banner2-list {
    margin-left: calc(-160 / 1200 * 100%);
    width: calc(1520 / 1200 * 100%);
  }
  .banner2-list li {
    margin: 4rem 2.6315789474% 0 0;
    width: 31.5789473684%;
  }
  .banner2-list li:nth-child(-n+3) {
    margin-top: 0;
  }
  .banner2-list li:nth-child(3n), .banner2-list li:last-child {
    margin-right: 0;
  }
}/*# sourceMappingURL=top.css.map */