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;
}

/* 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;
}
:root {
--header-bg: rgba(0,0,0,0.6);
--text-light: #fff;
--gap: 20px;
}

* { box-sizing: border-box; }

body {
margin: 0;
font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
color: #222;
background: #000;
}

/* Header */
.art-header {
position: fixed;
top: 0;
z-index: 999;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 20px;
width: 100%;
}

.art-header-logo img {
height: 36px;
width: auto;
}

.art-header-link > ul {
margin: 0 50px 0 0;
padding: 0;
display: flex;
gap: var(--gap);
align-items: center;
}

.art-header-link li {
list-style: none;
}

.art-header-link a {
color: var(--text-light);
text-decoration: none;
font-weight: 500;
padding: 6px 4px;
}

.art-header-link a:hover,
.art-header-link a:focus {
text-decoration: underline;
}

/* Hero / video section */
.mv {
position: relative;
min-height: 60vh; /* adjust as needed */
display: grid;
place-items: center;
overflow: hidden;
}

.mv-video {
width: 100%;
height: 100%;
}

.mv-video video {
width: 100%;
height: 100%;
display: block;
object-fit: cover;   /* fill container without letterboxing */
object-position: center;
filter: brightness(0.8);
}
.mv-logo {
position: absolute;
bottom: 5%;
right: 3%;
}
.mv-logo img {
width: 15vw;
}
.mv-txt {
position: absolute;
bottom: 5%;
left: 3%;
}
.mv-txt p {
font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
color: #fff;
font-size: 2.3vw;
font-weight: bold;
line-height: 1.5;
margin: 2vw 0 0;
}

/* ドロップダウンのスタイル */
.header-link-dropdown {
display: inline-block;
position: relative;
}

.header-link-dropdown-content {
display: none;
position: absolute;
min-width: 160px;
z-index: 1;
padding: 15px 0 0;
}

.header-link-dropdown-content a {
color: #fff;
padding: 12px 5px;
text-decoration: none;
display: block;
text-align: left;
font-size: 80%;
}

.header-link-dropdown-content a:hover {

}

.header-link-dropdown:hover .header-link-dropdown-content {
display: block;
}

@media only screen and (max-width: 767px) {
.mv-txt {
bottom: 39%;
left: 3%;
}
.mv-txt p {
font-size: 3.5vw;
}
.mv-logo {
bottom: 35%;
}
.mv-logo img {
width: 30vw;
}
}

/* 通常メニューのスタイル */
.art-header-link {
position: relative;
}

.main-menu {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
}

.main-menu li {
margin-right: 20px;
}

.main-menu li a {
text-decoration: none;
color: #333;
display: block;
padding: 10px 0;
}

/* 言語ドロップダウンのスタイル */
.header-link-dropdown {
position: relative;
}

.header-link-dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}

.header-link-dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}

.header-link-dropdown-content a:hover {
background-color: #f1f1f1;
}

.header-link-dropdown:hover .header-link-dropdown-content {
display: block;
}

/* ハンバーガーメニューのスタイル */
.hamburger-menu {
display: block; /* PC・モバイル両方で表示 */
position: relative;
}

#menu-toggle {
opacity: 0;
position: absolute;
}

.menu-btn {
display: flex;
align-items: center;
position: fixed;
top: 20px;
right: 20px;
width: 26px;
height: 26px;
cursor: pointer;
z-index: 1000;
}

.menu-btn > span,
.menu-btn > span::before,
.menu-btn > span::after {
display: block;
position: absolute;
width: 100%;
height: 2px;
background-color: #fff;
transition-duration: .25s;
}

.menu-btn > span::before {
content: '';
top: -8px;
}

.menu-btn > span::after {
content: '';
top: 8px;
}

.menu-box {
display: block;
position: fixed;
visibility: hidden;
top: 0;
right: -100%;
width: 300px;
height: 100%;
margin: 0;
padding: 80px 0;
list-style: none;
background-color: #0000008a;
box-shadow: 0 0 10px rgba(0, 0, 0, .1);
transition-duration: .25s;
z-index: 999;
overflow-y: auto; /* スクロール可能に */
}

