@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300..600&display=swap");
*, ::before, ::after { box-sizing: border-box; border-style: solid; border-width: 0; }

html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -webkit-tap-highlight-color: transparent; /* 3*/ }

body { margin: 0; }

main { display: block; }

p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0; }

h1, h2, h3, h4, h5, h6 { font-size: inherit; line-height: inherit; font-weight: inherit; margin: 0; }

ul, ol { margin: 0; padding: 0; list-style: none; }

dt { font-weight: bold; }

dd { margin-left: 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ border-top-width: 1px; margin: 0; clear: both; color: inherit; }

pre { font-family: monospace, monospace; /* 1 */ font-size: inherit; /* 2 */ }

address { font-style: inherit; }

a { background-color: transparent; text-decoration: none; color: inherit; }

abbr[title] { text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: inherit; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img, embed, object, iframe { vertical-align: bottom; }

button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; vertical-align: middle; color: inherit; font: inherit; background: transparent; padding: 0; margin: 0; outline: 0; border-radius: 0; text-align: inherit; }

[type="checkbox"] { -webkit-appearance: checkbox; appearance: checkbox; }

[type="radio"] { -webkit-appearance: radio; appearance: radio; }

button, input { /* 1 */ overflow: visible; }

button, select { /* 1 */ text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; -webkit-appearance: none; appearance: none; }

