@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap");

@font-face {
    font-family: 'Antro Vectra Regular';
    font-style: normal;
    font-weight: normal;
    src: local('../fonts/Antro Vectra Regular'), url('../fonts/Antrovectra-DOLWD.woff') format('woff');
}
    
@font-face {
    font-family: 'Antro Vectra Bolder';
    font-style: normal;
    font-weight: normal;
    src: local('../fonts/Antro Vectra Bolder'), url('../fonts/AntrovectraBolder-ALGPp.woff') format('woff');
}



/* color 
bg  :
main color : #765730
sub color  : #c89b50 rgba(200,155,80)
*/


html{
	font-size: 62.5%; 
	scroll-behavior: smooth;
    -webkit-scroll-behavior: smooth;
}

body{
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    line-height: 1.8;
	font-weight: 400;
    color: #4b4b4b;
    background-color: #fff;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%
}

/*
 common
******************************************************************************
*/
h1,h2,h3,h4,h5,h6{
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.4;
	margin: 0 0 30px;
}

h2{font-size: 3rem;}
h3{font-size: 1.8rem;}
h4{font-size: 1.6rem;}
h5{font-size: 1.4rem;}

/** section title **/
.title-section{
    text-align: center;
    font-size: 3.2rem;
    position: relative;
    margin-bottom: 30px;
}

.title-section:before{
    content: "●  　●";
    color: #c89b50;
    font-size: 1.3rem;
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
}

.title-section span{
    display: block;
    text-align: center;
    color: #919191;
    font-size: 1.4rem;
    margin: 20px 0 0;
}

