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

reset

-----------------------------------------------------------------------------  ***/
html {
	scroll-behavior: smooth;
}
.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.7;
	font-size: 12px;
	font-family: 'Plus Jakarta Sans', 'Zen Kaku Gothic New', 'Noto Sans JP', system-ui, sans-serif;
	font-feature-settings: "palt" 1, "pkna" 1;
	letter-spacing: 0.01em;
}
body.menu-open {
	background:#F5F5F5;
}

.pc{
	display:block !important;
}
.sp{
	display:none !important;
}
@media screen and (max-width: 1024px){
	.pc{
		display:none !important;
	}
	.sp{
		display:block !important;
	}
}
/*** ------------------------------------------------------------------------------ 

リンク

-----------------------------------------------------------------------------  ***/
/* 基本 */
a{
	outline:none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
}
a:link {
	color: #333;
	text-decoration: none;
}
a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #333;
	text-decoration:underline;
}
a:active {
	color: #333;
	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 {
	font-size:0.917em;
	background: #004098;
	color:#FFFFFF;
	margin:0 0 20px;
}
header .description span{
	display:block;
	width:960px;
	margin:0 auto;
}
header .inner {
	width:960px;
	margin:0 auto;
	position:relative;
}
header .logo {
	margin:0 0 20px;
}
header .header-nav{
	position:absolute;
	top:0;
	right:0;
}
header .header-nav ul{
	float:left;
	margin:0 0 0 15px;
}
header .header-nav ul.tel{
	width:285px;
}
header .header-nav ul.form{
	width:206px;
	padding:5px 0 0;
}
header .header-nav ul.form li a.header-entry-btn img{
	transition:opacity .2s;
}
header .header-nav ul.form li a.header-entry-btn:hover img{
	opacity:0.8;
}
header .sp-menu{
	display:none;
}

header .header-nav ul.tel li .txt{
	font-size: 11px;
	font-weight: bold;
}
header .header-nav ul.tel li .txt-tel{
	display: flex;
	align-items: center;
	margin: 3px 0 0;
}
header .header-nav ul.tel li .txt-tel .txt01{
	width: 80px;
	display: block;
	background: #004098;
	color: #fff;
	text-align: center;
	padding: 2px 0;
	box-sizing: border-box;
	font-size: 11px;
}
header .header-nav ul.tel li .txt-tel .txt02{
	width: calc(100% - 80px);
	display: block;
	padding: 0 0 0 10px;
	box-sizing: border-box;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.0;
}


@media screen and (max-width: 1024px){
	header {
		border-bottom:#CCC 1px solid;
	}
	header .description {
		display:none;
	}
	header .inner {
		width: auto;
		padding:10px ;
	}
	header .logo {
		margin:0;
	}
	header .logo img{
		width: auto;
		height:36px;
	}
	header .header-nav {
		display:none;
	}
	header #menu{
		position: fixed;
		right:0;
		top:0;
		z-index:9999;
		background:#004098;
		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 #004098;
		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: 1024px){
	header #menu{
		display:block;
	}
}
/*** ------------------------------------------------------------------------------ 

nav

-----------------------------------------------------------------------------  ***/
nav {
	margin:0 0 20px;
}
nav .logo{
	display: none;
}
nav > ul{
	width:960px;
	margin:0 auto;
	font-size: 1.333em;
	font-weight: bold;
	border-right: #CCC 1px dotted;
}
nav > ul > li{
	float:left;
	width:16.6%;
	position:relative;
}

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;
}
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 #004098;
}
nav ul li.nav-service a:before{
	background: url(../img/icon_service.png) center center no-repeat #004098;
}
nav ul li.nav-company a:before{
	background: url(../img/icon_company.png) center center no-repeat #004098;
}
nav ul li.nav-recruit a:before{
	background: url(../img/icon_recruit.png) center center no-repeat #004098;
}
nav ul li.nav-requirements a:before{
	background: url(../img/icon_requirements.png) center center no-repeat #004098;
}
nav ul li.nav-blog a{
	padding:2px 0 5px;
}
nav ul li.nav-blog a:before{
	display:none;
}
nav ul li.nav-blog i.fa.fa-instagram {
	width:30px;
	content:url(/common/img/insta-icon.png);
}
nav ul li.nav-instagram a:before{
	background: #004098;
}
nav ul li.nav-instagram i.fa.fa-instagram{
	position:absolute;
	top:0;
	left:50%;
	width:34px;
	height:34px;
	margin:0 0 0 -17px;
	line-height:34px;
	text-align:center;
	font-size:20px;
	color:#FFF;
	z-index:1;
}
nav ul li.nav-instagram a br{
	display:none;
}
nav ul li.nav-briefing a:before{
	background: url(../img/icon-briefing.png) center center no-repeat #004098;
}
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-recruit a:after,
.requirements nav ul li.nav-requirements a:after,
.blog nav ul li.nav-blog a:after{
	background: #004098;
}
nav .contact,
nav .menu-btn{
	display:none;
}
@media screen and (max-width: 1024px){
	
	nav {
		width: 100%;
		min-height: 100%;
		position: absolute;
		top: 0;
		left:0;
		z-index: 9998;
		display: none;
		box-sizing:border-box;
		background:#F5F5F5;
		padding: 0 0 60px;
	}
	nav .logo{
		display:block;
		width: 100%; 
		border-bottom: #CCC 1px solid;
		background: #FFF;
		padding:10px ;
		box-sizing:border-box;
	}
	nav .logo img{
		height:36px;
		width: auto;
	}
	nav ul{
		width: auto;
		margin:0 auto;
	}
	nav > ul{
		background:#F5F5F5;
		font-size:1.333em;
		border-right: none;
	}
	nav ul li{
		width:100%;
		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,
	#blog nav ul li.nav-requirements a:after{
		display:none !important;
	}
	nav ul li.nav-blog a{
		padding:13px;
		display:flex;
		vertical-align:middle;
		align-items:center;
	}
	nav ul li.nav-blog br{
		display:none;
	}
	nav ul li.nav-blog i.fa.fa-instagram {
		margin:0 13px 0 0;
	}
	nav ul li.nav-instagram i.fa.fa-instagram{
		left:10px;
		top:50%;
		margin:-17px 0 0 0;
	}
	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;
		margin-bottom:10px;
	}
	nav > ul.contact li:nth-child(2){
		float:right;
		width:49%;
	}
	nav > ul.contact li a{
		background: #004098 !important;
		text-align: center;
		color: #FFF;
		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;
	}
}
@media screen and (min-width: 1025px){
	nav{
		display:block !important;
	}
}



