/*
---------------------------------------
parts_ttl
---------------------------------------
*/

/*** page title ***/
.p_ttl--page > * {
    display: block;
    line-height: 1;
}
.p_ttl--page .ttl-en {
    font-size: 60px;
    font-weight: 300;
    letter-spacing: 0.225em;
    margin-bottom: 40px;
}
.p_ttl--page .ttl-ja {
    font-size: 23px;
    font-weight: 400;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 375px) {
    .p_ttl--page .ttl-en {
        font-size: 32px;
        margin-bottom: 25px;
    }
    .p_ttl--page .ttl-ja {
        font-size: 16px;
    }
}


/*** section title ***/
.p_ttl--section .p_ttl--section--inner {
    margin-bottom: 30px;
}
.p_ttl--section .ttl-en {
    display: block;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.225em;
}
.p_ttl--section .ttl-num {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.1em;
    padding-right: 27px;
    margin-right: 14px;
}
.p_ttl--section .ttl-num::after {
    content: "";
    position: absolute;
    display: block;
    width: 13px;
    height: 1px;
    background-color: #262928;
    top: 50%;
    right: 0;
    transform: translate3d(0, -50%, 0);
}
.p_ttl--section .p_ttl--section--inner.font-red .ttl-num::after {
    background-color: #E24934;
}
.dark-theme .p_ttl--section .ttl-num::after {
    background-color: #EDEDED;
}
.p_ttl--section .ttl-ja {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.p_ttl--section .ttl-ja--l {
    font-size: 43px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8488372;
}

@media screen and (max-width: 375px) {
    .p_ttl--section .ttl-en {
        font-size: 13px;
    }
    .p_ttl--section .ttl-num {
        font-size: 13px;
        padding-right: 17px;
        margin-right: 9px;
    }
    .p_ttl--section .ttl-num::after {
        width: 8px;
    }
    .p_ttl--section .ttl-ja,
    .p_ttl--section .ttl-ja--l {
        font-size: 18px;
        line-height: 1.77778;
    }
}
