@charset "utf-8";

/* reset
----------------------------------------------- */

h1,h2,h3,p,ul,ol,li,dl,dt,dd {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 1em;
	line-height: 1em;
	list-style: none;
}
a,
a:hover,
a:active,
a:visited {
	margin: 0;
	padding: 0;
	color: black;
	text-decoration: none;
	overflow: hidden;
	outline: none;
}
a:hover {
	color: rgb(230,0,20);
}
img {
	vertical-align: top;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
}
hr {
	display: none;
}

/* body
----------------------------------------------- */

body {
	color: rgb(50,50,50);
	font-family: Arial, Meiryo, "Hiragino Kaku Gothic Pro", "MS PGothic", sans-serif;
}

/* clear
----------------------------------------------- */

.clear:after {
  content: "."; 
  display: block; 
  height: 0; 
  clear: both; 
  visibility: hidden;
}

/* pageup
----------------------------------------------- */

#pageup {
	display: none;
	position: fixed;
	right: 25px;
	bottom: 50px;
}
#pageup a {
	display: block;
	width: 45px;
	height: 45px;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../images/pageup.png) no-repeat 0 0;
	overflow: hidden;
}

/* pc
----------------------------------------------- */
@media screen and (min-width:960px) {

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

	#header {
		border-top: 5px solid rgb(230,0,20);
	}
	#header h1 {
		margin: auto;
		padding: 15px 0 0;
		width: 960px;
	}
	
	/* footer
	----------------------------------------------- */

	#footer {
		margin: 30px 0 0;
		padding: 10px 0;
		background: rgb(100,100,100);
	}
	#footer p {
		color: rgb(200,200,200);
		font-family: Arial;
		font-size: 0.7em;
		text-align: center;
	}
	
	/* nav
	----------------------------------------------- */

	#nav {
		margin: 10px auto 0;
		width: 960px;
	}
	#nav li {
		float: left;
		position: relative;
	}
	#nav li > a {
		display: block;
		height: 54px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/nav.png) no-repeat 0 0;
		overflow: hidden;
	}

	/* link */
	
	#nav .home > a { width: 76px; background-position: 0 0; }
	#nav .about > a { width: 193px; background-position: -76px 0; }
	#nav .service > a { width: 160px; background-position: -269px 0; }
	#nav .pressrelease > a { width: 154px; background-position: -429px 0; }
	#nav .publicity > a { width: 144px; background-position: -583px 0; }
	#nav .recruit > a { width: 124px; background-position: -727px 0; }
	#nav .blog > a { width: 109px; background-position: -851px 0; }

	/* hover */
	
	#nav .home > a:hover { width: 76px; background-position: 0 -54px; }
	#nav .about > a:hover { width: 193px; background-position: -76px -54px; }
	#nav .service > a:hover { width: 160px; background-position: -269px -54px; }
	#nav .pressrelease > a:hover { width: 154px; background-position: -429px -54px; }
	#nav .publicity > a:hover { width: 144px; background-position: -583px -54px; }
	#nav .recruit > a:hover { width: 124px; background-position: -727px -54px; }
	#nav .blog > a:hover { width: 109px; background-position: -851px -54px; }
	
	/* current */

	#nav .blog.current > a, #nav .blog.current > a:hover { width: 109px; background-position: -851px -54px; }

	/* blog */

	#nav .blog ul {
		display: none;
		position: absolute;
		top: 35px;
		left: -128px;
		padding: 24px 0 0;
		width: 244px;
		height: 180px;
		background: url(../images/m_blog_base.png) no-repeat;
		z-index: 2;
	}
	#nav .blog li {
		float: none;
		padding: 20px 0 0;
		text-align: center;
	}
	#nav .blog li a {
		margin: auto;
		width: 174px;
		height: 40px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/m_blog.png) no-repeat 0 0;
		overflow: hidden;
	}
	
	#nav .blog .spicy_watch a { background-position: 0 0; }
	#nav .blog .spicy_tech a { background-position: -174px 0; }
	#nav .blog .spicy_watch a:hover { background-position: 0 -40px; }
	#nav .blog .spicy_tech a:hover { background-position: -174px -40px; }

	/* menu
	----------------------------------------------- */

	#menu {
		position: absolute;
		top: 20px;
		left: 50%;
		margin: 0 0 0 195px;
	}
	#menu li {
		float: left;
		margin: 0 0 0 10px;
	}
	#menu li a {
		display: block;
		height: 22px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/menu.png) no-repeat 0 0;
		overflow: hidden;
	}

	/* link */
	
	#menu .sitemap a { width: 87px; background-position: -134px 0; }
	#menu .contact a { width: 92px; background-position: -221px 0; }
	#menu .lang a { width: 81px; background-position: -313px 0; }

	/* hover */
	
	#menu .sitemap a:hover { width: 87px; background-position: -134px -22px; }
	#menu .contact a:hover { width: 92px; background-position: -221px -22px; }
	#menu .lang a:hover { width: 81px; background-position: -313px -22px; }
	
	/* sns
	----------------------------------------------- */

	#sns {
		position: absolute;
		top: 20px;
		left: 50%;
		margin: 0 0 0 40px;
	}
	#sns li {
		float: left;
		margin: 0 0 0 10px;
	}
	#sns li a {
		display: block;
		height: 22px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/menu.png) no-repeat 0 0;
		overflow: hidden;
	}
	
	/* link */
	
	#sns .facebook a { width: 88px; background-position: 0 0; }
	#sns .rss a { width: 46px; background-position: -88px 0; }

	/* hover */
	
	#sns .facebook a:hover { width: 88px; background-position: 0 -22px; }
	#sns .rss a:hover { width: 46px; background-position: -88px -22px; }
	
	/* search
	----------------------------------------------- */

	#search {
		position: absolute;
		top: 60px;
		left: 50%;
		margin: 0 0 0 209px;
		height: 31px;
	}
	#search .gsc-control-cse {
		margin: 0 !important;
		padding: 0 !important;
		width: 270px  !important;
		height: 30px;
	}

	/* links
	----------------------------------------------- */

	#links {
		margin: 30px auto 0;
		width: 960px;
		text-align: center;
	}
	#links li {
		display: inline;
		font-size: 0.7em;
		line-height: 1.1em;
		border-left: 1px solid rgb(220,220,220);
	}
	#links li:first-child {
		border: 0;
	}
	#links li a {
		display: inline-block;
		padding: 0 20px;
		color: rgb(100,100,100);
	}
	#links li a:hover {
		color: black;
		text-decoration: underline;
	}

	/* sitemap
	----------------------------------------------- */
	
	#sitemap {
		margin: 40px 0 0;
		padding: 20px 0 30px;
		border-top: 1px solid rgb(230,230,230);
		background: url(../images/sitemap_base.png);
	}
	#sitemap a {
		color: rgb(100,100,100);
	}
	#sitemap a:hover {
		color: black;
		text-decoration: underline;
	}
	#sitemap .columns {	
		margin: auto;
		width: 960px;
	}
	#sitemap .columns div {	
		float: left;
	}
	#sitemap .colum1 {
		width: 165px;
	}
	#sitemap .colum2 {
		width: 165px;
	}
	#sitemap .colum3 {
		width: 465px;
	}
	#sitemap .colum4 {
		width: 165px;
	}
	#sitemap .columns li {
		margin: 10px 0 0;
		padding: 0 0 0 12px;
		font-size: 0.7em;
		font-weight: bold;
		background: url(../images/ic_circle01.png) no-repeat left 1px;
	}
	#sitemap .columns ul ul li {
		font-size: 1em;
		font-weight: normal;
		background: url(../images/ic_arrow01.png) no-repeat left 1px;
	}
	
	#sitemap .colum3 ul ul {
		width: 100%;
	}
	#sitemap .colum3 ul ul li {
		float: left;
		padding: 0 0 0 10px;
		width: 30%;
	}

	/* pickup
	----------------------------------------------- */

	#pickup	{
		margin: 50px 0 0;
		border-top: 1px solid rgb(220,220,220);
	}
	#pickup section {
		margin: auto;
		width: 990px;
	}
	#pickup article {
		float: left;
		margin: 40px 15px 0;
		width: 465px;
		min-height: 125px;
	}
	#pickup article.loading {
		background: url(../images/ic_synchro.gif) no-repeat 0 35px;		
	}
	#pickup h1 {
		width: 465px;
		height: 22px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/footer_title.png) no-repeat;
		overflow: hidden;
	}
	#pickup .pressrelease h1 { background-position: 0 0; }
	#pickup .popularblog h1 { background-position: 0 -44px; }
	#pickup .recruit h1 { background-position: 0 -22px; }
	#pickup .latestblog h1 { background-position: 0 -66px; }
	#pickup ul {
		margin: 5px 0 0;
	}
	#pickup li {
		font-size: 0.7em;
		white-space: nowrap;
		overflow: hidden;
		border-bottom: 1px dotted rgb(220,220,220);
	}
	#pickup li a {
		display: block;
		padding: 10px 0;
	}
	
	/* navopen
	----------------------------------------------- */

	#navopen {
		display: none;
	}

	/* location
	----------------------------------------------- */

	#location {
		position: absolute;
		top: 210px;
		left: 50%;
		margin: 0 0 0 -480px;
		width: 960px;
	}
	#location ul {
	}
	#location li {
		float: right;
		padding: 0 16px 0 5px;
		color: rgb(100,100,100);
		font-size: 0.7em;
		background: url(../images/location_grid.png) no-repeat right center;
	}
	#location li a {
		color: rgb(100,100,100);
	}
	#location li a:hover {
		text-decoration: underline;
	}
	#location li em {
		font-weight: bold;
		font-style: normal;
	}
	#location .home {
		background: url(../images/location_home.png) no-repeat right center;
	}
	
	/* location_bar
	----------------------------------------------- */

	#location_bar {
		height: 4px;
		background: url(../images/location_base.png) repeat-x;
	}
	#location_bar p {
		position: relative;
		margin: auto;
		width: 960px;
		height: 4px;
	}
	#location_bar img {
		position: absolute;
		top: 0;
		width: 0;
		height: 4px;
	}	
	
	/* intro
	----------------------------------------------- */

	#intro {
		margin: 0 auto 5px;
		width: 960px;
		height: 70px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	/* contents
	----------------------------------------------- */
	
	#contents {
		margin: auto;
		width: 960px;
		text-align: left;
	}
	#contents #main {
		float: left;
		width: 726px;
	}
	#contents #side {
		float: right;
		width: 234px;
	}

	/* side_menu
	----------------------------------------------- */

	#side_menu {
		margin: 75px 0 0;
	}
	#side_menu ul {
		border-top: 1px solid rgb(220,220,220);
		border-bottom: 1px solid rgb(220,220,220);
	}
	#side_menu li {
		border-bottom: 1px dotted rgb(220,220,220);
	}
	#side_menu li:last-child {
		border: 0;
	}
	#side_menu li a {
		display: block;
		width: 234px;
		height: 70px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	
	/* side entries */

	#side .entries {
		margin: 40px 0 0;
	}
	#side .entries > header h1 {
		width: 234px;
		height: 22px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}	
	#side .entries ul {
		padding: 5px 0 0;
	}
	#side .entries li {
		font-size: 0.8em;
		line-height: 1.5em;
		text-align: justify;
		border-bottom: 1px dotted rgb(220,220,220);
		background: url(../images/ic_arrow02.png) no-repeat 0 11px;
	}
	#side .entries li:hover,
	#side .entries .current {
		background: url(../images/ic_arrow02.png) no-repeat -800px 11px;
	}
	#side .entries li a {
		display: block;
		padding: 10px 0 9px 20px;
	}
	#side .entries .current a {
		color: rgb(230,0,20);
	}
	
	/* content
	----------------------------------------------- */

	.content {
		padding: 5px 0 0;
	}
	.content a {
		color: rgb(230,0,20);
	}
	.content a:hover {
		text-decoration: underline;
	}
	.content p {
		padding: 30px 0 0;
		font-size: 0.9em;
		text-align: justify;
		line-height: 2em;
	}
	.content .caution {
		font-size: 0.8em;
		line-height: 1.7em;
	}
	.content ul {
		margin: 25px 0 0 20px;
	}
	.content li {
		margin: 5px 0 0;
		font-size: 0.8em;
		line-height: 1.7em;
		text-align: justify;
		list-style: disc;
	}

	/* section
	----------------------------------------------- */

	#main section {
		margin: 40px 0 0;
		width: 690px;
	}
	#main section > header h1 {
		width: 690px;
		height: 35px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	#main section > h2 {
		margin: 30px 0 0;
		font-size: 0.9em;
	}

	/* entries */

	#main .entries {
		position: relative;
	}
	#main .entries .rss {
		position: absolute;
		top: 0;
		right: 0;
	}
	#main .entries .rss a {
		display: block;
		width: 39px;
		height: 14px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/b_more.png) no-repeat;
		overflow: hidden;
	}
	#main .entries .rss a:hover {
		background-position: 0 -14px;
	}	
	#main .entries ul {
		margin: 4px 0 0 0;
		width: 690px;
	}
	#main .entries li {
		position: relative;
		font-size: 0.8em;
		border-bottom: 1px dotted rgb(220,220,220);
	}
	#main .entries li a {
		display: inline-block;
		padding: 15px 0 14px 22px;
		width: 590px;
		line-height: 1em;
		vertical-align: top;
	}
	#main .entries li { background: url(../images/ic_arrow02.png) no-repeat left center; }
	#main .entries li:hover { background-position: -800px center; }
	#main .entries li time {
		position: absolute;
		top: 0;
		right: 0;
		padding: 15px 0 14px;
		width: 70px;
		color: rgb(150,150,150);
		font-size: 0.9em;
		text-align: right;
		word-break: break-all;
	}
	
	/* table */

	#main section > table {
		width: 690px;
	}
	#main section > table th,
	#main section > table td {
		padding: 10px 15px 8px;
		font-size: 0.8em;
		font-weight: normal;
		text-align: justify;
		line-height: 1.5em;
		vertical-align: top;
		border-bottom: 1px solid rgb(220,220,220);
	}
	#main section > table th {
		white-space: nowrap;
	}
	#main section > table td ul,
	#main section > table td ol {
		margin: 0 0 0 20px;
	}
	#main section > table td li {
		padding: 5px 0 0;
		font-size: 1em;
		line-height: 1.5em;
	}
	#main section > table td ul li {
		list-style: disc;
	}
	#main section > table td ol li {
		list-style: decimal;
	}
	#main section > table td .first {
		padding: 0 0 10px;
	}
	#main section > table td .first li {
		padding: 15px 0 0;
		line-height: 1.7em;
	}

	/* dl */

	#main section > dl {
		padding: 5px 0 0;
	}
	#main section > dl dt,
	#main section > dl dd {
		font-size: 0.8em;
		text-align: justify;
		line-height: 2em;
	}
	#main section > dl dt {
		margin: 25px 0 0;
		font-weight: bold;
	}
	#main section > dl dt span {
		color: rgb(100,100,100);
		font-weight: normal;
	}
	#main section > dl dd {
		padding: 10px 0 0;
	}
	#main section > dl dd a {
		color: rgb(230,0,20);
	}
	#main section > dl dd a:hover {
		text-decoration: underline;
	}

	/* detail
	----------------------------------------------- */
	
	#main #detail {
		position: relative;
		border: 1px solid rgb(220,220,220);
	}
	#main #detail > header {
		margin: 0 40px;
		padding: 95px 0 0;
	}
	#main #detail > header h1 {
		width: auto;
		height: auto;
		font-size: 1.5em;
		font-weight: normal;
		text-align: justify;
		text-indent: 0;
		white-space: normal;
		line-height: 1.5em;
		overflow: visible;
	}
	#main #detail .time {
		position: absolute;
		top: 40px;
		left: 40px;
		color: rgb(150,150,150);
		font-weight: bold;
	}
	#main #detail .sns {
		position: absolute;
		top: 38px;
		right: 5px;
	}
	#main #detail .sns li {
		float: left;
		margin: 0;
		width: 120px;
		height: 20px;
	}
	#main #detail .snsfooter {
		margin: 40px 0 0;
		padding: 20px 40px 18px;
		min-height: 23px;
		border-top: 1px solid rgb(220,220,220);
	}
	#main #detail .line {
		margin: 40px 0 0;
		text-align: center;
	}
	#main #detail .image {
		margin: 40px 40px 0;
		padding: 0 0 10px;
	}
	
	/* entry */

	#main #detail .entry {
		margin: 10px 40px 0;
	}
	#main #detail .entry a {
		color: rgb(230,0,20);
	}
	#main #detail .entry a:hover {
		text-decoration: underline;
	}
	#main #detail .entry h2 {
		margin: 40px 0 0;
		padding: 40px 0 0;
		font-size: 1em;
		text-align: justify;
		line-height: 1.5em;
		border-top: 1px dotted rgb(220,220,220);
	}
	#main #detail .entry h3 {
		margin: 40px 0 0;
		font-size: 0.9em;
		text-align: justify;
		line-height: 1.5em;
	}
	#main #detail .entry p,
	#main #detail .entry div {
		padding: 20px 0 0;
		font-size: 0.9em;
		text-align: justify;
		word-break: break-word;
		line-height: 2em;
	}
	#main #detail .entry img {
		margin: 10px 0 10px;
		max-width: 100%;
		height: auto;
	}
	#main #detail .entry iframe {
		max-width: 100%;
	}
	
	/* blockquote */
	
	#main #detail .entry blockquote {
		margin: 25px 0 5px;
		padding: 5px 30px 25px;
		border: 1px dotted rgb(220,220,220);
	}
	
	/* table */

	#main #detail .entry table {
		margin: 30px 0 0;
		border: 1px solid rgb(220,220,220);		
	}
	#main #detail .entry th,
	#main #detail .entry td {		
		padding: 10px 15px;
		font-size: 0.8em;
		text-align: justify;
		line-height: 1.5em;
		border: 1px solid rgb(220,220,220);		
	}
	#main #detail .entry thead th,
	#main #detail .entry thead td {
		background: rgb(240,240,240);
	}

	/* list */

	#main #detail .entry ul {
		margin: 18px 0 5px 20px;
	}
	#main #detail .entry ol {
		margin: 18px 0 5px 25px;
	}
	#main #detail .entry li {
		padding: 10px 0 0;
		font-size: 0.9em;
		text-align: justify;
		line-height: 1.8em;
	}
	#main #detail .entry ul li {
		list-style: disc;
	}
	#main #detail .entry ol li {
		list-style: decimal;
	}
		
}

