@charset "utf-8";
/*======================================
common CSS
========================================*/
/*------------------------------
サイト共通
------------------------------*/
.mgn_t1{
	margin-top: 1em;
}
.mgn_t2{
	margin-top: 2em;
}

.font_red{
	color: #e50112;
}
.font_green{
	color: #0aa283;
}

.font_size_s{
	font-size: 0.85em;
}
.font_size_l{
	font-size: 1.25em;
}

.li_indent{}
.li_indent li{
	text-indent: -1em;
	padding-left: 1em;
}

.text_center{
	text-align: center;
}

/*** 外部サイトテキストリンク ***/
a.outsite{}
a.outsite::after{
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.25em;
	background-image: url("../img/icon_outsite.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

/*** リンクボタン ***/
.btn_default{
	font-size: 2.4rem;
	text-align: center;
	width: 100%;
	max-width: 640px;
	border: solid 2px #fff;
	border-radius: 0.25em;
	background-color: #0aa283;
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.15);
	position: relative;
}
.normal_section p.btn_default{
	margin: 1em auto 2.5em auto;
}
.btn_default::after{
	content: '';
	display: block;
	width: 0%;
	height: 100%;
	background-color: rgba(0,0,0,0.25);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 998;
	transition: width 0.5s;
}
.btn_default:hover::after{
	width: 100%;
}
.btn_default a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #fff;
	height: 100%;
	padding: 0.5em 1em;
	position: relative;
	z-index: 999;
}
.btn_default a::after{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.25em 0 0.25em 0.5em;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 50%;
	right: 0.5em;
	transform: translateY(-50%);
}

.btn_mail{
	background-color: #f69516;
}
.btn_mail img.icon_mail{
	width: auto;
	height: 1em;
	margin-left: 0.5em;
}

/*------------------------------
ヘッダー
------------------------------*/
header{}

#header{
	background-color: #fff;
	box-shadow: 0 2px 2px 2px rgba(0,0,0,0.25);
}

.heade_area{
	display: flex;
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0.5em 0;
}
.heade_area .logo_nikken{}
.heade_area h1{
	font-size: 2rem;
	line-height: 1.5;
	color: #0aa283;
	margin-left: 1em;
}

