@charset "utf-8";

/*===========================================================
menu01
===========================================================*/

.menu01 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 5.5rem 1.5rem 0;
    position: relative;
    background: url(../../../../uploads/menu_bg01.jpg) center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.menu01::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(48, 34, 21, 0.7);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}

.menu01-frame {
    max-width: 155.8rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
	position: relative;
	z-index: 1;
}

.menu01-illust-area01 {
    max-width: 35.5rem;
    width: 54.8%;
}

.menu01-illust-box01 {
    margin: 0 0 0 auto;
    max-width: 25.9rem;
    width: 73%;
}

.menu01-illust-box02 {
    margin: 7.7rem 0 0;
    max-width: 27.8rem;
    width: 78.4%;
}

.menu01-text-area {
    max-width: 71.6rem;
    width: 100%;
    margin: 8rem auto 0;
    position: relative;
    left: 6rem;
}

.menu01-title-area {
    text-align: center;
}

.menu01-title02-decoration {
    font-size: 6.5rem;
    font-weight: 400;
    -webkit-text-stroke: 1.5rem var(--primary);
    text-stroke: 1.5rem var(--white);
    paint-order: stroke;
}

.menu01-text-box {
    margin: 4rem 0 0;
    text-align: center;
}

.menu01-illust-area02 {
    max-width: 48.5rem;
    width: 74.8%;
    position: relative;
    bottom: -10rem;
}

.menu01-illust-box03 {
    margin: 0 7rem 0 auto;
    max-width: 27.1rem;
    width: 55.9%;
}

.menu01-illust-box04 {
    margin: 6.6rem 0 0 auto;
    max-width: 23.2rem;
    width: 47.9%;
}

.menu01-illust-box05 {
    max-width: 33.3rem;
    width: 68.7%;
}

/*===========================================================
menu02
===========================================================*/

.menu02 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 5rem 1.5rem 20rem;
}

.menu02-container {
    max-width: 122rem;
    width: 100%;
    margin: 0 auto;
}

.menu02-main-title-container {
    max-width: 95.6rem;
    width: 100%;
    margin: 0 auto;
}

.menu02-main-title-area {
    display: flex;
    align-items: flex-end;
}

.menu02-illust-box {
    margin: 0 1.3rem 2rem 0;
    max-width: 19.3rem;
    width: 20.2%;
}

.menu02-area {
	margin: 7.5rem 0 0;
}

