@charset "utf-8";
/* Cormorant Infant */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300;400;500&display=swap');

/* ===================================================
	Reset
====================================================== */
#customer_header *,
#customer_footer * { -webkit-box-sizing: content-box; box-sizing: content-box;}

#customer_header h1,
#customer_header h2,
#customer_header h3,
#customer_header h4,
#customer_header h5,
#customer_header h6,
#customer_footer h1,
#customer_footer h2,
#customer_footer h3,
#customer_footer h4,
#customer_footer h5,
#customer_footer h6 { margin: 0;}

#customer_header ul,
#customer_header ol,
#customer_header li,
#customer_footer ul,
#customer_footer ol,
#customer_footer li { padding: 0; margin: 0; list-style-type: none; }

#customer_header dl,
#customer_footer dl { padding: 0; margin: 0;}

#customer_header p,
#customer_footer p { padding: 0; margin: 0;}


/* ===================================================
	Custom CSS
	※ 予約番自体のコンテンツに影響するのを避けるため、
	　必ず #customer_header または #customer_footer からの継承で記述してください。
====================================================== */
body { min-width: 1200px; background: url(../img/bg_w.gif)#fff; color: #000; }

#customer_header,
#customer_footer {
	font-size: 16px; font-weight: normal; line-height: 1.5;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
	-webkit-text-size-adjust: 100%;

	font-feature-settings: "palt"; letter-spacing: 0.1em;
}

#customer_header header,
#customer_header nav,
#customer_header div,
#customer_header p,
#customer_header ul,
#customer_header ol,
#customer_header li,
#customer_header dl,
#customer_header dt,
#customer_header dd,
#customer_header span,
#customer_header em,
#customer_header strong,
#customer_header a,
#customer_footer nav,
#customer_footer footer,
#customer_footer div,
#customer_footer p,
#customer_footer ul,
#customer_footer ol,
#customer_footer li,
#customer_footer dl,
#customer_footer dt,
#customer_footer dd,
#customer_footer span,
#customer_footer em,
#customer_footer strong,
#customer_footer a {
	box-sizing: border-box;
}

#customer_header .cormorant,
#customer_footer .cormorant { font-family: 'Cormorant Infant', serif; font-weight: 500; }

#customer_header a,
#customer_footer a { color: #000; text-decoration: none;}
#customer_header a:hover,
#customer_footer a:hover { color: #000; }
#customer_header a:not([class]):hover,
#customer_footer a:not([class]):hover { text-decoration: underline;}

#customer_header img,
#customer_footer img { max-width: 100%; height: auto; }

#customer_header .inner_md,
#customer_footer .inner_md { width: 1200px; max-width: calc(92% - 85px); margin: 0 auto; transform: translateX(-42.5px); }
#customer_header .inner_lg,
#customer_footer .inner_lg { width: 1330px; max-width: calc(92% - 85px); margin: 0 auto; transform: translateX(-42.5px); }

#customer_header .v_rl { writing-mode: vertical-rl; font-feature-settings: "palt" 0; }
#customer_header .upr { -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    -moz-text-combine-upright: all;
    text-combine-upright: all;
	letter-spacing: 0; }
#customer_header .ofi,
#customer_footer .ofi { object-fit: cover; width: 100%; height: 100%; }
#customer_header .sp,
#customer_footer .sp { display: none; }

@media screen and (orientation:landscape) {
	body { width: 100%;}
}
@media screen and (min-width: 769px) {
	#customer_header .tel-link,
	#customer_footer .tel-link { pointer-events: none; }
}
@media screen and (max-width: 768px) {
	body { min-width: 0; font-size: 14px; background-size: 85%; }

	#customer_header .inner_md,
	#customer_footer .inner_md,
	#customer_header .inner_lg,
	#customer_footer .inner_lg { transform: none; max-width: 92%; }
	#customer_header .sp,
	#customer_footer .sp { display: inline; }
	#customer_header .pc,
	#customer_footer .pc { display: none; }
}


