@charset "UTF-8";
/************************************
** 規約系ページ専用CSS
************************************/

/* 全角数字のリスト番号用。1〜9は全角、10以上は decimal にフォールバック（Chrome で10が0になる不具合対策） */
@counter-style terms-fullwidth {
  system: fixed;
  symbols: "１" "２" "３" "４" "５" "６" "７" "８" "９";
  suffix: "．";
  range: 1 9;
  fallback: decimal;
}

/* 全角数字・ suffix なし（(１)(２) 等のカッコ付き用） */
@counter-style terms-fullwidth-paren {
  system: fixed;
  symbols: "１" "２" "３" "４" "５" "６" "７" "８" "９";
  suffix: "";
  range: 1 9;
  fallback: decimal;
}

/* お引越しCSSの上書き */
.container {
  margin: 0 auto;
}
.pages {
  padding-top: 60px;
}
.content {
  margin: 0 auto;
}
.page_law .container {
  margin: 0 auto;
  width: 60% !important;
}
#footer {
  background-color: var(--color-grayscale-090);
}

@media screen and (max-width: 768px) {
  .pages {
    padding-top: 80px !important;
  }
}
/* common */
.terms__container {
  margin: 0 auto;
  max-width: 690px !important;
  width: 100%;
}
.terms .content__heading--main {
  margin-bottom: 32px;
}
.terms__heading_S {
  font-size: var(--font-size-heading-S);
  margin-bottom: 16px;
}
.terms__description p {
  margin-bottom: 32px;
}
.terms__tableWrapper {
  margin-bottom: 32px;
  overflow: auto;
}
.terms,
.terms .content__heading--main,
.terms dd,
.terms li {
  color: var(--color-grayscale-020);
}

.terms dt,
.terms dd,
.terms li {
  font-size: var(--font-size-content-S);
}
.terms dt {
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .terms__container {
    width: 90%;
    margin: 0 auto;
  }
}
/* 言語選択ボタン */
.language-btn-wrapper {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 0 auto 24px;
}
.language-btn-wrapper span {
  border: 1px solid var(--color-LinkusSecondary-020);
  border-radius: var(--border-radius-S);
  color: var(--color-LinkusSecondary-020);
  display: inline-block;
  line-height: 34px;
  text-align: center;
  width: 90px;
  white-space: nowrap;
}
.language-btn-wrapper span:hover {
  cursor: pointer;
  opacity: .4;
}
.language-btn-wrapper span.active {
  background-color: var(--color-LinkusSecondary-020);
  color: var(--color-grayscale-100);
  opacity: 1;
}
.language-btn-wrapper span.active:hover {
  cursor: default;
}

@media screen and (max-width: 640px) {
  .language-btn-wrapper .btn-wrapper {
    margin: 0;
    width: fit-content;
  }
}

/* 定義リスト */
.terms dd:last-of-type {
  margin-bottom: 0;
}
.terms__box {
  margin-bottom: 32px;
}
.terms__box dt {
  font-size: var(--font-size-content-M);
  margin-bottom: 8px;
}
.terms__box dd {
  margin-bottom: 24px;
}
.terms__box dd:last-of-type {
  margin-bottom: 0;
}
.terms__box li {
  margin-bottom: 8px;
  padding-left: 18px;
  text-indent: -18px;
}

/* 番号リスト（ol）はCSSの list-style で表示 */
.terms__container ol {
  list-style-type: terms-fullwidth;
  padding-left: 2rem;
}

/* 英語ブロック等：半角数字の順序付きリスト（.terms__container ol より優先） */
.terms__container ol.terms__list--decimal {
  list-style-type: decimal;
  margin: 8px 0 16px;
  padding-left: 1.75rem;
}
.terms__box dd ol.terms__list--decimal > li {
  margin-bottom: 12px;
  padding-left: .25em;
  text-indent: 0;
}
.terms__box dd ol.terms__list--decimal > li:last-child {
  margin-bottom: 0;
}

/* 入れ子の ol：番号を (１) (２) のように全角・カッコ付きで表示 */
.terms__container ol.terms__list--paren {
  list-style: none;
  margin: 16px 0;
  padding-left: 2rem;
}
.terms__container .terms__box > li {
  margin-bottom: 16px;
  padding-left: .25em;
  text-indent: 0;
}
ol.terms__list--paren > li::before {
  content: '(' counter(list-item, terms-fullwidth-paren) ') ';
  margin-right: .25em;
}
ol.terms__list--paren > li {
  padding-left: 0;
}

/* 内側の (1)(2)… 半角括弧付き（規約本文の入れ子リスト） */
.terms__container ol.terms__list--paren-decimal {
  counter-reset: terms-paren-decimal;
  list-style: none;
  margin: 8px 0 0;
  padding-left: 1rem;
}
.terms__box dd ol.terms__list--paren-decimal > li {
  counter-increment: terms-paren-decimal;
  margin-bottom: 8px;
  padding-left: 0;
  text-indent: 0;
}
.terms__box dd ol.terms__list--paren-decimal > li::before {
  content: '(' counter(terms-paren-decimal) ') ';
}
.terms__box dd ol.terms__list--paren-decimal > li:last-child {
  margin-bottom: 0;
}

/* 中黒（・）のリスト */
.terms__list--dot {
  list-style: none;
  margin: 8px 0 16px;
  padding-left: 1.5em;
}
.terms__list--dot li {
  padding-left: .25em;
  text-indent: 0;
}
.terms__list--dot li::before {
  content: '・';
  margin-right: .25em;
}
.terms__companyInfo {
  border: 1px solid var(--color-grayscale-070);
  border-radius: 8px;
  margin: 16px 0;
  padding: 16px 24px;
}
.terms__companyInfo .title {
  border-bottom: 1px solid var(--color-grayscale-070);
  font-size: var(--font-size-content-S);
  font-weight: bold;
  margin-bottom: 16px;
  padding-bottom: 8px;
}
.terms__companyInfo .companyName {
  font-size: var(--font-size-content-S);
  font-weight: bold;
  margin-bottom: 4px;
}
.terms__companyInfo .companyAddress {
  margin-bottom: 8px;
}

.terms__branch {
  margin-top: 16px;
}
.terms__branch dt {
  font-size: var(--font-size-content-S);
}
.terms__branch dd {
  padding-left: 16px;
}
.terms__list--paren-decimal li {
  padding-left: 1.4rem !important;
  text-indent: -1.4rem !important;
}

/* 改訂履歴 */
.terms__revisionHistory {
  margin-bottom: 32px;
}

/* メディア・メルマガ規約 */
.terms__section {
  margin-bottom: 32px;
}
.terms__heading {
  border-left: 4px solid var(--color-grayscale-060);
  font-size: var(--font-size-emphasize);
  font-weight: bold;
  margin-bottom: 16px;
  padding-left: 8px;
}
