@charset "UTF-8";

#Header {
    height: 71px;
}

/* 900 */
@media screen and (max-width: 900px) {
    #Header {
        height: 18vw;
    }
}

/* terms-content
---------------------------------------------------*/
.terms-content {
    width: 96%;
    max-width: 880px;
    padding: 80px 0 120px;
    margin: 0 auto;
}
.terms-content .headline {
    background-color: var(--section-color);
    border-radius: 24px;
    padding: 24px 32px;
    margin-bottom: 64px;
}
.terms-content .headline p {
    font-weight: 500;
    font-variation-settings: "wght" 500;/*Medium*/
    line-height: 1.8;
    letter-spacing: 0.06em;
}
.terms-content .headline a {
    color: #977949;
    text-decoration: underline;
}
.terms-content .headline a:hover {
    color: var(--point-color);
}

/* guideline-wrap */
.guideline-wrap dl + dl {
    margin-top: 48px;
}
/* dt */
.guideline-wrap dl dt {
    position: relative;
    line-height: 1.4;
    font-size: 24px;
    font-weight: 500;
    font-variation-settings: "wght" 500;/*Medium*/
    letter-spacing: 0.06em;
    border-bottom: 1px solid #A19B8D;
    padding-left: 40px;
    padding-bottom: 24px;
    margin-bottom: 20px;
}
.guideline-wrap dl dt::before {
    position: absolute;
    content: '';
    top: 7px;
    left: 5px;
    width: 24px;
    aspect-ratio: 1 / 1;
    border: 6px solid var(--font-color);
    border-radius: 50%;
}
/* dd */
.guideline-wrap dd p {
    font-size: var(--font-size-m);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
}
.guideline-wrap dd p + *{
    margin-top: 24px;
}
.guideline-wrap ol + p,
.guideline-wrap ul + p {
    margin-top: 24px;
}
.guideline-wrap dd > ul,
.guideline-wrap dd > ol {
    margin-left: 24px;
}
.guideline-wrap dd > ul > li,
.guideline-wrap dd > ol > li {
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.guideline-wrap dd > ul > li:not(:last-child),
.guideline-wrap dd > ol > li:not(:last-child) {
    margin-bottom: 24px;
}
.guideline-wrap dd li > ul,
.guideline-wrap dd li > ol {
    margin-top: 24px;
}
.guideline-wrap dd li > ul > li,
.guideline-wrap dd li > ol > li {
    line-height: 1.5;
    font-size: var(--font-size-sn);
    font-weight: 500;
    font-variation-settings: "wght" 500;/*Medium*/
    letter-spacing: 0.06em;
}
.guideline-wrap dd li > ul > li:not(:last-child),
.guideline-wrap dd li > ol > li:not(:last-child) {
    margin-bottom: 8px;
}
/* end */
.end {
    text-align: right;
    line-height: 1.4;
    font-size: var(--font-size-sn);
    font-weight: 500;
    font-variation-settings: "wght" 500;/*Medium*/
    letter-spacing: 0.06em;
    margin-top: 52px;
}
/* signature */
.signature {
    margin-top: 80px;
}
.signature p {
    text-align: right;
    line-height: 1.8;
    font-weight: 500;
    font-variation-settings: "wght" 500;/*Medium*/
    letter-spacing: 0.06em;
}
.signature p:not(:last-of-type) {
    margin-bottom: 1.8em;
}

/* 900 */
@media screen and (max-width: 900px) {
    .terms-content {
        width: 92vw;
        padding: 16.25vw 0 18vw;
    }
    .terms-content .headline {
        border-radius: 4vw;
        padding: 2vw 4vw;
        margin-bottom: 16vw;
    }
    .terms-content .headline p {
        line-height: 1.6;
        font-size: var(--font-size-sn);
        letter-spacing: 0;
    }
    /* guideline-wrap */
    /* dt */
    .guideline-wrap dl dt {
        font-size: 5vw;
        letter-spacing: 0;
        padding-left: 8.5vw;
        padding-bottom: 4vw;
        margin-bottom: 5vw;
    }
    .guideline-wrap dl dt::before {
        top: 1vw;
        left: 0.5vw;
        width: 6vw;
        border-width: 1.5vw;
    }
    /* dd */
    .guideline-wrap dd p {
        letter-spacing: 0;
    }
    .guideline-wrap dd p + *{
        margin-top: 5vw;
    }
    .guideline-wrap ol + p,
    .guideline-wrap ul + p {
        margin-top: 5vw;
    }
    .guideline-wrap dd > ul,
    .guideline-wrap dd > ol {
        margin-left: 0;
    }
    .guideline-wrap dd > ul > li,
    .guideline-wrap dd > ol > li {
        letter-spacing: 0;
    }
    .guideline-wrap dd > ul > li:not(:last-child),
    .guideline-wrap dd > ol > li:not(:last-child) {
        margin-bottom: 5vw;
    }
    .guideline-wrap dd li > ul,
    .guideline-wrap dd li > ol {
        margin-top: 5vw;
    }
    .guideline-wrap dd li > ul > li,
    .guideline-wrap dd li > ol > li {
        letter-spacing: 0;
    }
    .guideline-wrap dd li > ul > li:not(:last-child),
    .guideline-wrap dd li > ol > li:not(:last-child) {
        margin-bottom: 1.5vw;
    }
    /* end */
    .end {
        letter-spacing: 0;
        margin-top: 6vw;
    }
    /* signature */
    .signature {
        margin-top: 34.25vw;
    }
}


.guideline-wrap dd li > ol.circlenum,
.guideline-wrap dd li > ul.annotation {
    margin-top: 0.2em;
}

.guideline-wrap dd li > ol.circlenum > li > ul.disc {
    margin-top: 0.5em;
}


/* page-links
---------------------------------------------------*/
.page-links {
    width: 100%;
    background-color: #E3DDD4;
    border-radius: 16px;
    padding: 16px;
    margin: 80px auto 0;
}
.page-links .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.06em;
    border-bottom: 1px solid #A19B8D;
    padding-bottom: 16px;
    margin-bottom: 16px;
}
.page-links ul li {
    line-height: 1.6;
    font-size: var(--font-size-m);
    font-weight: 700;
    letter-spacing: 0.06em;
}
.page-links ul li:not(:last-of-type) {
    margin-bottom: 8px;
}
.page-links ul li a {
    color: #977949;
    text-decoration-line: underline;
}
.page-links ul li a:hover {
    color: var(--point-color);
}

/* 900 */
@media screen and (max-width: 900px) {
    .page-links {
        border-radius: 2vw;
        padding: 2vw;
        margin-top: 14vw;
    }
    .page-links .title {
        font-size: 4vw;
        letter-spacing: 0;
        padding-bottom: 2vw;
        margin-bottom: 2vw;
    }
    .page-links ul li {
        font-size: var(--font-size-sn);
    }
    .page-links ul li:not(:last-of-type) {
        margin-bottom: 2vw;
    }
}


/* target = _blank
---------------------------------------------------*/
/*a[target="_blank"] {
    position: relative;
    padding-right: 28px;
    margin-right: 0.5em;
}
a[target="_blank"]::after {
    position: absolute;
    content: '';
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    background-image: url('../img/common/icon_window.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}*/

/* 900 */
/*@media screen and (max-width: 900px) {
    a[target="_blank"] {
        padding-right: 7vw;
    }
    a[target="_blank"]::after {
        width: 5vw;
        height: 5vw;
    }
}*/
