@charset "UTF-8";

/* HTML5
=================================================================== */
article, aside, canvas, details, figcaption, figure, header, footer, main, menu, nav, section, summary {
	display: block;
}


/* Base Set
=================================================================== */
html { -webkit-text-size-adjust:none; }
body { background: #fff; line-height:1.7; }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
input [type=image]:hover { filter:alpha(opacity=80); -moz-opacity: 0.8; opacity: 0.8; }
img { max-width: 100%; height: auto; width /***/: auto;/* IE8 Only */ vertical-align: bottom; line-height: 1; }
.spOnly, .tbOnly { display: none; }

@media screen and (max-width: 980px) {
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 640px) {
}


/* Common
=================================================================== */

/* Header ========================================================= */
header { position: relative; background: #FFF; overflow: hidden; }
header .inner { position:relative; width: 960px; height: 82px; margin:0 auto; }
header h1 { position: absolute; top: 29px; left: 23.125%; width: 25%; }
header .logo { position: absolute; left: 2px; top: 21px; width: 21.35416666666667%; }
header .logo a { display: block; }
header .logo a img { display: block; width: auto; height: auto; max-width: 100%; background: #FFF; vertical-align: top; }

@media screen and (max-width: 980px) {
	header .inner { width:100%; }
}

@media screen and (max-width: 768px) {
	header .inner { height: 100px; }
	header h1 { position:absolute; top: 60px; left: 17px; width: 31.25%; }
	header .logo { position: absolute; left: 17px; top: 13px; width: 26.69270833333333%; }
}

@media screen and (max-width: 640px) {
	header { z-index: 2; }
	header .inner { height: 115px; }
	header h1 { position: absolute; top: 57px; left: 17px; width: 184px; }
	header .logo { position: absolute; left: 17px; top: 16px; width: 184px; }
}


/* Contents ======================================================= */
main { width: 100%; background-color: #FFF; border-top: 1px solid #CCC; }
main .contents { padding-top: 10px; }

.social {	width: 960px; margin: 0 auto; padding: 0 0 10px 0; }
.social ul { float: right; }
.social.left ul { float: none; }
.social ul li { float: left; }
.social ul li.facebook { width: 123px; }
.social ul li.tweet { width: 114px; }
.social ul li.google { width: 82px;}
.social ul li.hatena { width: 129px; }

@media screen and (max-width: 980px) {
	main .social { max-width: 960px; width: 100%;}
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 640px) {
	main .contents { padding: 10px; }
	main .social { padding: 20px 0; }
}


/* Footer ========================================================= */
footer { clear: both; background-color: #FFF; border-top: 1px solid #CCCCCC; }
footer .inner { width: 960px; margin: 0 auto; padding: 24px 0; }
footer .inner .sns { width: 18.22916666666667%; display: inline; float: left; padding-top: 5px; }
footer .inner .sns li { width: 25.71428571428571%; margin-right: 11.42857142857143%; display: inline; float: left; }
footer .inner .sns li.last { margin-right: 0; }
footer .inner .sns li a { display: block; }
footer .inner .sp_sns { display: none; }
footer .inner .contact { width: 78.4375%; display: inline; float: right; }
footer .inner .contact .phone .left { width: 40.90305444887118%; display: inline; float: left; }
footer .inner .contact .phone .center { width: 44.48871181938911%; display: inline; float: left; } 
footer .inner .contact .phone .right { width: 14.60823373173971%; display: inline; float: left; }
footer .inner .sp_contact { display: none; }
footer .inner .sp_contact .left { width: 33.70998116760829%; display: inline; float: left; }
footer .inner .sp_contact .right { width: 30.13182674199623%; display: inline; float: right; }
footer .info { background: url(../../images/foot_bg.png) center bottom repeat-x; border-top: 1px solid #CCCCCC; }
footer .info .inner { width: 960px; margin: 0 auto; padding: 17px 0 110px; }
footer .info .inner .logo { width: 26.785%; display: inline; float: left; }
footer .info .inner .logo a { display: block; }
footer .info .inner .menu { width: 587px; display: inline; float: right; padding-top: 3px; }
footer .info .inner .menu .subnav { width: 324px; display: inline; float: left; }
footer .info .inner .menu .subnav li { display: inline; float: left; margin-right: 18px; line-height: 1.4; }
footer .info .inner .menu .subnav li.last { margin-right: 0px; }
footer .info .inner .menu .subnav li a { font-size: 12px; color: #666666; }
footer .info .inner .menu .copy { color: #666666; width: 247px; display: inline; float: right; font-size: 12px; line-height: 1.4; }

@media screen and (max-width: 980px) {
	footer { width: 100%; }
	footer .inner { width: 100%; margin: 0 auto; padding: 2.5% 0; }
	footer .inner .sns { padding-top: 1.875%; }
	footer .info .inner { width: 100%; }
	footer #Foot_inner .copy { text-align: center; }
}

@media screen and (max-width: 819px) {
	footer .info .inner .menu { width: 324px; display: inline; float: right; }
	footer .info .inner .menu .subnav { width: 324px; display: block; float: none; }
	footer .info .inner .menu .copy { width: 100%; display: block; float: none; text-align: right; }
}

@media screen and (max-width: 768px) {
	footer .inner { padding: 3.645833333333333% 0; }
	footer .inner .sns { width: 34.63541666666667%; margin-left: 0; }
	footer .inner .sns li { width: 16.91729323308271%; margin-right: 4.135338345864662%; }
	footer .inner .sns li:nth-child(4) { margin-right: 3.007518796992481%; }
	footer .inner .sns li.last { margin-right: 0; }
	footer .inner .contact { width: 60.67708333333333%; }
	footer .inner .contact .phone { margin-bottom: 2.448210922787194%; }
	footer .inner .contact .phone .left { width: 38.19742489270386%; }
	footer .inner .contact .phone .left img.pcOnly { display: none; }
	footer .inner .contact .phone .center { display: none; }
	footer .inner .contact .phone .right { width: 59.01287553648069%; float: right; }
	footer .inner .contact .phone .right a { display: none; }
	footer .inner .sp_contact { display: block; }
	footer .inner .sp_contact .left { width: 38.19742489270386%; display: inline; float: left; }
	footer .inner .sp_contact .right { width: 34.33476394849785%; display: inline; float: right; }
	footer .info .inner .logo { width: 275px;  }
	footer .info .inner .menu .subnav { margin-bottom: 6px; }
}

@media screen and (max-width: 640px){
	footer { width: 100%; border-top:none; }
	footer .inner { margin-bottom: 3.125%; padding: 0; }
	footer .inner .sns { display: none;}
	footer .inner .sp_sns { display: block; width: 100%; border: solid 1px #CCCCCC; margin: 0 auto; padding: 0; }
	footer .inner .sp_sns li { width: 50%; float: left; border-width:0 1px 1px 0; border-style:solid; border-color:#CCCCCC; margin:0; }
	footer .inner .sp_sns li:nth-child(even) { border-right:solid 1px #fff; }
	footer .inner .sp_sns li:nth-child(5) { border-bottom:none; }
	footer .inner .sp_sns li a { display: block; }
	footer .inner .contact { width: 100%; display: block; float: none; }
	footer .inner .contact .phone { margin-bottom: 0; }
	footer .inner .contact .phone .left { width: 100%; display: block; float: none; }
	footer .inner .contact .phone .center { display: none;}
	footer .inner .contact .phone .right { width: 100%; display: block; float: none; }
	footer .inner .contact { display: block; }
	footer .inner .sp_contact .left { width: 100%; display: block; float: none; }
	footer .inner .sp_contact .right { width: 93.75%; display: block; float: none; margin: 0 auto; border: 1px solid #CCCCCC; }
	footer .info .inner { padding: 10px 0 100px 14px; }
	footer .info .inner .logo { width: 128px; display: block; float: none; margin-bottom: 10px; }
	footer .info .inner .logo a { display: block; }
	footer .info .inner .menu { width: 100%; display: block; float: none; padding-top: 0; }
	footer .info .inner .menu .subnav { display: none; }
	footer .info .inner .menu .copy { font-size: 10px; color: #333333; line-height: 1.0; width: 100%; display: block; float: none; text-align: left; }
}


/* Parts ========================================================= */
a:link    { color: #000066; text-decoration: none; }
a:visited { color: #666666; text-decoration: none; }
a:hover   { color: #e62e8b; text-decoration: underline; }
a:active  { color: #666666; text-decoration: none; }
a:hover img { filter: alpha(opacity=80); -moz-opacity:0.80; opacity:0.80; }

.pagetop { padding-bottom: 22px; margin: 0 auto; background-color: #FFF; }
.pagetop a { display: block; margin-left: auto; margin-right: 30px; width: 28px; }

/* social Col */
.socialCol { max-height: 90px; margin: 0 auto; z-index: 1; }
.socialCol iframe { border: none; }
.socialCol li { display: inline-block; min-height: 50px; width: 60px; margin-left: 20px; vertical-align: top; }
.socialCol li:first-child { margin-left: 0; }
.socialCol li.twitter { width: 70px; }
.socialCol li.googleplus { width: 50px; }

/* social Row */
.socialRow { width: 960px; margin: 0 auto; padding: 10px 0; }
.socialRow ul li { float: left; }
.socialRow ul li.facebook { width: 123px; }
.socialRow ul li.tweet { width: 114px; }
.socialRow ul li.google { width: 82px;}
.socialRow ul li.hatena { width: 129px; }

/* Table 1 */
.tableStyle1 table { width: 100%; }
.tableStyle1 table caption { margin-bottom: 10px; font-size: 150%; font-weight: bold; }
.tableStyle1 table th { width: 30%; padding: 10px 20px; background: #eaeaea; border: 1px solid #FFF; font-weight: bold; vertical-align: top; }
.tableStyle1 table td { padding: 10px 20px; background: #f4f3f3; border: 1px solid #FFF; vertical-align: top; }

/* Table 2 */
.tableStyle2 table { width: 100%; border: 1px solid #CCC; }
.tableStyle2 table caption { margin-bottom: 10px; font-size: 150%; font-weight: bold; }
.tableStyle2 table th { width: 30%; padding: 10px 20px; background: #f4f3f3; border: 1px solid #CCC; font-weight: bold; vertical-align: top; }
.tableStyle2 table td { padding: 10px 20px; background: #FFF; border: 1px solid #CCC; vertical-align: top; }

@media screen and (max-width: 980px) {
	.pagetop { width:100%; }
}

@media screen and (max-width: 768px) {
	.tbOnly { display: block!important; }
}

@media screen and (max-width: 640px) {
	.pcOnly { display: none!important; }
	.tbOnly { display: none!important; }
	.spOnly { display: block!important; }
	.pagetop { margin: 0; padding: 0; }
	.pagetop a { display: block; width: 100%; margin: 0 auto; }
	.socialCol li {  margin-left: 10px; }
	/* Table 1 */
	.tableStyle1 div { border-top: 1px solid #FFF; }
	.tableStyle1 div .caption { margin-bottom: 10px; font-size: 150%; font-weight: bold; }
	.tableStyle1 div dl {}
	.tableStyle1 div dt { width: 100%; padding: 15px 10px; background: #eaeaea; font-weight: bold; }
	.tableStyle1 div dd { padding: 15px 10px; background: #f4f3f3; border-bottom: 1px solid #FFF; vertical-align: top; }
	/* Table 2 */
	.tableStyle2 div { border-top: 1px solid #CCC; }
	.tableStyle2 div .caption { margin-bottom: 10px; font-size: 150%; font-weight: bold; }
	.tableStyle2 div dl {}
	.tableStyle2 div dt { width: 100%; padding: 15px 10px; background: #f4f3f3; border-left: 1px solid #CCC; border-bottom: 1px solid #CCC; border-right: 1px solid #CCC; font-weight: bold; }
	.tableStyle2 div dd { padding: 15px 10px; background: #FFF; border-left: 1px solid #CCC; border-bottom: 1px solid #CCC; border-right: 1px solid #CCC; }
}


/* Space ========================================================= */
.mb05 { margin-bottom: 0.5em; }
.mb10 { margin-bottom: 1em; }
.mb15 { margin-bottom: 1.5em; }
.mb20 { margin-bottom: 2em; }
.mb25 { margin-bottom: 2.5em; }
.mb30 { margin-bottom: 3em; }
.mb35 { margin-bottom: 3.5em; }
.mb40 { margin-bottom: 4em; }
.mb45 { margin-bottom: 4.5em; }
.mb50 { margin-bottom: 5em; }
.mb55 { margin-bottom: 5.5em; }

@media screen and (max-width: 980px) {
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 640px) {
}


/* Clearfix ========================================================= */
.cFix,
main .socialRow,
main .socialRow ul,
footer .inner,
footer .inner .contact,
footer .inner .contact .phone,
footer .inner .sp_contact,
footer .inner .sns ul,
footer .inner .sp_sns ul,
footer .info .inner,
footer .info .inner .menu,
footer .info .inner .menu .subnav { min-height: 1px; }
.cFix:after,
main .socialRow:after,
main .socialRow ul:after,
footer .inner:after,
footer .inner .contact:after,
footer .inner .contact .phone:after,
footer .inner .sp_contact:after,
footer .inner .sns ul:after,
footer .inner .sp_sns ul:after,
footer .info .inner:after,
footer .info .inner .menu .subnav:after,
footer .info .inner .menu:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }
* html .cFix,
* html main .socialRow,
* html main .socialRow ul,
* html footer .inner,
* html footer .inner .contact,
* html footer .inner .contact .phone,
* html footer .inner .sp_contact,
* html footer .inner .sns ul,
* html footer .inner .sp_sns ul,
* html footer .info .inner,
* html footer .info .inner .menu,
* html footer .info .inner .menu .subnav { height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/ }