@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

span {
  font: inherit;
  background: transparent;
  color: inherit;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

li,
ol,
ul {
  list-style: none;
  list-style-type: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  outline: none;
  text-decoration: none;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

dialog {
  display: block;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  color: inherit;
}
dialog[open] {
  display: flex;
  flex-direction: column;
}
dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

html {
  color-scheme: light;
  -webkit-text-size-adjust: 100%;
}

body {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif, "Roboto", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
body.is-hidden {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Serif JP", serif;
}

.l-inner {
  width: min(100%, 1200px);
  margin-inline: auto;
  padding-inline: 10px;
}

.l-section {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.l-main:not(:has(> .l-fv, > [class$=-fv])):not(:has(> .l-bread:first-child)) {
  padding-block-start: clamp(60px, calc(51.0857142857px + 2.2857142857vw), 84px);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.8);
  isolation: isolate;
  transition: background 0.3s ease;
  padding-inline: 10px;
  padding-block: clamp(0px, calc(-3.7142857143px + 0.9523809524vw), 10px);
  display: flex;
  flex-direction: column;
}
.l-header.is-open {
  background: #ffffff;
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: min(100%, 1280px);
  margin-inline: auto;
  flex: 1;
  min-height: clamp(46px, calc(65.2px + -1.3333333333vw), 60px);
  padding-block: clamp(0px, calc(-3.7142857143px + 0.9523809524vw), 10px);
}

.l-header__logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.l-header__gnav {
  display: none;
}
@media screen and (min-width: 1280px) {
  .l-header__gnav {
    display: block;
  }
}

.l-header__burger {
  flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .l-header__burger {
    display: none;
  }
}

.l-drawer {
  position: fixed;
  top: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  right: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: calc(100% - clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px));
  max-height: calc(100% - clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px));
  margin: 0;
  padding: 0;
  border: none;
  background: #f6faeb;
  z-index: 90;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.l-drawer::backdrop {
  display: none;
}
.l-drawer.is-open {
  transform: translateX(0);
}
@media screen and (min-width: 1280px) {
  .l-drawer {
    display: none;
  }
}

.l-drawer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(24 / 390 * 100vw, 24px);
  padding-block: min(21 / 390 * 100vw, 21px) min(24 / 390 * 100vw, 24px);
  padding-inline: min(10 / 390 * 100vw, 10px);
}

.l-drawer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 3.833px;
}

.l-fv {
  position: relative;
  height: 350px;
  display: flex;
  align-items: center;
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
}
.l-fv::before, .l-fv::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.l-fv::before {
  right: 0;
  background: rgba(31, 117, 61, 0.3);
  z-index: -2;
}
.l-fv::after {
  left: 0;
  max-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, 91.4426008969% 100%, 0 100%);
  z-index: -1;
}
@media screen and (min-width: 1280px) {
  .l-fv::after {
    clip-path: polygon(0 0, 100% 0, 91.4424863388% 100%, 0 100%);
  }
}

.l-fv__img {
  position: absolute;
  z-index: -3;
}
.l-fv__img--about {
  bottom: max(0px, 96px - (100vw - 390px) * 96 / 1050);
  right: clamp(4px, calc(-67.6857142857px + 18.380952381vw), 197px);
  width: clamp(172px, calc(92.5142857143px + 20.380952381vw), 386px);
  height: clamp(151px, calc(81.1714285714px + 17.9047619048vw), 339px);
  aspect-ratio: 74/65;
}

.l-bread {
  padding-block: 10px;
}
@media (max-width: 1279px) {
  .l-bread {
    display: none;
  }
}

.l-main > .l-bread:first-child {
  padding-block-start: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
}

.l-bread__inner {
  width: 100%;
  max-width: min(100%, 1080px);
  margin-inline: auto;
  box-sizing: border-box;
}

.l-footer {
  padding-block-start: 6px;
}

.l-footer__container {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.c-btn {
  display: flex;
  align-items: center;
  border-radius: 60px;
  box-shadow: 0 0 4px 0 rgba(44, 44, 44, 0.25);
  color: #ffffff;
}

.c-btn__line {
  background: #2dcd0a;
}
@media (any-hover: hover) {
  .c-btn__line:hover {
    background: #2be800;
  }
}

.c-btn__cta {
  background: #1f753d;
}
@media (any-hover: hover) {
  .c-btn__cta:hover {
    background: #27a653;
  }
}

.c-btn__header,
.c-btn__footer {
  padding-inline: clamp(19px, calc(18.6285714286px + 0.0952380952vw), 20px);
  justify-content: space-between;
  width: 180px;
  height: 46px;
}

.c-btn__header {
  column-gap: 8px;
}

.c-btn__contact,
.c-btn__main {
  width: auto;
  min-width: 200px;
  max-width: 100%;
  justify-content: center;
}

.c-btn__contact {
  padding-block: 16px;
  column-gap: 8px;
}

.c-btn__main {
  padding-block: clamp(8px, calc(5.0285714286px + 0.7619047619vw), 16px);
  padding-inline: 16px;
  column-gap: 10px;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
  color: #000000;
}
@media (any-hover: hover) {
  .c-btn__main:hover {
    padding-block: clamp(7px, calc(4.0285714286px + 0.7619047619vw), 15px);
    background: #ffffff;
    border: 1px solid #add45f;
  }
}

.c-btn__icon {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 20px;
  height: 22px;
}
.c-btn__icon--main {
  width: 26px;
  height: 29px;
}
.c-btn__icon--main path {
  transform: translateY(5px);
}

.c-burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 7.353px;
  color: #1f753d;
}
.c-burger.is-open .c-burger__bar:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.c-burger.is-open .c-burger__bar:nth-child(2) {
  opacity: 0;
}
.c-burger.is-open .c-burger__bar:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.c-burger__bars {
  position: relative;
  width: 35.3px;
  height: 23.5px;
}

.c-burger__bar {
  position: absolute;
  left: 37%;
  width: 35.3px;
  height: 2px;
  margin-left: -12.5px;
  background-color: #1f753d;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.c-burger__bar:nth-child(1) {
  top: 0;
}
.c-burger__bar:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.c-burger__bar:nth-child(3) {
  bottom: 0px;
}

.c-heading {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: clamp(1, 1.6 - (100vw - 350px) * 0.6 / 1090, 1.6);
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
}

.c-sns__link {
  display: block;
}

.c-sns__img {
  width: 40px;
  height: 41px;
  flex-shrink: 0;
  aspect-ratio: 40/41;
}

.c-bread__list {
  display: flex;
}

.c-bread__item {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  letter-spacing: 0.28px;
}
.c-bread__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 24px;
  background: url(../img/bread_arrow.svg) center/cover no-repeat;
  margin-inline: 16px;
}

.c-bread__link {
  font-size: 14px;
  letter-spacing: 0.28px;
}

.c-section-title {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  position: relative;
  text-align: center;
}
.c-section-title::before {
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
  content: "";
  width: 94px;
  height: 1px;
  background-color: #add45f;
}

.c-number {
  color: #666666;
  font-family: "Roboto", sans-serif;
  font-size: 38px;
  line-height: 1.4;
  letter-spacing: -1.52px;
}

.c-sub-heading {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.c-logo {
  display: block;
  width: clamp(161.429px, calc(137.4454857143px + 6.1496190476vw), 226px);
  height: auto;
}
.c-logo__footer {
  width: clamp(161.429px, calc(141.5312px + 5.102vw), 215px);
}

.c-nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(16 / 390 * 100vw, 16px);
  width: 100%;
}

.c-nav__item {
  width: min(180 / 390 * 100vw, 180px);
}
.c-nav__item--accordion {
  display: flex;
  flex-direction: column;
  gap: min(12 / 390 * 100vw, 12px);
}
.c-nav__item--cta {
  display: flex;
  flex-direction: column;
  gap: min(12 / 390 * 100vw, 12px);
  width: min(180 / 390 * 100vw, 180px);
  border-bottom: none;
}

.c-nav__link,
.c-nav__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: 2px min(10 / 390 * 100vw, 10px);
  border-bottom: 1px solid #666666;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(14 / 390 * 100vw, 14px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #000000;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
  text-align: left;
}

.c-nav__trigger {
  min-height: 46px;
  padding-block: 2px;
}

.c-nav__item--accordion.is-open .c-nav__arrow svg {
  transform: rotate(-90deg);
}
.c-nav__item--accordion.is-open .c-nav__submenu {
  display: flex;
}

.c-nav__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(22.308 / 390 * 100vw, 22.308px);
  height: 20px;
  flex-shrink: 0;
  color: #add45f;
}
.c-nav__arrow svg {
  width: 20px;
  height: auto;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}

.c-nav__submenu {
  display: none;
  flex-direction: column;
  gap: min(8 / 390 * 100vw, 8px);
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-nav__subitem {
  border-bottom: none;
}

.c-nav__sublink {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-inline: min(8 / 390 * 100vw, 8px);
  padding-block: 2px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(14 / 390 * 100vw, 14px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #000000;
}

.c-nav__item--cta .c-btn__header {
  width: 100%;
  height: 46px;
  font-size: min(14 / 390 * 100vw, 14px);
  letter-spacing: 0.28px;
  padding-inline: min(20 / 390 * 100vw, 20px);
  justify-content: space-between;
}

.c-nav__icon {
  width: 20px;
  height: 23px;
}

.p-gnav__list {
  display: flex;
  align-items: center;
  gap: min(20 / 1440 * 100vw, 20px);
}

.p-gnav__item {
  position: relative;
}
.p-gnav__item--cta {
  flex-shrink: 0;
}

.p-gnav__link,
.p-gnav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-height: 46px;
  padding-inline: min(8 / 1440 * 100vw, 8px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(16 / 1440 * 100vw, 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.32px;
  color: #000000;
  white-space: nowrap;
  background: none;
  border: none;
  cursor: pointer;
}

.p-gnav__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(22.308 / 1440 * 100vw, 22.308px);
  height: 20px;
  color: #add45f;
  transition: transform 0.3s ease;
}
.p-gnav__arrow svg {
  width: 20px;
  height: auto;
  transform: rotate(90deg);
}

@media (any-hover: hover) {
  .p-gnav__item--has-child:hover .p-gnav__submenu, .p-gnav__item--has-child:focus-within .p-gnav__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .p-gnav__item--has-child:hover .p-gnav__arrow svg, .p-gnav__item--has-child:focus-within .p-gnav__arrow svg {
    transform: rotate(-90deg);
  }
}

.p-gnav__submenu {
  position: absolute;
  top: calc(100% + 7px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  min-width: 170px;
  padding-inline: min(24 / 1440 * 100vw, 24px);
  background: #f5f5f0;
  border-radius: 8px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.p-gnav__subitem:not(:last-child) {
  border-bottom: none;
}

.p-gnav__sublink {
  display: flex;
  align-items: center;
  gap: min(10 / 1440 * 100vw, 10px);
  min-height: 46px;
  padding-inline: min(8 / 1440 * 100vw, 8px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(14 / 1440 * 100vw, 14px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #000000;
  white-space: nowrap;
}
.p-gnav__sublink::before {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}
@media (any-hover: hover) {
  .p-gnav__sublink:hover {
    opacity: 0.7;
  }
}

.p-gnav__item--cta .c-btn__header {
  width: min(179 / 1440 * 100vw, 179px);
  font-size: min(16 / 1440 * 100vw, 16px);
  letter-spacing: -0.6px;
  column-gap: min(8 / 1440 * 100vw, 8px);
  padding-inline: min(20 / 1440 * 100vw, 20px);
}

.p-gnav__item--cta:last-child .c-btn__header {
  width: min(180 / 1440 * 100vw, 180px);
}

@keyframes fv-slide {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  4% {
    opacity: 1;
  }
  28% {
    opacity: 1;
    transform: scale(1.15);
  }
  33.333% {
    opacity: 0;
    transform: scale(1.15);
  }
  100% {
    opacity: 0;
    transform: scale(1.15);
  }
}
.p-top-fv {
  position: relative;
  width: 100%;
  background: #ffffff;
  isolation: isolate;
  margin-top: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  --fv-hero-h: clamp(570px, calc(558.8571428571px + 2.8571428571vw), 600px);
  --fv-photo-h: clamp(447px, calc(390.1714285714px + 14.5714285714vw), 600px);
  --fv-catch-top: clamp(135px, calc(468.2571428571px + -23.1428571429vw), 378px);
  --fv-catch-bg-w: clamp(379px, calc(128.2857142857px + 64.2857142857vw), 1054px);
  --fv-catch-bg-h: clamp(193px, calc(75.6285714286px + 30.0952380952vw), 509px);
  --fv-badges-h: 151.217px;
}
@media screen and (min-width: 1280px) {
  .p-top-fv {
    height: var(--fv-hero-h);
    overflow: hidden;
  }
}

.p-top-fv__hero {
  position: relative;
  height: var(--fv-hero-h);
}
@media screen and (min-width: 1280px) {
  .p-top-fv__hero {
    height: 100%;
  }
}

.p-top-fv__slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--fv-photo-h);
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1280px) {
  .p-top-fv__slider {
    inset: 0;
    height: auto;
  }
}

.p-top-fv__slide {
  position: absolute;
  inset: 0;
  background-position: 21% 0;
  background-size: cover;
  opacity: 0;
  transform: scale(1);
  will-change: transform, opacity;
  animation: fv-slide 18s ease-in-out infinite;
}
@media screen and (min-width: 1280px) {
  .p-top-fv__slide {
    background-position: center;
  }
}
.p-top-fv__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(173, 212, 95, 0.2) 0%, rgba(192, 222, 133, 0.2) 100%);
  pointer-events: none;
}
.p-top-fv__slide--1 {
  background-image: url("../img/top/top-1.webp");
  animation-delay: 0s;
}
.p-top-fv__slide--2 {
  background-image: url("../img/top/top-2.webp");
  animation-delay: calc(18s / 3);
}
.p-top-fv__slide--3 {
  background-image: url("../img/top/top-3.webp");
  animation-delay: calc(18s / 3 * 2);
}

.p-top-fv__catch {
  position: absolute;
  z-index: 1;
  top: var(--fv-catch-top);
  left: clamp(0px, calc(-29.7142857143px + 7.619047619vw), 80px);
  right: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(16px, calc(14.5142857143px + 0.380952381vw), 20px);
  padding: clamp(0px, calc(21.9428571429px + -1.5238095238vw), 16px) clamp(0px, calc(13.7142857143px + -0.9523809524vw), 10px) 0;
  max-width: clamp(336px, calc(163.6571428571px + 44.1904761905vw), 800px);
}
.p-top-fv__catch::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  background: #f6faeb;
  top: clamp(-95px, calc(33.9142857143px + -8.9523809524vw), -1px);
  left: clamp(-325px, calc(107px + -30vw), -10px);
  width: var(--fv-catch-bg-w);
  height: var(--fv-catch-bg-h);
  clip-path: polygon(0 0, 100% 0, 92.08% 100%, 0 100%);
}
@media screen and (min-width: 1280px) {
  .p-top-fv__catch::before {
    clip-path: polygon(0 0, 100% 0, 91.44% 100%, 0 100%);
  }
}

.p-top-fv__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 0;
  white-space: nowrap;
}

.p-top-fv__ttl {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  background: transparent;
  color: #1f753d;
  padding-inline-start: 0;
}
@media screen and (min-width: 1280px) {
  .p-top-fv__ttl {
    flex-direction: row;
    align-items: stretch;
    background: #ffffff;
    padding-inline-start: 16px;
  }
}

.p-top-fv__ttl-base {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  padding: 4px 0 4px 8px;
}
@media screen and (min-width: 1280px) {
  .p-top-fv__ttl-base {
    background: transparent;
    padding: 0;
  }
}

.p-top-fv__ttl-accent {
  display: inline-flex;
  align-items: center;
  background: #1f753d;
  color: #ffffff;
  padding-block: clamp(0px, calc(5.4857142857px + -0.380952381vw), 4px);
  padding-inline-start: clamp(8px, calc(3.5428571429px + 1.1428571429vw), 20px);
  padding-inline-end: 0;
  box-shadow: clamp(2px, calc(1.2571428571px + 0.1904761905vw), 4px) clamp(2px, calc(1.2571428571px + 0.1904761905vw), 4px) 0 #ffffff;
}

