@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho&subset=japanese");
body {
	margin: 0;
	padding: 0;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 2;
	color: #333333;
	background: #ffffff;
}

a {
	word-wrap: break-word;
}

a:link {
	color: #359f44;
	text-decoration: underline;
}

a:visited {
	color: #359f44;
	text-decoration: underline;
}

a:hover {
	color: #ff4f4f;
	text-decoration: none;
}

a:active {
	color: #ff4f4f;
	text-decoration: none;
}

a img {
	border: none;
}

#area_map {
	border: none;
}

#Map {
	border: none;
}

img {
	max-width: 100%;
}

area {
	outline: none;
	border: none;
}

p {
	margin: 1em 0;
}

@media only screen and (max-width: 767px) {
	p {
		margin: 1em 5px;
	}
}

hr {
	border: 0;
	border-top: 1px solid #cccccc;
	border-collapse: collapse;
}

.alignLeft {
	text-align: left;
}

.alignCenter {
	text-align: center;
}

.alignRight {
	text-align: right;
}

.caution {
	color: #ff3300;
}

.notice {
	color: #17930e;
}

.clear {
	clear: both;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.bold {
	font-weight: 400;
}

.sans-serif {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

iframe {
	width: 100%;
	border: none;
	position: relative;
}

@media only screen and (min-width: 768px) {
	.pc_none {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.sp_none {
		display: none !important;
	}
}

.root {
	overflow: hidden;
	min-width: 960px;
}

@media only screen and (max-width: 767px) {
	.root {
		min-width: 320px;
		padding-top: 50px;
	}
}

/*** header ***/
header {
	position: relative;
	padding: 37px 0 7px;
	width: 960px;
	margin: auto;
	display: flex;
	align-items: flex-end;
}

@media only screen and (max-width: 767px) {
	header {
		position: fixed;
		top: 0;
		width: 100%;
		padding: 0;
		margin: 0;
		z-index: 530000;
		background: #ffffff;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	}
}

header h1 {
	margin: 0;
	padding: 5px 5px;
	width: 200px;
}

@media only screen and (max-width: 767px) {
	header h1 {
		padding: 7px;
	}
}

header h1 img {
	display: block;
}

@media only screen and (max-width: 767px) {
	header h1 img {
		height: 36px;
	}
}

header .hmenu {
	display: flex;
	margin: 0 0 0 auto;
	align-items: flex-end;
}

@media only screen and (max-width: 767px) {
	header .hmenu {
		display: none;
	}
}

.header_fontsize {
	padding: 0;
	display: flex;
}

.header_fontsize .fontsize_title {
	height: 24px;
	padding: 0;
}

.header_fontsize img {
	display: block;
}

.header_fontsize ul {
	display: flex;
	margin: 0;
	padding: 0;
	height: 24px;
	list-style-type: none;
	border: 1px solid #bfbfbf;
}

.header_fontsize li {
	margin: 0;
	padding: 0;
	height: 24px;
	width: 40px;
}

.header_fontsize li a {
	display: block;
	height: 24px;
	width: 40px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	text-decoration: none;
	background: url(../img/header_fontsize_btn.png);
}

.header_fontsize li.fontsize-m a {
	background-position: 0 0;
}

.header_fontsize li.fontsize-m a:hover, .header_fontsize li.fontsize-m a:active {
	background-color: #000000;
	background-position: 0 24px;
}

.header_fontsize li.fontsize-l a {
	background-position: -40px 0;
}

.header_fontsize li.fontsize-l a:hover, .header_fontsize li.fontsize-l a:active {
	background-color: #000000;
	background-position: -40px 24px;
}

.header_search {
	width: 150px;
	margin-left: 10px;
	background: #ffffff;
	border: 1px solid #bfbfbf;
}

.header_search > div {
	display: flex;
}

.header_search .searchBtn {
	display: block;
	height: 24px;
	width: 24px;
}

.header_search .searchBox {
	display: block;
	width: 126px;
	height: 24px;
	line-height: 24px;
	box-sizing: border-box;
	padding: 0 5px 0;
	margin: 0;
	border: 0;
	background: transparent;
}

.hnav {
	margin: 0 0 0 5px;
	padding: 0;
	list-style-type: none;
	display: flex;
	align-items: flex-end;
}

.hnav li {
	margin: 0;
	padding: 0 0 0 5px;
}

.hnav li a {
	display: block;
}

.hnav li a img {
	display: block;
}

#header_menubtn {
	display: none;
}

@media only screen and (max-width: 767px) {
	#header_menubtn {
		display: block;
		width: 20px;
		height: 24px;
		position: absolute;
		right: 0;
		top: 0;
		padding: 13px 15px;
	}
	#header_menubtn > span {
		transition: all .4s;
		box-sizing: border-box;
		display: block;
		width: 20px;
		height: 24px;
		margin-top: 5px;
		position: relative;
	}
	#header_menubtn > span span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #6ea676;
		border-radius: 2px;
	}
	#header_menubtn > span span:nth-of-type(1) {
		top: 0;
	}
	#header_menubtn > span span:nth-of-type(2) {
		top: 6px;
	}
	#header_menubtn > span span:nth-of-type(3) {
		top: 12px;
	}
	#header_menubtn:hover > span span, #header_menubtn:active > span span {
		background-color: #206729;
	}
	#header_menubtn:hover > span span:nth-of-type(1), #header_menubtn:active > span span:nth-of-type(1) {
		transform: translate3d(5px, 2px, 0) rotate(45deg) scale(0.7, 1);
	}
	#header_menubtn:hover > span span:nth-of-type(3), #header_menubtn:active > span span:nth-of-type(3) {
		transform: translate3d(5px, -2px, 0) rotate(-45deg) scale(0.7, 1);
	}
}

