@charset "UTF-8";



/*=========================
スタイルのリセット
=========================*/

html,body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
/*	font-family:sans-serif;*/
	font-family: 'メイリオ', Meiryo;
	font-weight: normal;
}

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

ol,ul {
	list-style:none;
}

fieldset,img {
	border:none;
}

body {
	text-align:center;
	line-height:1.7;
	color:#333;
}

a:link { color:#06c; }
a:visited { color:#93c; }
a:hover { color:#39f; }
a:active { color:#6cf; }
a:focus { outline:none;}
a:hover { text-decoration:none; }

a:hover,
a:hover img {
	filter: alpha(opacity=60);
	-moz-opacity:0.60;
	opacity:0.60;
}

a[href$=".pdf"] {/*PDF*/
	padding:0 0 0 20px;
	background:url(../img/common/ico_pdf.gif) 0 .2em no-repeat;
}


/*=== 全体 ===*/
#wrap {
/*	padding: 2vw;*/
	text-align:left;
}
@media screen and (min-width:800px) {
	#wrap {
		padding:0;
		font-size:1.125em;
	}
}


/*=== ヘッダ ===*/
header {
	margin:0 auto;
}
#header_block {
	background-image:
    linear-gradient( to right, rgba(241,181,0,1),  rgba(241,181,0,0)),
    url("../img/common/bg_header.png"),
		linear-gradient( to right, rgba(241,181,0,1),  rgba(241,181,0,1));
	background-repeat: no-repeat;
	background-position:right bottom;
	color: #fff;
}

/*サイトタイトル*/
h1.sitetitle {
	width: 40vw;
	height: calc(30vw * 0.29);
	white-space: nowrap;
	overflow: hidden;
	text-indent: 110%;
	background: url(../img/common/logo.png) 0 0 no-repeat;
	overflow: hidden;
	background-size: contain;
}
h1.sitetitle a {
	display: block;
	width: 100%;
	height: 100%;
}
@media screen and (min-width:800px) {
	h1.sitetitle {
		margin-top: 5px;
		width: 348px;
		height: 102px;
	}
}

/*他言語・文字の大きさ／モバイルでは非表示*/
.header_upperBlock {
	display: none;
}
#header_block > div {
		padding: 2vw;
}
@media screen and (min-width:800px) {
	#header_block > div {
		width: 1100px;
		margin: auto;
		padding: 12px 0;
		display: flex;
		justify-content: space-between;
		font-size: .78em;
		line-height: 1;
	}
	.header_upperBlock {
		display: block;
		display: flex;
		justify-content: flex-end;
	}
	.header_upperBlock .languages {
		margin-right: 40px;
	}
	#header_block .languages,
	#header_block .textsize,
	#header_block .textsize ul {
		display: flex;
		align-items: center;
	}
	#header_block .languages a {
		padding: 0 0 0 11px;
		color: #fff;
		text-decoration: none;
		background: url(../img/common/arrow_white.png) 0 35% no-repeat;
	}
	#header_block .languages li:not(:first-child) a {
		margin: 0 0 0 22px;
	}
	#header_block .textsize ul li {
		margin: 0 0 0 10px;
		padding: 5px 15px 3px;
		color: #666;
		background-color: #fff;
		border-radius: 3em;
		cursor: pointer;
	}
	#header_block .textsize ul li:hover {
		color: #999;
	}
	#header_block .header_rightBlock {
		width: 700px;
	}
}
#header_block .languages,
#header_block .textsize span,
#header_block .header_telLinks {
/*	text-shadow:1px 1px 1px rgb(0,0,0,0.3);*/
	text-shadow: #c78c1c 1px 1px 0px;
}


