@charset "utf-8";
html{font-size: 0.65em;-webkit-text-size-adjust: 100%;}
* {-webkit-touch-callout: none;-webkit-user-select: none;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
li {list-style-type: none;}
#contents li a{ display: block; }
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
img {
	border: 0;
	display:block;
	margin:10px auto;
	max-width: 100%;
	height: auto;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
a img:hover, span img:hover{
	opacity:0.6;
	box-shadow: 0px 0px 5px #DDD;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
.over:hover {opacity:0.7;}
.webfont{ font-family: 'Titillium Web', sans-serif;}

body {
	color: #444;
	font-family:
	"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
	"メイリオ","ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.5;
	margin: 0 auto;
	padding: 0;
	vertical-align: baseline;
	-webkit-overflow-scrolling:touch;
	border: 0;
	background: transparent;
}

body {background:url(images/halftone.png)repeat;}

header a{text-decoration: none; color:#3b5998;}
header a:hover{text-decoration: underline; color:#3b5998;}
header a:visited{text-decoration: none; color: #609;}

#main a{text-decoration:underline; color: #3b5998;}
#main a:hover{text-decoration: none; color:#3b5998;}
#main a:visited{text-decoration: underline; color: #609; }

#sub a{
	text-decoration: none;
	color:#3b5998;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
#sub a:hover{text-decoration: none; color:#3b5998; opacity:0.6;}
#sub a:visited{text-decoration: none; color: #609;}

#footer a{text-decoration: none; color:#3b5998;}
#footer a:hover{text-decoration: underline; color:#3b5998;}
#footer a:visited{text-decoration: none; color: #609;}

.ois,
.ois-greenjuice{
  cursor:pointer;
}

#sub .ois,
#sub .ois-greenjuice {
	text-decoration: none;
	color:#3b5998;
	cursor: pointer;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
#sub .ois:hover,
#sub .ois-greenjuice:hover{
	text-decoration: none;
	color:#3b5998;
	opacity:0.6;
}
#main .ois,
#main .ois-greenjuice{
	text-decoration: underline;
	color:#3b5998;
	cursor: pointer;
}
#main .ois:hover,
#main .ois-greenjuice:hover{
	text-decoration: none;
	color:#3b5998;
}

.center{
	clear:both;
	text-align:center;
	margin: 0 auto 50px auto;
}

.MB50{margin:0 0 50px 0}
.MB10{
	width:75%;
	margin:0 auto 10px auto;
	border-top : solid 5px #352426;
}

.clear{clear:both;margin: 0 auto 50px auto;}

.imgR {
	float: none;
	margin: 5px;
	padding:5px;
}

.imgL {
	float: none;
	margin: 5px;
	padding:5px;
}

/* clearfix */
.clearfix:after {content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

header{
	color:#444;
	margin:0px 0px 30px 0px;
}

footer {
	clear: both;
	margin: 30px auto 0px auto;
}

footer .copyright {
	color:#444;
	font-size:18px;
	font-size:1.8rem;
	text-align: center;
	padding: 5px;
	font-family: 'Titillium Web', sans-serif;
}

.mainimg{ margin:25px auto;}

#contents {
	margin: 10px auto;
	text-align: left;
	width:98%;
	padding:10px 0 10px 0;
}

.logo{
	color:#999;
	padding:5px;
	flex:1;
	text-align: center;
}

.img_flex {
	display: block;
	margin: 0px auto;
}

.img_flexTop {display: none;visibility:hidden;}

.img_flex img {
	margin: 2% auto;
	padding:0 10px;
}

#main .flex h3{
	font-size:22px;
	font-size:2.2rem;
	color:#333;
	text-align:center;
	padding: 5px 0px 5px 0px;
	margin: 0px 0px 10px 0px;
	font-weight: 100;
	border:0;
}

#main .flex h4{
	font-size:22px;
	font-size:2.2rem;
	color:#444;
	text-align:center;
	padding: 7px 0px 7px 0px;
	margin: 0px 0px 10px 0px;
	font-weight: 100;
	border:0;
}

#main .flex p{
	font-size:20px;
	font-size:2.0rem;
	color:#444;
	padding: 10px 10px 10px 10px;
}

