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

@font-face {
	font-family: "Noto Sans JP";
	src: url("font/Noto_Sans_JP/NotoSansJP-Regular.ttf") format("truetype");
	font-weight: normal;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("font/Noto_Sans_JP/NotoSansJP-Bold.ttf") format("truetype");
	font-weight: bold;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

共通

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/


html, body {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	width: 100%;
/*	height: 100%;*/
	font-size: 16px;
	line-height: 1.8rem;
	color: #333;
}

body {
	position: relative;
}

a {
	text-decoration: none;
	color: #6d6354;
}

a:hover {
	text-decoration: underline;
}

img {
	width: 100%;
	height: auto;
}

p {
	text-align: justify;
}

strong {
	font-weight: bold;
}

figure {
	margin-bottom: 20px;
}

h1 .mainTheme,h2,h3,nav a {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}

/* 見出し */

.con_header {
	/*font-family: ;*/
	font-size: 1.5rem;
	font-weight: bold;
	color: #493b2e;
	margin: 0 0 70px 0;
	letter-spacing: 1px;
}

.con_sub_header {
	margin: 0 0 30px 0;
	background: #6d6354;
	color: #fff;
	padding: 5px;
	letter-spacing: 2px;
}

.con_sub_sub_header {
	background: #e7f4b4;
	color: #6d6354;
	padding: 5px;
	margin: 0 0 30px 0;
	letter-spacing: 1px;
}

.con_sub_sub_sub_header {
	border: solid 1px #6d6354;
	padding: 3px;
	color: #6d6354;
	margin: 0 0 30px 0;
	letter-spacing: 1px;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

PC

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*--------------------------------------------------
ヘッダー
--------------------------------------------------*/

.topHeaderWrapper {
	width: 100%;
}

header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 10;
}

header h1 {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	transition: all 0.6s;
	background: linear-gradient(90deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.9) 30%, rgba(255,255,255,1) 50%, rgba(255,255,255,0.9) 70%, rgba(255,255,255,0.6) 100%);
}

header h1 a img {
	width: 100%;
	max-width: 400px;
	transition: all 0.3s;
}

header h1 a:hover img {
	opacity: 0.7;
}

/*--------------------------------------------------
グローバルナビ
--------------------------------------------------*/

nav {
	width: 100%;
	background: rgba(107,103,99,0.7);
}


nav ul {
	width: 100%;
	max-width: 1100px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}

nav ul li {
	width: 20%;
	border-left: 1px solid #fff;
	box-sizing: border-box;
}

nav > ul > li.tab {
	position: relative;
}

nav > ul > li:last-of-type {
	border-right: 1px solid #fff;
}

nav ul li a {
	display: inline-block;
	width: 100%;
	padding: 12.8px 0;
	text-align: center;
	color: #fff;
	letter-spacing: 2px;
	transition: all 0.6s;
}

nav ul li a:hover,
nav ul li.current a,
nav ul li.tab ul li a:hover,
nav ul li.tab ul li.current a {
	background: rgba(114,97,82,0.8);
	text-decoration: none;
}

nav ul li.tab ul {
	width: 100%;
	display: none;
	position: absolute;
	left: -1px;
	flex-direction: column;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
}

nav ul li.tab ul li:first-child {
	border-top: solid 1px rgba(215,207,199,0.8);
}

nav ul li.tab ul li {
	width: 100%;
	border-left: none;
	border-right: none;
	border-bottom: solid 1px rgba(215,207,199,0.8);
}

nav ul li.tab ul li:last-child {
	border-bottom: none;
}

nav ul li.tab ul li a {
	background: rgba(147,141,135,0.7);
}


/*--------------------------------------------------
スライダー
--------------------------------------------------*/

.swiper-container .swiper-slide img {
	max-height: 660px;
	object-fit: cover;
}

.swiper-pagination-bullet {
	box-shadow: 1px 1px 2px #726152;
}

.swiper-pagination-bullet-active {
	background: rgba(255,255,255,0.8);
}

/*--------------------------------------------------
フッター
--------------------------------------------------*/

