@charset "UTF-8";

/**
 *
 * レスポンシブウェブデザイン用
 *
**/


/**
 * タブレット端末用
**/

@media only screen and (min-width: 769px) and (max-width: 1024px) {

	body {
		padding: 0;
		-webkit-text-size-adjust: none;
	}
	
	body a {
		text-decoration: underline;
	}
	
	#wrapper {
		padding: 0 0 0 0;
	}
	
	#main_image {
		margin-bottom: 15px;
		width: 100%;
		float: none;
	}
	
	#header {
		height: 130px;
		background: #ffffff;
	}

	#header h1 {
		width: 240px;
		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 {
		width: 20%;
	}

	#header ul li:nth-of-type(1) {
		display: none;
	}

	#header ul li:nth-of-type(2) {
		background: none;
	}

	#header ul li a {
		padding: 0;
		width: 100%;
		text-align: center;
		display: block;
	}
	
	#header ul li a img {
		display: none;
	}

	#header ul li:nth-of-type(1) a:before {
		display: none;
	}

	#header ul li:nth-of-type(2) a:before {
		display: none;
	}

	#header ul li:nth-of-type(3) a:before {
		display: none;
	}

	#header ul li:nth-of-type(4) a:before {
		display: none;
	}

	#header ul li:nth-of-type(5) a:before {
		display: none;
	}

	#header ul li:nth-of-type(6) a:before {
		display: none;
	}

	#content {
		padding: 150px 0 0 0;
		width: 90%;
	}

	#top {
		padding: 130px 0 0 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 .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 .html5 {
		margin: 0 0 15px 15px;
		padding: 0;
		width: 46%;
		max-width: 488px;
		min-width: 208px;
		border-right: none;
		float: left;
		display: inline;
	}

	#price .responsive {
		margin: 0 15px 15px 0;
		padding: 0;
		width: 46%;
		max-width: 488px;
		min-width: 208px;
		border-right: none;
		float: right;
		display: inline;
	}

	#price .option {
		margin: 0 15px 15px 15px;
		width: auto;
		float: none;
		display: block;
		clear: both;
	}

	#price .option table {
		width: 96%;
	}

	#flow {
		padding: 0 0 50px 0;
	}
	
	#flow h2 {
		margin-left: 15px;
	}
	
	#flow dl {

	}

	#faq {
		padding: 0;
	}

	#faq h2 {
		margin-left: 15px;
	}

	#faq .wrap {
		padding: 0 15px;
	}

	#faq dl {
		width: auto;
		float: none;
	}

	#pagetop {
		display: block;
		position: fixed;
		bottom: 0;
		right: 10px;
		z-index: 1000000;
	}

	#pagetop a img  {
		width: 36px;
		height: auto;
	}

}


/**
 * スマートフォン端末用
**/

