@charset "utf-8";



@media only screen and (min-width: 977px){

		div#nav_btn{
			display: none;
		}

}



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



		/* nav */
		#nav_btn a{
		    display: block;
		    color: #0063a7;
		    width: 100%;
		    float: none;
		    line-height: 1em;
		    font-size: 14px;
		    padding: 16px;
		    background: #f9f9f9;
		    text-align: center;
		    border-top: 1px solid #e6e6e6;
		}

		#nav_btn a:before{
			content: url(images/common/icon_menu.png);
			margin-right: 4px;
		}



		#nav_btn a.on{
			background: #002138;
			color: #fff;
		}

		#nav_btn a.on:before{
			content: url(images/common/icon_close.png);
			margin-right: 4px;
		}



		nav {
		    height: 0;
		}

		nav ul#menu {
			display: none;
		    z-index: 1;
		    position: relative;
		}

		nav ul#menu li {
		    float: none;
		    border-bottom: 1px solid #65a4d0;
		}

		nav ul li {
		    float: none;
		    height: auto;
			margin-top: 0;
		}

		#menu li a {
		    float: none;
		    display: block;
		    width: 100%;
		}

		#menu > li > a span{
		    display: block;
		    color: #fff;
		    width: 100%;
		    float: none;
		    line-height: 1em;
		    font-size: 14px;
		    padding: 16px;
		    background: #0063a7;
		}

		nav ul li.mainmenu:first-child {
		    border-left: none;
		}

		nav ul li.mainmenu:last-child {
		    border-right: none !important;
		}


		nav ul#menu > li > a + ul{
			display: none !important;
		}
}


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

	*{
		box-sizing: border-box;
	}

	body {
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
	    min-width: 0;
	}

	img {
		max-width: 100%;
		height: auto;
		border: none;
		vertical-align: bottom;
	}

	iframe{
	    max-width: 100% !important;
	}

	#map_canvas{
	    width: 100%;
	}

	.article_section .category_img{
		max-width: 48%;
	}

	.parent_top .category_img {
	    max-width: 48%;
	}

	#footerleft .address *{
		color: #fff !important;
	}

	.wp-pagenavi .pages, .wp-pagenavi .current, .wp-pagenavi .page, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .first, .wp-pagenavi .last {
	    display: inline-block;
	}

	.box .thumbnail {
	    padding: 0 0 0 4%;
	    margin-bottom: 16px;
	    max-width: 48%;
	}
	/* recaptcha */
	.grecaptcha-badge {
		bottom: 60px !important; 
	}


}




