@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
body {
	min-width: 1200px; min-height: 100vh; background: #fff; color: #000;
	font-size: 14px; font-weight: normal; line-height: 1.5;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman",serif;
	-webkit-text-size-adjust: 100%; position: relative;
	font-feature-settings: "palt"; letter-spacing: 0.08em;
}

input, select, textarea { font-size: 13px;}
div { box-sizing: border-box;}

a { color: #000; text-decoration: none;}

@media screen and (hover:hover) and (min-width: 601px) {
	a:hover { color: #000; text-decoration: underline;}
	a:hover img { opacity: 0.75;}
}

#lineup-font-size-sampler { bottom: 0; left: 0;}
.fixed { width: 100%; min-width: 1100px; position: fixed; top:0; left: 0; z-index: 999;}
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

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

@media screen and (max-width: 600px) {
	body,
	input,
	select,
	textarea { font-size: 16px;}

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

@media screen and (max-width: 1400px) {
	#tripla-app > div { margin-bottom: 180px;}
}
@media screen and (max-width: 600px) {
	#tripla-app > div { margin-bottom: 90px;}
	#tripla-icon-message{ display: none !important;}
}

/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
.inner_md{ margin: 0 auto; width: 94%; max-width: 1200px;}
.inner_lg{ margin: 0 auto; width: 94%; max-width: 1400px;}

/* 共通見出し */
.cmn_tit_01,
.cmn_tit_02,
.cmn_tit_03{ display: flex;}

.cmn_tit_01{
	margin-bottom: 50px; color: #7e6b2e; font-size: 46px;
	justify-content: center; align-items: center; flex-direction: column;
}
.cmn_tit_02{
	margin-bottom: 25px; color: #7e6b2e; font-size: 40px;
	align-items: center;
}
.cmn_tit_03{
	margin-bottom: 35px; font-size: 36px;
	justify-content: center; align-items: center; flex-direction: column;
}
.cmn_tit_01::before,
.cmn_tit_02::before,
.cmn_tit_03::before{
	display: block; content: ''; width: 30px; height: 24px;
	background: url(../img/icon_tit_01.svg) no-repeat center center;
	background-size: contain;
}
.cmn_tit_02::before{ margin-right: 15px;}

@media screen and (max-width: 600px) {
	.cmn_tit_01{ margin-bottom: 5vw; font-size: 26px;}
	.cmn_tit_02{ margin-bottom: 5vw; font-size: 24px;}
	.cmn_tit_03{ margin-bottom: 5vw; font-size: 22px;}

	.cmn_tit_01::before { margin: 0 auto; }
}


/* Cナビ */
.cnav,
.cnav a{ display: flex; align-items: center;}
.cnav{ margin-bottom: 110px; justify-content: space-between;}
.cnav li{ width: 24%; border: 1px solid #999; box-sizing: border-box;}
.cnav li a{ padding: 30px 0 5px; line-height: 1; justify-content: center; transition: .5s;}
.cnav span{ font-size: 20px;}
.cnav span::after{
	display: block; content: ''; margin: 15px auto 0; width: 16px; height: 8px;
	background: url(../img/cnav_arrow.svg) no-repeat center center;
}

@media screen and (hover:hover) and (min-width: 601px) {
	.cnav li a:hover{ text-decoration: none; background: #eee;}
}
@media screen and (max-width: 600px) {
	.cnav{ margin-bottom: 10vw; flex-wrap: wrap;}
	.cnav li{ margin-bottom: 15px; width: 100% !important;}
	.cnav li a{ padding: 20px 0 5px;}
	.cnav span{ font-size: 16px;}
}


/* 共通要素 */
.cmn_outline{ display: flex; border-bottom: 1px solid #aaa;}
.cmn_outline:first-of-type{ border-top: 1px solid #aaa;}
.cmn_outline dt,
.cmn_outline dd{ padding: 15px 35px; box-sizing: border-box;}
.cmn_outline dt{ width: 200px; background: #f0ead6;}
.cmn_outline dd{ width: calc(100% - 200px); background: #fff;}

@media screen and (max-width: 600px) {
	.cmn_outline{ flex-direction: column;}
	.cmn_outline dt,
	.cmn_outline dd{ padding: 3vw; width: 100%;}
}


/* 矢印付きリンク */
.cmn_arrow_link_01{
	display: block; padding: 20px 30px; width: 300px; font-size: 16px;
	background: #fff; border: 1px solid #aaa; box-sizing: border-box;
	position: relative;
}
.cmn_arrow_link_01 + .cmn_arrow_link_01{ margin-top: 20px;}
.cmn_arrow_link_01::after{
	display: block; content: ''; width: 60px; height: 10px;
	top: calc(50% - 5px); right: -30px; position: absolute;
	background: url(../img/link_arrow_01.png) no-repeat right top;
	background-size: contain; transition: .5s;
}

@media screen and (hover:hover) and (min-width: 601px) {
	.cmn_arrow_link_01:hover{ text-decoration: none;}
	.cmn_arrow_link_01:hover::after{ right: -45px;}
}
@media screen and (max-width: 600px) {
	.cmn_arrow_link_01{ padding: 5vw 30px 5vw 5vw; width: auto; max-width: calc( 100% - 30px);}
	.cmn_arrow_link_01:hover::after{ right: -30px;}
}


/* ボタンリンク＆宿泊予約へのリンク */
.cmn_btnlink_01,
.cmn_btnlink_02 {
	display: block; line-height: 1; position: relative;
	box-sizing: border-box; transition: .5s;
}

.cmn_btnlink_01{
	padding: 20px 50px 20px 30px;
	color: #000; background: #fff; border: 1px solid #aaa;
}
/*
.cmn_btnlink_01::after{
	display: block; content: ''; width: 60px; height: 6px;
	top: calc(50% - 6px); right: -30px; position: absolute;
	background: url(../link_arrow01.svg) no-repeat; background-size: 60px 6px;
}
*/
.cmn_btnlink_01:hover{ color: #fff; background: #7e6b2e;}
.cmn_btnlink_01:hover::after{ right: -45px;}

.cmn_btnlink_02{ padding: 20px 50px 20px 35px; color: #fff; text-decoration: none;}
.cmn_btnlink_02.red{ background: #95362d;}
.cmn_btnlink_02.ore{ background: #ca8501;}

.cmn_btnlink_02::after{
	display: block; content: ''; width: 60px; height: 1px;
	top: 50%; right: 0; position: absolute; background: #fff;
}

@media screen and (hover:hover) and (min-width: 601px) {
	.cmn_btnlink_02:hover{ color: #fff; text-decoration: none; opacity: .75;}
}

/* 外部リンク ( .link_exit ) */
.link_exit::after { content: ''; display: inline-block; width: 17px; height: 17px; margin-left: 1.5em; background: url(../img/ico_exit.svg)no-repeat center; vertical-align: text-bottom; }
.link_exit.bg /* 背景色付き */ { display: flex; align-items: center; justify-content: center; width: 330px; height: 60px; max-width: 100%; background: #fff; border: 1px solid #aaa; transition: background-color .5s; }

/* 下線が走るリンク ( .link_run ) */
.link_run { position: relative; display: inline-block; padding-bottom: 2px; border-bottom: 1px solid #000; }
.link_run::before { position: absolute; bottom: -1px; left: 0; content: ''; width: 0; height: 1px; transition: width .5s ease; background: #fff; }

.link_exit.bg:hover,
.link_run:hover { text-decoration: none; }

@media screen and (hover: hover) {
	.link_exit.bg:hover { background-color: #eee; }
	.link_run:hover::before { width: 100%; }
}


/* ---------------------------------------------------
	Header
------------------------------------------------------ */
#header_wrap {
	display: none; background: #fff; opacity: 1 !important;
	position: fixed; bottom: 0; width: 100%; min-width: 1200px; z-index: 100;
}

#g_header { background: #f4eDe7;}
#g_header .inner_md{ min-height: 90px; display: flex; justify-content: flex-end; align-items: center;}
#g_header .hd_logo{ margin-right: auto; width: 130px;}

@media screen and (max-width: 600px) {
	#g_header { padding: 10px 4% 190px; box-sizing: border-box; background: #fff;}
	#g_header .inner_md{ justify-content: center; flex-direction: column;}
	#g_header .hd_logo{ margin: 4vw auto;}
	#g_header .sp_tel{ margin: 0 auto 6vw; font-size: 16px;}
	#g_header .sp_tel a{ color: #000;}
	#g_header .sp_tel span{ font-size: 26px;}
}

/* ---------------------------------------------------
	side_menu
------------------------------------------------------ */
#side_menu{ top: 270px; left: 0; position: fixed; z-index: 10001;}

#side_menu li{
	box-shadow: 1px 0 7px rgba(0, 0, 0, 0.5);
}
#side_menu li:first-of-type div,
#side_menu li:last-of-type a{
	margin-bottom: 5px; padding: 10px 0; width: 70px; height: 180px;
	color: #fff; font-size: 20px;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	display: flex; align-items: center; box-sizing: border-box;
}

#side_menu li:first-of-type div:before,
#side_menu li:last-of-type a:before{
	display: block; content: ''; width: 50px; height: 37px;
	background: url(../img/icon_link.svg) no-repeat center center;
	background-size: contain;
}

#side_menu li:first-of-type div{ background: #95362d;}
#side_menu li:last-of-type a{ background: #ca8501;}

#side_menu li:first-of-type div:hover,
#side_menu li:last-of-type a:hover{
	cursor: pointer; opacity: .80; text-decoration: none;
}

@media screen and (max-width: 600px) {
	#side_menu{ display: none;}
}

/* ---------------------------------------------------
	G-nav
------------------------------------------------------ */
#gnav{ margin-left: auto; width: calc(100% - 250px);}
#gnav ul,
#gnav li a { display: flex;}
#gnav li { width: 100%; height: 50px; box-sizing: border-box;}

#gnav li a {
	padding: 0 10px; height: 100%; color :#000; font-size: 18px; position: relative;
	white-space: nowrap; align-items: center; justify-content: center;
	box-sizing: border-box;
}
#gnav li a:after {
	height: 2px; left: 50%; right: 50%; bottom: 0; position: absolute;
	content: ""; background: #7e6b2e;
	-webkit-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s;
}

@media screen and (max-width: 1304px) {
	#gnav li a{ padding: 0 6px; font-size: 17px;}
}

@media screen and (hover:hover) and (min-width: 601px) {
	#gnav li a:hover{ color: #000; text-decoration: none;}
	#gnav li a:hover:after { left: 1vw; right: 1vw;}
}

@media screen and (max-width: 600px) {
	.pos_fix { overflow: hidden;}

	#menuOuter {
		width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 10000;
		background: rgba(255,255,255,0.9); 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;}

	#gnav { width: 92%; padding: 0; margin: 0 auto 10vw; position: relative; z-index: 15; background: none;}
	#gnav ul,
	#gnav li a { display: block;}
	#gnav ul{ border-top: 1px solid #ccc;}
	#gnav li { height: auto; border-right: none; border-bottom: 1px solid #ccc;}
	#gnav li a { padding: 10px 20px; position: relative; color: #000; font-size: 16px; line-height: 2;}
	#gnav li a::before {
		content: ''; width: 6px; height: 6px;
		position: absolute; top: 50%; right: 10px;
		border-top: 1px solid #999; border-right: 1px solid #999;
		box-sizing: border-box; transform: rotate(45deg) translateY(-50%);
	}
	#gnav .btn { margin: 20px 0 0;}
	#gnav .btn a { display: block; padding: 10px 20px; background: #000; color: #fff; font-size: 20px; text-align: center;}
	#gnav .tel { text-align: center; padding: 20px 0 30px; line-height: 1;}
	#gnav .tel .tel-link { color: #000;}
	#gnav .tel span:not(.tel-link) { font-size: 24px;}
}

/* ---------------------------------------------------
	lang
------------------------------------------------------ */
#langnav { display: block; margin-left: 20px; width: 120px; text-align: center; position: relative;}
#langnav dt {
	cursor: pointer; color: #000; line-height: 30px;
	background: #fff; border: 1px solid #000; z-index: 6050;
}
#langnav dt span { display: block; padding: 5px 22px 5px 15px; position: relative;}
#langnav dt span::after{
	display: block; width: 10px; height: 10px;
	top: calc( 50% - 5px); right: 5px; position: absolute;
	content: ""; background: url(../img/icon_ln_arrow.png) no-repeat;
	background-size: contain; transition: all .5s;
}
#langnav dt.active span:after { transform: rotate(-180deg);}

#langnav dd { position: relative; width: 100%; text-align: center; z-index: 6000;}

#langnav dd ul {
	display: none; bottom: 42px; left: 0; position: absolute; width: 100%;
	color: #fff; background: #3c270d;
}
#langnav dd li { border-bottom: 1px solid #6f6f6f;}
#langnav dd li:last-child { border-bottom: none;}
#langnav dd a {
	display: block; padding: 5px 0; color: #fff;
	font-family: "游明朝", YuMincho, "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
}
@media screen and (hover:hover) and (min-width: 601px) {
	#langnav dd a:hover { opacity: 0.7; text-decoration: none;}
}
@media screen and (max-width: 600px) {
	#langnav{ margin: 0 auto 7vw; width: 92%;}
	#langnav dd ul { color: #000; background: #fff; position: static;}
	#langnav dd li { border-bottom: 1px solid #ccc;}
	#langnav dd a { padding: 10px 0; color: #000;}
}

/* スマホ閲覧時 */
@media screen and (max-width: 600px) {
	#langnav_sp {
		display: block; width: 120px; text-align: center;
		top: 10px; right: 10px; position: absolute;
	 }
 #langnav_sp dt {
	 cursor: pointer; color: #000; line-height: 30px;
	 background: #fff; border: 1px solid #000; z-index: 6050;
 }
 #langnav_sp dt span { display: block; padding: 5px 22px 5px 15px; font-size: 14px; position: relative;}
 #langnav_sp dt span::after{
	 display: block; width: 10px; height: 10px;
	 top: calc( 50% - 5px); right: 5px; position: absolute;
	 content: ""; background: url(../img/icon_ln_arrow.png) no-repeat;
	 background-size: contain; transition: all .5s; transform: rotate(-180deg);
 }
 #langnav_sp dt.active span:after { transform: rotate(0deg);}

 #langnav_sp dd { position: relative; width: 100%; text-align: center; z-index: 6000;}

 #langnav_sp dd ul {
	 display: none; top: 0; left: 0; position: absolute; width: 100%;
	 color: #fff; background: #3c270d;
 }
 #langnav_sp dd li { border-bottom: 1px solid #6f6f6f;}
 #langnav_sp dd li:last-child { border-bottom: none;}
 #langnav_sp dd a {
	 display: block; padding: 5px 0; color: #fff;
	 font-family: "游明朝", YuMincho, "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
 }
 #langnav_sp dd a:hover { opacity: 0.7; text-decoration: none;}
}


