@charset "UTF-8";
/* CSS Document */
/*-------------------------------*/
/* terms template//
counter-reset ==>
decimal = 数字（初期値）
decimal-leading-zero = 0つき数字（例：01、02、03）
lower-roman = ローマ数字（小文字）（例：ⅰ、ⅱ、ⅲ）
upper-roman = ローマ数字（大文字）（例：Ⅰ、Ⅱ、Ⅲ）
lower-alpha = アルファベット（小文字）（例：a、b、c）
upper-alpha = アルファベット（大文字）（例：A、B、C）
cjk-ideographic = 漢数字（例：一、二、三）
hiragana = ひらがな（例：あ、い、う）
katakana = カタカナ（例：ア、イ、ウ）
katakana-iroha = イロハ順（例：イ、ロ、ハ）
*/
/*------------------------------*/
/* root */
:root{
    /* 20px to 24px */
    --termsHeadline: clamp(1.25rem, 1.167rem + 0.42vw, 1.5rem);
    --termsHeadline--fb: calc(24rem/16);
    /* 17px to 18px */
    --termsHeadline-md: clamp(1.063rem, 1.042rem + 0.1vw, 1.125rem);
    --termsHeadline-md--fb: calc(18rem/16);
}
@media(max-width:559px){
    :root{
        --termsHeadline--fb: calc(20rem/16);
        --termsHeadline-md--fb: calc(17rem/16);
    }
}
/*------------------------------*/
/* 基礎設定 */
/* headline */
.termsHeadline{
    font-size: var(--termsHeadline--fb);
    font-size: var(--termsHeadline);
}
#termsList .termsHeadline{
    font-size: var(--termsHeadline-md--fb);
    font-size: var(--termsHeadline-md);
}
/* 連番//headline */
ol#termsList{
	counter-reset: headline;
}
ol#termsList > li.box > h3{
    padding-bottom: 1em;
    border-bottom: 1px solid var(--color-main-soft);

	list-style-type: decimal;

    display: flex;
    align-items: flex-start;
}
ol#termsList > li.box > h3::before{
	counter-increment: headline;
	content: "第"counter(headline) "条";
    display: table-cell;
    padding-right: 1em;
    text-align: right;
    min-width: 3.6em;
}
/* //その他の連番// */
/* 数字 */
#termsList ol.list{
    counter-reset: list-ol;
}
#termsList ol.list > li{
	list-style-type: decimal;
	margin: 0;
    padding: 0;
    line-height: 1.7;
    display: table-row;
    text-align: justify;
}
#termsList ol.list > li::before{
    counter-increment: list-ol;
    content: counter(list-ol) ".";
    display: table-cell;
    padding-right: 0.5em;
    text-align: right;
}
/* アルファベット */
#termsList ol.list.alphabet{
    counter-reset: list-lower-alpha;
}
#termsList ol.list.alphabet > li::before{
    counter-increment: list-lower-alpha;
    content: counter(list-lower-alpha,lower-alpha) ".";
}
/* カタカナ//イロハ */
#termsList ol.list.iroha{
    counter-reset: list-iroha;
}
#termsList ol.list.iroha > li::before{
    counter-increment: list-iroha;
    content: counter(list-iroha,katakana-iroha) "、";
    padding-right: 0;
}
/*------------------------------*/
/* マージン設定 */
/* リード */
#termsHello p{
    margin-top: 1em;
}
/* リスト */
#termsList{
    margin-top: 4em;
}
#termsList .box + .box{
    margin-top: 3em;
}
#termsList .list,
#termsList .txt,
#termsList table
{
    margin-top: 1em;
}
#termsList .listMargin{
    margin-top: 2em;
    display: block;
}
#termsList .list.alphabet,
#termsList .list.iroha
{
    margin-top: 0.3em;
}
/*------------------------------*/
/* テーブル*/
#termsList table{
    border: 1px solid var(--color-main-soft);
}
#termsList table tr th,
#termsList table tr td
{
	vertical-align: top;
    font-size: var(--txt-reg--fb);
    font-size: var(--txt-reg);
	font-weight: 400;
	padding: 0.3em 2em;
}
#termsList table tr:first-child th,
#termsList table tr:first-child td
{
    padding-top: 2em;
}
#termsList table tr:last-child th,
#termsList table tr:last-child td
{
    padding-bottom: 2em;
}
/*------------------------------*/
/* リンク */
#termsList a{
    color: var(--color-link);
    text-decoration: underline;
    transition: color .2s var(--linear);
}
/*-----------------------*/
/* hover設定 */
/*-----------------------*/
@media(any-hover:hover){
    #termsList a:hover,
    #termsList a:focus{
		color: var(--color-link--hover);
    }
}


/*-------------------------------*/
/* Smartphone */
/*------------------------------*/
@media(max-width:559px){
    /*------------------------------*/
    /* マージン設定 */
    /* リスト */
    #termsList{
        margin-top: 3em;
    }
    #termsList .listMargin{
        margin-top: 1.5em;
    }
    /*------------------------------*/
    /* テーブル*/
    #termsList table{
        text-align: left;
    }
    #termsList table tr{
        display: flex;
        flex-direction: column;
        padding: 0.5em 0;
    }
    #termsList table tr th,
    #termsList table tr td
    {
        padding: 0 1em;
    }
    #termsList table tr:first-child th,
    #termsList table tr:first-child td
    {
        padding: 0 1em;
    }
    #termsList table tr th{
        font-weight: 700;
    }
    #termsList table tr:first-child th{
        padding-top: 1em;
    }
    #termsList table tr:last-child th,
    #termsList table tr:last-child td
    {
        padding: 0 1em;
    }
    #termsList table tr:last-child td{
        padding: 0 1em;
        padding-bottom: 1em;
    }
}/*Smartphone END*/