@charset "UTF-8";

/* 共通部分
------------------------------- */
body{
    font-size: 15px;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    line-height: 1.7;
    color: #443322;
}

a {
    color: inherit;
    text-decoration: none;
    transition: all 500ms 0s ease;
}
a:hover {opacity: 0.4;}
img,iframe {max-width: 100%;}
.wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

/* 背景色指定のところ */
.bg-pink {
    background-image:linear-gradient(-45deg, #f5eeed 25%, #f4e2de 25%, #f4e2de 50%, #f5eeed 50%, #f5eeed 75%, #f4e2de 75%, #f4e2de);
    background-size: 4px 4px;
    background-attachment: fixed;
    background-repeat: repeat;
}

.bg-pink02 {
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 1px, rgba(245, 238, 237, 1) 1px, rgba(245, 238, 237, 1) 2px );
}

/* HEADER
------------------------------- */
.page-header {
    height: 80px;
    transition: all 1000ms 0s ease;
}
.page-header-inner {
    display: flex;
    justify-content: space-between;
    position: fixed;
    z-index: 2;
    width: 100%;
    height: 70px;
    padding: 0 4%;
    transition: all 1500ms 0s ease;
}
.page-header-inner.sc {
    box-shadow: 0px 3px 3px -3px rgb(115 96 75 / 30%);
    background: rgba(255, 255, 255, 0.8);
}
.logo {
    display: inline-block;
    margin: 10px;
    font-size: 48px;
    line-height: 1;
    font-family: 'Tangerine', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
}

/* タイトル写真
------------------------------- */
/* TOP */
.home-pic {
    position: relative;
    text-align: right;
    height: 500px;
    background-image: url(../images/home01.png);
    background-size: contain;
    background-position: left top;
}
.home-pic h2 {
    position: absolute;
    bottom: 15px;
    right: 0;
    font-size: 28px;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 300;
}

/* サブ */
.home-pic.sub {
    background-image: url(../images/home02.png);
    background-size: cover;
    height: 200px;
    padding: 10px;
}

.home-pic.sub .home-pic-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(255 255 255 / 30%);
    height: 100%;
    width: 100%;
}

.home-pic.sub h2 {
    position: static;
}

@media (max-width: 770px) {
    .home-pic {
        margin: 0 auto 100px;
        height: 80vh;
        background-size: cover;
        background-position: 35% top;
    }
    .home-pic h2 {
        bottom: -65px;
        left: 5px;
        font-size: 20px;
        padding: 0 4%;
    }
    .home-pic.sub {
        margin: 0 auto 0;
    }
}


/* 記事
------------------------------- */
.content {
    margin: 15px auto 0;
    padding: 15px 4%;
}