/* ---------------------------------------------------
	search_col
------------------------------------------------------ */
#search_col,
#search_col input,
#search_col select,
#search_col button{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman",serif !important;
}

#search_col{ min-height: 90px; background: #dfc99d;}
#search_col .inner_md{ display: flex; justify-content: space-between; align-items: center;}
#search_col .search-widget-search-container-bf1818{ padding: 10px 0; background: #dfc99d; box-shadow: none !important;}
#search_col .input-container-input-container-da40af .input-container-title-db81ec{
	font-size: 13px; line-height: 1;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman",serif;
}
#search_col .input-container-input-container-da40af{ margin-right: 20px; margin-bottom: 0;}
#search_col .input-container-width-sm-88e98c{ margin-right: 10px; width: 150px;}
#search_col .input-container-width-sm-88e98c select{ width: 100%;}
#search_col .dropdown-selector-container-ef1ce2 .dropdown-selector-input-6d2b0e{ height: 42px; line-height: 40px;}
#search_col .button-btn-f51c1a{ margin: 0; padding: 0;}
#search_col button{ width: 90px; height: 40px; background: #442a0d !important;}

#search_col #tel_box dt{ font-size: 13px;}
#search_col #tel_box dd{ font-size: 22px;}
#search_col #tel_box dd span{ font-size: 32px; white-space: nowrap;}

