@media (max-width: 600px) {
	.heading {
		margin-bottom: 0;
	}
	.heading span {
		font-size: 14px;
		display: block;
		float: none;
		line-height: 26px;
	}
	.heading h2 {
		font-size: 16px;
		padding: 4px 0px 2px 10px;
	}
	#wrap {
		margin-top: 0;
	}
	#top-mainvisual {
		margin-top: 96px;
	}
	#promise1 h3 {
		margin: 0;
		padding: 10px 10px 8px;
		font-size: 16px;
		text-align: center;
	}
	#promise1 .fukidashi {
		background-image: none;
		/*background-color: #baa283;*/
		margin: 0 10px 10px;
		padding: 10px;
		border-radius: 10px;
	}
	#promise1 .fukidashi p {
		font-size: 14px;
		line-height: 20px;
	}
	#promise1 .left {
		width: auto;
		float: none;
	}
	#promise1 .left > .heading + .clearfix,
	#promise2 .heading + .clearfix {
		padding: 0;
	}
	#promise2 .middle {
		margin: -20px 0 0;
	}
	#promise1 .fl {
		max-width: 100%;
		width: auto;
		float: none;
	}
	#promise1 .left .fr {
		max-width: 100%;
		height: auto;
		float: none;
		display: block;
		margin: auto;
	}
	#promise1 .left + .fr {
		max-width: 100%;
		height: auto;
		float: none;
		padding: 0 10px;
		display: block;
	}
	#promise1 .left + .fr img {
		display: block;
		margin: auto;
	}
	#promise1 .fukidashi {
		width: auto;
		height: auto;
	}
	#promise1 .fukidashi p {
		position: static;
	}

	#promise2 .works {
		overflow: hidden;
		padding: 10px 10px 0;
	}
	#promise2 .box {
		width: 46%;
		float: left;
		margin: 0 1.5%;
	}
	#promise2 .box:first-child {
		margin: 0 1.5%;
	}
	#promise2 .box h3 {
		font-size: 13px;
		line-height: 16px;
	}
	#promise2 .box a {
		background-position: center;
		background-size: contain;
		width: auto;
		height: 100px;
	}
	#promise2 .box p {
		margin: 3px 0 15px;
		font-size: 12px;
	}
	#promise3 .left {
		width: auto;
		float: none;
		margin-bottom: 30px;
	}
	#promise3 .left .box img {
	  height: auto;
	  width: auto;
	}
	#promise3 .heading + p {
		padding: 10px;
		margin: 0;
	}
	#promise3 .heading + p + .clearfix {
		background: #f3f3f2;
		margin: 10px;
	}
	#promise3 .heading + p + .clearfix + .middle {
		margin: 10px;
	}
	#promise3 .left .box {
		width: 44%;
		float: left;
		margin-left: 0;
		position: relative;
		background: #f3f3f2;
		padding: 3%;
	}
	#promise3 .right .box .inner {
		width: 55%;
	}
	#promise3 .right {
		float: none;
		width: auto;
	}
	#promise3 .right .box {
		margin: 0 10px -1px 10px;
	}
	#promise3 .right h2 {
		padding-left: 10px;
	}
	#information .info-heading {
	}
	#information .info-heading h2 {
		border: solid #ccc;
		border-width: 1px 0;
		background: #ddd;
		color: #555;
		margin: 0;
		padding: 15px 10px;
		font-size: 14px;
		font-weight: bold;
	}
	#information .left {
		width: auto;
		float: none;
		margin-bottom: 0;
	}
	#information .left .inner,
	#information .right .inner {
		padding: 0;
		border: none;
	}
	#information {
		margin-bottom: 30px;
	}
	#information .right {
		float: none;
		width: auto;
	}
	#information .right h2 {
		border-top: none;
	}
	#information .inner li {
		position: relative;
		margin: 0;
		padding: 0;
	}
	#information .inner li .date {
		position: absolute;
		top: 12px;
		left: 10px;
		color: #333 !important;
		font-size: 12px;
	}
	#information .inner li .title {
		display: inline;
	}
	#information .inner li .title a {
		display: block;
		position: relative;
		margin-bottom: 0;
		padding: 30px 40px 10px 10px;
		border-bottom: 1px solid #ccc;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}
	#information .inner li .title a::after {
		border-right: 2px solid #666666;
		border-top: 2px solid #666666;
		border-radius: 2px;
		content: "";
		margin: 0 0 0 10px;
		height: 10px;
		right: 20px;
		position: absolute;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		top: 45%;
		width: 10px;
		visibility: visible;
	}
	#top-bnr2 {
		margin-bottom: 15px;
	}
	#top-bnr2 div {
		margin-left: 0;
		text-align: center;
		width: 50%;
	}
	#top-bnr2 div img {
		max-width: 90%;
	}
	.underline {
		background-position: 0 6px;
		font-size: 15px;
		margin: 0 10px;
		display: block;
	}

}



