@charset "utf-8";

:root {
  --line-color-01: #f88131;
  --line-color-02: #1fb1e2;
  --line-color-03: #d5d5d5;
}

.main._top {
  overflow: hidden;
}

/********** FirstView **********/
/*** 背景 ***/
.topLine {
  position: absolute;
  top: var(--header-height);
  z-index: -1;
  width: 100%;
  height: auto;
}
@media screen and (width <= 768px) {
  .topLine {
    top: var(--header-height-sp);
  }
}

.topLine span {
  display: block;
  position: absolute;
  top: 0;
  transform-origin: top right;
  opacity: .6;
  height: 0;
  width: 1px;
  &.topLine_01 {
    right: 5vw;
    transform: rotate(45deg);
    background-color: var(--line-color-02);
    transition: height 2s;
    &.is-load {
      height: calc((100vw - 5vw) / cos(45deg));
    }
  }
  &.topLine_02 {
    right: 10vw;
    transform: rotate(55deg);
    background-color: var(--line-color-03);
    transition: height 1.5s .5s;
    &.is-load {
      height: calc((100vw - 10vw) / cos(35deg));
    }
  }
  &.topLine_03 {
    right: 25vw;
    transform: rotate(-30deg);
    background-color: var(--line-color-01);
    transition: height 1s 1s;
    &.is-load {
      height: calc(25vw / cos(60deg));
    }
  }
  &.topLine_04 {
    left: 25vw;
    transform: rotate(40deg);
    background-color: var(--line-color-02);
    transition: height 1s .7s;
    &.is-load {
      height: calc(25vw / cos(50deg));
    }
  }
  &.topLine_05 {
    right: 100vw;
    transform: rotate(-45deg);
    background-color: var(--line-color-01);
    transition: height 2s 1.3s;
    &.is-load {
      height: calc(100vw / cos(45deg));
    }
  }
}

/*** MV ***/
.topHeroWrap {
  position: relative;
  background-image: url(/assets/img/top/bg_topHero.webp);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 50%;
  background-color:rgba(255,255,255,0.7);
  background-blend-mode:lighten;
}
@media screen and (width <= 768px) {
  .topHeroWrap {
    background-size: 75%;
    background-color:rgba(255,255,255,0.8);
  }
}

.topCopy {
  max-width: 1500px;
  padding: clamp(55px, -107.105px + 14.474vw, 110px) clamp(20px, -42.951px + 8.197vw, 80px) clamp(70px, -92.105px + 14.474vw, 125px);
  margin: 0 auto;
}
@media screen and (width <= 1120px) {
  .topCopy {
    padding-top: clamp(40px, 7.273px + 4.261vw, 55px);
    padding-bottom: clamp(60px, 27.273px + 4.261vw, 75px);
  }
}
@media screen and (width <= 768px) {
  .topCopy {
    /* padding-top: min(6.67vw, 55px); */
    padding-top: min(12vw, 100px);
    /* padding-bottom: min(10vw,75px); */
    padding-bottom: min(12vw, 100px);
  }
}

.topCopyMain {
  padding-bottom: .3em;
  font-size: clamp(50px, -29.579px + 7.105vw, 77px);
  font-family: var(--font-serif);
  font-weight: 500;
  line-height: 1;
  opacity: 0;
  &.is-view {
    opacity: 1;
  }
}
@media screen and (width <= 1120px) {
  .topCopyMain {
    font-size: clamp(40px, 18.182px + 2.841vw, 50px);
  }
}
@media screen and (width <= 768px) {
  .topCopyMain {
    font-size: min(6.67vw, 55px);
  }
}

.topCopySub {
  margin-top: .8em;
  /* font-size: 30px; */
  font-size: clamp(24px, -8.421px + 2.895vw, 35px);
  font-weight: 300;
  height: 1em;
  line-height: 1;
  opacity: 0;
  &.is-view {
    opacity: 1;
  }
}
@media screen and (width <= 1120px) {
  .topCopySub {
    font-size: clamp(20px, 11.273px + 1.136vw, 24px);
  }
}
@media screen and (width <= 768px) {
  .topCopySub {
    margin-top: .6em;
    font-size: min(4vw, 30px);
  }
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

.topMV {
  position: relative;
}

#topMV_slide {
  padding: 0 clamp(20px, -42.951px + 8.197vw, 80px);
  & img {
    width: 100%;
    aspect-ratio: 1340 / 600;
    object-fit: cover;
  }
}
@media screen and (width <= 768px) {
  #topMV_slide {
    & img {
      aspect-ratio: 1 / 1;
    }
  }
}

