/*** ----------------------------------------------------------------------------- 

reset

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

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin:0px;
	padding:0px;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset, img {
	border:0;
}
address, caption, cite, code, dfn, em, th, var {
	font-style:normal;
	font-weight:normal;
}
ul {
	list-style:none;
}
ol li{
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
q:before, q:after {
	content:'';
}
abbr, acronym {
	border:0;
	font-variant:normal;
}
sup {
	vertical-align:top;
}
sub {
	vertical-align:text-bottom;
}
input, textarea, select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
input, textarea, select {
 *font-size:100%;
}
legend {
	color:#000000;
}
img {
	vertical-align:bottom;
}
table caption {
	font-weight: bold;
	margin:0 0 5px;
}
/*** ------------------------------------------------------------------------------ 

HTML5

-----------------------------------------------------------------------------  ***/
header, footer, nav, section, article, figure, aside {
	display:block;
}
/*** ------------------------------------------------------------------------------ 

common

-----------------------------------------------------------------------------  ***/
html {
	overflow-y:scroll;
}
body {
	color:#333;
	line-height: 1.6;
	font-size: 12px;
	font-family: Meiryo, "メイリオ", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ Pro W3", MS PGothic, "ＭＳ Ｐゴシック", Osaka;
}
body.menu-open {
	background:#F5F5F5;
}
/*** ------------------------------------------------------------------------------ 

リンク

-----------------------------------------------------------------------------  ***/
/* 基本 */
a{
	outline:none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
}
a:link {
	color: #FF8C00;
	text-decoration: none;
}
a:visited {
	color: #FF8C00;
	text-decoration: none;
}
a:hover {
	color: #FF8C00;
	text-decoration:underline;
}
a:active {
	color: #FF8C00;
	text-decoration:underline;
}
/*.opacity a:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
}*/
#main section a{
}
#main section a:hover{
}
/*** ------------------------------------------------------------------------------ 

wrapper

-----------------------------------------------------------------------------  ***/
#wrapper {
	position:relative;
}
/*** ------------------------------------------------------------------------------ 

header

-----------------------------------------------------------------------------  ***/
header {
	width: 100%;
}
header .description {
	border-top:3px solid #07005F;
	font-size:0.917em;
	margin:0 0 20px;
	padding-top:3px;
}
header .description span{
	display:block;
	width:960px;
	margin:0 auto;
}
header .inner {
	width:960px;
	margin:0 auto;
	position:relative;
}
header .logo {
	margin:10px 0 30px;
}

header .logo img {
	margin: 6px 0 0;
}

/* hader-nav 通常：番号、ボタン各1個*/
header .header-nav{
	position:absolute;
	top:0;
	right:0;
}
header .header-nav ul{
	float:left;
	margin:0 0 0 70px;
}
header .header-nav ul.tel{
	width: 209px;
}

header .header-nav ul.tel li {
	margin: 0 0 5px;
}

header .header-nav ul.form{
	width:206px;
	padding:10px 0 0;
}
/* hader-nav type02　2種類縦並び：番号、ボタン各2個*/

header .header-nav.type02 ul{
	float:left;
	margin:0 0 0 25px;
}
header .header-nav ul{
	width:208px;
}
header .header-nav ul li{
	margin:0 0 2px;
}
header .header-nav ul li a{
	display: block;
    border-radius: 5px;
    text-align: center;
    padding: 5px 10px 5px 30px;
    font-size: 1.167em;
    text-decoration: none;
    font-weight: bold;
    background: url(../img/icon_contact.png) 10px center no-repeat #FFF;
    border: #3FA4D3 1px solid;
    color: #3FA4D3;
}
header .header-nav ul li a.link-contact{
	border: #3FA4D3 1px solid;
	color: #fff;
	background: url(../img/icon_contact.png) 10px center no-repeat #3FA4D3;
}
header .header-nav ul li a.link-contact:hover{
	border: #3FA4D3 1px solid;
	color:#3FA4D3;
	background: url(../img/icon_contact.png) 10px center no-repeat;
	text-decoration: none;
}
header .header-nav ul li a.link-entry{
	border: #FF8000 1px solid;
	color:#fff;
	background: url(../img/icon_entry.png) 10px center no-repeat #FF8000;
}
header .header-nav ul li a.link-entry:hover{
	color:#FF8000;
	background: url(../img/icon_entry.png) 10px center no-repeat;
	text-decoration: none;
}


