@charset "utf-8";


/*全体の設定
---------------------------------------------------------------------------*/
html,body,#container {height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #666;
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 2;
	background: #f5f4f0;
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
a {
	color: #666;
	transition: 0.2s;
}
a:hover {
	color: #090db6;
	text-decoration: none;
}

/*ヘッダー
---------------------------------------------------------------------------*/
header {
	background: rgb(135,33,131);
background: linear-gradient(90deg, rgba(135,33,131,1) 0%, rgba(25,45,137,1) 20%, rgba(50,112,169,1) 40%, rgba(73,158,76,1) 60%, rgba(226,226,73,1) 80%, rgba(230,60,54,1) 100%);
	position: relative;
	z-index: 40;
}
#top header {
	position: relative;z-index: 10;
	min-height: 100%;
	margin-bottom: -72px;
	background: #fff;
}
header h1 img {
	width: 300px;
	padding: 10px 5%;
}
#mainimg {
	text-indent: -9999px;
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/mainimg_s.jpg) no-repeat center center;
	background: url(../images/mainimg.jpg) no-repeat center center / cover;
}
#top header h1 {
	color: #fff;
	text-align: center;
	position: fixed;
	left: 0%;
	bottom: 35%;
	width: 100%;
	animation-name: move-h1;
	animation-duration: 0.5s;
	animation-delay: 1.5s;
	animation-fill-mode: both;
}
@keyframes move-h1 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#top header .logo {
	padding-top:50px;
	text-align: center;
    z-index: 999;
    position: relative;
    width: 30%;
	margin:0 auto;
}
header.sub {
	padding:20px;
}
header.sub .headerInner {
	overflow: hidden;
	margin: 0 auto;
	max-width: 1200px;
}
header.sub .logo {
	display:table-cell;
	width:70px;
}
header.sub h1 {
	color:#FFF;
	display:table-cell;
	font-size:143%;
	padding-left:20px;
}
header.sub h1 a {
	color:#FFF;
	text-decoration: none;
}

/*メインメニュー
---------------------------------------------------------------------------*/

#menubar {
	position: relative;z-index: 30;
	border-top: 1px solid #9c9c9c;
	border-bottom: 1px solid #9c9c9c;
	text-align: center;
}
#menubar ul {
	background: #fff;
	overflow: hidden;
}
#menubar ul li {
	float: left;
	width: 20%;
}
#menubar ul li a {
	text-decoration: none;display: block;
	border-left: 1px solid #9c9c9c;
	line-height: 50px;
	margin: 10px 0;
}
#menubar ul li:first-child a {
	border-left: none;
}
#menubar-s {display: none;}
#menubar_hdr {display: none;}

/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
#menubar ul.ddmenu {
	position:absolute;visibility: hidden;margin-top: 1px;
	border-top: 2px solid #fff;
	width: 20%;
}
#menubar ul.ddmenu li {
	float: none;width: 100%;overflow: hidden;
	border-bottom: 2px solid #fff;
}
#menubar ul.ddmenu li a {
	border: none;margin: 0;width: 100%;line-height: normal;
	padding: 10px 0;
	background: #333;
	background: rgba(0,0,0,0.8);
	color: #fff;
}
#menubar ul.ddmenu li a:hover {
	background: rgba(0,0,0,0.7);
}

/*fixmenu
------------------------------------------------------------------------------*/
body.is-fixed #menubar.nav-fix-pos {
	position: fixed;
	width: 100%;
	top: 0px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	border-bottom: 1px solid #9c9c9c;
}
body.is-fixed #menubar.nav-fix-pos ul {
	background: rgba(255,255,255,0.95);
}
body.is-fixed .inner#first {
	margin-top: 72px;
}
body.is-fixed-menu #menubar.nav-fix-pos {
	position: fixed;
	width: 100%;
	top: 0px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	border-bottom: 1px solid #9c9c9c;
}
body.is-fixed-menu #menubar.nav-fix-pos ul {
	background: rgba(255,255,255,0.95);
}
body.is-fixed-menu .inner#first {
	margin-top: 72px;
}

