/************************************************************/
/************************************************************/
/*リセット
/************************************************************/
/************************************************************/
html {
  -webkit-text-size-adjust:100%;
  box-sizing:border-box;
  -moz-tab-size:4;
  tab-size:4;
  word-break:normal
}
*,:after,:before {
  background-repeat:no-repeat;
  box-sizing:inherit
}
:after,:before {
  text-decoration:inherit;
  vertical-align:inherit
}
* {
  margin:0;
  padding:0
}
hr {
  color:inherit;
  height:0;
  overflow:visible
}
details,main {
  display:block
}
summary {
  display:list-item
}
small {
  font-size:80%
}
[hidden] {
  display:none
}
abbr[title] {
  border-bottom:none;
  text-decoration:underline;
  text-decoration:underline dotted
}
a {
  background-color:transparent
}
a:active,a:hover {
  outline-width:0
}
code,kbd,pre,samp {
  font-family:monospace,monospace
}
pre {
  font-size:1em
}
b,strong {
  font-weight:bolder
}
sub,sup {
  font-size:75%;
  line-height:0;
  position:relative;
  vertical-align:baseline
}
sub {
  bottom:-.25em
}
sup {
  top:-.5em
}
table {
  border-color:inherit;
  text-indent:0
}
iframe {
  border-style:none
}
input {
  border-radius:0
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
  height:auto
}
[type=search] {
  -webkit-appearance:textfield;
  outline-offset:-2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance:none
}
textarea {
  overflow:auto;
  resize:vertical
}
button,input,optgroup,select,textarea {
  font:inherit
}
optgroup {
  font-weight:700
}
button {
  overflow:visible
}
button,select {
  text-transform:none
}
[role=button],[type=button],[type=reset],[type=submit],button {
  cursor:pointer
}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
  border-style:none;
  padding:0
}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring {
  outline:1px dotted ButtonText
}
[type=reset],[type=submit],button,html [type=button] {
  -webkit-appearance:button
}
button,input,select,textarea {
  background-color:transparent;
  border-style:none
}
a:focus,button:focus,input:focus,select:focus,textarea:focus {
  outline-width:0
}
select {
  -moz-appearance:none;
  -webkit-appearance:none
}
select::-ms-expand {
  display:none
}
select::-ms-value {
  color:currentColor
}
legend {
  border:0;
  color:inherit;
  display:table;
  max-width:100%;
  white-space:normal
}
::-webkit-file-upload-button {
  -webkit-appearance:button;
  color:inherit;
  font:inherit
}
[disabled] {
  cursor:default
}
img {
  border-style:none
}
progress {
  vertical-align:baseline
}
[aria-busy=true] {
  cursor:progress
}
[aria-controls] {
  cursor:pointer
}
[aria-disabled=true] {
  cursor:default
}
ol,ul  {
  list-style-type: none;
}


/************************************************************/
/************************************************************/
/*ベース
/************************************************************/
/************************************************************/

/*全体設定
------------------------------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	color: #666;
	font-family: "Helvetica Neue",
	Arial,
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	Meiryo,
	sans-serif;
}
/*リンク設定
------------------------------------------------------------*/
a {
	color: #666;
	text-decoration: underline;
	border: 0;
}

a:link {
	color: #666;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	text-decoration: none;
}


p {
	font-size: 1.6rem;
}

img {
	width: 100%;
	height: auto;
	display: block;
}


/************************************************************/
/************************************************************/
/*ユーティリティ
/************************************************************/
/************************************************************/
.u-mincho {
	font-family: "Times New Roman", Times, serif;
}
/* margin-top */
.u-mt-10 { margin-top: 10px; }
.u-mt-15 { margin-top: 15px; }
.u-mt-20 { margin-top: 20px; }
.u-mt-30 { margin-top: 30px; }
.u-mt-40 { margin-top: 40px; }
.u-mt-50 { margin-top: 50px; }
.u-mt-60 { margin-top: 60px; }


/* padding-top */
.u-pt-10 {
  padding-top: 10px;
}
.u-pt-20 {
  padding-top: 20px;
}
.u-pt-30 {
  padding-top: 30px;
}
.u-pt-40 {
  padding-top: 40px;
}
.u-pt-50 {
  padding-top: 15px;
}
.u-pt-60 {
  padding-top: 60px;
}
.u-pt-70 {
  padding-top: 70px;
}
.u-pt-80 {
  padding-top: 80px;
}
.u-pt-90 {
  padding-top: 90px;
}
.u-pt-100 {
  padding-top: 100px;
}
.u-pt-110 {
  padding-top: 110px;
}
.u-pt-120 {
  padding-top: 120px;
}

.u-inner {
	padding: 0 20px;
}

/* Responsive Utilities */
@media screen and (min-width: 768px) {
  .u-pc-view { display: block; }
  .u-sp-view { display: none; }
}

@media screen and (max-width: 767px) {
  .u-pc-view { display: none; }
  .u-sp-view { display: block; }
}

