﻿@charset "UTF-8";

:root {
  --color-bg-grobal: #F5F6F7;
  --color-bg-blue: #F0F6FC;
  --color-bg-gray: var(--color-bg-primary);
  --color-bg-gray02: #EEEEEE;
  --color-frame-blue: var(--color-ishiguro-blue);
  --color-text-light:#7D8893;
  --color-border-gray:#ccc;
}


/*----------------------------------------
 特集ページ
-----------------------------------------*/
/* base */
.global-contents__inner {
  padding-bottom: 0;
}
.global-header {
  /* display: none; */
}
.c-breadcrumb {
  margin-bottom: 0;
}
.feature-detail__contents-container {
  background-color: var(--color-bg-grobal);
  padding-bottom: 8rem;
}
.feature-detail__contents-inner {
  background-color: var(--color-white, #fff);
  padding-bottom: 8rem;
  margin-bottom: 4rem;
}
.feature-detail__contents-top {
  padding: 0 1.5rem;
}
.feature-detail__description,
.product__history,
#feature-group-items {
  padding: 0 2.5rem;
}
.c-breadcrumb > ol {
  width: max-content;
}

.feature-detail__contents-container a {
  word-break: break-all;
  font-size: inherit;
}
.feature-detail__contents-container iframe {
  width: 100%;
  max-width: 100%;
}

.c-button__secondary--arrow-back {
  --icon-arrowback-blue: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cg%20id%3D%22icon%22%20transform%3D%22translate(-7%20-13.122)%22%3E%0A%20%20%20%20%3Crect%20id%3D%22bg%22%20width%3D%2220%22%20height%3D%2220%22%20transform%3D%22translate(7%2013.122)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%0A%20%20%20%20%3Cg%20id%3D%22_%22%20data-name%3D%22%E2%86%92%22%20transform%3D%22translate(22.121%2019.122)%20rotate(90)%22%3E%0A%20%20%20%20%20%20%3Cline%20id%3D%22%E7%B7%9A%22%20y1%3D%2210.868%22%20transform%3D%22translate(4.394)%22%20fill%3D%22none%22%20stroke%3D%22%23143a60%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9%22%20d%3D%22M4.394%2C0%2C0%2C4.394%2C4.394%2C8.789%22%20transform%3D%22translate(0%2011.121)%20rotate(-90)%22%20fill%3D%22none%22%20stroke%3D%22%23143a60%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A');
  --icon-arrowback-white: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cg%20id%3D%22icon%22%20transform%3D%22translate(-7%20-13.122)%22%3E%0A%20%20%20%20%3Crect%20id%3D%22bg%22%20width%3D%2220%22%20height%3D%2220%22%20transform%3D%22translate(7%2013.122)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%0A%20%20%20%20%3Cg%20id%3D%22_%22%20data-name%3D%22%E2%86%92%22%20transform%3D%22translate(22.121%2019.122)%20rotate(90)%22%3E%0A%20%20%20%20%20%20%3Cline%20id%3D%22%E7%B7%9A%22%20y1%3D%2210.868%22%20transform%3D%22translate(4.394)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9%22%20d%3D%22M4.394%2C0%2C0%2C4.394%2C4.394%2C8.789%22%20transform%3D%22translate(0%2011.121)%20rotate(-90)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A');
  --button-arrow: var(--icon-arrowback-blue);
}
.c-button__secondary--arrow-back {
  --arrow-width: 2rem;
  display: grid;
  grid-template-columns: var(--arrow-width) auto;
  align-items: center;
  column-gap: 1ch;
}
[class*="c-button"][class$="--arrow-back"]::before {
  transition: var(--transition-hover-button);
}
[class*="c-button"][class$="--arrow-back"]::before, [class*="c-button"][class$="--arrow-back"]::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}
[class*="c-button"][class$="--arrow-back"]::before {
  justify-content: flex-end;
  width: var(--arrow-width);
  aspect-ratio: 1;
  margin-left: auto;
  background-image: var(--button-arrow);
}
.c-button__wrap-back .c-button {
  width: 18rem;
  padding: 1.1rem 0 1.1rem 1.4rem;
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: .15em;
}
.c-page-title .c-page-title--ja {
  color: var(--color-text-default);
}
@media screen and (min-width: 768px) {
  .global-contents {
    /* overflow: hidden; */
  }
  .global-contents__inner {
    width: 100%;
    padding-inline: var(--padding-horizontal-general) 0 0;
    padding-bottom: 0;
  }
  .feature-detail__contents-container {
    /* margin: 0 calc(50% - 50vw);
    width: 100vw; */
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
  .feature-detail__contents-inner {
    width: 90rem;
    margin: 0 auto 6rem;
    padding-bottom: 5rem;
  }
  .c-breadcrumb {
    margin-left: auto;
    margin-right: auto;
    width: var(--container-default);
    padding-inline: var(--padding-horizontal-general);
}
  .feature-detail__contents-top,
  .feature-detail__description,
  #feature-group-items  {
    width: 78rem;
    margin: 0 auto;
    padding: 0;
  }
  .sticky-wrap {
    position: fixed;
    top: 80vh;
    left: 2rem;
    z-index: 2;
    width: fit-content;
    height: 0;
    padding: 3rem 0;
    margin: -6rem 0 0;
    display: flex;
    align-items: center;
    transition: all var(--transition-duration);
  }
  .sticky-wrap.is-hidden {
    visibility: hidden;
    opacity: 0;
  }
  
}
@media screen and (max-width: 767px) {
  .sticky-wrap {
    display: none;
  }
}
@media (orientation: landscape) and (max-height: 450px){
  .sticky-wrap {
    display: none;
  }
}