/*== イベント予約リンク ==*/
#footerblcok {
	margin-bottom: 2.7em;
}
.header_telLinks > div > .to_reserve {
	box-sizing: border-box;
	display: block;
	width: 100vw;
	margin: 0;
	padding: .2em 0;
	background-color: #fff;
	position: fixed;
	bottom: 0;
	left: 0;
	border: 0;
	z-index: 99999;
/*	border-top:1px solid #ccc;*/
	text-align: center;
	box-shadow: 0px 0px 4px rgba(0,0,0,0.4);
	
/*	display: none;*/
}
.header_telLinks > div > .to_reserve a {
	display: inline-block;
	margin: .2em auto;
	padding: .8em .8em .5em;
	font-weight: bold;
	color: #FFF;
	line-height: 1;
	background-color: #FF6666;
	text-decoration: none;
	border-radius: 5em;
	text-shadow: none;
}
@media screen and (min-width:800px) {
	.header_telLinks > div > .to_reserve {
		background-color: transparent;
		display: inline;
		width: auto;
		position: relative;
		border: none;
		box-shadow: none;
	}
	.header_telLinks > div > .to_reserve a {
		display: block;
		margin: .2em auto;
		padding: .4em .8em .2em;
		font-weight: bold;
		color: #FF6666;
		line-height: 1;
		background-color: #fff;
		text-decoration: none;
		border-radius: 5em;
		text-shadow: none;
		box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
	}
	#footerblcok {
	margin-bottom: 0em;
}
}


/*== 電話番号、リンク ==*/
.header_telLinks > div > p,
.header_telLinks > ul {
	display: none;
	text-align: right;
}
@media screen and (min-width:800px) {
	.header_telLinks {
		margin: 20px auto 0;
		padding: 0;
		display: block;
	}
	.header_telLinks > div > p {
		display: block;
	}
	.header_telLinks ul {
		display: flex;
		margin-top: 10px;
		justify-content: flex-end;
	}
	.header_telLinks ul a {
		margin: 0 0 0 13px;
		padding: 0 0 0 12px;
		color: #fff;
		text-decoration: none;
		background: url(../img/common/arrow_white.png) 0 35% no-repeat;
	}
	.titleblock .tel_links ul,
	.titleblock .tel_links div ul {
		display: flex;
	}
	.tel_links > ul {
		margin-top: 11px;
	}
}

/*電話番号*/
.tel_links div p {}
.header_telLinks p strong {
	margin: 0 0 0 10px;
	padding: 0 0 0 21px;
		font-size: 1.6em;
	font-weight: normal;
	background: url(../img/common/icon_phone_w.png) 0 40% no-repeat;
}

header div h1:hover {
	filter: alpha(opacity=60);
	-moz-opacity:0.60;
	opacity:0.60;
}

/*=== 検索窓 ===*/
@media screen and (max-width:799px) {
	.header_telLinks > div {
		position: absolute;
		top: 4vw;
		right: 15%;
	}
}
@media screen and (min-width:800px) {
	.header_telLinks > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: flex-end;
	}
	.header_telLinks > div p:first-of-type {
		width: 100%;
		padding-bottom: 5px;
	}
}
	
