

@charset "utf-8";
/* ==========================================================================
Base
========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
  margin: 0; /* マージンは0に */
  padding: 0; /* パディングも常に0に */
  visibility:visible;
  word-break: break-all;
}

:where([hidden]:not([hidden="until-found"])) {
  display: none !important; /* hiddenは非表示を意味します */
}

:where(html) {
  text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
  color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}

:where(body) {
  line-height: 1.5; /* アクセシブルな行の高さ */
  block-size: 100%; /* サファリ以外のブラウザのフォールバック */
  block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

:where(input, button, textarea, select) {
  color: inherit; /* カラーも継承 */
  font: inherit; /* フォーム コントロールは親フォントを継承 */
}

:where(textarea) {
  resize: vertical; /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role="button"], [role="option"]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(img, picture, svg) {
  max-inline-size: 100%; /* images should never overflow past the available space */
  block-size: auto; /* アスペクト比を保持 */
  width: 100%;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word; /* 長い単語は改行 */
}
p {
	margin:0;
}
:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */
}

:where(hr) {
  overflow: visible;

  /* より一貫性のある、スタイリッシュなhr */
  border: none;
  color: inherit;
  border-block-start: 1px solid;
  block-size: 0;
}

:where(:focus-visible) {
  /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

/* .visually-hiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}
body{
    font-size: 16px;
    font-weight: 500;
}
.item-area {
    max-width: 1200px;
    margin: 0 auto 24vh;
}
.item-area h3 {
    font-size: clamp(24px, 5vw, 39px);
    margin: 0 0 5vh;
}
.item-area h3 span{
    font-size: clamp(14px, 2vw, 30px);
    margin-left: 15px;
}
.item-list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	max-width: 1200px;
	margin: 0 auto;
	width: 95%;
	gap: 190px 5vw;
	list-style: none;
}
.item-box{
	display: grid;
	grid-template-rows: 42% 30% 1fr;
	gap: 10px;
	grid-template-columns: 1fr;
}
@media screen and (max-width:900px){
	.item-list {
	grid-template-columns: repeat(2,1fr);
	gap: 120px 5vw;
	width:90%
	}
  .item-box{
	display: grid;
	grid-template-rows: 33% 30% 1fr;
	gap: 10px;
	grid-template-columns: 1fr;
	}
}
.item-box figure{
	height:100%;
}
.item-box figure img{
	height:100%;
	object-fit:cover
}
.item-detail {
	margin: 0px auto 0;
	width: 95%;
}
p.brand-name {
    font-size: clamp(14px, 2.0vw, 17px);
}
.brand-name span{
	font-size:11px;
}
.item-name {
	font-size: clamp(16px, 2.0vw, 18px);
	margin: 6px 0 11px;
}
.item-name > span {
	padding: 2px 6px;
	border: 2px solid;
	font-size: clamp(11px,1.2vw,14px);
	display: block;
	width: max-content;
	margin: 5px 0 0;
	color: #c12222;
	border-radius: 7px;
}
.item-name span span{
	font-size: clamp(14px,1.7vw,16px);
}
.item-price span {
	font-size: 13px;
	margin: 0 5px 0 0;
}
.item-price {
	font-size: clamp(18px,2.5vw,22px);
	text-align: right;
}
.c-article__body-brand {
  max-width: 430px;
  margin: 20px auto 26px;
  background-color: #fff;
  border: 1px solid #ccc;
  position:relative;
  width: 100%;
}
.c-article__body-brand a::before{
	content:"";
	display:block;
	width:10px;
	height:10px;
	border-top:3px solid;
	border-right:3px solid;
	color:#ffffff;
	position:absolute;
	top:50%;
	right:25px;
	z-index:10;
	transform:translateY(-50%) rotate(45deg);
	transition:0.1s
}
.c-article__body-brand a::after{
	content:"";
	display:block;
	width:30px;
	height:30px;
	background:#c9904d;
	position:absolute;
	top:50%;
	right:13px;
	z-index:9;
	transform:translateY(-50%) rotate(45deg);
	border-radius:50%;
	transition:0.1s
}
.c-article__body-brand a:hover::before{
	right:20px;
}
.c-article__body-brand a:hover::after{
	right:9px;
}
.c-article__body-brand a:has(.-sweets)::after{
	background:#f4948f;
}
.c-article__body-brand a:has(.-bakery)::after{
	background:#c9ae4d;
}
.c-article__body-brand a {
  color: inherit;
  text-decoration: none;
  display: grid;
  padding: 24px 10px;
  grid-template-columns: 76px 1fr;
  align-items: center;
  gap: 8px 12px;
}

@media print, screen and (width >=768px) {
  .c-article__body-brand a {
    padding: 16px 48px 20px 20px;
  }
}
@media screen and (max-width:500px){
	.c-article__body-brand a{
		 padding: 10px 10px 14px;
		 grid-template-columns: max-content;
		 grid-template-rows:50px 1fr;
		 justify-content:center;
		 align-items:center
	}
	.c-article__body-brand a .c-brand-list__link-logo{
		height:100%;
	}
}
.c-brand-list__link-logo {
  overflow: hidden;
  padding: 4px;
  border: 1px solid #ccc;
  border-radius: 50%;
  aspect-ratio: 1/1;
}

.c-brand-list__link-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-brand-list__link-name-en {
  font-size: 14px;
  line-height: 1.5;
}
.c-brand-list__link-name-en span{
  font-size:10px;
  margin-left:5px
}
.c-brand-list__link-name-ja {
  font-size: clamp(9px,1.0vw,11px);
  line-height: 1.5;
}

.c-brand-list__link-category {
  padding: 4px;
  background-color: #c9904d;
  color: #fff;
  font-size: clamp(9px,1.0vw,11px);
  line-height: var(--line-height-s);
  text-align: center;
}
p.c-brand-list__link-category.-sweets{
  background-color: #f4948f;
}
p.c-brand-list__link-category.-bakery{
  background-color: #c9ae4d;
}
.c-brand-list__link-area {
    font-size: clamp(9px,1.0vw,11px);
}



