@charset "utf-8";
/* CSS Document */

/* format
----------------------------------------------------------------*/

/* html5reset-1.6.1.css */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font-family:'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', Osaka, Osaka-等幅, sans-serif;
	vertical-align:baseline;
	background:transparent;
	border-collapse:collapse; /* add */
	-webkit-text-size-adjust:none; /* add */
}
body {
	background:#fffaea url(img/body.jpg) repeat-x top; /* add */
	line-height:1;
	font-size:100%;
	text-align:center; /* add */
	color:#121212; /* add */
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}

nav ul {list-style:none;}
ul li {list-style:none;} /* add */

blockquote, q {quotes:none;}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}

del {text-decoration: line-through;}

abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;   
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

input, select {vertical-align:middle;}


/* a
----------------------------------------------------------------*/
a {
	display:inline;
	outline:none;
}
a:link,
a:visited,
a:hover,
a:active {
	color:#1978d8;
	text-decoration:none;
}
a:hover {color:#0099ff;}


/* contents
----------------------------------------------------------------*/
div#contents {
	margin-left:auto;
	margin-right:auto;
	width:900px;
	background:url(img/contents.jpg) repeat-y;
}

/* works */
section#works h3 {
	margin-top:-5px;
	/margin-top:0;
}
section#works ul {
	display:block;
	margin-top:5px;
	margin-left:auto;
	margin-right:auto;
	width:840px;
}
section#works ul:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
section#works ul li {
	display:inline;
	float:left;
	margin-top:10px;
	margin-left:10px;
}

section#works h4 {	
	padding:25px 50px 0 50px;
	font-size:130%;
	color:#d10f0f;
	text-align:left;
}
section#works p {
	padding:10px 52px 0 52px;
	text-align:left;
	line-height:2;
}

/* h3 subtitle */
h3.subtitle {
	margin:0;
	padding:0;
	height:95px;
}
h3.subtitle.mt {margin-top:40px;}

/* p section */
section p {
	padding:15px 52px 0 52px;
	text-align:left;
	line-height:2;
}
section p strong {
	border-bottom:dashed 1px;
	font-size:105%;
	color:#0055f4;
}
section p strong.st {
	border-bottom:dashed 1px;
	font-size:105%;
	color:#d10f0f;
}
section p.heavy {
	padding-top:25px;
	padding-bottom:15px;
}
section p.heavy.pt {padding-top:5px;}
section p.heavy strong {
	background:url(img/common_strong.jpg) left top;
	border:none;
	font-size:150%;
	color:#121212;
	line-height:1;
	/line-height:1.5;
}

/* figure img */
section figure.left {
	display:inline;
	float:left;
	margin:15px 30px 10px 20px;
}
section figure.right {
	display:inline;
	float:right;
	margin:15px 20px 10px 30px;
}


/* point */
section#point div {background:url(img/point.gif) repeat-y center;}
section#point ul {
	margin-top:0;
	margin-left:auto;
	margin-right:auto;
	padding-top:5px;
	padding-bottom:80px;
	width:860px;
	background:url(img/point.jpg) no-repeat bottom;
}
section#point ul li {
	margin-left:40px;
	margin-right:40px;
	padding:15px 5px 15px 60px;
	background:url(img/point_li.png) no-repeat 5px 5px;
	border-bottom:solid 1px #6dd0f6;
	font-size:155%;
	text-align:left;
	line-height:1.6;
	font-weight:bold;
}

section#point p {
	padding:15px 52px 0 52px;
	font-size:100%;
	font-weight:bold;
	text-align:left;
	line-height:1.5;
}
section#point p strong {
	padding-left:10px;
	background:url(img/point_strong.jpg);
	color:#fff76f;
}

