/*--------------------------------
 body
--------------------------------*/
body {
	background-size:cover;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: 400;
	overflow-x:hidden;
}
.small{
	font-size:0.9em;
}
.lead {
    font-size: 1.05em;
    line-height: 1.9;
}
strong.red{
	color:#e70000;
}
.mt0{margin-top:0px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}

.mb0{margin-bottom:0px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}

.border_bottom{
	border-bottom:1px solid #ccc;
	padding-bottom:10px;
	margin-bottom:10px;
}
.bg_w{background:#FFF;}
.bg_g{background:#008b55;}
.bg_sky{
	background:#FFF url(img/bg_sky.jpg?444);
	background-size:cover;
}
.bg_recruit{
	background:#FFF url(img/recruit_bg_img.jpg?444);
	background-repeat: no-repeat;
	background-position: center;
}
.inner{padding:5vw 0;}
.text-center{
	width:100%;
	text-align:center;
}

/*--------------------------------
 アンカーの位置ズレ調整
--------------------------------*/
@-webkit-keyframes modify{
      0% { padding-top: 180px; margin-top: -180px; }
    100% { padding-top: 0; margin-top: 0; }
}
@keyframes  modify{
      0% { padding-top: 180px; margin-top: -180px; }
    100% { padding-top: 0; margin-top: 0; }
}
:target {
    -webkit-animation: modify 0.1s;
    animation: modify 0.1s;
}
@media(min-width:740px){

}

/*--------------------------------
 img
--------------------------------*/
a:link,a:active,a:visited{
	color:#0e2ea3;
}
a img{
	box-shadow:0 0 0 #000;
	transition:all linear 200ms;
}
a img:hover{
	opacity:0.7;
}
a .frame{
color:#000;
}
a .frame:hover{
color:#888;
}
img.border{
	border:1px solid #ccc;
}

/*--------------------------------
 header
--------------------------------*/
header{
	background:#FFF;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:2;
}
body#recruit header{
	background:transparent;
}
.desc{
	color:#222;
	font-size:0.6rem;
}
h1.logo{
	margin:3px  0;
	padding:0;
	line-height:1;
	font-size:1rem;
	max-width:280px;
}
.drawer-hamburger {
    position: relative;
    padding: 10px 5px 25px;
}
@media (min-width:740px){
.drawer-hamburger {
    display:none;
}
}

/*--------------------------------
 flex-box
--------------------------------*/
.flex-wrapper{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content:space-between;
}
.flex-wrapper .flex-item{
	width:49%;
}
.flex-wrapper .flex-item.flex1{
	width:15%;
}
.flex-wrapper .flex-item.flex2{
	width:24%;
}
.flex-wrapper .flex-item.flex3{
	width:40%;
}
.flex-wrapper .flex-item.item-title{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items:center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content:center;
	background:#008b55;
	color:#FFF;
	font-size:1.4rem;
	font-weight:bold;
	padding:10px;
}
/*--------------------------------
 flex-box
--------------------------------*/
.flex-box{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}
header .flex-box{
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: row-reverse;
	flex-direction:row-reverse;
}
header .flex-box .flex-item{
	padding:.3vw;
}

img[src$=".svg"] {
    width: 100%;
}

header .flex-box .flex-item.contact{
	background:#77ca1e;
/* 	flex-shrink: 0; */
}

header .flex-box .flex-item.english{
	background:#008b55;
/* 	flex-shrink: 0; */
}

header .flex-box .flex-item.search{
	background:#77ca1e;
	margin-left: 2px;
/* 	flex-shrink: 0; */
}

header .flex-box .flex-item.search img,
	header .flex-box .flex-item.contact img,
	header .flex-box .flex-item.english img{
		width: 100%;
/* 		flex-shrink: 0; */
	}

@media(min-width:400px){
header .flex-box .flex-item.contact{
	background:#77ca1e;
/* 	flex-shrink: 0; */
}
	
header .flex-box .flex-item.english{
	background:#008b55;
/* 	flex-shrink: 0; */
}
	
header .flex-box .flex-item.search{
	background:#77ca1e;
/* 	flex-shrink: 0; */
}

header .flex-box .flex-item.search img,
	header .flex-box .flex-item.contact img,
	header .flex-box .flex-item.english img{
		width: 100%;
/* 		flex-shrink: 0; */
	}
}

header .flex-box .flex-item.search a,
header .flex-box .flex-item.contact a,
header .flex-box .flex-item.english a{
	display:block;
	color:#FFF;
/* 	flex-shrink: 0; */
	width: 10.5vw;
}
@media(min-width:769px){
header .flex-box .flex-item.search,
	header .flex-box .flex-item.contact,
	header .flex-box .flex-item.english{
		padding:10px 15px;
/* 		flex-shrink: 0; */
}

header .flex-box .flex-item.search a,
header .flex-box .flex-item.contact a,
header .flex-box .flex-item.english a{
	display:block;
	color:#FFF;
/* 	flex-shrink: 0; */
	width: 70px;
}

header .flex-box .flex-item.search img,
	header .flex-box .flex-item.contact img,
	header .flex-box .flex-item.english img{
		width: 100%;
/* 		flex-shrink: 0; */
	}
}

.news .flex-box .flex-item:first-child{
	flex:1;
	background:#999;
	color:#FFF;
	padding:10px;
	margin-right:10px;
	text-align:center;
}
.news .flex-box .flex-item:last-child{
	flex:4;
}
/*--------------------------------
 mobilemenu
--------------------------------*/
.trigger{
	width:60px;
}
.mega-menu-wrap{
	position:relative;
	left:0;
}
#mega-menu-sidenav,
#mega-menu-topnav,
#mega-menu-recruitnav{
	top:0;
	left:-10px!important;
	position:absolute;
}
.mega-menu-toggle{
	width:30px;
	position:fixed;
	top:0;
	right:2px;
}
/*--------------------------------
 content
--------------------------------*/
.titleBox{
	background:#e70000;
	position:relative;
}
.titleBox h2{
	color:#FFF;
	font-size:1.7em;
	text-align:center;
	padding:7px ;
}
.titleBox h3{
	color:#FFF;
	font-size:1.5em;
	border:none;
	margin:0;
	text-align:center;
	padding:7px ;
}

