@charset "UTF-8";

/*CSSDocument*/


/* html body base
===============================================================*/

/*
html ----------------------------------------------------------*/

*{ margin:0px; padding:0px;}

body{
color:#000000;
margin:0;
padding:0;
background:#FFFFFF; /* fcfcfa */
    font-family: 'Noto Sans JP', sans-serif;
font-size:100%;
 -webkit-text-size-adjust: none;
 	position:relative;
}

a:link{ color:#2c54c6;text-decoration:underline;}
a:visited{ color:#2c54c6;text-decoration:underline;}
a:hover{ color:#27a6e1;text-decoration:none;}
a:active{ color:#2c54c6;text-decoration:none;}

ul{ list-style:none;}

img {
	padding:0px;
	margin:0px;
	vertical-align:bottom;
}
a:hover {
	opacity:0.8;
}

/*
html ----------------------------------------------------------*/




/* body base
===============================================================*/

.contents_01 {
	width:100%;
	background:#FFFFFF url(../images/back_body.png);
}
.contents_01 > div {
	max-width:1000px;
	margin:0 auto;
}
.contents_02 {
	width:100%;
	background:#FFFFFF;
}
.contents_02 > div {
	max-width:1000px;
	margin:0 auto;
}
#wrap {
	padding:60px 0 0 0;
}

@media screen and (max-width: 1020px) {
.contents_01 > div {
	margin:0 auto;
	padding-left:10px !important;
	padding-right:10px !important;
}
.contents_02 > div {
	margin:0 auto;
	padding-left:10px !important;
	padding-right:10px !important;
}	
}

@media screen and (max-width: 748px) {
#wrap {
	padding:50px 0 0 0;
}
}

/* header
===============================================================*/
#header {
	background:#313131;
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	z-index:10000;
}
#header .header_wrap {
	display:table;
	width:100%;
	
}
#header .header_wrap .logo {
	display:table-cell;
	vertical-align:middle;
}
#header .header_wrap .right_box {
	display:table-cell;
	vertical-align:middle;
}
#header .header_wrap .right_box .sp_menu {
	display:none;
}
#header .header_wrap .right_box nav {
	float:right;
}
#header .header_wrap .right_box nav ul {
}
#header .header_wrap .right_box nav ul li {
	height:60px;
	font-weight:900;
	float:left;
	border-left:#7d7d7d 1px solid;
	display:table;
}
#header .header_wrap .right_box nav ul li a, #header .header_wrap .right_box nav ul li span {
	text-decoration:none;
	font-size:14px;
	line-height:20px;
	display:table-cell;
	vertical-align:middle;
	padding:0 25px;
	color:#FFFFFF;
}
#header .header_wrap .right_box nav ul li a br, #header .header_wrap .right_box nav ul li span br {
	display:none;
}
#header .header_wrap .right_box nav ul li a:hover, #header .header_wrap .right_box nav ul li.on a {
	opacity:1;
background: #ef8200; /* Old browsers */
background: -moz-linear-gradient(top,  #ef8200 72%, #c76f05 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #ef8200 72%,#c76f05 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #ef8200 72%,#c76f05 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef8200', endColorstr='#c76f05',GradientType=0 ); /* IE6-9 */
}


@media screen and (max-width: 1000px) {
#header .header_wrap .right_box nav ul li {
	height:60px;
	font-weight:600;
}
#header .header_wrap .right_box nav ul li a, #header .header_wrap .right_box nav ul li span {
	font-size:13px;
	line-height:20px;
	padding:0 13px;
}	
#header .header_wrap .right_box nav ul li a br, #header .header_wrap .right_box nav ul li span br {
	display:block;
}
}
@media screen and (min-width: 749px) {
#header .header_wrap .right_box nav ul {
	display:block !important;
}
}
@media screen and (max-width: 748px) {
#header .header_wrap .logo img {
	width:auto;
	height:50px;
}
#header .header_wrap .right_box {
	display:table-cell;
	vertical-align:middle;
}
#header .header_wrap .right_box .sp_menu {
	display:block;
	float:right;
	margin-right:10px;
	padding-top:2px;
}	
#header .header_wrap .right_box nav {
	position:fixed;
	top:50px;
	left:0px;
	width:100%;
}
#header .header_wrap .right_box nav ul {
	display:none;
	width:100%;
	background:rgba(255,255,255,0.8);
}
#header .header_wrap .right_box nav ul li {
	height:auto;
	font-weight:600;
	float:none;
	border-left:none;
	border-bottom:#7d7d7d 1px solid;
	display:block;
}
#header .header_wrap .right_box nav ul li a, #header .header_wrap .right_box nav ul li span {
	text-decoration:none;
	font-size:14px;
	line-height:20px;
	display:block;
	padding:10px;
	color:#000000;
	position:relative;
}
#header .header_wrap .right_box nav ul li a br, #header .header_wrap .right_box nav ul li span br {
	display:none;
}

#header .header_wrap .right_box nav ul li a::before,
#header .header_wrap .right_box nav ul li a::after{
position: absolute;
top: 0;
bottom: 0;
right: 0;
margin: auto;
content: "";
vertical-align: middle;
}
#header .header_wrap .right_box nav ul li a::before{
right: 10px;
width: 4px;
height: 4px;
border-top: 2px solid #000000;
border-right: 2px solid #000000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}


#header .header_wrap .right_box nav ul li.on a, #header .header_wrap .right_box nav ul li.on span {
	color:#FFFFFF;
}
#header .header_wrap .right_box nav ul li.on a::before, #header .header_wrap .right_box nav ul li:hover a::before{
border-top: 2px solid #FFFFFF;
border-right: 2px solid #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

}

/* footer
===============================================================*/

#footer {
	background:#2f2f2f url(../images/footer_back.png);
}
#footer .footer_wrap {
	max-width:1000px;
	margin:0 auto;
	padding:19px 0;
}
#footer .footer_wrap .footer_menu {
	float:right;
}
#footer .footer_wrap .footer_menu ul {
	margin:0px;
}
#footer .footer_wrap .footer_menu ul li {
	float:left;
	font-size:12px;
	line-height:14px;
	font-weight:300;
	margin-left:10px;
}
#footer .footer_wrap .footer_menu ul li a {
	color:#FFFFFF;
	text-decoration:none;
}
#footer .footer_wrap .footer_menu ul li a:hover {
	text-decoration:underline;
}
#footer .footer_wrap .copy {
	float:left;
	font-size:12px;
	line-height:14px;
	color:#959595;
	font-weight:300;
}	

@media screen and (max-width: 1020px) {
#footer .footer_wrap {
	padding:19px 10px;	
}
section img {
	max-width:100%;
	height:auto;
}
}
	
@media screen and (max-width: 840px) {
#footer .footer_wrap .footer_menu {
	float:none;
	margin-bottom:20px;
}
#footer .footer_wrap .footer_menu ul {
	margin:0px;
	text-align:center;
}
#footer .footer_wrap .footer_menu ul li {
	float:none;
	display:inline-block;
	margin:0 10px;
}
#footer .footer_wrap .copy {
	float:none;
	text-align:center;
}	
}

	
	
	

.back_over {
	background:url(../images/main_vis_over.png);
	display:block;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	position:absolute;
	z-index:10;
	opacity:0.6;
}
	
	
	
	
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 35px;
	height: 28px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #fff;
	border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 12px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}
	
	
	
	
.gotop {
	position:fixed;
	bottom:25px;
	right:25px;
	
}
	
	
	
	
	
	
	

