@charset "UTF-8";
.instrument {
  font-family: "Instrument Serif", serif !important;
  font-weight: 400;
  font-style: normal;
}

/* ======================================================
	▼▼▼ 会社を知る company
====================================================== */
/* ---------------------------------------
 ▼ #area01
--------------------------------------- */
#area01 {
  padding: 30px 0 50px;
}
@media screen and (min-width: 768px) {
  #area01 {
    padding: calc(30px * 1.4) 0 calc(50px * 1.4);
  }
}
#area01 .sub_ttl {
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  #area01 .sub_ttl {
    margin-bottom: calc(60px * 1.4);
  }
}
#area01 .read {
  -webkit-text-stroke: 0.6px currentColor;
  margin-bottom: 50px;
  font-size: 19px;
}
@media screen and (min-width: 768px) {
  #area01 .read {
    margin-bottom: calc(50px * 1.17);
  }
}
@media screen and (min-width: 768px) {
  #area01 .read {
    font-size: calc(19px * 1.17);
  }
}
#area01 .slideLine {
  padding-bottom: 15px;
  display: block;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  #area01 .slideLine {
    padding-bottom: calc(15px * 1.17);
  }
}
#area01 .slideLine::after {
  content: "";
  border-top: 1px solid #A82538;
  position: absolute;
  width: 0;
  left: -2px;
  bottom: 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
#area01 .slideLine span {
  display: block;
}
#area01 .slideLine span::before, #area01 .slideLine span::after {
  content: "";
  border-top: 1px solid #C1C1C1;
  position: absolute;
  bottom: 0;
}
#area01 .slideLine span::before {
  width: 100%;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  right: 0;
}
#area01 .slideLine span::after {
  border-color: #707070;
  left: 100%;
}
#area01 .slideLine.active span::before {
  width: 100%;
  -webkit-animation: slideLine 0.5s 0.5s forwards;
          animation: slideLine 0.5s 0.5s forwards;
}
#area01 .slideLine.active span::after {
  border-color: #A82538;
  width: 24px;
  -webkit-animation: slideLineSM 0.8s 0.5s forwards;
          animation: slideLineSM 0.8s 0.5s forwards;
}

.loop_slider {
  margin-left: -45px;
  margin-right: -45px;
  width: calc(100% + 90px);
  margin-bottom: 50px;
}
.loop_slider.slick-initialized {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .loop_slider {
    margin-bottom: calc(50px * 1.4);
  }
}
@media screen and (min-width: 768px) {
  .loop_slider {
    margin-left: -72px;
    margin-right: -72px;
    width: calc(100% + 144px);
  }
}
@media screen and (max-width: 767px) {
  .loop_slider {
    max-height: 88.8vw;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.loop_slider .slick-slide {
  margin: 0 5px;
}
@media screen and (min-width: 768px) {
  .loop_slider .slick-slide {
    margin: 0 10px;
  }
}
.loop_slider .slick-slide img {
  display: block;
}

/* ---------------------------------------
 ▼ #area02
--------------------------------------- */
#area02 {
  background: url(../img/footer_bg.jpg) no-repeat center top/cover;
  overflow: hidden;
  padding: 40px 0 80px;
}
@media screen and (min-width: 768px) {
  #area02 {
    padding: calc(40px * 1.4) 0 calc(80px * 1.4);
  }
}
#area02 .sub_ttl {
  margin-bottom: 38px;
}
@media screen and (min-width: 768px) {
  #area02 .sub_ttl {
    margin-bottom: calc(38px * 1.4);
  }
}
#area02 table {
  position: relative;
}
#area02 table::after {
  content: "";
  background: #fff;
  width: 100%;
  height: 300px;
  position: absolute;
  top: 100%;
  left: 0;
}
#area02 table tr:nth-of-type(odd) th, #area02 table tr:nth-of-type(odd) td {
  background: #fff;
}
#area02 table th, #area02 table td {
  padding: 22px 0;
}
#area02 table th {
  width: calc(4em + 45px);
  padding-left: 45px;
  -webkit-text-stroke: 0.4px currentColor;
}
#area02 table td {
  padding-left: 39px;
  padding-right: 45px;
}
@media screen and (min-width: 768px) {
  #area02 table th, #area02 table td {
    padding: 30px 0;
  }
  #area02 table th {
    width: calc(4em + 72px);
    padding-left: 72px;
  }
  #area02 table td {
    padding-left: 39px;
    padding-right: 72px;
  }
}