@media only screen and (max-width:640px) {
	body {
		font-family: "ヒラギノ角ゴ ProN" , "Hiragino Kaku Gothic ProN" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ＭＳ Ｐゴシック", "MS PGothic", Helvetica , sans-serif;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block !important;
	}
	#container {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}
	#navi{
		position: absolute;
		left: 2%;
		top: -2px;
		margin: 0 auto;
		z-index: 200;
		width: 96%;
	}
	.menu {
		width: 11%;
		height: 11%;
		cursor: pointer;
		display: block;
		float: right;
		margin-top: 20px;
	}
	.menu img, .close_menu a img {
		max-width: 100%;
	}
	.close_menu{
		width: 100%;
		top: 18px;
		right: 2%;
		z-index: 9999;
		position: fixed;
		color: red;
	}
	.close_menu a {
		width: 10.5%;
		height: 10.5%;
		float: right;
		color: #000;
	}
	.upnavi {
		width: 100%;
		z-index:999;
		position: fixed;
		top: 0;
		right: 0;
		text-align: center;
		background-color: rgba(0,0,0,.8);
		height: 100%;
		display: none;
	}
	.upnavi ul {
		width: 100%;
		padding: 50px 0;
	}
	.upnavi ul li {
		margin: 0;
		background-color: #fff;
		width: 100%;
		border-bottom: 1px solid #dddddd;
	}
	.upnavi ul li.cur {
		background-color: #84374b;
	}
	#navi li a:hover  {
		background-color: #84374b !important;
	}
	#navi li a:hover span {
		color: #ebebeb;
	}
	.upnavi ul a {
		background: none !important;
		width: auto !important;
	}
	#navi div.navi {
		margin: 0 auto;
		width: 100%;
	}
	#navi ul.navi {
		margin-left: 10px;
		margin-right: 10px;
		padding: 105px 0 0;
		width: auto;
	}
	#navi li a {
		padding: 5px 0;
	}
	#navi li a span {
		width: auto;
		overflow: visible;
		font-size: 13px;
		display: block;
		padding-left: 20px;
		line-height: 35px;
		position: relative;
		text-align: left;
		color: #84374b;
	}
	#navi .upnavi ul li.cur a span {
		color: #ebebeb;
	}
	#navi li a span:after {
		content: url(../sp/top_arrow.png);
		position: absolute;
		right: 20px;
		transform: scale(.6);
		top: 7px;
	}
	#logo h1 a {
		width: 200px;
		margin: 0;
		background-size: 100%;
		height: 105px;
	}
	.nav-arrows span {
		z-index: 10;
		width: 10px;
		height: 10px;
	}
	#contents {
		width: 96%;
		margin: 0 auto;
	}
	#top #contents {
		padding-top: 370px !important;
	}
	#top_contents .banner.module{
		position: static;
	}

	#top #top_contents .banner.module {
		right: auto;
		bottom: auto;
		width: 100%;
	}
	#top #contents .banner.module ul li {
		width: 48%;
		float: left;
		margin: 0 0 5px;
		padding: 0;
		min-height: 157px;
	}
	#top #contents .banner.module ul li:nth-child(2n) {
		float: right;
	}
	/*#top #contents .banner.module ul li:first-child, #top #contents .banner.module ul li:nth-child(2) {
		width: 100%;
	}
	#top #contents .banner.module ul li:first-child img, #top #contents .banner.module ul li:nth-child(2) img {
		width: 233px;
	}*/
	#top #contents .banner.module ul li:first-child p, #top #contents .banner.module ul li:nth-child(2) p {
		width: 96%;
	}
	#bg_upper {
		background-size: auto 80%;
	}
	#bg_left, #bg_right {
		width: 125px;
		background-size: 100%;
	}
	.sl-slide {
		margin-top: 90px;
	}
	.container .bg-8 .sl-slide-inner, .container .bg-8 .sl-content-slice {
		width: 100% !important;
		height: 100% !important;
	}
	#top .container .sl-slider-wrapper {
		height: 400px;
	}
	#top #link_top_info {
		display: none;
	}
	#top .banner.module ul {
		width: 100%;
	}
	#top_contents .banner.module li p {
		width: 100%;
		margin: 10px auto 0px;
	}
	#sub_module1 {
		min-height: 0;
	}
	#top_contents .banner.module li a img, #sub_module2 .banner.module li a img, #sub_module4 .banner.module li a img {
		margin: 0 auto;
		display: block;
		width: 100%;
	}
	#top #main_contents {
		width: 100%;
		margin: 0 auto;
	}
	.nav-arrows span.nav-arrow-prev {
		left: 100px;
	}
	.nav-arrows span.nav-arrow-next {
		right: 100px;
	}
	.top_bnr3 {
		display: block;
		clear: both;
	}
	#top_bnr li.last {
		margin: 0 auto;
	}
	#top_bnr li img {
		width: 40%;
		padding: 2%;
		float: left;
	}
	#top .banner.module ul {
		width: 100%;
		overflow: hidden;
		padding: 0;
		margin: 0;
	}
	#top_news {
		width: 100%;
		overflow: hidden;
	}
	#top .module_title{
		margin: 0 0 10px;
	}
	#top .topics_headline.module {margin-bottom:10px;}
	#top #contents .topics_headline li {
		width: 96%;
		float: left;
		padding: 10px 2%;
	}
	#top .topics_headline .date {
		font-size: 20px;
		line-height: 25px;
	}
	#top .topics_headline .news_tit {
		width: 100%;
		float: left;
		padding: 0;
		font-size: 18px;
		line-height: 25px;
	}
	#top .topics_headline .relation_link {
		clear: both;
		text-align: center;
		padding: 5px 0 5px;
		font-size: 18px;
	}
	#top .topics_headline li a {
		background: none;
		width: 97%;
	}
	#top .topics_headline li a:after {
		content: url(../sp/top_arrow.png);
		position: absolute;
		right: 6%;
		transform: scale(.5);
		margin-top: -10px;
	}
	#top #contents26 .module_contents {
		padding: 0px 10px;
		margin-top: -10px;
	}
	#top_bnr {
		margin-bottom: 10px;
	}
	#contents1000429 ul li {
		width: 98%;
		float: none;
		margin: 0 auto 5px;
		text-align: center;
	}
	#top_bnr li .li_in {
		height: auto !important;
	}
	#top_bnr .descript {
		padding: 2%;
		width: 96%;
		text-align: left;
		font-size: 20px;
	}
	#member_page {
		margin: 0 0 10px;
	}
	#member_page a {
		width: 96%;
		padding: 10px 2%;
	}
	#member_page a img {
		max-width: 100%;
	}
	.caption {
		font-size: 3vw;
	}/*
	.module_contents table, .module_contents table td {
		width: 100% !important;
	}
	.module_contents table td {
		font-size: 3vw;
		}*/
		.module_contents table td img {
			max-width: 100%;
			margin: 0 0 10px;
		}
		#contents1001027 table {
			width: 100% !important;
		}
		.fb_iframe_widget {
			width: 100%;
			margin: 0 auto 20px;
			display: block;
		}
		.fb-page {
			width: 100% !important;
			margin: 0 auto 15px;
			display: block !important;
		}
		.twitter_sp {
			text-align: center;
		}
		.totop {
			width: 96%;
			height: 35px;
			margin: 0 auto 10px auto;;
			background: #fff;
			border: 1px solid #ccc;
			display: block !important;
			padding: 15px 0 0 0;
			opacity: 1 !important;
		}
		.totop a {
		width: 100%;
		text-align: center;
		color: #333;
		position: inherit;
		text-indent: 0px;
		background: none;
		}

		/* ==================== logo table to Copyright ==================== */
		.logo_table {
			/*width: 100%;*/
			margin:0 auto 20px;
			padding-bottom: 30px;
			padding-left: 0 ;
		}
		.logo_table ul {
			width: 100%;
			margin: 0 auto;
		}
		.logo_table ul li {
			width: 50% !important;
		}
		#top #logo_footer { 
			width: 100%;
			right: 0;
			bottom: 70px;
		}
		#top #footer .footer_link { 
			padding-bottom: 200px;
		}
		#top #contact_ftr dd span {
			margin-right: 0;
			padding: 15px 0 0 0;
		}
		#top #footer .footer_link ul { 
			padding-top: 0;
		}

		#footer .footer_link ul {		
			width: 94%;
			margin: 0 auto;
			border: 1px solid white;		
			margin-top: 15px;
		}
		#footer .footer_link li {
			position: relative;
			display: inherit;
			color: #ddd;
			font-size: 11px;
			padding: 0;
			text-align: left;
			border-bottom: 1px solid white;
		}
		#footer .footer_link li:last-child {
			border-bottom: none;
		}
		#footer .footer_link li span {display:none;}
		#footer .footer_link li a {
			color:#ddd;
			font-size:28px;
			display: block;
			padding: 10px 2%;
		}
		#footer .footer_link li:after { 
			content: "";
			position: absolute;
			right: 15px;
			top: 22px;
			width: 12px;
			height: 21px;
			background: url(../sp/ft_arr.png) no-repeat center right;
			background-size: 50% 50%;
		}
		#top #contact_ftr dt {
			margin: 17px auto 10px;
			text-align: center;
			width: 94%;
			font-size: 20px;
			height: 35px;
			line-height: 35px;
		}
		#top #contact_ftr dd {
			-webkit-margin-start: 0px;
			font-size: 24px;
		}
		#footer #snavi {
			width: 94%;
			left: 3%;
			bottom: 120px !important;
			top: auto;
			margin: 0 auto;
			padding: 0 0 30px 0;
			text-align: center;
			border-bottom: 1px solid #fff;

		}
		#top #logo_footer a {
			width: 100%;
			float: none; 
			left: auto;
			top: auto;
			position: inherit; 
			margin-left: 0;
			background: url(../img/common/logo_cmn_footer02.png) no-repeat center;
			bottom: -50px;
		}
		#top #footer address {
			width: 100%;
			text-align: center;
			float: none;
			margin-top: 0px;
			font-size: 25px;
		}
		.sl-content {
			background: none !important;
		}
		#footer #snavi li {
			font-size: 15px;
		}
		.nav-arrows span {
			top: 69%;
		}
	}
	@media only screen and (min-width: 375px) and (max-width:639px) {
		.menu {
			width: 55px;
			height: 55px;
			margin-top: 8px;
		}
		.close_menu {
			top: 6px;
		}
		.close_menu a {
			width: 55px;
			height: 55px;
		}
		.twitter_sp img {
			width: 35%;
		}
		#top .container .sl-slider-wrapper {
			height: 303px;
		}
		#top #contents {
			padding-top: 265px !important;
		}
		#top .topics_headline .date {
			font-size: 16px;
		}
		#top .topics_headline .news_tit, #top_bnr .descript, .caption, .module_contents table td {
			font-size: 15px;
		}
		#sub_module1 {
			min-height: 0;
		}
		#bg_left, #bg_right {
			width: 55px;
		}
		.nav-arrows span.nav-arrow-prev {
			left: 50px;
		}
		.nav-arrows span.nav-arrow-next {
			right: 50px;
		}
		#top .topics_headline .relation_link {
			font-size: 15px;
		}
		#footer .footer_link li a {
			font-size: 18px;
		}
		#footer .footer_link li:after { 
			top: 15px;
		}
		#top #contact_ftr dd {
			font-size: 15px;
		}
		#footer #snavi li {
			font-size: 13px;
		}
		#top #footer address {
			font-size: 18px;
		}
		.nav-arrows span {
			top: 72%;
		}
	}
	@media only screen and (min-width:320px) and (max-width: 374px) {
		.menu {
			width: 50px;
			height: 50px;
			margin-top: 8px;
		}
		.close_menu {
			top: 6px;
		}
		.close_menu a {
			width: 50px;
			height: 50px;
		}
		#navi ul.navi {
			padding: 100px 0 0;
		}
		#top .topics_headline .date {
			font-size: 15px;
			line-height: 23px;
		}
		#top .topics_headline .news_tit {
			font-size: 14px;
			line-height: 20px;
		}
		#top .topics_headline .relation_link {
			padding: 5px 0 5px;
			font-size: 13px;
		}
		#top #contents26 .relation_link a {
			background: url("../img/common/parts_cmn01.png") no-repeat 0 3px;
		}
		#top_bnr .descript, .caption, .module_contents table td {
			font-size: 13px;
		}
		#contents1000429 ul li {
			margin-bottom: 5px;
		}
		#top #contents {
			padding-top: 225px !important;
		}
		#top .container .sl-slider-wrapper {
			height: 260px;
		}
		
		#sub_module1 {
			min-height: 0;
		}
		#footer .footer_link li a, #top #contact_ftr dt {
			font-size: 14px;
			height: 25px;
			line-height: 25px;
		}
		.twitter_sp img {
			width: 35%;
		}
		#bg_left, #bg_right {
			width: 35px;
		}
		.nav-arrows span.nav-arrow-prev {
			left: 30px;
		}
		.nav-arrows span.nav-arrow-next {
			right: 30px;
		}
		#footer .footer_link li:after { 
			top: 13px;
		}
		#top #contact_ftr dd {
			font-size: 12px;
		}
		#footer #snavi li {
			font-size: 12px;
		}
		#top #footer address {
			font-size: 16px;
		}
		.nav-arrows span {
			top: 75%;
		}
	}