.sm {
	display: none !important;
}

@media (max-width: 640px) {
	body {
		font-size: 24px;
		line-height: 1.5;
	}
	.md {
		display: none !important;
	}
	.sm {
		display: block !important;
	}

	.trans {
		opacity: 1;
	}
	.trans:hover {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
	}

	.wrapper {
		min-width: 320px;
	}
	.main_content {
		width: auto;
	}
	.container {
		width: auto !important;
		padding-left: 4.6875% !important;
		padding-right: 4.6875% !important;
	}


	/* HEADER */
	header.role_header {
		border-top: 0;
		height: auto;
		box-shadow: none;
	}
	.header_inner .logo {
		display: none;
	}
	.header_sp {
	    position: fixed;
	    top: 0;
	    left: 0;
	    background: #fff;
	    width: 100%;
	    border-top: 0.235em solid #2ba739;
	    z-index: 9990;
	    padding-bottom: 2.5%;
	}
	.header_sp .logo_sp {
	    float: left;
	    width: 50%;
	}
	.header_sp .btn_menu {
	    float: right;
	    width: 11.2%;
	    margin-top: 3.5%;
	}
	.nav_sp {
	    position: fixed;
	    top: 0;
	    right: -84.375%;
	    width: 84.375%;
	    height: 100%;
	    overflow-y: scroll;
	    background: #fff;
	    z-index: 99999;
	}
	.header_sp.no_fixed {
	    position: static !important;
	}
	.nav_sp .wrap_menu {
	    padding: 0 5.555%;
	}
	.nav_sp .nav_head {
	    padding: 4% 0 7%;
	}
	.nav_sp .nav_head .logo_sp {
	    float: left;
	    width: 60.5%;
	}
	.nav_sp .nav_head .btn_close {
	    float: right;
	    width: 13.55%;
	    margin-top: 3%;
	}
	.role_header .btn_menu.open:after {
	    content: "";
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    z-index: 9990;
	    top: 0;
	    left: 0;
	    background: rgba(0,0,0,0.2);
	}
	.nav_sp .menu {
	    border-top: 1px dotted #505050;
	}
	.nav_sp .menu li a {
	    display: block;
	    border-bottom: 1px dotted #505050;
	    padding-top: 0.75em;
	    height: 4.167em;
	}
	.nav_sp .menu > li > a {
	    padding-left: 7%;
	    padding-right: 35%;
	}
	.nav_sp .menu ul li a {
	    padding-top: 1.3em;
	    padding-left: 23.5%;
	}

	.role_header .header_inner .gnav {
		width: 100%;
		float: none;
		margin-top: 0;
		padding: 2.65% 0;
	}
	.header_inner .gnav li {
		width: 31.03% !important;
		background: none;
		padding: 0;
		border-right: 1px solid #dcdcdc;
		margin-right: 3.45%;
	}
	.header_inner .gnav li.menu_item4 {
	    margin-right: 0 !important;
	    border-right: 0;
	}
	.header_inner .gnav li a {
	    display: block;
	}


	/* FOOTER */
	.role_footer .to_top {
	    width: 100%;
	    padding: 0 !important;
	}
	.role_footer .to_top .page_top {
		position: static;
	}
	.to_top .page_top img {
	    height: auto;
	}
	.to_top .page_top {
	    display: block;
	    padding: 2.5% 30%;
	    text-align: center;
	    border-radius: 0;
	}

	.role_footer .footer {
	    border-top: 0;
	    padding: 7% 0 4%;
	}
	.role_footer .footer .nav_btm h4 {
		border-bottom: 0;
	    padding-bottom: 0;
	    margin-bottom: 6%;
	}
	.footer .nav_btm .rows {
		margin-bottom: 5%;
	}
	.footer .nav_btm .parent,
	.footer .nav_btm .sub {
		display: block;
		width: auto;
		float: none;
	}
	.role_footer .hidden_pc {
		visibility: visible;
	}
	.footer .nav_btm a,
	.footer .nav_btm span {
		font-size: 1em;
		padding: 0 0.5em 0 1.85em;
		display: block;
		position: relative;
	}
	.footer .nav_btm .parent span {
		color: #2ba739;
	}
	.footer .nav_btm .line {
	    display: table;
	    width: 100%;
	}
	.footer .nav_btm .line .item {
	    display: table-cell;
	    height: 3.333em;
	    vertical-align: middle;
	    padding: 0;
	}
	.nav_btm .parent .line .item {
		width: 100%;
	}
	.nav_btm .sub .line .item {
		width: 50%;
	}
	.footer .nav_btm .parent {
	    font-weight: normal;
	    border: 1px solid #ccc;
	}
	.footer .nav_btm .sub .item {
	    border-left-color: #ccc;
	}
	.footer .nav_btm .sub .line {
	    border-bottom: 1px solid #ccc;
	    border-right: 1px solid #ccc;
	}
	.footer .nav_btm .fa {
	    display: inline-block;
	    position: absolute;
	    top: 50%;
	    left: 1.2em;
	    -webkit-transform: translateY(-50%);
	    -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	    transform: translateY(-50%);
	}
	
	.footer .map_address {
		margin-bottom: 4%;
	}
	.map_address .google_map {
		height: 8.125em;
		margin-top: 0.6em;
	}
	.map_address h4 {
		text-align: center;
		color: #2ba739;
		margin-top: 5%;
	}
	.map_address h4 span {
		display: inline-block;
		font-size: 1.083em;
		background: url(../img/common/ico_map.png) no-repeat 0 center;
	    -webkit-background-size: 0.985em auto;
	    background-size: 0.985em auto;
	    padding-left: 1.3em;
	}
	footer .copyright {
	    font-size: 0.833em;
	    margin-top: 0;
	    padding: 1.5% 0;
	    line-height: 1.5;
	}
	


	/* Common part */
	.page_ttl {
		padding: 5.125% 0;
	}
	.page_ttl h1 img {
	    height: auto;
	}

	.breadcrumb ul li, #breadcrumbs span > span:first-child  {
	    font-size: 0.833em;
	    padding: 0.9em 0;
	}
	.breadcrumb li .home,
	#breadcrumbs span > span:first-child  {
	    padding-left: 2em;
	    -webkit-background-size: 1.55em auto;
	    background-size: 1.55em auto;
	    /* padding-top: 0; */
	}
	.breadcrumb ul li span {
		font-size: 0.8em;
	}

	section.section {
		padding: 11% 0 10%;
	}
    div.sec_title {
        margin-bottom: 8%;
    }
	.sec_title img {
		height: auto;
	}
	.txt_intro {
		margin-bottom: 2.2em;
	}
	.layout_2column .box,
	.layout_2column_space .box,
	.layout_3column_space .box {
		width: 100%;
		float: none;
		margin-right: 0;
	}

	.page_banner {
        padding: 0 !important;
        background: none !important;
    }

	.nav_control {
		padding-top: 8%;
		padding-bottom: 6%;
	}
	.nav_control li {
	    float: left;
	}
	.nav_control .sp_3col li {
	    width: 32%;
	    margin: 0 2% 2% 0;
	}
	.nav_control .sp_3col li:nth-child(3n),
	.nav_control .sp_2col li:nth-child(2n) {
		margin-right: 0 !important;
	}
	.nav_control .sp_2col li {
	    margin: 0 2% 0 0;
	    padding-bottom: 2%;
	    margin-bottom: 0;
	    width: 49%;
	}
	.nav_control .sp_2col li:last-child {
	    margin-right: 0;
	}

	/* PAGINATION */
	.pagination {
	    font-size: 1em;
	}
	.pagination ul li span,
	.pagination ul li a {
	    width: 1.375em;
	    height: 1.375em;
	    line-height: normal;
	}

	.kv .site_name {top: 0;bottom: inherit;}
	.breadcrumbs.container {
    	padding-left: 0% !important;
	    margin-bottom: 15px;
	    margin-top: 15px;
 	}

	/* 404 */
	.btn_404 img.sm {
	    display: inline !important;
	    margin: 0 auto;
	}

	._404 .breadcrumb li .home, #breadcrumbs span > span:first-child{
	    padding-left: 0;
	} 	

}


