/*=================================================
 * CSS for PC
 * ================================================= */

body{	padding-top: 100px;}
#rnw_header{
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 100px;
	background: url(/img/rnw_header.png) no-repeat top center;
	background-size: cover;
	border-bottom: 1px solid #badef0;
	z-index: 100001;
	position: fixed;
	top: 0;
	left: 0;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#rnw_header .h_logo{
	padding: 15px 0 0 50px;
}
#rnw_header .h_logo h1{
	display: block;
	text-align: center;
}
#rnw_header .h_logo h1 img{
	width: 155px;
	height: auto;
}
#rnw_header .h_logo p{
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	line-height: 20px;
	color: #fff;
	background: #5c6371;
	margin-top: 3px;
	padding: 0 23px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#rnw_header .h_logo p span{
	position: relative;
	display: inline-block;
	vertical-align: top;
}
#rnw_header .h_logo p span:before,
#rnw_header .h_logo p span:after{
	content: "";
	width: 8px;
	border-bottom: 1px solid #a5acba;
	position: absolute;
	top: 9px;
}
#rnw_header .h_logo p span:before{	left: -12px;}
#rnw_header .h_logo p span:after{	right: -12px;}
#rnw_header #header_menu{
	font-size: 0;
	line-height: 0;
	text-align: right;
	padding: 15px 50px 0 0;
}
#rnw_header #header_menu a,
#rnw_header #header_menu button{
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
	background: none;
	border: none;
	outline: none;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
#rnw_header #header_menu a:hover,
#rnw_header #header_menu button:hover{
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
}
#rnw_header #header_menu a span,
#rnw_header #header_menu button span{
	display: inline-block;
	vertical-align: top;
	width: 55px;
	height: 55px;
	background: #fff;
	border-radius: 5px;
}
#rnw_header #header_menu a span img
#rnw_header #header_menu button span img{
	width: 55px;
	height: auto;
}
#rnw_header #header_menu a em,
#rnw_header #header_menu button em{
	display: block;
	font-size: 11px;
	line-height: 25px;
	text-align: center;
	color: #000;
}

body#index_body{	padding-top: 0;}
body#index_body #rnw_header{
	background: none;
	border: none;
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}
body#index_body #rnw_header:before{
	content: "";
	position: absolute;
	inset: 0;
	background: url(/img/rnw_header.png) no-repeat top center;
	background-size: cover;
	border-bottom: 1px solid #badef0;
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
	z-index: -1;
}
body#index_body #rnw_header .h_logo h1{
	display: block;
	margin: 0 0 5px 0;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}
body#index_body #rnw_header .h_logo h1 img{
	width: 240px;
	height: auto;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}
body#index_body #rnw_header .h_logo p{
	width: 240px;
	text-align: center;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}
body#index_body #rnw_header.fixed{
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
body#index_body #rnw_header.fixed::before{
	opacity: 1;
}
body#index_body #rnw_header.fixed .h_logo h1{	margin-bottom: 0;}
body#index_body #rnw_header.fixed .h_logo h1 img{
	width: 155px;
}
body#index_body #rnw_header.fixed .h_logo p{
	width: 166px;
}




#navToggle{
	width: 55px;
}
#navToggle button, #navToggle a{
	width: 55px;
	height: 55px;
}
#navToggle button em{
	width: 55px;
	font-size: 11px;
	bottom: -19px;
}
.bb{	right: 15.5px;}
.bb-1{	top:20px;}
.bb-2{	top:28px;}
.bb-3{	top:36px;}
.closebt em{
	color: #000;
}
.closebt .bb-1{
	top: 28px;
	background: #000;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform:rotate(45deg);
}
.closebt .bb-2{
	opacity: 0;
}
.closebt .bb-3{
	top: 28px;
	background: #000;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

nav#menubt.open{
	top: 0;
	opacity: 1;
	filter: alpha(opacity=100);
	overflow: visible;
	overflow-y: auto;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

#menu_close_button{
	width: 55px;
	height: 55px;
	border: 1px solid #fff;
	border-radius: 3px;
	position: absolute;
	z-index: 100004;
	top: 15px;
	right: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#menu_close_button:before,
#menu_close_button:after{
	content: "";
	width: 25px;
	height: 2px;
	right: 14px;
	background: #fff;
	position: absolute;
}
#menu_close_button:before{
	top: 26px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform:rotate(45deg);
}
#menu_close_button:after{
	top: 26px;
	background: #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#menu_close_button em{
	width: 55px;
	font-size: 11px;
	line-height: 25px;
	color: #fff;
	text-align: center;
	position: absolute;
	bottom: -25px;
	right: 0;
}



