@charset "UTF-8";

/********************
** 1.パーツ
** 2.汎用（共通）設定
** 3.ビジュアルエディタ使用時のスタイル設定・親設定変更
*********************/

/********************************************************
 !parts
*********************************************************/

/* !h(n)eading, title
------------------------------------------------------- */
.headLine01,
.headLine01-fwB,
.headLine01-green {
	font-size: 2.3rem;
	line-height: 1.2;
}
	.headLine01-fwB { font-weight: bold;}
	.headLine01-green { color: #00ad00;}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line {
	font-size: 2.0rem;
	line-height: 1.2;
}
	.headLine02-fwB { font-weight: bold;}
	.headLine02-green { color: #00ad00;}
	.headLine02-b-line {
		color: #00ad00;
		border-bottom: solid 3px #c9d199;
	}
	.headLine02-l-line {
		border-left: 6px solid #00ad00;
		font-weight: bold;
		padding-left: 0.5em;
		margin-left: 2px;
	}

/* 02-l-line lead */
.headLine02-l-line span.lead {
	display: block;
	margin-top: 6px;
	font-size:  70%;
}

.headLine03,
.headLine03-fwB,
.headLine03-green,
.headLine03-l-line {
	font-size: 1.7rem;
	line-height: 1.2;
}
	.headLine03-fwB { font-weight: bold;}
	.headLine03-green { color: #00ad00;}
	.headLine03-l-line {
		border-left: 6px solid #00ad00;
		font-weight: bold;
		padding-left: 0.5em;
		margin-left: 2px;
	}

/* title-icon */
.title-icon {
	position: relative;
	padding-left: 36px;
	line-height: 1.3;
}
	.title-icon::before{
		position: absolute;
		font-family: "icomoon";
		content: "\e906";
		top: 50%;
		left: 0;
		width: 25px;
		height: 25px;
		color: #fff;
		line-height: 25px;
		text-align: center;
		font-size: 1.6rem;
		font-weight: normal;
		background-color: #ffca2c;
		border-radius: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	.title-icon::after {
		display: block;
		position: absolute;
		content: "";
		top: 50%;
		left: 20px;
		width: 0;
		height: 0;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 12px solid #ffca2c;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}


/* title-bg-gray */
.waku-01px .title-bg-gray,
figcaption.title-bg-gray {
	display: table;
	text-align: left;
	margin: 0.3em auto 0.5em;
	background-color: #f3f3f3;
	font-size: 115%;
	font-weight: bold;
	line-height: 1.2;
}

/* title-bg-green */
#contents .waku-title .title-bg-green {
	display: inline-block;
	background-color: #7bdb18;
    padding: 3px 10px 4px;
	margin: 0 0 10px;
    color: #fff;
	line-height: 1.2;
	font-size: 1.6rem;
    font-weight: bold;
}

/* !icon
------------------------------------------------------- */
.icon-tree {
	color: #00ad00;
	font-weight: bold;
}

.icon-tree::before {
	font-family: "icomoon";
	content: "\e904";
	display: inline-block;
	vertical-align: middle;
	font-size: 3.5rem;
	font-weight: normal;
	margin: -6px -15px 0 0;
}

/* !entry
------------------------------------------------------- */
/* home */
.entry-cat {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	font-size: 80%;
	line-height: 1.2;
	text-align: center;
	padding: 2px 0;
	font-weight: bold;
}

/* post */
.btn-entry-cat {
	position: relative;
	display: inline-block;
	font-size: 80%;
	line-height: 1.2;
	min-width: 7em;
	text-align: center;
	font-weight: bold;
}
	.btn-entry-cat a {
		display: block;
		padding: 2px 4px 2px 12px;
		text-decoration: none;
		color: #fff;
	}
	.btn-entry-cat a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2px;
		display: block;
		content: "";
		width: 4px;
		height: 4px;
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn-entry-cat a:hover, .btn-entry-cat a:focus{
		color: #fff;
	}

/* entry-new */
.entry-new {
	color: #e00100;
	font-weight: bold;
	font-size: 80%;
}


/* !button
------------------------------------------------------- */
.btn_basic01 {
	position: relative;
	background-color: #00ad00;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn_basic01 a {
		display: block;
		padding: 0.5em;
		padding-left: 20px;
		text-decoration: none;
		color: #fff;
	}
	.btn_basic01 a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		/*right: 10px;*/
		left: 6px;
		display: block;
		content: "";
		width: 8px;
		height: 8px;
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn_basic01 a:hover,
	.btn_basic01 a:focus {
		background-color: #00e000;
		color: #fff;
	}


.btn-tel,
.btn-request,
.btn-contact,
.btn-visit {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn-tel a, .btn-request a, .btn-contact a, .btn-visit a {
		display: block;
		padding: 0.5em 0.5em 0.5em;
		text-decoration: none;
		color: #fff;
	}
	.btn-tel a:hover, .btn-request a:hover, .btn-contact a:hover, .btn-visit a:hover { color: #fff;}

.btn-tel a::before, .btn-request a::before, .btn-contact a::before, .btn-visit a::before {
	font-family: "icomoon";
	display: inline-block;
	vertical-align: bottom;
	font-weight: normal;
	font-size: 2.0rem;
	margin-right: 5px;
}
	.btn-tel a::before    { content: "\e903"; margin-bottom: -1px;}
	.btn-request a::before{ content: "\e902";}
	.btn-contact a::before{ content: "\e901";}
	.btn-visit a::before  { content: "\e905";}

/* ichiran-link button */
.btn_waku01px {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn_waku01px a{
		display: block;
		padding: 0.5em;
		padding-left: 20px;
		text-decoration: none;
		border: 1px solid #999;
		color: #666;
		background-color: #fff;
	}
	.btn_waku01px a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		/*right: 10px;*/
		left: 6px;
		display: block;
		content: "";
		width: 8px;
		height: 8px;
		border-top: #999 2px solid;
		border-right: #999 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn_waku01px a:hover, .btn_waku01px a:focus {
		background-color: #f3f3f3;
		color: #666;
	}

/* pageContents-link button */
.btn_img-link {
	width: 100%;
	line-height: 1.1;
	text-align: left;
}
	.btn_img-link a {
		display: block;
		text-decoration: none;
		color: #fff;
		background-color: #00ad00;
		border: 1px solid #00ad00;
	}
	.btn_img-link a:hover, .btn_img-link a:focus { background-color: #00e000; color: #fff; border: 1px solid #00e000;}

.btn_img-link .contentsFitBox.viewport-all {
	display: table;
	border-collapse: collapse;
}
.btn_img-link .contentsFitBox.viewport-all img {
	display: table-cell;
}
.btn_img-link .contentsFitBox.viewport-all .area-text {
	display: table-cell;
	vertical-align: middle;
	width: 80%;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0 16px;
}


/* readmore
------------------------------------------------------- */
.readmore{
	position: relative;
	display: inline-block;
	background-color: #00ad00;
	font-size: 86%;
	color: #fff;
	line-height: 1.2;
}
	.readmore a{
		display: block;
		padding: 0.5em;
		padding-left: 16px;
		text-decoration: none;
		color: #fff;
	}
	.readmore a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		/*right: 10px;*/
		left: 3px;
		display: block;
		content: "";
		width: 6px;
		height: 6px;
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.readmore a:hover, .readmore a:focus{
		background-color: #00e000;
		color: #fff;
	}

/* right */
.readmore.alignright,
body.page #contents .readmore {
	display: table;
	margin-left: auto;
	margin-top: -0.5em;
}

/* size */
.article .readmore,
body.page #contents .readmore { font-size: 80%;}

/* color */
.article .readmore.bg_gray444,
body.page #contents .readmore {background-color: #444;}

/* multi contents */
.readmore-wrapper {
	text-align: right;
	margin-top: -0.5em;
}
	body.page #contents .readmore-wrapper .readmore,
	.article .readmore-wrapper .readmore {
		display: inline-block;
		vertical-align: top;
		margin: 0 0 0.7em 0.7em;
	}

/* mark
------------------------------------------------------- */
/* ※付き用 annotation */
.mark-note { 
	font-size:  85%;
	line-height: 1.3;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 0.6em;
	list-style: none;
}
	ul.mark-note { margin-bottom: 0;}
	ul.mark-note li { margin-bottom: 0.8em;}

/* mark-disc */
.mark-disc,
ul.mark-disc li,
dl.mark-disc dd {
	position: relative;
	padding-left: 1em;
	line-height: 1.3;
	margin-bottom: 0.6em;
	list-style: none;
}
ul.mark-disc li:last-child,
dl.mark-disc dd:last-child {margin-bottom: 1.5em;}

.mark-disc::before,
ul.mark-disc li::before,
dl.mark-disc dd::before {
	position: absolute;
	content: "";
	top: 0.45em;
	left: 0.1em;
	width: 0.4em;
	height: 0.4em;
	border-radius: 50%;
	background: #c9d199;
}
	ul.mark-disc,
	dl.mark-disc {
		position: static;
		padding-left: 0;
	}
	ul.mark-disc::before,
	dl.mark-disc::before {
		position: static;
		content: "";
	}

/* no-mark */
.no-mark,
.mark-disc li.no-mark,
.mark-disc dd.no-mark {
	position: static;
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
	.mark-disc li.no-mark::before,
	.mark-disc dd.no-mark::before {
		position: static;
		content: "";
	}


/* mark-arrow yellow */
.mark-arrow,
ul.mark-arrow li,
dl.mark-arrow dd {
	position: relative;
	padding-left: 0.9em;
	line-height: 1.3;
	margin-bottom: 0.6em;
	list-style: none;
}
ul.mark-arrow li:last-child,
dl.mark-arrow dd:last-child {
	margin-bottom: 1em;
}

.mark-arrow a {
	color: #00ad00;
	font-weight: bold;
	text-decoration: none;
}
.mark-arrow a:hover { color: #00e000;}

.mark-arrow::before,
ul.mark-arrow li::before,
dl.mark-arrow dd::before {
	position: absolute;
	content: "";
	top: 0.2em;
	left: 0;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left: 10px solid #ffd700;
}
	ul.mark-arrow,
	dl.mark-arrow {
		position: static;
		padding-left: 0;
	}
	ul.mark-arrow::before,
	dl.mark-arrow::before {
		position: static;
		content: "";
		border: none;
	}

/* mark-arrow-single */
.mark-arrow-single,
ul.mark-arrow-single li,
dl.mark-arrow-single dd {
	position: relative;
	padding-left: 1em;
	line-height: 1.2;
	margin-bottom: 0.6em;
	list-style: none;
}
ul.mark-arrow-single li:last-child,
dl.mark-arrow-single dd:last-child {
	margin-bottom: 1em;
}

.mark-arrow-single a {
	text-decoration: none;
}

.mark-arrow-single::before,
ul.mark-arrow-single li::before,
dl.mark-arrow-single dd::before {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	display: block;
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid #00ad00;
	border-right: 2px solid #00ad00;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
	ul.mark-arrow-single {
		position: static;
		padding-left: 0;
	}
	ul.mark-arrow-single::before,
	dl.mark-arrow-single::before {
		position: static;
		content: "";
		border: none;
	}

/* !List
------------------------------------------------ */
.list-horizontal li {
	display: inline-block;
	vertical-align: top;
	margin-right: 1.3em;
}

.dl_float dt {
	float: left;
	margin-bottom: 0.2em;
}
.dl_float dd {
	margin-bottom: 0.2em;
}


.dl_table01,
.dl_table01 dt,
.dl_table01 dd {
	border-style: dashed;
	border-color: #ccc;
}

.dl_table01 {
	border-width: 0 0 1px 0;
}
	.dl_table01 dt{
		float: left;
		clear: left;
		width: 6em;
		padding: 0.5em 0;
		border-width: 1px 0 0 0;
	}
	.dl_table01 dd{
		margin-left: 6em;
		padding: 0.5em 0 0.5em 1em;
		border-width: 1px 0 0 0;
	}


/* !table
------------------------------------------------ */
.table01 {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ccc;
	font-size: 1.2rem;
	margin-bottom: 2em;
	margin-top: 0;
}

.table01 caption {
	font-size: 1.4rem;
	font-weight: bold;
}

.table01 th, 
.table01 td {
	padding: 0.2em;
	border: 1px solid #ccc;
	vertical-align: middle;
}

.table01 th { background-color: #f4f4f4;}
	
.table01 thead th,
.table01 td {
	text-align: center;
}

/* option */
.table01.table-fixed { table-layout: fixed;}
.table01.table-break-all { word-break: break-all;}
.table01 tbody.no-bgcolor th { background-color: transparent;}
.table01 tbody.taC th { text-align: center;}


/* !balloon
-------------------------------------- */
.balloon-b-line,
.balloon-t-line {
    position: relative;
	padding: 0.5em;
    border: 1px solid #ccc;
    background-color: #f3f3f3;
	border-radius: 5px;
}
.balloon-b-line {margin-bottom: 20px !important;}
.balloon-t-line {margin-top: 20px;}

.balloon-b-line:before, .balloon-b-line:after,
.balloon-t-line:before, .balloon-t-line:after {
    position: absolute;
	content: "";
	left: 2em;
	border: solid transparent;
	width: 0;
	height: 0;
	border-width: 10px;
}
.balloon-b-line:before, .balloon-b-line:after {top: 100%;}
.balloon-t-line:before, .balloon-t-line:after {top: -20px;}	

	.balloon-b-line:before{border-top-color: #ccc;}
	.balloon-b-line:after {border-top-color: #f3f3f3; margin: -1px 0 0 0;}

	.balloon-t-line:before{border-bottom-color: #ccc; margin: -1px 0 0 0;}
	.balloon-t-line:after {border-bottom-color: #f3f3f3;}

.title.balloon-b-line {
	font-weight: bold;
	font-size: 115%;
}

/* !box, waku
-------------------------------------- */
/* box */
.box01 {
	width: 100%;
	text-align: left;
	padding: 0;
}
	.box01 a {
		text-decoration: none;
	}
	.box01 .box-title {
		font-size: 115%; /* fzL */
		line-height: 1.2;
		font-weight: bold;
		color: #00ad00;
	}
		.box01 a:hover .box-title,
		.box01 .box-title a:hover { color: #00e000; }

/* box01 + boder + padding */
.waku-06px {
	background-color: #fff;
	text-align: left;
	padding: 12px;
	border: 6px solid #e6e6e6;
}

/* use = waku-title + title-bg-gray */
.waku-01px {
	text-align: left;
	padding: 8px 10px;
	border: 1px solid #e6e6e6;
}

/* use = waku-title + title-bg-green */
.waku-title {
	padding-bottom: 12px;
    margin: 1.5em 0 1em;
    border: 2px solid #7bdb18;
}
	#contents .waku-title.fzS .title-bg-green {
		font-size: 1.5rem;
	}
.waku-title p,
.waku-title figure,
.waku-title .mark-disc {
	margin-right: 10px;
	margin-left: 10px;
}
	#contents .waku-title :last-child {
		margin-bottom: 0;
	}

/* waku-dotted + title-icon */
.waku-dotted {
	padding: 12px 10px;
	padding-bottom: 12px;
    margin: 1.5em 0 1em;
    border: 2px dotted #7bdb18;
	border-radius: 8px;
}
	.waku-dotted .title-icon {
		margin: 3px 10px 12px 0;
	}

/* !contentsCol
-------------------------------------- */
.contentsCol {
	width: 100%;
	margin: 0 auto;
}

/* col1 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col1_2 {
	margin-bottom: 1.5em;
}

/* col2 */
.contentsCol .col2,
.contentsCol .col2_3,
.contentsCol .col2_4,
.contentsCol .col2_4_no-space,
.contentsCol .col2-4, 
.contentsCol .col2-5 {
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col2_4_no-space {
		width: 49%;
	}
	.contentsCol .col2:nth-child(odd),
	.contentsCol .col2_3:nth-child(odd),
	.contentsCol .col2_4:nth-child(odd),
	.contentsCol .col2_4_no-space:nth-child(odd),
	.contentsCol .col2-4:nth-child(odd),
	.contentsCol .col2-5:nth-child(odd) {
		margin-left: 0; 
	}

/* col3 */
.contentsCol .col3 {
	display: inline-block;
	vertical-align: top;
	width: 31%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col3:nth-child(3n+1) {
		margin-left: 0;
	}


/* !contentsFitBox
-------------------------------------- */
/* for responsive */
.contentsFitBox {
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 14px 0;
}

/* viewport-all */
.contentsFitBox.viewport-all {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport-all .col-fitBox {
	display: table-cell;
}

/* option */
.contentsFitBox.vaT .col-fitBox { vertical-align: top;}
.contentsFitBox.vaM .col-fitBox { vertical-align: middle;}
.contentsFitBox.vaB .col-fitBox { vertical-align: bottom;}

.no-space {}
.contentsFitBox.no-space {
	border-collapse: collapse !important;
	border-spacing: 0 0;
}


@media screen and (min-width: 480px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.4rem;}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line { font-size: 2.2rem;}

.headLine03,
.headLine03-fwB,
.headLine03-green,
.headLine03-l-line { font-size: 1.8rem;}

/* !btn
----------------------------- */
.btn_img-link .contentsFitBox.viewport-all .area-text {
	width: 70%;
}

/* !contentsCol
----------------------------- */
/* col2 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col1_2 {
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col1-4:nth-child(odd),
	.contentsCol .col1-3:nth-child(odd),
	.contentsCol .col1_2:nth-child(odd) {
		margin-left: 0; 
	}

/* col3 */
.contentsCol .col2-4,
.contentsCol .col2-5,
.contentsCol .col2-4:nth-child(odd),
.contentsCol .col2-5:nth-child(odd) {
	width: 31.4%;
	margin-left: 2%;
}
	.contentsCol .col2-4:nth-child(3n+1),
	.contentsCol .col2-5:nth-child(3n+1) {
		margin-left: 0;
	}


/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport480px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport480px .col-fitBox {
	display: table-cell;
}


}


@media screen and (min-width: 640px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.6rem;}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line { font-size: 2.4rem;}

.headLine03,
.headLine03-fwB,
.headLine03-green,
.headLine03-l-line { font-size: 2.0rem;}


/* !table
-------------------------------------- */
.table01 {
	font-size: 1.3rem;
}

.table01 caption {
	font-size: 1.5rem;
}

/* !contentsCol
-------------------------------------- */
/* col3 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col2_3,
.contentsCol .col1-4:nth-child(odd),
.contentsCol .col1-3:nth-child(odd),
.contentsCol .col2_3:nth-child(odd) {
	width: 31.4%;
	margin-left: 2%;
}
	.contentsCol .col1-4:nth-child(3n+1),
	.contentsCol .col1-3:nth-child(3n+1),
	.contentsCol .col2_3:nth-child(3n+1) {
		margin-left: 0;
	}

/* col4 */
.contentsCol .col2_4_no-space {
	width: 25%;
	margin: 0 0 1em 0;
}

.contentsCol .col2_4,
.contentsCol .col2_4:nth-child(odd),
.contentsCol .col2-5,
.contentsCol .col2-5:nth-child(odd),
.contentsCol .col2-5:nth-child(3n+1){
	width: 23.5%;
	margin-left: 1.1%;
}
	.contentsCol .col2_4:nth-child(4n+1),
	.contentsCol .col2-5:nth-child(4n+1) {
		margin-left: 0; 
	}

/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport640px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport640px .col-fitBox {
	display: table-cell;
}

}

@media screen and (min-width: 768px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.8rem;}

/* !btn
----------------------------- */
.btn-tel,
.btn-request,
.btn-contact,
.btn-visit {
	font-size: 1.7rem;
}

.btn_img-link .contentsFitBox.viewport-all .area-text {
	width: 75%;
}

/* !contentsCol
-------------------------------------- */
/* col4 */
body.parent .contentsCol .col2-4,
body.parent .contentsCol .col2-4:nth-child(odd),
body.parent .contentsCol .col2-4:nth-child(3n+1) {
	width: 23.5%;
	margin-left: 1.4%;
}
	body.parent .contentsCol .col2-4:nth-child(4n+1) {
		margin-left: 0; 
	}

/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport768px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport768px .col-fitBox {
	display: table-cell;
}


}

@media screen and (min-width: 980px){

.headLine01,
.headLine01-green{ font-size: 3.0rem;}
.headLine01-fwB { font-size: 2.9rem;}

.headLine02,
.headLine02-green,
.headLine02-b-line { font-size: 2.5rem;}


/* !table
-------------------------------------- */
.table01 {
	font-size: 1.4rem;
}

/* !contentsCol
-------------------------------------- */
/* col4 */
.contentsCol .col1-4,
.contentsCol .col1-4:nth-child(odd),
.contentsCol .col1-4:nth-child(3n+1),
body.child .contentsCol .col2-4,
body.child .contentsCol .col2-4:nth-child(odd),
body.child .contentsCol .col2-4:nth-child(3n+1) {
	width: 23.5%;
	margin-left: 1.4%;
}
	.contentsCol .col1-4:nth-child(4n+1),
	body.child .contentsCol .col2-4:nth-child(4n+1) {
		margin-left: 0; 
	}

/* col5 */
.contentsCol .col2-5,
.contentsCol .col2-5:nth-child(odd),
.contentsCol .col2-5:nth-child(3n+1),
.contentsCol .col2-5:nth-child(4n+1) {
	width: 18.8%;
	margin-left: 1%;
}
	.contentsCol .col2-5:nth-child(5n+1) {
		margin-left: 0; 
	}


/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport980px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport980px .col-fitBox {
	display: table-cell;
}

}


/*******************************************************************************
 ! General Style
********************************************************************************/
/* !Base Fonts -------------------------------------------------------------- */
.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fzSS   { font-size:  76%;}/* base 14px -> 11-10px */
.fzS    { font-size:  88%;}/* base 14px -> 13-12px */
.fzM    { font-size: 100%;}
.fzL    { font-size: 115%;}/* base 14px -> 16px */
.fzLL   { font-size: 129%;}/* base 14px -> 18px */
.fzLLL  { font-size: 143%;}/* base 14px -> 20px */
.fzLLLL { font-size: 157%;}/* base 14px -> 22px */
sup   { font-size: 76%; vertical-align: top;}
sub   { font-size: 76%; vertical-align: baseline;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}
.blockC-table { display: table; text-align: left; margin-left: auto; margin-right: auto;}
.blockR-table { display: table; text-align: left; margin-left: auto;}
.blockL-table { display: table; text-align: left; margin-right: auto;}
ins{text-decoration: none; background: linear-gradient(transparent 60%, #ffff66 60%);}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.hide  { display: none;}
.block { display: block;}
.no-block{ display: inline !important;}
.ilB   { display: inline-block;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none !important;}
.ofH   { overflow: hidden;}

.no-bgcolor { background-color: transparent !important;}
.no-border { border: none !important;}

a.no-pointer{
  pointer-events: none;
}

/* !viewport ---------------------------------------------------------------- */
.viewport480px, .viewport640px, .viewport768px, .viewport980px, .viewport-all{}

/* !Floats ------------------------------------------------------------------ */
.flL.viewport-all { float: left;}
.flR.viewport-all { float: right;}
.img-flL.viewport-all { float: left; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport-all { float: right; margin-left: 1em; margin-bottom: 14px;}

.no-max-width { max-width: none !important;}
.max-width40per { max-width: 40%;}

@media screen and (min-width: 480px){
.img-flL.viewport480px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport480px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}
@media screen and (min-width: 640px){
.img-flL.viewport640px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport640px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}
@media screen and (min-width: 980px){
.img-flL.viewport980px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport980px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}

/* !Width ------------------------------------------------------------------- */

/* 960px Grid */
.w960   { width: 960px;}
.w800	{ width: 800px;}
.w640	{ width: 640px;}
.w480	{ width: 480px;}
.w320	{ width: 320px;}
.w280	{ width: 280px;}
.w230	{ width: 230px;}
.w200	{ width: 200px;}
.w160	{ width: 160px;}
.w140	{ width: 140px;}
.w130	{ width: 130px;}
.w120	{ width: 120px;}
.w100	{ width: 100px;}

.wHalf  { width: 49%;}
.wTri   { width: 33%;}
.wQuart { width: 24%;}
.wFull  { width: 99.9%;}
.wMax   { width: 100%;}

.w03per { width: 3%  !important;}
.w05per { width: 5%  !important;}
.w10per { width: 10% !important;}
.w13per { width: 13% !important;}
.w15per { width: 15% !important;}
.w20per { width: 20% !important;}
.w25per { width: 25% !important;}
.w30per { width: 30% !important;}
.w35per { width: 35% !important;}
.w40per { width: 40% !important;}
.w42per { width: 42% !important;}
.w45per { width: 45% !important;}
.w50per { width: 50% !important;}
.w60per { width: 60% !important;}
.w65per { width: 65% !important;}
.w70per { width: 70% !important;}
.w80per { width: 80% !important;}

.w01em { width: 1em !important;}

.wAuto { width: auto !important;}

/* !Margin ------------------------------------------------------------------ */
.ml-05em { margin-left: -0.5em !important;}
.mr01em { margin-right: 1em !important;}
.mb01em { margin-bottom: 1em !important;}
.mb02em { margin-bottom: 2em !important;}
.pb01em { padding-bottom: 1em !important;}

.mt00 { margin-top: 0   !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt35 { margin-top:35px !important;}
.mt40 { margin-top:40px !important;}
.mt45 { margin-top:45px !important;}
.mt50 { margin-top:50px !important;}
.mr00 { margin-right: 0   !important;}
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right:10px !important;}
.mr12 { margin-right:12px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr25 { margin-right:25px !important;}
.mr30 { margin-right:30px !important;}
.mr35 { margin-right:35px !important;}
.mr40 { margin-right:40px !important;}
.mr45 { margin-right:45px !important;}
.mr50 { margin-right:50px !important;}
.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb12 { margin-bottom:12px !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;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.ml00 { margin-left: 0   !important;}
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left:10px !important;}
.ml12 { margin-left:12px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml25 { margin-left:25px !important;}
.ml30 { margin-left:30px !important;}
.ml35 { margin-left:35px !important;}
.ml40 { margin-left:40px !important;}
.ml45 { margin-left:45px !important;}
.ml50 { margin-left:50px !important;}

/* !Padding  ---------------------------------------------------------------- */
.pt00 { padding-top: 0   !important;}
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top:10px !important;}
.pt12 { padding-top:12px !important;}
.pt15 { padding-top:15px !important;}
.pt20 { padding-top:20px !important;}
.pt25 { padding-top:25px !important;}
.pt30 { padding-top:30px !important;}
.pt35 { padding-top:35px !important;}
.pt40 { padding-top:40px !important;}
.pt45 { padding-top:45px !important;}
.pt50 { padding-top:50px !important;}
.pr00 { padding-right: 0   !important;}
.pr05 { padding-right: 5px !important;}
.pr10 { padding-right:10px !important;}
.pr12 { padding-right:12px !important;}
.pr15 { padding-right:15px !important;}
.pr20 { padding-right:20px !important;}
.pr25 { padding-right:25px !important;}
.pr30 { padding-right:30px !important;}
.pr35 { padding-right:35px !important;}
.pr40 { padding-right:40px !important;}
.pr45 { padding-right:45px !important;}
.pr50 { padding-right:50px !important;}
.pb00 { padding-bottom: 0   !important;}
.pb05 { padding-bottom: 5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb12 { padding-bottom:12px !important;}
.pb15 { padding-bottom:15px !important;}
.pb20 { padding-bottom:20px !important;}
.pb25 { padding-bottom:25px !important;}
.pb30 { padding-bottom:30px !important;}
.pb35 { padding-bottom:35px !important;}
.pb40 { padding-bottom:40px !important;}
.pb45 { padding-bottom:45px !important;}
.pb50 { padding-bottom:50px !important;}
.pl00 { padding-left: 0   !important;}
.pl05 { padding-left: 5px !important;}
.pl10 { padding-left:10px !important;}
.pl12 { padding-left:12px !important;}
.pl15 { padding-left:15px !important;}
.pl20 { padding-left:20px !important;}
.pl25 { padding-left:25px !important;}
.pl30 { padding-left:30px !important;}
.pl35 { padding-left:35px !important;}
.pl40 { padding-left:40px !important;}
.pl45 { padding-left:45px !important;}
.pl50 { padding-left:50px !important;}

/* !Text Color ------------------------------------------------------------ */
.c_green-mainc{ color: #00ad00;} /* main color */
.c_gray-light { color: #c0c0c0;}
.c_gray  { color: #999;}
.c_white { color: #fff;}
.c_red   { color: #e00100;}
.c_yellow{ color: #ffd700;} /* mark-arrow */


/* !background Color ------------------------------------------------------- */
.bg_green-mainc{ background-color: #00ad00;} /* main color */
.bg_green-line { background-color: #c9d199;} /* page green border */
.bg_gray-ph { background-color: #f3f3f3;} /* ph-back */
.bg_gray444 { background-color: #444;}
.bg_white   { background-color: #fff;}

/* hBtn color */
.btn-request, .bg_request{ background-color: #fea900;} /* orange */
.btn-contact, .bg_contact{ background-color: #f78105;} /* orange-red */
.btn-visit,   .bg_visit  { background-color: #e8460e;} /* red */
.btn-tel { background-color: #00ad00;}  /* bg_green-mainc */
	/* hover */
	.btn-request a:hover{ background-color: #ffc043;}
	.btn-contact a:hover{ background-color: #fba245;}
	.btn-visit a:hover  { background-color: #f47346;}
	.btn-tel a:hover    { background-color: #00e000;}

/* news color */
.bg_base { background-color: #00ad00;}  /* == main color */
.bg_event{ background-color: #ffd700;}  /* yellow */
.bg_information{ background-color: #fd7380;}  /* pink */
.bg_news-letter{ background-color: #7bdb18;}  /* yellow-green */
.bg_estate{ background-color: #9c502e;}  /* brown */
.bg_column{ background-color: #5a95c9;}  /* blue */
.bg_alacarte{ background-color: #b578d4;}  /* purple */

	/* hover */
	.bg_base a:hover,
	.bg_event a:hover,
	.bg_information a:hover,
	.bg_news-letter a:hover,
	.bg_estate a:hover,
	.bg_column a:hover,
	.bg_alacarte a:hover{background-color:rgba(255,255,255,0.3);}

/* !border,line ------------------------------------------------------------- */
.border-dashed {
	border-style: dashed;
}
.border-dashed-t1px {
	border-top: 1px dashed #ccc;
}
.border-dashed-t1px-pt2em {
	border-top: 1px dashed #ccc;
	padding-top: 2em;
}

/* marker(under) line */
.marker-oneline_gray {
	position: relative;
	padding-bottom: 0.2em;
}
	.marker-oneline_gray::after {
		position: absolute;
		content: "";
		bottom: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 0.5em;
		background-color: #e6e6e6;
	}

.marker-multiline_gray {
	display: inline;
	/* background: #e6e6e6; */
	background: -webkit-linear-gradient(transparent 65%, #e6e6e6 65%);
	background: linear-gradient(transparent 65%, #e6e6e6 65%);
	padding-bottom: 0.1em;
}

/* repeating-line */
.bg_stripe_yellow {
	background: #ffb733;
	background: -webkit-repeating-linear-gradient(-45deg, #FFD133, #FFD133 5px, #ffb733 5px, #ffb733 10px);
	background: repeating-linear-gradient(-45deg, #FFD133, #FFD133 5px, #ffb733 5px, #ffb733 10px);
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
	padding: 2px;
	color: #fff;
	font-weight: bold;
}

.bg_stripe_blue {
	background: #e9f4ff;
	background: -webkit-repeating-linear-gradient(-45deg, #d8ecff, #d8ecff 5px, #e9f4ff 5px, #e9f4ff 10px);
	background: repeating-linear-gradient(-45deg, #d8ecff, #d8ecff 5px, #e9f4ff 5px, #e9f4ff 10px);
	padding: 2px;
	font-weight: bold;
}

/* !icomoon -------------------------------------------------------------- */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?8awz8i');
  src:  url('fonts/icomoon.eot?8awz8i#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?8awz8i') format('truetype'),
    url('fonts/icomoon.woff?8awz8i') format('woff'),
    url('fonts/icomoon.svg?8awz8i#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-contact:before {
  content: "\e901";
}
.icon-request:before {
  content: "\e902";
}
.icon-tel:before {
  content: "\e903";
}
.icon-tree:before {
  content: "\e904";
}
.icon-visit:before {
  content: "\e905";
}
.icon-lightbulb:before {
  content: "\e906";
}
.icon-2arrow:before {
  content: "\e900";
}


/*******************************************************************************
 ! ビジュアルエディタ使用時のスタイル設定・親設定変更
********************************************************************************/
/* btn */
.btn-4act.ilB {
	display: inline-block;
	padding: 0.5em 2em 0.5em;
	text-decoration: none;
	color: #fff;
	margin-bottom: 10px;
}

.btn-4act.ilB:hover { color: #fff;}
	.btn-request.ilB:hover{ background-color: #ffc043;}
	.btn-contact.ilB:hover{ background-color: #fba245;}
	.btn-visit.ilB:hover  { background-color: #f47346;}

.btn-4act.ilB::before {
	font-family: "icomoon";
	display: inline-block;
	vertical-align: bottom;
	font-weight: normal;
	font-size: 2.0rem;
	margin-right: 5px;
}
	.btn-request.ilB::before{ content: "\e902";}
	.btn-contact.ilB::before{ content: "\e901";}
	.btn-visit.ilB::before  { content: "\e905";}

/* readmore */
.readmore.ilB {
	position: relative;
	display: inline-block;
	padding: 0.5em;
	padding-left: 16px;
	text-decoration: none;
	color: #fff;
}
.readmore.ilB.bg_gray444 {
	background-color: #444;
}
	.readmore.ilB:hover, .readmore.ilB:focus {
		background-color: #00e000;
		color: #fff;
	}

/* box, waku */
.information::before,
.question::before,
.alert::before{
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.sp-success,
.article .bg_gray-ph,
.article .waku-01px,
.article .waku-06px,
.article .waku-dotted {
  padding:10px 12px;
  margin-bottom:20px;
  margin-top: 0;
}
	.sp-success {border-radius:0; border: none;}

/* badge */
.ref{
  color: #fff;
  padding: 2px 4px 1px;
  border-radius: 2px;
  font-size: 12px;
  vertical-align: top;
}

.ref-gray{ background-color: #9E9E9E;}
.ref-gray444{ background-color: #444;} /* = bg_gray444  */
.ref-red{ background-color: #e43a31;}
.ref-green{ background-color: #7bdb18;} /* = bg_news-letter */
.ref-yellow{background-color: #ffd700;} /* = bg_event */
.ref-pink{background-color: #fd7380;} /* = bg_information */
.ref-blue{background-color: #5a95c9;} /* = bg_column */