@media (max-width: 635px) { body { font-size: 23.8125px } }
@media (max-width: 630px) { body { font-size: 23.625px } }
@media (max-width: 625px) { body { font-size: 23.4375px } }
@media (max-width: 620px) { body { font-size: 23.25px } }
@media (max-width: 615px) { body { font-size: 23.0625px } }
@media (max-width: 610px) { body { font-size: 22.875px } }
@media (max-width: 605px) { body { font-size: 22.6875px } }
@media (max-width: 600px) { body { font-size: 22.5px } }
@media (max-width: 595px) { body { font-size: 22.3125px } }
@media (max-width: 590px) { body { font-size: 22.125px } }
@media (max-width: 585px) { body { font-size: 21.9375px } }
@media (max-width: 580px) { body { font-size: 21.75px } }
@media (max-width: 575px) { body { font-size: 21.5625px } }
@media (max-width: 570px) { body { font-size: 21.375px } }
@media (max-width: 565px) { body { font-size: 21.1875px } }
@media (max-width: 560px) { body { font-size: 21px } }
@media (max-width: 555px) { body { font-size: 20.8125px } }
@media (max-width: 550px) { body { font-size: 20.625px } }
@media (max-width: 545px) { body { font-size: 20.4375px } }
@media (max-width: 540px) { body { font-size: 20.25px } }
@media (max-width: 535px) { body { font-size: 20.0625px } }
@media (max-width: 530px) { body { font-size: 19.875px } }
@media (max-width: 525px) { body { font-size: 19.6875px } }
@media (max-width: 520px) { body { font-size: 19.5px } }
@media (max-width: 515px) { body { font-size: 19.3125px } }
@media (max-width: 510px) { body { font-size: 19.125px } }
@media (max-width: 505px) { body { font-size: 18.9375px } }
@media (max-width: 500px) { body { font-size: 18.75px } }
@media (max-width: 495px) { body { font-size: 18.5625px } }
@media (max-width: 490px) { body { font-size: 18.375px } }
@media (max-width: 485px) { body { font-size: 18.1875px } }
@media (max-width: 480px) { body { font-size: 18px } }
@media (max-width: 475px) { body { font-size: 17.8125px } }
@media (max-width: 470px) { body { font-size: 17.625px } }
@media (max-width: 465px) { body { font-size: 17.4375px } }
@media (max-width: 460px) { body { font-size: 17.25px } }
@media (max-width: 455px) { body { font-size: 17.0625px } }
@media (max-width: 450px) { body { font-size: 16.875px } }
@media (max-width: 445px) { body { font-size: 16.6875px } }
@media (max-width: 440px) { body { font-size: 16.5px } }
@media (max-width: 435px) { body { font-size: 16.3125px } }
@media (max-width: 430px) { body { font-size: 16.125px } }
@media (max-width: 425px) { body { font-size: 15.9375px } }
@media (max-width: 420px) { body { font-size: 15.75px } }
@media (max-width: 415px) { body { font-size: 15.5625px } }
@media (max-width: 410px) { body { font-size: 15.375px } }
@media (max-width: 405px) { body { font-size: 15.1875px } }
@media (max-width: 400px) { body { font-size: 15px } }
@media (max-width: 395px) { body { font-size: 14.8125px } }
@media (max-width: 390px) { body { font-size: 14.625px } }
@media (max-width: 385px) { body { font-size: 14.4375px } }
@media (max-width: 380px) { body { font-size: 14.25px } }
@media (max-width: 375px) { body { font-size: 14.0625px } }
@media (max-width: 370px) { body { font-size: 13.875px } }
@media (max-width: 365px) { body { font-size: 13.6875px } }
@media (max-width: 360px) { body { font-size: 13.5px } }
@media (max-width: 355px) { body { font-size: 13.3125px } }
@media (max-width: 350px) { body { font-size: 13.125px } }
@media (max-width: 345px) { body { font-size: 12.9375px } }
@media (max-width: 340px) { body { font-size: 12.75px } }
@media (max-width: 335px) { body { font-size: 12.5625px } }
@media (max-width: 330px) { body { font-size: 12.375px } }
@media (max-width: 325px) { body { font-size: 12.1875px } }
@media (max-width: 320px) { body { font-size: 12px } }