footer {
	width: 100%;
	padding: 20px 0 0 0;
	background: #6d6354;
	color:#fff;
}
footer > * {
	max-width: 1100px;
	margin: 0 auto 40px;
	padding: 0 20px;
}

footer p a {
	color: #fff;
}

footer p a:hover {
	text-decoration: underline;
}

footer .copyright {
	margin: 0 auto;
	padding: 5px 20px;
	font-size: 0.8em;
	text-align: center;
	line-height: 1.2rem;
}

/*--------------------------------------------------
ページトップ
--------------------------------------------------*/

#pageTop {
	position: fixed;
	right: 20px;
	z-index: 997;
	opacity: 0;
	transition: all 0.3s;
}

#pageTop.show {
	opacity: 1;
}

#pageTop a {
	display: block;
	padding: 12px;
	background: rgba(255,255,255,0.8);
	color: #6d6354;
	border: solid 2px #6d6354;
	border-radius: 8px;
	text-align: center;
	font-size: 0.8rem;
	line-height: 1.2rem;
	font-weight: bold;
	letter-spacing: 1px;
	transition: all 0.6s;
}

#pageTop a:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f0d8';
	font-weight: 900;
	display: block;
	font-size: 2rem;
}

#pageTop a:hover {
	text-decoration: none;
	background: #fff;
}

/*--------------------------------------------------
トップページ
--------------------------------------------------*/

/*　　　　　　　共通　　　　　　　　*/
#topPage main {
	width: 100%;
	text-align: center;
}

#topPage main section {
	max-width: 1100px;
	margin: 0 auto;
	padding: 80px 40px 100px;
}


#topPage main p {
	margin: 0 0 30px 0;
}

#topPage section:nth-of-type(odd) {
	max-width: 100%;
	background: #ededed;
}

#topPage section:nth-of-type(odd) .innerWrapper {
	max-width: 1100px;
	margin: 0 auto;
}


/*　つぶやき　*/

#post .innerWrapper .sPostsWrapper {
	width: 100%;
/*	max-width: 900px;*/
	margin: 0 auto;
	background: #d5d3d3;
	border-radius: 10px;
	position: relative;
}

#contentsPage #post .innerWrapper .sPostsWrapper {
	margin: 0;
}

#post .innerWrapper .sPostsWrapper ul {
	max-height: 340px;
	padding: 30px;
	overflow-y: auto;
}

#post .innerWrapper .sPostsWrapper ul::-webkit-scrollbar {
	width: 10px;
	background: none;
}

#post .innerWrapper .sPostsWrapper ul::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,0.2);
	border-radius: 10px;
}

#post .innerWrapper .sPostsWrapper ul li {
	margin: 0 0 20px 0;
	padding: 10px;
	display: flex;
	flex-wrap: wrap;
	background: #fff;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}

#post .innerWrapper .sPostsWrapper ul li:last-child {
	margin: 0;
}

#post .innerWrapper .sPostsWrapper ul li span,
#post .innerWrapper .sPostsWrapper ul li time {
	display: inline-block;
}

#post .innerWrapper .sPostsWrapper ul li .icon {
	width: 50px;
	height: 50px;
	margin: 0 12px 0 0;
	background: rgba(0,0,0,0.4);
	align-self: center;
}

#post .innerWrapper .sPostsWrapper ul li .icon,
#post .innerWrapper .sPostsWrapper ul li .icon img {
	border-radius: 50px;
}

#post .innerWrapper .sPostsWrapper ul li .post {
	width: calc(100% - 62px);
	text-align: left;
	font-size: 0.9rem;
	line-height: 1.6;
}

#post .innerWrapper .sPostsWrapper ul li time {
	width: 100%;
	font-size: 0.7rem;
	text-align: right;
	line-height: 1;
	color: #665f58;
}

/*　　　　　　　NEWS　　　　　　　　*/
	
#topPage section#news .articleWrapper ul.newsList {
	max-height: 350px;
	overflow: auto;
}

#topPage section#news .articleWrapper ul.newsList li {
	width: 80%;
	padding: 40px;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}