.fullWidth { 
	width: 100%; 
	margin-left: auto; 
	margin-right: auto; 
	max-width: initial; 
}
#primary{
	margin:0 auto 30px auto;
}
section{
	margin-bottom:50px;
}
article{
	margin:30px 0;
}
@media(min-width:64em){
.bg_left{
	background:url(img/bg_left.png) no-repeat left bottom;
	padding-bottom:20px;
}
.bg_right{
	background:url(img/bg_right.png) no-repeat right bottom;
	padding-bottom:20px;
}
}

/*------------------------------
 * box
 * ----------------------------*/
.box{
	border:2px solid #ccc;
	padding:20px;
}
.box p{
	margin-bottom:0;
}
.box a{
	display:block;
}

/*------------------------------
 * colorBox
 * ----------------------------*/
.colorBox{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
}
.colorBox .flex-item{
	width:20%;
	background:#aaa;
	text-align:center;
}
.colorBox .flex-item h3{
	font-size:1rem;
	font-weight:bold;
}
.colorBox .flex-item a{
	display:block;
	padding:10px;
	width:100%;
	height:100%;
	color:#FFF;
}
.colorBox .flex-item:nth-child(1){
	background:#1746b2;
}
.colorBox .flex-item:nth-child(2){
	background:#2566b7;
}
.colorBox .flex-item:nth-child(3){
	background:#2582b7;
}
.colorBox .flex-item:nth-child(4){
	background:#1e6c83;
}
.colorBox .flex-item:nth-child(5){
	background:#108d89;
}
.colorBox .flex-item:nth-child(6){
	background:#079777;
}

