@charset "utf-8";

/* PCのみ */
@media screen and (min-width: 751px) {
	body {
		min-width: 960px;
	}
	.sm_hidden{
		display:block;
	}
	.sm_visible{
		display:none;
	}
}


/* タブレット・スマホ */
@media screen and (max-width: 750px) {
	.sm_hidden{
		display:none;
	}
	.sm_visible{
		display:block;
	}
	/* contents
	----------------------------------------------------------- */
	#contents {
		width: auto;
	}
	#contents_title {
		text-align: left;
	}
	#contents_title #topic_path,
	#contents #main_contents #topic_path {
		width: auto;
		padding: 10px 0 10px 10px;
		white-space: nowrap;
		overflow: auto !important;
		-webkit-overflow-scrolling: touch;
		/*direction: rtl;*/
	}
	#contents #main_contents #topic_path {
		margin-top: -10px;
	}
	#contents_title #topic_path li,
	#contents #main_contents #topic_path li {
		background: none;
	}
	#contents_title #topic_path li:not(:first-child)::before,
	#contents #main_contents #topic_path li:not(:first-child)::before {
		content: ">";
		margin-left: -6px;
		margin-right: 6px;
	}
	#contents_title h1.main_title {
		width: auto;
		margin: 0 10px;
	}
	#contents_title.no-bg h1.main_title {
		padding-bottom: 5px;
	}
	
	/* #left_column
	-----------------------*/
	#contents #left_column{
		width: 100%;
		float: none;
		margin: 0
	}
		#contents #left_menu_title {
			padding: 0;
		}
		#contents #left_menu_title a {
			padding: 14px 10px;
			text-decoration: underline;
		}

		/* #left_menu
		-----------------------*/
		#contents #left_menu a{
			padding: 15px 10px;
		}
		#contents #left_menu > li > a {
			padding-left: 25px;
			position: relative;
		}
		#contents #left_menu > li > a:before {
			content: "";
			display: block;
			width: 0;
			height: 0;
			border: 3px solid transparent;
			border-left: 4px solid #666;
			position: absolute;
			left: 12px;
			top: 19px;
		}
		#contents #left_menu > li > a.active:before {
			border-left: 5px solid #df0202;
		}
		#contents #left_menu li li {
			background: none;
			border-bottom: 1px dotted #ccc;
			margin: 0 10px;
		}
		#contents #left_menu li li:last-child {
			border-bottom: none;
		}
		#contents #left_menu li li a {
			background: none;
			padding-left: 30px;
			position: relative;
		}
		#contents #left_menu li li a:before {
			content: "";
			display: block;
			width: 7px;
			height: 2px;
			background: #666;
			position: absolute;
			left: 15px;
			top: 21px;
			
		}
		#contents #left_menu li li a.active {
			background: none;
		}
		#contents #left_menu li li a.active:before {
			background: #df0202;
		}
		#contents #left_menu li.left_menu_btn_back a {
			padding: 14px 10px;
			text-decoration: underline;
		}
		#contents #left_menu li.left_menu_btn_back a:before {
			border: none;
		}
	
	
	/* #footer_recommended_links
	----------------------------------------------------------- */
	#footer_recommended_links {
		height: auto;
		padding-top: 15px;
	}

	#footer_recommended_links_inner {
		width: auto;
		margin: 0 auto;
		padding: 0 10px;
	}

		#footer_recommended_links_inner .ttl {
			margin-bottom: 10px;
		}
		#footer_recommended_links_inner ul {
			padding-bottom: 30px;
		}
		#footer_recommended_links_inner ul:after {
			content: "";
			clear: both;
			display: block;
		}
			#footer_recommended_links_inner ul li {
				margin-left: 2%;
				width: 32%;
				margin-bottom: 2%;
			}
			#footer_recommended_links_inner ul li:nth-child(3n+1) {
				margin-left: 0;
			}

				#footer_recommended_links_inner ul li a {
					width: 100%;
					height: auto;
					border: 1px solid #000;
					display: block;
					position: relative;
				}

					#footer_recommended_links_inner ul li img {
						margin-bottom: 0;
						width: 100%;
					}

					#footer_recommended_links_inner ul li a span {
						position: absolute;
						left: 0;
						bottom: 0;
						width: 100%;
						height: auto;
						padding: 4px 5px;
						font-size: 10px;
						line-height:1.3;
						display: block;
						background: rgba(0,0,0,.7);
						opacity:1;
						box-sizing: border-box;
					}


	/* #main_contents
	-----------------------*/
	#contents #main_contents{
		width: 100%;
		box-sizing:border-box;
		float: none;
		padding:10px 0 0;
	}


	/* .inner_twocolumn
	-----------------------*/
	#contents .inner_twocolumn {
		width: auto;
	}

		#contents .inner_twocolumn .left {
			width: 49%;
			background: none;
		}

		#contents .inner_twocolumn .right {
			width: 49%;
			background: none;
		}
	
	/* social
	----------------------------------------------------------- */
	.socialBtnArea .socialBtn .btn_tw {
		float: left;
		width: 85px;
	}
	
}

