@charset "UTF-8";

/*---------------------------------------------

Base CSS

for CB_panel_02
coded by d-spica at 2015-05-18
imported to "page.css"

---------------------------------------------*/

html {
	background: #FFF; /* color */
  line-height: 1.625;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
  color: #333;
}

body {
	background: url(../img/bg-dot-bk.png) repeat-x 0 100%;
}

.area-header {
	margin-bottom: 40px;
	background: url(../img/bg-dot-bk.png) 0 0;
	padding: 20px 0 0;
}

.header {
	margin: 0 auto;
/*	background-color: #1879D8;  color */
	padding: 20px 30px;
	max-width: 1140px;
	color: #FFF;
}

.header h1 {
	margin-bottom: 15px;
	font-size: 250%;
}

.header .copy {
	font-size: 125%;
	font-weight: bold;
}

.area-header nav {
	margin: 0 auto;
	background: #202327;
	padding: 0 8px;
	max-width: 1184px;
}

.area-header nav .button {
	display: none;
}

.area-header nav > ul:after {
	content: '';
	display: block;
	clear: left;
	visibility: hidden;
	height: 0;
}

.area-header nav > ul > li {
	position: relative;
	float: left;
}

.area-header nav ul a {
	display: block;
	padding: 12px 25px;
	white-space: nowrap;
	font-weight: bold;
	color: #FFF;
}

.area-header nav > ul > li:hover > a {
	background: #31353B;
}

.area-header nav > ul > li > .children {
	position: absolute;
	/* top: 50px; */
	left: 0;
	z-index: 9;
	display: none;
}

.area-header nav > ul > li > .children li {
	position: relative;
	top: 0px; 
	left: 0;
	z-index: 9;
	display: block;
}

.area-header nav > ul > li > .children .children{
	position: absolute;
	top: 0px;
	left: 100%;
	z-index: 10;
	display: none;
}

.area-header nav > ul > li > .children li:hover > .children{
	display: block;
}


.area-header nav li ul {
	position: absolute;
	top: 50px;
	left: 0;
	z-index: 9;
	display: none;
}

.area-header nav li:hover ul {
	display: block;
}

.area-header nav li li a {
	background: #31353B;
	padding: 10px 25px;
	font-weight: normal;
	color: #fff;
}

.area-header nav li li a:hover {
	color: #666;
}

.area-contents {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1200px;
}

.area-main {
	margin-right: -20px;
}

.single .area-main {
	float: left;
	margin-right: 0;
	width: 875px;
}

.area-sub {
	margin-right: -20px;
}

.single .area-sub {
	float: right;
	margin-right: 0;
	width: 285px;
}

.area-sub dl {
	float: left;
	margin: 0 20px 30px 0;
	width: 285px;
}

.single .area-sub dl {
	float: none;
	margin: 0 0 30px 0;
}

.area-sub dt {
	background: #202327;
	padding: 10px 15px;
	font-size: 113%;
	font-weight: bold;
	color: #FFF;
}

.area-sub dt span {
	font-family: monospace;
	display: none;
}

.area-sub dd {
	display: block;
	line-height: 1.3;
	padding: 15px 0;
}

.area-sub dd li {
	margin-bottom: 8px; 
}

.area-sub dd li ul {
	margin: 8px 0 0 15px;
}

.area-sub dd li span.post-date {
	display: block;
	text-align: right;
	font-size: 88%;
}

.area-sub dd iframe.twitter-timeline {
	max-width: none !important;
	width: 100% !important;
}

.area-sub dd #searchform input {
	max-width: 96%;
}

.area-sub dd #wp-calendar {
	margin: 0 auto;
	font-size: 88%;
}

.area-sub dd #wp-calendar thead,
.area-sub dd #wp-calendar tfoot,
.area-sub dd #wp-calendar tbody {
	border-top: solid 1px #999;
}

.area-sub dd #wp-calendar th,
.area-sub dd #wp-calendar td {
	padding: 3px 2px;
	text-align: center;
	font-weight: normal;
}

.area-sub dd #wp-calendar td {
	color: #999;
}

.area-sub dd #wp-calendar td a {
	color: #000;
}

.area-sub dd .fbcomments,
.area-sub dd .fb_iframe_widget,
.area-sub dd .fb_iframe_widget[style],
.area-sub dd .fb_iframe_widget iframe[style],
.area-sub dd .fbcomments iframe[style],
.area-sub dd .fb_iframe_widget span{
	width: 100% !important;
}

.nav-up {
	clear: both;
	padding: 15px 0;
}

.footer {
	margin: 0 auto;
	padding: 0 20px 30px;
	max-width: 1200px;
}

.footer .copyright {
	font-size: 10px;
}  

/* All Ground Parts */

h1, h2, h3 {
	line-height: 1.3;
}

