
.favorite-button button {
  margin: 40px auto 0;
  height: 30px;
  width: 255px;
  display: block;
}

div#ranking-box {
  display: flex;
}

p.itemAttention-p {
  font-size: 12px !important;
  color: #555 !important;
  margin: 2px auto 30px !important;
  text-align: center;
}

a.rank-link {
  text-align: center;
  border: 1px solid #555;
  border-radius: 3px;
  width: 100%;
  max-width: 250px;
  margin: 30px auto;
  padding: 8px 10px;
  font-weight: 700;
  color: #555;
  background: #fff;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

div#newsbox {
  border: solid 4px #D8E2FF;
  border-radius: 3px;
  margin: 30px 0 0 0;
}

/*　PCスマホ切り分け　*/
.pc-only { display: block !important; }
.sp-only { display: none !important; }

/*　TOPスライダー　*/
.flexwindow {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: auto;
}

.top-swiper-pc {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.top-swiper-sp {
  width: 100%;
  max-width: 500px;
  height: 100%;
  max-height: 400px;
  margin: auto 0 ;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.top-swiper-wrapper-pc {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.top-swiper-wrapper-sp {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.top-swiper-slide-pc {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.top-swiper-slide-sp {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.top-swiper-slide-pc img {
  width: 100%;
  height: auto;
  display: block;
}

.top-swiper-slide-sp img {
  width: 100%;
  height: auto;
  display: block;
}

.swiper-pagination {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/*　共通スワイパー　*/

.swiper-wrapper {
  align-items: center;
}

#item_page_wrap {
  padding: 30px 0 20px 15px;
}

#item_page_wrap .showbox {
	width: 100%;
	float: none;
}

.swiper-slide {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.swiper-slide img {
  width: 100%;
  max-width: 640px;
  height: auto;
  margin: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain; 
  display: block;
  background: #fff;
}

#item_page_wrap .swiper-slide {
  display: block;
  margin: 0;
  padding: 0;
}

.twoclm {
  width: 500px;
  min-height: 400px;
}

.twoclm .thumb-swiper {
  width: 211px;
  height: 100%;
}

#item_page_wrap .actionbox {
  width: 310px;
}

.main-swiper .swiper-slide {
  width: 580px;
}

.thumb-swiper a {
  width: 100px;
  margin: 0 7px 7px 0;
  display: block;
  display: inline-block;
}

.thumb-swiper .swiper-slide {
  width: 100px;
}

.thumb-swiper .swiper-slide img {
  max-height: 100px;
  max-width: 100px;
}

.thumb-swiper {
  width: 315px;
}

#item_page_wrap #item-photos {
  height: auto;
}

.swiper-slide.sp-only img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/*　スワ イパーここまで　*/

.brand-links {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding-left: 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.brand-block.open .brand-links {
  max-height: 100px;
  padding: 0;
}

.brand-links a.links-sun {
  text-align: center;
  font-size: 18px;
  color: #fff;
  background: #727ea9;
  margin: 5px 2px 0 0;
  padding: 6px 12px;
  display: inline-block;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.brand-links a.links-sun:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transform: translateX(2px);
}

.brand-links a.links-megane {
  border: 1px solid #777;
  color: #555;
  text-align: center;
  font-size: 18px;
  margin: 5px 2px 0 0;
  padding: 6px 12px;
  display: inline-block;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.brand-links a.links-megane:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transform: translateX(2px);
}

.brand-links a.links-sun,
.brand-links a.links-megane {
  user-select: none;
}

.f-item.brand-block .brand-trigger img {
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.brand-trigger {
  position: relative;
  cursor: pointer;
  padding-left: 20px;
  border: 1px solid #d4d7dd;
  background: #fff;
}

.brand-trigger::before {
  content: "▶";
  color: #aaacf5;
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.brand-block.open .brand-trigger::before {
  content: "▼";
}
.brand-trigger. action:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #444;
}

.widget.category ul.appsItemCategoryTag_lowerchild li a {
  padding-top: 12px;
  padding-bottom: 5px;
  line-height: 1.6;
}

.grid-wrapper {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
/* ===== グリッドレイアウト全体 ===== */
.ranking-grid {
  width: 100%;
  padding: 0 0 30px;
  box-sizing: border-box;
}

/* ===== グリッド本体 ===== */
.ranking-grid .grid-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  padding: 20px;
  margin: 15px auto 35px;
}

/* ===== カード（共通） ===== */
.ranking-grid .grid-item .item-box-rank {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  position: relative;
  padding: 10px;
}

/* ===== 画像 ===== */
.ranking-grid .item-thumb-img img {
  width: 100%;
  height: 186px;
  object-fit: contain;
  aspect-ratio: 3 / 2;
  background: #fff;
  margin-bottom: 8px;
}

/* ===== テキスト ===== */
.ranking-grid .item-title {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-bottom: 4px;
}

.ranking-grid .item-price {
  font-size: 13px;
  color: #555;
}

/* ===== ランクバッジ（流用） ===== */
.ranking-grid .rank-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #999;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
.grid-item .rank-1 { background: #FFD700; }
.grid-item .rank-2 { background: #C0C0C0; }
.grid-item .rank-3 { background: #CD7F32; }
.grid-item .rank-default { background: #999; }

.rank-decoration {
    position: relative;
    max-width: 200px;
    margin: 30px auto 15px;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    display: none;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    display: none;
}

#ranking-swiper .swiper-pagination {
    position: static;
}
#ranking-swiper .swiper-button-next, #ranking-swiper .swiper-button-prev {
    transform: none;
}
.swiper-button-prev, .swiper-button-next{
    color: #333;
}
.swiper-horizontal {
    margin: 5px 0;
}

.alertBanner {
  text-align: center;
  margin: 0 auto 15px;
  font-size: 9px;
  width: 100%;
  padding: 9px 0 2px 0;
  line-height: 1.4;
  background: #D3DEF1;
  color: #434343;
	border: none;
}

.alertBanner p {
  display: block;
  font-size: 1.4em;
  font-weight: 400;
  margin: 0 0 5px 0;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

#newsbox h2 span {
    font-size: 13px;
    padding-left: 10px;
}

/* ヘッダー */
.top-nav {
  max-width: 1280px;
  width: 100%;
  margin: auto;
  font-size: 13px;
  padding: 6px 12px;
}
.top-nav ul {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.top-nav a {
  color: #333;
  text-decoration: none;
}

.headnav {
  width: 100%;
  margin-top: 12px;
}

.headnav .menu {
  display: flex;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu li {
  font-family: auto;
  border-left: 0px;
}

.menu li:last-child {
  border-right: 0px;
}

.headnav .menu li a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  padding: 6px 0;
  transition: color 0.2s;
}

.search-form {
  display: flex;
  justify-content: center;
}

.search-group {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.search-select,
.search-input,
.search-button {
  height: 36px;
  font-size: 14px;
  border: 1px solid #ccc;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  -webkit-transition: none !important;
}

.search-select {
  width: 30%;
  padding: 1px 8px 0;
  border-right: #fff;
  color: #777;
}

.search-input {
  width: 60%;
  padding: 0 12px;
  border-right: #fff !important;
  transition: border 0.2s;
}

.search-input:focus {
  outline: none;
  border-color: #D3DEF1;
}

span.heart-icon {
  font-size: 30px;
  text-align: center;
  margin: 0px auto 18px;
}

span.heart-icon a {
  line-height: 0;
}

.search-button {
  width: 45px;
  font-size: 16px;
  color: #333;
  border-left: #fff !important;
  cursor: pointer;
  background: #fff url(https://basefile.s3.amazonaws.com/ymtk/577b4d7056fa2/ico_search.png) no-repeat 15px;
  background-size: 22px 22px;
}

input.search-input {
  padding: 0px 0px 0px 10px !important;
}

.header-icons {
  margin-left: auto;
}

/* 商品タイトルを3行表示 */
.item-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* パンくず */
.breadcrumb li, .breadcrumb li a {
  color: #333;
}

.breadcrumb li a:after {
  content: "/";
}

.delivery-attention{
  font-size: 13px !important;
  font-weight: bold;
  line-height: 1.4em !important;
}

.widget.sidebanner.side2 {
  border: 2px solid #728cc7;
}

button.modoru-btn {
  width: 220px;
  height: 45px;
  line-height: 1; 
  margin: 30px auto 10px;
  font-size: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 0;
  border: 2px solid #777;
  border-radius: 5px;
  color: #333;
  cursor: pointer;
  user-select: none;
  transition: transform 0.1s ease;
}

.modoru-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  user-select: none;
  width: 220px;
  height: 45px;
  line-height: 1; 
  font-size: 13px;
  background: #555;
  margin: 30px auto 45px;
  border-radius: 5px;
  color: #ffffff;
  transition: transform 0.15s ease;
  text-decoration: none;
}

.blog_title h2 {
  border-bottom: 1px solid #999;
}

p.publish_date {
  display: none;
}

/*　YOUTUBファサードE用のCSS　*/
#appsItemDetailCustom #appsItemDetailCustomTag p.appsItemDetailCustomTag_description {
  font-size: inherit;
  font-family: auto;
  margin-bottom: 0;
}

.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 68px;
	height: 48px;
	background: url('https://baseec-img-mng.akamaized.net/images/item/origin/38bf1d584d3adf6e9278a6d14bb472da.png') no-repeat center center;
	background-size: contain;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.youtube-facade {
	position: relative;
	width: 100%;
	max-width: 100%;
}

/* ===== ランキングSwiperラッパー ===== */
#rankingSwiper {
  position: relative;
  width: 100%;
  padding: 20px 0;
  box-sizing: border-box;
}

/* ===== Swiper構造 ===== */
#rankingSwiper .swiper-wrapper {
  align-items: stretch;
}

#rankingSwiper .swiper-slide {
  width: 100%; 
  box-sizing: border-box;
}
#rankingSwiper .item-box-rank a {
  padding: 0;
}
/* ===== item-box（ランキングカード） ===== */
#rankingSwiper .item-box-rank {
  width: 100%; /* 3カラム風（レスポンシブ時は調整可） */
  height: auto;
  margin: 0 ;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ===== 画像まわり ===== */
#rankingSwiper .item-box-rank a {
  display: block;
  padding: 10px;
  position: relative;
}

#rankingSwiper .item-box-rank img {
  width: 100%;
  height: 186px;
  max-width: 273px;
  object-fit: contain;
  vertical-align: middle;
  margin: 0 auto 5px auto;
  display: block;
  background: #fff;
  aspect-ratio: 3 / 2;
}

/* ===== テキストまわり ===== */
#rankingSwiper .item-meta {
  padding: 0 5px 10px;
}