.scroll {
  --s-height : clamp(4.375rem, 1.752rem + 5.464vw, 6.875rem);
  position: absolute;
  top: calc(-1 * var(--s-height));
  right: clamp(20px, -42.951px + 8.197vw, 80px);
  padding-left: .6em;
  padding-right: .6em;
  color: var(--txt-color-main);
  font-size: clamp(0.813rem, 0.681rem + 0.273vw, 0.938rem);;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.03em;
  writing-mode: vertical-rl;
  &::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: var(--s-height);
    background-image: repeating-linear-gradient(180deg, var(--color-main), var(--color-main) 10px, transparent 10px, transparent 20px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 100%;
    content: "";
  }
  &::after {
    position: absolute;
    top: var(--s-height);
    left: 0;
    width: 1px;
    height: var(--s-height);
    background-color: #fff;
    content: "";
  }
}
@media screen and (width <= 768px) {
  .scroll {
    --s-height: min(16vw, 120px);
    padding-left: .4em;
    padding-right: 0;
    font-size: clamp(10px, 6.183px + 1.018vw, 14px);
    &::before {
      background-image: repeating-linear-gradient(180deg, var(--color-main), var(--color-main) 5px, transparent 5px, transparent 10px);
    }
  }
}


/********** TOP共通 **********/
.topSection {
  padding: 120px 0;
}
@media screen and (width <= 768px) {
  .topSection {
    padding: 60px 0;
  }
}

.topSection-inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 var(--pc-side-padding);
}
@media screen and (width <= 768px) {
  .topSection-inner {
    padding: 0 var(--sp-side-padding);
  }
}

.topSection-header {
  position: relative;
  & h2 {
    position: relative;
    font-family: var(--font-serif);
    /* font-size: 66px; */
    font-size: clamp(44px, 20.918px + 3.005vw, 66px);
    font-weight: 500;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    z-index: 1;
    & span {
      font-family: var(--font-logo);
    }
  }
}
@media screen and (width <= 768px) {
  .topSection-header {
    & h2 {
      font-size: min(8vw, 60px);
    }
  }
}

.topSec-header-en {
  position: absolute;
  color: #f4f4f4;
  font-family: var(--font-serif);
  /* font-size: 140px; */
  font-size: clamp(90px, 37.541px + 6.831vw, 140px);
  font-weight: 400;
  font-style: italic;
  line-height: 1;
}
@media screen and (width <= 768px) {
  .topSec-header-en {
    font-size: min(16vw, 120px);
  }
}

.topLinkBtn {
  position: relative;
  display: block;
  width: 100%;
  padding: 20px 60px 20px 30px;
  border: 1px solid #ccc;
  border-radius: 9999px;
  background-color: #fff;
  color: var(--txt-color-main);
  font-size: 18px;
  line-height: 1;
  transition: color .3s;
  &::after {
    position: absolute;
    top: 50%;
    right: 24px;
    translate: 0 -50%;
    width: 30px;
    height: auto;
    aspect-ratio: 1;
    background: linear-gradient( 90deg, rgb(160,203,67) 0%, rgb(176,255,5) 100%);
    -webkit-mask: url(/assets/img/top/icn_btn_arrow.svg) center / 100% auto no-repeat;
    mask: url(/assets/img/top/icn_btn_arrow.svg) center / 100% auto no-repeat;
    transition: right 0.3s ease-out;
    content: "";
  }
  &:hover {
    color: var(--color-main);
    &::after {
      right: 18px;
    }
  }
  &[target="_blank"] {
    &::after {
      right: 30px;
      width: 14px;
      background: var(--color-main);
      -webkit-mask: url(/assets/img/top/icn_btn_external.svg) center / cover no-repeat;
      mask: url(/assets/img/top/icn_btn_external.svg) center / cover no-repeat;
    }
    &:hover::after {
      right: 24px;
    }
  }
}
@media screen and (width <= 768px) {
  .topLinkBtn {
    padding: 15px 60px 15px 30px;
  }
}


