@charset "UTF-8";

/*******************************************************************************************

 COMMON

*******************************************************************************************/

html,body {
    font-size:16px;
    font-weight: 500;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,Georgia,メイリオ,Meiryo,serif;
    /*font-family: Arial, "游ゴシック", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, sans-serif;*/
    line-height: 1.8;
}

.container-fluid {
    max-width:1110px;/*　画面幅の上限　*/
    margin-left: auto;
    margin-right: auto;
}

a:hover,
a:active,
a:focus{
    transition: ALL 0.35s ease;
}

@media(max-width:767px) {
    html,body {
        font-weight: lighter;
    }
}


@media(max-width:480px) {
    html,body {
        font-size:14px;
    }
}

/*******************************************************************************************

 HEADER

*******************************************************************************************/
header {
    border-radius: 0;
    position: relative;
    z-index: 5;
    box-sizing: content-box;
    padding-bottom: 10px;
}
@media(min-width:768px) {
    header {
        padding-top: 61px;
    }
}


header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
    background-image: url(../img/border_header.png);
    background-repeat: repeat-x;
    background-size: cover;
    z-index: 3;
}


header > .navbar-custom {
    background-color: #fff;
    margin-bottom: 0;
    border-radius: 0;
    border:none;
    background-image: url(../img/bg_header.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}


header > .navbar-custom > .container-fluid > div.headwrap{
    position: relative;
    padding-bottom: 138px;
    width: 100%;
    z-index: 50;
}

header > .navbar-custom > .container-fluid > div.headwrap > h1.lead{
    font-size: 1rem;
    margin: 0;
    position: absolute;
    top: 50px;
    left: 320px;
    line-height: 1.8;
    
}

header > .navbar-custom > .container-fluid > div.headwrap > a.contact{
    display: block;
    background-image: url(../img/bg_header_contact.png);
    
    position: absolute;
    color: #ffffff;
    text-decoration: none;
    top: 50px;
    right: 15px;
    width: 230px;
    text-align: center;
    padding: 0.875rem 0;
}
header > .navbar-custom > .container-fluid > div.headwrap > a.contact i{
/*    color: #D7CAB4;
    position: absolute;
    left: 12px;
    top: 50%;
    font-size: 1.5em;
    transform: translateY(-50%);*/
}
header > .navbar-custom > .container-fluid > div.headwrap > a.contact::after{
    position: absolute;
    content: "";
    display: block;
    border: 1px solid rgba(255,255,255,0.23);
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    
}


/* サイトロゴ表示 */
header > .navbar-custom > .container-fluid > div.headwrap > .navbar-header {
    position: absolute;
    top: 50%;
    left: -60px;
    transform: translateY(-50%);
    max-width: 520px;
}

header > .navbar-custom > .container-fluid > div.headwrap > .navbar-header img{
    max-width: 100%;
}

/*グローバルメニュー表示エリア*/
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse {
    position: absolute;
    top: 0;
    right:0;
    padding: 0;
    font-size: 1rem;
    
}

/*PC版状態では非表示*/
@media(min-width:768px){
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse {
        display: none!important;
    }
}


/*メインメニュー*/
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav {
    margin:0;
    min-height: auto;
    border: none;
}

/* スクロール表示メニュー */
#scroll_menu {
    position: fixed;
    background-color: rgba(255,255,255,0.9);
    width: 100%;
    z-index: 100;
    border-bottom: 1px solid #794D01;
}

#scroll_menu > nav.container-fluid {
    text-align: center;
    padding: 0;
    max-width: none;
}

#scroll_menu > nav.container-fluid > ul{
    margin-bottom: 0;
    list-style: none;
    font-size: 0;
    width: 100%;
    display: table;
}
#scroll_menu > nav.container-fluid > ul > li {
    display: table-cell;
}
#scroll_menu > nav.container-fluid > ul > li+li {
    border-left: 1px solid #976c00;
}
/*メインメニュー、スクロール表示メニュー共通*/
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li > a,
#scroll_menu > nav.container-fluid > ul > li > a{
    color: #222;
    font-weight: bold;
    font-size: 1rem;
    padding:0.5rem;
    position: relative;
    display: block;
    text-decoration: none;
}

header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li > button{
    position: absolute;
    top:0;
    right:0;
    width: 40px;
    height: 40px;
    color:#794D01;
    font-size: 1.14rem;
}
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.open > button{
    background-color: rgba(255,255,255,0.4);
    color:#794D01;
}


header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li:hover > a,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li:active > a,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li:focus > a,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.open > a,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.open:focus > a,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.open:hover > a{
    background-color:  rgba(255,255,255,0.4);
    color: #794D01;
}

#scroll_menu > nav.container-fluid > ul > li:hover > a,
#scroll_menu > nav.container-fluid > ul > li:active > a,
#scroll_menu > nav.container-fluid > ul > li:focus > a,
#scroll_menu > nav.container-fluid > ul > li.open>a,
#scroll_menu > nav.container-fluid > ul > li.open:focus>a,
#scroll_menu > nav.container-fluid > ul > li.open:hover>a{
    background-color: rgba(151, 108, 0, 0.8);
    color: #ffffff;
}



/*サブメニュー*/
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown >.dropdown-menu,
#scroll_menu > nav.container-fluid > ul > li.dropdown > ul.dropdown-menu {
    padding: 0;
    margin: 0;
    opacity: 0;
    display: block;
    pointer-events:none;
    transition: ALL 0.35s ease;
    left: 0;
    right: auto;
    border: none;
    border-radius: 0;
}

header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown >.dropdown-menu>li>a,
#scroll_menu > nav.container-fluid > ul > li.dropdown > ul.dropdown-menu>li>a{
    border-bottom: 1px solid #794D01;
    padding: 1rem;
    font-size: 1rem;
    font-weight: bold;
}

header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown >.dropdown-menu>li>a:focus,
header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown >.dropdown-menu>li>a:hover,
#scroll_menu > nav.container-fluid > ul > li.dropdown > ul.dropdown-menu>li>a:focus,
#scroll_menu > nav.container-fluid > ul > li.dropdown > ul.dropdown-menu>li>a:hover {
    text-decoration: none;
    background-color:  rgba(255,255,255,0.4);
}


/******************************************************************************
【ドロップダウン挙動説明】
・PC閲覧（768px以上）はhoverでサブメニュー表示
・スマホ閲覧（767px以下）はメインメニュークリックでサブメニュー表示
・仕様上、サブメニューオープンのメニューが実ページを持ってても、サブメニュー表示処理でリンクできない

下処理はPC向けのメディアクエリ
*******************************************************************************/
@media (min-width:768px){
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown:hover > .dropdown-menu,
    #scroll_menu > nav.container-fluid > ul > li.dropdown:hover > ul.dropdown-menu{
        opacity: 1;
        pointer-events:auto;
    }
}

#scroll_menu > nav.container-fluid > ul > li > a {
    padding: 1em;
}

@media(max-width:984px){
    #scroll_menu > nav.container-fluid > ul > li > a {
        font-size: 0.875rem;
        padding: 1.25em 0.5em;
    }
}


