@charset "UTF-8";
/* _head.ejs の common.theme がgothicの際はこちらのフォントを使用 */
/* _head.ejs の common.theme がminchoの際はこちらのフォントを使用 */
/* カラー */
.attemptBox {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #bfbaba;
  background-color: rgba(186, 188, 191, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .attemptBox {
    margin-top: 20px;
    padding: 66px 157px;
  }
}

@media screen and (max-width: 768px) {
  .attemptBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    padding: 30px 20px;
  }
}

.attemptBox__cont {
  letter-spacing: .06em;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .attemptBox__cont {
    font-size: 14px;
    width: 415px;
  }
}

@media screen and (max-width: 768px) {
  .attemptBox__cont {
    font-size: calc(12 / 390* 100vw);
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__col {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__col + .brancheraMerit__col {
    margin-top: calc(50 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__col .heading {
    height: 106px;
    padding-top: 23px;
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__col .heading--small {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__col .heading--small {
    font-size: calc(14 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__col .heading .small {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__col .heading .small {
    font-size: calc(10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__col .heading + .brancheraMerit__list {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__col .heading + .brancheraMerit__list {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.brancheraMerit__col--blue .meritList__ttl {
  background-color: #6f9bb0;
}

.brancheraMerit__col--red .meritList__ttl {
  background-color: #bd8a95;
}

.brancheraMerit__col--orange .meritList__ttl {
  background-color: #c59a58;
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__item + .brancheraMerit__item {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__item + .brancheraMerit__item {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.brancheraMerit__item .meritList__ttl {
  color: #ffffff;
  width: 100%;
  line-height: 1.5;
}

.brancheraMerit__item .meritList__ttl:before {
  margin-top: calc((1 - 1.5) * 1em);
}

.brancheraMerit__item .meritList__ttl:after {
  margin-bottom: calc((1 - 1.5) * .6em);
}

.brancheraMerit__item .meritList__ttl:before, .brancheraMerit__item .meritList__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__item .meritList__ttl {
    font-size: 12px;
    padding: 10px 17px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__item .meritList__ttl {
    font-size: calc( 12 / 390 * 100vw);
    padding: calc(10 / 390 * 100vw) calc(17 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__item .meritList__ttl + .meritList__item {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__item .meritList__ttl + .meritList__item {
    margin-top: calc(10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__item .meritList__item {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__item .meritList__item {
    font-size: calc( 12 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit__item .meritList__item + .meritList__item {
    margin-top: 8px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit__item .meritList__item + .meritList__item {
    margin-top: calc(8 / 390 * 100vw);
  }
}

.equipmentCard__head .photo__image {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__head + .equipmentCard__cont {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__head + .equipmentCard__cont {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__head .touchFigure {
    height: calc(280 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__head .touchFigure__spIcon {
    background-color: rgba(0, 0, 0, 0.5);
    height: calc(40 / 390 * 100vw);
    top: calc(0 / 390 * 100vw);
    width: calc(40 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__cont .heading {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__cont .heading {
    font-size: calc( 13 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__cont .heading + .txt {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__cont .heading + .txt {
    margin-top: 20px;
  }
}

.equipmentCard__cont .txt {
  line-height: 1.75;
}

.equipmentCard__cont .txt:before {
  margin-top: calc((1 - 1.75) * 1em);
}

.equipmentCard__cont .txt:after {
  margin-bottom: calc((1 - 1.75) * .6em);
}

.equipmentCard__cont .txt:before, .equipmentCard__cont .txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__cont .txt {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__cont .txt {
    font-size: calc( 12 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__cont .headingCombi + .headingCombi {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__cont .headingCombi + .headingCombi {
    margin-top: calc(30 / 390 * 100vw);
  }
}

.equipmentCard--doubleDesc .equipmentCard__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard--doubleDesc .equipmentCard__cont {
    gap: 30px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard--doubleDesc .equipmentCard__cont {
    gap: calc(20 / 390 * 100vw);
  }
}

.equipmentCard--doubleDesc .equipmentCard__cont .headingCombi {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}

.equipmentCard--doubleDesc .equipmentCard__cont .headingCombi + .headingCombi {
  margin-top: 0;
}

.equipmentCard--dummy .photo {
  -webkit-filter: brightness(0.5);
          filter: brightness(0.5);
}

.equipmentList {
  -ms-flex-line-pack: start;
      align-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .equipmentList {
    gap: 56px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentList {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.equipmentList__item {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

@media print, screen and (min-width: 768px) {
  .equipmentList__item .equipmentCard {
    width: 258px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentList__item .equipmentCard {
    width: calc(154 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentList__item .equipmentCard--wide {
    width: 572px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentList__item .equipmentCard--wide {
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentList__item .equipmentCard--super-wide {
    width: 886px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentList__item .equipmentCard--super-wide {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .equipmentList__item:nth-child(1):has(.equipmentCard--wide) {
    margin-bottom: calc(30 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .equipmentList__item:nth-child(n + 3) {
    margin-top: calc(30 / 390 * 100vw);
  }
}

.equipmentSectHeading {
  color: #99845c;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .138rem;
  line-height: 1.5;
  position: relative;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .equipmentSectHeading {
    font-size: 22px;
    padding-bottom: 33px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentSectHeading {
    font-size: 20px;
    padding-bottom: calc(33 / 390 * 100vw);
  }
}

.equipmentSectHeading:before, .equipmentSectHeading:after {
  background-color: #99845c;
  content: '';
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 1px;
}

@media print, screen and (min-width: 768px) {
  .equipmentSectHeading:before, .equipmentSectHeading:after {
    width: 40px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentSectHeading:before, .equipmentSectHeading:after {
    width: calc( 40 / 390 * 100vw);
  }
}

.equipmentSectHeading:after {
  bottom: 0;
  height: 1px;
}

.equipmentSectHeading:before {
  bottom: 3px;
  height: 2px;
}

@media print, screen and (min-width: 768px) {
  .safetySect {
    margin: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .equipmentSectHeading + .headingCombi {
    margin-top: 70px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__head .equipmentSectHeading + .headingCombi {
    margin-top: calc(50 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .photo {
    margin: auto;
    width: 572px;
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .headingCombi .heading--default {
    font-size: 19px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__head .headingCombi .heading--default {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .headingCombi .heading + .txt {
    margin-top: 62px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__head .headingCombi .heading + .txt {
    margin-top: calc(40 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .headingCombi + .photo {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__head .headingCombi + .photo {
    margin-top: calc(42 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head .attemptBox__head .photo {
    width: 415px;
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__head + .safetySect__cont {
    margin-top: 70px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__head + .safetySect__cont {
    margin-top: calc(50 / 390 * 100vw);
  }
}

.safetySect__subTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .safetySect__subTtl {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.safetySect__subTtl .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .safetySect__subTtl .num {
    font-size: 18px;
    height: 30px;
    margin-right: 13px;
    width: 30px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__subTtl .num {
    font-size: calc(14 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    margin-right: calc(10 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
  }
}

.safetySect__subTtl .num--blue {
  background-color: #6f9bb0;
}

.safetySect__subTtl .num--red {
  background-color: #bd8a95;
}

.safetySect__subTtl .num--orange {
  background-color: #c59a58;
}

@media print, screen and (min-width: 768px) {
  .safetySect__subTtl .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__subTtl .heading {
    font-size: calc(18 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__subTtl .heading .small {
    font-size: 14px;
    margin-left: 30px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__subTtl .heading .small {
    font-size: calc(12 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__subTtl + .equipmentList {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__subTtl + .equipmentList {
    margin-top: calc(30 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .brancheraMerit + .safetySect__equipment {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .brancheraMerit + .safetySect__equipment {
    margin-top: calc(87 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .safetySect__equipment + .safetySect__equipment {
    margin-top: 88px;
  }
}

@media screen and (max-width: 768px) {
  .safetySect__equipment + .safetySect__equipment {
    margin-top: calc(50 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .equipment-contents {
    margin-top: 80px;
    padding-bottom: 138px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-contents {
    margin-top: calc(46 / 390 * 100vw);
    padding-bottom: calc(80 / 390 * 100vw);
  }
}
