@charset "UTF-8";
.main-top {
  position: relative;
  z-index: 2;
}

/***************** mv-area *****************/
.scroll {
  transform: rotate(0.25turn);
  position: absolute;
  right: 0;
  padding: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.075em;
  font-family: "Barlow Semi Condensed", "Arial", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.scroll::before, .scroll::after {
  position: absolute;
  top: 1em;
  vertical-align: middle;
  content: "";
  display: inline-block;
  height: 1px;
  background-color: rgba(52, 50, 84, 0.4);
}

.scroll::after {
  -webkit-animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  background-color: #343254;
}

@-webkit-keyframes sdl {
  0% {
    transform: scale(0, 1);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 100% 0;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: 100% 0;
  }
}

@keyframes sdl {
  0% {
    transform: scale(0, 1);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 100% 0;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: 100% 0;
  }
}

.mv-area {
  position: relative;
  display: flex;
  flex-direction: column;
}

.mv-text-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.075em;
  font-weight: bold;
  font-family: "Barlow Semi Condensed", "Arial", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.mv-text-main {
  line-height: 1.2;
}

.top-anchor {
  text-align: center;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.4);
}

.top-anchor li {
  position: relative;
}

.top-anchor li:not(:last-child)::after {
  position: absolute;
  content: "";
  display: inline-block;
  background-color: #343254;
}

.top-anchor a:hover {
  text-decoration: none;
}

.top-anchor .en {
  position: relative;
}

/***************** contents *****************/
.style-box {
  background-repeat: no-repeat;
  background-position: right top;
}

.style-box.text-right {
  display: flex;
  justify-content: flex-end;
  background-position: left top;
}

.bg-01 {
  background-image: url(/grdc_d/img/top_01.png);
}

.bg-02 {
  background-image: url(/grdc_d/img/top_02.png);
}

.bg-03 {
  background-image: url(/grdc_d/img/top_03.png);
}

.text-box .en {
  font-weight: 600;
}

.text-box .en span {
  position: relative;
  display: inline;
}

.text-box .en span::after {
  position: absolute;
  bottom: -1px;
  content: "";
  display: block;
  width: 0.5em;
  height: 2px;
  background-color: #343254;
}

.text-box .text {
  margin-bottom: 40px;
}

.text-box .btn-more {
  float: right;
}

.h-top-sec {
  margin: 20px 0 28px;
  font-weight: 500;
  line-height: 1.5625;
  letter-spacing: 0.032em;
}

.h-top-sec::after {
  content: "";
  display: block;
  width: 2.5em;
  height: 1px;
  margin-top: 24px;
  background-color: #343254;
}

.top-news {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
}

.top-news .btn-more {
  position: absolute;
  right: 0;
}

.h-top-news {
  position: absolute;
  top: -0.5em;
  margin: 0;
  font-weight: 500;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  /***************** mv-area 767 *****************/
  .scroll {
    top: 76%;
  }
  .scroll::before, .scroll::after {
    right: -70px;
    width: 60px;
  }
  .mv-text-area {
    position: relative;
    height: calc(100vh - 58.5px);
  }
  .mv-text-main {
    margin: 0 0 15px;
    font-size: 6.51042vw;
  }
  .mv-text-sub {
    font-size: 3.38542vw;
  }
  .top-anchor li:not(:last-child)::after {
    left: 16%;
    bottom: 0;
    width: 70%;
    height: 1px;
  }
  .top-anchor a {
    display: block;
    padding: 6.7% 5%;
    background: url(/grdc_d/img/arrow_right.png) no-repeat 97% center;
    background-size: 2%;
  }
  .top-anchor .ja {
    margin-bottom: 7px;
    font-size: 4.16667vw;
    letter-spacing: 0.08em;
    font-weight: 500;
  }
  .top-anchor .en {
    font-size: 3.38542vw;
  }
  /***************** contents 767 *****************/
  .top-sec {
    background-size: 82%;
    margin-bottom: 107px;
  }
  .top-sec:first-of-type {
    margin-top: 123.5px;
  }
  .style-box {
    padding: 130px 20px 0 20px;
  }
  .style-box .text-box {
    width: 82%;
  }
  .text-box .en {
    font-size: 3.90625vw;
  }
  .text-box .text {
    line-height: 2.14;
  }
  .h-top-sec {
    font-size: 7.29167vw;
  }
  .top-news {
    margin: 0 20px 80px;
  }
  .top-news .btn-more {
    bottom: 30px;
  }
  .h-top-news {
    left: 32px;
    font-size: 4.5rem;
  }
  .news-list {
    padding: 50px 20px;
  }
  .news-list li {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  /***************** mv-area *****************/
  .scroll {
    top: 27%;
  }
  .scroll::before, .scroll::after {
    right: -125px;
    width: 120px;
  }
  .mv-area {
    min-width: 1330px;
    height: calc(100vh - 203px);
  }
  .mv-text-area {
    height: calc(100% - 176px);
  }
  .mv-text-main {
    margin: 0 0 20px;
    font-size: 3.6rem;
  }
  .mv-text-sub {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .top-anchor {
    display: flex;
    justify-content: space-between;
    height: 176px;
  }
  .top-anchor li {
    position: relative;
    width: 33.333%;
  }
  .top-anchor li:not(:last-child)::after {
    top: calc(50% - 44px);
    right: 0;
    width: 1px;
    height: 88px;
  }
  .top-anchor a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .top-anchor a:hover .en::after {
    bottom: -20px;
  }
  .top-anchor .ja {
    margin-bottom: 10px;
    font-size: 1.8rem;
    letter-spacing: 0.18em;
  }
  .top-anchor .en {
    font-size: 1.5rem;
  }
  .top-anchor .en::after {
    transition: all .2s;
    position: absolute;
    left: calc(50% - 9px);
    bottom: -16px;
    content: "";
    display: block;
    width: 18px;
    height: 8px;
    background: url(/grdc_d/img/arrow_down.png) no-repeat center;
  }
  /***************** contents *****************/
  .top-sec-wrap {
    min-width: 1330px;
  }
  .top-sec {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 170px;
  }
  .top-sec:first-of-type {
    margin-top: 180px;
  }
  .style-box {
    padding: 130px 40px 0 40px;
  }
  .style-box .text-box {
    width: 445px;
  }
  .text-box .en {
    font-size: 1.6rem;
    line-height: 1;
  }
  .text-box .text {
    font-size: 1.4rem;
    line-height: 2.285;
  }
  .h-top-sec {
    font-size: 3.2rem;
  }
  .top-news {
    width: 1000px;
    margin-bottom: 140px;
    padding: 75px 65px 80px 65px;
  }
  .top-news .btn-more {
    bottom: 45px;
  }
  .h-top-news {
    left: 65px;
    font-size: 5rem;
  }
  .news-list li {
    margin-bottom: 30px;
  }
  .news-list a {
    max-width: 650px;
  }
  .news-list .text {
    font-size: 1.4rem;
  }
}

/***************** header *****************/
@media screen and (max-width: 1024px) {
  .tablet-sp {
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .tablet-sp {
    display: none;
  }
}