/*inner
---------------------------------------------------------------------------*/
.inner {
	position: relative;z-index: 20;
	background: #f5f4f0;
}
.inner.bg1 {
	background: #fff !important;
}
.inner.bg2 {
	background: #f3f6ef !important;
}
.inner.bg_flower1 {
	background: #e8e3dd url(../images/bg_flower1.png) no-repeat center top/100% !important;
}

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	overflow: hidden;margin: 0 auto;
	max-width: 1200px;
	padding: 50px 5%;
}
.contents h2 {
	clear: both;
	margin-bottom: 20px;
	font-size: 40px;
	text-align: center;
}
.contents h2 span {
	display: block;
	margin-top: -10px;
	font-size: 14px;
	color: #090db6;
	letter-spacing: 0.3em;
}
.contents h2.type1 {
	font-size: 30px;
	background: #fff;
	background: rgba(255,255,255,0.8);
	border-radius: 50px;
	box-shadow: 0px 2px 0px 2px rgba(0,0,0,0.1);
}

.contents h3 {
	clear: both;
	margin-bottom: 20px;
	font-size: 24px;
	border-bottom: 2px dotted #ccc;
	padding-left: 20px;
}

.contents h3::first-letter {
	border-left: 3px solid #090db6;
	padding-left: 20px;
}
.contents p {
	padding: 0 20px 20px;
}
.contents section + section {
	margin-top: 50px;
}

/*list
---------------------------------------------------------------------------*/
.list1 {
	overflow: hidden;
	width: 27%;
	float: left;
	margin: 0 3%;
	border-bottom:1px dotted #999;
	padding-bottom:30px;
	margin-bottom:30px;
}
.list1 h3 {
	font-size: 22px;
	text-align: center;
	color: #333;
	padding-left:0;
	border-bottom:0;
	margin-bottom:0;
	font-weight: bold;
}
.list1 h4 {
	font-size: 20px;
	text-align: center;
	color: #333;
	margin-bottom:20px;
	font-weight: bold;
}
.contents .list1 h3::first-letter {
	border-left:0;
    padding-left:0;
}
.list1 figure img {
	width:100%;
	height:auto;
}
.list1 p {
	font-size:14px;
}
.list1 dl {
	font-size:14px;
}
.list1 dl:before,
.list1 dl:after {content: " ";display: table;}
.list1 dl:after {clear: both;}
.list1 dl {*zoom: 1;}
.list1 dt {
	float:left;
	width:6rem;
}
.list1 dd {
	float:left;
}
.list1 dl:nth-of-type(1) {
	margin-top:0.5rem;
}
.list1 p {
	padding: 0 !important;
}
.attList li {
	padding: 0 0 0 1.2rem !important;
	position: relative;
	margin-bottom:0.5rem;
	line-height:1.5rem;
}
.attList li:before {
	content:"☆";
	position:absolute;
	top:0;
	left:0;
}

/*Link
---------------------------------------------------------------------------*/

.outlink {
	margin:20px auto;
	text-align: center;
}
.outlink a {
	display:inline-block;
	padding:5px 40px;
	background-color:#666;
	color:#FFF;
	position: relative;
	text-decoration: none;
}
.outlink a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*FOOTER
---------------------------------------------------------------------------*/
footer {
	position: relative;z-index: 20;
	clear: both;
	line-height: 1.5;
	font-size: 85%;	
	color: #fff;
}
footer a {
	color: #fff;
}
footer a:hover {
	color: #fff;
}

/*PAGE TOP
---------------------------------------------------------------------------*/
#pagetop {
	position: relative;z-index: 20;
	clear: both;overflow: hidden;
	padding-top: 50px;
	background: #f5f4f0;
}
#pagetop a {
	color: #fff;
	font-size: 20px;
	background: #090db6;
	text-decoration: none;
	text-align: center;
	display: block;
	float: right;
	width: 100px;
	border-radius: 4px 4px 0px 0px;
	margin-right: 5%;
}
#pagetop a:hover {
	background: #a50e0e;
}

