@charset "utf-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap);

.mt0 {
	margin-top: 0 !important;
}

.mt8 {
	margin-top: 8px;
}

.mt5 {
	margin-top: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.mr5 {
	margin-right: 5px
}

.mr10 {
	margin-right: 10px
}

.mr20 {
	margin-right: 20px
}

.mr30 {
	margin-right: 30px
}

.mr40 {
	margin-right: 40px
}

.mr50 {
	margin-right: 50px
}

.ml5 {
	margin-left: 5px
}

.ml10 {
	margin-left: 10px
}

.ml20 {
	margin-left: 20px
}

.ml30 {
	margin-left: 30px
}

.ml40 {
	margin-left: 40px
}

.ml50 {
	margin-left: 50px
}

.ml100 {
	margin-left: 100px
}

.mt80_30 {
	margin-top: 80px;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

.fc {
	clear: both;
}

.tc {
	text-align: center !important;
	margin: 0 auto !important;
}

body {
	font-family: 'Noto Sans JP', sans-serif, 'Noto Sans Japanese', 'メイリオ', Meiryo, 'Osaka', Osaka, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	width: 100%;
	letter-spacing: 1px;
	line-height: 1.5em;
	margin: 0;
}

* {
	color: #202022;
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
	color: #202022;
}

a:hover {
	cursor: pointer;
	filter: alpha(opacity=60);
	/* ie lt 8 */
	-ms-filter: "alpha(opacity=60)";
	/* ie 8 */
	-moz-opacity: 0.6;
	/* FF lt 1.5, Netscape */
	-khtml-opacity: 0.6;
	/* Safari 1.x */
	opacity: 0.6;
	zoom: 1;
}

li {
	list-style: none;
}

.sp_br {
	display: none;
}

h1 {
	margin: 0 !important;
}




.fc {
	clear: both;
}

header {
	position: relative;
	z-index: 9999 !important;
	background-color: #FFF;
	box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1) !important;
	-webkit-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1) !important;
	-moz-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1) !important;
	width: 100%;
	top: 0;
}



