/*======================================================
TOPページ
======================================================*/

/*------------------------------
メインイメージ
------------------------------*/

.side-logo{
    text-align: center;
    margin-bottom:20px;
}

body{
	height:100%;
}

@media(min-width:768px){
    .main-image{
	   padding:80px 0 80px 20px;
    }
    .side-logo{
        margin-bottom:40px;
    }
}

@media(max-width:767px){
    .main-image{
        padding:10px;
    }
}


/* スライドのレイアウト */


.swiper-container {
    max-width: 100%;
    height: auto;
}

.slide-img{
/*     //height: 100%; */
    width:auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 100% 100%;
    object-position: 100% 100%
}

@-webkit-keyframes zoomUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
}

@keyframes zoomUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
    -webkit-animation: zoomUp 10s linear 0s 1 normal both;
    animation: zoomUp 10s linear 0s 1 normal both;  
}

/*imgタグだと下に隙間ができるのでblockに*/
.slide-img img{
    display: block;
}

.swiper-container{
    position: relative;
}

@-webkit-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}



@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/*
.swiper-slide {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
}
*/
            
.swiper-wrapper p {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.slide-text02{
    font-size:3.4rem;
    border:1px solid #fff;
    background: rgba(0, 0, 0, 0.5);
    padding:20px;
    text-align: center;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
    width:60%;
}

@media(max-width:767px){
    .slide-text02{
        width:80%;
    }
}

.slide-text-ann{
    font-size:3.6rem;
    padding: 30px 20px;
}

@media(max-width:1070px){
    .slide-text02{
        font-size:2.4rem;
    }
}

@media(max-width:767px){
    .slide-text02{
        font-size:1.3em;
    }
}

.swiper-wrapper .swiper-slide-active p{
    -webkit-animation-name: fade-in;
    animation-name: fade-in;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

}

.swiper-slide a img{
    opacity: 1;
}


/*
.main-text{
    position: absolute;
    top:50%;
    left:50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: 10;
    -webkit-animation:maintext 1.5s ease-in-out .2s normal;
    animation:maintext 1.5s ease-in-out .2s normal;
    -webkit-animation-fill-mode:bosh;
    animation-fill-mode:bosh;
    text-align: center;
}

@-webkit-keyframes maintext{
    0%{-webkit-transform: translate(50%,-50%);transform: translate(50%,-50%); opacity:0}
    100%{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); opacity:1}
}

@keyframes maintext{
    0%{-webkit-transform: translate(50%,-50%);transform: translate(50%,-50%); opacity:0}
    100%{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); opacity:1}
}
*/



/*------------------------------
ナビ
------------------------------*/

.gNav li{
	margin-bottom:0.5em;
}
.gNav li a:link, .gNav li a:visited{
    color:#422510;
	text-decoration: none;
    font-weight: bold;
}

.navigation{
	margin-bottom:50px;
}

/*------------------------------
TOP-SNS
------------------------------*/
.fab{
	margin:4px;
    color:#422510;
    font-size:2.0rem;
}

.sns a:hover .fab{
	color:orangered;
}

/*------------------------------
TOP-INFORMATION
------------------------------*/

.top-info{
	border-bottom: 1px dashed #ccc;
	padding-bottom:0.5em;
	margin-bottom:0.5em;
}

.top-info dt{
	font-weight: bold;
}

.top-info span{
	font-size:1.2rem;
	margin-right:10px;
	font-weight: normal;
}

.top-info dt a{
    font-size:clamp(1.3rem,1.5vw,1.6rem)
}

.top-info dd{
    color:#666;
}

.new-txt{
	background: #ff3c00;
	color:#fff;
	font-size:1.0rem !important;
	padding:0 2px;
}

.tinfo-white-box{
    background: rgba(255, 255, 255, 0.7);
    
}


/*------------------------------
TOP-GREETING
------------------------------*/
.bg-leaf{
    background: url(../img/index/bg-greeting.png) no-repeat left top #f8f2e7;
	padding:50px 0;
}


/*------------------------------
TOP-CONCEPT
------------------------------*/

@media(min-width:768px){
    #concept{
        background: url(../img/index/bg-concept.jpg) repeat-x left bottom;
    }
    .concept-box{
        padding:20px;
    }

    .concept-box-center{
        padding-top:60px;
    }
}