#srchBox {
	/*width:298px;
	_width:296px;
	margin-bottom:10px;
	background-color:#FFFFFF;*/
	margin-left: 20px;
	border-style:solid;
	border-width:1px;
	/*border-color:#EEEEEE;*/
	border-color: transparent;
	color:#000000;
	text-align:left;
}
#srchBox * {
	margin:0;
	padding:0;
	font-size:13px;
	*font-size:small;
	*font:x-small;
}
#srchBox a img {
	border:none;
}
#srchBox form + img {
	display: none;
}
/*#srchBox #srch {
	padding:10px 10px 0 10px;
}*/
#srchBox #srch #srchForm {
	white-space:nowrap;
}
#srchBox #srchInput {
	/*width:188px;*/
	width:110px;
	margin-right:5px;
	vertical-align:bottom;
}
#srchBox #srchBtn {
	width:60px;
	padding: 1px 10px;
	font-size: 1em;
	color: #666;
	border: 1px solid #d3a131;
	border-radius: .3em;
	background-color: #fff;
}
*html #srchBox #srchBtn {
	padding-top:2px;
}
*:first-child+html #srchBox #srchBtn {
	padding-top:2px;
}
#srchBox ul {
	margin-top:6px;
	text-align:left;
}
#srchBox li {
	list-style-type:none;
	display:inline;
	zoom:1;
	padding-right:10px;
}
#srchBox li input {
	zoom:1;
	margin-right:2px;
	_margin:-4px 0 -4px -4px;
	vertical-align:middle;
	border:0;
}
*:+html #srchBox li input {
	margin:-4px 0 -4px -4px;
}
#srchBox #srchLogo {
	margin:6px 6px 6px 0;
	text-align:right;
}
#srchBox #srchLogo a {
	color:#666666;
	text-decoration:none;
	font-size:85%;
}
#srchBox #srchLogo a:hover {
	text-decoration:underline;
}
#srchBox.watermark {
	/*padding-bottom: 6px;*/
}
#srchBox.watermark #srchInput {
	padding:1px 1px 2px 1px;
	border:1px solid #d3a131;
	background: #fff url(https://s.yimg.jp/images/search/customsearch/yjlogo/yjlogo_type4.gif) center center no-repeat;
}
#srchBox.watermark #srchInput.nomark {
	background: #fff;
}
#srchBox.watermark #srchLogo {
	display: none;
}

/*=== ページタイトル ===*/
.menublock #pageTitle {
	padding: 20px 0;
	text-align: center;
	font-size: 2em;
	line-height: 1;
	color: #fff;
	display: block;
	position: relative;
	z-index: 1;
}
.menublock #pageTitle strong {
	box-sizing: border-box;
	grid-area: 2 / 1;
	align-self:center;
	margin: 0 auto;
	padding: 0 .2em .05em;
	line-height: 1;
	background: url(../img/common/bg_pagetitle.png) 0 1em repeat-x;
}
@media screen and (min-width:800px) {
	.menublock #pageTitle {
		padding: 40px 0;
		display: grid;
/*	font-size: 1em;*/
		font-size: 2.78em;
	}
	.menublock #pageTitle strong {
		box-sizing: border-box;
		grid-area: 2 / 1;
  	align-self:center;
		margin: 0 auto;
		padding: 0 .2em .1em;
		line-height: 1;
		background: url(../img/common/bg_pagetitle.png) 0 .7em repeat-x;
		background-size:10px 20px;
	}
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, /* IE11 */
	.menublock #pageTitle strong {
		padding: 0 .2em 0em;
		line-height: 0;
		background: url(../img/common/bg_pagetitle.png) 0 1em repeat-x;
		background-size:10px 15px;
	}
}


/*== グローバルメニュー ==*/
#gMenu input {
	display: none;
}
#gMenu label {
	display: block;
	margin: 0;
	height: 10px;
	width: 10px;
	background-color: #696;
}
#gMenu #label1 + label {
	position: absolute;
	top: 2vw;
	right: 2vw;
	margin: 0;
	padding: 0;
	width: calc(30vw * 0.29);
	height: calc(30vw * 0.29);
	background:url(../img/common/arrow_plus_sp.png) 50% 50%;
	background-color: #F08300;
	background-repeat: no-repeat;
/*	background-size: contain;*/
}
#gMenu #label1:checked + label {
	background: none;
	background:url(../img/common/arrow_minus_sp.png) 50% 50%;
	background-color: #F08300;
	background-repeat: no-repeat;
}

#gMenu input ~ .accordion {
	display: none;
}
#gMenu input:checked ~ .accordion {
	display: block;
	padding: 10px 0;
	height: auto;
	opacity: 1;
  height: 100%;
}
/*メニュー展開の背景*/
#gMenu input:checked ~ .accordion::after {
	display: block;
	content: " ";
	position: fixed;
  z-index: -1;
  width: 100%;
  height: 100vh;
	background-color: #F8B500;
}
#gMenu ul.accordion {
	width: 100%;
	height: 100vh;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.2s;
	background-color: #F8B500;
	position: absolute;