/* voice */
div.voice {
	margin-top:20px;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:20px;
	width:820px;
	background:url(img/voice.jpg) repeat-y;
	border-top:solid 1px #cccccc;
	border-bottom:solid 1px #cccccc;
	zoom:1;
}
div.voice:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
div.voice article {
	display:inline;
	margin-right:1px;
	width:610px;
	/*background:url(img/voice_article.jpg) no-repeat top;*/
	float:right;
}
div.voice article h4 {
	padding-top:29px;
	padding-left:15px;
	padding-bottom:20px;
	font-size:125%;
	text-align:left;
	color:#d10f0f;
}
div.voice article p {
	padding:10px 20px 15px 15px;
	text-align:left;
	line-height:1.6;
}
div.voice p.bt {
	padding:20px 80px 0;
	border-top:solid 1px #cccccc;
}
div.voice article p.question {
	padding:10px 20px 0 15px;
	text-align:left;
	line-height:1.6;
	color:#0071e3;
}
div.voice figure {
	display:inline;
	float:left;
	margin-top:20px;
	margin-left:20px;
}
div.voice figure img {border:solid 1px #cccccc;}

div.voice figure.works {
	clear:both;
	float:none;
	margin-top:20px;
	margin-left:auto;
	margin-right:auto;
}
div.voice figure.works img {
	border:none;
	padding-bottom:15px;
}

div.voice article.smp-works {
	display:block;
	margin-bottom:-30px;
	width:818px;
	/*background:url(img/voice_article.jpg) no-repeat top right;*/
	float:none;
}
div.voice article.smp-works h4 {
	padding-top:29px;
	padding-left:30px;
	padding-bottom:30px;
	font-size:125%;
	text-align:left;
	color:#d10f0f;
}
div.voice article.smp-works p {
	padding:20px 80px 30px;
	border-top:solid 1px #cccccc;
}

section p#smp-works {
	margin-top:25px;
	margin-left:35px;
	margin-right:35px;
	text-align:center;
	line-height:1.85;
	padding-top:20px;
	padding-bottom:10px;
	background:url(img/common_strong.jpg) left top;
	border:solid 2px #f4be02;
	font-size:150%;
	font-weight:bold;
	color:#121212;
	line-height:1;
	/line-height:1.5;
	letter-spacing:0.3em;
}

/* how to */

/* reason */
section#reason dl {
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	width:680px;
	background:url(img/common_dl.jpg) repeat-y;
	padding-bottom:25px;
	border-bottom:solid 1px #ffa964;
}
section#reason dl dt {margin-bottom:-5px;}
section#reason dl dd {
	margin-left:20px;
	margin-right:20px;
	margin-top:5px;
	padding:15px 10px 15px 68px;
	background:url(img/common_dd.jpg) no-repeat 10px 5px;
	border-bottom:dashed 1px #c6a768;
	font-size:110%;
	font-weight:bold;
	text-align:left;
	line-height:1.8;
	color:#2f0001;
}

/* dl bottleneck */
dl#bottleneck {
	margin-top:40px;
	margin-left:auto;
	margin-right:auto;
	padding-top:5px;
	padding-bottom:20px;
	width:820px;
	background:#d7fafe;
	border:solid 1px #6dd0f6;
}
dl#bottleneck dt {
	margin-top:25px;
	margin-left:25px;
	margin-right:25px;
	text-align:left;
}
dl#bottleneck dt span {
	padding:5px 10px;
	background:url(img/bottleneck_dt.jpg);
	border-radius: 3px;
	-moz-border-radius: 3px 3px 3px 3px;
	-webkit-border-radius: 3px 3px 3px 3px;
	font-size:110%;
	font-weight:bold;
	color:#fffaa2;
	behavior: url("/PIE.htc");
}
dl#bottleneck dd {
	margin-left:18px;
	margin-right:18px;
	margin-top:5px;
	padding:15px 10px 8px;
	text-align:left;
	line-height:2;
	border-bottom:dashed 1px #a1c6d1;
}

/* smp point */
dl#smp-point {
	margin-top:30px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	width:680px;
	background:url(img/common_dl.jpg) repeat-y;
	padding-bottom:25px;
	border-bottom:solid 1px #ffa964;
}
dl#smp-point dd {
	margin-left:20px;
	margin-right:20px;
	margin-top:5px;
	padding:15px 10px 15px 68px;
	background:url(img/common_dd.jpg) no-repeat 10px 5px;
	border-bottom:dashed 1px #c6a768;
	font-size:110%;
	font-weight:bold;
	text-align:left;
	line-height:1.8;
	color:#2f0001;
}

