@charset "UTF-8";

/* リセット */
a{text-decoration:none;}
img{border:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,article,section,aside,figure,figcaption {display:block;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}

/* 設定 */
a {color:#3cb371;}
a hover {border:bottom;}
.page{max-width:1000px;width:100%;margin:0 auto;}
body {background-color:#fff; font-size:12px;color:#332f26;}
h1,h2,h3{ font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; font-size:170%; border-left:solid 4px #745399; padding-left:6px; margin-bottom:10px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}

/* -------------------------------------
header
------------------------------------- */
#ttl {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	max-width:1000px;
	width:100%;
	max-height:300px;
	height:auto;
	margin-top:40px;
	position:relative;
	z-index:1;
	overflow:hidden;
}
#ttl:hover {
	filter:alpha(opacity=70);/* IE 6,7*/
	-ms-filter: "alpha(opacity=70)";/* IE 8,9 */
	-moz-opacity:0.7;/* FF , Netscape */
	-khtml-opacity: 0.7;/* Safari 1.x */
	opacity:0.7;
	zoom:1;/*IE*/
	box-sizing: border-box;
	overflow:hidden;
}
#ttl a {
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	text-indent:-999px;
	z-index: 2;
	box-sizing:border-box;
	overflow:hidden;
}
#ttl p{
	font-size:30px;
	color:#ffffff;
	text-shadow: 0px 0px 20px #000;
	position:absolute;
	top:85%;
	left:3%;
}

#ttl .t_ttl {
	width:100%;
	box-sizing: border-box;
}
#ttl img {
	width:100%;
	height:100%;
}
#ttl_m {
	display:none;
}

/* -------------------------------------
content
------------------------------------- */
.content {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  background: #eee;
  margin: 0 auto;
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}
.gm_nav {
	display:none;
}
.nav {
  max-width: 1000px;
  width:100%;
  height: 40px;
  margin: 0 auto 30px auto;
  padding: 0;
  display: flex;
}
.nav li {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  position: relative;
  list-style: none;
  display:flex;
  width: 25%;
  width: -moz-calc(100% / 3);
  width: -webkit-calc(100% / 3);
  width: calc(100% / 3);
}
.nav li a {
  display: block;
  width:100%;
  height: 40px;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 2.8;
  background: linear-gradient(0deg, #0f2350, #4d4398);
  transition: 0.5s;
  text-decoration: none;
  border-right: 1px solid #eee;
  box-sizing: border-box;
}
.nav #i_link a br{
	display:none;
}
.nav > li:hover > a {/*layer-1*/
  color: #000b00;
  background: #a59aca;
}
.nav > li li:hover > a {/*layer-2*/
  color: olive;
  background: #a59aca;
}
.nav li ul {
  width:100%;
  top: 40px;
  position: absolute;
}
.nav li ul li {
  overflow: hidden;
  height: 0;
  transition: 0.2s;
}
.nav li ul li a {
  border-top: 1px solid #eee;
}
.nav li:hover > ul > li {
  overflow: visible;
  height: 40px;
}
  .nav li ul li ul {
    top: 0;
    left: 110px;
  }
  .nav li ul li ul:before {/*layer-2▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 30px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  .nav li ul li ul li:hover > a {/*layer-3*/
    color: pink;
    background: #afc6e2;
  }
  .nav li ul li ul.left {
    top: 0;
    left: -190px;
  }
  .nav li ul li ul.left:before,/*layer-2-left▷*/
  .nav li ul li ul li ul.left:before {/*layer-3-left▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 190px;
    border: 5px solid transparent;
    border-right: 5px solid #fff;
	}
	.nav li ul li ul.left li:hover > a {/*layer-2-left*/
		color: pink;
		background: #afc6e2;
	}
	.nav li ul li ul li ul.left li:hover > a {/*layer-3-left*/
		color: purple;
		background: #afc6e2;
	}
	.contents {
		margin-bottom:10px;
	}
	header .hamburger-area{
		display:none;
	}
/* -------------------------------------
main
------------------------------------- */
#main {
	height:100%;
	vertical-align:top;
}
#main ul #left{
	width:82%;
	height:100%;
	padding-left:10px;
	vertical-align:top;
	display:inline-block;
}
#main ul #left dl {
	width:90%;
}

#ab dt {
	margin-bottom:10px;
}
#main ul #right{
	width:15%;
	display:inline-block;
}
#new {
	margin-top:8px;
}
#new dt {
	font-weight:bold;
}
#new dd{
	margin-bottom:8px;
	}
#dp {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size:20px;
	font-weight:bold;
	padding-bottom:8px;
}
#ca {
	padding-top:15px;
}
#ca dt{
	font-weight:bold;
}
#ca dd{
	padding-bottom:10px;
}
.map {
	height:0;
	overflow:hidden;
	padding-bottom:55%;
	position: relative;
}
.map iframe{
	position:absolute;
	left:0;
	top:0;
	height:100%;
	width:100%;
}

/* -------------------------------------
footer
------------------------------------- */
#ft {
	width:100%;
	color:#fff;
	background:#4d4398;
	margin: 0 auto;
	padding:7px 0;
	text-align: center;
}

/* -------------------------------------
レスポンシブ
------------------------------------- */
@media screen and (max-width: 1024px) {
	.page {
		width:90%;
	}
	#ttl p{
		font-size:28px;
	}
	}

@media screen and (max-width: 850px) {
	#ttl {
		width:100%;
		max-width:800px;
		max-height:282px;
		height:auto;
		overflow:hidden;
	}
	#ttl img{
		width:100%;
		height:auto;
}
	#ttl p{
		font-size:25px;
		top:80%;
	}
	}

@media screen and (max-width: 800px) {
	#ttl {
		width:100%;
		max-width:800px;
		max-height:266px;
		height:auto;
		overflow:hidden;
	}
	#ttl p{
		font-size:22px;
		top:75%;
		right:3%;
	}
	#link dd ul li{
		display:inline-block;
		width:150px;
	}
	#link dd ul li:nth-child(even)::before{
		content: " /";
		margin-right:5px;
	}
		
@media screen and (max-width: 786px) {
	h1,h2,h3 {
		font-size:150%;
	}
	#ttl {
		width:100%;
		height:auto;
		overflow:hidden;
		margin-bottom:25px;
	}
	#ttl p{
		font-size:20px;
		top:75%;
		right:3%;
	}
	#main ul #left {
		width:100%;
		padding-bottom:20px;
	}
	#main ul #right{
		width:100%;
		padding-left:10px;
	}
	/* -------------------------------------
	nav
	------------------------------------- */
	.contents {
		display:none;
	}
	header .hamburger-area{
		display:block;
	}
	.hamburger{
		display:block;
		width: 40px;
		height: 25px;
		position: relative;
		top:10px;
		right:-93%;
	}
	.hamburger span{
		position: absolute;
		width: 100%;
		height: 1px;
		background-color: #4d4398;
		transition: .5s;/* 追記 */
	}
	.hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
		top: 0;
	}
	.hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
		top: 50%;
	}
	.hamburger span:last-of-type{/* ハンバーガーメニューの3番目の線 */
		top: 100%;
	}
	.slide-menu{
		background-color: rgba(0, 0, 0, .8);
		position: fixed;
		top: 65px;
		width: 100%;
		left: 0;
		transform: translateX(100%);
		transition: .5s;/* 追記 */
		z-index:2;
		}
	.slide-menu li{
		color: #fff;
		line-height: 400%;
		text-align: center;
		border-bottom:dotted #fff 1px;
		display:block;
		padding:0;
		}
	.slide-menu li a {
		display:block;
		}
		
	.hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
		top: 50%;
		transform: rotate(45deg);
	}
	.hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
		opacity: 0;/* 透明にする */
	}
	.hamburger.active span:last-of-type{/* ハンバーガーメニューの3番目の線 */
		top: 50%;
		transform: rotate(-45deg);
	}
	.slide-menu.active{
		transform: translateX(0);
	}
	}
@media screen and (max-width: 480px) {
	#ttl {
		width:auto;
		max-height:180px;
		height:100%;
		overflow:hidden;
	}
	#ttl p{
		font-size:15px;
		top:75%;
		right:3%;
	}
	h1,h2,h3{
		font-size:15px;;
	}
	}