@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*=======================================
  clampの計算
=======================================*/
/*-------------------------
- common
- products_mv
- products_featured
- products_complete
-------------------------*/
/*=======================================
　common
=======================================*/
main section {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  main section {
    margin-bottom: 0;
    padding: 40px 0;
  }
}

/*=======================================
　products_mv
=======================================*/
.products_mv {
  margin-top: 42px;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .products_mv {
    padding: 0;
    margin: 0;
  }
}

.products_mv__panel {
  position: relative;
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 30px;
  background: #F1F0F5;
}
@media screen and (max-width: 768px) {
  .products_mv__panel {
    width: 100%;
    max-width: none;
    overflow: visible;
    border-radius: 0;
    background: none;
  }
}

.products_mv__agent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 170px 0 91px;
  background: radial-gradient(ellipse 62% 82% at 100% 100%, rgba(219, 226, 236, 0.98) 0%, rgba(227, 230, 235, 0.88) 32%, rgba(248, 244, 243, 0.22) 60%, rgba(248, 244, 243, 0) 78%), radial-gradient(ellipse 58% 68% at 0% 0%, rgba(255, 222, 221, 0.94) 0%, rgba(255, 228, 225, 0.76) 42%, rgba(255, 235, 230, 0) 76%), linear-gradient(112deg, #FFDEDD 0%, #FFE3E0 28%, #FEEEE7 50%, #F4EDE8 64%, #E7E7EA 78%, #DBE2EC 100%);
}
@media screen and (max-width: 768px) {
  .products_mv__agent {
    width: calc(100% - 40px);
    margin: 20px auto 0;
    padding: 130px 0 20px;
    overflow: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 20px;
    background: radial-gradient(ellipse 72% 82% at 100% 100%, rgb(218, 225, 235) 0%, rgba(226, 230, 237, 0.92) 38%, rgba(248, 244, 243, 0.22) 66%, rgba(248, 244, 243, 0) 82%), radial-gradient(ellipse 65% 70% at 0% 0%, rgba(255, 222, 221, 0.98) 0%, rgba(255, 227, 224, 0.84) 45%, rgba(255, 235, 230, 0) 78%), linear-gradient(112deg, #FFDEDD 0%, #FFE3E0 34%, #FCECE6 56%, #E9E8EA 76%, #DAE1EB 100%);
  }
}

.products_mv__logo {
  width: 409px;
  line-height: 0;
}
.products_mv__logo img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .products_mv__logo {
    width: 250px;
  }
}

.products_mv__lead {
  margin-top: 10px;
  color: var(--main_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2777777778;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .products_mv__lead {
    font-size: 16px;
    line-height: 1.4375;
  }
}

.products_mv__search {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 90%;
  max-width: 750px;
  height: 50px;
  margin-top: 84px;
  padding: 0 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 50vw;
  background: #fff;
  -webkit-box-shadow: 0 10px 28px rgba(120, 120, 120, 0.08);
          box-shadow: 0 10px 28px rgba(120, 120, 120, 0.08);
}
@media screen and (max-width: 768px) {
  .products_mv__search {
    width: calc(100% - 40px);
    height: 40px;
    margin-top: 54px;
    padding: 0 18px;
  }
}

.products_mv__search_input {
  min-width: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  color: #787878;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.products_mv__search_input::-webkit-input-placeholder {
  color: #BFC0C5;
  opacity: 1;
}
.products_mv__search_input::-moz-placeholder {
  color: #BFC0C5;
  opacity: 1;
}
.products_mv__search_input:-ms-input-placeholder {
  color: #BFC0C5;
  opacity: 1;
}
.products_mv__search_input::-ms-input-placeholder {
  color: #BFC0C5;
  opacity: 1;
}
.products_mv__search_input::placeholder {
  color: #BFC0C5;
  opacity: 1;
}
.products_mv__search_input::-webkit-search-decoration, .products_mv__search_input::-webkit-search-cancel-button {
  display: none;
}
@media screen and (max-width: 768px) {
  .products_mv__search_input {
    font-size: 14px;
  }
}

.products_mv__suggestions {
  max-width: 690px;
  width: 90%;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .products_mv__suggestions {
    width: calc(100% - 40px);
    margin-top: 60px;
  }
}
.products_mv__suggestions li + li {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .products_mv__suggestions li + li {
    margin-top: 8px;
  }
}
.products_mv__suggestions li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 50vw;
  background: rgba(255, 255, 255, 0.35);
  color: var(--main_gray);
  font-size: 14px;
  line-height: 1.3571428571;
  letter-spacing: 0.02em;
  -webkit-box-shadow: 0 3px 10px rgba(120, 120, 120, 0.03);
          box-shadow: 0 3px 10px rgba(120, 120, 120, 0.03);
}
@media screen and (max-width: 768px) {
  .products_mv__suggestions li {
    border-radius: 15px;
    font-size: 14px;
    line-height: 1.3571428571;
    letter-spacing: 0;
    background: rgba(255, 255, 255, 0.45);
  }
}

