

@charset "utf-8";

.header-img {
position: relative;
max-width: 100%;
    height: auto;
}

#header {
position: absolute;
top:0;
left: 0;
right: 0;
margin: 0;

background-color: #FFF;
}
/* パンくず
----------------------------------------------------------- */
#pan {
clear:both;
width:100%;
padding:0;
margin-top:0px;
background-color:#003070;
}

#panbox {
max-width: 1800px;
min-width:1200px;
margin:0 ;
padding: 0px 2em .9em 2em;
text-align: left;
}

#panbox li {
display: inline-block;
color: #FFF;
font-size: 16px;
}

#panbox a {
color: #FFF;
font-size: 16px;
}

#panbox li::after {
content: "";

margin: 0px;
}

#panbox li:last-child::after {
content: ""
}



#panbox-img {
position: relative;
max-width: 100%;
    height: auto;
}

/* グラデーション
----------------------------------------------------------- */
.gradation {
  background: linear-gradient(90deg, #4158D0, #C850C0 30%, #FFCC70);
  background: -webkit-linear-gradient(0deg, #4158D0, #C850C0 30%, #FFCC70);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* ------------------------------------------------------
	アニメーション用CSS
------------------------------------------------------ */

.sa {
	opacity: 0;
	transition: transform 1.5s ease, opacity 1.5s ease, background .5s ease, border .5s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.blur {
	opacity: 0;
	filter: blur(50px);
	transition: filter 1.5s ease;
}

.blur.show {
	opacity: 1;
	filter: blur(0);
	transform: none;
}

.sa.left {
	opacity: 1;
	position: relative;
	transition: none;
}


.sa--lr {
	transform: translate(-50px, 0);
}

.sa--rl {
	transform: translate(50px, 0);
}

.sa--up {
	transform: translate(0, 30px);
}

.sa--down {
	transform: translate(0, -50px);
}

.sa--scaleUp {
	transform: scale(.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}

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

	.sa {
		transition: transform 1s ease, opacity 1s ease, background .5s ease, border .5s ease;
	}

	.blur {
		transition: filter 1s ease;
	}


}




/* コンテンツ
----------------------------------------------------------- */



#contents {
margin:0 auto;
padding: 2em 0 0 0;
}

#pagetitle {
font-size: 26px;
font-weight: normal;
display: flex;
align-items: center; /* 垂直中心 */
justify-content: center; /* 水平中心 */
}

#pagetitle:before,
#pagetitle:after {
border-top: 1px solid #666;
content: "";
width: 2em; /* 線の長さ */
}

#pagetitle:before {
margin-right: 1em; /* 文字の右隣 */
}

#pagetitle:after {
margin-left: 1em; /* 文字の左隣 */
}

.title {
color :#003070;
font-size: 14px;
font-weight: 700;
margin: 0 0 3em 0;
}


/* メイン
----------------------------------------------------------- */
.contentsbox {
max-width:1200px;
margin: 0 auto 2em auto;
padding: 0px 4%;

overflow: hidden;
}

.contentsbox_list {
max-width:1200px;
margin: 0 auto;
padding: 2.5em 3em 2em 3em;
overflow: hidden;
background-color: #F4F4F4;
}

#main {
width: 72%;
float:left;
text-align: left;
border-top-left-radius: 6px;
}

#mainbox h2 {
font-size: 22px;
font-weight: normal;
line-height: 1.6;
margin: 0 0 1em 0;
padding: 0 0 0.3em 0;
border-bottom: 4px solid #003070;
}

#mainbox h2 span {
font-size: 18px;
font-weight: 700;
color :#FFF;
padding: 0.4em 0.8em 0.6em 0.8em;
margin: 0 1em 0 0;
background-color :#003070;
border-top-left-radius: 6px;
}

.contentsbox_list h2 {
font-size: 22px;
line-height: 1.5;
color: #003070;
text-align: left;
padding: 0 0 1.5em 0;
}


#mainbox h3 {
font-size: 22px;
color: #003070;
line-height: 1.5;
margin: 2em 0 1em 0;
padding: 0.5em 0.5em;
vertical-align: middle;
background-color:#F2F2F2;
border-radius: 6px;
}

#mainbox h2 + h3 {
margin: 0.5em 0 1em 0;
}

