@charset "UTF-8";

/**
 *
 * レスポンシブウェブデザイン用
 *
**/


/**
 * PC調節用
**/

@media only screen and (min-width: 1025px) and (max-width: 1300px) {
	#service .feature .wrap {
		width: 100%;
		float: none;
	}

	#service .feature .area {
		width: 100%;
		float: none;
		overflow: hidden;
	}
	
	#coding .how {
		margin-bottom: 20px;
		padding-bottom: 20px;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
	}

	#coding .point {
		padding: 0 0 12px 0;
		width: 48%;
		border-bottom: 1px solid #cccccc;
		float: left;
		display: inline;
	}
	
	#coding .box:nth-child(4) {
		float: right;
	}

	#coding .box:nth-child(5) {
		float: right;
	}

	#coding .box:nth-child(6) {
		border-bottom: 1px solid #cccccc;
	}


}


/**
 * タブレット端末用
**/

@media only screen and (min-width: 651px) and (max-width: 1024px) {
	body {
		padding: 0;
		-webkit-text-size-adjust: none;
		font-size: 75%;
	}
	
	body a {
		text-decoration: underline;
	}
	
	input.txt_long {
		width: 80%;
		height: 22px;
		line-height: 22px;
		border: 1px solid #010101;
	}
	
	.textarea {
		width: 90%;
		height: 250px;
		border: 1px solid #010101;
	}

	
	#wrapper {
		padding: 0;
	}
	
	#main_image {
		margin-bottom: 15px;
		width: 100%;
		float: none;
	}
	
	#header {
		height: 150px;
		background: #ffffff;
		position: relative;
	}

	#header h1 {
		top: 10px;
		left: 10px;
	}

	#header .contact {
		top: 10px;
		right: 10px;
	}

	#header nav {
		margin-left: 0;
		width: 100%;
		border-top: none;
		height: 45px;
		left: 0;
	}

	#header ul {
		width: 100%;
		height: 45px;
		border-top: 1px dashed #000000;
	}

	#header ul li {
		margin-left: 0;
		width: 19%;
	}

	#header ul li:nth-child(2) {
		background: none;
	}
	
	#header ul li:nth-child(3) {
		margin-left: 0;
		width: 24%;
	}

	#header ul li a {
		padding: 0;
		width: 100%;
		text-align: center;
		display: block;
	}
	
	#header ul li a img {
		display: none;
	}
	
	#header ul li:nth-child(1) a{
		display: none;
	}
	
	#header ul li:nth-child(2) a{
		background: url("../images/navi_02_t.gif") no-repeat 50% 50%;
	}
	
	#header ul li:nth-child(3) a{
		background: url("../images/navi_03_t.gif") no-repeat 50% 50%;
	}
	
	#header ul li:nth-child(4) a{
		background: url("../images/navi_04_t.gif") no-repeat 50% 50%;
	}
	
	#header ul li:nth-child(5) a{
		background: url("../images/navi_05_t.gif") no-repeat 50% 50%;
	}

	#header ul li:nth-child(6) a{
		background: url("../images/navi_06_t.gif") no-repeat 50% 50%;
	}

	#content {
		padding: 10px 0 0 15px;
	}

	#top {
		padding: 0;
	}

	#top .fl {
		width: 100%;
		float: none;
	}

	#top #news {
		margin-bottom: 30px;
	}
	
	#top #news h2 {
		margin: 0 0 15px 15px;
	}

	#top #news dl {
		margin-left: 25px;
	}

	#top #news dl dt {
		padding-right: 10px;
		width: auto;
	}

	#top .bnr {
		margin-bottom: 30px;
		width: 100%;
		overflow: hidden;
	}

	#top .bnr ul {
		width: 100%;
		overflow: hidden;
	}

	#top .bnr ul li {
		padding: 0 0 10px 0;
		width: 33.333%;
		text-align: center;
		display: block;
	}

	#top .bnr ul li img {
		margin: 0 auto;
		width: 100%;
		max-width: 230px;
	}

	#top .bnr ul li a {
		margin: 0 auto;
		width: 95%;
		max-width: 230px;
		display: block;
	}


	#service {
		padding: 10px 0 50px 0;
	}
	
	#service h2 {
		margin-left: 15px;
	}

	#service .concept {
		margin: 0 15px 15px 15px;
		width: auto;
		float: none;
		border-right: none;
	}

	#service .concept p {
		width: 60%;
		float: left;
	}
	
	#service .concept figure {
		margin: 0 15px;
		width: 30%;
		float: right;
	}

	#service .feature {
		margin: 0 15px 15px 15px;
		width: auto;
		float: none;
	}

	#coding {
		padding: 0 0 50px 0;
	}
	
	#coding h2 {
		margin-left: 15px;
	}
	
	#coding .txt_03 {
		width: 457px;
		height: 53px;
		background: url("../images/coding_txt_03_t.gif") no-repeat 0 0;
	}
	
	#coding .txt_03 img {
		display: none;
	}
	
	#coding .how {
		margin: 0 15px 15px 15px;
		padding-bottom: 15px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
	}
	
	#coding .how table {
	}

	#coding .point {
		margin: 0 15px 15px 15px;
		width: auto;
		float: none;
		display: block;
	}

	#price {
		padding: 0 0 50px 0;
	}
	
	#price h2 {
		margin-left: 15px;
	}

	#price .xhtml {
		margin: 0 0 15px 15px;
		padding: 0;
		width: 46%;
		max-width: 488px;
		min-width: 208px;
		float: left;
		display: block;
	}

	#price .html5 {
		margin: 0 15px 15px 0;
		padding: 0;
		width: 46%;
		max-width: 488px;
		min-width: 208px;
		border-right: none;
		float: right;
		display: block;
	}

	#price .option {
		margin: 0 15px 15px 15px;
		width: auto;
		float: none;
		display: block;
		clear: both;
	}

	#flow {
		padding: 0 0 50px 0;
	}
	
	#flow h2 {
		margin-left: 15px;
	}
	
	#flow dl {
		margin: 0 0 25px 65px;
	}

	#faq {
		padding: 0;
	}

	#faq h2 {
		margin-left: 15px;
	}

	#faq .wrap {
		padding: 0 15px;
	}

	#faq dl {
		width: auto;
		float: none;
	}

	#pagetop {
