@charset "UTF-8";
/* --------------------------------------------------
 * top__lead
-------------------------------------------------- */
.top__lead {
  margin-top: 0 !important;
  padding: 7.5em 3.125em 6.5em !important;
}
.top__lead .lead__txt {
  line-height: 1;
  font-weight: 400;
  font-size: 4rem;
  color: var(--base2-color);
  text-align: center;
}
.top__lead .lead__txt span {
  display: inline-block;
}
.top__lead .lead__txt .lead__txt--02 {
  display: inline-block;
  line-height: 1;
  width: 5.3125em;
  height: 0.9375em;
  position: relative;
  border: 2.5px solid var(--base-color);
  vertical-align: bottom;
}
.top__lead .lead__txt .lead__txt--02 svg {
  position: absolute;
  top: -0.75rem;
  left: 0.875rem;
  opacity: 0;
}
.top__lead .lead__txt .lead__txt--03 {
  display: block;
  margin-top: 0.3em;
}
@media screen and (max-width: 1280px) {
  .top__lead .lead__txt {
    font-size: 6vw;
  }
  .top__lead .lead__txt .lead__txt--02 svg {
    top: -25%;
    left: 3%;
    width: auto;
    height: 1.1em;
    aspect-ratio: 5.12 / 1;
  }
}
@media screen and (max-width: 768px) {
  .top__lead {
    padding: 8.25em 4% 6.5em !important;
  }
  .top__lead .lead__txt {
    font-size: 10vw;
    text-align: left;
  }
  .top__lead .lead__txt .lead__txt--02 {
    margin: 0.3em auto 0 0;
    transform: none;
  }
  .top__lead .lead__txt .lead__txt--02 svg {
    max-width: 100%;
    height: auto;
    top: -20%;
  }
}

/* --------------------------------------------------
 * top__founder
-------------------------------------------------- */
.top__founder {
  width: 100%;
  padding: 0 3.125em !important;
}
.top__founder .founder__head {
  margin-bottom: 1.875em;
}
.top__founder .founder__head .founder__tit {
  line-height: 1;
  font-weight: 400;
  font-size: 2.1875rem;
}
.top__founder .founder__cont .founder__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
}
.top__founder .founder__cont .founder__item {
  width: calc((100% - 1.25em) / 2);
  aspect-ratio: 1 / 1;
}
.top__founder .founder__cont .founder__item a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  height: 100%;
  padding: 1.25em;
  border-radius: 10px;
  overflow: hidden;
}
.top__founder .founder__cont .founder__item a:after {
  display: block;
  position: absolute;
  width: 3.125em;
  aspect-ratio: 1 / 1;
  right: 1.25em;
  bottom: 1.25em;
  border: 1px solid var(--main-color);
  border-radius: 3.5px;
  content: "";
  background: url(../img/cmn/cmn__ico-arrow-tr--wh.svg) no-repeat center center;
  background-size: 0.875rem;
  z-index: 2;
}
.top__founder .founder__cont .founder__item a .item__tit {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 3.2em;
  line-height: 1.6;
  padding-right: 3.125em;
  font-weight: 400;
  font-family: var(--fm-notojp);
  font-size: 1.1875rem;
  z-index: 2;
  color: var(--main-color);
}
.top__founder .founder__cont .founder__item a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 1;
}
.top__founder .founder__cont .founder__item a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.top__founder .founder__more {
  margin-top: 3.375em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top__founder {
    padding: 0 4% !important;
  }
  .top__founder .founder__head .founder__tit {
    font-size: 2.08325rem;
  }
  .top__founder .founder__cont .founder__item {
    width: 100%;
    aspect-ratio: 1 / 1;
  }
}