/********** About Us **********/
.topSection._about {
  & .topSection-inner {
    max-width: unset;
    padding: 0;
  }
  & .topSection-header {
    /* padding-bottom: 110px; */
    padding-bottom: clamp(70px, 28.033px + 5.464vw, 110px);
  }
  & .topSec-header-en {
    left: 0;
    bottom: 0;
    line-height: 0.9;
  }
}
@media screen and (width <= 768px) {
  .topSection._about {
    & .topSection-inner {
      width: 100%;
    }
    & .topSection-header {
      padding-bottom: min(8vw, 60px);
    }
  }

}

.topAbout {
  position: relative;
}

.topAbout + .topAbout {
  margin-top: 100px;
}
@media screen and (width <= 768px) {
  .topAbout + .topAbout {
    margin-top: min(8vw, 60px);
  }
}

.topAbout-img {
  width: 66vw;
  aspect-ratio: 75 / 43;
  /* min-height: 550px; */
  height: 550px;
  overflow: hidden;
  ._left & {
    margin-left: 0;
    margin-right: auto;
  }
  ._right & {
    margin-left: auto;
    margin-right: 0;
  }
  & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (width <= 768px) {
  .topAbout-img {
    width: 86vw;
    aspect-ratio: 65 / 37;
    height: auto;
  }
}

.topAbout-txt {
  position: absolute;
  top: 50%;
  left: 45%;
  transform: translateY(-50%);
  width: calc((100% - clamp(20px, -42.951px + 8.197vw, 80px)) / 2);
  padding: clamp(35px, 14.016px + 2.732vw, 55px);;
  box-shadow: 20px 20px var(--box-shadow-color);
  background-color: #fff;
  ._right & {
    left: unset;
    right: 45%;
    box-shadow: -20px 20px var(--box-shadow-color);
  }
  & .topAbout-en {
    font-family: var(--font-serif);
    /* font-size: 24px; */
    font-size: clamp(16px, 7.607px + 1.093vw, 24px);
    font-style: italic;
    color: var(--color-main);
  }
  & h3 {
    margin-top: 0.3em;
    font-family: var(--font-serif);
    /* font-size: 34px; */
    font-size: clamp(22px, 9.410px + 1.639vw, 34px);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.53;
  }
  & p {
    margin-top: 1em;
    /* font-size: 16px; */
    font-size: clamp(14px, 11.902px + 0.273vw, 16px);
    font-weight: 300;
    line-height: 2;
  }
}
@media screen and (width <= 768px) {
  .topAbout-txt {
    position: relative;
    top: unset;
    left: unset;
    transform: translateY(-40px);
    width: calc(100% - 55px);
    /*padding: min(4vw,30px);*/
    padding: min(4vw,30px) min(6vw,45px);
    margin: 0 35px 0 20px;
    box-shadow: 15px 15px var(--box-shadow-color);
    ._right & {
      right: unset;
      box-shadow: -15px 15px var(--box-shadow-color);
    }
    & .topAbout-en {
      font-size: min(3.2vw, 24px);
    }
    & h3 {
      font-size: min(5.33vw,40px);
    }
    & p {
      margin-top: .5em;
    }
  }
}

.topAbout-btn {
  width: 250px;
  margin: 80px auto 0;
}
@media screen and (width <= 768px) {
  .topAbout-btn {
    width: min(80vw, 320px);
    margin-top: min(10vw,75px);
  }
}

/* アニメーション */
.topAbout.js-view {
  & .topAbout-txt {
    opacity: 0;
    transform: translate(50px, -50%);
    transition: transform .8s ease-in-out, opacity .4s ease;
  }
  &._right .topAbout-txt {
    transform: translate(-50px, -50%);
  }
  &.is-view .topAbout-txt {
    opacity: 1;
    transform: translate(0, -50%);
  }
}
@media screen and (width <= 768px) {
  .topAbout.js-view {
    & .topAbout-txt {
      transform: translateY(-20px);
      transition: transform .8s ease-in-out;
    }
    &._right .topAbout-txt {
      transform: translateY(-20px);
    }
    &.is-view .topAbout-txt {
      transform: translateY(-40px);
    }
  }
}


/********** Service **********/
.topSection._service {
  background-color: #eef5e2;
  & .topSection-inner {
    max-width: unset;
  }
  & .topSec-header-en {
    right: unset;
    left: 50%;
    top: 0;
    transform: translateX(40%);
    color: #e1eece;
  }
  & .topSection-header h3 {
    margin-top: 100px;
    color: var(--color-main);
    font-family: var(--font-serif);
    font-size: clamp(30px, 13.213px + 2.186vw, 46px);
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    & span {
      font-family: var(--font-logo);
    }
  }
  & .topSection-header p:not(.topSec-header-en) {
    margin-top: 30px;
    font-size: clamp(13px, 8.972px + 0.524vw, 16px);
    text-align: center;
  }
  .topSection-body {
    max-width: 1340px;
    margin: 30px auto 0;
  }
}
@media screen and (width <= 1200px) {
.topSection._service {
  & .topSec-header-en {
    right: 0;
    left: unset;
    transform: translateX(0);
  }
}
}
@media screen and (width <= 768px) {
  .topSection._service {
    & .topSec-header-en {
      top: 10px;
    }
    & .topSection-header h3 {
      /* margin-top: min(6.67vw, 50px); */
      margin-top: min(16vw, 120px);
      font-size: min(6.67vw, 50px);
    }
    & .topSection-header p:not(.topSec-header-en) {
      margin-top: min(5.33vw, 40px);
      font-size: clamp(14px, 8.275px + 1.527vw, 20px);
      text-align: left;
    }
  }
}

.topService-btn {
  width: 300px;
  margin: 0 auto;
}
@media screen and (width <= 768px) {
  .topService-btn {
    width: min(80vw, 320px);
  }
}

.topService-figure {
  position: relative;
  max-width: 1340px;
  aspect-ratio: 2 / 1;
  margin-top: 2em;
}
@media screen and (width <= 768px) {
  .topService-figure {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    aspect-ratio: unset;
    margin-top: clamp(30px, 10.916px + 5.089vw, 50px);
    row-gap: clamp(30px, 10.916px + 5.089vw, 50px);
  }
}

.topService-img {
  position: absolute;
  bottom: 0;
  left: calc((100% - 42%) / 2);
  width: 42%;
  aspect-ratio: 9 / 10;
  &.js-view {
    bottom: -20px;
    transition: bottom 1s ease-in-out;
    &.is-view {
      bottom: 0;
    }
  }
}
@media screen and (width <= 768px) {
  .topService-img {
    position: relative;
    bottom: unset;
    left: unset;
    width: 80%;
  }
}

.topService-link {
  position: absolute;
  display: block;
  width: 22%;
  aspect-ratio: 6 / 5;
  color: var(--txt-color-main);
  transition: color .3s;
  &._pm {
    top: 0;
    left: 0;
    &.js-view {
      opacity: 0;
      transition: opacity .8s ease-in-out;
      &.is-view {
        opacity: 1;
      }
    }
  }
  &._fm {
    bottom: min(5.22vw, 70px);
    left: 0;
    &.js-view {
      opacity: 0;
      transition: opacity .8s ease-in-out .3s;
      &.is-view {
        opacity: 1;
      }
    }
  }
  &._bs {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    &.js-view {
      opacity: 0;
      transition: opacity .8s ease-in-out .2s;
      &.is-view {
        opacity: 1;
      }
    }
  }
  & p {
    padding: .7em 0;
    font-size: min(1.17vw, 16px);
  }
  &:hover {
    color: var(--color-main);
  }
}
@media screen and (width <= 768px) {
  .topService-link {
    position: relative;
    width: 100%;
    aspect-ratio: unset;
    &._fm {
      bottom: unset;
      left: unset;
    }
    &._bs {
      top: unset;
      right: unset;
      transform: translateY(0);
    }
    & p {
      font-size: clamp(14px, 8.275px + 1.527vw, 20px);
    }
  }
}

.topServiceLink_title {
  position: relative;
  padding-bottom: .5em;
  border-bottom: 1px solid var(--color-main);
  font-size: min(1.49vw, 20px);
  font-weight: 500;
  line-height: 1;
  &::after {
    position: absolute;
    top: 0;
    right: 0;
    width: min(1.49vw, 20px);
    height: auto;
    aspect-ratio: 1;
    background: linear-gradient( 90deg, rgb(160,203,67) 0%, rgb(176,255,5) 100%);
    -webkit-mask: url(/assets/img/top/icn_btn_arrow.svg) center / 100% auto no-repeat;
    mask: url(/assets/img/top/icn_btn_arrow.svg) center / 100% auto no-repeat;
    transition: right 0.3s ease-out;
    content: "";
  }
  .topService-link:hover &::after {
    right: 5px;
  }
}
@media screen and (width <= 768px) {
  .topServiceLink_title {
    font-size: clamp(20px, 8.550px + 3.053vw, 32px);
    &::after {
      width: clamp(20px, 8.550px + 3.053vw, 32px);
    }
  }
}

.topServiceLink-line {
  position: relative;
  & img {
    position: absolute;
    top: calc(min(0.15vw,2px) * -1);
    transition: all .3s;
    -webkit-backface-visibility: hidden;
  }
}
@media screen and (width <= 768px) {
  .topServiceLink-line {
    display: none;
  }
}

._pm .topServiceLink-line img {
  left: calc(100% - min(0.15vw,2px));
  width: min(19.00vw,260px);
  aspect-ratio: 229 / 193;
  transform-origin: top left;
  transform: rotate(-4deg);
}

._fm .topServiceLink-line img {
  left: calc(100% - min(0.15vw,2px));
  width: min(19.00vw,260px);
  aspect-ratio: 209 / 66;
  transform-origin: top left;
  transform: rotate(-4deg);
}

._bs .topServiceLink-line img {
  right: calc(100% - min(0.15vw,2px));
  width: min(16.00vw,220px);
  aspect-ratio: 178 / 106;
  transform-origin: top right;
  transform: rotate(4deg);
}

.topServiceLink-img {
  width: 100%;
  aspect-ratio: 57 / 26;
  overflow: hidden;
  & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s;
  }
  .topService-link:hover & img {
    transform: scale(1.1);
  }
}


