@charset "UTF-8";

/* =========================================================
   下層ページ（法務ページ）共通スタイル
   ※ style.css を読み込んだ「あと」に読み込むこと
   ========================================================= */

body{ padding-bottom:0; }

.page-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px var(--pad);
  border-bottom:1px solid var(--c-line);
  background:var(--c-base);
}
.page-header__logo{
  font-family:var(--f-round);
  font-weight:900;
  font-size:19px;
  letter-spacing:.03em;
  color:var(--c-main);
  line-height:1.3;
}
.page-header__logo span{ color:var(--c-accent); }
.page-header__back{
  flex:0 0 auto;
  padding:7px 14px;
  border:1.5px solid var(--c-line);
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:var(--c-text-thin);
  white-space:nowrap;
}
.page-header__back:hover{ background:var(--c-cream); }

.page-main{ padding:36px var(--pad) 56px; }

.page-title{
  font-family:var(--f-round);
  font-size:clamp(21px,5.6vw,26px);
  font-weight:700;
  line-height:1.5;
  color:var(--c-main-d);
  text-align:center;
}
.page-title::after{
  content:"";
  display:block;
  width:48px; height:4px;
  margin:12px auto 0;
  border-radius:4px;
  background:var(--c-marker);
}
.page-updated{
  margin-top:14px;
  text-align:center;
  font-size:12px;
  color:var(--c-text-thin);
}

.page-lead{
  margin-top:28px;
  font-size:14px;
  line-height:1.95;
}

/* 本文（条文形式） */
.article{ margin-top:32px; }
.article h2{
  margin-top:32px;
  padding-left:12px;
  border-left:4px solid var(--c-main);
  font-family:var(--f-round);
  font-size:16px;
  font-weight:700;
  line-height:1.6;
  color:var(--c-main-d);
}
.article h2:first-child{ margin-top:0; }
.article p{ margin-top:12px; font-size:14px; line-height:1.95; }
.article ol,
.article ul{ margin-top:12px; display:grid; gap:8px; }
.article ol{ counter-reset:li; }
.article ol > li{
  position:relative;
  padding-left:28px;
  font-size:14px;
  line-height:1.9;
}
.article ol > li::before{
  counter-increment:li;
  content:"(" counter(li) ")";
  position:absolute; left:0; top:0;
  color:var(--c-main);
  font-weight:700;
  font-size:13px;
}
.article ul > li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.9;
}
.article ul > li::before{
  content:"";
  position:absolute; left:4px; top:.75em;
  width:6px; height:6px;
  border-radius:50%;
  background:var(--c-main);
}

/* 表（特商法・運営者情報） */
.info-table{
  width:100%;
  margin-top:8px;
  border-collapse:separate;
  border-spacing:0;
  border:1.5px solid var(--c-line);
  border-radius:14px;
  overflow:hidden;
  font-size:13.5px;
  line-height:1.85;
  text-align:left;
}
.info-table th,
.info-table td{
  padding:14px 16px;
  vertical-align:top;
  border-bottom:1px solid var(--c-line);
}
.info-table tr:last-child th,
.info-table tr:last-child td{ border-bottom:0; }
.info-table th{
  width:34%;
  background:var(--c-cream);
  font-weight:700;
  color:var(--c-main-d);
  border-right:1px solid var(--c-line);
}
@media (max-width:480px){
  .info-table,
  .info-table tbody,
  .info-table tr,
  .info-table th,
  .info-table td{ display:block; width:auto; }
  .info-table th{
    border-right:0;
    border-bottom:0;
    padding-bottom:4px;
    font-size:13px;
  }
  .info-table td{ padding-top:2px; }
}

/* 未記入マーカー：公開前に必ず差し替える箇所 */
.todo{
  display:inline-block;
  padding:1px 8px;
  border-radius:6px;
  background:#ffe0d9;
  border:1px dashed var(--c-accent);
  color:#b8432c;
  font-size:12.5px;
  font-weight:700;
}

.page-note{
  margin-top:36px;
  padding:16px 18px;
  border-radius:14px;
  background:var(--c-cream);
  font-size:13px;
  line-height:1.9;
}
.page-note strong{ color:var(--c-main-d); }

.page-backlink{
  margin-top:36px;
  text-align:center;
}
.page-backlink a{
  display:inline-block;
  padding:12px 28px;
  border-radius:999px;
  background:var(--c-main);
  color:#fff;
  font-family:var(--f-round);
  font-weight:700;
  font-size:14px;
}
.page-backlink a:hover{ background:var(--c-main-d); }

/* 開示請求の案内 */
.disclose-box{
  margin-top:24px;
  padding:18px 18px 16px;
  border-radius:14px;
  background:var(--c-cream);
  border:1.5px solid var(--c-line);
}
.disclose-box__title{
  font-family:var(--f-round);
  font-size:14px;
  font-weight:700;
  color:var(--c-main-d);
  margin-bottom:10px;
}
.disclose-box p{ font-size:13px; line-height:1.9; }
.disclose-box p + p{ margin-top:10px; }
.disclose-box__mail{
  margin-top:12px !important;
  padding-top:12px;
  border-top:1px dashed var(--c-line);
  font-weight:700;
}
.info-table td.disclose{ color:var(--c-text-thin); }