/*COPYRIGHT
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	padding:20px 0;
	background: #111;
}
#copyright a {text-decoration: none;}
#copyright a:hover {color: #666;}

/*TABLE
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
	border-bottom: 1px solid #ccc;
	background: #fff;
	background: rgba(255,255,255,0.8);
}
.ta1 td, .ta1 th {
	border-top: 1px solid #ccc;
	padding: 10px 15px;
	word-break: break-all;
}
.ta1 th.tamidashi {
	width: auto;
	text-align: left;
	background: #cac8c2;
	font-size: 20px;
}
.ta1 th {
	width: 150px;
	text-align: right;
}
.ta1 th img {
	width: 100%;
}
.formTbl input[type=text],textarea {
	border:1px solid #CCC;
	outline:none;
	padding:5px;
	font-size:16px;
}
.formTbl input[type=text]:focus,textarea:focus {
	border:1px solid #666;
}


/*inview
---------------------------------------------------------------------------*/
.up {
	overflow: hidden;position: relative;
	opacity: 0;
	bottom: -50px;
}
.upstyle{
	opacity: 1;	
	bottom: 0px;
	transition: 1s 0.3s;
}
.left {
	overflow: hidden;position: relative;
	opacity: 0;	
	left: -200px;
}
.leftstyle{
	opacity: 1;
	left: 0px;
	transition: 1s 0.3s;
}
.right {
	overflow: hidden;position: relative;
	opacity: 0;
	right: -200px;
}
.rightstyle{
	opacity: 1;
	right: 0px;
	transition: 1s 0.3s;
}

/*inputボタン
---------------------------------------------------------------------------*/
.contents input[type="submit"].btn,
.contents input[type="button"].btn,
.contents input[type="reset"].btn {
	padding: 5px 10px;
	border: 1px solid #ccc;
	font-size: 20px;
	border-radius: 3px;
	background: #eee;
}
.contents input[type="submit"].btn:hover,
.contents input[type="button"].btn:hover,
.contents input[type="reset"].btn:hover {
	border: 1px solid #999;
	background: #fff;
}

.outlink a {
	padding:3vw 10vw;
	font-size:155%;
	font-weight:bold;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #090db6 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.w50 {overflow: hidden;width: 50%;}
.fl {float: left;}
img.fl {float: left;width:30%;margin-right: 20px;margin-bottom: 20px;}
.fr {float: right;}
img.fr {float: right;width:30%;margin-left: 20px;margin-bottom: 20px;}
.photo {padding: 10px;background: #fff;border: 5px solid #fff;box-shadow: 2px 4px 5px rgba(0,0,0,0.2);}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.cf:before,
.cf:after {content: " ";display: table;}
.cf:after {clear: both;}
.cf {*zoom: 1;}

/* GALLERY */
.galleryList li {
	width:25%;
	float:left;
}
.galleryList li img {
	width:100%;
	height:auto;
}
.bnrListWrap {
	width: 58.334%;
	float: left;
	margin-right: 1.666%;
}
.facebookBlock {
	width:40%;
	margin:0 auto;
	text-align: center;
	float:left;
}
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;
}
.bnrList {
	margin-bottom:15px;
}
.bnrList img {
	display:block;
}
.bnrList.line1 li {
	margin-bottom:15px;
}
.bnrList.line3 li {
	width:49%;
	float:left;
	margin-right:2%;
	margin-bottom:15px;
}
.bnrList.line3 li:nth-of-type(2n) {
	margin-right:0;
}
.sliderWrap {
	margin-top:20px;
}
.slick-prev {
	left:0!important;
}
.slick-next {
	right:0!important;
}
.calendarWrap iframe {
	height:1400px;
}

/* landscape */
@media screen and (orientation: landscape) and (max-height:500px){
	#top header h1 {
		bottom: 30%;
	}
	#topics {
		display: none;
	}
	#menubar-s li a {
		float: left;
		width: 40%;
		margin-left: 4%;
	}
}

/*画面幅1050px以下*/
@media screen and (max-width:1050px){
	#menubar ul li {
		font-size:83%;
	}
}