/* background */
.bg-paleyellow{background: #fffff1;}
.bg-gray{background: #f3f3f3;}

/** text **/
.serif-kana{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}	

.txt-en{
	font-family:'Antro Vectra Regular';
    font-weight:normal;
	letter-spacing: 2.2px;
}

.txt-en-b{
	font-family:'Antro Vectra Bolder';
    font-weight:normal;
	letter-spacing: 2.2px;
}

.txt-white{color: #fff !important;}
.txt-red{color: #E50000 !important;}

ul, ol{list-style: none;}

/** align **/
.align-l{text-align: left;}
.align-c{text-align: center;}
.align-r{text-align: right;}

.align-lc{text-align: left;}


/** tel **/
a[href^="tel:"]{cursor: pointer;}

/** background */


/** button **/
.btn-block{
    display: block;
    width: 100%;
}


/* Tablet landscape and bigger */
@media (min-width: 960px) {
    
    .title-section{
        font-size: 4.2rem;
        margin-bottom: 60px;
    }
    
    .title-section:before{
        font-size: 1.5rem;
        top: -30px;
    }
	
	.align-lc{text-align: center;}
	
	a[href^="tel:"]{cursor: default;}
	
}

/** margin **/
.mgnB0 {margin-bottom:0 !important;}
.mgnB5 {margin-bottom:5px !important;}
.mgnB10 {margin-bottom:10px !important;}
.mgnB15 {margin-bottom:15px !important;}
.mgnB20 {margin-bottom:20px !important;}
.mgnB30 {margin-bottom:30px !important;}
.mgnB40 {margin-bottom:40px !important;}
.mgnB50 {margin-bottom:50px !important;}
.mgnB60 {margin-bottom:60px !important;}
.mgnB70 {margin-bottom:70px !important;}
.mgnB80 {margin-bottom:80px !important;}

.mgnT0 {margin-top:0 !important;}
.mgnT5 {margin-top:5px !important;}
.mgnT10 {margin-top:10px !important;}
.mgnT20 {margin-top:20px !important;}
.mgnT30 {margin-top:30px !important;}
.mgnT40 {margin-top:40px !important;}
.mgnT50 {margin-top:50px !important;}
.mgnT60 {margin-top:60px !important;}
.mgnT70 {margin-top:70px !important;}
.mgnT80 {margin-top:80px !important;}

.pdnT0{padding-top: 0 !important;}
.pdnB0{padding-bottom: 0 !important;}

/** SP : visibility, tel **/
.visible-sp{display: none !important;}

@media all and (min-width: 768px) and (max-width: 1024px) { 
	
}

@media (max-width: 767px) {
	a[href^="tel:"]{
    	pointer-events: none;
  	}
	
  	.hidden-sp {display: none !important;}
	.visible-sp {display: block !important;}	
}


/*
 common nav
******************************************************************************
*/


/*
 header (tb/sp)
********************************/    
.header-nav-touch{
    padding: 15px 0 10px;
    background-color: rgba(255,255,255,0.6);
}

.logo-header img {
    width: 100px;
    height: auto;
}

/** full menu **/
/* menu icon */
.menu-icon{
    height: 20px;
    /*position: absolute;*/
    position: fixed;
    left: 20px;
    top: 20px;
    width: 30px;
    z-index: 990;
}
.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-top.active{
    top: 8px;
    transform: rotate(45deg);
}
.menu-line-center.active{
    transform:scaleX(0);
}
.menu-line-bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}

/* full menu list */
.fullmenu{
    background: #c89b50;
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 989;
}
.fullmenu-wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}

.logo-fullmenu{
    position: absolute;
    top: 20px;
    right: 20px;
}

.logo-fullmenu img {
    width: 100px;
    height: auto;
}

ul.fullmenu-list{
    width: 70%;
    text-align: center;
}

ul.fullmenu-list li a{
    color: #fff !important;
    font-size: 1.1rem;
    border-bottom: 1px solid #D4B077;
    padding: 8px 0;
    display: block;
}

/* reserve fullmenu */
.reserve-fullmenu{margin: 15px 0;}

.reserve-fullmenu p{
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.reserve-fullmenu p.txt-tel{
    font-size: 1.6rem;
    margin-bottom: 15px;
}

.reserve-fullmenu p.txt-tel span{
    font-size: 1rem;
    font-weight: normal;
    display: block;
}

ul.fullmenu-list li .reserve-fullmenu a.btn-contact {
    color: #fff !important;
    font-size: 1.3rem;
    border-bottom: none;
    padding: 10px 0;
    display: block;
    background-color: #765730;
}


/** reserve **/
.btn-reserve-offcanvas{
    background: #c89b50;
    font-size: 1.1rem;
    padding: 5px 13px;
}

/*.btn-pamphlet-offcanvas{
    background: #d0b893;
    font-size: 0.8rem;
    padding: 5px 5px;
}*/

.reserve-offcanvas{
    background: #fff;
    color: #4b4b4b;
}

.reserve-offcanvas .uk-close{color: #4b4b4b;}

ul.reserve-offcanvas-list{
    margin: 50px 0 0;
    text-align: center;
}

ul.reserve-offcanvas-list li p{
    font-size: 1.2rem;
    margin-bottom: 20px;
}

ul.reserve-offcanvas-list li p.txt-tel{
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 40px;
}

ul.reserve-offcanvas-list li p.txt-tel span{
    display: block;
    font-size: 0.8rem;
    font-weight: normal;
}
    
ul.reserve-offcanvas-list li a.btn-contact{
    display: block;
    color: #fff;
    background: #765730;
    padding: 13px 0;
    width: 100%;
    font-size: 1.1rem;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}
    
ul.reserve-offcanvas-list li a.btn-contact:hover{
    background: #d7bd9d;
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
	
	
}


/*
 header (pc)
********************************/

/* Desktop */
@media (min-width: 1025px) {
    
    header{background-color: rgba(255,255,255,0.6);}
    
    .logo-header img {
        width: 120px;
        height: auto;
    }
        
    /** header-navbar **/
    ul.header-navbar{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 5px 0 0;
        margin: 0;
    }
    
    /*ul.header-navbar li:not(:last-child) a{*/
    ul.header-navbar li a{
        position: relative;
        display: inline-block;
        text-decoration: none;
        color: #000;
        font-size: 0.7rem;
        margin: 0 10px;
        letter-spacing: 0.5px;
    }
    
    /*ul.header-navbar li:not(:last-child) a:hover{color: #765730;}*/
    ul.header-navbar li a:hover{color: #765730;}
    
    /*ul.header-navbar li:not(:last-child) a::after{*/
    ul.header-navbar li a::after{
        position: absolute;
        bottom: 2px;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #765730;
        opacity: 0;
        visibility: hidden;
        transition: .3s;
    }
    
    /*ul.header-navbar li:not(:last-child) a:hover::after{*/
    ul.header-navbar li a:hover::after{
        bottom: -4px;
        opacity: 1;
        visibility: visible;
    }
    
    /* instagram icon */
    /*ul.header-navbar li:last-child{color: #000;}
    ul.header-navbar li:last-child a:hover{color: #765730;}*/
    
    /** header-navbar-contact **/
    .btn-header-contact{
        background: #c89b50;
        font-size: 0.7rem;
        padding: 32px 16px;
    }
    
    a.btn-header-contact:hover{
        text-decoration: none;
    }
    
    .btn-header-pamphlet{
        background: #d0b892;
        font-size: 0.7rem;
        padding: 32px 16px;
    }
    
    /* contact box */
    .box-header-contact{
        width: 560px;
        padding: 25px;
        color: #000;
    }
    
    ul.header-contact-list{
        margin: 0 auto;
        padding: 0;
        display: flex;
        text-align: center;
    }
    
    ul.header-contact-list li{
        padding: 0 20px;
        text-align: center;
    }
    
    ul.header-contact-list li:first-child{
        border-right: 1px solid #ccc;
    }
    
    ul.header-contact-list li p:first-child{
        font-size: 1.1rem;
        margin-bottom: 10px;
    }
    
    .txt-header-tel{
        font-size: 2.2rem;
        font-weight: 700;
        margin: 20px 0 0;
    }
    
    .txt-header-tel span{
        display: block;
        font-size: 0.8rem;
        font-weight: normal;
    }
    
    ul.header-contact-list li a.btn-contact{
        display: block;
        color: #fff;
        background: #765730;
        padding: 13px 0;
        width: 200px;
        font-size: 1.1rem;
        -webkit-transition: 0.8s;
        -moz-transition: 0.8s;
        -o-transition: 0.8s;
        -ms-transition: 0.8s;
        transition: 0.8s;
    }
    
    ul.header-contact-list li a.btn-contact:hover{
        background: #d7bd9d;
    }
    
    
}

@media (min-width: 1600px) {
    
    .logo-header img {
        width: 160px;
    }
    
    ul.header-navbar li a{
        font-size: 1.2rem;
        margin: 0 15px;
        letter-spacing: 1px;
    }
    
    .btn-header-contact{
        font-size: 1.2rem;
        padding: 32px 30px;
    }
    
}


/*
 footer
********************************/
/** footer-nav **/
#footer-nav{
    padding: 40px 0;
    position: relative;
}

.logo-footer{text-align: center;}
.logo-footer img {
    width: 120px;
    height: auto;
    margin: 0 auto 20px;
}

.footer-nav{
    display: flex;
    flex-wrap: wrap;
}

.footer-nav div{width: calc(100% / 2);}

ul.footer-nav-list{
    margin: 0;
    padding: 0 0 0 30px;
    font-size: 1.2rem;
}

/** to top **/
.btn-totop{
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.btn-totop a{
    display: block;
    
}

/** footer-nav vmg **/
#footer-nav-vmg{
    padding: 40px 0 0;
    background: #78786e;
    /*margin-bottom: 47px;*/
    margin-bottom: 0;
}

ul.footer-bnr-list{
    width: 82%;
    margin: 0 auto 30px;
}

ul.footer-bnr-list li{margin-bottom: 15px;}

.footer-nav-vmg{margin-bottom: 40px !important;}

.footer-nav-vmg dl{
    width: 82%;
    margin: 0 auto 10px;
    display: flex;
    align-items: flex-start;
    font-size: 1.1rem;
}

.footer-nav-vmg dl dt{
    width: 50px;
    color: #fff;
    font-weight: normal;
}

.footer-nav-vmg dl dd a{color: #fff;}


/** copyright **/
.wrap-copyright{
    background: #000;
    padding: 18px;
    display: flex;
    flex-wrap: wrap;
}

.wrap-copyright p.txt-copyright,
.wrap-copyright p a{
    color: #fff;
    font-size: 1rem;
}

p.txt-copyright{
    width: 100%;
    margin: 0 0 5px 10px;
}

.wrap-copyright p:not(.txt-copyright){margin: 0 10px;}

/** bnr hotels **/
.ft-bnr-hotels{
    width: 82%;
    margin: 0 auto 30px;
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
	.footer-nav div{width: calc(100% / 4);}
    
	ul.footer-bnr-list{
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px;
    }
    
    ul.footer-bnr-list li{width: 49%;}
    
    .footer-nav-vmg{
        display: flex;
        justify-content: space-around;
    }
    
    .footer-nav-vmg dl{
        width: 90%;
        font-size: 1rem;
    }
    
}

/* Desktop */
@media (min-width: 1025px) {
    
    /** footer-nav **/
    #footer-nav{padding: 80px 0;}
    
    .logo-footer img{
        width: 190px;
        margin: 0 auto 40px;
    }
    
    .footer-nav{
        flex-wrap: nowrap;
        justify-content: center;
    }
    
    .footer-nav div{
        width: calc(100% / 4);
        border-left: 1px solid #ccc;
    }
    
    .footer-nav div:last-child{border-right: 1px solid #ccc;} 
    
    ul.footer-nav-list{font-size: 1.4rem;}
    ul.footer-nav-list li{margin-bottom: 10px;}
    
    ul.footer-nav-list li a:hover{
        color: #765730;
    }
    
    /** footer-nav vmg **/
    #footer-nav-vmg{
        padding: 80px 0 0;
        margin-bottom: 0;
    }
    
    ul.footer-bnr-list{
        display: flex;
        justify-content: space-between;
        margin-bottom: 60px;
    }
    
    ul.footer-bnr-list li{width: 49%;}
    
    .footer-nav-vmg{
        display: flex;
        justify-content: space-around;
    }
        
    .footer-nav-vmg dl{
        width: 100%;
        margin: 0 auto 10px;
        font-size: 1.3rem;
    }
    
    .footer-nav-vmg dl dt{width: 60px;}
        
    /** copyright **/
    .wrap-copyright{
        justify-content: center;
        align-items: flex-end;
    }
    
    p.txt-copyright,
    .wrap-copyright p:not(.txt-copyright){
        width: auto;
        margin: 0 10px;
        font-size: 1.2rem;
    }
    
}


/*
 footer nav contact (tb/sp)
********************************/
#footer-nav-contact{
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #c89b50;
    z-index: 980;
}

ul.nav-contact-touch{
    display: flex;
    margin: 0;
}

ul.nav-contact-touch li{
    width: 50%;
    text-align: center;
}

ul.nav-contact-touch li:first-child{border-right: 1px solid #000;}

ul.nav-contact-touch li a{
    display: block;
    padding: 13px 0;
    font-size: 1.1rem;
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
	
    
    
	
}



/*
 common section
******************************************************************************
*/

/*
 party report
********************************/
/*.card-report{margin-bottom: 40px;}
.card-report div{
    width: 90%;
    padding: 0 5% 30px;
}*/

.card-report{
    display: grid;
    grid-gap: 40px 20px;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    margin-bottom: 40px;
}
    
.card-report div{
    width: 100%;
    padding: 0;
}

.card-report div img{width: 100%;}

figure.card-report-item{margin: 0;}

figure.card-report-item figcaption{
    margin-bottom: 0;
    background: #c89b50;
    font-size: 1.2rem;
    padding: 15px 10px;
    color: #333;
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
	.card-report{
        display: grid;
        grid-gap: 60px 40px;
        grid-template-columns: repeat(3, 1fr);
        justify-content: space-between;
    }
    
    .card-report div{
        width: 100%;
        padding: 0;
    }
    
    figure.card-report-item figcaption{padding: 20px;}
	
}

/* Desktop */
@media (min-width: 1025px) {
    
    /*.card-report{
        display: flex;
        justify-content: space-between;
        margin-bottom: 60px;
    }
    
    .card-report div{
        width: calc(100% / 3 - 40px);
        padding: 0;
    }*/
    
    .card-report{
        display: grid;
        grid-gap: 60px 40px;
        grid-template-columns: repeat(3, 1fr);
        justify-content: space-between;
        margin-bottom: 60px;
    }
    
    .card-report div{
        width: 100%;
        padding: 0;
    }
    
    figure.card-report-item {
        overflow: hidden;
        width: 100%;
        height: 100%;
        background: #fff;
        position: relative;
    }

    figure.card-report-item img{
        display: block;
        transition-duration: 0.8s;
        position: relative;
        z-index: 1;
    }

    figure.card-report-item:hover img{
        transform: scale(1.2);
        transition-duration: 0.8s;
        opacity: 0.5;
    }
    
    figure.card-report-item figcaption{
        font-size: 1.4rem;
        padding: 30px 5%;
        text-align: center;
        position: relative;
        z-index: 2;
        width: 90%;
        height: 100%;
    }
    
    figure.card-report-item:hover{opacity: 0.5;}
    
}


/*
 bridal fair
********************************/
/*.card-fair div{
    width: 90%;
    padding: 0 5% 20px;
}*/

.card-fair{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0;
}
    
.card-fair div{
    width: calc(100% / 2 - 15px);
    padding: 0;
    margin-bottom: 40px;
}

.card-fair div img{
    border-radius: 120px;
    width: 100%;
    margin-bottom: 10px;
}

.card-fair div h3{
    text-align: center;
    margin-bottom: 10px;
    font-size: 1.5rem;
}


/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
    .card-fair{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 60px;
    }
    
	.card-fair div{
        width: calc(100% / 4 - 40px);
        padding: 0;
        margin-bottom: 40px;
    }
	
}

/* Desktop */
@media (min-width: 1025px) {
    
    .card-fair{margin-bottom: 60px;}
    
    .card-fair div{
        width: calc(100% / 4 - 40px);
        padding: 0;
    }
    
    .card-fair div img{margin-bottom: 30px;}
    
    .card-fair div h3{
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    
}


/*
 reservation
********************************/
.card-contact div{
    border: 1px solid #000;
    background: #fff;
    width: 90%;
    padding: 20px 5%;
    text-align: center;
}

.card-contact div:first-child{margin: 0 0 20px;}
.card-contact div p:first-child{margin: 0 0 10px;}

.card-contact .txt-tel{
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0;
}

.card-contact .txt-tel span{
    font-size: 1.2rem;
    font-weight: normal;
    display: block;
}

ul.btn-contact-list{
    display: flex;
    justify-content: space-between;
    margin: 0;
}

ul.btn-contact-list li{width: 48%;}


/* Tablet */
@media all and (min-width: 768px) and (max-width: 1024px) { 
	
	
	
}

/* Desktop */
@media (min-width: 1025px) {
    
    .card-contact{
        display: flex;
        justify-content: space-around;
        margin: 60px 0 0;
    }
    
    .card-contact div {
        width: 35%;
        padding: 30px 5%;
    }
    
    .card-contact div:first-child{margin: 0;}
    ul.btn-contact-list{margin: 20px 0 0;}
    
    
    
}