@charset "utf-8";
@media screen and (min-width: 769px){
	.mq_show {
		display: none;
	}
}
@media screen and (max-width: 1130px){
	.top_index.wrapper {
		max-width: 845px;
	}
}
@media screen and (max-width: 1100px){
	.page_index {
		max-width: 535px;
		margin-right: auto;
		margin-left: auto;
	}
}
@media screen and (max-width: 1000px){
	#site_name {
		width: 190px;
	}
	#header .control {
		width: 320px;
	}
}
@media screen and (max-width: 850px){
	.top_index.wrapper {
		max-width: 560px;
	}
}

@media screen and (max-width: 768px){

body {
	overflow: hidden;
	min-width: 320px;
}

img {
	width: auto;
	max-width: 100%;
}

#topic_pass {
	padding: 0 8px;
}

.wrapper {
	width: auto;
}

.mq_hide {
	display: none;
}
.mq_show {
	display: block;
	position: static;
	width: auto;
	height: auto;
}
span.mq_show {
	display: inline;
}

#header {
	box-sizing: border-box;
	min-width: 320px;
}
	#site_name {
		float: none;
		width: 50%;
		max-width: 266px;
	}
	#menu_show {
		display: block;
		position: fixed;
		top: 0; right: 0;
		z-index: 3100;
		width: 40px;
		height: 40px;
		line-height: 0;
		border: none;
		background: #111184;
		transition-duration 0.3s;
	}
	#menu_show:focus,
	#menu_show:hover {
		background-color: #D71A31;
	}
		#menu_show::before,
		#menu_show span,
		#menu_show::after {
			content: "";
			display: block;
			position: absolute;
			width: 60%;
			height: 5%;
			margin: auto;
			background: #FFF;
			opacity: 1;
			-webkit-transition: all 0.5s ease 0s;
			-moz-transition: all 0.5s ease 0s;
			-o-transition: all 0.5s ease 0s;
			transition: all 0.5s ease 0s;
		}
		#menu_show::before {
			top: 25%; left: 0; right: 0;
		}
		#menu_show span {
			top: 0; bottom: 0;
			left: 0; right: 0;
			text-indent: -1000em;
		}
		#menu_show::after {
			bottom: 25%; left: 0; right: 0;
		}
	#menu_show.on {
		background: #FFF;
	}
		#menu_show.on::before {
			top: 48%;
			background: #111184;
			transform: rotate(135deg);
		}
		#menu_show.on span {
			background: #111184;
			opacity: 0;
		}
		#menu_show.on::after {
			bottom: 48%;
			background: #111184;
			transform: rotate(-135deg);
		}
	#header .control .search {
		display: none;
	}
	#header .control {
		display: block;
		position: fixed;
		top: auto; left: 16px; bottom: 16px;
		z-index: 1000;
		width: 100%;
		padding: 0;
	}
		#header .conhed {
			text-align: left;
		}
			#header .control .conhed .ac_btn {
				display: inline-block;
				width: 28px;;
				height: 28px;
				overflow: hidden;
				margin-bottom: 0;
				border: 2px #FFF solid;
				border-radius: 50%;
				background: rgba(0, 0, 0, 0.8) center center;
				background-size: 100% auto;
				text-indent: -1000em;
				cursor: pointer;
			}
				#header .conhed .ac_btn:hover {
					opacity: 0.7;
				}
			#header .control .ctl_txtSize {
				margin-right: 8px;
			}
			#header .control .ctl_txtSize .ac_btn {
				background-image: url("../img/icon_control_font.png");
			}
			#header .control .ctl_bgColor .ac_btn {
				background-image: url("../img/icon_control_bd-color.png");
			}

			#header .conhed a {
				display: inline-block;
				width: 0px;
				overflow: hidden;
				-webkit-transition: all 0.5s ease 0s;
				-moz-transition: all 0.5s ease 0s;
				-o-transition: all 0.5s ease 0s;
				transition: all 0.5s ease 0s;
			}
				#header .conhed a img {
					position: static;
					width: auto;
					height: 28px;
					vertical-align: middle;
					opacity: 0;
					-webkit-transition: all 0.5s ease 0s;
					-moz-transition: all 0.5s ease 0s;
					-o-transition: all 0.5s ease 0s;
					transition: all 0.5s ease 0s;
				}
			#header .conhed .ac_action a {
				width: 32px;
			}
				#header .conhed .ac_action a img {
					width: 28px;
					height: 28px;
					opacity: 1;
				}
		#header .control .conhed li + li {
			margin-left: 0;
		}
			#header .control .conhed li a + a {
				margin-left: 0;
			}
		#header .english-page {
			display: none;
		}
	#global_nav {
		display: block;
		position: fixed;
		top: 0; right: -100%;
		z-index: 3000;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		overflow: hidden;
		margin-top: 0;
		padding: 0px;
		background: rgba(1, 17, 132, 0.8);
		-webkit-transition: all 0.5s ease 0s;
		-moz-transition: all 0.5s ease 0s;
		-o-transition: all 0.5s ease 0s;
		transition: all 0.5s ease 0s;
	}
		#global_nav .english-page {
			display: block;
			position: relative;
			float: none;
			width: 70%;
			height: 54px;
			overflow: hidden;
			margin: 8px auto;
			padding: 0;
			border-radius: 3px;
			background: #F0F0E1;
			text-align: center;
		}
			#global_nav .english-page img {
				position: absolute;
				top: -40px; left: 0; right: 0;
				margin: auto;
			}
		#global_nav .search {
			display: block;
			float: none;
			width: auto;
			margin: 10px;
		}
			#header .search .inner {
				width: 80%;
			}
			#header .search .search-start {
				width: 20%;
			}
		#global_nav ul {
			padding: 0;
			background: #B3E1EE;
		}
			#global_nav ul li {
				float: none;
				width: 100%;
			}
				#global_nav ul li a {
					display: block;
					padding: 16px;
					color: #039;
					font-weight: bold;
				}
					#global_nav ul li img {
						display: none;
					}
					#global_nav ul li span {
					}
			#global_nav ul li + li {
				margin-left: 0;
				border-top: 2px #FFF solid;
			}
	#global_nav.menu_open {
		right: 0;
	}
	#header.top::before,
	#header.top::after {
		width: 200px;
		background-size: 100% auto;
	}
	