/*画面幅800px以下*/
@media screen and (max-width:800px){
	header {
		 padding: 10px 0;
		 position: fixed;
		 width: 100%;
		 border-bottom: 1px solid #fff;
	}
	#top header {
		margin-bottom: 0px;
	}
	#top header .logo {
		width: 50%;
	}
	header.sub {
		padding:3vw;
	}
	header.sub .logo {
		display:table-cell;
		width:15%;
	}
	header.sub .logo img {
		width:100%;
		height:auto;
	}
	header.sub h1 {
		padding-left:3vw;
		font-size:4vw;
	}
	.list1 p {
		font-size:85%;
	}
	.list1 dl {
		font-size:85%;
	}
	.list1 dt {
		width:auto;
		float:none;
	}
	.list1 dd {
		float:none;
		padding-left:0.7rem;
	}
	.attList li {
		margin-bottom:0.2rem;
		line-height:1.2rem;
	}

	@keyframes menu1 {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	#menubar-s {
		display: block;overflow: hidden;
		position: fixed;z-index: 50;
		top: 0px;
		width: 100%;
		background: rgba(0,0,0,0.8);
		border-top: 1px solid #fff;
		animation-name: menu1;
		animation-duration: 0.5s;
		animation-fill-mode: both;
		margin-bottom: 30px;
	}
	#menubar-s li a {
		display: block;text-decoration: none;
		padding: 15px;
		border-bottom: 1px solid #fff;
		color: #fff;
		font-size: 20px;
	}
	#menubar {display: none;}

	#menubar_hdr {
		display: block;
		position: fixed;z-index: 50;
		top: 10px;
		right: 10px;
		border: 1px solid #000;
	}
	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 50px;
		height: 50px;
	}
	#menubar_hdr.close {
		background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
	}
	#menubar_hdr.open {
		background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
	}
	body.is-fixed .inner#first,body.is-fixed-menu .inner#first {
		margin-top: 0;
	}
	.inner#first {padding-top: 50px;}
	body#top .inner#first {padding-top: 0px;}
	.contents h2 {
		font-size: 30px;
	}
	section + section {
		padding-top: 20px;
	}
	.list1 {
		width: 44%;
		padding-bottom:5vw;
		margin-bottom:5vw;
	}
	.list1 h4 {
		font-size: 20px;
	}

	.big1 {font-size: 20px;}
	.w50 {overflow: hidden;width: auto;}
	.fl {float: none;}
	.fr {float: none;}
	.formTbl th,.formTbl td {
		box-sizing: border-box;
		display:block!important;
		width:100%!important;
		text-align: left;
	}
	.formTbl td {
		border-top:0;
		padding-top:0!important;
	}
}


@media screen and (max-width:500px){
	.facebookBlock {
		width:100%;
		margin:0 auto;
		text-align: center;
	}
	.bnrListWrap {
		width:100%;
	}
}

/*画面幅480px以下*/
@media screen and (max-width:480px){
	body {
		font-size: 12px;
		line-height: 1.5;
	}
	header h1 img {
		width: 200px;
	}
	#top header h1 {
		bottom:20%;
	}
	#mainimg {
		background: url(../images/mainimg_s.jpg) no-repeat center center / cover;
	}
	#svg-logo {
		width: 50%;
		left: 25%;
	}
	#menubar_hdr {
		top: 6px;
	}
	.inner#first {padding-top: 70px;}

	.calendarWrap iframe {
		height:200vw;
		-webkit-overflow-scrolling: touch;
	}
	.contents {
		padding: 20px 3%;
	}
	.contents h2 {
		font-size: 20px !important;
	}
	.contents h2 span {
		margin-top: 0px;
		font-size: 10px;
	}
	.contents h3 {
		font-size: 16px !important;
		padding-left: 10px;
		margin-bottom: 10px;
	}
	.contents h3::first-letter {
		padding-left: 10px;
	}
	.contents p {
		padding: 0 10px 15px;
	}
	.ta1, .ta1 td, .ta1 th {
		padding: 5px;
	}
	.ta1 th {
		width: 100px;
	}
	.contents input[type="submit"].btn,
	.contents input[type="button"].btn,
	.contents input[type="reset"].btn {
		font-size: 16px;
	}
	.photo {padding: 5px;border: 2px solid #fff;}
	.ws,.wl {width: 94%;}
	.fl {float: none;}
	img.fl {float: none;display: block;width:90%;margin: 0 auto 20px;}
	.fr {float: none;}
	img.fr {float: none;display: block;width:90%;margin: 0 auto 20px;}
	.big1 {font-size: 16px;}
	.sh {display:block;}
	.pc {display:none;}
	
}