.p-top-fv__heading-lg {
  font-size: clamp(32px, calc(29.0285714286px + 0.7619047619vw), 40px);
  line-height: 1;
  letter-spacing: clamp(0px, calc(-0.7428571429px + 0.1904761905vw), 2px);
}
@media screen and (min-width: 1280px) {
  .p-top-fv__heading-lg {
    line-height: 1.6;
  }
}

.p-top-fv__heading-sm {
  font-size: clamp(24px, calc(22.5142857143px + 0.380952381vw), 28px);
  line-height: 1.6;
  letter-spacing: clamp(1.4px, calc(4.28px + -0.2vw), 3.5px);
}

.p-top-fv__sub {
  padding-inline-start: clamp(8px, calc(5.0285714286px + 0.7619047619vw), 16px);
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(14.5142857143px + 0.380952381vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.2902857143px + 0.0076190476vw), 0.4px);
  color: #000000;
  white-space: nowrap;
}

.p-top-fv__badges {
  position: relative;
  z-index: 2;
  display: flex;
  gap: clamp(10px, calc(2.5714285714px + 1.9047619048vw), 30px);
  align-items: center;
  justify-content: center;
  min-height: var(--fv-badges-h);
  padding: 20px 18.175px;
  background: #ffffff;
  border-bottom: 1px solid #666666;
}
@media screen and (min-width: 1280px) {
  .p-top-fv__badges {
    position: absolute;
    top: min(315 / 1440 * 100vw, 315px);
    left: min(96 / 1440 * 100vw, 96px);
    min-height: auto;
    justify-content: flex-start;
    padding: 0;
    background: transparent;
    border-bottom: none;
  }
}

.p-top-fv__badge {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(111px, calc(96.5142857143px + 3.7142857143vw), 150px);
  height: clamp(111px, calc(96.5142857143px + 3.7142857143vw), 150px);
  flex-shrink: 0;
}

.p-top-fv__badge-wreath {
  position: absolute;
  top: clamp(10px, calc(8.7px + 0.3333333333vw), 13.5px);
  left: clamp(-3px, calc(-1.6285714286px + -0.0952380952vw), -2px);
  width: clamp(114px, calc(99.5142857143px + 3.7142857143vw), 153px);
  height: clamp(103px, calc(90px + 3.3333333333vw), 138px);
  object-fit: cover;
  pointer-events: none;
}

.p-top-fv__badge-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: clamp(76px, calc(65.9714285714px + 2.5714285714vw), 103px);
  width: 100%;
}

.p-top-fv__badge-label {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, calc(10.6138285714px + 0.3554285714vw), 15.732px);
  font-weight: 600;
  line-height: 1.29;
  letter-spacing: clamp(0.24px, calc(0.2121428571px + 0.0071428571vw), 0.315px);
  color: #1f753d;
  text-align: center;
  white-space: pre-line;
}

.p-top-fv__badge-num {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.p-top-fv__badge-num--stack .p-top-fv__badge-en {
  margin-bottom: -7px;
}
.p-top-fv__badge-num--staff {
  width: clamp(58px, calc(50.5714285714px + 1.9047619048vw), 78px);
}

.p-top-fv__badge-num-row {
  display: flex;
  align-items: center;
  margin-bottom: -6px;
}

.p-top-fv__badge-en {
  font-family: "Roboto", sans-serif;
  font-size: clamp(28px, calc(24.2857142857px + 0.9523809524vw), 38px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: clamp(-1.52px, calc(-0.9714285714px + -0.0380952381vw), -1.12px);
  color: transparent;
  background: linear-gradient(132deg, #1f753d 36.4%, #84be98 47.7%, #1f753d 57.5%);
  -webkit-background-clip: text;
  background-clip: text;
}

.p-top-fv__badge-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, calc(10.5142857143px + 0.380952381vw), 16px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: clamp(0.24px, calc(0.2102857143px + 0.0076190476vw), 0.32px);
  color: #41b93c;
  white-space: nowrap;
}
.p-top-fv__badge-unit--side {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  padding-top: clamp(7px, calc(5.8857142857px + 0.2857142857vw), 10px);
}
.p-top-fv__badge-unit--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.p-top-fv__badge-unit--below {
  text-align: center;
  width: 100%;
}

.p-top-fv__badge-unit-line {
  display: block;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.1;
}

.p-top-trading {
  background: #ffffff;
}

.p-top-trading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(30.1428571429px + 0.4761904762vw), 37px);
  width: min(100%, 1180px);
  margin-inline: auto;
  padding: clamp(40px, calc(17.7142857143px + 5.7142857143vw), 100px) 10px;
}

.p-top-trading__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  color: #1f753d;
  text-align: center;
  white-space: nowrap;
}
.p-top-trading__heading::after {
  content: "";
  display: block;
  width: clamp(61px, calc(56.5428571429px + 1.1428571429vw), 73px);
  height: 1px;
  margin-inline: auto;
  background: #add45f;
}

.p-top-trading__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, calc(18.0571428571px + 1.5238095238vw), 40px);
  width: 100%;
}

.p-top-trading__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #000000;
  text-align: center;
}
@media screen and (min-width: 1280px) {
  .p-top-trading__lead {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }
}

.p-top-trading__lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}

.p-top-trading__lead-note {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.24px;
  white-space: nowrap;
}

.p-top-trading__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-trading__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: #ffffff;
  flex-shrink: 0;
}

.p-top-trading__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-top-message {
  position: relative;
  background: #ffffff;
}
.p-top-message::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: clamp(100px, calc(32.4px + 17.3333333333vw), 282px);
  height: 100%;
  background: #f7faee;
  pointer-events: none;
}

.p-top-message__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, calc(5.5142857143px + 3.7142857143vw), 59px);
  margin-inline: auto;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-top-message__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.p-top-message__media {
  flex-shrink: 0;
  width: 100%;
  border-radius: clamp(5.7px, calc(4.8457142857px + 0.219047619vw), 8px);
  overflow: hidden;
  order: 2;
  padding-inline: clamp(0px, calc(13.7142857143px + -0.9523809524vw), 10px);
}
@media screen and (min-width: 1280px) {
  .p-top-message__media {
    order: 0;
    width: clamp(370px, calc(313.9142857143px + 14.380952381vw), 521px);
    max-width: 521px;
  }
}

.p-top-message__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 370/230;
  object-fit: cover;
}
@media screen and (min-width: 1280px) {
  .p-top-message__img {
    aspect-ratio: 521/324;
  }
}

.p-top-message__card {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, calc(23.2571428571px + 0.1904761905vw), 26px);
  width: 100%;
  order: 1;
  padding: 32px clamp(10px, calc(1.8285714286px + 2.0952380952vw), 32px);
  background: #ffffff;
  border-radius: 8px;
}
@media screen and (min-width: 1280px) {
  .p-top-message__card {
    order: 0;
    flex: 0 1 clamp(350px, calc(257.1428571429px + 23.8095238095vw), 600px);
    max-width: 600px;
    padding: 32px;
  }
}

.p-top-message__lead {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  color: #1f753d;
}

.p-top-message__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}
.p-top-message__body p {
  margin: 0;
}

.p-top-message__body-group {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-top-about {
  position: relative;
  background: #ffffff;
}
.p-top-about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: clamp(100px, calc(32.4px + 17.3333333333vw), 282px);
  height: 100%;
  background: #f7faee;
  pointer-events: none;
}

.p-top-about__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, calc(1.4285714286px + 4.7619047619vw), 70px);
  margin-inline: auto;
  padding-block: clamp(60px, calc(47.7428571429px + 3.1428571429vw), 93px);
  padding-inline: 10px;
}
@media screen and (min-width: 1050px) {
  .p-top-about__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.p-top-about__card {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: clamp(350px, calc(257.1428571429px + 23.8095238095vw), 600px);
  width: 100%;
  padding: 32px clamp(10px, calc(5.5428571429px + 1.1428571429vw), 22px);
  background: #ffffff;
  border-radius: 8px;
}
@media screen and (min-width: 1050px) {
  .p-top-about__card {
    flex: 0 1 auto;
  }
}

.p-top-about__content {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, calc(28.2857142857px + 0.9523809524vw), 42px);
}

.p-top-about__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-about__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: 94px;
}

.p-top-about__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}
.p-top-about__text p {
  margin: 0;
}

.p-top-about__btn {
  align-self: flex-start;
}

.p-top-about__media {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: clamp(371px, calc(320.1142857143px + 13.0476190476vw), 508px);
  min-height: 264px;
  padding: clamp(2px, calc(1.6285714286px + 0.0952380952vw), 3px);
  background: #f5f5f0;
  border-radius: clamp(4px, calc(3.6285714286px + 0.0952380952vw), 5px);
}
@media screen and (min-width: 1280px) {
  .p-top-about__media {
    width: clamp(371px, calc(320.1142857143px + 13.0476190476vw), 508px);
    max-width: 508px;
    min-height: auto;
  }
}

.p-top-about__media-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: clamp(286px, calc(247px + 10vw), 391px);
  padding: clamp(10px, calc(8.5142857143px + 0.380952381vw), 14px) clamp(2px, calc(1.6285714286px + 0.0952380952vw), 3px) clamp(2px, calc(1.6285714286px + 0.0952380952vw), 3px);
  margin-inline: auto;
}

.p-top-about__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 282/248;
  object-fit: cover;
}
@media screen and (min-width: 1280px) {
  .p-top-about__img {
    aspect-ratio: 386/339;
  }
}

.p-top-service {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-top-service {
    padding-inline: clamp(10px, calc(-16px + 6.6666666667vw), 80px);
  }
}
.p-top-service {
  background: linear-gradient(90deg, rgba(173, 212, 95, 0.6) 0%, rgba(209, 231, 165, 0.6) 100%);
  box-shadow: 0 0 4px 0 rgba(44, 44, 44, 0.25);
}

.p-top-service__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 63px;
  margin-inline: auto;
  padding: 32px 10px;
  border-radius: 8px;
  background: #ffffff;
}

.p-top-service__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(20.4857142857px + 2.9523809524vw), 63px);
  width: 100%;
}

.p-top-service__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(30.8857142857px + 0.2857142857vw), 35px);
  width: 100%;
  max-width: clamp(350px, calc(259.3714285714px + 23.2380952381vw), 594px);
}

.p-top-service__heading {
  position: relative;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  white-space: nowrap;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-service__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: 94px;
}
.p-top-service__heading::after {
  margin-inline: auto;
}

.p-top-service__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(3px, calc(2.6285714286px + 0.0952380952vw), 4px);
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
  text-align: center;
  opacity: 0.8;
}

.p-top-service__lead-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  margin: 0;
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-top-service__lead-line {
    flex-wrap: nowrap;
  }
}

.p-top-service__cards {
  display: grid;
  gap: 20px;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-top-service__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: clamp(350px, calc(47.6571428571px + 77.5238095238vw), 1164px);
  }
}

.p-top-service__btn {
  flex-shrink: 0;
}

.p-top-service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2.5vw, 23px);
  width: 100%;
  padding: 19px 10px;
  border: 1px solid #666666;
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-top-service-card {
    padding: 20px;
  }
}
.p-top-service-card.p-top-service-card--gap-lg {
  gap: clamp(23px, 3vw, 20px);
}
@media screen and (min-width: 1280px) {
  .p-top-service-card:nth-child(3), .p-top-service-card:nth-child(4) {
    padding: clamp(18px, 2vw, 22px) clamp(8px, 1.5vw, 10px);
  }
}

@media screen and (min-width: 1280px) {
  .p-top-service-card--plan {
    min-height: clamp(200px, 20vw, 232px);
  }
}

@media screen and (min-width: 1280px) {
  .p-top-service-card--simple {
    min-height: clamp(96px, 10vw, 109px);
  }
}
.p-top-service-card--simple .p-top-service-card__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}

.p-top-service-card__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2vw, 16px);
  width: 100%;
}

.p-top-service-card__name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 1280px) {
  .p-top-service-card__name {
    flex-direction: row;
    justify-content: center;
  }
}

.p-top-service-card__en {
  display: inline-flex;
  align-items: center;
  min-height: clamp(40px, 5vw, 53px);
  padding-inline: clamp(12px, 2vw, 16px);
  border-radius: 4px;
  font-family: "Roboto", sans-serif;
  font-size: clamp(32px, calc(29.7714285714px + 0.5714285714vw), 38px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.p-top-service-card__en--primary {
  color: #ffffff;
  background: #1f753d;
}

.p-top-service-card__en--gradient {
  color: #000000;
  background: linear-gradient(90deg, rgba(173, 212, 95, 0.6) 0%, rgba(209, 231, 165, 0.6) 100%);
}

.p-top-service-card__ja {
  display: inline-flex;
  justify-content: center;
  border-block: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  line-height: 1.5;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  white-space: nowrap;
}

.p-top-service-card__price {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  justify-content: center;
  column-gap: 6px;
  color: #000000;
  line-height: 1;
}
@media screen and (min-width: 1280px) {
  .p-top-service-card__price {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    column-gap: 3px;
  }
}

.p-top-service-card__amount,
.p-top-service-card__unit {
  font-family: "Roboto", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.p-top-service-card__amount span {
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
}

.p-top-service-card__tax,
.p-top-service-card__slash,
.p-top-service-card__unit span {
  display: inline-flex;
  align-items: baseline;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-top-service-card__tax span {
  letter-spacing: -1.62px;
}

.p-top-service-card__unit-group {
  display: inline-flex;
  grid-column: 1/-1;
  align-items: baseline;
  justify-self: center;
  gap: 8px;
}
@media screen and (min-width: 1280px) {
  .p-top-service-card__unit-group {
    grid-column: auto;
    justify-self: auto;
  }
}

.p-top-service-card__body {
  width: 100%;
  padding-block: 16px;
  padding-inline: clamp(9px, calc(6.4px + 0.6666666667vw), 16px);
  background: #f5f5f0;
  text-align: center;
}

.p-top-service-card__lead {
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
.p-top-service-card--plan .p-top-service-card__lead {
  font-size: 16px;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-top-service-card__notes {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-block-start: clamp(14px, 2vw, 12px);
  text-align: left;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-top-service-card__notes {
    padding-inline: clamp(16px, 5vw, 67px);
  }
}
.p-top-service-card__notes li {
  display: flex;
  gap: 4px;
  font-size: 14px;
}
.p-top-service-card__notes li::before {
  content: "※";
  flex: 0 0 auto;
}

.p-top-service-card__title {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3851428571px + 0.0038095238vw), 0.44px);
  text-align: center;
}

.p-top-tiktok {
  border-bottom: 1px solid #666666;
  background: #ffffff;
}

.p-top-tiktok__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, calc(1.0571428571px + 4.8571428571vw), 71px);
  margin-inline: auto;
  padding-block: clamp(42px, calc(20.4571428571px + 5.5238095238vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1050px) {
  .p-top-tiktok__inner {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    max-width: none;
    width: 100%;
  }
}

.p-top-tiktok__content {
  display: flex;
  flex-direction: column;
  gap: 27px;
  width: 100%;
  padding: clamp(0px, calc(21.9428571429px + -1.5238095238vw), 16px) 10px;
}
@media screen and (min-width: 1280px) {
  .p-top-tiktok__content {
    flex-shrink: 0;
    width: clamp(370px, calc(320.6px + 12.6666666667vw), 503px);
    max-width: 503px;
    padding: 0;
  }
}

.p-top-tiktok__head {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, calc(18.0571428571px + 1.5238095238vw), 40px);
}

.p-top-tiktok__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-tiktok__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: 94px;
}

.p-top-tiktok__lead {
  display: flex;
  flex-direction: column;
  gap: clamp(0, calc(calc(-2.9714285714 / 1px)px + calc(0.7619047619 / 1px)vw), 8px);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  color: #000000;
}
.p-top-tiktok__lead p {
  margin: 0;
  white-space: nowrap;
}

.p-top-tiktok__text {
  margin: 0;
  max-width: clamp(366px, calc(315.1142857143px + 13.0476190476vw), 503px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}

.p-top-tiktok__btn {
  align-self: flex-start;
}

.p-top-tiktok__media {
  flex-shrink: 0;
  width: 100%;
  border-radius: clamp(8px, calc(16.2285714286px + -0.5714285714vw), 14px);
  overflow: hidden;
}
@media screen and (min-width: 1280px) {
  .p-top-tiktok__media {
    width: clamp(370px, calc(313.1714285714px + 14.5714285714vw), 523px);
    max-width: 523px;
  }
}

.p-top-tiktok__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 370/229;
  object-fit: cover;
  object-position: 55% 45%;
}
@media screen and (min-width: 1280px) {
  .p-top-tiktok__img {
    aspect-ratio: 523/324;
    object-position: 58% 48%;
  }
}

.p-top-works {
  border-bottom: 1px solid #666666;
  background: #ffffff;
  overflow: hidden;
}

.p-top-works__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, calc(14.3428571429px + 2.4761904762vw), 50px);
  margin-inline: auto;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-top-works__inner {
    flex-direction: row;
    align-items: center;
  }
}