/** main_page **/

#main_page{
	max-width: 1240px;
	margin: 0 auto;
	padding: 50px 50px;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.page_title{
	position: relative;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	height: 40px;
	font-size: 22px;
	line-height: 25px;
	text-align: center;
	color: #fff;
	background: #1a335b;
	margin: 0 0 15px 0;
}
.dis_title + .cate_box .cate,
.page_title + .cate_box .cate{ padding-top: 0 !important;}

.fz_select{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-end;
	position: absolute;
	top: 7.5px;
	right: 7.5px;
}
.fz_select span{
	font-size: 14px;
	line-height: 25px;
	margin-right: 3px;
}
.fz_select button{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	font-size: 14px;
	line-height: 25px;
	text-align: center;
	cursor: pointer;
	margin-right: 3px;
	border-radius: 3px;
	color: #fff;
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.4);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.fz_select button.on{
	color: #0a2244;
	background: #fff;
	border: 1px solid rgba(255, 255, 255, 1);
}
.fz_select button:last-of-type{	margin-right: 0;}




/*cate*/
.cate_box{
}
.cate {
    display: table;
    table-layout: fixed;
    font-size: 0;
    line-height: 0;
    text-align: center;
    border-collapse: separate;
    border-spacing: 2px 0;
    margin: 0 auto;
    width: calc(100% - 26px);
    max-width: 500px;
    padding: 5px 0 10px 0 !important;
}
.cate span,
.cate a{
	display: table-cell;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
	margin: 0 1px;
	display: table-cell;
	height: 36px;
	vertical-align: middle;
	color: #333;
}
.cate span{
	font-weight: bold;
}
.cate span:after,
.cate a:after{
	content			: "";
	display			: block;
	clear			: both;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5px 0 5px;
	border-color: #ccc transparent transparent transparent;
	position: absolute;
	bottom: -6px;
	left: 50%;
	margin-left: -6px;
}
.cate span:after,
.cate a:hover:after{
	border-color:#e18611 transparent transparent transparent;
}
.cate a{
	position: relative;
	background: #fff;
	border: 1px solid #ccc;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.cate a:hover{
	text-decoration: none;
	color: #fff !important;
}
.cate a:hover{
	background: #e18611;
	border-color: #e18611;
}
.cate span{
	position: relative;
	color: #fff;
	background: #e18611;
}


/** font size s **/
.fz_s .cate span,
.fz_s .cate a{
	font-size: 14px;
}

/** font size l **/
.fz_l .cate span,
.fz_l .cate a{
	font-size: 17px;
}