@media screen and (max-width: 992px) {
	#search_col .search-widget-search-container-bf1818 { width: 100%!important;}
	#search_col .search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf,
	#search_col .search-widget-two-picker-wrapper-4ca735,
	#search_col .input-container-input-container-da40af {display: inline-block !important;}
	#search_col .search-widget-calendar-9fdfc9{ width: 240px !important;}
	#search_col .search-widget-two-picker-wrapper-4ca735:nth-child(2) .input-container-input-container-da40af{ width: 150px !important;}
	#search_col .input-container-input-container-da40af{ width: auto !important;}
	#search_col .search-widget-search-container-bf1818 .search-widget-button-wrapper-d2b715{ display: inline-block !important;}
}
@media screen and (max-width: 600px) {
	#search_col { display: none;}
}

/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
/* メインタイトル */
#main_tit{ width: 100%; height: 400px; position: relative; overflow: hidden;}
#main_tit h1{
	top: 0; left: 0; position: absolute; padding: 0 4% 140px; width: 100%; height: 100%;
	display: flex; justify-content: center; align-items: center; flex-direction: column; box-sizing: border-box;
}
#main_tit h1 img{
	margin-bottom: 25px;
	filter: drop-shadow(1px 1px 10px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.25)) drop-shadow(-1px -1px 10px rgba(0, 0, 0, 0.25));
}

