/* 利用規約・プライバシーポリシー専用。style.css の変数・ヘッダー・フッターを前提にする */
.legal-hero {
  background:var(--soft);
  padding-block:100px 90px
}
.legal-hero .section-heading {
  margin-bottom:0
}
.legal-title {
  font-size:clamp(28px,3.34vw,48px);
  font-weight:700;
  line-height:1.45;
  letter-spacing:-.025em
}
.legal-hero .section-heading>p:last-child:not(.eyebrow) {
  font-size:16px;
  margin-top:24px
}
.legal {
  padding-block:100px 120px
}
.legal-body {
  width:min(880px,calc(100% - 64px));
  margin-inline:auto;
  font-size:16px;
  line-height:2
}
.legal-intro {
  margin-bottom:64px!important
}
.legal-body section+section {
  margin-top:56px
}
.legal-body h2 {
  font-size:22px;
  font-weight:700;
  line-height:1.5;
  padding:0 0 14px 20px;
  border-left:4px solid var(--red);
  border-bottom:1px solid #ddd;
  margin-bottom:24px
}
.legal-body p+p,.legal-body p+ol,.legal-body p+ul,.legal-body ol+p,.legal-body ul+p {
  margin-top:16px
}
.legal-body ol,.legal-body ul {
  margin:16px 0 0;
  padding-left:1.6em
}
.legal-body li+li {
  margin-top:8px
}
.legal-body ol ol,.legal-body ol ul {
  margin-top:8px
}
.legal-body a {
  color:var(--red);
  overflow-wrap:anywhere
}
.legal-contact {
  margin-top:24px;
  padding:28px 32px;
  background:var(--soft);
  border-radius:8px
}
.legal-contact dl>div {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:16px
}
.legal-contact dl>div+div {
  margin-top:8px
}
.legal-contact dt {
  font-weight:700
}
.legal-contact dd {
  overflow-wrap:anywhere
}
.legal-date {
  margin-top:72px!important;
  text-align:right;
  line-height:1.8
}
.legal-back {
  display:flex;
  justify-content:center;
  margin-top:80px
}
.legal-back .button img {
  transform:none
}
.footer nav a:hover {
  text-decoration:underline
}
.footer nav a[aria-current="page"] {
  font-weight:700
}
@media(max-width:1100px) {
  .legal-hero {
    padding-block:75px 65px
  }
  .legal {
    padding-block:75px 90px
  }
}
@media(max-width:767px) {
  .legal-hero {
    padding-block:50px 40px
  }
  .legal-title {
    font-size:28px
  }
  .legal {
    padding-block:48px 64px
  }
  .legal-body {
    width:calc(100% - 40px);
    font-size:15px;
    line-height:1.9
  }
  .legal-intro {
    margin-bottom:40px!important
  }
  .legal-body section+section {
    margin-top:40px
  }
  .legal-body h2 {
    font-size:18px;
    padding:0 0 10px 14px;
    margin-bottom:18px
  }
  .legal-contact {
    padding:20px
  }
  .legal-contact dl>div {
    grid-template-columns:1fr;
    gap:0
  }
  .legal-contact dl>div+div {
    margin-top:12px
  }
  .legal-back {
    margin-top:56px
  }
  .legal-back .button {
    width:100%
  }
}
@media print {
  .legal-hero {
    background:none;
    padding-block:20px
  }
  .legal-back {
    display:none
  }
}
