body {
	color: rgb(51, 51, 51); line-height: 1.6rem; font-family: "メイリオ", Meiryo, Osaka, "Quicksand", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 16px; -ms-word-wrap: break-word;
}
@media handheld, only screen and (max-width:480px)
{
body {
	font-size: 18px;
}
}
a {
	color: rgb(54, 82, 161); text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
html {
	background: rgb(255, 255, 255); font-size: 100%;
}
.sub_nav {

}
.global_nav {
	font-size: 0.87rem;
}
/*.headerbg {
	width: 100%; border-top-color: rgb(46, 99, 209); border-top-width: 5px; border-top-style: solid; background-color: rgba(255, 255, 255, 0.9);
}*/
.grid-header {
	/*height: 76px;*/
}
#logo {
	border: currentColor; border-image: none; margin-top: 16px;
}
#logo img {
	width: 100%; max-width:313px; padding-left:15px;
}
.sub_nav_bg {
	width: 100%; background-color: rgb(255, 255, 255);
}
ul.sub_nav {
	margin-top: 5px; margin-right: 0px; float: right; font-size:120%;
}
.sub_nav li {
	display: inline; margin-left:20px;
}
.sub_nav li a {
	color: rgb(51, 51, 51); text-decoration: none;
}
.sub_nav li a:hover {
	text-decoration: underline;
}
.search_box {
	top: 4px; width: 220px; right: 5px; position: absolute; z-index: 10;
}
.gsc-control-cse * {
	box-sizing: content-box;
}
.gsc-control-cse {
	background: none !important; border: currentColor !important; border-image: none !important;
}
.gsc-input {
	line-height: 1;
}
.cse .gsc-control-cse {
	padding: 0px !important;
}
.gsc-control-cse {
	padding: 0px !important;
}
.gsst_a {
	padding-top: 6px !important;
}
.gsc-search-box-tools .gsc-search-box .gsc-input {
	padding-right: 5px !important; font-size: 14px;
}
.cse .gsc-search-button input.gsc-search-button-v2 {
	padding: 5px 22px !important; margin-top: -1px !important;
}
input.gsc-search-button-v2 {
	padding: 5px 22px !important; margin-top: -1px !important;
}
ul.global_nav {
	width: 100%;
}
.global_nav li {
	width: 25%; text-align: center; letter-spacing: 0.15rem; border-right-color: rgb(255, 255, 255); border-right-width: 1px; border-right-style: solid; float: left; background-color: rgb(255, 255, 255);
}
.global_nav li:hover {
	background: rgb(177, 0, 14);
}
.global_nav li:active {
	background: rgb(177, 0, 14);
}
.global_nav li a {
	padding: 8px 0px; color: rgb(255, 255, 255); text-decoration: none; display: block; position: relative;
}
#nav-toggle {
	top: 22px; width: 34px; height: 36px; right: 15px; display: none; position: absolute; z-index: 101; cursor: pointer;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	background: rgb(51, 51, 51); transition:0.35s ease-in-out; left: 0px; width: 100%; height: 4px; display: block; position: absolute; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0px;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}
.description {
	left: 50%; top: 50%; position: absolute; transform: translateX(-50%); -webkit-transform: translateX(-50%);
}
.menu-container {
	margin: 0px auto; width: 100%;
}
.menu-mobile {
	padding: 20px; display: none;
}
.menu > ul {
	list-style: none; margin: 0px auto; padding: 0px; width: 100%; position: relative; box-sizing: border-box;
}
.menu > ul::before {
	display: table; content: "";
}
.menu > ul::after {
	display: table; content: "";
}
.menu > ul::after {
	clear: both;
}
.menu > ul > li {
	background: rgb(255, 255, 255); margin: 0px; padding: 8px 0px; width: 20%; text-align: center; color: rgb(46, 99, 209); letter-spacing: 0.15rem; font-size: 14px; border-right-color: rgb(46, 99, 209); border-right-width: 1px; border-right-style:dotted;  float: left; cursor: pointer; font-weight:500;
}

.menu > ul > li.long {
	background: rgb(255, 255, 255); margin: 0px; padding: 8px 0px; width: 20%; text-align: center; color: rgb(46, 99, 209); letter-spacing: 0rem; font-size: 14px; border-right-color: rgb(46, 99, 209); border-right-width: 1px; border-right-style:dotted;  float: left; cursor: pointer; font-weight:400;
}

