@charset "utf-8";

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

　　共通設定

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


/*  全体　基本設定
---------------------------------------------*/

html,
body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "segoe UI","メイリオ", Meiryo, "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif;
  font-size: 1.46em;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
  color: #333;
}


/*  PC・SP表示切り替え 共通設定
-------------------------- */

.mediaSP {
  display: none !important;
}


/*  画像 基本設定
-------------------------- */

img {
  vertical-align: top;
  border: none;
}


/*  リンク 基本設定
-------------------------- */

a {
  color: #003f89;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  color: #088597;
  text-decoration: underline;
}


/*  テキスト 基本設定
-------------------------- */

strong,
noscript {
  font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}


/*  フォーム 基本設定
-------------------------- */

input,
button,
select,
textarea {
  border-radius: 0 !important;
  padding: 5px;
  background: #fff;
  font-size: 1em;
}

input[type="button"],
input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"] {
  -webkit-appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
  padding: 0;
  font-size: 1.2em;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  border: 1px solid #d1d1d1;
}

textarea {
  -webkit-appearance: none;
  resize: vertical;
  width: 100%;
  height: 120px;
  line-height: 1.6em;
}


/* 　コンテナー　設定
---------------------------------------------*/

#container {
  position: relative;
  width: 100%;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  text-align: center;
}

.boxInner {
  width: 1164px;
  margin: 0 auto;
  text-align: left;
}

.boxInnerShort {
  width: 920px;
  margin: 0 auto;
  text-align: left;
}

/*  ヘッダー 設定
---------------------------------------------*/

#header {
  width: 100%;
}

#header a {
	color: #333; 
  text-decoration: none;
}

.headerSub {
	padding-bottom: 8px;
}

.headerSub ul {
	display: inline;
	float: right;
}

.headerSub ul li {
	display: inline-block;
	margin-left: -5px;
	font-size: 13px !important; 
}

.headerSub ul li a {
	display: inline-block;
	margin: 0;
	padding: 15px 15px 8px 15px;
	border-right: 1px solid #ccc;
}

.headerSub ul li:first-child a {
	border-left: 1px solid #ccc;
}

.headerSub ul li a:hover {
	color: #fff !important;
	background-color: #003e89;
}

.headerSub #fontsize {
	float: right;
	margin-top: 0.72em;
	margin-right: 20px;
	font-size: 12px;
}

.headerSub #fontsize a {
	display: inline-block;
	font-size: 14px;
	padding: 3px 14px;
	background-color: #f2f1ee;
	border-radius: 4px;
}

#fontsize-normal {
	margin-right: 6px;
	margin-left: 12px;
}

.headerSub #fontsize .on a,
.headerSub #fontsize a:hover {
	color: #fff;
	background-color: #003e89;
}

/* -------- ヘッダー上部 -------- */

#header #headerTop {
}

/* ---- サイトロゴ ---- */

#header #logo {}

#header #logo h1 {
  float: left;
	width: 516px;
}

/* -------- ヘッダー電話番号 -------- */

#header #logo {
	padding: 10px 0 20px 0;
}

#header #logo .headerPhone {
  float: right;
}

#header #logo .headerPhone dt,
#header #logo .headerPhone dd {
	display: inline-block;
}

#header #logo .headerPhone dt {
	vertical-align: top;
	font-weight: bold;
	line-height: 40px;
	text-align: right;	
}

#header #logo .headerPhone dd {
	margin-left: 15px;
	padding-left: 36px;
	font-size: 36px;
	font-weight: bold;
	font-family:Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	color: #003e89;
	background: url(../img/header/icn-phone.png) left center no-repeat;
}


/* ---- グローバルナビ ---- */

#headerBtm {
	height: 58px;
	border-top: 1px solid #dcdcdc;
	border-bottom: 3px solid #003e89;
}

/* -- ナビ一覧 -- */