#main_tit h1 span{
	color: #fff; text-align: center; line-height: 1.4;;
	text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.25), 0px 0px 10px rgba(0, 0, 0, 0.25), -1px -1px 10px rgba(0, 0, 0, 0.25);
}
#main_tit h1 .ja{ font-size: 46px;}
#main_tit h1 .en{ font-size: 22px;}

@media screen and (max-width: 600px) {
	#main_tit h1{ padding-bottom: 0;}
	#main_tit h1 .ja{ font-size: 36px;}
}

/* リード分 */
#lead_col{ margin: 60px auto 70px; text-align: center;}
#lead_col .lead_tit{ margin-bottom: 40px; color: #7e6b2e; font-size: 36px;}
#lead_col .lead_txt{ margin-bottom: 20px; font-size: 16px; line-height: 2;}

@media screen and (max-width: 600px) {
	#lead_col{ margin: 5vw auto 10vw;}
	#lead_col .lead_tit{ margin-bottom: 5vw; font-size: 24px;}
	#lead_col .lead_txt{ text-align: left;}
}

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

@media screen and (max-width: 600px) {
}

/* お問い合わせ */
#contact_col{
	margin-bottom: 150px; padding: 45px 0 55px;
	text-align: center; border: 5px solid #7e6b2e;
}
#contact_col p{ margin-bottom: 40px; font-size: 26px;}
#contact_col .contact{
	display: block; margin: 0 auto 40px; padding: 20px; width: 320px;
	color: #fff; font-size: 16px; background: #7e6b2e; box-sizing: border-box; transition: all .5s;
}
#contact_col .tel{ margin-bottom: 0; font-size: 28px;}
#contact_col .tel-link span{ font-size: 42px;}

