.editor h2 {
  position: relative;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .07em;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem
}

@media only screen and (min-width: 768px) {
  .editor h2 {
    font-size: 3.2rem;
    padding-bottom: 2rem;
    margin-bottom: 4rem
  }
}

.editor h2::before {
  content: "";
  display: block;
  height: .2rem;
  width: 100%;
  background-color: #be9f53;
  position: absolute;
  left: 0;
  bottom: 0
}

.editor h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .07em;
  padding-left: 2rem;
  margin-bottom: 2rem
}

@media only screen and (min-width: 768px) {
  .editor h3 {
    font-size: 2.4rem;
    padding-left: 2.5rem;
    margin-bottom: 4rem
  }
}

.editor h3::before {
  content: "";
  display: block;
  height: 100%;
  width: .3rem;
  background-color: #be9f53;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0
}

@media only screen and (min-width: 768px) {
  .editor h3::before {
    width: .5rem
  }
}

.editor h4 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .07em;
  margin-bottom: .5rem
}

@media only screen and (min-width: 768px) {
  .editor h4 {
    font-size: 2rem;
    margin-bottom: 1rem
  }
}

.editor p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: .14em;
  margin: 1.5rem 0
}

@media only screen and (min-width: 768px) {
  .editor p {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .16em;
    margin: 3rem 0
  }
}

.editor ul {
  counter-reset: numlist;
  margin: 3rem 0
}

.editor ul li {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: .05em;
  padding-left: 2rem
}

@media only screen and (min-width: 768px) {
  .editor ul li {
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 2.5rem
  }
}

.editor ul li:not(:first-of-type) {
  margin-top: 1rem
}

@media only screen and (min-width: 768px) {
  .editor ul li:not(:first-of-type) {
    margin-top: 1.5rem
  }
}

.editor ul li::before {
  counter-increment: numlist 1;
  content: counter(numlist) ".";
  font-size: 1.4rem;
  color: #be9f53;
  font-weight: 600;
  line-height: 1.8;
  position: absolute;
  left: 0;
  top: 0
}

@media only screen and (min-width: 768px) {
  .editor ul li::before {
    font-size: 1.6rem;
    line-height: 2
  }
}

.editor ol {
  margin: 3rem 0
}

.editor ol li {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: .05em;
  padding-left: 1.5rem
}

@media only screen and (min-width: 768px) {
  .editor ol li {
    font-size: 1.6rem;
    line-height: 2
  }
}

.editor ol li:not(:first-of-type) {
  margin-top: 1rem
}

@media only screen and (min-width: 768px) {
  .editor ol li:not(:first-of-type) {
    margin-top: 1.5rem
  }
}

.editor ol li::before {
  content: "";
  display: block;
  width: .6rem;
  height: .6rem;
  background-color: #be9f53;
  position: absolute;
  left: 0;
  top: .9rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media only screen and (min-width: 768px) {
  .editor ol li::before {
    top: 1.3rem
  }
}

.editor .wp-block-table {
  overflow: scroll;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin: 3rem calc(50% - 50vw);
  padding: 0 calc(50vw - 50%)
}

.editor .wp-block-table::-webkit-scrollbar {
  display: none
}

@media only screen and (min-width: 768px) {
  .editor .wp-block-table {
    margin-bottom: 4rem
  }
}

.editor .wp-block-table:last-child {
  margin-bottom: 0
}

.editor table {
  min-width: 60rem;
  border: 1px solid #cecece
}

@media only screen and (min-width: 768px) {
  .editor table {
    width: 100%;
    max-width: 100%
  }
}

.editor table td,
.editor table th {
  padding: .7rem 1.5rem;
  border: 1px solid #cecece;
  vertical-align: middle
}

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

  .editor table td,
  .editor table th {
    padding: 1rem 2rem
  }
}

.editor table th {
  background-color: #f9f6ee;
  font-weight: 600;
  font-size: 1.4rem;
  text-align: center
}

@media(min-width: 768px) {
  .editor table th {
    font-size: 1.6rem;
    line-height: 1.8666666667
  }
}

.editor table td {
  font-size: 1.4rem;
  text-align: center;
  background-color: #fff
}

@media only screen and (min-width: 768px) {
  .editor table td {
    font-size: 1.6rem;
    line-height: 1.8666666667
  }
}

.editor figcaption {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: .05em;
  color: rgba(0, 0, 0, .6)
}

@media only screen and (min-width: 768px) {
  .editor figcaption {
    font-size: 1.4rem
  }
}

.editor a {
  position: relative;
  font-size: 1.4rem;
  letter-spacing: .05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 2.5rem
}

@media only screen and (min-width: 768px) {
  .editor a {
    font-size: 1.6rem;
    padding-right: 3rem
  }
}

.editor a::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 1.6rem;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 19 19"><circle fill="%23BE9F53" cx="9.5" cy="9.5" r="9.5"/><path fill="%23fff" d="M13.2,9.3L9.5,5.9C9.3,5.7,9,5.7,8.8,5.9c-0.2,0.2-0.2,0.5,0,0.7l2.8,2.6H5.8c-0.3,0-0.5,0.2-0.5,0.5c0,0.3,0.2,0.5,0.5,0.5h5.9l-2.8,2.6c-0.2,0.2-0.2,0.5,0,0.7c0.1,0.1,0.2,0.2,0.4,0.2c0.1,0,0.2,0,0.3-0.1l3.7-3.4c0.1-0.1,0.2-0.2,0.2-0.4S13.3,9.4,13.2,9.3z M12.1,9.7L12.1,9.7L12.1,9.7L12.1,9.7z"/></svg>') no-repeat center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: .5rem;
  margin: auto 0
}

@media only screen and (min-width: 768px) {
  .editor a::after {
    width: 1.9rem;
    -webkit-transition: right .3s ease;
    transition: right .3s ease
  }
}

@media only screen and (min-width: 1025px) {
  .editor a:hover::after {
    right: .8rem
  }
}

.editor a[target=_blank] {
  position: relative;
  color: #be9f53;
  font-size: 1.4rem;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1rem;
  padding-right: 2.5rem
}

@media only screen and (min-width: 768px) {
  .editor a[target=_blank] {
    font-size: 1.6rem;
    padding-right: 3rem
  }
}

.editor a[target=_blank]::before {
  content: "";
  display: block;
  width: calc(100% - 2.5rem);
  height: .1rem;
  background-color: #be9f53;
  position: absolute;
  bottom: 0;
  left: 0
}

@media only screen and (min-width: 768px) {
  .editor a[target=_blank]::before {
    width: calc(100% - 3rem)
  }
}

.editor a[target=_blank]::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 1.6rem;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 13 10"><rect x="3.2" fill="%23BE9F53" width="9.8" height="6.8"/><polygon fill="%23d5c59d" points="11.5,10 0,10 0,2.2 2,2.2 2,8 11.5,8 "/></svg>') no-repeat center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: .5rem;
  margin: auto 0
}

@media only screen and (min-width: 768px) {
  .editor a[target=_blank]::after {
    width: 1.9rem;
    -webkit-transition: right .3s ease;
    transition: right .3s ease
  }
}

@media only screen and (min-width: 1025px) {
  .editor a[target=_blank]:hover::after {
    right: .8rem
  }
}