.terms .inner {
    max-width: calc(120rem + 16rem);
}
.terms .hgroup {
    padding: 16rem 0 15rem;
    text-align: center;
}
.terms .hgroup h2 {
    line-height: 1.25;
    font-size: 5.2rem;
    text-transform: uppercase;
}
.terms .hgroup .txt {
    margin-top: 1.2rem;
    line-height: 1.6;
    font-size: 2rem;
    font-weight: 500;
}
.terms .content .txt a {
    position: relative;
    color: #666;
}
.terms .content .txt a span {
    box-shadow: inset 0 -1px 0 #666;
}

.terms .content .date .title {
    display: block;
    line-height: 1.6;
    font-size: 2.8rem;
}
.terms .content .date .txt {
    margin-top: 6rem;
    line-height: 1.6;
    color: #666;
    font-size: 1.8rem;
    font-weight: 500;
}
.terms .content .date .btn_area {
    margin-top: 4rem;
}
.terms .content .article {
    position: relative;
    margin-top: 10rem;
    padding-top: 10rem;
}
.terms .content .article::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 1px;
    background: #D9D9D9;
}
.terms .content .article:first-child,
.terms .content .article .txt:first-child.terms .content .article:first-child {
    margin-top: 0;
    padding-top: 0;
}
.terms .content .article:first-child::before {
    display: none;
}
.terms .content .article h3 {
    line-height: 1.45;
    font-size: 2.8rem;
}
.terms .content .article h4 {
    position: relative;
    margin-top: 2.4rem;
    padding-left: 1.2rem;
    line-height: 1.25;
    font-size: 1.8rem;
}
.terms .content .article h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: .5rem;
    width: .4rem;
    height: 1.2rem;
    background: var(--point-color);
}
.terms .content .article h4 + .txt {
    margin-top: .6rem;
    font-size: 1.6rem;
}
.terms .content .article h4 + .txt + .default_list + .txt {
    margin-top: 1.2rem;
    font-size: 1.6rem;
}
.terms .content .article .txt {
    margin-top: 2.4rem;
    line-height: 1.6;
    color: #666;
    font-size: 1.8rem;
    font-weight: 500;
}
.terms .content .article .txt + .txt {
    margin-top: 4rem;
}
.terms .content .article .txt b {
    font-weight: 700;
}
/* .terms .content .article .txt a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #666;
} */
.terms .content .article .txt + .dot_list {
    margin-top: 1.2rem;
}
.terms .content .article .dot_list + .txt {
    margin-top: 4rem;
}
.terms .content .article .default_list {
    margin-top: 1.2rem;
}
.terms .content .article .default_list li {
    line-height: 1.6;
    color: #666;
    font-size: 1.6rem;
    font-weight: 500;
}
.terms .content .article .default_list li a {
    color: #000;
}
.terms .content .article .default_list li a span {
    box-shadow: inset 0 -1px 0 #000;
}
/* .terms .content .article .default_list li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #666;
} */
.terms .content .article .btn_area {
    margin-top: 4rem;
}
.terms .content .article .btn_area + .txt {
    margin-top: 4rem;
}
.terms .content .article .download {
    margin-top: 4rem;
    padding: 4rem;
    background: #F3F3F3;
}
.terms .content .article .download_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem 8rem;
}
.terms .content .article .download_list li {
    position: relative;
    padding-left: 1rem;
    line-height: 1.6;
    font-size: 1.6rem;
    font-weight: 500;
}
.terms .content .article .download_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.1rem;
    width: .4rem;
    height: .4rem;
    border-radius: 99rem;
    background: #000;
}
.terms .content .article .download_list li a {
    color: #000;
    /* text-transform: uppercase; */
}
.terms .content .article .download_list li a.keep {
    /* text-transform: none; */
}
.terms .content .article .state {
    margin-top: 4rem;
    padding: 4rem;
    background: #F3F3F3;
}
.terms .content .article .state h3 {
    text-align: center;
    line-height: 1.45;
    font-size: 2.4rem;
}
.terms .content .article .state .txt {
    font-size: 1.6rem;
}
.terms .content .article .accessibility {
    margin-top: 4rem;
    text-align: center;
}
.terms .content .article .accessibility img {
    width: 40.4rem;
}
.terms .content .article .accessibility .btn_area {
    margin-top: 2.4rem;
}
.terms .content .article .accessibility .txt {
    text-align: left;
}
.terms .content .article .dot_list {
    margin-top: 2.4rem;
}
.terms .content .article .dot_list li {
    position: relative;
    margin-top: .4rem;
    padding-left: 1rem;
    line-height: 1.6;
    font-size: 1.6rem;
    font-weight: 500;
}
.terms .content .article .dot_list li:first-child {
    margin-top: 0;
}
.terms .content .article .dot_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.1rem;
    width: .4rem;
    height: .4rem;
    border-radius: 99rem;
    background: #000;
}
.terms .content .article .guide_list {
    display: flex;
    gap: 1.6rem;
}
.terms .content .article .guide_list > li {
    position: relative;
    width: calc(100% / 2);
    padding: 3rem;
    border: 1px solid #D9D9D9;
    border-radius: .4rem;
    background: #F3F3F3;
}
.terms .content .article .guide_list > li .title {
    text-transform: uppercase;
    line-height: 1.25;
    font-size: 2.4rem;
}
.terms .content .article .guide_list > li .txt {
    margin-top: 1.2rem;
    line-height: 1.25;
    font-size: 1.6rem;
}
.terms .content .article .guide_list .dot_list li {
    margin-top: 0;
    padding-left: 1.6rem;
}

