@font-face {
    font-family: 'aiharahudemojikaisho';
    src: url('../fonts/aiharahudemojikaisho2.01-webfont.eot');
    src: url('../fonts/aiharahudemojikaisho2.01-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/aiharahudemojikaisho2.01-webfont.woff2') format('woff2'),
         url('../fonts/aiharahudemojikaisho2.01-webfont.woff') format('woff'),
         url('../fonts/aiharahudemojikaisho2.01-webfont.ttf') format('truetype'),
         url('../fonts/aiharahudemojikaisho2.01-webfont.svg#aiharahudemojikaishoregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

/* Reset */

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
	/*font: 14px/1.25 'aiharahudemojikaisho',  Arial, Helvetica, Sans-serif;*/
	font: 13px/1.4 "?????? Pro W3","Hiragino Kaku Gothic Pro","????","Meiryo","Osaka","MS P????","MS PGothic",Arial,Helvetica,sans-serif;
	/*font:14px/1.25  Arial, Helvetica, Sans-serif;*/
	/*color:#6b685f;*/
	background:#fff;
	color:#222;
	min-width: 320px;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

p{margin: 0 0 15px; font-family:"?????? Pro W3","Hiragino Kaku Gothic Pro","????","Meiryo","Osaka","MS P????","MS PGothic",Arial,Helvetica,sans-serif; line-height:18px; }

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{
	font-weight: 700;
	margin:0 0 25px;
	/*color:#ffa500;*/
	color:#b4a06b;
}

h1,.h1{
	font-size: 22px;
}

h2,.h2{
	font-size: 18px;
	margin-bottom: 15px;
}

h3,.h3{
	font-size: 16px;
	line-height: 1.2;
}

h4,.h4{
	font-size: 17px;
}

h5,.h5{
	font-size: 16px;
}

h6,.h6{
	font-size: 16px;
}

a{text-decoration: none; color:#ffa500;}
a:focus{outline:none;}
a:hover{text-decoration: underline;}

.btn{
	color:#7b6f4f;
	display:inline-block;
	vertical-align:top;
	position: relative;
	padding-left: 20px;
	background-image:url('../images/arrow1.png');
	background-repeat: no-repeat;
	background-position: 5% center;
	font-family: Arial, Helvetica, Sans-serif;
}

/*.btn:before{
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	background:url('../images/arrow1.png');
	width: 8px;
	height: 7px;
	top: 50%;
	margin-top: -4px;
}*/

.btn:hover{
   -webkit-animation: nextarrow 0.5s infinite;
   -moz-animation: nextarrow 0.5s infinite;
   -o-animation: nextarrow 0.5s infinite;
   animation: nextarrow 0.5s infinite;
   text-decoration: none;
}


@keyframes nextarrow {
  0% {background-position: 5% center;}
  50% {background-position: 10% center;}
  100% {background-position: 0% center;}
}

@-webkit-keyframes nextarrow {
  0% {background-position: 5% center;}
  50% {background-position: 10% center;}
  100% {background-position: 0% center;}
}
@-o-keyframes nextarrow {
  0% {background-position: 5% center;}
  50% {background-position: 10% center;}
  100% {background-position: 0% center;}
}
@-moz-keyframes nextarrow {
  0% {background-position: 5% center;}
  50% {background-position: 10% center;}
  100% {background-position: 0% center;}
}

.clearfix:after{
	content:"";
	display: block;
	clear: both;
}

#wrapper{
	position: relative;
	overflow: hidden;
	width: 100%;
}

.container{
	width: 100% !important;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 15px;
}

#header{
	background:#222;
	padding: 15px 0;
	margin-bottom: 35px;
	min-width: 320px;
}

.logo{
	max-width: 190px;
}

#sidebar{
	float: left;
	width: 25%;
	padding-right:30px;
}

.img-wrap img{
	max-width: none;
	width: 100%;
}

.main-menu{
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: Arial, Helvetica, Sans-serif;
}

.main-menu.stick {
    position: fixed;
    top: 0;
    z-index: 9999;
    margin-top:12px;
}

.main-menu li {
	padding: 10px;
}

.main-menu li + li{
	border-top: 1px dotted #4e4e4e;
}

.main-menu li a{
	color:#767267;
	display:inline-block;
	vertical-align:top;
	position: relative;
	padding: 5px 40px 5px 30px;
	-moz-transition:color 0.4s ease;
	-webkit-transition:color 0.4s ease;
	transition:color 0.4s ease;
}

