@charset "UTF-8";
/* webfont 変数　*/
/* cont-tit
-----------------------------------------------------*/
/* ofi */
/*====================================================================

index.css

=====================================================================*/
.main {
  padding-top: 64px;
  overflow: hidden;
}

/*--------------------------------------------------------------------/
	main-view
/--------------------------------------------------------------------*/
.main-view {
  position: relative;
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
}

.main-view__inner {
  -webkit-transition: all 0.3s ease 0s;
  position: relative;
  background-image: url(../img/top/mv-sp.jpg);
  background-position: 0 0;
  background-size: 91%;
  background-repeat: no-repeat;
  transition: all 0.3s ease 0s;
}

.main-view__catch {
  z-index: 4;
  position: relative;
  overflow: hidden;
}
.main-view__catch__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  height: 100%;
  padding-bottom: 1.5rem;
}
.main-view__catch__txt {
  width: 66%;
  max-width: 1070px;
}
.main-view__catch__txt .is-catch01,
.main-view__catch__txt .is-catch02 {
  display: block;
}
.main-view__catch__txt .is-catch01__inner,
.main-view__catch__txt .is-catch02__inner {
  display: block;
  position: relative;
  padding-left: 10%;
  color: #ffffff;
  font-weight: 700;
  font-size: calc(2.3rem + 7.35294vw - 20.58824px);
  line-height: 1;
  font-family: 'Roboto Condensed', sans-serif;
  letter-spacing: 0.05em;
}
.main-view__catch__txt .is-catch01__letter {
  display: inline-block;
  line-height: 1em;
}
.main-view__catch__txt .is-catch02 {
  margin-bottom: clamp(1rem, 2vw, 2.5rem);
}
.main-view__catch__txt .is-catch02__inner {
  padding-bottom: 1rem;
}
.main-view__catch__txt .is-catch02__inner.is-active::before {
  width: 100%;
}
.main-view__catch__txt .is-catch02__inner::before {
  -webkit-transition: all 0.5s ease;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #202020;
  content: "";
  transition: all 0.5s ease;
}
.main-view__catch__txt .is-catch02__letter {
  display: inline-block;
  line-height: 1em;
}
.main-view__catch__txt .is-catch03 {
  display: block;
}
.main-view__catch__txt .is-catch03__inner {
  display: block;
  position: relative;
  padding-left: 10%;
  font-weight: 700;
  font-size: calc(0.83rem + 1.17647vw - 3.29412px);
  line-height: 1;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  letter-spacing: 0;
}
.main-view__catch__txt .is-catch03__letter {
  display: inline-block;
  line-height: 1em;
}

/* scroll */
.scroll-line {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
  z-index: 4;
  position: absolute;
  right: min(1.5%, 3rem);
  bottom: 0;
          writing-mode: vertical-rl;
}
.scroll-line a {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: all 0.3s ease 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 0.5rem;
  color: #000000;
  font-weight: 500;
  font-family: 'Roboto Condensed', sans-serif;
  text-decoration: none !important;
  transition: all 0.3s ease 0s;
}
.scroll-line a:hover {
  color: #979DA4;
}
.scroll-line__txt {
  letter-spacing: 0;
}
.scroll-line span {
  display: block;
  position: relative;
  inline-size: 5rem;
  block-size: 1px;
  overflow: hidden;
  background: transparent;
  content: "";
}
.scroll-line span::before {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-animation: scroll-line 1.75s cubic-bezier(1, 0, 0, 1) infinite;
  position: absolute;
  top: 0;
  left: 0;
  inline-size: 100%;
  block-size: 1px;
  background: #D5D5D5;
  content: "";
          animation: scroll-line 1.75s cubic-bezier(1, 0, 0, 1) infinite;
  transition: all 0.3s ease 0s;
}

@-webkit-keyframes scroll-line {
  0% {
    -webkit-transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform: scale(1, 0);
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform: scale(1, 1);
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform: scale(1, 1);
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform: scale(1, 0);
            transform-origin: 0 100%;
  }
}

