:root {
    /* Brown */
    --color-brown01: #f7f5ef;
    --color-brown02: #e8e4d3;
    --color-brown02b: #a58d5e;
    --color-brown03: #715a2d;
    --color-brown04: #3c2d09;
    --color-brown05: #ce8105;
    --color-brown06: #915a00;
    /* Red */
    --color-red01: #dc0800;
    --color-red02: #e60214;
    /* Gray*/
    --color-gray01: #bababa;
    --color-gray02: #d9d9d9;
    /* Theme Colors*/
    --color-blue01: #0080cc;
    --color-green01: #009944;
    --color-orange01: #f39800;

		--color-link: var(--color-orange01);
		--color-border: var(--color-orange01);
		--color-alert: var(--color-red02);
}


html {
	color: #000;
	background: #fff;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

/* add
------------------------------------------------------------------------*/
.mb0 {
	margin-bottom: 0px;
}

.mb05 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb25 {
	margin-bottom: 25px;
}

.mb30 {
	margin-bottom: 30px;
}

.mt05 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt25 {
	margin-top: 25px;
}

picture img{
  max-width: 100%;
  max-height: 100%;
}
/* add
------------------------------------------------------------------------*/

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

body {
	color: #333333;
	font-family: "Meiryo UI", "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
}
#wrapper {
	background: #fff;
	overflow: hidden;
}
.inner {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 0 20px;
}
section{
	padding: 48px 0;
	&:nth-of-type(even){
		background: var(--color-brown01);
	}
}
.section_title_sm{
	color: var(--color-blue01);
	text-align: center;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.6px;
}
.section_title{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
	margin-top: 15px;
}
.section_lead{
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	margin-top: 15px;
}
p{
color: #000;
font-size: 12px;
font-weight: 400;
line-height: 1.5;
.bold{
	font-weight: 700;
	letter-spacing: 1.4px;
}
}
ul.annotation{
	font-size: 12px;
	font-weight: 400;
	list-style: inside;
	list-style-type: '※';
}
.rsv_box{
	margin-top: 20px;
	& p{
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	}
}
.rsv_box .rsv_msg_caption{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}
.rsv_msg{
	margin-top: 18px;
}
.rsv_btn{
	border-radius: 5px;
	background: var(--color-orange01);
	padding: 16px 16px 16px 36px;
	display: block;
	max-width: 276px;
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
	margin: 50px auto 0;
	text-align: center;
	position: relative;
	&::before{
	content: '';
	position: absolute;
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_calendar.svg) no-repeat;
	background-size: contain;
	top: 50%;
	left: 3%;
	max-width: 30px;
	width: 8%;
	aspect-ratio: 1/1;
	transform: translateY(-50%);
	}
}
.rsv_tel{
	margin: 23px auto 0;
	border-radius: 5px;
	border: 1px solid var(--color-border);
	background: #fff;
	color: var(--color-orange01);
	font-size: 14px;
	font-weight: 700;
	text-decoration-line: underline;
	padding: 16px 18px 16px 0;
	width: 165px;
	display: block;
	text-align: right;
	position: relative;
	&::before{
		content: '';
    position: absolute;
    background: url(/images_2024r/mamakai/beruberu-park/common/icon_tel.svg) no-repeat;
    top: 12px;
    left: 5px;
    width: 23px;
    aspect-ratio: 23/31;
	}
}
.rsv_tel_label{
	margin-top: 40px;
}
.rsv_time{
	margin-top: 23px;
}
.layout_md{
	display: grid;
	justify-content: center;
}
@media screen and (min-width: 980px) {
	section{
	padding: 80px 0;
	}
	.inner {
	padding: 0;
	}
}
/*header*/
header {
    box-sizing: border-box;
}
.header_sp{
	width: 100%;
	position: fixed;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 90px 90px;
	justify-content: stretch;
	align-items: end;
	z-index: 100;
	padding: 2% 2%;
	gap: 26px;
}
.logo_sp {
	box-sizing: border-box;
	margin-bottom: 0;
	padding-right: 5px;
	width: 150px;
	height: auto;
	padding-left: 10px;
}
.gnavi_menu .menu_hidden {
    display: none;
}
.gnavi_menu.open .menu_show {
    display: none;
}
.gnavi_menu.open .menu_hidden {
    display: block;
}
#gnavi_sp {
	opacity: 0;
	visibility: hidden;
	transition: 0.3s all;
	padding: 0 2%;
	box-sizing: border-box;
	background: #18a63e;
	height: 0;
	position: fixed;
	top: 0;
	fleft: 0;
	width: 100%;
	z-index: 90;
}
#gnavi_sp.open {
    opacity: 1;
    visibility: visible;
    height: calc(100vh - 73px);
    overflow: auto;
}
.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
}
.gnavi_sp_box{
	background: rgb(255, 255, 255);
	border-radius: 14px;
	margin: 100px 0 0 auto;
	padding: 50px;
	box-sizing: border-box;
	max-width: 350px;
	position: relative;
}
.gnavi_sp_box li {
	padding: 10px 0;
	box-sizing: border-box;
	position: relative;
	border-bottom: 1px solid var(--color-gray02);
}
.gnavi_sp_box li a {
	font-size: 14px;
	color: #363636;
	display: block;
}
.logo{
  margin: 0 auto;
}
.gnavi > ul{
	display: flex;
	justify-content: center;
	font-weight: bold;
	font-size: 16px;
}
.gnavi > ul > li{
	padding: 0 24px;
	width: fit-content;
	border-left: 1px solid;
}
.gnavi > ul > li:last-child{
	border-right: 1px solid;
}
.gnavi > ul > li > a.ico_lang{
	position: relative;
	padding-left: 24px;
}
.gnavi > ul > li > a.ico_lang::before{
	position: absolute;
	content: "";
	background: url(/images/mamakai/beruberu-park/language.svg) no-repeat;
	width: 24px;
	height: 24px;
	background-size: contain;
	top: 0;
	left: -5px;
}
.gnavi li a {
	color: #333;
	white-space: nowrap;
}
.head_today_box{
	border-radius: 30px;
	border: 1px solid #FFF;
	background: rgba(255, 255, 255, 0.50);
	padding: 10px 10px 10px 25px;
	text-align: center;
	max-width: 300px;
	margin-top: 13px;
	position: relative;
	&::before{
	position: absolute;
	content: "";
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_watch.svg) no-repeat;
	width: 14px;
	height: 14px;
	background-size: contain;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	}
}
.overlay_mv .rsv_btn{
	width: fit-content;
	margin: 13px 0 0;
	font-size: clamp(10px, 0.507rem + 0.59vw, 14px);
}
.rsv_link_icon{
	background: var(--color-border);
	border-radius: 5px;
	display: none;
	flex-direction: column;
	gap: 2px;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	& img{
		max-width: 20px;
    aspect-ratio: 1/1;
	}
	& p{
		color: #fff;
    font-size: 10px;
	}
}
button {
  outline: none;
}
button:focus {
  outline: none;
}
.link.appear{
	align-items: flex-start;
	background: var(--color-gray02);
	border: 3px solid #222;
	bottom: auto;
	display: flex;
	border-radius: 20px;
	box-shadow: 0px 2px 0px 0px #222;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 10px;
	height: auto;
	justify-content: flex-start;
	left: auto;
	margin: 0 0 0 0;
	padding: 10px 16px 10px 16px;
	font-weight: 600;
	width: auto;
	z-index: 3;
	--gap-h-485f97dd-bd91-4d4b-b410-c349de24a1fa: 0px;
	--gap-v-485f97dd-bd91-4d4b-b410-c349de24a1fa: 10px;
	--gap-uuid: 485f97dd-bd91-4d4b-b410-c349de24a1fa;
	max-width: 100%;
}
@media screen and (max-width: 751px) {
	.header_sp{
	width: 100%;
	position: fixed;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 90px 50px 40px;
	gap: 10px;
	align-items: end;
	justify-content: stretch;
	z-index: 100;
	padding: 2% 2%;
	background: #fff;
}
.rsv_link_icon{
	display: flex;
}
.overlay_mv .rsv_btn{
	width: 40vw;
}
.link.appear{height: 50px;}
#gnavi_sp.open{height: 100vh;}
}
@media screen and (min-width: 1500px) {
	.gnavi_sp_box{
		margin: 120px 0 0 auto;
	}
}
/*End header*/

