body {
  margin: 0;
  font-family: "Noto Sans JP", "Avenir Next", sans-serif;
  color: #201310;
  background:
    radial-gradient(circle at top left, rgba(215, 97, 55, 0.22), transparent 28%),
    radial-gradient(circle at bottom right, rgba(240, 178, 140, 0.24), transparent 24%),
    linear-gradient(180deg, #fbf2e8 0%, #f6eee8 46%, #efe4da 100%);
}

a,a:visited,a:hover,a:active { text-decoration: none !important; color: inherit; }
li { list-style: none; }

.header,.main,.footer { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.header {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:92px; padding-top:18px; padding-bottom:18px;
}
.header-logo { font-size:30px; font-weight:800; }
.header-logo a {
  display:inline-flex; align-items:center; min-height:52px; padding:0 20px;
  border-radius:999px; background:rgba(255,255,255,.62); box-shadow:0 12px 30px rgba(78,31,14,.08);
}
.header-list ul,.footer-list ul { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0; padding:0; }
.header-list ul { justify-content:flex-end; }
.header-list li,.footer-list li { padding:0; }
.header-list li a {
  display:inline-flex; align-items:center; min-height:44px; padding:0 16px;
  border-radius:999px; background:rgba(255,255,255,.56); color:#6f5951; font-size:14px; font-weight:700;
}
.main {
  padding-top:22px; padding-bottom:48px;
  border:1px solid rgba(255,255,255,.75); border-radius:28px; background:rgba(255,251,247,.82);
  backdrop-filter: blur(10px); box-shadow:0 20px 50px rgba(78,31,14,.12); padding:36px 28px;
}
.main p { margin: 0 0 12px; color:#6f5951; line-height:1.9; }
.privacy-main {
  max-width: 960px;
}

.policy-head {
  margin-bottom: 26px;
}

.policy-label {
  margin: 0 0 8px !important;
  color: #8c3117 !important;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.privacy-main h1 {
  margin: 0 0 18px;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}

.privacy-main h2 {
  margin: 28px 0 10px;
  font-size: 1.2rem;
  line-height: 1.5;
}

.privacy-main ul {
  margin: 0 0 18px;
  padding: 0;
}

.privacy-main li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 1.1em;
  color: #6f5951;
  line-height: 1.9;
}

.privacy-main li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #8c3117;
}

.inline-link {
  color: #8c3117 !important;
  font-weight: 700;
}

.policy-date {
  margin-top: 28px !important;
  color: #8c3117 !important;
  font-size: 0.95rem;
}

.footer { display:flex; justify-content:center; padding-top:12px; padding-bottom:36px; }
.footer-list { width:100%; padding:22px 24px; border-radius:28px; background:rgba(32,19,16,.92); color:#fffaf6; }
.footer-list ul { justify-content:center; }

@media (max-width:860px) {
  .header { flex-direction:column; align-items:flex-start; }
  .header-list ul { justify-content:flex-start; }
}
@media (max-width:640px) {
  .header,.main,.footer { padding-left:16px; padding-right:16px; }
  .main,.footer-list { border-radius:22px; }
  .main { padding:28px 20px; }
}