#mainbox h4 {
font-size: 20px;
color: #003070;
margin: 2em 0 1em 0;
padding: 0 0 0.5em 0;
border-bottom: 1px dotted #777;
}

#mainbox h5 {
font-size: 18px;
margin: 2em 0 1em 0;
}



.day {
font-size: 15px;
}

#side {
width: 24%;
float:right;
text-align: left;
padding: 1em;
margin: 40px 0 0 0;
border: 5px solid #F2F2F2;
}

#side h3 {
font-size: 18px;
font-weight:normal;
padding: 0 0 0 46px;
margin: 0 0 1em 0;
background-image: url(../images/i_school.png);
background-position: 0 0;
background-repeat: no-repeat;
}

.accordion {
width: 100%;
}

.accordion li {
border-bottom: 1px dotted #777;
}

.accordion li:last-child {
border-bottom: none;
}

.accordion li a {
display:block;
padding: 0.3em 0;
}

.accordion li a:hover {
color :#FFF;
padding: 0.3em 0.6em;
background-color: #003070;
}

.button {
width: 100%;
font-size: 16px;
padding: 0.3em 0;
cursor: pointer;
position: relative;
color :#003070;
background-color :#FFF;
border:none;
text-align:left;
}

.accordion li button a {
padding: 0;
display:inline-block;
}

.accordion li button a:hover {
padding: 0;
color :#003070;
background-color: #FFF;
}

.button:after {
font-size: 12px;
content: "+";
position: absolute;
top: 9px;
right: 2px;
padding: 0 8px;
color: #003070;
border:1px solid #003070;
}

.button.active:after {
content: "-";
font-size: 12px;
padding: 0 10px;
color: #003070;
border:1px solid #003070;
}

.accordion a {
color: #003070;
text-decoration: none;
}

.accordion button {
border-bottom:1px dotted #777;
}

.accordion_1 {
border:none;
padding: 0.5em 0.8em;
background-color: #F4F4F4;
}

.accordion_1 li {
border-bottom:1px dotted #777;
}
.accordion_1 li:last-child {
border:none;
}

.accordion_1 li a {
font-size: 13px;
padding:8px 0 10px 0;
color: #000;
text-decoration: none;
}

.accordion_1 li a:hover {
color: #003070;
padding:8px 0 10px 0;
background-color: #F4F4F4;
}

.accordion_1 li a::before {
content:"―";
color: #999;
margin: 0 0.5em 0 0;
}

.menuopen {
display:block!important;
}

@media screen and (max-width: 768px) {
	/* パンくず */
	#pan {
	margin-top:76px;
	}
	#panbox {
	max-width: 100%;
	min-width: 100%;
	padding: 0.8em 1.2em .9em 1.2em;
	}
	
	/* コンテンツ */
	
	#pagetitle {
	font-size: 22px;
	}
	#pagetitle:before,
	#pagetitle:after {
	width: 1em; /* 線の長さ */
	}
	
	/* メイン */
	
	.contentsbox {
	max-width: 100%;
	margin: 0;
	}
	.contentsbox_list {
	max-width: 100%;
	padding: 2em 1.5em 1em 1.5em;
	}
	#main {
	width: 90%;
	float: none;
	display: block;
	padding: 0 0 2em 0;
	margin: 0 auto;
	border: none;
	}
	#mainbox h2 {
	font-size: 20px;
	font-weight: normal;
	color: #003070;
	padding: 0 ;
	margin: 0 ;
	border-bottom: none;
	}
	#mainbox h2 span {
	font-size: 20px;
	display: block;
	padding: 0.4em 0.8em 0.2em 0.8em;
	margin: 0 0 0.5em 0;
	border-top-right-radius: 6px;
	}
	#mainbox h3 {
	font-size: 20px;
	}
	#mainbox h4 {
	font-size: 18px;
	}
	#mainbox h4 {
	font-size: 16px;
	}



	.day {
	font-size: 13px;
	margin: 0 0 1.5em 0;
	}
	#side {
	width: 100%;
	float: none;
	display: block;
	border: 5px solid #003070;
	}
	.contentsbox_list h3 {
	font-size: 20px;
	padding: 0 0 1em 0;
	}
}


/*　リスト系
-------------------------------------------------*/
#mainbox ul {
padding: 0 0 0 26px;
}

