@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap');
/* ------------------------------
 リセット
------------------------------ */
* {
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%;
-webkit-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: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
	font-weight: 500;
	line-height: 1.7;
	word-wrap: break-word;
	color: #000;
	-webkit-text-size-adjust: 100%;
	margin: 0 auto;
}
u { border-bottom: solid 1px #000;}
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 !important;}
.tac { text-align:center !important;}
.tar { text-align:right !important;}
.vat { vertical-align:top;}
.vam { vertical-align:middle;}
.vab { vertical-align:bottom;}

strong, .bold { font-weight: bold;}
.nobold { font-weight: 500 !important;}
.auto {
	margin-left: auto;
	margin-right: auto;
}
input.none{ display: none;}
/* 行スペース */
.b1 { margin-bottom: 1.5em;}
.b2 { margin-bottom: 3em;}
.b3 { margin-bottom: 4.5em;}

/* スペース */
.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;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb120 { margin-bottom: 120px !important;}
.mr0 { margin-right: 0 !important;}
.nopd { padding: 0 !important;}

/* リンク */
a {
	color: #219552;
	text-decoration: underline;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
a:focus, a:hover:not(.btn-a) {
	color: #219552;
}
a img {
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a:focus img, a:hover img {
	opacity: 0.7;
}
/* カラー */
.red {
	color: #db3246 !important;
	transition: 0.3s ease-in-out;
}
.blue { color: #2963B3;}
.gray { color: #c9c9c9;}
.black { color: #000;}

/* フォントサイズ */
.big, .f18 { font-size: 1.8rem;}
.f11 { font-size: 1.1rem;}
.f12 { font-size: 1.2rem;}
.f13 { font-size: 1.3rem;}
.f14 { font-size: 1.4rem;}
.f15 { font-size: 1.5rem;}
.f16 { font-size: 1.6rem;}
.f20 { font-size: 2rem;}
.f24 { font-size: 2.4rem;}
.f32 { font-size: 3.2rem;}
.small, small { font-size: 1.3rem;}

/* 英字フォント */
.font-en {
	font-family: 'Poppins', sans-serif;
}
/* 上付き */
sup {
	font-size: 80%;
	vertical-align:top;
}
/* 強調 */
em { font-style: italic;}
/* 打消し */
del { text-decoration: line-through;}
/* 引用・転用 */
blockquote { margin: 1em 3em;}

/* 非表示 */
.hide {
	display: none;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.sp { display: none !important;}
	.pc_tal { text-align:left;}
	.pc_tac { text-align:center;}
	.pc_tar { text-align:right;}
	.pc_bold { font-weight: bold;}
	.pc_nobr br { display: none;}
	.pc_mb0 { margin-bottom: 0 !important;}
	.pc_mb10 { margin-bottom: 10px !important;}
	.pc_mb20 { margin-bottom: 20px !important;}
	.pc_mb30 { margin-bottom: 30px !important;}
	.pc_mb40 { margin-bottom: 40px !important;}
	.pc_mb50 { margin-bottom: 50px !important;}
	.pc_mb60 { margin-bottom: 60px !important;}
	.pc_mb80 { margin-bottom: 80px !important;}
	.pc_mb110 { margin-bottom: 110px !important;}
	.pc_mr0 { margin-right: 0 !important;}
	.pc_mr10 { margin-right: 10px !important;}

	/* -- TEL Link -- */
	a[href^="tel:"] {
		color: #000;
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
/* ------------------------------
 サイト全体（スマホ用コード）
------------------------------ */
@media screen and (max-width: 767px) {
	html, body {
		min-width: 100%;
		max-width: 100%;
	}
	.pc { display: none !important;}
	.sp_tac { text-align: center !important;}
	.sp_tal { text-align: left !important;}
	.sp_nobr br { display: none;}
	.fl,.fr { float: none;}
	.site { min-width: 0;}

	/* スペース */
	.mb15 { margin-bottom: 10px !important;}
	.mb20 { margin-bottom: 10px !important;}
	.mb25 { margin-bottom: 15px !important;}
	.mb30 { margin-bottom: 15px !important;}
	.mb35 { margin-bottom: 20px !important;}
	.mb40 { margin-bottom: 20px !important;}
	.mb50 { margin-bottom: 30px !important;}
	.mb60 { margin-bottom: 40px !important;}
	.mb70 { margin-bottom: 50px !important;}
	.mb80 { margin-bottom: 55px !important;}
	.sp_mb5 { margin-bottom: 5px !important;}
	.sp_mb10 { margin-bottom: 10px !important;}
	.sp_mb15 { margin-bottom: 15px !important;}
	.sp_mb20 { margin-bottom: 20px !important;}
	.sp_mb30 { margin-bottom: 30px !important;}
	.sp_mb40 { margin-bottom: 40px !important;}
	.sp_mb50 { margin-bottom: 50px !important;}
	.sp_mb60 { margin-bottom: 60px !important;}
	.sp_mr0 { margin-right: 0 !important;}
	
	/* フォントサイズ */
	.big,.f18 { font-size: 1.7rem;}
	.f13 { font-size: 1.2rem;}
	.f14 { font-size: 1.3rem;}
	.f15 { font-size: 1.4rem;}
	.f16 { font-size: 1.5rem;}
	.f20 { font-size: 1.8rem;}
	.f28 { font-size: 2rem;}
	.f24 { font-size: 2.2rem;}
	.f32 { font-size: 2.2rem;}
	.small,small { font-size: 1.2rem;}
	.nobr br { display: none;}
}


/* ------------------------------
 ヘッダ
------------------------------ */
.header {
	display: block;
	z-index: 1000;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	padding: 30px 0;
	background: #259855 url(../img/fnav_bg.jpg) repeat-x 0 top;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.headerBlock {
	margin: 0 auto;
	text-align: left;
	position: relative;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.headerBlock .cms_link a {
	color: #fff;
	text-decoration: none;
	position: relative;
	font-weight: normal;
	font-size: 1.6rem;
	padding-left: 21px;
}
.headerBlock .cms_link a:hover {
	opacity: .7;
}
.headerBlock .cms_link a::after,
.headerBlock .cms_link a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    vertical-align: middle;
    z-index: 100;
    background: none !important;
}
.headerBlock .cms_link a::before {
    content: "";
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 1px solid #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.headerBlock .cms_link a::after {
    content: "";
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.header {
		min-width: 980px;
		padding: 0 20px;
	}
    .headerBlock {
		width: 980px;
		height: 120px;
		align-items: center;
		display: flex;
		justify-content: space-between;
	}
}
/* ------------------------------
 スマホ用コード（ヘッダ）
------------------------------ */
@media screen and (max-width: 767px) {
	.header {
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		min-width: 100%;
		z-index: 1000;
		padding-left: 5% !important;
		padding-right: 5% !important;
		padding: 20px 0;
	}
	.headerBlock  {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.headerBlock .cms_link {
		line-height: 1.6;
	}
	.headerBlock .cms_link a {
		font-size: 1.3rem;
		font-weight: bold;
	}
	
}

/* ------------------------------
 コンテンツ
------------------------------ */
.site {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	padding: 0;
	font-size: 1.4rem;
	line-height: 2;
}
.contentsHome,
.contentsTop,
.contents {
	width: 100%;
	position:relative;
	text-align: left;
}
.contentsHome,
.contentsTop,
.contents {
	background: #fff url(../img/contents_bg.gif) repeat center 0;
}

/* -- 横幅980px -- */
.inBlock {
	text-align: left;
}
.inBlock::after {
	content: "";
	clear: both;
	display: block;
}
.contents .inBlock {
	position: relative;
	padding: 70px 0 150px ;
}
/* --------------------
 PC用限定CSS
--------------------- */
@media print, screen and (min-width: 768px) {
	.site { min-width: 1200px;}
	.contentsHome,
	.contentsTop,
	.contents {
		min-width: 1200px;
	}
	/* -- 横幅980px -- */
	.inBlock {
		width: 980px;
		margin-left: auto;
		margin-right: auto;
	}
	/* -- コンテンツ左 -- */
	.mainContents {
		width: 770px !important;
	}
	/* -- コンテンツ右 -- */
	.sideContents {
		width: 300px !important;
		margin-top: -95px;
	}
}
/* --------------------
 スマホ用コード（コンテンツ）
--------------------- */
@media screen and (max-width: 767px) {
	.site {
		min-width: 320px;
		line-height: 1.5;
	
	}
	#bggr {
		position: relative;
		z-index: 1;
	}
	.contentsHome,
	.contentsTop,
	.contents {
		min-width: 300px;
	}
	.contentsHome,
	.contentsTop {
		padding-bottom: 40px;
	}
	.contentsHome,
	.contents {
		padding-bottom: 0;
	}
	/* -- コンテンツ左 -- */
	.mainContents {
		padding-left: 5%;
		padding-right: 5%;
		margin-bottom: 40px;
	}
	.contents .inBlock {
		position: relative;
		padding: 40px 0 60px ;
	}
}


/* ------------------------------
 下層タイトル回り
------------------------------ */
.heading {
	text-align: center;
	margin-bottom: 30px;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* --------------------
 PC用限定CSS
--------------------- */
@media print, screen and (min-width: 768px) {
	.heading {
		width: 100%;
		height: 252px;
	}
	.heading + .inBlock {
		margin-top: 20px;
	}
	.heading h1{
		margin-top: -65px;
	}
}
/* --------------------
 スマホ用コード
--------------------- */
@media screen and (max-width: 767px) {
	.heading {
		height: 100px;
		background-size: 767px auto !important;
	}
}

/* ------------------------------
 フッタ
------------------------------ */
.footer {
	color: #959595;
	padding-top: 60px;
	padding-bottom: 60px;
	position: relative;
	z-index: 4;
	background: #4d4d4d;
}

.footer a {
	color: #000;
	text-decoration: none;
}
.footer a:hover, .footer a:focus {
	color: #219552;
}
/* -- フッターメニューブロック -- */
.footerMenu ul {
	width: 100%;
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	padding: 30px 0;
	border-top: solid 1px #F0F0F0;
	border-bottom: solid 1px #F0F0F0;
	margin-bottom: 60px;
}
.footerMenu ul li {
	margin: 0 22px;
	position: relative;
}
.footerMenu ul li:not(:last-child):after {
	content: "";
	width: 1px;
	height: 14px;
	background: #DCDCDC;
	position: absolute;
	left: calc(100% + 21px);
	top: 0;
	bottom: 0;
	margin: auto;
}

.footerBottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
/* -- フッター会社情報 -- */
.companyInfo {
	font-size: 1.4rem;
}
.companyInfo .logo img {
	width: 323px;
}

/* -- コピーライト -- */
.copyright {
	font-family: 'Poppins', sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.2;
	color: #969696;
	text-align: left;
}
/* -- PAGE TOP -- */
.js-btn-pagetop {
	width: 70px;
	height: 70px;
	color: #fff;
	font-size: .71rem;
	text-align: center;
	display: block;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 1000;
	transition: background-color 0.2s ease 0s;
	cursor: pointer;
	border: 3px solid #fff;
	border-radius: 7px;
	-webkit-border-radius: 7x;
	-moz-border-radius: 7px;
	background-color: #219552;
}

.js-btn-pagetop:hover {
	text-decoration: none;
	opacity: .7;
}
.js-btn-pagetop span {
	position: relative;
}
.js-btn-pagetop span::after {
	content: "";
	width: 25px;
	height: 25px;
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 45px;
	bottom: 0;
	right: 0;
	margin: auto;
	left: -15px;
	margin: auto;
	vertical-align: middle;
	z-index: 100;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- コピーライト -- */
	.copyright {
		margin-top: -12px;
	}
}
/* ------------------------------
 スマホ用コード（フッタ）
------------------------------ */
@media screen and (max-width: 767px) {
	.footer {
		padding: 30px 5%;
		font-size: 1.1rem;
	}
	.footer img {
		width: 230px;
	}
	
	/* -- コピーライト -- */
	.copyright {
		font-size: 1rem;
		text-align: center;
	}
	/* -- PAGE TOP -- */
	.js-btn-pagetop {
		width: 40px;
		height: 40px;
		bottom: 55px;
		right: 5%;
		/* background-size: 10px auto; */
	}
	.js-btn-pagetop span::after {
		width: 12px;
		height: 12px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		top: 27px;
		bottom: 0;
		right: 0;
		left: -8px;
	}
}
/* ------------------------------
 ノースクリプト
------------------------------ */
#nojs {
	width: 100%;
	padding: 0;
	text-align: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99999;
	background: #2e4fb5;
}
#nojs p {
	padding: 3px 0;
	color: #fff;
	font-size: 1.2rem;
}
/* ------------------------------
 印刷用コード
------------------------------ */
@media print {
	.drawer-open, .naviContent { position: absolute;}
}
 /* -- 余白 -- */
@page {
	margin: 9.7mm 9.7mm;
}