/* ------------------------------
   Layout
------------------------------ */
.l-main {
	max-width: 100%;
	min-width: 100%;
	margin: auto;
}

@media screen and (min-width: 960px) {
  .l-main {
    max-width: 1200px;
    min-width: 960px;
  }
}

.l-header, .l-footer, .c-hero {
  margin: auto;
  max-width: 100%;
  min-width: 100%;
  position: relative;
  width: auto;
}

.l-header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100vw;
  height: 1px;
  pointer-events: none;
  transform: translateX(-50%);
  box-shadow: 0 8px 24px rgba(45, 39, 30, 0.08);
}

.l-header::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100vw;
  height: 1px;
  background: rgba(141, 120, 87, 0.16);
  pointer-events: none;
  transform: translateX(-50%);
}

@media screen and (min-width: 960px) {
  .l-header, .l-footer, .c-hero {
    max-width: 1200px;
    min-width: 960px;
  }
}

@media screen and (max-width: 768px) {
  .l-header {
    position: fixed;
    z-index: 1000;
  }
}

.l-header__inner {
  padding: 8px;
  background-color: #fff;
}

@media screen and (min-width: 769px) {
  .l-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.l-header__logo img {
  width: 200px;
}

@media screen and (min-width: 769px) {
  .l-header__logo img {
    width: 250px;
  }
}

/* Section adjustment for fixed headers */
section {
  padding-top: 65px;
  margin-top: -65px;
}

.l-footer__copy {
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 0 0 100px;
}

@media screen and (max-width: 767px) {
  .l-footer__links {
    padding: 0 20px;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media screen and (min-width: 769px) {
  .l-header__inner {
    display: flex;
    justify-content: space-around;
    align-items: center;
    justify-content: space-between;
  }

  .l-footer__links {
    display: flex;
    justify-content: center;
  }

  .l-footer__links li {
    padding-right: 20px;
    font-size: 14px;
  }

  .l-footer__links li:last-child {
    padding-right: 0;
  }
}

/* ------------------------------
   nav
------------------------------ */
.l-header__nav {
  margin-left: auto;
}

.c-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-nav__item {
  position: relative;
  list-style: none;
}

.c-nav__item.has-dropdown {
  position: static;
}

.c-nav__link,
.c-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-right: 1px solid rgba(120, 116, 107, 0.16);
  /* border-radius: 999px; */
  /* background: linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
  box-shadow: 0 10px 24px rgba(45, 39, 30, 0.08); */
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.c-nav__link,
.c-nav__link:link,
.c-nav__toggle {
  color: #544c40;
}

.c-nav__item:last-child .c-nav__link,
.c-nav__item:last-child .c-nav__toggle {
  border-right: 0;
}

.c-nav__toggle {
  position: relative;
  text-align: left;
  cursor: pointer;
}

.has-dropdown > .c-nav__toggle::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: calc(100% + 48px);
  height: 18px;
  transform: translateX(-50%);
}

.has-dropdown > .c-nav__toggle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 1px);
  width: 18px;
  height: 18px;
  /* background: #fbf8f1; */
  background:#fffdf9;
  border-top: 1px solid rgba(141, 120, 87, 0.16);
  border-left: 1px solid rgba(141, 120, 87, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -8px) rotate(45deg);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 1001;
}

/* .c-nav__link:hover,
.c-nav__toggle:hover,
.c-nav__item:focus-within .c-nav__toggle {
  opacity: 1;
  transform: translateY(-2px);
  border-color: rgba(172, 147, 100, 0.45);
  box-shadow: 0 14px 30px rgba(45, 39, 30, 0.14);
} */

