@charset "utf-8";

/*===== 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: 17px;
}

table {
border-collapse: separate;
border: solid 1px #228B22;
}

td, th {
border: solid 1px #228B22;
}

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: #228B22;
}

a:link{
color: #228B22;
}

a,
a::before,
a::after,
.downMenu li span,
.downMenu li span::after{
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
}

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

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

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

/* 全体設定
------------------------------------------------------------*/
body{
font: 100%/1.6 "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
color:#333;
background: #E6F9E6 url("../images/bkpattern.jpg") repeat !important;
background-size: 128px auto;
font-weight: normal;
-webkit-text-size-adjust: 100%;
letter-spacing: 0.1em;
}

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

#wrapper,
.inner{
max-width: 1120px;
margin: 0 auto;
padding: 0 20px;
}

#wrapper{
padding:20px;
}

/*=== header ===*/
#header{
width: 100%;
height: auto;
background: rgba(255, 255, 255, .9);
border-top: 2px solid #2BB42B;
box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}

#header h2{
padding: 1em 0;
}

#header h2 a{
display: inline-block;
font-weight: 600;
color: #333;
}

#header h2 a:hover{
text-decoration: none;
}

/*=== mainContent ===*/
/*--- flex ---*/
.flex{
display: -webkit-flex; /* Safari */
display: flex;
-webkit-flex-wrap: nowrap; /* Safari */
flex-wrap: nowrap;
-webkit-justify-content: space-between; /* Safari */
justify-content: space-between;
}

/*=== content ===*/
#content,
.menu_box{
background: rgba(255, 255, 255, .9);
box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
border-radius: 10px;
}

#content{
width: 74%;
padding: 40px;
}

/*--- content_header ---*/
#content_header{
width: auto;
height: auto;
}

#content_header h1{
font-size: 1.8rem;
margin-bottom: 35px;
}

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

.ratio:before{
content: "";
display: block;
padding-top: 60%;
}

#main_img .thumbnailinner{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

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

/*--- post ---*/
#post{
padding: 40px 0 0;
}

#post > *:not(h2){
margin-right: 40px;
margin-left: 40px;
}

#post > *:last-child{
padding-bottom: 20px;
}

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

/* 見出し */
#post h2,
#post h3,
#post h4{
padding: .6em .75em;
}

#post h2{
background: #E6F9E6 url("../images/bkpattern.jpg") repeat !important;
background-size: 128px auto;
color: #333;
font-size: 1.35rem;
border-radius: 10px;
box-shadow: 1px 1px 5px rgba(0, 0, 0, .1) inset;
text-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}

#post h3,
#post h4{
position: relative;
}

#post h3{
padding-left: 0;
font-size: 1.2rem;
border-bottom: 2px solid #2BB42B;
}

#post h3::after{
position: absolute;
content: "";
display: block;
top: 100%;
left: 0;
width: 30%;
height: 2px;
background: #FC5F62;
}

#post h4{
padding-left: 1em;
border-left: 8px solid #FC5F62;
}

/* list */
#post ul,
#post ol{
padding: 20px;
background: #FEF5F5;
box-shadow: 1px 1px 3px #dcdcdc;
border-radius: 10px;
}

#post li{
position: relative;
display: block;
padding: 0 .75em 0 2em;
}

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

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

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

#post ul li::after{
left: 3px;
margin-top: -1.5px;
width: 12px;
height: 12px;
background: #FDC3C4;
border: 3px solid #FC5F62;
}

#post ol{
counter-reset: olNumber;
}

#post ol li::after,
#post ol li::before{
left: 0;
width: 20px;
height: 20px;
line-height: 22px;
text-align: center;
}

#post ol li::after{
background: #FC5F62;
transform: translate(0, -50%) rotate(45deg);
}

#post ol li::before{
counter-increment: olNumber;
content: counter(olNumber) "";
left: .05em;
color: #fff;
font-size: .8rem;
font-weight: bold;
z-index: 1;
}

/*=== side_content ===*/
#side_content{
width: 24%;
}

.menu_box{
padding: 10px;
}

.menu_box + .menu_box{
margin-top: 20px;
}

.menu_box h6{
font-size: .8rem;
padding: .6em .75em;
background: #E6F9E6 url("../images/bkpattern.jpg") repeat;
background-size: 128px auto;
border-radius: 10px;
box-shadow: 1px 1px 3px rgba(0, 0, 0, .1) inset;
text-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}

