@charset "utf-8";

/*===========================================================
共通
===========================================================*/

.anchor-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
}

/* .anchor-box .btn01::before {
	transform: rotate(90deg);
}

.anchor-box .btn01:hover::before {
    transform: rotate(90deg) translateX(6px);
} */

.anchor-box .btn01 {
    padding: 16px 15px 15px;
    max-width: clamp(260px, 245.437px + 3.883vw, 320px);
}

.anchor-box .btn01::before {
	display: none;
}

.anchor-box .btn01:hover {
    color: var(--white);
    background: var(--base-font-color);
}

.komeTxt {
    position: relative;
    padding: 0 0 0 18px;
    margin: 2px 0 0;
}

.komeTxt:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    z-index: 1;
}

.course-menu-box {
	width: 100%;
}

.bullet-text {
    position: relative;
    padding: 10px 0 10px 20px;
    margin: 2px 0 0;
    border-bottom: 1px solid var(--border-primary);
    line-height: 1.5;
}

/* .bullet-text:first-child {
	padding: 0 0 10px 20px;
} */

/* .bullet-text:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    z-index: 1;
} */

.bullet-text:before {
    content: "";
	margin: auto;
    position: absolute;
    top: 0;
	bottom: 0;
    left: 0;
    width: 18px;
    height: 18px;
    z-index: 1;
    background: url(/system_panel/uploads/images/title-deco01.png);
    background-size: contain;
    background-attachment: scroll;
    background-position: center;
    background-repeat: no-repeat;
}

/*===========================================================
メニュー共通
===========================================================*/

.com-menu-atten-text-box {
  	width: 100%;
	margin: 30px 0 0;
}

.menu-contents {
    margin: 50px 0 0;
}

.com-menu-title {
    position: relative;
    display: inline-block;
    /* width: fit-content; */
    z-index: 0;
    min-width: 100px;
    padding: 0 10px;
}

.com-menu-title::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: auto;
    left: 0;
    bottom: -20%;
    max-width: 360px;
    width: 100%;
    height: 55%;
    background: url(/system_panel/uploads/images/menu-cate-deco.png) no-repeat center / 100% 100%;
}

.com-menu-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    margin: 50px 0 0;
}

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

.com-menu-list {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    border-bottom: 1px solid var(--border-primary);
    padding: 0 0 5px;
    /* margin: 10px 0 0; */
}

/* .com-menu-list:first-child {
	margin: 0;
} */

.com-menu-list-title-box {
	flex: 1;
}

.com-menu-list-price-box {
    margin: 0 0 0 auto;
}

.com-menu-list-title-box,
.com-menu-list-price-box {
    font-size: clamp(15px, 13.786px + 0.324vw, 20px);
}

.com-menu-img-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 50px 0 0;
}

.com-menu-img-box {
    display: block;
    width: 100%;
    aspect-ratio: 40 / 29;
}

.com-menu-img-box img {
	width: 100%;
  	height: 100%;
  	object-fit: cover;
}

/*===========================================================
courseメニュー
===========================================================*/

.course-contents {
    margin: 50px 0 0;
}

.course-price-row {
    max-width: 460px;
    width: 100%;
    margin: 0 0 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0 10px;
}

.course-price-row:nth-child(n+2) {
	margin: 17px 0 0 auto;
}

.course-sub-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: fit-content;
    margin: 0;
	font-size: clamp(14px, 12.544px + 0.388vw, 20px);
}

.course-sub-title::before,
.course-sub-title::after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background-color: currentColor;
    flex-shrink: 0;
}

.course-sub-title::before {
    transform: rotate(-35deg);
}

.course-sub-title::after {
    transform: rotate(35deg);
}

/* .course-cate {
    display: inline-block;
    padding: 2px 25px;
    background: rgba(220, 211, 202, .8);
} */

.course-cate {
    max-width: 158px;
    width: 100%;
    font-weight: 400;
    display: inline-block;
    padding: 2px 15px;
    text-align: center;
    background: #E2D3B8;
}

