@charset "UTF-8";
body.top section.mv {
  display: flex;
  height: calc(100vh - 13.8429752066vw);
  justify-content: space-between;
  position: relative;
}
body.top section.mv .photo {
  height: calc(100vh - 13.8429752066vw);
  margin: 0vw 0 0vw 0;
  width: 100vw;
}
body.top section.mv .future {
  display: none;
}
body.top section.mv .copyright {
  display: none;
}
body.top section.mv .slogan {
  background: #1d1d1d;
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 4.7520661157vw;
  line-height: 12.3966942149vw;
  position: absolute;
  right: 0vw;
  text-align: center;
  top: 10.3305785124vw;
  width: 73.5537190083vw;
}
body.top section.mv .eyecatch {
  align-items: center;
  background: #0b3551;
  color: #ffffff;
  display: flex;
  font-size: 4.3388429752vw;
  height: 14.0495867769vw;
  justify-content: center;
  line-height: 6.1983471074vw;
  position: absolute;
  bottom: 13.0165289256vw;
  width: 92.7685950413vw;
}
body.top section.news {
  background: #f3f1ed;
  padding: 8.2644628099vw 0 8.2644628099vw 0;
}
body.top section.news > .inner {
  background: #ffffff;
  margin: auto;
  padding: 3.7190082645vw;
  width: 100vw;
}
body.top section.news > .inner .headline {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 3.9256198347vw;
}
body.top section.news > .inner .headline h3 {
  color: #1e618d;
  font-family: "Nobel", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 7.8512396694vw;
}
body.top section.news > .inner .headline a {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  font-size: 3.9256198347vw;
  position: relative;
}
body.top section.news > .inner .headline a::before {
  background: #1d1d1d;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  transform: rotate(30deg);
  transform-origin: 100% 100%;
  width: 1.4462809917vw;
}
body.top section.news > .inner .headline a::after {
  background: #1d1d1d;
  content: "";
  display: block;
  height: 1px;
  margin-left: 1.0330578512vw;
  width: 4.132231405vw;
}
body.top section.news > .inner .items {
  border-collapse: collapse;
  display: block;
}
body.top section.news > .inner .items > li {
  align-items: center;
  border-bottom: 1px solid #d3d7D9;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.top section.news > .inner .items > li .date {
  display: inline-block;
  font-size: 3.0991735537vw;
  font-weight: 700;
  min-width: 12.8099173554vw;
  padding: 3.0991735537vw 0 0 0;
  padding-right: 3.0991735537vw;
  vertical-align: middle;
}
body.top section.news > .inner .items > li .category {
  display: inline-block;
  min-width: 10.3305785124vw;
  padding: 2.8925619835vw 2.0661157025vw 1.652892562vw 0;
  vertical-align: middle;
}
body.top section.news > .inner .items > li .category > span {
  background: #019b96;
  border-collapse: separate;
  border-spacing: 0.6198347107vw 0vw;
  color: #ffffff;
  display: table;
  font-size: 3.0991735537vw;
  font-weight: 700;
  line-height: 5.1652892562vw;
}
body.top section.news > .inner .items > li .content {
  display: table-cell;
  font-size: 3.9256198347vw;
  font-weight: 700;
  padding: 2.8925619835vw 0 1.652892562vw 0;
  width: 100%;
}
body.top section.feature {
  background: -webkit-image-set(url("/assets/img/top/1x/photo_feature.jpg") 1x, url("/assets/img/top/1x/photo_feature.jpg") 2x) center no-repeat;
  background: image-set("/assets/img/top/1x/photo_feature.jpg" 1x, "/assets/img/top/1x/photo_feature.jpg" 2x) center no-repeat;
  background-size: cover;
  display: flex;
}
body.top section.feature h2 {
  align-items: center;
  background: #0b3551;
  color: #ffffff;
  display: flex;
  font-size: 6.1983471074vw;
  height: 83.8842975207vw;
  justify-content: center;
  text-orientation: sideways;
  width: 14.6694214876vw;
  writing-mode: vertical-rl;
}
body.top section.feature .content {
  align-items: flex-end;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
body.top section.feature .content > dl {
  background: rgba(0, 0, 0, 0);
  margin: auto 5.1652892562vw 4.6487603306vw auto;
  position: relative;
  text-align: center;
  width: 70.2479338843vw;
  z-index: 1;
}
body.top section.feature .content > dl::before {
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  bottom: 0;
  content: "";
  display: block;
  height: 31.4049586777vw;
  position: absolute;
  width: 70.2479338843vw;
  z-index: -1;
}
body.top section.feature .content > dl > dt {
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 3.9256198347vw;
  font-weight: 700;
  margin-bottom: 3.305785124vw;
}
body.top section.feature .content > dl .logo {
  margin: 0 auto 0 auto;
  width: 18.5950413223vw;
}
body.top section.feature .content > dl .logo::before {
  border-left: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  bottom: 18.5950413223vw;
  content: "";
  display: block;
  height: 12.8099173554vw;
  left: 0;
  position: absolute;
  width: 16.1157024793vw;
}
body.top section.feature .content > dl .logo::after {
  border-right: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  bottom: 18.5950413223vw;
  content: "";
  display: block;
  height: 12.8099173554vw;
  position: absolute;
  right: 0;
  width: 16.1157024793vw;
}
body.top section.feature .content > dl .link::before {
  border-bottom: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  bottom: 0;
  content: "";
  display: block;
  height: 12.8099173554vw;
  left: 0;
  position: absolute;
  width: 16.1157024793vw;
}
body.top section.feature .content > dl .link::after {
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  bottom: 0;
  content: "";
  display: block;
  height: 12.8099173554vw;
  position: absolute;
  right: 0;
  width: 16.1157024793vw;
}
body.top section.feature .content > dl .link > a {
  align-items: center;
  background: linear-gradient(120deg, #237DB8 0%, #175B87 100%);
  color: #ffffff;
  display: flex;
  font-size: 3.0991735537vw;
  font-weight: 700;
  height: 6.1983471074vw;
  justify-content: center;
  margin: 0 auto 3.305785124vw auto;
  position: relative;
  width: 57.8512396694vw;
}
body.top section.feature .content > dl .link > a::after {
  background: #ffffff;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: -3.0991735537vw;
  top: 50%;
  width: 9.9173553719vw;
}
body.top section.slogan {
  color: #0b3551;
  font-size: 9.9173553719vw;
  font-style: italic;
  font-weight: 700;
  opacity: 0.15;
  text-align: center;
}
body.top section.works {
  display: flex;
}
body.top section.works > dl {
  margin-top: 77.2727272727vw;
  min-width: 50vw;
  position: relative;
}
body.top section.works > dl > dd::after {
  background: rgba(0, 0, 0, 0.05);
  pointer-events: none;
  bottom: 0px;
  content: "";
  display: block;
  height: 100%;
  left: 0px;
  position: absolute;
  right: 0px;
  top: 0px;
  width: 100%;
}
body.top section.works > dl > dt {
  bottom: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
body.top section.works > dl > dt > a {
  align-items: center;
  background: linear-gradient(120deg, #237DB8 0%, #175B87 100%);
  color: #ffffff;
  display: flex;
  font-size: 3.7190082645vw;
  font-weight: 700;
  height: 9.2975206612vw;
  justify-content: space-between;
  padding: 0 1.2396694215vw;
}
body.top section.works > dl > dt > a::after {
  background: -webkit-image-set(url("/assets/img/common/1x/arrow_forward.svg") 1x, url("/assets/img/common/1x/arrow_forward.svg") 2x) center no-repeat;
  background: image-set("/assets/img/common/1x/arrow_forward.svg" 1x, "/assets/img/common/1x/arrow_forward.svg" 2x) center no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 3.305785124vw;
  width: 2.0661157025vw;
}
body.top section.works .content {
  background: #f3f1ed;
  position: absolute;
  height: 77.2727272727vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
body.top section.works .content .slogan {
  background: #1d1d1d;
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 4.3388429752vw;
  font-weight: 700;
  line-height: 8.8842975207vw;
  margin: 0vw auto 3.0991735537vw auto;
  text-align: center;
  width: 80.5785123967vw;
}
body.top section.works .content > dl {
  text-align: center;
}
body.top section.works .content > dl > dd {
  color: #1e618d;
  font-size: 7.8512396694vw;
  font-weight: 700;
}
body.top section.works .content > dl > dt {
  font-size: 4.958677686vw;
  font-weight: 700;
  margin-bottom: 4.132231405vw;
}
body.top section.works .content > dl .cut {
  margin: auto;
  margin-bottom: 0vw;
  width: 30.7851239669vw;
}
body.top section.company {
  background: -webkit-image-set(url("/assets/img/top/1x/photo_company.jpg") 1x, url("/assets/img/top/1x/photo_company.jpg") 2x) center no-repeat;
  background: image-set("/assets/img/top/1x/photo_company.jpg" 1x, "/assets/img/top/1x/photo_company.jpg" 2x) center no-repeat;
  background-size: cover;
  margin-bottom: 13.6363636364vw;
  min-height: 95.6611570248vw;
  padding: 11.5702479339vw 0;
}
body.top section.company > dl {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: auto;
}
body.top section.company > dl .logo {
  margin-bottom: 6.1983471074vw;
}
body.top section.company > dl .logo img {
  height: 32.2314049587vw;
  width: 37.1900826446vw;
}
body.top section.company > dl > dt {
  color: #ffffff;
  font-size: 11.1570247934vw;
  margin: 0 auto 7.2314049587vw auto;
  text-align: center;
  text-orientation: sideways;
  writing-mode: vertical-rl;
}
body.top section.company > dl .link > a {
  align-items: center;
  border: 1px solid #ffffff;
  color: #ffffff;
  display: flex;
  font-size: 3.9256198347vw;
  font-weight: 700;
  height: 12.3966942149vw;
  justify-content: center;
  width: 53.305785124vw;
}
body.top section.recruit {
  padding-bottom: 21.0743801653vw;
  overflow: hidden;
}
body.top section.recruit::before {
  background: #1e618d;
  content: "";
  display: block;
  height: 13.8429752066vw;
  width: 100%;
}
body.top section.recruit > .inner {
  background: #ffffff;
  box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.3);
  height: 51.652892562vw;
  margin: -6.6115702479vw auto 0 auto;
  position: relative;
  width: 82.6446280992vw;
}
body.top section.recruit > .inner::before {
  background: -webkit-image-set(url("/assets/img/top/1x/cut_helmet1.png") 1x, url("/assets/img/top/1x/cut_helmet1.png") 2x) center no-repeat;
  background: image-set("/assets/img/top/1x/cut_helmet1.png" 1x, "/assets/img/top/1x/cut_helmet1.png" 2x) center no-repeat;
  background-size: cover;
  bottom: -13.4297520661vw;
  content: "";
  display: block;
  height: 36.7768595041vw;
  left: -13.6363636364vw;
  position: absolute;
  width: 29.958677686vw;
}
body.top section.recruit > .inner::after {
  background: -webkit-image-set(url("/assets/img/top/1x/cut_helmet2.png") 1x, url("/assets/img/top/1x/cut_helmet2.png") 2x) center no-repeat;
  background: image-set("/assets/img/top/1x/cut_helmet2.png" 1x, "/assets/img/top/1x/cut_helmet2.png" 2x) center no-repeat;
  background-size: cover;
  bottom: -12.6033057851vw;
  content: "";
  display: block;
  height: 37.3966942149vw;
  position: absolute;
  right: -15.2892561983vw;
  width: 33.6776859504vw;
}
body.top section.recruit > .inner > dl {
  padding-top: 12.8099173554vw;
}
body.top section.recruit > .inner > dl .ruby {
  color: #0b3551;
  font-size: 6.6115702479vw;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 3.7190082645vw;
  text-align: center;
}
body.top section.recruit > .inner > dl > dt {
  color: #1e618d;
  font-size: 3.9256198347vw;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 8.0578512397vw;
  text-align: center;
}
body.top section.recruit > .inner > dl .link > a {
  align-items: center;
  border: 1px solid #1e618d;
  color: #0b3551;
  display: flex;
  font-size: 3.9256198347vw;
  font-weight: 700;
  height: 12.3966942149vw;
  justify-content: center;
  margin: auto;
  position: relative;
  width: 39.2561983471vw;
}
body.top section.recruit > .inner > dl .link > a::after {
  background: #707070;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: -8.6776859504vw;
  top: 50%;
  width: 10.5371900826vw;
}
/*# sourceMappingURL=../map/sp/top.css.map */
