@charset "UTF-8";

/*--------------------------------
	.fs-slide__custom--ai
--------------------------------*/

/* 新着情報 */
.flywheel-recommend__frame .fs-p-heading--lv2 {
  display: none;
}

.fs-slide__custom--ai .fr3-item__productPrice {
  font-weight: bold;
}

.fs-slide__custom--ai .fr3-item__productPrice__currencyMark {
  display: none;
}

.fs-slide__custom--ai .fr3-item__productPrice__value {
  padding-right: 1em;
  position: relative;
}

.fs-slide__custom--ai .fr3-item__productPrice__value::after {
  position: absolute;
  content: "円";
}

@media (min-width: 769px) {
  .fs-slide__custom--ai .fr3-productListStatic__responsive_2 {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 768px) {
  .fs-slide__custom--ai .sp-slide {
    display: flex;
    gap: unset;
    padding: 0;
  }

  .fs-slide__custom--ai .sp-slide__item {
    width: 55vw;
  }
}

/****************************************************************

	商品詳細ページ

****************************************************************/
.attention {
  margin-bottom: 20px;
}

.layout-2col {
  margin-bottom: 60px;
}

.fs-c-breadcrumb {
  font-size: 1.2rem;
  max-width: 1200px;
  max-width: min(calc(100% - 40px), 1200px);
  margin: 20px auto 60px;
}

.fs-page-error-container,
.fs-c-panelContainer {
  grid-column: 1 / -1;
  width: 100%;
}

.fs-l-product4 .fs-l-productLayout {
  grid-template-columns: 50% 1fr;
  grid-gap: 40px;
}

.fs-c-productNameHeading {
  margin-top: 0;
}

.fs-c-productThumbnail {
  gap: 10px;
}

.fs-c-productThumbnail__image {
  flex-basis: calc(25% - 8px);
  margin: 0;
}

.fs-c-productNameHeading__copy {
  font-size: 16px;
  font-weight: normal;
}

.fs-c-productNameHeading__name {
  font-size: 20px;
  display: block;
  margin-top: 10px;
}

.fs-c-productMark {
  display: inline-flex;
  margin-top: 10px;
  margin-bottom: 10px;
  gap: 3px;
}

.fs-c-productMark__mark {
  border-radius: 0;
  line-height: 1.5;
}

.fs-c-mark {
  font-size: 1.4rem;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: unset;
}

.fs-c-mark--preorder {
  background-color: #e1a8a8;
}

.fs-body-product .fs-c-productMarks {
  margin-top: 10px;
}

.fs-body-product .fs-c-productMark {
  margin-bottom: 0;
  margin-top: 0;
}

.fs-body-product .item--mark {
  margin-bottom: 5px;
  font-size: 1.3rem;
}

.fs-body-product .fs-c-mark {
  margin-bottom: 5px;
  font-size: 1.3rem;
}

.fs-c-productNumber {
  font-size: 14px;
  border-color: #d5d5d5;
  border-radius: 2px;
}

.fs-c-productNumber__number {
  font-weight: normal;
}

.fs-c-productPreorderMessage {
  font-size: 14px;
}

.subscription-cart__wrap {
  display: flex;
  flex-direction: column-reverse;
}

#fs_ProductDetailsSubscribe .fs-c-button--addToWishList--detail {
  position: relative;
}

.fs-c-productPrices--productDetail {
  margin-top: 0;
}

.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
  color: inherit;
}

.fs-c-price__currencyMark {
  font-size: 16px;
}

.fs-c-productSelection {
  margin-top: 10px;
}

#fs_ProductDetails .fs-c-price__value {
  font-weight: bold;
}

#fs_ProductDetails .fs-c-productPrice--listed .fs-c-price__value {
  font-size: inherit;
}

.fs-c-productVariationPrice__price {
  color: inherit;
}

.fs-c-productVariationPrice__price .fs-c-price__value,
#fs_ProductDetails .fs-c-productVariationPrice__price .fs-c-price__value {
  font-size: inherit;
}

.fs-c-variationLabel {
  margin-bottom: 5px;
}

.fs-c-variationCart:not(.fs-c-variationCart--withImage)>li {
  grid-template-columns: 1fr 3em 110px;
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 5px;
}

.fs-c-variationCart>li:last-child {
  border-bottom: none;
}

.fs-c-button--addToCart--variation,
#fs_ProductDetails .fs-c-button--addToCart--variation {
  padding: 0.8em 0.5em 0.8em;
  background-color: #ea6161;
}

.fs-c-button--subscribeToArrivalNotice--variation,
#fs_ProductDetails .fs-c-button--subscribeToArrivalNotice--variation {
  padding: 0.8em 0.5em 0.8em;
}

.fs-c-productPointDisplay {
  font-size: 16px;
  color: #5b986b;
  background-color: unset;
}

.fs-c-productPointDisplay__quantity {
  font-weight: normal;
}

.fs-c-aggregateRating__rating::before {
  content: none;
}

.fs-c-reviewStars::before {
  padding-bottom: 4px;
}

.fs-c-aggregateRating__rating {
  flex: 0 1 7.5em;
}

.fs-c-aggregateRating {
  align-items: center;
}

.fs-c-rating__value {
  font-size: 14px;
  color: inherit;
}

.fs-c-reviewStars[data-ratingCount="0.0"]::before {
  content: url(../img/icon_star_0.svg);
}

.fs-c-reviewStars[data-ratingCount="1.0"]::before {
  content: url(../img/icon_star_1.svg);
}

.fs-c-reviewStars[data-ratingCount="2.0"]::before {
  content: url(../img/icon_star_2.svg);
}

.fs-c-reviewStars[data-ratingCount="3.0"]::before {
  content: url(../img/icon_star_3.svg);
}

.fs-c-reviewStars[data-ratingCount="4.0"]::before {
  content: url(../img/icon_star_4.svg);
}

.fs-c-reviewStars[data-ratingCount="5.0"]::before {
  content: url(../img/icon_star_5.svg);
}

.fs-c-productSalesPeriod {
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 15px;
}

.fs-c-productSalesPeriod__label {
  display: block;
  font-weight: bold;
}

.fs-c-productQuantityAndWishlist {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0 10px;
}

.fs-c-productQuantityAndWishlist__quantity {
  padding-left: 2.5em;
  position: relative;
  max-width: 6em;
  min-width: 110px;
  margin: 0 auto 0 0;
}

.fs-c-productQuantityAndWishlist__quantity::after {
  position: absolute;
  content: "数量";
  display: block;
  width: 2em;
  height: auto;
  left: 0;
  top: 5px;
  bottom: auto;
}

.fs-c-button--addToWishList--detail,
.fs-c-button--removeFromWishList--detail,
.fs-c-button--addToWishList--detail.fs-c-button--particular,
.fs-c-button--removeFromWishList--detail.fs-c-button--particular {
  color: #5b986b;
  font-size: 14px;
  border: 1px solid #5b986b;
  background-color: #f4fff7;
  box-shadow: none;
  padding: 5px 7px;
  min-width: 178px;
}

.fs-c-button--particular:hover,
.fs-c-button--particular:visited,
.fs-c-button--particular:active {
  color: #5b986b;
}

.fs-c-button--particular.fs-c-button--addToWishList--detail::after {
  margin-left: 5px;
}

.fs-c-button--addToCart--detail {
  background-color: #ea6161;
  border: none;
  border-radius: 4px;
  font-weight: bold;
  padding: 30px 10px;
  font-size: 20px;
}

#fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction {
  gap: 10px;
  flex-direction: row;
}

#fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction--subscription.fs-c-productQuantityAndAction {
  flex-direction: column;
  margin-top: -50px;
}

#fs_ProductDetailsSubscribe .fs-c-buttonContainer--addToSubscriptionCart--detail {
  width: 100%;
}

#fs_ProductDetailsSubscribe .fs-c-button--addToCart--subscriptionDetail {
  min-width: auto;
  width: 100%;
}

#fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction__action {
  order: 2;
}

#fs_ProductDetailsSubscribe .fs-c-button--primary.fs-c-button--addToSubscriptionCart--detail {
  background-color: #ea6161;
  min-width: unset;
  width: 100%;
  font-weight: bold;
  padding: 30px 10px;
  font-size: 20px;
}

#fs_ProductDetailsSubscribe .fs-c-button--addToSubscriptionCart--detail .fs-c-button__label {
  padding: 5px 0 4px 45px;
  background: url(../img/icon_cartsubscription.svg) no-repeat left -10px center;
}

#fs_ProductDetailsSubscribe .fs-c-buttonContainer.fs-c-buttonContainer--addToWishList--detail {
  justify-content: flex-end;
}

#fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction__quantity {
  padding-left: 2.5em;
  position: relative;
  max-width: 6em;
  min-width: 110px;
  margin: 0 auto 0 0;
  order: 1;
}

#fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction__quantity::after {
  position: absolute;
  content: "数量";
  display: block;
  width: 2em;
  height: auto;
  left: 0;
  top: 5px;
  bottom: auto;
}

#fs_ProductDetailsSubscribe .fs-c-quantity__number:focus:not(.is-error)+.fs-c-quantity__message {
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 3px;
  color: #333333;
  display: block;
  line-height: 1.1;
  margin-top: 1px;
  padding: 2px 4px;
  z-index: 1;
  min-width: max-content;
}

.fs-c-button--addToCart--detail .fs-c-button__label {
  padding: 5px 0 4px 45px;
  background: url(../img/icon_cart.svg) no-repeat left -10px center;
}

.fs-c-button--plain {
  color: inherit;
  text-decoration: underline;
  font-size: 14px;
}

.tabs {
  display: flex;
}

.tab {
  flex: 1;
  line-height: 1;
  text-align: center;
  padding: 13px 10px;
  cursor: pointer;
  font-weight: bold;
  border-top: 2px solid transparent;
  background-color: #f1f1f1;
  transition: all 0.1s;
  color: #959595;
}

.tab.inactive {
  pointer-events: none;
  /* クリック無効 */
  cursor: default;
}

.tab.active {
  border-top: 2px solid #000;
  background-color: #fff;
  color: inherit;
}

.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

#product-description,
#caution {
  margin-top: 20px;
}

#product-description>* {
  margin-top: 50px;
}

#product-description>*:not(iframe):first-of-type {
  margin-top: 0;
}

.cat-rose__comment-reverse {
  display: grid;
  grid-template-areas:
    "product-description__order1"
    "product-description__order2";
}

.cat-rose__comment-reverse .product-description__2col {
  grid-area: product-description__order2;
  margin-top: 50px;
}

.cat-rose__comment-reverse .product-description__1col {
  grid-area: product-description__order1;
}

.product-description__2col--item {
  display: grid;
  grid-template-columns: calc(50% - 40px) 1fr;
  gap: 20px 40px;
  margin-bottom: 30px;
}

.product-description__2col--item:last-of-type {
  margin-bottom: 0;
}

.caution__item p {
  margin-top: 10px;
}

.product-description__title,
.caution__item p.product-description__title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 10px;
  margin-top: 0;
}

.product-description__1col>* {
  display: block;
  margin-bottom: 10px;
}

.product-description__1col iframe,
.tab-content iframe {
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.product-description__table--title {
  margin-bottom: 10px;
}

.product-description__table table {
  width: 100%;
  text-align: left;
  font-weight: normal;
  border-spacing: 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.product-description__table table th {
  background-color: #ebf3f3;
  min-width: 100px;
}

.product-description__table table th,
.product-description__table table td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 7px 10px;
}

.caution__item:nth-of-type(n + 2) {
  margin-top: 40px;
}

.simultaneous-purchase {
  padding: 20px;
  background-color: #faf8e2;
  margin-top: 50px;
}

.simultaneous-purchase__title {
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}

.simultaneous-purchase .accordion__title {
  text-align: center;
  background-color: inherit;
}

.simultaneous-purchase .accordion__title span {
  position: relative;
  text-decoration: underline;
  margin: auto;
  display: inline-block;
  padding-right: 20px;
}

.simultaneous-purchase .accordion__title span::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  height: 1em;
  right: 0;
  top: 4px;
  background: url(../img/icon_arrow_down.svg) no-repeat right center;
}

.simultaneous-purchase .accordion__title.open span {
  text-indent: -9999px;
  /* テキストを画面外に追い出す */
  overflow: hidden;
  width: calc(3em + 20px);
}

.simultaneous-purchase .accordion__title.open span::before {
  content: "閉じる";
  position: absolute;
  /* top: 50%; */
  left: 0;
  /* transform: translate(-50%, -50%); */
  text-indent: 0;
}

.simultaneous-purchase .accordion__title.open span::after {
  background: url(../img/icon_arrow_up.svg) no-repeat right center;
}

.simultaneous-purchase__introduction {
  margin-top: 20px;
  padding-top: 30px;
  position: relative;
}

.simultaneous-purchase__introduction::after {
  position: absolute;
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #333;
  top: 0;
  left: 50%;
  transform: translateX(-20px);
}

.simultaneous-purchase__introduction p:nth-of-type(n + 2) {
  margin-top: 10px;
}

.simultaneous-purchase__item {
  margin-top: 40px;
}

.simultaneous-purchase__item-title {
  font-weight: bold;
  padding-bottom: 15px;
  margin-bottom: 20px;
  position: relative;
  text-align: center;
}

.simultaneous-purchase__item-title::after {
  position: absolute;
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #333;
  bottom: 0;
  left: 50%;
  transform: translateX(-20px);
}

.simultaneous-purchase__2col {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 30px;
}

.simultaneous-purchase .title-bg-green {
  background-color: #92b5b8;
  font-size: 16px;
  color: #fff;
}

.simultaneous-purchase__2col--text-area p {
  margin-bottom: 10px;
}

.simultaneous-purchase__2col--text-area p span {
  font-weight: bold;
}

.simultaneous-purchase__link {
  display: block;
  margin: 0 0 0 auto;
  padding-right: 20px;
  width: fit-content;
  background: url(../img/icon_arrow_right.svg) no-repeat center right;
}

#fs_ProductDetails .feature-main__item--for-beginner,
#fs_ProductDetailsSubscribe .feature-main__item--for-beginner {
  margin-top: 50px;
}

.column-list__item {
  position: relative;
  margin: 0 10px;
}

