/**********************************************************************/
/* 規約・ポリシー等の法務ページ
/**********************************************************************/

.legal{
  background: var(--c_white);
  color: var(--c_black);
  padding-block: 3.5rem 5rem;
  font-size: 15px;
}
.legal a{
  color: var(--c_primary);
  text-decoration: underline;
}
.legal a:hover{
  text-decoration: none;
}

/*--------------------------------------------------------------------*/
/* 見出し・リード */

.legal .title{
  line-height: 1.4;
  font-weight: 700;
  padding-bottom: 1.2em;
  margin-bottom: 2em;
  border-bottom: 2px solid var(--c_primary);
}
.legal .lead p{
  line-height: 2;
}
.legal .lead p + p{
  margin-top: 1em;
}

/*--------------------------------------------------------------------*/
/* 条 */

.legal .article{
  margin-top: 3em;
}
.legal .heading{
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: .6em;
  margin-bottom: 1.2em;
  border-bottom: 1px solid var(--c_border);
}
.legal .text{
  line-height: 2;
}
.legal .text + .text{
  margin-top: 1em;
}
.legal .text + ol{
  margin-top: .8em;
}

/*--------------------------------------------------------------------*/
/* 項番 1. 2. 3. */

.legal ol.decimal{
  counter-reset: decimal;
}
.legal ol.decimal > li{
  counter-increment: decimal;
  position: relative;
  padding-left: 2.2em;
  line-height: 2;
}
.legal ol.decimal > li + li{
  margin-top: .8em;
}
.legal ol.decimal > li::before{
  content: counter(decimal) ".";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.8em;
  font-weight: 600;
  color: var(--c_primary);
}

/*--------------------------------------------------------------------*/
/* 号番 (1) (2) (3) */

.legal ol.paren{
  counter-reset: paren;
}
.legal ol.decimal ol.paren{
  margin-top: .6em;
}
.legal ol.paren > li{
  counter-increment: paren;
  position: relative;
  padding-left: 2.8em;
  line-height: 2;
}
.legal ol.paren > li + li{
  margin-top: .4em;
}
.legal ol.paren > li::before{
  content: "(" counter(paren) ")";
  position: absolute;
  left: 0;
  top: 0;
  width: 2.4em;
}

/*--------------------------------------------------------------------*/
/* 制定日・署名 */

.legal .signature{
  margin-top: 4em;
  padding-top: 2em;
  border-top: 1px solid var(--c_border);
  text-align: right;
  line-height: 2;
}

/*--------------------------------------------------------------------*/
/* TOPへ戻る */

.legal .actions{
  margin-top: 3.5em;
  text-align: center;
}
.legal .actions .link{
  color: var(--c_primary);
  font-weight: 600;
  text-decoration: none;
}
.legal .actions .link:hover{
  text-decoration: underline;
}

/*--------------------------------------------------------------------*/
/* ヘッダーロゴをTOPへのリンクにしている */

header .headline .container .logo a{
  display: inline-block;
}

/*--------------------------------------------------------------------*/
footer{
  padding-top: 0;
}

/*--------------------------------------------------------------------*/
@media screen and (max-width: 520px){
  .legal{
    padding-block: 2.5rem 3.5rem;
    font-size: 14px;
  }
  .legal .heading{
    font-size: 16px;
  }
  .legal .article{
    margin-top: 2.5em;
  }
  .legal ol.decimal > li{
    padding-left: 1.9em;
  }
  .legal ol.paren > li{
    padding-left: 2.5em;
  }
}
