/* ========================================
   Common
======================================== */
body {
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.5;
}

.is-sp {
    display: none;
}

.l-inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

/* ========================================
   CardParts
======================================== */
.c-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-card__body {
    margin: 20px 0 0;
}

.c-card__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.c-card__category-link {
    display: block;
    font-size: 13px;
    border-radius: 4.795px;
    background: #F0E9E1;
    padding: 2.5px 9px;
}

.c-card__title-link {
    display: block;
    font-size: 19px;
    margin: 10px 0 0;
}

.c-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin: 15px 0 0;
    padding: 15px 0 0;
    border-top: 1px dashed #BCBCBC;
}

.c-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
}

.c-card__tag-link {
    display: block;
    color: #666;
    font-size: 14px;
}

.c-card__date-link {
    display: inline-block;
    font-family: "Work Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
}

/* ========================================
   Title
======================================== */
.c-section-title {
    color: #8C7459;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}

.c-heading__sub {
    color: #8C7459;
    text-align: center;
    font-size: 14px;
}

.c-section-title--line {
	display: flex;
	align-items: center;
	gap: 60px;
	width: 100%;
}

.c-section-title--line::before,
.c-section-title--line::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(140, 116, 89, 0.50);
}

/* ========================================
   Category
======================================== */
.p-top-category {
    margin: 70px 0 0;
}

.c-link-list--category {
    margin: 30px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 35px;
}

.c-link-arrow {
    display: block;
    font-size: 18px;
    padding: 0 0 0 33px;
    position: relative;
}

.c-link-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 24px;
	height: 24px;
	background-image: url(../images/icon_arrow_circle.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transform: translateY(-50%);
}

/* ========================================
   Tag
======================================== */
.p-top-tag {
    margin: 70px 0 0;
}

.c-link-list--tag {
    margin: 30px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 12px;
}

.c-pill {
    display: block;
    width: 73px;
    padding: 3px 0 2px;
    color: #666666;
    font-size: 15px;
    border-radius: 100px;
    border: 1px solid #DBD7D7;
    text-align: center;
}

/* ========================================
   Shop
======================================== */
.p-top-shop {
    margin: 130px 0 0;
    padding: 45px 0 65px;
    background: #F0E9E1;
}

.p-top-shop__lead {
    text-align: center;
    font-size: 18px;
    margin: 20px 0 0;
}

.c-shop-link-list {
    display: grid;
	grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin: 30px 0 0;
}

.c-shop-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    background: #FFF;
    padding: 12px 23px;
}

.c-shop-link__body {
    display: flex;
    align-items: center;
    gap: 16px;
}

.c-shop-link__icon {
    display: block;
    width: 46px;
    height: 46px;
    aspect-ratio: 1/1;
    flex-shrink: 0;
}

.c-shop-link__text {
    color: #222222;
}

.c-shop-link__arrow {
    display: block;
    width: 24px;
    height: 24px;
    aspect-ratio: 1/1;
}

/* ========================================
   Header
======================================== */
.l-header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    border-top: 20px solid #F0E9E1;
}

.l-header__inner {
    padding: 15px 35px 15px 45px;
    background: #FFFFFF;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.07);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.l-header__heading {
    display: flex;
    align-items: center;
    gap: 20px;
}

.l-header__logo-link {
    display: block;
    width: 229px;
    flex-shrink: 0;
}

.l-header__lead {
    display: block;
    font-size: 12px;
}

.l-header__cart {
    flex-shrink: 0;
}

.l-header__cart-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 14px 14px 20px;
    border-radius: 10px;
    border: 1px solid #8C7459;
}

.l-header__cart-btn .c-btn__icon {
    display: block;
    width: 22.874px;
}

.l-header__cart-btn .c-btn__label {
    color: #8C7459;
    font-size: 14px;
    font-weight: 600;
}

/* ========================================
   Top - MainVisual
======================================== */
#wpadminbar {
    display: none;
}

.p-top-mainvisual {
    margin: 115px 0 0;
}

.swiper-slide.p-top-mainvisual__slide {
	width: 710px;
}

.c-card__image-wrap--mv {
	width: 100%;
	height: 400px;
}

/* デフォルトの青い矢印アイコンを消す */
.swiper-button-prev.p-top-mainvisual__prev::after,
.swiper-button-next.p-top-mainvisual__next::after {
	content: none;
}

