@charset "UTF-8";
/*************************
***       font         ***
**************************/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&family=Overpass:wght@400;800&display=swap");
.gothic {
  font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.overpass {
  font-family: "Overpass", sans-serif;
}

/********************************
*******      font-size    *******
*********************************/
/*************************
***       color        ***
**************************/
/********************************
******* page-safety *******
*********************************/
#quality,
#safety {
  padding-top: 100px;
  margin-top: -100px;
}

#page-safety .title {
  text-align: center;
}

#page-safety .title h1 {
  font-family: "Overpass", sans-serif;
  font-size: 4rem;
  color: #b6b6b6;
  word-break: break-word;
  line-height: 1;
}

#page-safety .title h3 {
  font-size: 1.6rem;
  padding: 1rem 0;
}

@media only screen and (max-width: 425px) {
  #page-safety .title h1 {
    font-size: 3rem;
  }
  #page-safety .title h3 {
    font-size: 1.2rem;
  }
}

/********************************
******* page-safety-header *******
*********************************/
#page-safety-header {
  padding: 0;
  overflow: hidden;
}

#page-safety-header .pc-only {
  width: 100%;
  height: 500px;
  margin-top: -50px;
  position: relative;
  background-color: #5078c8;
}

#page-safety-header .bg-1 {
  width: 100%;
  position: absolute;
  bottom: 0;
  z-index: 1;
}

#page-safety-header .bg-2 {
  width: 100%;
  max-width: 630px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}

#page-safety-header .bg-3 {
  width: 100%;
  bottom: 0;
  position: absolute;
  z-index: 3;
}

#page-safety-header .bg-4 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 4;
}

#page-safety-header .bg-4 .wrapper-inner {
  position: relative;
}

#page-safety-header .bg-4 .wrapper-inner img {
  width: 60%;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #page-safety-header .pc-only {
    height: 45vw;
  }
  #page-safety-header .pc-only .bg-2 {
    max-width: 55vw;
  }
}

/********************************
******* page-safety-quality *******
*********************************/
#page-safety-quality {
  background-color: #f0f0e6;
  padding-top: 1rem;
}

#page-safety-quality .feature {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  margin: 2rem 0;
  position: relative;
}

#page-safety-quality .feature .dot {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #f0f0e6;
  position: absolute;
}

#page-safety-quality .feature .dot-left-top {
  top: 15px;
  left: 15px;
}

#page-safety-quality .feature .dot-right-top {
  top: 15px;
  right: 15px;
}

#page-safety-quality .feature .dot-left-bottom {
  bottom: 15px;
  left: 15px;
}

#page-safety-quality .feature .dot-right-bottom {
  bottom: 15px;
  right: 15px;
}

#page-safety-quality .feature .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

#page-safety-quality .feature .row .box {
  width: 100%;
  padding: 1rem;
}

#page-safety-quality .feature .row .box .thum {
  padding: 1rem 0;
  margin: 0 auto;
}

#page-safety-quality .feature .row .box .description {
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  #page-safety-quality .wrapper {
    padding: 0 1rem;
  }
  #page-safety-quality .feature {
    padding: 1rem;
  }
  #page-safety-quality .feature .dot {
    width: 10px;
    height: 10px;
  }
  #page-safety-quality .feature .dot-left-top {
    top: 10px;
    left: 10px;
  }
  #page-safety-quality .feature .dot-right-top {
    top: 10px;
    right: 10px;
  }
  #page-safety-quality .feature .dot-left-bottom {
    bottom: 10px;
    left: 10px;
  }
  #page-safety-quality .feature .dot-right-bottom {
    bottom: 10px;
    right: 10px;
  }
  #page-safety-quality .feature .row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #page-safety-quality .feature .row .box {
    width: 50%;
    padding: 0.5rem;
  }
  #page-safety-quality .feature .row .box .thum {
    padding: 1rem 0;
  }
  #page-safety-quality .feature .row .box .description {
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 1.8;
  }
}