/* Common Parts
------------------------------------------------------ */
#customer_header .lang,
#customer_footer .lang { display: flex; }
#customer_header .lang::before,
#customer_footer .lang::before { content: ''; display: block; width: 28px; height: 24px; background: url(../img/ico_lang_w.svg)no-repeat center left/18px; }
#customer_header .lang li+li::before,
#customer_footer .lang li+li::before { content: '/'; margin: 0 6px; }
#customer_header .lang a,
#customer_footer .lang a { text-decoration: underline; color: #fff; }
#customer_header .lang a:hover,
#customer_footer .lang a:hover { text-decoration: none; }
#customer_header .tel_col,
#customer_footer .tel_col { position: relative; padding-left: 28px; font-size: 28px; letter-spacing: .1em; }
#customer_header .tel_col::before,
#customer_footer .tel_col::before { position: absolute; top: 0; left: 0; content: ''; display: inline-block; width: 28px; height: 42px; background: url(../img/ico_tel_bk.svg)no-repeat center left/18px; }
#customer_header .sns_links,
#customer_footer .sns_links { display: flex; align-items: center; }
#customer_header .sns_links li+li,
#customer_footer .sns_links li+li { margin-left: 12px; }
#customer_header .sns_links a,
#customer_footer .sns_links a { transition: opacity .5s; }
#customer_header .logo a:hover,
#customer_footer .logo a:hover { text-decoration: none; }
#customer_header .logo span,
#customer_footer .logo span { display: block; margin-top: 16px; text-align: center; letter-spacing: .14em; }
@media screen and (hover: hover) {
	#customer_header .sns_links a:hover,
	#customer_footer .sns_links a:hover { opacity: .6; }
}
@media screen and (max-width: 768px) {
	#customer_header .logo span,
	#customer_footer .logo span { margin-top: 8px; font-size: max(10px, 2.1vw); }
}


/* Links */
#customer_header .link_run,
#customer_footer .link_run { position: relative; display: inline-block; }
#customer_header .link_run:hover,
#customer_footer .link_run:hover { text-decoration: none; }
#customer_header .link_run::before,
#customer_footer .link_run::before { position: absolute; left: 0; bottom: 0; content: ''; display: block; width: 0; height: 1px; background: #fff; transition: width .5s; }
#customer_header .link_bg_lr,
#customer_footer .link_bg_lr { position: relative; z-index: 0; overflow: hidden; }
#customer_header .link_bg_lr::before,
#customer_footer .link_bg_lr::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; content: ''; transition: transform .3s; transform-origin: right top; transform: scale(0, 1); background-color: #dfebf7; }
#customer_header .cmn_btn_01,
#customer_footer .cmn_btn_01 { position: relative; width: 435px; max-width: 100%; display: inline-block; line-height: 80px; padding: 0 25px 0 35px; box-sizing: border-box; font-size: 20px; color: #0f1f30; background: #fff; letter-spacing: .1em; }
#customer_header .cmn_btn_01:hover,
#customer_footer .cmn_btn_01:hover { text-decoration: none; }
#customer_header .cmn_btn_01::after,
#customer_footer .cmn_btn_01::after { position: absolute; top: calc(50% - 5px); right: 35px; content: ''; display: block; width: 18px; height: 10px; background: url(../img/btn_arrow.svg)no-repeat center/contain; }
@media screen and (hover: hover) {
	#customer_header .link_run:hover::before,
	#customer_footer .link_run:hover::before { width: 100%; }
	#customer_header .link_bg_lr:hover::before,
	#customer_footer .link_bg_lr:hover::before { transform-origin: left top; transform: scale(1, 1); }
}
@media screen and (max-width: 768px) {
	#customer_header .cmn_btn_01,
	#customer_footer .cmn_btn_01 { width: 100%; line-height: max(60px, 13vw); font-size: 16px;}
}


/* Header
------------------------------------------------------ */
#customer_header #header_wrap { position: relative; }
#customer_header #h_menu {
	display: flex; justify-content: space-between; align-items: flex-start; width: 100%; padding: 40px 85px 0 0;
	position: absolute; top: 0; left: 0; z-index: 10; }
