@charset "UTF-8";
/* SCSSの読み込み */
@import url(all.css);
/*===============================
  カラー変数
=================================*/
/*===============================
  フォント変数
=================================*/
/* font-family */
/* font-weight */
/* 行間削除 */
/*===============================
  Bootstrap icon変数
=================================*/
:root {
  /* カラー */
  --color-text: #555;
  --color-white: #fff;
  --color-main: #a6e4e4;
  --color-accent: #b7d543;
  --color-border: #bfbfbf;
  --color-bg-gray: #f3f1f1;
  --color-bg-sky: #ddeef1;
  --grad-blue-green: linear-gradient(to right, #a6e4e4, #b7d543);
  /* font-family */
  --font-family-shippori: "Shippori Mincho B1", serif;
  --font-family-libre: "Libre Baskerville", serif;
  --font-family-icon: "bootstrap-icons";
  /* font-weight */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semiBold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
}

@media screen and (min-width: 768px) {
  :root {
    /* フォントサイズ */
    --font-size-h1: 4.8rem;
    --font-size-h2: 4rem;
    --font-size-h3: 3.2rem;
    --font-size-h4: 2.6rem;
    --font-size-h5: 2.2rem;
    --font-size-h6: 1.8rem;
    --font-size-base: 1.5rem;
    --font-size-sm: 1.4rem;
    --font-size-xs: 1.2rem;
    /* line-height */
    --line-height-h1: 1;
    --line-height-h2: 1;
    --line-height-h3: 1.25;
    --line-height-h4: 1.5384616;
    --line-height-h5: 1;
    --line-height-h6: 1.5;
    --line-height-base: 2;
    --line-height-sm: 1.714286;
    --line-height-xs: 1.6666667;
    /* letter-spacing */
    --letter-spacing-base: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  :root {
    /* フォントサイズ */
    --font-size-h1: 3.8em;
    --font-size-h2: 3em;
    --font-size-h3: 2.4em;
    --font-size-h4: 2em;
    --font-size-h5: 1.6em;
    --font-size-h6: 1.2em;
    --font-size-base: 1em;
    --font-size-sm: 0.8em;
    --font-size-xs: 0.666667em;
    /* line-height */
    --line-height-title: 1.5;
    --line-height-base: 2;
    --line-height-sm: 1.5;
    --line-height-xs: 2;
    /* letter-spacing */
    --letter-spacing-base: 0.06em;
  }
}
/*===============================================
  切り替え用
===============================================*/
.sp-none {
  display: none !important;
}

/*===============================================
  ページネーション
===============================================*/
.pagenation {
  font-size: var(--font-size-sm);
  padding-top: 2.5em;
}
.pagenation li {
  width: 2em;
  line-height: 2.15;
  margin: 0.5em 0.5em 0;
}

/*===============================================
  詳細ページ前後
===============================================*/
.paginated__list {
  margin-top: 2.5em;
}
.paginated__link {
  letter-spacing: var(--letter-spacing-base);
}
.paginated__link--prev::before {
  margin-right: 0.5em;
}
.paginated__link--next::after {
  margin-left: 0.5em;
}

/*===============================================
  wrapper
===============================================*/
#wrapper {
  min-width: 320px;
  font-size: clamp(1.2rem, 3.3333333333vw, 1.5rem);
}

/*===============================================
  header
===============================================*/
#header .header__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 85%;
  height: min(90px, 20vw);
  padding-top: 1em;
}
#header .header__logo {
  height: clamp(26px, 8vw, 36px);
}
#header .header__logo img {
  height: 100%;
  aspect-ratio: 6/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}

/*===============================================
  footer
===============================================*/
#footer {
  padding: min(80px, 17.7777777778vw) 0 min(50px, 11.1111111111vw);
  margin-bottom: clamp(56px, 15.5555555556vw, 70px);
}
#footer .footer__inner {
  width: 85%;
}
#footer .footer__logo {
  text-align: center;
  height: clamp(28px, 8.6666666667vw, 39px);
}
#footer .footer__logo img {
  height: 100%;
  aspect-ratio: 6/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
#footer .footer__links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(30px, 8.8888888889vw, 40px);
  padding-top: 2.4em;
}
#footer .footer__link::before {
  width: 1em;
  font-size: clamp(30px, 8vw, 36px);
}
#footer .footer__link span {
  display: none;
}

