@charset "UTF-8";

/*---------------------------
  
  1.共通

---------------------------*/

/* ================================================================
 * 
 * 共通
 * 
 * ================================================================ */

.policy__title{
    font-weight: var(--font-weight-medium);
    margin-bottom: 1.6rem;
}


.policy__subtitle{
    font-weight: var(--font-weight-medium);
    margin-bottom: 1.6rem;
}

.policy__subtitle--top{
    margin-top: 4.0rem;
}

/******************Media Queries******************/
/* --- 960px: Standard Desktop --- */
@media (min-width: 960px) {
    .policy__title{
        font-size: 4.8rem;
        margin-bottom: 3.2rem;
    }
    
    .policy__subtitle{
        font-size: 3.2rem;
        margin-bottom: 3.2rem;
    }

    .policy__subtitle--top{
        margin-top: 8.0rem;
    }
}


/* 右寄せ */
.policy__text--right,
.policy__list--right,
.policy__definition--right {
    text-align: right;
}

/******************Media Queries******************/
/* --- 960px: Standard Desktop --- */
@media (min-width: 960px) {
    .policy__definition,
    .policy__text,
    .policy__list,
    .policy__list-lv1,
    .policy__list-lv2{
        font-size: 1.8rem;
        line-height: 3.6rem;
    }
}

.policy__text{
    margin-bottom: 1.6rem;
}

.policy__text--no-margin{
    margin-bottom: 0;
}

.policy__link{
	color: var(--color-link);
}

.form__link-blank::after{
    content: "";
    display: inline-block;
    background: url(./../images/icon-link-blu.svg) no-repeat right bottom;
    width: 12px;
    height: 12px;
    margin-left: 0.5rem;
    margin-right: .5rem;
}

/*テキスト（注釈）*/
.policy__text--note {
  position: relative;
  padding-left: 1.2em;
  font-size: 0.9em;
}
.policy__text--note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}


/*リスト　スペル*/
.policy__list--alpha {
  list-style: none;
  padding-left: 2em;
  counter-reset: policy-alpha;
}

/* 各項目のスタイル */
.policy__list--alpha .policy__item {
  position: relative;
  margin-bottom: 0.5em;
}

/* 疑似要素で a), b), c)... を作成 */
.policy__list--alpha .policy__item::before {
  counter-increment: policy-alpha;
  content: counter(policy-alpha, lower-alpha) "） "; 
  
  /* 位置の調整 */
  position: absolute;
  left: -2em;
  font-weight: bold;
}


/* dl全体の設定 */
.policy__definition--horizontal {
    display: grid;
    grid-template-columns: max-content max-content;
    margin-bottom: 2.4rem;
}

/* 全体を右寄せにする場合（policy__definition--right 用） */
.policy__definition--right {
  justify-content: end;
}


/*問合せ先*/
.policy__contact{
    border: 1px solid var(--color-line);
    background:var(--color-bg-alt);
    border-radius: 6px;
    display: inline-block;
    padding: 2.4rem;
}

.policy__contact .policy__definition-term{
    font-weight: var(--font-weight-medium);
}


/* --- 親階層（Lv1）の数字設定 --- */
.policy__list-lv1 {
  counter-reset: lv1-counter; /* カウンター初期化 */
  margin-bottom: 30px;
}

.policy__item-lv1-term {
  counter-increment: lv1-counter; /* カウントアップ */
  font-weight: var(--font-weight-medium);
  display: flex;
  margin-top: 20px;
}

.policy__item-lv1-term:first-of-type{
    margin-top: 0;
}

.policy__item-lv1-term::before {
    content: counter(lv1-counter) ". "; /* 「数字. 」を付与 */
    width:3.0rem;
}

.policy__item-lv1-description {
  margin-left: 0;
  padding-left: 1.7em; /* 数字の分だけインデント */
}

/* --- 子階層（Lv2）の数字設定 --- */
.policy__list-lv2 {
  counter-reset: lv2-counter;
  margin-top: 15px;
}

.policy__list-lv2--no-margin{
    margin-top: 0;
}

.policy__item-lv2-term {
  counter-increment: lv2-counter;
  font-weight: var(--font-weight-medium);
  display: flex;
}

.policy__item-lv2-term::before {
  content: counter(lv2-counter) ". ";
  margin-right: 0.5em;
}

.policy__item-lv2-description {
  margin-left: 0;
  padding-left: 1.5em;
}

/* --- 中黒リスト（孫階層）の設定 --- */
.policy__bullet-list {
    padding-left: 0;
    margin-top: 10px;
    margin-bottom: 10px;
}

.policy__bullet-item {
  position: relative;
  padding-left: 1.2em;
}

.policy__bullet-item::before {
  content: "・"; /* 疑似要素で中黒を付与 */
  position: absolute;
  left: 0;
}

/* ナンバリングリストの親（ul） */
.policy__number-list {
  counter-reset: policy-counter; /* カウンターをリセット */
  list-style: none;             /* デフォルトのポッチを消す */
  padding-left: 0;
  margin: 10px 0;
}

/* 各項目（li） */
.policy__number-item {
  counter-increment: policy-counter; /* 1ずつ増やす */
  display: flex;                    /* 数字とテキストを横並びに */
  margin-bottom: 8px;
  line-height: 1.6;
}

/* 疑似要素で「数字. 」を生成 */
.policy__number-item::before {
  content: counter(policy-counter) ". "; /* 「1. 」形式 */
  font-weight: var(--font-weight-medium);
  margin-right: 0.5em;
  flex-shrink: 0; 
}

/* 第1階層の装飾*/
.policy__item-lv1-term {
  font-weight: var(--font-weight-medium);
  margin-top: 25px;
  padding-bottom: 5px;
}

.policy__item-lv1-description {
  margin-left: 0;
}