/* prev / pagination / next を横並びに */
.p-top-mainvisual__nav {
    width: 270px;
    margin: 5px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper-button-prev.p-top-mainvisual__prev,
.swiper-button-next.p-top-mainvisual__next {
	position: static; /* Swiperデフォルトのabsolute配置を解除 */
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
    width: 34px;
    height: 34px;
    background: #608E88;
    border-radius: 50%;
    padding: 3px 0;
}

.p-top-mainvisual__prev img,
.p-top-mainvisual__next img {
    width: 19px;
    height: 19px;
}

.swiper-pagination.p-top-mainvisual__pagination {
	position: static;
}

.swiper-pagination-bullets.swiper-pagination-horizontal.p-top-mainvisual__pagination {
    display: inline-flex;
    justify-content: center;
    gap: 17px;
    width: calc(100% - 68px);
}

.p-top-mainvisual__pagination .swiper-pagination-bullet {
	width: 7.844px;
    height: 7.844px;
    border-radius: 7.844px;
    background: rgba(96, 142, 136);
    margin: 0 !important;
}

.p-top-mainvisual__pagination .swiper-pagination-bullet-active {
    background: #608E88;
    position: relative;
}

.p-top-mainvisual__pagination .swiper-pagination-bullet-active::before {
    content: '';
    width: 23.531px;
    height: 23.531px;
    border-radius: 23.531px;
    border: 1.238px solid #608E88;
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
}

/* ========================================
   Top - Genre
======================================== */
.p-top-intro {
    margin: 60px 0 0;
}

.p-top-intro__inner {
	text-align: center;
}

.p-top-intro__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.p-top-intro__icon {
    display: block;
    width: 66px;
}

.p-top-intro__heading-text {
    font-size: 30px;
}

.p-top-intro__lead {
    display: inline-block;
    font-weight: 400;
    margin: 15px 0 0;
    position: relative;
}

.p-top-intro__lead br {
    display: none;
}

.p-top-intro__lead::before,
.p-top-intro__lead::after {
    content: '';
    width: 70px;
    height: 99.53px;
    background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
    position: absolute;
    bottom: -10px;
}

.p-top-intro__lead::before {
    background-image: url(../images/icon_line_left.png);
    left: -80px;
}

.p-top-intro__lead::after {
    background-image: url(../images/icon_line_right.png);
    right: -80px;
}

.p-top-genre {
    margin: 85px 0 0;
}

.p-top-genre__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
    margin: 35px 0 0;
}

.c-card__image-wrap--genre {
    aspect-ratio: 190/107;
}

.p-top-genre__more {
    display: block;
    width: 360px;
    max-width: 100%;
    padding: 24px 20px;
    color: #FFF;
    font-family: "Noto Sans", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    border-radius: 10px;
    background: #608E88;
    text-align: center;
    margin: 40px auto 0;
    position: relative;
}

.c-btn--more::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 24px;
	height: 24px;
	background-image: url(../images/icon_arrow_more.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transform: translateY(-50%);
}

@media (max-width: 929px) {
    .p-top-intro__lead br {
        display: block;
    }

    .p-top-intro__lead::before {
        left: -150px;
    }

    .p-top-intro__lead::after {
        right: -150px;
    }
}

/* ========================================
   Top - Ranking
======================================== */
.p-top-ranking {
    margin: 80px 0 0;
}

.p-top-ranking__list {
    margin: 40px 0 0;
}

.c-card--ranking {
    display: flex;
    margin: 30px 0 0;
    padding: 0 0 25px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.20);
}

.c-card__image-wrap--ranking {
    width: 319px;
    height: 180px;
    aspect-ratio: 140/79;
    position: relative;
}

.c-card__image-wrap--ranking::before {
    content: "";
	position: absolute;
	top: -13px;
	left: -16px;
	width: 47.157px;
    height: 45px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.c-card--ranking:nth-of-type(1) .c-card__image-wrap--ranking::before {
    background-image: url(../images/icon_ranking_01.png);
}

.c-card--ranking:nth-of-type(2) .c-card__image-wrap--ranking::before {
    background-image: url(../images/icon_ranking_02.png);
}

.c-card--ranking:nth-of-type(3) .c-card__image-wrap--ranking::before {
    background-image: url(../images/icon_ranking_03.png);
}

.c-card__body--ranking {
    margin: 0 0 0 30px;
}

.c-card__title-link--ranking {
    font-size: 22px;
}

/* ========================================
   Top - About
======================================== */
.p-top-about {
    margin: 70px 0 60px;
}

.p-top-about__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.p-top-about__logo {
    display: block;
    width: 202px;
    height: 64px;
    aspect-ratio: 101/32;
}

.p-top-about__heading-text {
    color: #8C7459;
    font-size: 22px;
    font-weight: 700;
}

.p-top-about__content {
    display: flex;
    gap: 38px;
    margin: 35px 0 0;
}

.p-top-about__image-wrap {
    width: 39.5%;
    height: 226.316px;
}

.p-top-about__body {
    width: 57.3%;
}

.p-top-about__text {
    font-weight: 400;
    line-height: 190%;
}

.p-top-about__link {
    display: inline-block;
    font-weight: 500;
    line-height: 190%;
    padding: 0 28px 0 0;
    margin: 20px 0 0;
    position: relative;
}

.p-top-about__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    background-image: url(../images/icon_arrow_circle.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-50%);
}

/* ========================================
   Breadcrumb
======================================== */
.c-breadcrumb {
    margin: 120px 0 0;
}

.c-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 18px;
}

.c-breadcrumb__item {
    position: relative;
}

