@charset "utf-8";


/*********************
	reset
*********************/

html,body,
h1,h2,h3,h4,h5,h6,
div,p,span,
ul,li,ol,dl,dt,dd,
pre,code,
form,fieldset,legend,input,textarea,
blockquote,th,td,
address,caption,cite,code,dfn,em,strong,var {
	margin: 0;
	padding: 0;
	line-height:normal;
}

h1,h2,h3,h4,h5,h6,
address,caption,cite,code,dfn,em,strong,dt,th,var {
	font-style: normal;
	font-weight: normal;
}

li {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

br {
	letter-spacing: 0;
}

a {
	color:#333;
	text-decoration:none;
}
a img{
	border-style:none;
}
img{
	border-style:none;
	vertical-align:bottom;
}
a:hover img{
	opacity:0.7;
	transition:.2s;
}

body{
	min-width:320px;
}



/*********************
	font
*********************/
html{
	font-size:100%;	/* 16px */
}
body {
	/* font-family:'Noto Sans JP', "Hiragino Kaku Gothic ProN","Hiragino Sans", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	font-family:"メイリオ", 'Noto Sans JP', "Hiragino Kaku Gothic ProN","Hiragino Sans", Osaka, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1rem;	/* 16px */
	color:#333;
	-webkit-text-size-adjust:100%;
}
@media screen and (max-width: 750px){

}

/*********************
	clearfix
*********************/

.clfix:after {
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}



/*********************
	view
*********************/

.pc_view{
	display:block !important;
}
.sp_view{
	display:none !important;
}
@media screen and (max-width: 750px){
	.pc_view{
		display:none !important;
	}
	.sp_view{
		display:block !important;
	}

}

/*********************
	img
*********************/

* img {
	width:100%;
	}


/*********************
	form
*********************/
input[type=text],
input[type=textarea],
input[type=search],
input[type=submit],
input[type=checkbox]{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}
select::-ms-expand{
	display:none;
}

/*********************
	電話リンクPC無効
*********************/
@media screen and (min-width: 751px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none !important;
		color: inherit !important;
	}
}

/*********************
	.ov_hidden
*********************/

/* スクロール位置でメニュー表示背景固定 */
.ov_hidden{
	height:100%;
	overflow:hidden;
}

/*********************
	header
*********************/
header{
	width:100%;
	background:#fff;
	margin:0 auto;
	position:fixed;
	top:0;
	left:0;
	z-index:10;
}
.header_wrap{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding-top:10px;
	display:flex;
	justify-content:space-between;
}
h1{
	width:60%;
	max-width:350px;
	padding-left:10px;
	box-sizing:border-box;
}
.fnc_wrap{
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	padding:5px 10px;
}
.fnc_wrap .fnc_top{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	margin-bottom:10px;
}
.fnc_wrap .fnc_top .txt_link_box{
	margin-bottom:10px;
}

.fnc_wrap .fnc_top .txt_link{
	text-decoration:underline;
	margin-right:15px;
}
.fnc_wrap .fnc_top .txt_link:hover{
	text-decoration:none;
}

.fnc_wrap .fnc_top .searchBox__form{
	display:flex;
	border:1px solid #333;
	border-radius:5px;
}
.fnc_wrap .fnc_top .searchBox .searchBox__input{
	width:200px;
	padding:5px 5px;
	box-sizing:border-box;
	font-size:0.75rem;
}
.fnc_wrap .fnc_top .searchBox .searchBox__submit{
	width:60px;
	background:#018838;
	color:#fff;
	border-radius:0 5px 5px 0;
	padding:4px 0;
	font-size:0.75rem;
	cursor:pointer;
}
.fnc_wrap .txt_fnc_box{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items: center;
}
.fnc_wrap .txt_fnc_box .ttl{
	margin-right:10px;
}
.fnc_wrap .txt_fnc_box .btn{
	display:inline-block;
	min-width:3em;
	margin-left:5px;
	padding:5px 0;
	font-size:0.75rem;
	color:#018838;
	font-weight:bold;
	text-align:center;
	border:1px solid #018838;
	box-sizing:border-box;
	caret-color: transparent;
}
.fnc_wrap .txt_fnc_box .btn:hover{
	cursor:pointer;
}
.fnc_wrap .txt_fnc_box .btn.active{
	background:#018838;
	color:#fff;
}


.gnav_box{
	width:100%;
	max-width:1240px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	gap:0 15px;
	padding:0 20px;
	box-sizing:border-box;
}