#mainbox li {
list-style-type:disc;
}

#mainbox ol {
padding: 0 0 0 26px;
}

#mainbox ol li {
list-style-type:decimal;
line-height:1.8;
margin: 0 0 1em 0;
}

#downloadbox ul {
padding: 0 ;
}

#downloadbox li {
list-style-type:none;
font-weight:700;
padding: 0 0 0.5em 46px;
margin: 0 0 0.5em 0;
line-height: 3.0;
border-bottom: 1px solid #CCC;
background-image: url(../images/i_memo.png);
background-position: 0 0.5em;
background-repeat: no-repeat;
}

#downloadbox p {
font-size: 15px;
color :#666;
margin:0;
}

 


/*　ダウンロード
-------------------------------------------------*/
#downloadbox {
padding: 1em 0 0 0;
}

#downloadbox span {
color :#999;
font-size: 13px;
display:inline-block;
}


/*　給食室
-------------------------------------------------*/
#lunchbox {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

#lunchbox_l {
width: 48%;
margin:0 2% 0 0;
}

#lunchbox_r {
width: 48%;
margin:0 0 0 2%;
}

#lunchbox section {
width: 20%;
position: relative;
margin: 0 0 2px 0;
padding: 0 2px 0 0;
height: 150px;
overflow: hidden;
}

.lunchbox a {
display: inline-block;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
text-align: center;
}


.lunchbox img {
position: relative;
top:0;
left: -11%;
margin: auto;
max-width: 100%;
    height: auto;

vertical-align: bottom;
z-index: 2;
}

.lunchbox span {
display: block;
width: 84px;
height: 26px;
font-size: 14px;
font-weight: 700;
color: #333;
background-color: #FFF;
margin:0;
position: absolute;
z-index: 4;
bottom: 0;
left: 0;
text-align: center;
}

@media screen and (max-width: 768px) {
	/* ダウンロード */
	#downloadbox li {
	line-height: 2.0;
	padding: 0.8em 0 0.8em 46px;
	}
	
	/* 給食室 */
	
	#lunchbox_l {
	width: 100%;
	float:none;
	display:block;
	margin:0:
	}
	#lunchbox_r {
	width: 100%;
	float:none;
	display:block;
	margin:0:
	}
	#lunchbox section {
	width: 50%;
	}
	.lunchbox:nth-of-type(5n) a {
	margin: 0 10px 1em 0;
	}
	.lunchbox:nth-of-type(even) a {
	margin: 0 0 1em 0;
	}
}


/*　Information
-------------------------------------------------*/
#listarea,
#listarea2 {
padding: 1em 0 0 0;
}

#listarea dl {
overflow:hidden;
padding: 0 0 0.5em 0;
margin: 0 0 0.5em 0;
border-bottom:1px dotted #CCC;
}

#listarea dt {
width: 30%;
float:left;
text-align:left;
}

span.news {
display:inline-block;
font-size: 14px;
line-height:1.5;
padding: 0 0.6em;
margin: 0 0 0 0.8em;
background-color:#ffe846;
}

span.event {
display:inline-block;
font-size: 14px;
line-height:1.5;
padding: 0 0.6em;
margin: 0 0 0 0.8em;
color :#FFF;
background-color:#95cc4a;
}

#listarea dd {
width: 70%;
float:right;
text-align:left;
}

#listarea2 dl {
overflow:hidden;
padding: 0 0 0.5em 0;
margin: 0 0 0.5em 0;
border-bottom:1px dotted #CCC;
}

#listarea2 dt {
width: 20%;
float:left;
text-align:left;
}

#listarea2 dd {
width: 80%;
float:right;
text-align:left;
}


/* ページフッター移動
----------------------------------*/

#menufooter,
#pagefooter {
clear:both;
padding: 2em 0 0 0;
text-align:center;
}

span.current_page {
font-size: 15px;
line-height: 1.3;
padding: 0.2em 0.5em;
color :#FFF;
margin:0 1px 3px 1px;
background-color :#003070;
border:1px solid #003070;
}



#menufooter a,
#pagefooter a {
font-size: 15px;
line-height: 1.3;
padding: 0.2em 0.5em;
margin:0 1px 3px 1px;
color :#003070;
background-color:#FFF;
text-decoration:none;
border:1px solid #003070;
}