.column-list__link {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  text-indent: -9999px;
  z-index: 0;
}

.column-list__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 10px;
}

.column-list__category {
  font-size: 14px;
  color: #2c4e2f;
  text-decoration: underline;
}

.column-list__date {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: #707070;
}

.channel-introduction {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.channel-introduction__text-area {
  padding: 40px 30px;
  margin-top: 10%;
  position: relative;
}

.channel-introduction__text-area::after {
  position: absolute;
  content: "";
  display: block;
  width: 110%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1;
  background-color: #ebf3f3;
}

.channel-introduction__YouTube {
  width: 90px;
  margin-bottom: 10px;
}

.channel-introduction__title {
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 20px;
}

.channel-introduction__text-area .btn__main--black {
  padding: 9px 10px 7px;
  width: 200px;
  margin: 20px 0 0 auto;
  background-color: rgb(0 0 0 / 60%);
}

.fs-l-product4 .basic__area {
  margin: 0 auto 60px;
}

.fs-c-featuredProduct__header {
  display: none;
}

.delivery-classification {
  border-radius: 4px;
  padding: 10px 15px;
  background-color: #f2f9ff;
  border: 1px solid #d0e2f1;
}

.fs-c-productPostage {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 5px;
}

.fs-c-productPostage__label {
  text-indent: -9999px;
  width: calc(4em + 25px);
  padding-left: 25px;
  position: relative;
  position: relative;
  display: inline-block;
  background: url(../img/icon_delivery-classification.svg) no-repeat center left;
  height: 22px;
  width: 95px;
  flex-shrink: 0;
  margin-top: 3px;
  font-size: 14px;
  width: calc(4em + 25px);
}

.fs-c-productPostage__label::before {
  content: "送料区分";
  position: absolute;
  left: 25px;
  text-indent: 0;
  /* font-size: 14px; */
  font-weight: bold;
}

.fs-c-productPostage__value {
  font-size: 18px;
  font-weight: bold;
}

.fs-c-productPostage::before {
  content: none;
}

.fs-c-productPostage::after {
  content: none;
}

.fs-c-productMainImage__expandButton {
  display: none;
}

.delivery-classification_link {
  text-decoration: underline;
  font-size: 14px;
}

.payment-method {
  margin-top: 20px;
}

.payment-method a {
  display: block;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px 15px;
}

.payment-method__title {
  padding-left: 1em;
  position: relative;
  margin-bottom: 10px;
  font-weight: bold;
}

.payment-method__title::after {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: 8px;
  left: 4px;
  background-color: #5b986b;
}

.payment-method img {
  max-width: 288px;
  margin: auto;
  width: 100%;
}

.landscape_banner-area {
  margin-top: 20px;
}

.landscape_banner-area a {
  display: block;
  margin-top: 10px;
}

.variations-link {
  margin-top: 20px;
}

.variations-link__title {
  padding-left: 1em;
  position: relative;
  margin-bottom: 10px;
  font-weight: bold;
}

.variations-link__title::after {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: 8px;
  left: 4px;
  background-color: #5b986b;
}

.variations-link__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.variations-link__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f4fff7;
  border: 1px solid #5b986b;
  border-radius: 4px;
  padding: 10px;
}

.variations-link__item.is-active {
  border-width: 3px;
}

.variations-link__item span {
  font-weight: bold;
  color: #5b986b;
  padding-right: 15px;
  background: url(../img/icon_arrow_right_thin_green.svg) no-repeat center right;
}

.fs-c-productReview__aggregateRating {
  padding-top: 1.5em;
  position: relative;
  margin-bottom: 10px;
}

.fs-c-productReview__aggregateRating::after {
  content: "この商品の平均評価";
  position: absolute;
  top: 0;
  font-weight: bold;
}

.fs-c-reviewList__item:first-child {
  border-top: 1px solid #ccc;
}

.fs-c-reviewList__item__body {
  border: none;
  padding: 0;
}

.fs-c-reviewer__status {
  display: none;
}

.fs-c-reviewer__profile {
  margin-left: 10px;
}

.fs-c-reviewList__item {
  border-bottom: 1px solid #ccc;
}

.fs-c-button--viewAllReviews,
.fs-c-button--addReview--detail {
  margin: 10px auto;
}

.fs-c-button--viewAllReviews .fs-c-button__label,
.fs-c-productReview__addReview .fs-c-button__label {
  color: #fff;
}

.fs-c-button--plain.fs-c-button--viewAllReviews::before,
.fs-c-button--plain.fs-c-button--addReview--detail::before {
  content: none;
}

.fs-c-featuredProduct .fs-c-productListItem__control {
  display: none;
}

.fs-c-featuredProduct .fs-c-productPrice {
  font-weight: bold;
}

.fs-c-featuredProduct .fs-c-price__value {
  font-size: 16px;
}

.fs-c-featuredProduct .fs-c-productPrice__addon:where(:not([class*="--listed"])),
.fs-c-featuredProduct .fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
  line-height: 1.5;
  font-size: 16px;
}

.fs-c-productImageModal .slick-slider .slick-list {
  height: 100% !important;
}

.ratingcount-0,
.productRating.ratingcount-0 {
  display: none;
}

.fs-c-rating {
  display: flex;
  align-items: center;
}

.productRating {
  display: flex;
  align-items: center;
  gap: 10px;
}

.productRating a {
  text-decoration: underline;
  font-size: 14px;
}

.fs-slide__custom .slick-slider {
  max-width: min(calc(100vw - 440px), 800px);
  margin-left: 5px;
}

.fs-slide__custom .fs-c-productListCarousel {
  display: block;
  position: relative;
}

.fs-slide__custom .fs-c-productListCarousel__list__item {
  min-width: unset;
  max-width: unset;
  margin: 0;
}

.fs-slide__custom .slick-slide {
  margin: 0 10px;
}

.fs-slide__custom .fs-c-productListCarousel__ctrl {
  position: absolute;
  z-index: 1;
  top: 50%;
  min-width: auto;
  transform: translateY(-50%);
}

.fs-slide__custom .fs-c-productListCarousel__ctrl--prev {
  left: 0;
}

.fs-slide__custom .fs-c-productListCarousel__ctrl--next {
  right: 0;
}

.fs-slide__custom .fs-c-button--carousel--prev::before {
  content: url(../img/icon_slide_prev.svg);
}

.fs-slide__custom .fs-c-button--carousel--next::before {
  content: url(../img/icon_slide_next.svg);
}

.fs-slide__custom .fs-c-button--carousel {
  background-color: #000c;
  width: 36px;
  height: 72px;
}

.fs-slide__custom .slick-disabled {
  display: none !important;
}

.js-open-product-tag-modal,
.fs-l-product4 .fs-l-productLayout>*>.js-open-product-tag-modal {
  text-decoration: underline;
  display: inline-block;
  margin: 0 auto 3px 0;
  cursor: pointer;
}

.fs-c-inquiryAboutProduct {
  padding-top: 0;
}

#openProductTagModal {
  font-size: 14px;
}

.modal.product-tag-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.product-tag-modal__content {
  background-color: #fff;
  margin: 5vh auto;
  padding: 20px;
  border-radius: 8px;
  width: 90vw;
  height: 90vh;
  max-width: 1000px;
  max-height: 90vh;
  position: relative;
}

.modal-inner {
  overflow: scroll;
  max-height: calc(90vh - 40px);
}

.modal-inner .margintop {
  margin-top: 0;
}

.product-tag-modal__close {
  display: block;
  width: 40px;
  background-color: #616161;
  height: auto;
  aspect-ratio: 1;
  border-radius: 8px;
  text-align: center;
  line-height: 36px;
  color: #fff;
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}

.product-tag-modal__text {
  font-size: 16px;
  color: #333;
}

.btn__wrap .fs-c-buttonContainer {
  max-width: 350px;
  width: 100%;
}

.fs-c-featuredProduct .fs-c-price__value,
#fs_ProductDetails .fs-c-featuredProduct .fs-c-price__value {
  font-size: inherit;
}

.flywheel-recommend__frame .fr3-item__rankContainer {
  display: none;
}

.flywheel-recommend__frame .fr3-item__productPrice {
  font-weight: bold;
}

.flywheel-recommend__frame .fr3-item__productPrice__currencyMark {
  display: none;
}

.flywheel-recommend__frame .fr3-item__productPrice__value::after {
  content: "円";
}

@media (min-width: 961px) and (max-width: 1120px) {

  #fs_ProductDetailsSubscribe .fs-c-buttonContainer.fs-c-buttonContainer--addToWishList--detail {
    justify-content: flex-start;
  }

  #fs_ProductDetailsSubscribe .fs-c-productQuantityAndAction--subscription.fs-c-productQuantityAndAction {
    margin-top: 0;
  }
}

@media (max-width: 960px) {
  .attention {
    margin-bottom: 0;
  }

  .fs-c-breadcrumb {
    margin: 10px auto 30px;
  }

  .fs-l-product4 .fs-l-productLayout__item--3 {
    grid-column: 1 / 3;
  }

  .fs-slide__custom .slick-slider {
    max-width: calc(100vw - 40px);
  }
}

@media (max-width: 768px) {
  .fs-c-productThumbnail {
    flex-wrap: nowrap;
    overflow: auto;
    width: 100vw;
    margin-left: -20px;
    padding: 0 20px;
  }

  .fs-c-productThumbnail__image {
    flex-basis: unset;
    min-width: 70px;
  }

  .fs-l-product4 .fs-l-productLayout__item {
    grid-column: 1 / 3;
  }

  .fs-c-productMark__mark {
    font-size: 12px;
  }

  .fs-c-button--addToCart--detail {
    width: 100%;
  }

  .product-description__2col--item {
    grid-template-columns: 1fr;
  }

  .simultaneous-purchase__2col {
    gap: 20px;
  }

  .simultaneous-purchase .accordion__title.open span {
    width: 3em;
    padding-top: 20px;
  }

  .simultaneous-purchase .accordion__title.open span::after {
    background-position: top center;
    right: 50%;
    transform: translateX(50%);
  }

  .channel-introduction {
    grid-template-columns: repeat(1, 1fr);
    position: relative;
  }

  .channel-introduction__img {
    position: relative;
    left: -20px;
  }

  .channel-introduction__text-area {
    margin-top: 0;
    padding: 20px 0 20px 20px;
  }

  .channel-introduction__text-area::after {
    width: calc(100% + 20px);
    right: -20px;
  }

  .fs-slide__custom .fs-c-productListCarousel {
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(calc(100% - 100vw) * 0.5);
  }

  .fs-slide__custom .slick-slide {
    width: 55vw;
    max-width: 300px;
  }

  .fs-slide__custom .slick-slider {
    overflow: unset;
    max-width: unset;
    width: 100vw;
    margin-left: 0;
  }

  .fs-slide__custom .slick-track {
    margin-left: 20px;
  }

  .fs-slide__custom .fs-c-productListCarousel__ctrl {
    top: 28vw;
  }

  .layout-2col {
    margin-bottom: 50px;
  }
}

/*--------------------------------
	リニューアル前の独自コメント用CSS
--------------------------------*/
.comment_9 {
  margin-top: 30px;
}

.comment_9 .textStyle01 h4 {
  font-size: 18px;
}

.comment_9 .textStyle01 h5 {
  font-size: 16px;
  line-height: 1.6;
}

.textStyle01 .attention {
  background-color: #fff;
  text-align: unset;
  padding: 0;
  position: unset;
  margin-bottom: 0;
}

/* [テキスト] textStyle01
----------------------------------------------------------*/
.textStyle01 {
  margin: 0 0 5px;
  padding: 10px;
  border: 2px solid #eaeaea;
  color: #545454;
  font-size: 14px;
}

.textStyle01 h4 {
  margin: 0 0 4px;
  padding: 0 0 3px;
  border-bottom: 1px dotted #545454;
  font-weight: bold;
  font-size: 15px;
  color: #660000;
}

.textStyle01 .attention {
  color: #545454;
  font-size: 14px;
}

.textStyle01 .point {
  background-color: #ffff66;
  color: #ff3333;
  font-weight: bold;
}

.textStyle01 .point2 {
  color: #f00;
  font-size: 14px;
}

p.fs-p-logo__lead {
  font-weight: nomal;
  font-size: 1.2em;
}

/* [サイドバナー] 
----------------------------------------------------------*/
.fs-p-sideMenu {
  font-weight: bold;
}

/* [サイドバー従来のもの] 
----------------------------------------------------------*/
/* sidebar
----------------------------------------------------------*/
/* .スクロール追従バナー
----------------------------------------------------------*/

a.Side_Banner {
  position: fixed;
  display: inline-block;
  transition: all 0.2s ease;
  z-index: 9999;
}

/* 右側 */
a.Side_Banner.right {
  right: -110px;
}

/*マウスを乗せた時に出てくる幅*/
a.Side_Banner.right:hover {
  right: 0;
}

/* 左側 */
a.Side_Banner.left {
  left: -20px;
}

/*マウスを乗せた時に出てくる幅*/
a.Side_Banner.left:hover {
  left: 0;
}

/* 並び位置 */
a.Side_Banner.top1 {
  top: 100px;
}

a.Side_Banner.top2 {
  top: 320px;
}

a.Side_Banner.top3 {
  top: 540px;
}

a.Side_Banner.top4 {
  top: 760px;
}

a.Side_Banner.top5 {
  top: 900px;
}

#container {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (min-width: 768px) and (max-width: 960px) {
  #container {
    padding-top: 80px;
  }
}

@media only screen and (max-width: 768px) {
  #container {
    padding-top: 80px;
  }
}

#contents {
  flex: 1 0 auto;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  margin-left: 0;
  width: calc(100% - 260px);
  background: #fffbf3;
}

#sidebar {
  width: 260px;
  background: #f0ebe4;
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}

@media only screen and (min-width: 768px) and (max-width: 960px) {
  #sidebar {
    position: absolute;
    top: -100%;
    left: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  #sidebar.active {
    top: 140px;
  }
}

@media only screen and (max-width: 768px) {
  #sidebar {
    position: fixed;
    top: 65px;
    width: 300px;
    width: 90%;
    height: 90%;
    right: -100%;
    z-index: 10000;
    overflow-y: scroll;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  #sidebar.active {
    right: 0;
  }
}