.p-top-works__panel {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, calc(12.5714285714px + 1.9047619048vw), 40px);
  width: 100%;
  padding: clamp(16px, calc(10.0571428571px + 1.5238095238vw), 32px) 10px;
  border-radius: 20px;
  background: #ffffff;
  flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .p-top-works__panel {
    width: clamp(350px, calc(267.1714285714px + 21.2380952381vw), 573px);
    max-width: 573px;
    padding: clamp(16px, calc(10.0571428571px + 1.5238095238vw), 32px);
  }
}

.p-top-works__head {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, calc(30.1428571429px + 0.4761904762vw), 37px);
}

.p-top-works__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-works__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: clamp(41px, calc(38.0285714286px + 0.7619047619vw), 49px);
}

.p-top-works__lead {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}
.p-top-works__lead p {
  margin: 0;
}

.p-top-works__lead-block {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-top-works__lead-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
@media screen and (min-width: 1280px) {
  .p-top-works__lead-line {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}

.p-top-works__lead-group {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-top-works__btn {
  align-self: flex-start;
}

.p-top-works__slider {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-inline-end: calc(50% - 50vw);
  padding-inline-end: calc(50vw - 50%);
}
.p-top-works__slider::-webkit-scrollbar {
  display: none;
}
@media (max-width: 1279px) {
  .p-top-works__slider {
    padding-inline-start: 10px;
  }
}
@media screen and (min-width: 1280px) {
  .p-top-works__slider {
    flex: 1 1 auto;
  }
}

.p-top-works__list {
  display: flex;
  gap: 16px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-works-card {
  flex: 0 0 288px;
  width: 288px;
  min-width: 0;
  height: 100%;
}

.p-top-works-card__link {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-height: 272px;
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-top-works-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 259/136;
  overflow: hidden;
  background: #f6faeb;
}

.p-top-works-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-top-works-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.p-top-works-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
}

.p-top-works-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-works-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-works-card__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.32px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 1280px) {
  .p-top-works-card__title {
    min-height: min(55 / 1440 * 100vw, 55px);
  }
}

.p-top-column {
  background: #ffffff;
  overflow: hidden;
}

.p-top-column__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, calc(14.3428571429px + 2.4761904762vw), 50px);
  margin-inline: auto;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-top-column__inner {
    flex-direction: row;
    align-items: center;
  }
}

.p-top-column__panel {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, calc(12.5714285714px + 1.9047619048vw), 40px);
  width: 100%;
  padding: clamp(16px, calc(10.0571428571px + 1.5238095238vw), 32px) 10px;
  border-radius: 20px;
  background: #ffffff;
  flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .p-top-column__panel {
    width: clamp(350px, calc(267.1714285714px + 21.2380952381vw), 573px);
    max-width: 573px;
    padding: clamp(16px, calc(10.0571428571px + 1.5238095238vw), 32px);
  }
}

.p-top-column__head {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, calc(29.7714285714px + 0.5714285714vw), 38px);
}

.p-top-column__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-column__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: clamp(61px, calc(56.5428571429px + 1.1428571429vw), 73px);
}

.p-top-column__lead {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}
.p-top-column__lead p {
  margin: 0;
}

.p-top-column__btn {
  align-self: flex-start;
}

.p-top-column__slider {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-inline-end: calc(50% - 50vw);
  padding-inline-end: calc(50vw - 50%);
}
.p-top-column__slider::-webkit-scrollbar {
  display: none;
}
@media (max-width: 1279px) {
  .p-top-column__slider {
    padding-inline-start: 10px;
  }
}
@media screen and (min-width: 1280px) {
  .p-top-column__slider {
    flex: 1 1 auto;
  }
}

.p-top-column__list {
  display: flex;
  gap: 16px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-column-card {
  flex: 0 0 288px;
  width: 288px;
  min-width: 0;
  height: 100%;
}

.p-top-column-card__link {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-height: 272px;
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-top-column-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 259/136;
  overflow: hidden;
  background: #f6faeb;
}

.p-top-column-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-top-column-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.p-top-column-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
}

.p-top-column-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-column-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-column-card__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.32px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 1280px) {
  .p-top-column-card__title {
    min-height: min(55 / 1440 * 100vw, 55px);
  }
}

.p-top-news {
  background: #f7faee;
}

.p-top-news__inner {
  display: flex;
  justify-content: center;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}

.p-top-news__card {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  width: 100%;
  border-radius: 8px;
  background: #ffffff;
}

.p-top-news__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(29.0285714286px + 0.7619047619vw), 40px);
  width: 100%;
  max-width: clamp(350px, calc(182.8571428571px + 42.8571428571vw), 800px);
  margin-inline: auto;
  padding: 40px clamp(10px, calc(1.8285714286px + 2.0952380952vw), 32px);
}

.p-top-news__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #1f753d;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-top-news__heading::after {
  content: "";
  display: block;
  height: 1px;
  background: #add45f;
  width: 94px;
}
.p-top-news__heading::after {
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-top-news__heading::after {
    width: 94px;
  }
}

.p-top-news__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-news-item {
  border-block-end: 1px solid #e5e5e5;
  padding-block-end: 20px;
}

.p-top-news-item__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-news-item__link:hover {
    opacity: 0.7;
  }
}

.p-top-news-item__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.p-top-news-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.p-top-news-item__cat {
  padding: 3px 7px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-news-item__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-top-news-item__title-row {
  display: flex;
  gap: 20px;
  align-items: center;
}

.p-top-news-item__title {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}

@media screen and (min-width: 1280px) {
  .p-top-news-item__br {
    display: none;
  }
}

.p-top-news-item__arrow {
  flex-shrink: 0;
  width: 26px;
  height: 29px;
  background: url("data:image/svg+xml,%3Csvg width='26' height='29' viewBox='0 0 26 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 5.38501L13.0763 10.7696L8.46094 16.1542' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.p-top-news__btn {
  flex-shrink: 0;
}

.p-top-company__inner {
  display: flex;
  justify-content: center;
  padding-block: clamp(40px, calc(17.7142857143px + 5.7142857143vw), 100px);
  padding-inline: 10px;
}

.p-top-company__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: clamp(370px, calc(69.1428571429px + 77.1428571429vw), 1180px);
  height: 165px;
  border-radius: 8px;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-company__link:hover {
    opacity: 0.85;
  }
}

.p-top-company__media {
  position: absolute;
  inset: 0;
}
.p-top-company__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(31, 117, 61, 0.6);
  pointer-events: none;
}

.p-top-company__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 40% 72%;
}
@media screen and (min-width: 1280px) {
  .p-top-company__img {
    object-position: 50% 73%;
  }
}

.p-top-company__label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.p-top-company__heading {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  white-space: nowrap;
}

.p-top-company__arrow {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 26px;
  height: 29px;
}
.p-top-company__arrow path {
  transform: translateY(5px);
}

.p-tiktok-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(57px, calc(46.9714285714px + 2.5714285714vw), 84px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-tiktok-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-tiktok-fv__heading {
  position: relative;
  z-index: 3;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-fv__heading {
    line-height: 1;
    white-space: normal;
    word-break: break-word;
  }
}

.p-tiktok-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-tiktok-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-tiktok-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 58% 22%;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-fv__img {
    object-position: 42% 48%;
  }
}

.p-tiktok-problem {
  padding-block: clamp(40px, 6vw, 60px) clamp(32px, 5vw, 40px);
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem {
    padding-block: clamp(60px, 8vw, 100px) clamp(48px, 5vw, 60px);
  }
}

.p-tiktok-problem__inner {
  padding-inline: 10px;
}

.p-tiktok-problem__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(20px, 3vw, 32px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(24px, 6vw, 90px);
  }
}

.p-tiktok-problem__media {
  order: 2;
  width: 100%;
  border-radius: clamp(5.681px, calc(4.8196571429px + 0.2208571429vw), 8px);
  aspect-ratio: 370/230.096;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__media {
    order: 1;
    flex: 0 1 min(100%, 521px);
    max-width: min(100%, 521px);
    aspect-ratio: 521/324;
  }
}

.p-tiktok-problem__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.p-tiktok-problem__content {
  order: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, 3vw, 32px);
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__content {
    order: 2;
    align-items: flex-start;
    flex: 0 1 min(100%, 569px);
    max-width: min(100%, 569px);
    gap: clamp(32px, 4vw, 40px);
  }
}

.p-tiktok-problem__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  text-align: center;
  white-space: nowrap;
}
.p-tiktok-problem__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(60px, 8vw, 73px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__heading {
    text-align: left;
    white-space: normal;
  }
  .p-tiktok-problem__heading::after {
    inset-inline: 0 auto;
    translate: 0 0;
  }
}

.p-tiktok-problem__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 2vw, 16px);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__list {
    align-items: flex-start;
  }
}

.p-tiktok-problem__item {
  width: fit-content;
  max-width: 100%;
  padding: 10px clamp(20px, 4vw, 32px);
  border-radius: 10px;
  background: #f5f5f0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-align: center;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-problem__item {
    text-align: left;
  }
}
.p-tiktok-problem__item--lead {
  width: 100%;
}

.p-tiktok-problem__text {
  margin: 0;
}

.p-tiktok-solution::after {
  content: "";
  display: block;
  height: clamp(40px, calc(29.9714285714px + 2.5714285714vw), 67px);
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-tiktok-solution__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 3vw, 24px);
  padding: clamp(40px, 6vw, 60px) clamp(10px, 2vw, 16px) clamp(32px, 5vw, 40px);
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}

.p-tiktok-solution__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(4px, 1.5vw, 16px);
}

.p-tiktok-solution__lead {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
}

.p-tiktok-solution__lead-sm {
  font-size: clamp(24px, calc(21.7714285714px + 0.5714285714vw), 30px);
  letter-spacing: clamp(1.2px, calc(1.0885714286px + 0.0285714286vw), 1.5px);
}

.p-tiktok-solution__lead-lg {
  font-size: clamp(28px, calc(23.5428571429px + 1.1428571429vw), 40px);
  letter-spacing: clamp(1.4px, calc(1.1771428571px + 0.0571428571vw), 2px);
}

.p-tiktok-solution__catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 clamp(16px, 3vw, 24px) 8px;
  background: #ffffff;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-solution__catch {
    flex-direction: row;
    align-items: center;
    padding: 0 clamp(12px, 2vw, 16px) 0 clamp(16px, 2vw, 24px);
  }
}

.p-tiktok-solution__catch-row {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0;
}
.p-tiktok-solution__catch-row + .p-tiktok-solution__catch-row {
  margin-block-start: -12px;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-solution__catch-row {
    display: contents;
  }
  .p-tiktok-solution__catch-row + .p-tiktok-solution__catch-row {
    margin-block-start: 0;
  }
}

.p-tiktok-solution__word {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-tiktok-solution__word--lg {
  font-size: clamp(32px, calc(29.0285714286px + 0.7619047619vw), 40px);
  letter-spacing: clamp(1.6px, calc(1.4514285714px + 0.0380952381vw), 2px);
}
.p-tiktok-solution__word--sm {
  font-size: clamp(28px, calc(26.5142857143px + 0.380952381vw), 32px);
  letter-spacing: clamp(1.4px, calc(1.3257142857px + 0.019047619vw), 1.6px);
  align-self: flex-end;
  min-height: clamp(44px, calc(40.2857142857px + 0.9523809524vw), 54px);
  display: inline-flex;
  align-items: flex-end;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-solution__word--ga {
    letter-spacing: 4.2px;
  }
}
.p-tiktok-solution__word--mark {
  font-size: clamp(28px, calc(23.5428571429px + 1.1428571429vw), 40px);
  letter-spacing: clamp(1.4px, calc(1.1771428571px + 0.0571428571vw), 2px);
  display: inline-block;
  transform: rotate(7deg);
  transform-origin: center center;
  align-self: flex-end;
  margin-inline-start: max(-11px, -2vw);
}

.p-tiktok-solution__desc {
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-align: center;
}

.p-tiktok-solution__desc-line {
  display: block;
}

.p-tiktok-strength {
  padding-block: clamp(32px, 5vw, 40px);
}
@media screen and (min-width: 1280px) {
  .p-tiktok-strength {
    padding-block: clamp(48px, 5vw, 60px);
  }
}

.p-tiktok-strength__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-tiktok-strength__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  text-align: center;
  white-space: nowrap;
}
.p-tiktok-strength__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(60px, 8vw, 73px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}

.p-tiktok-strength__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  align-items: stretch;
  gap: clamp(12px, 2vw, 16px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin: clamp(24px, 4vw, 32px) auto 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-strength__list {
    margin-block-start: clamp(32px, 4vw, 40px);
    gap: clamp(16px, 2vw, 20px);
  }
}

.p-tiktok-strength-card {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 24px);
  width: 100%;
  height: 100%;
  padding: clamp(16px, 2.5vw, 32px);
  border: 1px solid #add45f;
  border-radius: 4px;
  background: #ffffff;
}

.p-tiktok-strength-card__head {
  display: flex;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
  width: 100%;
}

.p-tiktok-strength-card__num {
  flex: 0 0 clamp(52px, 8vw, 61px);
  width: clamp(52px, 8vw, 61px);
  padding: 8px;
  border-radius: 8px;
  background: #df3959;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-size: clamp(28px, calc(26.5142857143px + 0.380952381vw), 32px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  text-align: center;
}

.p-tiktok-strength-card__title {
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-tiktok-strength-card__title-line {
  display: block;
}
.p-tiktok-strength-card__title--inline-sp .p-tiktok-strength-card__title-line {
  display: inline;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-strength-card__title--inline-sp .p-tiktok-strength-card__title-line {
    display: block;
  }
}

.p-tiktok-strength-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 3vw, 24px);
  width: 100%;
  min-height: 0;
}

.p-tiktok-strength-card__media {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  border-radius: 8px;
  aspect-ratio: 973/584;
  overflow: hidden;
}

.p-tiktok-strength-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-tiktok-strength-card:nth-child(3) .p-tiktok-strength-card__img {
  object-position: center 22%;
}

.p-tiktok-strength-card__desc {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 3vw, 26px);
  width: 100%;
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-align: center;
}

.p-tiktok-strength-card__desc-group {
  margin: 0;
}

.p-tiktok-strength-card__desc-line {
  display: block;
  margin: 0;
}

.p-tiktok-reason {
  padding-block-end: clamp(60px, 8vw, 100px);
  background: #f7faee;
}

.p-tiktok-reason__shape {
  display: block;
  width: 100%;
  height: clamp(40px, calc(29.9714285714px + 2.5714285714vw), 67px);
  line-height: 0;
}

.p-tiktok-reason__shape-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.p-tiktok-reason__shape-svg path {
  fill: #ffffff;
}

.p-tiktok-reason__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 4vw, 40px);
  padding-block-start: clamp(32px, 5vw, 40px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason__inner {
    padding-block-start: clamp(48px, 5vw, 60px);
  }
}

.p-tiktok-reason__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  text-align: center;
  white-space: nowrap;
}
.p-tiktok-reason__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(60px, 8vw, 73px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}

.p-tiktok-reason__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2.5vw, 24px);
  width: 100%;
  max-width: min(100%, 1031px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-tiktok-reason-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: clamp(20px, 3vw, 24px);
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    min-height: clamp(260px, 25vw, 303px);
    padding: clamp(24px, 3vw, 32px);
  }
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card--reverse {
    flex-direction: row-reverse;
  }
}

.p-tiktok-reason-card__media {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  border-radius: 8px;
  aspect-ratio: 398/239;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card__media {
    width: min(100%, min(398 / 1440 * 100vw, 398px));
    height: auto;
    max-height: min(239 / 1440 * 100vw, 239px);
    aspect-ratio: 398/239;
  }
}
.p-tiktok-reason-card__media--frame {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f0;
}

