@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* ------------------------------
 リセット
------------------------------ */

* {
border:0;
margin:0;
outline:0;
padding:0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
}

html {font-size:62.5%; width:100%; height:100%;}

body {
font-size:10px;
font-size:1.0rem;
line-height:1;
position:relative;
text-align:center;
	-webkit-text-size-adjust:100%;
	/*-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
	text-size-adjust:100%;*/
-webkit-font-smoothing:antialiased;
/*font-smoothing:antialiased;*/
-moz-osx-font-smoothing:grayscale;
width:100%;
height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}


hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}


/* ------------------------------
 サイト全体（PC用コード）
------------------------------ */
html, 
body {
	font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
	line-height: 1.7;
	min-width: 1140px;
	word-wrap: break-word;
	color: #3F3B3A;
	-webkit-text-size-adjust: 100%;
	margin: 0 auto;
	background: #F5F5F5;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.cf:after {
	content: "";
	clear: both;
	display: block;
}

.fl {
	float:left;
}

.fr {
	float:right;
}
.imgfr img {
	float:right;
	margin-left: 10px;
	margin-bottom: 8px;
}

.tal { text-align:left !important;}
.tac { text-align:center !important;}
.tar { text-align:right !important;}
.vat { vertical-align:top;}
.vam { vertical-align:middle !important;}
.vab { vertical-align:bottom !important;}

.vtb { vertical-align:text-bottom; }

strong, .bold { font-weight: bold;}
.nobold { font-weight: 500 !important;}
.auto {
	margin-left: auto;
	margin-right: auto;
}

input.none{
	display: none;
}
.hidden {
	display:none;
}
.sp {
	display:none !important;
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	.sp {
		display:block !important;
	}
	
}
/* 行スペース */
.b1 {
	margin-bottom: 1.7em;
}

.b2 {
	margin-bottom: 3.4em;
}

.b3 {
	margin-bottom: 5.1em;
}


/* スペース */
.mb0 {
	margin-bottom: 0 !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}

/* margin（上） */
.mt5 	{ margin-top: 5px; }
.mt10	{ margin-top: 10px; }
.mt15	{ margin-top: 15px; }
.mt20 	{ margin-top: 20px; }
.mt30 	{ margin-top: 30px; }
.mt40 	{ margin-top: 40px; }
.mt50 	{ margin-top: 50px; }
.mt100 	{ margin-top: 100px; }

/* リンク */
a {
	color: #063156;
	text-decoration: none;
}
a:hover {
	color: #0078C8;
	text-decoration: underline;
}