.sp_header {
	transition: 0.2s all;
	position: fixed;
	width: 100%;
	min-width: 320px;
	top: 0;
	background: #ffffff;
	z-index: 100;
}

@media only screen and (min-width: 768px) {
	.sp_header {
		display: none;
	}
}

.sp_header .sp_header_title {
	transition: 0.2s all;
	display: block;
	position: relative;
	margin: 5px auto 5px 5px;
	padding: 0;
	width: 250px;
	box-sizing: border-box;
	z-index: 3;
}

.sp_header .sp_header_title a {
	transition: 0.2s all;
	display: block;
	height: 60px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 200%;
	background: url(../img/header_logo.png) 50% 50% no-repeat;
	background-size: contain;
}

.sp_header a.header_menu_btn {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 0;
	height: 0;
	padding: 35px 35px;
	background-size: contain;
	background: #ffffff;
	transition: 0.2s all;
}

.sp_header a.header_menu_btn > span {
	transition: all .4s;
	box-sizing: border-box;
	display: block;
	width: 20px;
	position: relative;
}

.sp_header a.header_menu_btn > span span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	left: -10px;
	width: 100%;
	height: 2px;
	background-color: #333333;
}

.sp_header a.header_menu_btn > span span:nth-of-type(1) {
	top: -6px;
}

.sp_header a.header_menu_btn > span span:nth-of-type(2) {
	top: -1px;
}

.sp_header a.header_menu_btn > span span:nth-of-type(3) {
	top: 4px;
}

.sp_header a.header_menu_btn:hover > span span:nth-of-type(1), .sp_header a.header_menu_btn:active > span span:nth-of-type(1) {
	transform: translate3d(1px, -1px, 0) rotate(45deg) scale(0.6, 1);
}

.sp_header a.header_menu_btn:hover > span span:nth-of-type(2), .sp_header a.header_menu_btn:active > span span:nth-of-type(2) {
	transform: translate3d(1px, 1px, 0) rotate(135deg) scale(0.6, 1);
}

.sp_header a.header_menu_btn:hover > span span:nth-of-type(3), .sp_header a.header_menu_btn:active > span span:nth-of-type(3) {
	transform: translate3d(1px, -11px, 0) rotate(225deg) scale(0.6, 1);
}

.sp_header.active {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.sp_header.active .sp_header_title {
	width: 180px;
}

.sp_header.active .sp_header_title a {
	height: 50px;
}

.sp_header.active a.header_menu_btn {
	padding: 30px;
}

.mm-menu {
	z-index: 100;
}

.mm-menu .mm-breadcrumbs {
	text-align: center;
}

.mm-menu a {
	text-decoration: none;
}

nav.gnav {
	width: 960px;
	margin: 0 auto 20px;
}

@media only screen and (max-width: 767px) {
	nav.gnav {
		display: none;
		width: auto;
	}
}

nav.gnav > ul {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	justify-content: center;
}

@media only screen and (max-width: 767px) {
	nav.gnav > ul {
		width: auto;
	}
}

nav.gnav > ul > li {
	padding: 10px;
	box-sizing: border-box;
	position: relative;
}

nav.gnav > ul > li.active {
	background-color: #faf8e7;
}

nav.gnav > ul > li > a {
	display: block;
	text-decoration: none;
	position: relative;
	border-bottom: 2px solid #cce198;
}

nav.gnav > ul > li > a::after {
	content: "";
	position: absolute;
	bottom: -2px;
	display: block;
	transform: scaleX(0);
	background: #6ea676;
	width: 100%;
	height: 2px;
	transition: all 0.2s;
}

nav.gnav > ul > li > a:hover::after, nav.gnav > ul > li > a:active::after {
	transform: scaleX(1);
}

nav.gnav > ul > li > a img {
	display: block;
}

nav.gnav > ul > li.hover .subnav {
	transform: perspective(2000px) rotateX(0deg);
	opacity: 1;
}

nav.gnav .subnav {
	position: absolute;
	top: 100%;
	width: 120%;
	left: -10%;
	z-index: 100;
	transform-origin: 50% 0 0px;
	transform: perspective(2000px) rotateX(89.9deg);
	opacity: 0;
	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

nav.gnav .subnav::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 10px;
	background: url(../img/subnav_head_arrow.png) 50% 0 no-repeat;
	background-size: 10px 10px;
}

nav.gnav .subnav > a {
	display: none;
}

nav.gnav .subnav > ul {
	background: rgba(159, 215, 168, 0.9);
	padding: 0;
	margin: 10px 0 0;
	list-style-type: none;
	box-shadow: 0 3px 2px rgba(0, 0, 0, 0.3);
	display: flex;
	flex-direction: column;
}

nav.gnav .subnav > ul > li {
	margin: 0;
	padding: 0;
}

nav.gnav .subnav > ul > li a {
	display: block;
	padding: 1em 10px 1em 35px;
	background: url(../img/arrow_subnav.png) 20px 50% no-repeat;
	background-size: 10px 10px;
	text-decoration: none;
	font-weight: bold;
	color: #333333;
	line-height: 1.2;
}

nav.gnav .subnav > ul > li a:hover, nav.gnav .subnav > ul > li a:active {
	background-color: #c1f5d2;
}

nav.gnav .subnav > ul > li ul {
	display: none;
}

.gnav_sp {
	display: none;
	margin: 0 10px 5px;
	border: 1px solid #cccccc;
	border-radius: 5px;
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.gnav_sp {
		display: block;
	}
}

.gnav_sp ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: stretch;
	align-items: stretch;
	width: 100%;
}