.p-tiktok-reason-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-tiktok-reason-card__media--frame .p-tiktok-reason-card__img {
  width: min(52%, 242px);
  height: auto;
  max-height: 88%;
  object-fit: contain;
}
.p-tiktok-reason-card:nth-child(2) .p-tiktok-reason-card__media:not(.p-tiktok-reason-card__media--frame) .p-tiktok-reason-card__img {
  object-position: center 40%;
}
.p-tiktok-reason-card:nth-child(3) .p-tiktok-reason-card__media:not(.p-tiktok-reason-card__media--frame) .p-tiktok-reason-card__img {
  object-position: center 35%;
}

.p-tiktok-reason-card__content {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 24px);
  padding-block: clamp(12px, 2vw, 16px);
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card__content {
    flex: 1 1 min(100%, 569px);
    max-width: min(100%, 569px);
    min-height: clamp(200px, 20vw, 239px);
    padding-inline: clamp(16px, 4vw, 50px) clamp(12px, 2vw, 16px);
    justify-content: center;
  }
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card--reverse .p-tiktok-reason-card__content {
    padding-inline: clamp(12px, 2vw, 16px) clamp(16px, 4vw, 50px);
  }
}

.p-tiktok-reason-card__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.p-tiktok-reason-card__label {
  margin: 0;
  padding: 4px 10px;
  background: #f5f5f0;
  color: #1ecdc8;
  font-family: "Roboto", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.04em;
}

.p-tiktok-reason-card__title {
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-tiktok-reason-card__title-line {
  display: block;
  margin: 0;
}

.p-tiktok-reason-card__title-sub {
  display: inline;
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card__title-sub {
    display: block;
  }
}

.p-tiktok-reason-card__desc {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-tiktok-reason-card__desc {
    flex: 1;
    justify-content: center;
    min-height: clamp(120px, 12vw, 156px);
  }
}

.p-tiktok-reason-card__desc-group {
  margin: 0;
}

.p-tiktok-reason-card__desc-line {
  display: block;
  margin: 0;
}

.p-service-fv {
  --fv-media-width: clamp(187px, calc(6.8571428571px + 46.1904761905vw), 672px);
  --fv-slant-width: clamp(19.083px, calc(5.9634px + 3.364vw), 54.405px);
  --fv-left-width: calc(100% - var(--fv-media-width) + var(--fv-slant-width));
  --fv-photo-width: clamp(72.544px, calc(34.0472857143px + 9.870952381vw), 176.189px);
  --fv-photo-gap: clamp(1.843px, calc(1.0418285714px + 0.2054285714vw), 4px);
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f5f5f0;
}
@media screen and (min-width: 1280px) {
  .p-service-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
    --fv-slant-width: min(62.641 / 1440 * 100vw, 62.641px);
    --fv-photo-width: min(176.19 / 1440 * 100vw, 176.19px);
    --fv-photo-height: min(316.349 / 1440 * 100vw, 316.349px);
    --fv-photo-gap: min(1.843 / 1440 * 100vw, 1.843px);
  }
}
.p-service-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}
.p-service-fv .c-heading {
  position: relative;
  z-index: 3;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
}
@media screen and (min-width: 1280px) {
  .p-service-fv .c-heading {
    line-height: 1;
  }
}

.p-service-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-service-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-service-fv__collage {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--fv-photo-gap);
  height: 100%;
  padding-left: clamp(16px, 4vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-service-fv__collage {
    position: relative;
    display: block;
    width: min(100%, min(722.346 / 1440 * 100vw, 722.346px));
    height: min(100%, min(383 / 1440 * 100vw, 383px));
    margin-block: auto;
    margin-inline: auto;
    padding: 0;
    top: min(27 / 1440 * 100vw, 27px);
  }
}

.p-service-fv__row {
  display: flex;
  gap: var(--fv-photo-gap);
}
.p-service-fv__row--top {
  margin-block-end: calc(var(--fv-photo-width) * -0.356);
}
@media screen and (min-width: 1280px) {
  .p-service-fv__row {
    display: contents;
  }
}

.p-service-fv__photo {
  display: block;
  width: var(--fv-photo-width);
  height: auto;
  aspect-ratio: 72.544/130.254;
  object-fit: cover;
  border-radius: clamp(3px, 0.5vw, 3.26px);
}
.p-service-fv__photo--1, .p-service-fv__photo--3 {
  margin-block-start: clamp(20px, 5vw, 27.747px);
}
@media screen and (min-width: 1280px) {
  .p-service-fv__photo {
    position: absolute;
    width: var(--fv-photo-width);
    height: var(--fv-photo-height);
    border-radius: min(7.919 / 1440 * 100vw, 7.919px);
  }
  .p-service-fv__photo--1 {
    inset-block-start: min(66.99 / 1440 * 100vw, 66.99px);
    inset-inline-start: min(364 / 1440 * 100vw, 364px);
    margin-block-start: 0;
  }
  .p-service-fv__photo--2 {
    inset-block-start: 0;
    inset-inline-start: calc(100% - var(--fv-photo-width));
  }
  .p-service-fv__photo--3 {
    inset-block-start: min(68.6 / 1440 * 100vw, 68.6px);
    inset-inline-start: 0;
    margin-block-start: 0;
  }
  .p-service-fv__photo--4 {
    inset-block-start: 0;
    inset-inline-start: min(179.79 / 1440 * 100vw, 179.79px);
  }
}

.p-service-service {
  position: relative;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}
.p-service-service::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: clamp(70px, 12vw, 160px);
  background: linear-gradient(rgba(235, 245, 238, 0.9), rgba(235, 245, 238, 0.9)), url("../img/service/service-13.webp") center/cover no-repeat;
  pointer-events: none;
}
@media screen and (min-width: 1280px) {
  .p-service-service::before {
    width: min(347 / 1440 * 100vw, 347px);
  }
}

.p-service-service__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 44px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  padding-block: clamp(24px, 4vw, 32px);
  padding-inline: clamp(10px, 2vw, 16px);
  border-radius: 8px;
  background: #ffffff;
}
@media screen and (min-width: 1280px) {
  .p-service-service__inner {
    padding-block: 0;
    padding-inline: 0;
    background: transparent;
  }
}

.p-service-service__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-service-service__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(74px, 8vw, 94px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}

.p-service-service__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 3vw, 29px);
  width: 100%;
}
@media screen and (min-width: 1050px) {
  .p-service-service__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(32px, 4vw, 56px);
  }
}

.p-service-service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2.5vw, 23px);
  width: 100%;
  padding: clamp(14px, 2vw, 19px);
  border: 1px solid #666666;
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
}
.p-service-service-card.p-gap22-29 {
  gap: clamp(20px, 3vw, 29px);
}
@media screen and (min-width: 1280px) {
  .p-service-service-card:nth-child(3), .p-service-service-card:nth-child(4) {
    padding: clamp(18px, 2vw, 22px) clamp(8px, 1.5vw, 10px);
  }
}

@media screen and (min-width: 1280px) {
  .p-service-service-card--plan {
    min-height: clamp(200px, 20vw, 232px);
  }
}

@media screen and (min-width: 1280px) {
  .p-service-service-card--simple {
    min-height: clamp(96px, 10vw, 109px);
  }
}

.p-service-service-card__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 2vw, 16px);
  width: 100%;
}

.p-service-service-card__name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 1280px) {
  .p-service-service-card__name {
    flex-direction: row;
    justify-content: center;
  }
}

.p-service-service-card__en {
  display: inline-flex;
  align-items: center;
  min-height: clamp(40px, 5vw, 53px);
  padding-inline: clamp(12px, 2vw, 16px);
  border-radius: 4px;
  font-family: "Roboto", sans-serif;
  font-size: clamp(24px, calc(22.5142857143px + 0.380952381vw), 28px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.p-service-service-card__en--primary {
  color: #ffffff;
  background: #1f753d;
  font-size: clamp(24px, calc(22.5142857143px + 0.380952381vw), 28px);
}

.p-service-service-card__en--gradient {
  color: #000000;
  background: linear-gradient(90deg, rgba(173, 212, 95, 0.6) 0%, rgba(209, 231, 165, 0.6) 100%);
}

.p-service-service-card__ja {
  display: inline-flex;
  justify-content: center;
  border-block: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  line-height: 1.5;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  white-space: nowrap;
}

.p-service-service-card__price {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  justify-content: center;
  column-gap: 6px;
  color: #000000;
  line-height: 1;
}
@media screen and (min-width: 1280px) {
  .p-service-service-card__price {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    column-gap: 3px;
  }
}

.p-service-service-card__amount,
.p-service-service-card__unit {
  font-family: "Roboto", sans-serif;
  font-size: clamp(32px, calc(29.7714285714px + 0.5714285714vw), 38px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.p-service-service-card__amount span {
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
}

.p-service-service-card__tax,
.p-service-service-card__slash,
.p-service-service-card__unit span {
  display: inline-flex;
  align-items: baseline;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-service-service-card__tax span {
  letter-spacing: -1.62px;
}

.p-service-service-card__unit-group {
  display: inline-flex;
  grid-column: 1/-1;
  align-items: baseline;
  justify-self: center;
  gap: 8px;
}
@media screen and (min-width: 1280px) {
  .p-service-service-card__unit-group {
    grid-column: auto;
    justify-self: auto;
  }
}

.p-service-service-card__body {
  width: 100%;
  padding: clamp(12px, 2vw, 16px) clamp(8px, 1.5vw, 10px);
  background: #f5f5f0;
  text-align: center;
}

.p-service-service-card__lead {
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
.p-service-service-card--plan .p-service-service-card__lead {
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-service-service-card__notes {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-block-start: clamp(12px, 2vw, 16px);
  text-align: left;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-service-service-card__notes {
    padding-inline: clamp(16px, 3vw, 38px);
  }
}
.p-service-service-card__notes li {
  display: flex;
  gap: 4px;
}
.p-service-service-card__notes li::before {
  content: "※";
  flex: 0 0 auto;
}

.p-service-service-card__title {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(19.2571428571px + 0.1904761905vw), 22px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3851428571px + 0.0038095238vw), 0.44px);
  text-align: center;
}

.p-service-flow {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
  background: linear-gradient(90deg, rgba(173, 212, 95, 0.6) 0%, rgba(209, 231, 165, 0.6) 100%);
}

.p-service-flow__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  padding-block: clamp(24px, 4vw, 32px);
  padding-inline: clamp(10px, 2vw, 16px);
  border-radius: 8px;
  background: #ffffff;
}
@media screen and (min-width: 1280px) {
  .p-service-flow__inner {
    padding-inline: clamp(32px, 5vw, 68px);
  }
}

.p-service-flow__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-service-flow__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(74px, 8vw, 94px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}

.p-service-flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 23.5px);
  width: 100%;
  max-width: min(100%, 1044px);
}
.p-service-flow__list::before {
  content: "";
  position: absolute;
  inset-block-start: 36px;
  inset-block-end: clamp(100px, 15vw, 125px);
  inset-inline-start: 36px;
  width: 1px;
  background: #e5e5e5;
}
@media screen and (min-width: 1280px) {
  .p-service-flow__list::before {
    inset-block-end: clamp(90px, 10vw, 110px);
  }
}

.p-service-flow-step {
  position: relative;
  display: grid;
  grid-template-columns: clamp(60px, 10vw, 73px) minmax(0, 1fr);
  column-gap: clamp(12px, 2vw, 14px);
  align-items: start;
}
@media screen and (min-width: 1280px) {
  .p-service-flow-step {
    grid-template-columns: clamp(60px, 10vw, 73px) clamp(64px, 8vw, 80px) minmax(0, 1fr);
    column-gap: clamp(24px, 4vw, 48px);
  }
}

.p-service-flow-step__number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: clamp(60px, 10vw, 73px);
  min-height: clamp(60px, 10vw, 73px);
  padding: 10px;
  border-radius: 999px;
  background: #f7faee;
  color: #666666;
  font-family: "Roboto", sans-serif;
  font-size: clamp(32px, calc(29.7714285714px + 0.5714285714vw), 38px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
}

.p-service-flow-step__icon {
  display: grid;
  place-items: center;
  width: clamp(64px, 10vw, 80px);
  height: clamp(64px, 10vw, 80px);
}
.p-service-flow-step__icon img {
  display: block;
  max-width: clamp(52px, 8vw, 66px);
  max-height: clamp(52px, 8vw, 66px);
  object-fit: contain;
}
@media (max-width: 1279px) {
  .p-service-flow-step__icon {
    grid-column: 2;
    grid-row: 1;
  }
}

.p-service-flow-step__content {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
  min-width: 0;
}
@media (max-width: 1279px) {
  .p-service-flow-step__content {
    grid-column: 2;
    grid-row: 2;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow-step__content {
    padding-block-start: 5px;
  }
}

.p-service-flow-step__title {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-service-flow-step__text {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 1vw, 8px);
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  max-width: min(100%, 668px);
}

.p-service-faq {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
  background: #ffffff;
}

.p-service-faq__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
  width: 100%;
  max-width: min(100%, 597px);
  margin-inline: auto;
}

.p-service-faq__heading {
  position: relative;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}
.p-service-faq__heading::after {
  content: "";
  position: absolute;
  inset-inline: 50% auto;
  inset-block-end: 0;
  width: clamp(74px, 8vw, 94px);
  height: 1px;
  background: #add45f;
  translate: -50% 0;
}

.p-service-faq__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 25px);
  width: 100%;
}

.p-service-faq-item {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 9px);
  width: 100%;
  padding-block: clamp(12px, 2vw, 15px);
  border-block-end: 1px solid #e5e5e5;
}

.p-service-faq-item__row {
  display: flex;
  align-items: flex-start;
  gap: clamp(12px, 2vw, 24px);
}
.p-service-faq-item__row:nth-of-type(odd) {
  align-items: center;
}
@media screen and (min-width: 1280px) {
  .p-service-faq-item__row:nth-child(2) {
    align-items: center;
  }
}

.p-service-faq-item__label {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: clamp(40px, 6vw, 45px);
  height: clamp(40px, 6vw, 45px);
  font-family: "Roboto", sans-serif;
  font-size: clamp(24px, calc(22.5142857143px + 0.380952381vw), 28px);
  font-weight: 500;
  line-height: 1;
}

.p-service-faq-item__label--question {
  color: #ffffff;
  background: #1f753d;
}

.p-service-faq-item__label--answer {
  color: #000000;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}

.p-service-faq-item__text {
  min-width: 0;
  color: #333333;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0, calc(calc(0.384 / 1px)px + calc(-0.0266666667 / 1px)vw), 0.28px);
}

.p-about-message {
  position: relative;
  overflow: hidden;
  padding-block: 60px;
  padding-inline: 10px;
  background-color: #f7faee;
  background-image: linear-gradient(rgba(173, 212, 95, 0.2), rgba(173, 212, 95, 0.2)), url(../img/about/about-2.webp);
  background-repeat: no-repeat;
  background-position: top -3px right -13px;
  background-size: 649px 439px;
}
@media screen and (min-width: 1280px) {
  .p-about-message {
    background-position: top left -22px;
    background-size: clamp(649px, calc(338.8571428571px + 79.5238095238vw), 1484px) clamp(439px, calc(229.8857142857px + 53.619047619vw), 1002px);
  }
}

.p-about-message__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: min(100%, 822px);
  margin-inline: auto;
  box-sizing: border-box;
}

.p-about-message-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, calc(18.2285714286px + -0.5714285714vw), 16px);
  padding: clamp(30px, calc(18.8571428571px + 2.8571428571vw), 60px) clamp(4px, calc(-6.4px + 2.6666666667vw), 32px);
  border-radius: 4px;
  background: #ffffff;
  text-align: center;
}
.p-about-message-card p {
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-about-vision {
  padding-inline: 10px;
}
.p-about-vision__inner {
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  box-sizing: border-box;
}
.p-about-vision {
  background: linear-gradient(90deg, rgba(173, 212, 95, 0.6) 0%, rgba(209, 231, 165, 0.6) 100%) bottom/100% clamp(240px, 25vw, 254px) no-repeat;
}

.p-about-vision__container {
  margin-block-start: clamp(32px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: clamp(23px, 2.5vw, 20px);
  column-gap: clamp(20px, 3vw, 34px);
}
@media screen and (min-width: 800px) {
  .p-about-vision__container {
    margin-block-start: clamp(40px, 4vw, 50px);
    flex-direction: row;
    justify-content: center;
  }
}

.p-about-vision-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  row-gap: clamp(16px, 2.5vw, 32px);
  padding: clamp(16px, 2.5vw, 32px);
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-about-vision-card {
    flex: 1 1 min(100%, 360px);
    justify-content: flex-start;
  }
}

.p-about-vision-card__title {
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
}

.p-about-vision-card__main {
  display: flex;
  flex-direction: column;
  row-gap: clamp(12px, 2vw, 16px);
}

.p-about-value {
  margin-block-start: 3px;
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: 10px;
}
@media screen and (min-width: 1280px) {
  .p-about-value {
    margin-block-start: 0;
  }
}

.p-about-value__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(26.0571428571px + 1.5238095238vw), 48px);
  width: 100%;
  max-width: min(100%, 1270px);
  margin-inline: auto;
  box-sizing: border-box;
}