/********** Other Site **********/
.topOfficeLaboContainer {
  padding-bottom: 60px;
  border-bottom: 1px solid #ddd;
}
@media screen and (width <= 768px) {
  .topOfficeLaboContainer {
    padding-bottom: min(8vw,60px);
  }
}

.topOfficeLabo-title {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 4em;
  & img {
    max-width: 392px;
    aspect-ratio: 392 / 84;
  }
}

@media screen and (width <= 768px) {
  .topOfficeLabo-title {
    display: block;
    & img {
      width: 55vw;
    }
    & .topOfficeLabo-btn {
      display: none;
    }
  }
}

.topOfficeLabo-mid {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  margin-top: 20px;
  padding: 0 2em;
  & p {
    margin-top: 10px;
    font-size: clamp(14px, 11.315px + 0.35vw, 16px);
  }
}
@media screen and (width <= 768px) {
  .topOfficeLabo-mid {
    display: block;
    margin-top: min(6.66vw, 50px);
    & p {
      margin-top: 0;
      font-size: clamp(14px, 8.275px + 1.527vw, 20px);
    }
  }
}

.topOfficeLabo-btn {
  flex-shrink: 0;
  width: 250px;
  .topOfficeLabo-mid & {
    display: none;
  }
}
@media screen and (width <= 768px) {
  .topOfficeLabo-btn {
    margin: min(6.67vw, 50px) auto 0;
    width: min(80vw, 320px);
    .topOfficeLabo-mid & {
      display: block;
    }
  }
}

