@charset "UTF-8";
*, *::before, *::after {
	box-sizing: border-box;
}
img, svg {
	border: none;
	vertical-align: bottom;
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 1.0em;
}
li {
	list-style-type: none;
}
a {
	text-decoration: none;
	transition: 0.2s ease-in-out;
    cursor: pointer;
}
p a{
text-decoration: underline;
text-underline-offset:0.3em;
color: inherit;
}
a:hover {
	text-decoration: underline;
    text-underline-offset: 0.3em;
	backface-visibility: hidden;
    opacity: 0.7;
}
p a:hover {
	text-decoration: none;
}
a img {
	transition: 0.3s ease-in-out;
	outline: none;
	box-shadow: #000 0 0 0;
}
a:hover img {
	opacity: 0.7;
	backface-visibility: hidden;
}
ins, del {
	text-decoration: none;
}

/* 文字設定
*************************************************************/
h1 {
	font-size: inherit;
	font-weight: inherit;
}
p{
/* font-size: 0.875rem;
line-height: 3;
letter-spacing: 0.1em; */
/*text-align: justify;*/
/*word-break: keep-all;
overflow-wrap: break-word;*/
}
/* @media screen and (max-width:767px) {
p{line-height: 2.4;}
}
@media screen and (max-width:480px) {
p{line-height: 2;}
} */


/* 背景色設定 */
.bg-white {
	background-color: var(--white);
}
.bg-black {
	background-color: var(--black);
}
.bg-image {
	background: #000 no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 0;
	color: #fff;
}
.bg-image::after {
	z-index: -1;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
}
/* レイアウト
*************************************************************/
main {}
main section {
/* margin-bottom: 8em!important; */
position: relative;
}
.layout {
	width: 100%;
	max-width: 38rem;
	max-width: 1400px;
	padding-inline: 1.5rem;
	margin: auto;
	z-index: 10;
  position: relative;

  @media(max-width: 767px) {
    padding-inline: 1.2rem;
  }
  @media(max-width: 480px) {
    padding-inline: 1rem;
  }
}
.layout-full {
	width: 100%;
	padding-inline: 0;
	margin: auto;
	overflow: clip;
	z-index: 10;
  position: relative;
}
.center-layout {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	max-width: 38rem;
	max-width: 900px;
	height: 100%;
	margin: auto;
}