/* droppy */
nav ul li ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	z-index: 9999;
	font-size: 1.0em !important;
}

nav ul li ul li {
	background: none;
	float: none;
	font-size: 0.933em !important;
	font-weight: normal;
	white-space: normal;
}

nav ul li ul li a {
	height: auto;
	padding: 12px 8px;
	background: rgba(0,64,152,0.9) !important;
	border-bottom: solid 2px rgba(255,255,255,0.8);
	text-indent:0;
	vertical-align: middle;
	box-sizing: border-box;
	display: block;
	color: #fff !important;
	text-decoration: none;
	font-size: 0.82em;
	line-height: 1.35;
	white-space: normal;
	word-break: break-all;
}


nav ul li ul li a:hover {
	background: rgba(0,90,200,0.9) !important;
	color: #fff;
}

/* 会社概要サブメニュー: エースカーゴ説明パネル */
nav ul li ul li.subnav-intro {
	background: rgba(0,64,152,0.95);
	padding: 0;
	cursor: pointer;
}
nav ul li ul li.subnav-intro > a {
	display: block;
	padding: 14px 16px;
	text-decoration: none;
	transition: background .2s;
}
nav ul li ul li.subnav-intro > a:hover {
	background: rgba(0,64,152,1);
}
nav ul li ul li.subnav-intro > a:hover .subnav-intro-title {
	text-decoration: underline;
}
nav ul li ul li.subnav-intro .subnav-intro-title {
	color: #fff;
	font-weight: bold;
	font-size: 0.9em;
	margin: 0 0 6px;
	letter-spacing: 0.05em;
}
nav ul li ul li.subnav-intro .subnav-intro-desc {
	color: rgba(255,255,255,0.85);
	font-size: 0.78em;
	line-height: 1.65;
	margin: 0;
	white-space: normal;
	word-break: break-all;
}

nav ul li.nav-recruit ul li a:before,
nav ul li.nav-recruit ul li a:after,
nav ul li.nav-service ul li a:before,
nav ul li.nav-service ul li a:after,
nav ul li.nav-company ul li a:before,
nav ul li.nav-company ul li a:after {
	display: none;
}