header .sp-menu{
	display:none;
}
@media screen and (max-width: 737px){
	header {
		border-bottom:#CCC 1px solid;
	}
	header .description {
		display:none;
	}
	header .inner {
		width: auto;
		padding:10px ;
	}
	header .logo {
		margin:0;
	}
	header .logo img{
		width: 80%;
		height: auto;
	}
	header .header-nav {
		display:none;
	}
	header #menu{
		position: fixed;
		right:0;
		top:0;
		z-index:9999;
		background:#FF8000;
		color:#FFFFFF;
		font-size:0.76em;
		height:60px;
		overflow:hidden;
	}
	header #menu:before{
		content:"MENU";
		display:block;
		position:absolute;
		left:0;
		top:37px;
		width:60px;
		text-align: center;
		font-size:1.167em;
	}
	header #menu.close{
		background: url(../img/header_menu_bg02.png) center 40px no-repeat #31A9D8;
		background-size: auto 7px ;
	}
	header #menu a{
	  display: inline-block;
	  position: relative;
	  width: 60px;
	  height:60px;
	  overflow:hidden;
	}
	header #menu a span{
	  display: block;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  width: 24px;
	  height: 2px;
	  margin: -6px 0 0 -12px;
	  background: #FFF;
	  transition: .2s;
	  text-indent:-9999px;
	}
	header #menu a span:before, header #menu a span:after{
	  display: block;
	  content: "";
	  position: absolute;
	  top: 50%;
	  left: 0;
	  width: 24px;
	  height: 2px;
	  background: #FFF;
	  transition: .3s;
	}
	header #menu a span:before{
	  margin-top: -6px;
	}
	header #menu a span:after{
	  margin-top: 4px;
	}
	header #menu a .close{
	  background: transparent;
	}
	header #menu a .close:before, header #menu a .close:after{
	  margin-top: 0;
	}
	header #menu a .close:before{
	  transform: rotate(-45deg);
	  -webkit-transform: rotate(-45deg);
	}
	header #menu a .close:after{
	  transform: rotate(-135deg);
	  -webkit-transform: rotate(-135deg);
	}
}