/*	top: 46px;*/
	top: calc(30vw * 0.29 + 4vw);
	z-index: 10000;
}

/*モバイルでは下層メニュー表示する*/
#gMenu ul li ul {
	display: block;
}
.opened {
}

/*グローバルメニュー装飾*/
#gMenu ul li {
/*	display: flex;*/
	margin: 1vw 0;
	padding: 2vw;
	line-height: 1.2;
	border-bottom: 1px solid #FFD35C;
}
#gMenu ul li span {
	display: block;
	float: left;
	margin: 0 0px 0 0;
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	background: url(../img/common/arrow_plus_sp.png) 50% 0% no-repeat;
	background-size: contain;
/*	position: relative;*/
	position: absolute;
	cursor: pointer;
}
#gMenu ul li span.opened {
	background: url(../img/common/arrow_minus_sp.png) 50% 9px no-repeat;
	background-size: contain;
}
#gMenu ul li a {
	display: block;
	color: #fff;
	text-decoration: none;
}
#gMenu ul.accordion li > a {
}
#gMenu ul.accordion > li > a {
	margin: 0 0 0 0;
	padding: 0 0 0 65px;
	background: url(../img/common/arrow_white_sp.png) 45px 20% no-repeat;
	background-size: .7em;
}
/*下層メニュー*/
#gMenu ul.accordion > li > ul {
	padding: 1vw 0 0 9vw;
}
#gMenu ul.accordion > li > ul li {
	padding-top: 3vw;
	border-top: 1px dotted #FFD35C;
	border-bottom: none;
}
#gMenu ul.accordion > li > ul li a {
	margin: 0 0 0 0;
	padding: 0 0 0 15px;
	background: url(../img/common/icon_bullet.png) 0px 40% no-repeat;
}

@media screen and (min-width:800px) {
	#gMenu {
		background-color: #FFF3D1;
	}
	#gMenu ul.accordion {
		width: 1100px;
		position: static;
		height: auto;
		margin: auto;
		padding: 0;
    opacity: 1;
		display: flex;
		justify-content: space-around;
		background-color: transparent;
	}
	#gMenu ul li {
		display: block;
		padding: 20px 0 15px;
		line-height: 1;
		border-bottom: 2px solid transparent;
	}
	#gMenu ul.accordion li a {
		display: block;
		padding: 0 5px 5px;
		color: #333;
		text-decoration: none;
		font-weight: bold;
		background: none;
		border-bottom: 1px solid #F08300;
	}
	/*PCでは非表示*/
	#gMenu label,
	#gMenu ul li ul,
	#gMenu ul li > span {
		display: none;
	}
}

/*hover*/
#gMenu ul li a:hover {
	border-width: 3px;
	color: #F08300;
}
@media screen and (min-width:800px) {
	#gMenu ul li:hover,
	#gMenu ul li.current {
		border-width: 0px;
	}
	#gMenu ul li.current a {
		border-width: 3px;
		color: #F08300;
	}
}

/*=== パンくず ===*/
.menublock #gMenu + ul {
	display: none;
}
@media screen and (min-width:800px) {
	.menublock #gMenu + ul {
		display: block;
	}
	.menublock #gMenu + ul {
		width: 1100px;
		margin: 0 auto;
		padding: 10px 0 0 0;
		font-size: .78em;
		color: #666;
		display: flex;
		justify-content: flex-end;
	}
	.menublock #gMenu + ul li {
		margin: 0 0 0 11px;
		padding: 0 0 0 10px;
		background: url(../img/common/icon_dotarrow_orange.png) 0 50% no-repeat;
	}
	.menublock #gMenu + ul li:first-child {
		background: url(../img/common/icon_home_orange.png) 0 45% no-repeat;}
	.menublock #gMenu + ul li a {
		color: #F08300;
		text-decoration: none;
	}
}