.youtube_iframe_wrap,
.iframe_thumbnail {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin-bottom: 20px;
	display: block;
}

.youtube_iframe_wrap iframe,
.youtube_iframe_wrap object,
.youtube_iframe_wrap embed,
.iframe_thumbnail iframe,  
.iframe_thumbnail object,  
.iframe_thumbnail embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
	
.area-main em {
	font-style: italic;
}

hr {
  visibility: hidden;
  height: 0;
  clear: both;
}

a {
  color: inherit;
  text-decoration: none;
}

.area-contents a:hover {
	text-decoration: underline;
}

.area-contents a:hover img {
  filter: alpha(opacity=70);
  opacity: 0.7;
}

/*
.area-sub li a:before {
	content: "\25b6";
	margin-right: 2px;
	vertical-align: middle;
	font-size: 80%;
	color: #999;
}
*/


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

.single .area-main {
	width: 65%;
}

.single .area-sub {
	width: 32%;
}

.area-sub dl {
	margin-right: 1.7%;
	width: 31.6%;
}

.single .area-sub dl {
	width: 100%;
}

}

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

.area-header {
	background: none;
	padding: 0;
}

.header {
	background: url(../img/bg-dot-gy.png) repeat-x 0 0;
/*	background-color: #1879D8;  color */
	padding-top: 32px;
}


}

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

.single .area-main {
	float: none;
	width: auto;
}

.single .area-sub {
	float: none;
	margin-right: -20px;
	width: auto;
}

.single .area-sub dl {
	float: left;
}

.area-contents .area-sub dl {
	margin-right: 2.2%;
	width: 47.8%;
}



}

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

html {
	font-size: 15px;
}

body {
	background: none;
}

.area-header {
	position: relative;
}

.header {
	margin-bottom: 20px;
}

.header h1 {
	margin-right: 70px;
	font-size: 188%;
}

.header .copy {
	font-size: 113%;
}

.area-header nav {
	margin-bottom: 0;
	background: none;
  height: 0;
}

.area-header nav .button {
	display: block;
	position: absolute;
	top: 25px;
	right: 10px;
	background: #202327;
	padding: 15px 12px;
	height: 20px;
	text-align: center;
}

.area-header nav .button img {
	width: 26px;
	height: 20px;
	vertical-align: top;
}

.area-header nav > ul {
	position: absolute;
	top: 79px;
	left: 0;
	z-index: 9;
	margin: 0;
	width: 100%;
	display: none;
}

.area-header nav > ul > li {
	float: none;
	margin: 0 10px;
	border-bottom: solid 1px #FFF;
	background: #202327;
}

.area-header nav > ul > li:last-child {
	border-bottom: none;
}

.area-header nav > ul > li:hover > a {
	background: none;
}

.area-header nav > ul > li > .children > li > a{
	padding-left: 50px;
	font-weight: normal;
}

.area-header nav > ul > li > .children > li > .children > li a{
	padding-left: 75px;
	font-weight: normal;
}

.area-header nav > ul > li > .children > li > .children > li > .children > li a{
	padding-left: 100px;
	font-weight: normal;
}

.area-header nav > ul > li > .children {
	width:100%;
	display: block;
	position:static;
}

.area-header nav > ul > li > .children .children{
	position: static;
	z-index: 10;
	display: block;
}

.area-header nav > ul > li > .children > li > .children > li > .children > li > .children > li a{
	background: #FFF;
	padding-left: 75px;
	font-weight: normal;
}

.area-header nav li a {
	display: block;
}

.area-header nav li ul {
	display: block;
	position: static;
	margin: 0;
}

.area-header nav li li {
	margin-top: 0;
	border-top: solid 1px #FFF;
}

.area-header nav li li a {
	background: none;
	padding-left: 50px;
	font-weight: normal;
	color: #FFF;
}

.area-header nav li li a:hover {
	background: none;
}

.area-contents {
	padding: 0;
}

.area-main {
	margin-right: 0;
	padding: 0 10px;
}

.area-contents .area-sub {
	margin: 0 0 20px;
	padding: 30px 10px 0;
}

.area-contents .area-sub dl {
	float: none;
	margin-bottom: 5px;
	width: 100%;
}

.area-sub dt {
	position: relative;
}

.area-sub dt span {
	position: absolute;
	top: 7px;
	right: 15px;
	font-size: 125%;
	font-weight: normal;
}

.area-sub dt span.open,
.area-sub dt.close span.open,
.area-sub dt.open span.close {
	display: block;
}

.area-sub dt.close span.close,
.area-sub dt.open span.open {
	display: none;
}

.area-sub dd {
	display: none;
}

.nav-up {
	padding: 0;
}

.footer {
	background: none;
	text-align: center;
	padding: 10px 0;
}

}