/*フッターナビ
-----------------------------*/
.footer-nav {
  padding-top: 4em;
}
.footer-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.footer-nav__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-nav__item::after {
  content: "｜";
  margin: 0 0.5em;
}
.footer-nav__item:last-of-type::after {
  display: none;
}
.footer-nav__item:not(:has(.nav-link--privacy)):not(:has(.nav-link--site)) {
  display: none;
}

/*コピーライト
-----------------------------*/
.copy {
  font-size: var(--font-size-sm);
  padding-top: 3em;
}
.copy p {
  line-height: var(--line-height-sm);
}

/*===============================================
  fixed固定
===============================================*/
/*サイドボタン
-----------------------------*/
#side {
  width: 100%;
  height: clamp(56px, 15.5555555556vw, 70px);
  font-size: var(--font-size-h6);
  letter-spacing: var(--letter-spacing-base);
  left: 0;
  bottom: 0;
}
#side > span {
  padding-top: 0.25em;
}
#side .br {
  margin-left: 0.5em;
}
#side::before {
  font-size: 1.5em;
  margin-right: 0.5em;
}

/*===============================================
  visual
===============================================*/
.visual {
  padding-top: min(90px, 20vw);
}

/*メインビジュアル
-----------------------------*/
.visual__main {
  flex-direction: column;
  align-items: flex-end;
}
.visual__main::before {
  content: "";
  display: block;
  width: 82.667%;
  max-width: 372px;
  aspect-ratio: 93/109;
  background: url(../img/visual/mv_img-sp.png) no-repeat right top/contain;
}
.visual__main-box {
  width: 100%;
  padding: 2.4em 5%;
  row-gap: 2.4em;
  background: rgba(255, 255, 255, 0.64);
}
.visual__main-catch {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-title);
}
.visual__main-catch > span {
  letter-spacing: 0.15em;
  margin-right: -0.65em;
}
.visual__main-catch .min {
  font-size: 0.9em;
  line-height: 1;
}
.visual__main-logo {
  width: 100%;
  align-items: flex-start;
  row-gap: 1.2em;
}
.visual__main-logo p {
  font-size: var(--font-size-base);
  letter-spacing: var(--letter-spacing-base);
  margin-right: calc(var(--letter-spacing-base) * -1);
}
.visual__main-logo img {
  width: 100%;
  height: min(36px, 8vw);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}

/*サブビジュアル
-----------------------------*/
.visual__sub-box {
  width: 85%;
  padding: 3.6em 0 1em;
  row-gap: 2em;
}
.visual__sub-catch {
  font-size: var(--font-size-h5);
}
.visual__sub::after {
  height: min(180px, 40vw);
}
.visual__sub--about::after {
  background-position: right center;
}
.visual__sub--cosmetics::after {
  background-position: right 15% center;
}

/*===============================================
  main#container
===============================================*/
#container {
  line-height: var(--line-height-base);
  letter-spacing: var(--letter-spacing-base);
}