#rankingSwiper .item-title {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
  color: #333;
}

#rankingSwiper .item-price {
  font-size: 13px;
  color: #555;
}

.item-meta .item-price:first-letter {
  font-size: 100%;
}

/* ===== 順位バッジ ===== */
#ranking-swiper .rank-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #999;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
}
#ranking-swiper .rank-1 { background: #FFD700; }
#ranking-swiper .rank-2 { background: #C0C0C0; }
#ranking-swiper .rank-3 { background: #CD7F32; }
#ranking-swiper .rank-default { background: #999; }

/* ===== Swiperナビ／ページネーション ===== */
#ranking-swiper .swiper-pagination {
  margin-top: 10px;
  text-align: center;
  position: relative;
}

#ranking-swiper .swiper-pagination-bullet {
  background: #333;
  opacity: 0.5;
}

#ranking-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}

#ranking-swiper .swiper-button-next,
#ranking-swiper .swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
}

/*　フッター用CSS　*/
hr {
  margin: 30px;
}

.text-right {
  text-align: right !important;
}

.uk-search {
  display: inline-block;
  position: relative;
  width: 250px;
  margin: 0;
}

footer {
  background: #fbfbfb;
  border-top: #e6e6e7 solid 2px;
	border-bottom: #e6e6e7 solid 2px;
}

