@font-face {
  font-family: "ZenKaku";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/media/files/fonts/pine/ZenKakuGothicNew-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "ZenKaku";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/media/files/fonts/pine/ZenKakuGothicNew-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "ZenKaku";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/media/files/fonts/pine/ZenKakuGothicNew-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "NotoSansJp";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/files/fonts/pine/NotoSansJP-Regular.otf") format("opentype");
}
@font-face {
  font-family: "NotoSansJp";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/fonts/pine/NotoSansJP-Medium.otf") format("opentype");
}
@font-face {
  font-family: "NotoSansJp";
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url("/media/files/fonts/pine/NotoSansJP-Bold.otf") format("opentype");
}
@font-face {
  font-family: "NotoSansJp";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/media/files/fonts/pine/NotoSansJP-Black.otf") format("opentype");
}
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url("/media/files/fonts/pine/Figtree-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "FigtreeItalic";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/fonts/pine/Figtree-MediumItalic.ttf") format("truetype");
}
@font-face {
  font-family: "FigtreeBoldItalic";
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url("/media/files/fonts/pine/Figtree-BoldItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/fonts/pine/Jost-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/media/files/fonts/pine/Jost-SemiBoldItalic.ttf") format("truetype");
  font-style: italic;
}
:where(section h1.p-topics-detail__title) {
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 1.7142857143vw;
}
@media only screen and (max-width: 1023px) {
  :where(section h1.p-topics-detail__title) {
    font-size: 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  :where(section h1.p-topics-detail__title) {
    font-size: 5vw;
  }
}

:where(section h1.c-lower-section__head) {
  font-size: 2.8571428571vw;
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  :where(section h1.c-lower-section__head) {
    font-size: 7.5vw;
  }
}

.p-topics-detail {
  margin-top: 3.5714285714vw;
  background-color: #fff;
  padding: 4.2857142857vw 5.7142857143vw 3.9285714286vw;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail {
    padding: 3.90625vw 2.6041666667vw 3.515625vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail {
    padding: 7.5vw 5vw 6.75vw;
  }
}
.p-topics-detail__head {
  padding-bottom: 2.5714285714vw;
  border-bottom: 0.1428571429vw #A3978C dotted;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__head {
    padding-bottom: 2.34375vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__head {
    padding-bottom: 4.5vw;
  }
}
.p-topics-detail__title {
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 1.7142857143vw;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__title {
    font-size: 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__title {
    font-size: 5vw;
  }
}
.p-topics-detail__post-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.0714285714vw;
  gap: 1.3571428571vw;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__post-data {
    margin-top: 1.953125vw;
    gap: 1.953125vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__post-data {
    margin-top: 3.75vw;
    gap: 3.75vw;
  }
}
.p-topics-detail__category {
  letter-spacing: 0.05em;
  font-size: 0.8571428571vw;
  min-width: 7.6428571429vw;
  padding: 0.1428571429vw 0.7142857143vw 0.1428571429vw;
  background-color: #F4F8DA;
  text-align: center;
  line-height: 1.458;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__category {
    font-size: 1.5625vw;
    min-width: 13.9322916667vw;
    padding: 0.2604166667vw 1.3020833333vw 0.2604166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__category {
    font-size: 3vw;
    min-width: 26.75vw;
    padding: 0.5vw 2.5vw 0.5vw;
  }
}
.p-topics-detail__date {
  letter-spacing: 0.05em;
  font-size: 1vw;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__date {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__date {
    font-size: 3.5vw;
  }
}
.p-topics-detail__content {
  margin-top: 2.5714285714vw;
}
@media only screen and (max-width: 1023px) {
  .p-topics-detail__content {
    margin-top: 2.34375vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-topics-detail__content {
    margin-top: 4.5vw;
  }
}

.block h1 {
  /* @apply text-24 font-semibold leading-[2] tracking-wider text-gray; */
  font-size: 1.7142857143vw;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #6b6b6b;
}
@media only screen and (max-width: 1023px) {
  .block h1 {
    font-size: 3.125vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h1 {
    font-size: 6vw;
  }
}
.block h2 {
  /* @apply pl-28 text-20 font-semibold leading-[1.666] tracking-wider text-gray m-block-adjustment relative before:absolute before:content-[''] before:top-9 before:left-8 before:rounded-[50%] before:w-12 before:h-12 before:bg-weakBlue; */
  padding-left: 2vw;
  font-size: 1.4285714286vw;
  font-weight: 600;
  line-height: 1.666;
  letter-spacing: 0.05em;
  color: #6b6b6b;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .block h2 {
    padding-left: 3.6458333333vw;
    font-size: 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h2 {
    padding-left: 7vw;
    font-size: 5vw;
  }
}
.block h2::before {
  content: "";
  position: absolute;
  top: 0.8571428571vw;
  left: 0.5714285714vw;
  border-radius: 50%;
  width: 0.8571428571vw;
  height: 0.8571428571vw;
  background-color: #598017;
}
@media only screen and (max-width: 1023px) {
  .block h2::before {
    top: 1.5625vw;
    left: 1.0416666667vw;
    width: 1.5625vw;
    height: 1.5625vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h2::before {
    top: 3vw;
    left: 2vw;
    width: 3vw;
    height: 3vw;
  }
}
.block h3 {
  /* @apply text-18 font-bold leading-[1.666] tracking-wider text-gray pb-4 border-b border-borderGray border-solid; */
  font-size: 1.2857142857vw;
  font-weight: 700;
  line-height: 1.666;
  letter-spacing: 0.05em;
  color: #6b6b6b;
  padding-bottom: 0.2857142857vw;
  border-bottom: 1px solid #c1c1c1;
}
@media only screen and (max-width: 1023px) {
  .block h3 {
    font-size: 2.34375vw;
    padding-bottom: 0.5208333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h3 {
    font-size: 4.5vw;
    padding-bottom: 1vw;
  }
}
.block h4 {
  /* @apply text-16 font-bold leading-[1.666] tracking-wider text-weakBlue; */
  font-size: 1.1428571429vw;
  font-weight: 700;
  line-height: 1.666;
  letter-spacing: 0.05em;
  color: #598017;
}
@media only screen and (max-width: 1023px) {
  .block h4 {
    font-size: 2.0833333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h4 {
    font-size: 4vw;
  }
}
.block h5 {
  /* @apply text-15 font-bold leading-[1.666] tracking-wider; */
  font-size: 1.0714285714vw;
  font-weight: 700;
  line-height: 1.666;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1023px) {
  .block h5 {
    font-size: 1.953125vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h5 {
    font-size: 3.75vw;
  }
}
.block h6 {
  /* @apply text-14 font-bold leading-[1.666] tracking-wider text-weakBlue; */
  font-size: 1vw;
  font-weight: 700;
  line-height: 1.666;
  letter-spacing: 0.05em;
  color: #598017;
}
@media only screen and (max-width: 1023px) {
  .block h6 {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block h6 {
    font-size: 3.5vw;
  }
}
.block p {
  /* @apply md:text-14 text-17 font-yuGothic leading-[2] tracking-wider text-gray; */
  font-size: 1vw;
  font-family: "Yu Gothic", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #6b6b6b;
}
@media only screen and (max-width: 1023px) {
  .block p {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block p {
    font-size: 3.5vw;
  }
}
.block a {
  /* @apply pc:hover:opacity-70 duration-500; */
  text-decoration: underline;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media only screen and (min-width: 1272px) {
  .block a:hover {
    opacity: 0.7;
  }
}

.block.table {
  display: block;
  /* @apply -mr-20 md:mr-0 pr-20 md:pr-0 overflow-x-auto; */
  overflow-x: auto;
}
@media only screen and (max-width: 767px) {
  .block.table {
    margin-right: 0;
    padding-right: 0;
  }
}
.block.table table {
  /* @apply w-500 md:w-full; */
  /* @media only screen and (max-width: 767px) {
    width: 500rem;
  } */
  width: 100%;
  table-layout: auto;
  white-space: nowrap;
}
.block.table table thead,
.block.table table tbody {
  vertical-align: top;
}
.block.table table th,
.block.table table td {
  font-size: 1vw;
  font-family: "Yu Gothic", sans-serif;
  line-height: 1.666;
  letter-spacing: 0.05em;
  color: #6b6b6b;
  padding: 1.1428571429vw 1.4285714286vw;
  border: 1px solid #beb4ab;
}
@media only screen and (max-width: 1023px) {
  .block.table table th,
  .block.table table td {
    font-size: 1.8229166667vw;
    padding: 2.0833333333vw 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.table table th,
  .block.table table td {
    font-size: 3.5vw;
    padding: 4vw 5vw;
  }
}
.block.table table th {
  font-weight: 700;
  background-color: #ece8e5;
}
.block.table table td {
  /* @apply align-top bg-white text-14 font-yuGothic leading-[2] tracking-wider text-gray py-16 px-20 border border-linkGray [&:first-of-type]:font-bold [&:first-of-type]:bg-lightOrangeGray [&:first-of-type]:w-240; */
  background-color: #ffffff;
}

.block.editor p {
  /* @apply text-14 font-yuGothic leading-[2] tracking-wider text-gray; */
  font-size: 1vw;
  font-family: "Yu Gothic", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #6b6b6b;
}
@media only screen and (max-width: 1023px) {
  .block.editor p {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.editor p {
    font-size: 3.5vw;
  }
}
.block.editor p a {
  /* @apply underline; */
  text-decoration: underline;
}

.block.images ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.8571428571vw;
}
@media only screen and (max-width: 1271px) {
  .block.images ul {
    gap: 3.90625vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.images ul {
    gap: 5vw;
  }
}
.block.images ul li {
  /* @apply overflow-hidden; */
  overflow: hidden;
}
.block.images ul li img {
  /* @apply w-full object-contain; */
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.block.images.align-left ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.block.images.align-center ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.block.images.align-right ul {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.block.images.wrap-1 ul li {
  /* @apply w-261; */
  /* width: 261rem; */
  /* width: 100%; */
  width: calc((100% - 2.8571428571vw) / 2);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-1 ul li {
    width: calc((100% - 3.90625vw) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-1 ul li {
    width: 100%;
  }
}
.block.images.wrap-2 ul {
  /* @apply flex-wrap; */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block.images.wrap-2 ul li {
  /* @apply pc:w-[calc((100%_-_40rem)_/_2)] w-full; */
  width: calc((100% - 2.8571428571vw) / 2);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-2 ul li {
    width: calc((100% - 3.90625vw) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-2 ul li {
    width: 100%;
  }
}
.block.images.wrap-3 ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block.images.wrap-3 ul li {
  width: calc((100% - 5.7142857143vw) / 3);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-3 ul li {
    width: calc((100% - 7.8125vw) / 3);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-3 ul li {
    width: 100%;
  }
}
.block.images.wrap-4 ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block.images.wrap-4 ul li {
  width: calc((100% - 8.5714285714vw) / 4);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-4 ul li {
    width: calc((100% - 11.71875vw) / 4);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-4 ul li {
    width: 100%;
  }
}
.block.images.wrap-5 ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block.images.wrap-5 ul li {
  width: calc((100% - 11.4285714286vw) / 5);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-5 ul li {
    width: calc((100% - 15.625vw) / 5);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-5 ul li {
    width: 100%;
  }
}
.block.images.wrap-6 ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block.images.wrap-6 ul li {
  width: calc((100% - 14.2857142857vw) / 6);
}
@media only screen and (max-width: 1271px) {
  .block.images.wrap-6 ul li {
    width: calc((100% - 19.53125vw) / 6);
  }
}
@media only screen and (max-width: 767px) {
  .block.images.wrap-6 ul li {
    width: 100%;
  }
}

.block.text-image {
  /* @apply flex flex-wrap md:gap-x-40 gap-x-20 md:gap-y-32 gap-y-20; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.8571428571vw 2.2857142857vw;
}
@media only screen and (max-width: 1023px) {
  .block.text-image {
    gap: 7.5vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.text-image {
    gap: 5vw;
  }
}
.block.text-image .title {
  /* @apply w-full; */
  width: 100%;
}
.block.text-image.layout-image-text .image {
  /* @apply pc:w-[calc((100%_-_40rem)_/_2)] w-full order-1; */
  width: calc((100% - 2.8571428571vw) / 2);
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media only screen and (max-width: 1271px) {
  .block.text-image.layout-image-text .image {
    width: 100%;
  }
}
.block.text-image.layout-image-text .body {
  /* @apply order-2; */
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.block.text-image.layout-text-image {
  /* @apply flex pc:flex-row-reverse flex-col-reverse gap-10 md:gap-40; */
}
.block.text-image.layout-text-image .image {
  /* @apply pc:w-[calc((100%_-_40rem)_/_2)] w-full order-2; */
  width: calc((100% - 2.8571428571vw) / 2);
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media only screen and (max-width: 1271px) {
  .block.text-image.layout-text-image .image {
    width: 100%;
  }
}
.block.text-image.layout-text-image .body {
  /* @apply order-1; */
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.block.text-image p {
  /* @apply text-14 font-yuGothic leading-[2] tracking-wider text-gray flex-1; */
  font-size: 1vw;
  font-family: "Yu Gothic", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #6b6b6b;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 1023px) {
  .block.text-image p {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.text-image p {
    font-size: 3.5vw;
  }
}
.block.text-image img {
  /* @apply w-full object-contain; */
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.block.list li,
.block.editor li {
  /* @apply text-14 font-yuGothic leading-[2] tracking-wider text-gray; */
  font-size: 1vw;
  font-family: "Yu Gothic", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #6b6b6b;
}
@media only screen and (max-width: 1023px) {
  .block.list li,
  .block.editor li {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list li,
  .block.editor li {
    font-size: 3.5vw;
  }
}
.block.list ul li,
.block.editor ul li {
  /* @apply [&:nth-of-type(n+2)]:mt-2 pl-14 relative before:absolute before:content-[''] before:w-6 before:h-6 before:rounded-[50%] before:bg-weakBlue before:top-9 before:left-0; */
  padding-left: 1vw;
  position: relative;
}
.block.list ul li:nth-of-type(n + 2),
.block.editor ul li:nth-of-type(n + 2) {
  margin-top: 0.1428571429vw;
}
@media only screen and (max-width: 1023px) {
  .block.list ul li:nth-of-type(n + 2),
  .block.editor ul li:nth-of-type(n + 2) {
    margin-top: 0.2604166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ul li:nth-of-type(n + 2),
  .block.editor ul li:nth-of-type(n + 2) {
    margin-top: 0.5vw;
  }
}
@media only screen and (max-width: 1023px) {
  .block.list ul li,
  .block.editor ul li {
    padding-left: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ul li,
  .block.editor ul li {
    padding-left: 3.5vw;
  }
}
.block.list ul li::before,
.block.editor ul li::before {
  content: "";
  position: absolute;
  width: 0.4285714286vw;
  height: 0.4285714286vw;
  border-radius: 50%;
  background-color: #598017; /* weakBlue */
  top: 0.6428571429vw;
  left: 0;
}
@media only screen and (max-width: 1023px) {
  .block.list ul li::before,
  .block.editor ul li::before {
    width: 0.78125vw;
    height: 0.78125vw;
    top: 1.3020833333vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ul li::before,
  .block.editor ul li::before {
    width: 1.5vw;
    height: 1.5vw;
    top: 2.5vw;
  }
}
.block.list ol li,
.block.editor ol li {
  /* @apply [&:nth-of-type(n+2)]:mt-4 pl-26 relative [counter-increment:count] before:absolute before:content-[counter(count)'.'] before:text-14 before:font-bold before:text-weakBlue before:top-0 before:left-0; */
  padding-left: 1.8571428571vw;
  position: relative;
  counter-increment: count;
}
.block.list ol li:nth-of-type(n + 2),
.block.editor ol li:nth-of-type(n + 2) {
  margin-top: 0.2857142857vw;
}
@media only screen and (max-width: 1023px) {
  .block.list ol li:nth-of-type(n + 2),
  .block.editor ol li:nth-of-type(n + 2) {
    margin-top: 0.5208333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ol li:nth-of-type(n + 2),
  .block.editor ol li:nth-of-type(n + 2) {
    margin-top: 1vw;
  }
}
@media only screen and (max-width: 1023px) {
  .block.list ol li,
  .block.editor ol li {
    padding-left: 3.3854166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ol li,
  .block.editor ol li {
    padding-left: 6.5vw;
  }
}
.block.list ol li::before,
.block.editor ol li::before {
  content: counter(count) ".";
  position: absolute;
  font-size: 1vw;
  font-weight: bold;
  color: #598017; /* weakBlue */
  top: 0;
  left: 0;
}
@media only screen and (max-width: 1023px) {
  .block.list ol li::before,
  .block.editor ol li::before {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.list ol li::before,
  .block.editor ol li::before {
    font-size: 3.5vw;
  }
}

.block.youtube .iframe-inner {
  aspect-ratio: 16/9;
}
.block.youtube .iframe-inner iframe {
  width: 100%;
  height: 100%;
}

.block.google-map .iframe-inner {
  aspect-ratio: 16/9;
}
.block.google-map .iframe-inner iframe {
  width: 100%;
  height: 100%;
}

.block.buttons ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.4285714286vw;
}
@media only screen and (max-width: 1023px) {
  .block.buttons ul {
    gap: 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.buttons ul {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5vw;
  }
}
.block.buttons ul li a {
  text-decoration: none;
  display: inline-block;
  position: relative;
  padding-bottom: 0.5vw;
  line-height: 2;
}
@media only screen and (max-width: 1023px) {
  .block.buttons ul li a {
    padding-bottom: 1.0416666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .block.buttons ul li a {
    padding-bottom: 2vw;
    line-height: 1.5;
  }
}
.block.buttons ul li a::before {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  border-bottom: 0.2857142857vw solid;
  -o-border-image: linear-gradient(to right, #E57071, #C2D450) 1;
     border-image: -webkit-gradient(linear, left top, right top, from(#E57071), to(#C2D450)) 1;
     border-image: linear-gradient(to right, #E57071, #C2D450) 1;
  position: absolute;
  left: 0;
  top: 100%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  .block.buttons ul li a::before {
    border-bottom: 3px solid;
  }
}
.block.buttons ul li a:hover::before {
  -o-border-image: linear-gradient(to left, #E57071, #C2D450) 1;
     border-image: -webkit-gradient(linear, right top, left top, from(#E57071), to(#C2D450)) 1;
     border-image: linear-gradient(to left, #E57071, #C2D450) 1;
}