@charset "utf-8";

/* ------------------------------
 サイト全体（PC用コード）
------------------------------ */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html, 
body {
	margin: 0;
	padding: 0;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	word-wrap: break-word;
	color: #333;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.cf:after {
	content: "";
	clear: both;
	display: block;
}

.fl {
	float:left;
}

.fr {
	float:right;
}

.tal {
	text-align:left;
}

.tac {
	text-align:center;
}

.tar {
	text-align:right;
}

.vat {
	vertical-align:top;
}

.vam {
	vertical-align:middle;
}

.vab {
	vertical-align:bottom;
}

.vtb {
	vertical-align:text-bottom;
}

.hidden {
	display:none;
}

/* 行スペース */
.b1 {
	margin-bottom: 1.7em;
}

.b2 {
	margin-bottom: 3.4em;
}

/* スペース */
.mt6 {
	margin-top: 6px;
}

.mb0 {
	margin-bottom: 0px !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb24 {
	margin-bottom: 24px;
}

.mb48 {
	margin-bottom: 48px !important;
}

/* リンク */
a {
	color: #0054a6;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

/* フォントサイズ */
.fs14 {
	font-size: 0.88rem;
}

.fs18 {
	font-size: 1.13rem;
}


/* スマホとPC切り替え */

.sp {
	display: none;
}



.site {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* ------------------------------
 サイト全体（スマホ用コード）
------------------------------ */
@media screen and (max-width: 767px) {
	html, 
	body {
		font-size: 14px;
	}
	
	.fl,
	.fr {
		float: none;
	}
	
	/* スペース */
	.mb48 {
		margin-bottom: 1.7em;
	}
	
	/* スマホとPC切り替え */
	
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}



/* ------------------------------
 ヘッダ
------------------------------ */
.header {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	position: relative;
	z-index: 10;
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 3px -3px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 3px -3px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 3px -3px;
}

.headerBlock {
	width: 980px;
	height: 67px;
	margin: 0 auto;
	color: #fff;
	text-align: left;
}

.headerBlock .logo {
	padding-top: 16px;
}


/* ------------------------------
 スマホ用コード（ヘッダ）
------------------------------ */
@media screen and (max-width: 767px) {
	.headerBlock {
		width: 90%;
		height: auto;
		padding: 1em 0;
		color: #fff;
	}
	
	.headerBlock .logo {
		width: 80%;
		float: left;
		padding-top: 0;
	}
	
}

@media screen and (max-width: 479px) {
	.headerBlock .logo {
		padding-top: 3px;
	}
}



/* ------------------------------
 コンテンツ
------------------------------ */
.contents {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
}

.crumb {
	font-size: .75rem;
	line-height: 28px;
	background: #082B4D;
	color: #fff;
}

.crumb p {
	width: 980px;
	margin: 0 auto;
	color: #B0BEC5;
	text-align: left;
}
.crumb p a {
	color: #fff;
	text-decoration: underline;
}


.contentsTopIn,
.contentsPageIn {
	width: 980px;
	text-align: left;
	margin: 60px auto 70px;
}



/* ------------------------------
 スマホ用コード（コンテンツ）
------------------------------ */
@media screen and (max-width: 767px) {
	#bggr {
		position: relative;
	}
	.crumb {
		display: none;
	}
	.contentsTopIn,
	.contentsPageIn {
		width: 90%;
		margin: 30px auto 35px;
	}
	
}

@media screen and (max-width: 479px) {
	
}




/* ------------------------------
 メインイメージ
------------------------------ */

.contentsTop .mainimg {
	width: 100%;
	min-width: 980px;
	height: 400px;
	overflow: hidden;
	position: relative;
}
.contentsTop .mainimg img {
	max-width: 1920px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -960px;
}

.contentsPage .mainimg {
	width: 100%;
	min-width: 980px;
	height: 150px;
	overflow: hidden;
	position: relative;
}
.contentsPage .mainimg img {
	max-width: 1920px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -960px;
}


/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsTop .mainimg {
		width: 100%;
		min-width: 200px;
		height: 200px;
	}
	.contentsTop .mainimg img {
		max-width: 960px;
		margin-left: -480px;
	}
	
	.contentsPage .mainimg {
		display: none;
	}
}
@media screen and (max-width: 479px) {
	.contentsTop .mainimg {
		height: 145px;
	}
	.contentsTop .mainimg img {
		max-width: 696px;
		margin-left: -348px;
	}
}

/* ------------------------------
 カテゴリートップメニュー
------------------------------ */

.contentsTop .category_menu {
	margin: 0 auto;
	padding: 80px 0 30px;
}
.contentsTop .category_menu.boder {
	border-top: 1px solid #b0bec5;
}

.contentsTop .category_menu p {
	margin-bottom: 20px;
	text-align: center;
}
.contentsTop .category_menu .cms_text {
	margin-bottom: 40px;
	text-align: center;
}

.contentsTop .category_menu ul li {
	width: 476px;
	float: left;
	margin-bottom: 40px;
}
.contentsTop .category_menu ul li:nth-child(2n) {
	float: right;
}
.contentsTop .category_menu li a {
	display: block;
	text-align: left;
	color: #333;
}
.contentsTop .category_menu li a:hover {
	text-decoration: none;
}
.contentsTop .category_menu li h4 {
	margin-top: 5px;
	margin-bottom: 0;
	padding-bottom: 0;
	font-size: 1.25rem;
	font-weight: normal;
	background: none;
}
.contentsTop .category_menu li a h4 {
	color: #333;
}
.contentsTop .category_menu li h4:before {
	padding-right: 0.2em;
	font-family: "FontAwesome";
	font-size: 1.4rem;
	font-style: normal;
	font-weight: normal;
	text-decoration: none;
	content: "\f138";
	display: inline-block;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsTop .category_menu {
		padding: 40px 0 15px;
	}
	.contentsTop .category_menu p,
	.contentsTop .category_menu .cms_text {
		margin-bottom: 10px;
	}
	.contentsTop .category_menu ul li {
		width: 48%;
	}
	
	.contentsTop .category_menu li h4 {
		margin-top: 5px;
		font-size: 1.14rem;
	}
	.contentsTop .category_menu li h4:before {
		padding-right: 0.2em;
		font-family: "FontAwesome";
		font-size: 1.14rem;
		font-style: normal;
		font-weight: normal;
		text-decoration: none;
		content: "\f138";
		display: inline-block;
	}
}

@media screen and (max-width: 479px) {
	.contentsTop .category_menu ul li {
		width: auto;
		float: none;
		margin-bottom: 20px;
	}
	.contentsTop .category_menu ul li:nth-child(2n) {
		float: none;
	}
	
}




/* ------------------------------
 フッタ
------------------------------ */
.footer {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 0.88rem;
	text-align: center;
}

.footerCopy {
	padding: 15px 0 ;
	background: #082b4d;
}

.footerCopy .footerCopyIn {
	width: 980px;
	margin: 0 auto;
	color: #fff;
	font-size: .75rem;
}
.footerCopy .footerCopyIn img {
	width: 243px;
	height: auto;
}
.footerCopy .footerCopyIn p {
	margin-top: 10px;
}

.js-btn-pagetop {
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	display: block;
	position: fixed;
	bottom: 90px;
	right: 30px;
	z-index: 1000;
	transition: background-color 0.2s ease 0s;
	cursor: pointer;
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	background-color: #0054A6;
}

.js-btn-pagetop span {
	padding-top: 13px;
	display: block;
	font-size: 2.86rem;
	line-height: .7;
}

.js-btn-pagetop:hover {
	text-decoration: none;
	opacity: .7;
}

/* ------------------------------
 スマホ用コード（フッタ）
------------------------------ */
@media screen and (max-width: 767px) {
	.footerCopy .footerCopyIn {
		width: 100%;
		margin: 0;
		text-align: center;
	}
	
	.js-btn-pagetop {
		bottom: 100px;
	}
}

@media screen and (max-width: 479px) {
	.js-btn-pagetop {
		width: 51px;
		height: 51px;
		line-height: 1;
		bottom: 88px;
		right: 5%;
	}
	
	.js-btn-pagetop span {
		font-size: 2.14rem;
		line-height: .7;
	}
}

@media screen and (max-width: 360px) {
	
	.footerCopy p {
		width: 85%;
		margin: 0 auto;
		padding: 7px 0;
		line-height: 1.2;
	}
}

@media screen and (max-width: 320px) {
	.js-btn-pagetop {
		bottom: 121px;
	}
}



/* ------------------------------
 ノースクリプト
------------------------------ */
#nojs {
	width: 100%;
	padding: 0;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2000;
	background: #0054a6;
}

#nojs p {
	padding: 3px 0;
	color: #fff;
	font-size: .86rem;
}



/* ------------------------------
 プリントCSSノースクリプト
------------------------------ */
@media print {

	.header {
		position: static;
	}
	
}