/* MV */
.mv{
	position: relative;
	margin-top: 80px;
}
.sli_mv .slick-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.overlay_mv{
	position: absolute;
}
.mv .overlay_mv p{
	color: #fff;
	font-weight: 400;
	& + p{
		margin-top: 10px;
	}
}
.mv .overlay_mv .name_shop{
	font-size: 12px;
	font-weight: 400;
}
@media (min-width: 980px) {
	.mv{
		margin-top: 0;
	}
  .sli_mv .slick-slide img {
    width: 100vw;
    margin: 0 auto;
    display: block;
  }
	.overlay_mv{
		left: calc(50% - 460px);
	}
}
/* End MV */
/* about */
.page_lead_main {
	color: var(--color-green01);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	text-align: center;
	margin-top: 15px;
}
.about_list{
	margin-top: 15px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-content: center;
	gap: 10px 6px;
}
.about_item_title{
	font-weight: 700;
	letter-spacing: 1.4px;
}
.about_item_text{
	font-weight: 400;
	line-height: 1.5;
}
@media (min-width: 980px) {
.about_list{
	grid-template-columns: repeat(4, auto);
	gap: 20px;
	margin: 15px 0 0;
}
}
/* End about */
/* features */
.features_list{
	margin: 28px auto 0;
	display: grid;
	gap: 25px;
	justify-content: center;
}
.features_item_desc{
	padding: 20px;
}
.features_item_tag{
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	background: var(--color-orange01);
	padding: 5px;
	display: inline-block;
}
.features_item_name{
	color: #000;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
	margin-top: 16px;
	position: relative;
	padding-bottom: 15px;
	&::after{
		content: '';
    position: absolute;
    width: 55px;
    height: 3px;
    background: var(--color-orange01);
    bottom: 0;
    left: 0;
	}
}
.features_item_img{
	width: 100%;
	object-fit: cover;
}
.features_item_text{
	color: #000;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	margin-top: 13px;
}
@media (min-width: 980px) {
.features_list{
	grid-template-columns: 1fr 1fr;
}
}
/* End features */
/* topics */
.hot_news {
	margin-top: 40px;
}
#view_more{
	& .btn07{
		color: var(--color-red01);
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    display: block;
    margin-top: 18px;
	}
}
.topics_index {
	width: 100%;
	display: grid;
	justify-content: center;
	grid-template-columns: 1fr;
	gap: 0;
}
.topic_detail {
	display: grid;
	overflow: hidden;
	border-bottom: solid 1px #ccc;
	padding: 20px 0;
}
.topic_detail > a {
	display: grid;
	width: 100%;
	height: 100%;
}
.news_box{
	display: grid;
	grid-template-columns: 100px auto;
	grid-template-rows: 1fr;
	gap: 10px;
}
.topic_detail img {
	display: block;
	aspect-ratio: 1 / 1;
}
.news_text{
	display: flex;
	flex-direction: column;
}
.news_text .title {
	font-weight: bold;
	font-size: 16px;
	flex: 1;
}
.topic_detail .more_more {
	box-sizing: border-box;
	padding: 4px 0;
	border: 2px solid var(--color-blue01);
	border-radius: 16px;
	background-color: #FFF;
	text-align: center;
	color: var(--color-blue01);
	font-size: 12px;
	margin-top: 8px;
}
@media (min-width: 980px) {
.topics_index{
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr;
	gap: 20px;
}
.news_box{
	grid-template-columns: 1fr;
}
.topic_detail img{
	width: 100%;
}
.topic_detail{
	border: none;
	padding: 0;
}
}
/* End topics */
/* beruberuPrice */
.special_price_box{
	margin: 43px auto 0;
	background: #fff;
	padding: 10px 20px;
	border-radius: 10px;
	border: 1px solid #915A00;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	max-width: 300px;
	width: 100%;
}
.special_price_title{
	font-size: 14px;
}
.price_plan_list{
	margin: 60px auto 0;
	display: grid;
	gap: 20px;
	justify-content: center;
}
.price_item{
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--color-border);
	padding: 20px 10px;
	width: 100%;
	position: relative;
}
.price_item_tag_crown{
	background: var(--color-orange01);
	padding: 10px;
	border-radius: 30px;
	position: absolute;
	width: 100px;
	text-align: right;
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.4px;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
	&::before{
	content: '';
	position: absolute;
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_crown.svg) no-repeat;
	background-size: contain;
	width: 19px;
	aspect-ratio: 19/12;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	}
}
.price_item_title{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
}
.price_item_desc{
	font-size: 14px;
	font-weight: 400;
	margin-top: 10px;
}
.price_item_features_title{
	color: var(--color-orange01);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	margin-top: 20px;
}
.price_item_features_list{
	margin-top: 10px;
}
.price_item_features_item{
    font-weight: 400;
    letter-spacing: 1.4px;
	& + .price_item_features_item{
		margin-top: 10px;
	}
}
.tbl_price{
	margin-top: 20px;
	width: 100%;
}
.tbl_price th,
.tbl_price td{
	text-align: center;
	font-size: 14px;
	letter-spacing: 1.4px;
	padding: 15px 0;
}
.tbl_price_head{
	background: var(--color-orange01);
}
.tbl_price_th{
    color: #fff;
		font-weight: 600;
		width: calc(100%/3);
}
.tbl_price_plan{
	text-align: left;
}
.tbl_price_row{
border-bottom: 1px solid var(--color-border);
}
.tbl_price_row th,
.tbl_price_row td{
	font-weight: 400;
}
.price_item_features_desc{
		text-align: center;
    margin-top: 12px;
	& .color_orange.font_lg{
		color: var(--color-orange01);
		display: inline-block;
    font-size: 16px;
    font-weight: 600;
	}
}
.price_item_plan_list{
	margin-top: 12px;
	display: grid;
	grid-template-columns: repeat(2, 134px);
	gap: 13px;
	justify-content: center;
}
.price_item_plan_item{
	padding: 10px 0;
	border: 1px solid #f39800;
	text-align: center;
	max-width: 134px;
}
.price_item_plan_add{
	color: var(--color-orange01);
	font-size: 16px;
	font-weight: 600;
}
.price_item_deal{
	border: 1px dashed var(--color-border);
	background: rgba(243, 152, 0, 0.10);
	margin-top: 12px;
	padding: 14px 12px;
}
.price_item_deal_name{
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1.4px;
}
.price_item_deal_tag{
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	background: var(--color-orange01);
	padding: 5px 10px;
	border-radius: 30px;
	margin-right: 7px;
}
.price_item_deal_add{
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1.2px;
	margin-top: 14px;
	text-align: right;
	& span{
		color: var(--color-orange01);
    font-size: 14px;
    font-weight: 600;
	}
}
.price_item_deal_desc{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	margin-top: 20px;
}
.price_item .annotation{
	margin-top: 6px;
}
.MealOption_choice{
	color: #575757;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1.2px;
	padding-left: 1em;
	& p{
	color: #575757;
	}
}
.price_plan_base{
	&.price_item{
		border: 1px solid var(--color-green01);
	}
	& .price_item_features_title{
		color: var(--color-green01);
	}
	& .tbl_price_th_name{
		border: 1px solid var(--color-green01);
		color: var(--color-green01);
	}
	& .tbl_price_head{
		background: var(--color-green01);
		border: 1px solid var(--color-green01);
	}
	& .tbl_price_row{
		border-bottom: 1px solid var(--color-green01);
	}
	& .annotation li{
		color: var(--color-green01);
	}
}
.tbl_price_note{
	margin-top: 40px;
	color: var(--color-alert);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.4px;
	padding-left: 1.5em;
	position: relative;
	&::before{
		content: '';
    position: absolute;
    width: 1em;
    aspect-ratio: 1/1;
    background: url(/images_2024r/mamakai/beruberu-park/common/icon_annotation.svg) no-repeat;
    top: 50%;
    left: 0;
    transform: translateY(-45%);
	}
}
.annotation.tbl_price_annotation{
	list-style: none;
	max-width: 360px;
	& li{
		color: #000;
    font-size: 12px;
    font-weight: 400;
    padding-left: 1em;
		position: relative;
		&::before{
		content: '';
    position: absolute;
    width: 5px;
    aspect-ratio: 1/1;
    background: #000;
    border-radius: 50%;
    top: 25%;
    left: 0;
		}
	}
}
@media (min-width: 980px) {
.price_plan_list{
	grid-template-columns: repeat(2, 1fr);
}
.price_item_tag_crown{
	&::before{width: 16px;left: 8px;}
}
.price_item_deal_add{text-align: left;}
}
/* End beruberuPrice */
/* howto */
.compare_section{
	margin-top: 57px;
	display: grid;
	gap: 20px;
	justify-content: center;
}
.compare_title{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	border-radius: 30px;
	background: #d9d9d9;
	padding: 10px;
	display: inline-block;
	&.mark{
		background: var(--color-red01);
    color: #fff;
	}
}
.compare_title{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	border-radius: 30px;
	background: #d9d9d9;
	padding: 10px;
	display: inline-block;
}
.compare_desc{
	font-size: 14px;
	letter-spacing: 1.4px;
	margin-top: 13px;
}
.compare_item{
	max-width: 350px;
}
.compare_cost_row{
display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #000;
	&:last-of-type{
		border: none;
	}
}
.compare_cost_row dt,
.compare_cost_row dd{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.6px;
	padding: 10px 0;
}
.compare_cost_row.total dt{
	font-size: 14px;
	font-weight: 700;
}
.compare_cost_row.total dd{
	font-size: 18px;
	font-weight: 700;
	&.red{
	color: var(--color-alert);
	}
}
.compare_note{
	font-size: 14px;
	letter-spacing: 1.4px;
}
.compare_note_point{
	border-radius: 10px;
	border: 1px solid var(--color-red01);
	background: rgba(230, 2, 20, 0.50);
	color: #FFF;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.6px;
	padding: 17px 0;
	text-align: center;
	margin-top: 13px;
}
.upgrade_section{
	margin: 13px auto 0;
	padding: 13px 5px;
	border-radius: 15px;
	border: 1px solid var(--color-red02);
	width: 100%;
	max-width: 360px;
}
.upgrade_title{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
}
.upgrade_list{
	border-radius: 15px;
	border: 1px solid var(--color-red02);
	display: flex;
	width: 150px;
	padding: 10px 5px;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	margin: 20px auto 0;
}
.upgrade_item{
	& + .upgrade_item{
		margin-top: 28px;
		position: relative;
		&::before{
			position: absolute;
			content: '+';
			font-size: 1em;
			color: var(--color-red02);
			top: -30px;
			left: 50%;
			transform: translateX(-50%);
		}
		&:last-of-type::before{
			content: '=';
		}
	}
	&.total{
		color: var(--color-red02);
		font-size: 18px;
		font-weight: 700;
	}
}
.upgrade_item,
.upgrade_desc{
	font-size: 14px;
}
.upgrade_desc_strong{
	color: var(--color-red02);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.6px;
	margin-top: 15px;
}
@media (min-width: 980px) {
.compare_section{
	grid-template-columns: repeat(2, 350px);
	gap: 78px;
}
}
/* End howto */
/* freeService */
.free_service_list{
	margin-top: 15px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-content: center;
	gap: 10px 6px;
}
.free_service_item{
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--color-brown06);
	padding: 20px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	justify-content: flex-start;
}
.free_service_img{
	width: 100%;
	height: auto;
}
.free_service_title{
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.4px;
}
.free_service_desc{
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
}
@media (min-width: 980px) {
.free_service_list{
	grid-template-columns: repeat(3, 1fr);
	gap: 10px 5px;
	margin: 15px 0 0;
}
}
/* End freeService */
/* facilities */
.facilities_list{
	margin: 28px auto 0;
	display: grid;
	gap: 25px;
	justify-content: center;
}
.facilities_item_desc{
	padding: 20px;
}
.facilities_title{
	color: #000;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
	position: relative;
	padding-bottom: 15px;
	&::after{
		content: '';
    position: absolute;
    width: 55px;
    height: 3px;
    background: var(--color-orange01);
    bottom: 0;
    left: 0;
	}
}
.facilities_img{
	width: 100%;
	object-fit: cover;
}
.facilities_desc{
	color: #000;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	margin-top: 13px;
}
@media (min-width: 980px) {
.facilities_list{
	grid-template-columns: 1fr 1fr;
}
}
/* End facilities */
/* foodDrink */
.food_intro{
	margin: 28px auto 0;
	display: grid;
	gap: 25px;
	justify-content: center;
}
.food_intro_item{
	&.column_wide{
		width: 100%;
    max-width: 100%;
	}
}
.food_intro_title{
	color: #000;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
	margin-top: 16px;
	position: relative;
	padding-bottom: 15px;
	&::after{
		content: '';
    position: absolute;
    width: 55px;
    height: 3px;
    background: var(--color-orange01);
    bottom: 0;
    left: 0;
	}
}
.food_intro_img{
	width: 100%;
	aspect-ratio: 240/170;
	object-fit: cover;
}
.food_intro_desc{
	color: #000;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	margin-top: 13px;
}
.food_intro_link{
	color: var(--color-orange01);
	font-size: 14px;
	letter-spacing: 1.4px;
	margin-top: 13px;
	display: inline-block;
}
@media (min-width: 980px) {
.food_intro{
	grid-template-columns: 1fr 1fr;
	&.col_1{
	grid-template-columns: 1fr;
	}
}
}
/* End foodDrink */
/* hours */
.opening_hours{
	margin-top: 28px;
}
.opening_hours th, .opening_hours td {
	text-align: center;
	font-size: 14px;
	letter-spacing: 1.4px;
	padding: 15px 0;
}
.opening_hours{
& thead{
	background: var(--color-blue01);
	border: 1px solid var(--color-blue01);
	& th{
	color: #fff;
	font-weight: 600;
	width: calc(100%/3);
}
}
& tbody{
	border: 1px solid var(--color-blue01);
	& tr{
		border-bottom: 1px solid var(--color-blue01);
	}
	& td{
		font-weight: 700;
	}
	& .blue{
		color: var(--color-blue01);
	}
} 
}
/* End hours */
/* schedule */
.today_box{
	background: var(--color-blue01);
	padding: 14px;
	width: 100%;
	margin: 37px auto 0;
	max-width: 320px;
}
.today_opening_box{
	display: flex;
	gap: 0;
	justify-content: space-between;
	margin-top: 10px;
}
.today_label,
.today_note{
	color: #fff;
	letter-spacing: 1.2px;
}
.today_date,
.today_time{
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.8px;
}
.today_note{
	margin-top: 10px;
}
.week_card_list{
	margin-top: 30px;
	display: flex;
	gap: 12px;
	overflow-x: auto;
	padding-bottom: 10px;
	-webkit-overflow-scrolling: touch;
}
.week_card_list::-webkit-scrollbar {
  height: 2px;
}
.week_card_list::-webkit-scrollbar-track {
  background: #f8f8f8;
}
.week_card_list::-webkit-scrollbar-thumb {
  background: #eee;
  border-radius: 3px;
}
.week_card_list::-webkit-scrollbar-thumb:hover {
  background: #ddd;
}
.week_card{
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--color-blue01);
	padding: 20px;
	text-align: center;
	min-width: 136px;
	flex-shrink: 0;
}
.week_date{
	font-weight: 600;
}
.week_time{
	margin-top: 15px;
}
.note_week_card_list{
	color: #b5b3b3;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 1.5;
margin-top: 1em;
}
@media (min-width: 980px) {
	.week_card_list{
    display: grid;
    grid-template-columns: repeat(6, auto);
	}
	.note_week_card_list{
		display: none;
	}
}
/* End schedule */
/* informaition */
.map_wrapper{
	margin-top: 8px;
}
.map_wrapper iframe{
	width: 100%;
}
.shop_descs{
	margin: 20px auto 0;
}
.shop_descs dl{
	display: flex;
	flex-direction: column;
	gap: 10px;
	& + dl{
		margin-top: 20px;
	}
}
.shop_descs dt,
.shop_descs dd{
	font-size: 14px;
}
.shop_descs_link{
	border-radius: 5px;
	border: 1px solid #000;
	background: #FFF;
	padding: 8px 20px 8px 8px;
	display: inline-block;
	margin-top: 10px;
	position: relative;
	&::after{
		content: '▼';
		position: absolute;
		width: 1em;
		height: 1em;
		top: 20%;
		right: 0;
	}
}
/* End informaition */
/* route */
.route_link{
	background: var(--color-green01);
	color: #fff;
	display: block;
	font-size: 14px;
	padding: 5px 0;
	text-align: center;
	margin-top: 30px;
	position: relative;
	&::before{
	content: "";
	position: absolute;
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_mappoint.svg) no-repeat;
	background-size: contain;
	top: 50%;
	left: 10px;
	width: 15px;
	aspect-ratio: 15 / 21;
	transform: translateY(-50%);
	}
}
.item_route{
	margin-top: 35px;
	& p{
		font-size: 14px;
    font-weight: 400;
    letter-spacing: 1.4px;
	}
	& p.route_name{
		font-weight: 600;
		margin-bottom: 13px;
	}
}
.route_name{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.4px;
	position: relative;
	padding-bottom: 13px;
	&::after{
	position: absolute;
	content: "";
	background: var(--color-green01);
	width: 55px;
	height: 3px;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	}
}
.nearest{
	margin-top: 16px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
}
ul.nearest_route{
margin-top: 13px;
}
ul.nearest_route li.col1 {
	display: grid;
	grid-template-columns: max-content 1fr;
	margin: 0px 0 20px;
	column-gap: 0;
}
ul.nearest_route li.col1::before {
    content: attr(data-index);
}
@media (min-width: 980px) {
.route_name{
	text-align: center;
}
}
/* End route */
/* breadCrumb */
#breadcrumbs{
background: #F7F5EF;
padding:5px;
padding-left:20px;
font-size:10px;
}
#breadcrumbs > div{
overflow: scroll;
white-space: nowrap;
}
#breadcrumbs ol{
display: flex;
justify-content: left;
}
#breadcrumbs ol li{
width: fit-content;
margin: 0;
margin-right:20px;
position: relative;
font-size: 10px;
}
#breadcrumbs ol li:last-of-type{
	pointer-events: none;
}
#breadcrumbs ol li:after{
content:"";
position: absolute;
width: 4px;
height: 4px;
border: 1px solid;
border-color: #000 #000 transparent transparent;
transform: rotate(45deg);
right:-10px;
top:0;
bottom:0;
margin:auto;
}
#breadcrumbs ol li:last-of-type:after{
content:none;
}
@media screen and (max-width: 1019px) {
#breadcrumbs ol{
	overflow-x: scroll;
}
#breadcrumbs ol li{
	white-space: nowrap;
}
}
@media screen and (min-width: 1020px) {
#breadcrumbs {
	margin: auto;
	width: 100%;
	display: block;
	overflow: hidden;
	box-sizing: border-box;
}
#breadcrumbs > div {
	margin: auto;
	max-width:560px;
	overflow-x: scroll;
	overflow-y: auto;
	white-space: nowrap;
}

