@charset "UTF-8";

/*---------------------------------------------

Base CSS

for CB_hard_01
coded by d-spica at 2015-04-24
imported to "page-type.css"

---------------------------------------------*/

html {
/*	background: #38A89C;  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: #FFF url(../img/bg-body.png);
}

#page {
	position: relative;
}

.area-header {
/*	background: #38A89C;  color */
}

.area-header nav {
	margin: 0 auto;
	background: url(../img/bg-slash.png) no-repeat 0 100%;
	padding: 30px 0 50px;
	max-width: 1350px;
}

.area-header nav .button {
	display: none;
}

.area-header nav > ul {
	margin: 0 auto;
	max-width: 1100px;
}

.area-header nav > ul:after {
	content: '';
	display: block;
	clear: left;
	visibility: hidden;
	height: 0;
}

.area-header nav > ul > li {
	position: relative;
	float: left;
	margin: 0 2px 10px 0;
}

.area-header nav ul a {
	display: block;
	padding: 12px 25px;
	background: #FFF;
	white-space: nowrap;
	font-weight: bold;
}

.area-header nav > ul > li > a:hover {
	background: #DDD;
}

.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: -2px;
	left: 101%;
	z-index: 10;
	display: none;
}

.area-header nav > ul > li > .children li:hover> .children{
	display: block;
}

.area-header nav li:hover > .children {
	display: block;
}

.area-header nav li li {
	margin-top: 2px;
}

.area-header nav li li a {
	background: #000;
	background: rgba(0,0,0,0.9);
	color: #FFF;
}

.area-header nav li li a:hover {
	color: #999;
}

.area-eyecatch {
	position: relative;
	z-index: 1;
	margin: -40px auto -80px;
	max-width: 1240px;
}

.area-eyecatch figure {
	margin: 0 20px;
	-webkit-box-shadow: 0 0 7px rgba(0,0,0,0.2);
	-ms-box-shadow: 0 0 7px rgba(0,0,0,0.2);
	box-shadow: 0 0 7px rgba(0,0,0,0.2);
	background: #FFF;
	padding: 8px
}

.area-contents {
	position: relative;
	z-index: 1;
	margin: -40px auto;
	-webkit-box-shadow: 0 0 7px rgba(0,0,0,0.2);
	-ms-box-shadow: 0 0 7px rgba(0,0,0,0.2);
	box-shadow: 0 0 7px rgba(0,0,0,0.2);
	max-width: 1100px;
}

.area-contents.sidebar-left {
	background: url(../img/bg-slash.png) no-repeat -297px 15px;
/*	background-color: #38A89C;  color */
}

.area-contents.sidebar-right {
	background: url(../img/bg-slash.png) no-repeat 100% 15px;
/*	background-color: #38A89C;  color */
}

.box-contents {
	background: #FFF;
}

.sidebar-left .box-contents {
	margin-left: 30px;
}
	
.sidebar-right .box-contents {
	margin-right: 30px;
}

.area-main {
  width: 66%;
}

.sidebar-left .area-main {
  float: right;
}

.sidebar-right .area-main {
  float: left;
}

.area-sub {
  width: 32%;
}

.sidebar-left .area-sub {
  float: left;
	margin-left: -30px;
}

.sidebar-right .area-sub {
  float: right;
	margin-right: -30px;
}

.area-sub dl {
	margin-bottom: 30px;
}

.area-sub dt {
	margin-bottom: 12px;
	border-bottom: solid 3px;
/*	border-color: #38A89C;  color */
	background: #FFF;
	font-size: 113%;
	font-weight: bold;
}

.sidebar-left .area-sub dt {
	padding: 3px 0 0 30px;
}

.sidebar-right .area-sub dt {
	padding: 3px 30px 0 0;
}

.area-sub dt span {
	font-family: monospace;
	display: none;
}

.area-sub dd {
	line-height: 1.3;
	display: block;
}

.sidebar-left .area-sub dd {
	margin-left: 40px;
}

.sidebar-right .area-sub dd {
	margin-right: 40px;
}

.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;
	background: #FFF;
	padding: 30px 120px;
}

.sidebar-left .nav-up {
	margin-left: -30px;
}

.sidebar-right .nav-up {
	margin-right: -30px;
}

.area-footer {
/*	background: #38A89C;  color */
}

.footer {
	margin: 0 auto;
	max-width: 1260px;
	background: url(../img/bg-slash.png) no-repeat 100% -100px;
	padding: 110px 0 30px;
}

