.ic-post .has-global-padding,
.ic-modal-content .has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
.ic-post .product-top,
.ic-modal-content .product-top {
  display: flex;
  gap: 48px;
  flex-wrap: nowrap;
}
.ic-post .product-right,
.ic-modal-content .product-right {
  max-width: 54%;
  flex: 1;
}
.ic-post .wp-block-post-featured-image,
.ic-modal-content .wp-block-post-featured-image {
  max-width: clamp(200px, 90%, 500px);
  flex-shrink: 0;
  max-width: 41%;
}
.ic-post .wp-block-post-featured-image img,
.ic-modal-content .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
}
.ic-post .product-title,
.ic-modal-content .product-title {
  font-weight: 600;
  font-size: 20px;
  margin: 0;
}
.ic-post .product-subtitle,
.ic-modal-content .product-subtitle {
  margin: 8px 0 0 0;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 16px;
}
.ic-post .product-attr,
.ic-modal-content .product-attr {
  font-family: "Noto Sans JP";
  font-weight: 350;
  font-size: 16px;
  line-height: 1.8;
}
.ic-post .product-tags,
.ic-modal-content .product-tags {
  margin: 16px 0 0 0;
}
.ic-post .product-lead,
.ic-modal-content .product-lead {
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
}
.ic-post .product-buttons,
.ic-modal-content .product-buttons {
  gap: 10px 2%;
}
.ic-post .product-buttons .wp-block-button,
.ic-modal-content .product-buttons .wp-block-button {
  min-width: 190px;
  width: 49%;
}
.ic-post .product-buttons .wp-block-button__link,
.ic-modal-content .product-buttons .wp-block-button__link {
  word-break: keep-all;
  background: none;
  border: 1px solid #000;
  font-size: clamp(16px, 15.0291262136px + 0.2588996764 * 1vw, 20px);
  color: #000;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: clamp(20px, 18.786407767px + 0.3236245955 * 1vw, 25px) clamp(10px, 6.359223301px + 0.9708737864 * 1vw, 25px);
  transition: all 0.3s ease-in;
}
.ic-post .product-buttons .wp-block-button__link:hover,
.ic-modal-content .product-buttons .wp-block-button__link:hover {
  background: #000;
  color: #fff;
}
.ic-post .product-buttons .wp-block-button__link::after,
.ic-modal-content .product-buttons .wp-block-button__link::after {
  content: "";
  position: relative;
  top: 1px;
  display: block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.ic-post .product-bottom,
.ic-modal-content .product-bottom {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 1000px) {
  .ic-post .product-top,
  .ic-modal-content .product-top {
    flex-wrap: wrap;
  }
  .ic-post .product-right,
  .ic-modal-content .product-right {
    max-width: 100%;
  }
  .ic-post .wp-block-post-featured-image,
  .ic-modal-content .wp-block-post-featured-image {
    max-width: 100%;
  }
}
@media screen and (max-width: 700px) {
  .ic-post .product-bottom,
  .ic-modal-content .product-bottom {
    margin-top: 6vw !important;
  }
}
@media screen and (max-width: 580px) {
  .ic-post .product-buttons .wp-block-button,
  .ic-modal-content .product-buttons .wp-block-button {
    min-width: 220px;
    width: 100%;
  }
}

:root {
  --ic-scroll-width: 0;
  --ic-scroll-width-px: calc(var(--ic-scroll-width) * 1px);
  --ic-page-spacing-regular: calc((100vw - var(--ic-scroll-width-px) - var(--wp--style--global--content-size)) / 2);
  --ic-page-spacing-main: clamp(15px, -7.3509933775px + 5.9602649007 * 1vw, 96px);
  --ic-spacing-1: clamp(50px, 23.3009708738px + 7.1197411003 * 1vw, 160px);
  --ic-radio-size: clamp(50px, 30.5825242718px + 5.1779935275 * 1vw, 130px);
  --ic-icon-size: 12;
  --ic-header-top-spacing: var(--wp-admin--admin-bar--height, 0px);
  --ic-footer-top-spacing: 0;
}

html::-webkit-scrollbar {
  width: 6px;
}
html::-webkit-scrollbar-track {
  background-color: #F4F4F4;
  border-radius: 43px;
}
html::-webkit-scrollbar-thumb {
  background: #D9D9D9;
  border-radius: 43px;
}

p a {
  text-decoration: none;
}
p a:hover {
  text-decoration: underline;
}

.wp-block-image > a, .wp-block-image > figure > a {
  width: 100%;
}
.wp-block-image.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .wp-block-image.pc {
    display: none;
  }
  .wp-block-image.sp {
    display: block;
  }
}

