/* ヘッダー_左上ロゴとPC用メニューリスト */


.h_wrapper{
}
.h_menu{
	position: fixed;
	z-index: 200;
	top:0;
	left:auto;
	right:auto; 
	width: 100%;
	height:45px;
	background-color: #fff;
	background-image: url("../img/main_backg.png");
	background-position: -10px -10px;
	background-attachment: fixed;
}
.h_inner{
	display: flex;
	justify-content:space-between;
	
}

.header_logo{
	height: 44px;
}

.main_nav{
	display: flex;
	justify-content: flex-end;
	height:30px;
	margin: auto 0 0 auto;
	font-size: 0.9rem;
}
.main_nav li,.main_nav li a,.main_nav li ul li a{
	color: #3a3a3a;
	font-weight: 400;
	font-family: "Noto Sans", sans-serif;
}
.main_nav li:hover,.main_nav li a:hover,.main_nav li:hover > a{
	color: #00cbb1;
}
.main_nav .notlink{
	color: #3a3a3a;
	font-size: 0.9em;
}
.main_nav .notlink:hover{
	color: #3a3a3a;
}
.main_nav li{
	position: relative;
	width: 130px;
	text-align: center;
}
.main_nav li a{
	font-size: 0.9rem;
	line-height: 1rem;
	vertical-align: bottom;
}
.main_nav li ul{
	position: absolute;
	z-index: 80;
	top: 100%;
	left: 0;
}
.main_nav li:last-child ul{
	left:-70px;
}
.main_nav li ul li{
	width: 200px;
	height: 0;
	background-color: rgba(255,255,255,0.95);
	overflow: hidden;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}
.main_nav li:hover ul li{
	height: 35px;
	overflow: visible;
}
.main_nav li.notlink:hover ul li{
	height: 20px;
	overflow: visible;
}
.main_nav li ul li a{
	display: inline-block;
	width: 100%;
	padding: 10px 15px;;
	font-size: 0.85rem;
	text-align: left
} 


.default_csr > li{
	cursor: default;
}








/* ヘッダー_左上ロゴとPC用メニューリスト */
.menu_out{
	z-index: 180;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height:50px;
	background-color: #fff;
}
.menu_in{
	display: flex;
	margin: 0 auto;
}
.logo_link{
	height:50px;	
	margin-right: auto;
	padding: 3px 0;
}
.menu_list{
	display: flex;
	justify-content: flex-end;
	height:30px;
	margin: auto 0 0 auto;
	font-size: 0.9em;
}
.menu_list li,.menu_list li a,.menu_list li ul li a{
	color: #3a3a3a;
	font-weight: 300;
	font-family:  sans-serif;
}
.menu_list li:hover,.menu_list li a:hover,.menu_list li:hover > a{
	color: #00cbb1;
}
.menu_list li{
	position: relative;
	width: 130px;
	text-align: center;
}
.menu_list li a{
	font-size: 0.9em;
	line-height: 1em;
	vertical-align: bottom;
}
.menu_list li ul{
	z-index: 80;
	position: absolute;
	top: 100%;
	left: 0;
}
.menu_list li:last-child ul{
	left:-70px;
}
.menu_list li ul li{
	width: 200px;
	height: 0;
	background-color: rgba(255,255,255,0.95);
	overflow: hidden;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}
.menu_list li:hover ul li{
	height: 35px;
	overflow: visible;
}
.menu_list li ul li a{
	display: inline-block;
	width: 100%;
	padding: 10px 15px;;
	font-size: 0.85em;
	text-align: left
} 
.default_csr{
	cursor: default;
}
@media(max-width:1000px){
	.menu_out{
		z-index: 101;
		height:10vw;
		background-color:rgba(255, 255, 255, 1);
	}
	.logo_link{
		height:10vw;
		margin-left: -5%;
		align-items: center;
	}
	.rinji_2506 .logo_link{
		height:10vw;
		margin-left: 1%;
		align-items: center;
	}
	.logo_link img{
		height:auto;
		width:80vw;
		vertical-align:top;
	}
}
@media(max-width:750px){
	.logo_link{
		padding: 0;
	}
	.logo_link img{
		height:auto;
		width:80vw;
	}
}
/* ヘッダー_左上ロゴとPC用メニューリストここまで */

