html{font-size:68.0%; }
body{font-family: "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;}
#page {
	padding-top: 140px;
}
/*ヘッダー
------------------------------*/
header{position: fixed; width: 100%; z-index: 999;background: #fff; top: 0;}
.header {padding:15px 20px; max-width: 1140px; position: relative; z-index: 1; background: #fff;}
.header_logo {margin: 0; font-size: 1.5rem; line-height: 0;}
.header_logo img.sampleLogo{height: 60px;width: auto;}
@media (max-width: 767px) {
	header{position: relative;}
	.header {position: fixed; top: 0; left: 0; width: 100%; padding: 10px 20px; box-shadow: 0 0 5px rgba(0,0,0,0.1)}
	.header_logo {width:145px;}
	.header_logo img.sampleLogo{height: auto;}
	#page {
		padding-top: 60px;
	}
}



/*ヘッダーお問い合わせ
------------------------------*/
.header_contact {background: var(--color-green-slight); font-size: 0; position: absolute; right: 140px; top: 50%; transform: translateY(-50%); padding: 0 12px; display: flex; border-radius: 10px;}
.header_contact_name {font-size: 1.3rem; height: 40px; display: flex; align-items: center;}
.header_contact_tel {font-size: 1.8rem; height: 40px; display: flex; align-items: center;}
.header_contact_tel img {margin: 0 10px;}
.header_tel {display: none;}

@media (max-width: 767px) {
	.header_contact {display: none;}
	.header_tel {position: absolute; right: 60px; top: 0; height: 60px; width: 60px; background: var(--color-green-slight); display: flex; align-items: center; justify-content: center;}
}

/* ヘッダーアクセス
------------------------------*/
.header_access {background: var(--color-green-slight); font-size: 0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); padding: 0 12px; display: flex; border-radius: 10px;}
.header_access_name {font-size: 1.3rem; height: 40px; display: flex; align-items: center;}
.header_access_tel {font-size: 1.8rem; height: 40px; display: flex; align-items: center;}
.header_access_tel img {margin: 0 10px;}	
@media (max-width: 767px) {
	.header_access {display: none;}
}

/* ヘッダー：重要なお知らせ
------------------------------*/
.news_important {background:var(--color-green-slight); padding: 10px 20px;}
.news_important_inner {
	width: fit-content;
	margin: 0 auto;
}
.news_important_inner a {
	display: flex;
	align-items: center;
	gap: 10px;
}
.news_important_inner a span.news_important_category {
	display: inline-block;
	background: #be1e1e;
	color: #fff;
	border-radius: 20px;
	padding: 5px 10px;
	font-size: 1.2rem;
}s
.news_important_inner a span.news_important_date {
	font-size: 1.2rem;
	font-weight: bold;
}
@media (max-width: 767px) {
	.news_important {
		padding-top: 30px;
	}
	.news_important_inner{
		position: relative;
	}
	.news_important_inner a span.news_important_category {
		position: absolute;
		top: -15px;
		transform: translateY(-50%);
		font-size: 0.9rem;
	}
	.news_important_inner a span.news_important_date {
		font-size: 1.0rem;
		width: 120px;
	}
	.news_important_inner a span.news_important_title {
		font-size: 1.2rem;
	}
}

