.page-top .mv {
  width: 100%;
  position: relative
}

.page-top .mv .mv-main {
  width: 100%;
  height: 100dvh;
  position: relative
}

.page-top .mv .mv-main .mv-main__img {
  width: 100%;
  height: 100%
}

.page-top .mv .mv-main .mv-main__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.page-top .mv .mv-main .mv-main__content {
  position: absolute;
  left: 5.42%;
  bottom: 22.5%;
  color: #fff
}

.page-top .mv .mv-main .mv-main__title {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #fff
}

.page-top .mv .mv-main .mv-main__text {
  font-family: "unbounded", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 14px
}

.page-top .mv .mv-thumb {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr 8px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-inline: -8px;
  margin-top: -9.8%
}

.page-top .mv .mv-thumb .mv-thumb__item {
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.page-top .mv .mv-thumb .mv-thumb__img {
  width: 100%
}

.page-top .mv .mv-thumb .mv-thumb__img img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.page-top .mv .mv-thumb .mv-thumb__content {
  position: absolute;
  top: 11px;
  left: 15px;
  color: #fff
}

.page-top .mv .mv-thumb .mv-thumb__content span {
  display: block
}

.page-top .mv .mv-thumb .mv-thumb__number {
  font-family: "unbounded", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.79
}

.page-top .mv .mv-thumb .mv-thumb__title-en {
  font-family: "unbounded", sans-serif;
  font-size: 0.8em;
  line-height: 1.8;
  letter-spacing: 0.04em
}

.page-top .mv .mv-thumb .mv-thumb__title-ja {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em
}

@media screen and (max-width:1280px) {
  .mv .container {
    width: 94%;
  }

  .page-top .mv .mv-thumb .mv-thumb__img img {
    aspect-ratio: 16 /9;
  }

  .page-top .mv .mv-main .mv-main__title {
    font-size: 3.2rem;
  }

  .page-top .mv .mv-main .mv-main__text {
    font-size: 1.2rem;
  }
}

@media screen and (max-width:1080px) {
  .page-top .mv .mv-thumb .mv-thumb__number {
    font-size: 1.2rem;
  }

  .page-top .mv .mv-thumb .mv-thumb__title-en {
    font-size: 0.8rem;
    font-weight: 700;
  }

  .page-top .mv .mv-thumb .mv-thumb__title-ja {
    font-size: 1.4rem;
  }

  .page-top .mv .mv-thumb .mv-thumb__item::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: rgb(0 0 0 /24%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }

  .page-top .mv .mv-thumb .mv-thumb__content {
    z-index: 1;
  }
}

@media screen and (max-width:767px) {
  .page-top .mv .mv-main .mv-main__title {
    font-size: 2.8rem;
  }

  .page-top .mv .mv-main .mv-main__text {
    font-size: 1.0rem;
  }

  .page-top .mv .mv-thumb {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }

  .page-top .mv .mv-thumb .mv-thumb__img img {
    aspect-ratio: 3 / 1;
  }
}

@media screen and (max-width:640px) {
  .page-top .mv .mv-main .mv-main__title {
    font-size: 2.4rem;
  }

  .page-top .mv .mv-main .mv-main__content {
    left: 16px;
  }
}

/*********************************
|
| Section Interview 
|
*********************************/

.page-top .interview {
  padding-block: 109px 0;
  overflow: hidden;
}

.page-top .interview .interview__content {
  margin-top: 4px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 1fr;
  grid-template-columns: 40% 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.page-top .interview .interview__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.04em
}

.page-top .interview .interview__text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  max-width: 633px;
  margin-left: auto
}

.page-top .interview .button {
  max-width: 280px;
  margin: 40px 26px 0 auto
}

.page-top .interview .interview-slider {
  margin-top: 64px;
  margin-inline: -40px
}

.page-top .interview .interview-slider .interview-slider__item {
  height: auto
}

.page-top .interview .interview-slider .interview-slider__item-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}

.page-top .interview .interview-slider .interview-slider__item-label {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: "unbounded", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.01em;
  color: rgba(20, 38, 63, 0.6392156863)
}

.page-top .interview .interview-slider .interview-slider__item-img {
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 435/283
}