a img {
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
a:hover img {
	opacity: 0.7;
}


/* カラー */
.red {
	color: #DB0000;
}
.blue {
	color: #0078C8;
}

/* フォントサイズ */
.big,
.f17 {
	font-size: 1.7rem;
}
.f18 {
	font-size: 1.8rem;
}
.f20 {
	font-size: 2rem;
}
.f22 {
	font-size: 2.2rem;
}
.f42 {
	font-size: 4.2rem;
}

.small,
small {
	font-size: 1.3rem;
}
sup {
	font-size: 80%;
	vertical-align:top;
}
sub {
	font-size: 80%;
	vertical-align:bottom;
}
/* 打消し */
s,del {
	position: relative;
	display: inline-block;
}
s::before, del::before {
	content: "";
	position: absolute;
	top: 50%;
	border-top: 3px double #3F3B3A;
	width: 100%;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.nobrpc br { display: none;}
}


/* ------------------------------
 サイト全体（スマホ用コード）
------------------------------ */
@media screen and (max-width: 767px) {
	html, 
	body {
		min-width: 100%;
		max-width: 100%;
	}
	
	
	.fl,
	.fr {
		float: none;
	}
	.site {
		min-width: 0;
	}
	
	/* スペース */
	.sp_mb10 {
		margin-bottom: 10px !important;
	}
	.mb15 {
		margin-bottom: 10px !important;
	}
	.mb20 {
		margin-bottom: 15px !important;
	}
	.mb25 {
		margin-bottom: 15px !important;
	}
	.mb30 {
		margin-bottom: 20px !important;
	}
	.mb35 {
		margin-bottom: 20px !important;
	}
	.mb40 {
		margin-bottom: 25px !important;
	}
	.mb50 {
		margin-bottom: 25px !important;
	}
	.mb60 {
		margin-bottom: 30px !important;
	}
	
	/* フォントサイズ */
	.big,
	.f17 {
		font-size: 1.6rem;
	}
	.f18 {
		font-size: 1.6rem;
	}
	.f20 {
		font-size: 1.8rem;
	}
	.f22 {
		font-size: 2rem;
	}
	
	.nobr br { display: none;}
}



/* ------------------------------
 ヘッダ
------------------------------ */
.header {
	display: block;
	width: 100%;
	height: 85px;
	position: relative;
	z-index: 1000;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	background: #fff;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
.headerBlock  {
	margin: 0 auto;
	text-align: left;
	position: relative;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

/* ロゴ */
.headerBlock_logo {
	float: left;
	margin-top: 19px;
}
.headerBlock_logo img {
	width: 233px;
	vertical-align: middle;
}
/* 言語切り替え */
.headerBlock .gnav > li.language {
	font-family: 'Roboto' , 'Noto Sans Japanese', "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
	font-size: 1.2rem;
}
.headerBlock .gnav > li.language a {
	color: #0078C8;
	line-height: 20px;
	padding: 0 10px;
	border-radius: 20px;
	border: solid 1px #0078C8;
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.header {
		box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
		-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
		-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
	}
	.slidemenu-btn,
	.btn-submenu-toggle {
		display: none !important;
	}
    .headerBlock {
		width: 1140px;
		margin: 0 auto;
	}
	* + .gnav,
	.gnav:after {
		content: "";
		clear: both;
		display: block;
	}
	
	.headerBlock .gnav {
		font-size: 0;
		margin: 30px auto 0;
		float: right;
		position: relative;
        visibility: visible;
	}
	.headerBlock .gnav > li {
		font-size: 1.4rem;
		height: 55px;
		text-align: center;
		vertical-align: top;
		display: inline-block;
		margin: 0 11px;
		position: relative;
	}
	
	.headerBlock .gnav > li > a,
    .headerBlock .gnav > li > p > a {
		display: block;
		line-height: 1.4;
		padding-bottom: 8px;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0);
		box-shadow: 0 0 1px transparent;
		position: relative;
		text-decoration: none;
	}
	
	.headerBlock .gnav > li > a:before,
    .headerBlock .gnav > li > p > a:before {
		content: "";
		position: absolute;
		bottom: -5px;
		z-index: -1;
		left: 50%;
		right: 50%;
		height: 3px;
		background: #0078C8;
		-webkit-transition-property: left, right;
		transition-property: left, right;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	}
	.headerBlock .gnav > li:hover a:before,
	.headerBlock .gnav > li.on a:before {
		left: 0;
		right: 0;
	}
	
	
	/* 言語切り替え */
	.headerBlock .gnav > li.language {
		height: auto;
		margin-right: 0;
		float: right;
	}
	.headerBlock .gnav > li.language:hover a {
		color: #fff;
		background: #0078C8;
		border: solid 1px #0078C8;
		-webkit-transition: 0.1s ease-in-out;
		-moz-transition: 0.1s ease-in-out;
		-o-transition: 0.1s ease-in-out;
		transition: 0.1s ease-in-out;
	}
	.headerBlock .gnav > li.language a:before {
		display: none;
	}
}
/* ------------------------------
 PC用限定CSS プルダウンメニュー部分
------------------------------ */
@media print, screen and (min-width: 768px) {
	.headerBlock .gnav > li > ul {
		min-width: 200px;
		position: absolute;
		visibility: hidden;
		background: #fff;
		opacity: 0;
		font-size: 1.4rem;
		top: 55px;
		left: 0;
		padding: 14px 0;
		border: solid 1px #E6E6E6;
		-webkit-transition: visibility 0s ease .15s, opacity .15s ease-in-out .15s;
		transition: visibility 0s ease .15s, opacity .15s ease-in-out .15s;
	}
	.headerBlock .gnav > li > ul > li {
		font-size: 1.4rem;
		display: block;
		text-align: left;
		white-space: nowrap;
	}
	
	.headerBlock .gnav > li > ul > li a {
		line-height: 1;
		padding: 9px 20px 9px 27px;
		display: block;
		text-decoration: none;
		position: relative;
		-webkit-transition: none;
		transition: none;
		-webkit-transition: 0.05s ease-in-out;
		-moz-transition: 0.05s ease-in-out;
		-o-transition: 0.05s ease-in-out;
		transition: 0.05s ease-in-out;
	}
	.headerBlock .gnav > li > ul > li > a:before {
		content: "\f105";
		font-family: "FontAwesome";
		font-size: 1.5rem;
		content: "\f105";
		display: inline-block;
		line-height: 1;
		position: absolute;
		left: 17px !important;
	}
	.headerBlock .gnav > li > ul > li a:hover {
		color: #03A9F4 !important;
	}
	
	.headerBlock .gnav > li > ul:hover,
	.headerBlock .gnav > li:hover > ul {
		visibility: visible;
		opacity: 1;
	}
	
	/* さらに下層 */
	.headerBlock .gnav > li > ul > li > ul > li {
		font-size: 1.3rem;
		position: relative;
	}
	.headerBlock .gnav > li > ul > li > ul > li:before {
		content: '';
		position: absolute;
		top: 14px;
		left: 28px;
		width: 4px;
		height: 4px;
		border-radius: 4px;
		background: #063156;
	}
	.headerBlock .gnav > li > ul > li > ul > li a {
		padding: 9px 20px 9px 38px;
	}
	
}

/* ------------------------------
 スマホ用コード（ヘッダ）
------------------------------ */
@media screen and (max-width: 767px) {
	.header {
		display: block;
		position: relative;
		top: 0;
		left: 0;
		height: 65px;
		width: 100%;
		min-width: 100%;
		z-index: 1000;
	}
	.headerBlock  {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.logo-outer {
		z-index: 10;
		width: 100%;
		height: 65px;
		top: 0;
		position: relative;
		background-color: #fff;
		box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
		-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
		-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 5px -7px;
	}
	
	/* ロゴ */
	.headerBlock_logo {
		width: 80%;
		margin-left: 5%;
		margin-top: 12px;
	}
	.headerBlock_logo img {
		width: 200px;
	}
	
	
	/* グローバルナビ */
	/* 開閉メニューボタン */
	.slidemenu-btn {
		display: block;
		width: 60px;
		height: 65px;
		position: absolute;
		right: 0;
		top: 0;
	}
	.menu-icon,
	.menu-icon:before,
	.menu-icon:after {
		display: block;
		position: absolute;
		width: 30px;
		height: 4px;
		background-color: #063156;
	}
	.menu-icon:before,
	.menu-icon:after {
		-webkit-transition: color .25s ease;
		transition: color .25s ease;
	}
	.page-open-slidemenu .menu-icon:before,
	.page-open-slidemenu .menu-icon:after {
		background-color: #063156;
	}
	.menu-icon:before,
	.menu-icon:after {
		content: '';
		-webkit-transform-origin: 50% 50%;
		-o-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		-moz-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
	.menu-icon {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		-webkit-transition: all .25s ease-out;
		transition: all .25s ease-out;
	}
	.menu-icon:before {
		top: -10px;
		-webkit-transition: -webkit-transform .1s ease-out;
		transition: -webkit-transform .1s ease-out;
		transition: transform .1s ease-out;
		transition: transform .1s ease-out, -webkit-transform .1s ease-out;
	}
	.menu-icon:after {
		bottom: -10px;
		-webkit-transition: -webkit-transform .1s ease-out;
		transition: -webkit-transform .1s ease-out;
		transition: transform .1s ease-out;
		transition: transform .1s ease-out, -webkit-transform .1s ease-out;
	}
	.page-open-slidemenu .menu-icon {
	  background-color: transparent;
	}
	.page-open-slidemenu .menu-icon:before {
		-webkit-transform: translateY(10px) rotate(45deg);
		transform: translateY(10px) rotate(45deg);
		-webkit-transition: -webkit-transform .1s ease-out .25s;
		transition: -webkit-transform .1s ease-out .25s;
		transition: transform .1s ease-out .25s;
		transition: transform .1s ease-out .25s, -webkit-transform .1s ease-out .25s;
	}
	.page-open-slidemenu .menu-icon:after {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
		-webkit-transition: -webkit-transform .1s ease-out .25s;
		transition: -webkit-transform .1s ease-out .25s;
		transition: transform .1s ease-out .25s;
		transition: transform .1s ease-out .25s, -webkit-transform .1s ease-out .25s;
	}
	/* 開閉メニューボタン */
	
	
	.headerBlock .gnav {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
		-webkit-transition: -webkit-transform .3s ease-in-out;
		transition: -webkit-transform .3s ease-in-out;
		transition: transform .3s ease-in-out;
		transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
		position: absolute;
		width: 100%;
		background: rgba(255,255,255,0.95);
	}
	.page-open-slidemenu .headerBlock .gnav {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		max-height: 100vh;
		max-height: -webkit-calc(100vh - 60px);
		max-height: calc(100vh - 60px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		border-bottom: 1px solid #ccc;
		padding: 0 5% 60px;
	}
	.page-open-slidemenu .headerBlock .gnav > li {
		position: relative;
		text-align: left;
		z-index: 1;
	}
	/***/
	.page-open-slidemenu .headerBlock .gnav > li > p {
		position: relative;
	}
	.page-open-slidemenu .headerBlock .gnav > li > p > .btn-submenu-toggle {
		position: absolute;
	}
	
	
	/* 開閉ボタン 開く処理 */
	/***/
	/* 要検討 */
	.headerBlock .gnav > li > ul {
		position: relative;
		overflow: hidden;
		display: none;
		padding-bottom: 15px;
		border-bottom: 1px solid #ccc;
	}/*
	.headerBlock .gnav > li.is-open > ul {
		position: relative;
		height: 0;
		visibility: visible;
	}
*/
	.headerBlock .gnav > li a:not(.btn-submenu-toggle) {
		font-size: 1.5rem;
		display: block;
		width: 100%;
		position: relative;
		line-height: 1;
		font-weight: bold;
		text-decoration: none;
		border-bottom: 1px solid #ccc;
		padding: 10px 8px 13px;
	}
	.headerBlock .gnav > li p a:not(.btn-submenu-toggle):before,
	.headerBlock .gnav > li > a:not(.btn-submenu-toggle):before {
		font-size: 2rem;
		font-weight: 100;
		font-family: 'FontAwesome';
		content: "\f105";
		margin-right: 10px;
		display: inline-block;
		z-index: 3;
	}
	.headerBlock .gnav > li > ul > li > a:not(.btn-submenu-toggle):before {
		content: "\f105";
		font-family: "FontAwesome";
		font-size: 1.5rem;
		content: "\f105";
		display: inline-block;
		line-height: 1;
		position: absolute;
		left: 27px;
	}
	.headerBlock .gnav > li {
		position: relative;
		text-align: left;
		z-index: 3;
	}
	.headerBlock .gnav > li:before,
	.headerBlock .gnav > li:after {
		content: '';
		display: table;
	}
	.headerBlock .gnav > li:after {
		clear: both;
	}
	
	.headerBlock .gnav > li:not(:last-child) a:not(.btn-submenu-toggle) {
		border-bottom: 1px solid #ccc;
	}
	.headerBlock .gnav > li:not(:last-child) .is-open a:not(.btn-submenu-toggle) {
		border-bottom: none;
	}
	
	.headerBlock .gnav > li > ul > li > a {
		font-size: 1.4rem;
		font-weight: 400 !important;
		width: 100%;
		text-decoration: none;
		padding: 10px 8px 10px 35px !important;
		border: none !important;
	}
	
	/* さらに下層 */
	.headerBlock .gnav > li > ul > li > ul > li a:not(.btn-submenu-toggle),
	.headerBlock .gnav > li > ul > li > ul > li a {
		font-size: 1.3rem;
		font-weight: 400 !important;
		width: 100%;
		text-decoration: none;
		padding: 10px 8px 10px 43px !important;
		border: none !important;
		position: relative;
	}
	.headerBlock .gnav > li > ul > li > ul > li a:before {
		content: '';
		position: absolute;
		top: 15px;
		left: 35px;
		width: 4px;
		height: 4px;
		border-radius: 4px;
		background: #063156;
	}
	
	
	
	/* 言語切り替え */
	.headerBlock .gnav > li.language {
		border-bottom: 1px solid #ccc;
		padding: 20px 0;
		text-align: right;
	}
	.headerBlock .gnav > li.language a:not(.btn-submenu-toggle),
	.headerBlock .gnav > li.language:not(:last-child) a:not(.btn-submenu-toggle) {
		width: auto;
		font-weight: 300;
		line-height: 20px;
		padding: 0 10px;
		border: solid 1px #0078C8;
		display: inline-block;
	}
	.headerBlock .gnav > li.language a::before {
		display: none;
	}
	
	
	/* トグルボタン */
	.btn-submenu-toggle {
		display: block;
		width: 40px;
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		z-index: 10;
	}
	
	.btn-submenu-toggle:before,
	.btn-submenu-toggle:after {
		content: '';
		position: absolute;
		display: block;
		top: 0;
		bottom: 0;
		left: 0;
		right: 5%;
		margin: auto;
		background-color: #063156;
		-webkit-transition: background-color .2s ease-in-out;
		transition: background-color .2s ease-in-out;
	}
	.btn-submenu-toggle:before {
		width: 1px;
		height: 13px;
	}
	.btn-submenu-toggle:after {
		width: 13px;
		height: 1px;
	}
	
	.is-open .btn-submenu-toggle:before {
		background-color: transparent;
	}
	.is-open .btn-submenu-toggle:after {
		background-color: #0073BC;
	}
}

/* ------------------------------
 コンテンツ
------------------------------ */
.site {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
}
.contents {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0;
	background: #fff;
}


.contentsTop,
.contentsPage {
	width: 1140px;
	text-align: left;
	margin: 0 auto;
	padding: 65px 0 80px;
	min-height: 460px;
}
.contentsPage.wide {
	width: 100%;
}

.mainBlock {
	width: 849px;
	float: left;
}
/* サイドブロック */
.sideBlock {
	width: 267px;
	float: right;
}
.headTitle {
	font-size: 2rem;
	font-weight: 500;
	color: #063156;
	height: 45px;
	line-height: 1.2;
	border-bottom: solid 1px #9BADBB;
}
.sideMenu li {
	border-bottom: dotted 1px #ccc;
}
.sideMenu li:hover,
.sideMenu li.on {
	background: #ECF0F2;
}
.sideMenu li a {
	display: block;
	padding: 15px;
}



/* パンくず */
.crumb {
	width: 1140px;
	font-weight: 300;
	font-size: 1.1rem;
	line-height: 15px;
	color: #063156;
	text-align: left;
	margin: 0 auto;
	padding-top: 12px;
}
.crumb a {
	color: #6F6F6F;
	margin-right: 10px;
}
.crumb a:after {
	content: '〉';
	color: #6F6F6F;
	margin-left: 10px;
	display: inline-block;
	height: 13px;
	overflow-y: hidden;
	vertical-align: top;
}
.crumb .on {
	color: #063156;
}
.crumb .on:after {
	display: none;
}

/* ------------------------------
 スマホ用コード（コンテンツ）
------------------------------ */
@media screen and (max-width: 767px) {
	#bggr {
		position: relative;
		z-index: 1;
	}
	.site {
		font-size: 1.4rem;
	}
	.contents {
		min-width: 300px;
	}
	.contentsTop,
	.contentsPage {
		width: auto;
		padding: 30px 5% 40px;
	}
	.contentsPage.wide {
		padding: 30px 0 40px;
	}
	
	.mainBlock {
		width: auto;
		float: none;
		padding-bottom: 50px;
	}
	
	/* サイドブロック */
	.sideBlock {
		width: auto;
		float: none;
		margin: 0 -5.5% ;
	}
	.headTitle {
		font-size: 1.8rem;
		height: 40px;
		padding-left: 5%;
	}
	.sideMenu li a {
		padding: 10px 5%;
	}
	
	/* パンくず */
	.crumb {
		display: none;
	}
}
.menu-layer {
	display: none;
}
@media screen and (max-width: 767px) {
	.menu-layer {
		width: 100%;
		height: 100%;
		position: absolute;
		background-color: rgba(0,0,0,.2);
		top: 0;
		left: 0;
		z-index: 10;
	}
	.page-open-slidemenu .menu-layer {
		display: block;
	}
	.page-open-slidemenu .site {
		overflow: hidden;
	}
}

/* ------------------------------
 メインイメージ
------------------------------ */
.mainimgTop,
.mainimgPage {
	width: 100%;
	overflow: hidden;
	position: relative;
	background: #fff;
}
.mainimgTop {
	height: 450px;
}
.mainimgPage {
	height: 200px;
}

.mainimgTop h1,
.mainimgPage h1,
.mainimgPage p {
	height: 100%;
	position: relative;
	z-index: 5;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items:center;
	flex-direction:row;
	z-index: 5;
}
.mainimgTop img,
.mainimgPage img {
	min-width: 1600px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -800px;
	z-index: 4;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.mainimgTop {
		height: 225px;
	}
	.mainimgPage {
		height: 100px;
	}
	.mainimgTop img,
	.mainimgPage img {
		min-width: 800px;
		margin-left: -400px;
	}
}

/* ------------------------------
 メインメニュー
------------------------------ */
.contents_navi:after {
	clear: both;
	content: "";
	display: block;
}
.contents_navi li {
	width: 364px;
	float: left;
	margin-right: 24px;
	margin-bottom: 60px;
}
.contents_navi li:nth-child(3n) {
	margin-right: 0;
}
.contents_navi li p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 10px;
}
.contents_navi li a {
	display: block;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.contents_navi li {
		width: 49%;
		margin-right: 2%;
		margin-bottom: 20px;
	}
	.contents_navi li:nth-child(3n) {
		margin-right: 2%;
	}
	.contents_navi li:nth-child(2n) {
		margin-right: 0;
	}
	.contents_navi li p {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 479px) {
	.contents_navi li {
		width: auto;
		float: none;
		margin-right: 0;
	}
	.contents_navi li:nth-child(3n) {
		margin-right: 0;
	}
	.contents_navi li img {
		width: 100%;
	}
}


/* ------------------------------
 ローカルメニュー
------------------------------ */
.pageLink {
	width: 1140px;
	font-size: 0;
	text-align: center;
	line-height: 1.25;
	margin: 0 auto 75px;
	padding: 35px 0 ;
	background: #EFF1F1;
	position: relative;
}
.pageLink ul {
	position: relative;
	z-index: 8;
}
.pageLink li {
	font-size: 1.5rem;
	font-weight: 300;
	padding: 0 25px;
	position: relative;
	display: inline-block;
	border-right: solid 1px #bdc8d1;
}

.pageLink li a {
	display: inline-block;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	text-decoration: none;
}

.pageLink li a:before {
	content: "";
	position: absolute;
	bottom: -10px;
	z-index: -1;
	left: 50%;
	right: 50%;
	height: 1px;
	background: #0078C8;
	-webkit-transition-property: left, right;
	transition-property: left, right;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.pageLink li:hover a:before,
.pageLink li.on a:before {
	left: 0;
	right: 0;
}

.pageLink li.pageCat {
	font-size: 1.8rem;
	font-weight: 500;
}
.pageLink li.pageCat a:after {
	content: '\f105';
	font-family: 'FontAwesome';
	font-size: 2.4rem;
	line-height: 16px;
	margin-left: 12px;
	display: inline-block;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.pageLink {
		width: auto;
		margin-bottom: 20px;
		padding: 0;
		background: #fff;
	}
	.pageLink li {
		padding: 0;
		display: block;
		text-align: left;
		border-right: none;
		border-bottom: solid 1px #bdc8d1;
	}
	.pageLink li a {
		display: block;
		padding: 8px 5%;
	}
	.pageLink li a:before {
		display: none;
	}
	.pageLink li:hover a,
	.pageLink li.on a {
		color: #fff;
		background: #063156;
	}
	.pageLink li.pageCat {
		background: #EFF1F1;
	}
	.pageLink li.pageCat a {
		padding: 15px 5%;
	}
}


/* ------------------------------
 関連コンテンツ
------------------------------ */
.relationBlock {
	width: 1140px;
	margin: 0 auto;
	padding-bottom: 80px;
}
.relationList::after {
	content: "";
	clear: both;
	display: block;
}
.relationList li {
	width: 267px;
	float: left;
	font-size: 1.4rem;
	text-align: left;
	margin-right: 24px;
}
.relationList li:nth-child(4n) {
	margin-right: 0
}
.relationList li p {
	margin-top: 10px;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.relationBlock {
		width: 90%;
		padding-bottom: 20px;
	}
	.relationList li {
		width: 49%;
		font-size: 1.3rem;
		margin-bottom: 10px;
		margin-right: 2%;
	}
	.relationList li:nth-child(2n) {
		margin-right: 0
	}
	.relationList li img {
		width: 100%;
	}
	.relationList li p {
		margin-top: 5px;
	}
}




/* ------------------------------
 フッタ
------------------------------ */
.footer {
	width: 100%;
	margin: 0;
	text-align: center;
	position: relative;
}
.footerBg {
	background: #EBEDEE;
}

.footerIn {
	width: 1140px;
	margin: 0 auto;
	padding: 35px 0;
	color: #4F606B;
	text-align: left;
}
.footerIn a {
	color: #4F606B;
}
.contact {
	font-size: 1.3rem;
	margin-bottom: 50px;
}
/* -- FOOTER NAVI -- */
.footerNavi {
	font-size: 0;
}
.footerNavi li {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	padding-right: 30px;
	display: inline-block;
}
.footerNavi li + li {
	padding: 0 30px;
	border-left: solid 1px #9BADBB;
}
.footerNavi li:last-child {
	padding-right: 0;
}


/* -- COPYRIGHT -- */
.footerCopy {
	width: 100%;
	font-size: 1rem;
	line-height: 1;
	padding: 20px 0;
	color: #4F606B;
	background: #fff;
}
.footerCopy p {
	width: 1140px;
	margin: 0 auto;
	text-align: right;
}


/* -- 固定footer -- */
/* -- ↓コンファレンス 非表示CSS */
/*
.footer-top {
	font-size: 1.6rem;
	position:fixed;
	bottom:0;
	left:0;
	overflow:hidden;
	width:100%;
	height: 80px;
	color: #fff;
	z-index: 10;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
.footer-top.bar div {
	background:#1C293F;
	min-width: 1140px;
	padding: 17px 0;
}

.static .footer-topIn {
	max-width: 1600px;
	height: 80px;
	margin: auto;
	background: #fff;
}
*/
/* ↑コンファレンス 非表示CSS -- */

/* -- ↓コンファレンス申し込みボタン表示CSS-- */
/**/
/*
.contents {
	padding-bottom: 50px;
}
*/
/* -- ↓コンファレンス申し込みボタン-- */
.footer-top {
	font-size: 1.6rem;
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	min-width: 1140px;
	padding: 17px 0;
	color: #fff;
	background:#1C293F;
	z-index: 10;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.footer-top + .footerBg {
	margin-top: 80px;
}

.footer-top.static.bar {
	position: relative;
	top: 0;
}
/* -- ↑コンファレンス申し込みボタン-- */

.preText {
	font-weight: bold;
	line-height: 1.4;
	margin-right: 23px;
	display: inline-block;
}

/* -- PAGE TOP-- */
.js-btn-pagetop {
	width: 80px;
	height: 80px;
	color: #fff;
	text-align: center;
	display: block;
	position:fixed;
	bottom: 0;
	right: 0;
	z-index: 100;
	transition: background-color 0.2s ease 0s;
	cursor: pointer;
	background: #0078C8;
	text-decoration: none;
}
.js-btn-pagetop__icon::after {
	content: '\f106';
	font-size: 3.6rem;
	line-height: 80px;
	color: #fff;
}
.js-btn-pagetop:hover {
	text-decoration: none;
	opacity: .7;
}

.footer-top.static,
.js-btn-pagetop.static {
	position: absolute;
	top: auto;
	bottom: 100%;
}

/* ------------------------------
 スマホ用コード（フッタ）
------------------------------ */
@media screen and (max-width: 767px) {
	.footerIn {
		width: auto;
		padding: 20px 5%;
	}
	.contact {
		text-align: center;
		margin-bottom: 20px;
	}
	
	/* -- FOOTER NAVI -- */
	.footerNavi {
		text-align: center;
	}
	.footerNavi li {
		font-size: 1.2rem;
		padding: 0 10px;
		margin-bottom: 5px;
		border-left: solid 1px #9BADBB;
	}
	.footerNavi li + li {
		padding: 0 10px;
	}
	.footerNavi li:last-child {
		padding-right: 10px;
		border-right: solid 1px #9BADBB;
	}
	
	/* -- COPYRIGHT -- */
	.footerCopy {
		padding: 10px 5%;
	}
	.footerCopy p {
		width: auto;
		text-align: center;
	}
	
	/* -- 固定footer -- */
	.footer-top,
	.footer-top.bar div {
		font-size: 1.4rem;
		min-width: 320px;
		padding: 12px 0 0;
		overflow: visible;
	}

	.footer-top.bar,
	.footer-top.bar div {
		padding: 0;
		height: auto;
	}
	
	/* -- ↓コンファレンス 非表示CSS
	.footer-top {
		height: 42px;
	}
	.static .footer-topIn {
		height: 42px;
	}
	↑コンファレンス 非表示CSS -- */
	
	.preText {
		margin-right: 0;
		padding: 0 5% 10px;
		display: block;
	}
	
	.footer-top .btn-gold {
		width: 100%;
	}
	
	.footer-top + .footerBg {
		margin-top: 98px;
	}
	
	/* -- PAGE TOP -- */
	.js-btn-pagetop {
		width: 42px;
		height: 42px;
		top: auto;
		bottom: 0;
	}
	.js-btn-pagetop__icon::after {
		font-size: 3rem;
		line-height: 42px;
	}
}

@media screen and (max-width: 479px) {
	.preText span {
		display: block;
	}
}

/* 固定フッターの調整 */
@media ( max-width: 767px ) {
	.footer-top {
		padding-top: 0;
	}
	.preText {
		font-size: 12px;
		line-height: 18px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.footer-top .btn-gold {
		padding: 0;
		line-height: 42px;
	}
}


/* ------------------------------
 ノースクリプト
------------------------------ */
#nojs {
	width: 100%;
	padding: 0;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2000;
	background: #1c293f;
}

#nojs p {
	padding: 3px 0;
	color: #fff;
	font-size: 1.2rem;
}



/* ------------------------------
 印刷用コード
------------------------------ */
@media print {
	html, 
	body {
		background: none;
	}
	
	/* -- 固定footer -- */
	.footer-top {
		position:relative;
	}
}


 /* -- 余白 -- */
@page {
	margin: 9.7mm 9.7mm;
}



/* ------------------------------
 Android用アラート
------------------------------ */
.alert-old-android-browser {
	display: none;
}
.alert-old-android-browser.is-show {
	border-top: 1px solid #aaa;
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	color: #222;
	font-size: 16px;
	z-index: 200000;
	padding: 30px 40px 20px 20px;
}
/* android browser */
.page-fixed-header-android .alert-old-android-browser.is-show {
	position: fixed;
	bottom: 0;
	left: 0;
}
.alert-old-android-browser.is-show > .alert-old-android-browser__text {
	margin-bottom: 1em;
	line-height: 18px;
	background-size: 20px 18px;
	margin-bottom: 10px;
}
.alert-old-android-browser.is-show > .alert-old-android-browser__link {
	text-decoration: none;
}
.alert-old-android-browser.is-show > .alert-old-android-browser__close {
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	top: 0px;
	right: 0px;
}
.alert-old-android-browser.is-show > .alert-old-android-browser__close:before,
.alert-old-android-browser.is-show > .alert-old-android-browser__close:after {
	content: '';
    display: block;
    position: absolute;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    background-color: #aaa;
    width: 20px;
    height: 2px;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.alert-old-android-browser.is-show > .alert-old-android-browser__close:before {
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);	
}
.alert-old-android-browser.is-show > .alert-old-android-browser__close:after {
	-webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.alert-old-android-browser.is-show > .alert-old-android-browser__link:before {
    font-family: 'FontAwesome';
    content: "\f138";
    margin-right: 5px;
    color: #b09e71;
    display: inline-block;
}

