@charset "utf-8";
/*img {
	max-width:100%;
  vertical-align: bottom;
  -webkit-transition: all .5s ease-in-out;
	-moz-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
		/*-webkit-transition: 0.25s ease-in-out;
		-moz-transition: 0.25s ease-in-out;
		transition: 0.25s ease-in-out;*/
}
img {
	max-width:100%;
	height:auto;
}

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

.mincho {
	font-family: "Times New Roman", Times,"游明朝体", "Yu Mincho", YuMincho, "HG明朝B",'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','HG明朝E','ＭＳ Ｐ明朝', serif;
}


/* -----------------------------------------------------------------------
## Reset #################################################################
----------------------------------------------------------------------- */
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,img,
pre,form,fieldset,input,textarea,p,blockquote,th,td {
  margin: 0px;
  padding: 0px;
}
html {overflow:auto; height:100%;}
body{
	color: #000;
	font: 14px/185% "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese","Hiragino Maru Gothic W4 JIS2004", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
fieldset,img {
  border: 0;
  vertical-align: bottom;
}

address,caption,cite,code,dfn,em,var {
  font-style: normal;
  font-weight: normal;
}
ul {
  list-style: none;
}
ol li {
	list-style-position: outside;
	list-style: decimal;
	margin-left: 25px;
	margin-bottom:5px;
}

caption,th {
  text-align: left;
  font-weight: normal;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: normal;
}

a{
	color: #333333;
	text-decoration:none;
}



.clearfix {display: inline-block;} 
/* Hides from IE-mac \*/ * html .clearfix {height: 1%;} 
.clearfix {display: block;} /* End hide from IE-mac */
.clearfix:after { content: ""; display: block; clear: both; }
.clearfix {overflow:hidden;}
.clear {
	clear: both;
	padding: 0px;
}

table, tr, th, td {
    border-collapse: collapse;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
/*p {
	font: 14px/190% 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, "メイリオ", sans-serif;
}
*/
.sp {display:none;}

.hover {
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
.hover:hover {
	opacity:0.75;
}


/*---- FOR SP ----*/
@media only screen and (max-width: 768px){
body{
	color: #000;
	font: 12px/165% "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	letter-spacing:0.05em;
	line-height:160% !important;
	
}
body{
	color: #000;
	font: 12px/165% "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	letter-spacing:0.05em;
	
}
.pc {display:none !important;}
.sp {display:block!important;}
.img100 {width:100%; height:auto;}
.img90 {width:90%; height:auto;}
.img80 {width:80%; height:auto;}
.img70 {width:70%; height:auto;}
}
.re { position:relative;}




/****************************************

HEADER

*****************************************/
#header .innar h1  {
	float: left;
	margin: 11% 0px 0px 10px;
}
#header .innar .hd_tel  {
	float: right;
	margin: 25px 0px 30px;
}
#header .innar .hd_tel .txt {
	color: #ff6500;
	font-size: 15px;
	line-height: 35px;
}

/* ===============================================
#header2
=============================================== */
#header {
	width: 100%;
	left: 0px;
	bottom: 0px;
	background: url(../images/common/hd_link_bg.gif) no-repeat right top;
}
@media only screen and (max-width: 1000px){
#header {
	background: url(none);
}
}
#header .hd_logo {
	float: left;
	width: 35%;
}
#header .hd_logo h1 {
}
#header .hd_link {
	float: right;
	width: 65%;
	background-size: 100% auto;
	background: #43A2D3;
}
#header .hd_link .hd_sup {
	color: #FFF;
	margin: 0px 0px 7px;
	padding: 10px 10px 0px 0px;
	line-height: 18px;
}
#header .hd_link .hd_sup .tel {
	float: right;
	margin: 0px 15px 0px 0px;
}
#header .hd_link .hd_sup .tel:before{
	margin: -4px 3px 0 0;
	content: " ";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url(../images/common/hd_tel.png);
	background-size: contain;
	vertical-align: middle;
}
#header .hd_link .hd_sup .tel i {
	font-size: 14px;
}
#header .hd_link .hd_sup .laug {
	float: right;
}
#header .hd_link .hd_sup .laug:before{
	margin: -4px 3px 0 0;
	content: " ";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url(../images/common/hd_grobal.png);
	background-size: contain;
	vertical-align: middle;
}
#header .innar {
	max-width: 1000px;
	min-width: 760px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
#header #gnav  {
	background: #43A2D3;
	padding: 0 0 0 10px;
}
#header #gnav ul li {
	padding: 25px 0 26px;
	margin: 0 0 0 3%;
}
#header #gnav li {
	line-height: 100%;
	text-align: center;
	font-size: 100%;
	float: left;
}


