@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;
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: #F88706;
}

a:link{
color: #F88706;
}

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

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

/* 全体設定
------------------------------------------------------------*/
body{
font: 100%/1.6 YuGothic, "Yu Gothic", 游ゴシック体, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, メイリオ, Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
color:#333;
background: #f5f5f5 url("../images/bkpattern.jpg") repeat;
background-size: 128px 128px;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
overflow-wrap: break-word;
word-break: normal;
}

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

#wrapper,
.inner{
max-width: 1280px;
height: auto;
margin: 0 auto;
padding: 40px 0;
}

.inner{
padding: 1em 0;
}

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

/*=== header ===*/
#header{
position: relative;
background: #fff;
text-align: center;
border-bottom: solid 1px #F99F38;
}

#header::after{
position: absolute;
display: block;
content: "";
bottom: -1px;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(left 45deg, #F88706, #FAAB50, #4F9FF9);
background: -moz-linear-gradient(left 45deg, #F88706, #FAAB50, #4F9FF9);
background: -webkit-gradient(linear, left top, right bottom, from(#F88706), color-stop(0.5, #FAAB50), to(#4F9FF9));
}

#header h2 a{
font-size: 1.2rem;
font-weight: normal;
text-decoration: none;
}

#header h2 a span{
font-weight: bold;
}

/*=== mainContent ===*/
/*--- content ---*/
#content{
width: 70%;
padding: 30px 40px;
background: #fff;
overflow: hidden;
}

#content_header h1{
font-size: 2rem;
padding-bottom: 30px;
}

.postImg{
position: relative;
width: 100%;
height: auto;
overflow: hidden;
}

.postImg::before{
content: "";
display: block;
padding-top: 70%;
}

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

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

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

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

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

/* 見出し */
#post h2,
#post h3,
#post h4{
position: relative;
font-weight: bold;
padding: .7em .8em;
}

#post h2{
font-size: 1.6rem;
color: #333;
background: #FEF3E6;
background: linear-gradient(left 45deg, rgba(248, 135, 6, .1), rgba(79, 159, 249, .1), rgba(255, 255, 255, .1));
background: -moz-linear-gradient(left 45deg, rgba(248, 135, 6, .1), rgba(79, 159, 249, .1), rgba(255, 255, 255, .1));
background: -webkit-gradient(linear, left top, right bottom, from(rgba(248, 135, 6, .1)), color-stop(0.8, rgba(79, 159, 249, .1)), to(rgba(255, 255, 255, .1)));
border-left: solid 6px #F99F38;
border-radius: 2px;
}

#post h3{
padding-top: 0;
padding-left: 0;
font-size: 1.4rem;
border-bottom: solid 2px #6D9DF5;
z-index: 1;
}

#post h3::after{
position: absolute;
display: block;
content: "";
bottom: -2px;
left: 0;
width: 50%;
height: 2px;
background: #F99F38;
}

#post h4{
padding-top: 0;
padding-left: 0;
padding-bottom: 0;
font-size: 1.2rem;
color: #666;
}

/* リスト */
#post ol,
#post ul{
padding: 20px;
background: #f9f9f9;
}

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

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

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

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

#post ul li::before{
width: 10px;
height: 10px;
line-height: 10px;
left: 7px;
background: #6D9DF5;
border-radius: 100%;
}

#post ol{
counter-reset: olNum;
}

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

#post ol li::after{
background: #6D9DF5;
}

#post ol li::before{
counter-increment: olNum;
content: counter(olNum) "";
font-family: 'Comic Sans MS', fantasy;
font-size: .8rem;
font-weight: bold;
color: #fff;
z-index: 1;
}

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

#right_content{
padding: 40px;
background: rgba(254, 243, 230, .7);
background: linear-gradient(left 45deg, rgba(248, 135, 6, .1), rgba(250, 171, 80, .1), rgba(79, 159, 249, .1));
background: -moz-linear-gradient(left 45deg, rgba(248, 135, 6, .1), rgba(250, 171, 80, .1), rgba(79, 159, 249, .1));
background: -webkit-gradient(linear, left top, right bottom, from(rgba(248, 135, 6, .1)), color-stop(0.5, rgba(250, 171, 80, .1)), to(rgba(79, 159, 249, .1)));
}

.menuWrap + .menuWrap{
margin-top: 40px;
}

/* h6 */
h6.menu_title{
display: inline-block;
font-size: 1.1rem;
font-weight: bold;
padding: 0 0 10px;
margin-bottom: 20px;
border-bottom: solid 3px #555;
color: #333;
text-align: center;
}

/* span.h7 */
span.h7{
position: relative;
display: block;
padding: 0 0 10px 1.75em;
color: #666;
font-size: .85rem;
font-weight: bold;
text-align: left;
}

span.h7::after{
position: absolute;
display: block;
content: "";
top: 50%;
left: 0;
margin-top: -5px;
transform: translate(0, -50%);
width: 18px;
height: 18px;
background: url("../images/iconCheck.png") no-repeat;
background-size: cover;
}

.menuWrap ul + span.h7{
margin-top: 40px;
}

/* メニュー本体 */
.openMenu{
padding: .3em 0 0;
}

.filetree .openMenu{
padding: .9em 0;
border-top: solid 1px #fff;
}