@media(max-width:767px){
    #concept{
        background: url(../img/common/bg-br.jpg);
    }
    
    .concept-box{
        text-align: center;
        width:100%;
    }
    
    .concept-box p{
        text-align: left;
    }
    
    .white-box{
        padding:20px;
    }

}

.concept-box p{
	padding:1em;
    color:#fff;
}

/*------------------------------
TOP テイクアウトメニュー
------------------------------*/
.takeout-tel{
    text-align: center;
    font-size:3.6rem;
    font-weight: bold;
    color:#38220c;
}

.takeout-box{
    padding:2em;
    background: #f8f2e7;
    -webkit-box-shadow: 4px 4px 4px 4px rgba(204, 204, 204, 0.6);
    box-shadow: 4px 4px 4px 4px rgba(204, 204, 204, 0.6);
    margin-bottom:30px;
}

.takeout-box dl{
    padding: 0.7em 0;
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
}

.takeout-box dl:not(last-child){
    border-bottom:1px dashed #ccc;   
}

.takeout-box dt::before{
    font-family:'Font Awesome 5 Free';
    content:'\f621';
    font-weight: bold;
    margin-right:0.5em;
    color:#574b3f;
}






/*------------------------------
TOP-MENU
------------------------------*/

.Tmenu-box{
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom:20px;
}
.Tmenu-box > div{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	background: #ebdabc;
	padding:20px;
	width:100%;
	display: block;
}

.Tmenu-box dl{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.Tmenu-box dl dt,.Tmenu-box dl dd{
	font-weight: bold;
}


/*------------------------------
TOP-INFORMATION
------------------------------*/

@media(min-width:768px){

    .info-box{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .info-box dt{
        margin-right:10px;
    }
}

.info-box{
    padding:10px;
    border-bottom:1px dashed #ccc;
}
.info-box dt{
    color:#d96400;
}


/*------------------------------
TOP-TOP-gallery
------------------------------*/

@media(max-width:479px){
    .gallery-box > div{
        margin-bottom:20px;
    }
}

@media(min-width:480px){
    .gallery-box > div:nth-child(-n+6){
        margin-bottom:10px;
    }
}

#Tgallery{
    padding:40px;
}


/*------------------------------
TOP-ABOUT
------------------------------*/

.bg-about{
	background:url(../img/index/bg-about.png) no-repeat right bottom #f8f2e7;
}

.about-ta{
	background: #fff;
    margin-top:0;
}
.about-ta th,.about-ta td{
	border:none;
    vertical-align: top;
}

/*　スマホでのテーブル　*/

@media(max-width:767px){
    
    .about-ta{
        width:90%;
        margin: 20px auto;
    }

    .about-ta th, .about-ta td{
        display: block;
        border:1px solid #ccc;
    }
    
    .about-ta th{
        text-align: center;
        background: #f2f2f2;
    }
}



.about-box{
	background: #fff;
	-webkit-box-shadow: 4px 4px 4px 4px rgba(38, 38, 38, 0.4);
	box-shadow: 4px 4px 4px 4px rgba(38, 38, 38, 0.4);
	padding: 10px;
}

@media(min-width:768px){
    .about-box{
        width:80%;
        padding:40px;
    }
}

.abou-sns a{
	font-size:1.6rem;
    display:inline-block;
}
.about-sns a:link,
.about-sns a:visited{
	text-decoration: none;
	font-size:1.6rem;
	font-weight: bold;
	color:#38220c;
	margin-right:20px;
}

.about-sns a:hover{
	color:orangered;
}

.about-sns .fab{
	color:#38220c;
}
.about-sns .fa-twitter{
    color:#00acee;
}

.about-sns .fa-facebook{
    color:#3b5998;
}

.about-sns .fa-instagram{
    color: #c13584;
}
.about-sns a:hover .fab{
	color:orangered;
}

.fa-phone{
    margin-right:10px;
}

/*------------------------------
TOP-ACCESS
------------------------------*/

.access-box{
	background: url(../img/index/bg-access.jpg) repeat-x left bottom;
}

#Tmap{
	-webkit-box-shadow: 4px 4px 4px 4px rgba(38, 38, 38, 0.4);
	box-shadow: 4px 4px 4px 4px rgba(38, 38, 38, 0.4);
}