/********************************
******* page-safety-safety01 *******
*********************************/
#page-safety-safety01 {
  background-color: #ffffff;
  padding-bottom: 0;
}

#page-safety-safety01 .title h3 {
  padding-bottom: 2rem;
}

#page-safety-safety01 .summary {
  text-align: center;
}

#page-safety-safety01 .summary p {
  line-height: 2;
  font-size: 0.85rem;
  font-weight: bold;
}

@media only screen and (max-width: 1100px) {
  #page-safety-safety01 .summary {
    text-align: left;
  }
  #page-safety-safety01 .summary .pc-only {
    display: none !important;
  }
}

/********************************
******* page-safety-safety02 *******
*********************************/
#pc-wave-safety-lower {
  position: relative;
  top: 300px;
}

#page-safety-safety02 {
  position: relative;
  top: -150px;
  width: 100%;
  height: 700px;
  z-index: 10;
}

#page-safety-safety02 .map-wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}

#page-safety-safety02 .map {
  overflow: hidden;
  position: relative;
}

#page-safety-safety02 .map .sp-map {
  width: 150%;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#page-safety-safety02 .pointLink {
  position: absolute;
  display: block;
  width: 3rem;
  height: 3rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#page-safety-safety02 .pointLink01 {
  top: calc(50% - 127px);
  left: calc(50% - 201px);
}

#page-safety-safety02 .pointLink02 {
  top: calc(50% - 207px);
  left: calc(50% + 9px);
}

#page-safety-safety02 .pointLink03 {
  top: calc(50% + 62px);
  left: calc(50% - 28px);
}

#page-safety-safety02 .pointLink04 {
  top: calc(50% + 124px);
  left: calc(50% + 93px);
}

#page-safety-safety02 .pointLink05 {
  top: calc(50% - 140px);
  left: calc(50% - 41px);
}

#page-safety-safety02 .pointLink06 {
  top: calc(50% - 63px);
  left: calc(50% + 190px);
}

#page-safety-safety02 .pointLink07 {
  top: calc(50% + 214px);
  left: calc(50% - 259px);
}

#page-safety-safety02 .pointLink08 {
  top: calc(50% + 33px);
  left: calc(50% + 268px);
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  #page-safety-safety02 .pointLink {
    width: 3.3vw;
    height: 3.3vw;
  }
  #page-safety-safety02 .pointLink01 {
    top: calc(50% - 11.54vw);
    left: calc(50% - 18.27vw);
  }
  #page-safety-safety02 .pointLink02 {
    top: calc(50% - 18.81vw);
    left: calc(50% + 0.81vw);
  }
  #page-safety-safety02 .pointLink03 {
    top: calc(50% + 5.63vw);
    left: calc(50% - 2.54vw);
  }
  #page-safety-safety02 .pointLink04 {
    top: calc(50% + 11.27vw);
    left: calc(50% + 8.45vw);
  }
  #page-safety-safety02 .pointLink05 {
    top: calc(50% - 12.72vw);
    left: calc(50% - 3.72vw);
  }
  #page-safety-safety02 .pointLink06 {
    top: calc(50% - 5.72vw);
    left: calc(50% + 17.27vw);
  }
  #page-safety-safety02 .pointLink07 {
    top: calc(50% + 19.45vw);
    left: calc(50% - 23.54vw);
  }
  #page-safety-safety02 .pointLink08 {
    top: calc(50% + 3vw);
    left: calc(50% + 24.36vw);
  }
}

