@charset "Shift_JIS";

/* --------------------------------------------------------------------
145周年記念　シュタイフ展　トップCSS（PC）.mainframe_
--------------------------------------------------------------------- */
.mainframe_ #brand_wrap .senkou {
  width: 100%;
}

.mainframe_ #brand_wrap .senkou p {
  padding: 4px 0;
  background: #D83246;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.45rem;
}

/* ページ上部用CSS（#brand_wrap）
================================================== */

.mainframe_ #brand_wrap .txt {
  margin-bottom: 20px;
  padding: 5px;
  background: #222;
  font-size: 2rem;
  text-align: center;
  color: #fff;
}

/* 既存CSSの打ち消し */
.mainframe_ #brand_wrap .about_content {
  padding: 0 !important;
  text-align: center;
}

/* イベント情報 */
.mainframe_ #brand_wrap .about_content .about_event {
  position: relative;
  width: 500px;
  margin: auto;
  padding: 20px 50px;
  background: #fff8ee;
}

.mainframe_ #brand_wrap .about_content .about_event::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  aspect-ratio: 1;
  margin: 10px;
  border-top: 3px dotted #dbbf89;
  border-left: 3px dotted #dbbf89;
}

.mainframe_ #brand_wrap .about_content .about_event::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  aspect-ratio: 1;
  margin: 10px;
  border-right: 3px dotted #dbbf89;
  border-bottom: 3px dotted #dbbf89;
}

.mainframe_ #brand_wrap .about_content .about_event .lead_txt {
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
}

.mainframe_ #brand_wrap .about_content .about_event .lead_txt span {
  font-size: 18px;
}

.mainframe_ #brand_wrap .about_content .about_event div {
  margin-top: 10px;
  line-height: 1.4;
  text-align: left;
}

.mainframe_ #brand_wrap .about_content .about_event div p {
  display: flex;
}

.mainframe_ #brand_wrap .about_content .about_event div p+p {
  margin-top: 5px;
}

/* ページ下部用CSS（#category_banner_wrap）
================================================== */

.mainframe_ #category_banner_wrap {
  margin-bottom: 60px;
  margin-top: 60px; /* pager無しの時に必要なmargin */
}

.mainframe_ #category_banner_wrap .title {
  position: relative;
  font-size: 30px;
  text-align: center;
  font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'ＭＳ 明朝', serif;
  width: 100%;
  margin:0 auto 20px;
}

.mainframe_ #category_banner_wrap .title span {
  display: inline-block;
  position: relative;
  z-index: 2;
  background: #fff;
  line-height: 1.4;
  padding: 0 2em;
}

.mainframe_ #category_banner_wrap .title::before {
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #888;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* コンテンツ共通リスト */
.mainframe_ #category_banner_wrap ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -6px;
}
.mainframe_ #category_banner_wrap ul:not(:has(> li:nth-child(4))) { justify-content: center; }/* 3個以下のliの場合 */

.mainframe_ #category_banner_wrap ul li {
  box-sizing: border-box;
  width: calc(25% - 12px);
  margin: 0 6px;
  margin-top: 12px;
}
.mainframe_ #category_banner_wrap ul li:nth-child(-n+4) { margin-top: 0; }/* 4列の4番目まで */

.mainframe_ #category_banner_wrap ul li a {
  display: block;
  text-decoration: none;
}

/* リスト */
.mainframe_ #category_banner_wrap ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  box-sizing: border-box;
  border: 2px solid #dfdfdf;
  height: 60px;
  padding: 0 5px;
  text-align: center;
  font-size: 15px;
  line-height: 1.2;
  color: #121212;
}

.mainframe_ #category_banner_wrap ul li a:hover {
  opacity: 1;
  background: #121212;
  border-color: #121212;
  color: #fff;
}

/* 下部回遊ボタン（#around_button_wrap） */
.mainframe_ #around_button_wrap .btn_pageback a::after {
    border-top: 1px solid #fff;
    border-right: none;
    border-bottom: none;
    border-left: 1px solid #fff;
    left: auto;
    right: 12px;
}

.mainframe_ #around_button_wrap .btn_pageback.brand_top a {
  color: #494949;
  background: #fff;
  border: 1px solid #c7c7c7;
}

.mainframe_ #around_button_wrap .btn_pageback.brand_top a::after {
  border-color: #000;
}