#customer_header #h_menu .logo { margin-left: calc(50vw - 685px); }
#customer_header #h_menu .logo a { display: block; transition: opacity .5s; }
#customer_header #h_menu .links { display: flex; align-items: center; padding-right: 60px; color: #fff; }
#customer_header #h_menu .lang { margin-left: 45px; color: #222; }
#customer_header #h_menu .lang a { color: #222; }
#customer_header #h_menu .lang::before { background-image: url(../img/ico_lang_bk.svg); }

#customer_header #fixed_wrap { position: absolute; z-index: 99; width: 100%; height: 100%; pointer-events: none; }
#customer_header #side_menu { position: absolute; top: 0; right: 0; z-index: 11; pointer-events: auto; }
#customer_header #side_menu .menu_inner {
	display: flex; flex-direction: column; align-items: center; padding: 0 14px 30px; }
#customer_header #side_menu .menu_inner .logo { width: 60px; margin-right: auto; }
#customer_header #side_menu .menu_inner .logo a { display: none; transition: opacity .5s; }
#customer_header #side_menu a { text-decoration: none; transition: color .5s; }
#customer_header #side_menu .open_menu { width: 100%; height: 134px; display: flex; flex-direction: column; justify-content: center; transition: width .6s, opacity .5s; }
#customer_header #side_menu .open_menu::before,
#customer_header #side_menu .open_menu .bar::before,
#customer_header #side_menu .open_menu .bar::after { content: ''; display: block; width: 100%; height: 1px; margin-bottom: 7px; transition: transform .6s, background-color .6s; background: #000; }
#customer_header #side_menu .open_menu .bar::before { transition: opacity .6s; }
#customer_header #side_menu .open_menu .bar::after { margin-bottom: 0; }
#customer_header #side_menu .open_menu>span:not(.bar) { display: block; margin-top: 20px; font-size: 11px; letter-spacing: .2em; text-align: center; transition: filter .8s, opacity .6s; }
#customer_header #side_menu .close_menu { opacity: 0; pointer-events: none; font-size:0; position: absolute; width: 60px; height: 135px;}
#customer_header #fixed_wrap:target #side_menu .close_menu { pointer-events: auto; }
#customer_header #side_menu .reserve {
	transition: background-color .5s, filter .8s, opacity .6s, color .5s; display: flex; align-items: center; justify-content: center; width: 100%; height: 192px; font-size: 24px; background: #076494; color: #fff; }
#customer_header #side_menu .lang { transition: filter .8s, opacity .6s, color .5s;}
#customer_header #side_menu .lang a { text-decoration:underline; color: #222; }
#customer_header #side_menu .lang::before { background-image: url(../img/ico_lang_bk.svg); }
#customer_header #side_menu .side-txt { display: none; }
#customer_header #side_menu .side-txt { transition: filter .8s, opacity .6s; margin-top: 30px; font-size: 14px; }
#customer_header #side_menu .side-txt .upr { margin: 2px 0 8px; font-size: 19px; }
#customer_header #side_menu .side-txt .num { font-size: 36px; font-style: italic; }

#customer_header #fixed_wrap:target { position: fixed; }
#customer_header #fixed_wrap:target #side_menu { backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);background: none; }
#customer_header #fixed_wrap:target #side_menu .menu_inner>[class$="_menu"]:hover { cursor: pointer;}
#customer_header #fixed_wrap:target #side_menu .menu_inner>*:not([class$="_menu"]) { filter: blur(8px); opacity: 0; pointer-events: none; visibility: hidden; }

#customer_header #fixed_wrap:target #side_menu .open_menu { width: 120%; }
#customer_header #fixed_wrap:target #side_menu .open_menu::before { transform: rotate(20deg) translate(2px, 8px); }
#customer_header #fixed_wrap:target #side_menu .open_menu .bar::before { opacity: 0; }
#customer_header #fixed_wrap:target #side_menu .open_menu .bar::after { transform: rotate(-20deg) translate(2px, -7px); }
#customer_header #fixed_wrap:target #side_menu .open_menu>span:not(.bar) { filter: blur(8px); opacity: 0; }

