@charset "utf-8";

/* A Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

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

    Googlefont

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

.sawarabi-gothic-regular {
  font-family: "Sawarabi Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}


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

    タグ共通設定

********************************************************************* */
li {
  list-style: none;
}

a {
  text-decoration: none;
}

a:hover, button:hover {
  opacity: 0.7;
}

img, iframe {
  vertical-align: middle;
}

img, video {
  max-width: 100%;
}

button, input, select, textarea {
  outline: none;
  font-family: inherit;
}

button:has(img) {
  background-color: transparent;
  border: none;
}

::placeholder {
  color: #BFBFBF;
}

input:focus::placeholder, textarea:focus::placeholder {
  color: transparent;
}

input[type=date]::-webkit-inner-spin-button, input[type=datetime]::-webkit-inner-spin-button, input[type=datetime-local]::-webkit-inner-spin-button, input[type=month]::-webkit-inner-spin-button, input[type=week]::-webkit-inner-spin-button {
  display: none;
}

li, p, dl {
  line-height: 1.5;
}

p + p {
  margin-top: 1em;
}

*, *::before, *::after {
  box-sizing: border-box;
}

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

    サイト全体設定

********************************************************************* */
html {
  font-size: 62.5%; /* base font-size:10px */
  font-family: -apple-system, BlinkMacSystemFont, "Sawarabi Gothic", "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  overflow-x: hidden;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
  letter-spacing: 0.1pt;
  font-size: clamp(12px, 3.25vw, 20px);
  color: #4f4225;
}

