* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  word-wrap: break-word; /* 長い単語を強制的に改行 */
  word-break: break-all; /* 必要に応じて、任意の場所で改行 */
  }

body {
  margin: 0px;
  padding: 0px;
}

.header {
  background-color: rgb(223, 219, 224);
  width: 100%;
  height: 45px;
  font-family: sans-serif;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.top-left {
  float: left;
  color: rgb(12, 12, 12);
  padding: 9px 2vw;
}

.top-right {
  float: right;
  padding: 6px 2vw;
}

.privacy {
  padding: 70px 5vw 10px 5vw;
}

.privacy h3 {
  padding-top: 15px;
}

footer {
  background-color: rgb(52, 48, 48);
  color: white;
}

.sp {
  display: none;
}
  
.footer-topic,
.inquiry,
.privacy-link,
.tokusoho-link,
.copy {
  padding: 2% 2%;
}
  
.privacy-link a {
  color: white;
}

.tokusoho-link a {
  color: white;
}
  
.copy {
  font-size: 1%;
}

.line {
  height: 35px;
  border: 0;
}

@media screen and (min-width: 1200px) {
.header {
  height: 70px; 
}
  
.top-left {
  font-size: 160%;
  padding: 15px 2vw;
}
  
.top-right {
  padding: 0px 2vw;
}
  
.line {
  height: 70px;
}

.privacy {
  padding: 150px 5vw 10px 5vw;
}

.privacy h2,
.privacy h3,
.privacy p {
  font-size: 200%;
}

.sp {
  display: block;
  margin: 3% 0px 0px 2%;
  height: 10%;
  width: 10%;
}
  
.footer {
  display: flex;
  font-size: 20px;
}
  
.footer-topic,
.inquiry,
.privacy-link,
.tokusoho-link,
.copy {
  padding: 3% 1%; 
}
  
.copy {
  font-size: 2%;
}
}