@charset "utf-8";
/* CSS Document */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,p,blockquote,section,nav,header,footer{margin:0;padding:0;}ul li,ol li {list-style:none;} h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal;}input,textarea,select{ font-family: inherit;font-size:inherit; font-weight:inherit;}input,textarea,select{ *font-size:100%;}a img { border:none;}

* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
/* ---common----------------------------------------- */
/* -------------------------------------------------- */
.cf:before,.cf:after {content: " "; display: table;}.cf:after {clear: both;}.cf {*zoom: 1;}
.alpha a:hover img {opacity: 0.8;filter: alpha(opacity=80);-ms-filter: "alpha(opacity=80)";}
img {border: 0px; vertical-align: bottom;}

#pagetop {position: fixed;bottom: 5%;right: 2%;z-index:999;}
#pagetop a {color: #FFF;padding: 2em 1em;text-align: center;font-size: 0.75em;text-decoration: none;border-radius: 6px; }
#pagetop:hover {opacity: 0.8;}

.ggmap {position: relative;padding-bottom: 75%;padding-top: 30px;height: 0;overflow: hidden;}
.ggmap iframe,
.ggmap object,
.ggmap embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

.brsp {display:none;}

.pc {display: block;} 
.sp {display: none;}

.flexBox {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

table {
	border: 0;
	border-spacing: 0;
	border-collapse: collapse;
}
 
img {image-rendering: -webkit-optimize-contrast;}

a:link {
	color: #007FFF;
	text-decoration: none;
}
a:visited {
	color: #666699;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	color: #6666FF;
}


body{
	font-size: 14px;
	text-align: center;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: none;
	line-height: 1.5em;
	font-size: 14px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	color: #000000;
	overflow-x: hidden;
}

.inner , nav.globalNavPC ul {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}
.globalNavPC li img ,
.footerNav01 li img ,
.footerNav02 li img {
	height: 21px;
}
.fixNav2 li img {
	height: 18px;
}
li.iconLink img {height: inherit;}

header {
	width: 100%;
	background: url(image/header_bg@2x.png) repeat #feb900;
}

header h1 , .headerPC h1 {
	width: 270px;
}

header .headerNav1 {
	padding: 8px 0;
	text-align: right;
	background: #333333;
}

header .headerNav1 a {
	color: #ffffff;
}

header .headerNav1 img , .fix-header .fixNav1 li:nth-of-type(2) img {
	margin-right: 5px;
	vertical-align: middle;
}

header .headerInfo {
	padding: 6px 0;
	width: 365px;
}

header .headerInfo > div {
	color: #ffffff;
	background: #ff9326;
	border: 5px solid #ff7f00;
}

header .headerInfo div + div {
	margin-top: 4px;
}

header .headerInfo > div:nth-of-type(1) {
	font-size: 28px;
	text-shadow: 3px 3px 3px #ff7f00;
	
}

header .headerInfo > div:nth-of-type(n+2) {
	padding: 3px 0;
}

/* ------------------------------------------------- */
/* ---header Nav------------------------------------ */

header nav.globalNavPC {
	padding: 10px 0 12px;
	background: #ff8800;
}

nav.globalNavPC ul {
	align-items: center;
}

/* ------------------------------------------------- */
/* ---header Slider--------------------------------- */
#headerSlider {overflow: hidden;}

#headerSlider .sliderItem {
	width: 100%;
	max-width: 1000px;
}

/* ------------------------------------------------- */
/* ---index----------------------------------------- */
h2 {
	width: 100%;
	line-height: 100%;
	padding-bottom: 0.1em;
	letter-spacing: 0.1em;
	text-align: left;
}

h2.title {
	padding: 8px 8px 6px;
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	font-size: 24px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border-radius: 5px;
}

h2 span {
	height: 24px;
	position:relative;
	display: inline-block;
}

h2 span.rightTxt {height: 18px;}

h2 span.rightTxt img {vertical-align: inherit;}

h2.title.bg01 {
	background: #ff9326;
	border: 4px solid #ff7e00;
}