/* IE */
@media all and (-ms-high-contrast: none) {
  html {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  }
  body {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/* 共通クラス */
@media screen and (min-width: 768px) {
 .pchidden {
	 display: none;
 }
}

/* メイン画像 */
.main-image {
	background: url(/assets/img/bg_main.jpg) center center no-repeat;
	background-size: cover;
	padding: 3em;
}
.main-image h2 {
	width: 50%;
	max-width: 260px;
	margin: 0 auto 2em;
}
.main-image h1 {
	width: 90%;
	margin: 0 auto 1em;
	color: #ffffff;
	font-size:1.5em;
	letter-spacing: .3em;
	text-align: center;
}
.main-image h3 {
	width: 35%;
	max-width: 131px;
	margin: 0 auto 2em;
}

.reserve-btn {	
	width: 80%;
	max-width: 291px;
	margin: 0 auto 2em;
}

/* ショップ紹介 */
.shop {
	background: #f7f6f2;
}
.shop .shop-exp {
	width: 90%;
	max-width: 1000px;
	margin: -2.5em auto 5em;
	background: #fff;
	box-shadow: 5px 5px 5px 0 #ccc;
	padding: 2em 2.3em 1em;
	z-index: 9;
	background: url(/assets/img/bg_info.png) center top no-repeat #fff;
	background-size: contain;
}
.pagetitle {
	text-align: center;
	font-size:1.8em;
	font-weight: bold;	
	letter-spacing: .3em;
	color: #059f71;
	margin: 0 auto 1em;
}
.shop .shop-exp h2 {
	border-bottom: 1px solid #999;
	padding-bottom:.5em;
}
.shop .shop-exp h3 {
	text-align: center;
	font-size:1.2em;
	font-weight: bold;
	letter-spacing: .3em;
	margin: 0 auto 1.5em;
}
.shop .shop-exp h5 {
	text-align: center;
	font-size:1em;
	font-weight: normal;
	letter-spacing: .1em;
	margin: 0 auto 3em;
}
.shop .shop-exp h4 {
	text-align: center;
	font-size:2em;
	color: #059f71;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 0 auto 1em;
}
.shop .shop-exp .post-title {
	display: block;
	font-size: .6em;
	color: #4f4225;
	margin: 0 auto .5em;
}
.shop .shop-exp .english-name {
	display: block;
	font-size: .4em;
	margin: 0 auto;
}
.shop .selfphoto {
	width: 80%;
	max-width: 290px;
	margin: 0 auto 1.5em;
}
.shop p {
	font-size:1.1em;
	margin: 0 auto 1.5em;
}
.shop .shop-exp .shop-exp-footer {
	width: 30%;
	max-width: 140px;
	margin: .5em auto;
}
@media screen and (min-width: 768px) {
	.shop .shop-exp {
		padding: 3em 3.5em 1em;
	}	
}
@media screen and (min-width: 1000px) {
	.shop p {
		text-align: center;
	}
}

/* メニューのご紹介 */
.menu {
	margin-bottom: 3em;
}
.menu .menu-features {
	padding :2em 0;
}
.menu .menu-features ul {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	padding-inline-start: 0px;
	color: #fff;
}
.menu .menu-features ul li {
	width: 100%;
	padding: 1.5em 2.5em 2em;
	/* background: #059f71;	色変更、念のため保管 */
	background: #76b19b;
}
.menu .menu-features ul .bgred {
	background: #d87975;
}
.menu .menu-features ul .bgorange {
	background: #e9aa73;
}
.menu .menu-features ul .bgwhite {
	background: #ffffff;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-end;
}
.menu .menu-features ul li h3 {
	margin: 0 auto 1em;
	width: 100%;
	text-align: center;
	font-size: 1.5em;
	letter-spacing: .2em;
	font-weight: bold;
}
.menu .menu-features ul li .menu-exp {
	margin: 1.5em auto 0;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #fff;
}
.menu .menu-features ul li .price-box {
	width: 100%;
	padding: .8rem 0;
	border-bottom: 1px solid #fff;
}
.menu .menu-features ul li .price-box .prise {
	font-size: 1.1em;
	margin-bottom: .3em;
}
.menu .menu-features ul li .price-box p {
	text-align: right;
}
.menu .menu-features ul .bgwhite .reserve-btn {
	margin-top: 3em;
}
.menu .menu-features ul .bgwhite .flame-set {
	width: 80%;
	max-width: 380px;
	text-align: right;
	margin: 3em 0 0 auto;
}
@media screen and (min-width: 768px) {
	.menu .menu-features ul li {
	width: 50%;
	}
}

/* 所在 */
.location {
	background: #f7f6f2;
	margin: 3em 0 0;
}
.location .location-info {
	width: 93%;
	max-width: 1100px;
	margin: 5em auto;
	background: url(/assets/img/bg_address.png) center bottom no-repeat #fff;
	background-size: contain;
	padding: 1em;
	border: 1px solid #cebfa1;
	text-align: center;
	position: relative;
}
.location .location-info-lefticon {
	position: absolute;
	top: -5px;
	left: -5px;
	width: 30px;
}
.location .location-info-righticon {
	position: absolute;
	bottom: -5px;
	right: -5px;
	width: 30px;
}
.location .location-info h2 {
	width: 50%;
	max-width: 200px;
	margin: 1em auto 1.5em;
}
.location .location-info h3 {
	margin: 0 auto 1em;
	font-size:1.6em;
	font-weight: bold;
	letter-spacing: .1em;
}
.location .location-info h4 {
	font-weight: normal;
	font-size: 1.2em;
	margin: 0 auto 1.5em;
}
.location .location-info p {
	margin-bottom: 3em;
}
.location .location-info .phone-number {
	margin: 0 auto 1em;
	font-size:2em;
	font-weight: bold;
	letter-spacing: .1em;
	color: #059f71;
}
.location .location-info .phone-number a {
	color: #059f71;
}
.location .location-info .phone-number .phone-notice {	
	display: block;
	font-size: .5em;
	margin: 0 auto;
	font-weight: normal;
}
.location .location-info ul {	
	width: 70%;
	max-width: 200px;
	margin: 0 auto 5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-inline-start: 0px;
}
.location .location-info ul li {
	max-width: 50px;
}

@media screen and (min-width: 768px) {
	.location .location-info-lefticon {
		top: -10px;
		left: -10px;
		width: 60px;
	}
	.location .location-info-righticon {
		bottom: -10px;
		right: -10px;
		width: 60px;
	}
	.location .location-info ul li {
		max-width: 70px;
	}
}

/* アクセス */
.access {
}
.access .access-inner {
	margin: 0 auto;	
}
.access .access-inner iframe {
	width: 100%;
	border: none;
	min-height: 400px;
}

@media screen and (min-width: 768px) {
	.access .access-inner {
	}
	.access .access-inner iframe {
	}
}

/* フッター */
.ftr {
}
.ftr .copyright {
	padding: .7em;
	background: #065f44;
	color: #fff;
	text-align: center;
}