@charset "utf-8";
/* ===================================================================
     TOP CSS
=================================================================== */

/* -----------------------------------------------------------
	
----------------------------------------------------------- */
.page_ttl_bg_1 {
	background: url(../img/bg_ttl_1.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
.page_ttl_bg_2 {
	background: url(../img/bg_ttl_2.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
.mida {
	color: #e26b9d;
	font-size: 24px;
	font-weight: bold;
	font-family: serif;
    line-height: 1.7;
    letter-spacing: 0.12em;
}
.bg {
	background: linear-gradient(to bottom, #fff, #f2efe4);
}

.fir_text {
	font-size: 17px;
	text-align: center;
	line-height: 2.4;
	margin-bottom: 80px;
}
.fir_text .cor {
	color: #eb6fa5;
}


.service_list {
	max-width: 1010px;
	margin: 0 auto 120px;
	display: flex;
	flex-wrap: wrap;
	gap: 80px 0;
	justify-content: space-between;
}
.service_list .item {
	width: 46%;
}
.service_list .item .ttl {
	color: #e26b9d;
	font-size: 24px;
	font-family: serif;
	margin: 18px 0 10px;
	text-align: center;
	letter-spacing: 0.05em;
}
.service_list .item .text {
	line-height: 1.8;
	letter-spacing: 0.03em;
}
.service_list .item .btn {
	max-width: 250px;
	margin: 20px auto 0;
}
.service_list .item .btn a {
	display: block;
    background: #e26b9d;
    border-radius: 6px;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 9px 0;
    line-height: 1;
    letter-spacing: 0.02em;
    position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1140px) {
.fir_text {
	font-size: 16px;
}
.service_list .item .ttl {
	font-size: 22px;
}
}

@media screen and (max-width: 767px) {


.fir_text {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 40px;
}
.service_list {
	gap: 40px 0;
	margin-bottom: 60px;
}
.service_list .item {
	width: 90%;
	margin: 0 auto;
}
.service_list .item .ttl {
	font-size: 20px;
}
}





.event {
	padding: 80px 0;
}

.event .firs_text {
	text-align: center;
	margin-bottom: 60px;
	line-height: 1.8;
}
.event .lat_sche {
	max-width: 910px;
	margin: 0 auto 80px;
	display: flex;
	gap: 0 6%;
}
.event .lat_sche .item {
	width: calc(94% / 2);
}
.event .lat_sche .item .item_inner {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 8px;
}
.event .lat_sche .item .item_inner .ttl {
	background: #e26b9d;
	color: #fff;
	font-size: 17px;
	letter-spacing: 0.05em;
	text-align: center;
	padding: 12px 0;
	line-height: 1;
}
.event .lat_sche .item .item_inner .inbox {
	height: 70px;
	display: flex;
	justify-content: center;
    align-items: center;
}
.event .lat_sche .item .item_inner .inbox a {
	color: #333;
	text-decoration: underline;
}
.event .lat_sche .item .note {
	text-align: center;
	margin-top: 10px;
}
.event .lat_sche .item .note a {
	color: #333;
	font-size: 15px;
	text-decoration: underline;
}
.event .lat_sche .item .note a:hover {
	text-decoration: none;
}
@media screen and (min-width: 768px) and (max-width: 1140px) {

}

@media screen and (max-width: 767px) {
.event {
	padding: 40px 0 80px;
}
.event .firs_text {
	margin-bottom: 30px;
}
.event .lat_sche {
	flex-wrap: wrap;
	gap: 20px;
	width: 94%;
	max-width: 400px;
	margin-bottom: 50px;
}
.event .lat_sche .item {
	width: 100%;
}
.event .lat_sche .item .item_inner .inbox {
	height: 50px;
}
.event .lat_sche .item .note a {
	font-size: 13px;
}
}


.season {
	max-width: 1000px;
	margin: 0 auto 100px;
}
.season .para {
	margin-bottom: 40px;
}
.season .ttl {
	max-width: 118px;
	margin-bottom: 10px;
}
.season .list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 2%;
}
.season .list li {
	width: calc(94% / 4);
}
.season .list li p {
	font-size: 13px;
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
.season .list li {
	width: calc(96% / 3);
}
}

@media screen and (max-width: 767px) {
.season .ttl {
	max-width: 90px;
}
.season .list li {
	width: calc(98% / 2);
}
}



.schedule {
	max-width: 924px;
	margin: 0 auto;
}
.schedule .ttl {
	text-align: center;
	font-size: 20px;
}
.schedule .para {
	margin-bottom: 40px;
}
.schedule .para .year {
	font-size: 18px;
	border-bottom: 1px solid #333;
	margin-bottom: 16px;
}
.schedule .para ul {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.schedule .para ul li {
	width: 170px;
}
.schedule .para ul li a {
	color: #333;
	text-decoration: underline;
}
.schedule .para ul li a:hover {
	text-decoration: none;
}
@media screen and (min-width: 768px) and (max-width: 1140px) {

}
@media screen and (max-width: 767px) {
.schedule .para ul li {
	width: 130px;
}
}



.meal {
	padding-bottom: 80px;
}
.grid {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}
.grid .pic {
	width: 51%;
}
.grid .textbox {
	width: 43%;
}
.grid .textbox .mida {
	letter-spacing: 0.05em;
	margin-bottom: 45px;
}
.grid .textbox .mida {
	font-size: 22px;
}
.grid .textbox .text {
	letter-spacing: 0.05em;
	line-height: 1.8;
}
.grid .lat_menu {
	background: #f3e3e3;
	padding: 20px;
	text-align: center;
	border-radius: 16px;
}
.grid .lat_menu .ttl {
	margin-bottom: 10px;
	letter-spacing: 0.05em;
}
.grid .lat_menu a {
	color: #333;
	font-size: 15px;
	text-decoration: underline;
}
.old_menu .year {
	text-align: center;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}
.old_menu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 50px;
	justify-content: flex-start;
	max-width: 924px;
	margin: 0 auto;
}
.old_menu ul li a {
	color: #333;
	font-size: 15px;
	text-decoration: underline;
}
.old_menu ul li a:hover {
	text-decoration: none;
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
.grid .textbox .mida {
	font-size: 17px;
}
}
@media screen and (max-width: 767px) {
.grid {
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.grid .pic {
	width: 100%;
	max-width: 400px;
	margin: 0 auto 30px;
}
.grid .textbox {
	width: 100%;
}
.grid .textbox .mida {
	font-size: 17px;
}
.old_menu ul {
	gap: 6px;
}
.old_menu ul li {
	width: 170px;
}
.old_menu ul li a {
	font-size: 12px;
}
.old_menu .list_wrap {
	height: 200px;
	overflow: auto;
	width: 90%;
}
}


.special_menu {
	padding: 80px 0 120px;
}
.special_menu .mida {
	text-align: center;
	margin-bottom: 30px;
}
.special_menu .pic {
	max-width: 780px;
	margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1140px) {

}
@media screen and (max-width: 767px) {
.special_menu {
	padding: 50px 0 80px;
}
.special_menu .mida {
	font-size: 17px;
	margin-bottom: 20px;
}
}