/*		width: 36px;
		height: 40px;*/
		display: block;
		position: fixed;
		bottom: 0;
		right: 10px;
		z-index: 1000000;
	}

	#pagetop a img  {
		width: 36px;
		height: auto;
/*		height: 40px;
		text-indent: -9999px;
		background: #000000 url("../images/pagetop.gif") no-repeat center 5px;
		-webkit-border-top-left-radius: 5px;
		-moz-border-top-left-radius: 5px;
		border-top-left-radius: 5px;
		-webkit-border-top-right-radius: 5px;
		-moz-border-top-right-radius: 5px;
		border-top-right-radius: 5px;
		display: block;*/
	}

}

@media only screen and (min-width: 651px) and (max-width: 880px) {
	#service .feature .wrap {
		width: 100%;
		float: none;
	}

	#service .feature .area {
		width: 100%;
		float: none;
		overflow: hidden;
	}

}


/**
 * スマートフォン端末用
**/

@media only screen and (max-width: 650px) {
	body {
		padding: 0;
		-webkit-text-size-adjust: none;
		font-size: medium;
	}
	
	body a {
		text-decoration: underline;
	}

	input.txt_long {
		width: 80%;
		height: 22px;
		line-height: 22px;
		border: 1px solid #010101;
	}
	
	.textarea {
		width: 90%;
		height: 250px;
		border: 1px solid #010101;
	}

	#wrapper {
		padding: 0;
	}
	
	#main_image {
		margin-bottom: 15px;
		width: 100%;
		float: none;
	}
	
	#header {
		height: 132px;
		border-bottom: 2px solid #000000;
		position: relative;
	}
	
	#header a {
		text-decoration: none;
	}

	#header h1 {
		top: 10px;
		left: 10px;
	}

	#header h1 a {
		width: 149px;
		height: 47px;
		background: url("../images/logo_s.jpg") no-repeat 0 0;
		display: block;
	}
	
	#header h1 a img {
		display: none;
	}

	#header .contact {
		top: 10px;
		right: 10px;
	}
	
	#header .contact a {
		width: 60px;
		height: 34px;
		background: url("../images/header_contact_s.gif") no-repeat center 0;
		display: block;
		position: relative;
	}
	
	#header .contact a:after {
		width: 60px;
		line-height: 120%;
		font-size: 10px;
		font-weight: bold;
		content: "CONTACT";
		text-align: center;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	
	#header .contact a img {
		display: none;
	}

	#header nav {
		margin-left: 0;
		width: 100%;
		height: 64px;
		border-top: none;
		top: 70px;
		left: 0;
	}

	#header ul {
		width: 100%;
		height: 64px;
	}

	#header ul li {
		width: 50%;
		height: 31px;
		background: none;
		border-top: 1px dashed #000000;
	}

	#header ul li:nth-child(6) {
		width: 60px;
		height: 34px;
		border-top: none;
		position: absolute;
		top: -60px;
		right: 60px;
	}

	#header ul li a {
		padding: 0;
		width: 100%;
		height: 31px;
		line-height: 31px;
		font-size: 11px;
	}
	
	#header ul li a img {
		display: none;
	}
	
	#header ul li:nth-child(1) {
		display: none;
	}
	
	#header ul li:nth-child(2) a:before {
		content: "サービスのご案内";
	}
	
	#header ul li:nth-child(3) a:before {
		content: "コーディングについて";
	}
	
	#header ul li:nth-child(4) a:before {
		content: "コーディング料金";
	}
	
	#header ul li:nth-child(5) a:before {
		content: "納品までの流れ";
	}
	
	#header ul li:nth-child(6) a {
		width: 60px;
		height: 34px;
		line-height: 120%;
		background: url("../images/faq_icon_s.gif") no-repeat center 0;
		display: block;
		position: relative;
	}
	
	#header ul li:nth-child(6) a:after {
		width: 60px;
		font-size: 10px;
		font-weight: bold;
		content: "FAQ";
		text-align: center;
		position: absolute;
		bottom: 0;
		left: 0;
	}	

	#content {
		margin: 20px 10px 25px 10px;
		padding: 0;
		width: auto;
		line-height: 130%;
		font-size: 12px;
	}

	#content h2 {
		margin-bottom: 25px;
		padding: 8px 0 0 8px;
		font-size: 16px;
		font-weight: bold;
		border: none;
		background: url("../images/icon_04.gif") no-repeat 0 0;
	}

	#top {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}
	
	#top h2 {
		padding: 8px 0 0 8px;
		font-size: 16px;
		font-weight: bold;
		border: none;
		background: url("../images/icon_04.gif") no-repeat 0 0;
		margin-bottom: 15px;
	}
	
	#top h2:before {
		content: "お知らせ";
	}
	
	#top h2 img {
		display: none;
	}

	#top .fl {
		width: 100%;
		float: none;
	}

	#top #news {
		margin-bottom: 20px;
		padding: 0 10px;
		width: auto;
		overflow: hidden;
	}
	
	#top #news dl {
		margin: 0;
		border-left: none;
		overflow: hidden;
	}

	#top #news dl dt {
		margin-left: 0;
		padding: 0 10px;
		width: auto;
		float: none;
		clear: both;
		overflow: hidden;
	}

	#top #news dl dd {
		padding: 0 10px 10px 10px;
		overflow: hidden;
	}

	#top .bnr {
		width: 100%;
		overflow: hidden;
	}

	#top .bnr ul {
		width: 100%;
		overflow: hidden;
	}

	#top .bnr ul li {
		padding: 0 0 10px 0;
		width: 50%;
		text-align: center;
	}

	#top .bnr ul li img {
		margin: 0 auto;
		width: 90%;
		max-width: 230px;
		height: auto;
	}

	#service {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#service h2 {
		margin-bottom: 20px;
		padding: 11px 0 0 10px;
		height: auto;
		background: none;
	}

	#service h3 {
		padding: 8px 0 0 8px;
		font-size: 16px;
		font-weight: bold;
		border: none;
		background: url("../images/icon_04.gif") no-repeat 0 0;
		margin-bottom: 10px;
	}
	
	#service h3 img {
		display: none;
	}

	#service h4 {
		padding: 18px 0 0 18px;
		font-size: 14px;
		font-weight: bold;
		background: url("../images/content_back_01.gif") no-repeat 0 0;
	}
	
	#service h4 img {
		display: none;
	}

	#service .concept {
		margin: 0 10px 25px 10px;
		padding: 0;
		width: auto;
		border-right: none;
		float: none;
	}
	
	#service .concept h3:before {
		content: "コンセプト";
	}

	#service .concept p {
		margin-left: 0;
		margin-right: 0;
	}

	#service .concept figure {
		width: 100%;
		text-align: center;
	}

	#service .concept figure img {
		margin: 0 auto;
		width: 100%;
		max-width: 370px;
		height: auto;
		display: block;
	}

	#service .feature {
		margin: 0 10px;
		width: auto;
		border-right: none;
		float: none;
	}

	#service .feature h3:before {
		content: "サービスの特徴";
	}

	#service .feature .point {
		padding: 0 0 20px 0;
		width: 100%;
		float: none;
	}

	#service .feature .wrap .point:nth-child(1) h4:before {
		content: "ムダのないシンプルな料金設定！";
	}

	#service .feature .wrap .point:nth-child(2) h4:before {
		content: "最短納期2日より承ります！";
	}
	
	#service .feature .wrap .point:nth-child(3) h4:before {
		content: "土曜、日曜の作業対応可能！";
	}
	
	#service .feature .wrap .point:nth-child(4) h4:before {
		content: "納品後1ヵ月以内は修正無料！";
	}
	
	#service .feature .area h4:before {
		content: "地域問わず全国対応可能！";
	}

	#service .feature .point p {
		margin-right: 0;
	}

	#service .feature .point ul {
		margin-right: 0;
	}

	#service .feature .area {
		float: none;
	}

	#service .feature .wrap {
		width: 100%;
		float: none;
	}

	#service .feature .wrap .point {
		width: 100%;
	}

	#service .feature .area dl dt {
		padding-left: 18px;
	}


	#coding {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#coding h2 {
		margin-bottom: 20px;
		padding: 11px 0 0 10px;
		height: auto;
		background: none;
	}

	#coding h3 {
		padding: 8px 0 0 8px;
		font-size: 16px;
		font-weight: bold;
		border: none;
		background: url("../images/icon_04.gif") no-repeat 0 0;
		margin-bottom: 10px;
	}
	
	#coding h3 img {
		display: none;
	}

	#coding h4 {
		padding: 18px 0 0 18px;
		font-size: 14px;
		font-weight: bold;
		background: url("../images/content_back_01.gif") no-repeat 0 0;
	}

	#coding h4 img {
		display: none;
	}
	
	#coding .how {
		margin: 0 10px 25px 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
	}
	
	#coding .how h3:before {
		content: "実際のコーディングはどうなの？";
	}
	
	#coding .how section:nth-child(2) h4:before {
		content: "メンテナンス性、SEO内部施工を意識したコーディングを行います。";
	}
	
	#coding .how section:nth-child(3) h4:before {
		content: "コーディング後は主要ブラウザでのレイアウトチェック、コードチェックを行い納品いたします。";
	}
	
	#coding .how section:nth-child(4) h4:before {
		content: "コードチェックの方法";
	}
	
	#coding .how h5 {
		background: url("../images/icon_03.gif") no-repeat 0 4px;
	}

	
	#coding .how figure {
		margin: 0 0 15px 0;
		width: 100%;
		text-align: center;
	}
	
	#coding .how figure img {
		margin: 0 auto;
		width: 100%;
		max-width: 260px;
		height: auto;
		display: block;
	}

	#coding .how .browser {
		margin: 0 0 8px 20px;
		width: auto;
		overflow: hidden;
	}

	#coding .how .browser .windows {
		margin-bottom: 15px;
		width: 96%;
		float: none;
		overflow: hidden;
	}
	
	#coding .how .browser .mac {
		width: 96%;
		float: none;
		overflow: hidden;
	}
	
	#coding .how table {
		width: 100%;
		border-right: 1px solid #000000;
	}

	#coding .how dl {
		margin: 0 10px 15px 20px;
		width: auto;
		float: none;
		display: block;
	}

	#coding .how dl dt {
		padding: 0 0 5px 14px;
		line-height: 110%;
		background: url("../images/icon_03.gif") no-repeat 0 5px;
	}

	#coding .point {
		margin: 0 10px 25px 10px;
		width: auto;
		float: none;
		display: block;
	}

	#coding .box:nth-child(6) {
		border-bottom: 1px solid #cccccc;
	}

	#coding section:nth-child(3) h3:before {
		content: "コーディングガイドラインの持ち込みは？";
	}

	#coding section:nth-child(4) h3:before {
		content: "CMSやjavascriptへの対応は？";
	}
	
	#coding section:nth-child(5) h3:before {
		content: "スマートフォン、タブレット端末への対応は？";
	}
	
	#coding section:nth-child(6) h3:before {
		content: "これまでの実績は？";
	}
	
	#coding .point .fr {
		margin-bottom: 5px;
		text-align: center;
		float: none;
	}

	#coding .point .fr img {
		margin: 0 auto;
	}

	#price {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#price h2 {
		margin-bottom: 20px;
		padding: 11px 0 0 10px;
		height: auto;
		background: none;
	}

	#price h3 {
		padding: 8px 0 0 8px;
		font-size: 16px;
		font-weight: bold;
		border: none;
		background: url("../images/icon_04.gif") no-repeat 0 0;
		margin-bottom: 10px;
	}

	#price h3 img {
		display: none;
	}
	
	#price h4 {
		line-height: 120%;
		font-size: 12px;
	}

	#price table {
		margin-left: 10px;
		width: 94%;
	}

	#price .xhtml {
		margin: 0 10px 35px 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
		display: block;
	}

	#price .xhtml h3:before {
		content: "XHTML";
	}

	#price .html5 {
		margin: 0 10px 35px 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
		display: block;
	}

	#price .html5 h3:before {
		content: "HTML5";
	}

	#price .option {
		margin: 0 10px 25px 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
		display: block;
	}

	#price .option h3:before {
		content: "オプション";
	}

	#flow {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#flow h2 {
		margin-bottom: 20px;
		padding: 11px 0 0 10px;
		height: auto;
		background: none;
	}

	#flow dl {
		margin: 0 10px 25px 45px;
		border-left: 1px solid #cbcbcb;
	}

	#flow dt {
		margin-left: -44px;
		padding: 3px 0 8px 59px;
		position: relative;
	}

	#flow dt img {
		width: auto;
		height: 15px;
	}

	#flow dt:nth-child(1) {
		background: none;
	}
	
	#flow dt:nth-child(3) {
		background: none;
	}
	
	#flow dt:nth-child(5) {
		background: none;
	}
	
	#flow dt:nth-child(7) {
		background: none;
	}
	
	#flow dt:nth-child(9) {
		background: none;
	}
	
	#flow dt:nth-child(11) {
		background: none;
	}

	#flow dt:nth-child(1):before {
		content: "01";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}
	
	#flow dt:nth-child(3):before {
		content: "02";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}
	
	#flow dt:nth-child(5):before {
		content: "03";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}
	
	#flow dt:nth-child(7):before {
		content: "04";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}
	
	#flow dt:nth-child(9):before {
		content: "05";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}
	
	#flow dt:nth-child(11):before {
		content: "06";
		font-size: 16px;
		font-weight: bold;
		position: absolute;
		top: 3px;
		left: 16px;
	}

	#faq {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#faq h2 {
		margin-bottom: 20px;
		padding: 11px 0 0 10px;
		height: auto;
		background: none;
	}

	#faq dl {
		margin: 0 10px 20px 10px;
		padding: 18px 0 0 18px;
		width: auto;
		background: url("../images/content_back_01.gif") no-repeat 0 0;
		box-sizing: border-box;
		float: none;
	}

	#faq dt {
		padding: 5px 15px 15px 40px;
		line-height: 140%;
		font-size: 14px;
		font-weight: bold;
		background: url("../images/icon_q.gif") no-repeat 0 0;
	}

	#faq dd {
		padding: 5px 15px 15px 40px;
		background: url("../images/icon_a.gif") no-repeat 0 0;
	}

	.law_data {
		margin: 0 0 30px 10px;
		width: 96%;
		border-top: 2px solid #000000;
		border-right: 1px solid #000000;
	}
	
	.law_data th {
		padding: 10px;
		width: 20%;
		text-align: left;
		border-left: 1px solid #000000;
		border-bottom: 1px dashed #000000;
		vertical-align: middle;
	}
	
	.law_data tr:last-child th {
		border-bottom: 1px solid #000000;
	}
	
	.law_data td {
		padding: 10px;
		text-align: left;
		border-left: 1px solid #000000;
		border-bottom: 1px dashed #000000;
	}
	
	.law_data tr:last-child td {
		border-bottom: 1px solid #000000;
	}

	.form .option dd label {
		margin: 0;
		padding: 0 0 3px 0;
		float: left;
		clear: both;
		display: inline;
	}

	#footer {
		margin-bottom: 10px;
		padding-top: 20px;
		width: 100%;
		line-height: 110%;
		font-size: 12px;
		text-align: left;
		overflow: hidden;
	}
	
	#footer nav {
		margin: 0 10px;
		padding-bottom: 10px;
		border-bottom: none;
	}
	
	#footer li {
		margin-bottom: 8px;
		padding: 0;
		border-right: none;
		display: block;
	}
	
	#footer li a {
		padding: 8px 10px;
		color: #ffffff;
		text-decoration: none;
		background: #000000;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		display: block;
	}
	
	
	#footer li:last-child {
		border-right: none;
	}
	
	#footer small {
		padding: 0 10px;
		font-size: 10px;
		text-align: center;
		display: block;
	}

	#pagetop {
/*		width: 31px;
		height: 35px;
		background: #000000;
		-webkit-border-top-left-radius: 5px;
		-moz-border-top-left-radius: 5px;
		border-top-left-radius: 5px;
		-webkit-border-top-right-radius: 5px;
		-moz-border-top-right-radius: 5px;
		border-top-right-radius: 5px;*/
		display: block;
		position: fixed;
		bottom: 0;
		right: 10px;
		z-index: 1000000;
	}

	#pagetop a img {
		width: 31px;
		height: auto;
/*		height: 35px;
		text-indent: -9999px;
		background: #000000 url("../images/pagetop.gif") no-repeat center 5px;
		display: block;*/
	}

}