.page_header{
	margin: 0 auto;
	background-image: url("../img/page_header_bg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
}

.header_ttl{
	display: flex;
	position: absolute;
	bottom: 0;
	right: 10%;
}
.header_ttl::before,
.header_ttl::after{
	content: '';
	display: block;
	width: 5em;
}
.header_ttl::before{
	background-image: linear-gradient(to top left,rgba(0,117,60,0.8) 0, rgba(0,117,60,0.8) 50%, transparent 50%, transparent 100%);
}
.header_ttl::after{
	background-image: linear-gradient(to bottom right,rgba(0,117,60,0.8) 0, rgba(0,117,60,0.8) 50%, transparent 50%, transparent 100%);
}

.header_ttl h2{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 2.6rem;
	line-height: 1.8;
	color: #fff;
	padding: 0.5em;
	background-color: rgba(0,117,60,0.8);
}

.header_img{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

/*------------------------------
コンテンツ
------------------------------*/
article{
	padding-bottom: 4em;
}

.normal_section{
	font-size: 2rem;
	line-height: 1.6;
	color: #303030;
	width: 94%;
	max-width: 1200px;
	margin: 4em auto 0 auto;
}
.normal_section p{
	margin-bottom: 0.5em;
}
.normal_section p:last-of-type{
	margin-bottom: 0;
}
.normal_section p.btn_default:last-of-type{
	margin-bottom: 0.5em;
}

.inner_area{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.ttl_type01{
	font-size: 3rem;
	font-weight: bold;
	color: #0aa283;
	margin-bottom: 1.5em;
	padding: 0.5em 0.5em 0.5em 1em;
	border-left: solid 4px #0aa283;
}

.ttl_type02{
	font-size: 2.6rem;
	font-weight: bold;
	color: #f69516;
	margin-bottom: 1em;
	padding: 0.5em 1em;
	border: solid 1px #f69516;
	border-radius: 1.3em;
}

.ttl_type03{
	font-size: 2.2rem;
	font-weight: bold;
	color: #0aa283;
	margin-bottom: 1em;
	padding: 0.5em 2em 0.5em 0.5em;
	border: solid 2px #0aa283;
	border-radius: 0.25em;
	background-image: linear-gradient(to left, #0aa283 0, transparent 3em);
}

.ttl_type04{
	font-size: 1.1em;
	font-weight: bold;
	color: #f69516;
	margin: 1em 0;
	padding: 0.25em 1em;
	border-left: solid 4px #f69516;
}

/*------------------------------
ナビゲーション
------------------------------*/
/*****
ページナビ
*****/
.page_nav{
	font-size: 2rem;
	width: 100%;
	max-width: 980px;
	margin: 0.5em auto;
}
.page_nav ul{
	display: flex;
	justify-content: flex-end;
}
.page_nav ul li{
	display: inline-block;
	margin: 0 1em;
	position: relative;
}
.page_nav ul li a{
	display: block;
	color: #0aa283;
	height: 100%;
	padding: 0.5em 1em;
	text-decoration: none;
	border-left: solid 1px #0aa283;
	border-bottom: solid 2px #0aa283;
	position: relative;
	transition: background 0.5s, color 0.5s;
}
.page_nav ul li a::before{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.5em 0 0.5em 0.5em;
	border-color: transparent transparent transparent #0aa283;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.page_nav ul li a:hover{
	color: #fff;
	background-color: #0aa283;
}

/*ナビID*/
.page_nav ul li#to_plans{}
.page_nav ul li#to_top{}
.page_nav ul li#to_supporter{}

/*ナビロケーション用*/
.page_nav ul li.local{}
.page_nav ul li.local a{
	color: #fff;
	background-color: #0aa283;
	cursor: default;
}
/*クリック不可にする*/
.page_nav ul li#to_supporter.local::after{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*------------------------------
フッター
------------------------------*/
footer{}

#footer{
	font-size: 1.4rem;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	margin-top: 2em;
	padding: 0.5em;
	background-color: #0aa283;
}
.footer_nav{
	font-size: 1.6rem;
	line-height: 1.8;
}
.footer_nav a{
	color: #fff;
}


/* ===========================================
	MediaQueries
=========================================== */
/* PC----------------------------- */
@media (min-width: 768px){
	/*------------------------------
	サイト共通PC
	------------------------------*/
	.br_pc{}
	.br_sp{
		display: none;
	}
	.flex_box_pc{
		display: flex;
		flex-wrap: wrap;
	}
	.flex_between_pc{
		display: flex;
		justify-content: space-between;
	}
	.flex_center_pc{
		display: flex;
		justify-content: center;
	}
	
	/*------------------------------
	ヘッダー
	------------------------------*/
	
	/*------------------------------
	コンテンツ
	------------------------------*/
	
	/*------------------------------
	ナビゲーション
	------------------------------*/
	
	/*------------------------------
	フッター
	------------------------------*/
	
	/*------------------------------
	お問い合わせ
	------------------------------*/
	.address{
		display: flex;
	}
	.address dt{
		margin-right: 1em;
	}
	.address dd{}
}

/* スマホ----------------------------- */
@media screen and (max-width: 767px){
	/*------------------------------
	サイト共通SP
	------------------------------*/
	.br_pc{
		display: none;
	}
	.br_sp{}
	
	/*** リンクボタン ***/
	.btn_default{
		font-size: 1.8rem;
	}
	
	/*------------------------------
	ヘッダー
	------------------------------*/
	.heade_area{}
	
	.heade_area .logo_nikken{
		width: 20%;
		max-width: 128px;
	}
	.heade_area h1{
		font-size: 1.6rem;
		text-align: center;
	}
	
	.header_ttl{
		display: block;
		width: 100%;
		left: 0;
		right: 0;
	}
	
	.header_ttl h2{
		font-size: 1.8rem;
	}
	
	.header_ttl::before,
	.header_ttl::after{
		display: none;
	}
	
	/*------------------------------
	コンテンツ
	------------------------------*/
	.normal_section{
		font-size: 1.4rem;
		margin: 2em auto 0 auto;
	}
	
	.ttl_type01{
		font-size: 1.6rem;
		padding: 0.25em 0.25em 0.25em 0.5em;
	}
	
	.ttl_type02{
		font-size: 1.6rem;
	}
	
	.ttl_type03{
		font-size: 1.6rem;
	}
	
	/*------------------------------
	ナビゲーション
	------------------------------*/
	/*****
	ページナビ
	*****/
	.page_nav{
		font-size: 1.4rem;
	}
	.page_nav ul{
		justify-content: space-between;
		flex-wrap: wrap;
		width: 94%;
		margin: 0 auto;
	}
	.page_nav ul li{
		width: 48%;
		margin: 0 0 0.5em 0;
	}
	.page_nav ul li a{}
	
	/*------------------------------
	フッター
	------------------------------*/
	
	
}