.gnav_sp ul li {
	text-align: center;
	display: flex;
	flex-grow: 1;
	justify-content: stretch;
	align-items: stretch;
	border-right: 1px solid #cccccc;
}

.gnav_sp ul li:last-child {
	border-right: 0;
}

.gnav_sp ul li:nth-child(n+4):not(:last-child) {
	display: none;
}

.gnav_sp ul li a {
	flex-grow: 1;
	display: block;
	text-decoration: none;
	padding: 5px;
	line-height: 120%;
	color: #444444;
	transition: 0.2s all;
}

.gnav_sp ul li a i {
	display: block;
	text-align: center;
	font-size: 180%;
	line-height: 120%;
	margin-bottom: 5px;
}

.gnav_sp ul li a:hover, .gnav_sp ul li a:active {
	color: #ffffff;
	background: #333333;
}

.mm-menu.mm-offcanvas {
	z-index: 10;
}

@media only screen and (max-width: 767px) {
	#sp_nav_close {
		display: block;
		width: 20px;
		height: 24px;
		position: absolute;
		top: 0;
		left: 0;
		padding: 8px;
	}
	#sp_nav_close > span {
		transition: all .4s;
		box-sizing: border-box;
		display: block;
		width: 20px;
		height: 24px;
		margin-top: 5px;
		position: relative;
	}
	#sp_nav_close > span span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #00b390;
		border-radius: 2px;
	}
	#sp_nav_close > span span:nth-of-type(1) {
		top: 0;
		transform: translate3d(3px, 3px, 0) rotate(-45deg) scale(0.55, 1);
	}
	#sp_nav_close > span span:nth-of-type(2) {
		top: 6px;
		transform: rotate(45deg);
	}
	#sp_nav_close > span span:nth-of-type(3) {
		top: 12px;
		transform: translate3d(-3px, -3px, 0) rotate(-45deg) scale(0.55, 1);
	}
	#sp_nav_close:hover, #sp_nav_close:active {
		background: transparent !important;
	}
	#sp_nav_close:hover > span span, #sp_nav_close:active > span span {
		background-color: #e57613;
	}
}

#hmenu_overlay {
	display: none;
}

@media only screen and (max-width: 767px) {
	#hmenu_overlay {
		position: fixed;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.4);
		top: 0;
		left: 0;
		display: none;
		z-index: 4000;
		/* nappa */
	}
}

h2 {
	margin: 1.5em 0 0.5ex;
	padding: 0.5ex 0 1ex;
	font-size: 100%;
	font-family: "Sawarabi Mincho";
}

h2.header_img {
	margin: 10px -40px 10px;
	text-align: center;
	position: relative;
}

@media only screen and (max-width: 767px) {
	h2.header_img {
		margin: 0 -60px 0;
		padding-top: 0;
	}
}

h2.header_img img {
	vertical-align: middle;
}

h2.header_img > span {
	color: #ffffff;
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	font-size: 240%;
	top: 0;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	font-weight: 500;
	letter-spacing: 0.2ex;
	font-family: "Sawarabi Mincho";
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
	h2.header_img > span {
		font-size: 160%;
		letter-spacing: 0ex;
		padding: 0 60px;
	}
}

/*** main ***/
.main {
	width: 960px;
	margin: 0 auto 0;
	padding: 20px 0 50px;
	position: relative;
	z-index: 1;
}

.main:after {
	content: "";
	display: block;
	clear: both;
}

@media only screen and (max-width: 767px) {
	.main {
		width: auto;
		margin: 0 auto 0px;
		padding: 10px 10px 10px;
		min-width: 320px;
		box-sizing: border-box;
		overflow: hidden;
	}
}

.main h3,
.main .h3 {
	font-size: 180%;
	padding: 1ex 1ex;
	font-weight: 500;
	margin: 2em 0 1em;
	line-height: 120%;
	color: #6c3f22;
	text-align: left;
	font-family: "Sawarabi Mincho";
	border-bottom: 1px solid #dddddd;
}

.main h2 + h3,
.main h2 + .h3,
.main h3:first-child,
.main .h3:first-child {
	margin-top: 0em;
}

.main .h3_img {
	color: #333333;
	padding: 0;
	margin: 0;
	font-weight: normal;
	font-size: 100%;
	border-left: none;
	border-bottom: 1px solid #000000;
}

.main .h3_img img {
	height: 40px;
	display: block;
	margin: 0.5ex auto;
}

.main .main_content .h3_img {
	margin-bottom: 1em !important;
}

.main h4,
.main .h4 {
	font-size: 120%;
	color: #333333;
	padding: 0.5ex 1em 0.5ex;
	font-weight: 600;
	margin: 2em 0 1em;
	font-family: "Sawarabi Mincho";
	border-left: 1px solid #6c3f22;
	background-color: #f9f8ef;
}

