@charset "utf-8";

/* -------------------------------------------------------------------------------------- base pc */
body { background:#efefef; }

#wapper, #header, #visual, #container, #footer { width:100%; }

.inner { width:960px; margin:0 auto; }

#container .inner:before, #container .inner:after { content:""; display:table; }
#container .inner:after { clear:both; }
#container .inner { zoom:1; }

#mobilebar,#slidemenu p.menu-close { display:none; }

/* -------------------------------------------------------------------------------------- header */

#header {
	background:#efefef;
	text-align:center;
	font-size:12px;
	font-size:1.2rem;
}
#header .inner { width:962px; margin:0 auto; }

#headcopy { display:table; width:100%; }
#headcopy h1, #headcopy p {
	display:table-cell;
	padding:32px 1px 16px;
}
#headcopy h1 { color:#5d7fbc; text-align:left; }
#header p {  text-align:right; }

#header.home {
	background:#fff url(images/mainvs-home.jpg) no-repeat center bottom;
	height:640px;
	text-align:center;
}
#header.home, #header.home a { color:#8c664f; }
#header.home #headcopy h1, #header.home #headcopy p {
	padding:32px 1px 24px;
}

/* ----------------------------------------- global navi */

#gnv { padding:0 0 8px; }
#gnv ul {
	width:100%;
	border-left:#ccc 1px solid;
	border-right:#efefefe 1px solid;
}
/* blocks */
#gnv ul li {
	float:left;
	width:160px;
	text-align:center;
	border-left:#efefefe 1px solid;
	border-right:#ccc 1px solid;
}
#gnv ul li a {
	display:block;
	font-family:'Marcellus SC', sans-serif;
	padding:4px 0;
}
#header.home #gnv ul li a { color:#8c664f; }
#gnv ul li a span { display:none; }

#header.home #gnv ul {
	border-left:#ad9878 1px solid;
	border-right:#dfd6b9 1px solid;
}
#header.home #gnv ul li {
	border-left:#dfd6b9 1px solid;
	border-right:#ad9878 1px solid;
}
/* -------------------------------------------------------------------------------------- visual */
#visual {
	font-size:14px;
	font-size:1.4rem;
}
/* ----------------------------------------- home */
#visual.home {
	background:#efefef;
	padding:32px 0;
	text-align:center;
}

/* ----------------------------------------- underlayer */

#visual.underlayer {
	background:#fff url(images/mainvs-underlayer.jpg) no-repeat center bottom;
	padding:0 0 120px;
	text-align:center;
}

/* -------------------------------------------------------------------------------------- container */

#container { background:#fff; padding:44px 0; }
/* #container.home { background:#fff url(images/catch-home.gif) no-repeat center 20px; padding:140px 0 44px; } */
#container .inner { width:960px;  margin:0 auto; }


/* ------------------------------------------------ article */

.article { margin:0 0 38px; }
#container .article:last-child { margin:0; }
.article h2 {
	color:#758eb7;
	font-size:16px;
	font-size:1.6rem;
	border-bottom:1px #758eb7 dotted;
	padding:0 0 16px;
	margin:0 0 28px;
}
.article h2.adde {
	padding:0;
}
.article h2 span {
	font-size:56px;
	font-size:5.6rem;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 100;
	margin:0 12px 0 0;
}

/* ------------------------------------------------ common */

/* use title */
.article .tac { text-align:center; }
.article .bfm:before {
	content:"▼";
	color: #5d7fbc;
	margin:0 0.5em 0 0;
}

.article ul.dstb { display:table; width:100%; }
.article ul.dstb > li { display:table-cell; vertical-align:middle; }

.txtarea {
	font-size:12px;
	font-size:1.2rem;
	text-align:left;
	line-height:2;
}
.txtarea p {
	margin:0 0 12px;
}
.txtarea h4 {
	font-size:14px;
	font-size:1.4rem;
	margin:0 0 12px;
}
.cap {
	margin:0 0 0 2em;
}

/* ------------------------------------------------ home */

.details {
	font-size:12px;
	font-size:1.2rem;
}
.details > ul { width:100%; }
.details > ul > li {
	width:310px;
	float:left;
	margin:0 0 0 15px;
}
.details > ul > li:first-child {
	margin:0;
}
.details > ul > li > ul {
	display:table-cell;
	height:140px;
	padding:0 0 0 150px;
	vertical-align:middle;
}

.details .case1 { background:url(images/case1.png) no-repeat left center; }
.details .case2 { background:url(images/case2.png) no-repeat left center; }
.details .case3 { background:url(images/case3.png) no-repeat left center; }

.details > ul > li > a {
	width:100%;
	display:block;
	padding:0 0 0 150px;
}
.details > ul > li > a > p {
	display:table-cell;
	height:140px;
	vertical-align:middle;
}

.details .type-self a { background:url(images/self.png) no-repeat left center; }
.details .type-static a { background:url(images/static.png) no-repeat left center; }
.details .type-cms a { background:url(images/cms.png) no-repeat left center; }
.details .type-self a:hover { background:url(images/self-on.png) no-repeat left center; }
.details .type-static a:hover { background:url(images/static-on.png) no-repeat left center; }
.details .type-cms a:hover { background:url(images/cms-on.png) no-repeat left center; }

.details .type-self { background:url(images/self-on.png) no-repeat left center;background-size:140px; }
.details .type-static { background:url(images/static-on.png) no-repeat left center;background-size:140px; }
.details .type-cms { background:url(images/cms-on.png) no-repeat left center;background-size:140px; }

