@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn:hover{
	opacity:1.0;
	filter: alpha(opacity=100);
}


@media screen and (max-width:880px){
	
.pc{display:none;}
.sp{display:block;}	
.w100per{
	width:100%;
	height:auto;
}

/*header
----------------------------------------------------*/
header{
	position:fixed;
	width:100%;
	height:55px;
	top:0;
	padding:0;
	z-index:999999;
}

header .contents{
	/*position:absolute;*/
	height:55px;
	background:#FFF;
	z-index:99999;
}

header .navOn{
	background:#68AF36;
}

header h1,
header p{
	float:none;
	position:absolute;
	width:75%;
	height:50px;
	margin:10px 0 0 0;
	padding:5px 0 0 0;
	background:url(../img/common/ttl_logo.png) no-repeat;
	background-size:contain;
	line-height:1.0;
	z-index:99;
}

header .navOn h1,
header .navOn p{
	background:url(../img/common/ttl_logo_on.png) no-repeat;
	background-size:contain;
}

header h1 img,
header p img{
	display:none;
}

.box_head_right{
	display:none;
}

header .btn-primary{
	position:absolute;
	top:13px;
	right:3%;
	width:8%;
	margin:0 0 10px 0;
	background:url(../img/common/btn_spmenu.png) no-repeat ;
	background-size:contain;
	display:block;
	z-index:99999;
}

header .navOn .btn-primary{
	background:url(../img/common/btn_spmenu_on.png) no-repeat ;
	background-size:contain;
}

header .btn-primary img{
	width:auto;
	height:45px;
}

header a:hover,
header :hover.btn-primary{
	opacity:1.0!important;
	filter: alpha(opacity=100)!important;
}


/*navigation
----------------------------------------------------*/
.sidebar.top {
    left: 0;
    right: 0;
    top: 0;
	margin-top:55px;
	z-index:99999;
	display:none;
}

.sidebars .sidebar {
	position:fixed;
	left:0;
	width:100%;
	height:100%;
    padding: 0;
	color: white;
    text-align: center;
	overflow:auto;
	display:block;
}

.sidebars{
	padding-top:0;
}

nav ul {
	width:100%;
	margin-top:0px;
	padding:0;
	display:block;
}

nav ul li{
	width:100%;
	border-bottom:1px solid #BEBEBE;
	background:#ECECEC;
}

nav ul li:first-child{
	padding-top:1%;
}

nav ul li:nth-child(2n){
	background:#ECECEC;
}

nav ul li a{
	width:100%;
	height:auto;
	padding:15px!important;
	border-right:0;
	text-align:left;
	font-size:14px;
	line-height:1.0;
	color:#000!important;
}

nav ul li:first-child a{
	border-left:0;
}

nav ul li a.nav01,
nav ul li a.nav02,
nav ul li a.nav03,
nav ul li a.nav04,
nav ul li a.nav05,
nav ul li a.nav06,
nav ul li a.nav07{
	width:100%;
	padding-top:2%;
	background:none;
}

nav ul li a:hover.nav01,
nav ul li a:hover.nav02,
nav ul li a:hover.nav03,
nav ul li a:hover.nav04,
nav ul li a:hover.nav05,
nav ul li a:hover.nav06,
nav ul li a:hover.nav07{
	background:#86CA53;
}

.sp_search{
	position:fixed;
	top:55px;
	width:100%;
	padding:0 0 5px 0;
	background:#FFF;
	z-index:9999;
	text-align:center;
}

.sp_search2{
	width:100%;
	padding:10px 0 5px 0;
	background:#FFF;
	text-align:center;
}

.navOn .sp_search{
	position:relative!important;
	top:0!important;
	width:100%;
	padding:15px 0 10px 0;
}

.sp_search #google,
.sp_search2 #google{
	float:none;
	width:225px;
	margin:0 auto;
	display:inline-block;
}

.box_inq{
	width:30px!important;
	display:inline-block!important;
}

.box_inq li{
	float:left;
	width:23px!important;
	margin-left:3px!important;
	border-bottom:0;
	background:none;
}

.box_inq li:first-child{
	padding-top:0;
}

.box_inq li:nth-child(2n){
	background:none;
}

.box_inq li a{
	width:100%;
	height:auto;
	padding:0!important;
}

nav ul li:first-child a{
	border-left:0;
}


/*mainImage
----------------------------------------------------*/
#slider {
	position:relative;
	top:0;
	height:380px;
	margin-bottom:40px;
}

