@charset "UTF-8";
/* CSS Document */
header {
/*	background: var(--green);*/
	overflow: hidden;
	position: relative;
}
header .con-inner {
	position: relative;
}
header .con-inner > div:first-child {
	padding: 3vw 0;
/*	color: #fff;*/
	width: 49%;
}
header figure {
	width: calc(49vw + 2vw);
	height: 100%;
	position: absolute;
	top: 0;
	left: 51%;
}
header figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.heading-page {
/*	background: rgb(255,255,255,.9);*/
	background: var(--green);
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	padding: .5em 2vw;
}
.heading-page span {
	font-size: .6em;
	background: #fff;
	color: #333;
	padding: .25em 1em .15em;
	border-radius: 2em;
	margin-bottom: .75em;
	display: inline-block;
}
header .text-lead {
	font-size: 1.15em;
	font-weight: bold;
	line-height: 1.8;
}
header .heading-lead {
	background: var(--green);
	color: #fff;
	font-size: 1.15em;
	font-weight: bold;
	margin: 1.5em 0 .75em;
	padding: .4em .5em .25em;
	text-align: center;
}
header ul li span {
	text-decoration: underline;
	text-decoration-color: var(--yellow);
	text-decoration-thickness: 3px;
}
header .list-dot > li {
	position: relative;
	padding-left: 1em;
}
header .list-dot > li::before {
	content: '';
	border-radius: 50%;
	width: .6em;
	height: .6em;
	display: inline-block;
	background: var(--green);
	position: absolute;
	top: .4em;
	left: .15em;
}
header .list-dot > li:not(:last-child) {
    margin-bottom: .5em;
}

@media only screen and (max-width: 960px) {
	header .con-inner > div:first-child {
	padding: 3em 0;
	width: 100%;
	}
header figure {
	width: 100vw !important;
	position: relative;
	left: -1em;
	}
	.heading-page {
		font-size: 6.5vw;
	}
}

footer {
	background: var(--green);
	color: #fff;
	padding: 50px 0 70px;
	text-align: center;
}
footer p:not(.page-top) a:hover {
	text-decoration: underline;
}
footer p:not(:last-child) {
	margin-bottom: 1em;
}

.foot-logo {
	font-size: 2rem;
	font-weight: bold;
}
.foot-logo span {
	font-size: .7em;
	color: #333;
	background: #fff;
	padding: .25em 1em .15em;
	border-radius: 2em;
	margin-bottom: .75em;
	display: inline-block;
}
.copy {
	font-size: .9em;
}
.page-top {
	border-radius: 50%;
	background: #fff;
	position: fixed;
	bottom: 1em;
	right: 1em;
	display: none;
	z-index: 100;
}
.page-top a {
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	color: var(--blue);
	border: 1px solid #fff;
	background: rgb(var(--blue-rgb), 0.25);
}
.page-top a:hover {
	background: var(--blue);
	color: #fff;
}
.page-top a:after {
  font-family: 'iconset';
  content: "\e905";
  display: block;
  font-size: 1.5em;
}
.heading-1 {
	border-radius: .75em .75em 0 0;
	background: var(--green);
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	padding: .5em;
}
.text-left {
  text-align: left; 
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right; 
}
.text-bold {
	font-weight: bold;
}

:root {
/*  青  */
  --blue: #2b9fd5;
  --blue-rgb: 43, 159, 213;
/*  黄色  */
  --yellow: #ffc700;
  --yellow-rgb: 255, 199, 0;
	/*  赤  */
  --red: #db0000;
	--red-rgb: 219, 0, 0;
	/*  緑  */
  --green: #008533;
	--green-rgb: 0, 133, 51;
}

main > section:not(:last-child) {
	margin-bottom: 100px;
}
.con-inner {
	max-width: 1500px;
	width: calc(100% - 4vw);
	margin: 0 auto;
}
.con-inner.middle {
	max-width: 1200px;
}
.wrap-main,
:not(.wrap-main) main {
	margin-bottom: 100px;
}
@media only screen and (max-width: 960px) {
	.pc-only {
		display: none;
	}
	.con-inner {
	width: calc(100% - 2em);
	}
}
@media only screen and (min-width: 959px) {
	.sp-only {
		display: none;
	}
}
@media only screen and (min-width: 768px) {
	.sp-s-only {
		display: none;
	}
}
@media only screen and (max-width: 767px) {
	.sp-scroll {
		overflow-x: scroll;
	}
}