#topPage section#news .articleWrapper ul.newsList li:before,
#topPage section#news .articleWrapper ul.newsList li:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
 		-ms-transform: translate(-50%, 0);
	bottom: 0;
	width: 100%;
}

#topPage section#news .articleWrapper ul.newsList li:first-child {
	padding: 0 40px 40px;
}

#topPage section#news .articleWrapper ul.newsList li:nth-child(odd):after {
	height: 2px;
	background: linear-gradient(to right, #009a92, #9cffa6);
}

#topPage section#news .articleWrapper ul.newsList li:nth-child(even):after {
	height: 2px;
	background: linear-gradient(to left, #009a92, #9cffa6);
}

#topPage section#news .articleWrapper ul.newsList li:before {
	z-index: 1;
	height: 3px;
	background-image: linear-gradient(to right, transparent, transparent 10px, #fff 10px, #fff 15px);
	background-size: 20px 3px;
}

#topPage section#news .articleWrapper ul.newsList li:last-child:before,
#topPage section#news .articleWrapper ul.newsList li:last-child:after {
	content: none;
}

#topPage section#news .articleWrapper ul.newsList li p {
	margin: 0;
}

#topPage section#news .articleWrapper ul.newsList li .date {
	width: 20%;
	font-size: 1.1rem;
	color: #0f917e;
	font-weight: bold;
	margin: 0 30px 0 0;
}

#topPage section#news .articleWrapper ul.newsList li .newsTitle {
	width: calc(80% - 30px);
}


/*--------------------------------------------------
コンテンツページ
--------------------------------------------------*/

#contentsPage main {
	max-width: 1100px;
	min-height: 600px;
	margin: 230px auto 0;
	padding: 0 3%;
}

#contentsPage main p {
	margin: 0 0 40px 0;
}

#contentsPage main figure:not(.greeting) {
	text-align: center;
}

#contentsPage main section {
	margin: 0 0 100px;
}

#contentsPage #post .innerWrapper .sPostsWrapper ul {
	max-height: 500px;
}

.greeting {
	width: 100%;
	max-width: 140px;
	margin: 0 20px 20px 0;
	float: left;
}

#contentsPage .bannerList {
	width: 100%;
	margin: 0 0 40px 0;
	display: flex;
	flex-wrap: wrap;
}

#contentsPage .bannerList li {
	width: calc(25% - 15px);
	margin: 0 20px 20px 0;
}

#contentsPage .bannerList li:nth-child(4n) {
	margin: 0 0 20px 0;
}

#contentsPage .linkList li {
	margin: 0 0 10px 0;
}

#contentsPage .linkList li a {
	position: relative;
}

#contentsPage .bannerList li a img {
	transition: all 0.3s;
}

#contentsPage .bannerList li a:hover img {
	opacity: 0.7;
}

#contentsPage .yo.tabe {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: solid 1px #0f917e;
	box-sizing: border-box;
}

#contentsPage .yo.tabe iframe {
	width: 100%;
	height: 100%;
}
/*--------------------------------------------------
ボタン
--------------------------------------------------*/

.contentsBtn {
	text-align: center;
}

.contentsBtn a {
	min-width: 300px;
	margin: 0 auto 40px;
	display: inline-block;
	padding: 8px 20px;
	font-size: 1.1rem;
	color: #6d6354;
	background: #fff;
	border-radius: 50px;
	text-align: center;
	border: solid 2px #6d6354;
	transition: all 0.6s;
}

.contentsBtn a:hover {
	color:#fff;
	background: #6d6354;
	text-decoration: none;
}

@media screen and (max-width:900px) {
	#contentsPage main {
		margin: 200px auto 0;
	}
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

