@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kaisei+Decol&family=Noto+Sans+JP:wght@100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");
@import "imports/reset.css";
@import "imports/base.css";
@import "imports/order.css";
@import "imports/user.css";
@import "imports/hack.css";
@import "imports/parts.css";
@import "imports/general_classes.css";
@import "imports/coordinate.css";
@import "imports/silveregg_recommend.css";
@import "./responsive.css";
:root {
  --subBtnBgTx: #0099cc;
  --fonsetM: "Rubik", "Noto Sans JP", sans-serif;
  --subBtnBg: #fff;
  --fsize3L: 30px;
  --fsize2L: 24px;
  --fsizeL: 20px;
  --fsizeM: 16px;
  --fsizeD: 14px;
  --fsizeS: 12px;
  --main-width: 1200px;
  --slim-width: 1000px;
  --wide-width: 100%;
  --marginS: 12px 0;
  --marginM: 20px 0;
  --marginL: 24px 0;
  --black: #333;
  --lightGray: #f8f8f8;
  --Accolor: #0099cc;
  --saleccolor: #0099cc;
  --normalBtnwidth: 340px;
  --nextBtnColor: #333;
  --borderBtnColor: #fff;
  --mb_normal: 12px;
  --mb_large: 20px;
  --mb_short: 12px;
  --mb_mini: 8px;
  --padLL: 60px;
  --box-pad-ss: 16px;
  --box-pad-m: 32px;
  --box-pad-s: 20px;
}

@media screen and (max-width: 767px) {
  :root {
    --main-width: 100%;
    --slim-width: 100%;
    --fsize2L: 20px;
    --fsizeL: 18px;
    --fsizeD: 13px;
  }
}
.u-font-rubik {
  font-family: "Rubik", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

html {
  scrollbar-color: black transparent;
}

body {
  background-color: #F5F4F2;
}

.font-cardo {
  font-family: "Cardo", serif;
}

header {
  font-family: var(--fonsetM);
}

::placeholder {
  font-family: var(--font-en);
  color: #ccc !important;
}

select, input[type=text], input[type=password], input[type=email], input[type=tel] {
  padding: 4px 10px;
  margin: 5px 0;
  font-size: var(--fsizeD);
  border: 1px solid #ccc;
  border-radius: 4px;
  max-width: 600px;
}

#dvUserBox h2,
.ttlH2 {
  font-family: var(--fonsetM);
  padding-top: 40px;
  text-align: center;
  font-size: var(--fsize2L);
  margin-bottom: var(--mb_large);
}

.toppickup .ttlH3 {
  text-align: center;
  font-family: var(--fonsetM);
  font-size: var(--fsize2L);
  margin-bottom: 40px;
}

.sTtl {
  font-size: var(--fsizeL);
  padding: 10px 0;
  margin-bottom: var(--mb_normal);
  background: unset;
  color: #333;
  border-radius: 0;
  margin-bottom: 24px;
  border-bottom: 2px solid #333;
  font-weight: 600;
}

.mt3L {
  margin-top: var(--padLL);
}

.BtnFlex {
  display: flex;
  gap: 20px;
  margin: 40px 0;
  text-align: center;
  flex-direction: row-reverse;
  justify-content: center;
}

.btnBasic {
  text-decoration: none !important;
  width: var(--normalBtnwidth);
  font-size: var(--fsizeM);
  display: inline-block;
  text-align: center;
  padding: 12px 8px;
  border-radius: 0px;
}

.dark {
  color: #fff;
  background: var(--nextBtnColor);
  border: 1px solid #333;
}

.wht {
  color: #222;
  border: 1px solid #ccc;
  background: #ccc;
}

.menu-btn {
  margin: 16px;
  display: flex;
  height: 22px;
  position: relative;
  width: 34px;
  justify-content: center;
  align-items: center;
  z-index: 999;
  margin-bottom: 4px;
  margin-top: 12px;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: "";
  display: block;
  height: 2px;
  width: 25px;
  border-radius: 3px;
  background-color: #333;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  background-color: #333;
  transform: rotate(45deg);
}

#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  background-color: #333;
  transform: rotate(-45deg);
}

.menu-content {
  font-size: var(--fsizeD);
  width: 300px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  background-color: #fff;
  box-shadow: -2px 0 12px #999 !important;
}

.menu-content ul {
  width: 100%;
}