@media(min-width:740px){
.colorBox .flex-item h3{
	font-size:1.2rem;
}
.colorBox .flex-item a{
	padding:30px;
}
}
@media(min-width:64em){
.bg_left_s{
	background:url(img/bg_left.png) no-repeat -50% 20px;
	padding-bottom:20px;
}
.bg_right_s{
	background:url(img/bg_right.png) no-repeat 150% 20px;
	padding-bottom:20px;
}
}
@media(min-width:74em){
.bg_left_s{
	background:url(img/bg_left.png) no-repeat -25% 20px;
	padding-bottom:20px;
}
.bg_right_s{
	background:url(img/bg_right.png) no-repeat 125% 20px;
	padding-bottom:20px;
}
}

/*------------------------------
 * balloon
 * ----------------------------*/
/* 吹き出し本体 */
.balloon{
  	position: relative;
  	padding: 20px;
	background:#daf2f6;
}

/* アイコンを下に表示 */
.balloon::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 20px;
  bottom: -15px;
  border-top: 15px solid #daf2f6;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
}

span.question{
	font-size:1.7em;
	color:#1284b3;
	font-weight:700;
}
span.answer{
	font-size:1.7em;
	color:#e70000;
	font-weight:700;
}

.visual{
	position:relative;
	min-height:200px;
	margin:50px 0;
	background:url(img/visual_default.jpg) no-repeat top center;
	background-size:cover;
}
.visual .layer{
	display:block;
	position:absolute;
	content:'';
	width:100%;
	height:100%;
	background:url(img/bg_visual2s.png) no-repeat left top;
	background-size:contain;
	animation:layeranim ease 1s;
}
@keyframes layeranim{
	0%{
		left:-100%;
	}
	100%{
		left:0;
	}
}
@media(min-width:740px){
.visual{
	min-height:250px;
	margin-top:70px;
}	
}
@media(min-width:64em){
.visual{
	min-height:280px;
	margin-top:85px;
}
.visual .layer{
	background:url(img/bg_visual2.png) no-repeat left top;
}
}
.titleInner{
	position:absolute;
	top:35%;
	width:100%;
	text-align:center;
}
.titleInner h1.entry-title{
	display:block;
	width:100%;
	margin:0 auto;
	max-width:740px;
	text-align:left;
	padding:0 0 0 10px;
	color:#FFF;
	font-size:1.2rem;
	font-weight:bold;
	z-index:3;
	opacity:0;
	animation:titleInneranim ease 1s 1s forwards;
}
@keyframes titleInneranim{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}
.titleInner h1.entry-title span{
	display:block;
	font-size:0.7em;
}
section p,section li{
	font-size:1rem;
	line-height:1.8;
}

h2.entry-title{
	position:relative;
	font-size:1.5rem;
	color:#000;
	font-weight:bold;
	margin-bottom:20px;
	text-align:center;
}
h2.entry-title:after{
	display:block;
	content:'';
	margin:10px auto;
	width:50px;
	height:3px;
	background:#000;
}
h2.section-title{
	font-size:1.15rem;
	font-family: Consolas,'Courier New',Courier,Monaco,monospace;
	line-height:1.3;
	border-left:1px solid #000;
	height:7rem;
	margin:0 0 0 1.5rem;
	padding-left:1rem;
}
h2.section-title a{
	color:#000;
}
h2.section-title span{
	display:block;
	font-weight:bold;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	padding-top:5px;
}
.title-header{
	margin:20px 0;
	border-bottom:1px solid #ccc;
}