#sidebar .list-snav {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  z-index: 10000;
  padding: 60px 0 60px 0;
  padding: 30px 0 30px 0;
  height: auto;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav {
    top: 20px;
    padding: 0;
  }
}

#sidebar .list-snav__item span {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  padding: 4px 10px 4px 20px;
  color: #333;
}

#sidebar .list-snav__item span:hover {
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav__item span {
    position: relative;
    padding: 5px 10px;
  }

  #sidebar .list-snav__item span:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    display: block;
    margin-top: -5px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 9px 9px 0 9px;
    border-color: #666 transparent transparent transparent;
    z-index: 0;
  }
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav__item span.open:after {
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent #666 transparent;
  }
}

#sidebar .list-snav__item span:hover {
  background: #e6e1db;
}

#sidebar .list-snav__item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  padding: 4px 10px 4px 20px;
  color: #333;
}

#sidebar .list-snav__item a:hover {
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav__item a {
    position: relative;
    padding: 5px 10px;
  }
}

#sidebar .list-snav .list-page {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px;
}

#sidebar .list-snav .list-page__item {
  flex: 0 0 49%;
  margin-bottom: 1%;
  background: #becda2;
}

#sidebar .list-snav__icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
}

#sidebar .list-snav__icon img {
  margin-right: 10px;
  padding: 5px;
}

#sidebar .list-snav .list-snav__secondary a {
  padding: 10px 10px 10px 20px;
  color: #333;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav .list-snav__secondary a {
    padding: 5px 5px 5px 30px;
  }
}

@media only screen and (min-width: 961px) {
  #sidebar .list-snav .list-snav__secondary {
    position: absolute;
    top: 0;
    left: 100%;
    width: 0;
    height: 100%;
    min-width: 0%;
    opacity: 0;
    overflow: hidden;
    background: #e6e1db;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

@media only screen and (min-width: 768px) and (max-width: 960px) {
  #sidebar .list-snav .list-snav__secondary {
    position: absolute;
    top: 0;
    left: 100%;
    width: 0;
    height: 100%;
    min-width: 0%;
    opacity: 0;
    overflow: hidden;
    background: #e6e1db;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav .list-snav__secondary {
    display: none;
  }

  #sidebar .list-snav .list-snav__secondary.active {
    display: block;
  }
}

@media only screen and (min-width: 961px) {
  #sidebar .list-snav .list-snav__item:hover .list-snav__secondary {
    width: 200%;
    opacity: 1;
    min-height: 100%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 960px) {
  #sidebar .list-snav .list-snav__item:hover .list-snav__secondary {
    width: 200%;
    opacity: 1;
    min-height: 100%;
  }
}

#sidebar .list-snav .list-subnav {
  display: block;
  width: auto;
  padding: 40px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav .list-subnav {
    display: block;
    padding: 5px;
  }
}

#sidebar .list-snav .list-subnav__title {
  flex: 0 0 100%;
  margin: 0 0 20px 20px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  #sidebar .list-snav .list-subnav__title {
    display: none;
  }
}

#sidebar .list-snav .list-subnav__item {
  flex: 0 0 50%;
}

#sidebar .list-snav .list-subnav__item a {
  display: block;
}

li {
  list-style: none;
}

/*新着商品箇所のアイコン指定*/
.fs-icon--newProduct:before {
  content: "\e93b";
}

/*ヘッダーロゴ*/
.fs-l-header__logo {
  width: 100%;
}

/*グループの登録商品がありませんの文言を非表示*/
.fs-body-category-oteire .fs-c-noResultMessage {
  display: none;
}

.fs-body-category-disease-carrier .fs-c-noResultMessage {
  display: none;
}

.fs-body-category-starter .fs-c-noResultMessage {
  display: none;
}

/*商品カテゴリー内のバナーを横並びにする*/
.fs-pt-column--4-2 {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  margin: 0 auto;
}

.fs-pt-column--4-1 {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  margin: 0 auto;
}

.fs-pt-column__item {
  padding: 8 4 0 4;
}

/*SPでカテゴリーを横並びのままにする*/
.category01 {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}

.category02 {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}

/*よみものコンテンツを横並びにする*/
.fs-pt-column-yomi-2 {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  margin: 0 auto;
}

.fs-pt-column-yomi-1 {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  margin: 0 auto;
}

/*SPのみ表示*/
@media only screen and (max-width: 768px) {
  .fs-pt-column--4 {
    display: none;
  }
}

/*ｐｃのみ表示*/
@media only screen and (min-width: 769px) {
  .fs-pt-column-yomi-1 {
    display: none;
  }

  .fs-pt-column-yomi-2 {
    display: none;
  }
}

/****************************************************************

	カテゴリーページ

****************************************************************/

.page-title {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  margin: 10px auto 40px;
  padding-bottom: 15px;
}

.fs-c-subgroup .fs-c-listControl {
  display: none;
}

.fs-c-subgroupList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.fs-c-subgroupList__link,
.fs-c-subgroupList__link:visited,
.fs-c-subgroupList__link:hover,
.fs-c-subgroupList__link:active {
  background-color: #e8eee3;
  border-radius: 4px;
  padding: 10px;
  border: none;
  font-size: 14px;
  min-height: calc(2em * 1.5 + 20px);
  position: relative;
}

.fs-c-subgroupList__link::after {
  content: "";
  position: absolute;
  background: url(../img/icon_arrow_right.svg) no-repeat center right;
  width: 7px;
  height: 13px;
  right: 10px;
}

.fs-c-subgroupList__image {
  align-self: center;
}

.fs-c-subgroupList__image>img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 4px;
}

.fs-c-sortItems__list__item.is-active {
  background: #5b986b;
}

.fs-c-productList {
  margin: 60px 0;
}

.fs-c-productList__controller,
.fs-c-staffList__controller,
.fs-c-coordinationList__controller {
  border-top: 1px solid #ccc;
  padding-top: 10px;
}

.fs-c-productList__controller:first-of-type,
.fs-c-staffList__controller:first-of-type,
.fs-c-coordinationList__controller:first-of-type {
  border-top: none;
  border-bottom: 1px solid #ccc;
  padding-top: 0;
  padding-bottom: 10px;
}

.fs-c-productListItem__viewMoreImageButton {
  display: none;
}

.fs-c-productList__list {
  gap: 40px 20px;
  grid-template-columns: calc(50% - 10px) calc(50% - 10px);
}

.fs-c-productList__list .fs-c-productMarks {
  margin-top: 10px;
}

.fs-c-productList__list .fs-c-productMark {
  margin-bottom: 0;
  margin-top: 0;
}

.fs-c-productList__list .item--mark {
  margin-bottom: 5px;
  font-size: 1.3rem;
}

.fs-c-productList__list .fs-c-mark {
  margin-bottom: 5px;
  font-size: 1.3rem;
}

.category-comment_original-comment,
.category-comment {
  margin-top: 20px;
}

.fs-c-productListItem__salesPeriodNotice {
  background: none;
  border: 1px solid #c61c1c;
  color: inherit;
}

.border-blue,
.fs-c-productListItem__salesPeriodNotice.border-blue {
  border-color: #1c8ac6;
}

.border-green,
.fs-c-productListItem__salesPeriodNotice.border-green {
  border-color: #12aa1d;
}

.fs-c-productListItem__outOfStock {
  display: none;
}

@media screen and (min-width: 600px) {
  .fs-c-productList__list {
    grid-template-columns: calc(33.3333333333% - 13.33px) calc(33.3333333333% - 13.33px) calc(33.3333333333% - 13.33px);
  }
}

@media screen and (min-width: 768px) {
  .fs-c-productList__list {
    grid-template-columns: calc(25% - 15px) calc(25% - 15px) calc(25% - 15px) calc(25% - 15px);
  }
}

@media screen and (min-width: 960px) {
  .fs-c-productList__list {
    grid-template-columns: calc(20% - 16px) calc(20% - 16px) calc(20% - 16px) calc(20% - 16px) calc(20% - 16px);
  }
}

.fs-c-productList__list .fs-c-productName__copy {
  display: none;
}

.fs-c-productList__list .fs-c-productPrice__main__label {
  display: none;
}

.fs-c-productList__list .fs-c-price__currencyMark {
  display: none;
}

.fs-c-productList__list .fs-c-price__value {
  position: relative;
  font-size: 16px;
  padding-right: 1em;
  font-weight: bold;
}

.fs-c-productList__list .fs-c-price__value::after {
  position: absolute;
  content: "円";
  right: 0;
}

.fs-c-productList__list__item {
  border-bottom: none;
  padding: 0;
}

.fs-c-productList__list .fs-c-productPrice__addon:where(:not([class*="--listed"])) {
  line-height: inherit;
  padding: 0 0.5em;
  font-size: 14px;
}

.fs-c-productList__list .fs-c-productPrice__addon__label {
  font-weight: bold;
}

.fs-c-productList__list .fs-c-productListItem__prices {
  padding-top: 1em;
  position: relative;
}

.fs-c-productList__list .fs-c-productListItem__prices::after {
  position: absolute;
  content: "販売価格";
  top: 0;
  line-height: 1;
  font-size: 13px;
  font-weight: bold;
}

.fs-c-productListItem__control {
  color: #2c4e2f;
}

.fs-c-button--plain.fs-c-button--viewProductDetail::before {
  display: none;
}

.fs-c-noResultMessage {
  display: none;
}

@media (max-width: 768px) {
  .fs-c-subgroupList {
    grid-template-columns: repeat(1, 1fr);
  }

  .fs-c-productList__controller,
  .fs-c-staffList__controller,
  .fs-c-coordinationList__controller {
    flex-direction: column;
  }

  .fs-c-listControl {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .page-title {
    font-size: 26px;
  }
}

@media (max-width: 599px) {

  .fs-c-sortItems,
  .fs-c-sortItems__list {
    border: none;
  }

  .fs-c-sortItems__label {
    border: 1px solid currentColor;
  }
}

/* 旧独自コメント用css ここから */

.category-comment h1,
.category-comment h2,
.category-comment h3,
.category-comment h4,
.category-comment h5 {
  font-weight: 500;
  line-height: 1.2;
  margin: 1em 0;
}

.category-comment p {
  margin: 1rem 0;
}

.category-comment img {
  margin-bottom: 10px;
  display: inline-block;
}

/* 旧独自コメント用css ここまで */

/****************************************************************

	マイページ・カートページ・その他

****************************************************************/

.fs-c-button--primary:not(.btn__main):not(.btn__main--black):not(.fs-c-button--addToCart--detail) {
  background-color: #92b5b8;
  padding: 0.8em 1.6em 0.8em;
  border-radius: 4px;
  border: none;
}

.fs-c-button--secondary:not(.btn__main):not(.btn__main--black) {
  background-color: #92b5b8;
  padding: 0.8em 1.6em 0.8em;
  border-radius: 4px;
  border: none;
}

.fs-c-button--standard {
  box-shadow: none;
  background: #697070;
  padding: 0.8em 1.6em 0.8em;
  border-radius: 4px;
  color: #fff;
  border: none;
}

.fs-c-button--standard:hover,
.fs-c-button--standard:visited {
  color: #fff;
}

.fs-c-buttonContainer .btn__main,
.fs-c-buttonContainer .btn__main--black {
  margin: 0;
}

.fs-c-button--standard.btn__main--black {
  box-shadow: none;
}

.fs-c-buttonContainer--deleteChange .btn__main,
.fs-c-buttonContainer--deleteChange .btn__main--black {
  width: auto;
  min-width: auto;
  padding: 10px 10px 8px;
  font-size: 14px;
}

.fs-c-wishlistProduct__header {
  margin-bottom: 20px;
}

.fs-c-wishlistProduct__title,
.fs-c-featuredProduct__title {
  display: none;
}

.under-item {
  margin-top: 60px;
}

#layout-1col .fs-slide__custom .slick-slider {
  max-width: 100%;
}

.fs-c-documentArticle__heading {
  font-size: 22px;
  font-weight: bold;
  padding: 10px;
  background-color: #ebf3f3;
  margin-bottom: 20px;
  border-radius: 4px;
  color: inherit;
  border: none;
  text-align: left;
}

.fs-c-documentColumn__heading {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
  color: inherit;
  border: none;
  padding-top: 0;
  padding-bottom: 0;
}

.fs-c-documentColumn__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  background: url(../img/icon_donuts.svg) no-repeat center center / 14px auto;
  width: 14px;
  height: 14px;
  display: block;
}

.fs-p-pageNotFound__image {
  margin: 0 auto 20px;
}

#fs_PageNotFound .layout-2col {
  margin-top: 30px;
}

.fs-c-subSection__title,
.fs-c-linkedServiceLogin__title {
  color: #333;
  margin-bottom: 20px;
}

.fs-c-anotherLogin__button--amazon {
  margin-top: 20px;
}

.fs-body-wishlist-login .fs-c-registeredUsers,
.fs-body-wishlist-login .fs-c-newUsers {
  flex-basis: calc(50% - 40px);
}

.fs-c-accountService__page.fs-c-accountService__page--accountDelete {
  display: none;
}

.my-page__btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 30px auto 0;
  gap: 25px;
}

.my-page__btn-wrap .btn__main {
  margin: 0;
}

.btn__withdrawal {
  align-self: end;
}

.fs-c-accountService {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.fs-c-accountService__page {
  margin: 0;
}

.fs-p-accountInfo__accountRank.member_stage_no-- {
  display: none;
}

.fs-p-accountInfo__accountRank {
  text-align: center;
}

.fs-p-accountInfo__header {
  justify-content: flex-start;
  gap: 10px;
}

#fs_MyPageTop .fs-l-additionalProduct--wishlist .fs-c-wishlistProduct {
  margin-top: 40px;
}

.fs-c-wishlistProduct .fs-c-wishlistProduct__header {
  margin-top: 40px;
}

.fs-c-time {
  white-space: unset;
}

.fs-p-announcement .fs-c-orderedList {
  margin-top: 10px;
}

.fs-c-inputInformation__field {
  max-width: unset;
}

.fs-c-memberPolicyAgreeField .fs-c-checkbox__labelText a,
.fs-c-privacyPolicyAgreeField .fs-c-checkbox__labelText a {
  text-decoration: underline;
}

