@charset "UTF-8";
/* コンテンツ最大幅 */
/* color */
/* ============================================ */
/* font-size */
/* ============================================ */
/* font-family */
/* ============================================ */
/* safety */
/* ============================================ */
.safety-outer {
  position: relative;
}
.safety-outer::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/common/bg_water.jpg") top center/100% auto repeat-y;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 30%);
}

.safety-main {
  padding: 100px 0 150px;
  line-height: 1.8;
}
@media all and (max-width: 896px) {
  .safety-main {
    padding: 48px 0 80px;
  }
}
.safety-main__catch {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
  font-weight: 500;
  line-height: 2;
}
.safety-main__list {
  font-size: clamp(1.5rem, 1.2947rem + 0.8421vw, 2rem);
  font-weight: 500;
}
.safety-main__list__item {
  position: relative;
  margin-top: 80px;
}
@media all and (max-width: 896px) {
  .safety-main__list__item {
    margin-top: 48px;
  }
}
.safety-main__ttl {
  font-size: clamp(1.5rem, 1.2947rem + 0.8421vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 40px;
}
@media all and (max-width: 896px) {
  .safety-main__ttl {
    margin-bottom: 20px;
  }
}
.safety-main__txt {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
}
.safety-main__detail {
  font-size: clamp(1.125rem, 1.0224rem + 0.4211vw, 1.375rem);
  counter-reset: item;
  list-style-type: none;
  margin-top: 20px;
}
.safety-main__detail__item {
  padding-left: 2em;
  position: relative;
  margin-top: 48px;
}
@media all and (max-width: 896px) {
  .safety-main__detail__item {
    margin-top: 20px;
  }
}
.safety-main__detail__item:first-of-type {
  margin-top: 0;
}
.safety-main__detail__item::before {
  counter-increment: item;
  content: "（" counter(item) "）";
  font-weight: 700;
  position: absolute;
  top: 0;
  left: -0.4em;
}
.safety-main__detail__ttl {
  font-weight: 700;
  margin-bottom: 20px;
}
@media all and (max-width: 896px) {
  .safety-main__detail__ttl {
    margin-bottom: 12px;
  }
}
.safety-main__detail__txt {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
}
.safety-main__detail__list {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
  margin-top: 8px;
}
@media all and (max-width: 896px) {
  .safety-main__detail__list {
    margin-top: 4px;
  }
}
.safety-main__detail__list.--hor {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}
.safety-main__detail__list > li {
  padding-left: 1.1em;
  position: relative;
  margin-top: 4px;
}
.safety-main__detail__list > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.safety-main__second {
  font-size: clamp(1.125rem, 0.9711rem + 0.6316vw, 1.5rem);
  margin-top: 20px;
  padding-left: 1.1em;
  position: relative;
}
@media all and (max-width: 896px) {
  .safety-main__second {
    margin-top: 12px;
  }
}
.safety-main__second::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  border: 1px solid #2F2F2F;
  border-radius: 50%;
  position: absolute;
  top: 0.6em;
  left: 0;
}
.safety-main__second__ttl {
  font-size: clamp(1.125rem, 0.9711rem + 0.6316vw, 1.5rem);
  font-weight: 700;
}
.safety-main__second__list {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
  margin-top: 8px;
}
@media all and (max-width: 896px) {
  .safety-main__second__list {
    margin-top: 4px;
  }
}
.safety-main__second__list > div {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4px;
}
.safety-main__second__list dt {
  flex-shrink: 0;
  width: 10em;
}
.safety-main__flex {
  font-size: clamp(1.0625rem, 0.9855rem + 0.3158vw, 1.25rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 3%;
}
@media all and (max-width: 480px) {
  .safety-main__flex {
    grid-template-columns: repeat(1, 1fr);
  }
}
.safety-main__flex__img {
  text-align: center;
}
.safety-main__flex__img figcaption {
  margin-top: 8px;
}
.safety-main__flex__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 507/313;
}
.safety-main__note {
  font-size: clamp(1rem, 0.9487rem + 0.2105vw, 1.125rem);
}
.safety-main__note > li {
  padding-left: 1.1em;
  position: relative;
}
.safety-main__note > li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}