/** disclo **/
.disclo{
	margin: 0 0 15px 0;
}
.disclo dl{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
}
.disclo dt{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 70px;
	height: 35px;
	font-size: 13px;
	line-height: 20px;
	text-align: center;
	color: #fff !important;
	background: #333;
	border-radius: 3px 0 0 3px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
select{
	font-size: 13px;
	line-height: 20px;
	padding: 6.5px 30px 6.5px 10px;
	border: 1px solid #ccc;
	border-left: none;
	border-radius: 0 3px 3px 0;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #333;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
.disclo dd select{	width: 170px;}
.select_bg{
	position: relative;
	display: inline-block;
}
.select_bg:before{
	content: '';
	display: inline-block;
	width: 20px;
	height: 33px;
	background: #999;
	border-radius: 0 3px 3px 0;
	position: absolute;
	top: 1px;
	right: 1px;
	pointer-events: none;
}
.select_bg:after{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 4px 0 4px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	top: calc(50% - 4px);
	right: 7px;
	pointer-events: none;
}

.basic_list:nth-of-type(1){	padding-bottom: 10px;}
.basic_list:nth-of-type(2){
	margin-bottom: 15px;
	border-bottom: 5px solid #1a335b;
}

/** font size s **/
.fz_s .disclo dt,
.fz_s .disclo dd select{
	font-size: 13px;
}

/** font size l **/
.fz_l .disclo dt,
.fz_l .disclo dd select{
	font-size: 16px;
}




/** mypage_info **/

#mypage_info{
	margin: 0 0;
	border-bottom: 5px solid #1a335b;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#mypage_info > div{
	padding: 15px 15px;
	text-align: left;
}
#mypage_info > div:nth-of-type(odd){	background: #f5f5f5;}
#mypage_info > div a{
	color: currentColor;
	text-decoration: none;
}
#mypage_info > div a:hover{
	text-decoration: underline;
}
#mypage_info > div .date{
	font-size: 11px;
	line-height: 18px;
	color: #777;
	margin: 0 0 0px 0;
}
#mypage_info > div .title{
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	font-size: 15px;
	line-height: 20px;
	margin: 0 0 3px 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
#mypage_info > div .title .icon{
	display: inline-block;
	vertical-align: top;
	font-size: 11px;
	line-height: 16px;
	padding: 0 4px;
	border-radius: 2px;
	color: #fff;
	position: absolute;
	left: 0;
}


#mypage_info > div .title .icon+a{
	display: inline-block;
	padding-left: 35px;
}
.i1{	background: #003aa8;}
.i2{	background: #00a400;}
.i3{	background: #a60000;}
.i4{	background: #a57101;}

#mypage_info > div .name{
	font-size: 13px;
	line-height: 18px;
	color: #264a83;
}


/** font size s **/
.fz_s #mypage_info > div .date{
	font-size: 11px;
	line-height: 18px;
}
.fz_s #mypage_info > div .title{
	font-size: 14px;
	line-height: 1.3;
}
.fz_s #mypage_info > div .name{
	font-size: 13px;
	line-height: 1.3;
}
.fz_s #mypage_info > div .title .icon{	top: 0px;}

/** font size l **/
.fz_l #mypage_info > div .date{
	font-size: 13px;
	line-height: 18px;
}
.fz_l #mypage_info > div .title{
	font-size: 17px;
	line-height: 1.3;
}
.fz_l #mypage_info > div .name{
	font-size: 16px;
	line-height: 1.3;
}
.fz_l #mypage_info > div .title .icon{	top: 3px;}