header #menu{
	display:none;
}
@media screen and (max-width: 737px){
	header #menu{
		display:block;
	}
}
/*** ------------------------------------------------------------------------------ 

nav

-----------------------------------------------------------------------------  ***/
nav {
	margin:0 0 20px;
}
nav .logo{
	display: none;
}
nav ul{
	width:960px;
	margin:0 auto;
	font-size: 1.25em;
	font-weight: bold;
	border-right: #CCC 1px dotted;
}
nav ul li{
	float:left;
	width:16%;
}
nav ul li.nav-brazillian{
	width:20%;
}
nav ul li.sp{
	display:none;
}
nav ul li a{
	display:block;
	padding:40px 0 5px;
	text-align: center;
	border-left: #CCC 1px dotted;
	position:relative;
	color: #333 !important;
}
nav ul li a:before{
	content:"";
	width:34px;
	height:34px;
	border-radius:50%;
	position:absolute;
	left:50%;
	top:0;
	margin:0 0 0 -17px;
}
nav ul li.nav-home a:before{
	background: url(../img/icon_home.png) center center no-repeat #07005F;
}
nav ul li.nav-service a:before{
	background: url(../img/icon_service.png) center center no-repeat #07005F;
}
nav ul li.nav-company a:before{
	background: url(../img/icon_company.png) center center no-repeat #07005F;
}
nav ul li.nav-recruit a:before{
	background: url(../img/icon_recruit.png) center center no-repeat #07005F;
}
nav ul li.nav-brazillian a:before{
	background: url(../img/icon_brazillian.png) center center no-repeat #07005F;
}
nav ul li.nav-requirements a:before{
	background: url(../img/icon_requirements.png) center center no-repeat #07005F;
}
nav ul li a:hover{
	text-decoration: none;
}
nav ul li a:after{
	content:"";
	width:90%;
	height:3px;
	position:absolute;
	left:5%;
	bottom:0;
	background: #FFF;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
}
nav ul li a:hover:after,
#home nav ul li.nav-home a:after,
.service nav ul li.nav-service a:after,
#company nav ul li.nav-company a:after,
.recruit nav ul li.nav-recruit a:after,
.requirements nav ul li.nav-requirements a:after,
#education nav ul li.nav-recruit a:after,
#safety nav ul li.nav-recruit a:after,
#staff nav ul li.nav-recruit a:after{
	background: #07005F;
}
nav .contact,
nav .menu-btn{
	display:none;
}
@media screen and (max-width: 737px){
	nav {
		width: 100%;
		min-height: 100%;
		position: absolute;
		top: 0;
		left:0;
		z-index: 9998;
		display: none;
		box-sizing:border-box;
		background:#F5F5F5;
	}
	nav .logo{
		display:block;
		width: 100%; 
		border-bottom: #CCC 1px solid;
		background: #FFF;
		padding:10px ;
		box-sizing:border-box;
	}
	nav .logo img{
		width: 80%;
		height: auto;
	}
	nav ul{
		width: auto;
		margin:0 auto;
	}
	nav > ul{
		background:#F5F5F5;
		font-size:1.333em;
	}
	nav ul li{
		width:100% !important;
		border-bottom: 1px solid #CCC;
	}
	nav ul li.sp{
		display:block;
	}
	nav ul li a{
		text-indent:0;
		width: auto !important;
		height: auto;
		text-align: left;
		display: block;
		text-decoration: none;
		padding:13px 13px 13px 55px;
	}
	nav ul li a:after{
		display:none;
	}
	nav ul li a:before{
		content:"";
		width:34px;
		height:34px;
		border-radius:50%;
		position:absolute;
		left:10px;
		top:50%;
		margin:-17px 0 0 0;
	}
	nav ul li a:hover:after,
	#home nav ul li.nav-home a:after,
	#service nav ul li.nav-service a:after,
	#company nav ul li.nav-company a:after,
	.recruit nav ul li.nav-recruit a:after,
	#requirements nav ul li.nav-requirements a:after{
		display:none;
	}
	nav .contact,
	nav .menu-btn{
		display: block;
	}
	nav > ul.contact{
		margin:15px 10px;
		text-align: center;
	}
	nav > ul.contact li{
		float:left;
		width:49%;
		border:none;
	}
	nav > ul.contact li:nth-child(2){
		float:right;
		width:49%;
	}
	nav > ul.contact li a{
		background: #FF8C00 !important;
		text-align: center;
		color: #FFF !important;
		padding: 10px;
		display:block;
	}
	nav > ul.contact li a img{
		max-width:100%;
		height: 25px;
		width: auto;
		margin:0 5px 0 0;
	}
	nav p.menu-btn a{
		display:block;
		background: #666;
		color:#FFFFFF;
		padding:10px 10px;
		text-align: center;
		margin:10px;
		font-size:1.167em;
	}
	nav p.menu-btn a:hover{
		text-decoration: none;
	}
	nav p.menu-btn a span{
		/*display:inline-block;
		padding:0 0 0 25px;
		background: url(../img/icon_close.png) left center no-repeat;
		background-size: 11px auto;*/
	}
	
	nav p.menu-btn a span{
		display:inline-block;
		background-size: 11px auto;
	}
}
@media screen and (min-width: 737px){
	nav{
		display:block !important;
	}
}
	
/*** ------------------------------------------------------------------------------ 

visual

-----------------------------------------------------------------------------  ***/
#visual {
	width:100%;
	overflow:hidden;
	position:relative;
	text-align: center;
	font-size: 2.5em;
	color:#FFFFFF;
	height: 180px;
	line-height: 180px;
	letter-spacing:1px;
	margin:0 0 10px;
}
@media screen and (max-width: 737px){
	#visual {
		height: 120px;
		line-height: 120px;
	}
}

#recruit #visual{
	height:auto;
	line-height:normal;
	font-size: 1em;
}

#home #visual {
	font-size: 1em;
	height: auto;
	line-height: 1.6;
	letter-spacing: normal;
	margin:0 auto;
	background:url("../../imgs/home/visual_bg.png") left bottom / auto 0px repeat-x #efefef ;
	width:calc(100% - 136px);
}
@media screen and (max-width: 737px){
	#home #visual {
		width:100%;
	}
}
/* HOME */
#visual ul.slider{
	width:100% !important;
	display:block !important;
	min-width:960px;
	height:470px;
	background: url(../../imgs/home/visual_bg.png) left bottom repeat-x #EFEFEF;
}
#visual ul.slider li {
	width:100% !important;
	text-indent:-9999px;
	display:block;
	height:470px;
	cursor:default;
}
#visual ul.slider li:nth-child(1) {
	background: url(../../imgs/home/visual_img01.jpg) center center no-repeat;
}
#visual ul.slider li:nth-child(2) {
	background: url(../../imgs/home/visual_img02.jpg) center center no-repeat;
}
#visual ul.slider li:nth-child(3) {
	background: url(../../imgs/home/visual_img03.jpg) center center no-repeat;
}
#visual .visual-pager {
	text-align: center;
	position:relative;
	z-index:999;
}
#visual .visual-pager a{
	display:inline-block;
	width:12px;
	height:12px;
	text-indent:-9999px;
	border-radius:50%;
	background:#ccc;
	margin:0 5px;
}
#visual .visual-pager a.activeSlide{
	background:#31A9D8;
}
#visual .visual-control li{
	position:absolute;
	width:38px;
	height:38px;
	left:50%;
	top:50%;
	margin:-19px 0 0;
	border-radius:50%;
	background:#31A9D8;
	z-index:9990;
	text-indent:-9999px;
	cursor:pointer;
}
#visual .visual-control li.next{
	margin:-15px 0 0 500px;
}
#visual .visual-control li.prev{
	margin:-15px 0 0 -538px;
}
#visual .visual-control li.next:after{
	content:"";
	display:block;
	position: relative;
	width:0;
	height:0;
	border:10px #31A9D8 solid;
	border-left:10px #fff solid;
	margin:-10px 0 0 15px;
}
#visual .visual-control li.prev:after{
	content:"";
	display:block;
	position: relative;
	width:0;
	height:0;
	border:10px #31A9D8 solid;
	border-right:10px #fff solid;
	margin:-10px 0 0 2px;
}

