/*----------------------------------------------------------------------


汎用


----------------------------------------------------------------------*/

/* 影 */
.shadow {
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 5px 0px !important;
}

/* テキスト位置 */
.txt-right {
    text-align: right;
}
.txt-left {
    text-align: left;
}
.txt-center {
    text-align: center;
}

/* 幅（スマホ） */
@media screen and (max-width: 767px) {
    .sp-w05p {
        width: 5% !important;
    }
    .sp-w10p {
        width: 10% !important;
    }
    .sp-w15p {
        width: 15% !important;
    }
    .sp-w20p {
        width: 20% !important;
    }
    .sp-w25p {
        width: 25% !important;
    }
    .sp-w30p {
        width: 30% !important;
    }
    .sp-w35p {
        width: 35% !important;
    }
    .sp-w40p {
        width: 40% !important;
    }
    .sp-w45p {
        width: 45% !important;
    }
    .sp-w50p {
        width: 50% !important;
    }
    .sp-w55p {
        width: 55% !important;
    }
    .sp-w60p {
        width: 60% !important;
    }
    .sp-w65p {
        width: 65% !important;
    }
    .sp-w70p {
        width: 70% !important;
    }
    .sp-w75p {
        width: 75% !important;
    }
    .sp-w80p {
        width: 80% !important;
    }
    .sp-w85p {
        width: 85% !important;
    }
    .sp-w90p {
        width: 90% !important;
    }
    .sp-w95p {
        width: 95% !important;
    }
    .sp-w100p {
        width: 100% !important;
    }
}

/* 幅 */
@media screen and (min-width: 768px) {
    .w05p {
        width: 5% !important;
    }
    .w10p {
        width: 10% !important;
    }
    .w15p {
        width: 15% !important;
    }
    .w20p {
        width: 20% !important;
    }
    .w25p {
        width: 25% !important;
    }
    .w30p {
        width: 30% !important;
    }
    .w35p {
        width: 35% !important;
    }
    .w40p {
        width: 40% !important;
    }
    .w45p {
        width: 45% !important;
    }
    .w50p {
        width: 50% !important;
    }
    .w55p {
        width: 55% !important;
    }
    .w60p {
        width: 60% !important;
    }
    .w65p {
        width: 65% !important;
    }
    .w70p {
        width: 70% !important;
    }
    .w75p {
        width: 75% !important;
    }
    .w80p {
        width: 80% !important;
    }
    .w85p {
        width: 85% !important;
    }
    .w90p {
        width: 90% !important;
    }
    .w95p {
        width: 95% !important;
    }
    .w100p {
        width: 100% !important;
    }
}

/* margin-bottom */
@media screen and (max-width: 767px) {
    .sp-mb00 {
        margin-bottom: 0 !important;
    }
    .sp-mb05 {
        margin-bottom: 5px !important;
    }
    .sp-mb10 {
        margin-bottom: 10px !important;
    }
    .sp-mb15 {
        margin-bottom: 15px !important;
    }
    .sp-mb20 {
        margin-bottom: 20px !important;
    }
    .sp-mb25 {
        margin-bottom: 25px !important;
    }
    .sp-mb30 {
        margin-bottom: 30px !important;
    }
    .sp-mb35 {
        margin-bottom: 35px !important;
    }
    .sp-mb40 {
        margin-bottom: 40px !important;
    }
    .sp-mb45 {
        margin-bottom: 45px !important;
    }
    .sp-mb50 {
        margin-bottom: 50px !important;
    }
}

@media screen and (min-width: 768px) {
    .mb00 {
        margin-bottom: 0 !important;
    }
    .mb05 {
        margin-bottom: 5px !important;
    }
    .mb10 {
        margin-bottom: 10px !important;
    }
    .mb15 {
        margin-bottom: 15px !important;
    }
    .mb20 {
        margin-bottom: 20px !important;
    }
    .mb25 {
        margin-bottom: 25px !important;
    }
    .mb30 {
        margin-bottom: 30px !important;
    }
    .mb35 {
        margin-bottom: 35px !important;
    }
    .mb40 {
        margin-bottom: 40px !important;
    }
    .mb45 {
        margin-bottom: 45px !important;
    }
    .mb50 {
        margin-bottom: 50px !important;
    }
}

