@charset "utf-8";




/* // COMMON ------------------------------------------------------------------------------  */
h1, h2, h3 {
    text-align: center;
}

h2 {
    padding-top: 70px;
    margin-bottom: 55px;
}

.lh24 {
    line-height: 2.4em;
}

.bgGray {
    background-color: #f8f8f8
}

.serif {
    font-family: "Times New Roman"
}


/* // MAIN PARTS ------------------------------------------------------------------------------  */


#Header .subArea {
    color: #b6b6b6;
    padding: 1px 0;
}

#Header .logo {
    padding: 35px 0;
}

#Gnavi ul {
    text-align: center;
}

#Gnavi li {
    display: inline-block;
}

#Gnavi li a {
    display: block;
    padding: 8px 20px
}

#Footer {
    background-color: #000;
    padding: 5px 0;
}
#Footer p {
    text-align: center;
    color: #fff;
}

#Footer a {
    color: #fff;
}

/* // MV------------------------------------------------------------------------------  */

@media screen and (min-width: 1400px) {
    #MV {
        width: 1400px;
        margin: 0 auto;
    }

}

/* // MESSAGE------------------------------------------------------------------------------  */

#Message {
    background: url(/_pack/img/message_bg.jpg) no-repeat right bottom;
    padding: 40px 0 50px;
}

/* // ABOUT------------------------------------------------------------------------------  */

#About .point {
    text-align: center;
    overflow: hidden;
}
#About .point li {
    display: inline-block;
    padding-right: 30px;
}
#About .point li.last {
    padding-right: 0;
}
#About h3 {
    background: url(/_pack/img/about_parts_line.gif) repeat-x center center;
}

/* // PRODUCTS------------------------------------------------------------------------------  */

#Products {
    background: url(/_pack/img/products_bg.jpg) center center;
}
#Products .block {
    position: relative;
    padding-bottom: 60px;
    overflow: visible;
}
#Products .item {
    position: absolute;
}
#Products .item.item1, #Products .item.item3 {
    left: 0;
}
#Products .item.item2, #Products .item.item4 {
    right: 0;
}

#Products .item.item3 {
    top: 20px;
}
#Products .item.item4 {
    top: -40px;
}


/* // BUSINESS------------------------------------------------------------------------------  */
#Business ul {
    text-align: center;
}
#Business ul li {
    display: inline-block;
    margin-right: 30px
}
#Business ul li.last {
    margin-right: 0;
}
#Business .wrap {
    display: table;
}
#Business .wrap p {
    display: table-cell;
}
#Business .wrap p.title {
    vertical-align: middle;
    text-align: center;
}
#Business .btn {
    display: inline-block;
    text-align: center;
}
#Business .btn:hover {
    background-color: #f1f1f1;
}

/* // PHILOSOPHY -----------------------------------------------------------------------------  */

#Philosophy .topMessage {
    background-color: #fff;
}
#Philosophy .topMessage p.bg {
    background: url(/_pack/img/philosophy_bg.png) repeat-y left top;
    color: #fff;
    font-size: 135%;
    padding: 8px 0;
}
#Philosophy .topMessage p.bg em {
    padding-left: 15px;
}
#Philosophy .topMessage .img {
    position: absolute;
    left: 0;
    bottom: 0;
}

#Philosophy .topMessage .wrap {
    position: relative;
    padding-bottom: 40px;
}

/* // SALON -----------------------------------------------------------------------------  */

#Salon .wrap>div {
    float: left;
}

/* // NEWS -----------------------------------------------------------------------------  */
#News .n_news_wrap {
    overflow: hidden;
    padding: 10px 0;
    border-bottom: 1px dotted #b1b1b1;
}
#News .n_date, .n_n_txt {
    float: left;
}

div.flexcroll {
    padding: 10px;
    width: 800px;
    height: 270px;
    overflow: auto;
    position: relative;
    background-color: #fff;
    margin: 0 auto;
}

.scrollgeneric {
    line-height: 1px;
    font-size: 1px;
    position: absolute;
    top: 0;
    left: 0;
}

.vscrollerbase {
    width: 15px;
    background-color: #f1f1f1;
}

.vscrollerbar {
    width: 15px;
    background-color: #e0e0e0;
}

.hscrollerbase {
    height: 10px;
    background-color: #eee;
}

.hscrollerbar {
    height: 10px;
    background-color: #900;
}

.scrollerjogbox {
    width: 10px;
    height: 10px;
    top: auto;
    left: auto;
    bottom: 0;
    right: 0;
    background-color: #eee;
}

/* // COMPANY -----------------------------------------------------------------------------  */

#Company table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #ebebeb;
}
#Company th, #Company td {
    padding-top: 15px;
    padding-bottom: 15px;
}
#Company th {
    background-color: #f0f0f0;
    width: 300px;
    text-align: center;
    border-bottom: 1px solid #fff;
}
#Company td {
    padding-left: 60px;
    border-bottom: 1px dotted #ebebeb;
}



/* // PCのみ　@min-width: 641px
----------------------------------------------- */
@media screen and (min-width: 641px) {

    #Message .txt {
        padding-left: 40px;
    }
    #About .point li {
        width: 246px;
        height: 313px;
        position: relative;
    }
    #About .point li.point1 {
        background: url(/_pack/img/about_point_01.png) no-repeat left top;
    }
    #About .point li.point2 {
        background: url(/_pack/img/about_point_02.png) no-repeat left top;
    }
    #About .point li.point3 {
        background: url(/_pack/img/about_point_03.png) no-repeat left top;
    }

    #About .point li .txt {
        position: absolute;
        width: 190px;
        left: 28px;
        top: 210px;
        text-align: center;
    }
    #Business p.title {
        width: 380px;
        border-right: 1px solid #000;
    }
    #Business p.txt {
        padding-left: 40px;
    }
    #Philosophy .topMessage .wrap {
        min-height: 249px;
    }
    #Philosophy .topMessage .txt {
        padding-left: 300px;
        padding-right: 40px;
    }

    #Salon .txt {
        padding-left: 40px;
    }
    #map_canvas {
        width: 100%;
        height: 290px;
    }
    #map_canvas1 {
        width: 100%;
        height: 290px;
    }
    #map_canvas2 {
        width: 100%;
        height: 290px;
    }

    #News .n_date {
        width: 130px;
    }
    #News .n_n_txt {
        width: 600px;
    }


}
/* end / media screen and (min-width: 641px) */


/* // privacy -----------------------------------------------------------------------------  */
.privacy .headingTypeA {
    border-left: 12px solid #000;
}
.privacy h3.headingTypeD {
    text-align: left;
}