@charset "UTF-8";
@import url("grid.css");

body {
	font-family: 'Noto Serif JP', serif;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #333;
    text-decoration-line: none;
}
a:hover { 
    color: #999;
}
a img:hover {
	opacity: 0.8;
}

th,td {border-bottom: none;}

.center {
	text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.position-r {
    position: relative;
}

.flex {
    display: flex;
}


/*---br管理--*/
/*---スマホ時改行--*/
@media screen and (max-width: 560px) {
.pc-br{display:none;}
.tb-br{display:none;}
.sp-br{display:block;}
}
/*---タブレット時改行--*/
@media screen and (min-width:561px) and (max-width: 768px) {
.pc-br{display:none;}
.tb-br{display:block;}
.sp-br{display:none;}
}
/*---PC時改行--*/
@media screen and (min-width:769px){
.pc-br{display:block;}
.tb-br{display:none;}
.sp-br{display:none;}
}

.mt10{margin-top: 10px;}
.mt30{margin-top: 30px;}
.mb10{margin-bottom: 10px;}
.mb30{margin-bottom: 30px;}
.mb60{margin-bottom: 60px;}

.no-wrap{display: inline-block!important;}

.pc {display: block;}
.sp {display: none;}

/*ヘッダー
-------------------------------------*/



.header-bg {

    /*追加*/
    justify-content: center;
    /*追加*/
    align-items: center;
    background: #372919;
    z-index: 9999;
}


@media only screen and (min-width: 1921px) {

    .header-bg {

        /*追加*/
        justify-content: center;
        /*追加*/
        align-items: center;
        /*height: 400px;*/
        z-index: 9999;
    }
	

}


.head-outer {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.head-logo {
    text-align: left;
    max-width: 400px;
    width: 28%;
    padding-top: 1%;
}

.head-logo a img:hover {
    opacity: 0.8;
}


.head-nav {
    flex-basis: 57%;
	padding-top: 1%;
}

.head-nav li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
	color: #fff;
}

.head-nav li a img {
    max-width: 110px;
}


.head-nav li a img:first-child:hover {
    transform: rotate(20deg);
}

.head-nav li {
    position: relative;
}

.head-nav li a:hover {
	background-color: #B89A36;
	padding: 10px;
	text-decoration: none;
}

@media screen and (min-width: 1921px) {
	.head-outer {max-width: 1500px;}
	
	.head-nav {flex-basis: 48%;}
}

@media screen and (max-width: 1300px) {
	.head-outer {max-width: 1100px;}
	
	.head-nav {flex-basis: 67%;}
}

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

    .head-outer {
        display: block;
        padding: 2rem 0;
        width: 100%;
        margin: 0 auto;
    }

    .head-logo {
        margin: 0 auto 2%;
		width: 50%;
	}

    .head-nav {
        flex-basis: 100%;
    }
	
	.head-nav li a {
		margin: 5px;
	}
	

}

nav ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    list-style: none;
    margin-bottom: 0.5rem;
}

nav li {
    display: block;
    flex-basis: calc(100% / 4);
}

nav li a {
    text-decoration: none;
    text-align: center;
}

nav a:hover {
    text-decoration: underline;
}

nav a {
    padding: 1rem;
}

@media screen and (min-width: 560px) {

    /* PC時はMENUボタンを非表示 */
    #open,
    #close {
        display: none !important;
    }

    #navi {
        display: block !important;
    }
    

}



@media screen and (max-width: 560px) {
	.pc {display: none;}
	.sp {display: block;}

    .head-nav li a img:first-child:hover {
        transform: rotate(0);
    }

    .head-nav li {
        padding-bottom: 0;
    }

    .head-nav li.selected:after {
        background: none;
    }

    .head-logo {
        width: 60%;
        margin-left: 25px;
        padding-top: 0;
        /*min-height: 75px;*/
    }

    .header-bg {
        height: 100px;
    }

    .sub_header .header-bg {
        height: 100px;
    }



    nav ul {
        flex-wrap: wrap;
        /* flex-direction: column; */
    }

    nav li {
        padding-top: 0;
        border-bottom: 1px solid #fff;
        margin-bottom: 0;
        z-index: 100;
        background-color: #372919;
        width: 51%;
        flex: auto;
    }

    nav li:last-child {
        width: 100%;
    }

    /* スマホ時はMENUボタンを表示 */
    #open,#close,#hamburger {
        display: block;
        background-size: contain;
        border: none;
        position: absolute;
		width : 42px;
		height: 42px;
		text-align: center;
    }
	
	#hamburger {
		top   : 17px;
		right : 18px;
	}
	
	#open {
		top: 0;
		right: 0;
	}
	
	#close {
		top: -4px;
		right: 0;
	}
	
	#hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
	}
	
	#hamburger span:nth-child(1) {
		top: 10px;
	}

	#hamburger span:nth-child(2) {
		top: 20px;
	}
	
	#hamburger span:nth-child(3) {
		top: 30px;
	}
	
	#hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

