@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600&display=swap');

:root{
        --main-color: #46A599;
        --sub-color: #F08F65;
        --bg-color: #F1F7F6;
}

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

body{
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.5rem;
	font-weight: 400;
    color: #707070;
    background-color: var(--bg-color);
    overflow-x: hidden;
	text-size-adjust: 100%;
}

@media (max-width: 767px){
       
    body{
        font-size: 1.3rem;
    }
}

/*
 base
******************************************************************************
*/

/** 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;}

/** reset **/
h1,h2,h3,h4,h5,h6,p,
ul,ol{
    margin: 0;
    padding: 0;
}

h1,h2,h3,h4,h5,h6{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

ul,ol{
    list-style: none;
}

p{
    margin-bottom: 20px;
}

.txt-en{font-family: 'Cormorant', serif;}

a,
a:hover{
    color: #333;
    text-decoration: none;
}

/* ::selection */

/** 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;}

/** page top **/
main{
    position: relative;
    padding-bottom: 120px;
}

.pagetop{
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 80px;
}

/** background color **/
.bg-white{
    background: #fff;
}

/** text color **/
.txt-c-def{color: #444 !important;}
.txt-c-main{color: var(--main-color) !important;}

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

@media (min-width: 960px) {
	
	.align-lc{text-align: center;} 
    a[href^="tel:"]{cursor: default;}
    
	
}


@media (max-width: 767px) {
	
  	.hidden-sp {display: none !important;}
	.visible-sp {display: block !important;}	
}


/*
  header 
********************************/
/** hamburger menu **/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:-120%;
    left:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background: #fff;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    /*top: 50%;
    left: 50%;*/
    top: 65px;
    left: 0;
    /*transform: translate(-50%,-50%);*/
    width: 100%;
}

/*リストのレイアウト設定*/
#g-nav li{
	list-style: none;
    text-align: left; 
}

#g-nav li a{
	text-decoration: none;
	padding: 15px 30px;
	display: block;
    border-bottom: 1px solid var(--main-color);
}

#g-nav li:first-child a{
    border-top: 1px solid var(--main-color);
}

/* hnav */
.header-logo-hm{
    width: 147px;
    margin: 20px 0 0 23px;
}

ul.hnav li a span{
    display: block;
    font-size: 20px;
    color: #fff;
}

ul.hnav li a{
    font-size: 1.6rem;
    color: var(--main-color);
    font-weight: bold;
}

ul.hnav li.btn-hnav-reserve img{
    width: 280px;
    max-width: 280px;
}

/* header */
.header{
    background-color: rgba(255,255,255,1);
    height: 65px;
}

/* header logo */
.header-logo{
    position: fixed;
    width: 147px;
    margin: 20px 0 0 23px;
    
}

/* header tel */
.header-tel{
    position: fixed;
    width: 26px;
    top: 20px;
    right: 70px;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 1px;
    border-radius: 0;
	background-color: var(--main-color);
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
    background-color: var(--main-color);
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
    background-color: var(--main-color);
}


/*@media only screen and (max-width: 767px) {*/

/*@media (min-width: 1025px) {*/
@media (min-width: 768px) {
    
    .header{
        background-color: rgba(255,255,255,1);   
    }

    /* hnav */
    ul.h-nav{
        display: flex;
        justify-content: flex-end;
        margin: 20px 0 0 0;
    }
    
    ul.h-nav li{
        margin-left: 40px;
    }
    
    ul.h-nav li a{
        color: var(--main-color);
        font-size: 1.6rem;
    }
    
    /*.header-logo,
    .header-logo-hm{        
        width: 220px;
        margin: 30px 0 0 50px;
    }
    */
    /*×に変化*/
    /*.openbtn1 span{
        background-color: #AC0E01;
    }*/
    
}



/*
  footer
********************************/
.footer{
    padding: 10px 0;
    background: #fff;
    text-align: center;
}

.footer p{
    font-size: 1rem;
    letter-spacing: 1px;
    margin: 0;
}


@media (min-width: 1025px) {
    
    .footer{
        padding: 20px 0;
    }
   
    .footer p{
        font-size: 1.2rem;
    }
        
}


/*
  slider
********************************/

.slider-about .uk-dotnav > .uk-active > * {
    background-color: #B19319;
    border-color: transparent;
}

.slider-about .uk-dotnav > * > *{
    background: #cdcdcd;
    /*background: rgba(102, 102, 102, 0.6);*/
    border: none;
}

.slider-about .uk-dotnav > * > :hover,
.slider-about .uk-dotnav > * > :focus {
  background-color: #B19319;
}


/*.wrap-slider{
    padding: 20px 0 20px 0;
}

.wrap-slider .uk-slider-items > *{
    max-width: 93%;
}

.wrap-slider .uk-grid > * {
    padding-left: 15px;
}

.wrap-slider .uk-dotnav{
    margin: 0 40px 0 0;
}

.wrap-slider .uk-dotnav > * > * {
    width: 7px;
    height: 7px;
}*/


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

    
		
}