.main h4.noborder,
.main .h4.noborder {
	border: none;
}

@media only screen and (max-width: 767px) {
	.main h4,
	.main .h4 {
		font-size: 115%;
	}
}

.main h4:first-child,
.main .h4:first-child,
.main h3 + h4,
.main h3 + .h4,
.main .h3 + h4,
.main .h3 + .h4 {
	margin-top: 0;
}

.main h5,
.main .h5 {
	position: relative;
	padding: 0 1ex;
	margin: 2em 0 1ex;
	font-size: 115%;
	color: #6c3f22;
	font-family: "Sawarabi Mincho";
	overflow: hidden;
}

.main h5::after,
.main .h5::after {
	position: absolute;
	content: "";
	display: inline-block;
	background-color: #eeeeee;
	width: 100%;
	height: 100%;
	transform: scaleY(0.1) translateX(1ex);
}

@media only screen and (max-width: 767px) {
	.main h5,
	.main .h5 {
		font-size: 110%;
	}
}

.main h5:first-child,
.main .h5:first-child,
.main h4 + h5,
.main .h4 + h5,
.main h4 + .h5,
.main .h4 + .h5 {
	margin-top: 0;
}

.main h6,
.main .h6 {
	margin: 1ex 0 0.5ex;
	padding: 0;
	font-size: 110%;
	color: #6c3f22;
}

.main h6:first-child,
.main .h6:first-child,
.main h5 + h6,
.main .h5 + h6,
.main h5 + .h6,
.main .h5 + .h6 {
	margin-top: 0;
}

.main .main_content {
	width: 700px;
	float: left;
	min-height: 600px;
}

@media only screen and (max-width: 767px) {
	.main .main_content {
		width: auto;
		min-height: 0;
		float: none;
		margin-bottom: 40px;
	}
}

.main .main_content.wide {
	width: auto;
	float: none;
}

.main .main_content.wide + .side {
	display: none;
}

.main .main_content > p {
	margin: 1ex 15px;
}

.main .snav_only {
	display: none;
}

.main .side {
	width: 220px;
	float: right;
}

@media only screen and (max-width: 767px) {
	.main .side {
		width: auto;
		float: none;
	}
}

.main .side .snav_only {
	display: block;
}

.main .side .snav {
	border: 1px solid #cccccc;
	border-radius: 5px 5px;
}

.main .side .snav a {
	text-decoration: none;
	display: block;
}

.main .side .snav > a,
.main .side .snav > span {
	text-align: center;
	font-size: 120%;
	font-weight: 500;
	color: #555555;
	font-family: "Sawarabi Mincho";
	padding: 1.2ex 0;
	display: block;
}

.main .side .snav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.main .side .snav ul li {
	margin: 0 10px;
	border-top: 1px dotted #999999;
}

.main .side .snav ul li ul {
	display: none;
}

.main .side .snav ul li.active > a {
	font-weight: bold;
	background-color: #fffbed;
}

.main .side .snav ul li.active ul {
	display: block;
}

.main .side .snav ul li > a {
	background: url(../img/arrow_green.png) 3px 50% no-repeat;
	background-size: 8px 12px;
	padding: 1.4ex 0 1.4ex 18px;
	line-height: 1.4;
}

.main .side .snav ul li > a:hover, .main .side .snav ul li > a:active {
	background-color: #f0fdf2;
}

.main .side .snav ul li li {
	margin: 0 0 0 15px;
}

.breadcrumbs {
	font-size: 85%;
	width: 960px;
	margin: 0 auto 1ex;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
	.breadcrumbs {
		padding: 0 10px;
	}
}

.breadcrumbs li {
	margin: 0;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
}

.breadcrumbs li:not(:last-child)::after {
	content: ">";
	margin: 0 1ex;
	font-size: 90%;
	color: #aaaaaa;
	display: inline-block;
	vertical-align: middle;
}

/*** footer ***/
footer {
	color: #ffffff;
	background: #6ea676;
	text-align: center;
	padding: 30px 0 15px;
}

@media only screen and (max-width: 767px) {
	footer {
		padding: 10px 10px 100px;
	}
}

footer .footer_banners {
	box-sizing: border-box;
	padding: 8px 40px;
	background-color: #aadab1;
	width: 960px;
	margin: 0 auto 40px;
}

@media only screen and (max-width: 767px) {
	footer .footer_banners {
		width: auto;
		margin: 0 auto 20px;
	}
}

footer .footer_banners .footer_banners_list {
	margin: 0;
	padding: 0 10px;
}

footer .footer_banners .footer_banners_list li {
	margin: 0;
	padding: 10px;
}

footer .slick-prev:before, footer .slick-next:before {
	font-size: 16px;
}

footer .footer_title img {
	vertical-align: middle;
	height: 30px;
}

footer .footer_address {
	padding: 1ex 0;
}

footer .footer_address > span {
	margin: 0 1ex;
	display: inline-block;
}

footer .footer_address a {
	color: #ffffff;
}

footer .footer_copy {
	font-size: 65%;
	letter-spacing: 0.3ex;
}

footer .fnav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0 0;
	padding: 1.5em 0;
	font-size: 95%;
}

@media only screen and (max-width: 767px) {
	footer .fnav {
		padding: 0;
		margin: 10px 20px 20px;
		border-top: 1px dotted #eeeeee;
		flex-direction: column;
	}
}

footer .fnav li {
	margin: 0;
	padding: 0;
	color: #c3d8c6;
}

