@charset "utf-8";

/*
基本13px、IE7はsmall、IE6はx-small
希望のフォントサイズ(px) : 指定する値(%)
10px : 77%
11px : 85%
12px : 92%
13px : 100%
14px : 107%
15px : 114%
16px : 122%
17px : 129%
18px : 136%
19px : 144%
20px : 152%
21px : 159%
22px : 167%
23px : 174%
24px : 182%
25px : 189%
26px : 197%
*/






/* formatting styles
-----------------------*/
* {
	font-style: normal;
	margin: 0px;
	padding: 0px;
}
body {
	background-color: #FFFFFF;
	font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	line-height: 200%;
	color: #4d4d4d;
	background-image: url(../images/back_all.gif);
	background-repeat: repeat-x;
}
hr {
	display: none;
}
a img {
	border-style: none;
}
ul li img {
	vertical-align: top;
}
dl img {
	vertical-align: top;
}
iframe {
	vertical-align: top;
}
.clearfix{
	zoom:1;/*for IE 5.5-7*/
	position:relative;/*for preview*/
}
.clearfix:after{/*for modern browser*/
	content: url(../images/spacer.gif);/*for Netscape*/
	display: block;
	clear: both;
	height: 0;
}
* html .clearfix{
	display:inline-table;
	/**/display:block;/**/
}






/* link styles
-----------------------*/
a:link {
	color: #af284b;
	text-decoration: underline;
}
a:visited {
	color: #af284b;
	text-decoration: underline;
}
a:hover {
	color: #af284b;
	text-decoration: none;
}
a:active {
	color: #af284b;
	text-decoration: none;
}






/* parts styles
-----------------------*/
.text_red {
	color: #d20000;
}
.text_small {
	font-size: 85%;
	line-height: 150%;
	font-weight: normal;
}
table.graph {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}
table.graph tr.gray {
	background-color:#f7f7f7;
}
table.graph th {
	padding-top: 7px;
	padding-bottom: 7px;
	font-weight: bold;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
table.graph td {
	padding-top: 7px;
	padding-bottom: 7px;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
table.enclosure {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	line-height: 150%;
	font-size: 92%;
}
table.enclosure th {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #ededed;
}
table.enclosure th.dark {
	background-color: #d9d9d9;
}
table.enclosure td {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #FFFFFF;
}
table.enclosure td.seo {
	text-align: center;
}
table.enclosure td.bold {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #FFFFFF;
	font-weight: bold;
}
table.form {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	line-height: 150%;
	font-size: 92%;
}
table.form th {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #ededed;
	text-align: left;
	width: 27%;
}
table.form th.check {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #ededed;
	text-align: left;
	background-image: url(../images/icon_mail.gif);
	background-repeat: no-repeat;
	background-position: right center;
}
table.form td {
	border: 1px solid #d9d9d9;
	padding: 10px;
	background-color: #FFFFFF;
}
table th.small {
	width: 20%;
}
table th.medium {
	width: 30%;
}
table th.large {
	width: 40%;
}
table td.small {
	width: 20%;
}
table td.medium {
	width: 30%;
}
table td.large {
	width: 40%;
}
table input {
	height: 20px;
	line-height: 20px;
	border: 1px solid #cccccc;
	margin-right: 10px;
	color: #4d4d4d;
}
table input.check {
	margin-right: 5px;
	color: #4d4d4d;
	line-height: 12px;
	height: 12px;
	width: 12px;
	border-style: none;
}
table select {
	border: 1px solid #cccccc;
	color: 4d4d4d;
}
table textarea {
	border: 1px solid #cccccc;
	color: #4d4d4d;
}
ul.dot {
	padding-left: 15px;
}
ul.line {
	border-top: 1px solid #e5e5e5;
}
ul.line li {
	list-style: none;
	border-bottom: 1px solid #e5e5e5;
	padding-top: 7px;
	padding-bottom: 7px;
	background-image: url(../images/icon_square.gif);
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 10px;
}
ol.number {
	padding-left: 24px;
}
.paragraph_60 {
	margin-bottom: 60px;
}
.paragraph_30 {
	margin-bottom: 30px;
}
.paragraph_20 {
	margin-bottom: 20px;
}
.paragraph_10 {
	margin-bottom: 10px;
}

.paragraph_60 p {
	margin-bottom: 20px;
}
.paragraph_30 p {
	margin-bottom: 20px;
}
.rightmargin_30 {
	margin-right: 30px;
}
.rightmargin_16 {
	margin-right: 16px;
}
p#bread {
	line-height: 110%;
	font-size: 85%;
	margin-bottom: 15px;
}
h1 {
	margin-bottom: 30px;
}
h1#toppage {
	margin-bottom: 0px;
}
h1#athlete {
	margin-bottom: 0px;
}
h2.large {
	height: 56px;
	width: 710px;
	background-image: url(../images/h2_large.gif);
	background-repeat: no-repeat;
	font-size: 100%;
	line-height: 43px;
	text-indent: 35px;
}
h2.small {
	height: 56px;
	width: 340px;
	background-image: url(../images/h2_small.gif);
	background-repeat: no-repeat;
	font-size: 100%;
	line-height: 43px;
	text-indent: 35px;
}