section h3{
	font-weight:bold;
	font-size:1.15rem;
	margin-bottom:10px;
	color:#008b55;
}
section h3:after{
	display:block;
	content:'';
	width:40px;
	height:2px;
	margin:10px 0 0 -60px;
	background:#008b55;
	opacity:0;
	animation:h3anim 1s 1s ease forwards;
}
@keyframes h3anim{
	0%{
		margin-left:-60px;
		opacity:0;
	}
	100%{
		margin-left:0;
		opacity:1;
	}
}
h4{
	color:#008b55;
	font-size:1.05rem;
	border:1px solid #008b55;
	padding:5px;
	font-weight:bold;
}
h4 a{
	color:#000;
}
h4.entry-title{
	font-weight:bold;
	font-size:1.1rem;
	border:none;
	border-bottom:1px solid #008b55;
	margin:15px 0;
	color:#008b55;
}
h4 span.label{
	margin-bottom:4px;
}
h4.entry-title span{
	font-size:0.7em;
}

h4.small-title{
	text-align:center;
	font-size:1.2em;
	margin-bottom:10px;
	color:#000;
	font-weight:400;
}

h4.small-title span{
	font-weight:normal;
	font-size:0.65em;
	display:block;
}

h5{
	font-weight:bold;
	font-size:0.95em;
}
h5.subcat{
	background:#000;
	color:#FFF;
	display:inline-block;
	padding:2px 30px;
}
.box h5.subcat{
	background:#888;
	display:block;
	padding:5px;
	margin-bottom:20px;
}

img.icon{
	padding:1px;
}

/*--------------------------------
 news
--------------------------------*/
ul.news {
	margin:0;
	padding:0;
}
ul.news li{
	list-style:none;
	font-size:1rem;
	padding:5px 0;
	margin-bottom:20px;
}
ul.news li .date{
	display:block;
}
ul.news li a{
	color:#000;
}
/*--------------------------------
 ul small
--------------------------------*/
ul.small li{
	font-size:0.9rem;
}
/*--------------------------------
 ul annual
--------------------------------*/
ul.annual {
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	margin:0;
	list-style:none;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content:space-between;
}
ul.annual li{
	width:48%;
	margin-bottom:10px;
}
/*--------------------------------
 secondary
--------------------------------*/
#secondary{
	margin:20px auto;
}

#secondary .inner{
	border:1px solid #ccc;
	margin:0 0 20px 0;
}

#secondary h3{
	background:#008b55;
	font-size:0.9em;
	color:#FFF;
	padding:7px 7px 7px 13px;
	margin-bottom:0;
}

#secondary ul{
	margin:0;
	padding:0 0 20px 0;
}

#secondary ul li{
	list-style:none;
	border-bottom:1px dotted #bbb;
	font-size:0.9em;
}

#secondary ul li a{
	display:block;
	padding:5px 10px;
}

#secondary ul li a:hover{
	background:#f7f7f7;
}

/*--------------------------------
 footer-menu
--------------------------------*/
#footer_nav{
	background:#000;
	margin:0;
	padding:50px 0;
}

#footer_nav section h2,#footer_nav section h2:before,#footer_nav section h2:after{
	color:#FFF;
}
#footer_nav p,#footer_nav a{
	color:#FFF;
}
footer{
	display:block;
	background:#f2f2f2;
	padding:20px 0;
	font-family:Arial, Helvetica, sans-serif;
	margin: 0;
	font-size:0.9em;
}
#footer_nav .flex-box{
	display:block;
}
#footer_nav .menu{
	display:block;
	text-align:left;
	font-size:0.9rem;
}
#footer_nav ul{
	margin:0;
}
@media(max-width:740px){
#footer_nav ul.menu{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
}
#footer_nav ul li{
	width:50%;
}
#footer_nav ul li.menu-item-has-children{
	width:100%;
}
#footer_nav ul ul.sub-menu{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	background:#222;
}
#footer_nav ul ul.sub-menu li{
	width:50%;
}
}
@media(min-width:740px){
#footer_nav .flex-box{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content:space-between;
}
#footer_nav .menu li a{
	padding:5px 0;
}
#footer_nav ul.menu>li>a{
	font-weight:700;
}
}

/*--------------------------------
 table
--------------------------------*/
table.table{
	width:100%;
}
table.table th,
table.table td{
	line-height:1.8;
	font-size:0.95rem;
}
table tbody, table tfoot, table thead {
    border: none;
}
table.table-bordered {
	font-size:0.9em;
}
table tbody tr:nth-child(2n) {
    background-color: #FFF;
}