@media screen and (hover:hover) and (min-width: 601px) {
	#contact_col a:hover{ text-decoration: none; opacity: .75;}
}
@media screen and (max-width: 600px) {
	#contact_col{ margin-bottom: 15vw; padding: 7vw 3vw;}
	#contact_col p{ margin-bottom: 7vw; font-size: 20px;}
	#contact_col .contact{ margin: 0 auto 5vw; padding: 4vw; width: 100%;}
	#contact_col .tel{ font-size: 18px;}
	#contact_col .tel-link span{ font-size: 24px;}
}

/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#footer_wrap{ padding-top: 70px; border-top: 10px solid #7e6b2e;}
#footer{ font-size: 16px; display: flex; justify-content: space-between;}

#ft_logo > a{ display: block; margin: 0 0 30px; text-align: center;}
#ft_logo address p{ margin-bottom: 5px; font-size: 18px; text-align: center;}
#ft_logo address ul{ margin: 10px 0 25px; display: flex;}
#ft_logo address ul li{ white-space: nowrap;}
#ft_logo address ul li:first-child{ margin-right: 1em;}
#ft_logo .sns_list{ display: flex; justify-content: center; align-items: center;}
#ft_logo .sns_list li{ margin: 0 7px;}

#ft_nav{ padding-left: 2vw;}
#ft_nav .ft_nav_block > div{ padding-top: 5px; display: flex;}
#ft_nav .ft_nav_block > div ul{ margin-right: 120px;}
#ft_nav .ft_nav_block > div ul li{ margin-bottom: 35px; white-space: nowrap; line-height: 1;}
#ft_nav > ul li{ margin-bottom: 10px; display: flex; justify-content: flex-start;}
#ft_nav > ul li span:first-of-type{ width: 105px;}
#ft_nav > ul li span:last-of-type{ width: calc(100% - 105px);}

