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

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: 500;
color: #EA7954;
}

a:link{
color: #EA7954;
}

a,
a::before,
a::after,
.side_menu ul 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: #551a8b;
}*/

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

/* 全体設定
------------------------------------------------------------*/
body{
font: 100%/1.7 -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
color:#333;
background: #FDECE7;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
letter-spacing: 0.1em;
}

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

#wrapper{
max-width: 1200px;
height: auto;
margin: 0 auto;
padding: 20px;
}

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

/*=== header ===*/
#header h2{
padding-bottom: 1em;
margin-bottom: 20px;
border-bottom: 2px solid #F7A187;
text-align: left;
}

#header h2 a{
font-size: 1rem;
font-weight: bold;
color: #333;
text-decoration: none;
}

/*--- slider ---*/
.bx-wrapper{
margin-bottom: 20px !important;
border: hidden !important;
border-radius: 5px;
background: rgba(0, 0, 0, .3) !important;
box-shadow: 1px 1px 5px rgba(0, 0, 0, .3) !important;
overflow: hidden;
}

.main_img,
.postTopImg{
position: relative;
width: 100%;
height: auto;
overflow: hidden;
}

.main_img::before{
content: "";
display: block;
padding-top: 30%;
}

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

.main_img a{
display: block;
position: relative;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.main_img img,
.postTopImg img{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
max-width: 100%;
height: auto;
vertical-align: bottom;
}

.bx-wrapper .bx-caption{
background: rgba(0, 0, 0, .7) !important;
}

.bx-wrapper .bx-caption span{
font-size: .85rem !important;
font-weight: 500;
padding: .5em .75em !important;
font-family: inherit !important;
}

.bx-prev,
.bx-next{
position: relative;
background: none !important;
width: auto !important;
height: auto !important;
margin-top: 0 !important;
transform: translate(0, -50%);
}

.bx-prev::before,
.bx-next::before{
position: absolute;
content: "";
display: block;
top: 0;
width: 30px !important;
height: 30px !important;
transform: rotate(-45deg);
}

.bx-prev::before {
left: 20px;
border-left: 3px solid #fff;
border-top: 3px solid #fff;
}

.bx-next::before {
right: 20px;
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
}

.bx-prev:hover::before,
.bx-next:hover::before{
opacity: .8;
}

#bx-pager ul{
width: 20%;
height: auto;
margin: 0 auto;
}

#bx-pager li{
display: block;
width: calc(50% - 10px);
height: auto;
margin-right: 10px;
background: rgba(0, 0, 0, 1);
box-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
border-radius: 5px;
overflow: hidden;
}

#bx-pager li:last-child{
margin-right: 0;
margin-left: 10px;
}

#bx-pager li a{
width: auto;
height: auto;
display: block;
}

#bx-pager li a.active img{
opacity: .8;
}

#bx-pager li img{
max-width: 100%;
height: auto;
vertical-align: bottom;
}

.bx-wrapper .bx-controls-direction a{
z-index: 2 !important;
}

/*=== mainContent ===*/
#wrapper_inner{
margin: 20px 0 40px;
}

/*--- sideContent ---*/
.side{
width: 20%;
}

#left_content{
padding-right: 20px;
}

#right_content{
padding-left: 20px;
}

.side_menu > ul{
background: #fff;
border-radius: 5px;
box-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
overflow: hidden;
}

.side_menu ul + ul{
margin-top: 40px;
}

.side_menu ul li + li{
border-top: 1px solid #eee;
}

.side_menu ul li.menu_title + li{
border-top: hidden;
}

.menu_title,
.side_menu ul li span,
.side_menu ul li a{
padding: .5em .75em;
}

.menu_title{
background: #333;
font-size: .8rem;
font-weight: bold;
text-align: center;
color: #fff;
}

.side_menu ul li span,
.side_menu ul li a{
display: block;
font-size: .9rem;
}

.side_menu ul li span{
position: relative;
padding-left: 1.9em;
cursor: pointer;
}

.side_menu ul li > span{
background: #F7A187;
}

.side_menu ul li > span:hover{
background: rgba(247, 161, 135, .8);
}

.side_menu ul li li > span{
background: #FAC6B7;
}

.side_menu ul li li > span:hover{
background: rgba(250, 198, 183, .8);
}

.side_menu ul li span::after{
content: "";
position: absolute;
display: block;
top: 50%;
left: 10px;
width: 9px;
height: 9px;
border: 2px solid transparent;
border-right-color: #EA7954;
border-bottom-color: #EA7954;
transform: translate(0, -50%) rotate(-45deg);
}

.side_menu ul li span:hover::after{
left: 13px;
}

/*--- content ---*/
#content{
width: 80%;
padding: 20px;
border-radius: 5px;
overflow: hidden;
box-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
background: #fff;
}

#content_header h1{
font-size: 2rem;
line-height: 1.5;
padding-bottom: 20px;
}

.postTopImg{
border-radius: 5px;
}

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

#post{
padding: 20px 0;
}

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

#post > *:not(h2):not(h3):not(h4){
padding-right: 20px;
padding-left: 20px;
}