#gnavi  {
	width: 1164px;
	background: url(../img/header/bdr.png) left center no-repeat;
}

#gnavi li {
	display: inline-block;
	width: 291px;
	margin-left: -6px;
	text-align: center;
	line-height: 58px;
}

#gnavi li  a {
	display: block;
	height: 57px;
	font-weight: bold;
	font-size: 1.067em;
	letter-spacing: 0.05em;
	background: url(../img/header/bdr.png) right center no-repeat;
}

#gnavi li  a.crnt  {
	border-bottom: 3px solid #eb0000;
}

#gnavi li  a:hover {
	color: #fff;
	background-color: #003f89;
	background-image: none;
}

/*  カレント  */

#container.home #gnavi li:first-child  a,
#container.facilities #gnavi li:nth-child(2)  a,
#container.guide #gnavi li:nth-child(3)  a,
#container.access #gnavi li:nth-child(4)  a  {
	border-bottom: 3px solid #eb0000;
}

/* グローバルナビ -折りたたみ */

.slicknav_menu {
    display:none;
}

#mobile-navi {
	display: block;
	position: absolute;
	right: 0; top: 12px;
	width: 100%;
	z-index:  12;
	background: none;
}

.slicknav_collapsed,
.slicknav_open {
	position: relative;
	display: block;
	vertical-align: middle;
	float: right;
	margin: 8px 12px 4px 12px;
	padding: 0.438em 0;
	line-height: 1.25em;
	cursor: pointer;
}

.slicknav_open {
	height: 48px;
}

.slicknav_open:before, .slicknav_open:after{
	content:'';
	height: 2px;
	width: 28px;
	display:block;
	background: #003f89;
	border-radius:2px;
	-webkit-border-radius:2px;
	-moz-border-radius:2px;
	position:absolute;
	top: 18px;
	left: 8px;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);}

.slicknav_open:after{
	transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-o-transform:rotate(45deg);
	-ms-transform:rotate(45deg);}

.slicknav_collapsed .slicknav_icon-bar + .slicknav_icon-bar {
	margin-top: 0.5em;
}

.slicknav_menu {
	*zoom: 1;
	box-sizing: border-box;
}

.slicknav_menu .slicknav_menutxt {
	display: block;
	line-height: 1.188em;
	float: left;
}

.slicknav_menu .slicknav_icon {
	float: left;
	margin: 0.188em 0 0 0.438em;
}

.slicknav_menu .slicknav_no-text {
	margin: 0;
}

.slicknav_menu .slicknav_icon-bar {
	display: block;
	width: 2.2em;
	height: 2px;
}

slicknav_menu:before {
	content: " ";
	display: table;
}

.boxNews:after,
.slicknav_menu:after {
	content: " ";
	display: table;
	clear: both;
}

.slicknav_nav {
	clear: both;
}

.slicknav_nav ul {
	display: block;
}

.slicknav_nav li {
	display: block;
}

.slicknav_nav .slicknav_arrow {
	font-size: 0.8em;
	margin: 0 0 0 0.4em;
}

.slicknav_nav .slicknav_item {
	cursor: pointer;
}

.slicknav_nav .slicknav_item a {
	display: inline;
}

.slicknav_nav .slicknav_row {
	display: block;
}

.slicknav_nav a {
	display: block;
}

.slicknav_nav .slicknav_parent-link a {
	display: inline;
}

.slicknav_brand {
	float: left;
}

.slicknav_menu {
	font-size: 15px;
	margin-top: -2px;
	box-sizing: border-box;
}

.slicknav_menu * {
	box-sizing: border-box;
}

.slicknav_menu .slicknav_menutxt {
}

.slicknav_menu .slicknav_icon-bar {
	background-color: #003f89;
}

.slicknav_nav {
	color: #fff;
	margin: 0;
	padding: 0;
	font-size: 0.875em;
	list-style: none;
	overflow: hidden;
}