table.table-bordered tr th{
	border-bottom:3px solid #bbb;
	text-align:left;
	font-weight:bold;
}
table.table-bordered tr:first-child th{
	border-top:3px solid #bbb;
}
table.table-bordered tr:first-child td{
	border-top:1px solid #bbb;
}
table.table-bordered.history tr td:first-child{
	 white-space: nowrap;
}
table.table-bordered td{
	border-bottom:1px solid #bbb;
}
table.list {
	font-size:0.9em;
}
table.list tr{
	border-bottom:1px solid #aaa;
}
table.list th{
	font-weight:bold;
	text-align:left;
}
table.small th,table.small td{
	font-size:0.8rem;
	vertical-align:top;
	text-align:left;
	border-bottom:1px solid #ccc;
	padding:5px 0;
}
table.member tbody tr td{
	border:1px solid #ccc;
}
table.member tbody tr th{
	text-align:left;
	border:1px solid #ccc;
}
table.member tbody tr td:nth-child(2){
	text-align:right;
}
table.underline tbody tr td,
table.underline tbody tr th{
	border-bottom:1px solid #ccc;
	text-align:left;
}
/*--------------------------------
 label
--------------------------------*/
.label.gray{
	background:#666;
}
/*--------------------------------
 tab
--------------------------------*/
.tabs {
    background: transparent;
    border: none;
	margin-bottom:10px;
}
.tabs-title {
    margin:0 10px 10px 0;
}
.tabs-title>a {
	display: block;
	background: #a9a8a8;
	color:#FFF;
	padding: 0.4em 1em;
	line-height: 1;
	font-size: 1.1em;
}
.tabs-title>a:hover {
	color:#FFF;
	background: #888;
}
.tabs-title>a:focus, .tabs-title>a[aria-selected=true] {
	color:#FFF;
}
.tabs-content {
    background: transparent;
    border: none;
	overflow:auto;
}
.tabs-panel {
    padding: 0;
}
.tabs-panel table tr td{
	font-size:0.9rem;
}
.tabs-panel table tr td:first-child{
	width:35%;
}
/*--------------------------------
 form
--------------------------------*/
input{
	margin:0;
}

input.small{
	width:4em;
	display:inline-block;
}
label {
    display: inline-block;
}


/*---------------------
.wp-pagenavi
-----------------------*/
.wp-pagenavi{
margin:10px 0 20px 0;
}
.wp-pagenavi:after{
display:block;
clear:both;
}
.wp-pagenavi a, .wp-pagenavi span {
text-decoration: none;
font-size:0.8em;
border: 1px solid #ccc;
padding: 7px 12px;
margin: 2px;
color:#666;
}
.wp-pagenavi span.current {
background:#ccc;
border: 1px solid #ccc;
}

/*--------------------------------
 breadcrumbs
--------------------------------*/
.bread_wrapper{
	position:absolute;
	bottom:0;
	right:0;
	height:50px;
	width:700px;
	background:url(img/bg_bread.png) no-repeat left bottom;
	margin-right:-100%;
	animation: breadbganim ease 1s forwards;
}
.breadcrumbs{
	position:absolute;
	top:10px;
	left:40px;
	font-size:0.7rem;
	padding:10px 0;
}
.breadcrumbs a{
	color:#000;
}
@keyframes breadbganim{
	0%{
		margin-right:-100%;
	}
	100%{
		margin-right:0;
	}
}