.c-breadcrumb__item:not(:last-child)::after {
	content: "";
	width: 6px;
	height: 12px;
	background-image: url(../images/icon_breadcrumb_arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
    position: absolute;
    top: 50%;
    right: -13px;
    transform: translateY(-40%);
}

.c-breadcrumb__link,
.c-breadcrumb__current {
    display: block;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.77px;
}

.c-breadcrumb__link {
    text-decoration: underline;
}

/* ========================================
   Archive
======================================== */
.p-archive {
    margin: 35px 0 110px;
}

.p-archive__layout {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.p-archive__main {
    width: 66.667%;
}

.p-archive__title {
    color: #8C7459;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}

.p-archive__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 35px;
    margin: 90px 0 0;
}

.c-card__image-wrap--archive {
    aspect-ratio: 183/103;
}

.p-archive__pagination {
    margin: 25px 0 0;
}

.c-pagination {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.c-pagination__link:not(.c-pagination__link--prev):not(.c-pagination__link--next),
.c-pagination__ellipsis {
    color: #000;
    font-family: "Work Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
}

.c-pagination__link.is-current {
    position: relative;
}

.c-pagination__link.is-current::before {
    content: '';
    width: 30px;
    height: 30px;
    border: 2px solid #608E88;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-pagination__link--prev,
.c-pagination__link--next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: #608E88;
    border-radius: 50%;
    padding: 3px 0;
    margin: -3px 0 0;
}

.c-pagination__link--prev img,
.c-pagination__link--next img {
    width: 19px;
    height: 19px;
}

@media (max-width: 1000px) {
    .p-archive__list {
    	grid-template-columns: repeat(1, 1fr);
        margin: 15px 0 0;
    }
}

/* ========================================
   Single
======================================== */
.p-single {
    margin: 35px 0 95px;
}

.p-single__layout {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.p-single__main {
    width: 66.667%;
}

.p-single__meta {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.p-single__title {
    font-size: 30px;
    font-weight: 700;
    margin: 15px 0 0;
    padding: 0 0 25px;
    border-bottom: 1.238px dashed #BCBCBC;
}

.p-single__thumbnail {
    margin: 40px 0 0;
}

.p-single__content p:not(.toc_title) {
    font-family: "Noto Sans", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 170%;
    margin: 25px 0 0;
}

.p-single__content h2 {
    color: #8C7459;
    font-size: 28px;
    font-weight: 700;
    line-height: 160%;
    margin: 50px 0 0;
}

.p-single__content h3 {
    color: #8C7459;
    font-size: 25px;
    font-weight: 700;
    line-height: normal;
    padding: 10px 30px 10px 10px;
    background: #F0E9E1;
    margin: 50px 0 0;
}

.p-single__content h4 {
    color: #8C7459;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0 15px;
    margin: 50px 0 0;
    position: relative;
}

.p-single__content h4::before {
    content: '';
    width: 2px;
    height: 100%;
    background: #8C7459;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-45%);
}

.p-single__content h5 {
    color: #8C7459;
    font-size: 22px;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 20px;
    margin: 50px 0 0;
    position: relative;
}

.p-single__content h5::before,
.p-single__content h5::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #8C7459;
    position: absolute;
    left: 0;
}

.p-single__content h5::before {
    bottom: 4px;
}

.p-single__content h5::after {
    bottom: 0;
}

.p-single__content h6 {
    color: #8C7459;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0 15px;
    margin: 50px 0 0;
    position: relative;
}

.p-single__content h6::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 2px;
    background: #8C7459;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.p-single__content ul:not(.toc_list) {
	list-style-type: disc;
	list-style-position: inside;
    margin: 25px 0 0;
}

.p-single__content ol {
	list-style-type: decimal;
	list-style-position: inside;
    margin: 25px 0 0;
}

.p-single__content li {
    font-family: "Noto Sans", sans-serif;
    font-size: 17px;
    line-height: 170%;
}

.p-single__content a:not(.wp-block-button__link),
.p-single__content a:not(.wp-element-button) {
    color: #608E88;
    text-decoration: underline;
}

.p-single__content img {
    margin: 25px 0 0;
}

.c-product-card {
    display: flex;
    gap: 18px;
    padding: 20px 30px 25px 20px;
    border: 1px solid #BCBCBC;
    margin: 50px 0 0;
}

.c-product-card__image-wrap {
    width: 150px;
    height: 150px;
    flex-shrink: 0;
}

.c-product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-product-card__title {
    font-weight: 700;
    line-height: 170%;
    text-decoration: underline;
}

.c-product-card__brand {
    color: #608E88;
    font-family: "Noto Sans", sans-serif;
    font-size: 14px;
    line-height: 170%;
}

.c-product-card__desc {
    font-family: "Noto Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 6px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.c-product-card__link {
    display: block;
    color: #FFF;
    font-family: "Noto Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    background: #8C7459;
    max-width: 217px;
    padding: 10px 20px;
    margin: 10px 0 0;
    position: relative;
}

.c-product-card__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 26px;
    width: 16px;
    height: 16px;
    background-image: url(../images/icon_arrow_more.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-60%);
}

.p-single__tags {
    margin: 70px 0 0;
}

.p-single__post-nav {
    display: flex;
    margin: 60px 0 0;
    padding: 25px 15px;
    border-top: 1.24px solid #BCBCBC;
    border-bottom: 1.24px solid #BCBCBC;
}

.p-single__post-nav-link {
    display: flex;
    gap: 13px;
    align-items: center;
}

.p-single__post-nav-link--prev {
    margin-right: auto;
}

.p-single__post-nav-link--next {
    margin-left: auto;
}

.p-single__post-nav-link img {
    display: block;
    width: 24px;
    height: 24px;
}

.p-single__post-nav-text {
    display: inline-block;
    font-size: 15px;
    line-height: normal;
    margin: 0 0 1px;
}

.p-single__related {
    margin: 60px 0 0;
}

.p-single__related-heading {
    display: flex;
    gap: 10px;
}

.p-single__related-icon {
    display: block;
    width: 58px;
    height: 42px;
}

.p-single__related-heading .c-section-title {
    font-size: 26px;
}

.p-single__related-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 44px;
    margin: 35px 0 0;
}

.c-card__image-wrap--related {
    aspect-ratio: 190/107;
}

@media (max-width: 929px) {
    .c-product-card {
        display: block;
    }

    .c-product-card__image-wrap {
        width: 100%;
    }

    .c-product-card__body {
        margin: 20px 0 0;
    }

    .c-product-card__link {
        margin: 10px auto 0;
    }
}

/* ========================================
   TOC+
======================================== */
#toc_container {
    margin: 40px auto 0;
    width: 100% !important;
    max-width: 565px;
    padding: 20px 30px 25px;
    border: 1px solid #BCBCBC;
}

