@charset "UTF-8";

.about #header .menu .globalNav li:nth-child(1) a,
.menu #header .menu .globalNav li:nth-child(2) a,
.drink #header .menu .globalNav li:nth-child(3) a,
.shop #header .menu .globalNav li:nth-child(4) a{
    color: var(--c-tertiary);
}

.title_h2 {
  color: var(--c-tertiary);
  font-size: 4.8rem;
  line-height: 1.25;
  margin: 1.58em 0;
}
.title_h2 span {
  display: block;
  color: #333;
  font-family: "Shippori Mincho", serif;
  font-size: 0.375em;
  letter-spacing: 0.1em;
}
.about .title_h2 {
  display: inline-block;
  position: relative;
  margin-top: 0;
}
.about .title_h2 span {
  position: absolute;
  top: -3.33em;
  right: -1.5em;
}
.about .title_h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -0.52em;
  width: 1px;
  height: calc(100% + 0.52em);
  background-color: var(--c-tertiary);
}
.colL .title_h2 {
  padding-left: 0.625em;
}
.colL .title_h2 span {
  right: auto;
  left: -0.55em;
}
.colL .title_h2::before {
  right: auto;
  left: 0;
}
.title_h3 {
  font-size: 2.2rem;
  line-height: 1.63;
  margin-bottom: 1.8em;
}
.title_center {
  font-size: 6rem;
  text-align: center;
  margin-bottom: 1.6em;
}
.title_center span {
  display: block;
  font-size: 2rem;
  margin-top: 0.8em;
}
.txt_regular {
  font-size: 1.6rem;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
  line-height: 2.25;
  margin-bottom: 1em;
}
.whiteBox {
  background: #fff;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 126px, rgba(255, 255, 255, 1) 126px, rgba(255, 255, 255, 1) 100%);
  padding: 100px;
  margin-bottom: 110px;
}
.colL .whiteBox {
  padding-left: 0;
}
.colR .whiteBox {
  padding-right: 0;
}
.whiteBox_inner {
  width: 500px;
}
.colL .whiteBox_inner  {
  margin-left: auto;
}
.colR .whiteBox_inner  {
  margin-right: auto;
}
.colL.image {
  margin-right: auto;
}
.colR.image {
  margin-left: auto;
}
.colL.text{
  position: relative;
  margin-right: auto;
}
.colR.text {
  position: relative;
  margin-left: auto;
}
.image img {
  object-fit: cover;
  object-position: center center;
}
.flex_wrap {
  display: flex;
}
.flex_wrap .colL.text {
  padding-right: 100px;
}
.flex_wrap .colR.text {
  padding-left: 100px;
}
.aline_c {
  align-items: center;
}
.imageArea img {
  width: 100%;
  height: 733px;
  object-fit: cover;
}
.dark {
  background: linear-gradient(to bottom, rgba(239, 232, 220, 0) 30px, rgba(239, 232, 220, 1) 30px, rgba(239, 232, 220, 1) 100%);
}

@media only screen and (max-width: 767px) {
  .title_h2 {
    font-size: 6vw;
  }
  .title_h2 span {
    font-size: 3vw;
    right: -4vw;
  }
  .title_h3 {
    font-size: max(3.8vw,15px);
  }
  .title_center {
    font-size: 10vw;
  }
  .title_center span {
    font-size: 4vw;
  }
  .txt_regular {
    font-size: max(2.4vw,13px);
  }
  .whiteBox {
    padding: 6vw;
    margin-bottom: 6vw;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 10vw, rgba(255, 255, 255, 1) 10vw, rgba(255, 255, 255, 1) 100%)
  }
  .whiteBox_inner {
    width: auto;
  }
  .colL .whiteBox {
    padding-left: 6vw;
  }
  .colR .whiteBox {
    padding-right: 6vw;
  }
  .colL.image {
    margin-right: 0;
  }
  .colR.image {
    margin-left: 0;
  }
  .flex_wrap {
    flex-direction: column;
    padding: 0 6vw;
  }
  .flex_wrap .colL {
    margin-bottom: 6vw;
  }
  .flex_wrap .colL.text {
    padding-right: 0;
  }
  .flex_wrap .colR.text {
    padding-left: 0;
  }
  .flex_wrap .image img {
    width: 100%;
  }
  .imageArea img {
    height: 90vw;
  }
  .dark {
    background: linear-gradient(to bottom, rgba(239, 232, 220, 0) 6vw, rgba(239, 232, 220, 1) 6vw, rgba(239, 232, 220, 1) 100%);
  }
  .photo img {
    width: 100%;
  }
  .overlap_wrap {
    display: flex;
  }
}