.terms .content .article .guide_list .btn_area {
    display: flex;
    gap: 1.2rem;
}

.terms .btn_gray_line.large .go::before {
    width: 1.3rem;
    height: 1.3rem;
    background-image: url("../images/common/btn_go_black.svg");
}

/* only pc hover */
@media (hover: hover) and (min-width: 1181px) {
    .terms .btn_gray_line.large:hover .go::before {
        background-image: url("../images/common/btn_go_red.svg");
    }
}

@media (max-width: 1919px) {
    .terms .inner {
        max-width: calc(calc(100vw * (1200 / 1919)) + calc(100vw * (160 / 1919)));
    }
    .terms .hgroup {
        padding: calc(100vw * (160 / 1919)) 0 calc(100vw * (150 / 1919));
    }
    .terms .hgroup h2 {
        font-size: calc(100vw * (52 / 1919));
    }
    .terms .hgroup .txt {
        margin-top: calc(100vw * (12 / 1919));
        font-size: calc(100vw * (20 / 1919));
    }
    .terms .content .date .title {
        font-size: calc(100vw * (20 / 1919));
    }
    .terms .content .date .txt {
        margin-top: calc(100vw * (60 / 1919));
        font-size: calc(100vw * (18 / 1919));
    }
    .terms .content .date .btn_area {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article {
        margin-top: calc(100vw * (100 / 1919));
        padding-top: calc(100vw * (100 / 1919));
    }
    .terms .content .article h3 {
        font-size: calc(100vw * (28 / 1919));
    }
    .terms .content .article h4 {
        margin-top: calc(100vw * (24 / 1919));
        padding-left: calc(100vw * (12 / 1919));
        font-size: calc(100vw * (18 / 1919));
    }
    .terms .content .article h4::before {
        top: calc(100vw * (5 / 1919));
        width: calc(100vw * (4 / 1919));
        height: calc(100vw * (12 / 1919));
    }
    .terms .content .article h4 + .txt {
        margin-top: calc(100vw * (6 / 1919));
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article h4 + .txt + .default_list + .txt {
        margin-top: calc(100vw * (12 / 1919));
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .txt {
        margin-top: calc(100vw * (24 / 1919));
        font-size: calc(100vw * (18 / 1919));
    }
    .terms .content .article .txt + .txt {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article .txt + .dot_list {
        margin-top: calc(100vw * (12 / 1919));
    }
    .terms .content .article .dot_list + .txt {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article .default_list {
        margin-top: calc(100vw * (12 / 1919));
    }
    .terms .content .article .default_list li {
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .btn_area {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article .btn_area + .txt {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article .download {
        margin-top: calc(100vw * (40 / 1919));
        padding: calc(100vw * (40 / 1919));
    }
    .terms .content .article .download_list {
        gap:calc(100vw * (12 / 1919)) calc(100vw * (80 / 1919));
    }
    .terms .content .article .download_list li {
        padding-left: calc(100vw * (10 / 1919));
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .download_list li::before {
        top: calc(100vw * (11 / 1919));
        width: 4px;
        height: 4px
    }
    .terms .content .article .state {
        margin-top: calc(100vw * (40 / 1919));
        padding: calc(100vw * (40 / 1919));
    }
    .terms .content .article .state h3 {
        font-size: calc(100vw * (24 / 1919));
    }
    .terms .content .article .state .txt {
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .accessibility {
        margin-top: calc(100vw * (40 / 1919));
    }
    .terms .content .article .accessibility img {
        width: calc(100vw * (404 / 1919));
    }
    .terms .content .article .accessibility .btn_area {
        margin-top: calc(100vw * (24 / 1919));
    }
    .terms .content .article .dot_list {
        margin-top: calc(100vw * (24 / 1919));
    }
    .terms .content .article .dot_list li {
        margin-top: calc(100vw * (4 / 1919));
        padding-left: calc(100vw * (10 / 1919));
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (11 / 1919));
        width: 4px;
        height: 4px
    }
    .terms .content .article .guide_list {
        gap: calc(100vw * (16 / 1919));
    }
    .terms .content .article .guide_list > li {
        padding: calc(100vw * (30 / 1919));
        border-radius: calc(100vw * (4 / 1919));
    }
    .terms .content .article .guide_list > li .title {
        font-size: calc(100vw * (24 / 1919));
    }
    .terms .content .article .guide_list > li .txt {
        margin-top: calc(100vw * (12 / 1919));
        font-size: calc(100vw * (16 / 1919));
    }
    .terms .content .article .guide_list .dot_list li {
        padding-left: calc(100vw * (16 / 1919));
    }
    .terms .content .article .guide_list .btn_area {
        gap: calc(100vw * (12 / 1919));
    }
    
    
    .terms .btn_gray_line.large .go::before {
        width: calc(100vw * (13 / 1919));
        height: calc(100vw * (13 / 1919));
    }
}
@media (max-width: 1600px) {
    .terms .content .article .download_list li::before {
        top: calc(100vw * (8 / 1600));
        width: 3px;
        height: 3px;
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (8 / 1600));
        width: 3px;
        height: 3px;
    }
}
@media (max-width: 1180px) {
    .terms .inner {
        max-width: 100%;
    }
    .terms .hgroup {
        padding: calc(100vw * (100 / 1180)) 0;
    }
    .terms .hgroup h2 {
        font-size: calc(100vw * (56 / 1180));
    }
    .terms .hgroup .txt {
        margin-top: calc(100vw * (12 / 1180));
        font-size: calc(100vw * (22 / 1180));
    }
    
    .terms .content .date .title {
        font-size: calc(100vw * (20 / 1180));
    }
    .terms .content .date .txt {
        margin-top: calc(100vw * (60 / 1180));
        font-size: calc(100vw * (20 / 1180));
    }
    .terms .content .date .btn_area {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article {
        margin-top: calc(100vw * (100 / 1180));
        padding-top: calc(100vw * (100 / 1180));
    }
    .terms .content .article h3 {
        font-size: calc(100vw * (28 / 1180));
    }
    .terms .content .article h4 {
        margin-top: calc(100vw * (24 / 1180));
        padding-left: calc(100vw * (12 / 1180));
        font-size: calc(100vw * (20 / 1180));
    }
    .terms .content .article h4::before {
        top: calc(100vw * (5 / 1180));
        width: calc(100vw * (4 / 1180));
        height: calc(100vw * (12 / 1180));
    }
    .terms .content .article h4 + .txt {
        margin-top: calc(100vw * (6 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }
    .terms .content .article h4 + .txt + .default_list + .txt {
        margin-top: calc(100vw * (12 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }
    .terms .content .article .txt {
        margin-top: calc(100vw * (24 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .txt + .txt {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article .txt + .dot_list {
        margin-top: calc(100vw * (12 / 1180));
    }
    .terms .content .article .dot_list + .txt {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article .default_list {
        margin-top: calc(100vw * (12 / 1180));
    }
    .terms .content .article .default_list li {
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .btn_area {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article .btn_area + .txt {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article .download {
        margin-top: calc(100vw * (40 / 1180));
        padding: calc(100vw * (40 / 1180));
    }
    .terms .content .article .download_list {
        gap:calc(100vw * (12 / 1180)) calc(100vw * (80 / 1180));
    }
    .terms .content .article .download_list li {
        padding-left: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .download_list li::before {
        top: calc(100vw * (11 / 1180));
        width: 4px;
        height: 4px
    }
    .terms .content .article .state {
        margin-top: calc(100vw * (40 / 1180));
        padding: calc(100vw * (40 / 1180));
    }
    .terms .content .article .state h3 {
        font-size: calc(100vw * (24 / 1180));
    }
    .terms .content .article .state .txt {
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .accessibility {
        margin-top: calc(100vw * (40 / 1180));
    }
    .terms .content .article .accessibility img {
        width: calc(100vw * (404 / 1180));
    }
    .terms .content .article .accessibility .btn_area {
        margin-top: calc(100vw * (24 / 1180 ));
    }
    .terms .content .article .dot_list {
        margin-top: calc(100vw * (24 / 1180));
    }
    .terms .content .article .dot_list li {
        margin-top: calc(100vw * (4 / 1180));
        padding-left: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (11 / 1180));
        width: 4px;
        height: 4px
    }
    .terms .content .article .guide_list {
        gap: calc(100vw * (16 / 1180));
    }
    .terms .content .article .guide_list > li {
        padding: calc(100vw * (30 / 1180));
        border-radius: calc(100vw * (4 / 1180));
    }
    .terms .content .article .guide_list > li .title {
        font-size: calc(100vw * (24 / 1180));
    }
    .terms .content .article .guide_list > li .txt {
        margin-top: calc(100vw * (12 / 1180));
        font-size: calc(100vw * (18 / 1180));
    }
    .terms .content .article .guide_list .dot_list li {
        padding-left: calc(100vw * (16 / 1180));
        font-size: calc(100vw * (16 / 1180));
    }
    .terms .content .article .guide_list .dot_list li::before {
        top: calc(100vw * (10 / 1180));
    }
    .terms .content .article .guide_list .btn_area {
        gap: calc(100vw * (12 / 1180));
    }
    
    .terms .btn_gray_line.large .go::before {
        width: calc(100vw * (13 / 1180));
        height: calc(100vw * (13 / 1180));
    }
}

@media (max-width: 1024px) {
    .terms .content .article .download_list li::before {
        top: calc(100vw * (11 / 1024));
        width: 3px;
        height: 3px;
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (11 / 1024));
        width: 3px;
        height: 3px;
    }
    .terms .content .article .guide_list .dot_list li::before {
        top: calc(100vw * (8 / 1024));
    }
}

@media (max-width: 767px) {
    .terms .hgroup {
        padding: calc(100vw * (128 / 767)) 0;
    }
    .terms .hgroup h2 {
        margin-top: calc(100vw * (20 / 767));
        font-size: calc(100vw * (68 / 767));
    }
    .terms .hgroup .txt {
        margin-top: calc(100vw * (16 / 767));
        font-size: calc(100vw * (32 / 767));
    }

    .terms .content .txt a span {
        box-shadow: inset 0 calc(100vw * (-2 / 767)) 0 #666;
    }
    
    .terms .content .date .title {
        font-size: calc(100vw * (32 / 767));
    }
    .terms .content .date .txt {
        margin-top: calc(100vw * (80 / 767));
        font-size: calc(100vw * (32 / 767));
    }
    .terms .content .date .btn_area {
        margin-top: calc(100vw * (60 / 767));
    }
    .terms .content .article {
        margin-top: calc(100vw * (100 / 767));
        padding-top: calc(100vw * (100 / 767));
    }
    .terms .content .article h3 {
        font-size: calc(100vw * (44 / 767));
    }
    .terms .content .article h4 {
        margin-top: calc(100vw * (28 / 767));
        padding-left: calc(100vw * (20 / 767));
        font-size: calc(100vw * (32 / 767));
    }
    .terms .content .article h4::before {
        top: calc(100vw * (8 / 767));
        width: calc(100vw * (8 / 767));
        height: calc(100vw * (24 / 767));
    }
    .terms .content .article h4 + .txt {
        margin-top: calc(100vw * (8 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article h4 + .txt + .default_list + .txt {
        margin-top: calc(100vw * (12 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .txt {
        margin-top: calc(100vw * (28 / 767));
        font-size: calc(100vw * (32 / 767));
    }
    .terms .content .article .txt + .txt {
        margin-top: calc(100vw * (40 / 767));
    }
    .terms .content .article .txt + .dot_list {
        margin-top: calc(100vw * (12 / 767));
    }
    .terms .content .article .dot_list + .txt {
        margin-top: calc(100vw * (40 / 767));
    }
    .terms .content .article .default_list {
        margin-top: calc(100vw * (12 / 767));
    }
    .terms .content .article .default_list li {
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .default_list li a span {
        box-shadow: inset 0 calc(100vw * (-2 / 767)) 0 #000;
    }
    .terms .content .article .btn_area {
        margin-top: calc(100vw * (60 / 767));
    }
    .terms .content .article .btn_area a + a {
        margin-top: calc(100vw * (20 / 767));
    }
    .terms .content .article .btn_area + .txt {
        margin-top: calc(100vw * (60 / 767));
    }
    .terms .content .article .download {
        margin-top: calc(100vw * (40 / 767));
        padding: calc(100vw * (40 / 767));
    }
    .terms .content .article .download_list {
        grid-template-columns: repeat(2, 1fr);
        gap:calc(100vw * (24 / 767)) calc(100vw * (80 / 767));
    }
    .terms .content .article .download_list li {
        padding-left: calc(100vw * (20 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .download_list li::before {
        top: calc(100vw * (17 / 767));
        width: 8px;
        height: 8px
    }
    .terms .content .article .state {
        margin-top: calc(100vw * (60 / 767));
        padding: calc(100vw * (40 / 767));
    }
    .terms .content .article .state h3 {
        font-size: calc(100vw * (40 / 767));
    }
    .terms .content .article .state .txt {
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .accessibility {
        margin-top: calc(100vw * (60 / 767));
    }
    .terms .content .article .accessibility img {
        width: calc(100vw * (560 / 767));
    }
    .terms .content .article .accessibility .btn_area {
        margin-top: calc(100vw * (48 / 767));
    }
    .terms .content .article .dot_list {
        margin-top: calc(100vw * (24 / 767));
    }
    .terms .content .article .dot_list li {
        margin-top: calc(100vw * (4 / 767));
        padding-left: calc(100vw * (20 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (17 / 767));
        width: 8px;
        height: 8px
    }
    .terms .content .article .guide_list {
        flex-direction: column;
        gap: calc(100vw * (16 / 767));
    }
    .terms .content .article .guide_list > li {
        width: 100%;
        padding: calc(100vw * (30 / 767));
        border-radius: calc(100vw * (4 / 767));
    }
    .terms .content .article .guide_list > li .title {
        font-size: calc(100vw * (36 / 767));
    }
    .terms .content .article .guide_list > li .txt {
        margin-top: calc(100vw * (12 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .guide_list .dot_list {
        margin-top: calc(100vw * (60 / 767));
    }
    .terms .content .article .guide_list .dot_list li {
        padding-left: calc(100vw * (20 / 767));
        font-size: calc(100vw * (28 / 767));
    }
    .terms .content .article .guide_list .dot_list li::before {
        top: calc(100vw * (17 / 767));
    }
    .terms .content .article .guide_list .btn_area {
        display: block;
    }
    .terms .btn_gray_line.large .go::before {
        width: calc(100vw * (20 / 767));
        height: calc(100vw * (20 / 767));
        background-image: url("../images/common/btn_go_black_m.svg");
    }
}

@media (max-width: 650px) {
    .terms .content .article .download_list li::before {
        top: calc(100vw * (16 / 650));
        width: 6px;
        height: 6px;
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (16 / 650));
        width: 6px;
        height: 6px; 
    }
    .terms .content .article .guide_list .dot_list li::before {
        top: calc(100vw * (16 / 650));
    }
}

@media (max-width: 430px) {
    .terms .content .article .download_list li::before {
        top: calc(100vw * (11 / 430));
        width: 4px;
        height: 4px;
    }
    .terms .content .article .dot_list li::before {
        top: calc(100vw * (11 / 430));
        width: 4px;
        height: 4px;
    }
    .terms .content .article .guide_list .dot_list li::before {
        top: calc(100vw * (11 / 430));
    }
}