@charset "shift_JIS";

* { 
margin: 0;
 padding: 0;
  border: 0;
	box-sizing: border-box;
}
ul,ol {
    margin-left: 1em;
    list-style-position: outside;
    text-align: left;
}
table {
}
table th {
    padding: 5px;
    border: 1px solid #EBEBEB;
}
table td {
	padding: 5px;
    border: 1px solid #EBEBEB;
}






/***** ハンバーガーボタン *****/


::before , ::after {
	box-sizing: inherit;
}
button {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}
/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.mainbtn {
    /* ボタンの配置位置  */
    position: fixed;
    top: 22px;
    right: 16px;
    /* 最前面に */
    z-index: 100;
    /* ボタンの大きさ  */
    width: 48px;
    height: 48px;
    cursor: pointer;
    background-color: rgba(255,255,255,0.75);
}
/***** 真ん中のバーガー線 *****/
.btn-line {
    display: block;
    /* バーガー線の位置基準として設定 */
    position: relative;
    /* 線の長さと高さ */
    width: 100%;
    height: 4px;
    /* バーガー線の色 */
    background-color: #69AED0;
    transition: .2s;
}
/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #d6d5d5;
	transition: .5s;
	    right: 0px;
}
.btn-line::before {
	/* 上の線の位置 */
	transform: translateY(-16px);
}
.btn-line::after {
	/* 下の線の位置 */
	transform: translateY(16px);
}
/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}
.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #333;
	transition: .2s;
}
.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg);
}
.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg);
}
/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
    /* メニューを縦に */
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    flex-wrap : wrap;
    position: fixed;
    /* メニューの位置マイナス指定で画面外に */
    right: -100%;
    width: 100%;

    color: #320B0C;
    transition: .3s;
	z-index: 99;
}
.menu-list {
    display: block;
    width: 50%;
    border-right: 0px;
    border-bottom: 1px dotted #CBEDED;
    background-color: rgba(255,255,255,1.00);
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
}
    /* メニューテキスト位置をリスト内中心に
.menu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-right: 0px;
    border-bottom: 1px dotted #CBEDED;
    background-color: rgba(255,255,255,1.00);
}
 */
.menu-list:hover {
    background-color: rgba(188,228,247,1.00);
    color: #333;
    cursor: pointer;
    transition: .3s;
}
/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
	position: absolute;
	right: 0;
}
/* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 768px) {
	.mainbtn {
		display: none;
	}
	.menu {
    /* メニューを横に */
    display: flex;
    flex-direction: row;
    position: static;
    top: 0;
    right: 0;
    width: 1200px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
	}
	
.menu {
    /* メニューを縦に */
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    flex-wrap : nowrap;
}
.menu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-right: 0px;
    border-bottom: 1px dotted #CBEDED;
    background-color: rgba(255,255,255,1.00);
    list-style-type: none;
}
	
	
	
.menu-list {
    border-right: 2px dashed #9FE0E1;
    border-bottom: 0px;
    background-color: rgba(255,255,255,0.00);
    text-align: center;
}
.menu-list:last-child {
    border-right: 0px;
    border-bottom: 0px;
}	
.menu-list {
display: block;
    align-items: center;
    justify-content: center;
}	
.menu-list div {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
    margin-top: 10px;
}		
.menu-list img {
	display: block;
}	
}
/***** ハンバーガーボタン *****/





h1 {
    width: 360px;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
}
h1 img {
	width: 100%;
}


p {
	padding-top: 2px;
	padding-bottom: 4px;
	margin: 0px;
}

a {
    color: #5B2500;
    text-decoration: none;
} 
a:visited {
    color: #5B2500;
    text-decoration: none;
} 
a:hover {
    color: #5B2500;
} 
a:active {
　　color: #CC0066; 
} 



.photo {
	border: 10px solid #FFF;
	border-radius:8px;
	-moz-border-radius:8px;
	-webkit-border-radius:8px;
	box-shadow:1px 1px 4px #ccc;
	-moz-box-shadow:1px 1px 4px #ccc;
	-webkit-box-shadow:1px 1px 4px #ccc;
}

/*---------------------------------------------------------
  						clearfix
---------------------------------------------------------*/
.clearfix:after {
    content: "."; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    min-height: 1px;
}
.clea{
	clear:both;	
	}
* html .clearfix {
    height: 1px;
    /*?*//*/
    height: auto;
    overflow: hidden;
    /**/
}





h2 {
    color: #623E3F;
    font-size: 30px;
    text-align: center;
    font-weight: normal;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url(images/bg_h2_f.png);
    margin-bottom: 30px;
    padding-bottom: 60px;
    margin-left: auto;
    margin-right: auto;
    width: 480px;
    padding-top: 70px;
}