@media (hover: none) {
  .c-button__secondary--arrow-back:where(:any-link, :enabled, summary):hover {
    --button-arrow: var(--icon-arrowback-white);
  }
  [class*="c-button"][class$="--arrow-back"]:where(:any-link, :enabled, summary):hover:before {
   --arrow-width: 2rem;
   translate: calc(var(--arrow-width) / -4) 0;
   scale: 1.2;
 }
}
@media (hover: hover) {
 .c-button__secondary--arrow-back:where(:any-link, :enabled, summary):hover {
   --button-arrow: var(--icon-arrowback-white);
 }
 [class*="c-button"][class$="--arrow-back"]:where(:any-link, :enabled, summary):hover:before {
   translate: calc(var(--arrow-width) / -4) 0;
   scale: 1.2;
 }
}

/* メインビジュアル（見出しと画像） */
.feature-detail__heading-container {
  position: relative;
  margin-bottom: 2.5rem;
}

.feature-detail__title {
  position: absolute;
  font-size: 1.7rem;
  letter-spacing: 0.15em;
  line-height: calc(27/17);
  color: var(--color-white);
  font-weight: var(--fw-bold);
  padding: 0 1.5rem;
  top: 3.3rem;
  z-index: 1;
  margin: 0;
}
.feature-detail__mv {
  position: relative;
  z-index: 0;
}
.feature-detail__mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 60%;
  background: linear-gradient(0deg, rgba(20,58,96,0) 0%, rgba(20,58,96,1) 100%);
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .feature-detail__heading-container {
    margin-bottom: 3rem;
  }
  
  .feature-detail__title {
    font-size: 3.2rem;
    letter-spacing: 0.15em;
    line-height: calc(48/32);
    padding: 0;
    top: 4.6rem;
    left: 0;
    right: 0;
    width: 78rem;
    margin: auto;
    padding: 0;
  }
  .feature-detail__mv::before {
    height: 30rem;
  }
}

/* 更新日 */
.feature-detail__published-date {
  font-family: var(--font-en);
  font-size: 1.3rem;
  letter-spacing: .15em;
  font-weight: var(--fw-medium);
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .feature-detail__published-date {
    font-size: 1.5rem;
    margin-bottom: 2.5rem;
  }
}