#ft_menu{ width: 260px; display: flex; flex-direction: column;}
#ft_menu .link_btn{ margin-bottom: 25px;}
#ft_menu .link_btn li:first-child{ margin-bottom: 10px;}
#ft_menu .link_txticon li{ margin-bottom: 20px;}
#ft_menu .link_txticon li span{ display: flex; align-items: center;}
#ft_menu .link_txticon li span::before{ display: block; content: ''; margin-right: 1em;}

#ft_menu .link_txticon li:first-child span::before{
	margin-left: 3px; width: 11px; height: 20px;
	background: url(../img/icon_member.svg) no-repeat; background-size: contain;
}
#ft_menu .link_txticon li:last-child span::before{
	width: 17px; height: 21px;
	background: url(../img/icon_login.svg) no-repeat; background-size: contain;
}

#ft_menu #copyright{ margin-top: auto; text-align: right;}

@media screen and (max-width: 600px) {
	#footer_wrap{ padding-top: 7vw;}
	#footer{ justify-content: center; flex-direction: column;}
	#ft_logo{ text-align: center;}
	#ft_logo address p{ margin-bottom: 2vw;}
	#ft_logo address ul{ margin: 1.5vw 0 4vw; justify-content: center;}
	#ft_logo .sns_list{ margin-bottom: 7vw;}

	#ft_nav{ margin-bottom: 7vw;}
	#ft_nav .ft_nav_block{ margin: 0 0 5vw; padding: 3.5vw 5vw; border: 1px solid #000;}
	#ft_nav .ft_nav_block .acc_tit{ font-size: 18px; text-align: center; line-height: 1;}
	#ft_nav .ft_nav_block .acc_tit::after{
		display: block; content: ''; margin: 3px auto 0;
		width: 10px; height: 10px; border: 1px solid;
		border-color:  transparent transparent #565656 #565656;
		transform: rotate(-45deg); transition: all .5s;
	}
	#ft_nav .ft_nav_block .acc_tit.active::after{ margin-top: 15px; transform: rotate(-225deg);}
	#ft_nav .ft_nav_block > div{ padding-top: 10vw;}
	#ft_nav .ft_nav_block > div ul{ margin-right: 0;}
	#ft_nav .ft_nav_block > div ul:first-child{ width: 60%;}
	#ft_nav .ft_nav_block > div ul:last-child{ width: 40%;}
	#ft_nav .ft_nav_block > div ul li{ margin-bottom: 4.5vw; line-height: 1.5;}
	#ft_nav > ul li{ list-style: 1.6;}
	#ft_menu{ width: 100%;}
	#ft_menu .link_btn{ margin-bottom: 5vw;}
	#ft_menu .link_txticon li{ margin-bottom: 2.5vw;}
	#ft_menu #copyright{ margin-top: 5vw; text-align: center;}
}