#toc_container.contracted {
    width: auto !important;
    max-width: 100%;
}

.toc_title {
    font-family: "Noto Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 170%;
}

.toc_toggle {
    display: inline-block;
    margin: 0 0 0 4px;
}

.toc_toggle .toc_brackets {
    color: #666666;
    font-weight: 400;
    line-height: 170%;
}

.toc_list {
    margin: 10px 0 0;
}

.toc_list li:not(:first-of-type) {
    margin: 5px 0 0;
}

/* ========================================
   Sidebar
======================================== */
.l-sidebar {
    width: 335px;
}

.c-widget:not(.c-widget--about):not(.c-widget--shop) {
    margin: 60px 0 0;
}

.c-section-title--sidebar {
    font-size: 20px;
}

.c-heading__sub--sidebar {
    font-size: 14px;
}

.c-card--sidebar {
    display: flex;
    gap: 10px;
    margin: 30px 0 0;
}

.c-card__image-wrap--sidebar {
    width: 168px;
    height: 95px;
    aspect-ratio: 168/95;
    flex-shrink: 0;
}

.c-card__body--sidebar {
    margin: 0;
}

.c-card__category-link--sidebar {
    font-size: 12px;
    padding: 2.5px 11px;
}

.c-card__title-link--sidebar {
    font-size: 14px;
}

.c-card__date-link--sidebar {
    font-size: 13px;
}

.c-widget--about {
    padding: 25px 35px 15px;
    border: 10px solid #F0E9E1;
    text-align: center;
    margin: 0;
}

.c-widget-about__heading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.c-widget-about__logo {
    display: block;
    width: 165px;
    height: 52px;
    aspect-ratio: 165/52;
}

.c-widget-about__heading-text {
    color: #8C7459;
    font-size: 18px;
    font-weight: 700;
}

.c-widget-about__badges {
    display: flex;
    justify-content: center;
    margin: 12px 0 0;
}

.c-widget-about__badge {
    width: 87px;
    height: 77px;
    aspect-ratio: 87/77;
}

.c-widget-about__text {
    color: #000;
    font-size: 13px;
    font-weight: 400;
    line-height: 160%;
    text-align: left;
    margin: 12px 0 0;
}

.c-widget-about__divider {
	margin: 17px -35px 0;
	border-bottom: 1.238px dashed #BCBCBC;
}

.c-widget-about__link {
    display: inline-block;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    padding: 0 30px 0 0;
    margin: 13px 0 0;
    position: relative;
}

.c-widget-about__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    background-image: url(../images/icon_arrow_circle.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-50%);
}

.c-card__image-wrap--sidebar {
    position: relative;
}

.c-card__image-wrap--sidebar::before {
    content: "";
    position: absolute;
    top: -18px;
    left: -8.5px;
    width: 36.571px;
    height: 36.571px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.c-card--sidebar-ranking:nth-of-type(1) .c-card__image-wrap--sidebar::before {
    background-image: url(../images/icon_ranking_01.png);
}

.c-card--sidebar-ranking:nth-of-type(2) .c-card__image-wrap--sidebar::before {
    background-image: url(../images/icon_ranking_02.png);
}

.c-card--sidebar-ranking:nth-of-type(3) .c-card__image-wrap--sidebar::before {
    background-image: url(../images/icon_ranking_03.png);
}

.c-link-list--category {
    margin: 25px 0 0;
    gap: 15px 25px;
}

.c-link-arrow--sidebar {
    font-size: 16px;
}

.c-link-list--tag.c-link-list--sidebar {
    margin: 25px 0 0;
    gap: 10px;
}

.c-pill--sidebar {
    width: 65px;
    padding: 1px 0;
    font-size: 13px;
}

.c-widget--shop {
    margin: 80px 0 0;
    padding: 30px 20px 25px;
    background: #F0E9E1;
}

.c-widget-shop__lead {
    text-align: center;
    font-size: 13px;
    margin: 18px 0 0;
}

.c-shop-link-list--sidebar {
    display: block;
    margin: 20px 0 0;
}

.c-shop-link-list__item--sidebar {
    margin: 5px 0 0;
}

.c-shop-link--sidebar {
    gap: 20px;
    padding: 10px 27px 9px 18px;
}

.c-shop-link-list__item--sidebar .c-shop-link__icon {
    width: 42px;
    height: 42px;
}

.c-shop-link-list__item--sidebar .c-shop-link__text {
    font-size: 14px;
}

/* ========================================
   Footer
======================================== */
.l-footer__social-list {
    display: flex;
    justify-content: center;
    gap: 23px;
}

.l-footer__social-link {
    display: block;
    width: 40px;
    height: 40px;
}

.l-footer__bottom {
    padding: 20px 0;
    background: #8C7459;
    margin: 45px 0 0;
}

.l-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    align-self: center;
}

