/* Synced pattern: store details. Styles are scoped to this pattern only. */
.km-access-pattern {
  --km-font-body: "MS Pゴシック", "Hiragino Sans", "ヒラギノ角ゴシック", "sans-serif";
  --km-font-heading: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
  --km-font-mincho: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
color:#222;font-family:var(--km-font-body);font-size:clamp(16px,1.3vw,26px);line-height:1.65;width:100%;max-width:none; }
.km-access-pattern *, .km-access-pattern *::before, .km-access-pattern *::after { box-sizing:border-box; }
.km-access-pattern :where(h2,p,figure) { margin-top:0; }
.km-access-pattern h2 { padding:0;border:0;background:none;color:inherit;text-wrap:balance; }
.km-access-pattern h2::before,.km-access-pattern h2::after { background-image:none; }
.km-access-pattern a { text-underline-offset:.2em; }
.km-access-pattern :where(a) { font-size:inherit;line-height:inherit; }
.km-access-pattern a:focus-visible { outline:3px solid #005ca9;outline-offset:4px; }
.km-access-pattern .wp-block-button__link { text-decoration:none;font-size:inherit; }
.km-access-pattern .wp-block-image { margin:0; }
.km-access-pattern .wp-block-group__inner-container { display: contents; }
.km-access-pattern .wp-block-image img { display: block; width: 100%; height: auto; max-width: 100%; }
.km-access-pattern .km-container { width: 68%; max-width: 1360px; margin-inline: auto; }
.km-access-pattern .wp-block-columns { display: flex; flex-wrap: nowrap; margin: 0; }
.km-access-pattern .wp-block-column { min-width: 0; flex: 1; }
.km-access-pattern .wp-block-buttons { display: flex; flex-wrap: wrap; }
.km-access-pattern.km-access { background: linear-gradient(90deg,#fff8df 0,#fff 48%,#fff8df 100%); margin-top: clamp(44px,6vw,120px); padding: clamp(24px,2.7vw,54px) 0 clamp(24px,2.4vw,48px); }
.km-access-pattern .km-brand-logo { width: 28.7%; max-width: 390px; margin: 0 auto .2em; }
.km-access-pattern .km-access-heading { font: 700 clamp(23px,2vw,40px)/1.4 var(--km-font-mincho); text-align: center; margin: 0 0 .4em; }
.km-access-pattern .km-access-heading span { color: #dd168e; }
.km-access-pattern .km-access-columns { gap: 2.4%; align-items: center; }
.km-access-pattern .km-access-columns > .wp-block-column:first-child { flex: 0 0 58.4%; }
.km-access-pattern .km-access-columns p { font-size: clamp(13px,1vw,20px); line-height: 1.5; margin: 0 0 .7em; }
.km-access-pattern .km-address { display: flex; align-items: stretch; gap: .7em; }
.km-access-pattern .km-address-label { display: grid; place-items: center; border: 1px solid #999; padding: .4em; flex: 0 0 2.5em; }
.km-access-pattern .km-address a { color: #194fa8; }
.km-access-pattern .km-shop-hours { margin-top: .5em !important; }
@media (max-width: 1024px) {
.km-access-pattern .km-container { width: 88%; }
}
@media (max-width: 767px) {
.km-access-pattern .km-container { width: calc(100% - 32px); }
.km-access-pattern.km-access { margin-top: 35px; padding-block: 28px; }
.km-access-pattern .km-brand-logo { width: 58%; }
.km-access-pattern .km-access-heading { font-size: 22px; }
.km-access-pattern .km-access-columns { flex-direction: column; gap: 18px; }
.km-access-pattern .km-access-columns > .wp-block-column { flex-basis: auto; width: 100%; }
.km-access-pattern .km-access-columns p { font-size: 14px; }
}
@media (min-width: 768px) {
.km-access-pattern .km-access-heading { font-size: clamp(23px, 2.3vw, 46px); }
.km-access-pattern .km-access-columns p { font-size: clamp(14px, 1.1vw, 22px); }
.km-access-pattern .km-address p { font-size: clamp(14px, 1.2vw, 24px); }
.km-access-pattern .km-shop-hours { font-size: clamp(14px, 1.1vw, 22px); }
}




/* Reuse the supplied telephone button artwork without cropping or overlays. */
.km-access-pattern .km-shop-phone--image { width:100%;max-width:100%;margin:0; }
.km-access-pattern .km-shop-phone--image a { display:block;width:100%;max-width:100%;padding:0;border:0;background:none;line-height:0; }
.km-access-pattern .km-shop-phone--image a::before, .km-access-pattern .km-shop-phone--image a::after { content:none; }
.km-access-pattern .km-shop-phone--image img { display:block;width:100%;max-width:100%;height:auto;aspect-ratio:530 / 115;object-fit:contain;border:0;border-radius:0; }
/* The PSD address label is a single horizontal word centered in its border. */
.km-access-pattern .km-address { gap:clamp(10px,.8vw,16px); }
.km-access-pattern .km-address .km-address-label { display:grid;place-items:center;flex:0 0 clamp(44px,3.3vw,66px);font-size:clamp(14px,1.1vw,22px);padding:.4em;border:1px solid #030000;white-space:nowrap;writing-mode:horizontal-tb; }