.p-about-value__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, calc(19.9142857143px + 1.0476190476vw), 35px);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-about-value__list {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
  }
}

.p-about-value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  width: clamp(370px, calc(358.8571428571px + 2.8571428571vw), 400px);
  aspect-ratio: 1/1;
  padding: 32px 16px;
  border-radius: 50%;
  background: #f5f5f0;
  text-align: center;
}

.p-about-value-card__num {
  margin: 0;
  color: #666666;
  font-family: "Roboto", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -1.52px;
}

.p-about-value-card__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}
.p-about-value-card__title p {
  margin: 0;
}

.p-about-value-card--01 .p-about-value-card__title,
.p-about-value-card--03 .p-about-value-card__title {
  min-height: 58px;
}

.p-about-value-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 288px;
}

.p-about-value-card__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.32px;
}
.p-about-value-card__lead p {
  margin: 0;
}

.p-about-value-card--01 .p-about-value-card__lead {
  min-height: clamp(52px, calc(42.3428571429px + 2.4761904762vw), 78px);
}

.p-about-value-card--02 .p-about-value-card__lead {
  min-height: clamp(72px, calc(69.7714285714px + 0.5714285714vw), 78px);
}

.p-about-value-card__detail {
  width: 100%;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.28px;
}
.p-about-value-card__detail p {
  margin: 0;
}

.p-about-strengths {
  background: #f7faee;
  padding-block: clamp(65px, calc(52px + 3.3333333333vw), 100px);
  padding-inline: 10px;
}

.p-about-strengths__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(26.0571428571px + 1.5238095238vw), 48px);
  width: 100%;
  max-width: min(100%, 1180px);
  margin-inline: auto;
  box-sizing: border-box;
}

.p-about-strengths__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-about-strengths-card {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, calc(16.3714285714px + -0.0952380952vw), 16px);
  align-items: center;
  width: 100%;
  max-width: clamp(370px, calc(69.1428571429px + 77.1428571429vw), 1180px);
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card {
    flex-direction: row;
    align-items: center;
    gap: clamp(16px, calc(13.0285714286px + 0.7619047619vw), 24px);
    max-width: 100%;
  }
}

.p-about-strengths-card__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  padding: 16px 10px 0;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__body {
    flex: 0 1 clamp(350px, calc(261.9714285714px + 22.5714285714vw), 587px);
    align-self: stretch;
    justify-content: center;
    max-width: 587px;
    padding: 0 0 0 16px;
  }
}

.p-about-strengths-card__heading {
  margin: 0;
  padding: 0 16px;
  border-radius: 4px;
  background: #f7faee;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.36px;
  width: fit-content;
}

.p-about-strengths-card__text {
  display: flex;
  flex-direction: column;
  gap: 9px;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
.p-about-strengths-card__text p {
  margin: 0;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__text {
    gap: 10px;
  }
}

.p-about-strengths-card__media {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 370/218;
  overflow: hidden;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__media {
    flex: 0 1 clamp(350px, calc(269.0285714286px + 20.7619047619vw), 568px);
    max-width: 568px;
    aspect-ratio: 568/218;
  }
}

.p-about-strengths-card__img {
  display: block;
  object-fit: cover;
}
.p-about-strengths-card__img--01 {
  width: clamp(404px, calc(323.7714285714px + 20.5714285714vw), 620px);
  height: clamp(269px, calc(215.5142857143px + 13.7142857143vw), 413px);
  max-width: none;
  object-position: -10px -24px;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__img--01 {
    object-position: -21px -84px;
  }
}
.p-about-strengths-card__img--02 {
  width: clamp(374px, calc(298.6px + 19.3333333333vw), 577px);
  height: clamp(250px, calc(199.8571428571px + 12.8571428571vw), 385px);
  max-width: none;
  object-position: 1.5px -16px;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__img--02 {
    object-position: 0.5px -16px;
  }
}
.p-about-strengths-card__img--03 {
  width: clamp(484px, calc(448.3428571429px + 9.1428571429vw), 580px);
  height: clamp(233px, calc(215.9142857143px + 4.380952381vw), 279px);
  max-width: none;
  object-position: -101.5px -7px;
}
@media screen and (min-width: 1280px) {
  .p-about-strengths-card__img--03 {
    object-position: 0 -33px;
  }
}

.p-about-greeting {
  padding-block: clamp(50px, calc(31.4285714286px + 4.7619047619vw), 100px);
  padding-inline: 10px;
}

.p-about-greeting__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, calc(26.0571428571px + 1.5238095238vw), 48px);
  width: 100%;
  max-width: clamp(370px, calc(106.2857142857px + 67.619047619vw), 1080px);
  margin-inline: auto;
  padding-block: 0;
  background: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-about-greeting__panel {
    padding-block: 32px;
  }
}

.p-about-greeting__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 97px;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-about-greeting__body {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
  }
}

.p-about-greeting__content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  max-width: clamp(370px, calc(261.9142857143px + 27.7142857143vw), 661px);
}
@media screen and (min-width: 1280px) {
  .p-about-greeting__content {
    flex: 0 1 661px;
  }
}

.p-about-greeting__text {
  display: flex;
  flex-direction: column;
  gap: clamp(23px, calc(22.0714285714px + 0.2380952381vw), 25.5px);
  width: 100%;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2725714286px + 0.0019047619vw), 0.3px);
}
.p-about-greeting__text p {
  margin: 0;
}

.p-about-greeting__text-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.p-about-greeting__author {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
  width: 100%;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-about-greeting__author-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.p-about-greeting__media {
  flex-shrink: 0;
  width: 319px;
  height: 375px;
  overflow: hidden;
  background: #bfbfbf;
}

.p-about-greeting__img {
  display: block;
  width: 389px;
  height: 583px;
  max-width: none;
  object-fit: cover;
  transform: translate(-36px, -67px) rotate(-2.98deg);
}

.p-news-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: 350px;
  --fv-mt: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-news-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-news-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-news-fv__heading {
  position: relative;
  z-index: 3;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-news-fv__heading {
    line-height: 1;
  }
}

.p-news-fv__media {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-news-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-news-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 40% center;
}
@media screen and (min-width: 1280px) {
  .p-news-fv__img {
    object-position: 50% 40%;
  }
}

.p-news-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
}
@media screen and (min-width: 1280px) {
  .p-news-contents {
    margin-block-start: 40px;
  }
}

.p-news-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  box-sizing: border-box;
}

.p-news-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(48px, calc(43.5428571429px + 1.1428571429vw), 60px);
  width: 100%;
}
@media screen and (min-width: 1050px) {
  .p-news-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.p-news-contents__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(48px, calc(43.5428571429px + 1.1428571429vw), 60px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 900px);
}
@media screen and (min-width: 1280px) {
  .p-news-contents__main {
    flex: 1 1 auto;
  }
}

.p-news-contents__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 20px 0 0;
  list-style: none;
}

.p-news-contents-card {
  border-block-end: 1px solid #e5e5e5;
}
.p-news-contents-card:not(:first-child) {
  padding-block-start: clamp(23.5px, 2vw, 22px);
}

.p-news-contents-card__link {
  display: flex;
  gap: clamp(16px, 2vw, 20px);
  align-items: center;
  padding-block-end: clamp(16px, 2vw, 30px);
  color: inherit;
  text-decoration: none;
  min-height: clamp(72px, 10vw, 80px);
}

.p-news-contents-card__thumb {
  flex: 0 0 auto;
  width: clamp(84px, 12vw, 133px);
  height: clamp(52px, 8vw, 69px);
  margin: 0;
  overflow: hidden;
  background: #f6faeb;
}

.p-news-contents-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-news-contents-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(10px, 1.5vw, 12px);
  min-width: 0;
}

.p-news-contents-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-news-contents-card__cat {
  padding: 3px 7px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-news-contents-card__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-news-contents-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media screen and (min-width: 1280px) {
  .p-news-contents-card__br {
    display: none;
  }
}

.p-news-contents-card__arrow {
  flex-shrink: 0;
  align-self: center;
  width: 26px;
  height: 29px;
  background: url("data:image/svg+xml,%3Csvg width='26' height='29' viewBox='0 0 26 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 5.38501L13.0763 10.7696L8.46094 16.1542' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.p-news-contents__pagination {
  width: 100%;
}

.p-news-contents__pagination-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-news-contents__page {
  display: flex;
}

.p-news-contents__page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 44px;
  padding: 4px 16px;
  border: 0.25px solid #666666;
  border-radius: 0;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.28px;
  text-decoration: none;
  box-sizing: border-box;
}
.p-news-contents__page-link[aria-current=page], .p-news-contents__page-link.is-current {
  border-color: transparent;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}

.p-news-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(23px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-news-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-news-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-news-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-news-contents-widget--category .p-news-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px);
  padding-inline: clamp(0px, calc(23.3142857143px + -1.619047619vw), 17px);
}
@media screen and (min-width: 1280px) {
  .p-news-contents-widget--category .p-news-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-news-contents-widget__item {
  margin: 0;
}

.p-news-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-news-contents-widget__link.is-current, .p-news-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-news-contents-widget--recent {
  padding-block-start: clamp(0px, calc(-14.1142857143px + 3.619047619vw), 38px);
}

.p-news-contents-widget--recent .p-news-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-news-contents-recent__item {
  border-block-end: 1px solid #e5e5e5;
}
.p-news-contents-recent__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-news-contents-recent__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-news-contents-recent__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-news-contents-recent__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-news-contents-recent__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-news-contents-recent__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-news-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-news-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-news-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(48px, 6vw, 64px);
  align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(60px, 9vw, 125px);
  }
}

.p-single-news-contents__article {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 863px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__article {
    flex: 1 1 auto;
    gap: clamp(48px, 5vw, 64px);
  }
}

.p-single-news-contents__header {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.5vw, 21px);
  width: 100%;
}

.p-single-news-contents__title {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__title {
    line-height: 1;
  }
}

.p-single-news-contents__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: center;
}

.p-single-news-contents__cat {
  padding: 2px 7px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-news-contents__date {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-news-contents__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.p-single-news-contents__eyecatch {
  width: 100%;
  margin: 0;
  aspect-ratio: 370/194;
  overflow: hidden;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__eyecatch {
    aspect-ratio: 863/452;
  }
}

.p-single-news-contents__eyecatch-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-news-contents__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-block-start: clamp(24px, 3vw, 32px);
  padding-block-end: clamp(48px, 8vw, 80px);
  overflow-wrap: break-word;
  word-break: break-word;
}

.p-single-news-contents__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  padding-block: clamp(32px, 5vw, 40px) clamp(24px, 4vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__intro {
    padding-block: clamp(60px, 6vw, 80px) clamp(40px, 4vw, 50px);
  }
}

.p-single-news-contents__catch {
  margin: 0;
  padding: 16px 10px;
  background: #f7faee;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}

.p-single-news-contents__text, .p-single-news-contents__content.entry-content p {
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-news-contents__section {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}
.p-single-news-contents__section + .p-single-news-contents__section {
  margin-block-start: clamp(24px, 3vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__section + .p-single-news-contents__section {
    margin-block-start: clamp(40px, 4vw, 50px);
  }
}

.p-single-news-contents__heading-l2, .p-single-news-contents__content.entry-content h2,
.p-single-news-contents__content.entry-content h2.wp-block-heading, .p-single-news-contents__content.entry-content h1 {
  margin: 0;
  padding: 0 10px;
  border-inline-start: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__heading-l2, .p-single-news-contents__content.entry-content h2,
  .p-single-news-contents__content.entry-content h2.wp-block-heading, .p-single-news-contents__content.entry-content h1 {
    width: auto;
  }
}

.p-single-news-contents__subsections {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}

.p-single-news-contents__subsection {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
}

.p-single-news-contents__heading-l3, .p-single-news-contents__content.entry-content h4,
.p-single-news-contents__content.entry-content h5,
.p-single-news-contents__content.entry-content h6,
.p-single-news-contents__content.entry-content h4.wp-block-heading,
.p-single-news-contents__content.entry-content h5.wp-block-heading,
.p-single-news-contents__content.entry-content h6.wp-block-heading, .p-single-news-contents__content.entry-content h3,
.p-single-news-contents__content.entry-content h3.wp-block-heading {
  margin: 0;
  padding-block-end: 0;
  border-block-end: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}

.p-single-news-contents__footer {
  margin: 0;
  padding: 0;
}

.p-single-news-contents__back {
  width: min(100%, 263px);
  padding-block: clamp(8px, 1.5vw, 16px);
  padding-inline: clamp(16px, 3vw, 32px);
  column-gap: 10px;
  justify-content: center;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
}

.p-single-news-contents__back-icon {
  flex-shrink: 0;
  transform: scaleX(-1);
}

.p-single-news-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-single-news-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents-widget__heading {
    width: 100%;
  }
}

.p-single-news-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-single-news-contents-widget--category .p-single-news-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr));
  gap: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents-widget--category .p-single-news-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-single-news-contents-widget__item {
  margin: 0;
}

.p-single-news-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(38px, 5vw, 44px);
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-single-news-contents-widget__link.is-current, .p-single-news-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-single-news-contents-widget--category {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 24px);
}
.p-single-news-contents-widget--category .p-single-news-contents-widget__list {
  margin-block-start: 0;
}

.p-single-news-contents-widget--recent {
  padding-block-start: clamp(24px, 4vw, 45px);
}

.p-single-news-contents-widget--recent .p-single-news-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-single-news-contents-recent__item {
  padding-block-end: clamp(16px, 2vw, 23px);
  border-block-end: 1px solid #e5e5e5;
}
.p-single-news-contents-recent__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-single-news-contents-recent__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-single-news-contents-recent__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-single-news-contents-recent__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-news-contents-recent__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-single-news-contents-recent__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-news-contents__content.entry-content :is(h1, h2, h3, h4, h5, h6) {
  max-width: 100%;
  overflow-wrap: break-word;
}
.p-single-news-contents__content.entry-content h1 {
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  margin-block: clamp(24px, 3vw, 30px) clamp(20px, 2.5vw, 24px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__content.entry-content h1 {
    margin-block-start: clamp(40px, 4vw, 50px);
  }
}
.p-single-news-contents__content.entry-content h2,
.p-single-news-contents__content.entry-content h2.wp-block-heading {
  margin-block: clamp(24px, 3vw, 30px) clamp(20px, 2.5vw, 24px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-contents__content.entry-content h2,
  .p-single-news-contents__content.entry-content h2.wp-block-heading {
    margin-block-start: clamp(40px, 4vw, 50px);
  }
}
.p-single-news-contents__content.entry-content h3,
.p-single-news-contents__content.entry-content h3.wp-block-heading {
  margin-block: clamp(20px, 2.5vw, 24px) clamp(12px, 2vw, 16px);
}
.p-single-news-contents__content.entry-content h4,
.p-single-news-contents__content.entry-content h5,
.p-single-news-contents__content.entry-content h6,
.p-single-news-contents__content.entry-content h4.wp-block-heading,
.p-single-news-contents__content.entry-content h5.wp-block-heading,
.p-single-news-contents__content.entry-content h6.wp-block-heading {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  margin-block: clamp(16px, 2vw, 20px) clamp(12px, 2vw, 16px);
}
.p-single-news-contents__content.entry-content p {
  max-width: 100%;
  margin-block: 0 16px;
}
.p-single-news-contents__content.entry-content p:last-child {
  margin-block-end: 0;
}
.p-single-news-contents__content.entry-content :is(ul, ol, blockquote, figure, .wp-block-image) {
  max-width: 100%;
}

.p-single-news-related {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-news-related__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 48px);
  align-items: stretch;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-news-related__heading {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}
@media screen and (min-width: 1280px) {
  .p-single-news-related__heading {
    width: 100%;
  }
}

.p-single-news-related__slider {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-inline-end: calc(50% - 50vw);
  padding-inline-end: calc(50vw - 50%);
}
.p-single-news-related__slider::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 1280px) {
  .p-single-news-related__slider {
    overflow-x: visible;
    margin-inline-end: 0;
    padding-inline-end: 0;
  }
}

.p-single-news-related__list {
  display: flex;
  gap: 16px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-single-news-related__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: clamp(12px, calc(10.5142857143px + 0.380952381vw), 16px);
    align-items: stretch;
    width: 100%;
  }
}