.main-menu li.active a {
	/*color:#fff;*/
	color:#000;
}

.main-menu li a:before,
.main-menu li a:after{
	content:"";
	position: absolute;
	top: 0;
	right: -100%;
	background:url('../images/bracket.png') no-repeat;
	width: 13px;
	height: 25px;
	opacity: 0;
	-moz-transition:right 0.4s ease, opacity 0.4s ease;
	-webkit-transition:right 0.4s ease, opacity 0.4s ease;
	transition:right 0.4s ease, opacity 0.4s ease;
}

.main-menu li a:before{
	right: auto;
	left: -100%;
	-moz-transform:rotate(180deg);
	-webkit-transform:rotate(180deg);
	transform:rotate(180deg);
	-moz-transition:left 0.4s ease, opacity 0.4s ease;
	-webkit-transition:left 0.4s ease, opacity 0.4s ease;
	transition:left 0.4s ease, opacity 0.4s ease;
}

.main-menu li a i{
	position: absolute;
	top: 10px;
	left: 0;
	background:url('../images/arrow2.png') no-repeat;
	width: 7px;
	height: 7px;
	opacity: 1;
	-moz-transition:left 0.4s ease, opacity 0.4s ease;
	-webkit-transition:left 0.4s ease, opacity 0.4s ease;
	transition:left 0.4s ease, opacity 0.4s ease;
}

.main-menu li a:hover{
	color:#000;
	text-decoration: none;
}

.main-menu li.active a:before,
.main-menu li.active a:after,
.main-menu li a:hover:before,
.main-menu li a:hover:after{
	right: 0;
	opacity: 1;
}

.main-menu li.active a:before,
.main-menu li a:hover:before{
	right: auto;
	left: 0;
}

.main-menu li.active a i,
.main-menu li a:hover i{
	left: -100%;
	opacity: 0;
}


.main-container{
	float: right;
	width: 75%;
}

.heading-block{
	margin-bottom: 25px;
}

.heading-block h1{
	font-family: Arial, Helvetica, Sans-serif;
	margin: 0;
	text-transform: uppercase;
	color:#008528;
}

.intro-block{
	overflow: hidden;
	margin-bottom: 30px;
}

.intro-block .img-wrap{
	float: left;
	width: 20%;
	margin-right: 15px;
}

.intro-block .text{
	overflow: hidden;
}

.row{
	margin: 0 -15px;
}

.row:after{
	content:"";
	display: block;
	clear: both;
}

.section{
	padding: 30px 0;
}

.col{
	float: left;
	width: 50%;
	padding: 0 15px;
}

.btn-wrap{
	text-align: right;
}

.new-book-block .img-wrap{
	float: left;
	width: 25%;
	margin: 0 15px 15px 0;
	max-height: 127px;
	overflow: hidden;
}

.two-cols .row{
	letter-spacing: -7px;
}

.two-cols .col{
	float: none;
	display:inline-block;
	vertical-align:top;
	margin-bottom: 25px;
	letter-spacing: 0;
	overflow: hidden;
}

.two-cols .col .img-wrap{
	float: left;
	width: 20%;
	margin: 0 15px 15px 0;
}

.articles-list li{
	overflow: hidden;
}

.articles-list li + li{
	margin-top: 25px;
}

.articles-list .img-wrap{
	float: left;
	width: 10%;
	margin-right: 15px;
}

.articles-list .text{
	overflow: hidden;
}

.training-list li {
    overflow: hidden;
}

    .training-list li + li {
        margin-top: 25px;
    }

.training-list .img-wrap {
    float: left;
    width: 10%;
    margin-right: 15px;
}
    .training-list .img-wrap img {
            height: 188px !important;
            width: 150px !important;
            margin-left: -12%;
    }

.training-list .text {
	padding-left:12% !important;
    overflow: hidden;
}

.calendar-list{
	margin: 0 -15px;
	letter-spacing: -4px;
}

.calendar-list li{
	display:inline-block;
	vertical-align:top;
	width: 50%;
	padding: 0 15px;
	letter-spacing: 0;
	margin-bottom: 15px;
}

.education-block{
	margin-bottom: 20px;
	overflow: hidden;
}

.education-block .img-wrap{
	float: left;
	width: 25%;
	margin: 0 15px 15px 0;
}

.vocation-list .title{
	display: block;
	/*color:#ffa500;*/
	color:#b4a06b;
}

