@charset "UTF-8";
/* common */

:root{
  @media screen and (min-width: 768px) {
    --container-default: 124rem;
  }
}

.p-home-section{
  margin: 6rem 0;
  padding-inline: 1rem;
  letter-spacing: 0.03em;
}

.p-page-home img{
  width: 100%;
}

.swiper-pagination-bullet{
  width: 1.4rem;
  height: 1.4rem;
  background: var(--color-light);
}

.swiper-pagination-bullet-active{
  background-color: var(--color-primary);
}

.p-home-section__title{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
  line-height: 1;
  text-align: center;
}

.p-home-section__title .title--en{
  font-size: 3rem;
  font-family: var(--font-en);
}

.p-home-section__title .title--jp{
  font-size: 1.2rem;
  font-family: var(--font-ja);
}

.p-home-bnr-slide{
  margin-top: 4rem;
  padding-inline: 1rem;
}

.bnr-slide-action-area{
  margin-top: 1rem;
  display: flex;
  align-items: center;
}

.bnr-slide-action-area .swiper-pagination{
  position: static;
  text-align: left;
}

.p-home-bnr-slide .m-featureVertical-arrows{
  display: flex;
  gap: 1rem;
}

.p-home-category .p-home-category__list,
.p-home-problem .p-home-problem__list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.p-home-category .p-home-category__item a figure,
.p-home-problem .p-home-problem__item a figure{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--color-gray-light);
  text-align: center;
  overflow: hidden;
}

.p-home-category .p-home-category__item a figure{
  gap: 1rem;
  align-items: center;
  padding: 2rem;
  border-radius: 0.4rem;
}

.p-home-category .p-home-category__img{
  width: auto;
  height: 11rem;
}

.p-home-category .p-home-category__name{
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  line-height: 1;
}

.p-home-category .p-home-category__name--en{
  font-size: 2.4rem;
  font-family: var(--font-en);
}

.p-home-category .p-home-category__name--ja{
  font-size: 1.2rem;
}

.p-home-problem .p-home-problem__name{
  padding: 2.3rem 0.5rem;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1;
}

.p-home-appeal{
  padding-bottom: 2rem;
}

.p-home-appeal .p-home-appeal__list{
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.p-home-concept{
  padding: 0;
  background-image: url(../img/custom/home/concept_bg.jpg);
  background-size: cover;
  background-position: left 10% center;
  background-repeat: no-repeat;
}

.p-home-concept .p-home-concept__inner{
  padding: 6rem 1rem;
}

.p-home-concept__text-area{
  margin-top: 4rem;
}

.p-home-concept__heading{
  display: inline-block;
  padding: 1.2rem 1rem;
  background-color: var(--color-white);
  font-size: 3rem;
  line-height: 1;
}

.p-home-concept__text{
  margin-top: 3rem;
  font-size: 1.3rem;
  line-height: 2.30769230769;
}

/* news */
.p-homeNewsList__item + .p-homeNewsList__item{
  margin-top: 1rem;
}

.p-homeNewsList{
  border-top: 0;
}

.p-homeNewsList-body{
  border-bottom: 0;
  padding: 1.6rem 2rem 1.4rem;
  background-color: var(--color-gray-light);
}

.p-homeNewsList-body__time{
  position: relative;
  padding-bottom: 1rem;
  font-weight: 400;
  font-family: var(--font-en);
  line-height: 1;
}

.p-homeNewsList-body__time::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background-color: #272727;
  width: 1.8rem;
  height: 1px;
}

.p-homeNewsList-body__title{
  line-height: 1.71428571429;
}

.p-homeContentsUnderBtn{
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}

.p-homeViewMoreBtn,
.p-homeViewMoreBtn:visited{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 18rem;
  height: 4.8rem;
  border-bottom: 0;
  border-radius: 50px;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
}

.p-homeViewMoreBtn:hover {
  color: var(--color-primary);
}

/* タブ */
.p-home-section:has(.c-tab){
  padding: 0;
}

.c-tab__nav {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}

.c-tab__nav::-webkit-scrollbar { display: none; }

.c-tab__tablist {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  width: max-content;
  margin-left: 1rem;
  background-color: var(--color-gray-light);
  border-radius: 50px;
}

.c-tab__nav::after {
  content: '';
  flex: 0 0 1rem;
  pointer-events: none;
}

.c-tab__button {
  flex-shrink: 0;
  width: 37.3333333333vw;
  padding: 1.7rem 0;
  border-radius: 50px;
  transition: all 0.3s ease;
  border: 0;
  appearance: none;
  background-color: var(--color-gray-light);
  font-size: 1.4rem;
  color: #272727;
  cursor: pointer;
  line-height: 1;
}