.topOfficeLabo-list {
  margin-top: 30px;
  padding: 0 2em;
}
@media screen and (width <= 768px) {
  .topOfficeLabo-list {
    margin-top: min(6.67vw, 50px);
  }
}

.topOfficeLabo-item {
  display: block;
  padding: 0 8px;
  font-size: clamp(14px, 11.315px + 0.35vw, 16px);
  color: var(--txt-color-main);
  transition: color .3s;
  &:hover {
    color: var(--color-main);
  }
}
@media screen and (width <= 768px) {
  .topOfficeLabo-item {
    padding: 0 .5em;
    font-size: clamp(14px, 8.275px + 1.527vw, 20px);
  }
}

.topOfficeLaboItem-img {
  aspect-ratio: 385 / 200;
  overflow: hidden;
  & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.topOfficeLaboItem-mid {
  display: flex;
  column-gap: 15px;
  align-items: center;
  line-height: 1;
  margin-top: 10px;
  & .cat {
    padding: 5px 8px;
    min-width: 100px;
    background-color: #4a505b;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    &._column {
      background-color: #f8b231;
    }
    &._hub {
      background-color: #8fc31f;
    }
    &._info {
      background-color: #1fb1e2;
    }
  }
}
@media screen and (width <= 768px) {
  .topOfficeLaboItem-mid {
    margin-top: .3em;
    & .cat {
      min-width: min(20vw, 150px);
    }
  }
}

