@charset "UTF-8";


/* 
==============================================================*/
.colorBlue {
	color: #004098;
}
.colorRed {
	color: #cc0000;
}



/* 
==============================================================*/
img {
	border:0;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

a, a:hover, a:active, a:visited a:link {
	cursor: hand;
}

/* 
==============================================================*/
.mb5 { margin-bottom:5px;}
.mb10 { margin-bottom:10px;}
.mb15 { margin-bottom:15px;}
.mb20 { margin-bottom:20px;}
.mb25 { margin-bottom:25px;}
.mb30 { margin-bottom:30px;}
.mb35 { margin-bottom:35px;}
.mb40 { margin-bottom:40px;}
.mb45 { margin-bottom:45px;}
.mb50 { margin-bottom:50px;}
.mb55 { margin-bottom:55px;}
.mb60 { margin-bottom:60px;}
.mb65 { margin-bottom:65px;}
.mb70 { margin-bottom:70px;}
.mb75 { margin-bottom:75px;}
.mb80 { margin-bottom:80px;}
.mb85 { margin-bottom:85px;}
.mb90 { margin-bottom:90px;}
.mb95 { margin-bottom:95px;}
.mb100 { margin-bottom:100px;}

.mt5 { margin-top:5px;}
.mt10 { margin-top:10px;}
.mt15 { margin-top:15px;}
.mt20 { margin-top:20px;}
.mt25 { margin-top:25px;}
.mt30 { margin-top:30px;}
.mt35 { margin-top:35px;}
.mt40 { margin-top:40px;}
.mt45 { margin-top:45px;}
.mt50 { margin-top:50px;}
.mt55 { margin-top:55px;}
.mt60 { margin-top:60px;}
.mt65 { margin-top:65px;}
.mt70 { margin-top:70px;}
.mt75 { margin-top:75px;}
.mt80 { margin-top:80px;}
.mt85 { margin-top:85px;}
.mt90 { margin-top:90px;}
.mt95 { margin-top:95px;}
.mt100 { margin-top:100px;}

.ml5 { margin-left:5px;}
.ml10 { margin-left:10px;}
.ml15 { margin-left:15px;}
.ml20 { margin-left:20px;}
.ml25 { margin-left:25px;}
.ml30 { margin-left:30px;}
.ml35 { margin-left:35px;}
.ml40 { margin-left:40px;}
.ml45 { margin-left:45px;}
.ml50 { margin-left:50px;}

.mr5 { margin-right:5px;}
.mr10 { margin-right:10px;}
.mr15 { margin-right:15px;}
.mr20 { margin-right:20px;}
.mr25 { margin-right:25px;}
.mr30 { margin-right:30px;}
.mr35 { margin-right:35px;}
.mr40 { margin-right:40px;}
.mr45 { margin-right:45px;}
.mr50 { margin-right:50px;}

.pt5 { padding-top:5px;}
.pt10 { padding-top:10px;}
.pt15 { padding-top:15px;}
.pt20 { padding-top:20px;}
.pt25 { padding-top:25px;}
.pt30 { padding-top:30px;}
.pt35 { padding-top:35px;}
.pt40 { padding-top:40px;}
.pt45 { padding-top:45px;}
.pt50 { padding-top:50px;}
.pt55 { padding-top:55px;}
.pt60 { padding-top:60px;}
.pt65 { padding-top:65px;}
.pt70 { padding-top:70px;}
.pt75 { padding-top:75px;}
.pt80 { padding-top:80px;}
.pt85 { padding-top:85px;}
.pt90 { padding-top:90px;}
.pt95 { padding-top:95px;}
.pt100 { padding-top:100px;}

.pb5 { padding-bottom:5px;}
.pb10 { padding-bottom:10px;}
.pb15 { padding-bottom:15px;}
.pb20 { padding-bottom:20px;}
.pb25 { padding-bottom:25px;}
.pb30 { padding-bottom:30px;}
.pb35 { padding-bottom:35px;}
.pb40 { padding-bottom:40px;}
.pb45 { padding-bottom:45px;}
.pb50 { padding-bottom:50px;}
.pb55 { padding-bottom:55px;}
.pb60 { padding-bottom:60px;}
.pb65 { padding-bottom:65px;}
.pb70 { padding-bottom:70px;}
.pb75 { padding-bottom:75px;}
.pb80 { padding-bottom:80px;}
.pb85 { padding-bottom:85px;}
.pb90 { padding-bottom:90px;}
.pb95 { padding-bottom:95px;}
.pb100 { padding-bottom:100px;}

.pl5 { padding-left:5px;}
.pl10 { padding-left:10px;}
.pl15 { padding-left:15px;}
.pl20 { padding-left:20px;}
.pl25 { padding-left:25px;}
.pl30 { padding-left:30px;}
.pl35 { padding-left:35px;}
.pl40 { padding-left:40px;}
.pl45 { padding-left:45px;}
.pl50 { padding-left:50px;}

.pr5 { padding-right:5px;}
.pr10 { padding-right:10px;}
.pr15 { padding-right:15px;}
.pr20 { padding-right:20px;}
.pr25 { padding-right:25px;}
.pr30 { padding-right:30px;}
.pr35 { padding-right:35px;}
.pr40 { padding-right:40px;}
.pr45 { padding-right:45px;}
.pr50 { padding-right:50px;}

.mtb10 { margin:10px 0;}
.mtb20 { margin:20px 0;}
.mtb30 { margin:30px 0;}

.ptb10 { padding:10px 0;}
.ptb20 { padding:20px 0;}
.ptb30 { padding:30px 0;}

.float-l { float:left; display: inline;}
.float-r { float:right; display: inline;}

.text-left, td.text-left, .text-left td{ text-align:left;}
.text-right, td.text-right, .text-right td{ text-align:right;}
.text-center, td.text-center, .text-center td{ text-align:center;}
.text-justify {	text-align: justify;}
.text-nowrap { white-space: nowrap;}

.valign_t, td.valign_t, .valign_t td{ vertical-align:top;}
.valign_m, td.valign_m, .valign_m td{ vertical-align:middle;}
.valign_b, td.valign_b, .valign_b td{ vertical-align:bottom;}

.fsLarger {font-size: larger;}

.clear{clear:both;}

.clearfix:after  {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
section:after  {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}


.text-justify p {
	text-align:justify;
	text-justify:inter-ideograph;
	margin-bottom: 1em;
}

.text-indent p {
	text-indent: -1em;
	padding-left: 1em;
}


.normal-list ul {
	margin: 1em 0 1em 1.5em;
}

.normal-list ul li {
	list-style-type: disc;
	margin-bottom: 0.3em;
}







/* 
==============================================================*/

.pic {
	margin-bottom: 5px;
}

.banner {
	margin-bottom: 10px;	
}


/* 
==============================================================*/

.visible-xs {
	display: none;
}
@media screen and (max-width: 480px) {
.hidden-xs {
	display: none;
}
.visible-xs {
	display: block;
}
}

.visible-1200 {
	display: none;
}
@media screen and (max-width: 1200px) {
.hidden-1200 {
	display: none;
}
.visible-1200 {
	display: block;
}
}

.visible-992 {
	display: none;
}
@media screen and (max-width: 992px) {
.hidden-992 {
	display: none;
}
.visible-992 {
	display: block;
}
}

.visible-768 {
	display: none;
}
@media screen and (max-width: 768px) {
.hidden-768 {
	display: none;
}
.visible-768 {
	display: block;
}
}

.visible-540 {
	display: none;
}
@media screen and (max-width: 540px) {
.hidden-540 {
	display: none;
}
.visible-540 {
	display: block;
}
}





/* フォントサイズ
==============================================================*/
/*
html要素にfont-size:62.5%を設定し、ベースのサイズを10pxとします。
こうすることで1rem=10pxとなり、例えば32pxで指定したい時は3.2remと書けばよいので
わかりやすく、マークアップはもちろんメンテナンスもスムーズに行えるかと思います。
*/

html{
    font-size: 62.5%;
}
body{
    font-size:1.6rem;/* 16px*/
    line-height: 1.8;
}


@media screen and (max-width: 768px) {

}



/* 
==============================================================*/





/* ページトップリンク
==============================================================*/

#pageTopLink {
	position: fixed;
	bottom: 45px;
	right: 20px;
	z-index: 10000;
}
#pageTopLink a {
	display: block;
	z-index: 999;
	/*padding: 11px 8px 5px 8px;*/
	padding: 15px 8px 10px 8px;
	border-radius: 30px;
	width: 60px;
	height: 60px;
	background-color: #255141;
	border: 2px solid #fff;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
	text-align: center;
}
#pageTopLink a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* IE10以降 */
@media all and (-ms-high-contrast:none){
  #pageTopLink a {
    padding: 15px 8px 1px 8px;
  }
}