.contents_wrapper {
	margin: 28px 8px;
	padding: 36px 16px 45px;
}

#main .col_two .inner {
	float: none;
	width: auto;
}
#main .col_two .inner + .inner {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 2px #DDD dotted;
}

.title_main-page {
	margin-right: 8px;
	margin-left: 8px;
	padding: 0 8px;
}

.page_index {
	padding: 0 16px;
}
	.page_index .left,
	.page_index .right {
		float: none;
		width: auto;
	}
		.page_index .title_inner {
			margin-bottom: 20px;
		}
			.page_index .title_inner img {
				max-height: 70px;
			}
		.page_index p,
		.page_index .mb,
		.page_index .block {
			margin-bottom: 20px;
		}
		.page_index .block {
			width: calc(50% - 17px);
		}
		.page_index .half {
			width: calc(50% - 17px);
		}

#main .top_index {
	width: 100%;
	max-width: 560px;
}
#main .top_index li {
	width: calc(100% - 32px);
	margin-right: 16px;
	margin-bottom: 16px;
	margin-left: 16px;
	text-align: center;
}
#main .top_index li.mq_row_second,
#main .top_index li.mq_row_third,
#main .top_index li.row_last {
	width: calc(50% - 32px);
}

.contact_steps {
	width: auto;
	padding: 0;
}
	.contact_steps li {
		padding: 0.5em 0;
		font-size: 0.9em;
	}
		.contact_steps li strong {
			font-size: 1.1em;
		}

.form .form_wrapper {
	width: auto;
	padding: 16px 8px;
}
	.form input.half[type="text"],
	.form input.half[type="email"],
	.form input.half[type="tel"],
	.form input[type="text"],
	.form input[type="email"],
	.form input[type="tel"],
	.form textarea{
		width: 95%;
	}

.btn {
	width: auto;
}



.mq_table,
.mq_table thead,
.mq_table tbody,
.mq_table tr,
.mq_table th,
.mq_table td {
	display: block;
	width: auto;
}
.mq_table {
	margin-right: 8px;
	margin-left: 8px;
}

#footer .footer_logo {
	float: none;
	margin-left: 16px;
}

.pagetop a {
	width: 80px;
	height: 78.2px;
	background-size: 100% auto;
}

#footer .inner {
	float: none;
	width: auto;
	margin: 0 16px 16px;
}
	#footer .inner .tel {
		display: block;
	}
	#footer .inner #footer_menu ul {
		text-align: center;
	}
		#footer .inner #footer_menu li {
			display: inline-block;
			float: none;
			width: 130px;
		}
		#footer .inner #footer_menu li + li {
			margin-left: 16px;
		}
#footer .banner_marugoto {
	display: block;
	float: none;
	text-align: center;
}
.copyright {
	margin-top: 16px;
	padding-bottom: 48px;
	text-align: center;
}

}
