div.froala-view {
  --font-body-family: YakuHanJPs, 'Noto Sans JP', sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;

  --font-heading-family: YakuHanJPs, 'Zen Kaku Gothic Antique', sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 500;

  --font-body-scale: 1;
  --font-heading-scale: 1;

  --color-base-text: 55, 54, 53;
  --color-shadow: 55, 54, 53;
  --color-base-background-1: 255, 255, 255;
  --color-base-background-2: 252, 251, 245;
  --color-base-solid-button-labels: 255, 255, 255;
  --color-base-outline-button-labels: 55, 54, 53;
  --color-base-accent-1: 55, 54, 53;
  --color-base-accent-2: 246, 83, 73;
  --payment-terms-background-color: #ffffff;

  --gradient-base-background-1: #ffffff;
  --gradient-base-background-2: #fcfbf5;
  --gradient-base-accent-1: #373635;
  --gradient-base-accent-2: #f65349;

  --media-padding: px;
  --media-border-opacity: 0.05;
  --media-border-width: 1px;
  --media-radius: 0px;
  --media-shadow-opacity: 0;
  --media-shadow-horizontal-offset: 0px;
  --media-shadow-vertical-offset: 4px;
  --media-shadow-blur-radius: 5px;
  --media-shadow-visible: 0;

  --page-width: 112rem;
  --page-width-margin: 0rem;

  --card-image-padding: 0rem;
  --card-corner-radius: 0.6rem;
  --card-text-alignment: left;
  --card-border-width: 0rem;
  --card-border-opacity: 0.1;
  --card-shadow-opacity: 0;
  --card-shadow-visible: 0;
  --card-shadow-horizontal-offset: 0rem;
  --card-shadow-vertical-offset: 0.4rem;
  --card-shadow-blur-radius: 0.5rem;

  --badge-corner-radius: 4rem;

  --popup-border-width: 1px;
  --popup-border-opacity: 0.1;
  --popup-corner-radius: 0px;
  --popup-shadow-opacity: 0;
  --popup-shadow-horizontal-offset: 0px;
  --popup-shadow-vertical-offset: 4px;
  --popup-shadow-blur-radius: 5px;

  --drawer-border-width: 1px;
  --drawer-border-opacity: 0.1;
  --drawer-shadow-opacity: 0;
  --drawer-shadow-horizontal-offset: 0px;
  --drawer-shadow-vertical-offset: 4px;
  --drawer-shadow-blur-radius: 5px;

  --spacing-sections-desktop: 0px;
  --spacing-sections-mobile: 0px;

  --grid-desktop-vertical-spacing: 8px;
  --grid-desktop-horizontal-spacing: 8px;
  --grid-mobile-vertical-spacing: 4px;
  --grid-mobile-horizontal-spacing: 4px;

  --text-boxes-border-opacity: 0.1;
  --text-boxes-border-width: 0px;
  --text-boxes-radius: 0px;
  --text-boxes-shadow-opacity: 0;
  --text-boxes-shadow-visible: 0;
  --text-boxes-shadow-horizontal-offset: 0px;
  --text-boxes-shadow-vertical-offset: 4px;
  --text-boxes-shadow-blur-radius: 5px;

  --buttons-radius: 0px;
  --buttons-radius-outset: 0px;
  --buttons-border-width: 1px;
  --buttons-border-opacity: 1;
  --buttons-shadow-opacity: 0;
  --buttons-shadow-visible: 0;
  --buttons-shadow-horizontal-offset: 0px;
  --buttons-shadow-vertical-offset: 4px;
  --buttons-shadow-blur-radius: 5px;
  --buttons-border-offset: 0px;

  --inputs-radius: 10px;
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.55;
  --inputs-shadow-opacity: 0;
  --inputs-shadow-horizontal-offset: 0px;
  --inputs-margin-offset: 0px;
  --inputs-shadow-vertical-offset: 4px;
  --inputs-shadow-blur-radius: 5px;
  --inputs-radius-outset: 11px;

  --variant-pills-radius: 40px;
  --variant-pills-border-width: 1px;
  --variant-pills-border-opacity: 0.55;
  --variant-pills-shadow-opacity: 0;
  --variant-pills-shadow-horizontal-offset: 0px;
  --variant-pills-shadow-vertical-offset: 4px;
  --variant-pills-shadow-blur-radius: 5px;

  --color-foreground: var(--color-base-text);
  --color-background: var(--color-base-background-1);
  --gradient-background: var(--gradient-base-background-1);
}

