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

/**********************************************************/
/* リセット */
/**********************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
	height:100%;
}

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

ol {
	margin: 0;
	padding: 0;
}

li {
	margin: 0;
	padding: 0;
}

dl, dt, dd {
	margin: 0;
	padding: 0;
}


table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix:after {
	content: ""; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.both{
	clear:both;
}

.center {
	text-align:center;
}

.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}

img {
	vertical-align:bottom;
}

a {
	text-decoration: none;
}



/**********************************************************/
/* PC */
/**********************************************************/

@media screen and (min-width: 768px) {
.pc_none, .hidden {
	display: none;
    }
	
	}	

	
header{
	width: 100%;
	max-height: 1030px;
}

#logo{
	background: url("../images/logo.png")no-repeat left bottom;
	width: 210px;
	height: 124px;
	overflow: hidden;
	white-space: nowrap;
	position: absolute;
	text-indent: 100%;
	opacity: 1;
	margin:2em 39px;
	}

.logo-link {
	z-index: 100;
	width: 280px;
	height: 180px;
	background-color: #1CB8CE;
	position: absolute;
	top: 0;
	left: 120px;
}

nav {
	margin-top: 40px;
	border-top: #707070 1px solid;
	border-bottom: #707070 1px solid;
	background-color: #FFF;
}

#menu {
	width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	border-right: #707070 1px solid;
	background-color: #fff;
}

#menu a{
	font-weight: 600;
	font-style: normal;
	font-size: 16px;
	color: #333333;
	border-left: #707070 1px solid;	
}

#menu li {
	margin-top: 20px;
	margin-bottom: 20px;
	width: 240px;
	text-align: center;
}

#main_img {
	width: 100vw;
	max-height: 965px;
	z-index: auto;

}

.main{
	width: 100vw;
	height: auto;
	max-height: 965px;
	z-index: auto;
	position: relative;
	box-sizing: border-box;
}


body{
	background-color: #F4F4F4;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	color: #333333;
}

.content_wrap{
	z-index: auto;
	}

.mainarea{
	background-color: #FFF;
}

section{
	clear: left;
	box-sizing: border-box;
	border-top: #707070 1px solid;
}


.page_title{
	display: flex;
	height: 82px;
	width: 1280px;
	margin: 0 auto;

}

h1 {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-size: 40px;
	font-style: normal;
	margin: 15px 0 0 50px;
}

h1 span{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: 21px;
	font-style: normal;
	margin: 0px 16px 0 30px;
}


.news_all{
	font-size: 11px;
	width: 130px;
	height: 24px;
	border-radius: 100vh;
	border:solid #707070 1px;
	text-align: center;
	margin:30px 0 0 0;
}

.news_all a{
	margin: 0 auto;
	color: #333333;
}

ul.news_list{
	background-color: #fff;
}

ul.news_list li a{
	display: flex;
	border-bottom:solid #707070 1px;
	padding: 24px 0 15px 56px;
	font-size: 11px;
	font-style: normal;
	color: #333333;
	width: 1280px;
	margin: 0 auto;
}

ul.news_list li.news_list_end a{
	display: flex;
	border-bottom:none;
	padding: 24px 0 15px 56px;
	font-size: 11px;
	font-style: normal;
	color: #333333;
	width: 1280px;
	margin: 0 auto;
}



ul.news_list li a::after{
	content: url("../images/target01.svg");
	text-align: right;
	margin: 0 0 0 auto;
	padding-right: 30px;
}

.date,.news_category,.news_title{
	margin: 0 50px 5px 0;
	font-size: 0.8rem;
}


.news_abstract{
	width: 1280px;
	margin: 0 auto;
}

h2 {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 36px;
	color: #333333;
	padding: 30px 0px 0 50px;
}

.title_sub{
	display: flex;
	padding: 10px 0px 30px 40px;
}

.title_sub p{
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	color: #A3A3A3;
	padding: 0 0 0 20px;
}

.news_text{
	width: 1280px;
	margin: 0 auto;
	padding: 0px 0 30px 100px;
}

.news_text p{
	line-height: 2.5;
	text-indent: 0px;
	margin-top:30px;
}


table{
	width: 100%;
}


.map{
	border-top: #707070 1px solid;
	height: 640%;
	border-bottom: #707070 1px solid;
	width: 1280px;
	margin: 0 auto;
}

.access_txt{
	margin: 30px 0;
	display: flex;
	justify-content: center;
}

.access_txt dt{
	margin: 0 30px 0 0;
	font-weight: 600;
}


footer{
	background-color: #286374;
	width: 100vw;
	height: 360px;
	color: #FFF;
}

.ft_logo{
	background: url("../images/logo.png")no-repeat left bottom;
	width: 210px;
	height: 124px;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
	margin: 100px 50px 0 50px;
	}

.ft_innner{
	display: flex;
	justify-content: center;
}

.ft_nav{
	margin: 160px 30px 0 30px;
	position: relative;
}

.ft_nav ul{
	display: flex;
}

.ft_nav ul li a{
	font-size: 14px;
	font-weight: 600;
	margin:0 30px 0 0;
	color: #FFF;
}

.copyright{
	position: relative;
	font-size: 11px;
	text-align: center;
	color: #FFF;
	margin: 50px auto;
}

/*カレンダー（PC）*/
.calendar-wrap {
  margin: 0 auto;
  max-width: 1110px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.calendar caption{
	font-size: 14px;
	font-weight: 600;
	margin:5px 10px;
}
@media (max-width: 767.98px) {
  .calendar-wrap {
    display: flex;
    flex-direction: column;
  }
}
.calendar {
  width: 100%;
  border-collapse: collapse;
}
.calendar th,
.calendar td {
  border: 1px solid #000;
  text-align: center;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.calendar th {
  padding: 6px 10px;
}
.calendar td {}

.calendar .sun {
  color: #e17f7e;
  background-color: #f8e4e2;
}
.calendar .sat {
  color: #7ab6f3;
  background-color: #e7f6fd;
}
.calendar .mute {
  color: #aaa;
}
.calendar .today {
  background-color: #7d7d7d;
}
.calendar .off {
  background-color: #E93041;
  color:#fff;
}

.calendar .off2 {
  color: #e17f7e;
  background-color: #f8e4e2;
}

@media (max-width: 767.98px) {
  .calendar th,
  .calendar td {
    padding: 6px;
    font-size: 12px;
  }
  .calendar th {
    padding: 3px 6px;
  }
}

/*カレンダー*/
