/*********************************

_variables.scss

*********************************/
/*********************************

_mixins.scss

*********************************/
/*********************************

_functions.scss

*********************************/
.kv {
  margin: 0 auto;
  width: 100%;
  height: 768px;
  min-height: 100vh;
}
.kv__container {
  width: 100%;
  height: 100%;
}
.kv__btns {
  display: none;
}
.kv__bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
}
.kv__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6.25vw;
}
.kv__desc {
  position: absolute;
  bottom: 3.359375vw;
  right: 3.90625vw;
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0.33em;
  line-height: 1.8;
  color: #fff;
  text-align: right;
}
.kv__scrollAnim {
  position: absolute;
  bottom: 3.359375vw;
  left: 50%;
  transform: translateX(-50%);
  width: 1.484375vw;
  height: 2.65625vw;
  border: 0.078125vw solid #fff;
  border-radius: 1.171875vw;
  background-color: rgba(217, 217, 217, 0.14);
  overflow: hidden;
}
.kv__scrollAnim:after {
  margin: auto;
  position: absolute;
  top: 0.4296875vw;
  left: 0;
  right: 0;
  content: "";
  width: 0.2171875vw;
  height: 0.27109375vw;
  background: #D9D9D9;
  border-radius: 9999px;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-name: scroll;
}
@keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(1.25vw);
  }
}

.topNews {
  margin: 0 auto;
  width: 100%;
  border-bottom: 0.078125vw solid #9A9A9A;
}
.topNews__container {
  padding: 1.71875vw 0;
  margin: auto;
  width: calc(100% - 33.90625vw);
  overflow: hidden;
}
.topNews__featureItems {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.topNews__item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.topNews__itemDate, .topNews__itemTtl {
  position: relative;
}
.topNews__itemDate:after, .topNews__itemTtl:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.078125vw;
  height: 0.9375vw;
  background-color: #585858;
}
.topNews__itemDate {
  padding-right: 1.796875vw;
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  color: #585858;
}
.topNews__itemDate:after {
  right: 0;
}
.topNews__itemCat {
  margin: 0 1.796875vw;
  padding: 0.15625vw 0.9375vw;
  width: max-content;
  min-height: 1.484375vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0.078125vw solid #585858;
  border-radius: 3.59375vw;
  font-size: 0.859375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #585858;
  text-align: center;
  box-sizing: border-box;
}
.topNews__itemTtl {
  padding-left: 1.796875vw;
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  color: #585858;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.topNews__itemTtl:after {
  left: 0;
}

.topIntro {
  margin: 5.546875vw auto 6.328125vw;
  width: 100%;
}
.topIntro__container {
  margin: auto;
  width: 32.03125vw;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.topIntro__descWrapper {
  padding-top: 2.421875vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}
.topIntro__descWrapper p {
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #585858;
  writing-mode: vertical-lr;
  text-orientation: upright;
}
.topIntro__descWrapper--1 {
  margin-right: 3.75vw;
}
.topIntro__descWrapper--2 {
  margin-right: 11.09375vw;
}
.topIntro__mainHead {
  font-size: 1.25vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #585858;
  writing-mode: vertical-lr;
  text-orientation: upright;
}

.topFeatures {
  margin: 0 auto;
  width: 100%;
}
.topFeatures__container {
  margin: auto;
}
.topFeatures__items {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0.3125vw;
}
.topFeatures__item {
  padding: 2.421875vw 2.421875vw 1.71875vw;
  width: 50%;
  height: 32.109375vw;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  box-sizing: border-box;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  position: relative;
}
.topFeatures__item picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.topFeatures__item picture img {
  height: 100%;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.topFeatures__item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 19.35%, rgba(102, 102, 102, 0) 43.55%);
  opacity: 0;
}
.topFeatures__item:hover picture {
  opacity: 0.7;
}
.topFeatures__item:hover .royalBtnTypeA__arrow {
  background-color: #224528;
}
.topFeatures__item:hover .royalBtnTypeA__arrow svg path {
  fill: #fff;
}
.topFeatures__item:hover:after {
  opacity: 1;
}
.topFeatures__itemTtl {
  width: 100%;
  font-size: 1.40625vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}