/* 表 */
.t-fix {
    table-layout: fixed;
}

/* 見出し直前の要素の下部マージン調整　一番下に書くのが望ましい
--------------------------------------------------- */
#page .contents-box p:has(+ h2),
#page .contents-box p:has(+ h3),
#page .contents-box p:has(+ h4),
#page .contents-box p:has(+ h5),
#page .contents-box ul:has(+ h2),
#page .contents-box ul:has(+ h3),
#page .contents-box ul:has(+ h4),
#page .contents-box ul:has(+ h5),
#page .contents-box ol:has(+ h2),
#page .contents-box ol:has(+ h3),
#page .contents-box ol:has(+ h4),
#page .contents-box ol:has(+ h5),
#page .contents-box table:has(+ h2),
#page .contents-box table:has(+ h3),
#page .contents-box table:has(+ h4),
#page .contents-box table:has(+ h5),
#page .contents-box figure:has(+ h2),
#page .contents-box figure:has(+ h3),
#page .contents-box figure:has(+ h4),
#page .contents-box figure:has(+ h5),
#page .contents-box div:has(+ h2),
#page .contents-box div:has(+ h3),
#page .contents-box div:has(+ h4),
#page .contents-box div:has(+ h5),
#page .contents-box input:has(+ h2),
#page .contents-box input:has(+ h3),
#page .contents-box input:has(+ h4),
#page .contents-box input:has(+ h5),
#page .contents-box textarea:has(+ h2),
#page .contents-box textarea:has(+ h3),
#page .contents-box textarea:has(+ h4),
#page .contents-box textarea:has(+ h5) {
    margin-bottom: 3rem;
}

#page .contents-box table:has(+ h2),
#page .contents-box table:has(+ h3),
#page .contents-box table:has(+ h4),
#page .contents-box table:has(+ h5) {
    margin-bottom: 4rem;
}

@media screen and (min-width: 1024px) {
    #page .contents-box p:has(+ h2),
    #page .contents-box p:has(+ h3),
    #page .contents-box p:has(+ h4),
    #page .contents-box p:has(+ h5),
    #page .contents-box ul:has(+ h2),
    #page .contents-box ul:has(+ h3),
    #page .contents-box ul:has(+ h4),
    #page .contents-box ul:has(+ h5),
    #page .contents-box ol:has(+ h2),
    #page .contents-box ol:has(+ h3),
    #page .contents-box ol:has(+ h4),
    #page .contents-box ol:has(+ h5),
    #page .contents-box table:has(+ h2),
    #page .contents-box table:has(+ h3),
    #page .contents-box table:has(+ h4),
    #page .contents-box table:has(+ h5),
    #page .contents-box figure:has(+ h2),
    #page .contents-box figure:has(+ h3),
    #page .contents-box figure:has(+ h4),
    #page .contents-box figure:has(+ h5),
    #page .contents-box div:has(+ h2),
    #page .contents-box div:has(+ h3),
    #page .contents-box div:has(+ h4),
    #page .contents-box div:has(+ h5),
    #page .contents-box input:has(+ h2),
    #page .contents-box input:has(+ h3),
    #page .contents-box input:has(+ h4),
    #page .contents-box input:has(+ h5),
    #page .contents-box textarea:has(+ h2),
    #page .contents-box textarea:has(+ h3),
    #page .contents-box textarea:has(+ h4),
    #page .contents-box textarea:has(+ h5) {
        margin-bottom: 4rem;
    }

    #page .contents-box table:has(+ h2),
    #page .contents-box table:has(+ h3),
    #page .contents-box table:has(+ h4),
    #page .contents-box table:has(+ h5) {
        margin-bottom: 5rem;
    }
}
