@charset "UTF-8";
/* CSS Document */
/*================= 
ページ共通
=================== */

body {
	font-weight: normal;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:14px;
	line-height:28px;
	color: #151515;
	letter-spacing:1px;
}

a{
	color:#000000;
}

#wrapper{
	position:relative;
	overflow: hidden;
}

#wrapper .border{
	width:100%;
	height:5px;
	box-sizing:border-box;
	border-bottom:#151515 solid 5px;
	position: fixed;
    bottom: 0;
    z-index: 2000;
	}
/*======== 左サイドメニュー ======== */

#header {
	height: 100%;
    position: fixed;
    top: 0;
	left: 0;
    z-index: 999;
	color:#000000;

}

#header #logo {
	margin:0px auto 35px auto;
	width:188px;
    text-align: center;
}

#header #headerIn {
    width: 300px;
    /*height: 100%;*/
	overflow:auto;
	overflow-x : hidden ;
    background: #fff;
    position: relative;
    z-index: 999;
}

#header #headerIn .inner {
    padding-top: 35px;
	
}#header #gNavi {
    width: 200px;
	padding:0 50px;
}

#header #gNavi .navList {
    overflow: hidden;
	list-style:none;
   margin:0px;
   display:-webkit-box;
   display:-moz-box;
   display:-ms-box;
   display:-webkit-flexbox;
   display:-moz-flexbox;
   display:-ms-flexbox;
   display:-webkit-flex;
   display:-moz-flex;
   display:-ms-flex;
   display:flex;
   -webkit-box-lines:multiple;
   -moz-box-lines:multiple;
   -webkit-flex-wrap:wrap;
   -moz-flex-wrap:wrap;
   -ms-flex-wrap:wrap;
   flex-wrap:wrap;
   width:200px;

}

#header #gNavi .navList li {
    float: left;
	width:100px;
	margin-bottom:25px;
	text-align:center;
	word-wrap: break-word;
	font-size:12px;
	line-height:16px;
	font-family: 'Raleway', sans-serif;
	font-weight:700;
}



#header #gNavi .navList li a{
	display:block;	
	width:100px;
	height:auto;
	text-decoration:none;	
	}



#header #gNavi .navList li a{
	display:block;
	position:relative;
	}

/*メニューのSVGアイコンの色設定 */
#header #gNavi .navList li a svg{
	fill:#151515;
	display:block;

	}
	
	
#header #gNavi .navList li a span{
		display:block;
		margin-top:-20px;
		color:#151515;
		}

#header #gNavi .navList li a .ico_overlay{
	background-color: rgba(255,255,255,0.5);
	color:#FFF;
	padding:10px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	opacity:0;
}
#header #gNavi .navList li a .ico_overlay:hover{
	opacity:1;
}

	
/* SNS */

#header .sns{
	width:220px;
	margin:30px auto 0;
	border-top:#151515 solid 1px;
	text-align:center;
	position:relative;
	}

#header .sns .followus{
	font-family: 'Raleway', sans-serif;
	line-height:18px;
	font-size:14px;
	background-color:#fff;
	width:150px;
	position:absolute;
	top:-3px;
	left:35px;
	letter-spacing:2px;
	}

#header .sns ul{
	width:220px;
	list-style-type:none;
	border-bottom:#151515 solid 1px;
	border-top:#151515 solid 1px;
	margin-top:5px;
	overflow:hidden;
	}
	
	#header .sns ul li{
	display:inline-block;
	margin:12px 10px 5px;
		}
		
	#header .sns ul a{
	color:#151515;
	font-size:14px;
		}
	#header .sns ul a:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
		}	
	
	#header p small{
	font-size:10px;
	text-align:center;
	line-height:15px;
	margin-top:10px;
	display:block;
		}

/* コンテンツアリア　レイアウト */
#contents{
	float: right;
	width: 100%;
	margin-left: -300px;
	padding-left: 300px;
	box-sizing: border-box;
	}

/* フッター　レイアウト */
#footer{
	clear: both;
	width: 100%;
	margin-left: -300px;
	padding-left: 300px;
	box-sizing: border-box;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
	font-size: 12px;
	line-height: 20px;
	}

#footer a{
	color: #151515;
	text-decoration: none;
	}

#footer a:hover{
	text-decoration: underline;
	}

