@charset "UTF-8";

.analytics-consent[hidden]{display:none!important}
.analytics-consent{
  position:fixed;
  z-index:1000;
  inset:auto 0 0;
  padding:14px;
  color:#2a2724;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
}
.analytics-consent__inner{
  width:min(960px,100%);
  margin-inline:auto;
  padding:18px 20px;
  border:1px solid #e6e1da;
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 38px rgba(42,39,36,.18);
  display:flex;
  align-items:center;
  gap:22px;
}
.analytics-consent__copy{flex:1;min-width:0}
.analytics-consent__title{
  margin:0 0 5px;
  font-size:16px;
  line-height:1.5;
  font-weight:700;
}
.analytics-consent__copy p{margin:0;font-size:13px;line-height:1.8;color:#5c564f}
.analytics-consent__copy a{text-decoration:underline;text-underline-offset:3px}
.analytics-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:0 0 290px}
.analytics-consent__button{
  min-height:46px;
  padding:10px 14px;
  border:1px solid #657a67;
  border-radius:999px;
  font:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  cursor:pointer;
}
.analytics-consent__button--decline{background:#fff;color:#4f624f}
.analytics-consent__button--accept{background:#657a67;color:#fff}
.analytics-consent__button:hover{filter:brightness(.96)}
.analytics-consent__button:focus-visible,
[data-analytics-settings]:focus-visible{
  outline:3px solid #244f80;
  outline-offset:3px;
}

.analytics-settings-button{
  appearance:none;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.privacy-page{
  min-height:100vh;
  margin:0;
  background:#fbfaf8;
  color:#2a2724;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
  line-height:1.9;
}
.privacy-header,.privacy-main,.privacy-footer{width:min(800px,calc(100% - 40px));margin-inline:auto}
.privacy-header{padding:34px 0 22px;border-bottom:1px solid #e6e1da}
.privacy-brand{display:inline-block;color:inherit;text-decoration:none;letter-spacing:.18em;font-family:Georgia,serif;font-size:20px}
.privacy-main{padding:58px 0 72px}
.privacy-main h1{font-size:clamp(28px,5vw,42px);line-height:1.45;margin:0 0 16px;font-weight:500}
.privacy-lead{font-size:16px;color:#5c564f;margin:0 0 48px}
.privacy-section{margin-top:42px}
.privacy-section h2{font-size:20px;line-height:1.6;margin:0 0 12px}
.privacy-section p,.privacy-section li{font-size:15px;color:#4d4842}
.privacy-section ul{padding-left:1.4em}
.privacy-section a{color:#3a566a;text-underline-offset:3px}
.privacy-note{padding:18px 20px;background:#f3f0eb;border-radius:10px}
.privacy-footer{padding:24px 0 46px;border-top:1px solid #e6e1da;font-size:13px;color:#6e675f}
.privacy-footer a{color:inherit}

@media (max-width:720px){
  .analytics-consent{padding:10px}
  .analytics-consent__inner{padding:16px;display:block}
  .analytics-consent__actions{margin-top:14px;grid-template-columns:1fr 1fr;width:100%}
}
@media (max-width:420px){
  .analytics-consent__actions{grid-template-columns:1fr}
  .analytics-consent__button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .analytics-consent *{scroll-behavior:auto!important;transition:none!important}
}
