@charset "utf-8";

/* -----------------------------------------------------------
CSS Information

 Style Info:     (z-index オーダー等を必要とする) base コンポーネント
 Used by:        ポータルページ, 店舗ページ
----------------------------------------------------------- */

/* toTopBtn */
.toTopBtnWrapper {
  /* display: none; */
  position: fixed;
  right: 2.5vw;
  bottom: 2.5vw;
}
.toTopBtn {
  width: 17.1875vw;
  height: 17.1875vw;
  background-color: rgba(0,0,0, 0.7);
  border: 1px solid #fff;
}
.toTopBtn a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-size: 38%;
  background-position: center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

.toTopBtnWrapper.bottom_change {
    bottom: 11vw;
}

/*
fixedHeader
--------------------------------------------------------- */
.fixedHeader {
  z-index: 17;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #fff;
}
.fixedHeader h1, .fixedHeader .line {
	/* height: 3vh; */
	/* line-height: 3vh; */
	background-color: #c80037;
	font-size: 12px;
	font-weight: normal;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	padding: 2px 0;
}

.fixedHeaderMenus {
	display: flex;
	align-items: center;
	height: 45px;
	padding: 0 1.5vh;
}
.fixedHeaderMenus .logo {
  width: 35%;
  height: 6vh;
}
.fixedHeaderMenus .logo a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}
.fixedHeaderMenus .nameShort {
  width: 15%;
  margin-left: 1vh;
  font-size: 2.25vh;
  font-weight: bold;
  color: #c80037;
}
.fixedHeaderMenus .fixedHeaderMenusRight {
  width: 50%;
}

.fixedHeaderMenusRight {
  display: flex;
  justify-content: flex-end;
}
.fixedHeaderMenusRight .item {
	list-style: none;
	/* width: 12vw; */
	/* height: 6vh; */
	width: 22%;
	height: 35px;
	margin-right: 1%;
}
.fixedHeaderMenusRight .item:last-child {
	margin-right: 0;
}

