/* ===================================================================== */
/* MV * /
/* ===================================================================== */
#mv {
  padding: 0;
}
.mv-inner {
  width: 100%;
  height: 100vh;
  background-color: var(--main-color1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  .mv-logo {
    margin-bottom: 60px;
    img {
      width: 400px;
    }
  }
  .mv-catch {
    color: white;
    font-size: var(--fs40);
    letter-spacing: .16em;
  }
}

@media screen and (max-width: 767px) {

.mv-inner {
  .mv-logo {
    img {
      width: 60vw;
    }
  }
  .mv-catch {
    font-size: 5.2vw;
  }
}

}

/* ===================================================================== */
/* Intro * /
/* ===================================================================== */
#intro {
  .flex-box {
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
  }
  .img-box {
    max-width: 340px;
    margin-right: 40px;
  }
  .text-box {
    max-width: 660px;
    margin: 0;
  }
}

.comparison-table {
  table {
    tr {
      border: 1px solid white;
    }
  }
  thead {
    th {
      color: white;
      text-align: center;
      padding: 15px 10px;
      background-color: var(--main-color1);
      border-left: 1px solid white;
    }
  }
  tbody {
    th {
      color: white;
      text-align: center;
      padding: 15px 10px;
      background-color: var(--sub-color1);
      border-left: 1px solid white;
    }
    td {
      width: 27%;
      text-align: center;
      padding: 15px 10px;
      background-color: var(--sub-color2);
      border-left: 1px solid white;
      span {
        font-size: var(--fs14);
      }
    }
    tr td:nth-child(2) {
      background-color: var(--sub-color3);
    }
  }
}

@media screen and (max-width: 767px) {

#intro {
  .flex-box {
    flex-direction: column;
  }
  .img-box {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

}

/* ===================================================================== */
/* Process * /
/* ===================================================================== */
#process {
  .title {
    position: relative;
    &::before {
      content: "";
      width: 85px;
      height: 85px;
      background: url(../images/process-img.png) no-repeat center center;
      background-size: cover;
      position: absolute;
      left: 460px;
      right: 0;
      bottom: 0;
      margin: auto;
    }
  }
  .img-box {
    max-width: 1000px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {

#process {
  .title {
    &::before {
      left: 200px;
      bottom: 80px;
    }
  }
}

}

/* ===================================================================== */
/* Product * /
/* ===================================================================== */
#product {
  .flex-box {
    justify-content: center;
  }
}

.product-list {
  margin-right: 40px;
  margin-bottom: 40px;
  dl {
    & > div {
      display: flex;
      padding: 10px;
      border-bottom: 1px solid var(--sub-color2);
    }
    dt {
      min-width: 100px;
      color: var(--sub-color1);
      &::after {
        content: ":";
        padding: 0 10px;
      }
    }
  }
}

.composition-table {
  table {
    width: 560px;
    font-size: var(--fs15);
    margin-bottom: 10px;
  }
  thead {
    th {
      color: white;
      text-align: center;
      padding: 10px;
      background-color: var(--sub-color1);
      border-left: 1px solid white;
    }
  }
  tbody {
    tr {
      background-color: var(--sub-color2);
    }
    tr:nth-child(even) {
      background-color: var(--sub-color3);
    }
    th {
      text-align: left;
      padding: 10px;
      border-left: 1px solid white;
    }
    td {
      text-align: right;
      padding: 10px;
      border-left: 1px solid white;
    }
  }
  p {
    font-size: var(--fs12);
    text-align: right;
  }
}

@media screen and (max-width: 1200px) {

.composition-table {
  table {
    width: 100%;
  }
}

}

@media screen and (max-width: 767px) {

#product {
  .flex-box {
    flex-direction: column;
  }
}

}

/* ===================================================================== */
/* How to * /
/* ===================================================================== */
#howto {
  .title {
    position: relative;
    &::before {
      content: "";
      width: 142px;
      height: 142px;
      background: url(../images/howto-img.png) no-repeat center center;
      background-size: cover;
      position: absolute;
      left: 0;
      right: 460px;
      bottom: -20px;
      margin: auto;
    }
  }
  .img-box {
    max-width: 1000px;
    margin: 0 auto;
  }
}

.howto-list {
  max-width: 1040px;
  margin: 0 auto;
  dl > div {
    padding: 20px 30px;
    background-color: white;
    border-radius: 10px;
    margin-bottom: 10px;
  }
  dt {
    display: flex;
    font-size: var(--fs20);
    h3 {
      color: var(--sub-color1);
      &::after {
        content: ":";
        padding: 0 10px;
      }
    }
  }
  dd {
    color: var(--sub-color1);
    h4 {
      display: block;
      color: var(--main-color1);
      font-size: var(--fs20);
    }
  }
}

@media screen and (max-width: 767px) {

#howto {
  .title {
    &::before {
      width: 85px;
      height: 85px;
      right: 200px;
      bottom: 80px;
    }
  }
}

.howto-list {
  dt {
    flex-direction: column;
  }
}

}

/* ===================================================================== */
/* Contact * /
/* ===================================================================== */
.contact-form {
  margin-bottom: 60px;
  dl {
    width: 60%;
    margin: 0 20%;
    & > div {
      margin-bottom: 20px;
    }
    div.required dt::after {
      content: "*必須";
      color: #d5005c;
      font-size: var(--fs12);
      margin-left: 10px;
    }
    dt {
      margin-left: 5px;
    }
  }
}

.contact-form dd input,
.contact-form dd textarea {
  width: 100%;
  color: #333;
  font-size: var(--fs16);
  padding: 8px 16px;
  border: 1px solid var(--sub-color1);
  box-sizing: border-box;
  border-radius: 6px;
}

.contact-form dd .text-area {
  height: 200px;
}

.contact-form dd input::-webkit-input-placeholder {
  color: #aaa;
}
.contact-form dd input::-moz-placeholder {
  color: #aaa;
}
.contact-form dd input:-ms-input-placeholder {
  color: #aaa;
}

.contact-form dd textarea::-webkit-input-placeholder {
  color: #aaa;
}
.contact-form dd textarea::-moz-placeholder {
  color: #aaa;
}
.contact-form dd textarea:-ms-input-placeholder {
  color: #aaa;
}

.contact-form .send-btn {
  text-align: center;
  margin: 40px 0;
  .submit-btn {
    width: 50%;
    color: white;
    font-size: var(--fs18);
    font-weight: bold;
    text-align: center;
    padding: 16px 8px;
    margin: 0 auto;
    background: var(--sub-color1);
    border: none;
    box-sizing: border-box;
    border-radius: 40px;
    cursor: pointer;
    position: relative;
    transition: .3s;
  }
}

.contact-form .send-btn .submit-btn::after {
  font-family: "Material Icons";
  content: "\e5cc";
  color: white;
  font-size: var(--fs30);
  line-height: 0;
  height: 0;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  transition: .3s;
}
.contact-form .send-btn .submit-btn:hover {
  background: var(--main-color1);
  transform: scale(.98);
  transition: .3s;
}

@media only screen and (max-width: 767px) {

.contact-form dl {
  width: 80%;
  margin: 0 10%;
}
.contact-form .send-btn .submit-btn {
  width: 80%;
}

}

@media only screen and (max-width: 560px) {

.contact-form dl {
  width: 100%;
  margin: 0;
}
.contact-form .send-btn .submit-btn {
  width: 100%;
}

}

/* ===================================================================== */
/* Thanks * /
/* ===================================================================== */
#thanks {
  padding: 18rem 0;
  .text-C {
    text-align: center;
  }
}