/*--- downMenu ---*/
.menu_box_inner{
padding-top: 10px;
}

.downMenu li span,
.downMenu li a{
display: block;
font-size: .9rem;
padding: .6em .75em;
line-height: 1.7;
}

.menu_box li + li{
border-top: 1px dashed #ddd;
}

li.drawer-dropdown + li.drawer-dropdown{
border-top-color: #fff;
}

.drawer-bt-item{
position: relative;
color: #fff !important;
overflow: hidden;
background: #2BB42B;
}

.drawer-dropdown:first-child .drawer-bt-item{
border-radius: 10px 10px 0 0;
}

.drawer-dropdown:last-child .drawer-bt-item{
border-radius: 0 0 10px 10px;
}

.drawer-dropdown.open:last-child .drawer-bt-item{
border-radius: 0;
}

.drawer-dropdown.open .drawer-bt-item,
.drawer-bt-item:hover{
background: #30C930;
text-decoration: none !important;
}

.drawer-dropdown-menu{
background: transparent !important;
}

.drawer-dropdown-menu-item,
.drawer-dropdown-menu-item:hover{
color: #228B22 !important;
}

/* 大中小までカテゴリーがある場合 */
.cateWrap + .cateWrap{
padding-top: 20px;
}

.cateWrap span.cate{
position: relative;
display: block;
font-size: .8rem;
font-weight: 600;
color: #888;
padding: .6em .75em;
}

/*=== footer ===*/
#footer{
width: 100%;
height: 55px;
background: rgba(255, 255, 255, .9);
overflow: hidden;
box-shadow: 0 -1px 3px rgba(0, 0, 0, .1);
}

#footer .inner{
position: relative;
display: block;
width: 100%;
height: 100%;
}

#footer p{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 20px);
height: auto;
text-align: center;
line-height: 1.2;
font-size: .8rem;
color: #333;
}

/* レスポンシブ
------------------------------------------------------------*/

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

/*=== 900px以下から ===*/
@media only screen and (max-width: 900px){
	
	.inner{
	padding: 0 10px;
	}
	
	#wrapper{
	padding: 10px;
	}
	
	/*--- drawer ---*/
	.drawer-nav{
	min-height: 100vh;
	background: #E6F9E6 !important;
	}
	
	.drawer-hamburger{
	display: block !important;
	width: 55px !important;
	height: 55px !important;
	padding: 0 !important;
	background: rgba(34, 139, 34, .9) !important;
	border-radius: 10px 0 0 10px;
	box-sizing: border-box !important;
	}
	
	.drawer-hamburger-icon{
	position: absolute !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 30px !important;
	margin-top: 0 !important;
	background: #fff !important;
	}
	
	.drawer-hamburger-icon,
	.drawer-hamburger-icon::before,
	.drawer-hamburger-icon::after{
	background: #fff !important;
	height: 3px !important;
	border-radius: 3px !important;
	}
	
	.drawer-open .drawer-hamburger-icon{
	background: transparent !important;
	}
	
	.drawer-menu h3{
	height: 55px;
	line-height: 55px;
	font-size: .9rem;
	border-bottom: 1px solid #fff;
	padding: 0 10px;
	text-align: center;
	}
	
	.drawer-menu-inner{
	padding: 10px;
	}
	
	.menu_box{
	border: 1px solid #efefef;
	}
	
	.menu_box h6{
	text-align: center;
	background: #E6F9E6;
	}
	
	/*--- mainContent ---*/
	.flex{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;	
	}
	
	#content{
	width: 100%;
	padding: 20px;
	}
	
	#content_header h1{
	margin-bottom: 20px;
	}
	
	#post{
	padding: 20px 0 0;
	}
	
	#post > *:not(h2) {
	margin-right: 20px;
	margin-left: 20px;
	}
	
	#post > * + *{
	margin-top: 2em;
	}
	
	#post > *:last-child{
	padding-bottom: 15px;
	}
	
	/*--- side_content ---*/
	#side_content{
	display: none;
	}
	
}

/*=== 800px以下から ===*/
@media only screen and (max-width: 800px){
	
	html{
	font-size: 15px;
	}
	
	#content_header h1{
	font-size: 1.5rem;
	}
	
}