@charset "UTF-8";
@import url("reset.css");

body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	width: 100%;
	height: 100%;
}
/* 
	font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	background-color: #FFF;
	color: #222;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
 */

/* -------------------------------------------for SP */
@media screen and (max-width:767.98px) {
}
/* -------------------------------------------for PC */
@media screen and (min-width:768px) {
}

.
/* 
-------------------------------------------------------------------

ページ幅設定
@import url("font.css");
@import url("common.css");
.d20240928 {}
.section {
	width: 100%;
	margin: 0 auto;
}

-------------------------------------------------------------------
 */

.section {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	background-color: #DFD!important;
}
.anchor {
	padding-top :75px;
	margin-top: -75px;
}
.anchor2 {
	padding-top :75px;
}
.section_top {
	padding-top :75px;
}
.message {
	width: 92%;
	margin-top: 3em;
	padding: 5em 0;
}
.message p {
	font-size: 1.2em;
	min-height: 0vw;
	font-weight: 600;
	line-height: 1.4;
	padding: 0.5em 0;
}
.caution {
	border: 1px solid #A9B388;
	background-color: #EFC;
	padding: 2em 0;
}


/* 
-------------------------------------------------------------------
.header {
	width: 100%;
	padding: 1em 0;
	background-color: #DBE15F;
	text-align: center;
}
-------------------------------------------------------------------
 */


.event01 {
	background-color: #9A9150;
}
.event02 {
	background-color: #C78A68;
}
.event03 {
	background-color: #8F9FAA;
}
.event04 {
	background-color: #BAB399;
}
.event05 {
	background-color: #828271;
}
.event06 {
	background-color: #9A9150;
}

.event_menu li {
	width: 100%;
	height: 85px;
	margin-bottom: 10px;
	border-radius: 10px;
}
.event_menu li:hover {
	opacity: 0.75;
}
.event_menu a {
	width: 100%;
	height: 85px;
	line-height: 85px;
	font-size: clamp(20px, 2.5vw, 24px);
	font-weight: bold;
	font-weight: 700;
	color: #FFF;
	display: block;
}

/* 
-------------------------------------------------------------------

h1 {
	font-size: clamp(18px, 2.5vw, 20px);
	color: #000;
}

-------------------------------------------------------------------
 */
.event_section {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.event_detail {
	width: 90%;
	max-width: 960px;
	margin: 0 auto;
	background-color: #FFF;
}
.event_detail p {
	margin-bottom: 2em;
}
.event_date {
	font-size:min(5vw,16px);
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
	padding: 1em;
	border: 1px solid #999;
	text-align: center;
	font-size: 110%;
}
.event_date span {
	display: inline-block;
}

.event_notes {
	font-weight: bold;
	font-weight: 700;
	color: #F33;
}
.large {
	font-size: 120%;
	line-height: 1.0!important;
}
.event_contents {
	width: 100%;
	border-top: 1px solid #999;
	padding-top: 2em;
	padding-bottom: 1em;
}
.event_name {
	font-weight: bold;
	font-weight: 700;
	color: #000;
	font-size: 110%;
	margin-bottom: 1em;
}
.event_title {
	font-weight: bold;
	font-weight: 700;
	color: #000;
	font-size: 120%;
	line-height: 1.3;
	margin-bottom: 1em;
}
.event_category {
	font-weight: bold;
	font-weight: 700;
	margin-bottom: 0.5em;
}
.event_photo {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 1em;
}
.event_photo img {
	max-width: 80%;
	height: auto;
	max-height: 300px;
	object-fit: contain;
}
.event_photo2 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 1em;
	display: flex;
	justify-content: center;
}
.event_photo2 img {
	width: 50%;
	height: auto;
	max-height: 300px;
	object-fit: contain;
}
.event_photo3 {
	width: 90%;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 1em;
	display: flex;
	justify-content: center;
}
.event_photo3 img {
	width: 50%;
	height: auto;
	max-height: 300px;
	object-fit: contain;
}

/* -------------------------------------------for SP */
@media screen and (max-width:767.98px) {
.gallery {
	max-width: 864px;
	width: 100%;
	margin-inline: auto;
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 1fr;
}
}
/* -------------------------------------------for PC */
@media screen and (min-width:768px) {
.gallery {
	max-width: 864px;
	width: 100%;
	margin-inline: auto;
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 1fr 1fr;
}
}



