@charset "UTF-8";
/* フェードアップアニメーション */
.fade-up.is-hidden {
  opacity: 0;
  transform: translateY(30px);
}

.fade-up.is-show {
  opacity: 1;
  transform: translateY(0);
}

.fade-up {
  transition: opacity 0.9s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: var(--delay-sp, 0s);
}

@media (min-width: 640) {
  .fade-up {
    transition-delay: var(--delay-pc, 0s);
  }
}
/* ---- kv ----*/
.kv {
  background-image: url(/assets/images/top/img-kv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 44.271vw;
}
.kv .inner {
  margin: 0 5.625vw;
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.kv .inner .kv-head {
  margin: auto auto 5.417vw 0;
  color: #fff;
}
.kv .inner .kv-head h1 {
  width: 26.667vw;
}
.kv .inner .kv-head p {
  font-size: 1.354vw;
  padding-top: 1.146vw;
  width: -moz-fit-content;
  width: fit-content;
  border-top: solid #fff min(2px, 0.167vw);
  margin-top: 2.344vw;
}
.kv .inner .kv-head span {
  font-family: "Poppins", sans-serif;
  font-size: 0.677vw;
  font-weight: 600;
}

/* ---- company ----*/
.company {
  overflow: hidden;
  margin-top: min(147px, 12.25vw);
}
.company .inner {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: min(107px, 8.917vw);
  margin: 0 auto;
  padding: 0 min(20px, 1.667vw) min(80px, 6.667vw) 0;
  max-width: 1200px;
  position: relative;
}
.company .inner .company-left {
  margin-left: min(80px, 6.667vw);
}
.company .inner .company-left .company-logo {
  width: min(323px, 26.917vw);
  margin: 0 auto;
}
.company .inner .company-left .btn-grad-main {
  margin-top: min(75px, 6.25vw);
}
.company .inner .company-right {
  height: min(553px, 46.083vw);
}
.company .inner .company-right h2 {
  width: min(642px, 53.5vw);
  height: auto;
  height: -moz-fit-content;
  height: fit-content;
  margin-bottom: auto;
}
.company .inner .company-right .company-bg {
  position: absolute;
  right: 0;
  bottom: min(80px, 6.667vw);
  width: min(1029px, 85.75vw);
  height: min(340px, 28.333vw);
  transform: translateX(35.8%);
  background-image: url(/assets/images/top/img-company-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: min(30px, 2.5vw);
}
.company .inner .company-right .company-bg ol {
  padding: min(51px, 4.25vw) 0 min(51px, 4.25vw) min(60px, 5vw);
  color: #fff;
  font-weight: 600;
  display: grid;
  justify-content: space-between;
}
.company .inner .company-right .company-bg ol li {
  display: flex;
  align-items: center;
  font-size: min(21px, 1.75vw);
}
.company .inner .company-right .company-bg ol span {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: min(33px, 2.75vw);
  margin-right: min(28px, 2.333vw);
}

@media (min-width: 1920px) {
  .company {
    margin-top: 7.656vw;
  }
  .company .inner {
    gap: 5.573vw;
    padding: 0 1.042vw 4.167vw 0;
    max-width: 62.5vw;
  }
  .company .inner .company-left {
    margin-left: 4.167vw;
  }
  .company .inner .company-left .company-logo {
    width: 16.823vw;
  }
  .company .inner .company-left .btn-grad-main {
    margin-top: 3.906vw;
  }
  .company .inner .company-right {
    height: 28.802vw;
  }
  .company .inner .company-right h2 {
    width: 33.438vw;
  }
  .company .inner .company-right .company-bg {
    bottom: 4.167vw;
    width: 53.594vw;
    height: 17.708vw;
    margin-top: 1.563vw;
  }
  .company .inner .company-right .company-bg ol {
    padding: 2.656vw 0 2.656vw 3.125vw;
  }
  .company .inner .company-right .company-bg ol li {
    font-size: 1.094vw;
  }
  .company .inner .company-right .company-bg ol span {
    font-size: 1.719vw;
    margin-right: 1.458vw;
  }
}
/* ---- product ----*/
.product {
  margin-top: min(212px, 17.667vw);
  background: #f9fafb;
  background: linear-gradient(180deg, rgb(249, 250, 251) 0%, rgb(249, 250, 251) 40%, rgb(237, 241, 245) 40%, rgb(237, 241, 245) 70%, rgb(249, 250, 251) 70%);
}
.product .inner {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 0 min(25px, 2.083vw);
}
.product .inner h2 {
  width: min(223px, 18.583vw);
  height: auto;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
}
.product .inner p {
  margin-top: min(16px, 1.333vw);
  font-size: min(24px, 2vw);
  text-align: center;
}
.product .inner .product-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(24px, 2vw);
  margin: min(62px, 5.167vw) auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
.product .inner .product-btns li {
  width: min(210px, 17.5vw);
  height: min(210px, 17.5vw);
  background: linear-gradient(140deg, #24446d 0%, #406fab 100%);
  border: solid #b29350 min(3px, 0.25vw);
  position: relative;
  text-align: center;
}
.product .inner .product-btns li::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background: #b29350;
  width: min(27px, 2.25vw);
  height: min(27px, 2.25vw);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.product .inner .product-btns li a {
  position: relative;
  display: grid;
  place-content: center;
  color: #fff;
  font-size: min(21px, 1.75vw);
  line-height: 1.571;
  font-weight: 600;
  width: 100%;
  height: 100%;
  padding-bottom: min(10px, 0.833vw);
}
.product .inner .product-btns li a span {
  position: absolute;
  left: 50%;
  bottom: min(22px, 1.833vw);
  transform: translateX(-50%);
  display: grid;
  place-content: center;
  border: solid min(1px, 0.083vw) #fff;
  border-radius: 50%;
  width: min(35px, 2.917vw);
  height: min(35px, 2.917vw);
  transition: 0.3s;
}
.product .inner .product-btns li a span svg {
  width: min(9px, 0.75vw);
  height: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.product .inner .product-btns li a span svg rect {
  fill: #fff;
}
.product .inner .product-btns li a:hover span {
  transform: translateX(-50%) scale(1.3);
  transform-origin: center;
}
.product .inner .product-service {
  margin: min(40px, 3.333vw) auto 0;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: min(30px, 2.5vw);
}
.product .inner .product-service li {
  width: min(140px, 11.667vw);
  height: min(140px, 11.667vw);
  border-radius: 50%;
  border: solid #b29350 min(3px, 0.25vw);
  background-color: #fff;
  color: #24446d;
  display: grid;
  place-content: center;
  font-size: min(24px, 2vw);
  font-weight: 600;
}
.product .inner .btn-grad-main {
  margin: min(75px, 6.25vw) auto 0;
}

@media (min-width: 1920px) {
  .product {
    margin-top: 11.042vw;
  }
  .product .inner {
    width: 62.5vw;
    padding: 0 1.302vw;
  }
  .product .inner h2 {
    width: 11.615vw;
  }
  .product .inner p {
    margin-top: 0.833vw;
    font-size: 1.25vw;
  }
  .product .inner .product-btns {
    gap: 1.25vw;
    margin: 3.229vw auto 0;
  }
  .product .inner .product-btns li {
    width: 10.938vw;
    height: 10.938vw;
    border: solid #b29350 0.156vw;
  }
  .product .inner .product-btns li::before {
    width: 1.406vw;
    height: 1.406vw;
  }
  .product .inner .product-btns li a {
    font-size: 1.094vw;
    padding-bottom: 0.521vw;
  }
  .product .inner .product-btns li a span {
    bottom: 1.146vw;
    border: solid 0.052vw #fff;
    width: 1.823vw;
    height: 1.823vw;
  }
  .product .inner .product-btns li a span svg {
    width: 0.469vw;
  }
  .product .inner .product-service {
    margin: 2.083vw auto 0;
    gap: 1.563vw;
  }
  .product .inner .product-service li {
    width: 7.292vw;
    height: 7.292vw;
    border: solid #b29350 0.156vw;
    font-size: 1.25vw;
  }
  .product .inner .btn-grad-main {
    margin: 3.906vw auto 0;
  }
}
/* ---- news ----*/
.news {
  overflow: hidden;
  margin-top: min(157px, 13.083vw);
  background: linear-gradient(180deg, rgb(249, 250, 251) 0%, rgb(249, 250, 251) 13%, rgb(237, 241, 245) 13%, rgb(237, 241, 245) 100%);
  z-index: 1;
  padding-bottom: min(100px, 8.333vw);
}
.news .inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: min(187px, 15.583vw);
  z-index: 20;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: min(112px, 9.333vw);
}
.news .inner .news-bg {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-60%);
  background-image: url(/assets/images/top/img-news-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(602px, 50.167vw);
  height: min(442px, 36.833vw);
  z-index: 1;
}
.news .inner .news-head {
  flex-shrink: 0;
  position: relative;
  z-index: 10;
  margin-left: min(124px, 10.333vw);
  height: min(255px, 21.25vw);
}
.news .inner .news-head h2 {
  font-size: min(55px, 4.583vw);
  color: #24446d;
  font-weight: 600;
  line-height: 1.055;
}
.news .inner .news-head .btn-grad-main {
  margin-top: min(66px, 5.5vw);
  width: min(226px, 18.833vw);
  height: min(46px, 3.833vw);
  font-size: min(16px, 1.333vw);
}
.news .inner .news-head .btn-grad-main span {
  width: min(23px, 1.917vw);
  height: min(23px, 1.917vw);
}
.news .inner .news-head .btn-grad-main span svg {
  width: min(7px, 0.583vw);
  height: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.news .inner .news-list {
  width: min(662px, 55.167vw);
  display: grid;
  gap: min(34px, 2.833vw);
  margin-right: min(75px, 6.25vw);
  height: -moz-fit-content;
  height: fit-content;
}
.news .inner .news-list li a {
  display: block;
  border-bottom: solid #24446d min(1px, 0.083vw);
  padding-bottom: min(16px, 1.333vw);
  display: grid;
  grid-template-columns: min(95px, 7.917vw) auto;
  align-items: center;
}
.news .inner .news-list li time {
  font-size: min(17px, 1.417vw);
  font-weight: 500;
  color: #24446d;
  display: inline-block;
  letter-spacing: 0.06vw;
}
.news .inner .news-list li .news-tag {
  font-size: min(13px, 1.083vw);
  font-weight: 600;
  color: #fff;
  background: #b29350;
  height: min(26px, 2.167vw);
  width: min(116px, 9.667vw);
  display: grid;
  place-content: center;
  margin-left: min(24px, 2vw);
  text-align: center;
  letter-spacing: 0.08vw;
}
.news .inner .news-list li h3 {
  font-size: min(17px, 1.417vw);
  margin-top: min(11px, 0.917vw);
  grid-column: 1/-1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@media (min-width: 1920px) {
  .news {
    margin-top: 8.177vw;
    padding-bottom: 5.208vw;
  }
  .news .inner {
    max-width: 62.5vw;
    padding-top: 9.74vw;
    gap: 5.833vw;
  }
  .news .inner .news-bg {
    width: 31.354vw;
    height: 23.021vw;
  }
  .news .inner .news-head {
    margin-left: 6.458vw;
    height: 13.281vw;
  }
  .news .inner .news-head h2 {
    font-size: 2.865vw;
  }
  .news .inner .news-head .btn-grad-main {
    margin-top: 3.438vw;
    width: 11.771vw;
    height: 2.396vw;
    font-size: 0.833vw;
  }
  .news .inner .news-head .btn-grad-main span {
    width: 1.198vw;
    height: 1.198vw;
  }
  .news .inner .news-head .btn-grad-main span svg {
    width: 0.365vw;
  }
  .news .inner .news-list {
    width: 34.479vw;
    gap: 1.771vw;
    margin-right: 3.906vw;
  }
  .news .inner .news-list li a {
    border-bottom: solid #24446d 0.052vw;
    padding-bottom: 0.833vw;
    grid-template-columns: 4.948vw auto;
  }
  .news .inner .news-list li time {
    font-size: 0.885vw;
  }
  .news .inner .news-list li .news-tag {
    font-size: 0.677vw;
    height: 1.354vw;
    width: 6.042vw;
    margin-left: 1.25vw;
  }
  .news .inner .news-list li h3 {
    font-size: 0.885vw;
    margin-top: 0.573vw;
  }
}/*# sourceMappingURL=top.css.map */