.right_menu {
	display:block;
	position:relative;
	z-index:2;
}
.right_menu_button {
	display: block;
    padding: 0;
    width: 45px;
    height: 55px;
    position: relative;
    background: none;
    border: none;
    text-align: center;
    cursor: pointer;
    outline: none;
}
.right_menu_button.active .right_menu_text {
	display: none;
}
.right_menu_button.active .right_menu_close {
	display: block;
}
.right_drawer_text {
	width: 100%;
    height: auto;
    position: absolute;
    right: 0px;
    top: 0px;
    text-align: center;
    font-family: "makimaruhand", sans-serif;
    font-size: 0.9rem;
    color: #fff;
    font-weight: 700;
}
span.rm_tex{
	display: block;
    vertical-align: middle;
    margin: 8px 0px 0px 0px;
    padding: 0;
}
.right_drawer_text span.icon_box{
	display: block;
    color: #fff;
    font-size: 2.8rem;
    margin: 3px 0px -5px 0px;
    padding: 0;
}
.mobile .right_drawer_text span.icon_box{
    margin: 10px 0px -5px 0px;
}
.android .right_drawer_text span.icon_box{
    margin: 10px 0px -5px 0px;
}
.right_drawer_text span.tex_box{
	display:block;
	height:140px;
	font-size:1.2rem;
	color:#fff;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	margin-left:14px;
}
@media all and (-ms-high-contrast: none){
	.right_drawer_text span.tex_box{
		height:200px;
		margin-left:0px;
	}
}
.icon_box:after{
	display:block;
	width:2px;
	height:40px;
	margin:0px 0px 0px 0px;
}
.right_menu_close {
	display: none;
}
.right_menu_button {
	position: fixed;
    top:15px;
    right:15px;
    cursor: pointer;
}
.right_menu .right_menu_bg {
	position: fixed;
	z-index: 999;
	display: none;
	top: 0;
	left: 0;
}
.right_menu .right_menu_nav_wrapper {
	width: 250px;
    box-sizing: border-box;
    padding:15px 15px 30px 15px;
    height: auto;
    transition: all 0.2s;
    transform: translate(260px);
    position: fixed;
    top: 70px;
    right: 0px;
    overflow-y: scroll;
    z-index: 1000;
    background-color: #fff;
    /* border-radius: 0px 10px 10px 0px; */
    box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
    text-align: center;
	height: calc(100% - 50px);
    overflow: scroll;
}
.right_menu .right_menu_nav_wrapper.open {
	transform: translate(0);
}
.right_menu.left .right_menu_button {
	right: auto;
	left: 32px;
}
.right_menu.left .right_menu_nav_wrapper {
	transform: translate(-312px);
	right: auto;
	left: 0;
}
.right_menu.left .right_menu_nav_wrapper.open {
	transform: translate(0);
}
.rbox{
	margin: 0px 0px 0px 0px;
}
.rbox h2{
	background: #F3F3E0;
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #ccc;
}
.rbox ul{
	margin:0px;
    padding:0px;
	list-style:none;
}
.rbox li{
	margin:0px;
    padding:0px;
}
.rbox li a{
	display: block;
    color: #333;
    box-sizing: border-box;
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #ccc;
	font-size:1.2rem;
}
.rbox li a:hover{
	background-color:#666;
	color:#fff;
}
.rbox li span.rbi_tex{
	margin:0px;
    padding:0px;
	font-family:shirokuma,sans-serif;
	color:#fff;
	font-size:2.0rem;
}
.rbox li span.rbi_tex img{
	display:inline-block;
	margin:0px;
    padding:0px;
}
.rbox li strong{
	display: inline-block;
    margin: 8px 0px 0px 5px;
    padding:0px 0px 0px 0px;
    vertical-align: top;
	letter-spacing: 2px;
}
.rbox li strong.hs{
	letter-spacing:-2px;
}
.iphone.safari .rbox li strong.hsa {
	letter-spacing:-1px;
}
.rbox li span.rbl_tex {
	display: block;
    margin: 5px;
    padding: 0px;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
}
.rbox p{
	font-size: 1.1rem;
    color: #000;
    line-height: 200%;
    margin-bottom: 15px;
}
.rbox p span.able{
	font-weight:700;
	font-size:1.4rem;
	color:#099164;
}
.rbox p strong{
	color:#000;
	font-size:1.6rem;
	margin-bottom:5px;
	display:block;
}
.rbox p span.rm_tel{
	display: block;
    font-size: 2.4rem;
    font-weight: 700;
	margin-top:5px;
	white-space:nowrap;
}
.rbox p span.rm_tel i{
	font-size:1.6rem;
	font-weight:500;
}
.tmenu_fav{
	position:fixed;
	top:1px;
	right:57px;
	text-align:center;
	z-index:2;
}
.tmenu_fav a{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	box-sizing:border-box;
	background-image:url('../images/fukidashi_maru.png');
	background-repeat:no-repeat;
    background-position:center 5px;
    background-size:28px 28px;
	font-size:0.9rem;
	font-weight:500;
	text-align:center;
	line-height:130%;
	margin: 0px 0px 0px 0px;
    padding:0px 0px 0px 0px;
	color:#fff;
}
.tmenu_fav a i{
	display:block;
	font-size:1.8rem;
	color:#f5c51d;
	padding: 10px 0px 7px 0px;
	z-index:9999;
}
.tmenu_fav a span{
	display:block;
	font-size:1.0rem;
	margin: 2px 0px 0px 0px;
    padding:0px 0px 0px 0px;
}
#fs_req,#fs_res,.fs_line,
#fs_req_over,#fs_res_over,.fs_line_over{
	width:48%;
    height: 70px;
    display: inline-block;
    box-sizing: border-box;
    margin: 10px 0px 5px 0px;
}
#fs_req a,#fs_res a,.fs_line a,
#fs_req_over a,#fs_res_over a,.fs_line_over a{
	display:block;
	width:100%;
	height:100%;
	box-sizing:border-box;
	padding-top:10px;
	font-size:1.1rem;
	font-weight:500;
	text-align:center;
	line-height:130%;
	color:#fff;
	text-shadow:#999 1px 1px 2px;
}
#fs_req a{
	background-color:#e9482e;
}
#fs_res a{
	background-color:#f5c51d;
}
.fs_line a{
	background-color:#29a239;
	width:;
}
#fs_req_over a,#fs_req_over a:hover,#fs_req a:hover,
#fs_res_over a,#fs_res_over a:hover,#fs_res a:hover,
.fs_line_over a,.fs_line_over a:hover,.fs_line a:hover{
	background-color:#999;
}
#fs_req i,#fs_res i,.fs_line i,
#fs_req_over i,#fs_res_over i,.fs_line_over i{
	display:block;
	font-size:2.2rem;
	margin:0px 0px 5px 0px;
	text-shadow:none;
}
a.atw{
	color: #1D9BF0;
    font-size: 1.2rem;
    margin-top: 7px;
    display: block;
}
.sns_box{
	margin: 10px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	vertical-align:top;
}
.sns_box a{
	color:#333;
}
.sns_box a span{
	display: inline-block;
    vertical-align: top;
    margin-top: 7px;
    margin-left: 7px;
    font-size: 1.6rem;
	font-weight:700;
}
@media screen and (min-width:1024px){
	.tmenu_fav{
		top:10px;
		right:80px;
	}
	.tmenu_fav a{
		background-size:45px 45px;
	}
	.tmenu_fav a i{
		font-size:2.6rem;
		padding:13px 0px 7px 2px;
	}
	.tmenu_fav a span{
		font-size:1.2rem;
		margin: 12px 0px 0px 0px;
	}
	.right_drawer_text span.icon_box{
		font-size:4.2rem;
	}
	.right_menu_button{
		top:5px;
	}
	span.rm_tex {
		font-size: 1.2rem;
		white-space: nowrap;
		margin-top:0px;
	}
	.right_menu .right_menu_nav_wrapper {
		width: 300px;
		top: 95px;
		 transform: translate(310px);
	}
	.rbox li a{
		font-size: 1.8rem;
	}
	#fs_req,#fs_res,.fs_line,
	#fs_req_over,#fs_res_over,.fs_line_over{
		height:auto;
	}
	#fs_req i,#fs_res i,.fs_line i,
	#fs_req_over i,#fs_res_over i,.fs_line_over i{
		font-size:2.8rem;
		margin:5px 0px 10px 0px;
	}
	#fs_req a,#fs_res a,.fs_line a,
	#fs_req_over a,#fs_res_over a,.fs_line_over a{
		font-size:1.6rem;
		padding-bottom: 10px;
	}
}
@media screen and (max-width:640px){
	.tmenu_fav a{
		margin: 5px 0px 0px 0px;
		padding:0px 0px 0px 0px;
	}
	.tmenu_fav a span{
		display:block;
		font-size:1.0rem;
		margin: 3px 0px 0px 0px;
		padding:0px 0px 0px 0px;
	}
	#fs_req,#fs_res,.fs_line,
	#fs_req_over,#fs_res_over,.fs_line_over{
		width: 69px;
		height: 70px;
	}
	.right_menu_button {
	position: fixed;
    top:3px;
    right: 5px;
    cursor: pointer;
	}
	span.rm_tex{
		display: block;
		vertical-align: middle;
		margin: 0px 0px 0px 0px;
		padding: 0;
	}
}