.menu-content {
  padding: 122px 15px 0 15px;
  width: 320px;
  height: 100%;
  position: fixed;
  box-shadow: 5px 0 10px #ccc;
  top: 0px;
  left: -450px;
  z-index: 80;
  background-color: #fff;
  transition: all 0.5s;
}

#menu-btn-check:checked ~ .menu-content {
  left: 0;
}

.mincho {
  font-family: "Shippori Mincho B1", serif;
}

header {
  z-index: 999;
  position: fixed;
  width: 100%;
  top: 0;
}

.headFlex {
  position: relative;
  padding: 32px 40px 16px 40px;
  display: flex;
  justify-content: center;
  width: 100%;
  align-items: center;
}

.headFlex .logo {
  max-width: 100%;
  width: 350px;
  text-align: center;
  margin: 0;
}

.headFlex .logo img {
  width: 100%;
}

.headFlex .icArea {
  display: flex;
  padding-right: 12px;
  align-items: center;
}

.headFlex .icArea a {
  position: relative;
  padding: 0 8px;
  text-align: center;
}

.headFlex .icArea a span {
  display: block;
  font-size: 10px;
  text-align: center;
  font-weight: 500;
}

.hamburger-menu {
  color: #333;
  position: absolute;
  left: 40px;
  top: 32px;
  border-radius: 6px;
  width: 20px;
  height: 25px;
}

.menuname {
  font-size: 10px;
  text-align: center;
  display: block;
  font-weight: 500;
  margin-top: 4px;
}

.headFlex .icArea .num {
  position: absolute;
  top: -10px;
  right: -16px;
  background: #333;
  color: #fff;
  zoom: 0.8;
  padding: 4px;
  border-radius: 100%;
  font-size: 10px;
  width: 24px;
  font-weight: bold;
  line-height: 18px;
}

.headFlex .icArea img {
  height: 32px;
}

.headFlex .icArea .cartic {
  position: relative;
}

.headFlex .icArea .cartic span {
  position: absolute;
  top: 0;
  right: 0;
}

.isPC {
  display: block;
}

.menu-content ul li {
  padding: 10px;
  list-style: none;
  font-weight: 500;
}

#menu-btn-check {
  display: none;
}

.menu-content ul li a {
  display: block;
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box;
  text-align: left !important;
  text-decoration: none;
  position: relative;
}

.menu-content ul li a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  transform: rotate(45deg);
  position: absolute;
  right: 2px;
  top: 8px;
}

.zoomContainer {
  display: none;
}

.pcmenu {
  width: 1000px;
  flex-wrap: wrap;
  margin: 0px auto;
  display: flex;
  gap: 30px;
  justify-content: center;
  padding: 40px 0;
}

.pcmenu li {
  width: auto !important;
  min-width: 150px;
}

.dlFlex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#detailImage .subImage {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.subImage li {
  flex-basis: calc((100% - 40px) / 4);
  max-width: calc((100% - 40px) / 4);
  margin-top: 20px;
}

