@charset "utf-8";

/* -------------------------------------------------------------------------------------- base smartphone tablet */

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

@media screen and (min-width: 320px) and (max-width: 568px){
	.inner { margin:0 12px; }
}
@media screen and (min-width: 569px) and (max-width: 800px){
	.inner { margin:0 2em }
}

#sidebar { display:none; }

#contents .section, #footer .section { margin:0 0 18px; }
#contents .section:last-child { margin:0; }

#mobilebar {
	height:40px;
	background:#758eb7;
}
#mobilebar #mbmenu a {
	display:block;
	width:40px;
	height:40px;
	background:url(images/menu-icon.png) no-repeat center center;
	border:#516b94 1px solid;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
#mobilebar a span { display:none; }

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

#header {
	background:#fff;
	font-size:12px;
	font-size:1.2rem;
	text-align:center;
	line-height:2;
}
#header h1 { padding:24px 0 4px; }
#header p { padding:0 0 20px; }
#header p span { white-space: nowrap; }

.design #header .underlayer,
.about #header .underlayer,
.link #header .underlayer {
	font-size:14px;
	font-size:1.4rem;
	font-family:serif;
	margin:0 0 24px;
}
.design #header .underlayer span,
.about #header .underlayer span,
.link #header .underlayer span {
	font-size:20px;
	font-size:2.0rem;
	font-family:'Marcellus SC', sans-serif;
}
.design #header .underlayer span:first-child,
.about #header .underlayer span:first-child,
.link #header .underlayer span:first-child {
	margin:0 0.5em 0 0;
}


/* ----------------------------------------- global navi */
/* but add this contents to sidebar */

#gnv { display:none; }

/* -------------------------------------------------------------------------------------- visual */

/* ----------------------------------------- home */
#visual.home {
	background:#fff url(images/mainvs-home.jpg) no-repeat center bottom;
	background-size:900px;
	padding:0 0 260px;
	text-align:center;
}
#visual.home p { display:none; }

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

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

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

#container {
	background:#fff;
	font-size:12px;
	font-size:1.2rem;
	line-height:1.8;
	text-align:center;
	padding:20px 0 24px;
}

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

.article { margin:0 0 24px; }
#container .article:last-child { margin:0; }
.article h2 {
	color:#758eb7;
	font-size:14px;
	font-size:1.4rem;
	border-bottom:1px #758eb7 dotted;
	padding:0 0 6px;
	margin:0 0 20px;
}
.article h2.adde {
	line-height:1;
}
.article h2 span {
	font-family: 'Josefin Sans', sans-serif;
	font-size:40px;
	font-size:4rem;
	font-weight: 100;
	margin:0 12px 0 0;
}


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

.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; }

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

.details p {
	font-size:12px;
	font-size:1.2rem;
	text-align:left;
	line-height:2;
}

.bottanstyle {
	display:inline-block;
	padding: 0.5em 2em;
	background: #758eb7;
	border:none;
	font-size:14px;
	font-size:1.4rem;
	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; }

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

.details > ul {
	width:100%;
	text-align:center;
}
.details > ul > li {
	display:inline-block;
	height:120px;
	padding:0 2em;
}
.details > ul > li > ul {
	display:table-cell;
	height:120px;
	padding:0 0 0 135px;
	vertical-align:middle;
}
.details ul ul li {
	width:12em;
	font-size:12px;
	font-size:1.2rem;
	line-height:2;
	text-align:left;
}
.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 {
	display:inline-block;
	width:100%;
	padding:0 0 0 135px;
}
.details ul li a p {
	display:table-cell;
	width:12em;
	height:120px;
	font-size:12px;
	font-size:1.2rem;
	line-height:2;
	text-align:left;
	vertical-align:middle;
}
.details .type-self { background:url(images/allow-bt-gray.png) no-repeat right center; }
.details .type-static { background:url(images/allow-bt-gray.png) no-repeat right center; }
.details .type-cms { background:url(images/allow-bt-gray.png) no-repeat right center; }