.vocation-list li + li{
	margin-top: 15px;
}

.curl-top-left {
  /*display: inline-block;*/
  display: block;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.curl-top-left:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  /* IE9 */
  background: linear-gradient(135deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);
  filter: progid: DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#000000');
  /*For IE7-8-9*/
  z-index: 9;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.curl-top-left:hover:before,
.curl-top-left:focus:before,
.curl-top-left:active:before {
  width: 30px;
  height: 30px;
}

.contact-text .mail{
	font-family: Arial, Helvetica, Sans-serif;
}

.contact-text span{display: block;}

.fancybox-skin{
	border-radius: 0;
}

.popup-holder {
	position: relative;
	overflow: hidden;
	height: 0;
}

.popup-wrap{
	max-width: 500px;
	margin: 0 auto;
	padding: 15px;
	/*text-align: center;*/
}

.lightbox-wrap{
	overflow: hidden;
}

.lightbox-wrap .img-wrap{
	float: left;
	width: 20%;
	margin-right: 20px;
}

.lightbox-wrap .text{
	overflow: hidden;
}


/*.popup-wrap h2{
	text-align: center;
}*/

.detail-section{
	padding: 0 0 80px;
}

.detail-section .heading-block{
	text-align: center;
}

.detail-section .img-wrap{
	max-width: 300px;
	margin: 0 auto 50px;
}


@media only screen and (max-width: 1023px){
	#sidebar {
		width: 30%;
	}

	.main-container{
		width: 70%;
	}

	.main-menu li a{
		padding: 5px 25px;
	}
}

@media only screen and (max-width: 767px){
	h2, .h2{
		font-size: 18px;
		line-height: 20px;
	}
	#header{
		padding: 15px 0;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background:#222;
	}
	#sidebar{
		float: none;
		width: 100%;
		padding: 0;
	}

	.logo{
		width: 160px;
	}

	.opener{
		float: right;
		width:35px;
		height:26px;
		/*background:#000;*/
		position: fixed;
		top: 32px;
		right: 15px;
		z-index: 999;
	}
	.opener:before,
	.opener:after,
	.opener span{
		background:#ffa500;
		/*border-radius:4px;*/
		position:absolute;
		top:12px;
		left:0;
		right:0;
		height:4px;
		margin-top:-2px; /* height/2 */
		transition:all 0.2s linear;
	}
	.opener:before,
	.opener:after{
		content:'';
		top:2px;
	}
	.opener:after{top:22px;}
	/* close button transition */
	.nav-active .opener span{opacity:0;}
	.opener:hover{opacity:.9;}
	.nav-active .opener:after,
	.nav-active .opener:before{
		-moz-transform:rotate(45deg);
		-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
		transform:rotate(45deg);
		top:50%;
		left:10%;
		right:10%;
	}
	.nav-active .opener:after{
		-moz-transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
		-ms-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}

	.main-menu{
		position: fixed;
		top: 90px;
		left: 0;
		right: 0;
		width: 100%;
		display: none;
		background:#fff;
		z-index: 99;
		padding: 0 15px;
	}

	.section{
		padding: 20px 0;
	}

	#main{
		padding-top: 120px;
	}

	.main-container{
		float: none;
		width: 100%;
	}

	/*.section{
		text-align: center;
	}*/

	.heading-block h1{
		text-align: center;
	}

	.intro-block .img-wrap{
		width: 100%;
		float: none;
		max-width: 150px;
		margin: 0 auto 15px;
	}

	.intro-block .text{
		text-align: center;
	}

	.col{
		float: none;
		width: 100%;
		margin-bottom: 25px;
	}

    .new-book-block .img-wrap,
    .two-cols .col .img-wrap,
    .articles-list .img-wrap,
    .training-list .img-wrap,
    .education-block .img-wrap {
        float: none;
        width: 100%;
        max-width: 120px;
        margin: 0 auto 25px;
        max-height: auto;
    }

    .training-list .img-wrap img {
            height: 188px !important;
            width: 150px !important;
            margin-left: -12%;
    }
.training-list .text {
	padding-left:0% !important;
    overflow: hidden;
}
	.contact-text{
		text-align: center;
	}

	.detail-section{
		padding-bottom: 50px;
	}

	.detail-section .img-wrap{
		max-width: 150px;
		margin: 0 auto 25px;
	}

    .img {
        height:100px !important;
        width:70px !important;
    }
}