footer-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	justify-content: center;
  gap: 30px;
	max-width: 1180px;
  background: #fbfbfb;
  color: #333;
	padding: 0;
	margin: 0 auto 40px auto;
}

dl.flex-wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 12px;
}

.footer-item-left {
  width: 31%;
	margin: 16px 0 0 0;
}

.footer-item-center {
  width: 31%;
	margin: 12px 0 0 0;
}

.footer-item-right {
  width: 31%;
  margin: 12px 0 0 0;
}

footer section {
  margin-bottom: 30px;
}

.footer-h3-line {
  font-family: 'Oswald','Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  line-height: 20px;
  font-weight: bold;
	font-size: 20px;
  color: #555;
  margin: 20px 0;
  letter-spacing: 1px;
}

footer h4 {
  font-family: 'Oswald','Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  font-size: 0.8125rem;
  margin-bottom: 10px;
  line-height: 20px;
  color: #333);
}

.footer-logo {
  margin-bottom: 10px;
  height: 50px;
  display: inline-block;
}

.footer-pic img {
  width: 80%;
	border: 1px solid #dfdfdf;
}

.footer-logo img {
  max-height: 50px;
}

.footer-address {
  font-size: 0.875rem;
  margin-bottom: 15px;
  padding: 0 5px;
}

.conditions {
  font-size: 23px;
  color: #f36464;
  font-weight: bold;
}

div#footer-shipping {
  border: 2px solid #e5a2bd;
  border-radius: 5px;
  padding: 10px;
	width: 90%;
}

img.footer-icon {
  height: 37px;
  width: 37px;
  margin: 8px 0 0 0;
  position: absolute;
}

span.conditions {
  margin-left: 43px;
}

.shipping {
  margin-left: 37px;
}

input#search-footer {
  padding: 10px;
  width: 100%;
}

.shipping {
  color: #913939;
}

.footer-address dl dt {
  width: 25%;
	margin: 0px 0 5px 0px;
}

.footer-address dl dd {
  width: 75%;
	display: flex;
}

.footer-link {
  margin-top: 10px;
}

