@charset "utf-8";

body {
	/* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}


h1 { font-size: 1.8rem;}
h2 { font-size: 1.6rem;}
h3 { font-size: 1.4rem;}
h4 { font-size: 1.2rem;}
h5 { font-size: 1.0rem; font-weight: normal;}
h1, h2, h3, h4, dt, strong, em {
	font-weight: bold;
}
h1, h2, h3 {		/* -------- h4 は対応しない！ */
	font-family: "Rounded Mplus 1c";
	font-weight: 700;
}
h2, h3, h4 { font-weight: 600; }
a {
	text-decoration: none;
	transition: .3s;
	color: #33f;
}
a:link, a:visited, a:active, a:focus {
	text-decoration: none;
	color: #33f;
}
.table td a {
	text-decoration: none;
	transition: .3s;
}
.table td a:hover {
	color: #f63;
}
div a:hover, p a:hover, li a:hover, dd a:hover {
	text-decoration: none;
	color: #f63;
}
p,
section ul {
	padding-bottom: 0.8em;
}
p strong,
dd strong,
li strong,
td strong {
	color: #090;
	}
article,
section,
aside {
	margin-bottom: 30px;
}
article p:last-child,
section p:last-child,
aside p:last-child {
	padding-bottom: 0;
}
dl dt {
	color: #000;
}
dl dd {
	padding-left: 2.0em;
	margin-bottom: 0.6em;
}
q {
	padding: 0 0.5em;
}
q:before {
	font-family: 'FontAwesome';
	content: "\f10d";
	font-size: 0.5em;
	position: relative;
	top: -1em;
	left: -0.2em;
	}
q:after {
	font-family: 'FontAwesome';
	content: "\f10e";
	font-size: 0.5em;
	position: relative;
	top: -1em;
	right: -0.2em;
	}
section > h2,
section > h3 {
	color: #063;
	background: linear-gradient(transparent 50%, #ffff66 50%);
	display: inline;
}
section > h2 + p,
section > h3 + p {
	margin-top: 0.3em;
}

/* ------------------
------------------ */
body {
	background-color: #9ac29f;
	color: #f00;
}
.body_contents {
	background-color: #fff;
	color: #000;
	overflow: hidden;
}
.body_contents.body_bg1 {
	background-color: #FFE0E5;
}
.body_contents.body_bg2 {
	background-color: #C2EAF4;
}
.body_contents .frow-container {
	margin-top: 40px;
	padding-bottom: 10px;
}
header + .body_contents .frow-container,
.body_contents .frow-container + .frow-container {
	margin-top: 0;
}

/* --------------
ナビゲーション（フッタ以外）
-------------- */
#nav_main {
}
#nav_main li a {
	display: block;
	padding: .6em .2em;
	width: 100%;
	height: 100%;
	text-align: center;
	background-color: #fffff0;
	color: #21353A;
	border: 1px solid #85D4E8;
	border-width: 1px 1px 1px 0;
}
#nav_main li:first-child a {
	border-left-width: 1px;
}
#nav_main li a:hover {
	background-color: #FFF0EB;
	box-shadow: none;
}
#nav_main li.active a,
#nav_main li.active a:hover {	
	background-color: #FFE0E5;
}
#nav_main li a i {
	display: none;
}
#nav_main li a i {
	display: none;
}
#nav_main li:first-child a i {
	display: inline-block;
}
#nav_main li:first-child a span {
	display: none;
}
@media (min-width: 1200px) {
	#nav_main li a i {
		display: inline-block;
		margin-right: 0.3em;
	}
	#nav_main li:first-child a span {
		display: inline-block;
	}
}
#nav_side,
#nav_inner {
	border-right: 1px solid #85D4E8;
}
#nav_side {
	border-top: 1px solid #85D4E8;
	margin-bottom: 30px;
}
#nav_side li,
#nav_inner li {
	line-height: 1.0em;
}
#nav_side li a,
#nav_inner li a {
	display: block;
	padding: .9em 1px .9em 1em;
	background-color: #fffff0;
	color: #21353A;
	width: 100%;
	height: 100%;
	border: 1px solid #85D4E8;
	border-width: 0 0 1px 1px;
	position: relative;
	background-size: contain;
}
#nav_side li a:hover,
#nav_inner li a:hover {
	background-color: #FFF0EB;
}
#nav_side li.active a,
#nav_side li.active a:hover,
#nav_inner li.active a,
#nav_inner li.active a:hover {
	background: url(../img/elm_star_rt180.png) no-repeat right center #FFE0E5;
	background-size: contain;
}
#nav_side li.active a::before,
#nav_inner li.active a::before {
	position: absolute;
	top: 0.9em;
	left: 0.3em;
	font-family: 'FontAwesome';
	content: "\f0da";
}
#nav_side { display: none; }
@media (min-width:768px) {
	#nav_side { display: block; }
}
@media (max-width:399px) {	/* 旧スマホ */
	#nav_inner li a span { display: none; }
}
/* ------------------
------------------ */
header {
	text-align: center;
	padding: 1.0em 0;
	background-color: #b2d6d4;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.92, #fff), color-stop(0.00, #C2EAF4));
	background: -webkit-linear-gradient(top, #C2EAF4 0%, #fff 92%);
	background: -moz-linear-gradient(top, #C2EAF4 0%, #fff 92%);
	background: -o-linear-gradient(top, #C2EAF4 0%, #fff 92%);
	background: -ms-linear-gradient(top, #C2EAF4 0%, #fff 92%);
	background: linear-gradient(to bottom, #C2EAF4 0%, #fff 92%);
}
header .frow-container {
	padding-bottom: 20px;
}
header h1 {
	margin-bottom: 10px;
	color: #339;
	font-family: "Sawarabi Mincho";
	font-weight: 400;
}
header h1 img {
	width: 160px;
	height: 44x;
}
h1 .h1_small {
	font-size: 0.6em;
	padding: 0.5em;
}
header h1 a * {
	transition: .3s;
	color: #339;
}
header h1 a:hover * {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
@media (min-width:768px) {
	header { text-align: left; }
}
@media (max-width:767px) {
	header h1 span::before {
		content: "\A";
		white-space: pre;
	}
}
/* ------------------
------------------ */
footer {
	padding: 30px 0;
	color: black;
	text-align: center;
}
footer .areaQrCode {
	display: none;
}
#nav_footer ul {
	margin-bottom: 20px;
}
#nav_footer li {
	display: inline-block;
	padding: 0 1.0em 0.5em 0;
}
#nav_footer li:first-child {
	padding-left: 0;
}
#nav_footer li i {
	display: none;
}
#nav_footer li a {
	display: inline-block;
	width: 100%;
	height: 100%;
	color: #30f;
}
#nav_footer li a:hover,
#nav_footer li.active a,
#nav_footer li.active a:hover {
	text-decoration: none;
	color: #ff0;
}
@media (min-width: 768px) {
	footer { text-align: left;}
	footer .frow-container {
		background: url(../img/logo_white.png) no-repeat right bottom;
	}
	footer .areaQrCode {
		display: block;
		float: right;
	}
	footer .areaQrCode img {
		border-radius: 6px;
	}
}
#GoTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 80px;
	height: 80px;
	line-height: 84px;
	text-align: center;
	border-radius: 40px;
	background-color: rgba(102,102,102,0.5);
	color: #fff;
	transition: .3s;
}
#GoTop:hover {
	background-color: #44aeea;
}
address {
	font-style: normal;
	margin-bottom: 0.6em;
}
address a.tel {
	color: #000;
}