.page-top .interview .interview-slider .interview-slider__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.page-top .interview .interview-slider .interview-slider__content {
  position: absolute;
  top: 0;
  left: 0;
  padding-inline: 32px 10px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  font-family: "unbounded", sans-serif;
  color: #fff
}

.page-top .interview .interview-slider .interview-slider__item-number {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8
}

.page-top .interview .interview-slider .interview-slider__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px
}

.page-top .interview .interview-slider .interview-slider__item-deco {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 4px
}

.page-top .interview .interview-slider .interview-slider__item-deco:after, .page-top .interview .interview-slider .interview-slider__item-deco:before {
  content: "";
  width: 8px;
  height: 8px;
  background: #9fc707
}

.page-top .interview .interview-slider .interview-slider__item-deco:after {
  background: #0798ed
}

.page-top .interview .interview-slider .interview-slider__item-department {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8
}

.page-top .interview .interview-slider .interview-slider__item-body {
  margin-top: 8px;
  padding-left: 24px;
  display: block;
}

.page-top .interview .interview-slider .interview-slider__item-title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8
}

.page-top .interview .interview-slider .interview-slider__item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 16px
}

.page-top .interview .interview-slider .interview-slider__item-text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8
}

.page-top .interview .interview-slider .button-circle {
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.page-top .interview .interview-slider .interview-slider__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  margin-right: 24px;
  margin-left: auto;
  width: min(48%, 720px);
}

.page-top .interview .interview-slider .interview-slider__btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #14263f;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: transparent
}

.page-top .interview .interview-slider .interview-slider__btn:hover {
  background-color: #14263f
}

.page-top .interview .interview-slider .interview-slider__btn:hover img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1)
}