ul.footer-link.text-right {
  border-bottom: 1px dotted #999;
  margin: 25px 15px 30px 15px;
}

#footer-payment {
  padding: 0 5px;
}

#footer-payment .payment-item {
  color: #fff;
  background: #2096F3;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  padding: 5px 10px 4px;
  display: inline-block;
  margin: 10px 5px 0 0;
  font-weight: 700;
}

#footer-search {
  padding-top: 3px;
  height: 40px;
  width: 100%;
}

.footer-info li a {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  color: #555;
  margin: 0 0 7px 0;
  text-decoration: none;
}

.footer-info li a::before {
  font-family: FontAwesome, sans-serif;
  content: "»";
  margin: 0 7px 5px 0;
  color: #999;
  font-size: 0.9em;
  text-decoration: none;
}

.footer-info .info-title {
  width: calc(100% - 50px);
}

footer-social {
  text-align: center;
  margin: 0 auto 30px;
}

#footer-social li {
  display: inline-block;
  width: 40px;
  padding: 10px;
}

footer a {
  color: #4949db;
}

.footer-copyright {
  text-align: center;
  font-size: 1.3rem;
  color: #222;
  background: #fff;
}

/*　ブログの文字サイズ　*/
.blog_body {
  font-size: 15px;
  line-height: 30px;
}

.blog_inner {
  border-bottom: 0px !important;
}

hr {
  height: 1px;
  background-color: #adadad;
  border: none;
}

.main #about .blog_body h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 15px;
}

.text-bottom img {
  max-width: 400px;
  width: 100%;
  height: auto;
  border: 1px solid #ddd;
  margin: 30px auto;
  display: block;
}

.item-meta .item-title {
  margin-bottom: 10px;
  padding: 0 2px;
}

.item-meta .item-price {
  letter-spacing: 0.03rem;
  line-height: 1.5;
}

/*　価格¥マーク小さく　*/
#item_page_wrap #price p::first-letter {
  font-size: 15px;
  margin: 0 5px 0 0;
}

#item_page_wrap #purchase_form .purchaseButton__btn {
  font-size: 15px !important;
  border-radius: 3px !important;
  padding: 23px 0px;
  color: #fff;
  background-color: #BF0000;
  border: 1px solid #BF0000 !important;;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

#item_page_wrap #purchase_form .purchaseButton__btn:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #444;
}

/*　オプション改行　*/
.purchaseElement label::after {
  content: "\A";
  white-space: pre;
}

#item_page_wrap #purchase_form #variationSelectWrap {
  margin-bottom: 3px;
}

#item_page_wrap #purchase_form #variationSelectWrap select {
  width: 100%;
  padding: 10px 6px;
}

#item_page_wrap #purchase_form select {
  font-size: 12px;
  padding: 15px 5px;
  color: #333;
  border: solid 1px #999;
}

#item_page_wrap #purchase_form #amountSelectWrap select {
  padding: 10px 5px;
}

select#valiationSelect {
  padding: 10px 5px;
  border: 1px solid #333;
  color: #333;
}

.ChildCategories li a {
  display: inline-block;
  border: 1px solid #895a5a;
  padding: 6px 15px;
  color: #895a5a;
}

ul.ChildCategories {
  text-align: start;
  margin: 10px 0 0 0;
}

.category-title h2::after {
  content: "のカテゴリー";
}

.category-title, h2.search-title{
  background: #FFF !important;
  color: #333;
  border-bottom: 1px solid #999;
  margin: 10px 0px 0px 20px;
  padding: 10px 10px 10px 10px;
}

.widget h3, .category-title, .search-title {
  background: #FFF !important;
  color: #545454;
  border-bottom: 1px solid #999;
  margin: 4px 0 30px 0;
  padding: 0 0px 10px 10px;
  font-size: 1.7rem;
}
.category-title h2 {
  margin-bottom: 0px;
}
.search-title h2 {
  margin-bottom: 0px;
}

#moreItems a {
  background: linear-gradient(180deg, #b39da3 0%, #b39da3 50%, #aca0a4 50%, #aca0a4 100%);
  font-size: 15px;
  color: #fff;
  margin: 20px auto 40px;
  padding: 10px 60px;
  border-radius: 2px;
  letter-spacing: 0.2em;
  transition: transform 0.2s ease; 
  display: inline-block; 
}

#moreItems a::before {
  content: "▼";
}

#item_page_wrap #purchase_form #itemSelect label {
  font-family: 'ヒラギノ角ゴ Pro', sans-serif;
  font-size: 14px !important;
  margin-right: 5px;
}

a.attention-font {
  color: #1313cc;
  text-decoration: underline;
  font-size: 13px;
}

a.track_outbound {
  color: #1111cc;
  display: inline;
}

