@charset 'UTF-8';

@media only screen and (max-width:480px) {
	* {
		max-width: 100%;
		min-width: initial!important;
	}
	header {
		padding: 10px;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
		z-index: 9999;
	}
	header .contact {
		display: none;
	}
	header h1 a img {
		height: 48px;
		display: block;
	}
	header #sp-memu {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 48px;
		width: 48px;
		cursor: pointer;
	}
	header #sp-memu:before {
		font-family: FontAwesome;
		content: '\f0c9';
		font-size: 32px;
	}
	header #sp-memu.open:before {
		content: '\f00d';
	}
	nav {
		width: calc(100% - 20px);
		height: calc(100vh - 144px);
		position: fixed;
		z-index: 9999;
		border: none;
		top: -100vh;
		left: 10px;
		background: none;
		background-color: rgba(0,0,0,.8);
		overflow-y: scroll;
		transition: all ease .3s;
	}
	nav.open {
		top: 68px;
	}
	nav ul {
		display: block;
	}
	nav ul li {
		width: 100%;
	}
	nav ul li a,
	nav ul li span {
		padding: 16px;
		text-align: left;
		border-bottom: 1px solid #ccc;
	}
	nav > ul > li ul {
		display: block!important;
		position: static;
		width: 100%;
		box-shadow: none;
		background: none;
		background-color: rgba(50,50,50,.5);
	}
	nav > ul > li ul li a {
		padding: 16px 16px 16px 32px;
	}
	nav ul li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	nav ul li a:hover,
	nav ul li span:hover {
		background: transparent;
	}
	nav ul li a:after {
		font-family: FontAwesome;
		content: '\f105';
		font-size: 24px;
	}
	body {
		padding-top: 68px;
	}
	footer {
		padding-top: 0;
	}
	footer .sitemap {
		display: none;
	}
	/*home*/
	.home .slide ul li {
		height: calc(100vh - 68px);
	}
	.home .slide ul li div .title {
		font-size: 48px;
	}
	.home .slide ul li div .msg {
		font-size: 28px;
	}
	.home main .section {
		padding: 40px 10px;
	}
	.home main .section h2 {
		font-size: 28px;
	}
	.home main .section.contents01 ul {
		display: block;
	}
	.home main .section.contents01 ul li {
		width: 100%;
	}
	.home main .section.contents01 ul li div:first-child {
		height: initial;
	}
	.home main .section.contents01 ul li div:last-child img {
		height: initial;
	}
	.home main .section.contents01 ul li:nth-child(2) {
		flex-direction: initial;
	}
	.home main .section.news-cases {
		display: block;
	}
	.home main .section.news-cases > div {
		width: 100%;
	}
	.home main .section.news-cases .news {
		margin-bottom: 50px;
	}
	.home main .section.contents02 ul li {
		display: block;
	}
	.home main .section.contents02 ul li div {
		width: 100%;
	}
	.home main .section.news-cases > div ul {
		min-height: initial;
	}
	/*page*/
	body:not(.home) main {
		padding: 40px 10px;
	}
	.h-section {
		padding: 0;
		height: 33vh;
		display: flex;
	}
	.h-section .breadclumb {
		display: none;
	}
	.h-section h2,
	.h-section h2 span {
		text-align: center;
	}
	.h-section h2 {
		font-size: 32px;
	}
	/*about*/
	.about main .section.feature ul {
		display: block;
	}
	.about main .section.feature ul li div:first-child {
		height: initial;
	}
	.about main .section.feature ul li div:last-child {
		margin: 10px 0 20px;
	}
	.about main .section.type > div {
		display: block;
	}
	.about main .section.type > div p,
	.about main .section.type > div div {
		width: 100%;
	}
	.about main .section.type > div div {
		margin-top: 10px;
	}
	.about main .separator div .title {
		font-size: 32px;
	}
	.about main .section.navi {
		margin-top: 40px;
	}
	.about main .section.navi ul {
		display: block;
		padding: 0 10px;
	}
	.about main .section.navi ul li {
		width: 100%;
		margin-bottom: 20px;
	}
	/*contact*/
	.contact main form table,
	.contact main form table tbody,
	.contact main form table tr,
	.contact main form table th,
	.contact main form table td {
		display: block;
		width: 100%;
	}
	.contact main form table th {
		padding-bottom: 0;
	}
	/*faq*/
	.faq main .section ul li h3 span {
		width: calc(100% - 80px);
	}
  /*company*/
	.company main table,
	.company main table tbody,
	.company main table tr,
	.company main table th,
	.company main table td {
		display: block;
		width: 100%;
	}
	.company main table th {
		padding-bottom: 0;
	}
	.company main table td {
		padding-left: 32px;
	}
	/*navi*/
	.navi main .section.top h3,
	.navi .info h3 {
		font-size: 28px;
	}
	.navi .top ul {
		display: block;
	}
	.navi .top ul li {
		width: 100%;
		margin-bottom: 20px;
	}
	.navi .access {
		flex-direction: column-reverse;
		flex-wrap: wrap;
	}
	.navi .access .map,
	.navi .access .txt {
		width: 100%;
	}
	.navi .access .txt {
		margin-bottom: 20px;
	}
	.navi .info .inner {
		flex-wrap: wrap;
	}
	.navi .info .inner .img,
	.navi .info .inner .txt {
		width: 100%;
	}
	.navi .info .inner .img {
		margin-bottom: 20px;
	}
	.navi main .section.type > div {
		display: block;
	}
	.navi main .section.type > div p,
	.navi main .section.type > div div {
		width: 100%;
	}
	.navi main .section.type > div div {
		margin-top: 20px;
	}
	.navi main .section.price > div {
		display: block;
	}
	.navi main .section.price .left,
	.navi main .section.price .right {
		width: 100%;
	}
	.navi main .section.price .right {
		margin-top: 20px;
	}
	.navi .access .txt .basic dl dt {
		width: 100%;
	}
	.navi .access .txt .basic dl dd {
		width: 100%;
		padding-left: 16px;
	}
	/*news*/
	.news main .section ul {
		display: block;
	}
	.news main .section ul li {
		width: 100%;
	}
	.news-detail .section.detail h3 {
		font-size: 24px;
	}
	.news-detail .section.detail time {
		display: block;
		text-align: right;
	}
	/*cases*/
	.cases main .section ul {
		display: block;
	}
	.cases main .section ul li {
		width: 100%;
	}
	.cases-detail .section.detail h3 {
		font-size: 24px;
	}
	.cases-detail .section.detail time {
		display: block;
		text-align: right;
	}
}