h3.large {
	height: 33px;
	width: 710px;
	background-image: url(../images/h3_large.gif);
	background-repeat: no-repeat;
	font-size: 92%;
	line-height: 33px;
	text-indent: 25px;
	margin-bottom: 10px;
}
h4.large {
	height: 33px;
	width: 710px;
	background-image: url(../images/h3_large.gif);
	background-repeat: no-repeat;
	font-size: 92%;
	line-height: 33px;
	text-indent: 25px;
	margin-bottom: 10px;
}






/* contents styles
-----------------------*/
#contents {
	width: 950px;
	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
}
#leftbar {
	float: left;
	width: 210px;
}
#rightbar {
	float: right;
	width: 710px;
}
.layouthalf {
	width: 340px;
	float: left;
}






/* contact styles
-----------------------*/
input.hankaku {
	ime-mode: disabled; /* 半角モード */
}
#contact_ssl {
	width: 710px;
	position: relative;
}
#contact_ssl #left {
	float: left;
	width: 550px;
	margin-bottom: 30px;
}
#contact_ssl #right {
	float: right;
	width: 130px;
}

#contact_ssl p#globalsign {
	position: absolute;
	top: 0px;
	right: 0px;
}
#contact_submit {
	text-align: center;
	margin-top: 20px;
}
#contact_submit input {
	width: 150px;
	height: 30px;
}
p#contact_complete {
	line-height: 40px;
	text-align: center;
	height: 40px;
	width: 100%;
	background-color: #f2f2f2;
	border: 1px solid #e0e0e0;
}






/* head styles
-----------------------*/
#head {
	height: 115px;
	width: 950px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	background-image: url(../images/back_head.gif);
	background-repeat: no-repeat;
	background-position: left top;
}
#head p#logotype {
	position: absolute;
	left: 0px;
	top: 50px;
}
#head p#telephone {
	position: absolute;
	top: 51px;
	right: 0px;
}
#head ul#fsize {
	position: absolute;
	left: 272px;
	top: 3px;
}
#head ul#fsize li {
	float: left;
	margin-right: 3px;
	list-style: none;
}
#head ul#head_navi {
	position: absolute;
	top: 3px;
	right: 0px;
}
#head ul#head_navi li {
	float: left;
	list-style: none;
	margin-left: 5px;
}
#head input#keywords {
	height: 19px;
	width: 157px;
	border: 1px solid #e6e6e6;
	position: absolute;
	left: 0px;
	top: 8px;
	background-image: url(../images/head_pic_02.gif);
	background-position: 3px center;
	background-repeat: no-repeat;
	text-indent: 19px;
	color: #b3b3b3;
	line-height: 19px;
	background-color: #FFFFFF;
}
#head input#submit {
	position: absolute;
	top: 8px;
	height: 21px;
	width: 77px;
	left: 164px;
}






/* global_navi styles
-----------------------*/
ul#global_navi {
	height: 44px;
	width: 950px;
	margin-right: auto;
	margin-left: auto;
}
ul#global_navi li {
	float: left;
	list-style: none;
}






/* sub_navi styles
-----------------------*/
ul#sub_navi {
	height: 34px;
	width: 950px;
	margin-right: auto;
	margin-left: auto;
}
ul#sub_navi li {
	float: left;
	list-style: none;
}






/* main styles
-----------------------*/
#main {
	height: 274px;
	width: 974px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	margin-top: 30px;
	background-image: url(../images/back_slides.gif);
	background-repeat: no-repeat;
}
#main p#left {
	position: absolute;
	left: 0px;
	top: 67px;
}
#main p#right {
	position: absolute;
	top: 67px;
	right: 0px;
}
#main #slides {
	overflow:hidden;
	/* fix ie overflow issue */
	position:relative;
	width:930px;
	height:250px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 12px;
}
#main #slides ul {
	width:2790px;
}
#main #slides ul li {
	float:left;
	list-style: none;
}






