﻿@charset "UTF-8";

/* ---- 共通 ---- */
.sp {
	display: none;
}

.bg-gray {
	background: #EFEFEF;
}

.block-category-list-head {
	text-align: center;
}

.block-category-list--header-img img {
	width: 100%;
}

.block-category-list--header {
	text-align: center;
	border: 0;
}

.block-category-mv {
	line-height: 0;
}

.block-category-mv img {
	width: 100%;
}

.block-category-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 35px;
	padding: 40px 0;
}

.block-category-head--title-logo {
	line-height: 0;
}

#gift .block-category-head--title-logo img {
	width: 375px;
}

#health .block-category-head--title-logo img {
	width: 425px;
}

#hobby .block-category-head--title-logo img {
	width: 300px;
}

.block-category-head--title h1 {
	font-size: 14px;
	font-weight: normal;
	margin: 15px 0 0;
	text-align: center;
}

.block-category-head--text {
	width: 700px;
	font-size: 14px;
}

.block-category-slider {
	opacity: 0;
	padding: 0 0 110px;
	transition: .3s ease;
}

.block-category-slider.show {
	opacity: 1;
}

.block-category-slider .swiper-button-prev,
.block-category-slider .swiper-button-next {
	top: calc(50% - 40px);
	width: 80px;
	height: 80px;
	transition: .3s ease;
}

.block-category-slider .swiper-button-prev {
	left: -40px;
	background: url(../../img/usr/common/prev.png);
}

.block-category-slider .swiper-button-next {
	right: -40px;
	background: url(../../img/usr/common/next.png);
}

.block-category-slider .swiper-button-prev:after,
.block-category-slider .swiper-button-next:after {
	display: none;
}

.block-category-slider .swiper-button-prev:hover,
.block-category-slider .swiper-button-next:hover {
	opacity: .8;
}

.block-category-slider .swiper-pagination {
	position: static;
	margin: 15px 0 0;
}

.block-category-slider .swiper .swiper-pagination-bullet {
	opacity: 1;
	width: 12px;
	height: 12px;
	background: #E0E0E0;
	margin: 0 7px;
	transition: .3s ease;
}

.block-category-slider .swiper .swiper-pagination-bullet-active {
	background: #444;
}

.block-category-slider .swiper-slide a:hover {
	opacity: .8;
	text-decoration: none;
}

.block-category-slider .swiper-slide p {
	font-size: 14px;
	margin: 5px 0 0;
}

.block-category-shop {
	padding: 120px 0;
}

.block-category-shop--lists {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}

.block-category-shop--lists li {
	width: 220px;
}

.block-category-shop--lists li a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-category-shop--lists li p {
	font-size: 15px;
	text-align: center;
	margin: 10px 0 0;
}

.block-category-ranking {
	padding: 120px 0;
}

.inner {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}

.block-category-ranking-list {
	display: flex;
}

.block-category-ranking-items {
	width: 383px;
	background: #FFF;
	margin: 0 26px 0 0;
	padding: 0 0 35px;
}

.block-category-ranking-items:last-child {
	margin: 0;
}

h3.block-category-ranking-items--title {
	line-height: 0;
	margin: 0;
}

div.block-category-ranking-items--title {
	background-repeat: no-repeat;
	background-size: 100%;
}

#gift div.block-category-ranking-items--title {
	border-bottom: 2px solid #E9081A;
}

div.block-category-ranking-items--title h3 {
	display: flex;
	align-items: center;
	padding: 10px 24px;
	min-height: 130px;
	font-size: 18px;
	font-weight: bold;
	margin: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 0) 0, #FFF 80%);
}

.block-category-ranking-items ul {
	padding: 20px;
}

.block-category-ranking-item:not(:last-child) {
	padding: 0 0 20px;
	margin: 0 0 20px;
	border-bottom: 1px dashed #DDD;
}

.block-category-ranking-item a {
	position: relative;
	display: flex;
	align-items: center;
}