@media only screen and (min-width: 769px) and (max-width: 1054.08px){

	#h_container {
	    height: auto;
	    padding: 0;
	}

	#h_sub_wrap {
	    width: 100%;
	}

	#h_sub_wrap p {
	    padding-left: 4%;
	}



	#h_main_container #group {
	    margin-top: 34px;
	}



	nav ul {
	    width: 100%;
		max-width: 976px;
	}


	#mi_container_top {
	    margin-bottom: 20px;
	    height: auto;
	}

	#mi_container_top p {
	    height: auto;
	}




	#h_main_container {
	    width: 100%;
	    padding: 0 4%;
	    height: 95px;
	}





	#wrap {
	    width: 100%;
	    padding: 0 4%;
	}



	#leftwrap {
	    width: 70.185%;
	}

	#rightwrap {
	    width: 25.615%;
	}

	#rightinfo {
	    width: 100%;
		margin-left: 0;
	}

	#rightwrap p.banner {
	    width: 100%;
	}

	#status1 figure {
	    float: none;
	}

	#status1 dl {
	    float: none;
	}

	#footerwrap {
	    width: 100%;
	    padding: 0 4%;
	}

	#rightinfo .social li {
	    margin-left: 2%;
	    float: left;
	    width: 32%;
	}



	.hint_list span.category_img {
	    padding-top: 0px;
	    margin-top: -2px;
	}

	.hint_list span.title {
	    clear: both;
	    display: block;
	    width: 100%;
	    line-height: 1.4;
	}

	.news_list span.title {
	    float: none;
	    display: block;
	    width: 100%;
	    clear: both;
	}




	#footerwrap {
	    width: 100%;
	}

	#footerleft {
	    float: none;
	    width: 100%;
	    overflow: hidden;
		text-align: center;
	}

	#footerleft .social li {
	    float: none;
	    margin-right: 0;
	    display: inline-block;
	}

	div#footermenu {
	    margin-top: 16px;
	    float: none;
	    width: 100%;
	    text-align: center;
	}

	div#footermenu ul {
		display: inline-block;
		float: none;
		vertical-align: top;
		text-align: left;
	}

	div#footermenu ul:nth-child(2){
	    float: none;
	}

	div#footermenu ul:nth-child(3){
	    float: none;
		margin-top: 0px;
	}

	small {
	    line-height: 1.4;
	    margin: 8px 0;
	    padding-bottom: 0;
	}



	#bread {
	    width: 100%;
	    padding: 0 4%;
	    margin: 8px 0;
	}



	#mi_container {
	    height: auto;
	}





	#rightmenu {
	    margin-left: 0;
	    width: 100%;
	}

	#rightmenu li:first-child a {
	    padding: 0;
	    padding-top: 4px;
	}

	.right_recent_hint {
	    width: 100%;
	    margin-left: 0;
	}

	.right_recent_hint span.category_img {
	    float: none;
	    padding-top: 0;
	}

	.right_recent_hint span.date {
	    display: block;
	    clear: both;
	    float: none;
	    width: 100%;
	}


	.popular_post_hint {
	    width: 100%;
	    margin-left: 0;
	}

	.popular_post_hint .wpp-list li {
	    overflow: hidden !important;
	}

	.box_check h3 {
	    margin-bottom: 10px;
	    text-align: center;
	}

	.box_check ul{
		text-align: center;
	}

	.box_check li {
	    float: none;
	    margin-left: 0;
	    display: inline-block;
	}



	.download_box .download_left {
	    float: left;
	    width: 48%;
	    overflow: hidden;
	}

	.download_box .download_left h2 {
	    margin-bottom: 8px !important;
	}

	.download_box .download_left input.wpcf7-text {
	    width: 100%;
	}

	.download_box input.wpcf7-form-control.wpcf7-submit {
	    width: 100%;
	}

	.download_box .download_right {
	    float: right;
	    width: 48%;
	}




}







