/* ========================================================================
ResetCss
======================================================================== */
/* 要素 フォントサイズ・マージン・パディングをリセット */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  font-weight: normal;
  vertical-align:baseline;
  background:transparent;
}

/* 行の高=フォントサイズ */
body {
  line-height:1;
}

/* 新規追加要素をブロック要素化 */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

/* ulのマーカー非表示 */
ol, ul {
  list-style: none;
}

/* 引用符の非表示 */
blockquote, q {
  quotes:none;
}

/* blockquote要素、q要素の前後にコンテンツ非表示 */
blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

/* フォントサイズ　リセット フォントの縦方向 ベースライン揃え 点線削除 */
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  outline: none;
  text-decoration: none;
}

/* ins要素 デフォルトセット 色を変える場合はここで変更 */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* mark要素 デフォルトセット 色やフォントスタイルを変える場合はここで変更 */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

/* テキスト 打ち消し線 */
del {
  text-decoration: line-through;
}

/* IE　デフォルトで点線を下線表示設定　下線設定 マウスオーバー時 ヘルプカーソル表示可 */
abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

/*　隣接するセルのボーダーを重ねて表示　*/
table {
  border-collapse:collapse;
  border-spacing:0;
}

/* 水平罫線デフォルトリセット */
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

/* 縦方向の揃え 中央揃え */
input, select {
  vertical-align:middle;
}

/* 画像を縦に並べた時に余白0 */
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*画像レスポンシブ*/
img {
  max-width: 100%;
  height: auto;
}

/*改行のweb際のBR高さバグ修正*/
br {
  line-height: inherit;
}

/*  レスポンシブ用
-------------------------------------------------------------*/
/*  pcのみ  */
.sp-only {display: none !important;}
.pc-only {display: block !important;}

/*  spのみ  */
@media screen and (max-width: 999px) {
  .pc-only {display: none !important;}
  .sp-only {display: block !important;}
}

/*  共通
-------------------------------------------------------------*/
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
}

@media screen and (max-width: 1920px) {
  html {
    font-size: 0.7142857vw;
  }
}

@media (max-width: 999px) {
  html { font-size: 62.5%; }
}


body{
  font-family: "Noto Sans JP", sans-serif;
  background: none;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0px;
  line-height: normal;
  font-size: 1.4rem;
  color: #000000;
  counter-reset: number 0;
  font-weight: 400;
  line-height: 1.71428571;
}

.en {font-family: "Montserrat", sans-serif; font-weight: 500;}

