@charset "utf-8";


/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

#contents_outer {
    background: #fff!important;
}
#contents {
    width: auto;
    padding-bottom: 0;
}
.l-main * {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    color    : #333;
    line-height: 1.75;
    box-sizing: border-box;
}
img {
    vertical-align: top;
}
.l-main a:hover {
    text-decoration: none;
}

/*-------------------------------------------------------------------------

-------------------------------------------------------------------------*/

.section {
    padding: 80px 0;
}
.title {
    margin: 0 0 38px;
    text-align: center;
    font-size  : 45px;
    font-weight: 500;
    color      : #001892;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .1em;
}
    .title__small {
        display: block;
        font-family: inherit;
        font-size  : 24px;
        font-weight: inherit;
        color      : #001892;
        margin: 0px 0 -9px;
    }
    .title__marker {
        background: linear-gradient(to bottom, transparent 60%, #FFFF75 60%);
        font-family: inherit;
        font-size  : 45px;
        font-weight: 500;
        color      : #001892;
        padding: 0 7px;
    }

/*-------------------------------------------------------------------------
MAIN VIEW
-------------------------------------------------------------------------*/

.mainview {
    background: url("../images/top/bg_main.png") no-repeat center 0;
    height: 600px;
    padding: 86px 0 0;
    text-align: center;
}
    .mainview__img {
        margin: 0 0 35px;
    }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

/* LAYOUT
--------------------------- */
.satei__head {
    display        : flex;
    justify-content: center;
    margin: 0 0 16px;
}
    .satei__head-center {
        padding: 0 108px 0 0;
        background: url("../images/top/img_ttl_staff.png") no-repeat right 3px bottom 13px;
    }
        .satei__balloon {
            margin: 0 0 -7px -9px;
        }
        .satei__ttl {
            font-family: 'Noto Serif JP', serif;
            font-size  : 45px;
            font-weight: 500;
            color      : #001892;
            letter-spacing: 4.4px;
        }
.satei__body {
    border: 2px solid #001892;
    padding: 48px 48px 38px;
    display        : flex;
    justify-content: space-between;
}
    .satei__section {
        width: 280px;
    }
        .satei__list {
            margin: 0 0 10px;
            display        : flex;
            align-items    : center;
            justify-content: space-between;
        }
        .satei__list:last-child {
            margin-bottom: 0;
        }
        .satei__check-list {
            height: 40px;
            justify-content: start;
        }
            .satei__sub-ttl {
                font-size  : 16px;
                font-weight: 500;
            }
        .satei__contents {
            display    : flex;
            align-items: center;
            position: relative;
        }
            .satei__block:not(:last-child){
                margin: 0 10px 0 0;
            }
        .satei__right {
            display        : flex;
            flex-direction : column;
            justify-content: space-between;
        }

/* FORM
--------------------------- */
select::-ms-expand {
    display: none;
}
.satei__select,
[class*="satei__input--"]{
    appearance: none;
    height: 40px;
    border: 1px solid #001892;
    border-radius: 9px;
    padding: 0 0 0 10px;
    outline: none;
    background: #fff;
    color: #001892;
}
.satei__select,
.satei__input--wide {
    width: 200px;
}
.satei__select {
    cursor: pointer;
}
.satei__select-wrap:after {
    content: "▼";
    position: absolute;
    top: 12px;
    right: 11px;
    font-size: 11px;
}
.form__label {
    cursor: pointer;
}
    .form__label:not(:last-child){
        margin: 0 45px 0 0;
    }
    .satei__check {
        appearance: none;
        border: 1px solid #707070;
        width: 20px;
        height: 20px;
        margin: 0 13px 0 0;
        vertical-align: -3px;
        position: relative;
        cursor: pointer;
    }
    .satei__check:checked:after {
        content: "";
        width: 10px;
        height: 7px;
        border-left  : 2px solid #001892;
        border-bottom: 2px solid #001892;
        transform: rotate(-48deg);
        position: absolute;
        top: 2px;
        left: 3px;
    }
.satei__btn {
    background-color: #F39800;
    border-radius: 10px;
    border: none;
    box-shadow: 5px 5px 0 #F37100;
    width: 280px;
    height: 60px;
    font-size  : 18px;
    font-weight: 500;
    color      : #fff;
    cursor: pointer;
    letter-spacing: .1em;
    margin: 0 0 10px -5px;
    transition: .2s;
}
.satei__btn:hover {
    background-color: #f7b74d;
    box-shadow: 1px 1px 0 #F37100;
    transform: translate(4px,4px);
    opacity: 0.7;
}

/* OBJECT
--------------------------- */
.satei__input--narrow {
    width: 85px;
}
.satei__unit {
    margin: 0 0 0 5px;
}
.satei__tsubo {
    position: relative;
}
.satei__tsubo:after {
    content: "坪";
    position: absolute;
    top: 5px;
    right: -21px;
}

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.about {
    background: url("../images/top/bg_about.png") no-repeat center / cover;
    display        : flex;
    align-items    : center;
    justify-content: center;
}
    .about__panel {
        background-color: #fff;
        border-radius: 15px;
        padding: 34px 44px 41px;
        width: 1000px;
    }
        .about__ttl {
            font-family: 'Noto Serif JP', serif;
            margin: 0 0 28px;
            font-size  : 45px;
            font-weight: 500;
            color      : #001892;
            text-align: center;
            letter-spacing: 4.4px;
        }
            .about__ttl-kakko {
                font-family: inherit;
                font-size  : inherit;
                font-weight: 300;
                color      : #41BFD9;
            }
        .about__contents {
            display: flex;
        }
            .about__text {
                width: calc(100% - 425px);
                padding: 0 0 0 30px;
                margin: -2px 0 0;
            }

/*--------------- ----------------------------------------------------------
#
-------------------------------------------------------------------------*/

.recommend {
    background-color: #FFFCE6;
    padding: 71px 0 73px;
}
    .recommend__list {
        display        : flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 950px;
        margin: 0 auto;
    }
        .recommend__items {
            margin: 0 16px 40px;
            width: 245px;
        }
        .recommend__items:nth-last-child(-n+2){
            margin-bottom: 0;
        }
            .recommend__head {
                margin: 19px 0 8px;
                font-size  : 22px;
                font-weight: 700;
                color      : #001892;
                text-align: center;
                line-height: 1.36;
            }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.problem {
    background: url("../images/top/bg_problem.png") no-repeat center;
    height: 641px;
    padding: 60px 0 0;
}
    .problem__ttl {
        color: #fff;
    }
    .problem__list {
        display        : flex;
        justify-content: center;
    }
        .problem__items {
            min-width: 240px;
            height: 240px;
            background-color: #fff;
            border-radius: 50%;
            margin: 0 15px;
            display        : flex;
            align-items    : center;
            justify-content: center;
            font-size  : 24px;
            font-weight: 700;
            color      : #001892;
            line-height: 1.45;
            text-align: center;
        }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/
.reason {
    padding: 67px 0 80px;
}
.reason .title {
    margin: 0 0 43px;
}
.reason .title .title__small {
    letter-spacing: 2.3px;
}

.reason__list {
    display        : flex;
    justify-content: center;
}
    [class*="reason__items--"]{
        width: 340px;
        margin: 0 15px;
    }
        .reason__sub-ttl {
            display    : flex;
            align-items: center;
            margin: 0 0 134px;
            font-size  : 24px;
            font-weight: 700;
            line-height: 1.33;
            letter-spacing: .05em;
        }
        .reason__items--item1 .reason__sub-ttl,
        .reason__items--item3 .reason__sub-ttl {
            color: #41BFD9;
        }
        .reason__items--item2 .reason__sub-ttl {
            color: #3489D4;
            text-indent: -15px;
        }
            .reason__num {
                width: 60px;
                height: 60px;
                border-radius: 50%;
                display        : flex;
                align-items    : center;
                justify-content: center;
                margin: 0 14px 0 0;
                font-size  : 35px;
                font-weight: 700;
                color      : #fff;
                line-height: normal;
            }
            .reason__items--item1 .reason__num,
            .reason__items--item3 .reason__num {
                background-color: #41BFD9;
            }
            .reason__items--item2 .reason__num {
                background-color: #3489D4;
                text-indent: 0;
                margin: 0 19px 0 0;
            }
        .reason__text {
            border-radius: 15px;
            letter-spacing: 0.7px;
            padding: 93px 39px 0;
            position: relative;
            min-height: 380px;
            color: #fff;
        }
        .reason__items--item1 .reason__text,
        .reason__items--item3 .reason__text {
            background-color: #41BFD9;
        }
        .reason__items--item2 .reason__text {
            background-color: #3489D4;
        }
        .reason__text:before {
            position: absolute;
            left    : 0;
            right   : 0;
            text-align: center;
        }
        .reason__items--item1 .reason__text:before {
            content: url("../images/top/img_reason1.png");
            top: -122px;
        }
        .reason__items--item2 .reason__text:before {
            content: url("../images/top/img_reason2.png");
            top: -111px;
        }
        .reason__items--item3 .reason__text:before {
            content: url("../images/top/img_reason3.png");
            top: -115px;
        }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.contactus {
    background-color: #1750AD;
    padding: 45px 0 51px;
}
    .contactus__ttl {
        margin: 0 0 24px;
        font-size  : 35px;
        font-weight: 700;
        color      : #fff;
        letter-spacing: .1em;
        text-align: center;
    }
    .contactus__contents {
        display        : flex;
        justify-content: space-between;
    }
        [class*="contactus__card--"]{
            background-color: #fff;
            border-radius: 10px;
            padding: 16px 0 0;
            width: 530px;
            height: 160px;
            text-align: center;
        }
        .contactus__card--left  { background-color: #fff;}
        .contactus__card--right { background-color: #FFFCE6;}

            .contactus__sub-ttl {
                font-size  : 28px;
                font-weight: 500;
                color      : #001892;
                letter-spacing: .1em;
            }
            .contactus__tel {
                margin: 5px 0 0;
                font-size  : 54px;
                font-weight: 900;
                color      : #41BFD9;
                line-height: 1.1;
            }
            .contactus__tel:before {
                content: url("../images/top/icn_tel.png");
                margin: 0 10px 0 0;
                vertical-align: -6px;
            }
            .contactus__btn {
                width: 400px;
                height: 60px;
                margin: 7px auto 0;
                background-color: #F39800;
                border-radius: 10px;
                box-shadow: 5px 5px 0 #F37100;
                display        : flex;
                align-items    : center;
                justify-content: center;
                font-size  : 24px;
                font-weight: 700;
                color      : #fff;
                transition: .2s;
            }
            .contactus__btn:hover {
                color      : #fff;
                background-color: #f7b74d;
                box-shadow: 1px 1px 0 #F37100;
                transform: translate(4px,4px);
            }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.proposal {
    background-color: #DDEDF8;
}
    .proposal__panel {
        background-color: #fff;
        border-radius: 15px;
        width: 1000px;
        margin: auto;
        padding: 0 40px 35px;
    }
        .proposal__balloon {
            margin: 0 0 -22px 15px;
            position: relative;
            top     : -16px;
        }
        .proposal__ttl {
            font-family: 'Noto Serif JP', serif;
            margin: 0 0 19px;
            font-size  : 45px;
            font-weight: 500;
            letter-spacing: .1em;
            text-align: center;
        }
        .proposal__middle {
            display        : flex;
            justify-content: space-between;
            margin: 0 0 19px;
            padding: 0 10px;
        }
            .proposal__point {
                background-color: #DDEDF8;
                border-radius: 50px;
                display        : flex;
                align-items    : center;
                justify-content: center;
                width: 440px;
                height: 60px;
                font-size  : 20px;
                font-weight: 500;
                letter-spacing: .2em;
            }
        .proposal__foot {
            display        : flex;
            justify-content: space-between;
        }
            .proposal__text {
                width: calc(100% - 630px);
                padding: 0 10px 0 30px;
                line-height: 1.7;
            }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.sozoku {
    background: url("../images/top/bg_omakase.png") no-repeat center bottom 96px;
    padding: 80px 0 50px;
}
    .sozoku__ttl {
        margin: 0 0 52px;
        text-align: center;
    }
    .sozoku__head {
        border: 3px solid #001892;
        border-radius: 15px;
        margin: 0 50px 60px;
        padding: 40px 0 48px 38px;
        background-color: #fff;
        position: relative;
    }
    .sozoku__head:after {
        content: url("../images/top/img_house2.png");
        position: absolute;
        top     : -27px;
        right   : 28px;
    }
        .sozoku__head-text {
            font-size  : 30px;
            font-weight: 500;
            line-height: 2;
        }
            .sozoku__price,
            .sozoku__unit {
                font-weight: 700;
                color      : #F39800;
                line-height: 1.1;
            }
            .sozoku__price { font-size: 45px;}
            .sozoku__unit  { font-size: 30px;}

    .sozoku__contents {
        padding: 0 50px;
    }
        .sozoku__block {
            display        : flex;
            justify-content: space-between;
            margin: 0 0 30px;
        }
        .sozoku__block:nth-child(2n){
            flex-direction: row-reverse;
        }
            .sozoku__side {
                width: calc(100% - 490px - 30px);
                padding: 20px 0 0;
            }
                .sozoku__text {
                    letter-spacing: 0.4px;
                    margin: 0 0 28px;
                }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.flow {
    background-color: #1750AD;
    padding: 73px 0 80px;
}
    .flow__ttl {
        color: #fff;
    }
        .flow__ttl-point {
            font-family: inherit;
            font-size  : inherit;
            font-weight: inherit;
            color      : #FFF4A2;
        }
    .flow__list {
        display        : flex;
        justify-content: center;
    }
        [class*="flow__items--"]{
            min-width: 240px;
            height: 280px;
            background-color: #fff;
            background-repeat: no-repeat;
            background-position: center calc(50% + 27px);
            border-radius: 10px;
            margin: 0 20px;
            padding: 19px 0 0;
            text-align: center;
            font-size  : 24px;
            font-weight: 700;
            color      : #001892;
        }
        .flow__items--item1 { background-image: url("../images/top/img_flow1.png");}
        .flow__items--item2 { background-image: url("../images/top/img_flow2.png");}
        .flow__items--item3 { background-image: url("../images/top/img_flow3.png");}
        .flow__items--item4 { background-image: url("../images/top/img_flow4.png");}

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.caee__list {
    display        : flex;
    justify-content: center;
}
    .caee__items {
        width: 240px;
        margin: 0 20px;
    }
        .caee__items a {
            display: block;
            transition: .3s;
        }
        .caee__items a:hover {
            opacity: .8;
        }
        .caee__img {
            width: 240px;
            height: 180px;
            margin: 0 0 6px;
            border-radius: 5px;
            overflow: hidden;
        }
        .caee__img .innerImages {
            display: block;
            width: 100%;
            height: 100%;
            transition: .3s;
        }
        .caee__items a:hover .caee__img .innerImages {
            transform: scale(1.08);
        }
        .case__text {
            font-size  : 24px;
            font-weight: 700;
            color      : #D21010;
            text-align: center;
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }
            .case__price {
                font-size  : 30px;
                font-weight: inherit;
                color      : inherit;
            }

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.faq {
    background-color: #DDEDF8;
    padding: 74px 0 80px;
}
    .faq__ttl {
        color: #001892;
    }
    .faq__section:not(:last-child){
        margin: 0 0 20px;
    }
        .faq__button {
            display: flex;
            width: 100%;
            position: relative;
            cursor: pointer;
            text-align: left;
            background-color: #fff;
        }
        .faq__button:after {
            content: "▼";
            position: absolute;
            top     : 27px;
            right   : 20px;
            font-size: 15px;
            color    : #001892;
            transition: .4s;
        }
        .faq__button.is-active:after {
            transform: rotate(180deg);
        }
            .faq__button-text {
                padding: 24px 50px 21px 18px;
                display: block;
                width: 100%;
                border: none;
                background: none;
                font-size  : 20px;
                font-weight: 500;
                color      : #001892;
                text-align: left;
                cursor: pointer;
            }
        .faq__contents {
            display: none;
        }
            .faq__answer {
                display: flex;
                background-color: #fff;
                margin: 2px 0 0;
                /* min-height: 101px; */
            }
                [class*="faq__icn--"]{
                    display        : flex;
                    align-items    : center;
                    justify-content: center;
                    min-width: 80px;
                    font-size  : 30px;
                    font-weight: 500;
                    color      : #fff;
                }
                .faq__icn--q { background-color: #001892;}
                .faq__icn--a { background-color: #707070;}

                .faq__text {
                    padding: 16px 18px;
                    line-height: 1.5;
                    width: calc(100% - 80px);
                    min-height: 80px;
                    display: flex;
                    align-items: center;
                }

#backtop {
    margin-left: 1015px;
}

#contents .formError .formErrorContent {
    width: 120%;
}
#contents .tochiAreaformError {
    left: 0!important;
    margin-top: -64px!important;
}