.lay-policy {
  width: 100%;
  padding: clamp(40px, 5vw, 88px) 20px clamp(56px, 6vw, 112px);
  container-type: inline-size;
  & .obj-policyDoc {
    width: min(100%, 74ch);
    margin-inline: auto;
    min-width: 0;
  }
}
.skin-policy {
  color: #1a3665;
  background: #fff;
  font-size: clamp(18px, 1.2vw, 20px);
  line-height: 1.65;
  overflow-wrap: anywhere;
  & h1 {
    margin: 12px 0 16px;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.1;
  }
  & h2 {
    margin: 0 0 20px;
    font-size: clamp(25px, 2.5vw, 32px);
    line-height: 1.25;
  }
  & p { margin: 0 0 20px; }
  & li { padding-left: 4px; margin-bottom: 8px; }
  & ul, & ol { padding-left: 1.5em; margin: 0 0 24px; }
  & a { color: #1638cb; text-underline-offset: 4px; }
  & a:hover { text-decoration-thickness: 2px; }
  & :focus-visible { outline: 3px solid #1638cb; outline-offset: 4px; }
  & section {
    padding-top: 36px;
    margin-top: 32px;
    border-top: 1px solid #c4cddd;
    scroll-margin-top: 24px;
  }
  & .obj-policyLabel { font-size: 16px; font-weight: 700; letter-spacing: .04em; }
  & .obj-policyDate { font-size: 17px; margin-bottom: 28px; }
  & .obj-policyContents {
    border-block: 1px solid #c4cddd;
    padding-block: 28px;
    margin-top: 32px;
    & h2 { font-size: 25px; }
    & ol { margin-bottom: 0; }
    & a { display: inline-block; padding-block: 3px; }
  }
  & .obj-policyTable {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    margin-block: 28px;
    & table {
      width: 100%;
      min-width: 620px;
      border-collapse: collapse;
      font-size: 17px;
      line-height: 1.5;
      text-align: left;
    }
    & caption { text-align: left; font-weight: 700; padding-bottom: 12px; }
    & th, & td { padding: 16px; border: 1px solid #c4cddd; vertical-align: top; }
    & thead { background: #edf1f7; }
    & tbody th { width: 32%; font-weight: 400; }
  }
}
@container (max-width: 40rem) {
  .lay-policy .obj-policyDoc { width: 100%; }
  .skin-policy section { padding-top: 28px; margin-top: 24px; }
}
