@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
body { min-width: 1380px; min-height: 100vh; background: #fff; color: #603219; font-size: 16px; font-weight: normal; line-height: 1.8; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; -webkit-text-size-adjust: 100%; position: relative; font-feature-settings: "palt"; letter-spacing: 0.08em;}
.v_rl{ writing-mode: vertical-rl; font-feature-settings: "palt" 0;}

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

div { box-sizing: border-box;}

a { color: #603219; text-decoration: none; }
a img { opacity: 1; transition: opacity 0.5s;}
a:hover { color: #603219; text-decoration: underline;}
a:hover img { opacity: 0.75;}

.gothic{ font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;}
.fixed { width: 100%; min-width: 1380px; position: fixed; top:0; left: 0; z-index: 999;}

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

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

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

/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */
/* hoverで下線がアニメーション aに適用する a内にspanが必要 */
.ho_line_01:hover{ text-decoration: none;}
.ho_line_01 span { position: relative; text-decoration: none; color: inherit; }
.ho_line_01 span::after { content: ""; display: block; width: 100%; height: 1px; background: #000; position: absolute; bottom: -5px; left: 0; transform-origin: left center; transform: scaleX(0); transition: transform 0.5s; }
.ho_line_01:hover span{ opacity: 1; text-decoration: none;}
.ho_line_01:hover span::after { transform: scaleX(1); }
@media screen and (max-width: 600px) {
.ho_line_01 span::after { display: none;}
}

/* hoverで薄い色の下線が濃い色の下線がアニメーション aに適用する a内にspanが必要 */
.ho_line_02:hover{ text-decoration: none;}
.ho_line_02 span { position: relative; text-decoration: none; color: inherit; }
.ho_line_02 span::before,
.ho_line_02 span::after { content: ""; display: block; width: 100%; height: 1px; position: absolute; bottom: -5px; left: 0; transform-origin: left center; transform: scaleX(0); transition: transform 0.5s; }
.ho_line_02 span::before { transform: scaleX(1); background: rgba(87,87,87,0.4);}
.ho_line_02 span::after { background: rgba(87,87,87,1); }
.ho_line_02:hover span{ opacity: 1; text-decoration: none;}
.ho_line_02:hover span::after { transform: scaleX(1); }

@media screen and (max-width: 600px) {
.ho_line_02:hover{ text-decoration: none;}
.ho_line_02 span { position: relative; text-decoration: none; color: inherit; border-bottom: solid 1px rgba(87,87,87,0.4); padding: 0 0 5px;}
.ho_line_02 span::before,
.ho_line_02 span::after { display: none;}
}

/* hoverで画像がズーム imgの外枠に適用する */
.ho_zoom{ overflow: hidden; display: block;}
.ho_zoom img { width: 100%; height: 100%; object-fit: contain; transition: opacity .5s, transform .5s; }
.ho_zoom:hover { opacity: 1; }
.ho_zoom:hover img{ opacity: .75; transform: scale(1.05); }

/* cmn_btn_01 */
.cmn_btn_01 a{ display: block; width: 100%; height: 80px; font-size: 18px; line-height: 80px; text-align: center; background: #825765; color: #fff; position: relative; overflow: hidden; z-index: 1; box-sizing: border-box;}
.cmn_btn_01 a::after{ background: #986979; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
.cmn_btn_01 a:hover{ text-decoration: none; color: #fff;}
.cmn_btn_01 a:hover::after{ transform: scale(1, 1);}

@media screen and (max-width: 600px) {
.cmn_btn_01 a{ height: 60px; font-size: 16px; line-height: 60px;}
}

/* cmn_btn_02 */
.cmn_btn_02{ width: 100%; display: block; border-top: solid 1px #d9c9bf; border-bottom: solid 1px #d9c9bf;}
.cmn_btn_02 a{ width: 100%; display: block; padding: 20px 40px 20px 10px; font-size: 16px; line-height: 1; position: relative; box-sizing: border-box;}
.cmn_btn_02 a::before{ content: ""; background-repeat: no-repeat; background-position: center center; background-size: 12px; background-image: url("../img/ico_arrow_01.svg"); width: 26px; height: 26px; background-color: #dcd2c6; border-radius: 26px; display: block; position: absolute; top: 50%; right: 10px; transform: translate(0, -50%); transition: right 0.5s;}
.cmn_btn_02 a:hover{ text-decoration: none;}
.cmn_btn_02 a:hover::before{ right: 5px;}

@media screen and (max-width: 600px) {
.cmn_btn_02 a{ font-size: 14px;}
}

/* cmn_btn_03 */
.cmn_btn_03{ width: 300px; border: solid 1px #dad0c8; margin: 0 auto; font-size: 16px; line-height: 1.5;}
.cmn_btn_03 a{ display: block; width: 100%; padding: 15px 0; position: relative; overflow: hidden; z-index: 1; box-sizing: border-box; text-align: center;}
.cmn_btn_03 a::after{ background: #f2efeb; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
.cmn_btn_03 a:hover{ text-decoration: none;}
.cmn_btn_03 a:hover::after{ transform: scale(1, 1);}

/* cmn_btn_03 */
.cmn_btn_04{ margin: 0 auto; display: block; width: 300px;}
.cmn_btn_04 a { display: block; width: 100%; padding: 15px 0; font-size: 16px; line-height: 1.5; text-align: center; background: rgb(173,35,84); background: linear-gradient(90deg, rgba(173,35,84,1) 0%, rgba(202,90,116,1) 100%); color: #fff; position: relative; overflow: hidden; z-index: 1;}
.cmn_btn_04 a::after { background: #9f1647; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
.cmn_btn_04 a:hover { text-decoration: none; color: #fff;}
.cmn_btn_04 a:hover::after { transform: scale(1, 1);}

/* cmn_tit_01 */
.cmn_tit_01{ width: 100%; text-align: center; display: flex; flex-direction: column;}
.cmn_tit_01 .ja{ font-size: 35px; color: #603219;}
.cmn_tit_01 .en{ font-size: 13px; color: #e78c67; background: #E78C67; background: linear-gradient(to right, #E78C67 0%, #C88BCA 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding: 0 0 30px; display: inline-block;}

@media screen and (max-width: 600px) {
.cmn_tit_01{ width: 100%; text-align: center; display: flex; flex-direction: column;}
.cmn_tit_01 .ja{ font-size: 24px;}
.cmn_tit_01 .en{ font-size: 10px; padding: 0 0 20px;}
}

/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
/* コンテンツ幅 */
.inner_sm { width: 90%; max-width: 980px; margin: 0 auto;}
.inner_md { width: 90%; max-width: 1200px; margin: 0 auto;}
.inner_ld { width: 90%; max-width: 1380px; margin: 0 auto;}

/* ---------------------------------------------------
Slick.js ドットボタン共通 Overwrite
------------------------------------------------------ */
.slick-dots li{ margin: 0 3px!important;}
.slick-dots li button{}
.slick-dots li button:before{ color:#c4b8a7!important; opacity: 1!important;}
.slick-dots li.slick-active button:before{ color:#e69194!important; font-size: 10px!important; opacity: 1!important;}

/* ---------------------------------------------------
Slick.js 前後矢印ボタン共通 Overwrite
------------------------------------------------------ */
.slick-arrow{ width: 70px!important; height: 70px!important;}
.slick-prev{ left: -80px!important; }
.slick-next{ right: -80px!important;}
.slick-prev:before,
.slick-next:before { content: ""!important; background-color: #e2dbd2!important; background-image: url("../img/ico_arrow_01.svg")!important; background-position: center center!important; background-repeat: no-repeat!important; background-size: 20px!important; width: 70px!important; height: 70px!important; border-radius: 70px!important; display: block;}
.slick-prev:before{ transform: scale(-1, 1)!important;}
.slick-next:before {}

/* ---------------------------------------------------
	Global Header
------------------------------------------------------ */
#g_header { width: 100%; min-width: 1380px; height: 80px; position: absolute; top: 0; left: 0; z-index: 100; display: flex; justify-content: flex-end; animation: fix_opacity ease-in-out 1s; transition: top .7s; }
#g_header.fixed { position: fixed; background: #fff; animation: fix_nav 1s both; }
#g_header.close_nav { animation: close_nav .7s both; }
#g_header .hd_logo{ position: absolute; top: 12px; left: 25px; display: block; align-items: center; width: 240px;}
#home #g_header .hd_logo{ display: none;}
#g_header .hd_logo_w{ position: absolute; top: 12px; left: 25px; display: block; align-items: center; width: 240px;}
#home #g_header .hd_logo_w{ display: none;}
#g_header.fixed .hd_logo,
#home #g_header.fixed .hd_logo{ display: block;}
#g_header.fixed .hd_logo_w{ display: none;}
#g_header .hd_logo img{ width: 100%; height: auto;}
#home #g_header .hd_lang{ left: 40px;}
#g_header .hd_nav{ display: flex; align-items: center; margin: 0 30px 0 0;}
#g_header .hd_nav li{ margin: 0 12px;}
#g_header.fixed .hd_nav li a{ color: #603219;}
#g_header .hd_nav li a{ color: #fff; font-size: 14px; line-height: 1; padding: 20px 0; position: relative; display: block;}
#g_header.fixed .hd_nav li a{ font-size: 14px;}
#g_header .hd_nav li a:hover{ text-decoration: none;}
#g_header .hd_nav li a.ho_line_01 span::after { background: #fff; }
#g_header.fixed .hd_nav li a.ho_line_01 span::after { background: #603219; }
#g_header .hd_btn_01{ margin: 15px 0 0;}
#g_header .hd_btn_01 a { display: block; width: 180px; height: 50px; font-size: 16px; line-height: 50px; text-align: center; padding: 0 0 0 30px; background: rgb(173,35,84); background: linear-gradient(90deg, rgba(173,35,84,1) 0%, rgba(202,90,116,1) 100%); color: #fff; position: relative; overflow: hidden; z-index: 1;}
#g_header .hd_btn_01 a::before { content: ""; display: block; width: 20px; height: 30px; background-image: url("../img/ico_calender_01.svg"); background-repeat: no-repeat; background-position: 0 0; background-size: 20px; position: absolute; top: 15px; left: 44px;}
#g_header .hd_btn_01 a::after { background: #9f1647; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
#g_header .hd_btn_01 a:hover { text-decoration: none; color: #fff;}
#g_header .hd_btn_01 a:hover::after { transform: scale(1, 1);}
#g_header .hd_menu { box-sizing: border-box; cursor: pointer; z-index: 1000; height: 50px; width: 60px; display: block; margin: 15px 15px 0 0; position: relative;}
#g_header .hd_menu a{ display: block; width: 100%; height: 100%;}
#g_header .hd_menu a > .bar{ transition: all 0.3s; box-sizing: border-box; position: absolute; height: 1px; width: 25px; right: 12px; text-indent: 100%; white-space: nowrap; overflow: hidden; z-index: 2; transform-origin: center center;}
#g_header .hd_menu a > .bar::after{ content: ""; height: 1px; width: 25px; display: block; background: #fff; position: absolute; top: 0; left: 0;}
#g_header.fixed .hd_menu a > .bar::after{ background: #000;}
#g_header .hd_menu a > .bar:nth-of-type(1) { top: 16px;}
#g_header .hd_menu a > .bar:nth-of-type(2) { top: 24px;}
#g_header .hd_menu a > .bar:nth-of-type(3) { top: 32px;}

.stt-lang-select.tl{ left: 290px !important; top: 18px !important; border-radius: 5px !important;}

@media screen and (max-width: 600px) {
#g_header { width: 100%; min-width: 100%; height: 50px;}
#g_header.fixed { display: none; }
#g_header .hd_logo_w{ top: 15px; left: calc(50% - 65px);/*left: 10px;*/ width: 130px;}
/*#g_header .hd_lang{ top: 15px; left: calc( 100% - 86px );}*/
#g_header .hd_logo,
#g_header .hd_nav,
#g_header .hd_btn_01,
#g_header .hd_menu{ display: none;}

.stt-lang-select.tl{ left: 0 !important; top: 0 !important; border-radius: 0 0 5px 0 !important;}
}

@keyframes fix_opacity { 
0% { opacity: 0; }
25% { opacity: 1; }
}
@keyframes fix_nav {
0% { transform: translateY(-100%); }
100% { transform: translateY(0); }
}
@keyframes close_nav {
0% { transform: translateY(0); }
100% { transform: translateY(-100%); }
}

/* ---------------------------------------------------
	Global Navigation
------------------------------------------------------ */
.pos_fix { overflow: hidden;}
#menuOuter { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 1000; background: rgba(255,255,255,1); overflow: auto; pointer-events: none; transition: 0.75s; opacity: 0; padding: 0; margin: 0 !important;}
#menuOuter.active { pointer-events: auto; opacity: 1; margin: 0 !important;}
#menuInner { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 0; cursor: pointer;}
#gnav { width: 100%; min-width: 100%; height: 100%; position: relative; top: 0; left: 0; z-index: 20; transition: all 0.5s; display: none; background: none; clear: both; overflow: hidden;}
#menuOuter.active #gnav{ display: block;}
#gnav .close_menu { display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer;}
#gnav .close_menu::before,
#gnav .close_menu::after { content: ''; width: 30px; height: 1px; background: #000;}
#gnav .close_menu::before { transform: rotate(-45deg);}
#gnav .close_menu::after { margin: -1px 0 0; transform: rotate(45deg);}
#gnav #close_top { width: 50px; height: 50px; padding: 0; position: absolute; top: 15px; right: 10px; font-size: 0;}
#gnav .gn_logo{ display: block; padding: 130px 0 60px; width: 400px; margin: 0 auto;}
#gnav .gn_logo img{ width: 100%; height: auto;}
#gnav .gn_nav{ display: block; width: 90%; max-width: 820px; margin: 0 auto; column-count: 2;}
#gnav .gn_nav li{ border-left: solid 1px #dfd6d1;}
#gnav .gn_nav li a{ color: #603219; font-size: 17px; line-height: 1.1; padding: 10px 0 10px 25px; display: block;}
#gnav .gn_nav li a:hover{ text-decoration: none; color: #603219;}
#gnav .gn_nav li a.ho_line_01 span::after { background: #603219; }
#gnav .gn_btns_01{ display: flex; justify-content: space-between; width: 90%; max-width: 820px; margin: 60px auto 20px;}
#gnav .gn_btn_01,
#gnav .gn_btn_02{ width: 48%;}
#gnav .gn_btn_01 a,
#gnav .gn_btn_02 a{ display: block; width: 100%; height: 80px; font-size: 16px; line-height: 80px; text-align: center; padding: 0 0 0 20px; background: rgb(173,35,84); background: linear-gradient(90deg, rgba(173,35,84,1) 0%, rgba(202,90,116,1) 100%); color: #fff; position: relative; overflow: hidden; z-index: 1; box-sizing: border-box;}
#gnav .gn_btn_01 a::before { content: ""; display: block; width: 20px; height: 20px; background-image:  url("../img/ico_calender_01.svg"); background-repeat: no-repeat; background-position: 0 0; background-size: 20px; position: absolute; top: calc( 50% - 11px ); left: calc( 50% - 4em );}
#gnav .gn_btn_01 a::after,
#gnav .gn_btn_02 a::after{ background: #9f1647; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
#gnav .gn_btn_01 a:hover,
#gnav .gn_btn_02 a:hover{ text-decoration: none; color: #fff;}
#gnav .gn_btn_01 a:hover::after,
#gnav .gn_btn_02 a:hover::after{ transform: scale(1, 1);}
#gnav .gn_btn_02 a { padding: 0; background: #ede9e2; color: #603219;}
#gnav .gn_btn_02 a::after { background: #e3ded6; }
#gnav .gn_btn_02 a:hover { color: #603219;}
#gnav .gn_tel{ text-align: center; font-size: 15px;}
#gnav .gn_tel .tel-link2{ font-size: 27px; color: #603219;}
#gnav .gn_tel .tel-link2:hover{ text-decoration: none;}
#gnav .gn_tel .open{ font-size: 13px;}
#gnav .gn_sns { position: absolute; bottom: 30px; right: 30px; display: flex; justify-content: flex-end;}
#gnav .gn_sns li{ margin: 0 15px 0 0;}
#gnav .gn_sns li a{ display: block; width: 24px; height: 24px; background-position: center center; background-repeat: no-repeat; background-size: 24px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
#gnav .gn_sns li.insta a{ background-image: url( "../img/ico_insta_01.svg");}
#gnav .gn_sns li.fb a{ background-image: url( "../img/ico_fb_01.svg");}
#gnav .gn_sns li.x a{ background-image: url( "../img/ico_x_01.svg");}
#gnav .gn_sns li.line a{ background-image: url( "../img/ico_line_01.svg");}
#gnav .gn_jpn{ position: absolute; bottom: 30px; left: 30px;}
#gnav .gn_jpn a{ color: #603219; background: url("../img/ico_lang_02.png") no-repeat left center; background-size: 12px; font-size: 13px; line-height: 1.5; padding: 5px 0 5px 22px;}

@media screen and (max-width: 600px) {
#gnav { height: auto; padding: 0 0 90px;}
#gnav .gn_logo{ padding: 80px 0 30px; width: 280px;}
#gnav .gn_nav{ display: block; width: 90%; max-width: 820px; margin: 0 auto; column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;}
#gnav .gn_nav li{ border-left: solid 1px #dfd6d1; display: inline-block; width: 100%; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;}
#gnav .gn_nav li a{ /*color: #603219;*/ font-size: 15px; line-height: 1.1; padding: 10px 0 10px 15px; display: block;}
#gnav .gn_nav li a:hover{ text-decoration: none;}
#gnav .gn_nav li a.ho_line_01 span::after { background: #603219; }
#gnav .gn_btns_01{ flex-direction: column; width: 90%; max-width: 90%; margin: 20px auto;}
#gnav .gn_btn_01,
#gnav .gn_btn_02{ width: 100%; margin: 0 0 10px;}
#gnav .gn_btn_01 a,
#gnav .gn_btn_02 a{ height: 60px; font-size: 0.9rem; line-height: 60px;}
#gnav .gn_btn_01 a::before { background-size: 20px; top: calc( 50% - 11px ); left: calc( 50% - 5em );}
#gnav .gn_tel{ font-size: 15px; line-height: 1.4;}
#gnav .gn_tel .tel-link2{ font-size: 24px;}
#gnav .gn_tel .open{ font-size: 13px;}
#gnav .gn_sns { position: static; padding: 20px 0 30px; justify-content: center;}
#gnav .gn_sns li{ margin: 0 10px;}
#gnav .gn_jpn{ position: static; text-align: center; padding: 20px 0 0;}
#gnav .gn_jpn a{ color: #603219; background: url("../img/ico_lang_02.png") no-repeat left center; background-size: 12px; font-size: 13px; line-height: 1.5; padding: 5px 0 5px 22px;}
}

/* ---------------------------------------------------
Main Title （下層ページのメインタイトル部分）
------------------------------------------------------ */
.main_title{ position: relative;}
.main_title::before{ content: ""; display: block; width: 100%; height: 180px; background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%); position: absolute; top: 0; left: 0; z-index: 2;}
.main_title .img{ width: 100%; position: relative; z-index: 1;}
.main_title .img img{ width: 100%; height: auto}
.main_title .tit{ position: absolute; z-index: 2; top: 0; bottom: 0; left: 50%; color: #fff; height: 80px; margin: auto 0 auto -600px;}
.main_title .tit::after{ content: ""; display: block; width: 1600px; height: 1px; background: rgba(255,255,255,0.5); position: absolute; bottom: 0; right: 0;}
.main_title .tit span{ display: block; line-height: 1.4; text-shadow: 0px 0px 6px rgba(0,0,0,0.5);}
.main_title .tit span{ font-size: 45px;}

@media screen and (max-width: 600px) {
.main_title .tit{ height: 40px; margin: auto 0 auto -40%;}
.main_title .tit span{ font-size: 28px;}
.main_title .img img{ width: 100%; height: 300px; object-fit: cover; filter: brightness(0.9);}
}

/* ---------------------------------------------------
	Breadcrumb
------------------------------------------------------ */
#breadcrumb { padding: 20px; margin: 0; width: 100%; font-size: 14px; line-height: 1.6; text-align: left; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; color: #8a8a8a; box-sizing: border-box;}
#breadcrumb li { display: block;}
#breadcrumb li:before { content: '>'; margin: 0 15px;}
#breadcrumb li:first-child:before { display: none;}
#breadcrumb a{ color: #8a8a8a;}

@media screen and (max-width: 600px) {
#breadcrumb { padding: 10px 5%; font-size: 11px;}
}

/* ---------------------------------------------------
	Global Footer
------------------------------------------------------ */
#g_footer { display: block; color: #fff; font-size: 16px; line-height: 1.6; background-color: #6c394a; }
#g_footer a,
#g_footer a:hover { color: #fff;}
#g_footer .ft_box_01{ background: #6c394a; text-align: center; padding: 90px 0 60px;}
#g_footer .ft_logo{ padding: 0 0 40px; width: 400px; margin: 0 auto;}
#g_footer .ft_logo img{ width: 100%; height: auto;}
#g_footer .ft_name{ color: #ccc0c4;}
#g_footer .ft_addr{}
#g_footer .ft_num .tel-link2:hover{ text-decoration: none; }
#g_footer .ft_check{ padding: 0 0 40px;}
#g_footer .ft_btn_01{ width: 530px; margin: 0 auto;}
#g_footer .ft_btn_02{ padding: 30px 0 0;}
#g_footer .ft_btn_02 a.ho_line_02 span::before { transform: scaleX(1); background: rgba(255,255,255,0.5);}
#g_footer .ft_btn_02 a.ho_line_02 span::after { background: rgba(255,255,255,1); }
#g_footer .ft_box_02{ background: #572838; padding: 70px 0;}
#g_footer .ft_box_02 .inner_md{ display: flex; flex-wrap: wrap; align-items: center;}
#g_footer .ft_box_02 a.ho_line_01 span::after { background: #fff; }
#g_footer .acc_tit{ display: none;}
#g_footer .ft_nav{ width: 100%; padding: 0 0 50px;}
#g_footer .ft_nav ul{ width: 530px; column-count: 2; margin: 0 auto;}
#g_footer .ft_nav li{ border-left: solid 1px #795360; padding: 10px 0 10px 15px;}
#g_footer .ft_nav li a{ padding: 5px 0;}
#g_footer .ft_jpn { margin: 0 auto 0 0; color: #a7959c; background: url("../img/ico_lang_01.png") no-repeat left center; background-size: 12px; font-size: 13px; line-height: 1.5; padding: 5px 0 5px 22px;}
#g_footer .ft_jpn a{ color: #a7959c;}
#g_footer .ft_jpn a.ho_line_01 span::after { background: #a7959c;}
#g_footer .ft_sns { margin: 0 0 0 auto; display: flex; justify-content: flex-end;}
#g_footer .ft_sns li{ margin: 0 15px 0 0;}
#g_footer .ft_sns li a{ display: block; width: 24px; height: 24px; background-position: center center; background-repeat: no-repeat; background-size: 24px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
#g_footer .ft_sns li.insta a{ background-image: url( "../img/ico_insta_01.svg");}
#g_footer .ft_sns li.fb a{ background-image: url( "../img/ico_fb_01.svg");}
#g_footer .ft_sns li.x a{ background-image: url( "../img/ico_x_01.svg");}
#g_footer .ft_copyright{ font-size: 12px; opacity: 0.6; margin: 0 0 0 20px;}

@media screen and (max-width: 600px) {
#g_footer { display: block; color: #fff; font-size: 14px; line-height: 1.5; background-color: #6c394a; }
#g_footer .ft_box_01{ background: #6c394a; text-align: center; padding: 40px 5%;}
#g_footer .ft_logo{ padding: 0 0 20px; width: 280px; margin: 0 auto;}
#g_footer .ft_name{ color: #ccc0c4;}
#g_footer .ft_check{ padding: 0 0 20px;}
#g_footer .ft_btn_01{ width: 100%;}
#g_footer .ft_btn_02{ padding: 20px 0 0;}
#g_footer .ft_btn_02 a.ho_line_02 span::before { transform: scaleX(1); background: rgba(255,255,255,0.5);}
#g_footer .ft_btn_02 a.ho_line_02 span::after { background: rgba(255,255,255,1); }
#g_footer .ft_box_02{ background: #572838; padding: 40px 0 120px;}
#g_footer .ft_box_02 .inner_md{ display: flex; flex-wrap: wrap; align-items: center; flex-direction: column;}
#g_footer .ft_box_02 a.ho_line_01 span::after { background: #fff; }
#g_footer .acc_tit{ display: block; border: solid 1px rgba(255,255,255,0.2); width: 100%; margin: 0 0 15px; text-align: center; padding: 15px 0; position: relative;}
#g_footer .acc_tit::before,
#g_footer .acc_tit::after{ content: ""; display: block; width: 10px; height: 1px; background: #fff; position: absolute; top: 24px; right: 16px; transform-origin: center center; transition: opacity 0.5s;}
#g_footer .acc_tit::before{ transform: rotate(90deg);}
#g_footer .acc_tit.active::before{ opacity: 0;}
#g_footer .ft_nav{ width: 100%; padding: 0 0 30px; box-sizing: border-box; overflow: hidden;}
#g_footer .ft_nav ul{ width: 100%; column-count: 2; margin: 0; -webkit-column-count: 2; -moz-column-count: 2;}
#g_footer .ft_nav li{ border-left: solid 1px #795360; padding: 10px 0 10px 15px; display: inline-block; width: 100%; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;}
#g_footer .ft_btn_03{ font-size: 14px; line-height: 1.5; padding: 0 0 15px;}
#g_footer .ft_jpn { margin: 0 auto 30px;}
#g_footer .ft_sns { margin: 0 auto 20px; display: flex; justify-content: flex-end;}
#g_footer .ft_sns li{ margin: 0 8px;}
#g_footer .ft_sns li a{ display: block; width: 24px; height: 24px; background-position: center center; background-repeat: no-repeat; background-size: 24px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
#g_footer .ft_sns li.insta a{ background-image: url( "../img/ico_insta_01.svg");}
#g_footer .ft_sns li.fb a{ background-image: url( "../img/ico_fb_01.svg");}
#g_footer .ft_sns li.x a{ background-image: url( "../img/ico_x_01.svg");}
#g_footer .ft_copyright{ font-size: 11px; opacity: 0.6; margin: 0;}
}

/* ---------------------------------------------------
	SmartPhone Fixed Navigation
------------------------------------------------------ */
#sp_fixed_nav{ display: none;}

@media screen and (max-width: 600px) {
#sp_fixed_nav{ display: flex; width: 100%; /*height: 75px;*/ height: calc( 75px + env(safe-area-inset-bottom) ); position: fixed; bottom: 0; left: 0; border-top: solid 1px #bfbfbf; z-index: 1001;}
#sp_fixed_nav > div{ height: 100%; width: 33.33%;}
#sp_fixed_nav > div a{ width: 100%; height: 100%; text-align: center; padding: 50px 0 0; font-size: 12px; line-height: 1; box-sizing: border-box; background: #fff; color: #74354b; display: block; position: relative;}
#sp_fixed_nav > div a::before{ content: ""; background-repeat: no-repeat; background-position: 0 0; background-size: 20px; width: 20px; height: 20px; position: absolute; top: 20px; left: calc( 50% - 10px );}
#sp_fixed_nav > div.access a::before{ background-image: url("../img/fixed_marker_01.svg"); height: 30px; top: 12px;}
#sp_fixed_nav > div.res a{ background: rgb(173,35,84); background: linear-gradient(90deg, rgba(173,35,84,1) 0%, rgba(202,90,116,1) 100%); color: #fff;}
#sp_fixed_nav > div.res a::before{ background-image: url("../img/fixed_res_01.svg"); height: 31px; top: 12px;}
#sp_fixed_nav > div.menu a{ background: #572838; color: #bda9b0;}
#sp_fixed_nav > div.menu a::before{ background-image: url("../img/fixed_menu_01.svg"); height: 13px; top: 22px;}
}