/* sidecontact styles
-----------------------*/
#sidecontact {
	margin-bottom: 30px;
}






/* sidebanner styles
-----------------------*/
ul#sidebanner {
	margin-bottom: 60px;
}
ul#sidebanner li {
	margin-bottom: 5px;
	list-style: none;
}






/* promotion styles
-----------------------*/
#promotion {
	margin-bottom: 0px;
}

#promotion .inner {
	width: 226px;
	float: left;
	padding-bottom: 30px;
}
#promotion .inner p {
	font-size: 92%;
	line-height: 170%;
	margin-top: 5px;
}






/* topics styles
-----------------------*/
#topics {
	position: relative;
}
#topics ul {
	position: absolute;
	top: 0px;
	right: 0px;
}
#topics ul li {
	list-style: none;
	float: left;
}






/* topics styles
-----------------------*/
#topics {
	margin-bottom: 30px;
}
#topics .inner {
	width: 690px;
	border-bottom: 1px solid #e6e6e6;
	padding: 10px;
}
#topics .gray {
	background-color: #f2f2f2;
}
#topics .inner p {
	display: table-cell;
	vertical-align: middle;
	margin: 0;
	line-height: 100%;
}
#topics .inner p.date {
	white-space: nowrap;
	background-image: url(../images/icon_square.gif);
	background-repeat: no-repeat;
	background-position: left center;
	text-indent: 7px;
}
/*for IE6 */
* html .inner p {
	display: inline;
	zoom: 1;
}
/*for IE7 */
*:first-child+html .inner p {
	display: inline;
	zoom: 1;
}






/* foot styles
-----------------------*/
#foot {
	width: 100%;
	background-image: url(../images/back_foot.gif);
	background-repeat: repeat-x;
	height: 109px;
}
#foot ul {
	height: 40px;
	width: 950px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
#foot ul li {
	float: left;
	list-style: none;
}
#foot ul li#pagetop {
	position: absolute;
	top: 0px;
	right: 0px;
}
#foot p#copyright {
	height: 69px;
	width: 950px;
	margin-right: auto;
	margin-left: auto;
}






/* sidenavi styles
-----------------------*/
#sidenavi {
	margin-bottom: 30px;
	background-image: url(../images/back_sidenavi.gif);
	background-position: bottom;
	padding-bottom: 5px;
}
#sidenavi .inner {
	width: 196px;
	border: 1px solid #d9d9d9;
	background-color: #FFFFFF;
	margin-right: auto;
	margin-bottom: 4px;
	margin-left: auto;
	padding: 1px;
}
#sidenavi #inner {
	width: 196px;
	border: 1px solid #d9d9d9;
	background-color: #FFFFFF;
	margin-right: auto;
	margin-left: auto;
	padding: 1px;
}
#sidenavi p#rss {
	width: 200px;
	margin-right: auto;
	margin-left: auto;
}
#sidenavi ul {
	width: 196px;
}
#sidenavi ul li {
	list-style: none;
	border-top: 1px solid #e6e6e6;
}
#sidenavi ul li#top {
	border-style: none;

}
#sidenavi ul li a {
	display:block;
	width:178px;
	padding: 8px 5px 8px 13px;
	background-image: url(../images/icon_square.gif);
	background-repeat: no-repeat;
	background-position: 5px 13px;
	line-height: 130%;
	font-size: 92%;
}
#sidenavi ul li a:hover {
	background-color: #fffafa;
}
#sidenavi select {
	width: 176px;
	border: 1px solid #e0e0e0;
	color: #4d4d4d;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 10px;
}






/* cms styles
-----------------------*/
.cmscontents {
	float: left;
	width: 480px;
}
p.cmsdate {
	margin-bottom: 15px;
	line-height: 100%;
}
p.cmssocial {
	margin-bottom: 10px;
}
p.cmspdf {
	background-image: url(../images/icon_pdf.gif);
	background-repeat: no-repeat;
	padding-left: 22px;
	background-position: left 3px;
	line-height: 160%;
}
dl.cmspic {
	float: right;
	width: 200px;
	margin-bottom: -30px;
}
dl.cmspic dt {
	margin-bottom: 5px;
}
dl.cmspic dt img {
	border: 1px solid #e6e6e6;
}
dl.cmspic dd {
	font-size: 85%;
	line-height: 150%;
	margin-bottom: 30px;
	text-align: center;
}
p#cmspaging {
	text-align: center;
	margin-bottom: 60px;
}
p.cmssocial {
	margin-bottom: 10px;
	vertical-align: top;
	height: 21px;
}






