/* Static home page information. */
@media (max-width: 768px) {
  body.home #page.site { background-position: right -25px; }
}
@media (max-width: 768px) {
  body #feed_container #wp-news-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; width: auto; margin: 24px 16px 0; padding: 0; }
  body #feed_container #wp-news-list > li { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto; align-content: start; align-items: start; justify-self: stretch; gap: 8px 14px; width: 100%; max-width: none; min-width: 0; height: auto; margin: 0; padding: 16px; box-sizing: border-box; list-style: none; }
  body #feed_container #wp-news-list > li:not(:has(figure)) { grid-template-columns: minmax(0, 1fr); }
  body #feed_container #wp-news-list li h3 { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; margin: 0; padding: 0; font-size: 15px; line-height: 1.7 !important; text-align: left !important; overflow-wrap: anywhere; }
  body #feed_container #wp-news-list li .day { grid-column: 2; grid-row: 2; margin: 0; font-size: 12px; line-height: 1.5; text-align: left; }
  body #feed_container #wp-news-list li figure { grid-column: 1; grid-row: 1 / span 2; float: none; width: 96px; height: auto; margin: 0; padding: 0; overflow: hidden; border-radius: 3px; }
  body #feed_container #wp-news-list li figure a { display: block; }
  body #feed_container #wp-news-list li figure img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin: 0; }
  body #feed_container #wp-news-list li:not(:has(figure)) h3,
  body #feed_container #wp-news-list li:not(:has(figure)) .day { grid-column: 1; }
}
#page .info-shopping .shopping-heading-icon { display: inline-block; width: 1.15em; height: 1.15em; margin-right: .4em; vertical-align: -.18em; }
#colophon .site-info { text-align: center; }
#masthead .header-utility-buttons { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 3px; }
#masthead .header-utility-buttons a { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 20px; padding: 1px 5px; border: 0; border-radius: 0; background: none; color: #702905; font-size: 11px; font-weight: 700; line-height: 1.3; text-decoration: none; white-space: nowrap; }
#masthead .header-utility-buttons .utility-arrow { display: block; width: 15px; height: 15px; flex-shrink: 0; }
#masthead .header-utility-buttons a:hover { color: #702905; background: none; text-decoration: underline; text-underline-offset: 3px; }
#masthead .header-utility-buttons a:focus-visible { outline: 2px solid #7c2527; outline-offset: 3px; }
#masthead .shop_contact .header-shop-address { margin: 0 0 7px; }
#masthead .shop_contact .header-phone-hours { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; transform: translateX(5px); }
#masthead .header-phone-hours > span { white-space: nowrap; }
#masthead .hours-separator { display: none; }
#masthead .header-opening-hours { font-size: 12px; font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; color: #702905; }
#masthead .header-phone-hours > span:first-child {
  font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  color: #702905;
}
#masthead .shop_contact a.tel_no {
  font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
}
#colophon .footer-store .footer-phone a {
  font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