@media screen and (max-width: 737px){
	#home #visual{
		height: auto;
	}
	#home #visual img{
		width: 100%;
	}
	#home #visual:before{
		content:"";
		display:block;
/*		padding:37% 0 0;*/
	}
	#visual ul.slider{
		position:absolute !important;
		left:0;
		top:0;
		min-width:0px;
		height: auto !important;
	}
	#visual ul.slider li {
		width:100% !important;
		text-indent: 0;
		height: auto;
		background: none !important;
	}
	#visual ul.slider li img{
		width:100%;
		height: auto;
	}
	#visual .visual-pager {
		margin:10px 0 0;
	}
	#visual .visual-control li{
		width:20px;
		height:20px;
	}
	#visual .visual-control li.next{
		margin:-10px 0 0;
		left:auto;
		right:5px;
	}
	#visual .visual-control li.prev{
		margin:-10px 0 0;
		left:5px;
	}
	#visual .visual-control li.next:after{
		border:5px #0074b9 solid;
		border-left:5px #fff solid;
		margin:-14px 0 0 8px;
	}
	#visual .visual-control li.prev:after{
		border:5px #0074b9 solid;
		border-right:5px #fff solid;
		margin:-14px 0 0 2px;
	}
}

/*** ------------------------------------------------------------------------------ 

cont

-----------------------------------------------------------------------------  ***/
#cont {
	width:960px;
	margin:0 auto;
}
#home #cont {
	width: auto;
	padding:50px 0 0;
}
@media screen and (max-width: 737px){
	#cont {
		padding:5px 0 0;
		width: auto;
	}
	#home #cont {
		padding:20px 0 0;
	}
}
	
/*** ------------------------------------------------------------------------------ 

main

-----------------------------------------------------------------------------  ***/
#main {
	width:700px;
	float:left;
	margin:0 0 30px;
}
@media screen and (max-width: 737px){
	#main {
		width:100%;
		float: none;
		margin:0 0 10px;
	}
}

	
/*** ------------------------------------------------------------------------------ 

sub

-----------------------------------------------------------------------------  ***/
#sub {
	width:230px;
	float:right;
	margin:0 0 30px;
}
@media screen and (max-width: 737px){
	#sub {
		display:none;
	}
}

