@charset "UTF-8";
/* KV */
.top-kv {
  position: relative;
}
.top-kv__txt {
  position: absolute;
  z-index: 20;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 25px 30px;
  margin-top: 65px;
  background: rgba(255, 255, 255, 0.85);
  font-size: 54px;
  font-size: min(5vw, 54px);
  font-weight: 600;
  line-height: 1.323;
  text-align: center;
  white-space: nowrap;
}

#kvSlider .swiper-slide {
  position: relative;
}
#kvSlider .swiper-slide::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#9b5497), to(#6445a5));
  background: linear-gradient(to right, #9b5497, #6445a5);
  opacity: 0.15;
}
#kvSlider .swiper-slide img {
  width: 100%;
  height: 100vh;
  height: 100svh;
  -o-object-fit: cover;
     object-fit: cover;
}
#kvSlider .swiper-pagination {
  bottom: 18px;
  padding: 0 10.57%;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .top-kv__txt {
    left: 4.666%;
    right: 4.666%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    padding: 5px 5px 10px;
    margin: 30px auto 0;
    font-size: 31px;
    font-size: min(8.27vw, 44px);
  }
  #kvSlider .swiper-pagination {
    bottom: 60px;
    padding: 0 6%;
  }
}
/* INTRO */
.top-intro {
  padding: 100px 0 0;
  background: #fff url("../img/top/intro_bg.jpg") 50% 0 no-repeat;
  background-size: 100%;
}
.top-intro__left {
  width: 40.45%;
}
.top-intro__right {
  width: 57.818%;
}
.top-intro__catch {
  position: relative;
  max-height: 100%;
  padding-top: 20px;
  margin-bottom: 35px;
  color: #4a306d;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}
.top-intro__catch::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border-bottom: solid 1px;
}
.top-intro__lb {
  margin-bottom: 60px;
  color: #000;
  font-size: 4rem;
  font-size: clamp(30px, 3.39vw, 40px);
  font-weight: 500;
  line-height: 1.5;
}
.top-intro__txt {
  max-width: 450px;
  padding: 5px 0;
  margin: 0 0 45px auto;
}
.top-intro__img2 {
  margin-right: -8%;
}
.top-intro__img2 img {
  width: 100%;
}

@media screen and (min-width: 1180px) {
  .top-intro__img2 {
    margin-right: calc((100vw - 1117px) / 2 * -1);
  }
}
@media screen and (max-width: 959px) {
  .top-intro__left, .top-intro__right {
    width: 100%;
  }
  .top-intro__catch {
    width: 87.88%;
  }
  .top-intro__txt {
    max-width: none;
    padding: 0;
    margin: 0 0 45px;
  }
  .top-intro__img1 {
    width: 78.87%;
    margin: 0 auto 30px;
    text-align: center;
  }
  .top-intro__img2 {
    margin: 0 -2.82%;
  }
}
@media screen and (max-width: 599px) {
  .top-intro {
    padding-top: 45px;
    background-image: #fff url("../img/top/intro_bg__sp.jpg");
  }
  .top-intro__catch {
    padding-top: 15px;
    margin-bottom: 25px;
    font-size: 14px;
  }
  .top-intro__lb {
    margin-bottom: 20px;
    font-size: min(7.47vw, 30px);
  }
  .top-intro__txt {
    margin-bottom: 20px;
  }
  .top-intro__img1 {
    margin-bottom: 18px;
  }
}
/* NEWS お知らせ */
.top-news {
  padding: 70px 0 100px;
}
.top-news .m-inner {
  max-width: 920px;
}
.top-news .flex-lr {
  gap: 5.76%;
}
.top-news__left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.top-news__right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-top: 60px;
}
.top-news__lb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 166px;
  height: 166px;
  padding-top: 10px;
  background: url("../img/common/lb_bg_circle.svg");
  background-size: contain;
  font-size: 33px;
  text-align: center;
}
.top-news__lb .m-lb01__main {
  color: #1d0f30;
}
.top-news__lb .m-lb01__sub {
  font-size: 0.424em;
}
.top-news__link {
  margin-top: 40px;
  text-align: right;
}

.news-nopost .no-post {
  padding: 17px 10px;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  line-height: 1.563;
}

