/* Dining Page Specific Styles */

/* Page Layout */
.page-content {
    margin-top: 0;
}

/* Hero Banner */
.page-hero-banner {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: -70px;
    height: 40vh;
    min-height: 300px;
    max-height: 400px;
    overflow: hidden;
}

.hero-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: brightness(1.0);
    transition: transform 1s cubic-bezier(0.4,0,0.2,1);
}

.page-hero-banner:hover .hero-bg-img {
    transform: scale(1.05);
}

.hero-banner-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    background: rgba(0,0,0,0.15);
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.hero-banner-content h1 {
    font-size: 60px;
    font-weight: bold;
    margin-bottom: 24px;
    letter-spacing: 0.1em;
}

.hero-banner-content p {
    font-size: 28px;
    opacity: 0.95;
}

/* Section Title */
.section-title {
    text-align: center;
    padding: 60px 0 40px;
    background: #fff;
}

.section-main-title {
    font-size: 2.5rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}

.section-subtitle {
    font-size: 1rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 400;
}

/* Signature Dish Section */
.signature-dish-container {
    background: transparent;
    padding: 0 0 80px;
    position: relative;
}

.signature-dish-wrapper {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    gap: 60px;
    position: relative;
}

.signature-dish-image {
    flex: 1.4;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.dish-main-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 0;
}

.signature-dish-image:hover .dish-main-image {
    transform: scale(1.05);
}

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.signature-dish-content {
    flex: 0.6;
    padding: 20px;
}

.dish-label {
    display: inline-block;
    background: #D2691E;
    color: white;
    padding: 6px 16px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
}

