@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
html.pos_fix,
body.pos_fix { overflow: hidden;}

html { min-width: 1200px;}

body {
	min-width: 1200px; color: #2f2f2f; font-size: 16px; font-weight: normal; letter-spacing: .1em; line-height: 1.8;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; position: relative; font-weight: 500;
	-webkit-text-size-adjust: 100%;
}

* { box-sizing: border-box;}

a { color: #2f2f2f; text-decoration: none; transition: opacity .5s;}

.ofi { object-fit: cover;}
.br_sp,
.view_sp { display: none;}

@media screen and (hover: hover) {
	a:hover { color: #2f2f2f; opacity: .6;}
}
@media screen and (max-width: 600px) {
	html { min-width: 0;}
	body { min-width: 0; font-size: 14px; letter-spacing: 0.05em;}
	.br_sp { display: inline;}
	.br_pc { display: none;}

	.view_sp { display: block;}
	.view_pc { display: none !important;}
}


/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */

/* コンテンツ幅 */
.inner_xl { width: 86%; min-width: 1400px; margin: 0 auto;}
.inner_lg { width: 1400px; max-width: 92%; margin: 0 auto;}
.inner_md { width: 1200px; max-width: 92%; margin: 0 auto;}
.inner_sm { width: 1100px; max-width: 92%; margin: 0 auto;}
.inner_xs { width: 670px; max-width: 92%; margin: 0 auto;}

/* slick共通設定 */
.slick .slick-list div { vertical-align: bottom;}
.slick .slick-dots { line-height: 0; font-size: 0;}
.slick .slick-dots li { width: 10px; height: 10px; margin: 0 5px;}
.slick .slick-dots li button { width: 10px; height: 10px; padding: 0;}
.slick .slick-dots li button::before { content: ''; width: 10px; height: 10px; background: #ccc4b2; border-radius: 50%; opacity: 1; transform: scale(.3); transition: transform .5s;}
.slick .slick-dots li.slick-active button::before { background: #caaa53; transform: scale(1);}

/* テキストアニメーション */
@keyframes text_randomanime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.text_animate { opacity: 0; transition: opacity .5s;}
.text_animate span { opacity: 0;}
.text_animate.active { opacity: 1;}
.text_animate.active span { animation:text_randomanime_on 2s ease-out forwards;}
.text_animate:nth-of-type(odd).active span:nth-child(2n) { animation-delay: .5s;}
.text_animate:nth-of-type(odd).active span:nth-child(3n) { animation-delay: 1s;}
.text_animate:nth-of-type(odd).active span:nth-child(3n+1) { animation-delay: .1s;}
.text_animate:nth-of-type(even).active span:nth-child(2n) { animation-delay: .25s;}
.text_animate:nth-of-type(even).active span:nth-child(3n) { animation-delay: .75s;}
.text_animate:nth-of-type(even).active span:nth-child(3n+1) { animation-delay: .5s;}

/* 横書き見出し */
.cmn_tit_h { font-size: 35px; line-height: 1.6; text-align: center;}
.cmn_tit_h .note { display: block; margin: 0 auto; font-size: 16px;}
.cmn_tit_h .sub { display: block; margin: 5px 0 0; font-size: 15px;}

/* 縦書き見出し */
.cmn_tit_v { padding: 125px 0 0; position: relative; font-size: 35px; line-height: 1; writing-mode: vertical-rl;}
.cmn_tit_v::before { content: ''; width: 1px; height: 115px; position: absolute; top: 0; left: 50%; background: #aaa; transform: transform: scaleX(-50%);}
.cmn_tit_v .sub { display: inline-block; margin: 40px 0 0; font-size: 16px;}

/* cnav */
.cmn_cnav { display: flex; justify-content: space-between; line-height: 1.6;}
.cmn_cnav a { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 70px; padding: 10px; border: 1px solid #313131; text-align: center;}

/* cnav 画像あり */
.cmn_cnav_img a { height: 230px; padding: 0; position: relative; background: #000; border: none; overflow: hidden;}
.cmn_cnav_img a .ofi { width: 100%; height: 100%; transition: transform .7s, opacity .7s;}
.cmn_cnav_img a span { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; height: 100%; padding: 0 0 45px; position: absolute; color: #fff; backface-visibility: hidden; font-size: 18px;}
.cmn_cnav_img a span::before { content: ''; width: 18px; height: 18px; position: absolute; left: 50%; bottom: 20px; background: url(../img/icon_link_arrow_w.svg) no-repeat center center; background-size: 100%; transform: translateX(-50%) rotate(90deg);}

/* ボタン */
.cmn_btn [class*="cmn_btn_"] { display: flex; align-items: center; justify-content: center; min-height: 65px; padding: 0; border: none; border-radius: 6px; box-shadow: none;}
.cmn_btn .cmn_btn_y { background: #af9337; color: #fff;}
.cmn_btn .cmn_btn_g { background: #dad5c9;}
.cmn_btn .cmn_btn_b { background: #424242; color: #fff;}

/* 表組み */
.cmn_table { width: 100%; font-size: 14px; table-layout: fixed;}
.cmn_table th,
.cmn_table td { padding: 15px 0; border-bottom: 1px solid;}
.cmn_table th { width: 85px; font-weight: normal; text-align: left;}

.cmn_table.bg_w,
.cmn_table.bg_w th,
.cmn_table.bg_w td { border-color: #aaa;}
.cmn_table.bg_y,
.cmn_table.bg_y th,
.cmn_table.bg_y td { border-color: #cdc6b7;}

@media screen and (hover: hover) {
	.cmn_cnav_img a:hover { opacity: 1;}
	.cmn_cnav_img a:hover .ofi { opacity: .7; transform: scale(1.03);}
}
@media screen and (max-width: 1400px) {
	/* コンテンツ幅 */
	.inner_xl { width: 100%; min-width: 0;}
}
@media screen and (max-width: 600px) {
	/* slick共通設定 */
	.slick .slick-dots li { width: 8px; height: 8px; margin: 0 3px;}
	.slick .slick-dots li button,
	.slick .slick-dots li button::before { width: 8px; height: 8px;}

	/* 横書き見出し */
	.cmn_tit_h { font-size: 22px;}
	.cmn_tit_h .note { margin-bottom: 5px; font-size: 14px;}
	.cmn_tit_h .sub { margin-top: 0; font-size: 12px;}

	/* 縦書き見出し */
	.cmn_tit_v { padding: 0; font-size: 22px; line-height: 1.6; text-align: center; writing-mode: horizontal-tb;}
	.cmn_tit_v::before { content: none;}
	.cmn_tit_v .sub { display: block; margin-top: 0; font-size: 12px;}

	/* cnav */
	.cmn_cnav { flex-wrap: wrap;}
	.cmn_cnav li { margin: 8px 0 0;}
	.cmn_cnav a { min-height: 55px; padding: 10px 5px;}

	/* cnav 画像あり */
	.cmn_cnav_img { max-width: 100%;}
	.cmn_cnav_img li { width: calc((100vw - 1px) / 2) !important; max-width: none !important; margin-top: 1px !important;}
	.cmn_cnav_img a { height: 40.9vw; padding: 0;}
	.cmn_cnav_img a span { padding-bottom: 25px; font-size: 14px;}
	.cmn_cnav_img a span::before { width: 12px; height: 12px; bottom: 10px;}

	/* ボタン */
	.cmn_btn [class*="cmn_btn_"] { min-height: 50px;}

	/* 表組み */
	.cmn_table th,
	.cmn_table td { padding: 10px 0;}

	/* 表組み スマホになったら1行ずつ落とす */
	.cmn_table.sp_w100,
	.cmn_table.sp_w100 tbody,
	.cmn_table.sp_w100 tr,
	.cmn_table.sp_w100 th,
	.cmn_table.sp_w100 td { display: block; width: 100% !important;}
	.cmn_table.sp_w100 th { padding: 10px 0 0; border-bottom: none;}
	.cmn_table.sp_w100 td { padding: 5px 0 10px;}
}


/* ---------------------------------------------------
	Header部分ボタン類
------------------------------------------------------ */
#g_header [class^="btn_"] a { display: flex; align-items: center; justify-content: center; width: 170px; height: 90px; box-sizing: border-box; color: #fff; transition: background-color .5s, opacity .5s;}
#g_header [class^="btn_"] img { width: 25px; margin: 0 8px 0 0;}
#g_header .btn_reserve a { padding: 0 0 0 1px; background: #af9337;}
#g_header .btn_menu a { width: 90px; padding: 0 0 0 1px; background: #2f2f2f;}
#g_header .btn_menu .icon { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 30px; height: 30px;}
#g_header .btn_menu .icon span { width: 30px; height: 2px; background: #fff; transition: all .5s;}
#g_header .btn_menu .icon span + span { margin: 6px 0 0;}
#g_header .btn_access a { background: #aaa493;}
#g_header .btn_tel a,
#g_header .btn_change a { background: #fff; color: #2f2f2f;}
#g_header .btn_map a { background: #ededed; color: #2f2f2f;}

#g_header.active .btn_menu a { background: #f2f2f2; color: #2f2f2f;}
#g_header.active .btn_menu .icon span { background: #2f2f2f;}
#g_header.active .btn_menu .icon span:first-child { margin: 0 0 -2px; transform: rotate(45deg);}
#g_header.active .btn_menu .icon span:last-child { margin: -2px 0 0; transform: rotate(-45deg);}
#g_header.active .btn_menu .icon span:nth-child(2) { margin: 0; opacity: 0;}

@media screen and (max-width: 600px) {
	#g_header [class^="btn_"] { width: 100%;}
	#g_header [class^="btn_"] a { flex-direction: column; width: 100%; height: 60px; font-size: 12px;}
	#g_header [class^="btn_"] img { width: 25px; margin: 0 0 1px;}

	#g_header .btn_tel,
	#g_header .btn_map { transition: opacity .5s;}

	#g_header .btn_menu .icon { width: 25px; height: 25px;}
	#g_header .btn_menu .icon span { width: 20px;}
	#g_header .btn_menu .icon span + span { margin-top: 4px;}

	#g_header.active .btn_menu a { background: #2f2f2f; color: #fff;}
	#g_header.active .btn_menu .icon span { background: #fff;}
}


/* ---------------------------------------------------
	Header
------------------------------------------------------ */

@keyframes fade_nav {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
#g_header { width: 100%; min-width: 1200px; position: absolute; top: 0; left: 0; z-index: 100; color: #fff; animation: fade_nav ease-in-out .7s;}
#g_header::before {
	content: ''; width: 100%; height: 140px; position: absolute; top: 0; left: 0; z-index: -1; pointer-events: none;
	background: -moz-linear-gradient(top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=0 );
}

#g_header .hd_inner { display: flex;}
#g_header .hd_logo { display: flex; align-items: center; padding: 15px 24px; position: relative; z-index: 0; font-size: 20px;}
#g_header .hd_logo a { margin: 0 10px 0 0; position: relative; color: #fff;}
#g_header .hd_logo img { margin: 0 0 3px;}
#g_header .hd_logo a span { display: block; font-size: 12px; text-align: center;}
#g_header .hd_logo .logo_w { width: 250px;}
#g_header .hd_logo .logo_b { display: none; width: 250px;}

#g_header .hd_nav { display: flex; margin: 0 8px 0 auto; position: relative; z-index: 0; opacity: 0; pointer-events: none; transition: none;}
#g_header .hd_nav li { display: flex; align-items: center; padding: 0 12px; position: relative;}
#g_header .hd_nav a { padding: 5px; position: relative; color: #fff;}
#g_header .hd_nav a::before { content: ''; height: 1px; position: absolute; bottom: 0; left: 50%; right: 50%; background: #000; transition: left .5s, right .5s;}
#g_header .hd_nav_child { padding: 20px 10px; position: absolute; left: -10px; top: 70px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,0.1); font-size: 14px; line-height: 1.6; opacity: 0; pointer-events: none; transition: opacity .5s; white-space: nowrap;}
#g_header .hd_nav_child li + li { margin: 10px 0 0;}
#g_header .hd_nav_child a { padding: 0;}
#g_header .hd_nav li:hover .hd_nav_child { opacity: 1; pointer-events: auto;}

#g_header .hd_btn { display: flex; z-index: 100;}
#g_header .hd_btn { align-self: stretch;}
#g_header:not(.fixed):not(.active) .hd_btn a { padding: 0; background: rgba(0,0,0,0); border-left: 1px solid rgba(255,255,255,0.5);}

#g_header.fixed { position: fixed; color: #2f2f2f; transform: translateY(0);}
#g_header.fixed::before { height: 100px; opacity: 0.8;}
#g_header.fixed .hd_inner { background: #fff;}
#g_header.fixed .hd_logo a,
#g_header.fixed .hd_nav a { color: #2f2f2f;}
#g_header.fixed .hd_logo .logo_w { display: none;}
#g_header.fixed .hd_logo .logo_b { display: inline;}
#g_header.fixed .hd_nav { opacity: 1; pointer-events: auto; transition: opacity .5s;}

@media screen and (hover: hover) {
	#g_header .hd_nav a:hover { opacity: 1;}
	#g_header .hd_nav a:hover::before { left: 0; right: 0;}
}
@media screen and (max-width: 600px) {
	#g_header { min-width: 0; position: absolute !important; animation: none !important;}
	#g_header::before { height: 100px;}

	#g_header .hd_inner { justify-content: space-between;}

	#g_header .hd_logo { flex-shrink: 0; padding: 10px 4% 0; font-size: 12px;}
	#g_header .hd_logo a { margin-right: 5px;}
	#g_header .hd_logo a span { display: block; font-size: 10px; text-align: center;}
	#g_header .hd_logo img { width: 120px !important;}

	#g_header .hd_btn { width: 120px; z-index: 0;}

	#g_header.fixed { transform: none;}
	#g_header.fixed::before { height: 70px;}

	#g_header .hd_sp_nav { display: flex; justify-content: space-between; width: 100%; position: fixed; top: -60px; left: 0; z-index: 100; opacity: 0; transition: top .5s, opacity .5s;}
	#g_header .hd_sp_nav li { width: 25%;}

	#g_header.active .hd_sp_nav,
	#g_header .hd_sp_nav.fixed { top: 0; opacity: 1;}
}


/* ---------------------------------------------------
	G-nav
------------------------------------------------------ */

#g_nav { width: 100%; min-width: 1200px; height: 100vh; position: fixed; top: 0; left: 0; z-index: 10; color: #2f2f2f; overflow: auto; pointer-events: none;}
#g_nav a { color: #2f2f2f;}
#g_nav .nav_bg { width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 0; background: rgba(0,0,0,0.3); opacity: 0; transition: opacity .5s;}
#g_nav .nav_inner { display: none; width: 600px; margin: 0 0 0 auto; position: relative; z-index: 0; background: #f2f2f2;}
#g_nav .nav_top { display: flex; width: 340px; position: sticky; top: 0; left: 0; z-index: 10;}

#g_nav .nav_content { display: flex; min-height: calc(100vh - 90px); padding: 65px 70px 65px; font-family: "Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;}
#g_nav .nav_main { padding: 10px 50px 10px 0; font-size: 18px;}
#g_nav .nav_main li + li { margin: 30px 0 0;}
#g_nav .nav_child { padding: 5px 0 5px 10px; margin: 5px 0 0 3px; border-left: 1px solid #cdcdcd; color: #6c6c6c; font-size: 14px;}
#g_nav .nav_child li::before { content: '-'; margin: 0 5px 0 0;}
#g_nav .nav_child li + li { margin: 10px 0 0;}
#g_nav .nav_child a { color: #6c6c6c;}

#g_nav .nav_sub { display: flex; flex-direction: column; padding: 10px 0 10px 50px; border-left: 1px solid #cdcdcd; font-size: 15px; letter-spacing: 0;}
#g_nav .nav_sub ul { margin: 0 0 15px;}
#g_nav .nav_sub li + li { margin: 15px 0 0;}
#g_nav .nav_sub .sns { display: flex; margin: auto 0 0 auto;}
#g_nav .nav_sub .sns li { width: 25px;}
#g_nav .nav_sub .sns li + li { margin: 0 0 0 15px;}

#g_header.active #g_nav { pointer-events: auto;}
#g_header.active .nav_bg { opacity: 1;}
#g_header.active .hd_nav { opacity: 0; pointer-events: none;}


@media screen and (max-width: 600px) {
	#g_nav { min-width: 0;}
	#g_nav .nav_bg { display: none;}
	#g_nav .nav_inner { width: 100%; margin: 0;}

	#g_nav .nav_content { display: block; min-height: 0; padding: 80px 0 0;}
	#g_nav .nav_main { padding: 0; border-bottom: 1px solid #d4d4d4; font-size: 16px;}
	#g_nav .nav_main li { border-top: 1px solid #d4d4d4;}
	#g_nav .nav_main li + li { margin: 0;}
	#g_nav .nav_main a,
	#g_nav .nav_main .nav_cap { display: block; padding: 15px 30px 15px 20px; background: #fff;}
	#g_nav .nav_main a { background: #fff url(../img/icon_arrow_g.svg) no-repeat right 15px center; background-size: 10px auto;}
	#g_nav .nav_child { padding: 0; margin: 0; border-left: none;}
	#g_nav .nav_child li { border-top: 1px dotted #d4d4d4;}
	#g_nav .nav_child li::before { content: none;}
	#g_nav .nav_child li + li { margin: 0;}
	#g_nav .nav_child a { padding: 10px 30px 10px 20px; background: none;}
	#g_nav .nav_child a::before { content: '-'; margin: 0 3px 0 0;}

	#g_nav .nav_sub { flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding: 30px 20px 20px; border-left: none; font-size: 14px;}
	#g_nav .nav_sub ul { width: 49%; margin-bottom: 0;}
	#g_nav .nav_sub .sns { width: auto; margin-top: 20px;}
	#g_nav .nav_sub .sns li { width: 30px;}

	#g_nav .close { display: flex; align-items: center; justify-content: center; width: 100%; padding: 15px 0; background: #e4e4e4;}
	#g_nav .close .icon { display: flex; flex-direction: column; justify-content: center; width: 25px; height: 25px;}
	#g_nav .close .icon span { width: 20px; height: 2px; background: #2f2f2f;}
	#g_nav .close .icon span:first-child { margin: 0 0 -2px; transform: rotate(45deg);}
	#g_nav .close .icon span:last-child { transform: rotate(-45deg);}
}


/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
#main_img { padding: 90px 0 0; position: relative; z-index: 0;}
#main_img h1 { padding: 70px 0 50px; font-size: 40px; line-height: 1.6; text-align: center;}
#main_img h1 .main span { margin: 0 0 0 10px; font-size: 20px;}
#main_img h1 .sub { display: block; font-size: 13px;}
#main_img .ofi { width: 100%; height: 570px;}

#main_img.img_none h1 { padding-bottom: 0;}

@media screen and (max-width: 600px) {
	#main_img { padding-top: 60px;}
	#main_img h1 { padding: 40px 0 30px; font-size: 24px;}
	#main_img h1 .main span { display: block; margin: 0; font-size: 16px;}
	#main_img h1 .sub { margin: 5px 0 0; font-size: 12px;}
	#main_img .ofi { height: 230px;}
}


/* ---------------------------------------------------
	Contents
------------------------------------------------------ */

#lead { padding: 75px 0 0;}
#lead p:not(.cap) { display: flex; flex-direction: column; align-items: center;}
#lead .cap { margin-bottom: 30px; font-size: 35px; line-height: 1.6; text-align: center;}

@media screen and (max-width: 600px) {
	#lead { padding-top: 50px;}
	#lead .cap { margin-bottom: 20px; font-size: 22px;}
}


/* breadcrumb */
#breadcrumb { display: flex; padding: 20px 0; line-height: 1.6; list-style: none;}
#breadcrumb li::before { content: '>'; margin: 0 10px;}
#breadcrumb li:first-child::before { display: none;}


/* 404 */
#error section.inner_sm { padding: 75px 0 100px; text-align: center;}
#error section.inner_sm .cmn_tit_h { margin: 0 0 20px;}
#error section.inner_sm .cmn_btn { width: 600px; max-width: 100%; margin: 20px auto 0;}

@media screen and (max-width: 600px) {
	#error section.inner_sm { padding: 50px 0 60px; text-align: left;}
}


/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
@keyframes pagetop {
	0% { top: 0; bottom: auto; height: 15px;}
	10% { top: 0%; bottom: auto; height: 0px;}
	10.1% { top: auto; bottom: 0; height: 0px;}
	50% { top: auto; bottom: 0; height: 100%;}
	50.1% { top: 0; bottom: auto; height: 100%;}
	100% { top: 0; bottom: auto; height: 15px;}
}


#g_footer { padding: 75px 0 80px; background: #131313; color: #fff;}
#g_footer a { color: #fff;}

#g_footer .pagetop { padding: 95px 0 5px 5px; position: absolute; right: 30px; bottom: 110px; z-index: 10; border-left: 1px solid #424242; color: #939393; font-size: 13px; letter-spacing: 2px; writing-mode: vertical-rl;}
#g_footer .pagetop::before { content: ''; width: 1px; height: 15px; position: absolute; top: 0; left: -1px; background: #af9337;}

#g_footer .ft_logo { text-align: center;}
#g_footer .ft_logo p { margin: 0 0 10px;}
#g_footer .ft_logo img { width: 300px;}
#g_footer .ft_logo .ruby { margin: 5px; font-size: 14px;}

#g_footer .ft_btn { width: 600px; margin: 35px auto 80px;}
#g_footer .ft_btn li + li { margin: 8px 0 0;}
#g_footer .ft_btn .btn_reserve a { min-height: 75px; font-size: 18px;}
#g_footer .ft_btn .btn_reserve img { width: 25px; margin: 0 8px 0 0;}
#g_footer .ft_btn .btn_cancel a { min-height: 60px;}

#g_footer .ft_inner { display: flex; flex-wrap: wrap; justify-content: space-between;}

#g_footer .ft_nav { width: 720px; max-width: 63%;}
#g_footer .ft_nav div { display: flex; flex-wrap: wrap; justify-content: space-between; min-height: 100%;}
#g_footer .ft_nav .nav_main { max-width: calc((100% - 120px) / 3); margin: 0 0 30px; font-size: 15px;}
#g_footer .ft_nav .nav_main li::before { content: '-'; margin: 0 5px 0 0;}
#g_footer .ft_nav .nav_main li + li { margin: 20px 0 0;}
#g_footer .ft_nav .nav_child { margin: 3px 0 0 2px; padding: 10px 0 0 5px; border-left: 1px solid #424242; color: #939393; font-size: 14px;}
#g_footer .ft_nav .nav_child li + li { margin: 10px 0 0;}
#g_footer .ft_nav .nav_child a { color: #939393;}
#g_footer .ft_nav .nav_sub { display: flex; width: 100%; margin: auto 0 0; font-size: 14px;}
#g_footer .ft_nav .nav_sub li + li { margin: 0 0 0 30px;}
#g_footer .ft_nav .nav_sub a { color: #939393;}

#g_footer .ft_inq { width: 405px; max-width: 33.75%; border-left: 1px solid #424242;}
#g_footer .ft_inq dl { width: 325px; margin: 0 0 0 auto; font-size: 14px;}
#g_footer .ft_inq dt { margin: 0 0 5px; color: #7a7a7a; font-size: 11px;}
#g_footer .ft_inq dd + dt { margin-top: 25px;}
#g_footer .ft_inq .contact { font-size: 15px;}
#g_footer .ft_inq .tel { margin: 0 0 5px; font-size: 16px; line-height: 1.3;}
#g_footer .ft_inq .tel-link span { font-size: 26px;}
#g_footer .ft_inq .language a::before { content: '-'; margin: 0 5px 0 0;}
#g_footer .ft_inq .sns ul { display: flex;}
#g_footer .ft_inq .sns li { width: 32px;}
#g_footer .ft_inq .sns li + li { margin: 0 0 0 20px;}

#g_footer .copyright { width: 100%; margin: 15px 0 0; color: #7a7a7a; font-size: 11px; text-align: right;}


@media screen and (hover: hover) {
	#g_footer .pagetop:hover { text-decoration: none;}
	#g_footer .pagetop:hover::before { animation: pagetop 1.2s cubic-bezier(0.77, 0, 0.175, 1) both;}
}
@media screen and (max-width: 600px) {
	#g_footer { padding: 50px 0;}

	#g_footer .pagetop { display: none;}

	#g_footer .ft_logo img { width: 250px;}
	#g_footer .ft_logo .ruby { font-size: 13px;}

	#g_footer .ft_btn { width: 92%; margin: 25px auto 8px;}
	#g_footer .ft_btn .btn_reserve a { min-height: 65px; font-size: 16px;}
	#g_footer .ft_btn .btn_cancel a { min-height: 50px;}

	#g_footer .ft_inner { display: block;}

	#g_footer .ft_nav { width: auto; max-width: none; border: 1px solid #6b6b6b; border-radius: 6px;}
	#g_footer .ft_nav .acc_tit { display: flex; align-items: center; justify-content: center; height: 50px; position: relative;}
	#g_footer .ft_nav .acc_tit::before,
	#g_footer .ft_nav .acc_tit::after { content: ''; position: absolute; background: #616161; top: 50%; transform: translateY(-50%);}
	#g_footer .ft_nav .acc_tit::before { width: 19px; height: 1px; right: 15px; transition: opacity .5s, transform .5s;}
	#g_footer .ft_nav .acc_tit::after { width: 1px; height: 19px; right: 24px; transition: transform .5s;}
	#g_footer .ft_nav .acc_tit.active::before { opacity: 0; transform: rotate(90deg);}
	#g_footer .ft_nav .acc_tit.active::after { transform: translateY(-50%) rotate(90deg);}
	#g_footer .ft_nav div { flex-wrap: wrap; width: 96%; margin: 20px auto 0;}
	#g_footer .ft_nav .nav_main { max-width: none; min-width: 49%; margin-bottom: 20px; padding: 0 2%;}
	#g_footer .ft_nav .nav_sub { display: block; width: auto; min-width: 49%; padding: 0 2%; margin: auto 0 20px;}
	#g_footer .ft_nav .nav_sub li + li { margin: 20px 0 0;}

	#g_footer .ft_inq { width: auto; max-width: none; margin: 15px 0 0; border-left: none;}
	#g_footer .ft_inq dl { display: flex; flex-wrap: wrap; width: auto; margin: 0; font-size: 16px;}
	#g_footer .ft_inq dt,
	#g_footer .ft_inq dd { padding: 20px 5px; border-bottom: 1px solid #424242;}
	#g_footer .ft_inq dt:last-of-type,
	#g_footer .ft_inq dd:last-of-type { border-bottom: none;}
	#g_footer .ft_inq dt { flex-shrink: 0; width: 90px; margin: 0; font-size: 12px; line-height: 28px;}
	#g_footer .ft_inq dt:first-of-type { line-height: 39px;}
	#g_footer .ft_inq dd { width: calc(100% - 90px);}
	#g_footer .ft_inq dd + dt { margin-top: 0;}
	#g_footer .ft_inq .contact { font-size: 14px;}
	#g_footer .ft_inq .tel { font-size: 14px; line-height: 1.6;}
	#g_footer .ft_inq .tel-link { font-size: 16px;}
	#g_footer .ft_inq .tel-link span { font-size: 20px; text-decoration: underline;}
	#g_footer .ft_inq .sns li + li { margin-left: 15px;}
}


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


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