.gnav_box .nav_0 a{
	display:inline-block;
	font-size:1.125rem;
	font-weight:bold;
	padding:3px 0;
	border-bottom:3px solid #fff;
}
.gnav_box .nav_0 a:hover{
	border-bottom:3px solid #018838;
}
.gnav_box li span{
	display:inline-block;
	font-size:1.125rem;
	font-weight:bold;
	position:relative;
	padding:3px 20px 3px 0;
	border-bottom:3px solid #fff;
}
.gnav_box li span.hover{
	cursor:pointer;
	border-bottom:3px solid #018838;
	transition:.2s;
}
.gnav_box li span:after{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-bottom:3px solid #666;
	border-right:3px solid #666;
	transform:rotate(-315deg);
	position:absolute;
	top:0;
	bottom:0;
	right:2px;
	margin:auto 0;
}
.gnav_box li span:hover:after{
	border-bottom:3px solid #018838;
	border-right:3px solid #018838;
	transition:.2s;
}
.nav_link_box{
	display:none;
	background:#fff;
	width:100%;
	position:absolute;
	top:100%;
	left:0;
	right:0;
	margin:0 auto;
	z-index:3;
	
}

.nav_wrap{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:20px 60px;
	box-sizing:border-box;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	overflow-y:auto;
}

.nav_wrap .ttl{
	width:100%;
	margin:0 auto 20px;
	font-size:1.375rem;
	font-weight:bold;
}
.nav_wrap .ttl a:hover{
	color:#018838;
	transition:.2s;
}
.nav_wrap ul{
	width:49%;
}
.nav_wrap li{
	width:100%;
	margin:0 auto;
	font-size:1.25rem;
}
.nav_wrap li a{
	display:block;
	width:100%;
	padding:15px 10px 15px 25px;
	box-sizing:border-box;
	position:relative;
}
.nav_wrap li a:before{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-bottom:3px solid #666;
	border-right:3px solid #666;
	transform:rotate(-45deg);
	position:absolute;
	top:0;
	bottom:0;
	left:5px;
	margin:auto 0;
}
.nav_wrap li a:hover{
	color:#018838;
	background:#FDFAEF;;
	transition:.2s;
}
.nav_wrap li a:hover:before{
	border-bottom:3px solid #018838;
	border-right:3px solid #018838;
	transition:.2s;
}

.sp_menu_wrap{
	display:none;
}

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

	.fnc_wrap{
		display:none;
	}
	.header_wrap{
		align-items:center;
	}
	h1{
		width:calc(100% - 80px);
		max-width:400px;
	}
	.gnav_box{
		display:none;
	}
	.menu_btn{
		width:60px;
		height:60px;
		margin-right:10px;
		margin-bottom:10px;
	}
	.menu_btn li:hover{
		cursor:pointer;
	}
	.menu_close_btn{
		display:none;
	}
	.menu_btn.active .menu_open_btn{
		display:none;
	}
	.menu_btn.active .menu_close_btn{
		display:block;
	}
	.sp_menu_wrap{
		display:none;
		width:100%;
		margin:0 auto;
		background:#018838;
		padding:30px 20px;
		box-sizing:border-box;
		overflow-y:auto;
	}
	.sp_menu_wrap .searchBox{
		width:100%;
		margin:0 auto 20px;
	}

	.sp_menu_wrap .searchBox__form{
		border:1px solid #333;
		display:flex;
		border-radius:8px;
	}
	.sp_menu_wrap .searchBox .searchBox__input{
		width:calc(100% - 60px);
		padding:10px 10px;
		box-sizing:border-box;
		border-radius:5px 0 0 5px;
		background:#fff;
	}
	.sp_menu_wrap .searchBox .searchBox__submit{
		width:60px;
		background:#F2C84B;
		padding:6px 0;
		border-radius:0 5px 5px 0;
		border-left:1px solid #333;
		box-sizing:border-box;
		cursor:pointer;
	}
	.sp_menu_wrap .menu_list{
		width: 100%;
		margin:0 auto 30px;
		color:#fff;
	}
	.sp_menu_wrap .menu_list li{
		width: 100%;
		margin:0 auto;
	}
	.sp_menu_wrap .menu_list li {
		width: 100%;
		margin:0 auto;
	}
	.sp_menu_wrap .menu_list li.nav_0 a {
		display:block;
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 15px;
		box-sizing:border-box;
		border-bottom:1px dotted #fff;
		color:#fff;
		position:relative;
		background:#018838;
	}
	.sp_menu_wrap .menu_list li.nav_0 a:after{
		display:block;
		content:"";
		width:8px;
		height:8px;
		border-bottom:2px solid #fff;
		border-right:2px solid #fff;
		transform:rotate(-45deg);
		position:absolute;
		top:0;
		bottom:0;
		right:13px;
		margin:auto 0;
	}
	.sp_menu_wrap .menu_list li.active {
		background:#679F42;
	}
	.sp_menu_wrap .menu_list li .btn_sp_down {
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 15px;
		box-sizing:border-box;
		border-bottom:1px dotted #fff;
		color:#fff;
		position:relative;
		cursor:pointer;
	}
	.sp_menu_wrap .menu_list li .btn_sp_down:after{
		display:block;
		content:"";
		width:14px;
		height:2px;
		background:#fff;
		position:absolute;
		top:0;
		bottom:0;
		right:10px;
		margin:auto 0;
	}
	.sp_menu_wrap .menu_list li .btn_sp_down:before{
		display:block;
		content:"";
		width:14px;
		height:2px;
		background:#fff;
		rotate:90deg;
		transition: 0.3s;
		position:absolute;
		top:0;
		bottom:0;
		right:10px;
		margin:auto 0;
	}
	.sp_menu_wrap .menu_list li.active .btn_sp_down:before{
		rotate:180deg;
	}
	.sp_menu_wrap .menu_list .low_box a {
		display:block;
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 20px;
		box-sizing:border-box;
		border-bottom:1px dotted #333;
		color:#333;
		position:relative;
		background:#fff;
	}
	.sp_menu_wrap .menu_list li .low_box{
		display:none;
	}
	.sp_menu_wrap .menu_list .low_box a:after{
		display:block;
		content:"";
		width:8px;
		height:8px;
		border-bottom:2px solid #666;
		border-right:2px solid #666;
		transform:rotate(-45deg);
		position:absolute;
		top:0;
		bottom:0;
		right:13px;
		margin:auto 0;
	}

	.sp_menu_wrap .txt_fnc_box{
		width:100%;
		margin:0 auto 30px;
		display:flex;
		align-items: center;
	}
	.sp_menu_wrap .txt_fnc_box .ttl{
		margin-right:10px;
		color:#fff;
	}
	.sp_menu_wrap .txt_fnc_box .btn{
		display:inline-block;
		min-width:3em;
		margin-left:5px;
		padding:5px 0;
		background:#018838;
		color:#fff;
		font-weight:bold;
		text-align:center;
		border:1px solid #fff;
		box-sizing:border-box;
		caret-color: transparent;
	}
	.sp_menu_wrap .txt_fnc_box .btn.active{
		background:#679F42;
	}

	.sp_menu_wrap .fnc_top{
		width:100%;
		margin:0 auto;
	}
	.sp_menu_wrap .fnc_top .txt_link_box{
		width:100%;
		margin:0 auto 20px;
	}
	
	.sp_menu_wrap .fnc_top .txt_link{
		text-decoration:underline;
		color:#fff;
	}
	
}