.c-nav__toggle-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.c-nav__text {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.c-nav__icon {
  position: relative;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c8b289 0%, #8d7857 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.c-nav__icon::before,
.c-nav__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
}

.c-nav__icon--products::before {
  width: 12px;
  height: 10px;
  border: 1.6px solid #fff;
  border-radius: 3px;
  top: 56%;
}

.c-nav__icon--products::after {
  width: 8px;
  height: 3px;
  border: 1.6px solid #fff;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  top: 34%;
}

.c-nav__icon--category::before {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: #fff;
  box-shadow: -7px 0 0 #fff, 7px 0 0 #fff, 0 -7px 0 #fff, 0 7px 0 #fff;
}

.c-nav__icon--worry::before {
  width: 14px;
  height: 14px;
  border: 1.6px solid #fff;
  border-radius: 50%;
}

.c-nav__icon--worry::after {
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;
  box-shadow: -7px -5px 0 #fff, 7px -4px 0 #fff, 0 8px 0 #fff;
}

.c-nav__icon--brand::before {
  width: 12px;
  height: 12px;
  background: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
  border-radius: 2px;
}

.c-nav__icon--guide::before {
  width: 12px;
  height: 14px;
  border: 1.6px solid #fff;
  border-radius: 2px;
  transform: translate(-58%, -50%);
}

.c-nav__icon--guide::after {
  width: 12px;
  height: 14px;
  border: 1.6px solid #fff;
  border-radius: 2px;
  transform: translate(-16%, -50%);
}

.c-nav__icon--clinic::before {
  width: 14px;
  height: 3px;
  background: #fff;
  border-radius: 3px;
}

.c-nav__icon--clinic::after {
  width: 3px;
  height: 14px;
  background: #fff;
  border-radius: 3px;
}

.c-intro__inner {
  text-align: center;
}

/* dropdown */
.has-dropdown {
  position: relative;
}

.c-dropdown {
  --dropdown-anchor-left: 50%;
  --dropdown-padding-inline: clamp(100px, calc(-167.246px + 34.752vw), 500px);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 10px);
  width: 100vw;
  max-width: 100vw;
  background: linear-gradient(180deg, #fffdf9 0%, #f6f1e8 100%);
  padding: 30px var(--dropdown-padding-inline);
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
  z-index: 1000;
  border-right: 1px solid rgba(141, 120, 87, 0.16);
  box-shadow: 0 22px 48px rgba(45, 39, 30, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

.c-dropdown::before {
  display: none;
}

.c-dropdown--category {
  --dropdown-anchor-left: 42.5%;
}

.c-dropdown--worry {
  --dropdown-anchor-left: 55.5%;
}

.c-dropdown--brand {
  --dropdown-anchor-left: 68.5%;
  /* width: 420px; */
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.c-dropdown__item {
  min-width: 0;
}

.c-dropdown__link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 12px 15px;
  border: 1px solid rgba(120, 116, 107, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  color: #544c40;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.c-dropdown__link:hover,
.c-dropdown__link:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  border-color: rgba(172, 147, 100, 0.45);
  box-shadow: 0 10px 20px rgba(45, 39, 30, 0.1);
}

.c-dropdown__badge {
  position: relative;
  order: 2;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  margin-left: auto;
}

.c-dropdown__badge::before,
.c-dropdown__badge::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #8d7857;
}

.c-dropdown__badge::before {
  width: 10px;
  height: 2px;
  border-radius: 99px;
  transform: translate(-35%, -180%) rotate(45deg);
}

.c-dropdown__badge::after {
  width: 2px;
  height: 10px;
  border-radius: 99px;
  transform: translate(-35%, -20%) rotate(45deg);
}

.c-dropdown__label {
  min-width: 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-dropdown__link--brand {
  flex-direction: column;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 118px;
}

.c-dropdown__brand-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
}

.c-dropdown__brand-logo img {
  width: auto;
  max-width: 128px;
  max-height: 32px;
  object-fit: contain;
}

/* ホバーで表示（PC） */
.has-dropdown > .c-nav__toggle:hover + .c-dropdown,
.has-dropdown > .c-dropdown:hover,
.has-dropdown:focus-within > .c-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

.has-dropdown:hover > .c-nav__toggle::before,
.has-dropdown:focus-within > .c-nav__toggle::before {
  opacity: 1;
  transform: translate(-50%, -1px) rotate(45deg);
}

.l-header__nav .dli-chevron-down {
  margin-left: 0;
  width: 0.5em;
  height: 0.5em;
  color: #8d7857;
  border-color: #8d7857;
}

@media screen and (max-width: 1180px) {
  .c-dropdown--category {
    --dropdown-anchor-left: 40%;
  }

  .c-dropdown--worry {
    --dropdown-anchor-left: 53%;
  }

  .c-dropdown--brand {
    --dropdown-anchor-left: 66%;
  }

  .c-nav__link,
  .c-nav__toggle {
    padding: 0 12px;
    width: 145px;
  }

  .c-nav__text {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 959px) {
  .l-header__inner {
    gap: 12px;
  }

  .l-header__logo img {
    width: 180px;
  }

  .l-header__nav {
    min-width: 0;
    flex: 1 1 auto;
  }

  .c-nav {
    gap: 0;
    justify-content: space-between;
  }

  .c-nav__link,
  .c-nav__toggle {
    width: auto;
    min-width: 0;
    padding: 0 8px;
  }

  .c-nav__text {
    font-size: 1.1rem;
  }

  .c-dropdown {
    padding: 20px var(--dropdown-padding-inline);
    gap: 10px 12px;
  }

  .c-dropdown--category {
    --dropdown-anchor-left: 36%;
  }

  .c-dropdown--worry {
    --dropdown-anchor-left: 50%;
  }

  .c-dropdown--brand {
    --dropdown-anchor-left: 64%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .c-dropdown__link--brand {
    min-height: 96px;
  }
}


/* ------------------------------
   ハンバーガーメニュー
------------------------------ */
.site-header {
  position: relative;
  z-index: 2000;
  padding: 15px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.hamburger {
  position: fixed;
  top: 12px;
  right: 20px;
  z-index: 2001;
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}
.hamburger .bar {
  width: 30px;
  height: 2px;
  margin: 4px 0;
  background: #333;
  transition: all 0.3s ease;
}
.hamburger .label {
  font-size: 9px;
	font-family: 'Times New Roman', Times, serif;
	color: #000;
}
.hamburger.open .bar:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.hamburger.open .bar:nth-child(2) {
  opacity: 0;
}
.hamburger.open .bar:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1000;
}
.overlay.active {
  opacity: 1;
  visibility: visible;
}
.side-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 320px;
  height: 80%;
  background: #fff;
  transition: right 0.3s ease;
  z-index: 1500;
  overflow-y: auto;
}
.side-nav.open {
  right: 0;
}
.side-nav ul { list-style: none; padding: 65px 20px 20px; margin: 0; }
.side-nav li { margin-bottom: 10px; font-size: 14px; position: relative; border-bottom: 1px solid #23181514; padding: 10px 24px 10px 10px; }
.side-nav li > a { display: block; } /* クリックしやすく */

.side-nav .has-sub__btn {
  all: unset; /* ボタンのデフォルトスタイルをリセット */
  cursor: pointer;
  display: block;
  width: 100%;
  padding-right: 30px;
  position: relative;
}
.side-nav ul .menu-level2 { padding: 0px 20px; }
.side-nav ul .menu-level2 li:last-of-type{ border-bottom: none; }

/* ＋／− アイコン（ボタンの擬似要素で描画） */
.has-sub__btn::after, .has-sub__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  background: #333;
  transform: translateY(-50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.has-sub__btn::after { width: 12px; height: 2px; right: 12px; }  /* 横線 */
.has-sub__btn::before { width: 2px; height: 12px; right: 17px; }  /* 縦線 */

/* 展開時は縦線を消して「−」に見せる */
.has-sub.open > .has-sub__btn::before { transform: translateY(-50%) scaleY(0); opacity: 0; }

/* サブメニューのスライド開閉（子セレクタに変更！） */
.menu-level2 {
  max-height: 0; overflow: hidden; opacity: 0;
  padding-left: 20px;
  transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.2s ease;
}
.has-sub.open > .menu-level2 {
  max-height: 1000px; opacity: 1; padding-left: 20px;
}

/* 既存の矢印スタイル */
.side-nav li.arrow::after {
  content: ""; position: absolute; right: 10px; top: 50%;
  width: 8px; height: 8px; border-top: 2px solid #666; border-right: 2px solid #666;
  transform: translateY(-50%) rotate(45deg);
}


.dli-chevron-down {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid #333;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
	margin-left: 10px;
}
.footer-shop__buttons {
  display: flex;
} 
.footer-shop__buttons .arrow::after {
  content: '';
  width: 100px;
  height: 15px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg);
}


/* ------------------------------
   Hero Slider
------------------------------ */
.c-hero {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-hero {
    padding-top: 60px;
  }
}

@media screen and (min-width: 769px) {
  .c-hero {
    margin: auto;
    max-width: 1200px;
    min-width: 960px;
    position: relative;
    width: auto;
  }
}

/* track（スライド部分）だけを隠す */
.splide__track {
  overflow: hidden;
}

.splide__pagination {
  bottom: -5.5em !important;
}

@media screen and (max-width: 767px) {
  .splide__pagination {
    bottom: -3.5em !important;
  }
}

.splide__pagination__page {
  margin: 6px;
}

.splide__pagination__page.is-active {
  background: #000c;
}

.splide__arrow {
  background: #000c;
  border-radius: 0;
  width: 2.2em;
  height: 3.5em;
}

.splide__arrow svg {
  fill: #fff;
  height: 2.2em;
  width: 2.2em;
}

.c-hero .splide__slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.splide__pagination__page.is-active {
	background: #000c;
}
.splide__pagination__page {
	margin: 6px;
}
.splide__arrow {
	background: #000c;
	border-radius:0;
	width: 2.2em;
	height: 3.5em;
}
.splide__arrow svg {
	fill: #fff;
	height: 2.2em;
	width: 2.2em;
}
.splide__list {
  height: auto;
}


/* ------------------------------
   POPUP（商品準備中）
------------------------------ */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  padding: 1rem;
  box-sizing: border-box;
}

.popup-content {
  background: #fff;
  padding: 2.5rem 2rem;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  text-align: center;
  max-width: 360px;
  width: 100%;
  position: relative;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
}

.popup-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.popup-content h2 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  color: #333;
}

.popup-message {
  font-size: 1.5rem;
  color: #555;
  margin-bottom: 1.5rem;
}

.popup-close {
	position: absolute;
	border-radius: 50px;
	border: 0px;
	background: rgb(214, 214, 214);
	cursor: pointer;
	top: -15px;
	right: -7px;
	width: 38px;
	height: 38px;
}
.popup-close::before {
	transform: rotate(45deg);
}
.popup-close::after {
	transform: rotate(-45deg);
}
.popup-close::before,
.popup-close::after {
	display: block;
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	background: rgb(51, 51, 51);
	height: 2px;
	margin-top: -1px;
	width: 20px;
	margin-left: -10px;
}


/* ------------------------------
   おすすめ商品
------------------------------ */
.recommend {
  padding: 100px 20px;
  text-align: center;
}

.recommend__item {
  text-align: left;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.recommend__img {
  position: relative;
  background: #f9f9f9;
  border-radius: 6px;
  overflow: hidden;
  padding: 10px;
}

.recommend__img img {
  width: 100%;
  height: auto;
  display: block;
}

.recommend__info {
  margin-top: 10px;
	padding: 0 10px;
}

.recommend__name {
  font-weight: bold;
  font-size: 1.4rem;
  margin-bottom: 5px;
	height: 3em;
}

.recommend__desc {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 5px;
}

.recommend__price {
  font-size: 1.5rem;
  color: #000;
}

.recommend__more {
  margin-top: 30px;
}

/* 詳細リンク */
.recommend-actions {
  position: relative;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  min-height: 45px;
  margin: 10px auto;
}

.recommend-actions .recommend-link {
  position: relative;
  border: none;
  border-bottom: 1px solid #666;
  width: 300px;
  max-width: 75%;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  cursor: pointer;
  margin-right: 10px;
}

.recommend-link::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #666;
  rotate: 40deg;
  position: absolute;
  right: -3px;
  bottom: 5px;
}

.recommend__item .buy-dropdown-wrapper {
  padding: 0 20px 30px;
}

@media screen and (min-width: 960px) {
  .recommend-actions .recommend-link {
    max-width: 60%;
  }
  .recommend--link::before {
    width: 30px;
    bottom: 9px;
  }
}


.recommend__btn {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 1.4rem;
  padding: 12px 30px;
  border-radius: 4px;
  text-decoration: none;
  transition: 0.3s;
}

.recommend__btn:hover {
  background: #333;
}

.buy-dropdown-wrapper {
  position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 10px auto;
}

.buy-button {
  background-color: #000;
  color: #fff;
  font-size: 1.4rem;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 10px;
	width: 80%;
	justify-content: center;
}

.buy-button .arrow {
  font-size: 1.2rem;
	position: relative;
}
.buy-button .arrow::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.buy-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  background: #000;
  border-radius: 5px;
  padding: 10px 0;
  z-index: 1000;
  width: 200px;
  margin-top: 10px;
}

.buy-dropdown__arrow {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid #000;
}

.buy-dropdown__item {
  background: #fff;
  padding: 10px;
  margin: 5px 10px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: #000;
  font-size: 1.2rem;
}

.buy-dropdown__item img {
	height: 45px;
  object-fit: contain;
}

.buy-dropdown__arrow-icon {
  color: #aaa;
  font-size: 1.2rem;
}
.splide__pagination {
	bottom: -5.5em !important;
}
@media screen and (max-width: 767px) {
	.splide__pagination {
		bottom: -3.5em !important;
	}
}
.c-product__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #ff6f61;
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 1.2rem;
  border-radius: 4px;
	z-index: 9999;
}
/* スライド内では非表示に */
.buy-dropdown {
  display: none;
}

/* bodyに追加されるクローン用 */
.portal-dropdown {
  width: 200px;
  background: #000;
  border-radius: 5px;
  padding: 10px 0;
  color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.portal-dropdown a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  color: #000;
  padding: 8px 12px;
  margin: 8px 10px;
  border-radius: 4px;
  text-decoration: none;
}
.portal-dropdown a img {
  height: 40px;
}

/* ------------------------------
   footer
------------------------------ */
/*フッターエリア用パーツ（共通）
------------------------------------------------------------*/
.l-footer__copy {
  text-align: center;
  font-size: 11px;
}

.footer-info {
  border-top: 1px solid #ddd;
  padding: 40px 20px 0;
  font-size: 1.4rem;
  color: #444;
  line-height: 1.6;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-info__clinic {
  display: flex;
  justify-content: space-evenly;
  text-align: left;
  padding-bottom: 40px;
  border-bottom: 1px solid #ddd;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .footer-info__clinic {
    flex-direction: column;
  }
}

.footer-info__title {
  margin-bottom: 10px;
  display: flex;
  justify-content: flex-start;
}

.footer-info__title img {
  height: 20px;
}

@media screen and (min-width: 768px) {
  .footer-info__title img {
    height: 35px;
  }
}

.footer-info__text {
  font-size: 1.4rem;
  color: #666;
  line-height: 1.8;
}

.footer-info__links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 30px;
  gap: 20px;
}

