@charset "UTF-8";
/* CSS Document */

/*===== reset css =====
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
=======================*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

body {
line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;   
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}

/*=== その他リセット ===*/
html{
font-size: 16.5px;
}

table {
border-collapse: separate;
width: 100%;
}

ul,
ol{
list-style: none;
}

/*=== リンク設定===*/
a{
margin: 0;
padding: 0;
text-decoration: none;
outline: 0;
vertical-align: baseline;
background: transparent;
font-size: 100%;
font-weight: 600;
color: #359956;
}

a:link{
color: #359956;
}

a,
a::before,
a::after,
span{
-webkit-transition: 0.2s;
-moz-transition: 0.2s;
-o-transition: 0.2s;
-ms-transition: 0.2s;
transition: 0.2s;
}

a:hover,
a:active{
text-decoration: underline;
}

/*a:visited{
color: #A042F7;
}*/

/*--- Clearfix ---*/
.clearfix::after {
content: '';
display: block;
clear: both;
}

/*=== 全体 ===*/
body{
font: 100%/1.7 'Lucida Grande', 'HiraKakuProN-W3', 'Hiragino Kaku Gothic ProN', '\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3', 'Hiragino Kaku Gothic Pro', '\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3', Meiryo, '\30E1\30A4\30EA\30AA', sans-serif;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
color:#333;
background: rgba(236, 248, 240, .8) url("../images/bk_pattern.jpg") repeat;
background-size: 128px auto;
-webkit-text-size-adjust: 100%;
}

body *,
body *::before,
body *::after{
box-sizing: border-box;
}

#wrapper{
position: relative;
max-width: 1080px;
width: 100%;
margin: 0 auto;
}

.flex{
display: -webkit-flex; /* Safari */
display: flex;
-webkit-flex-wrap: wrap; /* Safari */
flex-wrap: wrap;
}

/*=== header ===*/
#header{
margin-bottom: 15px;
padding: 15px 0;
border-bottom: 1px solid #41BD6A;
}

#header h2 a{
display: inline-block;
color: #333;
font-size: 1rem;
text-decoration: none;
}

/*=== mainContent ===*/
#contentWrap{
width: 100%;
}

/*--- content ---*/
#content{
position: relative;
width: 70%;
background: #fff;
border-radius: 10px 0 0 10px;
}

#content_header{
position: absolute;
display: block;
left: -15px;
transform: translate(0, -50%);
width: 100%;
height: auto;
padding: 25px;
background: rgba(255, 255, 255, .9);
box-shadow: 3px 3px 5px rgba(0, 0, 0, .1);
border-radius: 0 10px 10px 0;
z-index: 1;
}

#content_header::after{
position: absolute;
display: block;
content: "";
top: 100%;
left: 0;
border: 7.5px solid transparent;
border-right-color: #359956;
border-top-color: #359956;
}

#content_header h1{
line-height: 1.5;
font-size: 1.8rem;
color: #333;
}

#main_img{
position: relative;
width: 100%;
height: auto;
overflow: hidden;
border-radius: 10px 0 0 0;
}

#main_img::before{
content: "";
display: block;
padding-top: 60%;
}

.main_img_inner{
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}

#main_img img{
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-width: 110%;
height: auto;
vertical-align: bottom;
}

/*--- post ---*/
#post{
padding: 25px;
}

#post > * + *{
margin-top: 30px;
}

/* 見出し */
#post h2,
#post h3,
#post h4{
position: relative;
font-weight: 600;
}

#post h2{
padding: .5em .75em;
font-size: 1.7rem;
background: #67CA88;
color: #fff;
border-radius: 10px;
}

#post h3{
padding: .5em .75em;
font-size: 1.4rem;
border-left: 6px solid #67CA88;
border-bottom: 2px solid #efefef;
}

#post h4{
position: relative;
display: inline-block;
padding: .5em .75em .5em 0;
background: #efefef;
border-radius:0 10px 10px 0;
}

#post h4::after{
position: absolute;
content: "";
display: block;
top: 0;
left: -25px;
width: 25px;
height: 100%;
background: #efefef;
}

/* リスト */
#post ul,
#post ol{
padding: 25px;
border: 1px solid #ccc;
border-radius: 10px;
}

#post li{
position: relative;
display: block;
}

#post li + li{
margin-top: 1em;
}

#post li::after,
#post li::before{
position: absolute;
content: "";
display: block;
top: 50%;
left: 0;
transform: translate(0, -50%);
text-align: center;
}

#post ul li{
padding-left: 1.7em;
}

#post ul li::before{
left: 0;
width: 10px;
height: 10px;
margin-top: -1px;
background: #dcdcdc;
border: 2px solid #666;
border-radius: 100%;
}

#post ol{
counter-reset: olNum;
}

#post ol li{
padding-left: 2.5em;
}