.menu > ul li:first-child { border-left:1px dotted #2e63d1;}
.menu > ul > li a {
	color: rgb(46, 99, 209); text-decoration: none; display: block;
}
.menu > ul > li:hover {
	background: rgb(255, 255, 255); 
}

.menu > ul > li a:hover { color:#2e63d1;
}

.menu > ul > li > ul {
	background: rgba(0, 0, 0, 0.7); list-style: none; margin: 0px; padding: 20px; left: 0px; top: 40px; width: 100%; display: none; position: absolute; z-index: 99; box-sizing: border-box;
}
.menu > ul > li > ul::before {
	display: table; content: "";
}
.menu > ul > li > ul::after {
	display: table; content: "";
}
.menu > ul > li > ul::after {
	clear: both;
}
.menu > ul > li > ul > li {
	background: none; list-style: none; margin: 0px 0px 10px; width: 100%; padding-right: 20px; padding-bottom: 0px; float: left;
}
.menu > ul > li > ul > li a {
	padding: 0.2em 0px; width: 100%; text-align: left; color: rgb(255, 255, 255); border-bottom-color: rgb(136, 136, 136); border-bottom-width: 1px; border-bottom-style: solid; display: block;
}
.menu > ul > li > ul > li a:hover {
	text-decoration: underline;
}
.menu > ul > li > ul > li > ul {
	list-style: none; margin: 10px 0px 0px; padding: 0px; display: block; box-sizing: border-box;
}
.menu > ul > li > ul > li > ul::before {
	display: table; content: "";
}
.menu > ul > li > ul > li > ul::after {
	display: table; content: "";
}
.menu > ul > li > ul > li > ul::after {
	clear: both;
}
.menu > ul > li > ul > li > ul > li {
	margin: 0px; width: 33%; padding-left: 20px; float: left;
}
.menu > ul > li > ul > li > ul > li a {
	border: currentColor; border-image: none; position: relative;
}
.menu > ul > li > ul > li > ul > li a::before {
	border-width: 4px; border-style: solid; border-color: transparent transparent transparent rgb(153, 153, 153); left: -15px; top: 50%; width: 0px; height: 0px; margin-top: -4px; display: inline-block; position: absolute; content: "";
}
.menu > ul > li > ul > li > ul > li a:hover {
	border: 0px currentColor; border-image: none; text-decoration: underline;
}
.menu > ul > li > ul.normal-sub {
	padding: 10px 20px; left: auto; width: 300px;
}
.menu > ul > li > ul.normal-sub > li {
	width: 100%;
}
.menu > ul > li > ul.normal-sub > li a {
	padding: 1em 0px; border: 0px currentColor; border-image: none;
}
.btn_navi_top a {
	background: rgb(153, 153, 153); padding: 5px !important; border-radius: 3px; border: currentColor !important; border-image: none !important; text-align: center !important;
}
.btn_navi_top a:hover {
	background: rgb(136, 136, 136); text-decoration: none !important;
}
#top .nav01 {
	background: rgb(255, 255, 255);
}
#service .nav02 {
	background: rgb(177, 0, 14);
}
#company .nav03 {
	background: rgb(177, 0, 14);
}


a img.css-hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
}

a:hover img.css-hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