/*=== コンテンツ（メインカラムと左カラム） ===*/
#contwrap {
	box-sizing: border-box;
	margin:0 auto;
	padding:0 0vw;
	zoom:1;
}
@media screen and (min-width:800px) {
	#contwrap {
		margin:0 auto;
		padding:0 0 0 0;
		zoom:1;
	}
}
#contwrap:after {
  display:block;
  content:"";
  clear:both;
  font-size:0;
}

#main_content {
	padding: 2vw;
}
@media screen and (min-width:800px) {
	#main_content {
		width:1100px;
		margin:0 auto;
/*		padding-top: 70px;*/
		text-align:left;
		*zoom:1;
	}
	#main_content:after {
		display:block;
		content:"";
		clear:both;
		font-size:0;
	}
}


#contwrap h3 {
	margin: 40px 0 20px;
	padding: 0 0 10px 0;
	font-size: 1.4em;
	font-weight: bold;
	border-bottom: 3px solid #666;
}
#contwrap h4 {
	margin: 30px 0 10px;
	padding: 0 0 10px 0;
	font-size: 1.1em;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
}
@media screen and (min-width:800px) {
	#contwrap h3 {
		margin: 100px 0 50px;
		padding: 0 0 20px 0;
		font-size: 1.77em;
		font-weight: bold;
		border-bottom: 3px solid #666;
	}
	#contwrap h4 {
		margin: 60px 0 30px;
		padding: 0 0 15px 0;
		font-size: 1.22em;
		font-weight: bold;
		border-bottom: 1px solid #ccc;
	}
}




/*=== フッター ===*/
#footerblcok {
	margin-top: 6vw;
	background-image:
    linear-gradient( to right, rgba(241,181,0,1),  rgba(241,181,0,0)),
    url("../img/common/bg_header.png"),
		linear-gradient( to right, rgba(241,181,0,1),  rgba(241,181,0,1));
	background-repeat: no-repeat;
	background-position:right 65%;
	color: #fff;
}
@media screen and (min-width:800px) {
	#footerblcok {
		margin-top: 120px;
	}
}
footer {
/*	background-color: rgba(155,172,151,0.75);*/
/*	background-color: rgba(125,147,120,0.85);*/
}

/*=== ページのトップへ ===*/
footer p.toTop {
	text-align: center;
	background-color: rgba(255,255,255,.7);
}
footer p.toTop:hover {
	background-color: rgba(255,255,255,.5);
}
footer p.toTop a {
	display:block;
	width: 100%;
	padding: 20px 0 10px;
	font-size: .89em;
	line-height: 1;
	color: #F08300;
	text-decoration: none;
	background: url(../img/common/arrow_totop_orange.png) 50% 7px no-repeat;
	background-size: 3%;
}
@media screen and (min-width:800px) {
	footer p.toTop a {
		padding: 40px 0 20px;
		font-size: .89em;
		background: url(../img/common/arrow_totop_orange.png) 50% 15px no-repeat;
		background-size: auto;
	}
}

/*サイト内リンク*/
#footerblcok nav {
	padding: 2vw 1vw;
	font-size: .8em;
	text-shadow: #c78c1c 1px 1px 0px;
}
#footerblcok nav > div {
	display: flex;
	flex-wrap: wrap;
}

#footerblcok nav {
	margin-left: -4vw;
}
#footerblcok nav p {
	display:inline;
	white-space: nowrap;
	margin-left: 4vw;
}
#footerblcok nav ul {
	display: none;
}
#footerblcok nav div a {
	color: #fff;
	text-decoration: none;
}
#footerblcok nav div p a {
		padding-left: 11px;
		background: url(../img/common/arrow_white.png) 0 35% no-repeat;
	}
/*他のリンク用*/
#footerblcok nav div li a {
	padding-left: 10px;
	background: url(../img/common/icon_bullet.png) 0px 45% no-repeat;
}