.topFeatures__article {
  margin: 5.9375vw auto 5.390625vw;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.topFeatures__articleContents {
  padding-left: 9.609375vw;
  padding-right: 4.765625vw;
  width: 38.984375vw;
  box-sizing: border-box;
}
.topFeatures__articleContents h2 {
  margin-bottom: 1.40625vw;
  font-size: 1.5625vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}
.topFeatures__articleContents p {
  margin-bottom: 3.359375vw;
  font-size: 1.09375vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
}
.topFeatures__articleThumb {
  width: 61.015625vw;
  min-height: 27.03125vw;
}
.topFeatures__cons {
  margin: 0 auto 5.390625vw;
  width: 100%;
}
.topFeatures__consHeading {
  margin: 0 auto 1.640625vw;
  padding: 0 7.265625vw 0 9.609375vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
}
.topFeatures__consHeading h3 {
  font-size: 1.5625vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  color: #585858;
}
.topFeatures .swiper-wrapper {
  transition-timing-function: linear !important;
}
.topFeatures__consItems {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0.3125vw;
}
.topFeatures__consItem {
  width: 50%;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.topFeatures__consItem figure {
  height: 33.515625vw;
  display: block;
}
.topFeatures__consItem figure img {
  height: 100%;
  object-fit: cover;
}
.topFeatures__consItem:hover .royalBtnTypeC__arrow {
  background-color: #fff;
}
.topFeatures__consItem:hover svg path {
  fill: #224528;
}
.topFeatures__consItemDetails {
  margin-top: 0.390625vw;
  width: 26.25vw;
  display: block;
}
.topFeatures__consItemDetails h5 {
  margin-bottom: 0.703125vw;
  padding-bottom: 0.3125vw;
  font-size: 1.015625vw;
  font-weight: 400;
  line-height: 2.3;
  letter-spacing: 0.012em;
  color: #9B9B9B;
  border-bottom: 0.078125vw solid #A2A2A2;
}

@media print, screen and (max-width: 768px) {
  .kv {
    height: 196.9230769231vw;
  }
  .kv__logo {
    width: 21.0256410256vw;
  }
  .kv__desc {
    bottom: 25.8974358974vw;
    right: 5.8974358974vw;
    font-size: 3.5897435897vw;
  }
  .kv__scrollAnim {
    display: none;
  }
  .kv__btns {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 10;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .kv__btns.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
  .kv__btn {
    width: 50%;
    min-height: 12.3076923077vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.8461538462vw;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2;
    color: #fff;
  }
  .kv__btn:first-child {
    background-color: #2C2C2C;
  }
  .kv__btn:last-child {
    background-color: #3E7A48;
  }
  .kv__btn:last-child span {
    margin-left: 2.0512820513vw;
  }
  .kv__btn:last-child span svg {
    width: 2.7487179487vw;
  }
  .topNews {
    border-bottom: 0.1282051282vw solid #9A9A9A;
  }
  .topNews__container {
    padding: 4.6153846154vw 0;
    width: calc(100% - 8.2051282051vw);
  }
  .topNews__itemDate:after, .topNews__itemTtl:after {
    width: 0.1282051282vw;
    height: 3.0769230769vw;
  }
  .topNews__itemDate {
    width: 19.2307692308vw;
    padding-right: 3.3333333333vw;
    font-size: 3.3333333333vw;
  }
  .topNews__itemCat {
    display: none;
  }
  .topNews__itemTtl {
    padding-left: 3.3333333333vw;
    font-size: 3.3333333333vw;
  }
  .topNews__itemTtl:after {
    display: none;
  }
  .topIntro {
    margin: 9.2307692308vw auto 8.9743589744vw;
  }
  .topIntro__container {
    width: 66.6666666667vw;
  }
  .topIntro__descWrapper {
    padding-top: 8.2051282051vw;
    gap: 3.0769230769vw;
  }
  .topIntro__descWrapper p {
    font-size: 3.3333333333vw;
  }
  .topIntro__descWrapper--1 {
    margin-right: 7.1794871795vw;
  }
  .topIntro__descWrapper--2 {
    margin-right: 12.3076923077vw;
  }
  .topIntro__mainHead {
    font-size: 4.1025641026vw;
  }
  .topFeatures__items {
    flex-direction: column;
    gap: 1.0256410256vw;
  }
  .topFeatures__item {
    padding: 1.7948717949vw 4.358974359vw 1.7948717949vw 4.8717948718vw;
    width: 100%;
    height: 39.4871794872vw;
  }
  .topFeatures__itemTtl {
    font-size: 3.5897435897vw;
  }
  .topFeatures__article {
    margin: 19.4871794872vw auto 13.5897435897vw;
    justify-content: center;
    flex-direction: column;
  }
  .topFeatures__articleContents {
    padding-left: 7.9487179487vw;
    padding-right: 8.2051282051vw;
    width: 100%;
  }
  .topFeatures__articleContents h2 {
    margin-bottom: 4.358974359vw;
    font-size: 4.6153846154vw;
    line-height: 1.3;
  }
  .topFeatures__articleContents p {
    margin-bottom: 7.1794871795vw;
    font-size: 3.3333333333vw;
    line-height: 1.7;
  }
  .topFeatures__articleThumb {
    margin-top: 6.4102564103vw;
    width: 100%;
    min-height: 44.358974359vw;
  }
  .topFeatures__cons {
    margin: 0 auto 19.7435897436vw;
    width: 100%;
  }
  .topFeatures__consHeading {
    margin: 0 auto 3.3333333333vw;
    padding: 0 8.2051282051vw;
  }
  .topFeatures__consHeading h3 {
    font-size: 4.6153846154vw;
  }
  .topFeatures__consItems {
    margin-bottom: 14.358974359vw;
    gap: 1.0256410256vw;
  }
  .topFeatures__consItem {
    width: 100%;
  }
  .topFeatures__consItem figure {
    height: 61.2820512821vw;
  }
  .topFeatures__consItem:hover .royalBtnTypeC__arrow {
    background-color: #fff;
  }
  .topFeatures__consItem:hover svg path {
    fill: #224528;
  }
  .topFeatures__consItemDetails {
    margin-top: 0;
    width: 70vw;
  }
  .topFeatures__consItemDetails h5 {
    margin-bottom: 1.8743589744vw;
    padding-bottom: 0.6256410256vw;
    font-size: 2.7076923077vw;
    border-bottom: 0.2076923077vw solid #A2A2A2;
  }
  .topFeatures__consItemDetails .royalBtnTypeC .royalBtnTypeC__arrow {
    display: none;
  }
  .topFeatures .royalBtnTypeB {
    margin: 0 auto;
  }
}