/* service styles
-----------------------*/
p.serviceindex {
	font-size: 92%;
	margin-bottom: 0px;
	margin-top: 10px;
	line-height: 180%;
}
.serviceinner {
	width: 226px;
	float: left;
}
.serviceinner dl dt {
	float: left;
	width: 75px;
}
.serviceinner dl dd {
	font-size: 85%;
	float: right;
	width: 141px;
	line-height: 160%;
}






/* works styles
-----------------------*/
.worksinner p {
	margin: 0px;
}
.worksinner .left {
	float: left;
	width: 310px;
}
.worksinner .left img {
	border: 1px solid #e6e6e6;
}
.worksinner .right {
	float: right;
	width: 385px;
}
.worksinner .right table {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}
.worksinner .right table th {
	font-size: 85%;
	line-height: 21px;
	font-weight: normal;
	height: 21px;
	width: 73px;
	background-color: #e6e6e6;
	border-bottom: 1px solid #FFFFFF;
}
.worksinner .right table td {
	font-size: 92%;
	line-height: 21px;
	height: 21px;
	padding-left: 10px;
	border-bottom: 1px solid #FFFFFF;
}
.worksinner .right ul {
	margin-right: -5px;
	margin-top: 10px;
	margin-bottom: 6px;
}
.worksinner .right ul li {
	font-size: 85%;
	line-height: 19px;
	background-color: #808080;
	height: 19px;
	width: 73px;
	color: #FFFFFF;
	text-align: center;
	list-style: none;
	float: left;
	margin-right: 5px;
}
.worksinner .right p {
	font-size: 92%;
	line-height: 200%;
}
p.worksline {
	margin-top: 30px;
	margin-bottom: 27px;
}






/* price styles
-----------------------*/
#priceinner {
	height: 622px;
	width: 710px;
	position: relative;
}
#priceinner p {
	margin: 0px;
}
#priceinner p#option {
	position: absolute;
	right: 0px;
	bottom: 0px;
}






/* flow styles
-----------------------*/
.flowinner {
	background-image: url(../flow/images/back.gif);
	background-position: bottom;
	padding: 15px 20px 20px;
}
.flowinner dl dt {
	float: left;
}
.flowinner dl dd {
	float: right;
	width: 515px;
}
p.flownext {
	margin: 10px auto;
	width: 56px;
}






/* estimate styles
-----------------------*/
.estimatecheckbox {
	width: 100%;
}
.estimatecheckbox .inner {
	float: left;
	width: 33%;
}
.estimateinner .right {
	float: right;
	width: 48%;
}






/* sitemap styles
-----------------------*/
h2.sitemap {
	height: 33px;
	width: 340px;
	background-image: url(../images/h3_small.gif);
	background-repeat: no-repeat;
	font-size: 92%;
	line-height: 33px;
	text-indent: 25px;
}
ul.sitemapline li {
	list-style: none;
	border-bottom: 1px solid #e5e5e5;
	padding-top: 5px;
	padding-bottom: 5px;
	background-image: url(../images/icon_square.gif);
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 10px;
}






/* search styles
-----------------------*/
dl#search {
	background-color: #f2f2f2;
	width: 686px;
	padding: 12px;
	margin-bottom: 0px;
	border: 1px solid #e0e0e0;
}
dl#search dt {
	float: right;
	width: 150px;
	text-align: right;
	line-height: 100%;
}
dl#search dd {
	font-weight: bold;
	line-height: 100%;
}
h3.search_title {
	background-image: url(../images/icon_square.gif);
	background-repeat: no-repeat;
	background-position: left center;
	font-weight: bold;
	font-size: 100%;
	text-indent: 7px;
}
.profileclient {
	width: 100%;
}
.profileclient .inner {
	width: 48%;
	float: left;
}






/* faq styles
-----------------------*/
.faqquestion {
	background-image: url(../faq/images/back_question.gif);
	background-repeat: no-repeat;
	height: 44px;
	width: 710px;
	position: relative;
}
.faqquestion h2 {
	font-size: 100%;
	line-height: 44px;
	text-indent: 38px;
}
.faqquestion p {
	position: absolute;
	top: 0px;
	right: 0px;
}


.faqanswer {
	background-image: url(../faq/images/back_answer.gif);
	background-position: bottom;
	padding: 13px 20px 20px;
	margin-bottom: 30px;
}
.faqanswer p {
	margin: 0px;
}