/*#header .gnavi .gnavi8 a {
	font-size: 13px;
}*/
#header .gnavi li a {
	position: relative;
	transition: .1s;
	font-size: 15px;
	color: #fff;
	padding: 0px 0px 7px 0px;
	/*! font-weight: bold; */
	z-index: 10;
}
/*#header .gnavi .gnavi1 a {
	margin: 0px 2% 7px 0px;
}*/


#header .gnavi li a img {
	position: relative;
  z-index:10;
}


#header .gnavi li a::after {
	position: absolute;
	content: '';
	width: 0;
	height: 5px;
	transition: .3s;
	z-index:8;
}
@media only screen and (max-width: 1024px){
#header .hd_logo {
	width: 20%;
	padding: 0 5px;
}
#header .hd_link {
	width: 75%;
}
}
@media only screen and (max-width: 845px){
#header .hd_link .gnav {
	padding: 0px 0px 0px 10px;
}
#header #gnav ul li {
	margin: 0 1%;
}
#header .gnavi .gnavi8 a {
	font-size: 13px;
}
}
#header .gnavi .gnavi1 a::before,
#header .gnavi .gnavi1 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi2 a::before,
#header .gnavi .gnavi2 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi3 a::before,
#header .gnavi .gnavi3 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi4 a::before,
#header .gnavi .gnavi4 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi5 a::before,
#header .gnavi .gnavi5 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi6 a::before,
#header .gnavi .gnavi6 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi7 a::before,
#header .gnavi .gnavi7 a::after {
	background-color: #fff;
}
#header .gnavi .gnavi8 a::before,
#header .gnavi .gnavi8 a::after {
	background-color: #fff;
}



/*#header .gnavi .gnavi6 a::before,
#header .gnavi .gnavi6 a::after {
	background-color: #0095d4;
}*/

#header .gnavi li a::before {
	top: 6px;
	left: 0;
}
#header .gnavi li a::after {
	bottom: 0px;
	left: 0;
}
#header .gnavi li a:hover::before,
#header .gnavi li a:hover::after {
	width: 100%;
}

/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 0px;
	top: 0px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	z-index: 101;
	padding: 15px 10px 0 10px;
	background: #0095d4;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	background-color: #fff;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 8px;
}
#nav-toggle span:nth-child(3) {
	top: 16px;
}





#sp_navi {display:none;}
@media only screen and (max-width: 768px){
.pc {display:none !important;}
.sp {display:block!important;}
	
#header {
	height: 50px;
	left: 0px;
	top: 0px;
}
#header .innar {
	max-width:auto;
	min-width:auto;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
#header .innar h1  {
	padding-top: 2%;
	padding-left: 15px;
	float: none;
	margin: 0;
}
#header .innar h1 img  {
	height:31px;
	width:auto;
}
#header .hd_logo {
	width: auto;
	padding: 2% 0 0 1%;
}


#header .hd_tel {display:none;}
#header #gnav {display:none;}
#nav-toggle {
		display: block;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
#sp_navi{
	display: none;
	width: 100%;
	clear: both;
	position: absolute;
	top: 52px;
	background: #efefef;
	box-sizing: content-box;
	z-index: 100;
	text-align:center;
}
	#sp_navi li{
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	width: 50%;
	float: left;
	box-sizing: border-box;
	border-bottom: 1px solid #dfdfdf;
	line-height: 45px;
	font-weight: 700;
	text-align:left;
	font-size: 13px;
}
#sp_navi ul li a {
	color: #333;
	vertical-align: middle;
	display: block;
	text-decoration: none;
	background: #efefef;
	padding-left:15px;
	border-right: solid 1px #dfdfdf;
}
#sp_navi ul li a:hover {
	color: #333;
	text-decoration: none;
	background-color: #CCCCCC;
}
	/*#sp_navi li:nth-child(odd){
		border-right:1px solid #dfdfdf;
		border-bottom:1px solid #dfdfdf;
}
	#sp_navi li:nth-child(even){
		border-bottom:1px solid #dfdfdf;
}*/
#sp_navi li.navi_contact{
		width:100%;
		float:none;
		box-sizing: border-box;
		padding-right: 0;
		border:none;
		clear: both;
		text-align:center;
		padding: 15px;
}
#sp_navi li.navi_contact a{
		width:80%;
		padding:15px 0;
		background:#179e5f;
		display: block;
		margin-left: auto;
		margin-right: auto;
		color: #FFF;
}
#sp_navi li.navi_contact a:before{
	margin:0 10px 0 0;
    content:" ";
    display:inline-block;
    width:20px;
    height:14px;
    background:url(../common/images/sp_navi_contact.gif) no-repeat;    
    background-size:contain;
    vertical-align:middle;
}
#sp_navi ul li img {
	width: auto;
	padding:19px 12px 19px 12px;
}
}