#footer #copyright{
	margin-top: 20px;
	color: #666;
	}
	
#contents section{
	width:90%;
	min-width:800px;
	max-width:1100px;
	margin:0 auto 40px;
	/*background-color:#fff;*/
	position: relative;
	border-top:#151515 solid 1px;
	}
	
	#contents section h2{
	margin:5px 0 40px;
	font-family: 'Raleway', sans-serif;
	line-height:43px;
	font-size:24px;
	border-top:#151515 solid 1px;
	border-bottom:#151515 solid 1px;
	letter-spacing:2px;
	padding-top:2px;
		}
		
	#contents section h2 span{
	font-size:12px;
	color:#626262;	
	margin-left:16px;
	vertical-align: 3px;
		}
		
#calendar{
	width:310px;
	padding-bottom:5px;
	color:#000000;
	background-color:#FFFFFF;
	font-size:10px;
	border:#000000 solid 1px;
}

#calendar .box {
    margin: 0 10px;
}
#calendar .calendarYm {
	text-align: center;
	font-size: 12px;
	border-bottom:#000000 solid 1px;
	position: relative;
	margin: 3px 0;
	padding-bottom: 3px;
}
#calendar table {
	table-layout: fixed;
	text-align: center;
	margin-top: 3px;
	font-size: 10px;
	width:100%;
}
#calendar table th {
	text-align:center;
}
#calendar table tr {
    border-bottom: solid 2px #fff;
}
#calendar table tr:first-child {
	border-bottom: solid 2px #fff;
}
#calendar table td {
    border-right: solid 2px #fff;
    padding: 0px 0;
	background:#eeeeee;
	text-align:center;
}
#calendar table .holiday {
	background-color: #f7c7c9;
}
#calendar .calPrev,
 #calendar .calNext {
	display: block;
	width: 25px;
	height: 26px;
	background-image: url(../images/common/pager.png);
	background-size: 51px auto;
	background-repeat: no-repeat;
	position: absolute;
	top: 3px;
	cursor:pointer;
}
#calendar .calNext {
	right: 0;
	background-position: right top;
}

#calendar .comment {
   background: #CCC;
    cursor: pointer;
}

/*-----------------カーソル------------------------*/
.cursor{ position:absolute; top:10px; right:0px }

.cursor span {
    padding: 2px 5px;
    display: inline;
    background-color: #000;
    border-radius: 3px;
    color: #FFF;
    font-size: 10px;
    cursor: pointer;

}

/*================= 
下層ページ共通
=================== */
	#contents.next{
    padding-top: 35px;			
	}

/* 固定ページ用スタイル（WordPress用追加） */
#contents.page {
    padding: 40px;
    padding-top: 35px;
    background: #ffffff;
    min-height: calc(100vh - 80px);
}

#contents.page .entry-header {
    border-bottom: 2px solid #151515;
    margin-bottom: 30px;
    padding-bottom: 20px;
}

#contents.page .entry-title {
    font-size: 28px;
    font-weight: bold;
    color: #151515;
    margin: 0;
    line-height: 1.4;
}

#contents.page .entry-content {
    line-height: 1.8;
    font-size: 14px;
}

#contents.page .entry-content h2 {
    font-size: 24px;
    color: #151515;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin: 40px 0 20px 0;
}

#contents.page .entry-content h3 {
    font-size: 20px;
    color: #151515;
    margin: 30px 0 15px 0;
}

#contents.page .entry-content p {
    margin: 15px 0;
}

#contents.page .entry-content ul,
#contents.page .entry-content ol {
    margin: 15px 0 15px 20px;
}

#contents.page .entry-content li {
    margin: 8px 0;
}

#contents.page .entry-content img {
    max-width: 100%;
    height: auto;
    margin: 15px 0;
}

#contents.page .page-links {
    margin: 30px 0;
    text-align: center;
}

#contents.page .page-links a {
    display: inline-block;
    padding: 8px 15px;
    margin: 0 5px;
    background: #151515;
    color: #ffffff;
    text-decoration: none;
    border-radius: 3px;
}

#contents.page .page-links a:hover {
    background: #333333;
}

/* レイアウト補助（WordPress用追加） */
#loadPageTarget {
	float: right;
	width: 100%;
	margin-left: -300px;
	padding-left: 300px;
	box-sizing: border-box;
}