.block-category-ranking-item a:hover {
	opacity: .8;
	text-decoration: none;
}

.block-category-ranking-item--rank {
	position: absolute;
	top: 5px;
	left: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: #FFF;
	font-size: 14px;
	padding: 2px 0 0;
}

.block-category-ranking-item--rank-1 {
	background: #C49B3F;
}

.block-category-ranking-item--rank-2 {
	background: #AAA;
}

.block-category-ranking-item--rank-3 {
	background: #AD795D;
}

.block-category-ranking-item--img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 140px;
	margin: 0 20px 0 0;
}

.block-category-ranking-item--img img {
	max-width: 100%;
	max-height: 100%;
}

.block-category-ranking-item--description {
	flex: 1;
}

.block-category-ranking-item--name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-size: 15px;
	line-height: 1.3;
	margin: 0 0 10px;
}

.block-category-ranking-item--price span {
	font-size: 12px;
	margin: 0 0 0 5px;
}

.block-category-recommend {
	padding: 120px 0;
	border-bottom: 1px solid #EFEFEF;
}

.block-category-recommend .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.block-category-recommend h2 {
	width: 100%;
}

.block-category-recommend-main {
	width: 530px;
}

.block-category-recommend .block-category-list {
	width: 640px;
}

.block-category-recommend-main--img {
	line-height: 1;
	margin: 0 0 15px;
}

.block-category-recommend-main--img img {
	width: 100%;
}

.block-category-recommend-main a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-category-recommend-main--name {
	padding: 0 16px;
	margin: 0 0 5px;
}

.block-category-recommend-main--price {
	padding: 0 16px;
}

.block-category-recommend-main--price span {
	color: #333;
	font-size: 12px;
	margin: 0 0 0 5px;
}

.block-category-new-list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 25px;
}

.block-category-new-item {
	width: 220px;
}

.block-category-new-item--img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 220px;
	line-height: 0;
	margin: 0 0 10px;
	background: #FFF;
}

.block-category-new-item--img img {
	max-width: 100%;
	max-height: 100%;
}

.block-category-new-item a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-category-new-item--name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 15px;
	line-height: 1.3;
	padding: 0 4px;
	margin: 0 0 10px;
}

.block-category-new-item--price {
	padding: 0 4px;
}

.block-category-new-item--price span {
	color: #333;
	font-size: 12px;
	margin: 0 0 0 5px;
}

.block-category-recommend .block-category-list ul {
	gap: 17px 30px;
}

.block-category-recommend .block-category-new-item {
	width: 173px;
}

.block-category-new {
	padding: 120px 0;
}

.block-category-new .block-btn-more {
	margin-top: 30px;
}

.block-category-event {
	padding: 120px 0 30px;
}

.block-category-event .block-section-title {
	margin: 0;
}

.block-category-event+.block-top-event--goods .block-pickup-list-p {
	width: 1200px;
	margin: 0 auto;
}

.block-category-event-btn {
	padding: 40px 0 120px;
}

.block-category-event.bg-gray,
.block-category-event.bg-gray+.block-top-event--goods,
.block-category-event-btn.bg-gray {
	background: #EFEFEF;
}

.block-event-bnr {
	padding: 120px 0;
}

.block-event-bnr .block-section-title.top {
	display: none;
}

.block-event-bnr--list {
	margin: 0 0 40px;
}

.block-event-bnr--list .block-event-page--accessory {
	display: flex;
	gap: 21px;
}

.block-event-bnr--list .block-top-event--image {
	width: 284px;
	margin: 0;
}

.block-event-bnr--list .block-top-event--image a:hover {
	opacity: .8;
}

.block-event-bnr--list .block-top-event--goods {
	display: none;
}

.block-category-search {
	padding: 120px 0;
}

#hobby .block-category-search {
	padding-top: 0;
}

.block-category-search--section:not(:last-child) {
	margin: 0 0 60px;
}

body:has(.header-category-flg[value="gift"]) .block-category-search h2 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	padding: 0 0 0 13px;
	margin: 0 0 25px;
	border-left: 3px solid #000;
}