@media (min-width: 601px) and (max-width: 1000px) {
	#promise1 .fukidashi {
		background-image: none;
		background-color: #baa283;
		margin-bottom: 20px;
		width: auto;
		height: auto;
		padding: 10px;
		border-radius: 10px;
	}
	#promise1 .left {
		width: 60%;
	}
	#promise1 .fl {
		width: 60%;
		float: left;
	}
	#promise1 .left + .fr {
		max-width: 35%;
	}
	#promise1 .left .fr {
		display: block;
		width: 35%;
		margin: auto;
	}
	#promise1 .fukidashi p {
		position: static;
	}
	#promise2 .box:first-child {
		margin: 0 1.5%; 
	}
	#promise2 .box {
		width: 30%;
		margin: 0 1.5%;
	}
	#promise3 .left {
		width: 65%;
	}
	#promise3 .left .box {
		width: 46%;
		margin-left: 0; 
		padding: 2%;
	}
	#promise3 .right {
		width: 30%;
	}
	#promise3 .right .box .inner {
		width: 55%;
		padding: 2%;
	}
	#promise3 .right .box img {
		width: 40%;
		height: auto;
	}
	#information .left,
	#information .right {
		width: 48%;
	}
	#top-bnr2 div {
		width: 30%;
		margin: 0 1.5%;
	}
	#top-bnr2 div:first-child {
		margin: 0 1.5%;
	}
	.works a.thumbnail {
		width: auto;
	}
}


@media (max-width: 600px) {
	#contact h1 {
		margin-bottom: 0;
	}
	#contact form th {
		display: block;
		width: auto;
		padding: 10px;
	}
	#contact form td {
		display: block;
		width: auto;
		padding: 10px;
	}
	#contact form td label {
		margin: 7px 0;
		display: block;
	}
	#contact form td .w10 {
		width: 13%;
	}
	#contact form td .w15 {
		width: 20%;
	}
	#contact form th:after {
		top: 10px;
	}
	#policy {
		border: 1px solid #ccc;
		margin: -20px 10px -50px;
		padding: 10px;
		height: 200px;
		overflow: scroll;
	}
	#policy .page-heading {
		background: none;
		margin: 0 0 20px;
		padding: 0;
	}
	#policy .page-heading h2 {
		margin: 0;
		padding: 0;
		line-height: normal;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
	}
	#policy h3 {
		margin: 0 0 0.25em;
		border: none;
		padding: 0;
		font-size: 13px;
		font-weight: bold;
	}
	#policy p {
		margin: 0 0 1.5em;
		font-size: 12px;
	}
	#policy ul,
	#policy ol {
		margin: 0 0 1.5em;
		font-size: 12px;
	}
	#policy .table_bordered {
		width: 100%;
	}
	#policy td {
		font-size: 12px;
	}
	#policy td:first-child {
		white-space: nowrap;
	}

	/* confirm */
	#contact.confirm header,
	#contact.confirm #pankuzu,
	#contact.confirm h1,
	#contact.confirm #greeting,
	#contact.confirm footer
	{
		display: none;
	}
	#contact.confirm #pankuzu + div {
		margin-bottom: 0;
	}
	#contact.confirm #wrap {
		margin: 0;
		padding: 0 10px;
	}
	#contact.confirm #contents {
		padding: 0;
	}
	#contact.confirm #confirm th,
	#contact.confirm #confirm td {
		padding: 10px;
		width: auto;
		font-size: 13px;
	}
	#contact.confirm #confirm th {
		white-space: nowrap;
		font-size: 12px;
	}

	/* complete */
	#contact.complete h1 {
		margin-bottom: 10px;
	}
	#contact.complete h1 + div > p {
		margin: 0 0 1em;
		padding: 0 10px;
	}
	#contact.complete #pankuzu + div {
		margin-bottom: 0;
	}
	#contact.complete #pankuzu + div section {
		margin-bottom: 0;
	}
	#contact.complete #contents {
		margin-bottom: 20px;
		border-bottom: 2px solid #ddd;
	}
}

