@charset "utf-8";

/* ------------------------------------------------------------------------ */
/* リセットcss
/* ------------------------------------------------------------------------ */
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: inherit;
  	background: none;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ------------------------------------------------------------------------ */
/* メインコンテンツ
/* ------------------------------------------------------------------------ */
#mainBlock .bg_img {
	padding-top: 16px;
}

.main_content {
	max-width: 1000px;
	width: 100%;
	font-size: 1.5rem;
	line-height: calc(24/15);
	background-color: inherit;
}

@media screen and (max-width: 768px) {
	#mainBlock .bg_img{
		padding-top: 24px;
	}

	.main_content{
		font-size: 1.4rem;
	}
}

/* ------------------------------------------------------------------------ */
/* 共通
/* ------------------------------------------------------------------------ */
.page_nav a h2,
.page_nav a img{
	margin-bottom: 11px;
}

.page_nav a,
.news_tabs .tab_content{
	border: 2px solid #50b379;
}

.page_nav a,
.search_tabs{
	border-radius: 10px;
}

.page_nav a h2,
.news_tabs .tab_list button,
.search_tabs .tab_list button span{
	font-size: 20px;
}

.page_nav a h2,
.news_tabs .tab_list button{
	line-height: calc(26/20);
}

.page_nav a h2,
.news_tabs .tab_list button,
.news_tabs .tab_content .tab_panel .news_list li a span,
.news_tabs .tab_content .tab_panel .news_list li a p,
.news_tabs .tab_content .news_more{
	color: #2e995b;
}

.page_nav a h2,
.news_tabs .tab_list button,
.search_tabs .tab_list button{
	font-family: 'Zen Maru Gothic', sans-serif;
}

.page_nav a h2,
.news_tabs .tab_list button,
.news_tabs .tab_content .news_more,
.search_tabs .tab_list button{
	font-weight: 700;
}

.news_tabs .tab_list button,
.search_tabs .tab_list button{
	border-radius: 10px 10px 0 0;
}

.news_tabs .tab_list button.active,
.search_tabs .tab_list button.active{
	border: none;
	color: #fff;
	background-color: #50b379;
}

.news_tabs .tab_list button{
	width: 100%;
	background-color: #dbf7d2;
}

.news_tabs .tab_content .tab_panel,
.search_tabs .tab_content .tab_panel{
	display: none;
}

.news_tabs .tab_content .tab_panel.active,
.search_tabs .tab_content .tab_panel.active{
	display: block;
}