.page-top .interview .interview-slider .interview-slider__btn img {
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .interview .interview-slider .interview-slider__btn.interview-slider__btn--prev img {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.page-top .interview .interview-slider .interview-slider__progress {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 1px;
  background: #d9d9d9;
  border-radius: 0
}

.page-top .interview .interview-slider .interview-slider__progress .swiper-scrollbar-drag {
  height: 100%;
  background: #14263f;
  border-radius: 0;
  cursor: -webkit-grab;
  cursor: grab
}

@media screen and (max-width:1280px) {
  .interview .container {
    width: 94%;
  }

  .page-top .interview .interview__desc {
    font-size: 2.0rem;
  }

  .page-top .interview .interview__text {
    font-size: 1.4rem;
  }

  .page-top .interview .button {
    margin-top: 40px;
  }

  .page-top .interview .interview-slider .interview-slider__item-title {
    font-size: 1.8rem;
  }

  .page-top .interview .interview-slider .interview-slider__item-text {
    font-size: 1.3rem;
  }
}

@media screen and (max-width:900px) {
  .page-top .interview .interview__content {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
  }

  .page-top .interview .interview__text {
    max-width: 100%;
  }

  .page-top .interview .interview__text br:last-child {
    display: none;
  }

  .page-top .interview .interview__desc br:first-child {
    display: none;
  }

}

@media screen and (max-width:767px) {
  .page-top .interview .interview__desc {
    font-size: 1.8rem;
  }

  .page-top .interview .interview-slider .interview-slider__nav {
    width: 80%;
  }
}

@media screen and (max-width:640px) {
  .page-top .interview .interview__text {
    font-size: 1.3rem;
  }

  .page-top .interview .interview-slider {
    margin-inline: 0;
  }
}

/*********************************
|
| Section Group
|
*********************************/
.page-top .ideas {
  padding-top: 200px
}

.page-top .ideas img {
  border-radius: 8px;
  -o-object-fit: cover;
  object-fit: cover
}

.page-top .ideas .ideas__top {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 36.7% 1fr;
  grid-template-columns: 36.7% 1fr;
  margin-inline: 2.22%
}

.page-top .ideas .ideas__bottom {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 56% 1fr;
  grid-template-columns: 56% 1fr
}

.page-top .ideas .ideas__img01 {
  width: 25.84vw;
  margin-left: auto;
  margin-top: 6.5vw
}

.page-top .ideas .ideas__img02 {
  margin-top: 7vw;
  width: 26.875vw
}

.page-top .ideas .ideas__content {
  padding-left: 20%
}

.page-top .ideas .ideas__text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 3.2;
  letter-spacing: 0.04em;
  margin-top: 38px
}

.page-top .ideas .button {
  margin-top: 24px
}

.page-top .ideas .ideas__img03 {
  width: 38.26vw;
  margin-left: auto;
  margin-top: 5.5vw
}

.page-top .ideas .ideas__img04 {
  width: 25.35vw;
  margin-left: auto;
  margin-right: 4vw;
  margin-top: 1vw
}

@media screen and (max-width:1280px) {
  .page-top .ideas .ideas__text {
    font-size: 1.4rem;
    line-height: 2.8;
  }
}

@media screen and (max-width:1080px) {
  .page-top .ideas .ideas__text {
    font-size: 1.3rem;
    line-height: 2.6;
    word-break: break-word;
  }

  .page-top .ideas .ideas__text br {
    display: none;
  }

  .page-top .ideas .ideas__top {
    margin-bottom: 8%;
  }

  .page-top .ideas {
    padding-top: 160px;
  }
}

@media screen and (max-width:767px) {
  .page-top .ideas .ideas__top {
    grid-template-columns: repeat(1, 1fr);
  }

  .page-top .ideas .ideas__top .ideas__imgs {
    order: 2;
  }

  .page-top .ideas .ideas__img01 {
    width: min(400px, 64vw);
  }

  .page-top .ideas .ideas__img02 {
    margin-top: 7vw;
    width: min(360px, 56vw);
  }

  .page-top .ideas .ideas__img03 {
    width: min(320px, 47vw);
  }

  .page-top .ideas .ideas__bottom {
    grid-template-columns: 50% 1fr;
  }

  .page-top .ideas .ideas__img04 {
    width: min(320px, 38vw);
    margin-left: auto;
    margin-right: 4vw;
    margin-top: 2vw;
  }

  .page-top .ideas .ideas__content {
    padding-left: 4%;
  }

  .page-top .ideas {
    padding-top: 120px;
  }
}

/*********************************
|
| Section Company
|
*********************************/


.page-top .company {
  padding-block: 280px 155px
}

.page-top .company .company-block__address {
  margin-top: 40px
}

.page-top .company .company-block__address-label {
  font-family: "unbounded", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em
}

.page-top .company .company-block__address-text {
  font-weight: 500;
  line-height: 2
}

.page-top .company .company-block {
  margin-top: 40px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(120px, 1fr) minmax(0, 1200px) minmax(120px, 1fr);
  grid-template-columns: minmax(120px, 1fr) minmax(0, 1200px) minmax(120px, 1fr);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start
}

.page-top .company .company-block:nth-last-of-type(2n) .company-block__inner {
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-column: 2/4;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}

.page-top .company .company-block:nth-last-of-type(2n) .company-block__img-sm {
  margin-left: unset;
  margin-right: auto
}

.page-top .company .company-block .company-block__inner {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  gap: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.page-top .company .company-block .company-block__imgs {
  width: 62.6%
}

.page-top .company .company-block .company-block__img-lg {
  width: 100%
}

.page-top .company .company-block .company-block__img-sm {
  width: 52%;
  margin-top: 12px;
  margin-left: auto
}

.page-top .company .company-block .company-block__content {
  margin-top: 4.2%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.page-top .company .company-block+.company-block {
  margin-top: 180px
}

.page-top .company .company-block .company-block__list {
  margin-top: 40px
}

.page-top .company .company-block .company-block__item {
  border-bottom: 1px solid rgba(20, 38, 63, 0.4);
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .company .company-block .company-block__item:hover {
  background-color: rgba(20, 38, 63, 0.04)
}

.page-top .company .company-block .company-block__item:hover .company-block__link {
  opacity: 1
}

.page-top .company .company-block .company-block__item:first-of-type {
  border-top: 1px solid rgba(20, 38, 63, 0.4)
}

.page-top .company .company-block .company-block__link {
  padding: 15.5px 8px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 8px;
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .company .company-block .company-block__link:after {
  content: "";
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 2px;
  background-color: #14263f;
  -webkit-mask: url("../images/common/arrow_forward.svg") no-repeat center/contain;
  mask: url("../images/common/arrow_forward.svg") no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .company .button {
  margin-top: 40px
}

@media screen and (max-width:1280px) {
  .page-top .company {
    padding-block: 240px 120px;
  }

  .page-top .company .section-head .section-head__title {
    font-size: 1.0rem;
  }
}

@media screen and (max-width:1080px) {
  .page-top .company {
    padding-block: 200px 120px;
  }

  .page-top .company .company-block+.company-block {
    margin-top: 160px;
  }

  .page-top .company .company-block {
    grid-template-columns: minmax(80px, 1fr) minmax(0, 1200px) minmax(80px, 1fr);
  }

  .page-top .company .company-block__address-text {
    font-size: 1.4rem;
  }

  .page-top .company .company-block__address-label {
    font-size: 1.1rem;
  }

  .page-top .company .company-block .company-block__content {
    margin-top: 4%;
  }

  .page-top .company .company-block__address {
    margin-top: 24px;
  }

  .page-top .company .company-block .company-block__link {
    font-size: 1.4rem;
    padding: 12px 8px;
  }

  .page-top .company .company-block .company-block__link:after {
    width: 16px;
    height: 16px;
  }

  .page-top .company .company-block .company-block__inner {
    gap: 40px;
  }
}

@media screen and (max-width:900px) {
  .page-top .company .company-block {
    grid-template-columns: minmax(64px, 1fr) minmax(0, 1200px) minmax(64px, 1fr);
  }

  .page-top .company .company-block .company-block__inner {
    gap: 32px;
  }

  .page-top .company .company-block+.company-block {
    margin-top: 128px;
  }

  .page-top .company .button {
    margin-top: 32px;
  }
}

@media screen and (max-width:767px) {
  .page-top .company {
    padding-block: 160px 100px;
  }

  .page-top .company .section-head .section-head__desc {
    font-size: 1.8rem;
    line-height: 1.8;
  }

  .page-top .company .company-block+.company-block {
    margin-top: 120px;
  }

  .page-top .company .company-block__address-text {
    font-size: 1.4rem;
  }

  .page-top .company .company-block__address-label {
    font-size: 1.0rem;
  }

  .page-top .company .company-block .company-block__content {
    margin-top: 2.4%;
  }

  .page-top .company .company-block__address {
    margin-top: 16px;
  }

  .page-top .company .company-block {
    grid-template-columns: repeat(1, 1fr)
  }

  .page-top .company .company-block .company-block__inner {
    flex-direction: column;
  }

  .page-top .company .company-block .company-block__imgs {
    width: min(94%, 640px);
  }

  .page-top .company .company-block:nth-last-of-type(2n) .company-block__inner {
    flex-direction: column;
  }

  .page-top .company .company-block .company-block__content {
    width: min(94%, 640px);
  }

  .page-top .company .company-block .company-block__list {
    margin-top: 32px;
  }

  .page-top .company .button {
    margin-top: 24px;
  }
}

@media screen and (max-width:600px) {
  .page-top .company {
    padding-block: 120px 80px;
  }

  .page-top .company .section-head .section-head__desc br {
    display: none;
  }

  .page-top .company .company-block+.company-block {
    margin-top: 80px;
  }

  .page-top .company .company-block__address-text {
    font-size: 1.2rem;
  }

  .page-top .company .section-head .section-head__desc {
    font-size: 1.6rem;
  }

  .page-top .company .company-block .company-block__list {
    margin-top: 24px;
  }

  .page-top .company .company-block .company-block__link {
    font-size: 1.2rem;
    padding: 12px 12px;
  }
}

/*********************************
|
| Section Recruit
|
*********************************/

.page-top .recruit {
  padding-block: 190px 258px;
  color: #fff;
  background: url("../images/top/recruit.jpg") no-repeat top center/cover
}

.page-top .recruit .recruit__inner {
  width: min(525px, 100%);
  margin-inline: auto
}

.page-top .recruit .recruit__text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.4;
  margin-top: 29px
}

.page-top .recruit .button {
  margin: 78px auto 0
}


/*********************************
|
| Section News
|
*********************************/
.page-top .news {
  padding-block: 97px 0
}

.page-top .news .news__inner {
  display: -ms-grid;
  display: grid;
  gap: 12px;
  -ms-grid-columns: 1fr 68%;
  grid-template-columns: 1fr 68%
}

.page-top .news .button {
  margin-top: 34px
}

.page-top .news .news-list__item {
  border-bottom: 1px solid rgba(20, 38, 63, 0.4);
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .news .news-list__item:hover {
  background-color: rgba(20, 38, 63, 0.04)
}

.page-top .news .news-list__link {
  display: block;
  padding: 24px 12px 26px;
  position: relative;
  padding-right: 68px
}

.page-top .news .news-list__link:after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 40px;
  width: 18px;
  height: 18px;
  background-color: #14263f;
  -webkit-mask: url("../images/common/arrow_forward.svg") no-repeat center/contain;
  mask: url("../images/common/arrow_forward.svg") no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s
}

.page-top .news .news-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 26px
}

.page-top .news .news-list__date {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2
}

.page-top .news .news-list__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px
}

.page-top .news .news-list__category {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 4px 12px;
  border: 1px solid rgba(20, 38, 63, 0.4);
  border-radius: 99rem
}

.page-top .news .news-list__title {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 12px
}

@media screen and (max-width:1080px) {
  .page-top .recruit {
    padding-block: 160px 240px;
  }

  .page-top .recruit .button {
    margin: 64px auto 0;
  }
}

@media screen and (max-width:900px) {
  .page-top .news .news__inner {
    gap: 24px;
    grid-template-columns: 1fr 64%;
  }

  .page-top .news .section-head .section-head__desc {
    font-size: 1.8rem;
  }

  .page-top .news .news-list__title {
    font-size: 1.4rem;
    margin-top: 8px;
  }

  .page-top .news .news-list__category {
    font-size: 1.1rem;
    padding: 3px 10px 2px;
  }

  .page-top .news .news-list__link {
    padding: 20px 64px 8px 16px;
  }
}

@media screen and (max-width:768px) {
  .page-top .recruit {
    padding-block: 120px 160px;
  }

  .page-top .recruit .section-head .section-head__desc {
    font-weight: 700;
  }

  .page-top .recruit .recruit__text {
    font-size: 1.4rem;
    margin-top: 16px;
  }

  .page-top .recruit .button {
    margin: 40px auto 0;
  }

  .page-top .recruit {
    padding-block: 80px 120px;
  }

  .page-top .news .news__inner {
    grid-template-columns: repeat(1, 1fr);
  }

  .page-top .news .news-list__link:after {
    right: 20px;
    width: 16px;
    height: 16px;
  }

}

@media screen and (max-width:600px) {
  .page-top .recruit {
    padding-block: 80px 120px;
  }

  .page-top .news .news-list__link {
    padding: 16px 48px 8px 12px;
  }

  .page-top .news .news-list__link:after {
    right: 20px;
    width: 12px;
    height: 12px;
  }

  .page-top .news .news-list__title {
    font-size: 1.3rem;
    margin-top: 4px;
  }

  .page-top .news .news-list__date {
    display: block;
    font-size: 1.1rem;
    font-weight: 500;
  }

  .page-top .news .news-list__category {
    font-size: 1.0rem;
    padding: 2px 8px 1px;
  }
}

/*********************************
|
| Section Blog
|
*********************************/
.page-top .blog {
  padding-block: 124px
}

.page-top .blog .blog__body {
  margin-top: 33px
}

.page-top .blog .button {
  margin: 45px auto 0
}

.blog-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 19px 1fr 19px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px
}

.blog-list .blog-list__item {
  cursor: pointer
}

.blog-list .blog-list__item:nth-child(4n) {
  display: none;
}

.blog-list .blog-list__item:hover * {
  opacity: 1
}

.blog-list .blog-list__item:hover .blog-list__item-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1)
}