select, input[type="file"] {
  width: 100%;
}

#item_page_wrap header h1 {
  font-size: 20px;
	font-weight: 700;
	color: #333;
  text-align: left;
  margin: 0;
	border-bottom: 4px double #999;
	padding-bottom: 5px;
}

#item_page_wrap p {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Sans", Osaka, Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", YuGothic, "Yu Gothic", "Hiragino Sans GB", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Arial Unicode MS", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #454545;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

#item_page_wrap #purchase_form #itemSelect label {
  font-weight: bold;
}

#item_page_wrap #purchase_form #itemSelect {
  margin: 30px 10px 35px 5px;
}

#item_page_wrap #price p {
  margin: 50px 15px 10px 0px;
	font-family: helvetica, Osaka, 'MS PGothic', arial, sans-serif;
}

i.fa.fa-thumbs-o-up {
  display: none;
}

.widget.category ul.appsItemCategoryTag_lowerchild li a:before {
	content: "»";
	left: 15px;
	top: 7px;
	font-size: 1.1em;
}

.widget.category ul li a,
.widget.guide ul li a {
  background: #d8e2ff;
  margin-top: 13px;
  color: #333;
  transition: color 0.1s ease;
}

.static_wrap #about .social {
  display: none;
}

.static_wrap, .tmpBox {
  padding: 30px 10px;
}

img.bana1 {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

/*　関連・履歴の商品CSS　*/
.cta-title {
  font-size: 1.6em;
  border-bottom: double;
  max-width: 95%;
  margin: 0 auto;
  padding: 10px 0 5px 0;
  text-align: center;
}

.cta-items {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 2%;
}

.cta-items-box {
  margin: 0 0 20px 0;
}

.cta-items .item-box:nth-child(4n+1) {
  clear: none;
}

.cta-items-1 {
  margin: 0 0 20px 0;
}

.cta-items-2 {
  margin: 0 0 20px 0;
}

.item-box {
  position: relative;
}

.item-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 1px 1px rgb(176 185 211 / 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
  pointer-events: none;
}

.item-box img {
  transition: transform 0.1s ease;
}

#featuredItems .item-box {
  padding: 5px 10px;
}

.item-box:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #444;
}

/*　フッター バナー　*/

.f-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 20px 0 0;
	padding: 15px 0 0 10px;
	border-bottom: 6px double #cad4ee;
}

.f-category {
  max-width: 1015px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 15px;
  margin: 0px 0 30px 0;
}

.f-item {
  position: relative;
  border-radius: 5px;
  padding: 5px;
  overflow: hidden;
}

.f-item img {
  width: 100%;
  height: auto;
  padding: 5px;
  border: 1px solid #d4d7dd;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border-radius: 1px;
  display: block;
  transition: transform 0.1s ease;
}

.f-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 0.2s ease;
  z-index: 1;
  pointer-events: none;
}


/*　▼▼▼　PCだけ適用させたい場合はここに書く　▼▼▼　*/
@media only screen and (min-width: 768px) {

/*　PC非表示　*/
button.cy-fixed-add-cart-scroll {
  display: none;
}
button.icon {
  display: none;
}

button.modoru-btn:hover {
  transform: scale(1.02);
}

.modoru-btn a:hover {
  transform: scale(1.02);
}

.footer-info li a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.menu li a:hover {
  color: #D3DEF1;
}

#item_page_wrap #purchase_form .purchaseButton__btn:hover {
  transform: translateY(1px);
  box-shadow: 0 2px 0 #e5c2c2;
  background: #7c0000 !important;
}

#item_page_wrap #purchase_form select:hover {
  box-shadow: inset 0 0 0px 2px rgba(100, 100, 100, 0.4);
}

#moreItems a:hover {
  transform: scale(1.03); 
}

.widget.category ul li a:hover,
.widget.guide ul li a:hover {
  color: #000;
  background: #e1e1e1;
  box-shadow: inset 0 -1px 0 0 rgba(100, 100, 100, 0.6);
}

.item-box:hover img {
  transform: scale(1.03); 
}

.f-item:hover img {
  box-shadow: inset 0 -2px 0 rgba(88, 98, 129, 0.9); /* 下線シャドウ */
}

/* PCスワイパー */

.swiper-wrapper {
  align-items: flex-start;
}

.swiper-flex-wrap {
  position: relative;
  margin-bottom: 30px;
  min-height: 300px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

.main-swiper {
  width: 70%; /* メイン画像の幅 */
  height: auto;
  flex-shrink: 0;
}

.thumb-swiper .swiper-wrapper {
  width: calc(30% - 10px);
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  grid-auto-rows: auto;
  gap: 5px;
}

.thumb-swiper {
  height: auto;
  display: flex;
  flex-direction: column;
  margin-top: 15px;
}

.thumb-swiper .swiper-slide {
  width: 100%;
  height: auto;
  cursor: pointer;
  overflow: hidden;
  margin: 0 !important;
}

.thumb-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* スワ イパーPC ここまで */

#logo img {
  max-width: 250px;
}

