@charset "utf-8";

#id_menuwrap{
	width: 100%;
	background: #fff;
}

#id_menubar{
	box-sizing: border-box;
	width: 95%;
	min-width: 320px;
	max-width: 1070px;
	position: relative;
	padding-top: 20px;
	margin: 0 1% 4px 4%;
	background: #fff;
}


@media all and (min-width: 1000px){#id_menubar{margin: 0 auto 4px;}}    /* PC */

#id_menulogo{
	float: left;
	margin-right: 10px;
}

/* --- Lv1 --- */
#id_menubar .menubarlist_lv1 {display: none;} 
#id_menubar .menubarlist_lv1 a {
	text-decoration: none;
	color: #000;
}

/* SmartPhone */
@media all and (min-width: 480px){#id_menubar .menubarlist_lv1{display: none;}}      /* Tablet */
@media all and (min-width: 780px){#id_menubar .menubarlist_lv1{display: inline;}}    /* PC */

#id_menubar .menubarlist_lv1>li{
	font-size: 18px;
	position: relative;
	float: left;
	margin: 0 6px 10px 10px;
	border-bottom: solid 1px #000;
	transition-property: border-bottom, margin;
	transition-duration:0.1s;
	transition-timing-function: linear;
}
#id_menubar .menubarlist_lv1>li>a, #id_menubar .menubarlist_lv1>li>div.node_text{
	display: block;
	padding: 12px 5px 0px;
	height: 28px;
}
.ja #id_menubar .menubarlist_lv1>li>a, .ja #id_menubar .menubarlist_lv1>li>div.node_text{
	font-weight: bold;
}
#id_menubar .menubarlist_lv1>li.selected, #id_menubar .menubarlist_lv1>li:hover{
	border-bottom: solid 6px #000;    /*  1 + 5px */
	margin: 0 6px 5px 10px;           /* 10 - 5px */
}
/* --- Lv2 --- */
#id_menubar .menubarlist_lv2 {
	display: none;
	position: absolute;
	top: 40px;
	left: 0px;
	padding: 0;
	background-color: black;
	opacity: 0.75;
	z-index: 999;
}
#id_menubar .menubarlist_lv2>li {
	font-size: 16px;
	margin: 0;
	padding: 0;
	width: 240px;
	border-bottom: solid 1px #646464;
}
.en #id_menubar .menubarlist_lv1>li:first-of-type .menubarlist_lv2>li,
.en #id_menubar .menubarlist_lv1>li:first-of-type .menubarlist_lv2>li>a {
	width: 300px;
}
#id_menubar .menubarlist_lv2>li>a {
	display: inline-block;
	width: 240px;
	height: 27px;
	padding-top: 8px;
	text-align: left;
	text-indent: 20px;
	color: white;
	font-weight: normal;
}
#id_menubar .menubarlist_lv2 li a:hover {
	background: #333;
	color: white;
	font-weight: bold;
}
id_menubox_sp .menu_reserve, #id_menubar .menu_reserve{
	display: none;
}

/* ----- for Smart Phone (SP) ----- */
/* ..... [SP] Toggle ..... */
#id_menutoggle{display: block;}                                      /* SmartPhone, Tablet */
@media all and (min-width: 780px){#id_menutoggle{display: none;}}    /* PC */

#id_menutoggle{
	position: relative;
	width: 100%;
	background: #222;
	margin-top: 10px;
}
#id_menutoggle a{
	display: block;
	position: relative;
	padding: 12px 0 10px;
	border-bottom: solid 1px #444;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
}
#id_menutoggle:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #fff;
}
#id_menutoggle a:before, #id_menutoggle a:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 4px;
	background: #222;
	transition-property: transform, -webkit-transform;
	transition-duration: 0.25s;
	transition-timing-function: linear;
}
#id_menutoggle a:before{
	margin-top: -5px;
}
#id_menutoggle a:after{
	margin-top: 3px;
}

#id_menutoggle.close:before{
	opacity: 0;
}
#id_menutoggle.close a:before, #id_menutoggle.close a:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 4px;
	background: #fff;
	margin-top: -2px;
}
#id_menutoggle.close a:before{
	transform: rotate(225deg);
	-webkit-transform: rotate(225deg);
}
#id_menutoggle.close a:after{
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}

/* ..... [SP] Menu ..... */
#id_menu_sp{
	position: absolute;
	width: 100%;
	z-index: 999;
	display: none;
	font-size: 16px;
}
#id_menu_sp .node_text:after{
	margin-left: 20px;
	content: ">";
}
/* ..... [SP] Lv1 ..... */
#id_menu_sp a, #id_menu_sp .node_text{
	width: 100%;
	display: block;
	padding: 12px 0 10px;
	border-bottom: solid 1px #444;
	color: #fff;
	text-align: left;
	text-decoration: none;
	background: #222;
	text-indent: 15px;
	opacity: 0.9;
}
#id_menu_sp a:hover{
	background: #808080;
}
#id_menu_sp .node_text:hover{
	background: #505050;
}

