/* GINZA-217 local visual prototype. Desktop receives no layout rules here. */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    min-width: 0;
  }

  body.ginza217-page {
    margin: 0;
    overflow-x: visible;
    background: #ffffff;
  }

  body.ginza217-page > center {
    display: block;
    width: 100%;
  }

  .ginza217-shell {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    table-layout: fixed;
  }

  .ginza217-shell > tbody > tr > td:first-child,
  .ginza217-shell > tbody > tr > td:last-child {
    display: none;
  }

  .ginza217-shell > tbody > tr > td:nth-child(2) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ginza217-shell > tbody > tr {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .ginza217-page td {
    display: block;
    width: auto !important;
    max-width: 100% !important;
  }

  .ginza217-header td {
    display: table-cell;
  }

  .ginza217-nav td {
    display: flex;
  }

  .ginza217-hours td {
    display: table-cell;
  }

  .ginza217-page table:not(.ginza217-shell):not(.ginza217-header):not(.ginza217-nav):not(.ginza217-main):not(.ginza217-hours) {
    width: auto !important;
    max-width: 100% !important;
  }

  .ginza217-header {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  .ginza217-header > tbody > tr:first-child > td {
    width: 50% !important;
    height: auto !important;
  }

  .ginza217-header > tbody > tr:first-child img {
    width: 100% !important;
    height: auto !important;
  }

  .ginza217-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap;
    padding: 3px 5px;
    box-sizing: border-box;
  }

  .ginza217-search input[type="text"] {
    width: min(58vw, 190px);
    min-width: 0;
    box-sizing: border-box;
  }

  .ginza217-search input[type="submit"] {
    min-height: 28px;
  }

  .ginza217-nav {
    width: 100% !important;
  }

  .ginza217-nav > tbody > tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ginza217-nav > tbody > tr > td {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0;
  }

  .ginza217-nav a {
    display: block;
    line-height: 0;
    text-align: center;
  }

  .ginza217-nav img {
    width: auto;
    max-width: 100%;
    height: auto;
  }

  .ginza217-main {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin: 0 6px;
    table-layout: fixed;
  }

  .ginza217-main > tbody,
  .ginza217-main > tbody > tr {
    display: block;
    width: 100%;
  }

  .ginza217-main td {
    min-width: 0;
    width: auto !important;
    max-width: 100% !important;
  }

  .ginza217-main table {
    width: auto !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  .ginza217-left,
  .ginza217-right {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .ginza217-left {
    padding: 0 4px 12px;
  }

  .ginza217-right {
    padding: 12px 4px 0;
  }

  .ginza217-divider {
    display: none;
  }

  .ginza217-left img,
  .ginza217-right img {
    max-width: 100%;
    height: auto;
  }

  .ginza217-left img[src*="map_s"] {
    width: 206px;
    max-width: 100%;
  }

  .ginza217-hours {
    width: 230px;
    max-width: 100%;
    margin: 0 auto;
  }

  .ginza217-right > table,
  .ginza217-right > p,
  .ginza217-right > img {
    max-width: 100%;
  }

  .ginza217-right table {
    width: auto !important;
    max-width: 100% !important;
  }

  .ginza217-right td {
    max-width: 100%;
    width: auto !important;
  }

  .ginza217-right table:not(.ginza217-hours),
  .ginza217-right table:not(.ginza217-hours) > tbody,
  .ginza217-right table:not(.ginza217-hours) > tbody > tr {
    display: block;
    width: 100% !important;
  }

  .ginza217-right table:not(.ginza217-hours) td {
    display: block;
    width: 100% !important;
  }

  .ginza217-right img {
    max-width: 100% !important;
  }
}

@import url("ginza217-mobile.css");

@media (max-width: 760px) {
  .ginza218-page .ginza217-left,
  .ginza218-page .ginza217-right {
    font-size: 14px;
  }

  .ginza218-page .ginza217-left > div,
  .ginza218-page .ginza217-right > div,
  .ginza218-page .ginza217-right > p {
    width: 100%;
  }

  .ginza218-page .ginza217-left {
    padding-left: 8px;
    padding-right: 8px;
  }

  .ginza218-page .ginza217-right {
    padding-left: 8px;
    padding-right: 8px;
  }

  .ginza218-books > tbody > tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100% !important;
  }

  .ginza218-books > tbody > tr > td {
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
    width: auto !important;
    padding: 4px !important;
  }

  .ginza218-books img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .ginza218-media > tbody > tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100% !important;
  }

  .ginza218-media > tbody > tr > td {
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
    width: auto !important;
  }

  .ginza218-media img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .ginza218-page .ginza217-right table:not(.ginza217-hours) {
    margin-left: auto;
    margin-right: auto;
  }
}

