@charset "utf-8";

/*
各ページ用パーツ
タイトル
*/


/* タイトルブロック
---------------------------------------------------- */

.ttl_block01 {
    text-align: center;
}

.ttl_block02 {
    text-align: center;
    position: relative;
}

.ttl_block02_txt01 {
    font-size: 7.5rem;
    color: rgba(236, 139, 45, 0.12);
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
}

.ttl_block02_txt01:first-letter {
    font-size: 13.2rem;
}

@media screen and (max-width:900px) {
    .ttl_block02_txt01 {
        font-size: 5.5rem;
        top: -80px;
    }
    .ttl_block02_txt01:first-letter {
        font-size: 10.0rem;
    }
}


/* タイトルスタイル01
---------------------------------------------------- */

.ttl_style01 {
    font-size: 5.2rem;
    color: #333333;
}

.ttl_style01:first-letter {
    font-size: 9.1rem;
    color: #EC8B2D;
}

@media screen and (max-width:900px) {
    .ttl_style01 {
        font-size: 3.7rem;
    }
    .ttl_style01:first-letter {
        font-size: 6.5rem;
    }
}


/* タイトルスタイル02
---------------------------------------------------- */

.ttl_style02 {
    display: inline-block;
    font-size: 3.4rem;
    font-weight: 500;
    color: #999;
    padding: 0 50px 10px;
    min-width: 500px;
    position: relative;
}

.ttl_style02::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: rgb(0 0 0 / 10%);
    position: absolute;
    bottom: 5px;
    left: 0;
}

@media screen and (max-width:900px) {
    .ttl_style02 {
        font-size: 2.3rem;
        padding: 0 10px 10px;
        min-width: inherit;
    }
}


/* タイトルスタイル03
---------------------------------------------------- */

.ttl_style03 {
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.4;
    color: #444444;
    position: relative;
}

@media screen and (max-width:900px) {
    .ttl_style03 {
        font-size: 2.4rem;
    }
}


/* タイトルスタイル04
---------------------------------------------------- */

.ttl_style04 {
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #222222;
}

@media screen and (max-width:900px) {
    .ttl_style04 {
        font-size: 1.7rem;
    }
}


/* タイトルスタイル05
---------------------------------------------------- */

.ttl_style05 {
    font-size: 5.5rem;
    font-weight: 500;
    line-height: 1.4;
    color: #444444;
    position: relative;
}

@media screen and (max-width:900px) {
    .ttl_style05 {
        font-size: 2.5rem;
    }
}


/* タイトルスタイル06
---------------------------------------------------- */

.ttl_style06 {
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.4;
    color: #333333;
    margin: 0 0 50px;
    padding: 0 0 20px;
    position: relative;
}

.ttl_style06::after {
    content: "";
    display: block;
    width: 180px;
    height: 2px;
    background: #CCCCCC;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (max-width:900px) {
    .ttl_style06 {
        font-size: 2.5rem;
        margin: 0 0 20px;
    }
}


/* タイトルスタイル07
---------------------------------------------------- */

.ttl_style07 {
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.4;
    color: #666666;
    margin: 0 0 25px;
    text-align: center;
}

@media screen and (max-width:900px) {
    .ttl_style07 {
        font-size: 2.2rem;
    }
}


/* タイトルスタイル08
---------------------------------------------------- */

.ttl_style08 {
    font-size: 4.6rem;
    font-weight: 500;
    color: #666666;
    text-align: center;
    margin: 0 auto 55px;
    position: relative;
}

@media screen and (max-width:900px) {
    .ttl_style08 {
        font-size: 2.4rem;
    }
}

.ttl_style08::after {
    content: "";
    display: block;
    width: 1px;
    height: 25px;
    background: #999999;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
}


/* タイトルスタイル09
---------------------------------------------------- */

.ttl_style09 {
    font-size: 3.4rem;
    font-weight: 500;
    color: #333333;
    text-align: center;
    margin: 0 auto 55px;
    position: relative;
}

@media screen and (max-width:900px) {
    .ttl_style09 {
        font-size: 2.4rem;
    }
}

.ttl_style09::after {
    content: "";
    display: block;
    width: 1px;
    height: 25px;
    background: #999999;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
}


/* タイトルスタイル10
---------------------------------------------------- */

.ttl_style10 {
    font-size: 3.1rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 0 auto 25px;
    padding: 15px 5px;
    background: #666666;
    border-radius: 70px;
}

@media screen and (max-width:900px) {
    .ttl_style10 {
        padding: 10px 5px;
        font-size: 2.0rem;
    }
}