#Tmap{
    width:100%;
    height:400px;
}

/*------------------------------
TOP-ボタン
------------------------------*/

.bt-top-link{
    padding-bottom:0 !important;
}



/*======================================================
下層ページ共通
======================================================*/


/*------------------------------
下層見出し
------------------------------*/

.page-main-image{
    padding:0;
    position: relative;
}

.h2-page{
    font-family: trajan-pro-3, serif;
    font-weight: 600;
    font-style: normal;
    font-size:3.6rem;
    line-height: 0.6;
    color:#38220c;
    position: absolute;
    left:10px;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

.h2-page:first-letter{
    font-size:4.6rem;
}

.h2-page span{
    font-size:1.4rem;
    font-family: sans-serif;
}

/*------------------------------
下層セクション
------------------------------*/



/*======================================================
メニュー一覧ページ
======================================================*/

.menu-course-field figure{
    text-align: center;
}

.menu-course-box{
	padding:20px;
	position: relative;
}

@media(max-width:767px){
    .menu-course-box{
        margin-bottom:40px;
    }
}

.h3-menu-course{
	background: url(../img/menu/bg-course-title.png) no-repeat center top;
	background-size:100%;
	z-index: 10;
	position: absolute;
	top:-30px;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	width:100%;
	max-width:300px;
	text-align: center;
}

.h3-menu-course p{
	color:orangered;
	font-size:2.0rem;
	padding:14px 0 20px 0;
}


.bg-menu-top{
	background: url(../img/menu/bg-menu-top.jpg) repeat-x left bottom;
}

@media(max-width:767px){
    .tax-other-cat .bg-menu-top{
        background: url(../img/common/bg-br.jpg);
    }
}

.bt-menu-page{
	text-align: center;
	padding-bottom:30px;
}

.bt-menu-page a{
	color:#fff;
	text-decoration: none;
	font-size:1.8rem;
	position: relative;
	display:block;
	max-width:260px;
	height:50px;
	padding:10px;
	border:1px solid #fff;
	-webkit-transition: .3s;
	transition: .3s;
}

.bt-menu-page a{
    overflow: hidden;
	margin: 30px auto;
}
 
.bt-menu-page a:before{
    content: "";
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-transition: .2s;
    transition: .2s;
}

.bt-menu-page-br a:before{
    background-color: #422510;	
}
 

.bt-menu-page a:hover{
	color:#422510;
	z-index:200;
}
.bt-menu-page-br a:hover{
    color: #fff;
}

 
.bt-menu-page a:hover:before{
    left: 0;
}

/* //.bt-menu-page-br p{
	border:1px solid #422510;
} */

.bt-menu-page-br p a{
	color:#422510;
	border:1px solid #422510;
}


@media(min-width:768px){
	.menu-all-info{
		text-align: center;
	}
}

.menu-course-box figcaption{
    color:#fff;
    text-align: center;
    padding-top:10px;
    font-size:1.4rem;
    font-weight: bold;
}


.menu-all-info-course{
	margin-bottom:80px;
    padding:0 20px;
}

.menu-other-field{
	width:100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* //.menu-other-box{
    width:46%;
} */

/* //@media(min-width:768px){
    .menu-other-box{
        width:23%;
    }
} */

.menu-other-box{
	background: #452b1a;
	padding:10px;
	margin: 10px;
	position:relative;
}

.menu-other-all-img{
	margin-bottom:2.5em;
}

.h3-menu-all-other{
	color:#fff;
	padding-top:2em;
	text-align: center;
	position:absolute;
	bottom:10px;
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}


.h3-menu-all-other a{
	color:#fff;
	text-decoration: none;
}

.a-course-box{
	padding:40px;
}

.a-course-box-in{
	position: relative;
	text-align: center;
}

.a-course-image{
    max-width:400px;
    text-align: center;
    margin: 0 auto;
}

.a-course-price{
    text-align: center;
    font-weight: bold;
    margin-top:10px;
}

.a-course-price span{
    font-size:1.8rem;
}

.tax-other-name{
	text-align: center;
	color:#fff;
}
.tax-other-name a:link,
.tax-other-name a:visited{
	color:#fff;
}

/*======================================================
メニューカテゴリーページ共通
======================================================*/

/* おススメ・人気アイコン */

.menu-list-name{
	position: relative;
}

.ico-reco{
	position: absolute;
	top:-10px;
	left:0;
	width:130px;
	z-index: 10;	
}

.ico-kara{
	width:50px;
	margin-right:16px;
}
.ico-kara img{
	height:20px;
	display: inline;
}

/* その他メニュー　タクソノミーの時のアイコン表示 */
.ico-reco-s{
	width:80px;
	top:-34px;
	left:-20px;
}

/* シングルページのアイコン */

.single-image{
	position: relative;
}

.single-image .ico-reco{
	width:170px;
	top:-20px;
	left:-20px;
}

/*======================================================
コースページ
======================================================*/

.a-course-box:nth-child(odd){
	background: #f8f2e7;
}

.h3-a-course{
	text-align: center;
}

.course-cont{
	max-width:600px;
	margin: 20px auto;
}

/*======================================================
ランチページ
======================================================*/

.lunch-post{
	padding :40px 0 ;
}

@media(max-width:767px){
    .lunch-post{
        padding:20px;
    }
}

.lunch-post:nth-child(even){
	background: #f8f2e7;
}

.lunch-post:nth-child(odd){
	background: #fffcee;
}


/* ランチリスト*/

.h3-lunch-sec{
	background: #f00;
	max-width:1024px;
	padding:8px;
	text-align: center;
	color:#fff;
	margin: 20px auto;
    background: -webkit-gradient(linear,right top, left top,from(#402102), to(#735f55));
    background: linear-gradient(to left,#402102, #735f55);
	font-size:1.8rem;
	-webkit-box-shadow: 0 3px 4px 3px rgba(33, 33, 33, 0.3);
	box-shadow: 0 3px 4px 3px rgba(33, 33, 33, 0.3);
}

.h3-lunch-sec a:link,
.h3-lunch-sec a:visited,
.h3-lunch-sec a:hover{
	color:#fff;
}

.article-in{
	padding:40px 0;
}

.menu-list-field{
	max-width:1024px;
	margin:0 auto;
	padding: 40px;
	-webkit-box-shadow: 4px 4px 4px 4px rgba(153, 153, 153, 0.6);
	box-shadow: 4px 4px 4px 4px rgba(153, 153, 153, 0.6);
	background: #fff;
	position: relative;
}

.menu-list-box{
	max-width:900px;
	border-bottom:dashed 1px #391400;
	padding:1em 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.lunch-par-price{
	text-align: right;
	font-weight: bold;
}

.lunch-par-price span{
	font-size:1.8rem;
}

.menu-list-name p{
	margin-left:18px;
}

.menu-list-name{
	-ms-flex-preferred-size:78%;
	flex-basis:78%;
}

.menu-list-price{
	font-weight: bold;
	font-size:1.4rem;
    -ms-flex-preferred-size: 20%;
/*     //flex-basis: 20%; */
    text-align: right;
}



.menu-list-price span{
	font-size:1.8rem;
	font-weight: bold;
}

.h4-menu-list::before{
	content:'';
	background: url(../img/lunch/menu-list-mark.png) no-repeat;
	width:14px;
	height:16px;
	display: inline-block;
	background-size:contain;
	vertical-align: middle;
	margin-right:4px;
}

/* メニューセット（2列・ゴールド）*/

.menu-list-field-s{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom:20px;
}

.menu-list-field-s .menu-list-box{
	width:48%;
	margin-right:2%;
}

@media(max-width:767px){
    .menu-list-field-s .menu-list-box{
        width:100%;
    }
}

.h3-lunch-spe{
	position: absolute;
	left:20px;
	top:-20px;
}

.h3-lunch-spe span{
	background: -webkit-gradient(linear,right top, left top,from(#945e09), to(#e2cb0a));
	background: linear-gradient(to left,#945e09, #e2cb0a);
	padding:10px 40px;
	text-align: center;
	font-size:1.8rem;
	color:#fff;
    display: block;
}

@media(max-width:767px){
    .h3-lunch-spe span{
        padding:10px;
    }
}

.menu-list-field-s .h4-menu-list{
	position: relative;
	padding-left:1.8em;
}

.menu-list-field-s .h4-menu-list::before{
	content: "●";
	color:#d93300;
	font-size:2.5rem;
	background: none;
	position: absolute;
	top:-10px;
	left:0;
	margin-right:1.2em;
}

.menu-list-field-s p{
	margin-left:1.8em;
}

.lunch-set-image{
/* 	//height: 200px; */
	overflow: hidden;
	text-align: center;
	margin:0 auto 10px;
    min-height:160px;
/*     //max-width:300px; */
}

.lunch-set-image-pare{
    height:200px;
}

/*======================================================
その他メニューページ
======================================================*/

@media(min-width:768px){
    .other-cat-image{
        height: 240px;
    }
}


/*======================================================
メニューシングル
======================================================*/

.h3-s-menu{
    font-size:2.0rem;
    text-align: center;
}

.s-price{
    font-size:1.8rem;
    text-align: right;
    margin-top:20px;
	font-weight: bold;
}

@media(min-width:768px){
    .s-price{
        position:absolute;
        bottom:10px;
        right:0;
    }
}

.menu-single-field >div:last-child{
    position: relative;
}

/* コースシングルページ */

.s-course-title{
    height: 80px;
    position: relative;
}

/*------------------------------
INFORMATION シングルページ
------------------------------*/

.s-info{
	padding:50px 0;
}

.h3-s-info{
	color:#38220c;
	font-size:1.8rem;
	margin-bottom:20px;
	border-bottom:1px dashed #38220c;
	padding-bottom:0.5em;

}

.s-date{
	text-align: right;
	font-size:1.2rem;
	color:#38220c;
}

.s-info-box{
	margin-bottom:50px;
}

.s-pager p,.s-pager a{
	font-size:1.3rem;
	color:#4b3016;
}

/*------------------------------
INFORMATION カテゴリーページ
------------------------------*/

.news-all-box{
    border-bottom:2em;
    padding-bottom:2em;
    border-bottom:1px dashed #ccc;
}


/*------------------------------
コンセプトページ
------------------------------*/

.bg-messa{
    background: url(../img/concept/bg-messa.png) no-repeat right top;
}

.concept-page-box{
    margin-bottom:50px;
}

.concept-page-box > p:last-child{
    padding-left:20px;
}

.concept-page-box img{
    margin-bottom:20px;
    max-width:400px;
}

.h3-concept{
	text-align: center;
	margin-bottom:2em;
}
.h3-concept p{
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
	font-size:2.0rem;
}

.h3-concept p:before, .h3-concept p:after { 
  content:'';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}

.h3-concept p:before {
  border-left: solid 1px #ff5722;
  border-top: solid 1px #ff5722;
  top:0;
  left: 0;
}

.h3-concept p:after {
  border-right: solid 1px #ff5722;
  border-bottom: solid 1px #ff5722;
  bottom:0;
  right: 0;
}

.concept-field > p{
	margin-bottom:4em;
}

/*------------------------------
ご予約・お問い合わせページ
------------------------------*/

.h3-contact p{
    font-size:2.6rem;
    color:#38220c;
}