.blog-list .blog-list__item:hover .button-circle:after {
  -webkit-transform: translateX(2px);
  transform: translateX(2px)
}

.blog-list .blog-list__item-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  position: relative
}

.blog-list .blog-list__item-label {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: "unbounded", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: rgba(20, 38, 63, 0.8)
}

.blog-list .blog-list__item-img {
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 368/295;
  width: 100%;
}

.blog-list .blog-list__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.5s;
  transition: 0.5s
}

.blog-list .blog-list__item-body {
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  margin-top: -31px;
  margin-right: 31px;
  padding: 24px 16px
}

.blog-list .blog-list__item-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  color: #000
}

.blog-list .blog-list__item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 16px
}

.blog-list .blog-list__item-catogories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px
}

.blog-list .blog-list__item-category {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  background: rgba(20, 38, 63, 0.8);
  border-radius: 99rem;
  padding: 4px 12px
}

.blog-list .button-circle {
  -ms-flex-negative: 0;
  flex-shrink: 0
}

@media screen and (max-width:1024px) {
  .page-top .blog {
    padding-block: 120px;
  }

  .blog-list {
    gap: 12px;
  }

  .blog-list .blog-list__item-label {
    font-size: 1.1rem;
    line-height: 1.0;
  }

  .blog-list .blog-list__item-body {
    border-radius: 4px;
    margin-top: -32px;
    margin-right: 12px;
    padding: 16px 12px;
  }

  .blog-list .blog-list__item-title {
    font-size: 1.4rem;
  }

  .button-circle:after {
    width: 10px;
    height: 10px;
  }
}