/*================================ about01 ===============================*/
#about01 {
  padding: 194px 0 120px;
}
#about01 .overlap_wrap .image {
  width: 64%;
}
#about01 .overlap_wrap .image img {
  width: 100%;
  height: 712px;
}
#about01 .overlap_wrap .text {
  width: 51%;
  margin-top: -680px;
}
@media only screen and (max-width: 767px) {
  #about01 {
    padding: 18vw 0 10vw;
  }
  #about01 .overlap_wrap .image img {
    height: 90vw;
  }
  #about01 .overlap_wrap .image {
    width: 34%;
  }
  #about01 .overlap_wrap .text {
    width: 66%;
    margin-top: 0;
  }
}

/*================================ about02 ===============================*/
#about02 {
  padding: 120px 0 120px;
}
#about02 .overlap_wrap .image {
  width: 58%;
}
#about02 .overlap_wrap .image img {
  width: 100%;
  height: 530px;
}
#about02 .overlap_wrap .text {
  width: 51%;
  margin-top: -520px;
}
#about02 .overlap_wrap .whiteBox {
  padding-bottom: 6em;
}
#about02 .flex_wrap:first-child {
  position: relative;
  margin-top: -250px;
}
#about02 .flex_wrap:first-child .image {
  margin-left: -100px;
}
#about02 .flex_wrap:first-child .text {
  padding-left: 150px;
}
@media only screen and (max-width: 767px) {
  #about02 {
    padding: 10vw 0;
  }
  #about02 .overlap_wrap {
    flex-direction: row-reverse;
  }
  #about02 .overlap_wrap .image {
    width: 34%;
  }
  #about02 .overlap_wrap .image img {
    height: 90vw;
  }
  #about02 .overlap_wrap .text {
    width: 66%;
    margin-top: 0;
  }
  #about02 .overlap_wrap .whiteBox {
    padding-bottom: 2vw;
  }
  #about02 .flex_wrap:first-child {
    margin-top: -20vw;
  }
  #about02 .flex_wrap:first-child .image {
    margin-left: 0;
  }
  #about02 .flex_wrap:first-child .text {
    padding-left: 0;
  }
}

/*================================ about03 ===============================*/
#about03 {
  padding-bottom: 200px;
}
#about03 h2 {
  margin-top: 4em;
}
#about03 .inner {
  margin-top: -90px;
}
#about03 .flex_wrap.first .colL.text {
  padding-right: 50px;
}
#about03 .flex_wrap .colL{
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  #about03 {
    padding-bottom: 14vw;
  }
  #about03 .inner {
    margin-top: -6vw;
  }
  #about03 .flex_wrap.first .colL.text {
    padding-right: 0;
  }
}

/*================================ message ===============================*/
#message {
  padding: 0 0 155px;
}
#message h4 {
  font-size: 3rem;
  margin-bottom: 1em;
}
#message h4 span.position {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 0.4em;
}
#message h4 span.name {
  font-size: 1.4rem;
  margin-left: 1em;
}
@media only screen and (max-width: 767px) {
  #message {
    padding: 0 0 14vw;
  }
}

/*================================ menu ===============================*/
/*-------------- tab_area --------------*/
.tab_area {
	margin: auto;
}
.tab_link {
	width: 100%;
	display: flex;
	position: relative;
	margin: 0 auto;
	z-index: 1;
}
.tab_link li {
	width: calc(100% / 2);
	min-height: 58px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: all 0.7s ease;
	color: #333;
	font-size: 20px;
	font-weight: 500;
	background: #efe8dc;
	padding: 4px 0 0;
	box-sizing: border-box;
	order: -1;
}
.tab_link.col3 li {
	width: calc(100% / 3);
}
.tab_link.col4 li {
	width: calc(100% / 4);
}
.tab_link li:after {
	width: 100%;
	height: 100%;
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-top: 2px solid #efe8dc;
	border-right: 2px solid #efe8dc;
	border-left: 2px solid #efe8dc;
	pointer-events: none;
	z-index: -10;
}
.tab_link li.active,
.tab_link li:hover.active {
	background: none;
	opacity: 1;
}
.tab_link li:hover {
	opacity: 0.7;
	transition: .6s;
}
.tab_link li.active:after {
	height: calc(100% + 2px);
	border: 2px solid #ccbf9f;
	border-bottom: 3px solid #f7f3ed;
}
.tab_link li.active:after,
.tab_link li:hover:after{
	display: block;
}
.tab-content {
	border-top: solid 2px #ccbf9f;
/*	padding: 50px;*/
	box-sizing: border-box;
	margin-top: 0;
}
[data-category] {
	display: none;
}
[data-category].active {
	display: block;
}

