/* Shared article presentation. Map widgets and article content keep their own styles. */
.rk-shared-design { --rk-design-ink:#080d49; --rk-design-blue:#007cff; --rk-design-line:#cfdfea; --rk-design-soft:#eaf6ff; }
.rk-shared-design #main-and-sidebar1 { background:none!important; border-top:0!important; }
.rk-shared-design #breadcrumbs { display:block!important; box-sizing:border-box; color:var(--rk-design-ink); font-size:13px; padding:12px 10px 28px; margin:0 auto; }
.rk-shared-design #breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.rk-shared-design #breadcrumbs li { margin:0; padding:0; background:none; float:none; }
.rk-shared-design #breadcrumbs li+li::before { content:'›'; color:#92a6b9; margin-right:7px; }
.rk-shared-design #breadcrumbs a { color:#0076e8; }
.rk-shared-design #main-contents .rk-design-title { box-sizing:border-box; padding:0 0 12px; margin:12px 10px 0; background:none; border:0; border-bottom:1px solid var(--rk-design-line); }
.rk-shared-design #main-contents .rk-design-title h2 { font-family:'Noto Sans JP','Meiryo',sans-serif; font-size:34px; font-weight:800; line-height:1.45; color:var(--rk-design-ink); border:0; margin:0; padding:0; background:none; overflow-wrap:anywhere; letter-spacing:-.025em; }
.rk-shared-design #main-contents .rk-design-title h2 { text-wrap:balance; word-break:auto-phrase; overflow-wrap:break-word; }
.rk-shared-design #main-contents .rk-design-share { width:calc(100% - 20px); max-width:448px; padding:0; margin:12px auto 26px; background:none; }
.rk-shared-design #main-contents .rk-design-share .sns-share-list { gap:8px; }
.rk-shared-design #main-contents .rk-design-share .sns-share-button { min-height:36px; height:auto; border:1px solid #c5d9eb; border-radius:6px; color:var(--rk-design-ink); font-size:13px; font-weight:700; background:#fff; padding:5px; gap:7px; box-sizing:border-box; }
.rk-shared-design #main-contents .rk-design-share .sns-share-button-line { color:#00b900; }
.rk-shared-design #main-contents .rk-design-share .sns-share-button-x { color:#080d1c; }
.rk-shared-design #main-contents .rk-design-share .sns-share-icon { width:18px; height:18px; font-size:21px; }
.rk-shared-design #main-contents .rk-design-share .sns-share-icon img { width:18px; height:18px; }
.rk-shared-design #main-contents .rk-design-share .sns-share-label { font-size:inherit; }
.rk-shared-design #main-contents .rk-design-share .sns-share-label::after { content:none; }
.rk-shared-design #main-contents .rk-design-share .sns-share-status { margin:0; padding:0; }
.rk-shared-design #main-contents .contents .rk-design-section-heading { box-sizing:border-box; position:relative; color:var(--rk-design-ink); background:none; border:0; border-bottom:1px solid var(--rk-design-line); padding:0 0 14px; margin:38px 0 22px; font-family:'Noto Sans JP','Meiryo',sans-serif; font-size:23px; line-height:1.55; font-weight:800; box-shadow:none; clear:both; height:auto; }
.rk-shared-design #main-contents .contents .rk-design-section-heading::before { content:''; display:block; position:static; width:30px; height:4px; margin:0 0 10px; border-radius:5px; background:var(--rk-design-blue); }
.rk-shared-design #main-contents .rk-design-map-intro { margin:2px 0 10px; color:var(--rk-design-ink); background:none; }
.rk-shared-design #main-contents .rk-design-map-intro::before { content:''; display:block; width:32px; height:5px; margin-bottom:8px; border-radius:5px; background:var(--rk-design-blue); }
.rk-shared-design #main-contents .contents .rk-design-map-intro p { margin:0; padding:0; }
.rk-shared-design #main-contents .rk-design-map-intro .rk-design-eyebrow { font-size:16px; line-height:1.5; font-weight:700; color:var(--rk-design-blue); }
.rk-shared-design #main-contents .rk-design-map-intro h3 { color:var(--rk-design-ink); background:none; border:0; margin:4px 0; padding:0; font-family:'Noto Sans JP','Meiryo',sans-serif; font-size:32px; font-weight:800; line-height:1.45; letter-spacing:-.035em; }
.rk-shared-design #main-contents .rk-design-map-intro h3 > span:not(.rk-design-map-title-line),
.rk-shared-design #main-contents .rk-design-map-intro h3 .rk-design-map-emphasis { color:var(--rk-design-blue); background:linear-gradient(transparent 82%,#d9eaff 82%); }
.rk-shared-design #main-contents .rk-design-map-intro .rk-design-map-description { font-size:16px; line-height:1.65; }
/* Keep authored phrases together; let them wrap internally at enlarged text sizes. */
.rk-shared-design .rk-design-home-title-line,.rk-shared-design .rk-design-map-title-line,.rk-shared-design .rk-design-phrase { display:inline-block; max-width:100%; }
.rk-shared-design .rk-design-popular { margin:0 10px 18px; padding:12px; border-radius:12px; background:var(--rk-design-soft); color:var(--rk-design-ink); box-sizing:border-box; }
.rk-shared-design .rk-design-popular-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.rk-shared-design .rk-design-popular-head strong { font-size:19px; font-weight:800; }
.rk-shared-design .rk-design-popular-head strong span { font-family:serif; font-size:25px; color:#f2ab00; vertical-align:middle; }
.rk-shared-design .rk-design-slide-count { color:#0076e8; font-size:12px; white-space:nowrap; }
.rk-shared-design .rk-design-popular-slide { margin:0; }
.rk-shared-design .rk-design-popular-link { display:block; color:inherit; text-decoration:none; }
.rk-shared-design .rk-design-popular-link:hover h5 { color:var(--rk-design-blue); text-decoration:underline; }
.rk-shared-design .rk-design-popular-slide h5 { display:none; }
.rk-shared-design .rk-design-popular-slide[hidden] { display:none!important; }
.rk-shared-design .rk-design-popular-slide img { width:100%; max-width:none; height:auto; border-radius:8px; display:block; padding:0; margin:0; }
.rk-shared-design #main-contents .rk-design-popular-slide p,.rk-shared-design .rk-design-popular-slide p { color:var(--rk-design-ink); font-size:13px; line-height:1.6; margin:9px 0 0; padding:0; }
.rk-shared-design .rk-design-popular-controls { display:flex; align-items:center; justify-content:center; gap:15px; margin:6px 0 -4px; }
.rk-shared-design .rk-design-dots { display:flex; align-items:center; gap:5px; }
.rk-shared-design .rk-design-dot { display:inline-block; width:24px; height:26px; padding:0; border:0; background:none; cursor:pointer; }
.rk-shared-design .rk-design-dot::after { content:''; display:block; width:9px; height:9px; margin:auto; border-radius:100%; background:#bbd8eb; }
.rk-shared-design .rk-design-dot[aria-pressed=true]::after { background:var(--rk-design-blue); }
.rk-shared-design .rk-design-arrow { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:0; background:none; color:var(--rk-design-blue); font-size:25px; cursor:pointer; padding:0; }
.rk-shared-design #sidebar1 { background:none; border:0; }
.rk-shared-design #sidebar-in1 { padding:0; }
.rk-shared-design #sidebar1 .rk-design-sidebar-map { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; margin:0 0 16px; padding:10px; border:1px solid #b8d9f8; border-radius:10px; background:var(--rk-design-soft); color:#0076e8; text-decoration:none; font-size:15px; font-weight:700; line-height:1.4; }
.rk-shared-design #sidebar1 .rk-design-sidebar-map img { position:static; display:block; width:22px; height:auto; margin:0; padding:0; }
.rk-shared-design #sidebar1 .rk-design-sidebar-map:hover { background:#dcefff; border-color:var(--rk-design-blue); }
.rk-shared-design #sidebar1 .rk-design-sidebar-map:focus-visible { outline:2px solid var(--rk-design-blue); outline-offset:3px; }
.rk-shared-design #sidebar1 .rk-design-popular { margin:0 0 16px; padding:10px; }
.rk-shared-design #sidebar1 .rk-design-popular-head strong { font-size:16px; }
.rk-shared-design #sidebar1 .rk-design-popular-head strong span { font-size:22px; }
.rk-shared-design #sidebar1 .rk-design-popular-slide p { font-size:12px; }
.rk-shared-design #sidebar1 .rk-design-popular-controls { gap:2px; }
.rk-shared-design #sidebar1 .rk-design-dot { width:20px; }
.rk-shared-design #sidebar1 .rk-design-side-card { box-sizing:border-box; width:100%; margin:0 0 16px; padding:10px; background:var(--rk-design-soft); border-radius:10px; }
.rk-shared-design #sidebar1 .rk-design-side-card h4 { background:none!important; padding:0; border:0; margin:0 0 10px; color:var(--rk-design-ink); font-size:16px; line-height:1.5; width:auto; height:auto; overflow-wrap:break-word; }
.rk-shared-design #sidebar1 .rk-design-side-card h4::before { content:none; }
.rk-shared-design #sidebar1 .rk-design-side-body { box-sizing:border-box; width:100%; margin:0; border:0; background:white; border-radius:7px; padding:9px; font-size:13px; line-height:1.7; color:var(--rk-design-ink); float:none; }
.rk-shared-design #sidebar1 .rk-design-side-body img { max-width:100%; height:auto; }
.rk-shared-design #sidebar1 .rk-design-side-body .topcategory { width:100%; margin:0 0 14px; padding:0; list-style:none; }
.rk-shared-design #sidebar1 .rk-design-side-body .topcategory:last-child { margin-bottom:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .topcategory li { float:none; width:auto; margin:0 0 10px; padding:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .topcategory li:last-child { margin-bottom:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .side-ad { width:auto; padding:0; margin:0; }
.rk-shared-design #sidebar1 .rk-design-side-body a { overflow-wrap:anywhere; }
.rk-shared-design #sidebar1 .rk-design-side-body .ryokoufbbox { width:100%; margin:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .ryokoutwbox2 { width:100%; overflow-wrap:anywhere; }
.rk-shared-design #sidebar1 .rk-design-side-body iframe { max-width:100%; }
.rk-shared-design #sidebar1 .rk-design-side-body .leftoption { width:100%; padding:0; margin:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .restaurant_checkbox { width:100%; margin:0; padding:0; }
.rk-shared-design #sidebar1 .rk-design-side-body .restaurant_checkbox li { box-sizing:border-box; float:none; width:auto; max-width:100%; margin:0 0 5px; line-height:1.6; }
.rk-shared-design #sidebar1 .rk-design-side-body .restaurant_checkbox label { box-sizing:border-box; max-width:100%; font-size:12px; }
.rk-shared-design #sidebar1 .rk-design-side-body .restaurant_checkbox input { max-width:100%; }
.rk-shared-design #sidebar1 .rk-design-side-body .kensakuwords { box-sizing:border-box; width:100%; max-width:100%; }
.rk-shared-design #sidebar1 .rk-design-side-body .priceamount { box-sizing:border-box; width:48px; }
.rk-shared-design #sidebar1 .rk-design-side-body #slidebox { width:100%; }
.rk-shared-design #sidebar1 .side-menu { margin:0; padding:0; list-style:none; }
.rk-shared-design #sidebar1 .side-menu li { padding:4px 0; margin:0; background:none; }
.rk-shared-design #sidebar1 .side-menu a { padding:0; background:none; color:#0076e8; font-size:14px; }
.rk-shared-design .rk-design-side-banner { display:block; width:100%; height:auto; margin-bottom:8px; border-radius:5px; }
.rk-shared-design #sidebar1 .rk-design-search-card .rk-design-side-body { padding:0; background:transparent; border:0; border-radius:0; }
.rk-shared-design #sidebar1 .rk-design-search { display:flex; width:100%; margin:0; padding:0; }
.rk-shared-design #sidebar1 .rk-design-search input { box-sizing:border-box; flex:1; min-width:0; width:100%; height:36px; margin:0; border:1px solid #bfd4e6; border-right:0; border-radius:5px 0 0 5px; padding:7px; background:#fff; color:var(--rk-design-ink); font-size:12px; line-height:1.5; }
.rk-shared-design #sidebar1 .rk-design-search button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:36px; flex:none; height:36px; margin:0; padding:0; background:var(--rk-design-blue); color:white; border:0; border-radius:0 5px 5px 0; cursor:pointer; }
.rk-shared-design #sidebar1 .rk-design-search button:hover { background:#0064d1; }
.rk-shared-design #sidebar1 .rk-design-social-card .rk-design-side-body { display:flex; align-items:center; gap:9px; padding:0; background:transparent; }
.rk-shared-design #sidebar1 .rk-design-social-mascot { flex:none; width:48px; max-width:48px; height:auto; margin:0; }
.rk-shared-design #sidebar1 .rk-design-social-details { flex:1; min-width:0; }
.rk-shared-design #sidebar1 .rk-design-social-details p { margin:0 0 8px; padding:0; font-size:11px; line-height:1.7; }
.rk-shared-design #sidebar1 .rk-design-social-link { box-sizing:border-box; display:block; padding:6px; border-radius:6px; background:#111; color:#fff!important; font-size:11px; line-height:1.5; text-align:center; text-decoration:none; }
.rk-shared-design #sidebar1 .rk-design-social-link:hover { background:#333; }
@media(min-width:1000px) {
  .rk-shared-design #main-contents .rk-design-title h2.rk-design-fit-title { white-space:nowrap!important; text-wrap:nowrap!important; word-break:normal!important; overflow-wrap:normal!important; }
  .rk-shared-design #main-contents .rk-design-title h2.rk-design-fit-title br,
  .rk-shared-design #main-contents .rk-design-title h2.rk-design-fit-title wbr { display:none; }
  .rk-shared-design #main-contents .rk-design-fit-title .rk-design-home-title-line { display:inline; }
  .rk-shared-design #sidebar1 .rk-design-popular-slide,
  .rk-shared-design #sidebar1 .rk-design-popular-slide[hidden] { display:block!important; margin:0; padding:9px 0; border-top:1px solid #d4e7f6; }
  .rk-shared-design #sidebar1 .rk-design-popular-link { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:8px; }
  .rk-shared-design #sidebar1 .rk-design-popular-slide img { width:58px; border-radius:4px; }
  .rk-shared-design #sidebar1 .rk-design-popular-slide h5 { display:block; margin:0; padding:0; border:0; background:none; color:var(--rk-design-ink); font-size:12px; font-weight:700; line-height:1.65; }
  .rk-shared-design #sidebar1 .rk-design-popular-slide p,
  .rk-shared-design #sidebar1 .rk-design-popular-controls,
  .rk-shared-design #sidebar1 .rk-design-slide-count { display:none; }
}
@media(max-width:999px) {
  .rk-shared-design #breadcrumbs { display:none!important; }
  .rk-shared-design .rk-design-popular { margin:0 10px 18px; padding:10px; }
  .rk-shared-design .rk-design-popular-head strong { font-size:18px; }
  .rk-shared-design #main-contents .rk-design-title { margin:16px 12px 0; padding-bottom:12px; }
  /* Keep the mobile H2 limit above the optional title-wrapping stylesheet. */
  .rk-shared-design #main-contents .rk-design-title h2 { font-size:19px!important; line-height:1.45; }
  .rk-shared-design #main-contents .rk-design-title .rk-design-home-title { text-wrap:wrap; }
  .rk-shared-design #main-contents .rk-design-share { width:calc(100% - 24px); margin:10px auto 24px; }
  .rk-shared-design #main-contents .rk-design-share .sns-share-list { gap:5px; }
  .rk-shared-design #main-contents .rk-design-share .sns-share-button { min-height:36px; padding:4px; font-size:12px; gap:4px; }
  .rk-shared-design #main-contents .contents .rk-design-section-heading { font-size:22px; margin-top:32px; }
  .rk-shared-design #main-contents .contents h2.rk-design-section-heading { font-size:19px!important; }
  .rk-shared-design #main-contents .rk-design-map-intro h3 { font-size:clamp(22px,7.4vw,29px); line-height:1.42; }
  .rk-shared-design #main-contents .rk-design-map-intro .rk-design-eyebrow { font-size:14px; }
  .rk-shared-design #main-contents .rk-design-map-intro .rk-design-map-description { font-size:14px; line-height:1.8; }
  .rk-design-desktop-break { display:none; }
}

/* Reuse the original five slides and their custom lazy-loading image nodes. */
.rk-shared-design #imgsrcbigbox { width:auto; max-width:none; border:0; text-align:left; overflow:hidden; }
.rk-shared-design #imgsrcbigbox::before,.rk-shared-design #imgsrcbigbox::after { display:none; }
.rk-shared-design #imgscrlbox0 { box-sizing:border-box; display:flex!important; width:100%; overflow-x:auto!important; overflow-y:hidden!important; scroll-snap-type:x mandatory; scrollbar-width:none; }
.rk-shared-design #imgscrlbox0::-webkit-scrollbar { display:none; }
.rk-shared-design #imgscrlbox0 > div { box-sizing:border-box; flex:0 0 100%; width:100%; padding:0; margin:0; scroll-snap-align:start; }
.rk-shared-design #imgscrlbox0 img { box-sizing:border-box; width:100%; min-height:0; max-width:100%; max-height:none!important; height:auto; border:0; padding:0; margin:0; }
.rk-shared-design #imgscrlbox0 picture { display:block; }
.rk-shared-design #imgscrlbox0 .rk-design-popular-link > span { display:block; margin:9px 0 0; color:var(--rk-design-ink); font-size:13px; line-height:1.6; }
.rk-shared-design #imgsrcbigbox > .imgrelative { display:none; }
.rk-shared-design #imgsrcbigbox .rk-design-arrow { position:static; display:inline-flex; align-items:center; justify-content:center; width:28px!important; height:28px!important; background:none; margin:0; padding:0; color:var(--rk-design-blue); font-size:25px; line-height:1; }
.rk-shared-design #imgsrcbigbox .rk-design-arrow:focus-visible,.rk-shared-design #imgsrcbigbox .rk-design-dot:focus-visible { outline:2px solid var(--rk-design-blue); outline-offset:2px; }
@media(min-width:1000px) {
  .rk-shared-design #sidebar1 .rk-design-sidebar-map { display:flex!important; width:100%!important; height:auto!important; min-height:44px; padding:10px!important; margin:0 0 16px!important; border:1px solid #b8d9f8!important; border-radius:10px!important; background:var(--rk-design-soft)!important; font-size:15px!important; color:#0076e8!important; }
  .rk-shared-design #sidebar1 .rk-design-sidebar-map img { position:static!important; width:22px!important; height:auto!important; margin:0!important; }
  .rk-shared-design #sidebar1 .rk-design-sidebar-map div { padding:0!important; font-size:15px!important; }
  .rk-shared-design #sidebar1 #imgscrlbox0 { display:block!important; overflow:visible!important; }
  .rk-shared-design #sidebar1 #imgscrlbox0 > div { width:100%; padding:9px 0; }
  .rk-shared-design #sidebar1 #imgscrlbox0 img { width:58px; }
  .rk-shared-design #sidebar1 #imgscrlbox0 .rk-design-popular-link > span { display:none; }
}
@media(max-width:999px) {
  .rk-shared-design #imgsrcbigbox { margin-top:12px; }
  .rk-shared-design #imgscrlbox0,
  .rk-shared-design #imgscrlbox0 > div { height:auto!important; }
  .rk-shared-design #imgscrlbox0 .rk-design-popular-link { width:100%; max-width:550px; margin:0 auto; }
  .rk-shared-design #imgscrlbox0 .rk-design-popular-link img { width:100%!important; height:auto!important; }
  /* Anchor metadata to the actual responsive photo, never to a guessed screen
     height. The original badges, plan button and handlers remain in use. */
  .rk-shared-design .rk-design-article-photo { position:relative; display:inline-block; max-width:100%; vertical-align:top; line-height:0; }
  .rk-shared-design .rk-design-article-photo > picture { display:block; }
  .rk-shared-design #main-contents .rk-design-article-photo .rk-design-lead-photo { display:block; box-sizing:border-box; width:100%!important; max-width:100%!important; height:auto; margin:0; }
  .rk-shared-design .rk-design-article-photo > .rk-design-photo-badge { top:auto!important; margin:0!important; }
  .rk-shared-design .rk-design-photo-metadata { position:absolute; left:7px; bottom:7px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; max-width:calc(100% - 146px); }
  .rk-shared-design .rk-design-photo-metadata > .rk-design-photo-badge { position:static!important; margin:0!important; max-width:100%; }
  .rk-shared-design .rk-design-article-photo > .rk-design-photo-plan { left:auto!important; right:7px!important; bottom:7px!important; }
}