.slicknav_nav ul {
	list-style: none;
	overflow: hidden;
	padding: 0;
	margin: 0 0 0 20px;
}

.slicknav_nav .slicknav_row:hover {
	background: #003f89;
	color: #fff;
}

.slicknav_nav a {
	font-size: 15px;
	padding: 9px 10px;
	margin: 0;
	text-align: left;
	text-decoration: none;
	background: #003f89;
	color: #fff;
	border-bottom: 1px solid #ccc;
}

.slicknav_nav a:hover {
	background: #6785bd;
	color: #fff;
}


/*  コンテンツ 設定
---------------------------------------------*/

#content {
	padding-bottom: 60px;
}

/*  パンくず  */

.topicPath {
	margin-bottom: 30px;
}

.topicPath p {
	font-size: 0.867em;
}

.topicPath p span {
	display: inline-block;
}

.topicPath p span a {
	display: inline-block;
}

.topicPath p span:before {
	margin-right: 0.35em;
	content: "»";
}

.topicPath p span:first-child:before {
	content: none;
}

/*  メイン 設定
---------------------------------------------*/

#main {
	float: right;
	width: 874px;
}


/*  サイドカラム 設定
---------------------------------------------*/

#side {
	float: left;
	width: 240px;
	margin-bottom: 20px;
}


/*  フッター 設定
---------------------------------------------*/

#footer {
	padding: 54px 0 42px 0;
	color: #fff;
	background-color: #003e89;
}

#footer a {
	color: #fff;
	text-decoration: underline;
}

#footer a:hover {
	text-decoration: none;
}

#footer .footerWrap {
	padding-bottom: 50px;
}

#footer .boxFtSummary {
	float: left;
	width: 800px;
}

#footer .boxFtLink {
	float: right;
	width: 210px;
}

/* 概要 */

#footer .boxFtSummary .boxLogo {
	margin-bottom: 30px;
}

#footer .boxFtSummary .boxLogo dt {
	margin-bottom: 15px;
}

#footer .boxFtSummary .boxLogo dd address {
	display: inline;
}

#footer .boxSummary dt {
	display: inline-block;
	float: left;
	width: 88px;
	clear: both;
}

#footer .boxSummary dd {
	display: inline-block;
	float: left;
	width: 590px;
	margin-bottom: 8px;
}

#footer .boxSummary dd strong {
	font-weight: bold;
	font-size: 2em;
}

#footer .boxSummary dd .telnum {
	position: relative;
	margin-top: -1em;
}


/* リンク */

#footer .boxFtLink ul li {
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 16px;
}

#footer .boxFtLink ul li a:before {
	content: ''; 
	display: block; 
	position: absolute; 
	top: 6px; 
	left: 2px; 
	height: 0; 
	width: 0; 
	border-top: 4px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #fff;
}

/* コピーライト */

p.copyright {
	padding-top: 2.5em;
	font-size: 0.8em;
	text-align: center;
	border-top: 1px solid #6c8ebf;

}

/* ---- ページトップ ---- */

#footer #pagetop {
  display: block;
  position: absolute;
  top: -100px;
  right: 20px;
  left: auto;
  z-index: 600;
  margin-left: 1054px;
}

/* -- ページトップ・固定 -- */

#footer #pagetop.fxd {
  position: fixed;
  top: auto !important;
  bottom: 20px;
}

/* -- リンク -- */

#footer #pagetop a {
  display: block;
  position: relative;
  transition: opacity .4s ease-in-out;
  float: right;
  width: 46px;
  height: 46px;
	text-indent: -9999px;
  border-radius: 100%;
  background: #000;
}

#footer #pagetop a:before,
#footer #pagetop a:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all .2s;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 8px;
  height: 8px;
  margin-top: -3px;
  margin-left: -5px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
}

#footer #pagetop a:after {
  margin-top: 0;
  border-top-color: #000;
  border-left-color: #000;
}


