@charset "utf-8";

/******************************************************************************/
/***                                                                        ***/
/***                                                                        ***/
/***     responsive.css                                                     ***/
/***                                                                        ***/
/***    【内容】                                                            ***/
/***                                                                        ***/
/***     ・レスポンシブ用CSS                                                ***/
/***                                                                        ***/
/***                                                                        ***/
/***    【注意】                                                            ***/
/***                                                                        ***/
/***     ・スタイルの分類に関わらずレスポンシブで変更されるスタイルは       ***/
/***       全て本ファイルに記述する                                         ***/
/***                                                                        ***/
/***                                                                        ***/
/******************************************************************************/

@media screen and (max-width: 767px){

/* base */
body {
	min-width: 320px;
	padding: 0;
	font-size: 100% !important;
}
html,body {
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
	height: auto;
}



/*** layout ***/
#l_header,
#l_global_navi,
.footer_navi .page_top,
.footer_navi .footer_inner > div,
.footer_navi .footer_inner > div.sp_vis_menu > div,
.reader,
.block_skip,
#breadcrumbs {
	display: none;
}

#l_header_sp,
#header_search_sp,
.footer_navi .footer_inner > div.sp_vis_menu,
.footer_navi .footer_inner > div.sp_vis_menu > .float_right {
	display: block;
}
#breadcrumbs,
.header_inner,
.global_navi_inner,
.main_inner,
.footer_inner {
	padding: 0;
}
#l_header,
#l_global_navi,
#l_footer,
.header_elems {
	min-width: inherit;
}
.header_inner,
.global_navi_inner,
.main_inner,
.footer_navi,
.footer_inner,
.footer_left,
.footer_right,
.footer_label,
.main_contents,
.sub_contents {
	width: auto;
	min-width: inherit;
	margin: 0;
	padding: 0;
	float: none;
}

.footer_copy {
	text-align: left;
	padding: 0 10px;
	padding-bottom: 10px;
}
.footer_copy strong {
	display: block;
	padding: 0;
}

.page_top_btn {
	width: 13em;
	float: none !important;
	margin: 0 auto;
	border-radius: 20px;
	margin-bottom: 16px;
}
.page_top_btn a {
	background: url(/assets/img/sp/ic_top_link.png) no-repeat 10px 0.7em;
	padding-left: 30px;
	background-size: 13px 13px;
}
.page_top_btn.opt_page_btm {
	position: relative;
	border-radius: 4px;
	margin-bottom: -16px;
	z-index: 10;
}

.footer_inner .navi_list li {
	display: block;
	padding: 0 14px 10px;
}
.popup .footer_label,
.popup .footer_inner {
	padding: 0;
}
.footer_navi {
	background: #edf1f6;
	padding-top: 32px;
	margin-bottom: 20px;
}
.sp_vis_menu {
	margin-bottom: 20px !important;
}
.col4.opt_footer {
	width: 50%;
	text-align: center;
	margin: 0;
}
.facebook .footer_link_bnr a {
	min-height: inherit;
	background: url(/assets/img/sp/ic_f_facebook.png) no-repeat center top;
	background-size: 50px 50px;
	padding: 60px 5px 0;
}
.youtube .footer_link_bnr a {
	min-height: inherit;
	background: url(/assets/img/sp/ic_f_youtube.png) no-repeat center top;
	background-size: 50px 50px;
	padding: 60px 5px 0;
}
.twitter .footer_link_bnr a {
	min-height: inherit;
	background: url(/assets/img/sp/ic_f_twitter.png) no-repeat center top;
	background-size: 50px 50px;
	padding: 60px 5px 0;
}


/*** margin_size ***/
.mb_00 {	margin-bottom: 0 !important;}	/* 再定義 */
.mb_30 {	margin-bottom: 20px;}
.mb_40 {	margin-bottom: 25px;}
.mb_45 {	margin-bottom: 30px;}



/*.js_toggle_block_sp {
	display: none;
}*/


/*** float ***/
.float_left,
.float_right {
	float: none !important;
}
.float_left.opt_no_responsive {
	float: left !important;
}
.float_right.opt_no_responsive {
	float: right !important;
}
.float_left.mr_20 {
	margin-right: 0 !important;
}
.float_right.ml_20 {
	margin-left: 0 !important;
}

/*** pc / sp change ***/
.pc_vis {
	display: none !important;
}
.sp_vis {
	display: block !important;
}

.text_center_sp {
	text-align: center !important;
}
