* { box-sizing: border-box; }

html {
  background: #ffffff;
  -webkit-text-size-adjust: 100%;
}

body {
  max-width: 900px;
  margin: 0 auto;
  padding: 48px 28px;
  color: #111111;
  background: #ffffff;
  font-family: Arial, "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0;
}

.policy-shell { width: 100%; }

font,
span {
  font-family: inherit !important;
  font-size: inherit !important;
}

h1,
h1.western,
h1.cjk,
h1.ctl {
  margin: 0 0 12px !important;
  color: #111111 !important;
  font-family: inherit !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

h2,
h2.western,
h2.cjk,
h2.ctl,
.cookiebot-declaration > h2 {
  margin: 36px 0 14px !important;
  padding: 0 0 0 12px !important;
  border: 0 !important;
  border-left: 3px solid #222222 !important;
  color: #111111 !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

h3,
h4 {
  margin: 24px 0 10px;
  font-family: inherit;
  line-height: 1.5;
}

p,
li p {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

ul,
ol {
  margin: 10px 0 16px;
  padding-left: 26px;
}

li {
  margin: 4px 0;
  line-height: 1.7;
}

a,
.text-button {
  color: #0563c1;
  text-decoration: underline;
}

.text-button {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.updated {
  margin-bottom: 24px !important;
  color: #777777;
  font-size: 13px !important;
}

.lead { margin-bottom: 28px !important; }

.policy-section,
.cookiebot-declaration {
  margin: 0;
  padding: 0;
  border: 0;
}

.link-list { margin-top: 10px; }

.contact-section {
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

table,
.cookiebot-declaration .CookieDeclarationTable {
  width: 100% !important;
  max-width: 100%;
  margin: 14px 0 22px;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 14px;
}

th,
td,
.cookiebot-declaration .CookieDeclarationTableHeader,
.cookiebot-declaration .CookieDeclarationTableCell {
  width: auto !important;
  padding: 8px 10px !important;
  border: 1px solid #cccccc !important;
  color: #111111 !important;
  background: #ffffff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

th,
tr:first-child > td,
.cookiebot-declaration .CookieDeclarationTableHeader {
  background: #e8e8e8 !important;
  font-weight: 700;
}

.cookiebot-declaration #CookieDeclarationUserStatusPanel,
.cookiebot-declaration .CookieDeclarationUserStatusPanel {
  margin: 14px 0 22px;
  padding: 14px 16px;
  border: 1px solid #cccccc;
  background: #f5f5f5;
}

.cookiebot-declaration .CookieDeclarationType { margin-top: 26px; }

.cookiebot-declaration .CookieDeclarationTypeHeader {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
}

@media (max-width: 640px) {
  body {
    padding: 28px 16px;
    font-size: 14px;
  }

  h1,
  h1.western,
  h1.cjk,
  h1.ctl {
    font-size: 28px !important;
  }

  p,
  li p {
    font-size: 14px !important;
  }

  table,
  .cookiebot-declaration .CookieDeclarationTable {
    display: block;
    overflow-x: auto;
    font-size: 13px;
  }

  th,
  td,
  .cookiebot-declaration .CookieDeclarationTableHeader,
  .cookiebot-declaration .CookieDeclarationTableCell {
    min-width: 120px;
    font-size: 13px !important;
  }
}