/* --------------------------------------------------
 * top__focus
-------------------------------------------------- */
.top__focus {
  margin-top: 6.25em;
  padding: 3.125em !important;
  background: var(--accent-color);
}
.top__focus .focus__inner {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.875em;
  gap: 5.25em;
}
.top__focus .focus__thumb {
  width: 37.5%;
}
.top__focus .focus__cont {
  width: calc(62.5% - 5.25em);
  color: var(--main-color);
}
.top__focus .focus__cont .focus__tit {
  line-height: 1;
}
.top__focus .focus__cont .focus__tit .tit__script {
  display: block;
  font-family: var(--fm-script);
  font-weight: 400;
  font-size: 4.375rem;
  transform: rotate(-5deg);
}
.top__focus .focus__cont .focus__tit .tit__inner {
  display: block;
  margin-top: 2.25em;
  font-weight: 400;
  font-size: 1.375rem;
  font-family: var(--fm-notojp);
  letter-spacing: 0.1em;
}
.top__focus .focus__cont .focus__txt {
  margin-top: 2em;
  font-weight: 300;
  font-size: 1.0625rem;
  font-family: var(--fm-notojp);
  letter-spacing: 0.05em;
}
.top__focus .focus__cont .focus__more {
  margin-top: 2.5em;
}
@media screen and (max-width: 768px) {
  .top__focus {
    padding: 3.125em 4% !important;
  }
  .top__focus .focus__inner {
    flex-direction: column;
    padding: 0;
    gap: 4em;
  }
  .top__focus .focus__thumb,
  .top__focus .focus__cont {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
  .top__focus .focus__thumb img {
    margin: 0 auto;
  }
}

/* --------------------------------------------------
 * top__news
-------------------------------------------------- */
.top__news {
  margin-top: 6.25em;
  padding: 0 3.125em !important;
}
.top__news .news__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.875em;
}
.top__news .news__head .news__tit {
  line-height: 1;
  font-weight: 400;
  font-size: 2.1875rem;
}
.top__news .news__head .news__item-ctrl {
  display: flex;
  justify-content: center;
  align-items: center;
  right: 3.125em;
  width: 2.25rem;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--base-color);
  border-radius: 3px;
  background: none;
  z-index: 5;
}
.top__news .news__cont {
  position: relative;
  width: calc(100% + 3.125em);
  margin-top: 1.875em;
  overflow: hidden;
}
.top__news .news__cont .news__list {
  display: flex;
  width: calc(100% + 16.9375em);
}
.top__news .news__cont .news__item {
  position: relative;
  width: 26.94vw;
  aspect-ratio: 1.13 / 1;
  border-radius: 10px;
  overflow: hidden;
}
.top__news .news__cont .news__item a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 1.5em 1.25em;
}
.top__news .news__cont .news__item a:before {
  display: block;
  position: absolute;
  width: 100%;
  height: 40%;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 100%
  );
  z-index: 2;
}
.top__news .news__cont .news__item a .item__cat {
  position: relative;
  font-family: var(--fm-inter);
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--main-color);
  z-index: 3;
}
.top__news .news__cont .news__item a .item__tit {
  position: relative;
  line-height: 1.6;
  min-height: 3.2em;
  margin-top: 0.5em;
  font-family: var(--fm-inter);
  font-weight: 500;
  font-size: 1.0625rem;
  color: var(--main-color);
  z-index: 3;
}
.top__news .news__cont .news__item a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 1;
}
.top__news .news__cont .news__item a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.top__news .news__more {
  margin-top: 3.375em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top__news {
    padding: 0 4% !important;
  }
  .top__news .news__head .news__tit {
    font-size: 2.08325rem;
  }
  .top__news .news__cont {
    width: calc(100% + 4%);
  }
  .top__news .news__cont .news__item {
    position: relative;
    width: 60vw;
    aspect-ratio: 1.13 / 1;
    border-radius: 10px;
    overflow: hidden;
  }
}

/* --------------------------------------------------
 * top__companies
-------------------------------------------------- */
.top__companies {
  margin: 4.75em 0 5.25em !important;
  padding: 0 3.125em !important;
}
.top__companies .companies__head {
  margin-bottom: 1.875em;
}
.top__companies .companies__head .companies__tit {
  line-height: 1;
  font-weight: 400;
  font-size: 2.1875rem;
}
.top__companies .companies__cont .companies__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
}
.top__companies .companies__cont .companies__item {
  width: calc((100% - 1.25em) / 2);
  aspect-ratio: 1.32 / 1;
}
.top__companies .companies__cont .companies__item a,
.top__companies .companies__cont .companies__item span {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  height: 100%;
  padding: 1.25em;
  border-radius: 10px;
  overflow: hidden;
}
.top__companies .companies__cont .companies__item a:before,
.top__companies .companies__cont .companies__item span:before {
  display: block;
  position: absolute;
  width: 100%;
  height: 27%;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 100%
  );
  z-index: 2;
}
.top__companies .companies__cont .companies__item a:after,
.top__companies .companies__cont .companies__item span:after {
  display: block;
  position: absolute;
  width: 3.125em;
  aspect-ratio: 1 / 1;
  right: 1.25em;
  bottom: 1.25em;
  border: 1px solid var(--main-color);
  border-radius: 3.5px;
  content: "";
  background: url(../img/cmn/cmn__ico-arrow-tr--wh.svg) no-repeat center center;
  background-size: 0.875rem;
  z-index: 3;
}
.top__companies .companies__cont .companies__item a .item__tit,
.top__companies .companies__cont .companies__item span .item__tit {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 3.2em;
  line-height: 1.6;
  padding-right: 3.125em;
  font-weight: 400;
  font-family: var(--fm-notojp);
  font-size: 1.1875rem;
  z-index: 3;
  color: var(--main-color);
}
.top__companies .companies__cont .companies__item a img,
.top__companies .companies__cont .companies__item span img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 1;
}
.top__companies .companies__cont .companies__item a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.top__companies .companies__more {
  margin-top: 3.375em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top__companies {
    padding: 0 4% !important;
  }
  .top__companies .companies__head .companies__tit {
    font-size: 2.08325rem;
  }
  .top__companies .companies__cont .companies__item {
    width: 100%;
  }
}
