@charset 'UTF-8';
/*************
/* ＃main
*************/
#main {
	width: 100%;
	text-align: left;
	margin-top: 5px;
	margin-bottom: 30px;
	padding-top: 0%;
	padding-right: 0;
	padding-bottom: 0%;
	padding-left: 0;
}
#main2 {
	width: 100%;
	text-align: left;
	margin-top: 5px;
	margin-bottom: 30px;
	padding-top: 0%;
	padding-right: 0;
	padding-bottom: 0%;
	padding-left: 0;
}
@media screen and (max-width: 479px) {
	/* 479px以下用（タイトル改行）の記述 */
	#main {
		padding: 0%;
	}
	#main2 {
		padding: 0%;
	}
}
#main a:hover img {
	opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity = 50);
}
/*************
/* 見出し
*************/
#main h1,
#main2 h1,
#main3 h1 {
	font-size: 2.24rem;
	text-align: center;
	position: relative;
	margin-bottom: 5.6rem;
	clear: both;
	color: #95b319;
}
#main h1:after,
#main2 h1:after,
#main3 h1:after {
	content: "";
	width: 120px;
	height: 2px;
	background-color: #95b319;
	display: block;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	margin-top: 1.4rem;
}
#main h2 {
	font-size: 1.82rem;
	position: relative;
	margin-bottom: 3.5rem;
	clear: both;
	border-left: 5px solid #95b319;
	background-color: #fafafa;
	padding: 1.12rem;
	font-weight: bold;
	color: #95b319;
}
#main h3 {
	position: relative;
	margin: 0 0 2.1rem;
	padding: 1.12rem 1.68rem;
	background: #95b319;
	color: #fff;
	font-size: 1.68rem;
	font-weight: bold;
}
#main h3:after {
	position: absolute;
	bottom: -15px;
	left: 10%;
	z-index: 90;
	margin-left: -15px;
	border-top: 15px solid #95b319;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 0;
	content: "";
}
#main h4 {
	font-size: 1.68rem;
	margin-bottom: 20px;
	clear: both;
	font-weight: bold;
	border-bottom: solid 3px #cccccc;
	padding: 1.12rem 1.68rem;
	position: relative;
	color: #95b319;
}
#main h4::after {
	content: " ";
	display: block;
	position: absolute;
	left: 0;
	bottom: -3px;
	background-color: #95b319;
	width: 80px;
	height: 3px;
}
#main2 h2 {
	font-size: 1.4rem;
	position: relative;
	margin-bottom: 3.5rem;
	clear: both;
	border-left: 5px solid #95b319;
	background-color: #fafafa;
	padding: 1.12rem;
	font-weight: bold;
	color: #95b319;
}
#main2 h2 a {
	text-decoration: none;
	color: #95b319;
}
#main2 h3 {
	position: relative;
	margin: 0 0 2.1rem;
	padding: 1.12rem 1.68rem;
	background: #95b319;
	color: #fff;
	font-size: 1.68rem;
	font-weight: bold;
}
#main2 h3:after {
	position: absolute;
	bottom: -15px;
	left: 10%;
	z-index: 90;
	margin-left: -15px;
	border-top: 15px solid #95b319;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 0;
	content: "";
}
#main3 h2 {
	font-size: 1.4rem;
	position: relative;
	margin-bottom: 3.5rem;
	clear: both;
	border-left: 5px solid #95b319;
	background-color: #fafafa;
	padding: 1.12rem;
	font-weight: bold;
	color: #95b319;
}
#main3 h2 a {
	text-decoration: none;
	color: #95b319;
}
/*******************************
/* フォント
*******************************/
.t1 {
	font-size: 2.52rem;
	color: #a9d11e;
	font-weight: bold;
}
.t2 {
	font-size: 2.24rem;
	color: #a9d11e;
	font-weight: bold;
}
.t3 {
	font-size: 1.96rem;
	color: #a9d11e;
	font-weight: bold;
}
.t4 {
	font-size: 1.54rem;
	color: #a9d11e;
	font-weight: bold;
}
.txt-small {
	font-size: 1.12rem;
	color: #565656;
}
.txtmin {
	font-size: 1.68rem;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
		"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.marker {
	background: linear-gradient(transparent 60%, #ffdd00 40%);
}
/*---------------------------
テキスト・フォント装飾
---------------------------*/
.under {
	border-bottom: solid 1px #404040;
}
.tel {
	font-size: 2em;
	font-family: "Roboto", sans-serif;
}
menu,
ol,
ul {
	padding: 0 0 0 0px;
}
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
/*レスポンシブ揃え*/
@media screen and (min-width: 576px) {
	.txtmain {
		text-align: center;
	}
}
/* レスポンシブル対応
----------------------------------------------------------------------------------------------------*/
.responsible {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.responsible iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/* box
----------------------------------------------------------------------------------------------------*/
.border-box {
	width: 100%;
	height: auto;
	padding: 16px;
	border: 8px solid #eee;
	margin-bottom: 10px;
	box-sizing: border-box;
}
.border-box2 {
	width: 100%;
	height: auto;
	padding: 16px;
	border: 2px solid #ccc;
	margin-bottom: 10px;
}
/*color-box---------------*/
.yellow-box {
	width: 100%;
	height: auto;
	padding: 16px;
	background-color: #fff799;
	margin-bottom: 10px;
}
.Blue-box {
	width: 100%;
	height: auto;
	padding: 16px;
	background-color: #8ed6f9;
	margin-bottom: 10px;
}
.green-box {
	width: 100%;
	height: auto;
	padding: 16px;
	background-color: #bae0a8;
	margin-bottom: 10px;
}
.pink-box {
	width: 100%;
	height: auto;
	padding: 16px;
	background-color: #f8abae;
	margin-bottom: 10px;
}
.gray-box {
	width: 100%;
	height: auto;
	padding: 16px;
	background-color: #eeeeee;
	margin-bottom: 10px;
}
.gray-left-line {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	padding-top: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
	padding-left: 28px;
	border-left-width: 5px;
	border-left-style: solid;
	border-left-color: #eeeeee;
}
/*******************************
/* チェックボックス
***************************/
.pcheck {
	width: 100%;
	padding: 10px;
	background-image: url(../images/slash.gif);
	background-repeat: repeat;
}
.pcheck-box {
	padding: 20px;
	width: 100%;
	background-color: #fff;
}
/*******************************
/* ol number
***************************/
.number {
	list-style: none;
	counter-reset: circle 0;
	/* カウンターの初期値を０にセット */
	margin: 1em;
	padding: 0 0 0 3em;
}
.number > li {
	position: relative;
	line-height: 1.6;
	margin: 0 0 1em;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #ccc;
}
.number > li:before {
	position: absolute;
	top: -3px;
	left: -3em;
	width: 2em;
	height: 2em;
	background: #2d2d2d;
	content: "";
	display: block;
	border-radius: 50%;
	line-height: 1;
}
.number > li:after {
	content: counter(circle) ".";
	/* 表示形式を指定 */
	counter-increment: circle 1;
	/* カウンターの値を増加させる */
	display: block;
	color: #fff;
	position: absolute;
	top: 5px;
	left: -2.4em;
	line-height: 1;
}

/*---------------------------
画像の丸いリンク
---------------------------*/
.img_ling {
	border-radius: 50%;
	width: 280px;
	height: 280px;
}
/*---------------------------
hoverGray
---------------------------*/
.toGray {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	filter: grayscale(0%);
	transition: 0.5s;
}
.toGray:hover {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(1000%);
}
/* hover_ani */
.zoom {
	display: block;
	width: 100%;
	overflow: hidden;
}
a .zoom {
	margin: 0;
}
a .zoom img {
	width: 100%;
	height: auto;
	transition: 0.5s;
}
a:hover .zoom img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
/*---------------------------
button
---------------------------*/
/* bt_more */
.bt_more {
	width: 100%;
	text-align: center;
	max-width: 200px;
	position: relative;
}
.bt_more.bt_center {
	margin-right: auto;
	margin-left: auto;
}
.bt_more.bt_pcright {
	margin-right: auto;
	margin-left: auto;
}
.bt_more a {
	color: #000;
	text-decoration: none;
	display: block;
	text-align: center;
	padding: 15px 10px;
	font-family: "Roboto", sans-serif;
	position: relative;
	font-size: 1.12rem;
	letter-spacing: 0.042rem;
	transition: all 0.5s ease-in-out;
}
.bt_more a i {
	padding-right: 1.4rem;
}
.bt_more a:hover {
	text-decoration: none;
	color: #000;
}
.bt_border {
	position: absolute;
	background: none;
	transition: all 0.5s ease-in-out;
}
.bt_more > .bt_border:nth-of-type(1) {
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 1px solid #000;
}
.bt_more > .bt_border:nth-of-type(2) {
	top: 0;
	right: 0;
	width: 10px;
	height: 0;
	border-right: 1px solid #000;
}
.bt_more > .bt_border:nth-of-type(3) {
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-bottom: 1px solid #000;
}
.bt_more > .bt_border:nth-of-type(4) {
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-left: 1px solid #000;
}
.bt_more:hover .bt_border:nth-of-type(1) {
	width: 100%;
}
.bt_more:hover .bt_border:nth-of-type(2) {
	height: 100%;
}
.bt_more:hover .bt_border:nth-of-type(3) {
	width: 100%;
}
.bt_more:hover .bt_border:nth-of-type(4) {
	height: 100%;
}
@media screen and (min-width: 768px) {
	.bt_more {
		max-width: 250px;
	}
	.bt_more a {
		padding: 15px 10px;
		font-size: 1.4rem;
		letter-spacing: 0.168rem;
	}
	.bt_more.bt_pcright {
		margin-right: 0;
		margin-left: auto;
	}
}
/* bt_more end */

.bt_more2 {
	width: 100%;
	text-align: center;
	max-width: 350px;
	margin-right: auto;
	margin-left: auto;
}
.bt_more2 a {
	color: #000;
	text-decoration: none;
	display: block;
	background-color: #fff;
	text-align: center;
	padding: 15px 10px;
	border: 1px solid #fff;
	position: relative;
	font-size: 1.4rem;
	letter-spacing: 0.042rem;
	font-weight: bold;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.bt_more2 a:hover {
	text-decoration: none;
	color: #000;
	background-color: #c9caca;
	border: 1px solid #c9caca;
}
.bt_more2 a i {
	padding-right: 10px;
}
@media screen and (min-width: 1200px) {
	.bt_more2 {
		max-width: 380px;
	}
	.bt_more2 a {
		font-size: 1.68rem;
	}
}

/*inf-area*/
.inf-area {
	width: 100%;
	background-color: #a9d11e;
	margin-bottom: 2.1rem;
}
.inf-area a {
	color: #000;
	display: block;
	text-decoration: none;
	position: relative;
	background-color: #fff;
	-webkit-transform: translateX(-0.56rem) translateY(-0.56rem);
	transform: translateX(-0.56rem) translateY(-0.56rem);
	transition: 0.3s;
	text-align: center;
	font-size: 1.26rem;
	padding: 2.1rem 0.7rem;
}
.inf-area a span {
	font-family: "Roboto", sans-serif;
	display: block;
	font-weight: 700;
	font-size: 2.24rem;
	line-height: 1.3;
}
.inf-area a:hover {
	text-decoration: none;
	color: #000;
	-webkit-transform: translateX(0) translateY(0);
	transform: translateX(0) translateY(0);
}
@media screen and (min-width: 1200px) {
	.inf-area a {
		font-size: 1.4rem;
		padding: 3rem 0.7rem;
	}
	.inf-area a span {
		font-size: 2.8rem;
	}
}
/*inf-contact*/
.inf-contact {
	width: 100%;
	position: relative;
	margin-bottom: 0.7rem;
	padding-top: 1.4rem;
	max-width: 320px;
	margin-right: auto;
	margin-left: auto;
}
.inf-contact a {
	color: #a9d11e;
	border: 1px #fff solid;
	text-align: center;
	display: block;
	padding: 10px;
	text-decoration: none;
	background-color: #fff;
	font-size: 1.54rem;
	transition: 0.3s;
	font-weight: bold;
}
.inf-contact a i {
	padding-right: 1.12rem;
	font-size: 1.82rem;
}
.inf-contact a:hover {
	color: #fff;
	background-color: transparent;
	text-decoration: none;
}
@media screen and (min-width: 1200px) {
	.inf-contact a {
		font-size: 2.352rem;
	}
	.inf-contact a i {
		font-size: 1.4rem;
	}
}

/* page-button
----------------------------------------------------------------------------------------------------*/
.page-area {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-area a {
	color: #fff;
	text-decoration: none;
	display: block;
	background-color: #a9d11e;
	text-align: center;
	padding: 10px;
	font-size: 1.4rem;
	letter-spacing: 0.042rem;
	transition: 0.3s;
}
.page-area a:hover {
	color: #fff;
	text-decoration: none;
	background-color: #1a1a1a;
}
.page-more {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-more a {
	color: #fff;
	text-decoration: none;
	display: block;
	background-color: #1a1a1a;
	text-align: center;
	padding: 10px;
	font-size: 1.4rem;
	letter-spacing: 0.042rem;
	transition: 0.3s;
}
.page-more a:hover {
	color: #fff;
	text-decoration: none;
	background-color: #a9d11e;
}
.page-more2 {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-more2 a {
	color: #fff;
	text-decoration: none;
	display: block;
	background-color: #1a1a1a;
	text-align: center;
	padding: 10px;
	font-size: 1.4rem;
	letter-spacing: 0.042rem;
	transition: 0.3s;
	position: relative;
}
.page-more2 a:hover {
	color: #fff;
	text-decoration: none;
	background-color: #1a1a1a;
}
.page-more2 a::after {
	content: " ";
	display: block;
	position: absolute;
	width: 100%;
	height: 3px;
	bottom: 0;
	left: 0;
	background-color: #a9d11e;
	transition: 0.3s;
}
.page-more2 a:hover::after {
	width: 0;
	left: 50%;
}
/* Margin and Paddings 
----------------------------------------------------------------------------------------------------*/
.m10 {
	margin: 10px;
}
.m20 {
	margin: 20px;
}
.m40 {
	margin: 40px;
}
.m10-top {
	margin-top: 10px;
}
.m20-top {
	margin-top: 20px;
}
.m30-top {
	padding-top: 30px;
}
.m40-top {
	margin-top: 40px;
}
.m60-top {
	margin-top: 60px;
}
.m80-top {
	margin-top: 80px;
}
.m10-right {
	margin-right: 10px;
}
.m20-right {
	margin-right: 20px;
}
.m40-right {
	margin-right: 40px;
}
.m10-bottom {
	margin-bottom: 10px;
}
.m20-bottom {
	margin-bottom: 20px;
}
.m30-bottom {
	margin-bottom: 30px;
}
.m40-bottom {
	margin-bottom: 40px;
}
.m60-bottom {
	margin-bottom: 60px;
}
.m80-bottom {
	margin-bottom: 80px;
}
.m10-left {
	margin-left: 10px;
}
.m20-left {
	margin-left: 20px;
}

.m40-left {
	margin-left: 40px;
}
.p10 {
	padding: 10px;
}
.p20 {
	padding: 20px;
}
.p40 {
	padding: 40px;
}
.p10-top {
	padding-top: 10px;
}
.p20-top {
	padding-top: 20px;
}

.p40-top {
	padding-top: 40px;
}
.p10-right {
	padding-right: 10px;
}
.p20-right {
	padding-right: 20px;
}
.p40-right {
	padding-right: 40px;
}
.p10-bottom {
	padding-bottom: 10px;
}
.p20-bottom {
	padding-bottom: 20px;
}
.p40-bottom {
	padding-bottom: 40px;
}
.p60-bottom {
	padding-bottom: 60px;
}
.p10-left {
	padding-left: 10px;
}
.p20-left {
	padding-left: 20px;
}
.p40-left {
	padding-left: 40px;
}
