h2.type01 {
    background-color: #e5f4fd;
    /*border-top: 2px solid #0f92dd;*/
    /*border-bottom: 1px solid #efefef;*/
    border-radius: 0.3rem;
    padding: 0.9rem 1rem;
    font-size: 150%;
    font-weight: normal;
}

h3.type01 {
    /*background-color: #f9f9f9;*/
    padding: 0.9rem 1.5rem;
    border-bottom: 1px solid #0f92dd;
    font-size: 150%;
    font-weight: normal;
}
@media (max-width: 991.98px) {
    h3.type01 {
        padding: 0.9rem 1.4rem;
        font-size: 125%;
    }
}
@media (max-width: 767.98px) {
    h3.type01 {
        padding: 0.7rem 1.3rem;
        font-size: 125%;
    }
}
@media (max-width: 439.98px) {
    h3.type01 {
        padding: 0.5rem 1.2rem;
        font-size: 120%;
    }
}


/* シンプルな下線 */
.simpleBorderBottom {
    /*background-color: #f9f9f9;*/
    padding: 0.9rem 2rem 0.5rem;
    border-bottom: 1px solid #0f92dd;
    font-size: 130%;
    font-weight: normal;
}
@media (max-width: 767.98px) {
    .simpleBorderBottom {
        padding: 0.9rem 1.5rem 0.5rem;
        font-size: 120%;
    }
}


/* シンプルな下線(フォントサイズ小さめ) */
.simpleBorderBottom_ffs {
    /*background-color: #f9f9f9;*/
    padding: 0.9rem 2rem 0.5rem;
    border-bottom: 1px solid #0f92dd;
    font-size: 110%;
    font-weight: normal;
}
@media (max-width: 767.98px) {
    .simpleBorderBottom {
        padding: 0.9rem 1.5rem 0.5rem;
        font-size: 100%;
    }
}

/* 角丸下線グラデーション */
.roundCornerGradation {
    position: relative;
    padding: 1rem .5rem;
    font-size: 150%;
    font-weight: normal;
    padding: 0.9rem 1.5rem;
}
.roundCornerGradation:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-gradient(linear, right top, left top, from(#a3d8f4), to(#9ab3f5));
    background-image: -webkit-linear-gradient(right, #a3d8f4 0%, #9ab3f5 100%);
    background-image: linear-gradient(to left, #a3d8f4 0%, #9ab3f5 100%);
}

/* ストライプ下線 フレーム付き */
.stripeBLineWithFrame {
    position: relative;
    padding: 1.5rem 1.5rem calc(1.5rem + 10px);
    border: 2px solid #9ab3f5;
    font-size: 150%;
    font-weight: normal;
}
.stripeBLineWithFrame:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    content: '';
    border-top: 2px solid #9ab3f5;
    background-image: -webkit-repeating-linear-gradient(135deg, #9ab3f5, #b9fffc 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #9ab3f5, #b9fffc 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
@media (max-width: 991.98px) {
    .stripeBLineWithFrame {
        padding: 1.2rem 1.5rem calc(1.2rem + 10px);
        font-size: 140%;
    }
}
@media (max-width: 767.98px) {
    .stripeBLineWithFrame {
        padding: 1.2rem 1.4rem calc(1.2rem + 10px);
        font-size: 130%;
    }
}
@media (max-width: 439.98px) {
    .stripeBLineWithFrame {
        padding: 1rem 1.3rem calc(0.9rem + 8px);
        font-size: 130%;
    }
}
@media (max-width: 413.98px) {
    .stripeBLineWithFrame {
        padding: 0.8rem 1.2rem calc(0.8rem + 7px);
        font-size: 120%;
    }
}

/* ストライプ下線 */
.stripeBLine {
    position: relative;
    padding: 1.5rem 1rem 1rem;
    font-size: 150%;
    font-weight: normal;
}
.stripeBLine:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #9ab3f5, #9ab3f5 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #9ab3f5, #9ab3f5 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
@media (max-width: 575.98px) {
    .stripeBLine {
        padding: 0.5rem 1rem 1rem;
        font-size: 130%;
    }
}
@media (max-width: 413.98px) {
    .stripeBLine {
        padding: 0.1rem 1rem 1rem;
    }
}

/* グラデーションフレーム Span必須 */
.gradationFrame {
    position: relative;
    padding: 6px;
    background-image: -webkit-linear-gradient(315deg, #77acf1 0%, #3edbf0 100%);
    background-image: linear-gradient(-225deg, #77acf1 0%, #3edbf0 100%);
    font-size: 150%;
    font-weight: normal;
}
.gradationFrame span {
    display: block;
    padding: 1rem 2rem;
    background: #fff;
}


/* 背景色＋二重線 */
.bottomDoubleLine {
    padding: 1rem 2rem;
    border-bottom: 6px double #209cff;
    background: #f4f4f4;
    font-size: 150%;
    font-weight: normal;
}


/* 上下線グラデーション */
.border-ub-gradation {
    position: relative;
    padding: 1rem 1.5rem;
}
.border-ub-gradation:before,
.border-ub-gradation:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background-image: -webkit-gradient(linear, right top, left top, from(#3edbf0), to(#77acf1));
    background-image: -webkit-linear-gradient(right, #3edbf0 0%, #77acf1 100%);
    background-image: linear-gradient(to left, #3edbf0 0%, #77acf1 100%);
}
.border-ub-gradation:before {
    top: 0;
}
.border-ub-gradation:after {
    bottom: 0;
}


/* 下線グラデーション */
.border-b-gradation {
    position: relative;
    padding: 1rem 1.5rem;
}
.border-b-gradation:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background-image: -webkit-gradient(linear, right top, left top, from(#3edbf0), to(#77acf1));
    background-image: -webkit-linear-gradient(right, #3edbf0 0%, #77acf1 100%);
    background-image: linear-gradient(to left, #3edbf0 0%, #77acf1 100%);
}
.border-b-gradation:after {
    bottom: 0;
}