.footer-info__column {
  min-width: 180px;
}

.footer-info__column h4 {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
  border-bottom: 1px solid #eee;
  padding-bottom: 4px;
}

.footer-info__column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-info__column li {
  font-size: 1.3rem;
  color: #333;
  margin-bottom: 8px;
}

.footer-shop {
  text-align: center;
}

.footer-shop__logo img {
  max-width: 280px;
  height: auto;
  margin: 0 auto 10px;
}

.footer-shop__logo p {
  margin: 5px 0;
  color: #333;
}

.footer-shop__title {
  font-size: 1.6rem;
}

.footer-shop__desc {
  font-size: 1.4rem;
  color: #666;
  line-height: 1.7;
  margin-top: 20px;
  text-align: justify;
  color: #666;
}

@media screen and (min-width: 768px) {
  .footer-shop__title {
    font-size: 2rem;
  }

  .footer-shop__desc {
    text-align: center;
  }
}

.footer-shop__buttons {
  margin: 25px 0;
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
}

.btn-shop {
  background: #000;
  padding: 10px 20px;
  font-size: 1.3rem;
  color: #fff !important;
  text-decoration: none;
  display: inline-block;
  min-width: 120px;
  text-align: center;
}

.footer-shop__qr {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.footer-shop__qr-item {
  text-align: center;
}

.footer-shop__qr-item img {
  width: 150px;
  height: auto;
  margin-bottom: 5px;
}

.footer-shop__qr-item p {
  font-size: 1.2rem;
  color: #555;
}


/* ------------------------------
   お悩みから探す
------------------------------ */
.worries {
  padding: 50px 20px;
  text-align: center;
}

.worries__btn {
  position: absolute;
  top: 0;
  right: 0;
  background: transparent;
  border: 1px solid #999;
  border-radius: 30px;
  padding: 6px 18px;
  font-size: 1.3rem;
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}

.worries__btn:hover {
  background: #ddd;
}

.worries__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.worries__list {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}
.worries__item {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 30px 10px;
  font-size: 1.3rem;
  color: #333;
  cursor: pointer;
  transition: all 0.3s ease;
}

.worries__item:hover {
  background: #f0f0f0;
  border-color: #999;
}

/* ------------------------------
   商品カテゴリ
------------------------------ */
.category {
  padding: 50px 20px;
  text-align: center;
}

.category__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 20px;
  margin: 0 auto;
  text-align: left;
}

