@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Neuton:wght@300;400&family=Zen+Kaku+Gothic+Antique:wght@400;500&display=swap");
/* =============================================

基本設定

============================================= */
html {
  font-size: 10px;
}

body {
  font-family: "Zen Kaku Gothic Antique", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  line-height: 1;
  -webkit-text-size-adjust: none;
}

img {
  width: 100%;
  max-width: none;
  height: auto;
}

.sp {
  display: none;
}

summary {
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

/* =============================================

マージン設定

============================================= */
@media only screen and (min-width: 751px) {
  .mb0pc {
    margin-bottom: 0px;
  }
  .mb5pc {
    margin-bottom: 5px;
  }
  .mb10pc {
    margin-bottom: 10px;
  }
  .mb15pc {
    margin-bottom: 15px;
  }
  .mb20pc {
    margin-bottom: 20px;
  }
  .mb25pc {
    margin-bottom: 25px;
  }
  .mb30pc {
    margin-bottom: 30px;
  }
  .mb35pc {
    margin-bottom: 35px;
  }
  .mb40pc {
    margin-bottom: 40px;
  }
  .mb45pc {
    margin-bottom: 45px;
  }
  .mb50pc {
    margin-bottom: 50px;
  }
  .mb55pc {
    margin-bottom: 55px;
  }
  .mb60pc {
    margin-bottom: 60px;
  }
  .mb65pc {
    margin-bottom: 65px;
  }
  .mb70pc {
    margin-bottom: 70px;
  }
  .mb75pc {
    margin-bottom: 75px;
  }
  .mb80pc {
    margin-bottom: 80px;
  }
  .mb85pc {
    margin-bottom: 85px;
  }
  .mb90pc {
    margin-bottom: 90px;
  }
  .mb95pc {
    margin-bottom: 95px;
  }
  .mb100pc {
    margin-bottom: 100px;
  }
  .mb105pc {
    margin-bottom: 105px;
  }
  .mb110pc {
    margin-bottom: 110px;
  }
  .mb115pc {
    margin-bottom: 115px;
  }
  .mb120pc {
    margin-bottom: 120px;
  }
  .mb125pc {
    margin-bottom: 125px;
  }
  .mb130pc {
    margin-bottom: 130px;
  }
  .mb135pc {
    margin-bottom: 135px;
  }
  .mb140pc {
    margin-bottom: 140px;
  }
  .mb145pc {
    margin-bottom: 145px;
  }
  .mb150pc {
    margin-bottom: 150px;
  }
  .mb155pc {
    margin-bottom: 155px;
  }
  .mb160pc {
    margin-bottom: 160px;
  }
  .mb165pc {
    margin-bottom: 165px;
  }
  .mb170pc {
    margin-bottom: 170px;
  }
  .mb175pc {
    margin-bottom: 175px;
  }
  .mb180pc {
    margin-bottom: 180px;
  }
  .mb185pc {
    margin-bottom: 185px;
  }
  .mb190pc {
    margin-bottom: 190px;
  }
  .mb195pc {
    margin-bottom: 195px;
  }
  .mb200pc {
    margin-bottom: 200px;
  }
}
/* =============================================

ヘッダー

============================================= */
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  transition: opacity 0.3s, background 0.3s;
}
.header.active {
  background: #fff;
}
.header.off {
  opacity: 0;
}
.header__inner {
  width: 100%;
  height: 9rem;
  padding: 0 6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-logo {
  width: 18.4rem;
  position: relative;
  z-index: 1;
}

.wrapper {
  width: 100%;
  padding-top: 9rem;
  position: relative;
}
.wrapper--hidden {
  overflow: hidden;
}

/* =============================================

メニュー

============================================= */
.menu {
  display: none;
}

/* =============================================

グロナビ

============================================= */
.gnavi {
  position: relative;
  z-index: 1;
}
.gnavi-primary {
  font-family: ten-mincho-text, serif;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  display: flex;
}
.gnavi-primary > .gnavi-primary__item {
  margin-left: 6rem;
  position: relative;
}
.gnavi-primary > .gnavi-primary__item:first-child {
  margin-left: 0;
}
.gnavi-primary__link {
  padding-left: 1rem;
  position: relative;
  transition: opacity 0.5s;
}
.gnavi-primary__link::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 0.5em;
  left: -0.8rem;
}
.gnavi-primary__link:hover {
  opacity: 0.5;
}
.gnavi-primary__link--noaction {
  cursor: default;
}
.gnavi-primary__link--external::after {
  content: "";
  background: url("../img/common/img-icon-external.svg") no-repeat center center/cover;
  width: 0.9rem;
  height: 0.9rem;
  position: absolute;
  top: 0.4em;
  right: -1.6rem;
}
.gnavi-secondary {
  font-family: "Zen Kaku Gothic Antique", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.3rem;
  background: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.01em;
  text-align: center;
  width: 14.5rem;
  padding: 2rem 0;
  position: absolute;
  white-space: nowrap;
  top: 100%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}
.gnavi-secondary > .gnavi-secondary__item {
  margin-bottom: 1.5rem;
}
.gnavi-secondary > .gnavi-secondary__item:last-child {
  margin-bottom: 0;
}
.gnavi-secondary__link:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.gnavi-primary__item:hover > .gnavi-secondary {
  opacity: 1;
  visibility: visible;
}