/* PC・タブレット */
@media screen and (min-width: 621px) {
}
/* タブレットのみ */
@media screen and (min-width: 621px) and (max-width: 750px) {
}
/* スマホ以外 */
@media screen and (min-width: 621px) {
	.sp-only {
		display: none !important;
	}
}
/* スマホ */
@media screen and (max-width: 620px) {
	.sp-hide {
		display: none !important;
	}
	/* contents
	----------------------------------------------------------- */
	#contents h1.main_title {
		font-size: 20px;
	}

	#contents_title h1.main_title {
		font-size: 20px;
		padding:2px 0 15px;
	}
	/* #left_column
	-----------------------*/
		/* #left_menu
		-----------------------*/
		#contents #left_menu li.left_menu_btn_back {
			border-bottom: none;
		}
	
	/* #footer_recommended_links
	----------------------------------------------------------- */
	#footer_recommended_links_inner ul {
		padding-bottom: 0;
	}
	#footer_recommended_links_inner ul li {
		margin-left: 4% !important;
		width: 48%;
		margin-bottom: 4%;
	}
	#footer_recommended_links_inner ul li:nth-child(odd) {
		margin-left: 0 !important;
	}
	/* .inner_twocolumn
	-----------------------*/
	#contents .inner_twocolumn {
		width: 100%;
	}

		#contents .inner_twocolumn .left {
			width: 100%;
			float: none;
		}

		#contents .inner_twocolumn .right {
			width: 100%;
			float: none;
		}
}
/* スマホ横 */
@media screen and (min-width: 500px) {
	.xs_hidden{
		display:block;
	}
	.xs_visible{
		display:none;
	}
}
/* スマホ縦 */
@media screen and (max-width: 500px) {
	.xs_hidden{
		display:none;
	}
	.xs_visible{
		display:block;
	}

}