.p-single-news-related-card {
  flex: 0 0 288px;
  width: 288px;
  min-width: 0;
  height: 100%;
}
.p-single-news-related-card article {
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-news-related-card {
    flex: unset;
    width: auto;
    min-width: 0;
  }
}

.p-single-news-related-card__link {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 22px);
  min-height: clamp(300px, 40vw, 333px);
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-single-news-related-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 258/194;
  overflow: hidden;
  background: #f6faeb;
}

.p-single-news-related-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-news-related-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}

.p-single-news-related-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-single-news-related-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-news-related-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-news-related-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-works-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-works-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-works-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-works-fv__heading {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-works-fv__heading {
    line-height: 1;
  }
}

.p-works-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-works-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-works-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 60% center;
  object-position: clamp(42%, 60% + -18% * (100vw - 390px) / 1050px, 60%) clamp(48%, 50% + -2% * (100vw - 390px) / 1050px, 50%);
}

.p-works-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-works-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-works-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(32px, 4vw, 64px);
  align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-works-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(40px, 6vw, 110px);
  }
}

.p-works-contents__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 4vw, 48px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 900px);
}
@media screen and (min-width: 1280px) {
  .p-works-contents__main {
    flex: 1 1 auto;
  }
}

.p-works-contents__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-works-contents__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 288px));
    justify-content: center;
    gap: 18px;
    align-items: stretch;
  }
}

.p-works-contents-card {
  width: 100%;
  max-width: 288px;
  height: 100%;
}
.p-works-contents-card article {
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .p-works-contents-card {
    max-width: none;
  }
}

.p-works-contents-card__link {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, calc(16.5142857143px + 0.380952381vw), 22px);
  min-height: clamp(300px, calc(287.7428571429px + 3.1428571429vw), 333px);
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-works-contents-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 258/194;
  overflow: hidden;
  background: #f6faeb;
}

.p-works-contents-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-works-contents-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}

.p-works-contents-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-works-contents-card__cat {
  padding: 2px 7px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-works-contents-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-works-contents-card__title-row {
  display: block;
}

.p-works-contents-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-works-contents-card__arrow {
  display: none;
}

.p-works-contents__pagination {
  width: 100%;
}

.p-works-contents__pagination-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-works-contents__page {
  display: flex;
}

.p-works-contents__page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 44px;
  padding: 4px 16px;
  border: 0.25px solid #666666;
  border-radius: 0;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.28px;
  text-decoration: none;
  box-sizing: border-box;
}
.p-works-contents__page-link[aria-current=page], .p-works-contents__page-link.is-current {
  border-color: transparent;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}

.p-works-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-works-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-works-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-works-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-works-contents-widget--category .p-works-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 1280px) {
  .p-works-contents-widget--category .p-works-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-works-contents-widget__item {
  margin: 0;
}

.p-works-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-works-contents-widget__link.is-current, .p-works-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-works-contents-widget--popular {
  padding-block-start: clamp(24px, 4vw, 45px);
}

.p-works-contents-widget--popular .p-works-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-works-contents-popular__item {
  padding-block-end: clamp(16px, 2vw, 23px);
  border-block-end: 1px solid #e5e5e5;
}
.p-works-contents-popular__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-works-contents-popular__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-works-contents-popular__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-works-contents-popular__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-works-contents-popular__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-works-contents-popular__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-works-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-works-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-works-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(48px, 6vw, 64px);
  align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(60px, 9vw, 124px);
  }
}

.p-single-works-contents__article {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 863px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__article {
    flex: 1 1 auto;
    gap: clamp(48px, 5vw, 64px);
  }
}

.p-single-works-contents__header {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.5vw, 12px);
  width: 100%;
}

.p-single-works-contents__title {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__title {
    line-height: 1;
  }
}

.p-single-works-contents__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: center;
}

.p-single-works-contents__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-works-contents__date {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-works-contents__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.p-single-works-contents__eyecatch {
  width: 100%;
  margin: 0;
  aspect-ratio: 370/194;
  overflow: hidden;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__eyecatch {
    aspect-ratio: 863/452;
  }
}

.p-single-works-contents__eyecatch-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-works-contents__content-shell {
  padding-block-start: clamp(24px, 3vw, 32px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__content-shell {
    padding-block-start: clamp(60px, 6vw, 80px);
  }
}

.p-single-works-contents__content-box {
  padding: clamp(24px, 3vw, 32px) 10px;
  border-radius: clamp(20px, 3vw, 30px);
  background: #f5f5f0;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__content-box {
    padding: clamp(40px, 5vw, 60px) clamp(20px, 3vw, 32.5px);
  }
}

.p-single-works-contents__content-inner {
  padding: 0 10px;
  border-radius: 20px;
  background: #ffffff;
  width: 100%;
  max-width: min(100%, 798px);
  min-width: 0;
  margin-inline: auto;
  overflow-wrap: break-word;
  word-break: break-word;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__content-inner {
    padding: clamp(16px, 2vw, 24px);
  }
}

.p-single-works-contents__content {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.p-single-works-contents__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  padding-block: clamp(20px, 3vw, 24px) 0;
}

.p-single-works-contents__catch {
  margin: 0;
  padding: 16px 10px;
  background: #f7faee;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}

.p-single-works-contents__text, .p-single-works-contents__content-inner.entry-content p {
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-works-contents__blocks {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 30px);
  padding-block-start: clamp(24px, 3vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__blocks {
    gap: clamp(40px, 4vw, 50px);
  }
}

.p-single-works-contents__section {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__section > .p-single-works-contents__text + .p-single-works-contents__subsections, .p-single-works-contents__content-inner.entry-content .p-single-works-contents__section > p + .p-single-works-contents__subsections {
    margin-block-start: 8px;
  }
}

.p-single-works-contents__heading-l2, .p-single-works-contents__content-inner.entry-content h2,
.p-single-works-contents__content-inner.entry-content h2.wp-block-heading, .p-single-works-contents__content-inner.entry-content h1 {
  margin: 0;
  padding: 0 10px;
  border-inline-start: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__heading-l2, .p-single-works-contents__content-inner.entry-content h2,
  .p-single-works-contents__content-inner.entry-content h2.wp-block-heading, .p-single-works-contents__content-inner.entry-content h1 {
    width: auto;
  }
}

.p-single-works-contents__subsections {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__subsections {
    gap: clamp(28px, 3vw, 32px);
  }
}

.p-single-works-contents__subsection {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
}

.p-single-works-contents__heading-l3, .p-single-works-contents__content-inner.entry-content h4,
.p-single-works-contents__content-inner.entry-content h5,
.p-single-works-contents__content-inner.entry-content h6,
.p-single-works-contents__content-inner.entry-content h4.wp-block-heading,
.p-single-works-contents__content-inner.entry-content h5.wp-block-heading,
.p-single-works-contents__content-inner.entry-content h6.wp-block-heading, .p-single-works-contents__content-inner.entry-content h3,
.p-single-works-contents__content-inner.entry-content h3.wp-block-heading {
  margin: 0;
  padding-block-end: 0;
  border-block-end: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}

.p-single-works-contents__footer {
  margin: 0;
  padding-block-start: clamp(24px, 3vw, 32px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__footer {
    padding-block-start: clamp(48px, 5vw, 62px);
  }
}

.p-single-works-contents__back {
  width: min(100%, 263px);
  max-width: 200px;
  padding-block: clamp(8px, 1.5vw, 16px);
  padding-inline: clamp(16px, 3vw, 32px);
  column-gap: 10px;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
}

.p-single-works-contents__back-icon {
  display: block;
  flex-shrink: 0;
  align-self: center;
  transform: scaleX(-1);
}

.p-single-works-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-single-works-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents-widget__heading {
    width: 100%;
  }
}

.p-single-works-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-single-works-contents-widget--category .p-single-works-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-contents-widget--category .p-single-works-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-single-works-contents-widget__item {
  margin: 0;
}

.p-single-works-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(38px, 5vw, 44px);
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-single-works-contents-widget__link.is-current, .p-single-works-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-single-works-contents-widget--category {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 24px);
}
.p-single-works-contents-widget--category .p-single-works-contents-widget__list {
  margin-block-start: 0;
}

.p-single-works-contents-widget--popular {
  padding-block-start: clamp(24px, 4vw, 45px);
}

.p-single-works-contents-widget--popular .p-single-works-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-single-works-contents-popular__item {
  padding-block-end: clamp(16px, 2vw, 23px);
  border-block-end: 1px solid #e5e5e5;
}
.p-single-works-contents-popular__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-single-works-contents-popular__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-single-works-contents-popular__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-single-works-contents-popular__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-works-contents-popular__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-single-works-contents-popular__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-works-contents__content-inner.entry-content :is(h1, h2, h3, h4, h5, h6) {
  max-width: 100%;
  overflow-wrap: break-word;
}
.p-single-works-contents__content-inner.entry-content h1 {
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  margin-block: 0 clamp(20px, 2.5vw, 24px);
}
.p-single-works-contents__content-inner.entry-content h2,
.p-single-works-contents__content-inner.entry-content h2.wp-block-heading {
  margin-block: 0 clamp(20px, 2.5vw, 24px);
}
.p-single-works-contents__content-inner.entry-content h3,
.p-single-works-contents__content-inner.entry-content h3.wp-block-heading {
  margin-block: 0 clamp(12px, 2vw, 16px);
}
.p-single-works-contents__content-inner.entry-content h4,
.p-single-works-contents__content-inner.entry-content h5,
.p-single-works-contents__content-inner.entry-content h6,
.p-single-works-contents__content-inner.entry-content h4.wp-block-heading,
.p-single-works-contents__content-inner.entry-content h5.wp-block-heading,
.p-single-works-contents__content-inner.entry-content h6.wp-block-heading {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  margin-block: 0 clamp(12px, 2vw, 16px);
}
.p-single-works-contents__content-inner.entry-content p {
  max-width: 100%;
  margin-block: 0;
}
.p-single-works-contents__content-inner.entry-content :is(ul, ol, blockquote, figure, .wp-block-image) {
  max-width: 100%;
}

.p-single-works-related {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-works-related__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 48px);
  align-items: stretch;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-works-related__heading {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}
@media screen and (min-width: 1280px) {
  .p-single-works-related__heading {
    width: 100%;
  }
}

.p-single-works-related__slider {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-inline-end: calc(50% - 50vw);
  padding-inline-end: calc(50vw - 50%);
}
.p-single-works-related__slider::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 1280px) {
  .p-single-works-related__slider {
    overflow-x: visible;
    margin-inline-end: 0;
    padding-inline-end: 0;
  }
}

.p-single-works-related__list {
  display: flex;
  gap: 16px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-single-works-related__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: clamp(12px, calc(10.5142857143px + 0.380952381vw), 16px);
    align-items: stretch;
    width: 100%;
  }
}

.p-single-works-related-card {
  flex: 0 0 288px;
  width: 288px;
  min-width: 0;
  height: 100%;
}
.p-single-works-related-card article {
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-works-related-card {
    flex: unset;
    width: auto;
    min-width: 0;
  }
}

.p-single-works-related-card__link {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 22px);
  min-height: clamp(300px, 40vw, 333px);
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-single-works-related-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 258/194;
  overflow: hidden;
  background: #f6faeb;
}

.p-single-works-related-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-works-related-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}

.p-single-works-related-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-single-works-related-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-works-related-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-works-related-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-column-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(57px, calc(46.9714285714px + 2.5714285714vw), 84px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-column-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-column-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-column-fv__heading {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-column-fv__heading {
    line-height: 1;
  }
}

.p-column-fv__media {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-column-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.2);
  pointer-events: none;
}

.p-column-fv__img {
  display: block;
  width: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 50% center;
}
@media screen and (min-width: 1280px) {
  .p-column-fv__img {
    object-position: 50% 40%;
  }
}

.p-column-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-column-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-column-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(32px, 4vw, 64px);
  align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-column-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(40px, 6vw, 110px);
  }
}

.p-column-contents__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 4vw, 48px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 900px);
}
@media screen and (min-width: 1280px) {
  .p-column-contents__main {
    flex: 1 1 auto;
  }
}

.p-column-contents__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: clamp(14px, 2vw, 18px);
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-column-contents-card {
  width: 100%;
  height: 100%;
}
.p-column-contents-card article {
  height: 100%;
}

.p-column-contents-card__link {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 22px);
  min-height: clamp(300px, 40vw, 333px);
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-column-contents-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 258/194;
  overflow: hidden;
  background: #f6faeb;
}

.p-column-contents-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-column-contents-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}

.p-column-contents-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-column-contents-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-column-contents-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-column-contents-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-column-contents__pagination {
  width: 100%;
}

.p-column-contents__pagination-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-column-contents__page {
  display: flex;
}

.p-column-contents__page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 44px;
  padding: 4px 16px;
  border: 0.25px solid #666666;
  border-radius: 0;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.28px;
  text-decoration: none;
  box-sizing: border-box;
}
.p-column-contents__page-link[aria-current=page], .p-column-contents__page-link.is-current {
  border-color: transparent;
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
}

.p-column-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-column-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-column-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-column-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-column-contents-widget--category .p-column-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 1280px) {
  .p-column-contents-widget--category .p-column-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-column-contents-widget__item {
  margin: 0;
}

.p-column-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-column-contents-widget__link.is-current, .p-column-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-column-contents-widget--popular {
  padding-block-start: clamp(24px, 4vw, 45px);
}

.p-column-contents-widget--popular .p-column-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-column-contents-popular__item {
  padding-block-end: clamp(16px, 2vw, 23px);
  border-block-end: 1px solid #e5e5e5;
}
.p-column-contents-popular__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-column-contents-popular__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-column-contents-popular__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-column-contents-popular__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-column-contents-popular__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-column-contents-popular__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-column-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-column-contents__inner {
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-column-contents__body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(48px, 6vw, 64px);
  align-items: stretch;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__body {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(60px, 9vw, 127px);
  }
}

.p-single-column-contents__article {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  width: 100%;
  min-width: 0;
  max-width: min(100%, 863px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__article {
    flex: 1 1 auto;
    gap: clamp(48px, 5vw, 64px);
  }
}

.p-single-column-contents__header {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.5vw, 21px);
  width: 100%;
}

.p-single-column-contents__title {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__title {
    line-height: 1;
  }
}

.p-single-column-contents__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: center;
}