/*========== menu_area ==========*/
.menu_area .title_h3 {
    font-size: 2.7rem;
    line-height: 1;
    margin-bottom: 1em;
}
.menu_area dl{
	padding: 50px;
}
.drink .menu_area dl{
	padding: 0;
}
.menu_area dl .wrap {
    padding-bottom: 4rem;
    margin-bottom: 4rem;
    border-bottom: solid 1px #ccbf9f;
}
.menu_area dl .wrap:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border: none;
}
.menu_area dl dt {
	display: flex;
	justify-content: space-between;
	align-items: center;
    font-size: 2.5rem;
    margin-bottom: 2rem;
}
.menu_area .price {
    font-size: 2.4rem;
}
.menu_area .price span {
    font-size: 1.6rem;
}
.item_wrap {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
.item_wrap li {
    padding: 10px 20px;
    background: #fff;
}
.drink .menu_area dl.flex .wrap {
    padding: 20px;
    border: solid 1px #ccbf9f;
    box-sizing: border-box;
    margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
	.menu_area .inner {
	    padding: 0 20px;
	}
	.tab-content {
	    border: solid 2px #ccbf9f;
/*	    padding: 15px;*/
	}
	.tab_link li {
	    min-height: 40px;
	    font-size: 1.4rem;
		padding: 5px 10px;
	}
	.menu_area .title_h3 {
		font-size: 2rem;
	}
	.menu_area dl{
		padding: 15px;
	}
	.menu_area dl .wrap {
	    padding-bottom: 2.5rem;
	    margin-bottom: 2.5rem;
	}
	.menu_area dl dt {
		flex-direction: column;
		gap:10px;
		align-items: flex-start;
	    font-size: 1.8rem;
/*		line-height: 1.2;*/
	}
	.menu_area .price {
    font-size: 1.8rem;
}
	.menu_area .price span {
		font-size: 1.4rem;
	}
	.item_wrap {
	    gap: 10px;
	}
	.item_wrap li {
	    padding: 5px 15px;
	}
	.menu_area dl.flex .wrap {
	    margin-bottom: 2.5rem !important;
	}
	.drink .menu_area dl.flex .wrap {
	    padding: 15px;
	}
}
/*========== alcohol_li ==========*/
.menu_area dl.alcohol_li .wrap {
    display: flex;
	justify-content: space-between;
    align-items: center;
    padding-bottom: 40px;
    margin-bottom: 40px;
}
.menu_area dl.alcohol_li dt {
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
	line-height: 1.3;
}
.alcohol_li dd {
    line-height: 1.3;
}
@media only screen and (max-width: 767px) {
	.menu_area dl.alcohol_li {
	    width: 100%;
	}
	.menu_area dl.alcohol_li .wrap {
	    display: block;
		padding-bottom: 20px;
    	margin-bottom: 20px;
	}
	.menu_area dl.alcohol_li dt {
	    width: 100%;
	}
	.alcohol_li dd {
	    width: 100%;
	    margin-top: 0.5em;
	}
}

/*-------------- area01 ---------------*/
.area01{
background: #fff;
padding: 50px;
}
.area01 p{
line-height: 1.7;
}
.area01 .ttl{
font-size: 2rem;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 3px solid #f7f3ed;
}
@media only screen and (max-width: 767px) {
	.area01{
	padding: 15px;
	}
	.area01 p{
	line-height: 1.5;
	}
	.area01 .ttl{
	font-size: 1.6rem;
	margin-bottom: 10px;
	padding-bottom: 10px;
	}
}
/*================================ contact ===============================*/
.contact #header .title_h1 {
    font-size: 3.8rem;
}
#contact .area01{
	margin-top: 100px;
	padding: 40px 100px;
}
#contact .area01 .title_h3 {
    font-size: 3rem;
    line-height: 1;
}
#contact .area01 .wrap:not(.text_wrap .wrap){
	display: flex;
	gap: 100px;
    background: #fff;
}
.tel a {
    font-size: 5rem;
	line-height: 1;
	display: block;
}
.text_wrap dl .wrap {
    display: flex;
    gap: 15px;
	align-items: center;
    letter-spacing: 0.1em;
    margin: 5px 0;
}
.tel dl .wrap:last-child {
	gap:0;
}
.tel dl .wrap dd .fs_small {
	font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
	.contact #header .title_h1 {
	    font-size: 6vw;
	}
	#contact .inner{
		width: 100%;
		padding: 0 15px;
	}
	#contact .area01 {
		margin: 50px auto 0;
	    padding: 20px;
	}
	#contact .area01 .wrap:not(.text_wrap .wrap){
		flex-direction: column;
		gap:10px;
	}
	.tel a {
	    font-size: 4rem;
		margin-bottom: 5px;
	}
	.area01 .fs18{
		font-size: 1.4rem;
	}
}
/*========== faq ==========*/
#faq dl .wrap {
    margin-bottom: 2rem;
    padding: 40px;
	background: #efe8dc;
}
#faq dl .wrap dt, #faq dl .wrap dd {
    position: relative;
    padding-left: 30px;
}
#faq dl .wrap dt {
    font-size: 2rem;
    margin-bottom: 2rem;
}
#faq dl .wrap dt:before, #faq dl .wrap dd:before {
	position: absolute;
	display: block;
	content: 'Q.';
	top: 0;
	left: 0;
	width: 30px;
	height: 100%;
}
#faq dl .wrap dd:before {
	content: 'A.';
}
#faq dl .wrap dd{
	line-height: 1.7;
}
@media only screen and (max-width: 767px) {
	#faq .inner {
	    width: 100%;
	    padding: 0 15px;
	}
	#faq dl .wrap {
		margin-bottom: 1rem;
		padding: 20px;
		background: #efe8dc;
	}
	#faq dl .wrap dt {
	    font-size: 1.6rem;
		margin-bottom: 1rem;
	}
}