/****　縮小後表示　****/
@media (max-width:767px){
    header > .navbar-custom {
        padding-bottom: 100px;
    }
    
    header > .navbar-custom > .container-fluid > div.headwrap > h1.lead {
        width: 100%;
        transform: none;
        top: 0;
        left: 0;
        white-space: nowrap;
        overflow-x: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        background-color: #794D01;
        color: #ffffff;
        font-weight: normal;
        font-size: 0.75rem;
    }
    
    header > .navbar-custom > .container-fluid > div.headwrap > h1.lead br {display: none;}
    
    header > .navbar-custom > .container-fluid{
        position: absolute;
        width: 100%;
        background-color: #fff;
        z-index: 3;
        padding: 0;
    }
    
    header > .navbar-custom > .container-fluid > div.headwrap {
        height: auto;
        padding-bottom: 0;
        background-image: url(../img/bg_header.png);
    }
    header > .navbar-custom > .container-fluid > div.headwrap > .navbar-header {
        position: relative;
        width: 100%;
        max-width: 100%;
        top: auto;
        left: auto;
        transform: none;
        padding: 0 15px 100px;
    }
    header > .navbar-custom > .container-fluid > div.headwrap > .navbar-header a {
        display: block;
        width: 65%;
        max-width: 526px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: -20px;
        /* bottom: 5px; */
    }
    header > .navbar-custom > .container-fluid > div.headwrap > a.contact {
        display: inline-block;
        padding: 6px;
        top: 40px;
        right: 75px;
        width: 40px;
        height: 40px;
    }
    
    header > .navbar-custom > .container-fluid > div.headwrap > a.contact i{
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
    }
    
    header > .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse {
        position: static;
        top: auto;
        right: auto;
        transform: none;
        padding-top: 10px;
    }
    
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown>.dropdown-menu{
        margin-top: 0;
        display: none;
        opacity: 1;
        pointer-events: auto;
    }
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown.open>.dropdown-menu{
        display: block;
    }
    
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li > a{
        padding: 1.5em 10px;
        margin: 0;
        border-bottom: 1px solid #794D01;
    }
    header .navbar-custom > .container-fluid > div.headwrap > .navbar-collapse > ul.navbar-nav > li.dropdown >.dropdown-menu>li>a {
        padding: 1em 10px 1em 30px;
    }
}

/*トグルメボタン*/
.navbar-custom .navbar-toggle{
    border:none;
    margin: 0;
    position: absolute;
    right: 15px;
    bottom: 25px;
    background-color: rgba(255,255,255,0.75);
    border-radius: 0;
}
.navbar-custom .navbar-toggle:active,
.navbar-custom .navbar-toggle:focus,
.navbar-custom .navbar-toggle:hover {
    background-color:#794D01;
}
.navbar-custom .navbar-toggle .icon-bar{
    background-color: #794D01;
}
.navbar-custom .navbar-toggle:active .icon-bar,
.navbar-custom .navbar-toggle:focus .icon-bar,
.navbar-custom .navbar-toggle:hover .icon-bar {
    background-color:#fff;
}

/*******************************************************************************************

 FOOTER

*******************************************************************************************/
footer {
    color:#ffffff;
    background-color: #222222;
    padding-top: 2em;
    padding-bottom: 4.375rem;
    margin-top: 2rem;
    
}

footer div.container-fluid div.info {
    margin-bottom: 2rem;
}

footer div.container-fluid div.info::after{
    content: "";
    display: block;
    clear: both;
}
footer div.container-fluid div.info img {
    float: left;
    margin-right: 2.5rem;
}


footer div.container-fluid div.info a.contact{
    display: block;
    float: left;
    width: 14rem;
    text-align: center;
    color: #ffffff;
    border: 1px solid #ffffff;
    text-decoration: none;
    padding: 0.5rem 0;
    margin-top: 1rem;
}

footer div.container-fluid div.info a.contact:hover,
footer div.container-fluid div.info a.contact:active,
footer div.container-fluid div.info a.contact:focus{
    background-color: #ffffff;
    color: #222222;
}

/*********************/
/* 店舗情報            */
/*********************/

footer div.row div p{
    font-size: 1rem;
    line-height: 1.6;
}

footer div.row div a{
    display: inline-block;
    color: #ffffff;
    border: 1px solid #ffffff;
    text-decoration: none;
    width: 11.75rem;
    text-align: center;
    padding: 0.5rem 0;
}

footer div.row div a:hover,
footer div.row div a:active,
footer div.row div a:focus{
    background-color: #ffffff;
    color: #222222;
}


/* ページトップへ戻るボタン */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 50;
}
#page-top a {
    border: 1px solid #888888;
    border-radius: 3px;
    text-decoration: none;
    color: #888888;
    background-color: rgba(255,255,255,0.5);
    padding: 3px 18px;
    font-size: 2.0rem;
    text-align: center;
    display: block;
}
#page-top a:hover,
#page-top a:active {
}




/****　縮小後表示　****/
@media (max-width:767px){
    footer div.container-fluid div.info img ,
    footer div.container-fluid div.info a.contact{
        float: none;
        margin-left:auto;
        margin-right:auto;
    }
    footer div.container-fluid div.info img {
        max-width: 160px;
    }
    
    
    footer .row div {
        text-align: center;
        margin-bottom: 1em;
    }
    
    footer div.row div p br:last-of-type{
        display: none;
    }
    
}



/*******************************************************************************************

 MAIN

*******************************************************************************************/

main {overflow: hidden;}
/****************/
/* ページタイトル */
/***************/

main article h2.page-title {
    letter-spacing: 0.184em;
    font-size: 2.6875rem;
    color: #976D00;
    margin-top: 0;
    margin-bottom: 2.5rem;

}

/****************/
/* パンくずリスト */
/***************/
.breadcrumb_block{
    background-color: #FFFFFF;
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 3rem;
}

.breadcrumb{
    background-color: transparent;
    line-height: 1;
    margin: 0 auto;
}

.breadcrumb>li{
    font-size: 0.875rem;
}

.breadcrumb>li+li:before{
    content:">\00a0";
    color:#878787;
}

.breadcrumb>li>a{
    color:#878787;
}
.breadcrumb>li.active{
    color: #878787;
}


/*************/
/* サイドバー */
/*************/

aside.secondary > nav.sidebar-menu + nav.sidebar-menu{
    margin-top: 30px;
}

/* 表題 */
aside.secondary > nav.sidebar-menu h3{
    font-size: 1.125rem;
    
    color: #fff;
    background-color: #794D01;
    margin: 0 auto;
    padding: 1rem 0;
    text-align: center;
    line-height: 1;
    font-weight: normal;
    font-weight: bold;
}

/* メニュー本体 */
aside.secondary > nav.sidebar-menu > ul {
    list-style-type: none;
    margin: 0;
}

aside.secondary > nav.sidebar-menu > ul > li {
    border-bottom: 1px dotted #999999;
    line-height: 1.2;
    padding: 1px 0;
}
aside.secondary > nav.sidebar-menu > ul > li > a {
    padding: 0.75rem;
    display: block;
    text-decoration: none;
    color: #000000;
    font-size: 0.875rem;
}
aside.secondary > nav.sidebar-menu > ul > li > a::before {
    font-family: FontAwesome;
    content:"\f105";
    padding-right: 0.75em;
    color: #794D01;
}
aside.secondary > nav.sidebar-menu > ul > li:hover,
aside.secondary > nav.sidebar-menu > ul > li:active {
    text-decoration: none;
    background-color: #E5E5E5;
}
aside.secondary > nav.sidebar-menu > ul > li > a:focus {
    text-decoration: none;
}