h3 {
    margin-bottom: 15px;
    background-image: url(images/bg3.png);
    padding-top: 6px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 6px;
    border-radius: 5px;
    text-align: left;
    font-size: 22px;
}


h4 {
	text-align: left;
	font-size: 20px;
	font-weight: normal;
	color: #F84C67;
	margin-top: 10px;
	margin-bottom: 10px;
}

img {
	vertical-align: bottom;
	border: 0px;

}



main a:hover img {
	opacity: 0.7;
	-moz-opacity:0.7; 
	filter: alpha(opacity=70);
	zoom: 1;
}

#menu {
    background-image: url(images/bg_body.png);
}


.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 98;
}



/*ページ構成*/
html,body {
    margin: 0px;
    padding: 0px;
    width: 100%;
    text-align: center;
    font-family: 'Kosugi Maru', sans-serif;
    font-size: 16px;
    color: #564235;
    background-color: #FFFCF2;
    background-image: url(images/bg_body.png);
    background-repeat: repeat;
    background-position: center top;
	line-height: 1.8em;
}


#system_main {
    text-align: center;
    background-image: url(images/bg_main.png);
    background-repeat: no-repeat;
    background-position: right top;
}


header {
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    width: 1200px;
}


footer {
    width: 100%;
    text-align: center;
}
footer .copy {
    text-align: center;
    font-size: 12px;
    color: #5A3D1C;
    margin-right: auto;
    margin-left: auto;
    background-color: #331B1B;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
}
footer .copy img {
	height: 25px;
	}
footer .address {
	text-align: center;
	font-size: 12px;
	color: #5A3D1C;
	margin-right: auto;
	margin-left: auto;
	padding-top: 10px;
	padding-bottom: 10px;
}
#page_top{
    width: 135px;
    position: fixed;
    right: 10px;
    bottom: -150px;
}

#page_top img {
    width: 100%;
}


.bg1 {
	background-image: url(images/bg1.png);

}
.bg2 {
    background-color: #9FE0E1;
    background-image: url(images/bg2.png);
}



.box {
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 60px;
	padding-bottom: 60px;
}

/* トップ */


#topslide {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
    width: 1080px;
}
.slider img {
    width: 100%;
    height: 630px;
    object-fit: cover;
}
#topimg1 {
	position:absolute;
	top:0px;
	left: 0px;
}

#topimg1 img {
	width: 100%;
	height: 100%;
	z-index: 2;
}



#news {
	}
#newsbox {
    max-height: 300px;
    overflow-y: scroll;
    background-color: #FFF3F7;
    border-radius: 15px;
    padding: 15px;

	}
#newsbox table {
    width: 100%;
    margin-bottom: 40px;
    border-bottom: 1px dotted #AD8F7E;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}
#newsbox th {
    padding: 5px;
    text-align: left;
    color: #7E695C;
    font-size: 1.2em;
	border-width: 0px;
	}
#newsbox td {
    padding: 10px;
    text-align: left;
	border-width: 0px;
	}
#newsbox td.pdf a {
    padding: 5px;
    background-color: #FF9BBD;
    display: block;
    text-align: center;
    color: #FFFFFF;
    border-radius: 10px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
	}


.flex {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    flex-wrap : wrap;
}
#map {
	margin-bottom: 20px;
	width: 46%;
order:1;
	}
	
#map iframe {
	width: 100%;
	height: 400px;
	border: 4px solid #FFFFFF;
	}
#topgaiyou {
    margin-bottom: 20px;
    order: 2;
    width: 50%;
    background-image: url(images/bg_address.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 50% auto;
    padding-bottom: 100px;
	}
#topgaiyou table {
    border-collapse: collapse;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
}
#topgaiyou th {
	padding-top: 0.3em;
	padding-right: 0.3em;
	padding-left: 0.3em;
	padding-bottom: 0.3em;
	text-align: left;
	font-weight: normal;
	border-bottom: 1px dashed #A6C1CC;
}
#topgaiyou td {
    padding: 5px;
    text-align: center;
    font-size: 1.1em;
    color: #331B1B;
    border-width: 0px;
}
#topgaiyou img {
	width: 70%;
}


#outline {

}
#outline > table {
    border-collapse: collapse;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    margin-bottom: 15px;
}
#outline > table th {
    padding: 10px;
    text-align: left;
    font-weight: bold;
    border-bottom: 1px dashed #A6C1CC;
    width: 22%;
    color: #BF4765;
    vertical-align: top;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}
#outline > table td {
    padding: 10px;
	text-align: left;
	border-bottom: 1px dashed #A6C1CC;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}

#outline > table td > table th {
    background-color: #EBEDF0;
    border-bottom: 1px solid #A6C1CC;
    text-align: center;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}
#outline > table td > table td {
    background-color: #F7F8F9;
    text-align: center;
    border-bottom: 1px solid #A6C1CC;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}


