@charset "utf-8";

header {
  background: rgba(0, 0, 0, 0.6);
}

.contentsWrap {
  width: 74%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 12vw 0;
  line-height: 1.8;
}

.contentsWrap>.heading {
  margin: 0 0 3.6vw;
  text-align: center;
  line-height: 1.3;
  font-size: min(38px, 2.5vw);
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.privacySection {
  font-size: 1vw;
}

.privacySection:not(:last-child) {
  margin: 0 0 3em;
}

.privacySection>.heading {
  margin: 0 0 1em;
  font-size: 1.4vw;
  font-weight: bold;
}

.privacySection>.underlineHeading {
  font-size: 1.2vw;
  font-weight: bold;
  text-decoration: underline;
}

.privacySection>.heading2 {
  font-size: 1.2vw;
  font-weight: bold;
}

.privacySection>p:not(:last-child),
.privacySection>.group:not(:last-child) {
  margin: 0 0 1.8em;
}

.privacySection .dotList>li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.privacySection .dotList>li::before {
  content: "\30FB";
}

.privacySection .numList {
  counter-reset: number;
}

.privacySection .numList>li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  counter-increment: number;
}

.privacySection .numList>li::before {
  margin: 0 4px 0 0;
  content: counter(number)".";
}

.privacySection .headList>li::after {
  display: block;
  clear: both;
  content: "";
}

.privacySection .headList>li .head {
  display: block;
  float: left;
}

.privacySection .headList>li .text {
  display: block;
  overflow: hidden;
}

.privacySection .privacyTable {
  width: 100%;
}

.privacySection .privacyTable:not(:last-child) {
  margin: 0 0 1.8em;
}

.privacySection .privacyTable thead th {
  text-align: center;
}

.privacySection .privacyTable th:first-child {
  width: 30%;
}

.privacySection .privacyTable th,
.privacySection .privacyTable td {
  padding: 1vw;
  text-align: left;
  vertical-align: top;
  border: 1px solid #333;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* max-width: 768px */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (max-width: 768px) {

  .contentsWrap {
    width: 90%;
    margin: 0 auto;
    padding: 38vw 0 27vw;
  }

  .contentsWrap>.heading {
    margin: 0 0 9.3vw;
    font-size: 5.6vw;
  }

  .privacySection {
    font-size: 3.7vw;
  }

  .privacySection>.heading {
    font-size: 4vw;
  }

  .privacySection>.underlineHeading {
    font-size: 4vw;
  }

  .privacySection>.heading2 {
    font-size: 4vw;
  }

  .privacySection .privacyTable th,
  .privacySection .privacyTable td {
    padding: 2vw 3vw;
  }

}

/* max-width: 768px ここまで */

@media screen and (max-width: 400px) {
  .contentsWrap {
    padding-top: 45vw;
  }
}