button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] { cursor: default; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

select::-ms-expand { display: none; }

option { padding: 0; }

fieldset { margin: 0; padding: 0; min-width: 0; }

legend { color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { outline-offset: -2px; /* 1 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

label[for] { cursor: pointer; }

details { display: block; }

summary { display: list-item; }

[contenteditable] { outline: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption { text-align: left; }

td, th { vertical-align: top; padding: 0; }

th { text-align: left; font-weight: bold; }

template { display: none; }

[hidden] { display: none; }

html { height: 100%; width: 100%; scroll-behavior: smooth; }

body { color: #000000; font-family: "Noto Sans JP", sans-serif; font-weight: 400; letter-spacing: 0.03em; background: #FDF6F0; line-height: 1; }

img { width: 100%; height: auto; vertical-align: top; }

a { text-decoration: none; transition: all 0.4s ease; }

h2, h3, h4 { font-family: "Cormorant Garamond", serif; font-weight: 600; }

button { font-family: "Noto Sans JP", sans-serif; font-weight: 500; }

.all_wrapper { overflow: hidden; }

@media screen and (min-width: 481px) { .spOnly { display: none; } }

@media screen and (max-width: 1023px) { .pcOnly { display: none; } }

h2.ttl { font-size: 36px; margin-left: 5%; }
@media screen and (min-width: 801px) { h2.ttl { width: 90%; max-width: 1200px; font-size: 56px; margin: auto; } }
h2.ttl span { display: block; font-family: "Noto Sans JP", sans-serif; font-size: 14px; font-weight: 400 !important; margin-top: 4px; }
@media screen and (min-width: 801px) { h2.ttl span { font-size: 18px; margin-top: 8px; } }

.btn-link { height: 60px; border: 1px solid #000; }
@media screen and (max-width: 800px) { .btn-link { width: 70%; max-width: 350px; margin: auto; } }
@media screen and (min-width: 801px) { .btn-link { display: inline-block; } }
.btn-link a { font-size: 16px; height: 100%; display: flex; justify-content: center; align-items: center; }
@media screen and (min-width: 801px) { .btn-link a { padding: 0 50px; } }
.btn-link a:hover { background: #000; color: #fff; }

.btn-reserve { height: 60px; border: 1px solid #000; background: #000; }
@media screen and (max-width: 800px) { .btn-reserve { width: 70%; max-width: 350px; margin: auto; } }
@media screen and (min-width: 801px) { .btn-reserve { display: inline-block; } }
.btn-reserve a { font-size: 16px; color: #fff; height: 100%; display: flex; justify-content: center; align-items: center; }
@media screen and (min-width: 801px) { .btn-reserve a { padding: 0 50px; } }
.btn-reserve a:hover { background: #1c4392; }

.lang-switcher { display: flex; align-content: center; align-items: center; width: 90px; height: 30px; }
@media screen and (min-width: 1024px) { .lang-switcher { width: 100px; } }
.lang-switcher button { width: 45px; height: 100%; background: #ccc; font-size: 16px; color: #888; text-align: center; }
@media screen and (min-width: 1024px) { .lang-switcher button { width: 50px; font-size: 17px; } }
.lang-switcher button.on { background: #fff; color: #000; cursor: inherit; }

/*
// scroll setting ========== 
html.lenis, html.lenis body { height: auto;
}

.lenis-smooth { scroll-behavior: auto !important;
}

.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain;
}

.lenis-stopped { overflow: hidden;
}

.lenis-scrolling iframe { pointer-events: none;
}
*/
header { position: fixed; top: 0; left: 0; z-index: 99; width: 100%; height: 60px; transition: all .5s; display: grid; grid-template-columns: 195px 1fr 60px; grid-template-rows: auto; }
@media screen and (min-width: 1024px) { header { height: 110px; grid-template-columns: 300px 1fr auto; } }
header.is-show { background: #0d1a15; }
@media screen and (min-width: 1024px) { header.is-show { height: 70px; } }
header .logo { grid-row: 1; grid-column: 1; padding: 10px 0 0 15px; }
@media screen and (min-width: 1024px) { header .logo { padding: 20px 0 0 30px; } }
header .logo img { transition: all .4s; height: 40px; width: auto; }
@media screen and (min-width: 1024px) { header .logo img { height: 70px; } }
header .lang-switcher { grid-row: 1; grid-column: 2; margin-left: auto; margin-top: 15px; }
@media screen and (min-width: 1024px) { header .lang-switcher { grid-column: 3; margin-left: 0; margin-top: 20px; } }
@media screen and (max-width: 1023px) { header .menu-panel { position: absolute; top: 60px; left: 0; width: 100%; height: calc(100dvh - 52px); z-index: 98; background: rgba(21, 1, 2, 0.8); clip-path: inset(0 0 100% 0); transition: clip-path .5s ease; border-top: solid 1px #FDF6F0; } }
@media screen and (min-width: 1024px) { header .menu-panel { grid-row: 1; grid-column: 2; margin-left: auto; margin-top: 24px; } }
header .menu-panel.open { clip-path: inset(0 0 0% 0); }
header .menu-panel.open a { opacity: 1; transform: none; }
header .menu-panel.open .it1 { transition-delay: .16s; }
header .menu-panel.open .it2 { transition-delay: .24s; }
header .menu-panel.open .it3 { transition-delay: .32s; }
header .menu-panel.open .it4 { transition-delay: .38s; }
@media screen and (min-width: 1024px) { header .global-nav { display: flex; align-items: center; } }
header .global-nav a { display: block; color: #fff; }
@media screen and (max-width: 1023px) { header .global-nav a { text-align: center; text-decoration: none; opacity: 0; transform: translateY(10px); transition: opacity .4s ease, transform .4s ease; margin: 50px 0; font-size: 18px; } }
@media screen and (min-width: 1024px) { header .global-nav a { margin-right: 50px; font-size: 17px; } }

@media screen and (min-width: 1024px) { .is-show .logo { padding: 7.5px 0 0 30px; } }
.is-show .logo img { height: 40px; width: auto; }
@media screen and (min-width: 1024px) { .is-show .logo img { height: 50px; } }
@media screen and (max-width: 1023px) { .is-show .menu-panel { background: rgba(13, 26, 21, 0.9); } }

.icon-menu { grid-column: 3; position: relative; z-index: 100; display: block; width: 25px; height: 20px; margin: 20px 0 0 20px; cursor: pointer; }
@media screen and (min-width: 1024px) { .icon-menu { display: none; } }
.icon-menu span { display: inline-block; position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff; transition: all .3s; }
.icon-menu span:open { background-color: #fff; }
.icon-menu span:nth-of-type(1) { top: 0; }
.icon-menu span:nth-of-type(2) { top: 9px; }
.icon-menu span:nth-of-type(3) { top: 18px; }
.icon-menu.open span:nth-of-type(1) { transform: translateY(9px) rotate(45deg); }
.icon-menu.open span:nth-of-type(2) { opacity: 0; }
.icon-menu.open span:nth-of-type(3) { transform: translateY(-9px) rotate(-45deg); }

footer { background: #F5EFEA; padding: 20px 0 40px 0; }
@media screen and (min-width: 1024px) { footer { padding: 40px 0; } }
footer .lang-switcher { margin-left: auto; margin-right: 15px; }
@media screen and (min-width: 1024px) { footer .lang-switcher { margin-right: 40px; } }
footer nav { width: 70%; max-width: 700px; margin: 20px auto; }
@media screen and (min-width: 801px) { footer nav { display: flex; align-items: center; margin: auto; } }
footer figure { max-width: 240px; margin: auto; }
@media screen and (min-width: 801px) { footer figure { width: 220px; margin: 0 50px 0 0; } }
footer ul { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 30px auto; }
@media screen and (min-width: 801px) { footer ul { margin: 0; } }
footer li { width: 48%; font-size: 15px; margin: 5px 0; }
@media screen and (min-width: 801px) { footer li { width: inherit; margin-right: 40px; font-size: 16px; } }
footer .copyright { text-align: center; font-size: 12px; }
@media screen and (min-width: 801px) { footer .copyright { font-size: 13px; margin-top: 40px; } }

/* ----- cookie-box ----- */
.cookie-box { display: none; position: fixed; z-index: 999; bottom: 0; left: 0; width: 100%; background-color: rgba(89, 59, 14, 0.9); font-family: "Noto Sans JP", sans-serif; font-weight: 400; letter-spacing: normal; line-height: normal; }

.cookie-box .cookie-box__inner { display: flex; justify-content: flex-start; align-items: center; max-width: 1280px; width: 100%; margin: 0 auto; padding: 38px 40px; }

.cookie-box .cookie-box__detail { width: calc(100% - (40px + 220px)); margin-right: 40px; }

.cookie-box .cookie-box__detail > *:first-child { margin-top: 0; }

.cookie-box .cookie-box__text { font-size: 14px !important; color: #fff; line-height: 1.6; }

.cookie-box .cookie-box__link { color: #fff; text-decoration: underline; }

.cookie-box .cookie-box__link:hover { text-decoration: none; }

.cookie-box .cookie-box__button { width: 220px; }

.cookie-box .cookie-box__accept { -webkit-appearance: none; appearance: none; display: block; width: 100%; text-align: center; padding: 8px 10px; border: 1px solid #e8e0be; background-color: #f9f6ef; cursor: pointer; transition: opacity 0.2s ease-out; }

.cookie-box .cookie-box__accept:hover { opacity: .7; }

.cookie-box .cookie-box__accept .cookie-box__accept__label { display: block; font-family: "Noto Sans JP", sans-serif; font-size: 14px !important; color: #410000; }

@media screen and (max-width: 768px) { .cookie-box { position: fixed; bottom: 0; left: 0; width: 100%; min-width: inherit; background-color: rgba(89, 59, 14, 0.9); }
  .cookie-box .cookie-box__inner { display: block; justify-content: flex-start; align-items: center; max-width: inherit; min-width: inherit; width: 100%; margin: 0 auto; padding: 25px 12px; }
  .cookie-box .cookie-box__detail { width: 100%; margin-right: 0; }
  .cookie-box .cookie-box__detail > *:first-child { margin-top: 0; }
  .cookie-box .cookie-box__text { font-size: 13px !important; color: #fff; }
  .cookie-box .cookie-box__link { color: #fff; text-decoration: underline; }
  .cookie-box .cookie-box__button { width: 200px; margin: 20px auto 0; }
  .cookie-box .cookie-box__accept { -webkit-appearance: none; appearance: none; display: block; width: 100%; text-align: center; padding: 8px 10px; border: 1px solid #e8e0be; background-color: #f9f6ef; cursor: pointer; transition: opacity 0.2s ease-out; }
  .cookie-box .cookie-box__accept .cookie-box__accept__label { font-size: 12px !important; color: #410000; } }