/* 目次 */
.feature-detail__index {
  counter-reset: ol;
  background-color: var(--color-bg-blue);
  margin-bottom: 6rem;
}
.feature-detail__index-heading {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: .2em;
  font-weight: var(--fw-bold);
  padding: 2rem;
  position: relative;
}
.feature-detail__index-heading:before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 2rem;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%09%09%09%09%3Cg%20id%3D%22_%22%20data-name%3D%22%26gt%3B%22%20transform%3D%22translate(-204%20-222)%22%3E%0A%09%09%09%09%09%3Crect%20id%3D%22bg%22%20width%3D%2220%22%20height%3D%2220%22%20transform%3D%22translate(204%20222)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%0A%09%09%09%09%09%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_144%22%20data-name%3D%22%E3%83%91%E3%82%B9%20144%22%20d%3D%22M235.595%2C232l5%2C5-5%2C5%22%20transform%3D%22translate(451%20-6.595)%20rotate(90)%22%20fill%3D%22none%22%20stroke%3D%22%230053a6%22%20stroke-width%3D%221.5%22%2F%3E%0A%09%09%09%09%3C%2Fg%3E%0A%09%09%09%3C%2Fsvg%3E');
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform var(--transition-duration);
  transform: rotate(180deg);
}
.feature-detail__index-heading.is-open:before {
  transform: rotate(0deg);
  transition: transform var(--transition-duration);
}
.feature-detail__index .index__link,
.feature-detail__index a {
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  text-decoration-line: none;
  transition: var(--transition-duration-short);
}
.feature-detail__index-list--wrapper {
  overflow: hidden;
}
.feature-detail__index-list {
  list-style: none;
  margin-bottom: 0;
  border-top: .2rem  solid var(--color-white);
  padding: 2rem 2rem 3rem;
}

.feature-detail__index-list .feature-detail__index-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.feature-detail__index-list .feature-detail__index-detail:not(:last-child) {
  margin-bottom: 2.5rem;
}

.feature-detail__index-list .feature-detail__index-detail::before {
  counter-increment: ol 1;
  content: counter(ol)".";
  font-weight: var(--fw-semibold);
  font-family: var(--font-en);
  width: 3rem;
  font-size: 1.7rem;
}

.feature-detail__index-list .feature-detail__index-detail h2 {
  font-size: inherit;
  width: 90%;
}

.feature-detail__index-list-lower {
  margin-top: 1.5rem;
  margin-left: 1rem;
  list-style: none;
  counter-reset: uol;
}
.feature-detail__index-list-lower .feature-detail__index-lower-detail {
  display: grid;
  grid-template-columns: 4rem 1fr;
  align-items: baseline;
  color: var(--color-text-light);
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.feature-detail__index-list-lower .feature-detail__index-lower-detail:not(:last-child) {
  margin-bottom: 1.5rem;
}
.feature-detail__index-list-lower .feature-detail__index-lower-detail::before {
  counter-increment: uol 1;
  content: counter(ol) "-" counter(uol)".";
  font-weight: var(--fw-semibold);
  letter-spacing: 0.2rem; 
  width: 4rem;
  font-family: var(--font-en);
}
.feature-detail__index-list-lower .feature-detail__index-lower-detail h3 {
  width: 100%;
  font-size: inherit;
}

@media screen and (min-width: 768px) {
  .feature-detail__index-heading {
    font-size: 2.2rem;
  }
  .feature-detail__index-list {
    padding: 3rem 4.5rem 4rem;
  }
  
  .feature-detail__index-list .feature-detail__index-detail {
    font-size: 1.8rem;
  }
  .feature-detail__index-list .feature-detail__index-detail:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  
  .feature-detail__index-list .feature-detail__index-detail::before {
    font-size: 2rem;
  }
  
  .feature-detail__index-list .feature-detail__index-detail h2 {
    width: 95%;
  }
  
  .feature-detail__index-list-lower {
    margin-top: 1.5rem;
    margin-left: 1rem;
    width: 100%;
  }
  .feature-detail__index-list-lower .feature-detail__index-lower-detail {
    font-size: 1.6rem;
    line-height: 1.5;
    width: 100%;
  }
  .feature-detail__index-list-lower .feature-detail__index-lower-detail:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .feature-detail__index-list-lower .feature-detail__index-lower-detail::before {
    width: 4.5rem;
  }
  .feature-detail__index-list-lower .feature-detail__index-lower-detail h3 {
  }
}

/* 記事部分 */
.feature-detail__description {
  counter-reset: descol;
  padding-bottom: 8rem;
}
.feature-detail__heading,
.feature-detail__description h2 {
  font-size: 2rem;
  letter-spacing: .15em;
  line-height: 1.5;
  font-weight: var(--fw-bold);
  padding: 1.5rem 1.8rem 1.7rem;
  position: relative;
  margin-bottom: 3rem;
}
.feature-detail__heading:not(:first-child),
.feature-detail__description h2:not(:first-child) {
  margin-top: 8rem;
}
.feature-detail__heading::before,
.feature-detail__description h2:before {
  content: "";
  position: absolute;
  display: block;
  width: .4rem;
  height: 100%;
  background-color: var(--color-frame-blue);
  top: 0;
  left: 0;
}
.feature-detail__heading::after,
.feature-detail__description h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: .2rem;
  background-color: var(--color-bg-gray02);
  bottom: 0;
  left: 0;
}

