/*
body
----------------------------------------*/
html,body{
     height: 100%;
}
body {
	color: #444;
	font-family: 'Lato',"游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	/*border-top: 2px solid #073870;*/
}
body a:hover {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#wrapper {
	position: relative;
	min-height: 100%;
}
#content{
	padding-bottom: -294px;
}

/*
header
----------------------------------------*/
#moremenu{
	text-align:right;
}
#header01,
#header02 {
	width: 100%;
	height:100px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	border-top: 2px solid #073870;
}
#header01 .frame {
	width:1150px;
	margin: 0 auto;
	border-bottom: 2px solid #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
@media only screen and (max-width: 1150px) {
	#header01 .frame {
	width:100%;

}
}

#header01 .frame .logo {
	margin: 25px 0 0 0;
	margin-left:1%;
	float: left;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#header01 .frame nav,
#header02 .frame nav {
	font-size: 14px;
	/*font-weight: bold;*/
		margin-right:9%;

}
#header01 .fix{
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#header01 nav ul {
	/*height: 118px;*/
	background: url(../img/common/nav_boader01.png) no-repeat right top;
	float: right;
	letter-spacing: 0.22em;
}
#header01 nav ul li {
	background: url(../img/common/nav_boader01.png) no-repeat left top;
	float: left;
}
#header01 nav ul li a {
	color: #fff;
	/*width: 150px;
	padding: 50px 0;
	text-decoration: none;
	color: #095DA6;
	display: block;*/
	position: relative;
	padding: 44px 8px;
	display: inline-block;
	/*margin: 15px 25px;*/
	outline: none;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 400;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#header01 nav ul li a:after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	content: '';
	opacity: 0;
	-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
	transition: height 0.3s, opacity 0.3s, transform 0.3s;
	-webkit-transform: translateY(-10px);
	-moz-transform: translateY(-10px);
	transform: translateY(-10px);
}
#header01 nav ul li a:hover::after,
#header01 nav ul li a:focus::after{
	height: 5px;
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#header01 nav ul li.on a {
	border-bottom: 4px solid #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
#header01 .fix.header01-collapse{
	background:rgba(255, 255, 255, 0.9);
}
#header01 .fix.header01-collapse .frame .logo{
	margin-top: 10px;
}
#header01 .fix.header01-collapse nav ul li a{
	padding: 20px 10px;
	color: #095DA6;
	font-size: 14px;
	font-weight: bold;
}
#header01 .fix.header01-collapse nav ul li a:after{
	background: #095DA6;
}
#header01 .fix.header01-collapse .frame{
	border:none;
}
#header01 .fix.header01-collapse nav ul li.on a{
	border-bottom: 4px solid #095DA6;
}
/*#header01 nav ul li a:hover {
	border-bottom: 2px solid #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}
*/



#header02 {
	display: none;
}
#header02.fixed {
	height: 60px;
	background:rgba(255, 255, 255, 0.8);
	border-top: 1px solid #073870;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: block;
}
#header02 .frame {
	width: 1220px;
	margin: 0 auto;
	border: none;
}
#header02 .frame .logo {
	height: 0;
	margin: 16px 0 0 0;
	float: left;
	visibility: hidden;
}
#header02.fixed .frame .logo {
	height: 28px;
	visibility: visible;
}
#header02.fixed nav ul {
	height: 118px;
	background: url(../img/common/nav_boader02.png) no-repeat right top;
	float: right;
	letter-spacing: 2px;
}
#header02.fixed nav ul li {
	background: url(../img/common/nav_boader02.png) no-repeat left top;
	float: left;
}
#header02.fixed nav ul li a {
	width: 130px;
	padding: 26px 0 16px;
	color: #095DA6;
	text-decoration: none;
	display: block;
}
#header02.fixed nav ul li a:hover {
	border-bottom: 2px solid #095DA6;
}
#header02.fixed nav ul li.on a {
	border-bottom: 2px solid #095DA6;
}