.top_nav--products {
  padding: 50px 0;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .top_nav--products {
    border-top: none;
    margin-top: 20px;
    padding: 30px 0;
    background: #F1F0F5;
  }
}
.top_nav--products .inner {
  max-width: 1118px;
}
@media screen and (max-width: 768px) {
  .top_nav--products .inner {
    width: calc(100% - 40px);
    max-width: none;
  }
}
.top_nav--products .inner ul {
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
.top_nav--products .inner ul li {
  width: calc((100% - 30px) / 4);
}
@media screen and (max-width: 768px) {
  .top_nav--products .inner ul li {
    width: 100%;
  }
}

/*=======================================
　products_featured
=======================================*/
.products_featured .cmn_2clm_01 {
  margin-bottom: 0;
}
.products_featured .cmn_2clm_01 ul {
  -webkit-column-gap: 28px;
     -moz-column-gap: 28px;
          column-gap: 28px;
}
.products_featured .cmn_2clm_01 li {
  width: calc((100% - 28px) / 2);
}
@media screen and (max-width: 768px) {
  .products_featured .cmn_2clm_01 li {
    width: 100%;
  }
}
.products_featured .cmn_2clm_01 a::after {
  right: 11px;
  bottom: 6px;
}
@media screen and (max-width: 768px) {
  .products_featured .cmn_2clm_01 a::after {
    right: 12px;
    bottom: 8px;
  }
}
.products_featured .cmn_2clm_01 .img {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .products_featured .cmn_2clm_01 .img {
    margin-bottom: 10px;
  }
}
.products_featured .cmn_2clm_01 .cmn_txt01 {
  padding-right: 42px;
}
@media screen and (max-width: 768px) {
  .products_featured .cmn_2clm_01 .cmn_txt01 {
    padding-right: 36px;
  }
}

/*=======================================
　products_complete
=======================================*/
.products_complete {
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .products_complete {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.products_complete .inner {
  max-width: 1280px;
}
@media screen and (max-width: 768px) {
  .products_complete .inner {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 768px) {
  .products_complete .inner .cmn_ttl01 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.products_complete__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 60px;
}
@media screen and (max-width: 768px) {
  .products_complete__list {
    row-gap: 1px;
  }
}

.products_complete__item {
  overflow: hidden;
  padding: 40px 0;
  border-radius: 30px;
  background: #F1F1F4;
}
@media screen and (max-width: 768px) {
  .products_complete__item {
    padding: 32px 0 40px;
    border-radius: 0;
  }
}

.products_complete__name {
  margin-bottom: 30px;
  text-align: center;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 35px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .products_complete__name {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: -0.06em;
  }
}

.products_complete__slider {
  position: relative;
  overflow: visible;
}
.products_complete__slider::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 286px;
  height: 50px;
  border-radius: 50vw;
  background: rgba(34, 34, 34, 0.7);
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .products_complete__slider::after {
    display: none;
  }
}
.products_complete__slider .splide__track {
  overflow: visible;
}
.products_complete__slider .splide__list {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.products_complete__slider .splide__pagination {
  position: absolute;
  left: 50%;
  right: auto;
  bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  height: 10px;
  padding: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .products_complete__slider .splide__pagination {
    bottom: -138px;
  }
}
.products_complete__slider .splide__pagination li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 10px;
  line-height: 0;
}
.products_complete__slider .splide__pagination__page {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0;
  line-height: 0;
  background: rgba(255, 255, 255, 0.35);
  opacity: 1;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
.products_complete__slider .splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
@media screen and (max-width: 768px) {
  .products_complete__slider .splide__pagination__page {
    background: #E4E4E8;
  }
  .products_complete__slider .splide__pagination__page.is-active {
    background: var(--main_black);
  }
}
.products_complete__slider .splide__arrows {
  position: absolute;
  left: 50%;
  bottom: 30px;
  width: 266px;
  height: 30px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .products_complete__slider .splide__arrows {
    bottom: -148px;
    width: 226px;
  }
}
.products_complete__slider .splide__arrow {
  top: 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  width: 58px;
  height: 30px;
  background-color: #fff;
  border-radius: 50vw;
  opacity: 1;
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  pointer-events: auto;
}
.products_complete__slider .splide__arrow svg {
  display: none;
}
.products_complete__slider .splide__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--main_black);
  border-right: 1px solid var(--main_black);
}
.products_complete__slider .splide__arrow:disabled, .products_complete__slider .splide__arrow[aria-disabled=true] {
  cursor: default;
  background: #A5A5A5;
  opacity: 1;
  pointer-events: none;
}
.products_complete__slider .splide__arrow:disabled::before, .products_complete__slider .splide__arrow[aria-disabled=true]::before {
  border-color: #fff;
}
@media screen and (max-width: 768px) {
  .products_complete__slider .splide__arrow {
    background: var(--main_black);
  }
  .products_complete__slider .splide__arrow::before {
    border-color: #fff;
  }
  .products_complete__slider .splide__arrow:disabled, .products_complete__slider .splide__arrow[aria-disabled=true] {
    background: #D9D9DC;
  }
}
.products_complete__slider .splide__arrow--prev {
  left: 0;
}
.products_complete__slider .splide__arrow--prev::before {
  -webkit-transform: translate(-35%, -50%) rotate(-135deg);
      -ms-transform: translate(-35%, -50%) rotate(-135deg);
          transform: translate(-35%, -50%) rotate(-135deg);
}
.products_complete__slider .splide__arrow--next {
  right: 0;
}
.products_complete__slider .splide__arrow--next::before {
  -webkit-transform: translate(-65%, -50%) rotate(45deg);
      -ms-transform: translate(-65%, -50%) rotate(45deg);
          transform: translate(-65%, -50%) rotate(45deg);
}

.products_complete__slide {
  position: relative;
  width: 844px;
  max-width: calc(90vw - 40px);
  overflow: hidden;
  border-radius: 30px;
  background: #E4E4E8;
}
@media screen and (max-width: 768px) {
  .products_complete__slide {
    width: 320px;
    max-width: calc(100vw - 40px);
    border-radius: 5px;
  }
}
.products_complete__slide img {
  display: block;
  width: 100%;
  aspect-ratio: 844/450;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .products_complete__slide img {
    aspect-ratio: 320/171;
  }
}

/* パーツ名ラベル（Figma: 左上20px / 高さ36px / 角丸999 / 左右padding20px /
   Noto Sans JP Bold 16px・行高26px・#FFF / 背景 #222222）
   文字は画像に焼き込まずHTMLテキストで配置する */
.products_complete__label {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  max-width: calc(100% - 40px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px 20px;
  border-radius: 999px;
  background: #222;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
  .products_complete__label {
    top: 8px;
    left: 8px;
    max-width: calc(100% - 16px);
    padding: 3px 12px;
    font-size: 11px;
    line-height: 1.6363636364;
  }
}

.products_complete__txt {
  width: 626px;
  margin: 30px auto;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .products_complete__txt {
    width: 90%;
    margin: 20px auto 0;
    font-size: 16px;
    line-height: 1.625;
  }
}

.products_complete__controls {
  display: none;
}
@media screen and (max-width: 768px) {
  .products_complete__controls {
    position: relative;
    display: block;
    width: 226px;
    height: 30px;
    margin: 20px auto 30px;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__pagination {
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    height: 10px;
    padding: 0;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 3;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__pagination li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 10px;
    line-height: 0;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__pagination__page {
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    margin: 0;
    line-height: 0;
    background: #E4E4E8;
    opacity: 1;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  .products_complete__controls .splide__pagination__page.is-active {
    background: var(--main_black);
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__arrows {
    position: static;
    width: 226px;
    height: 30px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 3;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__arrow {
    top: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    width: 58px;
    height: 30px;
    background-color: var(--main_black);
    border-radius: 50vw;
    opacity: 1;
    -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    pointer-events: auto;
  }
  .products_complete__controls .splide__arrow svg {
    display: none;
  }
  .products_complete__controls .splide__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .products_complete__controls .splide__arrow:disabled, .products_complete__controls .splide__arrow[aria-disabled=true] {
    cursor: default;
    background: #D9D9DC;
    opacity: 1;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__arrow--prev {
    left: 0;
  }
  .products_complete__controls .splide__arrow--prev::before {
    -webkit-transform: translate(-35%, -50%) rotate(-135deg);
        -ms-transform: translate(-35%, -50%) rotate(-135deg);
            transform: translate(-35%, -50%) rotate(-135deg);
  }
}
@media screen and (max-width: 768px) {
  .products_complete__controls .splide__arrow--next {
    right: 0;
  }
  .products_complete__controls .splide__arrow--next::before {
    -webkit-transform: translate(-65%, -50%) rotate(45deg);
        -ms-transform: translate(-65%, -50%) rotate(45deg);
            transform: translate(-65%, -50%) rotate(45deg);
  }
}

@media screen and (max-width: 768px) {
  .products_complete__btn {
    width: calc(100% - 40px);
  }
}