.feature-detail__subheading,
.feature-detail__description h3 {
  font-size: 1.8rem;
  letter-spacing: .15em;
  line-height: 1.5;
  font-weight: var(--fw-bold);
  padding: 1.5rem 0 2.4rem;
  position: relative;
  margin-bottom: 3rem;
  margin-top: 8rem;
}

.feature-detail__subheading::before,
.feature-detail__description h3::before {
  content: "";
  position: absolute;
  display: block;
  width: 5rem;
  height: .2rem;
  background-color: var(--color-frame-blue);
  bottom: 0;
  left: 0;
  z-index: 1;
}
.feature-detail__subheading::after,
.feature-detail__description h3::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: .2rem;
  background-color: var(--color-bg-gray02);
  bottom: 0;
  left: 0;
}

.feature-detail__lead,
.feature-detail__description p {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.feature-detail__lead + p,
.feature-detail__description p + p {
  margin-top: 3rem;
}

.feature-detail__lead + ul,
.feature-detail__lead+ ol,
.feature-detail__description p + ul,
.feature-detail__description p + ol  {
  margin-top: 8rem;
}

.feature-detail__table + p,
.feature-detail__description table + p {
  margin-top: 8rem;
}

strong {
 font-weight: var(--fw-bold);
}

.feature-detail__list,
.feature-detail__description ul {
  list-style: none;
  margin-bottom: 6rem;
}

.feature-detail__list li,
.feature-detail__description ul li {
  text-indent: -3rem;
  padding-left: 3rem;
  font-size: 1.5rem;
  line-height: calc(27/15);
  letter-spacing: 0.08em;
  font-weight: var(--fw-bold);
}


.feature-detail__list li::before,
.feature-detail__description ul li::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225%22%20height%3D%225%22%20viewBox%3D%220%200%205%205%22%3E%0A%20%20%3Crect%20id%3D%22_%22%20data-name%3D%22%E3%83%BB%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%222.5%22%20fill%3D%22%230053a6%22%2F%3E%0A%3C%2Fsvg%3E%0A');
  background-repeat: no-repeat;
  position: relative;
  margin-right: .5rem;
  width: 2.5rem;
  height: 2.5rem;
  top: -.3rem;
  background-size: .5rem;
  background-position: center center;
}
.feature-detail__list-num,
.feature-detail__description ol {
  list-style: none;
  margin-bottom: 6rem;
}

.feature-detail__list-num li,
.feature-detail__description ol li {
  font-size: 1.5rem;
  line-height: calc(27/15);
  letter-spacing: 0.08em;
  font-weight: var(--fw-bold);
  text-indent: -3rem;
  padding-left: 3rem;
}

.feature-detail__list-num li::before,
.feature-detail__description ol li::before {
  counter-increment: descol 1;
  content: counter(descol)".";
  font-family: var(--font-en);
  letter-spacing: 0.08em;
  color: var(--color-ishiguro-blue);
  display: inline-block;
  font-size: 1.8rem;
  width: 3rem;
  height: 2.2rem;
  position: relative;
  left: 3rem;
}
.feature-detail__list li:not(:last-child),
.feature-detail__description ul li:not(:last-child),
.feature-detail__list-num li:not(:last-child),
.feature-detail__description ol li:not(:last-child) {
  margin-bottom: 2rem;
}

.feature-detail__description .attention {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-weight: var(--fw-medium);
  color: var(--color-red);
}

.feature-detail__description p + .feature-detail__lead-frame,
.feature-detail__description p + div {
  margin-top: 3rem;
}