/* mobile
----------------------------------------------- */

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

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

	#header {
		border-bottom: 5px solid rgb(220,220,220);
	}
	#header h1 {
		margin: 0 10px;
		padding: 10px 0;
	}
	#header img {
		width: 206px;
		height: 35px;
	}

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

	#footer {
		margin: 20px 0 0;
		background: rgb(100,100,100);
	}
	#footer p {
		padding: 10px 0;
		color: rgb(200,200,200);
		font-family: Arial;
		font-size: 0.5em;
		text-align: center;
	}

	/* nav
	----------------------------------------------- */

	#nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.7);
		z-index: 3;
	}
	#nav_inner {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0 0 0 -60px;
		width: 100%;
		height: 100%;
		border-right: 1px solid rgb(30,30,30);
		background: rgb(50,50,50);
	}
	#nav_inner > ul {
		margin: 0 0 0 60px;
		border-bottom: 1px solid rgb(70,70,70);
	}
	#nav_inner .blog {
		border: 0;
	}
	#nav_inner .blog > a {
		display: none;
	}
	#nav_inner li {
		font-size: 0.8em;
		font-weight: bold;
		border-top: 1px solid rgb(70,70,70);
		border-bottom: 1px solid rgb(30,30,30);
	}
	#nav_inner li li {
		font-size: 1em;
	}
	#nav_inner .home {
		background: url(../images/sp/ic_nav_home.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .about {
		background: url(../images/sp/ic_nav_about.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .service {
		background: url(../images/sp/ic_nav_service.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .pressrelease {
		background: url(../images/sp/ic_nav_pressrelease.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .publicity {
		background: url(../images/sp/ic_nav_publicity.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .recruit {
		background: url(../images/sp/ic_nav_recruit.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .spicy_watch {
		background: url(../images/sp/ic_nav_spicy_watch.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner .spicy_tech {
		background: url(../images/sp/ic_nav_spicy_tech.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#nav_inner a {
		display: block;
		color: white;
		margin: 0 15px 0 0;
		padding: 18px 0 17px 30px;
		background: url(../images/sp/ic_nav_arrow.png) no-repeat right center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}

	/* menu
	----------------------------------------------- */

	#menu {
		margin: 20px 0 0;
		border-bottom: 1px solid rgb(220,220,220);
	}
	#menu li {
		font-size: 0.8em;
		font-weight: bold;
		border-top: 1px solid rgb(220,220,220);
	}
	#menu li a {
		display: block;
		padding: 15px 0 15px 30px;
		color: rgb(100,100,100);
	}
	#menu .sitemap {
		background: url(../images/sp/ic_sitemap.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#menu .contact {
		background: url(../images/sp/ic_contact.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#menu .lang {
		background: url(../images/sp/ic_lang.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}

	/* sns
	----------------------------------------------- */

	#sns {
		margin: 20px auto 0;
		width: 154px;
	}
	#sns li {
		float: left;
		margin: 0 10px;
	}
	#sns li a {
		display: block;
		height: 12px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/sp/menu.png) no-repeat 0 0;
		overflow: hidden;
		-webkit-background-size: 82px 60px;
		-moz-background-size: 82px 60px;
		background-size: 82px 60px;
	}
	#sns .facebook a { width: 78px; background-position: 0 0; }
	#sns .rss a { width: 36px; background-position: 0 -12px; }

	/* search
	----------------------------------------------- */

	#search {
		padding: 14px 10px 17px;
		text-align: center;
		border-top: 1px solid rgb(220,220,220);
		border-bottom: 1px solid rgb(220,220,220);
	}
	#search .gsc-control-cse {
		margin: 0 auto !important;
		padding: 0 !important;
		width: 100% !important;
		height: 30px;
	}

	/* links
	----------------------------------------------- */

	#links {
		margin: 20px 0 0;
		text-align: center;
	}
	#links li a {
		display: block;
		padding: 5px 0;
		font-size: 0.7em;
		color: rgb(100,100,100);
	}

	/* sitemap
	----------------------------------------------- */
	
	#sitemap {
		display: none;
	}

	/* pickup
	----------------------------------------------- */

	#pickup	{
		display: none;
	}

	/* pageup
	----------------------------------------------- */

	#pageup {
		right: 10px;
	}

	/* navopen
	----------------------------------------------- */

	#navopen {
		position: absolute;
		top: 8px;
		right: 10px;
	}
	#navopen a {
		display: block;
		width: 40px;
		height: 40px;
		text-indent: 100%;
		white-space: nowrap;
		background: url(../images/sp/b_nav.png) no-repeat;
		overflow: hidden;
		-webkit-background-size: 40px 40px;
		-moz-background-size: 40px 40px;
		background-size: 40px 40px;
	}

	/* location
	----------------------------------------------- */

	#location {
		display: none;
	}
	
	/* location_bar
	----------------------------------------------- */

	#location_bar {
		display: none;
	}

	/* intro
	----------------------------------------------- */

	#intro {
		border-bottom: 1px solid rgb(220,220,220);
	}
	#intro h1 {
		padding: 15px 10px 14px;
		font-size: 1em;
		text-align: justify;
		line-height: 1.3em;
	}
	
	/* side_menu
	----------------------------------------------- */

	#side_menu {
		margin: 40px 0 0;
		border-top: 1px solid rgb(220,220,220);
	}
	#side_menu li {
		font-size: 0.8em;
		font-weight: bold;
		border-bottom: 1px dotted rgb(220,220,220);
		background: url(../images/sp/ic_arrow_off.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#side_menu li:last-child {
		border: 0;
	}
	#side_menu li.current {
		background: url(../images/sp/ic_arrow_on.png) no-repeat 10px center;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#side_menu li.current a {
		color: rgb(230,0,20);
	}
	#side_menu li a {
		display: block;
		padding: 20px 0 20px 30px;
	}

	/* section
	----------------------------------------------- */

	#main section {
	}
	#main section > header {
		margin: 30px 10px 0;
		padding: 0 0 10px;
		border-bottom: 1px solid rgb(230,0,20);
	}
	#main section > header h1 {
		font-size: 1.4em;
		line-height: 1.3em;
	}
	#main section > header h1 span {
		display: block;
		color: rgb(100,100,100);
		font-size: 0.7em;
		font-weight: normal;
	}
	#main section > h2 {
		margin: 30px 10px 0;
		padding: 0 0 0 8px;
		font-size: 1.2em;
		text-align: justify;
		border-left: 3px solid rgb(230,0,20);
	}

	/* content */
	
	#main section .content {
		padding: 0 0 0;
	}
	#main section .content a {
		color: rgb(230,0,20);
	}
	#main section .content p {
		margin: 0 0 -5px;
		padding: 25px 0 0;
		font-size: 1em;
		text-align: justify;
		line-height: 1.7em;
	}
	#main section .content .caution {
		font-size: 0.8em;
		line-height: 1.7em;
	}
	#main section .content ul {
		margin: 20px 0 0 25px;
	}
	#main section .content li {
		margin: 5px 0 0;
		font-size: 0.9em;
		text-align: justify;
		line-height: 1.5em;
		list-style: disc;
	}

	/* entries */

	#main section  .entries {
		margin: 0 10px;
	}
	#main section  .entries li {
		font-size: 1em;
		text-align: justify;
		line-height: 1.5em;
		border-bottom: 1px dotted rgb(220,220,220);
		background: url(../images/sp/ic_arrow_off.png) no-repeat left 18px;
		-webkit-background-size: 15px 15px;
		-moz-background-size: 15px 15px;
		background-size: 15px 15px;
	}
	#main section  .entries li a {
		display: block;
		padding: 15px 0 13px 20px;
	}
	#main section  .entries li time {
		display: none;
	}
	#main section  .entries .rss {
		display: none;
	}

	/* table */

	#main section > table {
		margin: 0 10px;
	}
	#main section > table th,
	#main section > table td {
		display: block;
		text-align: justify;
		font-size: 1em;
		line-height: 1.5em;
	}
	#main section > table th {
		padding: 25px 0 5px;
		border-bottom: 1px solid rgb(220,220,220);
	}
	#main section > table td {
		padding: 10px 0 0;
		font-size: 0.9em;
	}
	#main section > table td span {
		display: block;
		font-size: 0.9em;
	}
	#main section > table td ul,
	#main section > table td ol {
		margin: 0 0 0 25px;
	}
	#main section > table td li {
		margin: 5px 0 0;
		font-size: 1em;
		line-height: 1.5em;
	}
	#main section > table td ul li {
		list-style: disc;
	}
	#main section > table td ol li {
		list-style: decimal;
	}

	/* detail
	----------------------------------------------- */

	#main #detail {
		margin: 30px 10px 0;
	}
	#main #detail header {
		margin: 0;
		padding: 0;
		border: 0;
	}
	#main #detail header h1 {
		font-size: 1.4em;
		font-weight: normal;
		text-align: justify;
		line-height: 1.5em;
	}
	#main #detail .time {
		margin: 25px 0 0;
		color: rgb(150,150,150);
		font-size: 0.8em;
	}
	#main #detail .sns {
		margin: 30px 0 0;
		border-bottom: 1px dotted rgb(220,220,220);
	}
	#main #detail .sns li {
		padding: 10px 0;
		border-top: 1px dotted rgb(220,220,220);
	}
	#main #detail .line {
		margin: 30px 0 0;
		text-align: center;
	}
	#main #detail .snsfooter {
		display: none;
	}
	#main #detail .image {
		margin: 40px 0 0;
	}
	#main #detail .image img {
		max-width: 100%;
		height: auto;
	}

	/* entry */

	#main #detail .entry {
		margin: 10px 0 0;
	}
	#main #detail .entry a {
		color: rgb(230,0,20);
	}
	#main #detail .entry h2 {
		margin: 30px 0 0;
		padding: 30px 0 0;
		font-size: 1.2em;
		text-align: justify;
		line-height: 1.5em;
		border-top: 1px solid rgb(220,220,220);
	}
	#main #detail .entry h3 {
		margin: 20px 0 0;
		font-size: 1em;
		text-align: justify;
		line-height: 1.5em;
	}
	#main #detail .entry p,
	#main #detail .entry div {
		padding: 25px 0 0;
		font-size: 1em;
		text-align: justify;
		word-break: break-all;
		line-height: 2em;
	}
	#main #detail .entry img {
		margin: 5px 0 0;
		max-width: 100%;
		height: auto;
	}
	#main #detail .entry iframe {
		max-width: 100%;
	}

	/* blockquote */
	
	#main #detail .entry blockquote {
		margin: 25px 0 5px;
		padding: 5px 30px 25px;
		border: 1px dotted rgb(220,220,220);
	}

	/* table */

	#main #detail .entry table {
		margin: 20px 0 0;
	}
	#main #detail .entry table th,
	#main #detail .entry table td {
		padding: 10px 10px 8px;
		font-size: 0.8em;
		font-weight: normal;
		text-align: justify;
		line-height: 1.5em;
		vertical-align: top;
		border: 1px solid rgb(220,220,220);
	}
	#main #detail .entry table th {
		white-space: nowrap;
	}
	#main #detail .entry thead th,
	#main #detail .entry thead td {
		background: rgb(240,240,240);
	}

	/* list */

	#main #detail .entry ul {
		margin: 5px 0 0 20px;
	}
	#main #detail .entry ol {
		margin: 5px 0 0 25px;
	}
	#main #detail .entry li {
		padding: 10px 0 0;
		font-size: 1em;		
		text-align: justify;
		line-height: 1.8em;
	}
	#main #detail .entry ul li {
		list-style: disc;
	}
	#main #detail .entry ol li {
		list-style: decimal;
	}
		
}