/* ヘッダー_タブレット・スマホ用メニューリスト */
.sp_fullmenu{
	z-index: 208;
	position: fixed;
	top:0px;
	right: 0px;
	width: 0px;
	height:0px;
	background-color: rgba(255,255,255,0.97);
	-moz-transition: -moz-transform all 0.2s linear;
	-webkit-transition: -webkit-transform all 0.2s linear;
	-o-transition: -o-transform all 0.2s linear;
	-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.3s;
}
body.open .sp_fullmenu{
	width: 100%;
	height: 100%;
}
.sp_menu_button{
	position: fixed;
	top:2px;
	right: 0px;
	height: 10vw;
	width: auto;
	cursor: pointer;
	cursor: hand;
	-moz-transition: -moz-transform all 0.5s linear;
	-webkit-transition: -webkit-transform all 0.5s linear;
	-o-transition: -o-transform all 0.5s linear;
	-ms-transition: -ms-transform all 0.5s linear;
	transition: all 0.5s;
}
body.open .sp_menu_button{
	z-index: 300;
}
body.open .sp_menu_open {
	display: none;
}
body:not(.open) .sp_menu_close {
	display: none;
}
.sp_fullmenu > div{
	position: fixed;
	top:0px;
	right: 0px;
	width: 100%;
	height: 100%; 
	margin-right: -100% ;
	overflow:auto;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
	-moz-transition: -moz-transform all 0.5s linear;
    -webkit-transition: -webkit-transform all 0.5s linear;
    -o-transition: -o-transform all 0.5s linear;
    -ms-transition: -ms-transform all 0.5s linear;
	transition: all 0.4s;
	transition-delay :0.05s;
} 
body.open .sp_fullmenu > div{
	margin-right:0;
}
.sp_menu_list{
	display:flex;
	flex-wrap: wrap;
	flex-direction: row; 
	width: 100%;
	margin:10vw 0;
	padding:15px; 
	border-top:solid 1px #222;
	border-bottom:solid 1px #222;
	overflow-x: hidden;
}
.sp_menu_list ul{
	display:flex;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-direction: row; 
	width: 50%;
	overflow-x: hidden;
}
.sp_menu_list li{
	width: 100%;
}
.sp_menu_list li ul{
		display:flex;
		flex-wrap: wrap;
		width: 80%;
		margin:0 auto;
		padding: 0.6em 0;
		overflow-x: hidden;
}
.sp_menu_list li ul li{
	width:100%;
	padding: 0.3em 1em;
}
.sp_menu_list li ul li.menu_catetitle{
	list-style:none;
	color: #666;
	font-size: 0.95em;
}
.sp_menu_list a, .sp_menu_list a:link, .sp_menu_list a:visited, .sp_menu_list a:active {
	color: #3a3a3a;
}
.sp_menu_list a:hover {
	color: #00cbb1;
}
.sp_menu_list a{
	display: block;
	font-size: 1em;
}
.sp_menu_list a:before{
	content:"- ";
}
.sp_menu_list a:hover:before {
	color: #3a3a3a;
}
.sp_menu_list li ul li:first-of-type a:before{
	content:"";
}
@media(max-width:750px){	
	.sp_menu_list{
		padding:0px; 
		border: none;
	}
	.sp_menu_list ul{
		width: 100%;
	}
	.sp_menu_list ul:last-child  li:last-child ul{
		border-bottom:none;
	}
	.sp_menu_list li ul li{
		width:100%;
		padding: 0.2em 0;
		text-align: center;
	}
	.sp_menu_list li ul li.menu_catetitle:before, .sp_menu_list li ul li.menu_catetitle:after{
		content:" - ";
	}
	.sp_menu_list li ul{
		border-bottom:solid 1px #222;
	}
	.sp_menu_list a:before{
		content:"";
	}
}
/* ヘッダー_タブレット・スマホ用メニューリストここまで */