.fixedHeaderMenusRight .item a,
.fixedHeaderMenusRight .item div {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: .2s;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

/*
fixedHeader2
--------------------------------------------------------- */
:root {
  --fixedHeader2H1Height: 4vw;
  --fixedHeader2RowHeight: 13vw;
  --fixedHeader2Height: calc(
    var(--fixedHeader2H1Height)
    + var(--fixedHeader2RowHeight)
  );
}
.fixedHeader2 {
  position: sticky;
  top: 0;
  height: var(--fixedHeader2Height);
  border-bottom: 2px solid #c0bfbf;
  background-color: rgba(255, 255, 255, 1);
}
.fixedHeader2.--passedTopPosition {
  background-color: rgba(255, 255, 255, .6);
}
.fixedHeader2H1 {
  height: var(--fixedHeader2H1Height);
}
.fixedHeader2H1 h1 {
  height: 100%;
  line-height: var(--fixedHeader2H1Height);
  overflow: hidden;
  background-color: #bd1837;
  font-size: 3.125vw;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}
.fixedHeader2Row {
  display: flex;
  align-items: center;
  height: var(--fixedHeader2RowHeight);
  padding-left: 3.125vw;
}
.fixedHeader2Row.--spaceBetween {
  justify-content: space-between;
}
.fixedHeader2Row img {
    vertical-align: middle;
}
.fixedHeader2Logo {
  flex: none;
}
.fixedHeader2Logo img {
  width: 28vw;
}
.fixedHeader2LocationList {
  margin-left: .5em;
  margin-right: auto;
  display: flex;
  font-size: 3.125vw;
}
.fixedHeader2Location {
  line-height: 1;
  padding: .25em;
  border-top: 1px solid #323333 !important;
  border-left: 1px solid #323333 !important;
  border-bottom: 1px solid #323333 !important;
  color: #323333 !important;
}
.fixedHeader2Location:last-child {
  border-right: 1px solid #323333;
}
.fixedHeader2BtnList {
  flex: none;

  display: flex;
  align-self: stretch;
}
.fixedHeader2Btn {
  --iconSize: 6vw;

  flex: none;

  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  padding-top: 2vw;
  width: calc(var(--fixedHeader2RowHeight) - 3vw);
}
.fixedHeader2Btn.--menu {
  width: var(--fixedHeader2RowHeight);
  margin-left: 2vw;
  background-color: #bd1837;
  color: #fff;
}
.fixedHeader2BtnIcon {}
.fixedHeader2BtnIcon img {
  width: var(--iconSize);
  height: var(--iconSize);
  object-fit: contain;
}
.fixedHeader2BtnText {
  font-size: 3.125vw;
  transform: scale(.6);
  white-space: nowrap;
}
.fixedHeader2BtnText.--black {
  color: #323333;
}
.fixedHeader2HamburgerIcon {
  position: relative;
  width: var(--iconSize);
  height: var(--iconSize);
}
.fixedHeader2HamburgerIcon.--white {}
.fixedHeader2HamburgerIconItem {
  --lineSize: 3px;

  position: absolute;
  left: 0;
  width: 100%;
  height: var(--lineSize);
  transition: .2s;
}
.fixedHeader2HamburgerIcon.--white .fixedHeader2HamburgerIconItem {
  background-color: #fff;
}
.fixedHeader2HamburgerIconItem:nth-child(1) {
  top: 0;
}
.fixedHeader2HamburgerIconItem:nth-child(2) {
  top: calc(50% - (var(--lineSize) / 2));
}
.fixedHeader2HamburgerIconItem:nth-child(3) {
  top: calc(100% - var(--lineSize));
}
.fixedHeader2Btn.show .fixedHeader2HamburgerIconItem:nth-child(1) {
  top: calc(50% - (var(--lineSize) / 2));
  transform: rotate(45deg);
}
.fixedHeader2Btn.show .fixedHeader2HamburgerIconItem:nth-child(2) {
  opacity: 0;
}
.fixedHeader2Btn.show .fixedHeader2HamburgerIconItem:nth-child(3) {
  top: calc(50% - (var(--lineSize) / 2));
  transform: rotate(-45deg);
}

/*
drawerMenu
--------------------------------------------------------- */
.drawerMenu {
  z-index: 16;
  position: fixed;
  left: 0;
  top: -100%;
  width: 100%;
  height: 86vh;
  transition: .2s;
  overflow-y: hidden;
  background-color: rgba(51, 51, 51, 0.85);
}
.fixedHeader2 ~ .drawerMenu {
  height: calc(100% - var(--fixedHeader2Height));
}
.drawerMenu.show {
  top: 8vh;
}
.fixedHeader2 ~ .drawerMenu.show {
  top: var(--fixedHeader2Height);
}
.drawerMenu .scroll {
  width: 100%;
  height: 100%;
  padding: 5vw 2vw 50vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

/* drawerMenuClose */
.drawerMenuClose {
  width: 4em;
  margin: auto;
  line-height: 1;
  cursor: pointer;
  border-bottom: 1px solid #ffffff;
  background-position: right center;
  background-size: auto 1em;
  background-repeat: no-repeat;
  color: #ffffff;
}

/*
breadCrumb
----------------------------------------------------------*/
.breadCrumbWrapper {
  width: 100%;
  height: 2em;
  overflow: hidden;
  font-size: .76rem;
}
#breadCrumb {
  width: 100%;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  background-color: #eeeeee;
  font-size: inherit;
}
#breadCrumb ol {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  padding: 0 .5em;
  font-size: inherit;
}
#breadCrumb ol li {
  line-height: 2em;
  padding: 0 .25em 0 0;
  font-size: inherit;
  white-space: nowrap;
  font-size: 3.125vw;
}
#breadCrumb ol li::after {
  margin: 0 0 0 .25em;
  font-size: inherit;
  color: #333333;
  content: "＞";
}
#breadCrumb ol li:last-child::after {
  display: none;
}
#breadCrumb ol li a,
#breadCrumb ol li span {
  font-size: inherit;
  color: inherit;
}
#breadCrumb ol li a {
  text-decoration: none;
  color: #c80037;
}
#breadCrumb ol li a span {
  color: inherit;
}
#breadCrumb ol li span {
  color: #333333;
}

/*
z-index order
--------------------------------------------------------- */
/* wrapper */
.siteWrapper {
  z-index: 1;
}
/* トップに戻るボタン */
.toTopBtnWrapper {
  z-index: 101;
}
/* 絞り込み検索ボタン */
.cSearchFilterBtnContainer {
  z-index: 102;
}
/* ヘッダーカスタム */
.cFixedElementContainer {
  display: none;
  z-index: 103;
}
/* ドロワーメニュー */
.drawerMenu {
  z-index: 104;
}
/* 固定ヘッダー */
.fixedHeader {
  z-index: 105;
}
.fixedHeader2 {
  z-index: 105;
}