/* sub-nav */
#sub dl.sub-nav {
	margin:0 0 20px;
}
#sub dl.sub-nav dt a{
	display:block;
	color:#FFFFFF;
	font-size:1.5em;
	padding:6px 10px 6px 45px;
	letter-spacing:1px;
	border-bottom:#07005F 1px solid;
	border-top: #FFFFFF 1px solid;
}
#sub dl.sub-nav dt.nav-service a{
	background: url(../img/icon_service.png) 10px center no-repeat , url(../img/icon_arrow06.png) right 10px center no-repeat #07005F;
}
#sub dl.sub-nav dt.nav-recruit a{
	background: url(../img/icon_recruit.png) 10px center no-repeat , url(../img/icon_arrow06.png) right 10px center no-repeat #07005F;
}
#sub dl.sub-nav dt.nav-company a{
	background: url(../img/icon_company.png) 10px center no-repeat , url(../img/icon_arrow06.png) right 10px center no-repeat #07005F;
}
#sub dl.sub-nav dt a:hover{
	text-decoration: none;
}
#sub dl.sub-nav dd ul{
	border-right:#CCC 1px solid;
	border-left:#CCC 1px solid;
	font-size:1.167em;
}
#sub dl.sub-nav dd ul li a{
	position:relative;
	display:block;
	padding:7px 10px 7px 22px;
	border-bottom:#CCC 1px solid;
	border-top:#FFF 1px solid;
	background: #f8f7ff;
	color:#333;
}
#sub dl.sub-nav dd ul li:last-child a{
	border-bottom: none;
}
#sub dl.sub-nav dd:last-child ul li:last-child a{
	border-bottom:#CCC 1px solid;
}
#sub dl.sub-nav dd ul li a:hover,
#service #sub dl.sub-nav dd ul li.sub-nav-service a,
#safety #sub dl.sub-nav dd ul li.sub-nav-safety a,
#environment #sub dl.sub-nav dd ul li.sub-nav-environment a,
#about #sub dl.sub-nav dd ul li.sub-nav-about a,
#beginner #sub dl.sub-nav dd ul li.sub-nav-beginner a,
#education #sub dl.sub-nav dd ul li.sub-nav-education a,
#event #sub dl.sub-nav dd ul li.sub-nav-event a,
#family #sub dl.sub-nav dd ul li.sub-nav-family a,
.requirements #sub dl.sub-nav dd ul li.sub-nav-requirements a,
#entry #sub dl.sub-nav dd ul li.sub-nav-entry a,
#welfare #sub dl.sub-nav dd ul li.sub-nav-welfare a,
#works #sub dl.sub-nav dd ul li.sub-nav-works a,
#staff #sub dl.sub-nav dd ul li.sub-nav-staff a,
#brazillian-jp #sub dl.sub-nav dd ul li.sub-nav-brazillian a,
#brazillian-bz #sub dl.sub-nav dd ul li.sub-nav-brazillian a,
#special-skill #sub dl.sub-nav dd ul li.sub-nav-skill a{
	background: #CCC;
	border-top:#CCC 1px solid;
	text-decoration: none;
}
#sub dl.sub-nav dd ul li a:after{
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
	content:"";
	display:block;
	position:absolute;
	left:10px;
	top: 17px;
	margin:-4px 0 0;
	width:0;
	height:0;
	border:#F7F7F7 4px solid;
	border-left: #07005F 4px solid;
}
#sub dl.sub-nav dd ul li a:hover:after,
#service #sub dl.sub-nav dd ul li.sub-nav-service a:after,
#safety #sub dl.sub-nav dd ul li.sub-nav-safety a:after,
#environment #sub dl.sub-nav dd ul li.sub-nav-environment a:after,
#about #sub dl.sub-nav dd ul li.sub-nav-about a:after,
#beginner #sub dl.sub-nav dd ul li.sub-nav-beginner a:after,
#education #sub dl.sub-nav dd ul li.sub-nav-education a:after,
#event #sub dl.sub-nav dd ul li.sub-nav-event a:after,
#family #sub dl.sub-nav dd ul li.sub-nav-family a:after,
.requirements #sub dl.sub-nav dd ul li.sub-nav-requirements a:after,
#entry #sub dl.sub-nav dd ul li.sub-nav-entry a:after,
#welfare #sub dl.sub-nav dd ul li.sub-nav-welfare a:after,
#works #sub dl.sub-nav dd ul li.sub-nav-works a:after,
#staff #sub dl.sub-nav dd ul li.sub-nav-staff a:after,
#brazillian-jp #sub dl.sub-nav dd ul li.sub-nav-brazillian a:after,
#brazillian-bz #sub dl.sub-nav dd ul li.sub-nav-brazillian a:after,
#special-skill #sub dl.sub-nav dd ul li.sub-nav-skill a:after{
	border:#CCC 4px solid;
	border-left: #07005f 4px solid;
}

/* sub-nav.sub-blog */
#sub dl.sub-nav.sub-blog dt {
	display:block;
	color:#FFFFFF;
	font-size:1.5em;
	padding:6px 10px;
	letter-spacing:1px;
	background: #07005f;
}
#sub dl.sub-nav.sub-blog dd span{
	display:block;
}
#sub dl.sub-nav.sub-blog dd.calender{
	border-right: 1px #CCC solid;
	border-left: 1px #CCC solid;
	padding:10px;
}
@media screen and (max-width: 737px){
	#blog #sub {
		display:block;
		width: 100%;
		margin:0;
	}
	#sub dl.sub-nav.sub-blog{
		margin:0;
	}
}

/* banner */
#sub .banner {
	margin:0 0 20px;
}
#sub .banner li{
	margin:0 0 10px;
}
#sub .banner li:last-child{
	margin:0;
}