#enkaku {

}
#enkaku > table {
    border-collapse: collapse;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    margin-bottom: 15px;
}
#enkaku > table th {
    padding: 10px;
    text-align: left;
    font-weight: bold;
    border-bottom: 1px dashed #A6C1CC;
    width: 22%;
    color: #BF4765;
    vertical-align: top;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}
#enkaku > table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px dashed #A6C1CC;
    border-top-width: 0px;
    border-right-width: 0px;
    border-left-width: 0px;
}


.txt {
    text-align: left;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
}

#about {}
#rinen {
    margin-bottom: 40px;
}

#mokuhyou {
    margin-bottom: 40px;
}
#houshin {
    margin-bottom: 40px;
}

#naiyou {
    margin-bottom: 40px;
}
#naiyou ul {
    text-align: left;
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 30px;
    margin-bottom: 0px;
    background-image: url(images/bg_naiyou.png);
    background-repeat: no-repeat;
    background-position: right bottom;
	list-style: none;
}
#naiyou li {
    padding-top: px;
    padding-bottom: 10px;
    margin-bottom: 15px;
    padding-left: 40px;
    background-image: url(images/list2.png);
    background-repeat: no-repeat;
    background-position: left top;
}


#daily {
	}
#daybox {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
    flex-wrap : wrap;
}
#day1 {
    width: 48%;
    margin-left: 1%;
    margin-right: 1%;
    margin-bottom: 15px;
}
#day2 {
    width: 48%;
    margin-left: 1%;
    margin-right: 1%;
    margin-bottom: 15px;
}


#day1 th {
    width: 22%;
    background-color: #FFB6D4;
    padding: 5px;
}

#day2 th {
    width: 22%;
    background-color: #90CCFF;
    padding: 5px;
}

#daybox table {
    width: 100%;
    border-spacing: 2px;
	border-collapse: separate;
    margin-bottom: 10px;
}
#daybox td {
    padding: 5px;
    background-color: #fff;
    text-align: left;
    line-height: 2em;
}

#daybox img {
    width: 100%;
}

#daily ul {
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
    flex-wrap : wrap;
	list-style: none;
}
#daily ul li {
    width: 23%;
	margin-left: 1%;
	margin-right: 1%;
	
}
#daily ul li img {
    width: 100%;
    object-fit: cover;
    height: 220px;
    border-radius: 20px;
}




#class {
    margin-bottom: 50px;
}
#class dl {
    padding: 20px;
    background-color: rgba(255,247,218,0.80);
    border-radius: 5px;
    margin-top: 50px;
    background-image: url(images/bg4.png);
}


#class dt {
    text-align: left;
    margin-bottom: 10px;
    font-size: 1.2em;
    border-bottom: 2px solid #552D15;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 45px;
    background-image: url(images/list.png);
    background-repeat: no-repeat;
    background-position: 10px 10px;
    padding-top: 20px;
}

#class dd {
    text-align: left;
    margin-bottom: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 10px;
    padding-left: 10px;
    background-color: #FFFFFF;
}
#class dd figure {
    width: 31.33%;
	margin-left: 1%;
	margin-right: 1%;
    text-align: center;
}
#class dd figcaption {


}
#class dd figure img {
    width: 100%;
    border-radius: 20px;
	object-fit: cover;
	height: 250px;
}
.cflex {
    display: flex;
    justify-content:flex-start;
    box-sizing: border-box;
    flex-wrap : wrap;
}











#event {

}

.eventbox {
    width: 100%;
    display: flex;
    justify-content: space-between;
	flex-wrap : wrap; 
}
.eventbox dl {
    width: 32%;
    text-align: center;
    margin-bottom: 15px;
    border-radius: 20px;
    background-color: #FFFAF6;
    border: 3px solid #E0D3C7;
}

.eventbox dt {
    padding-top: 20px;
    padding-bottom: 10px;
    text-align: center;
}
.eventbox dd {
    padding-top: 15px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 15px;
}

.eventbox dt img {
    width: 40%;
}
.eventbox dd img {
    width: 90%;
    border-radius: 20px;
	object-fit: cover;
	height: 220px;
}

.eventbox dd hr {
    border-top: 2px dotted #E0D3C7;
    margin-top: 20px;
    margin-bottom: 20px;
}

#floor {

}

.fflex article {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    border-spacing: 4px;
    padding-top: 30px;
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 30px;
    background-color: #FFE9EE;
}
.fflex article dl {
}

.fflex article dt {
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    text-align: left;
    font-weight: normal;
    background-color: #F97693;
    margin-bottom: 10px;
    border-radius: 10px;
    color: #FFFFFF;
}
.fflex article dd {
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
    text-align: left;
    background-color: #FFFEFB;
    border-width: 0px;
    border-radius: 10px;
}
.fflex {
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
    flex-wrap : wrap;
}
.fflex article {
    width: 48%;
	margin-left: 1%;
	margin-right: 1%;
    margin-bottom: 30px;
}
	
