@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: 16px;
}

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;
}

a:link{
color: #F2600C;
}

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: rgba(242, 96, 12, .3);
}

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

/* 全体設定
------------------------------------------------------------*/
body{
font: 100%/1.5 "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", arial, sans-serif;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
color:#333;
font-weight: normal;
-webkit-text-size-adjust: 100%;
letter-spacing: 0.1em;
}

body.back{
background: linear-gradient(left 45deg, #FFD6BC, #F2FFBC) !important;
background: -moz-linear-gradient(left 45deg, #FFD6BC, #F2FFBC);
background: -webkit-gradient(linear, left top, right bottom, from(#FFD6BC), to(#F2FFBC));
}

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

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

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

#header .inner,
#header h2{
width: 100%;
height: 100%;
}

#header h2{
position: relative;
}

#header h2 a{
position: absolute;
display: block;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
text-align: center;
font-weight: 600;
color: #333;
}

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

/*=== mainContent ===*/
#contentWrap{
width: 100%;
height: auto;
padding: 20px 0;
}

/*--- 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: #fff;
border-top: 5px solid #F2600C;
box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}

#content{
position: relative;
width: 74%;
}

/*--- content_header ---*/
#content_header{
position: absolute;
display: inline-block;
top: 20px;
left: -20px;
width: calc(100% - 20px);
height: auto;
padding: 15px 20px;
z-index: 2;
background: rgba(255, 255, 255, .9);
box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}

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

#content_header h1{
font-size: 1.6rem;
}

.postWrap{
padding: 10px; 
}

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

.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: 10px 0;
}

#post > *{
padding: 0 20px;
}

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

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

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

#post h2{
position: relative;
background: rgba(242, 96, 12, .5);
color: #fff;
font-size: 1.35rem;
}

#post h2::before{
position: absolute;
content: "";
display: block;
top: 0;
right: 0;
width: 0;
height: 0;
border: 15px solid #fff;
border-bottom-color: #F69054;
border-left-color: #F69054;
box-shadow: -1px 1px 3px rgba(0, 0, 0, .1);
}

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

#post h3{
font-size: 1.2rem;
border-bottom: 2px dashed #F69054;
}

#post h3::before,
#post h4::before{
position: absolute;
content: "";
display: block;
}

#post h3::before{
bottom: 0;
left: 0;
margin-bottom: -2px;
width: 30%;
height: 100%;
border-bottom: 2px solid #F69054;
}

#post h4{
padding-left: 3em;
}

#post h4::before{
top: 50%;
left: .75em;
width: 20px;
transform: translate(0, -50%);
height: 20px;
background: #F69054;
border-radius: 100%;
}

/* list */
#post ul,
#post ol{
padding: 20px;
background: rgba(242, 96, 12, .05);
box-shadow: 1px 1px 3px #dcdcdc;
border-top: 1px solid #F69054;
border-bottom: 1px solid #F69054;
}

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

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

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

#post ul li::after{
left: 5px;
width: 10px;
height: 10px;
background: transparent;
border: 2.5px solid #F69054;
border-radius: 100%;
}

#post ol{
counter-reset: olNumber;
}

#post ol li::after,
#post ol li::before{
left: 0;
width: 20px;
height: 20px;
}

#post ol li::after{
background: #F69054;
transform: translate(0, -50%);
border-radius: 3px;
}

#post ol li::before{
counter-increment: olNumber;
content: counter(olNumber) "";
z-index: 1;
margin-left: .1em;
text-align: center;
line-height: 20px;
color: #fff;
font-size: .8rem;
}

/*=== ページ内目次 ===*/
#toc{
width: 50%;
padding: 1em;
background: #fff;
border-radius: 7px;
border: 1px solid #eee;
box-shadow: 1px 1px 5px rgba(0, 0, 0, .1);
}

#toc ol li{
list-style: none;
padding-left: 0;
}

#toc ol li::before,
#toc ol li::after{
display: none;
}

#toc ol li a{
position: relative;
display: block;
padding: 0 0 0 calc(50px + .75rem);
}

#toc ol li a::before{
position: absolute;
display: block;
top: .2em;
left: 0;
width: 50px;
height: 20px;
line-height: 20px;
background: #333;
color: #fff;
font-size: .9em;
text-align: center;
letter-spacing: 0;
border-radius: 3.5px;
z-index: 2;
}