@media only screen and (min-width: 481px) and (max-width: 768px){

		#h_container {
		    height: auto;
		}

		#h_sub_wrap {
		    width: 100%;
			padding-left: 4%;
			padding-right: 4%;
		}

		#h_sub_wrap p {
		    float: none;
		}

		#h_sub_wrap #submenu {
		    float: none;
		    display: none;
		}

		#h_main_container h1 {
		    float: left;
		    width: auto;
		    margin: 24px 0;
		}

		#h_main_container #group {
		    margin-top: 27px;
		}

		#h_main_container #header_tel {
		    float: right;
		    margin-top: 16px;
		}

		#h_main_container {
		    width: 100%;
		    height: auto;
		    padding: 0 4%;
		}

		nav ul {
		    width: 100%;
		}

		#wrap {
		    width: 100%;
			padding: 32px 4%;
		}

		#leftwrap {
		    float: none;
		    width: 100%;
		    margin-bottom: 16px;
		    padding-left: 0px;
		}

		#rightwrap {
		    float: none;
		    width: 100%;
		    margin-top: 0px;
		    padding-top: 0px;
		    padding-right: 0px;
		    margin-bottom: 16px;
		}

		#rightinfo {
		    width: 100%;
		    margin-left: 0;
		}

		#status1 dl {
		    float: left;
		    padding-top: 15px;
		    margin-left: 16px;
		}

		.news_list span.date {
		    float: none;
		    display: block;
		    width: 100%;
		}

		.news_list span.title {
		    float: none;
		    display: block;
		    width: 100%;
		}

		#footerwrap {
		    width: 100%;
		}

		#footerleft {
		    float: none;
		    width: 100%;
		    overflow: hidden;
			text-align: center;
		}

		#footerleft .social li {
		    float: none;
		    margin-right: 0;
		    display: inline-block;
		}

		div#footermenu {
		    margin-top: 16px;
		    float: none;
		    width: 100%;
		    text-align: center;
		}

		div#footermenu ul {
			display: inline-block;
			float: none;
			vertical-align: top;
			text-align: left;
		}

		div#footermenu ul:nth-child(2){
		    float: none;
		}

		div#footermenu ul:nth-child(3){
		    float: none;
			margin-top: 8px;
		}

		small {
		    line-height: 1.4;
		    margin: 8px 0;
		    padding-bottom: 0;
		}












		/* mainimage */
		#mi_container_top {
		    height: auto;
		    margin-top: 0;
			margin-bottom: 0;
		}

		#mi_container_top p {
		    height: auto;
		}

		#mainimage {
		    padding-top: 0;
		}







		.box, .box_simular, .box_check{
		    margin-bottom: 25px;
		}







		#leftwrap {
		    margin-top: 0;
		}

		#leftwrap h1 span.res{
			font-size: 16px;
			line-height: 1.4;
			display: block;
		}



		.news_list span.title {
		    line-height: 1.4;
		}




		#rightinfo {
		    padding: 16px;
		    overflow: hidden;
		    width: 100%;
		    margin-left: 0;
		    margin-bottom: 0;
		}

		#status1 {
		    overflow: hidden;
		    float: left;
			width: 48%;
			max-width: 204px;
		}

		#status1 figure {
		    width: 48%;
		    max-width: 98px;
		}

		#status1 dl {
		    margin-left: 4%;
		    width: 48%;
		}

		#status2{
			clear: none;
			float: right;
		    min-width: 48%;
		    width: calc(100% - 226px);
			margin-top: 8px;
		}

		#rightinfo .social {
			display: block;
		    margin-top: 20px;
		    overflow: hidden;
		    position: absolute;
		    top: 130px;
			max-width: 204px;
		}


		#rightinfo .social li {
		    display: block;
		    margin-left: 2%;
		    float: left;
		    width: 32%;
		}



		#page-top {
		    bottom: 8px;
		    right: 8px;
		}

		#page-top a {
		    padding-top: 40px;
		    width: 40px;
		    background-size: cover;
		}








		.hint_list span.category_img {
		    padding-top: 0px;
		    margin-top: -2px;
		}

		.hint_list span.title {
		    clear: both;
		    display: block;
		    width: 100%;
		    line-height: 1.4;
		}

		.news_list span.title {
		    float: none;
		    display: block;
		    width: 100%;
		    clear: both;
		}






		#bread {
		    width: 100%;
		    padding: 0 4%;
		    margin: 8px 0;
		}



		#mi_container {
		    margin: 0 auto;
			height: auto;
		}



		table {
		    width: 100%;
		}



		#rightmenu {
		    margin-left: 0;
		    width: 100%;
		}

		#rightmenu li:first-child {
		    height: auto;
		}

		#rightmenu li:first-child a {
		    padding: 4px;
		}



		.right_recent_hint {
		    width: 100%;
		    margin: 32px 0;
		    margin-left: 0;
		}

		.popular_post_hint {
		    overflow: hidden;
		    width: 100%;
		    margin: 32px 0;
		}

		.popular_post_hint .wpp-list li{
		    overflow: hidden !important;
		}

		.right_recent_hint span.category_img {
		    margin-top: -4px;
			padding-top: 0;
		}


		.box_check h3 {
		    margin-bottom: 10px;
		    text-align: center;
		}

		.box_check ul{
			text-align: center;
		}

		.box_check li {
		    float: none;
		    margin-left: 0;
		    display: inline-block;
		}




		.download_box .download_left {
		    float: left;
		    width: 48%;
		    overflow: hidden;
		}

		.download_box .download_left h2 {
		    margin-bottom: 8px !important;
		}

		.download_box .download_left input.wpcf7-text {
		    width: 100%;
		}

		.download_box input.wpcf7-form-control.wpcf7-submit {
		    width: 100%;
		}

		.download_box .download_right {
		    float: right;
		    width: 48%;
		}

		#page-top a:hover {
		    background-position: 0 -40px;
		}

}






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



}



@media only screen and (min-width: 481px) and (max-width: 648px){

	div#footermenu ul:nth-child(3){
	    float: left;
	    margin-top: 8px;
	}



}