.eventmap {
	font-weight: bold;
	padding: 2px 10px;
	margin-left: 1em;
	background-color: #C00;
	color: #FFF !important;
	font-size: 0.9em;
}

.areamap_list {
	margin-bottom: 2em;
}
#areamap img {
	width: 100%;
	max-width: 600px;
	object-fit: contain;
}
#areamap iframe {
	width: 100%;
	max-width: 960px;
	height: 300px;
}
ul.areamap {
	border-top: 1px solid #999;
	padding-top: 2em;
}
ul.areamap li {
	border-bottom: 1px solid #999;
	margin-bottom: 2em;
}

.yoyaku {
	width: 80%;
	font-size:min(5vw,16px);
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	padding: 1em 0;
	margin: -0.5em auto;
	background-color: #39E;
	text-align: center;
	font-size: 110%;
	border-radius: 9999px;
}
.yoyaku a {
	color: #FFF !important;
	display: block;
}
.yoyaku:hover {
	opacity: 0.75;
}



/* 
-------------------------------------------------------------------
イベント詳細情報ページ
-------------------------------------------------------------------
 */
.more_info {
	width: 90%;
	max-width: 960px;
	margin: 0 auto;
	background-color: #FFF;
}
.more_info p {
	margin-bottom: 1em;
}
.mi_title {
	font-size:1.6em;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1em;
}
/* -------------------------------------------for SP */
@media screen and (max-width:767.98px) {
.mi_title span {
	display: inline-block;
}
}
.mi_name {
	font-size:1.1em;
	font-weight: normal;
	line-height: 1.5;
}
.mi_name em {
	font-size:120%;
	letter-spacing: 3px;
}
.mi_name2_line {
	border-bottom: 1px solid #999;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.emphasis {
	font-weight: bold;
	font-weight: 700;
	display: block;
	margin-top: 2em;
	margin-bottom: 1em;
}
.mi_name2 {
	font-size:1.0em;
	font-weight: normal;
	line-height: 1.5;
}
.mi_photo {
}
.more_info h2 {
	font-size:min(5vw,16px);
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	background-color: #000;
	color: #FFF;
	padding: 0.5em;
	border: 1px solid #999;
	text-align: center;
	font-size: 120%;
	margin: 1em 0;
}
.more_info h3 {
	font-size: 1em;
	color: #000;
	font-weight: bold;
	border-bottom: 1px solid #999;
	padding-top: 5em;
	padding-bottom: 1em;
	text-align: center;
	margin-bottom: 1em;
}

.more_info dl {
	border-bottom: 0px solid #999;
	padding-bottom : 1em;
}
.more_info dt {
	font-size: 1em;
	font-weight: bold;
	padding-bottom : 0.5em;
}
.more_info dd {
	font-size: 1em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #CCC;
}
.more_info dd p {
	line-height: 1.3!important;
}

#more_info .header {
	width: 100%;
	height: 75px;
	text-align: center;
	position: static;
	top: 0;
	left: 0;
	right: 0;
	background-color: #DBE15F;
}
#more_info .header h1 {
	font-size: 1.3em;
	line-height: 75px;
}
#more_info .footer {
	width: 100%;
	background-color: #DBE15F;
	text-align: center;
}
.tohomepage {
	width: 80%;
	font-size:min(5vw,16px);
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	padding: 1em 0;
	margin: 2em auto;
	background-color: #DBE15F;
	text-align: center;
	font-size: 110%;
	border-radius: 10px;
}
.tohomepage a {
	color: #009 !important;
	display: block;
}
.tohomepage:hover {
	opacity: 0.75;
}







h2 {
	font-size:min(5vw,22px);
	letter-spacing: 0em;
	min-height: 0vw;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	color: #5F6F52;
	border-bottom: 2px solid #A9B388;
	padding: 20px 0;
	margin-bottom: 2em;
}
h3 {
	font-size:min(4vw,26px);
	letter-spacing: 0em;
	min-height: 0vw;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
	border-bottom: 1px solid #999;
	padding-top: 1em;
	padding-bottom: 0.5em;
	margin-bottom: 0em;
}
h4 {
	font-size:min(5vw,16px);
	letter-spacing: 0em;
	min-height: 0vw;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
	margin-top: 0.5em;
	margin-bottom: 2em;
}
h5 {
	font-size:min(5vw,16px);
	letter-spacing: 0em;
	min-height: 0vw;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
}