/*========== shop ==========*/
.shop #shop {
    padding: 100px 0 0;
}
.shop #access .iframe_wrap{
	height: 500px;
}
.access_wrap li:not(li li){
    position: relative;
	padding-bottom: 80px;
}
.access_wrap li:not(li li):after {
    position: absolute;
    display: block;
    content: '';
    left: 50%;
  	transform: translateX(-50%);
    bottom: 40px;
	width: 35px;
	height: 17px;
	border-right: 35px solid transparent;
	border-left: 35px solid transparent;
	border-top: 20px solid #a48e44;
	border-bottom: 0;
}
.access_wrap li:last-child:after{
	display: none;
}
.access_wrap .flex .image img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 767px) {
	.shop #shop {
	    padding: 10vw 0;
	}
	.shop #access .iframe_wrap{
		height: 300px;
	}
	#access .inner {
	    padding: 0 15px;
	}
	.access_wrap li:not(li li){
		padding-bottom: 50px;
	}
	.access_wrap li:not(li li):after {
		bottom: 20px;
		width: 25px;
		height: 12px;
		border-right: 25px solid transparent;
		border-left: 25px solid transparent;
		border-top: 14px solid #a48e44;
	}
}

/*========== policy ==========*/
.policy {
    padding: 0 15px;
    box-sizing: border-box;
}

/*========== sitemap ==========*/
.sitemap {
    padding: 100px 0 0;
}
.sitemap dl dt a {
    display: block;
	position: relative;
    width: 100%;
    padding: 15px 20px;
    font-size: 1.8rem;
    background: #fff;
	margin-bottom: 10px;
}
.sitemap dl dt a:after {
    position: absolute;
    right: 20px;
    top: 50%;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #a48e44;
    border-right: solid 2px #a48e44;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}
.sitemap dl dd {
    margin-left: 40px;
	padding: 10px 0 20px 30px;
	border-left: 1px dotted #a48e44;
    border-bottom: 1px dotted #a48e44;
	box-sizing: border-box;
}
.sitemap dl dd ul li a {
    position: relative;
    display: block;
    background: #fff;
	font-size: 1.5rem;
    border-radius: 30px;
    padding: 8px 50px 8px 30px;
    transition: 0.3s;
	box-sizing: border-box;
}
.sitemap dl dd ul li a:after {
    position: absolute;
    right: 20px;
    top: 50%;
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}
@media only screen and (max-width: 767px) {
	.sitemap {
	    padding: 50px 20px 0;
	    box-sizing: border-box;
	}
	.sitemap dl dt a {
	    padding: 10px 15px;
	    font-size: 1.6rem;
	}
	.sitemap dl dd {
	    margin-left: 20px;
	    padding: 10px 0 5px 15px;
	}
}

/*-------------- photo_gallery ---------------*/
/*
.photo_gallery{
margin: 20px 0;
}
*/
.photo_gallery > * img{
display: block;
width: 100%;
height: auto;
}
.photo_gallery > * a{
transition: 0.5s;
}
.photo_gallery > * a:hover{
opacity: 0.7;
}
.photo_gallery .txt_regular{
margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
.photo_gallery{
display: flex;
gap: 8px!important;
/*margin: 50px 0 20px;*/
}
.photo_gallery > *{
width: calc((100% - 8px) / 2)!important;
}
.photo_gallery .txt_regular{
line-height: 1.5;
font-size: max(2.4vw,12px);
}
}