.l-footer__nav-list {
    display: flex;
    flex-wrap: wrap;
    align-self: center;
    gap: 5px 28px;
}

.l-footer__nav-link {
    color: #FFF;
    font-family: "Noto Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.l-footer__copyright {
    color: #FFF;
    font-family: "Noto Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    /* ========================================
       Common
    ======================================== */
    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }

    /* ========================================
       CardParts
    ======================================== */
    .c-card__body {
        margin: 5.3333vw 0 0;
    }

    .c-card__body--mv {
        margin: 5.3333vw auto 0;
        padding: 0 5.3333vw;
    }

    .c-card__category-link {
        font-size: 3.2vw;
        border-radius: 1.1635vw;
        padding: 0.6667vw 2.2667vw;
    }

    .c-card__title-link {
        font-size: 4.8vw;
        margin: 1.3333vw 0 0;
    }

    .c-card__meta {
        margin: 3.2vw 0 0;
        padding: 3.2vw 0 0;
        border-top: 0.2667vw dashed #BCBCBC;
    }

    .c-card__tags {
        gap: 0 4vw;
    }

    .c-card__tag-link {
        font-size: 3.2vw;
    }

    .c-card__date-link {
        font-size: 3.2vw;
    }

    /* ========================================
       Title
    ======================================== */
    .c-section-title {
        font-size: 5.3333vw;
    }

    .c-heading__sub {
        font-size: 3.7333vw;
    }

    .c-section-title--line {
    	gap: 8vw;
    }

    .c-section-title--line::before,
    .c-section-title--line::after {
    	height: 0.2667vw;
    }

    /* ========================================
       Category
    ======================================== */
    .p-top-category {
        margin: 17.3333vw 0 0;
    }

    .c-link-list--category {
        margin: 6.6667vw 0 0;
        gap: 4vw 6.6667vw;
    }

    .c-link-arrow {
        font-size: 4.2667vw;
        padding: 0 0 0 8.8vw;
    }

    .c-link-arrow::after {
    	width: 6.4vw;
    	height: 6.4vw;
    }

    /* ========================================
       Tag
    ======================================== */
    .p-top-tag {
        margin: 14.6667vw 0 0;
    }

    .c-link-list--tag {
        margin: 6.6667vw 0 0;
        gap: 2.6667vw;
    }

    .c-pill {
        width: 17.3333vw;
        padding: 0.2667vw 0;
        color: #666666;
        font-size: 3.4667vw;
        border: 0.2667vw solid #DBD7D7;
    }

    /* ========================================
       Shop
    ======================================== */
    .p-top-shop {
        margin: 14.6667vw 0 0;
        padding: 8vw 0 13.3333vw;
    }

    .p-top-shop__lead {
        font-size: 3.7333vw;
        margin: 5.3333vw 0 0;
    }

    .c-shop-link-list {
        display: block;
        margin: 5.3333vw 0 0;
    }

    .c-shop-link-list__item {
        margin: 1.3333vw 0 0;
    }

    .c-shop-link {
        gap: 5.3333vw;
        padding: 2.4vw 7.2vw 2.4vw 4.8vw;
    }

    .c-shop-link__body {
        gap: 3.2vw;
    }

    .c-shop-link__icon {
        width: 11.2vw;
        height: 11.2vw;
    }

    .c-shop-link__text {
        font-size: 3.7333vw;
    }

    .c-shop-link__arrow {
        width: 6.4vw;
        height: 6.4vw;
    }

    /* ========================================
       Header
    ======================================== */
    .l-header {
        border-top: 2.6667vw solid #F0E9E1;
    }

    .l-header__inner {
        padding: 2.6667vw 4vw 2.6667vw 5.3333vw;
        box-shadow: none;
    }

    .l-header__heading {
        display: block;
    }

    .l-header__logo-link {
        width: 39.4667vw;
    }

    .l-header__lead {
        display: none;
    }

    .l-header__cart {
        flex-shrink: 1;
    }

    .l-header__cart-btn {
        gap: 1.0667vw;
        padding: 3.2vw;
        border-radius: 2.6667vw;
        border: 0.2667vw solid #8C7459;
    }

    .l-header__cart-btn .c-btn__icon {
        width: 4.9907vw;
    }

    .l-header__cart-btn .c-btn__label {
        font-size: 2.6667vw;
        line-height: 120%;
    }

    /* ========================================
       Top - MainVisual
    ======================================== */
    .p-top-mainvisual {
    	margin: 21.3333vw 0 0;
    }

    .swiper-slide.p-top-mainvisual__slide {
    	width: 100%;
    }

    .c-card__image-wrap--mv {
    	height: 56vw;
    }

    .p-top-mainvisual__nav {
        width: 72vw;
        margin: 5.3333vw auto 0;
    }

    .swiper-button-prev.p-top-mainvisual__prev,
    .swiper-button-next.p-top-mainvisual__next {
        width: 9.0667vw;
        height: 9.0667vw;
        padding: 0.8vw 0;
    }

    .p-top-mainvisual__prev img,
    .p-top-mainvisual__next img {
        width: 5.0667vw;
        height: 5.0667vw;
    }

    .swiper-pagination-bullets.swiper-pagination-horizontal.p-top-mainvisual__pagination {
        gap: 4.5333vw;
        width: calc(100% - 18.1333vw);
    }

    .p-top-mainvisual__pagination .swiper-pagination-bullet {
    	width: 2.0917vw;
        height: 2.0917vw;
        border-radius: 2.0917vw;
    }

    .p-top-mainvisual__pagination .swiper-pagination-bullet-active::before {
        width: 6.2749vw;
        height: 6.2749vw;
        border-radius: 6.2749vw;
        border: 0.3301vw solid #608E88;
        top: -2.1333vw;
    }

    /* ========================================
       Top - Genre
    ======================================== */
    .p-top-intro {
        margin: 8vw 0 0;
    }

    .p-top-intro__inner {
    	text-align: left;
    }

    .p-top-intro__heading {
        gap: 2.4vw;
    }

    .p-top-intro__icon {
        width: 8.2667vw;
    }

    .p-top-intro__heading-text {
        font-size: 4.2667vw;
    }

    .p-top-intro__lead {
        display: block;
        width: 67.4667vw;
        margin: 4vw auto 0;
        font-size: 3.7333vw;
    }

    .p-top-intro__lead br {
        display: none;
    }

    .p-top-intro__lead::before,
    .p-top-intro__lead::after {
        width: 10.2267vw;
        height: 14.5413vw;
        bottom: -0.8vw;
    }

    .p-top-intro__lead::before {
        left: -12vw;
    }

    .p-top-intro__lead::after {
        right: -12vw;
    }

    .p-top-genre {
        margin: 16vw 0 0;
    }

    .p-top-genre:first-of-type {
        margin: 8vw;
    }

    .p-top-genre__list {
    	display: block;
        margin: 6.6667vw 0 0;
    }

    .c-card--genre {
        display: flex;
        gap: 2.6667vw;
        margin: 6.6667vw 0 0;
    }

    .c-card--genre:first-of-type {
        margin: 0;
    }

    .c-card__image-wrap--genre {
        width: 44.8vw;
        height: 25.3333vw;
        aspect-ratio: 168/95;
        flex-shrink: 0;
    }

    .c-card__body--genre {
        margin: 0;
    }

    .c-card__title-link--genre {
        font-size: 3.7333vw;
    }

    .p-top-genre__more {
        width: 100%;
        padding: 4.2667vw 5.3333vw;
        font-size: 4.2667vw;
        margin: 6.6667vw auto 0;
    }

    .c-btn--more::after {
    	right: 5.3333vw;
    	width: 4.8vw;
    	height: 4.8vw;
    }

    /* ========================================
　　   Top - Ranking
　　======================================== */
    .p-top-ranking {
        margin: 16vw 0 0;
    }

    .p-top-ranking__list {
        margin: 0;
    }

    .c-card--ranking {
        display: block;
        margin: 9.3333vw 0 0;
        padding: 0 0 6.6667vw;
    }

    .c-card--ranking:first-of-type {
        margin: 6.6667vw 0 0;
    }

    .c-card--ranking:last-of-type {
        border-bottom: none;
    }

    .c-card__image-wrap--ranking {
        width: 100%;
        height: 50.4vw;
        aspect-ratio: 335/189;
    }

    .c-card__image-wrap--ranking::before {
    	top: -3.4667vw;
    	left: -4.2667vw;
    	width: 12.5752vw;
        height: 12vw;
    }

    .c-card__body--ranking {
       margin: 5.3333vw 0 0;
    }

    .c-card__title-link--ranking {
        font-size: 4.8vw;
    }

    /* ========================================
       Top - About
    ======================================== */
    .p-top-about {
        margin: 14.6667vw 0 10.6667vw;
    }

    .p-top-about__heading {
        gap: 1.6vw;
    }

    .p-top-about__logo {
        width: 53.8667vw;
        height: 17.0667vw;
        aspect-ratio: 101/32;
    }

    .p-top-about__heading-text {
        font-size: 5.3333vw;
    }

    .p-top-about__content {
        display: block;
        margin: 7.2vw 0 0;
    }

    .p-top-about__image-wrap {
        width: 100vw;
        height: 47.7459vw;
        margin-left: 50%;
        transform: translateX(-50%);
    }

    .p-top-about__body {
        width: 100%;
        margin-top: 5.8667vw;
    }

    .p-top-about__text {
        font-size: 3.7333vw;
    }

    .p-top-about__link {
        font-size: 3.7333vw;
        padding: 0 8vw 0 0;
        margin: 1.8667vw 0 0;
    }

    .p-top-about__link::after {
        width: 5.3333vw;
        height: 5.3333vw;
    }

    /* ========================================
       Breadcrumb
    ======================================== */
    .c-breadcrumb {
        margin: 15.625vw 0 0;
    }

    .c-breadcrumb__list {
        gap: 1.3333vw 4.8vw;
    }

    .c-breadcrumb__item:not(:last-child)::after {
    	width: 1.6vw;
    	height: 3.2vw;
        right: -3.4667vw;
    }

    .c-breadcrumb__link,
    .c-breadcrumb__current {
        font-size: 2.9333vw;
        letter-spacing: 0.2053vw;
    }

    /* ========================================
       Archive
    ======================================== */
    .p-archive {
        margin: 5.3333vw 0 12vw;
    }

    .p-archive__layout {
        display: block;
    }

    .p-archive__main {
        width: 100%;
    }

    .p-archive__title {
        font-size: 5.3333vw;
    }

    .p-archive__list {
    	display: block;
        margin: 0;
    }

    .c-card--archive {
        display: flex;
        gap: 2.6667vw;
        margin: 8vw 0 0;
    }

    .c-card__image-wrap--archive {
        width: 44.8vw;
        height: 25.3333vw;
        aspect-ratio: 168/95;
    }

    .c-card__body--archive {
        margin: 0;
    }

    .c-card__title-link--archive {
        font-size: 3.7333vw;
    }

    .p-archive__pagination {
        margin: 12vw 0 0;
    }

    .c-pagination {
        gap: 5.3333vw;
    }

    .c-pagination__link:not(.c-pagination__link--prev):not(.c-pagination__link--next),
    .c-pagination__ellipsis {
        font-size: 5.3333vw;
    }

    .c-pagination__link.is-current::before {
        width: 8vw;
        height: 8vw;
        border: 0.5333vw solid #608E88;
    }

    .c-pagination__link--prev,
    .c-pagination__link--next {
        width: 9.0667vw;
        height: 9.0667vw;
        padding: 0.8vw 0;
        margin: -0.8vw 0 0;
    }

    .c-pagination__link--prev img,
    .c-pagination__link--next img {
        width: 5.0667vw;
        height: 5.0667vw;
    }

    /* ========================================
       Single
    ======================================== */
    .p-single {
        margin: 5.3333vw 0 12vw;
    }

    .p-single__layout {
        display: block;
    }

    .p-single__main {
        width: 100%;
    }

    .p-single__meta {
        gap: 4vw;
    }

    .p-single__title {
        font-size: 5.0667vw;
        margin: 4vw 0 0;
        padding: 0 0 4vw;
        border-bottom: 0.3301vw dashed #BCBCBC;
    }

    .p-single__thumbnail {
        margin: 5.3333vw 0 0;
    }

    .p-single__content p:not(.toc_title) {
        font-size: 3.7333vw;
        margin: 5.3333vw 0 0;
    }

    .p-single__content h2 {
        font-size: 4.8vw;
        margin: 10.6667vw 0 0;
    }

    .p-single__content h3 {
        font-size: 4.8vw;
        padding: 2.6667vw 4vw;
        margin: 10.6667vw 0 0;
    }

    .p-single__content h4 {
        font-size: 4.5333vw;
        padding: 0 0 0 4vw;
        margin: 10.6667vw 0 0;
    }

    .p-single__content h4::before {
        width: 0.5333vw;
    }

    .p-single__content h5 {
        font-size: 4.2667vw;
        padding: 0 0 3.4667vw;
        margin: 10.6667vw 0 0;
    }

    .p-single__content h5::before,
    .p-single__content h5::after {
        height: 0.2667vw;
    }

    .p-single__content h5::before {
        bottom: 1.0667vw;
    }

    .p-single__content h6 {
        font-size: 4.2667vw;
        padding: 0 0 0 4vw;
        margin: 10.6667vw 0 0;
    }

    .p-single__content h6::before {
        width: 4vw;
        height: 0.5333vw;
    }

    .p-single__content ul:not(.toc_list) {
        margin: 6.6667vw 0 0;
    }

    .p-single__content ol {
        margin: 6.6667vw 0 0;
    }

    .p-single__content li {
        font-size: 3.7333vw;
    }

    .p-single__content img {
        margin: 6.6667vw 0 0;
    }

    .c-product-card {
        display: block;
        padding: 8vw 10.6667vw 9.3333vw;
        border: 0.2667vw solid #BCBCBC;
        margin: 8vw 0 0;
    }

    .c-product-card__image-wrap {
        width: 66.6667vw;
        height: 66.6667vw;
    }

    .c-product-card__title {
        font-size: 4vw;
        font-weight: 500;
        line-height: 150%;
    }

    .c-product-card__brand {
        font-size: 3.7333vw;
        margin: 1.3333vw 0 0;
    }

    .c-product-card__desc {
        font-size: 3.4667vw;
        margin: 1.3333vw 0 0;
        -webkit-line-clamp: 4;
    }

    .c-product-card__link {
        max-width: 100%;
        padding: 3.2vw 16vw 3.2vw 13.3333vw;
        margin: 2.6667vw 0 0;
        text-align: center;
    }

    .c-product-card__link::after {
        right: 8.8vw;
        width: 4.2667vw;
        height: 4.2667vw;
    }

    .p-single__tags {
        margin: 8vw 0 0;
    }

    .p-single__post-nav {
        margin: 9.3333vw 0 0;
        padding: 5.3333vw 1.3333vw;
        border-top: 0.3307vw solid #BCBCBC;
        border-bottom: 0.3307vw solid #BCBCBC;
    }

    .p-single__post-nav-link {
        gap: 2.6667vw;
    }

    .p-single__post-nav-link img {
        width: 6.4vw;
        height: 6.4vw;
    }

    .p-single__post-nav-text {
        font-size: 3.4667vw;
        margin: 0 0 0.2667vw;
    }

    .p-single__related {
        margin: 16vw 0 0;
    }

    .p-single__related-heading {
        gap: 3.2vw;
    }

    .p-single__related-icon {
        width: 13.8667vw;
        height: 10.1333vw;
    }

    .p-single__related-heading .c-section-title {
        font-size: 5.3333vw;
    }

    .p-single__related-list {
        display: block;
        margin: 0;
    }

    .c-card--related {
        margin: 6.6667vw 0 0;
    }

    .c-card__image-wrap--related {
        aspect-ratio: 167/94;
    }

    /* ========================================
       TOC+
    ======================================== */
    #toc_container {
        margin: 5.333vw auto 0;
        max-width: 100%;
        padding: 5.333vw 6.667vw;
    }

    .toc_title {
        font-size: 4.267vw;
    }

    .toc_toggle {
        margin: 0 0 0 0.533vw;
    }

    .toc_toggle .toc_brackets {
        font-size: 3.733vw;
    }

    .toc_list {
        margin: 1.333vw 0 0;
    }

    .toc_list li:not(:first-of-type) {
        margin: 1.333vw 0 0;
    }

    /* ========================================
       Sidebar
    ======================================== */
    .l-sidebar {
        width: 100%;
    }

    .c-widget:not(.c-widget--about):not(.c-widget--shop) {
        margin: 13.3333vw 0 0;
    }

    .c-section-title--sidebar {
        font-size: 5.3333vw;
    }

    .c-heading__sub--sidebar {
        font-size: 3.7333vw;
    }

    .c-card--sidebar {
        gap: 2.6667vw;
        margin: 8vw 0 0;
    }

    .c-card__image-wrap--sidebar {
        width: 44.8vw;
        height: 25.3333vw;
    }

    .c-card__body--sidebar {
        margin: 0;
    }

    .c-card__category-link--sidebar {
        font-size: 3.2vw;
        padding: 0.6667vw 2.9333vw;
    }

    .c-card__title-link--sidebar {
        font-size: 3.7333vw;
    }

    .c-card__date-link--sidebar {
        font-size: 3.4667vw;
    }

    .c-widget--about {
        padding: 6.6667vw 9.3333vw 4vw;
        border: 2.6667vw solid #F0E9E1;
        margin: 16vw 0 0;
    }

    .c-widget-about__heading {
        gap: 1.3333vw;
    }

    .c-widget-about__logo {
        width: 44vw;
        height: 13.8667vw;
    }

    .c-widget-about__heading-text {
        font-size: 4.8vw;
    }

    .c-widget-about__badges {
        margin: 3.2vw 0 0;
    }

    .c-widget-about__badge {
        width: 23.2vw;
        height: 20.5333vw;
    }

    .c-widget-about__text {
        font-size: 3.4667vw;
        margin: 3.2vw 0 0;
    }

    .c-widget-about__divider {
    	margin: 4.5333vw -9.3333vw 0;
    	border-bottom: 0.3301vw dashed #BCBCBC;
    }

    .c-widget-about__link {
        font-size: 3.7333vw;
        padding: 0 8vw 0 0;
        margin: 3.4667vw 0 0;
    }

    .c-widget-about__link::after {
        width: 5.3333vw;
        height: 5.3333vw;
    }

    .c-card__image-wrap--sidebar::before {
        top: -5.3333vw;
        left: -2.2667vw;
        width: 10.6667vw;
        height: 10.1787vw;
    }

    .c-link-list--category {
        margin: 6.6667vw 0 0;
        gap: 4vw 6.6667vw;
    }

    .c-link-arrow--sidebar {
        font-size: 4.2667vw;
    }

    .c-link-list--tag.c-link-list--sidebar {
        margin: 6.6667vw 0 0;
        gap: 2.6667vw;
    }

    .c-pill--sidebar {
        width: 17.3333vw;
        padding: 0.2667vw 0;
        font-size: 3.4667vw;
    }

    .c-widget--shop {
        margin: 14.6667vw 0 0;
        padding: 8vw 5.3333vw 6.6667vw;
    }

    .c-widget-shop__lead {
        font-size: 3.4667vw;
        margin: 4.8vw 0 0;
    }

    .c-shop-link-list--sidebar {
        margin: 5.3333vw 0 0;
    }

    .c-shop-link-list__item--sidebar {
        margin: 1.3333vw 0 0;
    }

    .c-shop-link--sidebar {
        gap: 5.3333vw;
        padding: 2.6667vw 7.2vw 2.4vw 4.8vw;
    }

    .c-shop-link-list__item--sidebar .c-shop-link__icon {
        width: 11.2vw;
        height: 11.2vw;
    }

    .c-shop-link-list__item--sidebar .c-shop-link__text {
        font-size: 3.7333vw;
    }

    /* ========================================
       Footer
    ======================================== */
    .l-footer__social-list {
        gap: 6.1333vw;
    }

    .l-footer__social-link {
        width: 10.6667vw;
        height: 10.6667vw;
    }

    .l-footer__bottom {
        padding: 4vw 0;
        margin: 10.6667vw 0 0;
    }

    .l-footer__bottom-inner {
        display: block;
    }

    .l-footer__nav-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8vw 0;
    }

    .l-footer__nav-link {
        font-size: 3.4667vw;
    }

    .l-footer__copyright {
        font-size: 2.6667vw;
        flex-shrink: 1;
        text-align: center;
        margin: 4vw 0 0;
    }
}

@media (max-width: 499px) {
    /* ========================================
       Breadcrumb
    ======================================== */
    .c-breadcrumb {
        margin: 12vw 0 0;
    }
}