.fs-c-agreementConfirmation__checkbox a {
  text-decoration: underline;
}

@media (min-width: 1241px) {
  #layout-1col .fs-slide__custom .slick-slide {
    width: 25vw;
    max-width: 222px;
  }
}

@media (min-width: 769px) and (max-width: 1240px) {
  #layout-1col .fs-slide__custom .slick-slide {
    width: calc(20vw - 30px);
  }
}

@media (max-width: 768px) {
  .under-item {
    margin-top: 50px;
  }

  .my-page__btn-wrap {
    gap: 40px;
  }
}

@media (max-width: 560px) {
  .fs-c-accountService {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* カートページフロー ここから */
.cp_stepflow07 {
  font-size: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 50px;
  padding: 0;
  position: relative;
  z-index: 1;
}

.cp_stepflow07>li {
  position: relative;
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  text-overflow: ellipsis;
  color: #b0bec5;
  -ms-flex: 1;
  -moz-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
}

.cp_stepflow07>li .bubble::after,
.cp_stepflow07>li .bubble::before {
  position: absolute;
  top: 25px;
  right: 50%;
  left: 50%;
  display: block;
  width: 90%;
  height: 8px;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #d6e3e4;
  border-radius: 2px;
}

.cp_stepflow07_step {
  display: block;
  font-weight: bold;
  font-size: 14px;
}

.cp_stepflow07>li .bubble+span {
  display: block;
  margin-top: 1em;
  font-weight: bold;
  font-size: 14px;
}

.cp_stepflow07>li.completed,
.cp_stepflow07>li.completed .bubble {
  color: #b0b0b0;
}

.cp_stepflow07>li.completed .bubble,
.cp_stepflow07>li.completed .bubble::after,
.cp_stepflow07>li.completed .bubble::before {
  background-color: #b0b0b0;
}

.cp_stepflow07>li.active,
.cp_stepflow07>li.active .bubble {
  font-weight: bold;
  color: #92b5b8;
}

.cp_stepflow07>li.active .bubble,
.cp_stepflow07>li.active .bubble::after,
.cp_stepflow07>li.active .bubble::before {
  background-color: #92b5b8;
}

@media screen and (max-width: 767px) {
  .cp_stepflow07>li .bubble+span {
    font-size: 12px;
  }

  .fs-p-flexibleColumn {
    display: block;
  }
}

/* カートページフロー ここまで */

/****************************************************************

	今年の新品種

****************************************************************/

.mv_under {
  height: 240px;
  margin-bottom: 20px;
  overflow: hidden;
}

.mv_under img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.text_under {
  margin-bottom: 60px;
}

.mintit-under {
  text-align: center;
  margin-bottom: 50px;
}

.mintit-under__text {
  font-size: 26px;
  color: #6f6139;
  font-weight: bold;
}

.mintit-under__text span {
  font-size: 20px;
  display: block;
  margin-top: 6px;
}

.n-rose_2col {
  display: grid;
  grid-template-columns: 170px auto;
  gap: 0 15px;
  margin-bottom: 20px;
}

.n-rose_name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 17px;
}

.n-rose_text:last-child {
  margin-bottom: 0px;
}

.n-rose_text {
  margin-bottom: 6px;
}

.n-rose_text span {
  font-weight: bold;
}

.n-rose_comment {
  background: #faf8f2;
  border-radius: 10px;
  padding: 30px 20px;
  z-index: -1;
}

.n-rose_block_2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 45px;
  margin-bottom: 80px;
}

.n-rose_tag .tag__green {
  font-size: 14px;
}

.n-rose_tag {
  margin-top: 10px;
}

.icon_double {
  margin-bottom: -15px;
  margin-left: 20px;
}

.title-under__link {
  font-size: 22px;
  font-weight: bold;
}

.btn__wrap.line {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 30px auto 40px;
}

.btn__main.line {
  max-width: 100%;
  padding: 24px 10px;
  background: none;
  color: #282b2c;
  border: 1px solid #282b2c;
}

.btn__main.line span {
  display: block;
  background: url(../img/icon_arrow-right_black.svg) no-repeat right center / 6px;
}

.more_btnarea {
  margin-bottom: 90px;
}

.cate_list {
  font-size: 22px;
}

.title-catelist {
  text-align: center;
  margin-bottom: 40px;
}

.title-catelist__text {
  font-size: 22px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 16px;
  font-weight: bold;
}

@media (max-width: 1080px) {
  .n-rose_2col {
    grid-template-columns: 120px auto;
  }
}

@media (max-width: 960px) {
  .n-rose_2col {
    grid-template-columns: 170px auto;
  }

  .mv_under {
    width: 100vw;
    margin-left: -20px;
  }
}

@media (max-width: 768px) {
  .n-rose_2col {
    grid-template-columns: 120px auto;
  }

  .n-rose_block_2col {
    margin-bottom: 60px;
  }

  .title-under__link {
    font-size: 20px;
  }

  .btn__wrap.line {
    margin: 20px auto 40px;
  }

  .more_btnarea {
    margin-bottom: 70px;
  }

  .title-under__text {
    font-size: 26px;
  }

  .mintit-under__text {
    font-size: 24px;
  }

  .mintit-under__text span {
    font-size: 18px;
    margin-top: 10px;
  }
}

@media (max-width: 560px) {
  .n-rose_block_2col {
    grid-template-columns: 100%;
    gap: 50px 0;
  }

  .n-rose_2col {
    grid-template-columns: 152px auto;
    margin-bottom: 10px;
  }

  .btn__main.line {
    text-align: left;
    padding: 14px 10px;
    display: grid;
    align-items: center;
  }
}

/****************************************************************
  
  園芸資材
  
****************************************************************/

.btn__wrap.jumplink {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.btn__jumplink {
  background: #f3f3f3;
  padding: 24px 20px;
  color: #282b2c;
  text-align: center;
  border-radius: 4px;
  display: block;
  max-width: 350px;
  margin: 30px auto 40px;
}

.btn__jumplink span {
  display: block;
  background: url(../img/icon_down_black.svg) no-repeat right center / 12px;
}

.title-choice__text {
  font-size: 22px;
  font-weight: bold;
}

.title-main__text.under {
  font-size: 26px;
}

.basic__area.under {
  margin: 0 auto 80px;
}

.title-line.under {
  margin-top: 35px;
}

.title-donuts.under {
  border-bottom: 1px dashed #ccc;
  padding-bottom: 6px;
  margin-bottom: 20px;
  font-size: 18px;
}

.title-donuts.under::before {
  width: 16px;
  height: 16px;
  top: 3px;
}

.search_cate li {
  list-style: none;
}

.search_cate .title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 12px 0 10px;
}

.search_cate {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.search_cate .btn__main {
  margin: 16px auto 0px;
}

.dcarea {
  background: #faf8f2;
  padding: 40px 25px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 0 20px;
  margin-bottom: 90px;
}

.dcarea .btn__main.line {
  padding: 16px 10px;
  margin: 24px 0px 0px 0px;
  max-width: 340px;
}

.dcarea .btn__main.line span {
  display: inline-block;
}

.dcarea .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

.more_btnarea.material {
  margin: 120px 0;
}

.more_btnarea .btn__main.line {
  height: 72px;
}

@media (max-width: 768px) {
  .btn__wrap.jumplink {
    grid-template-columns: repeat(2, 1fr);
  }

  .btn__jumplink {
    font-size: 14px;
    padding: 24px 10px;
  }

  .title-choice__text {
    font-size: 20px;
  }

  .title-main__text.under {
    font-size: 24px;
  }

  .basic__area.under {
    margin: 0 auto 70px;
  }

  .title-donuts.under::before {
    top: 0.3em;
  }

  .search_cate {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
  }

  .dcarea {
    grid-template-columns: 100%;
    padding: 40px 20px;
    margin-bottom: 70px;
  }

  .dcarea .dcarea_in {
    display: contents;
  }

  .dcarea .title {
    order: 1;
    text-align: center;
    margin-bottom: 14px;
  }

  .dcarea .text {
    order: 3;
  }

  .dcarea img {
    order: 2;
    margin-bottom: 20px;
  }

  .dcarea .btn__main.line {
    order: 4;
    margin: 20px auto 0;
    text-align: center;
  }

  .more_btnarea.material {
    margin: 70px auto 80px;
  }
}

/****************************************************************
  
  バラ苗
  
****************************************************************/

.rose_guide .mintit-under {
  margin-bottom: 20px;
}

.rose_guide .mintit-under__text {
  color: #282b2c;
}

.rose_guide .mintit-under__text span {
  margin-bottom: 6px;
  margin-top: 0px;
  font-size: 17px;
}

.rose_guide .text {
  text-align: center;
  margin-bottom: 50px;
}

.rose_pattern {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  position: relative;
}

.rose_pattern::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  background-image: repeating-linear-gradient(to bottom, #ccc, #ccc 4px,
      /* 点の長さ */
      transparent 4px, transparent 8px
      /* 点の間隔 */
    );
}

.rose_pattern::after {
  content: "";
  position: absolute;
  top: calc(299px + 20px);
  left: 0;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #ccc, #ccc 4px,
      /* 点の長さ */
      transparent 4px, transparent 8px
      /* 点の間隔 */
    );
}

.rose_pattern li {
  list-style: none;
  font-weight: bold;
  margin-bottom: 8px;
}

.rose_pattern li span {
  font-weight: normal;
  display: inline-block;
  padding-left: 14px;
  font-size: 14px;
}

.rose_pattern li .cap__text {
  padding-left: 0px;
  display: block;
  font-size: 14px;
}

.rose_pattern .btn__jumplink {
  background: #fff;
  max-width: 340px;
  margin: 20px auto 0;
  padding: 14px 10px;
}

.rose_pattern .bg {
  padding: 35px 38px;
  border-radius: 10px;
  position: relative;
}

.rose_pattern .title {
  padding-bottom: 6px;
  display: inline-block;
  margin-bottom: 20px;
}

.rose_pattern .bg.pink {
  background: #fff8f7;
}

.rose_pattern .title.pink {
  border-bottom: 1px solid #da9691;
}

.rose_pattern .title.pink span {
  color: #da9691;
}

.rose_pattern .bg.green {
  background: #f6fcf0;
}

.rose_pattern .title.green {
  border-bottom: 1px solid #9bbb7e;
}

.rose_pattern .title.green span {
  color: #9bbb7e;
}

.rose_pattern .bg.green .btn__jumplink {
  position: absolute;
  bottom: 35px;
  width: calc(100% - 76px);
  left: 50%;
  transform: translateX(-50%);
}

.rose_pattern .bg.yellow {
  background: #fffaf1;
}

.rose_pattern .title.yellow {
  border-bottom: 1px solid #c7ab6e;
}

.rose_pattern .title.yellow span {
  color: #c7ab6e;
}

.rose_pattern .bg.purple {
  background: #f6f9ff;
}

.rose_pattern .title.purple {
  border-bottom: 1px solid #8498c0;
}

.rose_pattern .title.purple span {
  color: #8498c0;
}

.rose_pattern .title span {
  font-size: 28px;
  padding-right: 4px;
  font-weight: bold;
}

.title-img {
  display: grid;
  grid-template-columns: 60px auto;
  gap: 0 10px;
  align-items: center;
  border-top: 1px dashed #ccc;
  border-bottom: 1px dashed #ccc;
  padding: 16px 0;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}

.search_cate .cap__text {
  font-size: 14px;
  margin-top: 14px;
}

.search_cate.btnonly {
  gap: 30px 40px;
}

.search_cate.btnonly .btn__main {
  margin: 0px;
}

.btn__main.under-arrow span {
  background: url(../img/icon_arrow-under_white.svg) no-repeat right center / 12px;
}

@media (max-width: 1008px) {
  .rose_pattern::after {
    top: calc(323px + 20px);
  }
}

@media (max-width: 768px) {
  .rose_guide .text {
    text-align: left;
    margin-bottom: 24px;
  }

  .mintit-under__text span {
    font-size: 17px;
  }

  .rose_pattern {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .rose_pattern::before,
  .rose_pattern::after {
    content: none;
  }

  .rose_pattern .bg.green .btn__jumplink {
    position: inherit;
    bottom: auto;
    width: 100%;
    left: auto;
    transform: none;
  }

  .search_cate.btnonly {
    gap: 30px 20px;
  }

  .search_cate .btn__main {
    height: 72px;
    display: grid;
    align-items: center;
    text-align: left;
  }

  .title-img {
    font-size: 18px;
    grid-template-columns: 50px auto;
  }

  .rose_pattern .bg {
    padding: 30px 20px;
  }
}

@media (max-width: 430px) {
  .search_cate.btnonly.add {
    grid-template-columns: 100%;
    gap: 20px 0px;
    margin: 0 auto;
  }
}

/****************************************************************
  
  ウィッチフォード
  
****************************************************************/

.margintop {
  margin-top: 40px;
}

.pdkpn__toptitle {
  text-align: center;
  font-size: 20px;
  margin: 40px auto 25px;
  font-weight: bold;
}

.title-donuts.under.ft {
  margin-bottom: 30px;
}

.layout-2col__pdkpn {
  display: grid;
  grid-template-columns: auto 260px;
  gap: 15px;
  margin-bottom: 60px;
}

.ft_num {
  font-size: 14px;
  font-weight: normal;
  color: #518a8f;
  background: #ebf3f3;
  padding: 1px 8px;
  border-radius: 4px;
  display: inline-block;
  border: 1px solid #518a8f;
  margin-bottom: 10px;
}

.ft__title {
  margin-bottom: 14px;
  font-weight: bold;
}

.layout-2col__ft {
  display: grid;
  grid-template-columns: auto 260px;
  gap: 0 30px;
  margin-bottom: 40px;
}

.layout-2col__home {
  max-width: 700px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
  justify-self: center;
  margin-top: 40px;
}

.layout-3col__ba {
  display: grid;
  grid-template-columns: auto 36px auto;
  gap: 0 16px;
  align-items: center;
  margin-top: 30px;
}

.ba_arrow {
  margin: 0 auto;
}

.title-linemax {
  position: relative;
  margin-bottom: 50px;
}

.title-linemax::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #333;
  top: 50%;
  right: 0;
  z-index: -1;
}

