@charset "UTF-8";

/* =========================
   基本リセット＆変数
   ========================= */
*, *:before, *:after
{
  box-sizing: border-box;
}
:root
{
  --bc: lavender;
  --txt: steelblue;
}

/* スクロール系（共通） */
html
{
  scrollbar-width: thin;
  scrollbar-color: var(--bc) aliceblue;
  scroll-behavior: smooth;
}

/* =========================
   ベース
   ========================= */
body
{
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif, 'Font Awesome 6 Free';
  margin: auto !important;
  padding: 0;
  max-width: 1200px;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  word-wrap: break-word;
  color: #4e5665;
  background: var(--bc);
  overflow-x: hidden;
  overflow-y: auto;
}
[id]
{
  scroll-margin-top: 130px;
}

h1, h2, h3, h4, h5, h6
{
  margin: 2em 0 0;
  line-height: 1.2;
  word-break: keep-all;
  color: #003366;
}
h1
{
  margin: 1em auto 0.3em;
  padding: 0 12px;
  font-size: 1.6em;
  text-align: center;
}
h2
{
  font-size: 1.4em;
  text-align: center;
}
h3
{
  font-size: 1.2em;
}
h4, h5
{
  font-size: 1em;
}

blockquote
{
  margin: 3em auto 0;
  position: relative;
  padding: 10px;
  font-style: italic;
  background: #f5f5f5;
  color: #777777;
  border-left: 4px solid var(--bc);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
}
blockquote:before
{
  display: inline-block;
  position: absolute;
  top: -15px;
  left: -18px;
  content: "";
  font-family: serif;
  color: var(--bc);
  font-size: 90px;
  line-height: 1;
}

article, aside, footer, header, nav, section, figcaption, figure, main
{
  display: block;
}
figure
{
  margin: 1em 40px;
}
hr
{
  overflow: visible;
}
pre
{
  font-family: monospace, monospace;
  font-size: 1em;
  overflow-x: auto;
}
pre code
{
  font-size: 1em;
  line-height: 1.4;
  white-space: pre;
  background: none;
  padding: 0.2em 0;
}
pre code sub, pre code sup
{
  font-size: 0.75em;
  line-height: 0;
}
pre code sub
{
  vertical-align: sub;
}