@media only screen and (min-width: 481px) and (max-width: 630px){

	#h_main_container h1 {
	    float: left;
	    width: 232px;
	    margin: 24px 0;
	}

	#h_main_container #group {
	    margin-top: 22px;
	}

	#h_main_container #header_tel {
	    float: right;
	    margin-top: 14px;
	}

}

@media only screen and (min-width: 481px) and (max-width: 556px){

	#h_main_container #header_tel {
	    display: none;
	}

}


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

	#h_container {
	    height: auto;
	}

	#h_sub_wrap {
	    width: 100%;
	}

	#h_sub_wrap p {
	    float: none;
		text-align: left;
		padding-left: 4%;
		padding-right: 4%;
	}

	#h_sub_wrap #submenu {
	    float: none;
	    display: none;
	}

	#h_main_container h1 {
	    float: left;
	    width: 196px;
	    margin: 16px 0;
	}

	#h_main_container #group {
	    float: right;
	    width: 64px;
	    margin-top: 12px;
	    margin-left: 0;
	}

	#h_main_container #header_tel {
	    float: right;
	    display: none;
	}

	#h_main_container {
	    width: 100%;
	    height: auto;
	    padding: 0 4%;
	}

	nav ul {
	    width: 100%;
	}

	#wrap {
	    width: 100%;
	}

	#leftwrap {
	    float: none;
	    width: 100%;
	    margin-bottom: 16px;
	    padding-left: 0px;
	}

	#rightwrap {
	    float: none;
	    width: 100%;
	    margin-top: 0px;
	    padding-top: 0px;
	    padding-right: 0px;
	    margin-bottom: 16px;
	}

	#rightinfo {
	    width: 100%;
	    margin-left: 0;
	}

	#status1 dl {
	    float: left;
	    padding-top: 15px;
	    margin-left: 16px;
	}

	.news_list span.date {
	    float: none;
	    display: block;
	    width: 100%;
	}

	.news_list span.title {
	    float: none;
	    display: block;
	    width: 100%;
	}

	#footerwrap {
	    width: 100%;
	}

	#footerleft {
	    float: none;
	    width: 100%;
	    overflow: hidden;
		text-align: center;
	}

	#footerleft .social li {
	    float: none;
	    margin-right: 0;
	    display: inline-block;
	}

	div#footermenu {
	    margin-top: 16px;
	    float: none;
	    width: 100%;
	}

	div#footermenu ul {
	    float: left;
	    width: 48%;
	}

	div#footermenu ul:nth-child(2){
	    float: right;
	}

	div#footermenu ul:nth-child(3){
	    float: left;
		margin-top: 8px;
	}

	small {
	    line-height: 1.4;
	    margin: 8px 0;
	    padding-bottom: 0;
	}



	/* nav */
	#nav_btn a{
	    display: block;
	    color: #0063a7;
	    width: 100%;
	    float: none;
	    line-height: 1em;
	    font-size: 14px;
	    padding: 16px;
	    background: #f9f9f9;
	    text-align: center;
	    border-top: 1px solid #e6e6e6;
	}

	#nav_btn a:before{
		content: url(images/common/icon_menu.png);
		margin-right: 4px;
	}



	#nav_btn a.on{
		background: #002138;
		color: #fff;
	}

	#nav_btn a.on:before{
		content: url(images/common/icon_close.png);
		margin-right: 4px;
	}



	nav {
	    height: 0;
	}

	nav ul#menu {
		display: none;
	    z-index: 1;
	    position: relative;
	}

	nav ul#menu li {
	    float: none;
	    border-bottom: 1px solid #65a4d0;
	}

	nav ul li {
	    float: none;
	    height: auto;
		margin-top: 0;
	}

	#menu li a {
	    float: none;
	    display: block;
	    width: 100%;
	}

	#menu > li > a span{
	    display: block;
	    color: #fff;
	    width: 100%;
	    float: none;
	    line-height: 1em;
	    font-size: 14px;
	    padding: 16px;
	    background: #0063a7;
	}

	nav ul li.mainmenu:first-child {
	    border-left: none;
	}

	nav ul li.mainmenu:last-child {
	    border-right: none !important;
	}






	/* mainimage */
	#mi_container_top {
	    height: auto;
	    margin-top: 0;
		margin-bottom: 0;
	}

	#mi_container_top p {
	    height: auto;
	}

	#mainimage {
	    padding-top: 0;
	}







	.box, .box_simular, .box_check{
	    background-color: #fff;
	    border: none;
	    -moz-border-radius: 0;
	    -webkit-border-radius: 0;
	    border-radius: 0;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    padding: 16px;
	    margin-bottom: 25px;
	}







	#leftwrap {
	    margin-top: 0;
	}

	#leftwrap h1 span.res{
		font-size: 16px;
		line-height: 1.4;
		display: block;
	}

	.news_header h1{
		font-size: 24px;
	}




	.news_list span.title {
	    line-height: 1.4;
	}




	#rightinfo {
	    background-color: #fff;
	    border: none;
	    -moz-border-radius: 0;
	    -webkit-border-radius: 0;
	    border-radius: 0;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    padding: 16px 16px;
	    overflow: hidden;
	    width: 100%;
	    margin-left: 0;
	    margin-bottom: 0;
	}


	#page-top {
	    bottom: 8px;
	    right: 8px;
	}

	#page-top a {
	    padding-top: 32px;
	    width: 32px;
	    background-size: cover;
	}




	#bread {
	    width: 100%;
	    padding: 0 4%;
	    margin: 8px 0;
	}



	#mi_container {
		height: auto;
	}



	table {
	    width: 100%;
	}



	#rightmenu {
	    background-color: #fff;
	    border: none;
	    -moz-border-radius: 0;
	    -webkit-border-radius: 0;
	    border-radius: 0;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    padding: 0px 4%;
	    overflow: hidden;
	    width: 100%;
	    margin-left: 0;
	    margin-bottom: 24px;
	}

	#rightmenu li a {
	    background: #f9f9f9 url(images/common/rightmenu_back.jpg) no-repeat 0 0;
	}

	#rightmenu li:first-child {
	    height: auto;
	}

	#rightmenu li:first-child a {
	    padding: 4px;
	}



	.right_recent_hint {
	    background-color: #fff;
	    border: none;
	    -moz-border-radius: 0;
	    -webkit-border-radius: 0;
	    border-radius: 0;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    padding: 30px 4%;
	    overflow: hidden;
	    width: 100%;
	    margin-left: 0;
	    margin-bottom: 0;
	}

	.popular_post_hint{
	    background-color: #fff;
	    border: none;
	    -moz-border-radius: 0;
	    -webkit-border-radius: 0;
	    border-radius: 0;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    padding: 30px 4%;
	    overflow: hidden;
	    width: 100%;
	    margin-left: 0;
	    margin-bottom: 0;
	}

	.popular_post_hint .wpp-list li {
	    overflow: hidden !important;
	}

	.right_recent_hint span.category_img {
	    margin-top: -4px;
		padding-top: 0;
	}

	.contents p.banner{
		display: none;
	}

	.box_check h3 {
	    margin-bottom: 10px;
	    text-align: center;
	}

	.box_check ul{
		text-align: center;
	}

	.box_check li {
	    float: none;
	    margin-left: 0;
	    display: inline-block;
	}

	table#mailform tr {
	    display: block;
	}

	table#mailform th, table#mailform td {
	    padding: 8px;
	    display: block;
	    width: 100%;
	}

	table#mailform select {
	    width: 100%;
	}

	.long {
	    width: 100%;
	}

	.middle {
	    width: 100%;
	}

	.ex {
	    margin-left: 0;
	    display: block;
	}

	div.wpcf7 .ajax-loader {
	    display: block !important;
	}

	div.wpcf7 + h2,
	div.wpcf7 + h2 + p.tel{
		text-align: center;
	}

	#page-top a:hover {
	    background-position: 0 -32px;
	}



	.download_box .download_left h2 {
	    margin-bottom: 8px !important;
	}

	.download_box .download_left input.wpcf7-text {
	    width: 100%;
	}

	.download_box .download_left {
	    float: none;
	    width: 100%;
	    overflow: hidden;
	}

	input.wpcf7-form-control.wpcf7-submit {
		width: 100%;
		max-width: 283px;
	}

	.download_box .download_right {
	    float: none;
	    overflow: hidden;
	    width: 100%;
	}
	/* recaptcha */
	.grecaptcha-badge {
		bottom: 50px !important; 
	}


}




