@charset "utf-8";

/*========= VISUAL ===============*/
.visual {
  background: url(../images/policyvisual.webp) center / cover;
}

.topic {
  color: var(--main-blue);
}

.ruby {
  line-height: 0;
}

/*****  VISUAL SP *****/
@media screen and (max-width: 768px){
  .header__topic {
    color: var(--font-black);
  }

  .nav__btn span {
    background-color: var(--font-black);
  }

  .visual {
    background: url(../images/policyvisual_sp.webp) center / cover;
  }
} /* VISUAL SP 768px */

@media screen and (max-width: 480px){
  .visual__topic .TextTyping {
    color: var(--main-blue);
  }
} /* VISUAL SP 480px */



/*========= POLICY ===============*/
.section--policy {
  text-align: center;
  padding: 0 15%;
}

.privacy {
  max-width: 800px;
  margin: 2rem auto;
  padding: 2rem 1.5rem;
  background: var(--font-white);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(var(--font-black-rgb), 0.05);
}

.privacy__section {
  margin: 5em 0 2.5em;
  line-height: 2;
}

.privacy__section p {
  text-align: left;
}

.privacy__heading {
  color: var(--main-blue);
  margin-bottom: 0.7em;
  padding-left: 0.7em;
  font-weight: 500;
}

.privacy__text {
  font-size: 1rem;
  line-height: 2;
  margin: 0 0 1em 0;
}

.privacy__list {
  padding-left: 1.5em;
  margin: 0 0 1em 0;
}

.privacy__list li {
  list-style: decimal;
  margin-bottom: 0.5em;
  line-height: 1.8;
  text-align: left;
}

.privacy__list li ul {
  list-style: disc;
  padding-left: 1.2em;
  margin-top: 0.3em;
}

.privacy__list li ul li {
  list-style: disc;
  font-size: 0.95em;
}

.privacy__link, .privacy__text a {
  color: var(--main-blue);
  text-decoration: underline;
  word-break: break-all;
}

.privacy__emlink {
  color: var(--main-blue);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--main-blue);
  font-weight: bold;
  transition: color 0.2s;
}
.privacy__emlink:hover,
.privacy__emlink:focus {
  color: var(--main-blue);
  text-decoration-color: var(--main-blue);
}

/*****  POLICY SP *****/
@media (max-width: 768px) {
  .section--policy {
    padding: 0 10%;
  }

  .privacy {
    padding: 1rem 0.5rem;
  }

  .privacy__heading {
    font-size: 1.6rem;
  }

  .privacy__list {
    font-size: 1.3rem;
  }
  
} /* POLICY SP 768px */

@media (max-width: 375px) {
  .section--policy {
    padding: 0 7%;
  }

  .privacy__section {
    margin: 3em 0 2.5em;
  }

  .privacy__heading {
    font-size: 1.4rem;
  }

  .privacy__list {
    font-size: 1.2rem;
  }
} /* POLICY SP 375px */