@media print {
  #mainContainer #gnav.fixed {
    position: static;
    top: inherit;
    left: inherit;
  }
}

body {
  -webkit-print-color-adjust: exact;
}

#container section.function01 {
  display: none;
}

.toolBox01 {
  background-color: #670000;
}

#mainContainer {
  position:relative;
  padding-top:80px;
  min-width: 940px;
  width: 100vw;
  overflow: hidden;
  position: relative;
}

#mainContainer .inner {
  width: 940px;
  margin: 0 auto;
}

#mainContainer .sp {
  display: none !important;
}

#mainContainer .alphaOver a:hover img {
  opacity: 0.8;
}

/* Loading */
.loader {
  background: #fef7f5;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10001;
}

.spinner {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 80px;
  height: 20px;
  text-align: center;
}

.spinner .sk-child {
  width: 20px;
  height: 20px;
  background-color: #e40077;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
  animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
}

.spinner .sk-bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .sk-bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-three-bounce {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-three-bounce {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* nav
---------------------------------------------------------*/
/* top */
#gnav {
  position: absolute;
  top: 0;
  background: #520100;
  height: 80px;
  width: 100%;
  min-width:940px;
}

#gnav ul {
  width: 940px;
  margin: 0 auto;
}

#gnav > ul > li {
  float: left;
  border-right: 1px solid #67201e;
}

#gnav > ul > li.active {
  background: url(/~/Media/com/50megumi/201709/top/bg_gnav_active.png) center 70px no-repeat;
}

#gnav > ul > li:hover {
  background: #a00d2f;
}

#gnav > ul > li img:hover {
  opacity: 1;
}

#gnav > ul > li:first-child:hover {
  background: #520100;
}

#mainContainer .face_wrap li {
  padding-top: 37px;
}

#mainContainer .face_wrap li img {
  height: 182px;
  width: auto;
}

/*
			#gnav > ul > li.store {
			margin: 10px 0 0 0;
			float: right;
			border: none;
		}

		#gnav > ul > li.coco {
			margin: 8px 0 0 0;
			float: right;
			border: none;
		}

			#gnav > ul > li.store:hover,
			#gnav > ul > li.coco:hover {
				background: none;
			}
*/
#gnav.fixed {
  position: fixed;
  top: 51px;
  z-index: 999;
  right: 0;
}

#gnav.fixed + div {
  margin-top: 80px;
}

/* btm */
#mainContainer nav.btm {
  padding: 60px 0;
  background: url(/~/Media/com/50megumi/201709/top/bg_gnav_btn.jpg) center top no-repeat;
  background-size: cover;
}

#mainContainer nav.btm > div {
  width: 940px;
  margin: 0 auto;
}

#mainContainer nav.btm a {
  display: block;
}

#mainContainer nav.btm a:hover {
  background-color: #f9f1f1;
}

#mainContainer nav.btm > div > ul {
  float: left;
  margin-left: 7px;
}

#mainContainer nav.btm > div > ul:last-child a:hover {
  background: none;
}

#mainContainer nav.btm > div > ul:last-child a:hover img {
  opacity: 0.8;
}

#mainContainer nav.btm > div > ul li {
  position: relative;
}

#mainContainer nav.btm > div > ul li:after {
  content: "";
  width: 9px;
  height: 9px;
  background: url(/~/Media/com/50megumi/201803/top/icon_arw.png) no-repeat;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -5px;
}
#mainContainer nav.btm > div > ul li.noIcon:after {
	display:none;
}

#mainContainer nav.btm > div > ul:first-child > li:after,
#mainContainer nav.btm > div > ul:nth-child(2) > li:after,
#mainContainer nav.btm > div > ul:nth-child(3) > li:after,
#mainContainer nav.btm > div > ul:nth-child(4) > li:after {
  top: 31px;
  margin-top: 0;
}

#mainContainer nav.btm > div > ul:first-child {
  margin-left: 0;
}

#mainContainer nav.btm > div > ul:last-child li + li,
#mainContainer nav.btm > div > ul:last-child li.coco {
  margin-top: 3px;
}

/*nav.btm > div > ul:last-child li.store {
			margin-top: 15px;
		}*/
/* mega menu
---------------------------------------------------------*/
#gnav > ul > li .mega {
  background: #a00d2f;
  position: absolute;
  top: 80px;
  width: 100%;
  height: 0;
  left: 0;
  z-index: 100;
  padding: 0 0;
  opacity:0;
  overflow:hidden;
  transition: all 0.5s;
  visibility: hidden;
}
#gnav > ul > li:hover .mega {
  opacity:1;
  height: 80px;
  visibility: visible;
}