.menuWrap ul li.aWrap + li{
margin-top: .8em;
}

.filetree > li + li{
border-top: solid 1px #fff;
} 

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

.menuWrap ul li span{
position: relative;
padding: .5em .75em;
padding-right: 1.8em;
background: #FDDBB4;
cursor: pointer;
overflow: hidden;
}

.menuWrap ul li span:hover,
.menuWrap ul li.collapsable span{
color: #fff;
background: #F88706;
}

.menuWrap ul li span::before,
.menuWrap ul li span::after{
content: "";
position: absolute;
display: block;
top: 50%;
}

.menuWrap ul li span::before{
left: 0;
width: 6px;
height: 100%;
background: #F88706;
background-size: auto 100%;
transform: translate(0, -50%);
z-index: -1;
}

.menuWrap ul li span::after{
right: 15px;
margin-top: -2px;
width: 0;
height: 0;
border: 4px solid transparent;
border-right-color: #F88706;
border-bottom-color: #F88706;
transform: translate(0, -50%) rotate(45deg);
}

.menuWrap ul li span:hover::after{
border-right-color: #fff;
border-bottom-color: #fff;
}

.menuWrap ul li.collapsable span::after{
margin-top: 2px;
border-right-color: transparent;
border-bottom-color: transparent;
border-top-color: #fff;
border-left-color: #fff;
}

.menuWrap ul li a{
position: relative;
padding: 0 .75em;
padding-left: 2em;
}

.menuWrap ul li a::after{
position: absolute;
display: block;
content: "";
top: 50%;
left: .75em;
margin-left: -4px;
transform: translate(0, -50%) rotate(-45deg);
width: 8px;
height: 8px;
border: solid 2px transparent;
border-right-color: #F88706;
border-bottom-color: #F88706;
}

.menuWrap ul li a:hover::after{
margin-left: 0;
}

.menuWrap ul li a:hover{
color: #F88706;
}

/*--- footer ---*/
#footer{
position: relative;
width: 100%;
text-align: left;
border-top: solid 1px #ccc;
}

#footer::after{
position: absolute;
display: block;
content: "";
top: -1px;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(left 45deg, #4F9FF9, #F88706, #FAAB50);
background: -moz-linear-gradient(left 45deg, #4F9FF9, #F88706, #FAAB50);
background: -webkit-gradient(linear, left top, right bottom, from(#4F9FF9), color-stop(0.5, #FAAB50), to(#F88706));
}

#footer p{
font-size: .85rem;
}


/* 1360px以下
------------------------------------------------------------*/
@media only screen and (max-width: 1360px){
	
	#wrapper,
	.inner {
	padding: 20px;
	}
	
}

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


/* 900px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 900px){
	
	/*=== 全体 ===*/
	html{
	font-size: 16px;
	}
	
	#wrapper{
	margin-top: 55px;
	padding: 10px;
	}
	
	.inner{
	width: 100%;
	height: 100%;
	padding: 15px 10px;
	}
	
	/*=== header ===*/
	#header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 55px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	z-index: 500;
	}
	
	#header h2{
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translate(0, -50%);
	}
	
	#header a.bt{
	position: absolute;
	top: 0;
	right: 0;
	width: 100px;
	height: 54px;
	background: #F88706;
	text-decoration: none;
	}
	
	#header a.bt span{
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	width: 100%;
	height: auto;
	font-size: .85em;
	font-weight: bold;
	color: #fff;
	padding: 0 0 0 30px;
	text-align: center;
	}
	
	#header a.bt span::after{
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	left: 10px;
	transform: translate(0, -50%);
	width: 25px;
	height: 25px;
	background: url("../images/iconMenu.png") no-repeat;
	background-size: cover;
	}
	
	/*=== mainContent ===*/
	#content,
	.side,
	.footerContent{
	width: 100%;
	}
	
	#content{
	padding: 30px 25px;
	}
	
	#content_header h1{
	padding-bottom: 25px;
	}
	
	#post{
	padding: 30px 0 0;
	}
	
	#post > *:not(h2){
	margin-left: 0;
	margin-right: 0;
	}
	
	#right_content{
	position: fixed;
	display: none;
	top: 55px;
	left: 0;
	height: calc(100vh - 55px);
	padding: 10px;
	background: #FEF3E6;
	overflow-y: scroll;
	z-index: 499;
	}
	
	#right_content.open{
	animation: show .2s linear 0s;
	}
	
	#right_content h5{
	display: block;
	height: auto;
	padding: .5em .75em;
	background: #FDE7CD;
	background: linear-gradient(left 45deg, rgba(248, 135, 6, .3), rgba(250, 171, 80, .3), rgba(79, 159, 249, .3));
	background: -moz-linear-gradient(left 45deg, rgba(248, 135, 6, .3), rgba(250, 171, 80, .3), rgba(79, 159, 249, .3));
	background: -webkit-gradient(linear, left top, right bottom, from(rgba(248, 135, 6, .3)), color-stop(0.5, rgba(250, 171, 80, .3)), to(rgba(79, 159, 249, .3)));
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
	z-index: 1;
	}
	
	h6.menu_title{
	display: block;
	text-align: left;
	border-bottom-width: 2px;
	}
		
}

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