/*===============================================
  パンくずリスト
===============================================*/
.breadcrumb {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
/*===============================================
  main共通
===============================================*/
.section {
  padding: min(100px, 22.2222222222vw) 0;
}

.inbox {
  width: 85%;
}

/*ボタン
-----------------------------*/
.com-btn {
  margin-inline: auto;
}
.com-btn:not(.com-btn--shop) {
  width: 10em;
  height: 40px;
  padding-right: 1.2em;
}
.com-btn:not(.com-btn--shop)::after {
  right: 1.2em;
}
.com-btn--shop {
  width: 20em;
  height: clamp(56px, 15.5555555556vw, 70px);
  font-size: var(--font-size-h6);
  letter-spacing: 0.15em;
  box-shadow: 2px 0.5em 1em 0 rgba(85, 85, 85, 0.3);
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.com-btn--shop::after {
  font-size: 1.5em;
}
.com-btn--shop:hover {
  box-shadow: 2px 0.6em 1em 0 rgba(85, 85, 85, 0.4);
}

/*テーブル
-----------------------------*/
.com-table:not(.com-table--noblok) table,
.com-table:not(.com-table--noblok) table tbody,
.com-table:not(.com-table--noblok) table th,
.com-table:not(.com-table--noblok) table tr,
.com-table:not(.com-table--noblok) table td {
  display: block !important;
  width: 100% !important;
}
.com-table:not(.com-table--noblok) tr {
  padding-bottom: 2em;
  margin-bottom: 2em;
}
.com-table:not(.com-table--noblok) tr:last-of-type {
  margin-bottom: 0;
}
.com-table:not(.com-table--noblok) tr th {
  margin-bottom: 1em;
}
.com-table--noblok tr th {
  width: 7em;
  padding-block: 1.2em;
}
.com-table--noblok tr td {
  padding-block: 1.2em;
}

/*テキストボックス
-----------------------------*/
.com-text .mb {
  margin-bottom: 1.6em;
}
.com-text br {
  display: none;
}

/* ボックスシャドウ
-----------------------------*/
.com-shadow {
  box-shadow: 2px 0.5em 1em 0 rgba(85, 85, 85, 0.3);
}

/* レビュー
-----------------------------*/
.com-review__title {
  margin-bottom: 1.5em;
}
.com-review__item {
  display: grid;
  grid-template-columns: min(80px, 17.7777777778vw) 1fr;
  -moz-column-gap: 1.2em;
       column-gap: 1.2em;
  align-items: flex-start;
  margin-bottom: 1.2em;
}
.com-review__icon {
  border-radius: 50%;
  overflow: hidden;
}
.com-review__icon img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 64%;
     object-position: center 64%;
}
.com-review__comment {
  padding: 1.4em;
  border-radius: 0 1.4em 1.4em 1.4em;
  margin-top: 1em;
}

/*SB未記入テキスト
-----------------------------*/
.com-empty {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-title);
  padding: 2.5em 0;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-title01 {
  row-gap: 1.6em;
  margin-bottom: 3em;
}
.com-title01 .en {
  font-size: var(--font-size-h2);
  line-height: 1.2;
  margin: -0.15em 0 -0.25em;
}
.com-title01 .ja {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-title);
  letter-spacing: 0.15em;
  margin-right: -0.15em;
}
.com-title01 .min {
  display: block;
  font-size: 0.777778em;
  line-height: 1.42858;
}

/*中タイトル
-----------------------------*/
.com-title02 {
  font-size: var(--font-size-h5);
  padding-left: 1em;
  padding-bottom: 0.75em;
}
.com-title02::before {
  width: 2px;
  height: calc(100% - 0.75em - 1px);
  top: 0;
}
.com-title02 > span {
  line-height: var(--line-height-title);
  letter-spacing: var(--letter-spacing-base);
  margin-right: calc(var(--letter-spacing-base) * -1);
}

/*小タイトル
-----------------------------*/
.com-title03 {
  font-size: var(--font-size-h6);
  row-gap: 0.77777778em;
}
.com-title03 > span {
  line-height: var(--line-height-title);
}
.com-title03 .min {
  font-size: 0.7777778em;
  line-height: 1.42858;
}

/*===============================================
  共通セクション
===============================================*/
/*ベストバイアイテム
-----------------------------*/
.com-best__text {
  text-align: center;
}
.com-best__list {
  padding-top: 3.5em;
}
.com-best__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 2em 1.6em;
  margin-bottom: 5em;
}
.com-best__image {
  width: clamp(110px, 33.3333333333vw, 150px);
}
.com-best__inner {
  width: calc(100% - clamp(110px, 33.3333333333vw, 150px) - 1.6em);
}
.com-best__price {
  font-size: var(--font-size-h5);
  line-height: 1.25;
  margin-top: 1em;
}
.com-best__reviews {
  width: 100%;
}
.com-best__review {
  padding: 1.8em;
  margin-bottom: 20px;
  border-radius: 1.4em 1.4em 1.4em 0;
}
.com-best__btn {
  margin-top: 1em;
}

/*取扱いブランド
-----------------------------*/
.com-brand__links {
  padding-block: min(90px, 20vw);
  position: relative;
  z-index: 0;
}
.com-brand__links::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
.com-brand__link {
  font-size: var(--font-size-h6);
  padding: 0 0.5em 1em;
  margin-bottom: 1.5em;
}