@media screen and (max-width:767px) {
  .page-top .blog {
    padding-block: 100px;
  }

  .blog-list .blog-list__item:nth-child(4n) {
    display: block;
  }

  .blog-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width:640px) {
  .page-top .blog {
    padding-block: 80px;
  }

  .blog-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }

  .blog-list .blog-list__item-img {
    width: 92%;
    aspect-ratio: 5 / 2;

  }

  .blog-list .blog-list__item-body {
    margin-right: 0;
  }

  .blog-list .blog-list__item-title {
    font-size: 1.3rem;
  }

  .blog-list .blog-list__item-label {
    font-size: 1.0rem;
  }

  .blog-list .blog-list__item:nth-child(4n) {
    display: none;
  }
}



.page-top .contact {
  padding-block: 75px 0;
  background: #14263f;
  color: #fff;
  position: relative
}

.page-top .contact:after {
  position: absolute;
  content: "";
  background-image: url("../../assets/images/common/logo-solid.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 451px;
  height: 367px;
  top: 47%;
  left: 51%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  pointer-events: none
}

.page-top .contact .button {
  margin-top: 12px
}

.page-top .contact .contact__inner {
  width: min(811px, 100%);
  margin-inline: auto
}

.page-top .contact .contact__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 120px 38px 1fr;
  grid-template-columns: 120px 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 38px
}