.btn.disabled, .btn[disabled] {
  cursor: default;
  background-color: #f4f4f4 !important;
  border: 1px solid #f4f4f4;
  color: #888 !important;
  text-shadow: none;
  background-image: none;
  opacity: 1;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.center {
  text-align: center;
}

.sougoukei {
  font-size: 26px;
  font-weight: bold;
  border-bottom: 3px solid #222;
  width: auto;
  display: inline-block;
}

.boxttl {
  font-size: 18px;
  padding: 0 0 0px 0;
  font-weight: bold;
  margin-bottom: 0;
}

.opencate {
  position: relative;
  padding: 5px 10px;
  background: #41B1AC;
  border-radius: 40px;
  color: #fff;
  font-weight: bold;
  width: 116px;
}

.opencate::before {
  left: 3px;
  width: 3px;
  height: 3px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.arrow2 {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}

.arrow2 {
  content: "";
  width: 9px;
  height: 16px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(135deg);
  position: absolute;
  right: 16px;
  top: 12px;
  zoom: 0.8;
}

.on .arrow2 {
  rotate: 180deg;
  top: 20px;
}

.spcategory select {
  width: 100% !important;
}

.spSearchTx input {
  width: 100% !important;
}

.spSearchBtn {
  text-align: right;
}

.spSearchBtn a {
  text-align: center;
  color: #fff !important;
  font-size: 13px !important;
  border: 1px solid #333;
  background: #333;
  border-radius: 3px;
  padding: 6px 8px !important;
  width: 72px !important;
  display: inline-block !important;
  margin: 1px 0 0 0 !important;
}

.productList h3 {
  margin-bottom: 0px !important;
}

@media screen and (max-width: 767px) {
  .headFlex {
    padding: 24px;
  }
  .headFlex .logo {
    width: 200px;
  }
  #FootNav {
    gap: 10px;
  }
  #FootNav li {
    width: 100%;
  }
  .opencate {
    display: none;
  }
  .CartOption {
    font-size: 12px;
  }
  .userPointContent {
    border-bottom: 0 !important;
  }
  #dvUserBox #dvOrderHistoryDetail table th,
  #dvUserBox #dvUserModifyInput table th, #dvUserBox #dvUserModifyConfirm table th, #dvUserBox #dvUserShippingInput table th,
  #dvUserBox #dvUserRegistInput table th, #dvUserBox #dvUserRegistConfirm table th, #dvUserBox #dvFixedPurchaseDetail table th,
  #dvUserBox #dvFixedPurchaseList table th,
  #dvUserBox #dvFixedPurchaseDetail table th,
  #dvUserBox #dvPasswordReminderInput .dvReminder table th,
  #dvUserBox #dvPasswordModifyInput .dvModify table th {
    border: 0;
    display: block;
    padding: 10px;
    width: 100%;
    text-align: left;
  }
  #dvUserBox #dvOrderHistoryDetail table td, #dvUserBox #dvUserModifyInput table td, #dvUserBox #dvUserModifyConfirm table td,
  #dvUserBox #dvUserShippingInput table td, #dvUserBox #dvUserRegistInput table td, #dvUserBox #dvUserRegistConfirm table td,
  #dvUserBox #dvFixedPurchaseDetail table td,
  #dvUserBox #dvFixedPurchaseList table td,
  #dvUserBox #dvPasswordReminderInput .dvReminder table td,
  #dvUserBox #dvPasswordModifyInput .dvModify table td {
    padding: 10px 20px;
    display: block;
    width: 100%;
  }
  #dvUserBox #dvFixedPurchaseList table table td, #dvUserBox #dvOrderHistoryDetail table table td {
    padding: 10px 0px !important;
  }
  #dvUserBox #dvOrderHistoryList table th {
    border: 0;
    display: block;
    padding: 10px;
    width: 100%;
    text-align: left;
  }
  .dvFixedPurchaseDetail td small {
    font-size: 12px;
  }
  #dvUserBox #dvOrderHistoryList table td {
    display: block;
    padding: 10px 10px;
  }
  #dvUserBox #dvOrderHistoryList table td table {
    margin-bottom: 0;
  }
  #dvUserBox #dvOrderHistoryList table td table td {
    display: block;
    padding: 0px !important;
  }
  #dvUserBox #dvOrderHistoryList table, #dvUserBox #dvOrderHistoryDetail table,
  #dvUserBox #dvUserModifyConfirm table, #dvUserBox #dvUserModifyInput table,
  #dvUserBox #dvUserShippingInput table,
  #dvUserBox #dvUserRegistInput table,
  #dvUserBox #dvOrderHistoryDetail table,
  #dvUserBox #dvFixedPurchaseList table,
  #dvUserBox #dvPasswordReminderInput .dvReminder table,
  #dvUserBox #dvPasswordModifyInput .dvModify table {
    margin: 0 0 30px 0;
    border-bottom: 0;
  }
  .dvOrderHistoryProduct .productName,
  .dvOrderHistoryProduct .productPrice,
  .dvOrderHistoryProduct .orderCount {
    border-bottom: 0 !important;
  }
  #dvUserBox #dvFixedPurchaseList table table {
    margin: 0 0 0px 0;
  }
  .dvOrderHistoryProduct .orderCount {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .dvOrderHistoryProduct .orderSubtotal,
  .dvOrderHistoryProduct .productPrice {
    padding-top: 5px !important;
  }
  .dvOrderHistoryProduct .productPrice {
    padding-bottom: 0px !important;
  }
  .dvFixedPurchaseItem #imgProductImage {
    margin: 0 10px 0 0;
  }
  #dvUserBox #dvFixedPurchaseItem table table {
    margin: 0 0 0px 0;
  }
  .dvFixedPurchaseItem table .productName {
    padding: 10px !important;
  }
  .dvFixedPurchaseItem .orderCount {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .dvFixedPurchaseItem .productName {
    border-bottom: 0 !important;
  }
  .dvFixedPurchaseItem .productPrice,
  .dvFixedPurchaseItem .orderCount {
    border-bottom: 0 !important;
    text-align: right !important;
  }
  .dvFixedPurchaseItem .orderSubtotal,
  .dvFixedPurchaseItem .productPrice {
    padding-top: 5px !important;
    text-align: right !important;
  }
  .dvFixedPurchaseItem .productPrice {
    padding-bottom: 0px !important;
    text-align: right !important;
  }
  .orderBox .btn_change {
    margin-top: 0;
  }
  .subCartList2 {
    padding: 40px 0px;
  }
  .orderBox div.box dt, .orderBox div.box dt {
    width: 100%;
    float: none;
    padding: 6px 0px 4px 0;
  }
  .orderBox div.box dd, .orderBox div.box dd {
    padding: 0px 10px 0px 10px;
    float: none;
  }
  select, input[type=text], input[type=password], input[type=email], input[type=tel] {
    font-size: 16px;
  }
  .priceList dl.result {
    font-size: 16px;
  }
  .dvProductAdvancedSearch table th, .dvProductAdvancedSearch table td {
    padding: 0 0 10px 0px;
    display: block;
    width: 100%;
  }
  .dvProductAdvancedSearch table td {
    padding: 0 0 10px 5px;
    display: block;
    width: 100%;
  }
  .dvProductAdvancedSearch table td table td {
    display: table-cell !important;
    width: auto !important;
  }
  .footer {
    padding: 20px 4%;
  }
  .searchpanel {
    height: 95vh;
    padding-bottom: 50px;
    top: 45px;
  }
  .searchpanel tr {
    border-top: 1px solid #ccc;
    display: block;
    padding-top: 15px;
  }
  #detailTwo table th, #detailTwo table td {
    font-size: 13px;
  }
  #dvErrorInfoBox {
    width: 100%;
    margin: 30px auto;
    padding: 0 4%;
  }
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .headFlex .logo {
    margin: 0;
  }
  .menuname {
    display: none;
  }
  .headFlex .logo img {
    width: 100%;
    margin: 0;
  }
  .headFlex .icArea {
    right: 0;
  }
  .headFlex .icArea img {
    height: 26px;
  }
  header {
    padding-top: 0px;
    min-width: 100%;
  }
  .inner {
    width: 100%;
  }
  #tblLayout {
    width: 100%;
    margin-top: 0;
  }
  #dvProductDetailArea #detailOne, #dvProductDetailArea #detailImage {
    float: none;
  }
  .CouponBtn {
    padding: 7px 22px !important;
  }
  #ctl00_ContentPlaceHolder1_hgcCompleteMessage {
    width: 100%;
    padding: 0 4% !important;
  }
  .detailBlock p {
    font-size: 13px;
    padding: 20px;
    line-height: 2;
  }
  .detailBlock div:nth-child(even) p {
    padding: 20px;
  }
  .detailBlock {
    width: 100%;
    margin: 0 auto;
  }
  .slider_c li {
    width: 50% !important;
    margin: 0;
    padding: 10px !important;
  }
  .detailBlock div {
    display: block;
    margin: 30px 0;
    align-items: center;
  }
  .seibun {
    margin: 0;
  }
  .menu-content {
    padding: 122px 4% 70px 4%;
    width: 82%;
    top: 0;
    left: -111%;
    box-shadow: 0px 0 0px #ccc;
  }
  .menu-content ul {
    width: 100%;
  }
  .menu-content ul li {
    text-align: left;
    list-style: none;
    padding: 10px;
    font-weight: 500;
  }
  .menu-content ul li a {
    padding: 0 !important;
  }
  .menu-btn {
    top: 0;
    left: 0;
    margin-top: 14px;
    position: relative;
  }
  .addCart p a, .selectValiation select {
    width: 100% !important;
  }
  .squre {
    width: 100%;
  }
  .squre .list-inner {
    width: 100%;
    margin-left: 0;
    padding: 0 20px;
  }
  .selectValiation select {
    width: 100%;
  }
  .headFlex .logo img {
    max-height: 54px;
    margin-top: 0px;
  }
  #dvUserFltContents {
    width: 100%;
  }
  #dvUserBox #dvUserMenu ul li a {
    width: 100%;
    display: inline-block;
    padding: 10px 0px;
    border-bottom: 1px solid #eee;
  }
  #dvProductDetailArea #detailImage {
    width: 100% !important;
    float: none;
    margin-bottom: 40px;
  }
  .itemname {
    font-size: 20px !important;
    margin-bottom: 15px !important;
  }
  #dvProductReviewImage .title, #dvCheckList .title, #dvProductReviewImage .title, #dvCheckList .title {
    font-size: 18px !important;
  }
  #dvUserBox ul, #dvUserBox li {
    width: 100%;
    margin: 0 auto;
  }
  #primary {
    width: 100%;
  }
  .glbPlist.column5 {
    width: 50%;
    padding: 5px;
  }
  #dvProductDetailArea #detailOne {
    width: 100% !important;
    float: none !important;
    font-size: 14px;
    padding: 0 5%;
  }
  .dlflex {
    display: block;
  }
  .priced {
    padding-left: 20px;
  }
  .orderWrap {
    padding: 0px 4% 0 4%;
    width: 100%;
  }
  .BtnFlex {
    display: block;
  }
  .CartTxt {
    width: 100%;
    display: block;
  }
  .BtnFlex a {
    margin-bottom: 12px;
  }
  #CartList div.productList div.priceList {
    width: 100%;
    float: none;
  }
  .detailBlock div img {
    width: 100%;
  }
  .seibun .inner {
    width: 100%;
    display: block;
  }
  .seibun .inner div {
    width: 100%;
    padding: 20px 15px;
  }
  #dvProductDetailArea {
    min-width: 320px;
    max-width: 100vw;
    padding: 0 4%;
  }
  .wfix1000 {
    width: 100%;
  }
  .allWrap {
    padding-top: 60px;
  }
  #CartList h2 {
    font-size: 20px;
  }
  .btnBasic {
    text-decoration: none;
    width: 100%;
    display: inline-block;
    text-align: center;
  }
  #dvUserBox #dvFavoriteList table .productImage {
    display: table-cell;
    width: 90px !important;
  }
  #CartList div.productList div.priceList div {
    padding: 0;
  }
  .priceList dl {
    padding: 10px 0;
  }
}
.moreLink {
  display: block;
  border: 1px solid #555;
  border-radius: 60px;
  padding: 7px 40px;
  margin: 40px auto 0 auto;
  width: 200px;
  text-align: center;
}