.title-linemax__text {
  font-size: 26px;
  display: inline-block;
  background-color: #fff;
  padding-right: 10px;
  font-weight: bold;
}

.layout-2col__rosepot {
  display: grid;
  grid-template-columns: 200px auto;
  gap: 0 30px;
  margin-bottom: 20px;
}

.layout-2col__rosepot .title {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: bold;
}

.point__title {
  font-weight: bold;
  background: #f7f7f7;
  padding: 7px 10px;
  border-radius: 4px;
  margin-bottom: 15px;
}

.circle__list {
  margin-bottom: 40px;
}

.circle__list li {
  position: relative;
  list-style: none;
  padding-left: 15px;
  margin-bottom: 10px;
}

.circle__list li::after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #282b2c;
  top: 0.5em;
  left: 0;
}

.search_pdkpn {
  margin-bottom: 30px;
}

.roserec {
  position: relative;
}

.i_roserec {
  position: absolute;
  z-index: 1;
  top: -20px;
  left: -18px;
}

.size_bottom {
  margin-bottom: 40px;
}

.question--sell {
  margin-bottom: 5px;
}

.accordion-q {
  background: #ebf3f3;
  padding: 10px 38px 10px 14px;
  display: grid;
  grid-template-columns: 20px auto;
  gap: 0 10px;
  align-items: center;
  border-radius: 4px;
  position: relative;
  cursor: pointer;
}

.question {
  font-size: 28px;
  color: #92b5b8;
  font-family: var(--dancing-script-font);
}

.accordion-q::after,
.accordion-q::before {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 11px;
  height: 1px;
  background-color: #282b2c;
  transition: transform 0.3s;
}

.accordion-q::before {
  transform: translateY(-50%) rotate(90deg);
}

.accordion-q.active::before {
  transform: scaleX(0);
}

.accordion-a_inner {
  display: none;
}

.accordion-a {
  display: grid;
  grid-template-columns: 17px auto;
  margin: 14px 20px 30px 14px;
  gap: 0 14px;
}

.accordion-a.open {
  max-height: 1000px;
  padding: 20px 14px;
}

.accordion-a_inner .accordion-a.open {
  margin: 14px 20px;
}

.answer {
  font-size: 28px;
  color: #6c7b7d;
  font-family: var(--dancing-script-font);
  gap: 0 10px;
  align-items: baseline;
}

.faq__title {
  margin-top: 60px;
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: bold;
}

.morecont-area {
  position: relative;
}

.morecont-area::after {
  content: "";
  position: absolute;
  bottom: 45px;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.morecont-area.expanded::after {
  opacity: 0;
}

.morecont-item.open+.morecont_btn::before,
.morecont-area .morecont-item.open~.morecont-area::after {
  opacity: 0;
}

.morecont-item {
  max-height: 460px;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.morecont_btn {
  max-width: 300px;
  border: 1px solid #92b5b8;
  padding: 12px 10px;
  text-align: center;
  background: #fff;
  border-radius: 4px;
  margin: 0 auto;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.morecont_btn span {
  display: inline-block;
  background: url(../img/icon_down_black.svg) no-repeat right center / 12px;
  padding-right: 18px;
}

.morecont-area.expanded .morecont_btn span {
  background: url(../img/icon_up_black.svg) no-repeat right center / 12px;
}

.roserec_pdkpnbk {
  background: #faf8f2;
  padding: 55px 45px 60px 45px;
}

.roserec_pdkpnbk__title {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 60px;
}

.roserec_pdkpnbk .layout-2col__rosepot {
  grid-template-columns: 270px auto;
  margin-bottom: 55px;
}

.roserec_pdkpnbk .btn__main {
  margin: 25px auto 0;
}

.roserec_pdkpnbk__point {
  position: relative;
}

.roserec_pdkpnbk .point__title {
  text-align: center;
  background: #8c7f75;
  color: #fff;
  margin-bottom: 0px;
  position: absolute;
  top: -15px;
  left: 36px;
  padding: 10px 20px;
}

.roserec_pdkpnbk .circle__list {
  background: #fff;
  padding: 38px 30px 20px 30px;
  border: 9px solid #dbe4e5;
  border-radius: 4px;
  margin-bottom: 0px;
}

.roserec_pdkpnbk .circle__list li::after {
  background-color: #92b5b8;
}

@media (max-width: 768px) {
  .layout-2col__pdkpn {
    grid-template-columns: 100%;
    margin-bottom: 40px;
  }

  .layout-2col__pdkpn p {
    order: 2;
  }

  .layout-2col__pdkpn img {
    order: 1;
    margin: 0 auto;
  }

  .layout-2col__ft {
    grid-template-columns: 100%;
    margin-bottom: 50px;
  }

  .layout-2col__ft div {
    display: contents;
  }

  .layout-2col__ft p {
    order: 4;
  }

  .layout-2col__ft img {
    order: 2;
    margin: 0 auto 20px;
  }

  .ft__title {
    margin-bottom: 16px;
  }

  .layout-2col__home {
    margin-top: 20px;
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .layout-3col__ba {
    grid-template-columns: 100%;
  }

  .ba_arrow {
    transform: rotate(90deg);
  }

  .title-linemax__text {
    font-size: 22px;
  }

  .title-linemax {
    margin-bottom: 40px;
  }

  .layout-2col__rosepot {
    grid-template-columns: 100%;
  }

  .layout-2col__rosepot img {
    margin: 0 auto 14px;
  }

  .layout-2col__rosepot .title {
    text-align: center;
    margin-bottom: 8px;
  }

  .point__title {
    margin-top: 30px;
  }

  .circle__list {
    margin-bottom: 20px;
  }

  .i_roserec {
    width: 70px;
    left: -10px;
  }

  .basic__area.under.ft {
    margin: 0 auto 50px;
  }

  .roserec_pdkpnbk {
    padding: 55px 20px 60px 20px;
    width: 100vw;
    margin-left: -20px;
  }

  .roserec_pdkpnbk__title {
    line-height: 1.5;
    margin-bottom: 30px;
  }

  .roserec_pdkpnbk .layout-2col__rosepot {
    grid-template-columns: 100%;
  }

  .roserec_pdkpnbk .layout-2col__rosepot img {
    margin: 0 auto 20px;
  }

  .roserec_pdkpnbk .layout-2col__rosepot .title {
    margin-bottom: 20px;
  }

  .roserec_pdkpnbk .point__title {
    margin-top: 0px;
    left: 18px;
  }

  .roserec_pdkpnbk .btn__main {
    margin: 16px auto 0;
  }

  .roserec_pdkpnbk .circle__list {
    padding: 38px 13px 13px 13px;
    border: 7px solid #dbe4e5;
  }
}

@media (max-width: 430px) {
  .layout-2col__pdkpn img {
    max-width: 260px;
  }
}

/****************************************************************
  
  ギフト特集
  
****************************************************************/

.mintit-under.bdpvnp {
  margin: 50px auto 30px;
}

.bdpvnp .mintit-under__text {
  color: #282b2c;
}

.bdpvnp__text {
  text-align: center;
  margin-bottom: 55px;
}

.bdpvnp__inner {
  display: grid;
  grid-template-columns: 49% 49%;
  gap: 0 2%;
  margin-bottom: 50px;
}

.bdpvnp__inner .title {
  font-size: 24px;
  font-weight: bold;
}

.bdpvnp__inner .en--title {
  font-family: "Ysabeau SC", sans-serif;
  font-size: 20px;
  color: #e6a1a6;
  margin-bottom: 30px;
}

.bdpvnp__inner .text__box {
  display: grid;
  align-items: center;
  background: #fff9f9;
  padding: 16% 16% 16% 24%;
  position: relative;
  margin-left: -70px;
  margin-top: 40px;
  z-index: -1;
}

.bdpvnp__inner.yellow .text__box {
  background: #fefdf2;
}

.bdpvnp__inner.yellow .en--title {
  color: #ccc391;
}

.bdpvnp__inner.green .text__box {
  background: #f7fbf6;
}

.bdpvnp__inner.green .en--title {
  color: #a7c4a0;
}

.bdpvnp__inner.blue .text__box {
  background: #f7fcff;
}

.bdpvnp__inner.blue .en--title {
  color: #95abb8;
}

.bdpvnp__inner.reverse .text__box {
  padding: 16% 12%;
  margin-right: -70px;
  margin-left: 0px;
}

.bdpvnp__inner .right_ribbon {
  position: absolute;
  top: -28px;
  right: -12px;
}

.bdpvnp__inner .left_ribbon {
  position: absolute;
  top: -28px;
  left: -12px;
}

.bdpvnp__listtitle {
  font-size: 22px;
  text-align: center;
  margin-top: 65px;
  margin-bottom: 20px;
  font-weight: bold;
}

.bdpvnp__listnote {
  margin-bottom: 30px;
}

.bdpvnp__listnote li {
  display: flex;
  gap: 0 4px;
  align-items: center;
  list-style: none;
  font-size: 14px;
}

.bdpvnp.btn__jumplink {
  padding: 12px 20px;
  margin: 0 auto;
}

.bdpvnp__roselist {
  border-bottom: 1px solid #ccc;
  padding-bottom: 35px;
}

.recgift__2col {
  display: grid;
  grid-template-columns: auto auto;
  gap: 50px 40px;
  max-width: min(calc(100% - 40px), 740px);
  margin: 50px auto 0;
}

.recgift__innermore {
  display: grid;
  grid-template-columns: 160px auto;
  gap: 0 15px;
  margin-bottom: 15px;
}

.recgift__inner .yellow {
  color: #a38b41;
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 22px;
}

.recgift__inner .title {
  font-weight: bold;
  font-size: 18px;
}

.recgift__inner .btn__main {
  margin: 14px auto 0px;
}

.wrapping__none {
  margin: 20px auto;
}

.wrapping__2col {
  display: grid;
  grid-template-columns: auto auto;
  max-width: min(calc(100% - 40px), 700px);
  margin: 0 auto;
  gap: 0 20px;
}

.giftcard__design {
  margin-bottom: 20px;
}

.giftcard__design a {
  text-decoration: underline;
}

.bdpvnp__nlist {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0 10px;
  margin-top: 20px;
}

@media (max-width: 1020px) {
  .bdpvnp__inner .text__box {
    padding: 16% 12% 16% 30%;
  }

  .bdpvnp__inner.reverse .text__box {
    padding: 16% 5%;
  }

  .recgift__innermore {
    grid-template-columns: 100px auto;
  }
}

@media (max-width: 960px) {
  .recgift__innermore {
    grid-template-columns: 160px auto;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .bdpvnp__inner {
    grid-template-columns: 100%;
    width: 100vw;
    margin-left: -20px;
    margin-bottom: 40px;
  }

  .bdpvnp__inner:last-child {
    margin-bottom: 30px;
  }

  .bdpvnp__inner .gift_caseimg {
    width: calc(100% - 70px);
  }

  .bdpvnp__inner.reverse .gift_caseimg {
    margin: 0 0 0 auto;
  }

  .bdpvnp__inner .text__box {
    margin-top: -20px;
    padding: 60px 40px 40px 40px;
    margin-left: 0px;
  }

  .bdpvnp__inner.reverse .text__box {
    order: 2;
    margin-right: 0px;
    padding: 90px 40px 40px 40px;
  }

  .bdpvnp__inner .right_ribbon {
    top: 16px;
    right: 0px;
  }

  .bdpvnp__inner .left_ribbon {
    top: 16px;
    left: 0px;
  }

  .bdpvnp__inner .en--title {
    margin-bottom: 20px;
  }

  .bdpvnp__nlist {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }

  .bdpvnp__listtitle {
    margin-top: 50px;
    margin-bottom: 15px;
  }

  .bdpvnp__listnote li {
    align-items: flex-start;
  }

  .recgift__2col {
    margin: 40px auto 0;
    max-width: 100%;
    gap: 40px 20px;
  }

  .recgift__inner .yellow {
    margin-bottom: 20px;
  }

  .wrapping__2col {
    max-width: 100%;
    gap: 0 10px;
  }

  .giftcard__design {
    margin-bottom: 30px;
  }
}

@media (max-width: 650px) {
  .recgift__innermore {
    grid-template-columns: auto auto;
  }
}

@media (max-width: 500px) {
  .recgift__2col {
    grid-template-columns: 100%;
  }

  .recgift__innermore {
    grid-template-columns: 160px auto;
    justify-self: baseline;
  }
}

/****************************************************************
  
  ご利用ガイド
  
****************************************************************/

.min__area {
  margin: 0 auto 40px;
}

.-mb_txt p:not(:last-child) {
  margin-bottom: 1em !important;
}

.dark__cir {
  margin-bottom: 1em;
}

.dark__cir li,
.return__list dt {
  list-style: none;
  position: relative;
  padding-left: 1em;
}

.dark__cir li::before,
.return__list dt::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #282b2c;
}

.plainlink {
  color: #113e7d;
  text-decoration: underline;
}

.item__tag--2col {
  display: grid;
  grid-template-columns: auto 36%;
  gap: 40px;
  margin: 0 auto 40px;
}

.return__list dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.return__list dd:not(:last-child) {
  margin-bottom: 1.5em;
}

.item__tag__mean--2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.item--mark {
  color: #fff;
  background-color: #113e7d;
  font-size: 1.4rem;
  padding: 5px;
  line-height: 1;
  display: inline-block;
  margin-bottom: 10px;
}

.item--mark.-akinae {
  background-color: #e1bfa8;
}

.item--mark.-harunae {
  background-color: #eec4dc;
}

.item--mark.-hachinae {
  background-color: #b5b0a4;
}

.item--mark.-reserve {
  background-color: #e1a8a8;
}

.item--mark.-speed {
  background-color: #e1a8d4;
}

.item--mark.-beginners {
  background-color: #b8d1a8;
}

.item--mark.-maker {
  background-color: #a8d1e1;
}

.item--mark.-sendfree {
  background-color: #e18282;
}

.item--mark.-thorns {
  background-color: #a8b2e1;
}

.item--mark.-scent {
  background-color: #d6d5a1;
}

@media (max-width: 560px) {

  .item__tag--2col,
  .item__tag__mean--2col {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .item__tag--2col img {
    max-width: 450px;
    margin: 0 auto;
    width: 100%;
  }
}

/****************************************************************
  
  よくある質問
  
****************************************************************/

.btn__wrap.jumplink--harf {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.btn__wrap.jumplink--harf .btn__jumplink {
  max-width: unset;
}

.faq__box--q {
  background: url(../img/icon-plus.svg) no-repeat calc(100% - 12px) center #ebf3f3;
  padding: 16px 22px 16px 12px;
  cursor: pointer;
  margin-bottom: 5px;
}

.faq__box--q.active {
  background: url(../img/icon-minus.svg) no-repeat calc(100% - 12px) center #ebf3f3;
}

.faq__box--q p {
  position: relative;
  padding-left: 26px;
}

.faq__box--q p::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 16px;
  height: 23px;
  background: url(../img/icon-q.svg) no-repeat center center;
}

.faq__box--a {
  display: none;
  background: url(../img/icon-a.svg) no-repeat 10px 20px;
  padding: 20px 10px 20px 40px;
}

.faq__box--a__text {
  display: flex;
  gap: 30px;
  /* テキストと画像の間隔を調整 */
  align-items: flex-start;
}

.faq__box--a__text:not(:last-of-type) {
  margin-bottom: 20px;
  /* 各Q&Aの間隔を20pxに設定 */
  border-bottom: 1px dashed #ccc;
  /* 各Q&Aの下に1pxの破線を追加 */
  padding-bottom: 20px;
}

/* テキスト部分 */
.faq__box--a__text p:not(.faq__box--a__img) {
  flex: 1;
  margin: 0;
}

/* 画像部分のコンテナ */
.faq__box--a__img {
  flex-shrink: 0;
  margin: 0;
}

/* 画像のスタイル */
.faq__box--a__img img {
  width: 160px;
  height: auto;
  display: block;
  margin-bottom: 10px;
  /* 画像同士の間隔を10pxに戻す */
}

/* 最後の画像のマージンを削除 */
.faq__box--a__img img:last-child {
  margin-bottom: 0;
}

/* 画像がない場合、テキストが端まで広がる */
.faq__box--a__text:not(:has(.faq__box--a__img)) p {
  width: 100%;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .faq__box--a__text {
    flex-direction: column;
  }
}

@media (max-width: 470px) {

  .btn__wrap--faq .btn__jumplink {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .btn__wrap--faq .btn__jumplink span {
    padding-right: 12px;
    width: 100%;
  }
}

/****************************************************************
  
  コミュニティ
  
****************************************************************/

.community--mv img {
  width: 100%;
  height: auto;
  display: block;
}

.community--title {
  text-align: center;
  font-weight: bold;
  font-size: 2.6rem;
  margin: 0 auto 40px;
}

.community__fcp {
  padding: 0px 30px 1px 30px;
  width: 70%;
  margin-top: -40px;
  position: relative;
}

.ill-wood {
  position: absolute;
  width: 87px;
  bottom: 0;
  right: -100px;
}

.community__gallery {
  display: grid;
  grid-template-columns: 106px auto auto;
  align-items: center;
  gap: 20px;
  justify-content: center;
  margin: 0 auto 40px;
}

.community__gallery--text {
  font-weight: bold;
}

.community__gallery--scp {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.-scp__eng {
  color: #b4c3bf;
  font-size: 4rem;
  letter-spacing: 1px;
  margin-bottom: -50px;
}

#funpic [data-fp-dom-name="fanpic-dom"]>.fanpicnet-panel-wrap>.fanpicnet-panel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#funpic .fanpicnet-panel .fanpicnet-panel-li {
  margin: unset;
  width: 100%;
}

.how-to-post {
  display: grid;
  grid-template-columns: 30% auto;
  gap: 0 40px;
  padding: 0px 20px 30px;
  margin-top: 40px;
}

.how-to-post__title {
  display: grid;
  grid-template-columns: 58px auto;
  align-items: center;
  gap: 0 20px;
  font-size: 2.5rem;
  font-weight: bold;
  color: #433d3c;
  margin-bottom: 20px;
  font-weight: bold;
}

.how-to-post__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 10px;
  margin-bottom: 20px;
}

.how-to-post__list li {
  list-style: none;
}

.how-to-post__text {
  font-weight: bold;
  line-height: 1.6;
}

.how-to-post__text p:not(:last-child) {
  margin-bottom: 1.5em;
}

.how-to-post__text span {
  color: #ea6161;
}

.how-to-step {
  background: #faf8e2;
  padding: 50px 30px 30px;
  border-radius: 20px;
  position: relative;
  margin: 0 auto 30px;
}

.how-to-step::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 30px;
  background: url(../img/delta.svg) no-repeat center center / contain;
}

.how-to-step--title {
  font-size: 2.5rem;
  font-weight: bold;
  color: #433d3c;
  text-align: center;
  margin-bottom: 20px;
}

.howto-step {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 0 auto 30px;
}

.howto-step__item {
  font-weight: bold;
}

.howto-step__item p:not(:last-child) {
  margin-bottom: 10px;
}

.step__item--min {
  font-size: 1.4rem;
  font-weight: normal;
}

.step__item--min a {
  text-decoration: underline;
}

.howto-step__note {
  background: #fff;
  padding: 20px;
}

.howto-step__note li {
  list-style: none;
  position: relative;
  padding-left: 1em;
}

.howto-step__note li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #92b5b8;
}

.community__gallery--sub {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 30px;
}

.hint--pics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

.hint--pics li {
  list-style: none;
}

.hint--wrap {
  max-width: 660px;
  margin: 0 auto 30px;
}

.hint--text {
  display: grid;
  grid-template-columns: auto 27%;
  align-items: center;
  gap: 0 30px;
}

.case--hint__title {
  color: #6f6139;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.case--hint__title span {
  font-family: "Ysabeau SC", sans-serif;
  position: relative;
  font-size: 2.2rem;
  padding-right: 10px;
  margin-right: 10px;
}

.case--hint__title span::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 1em;
  background-color: #6f6139;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.case__comment--wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 40px;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 40px;
}

/* 1つだけの場合のスタイル */
.case__comment--wrap .case__comment:only-child {
  grid-column: 1 / 3;
  /* 全体の幅を使用 */
  justify-self: center;
  /* グリッド内でセンタリング */
  width: calc(50% - 10px);
  /* 2つある場合と同じ幅（50% - gap/2） */
}

.case__comment {
  background: #faf8f2;
  padding: 30px;
  position: relative;
  border-radius: 10px;
}

.case__comment::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 20px;
  width: 27px;
  height: 23px;
  background: url(../img/icon_double.svg) no-repeat center center / contain;
}

.case--episode {
  margin-bottom: 40px;
  border-bottom: 1px dashed #ccc;
}

.case--episode__item {
  margin: 0 auto 40px;
}

.case--episode__item {
  text-align: center;
}

.case--episode__item--title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.case--coution dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.case--coution dd {
  position: relative;
  padding-left: 1em;
}

.case--coution dd::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #282b2c;
}