#mainContainer .mega ul {
  font-size: 0;
  text-align: center;
}

#mainContainer .mega ul li {
  display: inline-block;
}

#mainContainer .mega.height01 {
  height: 240px;
  padding: 40px 0;
}
#mainContainer .mega.height01 ul li {
  margin-left: 40px;
}
#mainContainer .mega.height01 ul li:first-child {
  margin-left: 0;
}

#mainContainer .pagetop {
  /*
	position: fixed;
	right: 25px;
	bottom: 45px;
	cursor: pointer;
	background: #fff;
	border-radius: 4px;
	*/
  display: none !important;
}

/* pagetop
---------------------------------------------------------*/
/*
	#mainContainer .pagetop:hover {
		background-color: #f9f1f1;
	}

	#mainContainer .pagetop.fix {
		position: absolute;
	}
	*/
/* bnrArea
---------------------------------------------------------*/
.bnrArea {
  margin: 40px 0;
  text-align: center;
}

.bnrArea img {
  display: inline-block;
}

/* -------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  /* -------------------------------------------------------------------------------------------------------*/
  #wrapper.fix {
    position: fixed;
    width: 100%;
  }
  #mainContainer {
    padding-top:70px;
    min-width: initial;
    overflow: initial;
    padding-bottom: 0;
    /*
    z-index: 10000;
    */
  }
  #mainContainer .sp {
    display: block !important;
  }
  #mainContainer .pc {
    display: none !important;
  }
  #mainContainer .inner {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  #mainContainer .alphaOver a:hover img {
    opacity: 1;
  }
  /* nav
---------------------------------------------------------*/
  #gnav.fixed {
    top: 0;
  }
  #gnav.fixed + div {
    margin-top: 70px;
  }
  #mainContainer {
    /*
		nav ul ul a,
		nav .menu > ul li:nth-child(n+2) a,
		nav ul:nth-child(n+5) a {
			background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw01.png) right 9% center no-repeat;
			background-size: 16px;
		}*/
  }
  #mainContainer nav a {
    display: block;
    position: relative;
  }
  #mainContainer nav ul ul {
    display: none;
  }
  #mainContainer nav ul ul a {
    background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw01.png) right 9% center no-repeat;
    background-size: 16px;
  }
  #mainContainer nav .menu .prd_list li a {
    background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw01.png) right 9% center no-repeat;
    background-size: 16px;
  }
  #mainContainer nav .menu .bnr_clm img {
    width: 100%;
  }
  #mainContainer nav ul li .openIcon {
    position: absolute;
    display: block;
    width: 13%;
    top: 50%;
    right: 15px;
    margin-top: -6.5%;
    background: url(/~/Media/com/50megumi/201709/top/sp/btn_open01.png) no-repeat;
    background-size: 100%;
  }
  #mainContainer nav ul li .openIcon.open {
    background-image: url(/~/Media/com/50megumi/201709/top/sp/btn_close01.png);
  }
  /* top */
  #gnav {
    widht:100vw;
    height: auto;
    min-width:auto;
    left:0 !important;
  }
  #gnav ul {
    width: 100%;
  }
  #gnav ul li {
    float: none;
    border-bottom: 1px solid #ae314e;
  }
  #gnav ul li .noLink {
  	position:relative;
  	display:block;
  }
  #gnav ul ul li {
    background: #84091d;
  }
  #gnav ul ul li:last-child {
    border: none;
  }
  #gnav .head {
    height: 70px;
    background: #520100;
    position: relative;
    z-index: 101;
  }
  #wrapper.fix .head {
    position: fixed;
    top: 71px;
    width: 100%;
    z-index: 1000;
    left: 0;
    right: 0;
  }
  #wrapper.fix header {
    z-index: 999;
    position: relative;
  }
  #wrapper.fixed .head {
    top: 0;
  }
  #gnav .head .logo {
    width: 55px;
    padding: 7px 0 0 7px;
    float: left;
  }
  #gnav .menu {
    position: absolute;
    background: #a00d2f;
    height: 100%;
    width: 100%;
    z-index: 100;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0;
    box-sizing: border-box;
    display: none;
  }
  #gnav.fixed .menu {
    position: fixed;
    height: 100% !important;
    padding-bottom: 140px;
    top: calc(71px + 70px);
  }
  #wrapper.fix .menu {
    position: fixed;
    height: 100% !important;
    padding-bottom: 140px;
    top: calc(71px + 70px);
  }
  #wrapper.fixed .menu {
    padding-bottom: 70px;
    top: 70px;
  }
  #gnav p.menuBtn {
    width: 119px;
    height: 43px;
    float: right;
    margin: 14px 13px 0 0;
    background: url(/~/Media/com/50megumi/top/20200306/btn_menu_open.png);
    background-size: 100%;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }
  #gnav p.menuBtn.open {
    width: 45px;
    background-image: url(/~/Media/com/50megumi/201709/top/sp/btn_menu_close.png);
  }
  #gnav ul.bnr {
    padding: 10px 20px 20px;
    box-sizing: border-box;
  }
  #gnav ul.bnr li {
    margin-top: 10px;
  }
  #gnav p.close {
    background: #520100;
    text-align: center;
  }
  #gnav p.close img {
    width: 100px;
    padding: 24px 0;
    margin: 0 auto;
  }
  #gnav .sp a span img {
    width: 100%;
  }
  /* btm */
  #mainContainer nav.btm {
    width: 100%;
    padding: 0;
    background: none;
  }
  #mainContainer nav.btm > div {
    width: 100%;
  }
  #mainContainer nav.btm a:hover {
    background-color: #fff;
  }
  #mainContainer nav.btm ul ul a,
  #mainContainer nav.btm ul:nth-child(5) a {
    background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw02.png) right 9% center no-repeat;
    background-size: 16px;
  }
  #mainContainer nav.btm ul li {
    margin: 0 !important;
    border-bottom: 1px solid #f5e6ea;
    background: #fff;
  }
  #mainContainer nav.btm ul ul li {
    border-top: 1px solid #f5e6ea;
    border-bottom: none;
  }
  #mainContainer nav.btm ul li .openIcon {
    background-image: url(/~/Media/com/50megumi/201709/top/sp/btn_open02.png);
  }
  #mainContainer nav.btm ul li .openIcon.open {
    background-image: url(/~/Media/com/50megumi/201709/top/sp/btn_close02.png);
  }
  #mainContainer nav.btm ul:nth-child(1) li:first-child a:before,
  #mainContainer nav.btm ul:nth-child(5) li:first-child a:before,
  #mainContainer nav.btm ul:nth-child(5) li:nth-child(2) a:before,
  #mainContainer nav.btm ul:nth-child(5) li:nth-child(3) a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw02.png) right 9% center no-repeat;
    background-size: 16px;
  }
  #mainContainer nav.btm > div > ul {
    float: none;
    margin-left: 0;
  }
  #mainContainer nav.btm > div > ul:last-child a:hover {
    background: url(/~/Media/com/50megumi/201709/top/sp/icon_arw02.png) right 9% center no-repeat;
    background-size: 16px;
  }
  #mainContainer nav.btm > div > ul li:after {
    content: none;
  }
  #mainContainer nav.btm > div > ul li .noLink {
  	position:relative;
  	display:block;
  }
  #mainContainer nav.btm > div > ul:last-child a:hover img {
    opacity: 1;
  }
  #mainContainer nav.btm a > img {
    width: 100%;
    height: auto;
  }
  #mainContainer nav.btm a > img,
  nav.btm a .sp img,
  #mainContainer nav.btm a .sp img {
    width: 100%;
    height: auto;
  }
  /* pagetop
---------------------------------------------------------*/
  /*
	#mainContainer .pagetop {
		right: 10px;
		bottom: 10px;
		width: 50px;
	}

		#mainContainer .pagetop:hover {
			background-color: #fff;
		}
		*/
  /* bnrArea
---------------------------------------------------------*/
  .bnrArea {
    padding: 0 20px;
    margin: 20px 0;
  }
  .bnrArea img {
    width: 100%;
  }
}