@media only screen and (max-width: 767px) {
	footer .fnav li {
		padding: 0;
		border-bottom: 1px dotted #eeeeee;
	}
}

footer .fnav li:not(:last-child)::after {
	content: "/";
	margin: 0 1em;
}

@media only screen and (max-width: 767px) {
	footer .fnav li:not(:last-child)::after {
		content: none;
	}
}

footer .fnav li a {
	display: inline-block;
	vertical-align: middle;
	color: #c3d8c6;
}

@media only screen and (max-width: 767px) {
	footer .fnav li a {
		color: #ffffff;
		padding: 1ex;
		display: block;
		text-decoration: none;
		transition: 0.2s all;
	}
	footer .fnav li a::before {
		content: "≫";
		margin-right: 1ex;
	}
	footer .fnav li a:hover, footer .fnav li a:active {
		background-color: #56945f;
	}
}

.totop {
	z-index: 100;
	position: relative;
	padding: 0 20px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.totop {
		width: auto;
		height: 0px;
	}
}

.totop > div {
	width: 60px;
	margin: 0 0 0 auto;
}

@media only screen and (max-width: 767px) {
	.totop > div {
		margin: 0 auto;
	}
}

.totop a {
	display: block;
	position: fixed;
	bottom: -80px;
	margin: 0 0 0 auto;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: rgba(37, 114, 48, 0.6) url(../img/arrow_totop.svg) 50% 50% no-repeat;
	background-size: 28px 16px;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	transition: background 0.2s;
}

@media only screen and (max-width: 767px) {
	.totop a {
		margin: 0 auto;
	}
}

.totop a.finished {
	position: absolute;
	bottom: 20px !important;
}

.totop a img {
	width: 100%;
	display: block;
	margin: auto;
}

.totop a:hover, .totop a:active {
	background-color: #2c7136;
}

.wp_wrapper .side-by-side {
	display: flex;
	margin: 0;
	padding: 0;
	list-style-type: none;
	justify-content: center;
}

.wp_wrapper .side-by-side li {
	margin: 0;
	padding: 0;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper .side-by-side {
		display: block;
	}
	.wp_wrapper .side-by-side img {
		margin: auto;
		display: block;
	}
	.wp_wrapper .side-by-side figure {
		margin: auto;
	}
}

.wp_wrapper figure {
	margin: 1em;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper figure {
		margin: auto;
	}
}

@media only screen and (max-width: 767px) {
	.wp_wrapper .alignleft,
	.wp_wrapper .alignright {
		display: block;
		width: auto;
		height: auto;
		margin: auto;
		float: none;
	}
	.wp_wrapper #wpadminbar {
		display: none;
	}
}

@media print {
	#totop {
		display: none;
	}
}

/*** column ***/
.floatImgR, .floatImgL, .floatColumnR, .floatColumnL {
	max-width: 270px;
	display: block;
}

.mini_column.floatImgR, .mini_column.floatImgL, .mini_column.floatColumnR, .mini_column.floatColumnL {
	max-width: 180px;
}

.floatImgR {
	margin: 0 0 15px 15px;
	float: right;
	text-align: center;
}

.floatImgR img {
	display: block;
}

.floatImgL {
	margin: 0 15px 15px 0px;
	float: left;
	text-align: center;
}

.floatImgL img {
	display: block;
}

.floatColumnR {
	margin: 0 0 15px 15px;
	float: right;
}

.floatColumnR img {
	display: block;
}

.floatColumnL {
	margin: 0 15px 15px 0px;
	float: left;
}

.floatColumnL img {
	display: block;
}

.nowrap {
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	.floatImgR,
	.floatImgL,
	.floatColumnR,
	.floatColumnL {
		max-width: 100%;
		float: none;
		margin: 1ex auto;
	}
}

img.round_img,
.round_img img {
	border-radius: 5px;
}

.shadowed {
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
	transition: 0.3s all;
}

a:hover .shadowed,
a:active .shadowed {
	box-shadow: 0 0px 3px rgba(0, 0, 0, 0.3);
}

.wp_wrapper img {
	height: auto !important;
}

.wp_wrapper img {
	height: auto !important;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper figure,
	.wp_wrapper img {
		width: auto !important;
		height: auto !important;
	}
}

@media only screen and (max-width: 767px) {
	.wp_wrapper table {
		display: block;
		width: auto !important;
		height: auto !important;
	}
	.wp_wrapper table tbody,
	.wp_wrapper table thead,
	.wp_wrapper table tr,
	.wp_wrapper table td,
	.wp_wrapper table th {
		height: auto !important;
		width: auto !important;
		display: block;
	}
	.wp_wrapper table td {
		text-align: center;
	}
	.wp_wrapper table td img {
		display: block;
		margin: auto;
	}
}

/*** table ***/
.wp_wrapper table,
.bordered_table {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #a1b5b6;
	box-sizing: border-box;
	margin: 1em 15px;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper table,
	.bordered_table {
		margin: 1ex 5px;
	}
}

.wp_wrapper table td,
.bordered_table td {
	padding: 0.6ex 1ex;
	vertical-align: top;
	border: 1px solid #a1b5b6;
	background: #ffffff;
}

.wp_wrapper table th,
.bordered_table th {
	color: #24413c;
	padding: 0.6ex 1ex;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #a1b5b6;
	background: #f2fbee;
}

