@charset "UTF-8";

:root{
  --brown:      #291506;
  --brown-soft: #5a4632;
  --gold:       #c4965a;
  --gold-deep:  #b78331;
  --cream:      #fbf6ee;
  --cream-card: #ffffff;
  --line:       #e4d8c7;
  --serif: "Noto Serif JP", serif;
  --sans:  "Noto Sans JP", sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
img{ max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
ol,ul{ list-style:none; }

body{
  font-family:var(--sans);
  color:var(--brown);
  background:#efe6d8;
  line-height:1.9;
  -webkit-text-size-adjust:100%;
  font-feature-settings:"palt";
}

.doc{
  max-width:760px;
  margin-inline:auto;
  background:var(--cream);
  min-height:100vh;
}

/* ===== ヘッダー ===== */
.doc__header{
  padding:24px 28px;
  border-bottom:1px solid var(--line);
  background:var(--cream);
}
.doc__logo{
  display:inline-block;
}
.doc__logo img{
  height:38px;
  width:auto;
  display:block;
}

/* ===== 本文 ===== */
.doc__main{
  padding:40px 28px 56px;
}
.doc__title{
  font-family:var(--serif);
  font-weight:600;
  font-size:28px;
  letter-spacing:.04em;
  color:var(--brown);
  text-align:center;
  padding-bottom:20px;
  margin-bottom: 20px;
  border-bottom:2px solid var(--gold);
}
.doc__lead{
  font-size:15px;
  color:var(--brown-soft);
  margin-bottom:36px;
}

/* 条文セクション（privacy） */
.doc__section{ margin-bottom:32px; }
.doc__section h2{
  font-family:var(--serif);
  font-weight:600;
  font-size: 17px;
  color:var(--brown);
  letter-spacing: .01em;
  padding-left:14px;
  border-left:4px solid var(--gold);
  margin-bottom:12px;
}
.doc__section p{ font-size:15px; color:var(--brown-soft); }
.doc__section ol{
  counter-reset:item;
  margin-top:10px;
}
.doc__section ol li{
  counter-increment:item;
  position:relative;
  padding-left:32px;
  margin-bottom:8px;
  font-size:15px;
  color:var(--brown-soft);
}
.doc__section ol li::before{
  content:"("counter(item)")";
  position:absolute;
  left:0;
  color:var(--gold-deep);
  font-weight:700;
}

.doc__company{
  margin-top:12px;
  padding:16px 20px;
  background:var(--cream-card);
  border:1px solid var(--line);
  border-radius:8px;
}
.doc__company p{ font-size:15px; }

/* 表（terms） */
.doc__table{
  background:var(--cream-card);
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.doc__row{
  display:flex;
  border-bottom:1px solid var(--line);
}
.doc__row:last-child{ border-bottom:none; }
.doc__row dt{
  flex:0 0 38%;
  padding:18px 20px;
  background:#f4ece0;
  font-family:var(--serif);
  font-weight:500;
  font-size:14px;
  color:var(--brown);
  letter-spacing:.02em;
  display:flex;
  align-items:center;
}
.doc__row dd{
  flex:1;
  padding:18px 20px;
  font-size:14px;
  color:var(--brown-soft);
}

.doc__date{
  margin-top:36px;
  text-align:right;
  font-size:14px;
  color:var(--brown-soft);
}

/* ===== フッター ===== */
.doc__footer{
  background:var(--brown);
  color:#f3eadc;
  text-align:center;
  padding:32px 24px;
}
.doc__nav{ font-size:12px; }
.doc__nav a{ text-decoration:underline; }
.doc__sep{ margin:0 12px; opacity:.6; }
.doc__back{
  display:inline-block;
  margin-top:18px;
  font-size:14px;
  color:var(--gold);
  text-decoration:underline;
}
.doc__copy{
  margin-top:20px;
  font-size:12px;
  opacity:.65;
}

.sec__2 {
  margin-top: 40px;
}
.doc__text {
  margin-bottom: 20px;
}
/* ===== スマホ ===== */
@media (max-width:600px){
  .doc__main{ padding:32px 20px 48px; }
  .doc__title{font-size: 20px;}
  .doc__row{ flex-direction:column; }
  .doc__row dt{ flex:none; }
}