.case--coution dd:not(:last-child) {
  margin-bottom: 1em;
}

@media (max-width: 960px) {
  .community__fcp {
    padding: 30px 30px 1px 30px;
    width: 86%;
    margin-top: -20px;
    position: relative;
  }

  .community--mv {
    width: 100vw;
    margin-left: -20px;
  }

  .ill-wood {
    position: absolute;
    width: 87px;
    bottom: 0;
    right: -100px;
  }
}

/* @media (max-width: 850px) {} */

@media (max-width: 768px) {
  .-scp__eng {
    font-size: 3.2rem;
  }
}

@media (max-width: 650px) {
  .community--title {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }

  .community__fcp {
    padding: 0px 0px 0px 0px;
    width: 100%;
    margin-top: 0;
    position: relative;
  }

  .ill-wood {
    position: relative;
    width: 87px;
    bottom: 0;
    right: inherit;
    margin-left: auto;
  }

  .community__gallery--text {
    display: contents;
  }

  .community__gallery {
    grid-template-columns: 100px auto;
    grid-template-rows: auto auto auto;
    gap: 0 20px;
    align-items: start;
    justify-content: center;
  }

  .community__gallery--scp {
    text-align: center;
    grid-column: span 2;
    order: 1;
  }

  .community__gallery--pic {
    order: 2;
    grid-column: 1/2;
    grid-row: 2/4;
  }

  .community__gallery--text p {
    order: 3;
  }

  .-scp__eng {
    order: 4;
    line-height: 1;
    grid-column: 2/3;
    grid-row: 3/4;
    margin-left: auto;
  }

  .how-to-post {
    padding-inline: 0;
    gap: 0 20px;
  }

  .how-to-post__pic--wrap {
    display: contents;
  }

  .how-to-post__title {
    order: 1;
    grid-column: span 2;
  }

  .how-to-post__pic {
    order: 2;
  }

  .how-to-post__list {
    order: 3;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .how-to-post__text {
    order: 4;
    grid-column: span 2;
  }
}

@media (max-width: 560px) {
  .-scp__eng {
    font-size: 2.4rem;
  }

  #funpic [data-fp-dom-name="fanpic-dom"]>.fanpicnet-panel-wrap>.fanpicnet-panel {
    grid-template-columns: repeat(2, 1fr);
  }

  .how-to-step {
    padding: 40px 20px 20px;
    width: 100vw;
    margin-left: -20px;
    border-radius: 0;
  }

  .howto-step {
    grid-template-columns: repeat(2, 1fr);
  }

  .how-to-step--title {
    font-size: 2.3rem;
  }

  .hint--pics {
    gap: 5px;
  }

  .case__comment--wrap {
    grid-template-columns: 100%;
  }

  .case__comment--wrap .case__comment:only-child {
    grid-column: 1;
    width: 100%;
  }

  .case--episode__item--title {
    font-size: 1.8rem;
    text-align: center;
  }

  .case--episode__item {
    text-align: left;
  }
}

@media (max-width: 415px) {
  .hint--text {
    grid-template-columns: auto 36%;
    gap: 0 20px;
  }

  .case--hint__title span {
    display: block;
  }

  .case--hint__title span::after {
    display: none;
  }
}

@media (max-width: 375px) {
  .community__gallery--sub {
    font-size: 1.9rem;
  }
}

/****************************************************************
  
  会員ステージ
  
****************************************************************/

.member_stage__wrap {
  position: relative;
}

.reference__wrap {
  margin: 0 auto 50px;
}

.purchase__wrap {
  border: 1px solid #ccc;
  padding: 20px 25px;
  margin-bottom: 20px;
}

.purchase__top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 25px;
  align-items: center;
}

.purchase__wrap--title {
  background: #eee;
  font-weight: bold;
  padding: 20px;
}

.purchase__wrap--day {
  font-size: 1.8rem;
  font-weight: bold;
}

.purchase__wrap--list li {
  list-style: none;
}