.text-link.outside {
  position: relative;
  padding-right: 2rem;
}
.text-link.outside::before {
  content: "";
  position: absolute;
  display: block;
  width: 1rem;
  height: 1.1rem;
  right: .4rem;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.713%22%20height%3D%2211.098%22%20viewBox%3D%220%200%2010.713%2011.098%22%3E%0A%20%20%3Cg%20id%3D%22_blank%22%20transform%3D%22translate(0.6%20-3.364)%22%3E%0A%20%20%20%20%3Cg%20id%3D%22_blank-2%22%20data-name%3D%22_blank%22%20transform%3D%22translate(2.695%203.364)%22%20fill%3D%22none%22%20stroke%3D%22%230053a6%22%20stroke-width%3D%221.2%22%3E%0A%20%20%20%20%20%20%3Crect%20width%3D%227.417%22%20height%3D%227.417%22%20stroke%3D%22none%22%2F%3E%0A%20%20%20%20%20%20%3Crect%20x%3D%220.6%22%20y%3D%220.6%22%20width%3D%226.217%22%20height%3D%226.217%22%20fill%3D%22none%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3Cpath%20id%3D%22_blank-3%22%20data-name%3D%22_blank%22%20d%3D%22M1264.093%2C4387v6.79h6.607%22%20transform%3D%22translate(-1264.093%20-4379.927)%22%20fill%3D%22none%22%20stroke%3D%22%230053a6%22%20stroke-width%3D%221.2%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A');
}

.feature-detail__lead-frame {
  padding: 3rem 2.5rem;
  margin-bottom: 3rem;
}
.feature-detail__lead-frame[data-frame="bgBlue"] {
  background-color: var(--color-bg-blue);
}
.feature-detail__lead-frame[data-frame="bgGray"] {
  background-color: var(--color-bg-gray);
}
.feature-detail__lead-frame[data-frame="borderBlue"] {
  border: 1px solid var(--color-frame-blue);
}

figure {
  margin: 0;
}
figcaption {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  font-weight: var(--fw-medium);
  line-height: 1.5;
  margin-top: 1.5rem;
}
.feature-detail__image--column-1,
.feature-detail__image--column-2 {
  margin-bottom: 8rem;
}
.feature-detail__image--column-2 {
  grid-gap: 3rem;
}
.c-button__secondary--arrow {
  --button-arrow: var(--icon-arrow-blue);
  margin-inline: auto;
  width: 25rem;
  border-width: 2px;
}
.c-button__wrap {
  margin: 0;
  padding: 0;
}
.c-button {
  margin-inline: auto;
  width: 25rem;
  border-width: 2px;
}

.feature-detail__description p + figure {
  margin-top: 8rem;
}
.feature-detail__table th,
.feature-detail__table td {
  text-align: left;
  padding: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
.feature-detail__table th {
  background-color: var(--color-bg-blue);
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
}
.feature-detail__table td {
  letter-spacing: 0.1em;
}
.feature-detail__table ul {
  margin-bottom: 0;
}
.feature-detail__table ul li {
  font-weight: var(--fw-medium);
}
.feature-detail__table ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .feature-detail__table th,
  .feature-detail__table td {
    display: block;
    width: 100%;
    border-left: 1px solid var(--color-border-gray);
    border-right: 1px solid var(--color-border-gray);
  }
  .feature-detail__table tr:first-child th{
    border-top: 1px solid var(--color-border-gray);
  }
  .feature-detail__table td{
    border-bottom: 1px solid var(--color-border-gray);
  }
}