.menu-box ul {
padding: 0;
list-style: none;
margin: 0;
}

.menu-box li {
padding: 12px 24px;
}

.menu-box a {
color: #fff;
text-decoration: none;
font-size: 16px;
display: block;
}

#menu-toggle:checked ~ .menu-btn > span {
transform: rotate(45deg);
}

#menu-toggle:checked ~ .menu-btn > span::before {
top: 0;
transform: rotate(0);
}

#menu-toggle:checked ~ .menu-btn > span::after {
top: 0;
transform: rotate(90deg);
}

#menu-toggle:checked ~ .menu-box {
visibility: visible;
right: 0;
}

/* ハンバーガー内言語メニュー */
.language-dropdown {
display: none;
padding-left: 20px !important;
}

.language-menu.active .language-dropdown {
display: block;
}

.language-dropdown li {
padding: 8px 0;
}

/* 追加リンクのスタイル（オプション） */
.additional-link {
border-top: 1px solid #eee;
}

.additional-link:first-child {
margin-top: 20px;
border-top: 2px solid #ddd;
padding-top: 20px;
}

/* モバイル用のレスポンシブ調整 */
@media (max-width: 768px) {
.art-header-link > ul {
display: none; /* モバイルでは通常メニューを非表示 */
}
}

/*予約*/
.con_search {
background: #fff;
box-shadow: 5px 6px 80px 20px rgba(0, 0, 0, 0.03);
padding: 40px 0
}
@media only screen and (max-width: 767px) {
.con_search {
padding: 1.5em 0
}
}
.con_search .box_search {
width: 90%;
max-width: 1070px;
margin: 0 auto
}
.con_search .box_search * {
box-sizing: border-box
}
.con_search .box_search form {
box-shadow: none;
border-radius: 0;
padding: 0;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: flex-start
}
@media only screen and (max-width: 1024px) {
.con_search .box_search form {
width: 100% !important
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf {
order: 1;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: calc(630 / 1070 * 100%)
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf {
width: calc(680 / 1070 * 100%)
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf {
width: 100%
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 {
padding: 0 5%;
border-left: 1px solid rgba(204, 204, 204, 0.6);
border-right: 1px solid rgba(204, 204, 204, 0.6);
width: calc(290 / 630 * 100%)
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 {
width: 100%
}
}
@media only screen and (min-width: 768px) and (max-width: 896px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 {
padding: 0 3%;
width: calc(310 / 630 * 100%)
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 {
padding: 0;
border: 0 !important
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 .input-container-input-container-da40af {
margin: 0;
width: 100%
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 .input-container-input-container-da40af .search-widget-calendar-9fdfc9 {
width: 100% !important;
background: url(/upload/tenant_1/ic_calendar.png) no-repeat 0% 48%, #fff !important;
padding-left: 1.5em
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735 .input-container-input-container-da40af .search-widget-calendar-9fdfc9 {
border: 1px solid rgba(204, 204, 204, 0.6) !important;
padding-left: 2.5em;
margin-top: 0.5em !important;
height: 50px !important;
background: url(/upload/tenant_1/ic_calendar.png) no-repeat 1em 50%, #fff !important
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
margin: 0;
padding: 0 5%;
border-right: 1px solid rgba(204, 204, 204, 0.6);
width: calc(340 / 630 * 100%)
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
width: 100%
}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
padding: 0 4%
}
}
@media only screen and (min-width: 768px) and (max-width: 896px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
width: calc(320 / 630 * 100%)
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
padding: 0;
border: 0 !important;
margin-top: 1.5em !important
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af input {
width: 100% !important;
background: url(/upload/tenant_1/ic_arr_down.png) no-repeat 100% 50% !important
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af input {
border: 1px solid rgba(204, 204, 204, 0.6) !important;
padding-left: 1.5em;
height: 50px !important;
margin-top: 0.5em !important;
background: url(/upload/tenant_1/ic_arr_down.png) no-repeat 95% 50% !important
}
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf .input-container-title-db81ec {
margin-bottom: 0;
color: #555;
font-weight: 400;
font-size: 93%;
font-family: "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif
}
.con_search .box_search form .search-widget-input-wrapper-eaf5bf input {
font-weight: 500;
border: 0 !important;
padding-left: 0;
font-size: 14px !important;
font-family: "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif !important
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf input {
font-size: 13px !important
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-input-wrapper-eaf5bf input {
font-size: 100% !important
}
}
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 {
order: 2;
width: calc(215 / 1070 * 100%)
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 {
width: 100%
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 {
margin-top: 1.5em
}
}
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 .search-widget-day-use-block-da04c0 {
display: block;
margin-right: 0;
text-align: center
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 .search-widget-day-use-block-da04c0 {
display: inline-block;
text-align: left
}
}
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 .search-widget-day-use-block-da04c0>label {
color: #555;
position: relative;
font-size: 93%;
font-family: "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif
}
@media only screen and (min-width: 768px) {
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 .search-widget-day-use-block-da04c0>label label {
position: absolute;
top: 2em;
left: 50%;
transform: translateX(-50%)
}
}
@media only screen and (min-width: 768px) {
.con_search .box_search form .search-widget-day-use-wrapper-fc1ff9 .switch-switch-e8f4ca {
display: block
}
}
.con_search .box_search form .search-widget-button-wrapper-d2b715 {
order: 3;
border-radius: 900px;
background: url(/upload/tenant_1/bg_ptn02.jpg) center center/cover no-repeat !important;
width: calc(170 / 1070 * 100%);
margin-top: 15px;
}
@media only screen and (max-width: 767px) {
.con_search .box_search form .search-widget-button-wrapper-d2b715 {
width: 100%;
margin-top: 0;
}
}
.con_search .box_search form .search-widget-button-wrapper-d2b715 button {
width: 100%;
font-weight: 500;
color: #fff !important;
background: transparent !important;
transition: all 1s;
text-transform: capitalize;
position: relative;
border-radius: 900px;
overflow: hidden;
margin: 0;
padding: 12px 20px !important;
font-size: 108%;
font-family: "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif !important
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search form .search-widget-button-wrapper-d2b715 button {
padding: 10px !important
}
}
.con_search .box_search form .search-widget-button-wrapper-d2b715 button:hover {
opacity: 1;
background: #3892DC !important
}
.con_search .box_search .box_btn {
display: flex;
flex-wrap: wrap;
margin-top: 1.5em
}
@media only screen and (max-width: 767px) {
.con_search .box_search .box_btn {
margin-top: 1em
}
}
.con_search .box_search .box_btn .btn_txt:not(:last-child) {
margin-right: 40px
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search .box_btn .btn_txt:not(:last-child) {
margin-right: 30px
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search .box_btn .btn_txt:not(:last-child) {
margin-right: 1.5em
}
}
.con_search .box_search .box_btn .btn_txt a {
position: relative;
padding-right: 20px;
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease
}
@media only screen and (max-width: 767px) {
.con_search .box_search .box_btn .btn_txt a {
padding-right: 1.5em
}
}
@media only screen and (min-width: 1025px) {
.con_search .box_search .box_btn .btn_txt a {
font-size: 100%
}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.con_search .box_search .box_btn .btn_txt a {
font-size: 93%
}
}
@media only screen and (max-width: 767px) {
.con_search .box_search .box_btn .btn_txt a {
font-size: 85%
}
}
.con_search .box_search .box_btn .btn_txt a:hover {
opacity: .7
}
.con_search .box_search .box_btn .btn_txt .ic {
background: none;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
margin-right: 0
}
.con_search .box_search .box_btn .btn_txt .ic::before {
content: url(/upload/tenant_1/ic_arr_down.png)
}
.con_search .box_search .box_btn .btn_txt .ic::after {
display: none
}