@media (min-width: 769px) {
  #masthead .inner .shop_contact { width: auto; left: 555px; right: -90px; top: 30px; }
}
@media (max-width: 768px) {
  #masthead .header-utility-buttons { display: none; }
  #masthead .shop_contact .header-phone-hours { flex-direction: column; align-items: flex-start; gap: 2px; }
  #masthead .shop_contact a.tel_no { font-size: 24px; }
  #masthead .inner .site-branding .site-title a { background-size: 250px auto; }
  #masthead .shop_contact .header-phone-hours { position: relative; top: -8px; }
  #masthead .header-opening-hours br { display: none; }
  #masthead .header-opening-hours .hours-separator { display: inline; }
  #masthead .inner .shop_contact { display: block; position: relative; top: -30px; left: auto; clear: both; width: 100%; margin: 8px 0 12px; }
  #masthead .shop_contact .header-shop-address { font-size: 12px; }
}
body.home #top_midashi .vertical_writing {
  transform: translate(-60px, -20px);
  text-shadow: 2px 2px 4px rgba(255, 235, 241, .95);
}
@media (max-width: 768px) {
  body.home #top_midashi .vertical_writing { transform: translate(-10px, -13px); }
}
body.home #masthead.site-header {
  background-image: none;
}
@media (min-width: 769px) {
  body.home #page.site {
    background-image: url('wp-content/themes/storefront_fujisawa/images/top_image2026.png?v=20261027-8'), url('wp-content/themes/storefront_fujisawa/images/header/blue-paper-repeat.svg?v=2');
    background-size: auto, 256px 240px;
    background-position: center -11px, center top;
    background-repeat: no-repeat, repeat-x;
  }
}
#colophon .footer-navigation { margin: 0 0 36px; padding: 0 0 24px; border-bottom: 1px solid rgba(255,255,255,.3); }
#colophon .footer-navigation ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 36px; width: 100%; list-style: none; margin: 0; padding: 0; border: 0; }
#colophon .footer-navigation li { display: block; float: none; width: auto; margin: 0; padding: 0; border: 0; line-height: 1.6; }
#colophon .footer-navigation a { display: block; padding: 12px 0; font-size: 14px; line-height: 1.6; white-space: nowrap; text-decoration: none; }
#colophon .footer-navigation a:hover { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 600px) {
  #colophon .footer-navigation ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  #colophon .footer-navigation li { border-bottom: 1px solid rgba(255,255,255,.3); }
  #colophon .footer-navigation a { padding: 14px 0; font-size: 12px; white-space: normal; }
  #colophon .footer-navigation { border-bottom: 0; padding-bottom: 0; }
}
#top_midashi .founding-rule {
  display: inline-block;
  width: 0;
  height: 2em;
  margin-top: .35em;
  border-left: 1px solid currentColor;
  vertical-align: middle;
}
body.home #top_midashi > img.fit-picture {
  transform: translateY(-20px);
}
@media (max-width: 768px) {
  body.home #top_midashi > img.fit-picture {
    left: auto;
    right: -25px;
    transform: translateY(-52px) scale(1.1) rotate(-5deg);
    transform-origin: right bottom;
  }
}
#colophon .footer-store {
  padding: 36px 0;
  margin-bottom: 16px;
  color: #452a1b;
  border-bottom: 1px solid rgba(255,255,255,.3);
  text-align: left;
  line-height: 1.9;
}
#colophon .footer-store h2 {
  margin: 0 0 24px;
  color: #452a1b;
  font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
  font-size: clamp(21px, 2.5vw, 29px);
  letter-spacing: .06em;
}
#colophon .footer-store dl { display: grid; grid-template-columns: 145px minmax(0, 1fr); margin: 0 0 24px; font-size: 14px; }
#colophon .footer-store dt, #colophon .footer-store dd { margin: 0; padding: 12px 0; border-bottom: 1px solid #d9cbb6; }
#colophon .footer-store dt { font-weight: 600; }
#colophon .footer-store dd { overflow-wrap: anywhere; }
#colophon .footer-store p { margin: 0; font-size: 13px; }
#colophon .footer-store a { text-decoration: underline; text-underline-offset: 4px; }
#colophon .footer-store a:focus-visible { outline: 2px solid #7c2527; outline-offset: 4px; }
#colophon .footer-store .footer-contact { margin: 0 0 28px; }
#colophon .footer-store .footer-phone-label { font-size: 13px; margin-bottom: 5px; }
#colophon .footer-store .footer-phone { font-size: clamp(30px, 4vw, 42px); line-height: 1.4; letter-spacing: .035em; }
#colophon .footer-store .footer-phone a { color: #7c2527; text-decoration: none; font-weight: 600; }
#colophon .footer-store .footer-contact-hours { font-size: 13px; line-height: 1.9; margin-top: 8px; }
#colophon .footer-store .footer-address { font-size: 14px; margin-bottom: 12px; }
#colophon .footer-store-logo { display: block; width: 100%; max-width: 360px; height: auto; aspect-ratio: 2170 / 390; object-fit: cover; object-position: center; margin: 0 0 12px; }
#colophon .footer-store-information > h2 { margin-bottom: 12px; }
body footer#colophon.site-footer,
body footer#colophon.site-footer * { color: #fff; }
body footer#colophon.site-footer .footer-store .footer-phone a,
body footer#colophon.site-footer .footer-store .footer-phone a:visited,
body footer#colophon.site-footer .footer-store .footer-phone a:hover { color: #fff; }
body footer#colophon.site-footer .footer-store h2,
#page #feed_container > h2,
#page #item_container > h2 {
  font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
  font-size: clamp(21px, 2.5vw, 29px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .06em;
}
#colophon .footer-store-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; }
#colophon .footer-map, #colophon .footer-store-information { min-width: 0; }
#colophon .footer-map iframe { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border: 0; }
@media (max-width: 768px) {
  #colophon .footer-store-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 600px) {
  #colophon .footer-store dl { grid-template-columns: 1fr; }
  #colophon .footer-store dt { padding: 12px 0 0; border: 0; font-size: 12px; }
  #colophon .footer-store dd { padding: 3px 0 12px; }
}
#page .seo-information {
  --ink: #452a1b;
  --accent: #7c2527;
  --line: #d9cbb6;
  clear: both;
  width: 100%;
  max-width: none;
  margin: 0 0 36px;
  padding: 0;
  color: var(--ink);
  line-height: 2;
  text-align: left;
}
#page .seo-information *, #page .seo-information *::before { box-sizing: border-box; }
#page .seo-information .info-intro {
  padding: 48px clamp(22px, 5vw, 64px);
  background: none;
  border: 1px solid var(--line);
  border-top: 0;
}
#page .seo-information h2 {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
  font-size: clamp(21px, 2.5vw, 29px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .06em;
}
#page .seo-information .info-intro h2 { color: var(--accent); text-shadow: 2px 2px 4px rgba(255, 235, 241, .95); }
#page .info-intro .intro-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: 40px; align-items: center; }
#page .info-intro .intro-copy { min-width: 0; }
#page .info-intro .intro-photo { margin: 0; }
#page .info-intro .intro-photo img { display: block; width: 100%; height: auto; border-radius: 4px; }
@media (max-width: 768px) {
  #page .info-intro .intro-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #page .info-intro .intro-photo { width: 100%; max-width: 360px; justify-self: center; }
}
#page .seo-information p { margin: 0 0 20px; font-size: 15px; line-height: 2.1; }
#page .seo-information p:last-child { margin-bottom: 0; }
#page .seo-information a { text-underline-offset: 5px; text-decoration-thickness: 1px; }
#page .seo-information a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
#page .seo-information .info-shopping { padding: 42px clamp(22px, 5vw, 64px); background: #fff; }
#page .info-shopping #item_container { padding: 0; margin: 28px 0; }
#page .info-shopping #item_container ul.product_item { width: 100%; max-width: 100%; margin: 0; padding: 0; }
#page .info-shopping #item_container ul.product_item {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
}
#page .info-shopping #item_container ul.product_item > li {
  display: flex;
  flex-direction: column;
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0 0 12px;
  overflow: hidden;
  background: #fffdf8;
  border: 1px solid #ded1bd;
  border-radius: 4px;
  text-align: left;
}
#page .info-shopping #item_container figure { margin: 0 0 16px; padding: 0; height: auto; }
#page .info-shopping #item_container figure a { display: block; background: #fff; }
#page .info-shopping #item_container figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0;
  border-radius: 2px;
}
#page .info-shopping #item_container h3 {
  margin: 0 12px 20px;
  padding: 0;
  min-height: 0;
  font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  text-align: center;
  font-size: 15px;
  font-weight: 600 !important;
  line-height: 1.8;
}
#page .info-shopping #item_container h3 a { text-decoration: none; color: #452a1b; }
#page .info-shopping #item_container .more { display: block; width: auto; margin: auto 12px 0; padding: 0; border: 0; text-align: center; }
#page .info-shopping #item_container .more a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
  min-height: 34px;
  padding: 4px 12px;
  margin: 0;
  background: transparent;
  border: 1px solid #b69d7e;
  border-radius: 2px;
  color: #7c2527;
  font-size: 13px;
  line-height: 1.6;
  text-decoration: none;
}
#page .info-shopping #item_container .more a::after { content: '→'; }
#page .info-shopping #item_container .more a:hover { background: #7c2527; border-color: #7c2527; color: #fff; }
@media (max-width: 1000px) {
  #page .info-shopping #item_container ul.product_item { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  #page .info-shopping #item_container ul.product_item { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #page .info-shopping #item_container ul.product_item > li { padding: 0 0 10px; }
  #page .info-shopping #item_container h3 { font-size: 14px; }
}
#page .seo-information .info-actions { display: flex; flex-wrap: wrap; gap: 12px; }
#page .seo-information .info-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 52px;
  padding: 12px 22px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}
