/* All component styles are scoped. No JavaScript or external font dependency. */
.gbc-mk-lp.gbc-mk-lp {
  --gbc-ink: #381c09;
  --gbc-gold: #8a610d;
  --gbc-line: #ac8a42;
  --gbc-paper: #fbf8f7;
  container-type: inline-size;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding: 0;
  background: white;
  color: var(--gbc-ink);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
}
.gbc-mk-lp.gbc-mk-lp *, .gbc-mk-lp.gbc-mk-lp *::before, .gbc-mk-lp.gbc-mk-lp *::after { box-sizing: border-box; }
.gbc-mk-lp.gbc-mk-lp :is(header,section,div,p,h1,h2,h3,ul,li,dl,dt,dd) { margin: 0; padding: 0; border: 0; background-color: transparent; }
.gbc-mk-lp.gbc-mk-lp :is(h1,h2,h3) { color: var(--gbc-ink); border: 0; border-radius: 0; box-shadow: none; background: none; font-family: inherit; letter-spacing: normal; text-transform: none; }
.gbc-mk-lp.gbc-mk-lp :is(h1,h2,h3,li)::before, .gbc-mk-lp.gbc-mk-lp :is(h1,h2,h3,li)::after { content: none; }
.gbc-mk-lp.gbc-mk-lp a { color: inherit; }
.gbc-mk-lp.gbc-mk-lp a:focus-visible { outline: 3px solid #1568a5; outline-offset: 5px; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-slice { position: relative; overflow: hidden; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-slice img { display: block; position: absolute; max-width: none; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-hero { position: relative; width: 100%; height: auto !important; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-hero-image { aspect-ratio: 750 / 663; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-hero-image img { width: 100%; top: 0; left: 0; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-official-button { display: block; position: absolute; top: 66.063%; left: 10%; width: 80.27%; height: 18.25%; border-radius: 999px; text-decoration: none; transition: background-color .2s, box-shadow .2s; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-official-button:hover { background: rgb(255 255 255 / 12%); box-shadow: 0 5px 16px rgb(70 38 0 / 15%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-floating-button { position: fixed; z-index: 100; left: 50%; bottom: max(12px, env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: center; justify-content: center; width: min(690px, calc(100vw - 24px)); min-height: 64px; padding: 12px 24px; border: 1px solid #b4914c; border-radius: 999px; background: linear-gradient(180deg, #a5802f 0%, #8b651c 62%, #755112 100%); box-shadow: inset 0 2px 1px rgb(255 255 255 / 24%), 0 7px 24px rgb(55 35 8 / 28%); color: #fff; font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-size: clamp(18px, 4.3vw, 28px); font-weight: 600; line-height: 1.3; letter-spacing: .08em; text-decoration: none; text-shadow: 0 1px 2px rgb(39 24 4 / 25%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-floating-button:hover { background: linear-gradient(180deg, #b18e3b 0%, #947027 62%, #7e5a18 100%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-floating-button:focus-visible { outline: 3px solid #1568a5; outline-offset: 4px; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-features {
  padding: 5.5% 6.53%;
  background: repeating-linear-gradient(45deg, transparent 0 20%, rgb(234 234 234 / 28%) 20% 23%, transparent 23% 46%), repeating-linear-gradient(-45deg, #fafafa 0 20%, #f4f4f4 20% 23%, #fafafa 23% 46%);
}
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature { min-width: 0; padding: 2.5cqw .8cqw 3cqw; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature:nth-child(odd) { border-right: 1px solid var(--gbc-line); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature:nth-child(-n+2) { border-bottom: 1px solid var(--gbc-line); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature:nth-child(n+3) { padding-top: 4.5cqw; padding-bottom: 3cqw; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-icon { display: block; width: 14cqw; height: 14.8cqw; margin: 0 auto 3cqw; fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; color: var(--gbc-gold); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-fill { fill: currentColor; stroke: none; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature h2 { margin: 0 0 2cqw; font-size: clamp(12px, 4cqw, 30px); font-weight: 700; line-height: 1.3; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-feature p { font-size: clamp(12px, 3.73cqw, 28px); line-height: 1.5; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-about { padding: 8.9% 4% 9.6%; background: var(--gbc-paper); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-about h2 { margin-bottom: 6.5cqw; font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-size: clamp(14px, 4.8cqw, 36px); font-weight: 600; line-height: 1.65; letter-spacing: .03em; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reception { width: 86.52%; margin: 0 auto; aspect-ratio: 597 / 396; box-shadow: 0 8px 28px rgb(43 32 20 / 14%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reception img { width: 100%; height: 100%; left: 0; top: 0; object-fit: cover; object-position: center 65%; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-about-copy { margin-top: 5.6cqw; color: #252a2e; font-size: clamp(12px, 3.47cqw, 26px); line-height: 1.65; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-about-copy p + p { margin-top: 3.1cqw; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-access { padding: 7.2% 8.27% 8.4%; background: linear-gradient(135deg, transparent 12%, #d5b575 12.1%, transparent 12.3%), linear-gradient(45deg, transparent 46%, rgb(242 242 242 / 70%) 46.1%, #fff 70%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-access h2, .gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance > h2 { font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-weight: 600; font-size: clamp(21px, 6.4cqw, 48px); line-height: 1.45; letter-spacing: .03em; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-map { position: relative; width: 95.37%; aspect-ratio: 597 / 390; min-height: 260px; margin: 5.8cqw auto 7.6cqw; background: #e6e9e7; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-map iframe { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: 100%; border: 0; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-map-link { margin: -5.5cqw 2cqw 4cqw; text-align: right; font-size: clamp(12px, 2.7cqw, 20px); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-map-link a { text-decoration: underline; text-underline-offset: .2em; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-details > div { margin: 0 0 2.5cqw; background: #fff; box-shadow: 0 8px 25px rgb(0 0 0 / 9%); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-details dt { padding: .2cqw 1cqw; background: var(--gbc-ink); color: #fff; font-size: clamp(13px, 3.47cqw, 26px); line-height: 1.45; font-weight: 400; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-details dd { padding: 2.3cqw 1.3cqw; color: #252a2e; font-size: clamp(12px, 3.47cqw, 26px); line-height: 1.45; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-details dd span { font-size: .92em; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-note { margin: 3.3cqw 1.7cqw 0; padding-left: 1.4em; text-indent: -1.4em; text-align: left; font-size: clamp(12px, 2.93cqw, 22px); line-height: 1.4; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-note a { text-decoration: underline; text-underline-offset: .2em; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance { padding: 9% 10.27% max(11.3%, 110px); background: var(--gbc-paper); }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance > h2 { margin-bottom: 5.1cqw; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance-list { list-style: none; display: grid; gap: 3cqw; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance-list li { display: grid; grid-template-columns: 21cqw 1fr; align-items: center; min-height: 25cqw; padding: 3.1cqw 2.9cqw; border: 1px solid var(--gbc-line); text-align: left; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance-list .gbc-mk-icon { width: 13.3cqw; height: 13.3cqw; margin: 0 auto; color: var(--gbc-ink); stroke-width: 5; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance-list h3 { margin: 0 0 1.7cqw; font-weight: 700; font-size: clamp(13px, 4cqw, 30px); line-height: 1.4; }
.gbc-mk-lp.gbc-mk-lp .gbc-mk-reassurance-list p { font-size: clamp(12px, 3.47cqw, 26px); line-height: 1.5; }
/* Only the explicitly selected full-page template receives these page-level rules. */
body.gbc-mk-standalone { margin: 0; padding: 0; background: #f0eeeb; }
body.gbc-mk-standalone #main-content { margin: 0; padding: 0; max-width: none; }
@media (prefers-reduced-motion: reduce) { .gbc-mk-lp.gbc-mk-lp .gbc-mk-official-button { transition: none; } }
@media (max-width: 480px) { .gbc-mk-lp.gbc-mk-lp .gbc-mk-floating-button { min-height: 56px; } }
@media print { .gbc-mk-lp.gbc-mk-lp { max-width: 750px; print-color-adjust: exact; -webkit-print-color-adjust: exact; } }