@media (max-width: 600px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	
	.page-heading {
    margin-bottom: 0px;
}
}

@media (min-width: 601px) {
	.header_img {
		width: 1000px;
		margin: 0 auto;
	}
		.sp {
		display: none;
	}
	.pc {
		display: block;
	}
}



@media (max-width: 600px) {
#concept h1 {
	margin-bottom: 1px;
}
.w348 {
	width: auto;
}
#rightcolumn .usp-links {
	display: block;
	background: #2A422E;
	border-bottom: 1px solid #fff;
	padding: 15px 10px;
	color: #fff;
	font-size: 0.9em;
}
#rightcolumn .usp-links-img {
	border-bottom: 1px solid #fff;
}
#rightcolumn .button {
	margin: 0;
}
#rightcolumn .button a {
	background: #EEE1C6 !important;
	display: block;
	float: none;
	width: auto;
	margin: 0 0 1px;
	padding: 15px 10px 15px 28px;
	text-indent: -17px;
	text-align: left;
	color: #644816;
	text-decoration: none;
}
#rightcolumn .button a:before {
	content: "\25BC";
}
#rightcolumn.usp1 section h2,  #rightcolumn.usp2 section h2,  #rightcolumn.usp3 section h2 {
	text-align: left;
	padding: 10px;
	font-size: 16px;
}
#sec01,  #sec02,  #sec03 {
	padding-top: 105px;
	margin-top: -95px;
}
.usp2 #sec01 div.clearfix,  .usp3 #sec01 div.clearfix {
/*text-align: center;*/
}
.usp2 #sec01 div.clearfix img,  .usp3 #sec01 div.clearfix img {
	float: none;
	margin-bottom: 10px;
}
.usp2 .box {
	width: 48%;
	margin-left: 0;
}
.usp2 #goto_works .box:nth-child(2n) {
	margin-left: 4%;
}
#goto_works .box .thumbnail {
	width: auto;
}
.usp3 #sec03 .box .right {
	float: none;
	width: auto;
}
.usp3 #sec03 .box img {
	float: none;
	display: block;
	margin: 0 auto 10px auto;
}
#sec01 .clearfix > .fl,  #sec01 .clearfix > .fr,  #sec02 .clearfix > .fl,  #sec02 .clearfix > .fr,  #sec03 .clearfix > .fl,  #sec03 .clearfix > .fr {
	float: none;
	text-align: center;
}
span.small.fr {
	float: none;
}
}

@media (min-width: 601px) and (max-width: 1000px) {
#concept .button a {
	display: inline-block;
	float: left;
	width: 32%;
}
#sec01 .clearfix > .fl,  #sec01 .clearfix > .fr,  #sec02 .clearfix > .fl,  #sec02 .clearfix > .fr,  #sec03 .clearfix > .fl,  #sec03 .clearfix > .fr {
	width: 48%;
}
.w348 {
	width: auto;
}
.usp2 .box {
	width: 48%;
	margin-left: 0;
}
.usp2 .box:nth-child(2n) {
	width: 48%;
	margin-left: 10px;
}
#goto_works .box .thumbnail {
	width: auto;
}
.usp3 #sec03 .box .right {
	float: none;
	width: auto;
}
.usp3 #sec03 .box img {
	margin: 0 15px 15px 0;
}
}
