#html, html {
	height:						100%;
	text-align:					center;
	scroll-behavior:			smooth;
	scroll-padding-top:			80px;
}

#body, body{
	width:						100%;
	height:						100%;
	text-align:					center;
	color:						#09090a;
    text-shadow:				0 0 2px rgba(150,150,150,.5);
	font-family:				'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-size:					1em;
	font-style:					normal;
	line-height:				120%;
	-webkit-font-smoothing:		antialiased;
	-moz-osx-font-smoothing:	grayscale;
	overflow:					hidden;
	overflow-Y:					scroll;
	background-color:			rgb(255,255,255);
	background-size:			100% 100%;
}
/* オーバーラップウィンドウ */
#fillback {
	width:						100%;
	background-color:			black;
	z-index:					9998;
	position:					absolute;
	top:						0px;
	left:						0px;
	display:					none;
	filter:						alpha(opacity=85);
	-moz-opacity:				0.85;
	-khtml-opacity:				0.85;
	opacity:					0.85;"
}
#cautionbox {
	width:						220px;
	height:						680px;
	background-color:			white;
	z-index:					9999;
	position:					absolute;
	border:						solid 1px black;
	display:					none;
	text-align:					center;"
}
/* トップ戻るボタン */
#backtotop {
	position:					fixed;
	right:						5px;
	bottom:						40px;
	z-index:					9999;
}
.div_fade-out {
	visibility:					hidden;
	opacity:					0;
	width:						0px;
	height:						0px;
	transition:					0.5s;
}
.div_fade-in {
	visibility:					visible;
	opacity:					1;
	width:						150px;
	height:						60px;
	transition:					0.5s;
}
.roll_top {
	top:						0px;
	transition:					0.5s;
}

#footer_copy_table{
	position:fixed;
	bottom:0px;
	width:100%;
	height:60px;
	border:solid 1px silver;
	background-color:			white;
	z-index:				0;
}


/* menu */
#main-menu {
	position: fixed;
	list-style: none;
    width: 100%;
	text-align:center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    -ms-flex-direction: row;
    flex-direction: row;
	background-color:white;
}

#main-menu .menu-item {
    list-style: none;
    position: relative;
    margin-right: 15px;
	background-color:whitesmoke;
	padding:5px;
}
#main-menu .menu-item a {
    text-transform: uppercase;
    padding: 5px;
	text-decoration:none;
}
#main-menu .menu-item:hover .sub-menu {
    display: block;
}

.sub-menu {
	border:none;
    display: none;
    position: absolute;
    left: 0;
    margin: 0;
    width: 220px;
	text-decoration:none;
}
.sub-menu ,.menu-item_sub {
	margin-top:5px;
	list-style: none;
	border:none;
	padding:5px;
    background-color: silver;
    text-align:left;
	text-decoration:none;
}

.menulinks ,a {
    list-style: none;
    position: relative;
    margin-right: 15px;
	text-decoration:none;
	color:black;
}
.menulinks ,li {
	padding:20px;
}
.menu-item_sub_mobile{
	padding:10px;
    list-style: none;
	text-decoration:none;
}
.sub-menu_mobile{
	text-decoration:none;
}

/* MOBILE */
@media only screen and (max-width: 940px) {
	#main-menu{
		display: none;
	}
}
@media only screen and (min-width: 940px) {
	.menubackground ,.menubars {
		display: none;
	}
}
/* MOBILE */

.mobile-menu {
	display:none;
	width:100%;
	height:100%
}
.menubackground {
    width: 2700px;
    height: 2700px;
    position: fixed;
    right: -2240px;
    z-index: 999;
    top: -2240px;
	border:solid 1px whitesmoke;
    transform: rotate(-45deg);
    background-color: whitesmoke;
    -webkit-transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
    -moz-transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
}

.menubackground_open {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 999;
	border:solid 1px whitesmoke;
    transform: rotate(0deg);
    background-color: whitesmoke;
    -webkit-transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
    -moz-transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 700ms cubic-bezier(0.77, 0, 0.175, 1);
}

.menubars {
    position: fixed;
    right: 10px;
    top: 15px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    z-index: 200;
    float: right;
    margin-top: 10px;
    margin-right: 10px;
    z-index: 99999;
	caret-color:rgba(0,0,0,0);

}
	/* --- menubar --- */
.menubars .menubar {
	height:2px;
	-webkit-transition:all .2s cubic-bezier(.165,.84,.44,1);
	-moz-transition:all .2s cubic-bezier(.165,.84,.44,1);
	transition:all .2s cubic-bezier(.165,.84,.44,1);
	position:absolute;
	z-index:30;
	width:50px;
	background-color:black;
}
.menubar.mobile_bar_top {
	width:30px;
	right:0
}
.menubar.mobile_bar_middle {
	width:30px;
	right:0
}
.menubar.mobile_bar_bottom {
	width:30px;
	right:0
}
.mobile_bar_top {
	top:0px;
}
.mobile_bar_middle {
	top:10px;
}
.mobile_bar_bottom {
	top:20px;
}