.purchase__bottom {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

.purchase__bottom dl {
  display: flex;
}

.purchase__bottom dt {
  font-weight: bold;
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 5px;
}

.benefits__box {
  background: #faf8f2;
  padding: 0 30px 30px;
  border-radius: 4px;
  position: relative;
}

.benefits__box:not(:last-child) {
  margin-bottom: 30px;
  /* 各ボックスの間隔を30pxに設定 */
}

.benefits__box--title {
  display: grid;
  grid-template-columns: 60px auto;
  align-items: center;
  gap: 0 30px;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.benefits__number {
  background: url(../img/img-ribbon.svg) no-repeat center center / contain;
  width: 60px;
  height: 70px;
  color: #fff;
  text-align: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefits__number p:first-of-type {
  font-size: 1.4rem;
  margin: -3px 0 3px 0px;
}

.benefits__number p:last-of-type {
  font-size: 2.2rem;
}

.benefits__box--text {
  margin-bottom: 20px;
}

.benefits__box--image {
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  padding: 20px;
}

.benefits__box--image-title {
  font-size: 1.6rem;
  font-weight: bold;
  color: #5b986b;
  margin-bottom: 10px;
}

.benefits__number--mi {
  font-size: 2rem;
  padding-top: 20px;
  font-weight: bold;
}

/* ---------- リスト全体の初期化 ---------- */
.benefits__box--image-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: num;
}

/* ---------- 各 li ---------- */
.benefits__box--image-list li {
  counter-increment: num;
  position: relative;
  font-size: 1.4rem;
  padding-left: 3rem;
  line-height: 1.6;
}

.benefits__box--image-list li:not(:last-child) {
  margin-bottom: 5px;
  /* 各リストアイテムの間隔を10pxに設定 */
}

/* ---------- 右側に付ける数字 ---------- */
.benefits__box--image-list li::after {
  content: counter(num);
  position: absolute;
  top: 0em;
  left: 0;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  background: #5b986b;
  color: #fff;
  font-weight: 700;
  border-radius: 50em;
}

.benefits__annotation {
  margin-top: 15px;
  font-size: 1.4rem;
}

.benefits__annotation li {
  list-style: none;
}

.benefits__target {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.benefits__target-title {
  color: #5b986b;
  border: 1px solid #5b986b;
  border-radius: 50%;
  width: 48px;
  height: auto;
  aspect-ratio: 1;
  font-size: 12px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.benefits__target-tag--wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 14px;
}

.benefits__target-tag {
  border: 1px solid;
  border-radius: 4px;
  padding: 2px 5px;
}

.--regular {
  background-color: #f1eee8;
  border-color: #cac3b4;
}

.--silver {
  background-color: #f2f2f2;
  border-color: #c6c5c5;
}

.--gold {
  background-color: #f8f6e5;
  border-color: #bcb9a0;
}

.--platina {
  background-color: #eaf6ec;
  border-color: #aac0ae;
}

.--diamond {
  background-color: #ffeeee;
  border-color: #d2c3c3;
}

.benefits__box--grid {
  display: grid;
  grid-template-columns: auto 40%;
  gap: 20px;
}

.btn__main__wrap {
  display: grid;
  max-width: 720px;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 30px;
  justify-content: center;
  margin: 0 auto;
}

@media (max-width: 960px) {}

@media (max-width: 768px) {
  .member_stage__wrap--map {
    width: 1000px;
  }
}

@media (max-width: 560px) {
  .purchase__top {
    grid-template-columns: 100%;
    gap: 20px 0;
    text-align: center;
  }

  .purchase__bottom dl {
    flex-direction: column;
    text-align: left;
    align-items: flex-start;
  }

  .purchase__bottom dl:nth-of-type(n + 2) {
    margin-top: 5px;
  }

  .benefits__box {
    width: 100vw;
    margin-left: -20px;
    padding: 0 20px 20px;
  }

  .benefits__box--grid {
    grid-template-columns: 100%;
  }

  .benefits__box--grid-pic {
    order: 1;
    margin: 0 auto;
  }

  .benefits__box--grid-item {
    order: 2;
  }

  .btn__main__wrap {
    grid-template-columns: 100%;
    gap: 20px;
  }

  .btn__main__wrap .btn__main {
    margin: 0 auto;
  }
}

/****************************************************************
  
  私たちについて
  
****************************************************************/

.about__bg {
  background: url(../img/about__bg.jpg) no-repeat center center / cover;
  padding: 50px 30px 60px;
}

.about__bg--logo {
  max-width: 60px;
  margin: 0 auto 15px;
}

.about__bg--logo__text {
  text-align: center;
  font-weight: bold;
}

.about__bg--logo__text p:first-of-type {
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  margin-bottom: 5px;
}

.about__bg--logo__text p:last-of-type {
  font-size: 3.6rem;
  letter-spacing: 0.3em;
  margin-bottom: 15px;
}

.about__bg--logo__subtext {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.3em;
  margin-bottom: 40px;
}

.about__bg h1 {
  font-size: 1.7rem;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 20px;
  margin-left: 50px;
}

.about__bg h1::before {
  content: "";
  display: block;
  width: 270px;
  height: 1px;
  background-color: #333;
}

.lines--title {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.lines--title::after {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background-color: #333;
  margin: 20px auto 40px;
}

.case--hint__title.-c_green {
  color: #000;
}

.-c_green span {
  color: #0d6227;
}

.brand__story {
  line-height: 2;
  margin: 0 auto 30px;
}

.timeline-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
  position: relative;
}

/* タイムラインの点 */
.timeline-point {
  position: absolute;
  left: 3px;
  top: 8px;
  width: 10px;
  height: 10px;
  background-color: white;
  border: 2px solid #999;
  border-radius: 50%;
}

.year-section {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  color: #8b9f77;
  margin-bottom: 20px;
}

.year {
  font-family: "Ysabeau SC", sans-serif;
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 1;
}

.year::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 30px;
  width: 10px;
  height: 10px;
  background-color: white;
  border: 2px solid #87a073;
  border-radius: 50%;
  z-index: 2;
}

.year::after {
  content: "";
  display: block;
  position: absolute;
  left: 3px;
  top: 35px;
  width: 60px;
  height: 1px;
  background-color: #87a073;
}

.year-label {
  font-size: 1.5rem;
}

.content-section {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 25px;
  padding-left: 80px;
  position: relative;
}

.text-content {
  flex: 1;
}

.image-placeholder {
  max-width: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.timeline-container {
  position: relative;
  padding: 40px 0;
}

.timeline-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0%;
  width: 18px;
  height: 100%;
  background: linear-gradient(to bottom, #ffffff 0%, #e8eee3 10%, #e8eee3 90%, #ffffff 100%);
}

.timeline-container-wrap {
  max-width: 700px;
  margin: 0 auto;
}

.pic__commitment {
  margin: 30px auto;
}

.think__bg {
  background: url(../img/think__bg.svg) no-repeat center center / cover;
  padding: 50px;
  margin: 0 auto 60px;
}

.think__bg--tit {
  text-align: center;
  font-size: 2.4rem;
  margin: 0 auto 30px;
  font-weight: bold;
}

.think__bg--text {
  display: grid;
  grid-template-columns: 1fr 168px;
  align-items: flex-end;
  gap: 30px;
  margin-top: 2em;
}

.think__bg--text--pic {
  text-align: center;
  font-weight: bold;
}

.think__bg--name__min {
  font-size: 1.2rem;
  margin-top: 10px;
}

.think__bg--name {
  font-size: 1.4rem;
  font-weight: bold;
}

.variety__title {
  text-align: center;
  font-size: 2.2rem;
  margin: 0 auto 30px;
  font-weight: bold;
}

.variety__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0 auto 60px;
}

.variety__list-tit {
  font-weight: normal;
  font-size: 1.6rem;
  margin-top: 10px;
}

.lettter_bg {
  background: url(../img/lettter_bg.jpg) repeat center center;
  padding: 20px;
  margin: 0 auto 40px;
}

.lettter_bg__inner {
  padding: 60px;
  background: url(../img/letter_lt.svg) no-repeat left top, url(../img/letter_rt.svg) no-repeat right top, url(../img/letter_lb.svg) no-repeat left bottom, url(../img/letter_rb.svg) no-repeat right bottom;
}

.logo-fg_rose {
  max-width: 280px;
  margin: 0 auto 30px;
}

.letter__logo {
  max-width: 180px;
  margin: 0 auto 20px;
}

.letter__title {
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  margin: 0 auto 40px;
}

.lettter_bg__text p {
  margin-bottom: 2em;
  line-height: 2;
  text-align: center;
}

.lettter-line {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, #ffffff 0%, #d7d7d7 50%, #ffffff 100%);
  margin-bottom: 50px;
}

.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.image-grid img {
  width: 100%;
  height: auto;
  display: block;
}

.image-grid p:first-of-type {
  grid-column: span 2;
  grid-row: span 2;
}

/* レスポンシブ対応 */
@media (min-width: 961px) and (max-width: 1090px) {
  .content-section {
    flex-direction: column;
  }
}

@media (max-width: 960px) {
  .timeline-container {
    max-width: 800px;
  }
}

@media (max-width: 840px) {
  .lettter_bg__text p {
    text-align: left;
  }
}

@media (max-width: 768px) {

  .img_aboutus_mv,
  .about__bg {
    width: 100vw;
    margin-left: -20px;
  }

  .image-placeholder {
    max-width: 250px;
  }

  .year::after {
    width: 30px;
  }

  .think__bg--text {
    display: contents;
    grid-template-columns: 100%;
  }

  .think__bg--inner {
    display: grid;
    grid-template-columns: 100%;
  }

  .think__bg {
    background: url(../img/think__bg-sp.svg) no-repeat left top / 100% auto #faf8f2;
    padding: 40px 20px;
    width: 100vw;
    margin-left: -20px;
  }

  .think__bg--text--pic {
    order: 1;
    margin-bottom: 30px;
  }

  .think__bg--inner--first {
    order: 2;
  }

  .think__bg--text .-mb_txt {
    order: 3;
  }

  .think__bg--text--pic__os {
    margin: 0 auto;
    max-width: 250px;
  }

  .variety__title {
    font-size: 2rem;
  }

  .lettter_bg__text {
    text-align: left;
  }
}

@media (max-width: 650px) {
  .content-section {
    padding-left: 40px;
  }

  .variety__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }

  .lettter_bg {
    padding: 10px;
  }

  .lettter_bg__inner {
    padding: 40px 10px;
    background-size: 32px 32px;
  }

  .letter__title {
    font-size: 1.8rem;
  }

  .lettter_bg__inner .btn__wrap.line {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .lettter_bg__inner .btn__wrap.line .btn__main.line {
    text-align: center;
  }

  .image-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .image-grid p:first-of-type {
    grid-column: span 1;
    grid-row: span 1;
  }
}

@media (max-width: 560px) {
  .about__bg {
    padding-bottom: 20px;
  }

  .about__bg--logo__text p:first-of-type {
    font-size: 1.6rem;
  }

  .about__bg--logo__text p:last-of-type {
    letter-spacing: 0.2em;
  }

  .about__bg h1 {
    font-size: 1.4rem;
  }

  .lines--title::after {
    margin: 10px auto 30px;
  }

  .lines--title {
    font-size: 2.4rem;
  }

  .about__bg h1::before {
    width: 140px;
  }

  .about__bg--logo__subtext {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
  }

  .timeline-container {
    width: 100%;
    padding: 20px 0 40px;
  }

  .timeline-item {
    flex-direction: column;
  }

  .timeline-item::before {
    left: 8px;
    top: 35px;
    bottom: -40px;
  }

  .timeline-point {
    left: 3px;
    top: 3px;
  }

  .year-section {
    width: 100%;
    padding-right: 0;
    margin-bottom: 15px;
  }

  .content-section {
    flex-direction: column;
    gap: 15px;
    padding-left: 45px;
  }

  .text-content {
    width: 100%;
  }

  .image-placeholder {
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 3/2;
  }

  .think__bg--text--pic__os {
    margin: 0 auto;
    max-width: 170px;
  }

  .letter__logo {
    max-width: 130px;
  }
}

/****************************************************************
  
  初めてバラを育てるあなたへ
  
****************************************************************/

.realtime {
  margin-top: 40px;
}

.realtime__item {
  display: grid;
  grid-template-columns: 92px auto;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}

.realtime__item--date {
  height: 92px;
  width: 92px;
  border-radius: 50em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #e8eee3;
  font-weight: 400;
  color: #275d26;
  font-size: 2.3rem;
  line-height: 1;
  position: relative;
}

.realtime__item--date::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: calc(100% + 10px);
  transform: translateX(-50%);
  width: 1px;
  height: 15px;
  background-color: #ccc;
}

.realtime__item--date p:has(br) {
  margin-top: 12px;
}

.realtime__item--date.-last::after {
  display: none;
}

.realtime__item--date.-five__mn {
  background: #275d26;
  color: #fff;
  position: relative;
}

.realtime__item--date span.kara {
  display: inline-block;
  vertical-align: top;
  margin: 5px 2px 0;
}

.realtime__item--date span {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: bold;
}

.realtime__item--text__title {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 10px;
}

.ill_rose {
  position: absolute;
  right: -20px;
  top: 0;
  width: 70px;
}

.rose_story {
  background: #fffaf3;
  padding: 20px;
  margin: 40px auto;
}

.rose_story--scp {
  display: grid;
  grid-template-columns: 1fr 171px;
  gap: 20px;
  margin: 0 auto 40px;
}

.rose_story--scp--tit {
  font-size: 2.4rem;
  font-weight: bold;
  position: relative;
  padding-left: 60px;
  margin: 0 auto 20px;
}

.rose_story--scp--tit::before {
  content: "";
  display: block;
  position: absolute;
  width: 40px;
  height: 1px;
  background: #000;
  left: 0;
  top: 0.7em;
}

.rose__story--box {
  display: grid;
  grid-template-columns: 1fr 50%;
  gap: 30px;
  margin: 0 auto 50px;
}

.rose__story--box.-reverse {
  grid-template-columns: 50% 1fr;
}

.rose__story--box.-reverse .rose__story--box__image {
  order: 1;
}

.rose__story--box.-reverse .rose__story--box__text {
  order: 2;
}

.rose__story--box__number {
  font-family: "Ysabeau SC", sans-serif;
  color: #0d6227;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1;
  position: relative;
  margin-right: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.rose__story--box__number::after {
  content: "";
  display: block;
  width: 1px;
  height: 15px;
  background-color: #0d6227;
  margin-top: 5px;
}

.rose_story--fcp {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.rose__story--use {
  background: #f7f0e5;
  padding: 15px;
  font-size: 1.5rem;
  margin-top: 20px;
}

.rose__story--use__name {
  font-weight: bold;
  color: #7d7840;
  margin-bottom: 6px;
}

.rose__story--use a {
  text-decoration: underline;
}

.rose__story--box__image {
  position: relative;
}

.ill_wood_wa {
  width: 216px;
  z-index: 2;
  margin: -45px 0 0 10px;
}

.ill_leaf {
  width: 138px;
  z-index: 2;
  margin: -105px 0 0 0px;
}

.ill_flower {
  width: 138px;
  z-index: 2;
  margin: -105px 0 0 0px;
}

.maker {
  background: linear-gradient(transparent 30%, #e7e1a0 30%);
}

.rose__story--box .rose__story--box__image img {
  border-top-left-radius: 40px;
}

.rose__story--box.-reverse .rose__story--box__image img {
  border-top-left-radius: 0;
  border-top-right-radius: 40px;
}

.story__thoughts {
  display: grid;
  grid-template-columns: 1fr 131px;
  gap: 0 30px;
  border-top: 1px dashed #cabaa5;
  padding-top: 40px;
}

.story__thoughts--tit {
  font-size: 2.2rem;
  margin-bottom: 20px;
  font-weight: bold;
}

.beginners__scp {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 0 auto 50px;
}

.beginners__recommend {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 40px;
  padding: 0 20px;
}

.beginners__recommend--tit {
  font-size: 2rem;
  color: #275d26;
  margin-bottom: 20px;
  font-weight: bold;
}

.beginners__recommend--name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.beginners__recommend--wrap {
  border-bottom: 1px dashed #ccc;
  margin-bottom: 40px;
}

.beginners__recommend--wrap:last-of-type {
  border-bottom: none;
  margin-bottom: 100px;
}

.voice__scp {
  font-size: 2.4rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-weight: bold;
}

.voice__scp---read {
  margin-bottom: 40px;
}

.voice__scp--item {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 0 20px;
}

.voice__scp--item:not(:last-child) {
  margin-bottom: 30px;
}

.voice__scp--word {
  background: #f5f5f5;
  padding: 20px;
  border-radius: 5px;
  position: relative;
}

.voice__scp--word:before {
  content: "";
  position: absolute;
  top: 25%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #f5f5f5;
}

.voice__scp--image {
  margin: 0 auto 10px;
  display: block;
}

.voice__scp--image img {
  display: block;
  margin: 0 auto;
}

.voice__scp--user {
  text-align: center;
  font-weight: bold;
}

.start__tbl {
  background: url(../img/start__tbl-bg.jpg) no-repeat center center / 100% auto;
  text-align: center;
  padding: 40px;
}

.start__tbl--tit {
  font-size: 2.4rem;
  margin: 0 auto 30px;
  font-weight: bold;
}

.start__tbl--text {
  line-height: 2;
  font-size: 1.8rem;
}

.start__tbl--text p:not(:last-child) {
  margin-bottom: 30px;
}

@media (max-width: 960px) {}

/* @media (max-width: 850px) {} */

@media (max-width: 768px) {
  .rose_story {
    width: 100vw;
    margin-left: -20px;
  }
}

@media (max-width: 650px) {
  .rose_story {
    padding: 50px 20px;
  }

  .rose_story--scp {
    gap: 0 20px;
    grid-template-columns: 1fr 100px;
    align-items: flex-end;
  }

  .rose_story--scp--int {
    display: contents;
  }

  .rose_story--scp--tit {
    grid-column: span 2;
  }

  .rose__story--box,
  .rose__story--box.-reverse {
    grid-template-columns: 100%;
  }

  .rose__story--box__number {
    margin-bottom: 4px;
  }

  .rose_story--fcp {
    margin-bottom: 10px;
  }

  .rose__story--box__image img {
    width: 100%;
  }

  .rose__story--box__image {
    width: calc(100% + 20px);
  }

  .rose__story--box.-reverse .rose__story--box__image {
    margin-left: -20px;
  }

  .ill_wood_wa {
    width: 140px;
    z-index: 2;
    margin: -60px 0 -20px auto;
  }

  .rose__story--box.-reverse .rose__story--box__text {
    order: 1;
  }

  .rose__story--box.-reverse .rose__story--box__image {
    order: 2;
  }

  .ill_leaf,
  .ill_flower {
    width: 100px;
    z-index: 2;
    margin: -75px 0 -30px auto;
  }

  .story__thoughts {
    border: none;
    padding-top: 0;
    grid-template-columns: 100%;
  }

  .story__thoughts--image {
    text-align: center;
    margin: 0 auto 20px;
  }

  .story__thoughts--tit {
    text-align: center;
    font-size: 2rem;
  }

  .story__thoughts--text {
    order: 2;
  }

  .beginners__scp {
    margin: 0 auto 30px;
  }

  .beginners__recommend {
    grid-template-columns: 100%;
    gap: 0;
    padding: 0;
  }

  .beginners__recommend--text {
    display: contents;
  }

  .beginners__recommend--tit {
    order: 1;
  }

  .beginners__recommend--name {
    order: 3;
  }

  .beginners__recommend--image {
    order: 2;
    max-width: 210px;
    margin: 0 auto 20px;
  }

  .beginners__recommend--info {
    order: 4;
  }

  .beginners__recommend--wrap:last-of-type {
    margin-bottom: 60px;
  }

  .voice__scp {
    font-size: 2.2rem;
  }

  .voice__scp--item {
    grid-template-columns: 1fr 70px;
    gap: 0 20px;
  }

  .voice__scp--user {
    font-size: 1.4rem;
  }

  .voice__scp--word:before {
    top: 10%;
  }

  .voice__scp---read {
    margin-bottom: 25px;
  }

  .start__tbl--tit {
    font-size: 2.2rem;
  }

  .start__tbl {
    width: 100vw;
    margin-left: -20px;
    padding: 20px 20px 20px;
    background-position: center bottom;
  }

  .start__tbl--text {
    font-size: 1.6rem;
    text-align: left;
    padding: 0 20px;
  }

  .first__btn .btn__wrap.line {
    grid-template-columns: 100%;
    margin-top: 30px;
  }

  .first__btn .btn__main.line {
    text-align: center;
  }

  .realtime__item--date::after {
    height: 100%;
  }

  .realtime__item--date {
    outline: 10px solid #fff;
  }

  .realtime__item {
    align-items: flex-start;
  }
}

/****************************************************************
  
  バラの月別育て方ガイド
  
****************************************************************/

.fs-body-category-oteire .fs-c-productList {
  display: none;
}

.cnter__tit {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 20px;
}

.month__read {
  margin: 0 auto 30px;
}

.month__read-min {
  font-size: 1.4rem;
  margin-top: 15px;
}

.month__anker__area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.month__anker__area a {
  background: url(../img/icon_arrow_down.svg) no-repeat calc(100% - 15px) center / 10px auto #f2f7ef;
  padding: 10px 35px 10px 15px;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 75px 1fr;
  gap: 0 10px;
  align-items: center;
}

.month__anker__area--m {
  font-size: 3rem;
  font-weight: bold;
  color: #6b8e5a;
  text-align: center;
}

.-dobble {
  font-size: 2.2rem;
  line-height: 1;
  margin-right: 15px;
}

.-dobble span {
  margin-left: 15px;
}

.title-bg-gray,
.title-bg-gray_c {
  font-size: 3rem;
  font-weight: bold;
  padding: 6px 10px;
  background: #eee;
  border-radius: 4px;
  margin: 0 auto 30px;
}

.title-bg-gray_c {
  text-align: center;
}

.month__scp {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.month__subcp {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.maker__y {
  background: linear-gradient(transparent 50%, #f8efc3 50%);
}

.share__box {
  background: #faf8f2;
  padding: 30px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0 30px;
}

.share__box__title {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.share__box__tbl {
  margin-bottom: 20px;
}

.online__garden {
  text-align: right;
}

.online__garden span {
  background: url(../img/icon_arrow_right.svg) no-repeat right center / 6px auto;
  padding-right: 20px;
}

.title-monthrank {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.title-monthrank::after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background-color: #333;
  margin: 10px auto 40px;
}

.oss__point {
  margin-top: 20px;
}

.oss__point dt {
  background: #8c7f75;
  padding: 6px 10px;
  margin-bottom: 10px;
  color: #fff;
}

.-monthrank .ranking {
  gap: 40px 30px;
}

.material__link {
  text-align: right;
  padding-top: 40px;
  font-weight: bold;
  margin-bottom: 40px;
}

.material__link a {
  background: url(../img/icon_arrow_right.svg) no-repeat right center / 6px auto;
  padding-right: 20px;
}

.anchor_btns .btn__main {
  margin: 30px auto 20px;
}

.anchor_btns .btn__main:last-of-type {
  margin: 20px auto 40px;
}

.month_summary {
  margin-top: 40px;
}

.ranking.-non_rank {
  padding-top: 0;
}

.sprout__box {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 0 40px;
  margin: 0 auto 40px;
}

.sprout__title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.title-main--mins {
  font-size: 2rem;
  font-weight: bold;
}

.single__items {
  max-width: 240px;
  margin: 0 auto;
}

.single__items--img {
  margin-bottom: 10px;
}

.sprout__tbl {
  margin: 0 auto 40px;
}

@media (max-width: 768px) {

  .title-bg-gray,
  .title-bg-gray_c {
    font-size: 2.4rem;
  }

  .month__scp {
    font-size: 2.2rem;
  }
}

@media (max-width: 650px) {
  .sprout__title {
    font-size: 2.2rem;
  }
}

@media (max-width: 560px) {
  .month__anker__area {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .month__anker__area--m {
    font-size: 3rem;
  }

  .month__anker__area--m.-dobble {
    font-size: 2.2rem;
  }

  .title-bg-gray_c {
    margin-bottom: 20px;
  }

  .share__box {
    grid-template-columns: 100%;
    gap: 20px 0;
    padding: 20px;
  }

  .share__box--pic {
    margin: 0 auto;
    max-width: 76px;
  }

  .share__box__title {
    text-align: center;
  }

  .-monthrank .ranking {
    gap: 40px 0px;
  }

  .sprout__box {
    grid-template-columns: 100%;
    gap: 20px 0;
  }
}

@media (max-width: 415px) {
  .month__anker__area--m {
    font-size: 2.6rem;
  }

  .month__anker__area a {
    grid-template-columns: 70px 1fr;
    gap: 0 5px;
    padding: 10px 25px 10px 5px;
  }
}

/****************************************************************
  
  バラの病気と害虫対策
  
****************************************************************/

.fs-body-category-disease-carrier strong,
.fs-body-category-disease-carrier b {
  font-weight: bold;
}

.fs-body-category-disease-carrier .fs-c-productList {
  display: none;
}

.jumplink--harf--wd {
  font-size: 1.8rem;
}

.jumplink--harf--wd__min {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 8px;
}

.care__area {
  background: #faf8f2;
  padding: 40px 100px;
  margin: 0 auto 60px;
}

.care__area--tit {
  text-align: center;
  margin-bottom: 20px;
}

.care__area--inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  text-align: center;
  gap: 10px;
  margin: 0 auto 30px;
}

.care__area--item {
  background: #fff;
  border: 1px solid #7d7840;
  border-radius: 4px;
  padding: 20px;
  font-weight: bold;
}

.care__tag {
  font-size: 1.4rem;
  background: #ddd;
  padding: 6px;
  border-radius: 4px;
  line-height: 1;
  width: max-content;
  margin: 0 auto 10px;
}

.-inside {
  color: #527ba9;
  background: #d5e9ff;
}

.-outside {
  color: #9e6a60;
  background: #f9e3d7;
}

.prevention--single {
  width: 45%;
  margin: 0 auto;
}

.prevention--image {
  max-width: 220px;
  margin: 0 auto 15px;
}

.prevention--name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
}

.prevention--harf {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}

.prevention--harf article {
  padding: 20px 20px 0;
}

.prevention--harf article:first-of-type {
  border-right: 1px solid #ccc;
}

.prevention--harf article .btn__main {
  margin-bottom: 0;
}

.prevention--tags {
  margin-bottom: 20px;
}

.prevention--tags .care__tag {
  margin: 0 0 10px;
}

.prevention--fcp {
  font-weight: bold;
  margin-bottom: 6px;
}

.prevention--all {
  text-align: center;
  margin-top: 50px;
}

.prevention--all .btn__main {
  margin-top: 20px;
}

.acc__sick {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px 20px;
}

.acc__sick--inner article {
  margin-bottom: 5px;
}

.sick-act {
  background: #edece8;
  padding: 15px 10px;
  cursor: pointer;
  border-radius: 4px;
}

.sick-act span {
  background: url(../img/icon_plus_black.svg) no-repeat right center / 10px auto;
  display: block;
  padding-right: 25px;
  width: 100%;
}

.sick-act.active span {
  background: url(../img/icon_minus_black.svg) no-repeat right center / 10px auto;
}

.sick-act_inner {
  padding: 20px 0 0;
  display: none;
  margin-bottom: 20px;
}

.icon__link span {
  background: url(../img/icon__link.svg) no-repeat left center / 20px auto;
  padding: 5px 0 5px 30px;
  font-weight: bold;
}

.icon__link ul {
  margin-top: 10px;
}

.icon__link ul li {
  list-style: none;
}

.icon__link ul li a {
  text-decoration: underline;
  color: #113e7d;
}

.sick-act--txt {
  margin-bottom: 20px;
}

.sick-act--btn .btn__wrap {
  margin: 0px auto 20px;
}

.sick-act--btn .btn__jumplink {
  padding: 15px 10px;
}

.sick-act--btn .btn__jumplink span {
  padding-right: 20px;
}

.sick-act__title,
.-mb_txt p.sick-act__title {
  margin-bottom: 5px !important;
}

.sick-act__title span {
  border: 1px solid #e1e1e1;
  display: inline-block;
  padding: 0px 5px;
}

.sick_sign {
  background: #faf8f2;
  padding: 40px 20px;
  margin: 50px auto;
}

.sick_sign--tit {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}

.sick_sign--tit__bg {
  font-weight: bold;
  font-size: 2rem;
}

.sick_sign__wrap {
  position: relative;
}

.ill_sizer {
  position: absolute;
  left: 0px;
  z-index: 2;
  top: -80px;
  max-width: 120px;
}

.sick_sign--grid {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 0 20px;
}

.symptoms__area {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 40px;
}

.symp__tag {
  background: #f1fae9;
  border: 1px solid #5b986b;
  padding: 8px;
  border-radius: 4px;
  line-height: 1;
  margin-bottom: 5px;
  font-size: 1.4rem;
  color: #5b986b;
  width: max-content;
}

.symp__tag_sd {
  background: #5b986b;
  padding: 8px;
  border-radius: 4px;
  line-height: 1;
  margin-bottom: 5px;
  font-size: 1.4rem;
  color: #fff;
  width: max-content;
}

.symp__tag,
.symp__tag_sd {
  margin-top: 15px;
}

.symptoms__area--title {
  font-weight: bold;
  font-size: 2rem;
}

.symptoms__itemarea {
  border: 1px solid #ccc;
  padding: 20px;
  margin-top: 50px;
}

.symptoms__area--item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.symptoms__scp {
  background: #6f5948;
  padding: 10px 30px;
  margin: -40px 0 30px;
  width: max-content;
  color: #fff;
  border-radius: 4px;
}

.symptoms__item--inner {
  display: grid;
  grid-template-columns: 138px 1fr;
  gap: 0 20px;
}

.symptoms__item--blk .btn__main {
  margin: 20px auto 0;
}

.symptoms__area--wrap {
  margin-bottom: 60px;
}

.symptoms__item--name {
  font-weight: bold;
  margin-bottom: 10px;
}

.symptoms__item--blk {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

.symptoms__area--text a {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .care__area {
    padding: 40px 40px;
  }

  .ill_sizer {
    top: -40px;
    max-width: 90px;
  }

  .symptoms__area--item {
    grid-template-columns: 100%;
    gap: 30px 0;
  }

  .symptoms__item--blk {
    display: grid;
    grid-template-rows: auto;
    grid-row: auto;
    gap: 0;
  }
}

@media (max-width: 650px) {
  .symptoms__area {
    grid-template-columns: 100%;
  }

  .symptoms--img img {
    margin: 0 auto 20px;
    text-align: center;
  }
}

@media (max-width: 560px) {
  .symptoms__item--inner {
    grid-template-columns: 110px 1fr;
    gap: 0 14px;
  }

  .-disease {
    grid-template-columns: 100% !important;
  }

  .care__area--tit {
    text-align: left;
  }

  .care__area {
    padding: 20px;
  }

  .care__area--inner,
  .prevention--harf,
  .acc__sick,
  .sick_sign--grid {
    grid-template-columns: 100%;
  }

  .prevention--single {
    width: 100%;
  }

  .prevention--harf article:first-of-type {
    border: none;
    margin-bottom: 40px;
  }

  .prevention--harf article {
    padding: 0;
  }

  .sick_sign--grid {
    gap: 20px 0;
  }

  .sick_sign--grid__image img {
    margin: 0 auto;
  }

  .ill_sizer {
    top: -20px;
    left: -10px;
    max-width: 90px;
  }
}

@media (max-width: 415px) {
  .symptoms__item--inner {
    grid-template-columns: 100px 1fr;
    gap: 0 14px;
  }
}