/* contact */
#sub .contact {
	border:#07005F 2px solid;
	background: url(../img/sub_contact_bg.jpg) right 105px no-repeat;
}
#sub .contact h4{
	text-align: center;
	background: #07005F;
	color:#FFF;
	padding:5px 0;
	font-size:1.5em;
	font-weight: bold;
}
#sub .contact .inner{
	padding:10px;
}
#sub .contact .inner .tel{
	margin:0 0 10px;
}
#sub .contact .inner dl {
	margin: 20px 0 40px;
}
#sub .contact .inner dl dt{
	font-size:1.167em;
	font-weight: bold;
	text-indent:-6px;
}
#sub .contact .inner dl dd{
	font-size:1.083em;
}
#sub .contact ul {
	font-size: 1.167em;
}
#sub .contact ul li {
	margin:0 0 10px;
}
#sub .contact ul li:last-child{
	margin:0;
}
#sub .contact ul a{
	display:block;
	background:#FF6666;
	border-radius:5px;
	padding:10px 10px 10px 50px;
	text-align: center;
	color:#FFF;
	font-weight: bold;
	box-sizing:border-box;
}
#sub .contact ul a.link-contact{
	background: url(../img/icon_contact.png) 10px center no-repeat #31A9D8;
}
#sub .contact ul a.link-entry{
	background: url(../img/icon_entry.png) 10px center no-repeat #ff8800;
    border: #FF8000 1px solid;
}
#sub .contact ul a:hover{
	text-decoration: none;
}
#sub .contact ul a.link-contact:hover{
	background: url(../img/icon_contact.png) 10px center no-repeat #026EAE;
}
#sub .contact ul a.link-entry:hover{
	background: url(../img/icon_entry.png) 10px center no-repeat #fff;
    border: #FF8000 1px solid;
	color:#ff8800;
	
}

/*** ------------------------------------------------------------------------------ 

footer

-----------------------------------------------------------------------------  ***/
footer {
	background: #07005F;
	clear:both;
	margin:0 0 10px;
	color:#FFF;
}
footer .inner{
	padding:20px 0 20px;
	width:960px;
	margin: 0 auto;
}
@media screen and (max-width: 737px){
	footer .inner{
		width: auto;
		padding:0;
	}
}

footer .inner .footer-nav{
	float:left;
	width: 730px;
}
footer .inner .footer-nav ul{
	float:left;
	font-size:1.167em;
}
footer .inner .footer-nav ul:nth-child(1){
	width:120px;
}
footer .inner .footer-nav ul:nth-child(2){
	width:220px;
}
footer .inner .footer-nav ul:nth-child(3){
	width:220px;
}
footer .inner .footer-nav ul:nth-child(4){
	width:170px;
}
footer .inner .footer-nav ul li{
	margin:0 0 10px;
}
footer .inner .footer-nav ul li a{
	color:#FFF;
	padding:0 0 0 20px;
	position:relative;
}
footer .inner .footer-nav ul li a:before{
	content:"";
	width:12px;
	height: 12px;
	background: #FFF;
	display:block;
	border-radius:50%;
	position:absolute;
	left:0;
	top:50%;
	margin:-6px 0 0;
}
footer .inner .footer-nav ul li a:after{
	content:"";
	width:0px;
	height: 0px;
	display:block;
	position:absolute;
	left:5px;
	top:50%;
	margin:-3px 0 0;
	border:3px #FFFFFF solid;
	border-left:3px #07005F solid;
}
@media screen and (max-width: 737px){
	footer .inner .footer-nav{
		float: none;
		width:  auto;
	}
	footer .inner .footer-nav ul{
		float: none;
		width: auto !important;
	}
	footer .inner .footer-nav ul:last-of-type{
		border-bottom: #ccc 1px solid;
	}
	footer .inner .footer-nav ul li{
		margin:0;
		border-bottom: #666 1px solid;
		border-top: #ccc 1px solid;
	}
	footer .inner .footer-nav ul li a{
		display:block;
		padding:10px 10px 10px 30px;
	}
	footer .inner .footer-nav ul li a:hover{
		text-decoration: none;
	}
	footer .inner .footer-nav ul li a:before{
		left:10px;
	}
	footer .inner .footer-nav ul li a:after{
		left:15px;
	}
}

