@charset "UTF-8";
/* Scss Document */
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Alegreya+Sans:wght@300;400&family=Baskervville&family=Noto+Serif+JP&family=Roboto+Condensed:wght@300&display=swap");
/*layout*/
.mt0 { margin-top: 0px !important; }

.mb0 { margin-bottom: 0px !important; }

.pt0 { padding-top: 0px !important; }

.pl0 { padding-left: 0px !important; }

.pb0 { padding-bottom: 0px !important; }

.mt5 { margin-top: 5px !important; }

.mb5 { margin-bottom: 5px !important; }

.pt5 { padding-top: 5px !important; }

.pl5 { padding-left: 5px !important; }

.pb5 { padding-bottom: 5px !important; }

.mt10 { margin-top: 10px !important; }

.mb10 { margin-bottom: 10px !important; }

.pt10 { padding-top: 10px !important; }

.pl10 { padding-left: 10px !important; }

.pb10 { padding-bottom: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mb15 { margin-bottom: 15px !important; }

.pt15 { padding-top: 15px !important; }

.pl15 { padding-left: 15px !important; }

.pb15 { padding-bottom: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mb20 { margin-bottom: 20px !important; }

.pt20 { padding-top: 20px !important; }

.pl20 { padding-left: 20px !important; }

.pb20 { padding-bottom: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mb25 { margin-bottom: 25px !important; }

.pt25 { padding-top: 25px !important; }

.pl25 { padding-left: 25px !important; }

.pb25 { padding-bottom: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mb30 { margin-bottom: 30px !important; }

.pt30 { padding-top: 30px !important; }

.pl30 { padding-left: 30px !important; }

.pb30 { padding-bottom: 30px !important; }

.mt35 { margin-top: 35px !important; }

.mb35 { margin-bottom: 35px !important; }

.pt35 { padding-top: 35px !important; }

.pl35 { padding-left: 35px !important; }

.pb35 { padding-bottom: 35px !important; }

.mt40 { margin-top: 40px !important; }

.mb40 { margin-bottom: 40px !important; }

.pt40 { padding-top: 40px !important; }

.pl40 { padding-left: 40px !important; }

.pb40 { padding-bottom: 40px !important; }

.mt45 { margin-top: 45px !important; }

.mb45 { margin-bottom: 45px !important; }

.pt45 { padding-top: 45px !important; }

.pl45 { padding-left: 45px !important; }

.pb45 { padding-bottom: 45px !important; }

.mt50 { margin-top: 50px !important; }

.mb50 { margin-bottom: 50px !important; }

.pt50 { padding-top: 50px !important; }

.pl50 { padding-left: 50px !important; }

.pb50 { padding-bottom: 50px !important; }

.mt55 { margin-top: 55px !important; }

.mb55 { margin-bottom: 55px !important; }

.pt55 { padding-top: 55px !important; }

.pl55 { padding-left: 55px !important; }

.pb55 { padding-bottom: 55px !important; }

.mt60 { margin-top: 60px !important; }

.mb60 { margin-bottom: 60px !important; }

.pt60 { padding-top: 60px !important; }

.pl60 { padding-left: 60px !important; }

.pb60 { padding-bottom: 60px !important; }

.mt65 { margin-top: 65px !important; }

.mb65 { margin-bottom: 65px !important; }

.pt65 { padding-top: 65px !important; }

.pl65 { padding-left: 65px !important; }

.pb65 { padding-bottom: 65px !important; }

.mt70 { margin-top: 70px !important; }

.mb70 { margin-bottom: 70px !important; }

.pt70 { padding-top: 70px !important; }

.pl70 { padding-left: 70px !important; }

.pb70 { padding-bottom: 70px !important; }

.mt75 { margin-top: 75px !important; }

.mb75 { margin-bottom: 75px !important; }

.pt75 { padding-top: 75px !important; }

.pl75 { padding-left: 75px !important; }

.pb75 { padding-bottom: 75px !important; }

.mt80 { margin-top: 80px !important; }

.mb80 { margin-bottom: 80px !important; }

.pt80 { padding-top: 80px !important; }

.pl80 { padding-left: 80px !important; }

.pb80 { padding-bottom: 80px !important; }

.mt85 { margin-top: 85px !important; }

.mb85 { margin-bottom: 85px !important; }

.pt85 { padding-top: 85px !important; }

.pl85 { padding-left: 85px !important; }

.pb85 { padding-bottom: 85px !important; }

.mt90 { margin-top: 90px !important; }

.mb90 { margin-bottom: 90px !important; }

.pt90 { padding-top: 90px !important; }

.pl90 { padding-left: 90px !important; }

.pb90 { padding-bottom: 90px !important; }

.mt95 { margin-top: 95px !important; }

.mb95 { margin-bottom: 95px !important; }

.pt95 { padding-top: 95px !important; }

.pl95 { padding-left: 95px !important; }

.pb95 { padding-bottom: 95px !important; }

.mt100 { margin-top: 100px !important; }

.mb100 { margin-bottom: 100px !important; }

.pt100 { padding-top: 100px !important; }

.pl100 { padding-left: 100px !important; }

.pb100 { padding-bottom: 100px !important; }

/* リセット
========================================================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; text-decoration: none; }
a.notel { cursor: text; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

img, iframe { vertical-align: bottom; max-width: 100%; }

/* 基本設定
========================================================= */

html{
	margin-top: 32px !important;
	overflow-x: hidden;
}
body { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; font-weight: 500; line-height: 2; color: #000; font-size: clamp(13px, 0.8vw, 16px); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: 'palt'; overflow-x: clip; padding: 87px 0 0 0; }
@media (max-width: 767px) { body { font-size: 13px; } }

main:after { content: ''; display: block; clear: both; width: 100%; height: 1px; margin-top: -1px; }

* { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; font-weight: 400; color: #000; line-height: 1.6; }

p { margin: 0; line-height: 2; }
p + p { margin-top: 2em; }
.t_white p { color: #FFF; }

ul, dl, figure { margin: 0; padding: 0; }

li { list-style: none; }

a { color: #000; transition: .4s; }
a:hover { color: #333333; text-decoration: none; }
a:hover img { opacity: 1; }

em { font-style: normal; }

small { font-size: 87.5%; }

.chu { font-size: max(12 / 16 * 100%, 11px); line-height: 2; }

.sup { font-size: 0.8em; vertical-align: top; }

table { border-collapse: collapse; }

::-moz-selection { color: #fff; background-color: #d7c897; }

::selection { color: #fff; background-color: #d7c897; }

/* 表示・非表示
----------------------------------------------- */
.hidden { display: none; }

@media (max-width: 1024px) { .hidden-tab-wide { display: none !important; } }

@media (max-width: 959px) { .hidden-tab { display: none !important; } }

@media (max-width: 767px) { .hidden-sp { display: none !important; } }

@media (max-width: 479px) { .hidden-ss { display: none !important; } }

@media (min-width: 1025px) { .visible-tab-wide { display: none !important; } }

@media (min-width: 960px) { .visible-tab { display: none !important; } }

@media (min-width: 768px) { .visible-sp { display: none !important; } }

@media (min-width: 480px) { .visible-ss { display: none !important; } }

/* 基本 body
========================================================= */
.com-wrapper-01 { padding-left: 70px; padding-right: 70px; }
@media (max-width: 959px) { .com-wrapper-01 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-wrapper-02 { max-width: 1340px; padding-left: 70px; padding-right: 70px; margin-left: auto; margin-right: auto; }
@media (max-width: 959px) { .com-wrapper-02 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-wrapper-03 { max-width: 1390px; padding-left: 70px; padding-right: 70px; margin-left: auto; margin-right: auto; }
@media (max-width: 959px) { .com-wrapper-03 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-wrapper-04 { max-width: 1460px; padding-left: 70px; padding-right: 70px; margin-left: auto; margin-right: auto; }
@media (max-width: 959px) { .com-wrapper-04 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-wrapper-05 { max-width: 1510px; padding-left: 70px; padding-right: 70px; margin-left: auto; margin-right: auto; }
@media (max-width: 959px) { .com-wrapper-05 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-container-01 { max-width: 1200px; box-sizing: content-box; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
@media (max-width: 959px) { .com-container-01 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-container-02 { max-width: 1000px; box-sizing: content-box; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
@media (max-width: 959px) { .com-container-02 { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

.com-container-03 { max-width: 1200px; margin-right: auto; margin-left: auto; }

.com-container-04 { width: 100%; overflow: hidden; }

[class*="com-container-"] [class*="com-container-"] { padding-right: 0; padding-left: 0; }

/* セレクトボックス共通デザイン
----------------------------------------------- */
.sel { font-size: 1rem; display: inline-block; width: 100%; background-color: transparent; position: relative; cursor: pointer; text-align: center; }
.sel::before { content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 7px 3.5px 0 3.5px; border-color: #000000 transparent transparent transparent; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.sel.active::before { transform: translateY(-50%) rotateX(-180deg); }
.sel select { position: absolute; top: 0; left: 0; opacity: 0; width: 100%; height: 100%; z-index: -1; }

.sel__placeholder { display: block; padding: 0.2em 0.5em; text-align: left; pointer-events: none; user-select: none; visibility: visible; }
.sel__placeholder::before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; padding: 0.2em 0.5em; content: attr(data-placeholder); visibility: hidden; }

.sel.active .sel__placeholder { visibility: hidden; }
.sel.active .sel__placeholder::before { visibility: visible; }

.sel__box { position: absolute; top: calc(100% + 4px); left: -4px; display: none; list-style-type: none; text-align: left; font-size: 1em; background-color: #FFF; border: 1px solid rgba(0, 0, 0, 0.7); width: calc(100% + 8px); box-sizing: border-box; z-index: 2; }

.sel.active .sel__box { display: block; animation: fadeInUp 500ms; }

.sel__box__options { display: list-item; padding: 0.5em 1em; user-select: none; }
.sel__box__options::after { content: 'aaa'; font-size: 0.5em; margin-left: 5px; display: none; }
.sel__box__options.selected::after { display: inline; }
.sel__box__options:hover { background-color: #000; }

/* ===== Keyframes ===== */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: none; } }
@keyframes fadeOut { from { opacity: 1; }
  to { opacity: 0; } }
/* com-modal-close
========================================================= */
.com-modal-close { width: 36px; flex-shrink: 0; height: 21px; display: flex; flex-direction: column; justify-content: center; cursor: pointer; position: absolute; top: 17px; right: calc((60/2000*100%) + env(safe-area-inset-right)); }
.com-modal-close:before, .com-modal-close:after { content: ''; display: block; width: 36px; height: 1px; background-color: #000; transform-origin: center center; }
.com-modal-close:before { transform: rotate(-25deg); }
.com-modal-close:after { margin-top: -2px; transform: rotate(25deg); }

/* hidden-menu
========================================================= */
#hidden-menu { position: fixed; top: 0; left: 0; z-index: 102; width: 100%; height: 100vh; height: 100dvh; background-color: #FFF; overflow-y: scroll; display: none; flex-direction: column; }

.hidden-menu_header { display: grid; place-content: center; height: 11.2559241706vh; height: 11.2559241706dvh; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_header { height: 95px; } }
.hidden-menu_header .logo { max-width: 53.3333333333%; margin-left: auto; margin-right: auto; }

.hidden-menu_main-menu, .hidden-menu_sub-menu { display: grid; }
.hidden-menu_main-menu li a, .hidden-menu_sub-menu li a { position: relative; z-index: 1; display: grid; height: 100%; place-content: center; place-items: center; text-align: center; }
.hidden-menu_main-menu li a img, .hidden-menu_sub-menu li a img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }
.hidden-menu_main-menu li a:before, .hidden-menu_sub-menu li a:before { content: ''; display: block; position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.2); }
.hidden-menu_main-menu li a img, .hidden-menu_sub-menu li a img { z-index: -1; }
.hidden-menu_main-menu li a span, .hidden-menu_sub-menu li a span { display: block; color: #FFF; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: 400; line-height: 1; position: relative; z-index: 1; }
.hidden-menu_main-menu li a span.jp, .hidden-menu_sub-menu li a span.jp { margin-top: min(20 / 1688 * 100vh, 10px); margin-top: min(20 / 1688 * 100dvh, 10px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_main-menu li a span.jp, .hidden-menu_sub-menu li a span.jp { margin-top: 10px; } }

.hidden-menu_main-menu { height: 26.6587677725vh; height: 26.6587677725dvh; grid-template: auto / 1fr 1fr; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_main-menu { height: 332px; } }
.hidden-menu_main-menu span.en { font-size: min(40 / 1688 * 100vh, 20px); font-size: min(40 / 1688 * 100dvh, 20px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_main-menu span.en { font-size: 20px; font-size: 1.25rem; } }
.hidden-menu_main-menu span.jp { font-size: min(24 / 1688 * 100vh, 12px); font-size: min(24 / 1688 * 100dvh, 12px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_main-menu span.jp { font-size: 12px; font-size: 0.75rem; } }

.hidden-menu_reservarion-buttons { display: grid; grid-template-columns: 1fr 1fr; column-gap: min(20 / 1688 * 100vh, 10px); column-gap: min(20 / 1688 * 100dvh, 10px); margin-top: min(55 / 1688 * 100vh, 27px); margin-top: min(55 / 1688 * 100dvh, 27px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_reservarion-buttons { margin-top: 27px; column-gap: 10px; } }
.hidden-menu_reservarion-buttons a { display: grid; place-content: center; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: 400; line-height: 1; color: #FFF; height: min(70 / 1688 * 100vh, 35px); height: min(70 / 1688 * 100dvh, 35px); font-size: min(26 / 1688 * 100vh, 13px); font-size: min(26 / 1688 * 100dvh, 13px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_reservarion-buttons a { font-size: 13px; font-size: 0.8125rem; height: 35px; } }
.hidden-menu_reservarion-buttons a.stay { background: #97b77b; }
.hidden-menu_reservarion-buttons a.restaurant { background: #dd7263; }

.hidden-menu_sub-menu { grid-template: auto / 1fr 1fr 1fr; height: 8.8862559242vh; height: 8.8862559242dvh; margin-top: 1.1848341232vh; margin-top: 1.1848341232dvh; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sub-menu { height: 75px; margin-top: 20px; } }
.hidden-menu_sub-menu span.en { font-size: min(30 / 1688 * 100vh, 15px); font-size: min(30 / 1688 * 100dvh, 15px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sub-menu span.en { font-size: 15px; font-size: 0.9375rem; } }
.hidden-menu_sub-menu span.jp { font-size: min(20 / 1688 * 100vh, 10px); font-size: min(20 / 1688 * 100dvh, 10px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sub-menu span.jp { font-size: 10px; font-size: 0.625rem; } }

.hidden-menu_text-menu { margin-top: min(70 / 1688 * 100vh, 35px); margin-top: min(70 / 1688 * 100dvh, 35px); display: grid; grid-template: auto / 1fr 1fr; gap: min(40 / 1688 * 100vh, 20px) min(30 / 1688 * 100vh, 15px); gap: min(40 / 1688 * 100dvh, 20px) min(30 / 1688 * 10d0vh, 15px); line-height: 1; font-size: min(26 / 1688 * 100vh, 13px); font-size: min(26 / 1688 * 100dvh, 13px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_text-menu { margin-top: 35px; gap: 20px 15px; font-size: 13px; font-size: 0.8125rem; } }
.hidden-menu_text-menu li:nth-child(2n+1) { text-align: right; }
.hidden-menu_text-menu .button-arrow-wrap { display: inline-block; width: 10px; height: 10px; font-size: 0; overflow: hidden; position: relative; margin-left: 5px; flex-shrink: 0; }
.hidden-menu_text-menu .button-arrow { width: 10px; height: 10px; stroke: #000; fill: #000; stroke-width: 1px; position: relative; }
@media (max-width: 959px) { .hidden-menu_text-menu .button-arrow { font-size: 14px; font-size: 0.875rem; } }
.hidden-menu_text-menu .button-arrow:last-child { left: -100%; }
.hidden-menu_text-menu a { display: inline-flex; align-items: center; }
.hidden-menu_text-menu a:hover .button-arrow { transform: translate3d(100%, -100%, 0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
.hidden-menu_text-menu a:hover .button-arrow:last-child { transition-delay: 0.1s; }
.hidden-menu_text-menu a:hover:after { animation: line-out 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }

.hidden-menu_kosenkaku { text-align: center; margin-top: min(70 / 1688 * 100vh, 35px); margin-top: min(70 / 1688 * 100dvh, 35px); }

.hidden-menu_sns { display: flex; place-content: center; margin-top: min(60 / 1688 * 100vh, 30px); margin-top: min(60 / 1688 * 100dvh, 30px); column-gap: min(30 / 1688 * 100vh, 15px); column-gap: min(30 / 1688 * 100dvh, 15px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sns { margin-top: 30px; column-gap: 15px; } }
.hidden-menu_sns li { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.hidden-menu_sns li a { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.hidden-menu_sns svg { fill: #d4d4d4; width: min(36 / 1688 * 100vh, 18px); width: min(36 / 1688 * 100dvh, 18px); height: min(36 / 1688 * 100vh, 18px); height: min(36 / 1688 * 100dvh, 18px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sns svg { width: 18px; height: 18px; } }
.hidden-menu_sns img { height: min(36 / 1688 * 100vh, 18px); height: min(36 / 1688 * 100dvh, 18px); }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_sns img { height: 18px; } }

.hidden-menu_search-button { margin-top: auto; margin-bottom: 0; height: max(100 / 1688 * 100vh, 50px); height: max(100 / 1688 * 100dvh, 50px); flex-shrink: 0; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_search-button { height: 50px; } }
.hidden-menu_search-button a { position: relative; z-index: 1; display: grid; height: 100%; place-content: center; place-items: center; text-align: center; padding: 0 40px; background-color: #01583c; }
.hidden-menu_search-button a img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }
.hidden-menu_search-button a .icon-blank { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); }
.hidden-menu_search-button a .button-arrow-wrap { display: block; width: max(36 / 1688 * 100vh, 18px); width: max(36 / 1688 * 100dvh, 18px); height: max(26 / 1688 * 100vh, 13px); height: max(26 / 1688 * 100dvh, 13px); font-size: 0; overflow: hidden; position: relative; margin-left: 10px; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_search-button a .button-arrow-wrap { width: 18px; height: 13px; } }
.hidden-menu_search-button a .button-arrow { width: max(36 / 1688 * 100vh, 18px); width: max(36 / 1688 * 100dvh, 18px); height: max(26 / 1688 * 100vh, 13px); height: max(26 / 1688 * 100dvh, 13px); stroke: #FFF; fill: #FFF; position: relative; }
@media screen and (orientation: landscape) and (max-width: 959px) { .hidden-menu_search-button a .button-arrow { width: 18px; height: 13px; } }
@media (max-width: 959px) { .hidden-menu_search-button a .button-arrow { font-size: 14px; font-size: 0.875rem; } }
.hidden-menu_search-button a .button-arrow:last-child { left: -100%; }
.hidden-menu_search-button a:hover .button-arrow { transform: translate3d(100%, -100%, 0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
.hidden-menu_search-button a:hover .button-arrow:last-child { transition-delay: 0.1s; }
.hidden-menu_search-button a:hover:after { animation: line-out 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }
.hidden-menu_search-button a span { display: block; color: #FFF; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: 400; line-height: 1; }
.hidden-menu_search-button a span.jp { color: #FFF; font-size: 13px; font-size: 0.8125rem; /*font-size: min(26/1688*100vh, 13px);
font-size: min(26/1688*100dvh, 13px);
@media screen and (orientation: landscape) and (max-width: 959px){
	@include font(13);
}*/ }
.hidden-menu_search-button a span.bestrate { color: #7c7b7b; margin-top: 4px; font-size: 15px; font-size: 0.9375rem; /*margin-top: min(8/1688*100vh, 4px);
margin-top: min(8/1688*100dvh, 4px);
font-size: min(30/1688*100vh,15px);
font-size: min(30/1688*100dvh,15px);
@media screen and (orientation: landscape) and (max-width: 959px){
	margin-top: 4px;
	@include font(15);
}*/ }

/* ========================================
	Search
======================================== */
/*ui*/
.ui-widget { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; }

.kt-unselectable { pointer-events: none; }

.ui-datepicker-today .ui-state-default { border: 0; }

.ui-state-default { text-align: center !important; border: none !important; background: transparent !important; }
.ui-state-default.ui-state-selected { color: #FFF; background: #796a4f !important; }
.ui-state-default.ui-state-active { color: #FFF; background: #cfa04f !important; }

.ui-widget-content { background: #d7c897; }
@media (max-width: 743px) { .ui-widget-content { background: #FFF; } }

.ui-datepicker-inline { border: none !important; }

.ui-datepicker { width: 100% !important; text-align: center; padding: 0; }
@media (max-width: 743px) { .ui-datepicker { max-width: 500px; margin-left: auto; margin-right: auto; } }
.ui-datepicker .ui-datepicker-header { padding: 0; background: transparent !important; border: none !important; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-title { clear: both; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-size: 20px; line-height: 1; text-align: center; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { width: 30px; height: 30px; border: none; background: url("../images/common/search_arrow.svg") no-repeat center center/11px; display: block; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: none; }
.ui-datepicker .ui-datepicker-prev { left: 15px; top: 0; }
.ui-datepicker .ui-datepicker-next { right: 15px; top: 0; transform: scale(-1, 1); }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 0; cursor: pointer; }
.ui-datepicker .ui-datepicker-prev-hover { left: 15px; }
.ui-datepicker .ui-datepicker-next-hover { right: 15px; }
.ui-datepicker .ui-datepicker-calendar { width: 100%; margin-top: 30px; margin-bottom: 0; }
.ui-datepicker .ui-datepicker-calendar th, .ui-datepicker .ui-datepicker-calendar td { font-size: 15px; font-size: 0.9375rem; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; font-weight: 500; text-align: center; padding: 0 5px; line-height: 1; }
.ui-datepicker .ui-datepicker-calendar td span, .ui-datepicker .ui-datepicker-calendar td a { padding: 12px 0; }
.ui-datepicker .ui-datepicker-calendar thead th { padding-bottom: 10px; }

.search-close { position: absolute; width: 20px; height: 20px; top: 40px; left: 30px; display: flex; flex-direction: column; justify-content: center; cursor: pointer; }
.search-close:before, .search-close:after { content: ''; display: block; width: 24px; height: 1px; background-color: #000; transform-origin: center center; }
.search-close:before { transform: rotate(45deg); }
.search-close:after { transform: rotate(-45deg); margin-top: -1px; }
@media (max-height: 390px) { .search-close { top: 20px; left: auto; right: 20px; } }

.search_box { display: flex; }
@media (min-width: 744px) { .search_box { justify-content: space-between; /*> * {
	max-width: 50%;
}*/ } }
@media (max-width: 743px) { .search_box { flex-direction: column; align-items: center; justify-content: space-between; height: 100%; } }
.search_box .date dl { display: flex; align-items: center; color: #000;  /* &.active {
	dt {
	  &::after {
		opacity: 1;
	  }
	} }*/ }
.search_box .date dl:last-of-type { margin-top: 25px; }
@media (max-width: 743px) { .search_box .date dl:last-of-type { margin-top: min(25 / 1688 * 100vh, 25px); } }
.search_box .date dt { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; line-height: 1; width: 130px; font-size: 20px; flex-shrink: 0; }
@media (max-width: 1279px) { .search_box .date dt { width: 5.5em; font-size: min(20 / 1279 * 100vw, 20px); } }
@media (max-width: 959px) { .search_box .date dt { width: min(130 / 959 * 100vw, 130px); font-size: min(20 / 959 * 100vw, 20px); } }
@media (max-width: 743px) { .search_box .date dt { width: 100px; font-size: 16px; font-size: 1rem; } }
.search_box .date dd { width: 100%; font-size: 25px; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; pointer-events: none; }
@media (max-width: 1199px) { .search_box .date dd { font-size: min(25 / 1199 * 100vw, 25px); } }
@media (max-width: 959px) { .search_box .date dd { font-size: min(25 / 959 * 100vw, 25px); } }
@media (max-width: 743px) { .search_box .date dd { font-size: 20px; font-size: 1.25rem; } }
.search_box .date dd::placeholder { color: inherit; }
.search_box .people_num { display: flex; justify-content: flex-end; align-items: center; }
@media (max-width: 743px) { .search_box .people_num { justify-content: center; } }
.search_box .people_num span { flex-shrink: 0; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-size: 20px; }
@media (max-width: 1199px) { .search_box .people_num span { font-size: min(20 / 1199 * 100vw, 20px); } }
@media (max-width: 959px) { .search_box .people_num span { font-size: min(20 / 959 * 100vw, 20px); } }
@media (max-width: 743px) { .search_box .people_num span { font-size: 16px; font-size: 1rem; } }
.search_box .people_num input { padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.search_box .people_num .people-counter { width: 1.4em; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; text-align: right; transform: translateY(-4px); border: none; line-height: 1; padding: 0 6px; margin-left: 35px; font-size: 35px; }
@media (max-width: 1279px) { .search_box .people_num .people-counter { margin-left: 0; } }
@media (max-width: 1199px) { .search_box .people_num .people-counter { transform: translateY(calc(min(4/1199*-100vw,-4px))); padding: 0 min(6 / 1199 * 100vw, 6px); font-size: min(35 / 1199 * 100vw, 35px); } }
@media (max-width: 959px) { .search_box .people_num .people-counter { transform: translateY(calc(min(4/959*-100vw,-4px))); padding: 0 min(6 / 959 * 100vw, 6px); font-size: min(35 / 959 * 100vw, 35px); } }
@media (max-width: 743px) { .search_box .people_num .people-counter { font-size: 28px; font-size: 1.75rem; margin-left: 30px; } }
.search_box .people_num .counter { margin-left: 35px; display: flex; }
@media (max-width: 1279px) { .search_box .people_num .counter { margin-left: min(20 / 1270 * 100vw, 20px); } }
@media (max-width: 959px) { .search_box .people_num .counter { margin-left: min(35 / 959 * 100vw, 35px); } }
@media (max-width: 743px) { .search_box .people_num .counter { margin-left: 30px; } }
.search_box .people_num .counter .btnspinner { border: 1px solid #000; color: #000; font-size: 25px; width: 31px; height: 31px; line-height: 0; text-align: center; display: flex; justify-content: center; align-items: center; cursor: pointer; }
@media (max-width: 1199px) { .search_box .people_num .counter .btnspinner { font-size: min(25 / 1199 * 100vw, 25px); width: min(31 / 1199 * 100vw, 31px); height: min(31 / 1199 * 100vw, 31px); } }
@media (max-width: 959px) { .search_box .people_num .counter .btnspinner { font-size: min(25 / 959 * 100vw, 25px); width: min(31 / 959 * 100vw, 25px); height: min(31 / 959 * 100vw, 25px); } }
@media (max-width: 743px) { .search_box .people_num .counter .btnspinner { font-size: 22px; font-size: 1.375rem; width: 25px; height: 25px; } }
.search_box .people_num .counter .btnspinner + .btnspinner { margin-left: 5px; }
@media (max-width: 1199px) { .search_box .people_num .counter .btnspinner + .btnspinner { margin-left: min(5 / 1199 * 100vw, 5px); } }
@media (max-width: 959px) { .search_box .people_num .counter .btnspinner + .btnspinner { margin-left: min(5 / 959 * 100vw, 5px); } }
@media (max-width: 743px) { .search_box .people_num .counter .btnspinner + .btnspinner { margin-left: 15px; } }
.search_box .reservation-menu { display: flex; flex-wrap: wrap; margin-top: 40px; justify-content: center; }
.search_box .reservation-menu li { font-size: 14px; font-size: 0.875rem; line-height: 2.2857142857; }
.search_box .reservation-menu li:after { content: '/'; display: inline-block; vertical-align: middle; margin-left: .5em; margin-right: .5em; }
.search_box .reservation-menu li:last-child:after { display: none; }

.search_button { border: 0; background-color: #000; color: #FFF; padding: 10px; width: 100%; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: 400; font-size: 18px; font-size: 1.125rem; line-height: 1.7777777778; letter-spacing: 3px; height: 60px; display: flex; justify-content: center; align-items: center; text-align: center; cursor: pointer; transition: .5s; }
.search_button span { display: block; }
.search_button:hover { background-color: #796a4f; }

#search-panel { position: fixed; left: 0; bottom: 0; width: calc(100% - 250px); margin-left: 250px; background-color: #d7c897; z-index: 102; display: none; }
@media (max-width: 959px) { #search-panel { width: 100%; margin-left: 0; } }
@media (max-width: 743px) { #search-panel { width: 100%; height: 100vh; height: 100dvh; background-color: #FFF; overflow-y: scroll; } }
@media (max-width: 743px) { #search-panel .search_form { display: flex; flex-direction: column; justify-content: space-between; height: 100%; } }
@media (min-width: 744px) { #search-panel .logo { display: none; } }
@media (max-width: 743px) { #search-panel .logo { display: block; max-width: 53.3333333333vw; margin-left: auto; margin-right: auto; margin-top: 18px; margin-bottom: min(70 / 1688 * 100vh, 35px); margin-bottom: min(70 / 1688 * 100dvh, 35px); } }
#search-panel .inputs { display: flex; justify-content: space-between; width: 100%; }
@media (max-width: 743px) { #search-panel .inputs { margin-top: auto; flex-direction: column; height: 100%; }
  #search-panel .inputs > div[class^="col-"] { padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); flex-shrink: 0; } }
@media (min-width: 744px) { #search-panel .inputs .col-01 { width: 37.2881355932%; padding-right: 40px; } }
@media (min-width: 744px) { #search-panel .inputs .col-02 { width: min(100%, 650px); padding-top: 30px; } }
@media (max-width: 743px) { #search-panel .inputs .col-02 { margin-top: min(70 / 1688 * 100vh, 35px); margin-top: min(70 / 1688 * 100dvh, 35px); flex-grow: 1; } }
@media (min-width: 744px) { #search-panel .inputs .col-02 .col-02-01 { flex-shrink: 0; } }
@media (max-width: 743px) { #search-panel .inputs .col-02 .col-02-01 { margin-bottom: auto; } }
@media (min-width: 744px) { #search-panel .inputs .col-02 .col-02-02 { padding-left: 1em; } }
@media (max-width: 743px) { #search-panel .inputs .col-02 .col-02-02 { margin-top: min(70 / 1688 * 100vh, 35px); margin-top: min(70 / 1688 * 100dvh, 35px); display: flex; flex-direction: column; height: 100%; justify-content: space-between; flex-grow: 1; } }
@media (max-width: 743px) { #search-panel .inputs .peaople-num { margin-bottom: min(70 / 1688 * 100vh, 35px); margin-bottom: min(70 / 1688 * 100dvh, 35px); } }
@media (max-width: 743px) { #search-panel .inputs .reservation-menu { margin-top: auto; margin-bottom: min(60 / 1688 * 100dh, 30px); margin-bottom: min(60 / 1688 * 100dvh, 30px); } }
#search-panel .search_button { margin-top: 70px; }
@media (min-width: 744px) { #search-panel .search_button.sp { display: none; } }
@media (max-height: 390px) and (orientation: landscape) { #search-panel .search_button { margin-top: 30px; height: 40px; } }
@media (max-width: 743px) { #search-panel .search_button { margin-top: auto; margin-bottom: 0; flex-direction: column; line-height: 1; }
  #search-panel .search_button.tab_pc { display: none; }
  #search-panel .search_button span { color: #FFF; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: 400; line-height: 1; font-size: 28.5px; font-size: 1.78125rem; }
  #search-panel .search_button span.bestrate { color: #707070; margin-top: 4px; font-size: 15px; font-size: 0.9375rem; font-weight: 500; } }

/*search_content*/
#search_content { max-width: 1250px; margin-left: auto; margin-right: auto; padding: 50px 50px 50px 20px; padding-top: 50px; padding-bottom: 50px; padding-left: 20px; padding-right: 50px; }
@media (max-width: 959px) { #search_content { padding-right: calc(50px + env(safe-area-inset-right)); padding-left: calc(20px + env(safe-area-inset-left)); } }
@media (max-height: 390px) and (orientation: landscape) { #search_content { padding-top: 20px; padding-bottom: 20px; } }
@media (max-width: 743px) { #search_content { padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; display: flex; flex-direction: column; height: 100%; } }
#search_content #datepicker { position: static; margin-bottom: 10px; }
#search_content .tel { text-align: center; width: 1190px; margin-top: 40px; }
#search_content .tel p { line-height: 1; }
#search_content .tel .title { font-size: 13px; margin-right: 10px; }
#search_content .tel .no { font-size: 19px; }
#search_content .tel .time { font-size: 11px; margin-left: 10px; }
#search_content .tel p.jpn .no { font-weight: bold; }
#search_content .tel p.eng { margin-top: 20px; }
#search_content .tel p.eng .no { font-size: 13px; }


/* header
========================================================= */

#header{
	height: 80px;
}
.header-menu { width: 100%; display: flex; align-items: flex-end; justify-content: space-between; padding: 0 3%; height: 100%; }
@media (max-width: 959px) { .header-menu { align-items: center; } }
.header-menu .logo { height: 100%; margin-right: 20px; display: flex; justify-content: center; align-items: flex-end; margin-bottom: 20px; }
@media (max-width: 1200px) { .header-menu .logo { margin-right: 1.6666666667%; } }
.header-menu .logo a { text-align: center; }
@media (max-width: 959px) { .header-menu .logo img { max-height: 27px; } }

#gnav { width: 100%; margin-bottom: 20px; }
#gnav ul { display: flex; justify-content: flex-end; }
#gnav ul li { margin-right: 1.0638297872%; flex-shrink: 0; width: 110px; }
@media (max-width: 1536px) { #gnav ul li { margin-right: 0; } }
@media (max-width: 1366px) { #gnav ul li { width: min(98 / 1366 * 100vw, 95px); } }
#gnav ul li:last-child { margin-right: 0; }
#gnav a { color: #FFF; display: flex; justify-content: flex-start; align-items: center; flex-direction: column; text-align: center; height: 30px; overflow: hidden; }
#gnav a span { display: block; line-height: 30px; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; transition: filter 1s; transition-delay: filter .1s; }
#gnav a .en { -webkit-filter: blur(3px); filter: blur(3px); letter-spacing: 0.1em; font-size: 18px; font-size: 1.125rem; }
@media (max-width: 1366px) { #gnav a .en { font-size: min(16 / 1366 * 100vw, 16px); } }
#gnav a .jp { font-size: 17px; font-size: 1.0625rem; }
@media (max-width: 1366px) { #gnav a .jp { font-size: min(15 / 1366 * 100vw, 16px); } }
#gnav a:hover span { transform: translateY(-30px); }
#gnav a:hover .jp { -webkit-filter: blur(3px); filter: blur(3px); }
#gnav a:hover .en { -webkit-filter: blur(0); filter: blur(0); }

#gnav-map { width: 18px; flex-shrink: 0; display: flex; align-items: center; margin-left: auto; }
#gnav-map img { display: block; }

#language { margin-left: 3%; flex-shrink: 0; position: relative; z-index: 102; margin-bottom: 15px; }
@media (max-width: 959px) { #language { margin-left: auto; margin-bottom: 0; } }

#lang-btn { display: block; cursor: pointer; position: relative; display: flex; align-items: center; z-index: 103; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-size: 18px; font-size: 1.125rem; color: #FFF; }
@media (max-width: 1365px) { #lang-btn { font-size: min(16 / 1365 * 100vw, 16px); } }
@media (max-width: 959px) { #lang-btn { font-size: 16px; font-size: 1rem; } }
#lang-btn:after { content: ''; display: inline-block; width: 0; height: 0; border-style: solid; border-width: 7px 3.5px 0 3.5px; border-color: #ffffff transparent transparent transparent; margin-left: 5px; transition: all 0.3s; }
#lang-btn.active:after { transform: rotate(-180deg); }
#lang-btn + .lang-choice { position: absolute; top: 30px; right: 0; width: 120px; display: none; }
#lang-btn + .lang-choice ul li:last-child { border-bottom: none; }
#lang-btn + .lang-choice ul li a { width: 100%; display: flex; justify-content: center; align-items: center; color: #fff; font-size: clamp(13px, 0.8vw, 16px); text-align: center; background-color: rgba(0, 0, 0, 0.8); padding: 5px 10px; }
@media (max-width: 767px) { #lang-btn + .lang-choice ul li a { padding: 0 10px; height: 50px; font-size: 13px; } }
@media (max-height: 479px) { #lang-btn + .lang-choice ul li a { max-height: calc((88vh - 30px)/8); } }
#lang-btn + .lang-choice ul li a:hover { background-color: #cfa04f; }
#lang-btn + .lang-choice ul li.rf a { font-family: 'Roboto Condensed', sans-serif; }

#menu-button { width: 36px; flex-shrink: 0; height: 21px; display: flex; flex-direction: column; justify-content: center; cursor: pointer; }
@media (max-width: 959px) { #menu-button { margin-left: 20px; } }
#menu-button span { display: block; width: 36px; height: 1px; background-color: #fff; transform-origin: center center; }
#menu-button span + span { margin-top: 9px; }

/* contents
========================================================= */
#contents { position: relative; display: flex; width: 100%; }
@media (max-width: 959px) { #contents { overflow-x: clip; } }

#side-menu { position: -webkit-sticky; position: sticky; top: 0; bottom: 0; left: 0; width: 250px; height: 100vh; flex-grow: 0; flex-shrink: 0; background-color: #FFF; padding-top: min(200 / 1350 * 100vh, 200px); display: flex; flex-direction: column; z-index: 2; }
#side-menu .shadow { box-shadow: 0px 18px 18px 5px rgba(151, 150, 150, 0.15); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; mix-blend-mode: multiply; }

.side-menu-navi { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-size: clamp(13px, 1.8518518519vh, 20px); font-size: clamp(13px, 1.8518518519dvh, 20px); padding: 0 min(30 / 1080 * 100vh, 30px); padding: 0 min(30 / 1080 * 100dvh, 30px); }
.side-menu-navi li { border-bottom: 1px solid rgba(179, 179, 179, 0.66); /*+ li, .sub li:first-child{
	margin-top: min(20/1350*100vh, 20px);
	margin-top: min(20/1350*100dvh, 20px);
}*/ }
.side-menu-navi li:first-child { border-top: 1px solid rgba(179, 179, 179, 0.66); }
.side-menu-navi li a { position: relative; padding-left: 1.5em; line-height: 1.5625; letter-spacing: .1em; display: inline-block; padding-top: 0.8em; padding-bottom: 0.8em; width: 100%; }
.side-menu-navi li a:before { content: '▪'; display: block; position: absolute; left: 0; top: 0.8em; opacity: 0; transition: .5s; }
.side-menu-navi li.current > a:before { opacity: 1; }
.side-menu-navi li:not(.current) .sub li.current > a:before { opacity: 0 !important; }
.side-menu-navi li .sub-trigger { display: flex; align-items: center; }
.side-menu-navi li .sub-trigger-button { flex-grow: 0; flex-shrink: 0; margin-left: .5em; }
.side-menu-navi li .sub-trigger-button:before, .side-menu-navi li .sub-trigger-button:after { content: ''; display: block; width: 14px; height: 1px; background-color: #000; }
.side-menu-navi li .sub-trigger-button:before { transform: rotate(90deg); transition: .3s; }
.side-menu-navi li .sub-trigger-button:after { margin-top: -1px; }
.side-menu-navi li .sub-trigger-button.open:before { transform: rotate(0); }
.side-menu-navi li .sub { padding-left: 1em; display: none; font-weight: 400; }
.side-menu-navi li .sub li:last-child { border-bottom: 0; }

.side-menu-sns { text-align: center; margin-top: min(50 / 1350 * 100vh, 50px); }
.side-menu-sns ul { display: flex; justify-content: center; }
.side-menu-sns li + li { margin-left: .5em; }
.side-menu-sns li a { display: inline-block; font-size: 0; background-repeat: no-repeat; background-position: center center; background-size: contain; }
.side-menu-sns li a svg { width: 20px; height: 20px; fill: #d4d4d4; transition: .5s; }
.side-menu-sns li a:hover svg { fill: #686567; }

.side-menu-search { margin-top: auto; margin-bottom: 0; }
.side-menu-search a { display: flex; justify-content: center; align-items: center; background-color: #01583c; color: #FFF; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-size: 18px; font-size: 1.125rem; height: min(145 / 1350 * 100vh, 145px); transition: background-color .5s; }
.side-menu-search a .button-arrow-wrap { display: block; width: 13px; height: 14px; font-size: 0; overflow: hidden; position: relative; margin-left: 10px; }
.side-menu-search a .button-arrow-wrap__blank { width: 17px; height: 17px; }
.side-menu-search a .button-arrow { width: 13px; height: 14px; stroke: #FFF; fill: #FFF; position: relative; }
@media (max-width: 959px) { .side-menu-search a .button-arrow { font-size: 14px; font-size: 0.875rem; } }
.side-menu-search a .button-arrow__blank { width: 17px; height: 17px; }
.side-menu-search a .button-arrow:last-child { left: -100%; }
.side-menu-search a:hover { background-color: #97b77b; }
.side-menu-search a:hover .button-arrow { transform: translate3d(100%, -100%, 0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
.side-menu-search a:hover .button-arrow:last-child { transition-delay: 0.1s; }
.side-menu-search a:hover:after { animation: line-out 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }

#main{
    width: 100%;
    margin: 30px auto 0 auto;
		float: none;
}
#main-container { width: 100%; background-color: #FFF; overflow-x: clip; }
@media (min-width: 960px) { #main-container.has-side-menu { width: calc(100% - 250px); } }

/* ボタン
========================================================= */
.com-btn-01 { font-size: clamp(14px, 0.9vw, 18px); padding-bottom: 10px; line-height: 1; position: relative; overflow-x: clip; display: inline-block; }
.com-btn-01 .button-arrow-wrap { display: inline-block; width: 13px; height: 14px; font-size: 0; overflow: hidden; position: relative; }
.com-btn-01 .button-arrow-wrap__blank { width: 17px; height: 17px; }
.com-btn-01 .button-arrow { width: 13px; height: 14px; stroke: #000; fill: #000; position: relative; }
@media (max-width: 959px) { .com-btn-01 .button-arrow { font-size: 14px; font-size: 0.875rem; } }
.com-btn-01 .button-arrow__blank { width: 17px; height: 17px; }
.com-btn-01 .button-arrow:last-child { left: -100%; }
.com-btn-01:after { content: ''; display: block; width: 100%; height: 1px; background-color: #000; position: absolute; top: auto; bottom: 0; left: 0; transform: translateX(0%); animation: line-in 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }
.t_white .com-btn-01 { color: #FFF; }
.t_white .com-btn-01 .button-arrow { stroke: #FFF; fill: #FFF; }
.t_white .com-btn-01:after { background-color: #FFF; }
.com-btn-01:hover .button-arrow { transform: translate3d(100%, -100%, 0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
.com-btn-01:hover .button-arrow:last-child { transition-delay: 0.1s; }
.com-btn-01:hover:after { animation: line-out 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }

@keyframes line-out { 100% { transform: translateX(100%); } }
@keyframes line-in { 0% { transform: translateX(-100%); }
  100% { transform: translateX(0%); } }
#room-modal-button { width: 80px; height: 100px; background: #000; opacity: .7; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; text-align: center; color: #fff; font-size: 18px; display: flex; justify-content: center; align-items: center; position: fixed; top: 120px; right: 0; z-index: 99; cursor: pointer; transition: .3s; }
@media (max-width: 767px) { #room-modal-button { width: 50px; font-size: 16px; } }
#room-modal-button:hover { opacity: 1; width: 100px; }
@media (max-width: 767px) { #room-modal-button:hover { width: 70px; } }
#room-modal-button p { line-height: 1.2; }

/* footer
========================================================= */
footer { margin-top: 180px; position: relative; padding-top: 100px; padding-bottom: 100px; /*@media (max-width:959px){
	padding-top: 60px;
}
@media (max-width: 479px){
	padding-top: 100px;
}*/ }

.menu_changeArea #footerArea #footer{
	width: 1027px !important;
}
@media (max-width: 959px){
	#headerArea{
		width: 100%;
	}
	#header{
		display: none;
	}
	.menu_changeArea #footerArea #footer{
		width: 100% !important;
	}
	#content{
		width: 100%;
	}
	#footerArea #copy p{
		width: 100%;
	}
	#footerArea #copy{
		text-align: center;
	}
}
footer a, footer p { color: #FFF; }
footer .pagetop { position: fixed; bottom: 40px; right: 40px; z-index: 100; width: 43px; }
@media (max-width: 959px) { footer .pagetop { bottom: 80px; right: calc(15px + env(safe-area-inset-right)); width: 33px; } }
footer .pagetop:hover { animation: shake .3s linear; }
footer .pagetop:hover img { opacity: 1; }
footer .footer-container { display: flex; padding-right: 135px; }
@media (max-width: 959px) { footer .footer-container { padding-right: calc(100px + env(safe-area-inset-right)); } }
@media (min-width: 768px) { footer .footer-container { flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; } }
@media (max-width: 767px) { footer .footer-container { flex-direction: column; padding-right: calc(50px + env(safe-area-inset-right)); padding-left: calc(50px + env(safe-area-inset-left)); } }
footer .container-01 { flex-shrink: 0; }
@media (max-width: 767px) { footer .container-01 .logo { text-align: center; }
  footer .container-01 .logo img { max-width: 180px; } }
@media (max-width: 767px) { footer .container-02 { margin-top: 30px; text-align: center; } }
footer .container-02 p { line-height: 2.25; font-size: 16px; font-size: 1rem; }
footer .container-02 p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2.25) * .5em); content: ""; }
footer .container-02 p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2.25) * .5em); content: ""; }
@media (max-width: 959px) and (orientation: landscape) { footer .container-02 p { font-size: 14px; font-size: 0.875rem; } }
@media (max-width: 767px) { footer .container-02 p { font-size: 14px; font-size: 0.875rem; justify-content: center; } }
@media (min-width: 751px) { footer .container-02 .adress a[href*="tel:"] { pointer-events: none; cursor: default; text-decoration: none; } }
footer .footer-kosenkaku { margin-top: 40px; }
@media (max-width: 959px) { footer .footer-kosenkaku { margin-top: 20px; } }
footer .footer-nav { margin-top: 40px; }
@media (min-width: 768px) { footer .footer-nav { max-width: 1000px; padding-right: 40px; } }
@media (max-width: 959px) { footer .footer-nav { margin-top: 20px; } }
footer .footer-nav ul { display: flex; flex-wrap: wrap; margin-left: -0.7142857143em; margin-right: -0.7142857143em; line-height: 2.25; font-size: 16px; font-size: 1rem; }
footer .footer-nav ul::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2.25) * .5em); content: ""; }
footer .footer-nav ul::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2.25) * .5em); content: ""; }
@media (max-width: 959px) and (orientation: landscape) { footer .footer-nav ul { font-size: 14px; font-size: 0.875rem; } }
@media (max-width: 767px) { footer .footer-nav ul { font-size: 14px; font-size: 0.875rem; justify-content: center; } }
footer .footer-nav ul li { margin-left: 0.7142857143em; margin-right: 0.7142857143em; }
footer .footer-nav ul .button-arrow-wrap { display: inline-block; width: 10px; height: 10px; font-size: 0; overflow: hidden; position: relative; margin-left: 5px; }
footer .footer-nav ul .button-arrow { width: 10px; height: 10px; stroke: #FFF; fill: #FFF; stroke-width: 1px; position: relative; }
@media (max-width: 959px) { footer .footer-nav ul .button-arrow { font-size: 14px; font-size: 0.875rem; } }
footer .footer-nav ul .button-arrow:last-child { left: -100%; }
footer .footer-nav ul a:hover { color: #FFF; text-decoration: underline; }
footer .footer-nav ul a:hover .button-arrow { transform: translate3d(100%, -100%, 0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
footer .footer-nav ul a:hover .button-arrow:last-child { transition-delay: 0.1s; }
footer .footer-nav ul a:hover:after { animation: line-out 1.2s 0s cubic-bezier(0.19, 0.865, 0.295, 1) both; }
footer .copyright { margin-top: 15px; }

@keyframes shake { 0%, 100% { transform: rotate(0); }
  25%, 75% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); } }
/* スマホ下部固定ボタン
========================================================= */
#footer-contact { position: fixed; bottom: 0; right: 0; left: 0; display: flex; z-index: 100; opacity: 1; transition: opacity .5s; }
body.is-kv-show #footer-contact { visibility: hidden; opacity: 0; }
#footer-contact a { height: 50px; display: flex; align-items: center; justify-content: center; color: #FFF; font-size: 13px; font-size: 0.8125rem; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; line-height: 1.2; }
@media (max-width: 389px) { #footer-contact a { font-size: 12px; font-size: 0.75rem; letter-spacing: -.1em; } }
#footer-contact .tel-btn { flex: 1; width: 19.4666666667%; background: #d7c897; }
#footer-contact .tel-btn .icon-tel { width: 20px; height: 20px; fill: #FFF; }
#footer-contact .reservation-btn { flex: 2; background: #97b77b; padding: 5px; width: 40.2666666667%; }
#footer-contact .restaurant-btn { flex: 2; background: #dd7263; padding: 5px; width: 40.2666666667%; }

/* パーツ
========================================================= */
/* 共通パーツ
----------------------------------------------- */
/* リンク・ボタン
-------------------------------------- */
a img { transition: .4s; opacity: 1; }
a img:hover { opacity: .8; }

/* セクション間の隙間
----------------------------------------------- */
.com-mt-01 { margin-top: 150px !important; }
@media (max-width: 959px) { .com-mt-01 { margin-top: 100px !important; } }

.com-mt-02 { margin-top: 100px !important; }
@media (max-width: 959px) { .com-mt-02 { margin-top: 70px !important; } }

.com-mt-03 { margin-top: 70px !important; }
@media (max-width: 959px) { .com-mt-03 { margin-top: 50px !important; } }

.com-mt-04 { margin-top: 50px !important; }
@media (max-width: 959px) { .com-mt-04 { margin-top: 35px !important; } }

.com-mt-05 { margin-top: 20px !important; }
@media (max-width: 959px) { .com-mt-05 { margin-top: 15px !important; } }

.com-mt-0 { margin-top: 0 !important; }

.com-mb-02 { margin-bottom: 100px !important; }
@media (max-width: 959px) { .com-mb-02 { margin-bottom: 70px !important; } }

.com-pt-0 { padding-top: 0 !important; }

.com-pb-0 { padding-bottom: 0 !important; }

/* アニメーション
----------------------------------------------- */
[class*="animate-"] { opacity: 0; }

@media (min-width: 960px) { .delay-01 { transition-delay: 0.3s !important; } }

@media (min-width: 960px) { .delay-02 { transition-delay: 0.6s !important; } }

@media (min-width: 960px) { .delay-03 { transition-delay: 0.9s !important; } }

@media (min-width: 960px) { .delay-04 { transition-delay: 1.2s !important; } }

@media (min-width: 960px) { .delay-05 { transition-delay: 1.5s !important; } }

.animate-fadein { transition: 1s ease opacity; }
.animate-fadein.inview { opacity: 1; }

.animate-slide { transition: 1s ease; transition-delay: .34s; transform: scale(0.9) translateY(50px); }
.animate-slide.inview { opacity: 1; transform: scale(1) translateY(0); }

.animate-fadein-title { transition: 1s ease; transform: translate(50px, 100px); }
@media (max-width: 1199px) { .animate-fadein-title { transition: .5s ease; } }
.animate-fadein-title.inview { opacity: 1; transform: translate(0); }

.each-text-next-fadein { opacity: 0; transition: 1.5s ease; transform: translate(50px, 100px); }
@media (max-width: 1199px) { .each-text-next-fadein { transition: .5s ease; } }
.each-text-next-fadein.inview { opacity: 1; transform: translate(0); }

@keyframes fluffy {   /*
	0% {
		transform: rotateZ(5deg) scale(0.9);
	}
	25% {
		transform: rotateZ(-6deg) scale(1);
	}
	50% {
		transform: rotateZ(5deg) scale(0.9);
	}
	75% {
		transform: rotateZ(-4deg) scale(.95);
	}
	100% {
		transform: rotateZ(5deg) scale(0.9);
	}*/
  0% { transform: rotateZ(5deg) scale(0.9); }
  25% { transform: rotateZ(0) scale(1); }
  50% { transform: rotateZ(-5deg) scale(0.9); }
  75% { transform: rotateZ(0) scale(1); }
  100% { transform: rotateZ(5deg) scale(0.9); } }
.animate-fluffy { transition: 1s ease; transition-delay: 1s; }
.animate-fluffy.inview { opacity: 1; animation: fluffy 5s infinite; }

/* テンプレート
========================================================= */
/* セクション
----------------------------------------------- */
.com-section-01 { padding-top: 90px; padding-bottom: 90px; }
@media (max-width: 767px) { .com-section-01 { padding-top: 45px; padding-bottom: 45px; } }

.com-section-02 { padding-top: 60px; padding-bottom: 60px; }
@media (max-width: 767px) { .com-section-02 { padding-top: 30px; padding-bottom: 30px; } }

.com-section-03 { padding-bottom: 100px; }
@media (max-width: 767px) { .com-section-03 { padding-bottom: 50px; } }

.com-section-04 { padding-top: 100px; padding-bottom: 50px; }
@media (max-width: 767px) { .com-section-04 { padding-top: 50px; padding-bottom: 50px; } }

/* フルスクリーン
-------------------------------------- */
.com-fullscreen { width: 100%; height: 100vh; height: 100dvh; }

.com-sticky-section { position: -webkit-sticky; position: sticky; top: 0; left: 0; }

/* フォント
-------------------------------------- */
.com-font-01 { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; }

.com-font-02 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; }

/* 見出し
-------------------------------------- */
.t_white [class^="com-tit-"] { color: #FFF; }

.com-tit-01 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; margin-bottom: min(50 / 2000 * 100vw, 50px); font-size: min(40 / 2000 * 100vw, 40px); text-align: left;}
@media (max-width: 767px) { .com-tit-01 { margin-bottom: 25px; } }
@media (max-width: 959px) { .com-tit-01 { font-size: clamp(24px, 4.1710114703vw, 40px); } }
@media (max-width: 479px) { .com-tit-01 { font-size: 24px; font-size: 1.5rem; } }
.com-tit-01::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.com-tit-01::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.com-tit-01 + p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.com-tit-01 + p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.com-tit-01 span { vertical-align: baseline; }
.com-tit-01 .en { font-size: min(40 / 2000 * 100vw, 40px); }
@media (max-width: 959px) { .com-tit-01 .en { font-size: clamp(24px, 4.1710114703vw, 40px); } }
@media (max-width: 479px) { .com-tit-01 .en { font-size: 24px; font-size: 1.5rem; } }
.com-tit-01 .jp { font-size: clamp(16.6px, 1.25vw, 25px); }
@media (max-width: 959px) { .com-tit-01 .jp { font-size: clamp(16.6px, 2.6068821689vw, 25px); } }
@media (max-width: 479px) { .com-tit-01 .jp { font-size: 14.6px; font-size: 0.9125rem; } }
.com-tit-01 .jp:before { content: '￨'; margin: 0 1em; font-size: clamp(16.6px, 1.35vw, 75px); }
@media (max-width: 959px) { .com-tit-01 .jp:before { font-size: clamp(16.6px, 2.8154327424vw, 27px); margin: 0 .5em; } }
@media (max-width: 479px) { .com-tit-01 .jp:before { font-size: 15.768px; font-size: 0.9855rem; } }
.com-tit-01 .jp small { font-size: 80%; }
.com-tit-01.small { margin-bottom: min(40 / 2000 * 100vw, 40px); }
@media (max-width: 767px) { .com-tit-01.small { margin-bottom: 25px; } }
.com-tit-01.small .en { font-size: min(30 / 2000 * 100vw, 30px); }
@media (max-width: 959px) { .com-tit-01.small .en { font-size: clamp(18px, 3.1282586027vw, 30px); } }
.com-tit-01.small .jp { font-size: clamp(13.28px, 1vw, 20px); }
@media (max-width: 959px) { .com-tit-01.small .jp { font-size: clamp(13.28px, 2.0855057351vw, 20px); } }
@media (max-width: 479px) { .com-tit-01.small .jp { font-size: 11.68px; font-size: 0.73rem; } }
.com-tit-01.small .jp:before { font-size: clamp(13.28px, 1.25vw, 20px); }
@media (max-width: 959px) { .com-tit-01.small .jp:before { font-size: clamp(13.28x, 2.6068821689vw, 20px); } }
@media (max-width: 479px) { .com-tit-01.small .jp:before { font-size: 14.6px; font-size: 0.9125rem; } }

.com-tit-02 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; margin-bottom: min(50 / 2000 * 100vw, 50px); }
@media (max-width: 767px) { .com-tit-02 { margin-bottom: 25px; } }
.t_white .com-tit-02 { color: #FFF; }
.com-tit-02 span { display: block; }
.com-tit-02 .en { font-size: min(40 / 2000 * 100vw, 40px); line-height: 1.2; }
.com-tit-02 .en::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.2) * .5em); content: ""; }
.com-tit-02 .en::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.2) * .5em); content: ""; }
@media (max-width: 959px) { .com-tit-02 .en { font-size: clamp(24px, 4.1710114703vw, 40px); } }
.com-tit-02 .en small { font-size: 80%; }
.com-tit-02 .jp { font-size: min(25 / 2000 * 100vw, 25px); line-height: 1.6; margin-top: min(9px, 18 / 2000 * 100vw, 18px); }
.com-tit-02 .jp::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.6) * .5em); content: ""; }
.com-tit-02 .jp::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.6) * .5em); content: ""; }
@media (max-width: 959px) { .com-tit-02 .jp { font-size: clamp(14.6px, 2.6068821689vw, 25px); } }

.com-tit-03 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; margin-bottom: min(70 / 2000 * 100vw, 70px); font-size: min(40 / 2000 * 100vw, 40px); line-height: 1.75; letter-spacing: .1em; }
@media (max-width: 767px) { .com-tit-03 { margin-bottom: 35px; } }
.t_white .com-tit-03 { color: #FFF; }
.com-tit-03::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.75) * .5em); content: ""; }
.com-tit-03::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.75) * .5em); content: ""; }
@media (max-width: 959px) { .com-tit-03 { font-size: clamp(24px, 4.1710114703vw, 40px); } }

.com-tit-04 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; margin-bottom: .5em; font-size: clamp(20px, 1.5vw, 30px); }

.com-tit-05 { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; margin-bottom: .5em; font-size: clamp(18px, 1vw, 20px); }

.com-tit-06 { padding-left: 1em; border-left: 3px solid #cfa04f; border-bottom: 1px solid #cfa04f; margin-bottom: 1em; }

/* グリッド
----------------------------------------------- */
.com-grid-01 { display: grid; }
.com-grid-01.col-2 { grid-template-columns: 1fr 1fr; grid-column-gap: min(50 / 2000 * 100vw, 50px); grid-row-gap: min(100 / 2000 * 100vw, 100px); }
@media (max-width: 959px) { .com-grid-01.col-2 { grid-column-gap: 20px; grid-row-gap: 60px; } }
@media (max-width: 767px) { .com-grid-01.col-2 { grid-template-columns: 100%; grid-column-gap: 0; grid-row-gap: 50px; } }
.com-grid-01.col-3 { grid-template-columns: 1fr 1fr 1fr; grid-column-gap: min(50 / 2000 * 100vw, 50px); grid-row-gap: min(100 / 2000 * 100vw, 100px); }
@media (max-width: 959px) { .com-grid-01.col-3 { grid-column-gap: 20px; grid-row-gap: 60px; } }
@media (max-width: 767px) { .com-grid-01.col-3 { grid-template-columns: 1fr 1fr; grid-column-gap: 15px; grid-row-gap: 50px; } }

/* アイテム
----------------------------------------------- */
.com-item-01 { box-sizing: border-box; }
.com-item-01 figure { text-align: center; margin-bottom: min(50 / 2000 * 100vw, 50px); }
@media (max-width: 959px) { .com-item-01 figure { margin-bottom: 30px; } }
.com-item-01 .text { padding: 0 10px; }

/* ローカルナビ
----------------------------------------------- */
.com-local-nav-01 { display: flex; justify-content: center; flex-wrap: wrap; margin-top: -15px; }
.com-local-nav-01 li { flex-grow: 0; flex-shrink: 0; margin-top: 15px; margin-right: 1.5em; text-align: center; }
.com-local-nav-01 li:last-child { margin-right: 0; }
@media (max-width: 767px) { .com-local-nav-01 li { margin-right: 0; width: 100%; } }
.com-local-nav-01 a { position: relative; display: inline-flex; flex-direction: column; justify-content: flex-start; align-items: center; overflow: hidden; height: 32px; box-sizing: border-box; letter-spacing: .1em; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; font-weight: bold; }
.com-local-nav-01 a::after { position: absolute; bottom: 0; left: 0; content: ''; display: block; width: 100%; height: 2px; background: #000; }
body:not(.is-touchdevice) .com-local-nav-01 a:hover::after, .com-local-nav-01 a.hover::after, .com-local-nav-01 a.active::after { animation: navline .4s ease-in-out 1; }
.com-local-nav-01 a span { line-height: 32px; transition: .3s; }
.com-local-nav-01 a .jp { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; font-weight: 500; }
.com-local-nav-01 a .en { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; }
.com-local-nav-01 a:hover span { transform: translateY(-32px); }

@keyframes navline { 0% { width: 0; }
  100% { width: 100%; } }
/* slick
-------------------------------------- */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; outline: none; display: none; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide a { outline: none; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-pager-container { display: flex; margin-top: 10px; }
@media (max-width: 767px) { .slick-pager-container { justify-content: space-between; padding: 0 10px; } }
.slick-pager-container .slick-num { font-size: 12px; margin-right: 20px; }
.t_white .slick-pager-container .slick-num { color: #FFF; }
.slick-pager-container .slick-arrows { display: flex; }
.slick-pager-container .slick-arrows a + a { margin-left: 10px; }

.slick-arrow.slick-hidden { display: none; }

.slick-arrow { position: relative; top: auto; transform: translateY(0); width: 25px; height: 25px; border-radius: 50%; background: none; border: 1px solid #d6d3d3; display: flex; justify-content: center; align-items: center; }
.t_white .slick-arrow { border: 1px solid #FFF; }
.slick-arrow svg { width: 14px; height: 6px; stroke: #d6d3d3; }
.t_white .slick-arrow svg { stroke: #FFF; }
.slick-arrow.slick-prev { transform: transformY(1px); }
.slick-arrow.slick-next { transform: scaleX(-1); }

.slick-dots { margin-top: 35px; display: flex; justify-content: center; width: 100%; }
.slick-dots li { width: 50px; height: 2px; margin: 0 5px; border: none; border-radius: none; appearance: none; -webkit-appearance: none; font-size: 0; line-height: 1; outline: none; background: #5f5341; transition: .4s; /*追加*/ position: relative; cursor: pointer; }
.slick-dots li.slick-active, .slick-dots li:hover, .slick-dots li.hover { background: #d7c897; }
@media (max-width: 767px) { .slick-dots li { width: 25px; height: 1px; margin: 0 3px; } }
.slick-dots li:before { content: ''; display: block; position: absolute; width: 100%; height: 20px; top: -10px; left: 0; }
.slick-dots button { display: none; }

/* スライダー
-------------------------------------- */
@media (max-width: 1330px) { .com-slider-box-01 { overflow: hidden; } }
.com-slider-box-01 .slick-dots { position: absolute; right: 0; bottom: 24px; left: 0; z-index: 1; }
@media (max-width: 767px) { .com-slider-box-01 .slick-dots { bottom: auto; position: relative; margin-top: 16px; } }
@media (max-width: 767px) { .com-slider-box-01 .slick-dots li.slick-active, .com-slider-box-01 .slick-dots li:hover, .com-slider-box-01 .slick-dots li.hover { background: #000; } }
.com-slider-box-01 img { width: 100%; }

.com-slider-box-02 { position: relative; }
.com-slider-box-02 .slider, .com-slider-box-02 .slider div { height: 100%; }
.com-slider-box-02 .slick-slide { padding: 0 0.75vw; }
.com-slider-box-02 .slick-slide img { object-fit: cover; width: 100%; height: 100%; }
.com-slider-box-02 .slick-pager-container { position: absolute; margin-top: 0; right: 100%; bottom: 0; width: max-content; padding-right: 10px; }
@media (max-width: 959px) { .com-slider-box-02 .slick-pager-container { display: none; } }

.com-slider-box-03 { display: flex; flex-wrap: wrap; width: 123.5%; box-sizing: content-box; }
.com-slider-box-03 * { box-sizing: content-box; }
.com-slider-box-03::after { display: table; height: 0px; clear: both; font-size: 0; line-height: 1; }
@media (max-width: 959px) { .com-slider-box-03 { width: 100%; } }
.com-slider-box-03.reverse { flex-direction: row-reverse; margin-right: 0; margin-left: auto; float: right; }
.com-slider-box-03 .col-01 { width: 42.5101214575%; padding-bottom: 47px; }
@media (max-width: 959px) { .com-slider-box-03 .col-01 { width: 100%; padding-bottom: 33px; } }
.com-slider-box-03 .col-02 { flex: 1; box-sizing: border-box; padding: 30px 60px 0; }
@media (min-width: 960px) { .com-slider-box-03 .col-02 { display: flex; flex-direction: column; justify-content: center; } }
@media (max-width: 959px) { .com-slider-box-03 .col-02 { width: 100%; padding: 45px 16px 0; }
  .com-slider-box-03 .col-02 .upper { padding: 0 30px; } }
.com-slider-box-03 .col-03 { width: 31.1740890688%; align-self: flex-end; }
.com-slider-box-03 .slider-01 { overflow: hidden; }
.com-slider-box-03 .slider-01 figure { overflow: hidden; }
.com-slider-box-03 .slider-01 img { object-fit: cover; width: 100%; height: 100%; transition: 5s; transform: scale(1.2); }
.com-slider-box-03 .slider-01 .slick-current img { transform: scale(1); }
.com-slider-box-03 .slider-01 .slick-dots { position: absolute; bottom: 24px; }
@media (max-width: 767px) { .com-slider-box-03 .slider-01 .slick-dots li.slick-active, .com-slider-box-03 .slider-01 .slick-dots li:hover, .com-slider-box-03 .slider-01 .slick-dots li.hover { background: #000; } }
.com-slider-box-03 .slider-02 .animate-zoom-out { transform: scale(1) !important; opacity: 1 !important; }
.com-slider-box-03 .slick-arrow { width: 40px; height: 40px; top: auto; bottom: 10px; background-image: url(../images/common/slider_arrow_square.png); }
@media (max-width: 959px) { .com-slider-box-03 .slick-arrow { z-index: 5; position: absolute; top: 50%; bottom: auto; transform: translateY(-50%); width: 51px; height: 74px; background-image: url(../images/common/slider_arrow_shadow.png); } }
@media (max-width: 767px) { .com-slider-box-03 .slick-arrow { width: 25.5px; height: 37px; background-size: 25.5px auto; } }
.com-slider-box-03 .slick-arrow.slick-next { right: 0; left: auto; transform: none; }
@media (max-width: 959px) { .com-slider-box-03 .slick-arrow.slick-next { right: 10px; } }
.com-slider-box-03 .slick-arrow.slick-prev { right: 41px; left: auto; transform: rotate(180deg); }
@media (max-width: 959px) { .com-slider-box-03 .slick-arrow.slick-prev { right: auto; left: 10px; } }
.com-slider-box-03.reverse .slick-arrow.slick-next { right: 0; left: 41px; }
.com-slider-box-03.reverse .slick-arrow.slick-prev { right: auto; left: 0; }

_:-ms-lang(x)::-ms-backdrop, .com-slider-box-03 .col-02 { display: block; }

.com-slider-box-04 { max-width: 1000px; }
@media (max-width: 767px) { .com-slider-box-04 { padding-bottom: 16px; } }
.com-slider-box-04 .slick-dots { position: absolute; right: 0; bottom: 24px; left: 0; z-index: 1; }
@media (min-width: 768px) { .com-slider-box-04 .slick-dots { justify-content: flex-end; } }
@media (max-width: 767px) { .com-slider-box-04 .slick-dots { bottom: -16px; } }
.com-slider-box-04 .slick-dots li { margin: 0 10px 0 0; }
@media (max-width: 767px) { .com-slider-box-04 .slick-dots li { margin-right: 6px; } }
.com-slider-box-04 .slick-dots li.slick-active, .com-slider-box-04 .slick-dots li:hover, .com-slider-box-04 .slick-dots li.hover { background: #000; }

.com-slider-box-05 { max-width: 650px; }
@media (max-width: 959px) { .com-slider-box-05 { margin-left: auto; margin-right: auto; padding-bottom: 16px; } }
.com-slider-box-05 .slick-dots { position: absolute; right: 0; bottom: 24px; left: 0; z-index: 1; padding: 0 16px; }
@media (min-width: 960px) { .com-slider-box-05 .slick-dots { justify-content: flex-start; } }
@media (max-width: 959px) { .com-slider-box-05 .slick-dots { bottom: -16px; justify-content: center; } }
.com-slider-box-05 .slick-dots li { margin: 0 10px 0 0; }
@media (max-width: 959px) { .com-slider-box-05 .slick-dots li { margin-right: 6px; } }
.com-slider-box-05 .slick-dots li:last-child { margin-right: 0; }
.com-slider-box-05 .slick-dots li.slick-active, .com-slider-box-05 .slick-dots li:hover, .com-slider-box-05 .slick-dots li.hover { background: #000; }
@media (min-width: 960px) { .com-panel-07.reverse .com-slider-box-05 .slick-dots { justify-content: flex-end; } }
@media (max-width: 959px) { .com-panel-07.reverse .com-slider-box-05 .slick-dots { justify-content: center; } }

/* パネル
----------------------------------------------- */
.com-lead-pannel { padding-left: env(safe-area-inset-left); }
@media (min-width: 768px) { .com-lead-pannel { padding-top: 100px; padding-bottom: 180px; } }
@media (max-width: 767px) { .com-lead-pannel { padding-top: 45px; padding-bottom: 45px; padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }
@media (min-width: 768px) { .com-lead-pannel + .com-section-01 { padding-top: 0; } }
@media (min-width: 768px) { .com-lead-pannel .lead-wrapper { position: relative; } }
@media (min-width: 768px) { .com-lead-pannel .text { width: 350px; display: flex; flex-direction: column; justify-content: center; align-items: center; position: absolute; left: 0; bottom: 0; z-index: 1; background-color: #FFF; height: 0; transition: all 1s ease; }
  .com-lead-pannel .text.inview { height: 100%; padding: min(60 / 2000 * 100vw, 60px); }
  .special-bg-01 .com-lead-pannel .text { background: url("../images/common/special-page-bg01.jpg") repeat left top; }
  .special-bg-02 .com-lead-pannel .text { background: url("../images/common/special-page-bg02.jpg") repeat left top; }
  .com-lead-pannel .text:not(.js-lead-text-animation) { height: calc(100% - 35px); padding: min(60 / 2000 * 100vw, 60px); } }
@media (min-width: 1200px) { .com-lead-pannel .text { width: 450px; } }
@media (max-width: 767px) { .com-lead-pannel .text { padding-top: 45px; padding-bottom: 45px; } }
.com-lead-pannel .text .text-inner { width: 100%; }
@media (min-width: 960px) { .com-lead-pannel .text .text-inner p { font-size: min(16 / 960 * 100vw, 16px); } }
@media (min-width: 768px) { .com-lead-pannel .slick-pager-container { padding-left: 350px; } }
@media (min-width: 1200px) { .com-lead-pannel .slick-pager-container { padding-left: 450px; } }
@media (max-width: 767px) { .com-lead-pannel .slider figure { position: relative; }
  .com-lead-pannel .slider figure:before { content: ''; display: block; padding-top: 75%; }
  .com-lead-pannel .slider figure img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; } }
@media (min-width: 768px) { .com-lead-pannel.has-multi-slide { margin-bottom: -35px; }
  .com-lead-pannel.has-multi-slide .text { bottom: 35px; }
  .com-lead-pannel.has-multi-slide .text.inview { height: calc(100% - 35px); padding: min(60 / 2000 * 100vw, 60px); } }

.each-text-animation span { opacity: 0; display: inline-block; transition: opacity .5s, transform .8s ease; transform: translate(0.5em, 0.8em); /*@media (max-width:1199px){
	transition: .5s ease 0s;
}*/ }
.each-text-animation span.active { opacity: 1; transform: translate(0); }
.com-panel-01 .text .com-btn-01{
    margin-top: 50px;
}
@media (min-width: 768px) { .com-panel-01 .slick-pager-container { margin-left: min(1200 / 1750 * 100%, 1200px); padding-left: 10px; } }
@media (min-width: 768px) { .com-panel-01 .text { padding: 50px 3.5% 0; background-color: #FFF; position: relative; z-index: 1; width: min(1200 / 1750 * 100%, 1200px); /*margin-top: -115px;*/ }
  .special-bg-01 .com-panel-01 .text { background: url("../images/common/special-page-bg01.jpg") repeat left top; }
  .special-bg-02 .com-panel-01 .text { background: url("../images/common/special-page-bg02.jpg") repeat left top; } }
@media (max-width: 767px) { .com-panel-01 .text { margin-top: 30px; padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }

@media (min-width: 960px) { .com-panel-02 { display: grid; grid-template-columns: 455px calc(100% - 455px); } }
@media (max-width: 1199px) { .com-panel-02 { grid-template-columns: 355px calc(100% - 355px); } }
.com-panel-02 .text { display: flex; flex-direction: column; justify-content: center; padding: 0 12.0879120879% 25px 14.2857142857%; }
@media (min-width: 960px) { .com-panel-02 .text { order: 1; } }
@media (max-width: 959px) { .com-panel-02 .text { margin-top: 30px; padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }
.com-panel-02 .text .com-btn-01 { margin-top: 50px; }
.com-panel-02 .text .buttons { margin-top: 50px; }
.com-panel-02 .text .buttons .com-btn-01 { margin-top: 0; }
.com-panel-02 .text .buttons li { margin-top: 0; }
.com-panel-02 .text .buttons li + li { margin-top: 30px; }
@media (min-width: 960px) { .com-panel-02 .com-slider-box-02 { order: 2; } }

@media (min-width: 960px) { .com-panel-03 { display: flex; justify-content: space-between; }
  .com-panel-03.reverse { flex-direction: row-reverse; }
  .com-panel-03.reverse .text { padding-left: min(50 / 1110 * 100%, 50px); } }
@media (min-width: 960px) { .com-panel-03 .image { width: 30.2857142857%; margin-top: calc(380/1780*(100vw - 250px)); } }
@media (max-width: 959px) { .com-panel-03 .image { display: none; } }
@media (min-width: 960px) { .com-panel-03 .slider-text { width: 63.4285714286%; } }
.com-panel-03 .com-slider-box-01 { position: relative; z-index: 1; }
@media (min-width: 768px) { .com-panel-03 .slick-pager-container { justify-content: flex-end; padding-right: 10px; } }
.com-panel-03 .text { margin-top: 15px; }
@media (max-width: 959px) { .com-panel-03 .text { margin-top: 30px; padding-right: calc(15px + env(safe-area-inset-right)); padding-left: calc(15px + env(safe-area-inset-left)); } }
.com-panel-03 .com-list-04 { margin-top: 40px; }
.com-panel-03 .buttons { margin-top: 50px; }
@media (max-width: 959px) { .com-panel-03 .buttons { margin-top: 35px; } }
.com-panel-03 .buttons .com-btn-01 { margin-top: 0; }
.com-panel-03 .buttons li { display: inline-block; margin-right: 30px; }
.com-panel-03 .buttons li:last-child { margin-right: 0; }

@media (min-width: 960px) { .com-panel-04 { display: flex; justify-content: space-between; align-items: center; }
  .com-panel-04.reverse { flex-direction: row-reverse; } }
@media (min-width: 960px) { .com-panel-04 .image { width: 45.2054794521%; } }
@media (max-width: 959px) { .com-panel-04 .image { text-align: center; } }
@media (min-width: 960px) { .com-panel-04 .text { width: calc(100% - (660/1460*100%)); padding: 0 min(70 / 1460 * 100%, 70px); } }
@media (max-width: 959px) { .com-panel-04 .text { margin-top: 30px; } }

.com-panel-05 { background-color: #e9e9e7; }
@media (max-width: 959px) { .com-panel-05 { padding-top: 30px; padding-bottom: 30px; } }
@media (min-width: 960px) { .com-panel-05 .com-panel-05-flex { border-left: 3px solid #FFF; display: flex; align-items: center; max-width: 1300px; margin-left: auto; margin-right: auto; } }
.com-panel-05-flex .image{
	width: 30%;
}
.com-panel-05 .com-panel-05-flex header { text-align: center; }
@media (min-width: 960px) { .com-panel-05 .com-panel-05-flex header { width: 16.5vw; padding: 0 10px; flex-grow: 0; flex-shrink: 0; }
  .com-panel-05 .com-panel-05-flex header .com-tit-01 { margin-bottom: 0; } }
@media (min-width: 960px) { .com-panel-05 .com-panel-05-flex .text { width: 100%; padding: 0 30px; } }
@media (max-width: 1300px) { .com-panel-05 .com-panel-05-flex .text br.hidden-tab { display: none; } }
@media (max-width: 959px) { .com-panel-05 .com-panel-05-flex .text { text-align: center; } }
.com-panel-05 .com-panel-05-flex figure { text-align: center; }
@media (min-width: 960px) { .com-panel-05 .com-panel-05-flex figure { width: 23.5vw; flex-grow: 0; flex-shrink: 0; } }
@media (max-width: 959px) { .com-panel-05 .com-panel-05-flex figure { margin-top: 25px; } }

/* 条項系テキストレイアウト
----------------------------------------------- */
.com-texts-01 { counter-reset: number; }
.com-texts-01 section + section { margin-top: 30px; }
@media (max-width: 767px) { .com-texts-01 section + section { margin-top: 20px; } }
.com-texts-01 section p { text-indent: 1em; }
.com-texts-01 section p.no-indent { text-indent: 0; }
.com-texts-01 section p, .com-texts-01 section ol, .com-texts-01 section ul, .com-texts-01 section dl { margin-top: 1em; }
.com-texts-01 section p:first-child, .com-texts-01 section ol:first-child, .com-texts-01 section ul:first-child, .com-texts-01 section dl:first-child { margin-top: 0; }
.com-texts-01 .count .com-tit-06 { position: relative; padding-left: 2em; }
.com-texts-01 .count .com-tit-06:before { counter-increment: number; content: counter(number); position: absolute; top: 0; left: .5em; }

/* テーブル
----------------------------------------------- */
.com-line-01 { border-color: #eeeeee; }

/* テーブル
----------------------------------------------- */
.com-table-01 { display: grid; column-gap: 2em; grid-template-columns: auto 1fr; }
.com-table-01 dt { position: relative; padding-left: 1.5em; }
.com-table-01 dt:before { content: '▪'; display: block; position: absolute; top: 0; left: 0; }

.com-table-01-note { padding-left: 1.5em; }

.com-table-02 > div { border: 1px solid #e7e0c9; }
@media (min-width: 768px) { .com-table-02 > div { display: flex; } }
.com-table-02 > div + div { margin-top: 2px; }
.com-table-02 > div dt { background-color: #e7e0c9; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; width: 176px; flex-shrink: 0; flex-grow: 0; display: grid; place-content: center; padding: 11px 20px; }
@media (max-width: 767px) { .com-table-02 > div dt { width: 100%; } }
.com-table-02 > div dd { width: 100%; line-height: 1.875; padding: 12px 30px; }

.com-table-03 { display: grid; column-gap: 2em; grid-template-columns: auto 1fr; }

.com-table-04 { display: flex; flex-wrap: wrap; margin-top: 30px; letter-spacing: .2em; }
@media (max-width: 767px) { .com-table-04 { margin-top: 25px; } }
.com-table-04 dt { width: 75px; }
@media (max-width: 767px) { .com-table-04 dt { width: 60px; } }
.com-table-04 dt::after { content: ' |'; }
.com-table-04 dd { width: calc(100% - 75px); }
@media (max-width: 767px) { .com-table-04 dd { width: calc(100% - 60px); } }

.terms-figure-01 { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; }
.terms-figure-01 + .terms-figure-01 { margin-top: 50px; }
.terms-figure-01 .caption { display: block; margin-bottom: .8em; font-size: 16px; font-size: 1rem; font-weight: 700; letter-spacing: .15em; line-height: 1.64; }
@media (max-width: 1024px) { .terms-figure-01 .caption { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 table { width: 100%; font-weight: 400; font-size: 15px; font-size: 0.9375rem; border: #000 1px solid; background: #fff; }
@media (max-width: 1024px) { .terms-figure-01 table { font-size: 13px; font-size: 0.8125rem; } }
@media (max-width: 767px) { .terms-figure-01 table { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table th, .terms-figure-01 table td { vertical-align: middle; text-align: center; line-height: 1.4; box-sizing: border-box; }
.terms-figure-01 table td { border: #000 1px solid; }
.terms-figure-01 table th { padding: .5em; font-weight: 400; background-color: #e7e0c9; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; border-color: #000; border-width: 1px; border-style: solid; }
.terms-figure-01 table th:first-child { border-left-color: #000; }
.terms-figure-01 table th:last-child { border-right-color: #000; }
.terms-figure-01 table th[rowspan] { border-bottom: 0; }
.terms-figure-01 table tr:first-child td, .terms-figure-01 table tr:first-child th { border-top: 0; }
.terms-figure-01 table tr:last-of-type td, .terms-figure-01 table tr:last-of-type th { border-bottom: 0; }
.terms-figure-01 table.table-01 .col-01 { width: 65px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 .col-01 { width: 34px; } }
.terms-figure-01 table.table-01 .col-02 { width: 65px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 .col-02 { width: 34px; } }
.terms-figure-01 table.table-01 tbody td { padding: 30px 50px; text-align: left; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 tbody td { padding: 20px 24px; } }
.terms-figure-01 table.table-02 { border-collapse: collapse; table-layout: fixed; height: 100%; /*.col-02 {
	width: 65px;
	@media (max-width: 1024px) {
		width: 35px;
	}
	@media (max-width: 767px) {
		width: 120px;
	}
}*/ }
.terms-figure-01 table.table-02 th.tit { padding: 0; background: #000 url("../images/clause/line.png") no-repeat center; background-size: 100% 100%; border: #000 1px solid; }
.terms-figure-01 table.table-02 th.tit > div { position: relative; min-height: 80px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 70px; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 75px; } }
.terms-figure-01 table.table-02 th.tit span { margin: 0 !important; position: absolute; line-height: 1.2; }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.tit span { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(1) { right: .5em; top: .2em; text-align: right; }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(2) { left: .5em; bottom: .2em; text-align: left; }
.terms-figure-01 table.table-02 thead th { padding: 1.5em 1em; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 thead th { padding: 2em 1em; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 thead th { padding: .5em .2em; } }
.terms-figure-01 table.table-02 td { padding: 1.5em .5em; }
.terms-figure-01 table.table-02 th.wide { letter-spacing: .8em; }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.small { font-size: 11px; font-size: 0.6875rem; letter-spacing: -.12em; } }
.terms-figure-01 table.table-02 .col-01 { width: 228px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 .col-01 { width: 115px; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 .col-01 { width: 105px; } }
.terms-figure-01 p, .terms-figure-01 li { margin-top: 1em; line-height: 1.2; font-weight: 400; }
@media (max-width: 1024px) { .terms-figure-01 p, .terms-figure-01 li { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att { margin-top: 1em; display: flex; }
.terms-figure-01 .att span { line-height: 1.7; width: 3em; font-weight: 400; font-size: 15px; font-size: 0.9375rem; }
@media (max-width: 767px) { .terms-figure-01 .att span { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att p { padding: 0; flex: 1; margin: 0; }

/* リスト
----------------------------------------------- */
/*▪リスト*/
.com-list-01 li { position: relative; padding-left: 1.5em; }
.com-list-01 li:before { position: absolute; left: 0; top: 0; content: '▪'; color: #e7e0c9; }
.com-list-01.inline li { display: inline-block; margin-right: 1em; }
.com-list-01.inline li:last-of-type { margin-right: 0; }
.com-list-01.black li { padding-left: .7em; }
.com-list-01.black li:before { color: #000; }

/*各種olリスト*/
.com-list-02 { padding-left: 1em; padding-right: 1em; counter-reset: number; /*ナンバリングをリセット*/ list-style: none; /*自動で数字をつけない*/ /*ナンバリングol　1.　2.　3.*/ /*ナンバリングol　(1)　(2)　(3)*/ /*ナンバリングol　(イ)　(ロ)　(ハ)*/ /*ナンバリングol　(a)(b)(c)*/ /*ナンバリングol　一　二　三*/ }
.com-list-02 li { position: relative; /*数字がinsideにならないように*/ padding-left: 2em; /*数字がinsideにならないように*/ }
.com-list-02 li:before { counter-increment: number; /*カウンターの名前をつける*/ content: counter(number); /*名前のカウンターの数字をcontentで足す*/ position: absolute; /*数字がinsideにならないように*/ top: 0; /*数字がinsideにならないように*/ left: 0; /*数字がinsideにならないように*/ }
.com-list-02 ol { /*ナンバリングolの中のデザイン上のパディングを消す*/ padding-left: 0; padding-right: 0; }
.com-list-02.dots > li:before { content: counter(number) "."; }
.com-list-02.parenthesis > li:before { content: "(" counter(number) ")"; }
.com-list-02.iroha > li { padding-left: 2.5em; }
.com-list-02.iroha > li:before { content: "(" counter(number,katakana-iroha) ")"; }
.com-list-02.lower-alpha > li { padding-left: 2em; }
.com-list-02.lower-alpha > li:before { content: "(" counter(number,lower-alpha) ")"; }
.com-list-02.kanji > li { padding-left: 2.5em; }
.com-list-02.kanji > li:before { content: counter(number,cjk-ideographic); }

/*ドット「・」リスト*/
.com-list-03 li { position: relative; padding-left: 1.5em; line-height: 2; }
.com-list-03 li::before { position: absolute; left: 0; top: 0; content: '・'; }

/*横並び■スペックdl*/
.com-list-04 > div { display: inline-flex; margin-right: 3em; }
.com-list-04 > div:last-child { margin-right: 0; }
.com-list-04 dt { position: relative; padding-left: 1.5em; margin-right: 1em; }
.com-list-04 dt:before { position: absolute; left: 0; top: 0; content: '▪'; color: #000; }

/* ナンバリング見出し（.number-sectionsの子セクションごとの見出しをナンバリング）
----------------------------------------------- */
.number-sections { counter-reset: number; /*ナンバリングをリセット*/ }
.number-sections h4 { position: relative; /*数字がinsideにならないように*/ padding-left: 2em; /*数字がinsideにならないように*/ }
.number-sections h4:before { counter-increment: number; /*カウンターの名前をつける*/ content: counter(number) "."; /*名前のカウンターの数字をcontentで足す*/ position: absolute; /*数字がinsideにならないように*/ top: 0; /*数字がinsideにならないように*/ left: 0; /*数字がinsideにならないように*/ }

/* メインビジュアル
----------------------------------------------- */
#main-visual.special-page-index .bg { height: 100vh; height: 100dvh; overflow: hidden; position: relative; }
#main-visual.special-page-index .bg img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }
@media (max-width: 959px) { #main-visual.special-page-index .bg { height: 100vh; height: 100dvh; } }
#main-visual.special-page-index .bg img { transition: .5s; }

.main-visual-logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.main-visual-large .bg { height: calc(100vh - 100px); height: calc(100dvh - 100px); overflow: hidden; position: relative; }
.main-visual-large .bg img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }
@media (max-width: 959px) { .main-visual-large .bg { height: calc(100vh - 120px); height: calc(100dvh - 120px); } }
.main-visual-large .bg img { transition: .5s; }

.first-scroll-area { position: fixed; top: 0; left: 0; transition: transform 1200ms cubic-bezier(0.165, 0.84, 0.44, 1); will-change: transform; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.first-scroll-area:not(.index) .bg { transition: filter 1200ms cubic-bezier(0.165, 0.84, 0.44, 1); will-change: filter; }
.first-scroll-area.is-hidden { transform: translate3d(0, -50%, 0); }
.first-scroll-area.is-hidden:not(.index) .bg { filter: blur(10px); }

.first-scroll-target { background-color: #FFF; margin-top: 100vh; margin-top: 100dvh; transition: margin-top 1200ms cubic-bezier(0.165, 0.84, 0.44, 1); will-change: margin-top; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.main-visual-small .bg { height: 470px; overflow: hidden; position: relative; }
.main-visual-small .bg img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }
@media (max-width: 959px) { .main-visual-small .bg { height: 300px; } }

.main-visual-header { margin-top: -40px; display: flex; justify-content: flex-end; padding: 0 5%; position: relative; z-index: 1; }
@media (max-width: 959px) { .main-visual-header { margin-top: -30px; } }
.main-visual-header .page-title { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; text-shadow: 0 0 30px rgba(255, 255, 255, 0.4), 0 0 20px rgba(255, 255, 255, 0.4), 0 0 20px rgba(255, 255, 255, 0.2); text-align: center; transform: translateY(100px); transition: 1s ease; }
.main-visual-header .page-title.inview { transform: translateY(0); }
.main-visual-header .page-title span { display: block; }
.main-visual-header .page-title .en { font-size: 80px; font-size: 5rem; line-height: 0.875; }
@media (max-width: 959px) { .main-visual-header .page-title .en { font-size: 60px; font-size: 3.75rem; } }
.main-visual-header .page-title .jp { font-size: 24px; font-size: 1.5rem; line-height: 1.6666666667; }
@media (max-width: 959px) { .main-visual-header .page-title .jp { font-size: 18px; font-size: 1.125rem; } }

/* パンくず
========================================================= */
#pankuzu { display: flex; margin-top: 1em; }
#pankuzu > span, #pankuzu a { font-size: 14px; letter-spacing: .05em; color: #000; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; }
#pankuzu > span::after, #pankuzu a::after { padding: 0 .5em; content: '>'; }
#pankuzu > span:last-child::after, #pankuzu a:last-child::after { content: ''; }

/* モーダル
========================================================= */
/* モーダル全体(背景＋本体) */
.modal { display: none; position: fixed; top: 0; left: 0; height: 100vh; width: 100%; z-index: 200; justify-content: center; align-items: center; }

/* モーダル背景 */
.modal-bg { position: absolute; height: 100vh; width: 100%; background: rgba(0, 0, 0, 0.8); }

/* モーダル本体 */
.modal-content { position: relative; max-height: 80vh; max-width: 90%; }
@media (max-width: 479px) { .modal-content { width: calc(100% - 32px); } }
.modal-content .modal-inner { padding: 10px; max-height: 80vh; background: #fff; }
.modal-content .modal-inner figure img { max-height: calc(80vh - 20px); object-fit: contain; object-position: center center; font-family: "object-fit: contain;object-position: center center;"; }
.modal-content .js-modal-close { position: absolute; width: 40px; height: 40px; right: 0; top: -50px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.modal-content .js-modal-close:before, .modal-content .js-modal-close:after { content: ''; display: block; width: 40px; height: 3px; background-color: #fff; }
.modal-content .js-modal-close:before { transform: rotate(45deg); }
.modal-content .js-modal-close:after { transform: rotate(-45deg); margin-top: -3px; }
.modal-content .iframe-wrapper { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; width: 100%; }
.modal-content .iframe-wrapper:before { content: ''; display: block; padding-top: 56.25%; }
.modal-content .iframe-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* 汎用クラス
========================================================= */
/* テキストカラー
-------------------------------------- */
.com-color-01 { color: #d7c897; }

.com-color-02 { color: #796a4f; }

.com-color-03 { color: #cfa04f; }

.com-color-04 { color: #d6d3d3; }

.com-color-red { color: #F00; }

/* 背景色
-------------------------------------- */
.com-bg-01 { background: url("../images/common/com-bg-01.jpg") no-repeat center center/cover; }

.com-bg-02 { background-color: #000; }

.com-bg-03 { background-color: #FFF; }

.special-bg-01 { background-image: url("../images/common/special-footer-left01.png"), url("../images/common/special-footer-right01.png"), url("../images/common/special-page-bg01.jpg"); background-repeat: no-repeat, no-repeat,  repeat; background-position: left bottom, right bottom, top left; background-size: 35.25vw, 35.2vw, auto; padding-bottom: calc((276/2000*100vw) + 60px); }
@media (max-width: 959px) { .special-bg-01 { background-size: 40%, 40%, auto; } }
@media (max-width: 959px) { .special-bg-01 { padding-bottom: calc((110.4/959*100vw) + 40px); } }
.special-bg-01 [class^="com-section-"]:last-child { padding-bottom: 0; }

.special-bg-02 { background-image: url("../images/common/special-footer-left02.png"), url("../images/common/special-footer-right02.png"), url("../images/common/special-page-bg02.jpg"); background-repeat: no-repeat, no-repeat,  repeat; background-position: left bottom, right bottom, top left; background-size: 37.15vw, 31.9vw, auto; padding-bottom: calc((278/2000*100vw) + 60px); }
@media (max-width: 959px) { .special-bg-02 { background-size: 42%, 36.25%, auto; } }
@media (max-width: 959px) { .special-bg-02 { padding-bottom: calc((116.76/959*100vw) + 40px); } }
.special-bg-02 [class^="com-section-"]:last-child { padding-bottom: 0; }

/* テキスト寄せ
-------------------------------------- */
.text-center { text-align: center; }
@media (max-width: 767px) { .text-center.sp-left { text-align: left; } }

.text-right { text-align: right; }

.text-left-center { text-align: left; display: flex; flex-direction: column; align-items: center; }

.sp{
	display: none;
}

/* pcのとき改行 */
@media (max-width: 959px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.com-panel-05 .com-tit-01{
		text-align: center;
	}
	.com-panel-05-flex .image{
		width: 100%;
	}
	footer{
    margin-top: 0;
    position: static;
    padding-top: 0;
    padding-bottom: 0;
	}
	.com-section-01{
		padding-bottom: 0;
	}
	#content{
		margin: 0 auto;
	}
}

/* テキストスタイル
-------------------------------------- */
.text-bold { font-weight: bold; }

.underline { text-decoration: underline; }

/*20230410追記*/
.clausebox { border: 1px solid #000; margin: 20px 20px 40px; padding: 20px; }

/* sp用ヘッダー */
@media (max-width: 959px) {
	html{
		margin-top: 0 !important;
	}
	body {
		padding: 0;
	}
#siteHeader {
	width: 100%;
	position: fixed;
	z-index: 100;
	padding: 10px;
	border-bottom: #ccc 1px solid;
	background-color: #FFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#topImage img{
	margin-top: 49px;
}


.menu_link {
	position: relative;
	display: block;
	width: 100%;
}

.menu_link::after {
	transform: translateY(-50%) rotate(-45deg) skew(15deg, 15deg);
	width: 12px;
	height: 12px;
	margin-left: 10px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	content: '';
	transition: transform .3s;
	position: absolute;
	right: 18%;
	top: 50%;
}

.menu_link_parent::before {
	transform: translateY(-50%) rotate(-45deg) skew(15deg, 15deg);
	width: 12px;
	height: 12px;
	margin-left: 10px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	content: '';
	transition: transform .3s;
	position: absolute;
	right: 18%;
	top: 50%;
}

.accordion-gmenu summary::after {
	transform: translateY(-25%) rotate(-45deg);
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	content: '';
	transition: transform .3s;
	position: absolute;
	right: -40px;
	top: 18px;
}

summary::marker {
  display: none;
}


.logo {
	float: left;
}

.logo img{
	zoom: 0.5;
}

.sns-icon img{
	zoom: 0.5;
}

.hamburger {
	display: block;
	position: fixed;
	z-index: 3;
	right: 10px;
	top: 5px;
	width: 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
}

.hamburger span {
	display: block;
	position: absolute;
	width: 30px;
	height: 2px;
	left: 6px;
	background: #BBBBBB;
	-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;
}

nav.globalMenuSp {
	padding: 30px auto 0;
	margin-top: 75px;
	width: 100%;
	border-top: 1px solid #000;
}

nav.globalMenuSp {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	color: #333;
	background: #fff;
	text-align: center;
	width: 100%;
	height: 100vh;
	opacity: 0;
	/* display: none; */
	transition: opacity .6s ease, visibility .6s ease;
	transform: translateX(100%);
}

.menu-sp,.MenuSp__btn{
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

.menu-main li {
    border-bottom: 1px solid #BBBBBB;
}

nav.globalMenuSp ul.menu-sp li {
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
}

nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 10px 0;
	width: 100%;
	transition: .4s all;
}

.MenuSp__btn {
	background-color: #000;
	color: #fff;
}

nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 10px 0;
	width: 100%;
	transition: .4s all;
}

nav.globalMenuSp ul li a {
	display: block;
	text-decoration: none;
}

.MenuSp__btn li a {
	color: #fff;
}

.sp-btn1 {
	margin-top: 30px;
	padding: 10px 0;
}

.sp-btn {
	border: solid #fff;
	max-width: 240px;
	width: 100%;
	margin-inline: auto;
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 12px;
}

a[href^="tel:"] {
	cursor: pointer;
}

.sp-btn2 {
	padding-top: 18px;
	padding-bottom: 18px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.MenuSp__sns {
	background-color: #000;
	color: #fff;
	margin-top: -20px;
}

.MenuSp__sns-inner {
	width: 70%;
	margin-inline: auto;
	display: flex;
	justify-content: center;
}

nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 10px 0;
	width: 100%;
	transition: .4s all;
}

.sns-icon, .sns-icon a, .sns-icon img {
	width: 70px;
	height: 70px;
	margin-inline: auto;
}

.sns-icon {
	display: grid;
	place-items: center;
}

nav.globalMenuSp ul li a {
	display: block;
	text-decoration: none;
}

nav.globalMenuSp ul.menu-sp li:last-child {
	border-bottom: none;
}

#siteHeader:after {
	content: "";
	display: block;
  clear: both;
}

.reserve-btn {
	position: absolute;
	right: 70px;
	top: 0;
	background-color: #b59341;
	padding: 8px;
	text-align: center;
	z-index: 3;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
}

.reserve-btn a {
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  display: block;
  line-height: 1.2;
}

.reserve-btn .en {
  font-family: 'Times New Roman', serif;
  font-size: 7px;
}

.reserve-btn .ja {
	font-size: 10px;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

/* ハンバーガーメニュが押された時 */
.hamburger.active span:nth-child(1) {
	top: 16px;
	left: 6px;
	background: #BBBBBB;
	-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;
	background: #BBBBBB;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

nav.globalMenuSp.active {
	opacity: 100;
	display: grid;
	transform: translate(0);
}
.sp-btn2 img {
	margin-right: 10px;
}
.MenuSp__btn img {
	zoom: 0.5;
}
}

@media (min-width: 375px) {
	.logo img {
			width: 142px;
			/* height: 43px; */
	}
}

/* sp用フッター */
@media (max-width: 959px) {
#siteFooter{
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
#info h2 span,.arwList li:after,.icMap:before,.icPhone:before,#pageTop a:before{
	background: url(../images/common/sp-icons.png) no-repeat;
}
#info h2 {
	padding: 12px 15px;
	background: #999;
	color: #fff;
}

#info h2 span {
	display: block;
	background-position: 0 -40px;
	width: 77px;
	height: 11px;
	text-indent: -9999px;
}

.arwList li {
	border-bottom: #fff 1px solid;
	position: relative;
}

.arwList li a{
	display: block;
}

.arwList li>a {
	padding: 12px;
	border-bottom: #ccc 1px solid;
	font-size: 14px;
	position: relative;
}

.arwList li:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	display: block;
	width: 10px;
	height: 20px;
	margin-top: -10px;
	background-position: -180px -30px;
}

#actionBtn {
	padding: 15px 3.125%;
	background: #eeebe7;
	border-top: #fff 1px solid;
	border-bottom: #fff 1px solid;
}

#actionBtn a{
	display: block;
}

#actionBtn li:first-child {
	width: 48%;
	float: left;
}

#actionBtn li {
	border: #b3884c 1px solid;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

#actionBtn li a {
	padding: 10px;
	color: #fff;
	border: #cda771 1px solid;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	background-color: #cda771;
	background: -webkit-gradient(linear, left top, left bottom, from(#c19351), to(#9f7a46));
	background: -webkit-linear-gradient(top, #c19351, #9f7a46);
	background: -moz-linear-gradient(top,#c19351,#9f7a46);
	background: linear-gradient(to bottom, #c19351, #9f7a46);
	text-align: center;
}

#actionBtn li:last-child {
	width: 48%;
	float: right;
}

#actionBtn:after {
	content: "";
	display: block;
  clear: both;
}

#actionBtn .icPhone:before {
	content: "";
	display: inline-block;
	background-position: -15px -55px;
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin-top: -3px;
}

#actionBtn .icMap:before {
	content: "";
	display: inline-block;
	background-position: -30px -55px;
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin-top: -3px;
}

#snsBtn {
	padding: 15px 0;
	background: #eeebe7;
	border-top: #ccc 1px solid;
	text-align: center;
}

#snsBtn li {
	display: inline-block;
}

#pageTop {
	border-top: #af936c 1px solid;
	background: #af936c;
}

#pageTop a {
	padding: 10px;
	border-top: #ded3c3 1px solid;
	color: #fff;
	text-align: center;
	display: block;
}

#pageTop a:before {
	content: "";
	display: inline-block;
	background-position: -100px -40px;
	width: 7px;
	height: 8px;
	margin-right: 5px;
}

#copyright {
	padding: 13px 0;
	background: #746e67;
	text-align: center;
	font-family: serif;
	font-size: 11px;
	color: #fff;
	margin-top: 0;
}


	#siteFooter #snsBtn img[alt^="for PC"] {
			width: 100px;
			height: 43px;
			zoom: 0.5;
	}
}


/*# sourceMappingURL=common.css.map */