.details .case1, .details .case2, .details .case3,
.details .type-self a, .details .type-static a, .details .type-cms a,
.details .type-self a:hover, .details .type-static a:hover, .details .type-cms a:hover {
	background-size:140px;
	line-height:2;
}

.txtarea ul { width:100%; }
.txtarea ul li {
	display:list-item;
	list-style:outside disc;
	margin:0 0 0 1.5em;
}
.txtarea ol li {
	display:list-item;
	list-style:outside decimal;
	margin:0 0 0 1.5em;
}

/* ------------------------------------------------ float */

.tableblock {
	display:table;
	width:100%;
	border-bottom:1px #ccc dotted;
	padding:20px 0;
}
.tableblock .imgarea {
	display:table-cell;
	width:320px;
	border:1px #efefef solid;
	vertical-align:top;
}
.tableblock .txtarea {
	display:table-cell;
	padding:0 0 0 80px;
	vertical-align:middle;
}
.tableblock .txtarea p {
	margin:0 0 32px;
}

.tableblock.fcd { padding:0 0 20px; }

/* -------------------------------------------------------------------------------------- contents */

.contents {
	background:#efefef;
	padding:32px 0;
	margin:32px 0;
}

.bottanstyle {
	display:inline-block;
	padding: 0.5em 2em;
	background: #758eb7;
	border:none;
	font-size:13px;
	font-size:1.3rem;
	color: #fff;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	-o-border-radius: 2em;
	border-radius: 2em;
	padding: 10px 20px;
	background: -moz-linear-gradient(to top, #ffffff 0%, #758eb7 50%, #5a7aad);
	background: -webkit-gradient(linear, left top, left bottom,from(#ffffff),color-stop(0.50, #758eb7),to(#5a7aad));
	border: 1px solid #758eb7;
	-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	text-shadow:0px -1px 0px rgba(000,000,000,0.2),0px 1px 0px rgba(255,255,255,0.4);
}
a.bottanstyle { color: #fff; }

/* ------------------------------------------------ tablelist */

.tablelist dl {
	display:table;
	width:100%;
	margin:0;
}
.tablelist dl:first-child { border-top:1px #ccc solid; }
.tablelist dl dt, .tablelist dl dd {
	display:table-cell;
	border-bottom:1px #ccc solid;
	border-right:1px #ccc solid;
	vertical-align:middle;
	line-height:1.6;
	padding:1em;
}
.tablelist dl dt{
	border-left:1px #ccc solid;
	width:30%;
	background:#758eb7;
	color:#fff;
}

/* -------------------------------------------------------------------------------------- footer */

#footer {
	font-size:12px;
	font-size:1.2rem;
	padding:24px 0;
	text-align:center;
}
#slidemenu ul { padding:0 0 24px; }
#slidemenu ul li { display:inline-block; padding:0 1em; font-family:'Marcellus SC', sans-serif; }
#slidemenu ul li a span { display:none; }
.aside { font-family:'Marcellus SC', sans-serif; }
#footer p { margin:0 0 24px; }

/* ------------------------------------------------ contact */

#contact {
	border:#758eb7 1px solid;
	padding:20px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
}
#contact dl {
	display:table;
	width:100%;
	padding:12px 0;
}
#contact.confirm dl { border-bottom:1px #ccc dotted; }
#contact dl dt{
	display:table-cell;
	width:30%;
	color:#758eb7;
	vertical-align:middle;
	text-align: right;
	padding:0 12px 0 0;
}
#contact dl dt span.require{
	display:inline-block;
	*display:inline;
	*zoom:1;
	font-size:10px;
	font-size:1.0rem;
	font-weight:bold;
	padding:0.5em 8px;
	margin:0 0 0 4px;
	color:#758eb7;
	background:#d2ebff;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	-o-border-radius: 2em;
	border-radius: 2em;
}
#contact dl dd{ vertical-align:middle; }
#contact dl dd input,
#contact dl dd textarea{
	width:100%;
	font-size:12px;
	font-size:1.2rem;
	border:1px #758eb7 solid;
	padding:4px;
}
#contact.confirm dt { padding:12px 2em 12px 0; margin:0; }
#contact.confirm dd { padding:12px 0; margin:0; }
#contact dd.radio input, #contact dd.checkbox input { width:1em; }
#contact dd.radio, #contact dd.checkbox { line-height:2; }
#contact .submit {
    text-align: center;
    margin:12px 0 0;
}
#contact.confirm .submit {
    margin:24px 0 0;
}
#contact .submit input {
	padding: 0.5em 2em;
	background: #758eb7;
	border:none;
	font-size:13px;
	font-size:1.3rem;
	color: #FFF;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	-o-border-radius: 2em;
	border-radius: 2em;
	padding: 10px 20px;
	background: -moz-linear-gradient(to top,#ffffff 0%,#758eb7 50%,#5a7aad);
	background: -webkit-gradient(linear, left top, left bottom,from(#ffffff),color-stop(0.50, #758eb7),to(#5a7aad));
	border: 1px solid #758eb7;
	-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 2px rgba(255,255,255,1);
	text-shadow:0px -1px 0px rgba(000,000,000,0.2),0px 1px 0px rgba(255,255,255,0.4);
}

/* ------------------------------------------------ view set */

.sds { display:none; }