@media screen and (hover: hover) {
	#customer_header #h_menu .logo a:hover { opacity: .7; }
	#customer_header #side_menu .reserve:hover { background: #177cb0; }
}
@media screen and (max-width: 1489px) {
	#customer_header #h_menu .logo { margin-left: 4vw; }
}
@media screen and (min-width: 769px) {
	#customer_header #fixed_wrap { position: fixed; }
	#customer_header #side_menu { left: auto !important; }
}
@media screen and (max-width: 768px) {
	#customer_header #h_menu { padding: 20px 0 0 4%; }
	#customer_header #h_menu>*:not(.logo) { display: none; }
	#customer_header #h_menu .logo { width: 24.8%; margin-left: 0; }

	#customer_header #side_menu { width: 100%; height: auto; background: transparent; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); transition: background-color .6s; }
	#customer_header #side_menu .menu_inner { flex-direction: row-reverse; padding: 8px 0 8px 4%; }
	#customer_header #side_menu .menu_inner .v_rl { writing-mode: horizontal-tb; }
	#customer_header #side_menu .open_menu { width: 60px; height: auto; padding: 10px 0; }
	#customer_header #side_menu .open_menu>span:not(.bar) { display: none; }
	#customer_header #side_menu .open_menu::before,
	#customer_header #side_menu .open_menu .bar::before,
	#customer_header #side_menu .open_menu .bar::after { width: 50%; margin: 0 auto 5px; background: #222; }
	#customer_header #side_menu .close_menu { height: 38px;}
	#customer_header #side_menu .reserve { width: auto; height: auto; margin-left: 12px; padding: 8px 15px; font-size: 14px; color: #fff; }

	#customer_header #fixed_wrap:target { background: transparent; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);}
	#customer_header #fixed_wrap:target #side_menu .open_menu { width: 60px; }
	#customer_header #fixed_wrap:target #side_menu .open_menu::before,
	#customer_header #fixed_wrap:target #side_menu .open_menu .bar::after { background-color: #222; }
	#customer_header #fixed_wrap:target #side_menu .open_menu::before { transform: rotate(30deg) translate(3px, 7px); }
	#customer_header #fixed_wrap:target #side_menu .open_menu .bar::after { transform: rotate(-30deg) translate(2px, -4px); }
}
@media screen and (min-width: 769px) {
	#customer_header #side_menu {
		position: fixed; height: 100vh; background: rgba(255 255 255/80%); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); overflow: scroll; }
	#customer_header #side_menu .side-txt { display: inline-block; opacity: 1; }
	#customer_header #side_menu .lang { display: none; }
}

/* template */



/* gnav
------------------------------------------------------ */
#customer_header #gnav_wrap {
	opacity: 0; pointer-events: none; transition: opacity .6s; 
	width: 100%; height: 100vh; overflow: auto; background: #fff; }