@keyframes scroll-line {
  0% {
    -webkit-transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform: scale(1, 0);
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform: scale(1, 1);
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform: scale(1, 1);
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform: scale(1, 0);
            transform-origin: 0 100%;
  }
}
/*--------------------------------------------------------------------/
	business
/--------------------------------------------------------------------*/
.business {
  position: relative;
  margin-left: 5.21%;
  padding-top: 2.5rem;
  padding-left: 8%;
}
.business::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background-color: #090917;
  content: "";
}
.business-txt {
  z-index: 2;
  position: relative;
  margin-bottom: 3rem;
}
.business-txt__txt {
  margin-bottom: 3rem;
}
.business-txt__txt p {
  font-weight: 400;
}
.business-bnr {
  z-index: 2;
  position: relative;
}
.business-bnr__box {
  position: relative;
  margin-bottom: 7px;
}
.business-bnr__box a {
  display: block;
  color: #ffffff;
  text-decoration: none !important;
}
.business-bnr__box a:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.business-bnr__box a::after {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform: translateY(-50%);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  right: 3rem;
          align-items: center;
          justify-content: center;
  width: 57px;
  height: 57px;
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #ffffff;
  color: #24245A;
  font-size: 1.8em;
  transition: all 0.3s ease 0s;
}
.business-bnr__box a:hover::after {
  background-color: #24245A;
  color: #ffffff;
}
.business-bnr__box__tit {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
          align-items: center;
  width: 100%;
  height: 100%;
}
.business-bnr__box__tit::after {
  display: block;
  position: absolute;
  top: 0;
  left: 13px;
  width: 1px;
  height: 70%;
  background-color: #ffffff;
  content: "";
}
.business-bnr__box__tit .txt {
  padding-left: 9.15%;
}
.business-bnr__box__tit .txt h4 {
  font-weight: 700;
  font-size: calc(1.3rem + 0.47468vw - 1.78481px);
}
.business-bnr__box__tit .txt span {
  font-weight: 400;
  font-family: 'Roboto Condensed', sans-serif;
}
.business-bnr__box__img {
  aspect-ratio: 470/137;
  width: 100%;
}
.business-bnr__box__img::after {
  -webkit-transition: all 0.3s ease 0s;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(69, 72, 73, .69);
  content: "";
  transition: all 0.3s ease 0s;
}
.business-bnr__box:hover .business-bnr__box__img::after {
  background-color: rgba(69, 72, 73, .3);
}

/*--------------------------------------------------------------------/
	top works
/--------------------------------------------------------------------*/
.top-works {
  position: relative;
  margin-top: 7rem;
  margin-bottom: 2rem;
  overflow: hidden;
}
.top-works__inner {
  z-index: 3;
  position: relative;
}
.top-works__tit {
  margin-bottom: clamp(2rem, 3vw, 3rem);
}
.top-works__btn {
  position: absolute;
  top: 0rem;
  right: 0;
}

.top-works {
  position: relative;
}
.top-works .swiper {
  position: relative;
  width: 100%;
  margin-bottom: 5rem;
  overflow: visible;
}
.top-works .swiper-control {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 1440px;
  height: 100%;
}
.top-works .swiper-next_prev {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -webkit-transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  top: 50%;
  left: -16px;
          justify-content: space-between;
  width: calc(100% + 32px);
          transform: translateY(-50%);
}
.top-works .swiper-button-prev {
  left: 0;
}
.top-works .swiper-button-next {
  right: 0;
}
.top-works .swiper-button-prev,
.top-works .swiper-button-next {
  -webkit-transform: translateY(-100%);
  display: block;
  z-index: 3;
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  margin: 0;
  float: none;
          transform: translateY(-100%);
  background-image: none;
}
.top-works .swiper-button-prev::before,
.top-works .swiper-button-next::before {
  -webkit-transition: all 0.3s ease 0s;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid #202020;
  border-radius: 50%;
  background: transparent;
  content: "";
  transition: all 0.3s ease 0s;
}
.top-works .swiper-button-prev::after,
.top-works .swiper-button-next::after {
  -webkit-transition: all 0.3s ease 0s;
  z-index: 3;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #202020;
  font-size: 1.5em;
  transition: all 0.3s ease 0s;
}
.top-works .swiper-button-prev:hover::before,
.top-works .swiper-button-next:hover::before {
  border-color: #24245A;
  background: #24245A;
}
.top-works .swiper-button-prev:hover::after,
.top-works .swiper-button-next:hover::after {
  color: #ffffff;
}
.top-works .swiper-button-prev:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e906";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.top-works .swiper-button-prev::after {
  -webkit-transform: translate(-60%, -50%);
          transform: translate(-60%, -50%);
}
.top-works .swiper-button-next:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e905";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.top-works .swiper-button-next::after {
  -webkit-transform: translate(-40%, -50%);
          transform: translate(-40%, -50%);
}
.top-works .swiper-scrollbar {
  z-index: 1;
  position: absolute;
  top: calc(100% + 2rem);
  width: 100%;
  height: 4px;
  background: #f6f6f6;
}
.top-works .swiper-scrollbar-drag {
  -webkit-transition: all 0.3s ease 0s;
  height: 4px;
  background: #C9CED2;
  cursor: pointer;
  transition: all 0.3s ease 0s;
}
.top-works .swiper-scrollbar-drag:hover {
  background-color: #24245A;
}

