@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */

/* cormorant-infant-500 - latin */
@font-face {
font-display: swap;
font-family: 'Cormorant Infant';
font-style: normal;
font-weight: 500;
src: url('../fonts/cormorant-infant-v22-latin-500.woff2') format('woff2');
}
/* cormorant-infant-600 - latin */
@font-face {
font-display: swap;
font-family: 'Cormorant Infant';
font-style: normal;
font-weight: 600;
src: url('../fonts/cormorant-infant-v22-latin-600.woff2') format('woff2');
}

html { font-size: 0.625vw; /* 10px / 1600px * 100 */}

body { min-width: 1280px; min-height: 100vh; background: #fff; color: #000; font-weight: normal; line-height: 1.5;
font-family:"Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
-webkit-text-size-adjust: 100%; position: relative; font-feature-settings: "palt"; letter-spacing: 0.08em; font-size: 1.6rem; }

input,
select,
textarea { font-size: 13px;}

div { box-sizing: border-box;}

a { color: #555; text-decoration: none; transition: opacity 0.5s;}
a:hover { color: #555; text-decoration: none; opacity: 0.7;}
/*a img { filter: brightness(1); transition: filter 0.5s !important;}
a:hover img { filter: brightness(1.4); opacity: 1;}*/

.ofi { object-fit: cover; width: 100%; height: 100%;}
.br_sp,
.view_sp { display: none;}

.mincho{ font-family: "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;}
.gothic{ font-family:"Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;}
.en{ font-family: 'Cormorant Infant'; font-weight: 500;}

.ui-datepicker{ z-index: 20 !important;}

@media screen and (max-width: 600px) {
html { font-size: 2.6vw; /* 10px / 375px * 100 */}

body { font-size: 1.6rem; }

input,
select,
textarea { font-size: 16px;}

body { min-width: 0;}
.br_sp,
.view_sp { display: block;}
.br_pc,
.view_pc { display: none !important;}
}


/* 画像パララックス */
.prx-outer { overflow: hidden; position: relative; }
.prx-inner { height: 130%; }
.prx-inner img { width: 100%; height: 100%; object-fit: cover;}

/* 共通ボタンtype01（ベース）*/
.cmn_btn_01 a { position: relative; display: flex; align-items: center; justify-content: center; height: 48px; font-size: clamp(14px,1.6rem,18px); letter-spacing: 0.16em; color: #001842; border: 1px solid #001842; border-radius: 48px; padding-top: 1px; overflow: hidden; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;}
.cmn_btn_01 a::before { content: ""; position: absolute; inset: 0; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: right top; background: rgba(0,24,66,0.05);}
.cmn_btn_01 a::before { transition: transform 0.5s; }
.cmn_btn_01 a:hover { opacity: 1;}
.cmn_btn_01 a:hover::before { transform: scale(1, 1); transform-origin: left top; }

@media screen and (max-width: 600px) {
.cmn_btn_01 a { height: 42px; font-size: 13px; padding-top: 0; }
}

/* 共通ボタンtype01（黒ライン角丸枠・黒文字）*/
.cmn_btn_01.blk a { color: #000; border: 1px solid #000;}
.cmn_btn_01.blk a::before { background: rgba(0,0,0,0.1);}

/* 共通ボタンtype01（白ライン角丸枠・白文字）*/
.cmn_btn_01.wht a { color: #fff; border: 1px solid #fff;}
.cmn_btn_01.wht a::before { background: rgba(255,255,255,0.1);}

/* 共通ボタンtype01（青ライン角丸枠・青文字）*/
.cmn_btn_01.blu a { color: #001842; border: 1px solid #001842;}
.cmn_btn_01.blu a::before { background: rgba(0,24,66,0.05);}


@media screen and (max-width: 600px) {
.cmn_btn_02 a { height: 42px; font-size: 13px; padding-top: 0; }
}


/* ---------------------------------------------------
	Global Header
------------------------------------------------------ */
#g_header { position: absolute; top: 0; left: 0; width: 100%; z-index: 21;}
#g_header .hd_logo{ margin: 2.1% 0 0 2.1%; width: 16.5%;}
#g_header .hd_nav{ position: absolute; top: 30%; right: 180px; z-index: 4; display: flex; justify-content: center; align-items: center;}
#g_header .hd_nav li{ margin: 0 10px;}
#g_header .hd_nav li a{ display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px; color: #fff;}
#g_header .hd_nav li a.switch { position: relative; cursor: pointer; }
#g_header .hd_nav li a:hover{ opacity: 1;}
#g_header .hd_nav li a span{ display: block; font-size: 1.1rem;}
#g_header .hd_nav li a span.en{ font-size: 2rem; transition: color 0.5s; }
#g_header .hd_nav li a:hover span.en,
#g_header .hd_nav li a.active span.en{ color: #f0c161;}
#g_header .hd_nav .hd_nav_in { position: absolute; top: 100%; left: 0; z-index: 2; background: rgba(0,0,0,0.8); width: 100%; opacity: 0; visibility: hidden; transition: opacity 0.5s ease-out, visibility 0.5s ease-out; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; padding: 0 0 20px;}
#g_header .hd_nav .hd_nav_in.active { opacity: 1; visibility: visible;}
#g_header .hd_nav .hd_nav_in dt{ width: 100%; color: #f0c161; font-size: 2.6rem; text-align: center; padding: 40px 0 30px;}
#g_header .hd_nav .hd_nav_in dd{ width: 25%; padding: 0 0 40px;}
#g_header .hd_nav .hd_nav_in dd a{ padding: 0;}
#g_header .hd_nav .hd_nav_in dd a span{ padding: 5px 0 0;}
#g_header .hd_nav .hd_nav_in dd a span.en{ font-size: 1.8rem; line-height: 1.2; letter-spacing: 0.05rem; transition: color 0.5s; text-align: center; padding: 15px 0 0;}
#g_header .hd_menu{ position: fixed; top: 0; right: 0; z-index: 30; background: rgba(0,0,0,0.30); width: 150px; height: 150px; }
#g_header .hd_menu a{ display: flex; justify-content: center; align-items: flex-start; flex-direction: column; width: 100%; height: 100%; color: #fff; position: relative; padding: 25px 0 0; box-sizing: border-box;}
#g_header .hd_menu a .bar{ width: 80px; height: 1px; background: #fff; margin: 0 0 15px 35px; text-indent: 100%; white-space: nowrap; overflow: hidden; transition: all 0.5s;}
#g_header .hd_menu a:hover .bar:nth-of-type(2){ width: 60px;}
#g_header .hd_menu a .txt{ width: 100%; text-align: center; font-size: 16px;}
#g_header .hd_lang{ position: absolute; top: 180px; right: 1.5%; z-index: 9; filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.6));}
#g_header .hd_lang a{ display: inline-block; width: auto; color: #fff; background: url("../img/ico_lang_01.svg") no-repeat center left; background-size: 18px; padding: 0 0 0 25px; transition: color 0.5s;}
#g_header .hd_lang a:hover{ opacity: 1; color: #f0c161;}

@media screen and (max-width: 600px) {
#g_header .hd_logo{ margin: 3% 0 0 3%; width: 36%;}
#g_header .hd_menu{ background: rgba(0,0,0,0.30); width: 60px; height: 60px; }
#g_header .hd_menu a{ padding: 10px 0 0;}
#g_header .hd_menu a .bar{ width: 35px; margin: 0 0 10px 12px;}
#g_header .hd_menu a:hover .bar:nth-of-type(2){ width: 25px;}
#g_header .hd_menu a .txt{ font-size: 10px;}
#g_header .hd_lang{ top: 40%; right: 80px; font-size: 14px;}
#g_header .hd_lang a{ background: url("../img/ico_lang_01.svg") no-repeat center left; background-size: 16px; padding: 0 0 0 20px;}
}

/* ---------------------------------------------------
Global Navigation
------------------------------------------------------ */
.pos_fix { overflow: hidden;}
#menuOuter { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 100; /*background: rgba(255,255,255,1);*/ overflow: auto; pointer-events: none; transition: 0.75s; opacity: 0;}
#menuOuter.active { pointer-events: auto; opacity: 1;}
#menuInner { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 0; cursor: pointer; background: url("../img/gn_bg_01.webp") no-repeat right top; background-size: auto 100%;}
#menuInner::after{ content:""; width: 50%; height: 100%; position: fixed; left: 0; top: 0; z-index: 1; background: #fff; }
#gnav { width: 900px; min-height: 100%; margin: 0 auto; padding: 40px 100px; box-sizing: border-box; background: #fff; position: relative; z-index: 15; opacity: 0;}
#menuOuter.active #gnav{ opacity: 1;}
#gnav .close_menu { display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; color: #fff; padding: 60px 0 0 0; box-sizing: border-box; transition: color 0.5s;}
#gnav .close_menu::before,
#gnav .close_menu::after { content: ''; width: 70px; height: 1px; background: #fff; transform-origin: center center; position: absolute; top: 50%; left: 50%; margin: -10px 0 0 0; transition: background 0.5s; }
#gnav .close_menu::before { transform: translate(-50%, -20%) rotate(-45deg);}
#gnav .close_menu::after { transform: translate(-50%, -20%) rotate(45deg);}
#gnav .close_menu:hover{ color: #001842;}
#gnav .close_menu:hover::before,
#gnav .close_menu:hover::after { background: #001842;}
#gnav .close_menu.gn_close_top { position: fixed; top: 0; right: 0; z-index: 20; /*background: rgba(0,0,0,0.30);*/ width: 150px; height: 150px;}
#gnav .close_menu.gn_close_btm { position: relative; color: #001842;}
#gnav .close_menu.gn_close_btm::before,
#gnav .close_menu.gn_close_btm::after { background: #001842;}
#gnav .close_menu.gn_close_btm:hover{ color: #A77510;}
#gnav .gn_logo { display: block; width: 264px; margin: 0 auto; padding: 0 0 50px;}
#gnav a{ color: #001842;}
#gnav .gn_nav{ column-count: 2;}
#gnav .gn_nav li{ width: 100%; box-sizing: border-box; display: inline-block; font-size: 20px; padding: 20px 0 0;}
#gnav .gn_nav li a{ display: inline-block;}
#gnav .gn_nav li .en{ font-weight: 600;}
#gnav .gn_nav li a:hover{ color: #A77510;}
#gnav .gn_nav .gn_nav_in li a{ font-size: 14px; padding: 0 0 0 35px; position: relative; }
#gnav .gn_nav .gn_nav_in li a::before{ content: ""; width: 8px; height: 1px; background: #001842; position: absolute; top: 0.7em; left: 17px;}
#gnav .gn_tit{ position: relative; display: block; margin: 60px 0; overflow: hidden;}
#gnav .gn_tit span{ font-weight: 600; font-size: 20px; background: #fff; display: inline-block; margin: 0; padding: 0 10px 0 0; position: relative; z-index: 2;}
#gnav .gn_tit::after{ content: ""; width: 100%; height: 1px; background: #bfc5d0; position: absolute; top: 50%; right: 0; z-index: 1;}
#gnav .gn_wrap_01{ display: flex; justify-content: space-between; align-items: flex-start;}
#gnav .gn_rsrv{ width: 48%; text-align: center;}
#gnav .gn_rsrv .gn_btn_01{ font-size: 16px;}
#gnav .gn_rsrv .gn_btn_01 a{ transition: color 0.5s;}
/*#gnav .gn_rsrv .gn_btn_01 a:hover{ color: #A77510;}*/
#gnav .gn_rsrv .gn_btn_02{ font-size: 16px; margin: 10px 0 0;}
#gnav .gn_rsrv .gn_btn_02 a{ transition: color 0.5s; padding: 10px 0; display: inline-block;}
#gnav .gn_rsrv .gn_btn_02 a:hover{ color: #A77510;}
#gnav .gn_tel{ width: 48%; text-align: center;}
#gnav .gn_tel .gn_telnum{ font-size: 40px;}
#gnav .gn_tel .gn_telnum .tel-link{ background: url("../img/ico_tel_02.svg") no-repeat left center; background-size: 26px; padding: 0 0 0 30px; display: inline-block;}
#gnav .gn_tel .gn_open{ font-size: 16px; padding: 10px 0 0;}
#gnav .gn_wrap_02{ display: flex; justify-content: flex-start; align-items: center; padding: 60px 0 40px;}
#gnav .gn_insta{ display: inline-block; width: 19px; height: 19px; margin: 0 20px 0 0; line-height: 1;}
#gnav .gn_lang a{ background: #2b4263 url("../img/ico_lang_01.svg") no-repeat left 20px center; background-size: 19px; padding: 8px 30px 8px 50px; color: #fff;}

@media screen and (max-width: 600px) {
#menuOuter { background: #182942;}
#menuInner { background: none;}
#menuInner::after{ display: none; }
#gnav { width: 80%; padding: 30px 0; background: none; display: flex; flex-direction: column; align-items: center;}
#gnav .close_menu { font-size: 10px; color: #fff; padding: 32px 0 0 0;}
#gnav .close_menu::before,
#gnav .close_menu::after { width: 35px; margin: -9px 0 0 0;}
#gnav .close_menu:hover{ color: #f0c161;}
#gnav .close_menu:hover::before,
#gnav .close_menu:hover::after { background: #f0c161;}
#gnav .close_menu.gn_close_top { width: 60px; height: 60px;}
#gnav .close_menu.gn_close_btm { color: #fff;}
#gnav .close_menu.gn_close_btm::before,
#gnav .close_menu.gn_close_btm::after { background: #fff; transition: background 0.5s;}
#gnav .close_menu.gn_close_btm:hover::before,
#gnav .close_menu.gn_close_btm:hover::after { background: #f0c161;}
#gnav .close_menu.gn_close_btm:hover{ color: #f0c161;}
#gnav .gn_logo { width: 50%; padding: 0 0 20px;}
#gnav a{ color: #fff;}
#gnav .gn_nav{ column-count: 1; padding: 0 0 50px; display: flex; flex-direction: column;}
#gnav .gn_nav li{ font-size: 1.4rem; padding: 20px 0 0; color: #fff;}
#gnav .gn_nav li a{ color: #fff;}
#gnav .gn_nav li .en{ font-weight: 600; font-size: 1.6rem;}
#gnav .gn_nav li a:hover{ color: #f0c161;}
#gnav .gn_nav .gn_nav_in{ display: flex; flex-direction: column;}
#gnav .gn_nav .gn_nav_in li{ padding: 15px 0 0;}
#gnav .gn_nav .gn_nav_in li a{ font-size: 1.4rem; padding: 0 0 0 20px; position: relative; }
#gnav .gn_nav .gn_nav_in li a::before{ width: 4px; background: #fff; top: 0.7em; left: 10px;}
#gnav .gn_wrap_01{ width: 100%; align-items: center; flex-direction: column;}
#gnav .gn_rsrv{ width: 100%;}
#gnav .gn_rsrv .gn_btn_01{ font-size: 1.4rem; }
#gnav .gn_rsrv .gn_btn_01 a{ color: #fff; border: solid 1px #fff; padding: 0 25px;}
#gnav .gn_rsrv .gn_btn_01 a:hover{ color: #f0c161;}
#gnav .gn_rsrv .gn_btn_02{ font-size: 1.4rem; margin: 10px 0 20px;}
#gnav .gn_rsrv .gn_btn_02 a{ padding: 10px 0; color: #fff;}
#gnav .gn_rsrv .gn_btn_02 a:hover{ color: #f0c161;}
#gnav .gn_tel{ width: 100%; color: #fff;}
#gnav .gn_tel .gn_telnum{ font-size: 2.3rem;}
#gnav .gn_tel .gn_telnum .tel-link{ background: url("../img/ico_tel_01.svg") no-repeat left center; background-size: 22px; padding: 0 0 0 30px; color: #fff;}
#gnav .gn_tel .gn_open{ font-size: 1.4rem; padding: 10px 0 0; color: #fff;}
#gnav .gn_wrap_02{ justify-content: center; padding: 30px 0 40px;}
}

/* ---------------------------------------------------
	Main Title
------------------------------------------------------ */
.main_tit{ position: relative; z-index: 1;}
.main_tit::after{ content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; background: linear-gradient(180deg,rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0.7) 100%);}
.main_tit .tit{ position: absolute; top: 50%; left: 0; right: 0; margin: 0 auto; color: #fff; display: flex; flex-direction: column; align-items: center;}
.main_tit .tit span.en{ font-size: 6rem; letter-spacing: 0.05em;}
.main_tit .tit span.ja{ font-size: 3rem;}
.main_tit img{ width: 100%; height: 50vh; object-fit: cover;}

@media screen and (max-width: 600px) {
.main_tit .tit{ margin: 2% auto 0;}
.main_tit .tit span.en{ font-size: 30px; letter-spacing: 0.05em;}
.main_tit .tit span.ja{ font-size: 20px;}
.main_tit img{ width: 100%; height: 350px; object-fit: cover;}
}

/* breadcrumb */
/*#contents_wrap #breadcrumb { margin: 5px auto 25px; width: 100%; font-size: 12px; text-align: right;}
#contents_wrap #breadcrumb li { display: inline-block; line-height: 1.6;}
#contents_wrap #breadcrumb li:before { content: '>'; margin: 0 5px;}
#contents_wrap #breadcrumb li:first-child:before { display: none;}*/

/* ---------------------------------------------------
Section Reservation
------------------------------------------------------ */
.sec_reservation{ position: relative; color: #fff;}
.sec_reservation .tit_01{ position: absolute; top: 140px; left: 0; width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.sec_reservation .tit_01 .copy_01{ font-size: 8rem; line-height: 1; letter-spacing: 0.05em; position: relative; z-index: 1;}
.sec_reservation .tit_01 .copy_02{ width: 22%; margin: -1.2em auto 0; position: relative; z-index: 2;}
.sec_reservation .box_in{ position: absolute; top: 270px; left: 0; right: 0; z-index: 2; width: 1200px; height: 300px; margin: 0 auto; background: rgba(24,41,66,0.9); display: flex; flex-direction: column; justify-content: center; align-items: center;}
.sec_reservation .bestrate{ color: #f0c161; display: flex; align-items: center; justify-content: center; padding: 0 0 30px 0;}
.sec_reservation .bestrate span{ font-size: 24px;}
.sec_reservation .bestrate span.ico{ width: 67px; margin: 0 30px 0 0;}
.sec_reservation .bestrate span.ico img{ width: 100%; height: auto;}
.sec_reservation .btn_01{ width: 85%; margin: 0 auto;}
.sec_reservation .btn_01 a{ height: 90px; line-height: 90px; border-radius: 90px; font-size: 20px;}
/*.sec_reservation .telnum{ font-size: 40px; line-height: 1.1; letter-spacing: 0.1em; margin: 40px 0 15px; text-align: center; }
.sec_reservation .telnum .tel-link{ background: url("../img/ico_tel_01.svg") no-repeat center left; background-size: 26px; padding: 0 0 0 36px; color: #fff;}
.sec_reservation .open{ font-size: 16px; line-height: 1.1; text-align: center;}*/
.sec_reservation .img_01{ width: 100%; height: 750px; position: relative; z-index: 0;}

@media screen and (max-width: 600px) {
.sec_reservation .tit_01{ top: 40px;}
.sec_reservation .tit_01 .copy_01{ font-size: 32px;}
.sec_reservation .tit_01 .copy_02{ width: 40%; margin: -0.7em auto 0;}
.sec_reservation .box_in{ top: 100px; width: 90%; height: auto; padding: 0 0 30px;}
.sec_reservation .bestrate{ flex-direction: column; padding: 30px 5%; }
.sec_reservation .bestrate span{ font-size: 18px; text-align: center;}
.sec_reservation .bestrate span.ico{ width: 50px; margin: 0 auto 10px;}
.sec_reservation .btn_01{ width: 85%; margin: 0 auto;}
.sec_reservation .btn_01 a{ height: 60px; line-height: 60px; border-radius: 60px; font-size: 16px;}
/*.sec_reservation .telnum{ font-size: 30px; line-height: 1.1; letter-spacing: 0.1em; margin: 20px 0 10px; text-align: center; }
.sec_reservation .open{ font-size: 14px;}*/
.sec_reservation .img_01{ height: 430px;}
}

/* ---------------------------------------------------
Section Banners Bottom
------------------------------------------------------ */
.box_bnrs_btm{ background: #e7e7e3; padding: 130px 0 30px;}
.box_bnrs_btm .box_in{ display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 90%; max-width: 1200px; margin: 0 auto;}
.box_bnrs_btm .box_in > div{ width: 300px; height: auto; margin: 0 25px 50px;}
.box_bnrs_btm .box_in > div img{ width: 100%; height: auto;}
.box_bnrs_btm .bnr_02 button{ border: none; padding: 0; height: auto; cursor: pointer;}
.overlay { position: fixed; width: 100%; height: 100%; background: #000; opacity: .6; display: none; z-index: 100; top: 0; left: 0; right: 0; }
.overlay.open { display: block; }
.modal { width: 80%; max-width: 1000px; height: 500px; border: none; position: fixed; top: 50%; left: 50%; z-index: 101; transform: translate(-50%, -50%); background: #fff; display: flex; justify-content: center; align-items: center; pointer-events: none; transition: 0.75s; opacity: 0;}
.modal.open { pointer-events: auto; opacity: 1;}
.modal-close{ position: absolute; top: -50px; right: -50px; background: #fff; width: 50px; height: 50px; border-radius: 50px; border: none; display: block; text-indent: 100%; white-space: nowrap; overflow: hidden;}
.modal-close::before,
.modal-close::after{ content: ""; display: block; width: 30px; height: 1px; background: #000; position: absolute; top: 50%; left: 50%; transform-origin: center center;}
.modal-close::before{ transform: translate(-50%, -50%) rotate(45deg);}
.modal-close::after{ transform: translate(-50%, -50%) rotate(-45deg);}
.modal .list_furusato{ width: 500px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.modal .list_furusato li{ width: 200px; margin: 20px 0;}

@media screen and (max-width: 600px) {
.box_bnrs_btm{ padding: 50px 0 30px;}
.box_bnrs_btm .box_in{ flex-direction: column; width: 80%; max-width: 80%;}
.box_bnrs_btm .box_in > div{ width: 100%; margin: 0 0 20px;}
.modal { width: 90%; max-width: 90%; height: auto;}
.modal-close{ top: -5%; right: -5%; width: 50px; height: 50px; border-radius: 50px;}
.modal-close::before,
.modal-close::after{ width: 30px;}
.modal .list_furusato{ width: 100%; margin: 0; padding: 30px 0; flex-direction: column;}
.modal .list_furusato li{ width: 200px; margin: 5px auto;}
}

/* ---------------------------------------------------
	Global Footer
------------------------------------------------------ */
#g_footer{ display: flex; align-items: flex-start; flex-wrap: wrap; background: #182942; color: #fff; overflow: hidden;}
#g_footer a{ color: #fff;}
#g_footer .ft_img_01{ width: 100%; order: 1;}
#g_footer .ft_img_01 img{ width: 100%; height: auto;}
#g_footer .ft_box_01{ width: 57.5%; padding: 100px 0; order: 3;}
#g_footer .ft_box_01 .ft_list_01{ display: flex;}
#g_footer .ft_box_01 .ft_list_01 li{ width: 50%;}
#g_footer .ft_box_01 .ft_list_01 li a{ display: block; width: 100%; height: 100%; position: relative;}
#g_footer .ft_box_01 .ft_list_01 li a .floor{ position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.6); z-index: 3; padding: 10px 30px; display: flex; align-items: center;}
#g_footer .ft_box_01 .ft_list_01 li a .floor .ico{ margin: 0 0 0 10px;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt .logo{ text-align: center; padding: 0 0 25px;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt .tel{ font-size: 1.2rem; line-height: 1.7;}
#g_footer .ft_box_01 .ft_name{ font-size: 2.0rem; padding: 40px 0 30px;}
#g_footer .ft_box_01 .ft_addr,
#g_footer .ft_box_01 .ft_telnum{ font-size: 1.4rem; line-height: 1.7;}
#g_footer .ft_box_01 .ft_telnum{ padding: 0 0 20px;}
#g_footer .ft_box_01 .ft_rsrv{ display: none;}
#g_footer .ft_box_01 .ft_wrap{ display: flex; justify-content: flex-start; align-items: center;}
#g_footer .ft_box_01 .ft_insta{ display: inline-block; width: 19px; height: 19px; margin: 0 20px 0 0; line-height: 1;}
#g_footer .ft_box_01 .ft_lang{ background: #2b4263 url("../img/ico_lang_01.svg") no-repeat left 20px center; background-size: 19px; padding: 8px 30px 8px 50px;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_img{ position: relative; z-index: 1;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_img img{ width: 100%; height: auto;}
#g_footer .ft_box_02{ width: 35.8%; padding: 100px 0 0 10%; box-sizing: border-box; order: 2;}
#g_footer .ft_box_02 .ft_list_02 li{ padding: 0 0 20px;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in{ font-size: 1.4rem;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li{ padding: 10px 0 0;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li a{ padding: 0 0 0 35px; position: relative;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li a::before{ content: ""; width: 8px; height: 1px; background: #fff; position: absolute; top: 0.5em; left: 17px;}
#g_footer .ft_copyright{ width: 6.7%; order: 4; padding: 100px 0 0; position: relative;}
#g_footer .ft_copyright small{ font-size: 1rem; transform: rotate(90deg); transform-origin: left bottom; width: 11em; display: block; position: absolute; bottom: -150%; left: 40%; white-space: nowrap;}

@media screen and (max-width: 600px) {
#g_footer{ flex-direction: column; background: #fff; color: #001842;}
#g_footer a{ color: #001842;}
#g_footer .ft_box_01{ width: 100%; padding: 50px 0; order: 2; background: #182942; color: #fff; text-align: center;}
#g_footer .ft_box_01 a{ color: #fff;}
#g_footer .ft_box_01 .ft_list_01{ flex-direction: column; width: 80%; margin: 0 auto;}
#g_footer .ft_box_01 .ft_list_01 li{ width: 100%; margin: 0 0 5%;}
#g_footer .ft_box_01 .ft_list_01 li a .floor{ display: none;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt .logo{ padding: 10px 0;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt .logo img{ width: auto; height: 36px;}
#g_footer .ft_box_01 .ft_list_01 li a .ft_txt .tel{ font-size: 1.2rem; line-height: 1.7; white-space: nowrap;}
#g_footer .ft_box_01 .ft_name{ font-size: 1.2rem; padding: 20px 0 10px;}
#g_footer .ft_box_01 .ft_addr,
#g_footer .ft_box_01 .ft_telnum{ font-size: 1rem; line-height: 1.7;}
#g_footer .ft_box_01 .ft_telnum{ font-size: 2.4rem; padding: 0 0 20px; font-family: 'Cormorant Infant'; display: flex; justify-content: center; align-items: center;}
#g_footer .ft_box_01 .ft_telnum span{ text-indent: 100%; white-space: nowrap; overflow: hidden; background: url("../img/ico_tel_01.svg") no-repeat 0 0; background-size: 19px; width: 19px; height: 19px; display: inline-block; margin: 0 5px 0 0;}
#g_footer .ft_box_01 .ft_rsrv{ padding: 0 10% 20px; display: block; box-sizing: border-box;}
#g_footer .ft_box_01 .ft_rsrv a{ width: 100%; border: solid 1px #fff; border-radius: 50px; text-align: center; font-size: 1.4rem; display: inline-block; padding: 10px 30px; box-sizing: border-box;}
#g_footer .ft_box_01 .ft_wrap{ display: flex; justify-content: center; align-items: center;}
#g_footer .ft_box_01 .ft_insta{ margin: 0 15px 0 0;}
#g_footer .ft_box_02{ width: auto; margin: 0 auto; padding: 50px 0; order: 3;}
#g_footer .ft_box_02 .ft_list_02 li{ padding: 0 0 20px;}
#g_footer .ft_box_02 .ft_list_02 li .en{ font-weight: 600; font-size: 1.6rem;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in{ font-size: 1.4rem;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li{ padding: 15px 0 0;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li a{ padding: 0 0 0 25px; position: relative;}
#g_footer .ft_box_02 .ft_list_02 .ft_list_in li a::before{ width: 4px; background: #001842; left: 10px;}
#g_footer .ft_copyright{ width: 100%; order: 4; padding: 0 0 40px;}
#g_footer .ft_copyright small{ font-size: 1rem; transform: rotate(0deg);width: 100%; position: static; text-align: center;}
}