/* =============================================

縦書きタイトル

============================================= */
.title-vertical {
  min-width: 2.6rem;
  text-align: center;
  padding-top: 4rem;
  position: relative;
}
.title-vertical::before {
  content: "";
  background: url("../img/common/img-icon-yama-black.svg") no-repeat center center/cover;
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.title-vertical--color-white {
  color: #fff;
}
.title-vertical--color-white::before {
  background: url("../img/common/img-icon-yama-white.svg") no-repeat center center/cover;
}
.title-vertical img {
  width: 2.6rem;
  margin-right: auto;
  margin-left: auto;
}

/* =============================================

フッター

============================================= */
.footer {
  position: relative;
}
.footer--bgGray {
  background: #f2f2f2;
}
.footer__inner {
  max-width: 144rem;
  padding: 0 3rem 7rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
.footer__logo {
  width: 6rem;
  margin-right: 6rem;
  position: relative;
  flex-shrink: 0;
}
.footer__logo::after {
  content: "";
  background: #000;
  width: 1px;
  height: calc(100% + 5rem);
  position: absolute;
  top: 50%;
  right: -3rem;
  transform: translateY(-50%);
}
.footer__address {
  font-size: 1.3rem;
  line-height: 1.7692307692;
}

/* =============================================

フッターナビゲーション

============================================= */
.fnavi {
  max-width: 130rem;
  padding: 16rem 5rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.fnavi-list {
  font-size: 1.6rem;
  font-weight: 500;
  max-width: 120rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
}
.fnavi-list__item {
  background: #fff;
  width: 23.75%;
  margin: 0% 1.6666666667% 0% 0%;
  position: relative;
  overflow: hidden;
}
.fnavi-list__item:last-child {
  margin-right: 0;
}
.fnavi-list__name {
  position: relative;
  z-index: 2;
}
.fnavi-list__name::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 0.5rem;
  left: -2.5rem;
}
.fnavi-list__blur {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-radius: 50%;
  background: #a3e0e0;
  transition: width 0.8s ease-in-out, height 0.8s ease-in-out, filter 0.8s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.fnavi-list__link {
  height: 7.5rem;
  padding: 0 3.5rem 0 6.5rem;
  display: flex;
  align-items: center;
  transition: color 0.8s;
}
.fnavi-list__item--current .fnavi-list__link {
  pointer-events: none;
  opacity: 0.4;
}
.fnavi-list__link:hover {
  color: #fff;
}
.fnavi-list__link:hover .fnavi-list__name::before {
  border-color: transparent transparent #fff transparent;
}
.fnavi-list__link:hover .fnavi-list__blur {
  width: 200%;
  height: 500%;
  filter: blur(5rem);
}

/* =============================================

ページトップ

============================================= */
.pagetop {
  font-family: "Neuton", serif;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: -0.175em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  right: 2.5rem;
  bottom: 3rem;
  z-index: 2;
  white-space: nowrap;
  transition: opacity 0.5s;
}
.pagetop::before {
  content: "";
  background: url("../img/common/img-icon-pagetop.svg") no-repeat center center/cover;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
}
.pagetop:hover {
  opacity: 0.5;
}

/* =============================================

著作権表示

============================================= */
.copyright {
  font-family: "Neuton", serif;
  font-size: 1.2rem;
  font-weight: 300;
  color: #fff;
  background: #000;
  letter-spacing: 0.08em;
  text-align: center;
  display: block;
  width: 100%;
  height: 4rem;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* =============================================

下からフェードイン

============================================= */
.js-trigger-fadein {
  transform: translateY(4rem);
  opacity: 0;
  transition: transform 1s, opacity 1s;
}
.js-trigger-fadein.active {
  transform: translateY(0);
  opacity: 1;
}

.js-trigger-fadeinRapid {
  transform: translateY(4rem);
  opacity: 0;
  transition: transform 1s, opacity 1s;
}
.js-trigger-fadeinRapid.active {
  transform: translateY(0);
  opacity: 1;
}

/* =============================================

ページタイトル

============================================= */
.pagetitle__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.pagetitle__head {
  width: 20%;
  min-width: 32rem;
  padding-top: 14rem;
  padding-left: 2.5%;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.pagetitle__img {
  width: 80%;
  min-height: 48rem;
}
.pagetitle__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* =============================================

セクションタイトル

============================================= */
.sectiontitle {
  font-family: ten-mincho-text, serif;
  position: relative;
  z-index: 1;
}
.sectiontitle__EN {
  font-size: 2.8rem;
  display: inline-block;
  margin-bottom: 1.5rem;
}
.sectiontitle__JA {
  font-size: 1.3rem;
  color: #6cc;
}

/* =============================================

パンくずリスト

============================================= */
.breadcrumbs {
  text-align: right;
  padding: 3rem 6rem;
  position: relative;
  z-index: 1;
}
.breadcrumbs-list {
  font-size: 1.2rem;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.breadcrumbs-list__item::before {
  content: "－";
  color: #000;
  padding: 0 1.5rem;
}
.breadcrumbs-list__item:first-child::before {
  content: none;
}
.breadcrumbs-list__item:last-child {
  color: #999;
}
.breadcrumbs-list__item a {
  transition: opacity 0.5s;
}
.breadcrumbs-list__item a:hover {
  opacity: 0.5;
}

/* =============================================

コンテンツ

============================================= */
.contents {
  position: relative;
  z-index: 1;
}
.contents--zIndex-auto {
  z-index: auto;
}
.contents__inner {
  max-width: 130rem;
  padding: 0 5rem;
  margin-right: auto;
  margin-left: auto;
}

.ribbon {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
}

/* =============================================

トップリボン

============================================= */
.ribbon-01 {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
.ribbon-01--top {
  position: absolute;
  z-index: auto;
}

.ribbon-02 {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.ribbon-02--top {
  z-index: auto;
}

/* =============================================

基本設定

============================================= */
@media only screen and (max-width: 1200px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media only screen and (max-width: 750px) {
  html {
    font-size: 1.3333333333vw;
  }
  body.scroll-stop {
    overflow: hidden;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
  /* =============================================

  ヘッダー

  ============================================= */
  .header__inner {
    padding: 0 3rem;
  }
  .header-logo {
    width: 26.6rem;
    z-index: 105;
  }
  /* =============================================

  メニュー

  ============================================= */
  .menu {
    display: block;
    white-space: nowrap;
    position: relative;
    z-index: 105;
  }
  .menu__link {
    display: block;
    width: 6rem;
    height: 6rem;
    position: relative;
  }
  .menu__line {
    background: #000;
    display: block;
    width: 6rem;
    height: 0.2rem;
    position: absolute;
    left: 0;
    transition: transform 0.5s;
  }
  .menu__line--01 {
    top: 1.7rem;
  }
  .menu__line--02 {
    top: 2.9rem;
  }
  .menu__line--03 {
    top: 4.1rem;
  }
  .menu__link.open .menu__line--01 {
    transform: translateY(1.2rem) rotate(-315deg);
  }
  .menu__link.open .menu__line--02 {
    opacity: 0;
  }
  .menu__link.open .menu__line--03 {
    transform: translateY(-1.2rem) rotate(315deg);
  }
  /* =============================================

  グロナビ

  ============================================= */
  .gnavi {
    background: #fff;
    width: 100%;
    height: 100vh;
    padding-top: 13rem;
    padding-bottom: 6rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    opacity: 0;
    overflow: auto;
    visibility: hidden;
    transition: visibility 0.5s;
  }
  .gnavi.open {
    visibility: visible;
  }
  .gnavi-primary {
    font-size: 3.2rem;
    width: 65rem;
    margin-right: auto;
    margin-left: auto;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: visibility 0.5s;
  }
  .gnavi.open .gnavi-primary {
    visibility: visible;
  }
  .gnavi-primary > .gnavi-primary__item {
    padding-bottom: 6rem;
    margin-bottom: 6rem;
    margin-left: 0;
    border-bottom: 0.2rem solid #c7c7c7;
    display: flex;
    justify-content: space-between;
  }
  .gnavi-primary__link {
    width: 50%;
    padding-left: 6rem;
  }
  .gnavi-primary__link::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1rem 1.4rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 0.3em;
    left: 2rem;
  }
  .gnavi-primary__link--external::after {
    width: 1.2rem;
    height: 1.2rem;
    top: 0.4em;
    right: -1.6rem;
  }
  .gnavi-secondary {
    font-size: 2.6rem;
    background: none;
    text-align: left;
    width: 50%;
    padding: 0;
    position: static;
    transform: none;
    opacity: 1;
    visibility: inherit;
    transition: none;
  }
  .gnavi-secondary > .gnavi-secondary__item {
    margin-bottom: 4rem;
  }
  .gnavi-secondary > .gnavi-secondary__item::before {
    content: "-　";
  }
  .gnavi-recruit {
    opacity: 0;
    visibility: hidden;
  }
  .gnavi.open .gnavi-recruit {
    visibility: visible;
  }
  .gnavi-recruit__inner {
    width: 63rem !important;
    padding: 0 !important;
  }
  /* =============================================

  縦書きタイトル

  ============================================= */
  .title-vertical {
    font-size: 3.2rem;
    padding-top: 5rem;
  }
  .title-vertical::before {
    width: 3.2rem;
    height: 3.2rem;
  }
  .title-vertical img {
    width: 3.2rem;
  }
  /* =============================================

  フッター

  ============================================= */
  .footer__inner {
    width: 69rem;
    padding: 0 0 5rem;
    display: block;
  }
  .footer__logo {
    width: 12rem;
    margin-right: auto;
    margin-bottom: 3rem;
    margin-left: auto;
  }
  .footer__logo::after {
    content: none;
  }
  .footer__address {
    font-size: 2rem;
    text-align: center;
  }
  /* =============================================

  フッターナビゲーション

  ============================================= */
  .fnavi {
    padding: 9rem 11rem;
  }
  .fnavi-list {
    font-size: 2.6rem;
    display: block;
  }
  .fnavi-list__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
  .fnavi-list__item:last-child {
    margin-bottom: 0;
  }
  .fnavi-list__name::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 0.8rem 1.2rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 0.7rem;
    left: -4rem;
  }
  .fnavi-list__blur {
    left: 0 !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
  }
  .fnavi-list__link {
    height: 12rem;
    padding: 0 5rem 0 10rem;
  }
  .fnavi-list__link:hover .fnavi-list__blur {
    width: 250%;
    height: 1100%;
  }
  /* =============================================

  ページトップ

  ============================================= */
  .pagetop {
    font-size: 1.6em;
    right: 2.5rem;
    bottom: 3rem;
  }
  .pagetop::before {
    width: 2.4rem;
    height: 2.4rem;
    top: -3rem;
  }
  /* =============================================

  著作権表示

  ============================================= */
  .copyright {
    font-size: 1.8rem;
    height: 6rem;
  }
  /* =============================================

  ページタイトル

  ============================================= */
  .pagetitle__inner {
    display: block;
  }
  .pagetitle__head {
    width: 100%;
    padding: 12rem 0;
  }
  .pagetitle__img {
    width: 100%;
    min-height: 0;
  }
  /* =============================================

  セクションタイトル

  ============================================= */
  .sectiontitle {
    margin-bottom: 8rem;
  }
  .sectiontitle__EN {
    font-size: 4.4rem;
    margin-bottom: 2rem;
  }
  .sectiontitle__JA {
    font-size: 2rem;
  }
  /* =============================================

  パンくずリスト

  ============================================= */
  .breadcrumbs {
    padding: 4rem 6rem;
  }
  .breadcrumbs-list {
    font-size: 2rem;
  }
  .breadcrumbs-list__item::before {
    padding: 0 2rem;
  }
  /* =============================================

  コンテンツ

  ============================================= */
  .contents__inner {
    padding: 0 6rem;
  }
}
/* =============================================

メインビジュアル

============================================= */
.mainvisual {
  position: relative;
}
.mainvisual__inner {
  position: absolute;
  top: 9.375vw;
  left: 9.375vw;
  z-index: 1;
}
.mainvisual__catch {
  width: max(21vw, 33.6rem);
  margin-bottom: max(1.25vw, 2rem);
}
.mainvisual-copy__title {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: max(2.0625vw, 3.3rem);
  line-height: 1.4545454545;
  font-weight: 400;
  letter-spacing: 0.12em;
  margin-bottom: max(1.25vw, 2rem);
}
.mainvisual-copy__text {
  font-size: max(0.875vw, 1.4rem);
  line-height: 2.2857142857;
  letter-spacing: 0.02em;
}
.mainvisual-scroll {
  font-family: "Neuton", serif;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 30%;
  right: 8rem;
  z-index: 1;
}
.mainvisual-scroll__line {
  background: rgba(0, 0, 0, 0.2);
  width: 1px;
  height: 18rem;
  overflow: hidden;
  position: absolute;
  top: 5rem;
  left: 45%;
}
.mainvisual-scroll__running {
  background: rgba(0, 0, 0, 0.45);
  width: 1px;
  height: 18rem;
  position: absolute;
  top: 0;
  left: 0;
  animation: scroll 3s 1s ease-in-out infinite;
}

@keyframes scroll {
  0% {
    transform: translateY(-100%);
  }
  33% {
    transform: translateY(0);
  }
  66% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}
.banner-blog {
  width: 23rem;
  position: absolute;
  top: 4.5rem;
  right: 4.5rem;
  z-index: 1;
}

/* =============================================

お知らせ

============================================= */
.news {
  background: #fff;
  width: 75rem;
  min-height: 9rem;
  padding: 2rem 4rem;
  border-left: 2px solid #6cc;
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.news__title {
  font-family: ten-mincho-text, serif;
  font-size: 1.8rem;
  color: #6cc;
  margin-right: 2rem;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}
.news-content {
  width: 100%;
}
.news-content__wrapper {
  align-items: center;
}
.news-content dl {
  width: calc(100% - 10rem);
  display: flex;
}
.news-content dl dt {
  font-size: 1.3rem;
  line-height: 1.5384615385;
  font-weight: 400;
  margin-right: 2.5rem;
  flex-shrink: 0;
}
.news-content dl dd {
  font-size: 1.4rem;
  line-height: 1.4285714286;
}
.news-content dl dd a {
  color: #6cc;
  text-decoration: underline;
}
.news-content__prev {
  background: url("../img/top/img-slider-prev.svg") no-repeat center center/cover;
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: 50%;
  right: 5.6rem;
  z-index: 1;
  transform: translateY(-50%);
  cursor: pointer;
}
.news-content__prev.swiper-button-disabled {
  display: none;
}
.news-content__next {
  background: url("../img/top/img-slider-next.svg") no-repeat center center/cover;
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
  cursor: pointer;
}
.news-content__next.swiper-button-disabled {
  display: none;
}

/* =============================================

山信について

============================================= */
.list-about {
  position: relative;
  z-index: 1;
}
.list-about__inner {
  width: 100%;
  max-width: 1600px;
  padding: 25rem 0 20rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
}
.list-about__title {
  width: 17.8125%;
  padding: 0% 0% 0% 4.6875%;
  margin-top: -9rem;
  display: flex;
  justify-content: center;
}
.list-about-flex {
  width: 131.6rem;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  transition-delay: 0.3s;
}
.list-about-flex__item {
  width: 24.7720364742%;
  position: relative;
  overflow: hidden;
}
.list-about-flex__title {
  font-size: 1.6rem;
  font-weight: 500;
  background: #fff;
  width: 20rem;
  height: 6rem;
  padding: 0 3.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
}
.list-about-flex__title::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.7rem 1rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 50%;
  left: 1.5rem;
  transform: translateY(-50%);
}
.list-about-flex__link {
  display: block;
}
.list-about-flex__link img {
  transition: transform 0.5s;
}
.list-about-flex__link:hover img {
  transform: scale(1.05);
}

/* =============================================

事業内容

============================================= */
.list-business {
  background: #f0f5f5;
  padding-bottom: 16rem;
}
.list-business__inner {
  width: 100%;
  max-width: 1600px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.list-business__title {
  width: 17.8125%;
  padding: 0% 0% 0% 4.6875%;
  margin-left: auto;
  position: relative;
  top: -6rem;
  display: flex;
  justify-content: center;
}
.list-business-subtitle {
  text-align: center;
  margin-bottom: 5rem;
}
.list-business-subtitle__heading {
  font-family: ten-mincho-text, serif;
  font-size: 2.9rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
}
.list-business-subtitle__txt {
  font-family: "Neuton", serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #6cc;
  letter-spacing: 0.05em;
}
.list-business-service {
  width: 100%;
  height: 68rem;
  padding: 0 10%;
  display: flex;
  align-items: center;
}
.list-business-service--trading {
  background: url("../img/top/bg-business-trading.webp") no-repeat center center/cover;
  margin-bottom: 11rem;
}
.list-business-service--support {
  background: url("../img/top/bg-business-support.webp") no-repeat center center/cover;
  margin-bottom: 16rem;
}
.list-business-service--recycle {
  height: auto;
}
.list-business-service__content {
  background: #fff;
  width: 57rem;
  height: 42rem;
  padding: 0 6rem;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.list-business-service--support .list-business-service__content {
  margin-left: auto;
}
.list-business-service--recycle .list-business-service__content {
  background: #fff url("../img/top/bg-business-recycle.webp") no-repeat center right/auto 100%;
  width: 108rem;
  margin-right: auto;
  margin-left: auto;
}
.list-business-service__txtEN {
  font-family: "Neuton", serif;
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin-bottom: 3.5rem;
  position: relative;
  overflow-x: clip;
}
.list-business-service__txtEN span {
  display: inline-block;
  padding-left: 2.5rem;
  position: relative;
  z-index: 1;
}
.list-business-service__txtEN span::before {
  content: "";
  background: #66cccc;
  width: 1.6rem;
  height: 1rem;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.list-business-service__txtEN span::after {
  content: "";
  background: #b7b9b9;
  width: 100vw;
  max-width: 50rem;
  height: 1px;
  position: absolute;
  left: calc(100% + 1em);
  bottom: 0.2rem;
}
.list-business-service dl {
  margin-bottom: 6rem;
}
.list-business-service dl dt {
  font-family: ten-mincho-text, serif;
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 3.5rem;
}
.list-business-service dl dd {
  font-size: 1.5rem;
  line-height: 1.8666666667;
}
.list-business-service__more {
  font-size: 1.6rem;
}
.list-business-service__more a {
  text-decoration: underline;
  display: inline-flex;
  align-items: center;
}
.list-business-service__more a img {
  width: 4.5rem;
  margin-left: 1em;
}
.list-business-recycle {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
}
.list-business-recycle__item {
  min-width: 15.5rem;
  padding: 1.2rem 2rem;
  margin-right: 0.5rem;
  border: 1px solid #b7b9b9;
  border-radius: 0.15rem;
}

.list-products {
  font-size: 2rem;
  font-weight: 500;
  max-width: 116rem;
  margin-right: auto;
  margin-bottom: 17rem;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list-products__item {
  width: 48.7068965517%;
  margin: 0% 0.3448275862% 0% 0%;
  position: relative;
  overflow: hidden;
}
.list-products__item:nth-of-type(2n) {
  margin-right: 0;
}
.list-products__title {
  font-size: 1.6rem;
  font-weight: 500;
  background: #fff;
  width: 20rem;
  height: 6rem;
  padding: 0 3.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
}
.list-products__title::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.7rem 1rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 50%;
  left: 1.5rem;
  transform: translateY(-50%);
}
.list-products__link {
  display: block;
}
.list-products__link img {
  transition: transform 0.5s;
}
.list-products__link:hover img {
  transform: scale(1.05);
}

/* =============================================

採用

============================================= */
.recruit__inner {
  width: 100%;
  max-width: 134rem;
  padding: 20rem 3rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.recruit__link {
  display: block;
  position: relative;
  overflow: hidden;
}
.recruit__link img {
  transition: transform 0.5s;
}
.recruit__link:hover img {
  transform: scale(1.05);
}
.recruit__title {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 2.9rem;
  background: #fff;
  letter-spacing: 0.12em;
  text-align: center;
  width: 54rem;
  height: 13rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.recruit__external {
  display: inline-block;
  padding-right: 1.4rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.recruit__external::after {
  content: "";
  background: url("../img/common/img-icon-external.svg") no-repeat center center/cover;
  width: 0.9rem;
  height: 0.9rem;
  position: absolute;
  top: 0.5rem;
  right: 0;
}
.recruit__EN {
  font-family: "Neuton", serif;
  font-size: 1.5rem;
  font-weight: 300;
  color: #6cc;
}

/* =============================================

メインビジュアル

============================================= */
@media only screen and (max-width: 750px) {
  .mainvisual {
    overflow: hidden;
  }
  .mainvisual__inner {
    position: relative;
    top: -10rem;
    left: 5rem;
  }
  .mainvisual__catch {
    width: 52rem;
    margin-bottom: 2rem;
  }
  .mainvisual-copy__title {
    font-size: 4.2rem;
    margin-bottom: 4rem;
  }
  .mainvisual-copy__text {
    font-size: 2.2rem;
    line-height: 1.9090909091;
  }
  .mainvisual-scroll {
    font-size: 2rem;
    top: 60rem;
    right: 4rem;
  }
  .mainvisual-scroll__line {
    height: 22rem;
    top: 6rem;
  }
  .mainvisual-scroll__running {
    height: 22rem;
  }
  .banner-blog {
    width: 24rem;
    top: 3rem;
    right: 2rem;
  }
  /* =============================================

  お知らせ

  ============================================= */
  .news {
    background: rgba(255, 255, 255, 0.6);
    width: 75rem;
    min-height: 21rem;
    padding: 5rem;
    border-top: 0.2rem solid #d1f0f0;
    border-bottom: 0.2rem solid #d1f0f0;
    border-left: none;
    position: relative;
    right: auto;
    bottom: auto;
    z-index: 1;
    display: block;
  }
  .news__title {
    font-size: 2.8rem;
    margin-right: 0;
    position: absolute;
    top: 5rem;
    left: 5rem;
  }
  .news-content__wrapper {
    padding-top: 6rem;
  }
  .news-content dl {
    width: 100%;
  }
  .news-content dl dt {
    font-size: 2.4rem;
    margin-right: 2rem;
  }
  .news-content dl dd {
    font-size: 2.6rem;
  }
  .news-content__prev {
    width: 4.4rem;
    height: 4.4rem;
    top: -1rem;
    right: 7.6rem;
    transform: none;
  }
  .news-content__next {
    width: 4.4rem;
    height: 4.4rem;
    position: absolute;
    top: -1rem;
    transform: none;
  }
  /* =============================================

  山信について

  ============================================= */
  .list-about__inner {
    width: 63rem;
    padding: 13rem 0 15rem;
    display: block;
  }
  .list-about__title {
    width: auto;
    padding: 0;
    margin-top: 0;
    margin-bottom: 10rem;
  }
  .list-about-flex {
    width: 100%;
    display: block;
  }
  .list-about-flex__item {
    width: 100%;
    margin-bottom: 2rem;
  }
  .list-about-flex__item:last-of-type {
    margin-bottom: 0;
  }
  .list-about-flex__title {
    font-size: 2.6rem;
    width: 33rem;
    height: 10rem;
    padding: 0 6rem;
  }
  .list-about-flex__title::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1.4rem 2rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    left: 2rem;
  }
  /* =============================================

  事業内容

  ============================================= */
  .list-business {
    padding-bottom: 14rem;
  }
  .list-business__title {
    width: auto;
    padding: 0;
    margin-top: 0;
    margin-bottom: 4rem;
  }
  .list-business-subtitle {
    margin-bottom: 6rem;
  }
  .list-business-subtitle__heading {
    font-size: 3.6rem;
    margin-bottom: 2rem;
  }
  .list-business-subtitle__txt {
    font-size: 2.2rem;
  }
  .list-business-service {
    height: auto;
    padding: 28rem 4rem 0;
    display: flex;
    align-items: center;
  }
  .list-business-service--trading {
    background: url("../img/top/bg-business-trading.webp") no-repeat top center/100% auto;
    margin-bottom: 11rem;
  }
  .list-business-service--support {
    background: url("../img/top/bg-business-support.webp") no-repeat top center/100% auto;
    margin-bottom: 16rem;
  }
  .list-business-service__content {
    width: 100%;
    height: 62rem;
    margin-right: auto;
    margin-left: auto;
  }
  .list-business-service--recycle {
    padding-top: 0;
  }
  .list-business-service--recycle .list-business-service__content {
    background: #fff url("../img/top/bg-business-recycle-sp.webp") no-repeat top center/100% auto;
    width: 100%;
    height: auto;
    padding-top: 34rem;
    padding-bottom: 7rem;
  }
  .list-business-service__txtEN {
    font-size: 2.2rem;
    margin-bottom: 4rem;
  }
  .list-business-service__txtEN::after {
    bottom: 0.2rem;
  }
  .list-business-service__txtEN span {
    padding-left: 4rem;
  }
  .list-business-service__txtEN span::before {
    width: 2.7rem;
    height: 1.8rem;
  }
  .list-business-service dl {
    margin-bottom: 5rem;
  }
  .list-business-service dl dt {
    font-size: 4.8rem;
    letter-spacing: -0.06em;
    margin-bottom: 4rem;
  }
  .list-business-service dl dd {
    font-size: 2.4rem;
  }
  .list-business-service__more {
    font-size: 2.6rem;
  }
  .list-business-service__more a img {
    width: 7rem;
  }
  .list-business-recycle {
    font-size: 2.2rem;
    justify-content: space-between;
  }
  .list-business-recycle__item {
    width: 27rem;
    padding: 2.4rem 0;
    margin-right: 0;
    border-radius: 0.3rem;
  }
  /* =============================================

  取扱商品

  ============================================= */
  .list-products {
    width: 56rem;
    display: block;
  }
  .list-products__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5rem;
  }
  .list-products__item:last-of-type {
    margin-bottom: 0;
  }
  .list-products__title {
    font-size: 2.6rem;
    width: 28rem;
    height: 9rem;
    padding: 0 0 0 6rem;
  }
  .list-products__title::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1.4rem 2rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    left: 2rem;
  }
  /* =============================================

  採用

  ============================================= */
  .recruit__inner {
    width: 69rem;
    padding: 12rem 0;
  }
  .recruit__title {
    font-size: 3.6rem;
    width: 59rem;
    height: 16rem;
  }
  .recruit__external {
    padding-right: 2rem;
  }
  .recruit__external::after {
    width: 1.4rem;
    height: 1.4rem;
    top: 0;
  }
  .recruit__EN {
    font-size: 2.2rem;
  }
  /* =============================================

  トップリボン

  ============================================= */
  /*
  .top-ribbon-01 {
      width: 75.0rem;
      height: 174.0rem;
      & svg {
          width: 75.0rem;
          height: 174.0rem;
      }
  }
  .top-ribbon-02 {
      top: auto;
      bottom: 0;
  }
  */
}
/* =============================================

代表メッセージ

============================================= */
.message {
  width: 80%;
  padding: 10rem 0 20rem;
  margin-left: auto;
  display: flex;
}
.message__title {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 4.2rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  width: 49rem;
  margin-bottom: 7rem;
}
.message__body {
  width: 60rem;
}
.message__txt {
  font-size: 1.6rem;
  line-height: 2.1875;
  text-align: justify;
  margin-bottom: 4rem;
}
.message__signature {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  text-align: right;
  margin-top: 8rem;
}
.message__signature em {
  font-size: 2.4rem;
  font-style: normal;
}

/* =============================================

強み

============================================= */
.strong {
  padding: 9rem 0 20rem;
}
.strong__intro {
  font-family: ten-mincho-text, serif;
  font-size: 3rem;
  line-height: 1.5909090909;
  text-align: center;
  margin-bottom: 20rem;
}
.strong-detail {
  margin-bottom: 18rem;
  position: relative;
}
.strong-detail:last-of-type {
  margin-bottom: 0;
}
.strong-detail__title {
  font-family: ten-mincho-text, serif;
  font-size: 4.6rem;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  text-align: center;
  position: absolute;
  top: -2rem;
  left: 0;
  z-index: 1;
}
.strong-detail__title img {
  width: 4.6rem;
  margin-right: auto;
  margin-left: auto;
}
.strong-detail__num {
  font-size: 13rem;
  color: #6cc;
  letter-spacing: -0.05em;
  display: inline-block;
  margin-bottom: 2rem;
}
.strong-detail__content {
  width: 103rem;
  margin-left: auto;
  position: relative;
}
.strong-detail__img {
  width: 63rem;
  margin-left: auto;
}
.strong-detail__content--reverse .strong-detail__img {
  margin-left: 0;
}
.strong-detail-body {
  background: #fff;
  width: 56rem;
  padding: 5rem;
  position: absolute;
  top: 50%;
  left: -5rem;
  transform: translateY(-50%);
}
.strong-detail-body__head {
  font-size: 2.1rem;
  line-height: 1.5909090909;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.strong-detail-body__txt {
  font-size: 1.6rem;
  line-height: 2.1875;
  letter-spacing: -0.05em;
}
.strong-detail__content--reverse .strong-detail-body {
  left: auto;
  right: -5rem;
}

/* =============================================

企業理念

============================================= */
.philosophy {
  padding: 9rem 0 18rem;
}
.philosophy-group {
  margin-bottom: 18rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.philosophy-group:last-of-type {
  margin-bottom: 0;
}
.philosophy-body {
  width: 85rem;
  position: relative;
  z-index: 1;
}
.philosophy-body__emphasis {
  font-family: ten-mincho-text, serif;
  font-size: 7.8rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 3rem;
}
.philosophy-body__txt {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 2.7rem;
  line-height: 1.8518518519;
  letter-spacing: 0.175em;
  text-align: center;
}

.statement {
  width: 85rem;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}
.statement-head__img {
  width: 33.6rem;
  margin-bottom: 2rem;
}
.statement-head__txt {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 3.3rem;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
}
.statement-body__txt {
  font-size: 1.7rem;
  line-height: 2.4705882353;
}
.statement-body__txt + .statement-body__txt {
  margin-top: 4rem;
}

.value {
  width: 130rem;
  max-width: 130rem;
  margin-top: 7rem;
  margin-right: -5rem;
  margin-left: -5rem;
  display: flex;
  justify-content: space-between;
}
.value__item {
  width: 33.0769230769%;
  display: flex;
  flex-direction: column;
}
.value__img {
  margin-bottom: 6rem;
  position: relative;
}
.value__img::after {
  content: "";
  background: url("../img/company/philosophy/img-value-yama@2x.png") no-repeat center center/cover;
  width: 6.4rem;
  height: 6.4rem;
  position: absolute;
  top: calc(100% - 2.4rem);
  left: 50%;
  transform: translateX(-50%);
}
.value__title {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 2.8rem;
  line-height: 1.7142857143;
  font-weight: 400;
  writing-mode: vertical-rl;
  text-orientation: upright;
  height: 30rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.value__title img {
  width: 12.4rem;
  margin-right: auto;
  margin-left: auto;
}
.value__indent {
  margin-top: -0.5em;
}
.value__num {
  text-combine-upright: all;
}
.value__txt {
  font-size: 1.6rem;
  line-height: 2.1875;
  letter-spacing: -0.08em;
  text-align: justify;
  width: 33rem;
  padding-top: 4rem;
  margin-right: auto;
  margin-left: auto;
  border-top: 1px solid #000;
}

/* =============================================

会社概要

============================================= */
.company {
  padding: 8rem 0 20rem;
}
.company-group {
  margin-bottom: 18rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.company-group--branches {
  padding: 18rem 0;
}
.company-group--branches::before {
  content: "";
  background: #f3f3f3;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}
.company-group:last-of-type {
  margin-bottom: 0;
}
.company-overview {
  background: rgba(255, 255, 255, 0.7);
  width: 90rem;
  position: relative;
  z-index: 1;
}
.company-overview-body {
  font-size: 1.6rem;
  line-height: 2.1875;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.company-overview-body__head {
  font-weight: 700;
  width: 32.2222222222%;
  padding: 3.5rem 0;
  border-bottom: 2px solid #999;
}
.company-overview-body__txt {
  width: 66.6666666667%;
  padding: 3.5rem 0;
  border-bottom: 1px solid #ccc;
}

.branches {
  width: 90rem;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.branches__item {
  width: 30%;
  margin: 0% 5% 5% 0%;
}
.branches__item:nth-of-type(3n) {
  margin-right: 0;
}
.branches__img {
  margin-bottom: 1.5rem;
}
.branches__name {
  font-size: 1.6rem;
  font-weight: 700;
  height: 4rem;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  border-left: 1px solid #000;
  display: flex;
  align-items: center;
}
.branches__address {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  margin-bottom: 2rem;
}
.branches__gmap {
  font-size: 1.5rem;
  font-weight: 500;
  width: 14rem;
  height: 4.5rem;
  position: relative;
  overflow: hidden;
}
.branches__blur {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-radius: 50%;
  background: #6cc;
  transition: width 0.8s ease-in-out, height 0.8s ease-in-out, filter 0.8s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.branches__link {
  color: #6cc;
  width: 100%;
  height: 100%;
  border: 1px solid #6cc;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: color 0.8s;
}
.branches__link:hover {
  color: #fff;
}
.branches__link:hover .branches__blur {
  width: 300%;
  height: 900%;
  filter: blur(5rem);
}

.history {
  position: relative;
  z-index: 1;
}
.history-nav {
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: -6rem;
  overflow: hidden;
}
.history-nav--prev {
  right: 9rem;
}
.history-nav--prev::before {
  content: "";
  background: url("../img/company/img-nav-prev.svg");
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
}
.history-nav--next {
  right: 0;
}
.history-nav--next::before {
  content: "";
  background: url("../img/company/img-nav-next.svg");
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
}
.history-nav__blur {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-radius: 50%;
  background: #e5e5e5;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out, filter 0.4s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.history-nav__link {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #000;
}
.history-nav__link:hover .history-nav__blur {
  width: 400%;
  height: 400%;
  filter: blur(5rem);
}
.history-swiper {
  width: 120rem;
  max-width: 120rem;
  margin-top: 8rem;
}
.history-swiper__slide {
  height: auto;
  margin-right: 0.5rem;
}
.history__year {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 2.1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #000;
}
.history-timeline {
  background: rgba(255, 255, 255, 0.9);
  height: 100%;
  padding: 3rem;
}
.history-timeline__date {
  font-family: ten-mincho-text, serif;
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.history-timeline__txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  font-weight: 500;
  padding-left: 1.5rem;
  margin-bottom: 3.5rem;
  position: relative;
}
.history-timeline__txt::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 0.8rem;
  left: 0;
}
.history-timeline__txt:last-of-type {
  margin-bottom: 0;
}
.history__scrollbar .swiper-scrollbar-drag {
  background: #6cc;
  height: 4px;
  margin-top: -1px;
  cursor: pointer;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  height: 2px;
  bottom: -30px;
  left: 0;
}

@media only screen and (max-width: 750px) {
  /* =============================================

  代表メッセージ

  ============================================= */
  .message {
    width: 63rem;
    padding: 10rem 0 18rem;
    margin-right: auto;
    margin-left: auto;
    display: block;
  }
  .message__title {
    font-size: 4.8rem;
    width: 100%;
  }
  .message__body {
    width: 100%;
  }
  .message__txt {
    font-size: 2.6rem;
    line-height: 2;
  }
  .message__signature {
    font-size: 2.6rem;
    margin-top: 7rem;
  }
  .message__signature em {
    font-size: 3.8rem;
  }
  /* =============================================

  強み

  ============================================= */
  .strong {
    padding: 7rem 0 20rem;
  }
  .strong__intro {
    font-size: 4.4rem;
    margin-bottom: 10rem;
  }
  .strong-detail {
    margin-bottom: 16rem;
  }
  .strong-detail__title {
    font-size: 6rem;
    margin-bottom: 4rem;
    position: static;
    writing-mode: horizontal-tb;
    display: flex;
    align-items: center;
  }
  .strong-detail__num {
    font-size: 16rem;
    margin-right: 4rem;
    margin-bottom: 0;
  }
  .strong-detail__content {
    width: 100%;
  }
  .strong-detail__img {
    width: 69rem;
    margin-right: -6rem;
    margin-bottom: 7rem;
  }
  .strong-detail__img img {
    width: 100%;
    height: 41rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .strong-detail__content--reverse .strong-detail__img {
    margin-right: 0;
    margin-left: -6rem;
  }
  .strong-detail-body {
    background: none;
    width: 63rem;
    padding: 0;
    position: static;
    transform: none;
  }
  .strong-detail-body__head {
    font-size: 3.4rem;
    margin-bottom: 1.5rem;
  }
  .strong-detail-body__txt {
    font-size: 2.6rem;
    text-align: justify;
  }
  /* =============================================

  企業理念

  ============================================= */
  .philosophy {
    padding: 9rem 0 18rem;
  }
  .philosophy-group {
    margin-bottom: 18rem;
    display: block;
  }
  .philosophy-group:last-of-type {
    margin-bottom: 0;
  }
  .philosophy-body {
    width: 100%;
  }
  .philosophy-body__emphasis {
    font-size: 10rem;
    margin-bottom: 4rem;
  }
  .philosophy-body__txt {
    font-size: 3.4rem;
    line-height: 1.8823529412;
  }
  .statement {
    width: 100%;
    display: block;
  }
  .statement-head__img {
    width: 48rem;
    margin-bottom: 4rem;
  }
  .statement-head__txt {
    font-size: 4.4rem;
    margin-bottom: 9rem;
  }
  .statement-body__txt {
    font-size: 2.8rem;
    line-height: 2.1428571429;
    letter-spacing: -0.05em;
  }
  .value {
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    display: block;
  }
  .value__item {
    width: 100%;
    margin-bottom: 12rem;
    display: block;
  }
  .value__item:last-of-type {
    margin-bottom: 0;
  }
  .value__img {
    margin-bottom: 6rem;
    position: relative;
  }
  .value__img::after {
    width: 8rem;
    height: 8rem;
  }
  .value__title {
    font-size: 4.4rem;
    height: auto;
    margin-bottom: 8rem;
  }
  .value__title img {
    width: 19.6rem;
  }
  .value__txt {
    font-size: 2.6rem;
    line-height: 1.9230769231;
    width: 55rem;
    padding-top: 6rem;
  }
  /* =============================================

  会社概要

  ============================================= */
  .company {
    padding: 10rem 0 16rem;
  }
  .company-group {
    margin-bottom: 15rem;
    display: block;
  }
  .company-group--branches {
    padding: 15rem 0;
  }
  .company-overview {
    width: 100%;
  }
  .company-overview-body {
    font-size: 2.6rem;
    line-height: 1.9230769231;
    display: block;
  }
  .company-overview-body__head {
    width: 100%;
    padding: 3rem 0 0;
    border-bottom: none;
  }
  .company-overview-body__txt {
    width: 100%;
    padding: 2rem 0 5rem;
    border-bottom: 1px solid #ccc;
    position: relative;
  }
  .company-overview-body__txt::after {
    content: "";
    background: #999;
    width: 20rem;
    height: 2px;
    position: absolute;
    bottom: -1px;
    left: 0;
  }
  .branches {
    width: 100%;
    justify-content: space-between;
  }
  .branches__item {
    width: 30rem;
    margin-right: 0;
    margin-bottom: 6rem;
    display: flex;
    flex-direction: column;
  }
  .branches__img {
    margin-bottom: 2rem;
  }
  .branches__name {
    font-size: 2.6rem;
    height: 6rem;
    padding-left: 2rem;
    margin-bottom: 2rem;
    border-left: 0.2rem solid #000;
    white-space: nowrap;
  }
  .branches__small {
    font-size: 1.8rem;
    flex-shrink: 0;
  }
  .branches__address {
    font-size: 2.2rem;
    line-height: 1.6363636364;
    margin-bottom: 3rem;
  }
  .branches__gmap {
    font-size: 2.4rem;
    width: 100%;
    height: 7rem;
    margin-top: auto;
  }
  .branches__blur {
    left: 0 !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
  }
  .branches__link {
    border: 0.2rem solid #6cc;
  }
  .history-nav {
    top: -18rem;
  }
  .history-nav--prev {
    right: 9rem;
  }
  .history-swiper {
    width: 69rem;
    margin-top: 9rem;
  }
  .history__year {
    font-size: 3.2rem;
    padding-bottom: 2rem;
    border-bottom: 0.2rem solid #000;
  }
  .history-timeline {
    padding: 4rem 2rem;
  }
  .history-timeline__date {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
  .history-timeline__txt {
    font-size: 2.6rem;
    line-height: 1.5384615385;
    padding-left: 3rem;
    margin-bottom: 4rem;
  }
  .history-timeline__txt::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1rem 1.4rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 1.2rem;
  }
  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: -0.4rem;
  }
}
/* =============================================

事業内容

============================================= */
.business {
  padding: 9rem 0 20rem;
}
.business__intro {
  font-size: 1.7rem;
  line-height: 2.4705882353;
  text-align: center;
  margin-bottom: 16rem;
}

/* =============================================

総合商社事業

============================================= */
.lineup {
  margin-bottom: 15rem;
  display: flex;
  justify-content: space-between;
}
.lineup__item {
  width: 57rem;
}
.lineup-door {
  margin-bottom: 3rem;
  position: relative;
  overflow: hidden;
}
.lineup-door__txt {
  font-family: ten-mincho-text, serif;
  font-size: 3.2rem;
  color: #fff;
  letter-spacing: 0.12em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.lineup-door__link {
  display: block;
}
.lineup-door__link img {
  transition: transform 0.5s;
}
.lineup-door__link:hover img {
  transform: scale(1.05);
}
.lineup-list {
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
}
.lineup-list__item {
  background: #fff;
  width: 18rem;
  margin-right: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid #6cc;
  position: relative;
  overflow: hidden;
}
.lineup-list__item:nth-child(3n), .lineup-list__item:last-child {
  margin-right: 0;
}
.lineup-list__link {
  height: 6rem;
  padding: 0 1.5rem 0 3.5rem;
  display: flex;
  align-items: center;
  transition: color 0.8s;
}
.lineup-list__name {
  position: relative;
  z-index: 2;
}
.lineup-list__name::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 0.5rem;
  left: -2rem;
}
.lineup-list__blur {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-radius: 50%;
  background: #66cccc;
  transition: width 0.8s ease-in-out, height 0.8s ease-in-out, filter 0.8s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.lineup-list__link:hover {
  color: #fff;
}
.lineup-list__link:hover .lineup-list__name::before {
  border-color: transparent transparent #fff transparent;
}
.lineup-list__link:hover .lineup-list__blur {
  width: 300%;
  height: 500%;
  filter: blur(5rem);
}

.network {
  width: 100%;
  padding-top: 7rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.network__body {
  width: 33rem;
}
.network__txt {
  font-size: 1.6rem;
  line-height: 1.875;
  text-align: justify;
  margin-bottom: 4rem;
}
.network__img {
  width: 81rem;
}
.network-list {
  display: none;
}
.network-btn {
  font-size: 1.6rem;
  font-weight: 500;
  background: #fff;
  width: 18rem;
  border: 1px solid #6cc;
  position: relative;
  overflow: hidden;
}
.network-btn__link {
  height: 6rem;
  padding: 0 1.5rem 0 3.5rem;
  display: flex;
  align-items: center;
  transition: color 0.8s;
}
.network-btn__name {
  position: relative;
  z-index: 2;
}
.network-btn__name::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 0.5rem;
  left: -2rem;
}
.network-btn__blur {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-radius: 50%;
  background: #66cccc;
  transition: width 0.8s ease-in-out, height 0.8s ease-in-out, filter 0.8s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.network-btn__link:hover {
  color: #fff;
}
.network-btn__link:hover .network-btn__name::before {
  border-color: transparent transparent #fff transparent;
}
.network-btn__link:hover .network-btn__blur {
  width: 300%;
  height: 500%;
  filter: blur(5rem);
}

/* =============================================

工事・加工支援事業

============================================= */
.construction {
  margin-bottom: 9rem;
  display: flex;
  flex-wrap: wrap;
}
.construction__item {
  width: 27rem;
  margin-right: 4rem;
  margin-bottom: 4rem;
  position: relative;
  overflow: hidden;
}
.construction__item:nth-of-type(4n) {
  margin-right: 0;
}
.construction__img {
  margin-bottom: 1.5rem;
}
.construction-detail {
  padding-bottom: 1rem;
  padding-left: 2rem;
}
.construction-detail::before {
  content: "";
  background: #6cc;
  width: 0.4rem;
  height: 100%;
  position: absolute;
  left: 0;
}
.construction-detail__head {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  padding-top: 1rem;
  margin-bottom: 2rem;
}
.construction-detail__body {
  font-size: 1.6rem;
  line-height: 1.375;
}
.construction-list__item {
  padding-left: 1em;
  margin-bottom: 0.5rem;
  position: relative;
}
.construction-list__item::before {
  content: "- ";
  position: absolute;
  top: 0;
  left: 0;
}

.processing {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.processing__item {
  background: #e8f7f7;
  width: 58.8rem;
  margin-bottom: 4rem;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
}
.processing__item:last-child {
  margin-bottom: 0;
}
.processing__item::before {
  content: "";
  background: #6cc;
  width: 0.4rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.processing__img {
  width: 21rem;
}
.processing-detail {
  width: calc(100% - 21rem);
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.processing-detail__head {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
}
.processing-detail__body {
  font-size: 1.6rem;
  line-height: 1.375;
  margin-top: 2rem;
}
.processing-list__item {
  padding-left: 1em;
  margin-bottom: 0.5rem;
  position: relative;
}
.processing-list__item::before {
  content: "- ";
  position: absolute;
  top: 0;
  left: 0;
}
.processing-list__item:last-child {
  margin-bottom: 0;
}

.processing-base {
  color: #fff;
  background: url("../img/business/construction/img-processing-base.jpg") no-repeat center center/cover;
  width: 100%;
  height: 50rem;
  padding-top: 12rem;
  margin-top: -4rem;
  margin-bottom: 17rem;
}
.processing-base__body {
  width: 120rem;
  margin-right: auto;
  margin-left: auto;
}
.processing-base__txt {
  font-size: 1.6rem;
  line-height: 2.1875;
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
.processing-base__txt--tenmincho {
  font-family: ten-mincho-text, serif;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: normal;
}
.processing-base__txt em {
  font-size: 2.8rem;
  font-style: normal;
  color: #66cccc;
}
.processing-base__img {
  width: 48rem;
}

.license {
  margin-bottom: 17rem;
  display: flex;
  justify-content: space-between;
}
.license__item {
  width: 58rem;
  display: flex;
  justify-content: space-between;
}
.license__title {
  font-family: ten-mincho-text, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.license__content {
  font-size: 1.6rem;
  background: #fff;
  width: 54rem;
  padding: 4.9rem 3.9rem;
  border: 1px solid #6cc;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.license__content--permission {
  flex-direction: column;
  justify-content: center;
}
.license-list {
  width: 22rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.license-list dt {
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.license-list dd {
  text-align: right;
  margin-bottom: 1.5rem;
}
.license__no {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
.license__permission {
  font-size: 1.6rem;
}

/* =============================================

取扱商品

============================================= */
.products {
  width: 100%;
  max-width: 128rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.products__index {
  width: 20rem;
  position: sticky;
  top: 17rem;
}
.products__index.fixed {
  position: fixed;
  top: 170px;
}
.products__detail {
  width: 96rem;
  margin-left: auto;
}
.products-list {
  font-size: 1.7rem;
  font-weight: 500;
}
.products-list__item {
  margin-bottom: 1.5rem;
}
.products-list__item:last-child {
  margin-bottom: 0;
}
.products-list__item a {
  transition: opacity 0.5s;
}
.products-list__item a:hover {
  opacity: 0.5;
}
.products-list__item--current a {
  color: #6cc;
  padding-left: 2rem;
  position: relative;
}
.products-list__item--current a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.5rem 0.7rem;
  border-color: transparent transparent #66cccc transparent;
  position: absolute;
  transition: border-color 0.4s;
  top: 1rem;
  left: 0;
}
.products-group {
  padding-bottom: 18rem;
  display: flex;
  justify-content: space-between;
}
.products-group:last-of-type {
  padding-bottom: 0;
}
.products-group__title {
  font-family: ten-mincho-text, serif;
  font-feature-settings: "palt";
  font-size: 4.6rem;
  font-weight: 400;
  width: 4.6rem;
}
.products-group__inner {
  width: 84rem;
}
.products-group__img {
  margin-bottom: 6rem;
}
.products-group__menu {
  font-size: 1.6rem;
  line-height: 2.1875;
  margin-bottom: 4rem;
}
.products-group__head {
  font-size: 2rem;
  font-weight: 700;
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin-bottom: 2rem;
  border-left: 2px solid #6cc;
}
.products-use {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 6rem;
  display: flex;
}
.products-use__item {
  width: 18rem;
  margin-right: 4rem;
}
.products-use__item img {
  margin-bottom: 1rem;
}
.products-use__item:last-child {
  margin-right: 0;
}
.products-maker {
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight: 500;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
}
.products-maker__item {
  width: 32.1428571429%;
  height: 6rem;
  margin: 0% 1.7857142857% 1.7857142857% 0%;
}
.products-maker__item:nth-child(3n) {
  margin-right: 0;
}
.products-maker__link {
  color: #fff;
  background: #6cc;
  border-radius: 3px;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s;
}
.products-maker__link::before {
  content: "";
  background: linear-gradient(120deg, rgba(0, 0, 0, 0) 0%, rgba(4, 4, 4, 0.39) 38.99%, rgba(17, 17, 17, 0.79) 79.31%, rgb(26, 26, 26) 100%);
  width: 100%;
  height: 100%;
  border-radius: 3px;
  mix-blend-mode: overlay;
  position: absolute;
  top: 0;
  left: 0;
}
.products-maker__link:hover {
  opacity: 0.5;
}

.features-point {
  display: flex;
  justify-content: space-between;
}
.features-point__item {
  width: 36rem;
  display: flex;
  flex-direction: column;
}
.features-point__heading {
  font-family: "Neuton", serif;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  margin-bottom: 3.5rem;
  position: relative;
  overflow-x: clip;
}
.features-point__heading span {
  display: inline-block;
  padding-left: 2.5rem;
  position: relative;
  z-index: 1;
}
.features-point__heading span::before {
  content: "";
  background: #66cccc;
  width: 1.6rem;
  height: 1rem;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.features-point__heading span::after {
  content: "";
  background: #b7b9b9;
  width: 100vw;
  max-width: 50rem;
  height: 1px;
  position: absolute;
  left: calc(100% + 1em);
  bottom: 0.2rem;
}
.features-point-detail__heading {
  margin-bottom: 2rem;
}
.features-point-detail__txt {
  font-size: 1.6rem;
  line-height: 1.875;
  text-align: justify;
  margin-bottom: 3rem;
}
.features-point__img {
  margin-top: auto;
}

/* =============================================

リサイクル

============================================= */
.recycle-group {
  margin-bottom: 20rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.recycle-group:last-of-type {
  margin-bottom: 0;
}
.recycle-system {
  width: 110rem;
  margin-top: -5rem;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.recycle-system__img {
  width: 60rem;
}
.recycle-system__inner {
  width: 44rem;
}
.recycle-system-detail {
  margin-bottom: 4.5rem;
}
.recycle-system-detail__head {
  font-size: 2.1rem;
  line-height: 1.6666666667;
  font-weight: 700;
  margin-bottom: 4rem;
}
.recycle-system-detail__txt {
  font-size: 1.6rem;
  line-height: 2.1875;
}
.recycle-system-cert {
  font-size: 1.7rem;
  font-weight: 700;
  text-align: center;
  width: 42rem;
  display: flex;
  justify-content: space-between;
}
.recycle-system-cert__item {
  width: 20.5rem;
  height: 5rem;
  border: 1px solid #000;
  border-radius: 0.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recycle-system-cert__item:last-child {
  margin-bottom: 0;
}
.recycle-products {
  width: 90rem;
  display: flex;
  justify-content: space-between;
}
.recycle-products__item {
  width: 42rem;
}
.recycle-products__img {
  margin-bottom: 2.5rem;
}
.recycle-products__name {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.8rem 1rem;
  border-left: 2px solid #6cc;
}

/* =============================================

物流事業

============================================= */
.logistics-group {
  margin-bottom: 20rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.logistics-group:last-of-type {
  margin-bottom: 0;
}
.logistics-points {
  width: 90rem;
  display: flex;
  justify-content: space-between;
}
.logistics-points__item {
  width: 42rem;
}
.logistics-points__img {
  margin-bottom: 2.5rem;
}
.logistics-points__name {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.8rem 1rem;
  border-left: 2px solid #6cc;
}
.logistics-points__small {
  font-size: 1.4rem;
  font-weight: 400;
  display: inline-block;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 750px) {
  /* =============================================

  事業内容

  ============================================= */
  .business {
    padding: 8rem 0 17rem;
  }
  .business__intro {
    font-size: 2.8rem;
    line-height: 2.1428571429;
    text-align: left;
    margin-bottom: 15rem;
  }
  /* =============================================

  総合商社事業

  ============================================= */
  .lineup {
    display: block;
  }
  .lineup__item {
    width: 100%;
  }
  .lineup-door__txt {
    font-size: 4.6rem;
  }
  .lineup-list {
    font-size: 2.6rem;
    margin-bottom: 6rem;
  }
  .lineup-list__item {
    width: 31rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    border: 0.2rem solid #6cc;
  }
  .lineup-list__item:nth-child(3n) {
    margin-right: 1rem;
  }
  .lineup-list__item:nth-child(even) {
    margin-right: 0;
  }
  .lineup-list__link {
    height: 10rem;
    padding: 0 3rem 0 6rem;
  }
  .lineup-list__name::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 0.8rem 1.2rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 0.7rem;
    left: -3rem;
  }
  .lineup-list__blur {
    left: 0 !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
  }
  .lineup-list__link:hover .lineup-list__blur {
    width: 300%;
    height: 1600%;
  }
  .network {
    display: block;
  }
  .network__body {
    width: 100%;
    margin-bottom: 6rem;
  }
  .network__txt {
    font-size: 2.6rem;
    margin-top: -2rem;
    margin-bottom: 6rem;
  }
  .network__img {
    width: 69rem;
    margin-right: -3rem;
    margin-bottom: 11rem;
    margin-left: -3rem;
  }
  .network-list {
    width: 61rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    display: flex;
    justify-content: space-between;
  }
  .network-list__item {
    width: 28rem;
  }
  .network-list__head {
    font-family: ten-mincho-text, serif;
    font-size: 2.6rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    border-bottom: 0.2rem solid #000;
  }
  .network-list__small {
    font-size: 2.2rem;
  }
  .network-list-txt {
    font-size: 2.6rem;
  }
  .network-list-txt__item {
    padding-left: 3rem;
    margin-bottom: 2rem;
    position: relative;
  }
  .network-list-txt__item:last-child {
    margin-bottom: 0;
  }
  .network-list-txt__item::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1rem 1.4rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 0.8rem;
    left: 0;
  }
  .network-btn {
    font-size: 2.6rem;
    width: 31rem;
    border: 0.2rem solid #6cc;
    position: relative;
  }
  .network-btn__link {
    height: 10rem;
    padding: 0 3rem 0 6rem;
  }
  .network-btn__name::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 0.8rem 1.2rem;
    border-color: transparent transparent #66cccc transparent;
    position: absolute;
    transition: border-color 0.4s;
    top: 0.7rem;
    left: -3rem;
  }
  .network-btn__blur {
    left: 0 !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
  }
  .network-btn__link:hover .network-btn__blur {
    width: 300%;
    height: 1600%;
  }
  /* =============================================

  工事・加工支援事業

  ============================================= */
  .construction {
    margin-bottom: 15rem;
    display: block;
  }
  .construction__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7rem;
  }
  .construction__item:last-child {
    margin-bottom: 0;
  }
  .construction__img {
    margin-bottom: 2rem;
  }
  .construction-detail {
    padding-left: 3.8rem;
  }
  .construction-detail::before {
    width: 0.8rem;
  }
  .construction-detail__head {
    font-size: 3.2rem;
    padding-top: 1.5rem;
    margin-bottom: 3rem;
  }
  .construction-detail__body {
    font-size: 2.6rem;
  }
  .processing {
    display: block;
  }
  .processing__item {
    width: 100%;
  }
  .processing__item::before {
    width: 0.8rem;
  }
  .processing__img {
    width: 25rem;
  }
  .processing__img img {
    width: 100%;
    height: 100%;
    min-height: 30rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .processing-detail {
    width: calc(100% - 25rem);
    padding: 4rem;
  }
  .processing-detail__head {
    font-size: 3.2rem;
  }
  .processing-detail__body {
    font-size: 2.6rem;
  }
  .processing-img {
    margin-bottom: 11rem;
    display: block;
  }
  .processing-img__item {
    width: 100%;
    margin-bottom: 1rem;
  }
  .processing-img__item:last-child {
    margin-bottom: 0;
  }
  .processing-base {
    background: url("../img/business/construction/img-processing-base-sp.jpg") no-repeat center center/cover;
    height: 80rem;
    padding-top: 8rem;
    margin-bottom: 11rem;
  }
  .processing-base__body {
    width: 61rem;
  }
  .processing-base__txt {
    font-size: 2.6rem;
    margin-bottom: 2rem;
  }
  .processing-base__txt--tenmincho {
    font-size: 2.8rem;
    line-height: 1.7;
  }
  .processing-base__txt em {
    font-size: 4.4rem;
  }
  .processing-base__img {
    margin-top: 3rem;
    margin-right: auto;
    margin-left: auto;
  }
  .license {
    margin-bottom: 14rem;
    display: block;
  }
  .license__item {
    width: 61rem;
    margin-bottom: 6rem;
  }
  .license__item:last-child {
    margin-bottom: 0;
  }
  .license__title {
    font-size: 4rem;
  }
  .license__content {
    font-size: 2.6rem;
    width: 54rem;
    padding: 7rem 8rem;
    display: block;
  }
  .license-list {
    width: 100%;
  }
  .license-list dt {
    margin-bottom: 1.5rem;
  }
  .license-list dd {
    margin-bottom: 1.5rem;
  }
  .license__no {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    margin-bottom: 1.5rem;
  }
  .license__permission {
    font-size: 2.6rem;
    line-height: 1.9230769231;
  }
  /* =============================================

  取扱商品

  ============================================= */
  .products {
    display: block;
  }
  .products__index {
    display: none;
  }
  .products__detail {
    width: 100%;
  }
  .products-group {
    display: block;
    position: relative;
  }
  .products-group__title {
    font-size: 4.4rem;
    color: #fff;
    letter-spacing: 0.12em;
    writing-mode: horizontal-tb;
    width: 100%;
    height: 31.2rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .products-group__inner {
    width: 100%;
  }
  .products-group__img {
    width: 75rem;
    margin-right: -6rem;
    margin-left: -6rem;
    position: relative;
  }
  .products-group__img::before {
    content: "";
    background: #000;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .products-group__menu {
    font-size: 2.6rem;
    line-height: 1.9230769231;
    margin-bottom: 5rem;
  }
  .products-group__head {
    font-size: 3.2rem;
    padding: 0.6rem 0 0.6rem 3rem;
    margin-bottom: 4rem;
    border-left: 0.4em solid #6cc;
  }
  .products-use {
    font-size: 2.6rem;
    line-height: 1.3076923077;
    margin-bottom: 6rem;
  }
  .products-use__item {
    width: 20rem;
    margin-right: 1.5rem;
  }
  .products-use__item img {
    width: 20rem;
    height: 18rem;
    margin-bottom: 1.5rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .products-use__item:last-child {
    margin-right: 0;
  }
  .products-maker {
    font-size: 2.6rem;
    letter-spacing: -0.03em;
    justify-content: space-between;
  }
  .products-maker__item {
    width: 30rem;
    height: 10rem;
    margin: 0 0 2rem;
  }
  .products-maker__item:last-child {
    margin-bottom: 0;
  }
  .products-maker__link {
    border-radius: 0.6rem;
  }
  .products-maker__link::before {
    border-radius: 0.6rem;
  }
  .features-point {
    display: block;
  }
  .features-point__item {
    width: 100%;
    margin-bottom: 10rem;
  }
  .features-point__item:last-of-type {
    margin-bottom: 0;
  }
  .features-point__heading {
    font-size: 2.4rem;
    margin-bottom: 5rem;
  }
  .features-point__heading span {
    padding-left: 5rem;
  }
  .features-point__heading span::before {
    width: 3rem;
    height: 2rem;
    top: 0.3rem;
  }
  .features-point__heading span::after {
    bottom: 0.6rem;
  }
  .features-point-detail__heading {
    width: 58rem;
    margin-bottom: 3rem;
  }
  .features-point-detail__txt {
    font-size: 2.6rem;
    margin-bottom: 5rem;
  }
  .recycle-group {
    margin-bottom: 16rem;
    display: block;
  }
  .recycle-system {
    width: 100%;
    margin-top: 0;
    display: block;
  }
  .recycle-system__img {
    width: 69rem;
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .recycle-system__inner {
    width: 100%;
    margin-bottom: 11rem;
  }
  .recycle-system-detail {
    margin-bottom: 4.5rem;
  }
  .recycle-system-detail__head {
    font-size: 3.4rem;
    line-height: 1.7647058824;
  }
  .recycle-system-detail__txt {
    font-size: 2.6rem;
    line-height: 1.9230769231;
  }
  .recycle-system-cert {
    font-size: 2.8rem;
    width: auto;
  }
  .recycle-system-cert__item {
    width: 30rem;
    height: 9rem;
    margin-bottom: 0;
    border: 0.2rem solid #000;
    border-radius: 0.6rem;
  }
  .recycle-products {
    width: 100%;
    display: block;
  }
  .recycle-products__item {
    width: 100%;
    margin-bottom: 8rem;
  }
  .recycle-products__item:last-of-type {
    margin-bottom: 0;
  }
  .recycle-products__img {
    margin-bottom: 2rem;
  }
  .recycle-products__name {
    font-size: 2.6rem;
    padding: 1.2rem 2rem;
    border-left: 0.4rem solid #6cc;
  }
  /* =============================================

  物流事業

  ============================================= */
  .logistics-group {
    margin-bottom: 20rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .logistics-group:last-of-type {
    margin-bottom: 0;
  }
  .logistics-points {
    width: 100%;
    display: block;
  }
  .logistics-points__item {
    width: 100%;
    margin-bottom: 8rem;
  }
  .logistics-points__item:last-of-type {
    margin-bottom: 0;
  }
  .logistics-points__img {
    margin-bottom: 2rem;
  }
  .logistics-points__name {
    font-size: 2.6rem;
    padding: 1.2rem 2rem;
    border-left: 0.4rem solid #6cc;
  }
  .logistics-points__small {
    font-size: 2.2rem;
  }
}/*# sourceMappingURL=style.css.map */