.has-global-padding > .entry-content.alignfull,
.entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

.page-banner,
.ic-swiper {
  margin-block-start: 0;
  padding-right: 0;
  padding-left: 0;
  overflow: hidden;
}
.page-banner > .wp-block-group,
.page-banner > .wp-block-group figure,
.ic-swiper > .wp-block-group,
.ic-swiper > .wp-block-group figure {
  max-width: unset;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.page-banner .swiper-slide,
.ic-swiper .swiper-slide {
  margin-block-start: 0;
}

.ic-icon {
  aspect-ratio: 1;
  height: var(--ic-icon-size);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  fill: currentColor;
}
.ic-icon img {
  width: calc(100% - 2px);
  object-fit: contain;
}
.ic-icon svg {
  aspect-ratio: 1;
}

.ic-page-banner {
  --margin-width: 0;
  max-width: unset;
  margin-left: var(--margin-width) !important;
  margin-right: var(--margin-width) !important;
}

.page-banner-sp {
  margin-block-start: 0;
  display: none;
}

.ic-image-contain,
.ic-image-cover {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

figure.ic-image-contain,
figure.ic-image-cover {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

figure.ic-image-contain img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

figure.ic-image-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

figure.wp-block-image:has(a):hover,
.ic-hover:hover {
  opacity: 0.5;
  transition: all 0.3s ease-in;
}

.list-item-1 {
  position: relative;
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-size: clamp(24px, 18.1747572816px + 1.5533980583 * 1vw, 48px);
  line-height: 150%;
  letter-spacing: 2px;
}
.list-item-1.has-max {
  font-size: 48px;
}

.list-item-1::before {
  content: "";
  position: absolute;
  background: #CC507E;
  width: 12px;
  height: 12px;
  left: -34px;
  top: var(--font-size, 50%);
  transform: translateY(-50%);
}

.list-item-placeholder,
.list-item-2 {
  position: relative;
  margin-left: 14px;
}

.list-item-2::before {
  content: "";
  position: absolute;
  background: #CC507E;
  width: 8px;
  height: 8px;
  left: -14px;
  top: var(--font-size, 50%);
  transform: translateY(-50%);
}

h1.wp-block-heading.list-item-1 {
  padding-left: 38px;
}
h1.wp-block-heading.list-item-1::before {
  left: 0;
}

.ic-top-banner {
  margin-block-start: 0;
  height: 41.6666666667vw;
}

.ic-tags {
  --color: #CC507E;
  margin-right: clamp(16px, -1.4757281553px + 4.6601941748 * 1vw, 88px);
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.ic-tags span {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(25px, 23.786407767px + 0.3236245955 * 1vw, 30px);
  gap: clamp(5px, 3.786407767px + 0.3236245955 * 1vw, 10px);
  border: 1px solid var(--color);
  border-radius: 4px;
  color: var(--color);
  padding: 0 clamp(8px, 7.5145631068px + 0.1294498382 * 1vw, 10px);
  font-family: "Noto Sans JP";
  font-weight: 350;
  font-size: clamp(12px, 11.5145631068px + 0.1294498382 * 1vw, 14px);
  line-height: 150%;
  letter-spacing: 0.5px;
}

.ic-post {
  margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 84px + 24px + 64px);
}

@media (max-width: 768px) {
  .page-banner-sp {
    display: block !important;
  }
  .wp-block-group:has(.page-banner-sp) .ic-page-banner:not(:has(.page-banner-sp)) {
    display: none;
  }
}
@keyframes width-grow {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