#menufooter a:


er,
#pagefooter a:hover {
color : white;
background-color :#003070;
}

/* テーブル------------------------------ */

table {
width:100%;
margin:0 auto 1em auto;
}

th {
width:24%;
font-size: 15px;
text-align:left;
font-weight:normal;
padding:0.5em 1em;
background-color:#F2F2F2;
border:1px solid #CCC;
}

td {
width:76%;
font-size: 15px;
text-align:left;
padding:0.5em 1em;
background-color:#FFF;
border:1px solid #CCC;
}

@media screen and (max-width: 768px) {
	
	/* Information */
	
	#listarea dt {
	width: 100%;
	float:none;
	display:block;
	}
	#listarea dd {
	width: 100%;
	float:none;
	display:block;
	}
	#listarea2 dt {
	width: 100%;
	float:none;
	display:block;
	}
	#listarea2 dd {
	width: 100%;
	float:none;
	display:block;
	}
	th {
	width:100%;
	display:block;
	}
	td {
	width:100%;
	display:block;
	}
}



/* リスト表示（ブログ一覧）
----------------------------------------------------- */
#listbox {
text-align: left;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

#listbox a {
display:inline-block;
width: 32%;
color: #333;
margin: 0 2% 1.4em 0;
background-color: #FFF;
border: 1px solid #CCC;
text-decoration: none;
}

#listbox a:nth-of-type(3n) {
margin: 0 0 1em 0;
}

#listbox a:hover {
background-color: #F4F4F4;
}

#listbox section {
}

#listbox dl {
padding: 1em;
position:relative;
}

#listbox dt {
max-height: 240px;
overflow:hidden;
}

#listbox dt span.new {
position: absolute;
z-index: 2;
top: 52%;
right: 8px;
}

#listbox dt img {
vertical-align: bottom;
}

#listbox dd {
font-size: 13px;
text-align: left;
padding: 4px 0 0 0;
}

#listbox h3 {
font-size: 16px;
line-height: 1.4;
color :#003070;
margin: 0 0 0.8em 0;
text-decoration: underline;
}

#listbox p.day {
font-weight: 700;
margin: 0;
}

#listbox_nav {
max-width:1200px;
margin: 2em auto;
padding: 1em 1.5em;
background-color: #003070;
}

#listbox_nav dl {
overflow: hidden;
padding: 0.8em 2em 1.4em 2em;
background-color: #FFF;
}

#listbox_nav dt {
width: 30%;
float: left;
font-weight: 700;
line-height: 1.6;
letter-spacing: 0.2em;
text-align: left;
padding: 1em 0 0 70px;
background-image: url(../images/i_school.png);
background-repeat: no-repeat;
background-position: 1em 0.6em;
}

#listbox_nav dd {
width: 68%;
float: right;
text-align: left;
}

#listbox_nav ul {
padding: 12px 0 0 0;
}
#listbox_nav li {
display: inline-block;
margin: 0 2em 0 0;
}

#listbox_nav li a {
color: #003070;
font-size: 15px;
font-weight: 700;
padding: 0 0 0 20px;
background-image: url(../images/i_arrow.png);
background-position: 0 0.3em;
background-repeat: no-repeat;
text-decoration: none;
}

#listbox_nav li a:hover {
text-decoration: underline;
}


@media screen and (max-width: 768px) {
	
	/* 三段目 ブログ */
	
	#listbox {
	width: 100%;
	margin: 0 auto;
	}
	#listbox a {
	width: 100%;
	margin: 0 0 1em 0;
	}
	#listbox_nav {
	max-width: 100%;
	margin: 0 auto;
	padding: 0.5em 0.5em;
	}
	#listbox_nav dt {
	width: 100%;
	float: none;
	display: block;
	padding: 1.4em 0 0.7em 50px;
	margin: 0 0 0.2em 0;
	border-bottom: 1px dotted #999;
	background-position: 0 1em;
	}
	#listbox_nav dd {
	width: 100%;
	float: none;
	display: block;
	}
	#listbox dt {
	max-height: 500px;
	}
}
/*ベース*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 1em;
	display: block;
font-size: 18px;
font-weight: 700;
	color: #fff;
	background:#003070;
border-top-left-radius: 6px;
border-top-right-radius: 6px;

line-height: 1.5;




}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}