/* 段落・画像 */
.content p {margin: 0 0 1em;}
.content span.marker {font-weight: bold;background: linear-gradient(transparent 60%, #ebec91 60%);}
.content p.lead {font-size: 80%;text-align: center;}

/* 画像の位置設定 */
.img_r {
display: flex;
align-items: flex-start;
flex-direction: row-reverse;  
justify-content: center;
}

.img_l {
    display: flex;
    align-items: flex-start;
    flex-direction: row;  
    justify-content: center;
}

.img_c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.img_r img {margin: 0 0 1em 1em;}
.img_l img {margin: 0 1em 1em 0;}
.img_c img {margin: 0 0 1em 0;}
.img_r div,.img_l div {flex-grow: 2;}

/* バナーリンク */
.content .b_box {
    margin: 30px 0;
    text-align: right;
}

.content .b_box .button {
    padding: 10px 15px;
    font-size: 24px;
    font-family: 'Tangerine', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
    border: 1px solid #aaaaaa;
}

/* specialコースの */
.content .button02 {
    padding: 15px 0;
    font-size: 24px;
    font-family: 'Tangerine', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
}


.content .b_box .button span,.content .button02 span {
    font-size: 12px;
    font-family: 'Shippori Mincho B1', serif;
}

/* リスト */
.content .ul_box {
    display: inline-block;
    margin: 1em;
    padding: 1.5em 2em 1.5em 3em;
    border-radius: 1em;
    background: #f5eeed;
}

/* CHECKマーク付き */
.content .ul_check {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 2em 0;
}
.content .ul_check li {
    list-style: none;
    margin: 0 0 5px;
    padding: 25px 25px 25px 65px;
    background-image: url(../images/check01.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 60px 60px;
}

.content .ul_check li.c02 {background-image: url(../images/check02.png);}
.content .ul_check li.c03 {background-image: url(../images/check03.png);}

/* 注意事項 */
.content .attention {
    margin: 3em 1em;
    padding: 1em;
    border: 1px solid #444;
    background: #f2f1ce;
    font-size: 90%;
}

.content .attention .plus {
    margin: 1em 0;
    padding: 0.5em;
    background: #fed6e7;
    border: 1px solid #ccc;
    font-size: 90%;
}

.content .attention ul {
    margin: 0 0 0 1.5em;
    color: red;
}

/* 表　ブライダル */
.content table{
    min-width: 70%;
    margin: 1em auto;
    border-collapse: collapse;
}

.content td,.content th {
    border: 1px solid #cccccc;
    text-align: center;
    padding: 3px 10px;
}
.content th {
    background: #f5eeed;
}
/* 見出し */
.content h2 {
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 300;
    margin: 2em 0 1em;
}

.content h2 strong {
    display: inline-block;
    padding: 0 35px;
    background: url(../images/h01.png),url(../images/h02.png);
    background-repeat: no-repeat;
    background-size: auto 1.25em;
    background-position: left center,right center;
}

.content h3 {
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 300;
    margin: 2em 0 1em;
    border-bottom: 1px solid #aaaaaa;
}

.content h3 strong {
    display: inline-block;
    padding: 0 35px;
    background: url(../images/h03.png);
    background-repeat: no-repeat;
    background-size: auto 1.25em;
    background-position: left center;
}

.content h4 {
    width: 100%;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 600;
    margin: 0 0 1em;
    padding: 0 5px 2px 5px;
    background-image:linear-gradient(-45deg, #f5eeed 25%, #f4e2de 25%, #f4e2de 50%, #f5eeed 50%, #f5eeed 75%, #f4e2de 75%, #f4e2de);
    background-size: 4px 4px;
    background-attachment: fixed;
    background-repeat: repeat;
}

.content h4 strong {color: #CC3F29;}

@media (max-width: 770px) {
    .content .img_r,.content .img_l {
        flex-wrap: wrap;
    }
}

/* flex設定 
------------------------------- */
/* メニュー系 */
ul.flex {
    padding: 30px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

/* TOPページ ポイント */
.point li {
    width: 270px;
    margin: 10px 0;
    padding: 25px 15px 20px 35px;
    list-style: none;
    text-align: center;
    font-family: 'Shippori Mincho B1', serif;
    background-image: url(../images/point01.png), url(../images/point.png);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 65% auto, 65% auto;
}

.point li.p02 {background-image: url(../images/point02.png), url(../images/point.png);}
.point li.p03 {background-image: url(../images/point03.png), url(../images/point.png);}
.point li.p04 {background-image: url(../images/point04.png), url(../images/point.png);}
.point li.p05 {background-image: url(../images/point05.png), url(../images/point.png);}

/* TOPページ コース紹介・特別プラン紹介 */
.course ul.flex li {
    min-width: 200px;
    margin: 0 0 25px;
    text-align: center;
    list-style: none;
}

.course ul.flex li.special {
    padding: 15px;
    background: #ffffff;
}

/* コース紹介ページ上部 */
ul.flex.course-menu li {
    min-width: 270px;
    margin: 10px 0;
    padding: 5px 15px 5px 15px;
    list-style: none;
    text-align: center;
    font-family: 'Shippori Mincho B1', serif;
}

ul.flex.course-menu li h3 {
    margin: 0 0.5em 1em;
}

/* TOPページ個別
------------------------------- */
.point h2,.course h2 {text-align: center;}
.course h3,.blog h3 {margin: 0 0 1em;border-bottom: none;}
.content .blog {
    max-width: 770px;
    margin: 0 auto;
    padding: 15px;
    border: double 5px #f4e2de;
}

.content .blog iframe {
    border: 0;
    width: 100%;
    height: 200px;
}

.top_date {padding: 0 20px 0 0;}

/* キャンペーン実施中バナー */
.f-button {
    position: fixed;
    bottom: 15px;
    right: 0;
    transform: translate(calc(100% + 40px),0);
    transition: all 1.2s;
}
.f-button.sc {transform: translate(0, 0)}
.f-button li.coupon {position: relative;list-style: none;}
.f-button li.coupon.cl {display: none;}
.f-button li.coupon img {width: 260px;}
.f-button li.coupon .close {
    position: absolute;
    display: block;
    top: -15px;
    left: -15px;
    width: 30px;
    height: 30px;
    background: #696969;
    border: 2px solid #fff;
    border-radius: 25px;
    color: #fff;
    font-weight: bold;
    line-height: 29px;
}

/* footer 
------------------------------- */
footer {text-align: center;padding: 30px 0 50px;}
footer p {font-size: 80%;}

/* メニュー
------------------------------- */
/*menuボタン*/
.menu{
    height: 20px;
    position: absolute;
    right: 20px;
    top: 15px;
    width: 30px;
    z-index: 99;
}
.menu::after {
    position: absolute;
    content: "MENU";
    top: 30px;
    line-height: 1;
    font-size: 10px;
}

.menu.active::after {
    content: "CLOSE";
}
.menu_line{
    background: #000;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu_line--center{
    top: 9px;
}
.menu_line--bottom{
    bottom: 0;
}
.menu_line.active{
    background: #432;
}
.menu_line--top.active{
    top: 8px;
    transform: rotate(45deg);
}
.menu_line--center.active{
    transform:scaleX(0);
}
.menu_line--bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}

/* 電話アイコン */
.page-header-inner_right {
    display: flex;
    position: relative;
    justify-content:flex-end;
    padding: 10px 55px 0 0;
}
.tell {
    position: relative;
    width: 30px;
    display: block;
}
.tell::after {
    width: 100%;
    position: absolute;
    top: 35px;
    left: 0px;
    content: "お電話";
    font-size: 10px;
    line-height: 1;
}

.tell_pc {
    position: relative;
    margin: 0 0 0 5px;
    font-size: 20px;
    line-height: 30px;
}

.tell_pc::after {
    content: "予約受付：AM 9:00～PM 8:00";
    position: absolute;
    top: 35px;
    left: 0px;
    font-size: 10px;
    line-height: 1;
}
/* web予約アイコン */
.mail {
    position: relative;
    width: 30px;
    display: block;
    margin: 0 15px 0 0;
}

.mail::after {
    width: 55px;
    position: absolute;
    top: 35px;
    left: -5px;
    content: "WEB予約";
    font-size: 10px;
    line-height: 1;
}

/* ブログアイコン */
.blogic {
    position: relative;
    width: 30px;
    display: block;
    margin: 0 15px 0 0;
}

.blogic::after {
    width: 55px;
    position: absolute;
    top: 35px;
    left: -5px;
    content: "お知らせ";
    font-size: 10px;
    line-height: 1;
}

/* メニュー内の場合 */
.gnav_menu .page-header-inner_right {
    justify-content: start;
    padding: 20px 0 20px 20px;
}

/*gnav*/
.gnav{
    position: fixed;
    display: none;
    height: 100%;
    width: 100%;
    z-index: 98;
    margin: 0 -4%;
}
.gnav_wrap{
    display: flex;
    justify-content: left;
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: #ffffff url("../images/menubg.jpg") no-repeat 50vw bottom/cover;
}
.gnav_menu {
    width: 45%;
    margin: 15px 15px 50px 15px;
    padding: 0;
}

.gnav_menu_item {
    list-style: none;
}
.gnav_menu > .gnav_menu_item {
    border-bottom: 1px dashed #cccccc;
}

.gnav_menu ul {
    margin: 0 0 0 15px;
}

.gnav_menu_item a{
    display: block;
    width: 100%;
    color: #432;
    font-family: 'Shippori Mincho B1', serif;
    padding: 4px 8px;
    text-decoration: none;
    transition: .5s;
}

.gnav_menu ul .gnav_menu_item a {
    font-size: 13.5px;
}

@media (max-width: 770px) {
    .gnav_menu {width: 90%;}
    .tell_pc {display: none;}
    .page-header-inner_right:after {
    content: "予約受付：AM 9:00～PM 8:00";
    position: absolute;
    width: 150px;
    bottom: 2px;
    left: -6px;
    font-size: 10px;
    line-height: 1;
    }
    /* メニュー内の場合 */
    .gnav_menu .tell_pc {display: block;}
    .gnav_menu .page-header-inner_right:after {
        content: none;
    }
}

/* お客様の声
------------------------------- */
.reviewbox {
    display: flex;
    flex-wrap: wrap-reverse;
    justify-content: center;
}
.review ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    position: relative;
    padding: 1em;
    margin: 0 0 1em;
}
.review ul:before,.review ul:after{ 
    content:'';
    width: 200px;
    height: 70px;
    position: absolute;
    display: inline-block;
}
.review ul:before{
    border-left: double 3px #f4e2de;
    border-top: double 3px #f4e2de;
    top:0;
    left: 0;
}
.review ul:after{
    border-right: double 3px #f4e2de;
    border-bottom: double 3px #f4e2de;
    bottom:0;
    right: 0;
}

.review li {
    margin: 0.5em;
    list-style: none;
}

.review li.comment02 {
    width: calc(100% - 300px);
}

@media (max-width: 600px) {
    .review li.comment02 {width: 100%;}
}

/* ページネーション */
ul.pagination {
    margin: 0 0 2em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

ul.pagination li {
    margin: 5px;
    list-style: none;
}

ul.pagination li.page {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 5px;
}

ul.pagination li a {
    padding: 2px 10px;
}

ul.pagination li.navi-active,ul.pagination li.page:hover {
    background: #aaa;
    color: #fff;
}