@charset "utf-8";

/* scroll */
.scroll {
    display: none;
}

/* ttl lead*/
.about_ttl {
    font-size: 28px;
    letter-spacing: 0.2em;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 35px;
    font-weight: 500;
}
.read01.justify {
    text-align: justify;
}
.read01.lighter {
    font-weight: 300;
}
.read01 span{
    font-size: 12px;
}


/* about */
.about_subhead {
    background: url(../img/about/subhead01.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #818181;
    background-blend-mode: multiply;
    padding-bottom: 35px;
    margin-bottom: 50px;
    max-height: 274px;
}
.about_subhead.section02 {
    background: url(../img/about/subhead02.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #818181;
    background-blend-mode: multiply;
}
.about_subhead.section03 {
    background: url(../img/about/subhead03.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #818181;
    background-blend-mode: multiply;
}
.about_subhead.section04 {
    background: url(../img/about/subhead04.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #818181;
    background-blend-mode: multiply;
}
.about_subhead.section05 {
    background: url(../img/about/subhead05.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #818181;
    background-blend-mode: multiply;
}

.about_subhead_inner {
    max-width: 360px;
    padding: 0 20px;
    margin: 0 auto;
    box-sizing: content-box;
}
.about_subhead_obi p {
    background-color: #a49676;
    padding: 2%;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-bottom: 35px;
    text-align: center;
}
.about_subhead_point {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}
.about_subhead_point img {
    height: 60px;
    width: auto;
}
.about_subhead_ttl {
    font-size: 42px;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.3;
    color: #fff;
    margin-bottom: 20px;
    text-align: center;
}
.about_subhead_subttl {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.3;
    color: #fff;
    text-align: center;
}

.about_img01 {
    /* max-width: 530px; */
    width: 100%;
    margin: 0 auto;
}
.about_img02 {
    max-width: 700px;
    width: 100%;
    margin: 10px auto 0;
}
.bottom_txtbox {
    margin-top: 20px;
}
.read01.sub_bold {
    font-weight: 500;
}
.graph_inner {
    /* max-width: 1000px; */
    width: 100%;
    margin: 30px auto 0;
}
.mw750 {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.about.margintop {
    margin-top: 150px;
}
.about_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px;
}

.about_flex .about_flex_inner:nth-of-type(1){
    order:2;
}

.about_flex .about_flex_inner:nth-of-type(2){
    border: 2px solid;
}

.about_flex_inner {
    /* width: 45%; */
    width: 48%;
    max-width: 574px;
    padding: 15px;
}
.mb20 {
    margin-bottom: 20px;
}
.about_ttl.lighter {
    font-weight: 300;
}
.about_flex_inner_3 {
    width: 28%;
    margin-bottom: 60px;
}
.about_flex.minus {
    margin-bottom: -60px;
}
.flex3_img {
    margin-bottom: 25px;
}
.flex3_ttl {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 20px;
}
.flex3_lead {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.5;
    text-align: justify;
}
.line {
    margin: 100px auto 0;
}
.line::before {
    content: "";
    background: #a49676;
    width: 45px;
    height: 3px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
}
.flex3_ttl.bottom {
    margin-bottom: 0;
    padding-top: 95px;
    letter-spacing: 0.4em;
    line-height: 2;
}
.flex3_ttl.bottom span {
    position: relative;
}
.flex3_ttl.bottom span::before {
    content: "＜とき＞";
    font-size: 10px;
    position: absolute;
    top: -11px;
    left: 45%;
    transform: translateX(-50%);
    width: 90px;
    letter-spacing: 0.3em;
}

#point01, #point02 , #point03 {
    margin-top: -100px;
    padding-top: 100px;
}

@media screen and (max-width:1200px){


    .about_flex_inner .about_ttl{
        height: 2.5em;
        display: flex;
        align-items: center;
        justify-content: center;
    }

}


@media screen and (max-width:850px){

    /* ttl lead*/
    .about_ttl {
        font-size: 23px;
        margin-bottom: 25px;
    }


    .about_subhead_ttl {
        font-size: 32px;
        margin-bottom: 10px;
    }
    .about_subhead_subttl {
        font-size: 14px;
    }
    .about_subhead {
        margin-bottom: 35px;
    }
    .about.margintop {
        margin-top: 100px;
    }
    .about_flex {
        margin-top: 40px;
    }
    .flex3_ttl {
        font-size: 17px;
        margin-bottom: 15px;
    }
    .flex3_img {
        margin-bottom: 15px;
    }
    .about_flex_inner_3 {
        margin-bottom: 40px;
    }
    .about_flex.minus {
        margin-bottom: -40px;
    }
    .line {
        margin: 70px auto 0;
    }
    .flex3_ttl.bottom {
        padding-top: 55px;
    }
    .flex3_ttl.bottom span::before {
        font-size: 8px;
    }
}
@media screen and (max-width:650px){

    /* ttl lead*/
    .about_ttl {
        font-size: 17px;
        margin-bottom: 20px;
    }

    /* scroll */
    .about_scrollimg{
        overflow-x: scroll;
            overflow-y: hidden;
    }
    .about_scrollimg img{
        min-width: 580px;
        padding-bottom: 0px;
    }
    .scroll {
        position: relative;
        color: #333;
        padding: 10px 0;
        display: inline-block;
        text-decoration: none;
        outline: none;
        left: 50%;
        transform: translateX(-50%);
        font-size: 12px;
    }
    
    .scroll::before {
        content: "";
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: #333;
    }
    
    .scroll::after {
        content: "";
        position: absolute;
        bottom: -4px;
        width: 8px;
        height: 8px;
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        transform: rotate(45deg);
    }
    
    .scroll::before {
        animation: arrowlong01 2s ease infinite;
    }
    
    .scroll::after {
        animation: arrowlong02 2s ease infinite;
    }
    
    @keyframes arrowlong01 {
        0% {
            width: 0;
            opacity: 0
        }
    
        20% {
            width: 0;
            opacity: 1
        }
    
        80% {
            width: 105%;
            opacity: 1
        }
    
        100% {
            width: 105%;
            opacity: 0
        }
    }
    
    @keyframes arrowlong02 {
        0% {
            left: 0;
            opacity: 0
        }
    
        20% {
            left: 0;
            opacity: 1
        }
    
        80% {
            left: 103%;
            opacity: 1
        }
    
        100% {
            left: 103%;
            opacity: 0
        }
    }




    .about_subhead_obi p {
        margin-bottom: 20px;
    }
    .about_subhead_ttl {
        font-size: 26px;
    }
    .about_subhead_subttl {
        font-size: 13px;
    }
    .about_subhead {
        padding-bottom: 25px;
    }
    .about_subhead_point img {
        height: 50px;
    }
    .about.margintop {
        margin-top: 80px;
    }
    .about_subhead_point {
        margin-bottom: 15px;
    }
    .about_flex_inner {
        width: 100%;
        margin-bottom: 40px;
        padding: 15px 10px;
    }
    
    .about_flex {
        margin-bottom: -40px;
    }
    .about_flex_inner_3 {
        width: 100%;
    }
    .flex3_lead {
        font-size: 12px;
    }
    .flex3_ttl {
        font-size: 15px;
    }
    .line {
        margin: 50px auto 0;
    }
    .flex3_ttl.bottom {
        padding-top: 40px;
    }
    .flex3_ttl.bottom span::before {
        font-size: 6px;
        top: -7px;
    }

    #point01 , #point02 , #point03 {
        margin-top: -60px;
        padding-top: 60px;
    }
}