.category__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
	padding: 14px 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  text-decoration: none;
  color: #333;
  transition: 0.3s;
}

.category__item:hover {
  background: #f0f0f0;
  border-color: #999;
}

.category__icon {
  font-size: 1.6rem;
  margin-right: 10px;
  color: #888;
  flex-shrink: 0;
  width: 24px;
  text-align: center;
}

.category__text {
  flex: 1;
  font-size: 1.4rem;
}

.category__arrow {
  font-size: 1.1rem;
  width: 14px;
  color: #999;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
	.category__list {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		max-width: 900px;
	}
	.category__item {
		padding: 14px 10px;
	}
}

/* ------------------------------
   取扱ブランド
------------------------------ */
.brands {
  text-align: center;
  padding: 50px 20px;
}

.brands__list {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.brands__item {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 10px;
  width: 150px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.brands__item img {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
	.brands__item {
		width: 200px;
	}
}

/* ------------------------------
   お知らせ
------------------------------ */
.news {
  padding: 40px 20px;
  text-align: center;
}

.news__item {
  text-align: left;
  max-width: 800px;
  margin: 0 auto;
}

.news__date {
  font-size: 1.3rem;
  color: #333;
  margin-bottom: 5px;
  font-weight: bold;
}

.news__text {
  font-size: 1.3rem;
  color: #333;
  line-height: 1.6;
}


/* ------------------------------
   見出し
------------------------------ */
/* page h1：/products, /blands, /worries */
.c-page-title {
  font-size: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-page-title {
		font-size: 2.8rem;
  }
}
/* h2 */
.c-heading {
  position: relative;
  margin-bottom: 40px;
	border-bottom: 1px solid #ccc;
  display: inline-block;
  padding-bottom: 10px;
}

.c-heading__en {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 4px;
}

.c-heading__ja {
  font-size: 2rem;
  font-weight: bold;
  color: #333;
}
@media screen and (min-width: 768px) {
	.c-heading__ja {
		font-size: 2.8rem;
	}
	.c-heading__en {
    font-size: 1.4rem;
  }
}



/* ------------------------------
   一覧ページ
------------------------------ */
/* page：/products, /blands, /worries */

.product-list-page {
  padding: 0 20px;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 30px 20px;
}

@media screen and (min-width: 768px) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 30px 20px;
  }
}