/* IE11のみ */
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #pageTopLink a {
    padding: 15px 8px 1px 8px;
  }
}



@media screen and (max-width: 768px) {

#pageTopLink a {
	padding: 12px 8px 4px 8px;/*矢印位置の微調整*/
}

}






/* ページトップリンク画像版（webフォント版との切り替えはpageTopLink.jsも変更が必要）
==============================================================*/

#pageTopLinkImgBtn {
	position: fixed;
	bottom: 6px;
	right: 45px;
	width: 60px;
	z-index: 10000;
}
#pageTopLinkImgBtn a {
	/*display: block;
	z-index: 999;
	padding: 11px 8px 5px 8px;
	border-radius: 30px;
	width: 35px;
	height: 35px;
	background-color: #e96d56;
	border: 2px solid #fff;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
	text-align: center;*/
}
#pageTopLinkImgBtn a:hover {
	/*text-decoration: none;*/
	opacity: 0.7;
}








/* Googleマップ レスポンシブ対応
-----------------------------------------------------------------*/
.googleMap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 5px;
	margin-top: 5px;
}
.googleMap iframe,
.googleMap object,
.googleMap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
親要素「googleMap」の高さは「height」ではなく「padding-bottom」で、かつ％で指定します。
％指定なので横幅に応じて可変になります。「padding-top」でもOKです。