/* パーツ
*************************************************************/
.layout-wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.layout-1 {	width: 100%;}
.layout-2 {	width: calc(100% / 2);}
.layout-3 {	width: calc(100% / 3);}
.layout-3-2 {	width: calc(100% / 3 * 2);}
.layout-4 {	width: calc(100% / 4);}
.max-w1200 {
	max-width: 1200px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w1080 {
	max-width: 1080px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w1025 {
	max-width: 1025px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w1000 {
	max-width: 1000px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w996 {
	max-width: 996px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w960 {
	max-width: 960px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w925 {
	max-width: 925px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w840 {
	max-width: 840px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w600 {
	max-width: 600px !important;
	margin-left: auto;
	margin-right: auto;
}
.max-w480 {
	max-width: 480px !important;
	margin-left: auto;
	margin-right: auto;
}
.layout-leftcenter {
	display: table;
	margin-left: auto;
	margin-right: auto;
}
a.underline {border-bottom: 1px solid;}
a.underline:hover {text-decoration: none; border-bottom: none;}
p a.underline::before {
	content: '\f0da';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.3em;
}
.n-margin-top {margin-top: -1px;}
.n-margin-bottom {margin-bottom: -1px;}
.inline-block {display: inline-block;}
.sp {display: none;}

.list-mark{
display: inline-block;
padding-left:1em;
text-indent: -1em;
}
.indent{
display: block;
text-indent: 1.34em;
}

@media screen and (max-width: 768px) {
	.pc {display: none;}
	.sp {display: block;}
}
@media screen and (min-width:768px) {
	.br-767 {display: none;}
}
@media screen and (min-width:641px) {
	.br-640 {display: none;}
}
@media screen and (min-width:481px) {
	.br-480 {display: none;}
}
.tac {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.tal {text-align: left !important;}
.tar {text-align: right !important;}
.fw-400 {font-weight: 400;}
.fw-500 {font-weight: 500;}
.fw-600 {font-weight: 600;}
.fw-700 {font-weight: 700;}
.m-0 {margin: 0 !important;}
.mt-0 {margin-top: 0 !important;}
.mt-0_5 {margin-top: 0.5em !important;}
.mt-1 {margin-top: 1em !important;}
.mt-1_5 {margin-top: 1.5em !important;}
.mt-2 {margin-top: 2em !important;}
.mt-3 {margin-top: 3em !important;}
.mt-4 {margin-top: 4em !important;}
.mt-5 {margin-top: 5em !important;}
.mt-6 {margin-top: 6em !important;}
.mt-7 {margin-top: 7em !important;}
.mt-8 {margin-top: 8em !important;}
.mb-0 {margin-bottom: 0 !important;}
.mb-0_2 {margin-bottom: 0.2em !important;}
.mb-0_5 {margin-bottom: 0.5em !important;}
.mb-1 {margin-bottom: 1em !important;}
.mb-1_5 {margin-bottom: 1.5em !important;}
.mb-2 {margin-bottom: 2em !important;}
.mb-3 {margin-bottom: 3em !important;}
.mb-4 {margin-bottom: 4em !important;}
.mb-5 {margin-bottom: 5em !important;}
.mb-6 {margin-bottom: 6em !important;}
.mb-7 {margin-bottom: 7em !important;}
.mb-8 {margin-bottom: 8em !important;}
.mr-0 {margin-right: 0 !important;}
.mr-0_5 {margin-right: 0.5em !important;}
.mr-1 {margin-right: 1em !important;}
.mr-1_5 {margin-right: 1.5em !important;}
.mr-2 {margin-right: 2em !important;}
.mr-3 {margin-right: 3em !important;}
.mr-4 {margin-right: 4em !important;}
.mr-5 {margin-right: 5em !important;}
.ml-0 {margin-left: 0 !important;}
.ml-0_5 {margin-left: 0.5em !important;}
.ml-1 {margin-left: 1em !important;}
.ml-1_5 {margin-left: 1.5em !important;}
.ml-2 {margin-left: 2em !important;}
.ml-3 {margin-left: 3em !important;}
.ml-4 {margin-left: 4em !important;}
.ml-5 {margin-left: 5em !important;}
.mp-0 {padding: 0 !important;}
.pt-0 {padding-top: 0 !important;}
.pt-0_5 {padding-top: 0.5em !important;}
.pt-1 {padding-top: 1em !important;}
.pt-1_5 {padding-top: 1.5em !important;}
.pt-2 {padding-top: 2em !important;}
.pt-3 {padding-top: 3em !important;}
.pt-4 {padding-top: 4em !important;}
.pt-5 {padding-top: 5em !important;}
.pt-6 {padding-top: 6em !important;}
.pt-7 {padding-top: 7em !important;}
.pt-8 {padding-top: 8em !important;}
.pb-0 {padding-bottom: 0 !important;}
.pb-0_2 {padding-bottom: 0.2em !important;}
.pb-0_5 {padding-bottom: 0.5em !important;}
.pb-1 {padding-bottom: 1em !important;}
.pb-1_5 {padding-bottom: 1.5em !important;}
.pb-2 {padding-bottom: 2em !important;}
.pb-3 {padding-bottom: 3em !important;}
.pb-4 {padding-bottom: 4em !important;}
.pb-5 {padding-bottom: 5em !important;}
.pb-6 {padding-bottom: 6em !important;}
.pb-7 {padding-bottom: 7em !important;}
.pb-8 {padding-bottom: 8em !important;}
.pr-0 {padding-right: 0 !important;}
.pr-0_5 {padding-right: 0.5em !important;}
.pr-1 {padding-right: 1em !important;}
.pr-1_5 {padding-right: 1.5em !important;}
.pr-2 {padding-right: 2em !important;}
.pr-3 {padding-right: 3em !important;}
.pr-4 {padding-right: 4em !important;}
.pr-5 {padding-right: 5em !important;}
.pl-0 {padding-left: 0 !important;}
.pl-0_5 {padding-left: 0.5em !important;}
.pl-1 {padding-left: 1em !important;}
.pl-1_5 {padding-left: 1.5em !important;}
.pl-2 {padding-left: 2em !important;}
.pl-3 {padding-left: 3em !important;}
.pl-4 {padding-left: 4em !important;}
.pl-5 {padding-left: 5em !important;}
.pc-only {display: block !important;}
.sp-only {display: none !important;}
@media screen and (max-width:599px) {
	.pc-only {display: none !important;}
	.sp-only {display: block !important;}
}

.aspect-ratio-1_1 img{
aspect-ratio: 1/1;
object-fit: cover;
}
.aspect-ratio-4_3 img{
aspect-ratio: 4/3;
object-fit: cover;
}
.aspect-ratio-3_2 img{
aspect-ratio: 3/2;
object-fit: cover;
}
.aspect-ratio-16_9 img{
aspect-ratio: 16/9;
object-fit: cover;
}

iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
}

/* ボタン共通 */
.btn {
	width: 100%;
	max-width: 330px;
	margin: 4em auto 0;
	/*padding: 0 5px;*/
}
.btn a {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: 70px;
	margin: 0;
	padding: 0.8em 1.6em;
	position: relative;
	text-align: center;
	font-size: 1rem;
    font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
	font-weight: 500;
	line-height: 1.4;
    letter-spacing: 0.2em;
	text-decoration: none;
	border-radius: 50px;
	background: var(--gradation);
	color: var(--white);
	transition: 0.3s ease-in-out;
	z-index: 0;
    
    background-position: 0% 50%;
    background-size: 100% auto;
}
.btn a span {
display: block;
font-size: 0.9em;
font-weight: 400;
letter-spacing: 0.2em;
}
.btn a:hover{
    background-position: 0% 50%;
    background-size: 170% auto;
    opacity: 0.8;
}

@media screen and (max-width: 767px) {
	.btn a {font-size: 1em;}
}
@media screen and (max-width: 640px) {
	.btn {
		max-width: 400px;
        padding: 0 1em;
        margin-top: 3em;
	}
    .btn a {
        padding: 0.7em 1.4em;
        font-size: 0.875em;
	}
}




/* 予約 ボタン */
a.btn-reserve {
  width: 100%;
  /* height: 108px; */
  background-image: url("../img/buttons/button_menu.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0.7em 1.5em;
  /* position: relative; */
  text-decoration: none;
  color: var(--white);
  font-size: 1.1rem;
  font-size: clamp(1.08rem, 0.973rem + 0.533vw, 1.44rem);
  font-weight: 600;
  border-radius: 3px;

  :hover { text-decoration: none!important; }
}
.btn-reserve span {
  display: flex;
  font-size: 0.85rem;
  font-weight: 500;
}
.btn-reserve span img {
  width: 12px;
  margin-left: 0.2em;
}

/* お問い合わせ ボタン */
a.btn-contact {
  width: 100%;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0.5em 1.5em;
  /* position: relative; */
  text-decoration: none;
  color: var(--white);
  font-size: 1.1rem;
  font-size: clamp(1.08rem, 0.973rem + 0.533vw, 1.44rem);
  font-size: clamp(0.9rem, 0.811rem + 0.444vw, 1.2rem);
  font-weight: 600;
  border: 1px solid;
  border-radius: 3px;

  :hover { text-decoration: none!important; }
}
.btn-contact span {
  display: flex;
  font-size: 0.85rem;
  font-weight: 500;
}
.btn-contact span img {
  width: 12px;
  margin-left: 0.2em;
}



/* =========================
      HEADER
========================= */
.site-header {
  display: flex;
  align-items: flex-end;
  gap: 1em;
  padding: 1.5em 1em;
  max-width: 1800px;
  margin: 0 auto;
}
.header-inner {
  display: flex;
  align-items: center;
  gap: 0.7em;
}

.header-logo { margin-right: auto;}
.header-logo img {
  max-width: 350px;
  max-width: 100%;

  @media(max-width: 767px) {
    max-width: 250px;
  }
}

@media(max-width: 767px) {
  .site-header a.btn-reserve {
    padding: 0.5em 1em;
    font-size: 0.95rem;
  }
  .site-header .btn-reserve span {
    font-size: 0.7em;
  }
  .site-header .btn-reserve span img {
    width: 8px;
  }
}

/* .header-reserve {
  max-width: 200px;
} */

/* RESERVATIONS（ヘッダー） */
/* .header-reserve-btn {
  width: 350px;
  height: 108.45px;
  margin-left: 50px;
  background-image: url("../img/buttons/button_header.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  color: var(--white);
  flex-shrink: 0;
}
.reserve-main {
  font-weight: 900;
  font-size: 22px;
  text-align: center;
}
.reserve-sub {
  font-size: 12px;
  text-align: center;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.reserve-sub img {
  width: 14px;
  margin-left: 6px;
} */

/* PCナビ */
.header-nav {
  /* margin-left: 50px; */

  @media screen and (max-width: 1200px) {
    display: none;
  }
}

.header-nav ul {
  display: flex;
  align-items: center;
  gap: 1em;
  margin: 0;
  padding: 0;
  text-align: center;
}

.header-nav a {
  text-decoration: none;
  color: var(--text-main);
  font-weight: 700;
  position: relative;
  list-style: none;
}

.nav-item {
  position: relative;
  padding-right: 24px;
  line-height: 1.2;
}
.nav-item a{ /* line-height: 1.2; */}

.nav-item::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 18px;
  background: var(--text-main);
}
.nav-item.external { padding-right: 0;}
.nav-item.external::after { display: none;}


/* Language */
.header-lang {
  /* margin-left: auto; */
  position: relative;
}
.lang-btn {
  border: 2px solid var(--text-main);
  background: transparent;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: var(--text-main);
  font-weight: 700;
}
.lang-icon { width: 18px;}

.lang-menu {
  display: none;
  position: absolute;
  top: 40px;
  right: 0;
  background: var(--white);
  border: 2px solid var(--text-main);
  width: 200px;
  z-index: 10;
}
.lang-menu a {
  display: block;
  padding: 8px 14px;
  color: var(--text-main);
  text-decoration: none;
  border-bottom: 2px solid #eee;
  font-size: 14px;
}
.lang-menu a:last-child { border-bottom: none;}
.lang-menu.open { display: block;}

/* =========================
      FOOTER
========================= */
footer {
  background: var(--black);
  color: var(--white);
  text-align: center;
  padding: 40px 0 0;
}

/* .footer-reserve {
  margin-bottom: 40px;
}

.btn-footer {
  width: 650px;
  height: 106px;
  background-image: url("../img/buttons/button_footer.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: var(--white);
}

.btn-footer span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-weight: bold;
  text-align: center;
}

.btn-footer .main {
  top: 28px;
  font-size: 22px;
}

.btn-footer .sub {
  bottom: 20px;
  font-size: 14px;
}

.btn-footer .sub img {
  width: 14px;
  margin-left: 6px;
} */

.footer-navi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5em 0;
  margin-bottom: 1em;
}

.footer-navi li a {
  /* margin: 0 8px; */
  padding: 0 1em;
  /* border: 1px solid var(--white);*/
  font-size: 1em;
  color: var(--white);
  border-right: 1px solid var(--white);

  @media(max-width: 787px) {
    /* padding: 0 0.5em; */
  }
}
.footer-navi li:last-child a { border-right: none;}

.footer-sns {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.footer-sns li a {
  margin: 0 8px;
  padding: 4px 8px;
  /* border: 1px solid var(--white);*/
  font-size: 1.5em;
  color: var(--white);
}

.footer-copy {
  background: var(--red-main);
  padding: 12px 0;
  font-size: 14px;
}