@media screen and (min-width: 960px) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 30px 40px;
  }
}

.product-card {
  position: relative;
  background: #fff;
  text-align: left;
}

.product-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 6px;
  position: relative;
  background: #f9f9f9;
  border-radius: 6px;
  overflow: hidden;
  padding: 10px;
}

.product-info {
  margin-top: 10px;
}

.product-name {
  font-weight: bold;
  font-size: 14px;
  margin: 4px 0;
  line-height: 1.4;
}

.product-desc {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 5px;
}

.product-price {
  font-size: 13px;
  margin: 6px 0;
}

.product-rating {
  font-size: 13px;
  color: #f39c12;
}

.review-count {
  color: #333;
  font-size: 12px;
  margin-left: 4px;
}

.product-actions {
  position: relative;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin: 10px auto;
}

.c-heading {
  margin-bottom: 40px;
  border-bottom: 1px solid #ccc;
  display: inline-block;
  padding-bottom: 10px;
}

.category-block {
  margin-top: 20px;
}
.category-block:first-of-type {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .category-block {
    margin-top: 80px;
  }
}

.category-block__inner {
  text-align: center;
}

/* ボタンがない場合の高さ調整 */
.product-actions.is-empty,
.buy-dropdown-wrapper.is-empty {
  height: 43px;
  /* 実際のボタンの高さに揃える */
}