/*
footer
----------------------------------------*/
footer {

}
footer #company-guide,
footer #nav-facebook,
footer #nav-contact,
footer #scroll-top {
	display: table-cell;
}
footer #company-guide {
	width: 100%;
	background: #111;

}
footer #company-guide .top {
	width: 100%;
	height: 199px;
	padding: 30px 0 0;
	background: #222;
}
footer #company-guide .top .frame,
footer #company-guide .bottom .frame {
	width: 690px;
	margin: 0 auto;
}
footer #company-guide .top .frame #company-info {
	border-top: 2px solid #7a7a7a;
	text-align: left;
}
footer #company-guide .top .frame #company-info .left {
	width: 345px;
	padding: 0 30px 0 0;
	color: #fff;
	display: table-cell;
}
footer #company-guide .top .frame #company-info .left .title {
	margin: 10px 0 8px;
	font-size: 15px;
	font-weight: bold;
}
footer #company-guide .top .frame #company-info .left .tx {
	font-size: 10px;
	line-height: 1.6;
}
footer #company-guide .top .frame #company-info .right {
	width: 345px;
	padding: 0 0 0 30px;
	color: #919191;
	display: table-cell;
	font-size: 13px;
	line-height: 1.7;
}
footer #company-guide .top .frame #company-info .right a {
	color: #919191;
	text-decoration: none;
}
footer #company-guide .top .frame #company-info .right ul {
	margin: 20px 0 0 0;
}
footer #company-guide .top .frame #company-info .right ul li.address {
	padding: 0 0 0 26px;
	background: url(../img/common/icon_access.png) no-repeat left top;
}
footer #company-guide .top .frame #company-info .right ul li.tel {
	padding: 0 0 0 26px;
	background: url(../img/common/icon_tel.png) no-repeat left top;
}
footer #company-guide .top .frame #company-info .right ul li.fax {
	padding: 0 0 0 26px;
	background: url(../img/common/icon_fax.png) no-repeat left top;
}
footer #company-guide .top .frame #company-info .right ul li.facebook {
	padding: 0 0 0 26px;
	background: url(../img/common/icon_facebook.png) no-repeat left top;
}
footer #company-guide .top .frame dl{
	padding-top: 16px;
}
footer #company-guide .top .frame dt{
	float: left;
	width: 15px;
	overflow: hidden;
	clear: left;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}
footer #company-guide .top .frame dd{
	margin-left: 30px;
}
footer #company-guide .bottom .frame .copy {
	width: 345px;
	padding: 36px 0 0;
	display: table-cell;
	text-align: left;
	color: #aaa;
}
footer #company-guide .bottom .frame ul {
	width: 345px;
	padding: 36px 0 0;
	display: table-cell;
}
footer #company-guide .bottom .frame ul li {
	padding: 0 0 0 30px;
	display: table-cell;
}
footer #company-guide .bottom .frame ul li a{
	color: #aaa;
	text-decoration: none;
}
footer #company-guide .bottom .frame ul li a:hover{
	color: #444;
}

footer #nav-contact {
	width: 150px;
	height: 199px;
}
footer #nav-contact a {
	width: 150px;
	height: 199px;
	padding: 54px 0 0;
	background: #095DA6;
	color: #fff;
	text-decoration: none;
	display: block;
}
footer #nav-contact a:hover{
	background: #004886;
}
footer #nav-contact a {
	width: 150px;
	height: 199px;
	padding: 54px 0 0;
	background: #095DA6;
	color: #fff;
	text-decoration: none;
	display: block;
}
footer #nav-contact a:hover{
	background: #004886;
}
footer #scroll-top {
	width: 150px;
	height: 293px;
}
footer #scroll-top a {
	width: 150px;
	height: 199px;
	padding: 54px 0 0;
	background: #555;
	color: #444;
	text-decoration: none;
	display: block;
}

footer #nav-facebook {
	width: 150px;
	height: 293px;
}
footer #nav-facebook a {
	width: 150px;
	height: 199px;
	padding: 54px 0 0;
	background: #999;
	color: #444;
	text-decoration: none;
	display: block;
}
footer #nav-facebook a:hover{
	background: #777;
}

footer #nav-contact .title,
footer #nav-facebook .title,
footer #scroll-top .title {
	margin: 28px 0 0;
	font-weight: bold;
}
footer #company-guide .top .frame #company-info .right .sp,
footer #company-guide .bottom .frame .copy.sp {
	display: none;
}