.nav_ue {
	height: 70px;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.SR {}

.SR h1 img {
	margin-top: 12.5px;
	height: 45px;
	margin-left: 15px;
}

.header_r {
	display: flex;
	align-items: center;
}

.head_tel {
	margin: 10px 15px 10px 0;
}

.head_tel a {
	display: block;
	margin: 5px 0 5px 0;
}

.head_tel a img {
	width: 250px;
}

.head_facebook a img {
	width: 50px;
	margin-right: 10px;
}

a.header_contact {
	background-color: #8fc31f;
	width: 150px;
	height: 60px;
	text-align: center;
	color: #FFF;
	font-size: 1em;
	padding: 5px 5px 0px;
	font-weight: bold;
	padding-top: 10px;
	webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

a.header_contact:hover {
	background-color: #1067AA;
	opacity: 1.0;
}

a.header_contact p {
	color: #FFF;
}

.pc_nav_btn {
	display: flex;
	margin-right: 15px;
	height: 70px;
	align-items: center;
}

.pc_nav_btn li {
	padding: 0 20px;
	font-size: 1.2em;
}

.pc_nav_btn li a {
	position: relative;
	display: inline-block;
	text-decoration: none;

}

.pc_nav_btn li a::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #8fc31f;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}

.pc_nav_btn li a:hover::after {
	bottom: -4px;
	opacity: 1;
	visibility: visible;
}

.pc_nav_btn li a:hover {
	opacity: 1.0;
	color: #8fc31f;
	transition: .3s;
}


.pc_nav_btn li:nth-child(1),
.pc_nav_btn li:nth-child(2) {
	border-right: 1px solid #333;
}

#sp_header {
	display: none !important;
}

.nav_box {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0 auto !important;
	text-align: center !important;
	z-index: 9999 !important;

}

.nav_box_2 {
	width: 100% !important;
	height: 50px;
	margin: 0 auto !important;
	text-align: center !important;
	z-index: 9999 !important;
}

.pc_none {
	display: none !important;
}

.button {
	display: inline-block;
	width: 100%;
	height: 45px;
	text-align: center;
	text-decoration: none;
	line-height: 45px;
	outline: none;
	margin-top: 10px !important;
	border-radius: 25px;
}

.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button {
	background-color: #333;
	color: #fff;
}

.button:hover {
	background-color: #006837;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#side_content {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 9999 !important;
}

.sentou {
	position: fixed;
	bottom: 30px;
	right: 30px;
	padding: 10px;
	z-index: 9999 !important;
	text-align: center;
	background-color: #8fc31f;
	border: 1px solid #FFF;
	color: #FFF;
	line-height: 1.2em;
	border-radius: 3px;
}

.sentou:hover {
	opacity: 1;
	background-color: #1067AA;
}

.sp_tab_none {
	display: block;
}

a.link_line {
	text-decoration: underline;
}

/*フッター
*/
footer {
	margin-top: 0;
}

.foot_contact {
	padding: 80px 0 0;
	background-color: #8fc31f;
}

.foot_contact h3 {
	font-size: 1.7em;
	color: #FFF;
}

.foot_contact p {
	color: #FFF;
}

.foot_baikyaku {
	margin: 30px 0;
}

.foot_baikyaku span {
	font-size: 1.3em;
	border-bottom: 1px solid #FFF;
	color: #FFF;
	line-height: 1.5em;
}

.foot_contact_box {
	margin: 50px auto 0px !important;
	text-align: center;
	color: #fff;
}

.foot_contact_box img {
	display: block;
	margin: 0px auto 0px;
	text-align: center;
}

.button_contact {
	display: inline-block;
	max-width: 500px;
	width: 100%;
	height: 70px;
	text-align: center;
	text-decoration: none;
	line-height: 70px;
	outline: none;
	font-size: 1.2em;
	transition: .3s;
}

.button_contact {
	border: 3px solid #FFF;
	color: #8fc31f;
	background-color: #FFF;
	line-height: 70px;
	border-radius: 3px;
}

.button_contact i {
	color: #8fc31f;
	margin-right: 15px;
	font-size: 1.3em;
	position: relative;
	top: 3px;
}

.button_contact:hover {
	border: 3px solid #FFF;
	background-color: #8fc31f;
	color: #FFF;
	opacity: 1;
}

.button_contact:hover i {
	color: #FFF;
}



footer {
	background-color: #F2F2F2;
	margin-bottom: 0;
	text-align: center;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 0 !important;
}

.foot_contact {
	position: relative;
	padding: 50px;
}

.foot_contact_boeder {
	margin: auto;
	width: 94%;
	height: 80%;
	display: block;
	border: 1px solid #FFF;
	border-radius: 3px;
	padding: 3% 3% 1%;
}

.foot_contact_box {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top: 30px !important;
}

.container_foot {
	max-width: 1200px;
	width: 92%;
	margin: 0 auto;
	padding: 10px 0;
}

.foot_contact_l {
	width: 50%;
	margin: 10px 0;
}

.foot_contact_l img {
	width: 70%;
	margin: 10px auto 20px;
}

.foot_contact_r {
	width: 50%;
}


.footer-bottom-wrapper {
	position: relative;
}

.footer_info {
	padding: 70px 0;
	text-align: center;
}

.foot_info img {
	margin-bottom: 20px;
	width: 400px;
}

.foot_link ul {
	display: flex;
	justify-content: center;
	background-color: #2F3638;
}

.foot_link ul li {
	padding: 15px 0;
}

.foot_link ul li a {
	color: #FFF;
	padding: 0 20px;
	border-right: 1px solid #FFF;
}

.foot_link ul li:last-child a {
	border-right: none;
}

.foot_privacy {
	margin: 20px 0;
	font-size: 0.8em;
	display: block;
	color: #8fc31f;
	text-decoration: #8fc31f underline;
}

.copy {
	padding: 0;
	position: relative;
}

p.copy {
	text-align: center;
	font-size: 0.8em;
	padding: 5px 0;
	margin: 0;
}

/* safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {}

@media screen and (max-width: 1200px) {

	.nav_box_2 ul li {
		font-size: 0.8em;
	}

	.nav_box_2 ul li ul li {
		font-size: 1em;
	}

	#gnav>ul>li>a {
		padding: 10px 2em 10px;
	}


}

@media screen and (max-width: 1000px) {
	.header-shita ul li img {
		width: 70%;
	}



	.foot_contact {
		padding: 2%;
	}

	.foot_contact_boeder {
		padding-top: 30px;
	}

	.foot_contact_box {
		flex-direction: column !important;
		padding: 20px 0 !important;
		margin: 20px auto !important;
		text-align: center !important;
	}

	.container_foot {
		width: 92%;
	}

	.foot_contact_l {
		border-right: none;
		width: 100%;
	}

	.foot_contact_r {
		width: 100%;
	}

	.footer_info {
		flex-direction: column;
		padding: 30px 0;
	}

	.footer_info div {
		text-align: center;
		margin-top: 20px;
		padding-bottom: 20px;
		width: 100%;
	}

	.footer_info div img {
		margin: 0 auto 30px;
	}

	.footer_info p {
		font-size: 0.8em;
	}

	.foot_link ul li {
		font-size: 0.8em;
	}




}

@media screen and (max-width: 970px) {
	.SR {
		width: 35%;
	}

	.SR img {
		width: 100%;
	}

	.header_r {
		width: 60%;
	}

	.head_tel {
		width: 60%;
	}

	a.header_contact {
		width: 30%;
	}
}

@media screen and (max-width: 830px) {

	.sp_tab_none {
		display: none !important;
	}

	.button_contact {
		width: 100%;
		margin-top: 30px;
		font-size: 1em;
		height: 50px;
		line-height: 50px;
	}

	.footer_ue ul {
		flex-wrap: wrap;
		margin: 0 auto;
		justify-content: flex-start;
	}

	.footer_ue ul li {
		width: 33%;
		text-align: left;
	}

	.footer_ue ul li ul li {
		width: 100%;
	}

	.foot_link ul li a {
		font-size: 0.8em;
		padding: 0 10px;
	}

}

@media screen and (max-width: 1250px) {

	#sp_header {
		height: 50px;
		z-index: 99999 !important;
		display: block !important;
		position: fixed;
		width: 100%;
		background-color: #FFF;
		z-index: 99999 !important;
		box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
		-moz-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
	}

	#sp_header h1 img {
		height: 40px !important;
		padding-left: 5px;
	}

	.sp_header_bar {
		position: relative;
		display: flex;
	}

	.sp_header_bar #menu-bt {
		position: absolute;
		right: 0;
		/* 右寄せ */
		width: 40px;
		padding: 5px 5px 0 0;
	}

	.wrapper {
		padding-top: 50px;
	}

	/* メニュー全体 */
	#menu {
		position: absolute;
		top: 50px;
		width: 100%;
		display: none;
		border-bottom: 5px solid #2F3638;
		background-color: #2F3638;
		box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
		-moz-box-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.1);
		z-index: 99998 !important;
	}

	#menu li a {
		display: block !important;
	}

	#menu li {
		width: 100%;
		background-color: #2F3638;
	}

	/* 閉じた状態のサブメニュー */
	#menu ul {
		overflow: hidden;
		line-height: 0;
		padding: 0;
		transition: 0.2s;
		/* 下記は開閉によらず共通の設定 */
		list-style: none;
		margin: 0;
	}

	/* 親項目の装飾 */
	#menu ul li {
		margin: 0;
		padding: 1rem 0.5rem;
		color: #FFF;
		border-bottom: 1px solid #555E60;
	}

	#menu li a {
		color: #FFF;
	}

	#menu li i {
		color: #FFF;
		margin-right: 10px;
	}

	.sp_nav_foot {
		margin: 20px auto 10px;
		text-align: center;
	}


	.nav_ue {
		display: none !important
	}

	.header-shita ul li img {
		width: 80%;
	}

	.nav_box {
		display: none !important;
	}

	.sp_none {
		display: none !important;
	}

	.pc_none {
		display: block !important;
	}

	.sp_br {
		display: block;
	}

	.sp_top_yohaku {
		padding-top: 50px;
	}

	.footer_link ul li a {
		font-size: 0.8em;
	}

	.footer_contents img {
		width: 94%;
	}

	.footer_contents {
		width: 96%;
		margin-left: 2%;
		margin: 0 auto !important;
		text-align: center !important;
		padding: 10px 0;
	}

	.fot_nav p {
		display: none;
	}

	.mt80_30 {
		margin-top: 30px;
	}



	.footer_ue ul {
		margin-left: 4%;
		justify-content: space-between;
	}

	.footer_ue ul li {
		width: 47%;
		text-align: left;
		font-size: 0.8em;
	}

	.sentou {
		bottom: 5px;
		right: 5px;
		padding: 7px;
		font-size: 0.9em;
	}

}

@media screen and (max-width: 480px) {
	#sp_header h1 img {
		height: 28px !important;
		margin-top: 7px;
	}

	.foot_contact p {
		font-size: 0.9em;
	}

	.foot_info img {
		width: 250px;
	}
}

@media screen and (max-width: 320px) {

	.foot_contact p {
		font-size: 0.8em;
	}
}