.fflex article img{
    width: 100%;
    border-radius: 15px;
    margin-top: 20px;
}




#info {
padding-top: 130px;
	margin-top: -130px;
}
#info dl {
    padding-top: 20px;
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 20px;
    background-color: #FFEBEC;
    margin-bottom: 30px;
    background-image: url(images/bg4.png);
}

#info dt {
    text-align: left;
    font-size: 1.2em;
    padding: 10px;
    background-color: #FFFFFF;
    border-radius: 10px;
}

#info dd {

}
.rtxt {
    text-align: left;
    padding: 10px;
}
.rpdf {
    padding: 10px;
}
.rpdf a {
    display: block;
    background-color: #D8E7FF;
    padding: 7px;
    width: 100%;
    color: #563E3E;
    border-radius: 6px;
    text-align: left;
}
.rpdf a:hover {
    background-color: #E9385E;
    color: #FFFFFF;
}





#download {

}
#download ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap : wrap;
	list-style: none;
	margin-left: auto;
	}
#download ul li {
    width: calc(100% / 3 - 20px);
    background-color: #FBEDF2;
    text-align: center;
    padding-top: 100px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
    background-image: url(images/bg_file.png);
    background-repeat: no-repeat;
    background-position: center top;
    margin-bottom: 20px;
	}
#download a {
    text-decoration: underline;
    color: #3F6DB3;
}





@media screen and (max-width:768px){

html,body {

}
	header {
width: auto;
		margin-bottom: 0px;
	}


h1 {
    width: 50%;
    text-align: center;
    margin-left: auto;
    padding-left: 0px;
	}


.pagetop {
	text-align: right;
	padding-bottom: 10px;
	width: 95%;
	margin-right: auto;
	margin-left: auto;
}
.pagetop img {
	width: 20%;
}

footer .copy img {
	width: 80%;
	height:auto;
	}


h2 {
    color: #623E3F;
    font-size: 24px;

}
	
.box {
	width: auto;
	padding: 15px;
}
	
#topslide {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
    width: 100%;
    margin-top: 15px;
}
.slider img {
	width: 100%;
	height: 56vw;
	object-fit: cover;
}	
	
	
#naiyou ol {
    background-position: center bottom;
    padding-bottom: 280px;
    margin-left: 10px;
    margin-right: 10px;
}	
	
#info dd {
	display: block;
}	
.rtxt {
	width: 100%;
}
.rpdf {
	width: 100%;
}		
	
#class dd figure {
    width: 100%;
    text-align: center;
	margin-bottom: 10px;
}	
#class dd figure img {

	height: auto;
}	
	
	
.eventbox dl {
    width: 100%;
}	
.eventbox dt img {
    width: 40%;
}	
.eventbox dd img {
    width: 90%;
    border-radius: 20px;
	object-fit: cover;
	height: auto;
}	
	
#download ul li {
    width: 100%;
    margin-bottom: 10px;
	}	
	
}



@media screen and (max-width:480px){
#system_main {
    text-align: center;
    background-image: url(images/bg_main_sp.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 80% auto;
}



h1 {
    width: 65%;
    margin-right: auto;
    margin-left: 10px;
    padding-top: 15px;
}


h3 {
	font-size: 20px;
}


footer .copy img {
	width:100%
}

#page_top{
  width: 100px;
  position: fixed;
  right: 10px;
  bottom: -100px;
}
	

header {

}
#outline > table th {
    width: auto;
}
#enkaku > table th {
    width: auto;
}
	
	.oth,.otd {
		width: 100%;
		display: block;
	}

	
#map {
	width: 100%;
order:2;
}
#topgaiyou {
	width: 100%;
	order:1;
}
#topgaiyou td {
    padding: 5px;
    text-align: center;
    font-size: 0.9em;
    color: #331B1B;
}
#topgaiyou img {
	width: 80%;
}		
	h2 {
		width: auto;
    background-size: 100% auto;
	}
	
.fflex article {
	width: 100%;
}	
	
#day1 {
    width: 98%;
    margin-left: 1%;
    margin-right: 1%;
    margin-bottom: 15px;
}
#day2 {
    width: 98%;
    margin-left: 1%;
    margin-right: 1%;
    margin-bottom: 15px;
}
	
#daily ul li {
    width: 98%;
	margin-left: 1%;
	margin-right: 1%;
	margin-bottom: 10px;
	
}	
#daily ul li img {
	height: auto;
}	
	
#naiyou ul {
    text-align: left;
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 30px;
    margin-bottom: 0px;
    background-image: url(images/bg_naiyou.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    list-style: none;
    background-size: 100% auto;
    padding-bottom: 200px;
}	

	}
	
