@charset "UTF-8";
/* ------------------------------------------------------------
   Variables
------------------------------------------------------------ */
/* ----- Breakpoint ----- */
/* ----- Font family ----- */
/* ------------------------------------------------------------
   mixin
------------------------------------------------------------ */
/* ----- Media Queries ----- */
/* ----- image filter ----- */
/* ----- diagonal filter ----- */
/* ------------------------------------------------------------
   Function
------------------------------------------------------------ */
/* ------------------------------------------------------------
   Top
------------------------------------------------------------ */
.top {
  overflow: hidden;
  /* ----- mainvisual ----- */
  /* ----- content ----- */
  /* ----- p-intro ----- */
  /* ----- p-vision ----- */
  /* ----- p-menu ----- */
  /* ----- sustainability ----- */
  /* 2段目の並びは6個だが、横幅は1段目と同じにする */
  /* 767以下: 4列（nth-child上書き） */
  /* 640以下: 3列（nth-child上書き） */
  /* ----- recruit ----- */
}
.top .main-visualInner {
  overflow: hidden;
  position: relative;
}
.top .visual-pic {
  height: 100vh;
  width: 100%;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.top .visual-pic .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; /* トリミングしつつ全面表示 */
}
.top .p-intro {
  padding: 1rem 0 4rem;
  position: relative;
  z-index: 0;
}
.top .p-intro::before {
  content: "";
  width: 100%;
  height: calc(100% - 240px);
  background: -webkit-linear-gradient(152deg, #A0ECE8 0%, #a6d0fa 100%);
  background: linear-gradient(-62deg, #A0ECE8 0%, #a6d0fa 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.top .p-intro-box {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -ms-grid-columns: (1fr)[24];
  grid-template-columns: repeat(24, 1fr);
  position: relative;
  z-index: 0;
}
.top .p-intro-box .p-intro-box__column._img {
  -ms-grid-column: 1;
  -ms-grid-column-span: 10;
  grid-column: 1/11;
}
.top .p-intro-box .p-intro-box__column._img img {
  position: relative;
  width: 100%;
  bottom: clamp(1rem, 48 / var(--max-xxl) * 100vw, 3rem);
}
.top .p-intro-box .p-intro-box__column._txt {
  -ms-grid-column: 12;
  -ms-grid-column-span: 8;
  grid-column: 12/20;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1rem 0;
}
.top .p-intro-box .p-intro-box__column .c-btn {
  margin-left: 20px;
}
.top .p-intro-box::before {
  content: "";
  position: absolute;
  inset-block: 0; /* 上下に全域 */
  inset-inline-end: 0; /* 右端まで */
  left: 20.8333333333%; /* 左から5つ目のライン位置 */
  background: #fff; /* 任意の背景 */
  z-index: -1;
}
.top .p-intro-box.--rev .p-intro-box__column._img {
  -ms-grid-column: 15;
  -ms-grid-column-span: 10;
  grid-column: 15/25;
}
.top .p-intro-box.--rev .p-intro-box__column._txt {
  -ms-grid-column: 6;
  -ms-grid-column-span: 8;
  grid-column: 6/14;
  -ms-grid-row: 1;
  grid-row: 1/1;
}
.top .p-intro-box.--rev::before { /* 右端まで */
  left: 0;
  width: 79.1666666667%; /* 24列中、左側19列ぶん */
}
.top .p-intro-box2Wrap {
  padding: 0 1rem 3rem;
  position: relative;
}
.top .p-intro-box2Wrap::before {
  content: "";
  background: #fff;
  width: 100%;
  height: 60%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.top .p-intro-box2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: clamp(1rem, 128 / var(--max-xl) * 100vw, 8rem);
}
.top .p-intro-box2 .p-intro-box2__column {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 790px;
}
.top .p-intro-box2 .p-intro-box2__column .p-intro-container {
  max-width: 86%;
}
.top .p-intro-box2 .p-intro-box2__column .p-intro-container .c-btn {
  margin-left: 20px;
}
.top .p-vision {
  background: var(--color-secondary);
  color: #fff;
}
.top .p-vision-head {
  max-width: 1200px;
  border: 2px solid #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: clamp(1rem, 32 / var(--max-md) * 100vw, 2rem);
  padding: 2rem 1rem 3rem;
}
.top .p-vision-head figure {
  min-width: 72px;
}
.top .p-vision-head p {
  font-size: clamp(1.375rem, 28 / var(--max-md) * 100vw, 1.75rem);
  font-weight: 500;
  color: #fff;
}
.top .p-msg {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(16px, 36 / var(--max-md) * 100vw, 36px);
}
.top .p-msg picture {
  margin-top: 1em;
  -webkit-flex-basis: 31.818%;
  -ms-flex-preferred-size: 31.818%;
  flex-basis: 31.818%;
}
.top .p-msg picture img {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.top .p-msg__txt {
  -webkit-flex-basis: 68.182%;
  -ms-flex-preferred-size: 68.182%;
  flex-basis: 68.182%;
}
.top .p-msg__txt ._head {
  font-size: clamp(1.375rem, 24 / var(--max-md) * 100vw, 1.625rem);
  font-weight: 500;
}
.top .p-vision-box {
  background: #7987d2;
  padding: 1rem clamp(1rem, 48 / var(--max-md) * 100vw, 3rem) 2rem;
  color: #fff;
  font-weight: 500;
}
.top .p-vision-box ._r {
  width: 100%;
}
.top .p-vision-box ._catch {
  font-weight: 500;
  line-height: 1.6;
}
.top .p-vision-box.--2 {
  background: var(--color-secondary);
  border: 2px solid #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(24px, 50 / var(--max-md) * 100vw, 50px);
}
.top .p-vision-box h2 {
  font-size: clamp(1.375rem, 26 / var(--max-md) * 100vw, 1.625rem);
}
.top .p-vision-box ul li {
  position: relative;
  padding-left: 1em;
  line-height: 2;
}
.top .p-vision-box ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.4em;
  height: 0.4em;
  background: currentColor;
  border-radius: 50%;
}
.top .p-vision-box p {
  line-height: 2;
}
.top .p-vision-box picture {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.top .p-vision-wrap {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.top .p-vision-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1rem;
}
.top .p-vision-container img {
  -webkit-box-shadow: 8px 8px 0 #616EB6;
  box-shadow: 8px 8px 0 #616EB6;
}
.top .p-menu {
  padding-left: 1rem;
  padding-right: 1rem;
}
.top .p-menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1rem, 32 / var(--max-md) * 100vw, 2rem);
}
.top .p-menu-list li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.top .p-menu-list li a {
  display: block;
}
.top .p-menu-list li .rec_pic101 {
  background: url(../../../img/top/recruit_pic01.webp) no-repeat 0 0;
  background-size: cover;
}
.top .p-menu-list li .rec_pic5 {
  background: url(../../../img/top/recruit_pic02.webp) no-repeat 0 0;
  background-size: cover;
}
.top .p-menu-list li .rec_inner {
  width: 100%;
  padding: 30px clamp(5%, 3vw, 30px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  z-index: -1;
  position: relative;
  gap: 1rem;
}
.top .p-menu-list li .rec_inner::before {
  content: "";
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  background: rgba(37, 188, 199, 0.84);
  top: 0;
  left: 0;
  z-index: -1;
}
.top .p-menu-list li .rec_inner .pic {
  overflow: hidden;
  aspect-ratio: 41/18;
}
.top .p-menu-list li .rec_inner .pic img {
  width: 100%;
  -webkit-transition: all 0.2s var(--linear);
  transition: all 0.2s var(--linear);
}
.top .p-menu-list li .rec_inner .circle_ttl {
  margin: auto 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: clamp(1.125rem, 22 / var(--max-md) * 100vw, 1.375rem);
  font-weight: bold;
  color: #fff;
  position: relative;
}
.top .p-menu-list li .rec_inner .circle_ttl::before {
  content: "";
  display: block;
  height: 28px;
  width: 28px;
  border: 1px solid #08DDC8;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}
.top .p-menu-list li .rec_inner .circle_ttl span {
  font-family: "Roboto", sans-serif;
  font-stretch: condensed;
  font-size: 0.875rem;
  margin-right: clamp(10px, 2vw, 30px);
  padding-left: 15px;
  vertical-align: middle;
  font-weight: 400;
}
.top .p-sus {
  background: url(../../../img/top/bg_sus@2x.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
  z-index: 0;
}
.top .p-sus::before {
  content: "";
  content: "";
  background: rgba(0, 0, 0, 0.22);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.top .p-sus p.txt {
  font-size: clamp(1.125rem, 24 / var(--max-md) * 100vw, 1.5rem);
  color: #fff;
  font-weight: 500;
}
.top .p-sus p.txt2 {
  font-size: clamp(1.0625rem, 20 / var(--max-md) * 100vw, 1.25rem);
  color: #fff;
  font-weight: 500;
}
.top .p-sus h3 {
  font-size: clamp(1.125rem, 24 / var(--max-md) * 100vw, 1.5rem);
  color: #fff;
  font-weight: 500;
  background: #000;
  text-align: center;
  padding: 0.2em 1em;
}
.top .p-sus-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3.5rem;
}
.top .p-sdgs-iconlist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  list-style: none;
  padding: 1rem;
  margin: 0;
  background: #fff;
}
.top .p-sdgs-iconlist li {
  width: calc((100% - 6rem) / 7); /* 7列幅 */
  aspect-ratio: 1/1;
  overflow: hidden;
}
.top .p-sdgs-iconlist li:nth-child(n+8) {
  width: calc((100% - 6rem) / 7); /* 7列幅を再適用 */
}
.top .p-sus-sdgs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.top .p-recruit {
  background: url(../../../img/top/bg_rec@2x.png) no-repeat;
  background-position: left top;
  background-size: cover;
}
.top .p-recruit-nav ul {
  display: -ms-grid;
  display: grid;
  gap: 20px 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (max-width: 1279px) {
  .top {
    position: relative;
  }
}
@media (max-width: 1023px) {
  .top {
    position: relative;
  }
  .top .visual-pic {
    margin-top: 60px;
  }
  .top .p-intro-box .p-intro-box__column._txt {
    -ms-grid-column: 12;
    -ms-grid-column-span: 12;
    grid-column: 12/24;
  }
  .top .p-intro-box.--rev .p-intro-box__column._txt {
    -ms-grid-column: 2;
    -ms-grid-column-span: 12;
    grid-column: 2/14;
  }
  .top .p-intro-box2Wrap::before {
    height: 80%;
  }
  .top .p-intro-box2 {
    gap: 2rem;
  }
}
@media (max-width: 767px) {
  .top {
    position: relative;
  }
  .top .p-intro-box .p-intro-box__column .c-btn {
    margin-left: auto;
    margin-right: auto;
  }
  .top .p-intro-box2 .p-intro-box2__column .p-intro-container {
    max-width: 100%;
  }
  .top .p-intro-box2 .p-intro-box2__column .p-intro-container .c-btn {
    margin-left: auto;
    margin-right: auto;
  }
  .top .p-sdgs-iconlist {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .top .p-sdgs-iconlist li {
    width: calc((100% - 3rem) / 4);
  }
  .top .p-sdgs-iconlist li:nth-child(n+1) {
    width: calc((100% - 3rem) / 4);
  }
}
@media (max-width: 639px) {
  .top {
    position: relative;
  }
  .top .visual-pic {
    aspect-ratio: 1/1;
    height: auto;
  }
  .top .p-intro-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 1rem;
  }
  .top .p-intro-box .p-intro-box__column._img img {
    bottom: auto;
  }
  .top .p-intro-box2Wrap::before {
    height: calc(100% - 100px);
  }
  .top .p-intro-box2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .top .p-vision-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1rem;
  }
  .top .p-msg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .top .p-vision-box.--2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 12px;
  }
  .top .p-vision-box picture {
    margin-left: auto;
    margin-right: auto;
  }
  .top .p-vision-wrap {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
  .top .p-menu-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .top .p-sus-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
  }
  .top .p-sus-list li {
    max-width: 380px;
  }
  .top .p-sdgs-iconlist li {
    width: calc((100% - 2rem) / 3);
  }
  .top .p-sdgs-iconlist li:nth-child(n+1) {
    width: calc((100% - 2rem) / 3);
  }
  .top .p-sus-sdgs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.75rem;
  }
}
@media (hover: hover) {
  .top .p-menu-list a:hover {
    opacity: 0.7;
  }
  .top .p-menu-list a:hover .rec_inner .pic img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
/*# sourceMappingURL=../../map/object/project/top.css.map */