.c-tab__button.is-active {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.c-tab__panel {
  display: none;
  padding: 2.7rem 1rem;
}

.c-tab__panel.is-show {
  display: block;
}


@media screen and (max-width: 767px) {
  /* ranking */
  .p-home-ranking .p-product-item:first-child .c-product{
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .p-home-ranking .p-product-item:first-child .c-product-body__price-list:has(.c-product-body__price--fixed){
    flex-direction: row;
    gap: 1rem;
  }

  .p-home-section.p-home-recently-viewed{
    padding: 0;
  }

}


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

  .p-home-section{
    margin: 8rem auto;
    padding-inline: 2rem;
  }

  .swiper-pagination-bullet{
    width: 1.4rem;
    height: 1.4rem;
  }

  .p-home-section__title .title--en{
    font-size: 3.6rem;
  }

  .p-home-bnr-slide{
    padding-inline: 0;
    width: 94rem;
    margin: 8rem auto 0;
  }

  .bnr-slide-action-area{
    margin-top: 2rem;
  }

  .bnr-slide-action-area .swiper-pagination{
    position: static;
    margin: 0 auto;
    text-align: center;
  }

  .p-home-bnr-slide .m-featureVertical-arrows{
    display: none;
  }

  .p-home-category .p-home-category__list,
  .p-home-problem .p-home-problem__list{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5.4rem;
  }

  .p-home-category .p-home-category__item a figure{
    gap: 1.5rem;
  }

  .p-home-category .p-home-category__img{
    height: 15.8rem;
  }

  .p-home-appeal{
    padding-bottom: 0rem;
    padding-inline: 2rem;
  }

  .p-home-appeal .p-home-appeal__list{
    margin: 0 auto;
    flex-direction: row;
    max-width: 1137px;
    width: 91.6935483871%;
  }

  .p-home-concept{
    background-position: center center;
  }

  .p-home-concept .p-home-concept__inner{
    width: 100%;
    max-width: var(--container-default);
    margin: 8rem auto;
    margin: 0 auto;
    padding: 8rem 0 14rem; 
  }

  .p-home-concept .p-home-concept__content{
    max-width: 1053px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    gap: clamp(2rem, 5vw, 8rem);
  }

  .p-home-concept__img{
    flex: 5 1 0;
    max-width: 600px;
    min-width: 0;
  }

  .p-home-concept__text-area{
    flex: 5 1 0;
    max-width: 37.4rem;
  }

  .p-home-concept__text-area{
    margin-top: 2rem;
  }

  .p-home-concept__heading{
    padding: 1.2rem 1rem; 
  }

  .p-home-concept__text{
    margin-top: 2.2rem;
    font-size: 1.4rem;
  }

  /* news */
  .p-home-news{
    width: 100%;
    padding-inline: 2rem;
    max-width: var(--container-default);
  }

  .p-home-new:not(:has(+ .p-home-recently-viewed)){
    margin-bottom: 0;
  }

  .p-homeNewsList-inner{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }

  .p-homeNewsList{
    max-width: 88rem;
    width: 80%;
  }

  .p-homeNewsList-body{
    padding: 3.1rem 6rem 3.1rem;
  }

  .p-homeNewsList-body__time{
    padding-bottom: 0;
    padding-right: 2rem;
    margin-right: 2rem;
  }

  .p-homeNewsList-body__time::after{
    top: 50%;
    transform: translateY(-50%);
    bottom: unset;
    right: 0;
    left: unset;
    width: 1px;
    height: 1.8rem;
  }

  .p-homeContentsUnderBtn{
    margin-top: 4rem;
  }

  .p-homeViewMoreBtn{
    height: 4rem;
  }

  /* タブ */
  .p-home-section:has(.c-tab){
    padding: 0;
  }

  .c-tab__tablist {
    margin-left: 0;
  }

  .c-tab__nav{
    justify-content: center;
  }

  .c-tab__nav::after {
    display: none;
  }

  .c-tab__button {
    flex-shrink: 1;
    width: 18rem; 
  }

  .c-tab__panel {
    display: none;
    padding: 2rem 0;
  }

  /* home common product */
  .p-home-section:has(.p-product-list){
    max-width: var(--container-default);
    width: 100%;
    margin: 8rem auto;
    padding-inline: 2rem;
  }

  .p-home-recently-viewed{
    margin-bottom: 0;
  }

}