/* 右メニュー */
.right_menu{
	z-index: 150;
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100Vh;
	min-height:770px;
	pointer-events: none;
}
.order_link{
	z-index: 101;
	position: absolute;
	right: 0;
	-moz-transition: -moz-transform all 0.2s linear;
	-webkit-transition: -webkit-transform all 0.2s linear;
	-o-transition: -o-transform all 0.2s linear;
	-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.2s;
	pointer-events: auto; 
}
.order_link_top{
	top:103px;
}
.order_link_bottom{
	bottom:200px;
}
.order_link ul{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	-moz-transition: -moz-transform all 0.2s linear;
	-webkit-transition: -webkit-transform all 0.2s linear;
	-o-transition: -o-transform all 0.2s linear;
	-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.2s;
}
.order_link_top ul{
	width: 200px;
	height: 150px;
	justify-content: flex-end;
}
.order_link_bottom ul{
	width: 110px;
	height: 420px;
	box-sizing: content-box;
}
.order_link li{
	display: block;
	z-index: 101;
	position: relative;
	right: 0;
    box-shadow: 0 6px 6px 0 rgba(0, 0, 0, .2);
	text-align: center;
	overflow: hidden;
		-moz-transition: -moz-transform all 0.2s linear;
		-webkit-transition: -webkit-transform all 0.2s linear;
		-o-transition: -o-transform all 0.2s linear;
		-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.2s;
}
.order_link_top li{	
	position: relative;
	width: 160px;
	height: calc(50% - 10px);
	border: none;
}
.order_link_top li:hover{	
	width: 200px;
}
.order_link_bottom li{	
	width: 100%;
	height: 110px;
}
.order_link li img{
	position: absolute;
	top:0;
    right:0;
}
.order_link a{
	display: table;
	z-index: 103;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}
