@charset "UTF-8";
@import url(./common.css);
/*==================================================================*/
/* style css　*/
/*==================================================================*/
#contents {
  margin-bottom: 0;
  background: #f6f7f5;
}

/* -------------------------------------------- */
/* title */
/* -------------------------------------------- */
#title {
  background: url("/feature/image/title.jpg") no-repeat center center;
  background-size: cover;
}

#topicpath {
  margin-bottom: 1em;
}

/* -------------------------------------------- */
/* feature */
/* -------------------------------------------- */
.intro .intro-in {
  display: flex;
  align-items: center;
}
.intro .intro-in .photo {
  width: 40%;
}
.intro .intro-in .text {
  width: 55%;
  max-width: 780px;
  padding: 3em 0;
}
.intro .intro-in .text .s-title {
  margin-bottom: 1.5em;
  font-size: 1.8em;
}

.about {
  background-image: url("/feature/image/photo_bg_about.png"), url("/feature/image/bg_about.jpg");
  background-repeat: no-repeat,repeat-y;
  background-size: auto, 100% auto;
  background-position: right top, top center;
  padding: 5em 0;
}
.about .text {
  width: 52%;
  margin-bottom: 3em;
}
.about .text .s-title {
  margin-bottom: 1em;
  font-size: 1.8em;
  color: #fff;
}
.about .text dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
}
.about .text dl dt {
  width: 15%;
}
.about .text dl dd {
  width: 83%;
  color: #fff;
  padding-bottom: .5em;
  background-image: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 8px 1px;
  background-repeat: repeat-x;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
}
.about .photo {
  display: flex;
  justify-content: space-between;
}
.about .photo p {
  width: 32%;
}

.material {
  background: #fff;
  padding: 7em 0;
}
.material .read {
  margin-bottom: 3em;
}
.material .table .block {
  background: #f3f3f3;
  display: flex;
  justify-content: space-between;
  margin-bottom: .2em;
  padding: 1em;
}
.material .table .block:nth-child(2n) {
  background: #fffdea;
}
.material .table .block .name {
  width: 30%;
  font-size: 1.1em;
}
.material .table .block .name dl {
  display: flex;
  justify-content: start;
  padding: 0;
}
.material .table .block .name dl dt {
  width: 55px;
  background: #fff;
  border: 1px solid black;
  margin-right: 1em;
  padding: 0.2em 0;
  height: fit-content;
  text-align: center;
  line-height: 1;
}
.material .table .block .name dl dt.red {
  border: 1px solid #a11215;
  color: #a11215;
}
.material .table .block .name dl dd {
  width: calc(100% - 55px);
}
.material .table .block .name dl dd span {
  font-size: .8em;
  color: #000;
}
.material .table .block .name .note {
  width: fit-content;
  background: #ffd5d5;
  margin-left: auto;
  color: #a11215;
  padding: 0 0.5em;
  font-size: .8em;
}
.material .table .block dd {
  width: 67%;
}
.material .table .block dd span {
  color: #a11215;
}

.safety {
  padding: 7em 0;
  background-image: url("/feature/image/safety_photo01.png"), url("/feature/image/safety_photo02.png");
  background-position: left top, right bottom;
  background-repeat: no-repeat,no-repeat;
}
.safety .catch {
  text-align: center;
  margin-bottom: 2em;
}
.safety .catch span {
  background: #000;
  padding: 0.5em 1em;
  color: #fff;
  font-size: 1.8em;
}
.safety .read {
  margin-bottom: 2em;
}
.safety .read span {
  display: block;
}
.safety .photo-area {
  display: flex;
  justify-content: center;
}
.safety .photo-area p {
  margin-right: 2em;
}
.safety .photo-area p:last-child {
  margin-right: 0;
}

/*===========================================================================*/
/*  media quary:1025px  */
/*===========================================================================*/
@media screen and (max-width: 1025px) {
  /* -------------------------------------------- */
  /* feature */
  /* -------------------------------------------- */
  .intro .intro-in .photo {
    width: 45%;
  }
  .intro .intro-in .text {
    width: 50%;
  }
  .intro .intro-in .text .s-title {
    margin-bottom: 1em;
    font-size: 1.5em;
  }

  .about {
    background-size: 40%,cover;
    padding: 3em 0;
  }
  .about .text {
    width: 60%;
  }
  .about .text .s-title {
    font-size: 1.5em;
  }

  .safety {
    background-size: 40%;
  }
}
/*===========================================================================*/
/*  media quary:767px  */
/*===========================================================================*/
@media screen and (max-width: 769px) {
  /* -------------------------------------------- */
  /* 〇〇〇〇 */
  /* -------------------------------------------- */
  .intro .intro-in {
    flex-direction: column-reverse;
    width: 90%;
    margin: 0 auto;
  }
  .intro .intro-in .text {
    width: 100%;
    padding: 2em 0 0;
  }
  .intro .intro-in .text .s-title {
    font-size: 1.5em;
  }
  .intro .intro-in .text .read {
    margin-bottom: 0;
  }
  .intro .intro-in .photo {
    width: 100%;
  }

  .about {
    background-size: 30%,cover;
  }
  .about .text {
    width: 100%;
  }
  .about .text .s-title {
    margin-bottom: 2em;
  }

  .material {
    padding: 7em 0 3em;
  }
  .material .read {
    text-align: left;
  }
  .material .table .block {
    display: block;
  }
  .material .table .block .name {
    width: 100%;
    margin-bottom: .5em;
  }
  .material .table .block dd {
    width: 100%;
  }

  .safety .catch span {
    font-size: 1.5em;
  }
  .safety .read {
    text-align: left;
  }
  .safety .read span {
    display: inline;
  }
}
/*===========================================================================*/
/*  media quary:479px  */
/*===========================================================================*/
@media screen and (max-width: 479px) {
  .intro .intro-in .text .s-title {
    font-size: 1.3em;
  }

  .about {
    background-size: 40%,auto;
  }
  .about .text {
    margin-bottom: 2em;
  }
  .about .photo {
    display: block;
  }
  .about .photo p {
    width: 100%;
    margin-bottom: .5em;
    text-align: center;
  }

  .material {
    padding: 5em 0 3em;
  }

  .safety {
    padding: 7em 0 3em;
    background-size: 50%;
  }
  .safety .catch span {
    font-size: 1.2em;
    padding: .5em;
  }
  .safety .photo-area {
    display: block;
  }
  .safety .photo-area p {
    margin-right: 0;
    margin-bottom: .5em;
  }
}