@media screen and (max-width: 1024px){
	nav ul li ul{
		position: relative !important;
		display: block !important;
		height: auto !important;
		width: 100%;
		border-top: 1px dotted #ccc;
	}
	
	/*
	nav ul li ul{
		display: none !important;
	}
	*/
	
	nav ul li ul li {
		border-bottom: 1px dotted #ccc !important;
		float: none;
		font-size: 1em;
	}
	
	nav ul li ul li:first-child {
		border-top: #fff 1px dotted;
	}
	
	nav ul li ul li:last-child{
		border: none !important;
	}
	
	nav ul li ul li a{
		padding:8px 10px 8px 55px;
		font-size:1.167em;
		background: transparent !important;
		border-bottom: none;
		color:#333 !important;
	}
	
	nav ul li ul li a br {
		display: none;
	}
	
	nav ul li ul li a:hover {
		color:#333 !important;
	}
	
	nav ul li ul li:last-child{
		border-bottom:none;
	}
}
/*** ------------------------------------------------------------------------------ 

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: 1024px){
	#visual {
		height: 120px;
		line-height: 120px;
	}
}
#home #visual {
	font-size: 1em;
	height: auto;
	line-height: 1.6;
	letter-spacing: normal;
	margin:0;
}
/* 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:#004098;
}
#visual .visual-control li{
	position:absolute;
	width:38px;
	height:38px;
	left:50%;
	top:50%;
	margin:-19px 0 0;
	border-radius:50%;
	background:#004098;
	z-index:9990;
	text-indent:-9999px;
	cursor:pointer;
}
#visual .visual-control li.next{
	margin:-15px 0 0 450px;
}
#visual .visual-control li.prev{
	margin:-15px 0 0 -488px;
}
#visual .visual-control li.next:after{
	content:"";
	display:block;
	position: relative;
	width:0;
	height:0;
	border:10px #004098 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 #004098 solid;
	border-right:10px #fff solid;
	margin:-10px 0 0 2px;
}

@media screen and (max-width: 1024px){
	#home #visual{
		height: auto;
	}
	/*#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 #004098 solid;
		border-left:5px #fff solid;
		margin:-14px 0 0 8px;
	}
	#visual .visual-control li.prev:after{
		border:5px #004098 solid;
		border-right:5px #fff solid;
		margin:-14px 0 0 2px;
	}

}

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

cont

-----------------------------------------------------------------------------  ***/
#cont {
	width:960px;
	margin:0 auto;
}
#home #cont {
	width: auto;
	padding:12px 0 0;
}
@media screen and (max-width: 1024px){
	#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: 1024px){
	#main {
		width:100%;
		float: none;
		margin:0 0 10px;
	}
}

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

sub

-----------------------------------------------------------------------------  ***/
#sub {
	width:230px;
	float:right;
	margin:0 0 30px;
}