@import url("ginza218-mobile.css");

@media (max-width: 760px) {
  .ginza219-page .ginza217-nav {
    display: none !important;
  }

  .ginza219-page .ginza217-header > tbody > tr:nth-child(3) > td {
    display: none;
  }

  .ginza219-mobile-nav {
    display: grid;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    background: #ffffff;
  }

  .ginza219-mobile-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    padding: 8px 4px;
    box-sizing: border-box;
    border: 1px solid #b52b2b;
    border-radius: 3px;
    background: #cc3333;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.25;
    text-decoration: none;
  }

  .ginza219-mobile-nav a:active,
  .ginza219-mobile-nav a:focus {
    background: #9e2222;
  }
}

@media (min-width: 761px) {
  .ginza219-mobile-nav {
    display: none;
  }
}

@import url("ginza219-mobile.css");

@media (max-width: 760px) {
  .ginza220-page .ginza217-right > div[align="center"] > table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .ginza220-page .ginza217-right > div[align="center"] > table td {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    vertical-align: middle;
  }

  .ginza220-page .ginza217-right > div[align="center"] > table td:first-child {
    width: 24px !important;
    padding-right: 8px !important;
    text-align: left;
  }

  .ginza220-page .ginza217-right > div[align="center"] > table td:first-child img {
    display: block;
    margin: 0;
  }

  .ginza220-page .ginza217-right > div[align="center"] > table td a {
    line-height: 1.45;
  }
}

.ginza225-book-cards{display:none}@media(max-width:760px){.ginza225-page .ginza218-books{display:none!important}.ginza225-page .ginza217-header>tbody>tr:nth-child(3)>td{display:table-cell!important}.ginza225-book-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;width:100%;margin:12px 0 20px}.ginza225-book-card{min-width:0;align-self:start;padding:8px;border:1px solid #ddd;background:#fff}.ginza225-card-image{text-align:center}.ginza225-card-image img{display:inline-block;width:auto!important;max-width:100%!important;height:auto!important}.ginza225-card-description{margin-top:10px;font-size:14px;line-height:1.5}}@media(max-width:340px){.ginza225-book-cards{grid-template-columns:1fr}}

@media (max-width:760px){
  .ginza235-product-table{display:block;width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important;margin:8px 6px!important;border-collapse:collapse}
  .ginza235-product-table>tbody,.ginza235-product-row{display:block;width:100%}
  .ginza235-product-row{margin:0 0 12px}
  .ginza235-product-label,.ginza235-product-content{display:block;width:100%!important;max-width:100%!important;height:auto!important;min-width:0;box-sizing:border-box;float:none;position:static;writing-mode:horizontal-tb!important;white-space:normal}
  .ginza235-product-label{padding:7px 10px;font-weight:bold;line-height:1.35;text-align:left}
  .ginza235-product-content{padding:8px 10px;line-height:1.65}

  /* GINZA-237: mobile-only solid background and explicit block layout. */
  html,
  body.ginza217-page {
    background-color: #fff7f7 !important;
  }

  .bgimg {
    background-image: none !important;
    background-color: #fff7f7 !important;
    background-attachment: scroll !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
  }

  .ginza235-product-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .ginza235-product-table > tbody {
    display: block !important;
    width: 100% !important;
  }

  .ginza235-product-table col,
  .ginza235-product-table colgroup {
    display: none !important;
  }

  .ginza235-product-table .ginza235-product-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .ginza235-product-table .ginza235-product-label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap;
    float: none !important;
    position: static !important;
    text-align: left;
    padding: 8px 10px;
    margin: 0;
    background: #ffeff2;
  }

  .ginza235-product-table .ginza235-product-label br {
    display: none !important;
  }

  .ginza235-product-table .ginza235-product-content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box;
    float: none !important;
    position: static !important;
    padding: 8px 10px;
    margin: 0;
  }
  .ginza235-book-heading-table{display:block;width:calc(100vw - 16px)!important;max-width:94vw!important;margin:12px auto 8px!important;background:transparent!important;border-collapse:collapse}
  .ginza235-book-heading-cell{display:block;width:100%!important;max-width:100%!important;height:auto!important;box-sizing:border-box;padding:8px 10px;background:#cc3333!important;border:0!important;text-align:center;white-space:normal}
  .ginza235-book-helper{display:block;width:calc(100vw - 24px)!important;max-width:94vw!important;margin:8px auto 14px;box-sizing:border-box;white-space:normal;overflow-wrap:break-word;word-break:normal;overflow:visible;line-height:1.7;text-align:left}
}