なぜ56.25％なのかは、アスペクト比16:9にしているためです。
9/16*100=56.25

4:3の場合は75％。
3/4*100＝75

Googleマップの場合、アスペクト比は気にせず任意の％で大丈夫ですが、
Youtubeの埋め込みでアスペクト比が活きてきます。
*/

/* Googleマップ 横幅100%
-----------------------------------------------------------------*/
.google-maps {
position: relative;
padding-bottom: 350px; // これが縦横比
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 350px !important;
}






/* facebook page-link レスポンシブ対応
-----------------------------------------------------------------*/
.facebook-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.facebook-wrapper > .fb-page {
    width: 100%;
}
.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
    width: 100% !important;
}


.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;
}




/* パンくずリスト
-----------------------------------------------------------------*/
/*.breadcrumb-menu {
	margin: 20px 0 40px;
}

.breadcrumb-menu i {
	margin: 0 10px;
	margin: 0 10px;
}

.breadcrumb-menu li a {
	color: #a1473c;
}
.breadcrumb-menu li a:hover {
	text-decoration: underline;
}*/

.breadcrumb-menu ul {
	list-style: none;
	font-size: 1.4rem;
}

.breadcrumb-menu ul li {
    margin: 0 5px 0 0;
    float: left;
}
 
.breadcrumb-menu ul li:first-child::before {
	font-family: 'Material Icons';
  content: "\e88a";
	font-size: 1.6rem;
	position: relative;
	top: 3px;
	margin-right: 3px;
}
 
.breadcrumb-menu ul li::before {
	font-family: 'Material Icons';
  content: "\e5cc";
	font-size: 1.6rem;
	position: relative;
	top: 3px;
	margin-right:5px;
}

.breadcrumb-menu {
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {

.breadcrumb-menu {
	margin-bottom: 20px;
}

}




/*　テーブル
-----------------------------------------------------------------*/
.normal-tab {
	width: 100%;
	border-collapse: collapse;
}

.normal-tab th,
.normal-tab td {
	border: 1px solid #cccccc;
	padding: 10px;
	vertical-align: top;
	font-size: 100%;
}

.normal-tab th {
	font-weight: normal;
	background-color: #f4f4f1;
}


.border-b-tab {
	width: 100%;
	border-collapse: collapse;
}

.border-b-tab th,
.border-b-tab td {
	border-bottom: 1px solid #ccc;
	vertical-align: top;
	font-size: 1.4rem;
	line-height: 1.6em;
}

.border-b-tab th {
	font-weight: normal;
	padding: 20px 20px 20px 0;
}
.border-b-tab td {
	font-weight: normal;
	padding: 20px 20px 20px 0;
}


.border-b-tab th.border-t-tab,
.border-b-tab td.border-t-tab {
	border-top: 1px solid #ccc;
}



.th-text-left {
	text-align: left;
}


.no-wrap-th th {
	white-space: nowrap;
}


.w10per {width: 10%;}
.w15per {width: 15%;}
.w20per {width: 20%;}
.w25per {width: 25%;}
.w30per {width: 30%;}
.w35per {width: 35%;}
.w40per {width: 40%;}
.w45per {width: 45%;}
.w50per {width: 50%;}
.w55per {width: 55%;}
.w60per {width: 60%;}
.w65per {width: 65%;}
.w70per {width: 70%;}
.w75per {width: 75%;}
.w80per {width: 80%;}
.w85per {width: 85%;}
.w90per {width: 90%;}
.w95per {width: 95%;}
.w100per {width: 100%;}



















/*アンカーリンク位置調整*/

.anchor {
	display: block;
	padding-top: 153px;
	margin-top: -153px;
}





/* ガター幅（余白）を調整 */
.row-0 {
    margin-left:0px;
    margin-right:0px;
}
.row-0>div {
    padding-right:0px;
    padding-left:0px;
}
.row-10 {
    margin-left:-5px;
    margin-right:-5px;
}	
.row-10>div {
    padding-right:5px;
    padding-left:5px;
}
.row-20 {
    margin-left:-10px;
    margin-right:-10px;
}
.row-20>div {
    padding-right:10px;
    padding-left:10px;
}
.row-30{
    margin-left:-15px;
    margin-right:-15px;
 }
.row-30>div {
    padding-right:15px;
    padding-left:15px;
}
.row-40{
    margin-left:-20px;
    margin-right:-20px;
}
.row-40>div{
    padding-right:20px;
    padding-left:20px;
}
.row-50{
    margin-left:-25px;
    margin-right:-25px;
}
.row-50>div{
    padding-right:25px;
    padding-left:25px;
}
.row-60{
    margin-left:-30px;
    margin-right:-30px;
}
.row-60>div{
    padding-right:30px;
    padding-left:30px;
}