/*********************
	footer
*********************/
footer{
	width:100%;
	margin:0 auto;
	background:#FDFAEF;
}
.footer_wrap{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:40px;
	box-sizing:border-box;
	font-size:1rem;
}
.footer_link_wrap{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.sp_footer_wrap{
	display:none;
}
.footer_link_wrap .footer_link_box{
	width:31%;
	margin-bottom:30px;
	position:relative;
}


.footer_link_wrap .footer_link_box ul{
	width:100%;
	margin:0 auto 40px;
}
.footer_link_wrap .footer_link_box li{
	width:100%;
	margin:0 auto 15px;
	padding-left:1em;
	box-sizing:border-box;
}
.footer_link_wrap .footer_link_box li a:hover{
	color:#018838;
}
.footer_link_wrap .footer_link_box .ttl{
	padding-left:0;
}
.footer_link_wrap .footer_link_box .ttl a{
	color:#018838;
	font-weight:bold;
	font-size:1.125rem;
	border-bottom:2px solid #FDFAEF;
}
.footer_link_wrap .footer_link_box .ttl a:hover{
	border-bottom:2px solid #018838;
}
.footer_link_wrap .footer_link_box .add_box{
	width:100%;
	position:absolute;
	bottom:0;
	right:0;
}
.footer_link_wrap .footer_link_box .add_box .logo{
	width:100%;
	margin:0 auto 10px;
	padding:0;
}
.footer_link_wrap .footer_link_box .add_box .txt{
	width:100%;
	margin:0 auto;
	padding-left:8%;
	box-sizing:border-box;
	line-height:1.8;
}
.footer_link_wrap .footer_link_box .add_box .tel{
	width:100%;
	margin:0 auto;
	padding-left:8%;
	box-sizing:border-box;
	line-height:1.8;
}
.footer_btm_link{
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content:center;
	gap:0 30px;
}
.footer_btm_link a{
	color:#018838;
	font-weight:bold;
	border-bottom:2px solid #FDFAEF;
}
.footer_btm_link a:hover{
	border-bottom:2px solid #018838;
}
footer .copy{
	width:100%;
	margin:0 auto;
	text-align:center;
	color:#fff;
	background:#018838;
	padding:10px 0;
}

@media screen and (max-width: 750px){
	.footer_wrap{
		padding:20px 20px 10px;
	}
	.footer_link_wrap{
		display:none;
	}
	.sp_footer_wrap{
		display:block;
	}
	.sp_footer_wrap .menu_list{
		width: 100%;
		margin:0 auto 30px;
		color:#fff;
	}
	.sp_footer_wrap .menu_list li{
		width: 100%;
		margin:0 auto;
	}
	.sp_footer_wrap .menu_list li {
		width: 100%;
		margin:0 auto;
	}
	.sp_footer_wrap .menu_list li.nav_0 a {
		display:block;
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 15px;
		box-sizing:border-box;
		border-bottom:1px dotted #333;
		color:#018838;
		position:relative;
	}
	.sp_footer_wrap .menu_list li.nav_0 a:after{
		display:block;
		content:"";
		width:8px;
		height:8px;
		border-bottom:2px solid #018838;
		border-right:2px solid #018838;
		transform:rotate(-45deg);
		position:absolute;
		top:0;
		bottom:0;
		right:13px;
		margin:auto 0;
	}
	.sp_footer_wrap .menu_list li.active {
		background:#018838;
		
	}
	.sp_footer_wrap .menu_list li .btn_sp_down {
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 15px;
		box-sizing:border-box;
		border-bottom:1px dotted #333;
		color:#018838;
		position:relative;
		cursor:pointer;
	}
	.sp_footer_wrap .menu_list li.active .btn_sp_down {
		color:#fff;
	}
	.sp_footer_wrap .menu_list li .btn_sp_down:after{
		display:block;
		content:"";
		width:14px;
		height:2px;
		background:#018838;
		position:absolute;
		top:0;
		bottom:0;
		right:10px;
		margin:auto 0;
	}
	.sp_footer_wrap .menu_list li .btn_sp_down:before{
		display:block;
		content:"";
		width:14px;
		height:2px;
		background:#018838;
		rotate:90deg;
		transition: 0.3s;
		position:absolute;
		top:0;
		bottom:0;
		right:10px;
		margin:auto 0;
	}
	.sp_footer_wrap .menu_list li.active .btn_sp_down:before{
		rotate:180deg;
		background:#fff;
	}
	.sp_footer_wrap .menu_list li.active .btn_sp_down:after{
		background:#fff;
	}
	.sp_footer_wrap .menu_list .low_box a {
		display:block;
		width: 100%;
		margin:0 auto;
		padding:10px 25px 15px 20px;
		box-sizing:border-box;
		border-bottom:1px dotted #333;
		color:#333;
		position:relative;
		background:#FDFAEF;
	}
	.sp_footer_wrap .menu_list li .low_box{
		display:none;
	}
	.sp_footer_wrap .menu_list .low_box a:after{
		display:block;
		content:"";
		width:8px;
		height:8px;
		border-bottom:2px solid #666;
		border-right:2px solid #666;
		transform:rotate(-45deg);
		position:absolute;
		top:0;
		bottom:0;
		right:13px;
		margin:auto 0;
	}
	.add_box{
		margin:0 auto 20px;
	}
	.add_box .logo{
		margin:0 auto 10px;
	}
	.add_box .txt{
		padding-left:5%;
		box-sizing:border-box;
		line-height:1.8rem;
	}
	.add_box .tel{
		padding-left:5%;
		box-sizing:border-box;
		line-height:1.8rem;
	}
	.footer_btm_link{
		width:100%;
		margin:0 auto 30px;
		gap:0;
		justify-content: space-between;
	}
	.footer_btm_link a{
		font-weight:normal;
		border-bottom:0;
		font-size:0.875rem;
	}
	.footer_btm_link a:hover{
		border-bottom:0;
	}
	footer .copy{
		width:100%;
		color:#fff;
		background:#018838;
		padding:10px 0;
		font-size:0.875rem;
	}

}

/*********************
.pankuzu
*********************/

.pankuzu{
	width:100%;
	margin:0 auto 30px;
	font-size:0;
	padding-top:50px;
}
.pankuzu li{
	display:inline-block;
	font-size:0.875rem;
	margin-right:10px;
	margin-bottom:10px;
}
.pankuzu li:last-child{
	margin-right:0;
}
.pankuzu li a{
	display:block;
	width:100%;
	position:relative;
	padding-right:1em;
	box-sizing:border-box;
	text-decoration: underline;
}
.pankuzu li a:hover{
	text-decoration:none;
}
.pankuzu li a:after{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-bottom:1px solid #333;
	border-right:1px solid #333;
	transform:rotate(-45deg);
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

@media screen and (max-width: 750px){
	.pankuzu{
		padding-top:20px;
		margin:0 auto 20px;
	}
}

/*********************
	装飾
*********************/
.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.red{
	color:#cc0000;
}
.green{
	color:#018838;
}