/*ナビゲーション
------------------------------*/
.nav {padding: 0 20px; background:  var(--color-green); }
.nav_inner {display: flex; flex-wrap: wrap; max-width: 1100px;}
.nav ul > li {flex-basis: calc(100% / 6); display: block; border-right: 1px solid #dcd9d9; transition: 0.3s; position: relative; color: #fff;}
.nav ul.nav_inner > li:first-child{border-left: 1px solid #dcd9d9; } 
.nav a {color: #fff; font-size: 1.3rem; padding: 20px 10px; display: block; position: relative; }
.nav a i:before {transform: scaleY(1.2); vertical-align: 0px; }
.nav a:hover { background: #fff; color: var(--color-green);}

.nav ul li.active { background: #fff; color: var(--color-green);}
.nav a:hover i{color: var(--color-green);}
.nav ul li.active > a,
.nav ul li.active > a i{color: var(--color-green);}
@media (max-width: 767px) {
	.nav-button-wrap{z-index: 1000;}
	.nav {padding: 0; position: fixed; top:60px; left: 0; width: 100%; height: 100%; z-index: 1; display: none; background: var(--color-green);}
	.nav .nav_inner a {padding: 20px 10px;}
	.nav .nav_inner  li {flex-basis: 100%; border: 0; text-align: left;background: var(--color-green); color: #fff; border-bottom: 1px solid var(--color-green-light);}
	.nav .nav_inner  li.active a {color: #fff; background: var(--color-green-light)}
	.nav .nav_inner  li:first-child {border-left: 0;}
	.nav .nav_inner  li i {position: absolute; right: 10px; top: 50%; margin-top: -5.5px; color: #fff;}
}


.nav .nav_inner .drop_child {
	position: absolute;
	top: 55px;
	width: 100%;
	background: var(--color-green);
	z-index:99;
	display: none;
}
.nav .nav_inner .drop_child li{text-align: left; border-right: none;}
.nav .nav_inner .drop_child li a{padding: 20px 10px; border: none; border-bottom: 1px solid #fff;}
.nav .nav_inner .drop_child li a i{color: #fff;}
.nav .nav_inner .drop_child li a.active,
.nav .nav_inner .drop_child li a:hover,
.nav .nav_inner .drop_child li a:hover i{background: var(--color-green-light); color: #fff;}
.nav .nav_inner .drop_child.active{display: block;}

@media (max-width: 767px) {
	.nav .nav_inner .drop_child {position: relative;  top: 0;}
	/*
	.nav .nav_inner .drop_child {position: relative; display: flex; top: 0;flex-wrap: wrap;}
	.nav .nav_inner .drop_child li{flex-basis: 33.3%;box-sizing: border-box;}
	.nav .drop_parent > a i:before {transform: rotate(90deg);}
	.nav .drop_parent > a { border-bottom: 1px solid #fff;}
	.nav .drop_child  a i:before {display: none;}
	.nav .drop_child  a{text-align: center;}*/
}

/*フッター
------------------------------*/
.footer {border-top: 30px solid var(--color-green);}
.footer_inner {max-width: 1140px; padding: 20px 20px; display: flex; flex-wrap: wrap;}
.footer_open {flex-basis: 400px;}
.footer_kyushinbi {flex-basis: calc(100% - 650px); padding: 0 20px}
.footer_kyushinbi .kyushinbi{
	display: flex;
}
.footer_info {flex-basis: 250px;}
.footer_info div{ line-height: 1.4rem;}
.footer_info_hoshu{
	flex-basis: 100%;
	padding: 40px 10px 20px;
	display: flex;
	justify-content: center;
}
.footer_info_hoshu a{
	display: block;
	width: fit-content;
	padding: 10px 20px;
	text-align: center;
	border: solid 1px var(--color-black);
	text-decoration: underline;
	font-weight: bold;
}
.footer_info_hoshu a:hover{
	text-decoration: none;
}
@media (max-width: 1030px) {
	.footer_inner {max-width: 600px;}
	.footer_open {flex-basis: 100%;}
	.footer_kyushinbi {flex-basis: 100%; padding: 0 0 20px 0}
	.footer_info {flex-basis: 100%; text-align: center;}
}

/*フッター：コピーライト
------------------------------*/
.copyright {text-align: center; font-size: 1.2rem; color: #fff; margin-top: 50px;}

/*フッター：ナビ
------------------------------*/
.footer_nav {background: var(--color-green); padding: 20px;}
.footer_nav_inner {max-width: 1100px; font-size: 0; position: relative; padding-right: 260px}

.fnav {display: inline-block; vertical-align: top; margin-bottom: 20px; letter-spacing: 0;}
.fnav a {color: #fff; display: block;}
.fnav a:hover {text-decoration: underline;}
.fnav dt {font-weight: 400; margin-bottom: 7px;}
.fnav dt a {border-left: 1px solid #fff; padding: 5px 30px 5px 10px; font-size: 1.3rem;}
.fnav dd a {padding: 5px 30px 5px 15px; font-size: 1.2rem;}
.fnav dd a:before {content: "-"; margin-right: 3px;}

.fnav_contact {width: 260px; position: absolute; right: 0; top: 0;}

@media (max-width: 767px) {
	.footer_nav_inner {padding-right: 0;}
	.fnav_contact {position: static; padding-top: 20px}
	.fnav {width: 100%; margin-bottom: 7px;}
	.fnav dt {margin-bottom: 5px;}
	.fnav dd {display: inline-block;}
	.fnav dt a {padding: 7px 10px 7px 10px;}
	.fnav dd a {padding: 7px 0 7px 13px;}
}

/*ページの先頭
------------------------------*/
.pagetop{position: fixed; right: 20px; bottom: 20px; display: none;}
.pagetop_inner{height: 60px; width: 60px; text-align: center; background: #fff; line-height: 54px; cursor: pointer; transition: 0.2s; border-radius: 50%; border: 1px solid var(--color-green);}
.pagetop_inner i{font-size: 2rem; color: var(--color-green);}
.pagetop_inner:hover {background: var(--color-green-slight);}

@media (max-width: 767px) {
	.pagetop_inner{height: 50px; width: 50px; line-height: 44px;}
}

/*レイアウト
------------------------------*/
.contents {max-width: 1140px; padding: 50px 20px 80px; line-height: 1.7;}

.sub {display: flex; flex-wrap: wrap;}
.sub_content {flex-basis: calc(100% - 250px); padding-left: 50px; order: 2;}
.sub_sidebar {flex-basis: 250px;}
.sub_content p{
	background: #fbfbfb;
	line-height: 2.4rem;
	letter-spacing: 0.1rem;
}
.sub_content p.warning{
	font-weight: bold;
	font-size: 1.7rem;
	color: #000;
	background: #ffdc00;
	padding:2px 4px;
}
.sub_content p a{
	color: 	#1d3994;
	font-weight: bold;
	text-decoration: underline;
}
.sub_content p a:hover{
	color: #0080ff;
}
.sub_content ul{
	padding: 10px;
	background: #fbfbfb;
}
@media (max-width: 767px) {
	.contents {padding: 30px 20px 50px;}
	.sub_content {flex-basis: 100%; padding: 0 0 50px 0; order: 1;}
	.sub_sidebar {flex-basis: 100%; order: 2;}
}

/*記事
------------------------------*/
.contents p{margin-bottom: 25px;}
.article p {margin: 20px 0}
.article p:first-of-type {margin-top: 0}
.article a {color: var(--color-green);}
.article a:hover {text-decoration: underline;}

/*回り込み
------------------------------*/
.alignleft {float: left; margin: 0 30px 10px 0;}
.alignright {float: right; margin: 0 0 10px 30px;}

@media (max-width: 900px) {
	.alignleft, .alignright {float: none; display: block; margin: 0 auto 20px;}
}


/*ローカルナビ
------------------------------*/
.local {display: block; 
	height: 44px; 
	line-height: 42px; 
	font-size: 1.4rem; 
	padding: 0 20px; 
	background: var(--color-sky-slight); 
	border-radius: 22px; 
	margin-bottom: 12px; 
	transition: 0.3s;}
.local-hoshu{
	font-size: 1.2rem; 
	height: 43px;
	line-height: 1.2; 
	display: flex;
	align-items: center;
}
.local i {color: #fff;}
.local.active {background: var(--color-sky-light);}
.local:hover {background: var(--color-sky-light);}

a.btn{
	border: solid 1px var(--color-green-light);
	color: var(--color-green-light);
	padding:10px 20px;	
	border-radius: 20px;
	font-size: 1.2rem;
}
a.btn:hover{
	background-color: var(--color-green-light);
	color: #fff;
}
@media (max-width: 767px) {
	a.btn{
		display: block;
	}
}
/* gallery
----------------------*/

ul.gallery{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
ul.gallery li{
	flex-basis: 49.5%;
	margin-bottom: 1%;
}

ul.gallery figure{
	margin: 0;
}
ul.gallery figure figcaption{
	text-align: center;
	font-size: 1.0rem;
}

/* dl table*/
dl.table{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
dl.table dd{
	padding-left: 10px;
}

/* アンカー
------------------------------*/
a.anker--underline{
	text-decoration: underline;
}