/* 見出し */
#post h2,
#post h3,
#post h4{
position: relative;
font-weight: bold;
line-height: 1.5;
padding: .5em 20px;
}

#post h2{
font-size: 1.7rem;
border-left: 6px solid #F7A187;
background: #FAC6B7;
}

#post h3{
font-size: 1.4rem;
border-bottom: 1px solid #ccc;
}

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

#post h3::before{
bottom: -1px;
left: 0;
width: 30%;
height: 1px;
background: #F7A187;
}

#post h4{
color: #666;
font-size: 1rem;
}

#post h4::after{
top: 0;
left: 0;
width: 2px;
height: 100%;
background: #ccc;
}

/* リスト */
#post ol,
#post ul{
padding: 20px;
background: rgba(239, 239, 239, .5);
border-radius: 5px;
}

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

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

#post ul li{
padding: 0 0 0 25px;
}

#post li::after,
#post li::before{
position: absolute;
content: "";
display: block;
top: 0;
left: 0;
text-align: center;
}

#post ul li::before{
width: 6px;
height: 1.6em;
background: #ccc;
border-radius: 5px;
}

#post ol{
counter-reset: olNum;
}

#post ol li{
padding: 0 0 0 40px;
}

#post ol li::after,
#post ol li::before{
width: 20px;
height: 100%;
}

#post ol li::after{
background: #ccc;
border-radius: 5px;
}

#post ol li::before{
counter-increment: olNum;
content: counter(olNum) "";
top: 50%;
transform: translate(0, -50%);
height: 20px;
line-height: 20px;
margin-left: .05em;
font-size: .8rem;
font-weight: bold;
color: #fff;
z-index: 1;
}

/*--- footer ---*/
#footer{
width: 100%;
font-size: .8rem;
padding: 20px 0 0;
text-align: right;
border-top: 2px solid #F7A187;
}

/* 901px以上
------------------------------------------------------------*/
@media only screen and (min-width: 901px){
	
	#header a.bt,
	#left_content h6{
	display: none;
	}
	
}


/* 900px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 900px){
	
	html{
	font-size: 16px;
	}
	
	#wrapper{
	padding: 15px 8px;
	}
	
	#header h2 {
	padding-bottom: 15px;
	margin-bottom: 15px;
	}
	
	.bx-wrapper{
	margin-bottom: 15px !important;
	}
	
	.bx-prev::before,
	.bx-next::before{
	width: 20px !important;
	height: 20px !important;
	}
	
	#bx-pager ul{
	width: 50%;
	}
	
	#bx-pager li{
	width: calc(50% - 7.5px);
	margin-right: 7.5px;
	}
	
	#bx-pager li:last-child{
	margin-left: 7.5px;
	}
	
	#header a.bt{
	position: fixed;
	top: 0;
	right: 0;
	width: auto;
	height: auto;
	z-index: 300;
	}
	
	#header a.bt::after{
	position: absolute;
	content: "";
	display: block;
	top: -40px;
	right: 17px;
	width: auto;
	height: auto;
	border: 40px solid transparent;
	border-right-color: rgba(234, 121, 84, .9);
	border-bottom-color: rgba(234, 121, 84, .9);
	transform: rotate(45deg);
	z-index: -1;
	}
	
	#header a.bt span{
	position: absolute;
	display: block;
	top: .5em;
	right: 0;
	width: 113.14px;
	text-align: center;
	font-size: .8rem;
	font-weight: bold;
	color: #fff;
	}
	
	#content,
	.side,
	.footerContent{
	float: none;
	width: 100%;
	}
	
	.footerContent{
	margin-top: 30px;
	padding: 0 15px 15px;
	background: #FEFAFA;
	border-radius: 5px;
	}
	
	.side + .side{
	margin-top: 30px;
	}
	
	#left_content{
	padding-right: 0;
	}
	
	#right_content{
	padding-left: 0;
	}
	
	#left_content h6{
	position: relative;
	display: block;
	height: 50px;
	line-height: 50px;
	text-align: center;
	z-index: 1;
	}
	
	#left_content h6::after{
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	border-bottom: 1px solid #ccc;
	z-index: -1;
	}
	
	#left_content h6 span{
	position: absolute;
	display: block;
	left: 50%;
	transform: translate(-50%, 0);
	padding: 0 .75em;
	background: #FEFAFA;
	}
	
	.side_menu ul + ul{
	margin-top: 15px;
	}
	
	#left_content .menu_title{
	text-align: left;
	}
	
	#right_content .menu_title{
	text-align: right;
	}
	
	#wrapper_inner{
	margin: 15px 0;
	}
	
	#content{
	padding: 15px;
	}
	
	#content_header h1{
	padding-bottom: 15px;
	}
	
	#post{
	padding: 15px 0;
	}
	
	#post > * + * {
	margin-top: 30px;
	}
	
	#post > *:not(h2):not(h3):not(h4){
	padding-right: 0;
	padding-left: 0;
	}
	
	#footer{
	padding: 15px 0 0;
	}
		
}