#breadcrumbs *::-webkit-scrollbar{
	height:2px;
}
/*スクロールバーの軌道*/
#breadcrumbs *::-webkit-scrollbar-track{
	border-radius: 10px;
}

/*スクロールバーの動く部分*/
#breadcrumbs *::-webkit-scrollbar-thumb{
	background-color: #000;
	border: solid 1px #000;
	border-radius: 10px;
}
#breadcrumbs *::-webkit-scrollbar-track-piece{
	background: inherit;
}
}

@media screen and (min-width: 1020px) and (max-width: 1320px) {
	#breadcrumbs{
		left: 25vw;
	}
}
footer,#breadcrumbs{
	line-height: 1.6em;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 0.1em;
}
/* breadcrumbs end */

/* footer */
footer{
padding:30px 0 60px;
color:#fff;
text-align: center;
background: var(--color-red01);
}
footer a{
display: block;
}
.foot_shop{
margin-bottom:20px;
}
.foot_link_list{
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 40px auto 30px;
max-width: 560px;
padding: 0 5%;
font-size: 10px;
text-align: left;
}
.foot_link_list li{
font-size: 10px;
line-height: 1.6em;
}
.foot_copy{
font-size:10px;
}
@media screen and (max-width: 1019px) {
.foot_link_list{
	padding: 0 10%;
}
.foot_link_list li{
	line-height: 1.5;
}
}
@media screen and (min-width: 1020px) {
	footer {
	margin: auto;
	width: 100%;
	}
	.foot_link_list{
	grid-template-columns: 1fr 1fr 1fr;
	place-content: center;
	text-align: left;
	gap: 0;
	padding-right: 0;
	margin: 40px auto 20px;
	font-size: 10px;
	}

}
@media screen and (min-width: 1020px) and (max-width: 1320px) {
	footer{
		/* max-width: 50vw; */
		left: 25vw;
	}
}
/* footer end */
/* spLinksBottom */
.sp_links_bottom{
	display: none;
	transition: 0.8s;
}
.hours_anchor_btn {
color: var(--color-link);
font-size: clamp(14px, 0.507rem + 0.59vw, 18px);
font-weight: 700;
border-radius: 5px;
border: 1px solid var(--color-link);
background: #FFF;
padding: 10px 0;
text-align: center;
display: flex;
position: relative;
justify-content: center;
align-items: center;
	&::before{
	position: absolute;
	content: "";
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_watch.svg) no-repeat;
	width: 24px;
	height: 24px;
	background-size: contain;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	}
}
.sp_links_bottom .hours_anchor_btn{
&::before{
width: 17px;
height: 17px;
left: 1rem;
}
}
.sp_links_bottom .rsv_btn{
	margin: 0;
	max-width: 100%;
	font-size: clamp(14px, 0.507rem + 0.59vw, 18px);
	line-height: 1;
&::before{left: 1rem;}
}
.header_list_lang{
	position: relative;
	margin-left: 24px;
	&::before{
	position: absolute;
	content: '';
	background: url(/images_2024r/mamakai/beruberu-park/common/icon_globe.svg) no-repeat;
	width: 14px;
	height: 14px;
	top: 50%;
	left: -20px;
	transform: translateY(-50%);
	}
	&.hide{opacity: 0;}
}
.header_item_lang{
	font-size: clamp(10px, 0.507rem + 0.59vw, 16px);
	& + .header_item_lang{
		position: relative;
		padding-left: 16px;
		&::before{
			position: absolute;
			content: '/';
			width: 1em;
			height: 1em;
			left: 0;
			top: 0;
			font-size: 1em;
		}
	}
}
@media screen and (max-width: 751px) {
	.sp_links_bottom{
	display: grid;
	position: fixed;
	bottom: 0;
	left: 0;
	grid-template-columns: repeat(2, 48%);
	width: 100%;
	z-index: 10;
	gap: 8px;
	justify-content: center;
	margin-bottom: 8px;
	}
}
/* End spLinksBottom */