.on {
  display: none;
}

@media screen and (max-width: 767px) {
  #dvUserBox #dvFavoriteList table .productName {
    display: block;
  }
  #pagination {
    display: block;
  }
  #pagination .flex {
    margin-top: 20px;
  }
  .flexbox {
    width: 100%;
  }
  #breadcrumb {
    padding: 10px 4% 0 4%;
    font-size: 12px;
    margin-bottom: 0px;
    margin-top: 10px;
  }
  #dvUserBox #dvOrderHistoryDetail table th, #dvUserBox #dvUserModifyInput table th, #dvUserBox #dvUserModifyConfirm table th, #dvUserBox #dvUserShippingInput table th, #dvUserBox #dvUserRegistInput table th, #dvUserBox #dvUserRegistConfirm table th, #dvUserBox #dvFixedPurchaseDetail table th, #dvUserBox #dvFixedPurchaseList table th, #dvUserBox #dvFixedPurchaseDetail table th, #dvUserBox #dvPasswordReminderInput .dvReminder table th, #dvUserBox #dvPasswordModifyInput .dvModify table th {
    padding: 12px;
  }
}
.cate-wrap {
  margin: 0 auto;
  display: inline-block;
  position: relative;
}

.menuflex {
  display: flex;
  align-items: center;
  position: absolute;
  right: 20px;
}

