@charset "UTF-8";
/* ------------------------------------------------------
*	scrollTest.jsとともに使用
* ------------------------------------------------------ */
/* ------------------------------------------------------

    MAIN VISUAL

------------------------------------------------------ */
.com {
  position: relative;
  background: linear-gradient(#fff 330px, #fff 355px) 0 0/100% 380px repeat-x, url(../../../images/company/bg-pattern.png) 50% 0/65px 65px;
}
.com .page-hero {
  background: url(../../../images/company/hero.jpg) 50% 50%/cover no-repeat;
}
.com .page-hero::before {
  content: "COMPANY";
}
.com .page-anchor {
  margin-top: -20px;
}
@media screen and (max-width: 767px) {
  .com .page-anchor {
    margin-top: 0;
  }
}

/* ------------------------------------------------------

    各セクション

------------------------------------------------------ */
.com-sec .inner {
  position: relative;
  padding-top: 100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .com-sec .inner {
    padding-top: 50px;
    padding-bottom: 0;
  }
}
.com-sec__deco {
  margin-bottom: 0.25em;
  font-family: var(--f-balow);
  font-size: clamp( 3.7rem, 3.7rem + ((1vw - 0.768rem) * 7.6388888889), 7rem);
  font-weight: 600;
  line-height: 0.975;
  color: #9ca2a8;
}
.com-sec__deco::before {
  display: block;
  content: "";
  width: 0;
  height: 0;
  margin-top: calc((0.8 - 0.975) * 0.5em);
}
.com-sec__deco::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  margin-bottom: calc((0.8 - 0.975) * 0.5em);
}
.com-sec__title {
  position: relative;
}
.com-sec__title::after {
  position: absolute;
  display: block;
  content: "";
  width: calc(100% + (100vw - 100%) / 2);
  bottom: 0;
  border-bottom: 1px solid var(--c-1st);
}
.com-sec__title span {
  display: inline-block;
  padding-bottom: 0.7em;
  border-bottom: 4px solid var(--c-1st);
  font-weight: 600;
}