#main .flex {
	flex-direction: column;
	margin:0px auto 30px auto;
	font-size:22px;
	font-size:2.2rem;
}

#main .flex div{
	flex: 1;
	-webkit-flex: 1;
	padding:1%;
}

#main {
	float: none;
	width: 98%;
	padding:1%;
	margin: 0px auto;
	overflow:hidden;
}

.wrap{
	overflow:hidden;
	background:white;
	border-radius: 6px;
	margin:50px auto 50px auto;
}

#main p{
	font-size:20px;
	font-size:2.0rem;
	color:#333;
	padding: 10px 10px 10px 10px;
	margin:0px 0px 50px 0px;
}

#main h1{
	font-size:22px;
	font-size:2.2rem;
	color:#444;
	text-align:center;
	padding: 15px 0px 35px 0px;
	margin: 15px 0px 30px 0px;
	text-shadow: 1px 1px 1px #eee;
	font-weight: 100;
	background: url(images/border.png) repeat-x 50% 100%;
}

#main h2{
	font-size:22px;
	font-size:2.2rem;
	color: #444;
	padding: 15px 0px 10px 25px;
	margin: 15px auto 30px auto;
	font-weight: 100;
	border-bottom: solid 2px #4B3336;
}

#main h3{
	font-size:22px;
	font-size:2.2rem;
	color:#352426;
	padding: 10px 0px 10px 0px;
	margin: 15px 0px 30px 0px;
	text-shadow: 1px 1px 1px #CCC;
	font-weight: 100;
}

#main h4{
	font-size:22px;
	font-size:2.2rem;
	color:#333;
	padding: 10px 0px 10px 0px;
	margin: 15px 0px 30px 0px;
	font-weight: 100;
}

#main h5{
	font-size: 27px;
	font-size:2.0rem;
	color:#333;
	padding: 10px 0px 10px 0px;
	margin: 15px 0px 30px 0px;
	font-weight: 100;
}


.em{text-decoration:underline;}

.more a,.more span,
#main .btn span{
	font-size:20px;
	font-size:2.0rem;
	text-align:center;
	margin:25px auto 50px auto;
	display:block;
	padding: 10px;
	border : solid 2px #4B3336;
	border-radius: 6px;
	background: url(images/more.png) no-repeat 100% 50%;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
#main .btn span{
	padding: 20px 10px;
	background: rgb(212, 28, 21);
  width: 50%;
  color: white;
  font-weight: bold;
  border: none;
  text-decoration: none;
}
#main .btn span:hover{
  color: white;
  opacity: 0.6;
  transform: translateY(2px);
}
#main .btn span::after{
  content: "▶";
  padding-left: 4px;
}

.bg{
	background: #E8DADC;
	border : solid 2px #352426;
	border-radius: 6px;
	padding: 15px;
	margin:25px auto 50px auto;
}

.more a:hover,.more span:hover{opacity:0.6;}

#contents article{
	margin: 0 0 50px 0;
	padding: 1%;
	overflow:hidden;
}

#contents section{
	margin: 0 0 50px 0;
	padding: 1%;
	overflow:hidden;
}

#sub {
	float: none;
	width: 98%;
	padding:1%;
	margin: 0 auto;
}

#sub h3{
	font-size: 20px;
	font-size:2.0rem;
	width:75%;
	font-weight: normal;
	text-align:center;
	padding: 5px;
	margin: 0px auto 10px auto;
	color:#352426;
	border-top : solid 5px #4B3336;
	font-family: 'Titillium Web', sans-serif;
}

#sub .menu{
	padding: 0 2% 2% 2%;
	margin: 0 0 50px 0;
	background:#F3F3F3;
	border-radius: 6px;
}

#sub .sidemenu_margin{
  margin-top: 50px;
}

#sub ul {
	padding: 1%;
}

#main ul {
	text-align:center;
	padding: 1%;
	margin: 0 0 50px 0;
}