/* service */
section#service dl {
	margin-top:-10px;
	/margin-top:20px;
	margin-left:auto;
	margin-right:auto;
	width:840px;
}
section#service dl dt {
	margin-top:30px;
	/margin-top:0;
	margin-left:20px;
	margin-right:20px;
	padding:14px 15px 10px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius:3px;
	background: #ff8484 url(img/service_dt.png); /* Old browsers */
	background: url(img/service_dt.png),-moz-linear-gradient(top, #ff9696 50%, #ff8484 50%); /* FF3.6+ */
	background: url(img/service_dt.png),-webkit-gradient(linear, left top, left bottom, color-stop(50%,#ff9696), color-stop(50%,#ff8484)); /* Chrome,Safari4+ */
	background: url(img/service_dt.png),-webkit-linear-gradient(top, #ff9696 50%,#ff8484 50%); /* Chrome10+,Safari5.1+ */
	background: url(img/service_dt.png),-o-linear-gradient(top, #ff9696 50%,#ff8484 50%); /* Opera 11.10+ */
	background: url(img/service_dt.png),-ms-linear-gradient(top, #ff9696 50%,#ff8484 50%); /* IE10+ */
	/background: #ff8484 url(img/service_dt.png);
	border:solid 2px #ed5d5b;
	font-size:140%;
	font-weight:bold;
	color:#110000;
	text-align:left;
	line-height:1.3;
	text-shadow: 0 0 3px #cd0300;
	position: relative; 
	behavior: url("PIE.htc");
}
section#service dl dd {
	margin-left:18px;
	margin-right:18px;
	/margin-bottom:30px;
	padding:15px 18px;
	text-align:left;
	line-height:1.8;
	background:#ffedec;
	border-bottom:dashed 1px #c6a768;
	color:#2f0001;
}
section#service dl dd.nb {/margin-bottom:0;}

/* contact */
article.contact01 {
	margin-top:30px;
	margin-left:auto;
	margin-right:auto;
	width:840px;
	height:240px;
	background:url(img/contact.jpg) no-repeat bottom;
	text-align:left;
}
article.contact01 a{
	margin-left:112px;
}

article.contact02 {
	margin-top:30px;
	margin-left:auto;
	margin-right:auto;
	width:840px;
	height:320px;
	background:url(img/contact.jpg) no-repeat bottom;
	text-align:left;
}
article.contact02 a{
	margin-left:112px;
}


/* faq */
section#faq article {
	margin-left:auto;
	margin-right:auto;
	width:820px;
	text-align:left;
}
section#faq h4 {
	margin-top:30px;
	padding:15px 25px 12px 50px;
	color:#ffffff;
	background:url(img/faq_h4.gif) top left;
	font-size:20px;
	line-height:1.5;
	text-shadow: 0 1px 5px #0b7ad3; 
}
section#faq article div {
	margin:0;
	padding-top:20px;
	padding-left:50px;
	width:810px;
	background:url(img/faq_div.gif) no-repeat top left;
}
section#faq p {
	padding:0;
	padding-bottom:8px;
	padding-right:50px;
	line-height:1.8;
}
section#faq ul {
	padding-top:5px;
	padding-bottom:25px;
	width:700px;
}
section#faq ul li {
	padding:8px 5px 5px;
	padding-left:20px;
	background:url(img/faq_li.gif) no-repeat 5px 15px;
	border-bottom:solid 1px #e2e2e2;
	line-height:1.5;
}

/* footer */
footer {
	width:900px;
	height:75px;
	background:url(img/footer.jpg) no-repeat;
}
footer p {
	display:inline;
	float:left;
	padding-top:45px;
	padding-left:20px;
}
footer p a:link,
footer p a:visited,
footer p a:hover,
footer p a:active {color:#ffffff;}
footer p a:hover {color:#ffcc00;}
footer p#copy {
	float:right;
	padding-top:49px;
	padding-right:20px;
	width:500px;
	text-align:right;
	font-size:60%;
	font-family: tahoma, helvetica, verdana, 'lucida grande', 'lucida sans unicode', sans-serif;
	color:#ffffff;
}


/* contact
----------------------------------------------------------------*/
section h2 {margin-top:20px;}

/* table */
section table {
	margin-top:20px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:50px;
	width:800px;
	border:solid 1px #2f2f2f;
}
section th,
section td {
	padding:15px 20px;
	border-bottom:solid 1px #2f2f2f;
	text-align:left;
	font-weight:normal;
	line-height:1.5;
	vertical-align:top;
}
section th {
	width:30%;
	background: #239cf5 url(img/service_dt.png);
	border-right:solid 1px #2f2f2f;
	color:#ffffff;
	font-weight:bold;
	text-shadow: 0 0 2px #00245b; 
}
section th span {
	padding:0 3px;
	background: url(img/contact_th-span.gif) repeat-x bottom;
	border:solid 1px #176eb5;
	font-size:12px;
	color:#151515;
	text-shadow:none; 
}
section td.indispensable {
	background:#fff9c1;
	color:#541401;
}

section input.send {
	margin-top:-20px;
}

section p em {
	font-style:normal;
	color:#d10f0f;

}

section p#back {margin-top:-20px;}
section.contact {padding-bottom:20px;}


/* privacy */
section section#privacy {
	margin-top:50px;
	margin-bottom:50px;
	margin-left:auto;
	margin-right:auto;
	width:800px;
	border:solid 1px #c1c1c1;
	font-size:100%;
}
section section#privacy h3 {
	padding:18px 20px 0;
	font-size:120%;
	font-weight:normal;
	text-align:left;
	color:#d10f0f;
}
section section#privacy p {
	padding:10px 20px 0;
	text-align:left;
}
section section#privacy dl {
	padding:0 20px 20px;
	text-align:left;
}
section section#privacy dl dt,
section section#privacy dl dd {
	font-size:80%;
	line-height:1.5;
}
section section#privacy dl dt {
	margin-top:15px;
	padding-bottom:3px;
	font-weight:bold;
	line-height:1.8;
	border-bottom:dashed 1px #c1c1c1;
}
section section#privacy dl dd {padding-top:10px;}