/****************************************

footer

*****************************************/
footer {
}
footer .com_logo {
	margin: 0px auto;
	max-width: 1000px;
	border-bottom: 1px dotted #888;
}
footer .com_logo .logo {
	margin: 0px 45px 30px 0px;
	float: left;
}
footer .com_logo .text {
	float: left;
	line-height: 70px;
}
footer .outline {
	padding: 35px 0px 30px;
}
footer .outline .innarWrap {
	margin: 0px auto;
	max-width: 1000px;
}
footer .outline .sm {
	float: right;
	width: 63%;
	font-size: 14px;
}
footer .outline .sm .st {
	font-weight: bold;
	font-size: 16px;
	margin: 0px 0px 25px 10px;
}
footer .outline .sm .st:before{
	margin: 0px 10px 0px 0px;
	content: " ";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../images/common/ft_sm_title.png);
	background-size: contain;
	vertical-align: middle;
}
footer .outline .sm .menu {
	text-align: center;
}
footer .outline .sm .menu ul {
	text-align: left;
	display: inline-block;
	width: 24%;
	vertical-align: top;
}
footer .outline .sm .menu ul li {
	margin: 0px 0px 5px;
}
footer .outline .teco {
	float: left;
	width: 32%;
}
footer .outline .teco .logo {
	width: 31%;
	float: left;
}
footer .outline .teco .text {
}
footer .outline .teco .text .name {
	font-size: 16px;
	font-weight: bold;
	margin: 0px 0px 10px;
}
footer .outline  .teco .text .add {
	font-size: 14px;
	margin: 0px 0px 15px;
}
footer .outline .teco .text .bt {
	line-height: 70px;
	text-align: center;
	width: 98%;
}
footer .outline .teco .text .bt a {
	display: block;
	color: #FFF;
	background: #0095d4;
	font-size: 18px;
}



#copyright {
	text-align: center;
	padding: 25px 0px;
	border-top: 2px solid #43a2d3;
}
#copyright .copy {
	font-size: 15px;
	margin: 0px 0px 10px;
}



/* ----------------------------------------
 *  ページトップ
 * ---------------------------------------- */
#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
}
#page-top a {
	text-decoration: none;
	padding: 15px 0;
	text-align: center;
	display: block;
	vertical-align: middle;
}
#page-top a:hover {
	opacity:0.7;
}

@media only screen and (max-width: 768px){
#page-top {
	display:none;
	bottom: 10px;
	right: 10px;
}
#page-top img {
	width:auto;
	height:35px;
}
#page-top a {
	width: 45px;
	padding: 10px 0 15px;
}

}



@media only screen and (max-width: 768px){
	
footer {
}
footer .com_logo {
	margin: 0px 5%;
	padding: 0 0 20px;
}
footer .com_logo .logo {
	margin: 0px 0px 15px 0px;
	float: none;
	text-align: center;
}
footer .com_logo .text {
	float: none;
	line-height: 1.5em;
}
footer .outline {
	padding: 20px 0px 0px;
}
footer .outline .innarWrap {
}
footer .outline .sm {
	float: none;
	width: auto;
	font-size: 13px;
}
footer .outline .sm .st {
	font-size: 15px;
	margin: 0px 5% 10px;
}
footer .outline .sm .st:before{
	margin: 0px 10px 0px 0px;
	content: " ";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../images/common/ft_sm_title.png);
	background-size: contain;
	vertical-align: middle;
}
footer .outline .sm .menu {
	text-align: center;
	background: #f5f5f5;
	padding: 0;
	border-top: solid 1px #ccc;
}
footer .outline .sm .menu ul {
	display: block;
	width: auto;
}
footer .outline .sm .menu ul li {
	float: left;
	width: 50%;
	line-height: 3.5em;
	border-bottom: 1px solid #CCC;
	margin: 0;
	box-sizing: content-box;
	font-size: 12px;
}
footer .outline .sm .menu ul li:nth-child(even) {
	float: right;
	border-right: none;
}
footer .outline .sm .menu ul li a {
	margin: 0 0 0 10px;
	border-right: solid 1px #ccc;
	display: block;
}
footer .outline .teco {
	float: none;
	width: auto;
	margin: 0 5% 30px;
}
footer .outline .teco .logo {
	width: 31%;
	float: left;
}
footer .outline .teco .text {
}
footer .outline .teco .text .name {
	font-size: 15px;
	margin: 0px 0px 5px;
}
footer .outline  .teco .text .add {
	font-size: 12px;
	margin: 0px 0px 10px;
}
footer .outline .teco .text .bt {
	line-height: 45px;
	width: auto;
}
footer .outline .teco .text .bt a {
	font-size: 14px;
}


	
}