.course-price span {
    font-size: clamp(15px, 14.272px + 0.194vw, 18px);
	font-weight: 500;
    letter-spacing: 0;
    line-height: 1.8888;
  	margin: 0 10px 0 0;
}

.course-table {
    margin: 40px 0 0;
    border: 1px solid var(--border-primary);
}

.course-table-row {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    border-bottom: 1px solid var(--border-primary);
    background: #C6AE8B;
}

.course-table-row:last-child {
	border-bottom: 0;
}

.course-th {
    width: 100%;
    padding: 10px 15px;
}

.course-td {
    padding: 10px 15px;
	flex: 1;
    background: #FEFDF9;
}

.course-menu-block {
    margin: 40px 0 0;
    padding: 40px 15px;
    background: #FEFDF9;
}

.course-menu-box p {
	font-size: clamp(14px, 12.544px + 0.388vw, 20px);
}

.course-menu-row {
	gap: clamp(20px, -11.628px + 5.814vw, 100px);
}

.course-menu-br br {
	display: block;
}

.course-drink-row {
	gap: 25px;
}

.course-drink-contents .course-price-row:nth-child(n+2) {
    margin: 0;
}

.course-drink-list-box {
	font-size: clamp(14px, 12.544px + 0.388vw, 20px);
  	line-height: 2;
}

.course-drink-th {
    width: 125px;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:414px) {


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

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



} /* min-width: 414px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:544px) {

/*===========================================================
共通
===========================================================*/
  
.anchor-box {
    flex-direction: row;
}

/*===========================================================
メニュー共通
===========================================================*/

.com-menu-atten-text-box {
  	max-width: 320px;
  	width: 50%;
	margin: 30px 0 0 auto;
}
  
/* .com-menu-row {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
  	gap: 20px;
} */

.com-menu-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  	row-gap: 10px;
    column-gap: clamp(1.25rem, 0.036rem + 5.178vw, 6.25rem);
}
  
.com-menu-list {
    align-items: center;
    flex-direction: row;
}
  
.com-menu-img-row {
    gap: 15px;
}  
  
/*===========================================================
コースメニュー
===========================================================*/
  
.course-table-row {
    flex-direction: row;
}

.course-price-row {
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row;
    gap: 30px;
}

.course-th {
    min-width: 137px;
    width: 30%;
    padding: 10px;
}
  
.course-menu-in {
	width: 90% !important;
}


} /* min-width: 544px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 768px) {


/*===========================================================
メニュー共通
===========================================================*/
  
.com-menu-title {
    min-width: 200px;
    padding: 0 10px;
}

.com-menu-title::before {
    bottom: -20%;
    max-width: 360px;
    height: 46%;
}


.com-menu-list {
    align-items: flex-start;
    flex-direction: column;
}
  
.com-menu-block {
	width: 48%;
}
  
/*===========================================================
courseメニュー
===========================================================*/

.course-contents {
    margin: 100px 0 0;
}
  
.course-price-row {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    gap: 0px;
}

.course-cate {
    max-width: 188px;
}
  
.course-price {
    text-align: left;
    margin: 0 0 0 auto;
}
  
.course-menu-br br {
	display: none;
}
  

.course-drink-row {
	gap: 50px;
}  
  
.course-drink-contents .course-price-row {
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: row;
    gap: 15px;
}
  
.course-drink-th {
    width: 180px;
}

} /* min-width: 768px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 1024px) {


.anchor-box {
    gap: 60px;
}

/*===========================================================
メニュー共通
===========================================================*/

.com-menu-block {
	width: 46%;
}

.com-menu-list {
    align-items: center;
    flex-direction: row;
}
  

/*===========================================================
courseメニュー
===========================================================*/

.course-menu-block {
    padding: 60px 15px;
}
  
.course-price-row {
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row;
    gap: 30px;
}
  
.course-price {
    margin: 0;
}
  
.course-drink-contents .course-price-row {
	margin: 0;  
}

  
} /* min-width: 1024px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1200px) {


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

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



} /* min-width: 1200px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1440px) {


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

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



} /* min-width: 1440px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1620px) {




} /* min-width: 1520px ここまで */

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