@media screen and (min-width:800px) {
	#footerblcok nav {
		width: 1100px;
		margin: 0 auto 50px;
		padding: 0;
		font-size: 1em;
	}
	#footerblcok nav > div {
		display: flex;
		justify-content: flex-start;
	}
	#footerblcok nav > div > div {
		width: 260px;
		margin-top: 40px;
	}
	#footerblcok nav > div > div:not(:first-child) {
		margin-left: 20px;
	}
	#footerblcok nav div p {
		display: block;
		font-size: .89em;
	}
	#footerblcok nav p:nth-of-type(n+1) {
		margin-left: 0;
	}
	#footerblcok nav div p + p {
		margin-top: 20px;
	}
	#footerblcok nav div ul + p {
		margin-top: 7px;
	}
	#footerblcok nav div:nth-child(3) div p + p {
		margin-top: 5px;
	}
	#footerblcok nav div ul {
		display: block;
		font-size: .77em;
	}
/*
	#footerblcok nav div a:hover {
		color: #E0E0E0;
	}
*/
	/*カテゴリトップ用*/
	
	/*展示のリンクブロック*/
	#footerblcok nav > div > div.exhibition_block {
		width: 540px;
	}
	#footerblcok nav > div > div.exhibition_block ul {
		display: flex;
		flex-wrap: wrap;
	}
	#footerblcok nav > div > div.exhibition_block ul li {
		width: 260px;
	}
	#footerblcok nav > div > div.exhibition_block ul li:nth-child(even) {
		margin-left: 20px;
	}
}
#footerblcok nav div ul + p a[href*="http"] {
		padding-left: 14px;
		background: url(../img/common/icon_exLink.png) 0 37% no-repeat;
}
#footerblcok nav div ul + p a[href*="http"]::after {
	content: "（外部リンク）";
	font-size: .7em;
}


/*住所*/
footer address {
	padding-top: 2vw;
	color: #fff;
	font-style: normal;
	text-align: center;
	border-top: 1px solid #F08300;
	text-shadow: #c78c1c 1px 1px 0px;
}
footer address h3 {
	font-size: 1em;
}
footer address p {
	font-size: .77em;
	line-height: 1.5;
}
footer address p a {
	color: #fff !important;
	text-decoration: none;
}
@media screen and (min-width:800px) {
	footer address {
		padding-top: 30px;
	}
	footer address h3 {
		font-size: 1em;
	}
	footer address p {
		font-size: .89em;
	}
}

@media screen and (min-width:800px) {
	footer address {
		width: 1100px;
		margin: 0 auto 0;
	}
}

/*コピーライト*/
footer p.copyright {
	margin: 2vw 0 0 0;
	padding: 1vw;
	text-align: center;
	font-size: 0.7em;
	color: #fff;
	background-color: #F08300;
}
@media screen and (min-width:800px) {
	footer p.copyright {
		margin: 20px 0 0 0;
		padding: 10px;
	}
}


/*404ぺージ*/
.message_404 {
	padding: 2vh 1vw 0;
	text-align: center;
}
.message_404 p:first-child {
	font-size: 1.2em;
	font-weight: bold;
}

@media screen and (min-width:800px) {
	.message_404 {
		padding: 12vh 0 0 0;
		text-align: center;
	}
}


/*=== カテゴリトップ用（学習・資料／周辺観光） ===*/
#categoryTop_simple ul {
	padding-top: 60px;
}
@media screen and (min-width:800px) {
	#categoryTop_simple {
		width: 800px;
		margin: 40px auto 0;
	}
	#categoryTop_simple ul {
		margin: 0 -60px 0 0;
		display: flex;
		flex-wrap: wrap;
	}
	#categoryTop_simple ul li {
		margin: 0 60px 30px 0;
	}
}


footer p.toTop.is-fixed {
	position: fixed;
	display: block;
	width: 50px;
	height: 50px;
	bottom: 100px;
	right: 10px;
	overflow: hidden;
	background-color: #FAE9BF;
	border-radius: .3em;
	overflow: hidden;
}
footer p.toTop.is-fixed:hover {
	background-color: #fff0cb;
}
footer p.toTop.is-fixed a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	background-position: center;
	background-size: 20px;
	white-space: normal;
	text-indent: -1000%;
	overflow: hidden;
}