.wp_wrapper table th.alignRight,
.bordered_table th.alignRight {
	text-align: right;
}

.wp_wrapper table th.alignCenter,
.bordered_table th.alignCenter {
	text-align: center;
}

.wp_wrapper table thead th,
.bordered_table thead th {
	color: #333333;
	padding: 1ex 1em;
	background: #c0e9c6;
	text-align: center;
	border: 1px solid #a1b5b6;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.wp_wrapper table caption,
.bordered_table caption {
	text-align: right;
	caption-side: bottom;
}

.wp_wrapper table td.icon-cell,
.bordered_table td.icon-cell {
	vertical-align: middle;
}

.wp_wrapper table td.icon-cell img,
.bordered_table td.icon-cell img {
	width: 60px;
	display: block;
	margin: 2px auto;
}

.wp_wrapper table td.num-cell,
.bordered_table td.num-cell {
	text-align: right;
}

.wp_wrapper table.simple th,
.bordered_table.simple th {
	width: 45%;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper table.simple,
	.bordered_table.simple {
		width: auto;
	}
	.wp_wrapper table.simple th,
	.bordered_table.simple th {
		width: auto;
	}
}

.wp_wrapper table.standard tbody th,
.bordered_table.standard tbody th {
	width: 30%;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper table.standard,
	.bordered_table.standard {
		width: auto;
	}
	.wp_wrapper table.standard tbody th,
	.bordered_table.standard tbody th {
		width: auto;
	}
}

.wp_wrapper table table,
.bordered_table table {
	margin: 0;
	width: 100%;
}

.wp_wrapper table table th,
.bordered_table table th {
	background: #f1f2f2;
}

@media only screen and (max-width: 767px) {
	.wp_wrapper table.responsive_table_nojs,
	.bordered_table.responsive_table_nojs {
		border-bottom: none;
		border-left: none;
		border-right: none;
		display: block;
		box-sizing: border-box;
	}
	.wp_wrapper table.responsive_table_nojs thead,
	.wp_wrapper table.responsive_table_nojs tbody,
	.wp_wrapper table.responsive_table_nojs tr,
	.bordered_table.responsive_table_nojs thead,
	.bordered_table.responsive_table_nojs tbody,
	.bordered_table.responsive_table_nojs tr {
		display: block;
		width: 100%;
	}
	.wp_wrapper table.responsive_table_nojs th,
	.wp_wrapper table.responsive_table_nojs td,
	.bordered_table.responsive_table_nojs th,
	.bordered_table.responsive_table_nojs td {
		display: block;
		box-sizing: border-box;
		width: 100%;
		border-top: none;
		white-space: normal;
	}
	.wp_wrapper table.responsive_table_nojs.simple th,
	.wp_wrapper table.responsive_table_nojs.standard th,
	.bordered_table.responsive_table_nojs.simple th,
	.bordered_table.responsive_table_nojs.standard th {
		width: 100%;
	}
}

.wp_wrapper table ul,
.bordered_table ul {
	margin: 1ex 0;
	padding: 0 0 0 2em;
}

.wp_wrapper table .cell_middle,
.bordered_table .cell_middle {
	vertical-align: middle;
}

.wp_wrapper table.narrow_table,
.bordered_table.narrow_table {
	font-size: 85%;
}

.wp_wrapper table.narrow_table td,
.bordered_table.narrow_table td {
	padding: 0.6ex 0.2ex;
}

.wp_wrapper table.narrow_table th,
.bordered_table.narrow_table th {
	padding: 0.6ex 0.5ex;
}

.table_wrapper {
	margin: 0 0 1em;
}

.main_content > .table_wrapper {
	margin: 0 15px 1em;
}

.table_wrapper .bordered_table {
	width: 100%;
	margin: 0;
}

@media only screen and (max-width: 767px) {
	.table_wrapper.fixed_width table {
		min-width: 720px;
	}
}

@media only screen and (max-width: 767px) {
	.table_wrapper {
		width: auto;
		padding: 0;
		margin: 1ex 0 1em;
		overflow-x: auto;
	}
	.main_content > .table_wrapper {
		margin: 1ex 0 1em;
	}
	.table_wrapper .bordered_table {
		margin: 0;
	}
}

/*** misc ***/
.related_link > ul,
.link_list {
	margin: 1em 0;
	padding: 0;
	list-style-type: none;
	line-height: 140%;
}

@media only screen and (max-width: 767px) {
	.related_link > ul,
	.link_list {
		border-bottom: 1px dotted #99d0d2;
	}
}

.related_link > ul ul,
.link_list ul {
	margin: 0;
	padding: 0 0 0 0;
	list-style-type: none;
}

ul .related_link > ul, ul
.link_list {
	margin: 0 0 1ex;
	padding: 0;
	list-style-type: none;
}

.related_link > ul li,
.link_list li {
	margin: 1ex 0;
	padding: 0 15px 0 20px;
	list-style-type: none;
}

@media only screen and (max-width: 767px) {
	.related_link > ul li,
	.link_list li {
		margin: 0 0;
		padding: 0 0;
		border-top: 1px dotted #99d0d2;
	}
}

.related_link > ul a,
.link_list a {
	padding: 0 0 0 20px;
	margin: 0;
	background: url(../img/arrow_btn.png) 0 50% no-repeat;
	background-size: 10px 10px;
	text-decoration: none;
	color: #00a536;
}

.related_link > ul a:hover, .related_link > ul a:active,
.link_list a:hover,
.link_list a:active {
	color: #00a536;
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.related_link > ul a,
	.link_list a {
		display: block;
		padding: 1.2ex 15px 1.2ex 35px;
	}
}

.ext::after,
.pdf::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background-size: contain;
	margin-left: 0.5ex;
}