.news-list {
  border-top: solid 1px #ccc;
  line-height: 1.563;
}
.news-list li {
  border-bottom: solid 1px #ccc;
}
.news-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 17px 10px;
  color: inherit;
  text-decoration: none;
}
.news-list__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 7.5em;
  color: #666;
  font-size: 0.938em;
  font-weight: 500;
}
.news-list__cat {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6em;
  padding: 0.5em 0.75em;
  margin-right: 1.7em;
  background: -webkit-gradient(linear, left top, right top, from(#9b5497), to(#6445a5));
  background: linear-gradient(to right, #9b5497, #6445a5);
  color: #fff;
  font-size: 0.938em;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

@media screen and (max-width: 959px) {
  .top-news__right {
    padding-top: 0;
  }
  .top-news__lb {
    margin: 0 auto;
  }
  .top-news__link {
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .top-news {
    padding: 45px 0;
  }
  .top-news__lb {
    width: 117px;
    height: 117px;
    font-size: 23px;
  }
  .top-news__lb .m-lb01__sub {
    font-size: 0.458em;
  }
  .top-news__link {
    margin-top: 30px;
  }
  .news-nopost {
    padding: 15px 0 10px;
  }
  .news-nopost .no-post {
    padding: 15px 10px;
  }
  .news-list a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    min-height: 80px;
    padding: 15px 10px;
  }
  .news-list__date {
    width: 6.5em;
  }
  .news-list__cat {
    max-width: calc(100% - 6.5em);
    margin-right: 0;
  }
  .news-list__lb {
    width: 100%;
    padding-top: 0.9em;
  }
}
/* PAGE LINK */
.top-link {
  padding: 65px 0;
  background: #b5bbca;
}

.link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.link-list > li {
  position: relative;
  width: 32.27%;
}
.link-list a {
  color: #fff;
  text-decoration: none;
}
.link-list__img {
  position: relative;
}
.link-list__img::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(74, 48, 109, 0)), to(rgb(74, 48, 109)));
  background: linear-gradient(to bottom, rgba(74, 48, 109, 0), rgb(74, 48, 109));
}
.link-list__img img {
  width: 100%;
}
.link-list__imgOver {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 6.2% 5.07%;
}
.link-list__txt--ja {
  font-size: 25px;
  font-size: clamp(18px, 2.6vw, 25px);
  line-height: 1.2;
}
.link-list__txt--en {
  margin-top: 5px;
  font-size: 15px;
  font-size: clamp(13px, 1.56vw, 15px);
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (max-width: 599px) {
  .top-link {
    padding: 25px 0;
  }
  .link-list {
    display: block;
    max-width: 355px;
    width: 90.14%;
    margin: 0 auto -15px;
  }
  .link-list > li {
    width: 100%;
    margin-bottom: 15px;
  }
  .link-list__imgOver {
    padding: 6.2% 5.07%;
  }
  .link-list__txt--ja {
    font-size: 22.5px;
  }
  .link-list__txt--en {
    margin-top: 5px;
    font-size: 13.5px;
  }
}
/* GROUP COMPANY グループ企業 */
.top-group {
  padding: 90px 0 70px;
}
.top-group__link {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .top-group {
    padding: 40px 0 30px;
  }
  .top-group__link {
    margin-top: 30px;
  }
}
/* BUSINESS 事業内容 */
.top-business {
  padding: 80px 0 0;
  background: #fff url("../img/top/business_bg.jpg") 50% 0 no-repeat;
  background-size: 100%;
}

.business-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 55px;
}
.business-list > li {
  max-width: 100%;
  width: 520px;
}
.business-list a {
  color: inherit;
  text-decoration: none;
}
.business-list__lb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 128px;
  padding: 15px 0 15px 25px;
  margin: 0;
  background: -webkit-gradient(linear, left top, right top, from(#9b5497), to(#6445a5));
  background: linear-gradient(to right, #9b5497, #6445a5);
  color: #fff;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.1;
}
.business-list__lb span {
  display: block;
}
.business-list__lb__num {
  height: 0.8em;
  margin-right: 30px;
  color: #db751d;
  font-style: italic;
  font-size: 94px;
  letter-spacing: normal;
  line-height: 0.65;
}
.business-list__lb__txt {
  position: relative;
  padding: 0 35px 0 40px;
}
.business-list__lb__txt::before, .business-list__lb__txt::after {
  content: "";
  display: block;
  position: absolute;
  top: -10%;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  height: 120%;
  border-left: solid 1px #db751d;
}
.business-list__lb__txt::before {
  left: 0;
}
.business-list__lb__txt::after {
  right: 0;
}
.business-list__lb__txt__en {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1;
}
.business-list__img img {
  width: 100%;
}
.business-list__txt {
  position: relative;
  padding: 17px 73px 13px 17px;
  background: -webkit-gradient(linear, left top, right top, from(#edaa3f), to(#db751d));
  background: linear-gradient(to right, #edaa3f, #db751d);
  color: #fff;
  font-size: 23px;
  line-height: 1.3;
}
.business-list__txt::before {
  content: url("../img/common/icon_link_w.svg");
  display: block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 50px;
  height: 33px;
  margin-top: -16px;
}

@media screen and (max-width: 599px) {
  .top-business {
    padding-top: 115px;
    background-image: url("../img/top/business_bg__sp.jpg");
  }
  .business-list {
    gap: 30px;
    width: 100%;
  }
  .business-list__lb {
    min-height: 92px;
    padding: 10px 0 10px 20px;
    font-size: 29px;
    font-size: min(7.73vw, 40px);
  }
  .business-list__lb__num {
    margin-right: 25px;
    font-size: 68px;
  }
  .business-list__lb__txt {
    padding: 0 25px 0 28px;
  }
  .business-list__lb__txt__en {
    margin-top: 7px;
    font-size: 11px;
  }
  .business-list__txt {
    padding: 12px 53px 8px 10px;
    font-size: 17.5px;
    font-size: min(4.67vw, 23px);
  }
  .business-list__txt::before {
    right: 9px;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
}
/* CORPORATE ACTIVITIES 企業活動 */
.top-corpo {
  padding: 100px 0;
  background: #fff url("../img/top/corpo_bg.jpg") 50% 100% no-repeat;
  background-size: 100%;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .top-corpo {
    padding: 25px 0 35px;
    background-image: url("../img/top/corpo_bg__sp.jpg");
  }
}
/* PRODUCTS 取り扱い商品 */
.top-product {
  padding: 65px 0 45px;
  background: -webkit-gradient(linear, left top, right top, from(#9b5497), to(#6445a5));
  background: linear-gradient(to right, #9b5497, #6445a5);
  color: #fff;
}
.top-product .m-lb01__main, .top-product .m-lb01__sub {
  color: #fff;
}
.top-product__lb {
  margin-bottom: 35px;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}
.top-product__lb > span {
  display: inline-block;
  padding: 0.2em 0.75em;
  background: #db751d;
  color: #1d0f30;
}
.top-product .link-list {
  margin: 0 auto 40px;
}
.top-product__link {
  margin-top: 10px;
  text-align: center;
}

#productSlider {
  padding-bottom: 65px;
}
#productSlider .swiper-slide {
  max-width: 355px;
}

@media screen and (min-width: 600px) {
  .top-product .link-list {
    max-width: 805px;
  }
  .top-product .link-list > li {
    width: 44.1%;
  }
}
@media screen and (max-width: 599px) {
  .top-product {
    padding: 45px 0;
  }
  .top-product__lb {
    margin: -10px 0 25px;
    font-size: 1.4rem;
  }
  .top-product .link-list {
    margin-bottom: 30px;
  }
  .top-product__link {
    margin-top: 0;
  }
  #productSlider {
    padding: 0 16.8% 52px;
  }
}
/* BUSINESS 正規代理店 */
.top-official {
  padding: 65px 0 60px;
  background: #1d0f30;
  color: #fff;
}
.top-official .m-lb01__main, .top-official .m-lb01__sub {
  color: #fff;
}

@media screen and (max-width: 599px) {
  .top-official {
    padding: 45px 0;
  }
}
/* RECRUIT 採用情報 */
.top-recruit {
  position: relative;
  padding: 120px 0 0;
}
.top-recruit::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 380px;
  height: 27.14vw;
  background: #db751d;
}
.top-recruit__left {
  position: relative;
  width: 45.45%;
}
.top-recruit__right {
  width: 50%;
  padding-bottom: 45px;
}
.top-recruit__catch {
  max-height: 100%;
  color: #4a306d;
  font-size: 3rem;
  font-size: clamp(20px, 2.54vw, 30px);
  font-weight: 500;
  line-height: 1.7;
}
.top-recruit__img1 {
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-recruit__img2 {
  margin-right: -8%;
}
.top-recruit__img2 img {
  width: 100%;
}
.top-recruit__link {
  position: relative;
  z-index: 1;
  padding: 28px 0;
  color: #fff;
  text-align: right;
}
.top-recruit__link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#9b5497), to(#6445a5));
  background: linear-gradient(to right, #9b5497, #6445a5);
}

@media screen and (min-width: 1180px) {
  .top-recruit__img2 {
    margin-right: calc((100vw - 1117px) / 2 * -1);
  }
}
@media screen and (max-width: 959px) {
  .top-recruit {
    margin-bottom: 45px;
  }
  .top-recruit__right {
    padding-bottom: 0;
  }
  .top-recruit__catch {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
    font-size: 30px;
  }
  .top-recruit__img1 {
    display: none;
  }
  .top-recruit__img2 {
    margin: 0 -2.82%;
  }
  .top-recruit__link {
    padding: 15px 0;
    margin-top: 15px;
  }
  .top-recruit__link::before {
    left: 50%;
    margin-left: -50vw;
  }
}
@media screen and (max-width: 599px) {
  .top-recruit {
    padding-top: 25px;
  }
  .top-recruit::before {
    height: 190px;
  }
  .top-recruit__catch {
    font-size: 20px;
    line-height: 1.65;
  }
}/*# sourceMappingURL=style_top.css.map */