.img_box {
  width: 100%;
  position: relative;
}

.img_box img:not(.label_image):not(.detail)  {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

header#mainHeader {
  display: flex;
  align-items: flex-end;
  margin: 20px auto 7px auto;
}

#clm1 .sidenav, #mainHeader {
  padding: 0;
  vertical-align: bottom;
  line-height: 100%;
}

#utilitynav {
  margin: 0 0 8px 20px;
  width: 100%;
  max-width: 600px;
}

nav.headnav {
  margin: 0px auto 25px;
  padding: 3px;
  width: auto;
  float: none;
  background: #707070;
}

.headnav .menu li .sub-menu li a:hover {
  color: #5db5ad !important;
  border-bottom: 1px solid #ddd;
}

.header-favorite {
  display: flex;
  width: auto;
  height: 32px;
  font-size: 11px;
  flex-direction: column;
  justify-content: flex-end;
}

.header-base {
  display: flex;
  font-size: 11px;
  flex-direction: column;
  justify-content: flex-end;
}

.header-icons{
  margin-left: auto;
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

#search {
  border-bottom: 1px solid #ddd;
  margin: 0 0 0 7px;
}

input#searchbox { 
  width: 100%;
  font-size: 15px;
  margin: 10px 0 0 0;
  width: 200px;
  padding: 7px 0px 6px 19px ;
  background: #fff url(https://basefile.s3.amazonaws.com/ymtk/577b4d7056fa2/ico_search.png) no-repeat 4px ;
  background-size: 14px 14px;
  box-shadow: none;
}

#baseMenu>ul>li.base {
  margin: 0px 0 0 -20px;
}

.menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu > li {
  position: relative;
}

.menu > li > a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-image: url("https://basefile.akamaized.net/minamimegane-theshop-jp/68639eac307df/bottom-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 8px;
  vertical-align: middle;
}

.menu > li > a {
  text-decoration: none;
  padding: 10px 15px;
  display: block;
  color: #333;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px 0;
  min-width: 160px;
  z-index: 10;
}

.menu > li.open .sub-menu {
  display: block;
}

.sub-menu li a {
  display: block;
  padding: 8px 16px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

ul.sub-menu {
  background: #ffffffeb;
  text-align: left;
}

.sub-menu li a {
  color: #333;
  display: block;
  padding: 8px 16px;
  color: #555 !important;
}

#baseMenu li.cart img {
  width: 30px;
  height: 30px;
}

.item-meta .item-title {
  margin-bottom: 15px;
  height: 62px;
}

.item-meta .item-title-top {
  margin-bottom: 15px;
  height: 63px;
  font-size: .9em;
  text-align: left;\
}

.item-title-top {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

#item_page_wrap p {
  margin: 5px 0;
  font-size: 15px;
  line-height: 1.9em;
  color: #0f1111;
}

#item_page_wrap #itemAttention p {
  font-size: 13px;
  color: #333;
  font-family: 'ヒラギノ角ゴ Pro', sans-serif;
  line-height: 1em;
  margin-bottom: 20px;
}

#wrapper {
  margin-bottom: 40px;
  display: flex;
  flex-direction: row-reverse;
}

#mainFooter, #mainHeader, #wrapper {
  max-width: 1280px;
  width: 100%;
}

aside.sidenav {
  width: 250px;
  margin-right: 30px;
}

#main {
  flex: 1;
  max-width: 1010px;
}

/* 説明文flex */

#clm2L #main, #clm2R .sidenav {
  float: none;
}

#clm2L .sidenav, #clm2R #main {
  float: none;
}

div#item-body {
  display: flex;
}

.showbox {
  width: 70% !important;
  margin-right: 20px;
  padding-right: 60px;
  float: none;
}

#item_page_wrap .actionbox {
  width: 30% !important;
  float: none;
}

#item_page_wrap #price p {
  margin: 30px 15px 10px 0px;
}

h2.h2_contact {
	font-size: 20px;
	padding: 0 50px;
	height: auto;
}

p.p_contact {
	padding: 0 50px;
	height: auto;
	line-height: 1.8em;
}

/* トップに戻るボタンを消す　*/
#page-top {
  display: none !important;
}

/*　関連・履歴の商品CSS　*/
.item-box {
  width: 25%;
  margin: 0 0% 7px 0;
}

.cta-items .item-box {
	width: calc(33.3% - 10px);
	height: auto;
	height: 330px;
}

.item-box a {
  display: block;
  padding: 10px;
  position: relative;
}

