@charset "utf-8";


/* ----------------------------------------------------------------------
	selection
---------------------------------------------------------------------- */

::selection { background: #a67c49; color: #fff; }
::-moz-selection { background: #a67c49; color: #fff; }


/* ----------------------------------------------------------------------
	html,body
---------------------------------------------------------------------- */

html { font-size: 62.5%; }

body {
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo, sans-serif;
	color: #444;
	font-size: 1.6rem;
	line-height: 1.6;
    letter-spacing: .1em;
    font-feature-settings: "palt";
	-webkit-text-size-adjust: none;
    min-width: 1100px;
}


@media screen and (max-width: 990px) {
	body { min-width: inherit; }
}


/* ----------------------------------------------------------------------
	anchor
---------------------------------------------------------------------- */

a { -webkit-tap-highlight-color: rgba(0,0,0,0.3); transition: 0.3s; }
a:link { color: #444; text-decoration: underline; }
a:visited { color: #444; text-decoration: underline; }
a:hover { color: #a67c49; text-decoration: none; }
a:active { color: #a67c49; text-decoration: none; }
a:focus { outline: none; }
a img { transition: 0.3s; }
a:hover img { opacity: 0.8; }


/* ----------------------------------------------------------------------
	txt
---------------------------------------------------------------------- */

.font-ja {
    font-family: Ryumin Regular KL , "リュウミン R-KL" , YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    letter-spacing: .16em;
}

.font-ja--bold {
    font-family: Ryumin Bold KL , "リュウミン B-KL" , YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    etter-spacing: .16em;
}

.fs10 { font-size: 10px !important; font-size: 1rem !important; }
.fs11 { font-size: 11px !important; font-size: 1.1rem !important; }
.fs12 { font-size: 12px !important; font-size: 1.2rem !important; }
.fs13 { font-size: 13px !important; font-size: 1.3rem !important; }
.fs14 { font-size: 14px !important; font-size: 1.4rem !important; }
.fs15 { font-size: 15px !important; font-size: 1.5rem !important; }
.fs16 { font-size: 16px !important; font-size: 1.6rem !important; }
.fs17 { font-size: 17px !important; font-size: 1.7rem !important; }
.fs18 { font-size: 18px !important; font-size: 1.8rem !important; }
.fs19 { font-size: 19px !important; font-size: 1.9rem !important; }
.fs20 { font-size: 20px !important; font-size: 2rem !important; }

.left { text-align: left !important; }
.center { text-align: center !important; }
.right { text-align: right !important; }

.bold { font-weight: bold; }

.color-red { color:  #af3a3a; }
.color-ocher { color: #a67c49; }

@media screen and (max-width: 990px) {
    .spbr { display: none; }
    
    .spblock { display: block; }
    
    .spinlineblock { display: inline-block; }
}


/* ----------------------------------------------------------------------
	background
---------------------------------------------------------------------- */

.bg-circle {
    background: url("../img/bg_circle.gif") center center;
    background-size: 90px;
}


/* ----------------------------------------------------------------------
	img
---------------------------------------------------------------------- */

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

.no-img { border: 1px solid #ddd; }


/* ----------------------------------------------------------------------
	wrapper
---------------------------------------------------------------------- */

#wrapper { width: 100%; }

@media screen and (max-width: 990px) {
    
}


/* ----------------------------------------------------------------------
	header
---------------------------------------------------------------------- */

.header {
    position: relative;
    z-index: 1;
}

.header__deco-l {
    background: url("../img/header_deco_l.gif") left top no-repeat;
    background-size: 520px 280px;
}

.header__deco-r {
    background: url("../img/header_deco_r.gif") right top no-repeat;
    background-size: 520px 280px;
    position: relative;
    height: 280px;
}

.header__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%,-50%);
    text-align: center;
}

@media screen and (max-width: 990px) {
    .header__deco-l { background: none; }

    .header__deco-r {
        background: none;
        height: 84px;
    }

    .header__logo {
        position: absolute;
        top: 20px;
        left: 20px;
        transform: translate(0);
        text-align: left;
        line-height: 1;
    }
    
    .header__logo img {
        width: auto;
        height: 44px;
    }
}

@media screen and (max-width: 321px) {
    .header__logo--wedding { top: 22px; }
    
    .header__logo--wedding img { height: 40px; }
}


/* header-g-nav */
.header-g-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 960px;
    padding-right: 70px;
}

@media screen and (max-width: 990px) {
    .header-g-nav { display: none; }
}


/* h-nav-sp */
.h-nav-sp { display: none; }

@media screen and (max-width: 990px) {
    .h-nav-sp {
        position: absolute;
        top: 20px;
        right: 74px;
        display: flex;
        gap: 0 10px;
    }
    
    .h-nav-sp li a {
        background: #a67c49;
        text-align: center;
        line-height: 1;
        width: 44px;
        height: 44px;
        display: block;
        border-radius: 22px
    }
    
    .h-nav-sp__access a { padding: 10px 0; }
    
    .h-nav-sp__contact a { padding: 14px 0; }
}


/* ----------------------------------------------------------------------
	g-nav
---------------------------------------------------------------------- */

.g-nav__inner {
    display: flex;
    justify-content: space-between;
}

.g-nav__main,
.g-nav__sub {
    writing-mode: vertical-lr;
    font-feature-settings: "vpal";
}

.g-nav__main > li {
    position: relative;
    border-left: 1px solid #444;
}

.g-nav__main { border-right: 1px solid #444; }

.g-nav__main > li > a,
.g-nav__sub > li > a {
    text-decoration: none;
    letter-spacing: .3em;
}

.g-nav__main > li > a {
    font-size: 1.8rem;
    padding: 10px 14px 6px;
    display: block;
}

.g-nav__main-child {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%,0);
    background-color: rgba(255,255,255,0.95);
    padding: 0 20px 20px;
    box-shadow: 0 0 6px rgba(0,0,0,0.1);
    width: 340px;
    writing-mode: horizontal-tb;
    font-feature-settings: normal;
    display: none;
}

.g-nav__main-child p { text-align: center; }

.g-nav__main-child p a { 
   text-decoration: none;
   font-size: 1.8rem;
   padding: 20px 0 18px;
   display: block;
}

.g-nav__main-child p a span {
    background: url("../img/icon_a_circle_black.png") right center no-repeat;
    background-size: 18px;
    padding-right: 22px;
}

.g-nav__main-child ul  li a {
    background: url("../img/icon_a_gray.png") right center no-repeat;
    background-size: 6px 12px;
    text-decoration: none;
    padding: 12px 0;
    display: block;
}

.g-nav__main > li ul li { border-bottom: 1px solid #ddd; }

.g-nav__main > li ul li:first-child { border-top: 1px solid #ddd; }

.g-nav__sub > li > a {
    padding: 10px 8px 6px;
    display: inline-block;
}

#about .g-nav__about > a,
#banquet .g-nav__banquet > a,
#plan-banquet .g-nav__banquet > a,
#plan-standing .g-nav__banquet >a,
#celebration .g-nav__banquet >a,
#cuisine .g-nav__banquet >a,
#kaiseki .g-nav__banquet >a,
#hall .g-nav__banquet >a,
#banquet-reserve .g-nav__banquet > a,
#banquet-reserve-index .g-nav__banquet > a,
#faq-banquet .g-nav__banquet > a,
#wedding .g-nav__wedding > a,
#rental .g-nav__rental > a,
#about .g-nav__about > a,
#topics .g-nav__topics > a,
#access .g-nav__access > a,
#contact .g-nav__contact > a { color: #a67c49; }

@media screen and (max-width: 990px) {
    
}


/* ----------------------------------------------------------------------
	content
---------------------------------------------------------------------- */

.content--under {
    padding: 60px 0 0;
    border-top: 1px solid #ddd;
}

.content__deco {
    position: relative;
    z-index: 1;
    background: url("../img/content_bg_pc.png") center top no-repeat;
    background-size: 800px 335px;
    padding: 160px 0 0;
    margin: -194px 0 0;
}

.content__inner {
    margin: 0 auto;
    max-width: 1100px;
}

.content__inner--small { max-width: 800px; }

.content__bg {
    background: #f9f6f2;
    padding: 140px 0;
    margin: 0 0 140px;
}

@media screen and (max-width: 990px) {
    .content--under { padding: 30px 0 0; }
    
    .content__deco {
        background: url("../img/content_bg_sp.png") center top no-repeat;
        background-size: 240px 100px;
        padding: 60px 0 0;
        margin: -50px 0 0;
    }

    .content__inner { margin: 0 20px; }
    
    .content__bg {
        padding: 80px 0;
        margin: 0 0 80px;
    }
}



/* ----------------------------------------------------------------------
	footer-bn
---------------------------------------------------------------------- */

.footer-bn {
    background: url("../img/footer_bn_bg.jpg") center center no-repeat;
    background-size: cover;
    padding: 90px 0;
}

.footer-bn__list {
    margin: 0 auto;
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
}

.footer-bn__list li { width: 530px; }

.footer-bn__list li a {
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-clip: border-box;
    padding: 40px;
    border: 1px solid rgba(255,255, 255,0.4);
    display: block;
}

.footer-bn__list li a:hover { background-color: rgba(255,255, 255,0.08); }

.footer-bn__list li a dl dt {
    font-size: 2.2rem;
    padding-top: 40px;
}

.footer-bn__contact a dl dt {
    background: url("../img/icon_mail.png") center top 3px no-repeat;
    background-size: 34px 24px;
}

.footer-bn__access a dl dt {
    background: url("../img/icon_access.png") center top 3px no-repeat;
    background-size: 20px 30px;
}

@media screen and (max-width: 990px) {
    #home .footer-bn { display: none; }
    
    .footer-bn { padding: 20px; }

    .footer-bn__list { display: block; }

    .footer-bn__list li {
        margin: 0 0 20px;
        width: auto;
    }
    .footer-bn__list li:last-child { margin: 0; }

    .footer-bn__list li a {
        background: url("../img/icon_a_white.png") right 20px center no-repeat;
        background-size: 6px 12px;
        padding: 24px 20px 20px;
    }
    
    .footer-bn__list li a dl dt { font-size: 2rem; }
}


/* ----------------------------------------------------------------------
	footer
---------------------------------------------------------------------- */

.footer__deco-l {
    background: url("../img/footer_deco_l.png") left bottom 20px no-repeat;
    background-size: 152px 252px;
}

.footer__deco-r {
    background: url("../img/footer_deco_r.png") right top 20px no-repeat;
    background-size: 110px 177px;
}

.footer__inner {
    position: relative;
    padding: 110px 10vw 0;
    margin: 0 0 120px;
    display: grid;
    grid-template-columns: 350px auto;
    gap: 0 40px;
}

@media screen and (max-width: 1400px) {
    .footer__inner {
        padding: 110px 0 0;
        margin: 0 auto 120px;
        width: 1100px;
    }
}

@media screen and (max-width: 990px) {
    #home .footer { display: none; }
    
    .footer__deco-l,
    .footer__deco-r { background: none; }

    .footer__inner {
        position: relative;
        padding: 0;
        margin: 0 0 50px;
        width: auto;
        display: block;
    }

    .footer__logo-deco-l {
        background: url("../img/footer_deco_l.png") left bottom 0 no-repeat;
        background-size: 152px 252px;
    }

    .footer__logo-deco-r {
        background: url("../img/footer_deco_r.png") right top 20px no-repeat;
        background-size: 110px 177px;
        padding: 50px 0 40px;
    }
 }
 

/* footer-logo */
.footer__block-logo { position: relative; }

.footer__address {
    position: absolute;
    top: 65px;
    left: 145px;
    font-size: 1.4rem;
}

@media screen and (max-width: 990px) {
    .footer__block-logo {
        padding: 0 0 30px;
        text-align: center;
    }

    .footer__address {
        position: static;
        margin-top: 26px;
    }
}


/* footer-nav__main */
.footer-nav__main {
    margin: 0 0 40px; 
    display: flex;
    justify-content: flex-end;
    gap: 0 40px;
}

.footer-nav__main > dl dt a,
.footer-nav__main > p a,
.footer-nav__main > ul li a {
    font-size: 1.8rem;
    text-decoration: none;
    display: inline-block;
}

.footer-nav__main > dl dt { margin: 0 0 0.8em; }

.footer-nav__main > dl dt a i { display: none; }

.footer-nav__main-index { display: none; }

.footer-nav__main > dl dd ul li { margin: 0 0 0.6em; }
.footer-nav__main > dl dd ul li:last-child { margin: 0; }

.footer-nav__main > dl dd ul li a { font-size: 1.5rem; }

.footer-nav__main > ul li { margin: 0 0 0.5em; }

@media screen and (max-width: 990px) {
    .footer__block-nav { margin: 0 20px; }

    .footer-nav__main {
        margin: 0; 
        display: block;
    }
    
    .footer-nav__main > dl { margin: 0 0 1em; }
    
    .footer-nav__main > dl dt {
        margin: 0;
        border-bottom: 1px solid #444;
    }
        
    .footer-nav__main > dl dt a {
        position: relative;
        padding: 0 0 0.4em;
        display: block;
    }
    
    .footer-nav__main > dl dt a:hover { color: #444; }
    
    .footer-nav__main > dl dt a i {
        position: absolute;
        top: 6px;
        right: 0;
        display: block;
    }

    .footer-nav__main > dl dd {
        padding: 16px 20px;
        display: none;
    }
    
    .footer-nav__main-index {
        margin: 0;
        display: block;
    }
    
    .footer-nav__main-index a {
        background: url("../img/icon_a_circle_black.png") right center no-repeat;
        background-size: 16px;
        font-size: 1.8rem;
        text-decoration: none;
        padding: 8px 22px 8px 0;
        display: inline-block;
    }
    
    .footer-nav__main > dl dd ul { margin-left: 1em; }
    
    .footer-nav__main > dl dd ul li { margin: 0; }
    
    .footer-nav__main > dl dd ul li a {
        background: url("../img/icon_a_black.png") left center no-repeat;
        background-size: 6px 12px;
        font-size: 1.6rem;
        text-decoration: none;
        padding: 8px 10px;
        display: inline-block;
    }
    
    .footer-nav__main > p,
    .footer-nav__main > ul li {
        margin: 0 0 1em;
        border-bottom: 1px solid #444;
    }

    .footer-nav__main > p a,
    .footer-nav__main > ul li a {
        background: url("../img/icon_a_black.png") right 4px top 8px no-repeat;
        background-size: 6px 12px;
        padding: 0 0 0.4em;
        display: block;
    }
    
    .footer-nav__main .footer-nav__banquet > dt,
    .footer-nav__main .footer-nav__wedding,
    .footer-nav__main .footer-nav__rental > dt { border-bottom: 1px solid #444;  }
}


/* footer-nav__sub-01 */
.footer-nav__sub-01 {
    font-size: 1.6rem;
    margin: 0 0 30px;
    display: flex;
    justify-content: flex-end;
    gap: 0 30px;
}

.footer-nav__sub-01 a { text-decoration: none; }

@media screen and (max-width: 990px) {
    .footer-nav__sub-01 {
        font-size: 1.8rem;
        margin: 0 0 40px;
        display: block;
    }
    
    .footer-nav__sub-01 li {
        margin: 0 0 1em;
        border-bottom: 1px solid #444;
    }
    
    .footer-nav__sub-01 li a {
        background: url("../img/icon_a_black.png") right 4px top 8px no-repeat;
        background-size: 6px 12px;
        padding: 0 0 0.4em;
        display: block
    }
}


/* footer-nav__sub-02 */
.footer-nav__sub-02 {
    position: absolute;
    top: 280px;
    left: calc(10vw + 145px);
}

.footer-nav__sub-02 li { margin: 0 0 0.6em; }
.footer-nav__sub-02 li:last-child { margin: 0; }

.footer-nav__sub-02 li a {
    font-size: 1.4rem;
    text-decoration: none;
}


@media screen and (max-width: 1400px) { 
    .footer-nav__sub-02 { left: 145px; }
}

@media screen and (max-width: 990px) {
    .footer-nav__sub-02 {
        position: static;
        margin: 0 0 40px;
    }

    .footer-nav__sub-02 li { margin: 0; }

    .footer-nav__sub-02 li a {
        background: url("../img/icon_a_black.png") left top 12px no-repeat;
        background-size: 6px 12px;
        padding: 8px 0 8px 10px;
        display: inline-block;
    }
}


/* footer-link__100nengura */
.footer-link__100nengura ul {
    display: flex;
    justify-content: flex-end;
    gap: 0 30px;
}

.footer-link__100nengura ul li { width: 260px; }

@media screen and (max-width: 990px) {
    .footer-link__100nengura ul { display: block; }

    .footer-link__100nengura ul li {
        margin: 0 0 20px;
        width: auto;
    }
    
    .footer-link__100nengura ul li:last-child { margin: 0; }
}


.footer__copy {
    font-size: 1rem;
    letter-spacing: .14em;
    text-align: center;
    padding-bottom: 26px;
}

@media screen and (max-width: 990px) {
    .footer__copy {
        font-size: 1.2rem;
        line-height: 1.6;
        letter-spacing: .1em;
        text-align: left;
        padding: 0 80px 35px 20px;
    }
    
    .footer__copy span { display: none; }
}


/* pagetop */
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	display: none;
}



@media screen and (max-width: 990px) {
	.pagetop {
		right: 20px;
		bottom: 20px;
	}
    
    .pagetop img {
		width: 44px;
		height: 44px;
	}
    
    
    #banquet .footer,
    #celebration .footer,
    #rental .footer { padding-bottom: 60px; }
    
    #banquet .pagetop,
    #celebration .pagetop,
    #rental .pagetop { bottom: 80px; }
}


/* ----------------------------------------------------------------------
	mainimg
---------------------------------------------------------------------- */

.l-mainimg img { width: 100%; }

@media screen and (max-width: 990px) {

}


/* ----------------------------------------------------------------------
	breadclumb
---------------------------------------------------------------------- */

.breadclumb {
    font-size: 1.4rem;
    padding: 16px 60px;
    border-top: 1px solid #ddd;
}

@media screen and (max-width: 990px) {
	.breadclumb {
		font-size: 1.2rem;
        padding: 10px 0 10px 20px;
		overflow-x: auto;
		white-space: nowrap;
	}
}


/* ----------------------------------------------------------------------
	heading
---------------------------------------------------------------------- */

/* page__ttl */
.page__ttl {
    background: url("../img/icon_logo.gif") center top no-repeat;
    background-size:  56px;
    font-size: 2.8rem;
    font-weight: normal;
    text-align: center;
    padding-top: 66px;
    margin: 0 0 1.2em;
}

@media screen and (max-width: 990px) {
    .page__ttl {
        background-size: 42px;
        font-size: 2.4rem;
        text-align: center;
        padding-top: 46px;
        margin: 0 0 0.8em;
    }
}


/* page-sub-ttl */
.page-sub-ttl {
    position: relative;
    font-size: 2.4rem;
    font-weight: normal;
    text-align: center;
    padding: 0 0 0.4em;
    margin: 0 0 1.4em;
}

.page-sub-ttl:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #444;
    width: 100px;
    height: 1px;
    display: block;
}

@media screen and (max-width: 990px) {
    .page-sub-ttl {
        font-size: 2.2rem;
        padding: 0 0 0.3em;
        margin: 0 0 1em;
    }
}


/* page-sub-ttl-icon */
.page-sub-ttl-icon {
    background: url("../img/icon_gegyo_gray_pc.gif") center top no-repeat;
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
    padding: 40px 0 0.4em;
    margin: 0 0 1em;
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 990px) {
    .page-sub-ttl-icon {
        background: url("../img/icon_gegyo_gray_sp.gif") center top no-repeat;
        background-size: 32px 30px;
        padding: 38px 0 0.4em;
    }
}

.page-sub-ttl-icon--tel {
    background: url("../img/icon_tel.gif") center top no-repeat;
    background-size: 50px 40px;
    padding-top: 50px;
}

.page-sub-ttl-icon--pc {
    background: url("../img/icon_pc.gif") center top no-repeat;
    background-size: 56px 40px;
    padding-top: 50px;
}

/* ----------------------------------------------------------------------
	page__lead
---------------------------------------------------------------------- */

.page__lead {
    text-align: center;
    margin: 0 0 2.6em;
}

.page__lead--mb2 { margin: 0 0 2em; }

.page__lead--unei { margin: 0 0 120px; }

.page__lead-catch {
    font-size: 2.2rem;
    margin: 0 0 0.4em;
}

.page__lead-catch--small { font-size: 2rem; }

.page__lead-txt { line-height: 1.8; }

.page__lead-txt span { display: inline-block; }

@media screen and (max-width: 990px) {
    .page__lead--unei { margin: 0 0 80px; }
    
    .page__lead--sp-left { text-align: left; }
    
    .page__lead-catch { font-size: 2rem; }
    .page__lead-catch--small { font-size: 1.8rem; }
    .page__lead-catch--sp-left { text-align: left; }
        
    .page__lead-txt { margin: 0 0 0.6em; }
    .page__lead-txt:last-child { margin: 0; }
    
    .page__lead-txt--sp-left { text-align: left; }
}

@media screen and (max-width: 321px) {
    .page__lead-catch { font-size: 1.8rem; }
    .page__lead-catch--small { font-size: 1.7rem; }
}


/* ----------------------------------------------------------------------
	l-reserve-info
---------------------------------------------------------------------- */

.l-reserve-info {
    background: url("../img/bg_asanoha.gif") center top;
    background-size: 60px 115px;
    padding: 2px;
    margin: 0 0 120px;
    border: 2px solid #a67c49;
}

.l-reserve-info__inner {
    padding: 40px 44px 44px;
    border: 2px solid #a67c49;
}

.l-reserve-info__ttl {
    color: #a67c49;
    font-size: 2.4rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0.6em;
}

.l-reserve-info__lead {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 1em;
}

@media screen and (max-width: 990px) {
    .l-reserve-info {
        background-size: 40px auto;
        margin: 0 0 60px;
    }

    .l-reserve-info__inner { padding: 20px; }
    
    .l-reserve-info__ttl {
        font-size: 2.2rem;
        margin: 0 0 0.2em;
    }
    
    .l-reserve-info__lead {
        font-size: 1.6rem;
        text-align: left;
    }
    
    .l-reserve-info__lead--sp-center {  text-align: center; }
}


/* ----------------------------------------------------------------------
	fixed-btn-reserve
---------------------------------------------------------------------- */

.fixed-btn-reserve {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 2;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
}

.fixed-btn-reserve a {
    background: url("../img/bg_asanoha_red.gif") center center;
    background-size: 50px 87px;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    letter-spacing: 0.2em;
    padding: 40px 20px;
    display: block;
}

.fixed-btn-reserve a:hover { opacity: 0.8; }

@media screen and (max-width: 990px) {
    .fixed-btn-reserve {
        position: fixed;
        top: auto;
        bottom: -65px;
        transform: translateY(0);
        padding: 0 20px;
        width: 100%;
        writing-mode: horizontal-tb;
        transition: 0.4s;
    }
    
    .fixed-btn-reserve a { padding: 22px 20px 20px;  }
    
    .fixed-btn-reserve a:hover { opacity: 1; }
    
    .fixed-btn-reserve--active { bottom: 0; }
}


/* ----------------------------------------------------------------------
	l-hall
---------------------------------------------------------------------- */

.l-hall { margin: 0 0 120px; }

.l-hall__lead {
    text-align: center;
    line-height: 1.8;
    margin: 0 0 2em;
} 

.l-hall__inner {
    margin: 0 0 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-hall__inner--reverse { flex-direction: row-reverse; }

.l-hall__inner:last-child { margin-bottom: 0; }

.l-hall__ph { width: 620px; }

.l-hall__ph a:hover { opacity: 0.8; }

.l-hall__ph img {
    width: 100%;
    height: auto;
}

.l-hall__box { width: 430px; }

.l-hall__floor {
    background: #fff;
    font-size: 1.4rem;
    line-height: 38px;
    text-align: center;
    margin: 0 0 2em;
    width: 120px;
    height: 38px;
    border: 1px solid #444;
}

.l-hall__name { margin: 0 0 1em; }

.l-hall__name span {
    font-size: 2.4rem;
    margin-right: 0.5em;
}

.l-hall__seat,
.l-hall__detail { margin-top: 1em; }

.l-hall__detail dl {
    display: flex;
    margin: 0 0 0.6em;
}

.l-hall__detail dl:last-child { margin: 0; }

.l-hall__detail dl dt { width: 90px; }

.l-hall__btn { margin-top: 20px; }

.l-hall__btn.btn-line a { width: 280px; }

@media screen and (max-width: 990px) {
    .l-hall { margin: 0 0 80px; }

    .l-hall__lead {
        text-align: left;
        margin: 0 0 1em;
    } 

    .l-hall__inner {
        margin: 0 0 50px;
        display: block;
    }

    .l-hall__ph {
        margin: 0 0 20px;
        width: auto;
    }

    .l-hall__ph img {
        width: 100%;
        height: auto;
    }

    .l-hall__box { width: auto; }

    .l-hall__floor { margin: 0 auto 1em; }

    .l-hall__name {
        text-align: center;
        margin: 0 0 0.4em;
    }
    
    .l-hall__name span { font-size: 2.2rem; }

    .l-hall__seat,
    .l-hall__detail { margin-top: 1em; }

    .l-hall__detail dl {
        display: flex;
        margin: 0 0 0.6em;
    }
    
     .l-hall__seat {
         text-align: center;
         margin-top: 0.6em; 
    }
    
    .l-hall__btn.btn-line a { width: 100%; }
}

@media screen and (max-width: 321px) {
    .l-hall__detail dl dt { width: 80px; }
}


.l-hall-lending {
    background: #f9f6f2;
    padding: 50px;
    margin: 0 auto 120px;
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-hall-lending__box { max-width: 660px; }

.l-hall-lending__catch {
    color: #a67c49;
    font-size: 2.2rem;
    text-align: center;
    margin: 0 0 0.4em;
}

.l-hall-lending__txt {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 0.8em;
}

@media screen and (max-width: 990px) {
    .l-hall-lending {
        padding: 20px;
        margin: 0 0 80px;
        display: block;
    }

    .l-hall-lending__ph { margin: 0 0 15px; }
    
    .l-hall-lending__ph img { width: 100%; }

    .l-hall-lending__catch { font-size: 2rem; }

    .l-hall-lending__txt { font-size: 1.6rem; }
}


/* ----------------------------------------------------------------------
	index
---------------------------------------------------------------------- */

.l-index { margin: 0 0 120px; }

.l-index__ph { margin: 0 0 20px; }

.l-index__ttl {
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0.4em;
}

.l-index__txt { margin: 0 50px 1em; }

.l-index__btn { text-align: center; }

@media screen and (max-width: 990px) {
    .l-index { margin: 0 0 80px; }

    .l-index__inner { margin: 0 0 60px; }
    
    .l-index__inner:last-child { margin: 0; }

    .l-index__txt { margin: 0 0 1em; }
}


/* ----------------------------------------------------------------------
	bn-faq
---------------------------------------------------------------------- */

.bn-faq { margin: 0 0 120px; }

.bn-faq a {
    background: url("../img/icon_a_circle_gray.svg") right 40px center no-repeat;
    background-size: 40px;
    color: #444;
    text-align: center;
    text-decoration: none;
    padding: 50px 20px 50px;
    border: 1px solid #ddd;
    border-left: none;
    border-right: none;
    display: block;
}

.bn-faq a:hover { background-color: #f8f8f8; }

.bn-faq dl dt {
    font-size: 2.4rem;
    margin: 0 0 0.4em;
}

@media screen and (max-width: 990px) {
    .bn-faq { margin: 0 0 60px; }

    .bn-faq a {
        background-position: right center;
        background-size: 26px;
        padding: 24px 0;
    }

    .bn-faq dl dt {
        font-size: 2rem;
        margin: 0 0 0.4em;
    }
    
    .bn-faq dl dd { font-size: 1.5rem; }
}


/* ----------------------------------------------------------------------
	bn-reserve
---------------------------------------------------------------------- */

.bn-reserve { margin: 0 0 160px; }

.bn-reserve a {
    background: #af3a3a;
    color: #fff;
    font-size: 2.8rem;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.2em;
    padding: 10px;
    display: block;
}

.bn-reserve a span {
    position: relative;
    background: url("../img/bg_asanoha_red.gif") center center;
    background-size: 50px 87px;
    padding: 50px 20px 50px;
    border: 1px solid #bf8d89;
    display: block;
}

.bn-reserve a span::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 29px;
    transform: translateY(-50%);
    background: url("../img/icon_a_circle_white.svg") center center;
    background-size: 40px;
    width: 40px;
    height: 40px;
    display: block;
    opacity: 0.6;
}

.bn-reserve a:hover { opacity: 0.8; }


@media screen and (max-width: 990px) {
    .bn-reserve { margin: 0 0 80px; }

    .bn-reserve a {
        font-size: 2rem;
        padding: 5px;
    }

    .bn-reserve a span { padding: 34px 20px 34px; }

    .bn-reserve a span::before {
        right: 14px;
        background: url("../img/icon_a_circle_white.svg") center center;
        background-size: 26px;
        width: 26px;
        height: 26px;

    }
}


/* ----------------------------------------------------------------------
	btn
---------------------------------------------------------------------- */

/* btn-default */
.btn-default a {
    background: url("../img/icon_a_default.png") right 20px center no-repeat #a67c49;
    background-size: 6px 12px;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 14px 0 12px;
    width: 340px;
    border-radius: 1000px;
    display: inline-block;
}

.btn-default--red a { background-color: #af3a3a; }

.btn-default--black a { background-color: #323333; }

.btn-default a:hover { opacity: 0.8; }

@media screen and (max-width: 990px) {
    .btn-default a {
        width: auto;
        display: block;
    }
}


/* btn-line */
.btn-line a {
    background: url("../img/icon_a_gray.png") right 20px center no-repeat #fff;
    background-size: 6px 12px;
    color: #444;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 12px 0;
    width: 340px;
    border-radius: 1000px;
    display: inline-block;
    border: 1px solid #ddd;
}

.btn-line--none a { background: #fff; } 

.btn-line a:hover { background-color: #f8f8f8; }

@media screen and (max-width: 990px) {
    .btn-line a { width: 100%; }
}


/* link-blank */
.link-blank {
	background: url("../img/icon_blank.gif") right center no-repeat;
	background-size: 14px 12px;
	padding-right: 18px;
}


/* link-100nengura */
.link-100nengura ul li { border: 1px solid #ddd; }

.link-100nengura ul li a {
    background: #fff;
    color: #444;
    text-align: center;
    text-decoration: none;
    padding: 14px 15px;
    display: block;
}

.link-100nengura ul li a:hover { background: #f8f8f8; }


/* tel */
.tel-num {
    font-size: 1.8rem;
    line-height: 1;
    text-align: center;
}

.tel-num--small { font-size: 1.4rem; }

.tel-num a {
    color: #444;
    font-size: 2.8rem;
    text-decoration: none;
}

.tel-num--small { margin: 1em 0 0; }
.tel-num--small a { font-size: 2.2rem; }

.tel-time {
    text-align: center;
    margin: 0.6em 0 0;
}

@media screen and (max-width: 990px) {
    .tel-num a { text-decoration: underline; }
    
    .tel-num--small { margin: 1.6em 0 0; }
    
    .tel-time { margin: 1.2em 0 0; }
}

@media screen and (max-width: 321px) {
    .tel-num {
        font-size: 1.6rem;
    }

    .tel-num a {  font-size: 2.4rem; }
}


/* link-tel */
a.link-tel {
    color: #444;
    text-decoration: none;
}

@media screen and (max-width: 990px) {
   a .link-tel { text-decoration: underline; }
}


/* ----------------------------------------------------------------------
	target-block
---------------------------------------------------------------------- */

.target-block {
    margin: -120px 0 0;
    padding: 120px 0 0;
}

@media screen and (max-width: 990px) {
    .target-block {
        margin: -60px 0 0;
        padding: 60px 0 0;
    }
}


/* ----------------------------------------------------------------------
	icon
---------------------------------------------------------------------- */

.list-icon li {
    background: url("../img/icon_list.gif") left 5px no-repeat;
    background-size: 16px;
    padding-left: 20px;
    margin: 0 0 0.6em;
}

.list-icon--mb1 li { margin: 0 0 1em; }
.list-icon--lh17 li { line-height: 1.7; }

.list-icon li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
}


/* icon-plus */
.icon-plus {
    position: relative;
    width: 16px;
    height: 16px;
    display: block;
}

.icon-plus:before,
.icon-plus:after {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    background: #444;
    width: 16px;
    height: 2px;
    display: block;
    transition: 0.25s;
}

.icon-plus--ocher:before,
.icon-plus--ocher:after { background: #a67c49; }

.icon-plus:before { transform: rotate(90deg); }

.on .icon-plus:before { transform: rotate(0); }

@media screen and (max-width: 990px) {
}


/* icon-free-drink */
.icon-free-drink  {
    background: #af3a3a;
    color: #fff;
    padding: 10px 20px;
}

@media screen and (max-width: 990px) {
    .icon-free-drink  {
        font-size: 1.4rem;
        padding: 8px 14px 6px;
    }
    
    .icon-free-drink--sp-fs12 { font-size: 1.2rem; }
}


/* ----------------------------------------------------------------------
	table
---------------------------------------------------------------------- */

.tbl {
	width: 100%;
	border-top: 1px solid #ddd;
}

.tbl th,
.tbl td {
	text-align: left;
	padding: 18px 15px;
}

.tbl tr { border-bottom: 1px solid #ddd; }

.tbl th { width: 24%; }

@media screen and (max-width: 990px) {
	.tbl { display: block; }
	
	.tbl tbody,
	.tbl tr {
		width: 100%;
		display: block;
	}
	
	.tbl th,
	.tbl td {
        padding: 20px 0;
        display: block;
    }

	.tbl th {
        padding-bottom: 0.4em;
		width: 100%!important;
		box-sizing: border-box;
	}
    
    .tbl td { padding-top: 0; }
    
    .tbl td span { display: block; }
}


/* ----------------------------------------------------------------------
	loacl-nav
---------------------------------------------------------------------- */

.local-nav {
    position: relative;
    margin: 0 0 120px;
}

.local-nav::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    background: url("../img/bg_asanoha_ocher.gif");
    background-size: 60px 105px;
    width: 100%;
    height: calc(100% - 100px);
}

.local-nav ul {
    max-width: 1100px;
    padding: 0 0 30px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}

.local-nav ul li { width: 245px; }

.local-nav ul li a {
    background: url("../img/icon_local_nav_white.svg") center bottom no-repeat;
    background-size: 18px 9px;
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    padding: 0 0 20px;
    display: block;
}

.local-nav ul li a:hover img { opacity: 1; }

.local-nav__list-ph {
    margin: 0 0 20px;
    overflow: hidden;
}

.local-nav ul li a:hover .local-nav__list-ph img { transform: scale(1.2); }

.local-nav__list-ttl { padding-left: 0.2em; }

.local-nav__list-txt { font-size: 1.4rem; }

@media screen and (max-width: 990px) {
    .local-nav { margin: 0 20px 80px; }

    .local-nav::before { display: none; }

    .local-nav ul {
        display: block;
        padding: 0;
    }

    .local-nav ul li {
        width: auto;
        border-bottom: 1px solid #ddd;
    }

    .local-nav ul li:first-child { border-top: 1px solid #ddd; }

    .local-nav ul li a {
        background: url("../img/icon_local_nav.gif") right center no-repeat;
        background-size: 18px 8px;
        color: #282828;
        font-size: 1.6rem;
        text-align: left;
        padding: 15px 0;
        display: block;
    }

    .local-nav ul li figure {
        display: flex;
        align-items: center;
    }

    .local-nav__list-ph { margin: 0; }
    
    .local-nav__list-ph img {
        width: 60px;
        height: 60px;
        object-fit: cover;
    }

    .local-nav__list-ph:hover img { transform: scale(1); }

    .local-nav__list-ttl { padding: 0 30px 0 15px; }
    
    .local-nav__list-txt { font-size: 1.3rem; }
}

.local-nav-txt {
    background: #fff;
    margin: 0 0 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px 50px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.local-nav-txt li a {
    background: url("../img/icon_local_nav.gif") left center no-repeat;
    background-size: 18px 8px;
    padding: 14px 0 14px 24px;
    text-decoration: none;
    display: inline-block;
}

.local-nav-txt li.local-nav-txt__link a {
    background: url("../img/icon_a_sub.gif") left center no-repeat;
    background-size: 20px;
}

@media screen and (max-width: 990px) {
    .local-nav-txt {
        display: block;
        border-bottom: none;
    }

    .local-nav-txt li { border-bottom: 1px solid #ddd; }

    .local-nav-txt li a {
        background-position: right center;
        padding: 12px 0;
        text-decoration: none;
        display: block;
    }
    
    .local-nav-txt li.local-nav-txt__link a {
        background-position: right center;
    }
}


/* ----------------------------------------------------------------------
	columns
---------------------------------------------------------------------- */

/* l-column */
.l-column2,
.l-column3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}

.l-column2__inner { width: 520px; }

.l-column3__inner { width: 340px; }

@media screen and (max-width: 990px) {
    .l-column2--sp-gap20 { gap: 20px 0; }
    
    .l-column2__inner,
    .l-column3__inner { width: 100%; }
}


/* l-columns-blog */
.l-columns-blog {
    margin: 0 0 120px;
	display: flex;
	justify-content: space-between;
}

.l-columns-blog__sidebar { width: 260px; }

.l-columns-blog__sidebar-box { margin: 0 0 60px; }
.l-columns-blog__sidebar-box:last-child { margin: 0; }

.l-columns-blog__sidebar-ttl {
	font-size: 2rem;
    font-weight: normal;
	margin: 0 0 0.4em;
}

.l-columns-blog__sidebar-list li { margin: 0 0 0.8em; }

.l-columns-blog__sidebar-list li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
	.l-columns-blog { display: block; }

	.l-columns-blog__sidebar { width: auto; }
}


.l-columns-blog__content { width: 800px; }

.l-columns-blog__list { border-top: 1px solid #ddd; }

.l-columns-blog__list-inner,
.l-columns-blog__list-block-1 {
    display: flex;
    align-items: center;
}

.l-columns-blog__list li { border-bottom: 1px solid #ddd; }
 
.l-columns-blog__list li a {
    background: url("../img/icon_a_gray.png") right 20px center no-repeat;
    background-size: 6px 12px;
    color: #444;
    text-decoration: none;
    padding: 20px;
    display: block;
}

.l-columns-blog__list li a:hover img { opacity: 1; }

.l-columns-blog__list li a:hover { opacity: 0.8; }
    
.l-columns-blog__list-ph { width: 130px; }

.l-columns-blog__list-date { width: 220px; }

.l-columns-blog__list-icon { margin-left: 5px; }

.l-columns-blog__list-block-1 { width: 630px; }

.l-columns-blog__list-block-2 { width: 380px; }

.l-columns-blog__list-category {
    color: #a67c49;
    font-size: 1.4rem;
    margin: 0 0 0.4em;
}
 
 @media screen and (max-width: 990px) {
	.l-columns-blog__content { width: auto; }
    
    .l-columns-blog__list { margin: 0 0 60px; }
    
    .l-columns-blog__list li a {
        background: none;
        padding: 20px 0;
    }
    
    .l-columns-blog__list-ph { width: 100px; }
    .l-columns-blog__list-ph img { width: 80px; }

    .l-columns-blog__list-date {
        margin: 0 0 0.4em;
        width: auto;
    }

    .l-columns-blog__list-block-1 {
        width: calc(100% - 100px);
        display: block;
    }
    
    .l-columns-blog__list-block-2 { width: auto; }
}
 

.l-columns-blog__detail { margin: 0 0 120px; }

.l-columns-blog__detail-header {
    font-weight: normal;
    text-align: center;
    margin: 0 0 2em;
}
 
 .l-columns-blog__detail-category {
     color: #a67c49;
     margin:  0 0 0.2em;
 } 
 
.l-columns-blog__detail-ttl {
    font-size: 1.8rem;
    font-weight: normal;
	padding: 0 0 0.6em;
	margin: 0 0 0.6em;
	border-bottom: 1px solid #ddd;
}

.l-columns-blog__detail-body p { margin: 0 0 1em; }


@media screen and (max-width: 990px) {    
    .l-columns-blog__detail { margin: 0 0 80px; }
    
    .l-columns-blog__detail-header { margin: 0 0 1em; }
    
    .l-columns-blog__detail-ttl { text-align: left; }
}


/* ----------------------------------------------------------------------
	wordpress
---------------------------------------------------------------------- */

/* wp-pagenavi */
.wp-pagenavi {
	text-align: center;
	margin: 60px 0 0;
}

.wp-pagenavi span,
.wp-pagenavi a {
    font-size: 1.4rem;
	text-decoration: none!important;
	padding: 6px 12px;
	margin: 0 5px 10px;
	border: 1px solid #444;
    display: inline-block;
}

.wp-pagenavi .current {
	background: #333;
	color: #fff;
}

@media screen and (max-width: 990px) {
    .wp-pagenavi { margin: 60px 0; }
}

/* pager */
.wp-pager {
	text-align: center;
	margin: 0 0 60px;
}


/* img */
.wp-block-image img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 990px) {
	.alignleft,
	.alignright {
		margin: 0 auto;
		float: none;
	}
}