#page .seo-information .info-actions a::after { content: '→'; }
#page .seo-information .info-actions a + a { background: transparent; color: var(--accent); }
#page .seo-information .info-actions a:hover { background: #542022; color: #fff; }
#page .seo-information .info-store { margin-top: 48px; padding: 36px clamp(22px, 5vw, 64px); border: 1px solid var(--line); }
#page .seo-information dl { display: grid; grid-template-columns: 145px minmax(0, 1fr); margin: 0 0 24px; font-size: 14px; }
#page .seo-information dt, #page .seo-information dd { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
#page .seo-information dt { font-weight: 600; }
#page .seo-information dd { overflow-wrap: anywhere; }
#page .seo-information .info-store > p { font-size: 13px; }
#page .seo-information .info-faq { padding: 48px 0 0; }
#page .seo-information details { border-top: 1px solid var(--line); padding: 0 20px; }
#page .seo-information details:last-child { border-bottom: 1px solid var(--line); }
#page .seo-information summary { display: flex; align-items: baseline; gap: 14px; padding: 23px 0; cursor: pointer; list-style: none; }
#page .seo-information summary::-webkit-details-marker { display: none; }
#page .seo-information summary::before { content: 'Q'; color: var(--accent); font: 23px Georgia, serif; }
#page .seo-information summary::after { content: '+'; margin-left: auto; color: var(--accent); font-size: 30px; line-height: 1; font-weight: 400; flex-shrink: 0; align-self: center; }
#page .seo-information details[open] summary::after { content: '?'; }
#page .seo-information summary h3 { display: inline; margin: 0; padding: 0; font-size: 16px; font-weight: 500; line-height: 1.8; }
#page .seo-information details p { padding: 0 30px 23px; margin: 0; font-size: 14px; }
#page .seo-information summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* Backgrounds span the page; text stays aligned with the site's content. */
#page .seo-information > .info-intro,
#page .seo-information > .info-shopping,
#page .seo-information > .info-store,
#page .seo-information > .info-faq {
  padding-left: max(24px, calc((100% - 1040px) / 2));
  padding-right: max(24px, calc((100% - 1040px) / 2));
}
#page .seo-information > .info-intro,
#page .seo-information > .info-store { border-left: 0; border-right: 0; }
@media (max-width: 600px) {
  #page .seo-information { margin-top: 0; }
  #page .seo-information .info-intro { padding-top: 30px; padding-bottom: 30px; }
  #page .seo-information .info-shopping, #page .seo-information .info-store { padding-top: 28px; padding-bottom: 28px; }
  #page .seo-information .info-actions { flex-direction: column; }
  #page .seo-information dl { grid-template-columns: 1fr; }
  #page .seo-information dt { padding: 14px 0 0; border: 0; font-size: 12px; color: #775c45; }
  #page .seo-information dd { padding: 3px 0 14px; }
  #page .seo-information details { padding: 0 4px; }
  #page .seo-information details p { padding-right: 8px; }
}
/* Remove the exported theme's stacked spacing before the introduction. */
body.home #content,
body.home #content #primary,
body.home #content #main,
body.home #content #post-2,
body.home #content #post-2 > .entry-content {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* The hero product image extends below its positioned container. */
body.home #content #post-2 > .entry-content {
  padding-bottom: 141px;
}
@media (max-width: 768px) {
  body.home #content #post-2 > .entry-content {
    padding-bottom: 29px;
  }
  #page .seo-information .info-intro,
  #page .seo-information .info-faq {
    background: #f7f3eb url('wp-content/themes/storefront_fujisawa/images/bg.jpg') repeat;
  }
}