.mask{
	height:380px;
	padding-top:0;
}

.mask img{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	width:80%;
	height:auto;
	padding-top:110px;
}

.bx-wrapper ul li img{
	width:80%;
	height:auto;
}


/*Contents layout
----------------------------------------------------*/
.headerMargin{
	padding-top:0;
}

section{
	width:100%;
	padding:0 0 30px 0;
}

.contents{
	width:100%;
	margin:0 auto;
	padding:0 3%;
}

.sec_bg{
	background:#EFECE7;
}

.path{
	padding:70px 3% 10px 3%;
}

.path ul{
	width:100%;
}

.path ul li{
	padding:0 5px 0 0;
}

.path ul li:before{
	padding-right:5px;
}


/*top
------------------------------------*/
.main_top{
}

.main_top h2{
	margin-bottom:60px;
	font-size:18px;
	text-align:center;
	line-height:1.4;
}

.box_news{
	width:100%;
	margin:0 auto 60px auto;
}

.box_news .box_left,
.box_news .box_right{
	float:none;
	width:100%;
	margin-bottom:20px;
}

.box_news .box_left h3{
	margin-bottom:10px;
	padding-top:60px;
	font-size:20px;
}

.box_news .box_right li{
	padding-left:1.4em;
	text-indent:-1.4em;
}

.box_setA .box_left,
.box_setA .box_right{
	float:none;
	width:100%;
	margin-bottom:20px;
}

.box_setA .box_left img,
.box_setA .box_right img{
	width:90%;
	height:auto;
	margin:0 auto;
	display:block;
}

.box_setA .box_right h3{
	margin-bottom:20px;
}

.box_setA .box_right h3 img{
	width:100%;
	height:auto;
}

.box_setA .box_right p{
	margin:0 25px 20px 25px;
	font-size:13px;
}

.box_setA .btn{
	width:50%;
	margin-left:auto;
	margin-right:auto;
}

.box_setB .box_left,
.box_setB .box_right{
	float:none;
	width:100%;
	margin-bottom:20px;
}

.box_setB .box_left img,
.box_setB .box_right img{
	width:90%;
	height:auto;
	margin:0 auto;
	display:block;
}

.box_setB .box_left h3{
	margin-bottom:20px;
}

.box_setB .box_left h3 img{
	width:100%;
	height:auto;
}

.box_setB .box_left p{
	margin:0 25px 20px 25px;
	font-size:13px;
}

.box_setB .btn{
	width:50%;
	margin-left:auto;
	margin-right:auto;
}

.btn_full a{
	width:94%;
	margin:0 auto;
	font-size:20px;
	border-radius:5px;
}

.mb150{
	margin-bottom:60px;
}

.mb50{
	margin-bottom:30px!important;
}


/*2column style
------------------------------------*/
.side{
	position:relative;
}

.box_main{
	width:100%;
	min-height:auto;
	padding-right:0;
	padding-bottom:30px;
}

.box_side{
	position:relative;
	width:100%;
	padding:3%;
	background:url(../img/common/bg_side.gif);
	background-position:right;
}

.box_side ul{
	width:100%;
	margin-left:0!important;
}

.box_side ul li{
	margin-left:0;
	padding-left:0!important;
	text-indent:0!important;
	border-bottom:1px solid #333;
}

.box_side ul li:last-child{
	border-bottom:0;
}

.box_side ul li:before{
	content:""!important;
}

.box_side ul li a{
	padding:10px 0;
	display:block;
}


/*styleguide
------------------------------------*/
.ttl{
	margin:80px 0 20px 0;
	padding:30px 3%;
	font-size:40px;
	color:#000;
}

.ttl .contents{
	padding:0 0 10px 0;
}

/*.ttl{
	margin:120px 0 40px 0;
	font-size:30px;
}

.ttl .contents{
	padding:50px 3%;
	background:url(../img/common/bg_ttl.png) no-repeat right top;
	background-size:contain;
}*/

.main table.table_list th,
.main table.table_list td{
	display:block;
}

.main table.table_list .w16em{
	width:100%!important;
}

.main table.table_list .btn_mini2 a{
	width:100%;
	margin-bottom:15px;
	padding:13px 15px 12px 30px;
}

.box_menu{
	margin-bottom:0;
}

.box_menu ul{
	margin-bottom:50px;
}

.box_menu ul li{
	float:none;
	width:100%;
	margin:0 0 4% 0;
	padding:10px;
}