.com-sec:not([data-status=show]) .inner {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.com-sec[data-status=show] .inner {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
}

/* ------------------------------------------------------

    COMPANY POLICY

------------------------------------------------------ */
.com-sec1__layout,
.com-sec3__layout {
  display: grid;
  grid-template-columns: 420fr 640fr;
  gap: 0 clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .com-sec1__layout,
.com-sec3__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.com-sec1__layout div:nth-child(1),
.com-sec3__layout div:nth-child(1) {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .com-sec1__layout div:nth-child(1),
.com-sec3__layout div:nth-child(1) {
    justify-self: start;
  }
}
.com-sec1__layout div:nth-child(1) .com-sec__title::after,
.com-sec3__layout div:nth-child(1) .com-sec__title::after {
  right: 0;
}
.com-sec1__layout div:nth-child(2),
.com-sec3__layout div:nth-child(2) {
  font-size: 1.4rem;
  text-align: justify;
  line-height: 1.928;
}
.com-sec1__layout div:nth-child(2) p:not(:last-child),
.com-sec3__layout div:nth-child(2) p:not(:last-child) {
  margin-bottom: 2em;
}

.com-sec1__layout div:nth-child(2) p {
  font-size: clamp( 1.8rem, 1.8rem + ((1vw - 0.768rem) * 2.3148148148), 2.8rem);
  font-weight: 600;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .com-sec1__layout div:nth-child(2) p {
    font-size: 1.6rem;
  }
}

.com-sec2__layout {
  display: grid;
  grid-template-columns: 640fr 420fr;
  gap: 0 clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .com-sec2__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.com-sec2__layout div:nth-child(1) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .com-sec2__layout div:nth-child(1) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    justify-self: end;
  }
}
.com-sec2__layout div:nth-child(1) .com-sec__title::after {
  left: 0;
}
.com-sec2__layout div:nth-child(2) {
  font-size: 1.4rem;
  text-align: justify;
  line-height: 1.928;
}
.com-sec2__layout div:nth-child(2) h3 {
  margin-bottom: 1em;
  font-size: 107.1428571429%;
  font-weight: 600;
}
.com-sec2__layout div:nth-child(2) ol {
  counter-reset: number;
}
.com-sec2__layout div:nth-child(2) ol li {
  counter-increment: number;
  text-indent: -1em;
  padding-left: 1em;
}
.com-sec2__layout div:nth-child(2) ol li::before {
  content: counter(number) "";
  display: inline-block;
  width: 1em;
  font-weight: 600;
  color: var(--c-1st);
  text-indent: 0;
}
.com-sec2__layout div:nth-child(2) ol li p {
  text-indent: 0;
}
.com-sec2__layout div:nth-child(2) ol strong {
  font-weight: 600;
  color: var(--c-1st);
}

/* ------------------------------------------------------
    CORPORATE
    PROFILE
------------------------------------------------------ */
.com-sec4 {
  background: url(../../../images/company/map-w.png) 50% 0/contain no-repeat;
}
.com-sec4__layout {
  display: grid;
  grid-template-columns: 640fr 420fr;
  gap: 0 clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .com-sec4__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.com-sec4__layout div {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .com-sec4__layout div {
    justify-self: end;
  }
}
.com-sec4__layout div .com-sec__title::after {
  left: 0;
}
.com-sec4__layout > dl {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  display: grid;
  grid-template-columns: minmax(7rem, 14rem) 1fr;
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .com-sec4__layout > dl {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.com-sec4__layout > dl > dt, .com-sec4__layout > dl > dd {
  border-bottom: 1px solid #ccc;
}
.com-sec4__layout > dl > dt {
  padding: 1em 0;
  font-weight: 600;
  color: var(--c-1st);
}
.com-sec4__layout > dl > dd {
  padding: 1em 0;
}
.com-sec4__layout > dl > dd li {
  padding-left: 1em;
  text-indent: -1em;
}
.com-sec4__layout > dl > dd li::before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-align: center;
  text-indent: 0;
}
.com-sec4__layout > dl > dd dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
}

/* ------------------------------------------------------
    BUSINESS
    LOCATION
------------------------------------------------------ */
.com-sec5__layout {
  display: grid;
  grid-template-columns: 420fr 640fr;
  gap: 0 clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .com-sec5__layout {
    grid-template-columns: 1fr;
    margin-bottom: 20px;
  }
}
.com-sec5__layout div:nth-child(1) {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .com-sec5__layout div:nth-child(1) {
    justify-self: start;
  }
}
.com-sec5__layout div:nth-child(1) .com-sec__title::after {
  right: 0;
}
.com-sec5 figure {
  margin-top: -10%;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .com-sec5 figure {
    margin-top: 0;
  }
}

.com-maps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 991px) {
  .com-maps {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.com-maps li {
  padding: 20px;
  border: 1px solid var(--c-1st);
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 991px) {
  .com-maps li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .com-maps li {
    grid-template-columns: 1fr;
  }
}
.com-maps li div p:nth-child(1) {
  margin-bottom: 1em;
  font-weight: 600;
  line-height: 1;
  color: var(--c-1st);
}
.com-maps li div p:nth-child(2) {
  margin-bottom: 1em;
  font-size: 1.4rem;
  line-height: 2;
}
.com-maps li iframe {
  width: 100%;
  height: 160px;
}

/* ------------------------------------------------------
    ORGANIZATIONAL
    CHART
------------------------------------------------------ */
.com-sec6 {
  position: relative;
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .com-sec6 {
    padding-bottom: 100px;
  }
}
.com-sec6 .com-sec__title {
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .com-sec6 .com-sec__title {
    margin-bottom: 20px;
  }
}
.com-sec6::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 550px;
  background: url(../../../images/company/bg-town.jpg) 50% 100%/cover no-repeat;
  z-index: -1;
}
.com-sec6__layout {
  display: grid;
  grid-template-columns: 290fr 770fr;
  grid-template-columns: 520fr 580fr;
  gap: 0 clamp(50px, 8.3333333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .com-sec6__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.com-sec6__layout div:nth-child(1) {
  grid-column: 2;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .com-sec6__layout div:nth-child(1) {
    grid-column: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .com-sec6__layout div:nth-child(1) {
    justify-self: end;
  }
}
.com-sec6__layout div:nth-child(1) .com-sec__title::after {
  left: 0;
}
.com-sec6__layout div:nth-child(2) {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media screen and (max-width: 767px) {
  .com-sec6__layout div:nth-child(2) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

.com-chart {
  max-width: 520px;
  margin: 0 auto;
}
/*# sourceMappingURL=style.css.map */