.logoflex {
  text-align: center;
}

.cate-wrap a {
  color: #555 !important;
}

.cate-btn {
  padding: 6px 16px !important;
  margin: 16px 10px 30px !important;
  background: #ccc;
  color: #fff !important;
  border-radius: 44px;
}

.sp_catemenu .menuttl {
  cursor: pointer;
  font-weight: 500;
  padding: 10px;
  color: #222;
  display: block;
  position: relative;
  border-bottom: 1px solid #ccc;
}

.sp_catemenu li {
  cursor: pointer;
  border-bottom: 0;
}

.sp_catemenu ul {
  display: none;
  padding: 0;
}

.menu-content {
  overflow-y: scroll;
}

.spmenu li a {
  padding: 10px;
}

.dropdown__list {
  cursor: pointer;
}

.spmenu li {
  border-bottom: 1px solid #ccc;
}

.ub {
  border-bottom: 1px solid #ccc;
}

.arrow {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  transform: rotate(135deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.arrow.open {
  rotate: 180deg;
  top: 20px;
}

.sp_catemenu ul {
  position: relative;
}

.sp_catemenu ul li {
  position: relative;
  font-weight: 300;
}

.sp_catemenu ul li ul li, .userbd li {
  border-bottom: 1px solid #ccc;
}

.sp_catemenu li a {
  padding: 10px !important;
  padding-left: 30px !important;
}

.sp_catemenu p {
  padding: 10px;
  background: #f8f8f8;
  border-bottom: 1px solid #ccc;
}

.cate-contents {
  display: none !important;
}

.cate-contents.show {
  display: block !important;
}

.cate-contents li {
  display: block;
}

.catelist {
  display: block;
  margin-top: 10px;
  width: 20%;
}

.catetflex {
  display: flex;
}

.catetflex p {
  font-weight: 600;
}

.catelist a {
  font-size: 13px;
  width: 225px;
  margin: 0 10px;
  display: flex;
  padding: 4px;
  justify-content: left;
  align-items: center;
  border-bottom: 1px solid #ccc;
  color: #222;
  text-decoration: none;
  position: relative;
  background: unset;
}

.cate-contents li {
  margin-bottom: 25px;
}

.cate-contents li ul li {
  margin-bottom: 0px;
}

.cate-btn.show {
  font-weight: bold;
  background: #d32d26;
}

.close {
  position: absolute;
  top: 20px;
  width: 32px;
  right: 0;
  cursor: pointer;
}

.close2 {
  position: absolute;
  top: 36px;
  width: 30px;
  right: 20px;
  cursor: pointer;
}

.close img, .close2 img {
  width: 100%;
  height: auto !important;
}

.dvProductAdvancedSearch {
  position: relative;
}

.menu {
  display: flex;
  position: relative;
  justify-content: center;
  margin: 0px auto;
}

.menu .menu_list {
  width: auto !important;
}

.menu .menu_list > a {
  display: block;
  padding: 14px 18px;
  text-align: center;
  font-size: 14px;
  transition: 0.1s;
}

.menu .menu_list > a:hover {
  color: #555;
}

.menu_contents {
  padding: 20px 20px 40px 20px;
  background: #f8f8f8;
  display: none;
  position: fixed;
  top: 56px;
  left: 0;
  width: 100vw;
}

.product_info_icons {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin: 20px 0;
}

.product_info_icons .icname {
  border: 1px solid #ccc;
  padding: 1px 6px;
  font-size: 10px;
  border-radius: 12px;
}

.leftCateList {
  height: 460px;
  overflow-y: scroll;
  font-weight: bold;
}

.menu_contents li {
  width: 250px;
}

.menu_contents .frm {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.menu_contents .frm li {
  display: inline-block;
  font-weight: bold;
  width: 31%;
}

.menu_contents .frm li a {
  position: relative;
  padding: 10px;
}

.menu_contents .frm li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #42B1AC;
  border-right: solid 2px #42B1AC;
  transform: rotate(45deg);
  position: absolute;
  right: 16px;
  top: 20px;
}

.menu_contents li a {
  color: #555;
  width: 100%;
  display: inline-block;
}

.cate_contents {
  background: #fff;
  padding: 20px;
  width: calc(100% - 280px);
}

.wrapSearch {
  display: flex;
}

.cate_contents ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.cate_contents li a {
  padding: 12px;
}

.pagelinks {
  display: flex;
  gap: 20px;
  font-size: 14px;
  margin: 40px 0;
  justify-content: center;
}

.pagelinks a {
  color: #333;
  background: #eee;
  padding: 4px;
  font-size: 12px;
  width: 28px;
  font-weight: normal;
  text-align: center;
  border-radius: 4px;
}

.pagelinks b {
  color: #fff;
  background: #333;
  padding: 4px;
  font-size: 12px;
  width: 28px;
  text-align: center;
  border-radius: 4px;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  select, input[type=text], input[type=password], input[type=email], input[type=tel] {
    font-size: 16px;
  }
  .logoflex {
    min-width: auto;
  }
  #page-title {
    padding: 0 15px;
  }
  #HeadSearch {
    display: none;
  }
  .close2 {
    position: absolute;
    top: 26px;
    width: 30px;
    right: 10px;
    cursor: pointer;
  }
}
.cate_contents {
  position: absolute;
  top: 0;
  left: 280px;
  display: none;
}