/* ..... [SP] Lv2 ..... */
#id_menu_sp .menubarlist_lv2 a{
	text-indent: 40px;
}


/* --- Start of TEL --- */
#id_tel_link{
	float: left;
	position: relative;
	height: 28px;
	color: #444;
	margin: 0 5px 10px;
}
#id_tel_link>.text{
	display: block;
	font-size: 18px;
	font-weight: bold;
	position: absolute;
	white-space: nowrap;
	padding: 12px 8px 0px;
	height: 28px;
}
/* +-- [TEL] SmartPhone (+ narrow Tablet) */
#id_tel_link{
	display: inline;
	width: 100%;
}
#id_tel_link>.text{
	left: 0;
	right: 0;
	margin: 0 auto;
}
/* +-- [TEL] Tablet */
@media all and (min-width: 520px){
	#id_tel_link{
		display: inline;
		width: 190px;
	}
	#id_tel_link>.text{
		left: 0;
		right: auto;
		margin: 0;
	}
}
@media all and (min-width: 490px){
	.ja #id_tel_link{
		display: inline;
		width: 160px;
	}
	.ja #id_tel_link>.text{
		left: 0;
		right: auto;
		margin: 0;
	}
}
/* +-- [TEL] PC */
@media all and (min-width: 780px){
	.ja #id_tel_link, #id_tel_link{
		display: none;
	}
}
/* --- End of TEL --- */


/* ----- for Footer ----- */
#id_footer{
	margin: 20px auto 0 auto;
	width: 100%;
	min-height: 36px;
	position: relative;
	color: white;
}
/* [ to P A G E T O P ] */
#id_to_pagetop{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#id_to_pagetop_link_bg{
	position: absolute;
	top: 2px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	width: 72px;
	height: 72px;
	z-index: 1;
}
#id_to_pagetop_link{
	position: relative;
	top: 2px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	width: 72px;
	z-index: 2;
}
#id_to_pagetop_link:hover{
	opacity: 0.8;
	cursor: pointer;
	z-index: 2;
}
#id_to_pagetop_link_bg:hover{
	opacity: 0.8;
}
/* [ C O N T E N T S ] */
#id_footer_contents{
	position: absolute;
	margin-top: 36px;
	padding-top: 36px;
	width: 100%;
	background: #3c0000;
}
#id_footermenu, #id_footersubmenu, #id_information{
	width: 100%;
	min-width: 320px;
	max-width: 960px;
}
#id_footersubmenu, #id_information{
	box-sizing: border-box;
	padding: 0 5px;
}
#id_footersubmenu:before, #id_information:before{
	content: "";
	display: block;
	height: 1px;
	margin: 10px 0;
	width: 100%;
	background: #cccccc;
	opacity: 0.8;
}

/* [ M A I N ] */
#id_footermenu{
	box-sizing: border-box;
	top 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	padding: 0 5px;
	position: relative;
}
/* SmartPhone */
#id_footermenu>ul>li{
	width: 50.000%;
	height: 165px;
}
.en #id_footermenu>ul>li{
	height: 180px;  /* -en- */
}
#id_footermenu>ul>li:nth-of-type(3), #id_footermenu>ul>li:nth-of-type(4){
	height: 45px;
}
#id_footermenu>ul>li:nth-of-type(5), #id_footermenu>ul>li:nth-of-type(6){
	height: 110px;
}
/* Tablet */
@media all and (min-width: 480px){
	/* 注意！ 順番大事 */
	#id_footermenu>ul>li{
		width: 33.333%;
	}
	#id_footermenu>ul>li:nth-of-type(3){
		height: 165px;
	}
	#id_footermenu>ul>li:nth-of-type(4){
		height: 110px;
	}
	.en #id_footermenu>ul>li{
		height: 200px;  /* -en- */
	}
	.en #id_footermenu>ul>li:nth-of-type(4), .en #id_footermenu>ul>li:nth-of-type(5), .en #id_footermenu>ul>li:nth-of-type(6){
		height: 110px;  /* -en- */
	}
}
/* PC */
@media all and (min-width: 780px){
	#id_footermenu>ul>li{
		width: 16.666%;
	}
	#id_footermenu>ul>li:nth-of-type(4), #id_footermenu>ul>li:nth-of-type(5), #id_footermenu>ul>li:nth-of-type(6){
		height: 165px;
	}
	.en #id_footermenu>ul>li{
		height: 210px;
	}
}