.item-box img {
  width: 100%;
  vertical-align: middle;
  max-width: 273px;
  height: 186px;
  object-fit: contain;
  margin: 0 auto 5px auto;
	display: block;
}

#newsbox dl dd {
  padding: 0 0 0 10em;
}

}/*　▲▲▲　PC専用はここまで　▲▲▲　*/


/*　▼▼▼　スマホだけ 767以下ヘッダー　▼▼▼　*/
@media only screen and (max-width: 767px) {

#main {
  background: #f7f7f7dd;
}

.favorite-item-img {
  max-width: 100px !important;
  width: 100px !important;
  height:auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

p.favorite-item-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

div#wrapper {
  display: flex;
  flex-direction: column;
}

div#item-body {
  display: flex;
  flex-direction: column;
}

/*　PCスマホの切り分け　*/
.pc-only { display: none !important; }
.sp-only { display: block !important; }

/*　スワイパー スマホ　*/

.swiper-slide img {
  aspect-ratio: auto;
}

.main-swiper .swiper-slide {
  min-height: calc(100vw * 0.75); 
  overflow: hidden;
}

.thumb-swiper .swiper-wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.thumb-swiper .swiper-slide{
  width: calc(20% - 5px) !important;
  margin: 5px 5px 5px 0px !important;
}

.swiper .thumb-swiper  {
  width: 100%;
  overflow: hidden;
  position: relative;
}

section#ranking-swiper {
  background: #fff;
}

#item_page_wrap {
  padding: 0 15px 20px 15px;
  width: 100%;
}

#item_page_wrap .thumb-swiper {
  width: 100%;
}

.swiper-flex-wrap {
  border-bottom: 1px solid #ddd;
  margin-bottom: 20px;
  padding-bottom: 15px;
}

.swiper-slide.sp-only img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/*　スワ イパー スマホここまで　*/

.ranking-grid .grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
}

.brand-trigger::before {
    font-size: 11px;
}

.brand-links a.links-sun {
  font-size: 13px;
}

.brand-links a.links-megane {
  font-size: 13px;
  background: #fff;
}

#rankingSwiper .item-box-rank img {
  width: 100%;
  height: auto;
}

span.icon-label {
  display: none;
}

.header-favorite {
  display: none;
}

.search-area {
  padding: 15px 5px 0;
}

/* ランキング スマホ */
#rankingSwiper .item-box-rank {
  width: 90%;
  max-width: none;
  height: auto;
}

#rankingSwiper .item-title {
  font-size: 13px;
}

#rankingSwiper .item-price {
  font-size: 12px;
}

input#searchbox {
  width: 95%;
  font-size: 15px !important;
  border: solid 1px #ddd;
  margin: 10px auto 0px auto;
  display: block;
}
.swiper-button-next:after, .swiper-button-prev:after {
  font-size: 20px;
}

.swiper-button-prev, .swiper-button-next {
  width: 20px;
  height: 45px;
  background: #fff;
}

.alertBanner strong {
  font-weight: 400 !important;
}

.logo-area {
    text-align: center;
    border-bottom: 1px solid #ddd;
 }

form {
  width: 100%;
  display: block;
  margin: auto;
}

#mainHeader .tagline {
  display: none;
}

/*　スマホ ハンバーガー　*/
.mobilenav {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  padding: 30px 10px 80px 10px;
  z-index: 9999;
  overflow-y: auto;

  /* アニメーション感強化 */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  
  transform: scale(0.95);
  transition: 
  opacity 0.4s ease,
  transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
  visibility 0.3s ease;
}

.mobilenav.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
}


.mobilenav li {
  text-align: left;
	border-bottom: solid 1px #ddd;
  padding: 5px 10px;
}

.top-menu {
  top: 5px;
  width: 20px;
}
.mid-menu {
  top: 11px;
  width: 20px;
}
.bottom-menu {
  top: 17px;
  width: 20px;
}

div#baseMenu {
  display: block;
}

.header-base {
  z-index: 99999;
  position: absolute;
  display: block;
  padding: 9px;
  height: 32px;
  width: 32px;
	right: 0;
  top: 0;
}

li.cart {
  position: absolute;
  right: 18px;
  top: 22px;
}

#baseMenu li.cart img {
  width: 23px;
  height: 23px;
}

/*　商品ページ スマホ　*/

.category-title, h2.search-title{
  font-size: 18px;
  margin: 10px 0px 10px 0px;
}

.item-title-top {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
	text-align: left;
}

header.itemTitle {
  padding: 0;
}

#item_page_wrap p {
  font-size: 15px;
}

#item_page_wrap #itemAttention p {
  font-size: 13px;
	color: #333;
}

.text-bottom {
  margin: 30px 15px 30px 15px;
}