@media screen and (min-width: 768px) {
  .feature-detail__description {
    padding-bottom: 10rem;
  }
  .feature-detail__heading,
  .feature-detail__description h2 {
    font-size: 2.5rem;
    padding: 2rem 1.8rem 2.2rem 2.5rem;
    position: relative;
    position: relative;
    margin-bottom: 4rem;
  }
  .feature-detail__heading:not(:first-child),
  .feature-detail__description h2:not(:first-child) {
    margin-top: 9rem;
  }

  .feature-detail__subheading,
  .feature-detail__description h3 {
    font-size: 2rem;
    padding: 0 0 2.2rem;
    margin-top: 8rem;
  }

  .feature-detail__subheading::before,
  .feature-detail__description h3::before {
    width: 6rem;
  }

  .feature-detail__lead,
  .feature-detail__description p {
    font-size: 1.6rem;
  }

  .feature-detail__lead + p,
  .feature-detail__description p + p {
    margin-top: 3rem;
  }

  .feature-detail__lead + ul,
  .feature-detail__lead+ ol,
  .feature-detail__description p + ul,
  .feature-detail__description p + ol  {
    margin-top: 10rem;
  }

  .feature-detail__list li,
  .feature-detail__description ul li {
    text-indent: -3.5rem;
    padding-left: 3.5rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }


  .feature-detail__list li::before,
  .feature-detail__description ul li::before {
    margin-right: .5rem;
    width: 3rem;
    height: 3rem;
    top: -.3rem;
    background-size: .6rem;
  }

  .feature-detail__list-num li,
  .feature-detail__description ol li {
    font-size: 1.6rem;
    line-height: 1.8;
    text-indent: -3.5rem;
    padding-left: 3.5rem;
  }

  .feature-detail__list-num li::before,
  .feature-detail__description ol li::before {
    width: 3.5rem;
    height: 2.4rem;
    left: 3.5rem;
  }
  .feature-detail__list li:not(:last-child),
  .feature-detail__description ul li:not(:last-child),
  .feature-detail__list-num li:not(:last-child),
  .feature-detail__description ol li:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .feature-detail__description p + .feature-detail__lead-frame,
  .feature-detail__description p + div {
    margin-top: 3rem;
  }

  .feature-detail__lead-frame {
    padding: 5rem;
    margin-bottom: 3rem;
  }

  .feature-detail__image--column-1,
  .feature-detail__image--column-2 {
    margin-bottom: 4rem;
  }
  .feature-detail__image--column-2 {
    grid-gap: 2rem;
  }
  .feature-detail__description p + figure {
    margin-top: 10rem;
  }
  .feature-detail__table th,
  .feature-detail__table td {
    text-align: left;
    padding: 1.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .feature-detail__table th {
    width: 22rem;
  }
  .feature-detail__table td {
    width: 56rem;
  }
  .feature-detail__table ul li:not(:last-child) {
    margin-bottom: 1rem;
  }
  .feature-detail__table th {
    border-left: 1px solid var(--color-border-gray);
  }
  .feature-detail__table td {
    border-right: 1px solid var(--color-border-gray);
  }
  .feature-detail__table tr:first-child th,
  .feature-detail__table tr:first-child td{
    border-top: 1px solid var(--color-border-gray);
  }
  .feature-detail__table th,
  .feature-detail__table td {
    border-bottom: 1px solid var(--color-border-gray);
  }
}

/* 商品リスト */
[class*="p-bento-grid--"] {
  --gap: 2.2rem;
}

.feature__product-list:not(:first-of-type) {
  margin-top: 8rem;
}
#feature-group-items {
}
#feature-group-items .feature-item {
  background-color: var(--color-bg-primary);
}
.product__item--outline {
  display: grid;
  grid-gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.product__item--text .feature-item-name {
  margin-top: 0.9rem;
  font-size: 1.5rem;
  font-weight: var(--fw-medium);
  left: 0.08em;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product__item--text .feature-item-name a {
 text-decoration: none;
 color: inherit;
}
.product__item--text .product__item--price {
  margin-top: 1rem;
}

.product__item--price .product__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .5rem;
}

.product__price--item .product__price--numeric {
  font-size: 1.8rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.05em;
  font-family: var(--font-en);
}
.product__price--discount .product__price--numeric {
  color: var(--color-emphasis);
}

.product__price--proper .product__price--numeric {
  font-size: 1.4rem;
  color: var(--color-text-default);
  text-decoration: line-through;
}
.product__price--proper::after {
  height: 1px;
  background-color: var(--color-text-default);
  content: "";
  display: block;
  position: absolute;
  top: 58%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  z-index: 2;
}
.feature-item__error {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.feature-item__variation {
  margin-bottom: 1rem;
}
.feature-item__variation select {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cart-add__area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cart-add__area .c-button {
  width: 23.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  background-color: var(--color-red);
  border-color: var(--color-red);
  padding: 1.1rem 0 1rem;
  margin-left: 0;
}
.cart-add__area .c-button:hover {
  background-color: var(--color-white);
  color: var(--color-red);
}
.cart-add__area .form__section--item {
  --inner-width: 100%;
  border: none;
  margin-top: 2rem;
  padding: 2.5rem 1.5rem 2.5rem;
  background-color: #fff;
  font-size: 1.3rem;
}
.cart-add__area .form__section--item .c-form__item {
  font-size: 1.4rem;
  margin-top: 1rem;
}
.cart-add__area .form__section--item .c-form__input--check{
  display: grid;
  gap: 1rem;
  grid-template-columns: 2rem 1fr;
}
.cart-add__area .form__section--item .c-form__input--check label {
  width: auto;
  word-break: break-all;
}
.cart-add__area .form__section--item .c-form__item dd {
  margin-top: 0.8rem;
}
.cart-add__area .c-form__item dd .c-form__input--text {
  margin-top: 0.8rem;
}
.cart-add__area .product__arrivalmail .c-button {
  margin: 0 auto;
}
.feature-item-add-favorite {
  width: 4rem;
  display: flex;
  align-items: center;
  margin-left: auto;
}


.product__favorite--icon.added path {
  fill: var(--color-red);
  stroke: var(--color-red);
}

.product__favorite--popup {
  width: min(35rem, 90%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  display: grid;
  row-gap: 2rem;
  padding: 4rem;
  position: fixed;
  top: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.product__favorite--popup .c-button {
  min-width: 0;
}

.c-form__input--select {
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cg%20id%3D%22_%22%20data-name%3D%22%26gt%3B%22%20transform%3D%22translate(-204%20-222)%22%3E%0A%20%20%20%20%3Crect%20id%3D%22bg%22%20width%3D%2220%22%20height%3D%2220%22%20transform%3D%22translate(204%20222)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_144%22%20data-name%3D%22%E3%83%91%E3%82%B9%20144%22%20d%3D%22M235.595%2C232l5%2C5-5%2C5%22%20transform%3D%22translate(451%20-6.595)%20rotate(90)%22%20fill%3D%22none%22%20stroke%3D%22%230053a6%22%20stroke-width%3D%221.5%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'),url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221%22%20height%3D%2220%22%20viewBox%3D%220%200%201%2020%22%3E%0A%20%20%3Cline%20id%3D%22%E7%B7%9A_16%22%20data-name%3D%22%E7%B7%9A%2016%22%20y2%3D%2220%22%20transform%3D%22translate(0.5)%22%20fill%3D%22none%22%20stroke%3D%22%23ccc%22%20stroke-width%3D%221%22%2F%3E%0A%3C%2Fsvg%3E%0A');;
  background-repeat: no-repeat;
  background-size: 2rem ,1px;
  background-position: top 50% right 1rem , top 50% right 4rem;
  padding: 0.9rem 5rem .8rem 1.5rem;
  position: relative;
  border-radius: 0.5rem;
}

@media screen and (max-width: 767px) {
  #feature-group-items .feature-item {
    padding: 2rem;
  }
  .product__item--outline {
    grid-template-columns: 11rem 1fr;
  }
  .cart-add__area .c-button {
    width: 100%;
  }
  .cart-add__area .addCart {
    width: 82.5%;
  }

  .feature-item-add-favorite {
    width: 14%;
    display: flex;
    align-items: center;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .feature__product-list:not(:first-of-type) {
    margin-top: 9rem;
  }
  #feature-group-items {
  }
  #feature-group-items .feature-item {
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-bg-primary);
    padding-bottom: 2.5rem;
    display: grid;
    /* grid-template-rows: 35rem 4.3rem auto 4rem; */
    grid-template-rows: 34.5rem 1fr auto auto;
  }
  .product__item--outline {
    display: grid;
    grid-gap: 1.5rem;
    margin-bottom: 1rem;
  }
  .product__item--text,
  .feature-item__error,
  .feature-item__variation,
  .cart-add__area {
    padding: 0 1.5rem;
  }
  .product__item--text .feature-item-name {
    margin-top: 0;
    -webkit-line-clamp: 2;
    height: 4.5rem;
  }

  .product__item--text .product__item--price {
    margin-top: 1rem;
  }

  .product__price--proper::after {
    top: 56%;
  }
  .feature-item__error {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
  .feature-item__variation {
    margin-bottom: 1.5rem;
  }
  .cart-add__area .c-button {
    width: 17rem;
  }
  .feature-vari-arrival .c-button {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .c-form__input--select {
    /* padding: 1rem 5rem 1rem 1.5rem;
    background-size: 2rem ,1px;
    background-position: top 50% right 1rem , top 50% right 4rem; */
  }
}


/* 商品履歴 */
.product__history {

}
.c-page-title--en {

}


/* 特集ページ一覧 */


.feature-page-list__article-thumbnail-wrapper img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

.feature-list__contents-container {
  background-color: var(--color-bg-grobal);
  padding-bottom: 8rem;
}
.feature-list__contents-inner {
  width: var(--container-default);
  padding: 0.1rem 2.5rem;
  margin: 0 auto;
}
.feature-page-parts-category-links {
  border-bottom: 1px solid var(--color-brand-primary);
  padding-bottom: 4rem;
}
.feature-page-parts-category-links-items {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  justify-content: center;
}
.feature-page-parts-category-links-item {
  border: 2px solid var(--color-brand-primary);
  background-color: var(--color-white);
  border-radius: .4rem;
}
.feature-page-parts-category-links-item a {
  text-decoration: none;
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
  display: block;
  width: 100%;
  height: 100%;
  color: var(--color-brand-primary);
  letter-spacing: 0.15em;
  padding: .9rem 1.1rem;
  line-height: 1;
}
.feature-page-parts-category-links-item__active {
  background-color: var(--color-brand-primary);
}
.feature-page-parts-category-links-item__active a {
  color: var(--color-white);
}

.feature-page-parts-category-select.is-hidden {
  display: none;
}

@media screen and (max-width: 767px) {
  /* body > form {
    overflow: hidden;
  } */
  .feature-list__contents-container {
    overflow: hidden;
    width: 100vw;
  }
  .feature-list__contents-inner {
    padding: 0.1rem 0;
  }
  .feature-page-parts-category-links {
    /* overflow: hidden; */
    /* width: 100vw; */
    /* margin: 0 calc(50% - 50vw); */
  }
  .feature-page-parts-category-links__inner {
    overflow-x: auto;
    width: 100%
   
  }
  .feature-page-parts-category-links-items {
    width: max-content;
     padding: 0 1.5rem;
     overflow: scroll;
  }
  .feature-page-parts-category-select {
    padding: 0 2.5rem;
  }
  .feature-page-parts-category-select select {
    width: 100%;
  }
  .feature-page-list__article-list {
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .feature-page-parts-category-links-items {
    flex-wrap: wrap;
    gap: 1.5rem;
    width: 90%;
    margin: 0 auto;
  }
  .feature-page-parts-category-links-item a {
    font-size: 1.8rem;
  }
  .feature-page-parts-category-select {
    width: 30rem;
    margin-left: auto;
  }
}

.category--item-count_top {
  text-align: right;
}
.category--item-count_top .c-pager {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.category--item-count_top .c-pager__totalcount {
  display: block;
  font-weight: var(--fw-semibold);
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}
.category--item-count_top .c-pager__totalcount span {
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
}
.category--item-count_top .c-pager__wrapper {
  display: none;
}

.feature-page-list__article-list {
  --gap: 3rem;
}
.feature-page-list__article-list-item a {
  text-decoration: none;
  color: var(--color-brand-primary);
  letter-spacing: 0.08em;
}
.feature-page-list__text--article-title {
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
  line-height: 1.5;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 1.2rem;
  margin-bottom: .7rem;
}
.feature-page-list__text--article-published-date {
  font-weight: var(--fw-regular);
  font-size: 1.6rem;
  font-family: var(--font-en);
}


@media screen and (min-width: 768px) {


  .feature-list__contents-container {
    background-color: var(--color-bg-grobal);
    padding-bottom: 6rem;
  }
  .feature-list__contents-inner {
    width: var(--container-default);
    padding: var(--padding-horizontal-general);
  }
}

.feature-page-view-no-item {
  text-align: center;
  font-size: 1.6rem;
  padding: 2rem 0;
}


.c-pager {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .c-pager {
    margin-top: 8.5rem;
  }
}


/* 

.category--item-count_top :where(.c-pager__totalcount) {
  display: block;
}

.category--item-count_top .c-pager__wrapper {
  display: none;
}


.feature-page-view-list {
  font-family: Times, serif;
  font-size: 153.9%;
  padding: 2% 1%;
  width: 980px;
}

.feature-page-view-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.feature-page-view-item {
  border: 1px solid #d0d0d0;
  background-color: #fff;
  width: 220px;
  margin: 0.5em;
}

.feature-page-view-title {
  margin: 0.5em;
}

.feature-page-view-thumb {
  text-align: center;
}

.feature-page-view-thumb img {
  width: 100%;
}

.feature-page-view-no-item {
  text-align: center;
  font-size: 123.1%;
  padding: 20px 0;
} */