#id_footermenu>ul>li:before{
	content: "";
	display: block;
	height: 1px;
	margin-bottom: 10px;
	width: 90%;
	min-width: 100px;
	background: #cccccc;
	opacity: 0.8;
}
#id_footermenu>ul>li:nth-of-type(2n):before{width: 100%;}
@media all and (min-width: 480px){#id_footermenu>ul>li:nth-of-type(2n):before{width: 90%;} #id_footermenu>ul>li:nth-of-type(3n):before{width: 100%;}}
@media all and (min-width: 780px){#id_footermenu>ul>li:nth-of-type(2n):before{width: 90%;} #id_footermenu>ul>li:nth-of-type(3n):before{width: 90%;} #id_footermenu>ul>li:nth-of-type(6n):before{width: 100%;}}
#id_footermenu>ul>li{
	box-sizing: border-box;
	float: left;
	font-size: 16px;
	padding: 0px;
}
#id_footermenu a{
	box-sizing: border-box;
	display: block;
	padding: 2px;
	color: white;
	text-decoration: none;
}
#id_footermenu a:hover{
	text-decoration: underline;
}
#id_footermenu>ul>li>a{
	width: 90%;
}
#id_footermenu>ul>li>ul>li>a{
	width: 100%;
}
#id_footermenu li{
	text-align: left;
/*	background: #ff00ff; */
	line-height: 1.5em;
	margin: 5px 0;
}
#id_footermenu li ul li{
	box-sizing: border-box;
	font-size: 14px;
	width: 100%;
	padding-left: 20px;
	display: inline-table;
	vertical-align: middle;
	text-align: left;
/*	background: #ff80ff; */
	background-image: url("../../images/common/marker_10x10.png");
	background-repeat:no-repeat;
	background-position:left center;
}
.menubarlist_lv1 .glue{
	display: inline;
}
.menubarlist_lv1 .glue2{
	display: none;
}
#id_footermenu .menubarlist_lv1 span.glue{
	display: none;
}
#id_footermenu .menubarlist_lv1 span.glue2{
	display: inline;
}
#id_footermenu .menu_reserve span.prefix{
	display: none;
}

/* [ S U B ] */
#id_footersubmenu{
	top 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	position: relative;
}
#id_footersubmenu>ul{
	margin-right: 100px;
}
#id_footersubmenu>ul>li{
	box-sizing: border-box;
	float: left;
	padding: 3px;
	text-align: left;
	font-size: 14px;
	background-image: url("../../images/common/marker_10x10.png");
	background-repeat:no-repeat;
	background-position:left center;
	padding-left: 20px;
	white-space: nowrap;
}
#id_footersubmenu>ul>li>a{
	display: inline-block;
	padding: 10px 0;
	margin-right: 30px;
	color: white;
	text-decoration: none;
}
#id_footersubmenu a:hover{
	text-decoration: underline;
}
#id_footersubmenu .alignright{
	position: absolute;
	top: 20px;
	right: 10px;
}

/* [ I N F O. ] */
#id_information{
	margin: 0 auto;
	background-color: #3f0000;
	position: relative;
	text-align: left;
}
#id_information .infoitem, #id_information .infoitembox{
	padding: 0 20px 0 0;
	margin-bottom: 10px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	line-height: 1.5em;
}
#infoitembox>.infoitem{
	margin-bottom: 20px;
}

#id_information .infoitembox{
	padding: 0;
	margin-bottom: 0;
}

#id_information .copyright{
	width: 100%;
	display: block;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 20px;
	font-size: 15px;
}
#id_address{
	font-size: 14px !important;
	float: left
	white-space: nowrap;
}
#id_phone{
	font-size: 16px !important;
	white-space: nowrap;
}


/* ----- Reserve Button ----- */
#id_reservelink{
	float: left;
	margin-left: 10px;
}
#id_reservelink{display: none;}                                         /* SmartPhone, Tablet */
@media all and (min-width: 780px){#id_reservelink{display: inline;}}    /* PC */

#id_reservelink img:hover{
	opacity: 0.75;
}


/* ----- Select Language ----- */
#id_selectlang{
	float: right;
	right: 0;
	display: table-cell;
	width: 68px;
	height: 53px;
}

#id_lang_title{
	font-size: 12px;
	margin-bottom: 5px;
}

#id_lang_selected{
	position: relative;
}

#id_lang_selected>img{
	position: absolute;
	top: 0;
	left: 20px;
	height: 18px;
}
#id_lang_selectbutton2{
	display: none;
}
#id_selectitems{
	display: none;
	position: absolute;
	top: 18px;
	left: 10px;
	width: 60px;
	color: white;
	background-color: #222;
	z-index: 9999;
}
.selectitem{
	padding: 5px 2px;
	border-bottom: solid 1px #646464;
	position: relative;
}

.selectitem span {
	display: block;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin-top: 3px;
}

.selectitem:hover{
	background-color: #444;
}

.selectitem a{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.selectitem.ko {display: none!important;}