.ext::after {
	width: 16px;
	height: 16px;
	background: url(../img/icon_ext.png) 50% 50% no-repeat;
	background-size: contain;
}

.pdf::after {
	width: 16px;
	height: 16px;
	background: url(../img/icon_pdf.svg) 50% 50% no-repeat;
	background-size: contain;
}

a.btn {
	border: 1px solid #9fd7a8;
	display: inline-block;
	padding: 1ex 1.5em;
	color: #333333;
	text-decoration: none;
	transition: 0.2s all;
}

a.btn::before {
	content: "";
	display: inline-block;
	margin: 0 1ex 0 0;
	width: 10px;
	height: 10px;
	background: url(../img/arrow_btn.png) 50% 50%;
	background-size: contain;
	vertical-align: middle;
}

a.btn:hover, a.btn:active {
	background-color: #00a536;
	border-color: #00a536;
	color: #ffffff;
}

a.btn:hover::before, a.btn:active::before {
	background-image: url(../img/arrow_btn_white.png);
}

a.btn:hover.ext::after, a.btn:active.ext::after {
	background-image: url(../img/icon_ext_white.png);
}

.icon_new {
	display: inline-block;
	border: 1px solid #ed1c24;
	color: #ed1c24;
	vertical-align: middle;
	margin: 0 1ex;
	font-size: 70%;
	line-height: 110%;
	padding: 0.2ex 1ex;
	font-family: arial, sans-serif;
	background-color: #ffffff;
	font-weight: bold;
}

.anchor_link {
	margin: 1em 0;
	padding: 1.0ex 0 1.0ex 2em;
	list-style-type: none;
	background: #f8fff9;
	border-radius: 2px;
	border: 3px solid #d9f3dd;
}

.anchor_link:first-child {
	margin-top: 0;
}

.anchor_link:after {
	display: block;
	clear: both;
	content: "";
}

.anchor_link ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.anchor_link li {
	margin: 0 0 0 0;
	padding: 0 2em 0 0;
	box-sizing: border-box;
	display: inline-block;
}

.anchor_link li.li_beark {
	width: 100%;
}

.anchor_link a {
	padding: 0 0 0 15px;
	background: url(../img/arrow_btn.png) 0 50% no-repeat;
	background-size: 0.8em 0.8em;
	text-decoration: none;
	font-weight: bold;
}

.anchor_link a:link, .anchor_link a:visited {
	color: #00a536;
}

.anchor_link a:hover, .anchor_link a:active {
	color: #1b6d28;
	text-decoration: underline;
}

.anchor_link a.ext {
	background-image: url(../img/icon_ext.png);
}

.boxed {
	padding: 15px;
	border: 3px solid #eeeeee;
	margin-bottom: 10px;
}

.boxed *:first-child {
	margin-top: 0;
	padding-top: 0;
}

.boxed *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.box_title {
	background-color: #867164;
	font-family: "Sawarabi Mincho";
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.2ex;
	font-size: 110%;
	padding: 0.5ex 1ex;
}

.youtube {
	margin: 5px auto;
	width: 100%;
}

@media only screen and (max-width: 767px) {
	.youtube {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
	}
	.youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}
}

.topics_list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #a6937c;
	display: table;
}

@media only screen and (max-width: 767px) {
	.topics_list {
		display: block;
	}
}

.topics_list > li {
	padding: 0;
	margin: 0;
	line-height: 170%;
	display: table-row-group;
}

@media only screen and (max-width: 767px) {
	.topics_list > li {
		display: block;
		border-bottom: 1px solid #a6937c;
	}
}

.topics_list > li > a,
.topics_list > li > span {
	display: table-row;
	color: #333333;
	text-decoration: none;
	box-sizing: border-box;
	transition: 0.2s all;
}

@media only screen and (max-width: 767px) {
	.topics_list > li > a,
	.topics_list > li > span {
		display: block;
		padding: 1em 1ex;
	}
}

.topics_list > li > a.disable,
.topics_list > li > span.disable {
	cursor: default;
	pointer-events: none;
}

.topics_list > li > a > *,
.topics_list > li > span > * {
	display: table-cell;
	border-bottom: 1px solid #a6937c;
	padding: 1.2em 1ex;
	line-height: 120%;
}

.topics_list > li > a:hover:not(.disable), .topics_list > li > a:active:not(.disable),
.topics_list > li > span:hover:not(.disable),
.topics_list > li > span:active:not(.disable) {
	background-color: #f1ffe4;
}

.topics_list > li > a .topics_list_date,
.topics_list > li > span .topics_list_date {
	color: #4d4d4d;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	.topics_list > li > a .topics_list_date,
	.topics_list > li > span .topics_list_date {
		display: inline-block;
		border: none;
		padding: 0;
	}
}

@media only screen and (max-width: 767px) {
	.topics_list > li > a .topics_list_cat,
	.topics_list > li > span .topics_list_cat {
		display: inline-block;
		border: none;
		padding: 0;
	}
}

.topics_list > li > a .topics_list_title,
.topics_list > li > span .topics_list_title {
	width: 100%;
}