.widget.category ul.appsItemCategoryTag_lowerchild li a:before {
  top: 9px;
}

#item_page_wrap #purchase_form .purchaseButton__btn {
  margin: 45px 0px;
}

h2.h2_contact {
	font-size: 18px;
	padding: 0 30px;
	height: auto;
}

p.p_contact {
	padding: 0 30px;
	height: auto;
	line-height: 1.6em;
}

#item_page_wrap header h1 {
  font-size: 15px;
}

#item_page_wrap #price p {
  margin: 20px;
}

#item_page_wrap .actionbox {
  margin: auto;
  padding: 0 20px;
  width: 400px;
  max-width: 100%;
  background: #fff2dc;
  border: 2px solid #e8cba6;
  border-radius: 5px;
}

.widget.sidebanner img {
  width: 80%;
  margin: auto;
  display: block;
}

img.bana1 {
  width: 80%;
  margin: auto;
  display: block;
}

.widget.sidebanner.side2 {
  border: 0;
}

.widget.sidebanner.side2 img{
  border: 2px solid #728cc7;
}

.widget.amazonpay p {
  padding: 7px 10% 0;
}

.img_box img:not(.label_image):not(.detail) {
  width: 100%;
  min-height: 300px;
  object-fit: contain;
  display: block;
}

img.text-bottom-img {
  max-width: 100%;
  height: auto;
  display: block;
}

.bx-wrapper {
  min-height: 300px;
  overflow: hidden;
  position: relative;
}

.img_box {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

#item_page_wrap #bx-pager {
  text-align: left;
  width: 100%;
  min-height: 100px;
}

/*　TOPナビ非表示　*/
.top-nav {
  display: none;
}
.headnav {
  display: none;
}

/*　モバイルハンバーガー　*/
.icon {
  padding: 20px;
  top: 5px;
  right: initial;
	position: absolute;
}

button.icon {
  border: 0;
  background: #fff;
}

/*　フッターアイテム調整　*/
.footer-item-left {
  width: 90%;
}
.footer-item-center {
  width: 90%;
}
.footer-item-right {
  width: 90%;
}

/*　フッターバナー スマホ　*/
.cta-items {
  padding: 4%;
}
.cta-title {
  font-size: 1.2em;
}

.f-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 45px 0 30px;
  color: #fff;
  padding: 10px 0 5px;
  background: #99b1ef;
  text-align: center;
  border-bottom: 0;
}

.f-category {
  max-width: 800px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0px;
  margin: 0 10px 30px 10px;
}

.f-item {
  border-radius: 5px;
  padding: 3px;
}

.f-category img{
  width: 100%;
  border: solid #c6c4e0 1px;
  border-radius: 1px;
  height: auto;
  box-shadow: 1px 1px 1px #f0eff1;
  background: #fff;
}

/*　購入フォームまでスクロール スマホ */
.addbtn-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #333;
  text-align: center;
  padding: 3px;
  border-top: 1px solid #ccc;
  z-index: 1000;
  transition: transform 0.5s ease;
}

.addbtn-wrapper.hide {
  transform: translateY(100%);
  transition: transform 0.7s ease;
}

.cy-fixed-add-cart-scroll {
  display: inline-block;
  background-color: #7778a9;
  color: #fff;
  padding: 10px 20px;
  font-size: 16px;
  border-radius: 8px;
  text-decoration: none;
}

#mainHeader {
  padding: 10px 0px 0px 0px !important;
}

#mainFooter, #mainHeader {
  padding: 10px 0px 0px 0px !important;
}

#logo img {
  max-width: 200px;
  max-height: 60px;
}

#featuredItems .item-box {
  width: 90%;
  border: 1px solid #cbcbcb;
  border-radius: 5px;
  padding: 10px;
}

div#newsbox {
  margin: 0 10px 55px 10px;
}

#utilitynav {
  padding: 0px !important;
}

#item_page_wrap #purchase_form .purchaseButton__btn {
  margin: 0px 0 40px 0px;
}

aside.sidenav {
  padding: 15px;
}

.widget.sociallinks ul li a img {
  width: 32px;
}

.uk-icon {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow: visible;
  font: inherit;
  color: inherit;
  text-transform: none;
  padding: 0;
  background-color: transparent;
  display: inline-block;
  fill: currentcolor;
  line-height: 0;
}

svg:not(:root) {
  overflow: hidden;
}

.uk-icon>* {
  transform: translate(0,0);
}

svg {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

/*　関連・履歴の商品CSS　*/
.cta-items .item-box {
	width: 48.5%;
	height: auto;
}
.item-box a {
  display: block;
  padding: 5px;
  position: relative;
}


}/*　▲▲▲　スマホここまで　▲▲▲　*/