/* 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;
}
#sub dl.sub-nav dt.nav-service a{
	background: url(../img/icon_service.png) 10px center no-repeat,url(../img/icon_arrows.png) right 10px center no-repeat #004098;
	border-bottom:1px solid #FFF;
}
#sub dl.sub-nav dt.nav-recruit a{
	background: url(../img/icon_recruit.png) 10px center no-repeat,url(../img/icon_arrows.png) right 10px center no-repeat #004098;
}
#sub dl.sub-nav dt.nav-company a{
	background: url(../img/icon_company.png) 10px center no-repeat,url(../img/icon_arrows.png) right 10px center no-repeat #004098;
}
#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: #FFFFFF;
	color:#333;
}
#sub dl.sub-nav dd ul li a:hover,
#service #sub dl.sub-nav dd ul li.sub-nav-service a,
#freight #sub dl.sub-nav dd ul li.sub-nav-freight a,
#refrigerator #sub dl.sub-nav dd ul li.sub-nav-refrigerator a,
#tanklorry #sub dl.sub-nav dd ul li.sub-nav-tanklorry a,
#coil #sub dl.sub-nav dd ul li.sub-nav-coil a,
#vehicleintroduction #sub dl.sub-nav dd ul li.sub-nav-vehicleintroduction a,
#partner #sub dl.sub-nav dd ul li.sub-nav-partner 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,
#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{
	background: #F2F2F2;
	border-top:#F2F2F2 1px solid;
	border-bottom:#F2F2F2 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:50%;
	margin:-4px 0 0;
	width:0;
	height:0;
	border:#FFFFFF 4px solid;
	border-left:#004098 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,
#freight #sub dl.sub-nav dd ul li.sub-nav-freight a:after,
#refrigerator #sub dl.sub-nav dd ul li.sub-nav-refrigerator a:after,
#tanklorry #sub dl.sub-nav dd ul li.sub-nav-tanklorry a:after,
#coil #sub dl.sub-nav dd ul li.sub-nav-coil a:after,
#vehicleintroduction #sub dl.sub-nav dd ul li.sub-nav-vehicleintroduction a:after,
#partner #sub dl.sub-nav dd ul li.sub-nav-partner 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,
#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{
	border:#F2F2F2 4px solid;
	border-left: #004098 4px solid;
}


#sub .sub_sns{
	margin:20px 0;
}
#sub .sub_sns a{
	transition:.3s;
}
#sub .sub_sns a:hover{
	opacity:.7;
}
#sub .sub_sns img{
	padding:5px 0;
}


/* 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: #004098;
}
#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;
	background-color: #F8EEFF;
}
/* 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:#004098 2px solid;
}
#sub .contact h4{
	text-align: center;
	background:#004098;
	color:#FFF;
	padding:5px 0;
	font-size:1.5em;
}
#sub .contact .inner{
	padding:10px;
}
#sub .contact .inner .tel{
	margin:0 0 10px;
}
#sub .contact .inner dl {
	margin:0 0 1em;
}
#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 .inner .btn ul li{
	margin:0 0 10px;
}
#sub .contact .inner .btn ul li:last-child{
	margin:0;
}
/* fb */
#sub .iframe{
	width: 100%;
}
#sub .contact .inner .txt{
	font-size: 15px;
	font-weight: bold;
}
#sub .contact .inner .txt-tel dt{
	text-indent: 0;
	margin: 0 0 2px;
}
#sub .contact .inner .txt-tel dt span{
	width: 80px;
	display: block;
	background: #004098;
	color: #fff;
	text-align: center;
	padding: 3px 0 2px;
	box-sizing: border-box;
	font-size: 11px;
}
#sub .contact .inner .txt-tel dd{
	text-indent: 0;
	font-size: 21px;
	font-weight: bold;
	color: #f39800;
	margin: 0 0 5px;
	line-height: 1.4;
}
#sub .contact .inner .txt-tel dd i{
	margin: 0 5px 0 0;
}