/* スマートフォン（ディスプレイ幅480px以下）より小さい画面 */
@media screen and (max-width: 789px) {
body {
/*	min-width: 320px;*/
}
#header03 {
	width: 100%;
	height: 54px;
	background:rgba(255, 255, 255, 0.8);
	border-top: 2px solid #073870;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: block;
}
#header03 .frame {
	width: auto;
	margin: 0 auto;
	border-bottom: none;
}
#header03 .frame .logo {
	margin: 0;
	float: left;
}
#header03 .frame .logo a{
	display: block;
	padding: 8px;
}
#header03 .frame .logo img {
	width: 34px;
	height: 34px;
}
#header03 nav {
	float: right;
}
#header03 nav .btn {
	width: 60px;
	height: 14px;
	/*margin: 20px 17px 0 0;*/
	padding: 20px 17px;
}
#header03 nav .btn span {
	padding: 0 0 5px;
	border-top: 2px solid #095DA6;
	display: block;
}
#header03 nav ul {
	display: none;
	background: rgba(255, 255, 255, 0.8);
	width: 100%;
	position: absolute;
	top: 52px;
	left: 0px;
	padding: 20px 0px;
}
#header03 nav ul.in{
	display: block;
}
#header03 nav ul li{
	/*padding: 15px 0px;*/
	  border-top: 2px solid rgba(255,255,255,0.4);
}
#header03 nav ul li.on{
	background: #fff;
}
#header03 nav ul li a{
	text-decoration: none;
	color: #095DA6;
	font-weight: bold;
	letter-spacing: 0.12em;
	padding: 15px 0;
	display: block;
}
#header03 nav ul li a:hover{
	color: #095DA6;
	background-color: #fff;
}
/*#header03 nav .btn:hover {
	width: 30px;
	height: 14px;
	margin: 20px 12px 0 0;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3 ease;
	-o-transition:all 0.3 ease;
}*/

/*
footer
----------------------------------------*/
#contact-sp {
	display: block;
}
#contact-sp a {
	padding: 40px 0 30px;
	background: #095DA6;
	display: block;
	color: #fff;
	text-decoration: none;
}
#contact-sp .img {
	margin: 0 0 15px;
}
footer {
	height: auto;
	overflow: hidden;
}
footer #company-guide,
footer #nav-contact,
footer #nav-facebook,
footer #scroll-top {
	display: block;
}
footer #company-guide {
	width: 100%;
	background: #111;
}
footer #company-guide .top {
	width: 100%;
	height: auto;
	padding: 30px 0 0;
	background: #222;
}
footer #company-guide .top .frame,
footer #company-guide .bottom .frame {
	width: auto;
	margin: 0 10px;
}
footer #company-guide .top .frame #company-info {
	border-top: none;
	text-align: left;
}
footer #company-guide .top .frame #company-info .left {
	width: auto;
	padding: 0;
	color: #919191;
	display: block;
}
footer #company-guide .top .frame #company-info .left .title {
	margin: 0 0 10px;
}
footer #company-guide .top .frame #company-info .left .tx {
	padding: 0 0 20px;
	border-bottom: 1px solid #666;
}
footer #company-guide .top .frame #company-info .right {
	width: auto;
	padding: 0;
	color: #919191;
	display: block;
}
footer #company-guide .top .frame #company-info .right .pc {
	display: none;
}
footer #company-guide .top .frame #company-info .right .sp {
	padding: 0 0 20px;
	display: block;
}
footer #company-guide .top .frame #company-info .right .sp .left {
	width: auto;
	float: left;
	font-size: 11px;
}
footer #company-guide .top .frame #company-info .right .sp .right {
	float: right;
	font-size: 11px;
}
footer #company-guide .bottom .frame .copy.pc {
	display: none;
}
footer #company-guide .bottom .frame .copy.sp {
	padding: 15px 0 20px;
	display: block;
}
footer #company-guide .bottom .frame ul {
	width: auto;
	padding: 20px 0 0;
	display: block;
}
footer #company-guide .bottom .frame ul li {
	padding: 0 20px 0 0;
}
footer #nav-contact {
	display: none;
}
footer #scroll-top {
	display: none;
}
footer #nav-facebook {
	display: none;
}
#header01,
#header02,
#header02.fixed {
	display: none;
}
}

/*title
----------------------------------------*/
h3 {
	height: 26px;
	padding: 8px 0 0 20px;
	/*background: url(../img/common/item_h3.png) no-repeat left center;*/
	color: #202020;
	font-size: 21px;
	/*font-weight: bold;*/
}
.main h3{
	border-left: 4px solid #1E6EDE;
}

/*
----------------------------------------*/
.sp {
	display: none;
}
.bold {
	font-weight: bold;
}

/* ==== clearfix ==== */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
.btn{
	display: inline-block;
}
.btn a {
	width: 312px;
	height: 44px;
	background: url(../img/common/nav_arrow.png) no-repeat 250px center;
	background-size: 14px 14px;
	color: #fff;
	text-align: center;
	line-height: 44px;
	text-decoration: none;
	display: block;
}
.btn.green a{background-color: #00C4CD;}
.btn.orange a{background-color: #FFAC3C;}
.btn.blue a{background-color: #1E6EDE;}
.btn.green:hover a{background-color: #00A4B1;}
.btn.orange:hover a{background-color: #FF8D23;}
.btn.blue:hover a{background-color: #3A62CD;}

p.concept img { width: 100%; }
p.company img { width: 100%; }