#customer_header #fixed_wrap:target #gnav_wrap { opacity: 1; pointer-events: auto; }
#customer_header #gnav { display: block; color: #222; }
#customer_header #gnav>.logo { position: absolute; top: 40px; left: calc(50vw - 685px); }
#customer_header #gnav>.logo a { position: relative; display: inline-block; color: #fff; }
#customer_header #gnav>.logo a .wh { position: absolute; opacity: 0; }
#customer_header .g_container { position: relative; display: flex; flex-wrap: wrap; align-content: flex-start; width: 920px; max-width: 100%; padding: 125px 9.2% 115px 7%; }
#customer_header .g_container>ul { width: 100%; }
#customer_header .g_container>ul a { display: inline-block; padding: 0 15px; color: #222; transition: opacity .5s; }
#customer_header .g_container>ul a:hover { text-decoration: none; }
#customer_header .g_container .inq_col { display: flex; flex-wrap: wrap; width: 100%; }
#customer_header .g_container .inq_col .reserve { display: flex; flex-wrap: wrap; width: 100%; margin: 40px 0 16px; padding: 35px 0 30px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
#customer_header .g_container .inq_col .reserve a { text-align: center; }
#customer_header .g_container .inq_col .reserve li:first-child a,
#customer_header .g_container .inq_col .reserve li:nth-child(2) a::before { background: #076494; }
#customer_header .g_container .inq_col .reserve li:first-child a::before,
#customer_header .g_container .inq_col .reserve li:nth-child(2) a { background: #0f1f30; }
#customer_header .g_container .inq_col .reserve li:last-child { margin: 15px auto 0; }
#customer_header .g_container .inq_col .reserve li:last-child a::before { left: auto; right: 0; width: 100%; background: #222; }
#customer_header .g_container .inq_col .reserve li:not(:last-child) { width: calc((100% - 15px)/ 2); }
#customer_header .g_container .inq_col .reserve li:not(:last-child) a { color: #fff; }
#customer_header .g_container .inq_col .reserve .cmn_btn_01 { font-size: 15px; }
#customer_header .g_container .inq_col .reserve .cmn_btn_01::after { right: 16px; background-image: url(../img/btn_arrow_w.svg); }
#customer_header .g_container .inq_col .tel { position: relative; padding-left: 58px; font-size: 38px; }
#customer_header .g_container .inq_col .tel::before { position: absolute; top: calc(50% - 20px); left: 0; content: ''; display: block; width: 40px; height: 40px; border: 1px solid #818281; border-radius: 50%; background: url(../img/ico_tel_bk.svg)no-repeat center/20px; }
#customer_header .g_container .inq_col .sns_links { margin-left: auto; }

@media screen and (hover: hover) {
	#customer_header .g_container>ul a:hover { opacity: .6; }
	#customer_header .g_container .inq_col .reserve li:last-child a:hover::before { width: 0; }
}
@media screen and (max-width: 1489px) {
	#customer_header #gnav>.logo { left: 4vw; }
}
@media screen and (max-width: 768px) {
	#customer_header #gnav { padding: 6vw 0 0; }
	#customer_header #gnav>.logo { position: static; width: 32.66%; margin: 0 auto; }
	#customer_header #gnav>.logo a span { color: #183454; font-size: max(10px, 2.1vw); }
	#customer_header .g_container { padding: 6vw 6% 100px; }
	#customer_header .g_container>ul { display: flex; flex-wrap: wrap; }
	#customer_header .g_container>ul li:not(.sm) { width: 100%; }
	#customer_header .g_container>ul a { display: block; padding: 12px 10px; border-bottom: 1px solid #ccc; font-size: 17px; }
	#customer_header .g_container>ul .sm { width: 50%; }
	#customer_header .g_container>ul .sm a { padding: 16px 10px; border-bottom: 1px dashed #ccc; font-size: 14px; }
	#customer_header .g_container>ul .sm:nth-of-type(odd) a { border-left: 1px dashed #ccc; }
	#customer_header .g_container>ul .sm:last-of-type { width: 100%; }
	#customer_header .g_container>ul .sm:last-of-type a { border-bottom: none; }
	#customer_header .g_container .inq_col .reserve { margin: 0 0 1em; padding: 20px 0 25px; }
	#customer_header .g_container .inq_col .reserve li:not(:last-child) { width: 100%; }
	#customer_header .g_container .inq_col .tel { margin: 0 auto; padding-left: 10vw; font-size: max(30px, 5.8vw); }
	#customer_header .g_container .inq_col .tel::before { top: calc(50% - 3vw); width: max(25px, 6vw); height: max(25px, 6vw); background-size: 3vw; }
	#customer_header .g_container .inq_col .sns_links { margin: .7rem 0 0; width: 100%; justify-content: flex-end; }
	#customer_header .g_container .close_menu { position: relative; display: block; width: 100%; margin-top: 25px; padding: 14px; border: 1px solid #ccc; text-align: center; letter-spacing: 0.4em; }
	#customer_header .g_container .close_menu::before { position: absolute; top:50%; left: 4%; transform: translateY(-50%); content: '×'; font-size: 22px; color: #626262; }
}
@media screen and (min-width: 769px) {
	#customer_header #gnav { display: flex; }
	#customer_header #gnav::before { content: ''; display: block; width: calc(100% - 920px); min-height: 100vh; background: url(../img/gnav_bg.jpg)no-repeat center/cover; }
	#customer_header #gnav>.logo a .wh { opacity: 1; }
	#customer_header #gnav>.logo a .bk { opacity: 0; }
	#customer_header .g_container>ul li { margin-bottom: 20px; }
	#customer_header .g_container>ul:first-of-type { width: 43%; }
	#customer_header .g_container>ul:last-of-type { width: 57%; }
	#customer_header .g_container .inq_col .reserve li:first-child { margin-right: 15px; }
}