#main ul li{
	font-size: 20px;
	font-size:2.0rem;
	border-bottom:solid 1px #4B3336;
	padding:10px 0 10px 0px;
}

#main ul li a{text-decoration: none;}
#main ul li a:hover{text-decoration: underline;}

#main .box_spec{
  text-align: left;
}
#main .box_spec li::before{
  content: "●";
  margin-right: .5em;
  color: rgb(204, 33, 33);
}

#sub ul li span,#sub ul li a,footer ul li span,footer ul li a {
	font-size: 20px;
	font-size:2.0rem;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	border-bottom : dashed 1px #4B3336;
	padding: 10px 0px 10px 28px;
	background: url(images/arw.png) no-repeat 0% 50%;
}

.clear{clear:both;}

#topmenu {
	display: block;
	margin: 10px auto;
	padding:10px 0 10px 0;
}

#topmenu .news{
	flex:1;
	padding:5px;
	background:#F3F3F3;
	background:rgba(243,243,243,0.4);
}

.news p {
	font-size:20px;
	font-size:2.0rem;
	color:#352426;
	border-bottom: dotted 1px #352426;
	margin:0 0 10px 0;
	padding:0 0 2px 5px;
}

.news li {
	font-size:17px;
	font-size:1.7rem;
	margin:5px auto;
	padding:5px;
	background:#FFF;
	border-radius: 6px;
}

.news li span {
	padding:7px 7px 7px 7px;
	display:block;
}

nav{margin: 0px auto;}

.main-nav {
	margin:0px auto;
	padding:5px;
}
.main-nav span{
	font-size:17px;
	font-size:1.7rem;
	margin:5px auto;
	padding:5px;
	background:#FFF;
	border-radius: 6px;
	display: block;
	text-decoration: none;
	cursor:pointer;
	color:#3b5998;
	text-align:center;
}
.main-nav span:hover {opacity:0.5;}
.main-nav li:first-child{border:0;}



#main .kajou {
margin: 0 0 0px 0;
}

#main .kajou li{
font-size: 2.2rem;
border-bottom: none;
text-align: left;
padding: 5px 0 5px 0px;
}

#main .sukima {
margin: 0px 0px 0px 0px;
}

#main .haba{
margin: 0px 0px 0px 0px;
}

#main .gazohaba img{
display: inline;
max-width: 100%;
}

#toc{
padding: 15px;
font-size: 20px;
font-size:2.0rem;
}

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

#toc ol li a{
position: relative;
display: block;
padding: 0 0 0 2em;
}

#toc ol li a::before,
#toc ol li a::after{
position: absolute;
display: block;
top: 0;
left: 0;
width: 20px;
height: 1.7em;
text-align: center;
}

#toc ol li a::before{
margin-top: .2rem;
color: #fff;
font-size: 80%;
font-weight: 500;
z-index: 2;
}

#toc ol li a::after{
content: "";
background: #333;
border-radius: 2px;
}

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

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

/* 中見出し */
#toc ol li.toc-h5{
padding-left: 2em;
}

#toc ol li.toc-h5 a{
padding-left: 3em;
}

#toc ol li.toc-h5 a::before,
#toc ol li.toc-h5 a::after{
width: 39px;
}

#toc ol li.toc-h4{
counter-reset: subContNum;
}

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

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

#toc ol li.toc-h5 a::after,
#toc ol li.toc-h6 a::after{
background: #f5f5f5;
}

/* 小見出し */
#toc ol li.toc-h6{
padding-left: 5em;
}

#toc ol li.toc-h6 a{
padding: 0 0 0 3.9em;
}

#toc ol li.toc-h6 a::before,
#toc ol li.toc-h6 a::after{
width: 54px;
}

#toc ol li.toc-h5{
counter-reset: section;
}

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

/* greenjuice toc_area */
#toc_area {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: rgba(179, 179, 179,.1);
    border: solid 2px #516ab6;
    width: auto;
}
#toc_area::before{
  content: "目次";
  font-size: 20px;
  font-weight: bold;
}

#toc_area ol{
  padding-left: 0px;
}

#toc_area li{
  margin: 7px 2px;
  font-size: 20px;
}