.menu02-block {
	margin: 10.5rem 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu02-block:nth-of-type(even) {
	flex-direction: row-reverse;
}

.menu02-block:first-child {
	margin: 0 auto;
}

.menu02-card-container {
    max-width: 43.7rem;
    width: 37%;
}

.menu02-block .menu02-card-container {
	transform: rotate(-5deg);
}

.menu02-block:nth-of-type(even) .menu02-card-container {
	transform: rotate(5deg);
}

.menu02-illust-box01 {
    max-width: 9rem;
    width: 100%;
    margin: 0 auto -5rem;
    position: relative;
    z-index: 1;
}

.menu02-card-area {
    width: 100%;
    padding: 2rem 2rem 9rem 2rem;
}

.menu02-card-bg01 {
    background: url(../../../../uploads/decoration_menu09.jpg) center top;
    background-repeat: no-repeat;
    background-size: cover;
	text-align: center;
}

.menu02-card-bg02 {
    background: url(../../../../uploads/decoration_menu11.jpg) center top;
    background-repeat: no-repeat;
    background-size: cover;
	text-align: center;
}

.menu02-card-img-box {
    max-width: 39.5rem;
    width: 100%;
    margin: 0 auto;
}

.menu02-card-text-box {
    margin: 1rem 0 0;
}

.menu02-text-frame {
    max-width: 61rem;
    width: 58%;
}

.menu02-sub-text-box {
	width: 100%;
	padding: 2.5rem 3.5rem 5rem 2.5rem;
    background: url(../../../../uploads/decoration_menu07.png) center top;
    background-repeat: no-repeat;
    background-size: cover;
	text-align: center;
}

.menu02-sub-text-box02 {
    padding: 4rem 3.5rem 5.5rem 2.5rem;
}

.menu02-text-container {
	margin: 2rem auto 0;
	max-width: 52rem;
	width: 100%;
}

.menu02-text-area {
	margin: 5rem auto 0;
}

.menu02-text-area:first-child {
	margin: 0;
}

.menu02-title-box {
    text-align: center;
    padding: 0 0 1rem;
    background-image: linear-gradient(to right, var(--primary) 6px, transparent 6px);
    background-size: 12px 3px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.menu02-money-text {
    margin: 1rem;
    font-size: 2.3rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center;
}

.menu02-text-box {
    margin: 2rem 0 0;
}

/*===========================================================
menu03
===========================================================*/

.menu03 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 5rem 1.5rem 15rem;
}

.menu03-container {
    max-width: 122rem;
    width: 100%;
    margin: 0 auto;
}

/*===========================================================
menuModal
===========================================================*/

.menu-text-padding01 {
    padding: 2.4rem 0 0;
}

.menu-btn01 {
    max-width: 65.9rem;
    width: 100%;
    margin: 0 auto;
    padding: 4.2rem 1.5rem;
    font-size: 3rem;
    font-family: var(--font-family02);
    font-weight: 400;
    letter-spacing: 0.05em;
    background: url(../../../../uploads/btn_bg01.jpg) center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.menu-btn01:hover {
    filter: brightness(1.3);
}

.menu-main-title-box {
    text-align: center;
}

.menu-main-title-box .text02 {
    margin: 1rem 0 0;
}

.menu-container {
    max-width: 134rem;
    width: 100%;
    margin: 0 auto;
}

.menu-group {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.menu-block {
    max-width: 42rem;
    width: 100%;
}

.menu-area {
    max-width: 88rem;
    width: 100%;
}

.menu-block-flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0 1rem;
}

.menu-take-out-area {
    margin: 8rem 0 0;
}

.menu-take-out-box {
    max-width: 62.6rem;
    width: 100%;
    margin: 0 auto;
}

.menu-take-out-text-box {
    margin: 2rem 0 0;
    text-align: center;
}

.menu-item {
    margin: 5rem 0 0;
}

.menu-title-box {
    padding: 0.8rem 1.5rem;
    text-align: center;
    background: var(--white);
    position: relative;
}

.menu-money {
    color: var(--primary);
    display: flex;
    align-items: center;
    position: absolute;
    right: 2%;
    top: 0;
    bottom: 0;
    margin: auto;
}

.menu-row {
    padding: 2.4rem 0;
    display: flex;
    justify-content: space-between;
    background-image: linear-gradient(to right, var(--white) 4px, transparent 4px);
    background-size: 10px 3px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.menu-row02 {
    padding: 2.4rem 0 1rem;
    background: none;
}

.menu-row03 {
    padding: 2.4rem 0;
}

.menu-td04 {
    width: 37%;
}

.menu-row03 {
    display: flex;
    flex-direction: column;
}

.menu-row03 .menu-th {
    width: 100%;
}

.menu-row03 .menu-td {
    width: 100%;
}

.menu-point-text-box {
    width: 100%;
    text-align: right;
}

.menu-th {
    width: 63%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.menu-td {
    width: 22%;
    text-align: right;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.menu-td02 {
    width: 30%;
}

.menu-text-frame {
    margin: 4rem 0 0;
    padding: 3rem 1.5rem;
    width: 100%;
    border: 0.1rem solid var(--white);
}

.menu-text-box {
    text-align: center;
}

/*---メニューなどのポップアップ---*/

body.scroll-lock {
    overflow: hidden;
}

.popup-btn {
    text-align: center;
    /* text-decoration: underline; */
    /* font-size: 1.6rem; */
    /* margin: 4rem auto 0; */
    cursor: pointer;
    transition: all .3s;
}

.popup-btn:hover {
    /* text-decoration: none; */
    /* background: var(--secondary); */
}


.modal {
    display: none;
    position: fixed;
    z-index: 999999999;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(45 21 11 / 85%);
}

/* .modal-content {
    margin: 8vh auto;
    padding: 2rem;
    max-width: 70rem;
    width: 96%;
    background: url(../../../../uploads/2024/09/in_bg01.png); 
    border: 0.3rem solid var(--secondary);
    background: rgba(0, 0, 0, 0.68);
    background-size: auto;
    background-repeat: repeat;
    overflow-y: scroll;
    height: 90vh;
} */

.modal-content {
    margin: auto;
    padding: 2rem;
    max-width: 140rem;
    width: 93%;
    /* background: url(../../../../uploads/2024/09/in_bg01.png); */
    background: var(--bg-primary);
    background-size: auto;
    background-repeat: repeat;
    overflow-y: scroll;
    height: 90vh;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.modal-content::-webkit-scrollbar{
    display:none;
}

/* .close.btn02 {
    padding: 1.5rem;
    max-width: 30rem;
    width: 100%;
    background: var(--bg-tertiary);
    font-size: 2.1rem;
    font-weight: 400;
    font-family: var(--font-family02);
    border-radius: 3.7rem;
	transition: all .3s;
} */

/* .close.btn02:hover {
    filter: brightness(1.2);
} */

.close {
    background: var(--bg-tertiary);
    max-width: 6rem;
    width: 100%;
    height: 6rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 4rem;
    line-height: 1em;
    text-align: center;
    margin: auto;
    /* text-decoration: underline; */
    cursor: pointer;
    position: fixed;
    right: 15%;
    top: 7%;
    transition: all .3s;
}

.close:hover {
    transform: scale(1.2);
}

.close strong {
    display: inline-block;
    transform: translateY(-0.2rem);
}

/* .close:hover,
.close:focus {
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
    background: var(--secondary);
} */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1920px) {


/*===========================================================

===========================================================*/



}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1550px) {


/*===========================================================

===========================================================*/

.close {
    right: 7%;
    top: 7%;
}

}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1024px) {


/*===========================================================
menu01
===========================================================*/

.menu01 {
	padding: 4rem 1.5rem;
    background: url(../../../../uploads/sp_menu_bg01.jpg) center top;
}

.menu01-frame {
    flex-direction: column;
}

.menu01-illust-area01 {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.menu01-illust-box01 {
    margin: 0;
	width: 27%;
}

.menu01-illust-box02 {
	margin: 2.7rem 0 0;
	width: 28.4%;
}

.menu01-text-area {
	margin: 0 auto;
	left: 0;
}

.menu01-illust-area02 {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    bottom: 0;
}

.menu01-illust-box04 {
    margin: 6rem 3rem 0 0;
}

.menu01-title02-decoration {
    -webkit-text-stroke: 1rem var(--primary);
    text-stroke: 1rem var(--white);
}

/*===========================================================
menu02
===========================================================*/

.menu02 {
    padding: 5rem 1.5rem 8rem;
}

.menu02-sub-text-box {
	padding: 2rem 3.5rem 4.3rem 2.5rem;
}

.menu02-sub-text-box02 {
    padding: 4rem 3.5rem 5.5rem 2.5rem;
}

.menu02-sub-text-box .text03 {
	font-size: 1.8rem;
}

.menu02-sub-text-box .text03 strong {
	font-size: 2.3rem;
}

/*===========================================================
menuModal
===========================================================*/

.menu-group .text02 {
    font-size: 1.5rem;
}

.menu-block {
    max-width: 30rem;
    width: 100%;
}

.menu-area {
    max-width: 60rem;
    width: 100%;
}

.menu-row .text01 {
    font-size: 1.4rem;
}


.menu-text-box .title03 {
    font-size: 1.8rem;
}

.menu-th {
    width: 58%;
}


} 


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 768px) {

/*===========================================================
menu01
===========================================================*/

.menu01-title02-decoration {
    -webkit-text-stroke: 0.8rem var(--primary);
    text-stroke: 0.8rem var(--white);
}

/*===========================================================
menu02
===========================================================*/

.menu02 {
    padding: 5rem 1.5rem 5rem;
}

.menu02-block {
    margin: 6rem auto 0;
    flex-direction: column;
    max-width: 58rem;
}

.menu02-block:nth-of-type(even) {
    flex-direction: column;
}

.menu02-card-container {
    margin: 2rem 0 0;
    padding: 0 1.5rem;
    order: 2;
    width: 100%;
}

.menu02-text-frame {
    display: contents;
}

.menu02-sub-text-box {
    order: 1;
}

.menu02-text-container {
    margin: 4rem auto 0;
    order: 3;
}

/*===========================================================
menuModal
===========================================================*/

.menu-group {
    flex-direction: column;
}

.menu-block {
    max-width: 100%;
}

.menu-area {
    max-width: 100%;
}

.menu-block-flex {
    flex-direction: column;
}

.menu-btn02 {
    max-width: 37rem;
    font-size: 1.6rem;
}

.menu-btn02::before {
    margin: 0 2rem 0 0;
}

.close {
    max-width: 4rem;
    width: 100%;
    height: 4rem;
    font-size: 3rem;
}

} 


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 576px) {


/*===========================================================

===========================================================*/

.menu01-title02-decoration {
	font-size: 4.5rem;
}

.menu02-sub-text-box-row3 {
    padding: 1rem 1.5rem 2.7rem 1.5rem;
}

.menu02-sub-text-box02 {
    padding: 3rem 3.5rem 5rem 2.5rem;
}

.menu02-sub-text-box .text03 {
    font-size: 1.7rem;
    line-height: 1.25;
}

.menu02-sub-text-box .text03 strong {
    font-size: 2rem;
}

/*===========================================================
menuModal
===========================================================*/

.menu-btn01 {
    max-width: 34.6rem;
    padding: 2rem 1.5rem;
    font-size: 1.8rem;
}

.menu-btn-flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.menu-modal-area01 {
    display: contents;
}

.menu-modal-area02 {
    display: contents;
}

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 414px) {


/*===========================================================

===========================================================*/

.menu02-main-title-box .title01 strong {
    font-size: 3rem;
}

.menu02-sub-text-box {
    padding: 1.3rem 3.5rem 3.3rem 2.5rem;
}

.menu02-sub-text-box-row3 {
    padding: 0.4rem 1.5rem 2rem 1.5rem;
}

.menu02-sub-text-box02 {
    padding: 2.4rem 3.5rem 3.8rem 2.5rem;
}

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */