@charset "UTF-8";
body{
    overflow: hidden;
}
.wrap{
    width: 100%;
    min-width: 1200px;
}
.inner{
    width: 1200px;
    margin: 0 auto;
}
.container{
    padding: 100px 0;
}
.gnav{
    position: fixed;
    top: 0;
    z-index: 10;
    background-color: rgba(255,255,255,0.3);
}
.gnav .gnav-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.gnav .gnav-area .logo{
    display: flex;
    align-items: center;
}
.gnav .gnav-area .logo a{
    display: block;
}
.gnav .gnav-area .logo a img{}
.gnav .gnav-area ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.gnav .gnav-area ul li{
    padding: 10px 0 5px;
    margin: 0 10px;
}
.gnav .gnav-area ul li a{
    padding: 10px 20px;
    display: block;
    color: #000;
}
.gnav .gnav-area ul li.reserve a{
    border: solid 1px #000;
    border-radius: 20px;
    padding-left: 50px;
    position:relative;
}
.gnav .gnav-area ul li.reserve a::before{
    content: url(../img/icon-res.svg);
    position: absolute;
    top: 8px;
    left: 11px;
    width: 24px;
}
.gnav .gnav-area ul li.contact a{
    border-radius: 20px;
    padding-left: 50px;
    background-color: #d6674d;
    color: #fff;
    position: relative;
}
.gnav .gnav-area ul li.contact a:before{
    content: url(../img/icon-tel.svg);
    position: absolute;
    top: 10px;
    left: 12px;
    width: 21px;
}
.fv{
    background: url(../img/fv-back.jpg);
    background-position: center center;
    background-size: cover;
}
.fv .inner{
    padding: 200px 0;
}
.fv .inner h1{
    text-align: right;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    font-size: 50px;
}
.fv .inner h2{
    text-align: right;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    margin-top: 10px;
    font-size: 20px;
    line-height: 1.7em;
}

main .back-01{}
main .back-02{border-top: solid 1px #ccc;border-bottom: solid 1px #ccc;background: url(../img/back-01.gif);}

.ttl{}
.ttl h2{
    font-size: 28px;
    letter-spacing: 0.2em;
    position: relative;
    margin-bottom: 60px;
}
.ttl h2:after{
    content: "・・・・・";
    position: absolute;
    height: 0;
    display: block;
    font-size: 10px;
    color: #d6674d;
    top: 45px;
}
.ttl h2 a{
    letter-spacing: 0;
    padding: 10px 30px;
    border: solid 1px #444;
    border-radius: 20px;
    color: #444;
    margin-left: 20px;
    font-size: 14px;
}
.ttl h2::first-letter{
    color: #d6674d;
}
.insta{}

.news-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.news-area .ttl{
    width: 20%;
}
.news-area .news{
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.news-area .news{}
.news-area .news dt{
    width: 15%;
    color: #d6674d;
    padding: 15px 0;
    border-bottom: dashed 1px #ccc;
}
.news-area .news dd{
    width: 85%;
    padding: 15px 0;
    border-bottom: dashed 1px #ccc;
}

.concept-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.concept-area .ttl{
    width: 45%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
}
.concept-area .ttl h2{}
.concept-area .ttl p{
    font-size: 16px;
    line-height: 1.7em;
    color: #666;
}
.concept-area .photo{
    width: 50%;
}
.concept-area .photo img{
    width: 50vw;
}

.greeting-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.greeting-area .ttl{
    width: 70%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
}
.greeting-area .ttl h2{}
.greeting-area .ttl p{
    font-size: 16px;
    line-height: 1.7em;
    color: #666;
}
.greeting-area .photo{
    width: 25%;
}
.greeting-area .photo img{
}


.menu-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.menu-area .ttl{
    width: 25%;
}
.menu-area .ttl a{
    font-size: 14px;
    letter-spacing: 0;
    padding: 10px 30px;
    border: solid 1px #444;
    border-radius: 20px;
    color: #444;
    display: inline-block;
}
.menu-area .menu{
    width: 75%;
}
.menu-area .menu .menu-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.menu-area .menu .menu-list .menu-list-box{
    width: 31%;
}
.menu-area .menu .menu-list .menu-list-box img{
    width: 100%;
    margin-bottom: 20px;
}
.menu-area .menu .menu-list .menu-list-box h3{
    float: left;
    font-size: 16px;
    font-weight: bold;
}
.menu-area .menu .menu-list .menu-list-box h4{
    float: right;
    font-size: 16px;
    font-weight: bold;
    color: #d6674d;
}
.menu-area .menu .menu-list .menu-list-box p{
    clear: both;
    margin-top: 2.5em;
    line-height: 1.7em;
    font-size: 14px;
    color: #666;
}

.salon-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.salon-area .ttl{
    width: 20%;
}
.salon-area .map{
    width: 50%;
}
.salon-area .map iframe{
    width: 100%;
    border: solid 1px #ccc !important;
}
.salon-area .text{
    width: 25%;
}
.salon-area .text h2{
    font-size: 16px;
    font-weight: bold;
    color: #d6674d;
}
.salon-area .text h3{
    font-size: 14px;
    margin-top: 5px;
}
.salon-area .text ul{
    margin: 30px 10px;
    border-left: solid 5px #eee;
    padding-left: 20px;
}
.salon-area .text ul li{
    margin-bottom: 15px;
    font-size: 16px;
    color: #666;
}
.salon-area .text h4{}
.salon-area .text h4 span{
    font-size: 1.2em;
    font-weight: bold;
    color: #d6674d;
}

footer{
    background-color: #d6674d;
    padding: 20px 0;
}
footer ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer ul li a{
    padding: 5px 20px;
    color: #fff;
    display: inline-block;
    border-right: solid 1px #fff;
}
footer p{text-align: center;margin-top: 10px;}


/*subページ*/

.sub-fv{
    background: url(../img/sub-header.jpg);
    background-position: center center;
    background-size: cover;
}
.sub-fv .inner{
    padding: 150px 0 100px;
}
.sub-fv h1{
    text-align: center;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    font-size: 40px;
    letter-spacing: 0.2em;
}
.sub-ttl{
    text-align: center;
}
.sub-ttl h2{
    font-size: 36px;
    margin-bottom: 10px;
    position: relative;
}
.sub-ttl h2:before{
    content: "・・・・・";
    top: 0;
    display: block;
    font-size: 10px;
    color: #d6674e;
}
.sub-ttl h3{
    color: #d6674d;
}

.main-menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 100px 0 150px;
}
.main-menu .main-menu-box{
    width: 46%;
    margin: 0 2%;
    margin-bottom: 50px;
}
.main-menu .main-menu-box img{
    width: 100%;
    margin-bottom: 20px;
}
.main-menu .main-menu-box h2{
    font-size: 24px;
    font-weight: bold;
    float: left;
    margin-bottom: 10px;
}
.main-menu .main-menu-box h3{
    float: right;
    font-size: 24px;
    font-weight: bold;
    color: #d6674e;
    margin-bottom: 10px;
}
.main-menu .main-menu-box p{
    clear: both;
    font-size: 14px;
    line-height: 1.7em;
}

.sub-menu{
    margin: 100px 0 150px;
}
.sub-menu .sub-menu-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 800px;
    margin: 0 auto;
}
.sub-menu .sub-menu-box dt{
    width: 50%;
    padding: 20px 0;
    border-top: dashed 1px #ccc;
    border-bottom: dashed 1px #ccc;
    color: #d6674e;
    font-size: 18px;
}
.sub-menu .sub-menu-box dd{
    width: 50%;
    text-align: right;
    padding: 20px 0;
    border-top: dashed 1px #ccc;
    border-bottom: dashed 1px #ccc;
    font-weight: bold;
    font-size: 18px;
}

/*form*/
.contact-form{
    margin-top: 100px;
}
.contact-form dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.contact-form dl dt{
    background-color: #eaeef4;
    width: 20%;
    padding: 20px;
    margin-bottom: 20px;
}
.contact-form dl dd{
    width: 80%;
    background-color: #f1f1f1;
    margin-bottom: 20px;
    padding: 10px;
}
.contact-form dl dd input{
    width: 100%;
    height: 100%;
    border: none;
    padding: 5px;
}
.contact-form dl dd textarea{
    width: 100%;
    height: 100%;
    border: none;
    padding: 5px;
}
.contact-form input[type="submit"]{
    width: 80%;
    margin: 50px auto 20px;
    display: block;
    border: none;
    background-color: #d6674e;
    border-radius: 50px;
    color: #fff;
    padding: 20px 0;
    font-size: 30px;
}

.insta-box img{
    max-width:100%;
    height:auto;
}

p.cation{
    color: #d6674e;
    font-size:13px;
    letter-spacing:0.1em;
    text-align: right;
    width: 100%;
    margin-bottom: 5px;
}

.sub-ceremony{
    margin: 50px 0 0;
}
.sub-ceremony h2{
    text-align: center;
    font-size: 26px;
    color: #d6674e;
    margin-bottom: 30px;
}
.sub-ceremony ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sub-ceremony ul li{
    width: 15%;
}
.sub-ceremony ul li img{
    width: 100%;
    border-radius: 150px;
}