/*　選択したもの　*/
aside.secondary > nav.sidebar-menu > ul > li.active {
    background-color: #E5E5E5;
}


/****　縮小後表示　****/
@media (max-width: 767px) {
    main article h2.page-title {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
        letter-spacing: 0.05em;
    }
    
    
    aside.secondary {margin-top: 30px;}
}

/*******************************************************************************************

 BOOTCMS　コンテンツ設定部分

*******************************************************************************************/


.lv1,.lv2,.lv3,.lv4 {
    
    margin-bottom: 20px;
}

.lv1 {
    text-align: left;
    font-size: 1.8125rem;
    margin-top: 0;
    color: #333333;
    font-weight: bold;
    overflow: hidden;
    letter-spacing: 0.133em;
}
.lv1 span {
    display: inline-block;
    position: relative;
    padding-right: 1em;
}
.lv1 span:after {
    position: absolute;
    content: " ";
    display: block; 
    border-bottom: solid 1px #976D00;
    width: 1080px;
    left: 100%;
    top: 50%;
}

.lv2 {
    color: #976D00;
    font-size: 1.3125rem;
    font-weight: bold;
    margin-top: 0;
}

.lv3 {
    color: #333;
    font-size: 1.125rem;
    font-weight: bold;
    margin-top: 0;
    position: relative;
    padding-left: 12px;
}
.lv3::before{
    position: absolute;
    content: "";
    width: 6px;
    height: 100%;
    left: 0;
}
.lv3::before{top: 0;background-color: #976D00}


.lv4 {
    color: #333333;
    font-size: 1.125rem;
    font-weight: bold;
    margin-top: 0;
}

/* テキストのみ */
.text-only {
    margin-bottom: 20px;
}

.text-only > p{
    margin-bottom: 0;
}

/* 写真のみ */
.photo-only {
    margin-bottom: 30px;
    text-align: center;
}
.photo-only a img {
    display: inline-block;
}

/* 写真＋テキスト */
.photo-and-text {
    margin-bottom: 20px;
}
.photo-and-text:after {
    content: '';
    clear: both;
    display: table;
}
.photo-and-text p img {
    margin-bottom: 15px;
}
.photo-and-text p img {
    max-width: 40%;
}
.photo-and-text.photo-left img {
    float: left;
    margin: 0 15px 15px 0;
}
.photo-and-text.photo-right img {
    float: right;
    margin: 0 0 15px 15px;
}


/* 2列写真+キャプション & 3列写真+キャプション */
.two-photo ,
.three-photo {
    margin-bottom: 30px;
}
.two-photo a img ,
.three-photo a img {
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    background-color: #ffffff;    
}
.two-photo a:hover img ,
.three-photo a:hover img {
    opacity: .7;
    background-color: #ffffff;
}

.two-photo .row div[class^="col"],
.three-photo .row div[class^="col"] {
    text-align: center;
}
.two-photo .row div[class^="col"] img,
.three-photo .row div[class^="col"] img {
    display: inline-block;
}
.two-photo .caption-title,
.three-photo .caption-title {
    font-size: 1rem;
    font-weight: bold;
    margin: 0;
}

.two-photo .caption-text,
.three-photo .caption-text {
    margin: 5px 0;
    line-height: 1.6;
    text-align: left
}

ul.dot{
    list-style:none;
    margin: 0;
    padding: 0;
}
ul.dot > li{
    padding-left: 1em;
    line-height: 1.8;
    position: relative;
}
ul.dot li:before{
    color: #794D01;
    font-family: FontAwesome;
    content:"\2022";
    position: absolute;
    left: 0;
}

ol.counter{
    list-style:none;
    counter-reset:number;
    margin: 0;
    padding: 0;
}
ol.counter li{
    padding-left: 1em;
    line-height: 1.8;
    position: relative;
}
ol.counter li:before{
    color: #794D01;
    counter-increment: number;
    content: counter(number)".";
    position: absolute;
    left: 0;
}

/* Youtube GoogleMap 埋め込みタグ レスポンシブ化 */
.youtube-box,
.gmap-box {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
.youtube-box iframe,
.gmap-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ボタン */
.btn-on {margin-bottom: 40px;}
.original-btn {
    display: inline-block;
    text-decoration: none;
    transition: all 0.35s ease;
    text-align: center;
    border-radius: 5px;
    border: 2px solid #777777;
    background-color: #777777;
    color: #ffffff;
}
.original-btn:hover,
.original-btn:active,
.original-btn:focus {
    text-decoration: none;
    background-color: transparent;
    color: #777777;
}
.original-btn.btn-big {
    padding: 20px 50px;
    font-size: 1.14rem;
    font-weight: bold;
}
.original-btn.btn-big:hover,
.original-btn.btn-big:active,
.original-btn.btn-big:focus {
}

.original-btn.btn-small {
    padding:13px 20px;
    font-size: 1.0rem;
    font-weight: bold;
}

.original-btn.btn-orange {
    border: 2px solid #FF8000;
    background-color: #FF8000;
}

.original-btn.btn-orange:hover,
.original-btn.btn-orange:active,
.original-btn.btn-orange:focus {
    background-color: transparent;
    color: #FF8000;
}

.original-btn.btn-green {
    border: 2px solid #006600;
    background-color: #006600;
}
.original-btn.btn-green:hover,
.original-btn.btn-green:active,
.original-btn.btn-green:focus {
    background-color: transparent;
    color: #006600;
}

.original-btn.btn-blue {
    border: 2px solid #00238C;
    background-color: #00238C;
}
.original-btn.btn-blue:hover,
.original-btn.btn-blue:active,
.original-btn.btn-blue:focus {
    background-color: transparent;
    color: #00238C;
}


/** テーブル **/
.table-on{margin-bottom: 40px;}
table.standard-table,
table.responsive-table{
    width: 100%;
    border-collapse: collapse;
    border:1px solid #3FA5F5;
}


table.standard-table td,
table.responsive-table td{
    border:1px solid #dddddd;
    padding: 1em;
}

table.standard-table th,
table.responsive-table th{
    border:1px solid #dddddd;
    background-color: #eee;
    color: #000000;
    font-weight: normal;
    padding: 1em;
    width: 240px;
    white-space: nowrap;
}
.table-responsive::-webkit-scrollbar{height: 5px;}
.table-responsive::-webkit-scrollbar-track{background:#ddd;}/*バーの背景色*/
.table-responsive::-webkit-scrollbar-thumb{background:#999;}/*バーの色*/

/****　縮小後表示　****/
@media (max-width: 767px) {
    
    .lv1 {
        font-size: 1.5rem;
    }
    
    .lv2,.lv3,.lv4 {
        font-size: 1.125rem;
    }
    
    /* 2列写真+キャプション & 3列写真+キャプション */
    .two-photo .row div[class^="col"],
    .three-photo .row div[class^="col"]{
        margin-bottom: 30px;
    }
    .two-photo .row div[class^="col"]:last-of-type,
    .three-photo .row div[class^="col"]:last-of-type{
        margin-bottom: 0;
    }

    /* テーブル */
    table.standard-table th,
    table.responsive-table th,
    table.standard-table td,
    table.responsive-table td {
        padding: 0.5em;
    }
    table.responsive-table,
    table.responsive-table tbody,
    table.responsive-table th,
    table.responsive-table tr,
    table.responsive-table td {
        display: block;
        width: 100%;
        border: none;
    }

    table.responsive-table{
        border-top:1px solid #dddddd;
        border-left:1px solid #dddddd;
        border-right:1px solid #dddddd;
    }
    table.responsive-table th,
    table.responsive-table td{
        border-bottom:1px solid #dddddd;
        padding: 0.5rem 1rem;
    }

}
@media (max-width: 480px) {
    
    /* 写真＋テキスト */
    .photo-and-text .photo-area {
        display: block;
        text-align: center;
    }
    .photo-and-text.photo-left img,
    .photo-and-text.photo-right img {
        float: none;
        margin: 0 0 5px;
        display: inline-block;
        max-width: 100%;
    }

}


/*******************************************************************************************

 TOP PAGE

*******************************************************************************************/
/************************/
/* トップページ専用ヘッダー */
/************************/

header#top-header {
    background-image: url(../img/bg_header_top.png);
    position: relative;
    background-size: cover;
}

header#top-header div.bg_slider{
    position: absolute;
    width: 62%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1;
    left: auto;
}

header#top-header div.bg_slider > div{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    -webkit-transition: opacity 3s ease, transform 5s linear;
    -moz-transition: opacity 3s ease, transform 5s linear;
    transition: opacity 3s ease, transform 5s linear;
    opacity: 0;
}

header#top-header div.bg_slider > div.show{
    opacity: 1;
}