.on {
  display: block !important;
}

.onview {
  display: block;
}

.open {
  display: block !important;
}

.subon {
  background: #fff;
  margin-bottom: 2px;
  padding: 6px 10px;
}

.subon.sel {
  font-weight: bold;
  background: #42B1AC;
  color: #fff;
  padding: 6px 10px;
}

.information_box {
  background-color: #464B3F;
  padding: 5px 10px;
  text-align: center;
  color: #fff;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .information_box {
    font-size: 2.933vw;
  }
}

.information_box a {
  color: #fff;
  text-decoration: underline;
}

.flaglist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 40px 0;
  padding: 0 4%;
  gap: 30px;
}

.flaglist li {
  white-space: nowrap;
}

.flaglist .sel {
  font-weight: bold;
}

.flag {
  mix-blend-mode: darken;
}

@media screen and (max-width: 767px) {
  .flaglist {
    display: flex;
    justify-content: center;
    margin: 40px 0;
    padding: 0 4%;
    gap: 30px;
  }
  .hamburger-menu {
    top: 12px;
  }
  #dvLoginWrap, .dvLoginRegist {
    padding: var(--box-pad-s);
  }
  .headFlex .icArea a {
    padding: 2px;
  }
}
.menu-content a img {
  width: 24px;
  margin-top: 24px;
}

