@charset "utf-8";
/* =============================================================================
   pc
   ========================================================================== */

#mv {
    position: relative;
    text-align: center;
    background: url(../../img/about/pc/mv.jpg) no-repeat center;
    background-size: cover;
}

#firstCopy {
    padding: 10px 0 50px;
}

#flow {
    background: url(../../img/about/pc/bg_flow.png) repeat center;
    padding: 60px 0 0;
}

#trigger {
    margin-bottom: 70px;
}

#trigger .fr {
    float: right;
    max-width: 450px;
    width: 45%;
}

#trigger .fl {
    float: left;
    max-width: 500px;
    width: 50%;
}

#trigger .fl p {
    font-size: 20px;
    line-height: 2.1;
    margin-top: 10px;
}

.flowList {}

.flowList li {
    padding-bottom: 180px;
}

.flowList li.flow1 {
    background: url(../../img/about/pc/bg_flow1.png) no-repeat bottom center;
}

.flowList li.flow2 {
    background: url(../../img/about/pc/bg_flow2.png) no-repeat bottom center;
}

.flowList li.flow3 {
    background: url(../../img/about/pc/bg_flow3.png) no-repeat bottom center;
}

.flowList li.flow4 {
    background: url(../../img/about/pc/bg_flow4.png) no-repeat bottom center;
}

.flowList li.flow5 {
    background: url(../../img/about/pc/bg_flow5.png) no-repeat bottom center;
}

.flowBox {
    max-width: 1100px;
    width: 94%;
    margin: 0 auto;
    background-color: #FFF;
    box-sizing: border-box;
    padding: 50px 3%;
    border-radius: 20px;
    box-shadow: 0px 0px 12px 3px rgba(0,0,0,0.3);
}

.flowBox .fl {
    float: left;
}

.flowBox .fr {
    float: right;
}

.flowBox .figure {
    max-width: 322px;
    width: 32.2%;
}

.flowBox .flowTxt {
    max-width: 630px;
    width: 63%;
    font-size: 20px;
    line-height: 2.1;
    display: table;
    height: 100%;
}

.flowBox .flowTxt span {
    display: table-cell;
    vertical-align: middle;
}

#thought {
    padding: 0 0 130px;
}

#thought h3 {
    text-align: center;
    background: url(../../img/about/pc/bg_thought.png) repeat-x center;
    margin-bottom: 60px;
    height: 108px;
    position: relative;
    margin-top: -25px;
}

#thought h3 img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.thoughtBox {}

.thoughtBox .fl {
    float: left;
    max-width: 500px;
    width: 50%;
}

.thoughtBox .fr {
    float: right;
    max-width: 450px;
    width: 45%;
}

.thoughtBox .fl p {
    font-size: 20px;
    line-height: 2.1;
    margin-top: 15px;
}

.thoughtBox .fl p.name {
    text-align: right;
    margin-top: 20px;
}

#obuse {
    background: url(../../img/about/pc/bg_obuse.png) repeat center;
    position: relative;
    padding: 60px 0 110px;
}

#obuse:before {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 50px;
    background: url(../../img/about/pc/obuse_top.png) repeat-x top center;
    z-index: 1;
}

#obuse h3 {
    margin-bottom: 35px;
    text-align: center;
}

.obuseBox {}

.obuseBox .fl {
    float: left;
    max-width: 450px;
    width: 45%;
}

.obuseBox .fr {
    float: right;
    max-width: 500px;
    width: 50%;
}

.obuseBox .fr p {
    font-size: 20px;
    line-height: 2.1;
    margin-top: 15px;
}

#obuseAround {
    background: url(../../img/about/pc/bg_obuse-around.png) repeat center;
    position: relative;
    padding: 60px 0 70px;
    color: #FFF;
}

#obuseAround:before {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 50px;
    background: url(../../img/about/pc/obuse-around_top.png) repeat-x top center;
    z-index: 1;
}

#obuseAround h3 {
    margin-bottom: 50px;
    text-align: center;
}

.obuseList {}

.obuseList li {
    overflow: hidden;
}

.obuseList li + li {
    margin-top: 70px;
}

.obuseList li .fl {
    float: left;
    max-width: 450px;
    width: 45%;
}

.obuseList li .fr {
    float: right;
    max-width: 500px;
    width: 50%;
}

.obuseList li .fr p {
    font-size: 20px;
    line-height: 2.1;
    margin-top: 15px;
}





/* =============================================================================
   sp
   ========================================================================== */

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

    #firstCopy {
        padding: 40px 0 50px;
    }

    #trigger .fr {
        float: none;
        max-width: 100%;
        width: 100%;
        margin-bottom: 20px;
    }

    #trigger .fl {
        max-width: 100%;
        width: 100%;
    }

    #trigger .fl p {
        font-size: 14px;
    }

    .flowList li.flow1 {
        background: url(../../img/about/sp/bg_flow1.png) no-repeat bottom center;
        background-size: 100%;
    }

    .flowList li.flow2 {
        background: url(../../img/about/sp/bg_flow2.png) no-repeat bottom center;
        background-size: 100%;
    }

    .flowList li.flow3 {
        background: url(../../img/about/sp/bg_flow3.png) no-repeat bottom center;
        background-size: 100%;
    }

    .flowList li.flow4 {
        background: url(../../img/about/sp/bg_flow4.png) no-repeat bottom center;
        background-size: 100%;
    }

    .flowList li.flow5 {
        background: url(../../img/about/sp/bg_flow5.png) no-repeat bottom center;
        background-size: 100%;
    }

    .flowBox {
        width: 87.5%;
        padding: 40px 6.25%;
    }

    .flowBox .fl {
        float: none;
        height: auto !important;
    }

    .flowBox .fr {
        float: none;
        height: auto !important;
    }

    .flowBox .figure {
        max-width: 100%;
        width: 100%;
        margin-bottom: 20px;
    }

    .flowBox .flowTxt {
        max-width: 100%;
        width: 100%;
        font-size: 14px;
    }

    .flowList li {
        padding-bottom: 100px;
    }

    .thoughtBox .fr {
        float: none;
        max-width: 100%;
        width: 100%;
        margin-bottom: 20px;
    }

    .thoughtBox .fl {
        float: none;
        max-width: 100%;
        width: 100%;
    }

    .thoughtBox .fl p {
        font-size: 14px;
        margin-top: 20px;
    }

    .obuseBox .fl {
        float: none;
        max-width: 450px;
        width: 80.3572%;
        margin: 0 auto 20px;
    }

    .obuseBox .fr {
        float: none;
        max-width: 100%;
        width: 100%;
    }

    .obuseBox .fr p {
        font-size: 14px;
    }

    .obuseList li .fl {
        float: none;
        max-width: 450px;
        width: 80.3572%;
        margin: 0 auto 20px;
    }

    .obuseList li .fr {
        float: none;
        max-width: 100%;
        width: 100%;
    }

    .obuseList li .fr p {
        font-size: 14px;
    }

    #mv {
        background: url(../../img/about/sp/mv.jpg) no-repeat center;
        background-size: cover;
    }



}/*　ここまで max-width 640px　*/