/** footer **/
footer{
	text-align: center;
}
.f_ktxet{
	font-size: 11px;
	line-height: 18px;
	text-align: center;
	padding: 5px 0;
	border-bottom: 2px solid #e6e6e6;
}
.f_ktxet span{ color: #ff0000;}

.f_menu{
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	padding: 10px 0 10px 0;
}
.f_menu a{	color: currentColor;}

.f_menu a:hover{
	text-decoration: underline;
}



/****************************************/
/** BUTTON COLOR **/
/****************************************/


.reg_btn,
.del_btn,
.non_reg{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 55px;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	border-radius: 3px;
	padding: 4px 0;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.reg_btn{
	cursor: pointer;
	background: #ce2ffe;
	border: 1px solid #ce2ffe;
}
.reg_btn:hover{
	color: #ce2ffe;
	background: none;
}
.del_btn{
	cursor: pointer;
	background: #ff2f2d;
	border: 1px solid #ff2f2d;
}
.del_btn:hover{
	color: #ff2f2d;
	background: none;
}
.reg_btn.noreg{
	cursor: default;
	background: #a0a0a0;
	border-color: #a0a0a0;
}
.reg_btn.noreg:hover{
	color: #fff;
	background: #a0a0a0;
}
.non_reg{
	cursor: default;
	background: #193E71;
}


/** for brand **/

.topbt_bg > span{
	width: 200px;
	height: 35px;
	font-size: 14px;
	line-height: 15px;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
}
@media screen and (max-width: 750px) {
	.topbt_bg > span{
		height: 25px;
	}
}





.fz_s .reg_btn,
.fz_s .del_btn,
.fz_s .non_reg{	font-size: 12px;}

.fz_l .reg_btn,
.fz_l .del_btn,
.fz_l .non_reg{ font-size: 15px;}



/*=================================================
 * CSS for SP
 * ================================================= */

@media (max-width: 750px) {
	body{	padding-top: 0;}
	#rnw_header{
		display: block;
		width: 100%;
		height: 110px;
		z-index: 100001;
		position: sticky;
		top: -40px;
		left: 0;
	}
	#rnw_header .h_logo{
		position: relative;
		padding: 10px 0 0 10px;
	}
	#rnw_header .h_logo h1{
		text-align: left;
	}
	#rnw_header .h_logo h1 img{
		width: 115px;
		height: auto;
		margin-right: 5px;
	}
	#rnw_header .h_logo p{
		font-size: 10px;
		line-height: 18px;
		margin-top: 0;
		padding: 0 20px;
		position: absolute;
		top: 15px;
		left: 135px;
	}
	#rnw_header .h_logo p span:before,
	#rnw_header .h_logo p span:after{
		top: 8px;
	}
	#rnw_header #header_menu{
		display: flex;
		justify-content: space-between;
		font-size: 0;
		line-height: 0;
		padding: 0 10px;
	}
	#rnw_header #header_menu a,
	#rnw_header #header_menu button{
		width: 50px;
		margin: 0;
	}
	#rnw_header #header_menu a span,
	#rnw_header #header_menu button span{
		width: 50px;
		height: auto;
		background: none;
		border-radius: 5px;
	}
	#rnw_header #header_menu a span img,
	#rnw_header #header_menu button span img{
		width: 50px;
		height: auto;
	}
	#rnw_header #header_menu a em,
	#rnw_header #header_menu button em{
		display: block;
		font-size: 11px;
		line-height: 12px;
		text-align: center;
		color: #000;
	}

	body#index_body{	padding-top: 0;}
	body#index_body #rnw_header{
		background: none;
		border-bottom: none;
		height: 162px;
		top: -92px;
	}
	body#index_body #rnw_header .h_logo h1{
		display: block;
		margin: 0 0 5px 0;
	}
	body#index_body #rnw_header .h_logo h1 img{
		width: 190px;
		height: auto;
	}
	body#index_body #rnw_header .h_logo p{
		width: 190px;
		position: relative;
		top: auto;
		left: auto;
	}
	
	body#index_body main{	margin-top: -165px;}
	
	body#index_body #rnw_header.fixed .h_logo h1{	margin-bottom: 5px;}
	body#index_body #rnw_header.fixed .h_logo h1 img{ width: 190px;}
	body#index_body #rnw_header.fixed .h_logo p{ width: 190px;}
	
	

	/** main_page **/
	#main_page{
		padding: 15px 0 15px 0;
	}
	.page_title{
		font-size: 1.1rem;
		line-height: 2;
		justify-content: flex-start;
		padding: 0 15px;
		margin: 0 0 15px 0;
	}
	.fz_select span{
		font-size: 11px;
		margin-right: 2px;
	}
	.fz_select button{
		display: inline-flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		width: 25px;
		height: 25px;
		font-size: 14px;
		line-height: 25px;
		text-align: center;
		cursor: pointer;
		margin-right: 3px;
		border-radius: 3px;
		color: #fff;
		background: none;
		border: 1px solid rgba(255, 255, 255, 0.4);
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

}