.p-single-column-contents__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-column-contents__date {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-column-contents__main {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.p-single-column-contents__eyecatch {
  width: 100%;
  margin: 0;
  aspect-ratio: 370/194;
  overflow: hidden;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__eyecatch {
    aspect-ratio: 863/452;
  }
}

.p-single-column-contents__eyecatch-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-column-contents__content-body {
  padding-block-end: clamp(32px, 5vw, 40px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__content-body {
    padding-block-end: clamp(60px, 6vw, 80px);
  }
}

.p-single-column-contents__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-block-start: clamp(24px, 3vw, 32px);
  overflow-wrap: break-word;
  word-break: break-word;
}

.p-single-column-contents__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 32px);
  padding-block: clamp(32px, 5vw, 40px) clamp(24px, 4vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__intro {
    padding-block: clamp(60px, 6vw, 80px) clamp(40px, 4vw, 50px);
  }
}

.p-single-column-contents__catch {
  margin: 0;
  padding: 16px 10px;
  background: #f7faee;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
}

.p-single-column-contents__text, .p-single-column-contents__content.entry-content p {
  margin: 0;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-column-contents__blocks {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 30px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__blocks {
    gap: clamp(40px, 4vw, 50px);
  }
}

.p-single-column-contents__section {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}

.p-single-column-contents__heading-l2, .p-single-column-contents__content.entry-content h2,
.p-single-column-contents__content.entry-content h2.wp-block-heading, .p-single-column-contents__content.entry-content h1 {
  margin: 0;
  padding: 0 10px;
  border-inline-start: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__heading-l2, .p-single-column-contents__content.entry-content h2,
  .p-single-column-contents__content.entry-content h2.wp-block-heading, .p-single-column-contents__content.entry-content h1 {
    width: auto;
  }
}

.p-single-column-contents__subsections {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 24px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__subsections {
    gap: clamp(28px, 3vw, 32px);
  }
}

.p-single-column-contents__subsection {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
}

.p-single-column-contents__heading-l3, .p-single-column-contents__content.entry-content h4,
.p-single-column-contents__content.entry-content h5,
.p-single-column-contents__content.entry-content h6,
.p-single-column-contents__content.entry-content h4.wp-block-heading,
.p-single-column-contents__content.entry-content h5.wp-block-heading,
.p-single-column-contents__content.entry-content h6.wp-block-heading, .p-single-column-contents__content.entry-content h3,
.p-single-column-contents__content.entry-content h3.wp-block-heading {
  margin: 0;
  padding-block-end: 0;
  border-block-end: 1px solid #add45f;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}

.p-single-column-contents__footer {
  margin: 0;
}

.p-single-column-contents__back {
  width: min(100%, 263px);
  max-width: 200px;
  padding-block: clamp(8px, 1.5vw, 16px);
  padding-inline: clamp(16px, 3vw, 32px);
  column-gap: 10px;
  justify-content: center;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
}

.p-single-column-contents__back-icon {
  flex-shrink: 0;
  transform: scaleX(-1);
}

.p-single-column-contents__aside {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 60px);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents__aside {
    flex: 0 0 clamp(160px, 14vw, 190px);
    max-width: clamp(160px, 14vw, 190px);
  }
}

.p-single-column-contents-widget__heading {
  margin: 0;
  padding-block: 8px;
  border-block-end: 1px solid #666666;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  width: fit-content;
  max-width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents-widget__heading {
    width: 100%;
  }
}

.p-single-column-contents-widget__list {
  margin: clamp(20px, 3vw, 24px) 0 0;
  padding: 0;
  list-style: none;
}

.p-single-column-contents-widget--category .p-single-column-contents-widget__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-contents-widget--category .p-single-column-contents-widget__list {
    display: flex;
    flex-direction: column;
  }
}

.p-single-column-contents-widget__item {
  margin: 0;
}

.p-single-column-contents-widget__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(38px, 5vw, 44px);
  padding: 8px 4px;
  border: 1px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-sizing: border-box;
}
.p-single-column-contents-widget__link.is-current, .p-single-column-contents-widget__link[aria-current=page] {
  background: #f5f5f0;
}

.p-single-column-contents-widget--category {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 24px);
}
.p-single-column-contents-widget--category .p-single-column-contents-widget__list {
  margin-block-start: 0;
}

.p-single-column-contents-widget--popular {
  padding-block-start: clamp(24px, 4vw, 45px);
}

.p-single-column-contents-widget--popular .p-single-column-contents-widget__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 23px);
}

.p-single-column-contents-popular__item {
  padding-block-end: clamp(16px, 2vw, 23px);
  border-block-end: 1px solid #e5e5e5;
}
.p-single-column-contents-popular__item:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-single-column-contents-popular__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.p-single-column-contents-popular__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.p-single-column-contents-popular__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-column-contents-popular__date {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  text-align: center;
}

.p-single-column-contents-popular__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-single-column-contents__content.entry-content :is(h1, h2, h3, h4, h5, h6) {
  max-width: 100%;
  overflow-wrap: break-word;
}
.p-single-column-contents__content.entry-content h1 {
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  margin-block: 0 clamp(20px, 2.5vw, 24px);
}
.p-single-column-contents__content.entry-content h2,
.p-single-column-contents__content.entry-content h2.wp-block-heading {
  margin-block: 0 clamp(20px, 2.5vw, 24px);
}
.p-single-column-contents__content.entry-content h3,
.p-single-column-contents__content.entry-content h3.wp-block-heading {
  margin-block: 0 clamp(12px, 2vw, 16px);
}
.p-single-column-contents__content.entry-content h4,
.p-single-column-contents__content.entry-content h5,
.p-single-column-contents__content.entry-content h6,
.p-single-column-contents__content.entry-content h4.wp-block-heading,
.p-single-column-contents__content.entry-content h5.wp-block-heading,
.p-single-column-contents__content.entry-content h6.wp-block-heading {
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  margin-block: 0 clamp(12px, 2vw, 16px);
}
.p-single-column-contents__content.entry-content p {
  max-width: 100%;
  margin-block: 0;
}
.p-single-column-contents__content.entry-content :is(ul, ol, blockquote, figure, .wp-block-image) {
  max-width: 100%;
}

.p-single-column-related {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
}

.p-single-column-related__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 48px);
  align-items: stretch;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-single-column-related__heading {
  margin: 0;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}
@media screen and (min-width: 1280px) {
  .p-single-column-related__heading {
    width: 100%;
    text-align: center;
  }
}

.p-single-column-related__slider {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-inline-end: calc(50% - 50vw);
  padding-inline-end: calc(50vw - 50%);
}
.p-single-column-related__slider::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 1280px) {
  .p-single-column-related__slider {
    overflow-x: visible;
    margin-inline-end: 0;
    padding-inline-end: 0;
  }
}

.p-single-column-related__list {
  display: flex;
  gap: 16px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-single-column-related__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: clamp(12px, calc(10.5142857143px + 0.380952381vw), 16px);
    align-items: stretch;
    width: 100%;
  }
}

.p-single-column-related-card {
  flex: 0 0 288px;
  width: 288px;
  min-width: 0;
  height: 100%;
}
.p-single-column-related-card article {
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .p-single-column-related-card {
    flex: unset;
    width: auto;
    min-width: 0;
  }
}

.p-single-column-related-card__link {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 22px);
  min-height: clamp(300px, 40vw, 333px);
  height: 100%;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 0 1.841px rgba(26, 26, 26, 0.25);
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.p-single-column-related-card__thumb {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  aspect-ratio: 258/194;
  overflow: hidden;
  background: #f6faeb;
}

.p-single-column-related-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-single-column-related-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}

.p-single-column-related-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-single-column-related-card__cat {
  padding: 2px;
  border-radius: 2px;
  background: #f5f5f0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-column-related-card__date {
  color: #1a1a1a;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
}

.p-single-column-related-card__title {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-company-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-company-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-company-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-company-fv__heading {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-company-fv__heading {
    line-height: 1;
  }
}

.p-company-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-company-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-company-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 43% center;
}
@media screen and (min-width: 1280px) {
  .p-company-fv__img {
    object-position: 55% 35%;
  }
}

.p-company-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  background: #ffffff;
}

.p-company-contents__inner {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-company-contents__list {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 32px);
  width: 100%;
  max-width: min(100%, 633px);
  margin: 0;
}

.p-company-contents__row {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.2vw, 12px);
  align-items: flex-start;
  padding-block: 2px;
  border-block-end: 1px solid #e5e5e5;
}
@media screen and (min-width: 1280px) {
  .p-company-contents__row {
    flex-direction: row;
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
  }
}

.p-company-contents__term {
  flex-shrink: 0;
  margin: 0;
  padding-block: 4px;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-company-contents__term {
    width: clamp(72px, 8vw, 90px);
    padding-inline: 10px;
  }
}

.p-company-contents__desc {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-company-contents__desc {
    flex: 1;
    min-width: 0;
  }
}

.p-company-contents__desc--inline {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 16px);
  align-items: center;
}

.p-company-map {
  width: 100%;
  background: #ffffff;
}

.p-company-map__embed {
  position: relative;
  width: 100%;
  aspect-ratio: 390/471;
  max-height: clamp(471px, calc(458.7428571429px + 3.1428571429vw), 504px);
}
@media screen and (min-width: 1280px) {
  .p-company-map__embed {
    aspect-ratio: 1440/504;
  }
}

.p-company-map__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-contact-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(60px, calc(50.3428571429px + 2.4761904762vw), 86px);
  position: relative;
  display: flex;
  align-items: center;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-contact-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-contact-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-contact-fv__heading {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-contact-fv__heading {
    line-height: 1;
  }
}

.p-contact-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-contact-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-contact-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 55% center;
}
@media screen and (min-width: 1280px) {
  .p-contact-fv__img {
    object-position: 50% 45%;
  }
}

.p-contact-form {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  background: #ffffff;
}
.p-contact-form .wpcf7-not-valid-tip {
  display: block;
  margin: 0;
  padding-block-start: 4px;
  color: #8b0000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
.p-contact-form .wpcf7-response-output {
  display: none;
  width: 100%;
  margin: 24px 0 0;
  padding: 12px 16px;
  border: 1px solid #666666;
  border-radius: 4px;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
}
.p-contact-form form.invalid .wpcf7-response-output,
.p-contact-form form.unaccepted .wpcf7-response-output,
.p-contact-form form.payment-required .wpcf7-response-output,
.p-contact-form form.failed .wpcf7-response-output,
.p-contact-form form.aborted .wpcf7-response-output,
.p-contact-form form.spam .wpcf7-response-output,
.p-contact-form form.sent .wpcf7-response-output {
  display: block;
}
.p-contact-form .wpcf7-form-control-wrap.accept-privacy .wpcf7-list-item,
.p-contact-form .wpcf7-form-control-wrap[data-name=accept-privacy] .wpcf7-list-item {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.p-contact-form .wpcf7-form-control-wrap.accept-privacy .p-contact-form__accept,
.p-contact-form .wpcf7-form-control-wrap[data-name=accept-privacy] .p-contact-form__accept,
.p-contact-form .wpcf7-form-control-wrap.accept-privacy label,
.p-contact-form .wpcf7-form-control-wrap[data-name=accept-privacy] label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.p-contact-form .hidden-fields-container {
  display: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: absolute !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}

.p-contact-form__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-contact-form__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 40px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 594px);
}

.p-contact-form__heading {
  position: relative;
  margin: 0;
  padding-block-end: 8px;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  text-align: center;
}
.p-contact-form__heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: clamp(74px, 8vw, 94px);
  height: 1px;
  background: #add45f;
  transform: translateX(-50%);
}

.p-contact-form__lead {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-align: center;
}

.p-contact-form__body {
  width: 100%;
  max-width: min(100%, 800px);
}

.p-contact-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.p-contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
  width: 100%;
}

.p-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-contact-form__field {
    flex-direction: row;
    gap: 0;
    align-items: center;
  }
}
@media screen and (min-width: 1280px) {
  .p-contact-form__field--textarea {
    align-items: flex-start;
  }
  .p-contact-form__field--textarea .p-contact-form__label {
    padding-block-start: 12px;
  }
}
.p-contact-form__field--privacy {
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
@media screen and (min-width: 1280px) {
  .p-contact-form__field--privacy {
    flex-direction: row;
    gap: 10px;
    align-items: flex-start;
  }
}

.p-contact-form__label {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
@media screen and (min-width: 1280px) {
  .p-contact-form__label {
    flex: 0 0 clamp(180px, 18vw, 228px);
  }
}
@media screen and (min-width: 1280px) {
  .p-contact-form__field--privacy .p-contact-form__label {
    flex: 0 0 clamp(160px, 16vw, 220px);
  }
}

.p-contact-form__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px clamp(4px, 1vw, 8px);
  border-radius: 2px;
  background: #8b0000;
  color: #ffffff;
  font-size: clamp(12px, calc(11.2571428571px + 0.1904761905vw), 14px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.24px, calc(0.2251428571px + 0.0038095238vw), 0.28px);
}

.p-contact-form__field > .wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1280px) {
  .p-contact-form__field > .wpcf7-form-control-wrap {
    flex: 1 1 auto;
  }
}

@media screen and (min-width: 1280px) {
  .p-contact-form__field:has(.wpcf7-not-valid-tip) {
    align-items: flex-start;
  }
  .p-contact-form__field:has(.wpcf7-not-valid-tip) .p-contact-form__label {
    padding-block-start: 10px;
  }
}

.p-contact-form__input .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.p-contact-form__textarea .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.p-contact-form__body .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  box-sizing: border-box;
  width: 100%;
  border: 0.75px solid #666666;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  transition: border-color 0.2s ease;
}
.p-contact-form__input .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance)::placeholder,
.p-contact-form__textarea .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance)::placeholder,
.p-contact-form__body .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance)::placeholder {
  color: #666666;
}
.p-contact-form__input .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus,
.p-contact-form__textarea .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus,
.p-contact-form__body .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus {
  outline: none;
  border-color: #34495e;
}
.p-contact-form__input .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid, .p-contact-form__input .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid:focus,
.p-contact-form__textarea .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid,
.p-contact-form__textarea .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid:focus,
.p-contact-form__body .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid,
.p-contact-form__body .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance).wpcf7-not-valid:focus {
  border-color: #8b0000;
}
.p-contact-form__input .wpcf7-form-control-wrap.wpcf7-not-valid .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.p-contact-form__textarea .wpcf7-form-control-wrap.wpcf7-not-valid .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.p-contact-form__body .wpcf7-form-control-wrap.wpcf7-not-valid .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  border-color: #8b0000;
}
.p-contact-form__input .wpcf7-textarea,
.p-contact-form__textarea .wpcf7-textarea,
.p-contact-form__body .wpcf7-textarea {
  display: block;
  min-height: clamp(200px, 35vw, 246px);
  padding: 8px 16px;
  resize: vertical;
}
.p-contact-form__input input:not([type=checkbox]):not([type=submit]):not([type=button]),
.p-contact-form__textarea input:not([type=checkbox]):not([type=submit]):not([type=button]),
.p-contact-form__body input:not([type=checkbox]):not([type=submit]):not([type=button]) {
  padding: 8px 16px;
}

.p-contact-form__textarea {
  display: block;
  min-height: clamp(200px, 35vw, 246px);
  padding: 8px 16px;
  resize: vertical;
}

.p-contact-form__input {
  display: block;
  padding: 8px 16px;
}