#toc_area ol li{
  list-style: none;
}

#toc_area ol li + li{
  margin-top: 2px;
}

#toc_area ol li a{
  position: relative;
  display: block;
  padding: 0 0 0 1.3em;
}

#toc_area ol li a::before,
#toc_area ol li a::after{
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 20px;
  height: 1em;
  text-align: center;
}

#toc_area ol li a::before{
  margin-top: .2rem;
  color: #666;
  font-weight: 500;
  z-index: 2;
}

#toc_area ol li a::after{
  content: "";
  border-radius: 2px;
}

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

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

/* 中見出し */
#toc_area ol li.toc-h3{
  padding-left: 1em;
}

#toc_area ol li.toc-h3 a{
  padding-left: 2.7em;
}

#toc_area ol li.toc-h3 a::before,
#toc_area ol li.toc-h3 a::after{
  width: 39px;
}

#toc_area ol li.toc-h2{
  counter-reset: subContNum;
}

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

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

#toc_area ol li.toc-h3 a::after,
#toc_area ol li.toc-h4 a::after{
}

/* 小見出し */
#toc_area ol li.toc-h4{
  padding-left: 3em;
}

#toc_area ol li.toc-h4 a{
  padding: 0 0 0 3.2em;
}

#toc_area ol li.toc-h4 a::before,
#toc_area ol li.toc-h4 a::after{
  width: 54px;
}

#toc_area ol li.toc-h3{
  counter-reset: section;
}

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

/*--- アコーディオン ---*/
#main .prevCont{
margin-bottom: 0;
}

.accordion{
margin: 15px 0 50px 0;
}

.accordion dt{
position: relative;
display: block;
width: 100%;
padding: .5em 1em .5em 2.5em;
background: #3b5998;
color: #fff;
font-size: 2.0rem;
cursor: pointer;
box-sizing: border-box;
transition: .3s;
}

.accordion dt:hover{
background: rgba(59, 89, 152, .8);
}

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

#main .accordion dd{
padding: 1em;
background: rgba(59, 89, 152, .2);
}

#main .accordion dd p{
margin-bottom: 0;
}

/* Back to top */
.back_top{
  position: fixed;
  bottom: 0px;
  right: 0px;
  z-index: 99;
}
.back_top img{
  margin: 1px auto;
  cursor: pointer;
}
.font_head{
  pointer-events: none;
  cursor: none;
}


#main .to_toc a,
#main .to_toc_bottom a{
  border: 2px solid rgb(195, 49, 45);
  color: rgb(195, 49, 45);
  border-radius: 4px;
  padding: 1em;
  float: right;
  text-decoration: none;
}
#main .to_toc a{
  padding: .2em;
  font-size: 80%;
}
#main .to_toc a:hover,
#main .to_toc_bottom a:hover{
  transform: translateY(2px);
  transition: .3s all ease;
}
#main .to_toc::after,
#main .to_toc_bottom::after{
  content: "";
  display: block;
  clear: both;
}

[id^="toc"]{
  padding-top:10px;
  margin-top:-10px;
}

/* treeview */
#sub .filetree li span{
  background: url(images/img_plus.png) no-repeat 0% 50%;
  cursor: pointer;
  position: relative;
}
#sub .filetree li span:hover{
  transform: translateY(1px);
  opacity: .6;
  transition: 0.1s all ease;
}
#sub .filetree li ul li{
  padding-left: 1.5em;
}
#sub .filetree li ul{
  border-left: 1px dashed #666;
}

#sub .filetree li a{
  background: rgba(255, 255, 255, 0.2) url(images/arw.png) no-repeat 0% 50%;
}
#sub .filetree li a:hover{
  transition: 0.1s all ease;
}

/* Review Profile */
.box_profile{
  color: rgb(227, 143, 45);
  font-size: 22px;
  font-size: 2.2rem;
  padding: .5em;
  margin-bottom: 25px;
  border-bottom: 2px solid rgb(227, 143, 45);
}

#main .review_box{
  width: 95%;
  margin: 0 auto 30px auto;
}