body:has(.header-category-flg[value="gift"]) .block-category-search h2 span {
	font-size: 20px;
}

.block-category-search--category {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
}

#hobby .block-category-search--category {
	justify-content: center;
}

.block-category-search--category li {
	width: 290px;
}

.block-category-search--category li a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 13px 35px 13px 20px;
	background: #FFF;
	border-radius: 5px;
}

.block-category-search:not(.bg-gray) .block-category-search--category li a {
	border: 1px solid #AAA;
}

.block-category-search--category li a:after {
	content: '';
	position: absolute;
	top: 0;
	right: 25px;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border-right: 2px solid #444;
	border-bottom: 2px solid #444;
	transform: rotate(-45deg);
}

.block-category-search--category li a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-category-search--category li figure {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 14px 0 0;
}

.block-category-search--category li figure img {
	max-width: 100%;
	max-height: 100%;
}

.block-category-search--category li p {
	flex: 1;
	font-size: 15px;
}

.block-category-search--category-child {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin: 40px 0 0;
}

.block-category-search--category-child li {
	width: 290px;
}

.block-category-search--category-child li a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #FFF;
	border-radius: 5px;
	padding: 13px 35px 13px 20px;
}

.block-category-search--category-child li a:after {
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	right: 25px;
	width: 7px;
	height: 7px;
	border-right: 2px solid #444;
	border-bottom: 2px solid #444;
	transform: rotate(-45deg);
}

.block-category-search--category-child li a:hover {
	opacity: .8;
	text-decoration: none;
}

.block-category-search--category-child li figure {
	width: 45px;
	line-height: 0;
}

.block-category-search--category-child li p {
	flex: 1;
	font-weight: bold;
}

.block-category-search--list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}

.block-category-search--list li {
	width: 190px;
}

.block-category-search--list li a {
	display: block;
	background: #FFF;
	border-radius: 5px;
	font-size: 15px;
	text-align: center;
	padding: 20px 0 18px;
}

.block-category-search--list li a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-top-event--header {
	width: 1200px;
	margin: 0 auto 20px;
}

.block-top-event--goods {
	width: 1200px;
	margin: 0 auto;
}

.block-category-feature {
	padding: 120px 0;
}

.block-category-feature--lists {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 20px;
}

.block-category-feature--lists li {
	width: 285px;
	text-align: center;
}

.block-category-feature--lists li p {
	margin: 5px 0 0;
}

.block-category-feature--lists li a:hover {
	text-decoration: none;
	opacity: .8;
}

.block-category-feature.bg-gray {
	background: #EFEFEF;
}

.block-top-event--goods-bnr {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.block-top-event--goods-bnr .block-top-event--image {
	margin: 0;
	line-height: 0;
}

/* ---- カテゴリトップ ---- */
body:has(.block-category-top) .pane-topic-path,
body:has(.block-category-top) .pane-left-menu {
	display: none;
}

body:has(.block-category-top) .pane-contents .container {
	display: block;
	width: 100%;
}

body:has(.block-category-top) .pane-main {
	margin: 0;
}

/* ---- 子カテゴリ ---- */
body:not(:has(.block-category-top)) main.pane-main {
	width: 900px;
}

body:not(:has(.block-category-top)) .block-category-feature {
	padding: 50px 0;
}

.block-category-list-head + .block-category-list-event .block-category-feature:first-child {
	padding-top: 0;
}

body:not(:has(.block-category-top)) .bg-gray {
	background: none;
}

body:not(:has(.block-category-top)) .block-category-feature--lists li {
	width: 210px;
}

body:not(:has(.block-category-top)) .block-category-new-list ul {
	gap: 25px 20px;
}

body:not(:has(.block-category-top)) .block-category-new-item {
	width: 210px;
}

body:not(:has(.block-category-top)) .block-category-ranking-items {
	border: 1px solid #BBB;
	margin: 0 18px 0 0;
	width: 288px;
}