.dish-title {
    font-size: 32px;
    color: #333;
    margin: 0 0 8px;
    font-weight: 300;
    line-height: 1.3;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.dish-subtitle {
    font-size: 14px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
    font-family: Arial, sans-serif;
}

.dish-description {
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 32px;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.dish-season {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    background: rgba(210, 105, 30, 0.1);
    border-left: 4px solid #D2691E;
    border-radius: 0;
}

.season-label {
    font-size: 14px;
    color: #D2691E;
    font-weight: 600;
    margin-right: 16px;
}

.season-period {
    font-size: 16px;
    color: #333;
    font-weight: 500;
}

/* Dish Highlights */
.dish-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    position: relative;
}

.dish-highlight-item {
    background: white;
    border-radius: 0;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dish-highlight-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.highlight-image {
    position: relative;
    overflow: hidden;
    height: 200px;
}

.highlight-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.dish-highlight-item:hover .highlight-img {
    transform: scale(1.1);
}

.highlight-content {
    padding: 24px;
}

.highlight-title {
    font-size: 18px;
    color: #333;
    margin: 0 0 12px;
    font-weight: 500;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.highlight-description {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

/* Dessert Section */
.dessert-section {
    background: linear-gradient(120deg, #fff9e6 0%, #fff4d6 30%, #ffedc7 60%, #ffe8b8 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.dessert-wrapper {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    gap: 60px;
    position: relative;
}

.dessert-content {
    flex: 0.6;
    padding: 20px;
}

.dessert-image {
    flex: 1.4;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.dessert-label {
    display: inline-block;
    background: #8B4513;
    color: white;
    padding: 6px 16px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
}

.dessert-title {
    font-size: 32px;
    color: #333;
    margin: 0 0 8px;
    font-weight: 300;
    line-height: 1.3;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.dessert-subtitle {
    font-size: 14px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
    font-family: Arial, sans-serif;
}

.dessert-description {
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 32px;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.dessert-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.feature-item {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #555;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.feature-item i {
    color: #8B4513;
    margin-right: 12px;
    font-size: 16px;
    width: 20px;
}

.dessert-main-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 0;
}

.dessert-image:hover .dessert-main-image {
    transform: scale(1.05);
}

.dessert-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

/* Fruit Section */
.fruit-section {
    background: transparent;
    padding: 80px 0;
    position: relative;
}

.fruit-wrapper {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    gap: 60px;
    position: relative;
}

.fruit-content {
    flex: 0.6;
    padding: 20px;
}

.fruit-image {
    flex: 1.4;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.fruit-label {
    display: inline-block;
    background: #228B22;
    color: white;
    padding: 6px 16px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
}

.fruit-title {
    font-size: 32px;
    color: #333;
    margin: 0 0 8px;
    font-weight: 300;
    line-height: 1.3;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.fruit-subtitle {
    font-size: 14px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
    font-family: Arial, sans-serif;
}

.fruit-description {
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 32px;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.fruit-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fruit-features .feature-item {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #555;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.fruit-features .feature-item i {
    color: #228B22;
    margin-right: 12px;
    font-size: 16px;
    width: 20px;
}

.fruit-main-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 0;
}

.fruit-image:hover .fruit-main-image {
    transform: scale(1.05);
}

.fruit-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

/* Buffet Menu Section */
.buffet-menu-section {
    background-color: #f7f4ec;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 260 260'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%239C92AC' fill-opacity='0.1'%3E%3Cpath d='M24.37 16c.2.65.39 1.32.54 2H21.17l1.17 2.34.45.9-.24.11V28a5 5 0 0 1-2.23 8.94l-.02.06a8 8 0 0 1-7.75 6h-20a8 8 0 0 1-7.74-6l-.02-.06A5 5 0 0 1-17.45 28v-6.76l-.79-1.58-.44-.9.9-.44.63-.32H-20a23.01 23.01 0 0 1 44.37-2zm-36.82 2a1 1 0 0 0-.44.1l-3.1 1.56.89 1.79 1.31-.66a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .9 0l2.21-1.1a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .9 0l2.21-1.1a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .86.02l2.88-1.27a3 3 0 0 1 2.43 0l2.88 1.27a1 1 0 0 0 .85-.02l3.1-1.55-.89-1.79-1.42.71a3 3 0 0 1-2.56.06l-2.77-1.23a1 1 0 0 0-.4-.09h-.01a1 1 0 0 0-.4.09l-2.78 1.23a3 3 0 0 1-2.56-.06l-2.3-1.15a1 1 0 0 0-.45-.11h-.01a1 1 0 0 0-.44.1L.9 19.22a3 3 0 0 1-2.69 0l-2.2-1.1a1 1 0 0 0-.45-.11h-.01a1 1 0 0 0-.44.1l-2.21 1.11a3 3 0 0 1-2.69 0l-2.2-1.1a1 1 0 0 0-.45-.11h-.01zm0-2h-4.9a21.01 21.01 0 0 1 39.61 0h-2.09l-.06-.13-.26.13h-32.31zm30.35 7.68l1.36-.68h1.3v2h-36v-1.15l.34-.17 1.36-.68h2.59l1.36.68a3 3 0 0 0 2.69 0l1.36-.68h2.59l1.36.68a3 3 0 0 0 2.69 0L2.26 23h2.59l1.36.68a3 3 0 0 0 2.56.06l1.67-.74h3.23l1.67.74a3 3 0 0 0 2.56-.06zM-13.82 27l16.37 4.91L18.93 27h-32.75zm-.63 2h.34l16.66 5 16.67-5h.33a3 3 0 1 1 0 6h-34a3 3 0 1 1 0-6zm1.35 8a6 6 0 0 0 5.65 4h20a6 6 0 0 0 5.66-4H-13.1z'/%3E%3Cpath id='path6_fill-copy' d='M284.37 16c.2.65.39 1.32.54 2H281.17l1.17 2.34.45.9-.24.11V28a5 5 0 0 1-2.23 8.94l-.02.06a8 8 0 0 1-7.75 6h-20a8 8 0 0 1-7.74-6l-.02-.06a5 5 0 0 1-2.24-8.94v-6.76l-.79-1.58-.44-.9.9-.44.63-.32H240a23.01 23.01 0 0 1 44.37-2zm-36.82 2a1 1 0 0 0-.44.1l-3.1 1.56.89 1.79 1.31-.66a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .9 0l2.21-1.1a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .9 0l2.21-1.1a3 3 0 0 1 2.69 0l2.2 1.1a1 1 0 0 0 .86.02l2.88-1.27a3 3 0 0 1 2.43 0l2.88 1.27a1 1 0 0 0 .85-.02l3.1-1.55-.89-1.79-1.42.71a3 3 0 0 1-2.56.06l-2.77-1.23a1 1 0 0 0-.4-.09h-.01a1 1 0 0 0-.4.09l-2.78 1.23a3 3 0 0 1-2.56-.06l-2.3-1.15a1 1 0 0 0-.45-.11h-.01a1 1 0 0 0-.44.1l-2.21 1.11a3 3 0 0 1-2.69 0l-2.2-1.1a1 1 0 0 0-.45-.11h-.01a1 1 0 0 0-.44.1l-2.21 1.11a3 3 0 0 1-2.69 0l-2.2-1.1a1 1 0 0 0-.45-.11h-.01zm0-2h-4.9a21.01 21.01 0 0 1 39.61 0h-2.09l-.06-.13-.26.13h-32.31zm30.35 7.68l1.36-.68h1.3v2h-36v-1.15l.34-.17 1.36-.68h2.59l1.36.68a3 3 0 0 0 2.69 0l1.36-.68h2.59l1.36.68a3 3 0 0 0 2.69 0l1.36-.68h2.59l1.36.68a3 3 0 0 0 2.56.06l1.67-.74h3.23l1.67.74a3 3 0 0 0 2.56-.06zM246.18 27l16.37 4.91L278.93 27h-32.75zm-.63 2h.34l16.66 5 16.67-5h.33a3 3 0 1 1 0 6h-34a3 3 0 1 1 0-6zm1.35 8a6 6 0 0 0 5.65 4h20a6 6 0 0 0 5.66-4H246.9z'/%3E%3Cpath d='M159.5 21.02A9 9 0 0 0 151 15h-42a9 9 0 0 0-8.5 6.02 6 6 0 0 0 .02 11.96A8.99 8.99 0 0 0 109 45h42a9 9 0 0 0 8.48-12.02 6 6 0 0 0 .02-11.96zM151 17h-42a7 7 0 0 0-6.33 4h54.66a7 7 0 0 0-6.33-4zm-9.34 26a8.98 8.98 0 0 0 3.34-7h-2a7 7 0 0 1-7 7h-4.34a8.98 8.98 0 0 0 3.34-7h-2a7 7 0 0 1-7 7h-4.34a8.98 8.98 0 0 0 3.34-7h-2a7 7 0 0 1-7 7h-7a7 7 0 1 1 0-14h42a7 7 0 1 1 0 14h-9.34zM109 27a9 9 0 0 0-7.48 4H101a4 4 0 1 1 0-8h58a4 4 0 0 1 0 8h-.52a9 9 0 0 0-7.48-4h-42z'/%3E%3Cpath d='M39 115a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm6-8a6 6 0 1 1-12 0 6 6 0 0 1 12 0zm-3-29v-2h8v-6H40a4 4 0 0 0-4 4v10H22l-1.33 4-.67 2h2.19L26 130h26l3.81-40H58l-.67-2L56 84H42v-6zm-4-4v10h2V74h8v-2h-8a2 2 0 0 0-2 2zm2 12h14.56l.67 2H22.77l.67-2H40zm13.8 4H24.2l3.62 38h22.36l3.62-38z'/%3E%3Cpath d='M129 92h-6v4h-6v4h-6v14h-3l.24 2 3.76 32h36l3.76-32 .24-2h-3v-14h-6v-4h-6v-4h-8zm18 22v-12h-4v4h3v8h1zm-3 0v-6h-4v6h4zm-6 6v-16h-4v19.17c1.6-.7 2.97-1.8 4-3.17zm-6 3.8V100h-4v23.8a10.04 10.04 0 0 0 4 0zm-6-.63V104h-4v16a10.04 10.04 0 0 0 4 3.17zm-6-9.17v-6h-4v6h4zm-6 0v-8h3v-4h-4v12h1zm27-12v-4h-4v4h3v4h1v-4zm-6 0v-8h-4v4h3v4h1zm-6-4v-4h-4v8h1v-4h3zm-6 4v-4h-4v8h1v-4h3zm7 24a12 12 0 0 0 11.83-10h7.92l-3.53 30h-32.44l-3.53-30h7.92A12 12 0 0 0 130 126z'/%3E%3Cpath d='M212 86v2h-4v-2h4zm4 0h-2v2h2v-2zm-20 0v.1a5 5 0 0 0-.56 9.65l.06.25 1.12 4.48a2 2 0 0 0 1.94 1.52h.01l7.02 24.55a2 2 0 0 0 1.92 1.45h4.98a2 2 0 0 0 1.92-1.45l7.02-24.55a2 2 0 0 0 1.95-1.52L224.5 96l.06-.25a5 5 0 0 0-.56-9.65V86a14 14 0 0 0-28 0zm4 0h6v2h-9a3 3 0 1 0 0 6H223a3 3 0 1 0 0-6H220v-2h2a12 12 0 1 0-24 0h2zm-1.44 14l-1-4h24.88l-1 4h-22.88zm8.95 26l-6.86-24h18.7l-6.86 24h-4.98zM150 242a22 22 0 1 0 0-44 22 22 0 0 0 0 44zm24-22a24 24 0 1 1-48 0 24 24 0 0 1 48 0zm-28.38 17.73l2.04-.87a6 6 0 0 1 4.68 0l2.04.87a2 2 0 0 0 2.5-.82l1.14-1.9a6 6 0 0 1 3.79-2.75l2.15-.5a2 2 0 0 0 1.54-2.12l-.19-2.2a6 6 0 0 1 1.45-4.46l1.45-1.67a2 2 0 0 0 0-2.62l-1.45-1.67a6 6 0 0 1-1.45-4.46l.2-2.2a2 2 0 0 0-1.55-2.13l-2.15-.5a6 6 0 0 1-3.8-2.75l-1.13-1.9a2 2 0 0 0-2.5-.8l-2.04.86a6 6 0 0 1-4.68 0l-2.04-.87a2 2 0 0 0-2.5.82l-1.14 1.9a6 6 0 0 1-3.79 2.75l-2.15.5a2 2 0 0 0-1.54 2.12l.19 2.2a6 6 0 0 1-1.45 4.46l-1.45 1.67a2 2 0 0 0 0 2.62l1.45 1.67a6 6 0 0 1 1.45 4.46l-.2 2.2a2 2 0 0 0 1.55 2.13l2.15.5a6 6 0 0 1 3.8 2.75l1.13 1.9a2 2 0 0 0 2.5.8zm2.82.97a4 4 0 0 1 3.12 0l2.04.87a4 4 0 0 0 4.99-1.62l1.14-1.9a4 4 0 0 1 2.53-1.84l2.15-.5a4 4 0 0 0 3.09-4.24l-.2-2.2a4 4 0 0 1 .97-2.98l1.45-1.67a4 4 0 0 0 0-5.24l-1.45-1.67a4 4 0 0 1-.97-2.97l.2-2.2a4 4 0 0 0-3.09-4.25l-2.15-.5a4 4 0 0 1-2.53-1.84l-1.14-1.9a4 4 0 0 0-5-1.62l-2.03.87a4 4 0 0 1-3.12 0l-2.04-.87a4 4 0 0 0-4.99 1.62l-1.14 1.9a4 4 0 0 1-2.53 1.84l-2.15.5a4 4 0 0 0-3.09 4.24l.2 2.2a4 4 0 0 1-.97 2.98l-1.45 1.67a4 4 0 0 0 0 5.24l1.45 1.67a4 4 0 0 1 .97 2.97l-.2 2.2a4 4 0 0 0 3.09 4.25l2.15.5a4 4 0 0 1 2.53 1.84l1.14 1.9a4 4 0 0 0 5 1.62l2.03-.87zM152 207a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm6 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-11 1a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-6 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm3-5a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-8 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm3 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm0 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm4 7a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm5-2a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm5 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm4-6a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm6-4a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-4-3a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm4-3a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-5-4a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm-24 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm16 5a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm7-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0zm86-29a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm19 9a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm-14 5a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm-25 1a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm5 4a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm9 0a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm15 1a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm12-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm-11-14a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm-19 0a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm6 5a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm-25 15c0-.47.01-.94.03-1.4a5 5 0 0 1-1.7-8 3.99 3.99 0 0 1 1.88-5.18 5 5 0 0 1 3.4-6.22 3 3 0 0 1 1.46-1.05 5 5 0 0 1 7.76-3.27A30.86 30.86 0 0 1 246 184c6.79 0 13.06 2.18 18.17 5.88a5 5 0 0 1 7.76 3.27 3 3 0 0 1 1.47 1.05 5 5 0 0 1 3.4 6.22 4 4 0 0 1 1.87 5.18 4.98 4.98 0 0 1-1.7 8c.02.46.03.93.03 1.4v1h-62v-1zm.83-7.17a30.9 30.9 0 0 0-.62 3.57 3 3 0 0 1-.61-4.2c.37.28.78.49 1.23.63zm1.49-4.61c-.36.87-.68 1.76-.96 2.68a2 2 0 0 1-.21-3.71c.33.4.73.75 1.17 1.03zm2.32-4.54c-.54.86-1.03 1.76-1.49 2.68a3 3 0 0 1-.07-4.67 3 3 0 0 0 1.56 1.99zm1.14-1.7c.35-.5.72-.98 1.1-1.46a1 1 0 1 0-1.1 1.45zm5.34-5.77c-1.03.86-2 1.79-2.9 2.77a3 3 0 0 0-1.11-.77 3 3 0 0 1 4-2zm42.66 2.77c-.9-.98-1.87-1.9-2.9-2.77a3 3 0 0 1 4.01 2 3 3 0 0 0-1.1.77zm1.34 1.54c.38.48.75.96 1.1 1.45a1 1 0 1 0-1.10-1.45zm3.73 5.84c-.46-.92-.95-1.82-1.5-2.68a3 3 0 0 0 1.57-1.99 3 3 0 0 1-.07 4.67zm1.8 4.53c-.29-.9-.6-1.8-.97-2.67.44-.28.84-.63 1.17-1.03a2 2 0 0 1-.2 3.7zm1.14 5.51c-.14-1.21-.35-2.4-.62-3.57.45-.14.86-.35 1.23-.63a2.99 2.99 0 0 1-.6 4.2zM275 214a29 29 0 0 0-57.97 0h57.96zM72.33 198.12c-.21-.32-.34-.7-.34-1.12v-12h-2v12a4.01 4.01 0 0 0 7.09 2.54c.57-.69.91-1.57.91-2.54v-12h-2v12a1.99 1.99 0 0 1-2 2 2 2 0 0 1-1.66-.88zM75 176c.38 0 .74-.04 1.1-.12a4 4 0 0 0 6.19 2.4A13.94 13.94 0 0 1 84 185v24a6 6 0 0 1-6 6h-3v9a5 5 0 1 1-10 0v-9h-3a6 6 0 0 1-6-6v-24a14 14 0 0 1 14-14 5 5 0 0 0 5 5zm-17 15v12a1.99 1.99 0 0 0 1.22 1.84 2 2 0 0 0 2.44-.72c.21-.32.34-.7.34-1.12v-12h2v12a3.98 3.98 0 0 1-5.35 3.77 3.98 3.98 0 0 1-.65-.3V209a4 4 0 0 0 4 4h16a4 4 0 0 0 4-4v-24c.01-1.53-.23-2.88-.72-4.17-.43.1-.87.16-1.28.17a6 6 0 0 1-5.2-3 7 7 0 0 1-6.47-4.88A12 12 0 0 0 58 185v6zm9 24v9a3 3 0 1 0 6 0v-9h-6z'/%3E%3Cpath d='M-17 191a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm19 9a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1zm-14 5a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm-25 1a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm5 4a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm9 0a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm15 1a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm12-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2H4zm-11-14a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm-19 0a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm6 5a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2h-2a1 1 0 0 1-1-1zm-25 15c0-.47.01-.94.03-1.4a5 5 0 0 1-1.7-8 3.99 3.99 0 0 1 1.88-5.18 5 5 0 0 1 3.4-6.22 3 3 0 0 1 1.46-1.05 5 5 0 0 1 7.76-3.27A30.86 30.86 0 0 1-14 184c6.79 0 13.06 2.18 18.17 5.88a5 5 0 0 1 7.76 3.27 3 3 0 0 1 1.47 1.05 5 5 0 0 1 3.4 6.22 4 4 0 0 1 1.87 5.18 4.98 4.98 0 0 1-1.7 8c.02.46.03.93.03 1.4v1h-62v-1zm.83-7.17a30.9 30.9 0 0 0-.62 3.57 3 3 0 0 1-.61-4.2c.37.28.78.49 1.23.63zm1.49-4.61c-.36.87-.68 1.76-.96 2.68a2 2 0 0 1-.21-3.71c.33.4.73.75 1.17 1.03zm2.32-4.54c-.54.86-1.03 1.76-1.49 2.68a3 3 0 0 1-.07-4.67 3 3 0 0 0 1.56 1.99zm1.14-1.7c.35-.5.72-.98 1.1-1.46a1 1 0 1 0-1.1 1.45zm5.34-5.77c-1.03.86-2 1.79-2.9 2.77a3 3 0 0 0-1.11-.77 3 3 0 0 1 4-2zm42.66 2.77c-.9-.98-1.87-1.9-2.9-2.77a3 3 0 0 1 4.01 2 3 3 0 0 0-1.1.77zm1.34 1.54c.38.48.75.96 1.1 1.45a1 1 0 1 0-1.1-1.45zm3.73 5.84c-.46-.92-.95-1.82-1.5-2.68a3 3 0 0 0 1.57-1.99 3 3 0 0 1-.07 4.67zm1.8 4.53c-.29-.9-.6-1.8-.97-2.67.44-.28.84-.63 1.17-1.03a2 2 0 0 1-.2 3.7zm1.14 5.51c-.14-1.21-.35-2.4-.62-3.57.45-.14.86-.35 1.23-.63a2.99 2.99 0 0 1-.6 4.2zM15 214a29 29 0 0 0-57.97 0h57.96z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    width: 100%;
    position: relative;
    padding: 60px 0 40px 0;
    font-family: 'Noto Sans JP', 'Microsoft YaHei', Arial, sans-serif;
}

.buffet-menu-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.buffet-menu-title {
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 36px;
    color: #444;
}

.buffet-menu-grid {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
}

.buffet-menu-col {
    flex: 1 1 0;
    min-width: 320px;
    align-self: flex-start;
}

.buffet-menu-col h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #D2691E;
}

.buffet-menu-col h3:not(:first-child) {
    margin-top: 30px;
}

.buffet-menu-block {
    border-bottom: 1px solid #d6d1c4;
    padding: 18px 0 12px 0;
}

.buffet-menu-label {
    font-size: 15px;
    color: #8b7c5a;
    font-weight: bold;
    margin-bottom: 8px;
}

.buffet-menu-value {
    font-size: 15px;
    color: #444;
    line-height: 1.8;
    margin-bottom: 2px;
}

/* Restaurant Info Section */
.restaurant-info-section {
    padding: 0 0 80px;
    background: #fff;
}

.restaurant-info-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.restaurant-main-image {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    border-radius: 0;
    margin-bottom: 50px;
}

.restaurant-full-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

.restaurant-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 60%, rgba(0,0,0,0.1) 100%);
    pointer-events: none;
}

.restaurant-description-wrapper {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    padding: 0 20px;
}

.restaurant-intro-text {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 40px;
    text-align: left;
}

.restaurant-info-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #e5e5e5;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: left;
}

.info-item i {
    font-size: 24px;
    color: #D2691E;
    width: 30px;
    text-align: center;
}

.info-content {
    flex: 1;
}

.info-label {
    display: block;
    font-size: 12px;
    color: #999;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value {
    display: block;
    font-size: 15px;
    color: #333;
    font-weight: 500;
    line-height: 1.4;
}

/* Active navigation link */
.main-navigation a.active {
    color: #D2691E;
}

/* Responsive Design */
@media (max-width: 992px) {
    .signature-dish-wrapper {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }

    .signature-dish-content {
        padding: 0;
    }

    .dish-title {
        font-size: 28px;
    }

    .dish-highlights {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        margin-top: 50px;
    }

    .dessert-wrapper {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }

    .dessert-content {
        padding: 0;
    }

    .dessert-title {
        font-size: 28px;
    }

    .fruit-wrapper {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }

    .fruit-content {
        padding: 0;
    }

    .fruit-title {
        font-size: 28px;
    }

    .buffet-menu-grid {
        flex-direction: column;
        gap: 0;
    }

    .buffet-menu-col {
        min-width: 0;
    }

    .restaurant-info-details {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .page-hero-banner {
        min-height: 250px;
        height: 50vh;
    }

    .hero-banner-content h1 {
        font-size: 32px;
    }

    .hero-banner-content p {
        font-size: 18px;
    }

    .signature-dish-container {
        padding: 0 0 60px;
    }

    .signature-dish-wrapper {
        padding: 0 15px;
        gap: 30px;
    }

    .dish-main-image {
        height: 300px;
    }

    .dish-title {
        font-size: 24px;
    }

    .dish-description {
        font-size: 15px;
    }

    .dish-season {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .dish-highlights {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 40px;
        padding: 0 15px;
    }

    .highlight-image {
        height: 180px;
    }

    .highlight-content {
        padding: 20px;
    }

    .highlight-title {
        font-size: 16px;
    }

    .highlight-description {
        font-size: 13px;
    }

    .dessert-section {
        padding: 60px 0;
    }

    .dessert-wrapper {
        padding: 0 15px;
        gap: 30px;
    }

    .dessert-main-image {
        height: 300px;
    }

    .dessert-title {
        font-size: 24px;
    }

    .dessert-description {
        font-size: 15px;
    }

    .fruit-section {
        padding: 60px 0;
    }

    .fruit-wrapper {
        padding: 0 15px;
        gap: 30px;
    }

    .fruit-main-image {
        height: 300px;
    }

    .fruit-title {
        font-size: 24px;
    }

    .fruit-description {
        font-size: 15px;
    }

    .restaurant-main-image {
        height: 300px;
        margin-bottom: 35px;
    }

    .restaurant-intro-text {
        font-size: 15px;
        margin-bottom: 30px;
    }

    .restaurant-info-details {
        padding-top: 30px;
        margin-top: 30px;
    }

    .info-item i {
        font-size: 20px;
    }

    .info-value {
        font-size: 14px;
    }
}