footer .inner .info{
	float: right;
	width: 180px;
	text-align: right;
}
footer .inner .info h5{
	font-size: 1.500em;
	font-weight: bold;
}
footer .inner .info p{
	line-height:1.8;
	margin:0 0 15px;
}
@media screen and (max-width: 737px){
	footer .inner .info{
		float: none;
		width: auto;
		padding:10px;
		text-align: left;
	}
	footer .inner .info p{ margin: 0;}
	footer .inner .info ul {
		margin:0 0 20px;
		text-align: left;
	}
	footer .inner .info ul li{
		margin:0 10px 0 0;
	}
	
}

.copyright{
	text-align: center;
	margin:0 0 10px;
}
@media screen and (max-width: 737px){
	.copyright{
		font-size:0.743em;
		padding:10px 10px 60px;
		text-align: left;
	}
}
/*** ------------------------------------------------------------------------------ 

ヘルプボタン

-----------------------------------------------------------------------------  ***/
#help {
	position:fixed;
	right:0;
	top:50px;
	z-index:9999;
}
#help a{
	display:block;
/*	background: #07005F;*/
/*	border-radius:5px 0 0 5px;*/
	overflow:hidden;
}
@media screen and (max-width: 737px){
	#help{
		display:none;
	}
}
/* modal */
#lean_overlay{
  position: fixed;
  z-index:9999; 
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background: #000;
  display: none;
}
.modal_a{
  position: fixed;
  top:43px;
  right:0;
}
@media screen and (max-width: 737px){
	.modal_a{
		display:none;
	}
}
#div787{
  background: none repeat scroll 0 0 #FFFFFF;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
  display: none;
  width: 600px;
  border-radius:7px;
  top:10% !important;
  box-sizing:border-box;
  overflow:hidden;
 }
.modal_close{ 
  position: absolute;
  top: 12px;
  right: 12px;
  display: block; 
  width: 14px;
  height: 14px; 
/*  background: url(../img/modal_close.png);*/
  z-index: 2;
}
#div787 > p{
	font-size:1.333em;
  padding: 20px 30px 20px;
}
#div787 h2{
	font-size: 2em;
	font-weight: bold;
	background: url(../img/bg_slash.png) #07005F;
	color:#FFF;
	padding:20px;
}
#div787 .box {
  padding: 0 30px 30px;
  position:relative;
  background: url(../img/modal_bg.png) right bottom no-repeat;
}
#div787 .box p{
	font-size: 1.167em;
	font-weight: bold;
	margin:0 0 10px;
}
#div787 .box ul{
	font-size: 1em !important;
	margin:0 0 20px;
	width: 390px;
}
#div787 .box ul:last-child{
	margin:0;
}
#div787 .box ul li {
	margin:0 0 10px;
}
#div787 .box ul li a{
	width: 390px !important;
}
#div787 .box ul li a.link-contact{
	border: #31A9D8 1px solid !important;
	color: #31A9D8;
	background-color: #FFF !important;
}
#div787 .box ul li a.link-entry{
	border: #FF8C00 1px solid !important;
	color: #FF8C00;
	background-color: #FFF !important;
}
#div787 .box ul li a.link-entry:hover{
	color: #fff;
	background-color: #ff8800 !important;
}

/*** ------------------------------------------------------------------------------ 

トップアンカー

-----------------------------------------------------------------------------  ***/
#scroll {
	position:absolute;
	right:50%;
	margin:0 -550px 0 0;
	width:50px;
	height:50px;
	bottom:130px;
	z-index:9999;
}
#scroll.ptop {
	position: fixed;
	right:50%;
	margin:0 -550px 0 0;
	bottom:40px;
}
#scroll a{
	display:block;
	background: #000;
	width:50px;
	height:50px;
	border-radius:50%;
	position:relative;
	text-indent:-9999px;
}
#scroll a:after{
	content:"";
	width:0;
	height:0;
	position:absolute;
	left:15px;
	top:10px;
	border: #000 10px solid;
	border-bottom: #FFF 10px solid;
}
#scroll .tel{
	display:none;
}
#scroll ul li:nth-child(4){
	display: none;
}
@media screen and (max-width: 737px){
	#scroll,
	#scroll.ptop {
		position:fixed !important;
		right:0;
		margin:0;
		bottom:0;
		width: 100%;
		height: auto;
	}
	#scroll a{
		display:block;
		background: none;
		width: auto;
		height: auto;
		border-radius:0;
		text-indent:0;
		color:#FFFFFF;
	}
	#scroll a:after{
		display:none;
	}
	#scroll .tel{
		display: block;
	}
	
	#scroll ul{
		width: 100%;
		background: #CCC;
	}
	#scroll ul li{
		float:left;
		text-align: center;
	}
	#scroll ul li:nth-child(1),
	#scroll ul li:nth-child(2),
	#scroll ul li:nth-child(4){
		width: calc(100% / 3);
		overflow:hidden;
	}
	#scroll ul li:nth-child(1) a,
	#scroll ul li:nth-child(2) a{
		padding:14px 0 11px;
		background: #FF8000;
		box-sizing:border-box;
		border-right:1px #FFFFFF solid;
		display:block;
	}
	#scroll ul li a:hover{
		text-decoration: none;
	}
	#scroll ul li a i{
		font-size: 20px;
	}
	
	#scroll ul li:nth-child(1) img,
	#scroll ul li:nth-child(2) img{
		height:27px;
		width: auto;
		margin:0 10px 0 0;
	}
	#scroll ul li:nth-child(3) {
		display: none;
		width:14%;
		overflow:hidden;
	}
	#scroll ul li:nth-child(3) a{
		padding: 0;
		background: #CCC;
		box-sizing:border-box;
		display:none;
		position:relative;
		height: 50px;
	}
	#scroll ul li:nth-child(3) a:after{
		content:"";
		display:block;
		width:0;
		height:0;
		position:absolute;
		left:50%;
		margin:0 0 0 -10px;
		top:10px;
		border: #CCC 10px solid;
		border-bottom: #FFF 10px solid;
	}
	#scroll ul li:nth-child(4) {
		display: block;
	}
	#scroll ul li:nth-child(4) a{
		position: relative;
		padding:14px 0 11px;
		background: #FF8000;
		box-sizing:border-box;
		display:block;
	}
}

