@charset "UTF-8";

/* -----------------------
common
----------------------- */
.topsec {
  padding: 10rem 0;
}
@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 820px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 767px) {
  .topsec {
    padding: 5rem 0;
  }
}

/* -----------------------
firstview
----------------------- */
.firstview {
  height: 100vh;
  position: relative;
}
.firstview-wrap {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  position: relative;
}
.firstview-wrap::before {
  background: rgba(0,0,0,.35);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.firstview .catchtxt {
  position: absolute;
  bottom: 20%;
  left: 5%;
  width: 25%;
}
.firstview .catchtxt span {
  display: block;
}
.firstview .catchtxt h1 {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s;
}
.firstview .catchtxt h1.load {
  clip-path: inset(0 0 0 0);
}
.firstview .contactbtn a {
  position: absolute;
  right: 20px;
  bottom: 150px;
  backdrop-filter: blur(10px);
  border: 1px solid #fff;
  color: #fff;
  font-size: 2.5rem;
  padding: 2rem .5rem;
  writing-mode: vertical-lr;
}
.firstview .contactbtn i {
  font-size: 2.5rem;
}
.firstview .newsbox {
  background: #14181F;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 2rem 0;
  width: 100%;
  z-index: 1;
}
.firstview .boxwrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.firstview .newsbox .box1 {
  width: 85%;
}
.firstview .newsbox .box1 a {
  display: flex;
  align-items: center;
  gap: 2rem;
  opacity: 1;
  position: relative;
}
.firstview .newsbox .box1 a::after {
  background: #60AC88;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
  height: 1px;
  width: 100%;
}
.firstview .newsbox .box1 a:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.firstview .newsbox .box1 span,
.firstview .newsbox .box1 time {
  color: #fff;
}
.firstview .newsbox .box1 .txt {
  font-size: 2.5rem;
  font-weight: bold;
}
.firstview .newsbox .box1 .time {
  color: #ccc;
  font-size: 1.4rem;
}
.firstview .newsbox .box1 .cat {
  background: #60AC88;
  display: inline-block;
  padding: 0 1rem;
}
.firstview .newsbox .box2 {
  width: 15%;
}
.firstview .newsbox .box2 a {
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
}
@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 820px) {
  .firstview,
  .firstview-wrap {
    height: 800px;
  }
  .firstview .catchtxt {
    width: 30%;
  }
  .firstview .newsbox .box2 a {
    font-size: 2rem;
  }
  .firstview .contactbtn i,
  .firstview .contactbtn a {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 767px) {
  .firstview,
  .firstview-wrap {
    height: 650px;
  }
  .firstview .catchtxt {
    width: 50%;
  }
  .firstview .contactbtn {
    display: none;
  }
  .firstview .newsbox {
    padding: 1rem 0;
  }
  .firstview .newsbox .box1 {
    width: 100%;
  }
  .firstview .newsbox .box2 {
    display: none;
    /* width: 25%; */
  }
  .firstview .newsbox .box1 a {
    flex-wrap: wrap;
    gap: .5rem 1rem;
  }
  .firstview .newsbox .box1 .txt {
    font-size: 1.8rem;
  }
  .firstview .newsbox .box2 a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 450px) {
  .firstview-wrap[aria-describedby="slick-slide00"] {
    background-position: -520px 0;
  }
}

/* -----------------------
business & strengths
----------------------- */
.top-common1-eles .flex {
  gap: 4rem;
}
.top-common1-eles .flex-ele-wrap {
  width: 35%;
}
.top-common1-eles .flex-ele-wrap .txtbox {
  margin-bottom: 2rem;
}
.top-common1-eles .flex-img-wrap {
  width: 65%;
}
.top-common1-eles .flex-img-wrap .linklist {
  display: flex;
}
.top-common1-eles .flex-img-wrap .linklist li {
  width: calc(100% / 3);
}
.top-common1-eles .flex-img-wrap .linklist li:nth-child(1) {
  border-bottom: 5px solid #60AC88;
}
.top-common1-eles .flex-img-wrap .linklist li:nth-child(2) {
  border-bottom: 5px solid #0C2F7F;
}
.top-common1-eles .flex-img-wrap .linklist li:nth-child(3) {
  border-bottom: 5px solid #BFA90C;
}
.top-common1-eles .flex-img-wrap .linklist .imgbox {
  aspect-ratio: 1/2;
  overflow: hidden;
}
.top-common1-eles .flex-img-wrap .linklist .imgbox img {
  object-fit: cover;
  transition: .5s;
  height: 100%;
  width: 100%;
}
.top-common1-eles .flex-img-wrap .linklist li:hover .imgbox img {
  transform: scale(1.1);
  transition: .5s;
}
.top-common1-eles .flex-img-wrap .linklist .txtbox {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .3) 0%, rgba(20, 24, 31, 1) 100%);
  padding: 2rem 1rem 3rem;
  position: relative;
}
.top-common1-eles .flex-img-wrap .linklist .txtbox::before {
  color: #fff;
  content: "\f101";
  font: var(--fa-font-solid);
  font-size: 2rem;
  opacity: .5;
  position: absolute;
  bottom: 6px;
  right: 6px;
}
.top-common1-eles .flex-img-wrap .linklist .txtbox .en,
.top-common1-eles .flex-img-wrap .linklist .txtbox .ja {
  display: block;
}
.top-common1-eles .flex-img-wrap .linklist .txtbox .en {
  font-weight: bold;
  font-size: 2rem;
}
.top-common1-eles .flex-img-wrap .linklist li:nth-child(1) .imgbox img {
  object-position: -120px 0;
}
.common1-sec.strengths .linklist li:nth-child(1) .imgbox img {
  object-position: -260px 0;
}
.common1-sec.strengths .linklist li:nth-child(2) .imgbox img {
  object-position: -120px 0;
}
@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 1024px) {
  .common1-sec .ttlbox1 .en {
    font-size: 3rem;
  }
  .common1-sec .ttlbox1 .en::first-letter {
    font-size: 5rem;
  }
  .common1-sec .ttlbox1 .ja {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 820px) {
  .strengths .top-common1-eles .flex {
    flex-direction: column-reverse;
  }
  .top-common1-eles .flex-ele-wrap {
    width: 100%;
  }
  .top-common1-eles .flex-img-wrap {
    margin-left: auto;
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 767px) {
  .top-common1-eles .flex-img-wrap .linklist {
    flex-wrap: wrap;
  }
  .top-common1-eles .flex-img-wrap .linklist li {
    display: flex;
    width: 100%;
  }
  .top-common1-eles .flex-img-wrap {
    width: 100%;
  }
  .top-common1-eles .flex-img-wrap .linklist .imgbox {
    aspect-ratio: 1/1;
    width: 30%;
  }
  .top-common1-eles .flex-img-wrap .linklist .txtbox {
    width: 70%;
  }
  .top-common1-eles .flex-img-wrap .linklist .txtbox .en {
    font-size: 1.4rem;
  }
  .top-common1-eles .flex-img-wrap .linklist .txtbox {
    padding: 1.5rem 1rem;
  }
  .top-common1-eles .flex-img-wrap .linklist li:nth-child(1) .imgbox img,
  .common1-sec.strengths .linklist li:nth-child(1) .imgbox img,
  .common1-sec.strengths .linklist li:nth-child(2) .imgbox img {
    object-position: initial;
  }
}

/* -----------------------
recruit-sec
----------------------- */
.topsec.recruit-sec {
  padding: 5rem 0 10rem;
}
.recruit-sec .txtbox1 {
  margin-bottom: 2rem;
}
.recruit-sec .txtbox1 .txt1 {
  font-size: 3.5rem;
  font-weight: 600;
}
.recruit-sec .txtbox2 {
  position: relative;
}
.top-recruit-eles .morebtn1 {
  position: absolute;
  top: -20px;
  right: 20px;
}
.top-recruit-eles .morebtn1 a {
  background: #fff;
  box-shadow: 5px 5px #60AC88;
  color: #181818;
}
.top-recruit-eles .morebtn1 i {
  color: #181818;
}
.top-recruit-eles .morebtn1 a:hover {
  background: #60AC88;
  border: 1px solid #60AC88;
  box-shadow: 5px 5px #fff;
  color: #fff;
}
.top-recruit-eles .morebtn1 a:hover i {
  color: #fff;
}
@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 820px) {
  .recruit-sec .txtbox1 .txt1 {
    font-size: 2.5rem;
  }
  .top-recruit-eles .flex-img-wrap {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 767px) {
  .recruit-sec .txtbox1 .txt1 {
    font-size: 1.8rem;
  }
  .top-recruit-eles .flex {
    gap: 10rem;
  }
.top-recruit-eles .flex-img-wrap {
    width: 100%;
  }
}

/* -----------------------
bg-sec1
----------------------- */
.bg-sec1 {
  position: relative;
  aspect-ratio: 2/.5;
  clip-path: inset(0);
  margin: 8rem 0;
}
.bg-sec1::before,
.bg-sec1::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
}
.bg-sec1::before {
  background: url(../images/top/sec_bg1.webp) no-repeat center / cover;
}
.bg-sec1::after {
  background: rgba(0,0,0,.2);
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
  .bg-sec1 {
    aspect-ratio: 1/.4;
  }
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .bg-sec1 {
    aspect-ratio: 1/.6;
      margin: 0;
  }
}

/* -----------------------
company-sec
----------------------- */
.top-company-eles .flex-ele-wrap .txtbox {
  margin-bottom: 2rem;
}
@media screen and (max-width: 1180px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 820px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 767px) {
}