/*商品紹介
-----------------------------*/
.com-item__title {
  margin-bottom: 0;
}
.com-item__title + .com-item__box {
  padding-top: 3em;
}
.com-item__box {
  padding-top: 5em;
}
.com-item__box-title {
  margin-bottom: 1em;
}
.com-item__item {
  margin-bottom: 4em;
}
.com-item__inner {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: clamp(110px, 33.3333333333vw, 150px) 1fr;
  align-items: flex-start;
  gap: 0 1.6em;
}
.com-item__image {
  grid-row: span 3;
}
.com-item__price {
  font-size: var(--font-size-h5);
  line-height: 1.25;
  margin-top: 1em;
}
.com-item__btn {
  width: 100%;
  max-width: 300px;
  height: clamp(50px, 13.3333333333vw, 60px);
  font-size: 1em;
  margin-top: 1em;
}
.com-item__btn::after {
  font-size: 1.25em;
}
.com-item__review {
  padding-top: 1.6em;
}

/*新商品情報
-----------------------------*/
.com-news {
  padding-bottom: min(80px, 17.7777777778vw);
}
.com-news__title {
  margin-bottom: 2em;
}
.com-news__list {
  padding: min(60px, 13.3333333333vw) 0;
  position: relative;
  z-index: 0;
}
.com-news__list::before {
  content: "";
  width: calc(100vw - 40px);
  max-width: 1280px;
  min-width: 1160px;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -2;
}
.com-news__item {
  padding-bottom: 2em;
  margin-bottom: 2em;
  border-bottom: solid 1px var(--color-border);
}
.com-news__item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.com-news__item-link {
  display: grid;
  grid-template-columns: min(120px, 26.6666666667vw) 1fr;
  align-items: center;
  gap: 1.6em;
}
.com-news__item-inner {
  row-gap: 1em;
}
.com-news__item-date {
  padding-bottom: 2px;
}
.com-news__item-title {
  line-height: 1.33334;
}
.com-news__item-tags {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.com-news--top .com-news__btn {
  margin-top: 3em;
}

/*===============================================
  トップページ
===============================================*/
/*お知らせ
-----------------------------*/
/*当店について
-----------------------------*/
.top-about {
  padding-bottom: 0;
}
.top-about::after {
  height: 45vw;
  margin-top: min(64px, 14.2222222222vw);
}
.top-about__btn {
  margin-top: 2.4em;
}

/*ベストコスメ紹介
-----------------------------*/
.top-best__text {
  text-align: center;
}
.top-best__slider {
  margin-top: 4em;
}
.top-best__slider .swiper-button-prev,
.top-best__slider .swiper-button-next {
  width: 3em;
  top: 27.1875vw;
}
.top-best__slider .swiper-button-prev {
  left: 1em;
}
.top-best__slider .swiper-button-next {
  right: 1em;
}
.top-best__slider:not(.swiper-initialized) .top-best__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.8em;
}
.top-best__slider:not(.swiper-initialized) .top-best__item {
  width: calc(45.5vw - 0.4em);
}
.top-best__link {
  row-gap: 1.2em;
}
.top-best__btn {
  width: 15em !important;
  margin: 3em auto 0;
}