.product-info {
  min-height: 160px;
}

@media screen and (min-width: 768px) {
  .product-info {
    min-height: 140px;
  }
}

.product-actions,
.buy-dropdown-wrapper {
  min-height: 50px;
}

.product-actions .product-link {
  position: relative;
  border: none;
  border-bottom: 1px solid #666;
  width: 300px;
  max-width: 75%;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  cursor: pointer;
}

.product-link::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #666;
  rotate: 40deg;
  position: absolute;
  right: -3px;
  bottom: 5px;
}

@media screen and (min-width: 960px) {
  .product-actions .product-link {
    max-width: 60%;
  }

  .product-link::before {
    width: 30px;
    bottom: 9px;
  }
}

.buy-button {
  width: 100%;
}

.buy-button:hover {
  opacity: 0.7;
}

/* ------------------------------
   商品紹介ページ
------------------------------ */
/* page：/products配下 */

:root {
	--label: #7da8be;
	/* 左側のラベル色 */
	--text: #666;
	/* 本文色 */
	--muted: #9aa3ab;
	/* 補助テキスト色 */
	--rule: #999;
	/* 仕切り線色 */
	--gap: 24px;
	/* 基本余白 */
}
/* FV */
/* ▼ 商品ヒーロー */
.product-hero {
	padding: 0 20px;
}
@media (min-width: 769px) {
	.product-hero {
		max-width: 1200px;
		min-width: 960px;
	}
}
.product-hero__grid {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 36px;
	align-items: start;
}

/* 左側：商品画像＋サークル背景 */
.product-hero__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 9999px;
	background: radial-gradient(circle at 50% 50%, #f1f9fb 0%, #f1f9fb 58%, transparent 59%);
	display: grid;
	place-items: center;
}

.product-hero__image {
	width: 70%;
	height: auto;
	display: block;
}

/* 右側：テキスト */
.product-hero__title {
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: .02em;
}
.product-hero__subtitle {
	margin: 0 0 8px;
	color: var(--muted);
	font-weight: 700;
}
.product-hero__rule {
	border: none;
	border-top: 2px solid var(--rule);
	margin: 8px 0 18px;
}

/* リードセクション */
.lead-section {
	margin: 14px 0 18px;
}
.lead-section__title {
	color: var(--label);
	font-weight: 700;
	font-size: 18px;
	margin: 0 0 6px;
	font-family: "ＭＳ 明朝", "ヒラギノ明朝 Pro W3", serif;
}
.lead-section__text {
	margin: 0 0 4px;
}

.lead-section__note {
  display: inline-block;
  margin-top: 4px;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #777;
}

/* 箇条書き（黒ポチ） */
.lead-list {
	margin: 8px 0 0 2em;
	list-style: disc;
}
.lead-list li {
	margin: 4px 0;
	font-size: 1.4rem;
}
/* リンク（下線＋やや濃い青） */
a.lead-link {
	color: #2c78b5;
	text-decoration: underline;
}
/* 購入バッジ */
.buy-badges {
	display: grid;
	grid-template-columns: repeat(4, minmax(120px, 1fr));
	gap: 20px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	padding: 10px 100px;
}
@media (min-width: 769px) {
	.buy-badge {
		padding: 10px 20px;
	}
}
.buy-badge__note {
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 2px;
}


@media (max-width: 920px) {
	.product-hero {
		width: 100%;
	}
	.product-hero__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.product-hero__media {
		margin: 0 auto;
		max-width: 360px;
	}
	.product-hero__title {
		font-size: 24px;
	}
	.buy-badges {
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
		padding: 0;
	}
}

/* 商品概要 */
/* コンポーネント */
.product-summary {
	margin: 40px auto;
	padding: 0 20px;
	width: 100%;
}
@media (min-width: 769px) {
	.product-summary {
		max-width: 1200px;
		min-width: 960px;
	}
}
.product-summary__grid {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--gap);
	width: 100%;
}
/* 左カラム（見出し＋横線） */
.product-summary__right {
	padding-top: 45px;
}
.product-summary__title {
	font-size: 22px;
	letter-spacing: .06em;
	font-weight: 700;
	margin: 0 0 12px;
}
.product-summary__rule {
	height: 1px;
	width: 100%;
	background: var(--rule);
}
/* 右カラム */
.summary-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid transparent;
	/* 高さ合わせ用 */
}
/* 1行を横並びにして「ラベル：値」に */
.summary-item {
	display: grid;
	grid-template-columns: 120px 1fr;
	column-gap: 16px;
	padding: 10px 0;
	font-size: 1.6rem;
}
.detailst-item {
	padding: 10px 0;
	font-size: 1.6rem;
}
.summary-item__term {
	color: var(--label);
	white-space: nowrap;
}
.summary-item__sep {
	display: none;
}
.summary-item__desc {
	color: var(--text);
}
.summary-item__desc--en {
	color: var(--muted);
}