/* ボタンスタイル -------------------------------------------------------- */
div.froala-view .button--secondary {
  --color-button: var(--color-base-outline-button-labels);
  --color-button-text: var(--color-base-outline-button-labels);
  --color-button: var(--color-background);
  --alpha-button-background: 1;
}

div.froala-view .button {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-offset: var(--buttons-border-offset);
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
  min-width: calc(12rem + var(--buttons-border-width) * 2);
  min-height: calc(4.5rem + var(--buttons-border-width) * 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 0 calc(3rem * 0.625);
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  font: inherit;
  font-size: calc(1.5rem * 0.625);
  text-decoration: none;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-short) ease;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

div.froala-view .button:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: var(--buttons-radius-outset);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
}

div.froala-view .button:after {
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-short) ease;
}

div.froala-view .button:not([disabled]):hover:after {
  --border-offset: 1.3px;
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

div.froala-view .button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

div.froala-view .button:focus {
  outline: 0;
  box-shadow: 0 0 0 calc(0.3rem * 0.625) rgb(var(--color-background)), 0 0 0 calc(0.5rem * 0.625) rgba(var(--color-foreground), 0.5), 0 0 calc(0.5rem * 0.625) calc(0.4rem * 0.625) rgba(var(--color-foreground), 0.3);
}

div.froala-view .button:focus:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

div.froala-view .button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

div.froala-view .button {
  font-size: calc(1.5rem * 0.625);
  letter-spacing: calc(0.1rem * 0.625);
  line-height: calc(1 + 0.2 / var(--font-body-scale));
}

div.froala-view .button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

div.froala-view .c-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 16px 1px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-width: auto;
  max-width: 350px;
  height: 44px;
  min-height: auto;
  border-radius: 10px;
  font-size: calc(1.3rem * 0.625);
  letter-spacing: 0.02em;
  transition: color 0.18s ease-out, background-color 0.18s ease-out;
}

div.froala-view .c-button:before,
div.froala-view .c-button:after {
  border-radius: 10px;
  transition: box-shadow 0.18s ease-out;
}

div.froala-view .c-button.button--secondary:not([disabled]):hover {
  --color-button-text: 150, 149, 137;
}

div.froala-view .c-button.button--secondary:not([disabled]):hover:after {
  --border-offset: 0px;
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 calc(var(--buttons-border-width) + 0px) rgba(var(--color-button-text), var(--alpha-button-background));
}

@media screen and (max-width: 749px) {
  div.froala-view .c-button {
    max-width: 100%;
  }
}

/* クーポン -------------------------------------------------------- */
div.froala-view .c-coupon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 9px;
  background: var(--gradient-base-background-2);
  color: rgba(var(--color-foreground), 1);
  padding: clamp(38.1421232877px, 3.852739726vw, 45px) clamp(13.5616438356px, 1.3698630137vw, 16px);
  word-break: break-all;
  text-align: center;
}

div.froala-view .c-coupon__catch {
  font-size: clamp(16.9520547945px, 1.7123287671vw, 20px);
  letter-spacing: 0.18em;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  padding: 0 clamp(13.5616438356px, 1.3698630137vw, 16px);
}

div.froala-view .c-coupon__catch::before,
div.froala-view .c-coupon__catch::after {
  position: absolute;
  top: 50%;
  transform-origin: center;
  content: "";
  display: block;
  width: clamp(1.6952054795px, 0.1712328767vw, 2px);
  height: clamp(20.3424657534px, 2.0547945205vw, 24px);
  background-color: rgba(var(--color-foreground), 1);
}

div.froala-view .c-coupon__catch::before {
  left: 0;
  transform: translate(0, -50%) rotate(-45deg);
}

div.froala-view .c-coupon__catch::after {
  right: 0;
  transform: translate(0, -50%) rotate(45deg);
}

