@charset "utf-8";
/* ==========================================
   policy page styles
   ========================================== */
@layer base {
body { margin: 0; background: #fff; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; transition: opacity .2s ease; }
  a { transition: transform .28s cubic-bezier(.34,1.3,.64,1), box-shadow .28s ease, background .28s ease, opacity .2s ease; }
  a:hover { opacity: .78; }
  html, body { overflow-x: clip; }
  a[style*="border-radius: 999px"]:hover, a[style*="border-radius: 10px"]:hover, a[style*="border: 1px solid #fff"]:hover { opacity: 1; transform: translateY(-4px); box-shadow: 0 10px 24px rgba(66,178,145,.26); }
  span[style*="cursor: pointer"] { transition: transform .28s cubic-bezier(.34,1.3,.64,1), box-shadow .28s ease, background .2s ease, color .2s ease, border-color .2s ease; }
  span[style*="cursor: pointer"]:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(66,178,145,.26); }
  span[style*="border-radius: 999px"] { transition: transform .3s cubic-bezier(.34,1.3,.64,1), box-shadow .3s ease; }
  span[style*="icons/i58"], span[style*="icons/i59"] { transition: transform .3s cubic-bezier(.34,1.3,.64,1), filter .3s ease; }
  a:hover span[style*="icons/i58"], a:hover span[style*="icons/i59"] { transform: translateY(-4px); filter: drop-shadow(0 7px 10px rgba(66,178,145,.35)); }
  a:hover span[style*="border: 1px solid #cfe3d9"] { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(66,178,145,.28); }
  a:hover span[style*="rgba(255,255,255,.8)"] { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(0,0,0,.18); }
  a:hover span[style*="letter-spacing: .1em"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
  @media all {
    .bleed { position: relative; }
    .bleed::before, .bleed::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4000px; background: inherit; pointer-events: none; }
    .bleed::before { right: 100%; }
    .bleed::after { left: 100%; }
  }
  @media (max-width: 767px) {
    .sp-wrap { padding: calc(50 * 100vw / 360) 15px calc(50 * 100vw / 360) !important; grid-template-columns: minmax(0, 1fr) !important; gap: calc(30 * 100vw / 360) !important; }
    .sp-nav { position: sticky !important; top: 18px !important; z-index: 120 !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px !important; padding: 4px !important; background: #fff; border-radius: 999px; box-shadow: 0 4px 14px rgba(0,0,0,.08); width: 100%; box-sizing: border-box; }
    .sp-nav.pp-stuck, .sp-nav:target { width: calc(100% - 62px); }
    .sp-nav.pp-stuck a.pp-nav-a { font-size: calc(11 * 100vw / 360) !important; letter-spacing: 0 !important; }
    .sp-nav a.pp-nav-a { height: calc(36 * 100vw / 360); display: flex !important; align-items: center; justify-content: center; border-radius: 999px; border-bottom: 0 !important; padding: 0 !important; background: var(--spbg); color: var(--spfg) !important; font-size: calc(12 * 100vw / 360) !important; line-height: 1 !important; letter-spacing: .02em !important; white-space: nowrap; transition: background .2s ease, color .2s ease; }
    .pp-nav-full { display: none !important; }
    .pp-nav-sp { display: inline !important; }
    .pp-doc-anchor, .sp-doc { scroll-margin-top: 90px !important; }
    .pp-docs { gap: calc(30 * 100vw / 360) !important; }
    .sp-card { padding: calc(50 * 100vw / 360) calc(15 * 100vw / 360) !important; border-radius: calc(16 * 100vw / 360) !important; }
    h2.sp-doc-title.sp-doc-title { font-family: 'Noto Sans JP', sans-serif !important; font-size: calc(18 * 100vw / 360) !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: .02em !important; -webkit-text-stroke: 0 !important; }
    .pp-sub { margin-top: calc(15 * 100vw / 360) !important; }
    .pp-rule { margin-top: calc(15 * 100vw / 360) !important; }
    .pp-lead { margin-top: calc(15 * 100vw / 360) !important; }
    .pp-sub.pp-sub, .pp-lead.pp-lead, .pp-body.pp-body, li.pp-li.pp-li { font-size: calc(12 * 100vw / 360) !important; line-height: calc(27 * 100vw / 360) !important; letter-spacing: .04em !important; color: #333 !important; }
    .pp-secs { margin-top: calc(30 * 100vw / 360) !important; gap: calc(22 * 100vw / 360) !important; }
    h3.pp-h3.pp-h3 { font-size: calc(14 * 100vw / 360) !important; line-height: 1.5 !important; font-weight: 500 !important; letter-spacing: .06em !important; color: #222 !important; }
    .pp-body { margin-top: calc(8 * 100vw / 360) !important; }
    .pp-ul { margin-top: calc(15 * 100vw / 360) !important; gap: calc(4 * 100vw / 360) !important; }
    .pp-li { gap: calc(8 * 100vw / 360) !important; }
    .pp-dot { width: calc(7 * 100vw / 360) !important; height: calc(7 * 100vw / 360) !important; }
    [style*="font-size: 16px"][style*="line-height"]:not(.om-keep *):not(.sp-keep16):not(a):not(a *):not(label):not(label *):not([style*="font-weight: 500"]):not([style*="font-weight: 700"]):not([style*="font-weight: 800"]):not([style*="Montserrat"]) { font-size: 13px !important; }
    .sp-h1:not(.om-keep *), .sp-h2:not(.om-keep *), .om-h2:not(.om-keep *), [style*="font-size: 32px"]:not(.om-keep *) { font-size: 22px !important; line-height: 1.5 !important; font-weight: 400 !important; -webkit-text-stroke: 0.5px currentColor; paint-order: stroke fill; }
    [style*="font-size: 19px"]:not(.om-keep *), [style*="font-size: 20px"]:not(.om-keep *), [style*="font-size: 21px"]:not(.om-keep *), [style*="font-size: 22px"]:not(.om-keep *) { font-size: 17px !important; }
    a:is(:has([style*="i58.svg"]), :has([style*="i59.svg"]), [style*="border: 1px solid #fff"]):not(.om-keep *) [style*="font-size: 16px"], button:not(.om-keep *) { font-size: 13px !important; }
    .om-keep { width: 480px !important; zoom: var(--spz) !important; }
  }
}

.cgf { background: rgb(243, 248, 243); padding: 40px 78px 160px 76px; display: grid; grid-template-columns: 340px minmax(0px, 1fr); gap: 0px; align-items: start; }
.cgg { position: sticky; top: 150px; align-self: start; z-index: 5; display: flex; flex-direction: column; gap: 30px; align-items: flex-start; }
.cgh { --spbg: #42b291; --spfg: #fff; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); padding-bottom: 12px; border-bottom: 4px solid rgb(66, 178, 145); }
.cgi { --spbg: transparent; --spfg: #333; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); padding-bottom: 12px; border-bottom: 4px solid transparent; }
.cgj { display: flex; flex-direction: column; gap: 80px; }
.cgk { background: rgb(255, 255, 255); border-radius: 40px; padding: 80px 100px; scroll-margin-top: 150px; }
.cgl { margin: 0px; font-family: "Noto Sans JP", sans-serif; font-size: 32px; font-weight: 500; letter-spacing: 0.12em; color: rgb(66, 178, 145); }
.cgm { margin-top: 16px; font-size: 16px; font-weight: 400; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); }
.cgn { margin-top: 32px; height: 1px; background: rgb(226, 226, 226); }
.cgo { margin-top: 40px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: pre-line; }
.cgp { margin-top: 64px; display: flex; flex-direction: column; gap: 40px; }
.cgq { margin: 0px; font-size: 21px; font-weight: 700; letter-spacing: 0.1em; color: rgb(34, 34, 34); }
.cgr { margin: 32px 0px 0px; padding: 0px; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.cgs { display: flex; align-items: baseline; gap: 18px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); }
.cgt { width: 14px; height: 14px; flex: 0 0 auto; border-radius: 999px; background: rgb(66, 178, 145); display: block; transform: translateY(1px); }
.cgu { min-width: 0px; overflow-wrap: anywhere; white-space: pre-line; }