@media screen and (max-width: 1024px){
	#sub .sub-nav,
	#sub .banner,
	#sub .contact{
		display:none;
	}
	#sub .iframe{
		width: 220px;
		margin:0 auto 20px;
	}
	#sub {
		width: 100%;
		margin:0;
	}
	#sub dl.sub-nav.sub-blog{
		margin:0;
	}
	#sub .sub_sns{
		display: flex;
		justify-content: center;
		padding: 0 5px;
	}
	#sub .sub_sns a img{
		box-sizing:border-box;
		padding:5px;
	}
}
/*** ------------------------------------------------------------------------------ 

footer

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

footer .inner .footer-nav{
	float:left;
	width: 600px;
}
footer .inner .footer-nav ul{
	float:left;
	font-size:1.167em;
}
footer .inner .footer-nav ul:nth-child(1){
	width:185px;
}
footer .inner .footer-nav ul:nth-child(2){
	width:225px;
}
footer .inner .footer-nav ul:nth-child(3){
	width:190px;
}
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 #004098 solid;
}
footer .inner .footer-nav ul li.child a{
	padding-left:36px;
}
footer .inner .footer-nav ul li.child a:before{
	left:16px;
}
footer .inner .footer-nav ul li.child a:after{
	left:21px;
}
@media screen and (max-width: 1024px){
	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: #774EAF 1px solid;
	}
	footer .inner .footer-nav ul li{
		margin:0;
		border-bottom: #333 1px solid;
		border-top: #774EAF 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 .footer-nav ul li.child a{
		padding-left:46px;
	}
	footer .inner .footer-nav ul li.child a:before{
		left:26px;
	}
	footer .inner .footer-nav ul li.child a:after{
		left:31px;
	}
}

footer .inner .info{
	float: right;
	width: 360px;
	text-align: right;
}
footer .inner .info h5{
	font-size:1.333em;
	margin:0 0 5px;
	font-weight:bold;
	padding:24px 0 0;
}
@media screen and (max-width: 1024px){
	footer .inner .info h5{
		padding:0;
	}	
}
footer .inner .info p{
	line-height:1.8;
}
footer .inner .info p.footer-contact{
	margin:10px 0 0;
}
footer .inner .info p.footer-contact a{
	display:inline-block;
	padding:8px 18px;
	border:1px solid #fff;
	border-radius:4px;
	color:#fff;
	font-weight:bold;
	transition:background-color 0.3s, color 0.3s;
}
footer .inner .info p.footer-contact a:hover{
	background:#fff;
	color:#004098;
	text-decoration:none;
}
@media screen and (max-width: 1024px){
	footer .inner .info{
		float: none;
		width: auto;
		padding:10px;
	}
	footer .inner .info ul {
		margin:0 0 20px;
		text-align: left;
	}
	footer .inner .info ul li{
		margin:0 10px 0 0;
	}
}
.info-box {
    position:relative;
}
.info-box .mc{
    width: 120px;
    position:absolute;
    top: 80px;
    right: 360px;
}
.info-box .mc img{
    width:100%;
}
@media screen and (max-width: 1024px){
   .info-box .mc{
    width: 100px;
    top: 100px;
    left: 0;
} 
}
.copyright{
	text-align: center;
	margin:0 0 10px;
}
@media screen and (max-width: 1024px){
	.copyright{
		font-size:0.743em;
		padding:10px 10px 60px;
	}
}
/*** ------------------------------------------------------------------------------ 

ヘルプボタン

-----------------------------------------------------------------------------  ***/
#help {
	position:fixed;
	right:0;
	top:100px;
	z-index:9999;
}
#help a{
	display:block;
	background: #004098;
	border-radius:5px 0 0 5px;
	overflow:hidden;
}
@media screen and (max-width: 1024px){
	#help{
		display:none;
	}
}
/* modal */
#lean_overlay{
  position: fixed;
  z-index:9999; 
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background: #000;
  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:30% !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:#004098;
	color:#FFF;
	padding:20px;
}
#div787 .box {
  padding: 0 30px 30px;
	display: flex;
	align-items: center;
}
#div787 .box .left{
	/*float:left;*/
	/*margin:0 20px 0 0;*/
	width: 310px;
}
#div787 .box .left .txt{
	font-size: 11px;
	font-weight: bold;
}
#div787 .box .left .txt-tel{
	display: flex;
	align-items: center;
	margin: 3px 0 0;
}
#div787 .box .left .txt-tel .txt01{
	width: 80px;
	display: block;
	background: #004098;
	color: #fff;
	text-align: center;
	padding: 2px 0;
	box-sizing: border-box;
	font-size: 11px;
}
#div787 .box .left .txt-tel .txt02{
	width: calc(100% - 80px);
	display: block;
	padding: 0 0 0 10px;
	box-sizing: border-box;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.0;
}



#div787 .box .more-link{
	width: calc(100% - 310px);
}
#div787 .box .more-link li{
	margin:0 !important;
}
#div787 .box .more-link .link-entry{
	width: 235px;
	padding:15px 15px 15px 30px; !important;
}
.modal_a{
  position: fixed;
  top:181px;
  right:0;
}
@media screen and (max-width: 1024px){
	.modal_a{
		display:none;
	}
}
/*** ------------------------------------------------------------------------------ 

トップアンカー

-----------------------------------------------------------------------------  ***/
#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: #004098;
	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: #004098 10px solid;
	border-bottom: #FFF 10px solid;
}
#scroll .tel{
	display:none;
}
@media screen and (max-width: 1024px){
	#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(3){
		width:33.33%;
		overflow:hidden;
	}
	#scroll ul li:nth-child(1) a,
	#scroll ul li:nth-child(2) a,
	#scroll ul li:nth-child(3) a{
		padding:30px 0 5px;
		background: #004098;
		box-sizing:border-box;
		border-right:1px #FFFFFF solid;
		display:block;
		position: relative;
	}
	#scroll ul li a i{
		position: absolute;
		left: 50%;
		top: 7px;
		margin: 0 0 0 -10px;
		font-size: 20px;
	}
	#scroll ul li a:hover{
		text-decoration: none;
	}
	#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) {
		width:14%;
		overflow:hidden;
	}
	#scroll ul li:nth-child(3) a{
		padding: 0;
		background: #CCC;
		box-sizing:border-box;
		display:block;
		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.top{
		display: none;
	}
}
/*** ------------------------------------------------------------------------------ 

トピックパス

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