div.froala-view .c-coupon__code {
  font-size: clamp(127.1404109589px, 12.8424657534vw, 150px);
  line-height: 1.1;
  font-weight: 700;
}

div.froala-view .c-coupon__description {
  line-height: 1.5;
  font-size: clamp(17.7996575342px, 1.7979452055vw, 21px);
  letter-spacing: 0.05em;
  margin-top: clamp(10.1712328767px, 1.0273972603vw, 12px);
}

@media screen and (max-width: 749px) {
  div.froala-view .c-coupon {
    row-gap: clamp(7.68px, 2.4vw, 9px);
    padding: clamp(18.7733333333px, 5.8666666667vw, 22px) clamp(13.6533333333px, 4.2666666667vw, 16px);
  }

  div.froala-view .c-coupon__catch {
    font-size: clamp(8.5333333333px, 2.6666666667vw, 10px);
    letter-spacing: 0.16em;
  }

  div.froala-view .c-coupon__catch::before,
  div.froala-view .c-coupon__catch::after {
    width: clamp(0.8533333333px, 0.2666666667vw, 1px);
    height: clamp(10.24px, 3.2vw, 12px);
  }

  div.froala-view .c-coupon__code {
    font-size: clamp(64px, 20vw, 75px);
  }

  div.froala-view .c-coupon__description {
    font-size: clamp(8.5333333333px, 2.6666666667vw, 10px);
    margin-top: clamp(5.12px, 1.6vw, 6px);
  }
}

/* カード -------------------------------------------------------- */
div.froala-view .c-link-card {
  outline: none;
  box-shadow: none;
  border: 0.6px solid #CCCABD;
  border-radius: 6px;
  overflow: hidden;
  margin: calc(1.6rem * 0.625) 0 calc(1.7rem * 0.625);
}

div.froala-view .c-link-card__link {
  display: flex;
  text-decoration: none;
  color: rgba(var(--color-foreground), 1);
  margin: 0;
}

div.froala-view .c-link-card__image {
  flex-shrink: 0;
  position: relative;
  width: 48.2142857143%;
}

div.froala-view .is-square .c-link-card__image {
  width: 25.744047619%;
}
div.froala-view .is-square .c-link-card__image::after {
  padding-top: 100%;
}

div.froala-view .c-link-card__image::after {
  content: "";
  display: block;
  width: 100%;
  padding-top: 53.3950617284%;
  z-index: -1;
}

div.froala-view .c-link-card__image-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

div.froala-view .c-link-card__image-pic {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  position: relative;
  z-index: 0;
}

div.froala-view .c-link-card__image-pic {
  margin-left: 0px !important;
  margin-right: 0px !important;
  max-width: 100% !important;
}

div.froala-view .c-link-card__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 24px;
  row-gap: 8px;
}

div.froala-view .c-link-card__title {
  font-size: calc(1.5rem * 0.625);
  line-height: 1.45;
  letter-spacing: 0.03em;
  margin: 0;
}

div.froala-view .c-link-card__description {
  color: #747369;
  font-size: calc(1.2rem * 0.625);
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin: 0;
}

div.froala-view .c-link-card__site-name {
  align-self: flex-end;
  color: #747369;
  font-size: calc(1.0rem * 0.625);
  line-height: 1.75;
  letter-spacing: 0.01em;
  margin: 0;
}

div.froala-view .c-link-card__price {
  align-self: flex-end;
  display: flex;
  align-items: baseline;
  column-gap: 8px;
}

div.froala-view .c-link-card__price-normal {
  font-size: calc(1.4rem * 0.625);
  line-height: 1.2;
  margin: 0;
  text-decoration: line-through;
}

div.froala-view .c-link-card__price-selling {
  display: flex;
  align-items: baseline;
  column-gap: 4px;
  font-size: calc(2.0rem * 0.625);
  line-height: 1.2;
  margin: 0;
}

div.froala-view .c-link-card__price-selling-unit {
  font-size: 0.7em;
}

div.froala-view .c-link-card__price-selling-tax {
  font-size: 0.7em;
}

div.froala-view .c-link-card__meta {
  display: flex;
  align-items: center;
}

div.froala-view .c-link-card__meta-category {
  font-size: calc(1.0rem * 0.625);
  line-height: 1.2;
  margin: 0;
}