/*--------------------------------------------------------------------/
	top-company
/--------------------------------------------------------------------*/
.top-company {
  margin-bottom: clamp(10rem, 11vw, 11rem);
  padding-top: clamp(4rem, 7vw, 6rem);
  background-image: url(../img/common/logo-mark_large.svg);
  background-position: 120% 0;
  background-size: 60%;
  background-repeat: no-repeat;
}
.top-company__inner {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
}
.top-company__txt {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}
.top-company__nav {
  border-top: 1px solid #C9CED2;
}
.top-company__nav li a {
  -webkit-transition: all 0.3s ease 0s;
  display: block;
  position: relative;
  padding: 19px 0;
  border-bottom: 1px solid #C9CED2;
  background-color: transparent;
  color: #202020;
  font-weight: 500;
  font-size: calc(1.3rem + 0.47468vw - 1.78481px);
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-decoration: none !important;
  transition: all 0.3s ease 0s;
}
.top-company__nav li a:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.top-company__nav li a span {
  display: block;
  color: #C9CED2;
  font-weight: 400;
  font-size: 1.14rem;
}
.top-company__nav li a::after {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform: translateY(-50%);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
          align-items: center;
          justify-content: center;
  width: 40px;
  height: 40px;
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #24245A;
  color: #ffffff;
  font-size: 20px;
  transition: all 0.3s ease 0s;
}
.top-company__nav li a:hover {
  padding-left: 2rem;
  background-color: #24245A;
  color: #ffffff;
}
.top-company__nav li a:hover::after {
  padding-left: 6px;
}
.top-company__img {
  width: 100%;
  margin-top: 2rem;
}

/*--------------------------------------------------------------------/
	recruit
/--------------------------------------------------------------------*/
.top-recruit {
  position: relative;
  max-width: 1920px;
  margin-right: auto;
  margin-bottom: clamp(7rem, 12vw, 12rem);
  margin-left: auto;
  padding-bottom: 4rem;
  background-image: url(../img/top/recruit-bg.jpg);
  background-position: 100% 100%;
  background-repeat: no-repeat;
}
.top-recruit__inner {
  width: 90%;
  max-width: 1220px;
  margin-right: auto;
  margin-left: auto;
  padding: 2.5rem 0;
  border: 1px solid #202020;
  background-color: #ffffff;
}
.top-recruit__txt {
  width: 82%;
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}
.top-recruit__txt h3 {
  margin-bottom: 2rem;
  font-size: calc(1.3rem + 0.47468vw - 1.78481px);
  letter-spacing: 0.1em;
}
.top-recruit__txt .txt p {
  line-height: 2.3;
}
.top-recruit__btn {
  margin-top: 3rem;
}
.top-recruit__btn .btn-wrap {
  margin-bottom: 10px;
}
.top-recruit__btn .btn-wrap .arrow-btn--main {
  font-weight: 700;
}
.top-recruit .img01 {
  position: absolute;
  top: -52px;
  right: 0;
  width: 34%;
  max-width: 480px;
}
.top-recruit__img {
  position: absolute;
  aspect-ratio: 344/605;
}
.top-recruit .img02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 60.47%;
}
.top-recruit .img03 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 75.29%;
}