#topLabo_slide .swiper-button-next,
#topLabo_slide .swiper-button-prev {
  background-color: #22ac38ba;
  border-radius: 5px;
  transition: background .3s;
  &::after {
    font-size: 20px;
    color: #fff;
  }
  &:hover {
    background-color: var(--color-main);
  }
}

#topLabo_slide .swiper-button-prev {
  left: 0;
}

#topLabo_slide .swiper-button-next {
  right: 0;
}

.topOfficeLaboItem-title {
  margin-top: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (width <= 768px) {
  .topOfficeLaboItem-title {
    margin-top: .3em;
  }
}

#topLabo_slide .slide-labo-msg { /* Labo取得エラーメッセージ */
  width: 100%;
  text-align: center;
  color: #888;
}



.topMcfainfomationContainer {
  margin-top: 60px;
}
@media screen and (width <= 768px) {
  .topMcfainfomationContainer {
    margin-top: min(8vw,60px);
  }
}

.topMcfainfomation-title {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 2vw;
  & img {
    max-width: 440px;
    aspect-ratio: 440 / 48;
  }
}
@media screen and (width <= 768px) {
  .topMcfainfomation-title {
    display: block;
    img {
      width: 55vw;
    }
    & .topMcfainfomation-btn {
      display: none;
    }
  }
}

.topMcfainfomation-mid {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  margin-top: 20px;
  padding: 0 2em;
  & p {
    margin-top: 10px;
    font-size: clamp(14px, 11.315px + 0.35vw, 16px);
  }
}
@media screen and (width <= 768px) {
  .topMcfainfomation-mid {
    display: block;
    margin-top: min(6.66vw, 50px);
    & p {
      margin-top: 0;
      font-size: clamp(14px, 8.275px + 1.527vw, 20px);
    }
  }
}

.topMcfainfomation-btn {
  flex-shrink: 0;
  width: 250px;
  .topMcfainfomation-mid & {
    display: none;
  }
}
@media screen and (width <= 768px) {
  .topMcfainfomation-btn {
    margin: min(6.67vw, 50px) auto 0;
    width: min(80vw, 320px);
    .topMcfainfomation-mid & {
      display: block;
    }
  }
}


/********** Galary **********/
.topSection._galary {
  background-color: #eef5e2;
  padding: 75px 0;
}
@media screen and (width <= 768px) {
  .topSection._galary {
    padding: min(10vw,75px) 0;
  }
}

._galary .topSection-inner {
  max-width: unset;
}

#topGalary_slide {
  /* font-size: clamp(14px, 11.315px + 0.35vw, 16px); */
  /* & .splide__list {
    align-items: center;
  } */
  & .swiper-wrapper {
    align-items: center;
    transition-timing-function: linear;
  }
  & .topGalary-img {
    width: 100%;
    height: 100%;
    padding-right: 1.5em;
    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  & .swiper-slide._imgShape01 {
    aspect-ratio: 1 / 1;
  }
  & .swiper-slide._imgShape02 {
    aspect-ratio: 1 / 0.7;
  }
  & .swiper-slide._imgShape03 {
    aspect-ratio: 1 / 1.2;
  }
  & .swiper-slide._imgShape04 {
    aspect-ratio: 1 / 0.8;
  }
  & .swiper-slide._imgShape05 {
    aspect-ratio: 1 / 1.2;
  }
  & .swiper-slide._imgShape06 {
    aspect-ratio: 1 / 0.7;
  }
}


/********** News **********/
.topSection._news {
  padding: 80px 0;
  & .topSec-header-en {
    top: 0;
    right: 0;
    line-height: 1;
    font-size: clamp(70px, 38.525px + 4.098vw, 100px);
  }
}
@media screen and (width <= 768px) {
  .topSection._news {
    padding: 60px 0;
    & .topSec-header-en {
      font-size: min(16vw, 120px);
    }
  }
}