header#top-header div.contents{
    width: 100%;
    max-width: 1232px;
    padding-bottom: 62%;
    position: relative;
    margin: 0 auto;
    z-index: 2;
    pointer-events: none;
}

@media(min-width:1233px){
    header#top-header div.contents{
        padding-bottom: 760px;
    }
}

header#top-header div.contents img{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}


header#top-header div.contents h1.lead{
    color: #666666;
    font-size: 1rem;
    text-align: center;
    position: absolute;
    left: 132px;
    top:80%;
    margin: 0;
    
    font-weight: normal;
}
header#top-header a.recruit_banner{
    display: block;
    position: absolute;
    bottom: 3em;
    right: 50%;
    z-index: 3;
    transform: translateX(50%);
    background-color: #999999;
    padding: 0.5em 1em;
    text-align: center;
    text-decoration: none;
    max-width: 334px;
    width: 100%;
    border: 1px solid #999999;
    color: #ffffff;
}

header#top-header a.recruit_banner:hover,header#top-header a.recruit_banner:active,header#top-header a.recruit_banner:focus{
    background-color: #ffffff;
    color: #999999;
}

/**/
body.top-page footer {
    margin-top: 0;
}

@media(max-width:767px){
    header#top-header div.contents img {
        top: 20%;
        left: 21%;
        transform: translateX(-60%);
        width: 50%;
    }
    header#top-header div.contents h1.lead {
        left: 2%;
        /* transform: translateX(-50%); */
        font-size: 0.875rem;
        top: 70%;
        color: #000000;
        font-weight: bolder;
        text-align: left;
        text-shadow: 0 0 3px #ffffff;
    }
    
    header#top-header > .navbar-custom {
        z-index: 4;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        padding-bottom: 0;
        background-image: none;
        background-color: transparent;
    }
    
    header#top-header > .navbar-custom .nav-header {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
    }
    header#top-header > .navbar-custom .nav-header .navbar-toggle {
        bottom: auto;
        top: 10px;
    }
    
    header#top-header > .navbar-custom > .navbar-collapse {
        position: static;
        top: auto;
        right: auto;
        transform: none;
        z-index: 1;
        background-image: url(../img/bg_header.png);
    }
    header#top-header > .navbar-custom > .navbar-collapse > ul.navbar-nav {
        margin-top: 0;
        margin-bottom: 0;
    }
    
    header#top-header > .navbar-custom > .navbar-collapse > ul.navbar-nav > li > a {
        color: #222222;
        padding: 1.5em 10px;
        margin: 0;
        border-bottom: 1px solid #794D01;
        position: relative;
        font-weight: 700;
    }
    
    header#top-header > .navbar-custom > .navbar-collapse > ul.navbar-nav > li > a:hover,
    header#top-header > .navbar-custom > .navbar-collapse > ul.navbar-nav > li > a:active,
    header#top-header > .navbar-custom > .navbar-collapse > ul.navbar-nav > li > a:focus{
        background-color: rgba(255,255,255,0.4);
        color: #794D01;
    }
}


/****************/
/* スライドショー */
/****************/

body.top-page main div.slider-wrapper div.sp-slides-container{
    position: relative;
    z-index: 1;
}

body.top-page main div.slider-wrapper div.sp-slides-container div.sp-mask{
    z-index: 1;
}

body.top-page main div.slider-wrapper div.sp-slides-container div.sp-arrows{
    z-index: 3;
}


body.top-page main div.slider-wrapper div.sp-slides-container::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.10);
    z-index: 2;
}


/******************/
/* お知らせ、トップ */
/******************/
body.top-page main div#top-block-news {
    background-color: #F8F3EB;
    padding: 3.375rem 0;
}

body.top-page main div#top-block-news div#news-list {
    max-width: 878px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

body.top-page main div#top-block-news div#news-list h2 {
    font-size: 1.625rem;
    letter-spacing: 0.145em;
    text-align: center;
    background-image: url(../img/bg_top_news_title.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    padding: 0.62068em ;
    margin-top: 0;
    margin-bottom: 1rem;
}

body.top-page main div#top-block-news div#news-list > p {
    margin-top: 1.625rem;
    margin-bottom: 0;
}

body.top-page main div#top-block-news div#news-list > p > a {
    display: inline-block;
    color: #000000;
    font-size: 1rem;
    border:1px solid #555555;
    text-decoration: none;
    padding: 0.125em 0.75em;
}

body.top-page main div#top-block-news div#news-list > p > a:hover,
body.top-page main div#top-block-news div#news-list > p > a:active,
body.top-page main div#top-block-news div#news-list > p > a:focus {
    color: #F8F3EB;
    background-color: #555555;
}


body.top-page main div#top-block-news #news-list + p {
    text-align: center;
    margin-top: 3rem;
}
body.top-page main div#top-block-news #news-list + p > a{
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    border: 1px solid #333333;
    padding: 0.5rem 1rem;
    color: #333333;
    background-color: #ffffff;
    text-decoration: none;
    width: 100%;
    max-width: 334px;
}

body.top-page main div#top-block-news #news-list + p > a:hover,
body.top-page main div#top-block-news #news-list + p > a:active,
body.top-page main div#top-block-news #news-list + p > a:focus {
    color: #ffffff;
    background-color: #333333;
}
/************/
/*店舗のご案内*/
/************/