/* --------------
ちいさなボード／<h4>タイトル＋<div>画像＋<p>文章
-------------- */
.tile_board {
	background-color: #f9f9f9;
	border-radius: 6px;
	border: 1px solid #e6e6e6;
}
.tile_board.noBorder {
	border: none;
	border-width: 0;
}
.tile_board.fitHeight {
	height: 240px;
	overflow: hidden;
}
.tile_board h4 {
	background-color: #9ac29f;
	color: #fff;
	font-weight: normal;
	border-radius: 6px 6px 0 0;
	padding: .3em 0;
	text-align: center;
}
.tile_board.fitHeight h4 {
	padding: 0;
	height: 1.8em;
	line-height: 1.8em;
	overflow: hidden;	
}
.tile_board div {
	background-color: #fff;
	text-align: center;
}
.tile_board.noBorder div,
.tile_board.noBorder div img {
	border-radius: 6px;
}
.tile_board.fitHeight div {
	height: 100px;
	overflow: hidden;
}
.tile_board div img {
	vertical-align: top;
}
.tile_board.noBorder div img {
	vertical-align: bottom;
}
.tile_board p {
	padding: .3em 0 .3em .3em;
	line-height: 1.2;		/* <- 1.3 */
	color: black;
}
.tile_board p:last-child {
	padding-bottom: .3em;
}
.tile_board p.text-center {
	padding-left: .3em;
}
@media (min-width:768px) {
	.tile_board p { line-height: 1.25; }		/* <- 1.4 */
}
@media (min-width:1200px) {
	.tile_board p { line-height: 1.30; }		/* <- 1.5 */
}
a .tile_board h4,
a .tile_board p,
.tile_board div a img {
	transition: .3s;
}
a:hover .tile_board h4,
a:hover .tile_board p {
	color: #f63;
}
a:hover .tile_board div img,
.tile_board div a:hover img {
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
/* ------------------
共通
------------------ */
.h1_cover h1 {
	color: #063;
	font-family: "Sawarabi Mincho";
	font-weight: 400;
	padding: 0.2em 0;
	border-bottom: 1px solid #85D4E8;
	background: url(../img/elm_star_rt200.png) no-repeat 1% center #fff;
	background-color: rgba(255,255,255,0.5);
	background-size: contain;
}
hr.my_hr {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #85D4E8;
	border: 0;
	margin-bottom: 30px;
}
.cover_title {
	position: relative;
}
.cover_title h2 {
	position:absolute;
	top: calc(0.5em - 40px);
	right: 0;
	height: 0.92em;
	line-height: 0.92em;
	overflow: hidden;
	text-align: right;
	letter-spacing: -.1em;
	color: #408C66;
	padding-right: .1em;
}
/* ------------------
円形ガイド
------------------ */
.circle_note {
	text-align: center;
	position: relative;
}
.circle_note h3 {
	position: relative;
	top: .7em;
	transition: .3s;
}
.circle_tips {
	padding: .2em 0;
	background-color: rgba(255,255,255,0.6);
	border: 2px solid #063;
	border-width: 2px 0;
	position: relative;
	bottom: 1.8em;
	display: inline-block;
	color: #063;
	font-weight: bold;
	text-shadow:
		1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff,
		1px 1px 2px rgba(255,255,255,0.8), -1px -1px 2px rgba(255,255,255,0.8);
	transition: .3s;
}
a:hover .circle_note h3,
a:hover .circle_tips {
	color: #f63;
	border-color: #f63;
}
.circle_note h3 + div {
	width: 60%;
	margin: 0 auto;
}
@media (min-width: 768px) {
	a .circle_note h3 + div { width: 75%;}
}
.circle_note .dynamic_bg {
	background: url(../img/dummy.jpg) no-repeat center center;
	background-size: cover;
	border-radius: 50%;
    padding: 50%;
}
a:hover .circle_note .dynamic_bg {
	background-size: 110%;
}
.circle_note .area_rects {
	text-align: center;
	padding-bottom: .5em;
	width: 100%;
	position: absolute;
	display: block;
	bottom: 0;
}
.circle_inbutton {
	display: inline-block;
	min-width: 7.2em;
	padding: .4em 0;
	background-color: rgba(255,255,255,0.8);
	border: 3px solid #063;
	color: #063;
	font-weight: bold;
	border-radius: 6px;
	transition: .3s;
}
.circle_inbutton + .circle_inbutton {
	margin: .3em;
}
.circle_inbutton:hover {
	background-color: rgba(255,255,0,0.8);
}
/* ------------------
------------------ */
.table_my2column {
	background-color: white;
	color: #666;
	table-layout: fixed;
}
.table_my2column th {
	font-weight: normal;
	color: #000;
	vertical-align: top;
	border-bottom: none;
	width: 25%;
}
.section_border {
	border-style: solid;
	border-width: 1px 0;
	border-color: #F6BCA8;
	padding: 0.4em 0 0.8em 0;
	background-color: rgba(255,255,255,0.6);
}
.section_border p {
	margin-left: 1em;
	margin-right: 0.6em;
	color: black;
}
/* ------------------
------------------ */
.big_button {
	width: 100%;
	padding: 0.8em 0;
	background-color: #69c;
	color: white;
	border: none;
	border-radius: 6px;
}
.big_button:hover {
	background-color: #7ad;
	color: #ff6;
}
.article_information p {
	margin-left: 1.8em;
	padding-bottom: 0.3em;
}
.article_information p:before {
	font-family: 'FontAwesome';
	content: "\f046";
	position: relative;
	padding-right: 0.5em;
}
.article_information .a_inf_name::before {
	content: "\A";
	white-space: pre;
}
@media (min-width:768px) {
	.article_information .a_inf_name {
		margin-left: 1.0em;
	}
	.article_information .a_inf_name::before {
		content: none;
	}
}

/* ------------------
for LightBox／画像左下のキャプション
------------------ */
.lb-data .lb-caption {
	font-size: inherit;
	line-height: inherit;
	font-weight: normal;
	color: white;
}

/* ------------------
開閉記事
------------------ */
.dsp_onof {
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 40px;
}
.dsp_onof_control {
	cursor: pointer;
	color: #33f;
	transition: .3s;
	position: relative;
}
.dsp_onof_control::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f196";
}
.dsp_onof_control.is_open::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f147";
}
.dsp_onof_control:hover {
	color: #f63;
}
.dsp_onof_body {
	display: none;
	margin-top: 20px;
}
.dsp_onof_body dd:after {
	content: "";
	display: block;
	clear: both;
}

/* ------------------
事業案内ページのガイドアイコン
------------------ */
.guide_icon {
	float: left;
	padding: 10px 10px 0 0;
}
.guide_icon img {
	width: 120px;
	height: 120px;
	border-radius: 60px;
}