/*****************************************************

202404追加

******************************************************/
/*
ヘッダー
*/
@media only screen and (max-width: 767px) {
  .headFlex {
    padding: 5.733vw;
  }
}
@media only screen and (max-width: 767px) {
  .headFlex .logoflex {
    position: absolute;
    top: 51%;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media only screen and (max-width: 767px) {
  .headFlex .logoflex .logo {
    width: 42.666vw;
  }
}
.headFlex .logoflex .logo img {
  vertical-align: baseline;
}
@media only screen and (max-width: 767px) {
  .headFlex .menuflex {
    top: 5.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .headFlex .menuflex .icArea a {
    font-size: 3.2vw;
  }
}

@media only screen and (max-width: 767px) {
  .hamburger-menu {
    left: 5.333vw;
    top: 5.333vw;
  }
}
.hamburger-menu .menu {
  position: relative;
  width: 20px;
  height: 25px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .hamburger-menu .menu {
    width: 4vw;
    height: 5.066vw;
  }
}
.hamburger-menu .menu span {
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background-color: #231815;
  position: absolute;
  right: 0;
}
@media only screen and (max-width: 767px) {
  .hamburger-menu .menu span {
    width: 4vw;
    height: 1px;
  }
}
.hamburger-menu .menu span:nth-child(1) {
  top: 0;
}
.hamburger-menu .menu span:nth-child(2) {
  top: 50%;
  transform: translate(0, -50%);
}
.hamburger-menu .menu span:nth-child(3) {
  bottom: 0;
}

.global-nav-wrapper {
  width: 50vw;
  height: 100%;
  position: fixed;
  top: 0;
  left: -50vw;
  z-index: 80;
  transition: all 0.65s;
  overflow-y: scroll;
  background-color: rgba(0, 0, 0, 0.7);
  max-width: 640px;
  padding: 126px 8% 0 32px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper {
    width: 66vw;
    left: -66vw;
    transition: all 0.35s;
    padding: 16.266vw 16% 0 3%;
  }
}
.global-nav-wrapper .close-btn {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .close-btn {
    top: 10.2vw;
    right: 3.2vw;
    width: 3.6vw;
    height: 3.6vw;
  }
}
.global-nav-wrapper .close-btn span {
  width: 100%;
  height: 1px;
  background-color: #FFF;
  position: absolute;
  left: 0;
  top: 50%;
}
.global-nav-wrapper .close-btn span:nth-child(1) {
  transform: rotate(-45deg);
}
.global-nav-wrapper .close-btn span:nth-child(2) {
  transform: rotate(45deg);
}
.global-nav-wrapper .search-box {
  margin-bottom: 36px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .search-box {
    margin-bottom: 1vw;
  }
}
.global-nav-wrapper .search-box .search {
  position: relative;
  border-bottom: 1px solid #FFF;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .search-box .search img {
    width: 2vw;
  }
}
.global-nav-wrapper .search-box .search input[type=text] {
  width: 100%;
  background: none;
  border: none;
  border-radius: 0;
  color: #FFF;
  margin: 0;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .search-box .search input[type=text] {
    font-size: 2.4vw;
  }
}
.global-nav-wrapper .search-box .search input[type=text]:focus {
  border: none;
  outline: none;
}
.global-nav-wrapper .search-box .search .search-btn {
  display: none;
}
.global-nav-wrapper .login a {
  color: #FFF;
  display: block;
  font-size: 12px;
  line-height: 2.6666666667;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .login a {
    font-size: 2.4vw;
  }
}
.global-nav-wrapper .global-nav {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .global-nav {
    flex-wrap: wrap;
  }
}
.global-nav-wrapper .global-nav .col {
  width: 41.5%;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .global-nav .col {
    width: 100%;
  }
}
.global-nav-wrapper .global-nav .col ul li a {
  color: #FFF;
  display: block;
  font-size: 12px;
  line-height: 2.6666666667;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .global-nav .col ul li a {
    font-size: 2.4vw;
  }
}
.global-nav-wrapper .global-nav .col ul li.has-children > a:after, .global-nav-wrapper .global-nav .col ul li.has-children > a:before {
  display: block;
  content: "";
  background-color: #FFF;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.global-nav-wrapper .global-nav .col ul li.has-children > a:after {
  right: 0;
  width: 12px;
  height: 1px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .global-nav .col ul li.has-children > a:after {
    width: 2.4vw;
  }
}
.global-nav-wrapper .global-nav .col ul li.has-children > a:before {
  width: 1px;
  height: 12px;
  right: 6px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .global-nav .col ul li.has-children > a:before {
    height: 2.4vw;
    right: 1vw;
  }
}
.global-nav-wrapper .global-nav .col ul li.has-children.is-open > a:before {
  display: none;
}
.global-nav-wrapper .global-nav .col ul li ul.children {
  display: none;
}
.global-nav-wrapper .global-nav .col ul li ul.children li a:before {
  content: "-";
  padding-left: 3px;
}
.global-nav-wrapper .sns {
  margin-top: 140px;
  width: 24px;
}
@media only screen and (max-width: 767px) {
  .global-nav-wrapper .sns {
    margin-top: 9.6vw;
    width: 2.666vw;
  }
}
.global-nav-wrapper.is-open {
  left: 0;
}
.global-nav-wrapper.is-open [data-animation=delay] {
  opacity: 1;
  transform: translateY(0);
}

/*
フッター
*/
#Foot {
  padding: 0;
}
#Foot .footer-wrapper {
  background-color: #464B3F;
}
#Foot .footer-wrapper .inner {
  width: 100%;
  padding: 50px 40px 0;
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner {
    padding: 11.5vw 3% 0;
  }
}
#Foot .footer-wrapper .inner .footer-nav {
  display: flex;
}
#Foot .footer-wrapper .inner .footer-nav .col {
  display: flex;
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner .footer-nav .col {
    display: block;
  }
}
#Foot .footer-wrapper .inner .footer-nav .col ul {
  margin-right: 55px;
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner .footer-nav .col ul {
    margin-right: 10vw;
  }
}
#Foot .footer-wrapper .inner .footer-nav .col ul li a {
  color: #FFF;
  font-size: 12px;
  line-height: 2.6666666667;
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner .footer-nav .col ul li a {
    font-size: 2.933vw;
    line-height: 2.1818181818;
  }
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner .footer-nav .col ul:nth-child(2) {
    margin-top: 2vw;
  }
}
#Foot .footer-wrapper .inner .copyright {
  margin-top: 80px;
  padding-bottom: 15px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #Foot .footer-wrapper .inner .copyright {
    margin-top: 21.333vw;
    padding-bottom: 2.133vw;
    font-size: 2.4vw;
  }
}

[data-animation=delay] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateY(15px);
}

[data-animation=fadeUp] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateY(10px);
}
[data-animation=fadeUp].is-active {
  opacity: 1;
  transform: translateY(0);
}

/*# sourceMappingURL=common.css.map */