body.top-page main div#top-block-restaurant {
    background-image: url(../img/bg_restaurant.png);
    background-size: auto;
    background-repeat: repeat-x;
    background-position: top;
    background-color: #ECE1CB;
    padding:3rem 0 5rem;
}

body.top-page main div#top-block-restaurant h2{
    
    font-size: 1.625rem;
    color: #000000;
    text-align: center;
    margin-top: 0;
    margin-bottom: 2.5rem;
}
body.top-page main div#top-block-restaurant div.three-photo {
    margin-bottom: 0;
}

body.top-page main div#top-block-restaurant div.three-photo div.row{
    margin-left: -22px;
    margin-right: -22px;
}
body.top-page main div#top-block-restaurant div.three-photo div.row div[class^="col"]{
    padding-left: 22px;
    padding-right: 22px;
}

body.top-page main div#top-block-restaurant div.three-photo div.row div[class^="col"] p.caption-title{
    
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 1em;
    margin-bottom: 1em
}

/***********/
/*慶事*・法事/
/**********/
body.top-page main div#top-block-keiji,
body.top-page main div#top-block-houji,
body.top-page main div#top-block-shidashi {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #ffffff;
    padding:3rem 0 5rem;
}
body.top-page main div#top-block-keiji{
    background-image: url(../img/bg_top_keiji.png?20190930);
}
body.top-page main div#top-block-houji {
    background-image: url(../img/bg_top_houji.png?20190930);
    min-height: 665px;
}
body.top-page main div#top-block-shidashi{
    background-image: url(../img/bg_top_shidashi.png?20190930);
}

body.top-page main div#top-block-keiji div.contents ,
body.top-page main div#top-block-houji div.contents ,
body.top-page main div#top-block-shidashi div.contents {
    width: 66.6666%;
    max-width: 700px;
}
body.top-page main div#top-block-houji div.contents {
    margin-left: auto;
    text-align: right;
}

body.top-page main div#top-block-keiji div.contents + img {
    margin-top: -2rem;
    margin-left: auto;
}

body.top-page main div#top-block-houji div.contents + img {
    margin-top: -4.5rem;
    margin-left: 7rem;
}

body.top-page main div#top-block-shidashi div.contents + img{
    margin-top: -2rem;
    margin-left: 16rem;
}

@media(max-width:1000px){
    body.top-page main div#top-block-houji div.contents + img {
        margin-left: auto;
        margin-top: 0;
        margin-right: auto;
    }
    body.top-page main div#top-block-keiji div.contents + img {
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
    }
    body.top-page main div#top-block-shidashi div.contents + img {
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
    }
}

body.top-page main div#top-block-keiji div.contents h2,
body.top-page main div#top-block-houji div.contents h2,
body.top-page main div#top-block-shidashi div.contents h2{
    margin-top: 0;
    margin-bottom: 2rem;
}

body.top-page main div#top-block-keiji div.contents p,
body.top-page main div#top-block-houji div.contents p,
body.top-page main div#top-block-shidashi div.contents p{
    font-size: 1.125rem;
    line-height: 2;
    margin-bottom: 2rem;
}


body.top-page main div#top-block-keiji div.contents a,
body.top-page main div#top-block-houji div.contents a,
body.top-page main div#top-block-shidashi div.contents a{
    border-radius: 0;
    width: 100%;
    max-width: 334px;
    padding: 0.75rem 0;
    font-size: 1.25rem;
    font-weight: bold;
}

body.top-page main div#top-block-keiji div.contents a{
    border: 1px solid #976E00;
    background-color: #FFEFEA;
    color: #976D00;
}

body.top-page main div#top-block-keiji div.contents a:hover{
    background-color: #976D00;
    color: #FFEFEA;
}

body.top-page main div#top-block-houji div.contents a{
    border: 1px solid #CCCCCC;
    background-color: #F1EEF7;
    color: #666666;
}
body.top-page main div#top-block-houji div.contents a:hover{
    background-color: #666666;
    color: #F1EEF7;
}

body.top-page main div#top-block-shidashi div.contents a{
    border: 1px solid #976E00;
    background-color: #ECF5D3;
    color: #976D00;
}
body.top-page main div#top-block-shidashi div.contents a:hover{
    background-color: #976D00;
    color: #ECF5D3;
}

@media(max-width:767px){
    
    body.top-page main div#top-block-restaurant div.three-photo div.row div[class^="col"] img {
        max-width: 60%;
    }
    
    body.top-page main div#top-block-keiji div.contents h2 img{max-width: 140px;}
    body.top-page main div#top-block-houji div.contents h2 img{max-width: 220px;}
    body.top-page main div#top-block-shidashi div.contents h2 img{max-width: 200px;}
    
    body.top-page main div#top-block-keiji div.contents,
    body.top-page main div#top-block-houji div.contents,
    body.top-page main div#top-block-shidashi div.contents {
        width: 100%;
        float: none;
        text-align: center;
        margin-bottom: 2rem;
    }
    body.top-page main div#top-block-keiji div.contents p,
    body.top-page main div#top-block-houji div.contents p,
    body.top-page main div#top-block-shidashi div.contents p {
        font-size: 0.9375rem;
        text-align: left;
    }
}


/*******************************************************************************************

 SECOND PAGE

*******************************************************************************************/

/*店舗ページスライダー*/

body div.shop-title {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50.9259%;
}

@media(min-width:1081px){
    body div.shop-title {
        padding-bottom: 550px;
    }
}

body div.shop-title div.shop-slide.slick-slider{
    position: absolute;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    z-index: 1;
}


body div.shop-title div.shop-slide.slick-slider .slick-track,
body div.shop-title div.shop-slide.slick-slider .slick-list{
    height: 100%;
}
body div.shop-title div.shop-slide{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
body div.shop-title div.shop-slide.slick-slider div.slide{
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

body div.shop-title h2{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    margin: 0;
    width: 50%;
}

body main.tosaku_page div.shop-title h2{max-width: 414px;}
body main.wa-dining_page div.shop-title h2{max-width: 418px;}
body main.bekkan_page div.shop-title h2{max-width: 440px;}


body div.shop-title h2 img {
    width: 100%;
}


main div.dish {
    /*margin-bottom: 6.25rem;*/
}
main div.dish::after {
    content: "";
    display: block;
    clear: both;
}

main div.dish > img {
    float: left;
    width: 53.247%;
    max-width: 575px;
}

@media(max-width:767px){
    main div.dish {
    }
}


/*******************************************************************************************

 NEWS PAGE

*******************************************************************************************/



/*********/
/*一覧画面*/
/********/

#news-list dl {
    border-bottom: 1px dotted #666666;
    padding: 0 8px 1rem;
    margin-bottom: 1rem;
    width: 100%;
}

#news-list dl dt{
    color: #000;
    display: block;
    font-size: 0.875rem;
    font-weight: normal;
    white-space: nowrap;
    margin-bottom: 1rem;
}

#news-list dl dd{
    display: block;
    font-size: 1rem;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

#news-list dl dd a{
    color:#000000;
    text-decoration: none;
}
#news-list dl dd a:hover,
#news-list dl dd a:focus,
#news-list dl dd a:active{
    text-decoration: underline;
}