タブレット

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width:768px) {
	
/*--------------------------------------------------
共通
--------------------------------------------------*/
	
	.con_header {
		margin: 0 0 50px 0;
		font-size: 1.2rem;
	}
	
/*--------------------------------------------------
スライダー
--------------------------------------------------*/
	
	.swiper-container .swiper-slide img {
		min-height: 300px;
	}
	
/*--------------------------------------------------
グローバルナビ
--------------------------------------------------*/
		
	/* ナビが閉じている時 */
	
		header .navBtn {
		position: absolute;
		top: 2px;
		right: 0;
		cursor: pointer;
		border-radius: 0 0 0 12px;
		z-index: 999;
	}
	
	header.open .navBtn {
		top: 0!important;
	}
	
	header .navBtn:after {
		font-family: 'Font Awesome 5 Free';
		content: '\f0c9';
		font-weight: 900;
		display: inline-block;
		font-size: 36px;
		color: #6d6354;
		padding: 14px 12px 12px;
	}
	
	nav {
		position: fixed;
		top: -120%;
		z-index: 998;
		transition: all 0.3s;
		background: none;
	}
	
	nav > ul {
		margin: 55px auto 0;
		flex-direction: column;
	}
	
	nav ul li {
		width: 100%;
		border-left: none;
		border-bottom: 1px solid #fff;
	}
	
	nav ul li:first-child {
		border-top: solid 1px #fff;
	}
	
	nav ul li a {
		padding: 30px 0;
		line-height: 1;
	}
	
	nav ul li:last-of-type {
		border-right: none;
	}
	
	nav ul li.tab ul {
		display: block;
		position: static;
		border: none;
	}
	
	nav ul li.tab ul li a {
		padding: 24px 0;
		font-size: 0.9rem;
		background: none;
	}
	
	/* ナビが開いた時 */
	
	header.open {
		position: fixed;
		top: 0;
	}
	
	header.open .navBtn {
		background: none;
	}
	
	header.open .navBtn:after {
		content: '\f00d';
		padding: 14px 16px 12px 14px;
		color: rgba(255,255,255,0.8);
	}
	
	nav.active {
		height: 100vh;
		background: rgba(0,0,0,0.8);
	}
	
/*--------------------------------------------------
トップページ
--------------------------------------------------*/
	
/*　　　　　　　共通　　　　　　　　*/
	
	#topPage main section {
		padding: 0 20px;
	}
	
	
	#topPage section:nth-of-type(odd) {
		padding: 60px 20px 80px;
	}
	
	
	#topPage section:nth-of-type(odd) .articleWrapper {
		padding: 40px 20px;
	}
	
	#post .innerWrapper .sPostsWrapper ul {
		max-height: 370px;
		padding: 15px;
	}
	
	
/*　　　　　　　NEWS　　　　　　　　*/
	
	#topPage section#news .articleWrapper ul.newsList li {
		width: 86%;
		padding: 40px 20px;
	}
	
	#topPage section#news .articleWrapper ul.newsList li:first-child {
		padding: 0 20px 40px;
	}
	
	#topPage section#news .articleWrapper ul.newsList li .date {
		width: 25%;
	}

	#topPage section#news .articleWrapper ul.newsList li .newsTitle {
		width: calc(75% - 30px);
	}
	
	/*--------------------------------------------------
	コンテンツページ
	--------------------------------------------------*/

	#contentsPage main {
		margin: 120px auto 0;
	}
	
/*--------------------------------------------------
装飾
--------------------------------------------------*/	
	
	.contentsBtn a {
		font-size: 0.9rem;
	}
	
	
}
/* タブレット */

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

スマートフォン

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width:500px) {
	
	h2 {
		margin: 0 0 50px 0;
	}
	
	header h1 a img {
		max-width: 260px;
		transform: translateX(-10px);
	}
	
	header .navBtn:after {
		font-size: 30px;
	}

	#topPage main section {
		margin: 0 auto 50px;
	}

	#topPage main p {
		margin: 0 0 30px 0;
	}
	
	#post .innerWrapper .sPostsWrapper ul {
		padding: 15px 10px;
	}
	
	#post .innerWrapper .sPostsWrapper ul li {
		margin: 0 0 10px 0;
	}
	
	#post .innerWrapper .sPostsWrapper ul li .icon {
		width: 40px;
		height: 40px;
	}
	
	#post .innerWrapper .sPostsWrapper ul li .post {
		width: calc(100% - 52px);
	}