/* -------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  /* -------------------------------------------------------------------------------------------------------*/
  #wrapper.fix .head {
    top: 51px;
  }
  #wrapper.fixed .head {
    top: 0;
  }
  #gnav.fixed .menu {
    top: 140px;
  }
  #wrapper.fix .menu {
    top: calc(51px + 70px);
  }
  #wrapper.fixed .menu {
    top: 70px;
  }
}

#container {
  margin-top: -130px;
  padding-top: 130px;
}

@media screen and (max-width: 768px) {
  #container {
    margin-top: -70px;
    padding-top: 70px;
  }
}

/* modal
---------------------------------------------------------*/
.btn_ec_modal {
  max-width: 460px;
  width: auto !important;
  margin: 0 auto;
}

.btn_ec_modal a {
  display: block;
  background: #520100;
}

.btn_ec_modal a:hover {
  background: #a00d2f;
}

.btn_ec_modal a img:hover {
  opacity: 1 !important;
}

html.modal-fixed {
  overflow: hidden;
}

.modalDetail {
  background-color: rgba(82, 1, 0, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 !important;
  width: 100%;
  height: 100%;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s;
}

.modalDetail.open {
  visibility: visible;
  opacity: 1;
}

.modalDetailInner {
  height: 100%;
  overflow: auto;
}

.modalDetailInner02 {
  display: table;
  width: 100%;
  height: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.modalDetailContent {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 30px 20px;
}

.modalDetailContent img {
  display: inline-block;
}

.modalDetailTtl {
  margin: 0 auto 50px;
  max-width: 280px;
}

.modalDetailList {
  font-size: 0;
}

.modalDetailList li {
  display: inline-block;
  width: 23%;
  background: #fff;
}

.modalDetailList li + li {
  margin: 0 0 0 2%;
}

.modalDetailList li a {
  display: block;
}

.modalDetailList li a:hover img {
  opacity: 0.7;
}


.modalDetailList.important {
  font-size: 0 !important;
}

.modalDetailList.important li {
  display: inline-block !important;
  width: 23% !important;
  background: #fff !important;
}

.modalDetailList.important li + li {
  margin: 0 0 0 2% !important;
}

.modalDetailList.important li a {
  display: block !important;
}

.modalDetailList.important li a:hover img {
  opacity: 0.7 !important;
}

.modalDetailClose {
  margin: 50px auto 0;
  max-width: 150px;
  border-radius: 2px;
  border: 1px solid #fff;
  cursor: pointer;
  overflow: hidden;
}

.modalDetailClose:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .modalDetailTtl {
    margin: 0 auto 20px;
    max-width: 185px;
  }
  .modalDetailList li {
    display: block;
    width: auto;
    max-width: 300px;
    margin: 0 auto;
  }
  .modalDetailList li + li {
    margin: 10px auto 0;
  }
  .modalDetailList li img {
    width: 200px;
  }
  .modalDetailClose {
    margin: 30px auto 0;
    max-width: 148px;
  }
  .modalDetailList.important li {
    display: block !important;
    width: auto !important;
    max-width: 300px !important;
    margin: 0 auto !important;
  }
  .modalDetailList.important li + li {
    margin: 10px auto 0 !important;
  }
  .modalDetailList.important li img {
    width: 200px !important;
  }
}



.search {
	margin-bottom:40px;
}
.search.tt {
	margin-top:40px;
}
.search .ttl-02{
	font-family:"Hiragino Mincho ProN",HGS明朝E, "Sawarabi Mincho",serif !important;
	font-size: 36px;
	font-weight:700;
	color: #ca1919;
	display: block;
	margin-bottom: 12px;
	text-align:center;
	margin: 0 0 25px;
}
.search .ttl-02 span{
	font-weight:700;
}
.search .ttl-02 .letter-spacing{
	letter-spacing: -3px;
}
.search .ttl-02:before{
	background: url(/~/Media/com/50megumi/top/lineup/line01.png) no-repeat center 0;
	content: "";
	display: block;
	margin: auto;
	padding: 14px 0 6px;
	background-size: 125px;
}
.search .ttl-02.gothic{
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
.search .ttl-02.gothic:before{
	display:none;
}
.search .search--content01-photo {
	max-width: 439px;
	margin: 0 auto;
}
.search  .search--content01-photo img {
	margin: 0 auto;
}
.search  .search--content01-btns {
	text-align: center;
}
.search  .search--content01-btns.tt01 {
	margin-top:15px;
}
.search  .search--content01-btns a .on {
	display:none !important;
}
.search  .search--content01-btns a .off {
	display:block !important;
}
.search  .search--content01-btns a:hover .on {
	display:block !important;
}
.search  .search--content01-btns a:hover .off {
	display:none !important;
}
.search  .search--content01-btn-detail {
	display: inline-block;
	height: 52px;
	max-width: 202px;
	overflow: hidden;
}
.search  .search--content01-btn-buy {
	display: inline-block;
	height: 52px;
	max-width: 202px;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.search .ttl-02:before{
		background-size: 25.5vw;
		padding: 1.75vw 0 1.25vw;
	}
	.search .ttl-02{
		font-size: 6.5vw;
		margin: 0 0 15px;
	}
	.search  .search--content01-photo {
		max-width: 299px;
		margin: 0 auto 18px;
	}
}

.cm-box{
	max-width: 840px;
	margin: 50px auto 36px;
	box-sizing:border-box;
}
.cm-box .ttl-02{
	font-family:"Hiragino Mincho ProN",HGS明朝E, "Sawarabi Mincho",serif !important;
	font-size: 36px;
	font-weight:700;
	color: #ca1919;
	display: block;
	margin-bottom: 12px;
	text-align:center;
	margin: 0 0 25px;
}
.cm-box .ttl-02 span{
	font-weight:700;
}
.cm-box .ttl-02 .letter-spacing{
	letter-spacing: -3px;
}
.cm-box .ttl-02:before{
	background: url(/~/Media/com/50megumi/top/lineup/line01.png) no-repeat center 0;
	content: "";
	display: block;
	margin: auto;
	padding: 14px 0 6px;
	background-size: 125px;
}
.cm-box .cm--thumb {
	text-align:center;
}
.cm-box .cm--thumb a {
	display:inline-block;
}
.cm-box .cm--thumb a:hover {
	opacity:0.7;
}
.cm-box .cm--thumb a:hover img {
	opacity:1 !important;
}
.cm--head{
	border-bottom: 1px solid #670000;
	margin: 0 0 14px;
}
.cm--head span{
	display: inline-block;
	border-left: 4px solid #670000;
	padding: 0 0 0 6px;
}
.cm--inner{}
.cm--inner:after{
	content:"";
	display: block;
	clear: both;
}
.cm--content{
	float: left;
	max-width: 405px;
	margin: 0 auto 30px;
}
.cm--content2{float: right;}
.cm--name{
	color: #333;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: 4px 0 0 0;
}
.cm--name span{
	font-size: 12px;
	vertical-align: top;
}

@media screen and (max-width: 768px){
	.cm-box{
		width: 100%;
		margin: 40px auto 40px;
		padding:0 15px;
	}
	.cm-box .ttl-02:before{
		background-size: 25.5vw;
		padding: 1.75vw 0 1.25vw;
	}
	.cm-box .ttl-02{
		font-size: 6.5vw;
		margin: 0 0 15px;
	}
	.cm--content{
	float: left;
		width: 48%;
		margin: 0 1%;
	}
}
@media screen and (max-width: 568px){
	.cm--content{
		float: none;
		width: 100%;
		margin: 0 auto 20px;
	}
}

.cm-box02 {
	margin:0 auto 40px;
	width: 600px;
	box-sizing:border-box;
}
.cm-box02 .ttl-02{
	font-family:"Hiragino Mincho ProN",HGS明朝E, "Sawarabi Mincho",serif !important;
	font-size: 36px;
	font-weight:700;
	color: #ca1919;
	display: block;
	margin-bottom: 12px;
	text-align:center;
	margin: 0 0 25px;
}
.cm-box02 .ttl-02 span{
	font-weight:700;
}
.cm-box02 .ttl-02 .letter-spacing{
	letter-spacing: -3px;
}
.cm-box02 .ttl-02:before{
	background: url(/~/Media/com/50megumi/top/lineup/line01.png) no-repeat center 0;
	content: "";
	display: block;
	margin: auto;
	padding: 14px 0 6px;
	background-size: 125px;
}
.cm-box02 .cm--thumb {
	text-align:center;
}
.cm-box02 .cm--thumb a {
	display:inline-block;
}
.cm-box02 .cm--thumb a:hover {
	opacity:0.7;
}
.cm-box02 .cm--thumb a:hover img {
	opacity:1 !important;
}
.cm-box02 .cm--name {
	margin-top:15px;
	font-size:16px;
	font-weight:bold;
	text-align:center;
}

@media screen and (max-width: 768px) {
	.cm-box02 {
		margin:0 auto 40px;
		width: 100%;
		padding:0 15px;
	}
	.cm-box02 .ttl-02:before{
		background-size: 25.5vw;
		padding: 1.75vw 0 1.25vw;
	}
	.cm-box02 .ttl-02{
		font-size: 6.5vw;
		margin: 0 0 15px;
	}
	.cm-box02 .cm--name {
		margin-top:10px;
	}
}


.brand-btn-cart {
	background: #670000;
}
@media screen and (max-width: 768px) {
	.brand-btns.-fixed .brand-btn-cart {
		border-color: #670000;
	}
}