.sml {
	font-size: 80%;
}
.cnt {
	text-align: center;
	margin: 0 auto;
}
.bold {
	font-weight: bold;
	font-weight: 700;
}

#footer {
	width: 100%;
	padding-top: 1em;
	background-color: #DBE15F;
	text-align: center;
}
#footer p {
	margin: 1em 1em 2.5em 1em;
	line-height: 1.6;
	padding-top: 1em 0;
}
/* -------------------------------------------for SP */
@media screen and (max-width:767.98px) {
.footer span {
	display: inline-block;
}
}

.copyright {
	font-size:min(2.5vw,0.85em);
	font-weight: bold;
	font-weight: 700;
	background-color: #000;
	color: #FFF;
	padding: 5px 0;
}

.sns {
	width: 100%;
	padding: 20px 0;
}
.sns img {
	width: 50px;
	height: 50px;
}


.gotop {
	font-weight: bold;
	font-weight: 700;
	font-size: 0.9em;
	padding: 1em;
	border-top: 0px solid #999;
	border-bottom: 1px solid #999;
	text-align: right;
	margin-top: 3em;
	margin-bottom: 3em;
}
.color1 {
	color: #C00;
	font-size: 110%;
}
.color2 {
	color: #66F;
	font-size: 110%;
}

.mb1em {
	margin-bottom: 1em;
}
.mb3em {
	margin-bottom: 3em;
}


/* 
-------------------------------------------------------------------

ハンバーガーメニュー
	padding-bottom: 75px;
	margin: 0 auto;

-------------------------------------------------------------------
 */
/* -------------------------------------------for SP */
.header {
	width: 100%;
	height: 75px;
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	background-color: rgba(219,225,95,0.9);
}
.header_menu_area {
	max-width: 960px;
	width: 100%; 
	height: 75px;
	margin: auto;
	padding: 0 10px;
	display: flex;
	justify-content: space-between;
}

h1 a {
	font-size: clamp(18px, 2.5vw, 20px);
	color: #000;
	line-height: 75px;
}
.header_menu {
	width: 80px;
}
.header_menu ul {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}
.header_menu li {
	width: 60px;
	height: 60px;
	margin-top: 5px;
	margin-right: 5px;
	display: inline-block;
	text-align: center;
	font-size: 0.7em;
	min-height: 0vw;
	font-weight: 600;
	cursor: pointer;
	z-index: 900;
}
.header_menu a:hover {
	background-color:#C3661F;
}
li.header_menu_btn {
	padding-top: 40px;
}
li.header_menu_btn:hover {
	background-color:#C3661F;
}
.header_menu a {
	color: #FFF;
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 40px;
}
.header_menu_btn {
	background-image: url(../images/icon_menu.svg);
	background-position: 50% 30%;
	background-repeat: no-repeat;
	background-size: 28px;
	background-color: #B99470;
	color: #FFF;
	letter-spacing: 0.15em;
	border: 1px solid rgba(255,255,255,0.5);
	box-sizing: border-box;
}
.header_menu_btn.is_active {
	background-image: url(../images/icon_menu_close.svg);
	background-position: 50% 25%;
	background-color:#C3661F;
	height: 60px;
}

.header_menu_open {
	width: 100%;
	height: 100vh;
	position: fixed;
	display: none;
	z-index: 1;
	background-color: rgba(255,255,255,0.0);
	animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideIn {
  0% {
    transform: translateY(-64px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%,100% {
    opacity: 1;
  }
}
.header_menu_open.is_active {
	display: flex;
	z-index: 1;
}
/* ------------------------------ハンバーガーメニュー展開for SP */
.hamburger_menu_area {
	width: 70vw;
	height: 100%;
	margin: 75px 0 0 auto;
	background-color: rgba(205,225,93,0.95);
}
.hamburger_menu {
	height: 100%
	display: flex;
	flex-direction: row;
}

.hamburger_menu ul {
	width: 100%;
}
.hamburger_menu ul li {
	width: 100%;
	height: 55px;
	text-align: left;
	padding-left: 1em;
	border-top: 1px solid #999;
}
.hamburger_menu a {
	font-size: clamp(16px, 2.5vw, 20px);
	font-weight: bold;
	font-weight: 700;
	display: block;
	width: 100%;
	height: 55px;
	line-height: 55px;
}