.wrapper {
}


#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 1;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 2;
}
/*---- FOR SP ----*/
#contents_box {
	width: 1800px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	margin-top: 71px;
}




nav ul li a .text {
	height: 40px;
	width: 150px;
}
nav .contact img {
	height: 40px;
	width: 150px;
}

.footer_sp {
	display:none;
}


/*---- FOR SP ----*/
@media only screen and (max-width: 768px){
.wrapper {
	padding-top: 0px;
}

footer .ft_menu {
	border-bottom: 1px dotted #FF6601;
	padding-bottom: 20px;
}
footer .ft_menu .nav {
	float: none;
	width: auto;
}
footer .ft_menu .nav ul {
	padding:15px 0;
}
footer .ft_menu .nav ul li {
	display: inline-block;
	margin: 0px 3%;
}
footer .ft_menu .nav ul li:first-child {
	margin: 0 3% 9px;
}
footer .ft_menu .nav ul li:last-child {
	margin: 9px 0 0px 3%;
}
footer .ft_menu .nav ul li .blank:after {
	margin: 0 0 0 3px;
	content: " ";
	display: inline-block;
	width: 11px;
	height: 9px;
	background: url(../images/common/ft_blank.png);
	background-size: contain;
	vertical-align: middle;
}
footer .ft_menu .tel  {
	float: none;
	width: auto;
	margin: 10px 0px 0px 0px;
}
footer .ft_menu .tel .txt {
	color: #FF5400;
	margin: 0px 0px 5px;
	font-size: 13px;
}
footer .ft_outline .logo {
	margin: 20px 0px 0px;
	float: left;
}
footer .ft_outline .logo  .txt{
	color: #FF5400;
	margin: 5px 0px 0px;
	font-size: 12px;
}
footer .ft_outline .ex_text {
	float: right;
	margin: 15px 0px 0px;
	font-size: 12px;
}




#copyright {
    padding: 10px 0;
}
#copyright .copy {
	margin: 0px 0px 5px;
}

}


.footer_sp .f_inner_sp .address_sp {
	width: 90%;
	margin: 0px auto 30px;
	text-align: left;
}
.footer_sp .f_inner_sp .ft_logo_sp {
	width: 28%;
	text-align: center;
	margin: 0px auto;
	padding: 0px 0px 15px;
}
.footer_sp .f_inner_sp .ft_logo_sp2 {
	width: 52%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	margin-bottom: 20px;
}

#pankuzu {
	line-height: 70px;
	font-size: 14px;
	text-align: right;
	background: #fff;
	padding: 0px 10px 0px 0px;
}
#pankuzu p {
	margin: 0px auto;
	max-width: 1000px;
}
#pankuzu p a {
	color: #FF6500;
	text-decoration: none;
}
#pankuzu p a:hover {
	color: #FF6500;
	text-decoration: none;
}
#pankuzu p span {
	color: #1057A0;
	font-weight: 700;
}


#main_img {
	background-image: url(../images/common/main_bg2.gif) , url(../images/anniver_100th/main.jpg);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, center top;
	background-size: 30% 100%, cover;
}
#main_img .main_title {
	line-height: 180px;
	width: 1080px;
	margin-right: auto;
	margin-left: auto;
}
#main_img .main_title h2 {
	color: #FFF;
	font-size: 34px;
	font-weight: 700;
	margin: 0px;
	padding: 0px 200px 0px 0px;
	background: url(../images/common/main_bg.png) no-repeat right center;
	float: left;
}

#sidenav {
	float: left;
	width: 220px;
}
#sidenav ul li {
	margin: 0px 0px 10px;
}
.content {
	width: 1000px;
	padding: 0px 0px 100px;
}
.content h3 {
	font-size: 24px;
	font-weight: 700;
	border-bottom: 1px dotted #FF6500;
	margin: 0px 0px 15px;
	padding: 0px 0px 15px;
}
.content h4 {
	font-size: 20px;
	border-bottom: 1px dotted #333;
	padding: 0px 0px 10px 15px;
	margin: 0px 0px 20px;
}







@media only screen and (max-width: 768px){
#pankuzu {
	display:none;
}
#pankuzu p a:hover {
	color: #999;
	text-decoration: none;
}
#pankuzu p span {
	color: #c31a27;
}



}