@media (min-width: 1025px) {
    
   
    
}


/*
  common
********************************/

/** title **/
.tit-page{
    font-size: 2rem;
    color: var(--main-color);
    text-align: center;
    padding: 60px 0 40px;
    letter-spacing: 0.1rem;
    font-weight: bold;
}

.tit-page span{
    font-size: 1.2rem;
    display: block;
    margin-top: 20px;
}

/** button **/
.btn-style-01{
    background: var(--main-color);
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    width: 100%;
    padding: 12px 0;
    line-height: 1;
    position: relative;
}

.btn-style-01:hover{
    color: #fff;
    opacity: 0.9;
}

.btn-style-01:after{
    content: "▶︎";
    display: block;
    position: absolute;
    top: 38%;
    right: 13px;
    font-size: 1rem;
}

@media all and (min-width: 768px) and (max-width: 1024px) { 
    
    /** button **/
    .btn-style-01{
        width: 200px;
        padding: 10px 0;
    }

    
		
}

@media (min-width: 1025px) {
    
    /** title **/
    .tit-page{
        font-size: 3rem;
        padding: 200px 0 100px;
    }

    .tit-page span{
        font-size: 1.8rem;
    }
    
    /** button **/
    .btn-style-01{
        width: 200px;
    }

    
}

/*
  会場　一覧
********************************/

ul.nav-place{
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    margin: 0 auto 40px;
}

ul.nav-place li a{
    font-size: 1.3rem;
    display: block;
    color: var(--main-color);
    background: #fff;
    text-align: center;
    padding: 12px 25px;
    font-weight: bold;
}

ul.nav-place li a:hover{
    opacity: 0.9;
}

ul.nav-place li.current a{
    color: #fff;
    background: var(--main-color);
}

.wrap-place-list{
    background: #fff;
}

.card-place{
    padding: 30px 20px;
}

.tit-card-place{
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: var(--main-color);
}

dl.list-card-place{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0 0 10px;
}

/*dl.list-card-place dt.access{
    width: 90px;
}*/

@media all and (min-width: 768px) and (max-width: 1024px) { 
    
   ul.nav-place{
       grid-template-columns: repeat(3, 1fr);
       width: 80%;
       margin: 0 auto 40px;
   }

    .card-place{
        padding: 30px 30px;
    }
    
		
}

@media (min-width: 1025px) {
    
   ul.nav-place{
       grid-template-columns: repeat(5, 1fr);
       width: 80%;
       margin: 0 auto 80px;
    }
    
    .card-place{
        padding: 30px 40px;
    }
    
    .tit-card-place{
        font-size: 2.2rem;
    }
}

/*
  会場　詳細
********************************/
.sec-place-outline{
    background: #fff;
}

.tit-place{
    font-size: 2rem;
    margin-bottom: 20px;
    color: var(--main-color);
}

.tit-point{
    font-size: 2rem;
    margin-bottom: 20px;
    color: var(--main-color);
}

.tit-point span{
    font-size: 1.3rem;
    margin-bottom: 10px;
    display: block;
}

.subtit-point{
    font-size: 1.8rem;
    margin-bottom: 20px;
    font-weight: bold;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}


@media all and (min-width: 768px) and (max-width: 1024px) { 
    
   .tit-place{
        font-size: 2.2rem;
    }

    
		
}

@media (min-width: 1025px) {
    
   .tit-place{
        font-size: 2.2rem;
    }
    
    
    
}

/*
  こだわり　一覧
********************************/

.height-keyword-ph{
    height: 110px;
}

.tit-card-keyword{
    font-size: 1.3rem;
    margin-bottom: 0;
}

.tit-list-keyword{
    font-size: 2rem;
    border-bottom: 1px solid;
    padding-bottom: 7px;
    margin: 60px 0 20px;
}

ul.list-keyword-cate li{
    font-size: 1.4rem;
    margin-bottom: 10px;
}

@media all and (min-width: 768px) and (max-width: 1024px) { 
    
   .tit-card-keyword{
        font-size: 2rem;
    }
    
    .height-keyword-ph{
        height: 138px;
    }
    
    .tit-list-keyword{
        margin: 0 0 20px;
    }
    
		
}

@media (min-width: 1025px) {
    
   
    .tit-card-keyword{
        font-size: 2.2rem;
    }
    
    .height-keyword-ph{
        height: 180px;
    }
    
    .tit-list-keyword{
        margin: 0 0 20px;
    }
    
}

/*
  こだわり　詳細
********************************/

hr.hr{
    overflow: visible;
    text-align: inherit;
    margin: 40px 0 0;
    border: 0;
    border-top: 1px solid #000;
}


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

    
		
}

@media (min-width: 1025px) {
    
   
    
}