a {transition: all .2s; -webkit-transition: all .2s; -moz-transition: all .2s; -ms-transition: all .2s; color: #505050;}
a:hover {opacity: 0.7; transition:.2s all; text-decoration: none;}
a img {transition:.2s all;}
a img:hover {opacity: 0.7; transition:.2s all;}
button {transition:.2s all;}
button:hover {opacity: 0.7; transition:.2s all;}
form {margin: 0;}

main {position: relative; z-index: 1;}
.inner {width: 100%; max-width: 120rem; margin: 0 auto; position: relative;}
.inner.small {max-width: 1100px;}
.list {display: flex; flex-wrap: wrap;}

@media screen and (max-width: 999px) {
 .list {flex-direction: column;}
}

.l-main {padding-top: 7rem;}
.l-main.is-top {margin-top: 2.9rem;}


.c-item-list__btn svg {fill: #fff; width: 2.7rem; height: 2.3rem;}
.c-item-list__btn svg path {stroke: #000;}
.c-item-list__btn.is-added svg {fill: #8C1D24;}
.c-item-list__btn.is-added svg path {stroke: #8C1D24;}

@media screen and (max-width: 999px) {
  .l-main.is-top {margin-top: 0rem;}
}

/* パンクズ
-------------------------------------------------------------*/
.breadcrumbs {width: 100%; max-width: 120rem; margin: 0 auto 4rem; padding-top: 2rem;}
.breadcrumbs ul {display: flex; align-items: center; font-size: 1.4rem;}
.breadcrumbs ul li:last-child span {display: none;}

@media screen and (max-width: 999px) {
  .breadcrumbs {overflow-x: scroll;}
  .breadcrumbs ul {white-space: nowrap; width: max-content; padding: 0 2rem;}
}

/* =================================================================
共通
=================================================================*/

.cmn-title {font-size: 2.8rem; font-weight: 500; text-align: center;}
.cmn-title .sub {letter-spacing: 0.7px; font-size: 1.4rem; display: block; font-weight: 600;}
.title-wrap p {text-align: center;}

.link {display: flex; align-items: center; gap: 1.1rem; font-size: 1.3rem;}
.link::after {content: ""; display: block; width: 2rem; height: .6rem; background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/link_arrow.svg); background-size: cover;}

.link.black::after {background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/link_arrow_black.svg);}

.link.blank {gap: .5rem;}
.link.blank::after {background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/link_blank.svg); width: 2.2rem; height: 2.2rem;}


@media screen and (max-width: 999px) {
  .cmn-title {font-size: 2rem;}
  .cmn-title .sub {text-align: center;}
  .u-container {padding: 0 2rem;}
}

/* =================================================================
ヘッダー
=================================================================*/
.l-header-main {height: 7rem; padding: .6rem 0 .5rem; max-width: 120rem;}
.l-header-main__in {z-index: 1000;}
.l-header-logo__img {height: auto;}
.l-header-logo__img img {width: 12.3rem; height: 5.9rem; max-width: 100%; max-height: 100%;}

.l-main-navi h2 {display: none;}
.l-main-navi-list {position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; height: 7rem; align-items: center;}
.l-main-navi-list__link {font-size: 1.4rem; display: flex; align-items: center; gap: .6rem; padding: 0; opacity: 1; color: #000; line-height: 1;}
.l-main-navi-list__link:hover {color: #8C1D24; opacity: 1;}
.l-main-navi-list__link:before {border: 0; content: ""; width: 11px; height: 5px; background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/header_link_arrow.svg); background-size: cover; transform: rotate(0deg); position: relative; order: 2; margin: 0; bottom: -.3rem; right: 0;}
a.l-main-navi-list__link:before {display: none;}
.l-main-navi-list__link.is-on:before {transform: rotate(0deg); margin-top: 0; background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/header_link_arrow_on.svg);}
.l-main-navi-list__link.is-on {color: #8C1D24; opacity: 1;}
.l-main-navi-list__link .title {display: flex; flex-direction: column; gap: .2rem;}
.l-main-navi-list__link .en {font-size: .8rem; display: block;}
.l-main-navi-list__item {margin-right: 2rem;}

.l-dropdown-menu {top: 7rem}
.l-header-help__btn {display: flex; align-items: center; justify-content: center;}
.l-header-help__btn {width: 3.4rem; height: 3.4rem;}

.l-header-search__btn img {width: 2rem;}
.l-header-search__contents {width: 3.4rem;}
.l-header-search__input input {height: 3.4rem; background: none;}
.l-header-search__submit {width: 3.4rem; height: 3.4rem;}
.l-header-search__submit img {width: 2rem; height: 2rem;}
.l-header-search__contents.is-on .l-header-search__form {border-bottom: 1px solid #000; background: #fff; box-shadow: none;}
.l-header-search__contents.is-on .l-header-search__submit {background: #fff;}

.l-header-fav a {box-sizing: border-box; display: flex; align-items: center; justify-content: center; position: relative; width: 3.4rem; height: 3.4rem; text-align: center; padding: 0;}
.l-header-fav a img {width: 2rem; height: 2rem;}
.l-header-account {margin: 0;}
.l-header-account a {box-sizing: border-box; display: flex; align-items: center; justify-content: center; position: relative; width: 3.4rem; height: 3.4rem; text-align: center; padding: 0;}
.l-header-account__btn img {width: 2rem; height: 2rem;}
.l-header-cart {margin: 0;}
.l-header-cart a {width: 3.4rem; height: 3.4rem;}
.l-header-cart-btn img {width: 2rem; height: 2rem;}

.l-dropdown-menu {padding: 2rem 0 2.1rem 0; background: #fff;}
.l-dropdown-menu-list {justify-content: center; gap: 1.3rem 4rem; margin: auto;}
.l-dropdown-menu-list.origin {max-width: 67rem;}
.l-dropdown-menu-list__item {width: auto; font-size: 1.4rem; font-weight: 400; padding: 0; margin: 0;}

.l-header-search__overlay {background: rgba(0, 0, 0, 0.5);}

@media screen and (max-width: 768px) {
  .l-header-main {padding: 0 6rem 0 2rem;}
  .l-header-logo__img {height: auto;}
  .l-header-logo__img img {width: 10.9rem; height: auto; max-width: 100%; max-height: 100%;}

  .l-menu-btn span {height: 1px;}
  .l-menu-btn span:nth-of-type(2) {width: 15px; left: 29px;}

  .l-menu-btn {top: -4px;}
  .l-sp-header-cart-btn {margin-right: 0;}
  .l-sp-header-cart-btn img {width: 2.5rem; height: 2.5rem;}
  .l-sp-header-cart-btn__link {padding: 0;}
  .l-menu-btn span:nth-of-type(1) {top: 2.8rem;}
  .l-menu-btn span:nth-of-type(2) {top: 3.5rem;}
  .l-sp-header-cart-btn__count {right: -6px; background-color: #8C1D24;}
  .l-menu-btn.is-on span:nth-of-type(2) {width: 25px; left: 19px;}

  .l-header-account,
  .l-header-fav {display: none;}

  .l-main-navi h2 {font-size: 1.6rem; font-weight: 600; display: block;}
  .l-main-navi h2 span {font-size: 1.2rem; font-weight: 600; margin-left: 1rem; display: inline-block;}

  .l-sp-header-help__ttl {font-size: 1.6rem; font-weight: 600; margin-bottom: 2rem;}
  .l-sp-header-help__ttl span {font-size: 1.2rem; font-weight: 600; margin-left: 1rem; display: inline-block;}


  .l-main-navi .u-container {padding: 0;}
  .l-dropdown-menu {margin-bottom: 0; border-top: 1px solid #000;}
  .l-dropdown-menu-list {background: #fff; padding: 0;}

  .l-main-navi-list {height: auto; position: static; border-bottom: 1px solid #000;}
  .l-main-navi-list__item {margin-right: 0; border-top: 1px solid #000;}
  .l-main-navi-list__item:nth-child(1) {border-top: 0;}
  .l-main-navi-list__link {padding: 2.2rem 2rem 1.8rem 0rem; justify-content: space-between;}
  a.l-main-navi-list__link:before {display: block; transform: rotate(-90deg);}
  .l-main-navi-list__link:after {display: none;}
  .l-main-navi-list__link .en {display: none;}

  .l-sp-header-search__form {border: 0; border-bottom: 1px solid #000;}

  .l-sp-header-help-box {border: 0; padding: 0;}
  .l-sp-header-help-list {margin: 0; display: flex; flex-direction: column; gap: 3rem; border: 0;}
  .l-sp-header-help-list__item {border: 0;}
  .l-sp-header-help-list__link {padding: 0; font-size: 1.4rem;}
}


/* =================================================================
フッター
=================================================================*/
.l-footer {padding: 0;}

.footer-linkarea {background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/footer-linkarea_bg.jpg); background-size: cover;}
.footer-linkarea .inner {display: flex; align-items: center; height: 30rem; color: #fff;}
.footer-linkarea h2 {font-size: 2rem; font-weight: 700;}
.footer-linkarea ul {display: flex; align-items: center; gap: 2rem;}
.footer-linkarea ul a {color: #fff;}
.footer-linkarea .site-links {width: 50%; height: 20.4rem; display: flex; flex-direction: column; justify-content: center;}
.footer-linkarea .sns-links {width: 50%; height: 20.4rem; padding-left: 19.9rem; border-left: 1px solid #fff; display: flex; flex-direction: column; justify-content: center;}

.l-footer-main {background: #000; padding: 5.5rem 0 4.5rem;}
.l-footer-main .inner {display: flex; justify-content: space-between;}
.l-footer-main .l-footer-shopinfo {display: flex; flex-direction: column; gap: 7.9rem; color: #fff;}
.l-footer-main .copy {color: #fff; font-size: 1rem;}

.l-footer-main .l-footer-navi {justify-content: flex-end; gap: 6rem; width: auto;}
.l-footer-navi-list {width: auto;}
.l-footer-navi-list:nth-child(3) {width: auto;}
.l-footer-navi-list__item {font-size: 1.2rem;}
.l-footer-navi-list__item a {color: #fff;}

@media screen and (max-width: 999px) {
  .l-footer {padding: 10rem 0 0;}
  .l-footer-shopinfo__logo img {max-width: 18.3rem;}
  .footer-linkarea {background-image: url(https://file001.shop-pro.jp/PA01520/982/img/common/footer-linkarea_bg_sp.jpg);}
  .footer-linkarea .inner {flex-direction: column; height: auto; padding: 7.9rem 2rem 5.7rem;}

  .footer-linkarea .site-links {width: 100%; height: auto; padding-bottom: 2rem;}
  .footer-linkarea .sns-links {padding: 0; width: 100%; height: auto; padding-top: 2rem; border: 0; border-top: 1px solid #fff;}
  .footer-linkarea ul {flex-wrap: wrap; padding-right: 3rem; max-width: 31rem;}

  .l-footer-navi-list {margin-bottom: 4rem;}
  .l-footer-navi-list__item {margin-bottom: 3rem;}

  .l-footer-main {padding: 8rem 0 3rem;}
  .l-footer-main .inner {flex-direction: column;}
  .l-footer-main .copy {text-align: center; margin-top: 2rem;}
}


/* =================================================================
favorite-items
=================================================================*/
.favorite-items {padding-top: 12rem;}
.favorite-items .list {margin-top: 6rem; gap: 2rem;}
.favorite-items .list a {width: calc((100% - 2rem * 7) / 8);}
.favorite-items .list a h3 {margin-top: 1rem; color: #8C1D24;}
.favorite-items .list a img {aspect-ratio: 1 / 1; object-fit: contain; width: 100%; height: auto;}

@media screen and (max-width: 999px) {
  .favorite-items {padding-top: 8rem;}
  .favorite-items .inner {overflow: hidden;}
  .favorite-items .list-wrap {overflow-y: scroll; padding-left: 2rem;}
  .favorite-items .list {flex-direction: row; white-space: nowrap; width: max-content; padding-right: 2rem; margin-top: 4rem;}
  .favorite-items .list a {width: 12rem;}
}


/* =================================================================
.p-shopguide
=================================================================*/
.p-shopguide {padding-top: 16.8rem; padding-bottom: 15rem;}
.p-shopguide-wrap {margin-top: 6rem; gap: 6rem;}
.p-shopguide-column {padding: 0; width: calc((100% - 6rem*2) / 3);}
.p-shopguide-column:nth-child(2) {border: 0; width: calc((100% - 6rem*2) / 3);}
.p-shopguide-box__ttl {color: #8C1D24; display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid #8C1D24; padding-bottom: 1.5rem;}
.p-shopguide-box__ttl span {color: #8C1D24;}
.p-shopguide__ttl {font-size: 1.6rem; margin-bottom: 1.4rem;}
.p-shopguide__body {font-size: 1.4rem; margin-bottom: 3rem;}


/* =================================================================
top-search
=================================================================*/
.top-search {padding-top: 12rem;}
.top-search .inner {display: flex; flex-direction: column; gap: 6rem; margin-top: 6rem;}
.top-search .inner h3 {text-align: center; font-size: 2.4rem; margin-bottom: 3rem; font-weight: 500; display: flex; flex-direction: column; align-items: center; line-height: 1; gap: .5rem;}
.top-search .inner h3 .en {font-size: 1.2rem;}
.top-search .list {gap: 4.4rem;}
.top-search .list a {width: calc((100% - 4.4rem * 3) / 4); display: block; font-size: 1.5rem;}
.top-search .list h4 {margin-top: 1rem; font-size: 1.5rem;}
.top-search .text-links .list {gap: 4rem;}
.top-search .text-links .list a {width: calc((100% - 4rem * 4) / 5); display: flex; justify-content: center; align-items: center; padding: 1.2rem 2.3rem; border: 1px solid #000;}
.top-search .text-links .list a:hover {color: #8C1D24; border-color: #8C1D24; opacity: 1;}
.top-search .text-links .list h4 {margin: 0;}

@media screen and (max-width: 999px) {
  .top-search {padding-top: 9rem;}
  .top-search .inner {margin-top: 4rem;}
  .top-search .list {gap: 2rem; flex-direction: row; padding: 0 2rem;}
  .top-search .list a {width: calc((100% - 2rem) / 2);}
  .top-search .text-links .list {gap: 2rem;}
  .top-search .text-links .list a {width: calc((100% - 2rem) / 2); height: 5rem; padding: 0;}
}