.search_tabs .tab_content .tab_panel .search_list,
.bunner_list{
	grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 768px){
	.page_nav a,
	.search_tabs{
		border-radius: 5px;
	}

	.page_nav a,
	.news_tabs .tab_content{
		border: 1px solid #50b379;
	}

	.news_tabs .tab_list button,
	.search_tabs .tab_list button{
		border-radius: 5px 5px 0 0;
	}

	.search_tabs .tab_content .tab_panel .search_list,
	.bunner_list{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 480px) {
	.search_tabs .tab_content .tab_panel .search_list,
	.bunner_list{
		grid-template-columns: repeat(2, 1fr);
	}
}

/* section_wrap
--------------------------------------------------------------------------- */
/* page_navとnews_tabs横並び */
.section_wrap{
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
	.section_wrap{
		display: block;
		margin-bottom: 40px;
	}
}

/* main_visual
--------------------------------------------------------------------------- */
.main_visual{
	margin-bottom: 16px;
}

.main_visual img{
	display: block;
	margin-inline: auto;
}

@media screen and (max-width: 768px) {
	.main_visual{
		margin-bottom: 20px;
	}
}

/* page_nav
--------------------------------------------------------------------------- */
.page_nav{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 8px;
	flex: 5.3;
}

.page_nav a{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	padding: 9px;
}

.page_nav a h2{
	text-align: center;
}

.page_nav a img{
	width: 80px;
	height: auto;
}

.page_nav a img.wide{
	width: 90px;
}

.page_nav a p{
	padding-inline: 10px;
}

.page_nav a .deco_corner{
	position: absolute;
	right: 4px;
    bottom: -7px;
	width: 20px;
	height: auto;
}

@media screen and (max-width: 768px) {	
	.page_nav{
		margin-bottom: 40px;
	}

	.page_nav a{
		padding: 10px;
	}

	.page_nav a h2{
		margin-bottom: 9px;
		font-size: 1.6rem;
		line-height: calc(24/16);
	}

	.page_nav a h2 span{
		display: block;
	}

	.page_nav a img{
		width: 75px;
		margin-bottom: 7px;
	}

	.page_nav a img.wide{
		width: 84px;
	}

	.page_nav a p{
		padding-inline: 6px;
	}

	.page_nav a .deco_corner{
		right: 4px;
		bottom: -4px;
		width: 15px;
	}
}


/* news_tabs
--------------------------------------------------------------------------- */
.news_tabs{
	flex: 4.7;
}

.news_tabs .tab_list{
	display: flex;
	gap: 6px;
}

.news_tabs .tab_list button{
	padding: 10px 0;
}

.news_tabs .tab_content{
	padding: 6px 21px 21px;
	border-radius: 0 0 10px 10px;
}

.news_tabs .tab_content .tab_panel{
	margin-bottom: 24px;
}

.news_tabs .tab_content .tab_panel .news_list li a{
	display: grid;
	grid-template-columns: 87px 85px 1fr;
	padding: 14px 0;
	font-size: 15px;
	border-bottom: 1px solid #c3d9cc;
}

.news_tabs .tab_content .tab_panel .news_list li a span{
	text-align: center;
}

.news_tabs .tab_content .news_more{
	display: flex;
	align-items: center;
	justify-content: right;
	gap: 16px;
	line-height: calc(18/15);
}

.news_tabs .tab_content .news_more img{
	width: 6px;
	height: auto;
}

@media screen and (max-width: 768px) {
	.news_tabs .tab_list button{
		padding: 16px 0;
	}

	.news_tabs .tab_content{
		padding: 0 14px 21px;
	}

	.news_tabs .tab_content .tab_panel{
		margin-bottom: 27px;
	}

	.news_tabs .tab_content .tab_panel .news_list li a{
		padding: 10px 0;
		font-size: 14px;
	}

	.news_tabs .tab_content .tab_panel .news_list li a,
	.news_tabs .tab_content .tab_panel .news_list li a time{
		display: block;
	}

	.news_tabs .tab_content .tab_panel .news_list li a span,
	.news_tabs .tab_content .tab_panel .news_list li a p{
		display: inline;
	}

	.news_tabs .tab_content .tab_panel .news_list li a p{
		padding-left: 10px;
	}
}

/* search_tabs
--------------------------------------------------------------------------- */
.search_tabs{
	margin-bottom: 64px;
	padding: 24px;
	background-color: #dbf7d2;
}

.search_tabs .tab_list{
	display: flex;
	gap: 10px;
	margin-bottom: 16px;
	border-bottom: 2px solid #50b379;
}

.search_tabs .tab_list button{
	max-width: 214px;
	width: 100%;
	padding: 7px 0;
	font-size: 1.6rem;
	border: 2px solid #fff;
	border-bottom: none;
	color: #666;
	background-color: #e8e8e8;
}

.search_tabs .tab_list button span{
	line-height: calc(28/20);
}

.search_tabs .tab_content .tab_panel .search_list{
	display: grid;
	gap: 10px;
}

.search_tabs .tab_content .tab_panel .search_list a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px;
	padding-left: 14px;
	border-radius: 3px;
	background-color: #fff;
}

.search_tabs .tab_content .tab_panel .search_list a img{
	width: 72px;
	height: auto;
}

@media screen and (max-width: 768px) {
	.search_tabs{
		margin-bottom: 40px;
		padding: 16px 10px;
	}

	.search_tabs .tab_list{
		gap: 4px;
		margin-bottom: 12px;
	}

	.search_tabs .tab_list button{
		padding: 5px 0;
		font-size: 1.4rem;
		line-height: calc(22/16);
	}

	.search_tabs .tab_list button span{
		display: block;
		font-size: 1.6rem;
	}

	.search_tabs .tab_content .tab_panel .search_list a{
		padding: 13px 12px;
		font-size: 1.2rem;
	}

	.search_tabs .tab_content .tab_panel .search_list a img{
		width: 42px;
	}
}


/* bunner_list
--------------------------------------------------------------------------- */
.bunner_list{
	display: grid;
	gap: 16px;
	max-width: 848px;
	width: 100%;
	margin-inline: auto;
}

@media screen and (max-width: 768px) {
	.bunner_list{
		gap: 9px;
	}

}