/*--------------------------------
 button
--------------------------------*/
a.button{
	background:#008b55;
	color:#FFF;
	font-weight:bold;
	display:block;
	margin-bottom:0;
}
a.button.middle{
	display:block;
	width:300px;
	text-align:center;
	margin:0 auto;
}
a.button:hover{
	background:#77ca1e;
}
a.button.white{
	background:#FFF;
	border:1px solid #777;
	box-shadow:0 0 3px #aaa;
	color:#000;
	padding:10px 50px;
}
a.button.trans{
	background:transparent;
	border:2px solid #FFF;
	color:#FFF;
	padding:10px 50px;
}
a.button.red{
	background:#e70000;
	border:1px solid #e70000;
	color:#FFF;
	padding:10px 50px;
}
a.button.red:hover{
	background:#d80000;
}
a.button.right{
	width:auto;
	float:right;
}
.button-group{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
}
.button-group button{
	width:33%;
	padding:0.7em 0.5em;
}
.button-group ul{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	margin:0;
	padding:0;
}
.button-group ul li{
	border:1px solid #FFF;
}
.button-group ul li a{
	display:block;
	background:#2199e8;
	color:#FFF;
	border:1px solid #FFF;
	margin:0 3px;
}
.buttonGroup{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	margin:0;
}
.buttonGroup li{
	list-style:none;
	width:49%;
	margin:0.5%;
	border:2px solid #008b55;
	text-align:center;
	padding:0.3rem;
	font-size:0.8rem;
}
.buttonGroup li a{
	display:block;
	color:#008b55;
}
@media(min-width:740px){
.button-group button{
	width:15%;
}
.buttonGroup li{
	width:24%;
}
.buttonGroup.career li{
	width:19%;
}
}
@media(min-width:64em){
.button-group button{
	width:8%;
}

}
/*--------------------------------
 isotope grid
--------------------------------*/
.element-item {
  margin: 2% 0;
}
@media(min-width:740px){
.element-item {
  position: relative;
  float: left;
  width: 31%;
  margin: 1%;
}
}

/*--------------------------------
 search form
--------------------------------*/
.searchform {
  position: relative;
}
.searchfield {
  font-size: 14px;
  width: 95%;
  margin: 1.2vw 0 0;
  padding: 10px;
  border: solid 1px #bbb;
  border-radius: 4px;
  background-color: #efefef;
}
.searchsubmit {
  font-family: 'IcoMoon-Free';
  font-size: 1.4em;
  position: absolute;
  top: 0;
  right: 10%;
  margin-top: 7px;
  padding: 0;
  cursor: pointer;
  color: #777;
  border: none;
  background: transparent;
}
.searchsubmit:hover {
  opacity: .6;
}
/*--------------------------------
 subpage
--------------------------------*/
.frame{
	background:#f1f1f1;
}
.frame.blue{
	background:#daf2f6;
}
.frame .inner{
	padding:15px;
}
.shadowbox{
	border:3px solid #05a0c7;
	padding:15px;
	box-shadow:5px 5px 0 #aaa;
}
.shadowbox h4{
	color:#05a0c7;
}
.shadowbox p{
	margin-bottom:0;
}
.circle{
	background:#e70000;
	width:100px;
	height:100px;
	padding:35px 5px;
	color:#FFF;
	border-radius:50%;
	text-align:center;
	margin:0 auto;
}
span.tag{
	display:inline-block;
	margin-bottom:5px;
	background:#666;
	color:#FFF;
	font-size:0.8em;
	padding:2px 7px;
}
span.number{
	display:inline-block;
	width:27px;
	height:27px;
	margin:0 3px;
	background:#666;
	color:#FFF;
	border-radius:50%;
	text-align:center;
	margin:0 auto;
}
body#sitemap .menu li{
	display:block;
}
body#sitemap .menu li li{
	padding-left:1em;
	font-size:1em;
}
.innerpicture{
	position:relative;
}
.innerpicture img{
	vertical-align:bottom;
}
.innerpicture article{
	position:absolute;
	bottom:0;
	width:100%;
}
.innerpicture article h3{
	font-size:1rem;
}

/*--------------------------------
 case
--------------------------------*/
.category-6 .flex-wrapper{
	justify-content: flex-start;	
}

.flex-case{
	position:relative;
	width:32%;
	margin-bottom:20px;
	margin-right: 2%;
}

