/* Privacy page only. Shared header/footer are not overridden. */
.po-privacy{--pp-wine:#632d3e;--pp-paper:#f3f2ef;color:#222;background:#fff;font-family:"Noto Sans JP","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9;text-align:left;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.po-privacy *{box-sizing:border-box}.po-privacy p,.po-privacy h1,.po-privacy h2,.po-privacy h3,.po-privacy ul,.po-privacy dl,.po-privacy dd{margin:0;padding:0}.po-privacy :where(p,li,dd){font-size:inherit;line-height:inherit}.po-privacy a{color:inherit}.pp-hero{background:var(--pp-paper);padding:76px 24px 70px;text-align:center;border-bottom:1px solid #dedbd5}.pp-brand{font-size:13px;letter-spacing:.17em}.pp-english{font-family:"Oswald","oswald",sans-serif;font-size:52px;letter-spacing:.055em;line-height:1.35;margin:12px 0 16px!important}.pp-hero h1{font-size:21px;font-weight:500;letter-spacing:.08em}.pp-inner{width:calc(100% - 64px);max-width:1000px;margin:0 auto;padding-bottom:90px}.pp-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#666;padding:22px 0}.pp-intro{padding:32px 0 36px}.pp-contents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border-top:2px solid #222;padding:15px 0 28px}.pp-contents a{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #ddd;text-decoration:none;font-size:14px}.pp-contents a:hover{color:var(--pp-wine)}.pp-contents span{font-family:"Oswald",sans-serif;color:var(--pp-wine);font-size:15px}.pp-clause{padding:38px 0;border-bottom:1px solid #ddd;scroll-margin-top:160px}.pp-clause:last-child{border-bottom:0}.pp-clause h2{display:flex;align-items:baseline;gap:18px;font-size:24px;font-weight:600;line-height:1.6;margin-bottom:22px}.pp-clause h2 span{font-family:"Oswald",sans-serif;color:var(--pp-wine);font-size:23px;font-weight:400}.pp-clause h3{font-size:17px;font-weight:700;margin:25px 0 12px}.pp-clause p+p{margin-top:16px}.pp-clause ul{list-style:disc;padding-left:1.4em;margin:14px 0}.pp-clause li{padding-left:.15em;margin:5px 0}.pp-clause p a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.pp-measures{margin-top:20px!important}.pp-measures>div{padding:16px 0;border-top:1px solid #e5e3de}.pp-measures dt{font-weight:700;margin-bottom:4px}.pp-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;table-layout:fixed}.pp-table caption{display:block;width:100%;text-align:left;font-weight:700;padding-bottom:12px}.pp-table th,.pp-table td{padding:18px;text-align:left;vertical-align:top;border:1px solid #d5d3ce;overflow-wrap:anywhere}.pp-table th{background:var(--pp-paper);font-weight:600}.pp-table th:nth-child(2){width:44%}.pp-contact{background:var(--pp-paper);padding:30px 36px}.pp-contact dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px 20px;margin-top:24px}.pp-contact dt{color:#666}.pp-date{margin-top:24px!important;color:#666;font-size:14px}
@media(max-width:767px){.po-privacy{font-size:13px;line-height:1.9}.pp-hero{padding:48px 16px 44px}.pp-english{font-size:34px;letter-spacing:.025em;margin:12px 0!important}.pp-brand{font-size:11px}.pp-hero h1{font-size:18px;letter-spacing:.02em}.pp-inner{width:calc(100% - 36px);padding-bottom:48px}.pp-breadcrumb{font-size:11px;padding:16px 0;gap:6px}.pp-intro{padding:20px 0 28px}.pp-contents{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.pp-contents a{font-size:12px;gap:7px;padding:12px 0}.pp-clause{padding:28px 0;scroll-margin-top:100px}.pp-clause h2{font-size:20px;gap:12px;margin-bottom:18px}.pp-clause h2 span{font-size:20px}.pp-clause h3{font-size:16px}.pp-contact{padding:22px 18px}.pp-contact dl{grid-template-columns:1fr;gap:3px}.pp-contact dd{margin-bottom:12px}.pp-table{font-size:13px}.pp-table thead{display:none}.pp-table,.pp-table tbody,.pp-table tr,.pp-table td{display:block;width:100%}.pp-table td{border-bottom:0;padding:14px 16px}.pp-table td:last-child{border-bottom:1px solid #d5d3ce}.pp-table td::before{display:block;font-weight:700;color:var(--pp-wine);margin-bottom:5px}.pp-table td:nth-child(1)::before{content:"送信先"}.pp-table td:nth-child(2)::before{content:"送信される情報"}.pp-table td:nth-child(3)::before{content:"利用目的"}}
@media(prefers-reduced-motion:no-preference){html:has(.po-privacy){scroll-behavior:smooth}}

.po-privacy .pp-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;padding:55px 24px;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),url("privacy-hero.jpg") center 55%/cover no-repeat;color:#fff;text-align:center;border:0}
.po-privacy .pp-hero>*{width:100%;text-align:center;color:#fff}
@media(max-width:767px){.po-privacy .pp-hero{min-height:320px;padding:36px 16px}}

.pp-policy-nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 48px}.pp-policy-nav a{flex:1;text-align:center;text-decoration:none;padding:14px 12px;background:#171717;color:#fff;white-space:nowrap}.pp-policy-nav a:hover{background:#666}.pp-group{font-size:26px!important;padding:32px 0 20px!important;margin-top:35px!important;border-top:2px solid #222;scroll-margin-top:150px}.pp-numbered{display:flex;align-items:baseline;gap:18px;font-size:24px!important;line-height:1.6;margin:0 0 22px!important}.pp-numbered span{font-family:"Oswald",sans-serif;color:var(--pp-wine);font-weight:400}
@media(max-width:767px){.po-privacy :is(.pp-inner p,.pp-inner li,.pp-inner dd,.pp-inner dt,.pp-inner a,.pp-inner span,.pp-inner strong,.pp-inner h3,.pp-group,.pp-table,.pp-table caption,.pp-table th,.pp-table td){font-size:13px!important;font-weight:400;line-height:1.9}.po-privacy .pp-clause :is(h2,h2 span,.pp-numbered,.pp-numbered span){font-size:15px!important;font-weight:700;line-height:1.7}.pp-policy-nav{gap:8px;margin-bottom:28px}.pp-policy-nav a{flex-basis:100%;padding:10px}.pp-group{scroll-margin-top:90px}.pp-table td::before{font-weight:400}.pp-contents{grid-template-columns:1fr}.pp-group{margin-top:24px!important}}
.po-privacy-screen-scroll {
  position: fixed;
  z-index: 99990;
  left: calc(50% - 22px);
  width: 44px;
  box-sizing: border-box;
  bottom: calc(max(8px, env(safe-area-inset-bottom)) + 6px);
  transform: translateY(0);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #fff;
  mix-blend-mode: normal;
  pointer-events: none;
  user-select: none;
  font:
    400 10px/1.4 "Oswald",
    "Arial Narrow",
    Arial,
    sans-serif;
  letter-spacing: 0.12em;
}
.po-privacy-screen-scroll i {
  display: block;
  width: 1px;
  height: 24px;
  overflow: hidden;
}
.po-privacy-screen-scroll i::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  animation: po-privacy-screen-scroll-line 2s ease-in-out infinite;
}
@keyframes po-privacy-screen-scroll-line {
  0% {
    transform: translateY(-105%);
  }
  70%,
  100% {
    transform: translateY(105%);
  }
}
@media (max-width: 760px) {
  .po-privacy-screen-scroll {
    gap: 3px;
    /* 5拠点共通：麹町Chromeの基準32.8976px。安全余白は加算せず大きい方を採用。 */
    bottom: max(32.8976377953px, env(safe-area-inset-bottom, 0px));
  }
  .po-privacy-screen-scroll i {
    height: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .po-privacy-screen-scroll i::after {
    animation: none;
  }
}

/* 中央の上矢印：文字・縦棒とは分け、矢印の領域だけクリック可能。 */
.po-privacy-screen-scroll .po-screen-back-top {
  display: grid;
  place-items: center;
  width: 44px;
  height: 32px;
  margin: 0 0 -14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}
.po-privacy-screen-scroll .po-screen-back-top svg {
  display: block;
  width: 18px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}
.po-privacy-screen-scroll .po-screen-back-top:hover svg {
  transform: translateY(-2px);
}
.po-privacy-screen-scroll .po-screen-back-top:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}
@media (pointer: coarse) {
  .po-privacy-screen-scroll .po-screen-back-top {
    height: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .po-privacy-screen-scroll .po-screen-back-top svg {
    transition: none;
  }
}

.po-privacy-screen-scroll .po-screen-back-top[hidden] {
  display: none;
}
.po-privacy-screen-scroll[data-position="hero"] .po-screen-back-top {
  display: none;
}

.po-privacy-screen-scroll {
  mix-blend-mode: normal;
  color: var(--po-scroll-ink, #fff);
}


.po-privacy-screen-scroll,.po-privacy-screen-scroll span,.po-privacy-screen-scroll .po-screen-back-top{color:var(--po-scroll-ink,#fff)!important;text-shadow:none}
html.po-scroll-at-document-end .po-privacy-screen-scroll i::after{animation-direction:reverse!important}

/* Match ABOUT hero geometry and fixed, clipped background. */
.po-privacy{padding-top:var(--po-header-offset,0px)}
.po-privacy .pp-hero{position:relative;isolation:isolate;overflow:hidden;height:420px;min-height:0;max-height:none;background:#333}
.po-privacy .pp-hero>.pp-hero-media{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),url("privacy-hero.jpg") center 55%/cover no-repeat;transform:translate3d(0,var(--hero-offset,0px),0);pointer-events:none}
.pp-index{display:flex;align-items:stretch;height:33.1875px;margin:0;padding:0 max(28px,calc((100% - 1120px)/2));background:#eaeae3;box-shadow:inset 0 -1px #d9d9d2;overflow-x:auto;scrollbar-width:none;z-index:89}
.pp-index::-webkit-scrollbar{display:none}.pp-index.is-fixed{position:fixed;left:0;right:0;top:var(--po-index-top,0px)}
.pp-index a{display:flex;align-items:center;justify-content:center;gap:1em;flex:1 0 auto;height:100%;padding:0 14px;font-size:12px;line-height:1;white-space:nowrap;text-decoration:none}
.pp-index a span{font:400 12px/1 Oswald,sans-serif;color:#632d3e}.pp-index a:is(:hover,:focus-visible){background:#171717;color:#fff}.pp-index a:is(:hover,:focus-visible) span{color:inherit}
.po-privacy :is(.pp-group,.pp-clause){scroll-margin-top:var(--jump-offset,160px)}
@media(max-width:760px){.po-privacy .pp-hero{height:330px;min-height:0}.pp-index{height:35px;padding:0 10px}.pp-index a{padding:0 12px;gap:.6em}}

/* Use the same bundled Oswald face as ABOUT. */
@font-face {
  font-family: Oswald;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/oswald-regular.ttf") format("truetype");
}
.po-privacy .pp-hero .pp-brand,
.po-privacy .pp-hero .pp-english {
  font-family: Oswald, sans-serif;
  font-weight: 400;
}
/* English version (/en/privacy/) */
.pp-note{padding:22px 0 0;font-size:13px;line-height:1.8;color:#666}.pp-note a{text-decoration:underline;text-underline-offset:3px}
html[lang="en"] .pp-contact dl{grid-template-columns:130px minmax(0,1fr)}
@media(max-width:767px){html[lang="en"] .pp-contact dl{grid-template-columns:1fr}html[lang="en"] .pp-table td:nth-child(1)::before{content:"Recipient"}html[lang="en"] .pp-table td:nth-child(2)::before{content:"Information sent"}html[lang="en"] .pp-table td:nth-child(3)::before{content:"Purpose"}}