.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 .case1, .details .case2, .details .case3,
.details .type-self a, .details .type-static a, .details .type-cms a {
	background-size:120px;
}

.txtarea { width:100%; text-align:left; }
.txtarea h3 {
	font-size:14px;
	font-size:1.4rem;
	margin:0 0 12px;
}
.txtarea h4 {
	font-size:14px;
	font-size:1.4rem;
	margin:0 0 12px;
}
.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;
}
span.cap {
	display:inline-block;
	font-size:12px;
	font-size:1.2rem;
	margin:0 0 0 1em;
}

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

.tableblock {
	width:100%;
	border-bottom:1px #ccc dotted;
	padding:20px 0;
}
.tableblock .imgarea {
	border:1px #efefef solid;
	margin:0 0 20px;
}
.tableblock .txtarea {
	text-align:center;
}
.tableblock .txtarea p {
	text-align:left;
}

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

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

#contact { border:#758eb7 1px solid; padding:16px; }
#contact dl dt { color:#758eb7; margin:0 0 4px;; }
#contact dl dt span.require{
	display:inline-block;
	*display:inline;
	*zoom:1;
	font-weight:bold;
	line-height:1;
	padding:3px 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 span.cap { text-align:left; margin:0; }

@media screen and (min-width: 320px) and (max-width: 568px){
	#contact dl {
		width:100%;
		font-size:12px;
		font-size:1.2rem;
		margin:0 0 10px;
	}
	#contact dl:last-child { margin:0; }
	#contact .submit { margin:16px 0 0; }
	#contact dl dt, .contact dl dd {
		border-bottom:1px #ccc solid;
		border-left:1px #ccc solid;
		border-right:1px #ccc solid;
		vertical-align:middle;
		padding:0.5em 1em;
	}
	#contact dl dt { background:#758eb7; color:#fff; }
}

@media screen and (min-width: 569px) and (max-width: 800px){
	#contact dl {
		display:table;
		width:100%;
		font-size:12px;
		font-size:1.2rem;
		margin:0 0 12px;
	}
	#contact dl dt{
		display:table-cell;
		width:12em;
		vertical-align:middle;
		text-align: right;
		padding:0 1em 0 0;
	}
	#contact dl dd{ vertical-align:middle; }
}

#contact dl dd input, #contact dl dd textarea{
	width:100%;
	border:1px #758eb7 solid;
	padding:4px;
}
#contact .submit { text-align: center; }
#contact .submit input {
	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(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);
}

/* radio, checkbox */
ul.list_view {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border-radius: 8px;
	border: 2px solid #ccc;
	text-align: left;
}
ul.list_view li,
ul.list_view li {
	padding: 0;
	margin: 0;
    position: relative;
}

ul.list_view li input,
ul.list_view li input{
    position: absolute;
    top:-5px;
    width: 100%;
}

/*ラジオボタン*/
ul.list_view input[type="radio"]{
    opacity : 0;  
    width: 100%;  
    height: 100%;  
    padding: 0;
	margin:0;
}

ul.list_view input[type="radio"] + label{
    display: block;
    background: URL(images/radio_off.png) no-repeat 98% center;
    background-size: 35px;
    border-bottom: 1px dotted #ccc;
    padding: 10px 20px 10px 10px;
    color: #555;
    text-decoration: none;
}

#contact input[type="radio"]:checked + label{
    background: URL(images/radio_on.png) no-repeat 98% center;
    background-size: 35px;
}

/*チェックボックス*/
#contact input[type="checkbox"]{
    opacity : 0;  
    width: 100%;  
    height: 100%;  
    padding: 0;  
}

#contact input[type="checkbox"] + label{
    display: block;
    background: URL(images/check_off.png) no-repeat 98% center;
    background-size: 35px;
    border-bottom: 1px dotted #ccc;
    padding: 10px 20px 10px 10px;
    color: #555;
    text-decoration: none;
}