.order_link_top a{
	left: 7px;
}
.order_link_top a::before{
	position: absolute;
	top: 50%;
	left: 10px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	content: '';
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.order_link p{
	display: table-cell;
	z-index: 102;
	color: #fff;
	font-size: 0.9em;
	font-weight: 700;
	vertical-align: middle;
	font-family: 'M PLUS 1p', sans-serif;
}
.order_link span{
    font-size:0.9em;
}
.order_link i{
	z-index: 101;
	position: absolute;
	top: 50%;
    left: 50%;
	color:rgba(255,255,255,0.2);
	font-size: 5em;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.order_link li.ol_3d{
    background-color: #5098d6;
}
.order_link li.ol_ill{
    background-color: #f8b73d;
}
.order_link li.ol_od{
    background-color: #fa5294;
	border: solid 2px #fa5294;
}
.order_link li.ol_od:hover i{
	color:rgba(250,82,148,0.1);
}
.order_link li.ol_od:hover p{
	color: #fa5294;
}
.order_link li.ol_co{
    background-color: #32cbf4;
	border: solid 2px #32cbf4;
}
.order_link li.ol_co:hover i{
	color:rgba(50,203,244,0.1);
}
.order_link li.ol_co:hover p{
	color: #32cbf4;
}
.order_link li.ol_faq{
    background-color: #c569fc;
	border: solid 2px #c569fc;
}
.order_link li.ol_faq:hover i{
	color:rgba(50,203,244,0.1);
}
.order_link li.ol_faq:hover p{
	color: #c569fc;
}
.order_link li.ol_ca{
	height: 50px;
    background-color: #939393;
	border: solid 2px #939393;
}
.order_link li.ol_ca i{
	color:rgba(255,255,255,0.1);
}
.order_link li.ol_ca:hover i{
	color:rgba(200,200,200,0.1);
}
.order_link li.ol_ca:hover p{
	color: #939393;
}
.whitebox{
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background: #fff;
  content: '';
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .5s;
}
li:hover .whitebox{
  z-index: 100;
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
.fix_right_h{display: block}
.fix_right_l{display: none;}
.fix_hover_br{display:none;}
@media(max-width:1275px){
	.fix_right_h{display: none}
	li:hover br.fix_right_h{display: block!important;}
	.fix_right_l { display: block!important; }
	li:hover .fix_right_l{display: none!important;}
	li:hover .fix_hover_br{display: block;}	
	.right_menu{
		z-index: 200;
		min-height:0px;
	}
	.order_link_top ul{
		flex-direction:column;
		justify-content:flex-start;
		width: 35px;
		height: 400px;
	}
	.order_link_top ul:hover{
		width: 100px;
	}
	.order_link_top li{
    	width: 35px;
    	height: 160px;
		margin-bottom:6px;
		margin-left: auto;
		box-shadow:0 2px 2px 0 rgba(0, 0, 0, .2);
		border-radius: 15px 0 0 15px;
	}	
	.order_link_top li:hover{
		width: 100px;
	}
	.order_link_top a {
    	left: 1px;
	}
	.order_link_top a::before{
		display:none;
	}
	.order_link_top p{
		display: inline-block;
		height: 160px;
		font-size: 0.75em;
		-webkit-writing-mode: vertical-rl;
		-moz-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-ms-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	.order_link_top li:hover p{
		display: table-cell;
		font-size: 0.9em;
		line-height: 1.2em;
		-webkit-writing-mode: vertical-tb;
		-ms-writing-mode: tb-tb;
		writing-mode: horizontal-tb;
	}
	.order_link_top li.ol_3d:hover{
		background-color: #388fda;
	}
	.order_link_top li.ol_ill:hover{
		background-color: #ffb221;
	}
	.order_link span {
    	font-size: 1em;
	}
	.order_link li:hover span{
		font-size: 0.9em;
	}	
	.order_link_bottom{
		bottom:0px;
	}
	.order_link_bottom ul{
		width: 330px;
		height: 55px;
		padding: 10px;
	}
	.order_link_bottom li{
		width: 32%;
		height: 100%;
	}
	.order_link li.ol_ca{
		height: 100%;
	}
	.order_link_bottom  p{
		font-size: 0.8em;
		line-height: 1.2em;
	}
	.order_link i{
		font-size: 2.8em;
	}	
}
/* 右メニューここまで */





/* フッター_メニュー */
.footer_links{
	position: relative;
	z-index: 35;
	background: #5a5a5a;
}
.footer_links ul{
	display: flex;
    flex-wrap: wrap;
	color: #fff;
}
.footer_links > ul{
	justify-content: space-between;
	margin: auto;
	padding: 30px 0;
}
.footer_links ul p{
    font-size:0.8em;
}
.logo_other{
	width: 50%;
	height: 100%;
}
.logo_other ul{
    flex-wrap: wrap;
}
.logo_other li{
	width:100%;
    margin-bottom: 5px;
}
.logo_other p a, .logo_other p a::before{
	color: #6bcce6;
	-moz-transition: -moz-transform all 0.2s linear;
	-webkit-transition: -webkit-transform all 0.2s linear;
	-o-transition: -o-transform all 0.2s linear;
	-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.2s;
}
.logo_other p a:hover, .logo_other p a:hover::before{
	color:#fff;
}
.logo_other p a{
    display: inline-block;
    position:relative;
	padding-left: 1em;
	line-height: 1.3em;
}
.logo_other p a::before{
	position:absolute;
  	top:auto;
	bottom:auto;
  	left: 3%;
	font-weight: 400;
	font-size: 170%;
	font-family: 'FontAwesome';
	content: "\f101";
}
.logo_other_icon li{
	width:30px;
	height: 30px;
    margin:5px 5px 0 0;
}
.logo_other_icon i{
    color:#fff;
	font-size: 25px;
	-moz-transition: -moz-transform all 0.2s linear;
	-webkit-transition: -webkit-transform all 0.2s linear;
	-o-transition: -o-transform all 0.2s linear;
	-ms-transition: -ms-transform all 0.2s linear;
	transition: all 0.2s;
}
.logo_other_icon i:hover{
    color: #6bcce6;
}
.f_link{
	width: 25%;
	height: 100%;
}
.f_link li{
	width:100%;
}
.f_link a{
    color:#fff;
}
.f_link a:hover{
    color: #6bcce6;
}
.f_link_cate, .f_link_sub{
    margin-bottom: 5px;
}
.f_link_cate{
	margin-top: 15px;
}
.f_link_cate:first-of-type{
	margin-top: 0px;
}
.f_link_sub{
	margin-left: 10px;
}
@media(max-width:1000px){
	.logo_other{
		width: 100%;
		margin-top:5vw;
	}
	 #footer_menu .footer_links > ul{
		padding: 5vw 0;
		width: 90%;
	}
	.f_link{
		width: 50%;
	}
	.logo_other img{
		width:80%;
		height:auto;
	}
}
@media(max-width:750px){
	.footer_links ul p{
		font-size:3vw;
	}
	.logo_other_icon i, .logo_other_icon i:hover{
		font-size: 4.5vw;
	}
	.logo_other_icon li {
    	margin: 2vw 2vw 0 0;
    	width: 5.5vw;
    	height: 5.5vw;
	}
	.f_link_cate, .f_link_sub {
    	margin-bottom: 0.1em;
	}
	.f_link_cate {
    	margin-top: 0.5em;
	}
}
/* フッター_メニューここまで */

/* フッター_最下部 */
.footer_last{
	width:100%;
	height: 40px;
	background-color: #333;
	color: #aaa;
	font-size: 0.6em;
	line-height: 13px;
}
.footer_last ul{
	display: flex;
	height: 100%;
	margin: 0 auto;
}
.footer_last li{
	position: relative;
	width: 320px;
	height: 26px;
	margin-top: auto;
	margin-bottom:auto;
}
.footer_last p{
	position: absolute;
	bottom: 0;
}