@media only screen and (max-width: 767px) {
  #pc-wave-safety-lower {
    top: 31vw;
  }
  #page-safety-safety02 {
    top: 0;
    height: 100vw;
  }
  #page-safety-safety02 .sp-map {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 150%;
  }
  #page-safety-safety02 .pointLink {
    width: 5vw;
    height: 5vw;
  }
  #page-safety-safety02 .pointLink01 {
    top: calc(50% - 18.7vw);
    left: calc(50% - 29.2vw);
  }
  #page-safety-safety02 .pointLink02 {
    top: calc(50% - 30.4vw);
    left: calc(50% + 1.3vw);
  }
  #page-safety-safety02 .pointLink03 {
    top: calc(50% + 9.1vw);
    left: calc(50% - 4vw);
  }
  #page-safety-safety02 .pointLink04 {
    top: calc(50% + 18.2vw);
    left: calc(50% + 13.7vw);
  }
  #page-safety-safety02 .pointLink05 {
    top: calc(50% - 20.6vw);
    left: calc(50% - 6.1vw);
  }
  #page-safety-safety02 .pointLink06 {
    top: calc(50% - 9.2vw);
    left: calc(50% + 28vw);
  }
  #page-safety-safety02 .pointLink07 {
    top: calc(50% + 31.3vw);
    left: calc(50% - 37.8vw);
  }
  #page-safety-safety02 .pointLink08 {
    top: calc(50% + 4.9vw);
    left: calc(50% + 39.3vw);
  }
}

/********************************
******* page-safety-safety03 *******
*********************************/
#page-safety-safety03 {
  background-color: #cae3ff;
  margin-top: -400px;
  padding-top: 200px;
  padding-bottom: 4rem;
}

#page-safety-safety03 .safetyPoint .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#page-safety-safety03 .safetyPoint .row .card {
  width: calc(100% / 3);
  padding: 0 2rem;
  margin: 2rem 0;
  border-right: 2px solid #ffffff;
}

#page-safety-safety03 .safetyPoint .row .card:nth-of-type(3n) {
  border-right: none;
}

#page-safety-safety03 .safetyPoint .row .card .pointLinkTarget {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

#page-safety-safety03 .safetyPoint .row .card .pc-thum img {
  padding-right: 40px;
}

#page-safety-safety03 .safetyPoint .row .card .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 1rem 0;
  min-height: 6rem;
  font-size: 0.95rem;
  font-weight: bold;
}

#page-safety-safety03 .safetyPoint .row .card .description {
  font-size: 0.8rem;
  line-height: 2;
  font-weight: bold;
}

#page-safety-safety03 .banner {
  margin: 2rem 0;
}

#page-safety-safety03 .banner .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 4rem;
}

#page-safety-safety03 .banner .row .box {
  width: 100%;
  background-color: #ffffff;
  padding: 1rem;
  text-align: center;
  border-radius: 10px;
}

#page-safety-safety03 .banner .row .box .logo {
  padding: 2rem 0;
}

#page-safety-safety03 .banner .row .box .logo img {
  width: 200px;
  margin: 0 auto;
}

#page-safety-safety03 .banner .row .box .description {
  font-size: 0.85rem;
  font-weight: bold;
}

#page-safety-safety03 .banner .row .box .btn-red {
  font-size: 0.85rem;
}

@media only screen and (max-width: 767px) {
  #page-safety-safety03 {
    margin-top: -69vw;
    padding-top: 65vw;
  }
  #page-safety-safety03 .safetyPoint .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #page-safety-safety03 .safetyPoint .row .card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    padding: 2rem 0;
    margin: 0;
    border-right: none;
    border-bottom: 2px solid #ffffff;
  }
  #page-safety-safety03 .safetyPoint .row .card .sp-thum {
    width: 30%;
  }
  #page-safety-safety03 .safetyPoint .row .card .title {
    width: 70%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left;
    padding: 0 1rem;
  }
  #page-safety-safety03 .safetyPoint .row .card .description {
    margin-top: 1rem;
  }
  #page-safety-safety03 .banner {
    margin: 4rem 0;
  }
  #page-safety-safety03 .banner .row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
  }
  #page-safety-safety03 .banner .row .box .logo {
    padding: 1rem 0;
  }
  #page-safety-safety03 .banner .row .box .logo img {
    width: 150px;
  }
  #page-safety-safety03 .banner .row .box .description {
    font-size: 0.75rem;
  }
  #page-safety-safety03 .banner .row .box .btn-red {
    left: 0;
    -webkit-transform: none;
            transform: none;
    margin: 1rem 0;
  }
}
/*# sourceMappingURL=page-safety.css.map */