/* 大見出し */
#toc ol{
counter-reset: contentNum;
}

#toc ol li.toc-h2 a::before{
content: counter(contentNum) "";
counter-increment: contentNum;
}

/* 中見出し */
#toc ol li.toc-h2{
counter-reset: subContNum;
}

#toc ol li.toc-h3 a::before,
#toc ol li.toc-h4 a::before{
white-space: nowrap;
color: #333;
}

#toc ol li.toc-h3 a::before{
counter-increment: subContNum;
content: counter(contentNum) "-" counter(subContNum) "";
background: #ddd;
}

/* 小見出し */
#toc ol li.toc-h3{
counter-reset: section;
}

#toc ol li.toc-h4 a::before{
counter-increment: section;
content: counter(contentNum) "-" counter(subContNum) "-" counter(section) "";
background: #eee;
}

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

.menu_box{
position: relative;
padding: 55px 10px 10px;
}

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

.menu_box h6{
position: absolute;
display: inline-block;
top: 10px;
left: -10px;
font-size: .8rem;
color: #fff;
padding: .5em .75em;
background: rgba(51, 51, 51, .9);
}

.menu_box h6::after{
position: absolute;
display: block;
content: "";
top: 100%;
left: 0px;
width: 0;
height: 0;
border: 5px solid transparent;
border-right-color: #999;
border-top-color: #999;
}

/*--- downMenu ---*/
.menu_box_inner{
border-top-color: #333;
}

.downMenu li span,
.downMenu li a{
display: block;
font-size: .9rem;
padding: .5em .75em;
line-height: 1.7;
border-bottom: solid 1px;
}

.drawer-bt-item{
position: relative;
padding-left: 2.3em !important;
color: #333 !important;
overflow: hidden;
border-radius: 7px;
}

.drawer-bt-item::after{
position: absolute;
content: "";
display: block;
top: 50%;
left: 10px;
transform: translate(0, -50%);
width: 11px;
height: 11px;
border: 2.5px solid #F69054;
border-radius: 100%;
box-sizing: border-box;
}

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

.drawer-dropdown.open .drawer-bt-item::after,
.drawer-bt-item:hover::after{
left: 8px;
width: 14px;
height: 14px;
}

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

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

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

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

/*=== footer ===*/
#footer{
width: 100%;
height: 60px;
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: 60px;
}

#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;
}

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

/*=== 1140px以下から ===*/
@media only screen and (max-width: 1140px){
	
	#wrapper, .inner {
	padding: 0 30px;
	}
	
}

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

/*=== 900px以下から ===*/
@media only screen and (max-width: 900px){
	
	#wrapper,
	.inner{
	padding: 0 10px;
	}
	
	#header h2 a{
	font-size: .9rem;
	line-height: 1.2;
	}
	
	/*--- drawer ---*/
	.drawer-nav{
	z-index: 5 !important;
	background: #fff !important;
	}
	
	.drawer-hamburger{
	display: block !important;
	top: 60px !important;
	width: 60px !important;
	height: 60px !important;
	padding: 0 !important;
	background: rgba(242, 96, 12, .8) !important;
	box-sizing: border-box !important;
	z-index: 6 !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: 60px;
	line-height: 60px;
	text-align: center;
	border-bottom: 1px solid #efefef;
	}
	
	.drawer-menu-inner{
	padding: 10px;
	}
	
	.menu_box{
	border-right: 1px solid #efefef;
	border-left: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
	}
	
	/*--- mainContent ---*/
	.flex{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;	
	}
	
	#contentWrap{
	padding: 10px 0;
	}
	
	#content{
	width: 100%;
	}
	
	#content_header{
	left: -10px;
	width: calc(100% - 80px);
	}
	
	#content_header::after{
	border-width: 5px;
	}
	
	#post{
	padding: 20px 0 0;
	}
	
	#post > *{
	padding: 0 10px;
	}
	
	#post > *:last-child{
	padding-bottom: 10px;
	}
	
	/*--- side_content ---*/
	#side_content{
	display: none;
	}
	
	#toc{
	width: 100%;
	padding: 1em;
	background: #fff;
	border-radius: 7px;
	border: 1px solid #eee;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, .1);
	}

}

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