@media only screen and (max-width: 768px) {
	body {
		padding: 0;
		-webkit-text-size-adjust: none;
		font-size: medium;
	}
	
	body a {
		text-decoration: underline;
	}

	.pc_disp { display: none !important; }
	.sp_disp { display: block !important; }


	#wrapper {
		padding: 0;
	}
	
	#main_image {
		margin-bottom: 15px;
		width: 100%;
		float: none;
	}
	
	#header {
		height: 132px;
		border-bottom: none;
		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 {
		width: 23px;
		top: 10px;
		right: 10px;
	}

	#header .contact a {
		padding: 0 0 0 0;
	}

	#header .contact a:after {
		display: none;
	}

	#header .contact a:before {
		display: none;
	}

	#header nav {
		margin-left: 0;
		width: 100%;
		height: 60px;
		border-top: none;
		top: 69px;
		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-of-type(1) {
		display: none;
	}

	#header ul li:nth-of-type(6) {
		width: 23px;
		height: 16x;
		border-top: none;
		position: absolute;
		top: -60px;
		right: 50px;
	}

	#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-of-type(1) a:before {
		display: none;
	}

	#header ul li:nth-of-type(2) a:before {
		display: none;
	}

	#header ul li:nth-of-type(3) a:before {
		display: none;
	}

	#header ul li:nth-of-type(4) a:before {
		display: none;
	}

	#header ul li:nth-of-type(5) a:before {
		display: none;
	}
	
	#header ul li:nth-of-type(6) a {
	}
	
	#header ul li:nth-of-type(6) a:before {
		display: none;
	}	

	#content {
		margin: 20px 10px 25px 10px;
		padding: 0;
		width: auto;
		line-height: 130%;
		font-size: 12px;
	}

	#content h2 {
		margin: 0 0 20px 0;
		padding: 0 0 0 10px;
		line-height: 1.2em;
		font-size: 24px;
		font-weight: bold;
		border-left: 5px solid #000000;
	}

	#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;
		margin-bottom: 15px;
	}
	
	#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: 0 8px 15px 8px;
		padding: 0 0 0 50px;
		min-height: 26px;
		line-height: 1.6em;
		font-size: 24px;
		font-weight: bold;
		background: url("../images/title_num_01.gif") no-repeat 0 center;
		background-size: auto 26px;
	}

	#service h3 {

	}
	
	#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 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 .point {
		padding: 0 0 20px 0;
		width: 100%;
		float: none;
	}

	#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: 0 8px 15px 8px;
		padding: 0 0 0 50px;
		min-height: 26px;
		line-height: 1.6em;
		font-size: 24px;
		font-weight: bold;
		background: url("../images/title_num_02.gif") no-repeat 0 center;
		background-size: auto 26px;
	}

	#coding .how {
		margin: 0 10px 25px 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
	}
	
	#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 .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: 0 8px 15px 8px;
		padding: 0 0 0 50px;
		min-height: 26px;
		line-height: 1.6em;
		font-size: 24px;
		font-weight: bold;
		background: url("../images/title_num_03.gif") no-repeat 0 center;
		background-size: auto 26px;
	}

	#price table {
		margin-left: 10px;
		width: 94%;
	}

	#price .html5 {
		margin: 0 10px 0 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		float: none;
		display: block;
	}

	#price .responsive {
		margin: 0 10px 35px 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
		display: block;
	}

	#price .option {
		margin: 0 10px 25px 10px;
		padding-bottom: 10px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #cccccc;
		float: none;
		display: block;
	}

	#flow {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#flow h2 {
		margin: 0 8px 15px 8px;
		padding: 0 0 0 50px;
		min-height: 26px;
		line-height: 1.6em;
		font-size: 24px;
		font-weight: bold;
		background: url("../images/title_num_04.gif") no-repeat 0 center;
		background-size: auto 26px;
	}

	#faq {
		margin-bottom: 25px;
		padding: 0;
		line-height: 130%;
		font-size: 12px;
	}

	#faq h2 {
		margin: 0 8px 15px 8px;
		padding: 0 0 0 50px;
		min-height: 26px;
		line-height: 1.6em;
		font-size: 24px;
		font-weight: bold;
		background: url("../images/title_num_05.gif") no-repeat 0 center;
		background-size: auto 26px;
	}

	#faq dl {
		margin: 0 10px 0 10px;
		padding: 18px 0 15px 18px;
		width: auto;
		box-sizing: border-box;
		float: none;
		position: relative;
		overflow: hidden;
	}

	.law_data {
		margin: 0 auto 30px auto;
		width: 96%;
		border-top: 2px solid #000000;
		border-right: 1px solid #000000;
	}

	.law_data {
		display: block;
	}

	.law_data tbody {
		display: block;
	}

	.law_data tr {
		display: block;
	}

	.law_data th {
		padding: 10px;
		width: 100%;
		text-align: left;
		border-left: 1px solid #000000;
		border-bottom: 1px dashed #000000;
		box-sizing: border-box;
		vertical-align: middle;
		display: block;
	}

	.law_data tr:last-child th {
		border-bottom: 1px dashed #000000;
	}

	.law_data td {
		padding: 10px;
		text-align: left;
		border-left: 1px solid #000000;
		border-bottom: 1px solid #000000;
		box-sizing: border-box;
		display: block;
	}
	
	.law_data tr:last-child td {
		border-bottom: 1px solid #000000;
	}

	.law_data td img {
		max-width: 100%;
		height: auto;
	}

	.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 {
		display: block;
		position: fixed;
		bottom: 0;
		right: 10px;
		z-index: 1000000;
	}

	#pagetop a img {
		width: 31px;
		height: auto;
	}

}