div.froala-view .c-link-card__meta-date {
  position: relative;
  font-size: calc(1.0rem * 0.625);
  line-height: 1.2;
  margin: 0 0 0 8px;
  padding-left: 8px;
}

div.froala-view .c-link-card__meta-date::after {
  content: "";
  display: block;
  width: 1px;
  height: 12px;
  background-color: #E9E8E0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0.5px, -50%);
}

@media screen and (max-width: 749px) {
  div.froala-view .c-link-card__link {
    flex-direction: column;
  }

  div.froala-view .is-square .c-link-card__link {
    flex-direction: row;
  }

  div.froala-view .c-link-card__image {
    width: 100%;
  }

  div.froala-view .is-square .c-link-card__image {
    width: 45.871559633%;
  }

  div.froala-view .c-link-card__content {
    padding: 16px;
  }

  div.froala-view .c-link-card__title {
    font-size: calc(1.2rem * 0.625);
    line-height: 1.5;
  }

  div.froala-view .c-link-card__description {
    font-size: calc(1.0rem * 0.625);
    line-height: 1.4;
  }

  div.froala-view .c-link-card__site-name {
    font-size: calc(0.9rem * 0.625);
    line-height: 1.75;
  }

  div.froala-view .c-link-card__price-normal {
    font-size: calc(1.0rem * 0.625);
  }

  div.froala-view .c-link-card__price-selling {
    font-size: calc(1.3rem * 0.625);
  }
}

/* その他 -------------------------------------------------------- */
div.froala-view h1,
div.froala-view h2,
div.froala-view h3,
div.froala-view h4,
div.froala-view h5,
div.froala-view h6 {
  color: #747369;
  font-size: calc(1.7rem * 0.625);
  line-height: 1.7058823529;
  letter-spacing: 0.06em;
  text-align: center;
  margin: calc(4rem * 0.625) 0;
}

div.froala-view p {
  font-size: calc(1.5rem * 0.625);
  line-height: 1.8571428571;
  margin: calc(1.6rem * 0.625) 0 calc(1.7rem * 0.625);
  letter-spacing: 0.01em;
  font-feature-settings: normal;
}

div.froala-view ul,
div.froala-view ol {
  font-size: calc(1.5rem * 0.625);
  line-height: 1.8571428571;
  margin: calc(1.6rem * 0.625) 0 calc(1.7rem * 0.625);
  letter-spacing: 0.01em;
  font-feature-settings: normal;
}

div.froala-view a {
  font-size: calc(1.5rem * 0.625);
  line-height: 1.8571428571;
  margin: calc(1.6rem * 0.625) 0 calc(1.7rem * 0.625);
  letter-spacing: 0.01em;
  font-feature-settings: normal;
  color: #1989f0;
  text-underline-offset: .15em;
  text-decoration-thickness: 1px;
}

div.froala-view hr {
  margin: calc(4.05rem * 0.625) 0;
  background-image: linear-gradient(to right, #CCCABD 2px, transparent 2px, transparent 5px);
  background-size: 5px 1px;
  background-position: left top;
  background-repeat: repeat-x;
  background-color: transparent;
  border: none;
  height: calc(0.1rem * 0.625);
}

div.froala-view blockquote {
  position: relative;
  color: rgba(var(--color-foreground), 1);
  font-size: calc(1.5rem * 0.625);
  font-style: normal;
  margin: calc(1.6rem * 0.625) 0 calc(1.7rem * 0.625);
  padding: 1em;
  padding: 1em 3em;
  border: none;
  background-color: var(--gradient-base-background-2);
  border: none;
}

div.froala-view blockquote::before,
div.froala-view blockquote::after {
  content: "”";
  display: flex;
  line-height: 1.2;
  position: absolute;
}

div.froala-view blockquote::before {
  transform: translateY(-0.05em) rotate(180deg);
  left: 1.5em;
  top: 1em;
}

div.froala-view blockquote::after {
  transform: translateY(0.05em);
  right: 1.5em;
  top: 1em;
}

div.froala-view blockquote>p {
  margin: 0;
}

div.froala-view .fr-img-caption .fr-img-wrap img {
  width: 100% !important;
}