#post ol li::after,
#post ol li::before{
width: 23px;
height: 23px;
line-height: 23px;
}

#post ol li::after{
background: #666;
border-radius: 100%;
}

#post ol li::before{
counter-increment: olNum;
content: counter(olNum) "";
margin-left: -.1px;
font-size: .85rem;
font-weight: bold;
color: #dcdcdc;
z-index: 1;
}

/*--- sidebar ---*/
#sidebar{
width: 30%;
padding: 15px;
background: rgba(255, 255, 255, .4);
border-radius:  0 10px 10px 0;
}

#sidebar .sidebarMenu h5{
font-size: 1rem;
text-align: center;
margin-bottom: 30px;
}

.menuWrap + .menuWrap{
margin-top: 2em;
}

#sidebar .sidebarMenu h6,
#sidebar .sidebarMenu span.h7,
#sidebar .sidebarMenu a{
display: block;
padding: .5em 0;
}

#sidebar .sidebarMenu h6{
text-align: center;
}

.menuWrapInner{
padding: 15px;
background: rgba(255, 255, 255, .8);
border-radius: 10px;
}

#sidebar .sidebarMenu span.h7{
position: relative;
padding-left: 1.5em;
font-size: .85rem;
font-weight: bold;
}

#sidebar .sidebarMenu ul + span.h7{
margin-top: 2em;
}

#sidebar .sidebarMenu span.h7::after{
position: absolute;
content: "";
display: block;
top: 50%;
left: 0;
transform: translate(0, -50%) rotate(-45deg);
margin-left: -4px;
width: 0;
height: 0;
border: 4px solid transparent;
border-right-color: #999;
border-bottom-color: #999;
}

.menuWrapInner > span.h7 + ul{
display: block;
overflow: hidden;
border-radius: 10px;
}

.menuWrap ul li + li{
border-top: 1px solid #fff;
}

#sidebar .sidebarMenu li.dropdown > span{
display: block;
padding: .5em .75em;
background: #359956;
color: #fff;
cursor: pointer;
}

#sidebar .sidebarMenu li.dropdown > span:hover,
#sidebar .sidebarMenu li.dropdown.collapsable > span{
background: rgba(53, 153, 86, .7);
}

/*--- footer ---*/
#footer{
font-size: .85rem;
margin-top: 15px;
padding: 15px 0;
border-top: 1px solid #41BD6A;
text-align: right;
}

/* 1110px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1110px){
	
	#wrapper{
	padding: 0 15px;
	}
	
}

/* 901px以上
------------------------------------------------------------*/
@media only screen and (min-width: 901px){
	
	/*--- drawer ---*/
	.drawer-hamburger{
	display: none !important;
	}
	
	.drawer-nav{
	top: 0 !important;
	}
	
	a.bt{
	display: none;
	}
	
}

/* 900px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 900px){

	#wrapper{
	padding: 55px 0 10px;
	}
	
	#header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 55px;
	padding-left: 10px;
	margin-bottom: 0;
	background: #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
	z-index:4;
	}
	
	#header .button{
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	width: 55px;
	height: 55px;
	padding: 5px 8px;
	background: rgba(53, 153, 86, .9);
	z-index: 4;
	}
	
	a.bt{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	}
	
	a.bt span{
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	}
	
	a.bt span.icon{
	top: 12px;
	}
	
	a.bt span.icon,
	a.bt span.icon::after,
	a.bt span.icon::before{
	height: 2px;
	background: #fff;
	}
	
	a.bt span.icon::after,
	a.bt span.icon::before{
	position: absolute;
	display: block;
	content: "";
	left: 0;
	width: 100%;
	}
	
	a.bt span.icon::after{
	top: -8px;
	}
	
	a.bt span.icon::before{
	bottom: -8px;
	}
	
	a.bt span.text{
	bottom: 0;
	font-size: .72rem;
	height: auto;
	text-align: center;
	}
	
	/*--- mainContent ---*/
	#contentWrap{
	padding: 15px;
	}
	
	#content,
	#sidebar{
	width: 100%;
	}
	
	#content{
	border-radius: 10px;
	}
	
	#content_header,
	#post,
	#post ul, #post ol{
	padding: 15px;
	}
	
	#main_img{
	border-radius: 10px 10px 0 0;
	}
	
	#sidebar{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	min-height: 100vh;
	padding: 65px 10px 10px;
	background: rgba(198, 235, 210, 1);
	overflow-x: hidden;
	overflow-y: scroll;
	z-index: 3;
	}
	
	#sidebar.open{
	animation: show .2s linear 0s;
	}
	
	#footer{
	margin-top: 0;
	padding: 15px 15px 5px 0;
	}
	
}

/* 800px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 800px){
	
	html{
	font-size: 14.5px;
	}
	
}

/* 表示・非表示アニメーション */
@keyframes show{
	from{
	opacity: 0;
	}
	to{
	opacity: 1;
	}
}