/*////////////////////////////////////////
utility.css responsive
////////////////////////////////////////*/
/* タブレット・スマホ */
@media screen and (max-width: 750px) {
/* parts
----------------------------------------------------------- */
.btn_s {/* width fix 214px */
	height: auto;
	padding: 12px 0 10px;
	border: 1px solid #fff;
	border-radius: 3px;
	background: -webkit-linear-gradient(top, #e8e8e8 0%, #fff 60%);
	background: linear-gradient(to bottom, #e8e8e8 0%, #fff 60%);
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.3);
	margin-bottom: 3px;
	font-size: 12px;
}
	.btn_s span {
		padding: 0 10px;
		background: none;
	}
	.btn_s span::before {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border: 3px solid transparent;
		border-left-color: #333;
		margin-right: 6px;
		position: relative;
		top: -2px;
	}
	.btn_s:after {
		display: none;
	}
.btn_m {/* width fix 284px */
	height: auto;
	padding: 12px 0 10px;
	border: 1px solid #fff;
	border-radius: 3px;
	background: -webkit-linear-gradient(top, #e8e8e8 0%, #fff 60%);
	background: linear-gradient(to bottom, #e8e8e8 0%, #fff 60%);
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.3);
	margin-bottom: 3px;
	font-size: 12px;
}
	.btn_m span {
		padding: 0 10px;
		background: none;
	}
	.btn_m span::before {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border: 3px solid transparent;
		border-left-color: #333;
		margin-right: 6px;
		position: relative;
		top: -2px;
	}
	.btn_m:after {
		display: none;
	}
.btn_l {/* width fix 442px */
	height: auto;
	padding: 12px 0 10px;
	border: 1px solid #fff;
	border-radius: 3px;
	background: -webkit-linear-gradient(top, #e8e8e8 0%, #fff 60%);
	background: linear-gradient(to bottom, #e8e8e8 0%, #fff 60%);
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.3);
	margin-bottom: 3px;
	font-size: 12px;
}
	.btn_m:after {
		display: none;
	}
	.btn_l span {
		padding: 0 10px;
		background: none;
	}
	.btn_l span::before {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border: 3px solid transparent;
		border-left-color: #333;
		margin-right: 6px;
		position: relative;
		top: -2px;
	}
	.btn_l:after {
		display: none;
	}
.btn_h_s {/* height fix 38px */
	height: auto;
	padding: 12px 0 10px;
	border: 1px solid #fff;
	border-radius: 3px;
	background: -webkit-linear-gradient(top, #e8e8e8 0%, #fff 60%);
	background: linear-gradient(to bottom, #e8e8e8 0%, #fff 60%);
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.3);
	margin-bottom: 3px;
	font-size: 12px;
}
	.btn_h_s span {
		padding: 0 10px;
		background: none;
	}
	.btn_h_s span::before {/* height fix 38px */
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border: 3px solid transparent;
		border-left-color: #333;
		margin-right: 6px;
		position: relative;
		top: -2px;
	}
	.btn_h_s:after {
		display: none;
	}

.tabs_h {
	border-bottom: none;
	position: relative;
	padding-bottom: 3px;
}
.tabs_h::before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #DF0202;
}
	.tabs_h li {
		margin-right: 0;
		border-right: none;
		border-bottom: 1px solid #ccc;
		margin-bottom: -1px;
	}
		.tabs_h li a {
			background: #fff;
			width: 100%;
			border-top: 1px solid #ccc;
			font-size: 12px;
			box-shadow: inset -1px 0 0 0 #ccc;

		}
			.tabs_h li a span {
				display: inline;
				min-width: 0;
				background: none;
				width: 100%;
				box-sizing: border-box;
			}
		.tabs_h li a:hover,
		.tabs_h li.current a {
			background: #DF0202;
			border-top: 1px solid #DF0202;
			box-shadow: inset -1px 0 0 0 #DF0202;
		}
			.tabs_h li a:hover span,
			.tabs_h li.current a span {
				background: none;
			}
	
	/* GDPR
	----------------------------------------------------------- */
	.gdpr-message__inner {
		width: 100%;
		box-sizing: border-box;
		padding: 20px;
		display: block;
	}
	.gdpr-message__btn {
		width: 140px;
		margin: 10px auto 0;
	}
}

/* タブレットのみ */
@media screen and (min-width: 621px) and (max-width: 750px) {
	#contents .table_shadow {
		width: auto;
		margin: 0 15px;
	}
	#contents .table_shadow .table_wrap {
		width: auto;
	}
		#contents .table_shadow .table_wrap table {
		}
			#contents .table_shadow .table_wrap table th {
				width: 180px;
			}
			#contents .table_shadow .table_wrap table td {
			}
			#contents .table_shadow .table_wrap table tr:last-child th,
			#contents .table_shadow .table_wrap table tr:last-child td,
			#contents .table_shadow .table_wrap table tr th.last-child,
			#contents .table_shadow .table_wrap table tr td.last-child {
			}
			#contents .table_shadow .table_wrap table thead th {
			}
	.page_anchors {
		margin: 5px 10px 15px;
	}
		.page_anchors li {
			padding: 0 18px 0 12px;
		}
			.page_anchors li a {
			}
			.page_anchors li a:hover {
			}
}

/* スマホ */
@media screen and (max-width: 620px) {
/* table
----------------------------------------------------------- */
#contents .table_shadow {
	width: 100%;
	background: none;
}
	#contents .table_shadow .table_wrap {
		width: 100%;
		box-sizing: border-box;
	}
			#contents .table_shadow .table_wrap table th {
				width: 100%;
				display: block;
				box-sizing: border-box;
			}
			#contents .table_shadow .table_wrap table td {
				width: 100%;
				display: block;
				box-sizing: border-box;
			}

/* parts
----------------------------------------------------------- */
.btn_s {
	width: 120px;
}
.btn_m {
	width: 230px;
}
.btn_l {
	width: 100%;
}

.page_anchors {
	margin-bottom: 5px;
	margin-left: -1px;

}
	.page_anchors li {
		margin-bottom: 10px;
		margin-left: -1px;
	}


}