li
{
  list-style: none;
}
a
{
  color: #0066D0;
  text-decoration: none;
  background-color: transparent;
}
a:hover
{
  opacity: 0.9;
}
abbr[title]
{
  text-decoration: underline dotted;
  border-bottom: none;
}
b, strong
{
  font-weight: bolder;
}
code, kbd, samp
{
  font-family: monospace, monospace;
  font-size: 1em;
}
dfn
{
  font-style: italic;
}
mark
{
  color: #000;
  background-color: #ff0;
}
small
{
  font-size: .6em;
}
sub, sup
{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub
{
  bottom: -.25em;
}
sup
{
  top: -.5em;
}

audio, video
{
  display: inline-block;
  width: 100%;
}
audio:not([controls])
{
  display: none;
  height: 0;
}

img
{
  filter: brightness(0.98);
  background: transparent;
  max-width: 100%;
}
button, input, optgroup, select, textarea
{
  font-size: 1em;
  margin: 0;
}
button, input
{
  overflow: visible;
}
button, select
{
  text-transform: none;
}
fieldset
{
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid #c0c0c0;
}
legend
{
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  color: inherit;
}
progress
{
  display: inline-block;
  vertical-align: baseline;
}
textarea
{
  overflow: auto;
}
[type='checkbox'], [type='radio']
{
  padding: 0;
}
[type='search']
{
  outline-offset: -2px;
}
canvas
{
  display: inline-block;
}
template
{
  display: none;
}
ol
{
  margin: 0;
  padding: 0;
}
i
{
  margin: 0 0.1em;
}
[hidden]
{
  display: none;
}

/* =========================
   記事ナビ
   ========================= */
ul.nav
{
  margin: 0;
  padding: 0.5em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
ul.nav a
{
  background: #eee;
  border-radius: 6px;
  padding: 0.4rem 0.9rem;
  text-decoration: none;
  color: #222;
  font-weight: 700;
}

/* =========================
   プルダウン
   ========================= */
details
{
  margin: auto;
  padding: 12px;
  max-width: 800px;
  border-bottom: 2px solid var(--bc);
}
details summary
{
  position: relative;
  font-weight: bold;
  padding-right: 2em;
  cursor: pointer;
  word-break: keep-all;
  font-size: initial;
  line-height: 1.2;
  list-style: none;
}
details summary h2
{
  display: inline;
  margin: 0;
  padding: 0;
  font-size: initial !important;
}
details summary::before
{
  content: "\f059";
  color: red;
}
details summary::after
{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f078";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
  width: 2em;
  height: 2em;
  background: var(--bc);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
details[open] summary::after
{
  transform: translateY(-50%) rotate(180deg);
}
details > div
{
  max-height: 0;
  overflow: hidden;
  transition: max-height 1.4s ease, opacity 1.4s ease;
  opacity: 0;
}
details[open] > div
{
  margin: 12px 4px;
  max-height: fit-content;
  opacity: 1;
}

/* FAQ 個別 */
#faq
{
  margin: auto;
  max-width: 600px;
}
#faq summary::before
{
  padding-right: .2em;
  content: "Q";
  color: red;
  font-size: 1.3em;
}
#faq details summary::after
{
  transform: translateY(-50%) rotate(0deg);
}
#faq details[open] summary::after
{
  transform: translateY(-50%) rotate(180deg);
}

/* =========================
   トップまわり
   ========================= */
.top .c-topic-path
{
  display: none;
}
.top_banner
{
  display: flex;
  margin: 6px 0;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}
.top_banner a
{
  padding: 9px;
  width: 96%;
  max-width: 480px;
  cursor: pointer;
  border-radius: .5em;
  text-align: center;
  font-size: small;
  color: #fff;
  background: cadetblue;
}
.top_line
{
  padding: 12px;
  width: 100%;
  text-align: center;
  font-weight: bold;
  background: var(--bc);
}

.info_tag
{
  position: absolute;
  padding: 0 3px;
  font-size: smaller;
  color: #fff;
  background: green;
}
.info_sai
{
  background: royalblue;
}
.info_sin
{
  background: red;
}

/* アイコンカラー */
.fa-facebook-f
{
  color: blue;
}
.fa-tiktok
{
  color: black;
}
.fa-line
{
  color: green;
}
.fa-instagram
{
  color: purple;
}
.fa-youtube
{
  color: red;
}
.fa-wand-magic-sparkles
{
  color: green;
}

/* ニュース */
.p-news
{
  line-height: 1.3;
  font-size: small;
}
.p-news a
{
  color: #4e5665;
}
.p-news-date
{
  font-weight: bold;
}

/* =========================
   記事領域
   ========================= */
.c-section
{
  position: relative;
  margin: 0 auto;
  padding: 0 16px;
  max-width: 800px;
}
.c-section *
{
  margin-bottom: 0 !important;
  font-size: revert !important;
}
.c-section h3
{
  border-bottom: var(--bc) 1px solid;
}
.c-section h3::first-letter
{
  padding-right: 0.1em;
  font-size: 120%;
  font-weight: bold;
  line-height: 1;
  color: orange;
}
.c-section table
{
  margin: 10px auto;
  width: 100%;
}
.c-section iframe
{
  margin: 10px auto;
  object-fit: cover;
  height: 100%;
  width: 100%;
  aspect-ratio: 16/9;
}
.c-section img, .c-section video
{
  margin: 10px auto;
}
.c-section .avatar
{
  height: 36px;
  width: 36px;
  border-radius: 50%;
}

/* アプリクーポン */
.coupon-modal .coupon-code-text
{
  font-size: 14px !important;
}
.coupon-modal.is-mini .coupon-code-text
{
  padding: 0 !important;
}
.coupon-modal.is-mini .coupon-name-text
{
  margin: 0 2px !important;
}
.p-page__wrap
{
  font-size: 16px;
}
.at-custom-mobile-bar
{
  z-index: 9995 !important;
}

/* イチオシ */
.push
{
  margin: 50px auto;
  padding: 0;
  text-align: center;
  max-width: 480px;
}
.push img
{
  margin: auto;
  display: block;
  object-fit: cover;
  width: 100%;
  max-height: 200px;
}
.push span
{
  display: block;
  padding: 10px;
  color: #f8f8f8;
  background: #4e5665;
  color: white;
}

/* アイキャッチ */
.free
{
  margin: 50px auto;
  text-align: center;
  width: 100%;
  max-width: 600px;
}

/* instagram widget */
.iswg-base
{
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  width: fit-content !important;
  max-width: 400px;
}
.iswg-images-item
{
  padding: 0.3vw !important;
}
.iswg-copyright-wrapper
{
  display: none;
}

/* X widget */
.twitter-timeline
{
  margin: auto;
}

/* =========================
   ボタン/フォーム
   ========================= */
.btn, p + a, br + a, ul + a, iframe + a, table + a, .poster_notification_btn, .p-sub-category ul > a, .hashtag > a
{
  display: flex;
  padding: 0 0.6em;
  height: 2.6em;
  min-width: 2.6em;
  border-radius: 2.6em;
  color: inherit;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 2px var(--bc);
}
.btn:hover, .btn:focus
{
  cursor: pointer;
  outline: none;
}
.btn + br, a + br
{
  display: none;
}
.btn--cart
{
  margin: auto;
  border: 0;
  background: #43A1BD;
  color: #fff;
  font-weight: bold;
  width: 100%;
  height: 4em;
}
.btn--contact
{
  margin: 6px auto;
  color: #fff;
  background: lightslategray;
}

.c-input-text
{
  font-size: 16px;
  width: 100%;
  margin-left: 4px;
  padding: 4px 10px;
  transition: .2s;
  vertical-align: middle;
  border: 2px solid #eaeaea;
  border-radius: 1em;
  appearance: none;
}
.c-input-text:focus
{
  border-color: #4e5665;
  outline: none;
}

.c-select
{
  position: relative;
}
.c-select__value
{
  font-size: 16px;
  display: inline-block;
  padding: 4px 24px 4px 10px;
  cursor: pointer;
  transition: .2s;
  border: 1px solid lightgrey;
  border-radius: 1em;
  outline: none;
  background: transparent;
  appearance: none;
}
.c-select__value:hover
{
  border-color: rgba(0, 0, 0, .1);
}
.c-select__icon
{
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 6px;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  fill: currentColor;
}

.c-table-wrap
{
  overflow: auto;
}
.c-table-wrap table
{
  border-collapse: collapse;
  border: 1px solid #eaeaea;
}
.c-table-wrap table td, .c-table-wrap table th
{
  text-align: center;
  word-break: keep-all;
}

/* =========================
   価格表記
   ========================= */
.c-product-info__price
{
  color: #000099;
}
.c-product-info__price--discount
{
  color: #f00;
}
.c-product-info__regular-price
{
  text-decoration: line-through;
  color: #000099;
  margin: 0.5em auto -0.5em;
}

/* =========================
   商品リスト
   ========================= */
.c-product-list
{
  display: flex;
  margin: 0;
  padding: 0;
  text-align: center;
  flex-wrap: wrap;
}
.c-product-list__image-wrap
{
  border: 0 solid transparent;
}
.c-product-list__item
{
  width: 33.3333%;
}
.c-product-list__name
{
  margin: 0;
  padding: 3px;
  line-height: 1.3;
  font-size: 0.75em;
  color: #4e5665;
  word-break: unset;
}
.c-product-list__name:hover
{
  opacity: .66;
}
.c-product-list__name:active
{
  opacity: 1;
}
.c-product-list__price
{
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.1em;
}
.c-product-list__regular-price
{
  font-weight: bold;
  opacity: .5;
  color: #000099;
}
.c-product-list__expl
{
  color: #4e5665;
}

.c-product-list__index
{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  line-height: 30px;
  width: 2em;
  height: 2em;
  border-radius: 1em;
  color: rgba(0, 0, 0, .7);
  box-shadow: inset 0 0 0 1px var(--bc);
  background: #fff;
  opacity: 0.75;
}
.c-product-list__index--1
{
  background: #ffeb1f;
}
.c-product-list__index--2
{
  background: #cdcdcd;
}
.c-product-list__index--3
{
  background: #db7f25;
}

.c-product-list__fav-item
{
  position: absolute;
  display: flex;
  margin: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  opacity: 0.7;
}
.c-product-list__fav-item i
{
  padding: .2em;
  font-size: 1.25em;
  background: white;
  border-radius: 1em;
}
.btnShare SVG
{
  padding: .2em;
  font-size: 1.4em;
  background: white;
  border-radius: 50%;
  width: 47px;
  height: 47px;
  fill: #808080;
}
.c-product-list__fav-item button
{
  margin: 0;
  padding: 0;
  cursor: pointer;
  color: rgb(0, 51, 102, .2);
  border: 0;
  background: transparent;
}
.c-product-list__fav-item .is-added
{
  color: #ff7373;
}

.c-product-list__button
{
  margin: 0 10px;
  text-align: center;
  z-index: 1;
}
.c-product-list .more
{
  display: flex;
  flex-direction: column;
  align-self: center;
  cursor: pointer;
  gap: 0.5em;
}
.c-product-list .more a
{
  padding: .5em;
  white-space: nowrap;
  color: #4e5665;
  border-radius: 1em;
  background: var(--bc);
}

.zaiko
{
  position: absolute;
  display: flex;
  margin: 0;
  padding: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #fff;
  opacity: .9;
  flex-direction: column;
  gap: .1em;
}
.zaiko div
{
  padding: 0.1em 0.3em;
  font-size: .7em;
}
.zaiko .mail
{
  background: deeppink;
}
.zaiko .sale
{
  background: red;
}
.zaiko .kai
{
  background: crimson;
}
.zaiko .yoyaku
{
  background: blue;
}
.zaiko .tori
{
  background: dodgerblue;
}
.zaiko .soldout
{
  background: gray;
}

.c-product-sort
{
  margin: 20px 10px 0;
}
.c-product-sort::after
{
  display: block;
  clear: both;
  content: '';
}
.c-product-sort__switch
{
  margin: 0 6px 6px;
  text-align: right;
}
.c-product-sort__switch i
{
  position: absolute;
  right: 6px;
  top: 6px;
}

.c-pager
{
  margin: .5em 0 0;
  text-align: center;
}
.c-pager__list
{
  display: flex;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  overflow: auto;
  gap: 3px;
  flex-wrap: wrap;
}
.c-pager__unlink.is-current
{
  background: var(--bc);
}
.c-thumbnail-product-list
{
  margin: 10px 6px 0;
  padding: 0;
}
.c-thumbnail-product-list::after
{
  display: block;
  clear: both;
  content: '';
}
.c-thumbnail-product-list__image-wrap
{
  border: 0 solid transparent;
}
.c-thumbnail-product-list__item
{
  position: relative;
  float: left;
  width: 33.33333%;
  margin-bottom: 20px;
  padding: 0 0.8vw;
  text-align: center;
  font-size: 0.9em;
  line-height: 1.3;
}
.c-thumbnail-product-list__price
{
  font-weight: bold;
  overflow: hidden;
}
.c-thumbnail-product-list__regular-price
{
  font-weight: bold;
  opacity: .5;
}

/* =========================
   パンくず
   ========================= */
.c-topic-path
{
  margin: 0 10px;
  font-size: 10px;
}
.c-topic-path > ul
{
  display: flex;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow-x: auto;
  align-items: center;
}
.c-topic-path i
{
  margin: 0 .5em;
  font-size: smaller;
}
.c-topic-path img
{
  height: 22px;
  vertical-align: sub;
  filter: none;
}
.c-topic-path a
{
  display: inline-block;
  padding: .2em 0;
}
.c-topic-path__item--hidden
{
  visibility: hidden;
}

/* =========================
   画像枠
   ========================= */
.c-image-wrap
{
  position: relative;
  display: block;
}
.c-image-wrap::after
{
  display: block;
  padding-top: 100%;
  content: '';
}
.c-image-wrap--link
{
  cursor: pointer;
}
.c-image-wrap--link:hover .c-image-box--main
{
  opacity: 0.66;
}
.c-image-wrap--link:hover .c-image-box--otherimg
{
  opacity: 1;
}
.c-image-box
{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  word-break: break-all;
}
.c-image-box__image
{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.c-image-box__image--noimage
{
  font-size: 18px;
  font-weight: bold;
  line-height: 40px;
  height: 40px;
  text-align: center;
  color: rgba(0, 0, 0, .5);
}
.c-image-box--main
{
  opacity: 1;
}
.c-image-box--otherimg
{
  opacity: 0;
}

.object-fit--contain
{
  object-fit: cover;
}

.c-not-found
{
  margin: 100px 0;
  text-align: center;
}
.u-visible--tablet, .u-visible--pc, .u-visible--phone
{
  display: none;
}

.p-body
{
  padding-top: 0;
}
.p-layout-container
{
  margin: 0 auto;
}
.p-layout-container::after
{
  clear: both;
  content: '';
}

.p-page-content
{
  margin: 0 auto;
  background: #fff;
}

#base_gmoWrapp
{
  position: relative;
}
#gmo_CMSPbar
{
  overflow: hidden;
  min-width: 100% !important;
}

/* =========================
   告知バー
   ========================= */
.p-header__bar
{
  display: flex;
  padding: 0 3px 3px;
  white-space: nowrap;
  background: transparent;
  overflow-x: auto;
  align-items: center;
  text-align: center;
  gap: 6px;
}
.p-header__bar a
{
  font-size: 12px;
  line-height: 1.1;
}
.p-header__bar span
{
  display: flex;
  padding: 3px;
  justify-content: center;
  border: 2px solid var(--bc);
}
.red
{
  color: red;
}

/* =========================
   メインメニュー
   ========================= */
.t-menu
{
  position: sticky;
  margin: 0 auto;
  padding: 0;
  top: 0;
  z-index: 10000;
}
.p-menu
{
  display: flex;
  margin: 0 auto;
  padding: 3px 3px 0 3px;
  z-index: 9998;
  background: var(--bc);
  align-items: stretch;
  justify-content: space-around;
  gap: 2px;
}
.p-menu li
{
  flex: 1;
}
.p-menu li a
{
  display: flex;
  padding: 6px 0 3px;
  height: 100%;
  border-radius: 1em 1em 0 0;
  color: #2d2d2d;
  font-size: 10px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  flex-direction: column;
}
.p-menu li:focus, .p-menu a:hover, .tab_act
{
  background: #fff;
}
.p-menu li i
{
  padding: 2px;
  font-size: 22px;
}
.p-menu .search
{
  position: relative;
  margin: auto 3px;
  text-align: center;
  flex: 3;
}
.p-menu .search:focus
{
  flex: 6;
}
.p-menu .search input
{
  padding: 0 0 0 1.6em;
  width: 100%;
  border: 0;
  border-radius: 1em;
  height: 30px;
  outline: none;
  font-size: 16px;
}
.p-menu .search i
{
  position: absolute;
  top: 8px;
  left: 5px;
  font-size: 16px;
}
.p-menu .search button
{
  position: absolute;
  padding: 0;
  right: 4px;
  bottom: 8px;
  border: 0;
  background: transparent;
  appearance: none;
}
.p-menu .cart-count
{
  position: absolute;
  margin: -6px;
  padding: 3px;
  height: 15px;
  width: 15px;
  font-size: 10px;
  color: #fff;
  background: red;
  border-radius: 1em;
}

/* =========================
   サブメニュー（カルーセル統合）
   ========================= */
.carousel
{
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.s-menu
{
  display: flex;
  flex-wrap: nowrap;
  gap: .75rem;
  padding: .5rem 1rem;
  margin: 0;
  list-style: none;
  background: #fff;
}
.s-menu > li
{
  flex: 0 0 auto;
}
.s-menu img
{
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 1em;
  filter: brightness(0.6);
}
.s-menu p
{
  position: absolute;
  margin: 0;
  padding: .5em 0;
  bottom: 0;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: .72em;
  word-break: keep-all;
  width: 100%;
  line-height: 1.1;
}
.s-menu .c-image-wrap::after
{
  padding-top: 50%;
}

.js-nav-list a.is-current img
{
  filter: brightness(0);
}
.js-nav-list a.is-current
{
  outline: 2px solid var(--bc, #333);
  border-radius: .5rem;
}

/* ロゴ画像 */
.logo img
{
  width: 130px;
  max-width: initial;
  filter: none;
}

/* 非表示 */
.is-hidden
{
  display: none;
}

/* =========================
   カスタムバナー
   ========================= */
.banner
{
  margin: 5vh 0;
}
.banner__unit
{
  flex: 1;
}
.banner__unit img
{
  object-fit: cover;
  width: 100%;
  max-height: 200px;
}
.banner__unit > iframe, .p-product-body__description iframe
{
  height: 100%;
  width: 100%;
  aspect-ratio: 16/9;
}
.banner__unit--text
{
  padding: 1em;
  color: #f8f8f8;
  text-align: center;
  align-content: center;
  background: linear-gradient(to right, rgb(40, 60, 134), rgb(69, 162, 71));
}
.banner__unit--text a
{
  padding: 3px 40px;
  text-decoration: none;
  border-radius: 1em;
  color: #f8f8f8;
  border: 1px #f8f8f8 solid;
}
.banner__unit--text a:hover
{
  color: #4e5665;
  background: #f8f8f8;
}
.banner__body
{
  padding: 0 0 10px;
  font-size: small;
}

/* =========================
   SNS
   ========================= */
.sns
{
  display: flex;
  margin: 3px;
  padding: 0;
  justify-content: center;
  align-items: flex-end;
  gap: .5em;
  font-size: 30px;
}
.sns ul
{
  margin: 0;
}

/* PCアイコン */
.c-sp-list__icon
{
  width: 1em;
  height: 1em;
  fill: currentColor;
}

/* =========================
   店舗情報
   ========================= */
.p-shop-info
{
  padding: 40px 10px;
  background: rgba(255, 255, 255, .9);
}
.p-shop-info::after
{
  display: block;
  clear: both;
  content: '';
}
.p-shop-info__manager::after
{
  display: block;
  clear: both;
  content: '';
}
.p-shop-info__calendar
{
  font-size: 12px;
  text-align: center;
}
.p-shop-info__calendar::after
{
  display: block;
  clear: both;
  content: '';
}

.p-manager__image
{
  display: block;
  max-width: 200px;
  height: auto;
  margin: 0 auto 20px;
}
.p-manager__heading
{
  font-weight: bold;
  font-style: 18px;
  margin: 0 0 1em;
  text-align: center;
}
.p-manager__content
{
  margin: 0 0 20px;
  text-align: center;
}

.p-calendar__table
{
  white-space: nowrap;
}
.p-calendar__table table
{
  margin: 20px auto;
  text-align: center;
  vertical-align: top;
}
.p-calendar__table caption
{
  font-weight: bold;
}
.p-calendar__table th, .p-calendar__table td
{
  width: 28px;
  padding: .5em 0;
}
.p-calendar__note
{
  margin-top: 10px;
  text-align: center;
}

/* =========================
   フッター
   ========================= */
.p-global-footer
{
  padding: 40px 20px;
  color: #FFFFFF;
  background: rgba(255, 255, 255, .4);
}
.p-global-footer i, .p-global-footer a
{
  color: #FFFFFF;
}
.p-global-footer__group
{
  clear: both;
}
.p-global-footer__group::after
{
  display: block;
  clear: both;
  content: '';
}
.p-global-footer__heading
{
  font-size: 14px;
  font-weight: normal;
  overflow: hidden;
  margin: 0 10px 10px;
  padding: .5em 0;
  text-align: center;
  border-bottom: 2px solid #FFFFFF;
}
.p-global-footer__mailmaga-form
{
  margin: 0 10px;
}
.p-global-footer__mailmaga-form br
{
  display: none;
}
.p-global-footer__mailmaga-form span
{
  display: block;
}
.p-global-footer__mailmaga-form p
{
  margin: 20px 0;
  text-align: right;
}
.p-global-footer__mailmaga-form a
{
  padding: 10px 0;
}
.p-global-footer__mailmaga-form .mailmaga_text
{
  margin-bottom: 10px;
}
.p-global-footer__mailmaga-form .mailmaga_text input
{
  font-size: 16px;
  width: 100%;
  padding: 10px;
  transition: .2s;
  vertical-align: middle;
  border: 2px solid transparent;
  border-radius: 1em;
  appearance: none;
}
.p-global-footer__mailmaga-form .mailmaga_text input:focus
{
  border-color: #4e5665;
  outline: none;
}
.p-global-footer__mailmaga-form .mailmaga_ins input
{
  font-size: 14px;
  font-weight: normal;
  line-height: 22px;
  display: inline-block;
  width: 100%;
  padding: 9px 15px;
  cursor: pointer;
  transition: .2s;
  color: #fff;
  border: 0;
  border-radius: 1em;
  background: #43A1BD;
  appearance: none;
}
.p-global-footer__mailmaga-form .mailmaga_ins input:hover,
.p-global-footer__mailmaga-form .mailmaga_ins input:focus
{
  outline: none;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .2);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
}
.p-global-footer__mailmaga-form .mailmaga_del
{
  display: none;
}
.p-global-footer__qr-code
{
  float: right;
  padding-left: 30px;
}

.p-footer
{
  background: #335B84;
}
.p-footer-nav
{
  margin: 1em;
  padding: 0;
}
.p-footer-guide
{
  padding: 40px 20px;
  color: #FFFFFF;
  background: rgba(255, 255, 255, .1);
}
.p-footer-guide a
{
}
.p-footer-guide__heading
{
  font-size: 14px;
  font-weight: normal;
  margin: 0 10px 10px;
  padding: .5em 0;
  text-align: center;
  color: #fff;
  border-bottom: 2px solid #FFFFFF;
  border-left: 0;
}
.p-footer-guide__label
{
  margin: 10px 0;
}
.p-footer-guide__content
{
  font-size: 12px;
  line-height: 1.8;
  margin: 0 0 40px;
}
.p-footer-guide__image
{
  margin-bottom: 10px;
}
.p-footer-bottom
{
  padding: 40px 20px 60px;
  color: #FFFFFF;
  position: relative;
}
.p-footer-bottom::after
{
  display: block;
  clear: both;
  content: '';
}
.p-footer-bottom a
{
  color: #fff;
}
.p-footer-bottom__copyright
{
  font-size: 12px;
  line-height: 20px;
  text-align: center;
}
.p-footer-bottom__copyright div
{
  display: inline-block;
  margin: 20px;
}
.p-footer-bottom__credit
{
  padding: 15px 0;
  text-align: center;
}
.p-footer-bottom__credit span
{
  font-size: 10px;
  position: relative;
  top: -.3em;
  margin-right: 6px;
  color: #fff;
}
.p-footer-bottom__pagetop
{
  margin-top: -13px;
  padding: 4px;
  text-align: center;
  background: #0066D0;
  border-radius: 1em;
}

/* =========================
   サブリスト
   ========================= */
.p-sub-category
{
  margin: 0 auto;
  padding: 0;
  max-width: 800px;
}
.p-sub-category h2
{
  text-align: center;
}
.p-sub-category ul, .hashtag
{
  display: inline-flex;
  margin: 6px 0;
  padding: 0;
  font-size: small;
  font-weight: bold;
  flex-wrap: wrap;
  justify-content: center;
  color: #4e5665;
  gap: 3px;
}
.p-sub-category li a
{
  position: relative;
  display: flex;
  height: 58px;
}
.p-sub-category img
{
  margin-right: 9px;
  min-width: 86px !important;
  max-width: 86px !important;
  object-fit: cover;
}
.p-sub-category a > img ~ div, .p-sub-category a > span + div
{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  width: calc(100vw - 110px);
  max-width: 400px;
  color: #4e5665;
  border-radius: initial;
  line-height: 1.2;
  overflow: hidden;
  text-align: left;
}

/* インフォブログ */
#group .p-sub-category
{
  margin-right: 6px;
  padding: 12px 12px 3px;
  border-radius: 1em;
  width: 340px;
  border: 2px solid var(--bc);
  background: var(--bc);
}
#group .p-sub-category h3
{
  margin: 6px;
  text-align: center;
}
#group .p-sub-category ul
{
  width: 100%;
}
#group .p-sub-category ul img
{
  position: unset;
}

/* カテゴリ */
#category
{
  counter-reset: h2;
}
#category h2::before, h2 i
{
  position: absolute;
  margin: -0.96em 0;
  font-size: 2.4em;
  counter-increment: h2;
  content: counter(h2);
  color: var(--bc);
}
.tagmenu .p-sub-category
{
  padding: 0 12px;
  overflow: auto;
  max-width: initial;
}
.tagmenu .p-sub-category ul
{
  padding: 0 6px 0 0;
  justify-content: left;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* =========================
   カルーセル（中身のレイアウト）
   ========================= */
.carousel > div
{
  display: flex;
  padding: 0 6px 0 12px;
  align-items: flex-end;
  gap: .3em;
}
.carousel > div > p
{
  position: absolute;
  padding-bottom: .6em;
  opacity: 0.8;
  color: #003366;
}
.carousel h2
{
  padding-top: 1em;
  text-align: left;
}
.carousel h2 + a
{
  font-weight: bold;
  font-size: 14px;
  flex: none;
}
.carousel > ul
{
  display: flex;
  margin: 0;
  padding: 3px 12px;
  flex-wrap: nowrap;
  justify-content: left;
  overflow-x: auto;
  gap: 3px;
}
.carousel .snap
{
  display: revert;
  margin: 0 0 24px;
  padding: 3px 12px;
  width: 100%;
  overflow-x: auto;
}
.carousel > ul li
{
  min-width: 120px;
  max-width: min-content;
}
.carousel > ul img
{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  left: 0;
}
.carousel_text
{
  display: grid;
  margin-top: 3px;
  color: #000099;
}
.carousel_text__flow
{
  position: absolute;
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.carousel .brand
{
  object-fit: contain;
}

/* 問合せボタン */
.floatbox
{
  position: fixed;
  display: flex;
  flex-direction: column;
  padding: 4px 0;
  right: 4px;
  bottom: 3px;
  line-height: .9;
  background: #fff;
  color: green;
  border-radius: 1em;
  text-align: center;
  font-weight: bold;
  z-index: 9997;
}
.floatbox i
{
  color: green;
  font-size: 50px;
  background: #fff;
}

/* =========================
   メディアクエリ
   ========================= */
@media screen and (min-width: 600px)
{
  .p-header__bar span
  {
    display: inline-block;
  }
  .banner
  {
    display: flex;
  }
}

@media screen and (min-width: 960px)
{
  .sp-global-header2
  {
    position: sticky;
  }
  .banner__heading
  {
    font-size: 30px;
  }

  .c-thumbnail-product-list__item:nth-child(4n + 1)
  {
    clear: none;
  }
  .c-thumbnail-product-list__item:nth-child(5n + 1)
  {
    clear: both;
  }

  /* 6列リスト */
  .c-product-list__item
  {
    width: 16.66666%;
  }
  .c-product-list__item:nth-child(3n + 1)
  {
    clear: none;
  }
  .c-product-list__item:nth-child(6n + 1)
  {
    clear: both;
  }

  .u-visible--pc
  {
    display: inherit;
  }

  .p-shop-info__manager
  {
    float: left;
    width: 75%;
  }
  .p-shop-info__manager--half
  {
    width: 50%;
  }
  .p-shop-info__calendar
  {
    float: left;
    width: 25%;
  }
  .p-shop-info__calendar--half
  {
    width: 50%;
  }

  .p-global-footer__unit
  {
    float: left;
    width: 25%;
  }
  .p-global-footer__unit--half
  {
    float: right;
    width: 50%;
  }
}
/* 最後 */