/*--------------------------------------------------------------------/
	top news
/--------------------------------------------------------------------*/
.top-news {
  position: relative;
  padding-left: 5%;
}
.top-news__item {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-end;
}
.top-news__item:not(:last-child) {
  margin-bottom: 0.8rem;
}
.top-news__item a {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform-origin: right top;
  display: block;
  position: relative;
  width: 93.15%;
  padding: 1.25em 2em 1.25em 1em;
          transform-origin: right top;
  background: #f6f6f6;
  color: #000000;
  text-decoration: none !important;
  transition: all 0.3s ease 0s;
}
.top-news__item a:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.top-news__item a::after {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 1rem;
          transform: translateY(-50%);
  color: #000000;
  font-size: 20px;
  transition: all 0.3s ease 0s;
}
.top-news__item a:hover {
  width: 100%;
  background: #24245A;
}
.top-news__item a:hover .top-news__item__tit,
.top-news__item a:hover .top-news__item__sub {
  color: #ffffff;
}
.top-news__item a:hover::after {
  color: #ffffff;
}
.top-news__item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-news__item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: clamp(80px, 20%, 140px);
}
.top-news__item__img__inner {
  z-index: 1;
  position: relative;
  width: 100%;
  margin: 0;
}
.top-news__item__img__inner::before {
  display: block;
  position: relative;
  padding-top: 66.66%;
  content: "";
}
.top-news__item__img__inner > div,
.top-news__item__img__inner figure,
.top-news__item__img__inner a,
.top-news__item__img__inner picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-news__item__txt {
  width: 72%;
  padding-left: 4%;
}
.top-news__item__tit {
  -webkit-transition: all 0.3s ease 0s;
  font-weight: 500;
  font-size: calc(0.8rem + 0.47468vw - 1.78481px);
  transition: all 0.3s ease 0s;
}
.top-news__item__sub {
  -webkit-transition: all 0.3s ease 0s;
  margin-bottom: 0.5em;
  color: #6F757B;
  font-size: calc(0.75rem + 0.15823vw - 0.59494px);
  transition: all 0.3s ease 0s;
}
.top-news__item__date {
  display: inline-block;
}
.top-news__item__date::after {
  padding: 0 0.5em;
  content: "|";
}
.top-news__item__cat {
  display: inline-block;
}
.top-news__item__cat > * {
  display: inline-block;
}
.top-news__item__cat > *:not(:first-child)::before {
  padding: 0 0.5em;
  content: "・";
}

/*--------------------------------------------------------------------/
	blog
/--------------------------------------------------------------------*/
.top-blog {
  padding: 5rem 0;
  background: #F5F7F9;
}
.top-blog__inner {
  position: relative;
}
.top-blog__flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
      flex-wrap: wrap;
          justify-content: space-between;
  width: 100%;
}
.top-blog__btn {
  position: absolute;
  top: 0rem;
  right: 0;
}