/* 区切り線 */
.info-block+.info-block,
.summary-item+.summary-item {
	border-top: 1px solid #f5f7f8;
}
.detailst-item h3 {
	font-family: serif;
	color: #7da8be;
	font-size: 18px;
	font-weight: normal;
	margin-top: 20px;
	text-align: left;
}
.detailst-item h4 {
	padding-top: 10px;
}
.detailst-item h4:before {
	content: "○ ";
}
.detailst-item__desc {
	padding-top: 10px;
	text-align: justify;
	color: #666;
}
/* レスポンシブ（スマホで縦並び） */
@media (max-width: 768px) {
	.product-summary__right .product-summary__rule {
		display: none;
	}
	.product-summary__right {
		padding-top: 0;
	}
	.product-summary__grid {
		grid-template-columns: 1fr;
	}
	.product-summary__left {
		margin-bottom: 4px;
	}
	.summary-item {
		grid-template-columns: 1fr;
		row-gap: 4px;
		padding: 14px 0;
		display: flex;
		justify-content: flex-start;
	}
	.summary-item__term {
		font-weight: 600;
		text-align-last: justify;
		text-justify: inter-ideograph;
	}
}

/* ▼ 商品詳細 */
.product-detail {
	margin: 48px auto 56px;
	padding: 0 20px;
}
@media (min-width: 769px) {
	.product-detail {
		max-width: 1200px;
		min-width: 960px;
	}
}
.product-detail__grid {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--gap);
	width: 100%;
}
.product-detail__right {
	padding-top: 45px;
}
.product-detail__rule {
	height: 1px;
	width: 100%;
	background: var(--rule);
}
.product-detail__title {
	font-size: 22px;
	letter-spacing: .06em;
	font-weight: 700;
	margin: 0 0 12px;
}
/* ブロック */
.info-block {
	margin: 28px 0 40px;
}
.info-block__title {
	color: var(--label);
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
	font-family: serif;
	font-size: 18px;
	font-weight: normal;
	margin-top: 20px;
	text-align: left;
}
.info-block__text {
	margin: 0 0 10px;
}
/* 丸印（◯） */
.circle-list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	margin: 6px 0;
	line-height: 1.9;
	font-weight: 600;
	color: var(--text);
	font-family: sans-serif;
	color: #666;
	font-size: 16px;
	font-weight: 700;
}
.circle-list::before {
	content: "○ ";
}
@media (max-width: 768px) {
	.product-detail__right .product-detail__rule {
		display: none;
	}
	.product-detail__right {
		padding-top: 0;
	}
	.product-detail__grid {
		grid-template-columns: 1fr;
	}
	.product-detail__left {
		margin-bottom: 4px;
	}
	.info-block {
		margin: 20px 0 28px;
	}
	.info-block__title {
		font-size: 18px;
	}
}

@media (min-width: 768px) {
	.product-hero__content .buy-button {
		max-width: 350px;
  }
}


/* ------------------------------
   404ページ
------------------------------ */
.notfound {
  display: block;
  max-width: 900px;
  margin: auto;
  padding: 50px 20px;
  text-align: center;
}

.notfound__btn {
  width: 200px;
  height: 45px;
  padding: 15px;
  line-height: 45px;
  border: 1px solid #000;
  color: #000;
  font-size: 14px;
}

.notfound__btn:hover {
  background: #000;
  color: #fff;
  text-decoration: none;
}
.notfound__title {
  font-size: 28px;
  margin-bottom: 20px;
}
.notfound__text {
  font-size: 16px;
  margin-bottom: 40px;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .notfound {
    /* ヘッダーメニューに隠れるため調整 */
    padding: 100px 20px;
  }
}

/* ------------------------------
   パンくずナビゲーション
------------------------------ */
.breadcrumb {
  padding: 70px 10px 0;
  font-size: 13px;
}

.breadcrumb__list {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  overflow-x: auto;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.breadcrumb__item:not(:last-child)::after {
  content: ">";
  margin-left: 8px;
  color: #999;
  flex-shrink: 0;
}

.breadcrumb__link {
  color: #666;
  text-decoration: none;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.breadcrumb__link:hover {
  color: #0052a3;
  text-decoration: underline;
}

.breadcrumb__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.breadcrumb__label {
  display: none;
}

.breadcrumb__text {
  color: #666;
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (min-width: 768px) {
  .breadcrumb {
    padding: 10px;
  }

  .breadcrumb__list {
    gap: 5px;
  }

  .breadcrumb__item {
    font-size: 12px;
  }
}