@media screen and (max-width: 360px){
	#scroll ul li {
		font-size: 0.833em;
	}
}

/*** ------------------------------------------------------------------------------ 

トピックパス

-----------------------------------------------------------------------------  ***/
#topic-pass {
	margin: 0 0 10px;
	color:#333;
	background: url(../img/topicpass_icon.png) 5px center no-repeat;
	padding: 0 0 0 25px;
}
#topic-pass a{
	color:#31A9D8;
	text-decoration: underline;
}
#topic-pass a:hover{
	color:#31A9D8;
	text-decoration: none;
}
#topic-pass li{
	float:left;
}
#topic-pass li span{
	display:inline-block;
	padding:0 5px;
}

/*** ------------------------------------------------------------------------------ 

他
-----------------------------------------------------------------------------  ***/
.main-banner-line{
	margin:0 0 10px;
	text-align: center;
}
.main-banner-line img{
	width: 100%;
	height: auto;
}
#home .main-banner-line img{
	width: auto;
}
.main-banner-line.stamp{
	margin:0 0 50px;
}
@media screen and (max-width: 737px){
	.main-banner-line{
		margin:0 10px 10px;
	}
	.main-banner-line.stamp{
		margin:0 10px 50px;
	}
}


/*** ------------------------------------------------------------------------------ 

youtubeレスポンシブ化
-----------------------------------------------------------------------------  ***/
.youtube{text-align: center;}
@media screen and (max-width: 737px){
	.youtube {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
		margin: 20px 10px;
	}
	.youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

/*** ------------------------------------------------------------------------------ 

LINE ボタン（スマホ用）

-----------------------------------------------------------------------------  ***/
#line-sp-btn{ display: none;}

@media screen and (max-width: 737px){
	#line-sp-btn{
		display: block;
		position: fixed;
		right: 7px;
		bottom: 60px;
	}
	#line-sp-btn a{
		display: inline-block;
		width: 70px;
		height: 70px;
		background: url(../img/line-logo.png) no-repeat center top 10px #38af36;
		background-size: 40px auto;
		color: #fff;
		font-size: 9px;
		text-align: center;
		box-sizing: border-box;
		padding: 50px 0 0 0;
	}
	#line-sp-btn a:hover{ text-decoration: none;}
}



/*** ------------------------------------------------------------------------------ 

バナー

-----------------------------------------------------------------------------  ***/
.banner a:hover{opacity: 0.6;}




/*** ------------------------------------------------------------------------------ 

#backGuide

-----------------------------------------------------------------------------  ***/
#backGuide,
#backGuide p {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#backGuide {
	display: none;
	position: fixed !important;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 9999;
}
#backGuide p {
	display: block;
	max-width: 600px;
	width: 90%;
	height: calc(100vh - 70vh);
	line-height: 80px;
	font-size: 200px;
	margin: auto;
	cursor: pointer;
	font-weight: bold;
}
#backGuide p a:hover {
	opacity: 0.8;
	cursor: pointer;
}
#backGuide p img {
	width: 100%;
	height: auto;
}