h2.title.bg02 {
	background: #a688ff;
	border: 4px solid #9017ff;
}

h2.center {
	height: 44px;
	text-align: center;
}

.infoArea {
	padding: 42px 0 32px;
}

.infoLeft {
	width: 726px;
}

.infoBox {
	padding: 0;
	margin: 18px 0 30px;
}

.infoBox > li  + li{
	margin-top: 24px;
}

.infoBox li:last-child {
	margin-bottom: 0;
}

.infoBox li ul {
	padding: 0;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.infoBox .infoData {
	margin-right: 26px;
	width: 120px;
	text-align: left;
	position: relative;
}

.infoBox .infoData::after {
	position: absolute;
	margin: auto 0;
	width: 10px;
	height: 14px;
	top: 0;
	right: 0;
	bottom: 0;
	content: "";
	background: url("image/triangle_right_o@2x.png") no-repeat;
	background-size: 10px 14px;
}

.info2Box {margin: 5px 0;}

.info2Box .info2Text {
	margin-top: 6px;
	font-size: 18px;
}

.infoRight {width: 226px;}

.eventArea {
	padding: 32px 0 48px;
	background: #eeeeee;
}

.eventArea .eventBox {margin-top: 30px;}

.eventBox .eventImage {
	padding: 10px;
	margin: 0 auto;
	width: 436px;
	height: 498px;
	background: #ffffff;
	border: 5px solid #0e0e0e;
}

.eventBox .eventText {
	margin: 5px 0;
	font-size: 15px;
}
.eventArea ,
.noticeArea {
	padding: 38px 0 ;
	background: #ffdfbf;
	align-items: stretch;
}

.noticeArea ul.noticeBoxList {margin-top: 30px;}

.eventBox , .noticebox {
	width: 32%;
	font-size: 15px;
}

.noticebox:nth-of-type(n+4){
	margin-top: 20px;
}

.eventArea .eventImage ,
.noticeArea .noticeImage {
	padding: 5px;
	margin-bottom: 10px;
	height: 100%;
/*	min-height: 0%;*/
	background: #ffffff;
	border: 5px solid #0e0e0e;
	flex: 10;
	display: flex;
	align-items: center;
	justify-content: center;
}


.eventArea .eventImage a ,
.noticeArea .noticeImage a {
	display: block;
}

.eventArea .eventText ,
.noticeArea .noticeText {
	margin-top: auto;
	height: 100%;
/*	min-height: 0;*/
	flex:1;
}

.notice02Area {
	padding: 38px 0 ;
	background: #eeeeee;
}

.notice02Area .notice02box.flexBox .notice02Image {
	width: 40%;	
}

.notice02Area .notice02box.flexBox .notice02Text {
	margin: auto 0;
	width:  60%;
	font-size: 24px;
	line-height: 1.4em;;
}

.notice02Area iframe {
	width: 100%;
	aspect-ratio: 4 / 3;
	}


.notice03Area {
	padding: 58px 0;
	background: #ffdfbf;
}

.bannerBox div:nth-of-type(n+5) {
	margin: 15px 0 0 0;
}

.visitArea {
	padding: 38px 0 48px;
	background: #bfdfff;
}

.visitArea .visitBox {
	margin-top: 40px;
}

.visitArea .visitBox > div , .staffArea .staffBox > div {
	width: 20%;
}



.accessArea {
	padding: 40px 0 35px;
	background: url("image/access_bg@2x.png") no-repeat;
}

.accessArea .map {
	margin: 38px 0 9px;
	width: 100%;
	height: 302px;
	border: 1px solid #444444;
}


.contentsArea {
	padding: 30px 0 36px;
	background: #f9ffe6;
}

.contentsBox {
	margin-top: 28px;
}

.contentsBox > div {
	width: 30%;
}

.contentsBox > div a{display: block;}

.contentsBox > div:nth-of-type(1) a + a {margin-top: 3px;}

.textLeftList {
	text-align: left;
}

.textLeftList li {
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.6em;
}
.textLeftList li::before {
	padding: 0 1em 0 0;
	content: "■";
	width: 1em;
	height: 1em;
	color: #ff7e00;
}

footer {
	padding: 34px 0 45px;
	color: #ffffff;
	background: #333333;
}

.footerLogo {
	margin: 0 auto 10px;
	width: 192px;
}

.footerNavArea {
	margin: 35px 0 42px;
}

.footerNav01 {align-items: center;}


.footerNav02 {
	margin: 32px auto 0;
	width: 55%;
}

footer small {font-size: 15px;}

/* ------------------------------------------------- */
/* ---fix-header------------------------------------ */

.fix-header {
	margin: 0 auto;
	width: 100%;
	min-height: 110px;
	position: fixed;
	top: -128px;
	left: 0;
	opacity:0;
	z-index: 1000;
	background-color: #ff8000;
	}

.fix-header a {
	font-size: 16px;
	color: #ffffff;
	text-decoration: none;
}

.fix-header .globalNavPC {
	padding: 10px 0;
	width: 700px;
}

.fix-header .fixNav1 {
	width: 100%;
	margin-top: 15px;
}

.fix-header .fixNav1 .headerInfo {
	color: #ffffff;
	font-weight: 600;
	font-size: 32px;
}


.fix-header .fixNav2 {
	margin-top: 15px;
	width: 100%;
	align-items: center;
}

/* ------------------------------------------------- */
/* ---pageContentes--------------------------------- */
.pageContents {
	padding: 0 0 68px;
}

.pageContents .headerBox {
	margin-bottom: 40px;
	width: 100%;
	height: 120px;
	background: url("image/header_image@2x.png") no-repeat;
	background-size: cover;
	position: relative;
}

.headerBox .headerTitle {
	margin: auto;
	height: 35px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.headerBox .headerTitle.line2 {
	height: 56px;
}

.scheduleLeft {
	width: 680px;
}

.scheduleLeft .scheduleTitle {
	margin: 20px 0 12px;
	font-size: 22px;
}

.scheduleRight {
	width: 226px;
}

.summaryArea .summaryBox {
	margin: 18px 0 78px;
}

.summaryArea .summaryImage {
	width: 348px;
}

.suTextBox {
	padding: 14px 12px;
	text-align: left;
	font-size: 20px;
	line-height: 1.8em;
	background: #fff2c9;
	border: 5px solid #ff6d00;
	border-radius: 8px;
}

.suTextBox + .suTextBox {
	margin-top: 3px;
}

.suTextBox .imageBox {
	margin: 18px auto 0;
	width: 215px;
}

.pageInfoArea .pageInfoBox ul {
	font-size: 18px;
	text-align: left;
}

.pageInfoArea .pageInfoBox ul li {
	margin: 10px 0;
}

.pageInfoBox ul li.flexBox {
	justify-content: flex-start;
	align-items: flex-start;
}


.pageInfoBox ul .pageInfoTag {
	margin: 10px 15px 10px 0;
	padding: 8px 10px;
	width: 6rem;
	display: inline-block;
	color: #ffffff;
	background: #ff9326;
}

.pageInfoBox ul.setList li {
	line-height: 1.6em;
}

.pageInfoBox ul.setList li div {
	width: 180px;
	display: inline-block;
}

.pageInfoBox ul.setList li div::after {
	content: "：";
	margin: 0 5px;
}

.pageInfoArea .pageInfoBox , .ruleArea .ruleBox {
	margin: 5px 0 38px;
}

.ruleArea ul.anshinRule {
	margin-top: 35px;
	line-height: 1.4em;
}

.ruleArea ul.anshinRule li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 22px;
	list-style: disc inside;
}

.staffArea .staffBox {
	margin: 10px 0 62px;
}

.recruitArea .recruitBox {
	margin: 32px auto 68px;
	width: 63%;
}

.menuArea .menuBox {
	margin: 15px 0;
}

.menuArea .foodBox.menuBox {
	margin: 15px 0;
}


.menuArea .menuBox > div {width: 50%;}

.menuBox .menuList {
	text-align: left;
}

.menuBox .menuList li::before {
	content: "・";
	text-indent: -1rem;
	padding-left: 1rem;
}

.menuBox .menuList li {
	justify-content: flex-start;
}

.menuBox .menuList .menuList__name {
	width: 35%;
}

.menuBox .menuList .menuList__pageInfo {
	margin-left: 5rem;
}

.menuList li.flexBox {padding-left: 1rem;}

.foodBox.menuBox {
	margin: 0 auto;
	width: 100%;
}



.link__list .flexBox {align-items: center;}

.link__list li:nth-of-type(2n) {background:#ffdfbf;}

.link__leftBox {
	padding: 1.5rem 0;
	width: 25%;
	font-size: 1.2rem;
	line-height: 1em;
}

.link__leftBox a {
	color: #000000;
	line-height: 1.4rem;
	text-decoration: none;
	border-bottom: 1px solid #ff8000;
	}

.link__leftBox a:hover {
	text-decoration: none;
	background: linear-gradient(transparent 50% , #ff8000 0);
	transition: 0.2s;
}

.link__rightBox {
	padding: 1.5rem 0;
	width: 75%;
	text-align: left;
}

.ppArea .ppBox {
	text-align: left;
}

.ppBox p {
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.8em;
}

.ppBox p + p {margin-top: 30px;}

.textLeftBox {
	margin: 20px 0 12px;
	text-align: left;
}

.marker {
	background: linear-gradient(transparent 50% , #fff602 0);
}

.mt15box {margin: 15px 0 0 0;}

.size34 {font-size: 28px;}
.size28 {font-size: 28px;}

.h300 {height:300px;}

.color01 {color: #ff7f00;}

.w33pc {width: 33%;}
.w100pc {width: 100%;}

.textLeft {text-align: left;}
.textCenter {text-align: center;}
.textRight {text-align: right;}

@media screen and (max-width: 768px) {
	.pc {display: none;}
	.sp {display: block;}

}

@media screen and (max-width: 572px) {
#formWrap {
	width: 95%;
	margin: 0 auto;
}
table.formTable th, table.formTable td {
	width: auto;
	display: block;
}
input[type="text"], textarea {
	padding: 5px;
	font-size: 110%;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display: block;
	width: 100%;
	height: 40px;
}
}
/* ---sp design-------------------------------------- */
@media screen and (max-width: 768px) {

.headerSP {
	width:100%;
	height: auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	border-bottom: 5px solid #222222;
}

header.sp .inner.flexBox {
	align-items: flex-end;
}
	
header.sp h1 {
	width: 50%;
}

header.sp .headerInfo {
	width: 50%;
	text-align: right;
	font-weight: 600;
	font-size: 20px;
	color: #ffffff;
}

nav.globalNavSP {
	position: fixed;
	z-index: 998;
	top: 0;
	left: 0;
	background-color: #ff8000;
	color: #bdaf98;
	text-align: center;
	transform: translateY(-100%);
	transition: all 0.6s;
	width: 100%;
}

nav.globalNavSP ul {
	background: #ff8000;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

nav.globalNavSP ul li {
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #FFFFFF;
}

nav.globalNavSP > ul > li:last-child ,
nav.globalNavSP  ul.flexBox li {
	margin: 0.5em 0;
	padding-bottom: 0;
	border-bottom: none;
}

nav.globalNavSP ul li a {
	display: block;
	color: #bdaf98;
	padding: 0.5em 0;
}

nav.globalNavSP ul li img {height: 21px;}

nav.globalNavSP ul.flexBox {
	justify-content: center;
}

nav.globalNavSP ul .flexBox li {
	width: 33%;
}

nav.globalNavSP ul li.iconLink img {
	height: auto;
}

nav.globalNavSP > ul > li > ul.flexBox > li {
	margin: 0;
}
	
.globalNavSP .headerNav2 li , .globalNavSP .headerNav3 li {
	border-bottom: none;
}
nav.globalNavSP .headerNav2 ul li a {
	padding: 0;
	}

.globalNavSP .headerNav2 img {
	margin-bottom: 2vw;
	width: 90vw;
}

.headerSP .globalNavSP .headerNav3 li {
	width: 29vw;
}

	/* このクラスを、jQueryで付与・削除する */
nav.globalNavSP.active {
	transform: translateY(0%);
}

.navToggle {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 42px;
	height: 42px;
	cursor: pointer;
	z-index: 999;
	background: #ff8000;
	text-align: center;
}

.navToggle span {
	display: block;
	position: absolute;	/* .navToggleに対して */
	width: 30px;
	border-bottom: solid 3px #ffffff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}

.navToggle span:nth-child(1) {
	top: 9px;
}

.navToggle span:nth-child(2) {
	top: 18px;
}

.navToggle span:nth-child(3) {
	top: 27px;
}

.navToggle span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

.spIconArea {
	justify-content: space-around;
}


/* ---sp slider--------------------------------------- */
#headerSlider .sliderItem {
	width: 100vw;
}

h2.title {flex-wrap: wrap;}
	
h2 span {height: 20px;}

h2 span.rightTxt {height:16px;}
	
h2 span img {vertical-align: baseline;}

h2 span.rightTxt {margin-left: auto;}

h2.center {height: 25px;}

.inner {
		margin: 0 auto;
		width: 96vw;
	}

.infoArea {
	padding: 0 0 1.5em 0;
	}

.infoLeft , .ifnoRight {width: 100%;}

.eventArea .eventBox {justify-content: center;}

.eventBox .eventImage {
	width: 100%;
	height: auto;
}

.eventBox .eventImage + .eventImage {margin-top: 20px;}

.eventBox .eventImage img {height: 100%;}

.eventBox ,
.noticebox {
	margin-top: 20px;
	width: 100%;
}

.eventArea .eventImage ,
.noticeArea .noticeImage {
	height: auto;
	min-height: auto;
	flex: initial;
}
.eventBox .eventText ,
.noticeArea .noticeText {
	height: auto;
	min-height: auto;
	flex:initial;
}


.bannerBox div:nth-of-type(n+3) {
	margin: 15px 0 0 0;
}

.link__leftBox, .link__rightBox {width: 100%;}

.visitArea h2.center img {width:100%;}


.accessArea .map {margin-top: 15px;}

.contentsBox > div {
	margin: 0 auto;
	width: 80%;
}
	
.contentsBox > div + div {margin-top: 10px;}

footer {
	width: 100%;
	margin: 0 auto;
	padding: 1.5em 0;
}

.footerLogo {width: 230px;}

.footerNav01 li:nth-of-type(n+4) ,
.footerNav02 li:nth-of-type(n+3) {margin-top: 15px;}

.footerNav02 {
	margin: 32px auto 0;
	width: 100%;
}


footer small {
	font-size: 3vw;
}

#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	opacity: 0.6;
}

#pagetop a {
	padding: 0;
}

.topContents {padding-top: 0;}

.pageContents {
/*	width: 96vw;
	max-width: 96vw;*/
	margin: 0 auto;
	padding-bottom: 1.5em;
}

	.headerBox .headerTitle {
		height: 30px;
	}

	.headerBox .headerTitle.line2{
		max-width: 96vw;
		height: 38px;
	}

	.infoArea .infoRight ,.scheduleArea .scheduleRight {
	margin-top: 15px;
	width: 100%;
	}

	.suTextBox, .ruleArea ul.anshinRule li {font-size: 16px;}
	
	 .ruleArea ul.anshinRule li {
		text-indent: -0.5em;
		padding-left: 0.8em;
	}
	
	.ruleArea ul.anshinRule li::marker {padding-right: 0;}
	
	.ruleArea .ruleBox img {max-width:96vw;}

	.menuArea .foodBox.menuBox > div {width: 100%;}
	.size28 {font-size: 18px;}
	.size34 {font-size: 20px;}
.fix-header {display: none;}
}