/* print
----------------------------------------------- */

@media print {

	/* display
	----------------------------------------------- */
	
	#footer,
	#nav,
	#menu,
	#sns,
	#links,
	#search,
	#side,
	#pickup,
	#sitemap,
	#slidestatus,
	#opening,
	#navopen,
	#location_bar,
	#location,
	#side_menu,
	#detail .sns,
	#detail .snsfooter {
		display: none;
	}

	/* body
	----------------------------------------------- */

	body {
		color: black;
		font-size: 10pt;
		line-height: 2em;
	}
	a {
		color: black;
	}
	h1 {
		margin: 50px 0 10px;
		padding: 0 0 10px;
		font-size: 1.2em;
		font-weight: bold;
		line-height: 1.3em;
		border-bottom: 1px solid black;
	}
	p {
		margin: 20px 0 0;
		font-size: 0.8em;
		line-height: 1.5em;
	}
	img {
		margin: 10px 0;
	}
	h2 {
		margin: 30px 0 5px;
		font-size: 1em;
		line-height: 1.5em;
	}
	h3 {
		margin: 25px 0 5px;
		font-size: 1.4em;
		font-weight: normal;
		line-height: 1.5em;
	}

	/* table
	----------------------------------------------- */
	
	table {
		margin: 20px 0 0;
		width: 100%;
		border-bottom: 1px solid black;
	}
	th,td {
		padding: 5px 10px;
		font-size: 0.8em;
		text-align: left;
		vertical-align: top;
		border-top: 1px solid black;
	}
	th {
		white-space: nowrap;
	}

	/* list
	----------------------------------------------- */
	
	ul {
		margin: 15px 0 0 20px;		
	}
	ol {
		margin: 15px 0 0 25px;
	}
	li {
		padding: 5px 0 0;
		font-size: 0.9em;
		line-height: 1.5em;
	}
	ul li {
		list-style: disc;
	}
	ol li {
		list-style: decimal;
	}
	dl {
		padding: 5px 0 0;
	}
	dt,
	dd {
		font-size: 0.9em;
		line-height: 1.5em;
	}
	dt {
		margin: 15px 0 0;
		font-weight: bold;
	}
	dd {
		padding: 5px 0 0;
	}

	/* header
	----------------------------------------------- */
	
	#header h1 {
		padding: 0 0 20px;
		border-bottom: 3px solid black;
	}
	#header img {
		width: 206px;
		height: 35px;
	}

	/* intro
	----------------------------------------------- */
	
	#intro h1 {
		margin: 10px 0 10px;
	}

}