.flex-case:nth-of-type(3n){
	margin-right: 0;
}

.flex-case h3{
	position:absolute;
	width:100%;
	height:30%;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.9));
	bottom:0;
	margin:0;
	padding:10px;
	font-size:1.1rem;
	color:#FFF;
	font-weight:bold;
	z-index:2;
}
.flex-case figure{
	position:relative;
	z-index:1;
}

.flex-medium._case figure{
	margin-bottom:10px;
}
.flex-case h3{
	font-size: 0.9rem;
}

@media(max-width: 739px){
	.flex-case{
		width:49%;
		margin-right: 2%;
	}

	.flex-case:nth-of-type(2n){
		margin-right: 0;
	}
}

@media(max-width: 499px){
	.category-6 .flex-wrapper{
		justify-content: center;
	}
	.flex-case{
		width: 100%;
		margin-right: 0;
	}
	.flex-case h3{
		font-size: 1rem;
	}
}

@media (min-width:740px){
	.flex-medium{
		display:-webkit-box;
  		display:-ms-flexbox;
		display:flex;
	}
	.flex-medium._case figure{
		flex:1;
		padding-right:30px;
	}
	.flex-medium._case .flex-item{
		flex:2;
	}
}

/*--------------------------------
 nexrprev
--------------------------------*/
.nextprev{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}
.nextprev div{
	flex:1;
	margin:10px;
	padding:20px;
	background:#f4f4f4;
	font-size:0.9rem;
	transition:all linear 0.2s;
}
.nextprev div a{
	display:block;
	color:#008b55;
}

.nextprev div:hover{
	box-shadow:0 0 3px #ccc;
	background:#f4f4f4;
}
.nextprev div.next{
	text-align:right;
}
/*--------------------------------
 qa
--------------------------------*/
div.question{
	padding:20px 10px 10px 10px;
	background:url(img/bg_q.png) no-repeat left top;
	padding-left:2em;
	border-bottom:1px solid #ccc;
}
div.question h4{
	border-bottom:none;
}
div.question p{
	font-size:1em;
	font-weight:bold;
}
div.answer{
	padding:20px 10px 20px 10px;
	background:url(img/bg_a.png) no-repeat right bottom;
}
div.answer p{
	margin:0;
	padding:0;
}
/*--------------------------------
video
--------------------------------*/
.video-container {
	width:100%;
}
video{
	object-fit: cover;
}

/*--------------------------------
 archiveImage
--------------------------------*/
.archiveImage{
	position:relative;
}
.archiveImage span.tag{
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	background:#666;
	color:#FFF;
	padding:5px 10px;
}
.archiveImage span.tag.c1{
	background:#008B54;
}
.archiveImage span.tag.c2{
	background:#9a724e;
}
.archiveImage span.tag.c3{
	background:#49A0BC;
}
.archiveImage span.tag.c4{
	background:#2fc104;
}
.archiveImage span.tag.c5{
	background:#FF7546;
}
/*--------------------------------
 innerImage
--------------------------------*/
.innerImage{
	position:relative;
	height:120px;
	overflow:hidden;
}
.innerImage img{
	width:100%;
	transition:all linear 0.3s;
}
.innerImage:hover img{
	transform:scale(1.1,1.1);
	opacity:0.8;
	cursor:pointer;
}
.innerImage article{
	position:absolute;
	bottom:10%;
	width:100%;
}
.innerImage article h3{
	display:inline-block;
	color:#FFF;
	border:none;
	position:relative;
	padding-left:40px;
}
.innerImage article h3:before{
	position:absolute;
	top:20px;
	left:0;
	display:inline-block;
	content:'';
	height:1px;
	width:30px;
	background:#FFF;
}
@media(min-width:769px){
.innerImage{
	height:auto;
}
}
/*--------------------------------
 Accordion
--------------------------------*/
#acMenu dt{
    display:block;
    width:100%;
    padding:10px;
    border:#bbb 1px solid;
    cursor:pointer;
    }
