@charset "utf-8";

/*-------------------------------------------------------------------------
RESET
-------------------------------------------------------------------------*/

#contents {
    padding-bottom: 60px;
}
.box * {
    font-family: 'Noto Sans JP', sans-serif;
    font-size  : 16px;
    font-weight: 300;
    color      : #333;
    line-height: 1.8;
    box-sizing: border-box;
}
.center {
    text-align: center;
}
.mgb54 { margin-bottom: 54px;}

a:hover img {
    opacity: .8;
}
img {
    vertical-align: top;
}
:root {
    --blue: #014099;
    --green: #017099;
}

.main-view {
    height: 350px;
    padding: 80px 0 0 0;
    background: url("../images/bg_main.png");
    text-align: center;
}
    .main-view__catch {
        font-size  : 46px;
        font-weight: 900;
        color      : #014099;
        line-height: 1.3;
        margin: 0 0 22px;
        text-shadow: 0 0 2px #fff,
                     0 0 2px #fff,
                     0 0 2px #fff,
                     0 0 2px #fff,
                     0 0 2px #fff;
    }
        .main-view__catch-strong {
            display: block;
            line-height: 1;
            font-size  : 66px;
            font-weight: inherit;
            color      : inherit;
        }
    .main-view__text {
        background-color: #017099;
        font-size  : 20px;
        font-weight: 700;
        color      : #fff;
        margin: 0 auto;
        width: 540px;
        padding: 4px 0 5px;
    }
.wrap {
    background-color: #fff;
    padding: 60px 30px 30px;
}
.title {
    font-size  : 42px;
    font-weight: 700;
    color      : #014099;
    line-height: 1;
    text-align: center;
    margin: 0 0 24px;
}

/*-------------------------------------------------------------------------
お悩み
-------------------------------------------------------------------------*/

.trouble__head {
    border: 1px solid #ccc;
    position: relative;
    margin: 0 0 89px;
}
.trouble__head:after {
    content: url("../images/img_arw_down.png");
    position: absolute;
    top     : 100%;
    left    : 50%;
    transform: translateX(-50%);
}
    .trouble__ttl {
        text-align: center;
        font-size  : 26px;
        font-weight: 700;
        color      : #fff;
        text-align: center;
        background-color: #017099;
        padding: 0 0 2px;
    }
    .trouble-list {
        background: url("../images/bg_trouble.png") no-repeat 0 0 / cover;
        padding: 44px 44px 40px;
        min-height: 344px;
    }
        .trouble-list__items {
            margin: 0 0 7px;
            padding: 0 0 0 47px;
            background: url("../images/icn_check.png") no-repeat 0 1px;
            font-size  : 20px;
            font-weight: 400;
            text-shadow: 0 0 5px #fff,
                         0 0 5px #fff,
                         0 0 5px #fff;
        }
.trouble__body {
    border: 3px solid #014099;
    margin: 0 0 30px;
    padding: 60px;
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
}
    .trouble__text-bold {
        text-align: center;
        font-size  : 26px;
        font-weight: bold;
        color      : #014099;
        line-height: 1.5;
        margin: 0 0 53px;
        width: 100%;
    }
    .trouble__body-left {
        width: calc(100% - 334px);
        padding: 0 30px 0 0;
    }
        .trouble__text {
            margin: 0 0 8px;
        }
            .trouble__text-point {
                font-size  : inherit;
                font-weight: 700;
                color      : #00B900;
            }
.system {
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
    margin: 0 0 55px;
}
    .system__items {
        width: 286px;
        box-shadow: 0 1px 4px rgba(0,0,0,.3);
    }

        .system__items:hover{
            opacity: .8;
        }
        .system__items a:hover{
            text-decoration: none;
        }
        
        [class*="system__body--"]{
            padding: 10px;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
        }
        .system__body--item1 { background-image: url("../images/img_system1.png"); }
        .system__body--item2 { background-image: url("../images/img_system2.png"); }
        .system__body--item3 { background-image: url("../images/one_building.jpg"); }

            .system__text {
                background-color: rgba(255,255,255,.85);
                min-height: 60px;
                font-size: 16px;
                font-weight: 400;
                line-height: 1.3;
                padding: 24px 0;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center; 
            }

        .system__ttl {
            background-color: #017099;
            text-align: center;
            font-size  : 20px;
            font-weight: bold;
            color      : #fff;
            height: 46px;
            line-height: 46px;
        }

.contact-us {
    height: 260px;
    background: url("../images/bg_contact.png") no-repeat 0 0;
    padding: 20px;
}
    .contact-us__panel {
        background-color: rgba(255,255,255,.9);
        height: 220px;
        display        : flex;
        flex-wrap      : wrap;
        align-items    : center;
        justify-content: space-between;
        padding: 0 44px;
    }
        .contact-us__ttl {
            font-size  : 20px;
            font-weight: bold;
            line-height: 1;
        }
        .contact-us__tel {
            font-size  : 44px;
            font-weight: bold;
            color      : #017099;
            line-height: 1;
            margin: 15px 0 10px;
            padding: 0 0 0 50px;
            background: url("../images/icn_tel.png") no-repeat 0 6px;
        }
        .contact-us__time {
            font-weight: 500;
        }
        .contact-us__btn {
            display: block;
            width: 386px;
            height: 75px;
            font-size  : 20px;
            font-weight: bold;
            color      : #fff;
            text-align: center;
            line-height: 75px;
            background-color: #ecb71c;
            border-radius: 50px;
        }
        .contact-us__btn:hover {
            color: #fff;
            text-decoration: none;
            opacity: .8;
        }
            .contact-us__btn:before {
                content: url("../images/icn_mail.png");
                margin: 0 20px 0 0;
                vertical-align: -6px;
            }
