body.jp-comparison { font-family: 'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,Arial,sans-serif; line-height: 1.95; word-break: normal; overflow-wrap: anywhere; }
.jp-comparison { --jp-serif: 'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif; }
.jp-comparison .wrap { max-width: 1200px; }
.jp-comparison .section { padding-block: clamp(70px,7.5vw,112px); }
.jp-comparison .brand::before { content: 'B'; }
.jp-comparison .brand-copy strong { font-size: 20px; }
.jp-comparison main h2 { font-family: var(--jp-serif); font-size: clamp(29px,3.1vw,42px); font-weight: 600; line-height: 1.65; letter-spacing: .015em; text-wrap: balance; }
.jp-comparison .label { font-family: inherit; font-size: 11px; font-style: normal; color: #8d7447; letter-spacing: .065em; margin-bottom: 22px; }
.jp-comparison .hero { height: auto; min-height: 760px; padding-top: 205px; padding-bottom: 72px; }
.jp-comparison .hero .hero-content { position: relative; inset: auto; max-width: 930px; margin-inline: max(40px,calc((100% - 1200px)/2)); }
.jp-comparison .hero h1 { font-family: var(--jp-serif); font-size: 54px; font-weight: 500; line-height: 1.55; letter-spacing: .015em; }
.jp-comparison .hero h1 .hero-metal-silver { display: block; font-size: clamp(32px,4.3vw,51px); line-height: 1.55; }
.jp-comparison .hero h1 .hero-metal-gold { display: block; font-size: clamp(35px,4.8vw,55px); line-height: 1.55; }
.jp-comparison .hero h1 .hero-category { display: block; font-family: inherit; font-size: 17px; line-height: 1.8; margin-top: 15px; letter-spacing: .02em; }
.jp-comparison .hero .hero-kicker { font-size: 12px; letter-spacing: .05em; }
.jp-comparison .hero-description { max-width: 58ch; }
.jp-comparison .hero-description-detail { display: block; font-size: 14px; line-height: 1.9; margin-top: 10px; }
.jp-comparison .hero-rotating-line { font-size: 16px; line-height: 1.9; }
.jp-comparison .hero-highlights { display: flex; flex-wrap: wrap; font-size: 11px; gap: 10px 23px; }
.jp-comparison .hero-cta-row { flex-wrap: wrap; gap: 12px; }
.jp-hero-links { position: absolute; z-index: 3; top: 115px; left: max(40px,calc((100% - 1200px)/2)); right: max(40px,calc((100% - 1200px)/2)); display: flex; align-items: center; flex-wrap: wrap; gap: 8px 23px; color: #e6e1cf; font-size: 11px; line-height: 1.7; }
.jp-hero-links > span { padding: 5px 10px; border: 1px solid #d0ba7b77; border-radius: 3px; font-size: 10px; color: #e1c98d; }
.jp-hero-links > a { padding-block: 5px; border-bottom: 1px solid #e1d1a255; }
.jp-hero-links > a:hover { color: #ead19b; border-color: currentColor; }
.jp-comparison #manager-greeting h2 { font-family: var(--jp-serif); font-size: clamp(27px,2.6vw,36px); line-height: 1.7; }
.jp-comparison #manager-greeting .manager-greeting-body { font-size: 14px; line-height: 2; }
.jp-comparison .jp-lead { max-width: 76ch; color: #38513f; font-size: 17px; line-height: 2.05; margin: 26px 0 19px; }
.jp-comparison .section > p:not(.label):not(.jp-small):not(.jp-lead) { max-width: 88ch; color: #626e60; font-size: 14px; line-height: 2.05; }
.jp-band { background: #eef1e9; border-block: 1px solid #dbe0d1; }
.jp-table-wrap { max-width: 100%; overflow-x: auto; margin: 34px 0 27px; border: 1px solid #d2d9cb; border-radius: 7px; background: #fffefa; }
.jp-table { border-collapse: collapse; width: 100%; min-width: 670px; font-size: 13px; line-height: 1.9; }
.jp-table caption { text-align: left; padding: 19px 22px; color: #3e5543; background: #f6f7f0; font-size: 13px; font-weight: 600; border-bottom: 1px solid #dce2d5; }
.jp-table th,.jp-table td { text-align: left; vertical-align: top; padding: 18px 21px; border-bottom: 1px solid #e2e6db; }
.jp-table thead th { background: #294638; color: #eee7d5; font-weight: 500; font-size: 12px; }
.jp-table tbody th { color: #405b43; font-weight: 600; width: 22%; }
.jp-table td { color: #66705f; }
.jp-table tbody tr:last-child > * { border-bottom: 0; }
.jp-insight { margin-top: 31px; padding: 24px 28px; border-left: 3px solid #aa8b4e; background: #edf1e6; }
.jp-insight > strong { display: block; color: #3a533d; font-size: 14px; line-height: 1.8; margin-bottom: 8px; }
.jp-insight p { margin: 0; color: #697260; font-size: 13px; line-height: 2; }
.jp-comparison .jp-private .venue-layout { margin-top: 35px; gap: 48px; align-items: start; }
.jp-comparison .jp-private .venue-detail h3 { font-family: var(--jp-serif); font-size: 26px; line-height: 1.8; }
.jp-comparison .jp-private .venue-detail > p:not(.index) { color: #68705f; font-size: 13px; line-height: 2; }
.jp-comparison .jp-private .venue-detail dl > div { padding-block: 18px; }
.jp-comparison .jp-private .venue-detail dt { font-size: 11px; }
.jp-comparison .jp-private .venue-detail dd { font-size: 13px; line-height: 1.95; }
.jp-two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px; margin-top: 35px; }
.jp-reading h3 { color: #3e5540; font-size: 19px; font-weight: 600; line-height: 1.8; margin: 0 0 13px; }
.jp-reading p { color: #6a7363; font-size: 14px; line-height: 2.05; margin: 0; }
.jp-purpose-grid { margin-top: 34px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.jp-purpose-grid article { min-width: 0; padding: 27px; background: #fbfcf7; border: 1px solid #d5ddce; border-radius: 7px; box-shadow: none; }
.jp-purpose-grid h3 { font-family: inherit; font-size: 18px; font-weight: 600; line-height: 1.8; }
.jp-purpose-grid p { font-size: 13px; line-height: 2; color: #6a7563; }
.jp-small { margin-top: 24px; color: #7a816e; font-size: 11px; line-height: 1.95; }
.jp-area-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; margin-top: 35px; }
.jp-area-grid article { min-width: 0; border: 1px solid #d4dccd; border-top-color: #a38a51; border-radius: 7px; padding: 29px 26px; background: #fcfcf7; }
.jp-card-kicker { color: #9a7f47; font-size: 10px; letter-spacing: .1em; margin: 0 0 13px; }
.jp-area-grid h3 { color: #3a533d; font-family: var(--jp-serif); font-size: 23px; font-weight: 600; line-height: 1.7; margin: 0 0 18px; }
.jp-area-grid article > p:not(.jp-card-kicker) { color: #6c7564; font-size: 13px; line-height: 2; }
.jp-area-grid dl { margin: 23px 0 0; padding-top: 18px; border-top: 1px solid #dfe4d6; }
.jp-area-grid dt { margin-top: 17px; font-size: 11px; color: #937c4c; }
.jp-area-grid dt:first-child { margin-top: 0; }
.jp-area-grid dd { margin: 6px 0 0; color: #63705e; font-size: 12px; line-height: 1.9; }
.jp-source-note { margin-top: 21px; font-size: 11px; color: #77816d; line-height: 1.9; }
.jp-source-note a { color: #4a7358; text-decoration: underline; text-underline-offset: 3px; }
.jp-quote { margin: 36px 0 0; padding: 29px 32px; border-block: 1px solid #c8b686; background: #faf8ee; }
.jp-quote > p { margin: 0; color: #526144; font-family: var(--jp-serif); font-size: 17px; line-height: 2; }
.jp-quote footer { margin: 16px 0 0; padding: 0; border: 0; width: auto; max-width: none; background: transparent; color: #908569; font-size: 10px; line-height: 1.8; }
.jp-comparison #drinks { width: 100%; max-width: none; margin-top: 65px; padding-top: 47px; padding-bottom: 0; border-top: 1px solid #cdd7c4; }
.jp-comparison #drinks-title { font-family: var(--jp-serif); font-size: clamp(26px,2.6vw,34px); font-weight: 600; line-height: 1.65; }
.jp-comparison .drinks-heading { align-items: start; }
.jp-comparison .drinks-intro,.jp-comparison .drinks-note { font-size: 13px; line-height: 1.95; }
.jp-comparison .drink-copy h3 { font-size: 21px; }
.jp-comparison .drinks-summary h3 { font-family: var(--jp-serif); font-size: 23px; line-height: 1.8; }
.jp-comparison .video-scene { width: 100%; margin: 0; background: #14231a; border-block: 1px solid #c6cdba; }
.jp-comparison .video-scene .content-video { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; max-height: none; }
.jp-comparison .video-scene figcaption { padding: 14px 25px; background: #f4f6ee; color: #7b826e; font-size: 10px; line-height: 1.9; }
.jp-comparison .video-scene .scene-title { display: none; }
.jp-phrase-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 34px; }
.jp-phrase-grid article { min-width: 0; display: flex; flex-direction: column; padding: 27px; border: 1px solid #d5ddce; border-radius: 7px; background: #fcfcf8; }
.jp-phrase-grid h3 { margin: 0 0 15px; font-size: 17px; color: #3f5842; line-height: 1.8; }
.jp-phrase-grid p { flex: 1; color: #6a7562; font-size: 13px; line-height: 2; }
.jp-copy-phrase { display: inline-flex; align-items: center; justify-content: center; align-self: start; gap: 10px; min-height: 43px; padding: 8px 14px; margin-top: 20px; border: 1px solid #a9ba9c; border-radius: 4px; color: #425d44; background: #f1f5e9; font: inherit; font-size: 11px; cursor: pointer; }
.jp-copy-phrase img { width: 18px; height: 18px; object-fit: contain; }
.jp-copy-phrase:hover { background: #e8efde; }
.jp-copy-phrase:focus-visible { outline: 3px solid #a18a51; outline-offset: 4px; }
.jp-copy-status { min-height: 1.8em; color: #506f42; font-size: 12px; margin-top: 17px; }
.jp-comparison #booking .section-heading > p:not(.eyebrow):not(.booking-manager-role) { max-width: 84ch; color: #687560; font-size: 14px; line-height: 2; }
.jp-comparison #booking .booking-manager-role { font-size: 15px; }
.jp-comparison #booking .booking-form h3 { font-family: var(--jp-serif); font-size: 26px; line-height: 1.8; }
.jp-comparison #booking .booking-steps h3 { font-size: 16px; }
.jp-comparison #booking .form-grid label { min-width: 0; }
.jp-comparison #booking .form-grid select,.jp-comparison #booking .form-grid input { min-width: 0; max-width: 100%; }
.jp-comparison #faq .faq-layout { grid-template-columns: .8fr 1.3fr; gap: 55px; align-items: start; }
.jp-comparison #faq details > summary { font-family: inherit; font-size: 15px; line-height: 1.8; }
.jp-comparison #faq details > p { font-size: 13px; line-height: 2; }
.jp-related { border-top: 1px solid #d5dfca; }
.jp-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin-top: 35px; }
.jp-related-grid > a { min-width: 0; padding: 26px; border: 1px solid #d2ddc7; border-top: 2px solid #a28a51; border-radius: 6px; text-decoration: none; background: #fcfcf7; }
.jp-related-grid > a:hover { border-color: #9bae88; }
.jp-related-grid > a > span { color: #9a7e46; font-size: 10px; }
.jp-related-grid h3 { color: #3d5941; font-size: 19px; line-height: 1.8; margin: 13px 0; }
.jp-related-grid p { color: #76806c; font-size: 12px; line-height: 1.9; }
.jp-comparison body > footer { overflow-wrap: anywhere; }
.jp-comparison footer nav { flex-wrap: wrap; }
.jp-comparison .goguryeo-mobile-booking { font-family: inherit; }
@media(max-width:1000px) {
 .jp-area-grid { gap: 17px; }
 .jp-area-grid article { padding: 24px 21px; }
 .jp-comparison .jp-private .venue-layout { gap: 29px; }
}
@media(max-width:760px) {
 .jp-comparison .hero { min-height: 760px; padding-top: 210px; padding-bottom: 45px; }
 .jp-comparison .hero .hero-content { max-width: none; margin-inline: 20px; }
 .jp-hero-links { top: 105px; left: 20px; right: 20px; gap: 8px 18px; font-size: 10px; }
 .jp-hero-links > span { font-size: 9px; padding: 4px 8px; }
 .jp-comparison .hero .hero-kicker { font-size: 11px; line-height: 1.8; }
 .jp-comparison .hero h1 .hero-metal-silver { font-size: 32px; }
 .jp-comparison .hero h1 .hero-metal-gold { font-size: 34px; }
 .jp-comparison .hero h1 .hero-category { font-size: 14px; margin-top: 11px; }
 .jp-comparison .hero-rotating-line { font-size: 14px; }
 .jp-comparison .hero-description-detail { font-size: 12px; line-height: 1.9; }
 .jp-comparison .hero-highlights { gap: 8px 16px; font-size: 10px; }
 .jp-comparison .hero-cta { font-size: 11px; }
 .jp-comparison main h2 { font-size: 28px; line-height: 1.8; }
 .jp-comparison .jp-lead { font-size: 15px; line-height: 2.05; margin-top: 23px; }
 .jp-comparison .section > p:not(.label):not(.jp-small):not(.jp-lead) { font-size: 13px; }
 .jp-two-column,.jp-area-grid,.jp-phrase-grid,.jp-related-grid { grid-template-columns: 1fr; gap: 23px; }
 .jp-purpose-grid { grid-template-columns: 1fr; }
 .jp-reading p { font-size: 13px; }
 .jp-reading h3 { font-size: 18px; }
 .jp-area-grid article { padding: 27px 24px; }
 .jp-area-grid h3 { font-size: 23px; }
 .jp-insight { padding: 23px; }
 .jp-table { font-size: 12px; }
 .jp-table th,.jp-table td { padding: 15px 17px; }
 .jp-table caption { font-size: 12px; padding: 16px 17px; }
 .jp-quote { padding: 24px; }
 .jp-quote > p { font-size: 15px; }
 .jp-comparison .drinks-heading { gap: 22px; }
 .jp-comparison #drinks { margin-top: 44px; padding-top: 37px; }
 .jp-comparison #drinks-title { font-size: 27px; }
 .jp-comparison .video-scene figcaption { padding: 13px 20px; font-size: 9px; }
 .jp-comparison #faq .faq-layout { grid-template-columns: 1fr; gap: 27px; }
 .jp-comparison #faq details > summary { font-size: 13px; }
 .jp-comparison #faq details > p { font-size: 12px; }
 .jp-phrase-grid article { padding: 24px; }
 .jp-comparison #booking .booking-form h3 { font-size: 23px; }
 .jp-comparison #booking .booking-manager-role { font-size: 13px; }
 .jp-comparison #booking .section-heading > p:not(.eyebrow):not(.booking-manager-role) { font-size: 13px; }
}
@media(max-width:380px) {
 .jp-comparison .hero h1 .hero-metal-silver { font-size: 29px; }
 .jp-comparison .hero h1 .hero-metal-gold { font-size: 30px; }
 .jp-comparison .hero h1 .hero-category { font-size: 12px; }
 .jp-comparison main h2 { font-size: 25px; }
 .jp-comparison .hero-cta-row { flex-direction: column; align-items: stretch; }
 .jp-comparison .hero-cta { justify-content: space-between; min-height: 46px; }
 .jp-comparison .hero-highlights { font-size: 9px; gap: 7px 11px; }
 .jp-hero-links { gap: 7px 12px; }
}
@media(prefers-reduced-motion:reduce) { .jp-comparison .hero-metal { animation: none !important; } }

/* Meeting enquiry: an explicit fixed venue, with purpose kept beside the plans. */
.jp-comparison #booking .jp-booking-venue,.jp-comparison #booking .jp-booking-purpose { grid-column: 1 / -1; }
.jp-comparison #booking .jp-booking-venue input[readonly] { background: #f3f5ee; border-left: 3px solid #ac935a; color: #354d3d; font-weight: 600; cursor: default; }