#news-list dl dt span.new{
    display: inline-block;
    font-size: 0.75rem;
    background-color: #FF4B54;
    color: #fff;
    padding:0.125rem 0.5rem;
    position: relative;
    font-weight: bold;
    margin-right: 0.5rem;
}


body.news-page h2.page-title {
    font-size: 1.8125rem;
    text-align: center;
    margin-top: 0;
    margin-bottom: 7rem;
}



/*********/
/*詳細画面*/
/********/

body.news-page div.content em.content-title {
    display: block;
    border-bottom: 3px solid #794D01;
    font-style: normal;
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 0 0.5em;
    
}



body.news-page div.content p.content-data {
    border-top: 1px solid #794D01;
    border-bottom: 1px solid #794D01;
    text-align: right;
    padding: 0.5rem 0;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

body.news-page div.content ul.pager {
    margin: 0;
}



/***/

a.category {
    color:#fff;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    display: inline-block;
    padding:0 10px;
    background-color: #555555;
    border-radius: 0;
}
a.category:active,
a.category:hover,
a.category:focus{
    text-decoration: none;
    opacity: 0.5;
}

a.category + a.category {
    margin-left: 0.5em;
}


/*ページネーション*/
.pager li>a,
.pager li>span{
    border-radius: 0;
}

.pager li>a{
    border-color: #222222;
    color: #222222;
}

.pager li>a:hover,
.pager li>a:active,
.pager li>a:focus{
    background-color: #222222;
    color: #ffffff;
}


@media(max-width:767px){
    body.news-page h2.page-title {
        font-size: 1.75rem;
        margin-bottom: 3.5rem;
    }
    
    #news-list dl dt {
        margin-bottom: 0.5em;
    }
    
    #news-list dl dt span {
        margin-top: 0.5rem;
        display: block;
        white-space: normal;
    }
    #news-list dl dt span a {
        margin-right: 0.5em;
        margin-left: 0;
        margin-bottom: 0.5em;
    }
}

/*******************************************************************************************

 ご予約・お問い合わせ

*******************************************************************************************/


div.inquiry-list {
    margin-top: 3rem;
}

div.inquiry-list > div > h3 {
    color: #976D00;
    margin-top: 0;
    margin-bottom:1rem;
}

div.inquiry-list > div > p {
    margin-bottom: 0.5rem;
}

div.inquiry-list > div > h4{
    margin-top: 1.5rem;
    border-bottom: 1px dotted #666666;
    padding-bottom: 10px;
}

div.inquiry-list > div > dl {margin-bottom: 0.25em;}

div.inquiry-list > div > dl > dt {
    font-weight: bold;
    display: inline-block;
    width: 4.5em;
}

div.inquiry-list > div > dl > dd {
    display: inline-block;
}

@media(max-width:767px){
    div.inquiry-list > div + div{
        margin-top: 3rem;
    }
}


/*******************************************************************************************

　店舗、松風園藤作

*******************************************************************************************/

main p.lead {
    font-size: 1.125rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 2.75rem;
    color: #333333;
    font-weight: 500;
}

main nav.shop-nav ul::after{
    content: "";
    display: block;
    clear: both;
}

main nav.shop-nav ul {
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: 5rem;
}

main nav.shop-nav ul li{
    width: 33.3333%;
    float: left;
    padding: 0 10px;
    margin-bottom: 20px;
}


main nav.shop-nav ul li a{
    display: block;
    text-align: center;
    border: 1px solid #B08F3D;
    color: #000000;
    font-size: 1.375rem;
    text-decoration: none;
    padding: 1em 0;
}

main nav.shop-nav ul li a:hover,
main nav.shop-nav ul li a:active{
    background-color: #B08F3D;
    color: #ffffff;
}
main div.shop-info{
    margin-bottom: 2rem;
}

main div.shop-info table {
    width: 100%;
    max-width: 440px;
}

main div.shop-info table th,
main div.shop-info table td {
    padding: 0.625em;
}

main div.shop-info table th{
    white-space: nowrap;
}

main div.shop-info div.gmap-box {
    padding-bottom: 66.6666%;
}


main.shop_page div.text-only p{
    font-size: 1.125rem;
    line-height: 1.83;
    color: #333333;
}

main.shop_page nav.menu-nav ul {
    list-style: none;
    font-size: 0;
}
main.shop_page nav.menu-nav ul li {
    display: inline-block;
    margin-right: 1em;
    margin-bottom: 1em;
    font-size: 1rem;
}



main.shop_page nav.menu-nav ul li a {
    color: #976C00;
    display: inline-block;
    border: 1px solid #976c00;
    text-decoration: none;
    padding: 0 1.5em;
}
main.shop_page nav.menu-nav ul li a::before{
    content: "\f0da";
    font-family: FontAwesome;
    margin-right: 0.1em;
}

main.shop_page nav.menu-nav ul li a:hover {
    background-color: #976c00;
    color: #ffffff;
}



main.shop_page div.menu_dish {
    margin-bottom:0;
    margin-top: -70px;
    padding-top: 70px;
}

main.shop_page div.menu_dish > div {margin-bottom: 0.75rem;}

main.shop_page div.menu_dish h4{
    font-size: 1.8125rem;
    color: #976C00;
    margin-top: 0;
    border-bottom: 1px dotted #333333;
    padding-bottom: 0.5862rem;
}

main.shop_page div.menu_dish ul {
    list-style: none;
}

main.shop_page div.menu_dish ul li {
    font-size: 1.125rem;
    line-height: 2.0;
    padding-left: 1.5em;
    position: relative;
}

main.shop_page div.menu_dish ul li::before {
    content: "\f1db";
    font-family: FontAwesome;
    position: absolute;
    left: 0;
}

main.shop_page div.menu_dish ul.hitoshina{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2rem;
}

main.shop_page div.menu_dish ul.hitoshina li{
    width: 45%;
    border-bottom: 1px solid #eee;
    padding-bottom: 2rem;
}

main.shop_page div.menu_dish ul.hitoshina li::before{
    content: "◎";
    color: red;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,Georgia,メイリオ,Meiryo,serif;
}

main.shop_page div.menu_dish ul.hitoshina li dl{
    display: flex;
    justify-content: space-between;
}

main.shop_page div.menu_dish ul.hitoshina li dl:last-of-type{
    margin-bottom: 0;
}

main.shop_page div.menu_dish ul.hitoshina li dl + p{
    margin-top: .5rem;
    margin-bottom: 0;
}

main.shop_page div.menu_dish ul.hitoshina li dl dd{
    text-align: right;
}

main.shop_page div.menu_dish ul.hitoshina li dl:first-of-type{
    margin-top: 20px;
}

main.shop_page div.menu_dish ul.freedrink li{
    font-size: 1rem;
}

main.shop_page div.menu_dish ul.freedrink li::before{
    content: "\f0c8";
    transform: rotate(45deg);
}

main.shop_page div.menu_dish div > p {
    font-size: 1.125rem;
    line-height: 2;
    letter-spacing: 0.053em;
    font-weight: 700;
}

main.shop_page div.menu_dish p span {
    display: block;
    font-size: 0.875rem;
    margin-top: 1.25em;
}

main.shop_page div.menu_dish > div > img + span {
    display: block;
    margin-top: 0.25em;
}