#hamburger.active span:nth-child(2),
#hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
	

    /* スマホ時はメニューを非表示 */
    #navi {
        display: none;
    }
}


/*メイン画像
-------------------------------------*/
.main-slide-ttl {
	position: absolute;
	z-index: 2;
	top: 32%;
	left: 30%;
	transform: translate(-50%,-50%);
	letter-spacing: 0.1em;
	color: #fff;
	text-shadow: 1.5px 1.5px 5px #000;
	line-height: 1.3;
	font-size: clamp(2.8rem,1vw,3.4rem);
}

.main-slide-ttl span {
	font-size: clamp(1.3rem,1.5vw,2rem);
}

.main-slide-ttl .slide-ttl {
	font-size: clamp(3.3rem,4.2vw,6rem);
}

.slide-br{display: none;}



@media screen and (max-width: 1300px) {
	.main-slide-ttl {
		left: 35%;
	}
	
}

@media screen and (max-width: 1100px) {
	.main-slide-ttl {
		left: 38%;
	}
	
}

@media screen and (max-width: 768px) {
	.slide-br{display: block;}
}

@media screen and (max-width: 560px) {
	.main-slide-ttl {
		text-align: center;
		transform: translate(-30%,-30%);
		text-shadow: 1px 1px 7px #000;
	}
	
}


	
/*メインコンテンツ
-------------------------------------*/
main {
    margin: 0 auto;
}


	.bg-img {
		background-image: linear-gradient(to bottom, transparent 0%, transparent 80%, #fff 100%),url("../images/top/top_back01.jpg");	
		background-size: cover;
		width: 100%;
		background-position: -15px 0;
	}

.bg-img2 {
	background-image: url("../images/top/top_back02.jpg");
	background-size: cover;
	width: 100%;
	background-position: 15px 0;
}

h3 {
	color: #352514;
	padding-top: 50px;
	padding-bottom: 30px;
	letter-spacing: 0.6rem;
	font-size: clamp(2.1rem,2.5vw,3rem);
	line-height: 6rem;
}

h3 span {
	border-bottom: solid 1px #352514;
	padding-bottom: 10px;
}

.main-box {
	display: flex;
	width: 100%;
	margin: 0 auto 80px;
	justify-content: center;
	align-items: center;
	padding: 0 100px;
}



.main-item {
	flex-basis: 48%;
	padding: 10px 25px;
}

.main-item:first-child {
	text-align: right;
}



.item-ttl {
	color: #352514;
	font-weight: 300;
	font-size: clamp(1.8rem,1.7vw,2.4rem);
}

.main-item h3 {padding-top: 0;}

.main-item table {
	margin-bottom: 0;
}

.main-item th,td {
	margin: 5px;
}

.staff-bn {
	position: relative;
	width: 100%;
}

.staff-bn a {
	position: absolute;
	width: 1000px;
	left: 50%;
	transform: translateX(-50%);
}

.main-item p {font-size: clamp(14px,1.2vw,16px);}

@media screen and (min-width: 1921px) {
	
}

@media screen and (max-width: 1100px) {
	.main-box {
		padding: 0 40px;
	}
	
	.main-item,.main-item:first-child {text-align: center;}
	
	.main-item h3 {
		text-align: left;
		padding-bottom: 10px;
	}
	
	.main-item p {text-align: left;}
	
	
	.staff-bn a {width: 700px;}
}

@media screen and (max-width: 768px) {
	.bg-img2 {
		background-position: -200px 0;
	}
	
	.main-box {
		flex-direction: column;
		padding: 0;
	}
	
	.main-box.reverse {
		flex-direction: column-reverse;
		padding: 0;
	}
	
	.main-item h3 {text-align: center;}
	
	.staff-bn a {width: 500px;}
}

@media screen and (max-width: 560px) {
	.bg-img2 {background-position: -300px 0;}
	
	
	.main-item {
		padding: 5px 25px;
	}
	
	.staff-bn a {width: 340px;}
}
	
/*新着情報
-------------------------------------*/

/*メニューページ
-------------------------------------*/
/*.sub-ttl {
	background-size: cover;
	padding: 10% 0;
	position: relative;
}

.sub-ttl.menu-ttl {
	background-image: url("../images/menu/menu_top_img.jpg");
}

.sub-ttl h2 {
	color: #fff;
	font-size: clamp(2.2rem,3.8vw,5rem);
	position: absolute;
	top: 35%;
	left: 12%;
	letter-spacing: 0.3rem;
}*/
/*↑使えそうならコメントアウト外す*/

.sub-ttl {
	background-size: cover;
	padding: 6em 12em;
}

.sub-ttl.menu-ttl{
	background-image: url("../images/menu/menu_top_img.jpg");
}

.sub-ttl h2 {
	color: #fff;
	font-size: 5rem;
	letter-spacing: 0.1em;
}

h3.box-ttl {
	padding-bottom: 0;
}

.sub-box {
	display: flex;
	width: 100%;
	padding: 0 10%;
	margin: 10px auto 40px;
	flex-wrap: wrap;
	justify-content: center;
}

.sub-box:after {
	display: block;
	content: "";
	width: calc(100% / 3);
}

.sub-item {
	flex-basis: calc(100% / 3);
	padding: 20px clamp(1%,1vw,7.5%);
	display: flex;
	flex-direction: column;
}

.sub-item02 {
	flex-basis: calc(100%);
	padding: 20px clamp(1%,1vw,7.5%);
	display: flex;
	flex-direction: column;
}

.sub-item p,.sub-item table {
	color: #3F3F3F;
	font-size: clamp(14px,1.2vw,16px);
	margin-bottom: 0;
}

.sub-item img {
	width: 90%;
	display: block;
	margin-top: auto;
	padding: 1rem 0 2rem;
}

.sub-item th,.sub-box td {
	padding: 5px 0.8em 5px 0;
	min-width: 50px;
	
}

.sub-item .item-ttl {
	font-size: clamp(1.8rem,1.7vw,2.4rem);
	margin-bottom: 5px;
}

.sub-block {
	display: block;
	margin: 30px auto;
}

p.red-font {color: #C1272D;}

p.item-space {margin-bottom: 30px;}

.bg-brown {
	background-color: #372919;
	padding: 30px 0;
	color: #fff;
	text-align: center;
	margin-bottom: 40px;
}

.text-line {
	display: inline-block;
	text-align: center;
	color: #fff;
	border-bottom: 1px solid;
	padding: 0 10px 5px;
	margin-bottom: 40px;
}
.instagram-area {
	max-width: 1400px;
	width: 85%;
	margin: 0 auto;
}
.instagram-area a {
	color: #fff;
	text-align: right;
}

@media screen and (max-width: 1100px) {
	.sub-box:after {
	width: 48%;
}
	
	
	.sub-item {
		flex-basis: 48%;
	}
}


@media screen and (max-width: 768px) {
	.sub-ttl {
		padding: 6em 0;
		text-align: center;
		background-position: 13%;
	}
	
	.sub-box {
		flex-direction: column;
	}
	
	.sub-item {
		text-align: center;
		/*padding: 15px clamp(10%,2vw,40%);*/
	}
	
	.sub-item table {margin: 0 auto;}
	
	.sub-block {margin: 0 auto 30px;}
	
	.sub-block:last-child {margin-bottom: 0;}
}

@media screen and (max-width: 560px) {
	
	
	.sub-item th,.sub-item td {padding: 0 0 0 0.8em;}
	
}

@media screen and (max-width: 420px) {
	.sub-ttl h2 {
		top: 30%;
	}
}

/*フッター
-------------------------------------*/
footer {
    background-color: #372919;
    padding: 5rem 0;
	color: #fff;
}
footer h5 {
    color: #fff;
	font-size: 2.6rem;
}

footer .main-item p {
	color: #fff;
	margin-bottom: 1rem;
	font-size: clamp(1.4rem,1.3vw,1.8rem);
}

footer .main-box {margin-top: 30px;}

footer .main-item iframe {max-width: 100%;}

footer .main-item:first-child {
	text-align: left;
	flex-basis: 40%;
	padding-left: 10%;
}

	a.tel-link {
		color: #fff;
		display: inline-block;
	}

@media screen and (min-width: 1921px) {
	footer .main-item:first-child {padding-left: 17vw;}
}

@media screen and (max-width: 1440px) {
	footer .main-item:first-child {
		padding-left: 80px;
	}
}

@media screen and (max-width: 1372px) {
	footer .main-item:first-child {
		padding-left: 0px;
	}
}

@media screen and (min-width: 768px) {
	.tel-link {pointer-events: none;}
}

@media screen and (max-width: 768px) {
	footer .main-item div {text-align: center;}
	
}

@media screen and (max-width: 560px) {
	footer h5 {text-align: center;}
	
	footer .main-item:first-child {
		padding: 0 20px;
	}
	
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #fff;
}
.copyright a {
    color: #000;
    text-decoration: none;
	display: inline-block;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background: #000;
    color: #fff;
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background: #3366FF;
}
/*パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0;	
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: #959fa5;
	}

/*202209追加*/

.inner {
    width: 1440px;
   max-width: 100%;
    margin: 0 auto;
	padding: 0 2rem;
}

.main-item2 {
	flex-basis: 48%;
	padding: 10px;
}