.top {
  position: relative;
  /*****************************************/
  /*****************************************/
  /*****************************************/
}

@media only screen and (max-width: 750px) {
  .top {
    padding-bottom: 70px;
  }
}

@media only screen and (min-width: 751px) {
  .top .header {
    position: absolute;
    bottom: 3px;
    width: 100%;
  }
  .top .header .nav {
    padding-bottom: 5px;
  }
  .top .header .nav_ttl {
    display: none;
  }
  .top .header .nav_list li {
    padding: 20px 8px;
  }
}

@media only screen and (min-width: 751px) {
  .top .contents {
    padding-bottom: 74px;
  }
}

@media all and (-ms-high-contrast: none) {
  .top .contents {
    padding-bottom: 117px;
    height: calc(100vh - 117px);
  }
}

.top .mv {
  position: relative;
}

.top .mv .mv_catch {
  position: absolute;
  z-index: 50;
  top: 6.96%;
  left: 7.73%;
  width: 54.4%;
  max-width: 408px;
}

.top .mv .mv_catch.en {
  width: 59%;
}

.top .mv .mv_img img {
  width: 100%;
  height: 100%;
}

.top .mv .mv_logo {
  width: 56.79%;
  max-width: 426px;
  margin: 0 auto;
}

.top .mv .mv_logo_txt {
  width: 58.66%;
  max-width: 440px;
  margin: 5.5% auto 0;
}

.top .mv .mv_logo_txt.en {
  width: 65.333%;
}

.top .mv .mv_link {
  position: relative;
  border: 1px solid #dbdbe3;
  width: 60%;
  margin: 10vw auto 0;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  cursor: pointer;
}

.top .mv .mv_link:hover {
  opacity: 0.7;
}

.top .mv .mv_link a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 750px) {
  .top .mv .mv_logo_wrap {
    margin-top: -13%;
  }
}

@media only screen and (min-width: 751px) {
  .top .mv {
    position: relative;
    height: calc(100vh - 117px);
    width: 100%;
    overflow: hidden;
    display: block;
  }
  .top .mv .mv_catch {
    top: 3.9%;
    left: 2.96%;
    width: 100px;
  }
  .top .mv .mv_catch.en {
    width: 26.25%;
  }
  .top .mv .mv_img {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
  }
  .top .mv .mv_img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/top/main_bg_pc.jpg) center top no-repeat;
    background-size: cover;
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transform-origin: 50% 80%;
    -ms-transform-origin: 50% 80%;
    transform-origin: 50% 80%;
  }
  .is-start .top .mv .mv_img::before {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 120s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 120s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: transform 120s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 120s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 120s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 120s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .top .mv .mv_img .chara {
    width: 100%;
    max-width: 1350px;
    height: 100%;
    min-height: 450px;
    position: relative;
    background: url(../img/top/main_chara_pc.png) center bottom no-repeat;
    background-size: contain;
    margin: 0 auto;
  }
  .top .mv .mv_img .chara img {
    height: 100%;
    max-height: 980px;
    width: auto;
    max-width: 1350px;
  }
  .top .mv .mv_logo_wrap {
    position: absolute;
    z-index: 50;
    right: 13.28%;
    bottom: 29%;
    width: 27.34%;
  }
  .top .mv .mv_logo_wrap .mv_logo {
    width: 100%;
    max-width: 360px;
  }
  .top .mv .mv_logo_wrap .mv_logo_txt {
    width: 87.42%;
    max-width: 316px;
  }
  .top .mv .mv_logo_wrap .mv_logo_txt.en {
    width: 100%;
  }
  .top .mv .mv_link {
    position: absolute;
    z-index: 50;
    left: 2.96%;
    bottom: 30px;
    width: 250px;
  }
}

@media all and (-ms-high-contrast: none) {
  .top .mv {
    position: relative;
    height: 100%;
  }
  .is-start .top .mv .mv_img::before {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
}

.top .news {
  position: relative;
  text-align: left;
}

.top .news a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 750px) {
  .top .news {
    margin-top: 60px;
    padding-bottom: 70px;
  }
  .top .news .news_list {
    margin: 5% 5.5% 0;
  }
  .top .news .news_list li:not(:first-of-type) {
    margin-top: 20px;
  }
  .top .news .news_ttl {
    line-height: 1.6;
    font-size: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .14em;
  }
  .top .news .news_date {
    font-family: YakuHanJP, proxima-nova, sans-serif;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .07em;
    color: #48aaff;
    font-size: 12px;
    margin-top: 5px;
  }
  .top .news .news_more {
    font-family: YakuHanJP, proxima-nova, sans-serif;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .07em;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    padding-bottom: 15px;
  }
  .top .news .news_more::after {
    content: "";
    background: #dbdbe3;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}

@media only screen and (min-width: 751px) {
  .top .news {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 13px;
  }
  .top .news .news_list {
    position: relative;
    width: 100%;
  }
  .top .news .news_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    letter-spacing: .04em;
    padding-left: 30px;
    background: #99bbff;
    background: -webkit-linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
    background: -o-linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
    background: linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99bbff', endColorstr='#99d3ff',GradientType=1 );
    position: absolute;
    -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .top .news .news_txt:nth-of-type(1) {
    position: relative;
    z-index: 300;
  }
  .top .news .news_txt:nth-of-type(2) {
    pointer-events: none;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    z-index: 200;
    top: 0;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  .top .news .news_txt:nth-of-type(2) p {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
    -o-transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
  }
  .top .news .news_txt:nth-of-type(3) {
    pointer-events: none;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    z-index: 200;
    top: 0;
    z-index: 100;
    -webkit-transform: translateY(-200%);
    -moz-transform: translateY(-200%);
    -ms-transform: translateY(-200%);
    -o-transform: translateY(-200%);
    transform: translateY(-200%);
  }
  .top .news .news_txt:nth-of-type(3) p {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.6s;
    -o-transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.6s;
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.6s;
  }
  .top .news .news_txt a {
    width: calc(100% - 100px);
  }
  .top .news .news_list:hover .news_txt {
    pointer-events: auto;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0s linear 0.5s;
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0s linear 0.5s;
    -o-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0s linear 0.5s;
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0s linear 0.5s;
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0s linear 0.5s, -webkit-transform 0s linear 0.5s;
  }
  .top .news .news_list:hover .news_txt:nth-of-type(2) p {
    -webkit-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s;
    -o-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s;
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s;
  }
  .top .news .news_list:hover .news_txt:nth-of-type(3) p {
    -webkit-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
    -o-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
  }
  .top .news .news_list:hover .news_txt p {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .top .news .news_txt a:hover + .news_ttl, .top .news .news_txt a:hover + .news_ttl + .news_date {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    opacity: 0.6;
  }
  .top .news .news_date {
    padding: 15px 0;
    font-size: 12px;
    width: 90px;
    -webkit-order: 1;
    -ms-order: 1;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .top .news .news_ttl {
    width: calc(100% - 290px);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-right: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-order: 2;
    -ms-order: 2;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .top .news .news_more {
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 42px;
    height: 42px;
    width: 86px;
    z-index: 400;
    -webkit-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    -o-transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .top .news .news_more::after {
    content: "";
    display: block;
    background: #fff;
    height: 1px;
    width: 40px;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .top .news .news_more:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    opacity: 0.6;
  }
}

/*****************************************/
.footer {
  border-top: 1px solid #dbdbe3;
}