@media handheld, only screen and (max-width:767px)
{
.grid-header {
	height: 50px;
}
#logo {
	margin-top: 20px; max-width: 313px; padding-right:30px;
}
.global_nav li {
	background: rgb(230, 24, 41); padding: 0px; width: 100%; height: 100%; text-align: left; border-right-color: currentColor; border-bottom-color: rgb(51, 51, 51); border-right-width: medium; border-bottom-width: 1px; border-right-style: none; border-bottom-style: solid; float: none;
}
.fixed#top-head {
	background: none; padding-top: 0px;
}
#global-nav {
	background: rgb(51, 51, 51); padding: 12px 10px; transition:0.5s ease-in-out; left: 0px; top: -491px; width: 100%; text-align: center; position: absolute; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out;
}
#top-head #global-nav ul li a {
	padding: 0px; width: 100%; display: block;
}
.fixed#top-head #global-nav ul li a {
	padding: 0px; width: 100%; display: block;
}
#nav-toggle {
	display: block;
}
.open #nav-toggle span:nth-child(1) {
	top: 11px; transform: rotate(315deg); -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
	left: 50%; width: 0px;
}
.open #nav-toggle span:nth-child(3) {
	top: 11px; transform: rotate(-315deg); -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg);
}
.open #global-nav {
	z-index: 10; transform: translateY(556px); -webkit-transform: translateY(556px); -moz-transform: translateY(556px);
}
.menu-container {
	width: 100%;
}
.menu-mobile {
	display: none;
}
.menu-dropdown-icon::before {
	display: block;
}
.menu > ul {
	display: block;
}
.menu > ul > li {
	padding: 10px; width: 100%; text-align: left; color:  border-right-color: currentColor; border-bottom-color: rgb(51, 51, 51); border-right-width: medium; border-bottom-width: 1px; border-right-style: none; border-bottom-style: solid; float: none; display: block; cursor: pointer;
}
.menu > ul > li a {
	padding: 1.5em; width: 100%; display: block;
}
.menu > ul > li > ul {
	top: 10px; position: relative;
}
.menu > ul > li > ul.normal-sub {
	width: 100%;
}
.menu > ul > li > ul > li {
	padding: 0px; width: 100%; margin-top: 20px; float: none;
}
.menu > ul > li > ul > li:first-child {
	margin: 0px;
}
.menu > ul > li > ul > li > ul {
	position: relative;
}
.menu > ul > li > ul > li > ul > li {
	margin: 10px 0px; width: 100%; float: none;
}
.menu .show-on-mobile {
	display: block;
}
}
#contents_top {
	margin-top: 12%;
}
#contents {
	margin: 10px 0px 0px; padding-bottom: 20px;
}
@media handheld, only screen and (max-width:480px)
{
#contents_top {
	margin-top: 0px;
}
}
#side_nav {
	margin-bottom: 20px;
}
#side_nav .tit_side_nav a {
	background: rgb(51, 51, 51); padding: 20px; text-align: center; color: rgb(255, 255, 255); font-weight: bold; text-decoration: none; display: block;
}
.tit_side_nav a:hover {
	background: rgb(85, 85, 85);
}
.tit_side_nav a:active {
	background: rgb(85, 85, 85);
}
#side_nav ul li a {
	background: rgb(231, 231, 231); padding: 15px; color: rgb(51, 51, 51); text-decoration: none; border-bottom-color: rgb(204, 204, 204); border-bottom-width: 1px; border-bottom-style: solid; display: block;
}
#side_nav ul li a:hover {
	background: rgb(136, 136, 136); border: currentColor; border-image: none; color: rgb(255, 255, 255);
}
#side_nav ul li a:active {
	background: rgb(136, 136, 136); border: currentColor; border-image: none; color: rgb(255, 255, 255);
}
#side_nav ul li.on a {
	background: rgb(136, 136, 136); border: currentColor; border-image: none; color: rgb(255, 255, 255);
}
#side_nav ul li a.on {
	background: rgb(136, 136, 136); border: currentColor; border-image: none; color: rgb(255, 255, 255);
}
#side_nav .arrow {
	padding: 0px 0px 0px 20px; font-size: 16px; text-decoration: none; vertical-align: middle; display: inline-block; position: relative;
}
#side_nav .arrow::before {
	margin: auto; left: 0px; top: 0px; bottom: 0px; vertical-align: middle; position: absolute; content: "";
}
#side_nav .arrow::after {
	margin: auto; left: 0px; top: 0px; bottom: 0px; vertical-align: middle; position: absolute; content: "";
}
#side_nav .ico::before {
	background: rgb(230, 23, 41); width: 12px; height: 12px;
}
#side_nav .ico::after {
	left: 3px; width: 4px; height: 4px; border-top-color: rgb(255, 255, 255); border-right-color: rgb(255, 255, 255); border-top-width: 1px; border-right-width: 1px; border-top-style: solid; border-right-style: solid; transform: rotate(45deg); -webkit-transform: rotate(45deg);
}
#side_nav ul li ul li a {
	background: rgb(241, 241, 241); color: rgb(102, 102, 102); padding-left: 35px; border-bottom-color: rgb(228, 226, 226); border-bottom-width: 1px; border-bottom-style: solid;
}
#side_nav ul li ul li a span {
	font-size: 14px; position: relative;
}
#side_nav ul li ul li a span::before {
	border-width: 5px 6px; border-style: solid; border-color: transparent transparent transparent rgb(230, 23, 41); left: -15px; top: 50%; width: 0px; height: 0px; margin-top: -5px; display: inline-block; position: absolute; content: "";
}
#side_nav ul li ul li ul li a {
	background: rgb(252, 252, 252); padding: 0px 0px 0px 35px; border: currentColor; border-image: none; font-weight: normal;
}
#side_nav ul li ul li ul li a span {
	padding: 5px; line-height: 15px; font-size: 12px; border-top-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: solid; display: block; position: relative;
}
#side_nav ul li ul li ul li a span::before {
	border-width: 1px 1px medium medium; border-style: solid solid none none; border-color: rgb(102, 102, 102) rgb(102, 102, 102) currentColor currentColor; left: -15px; top: 50%; width: 6px; height: 6px; display: inline-block; position: absolute; content: ""; transform: rotate(45deg); -webkit-transform: rotate(45deg);
}
#side_nav2 ul {
	margin-bottom: 20px;
}
#side_nav2 .tit_side_nav {
	background: rgb(51, 51, 51); padding: 20px; text-align: center; color: rgb(255, 255, 255); font-weight: bold; text-decoration: none; display: block;
}
.side_contact li {
	background: rgb(255, 255, 255); padding: 10px 10px 0px; color: rgb(51, 51, 51); font-size: 14px; text-decoration: none; display: block;
}
.side_contact li span {
	color: rgb(51, 51, 51); font-size: 16px; font-weight: bold;
}
.side_contact li.last {
	padding: 10px 0px; border-top-color: rgb(238, 238, 238); border-top-width: 1px; border-top-style: solid;
}
.side_bnr li {
	
}
.side_bnr img {
	width: 100%;
}
.side_bnr img:hover {
	opacity: 0.7;
}
.side_bnr_sp li a {
	background: rgb(255, 255, 255); padding: 10px 10px 10px 30px; color: rgb(51, 51, 51); text-decoration: none; border-bottom-color: rgb(204, 204, 204); border-bottom-width: 1px; border-bottom-style: solid; display: block;
}
.side_bnr_sp li a span {
	position: relative;
}
.side_bnr_sp li a span::before {
	border-width: 5px 6px; border-style: solid; border-color: transparent transparent transparent rgb(230, 23, 41); left: -15px; top: 50%; width: 0px; height: 0px; margin-top: -5px; display: inline-block; position: absolute; content: "";
}
@media screen and (min-width:480px)
{
.side_bnr_sp {
	display: none;
}
}
@media screen and (max-width:480px)
{
.side_bnr {
	display: none;
}
}
footer {
	background: rgb(46, 99, 209); line-height: 1.8; font-size: 14px; color:#fff;
}
footer ul li a {
	color: rgb(0, 0, 0); font-weight: bold; text-decoration: underline;
}
footer ul li ul li a {
	color: rgb(54, 82, 161); font-weight: 300; text-decoration: none;
}
footer ul li ul li ul li {
	padding-left: 12px;
}
#copy {
	background: rgb(255, 255, 255); line-height: 12px; font-size: 12px; color:rgb(46, 99, 209);
}
#copy ul {
	margin-bottom: 10px; float: left;
}
#copy li {
	padding-right: 10px; margin-right: 10px; border-right-color: rgb(102, 102, 102); border-right-width: 1px; border-right-style: solid; float: left; cursor: pointer;
}
#copy li:hover {
	opacity: 0.7;
}
#copy li:hover {
	opacity: 0.7;
}
#copy li.last {
	border-right-color: currentColor; border-right-width: medium; border-right-style: none;
}
#copy a {
	font-weight: 300; text-decoration: none; color:#fff;	
}
.copy {
	text-align: center;
}
@media handheld, only screen and (max-width:767px)
{
#copy {
	padding: 0px 0px 20px;
}
.copy {
	text-align: center;
}
.pad_none {
	display: none;
}
}
@media handheld, only screen and (max-width:480px)
{
#copy ul {
	margin:0 10px 30px;
}
#copy li {
	background: rgb(255, 255, 255); margin: 0px; padding: 15px 10px; border: 1px solid rgb(208, 208, 208); border-image: none; width: 50%; text-align: center; float: left; box-sizing: border-box;
}
#copy li.w100 {
	border: 1px solid rgb(208, 208, 208); border-image: none; width: 100%;
	}
#copy a {color:#666;}
}
.pagetop {
	right: 15px; bottom: 15px; display: none; position: fixed; z-index: 9999; opacity: 0.7;
}
.pagetop:hover {
	opacity: 0.5;
}
.pagetop a {
	width: 80px; height: 80px; display: block;
}
.pagetop a img {
	width: 100%;
}
@media screen and (max-width:480px)
{
.box_f {
	padding: 10px 0px;
}
.box_f .left {
	width: 100%; margin-bottom: 10px; float: none;
}
.box_f .right {
	width: 100%; float: none;
}
.list_footer li {
	margin-bottom: 10px; border-right-color: currentColor; border-right-width: medium; border-right-style: none;
}
.pagetop {
	bottom: 40px; display: none; position: fixed;
}
.pagetop a {
	width: 60px; height: 60px; display: block;
}
}