._news .topSection-header {
  & h2 {
    text-align: left;
  }
}
@media screen and (width <= 768px) {
  ._news .topSection-header {
    & h2 {
      text-align: center;
    }
  }
}

.topNews ul li {
  border-bottom: 1px solid #e5e5e5;
  &:last-child {
    border-bottom: none;
  }
}

.topNewsArticle {
  display: grid;
  grid-template-columns: 90px 1fr 50px;
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 20px;
  grid-row-gap: 0px;
  padding: 60px 0 50px 0;
  font-size: clamp(14px, 11.902px + 0.273vw, 16px);
  color: var(--txt-color-main);
  transition: color .3s;
  &:hover {
    color: var(--color-main);
  }
}
@media screen and (width <= 768px) {
  .topNewsArticle {
    display: block;
    position: relative;
    padding: 30px 20px 30px 0;
    font-size: clamp(14px, 8.275px + 1.527vw, 20px);
  }
}

.topNewsArticle-header {
  grid-area: 1 / 1 / 3 / 2;
}

.topNewsArticle-ttl {
  grid-area: 1 / 2 / 2 / 3;
  font-size: clamp(16px, 13.902px + 0.273vw, 18px);
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (width <= 768px) {
  .topNewsArticle-ttl {
    padding-top: .4em;
    font-size: clamp(14px, 8.275px + 1.527vw, 20px);
  }
}

.topNewsArticle-txt {
  grid-area: 2 / 2 / 3 / 3;
  margin-top: .2em;
}
@media screen and (width <= 768px) {
  .topNewsArticle-txt {
    margin-top: .4em;
    font-size: clamp(14px, 8.275px + 1.527vw, 20px);
  }
}

.topNewsArticle-arrow {
  grid-area: 1 / 3 / 3 / 4;
  display: flex;
  justify-content: end;
  align-items: center;
  & img {
    width: 25px;
    aspect-ratio: 5 / 4;
    transition: transform .3s;
  }
  .topNewsArticle:hover & img {
    transform: translateX(-5px);
  }
}
@media screen and (width <= 768px) {
  .topNewsArticle-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    & img {
      width: 15px;
    }
    .topNewsArticle:hover & img {
      transform: translateX(0);
    }
  }
}


/********** Recruit **********/
.topSection._recruit {
  display: flex;
  padding: 0;
  background-image: url(/assets/img/top/bg_recruit.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-color:rgba(255,255,255,0.6);
  background-blend-mode:lighten;
}
@media screen and (width <= 768px) {
  .topSection._recruit {
    display: block;
  }
}

.topSection._recruit .topSection-inner {
  display: flex;
  align-items: center;
  width: 50%;
  max-width: 690px;
  padding: 50px 4% 50px 20px;
  margin: 0 0 0 auto;
}
@media screen and (width <= 768px) {
  .topSection._recruit .topSection-inner {
    width: 100%;
    max-width: unset;
    padding: 50px 20px;
  }
}

.topSection._recruit .topSection-header {
  & h2 {
    position: relative;
    z-index: 2;
    padding-bottom: clamp(90px, 37.541px + 6.831vw, 140px);
    text-align: left;
  }
  & .topSec-header-en {
    color: #e1eece;
    top: .1em;
    left: .3em;
  }
}
@media screen and (width <= 768px) {
  .topSection._recruit .topSection-header {
    & h2 {
      padding-bottom: min(8vw, 60px);
      text-align: center;
    }
    & .topSec-header-en {
      left: unset;
      right: 0;
    }
  }
}

.topRecruit-txt {
  width: 100%;
  padding-right: clamp(0px, -125.902px + 16.393vw, 120px);
  font-size: clamp(14px, 11.902px + 0.273vw, 16px);
}
@media screen and (width <= 768px) {
  .topRecruit-txt {
    margin-top: min(8vw,60px);
    font-size: clamp(14px, 8.275px + 1.527vw, 20px);
  }
}



.topSercition-recruitImg {
  width: 50%;
  & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (width <= 768px) {
  .topSercition-recruitImg {
    width: 100%;
  }
}

.topRecruit-btn {
  width: 250px;
  margin: 40px auto 0 0;
}
@media screen and (width <= 768px) {
  .topRecruit-btn {
    width: min(80vw, 320px);
    margin: min(6.67vw, 50px) auto 0;
  }
}