.page-top .contact .contact__item+.contact__item {
  margin-top: 48px
}

.page-top .contact .contact__item-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 12px;
  height: 100%;
  border-right: 1px solid #fff;
  padding-right: 40px
}

.page-top .contact .contact__item-title {
  display: block;
  font-family: "unbounded", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1
}

.page-top .contact .contact__item-icon {
  display: block
}

.page-top .contact .contact__item-text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2
}

.page-top .contact .contact__item-text--sm {
  font-size: 1.3rem;
  line-height: 2.3076923077
}

.page-top .contact .contact__item-cols {
  margin-top: 22px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 59px 1fr 59px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 59px
}

.page-top .contact .contact__item-phone {
  font-family: "unbounded", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6666666667;
  display: block;
  margin-top: 4px;
  pointer-events: none
}

.page-top .contact .contact__marquee {
  overflow: hidden;
  white-space: nowrap;
  margin-top: -52px;
  pointer-events: none
}

@media (max-width:767px) {
  .page-top .contact .contact__marquee {
    white-space: unset;
    position: absolute;
    top: 0;
    left: 0
  }
}

.page-top .contact .contact__marquee-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 80px;
  -webkit-animation: marquee 30s linear infinite;
  animation: marquee 30s linear infinite
}

@media (max-width:767px) {
  .page-top .contact .contact__marquee-inner {
    width: auto;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    -webkit-animation: marqueeDown 30s linear infinite;
    animation: marqueeDown 30s linear infinite;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
  }
}

.page-top .contact .contact__marquee-text {
  font-family: "unbounded", sans-serif;
  font-size: 8rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.0784313725)
}