/* ---------------------- top_navi ---------------------- */
/* ---------------------- top_visible ---------------------- */
ul.top_visible{
	width: 100%;
	height: 60px;
	position: fixed;
	top: 0;
	background: rgba(160, 14, 21, .8);
	z-index: 15;
	transition: .3s;
}
ul.top_visible > li{
	/* float: left; */
}
ul.top_visible > li a{
	height: 60px;
}
ul.top_visible > li.visible_logo{
	width: 100%;
}

ul.top_visible > li.visible_logo a{
	text-align: center;
	margin-left: 40px;
	margin-right: 60px;
}
ul.top_visible > li.visible_logo img{
	height: 35px;
	width: auto;
	margin-top: 13px;
}
/* ---------------------- top_visible ---------------------- */

div.menubar{
	width: 50px;
	height: 60px;
	z-index: 30;
	position: fixed;
	top: 0;
	right: 0;
}
div.menubar,
div.menubar span{
	display: inline-block;
	transition: .3s all;
}
div.menubar::before{
	display: block;
	content:'';
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 40px;
	background: rgba(255, 255, 255, .8);
	transform: translateY(-50%);
}
div.menubar span{
	position: absolute;
	left: 20%;
	width: 60%;
	height: 3px;
	background: #fff;
	border-radius: 2px;
}
div.menubar span:nth-of-type(1){
	top: 20px;
}
div.menubar span:nth-of-type(2){
	top: 29px;
}
div.menubar span:nth-of-type(3){
	bottom: 20px;
}
div.menubar.active span:nth-of-type(1){
	transform: translateY(8.5px) rotate(-45deg);
}
div.menubar.active span:nth-of-type(2){
	opacity: 0;
}
div.menubar.active span:nth-of-type(3){
	transform: translateY(-8.5px) rotate(45deg);
}
/* ---------------------- top_hidden ---------------------- */
ul.top_hidden{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 100%;
	background: rgba(160, 14, 21, 1);
	padding: 30px 20px;
	color: #fff;
	transition: .5s all;
	z-index: 25;
}
ul.top_hidden.active{
	left: 0;
}
ul.top_hidden a{
	color: #fff;
}
ul.top_hidden li{
	font-size: 20px;
	font-weight: bold;
}
ul.top_hidden > li:nth-of-type(8){
	margin-top: 30px;
}
ul.hidden_contact,
ul.hidden_sns{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
ul.hidden_contact li,
ul.hidden_sns li{
	flex-basis: 25%;
	position: relative;
}
ul.hidden_contact li > a,
ul.hidden_sns li > a{
	padding: 30px 0;
}
ul.hidden_contact li i,
ul.hidden_contact li .icon-line{
	font-size: 30px;
	display: block;
}
ul.top_hidden > li > a{
	text-align: center;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .8);
}
.hidden_item{
	float: left;
	width: 50%;
	position: relative;
}
.hidden_item:nth-of-type(odd)::before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 40px;
	background: rgba(255, 255, 255, .8);
}
ul.top_hidden > li:nth-of-type(3) > a,
ul.top_hidden > li:nth-of-type(2) > a{
	border-top: 1px solid rgba(255, 255, 255, .8);
}
ul.top_hidden > li > a > span{
	font-size: 12px;
	font-weight: normal;
	display:block;
}
ul.hidden_sns li{
	flex-basis: 25%;
}
ul.hidden_sns li i,
ul.hidden_sns li .icon-line{
	display: block;
	font-size: 30px;
}
ul.hidden_sns li span{
	font-size: 12px;
	font-weight: normal;
}
ul.top_hidden li.hidden_close{
	text-align: center;
	border: 1px solid rgba(255, 255, 255, .8);
	padding: 10px;
	font-size: 16px;
	font-weight: normal;
	width: 50%;
	margin: 0 auto;
}
/* ---------------------- top_hidden ---------------------- */

/* ---------------------- top_sns ---------------------- */
.top_sns{
	width: 100%;
	height: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: -40px;
	left: 0;
	z-index: 14;
	transition: .3s all;
}
.top_sns li{
	text-align: center;
	width: 100%;
	height: 100%;
}
.top_sns li a{
	display: block;
	font-weight: bold;
	font-size: 14px;
	width: 100%;
	height: 100%;
	line-height: 40px;
	color: #fff;
}
.top_sns li:first-of-type a{background: #3B5998;}
.top_sns li:nth-of-type(2) a{background: #55acee;}
.top_sns li:nth-of-type(3) a{background: #00c300;}
/* ---------------------- top_sns ---------------------- */

/* ---------------------- last_navi ---------------------- */
ul.bottom_navi{
	width: 100%;
	position: fixed;
	bottom: 0;
	height: 60px;
	background: #efefef;
	z-index: 20;
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	transition: .3s all;
}
ul.bottom_navi li{
	flex-basis: 20%;
	text-align: center;
	height: 60px;
	position: relative;
	color: rgb(75, 75, 75);
}
ul.bottom_navi > li > a{
	height: 60px;
	color: rgb(75, 75, 75);
}
ul.bottom_navi > li img{
	margin-top: 10px;
	width: auto;
	height: 25px;
}
ul.bottom_navi > li i{
	margin-top: 10px;
	font-size: 30px;
	/* height: 25px; */
}
ul.bottom_navi li span{
	font-size: 12px;
	display: block;
	line-height: 1;
}
ul.bottom_hidden{
	position: fixed;
	bottom: 200px;
	height: 150px;
	left: 300%;
	width: 300%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	background: #fafafa;
	z-index: 100;
	transition: .8s all;
}
ul.bottom_hidden li{
	flex-basis: 16.5%;
	height: 100px;
}
ul.bottom_hidden li a{
	height: 100px;
}
ul.bottom_hidden li i,
ul.bottom_hidden li .icon-line{
	font-size: 40px;
	padding-top: 30px;
	margin-top: 0;
	color: #000;
}
ul.bottom_hidden li i.fa-mobile{
	font-size: 50px;
	padding-top: 25px;
}
ul.bottom_hidden::before,
ul.bottom_hidden::after{
	position: absolute;
	display: block;
	width: 33.333%;
	height: 20px;
}
ul.bottom_hidden::before{
	content: '電話は10:00〜19:00(土日祝除く)';
	top: 15px;
	right: 0;
}
ul.bottom_hidden::after{
	content: 'お問合せフォーム・LINEは24時間受付';
	bottom: 15px;
	right: 0;
}
ul.bottom_hidden.active{
	left: -200%;
}
.overlay{
	width: 100%;
	height: 100%;
	/* background: #000; */
	background: rgba(160, 14, 21, .8);
	position: fixed;
	z-index: 19;
	/* opacity: .7; */
	top: 0;
	left: 100%;
	transition: .3s;
}
.overlay.active{
	left: 0;
}
.overlay_close{
	position: absolute;
	top: 77%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40%;
	/* height: 60px; */
	z-index: 10;
	color: #fff;
	font-size: 20px;
	/* border: 1px solid #fff; */
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}
/* ---------------------- last_navi ---------------------- */


/* ---------------------- top_navi ---------------------- */

@media screen and (orientation:portrait) {/* 縦向き */
ul.top_hidden{
	overflow-y: hidden;
}
}




@media screen and (orientation:landscape) {/* 横向き */
ul.top_hidden{
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
}