/* Main img
------------------------------------------------------ */
#customer_header #main_img { position: relative; z-index: 0; width: 100%; margin: 0 auto; background: #fff; text-align: center;}
#customer_header #main_img>h1 { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: clamp(24px,6.8vw,42px); color: #fff; text-align: center; }
#customer_header #main_img.none { background: url(../img/lead_bg.gif)no-repeat top right; }
#customer_header #main_img.none>h1 { z-index: 1; padding-top: 40px; box-sizing: border-box; color: #022222; }

@media screen and (min-width: 769px) {
	#customer_header #main_img>h1 { width: calc(100% - 45px); height: 320px; font-size: 42px; }
	#customer_header #main_img>h1 .cormorant { font-size: 18px; }
}
@media screen and (max-width: 768px) {
	#customer_header #main_img.none { background-size: 85%; }
	#customer_header #main_img>h1 { height: max(270px, 68vw); padding: 4.5% 5% 0; line-height: 1.2; }
	#customer_header #main_img>h1 .cormorant { margin-top: 8px; font-size: 13px; }
}


/* breadcrumb
------------------------------------------------------ */
#customer_header #breadcrumb { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; position: absolute; right: 0; bottom: 0; z-index: 2; width: 92%; margin: 0 0 2.5%; padding: 0 4%; font-size: 13px; text-align: right; color: #222;}
#customer_header #breadcrumb li { display: inline-block; line-height: 1.8;}
#customer_header #breadcrumb li:before { content: '-'; margin: 0 5px;}
#customer_header #breadcrumb li:first-child:before { display: none;}
#customer_header #breadcrumb li:first-child a { text-decoration: underline; transition: opacity .5s ease; }
#customer_header #breadcrumb li:first-child a:hover { opacity: .6; }
#customer_header #breadcrumb li:last-child { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#customer_header #breadcrumb li a { color: #222; }
@media screen and (min-width: 769px) {
	#customer_header #breadcrumb { margin: 0 85px 25px 0; }
}