main.shop_page ul.banner_list {
    display: block;
    list-style: none;
    width: 100%;
}
main.shop_page ul.banner_list::after {
    content: "";
    display: block;
    clear: both;
}
main.shop_page ul.banner_list li {
    float: left;
    margin-right: 25px;
    margin-bottom: 25px;
}
main.shop_page ul.banner_list li img{
    max-width: 100%;
}

@media(max-width:767px){
    main nav.shop-nav ul{
        margin-left: 0;
        margin-right: 0;
    }
    main nav.shop-nav ul li {
        padding: 0;
    }
    main nav.shop-nav ul li a{
        padding: 0.75em 0;
        font-size: 0.875rem;
        font-weight: 500;
    }
    main nav.shop-nav ul li + li:not(:nth-of-type(4)) a{
        border-left: none;
    }
    
    main.shop_page div.menu_dish {margin-bottom: 5rem;}
    
    main.shop_page div.menu_dish h4 {
        font-size: 1.5rem;
    }
    
    main.shop_page div.text-only p,
    main.shop_page div.menu_dish p {
        font-size: 1rem;
    }
    main.shop_page ul.banner_list li {
        float: none;
        margin: 0 auto 1rem;
        text-align: center;
    }

    main.shop_page div.menu_dish ul.hitoshina {
        flex-direction: column;
    }
    main.shop_page div.menu_dish ul.hitoshina li{
        width: 100%;
        font-weight: 400;
        padding-right: 1rem;
    }
    main.shop_page div.menu_dish ul.hitoshina li dl dt{
        max-width: 60%;
        font-weight: 100;
    }
    main.shop_page div.menu_dish ul.hitoshina li dl dd{
        max-width: 40%;
    }
    main.shop_page div.menu_dish ul.hitoshina li dl + p{
        font-weight: 100;
    }
    main.shop_page div.menu_dish div > p {
        font-weight: 100;
    }
}


/*******************************************************************************************

　慶事のご利用　

*******************************************************************************************/
main.keiji_page {
    background-image: url(../img/bg_keiji.png?20190930);
    background-repeat: no-repeat;
    background-position: right top;
    
}

main.keiji_page .breadcrumb_block{
    margin-bottom: 5rem;
}

main.keiji_page div.contents p{
    font-size: 0.9375rem;
    margin-bottom: 2em;
    line-height: 200%;
}

main.keiji_page h3 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
}

main.keiji_page div.dish h4{
    font-size: 1.8125rem;
    color: #976C00;
    margin-top: 0;
    padding-bottom: 0.5714em;
    border-bottom: 1px dotted #333333;
}

main.keiji_page div.dish h4 span {
    display: block;
    font-size: 0.6206em;
    color: #333333;
    margin-bottom: 1em;
}

main.keiji_page div.dish h4 + p {
    text-align: left;
    font-size: 1.125rem;
}

main.keiji_page div.dish h5 {
    font-size: 1.125rem;
}

main.keiji_page div.dish h5 + p {
    font-size: 0.875rem;
    line-height: 2;
}
main.keiji_page div.dish ul {
	list-style: none;
}
main.keiji_page div.dish ul li {
	font-size: 1.125rem;
	line-height: 2.0;
	padding-left: 1.5em;
	position: relative;
}

main.keiji_page div.dish ul li::before {
	content: "\f1db";
	font-family: FontAwesome;
	position: absolute;
	left: 0;
}

@media(max-width:767px) {
    
    main.keiji_page {
        background-size: contain;
    }
    main.keiji_page article h2.page-title {
    text-shadow: 2px 2px 2px #ffffff;
    margin-top: 35%;
    font-size: 1.8rem;
    }
    
    main.keiji_page div.contents p {
        text-shadow: 2px 2px 2px #ffffff;
    }
    
    main.keiji_page div.dish h4 {
        font-size: 1.5rem;
    }
    main.keiji_page div.dish h4 span {
        font-size: 1rem;
        margin-bottom: 0.5em;
    }
    
    
    main.keiji_page div.dish h5 + p {
        line-height: 1.6;
        font-size: 1rem;
    }
}

/*******************************************************************************************

　法事のご利用　

*******************************************************************************************/
main.houji_page {
    background-image: url(../img/bg_houji.png?20190930);
    background-repeat: no-repeat;
    background-position: right top;
    
}

main.houji_page .breadcrumb_block{
    margin-bottom: 5rem;
}

main.houji_page div.contents p{
    font-size: 0.9375rem;
    margin-bottom: 2em;
    line-height: 200%;
}

main.houji_page div.contents a{
    display: inline-block;
    border: 1px solid #CCCCCC;
    background-color: #F1EEF7;
    color: #666666;
    padding: 0.75rem;
    text-decoration: none;
    font-size: 1.125rem;
}
main.houji_page div.contents a:hover{
    background-color: #666666;
    color: #F1EEF7;
}


main.houji_page h3 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
}


main.houji_page div.dish h4{
    font-size: 1.8125rem;
    color: #976C00;
    margin-top: 0;
    padding-bottom: 0.5714em;
    border-bottom: 1px dotted #333333;
}

main.houji_page div.dish h4 span {
    display: block;
    font-size: 0.6206em;
    color: #333333;
    margin-bottom: 1em;
}

main.houji_page div.dish h4 + p {
    text-align: left;
    font-size: 1.125rem;
}

main.houji_page div.dish h5 {
    font-size: 1.125rem;
}

main.houji_page div.dish h5 + p {
    font-size: 0.875rem;
    line-height: 2;
}

main.houji_page div.dish ul {
	list-style: none;
}
main.houji_page div.dish ul li {
	font-size: 1.125rem;
	line-height: 2.0;
	padding-left: 1.5em;
	position: relative;
}

main.houji_page div.dish ul li::before {
	content: "\f1db";
	font-family: FontAwesome;
	position: absolute;
	left: 0;
}

@media(max-width:767px) {
    main.houji_page {
        background-size: contain;
    }
    main.houji_page article h2.page-title {
    text-shadow: 2px 2px 2px #ffffff;
    font-size: 1.8rem;
    margin-top: 50%;
    }

h2.page-title {}
    
    main.houji_page div.contents p {
        text-shadow: 2px 2px 2px #ffffff;
    }
    
    main.houji_page div.dish h4 {
        font-size: 1.5rem;
    }
    main.houji_page div.dish h4 span {
        font-size: 1rem;
        margin-bottom: 0.5em;
    }
    
    
    main.houji_page div.dish h5 + p {
        line-height: 1.6;
        font-size: 1rem;
    }
}

/*******************************************************************************************

　仕出しのご利用　

*******************************************************************************************/
main.shidashi_page {
    background-image: url(../img/bg_shidashi.png?20190927);
    background-repeat: no-repeat;
    background-position: right top;
    
}

main.shidashi_page .breadcrumb_block{
    margin-bottom: 5rem;
}

main.shidashi_page div.contents p{
    font-size: 0.9375rem;
    margin-bottom: 2em;
    line-height: 200%;
}

main.shidashi_page h3 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
}

main.shidashi_page div.dish h4{
    font-size: 1.8125rem;
    color: #976C00;
    margin-top: 0;
    padding-bottom: 0.5714em;
    border-bottom: 1px dotted #333333;
}