#contact input[type="checkbox"]:checked + label{
    background: URL(images/check_on.png) no-repeat 98% center;
    background-size: 35px;
}

#contact li:last-child label{
    border-bottom:none;
}

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

#footer {
	background:#efefef;
	font-size:10px;
	font-size:1.0rem;
	padding:24px 0;
	text-align:center;
}
#footer p {
	line-height:2;
	margin:0 0 24px;
}
.aside { }
#slidemenu span {
	font-size:12px;
	font-size:1.2rem;
	margin:0 0 0 1.5em;
}


/* ------------------------------------------------ pinch-dashed */

ul.pinch-dashed {
	border-top:1px dotted #7d99ca;
	font-size:12px;
	font-size:1.2rem;
	margin:16px 0 0;
}
ul.pinch-dashed li {	
	border-bottom:1px dotted #7d99ca;
}
ul.pinch-dashed li a {
	display:block;
	background:url( images/allow-bt-gray.png ) no-repeat right center;
	background-size:contain;
	padding:12px 1.5em 12px 0;
}
ul.pinch-dashed li a:hover{
	background:#fffee4;
}
ul.pinch-dashed li dl{
	overflow:hidden;
	width:100%;
}
ul.pinch-dashed li dl dt{
	margin:0 0 8px;
}
ul.pinch-dashed li dl dd{
	line-height:1.8;
	margin:0 10px 0 0;
	text-align:justify;
	text-justify:inter-ideograph;
}

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

.contact { border:#ccc 1px solid; padding:16px; }
.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:#fff;
	background:#d2ebff;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	-o-border-radius: 2em;
	border-radius: 2em;
}

@media screen and (min-width: 320px) and (max-width: 440px){
	.contact dl {
		width:100%;
		font-size:12px;
		font-size:1.2rem;
		margin:0;
	}
	.contact dl:first-child { border-top:1px #ccc solid; }
	.contact .submit { margin:16px 0 0; }
	.contact dl dt, .contact dl dd {
		border-bottom:1px #ccc solid;
		border-left:1px #ccc solid;
		border-right:1px #ccc solid;
		vertical-align:middle;
		padding:0.5em 1em;
	}
	.contact dl dt { background:#758eb7; color:#fff; }
}

@media screen and (min-width: 441px) and (max-width: 800px){
	.contact dl {
		display:table;
		width:100%;
		font-size:12px;
		font-size:1.2rem;
		margin:0 0 12px;
	}
	.contact dl dt{
		display:table-cell;
		width:12em;
		vertical-align:middle;
		text-align: right;
		padding:0 1em 0 0;
	}
	.contact dl dd{ vertical-align:middle; }
}

.contact dl dd input, .contact dl dd txtarea{
	width:100%;
	font-size:12px;
	font-size:1.2rem;
	border:1px #758eb7 solid;
	padding:4px;
}
#contents .submit { text-align: center; }
#contents .submit input {
	padding: 0.5em 2em;
	background: #758eb7;
	border:none;
	font-size:14px;
	font-size:1.4rem;
	color: #FFF;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	-o-border-radius: 2em;
	border-radius: 2em;
}
#contents .tablelist .submit { margin: 16px 0 0; }

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

.tablelist dl {
	width:100%;
	font-size:12px;
	font-size:1.2rem;
	margin:0;
}

@media screen and (min-width: 320px) and (max-width: 440px){
	.tablelist dl:first-child { border-top:1px #ccc solid; }
	.tablelist dl dt, .tablelist dl dd {
		border-bottom:1px #ccc solid;
		border-right:1px #ccc solid;
		border-left:1px #ccc solid;
		vertical-align:middle;
		line-height:1.6;
		padding:0.5em 1em;
	}
	.tablelist dl dt{ background:#758eb7; color:#fff; }
}
@media screen and (min-width: 441px) and (max-width: 800px){
	.tablelist dl { display:table; }
	.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;
	}
}

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

.pcs { display:none; }
/* acd */
h3.sds + .toggles {
	display:none;
	margin:20px 0 0;
}