/* Footer
------------------------------------------------------ */
#customer_footer #footer_wrap { padding: 65px 0; background: #0f1f30;}
#customer_footer #footer { display: flex; justify-content: space-between; flex-wrap: wrap; color: #f4f4f4; }
#customer_footer #footer .logo { width: 100%; }
#customer_footer #footer .logo a { display: block; width: 270px; margin: 0 auto; font-size: 21px; transition: opacity .5s; color: #fff; text-decoration: none; }
#customer_footer #footer .logo a:hover { color: #fff; }
#customer_footer #footer .lang_col { width: 100%; }
#customer_footer #footer .lang { justify-content: center; width: 130px; margin: 20px 0 30px auto; padding: 6px 0; background: #192e44; }
#customer_footer #footer .add_col { width: 41.25%; }
#customer_footer #footer .add_col address { line-height: 1.8; }
#customer_footer #footer .add_col address a { color: #fff; }
#customer_footer #footer .add_col address .tel-link { margin-right: .5em; }
#customer_footer #footer .add_col .lg { display: inline-block; margin-bottom: .75em; font-size: 20px; }
#customer_footer #footer .add_col .links { margin-top: 35px; line-height: 1; }
#customer_footer #footer .add_col .links li:nth-of-type(2) { margin-top: 10px; }
#customer_footer #footer .add_col .links li:nth-of-type(2) .cmn_btn_01 { background-color: #dfebf7; }
#customer_footer #footer .add_col .links li:nth-of-type(2) .cmn_btn_01::before { background-color: #fff; }
#customer_footer #footer .add_col .links li:last-of-type { margin-top: 25px; }
#customer_footer #footer .add_col .links li:last-of-type a { padding-bottom: 3px; color: #f4f4f4; }
#customer_footer #footer .add_col .links li:last-of-type .link_run::before { width: 100%; left: auto; right: 0; }
#customer_footer #f_menu { position: relative; width: 51.75%; padding: 0 0 ; }
#customer_footer #f_menu .wifi { display: flex; align-items: center; width: 222px; padding: 10px 18px; border: 1px solid #23384e; box-sizing: content-box; font-size: 14px; }
#customer_footer #f_menu .wifi::before { content: ''; display: inline-block; width: 21px; height: 17px; margin-right: 10px; background: url(../img/ico_wifi_w.svg)no-repeat center/contain; }
#customer_footer #fnav { display: flex; flex-direction: column; flex-wrap: wrap; height: calc(6 * (1.8em + 0.65 * 1em)); }
#customer_footer #fnav li { margin-bottom: 15px; }
#customer_footer #fnav li:last-child { position: absolute; bottom: 0; left: 0; margin-bottom: 0;}
#customer_footer #fnav li:last-child a { font-size: 14px; color: #c5c5c5; }
#customer_footer #fnav a { color: #f4f4f4; }
#customer_footer #copy { width: 100%; padding-top: 50px; text-align: right; font-size: 14px; color: #c5c5c5; letter-spacing: .1em; opacity: .3; }

@media screen and (hover: hover) {
	#customer_footer #footer .logo a:hover { opacity: .7; }
	#customer_footer #footer .add_col .links li:last-of-type .link_run:hover::before { width: 0; }
}
@media screen and (min-width: 769px) {
	#customer_footer #f_menu .wifi { position: absolute; right: 0; top: calc(3 * (1.8em + 1 * 1em)); }
	#customer_footer #footer .sns_links { position: absolute; right: 0; bottom: 0;}
}
@media screen and (max-width: 768px) {
	#customer_footer #footer_wrap { padding: 8vw 0; }
	#customer_footer #footer .logo a { width: 37.5%; }
	#customer_footer #footer .lang { margin: 20px 0 15px auto; }
	#customer_footer #footer .add_col { width: 100%; }
	#customer_footer #footer .add_col address span { display: inline-block; }
	#customer_footer #footer .add_col .lg { margin-bottom: .33em; }
	#customer_footer #footer .add_col .links li:last-of-type { margin-top: 15px; }
	#customer_footer #f_menu { width: 100%; margin-top: 8vw; }
	#customer_footer #f_menu .wifi { border: none; padding: 0; transform: translateY(calc(100% + 5px)); }
	#customer_footer #f_menu .acc_tit { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; padding: 12px 3%; border: 1px solid #47586b; box-sizing: border-box; letter-spacing: .2em; }
	#customer_footer #f_menu .acc_tit::after { position: absolute; right: 3%; content: '▼'; display: block; font-size: 9px; transition: transform .8s; }
	#customer_footer #f_menu .acc_tit.active::after { transform: rotate(180deg); }
	#customer_footer #footer .sns_links { position: static; justify-content: flex-end; }
	#customer_footer #fnav { flex-direction: row; justify-content: space-between; width: 88%; height: auto; margin: 0px auto; padding-top: 1.5em; }
	#customer_footer #fnav li { width: 49%; }
	#customer_footer #fnav li:last-child { position: static; }
	#customer_footer #copy { font-size: 11px; }
}

/* clear
------------------------------------------------------ */

/* #header:after,
#nav_wrap:after,
#gnav ul:after,
#contents_wrap:after,
#footer:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;} */


/* ---------------------------------------------------
	更新履歴
------------------------------------------------------



------------------------------------------------------ */