main.shidashi_page div.dish h4 span {
    display: block;
    font-size: 0.6206em;
    color: #333333;
    margin-bottom: 1em;
}

main.shidashi_page div.dish h4 + p {
    text-align: right;
    font-size: 1.125rem;
}

main.shidashi_page div.dish h5 {
    font-size: 1.125rem;
}

main.shidashi_page div.dish h5 + p {
    font-size: 0.875rem;
    line-height: 2;
}

@media(max-width:767px) {
    
    main.shidashi_page {
        background-size: contain;
    }
    main.shidashi_page article h2.page-title {
    text-shadow: 2px 2px 2px #ffffff;
    }
    
    main.shidashi_page div.contents p {
        text-shadow: 2px 2px 2px #ffffff;
    }
    
    main.shidashi_page div.dish h4 {
        font-size: 1.5rem;
    }
    main.shidashi_page div.dish h4 span {
        font-size: 1rem;
        margin-bottom: 0.5em;
    }
    
    
    main.shidashi_page div.dish h5 + p {
        line-height: 1.6;
        font-size: 1rem;
    }
}


/*******************************************************************************************

　サイトマップ用テーブル　

*******************************************************************************************/
table.sitemap-table {
    width: 100%;
}
table.sitemap-table th,
table.sitemap-table td {
    line-height: 1.2;
    border-top: none;
    border-bottom: 1px solid #cccccc;
    padding: 20px;
}
table.sitemap-table th {
    font-size: 1rem;
    width: 50px;
    white-space: nowrap;
    font-weight: normal;
}
table.sitemap-table a {
    color: #000000;
    text-decoration: none;
}
table.sitemap-table a:hover,
table.sitemap-table a:active,
table.sitemap-table a:focus {
    color: #976D00;
}
table.sitemap-table td {
    font-size: 1rem;
}
table.sitemap-table td a {
    display: inline-block;
    position: relative;
    padding-left: 10px;
}
table.sitemap-table td a:not(:last-child) {
    margin-bottom: 15px;
}
table.sitemap-table td a:before {
    content: '\f0da';
    font-family: FontAwesome;
    position: absolute;
    top: 0;
    left: 0;
    color: #976D00;
}

@media (max-width: 767px) {
    table.sitemap-table,
    table.sitemap-table tbody,
    table.sitemap-table tr,
    table.sitemap-table th,
    table.sitemap-table td {
        display: block;
    }
    table.sitemap-table th {
        width: auto;
        white-space: normal;
        border-bottom: none;
        padding: 15px 10px;
    }
    table.sitemap-table td {
        padding: 0 20px;
    }
    table.sitemap-table td a {
        margin-bottom: 15px;
    }
}
/*******************************************************************************************

 Margin

*******************************************************************************************/
/* margin-top */
.mt-0 {margin-top: 0!important;}
.mt-10 {margin-top: 10px!important;}
.mt-20 {margin-top: 20px!important;}
.mt-25 {margin-top: 20px!important;}
.mt-30 {margin-top: 30px!important;}
.mt-40 {margin-top: 40px!important;}
.mt-50 {margin-top: 50px!important;}
.mt-60 {margin-top: 60px!important;}

/* margin-bottom */
.mb-0 {margin-bottom: 0!important;}
.mb-10 {margin-bottom: 10px!important;}

.mb-20 {margin-bottom: 20px!important;}
.mb-25 {margin-bottom: 25px!important;}
.mb-30 {margin-bottom: 30px!important;}
.mb-40 {margin-bottom: 40px!important;}
.mb-50 {margin-bottom: 50px!important;}
.mb-60 {margin-bottom: 60px!important;}


/*******************************************************************************************

 追加

*******************************************************************************************/

div.anchor {
    margin-top: -5rem;
    padding-bottom: 5rem;
}

/*スクロールでフェードイン*/
.fadein{
	opacity: 0;
	transition-property: opacity;
    transition-duration:1.0s;
	/*display: flex;*/
}
/*jQueryにて.scrollinが付与され、透明度が解除*/
.fadein.scrollin{
	opacity: 1;
}

/*******************************************************************************************

 常山編集（19/05/17）

*******************************************************************************************/

div.inquiry-list {
    margin-top: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid #CCCCCC;
}

div.inquiry-list > div > h3 {
    color: #976D00;
    margin-top: 0;
    margin-bottom:2rem;
}

div.inquiry-list > div > p {
    margin-bottom: 0.3rem;
}

div.inquiry-list > div > h4{
    margin-top: 1.5rem;
    border-bottom: 1px dotted #666666;
    padding-bottom: 10px;
}

div.d_shopinfo{
	text-align: center;
	margin-top: 1.5rem;
}
a.a_shopinfo{
	display: inline-block;
	border: 1px solid #000000;
	color: #000000;
	background-color: #FFFFFF;
	font-size: 1rem;
	text-decoration: none;
	line-height: 2rem;
	font-weight: bold;
	padding: 0.5em 5em;
	margin-left: 1em;
	margin: 10px 0px;
}
p.p_telnumber{
	margin-top: -0.8rem;
	font-size: 1.55rem;
	font-weight: bold;
}

@media (max-width: 767px) {
	p.p_telnumber{
	margin-top: -0.8rem;
	font-size: 1.35rem;
	font-weight: bold;
	}
	a.a_shopinfo{
	font-weight: normal;
	line-height: 1.75rem;
	padding: 0.25em 5em;
}
	div.inquiry-list {
    margin-top: 3.5rem;
	}
	div.inquiry-list > div + div{
		margin-top: 1rem;
	}
	div.d_shopinfo{
	text-align: center;
	margin-top: 0.5rem;
	}
	div.inquiry-list > div > h3 {
	font-size: 1.315rem;
    margin-bottom:1.25rem;
	}
	div.inquiry-list > div > p {
	margin-bottom: 0.125rem;
	}
}

a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
}
@media(max-width:500px){
    a[href^="tel:"] {
        pointer-events:auto;
    }
}

div.courtesy_bus {
    background-color: #F3ECDE;
    padding: 1.125rem 0;
}

div.courtesy_bus div.container-fluid > div{
    display: table;
    width: 100%;
    padding: 2.875rem 0;
    background-image: url("../img/bg_courtesy_bus.png?20190927");
    background-repeat: no-repeat;
    background-position: right bottom;
}

div.courtesy_bus div.container-fluid > div > h2{
    display: table-cell;
    width: 35%;
    vertical-align: middle;
    font-size: 1.5rem;
}

div.courtesy_bus div.container-fluid > div > p{
    display: table-cell;
    font-size: 1rem;
    width: 65%;
    border-left: 1px solid #000000;
    padding-left: 3.375rem;
}

div.courtesy_bus div.container-fluid > div > p span{
    font-size: 1.125rem;
    display: block;
    margin-bottom: 1rem;
}

div.courtesy_bus + div#footer > footer {
    margin-top: 0;
}

@media(max-width:767px){
    div.courtesy_bus div.container-fluid > div,
    div.courtesy_bus div.container-fluid > div > h2,
    div.courtesy_bus div.container-fluid > div > p {
        display: block;
        width: 100%;
    }
    div.courtesy_bus div.container-fluid > div > p {
        border-left: none;
        padding-left: 0;
    }
}