@media (max-width:760px){
  /* GINZA-238: center heading, left-align descriptions, and style moved nodes. */
  .ginza235-book-heading-table{display:table!important;width:fit-content!important;max-width:90vw!important;margin-left:auto!important;margin-right:auto!important;background-color:transparent!important}
  .ginza235-book-heading-cell{width:auto!important;max-width:90vw!important;text-align:center!important}
  .ginza225-card-description{text-align:left!important;line-height:1.5}
  .ginza238-product-legacy-hidden{display:none!important}
  .ginza238-product-mobile{width:100%;max-width:100%;box-sizing:border-box}
  .ginza238-product-section{display:block;width:100%;margin-bottom:16px}
  .ginza238-product-section .ginza235-product-label{display:block!important;width:100%!important;height:auto!important;writing-mode:horizontal-tb!important;white-space:normal!important;box-sizing:border-box;text-align:left;font-weight:bold;padding:8px 10px;background:#fde8ea}
  .ginza238-product-section .ginza235-product-content{display:block!important;width:100%!important;box-sizing:border-box;padding:10px;background:#fff;text-align:left}
}

@media (max-width:760px){
  /* GINZA-239: reflow the existing footer nodes without changing their text or links. */
  .ginza239-footer{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:visible!important}
  .ginza239-footer-table{display:block!important;width:100%!important;max-width:100%!important;table-layout:fixed!important;box-sizing:border-box;background:transparent!important}
  .ginza239-footer-nav-row,.ginza239-footer-copyright-row{display:block!important;width:100%!important;height:auto!important;box-sizing:border-box}
  .ginza239-footer-nav,.ginza239-footer-copyright{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;box-sizing:border-box;float:none!important;clear:both!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
  .ginza239-footer-nav{padding:8px 6px!important;line-height:1.8!important;text-align:center!important;background:#cc3333!important}
  .ginza239-footer-copyright{padding:8px 6px!important;line-height:1.5!important;text-align:center!important;background:#fff!important;font-size:smaller}
  .ginza239-footer-nav a{display:inline;padding:2px 3px;white-space:normal!important}
}

@media (max-width:760px){
  /* GINZA-240: display the existing archive cell after the five moved sections. */
  .ginza240-product-archive{width:100%;box-sizing:border-box;margin:8px 0 18px;padding:10px;background:#fff;text-align:left;line-height:1.7;overflow-wrap:anywhere}
  .ginza240-product-archive > td{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box;padding:0!important;background:#fff!important;text-align:left!important}
  .ginza240-product-archive a{color:#cc3333;text-decoration:underline}
}

@media (max-width:760px){
  /* GINZA-241: remove only the legacy desktop two-column divider on mobile. */
  .ginza217-divider{display:none!important}
}