/*　　　　　　　NEWS　　　　　　　　*/

	#topPage main section#news {
		padding: 60px 20px;
	}
	
	#topPage main section#news .articleWrapper {
		padding: 30px 20px 30px 10px;
	}
	
	#topPage section#news .articleWrapper ul.newsList li {
		flex-direction: column;
		padding: 30px 10px;
	}
	
	#topPage section#news .articleWrapper ul.newsList li:first-child {
		padding: 0 10px 30px;
	}
	
	#topPage section#news .articleWrapper ul.newsList li .date,
	#topPage section#news .articleWrapper ul.newsList li .newsTitle {
		width: 100%;
	}
	
	
/*--------------------------------------------------
コンテンツページ
--------------------------------------------------*/

	
	#contentsPage .bannerList li {
		width: calc(50% - 10px);
		margin: 0 20px 20px 0;
	}

	#contentsPage .bannerList li:nth-child(2n) {
		margin: 0 0 20px 0;
	}
	
} /* スマートフォン */

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

汎用設定

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.center {
	margin: 0 auto 20px;
}

/* 画像と文章 */



.fl_l figure {
	float: left;
	margin: 0 20px 20px 0;
}

.fl_r figure {
	float: right;
	margin: 0 0 20px 20px;
}


/* 文章の設定*/

.txtLeft {
	text-align: left!important;
}

.txtCenter {
	text-align: center!important;
}

.txtRight {
	text-align: right!important;
}

.valM {
	vertical-align: middle!important;
}

.txtRed {
	color: red!important;
}

.txtUline {
	text-decoration: underline!important;
}

.txtErase {
	text-decoration: line-through!important;
}

.txtItalic {
	font-style: italic!important;
}

.small {
	font-size: 0.8rem!important;
}

.big {
	font-size: 1.2rem!important;
}

/* テーブルの設定 */

table {
	width: 100%;
	border-collapse: collapse;
	border: 2px solid #dfdfdf;
	margin: 0 auto 30px;
}

th,td {
	padding: 5px;
	background: #fff;
}

th {
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	color:#fff;
	background: #0f917e;
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
}

th.subColor {
	color: #0f917e;
	background: #e7f4b4;
}

td {
	text-align: left;
	border-bottom: solid 1px #dfdfdf;
	border-right: solid 1px #dfdfdf;
}

/* リンクアイコンの設定 */

#contentsPage .linkList li a:before,
.linkIcon:before {
	padding: 0 3px 0 5px;
	font-family: 'Font Awesome 5 Free';
	content: '\f0da';
	font-weight: 900;
	display: inline-block;
	transition: all 0.3s;
}

#contentsPage .linkList li a:hover:before,
.linkIcon:hover:before {
	opacity: 0.7;
}

.directLink:after {
	padding: 0 3px 0 5px;
	font-family: 'Font Awesome 5 Free';
	content: '\f35d';
	font-size: 0.9rem;
	font-weight: 900;
	display: inline-block;
}

.pdfLink:after,
.wordLink:after,
.excelLink:after,
.ppLink:after {
	padding:0 5px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 500;
	display: inline-block;
}

.pdfLink:after {
	content: '\f1c1';
}

.wordLink:after {
	content: '\f1c2';
}

.excelLink:after {
	content: '\f1c3';
}

.ppLink:after {
	content: '\f1c4';
}


/*　余白の設定　*/

.mrgnB0 {
	margin-bottom: 0!important;
}

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

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

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

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

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

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

.mrgnB80 {
	margin-bottom: 80px!important;
}

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

/* 最大幅の設定 */

.mw200 {
	max-width: 200px!important;
}

.mw300 {
	max-width: 300px!important;
}

.mw350 {
	max-width: 350px!important;
}

.mw400 {
	max-width: 400px!important;
}

.mw500 {
	max-width: 500px!important;
}

.mw800 {
	max-width: 800px!important;
}

.mw1000 {
	max-width: 1000px!important;
}

/*　その他　*/

.flex {
	width: 100%;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-around;
}

.al_c {
	text-align: center!important;
}

.al_r {
	text-align: right!important;
}

.valM {
	vertical-align: middle!important;
}

.clear {
	clear: both;
}

.spOnly {
	display: none;
}

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

	.spOnly {
		display: block;
	}
	
}