/*
.box_2col .box_left,
.box_2col .box_right{
	float:none;
	width:100%;
}

.box_3col .box_left,
.box_3col .box_right,
.box_3col .box_center{
	float:none;
	width:100%;
	margin:0 0 20px 0;
}
*/

.box_free,
.box_3col,
.box_free .box_left,
.box_free .box_right,
.box_3col .box_left,
.box_3col .box_center,
.box_3col .box_right{
	float:none;
	width:100%;
	margin:0 0 20px 0;
	padding:0;
}

.box_free .box_right,
.box_3col .box_right{
	margin-bottom:0;
}

.box_table_sp{
	width:100%;
	overflow:auto;
	overflow:scroll-y;
}

.box_table_sp table{
	min-width:100%!important;
}

.box_table_sp table th,
.box_table_sp table td{
	word-break:keep-all;
}


/*test
--------------------------------------------*/
.box_main .tab_box ul{
	margin:0!important;
}

.box_main ul.tab li{
	min-width: 30%;
}

.box_main ul.tab{
	overflow: hidden;
	margin-bottom: -5px!important;
}

.box_main ul.tab li{
	float: left;
	border: 1px solid #CCC;
	border-right: none;
	border-radius: 3px 3px 0 0 / 3px 3px 0 0;
	min-width: 160px;
	line-height:1.2;
	text-align: center;
}

.box_main ul.tab li{
	padding:0;
	text-indent:0;
}

.box_main ul.tab li:last-child{
	border-right: 1px solid #CCC;
}

.box_main ul.tab li.select{
	border-bottom: 1px solid #fff!important;
}

.box_main ul.tab li a{
	background:#F6F6F6;
	display:block;
	padding:10px;
	/*min-height:40px;*/
	border-radius: 3px 3px 0 0 / 3px 3px 0 0;
	color: #666;
	text-decoration: none;
	cursor: pointer;
}

.box_main ul.tab li a:hover{
	background:#F0F8FF;
}

.box_main ul.tab li.select a{
	background:#FFF;
}

.tab_uline .tab_box{
	min-height:0;
	padding:5%;
	padding-bottom:170px;
	background:#FFF;
	border:1px solid #CCC;
	border-top:0;
	border-radius: 0 0 3px 3px / 0 0 3px 3px;
}

.tab_uline .tab_box h2{
	margin-bottom:15px;
	font-size:18px;
}

.tab_uline .tab_box h2 img{
	width:100%;
	height:auto;
}

.tab_uline .tab_box p{
	margin-bottom:15px;
}

.tab_uline .tab_box .tag{
	margin-right:0.5em;
}

.tab_uline .tab_box .result{
	width:100%;
	font-size:18px;
}

.tab_sp{
	margin:0!important;
}

.tab_sp li:before{
	content:""!important;
}

.tab_sp li{
	min-width:20%!important;
	height:4em;
}

.tab_sp li a{
	height:4em;
	padding:10px 0!important;
}

#tabMenuSP{
	margin-bottom:20px;
}

.tab_box_height{
	height:auto;
}

.tab_first,
#tabMenuSP .tab_box{
	display:none;
}

#tabMenuSP .tab_box{
	padding:5px;
}

#tabMenuSP .tab_box_first{
	text-align:center;
	display:block;
}

#tabMenuSP .tab_box ul li:before{
	content:"";
}

#tabMenuSP .tab_box ul li{
	float:left;
	width:25%;
	padding:5px;
	text-indent:0;
}

#tabMenuSP .tab_box ul li a{
	padding:5px!important;
	background:#F6F6F6;
	border:1px solid #CCC;
	border-radius:3px;
	text-align:center;
	display:block;
}


/*page top
--------------------------------------------*/
#page-top {
	bottom: 0;
	right: 0;
	width:100%;
	height:50px;
	border-radius:0;
	text-align:center;
	z-index:999999;
}

#page-top img{
	width:50px;
	height:50px;
}

#page-top a{
	display:block;
}


/*footer
----------------------------------------------------*/
.footer_panel .contents{
	width:100%;
	padding:0;
}

.footer_panel ul li{
	float:none;
	width:100%;
	border-right:0;
	border-bottom:1px solid #FFF;
}

.footer_panel ul li a{
	padding-left:20%;
	padding-right:20%;
	border:0!important;
	text-align:center;
}

.footer_link{
	display:none;
}

.footer_copy{
	padding-bottom:70px;
	border-top:0;
}


}