.top-blog__box {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-end;
  margin-bottom: 1.5rem;
}
.top-blog__box a {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform-origin: right top;
  display: block;
  position: relative;
  width: 100%;
  padding: 1.25em 2em 1.25em 1em;
          transform-origin: right top;
  background: #ffffff;
  color: #000000;
  text-decoration: none !important;
  transition: all 0.3s ease 0s;
}
.top-blog__box a:after {
  speak: never;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "icomoon" !important;
  text-transform: none;
}
.top-blog__box a::after {
  -webkit-transition: all 0.3s ease 0s;
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 1rem;
          transform: translateY(-50%);
  color: #000000;
  font-size: 20px;
  transition: all 0.3s ease 0s;
}
.top-blog__box a:hover {
  background: #24245A;
}
.top-blog__box a:hover .top-blog__box__tit,
.top-blog__box a:hover .top-blog__box__sub {
  color: #ffffff;
}
.top-blog__box a:hover::after {
  right: 0.6rem;
  color: #ffffff;
}
.top-blog__box__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-blog__box__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: clamp(80px, 20%, 140px);
}
.top-blog__box__img__inner {
  z-index: 1;
  position: relative;
  width: 100%;
  margin: 0;
}
.top-blog__box__img__inner::before {
  display: block;
  position: relative;
  padding-top: 66.66%;
  content: "";
}
.top-blog__box__img__inner > div,
.top-blog__box__img__inner figure,
.top-blog__box__img__inner a,
.top-blog__box__img__inner picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-blog__box__txt {
  width: 72%;
  padding-left: 4%;
}
.top-blog__box__tit {
  -webkit-transition: all 0.3s ease 0s;
  font-weight: 500;
  font-size: calc(0.8rem + 0.47468vw - 1.78481px);
  transition: all 0.3s ease 0s;
}
.top-blog__box__sub {
  -webkit-transition: all 0.3s ease 0s;
  margin-bottom: 0.5em;
  color: #6F757B;
  font-size: calc(0.75rem + 0.15823vw - 0.59494px);
  transition: all 0.3s ease 0s;
}
.top-blog__box__date {
  display: inline-block;
}
.top-blog__box__date::after {
  padding: 0 0.5em;
  content: "|";
}
.top-blog__box__cat {
  display: inline-block;
}
.top-blog__box__cat > * {
  display: inline-block;
}
.top-blog__box__cat > *:not(:first-child)::before {
  padding: 0 0.5em;
  content: "・";
}
@media (min-width: 376px) {
  /*====================================================================/
  /*--iPhone 以上--
  /====================================================================*/
}
@media (min-width: 576px) {
  /*====================================================================/
  /*--スマホ 以上--
  /====================================================================*/
  .top-company__nav li a span {
    font-size: 1.07rem;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  /*====================================================================/
  /*--スマホ以上 タブレット iPadmini未満--
  /====================================================================*/
}
@media (min-width: 768px) {
  /*====================================================================/
  /*--タブレット　iPadmini 以上--
  /====================================================================*/
  .main-view__inner {
    background-image: url(../img/top/mv-tb.jpg);
    background-size: 95.31%;
  }
  .main-view__catch {
    height: 80vw;
  }
  .main-view__catch__txt .is-catch01__inner,
  .main-view__catch__txt .is-catch02__inner {
    padding-left: 14%;
  }
  .main-view__catch__txt .is-catch03__inner {
    padding-left: 14%;
  }
  .scroll-line a {
    font-size: 1.07rem;
  }
  .business {
    padding-top: 4rem;
  }
  .business-bnr__box__tit::after {
    left: 27px;
  }
  .top-works .swiper-next_prev {
    left: -32px;
    width: calc(100% + 64px);
  }
  .top-works .swiper-button-prev,
  .top-works .swiper-button-next {
    width: 64px;
    height: 64px;
  }
  .top-works .swiper-scrollbar-drag {
    height: 4px;
  }
  .top-recruit__inner {
    padding: 4rem 0;
  }
  .top-recruit__btn {
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-wrap: wrap;
    margin-top: 3.5rem;
  }
  .top-recruit__btn .btn-wrap {
    width: 40%;
    margin-bottom: 0;
  }
  .top-news {
    padding-left: 8%;
  }
  .top-news__flex {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: space-between;
  }
  .top-news__left {
    width: 20%;
  }
  .top-news__cont {
    width: 70%;
  }
  .top-news__item a {
    padding: 1rem 1rem 1rem 1em;
  }
  .top-blog__box a {
    padding: 1rem 1rem 1rem 1em;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /*====================================================================/
  /*--タブレット iPadmini以上 XGAサイズ iPadPro未満--
  /====================================================================*/
}
@media (min-width: 768px) and (min-width: 576px) {
  .scroll-line a {
    font-size: 1rem;
  }
}
@media (min-width: 1024px) {
  /*====================================================================/
  /*--XGAサイズ　iPadPro 以上--
  /====================================================================*/
  .main {
    padding-top: 90px;
  }
  .main-view__inner {
    background-image: url(../img/top/mv-pc.jpg);
  }
  .main-view__catch {
    height: 50vw;
  }
  .main-view__catch__txt {
    width: 60%;
  }
  .top-works {
    margin-top: 8rem;
    margin-bottom: 4rem;
  }
  .top-works__btn {
    top: 0.8rem;
    right: auto;
    left: 340px;
  }
  .top-works .swiper-next_prev {
    left: -45px;
    width: calc(100% + 90px);
  }
  .top-works .swiper-button-prev,
  .top-works .swiper-button-next {
    width: 90px;
    height: 90px;
  }
  .top-works .swiper-button-prev::after,
  .top-works .swiper-button-next::after {
    font-size: 3.43rem;
  }
  .top-works .swiper-scrollbar {
    top: calc(100% + 3rem);
    height: 4px;
  }
  .top-company {
    margin-bottom: 12.5rem;
    padding-top: 136px;
    background-size: 777px;
  }
  .top-company__inner {
    -ms-flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: row-reverse;
        flex-wrap: wrap;
  }
  .top-company__txt {
    width: 55%;
    max-width: 515px;
    margin-left: 6.41%;
    padding-top: 0.8rem;
  }
  .top-company__nav li a span {
    font-size: 0.94rem;
  }
  .top-company__nav li a::after {
    width: 50px;
    height: 50px;
  }
  .top-company__img {
    width: 40%;
    margin-top: 0;
  }
  .top-recruit {
    padding-bottom: 142px;
  }
  .top-recruit .img01 {
    top: 52px;
    width: 23%;
  }
  .top-recruit__img {
    bottom: 20px;
    left: 0;
    width: 15%;
    max-width: 344px;
  }
  .top-news {
    padding-left: 12.5%;
  }
  .top-news__item:not(:last-child) {
    margin-bottom: 1.2rem;
  }
  .top-news__item a::after {
    font-size: 30px;
  }
  .top-blog__btn {
    top: 0.8rem;
  }
  .top-blog__box {
    width: 47.22%;
    margin-bottom: 2rem;
  }
  .top-blog__box a::after {
    font-size: 30px;
  }
}
@media (min-width: 1024px) and (max-width: 1552px) {
  /*====================================================================/
  /*--XGAサイズ iPadPro以上 PC未満--
  /====================================================================*/
}
@media (min-width: 768px) and (min-width: 1024px) {
  .scroll-line a {
    font-size: 0.88rem;
  }
}
@media (min-width: 1024px) and (min-width: 576px) {
  .top-works .swiper-button-prev::after,
  .top-works .swiper-button-next::after {
    font-size: 3.2rem;
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .top-works .swiper-button-prev::after,
  .top-works .swiper-button-next::after {
    font-size: 2.82rem;
  }
}
@media (min-width: 1280px) {
  .business {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: space-between;
    margin-top: 3rem;
    padding: 5rem 0 5rem 7.69%;
  }
  .business::after {
    max-height: 600px;
  }
  .business-txt {
    width: 36%;
    margin-bottom: 0;
  }
  .business-bnr {
    width: 55.95%;
  }
}
@media (min-width: 1553px) {
  /*====================================================================/
  /*---PC 以上--
  /====================================================================*/
  .main-view__catch {
    height: calc(100vh - 90px);
    max-height: 800px;
  }
  .business::after {
    max-height: 850px;
  }
  .business .cont-tit {
    margin-bottom: 62px;
    padding-top: 56px;
  }
  .business .cont-tit b {
    font-size: 6.43rem;
  }
  .business-txt__txt {
    min-height: 200px;
  }
  .business-bnr__box__tit .txt h4 {
    font-size: 2.57rem;
  }
  .top-works__btn {
    top: 1.5rem;
    left: 460px;
  }
  .top-works .swiper {
    margin-bottom: 7rem;
  }
  .top-company__nav li a {
    padding: 26px 0;
    font-size: 2.14rem;
  }
  .top-company__img {
    width: 50%;
  }
  .top-recruit {
    margin-bottom: 14rem;
  }
  .top-recruit__inner {
    padding: 5rem 0 6rem;
  }
  .top-recruit__btn .btn-wrap .arrow-btn--main {
    font-size: 1.71rem;
  }
  .top-news__cont {
    width: 60%;
  }
  .top-news__item a {
    padding: 1.4em 5em 1.4em 2em;
  }
  .top-news__item__tit {
    font-size: 1.43rem;
  }
  .top-news__item__sub {
    font-size: 1.07rem;
  }
  .top-blog__btn {
    top: 1.5rem;
  }
  .top-blog__box a {
    padding: 1.4em 4em 1.4em 2em;
  }
  .top-blog__box__tit {
    font-size: 1.43rem;
  }
  .top-blog__box__sub {
    font-size: 1.07rem;
  }
}
@media (min-width: 1553px) and (max-width: 1752px) {
  /*====================================================================/
  /*--px以上 Large PC未満--
  /====================================================================*/
}
@media (min-width: 1553px) and (min-width: 576px) {
  .business .cont-tit b {
    font-size: 6rem;
  }
  .business-bnr__box__tit .txt h4 {
    font-size: 2.4rem;
  }
  .top-company__nav li a {
    font-size: 2rem;
  }
  .top-recruit__btn .btn-wrap .arrow-btn--main {
    font-size: 1.6rem;
  }
  .top-news__item__tit {
    font-size: 1.33rem;
  }
  .top-news__item__sub {
    font-size: 1rem;
  }
  .top-blog__box__tit {
    font-size: 1.33rem;
  }
  .top-blog__box__sub {
    font-size: 1rem;
  }
}
@media (min-width: 1553px) and (min-width: 1024px) {
  .business .cont-tit b {
    font-size: 5.29rem;
  }
  .business-bnr__box__tit .txt h4 {
    font-size: 2.12rem;
  }
  .top-company__nav li a {
    font-size: 1.76rem;
  }
  .top-recruit__btn .btn-wrap .arrow-btn--main {
    font-size: 1.41rem;
  }
  .top-news__item__tit {
    font-size: 1.18rem;
  }
  .top-news__item__sub {
    font-size: 0.88rem;
  }
  .top-blog__box__tit {
    font-size: 1.18rem;
  }
  .top-blog__box__sub {
    font-size: 0.88rem;
  }
}
@media (min-width: 1753px) {
  /*====================================================================/
  /*--Large PC 以上--
  /====================================================================*/
  .main-view__catch__txt .is-catch01__inner,
  .main-view__catch__txt .is-catch02__inner {
    padding-left: 22.43%;
    font-size: 10.5rem;
  }
  .main-view__catch__txt .is-catch03__inner {
    padding-left: 22.43%;
    font-size: 3.29rem;
  }
  .business {
    margin-top: 210px;
  }
  .business-txt__txt p {
    font-size: 1.36rem;
    line-height: 2.1;
  }
  .top-recruit__txt h3 {
    font-size: 3.36rem;
  }
  .top-recruit__img {
    bottom: 30px;
    left: 66px;
    width: 30%;
  }
}
@media (min-width: 1753px) and (min-width: 576px) {
  .main-view__catch__txt .is-catch01__inner,
  .main-view__catch__txt .is-catch02__inner {
    font-size: 9.8rem;
  }
  .main-view__catch__txt .is-catch03__inner {
    font-size: 3.07rem;
  }
  .business-txt__txt p {
    font-size: 1.27rem;
  }
  .top-recruit__txt h3 {
    font-size: 3.13rem;
  }
}
@media (min-width: 1753px) and (min-width: 1024px) {
  .main-view__catch__txt .is-catch01__inner,
  .main-view__catch__txt .is-catch02__inner {
    font-size: 8.65rem;
  }
  .main-view__catch__txt .is-catch03__inner {
    font-size: 2.71rem;
  }
  .business-txt__txt p {
    font-size: 1.12rem;
  }
  .top-recruit__txt h3 {
    font-size: 2.76rem;
  }
}
@media (max-width: 1752px) {
  /*====================================================================/
  /*--Large PC 未満--
  /====================================================================*/
}
@media (max-width: 1552px) {
  /*====================================================================/
  /*--PC 未満--
  /====================================================================*/
}
@media (max-width: 1023px) {
  /*====================================================================/
  /*--XGAサイズ iPadPro 未満--
  /====================================================================*/
  .business-bnr__box a::after {
    right: 1rem;
    width: 40px;
    height: 40px;
    font-size: 1.4em;
  }
  .top-recruit__img {
    right: 10px;
    bottom: -20px;
    width: 130px;
  }
  .top-news__btn {
    position: absolute;
    top: 0;
    right: 5%;
  }
  .top-blog__box {
    width: 100%;
  }
}
@media (max-width: 767px) {
  /*====================================================================/
  /*--タブレット iPadmini 未満--
  /====================================================================*/
  .main-view__catch {
    height: 129vw;
  }
  .top-recruit__img {
    right: 0;
    width: 110px;
  }
}
@media (max-width: 575px) {
  /*====================================================================/
  /*--iPhone 以下--
  /====================================================================*/
}
@media (max-width: 1279px) {
  .business-txt {
    padding-right: 8%;
  }
}
/*# sourceMappingURL=map/top.css.map */