#acMenu dt:after{
    display:iblock;
	content:'＋';
	text-align:right;
	float:right;
    }
#acMenu dd{
    width:100%;
    display:none;
	font-size:1rem;
	padding:10px;
    }
span.q{
	display:inline-block;
	padding:1px 6px;
	background:#0099CC;
	color:#FFF;
	text-align:center;
	border-radius:2px;
}
span.a{
	display:inline-block;
	padding:1px 8px;
	background:#0e2ea3;
	color:#FFF;
	text-align:center;
	border-radius:2px;
}
/*--------------------------------
 flip card
--------------------------------*/
.card {
	cursor:pointer;
	border:none;
	border:2px solid #FFF;
}
.card:hover {
	border:2px solid #008b55;
}
.card .front{
	padding:20px;
	color:#008b55;
	font-weight:bold;
	font-size:1.2rem;
}
.card .back{
	padding:20px;
	background:#f4f4f4;
	font-size:0.9rem;
}

/*--------------------------------
 responsive
--------------------------------*/
.table-scroll {
    overflow-x: auto;
}
.table-scroll table {
    width: auto;
}
@media only screen and (min-width:740px) {
.desc{
		font-size:0.8rem;
	margin-top:15px;
}
h1.logo{
	margin:12px 0;
}
.titleBox:after{
	display:block;
	content:'';
	clear:both;
}
.titleBox h2{
	position:absolute;
	width:100%;
	top:35%;
}
#mainvisual h2{
	margin:35px 0 0 0;
	font-size:2.2em;
}
.titleInner{
	top:42%;
}
.titleInner h1.entry-title{
	font-size:1.3rem;
}
h2.entry-title{
	font-size:1.6em;
}
h2.section-title{
	font-size:1.2rem;
	padding-bottom:2rem;
	margin:0 0 0 2rem;
	padding-left:1rem;
}
 a h2.section-title{
	color:#000;
}
 a h2.section-title:hover{
	color:#999;
}
.title-header{
	margin:20px 0 50px 0;
	padding:0 0 30px 0;
	border-bottom:1px solid #ccc;
	border-top:1px solid #ccc;
}
.title-header h5{
	text-align:center;
}
.visual h2.page-title{
	text-align:center;
	font-size:1.6em;
	margin-top:25px;
	margin-bottom:15px;
	font-weight:bold;
}
h5.subcat{
	background:#000;
	color:#FFF;
	display:inline-block;
	padding:2px 30px;
}
.frame.blue .inner{
	padding:15px 15px 15px 0;
}
.frame.blue .inner2{
	padding:15px 0 15px 20px;
}
ul.annual li{
	width:24%;
	margin-bottom:10px;
}
table.newstable th{
width:25%;
	vertical-align:middle;
	background:#d8eff7;
}
table.newstable th.subtitle{
	width:200px;
}
table.steptable th{
width:300px;
}
.tabs-panel a.button{
	float:right;
}
.tabs-panel table tr td:first-child{
	width:20%;
}
}
@media only screen and (min-width:1024px) {
.titleInner h1.entry-title{
	font-size:1.4rem;
}
}
@media only screen and (min-width: 641px) {
.navWrapper{
		background:#222;
	}
table tbody th{
	width:25%;
}
	.megamenu ul{
		display:table;
		table-layout:fixed;
		width:100%;
	}
	.megamenu ul:before,.megamenu ul:after{
		display:none;
	}
	.megamenu ul li{
		display:table-cell;
		float:none;
		text-align:center;
		border-right:1px solid #ccc;
	}
	.megamenu ul li:first-child{
		border-left:1px solid #ccc;
	}
	.megamenu ul li a{
		display:block;
		padding:15px 2px;
		background:#FFF;
		color:#000;
		font-weight:bold;
		font-size:0.9em;
	}
		.megamenu ul li:hover a{
		background:#f4f4f4;
	}
	.megamenu ul li span{
		display:block;
		padding:0;
		font-size:0.7em;
	}
}