.footer .copyright {
	text-align: center;
	font-size: 10px;
	color: #FFF;
}  

/* 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;
}


@media screen and (max-width: 1240px) {

.area-header nav > ul {
	margin: 0 5.6%;
}

.area-eyecatch figure {
	margin: 0 1.6%;
}

.area-contents {
	margin: -40px 5.6%;
}

}

@media screen and (max-width: 980px) {

.area-contents .box-contents {
	margin-left: 0;
	margin-right: 0;
}

.area-contents .area-main {
	float: none;
	padding: 0 6.7%;
	width: auto;
}

.area-contents .area-sub {
	float: none;
	margin: 50px 0 0;
	padding-left: 6.7%;
	width: auto;
}

.area-sub dl {
	float: left;
	width: 43%;
}

.area-sub dl {
	margin: 0 7% 30px 0;
}

.sidebar-left .area-sub dt {
	padding-left: 0;
}

.sidebar-right .area-sub dt {
	padding-right: 0;
}

.sidebar-left .area-sub dd {
	margin-left: 0;
}

.sidebar-right .area-sub dd {
	margin-right: 0;
}

.area-sub li a:before {
	content: "\25b6";
	margin-right: 2px;
	vertical-align: middle;
	font-size: 80%;
	color: #999;
}

.area-sub dd #searchform input {
	max-width: 56%;
}

.area-sub dd #wp-calendar th,
.area-sub dd #wp-calendar td {
	padding: 3px 4px;
}

.area-contents .nav-up {
	margin-left: 0;
	margin-right: 0;
	padding: 5px;
}

}

@media screen and (max-width: 680px) {

html {
	font-size: 15px;
}

.area-header {
	height: auto;
}

.area-header nav {
	position: relative;
	z-index: 9;
	background: url(../img/bg-slash.png) no-repeat 0 100%;
	-webkit-background-size: 220px auto;
	-ms-background-size: 220px auto;
	background-size: 220px auto;
	padding: 0;
    height: 50px;
}

.area-header nav .button {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: #FFF;
	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: 49px;
	left: 0;
	margin: 0;
	width: 100%;
	display: none;
	border-bottom: none;
	background: url(../img/bg-shadow-b.png) repeat-x 0 100%;
	padding-bottom: 7px;
}

.area-header nav > ul > li {
	float: none;
	margin: 0;
	border-bottom: solid 1px #999;
}


.area-header nav li a {
	display: block;
}

.area-header nav li .children {
	display: block;
	position: static;
	margin: 0;
}

.area-header nav li li {
	margin-top: 0;
	border-top: solid 1px #999;
}

.area-header nav > ul > li > .children > li > a{
	padding-left: 50px;
}

.area-header nav > ul > li > .children > li > .children > li a{
	padding-left: 75px;
}


.area-header nav > ul > li > .children > li > .children > li > .children > li a{
	padding-left: 100px;
}

.area-header nav li li a {
	background: #FFF;
	font-weight: normal;
	color: #333;
}

.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 li li a:hover {
	background: #DDD;
}

.area-eyecatch {
	position: static;
	margin: 0;
}

.area-eyecatch figure {
	margin: 0;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
	padding: 0;
}

.area-contents {
	position: static;
	margin: 0;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
}

.area-contents .area-main {
	border-top: solid 1px #CCC;
	padding: 20px;
}

.area-contents .area-sub {
	overflow: hidden;
	margin: 0;
	background: url(../img/bg-slash.png) no-repeat 100% 100%;
	-webkit-background-size: 220px auto;
	-ms-background-size: 220px auto;
	background-size: 220px auto;
/*	background-color: 	#38A89C;  color */
	padding: 20px 20px 76px;
}

.area-sub dl {
	float: none;
	margin: 0 0 5px;
	background: #FFF;
	width: auto;
}

.area-sub dt {
	position: relative;
	margin-bottom: 0;
	border-bottom: none;
	text-align: center;
}

.area-contents .area-sub dt {
	padding: 10px 16% 10px 15px;
}

.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 {
	border-top: solid 1px #CCC;
	padding: 10px;
	display: none;
}

.nav-up {
	position: absolute;
	bottom: 76px;
	left: 0;
	background: none;
	padding: 30px 0 0;
	width: 100%;
	text-align: center;
	display: none;
}

.area-footer {
	position: absolute;
	bottom: 0;
	left: 0;
	background: none !important;
	width: 100%;
}

.footer {
	background: none;
	padding: 30px 0;
}

}