/* ---------------------------------------------------
	sp_nav
------------------------------------------------------ */
#sp_nav { display: none;}

@media screen and (max-width: 600px) {
	#sp_nav {
		display: block; width: 100%; position: fixed; bottom: 0; left: 0; z-index: 11000;
		background: #fff; border-top: 1px solid #aaa;
	}
	#sp_nav ul,
	#sp_nav li:nth-child(2) div,
	#sp_nav a { display: flex; width: 100%;}

	#sp_nav li { width: 100%; padding-bottom: env(safe-area-inset-bottom);}
	#sp_nav li:nth-child(2) div,
	#sp_nav a {
		flex-direction: column; align-items: center; justify-content: flex-end;
		padding: 10px 0; font-size: 11px; box-sizing: border-box;
	}
	#sp_nav a{ height: 100%;}
	#sp_nav a:hover { text-decoration: none;}
	#sp_nav li:first-child a img{ margin: 0 auto 2.5px;; max-width: 20px;}
	#sp_nav li:nth-child(2) div{ width: 100%; height: 100%; color: #fff; background: #95362d;}
	#sp_nav li:nth-child(3) a{ color: #fff; background: #ca8501;}
	#sp_nav li:nth-child(2) div img,
	#sp_nav li:nth-child(3) a img{ margin: 0 auto 5px; max-width: 30px;}
	#sp_nav li:last-child a{ color: #fff; background: #000;}
	#sp_nav li:last-child a img{ margin: 0 auto 5px; max-width: 38px;}
	#sp_nav li:last-child a {
		width: 100%; height: 100%; font-size: 0; background: #000; border-left: 1px solid #fff;
		display: flex; flex-direction: column; justify-content: flex-end; align-items: center;
		position: relative; z-index: 9999;
	}
	#sp_nav li:last-child a span:nth-of-type(-n+3) {
		margin-bottom: 7px; width: 40px; height: 1px; background: #fff;
		transition: width .5s, transform .5s, opacity .5s;
	}
	#sp_nav li:last-child a span.open,
	#sp_nav li:last-child a span.close { color: #fff; font-size: 11px; transition: all .5s;}
	#sp_nav li:last-child a span.close{display: none;}
	#sp_nav li:last-child a.active span:first-of-type { transform: translate(0,8px) rotate(45deg);}
	#sp_nav li:last-child a.active span:nth-of-type(2) { opacity: 0;}
	#sp_nav li:last-child a.active span:nth-of-type(3) { width: 40px; transform: translate(0,-8px) rotate(-45deg);}
	#sp_nav li:last-child a.active span.open{ display: none;}
	#sp_nav li:last-child a.active span.close{ display: block;}
}


/* ---------------------------------------------------
	404
------------------------------------------------------ */
#error #main_tit h1{ padding-bottom: 50px;}
#error #main_tit h1 .ja{ margin-bottom: 15px; font-size: 32px;}