/*ランキング
-----------------------------*/
.top-rank__list {
  padding-block: min(72px, 16vw);
  position: relative;
  z-index: 0;
}
.top-rank__list::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -2;
}
.top-rank__item {
  margin-bottom: 2.4em;
}
.top-rank__num {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.4em;
  letter-spacing: 0.08em;
}
.top-rank__link {
  display: grid;
  grid-template: auto 1fr/min(135px, 30vw) 1fr;
  gap: 1em 1.6em;
  align-items: flex-start;
}
.top-rank__link::after {
  content: "\f135";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  aspect-ratio: 1;
  font-family: var(--font-family-icon);
  font-weight: var(--font-weight-regular);
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
  background: var(--color-main);
  border-radius: 50%;
  transition: all 0.3s ease-out;
  margin-left: auto;
}
.top-rank__image {
  border-radius: 100vw 100vw 0 0;
  grid-row: span 3;
}
.top-rank__image img {
  aspect-ratio: 0.84375;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-rank__btn {
  width: 15em !important;
  margin-top: 2.4em;
}

/*取扱い商品
-----------------------------*/
.top-item__link {
  max-width: 390px;
  padding: 1.2em;
  margin: 0 auto 2em;
}
.top-item__link:last-of-type {
  margin-bottom: 0;
}
.top-item__link::after {
  width: min(20px, 4.4444444444vw);
  aspect-ratio: 1;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  right: min(10px, 2.2222222222vw);
  bottom: min(10px, 2.2222222222vw);
}
.top-item__text {
  min-width: calc(6em + var(--letter-spacing-base) * 5);
  font-size: var(--font-size-h5);
  line-height: var(--line-height-title);
}
.top-item__text span {
  margin-right: calc(var(--letter-spacing-base) * -1);
}

/*キャンペーン
-----------------------------*/
.top-campaign__list {
  padding-block: min(64px, 14.2222222222vw);
  position: relative;
  z-index: 0;
}
.top-campaign__list::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
.top-campaign__item {
  margin-bottom: 20px;
}
.top-campaign__item-link {
  grid-template-columns: min(135px, 30vw) 1fr;
  -moz-column-gap: 1.6em;
       column-gap: 1.6em;
}
.top-campaign__item-inner {
  row-gap: 1.2em;
}
.top-campaign__item-inner::after {
  width: 2.4em;
  margin-top: auto;
}
.top-campaign__item-title {
  line-height: 1.33334;
}
.top-campaign__item-body {
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.top-campaign__btn {
  width: 15em !important;
  margin-top: 2.4em;
}

/*===============================================
  ディアパリーについて
===============================================*/
/*ディアパリーの想い
-----------------------------*/
.about-thoughts__image {
  text-align: center;
  margin-top: 4em;
}
.about-thoughts__image img {
  height: min(180px, 40vw);
}

/*会社情報
-----------------------------*/
.about-info:has(.about-info__map) {
  padding-bottom: 0;
}
.about-info__table {
  padding-block: 3em;
  position: relative;
  z-index: 0;
}
.about-info__table::before {
  content: "";
  width: 100vw;
  height: 100%;
  left: 220px;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
.about-info__table tr:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.about-info__map {
  width: 100vw;
  height: min(360px, 80vw);
  margin-left: -7.5vw;
}

/*===============================================
  ベストコスメ紹介
===============================================*/
/*一覧ページ・関連商品
-----------------------------*/
.cosmetics-list__text,
.cosmetics-related__text {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.cosmetics-list__text p,
.cosmetics-related__text p {
  margin-bottom: 1em;
}
.cosmetics-list__text p:last-of-type,
.cosmetics-related__text p:last-of-type {
  margin-bottom: 0;
}
.cosmetics-list__items,
.cosmetics-related__items {
  padding-top: 4em;
}
.cosmetics-list__item,
.cosmetics-related__item {
  display: grid;
  grid-template: 1fr 40px/clamp(110px, 33.3333333333vw, 150px) 1fr;
  gap: 1em 1.6em;
  margin-bottom: 2.4em;
}
.cosmetics-list__item:last-of-type,
.cosmetics-related__item:last-of-type {
  margin-bottom: 0;
}
.cosmetics-list__image,
.cosmetics-related__image {
  grid-row: span 2;
}
.cosmetics-list__btn,
.cosmetics-related__btn {
  margin-left: 0;
}

.cosmetics-related__items {
  padding-block: 3em;
  background: var(--color-white);
  position: relative;
  z-index: 0;
}
.cosmetics-related__items::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: var(--color-white);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -2;
}

/*詳細ページ
-----------------------------*/
.cosmetics-detail__box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: 2.5em;
}
.cosmetics-detail__box > *:not(.cosmetics-detail__btn) {
  width: 100%;
}
.cosmetics-detail__heading {
  margin-bottom: 1.25em;
}
.cosmetics-detail__list {
  padding: 1.8em;
  margin-bottom: 1.6em;
}
.cosmetics-detail__list:last-of-type {
  margin-bottom: 0;
}
.cosmetics-detail__list-wrap {
  padding-block: min(64px, 14.2222222222vw);
}
.cosmetics-detail__list dt {
  margin-bottom: 1.5em;
}
.cosmetics-detail__list--check dd {
  line-height: 1.66667;
  margin-bottom: 1em;
}
.cosmetics-detail__list--check dd::before {
  margin-right: 0.5em;
}
.cosmetics-detail__list--step dd {
  grid-template-columns: 5.4em 1fr;
  margin-bottom: 2em;
}
.cosmetics-detail__list--step dd::before {
  font-size: var(--font-size-h6);
  margin-bottom: -0.1666667em;
}
.cosmetics-detail__list--step dd p {
  font-size: var(--font-size-sm);
  line-height: 2;
}

/*===============================================
  ランキング
===============================================*/
/*当店人気ランキング
-----------------------------*/
.ranking-pick__text {
  text-align: center;
}
.ranking-pick__list {
  padding-top: 3em;
}
.ranking-pick__item {
  margin-bottom: 2.4em;
}
.ranking-pick__num {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.4em;
  letter-spacing: 0.08em;
}
.ranking-pick__link {
  display: grid;
  grid-template: auto 1fr/min(135px, 30vw) 1fr;
  gap: 1em 1.6em;
  align-items: flex-start;
}
.ranking-pick__link::after {
  content: "\f135";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  aspect-ratio: 1;
  font-family: var(--font-family-icon);
  font-weight: var(--font-weight-regular);
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
  background: var(--color-main);
  border-radius: 50%;
  transition: all 0.3s ease-out;
  margin-left: auto;
}
.ranking-pick__image {
  border-radius: 100vw 100vw 0 0;
  grid-row: span 3;
}
.ranking-pick__image img {
  aspect-ratio: 0.84375;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*ランキング一覧
-----------------------------*/
.ranking-list {
  padding-block: min(64px, 14.2222222222vw);
}
.ranking-list .inbox {
  width: 100%;
}
.ranking-list__item {
  padding: 2.4em 7.5%;
  margin-bottom: 2em;
}
.ranking-list__inner {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: clamp(110px, 33.3333333333vw, 150px) 1fr;
  align-items: flex-start;
  gap: 0 1.6em;
}
.ranking-list__num {
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--font-size-h6);
  letter-spacing: 0.08em;
  grid-column: span 2;
  margin-bottom: 1em;
}
.ranking-list__num span {
  font-size: 3em;
}
.ranking-list__image {
  grid-row: span 3;
}
.ranking-list__price {
  font-size: var(--font-size-h5);
  line-height: 1.25;
  margin-top: 1em;
}
.ranking-list__btn {
  width: 100%;
  max-width: 300px;
  height: clamp(50px, 13.3333333333vw, 60px);
  font-size: 1em;
  margin-top: 1em;
}
.ranking-list__btn::after {
  font-size: 1.25em;
}
.ranking-list__review {
  padding-top: 1.6em;
}

/*==================================================
 ニュース一覧
================================================== */
.news-archive__list {
  padding: 1.8em 0 0;
}
/*タグリスト
-----------------------------*/
.tag-select {
  margin-bottom: 2.5em;
}
.tag-select__box {
  min-width: 10em;
}
.tag-select__box::after {
  right: 0.75em;
}
.tag-select__dropdown {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  padding: 1em 2.5em 1em 1em;
}

/*==================================================
 ニュース詳細
================================================== */
.news-detail__title {
  font-size: 1.3333334em;
  margin-bottom: 1em;
}
.news-detail__post {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  margin-bottom: 1em;
}
/*==================================================
 お問い合わせ
================================================== */
.contact-form__table {
  margin-bottom: 2.5em;
}
.contact-form__table tr th .optional-mark,
.contact-form__table tr th .required-mark {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  padding: 0 0.5em;
  margin-top: 0.25em;
}
.contact-form__table tr td select,
.contact-form__table tr td textarea,
.contact-form__table tr td input[type=tel],
.contact-form__table tr td input[type=num],
.contact-form__table tr td input[type=text],
.contact-form__table tr td input[type=email],
.contact-form__table tr td input[type=url] {
  font-size: 1em;
  line-height: 1.5;
  padding: 0.5em 1em;
}
.contact-form .contact-submits-wrap {
  padding-top: 1em;
}
.contact-form .contact-submits-wrap > * {
  width: 20em;
  max-width: 100%;
  height: clamp(56px, 15.5555555556vw, 70px);
  margin: 0 auto 1.25em;
}
.contact-form .contact-submits-wrap > *:last-child {
  margin-bottom: 0;
}

/*==================================================
 お問い合わせ完了
================================================== */
/*===============================================
  プライバシーポリシー
===============================================*/
.privacy-policy__box {
  margin-bottom: 4em;
}
.privacy-policy__heading {
  font-size: 1.3333334em;
}

/*==================================================
 サイトマップ
================================================== */
.sitemap-list__item {
  margin-bottom: 1em;
}
.sitemap-list__item:last-of-type {
  margin-bottom: 0;
}
.sitemap-list__link {
  padding: 1em 0.5em;
}
.sitemap-list__sub-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  padding-top: 2em;
}
.sitemap-list__sub-link {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  padding: 1.5em 0.25em;
}

/*===============================================
  404エラー
===============================================*/