@media only screen and (max-width: 767px) {
	.topics_list > li > a .topics_list_title,
	.topics_list > li > span .topics_list_title {
		box-sizing: border-box;
		clear: both;
		display: block;
		border: none;
		padding: 0.3ex 0 0 1em;
	}
}

.label_cat {
	min-width: 80px;
	display: inline-block;
	font-size: 80%;
	color: #ffffff;
	font-weight: 500;
	background-color: #6ea676;
	text-align: center;
	padding: 0.1ex 0;
	vertical-align: middle;
}

.label_cat.label_news {
	background-color: #f88600;
}

.label_cat.label_campaign {
	background-color: #009944;
}

.label_cat + .label_cat {
	margin-top: 2px;
}

.pickup_list {
	padding: 0;
	list-style-type: none;
	align-items: stretch;
}

.pickup_list li {
	margin: 0;
	padding: 10px;
	display: flex;
}

.pickup_list.with_comment li {
	flex-direction: column;
}

.pickup_list.with_comment li > p {
	margin: 1em 10px;
}

a.pickup_btn {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	overflow: hidden;
	text-decoration: none;
	transition: 0.2s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
	transform: translateY(0);
}

a.pickup_btn:hover, a.pickup_btn:active {
	transform: translateY(2px);
	background-color: #ebffee;
}

a.pickup_btn:hover .pickup_img img, a.pickup_btn:active .pickup_img img {
	transform: scale(1.1);
}

a.pickup_btn:hover .pickup_label, a.pickup_btn:active .pickup_label {
	color: #009944;
}

a.pickup_btn .pickup_img {
	display: block;
	overflow: hidden;
}

a.pickup_btn .pickup_img img {
	vertical-align: middle;
	transition: 0.4s all cubic-bezier(0.175, 0.885, 0.32, 1.275);
	width: 100%;
}

a.pickup_btn .pickup_label {
	flex-glow: 1;
	display: block;
	text-align: center;
	padding: 1ex;
	color: #333333;
	transition: 0.2s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

a.pickup_btn .pickup_label::before {
	content: "";
	display: inline-block;
	width: 1.4ex;
	height: 1.4ex;
	background: url(../img/arrow_btn.png) 0 50% no-repeat;
	background-size: 1.4ex 1.4ex;
	vertical-align: middle;
	margin: 0 1ex 0.3ex 0;
	line-height: 1;
}

.tabled_list {
	margin: 1ex 0;
	padding: 0;
	list-style-type: none;
	display: table;
}

.main_content > .tabled_list {
	margin-left: 15px;
	margin-right: 15px;
}

.tabled_list > li {
	margin: 0;
	padding: 0;
	display: table-row;
}

.tabled_list > li > div,
.tabled_list > li > span {
	display: table-cell;
}

.tabled_list > li > div:first-child,
.tabled_list > li > span:first-child {
	width: 1ex;
	white-space: nowrap;
	padding-right: 1ex;
}

.article_date {
	text-align: right;
	font-style: italic;
}

.columned {
	display: flex;
	margin: 0 -10px;
	margin-left: -10px;
	margin-right: -10px;
	padding: 0;
	list-style-type: none;
}

.columned > * {
	margin: 0 0 1em;
	box-sizing: border-box;
	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
	overflow: hidden;
}

.main_content > .columned > * > p {
	margin-left: 15px;
	margin-right: 15px;
}

.img_column > *:first-child {
	width: 40%;
}

.img_column > *:first-child img {
	vertical-align: middle;
}

.img_column > *:last-child {
	width: 60%;
}

@media only screen and (max-width: 767px) {
	.img_column {
		display: block;
	}
	.img_column > *:first-child,
	.img_column > *:last-child {
		width: 100%;
	}
}

.pc_column1,
.pc_column2,
.pc_column3,
.pc_column4,
.pc_column5 {
	flex-wrap: wrap;
}

.pc_column2 > * {
	width: 50%;
}

.pc_column3 > * {
	width: 33.33%;
}

.pc_column4 > * {
	width: 25.00%;
}

.pc_column5 > * {
	width: 20.00%;
}

@media only screen and (max-width: 767px) {
	.sp_column1,
	.sp_column2,
	.sp_column3 {
		flex-wrap: wrap;
	}
	.sp_column1 > * {
		width: 100%;
	}
	.sp_column2 > * {
		width: 50%;
	}
	.sp_column3 > * {
		width: 33.33%;
	}
	.sp_column4 > * {
		width: 25.00%;
	}
	.sp_column5 > * {
		width: 20.00%;
	}
}

.huge_tel_number {
	font-size: 180%;
	font-family: Tahoma, Geneva, sans-serif;
	font-weight: bold;
	color: #38b44f;
	white-space: nowrap;
	line-height: 1.2;
}

.huge_tel_number::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: url(../img/icon_tel.svg) 50% 50% no-repeat;
	background-size: contain;
	margin-right: 0.5ex;
	height: 1em;
	width: 1em;
}

.huge_tel_number.freedial::before {
	background: url(../img/icon_freedial.svg) 50% 50% no-repeat;
	background-size: contain;
	width: 1.75em;
}

.embedded_gmap iframe,
iframe.embedded_gmap {
	width: 100%;
	height: 360px;
}

@media only screen and (max-width: 767px) {
	.embedded_gmap iframe,
	iframe.embedded_gmap {
		height: 240px;
	}
}