/*　アイコンフォント　*/
@font-face {
  font-family: 'iconset';
  src:
    url('../fonts/iconset.ttf?olw93l') format('truetype'),
    url('../fonts/iconset.woff?olw93l') format('woff'),
    url('../fonts/iconset.svg?olw93l#iconset') format('svg');
  font-weight: normal !important;
  font-style: normal;
  font-display: block;
}

[class^="icon-"]::after, [class*=" icon-"]::after, main a[target="_blank"]::after, .list-news a::after,
[class^="icon-"]::before, [class*=" icon-"]::before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconset' !important;
  speak: never;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
	text-decoration: none !important;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-blank::after,
main:not(.mf_mps_mainContainer) a[target="_blank"]::after {
  content: "\e900";
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.link-file a[target="_blank"]::after {
  display: none !important;
}
.icon-file::after {
  content: "\e901" !important;
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-link::after {
  content: "\e902" !important;
	font-size: 1em;
	margin-left: .5em;
	margin-right: .25em;
	display: inline-block;
}
.icon-up::after {
  content: "\e903" !important;
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-down::after {
  content: "\e904" !important;
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}
.icon-pagetop::after {
  content: "\e905" !important;
	font-size: 1em;
	margin-left: .25em;
	margin-right: .25em;
	display: inline-block;
}

/*--------------------------------------------
新着情報
---------------------------------------------*/
.wrap-news {
	background: rgb(var(--green-rgb), 0.1);
	padding: 80px 0 60px;
}
.wrap-news .con-inner {
	border-radius: 1.5em;
	background: #fff;
	max-width: 1000px;
	padding: 2.5em 1.5em 1.5em;
	position: relative;
}
.wrap-news h1 {
	font-size: 3rem;
	font-weight: bold;
	position: absolute;
	text-align: center;
	top: -.75em;
	left: 0;
	width: 100%;
}
.wrap-news ul {
	overflow-y: auto;
	max-height: 400px;
}
.wrap-news ul li {
	display: flex;
	border-bottom: 1px dotted #ccc;
	padding: 1em;
}
.wrap-news ul li a {
	text-decoration: underline;
	color: var(--green);
}
.wrap-news ul li .wrap-day {
	width: 8em;
}
.wrap-news ul li p:last-child {
	width: calc(100% - 8em);
}
@media only screen and (max-width: 959px) {
	.wrap-news ul li {
		display: block;
	}
.wrap-news ul li p:last-child {
	width: 100%;
	}
}

/*--------------------------------------------
カレンダー
---------------------------------------------*/
.wrap-calendar table {
	font-size: .9em;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	width: 100%;
}
.wrap-calendar table tr:first-child th {
	padding: 1em .5em;
}
.wrap-calendar table th:first-child,
.wrap-calendar table td:first-child {
	min-width: 4em;
	color: #fff;
	background: var(--blue);
	text-align: center;
}
.wrap-calendar table th:not(:first-child),
.wrap-calendar table td:not(:first-child) {
	width: calc(100% / 7);
}
.wrap-calendar table th,
.wrap-calendar table td {
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: .5em;
}
.wrap-calendar table th {
	background: rgb(var(--green-rgb), 0.2);
	font-weight: bold;
	color: var(--gray);
	vertical-align: middle;
}
.wrap-calendar table td {
	position: relative;
	min-height: 2em;
	vertical-align: baseline;
}
.wrap-calendar table tr:nth-child(odd):not(:first-child) td:not(:first-child) {
	background: rgb(var(--blue-rgb), 0.1);
}
.wrap-calendar table a {
	text-decoration: underline;
	color: var(--green);
}
.wrap-news ul li a:hover,
.wrap-calendar table a:hover {
	color: var(--red);
}
@media only screen and (max-width: 959px) {
	.wrap-calendar {
		max-height: calc(100vh - 100px);
		overflow-y: auto;
	}
	.wrap-calendar table {
		width: 1200px;
	}
}
@media only screen and (max-width: 767px) {
}