.p-contact-form__privacy-body {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-contact-form__privacy-body {
    flex: 1 1 auto;
    max-width: min(100%, 464px);
  }
}
.p-contact-form__privacy-body .wpcf7-form-control-wrap.accept-privacy,
.p-contact-form__privacy-body .wpcf7-form-control-wrap[data-name=accept-privacy] {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: middle;
}
.p-contact-form__privacy-body .wpcf7-acceptance:not(input) {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
.p-contact-form__privacy-body .wpcf7-list-item {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0;
  padding: 0;
  border: 0;
}
.p-contact-form__privacy-body .p-contact-form__accept,
.p-contact-form__privacy-body .wpcf7-list-item > label {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
}
.p-contact-form__privacy-body input[name=accept-privacy] {
  box-sizing: border-box;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  border: 2px solid #666666;
  border-radius: 2px;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 8px;
  cursor: pointer;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
}
.p-contact-form__privacy-body input[name=accept-privacy]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 8' fill='none'%3E%3Cpath d='M1 4L4 7L10 1' stroke='%231f753d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.p-contact-form__privacy-body .wpcf7-form-control-wrap.wpcf7-not-valid input[name=accept-privacy]:not(:checked) {
  border-color: #8b0000;
}
.p-contact-form__privacy-body .wpcf7-list-item-label {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
}
.p-contact-form__privacy-body .wpcf7-list-item-label:empty {
  display: none;
}

.p-contact-form__accept-row {
  width: fit-content;
  max-width: 100%;
}
.p-contact-form__accept-row > p {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.p-contact-form__accept-row .wpcf7-form-control-wrap[data-name=accept-privacy],
.p-contact-form__accept-row .wpcf7-form-control-wrap.accept-privacy {
  display: inline-block !important;
  flex: 0 0 auto;
  width: auto !important;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
.p-contact-form__accept-row .wpcf7-acceptance:not(input),
.p-contact-form__accept-row .wpcf7-list-item {
  display: inline-block !important;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

.p-contact-form__privacy-text {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-contact-form__privacy-link {
  color: #1f753d;
  text-decoration: none;
  border-block-end: 1px solid #1f753d;
}

.p-contact-form__body fieldset {
  display: contents;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: none;
}
.p-contact-form__body .p-contact-form__check {
  display: none;
}
.p-contact-form__body .wpcf7-not-valid-tip {
  display: block;
  margin: 0;
  padding-block-start: 0;
  color: #8b0000;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}
.p-contact-form__body .wpcf7-form-control-wrap.wpcf7-not-valid:has(.wpcf7-acceptance) {
  gap: 10px;
}
.p-contact-form__body .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 12px 16px;
  border: 1px solid #666666;
  border-radius: 4px;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
}

.p-contact-form__submit,
.p-contact-form .wpcf7-form > p:has(.wpcf7-submit),
.p-contact-form__body > .p-contact-form__submit,
.p-contact-form__body > p:has(.wpcf7-submit) {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-block: clamp(32px, 5vw, 72px) 0;
  padding: 0;
  border: 0;
}

.p-contact-form__submit-btn {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: min(100%, 263px);
  min-height: clamp(44px, 6vw, 60px);
  padding: clamp(8px, 1.5vw, 16px) clamp(16px, 3vw, 32px);
  border: none;
  border-radius: 60px;
  background: #1f753d;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  cursor: pointer;
  appearance: none;
}
@media (any-hover: hover) {
  .p-contact-form__submit-btn:hover {
    background: #27a653;
  }
}

.p-contact-form__submit-icon {
  flex-shrink: 0;
  width: 26px;
  height: 29px;
}

.p-contact-form__form {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 32px);
  width: 100%;
}

.p-contact-form__body .wpcf7-submit {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: min(100%, 263px);
  min-height: clamp(44px, 6vw, 60px);
  padding: clamp(8px, 1.5vw, 16px) clamp(16px, 3vw, 32px);
  border: none;
  border-radius: 60px;
  background: #1f753d;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  cursor: pointer;
  appearance: none;
}
@media (any-hover: hover) {
  .p-contact-form__body .wpcf7-submit:hover {
    background: #27a653;
  }
}

.p-thanks-fv {
  --fv-slant-width: clamp(19.083px, calc(2.9043142857px + 4.1483809524vw), 62.641px);
  --fv-left-width: clamp(223px, calc(33.9428571429px + 48.4761904762vw), 732px);
  --fv-media-width: calc(100% - var(--fv-left-width) + var(--fv-slant-width));
  --fv-height: clamp(350px, calc(344.4285714286px + 1.4285714286vw), 365px);
  --fv-mt: clamp(60px, calc(51.0857142857px + 2.2857142857vw), 84px);
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--fv-height);
  padding-inline: clamp(10px, calc(-30.8571428571px + 10.4761904762vw), 120px);
  margin-block-start: var(--fv-mt);
  isolation: isolate;
  background: #f6faeb;
}
@media screen and (min-width: 1280px) {
  .p-thanks-fv {
    --fv-media-width: min(774 / 1440 * 100vw, 774px);
  }
}
.p-thanks-fv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: var(--fv-left-width);
  height: 100%;
  background: #f6faeb;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--fv-slant-width)) 100%, 0 100%);
  pointer-events: none;
}

.p-thanks-fv__heading {
  position: relative;
  z-index: 3;
  flex-shrink: 1;
  min-width: 0;
  max-width: calc(var(--fv-left-width) - clamp(20px, 3vw, 40px));
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-thanks-fv__heading {
    line-height: 1;
  }
}

.p-thanks-fv__media {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  width: var(--fv-media-width);
  height: 100%;
  background: #f5f5f0;
  clip-path: polygon(var(--fv-slant-width) 0, 100% 0, 100% 100%, 0 100%);
}
.p-thanks-fv__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(31, 117, 61, 0.3);
  pointer-events: none;
}

.p-thanks-fv__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--fv-height);
  object-fit: cover;
  object-position: 55% center;
}
@media screen and (min-width: 1280px) {
  .p-thanks-fv__img {
    object-position: 50% 45%;
  }
}

.p-thanks-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  background: #ffffff;
}

.p-thanks-contents__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-thanks-contents__body {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: flex-start;
  width: 100%;
  max-width: min(100%, 728px);
}

.p-thanks-contents__heading {
  max-width: 100%;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, calc(18.5142857143px + 0.380952381vw), 24px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.4px, calc(0.3702857143px + 0.0076190476vw), 0.48px);
  overflow-wrap: anywhere;
}

.p-thanks-contents__text {
  max-width: 100%;
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  overflow-wrap: anywhere;
}

.p-thanks-contents__action {
  display: flex;
  justify-content: center;
  width: 100%;
}

.p-thanks-contents__btn {
  width: min(100%, 263px);
  max-width: 200px;
  padding-block: clamp(8px, 1.5vw, 16px);
  padding-inline: clamp(16px, 3vw, 32px);
  column-gap: 8px;
  justify-content: center;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
}
@media screen and (min-width: 1280px) {
  .p-thanks-contents__btn {
    max-width: min(263px, 100%);
  }
}

.p-thanks-contents__btn-icon {
  flex-shrink: 0;
  transform: scaleX(-1);
}

.p-privacy-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  background: #ffffff;
}

.p-privacy-contents__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(30px, 4vw, 60px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 10px;
}

.p-privacy-contents__title {
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(1.2px, calc(1.0514285714px + 0.0380952381vw), 1.6px);
  text-align: center;
  white-space: nowrap;
}

.p-privacy-contents__main {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 39px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 984px);
}

.p-privacy-contents__lead {
  width: 100%;
  margin: 0;
  padding: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
}

.p-privacy-contents__sections {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 40px);
  width: 100%;
}

.p-privacy-contents__section {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 30px);
  width: 100%;
}

.p-privacy-contents__section-title {
  width: 100%;
  margin: 0;
  padding: 10px clamp(16px, 3vw, 30px);
  background: #f7faee;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, calc(17.2571428571px + 0.1904761905vw), 20px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.36px, calc(0.3451428571px + 0.0038095238vw), 0.4px);
}

.p-privacy-contents__section-body {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
  padding-inline: clamp(10px, 2vw, 30px);
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-privacy-contents__text {
  margin: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.p-privacy-contents__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-privacy-contents__list-item {
  margin: 0;
  padding: 0;
}
.p-privacy-contents__list-item::before {
  content: "・";
}

.p-privacy-contents__contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
  padding: clamp(20px, 3vw, 30px) clamp(10px, 2vw, 30px);
  border-radius: 4px;
  background: #f5f5f0;
}
@media screen and (min-width: 1280px) {
  .p-privacy-contents__contact {
    width: auto;
  }
}

.p-privacy-contents__contact-text {
  margin: 0;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
}

.p-privacy-contents__contact-btn {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 46px;
  padding: 16px;
  border-radius: 60px;
  background: #1f753d;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
  color: #ffffff;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-privacy-contents__contact-btn:hover {
    background: #27a653;
  }
}

.p-privacy-contents__contact-btn-icon {
  flex-shrink: 0;
  width: 20px;
  height: 22px;
}

.p-404-contents {
  padding-block: clamp(60px, calc(45.1428571429px + 3.8095238095vw), 100px);
  background: #ffffff;
}

.p-404-contents__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(30px, 4vw, 60px);
  align-items: center;
  width: 100%;
  max-width: min(100%, 728px);
  margin-inline: auto;
  padding-inline: 10px;
  box-sizing: border-box;
}

.p-404-contents__title {
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, calc(21.0285714286px + 0.7619047619vw), 32px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.48px, calc(0.064px + 0.1066666667vw), 1.6px);
  text-align: center;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 1280px) {
  .p-404-contents__title {
    line-height: 1;
    white-space: nowrap;
  }
}

.p-404-contents__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
}

.p-404-contents__text {
  margin: 0;
  max-width: 100%;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, calc(15.2571428571px + 0.1904761905vw), 18px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.32px, calc(0.3051428571px + 0.0038095238vw), 0.36px);
  overflow-wrap: anywhere;
}

.p-404-contents__text-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-404-contents__text-group .p-404-contents__text + .p-404-contents__text {
  margin-block-start: 0;
}

.p-404-contents__action {
  display: flex;
  justify-content: center;
  width: 100%;
}

.p-404-contents__btn {
  width: min(100%, 263px);
  max-width: 200px;
  padding-block: clamp(8px, 1.5vw, 16px);
  padding-inline: clamp(16px, 3vw, 32px);
  column-gap: 8px;
  justify-content: center;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  text-decoration: none;
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
}
@media screen and (min-width: 1280px) {
  .p-404-contents__btn {
    max-width: min(263px, 100%);
  }
}

.p-404-contents__btn-icon {
  flex-shrink: 0;
  transform: scaleX(-1);
}

.p-footer-top {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 6px;
}
@media screen and (min-width: 1280px) {
  .p-footer-top {
    flex-direction: row;
    flex-wrap: nowrap;
  }
}

.p-footer-top__line,
.p-footer-top__contact {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: clamp(341px, calc(302px + 10vw), 446px);
}
@media screen and (min-width: 1280px) {
  .p-footer-top__line,
  .p-footer-top__contact {
    flex: 1 1 50%;
  }
}

.p-footer-top__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 41px;
  height: 100%;
  padding: clamp(40px, calc(25.1428571429px + 3.8095238095vw), 80px) clamp(10px, calc(-14.1428571429px + 6.1904761905vw), 75px) clamp(40px, calc(23.6571428571px + 4.1904761905vw), 84px) clamp(10px, calc(-15.6285714286px + 6.5714285714vw), 79px);
}

.p-footer-top__line {
  background: linear-gradient(0deg, rgba(235, 245, 238, 0.9) 0%, rgba(235, 245, 238, 0.9) 100%), url("../img/footer/footer-1.webp") lightgray 50%/cover no-repeat;
  background-size: clamp(636px, calc(549.0857142857px + 22.2857142857vw), 870px);
  background-position: clamp(-98px, calc(-125.1142857143px + 6.9523809524vw), -25px) clamp(-30px, calc(7.0285714286px + -2.5714285714vw), -3px);
}

.p-footer-top__contact {
  background: linear-gradient(0deg, rgba(247, 250, 238, 0.9) 0%, rgba(247, 250, 238, 0.9) 100%), url("../img/footer/footer-2.webp") lightgray 50%/cover no-repeat;
  background-size: clamp(632px, calc(600.4285714286px + 8.0952380952vw), 717px);
  background-position: clamp(-145px, calc(-198.8571428571px + 13.8095238095vw), 0px) clamp(-15px, calc(5.5714285714px + -1.4285714286vw), 0px);
}

.p-footer-top__textarea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
  max-width: clamp(370px, calc(298.3142857143px + 18.380952381vw), 563px);
  text-align: center;
}

.p-footer-top__text {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
}

.p-footer-top__btn {
  flex-shrink: 0;
}
@media (max-width: 1279px) {
  .p-footer-top__btn.c-btn__contact {
    font-size: min(14 / 390 * 100vw, 14px);
    letter-spacing: 0.28px;
  }
}

.p-footer-lower {
  background: linear-gradient(90deg, #add45f 0%, #d1e7a5 100%);
  box-shadow: 0 0 2px rgba(44, 44, 44, 0.25);
  padding: 60px clamp(66px, calc(60.8px + 1.3333333333vw), 80px);
}

.p-footer-lower__inner {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(42px, calc(35.3142857143px + 1.7142857143vw), 60px);
  width: 100%;
  max-width: min(100%, 1280px);
  margin-inline: auto;
}
@media screen and (min-width: 1280px) {
  .p-footer-lower__inner {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.p-footer-lower__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .p-footer-lower__brand {
    align-items: flex-start;
  }
}

.p-footer-lower__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: #ffffff;
  border-radius: 6px;
}

.p-footer-lower__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 3.833px;
}

.p-footer-lower__policies {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-block-start: clamp(40px, calc(14px + 6.6666666667vw), 110px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #000000;
}
@media screen and (min-width: 1280px) {
  .p-footer-lower__policies {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
}

.p-footer-lower__policy,
.p-footer-lower__copyright {
  font-size: inherit;
  letter-spacing: inherit;
}

.p-footer-nav {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(16px, calc(-0.3428571429px + 4.1904761905vw), 60px);
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-end;
    width: auto;
  }
}

.p-footer-nav__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(16px, calc(13.0285714286px + 0.7619047619vw), 24px);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__list {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: auto;
  }
}

.p-footer-nav__item {
  width: min(180 / 390 * 100vw, 180px);
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__item {
    width: auto;
    padding-inline-end: min(40 / 1440 * 100vw, 40px);
  }
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__item:nth-of-type(3) {
    padding-inline-end: 24px;
  }
}
.p-footer-nav__item--group {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, calc(9.0285714286px + 0.7619047619vw), 20px);
  width: min(180 / 390 * 100vw, 180px);
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__item--group {
    width: min(138 / 1440 * 100vw, 138px);
    padding-inline-end: 0;
  }
}
.p-footer-nav__item--group.is-open .p-footer-nav__arrow svg {
  transform: rotate(-90deg);
}
.p-footer-nav__item--group.is-open .p-footer-nav__submenu {
  display: flex;
}

.p-footer-nav__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 46px;
  padding-block: 2px;
  border: none;
  border-bottom: 1px solid #666666;
  background: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(14 / 390 * 100vw, 14px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #000000;
  cursor: pointer;
  text-align: left;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__trigger {
    display: none;
  }
}

.p-footer-nav__heading {
  display: none;
  margin: 0;
  padding-block: 2px;
  border-bottom: 1px solid rgba(31, 117, 61, 0.6);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(16 / 1440 * 100vw, 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.32px;
  color: #000000;
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__heading {
    display: block;
  }
}

.p-footer-nav__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(22.308 / 390 * 100vw, 22.308px);
  height: 20px;
  flex-shrink: 0;
  color: #add45f;
}
.p-footer-nav__arrow svg {
  width: 20px;
  height: auto;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}

.p-footer-nav__link {
  display: flex;
  align-items: center;
  width: 100%;
  padding-block: 2px min(10 / 390 * 100vw, 10px);
  border-bottom: 1px solid #666666;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__link {
    padding-block: 2px;
    border-bottom: none;
  }
}

.p-footer-nav__submenu {
  display: none;
  flex-direction: column;
  gap: min(8 / 390 * 100vw, 8px);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__submenu {
    display: flex;
  }
}

.p-footer-nav__subitem {
  list-style: none;
}

.p-footer-nav__sublink {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-inline: min(8 / 390 * 100vw, 8px);
  padding-block: 2px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  color: #000000;
  white-space: nowrap;
}
@media screen and (min-width: 1280px) {
  .p-footer-nav__sublink {
    min-height: auto;
    padding-inline: 0;
  }
}

.p-footer-nav__cta {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, calc(13.4857142857px + -0.380952381vw), 12px);
  width: 180px;
  flex-shrink: 0;
}
.p-footer-nav__cta .c-btn__footer {
  width: 100%;
  font-size: clamp(14px, calc(13.2571428571px + 0.1904761905vw), 16px);
  letter-spacing: clamp(0.28px, calc(0.2651428571px + 0.0038095238vw), 0.32px);
  padding-inline: 20px;
}

.u-separate {
  margin-block: 24px;
}

.u-flocss-inner {
  padding-inline: 10px;
  overflow: hidden;
  background: #eaf4f7;
}

.u-fw500 {
  font-weight: 500;
}

.u-fw600 {
  font-weight: 600;
}

.u-fw700 {
  font-weight: 700;
}

.u-mw {
  width: 100%;
}
.u-mw--1270 {
  max-width: min(100%, 1270px);
}
.u-mw--1200 {
  max-width: min(100%, 1200px);
}
.u-mw--1180 {
  max-width: min(100%, 1180px);
}
.u-mw--1080 {
  max-width: min(100%, 1080px);
}
.u-mw--822 {
  max-width: min(100%, 822px);
}

.u-text-green {
  color: #1f753d;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  letter-spacing: 0.32px;
}
@media screen and (min-width: 800px) {
  .u-text-green {
    font-size: 18px;
    letter-spacing: 0.36px;
  }
}
.u-text-green--single {
  padding-block: 16px;
}
@media screen and (min-width: 1280px) {
  .u-text-green--single {
    padding-block: 14.5px;
  }
}

@media (max-width: 799px) {
  .u-hidden-sp {
    display: none !important;
  }
}

@media screen and (min-width: 800px) {
  .u-hidden-pc {
    display: none !important;
  }
}

/*# sourceMappingURL=style.css.map */
