@charset "UTF-8";
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

img {
  max-width: 100%;
}

img[height] {
  height: auto;
  width: 100%;
}

.l-header *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.l-footer *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.l-page *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.l-breadcrumb *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.p-top *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.p-archive *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.p-entry-header *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.p-error404 *:where(:not(iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
.l-header *,
.l-header *::before,
.l-header *::after,
.l-footer *,
.l-footer *::before,
.l-footer *::after,
.l-page *,
.l-page *::before,
.l-page *::after,
.l-breadcrumb *,
.l-breadcrumb *::before,
.l-breadcrumb *::after,
.p-top *,
.p-top *::before,
.p-top *::after,
.p-archive *,
.p-archive *::before,
.p-archive *::after,
.p-entry-header *,
.p-entry-header *::before,
.p-entry-header *::after,
.p-error404 *,
.p-error404 *::before,
.p-error404 *::after {
  box-sizing: border-box;
}
.l-header a, .l-header button,
.l-footer a,
.l-footer button,
.l-page a,
.l-page button,
.l-breadcrumb a,
.l-breadcrumb button,
.p-top a,
.p-top button,
.p-archive a,
.p-archive button,
.p-entry-header a,
.p-entry-header button,
.p-error404 a,
.p-error404 button {
  cursor: revert;
}
.l-header ol, .l-header ul, .l-header menu, .l-header summary,
.l-footer ol,
.l-footer ul,
.l-footer menu,
.l-footer summary,
.l-page ol,
.l-page ul,
.l-page menu,
.l-page summary,
.l-breadcrumb ol,
.l-breadcrumb ul,
.l-breadcrumb menu,
.l-breadcrumb summary,
.p-top ol,
.p-top ul,
.p-top menu,
.p-top summary,
.p-archive ol,
.p-archive ul,
.p-archive menu,
.p-archive summary,
.p-entry-header ol,
.p-entry-header ul,
.p-entry-header menu,
.p-entry-header summary,
.p-error404 ol,
.p-error404 ul,
.p-error404 menu,
.p-error404 summary {
  list-style: none;
}
.l-header ol,
.l-footer ol,
.l-page ol,
.l-breadcrumb ol,
.p-top ol,
.p-archive ol,
.p-entry-header ol,
.p-error404 ol {
  counter-reset: revert;
}
.l-header table,
.l-footer table,
.l-page table,
.l-breadcrumb table,
.p-top table,
.p-archive table,
.p-entry-header table,
.p-error404 table {
  border-collapse: collapse;
}
.l-header img,
.l-footer img,
.l-page img,
.l-breadcrumb img,
.p-top img,
.p-archive img,
.p-entry-header img,
.p-error404 img {
  height: auto;
  max-width: inherit;
  vertical-align: bottom;
  width: 100%;
}
.l-header b, .l-header strong,
.l-footer b,
.l-footer strong,
.l-page b,
.l-page strong,
.l-breadcrumb b,
.l-breadcrumb strong,
.p-top b,
.p-top strong,
.p-archive b,
.p-archive strong,
.p-entry-header b,
.p-entry-header strong,
.p-error404 b,
.p-error404 strong {
  font-weight: bolder;
}
.l-header a:not([class]),
.l-footer a:not([class]),
.l-page a:not([class]),
.l-breadcrumb a:not([class]),
.p-top a:not([class]),
.p-archive a:not([class]),
.p-entry-header a:not([class]),
.p-error404 a:not([class]) {
  color: var(--color-font);
}
@media (any-hover: hover) {
  .l-header a:not([class]):hover,
  .l-footer a:not([class]):hover,
  .l-page a:not([class]):hover,
  .l-breadcrumb a:not([class]):hover,
  .p-top a:not([class]):hover,
  .p-archive a:not([class]):hover,
  .p-entry-header a:not([class]):hover,
  .p-error404 a:not([class]):hover {
    opacity: 0.8;
  }
}

:root {
  --color-font: #666;
  --color-strong: #534741;
  --color-primary: #4b9d36;
  --color-secondary: #add852;
  --color-tertiary: #fdd74e;
  --font-NotoSansJP: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, sans-serif;
  --font-NotoSerifJP: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "BiZ UDMincho", "MS Mincho", serif;
}

body {
  background: #fff;
  color: var(--color-font);
  font-family: var(--font-NotoSansJP);
  font-weight: 400;
  margin-block: 0;
  margin-inline: auto;
  overflow-wrap: break-word;
  padding: 0;
  width: 100%;
}
@media screen and (min-width: 1400px) {
  body {
    min-width: 1400px;
  }
}

body:has(#js-nav.is-active) {
  overflow: hidden;
  touch-action: none;
}

.l-wrapper {
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 799px) {
  .l-main {
    -webkit-margin-before: 13.333vw;
            margin-block-start: 13.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-main {
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-main {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}

@media screen and (max-width: 799px) {
  .l-page {
    -webkit-padding-before: 9.333vw;
            padding-block-start: 9.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-page {
    -webkit-padding-before: 5vw;
            padding-block-start: 5vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-page {
    -webkit-padding-before: 70px;
            padding-block-start: 70px;
  }
}

@media screen and (min-width: 800px) {
  .l-inner {
    margin-inline: auto;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-inner {
    width: 85.714%;
  }
}
@media screen and (min-width: 1400px) {
  .l-inner {
    width: 1200px;
  }
}

.l-header {
  background: #f2f2f2;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 100;
}

.l-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 799px) {
  .l-header__inner {
    height: 13.333vw;
    padding-inline: 4vw 0;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-header__inner {
    height: 5.714vw;
    width: 96%;
  }
}
@media screen and (min-width: 1400px) {
  .l-header__inner {
    height: 80px;
  }
}

.l-logo {
  line-height: 0;
}
@media screen and (max-width: 799px) {
  .l-logo {
    width: 50.133vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-logo {
    width: 18.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-logo {
    width: 265px;
  }
}
.l-logo__link {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .l-logo__manima {
    width: 25.067vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-logo__manima {
    width: 9.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-logo__manima {
    width: 132px;
  }
}
@media screen and (max-width: 799px) {
  .l-logo__times {
    width: 1.867vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-logo__times {
    width: 0.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-logo__times {
    width: 11px;
  }
}
@media screen and (max-width: 799px) {
  .l-logo__shingi {
    width: 20.533vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-logo__shingi {
    width: 7.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-logo__shingi {
    width: 108px;
  }
}

@media screen and (max-width: 799px) {
  .l-hamburger {
    cursor: pointer;
    height: 100%;
    position: relative;
    width: 15.067vw;
  }
  .l-hamburger__line {
    background: #808080;
    border-radius: 100vw;
    display: block;
    height: 0.8vw;
    position: absolute;
    right: 3.467vw;
    transition: -webkit-transform 0.3s ease-in;
    transition: transform 0.3s ease-in;
    transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
    -webkit-transform-origin: right;
            transform-origin: right;
    width: 8.267vw;
  }
  .l-hamburger__line:nth-of-type(1) {
    top: 3.6vw;
  }
  .l-hamburger__line:nth-of-type(2) {
    top: 6.4vw;
  }
  .l-hamburger__line:nth-of-type(3) {
    top: 9.067vw;
    width: 4.533vw;
  }
  .l-hamburger.is-active .l-hamburger__line:nth-of-type(1) {
    -webkit-transform: rotate(45deg) translate(3.2vw, 4.8vw);
            transform: rotate(45deg) translate(3.2vw, 4.8vw);
  }
  .l-hamburger.is-active .l-hamburger__line:nth-of-type(2) {
    display: none;
  }
  .l-hamburger.is-active .l-hamburger__line:nth-of-type(3) {
    -webkit-transform: rotate(-45deg) translate(3.2vw, -4.8vw);
            transform: rotate(-45deg) translate(3.2vw, -4.8vw);
    width: 8.267vw;
  }
}

@media screen and (max-width: 799px) {
  .l-nav {
    background: #f2f2f2;
    height: calc(100vh - 13.333vw);
    opacity: 0;
    overflow-y: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
    padding-block: 5.333vw;
    position: fixed;
    right: -100vw;
    top: 13.333vw;
    transition: all 0.3s linear;
    visibility: hidden;
    width: 100vw;
    z-index: 110;
  }
  .l-nav.is-active {
    opacity: 1;
    right: 0;
    visibility: visible;
  }
}
@media screen and (min-width: 800px) {
  .l-nav {
    align-items: center;
    display: flex;
  }
}
.l-nav .menu {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .l-nav .menu {
    font-size: 4.8vw;
    line-height: 1.4;
    margin-inline: auto;
    width: 86.667vw;
  }
}
@media screen and (min-width: 800px) {
  .l-nav .menu {
    display: flex;
    white-space: nowrap;
  }
}
@media screen and (min-width: 800px) and (max-width: 980px) {
  .l-nav .menu {
    font-size: clamp(10px, 6px + 0.5vw, 13px);
    gap: 0.8em;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 981px) and (max-width: 1399px) {
  .l-nav .menu {
    font-size: 1.114vw;
    gap: 1em;
  }
}
@media screen and (min-width: 1400px) {
  .l-nav .menu {
    font-size: 13px;
    gap: 1.4em;
  }
}
@media screen and (max-width: 799px) {
  .l-nav .menu-item {
    border-bottom: 2px solid #b3b3b3;
  }
}
@media screen and (max-width: 799px) {
  .l-nav .menu-item a {
    display: block;
    padding-block: 6.667vw 2.667vw;
    padding-inline: 4vw 8vw;
    position: relative;
  }
  .l-nav .menu-item a::after {
    background-color: #b3b3b3;
    content: "";
    display: block;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.14 23.23'%3E%3Cpath d='M.53 23.23c.13 0 .27-.05.37-.15l11.09-11.09c.1-.1.15-.23.15-.37s-.06-.27-.15-.37L.9.15a.513.513 0 0 0-.74 0c-.21.21-.21.54 0 .74l10.72 10.72L.15 22.33c-.21.21-.21.54 0 .74.1.1.24.15.37.15Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.14 23.23'%3E%3Cpath d='M.53 23.23c.13 0 .27-.05.37-.15l11.09-11.09c.1-.1.15-.23.15-.37s-.06-.27-.15-.37L.9.15a.513.513 0 0 0-.74 0c-.21.21-.21.54 0 .74l10.72 10.72L.15 22.33c-.21.21-.21.54 0 .74.1.1.24.15.37.15Z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    position: absolute;
    height: 3.2vw;
    right: 2.667vw;
    top: calc(50% + 1.6vw);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3.2vw;
  }
}
@media (any-hover: hover) {
  .l-nav .menu-item a:hover {
    color: var(--color-primary);
    font-weight: 700;
  }
}

@media screen and (max-width: 799px) {
  .l-nav__button {
    -webkit-margin-before: 13.067vw;
            margin-block-start: 13.067vw;
    margin-inline: auto;
    width: 57.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 980px) {
  .l-nav__button {
    -webkit-margin-start: 1.5%;
            margin-inline-start: 1.5%;
    width: 4.5em;
  }
}
@media screen and (min-width: 981px) and (max-width: 1399px) {
  .l-nav__button {
    -webkit-margin-start: 1.714vw;
            margin-inline-start: 1.714vw;
    width: 8.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-nav__button {
    -webkit-margin-start: 24px;
            margin-inline-start: 24px;
    width: 120px;
  }
}
@media screen and (min-width: 800px) and (max-width: 980px) {
  .l-nav__button .c-button__link {
    -webkit-padding-end: 0.5em;
            padding-inline-end: 0.5em;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-nav__button .c-button__link {
    height: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-nav__button .c-button__link {
    height: 40px;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-nav__button .c-button__label {
    font-size: 1.2vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-nav__button .c-button__label {
    font-size: 14px;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-nav__button .c-button__arrow {
    right: 0.714vw;
    width: 0.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-nav__button .c-button__arrow {
    right: 12px;
    width: 7px;
  }
}

.l-footer {
  position: relative;
  z-index: 5;
}

@media screen and (max-width: 799px) {
  .l-footer__inner {
    margin-inline: auto;
    padding-block: 8vw 9.333vw;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-footer__inner {
    padding-block: 2.857vw 4.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-footer__inner {
    padding-block: 40px 60px;
  }
}

.l-footer__page-links .menu {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  justify-content: center;
}
.l-footer__page-links .menu-item {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .l-footer__page-links .menu-item {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-footer__page-links .menu-item {
    font-size: 1.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-footer__page-links .menu-item {
    font-size: 16px;
  }
}
.l-footer__page-links .menu-item:not(:last-child)::after {
  content: "/";
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}
@media (any-hover: hover) {
  .l-footer__page-links .menu-link:hover {
    color: var(--color-primary);
    text-decoration: underline;
  }
}

.l-copyright {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .l-copyright {
    font-size: 2.667vw;
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-copyright {
    font-size: 1.143vw;
    -webkit-margin-before: 1.714vw;
            margin-block-start: 1.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-copyright {
    font-size: 16px;
    -webkit-margin-before: 24px;
            margin-block-start: 24px;
  }
}

@media screen and (max-width: 799px) {
  .l-breadcrumb__inner {
    padding-block: 4vw;
    padding-inline: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-breadcrumb__inner {
    padding-block: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-breadcrumb__inner {
    padding-block: 1.429vw;
  }
}

.l-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0;
}

.l-breadcrumb__item {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .l-breadcrumb__item {
    font-size: 3.2vw;
    line-height: 1.667;
  }
}
@media screen and (min-width: 800px) {
  .l-breadcrumb__item {
    line-height: 1.571;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-breadcrumb__item {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-breadcrumb__item {
    font-size: 14px;
  }
}
.l-breadcrumb__item + .l-breadcrumb__item::before {
  color: #999;
  content: "/";
  margin-inline: 0.6em;
}

.l-breadcrumb__link {
  color: var(--color-font);
  text-decoration: underline;
}
@media (any-hover: hover) {
  .l-breadcrumb__link:hover {
    opacity: 0.8;
    text-decoration: none;
  }
}

@media screen and (max-width: 799px) {
  .l-site-wrap {
    padding-block: 8vw 15.333vw;
  }
}
@media screen and (min-width: 800px) {
  .l-site-wrap {
    display: grid;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-site-wrap {
    grid-template-columns: 57.143vw 25.714vw;
    padding-block: 7.143vw 8.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-site-wrap {
    grid-template-columns: 800px 360px;
    padding-block: 100px 115px;
  }
}

@media screen and (max-width: 799px) {
  .l-breadcrumb + .l-site-wrap,
  .archive-header + .l-site-wrap {
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-breadcrumb + .l-site-wrap,
  .archive-header + .l-site-wrap {
    -webkit-padding-before: 3.571vw;
            padding-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-breadcrumb + .l-site-wrap,
  .archive-header + .l-site-wrap {
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
  }
}

.c-button {
  text-align: center;
}

.c-button__link {
  align-items: center;
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 100vw;
  color: #fff;
  display: flex;
  justify-content: center;
  position: relative;
  transition: 0.3s;
  width: 100%;
}
@media screen and (max-width: 799px) {
  .c-button__link {
    height: 14.933vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-button__link {
    height: 5vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-button__link {
    height: 70px;
    -webkit-padding-start: 2px;
            padding-inline-start: 2px;
  }
}
@media (any-hover: hover) {
  .c-button__link:hover {
    background: #fff;
    color: var(--color-primary);
  }
  .c-button__link:hover .c-button__arrow {
    fill: var(--color-primary);
  }
}

.c-button__label {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .c-button__label {
    font-size: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-button__label {
    font-size: 1.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-button__label {
    font-size: 17px;
  }
}

.c-button__arrow {
  fill: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 799px) {
  .c-button__arrow {
    right: 3.2vw;
    width: 1.733vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-button__arrow {
    right: 1.071vw;
    width: 0.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-button__arrow {
    right: 15px;
    width: 8px;
  }
}

.c-title {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 799px) {
  .c-title__en {
    font-size: 4.267vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-title__en {
    font-size: 1.357vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-title__en {
    font-size: 19px;
  }
}

.c-title__ja {
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media screen and (max-width: 799px) {
  .c-title__ja {
    font-size: 9.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-title__ja {
    font-size: 2.143vw;
    -webkit-margin-before: 0.714vw;
            margin-block-start: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-title__ja {
    font-size: 30px;
    -webkit-margin-before: 10x;
            margin-block-start: 10x;
  }
}
@media screen and (max-width: 799px) {
  .c-title__ja--h1 {
    font-size: 7.467vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-title__ja--h1 {
    font-size: 3.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-title__ja--h1 {
    font-size: 46px;
  }
}
@media screen and (max-width: 799px) {
  .c-title__ja--large {
    font-size: 7.067vw;
    line-height: 1.585;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-title__ja--large {
    font-size: 3.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-title__ja--large {
    font-size: 46px;
  }
}
@media screen and (max-width: 799px) {
  .c-title__ja--medium {
    font-size: 5.067vw;
    line-height: 1.789;
    -webkit-margin-before: 1.333vw;
            margin-block-start: 1.333vw;
  }
}
@media screen and (min-width: 800px) {
  .c-title__ja--medium {
    line-height: 1.929;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-title__ja--medium {
    font-size: 2vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-title__ja--medium {
    font-size: 28px;
  }
}

.c-text {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .c-text {
    font-size: 3.733vw;
    line-height: 1.786;
  }
}
@media screen and (min-width: 800px) {
  .c-text {
    line-height: 1.889;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-text {
    font-size: 1.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-text {
    font-size: 18px;
  }
}
.c-text + .c-text {
  -webkit-margin-before: 1.8em;
          margin-block-start: 1.8em;
}

.c-thumb {
  overflow: hidden;
  width: 100%;
}
.c-thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

@media (any-hover: hover) {
  .c-image-link:hover img {
    -webkit-filter: contrast(1.2);
            filter: contrast(1.2);
  }
}

@media (any-hover: hover) {
  .c-text-link:hover {
    color: var(--color-primary);
    text-decoration: underline;
  }
}

@media screen and (max-width: 799px) {
  .c-page-header__inner {
    margin-inline: auto;
    width: 80vw;
  }
}

@media screen and (max-width: 799px) {
  .c-page-header__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-header__text {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-header__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

@media screen and (max-width: 799px) {
  .c-page-header__image {
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-header__image {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-header__image {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}

.c-page-contact {
  background: #ebf3dc;
}

.c-page-contact__inner {
  position: relative;
}
@media screen and (max-width: 799px) {
  .c-page-contact__inner {
    padding-block: 12.667vw 17.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__inner {
    padding-block: 4.643vw 6.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__inner {
    padding-block: 65px 85px;
  }
}

.c-page-contact__header,
.c-page-contact__body {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 799px) {
  .c-page-contact__header,
  .c-page-contact__body {
    margin-inline: auto;
    width: 80vw;
  }
}

.c-page-contact__icon {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .c-page-contact__icon {
    width: 18.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__icon {
    width: 6.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__icon {
    width: 90px;
  }
}

.c-page-contact__title {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .c-page-contact__title {
    font-size: 5.867vw;
    line-height: 1.75;
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
  }
}
@media screen and (min-width: 800px) {
  .c-page-contact__title {
    line-height: 1.2;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__title {
    font-size: 2.143vw;
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__title {
    font-size: 30px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

@media screen and (max-width: 799px) {
  .c-page-contact__text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__text {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.c-page-contact__button {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .c-page-contact__button {
    -webkit-margin-before: 8.667vw;
            margin-block-start: 8.667vw;
    width: 57.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__button {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
    width: 21.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__button {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    width: 300px;
  }
}
@media screen and (max-width: 799px) {
  .c-page-contact__button .c-button__link {
    height: 14.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .c-page-contact__button .c-button__link {
    height: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-page-contact__button .c-button__link {
    height: 80px;
  }
}
@media screen and (max-width: 799px) {
  .c-page-contact__button .c-button__label {
    font-size: 4.8vw;
  }
}

.p-hero__top {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .p-hero__top {
    margin-inline: auto;
    max-width: 1400px;
  }
}

.p-hero__text {
  left: 0;
  position: absolute;
  z-index: 10;
}
@media screen and (max-width: 799px) {
  .p-hero__text {
    top: 47.733vw;
    width: 72.267vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__text {
    top: 24vw;
    width: 43vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__text {
    top: 336px;
    width: 602px;
  }
}

.p-hero__track {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-hero__track {
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__track {
    width: 97.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__track {
    width: 1360px;
  }
}

.p-hero-slide__bg {
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  .p-hero-slide__bg {
    border-bottom-left-radius: 5.333vw;
    border-bottom-right-radius: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero-slide__bg {
    border-bottom-left-radius: 3.571vw;
    border-bottom-right-radius: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero-slide__bg {
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
  }
}

.p-hero__bottom {
  display: flex;
}
@media screen and (max-width: 799px) {
  .p-hero__bottom {
    justify-content: center;
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    padding-block: 2vw;
  }
}
@media screen and (min-width: 800px) {
  .p-hero__bottom {
    justify-content: flex-end;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__bottom {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
    padding-block: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__bottom {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    padding-block: 10px;
  }
}

.p-hero__bottom-contents {
  display: inline-flex;
  max-width: 100%;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 799px) {
  .p-hero__bottom-contents {
    padding-inline: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__bottom-contents {
    padding-inline: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__bottom-contents {
    padding-inline: 35px;
  }
}

.p-hero__arrows .splide__arrow {
  cursor: pointer;
  line-height: 0;
  position: absolute;
  top: 50%;
  z-index: 10;
}
@media screen and (max-width: 799px) {
  .p-hero__arrows .splide__arrow {
    height: 5.333vw;
    width: 2.8vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__arrows .splide__arrow {
    height: 2.071vw;
    width: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__arrows .splide__arrow {
    height: 29px;
    width: 15px;
  }
}
.p-hero__arrows .splide__arrow svg {
  fill: #999;
  width: 100%;
}
.p-hero__arrows .splide__arrow--prev {
  left: 0;
  -webkit-transform: translateY(-50%) scale(-1);
          transform: translateY(-50%) scale(-1);
}
.p-hero__arrows .splide__arrow--next {
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .p-hero__arrows .splide__arrow:hover svg {
    fill: var(--color-secondary);
  }
}

.p-hero__pagination {
  max-width: 100%;
}
@media screen and (max-width: 799px) {
  .p-hero__pagination {
    bottom: 4vw;
    gap: 3.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__pagination {
    gap: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__pagination {
    gap: 20px;
  }
}
.p-hero__pagination li {
  line-height: 0 !important;
}
.p-hero__pagination .splide__pagination__page {
  background: #808080;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 799px) {
  .p-hero__pagination .splide__pagination__page {
    height: 1.6vw;
    width: 1.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__pagination .splide__pagination__page {
    height: 0.714vw;
    width: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__pagination .splide__pagination__page {
    height: 10px;
    width: 10px;
  }
}
.p-hero__pagination .splide__pagination__page.is-active {
  background: var(--color-secondary);
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-hero__guide-scroll {
    display: none;
  }
}
@media screen and (min-width: 1400px) {
  .p-hero__guide-scroll {
    bottom: 50px;
    position: absolute;
  }
}
@media screen and (min-width: 1400px) and (max-width: 1799px) {
  .p-hero__guide-scroll {
    right: 0;
    width: 14px;
  }
}
@media screen and (min-width: 1800px) {
  .p-hero__guide-scroll {
    right: 10%;
    width: 16px;
  }
}

.p-intro__inner {
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-intro__inner {
    margin-inline: auto;
    padding-block: 10.667vw 18.667vw;
    width: 82.133vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-intro__inner {
    min-height: 23.571vw;
    padding-block: 1.071vw 7.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-intro__inner {
    min-height: 330px;
    padding-block: 15px 100px;
  }
}

.p-intro__title {
  color: #333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 799px) {
  .p-intro__title {
    font-size: 5.333vw;
    line-height: 1.63;
  }
}
@media screen and (min-width: 800px) {
  .p-intro__title {
    line-height: 1.2;
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-intro__title {
    font-size: 1.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-intro__title {
    font-size: 24px;
  }
}

.p-intro__text {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-intro__text {
    font-size: 3.733vw;
    line-height: 1.786;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-intro__text {
    line-height: 1.944;
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-intro__text {
    font-size: 1.286vw;
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
    width: 45.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-intro__text {
    font-size: 18px;
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    width: 640px;
  }
}

@media screen and (max-width: 799px) {
  .p-intro__image {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    -webkit-margin-start: 4.667vw;
            margin-inline-start: 4.667vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-intro__image {
    position: absolute;
    top: 0;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-intro__image {
    right: 5.429vw;
    width: 34.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-intro__image {
    right: 76px;
    width: 483px;
  }
}

@media screen and (max-width: 799px) {
  .p-intro__button {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    margin-inline: auto;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-intro__button {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
    width: 21.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-intro__button {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    width: 300px;
  }
}

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

@media screen and (max-width: 799px) {
  .p-top-news__inner {
    margin-inline: auto;
    padding-block: 17.333vw 15.333vw;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__inner {
    padding-block: 4.643vw 2.857vw;
    padding-inline: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__inner {
    padding-block: 65px 40px;
    padding-inline: 50px;
  }
}

@media screen and (max-width: 799px) {
  .p-top-news__list {
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__list {
    -webkit-margin-before: 2.857vw;
            margin-block-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__list {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-top-news__item {
  display: flex;
}
@media screen and (max-width: 799px) {
  .p-top-news__item {
    flex-wrap: wrap;
    padding-block: 3.333vw 5.333vw;
    padding-inline: 3.067vw 0;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__item {
    padding-block: 1.286vw;
    padding-inline: 2.357vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__item {
    padding-block: 18px;
    padding-inline: 33px;
  }
}
.p-top-news__item:not(:last-child) {
  border-bottom: 1px solid #b3b3b3;
}

.p-top-news__item-date {
  color: #333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-top-news__item-date {
    font-size: 3.2vw;
    line-height: 1.5;
    width: 21.6vw;
  }
}
@media screen and (min-width: 800px) {
  .p-top-news__item-date {
    line-height: 1.667;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__item-date {
    font-size: 1.286vw;
    width: 12.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__item-date {
    font-size: 18px;
    width: 178px;
  }
}

.p-top-news__item-cat {
  align-items: center;
  display: grid;
  gap: 0.5em;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 799px) {
  .p-top-news__item-cat {
    flex-wrap: wrap;
    font-size: 2.933vw;
    line-height: 1.636;
  }
}
@media screen and (min-width: 800px) {
  .p-top-news__item-cat {
    line-height: 1.875;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__item-cat {
    font-size: 1.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__item-cat {
    font-size: 16px;
  }
}
.p-top-news__item-cat-link {
  background: var(--color-secondary);
  color: #fff;
  display: block;
  padding-inline: 0.5em;
}
@media screen and (max-width: 799px) {
  .p-top-news__item-cat-link {
    border-radius: 0.747vw;
    min-width: 16vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__item-cat-link {
    border-radius: 0.357vw;
    min-width: 7.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__item-cat-link {
    border-radius: 5px;
    min-width: 100px;
  }
}
@media (any-hover: hover) {
  .p-top-news__item-cat-link:hover {
    -webkit-filter: contrast(1.2);
            filter: contrast(1.2);
  }
}

.p-top-news__item-label {
  letter-spacing: 0.05em;
  width: 100%;
}
@media screen and (max-width: 799px) {
  .p-top-news__item-label {
    font-size: 3.467vw;
    line-height: 1.346;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-top-news__item-label {
    line-height: 1.667;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__item-label {
    font-size: 1.286vw;
    -webkit-margin-start: 1.714vw;
            margin-inline-start: 1.714vw;
    max-width: 53.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__item-label {
    font-size: 18px;
    -webkit-margin-start: 24px;
            margin-inline-start: 24px;
    max-width: 745px;
  }
}
@media (any-hover: hover) {
  .p-top-news__item-label-link:hover {
    color: var(--color-primary);
    font-weight: 700;
  }
}

.p-top-news__more {
  margin-inline: auto 0;
}
@media screen and (max-width: 799px) {
  .p-top-news__more {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    width: 33.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__more {
    -webkit-margin-before: 0.357vw;
            margin-block-start: 0.357vw;
    width: 12vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__more {
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    width: 168px;
  }
}
.p-top-news__more-link {
  display: block;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-top-news__more-link {
    padding-block: 2.4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__more-link {
    padding-block: 0.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__more-link {
    padding-block: 12px;
  }
}
@media (any-hover: hover) {
  .p-top-news__more-link:hover {
    color: var(--color-primary);
    font-weight: 700;
  }
  .p-top-news__more-link:hover .p-top-news__more-border {
    stroke: var(--color-primary);
  }
}
.p-top-news__more-label {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-top-news__more-label {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-top-news__more-label {
    font-size: 1.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-top-news__more-label {
    font-size: 16px;
  }
}
.p-top-news__more-border {
  bottom: 0;
  fill: none;
  position: absolute;
  right: 0;
  stroke: var(--color-font);
  stroke-miterlimit: 10;
  width: 100%;
}

@media screen and (max-width: 799px) {
  .p-content-cards__inner {
    padding-block: 22vw 9.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-content-cards__inner {
    padding-block: 7.143vw 3.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-content-cards__inner {
    padding-block: 100px 48px;
  }
}

.p-content-cards__list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-content-cards__list {
    gap: 6vw;
    grid-template-columns: 1fr;
    -webkit-margin-before: 10vw;
            margin-block-start: 10vw;
    margin-inline: auto;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) {
  .p-content-cards__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-content-cards__list {
    gap: 3.214vw 2.143vw;
    -webkit-margin-before: 2.857vw;
            margin-block-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-content-cards__list {
    gap: 45px 30px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-content-cards__thumb {
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  .p-content-cards__thumb {
    border-radius: 2.104vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-content-cards__thumb {
    border-radius: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-content-cards__thumb {
    border-radius: 10px;
  }
}
.p-content-cards__thumb--products {
  border: 1px solid #b3b3b3;
}

.p-content-cards__item-title {
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media screen and (max-width: 799px) {
  .p-content-cards__item-title {
    font-size: 3.733vw;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-content-cards__item-title {
    font-size: 1.143vw;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}
@media screen and (min-width: 1400px) {
  .p-content-cards__item-title {
    font-size: 16px;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}

.p-contact__inner {
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-contact__inner {
    padding-block: 8.667vw 18vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__inner {
    padding-block: 3.571vw 6.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__inner {
    padding-block: 50px 95px;
  }
}
.p-contact__inner::before {
  background: url(../images/top/contact_bg.svg) 0 0/contain no-repeat;
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 799px) {
  .p-contact__inner::before {
    bottom: -4.667vw;
    height: 45.333vw;
    right: -5.333vw;
    width: 45.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__inner::before {
    bottom: -2.5vw;
    height: 33.143vw;
    right: -9.643vw;
    width: 33.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__inner::before {
    bottom: -35px;
    height: 464px;
    right: -135px;
    width: 464px;
  }
}
.p-contact__inner::after {
  background: #b3b3b3;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
}
@media screen and (max-width: 799px) {
  .p-contact__inner::after {
    left: 4vw;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) {
  .p-contact__inner::after {
    left: 0;
    width: 100%;
  }
}

.p-contact__header,
.p-contact__body {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 799px) {
  .p-contact__header,
  .p-contact__body {
    margin-inline: auto;
    width: 92vw;
  }
}

.p-contact__icon {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-contact__icon {
    width: 18.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__icon {
    width: 6.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__icon {
    width: 90px;
  }
}

.p-contact__title {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-contact__title {
    font-size: 5.867vw;
    line-height: 1.75;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) {
  .p-contact__title {
    line-height: 1.2;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__title {
    font-size: 2.143vw;
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__title {
    font-size: 30px;
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
  }
}

.p-contact__text {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-contact__text {
    font-size: 3.733vw;
    line-height: 1.786;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-contact__text {
    line-height: 1.2;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__text {
    font-size: 1.143vw;
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__text {
    font-size: 16px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.p-contact__button {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-contact__button {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    width: 57.6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__button {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
    width: 21.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__button {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    width: 300px;
  }
}
@media screen and (max-width: 799px) {
  .p-contact__button .c-button__link {
    height: 14.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-contact__button .c-button__link {
    height: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-contact__button .c-button__link {
    height: 80px;
  }
}
@media screen and (max-width: 799px) {
  .p-contact__button .c-button__label {
    font-size: 4.8vw;
  }
}

@media screen and (max-width: 799px) {
  .p-about-header {
    -webkit-padding-after: 4vw;
            padding-block-end: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-header {
    -webkit-padding-after: 5.714vw;
            padding-block-end: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-header {
    -webkit-padding-after: 80px;
            padding-block-end: 80px;
  }
}

.p-about-top {
  background-color: #ebf3dc;
  background-position: 50% 0, 50% 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .p-about-top {
    background-image: url(../images/about/about_bg_sp_01.webp), url(../images/about/about_bg_sp_02.webp);
    background-size: 100% auto;
    padding-block: 13.333vw 18.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-about-top {
    background-image: url(../images/about/about_bg_pc_01.webp), url(../images/about/about_bg_pc_02.webp);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-top {
    background-size: 171.429vw auto;
    padding-block: 2.143vw 6.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-top {
    background-repeat: repeat-x, no-repeat;
    padding-block: 30px 85px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-minima {
    margin-inline: auto;
    -webkit-padding-after: 16.667vw;
            padding-block-end: 16.667vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) {
  .p-about-minima {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima {
    -webkit-padding-after: 6.071vw;
            padding-block-end: 6.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima {
    -webkit-padding-after: 85px;
            padding-block-end: 85px;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__content {
    width: 39.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__content {
    width: 550px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-minima__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__text {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.p-about-minima__info {
  border-top: dotted var(--color-primary);
  display: grid;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-about-minima__info {
    border-top-width: 1px;
    font-size: 3.733vw;
    gap: 2.667vw;
    grid-template-columns: 100%;
    line-height: 1.714;
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    -webkit-padding-before: 6.667vw;
            padding-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-about-minima__info {
    border-top-width: 2px;
    line-height: 1.875;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__info {
    font-size: 1.143vw;
    gap: 1.429vw;
    grid-template-columns: 13.571vw 24.286vw;
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
    -webkit-padding-before: 2.5vw;
            padding-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__info {
    font-size: 16px;
    gap: 20px;
    grid-template-columns: 190px 340px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-padding-before: 35px;
            padding-block-start: 35px;
  }
}

.p-about-minima__info-row {
  align-items: center;
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-about-minima__info-row {
    gap: 2vw;
    grid-template-columns: 18.667vw 1fr;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__info-row {
    gap: 1.071vw;
    grid-template-columns: 7.143vw 1fr;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__info-row {
    gap: 15px;
    grid-template-columns: 100px 1fr;
  }
}

.p-about-minima__info-head {
  background: var(--color-primary);
  color: #fff;
}
@media screen and (max-width: 799px) {
  .p-about-minima__info-head {
    border-radius: 0.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__info-head {
    border-radius: 0.357vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__info-head {
    border-radius: 5px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-minima__image {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-minima__image {
    -webkit-margin-before: 2.143vw;
            margin-block-start: 2.143vw;
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-minima__image {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    width: 580px;
  }
}

.p-about-story {
  background: #fff;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-about-story {
    border-radius: 4vw;
    margin-inline: auto;
    -webkit-padding-after: 9.333vw;
            padding-block-end: 9.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-story {
    border-radius: 2.143vw;
    -webkit-padding-after: 3.929vw;
            padding-block-end: 3.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-story {
    border-radius: 30px;
    -webkit-padding-after: 55px;
            padding-block-end: 55px;
  }
}

.p-about-story__title {
  background: var(--color-primary);
  color: #fff;
  letter-spacing: 0.05em;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-about-story__title {
    border-bottom-left-radius: 6.4vw;
    border-bottom-right-radius: 6.4vw;
    font-size: 4vw;
    line-height: 1.5;
    padding-block: 2.533vw;
    width: 60vw;
  }
}
@media screen and (min-width: 800px) {
  .p-about-story__title {
    line-height: 1.7;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-story__title {
    border-bottom-left-radius: 3.429vw;
    border-bottom-right-radius: 3.429vw;
    font-size: 1.429vw;
    padding-block: 0.5vw;
    width: 32.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-story__title {
    border-bottom-left-radius: 48px;
    border-bottom-right-radius: 48px;
    font-size: 20px;
    padding-block: 7px;
    width: 450px;
  }
}

.p-about-story__deco {
  position: absolute;
}
@media screen and (max-width: 799px) {
  .p-about-story__deco {
    right: -26vw;
    top: -15.333vw;
    width: 62.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-story__deco {
    right: -1.071vw;
    top: -10vw;
    width: 33.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-story__deco {
    right: -15px;
    top: -140px;
    width: 470px;
  }
}

.p-about-story__text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-about-story__text {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-story__text {
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
    width: 71.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-story__text {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    width: 1000px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-shingi__inner {
    margin-inline: auto;
    padding-block: 14.667vw 16vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) {
  .p-about-shingi__inner {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-shingi__inner {
    padding-block: 5.357vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-shingi__inner {
    padding-block: 75px;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-shingi__image {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-shingi__image {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-shingi__content {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-shingi__content {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-shingi__content {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-about-shingi__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-about-shingi__text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-about-shingi__text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

.p-certification {
  background: #faf9f7;
}

@media screen and (max-width: 799px) {
  .p-certification__inner {
    margin-inline: auto;
    padding-block: 17.333vw 16vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__inner {
    padding-block: 8.571vw 7.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__inner {
    padding-block: 120px 110px;
  }
}

@media screen and (max-width: 799px) {
  .p-certification__text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__text {
    -webkit-margin-before: 0.357vw;
            margin-block-start: 0.357vw;
    text-align: center;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__text {
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    text-align: center;
  }
}

.p-certification__cards-list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-certification__cards-list {
    gap: 6vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-certification__cards-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__cards-list {
    gap: 2.143vw;
    -webkit-margin-before: 3.929vw;
            margin-block-start: 3.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__cards-list {
    gap: 30px;
    -webkit-margin-before: 55px;
            margin-block-start: 55px;
  }
}

.p-certification__item {
  background: #fff;
}
@media screen and (max-width: 799px) {
  .p-certification__item {
    padding-block: 9.333vw 8.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-certification__item {
    display: grid;
    gap: 0;
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__item {
    padding-block: 3.571vw 2.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__item {
    padding-block: 50px 30px;
  }
}

.p-certification__item-logo {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-certification__item-logo {
    width: 38.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__item-logo {
    width: 12.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__item-logo {
    width: 180px;
  }
}

.p-certification__item-title {
  letter-spacing: 0.05em;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-certification__item-title {
    font-size: 4.267vw;
    line-height: 1.5;
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-certification__item-title {
    align-items: center;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 100%;
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__item-title {
    font-size: 1.429vw;
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__item-title {
    font-size: 20px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

.p-certification__item-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-certification__item-text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__item-text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__item-text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

@media screen and (max-width: 799px) {
  .p-profile__inner {
    margin-inline: auto;
    padding-block: 12.667vw 7.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__inner {
    padding-block: 6.071vw 4.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__inner {
    padding-block: 85px 60px;
  }
}

.p-profile__box {
  border: 1px solid #b3b3b3;
}
@media screen and (max-width: 799px) {
  .p-profile__box {
    border-radius: 4vw;
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    padding-block: 8vw 7.333vw;
    padding-inline: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__box {
    border-radius: 2.143vw;
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
    padding-block: 2.5vw 3.214vw;
    -webkit-padding-end: 5.714vw;
            padding-inline-end: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__box {
    border-radius: 30px;
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    padding-block: 35px 45px;
    -webkit-padding-end: 80px;
            padding-inline-end: 80px;
  }
}

@media screen and (min-width: 800px) {
  .p-profile__box-inner {
    align-items: center;
    display: grid;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__box-inner {
    grid-template-columns: 31.786vw 47.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__box-inner {
    grid-template-columns: 445px 670px;
  }
}

.p-profile__name {
  color: #2d2a29;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 799px) {
  .p-profile__name {
    font-size: 3.733vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__name {
    font-size: 2vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__name {
    font-size: 28px;
  }
}

@media screen and (max-width: 799px) {
  .p-profile__table {
    -webkit-margin-before: 0.667vw;
            margin-block-start: 0.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-profile__table {
    line-height: 1.944;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__table {
    font-size: 1.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__table {
    font-size: 18px;
  }
}

@media screen and (max-width: 799px) {
  .p-profile__table-row {
    padding-block: 4vw 3.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-profile__table-row {
    display: grid;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__table-row {
    grid-template-columns: 12.5vw 35.357vw;
    padding-block: 1.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__table-row {
    grid-template-columns: 175px 495px;
    padding-block: 17px;
  }
}
.p-profile__table-row:not(:last-child) {
  border-bottom: 1px solid #b3b3b3;
}

.p-profile__table-head {
  color: #333;
}
@media screen and (max-width: 799px) {
  .p-profile__table-head {
    font-size: 3.467vw;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-profile__table-head {
    -webkit-padding-start: 2.5vw;
            padding-inline-start: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-profile__table-head {
    -webkit-padding-start: 35px;
            padding-inline-start: 35px;
  }
}

@media screen and (max-width: 799px) {
  .p-profile__table-cell {
    font-size: 3.467vw;
    letter-spacing: 0.05em;
    line-height: 1.538;
    -webkit-margin-before: 0.667vw;
            margin-block-start: 0.667vw;
  }
}

@media (any-hover: hover) {
  .p-profile__link {
    text-decoration: underline;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
  }
  .p-profile__link:hover {
    color: var(--color-primary);
    text-decoration: none;
  }
}

@media screen and (max-width: 799px) {
  .p-issues-header {
    -webkit-padding-after: 6vw;
            padding-block-end: 6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-issues-header {
    -webkit-padding-after: 2.857vw;
            padding-block-end: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-issues-header {
    -webkit-padding-after: 40px;
            padding-block-end: 40px;
  }
}

.p-issues-title {
  background-position: 0 0;
  background-repeat: no-repeat;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-issues-title {
    background-size: 7.467vw auto;
    font-size: 7.467vw;
    line-height: 1.5;
    -webkit-padding-before: 6.667vw;
            padding-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-issues-title {
    line-height: 1.391;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-issues-title {
    background-size: 4vw auto;
    font-size: 3.286vw;
    -webkit-padding-before: 3.571vw;
            padding-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-issues-title {
    background-size: 56px auto;
    font-size: 46px;
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
  }
}

.p-current-situation {
  background-color: #e6e6e6;
  background-position: 50% 0, 50% 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .p-current-situation {
    background-image: url(../images/issues/current-situation_bg_sp_01.webp), url(../images/issues/current-situation_bg_sp_02.webp);
    background-size: 100% auto;
  }
}
@media screen and (min-width: 800px) {
  .p-current-situation {
    background-image: url(../images/issues/current-situation_bg_pc_01.webp), url(../images/issues/current-situation_bg_pc_02.webp);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation {
    background-size: 171.429vw auto;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation {
    background-repeat: repeat-x, no-repeat;
  }
}
.p-current-situation .p-issues-title {
  background-image: url(../images/issues/issues_num_01@2x.webp);
}

@media screen and (max-width: 799px) {
  .p-current-situation__inner {
    margin-inline: auto;
    padding-block: 5.333vw 16vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__inner {
    padding-block: 3.214vw 8.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__inner {
    padding-block: 45px 125px;
  }
}

.p-current-situation__cards-list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-current-situation__cards-list {
    gap: 5.333vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-current-situation__cards-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__cards-list {
    gap: 3.214vw 2.143vw;
    -webkit-margin-before: 3.214vw;
            margin-block-start: 3.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__cards-list {
    gap: 45px 30px;
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
  }
}

.p-current-situation__item {
  background: #fff;
}
@media screen and (max-width: 799px) {
  .p-current-situation__item {
    border-radius: 1.333vw;
    min-height: 101.333vw;
    padding-block: 7.333vw 12vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__item {
    border-radius: 0.714vw;
    min-height: 35.714vw;
    padding-block: 2.5vw 2.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__item {
    border-radius: 10px;
    min-height: 500px;
    padding-block: 35px 30px;
  }
}

.p-current-situation__num {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-current-situation__num {
    width: 8vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__num {
    width: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__num {
    width: 40px;
  }
}

.p-current-situation__icon {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-current-situation__icon {
    -webkit-margin-before: 2.267vw;
            margin-block-start: 2.267vw;
    width: 28vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__icon {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
    width: 10vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__icon {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    width: 140px;
  }
}

.p-current-situation__sub-title {
  color: #333;
  letter-spacing: 0.05em;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-current-situation__sub-title {
    font-size: 4.8vw;
    line-height: 1.25;
    -webkit-margin-before: 1.333vw;
            margin-block-start: 1.333vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-current-situation__sub-title {
    line-height: 1.304;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__sub-title {
    font-size: 1.643vw;
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__sub-title {
    font-size: 23px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    width: 320px;
  }
}

.p-current-situation__text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-current-situation__text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-current-situation__text {
    letter-spacing: 0;
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-current-situation__text {
    letter-spacing: 0;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

.p-incinerator-problems .p-issues-title {
  background-image: url(../images/issues/issues_num_02@2x.webp);
}

@media screen and (max-width: 799px) {
  .p-incinerator-problems__inner {
    margin-inline: auto;
    padding-block: 14vw 16vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__inner {
    padding-block: 6.786vw 7.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__inner {
    padding-block: 95px 110px;
  }
}

@media screen and (min-width: 800px) {
  .p-incinerator-problems__header {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__header-content {
    -webkit-padding-before: 0.714vw;
            padding-block-start: 0.714vw;
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__header-content {
    -webkit-padding-before: 10px;
            padding-block-start: 10px;
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-incinerator-problems__header-text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__header-text {
    -webkit-padding-before: 0.714vw;
            padding-block-start: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__header-text {
    -webkit-padding-before: 10px;
            padding-block-start: 10px;
  }
}

@media screen and (max-width: 799px) {
  .p-incinerator-problems__image {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__image {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__image {
    width: 580px;
  }
}

.p-incinerator-problems__body {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__body {
    gap: 5.333vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 12vw;
            margin-block-start: 12vw;
  }
}
@media screen and (min-width: 800px) {
  .p-incinerator-problems__body {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__body {
    gap: 2.143vw;
    -webkit-margin-before: 3.571vw;
            margin-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__body {
    gap: 30px;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.p-incinerator-problems__section {
  border-style: solid;
  color: #333;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__section {
    border-width: 1px;
    border-radius: 4vw;
    padding-block: 8vw;
    -webkit-padding-start: 6vw;
            padding-inline-start: 6vw;
  }
}
@media screen and (min-width: 800px) {
  .p-incinerator-problems__section {
    border-width: 2px;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__section {
    border-radius: 2.143vw;
    padding-block: 4.286vw;
    -webkit-padding-start: 2.857vw;
            padding-inline-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__section {
    border-radius: 30px;
    padding-block: 60px;
    -webkit-padding-start: 40px;
            padding-inline-start: 40px;
  }
}
.p-incinerator-problems__section--issue {
  border-color: #ccc;
}
.p-incinerator-problems__section--issue .p-incinerator-problems__item-icon {
  fill: #b3b3b3;
}
.p-incinerator-problems__section--vision {
  border-color: #daeab5;
}
.p-incinerator-problems__section--vision .p-incinerator-problems__item-icon {
  fill: var(--color-primary);
}

.p-incinerator-problems__sub-title {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__sub-title {
    font-size: 4.533vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__sub-title {
    font-size: 1.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__sub-title {
    font-size: 24px;
  }
}

.p-incinerator-problems__list {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__list {
    gap: 4vw;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 68vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__list {
    gap: 2.143vw;
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
    width: 36.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__list {
    gap: 30px;
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    width: 505px;
  }
}

.p-incinerator-problems__item {
  position: relative;
}

.p-incinerator-problems__item-icon {
  left: 0;
  position: absolute;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__item-icon {
    top: 0.667vw;
    width: 3.733vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__item-icon {
    top: 0.214vw;
    width: 1.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__item-icon {
    top: 3px;
    width: 22px;
  }
}

.p-incinerator-problems__item-label {
  display: block;
  letter-spacing: 0.05em;
  margin-inline: auto 0;
}
@media screen and (max-width: 799px) {
  .p-incinerator-problems__item-label {
    font-size: 3.733vw;
    line-height: 1.5;
    width: 62.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-incinerator-problems__item-label {
    line-height: 1.4;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-incinerator-problems__item-label {
    font-size: 1.429vw;
    width: 33.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-incinerator-problems__item-label {
    font-size: 20px;
    width: 470px;
  }
}

.p-certification__item-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-certification__item-text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 69.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-certification__item-text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-certification__item-text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

.p-bioplastic-roadmap {
  background: #ebf3dc;
}
.p-bioplastic-roadmap .p-issues-title {
  background-image: url(../images/issues/issues_num_03@2x.webp);
}

.p-bioplastic-roadmap__inner {
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__inner {
    margin-inline: auto;
    padding-block: 12vw 15.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__inner {
    padding-block: 6.429vw 4.643vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__inner {
    padding-block: 90px 65px;
  }
}

@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__header-content {
    position: relative;
    z-index: 5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__header-content {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__header-content {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__header-text {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__header-text {
    -webkit-padding-before: 1.071vw;
            padding-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__header-text {
    -webkit-padding-before: 15px;
            padding-block-start: 15px;
  }
}

@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__image {
    -webkit-margin-before: 2vw;
            margin-block-start: 2vw;
    margin-inline: -4.667vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__image {
    position: absolute;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__image {
    right: -2.143vw;
    top: 2.857vw;
    width: 47.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__image {
    right: -30px;
    top: 40px;
    width: 670px;
  }
}

.p-bioplastic-roadmap__content {
  background: #fff;
}
@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__content {
    border-radius: 4vw;
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
    padding-block: 7.333vw 10.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__content {
    position: relative;
    z-index: 5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__content {
    border-radius: 2.143vw;
    -webkit-margin-before: 3.929vw;
            margin-block-start: 3.929vw;
    padding-block: 3.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__content {
    border-radius: 30px;
    -webkit-margin-before: 55px;
            margin-block-start: 55px;
    padding-block: 55px;
  }
}

.p-bioplastic-roadmap__table {
  display: grid;
  grid-template-columns: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__table {
    gap: 6.667vw;
    width: 64vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__table {
    gap: 1.429vw;
    width: 76.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__table {
    gap: 20px;
    width: 1070px;
  }
}

@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__table-row {
    display: grid;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__table-row {
    grid-template-columns: 16.429vw 58.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__table-row {
    grid-template-columns: 230px 820px;
  }
}

.p-bioplastic-roadmap__table-head {
  background: var(--color-primary);
  border-radius: 100vw;
  color: #fff;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__table-head {
    font-size: 4vw;
    line-height: 1.6;
    margin-inline: auto;
    width: 46.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__table-head {
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__table-head {
    font-size: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__table-head {
    font-size: 20px;
  }
}

.p-bioplastic-roadmap__table-data {
  color: #333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-bioplastic-roadmap__table-data {
    font-size: 3.733vw;
    line-height: 1.786;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-bioplastic-roadmap__table-data {
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-bioplastic-roadmap__table-data {
    font-size: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-bioplastic-roadmap__table-data {
    font-size: 20px;
  }
}

.p-plastic-limits {
  background: url(../images/issues/plastic-limits_bg.webp) no-repeat;
}
@media screen and (max-width: 799px) {
  .p-plastic-limits {
    background-position: -60vw 0;
    background-size: 320vw auto;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits {
    background-position: 50% 0;
    background-size: 171.429vw auto;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits {
    background-position: 50% 0;
  }
}
.p-plastic-limits .p-issues-title {
  background-image: url(../images/issues/issues_num_04@2x.webp);
}

.p-plastic-limits__inner {
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-plastic-limits__inner {
    overflow: hidden;
    padding-block: 10.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-plastic-limits__inner {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__inner {
    padding-block: 8.571vw 11.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__inner {
    padding-block: 120px 160px;
  }
}

@media screen and (max-width: 799px) {
  .p-plastic-limits__content {
    margin-inline: auto;
    position: relative;
    width: 80vw;
    z-index: 5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__content {
    width: 42.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__content {
    width: 600px;
  }
}

.p-plastic-limits__header {
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 799px) {
  .p-plastic-limits__header {
    -webkit-padding-after: 7.333vw;
            padding-block-end: 7.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-plastic-limits__header {
    position: relative;
    z-index: 5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__header {
    -webkit-padding-after: 3.214vw;
            padding-block-end: 3.214vw;
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__header {
    -webkit-padding-after: 45px;
            padding-block-end: 45px;
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-plastic-limits__header-text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__header-text {
    -webkit-padding-before: 1.429vw;
            padding-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__header-text {
    -webkit-padding-before: 20px;
            padding-block-start: 20px;
  }
}

.p-plastic-limits__list {
  display: grid;
  grid-template-columns: 100%;
}
@media screen and (max-width: 799px) {
  .p-plastic-limits__list {
    gap: 5.333vw;
    -webkit-margin-before: 8vw;
            margin-block-start: 8vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__list {
    gap: 2.143vw;
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__list {
    gap: 30px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}

.p-plastic-limits__item {
  letter-spacing: 0.05em;
  -webkit-margin-start: 1.2em;
          margin-inline-start: 1.2em;
}
@media screen and (max-width: 799px) {
  .p-plastic-limits__item {
    font-size: 3.733vw;
    line-height: 1.786;
  }
}
@media screen and (min-width: 800px) {
  .p-plastic-limits__item {
    line-height: 1.75;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__item {
    font-size: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__item {
    font-size: 20px;
  }
}
.p-plastic-limits__item::before {
  color: #333;
  content: "・";
  font-weight: 700;
  -webkit-margin-start: -1.2em;
          margin-inline-start: -1.2em;
  text-indent: 1.2em;
}

.p-plastic-limits__item-em {
  color: #333;
}

@media screen and (max-width: 799px) {
  .p-plastic-limits__image-wrap {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    margin-inline: auto;
    position: relative;
    width: 72vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__image-wrap {
    -webkit-margin-before: 4.286vw;
            margin-block-start: 4.286vw;
    width: 38.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__image-wrap {
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
    width: 540px;
  }
}

.p-plastic-limits__image {
  width: 100%;
}

@media screen and (max-width: 799px) {
  .p-plastic-limits__deco {
    position: absolute;
    right: -18.667vw;
    top: -54vw;
    width: 53.067vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-plastic-limits__deco {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    -webkit-margin-start: 5vw;
            margin-inline-start: 5vw;
    width: 28.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-plastic-limits__deco {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    -webkit-margin-start: 70px;
            margin-inline-start: 70px;
    width: 398px;
  }
}

@media screen and (max-width: 799px) {
  .p-products-header {
    -webkit-padding-after: 10.667vw;
            padding-block-end: 10.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products-header {
    -webkit-padding-after: 3.571vw;
            padding-block-end: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products-header {
    -webkit-padding-after: 50px;
            padding-block-end: 50px;
  }
}

.p-products-body {
  background-color: #faf9f7;
  background-position: 50% 0;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .p-products-body {
    background-image: url(../images/products/products_sp_01@2x.webp);
    background-size: 100% auto;
  }
}
@media screen and (min-width: 800px) {
  .p-products-body {
    background-image: url(../images/products/products_bg_pc_01.webp);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products-body {
    background-size: 171.429vw auto;
  }
}
@media screen and (min-width: 1400px) {
  .p-products-body {
    background-repeat: repeat-x, no-repeat;
  }
}

@media screen and (max-width: 799px) {
  .p-products-body__inner {
    padding-block: 6.667vw 22vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products-body__inner {
    padding-block: 4.286vw 8.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products-body__inner {
    padding-block: 60px 120px;
  }
}

@media screen and (max-width: 799px) {
  .p-products__list {
    margin-inline: auto;
    width: 80vw;
  }
}

@media screen and (min-width: 800px) {
  .p-products__article {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 799px) {
  .p-products__article:not(:first-child) {
    -webkit-margin-before: 12vw;
            margin-block-start: 12vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products__article:not(:first-child) {
    -webkit-margin-before: 6.786vw;
            margin-block-start: 6.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products__article:not(:first-child) {
    -webkit-margin-before: 95px;
            margin-block-start: 95px;
  }
}
@media screen and (min-width: 800px) {
  .p-products__article:nth-child(2n) {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products__content {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products__content {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-products__post {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products__post {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products__post {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}
.p-products__post > * + * {
  -webkit-margin-before: 1.8em;
          margin-block-start: 1.8em;
}
.p-products__post .is-style-products-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
@media screen and (max-width: 799px) {
  .p-products__post .is-style-products-list {
    gap: 1.067vw;
  }
}
.p-products__post .is-style-products-list li {
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .p-products__post .is-style-products-list li {
    border-radius: 1.067vw;
    font-size: 3.467vw;
    line-height: 2.154;
    padding-inline: 0.5em;
  }
}
@media screen and (min-width: 800px) {
  .p-products__post .is-style-products-list li {
    line-height: 2.375;
    padding-inline: 0.7em;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products__post .is-style-products-list li {
    border-radius: 0.571vw;
    font-size: 1.143vw;
    min-width: 5.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products__post .is-style-products-list li {
    border-radius: 8px;
    font-size: 16px;
    min-width: 72px;
  }
}

@media screen and (max-width: 799px) {
  .p-products__thumb {
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-products__thumb {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-products__thumb {
    width: 580px;
  }
}

.p-material__inner {
  border-bottom: 1px solid #b3b3b3;
}
@media screen and (max-width: 799px) {
  .p-material__inner {
    margin-inline: auto;
    padding-block: 11.333vw 13.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-material__inner {
    padding-block: 4.643vw 7.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-material__inner {
    padding-block: 65px 100px;
  }
}

@media screen and (max-width: 799px) {
  .p-material__image {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-material__image {
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-material__image {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
  }
}

@media screen and (max-width: 799px) {
  .p-compost-header {
    -webkit-padding-after: 15.333vw;
            padding-block-end: 15.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-compost-header {
    -webkit-padding-after: 5.714vw;
            padding-block-end: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-compost-header {
    -webkit-padding-after: 80px;
            padding-block-end: 80px;
  }
}

.p-definition {
  background-color: #ebf3dc;
  background-position: 50% 0, 50% 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .p-definition {
    background-image: url(../images/compost/definition_bg_sp_01.webp), url(../images/compost/definition_bg_sp_02.webp);
    background-size: 100% auto;
  }
}
@media screen and (min-width: 800px) {
  .p-definition {
    background-image: url(../images/compost/definition_bg_pc_01.webp), url(../images/compost/definition_bg_pc_02.webp);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition {
    background-size: 171.429vw auto;
    padding-block: 2.143vw 6.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition {
    background-repeat: repeat-x, no-repeat;
    padding-block: 30px 85px;
  }
}

@media screen and (max-width: 799px) {
  .p-definition__inner {
    -webkit-margin-start: 10vw;
            margin-inline-start: 10vw;
    padding-block: 1.333vw 22.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__inner {
    padding-block: 1.429vw 7.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__inner {
    padding-block: 20px 110px;
  }
}

@media screen and (max-width: 799px) {
  .p-definition .c-title {
    width: 82.667vw;
  }
}

@media screen and (max-width: 799px) {
  .p-definition__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

.p-definition__cards-list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-definition__cards-list {
    gap: 8vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) {
  .p-definition__cards-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__cards-list {
    gap: 2.357vw;
    -webkit-margin-before: 3.571vw;
            margin-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__cards-list {
    gap: 33px;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.p-definition__item {
  background: #fff;
  box-sizing: content-box;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-definition__item {
    border-radius: 1.333vw;
    padding: 2.4vw;
    -webkit-padding-before: 9.333vw;
            padding-block-start: 9.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-definition__item {
    display: grid;
    gap: 0;
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__item {
    border-radius: 0.714vw;
    padding: 0.714vw;
    -webkit-padding-before: 3.571vw;
            padding-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__item {
    border-radius: 10px;
    padding: 10px;
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
  }
}
.p-definition__item--outlined {
  border-radius: 0;
}
.p-definition__item--outlined::before {
  border: solid var(--color-secondary);
  box-sizing: content-box;
  content: "";
  display: block;
  height: 99%;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 99%;
}
@media screen and (max-width: 799px) {
  .p-definition__item--outlined::before {
    border-radius: 1.333vw;
    border-width: 0.8vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__item--outlined::before {
    border-radius: 0.714vw;
    border-width: 0.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__item--outlined::before {
    border-radius: 10px;
    border-width: 6px;
  }
}

.p-definition__item-title-ja {
  display: block;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-definition__item-title-ja {
    font-size: 5.067vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__item-title-ja {
    font-size: 1.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__item-title-ja {
    font-size: 24px;
  }
}

.p-definition__item-title-en {
  display: block;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-definition__item-title-en {
    font-size: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__item-title-en {
    font-size: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__item-title-en {
    font-size: 20px;
  }
}

.p-definition__item-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-definition__item-text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 67.467vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__item-text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__item-text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

.p-definition__point {
  background: #f2f2f2;
}
@media screen and (max-width: 799px) {
  .p-definition__point {
    border-radius: 1.333vw;
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    -webkit-padding-after: 6.667vw;
            padding-block-end: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__point {
    border-radius: 0.714vw;
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
    -webkit-padding-after: 2.857vw;
            padding-block-end: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__point {
    border-radius: 10px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-padding-after: 40px;
            padding-block-end: 40px;
  }
}

.p-definition__point-title {
  background: var(--color-primary);
  color: #fff;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-definition__point-title {
    border-bottom-left-radius: 1.333vw;
    border-bottom-right-radius: 1.333vw;
    font-size: 4vw;
    line-height: 1.6;
    width: 24vw;
  }
}
@media screen and (min-width: 800px) {
  .p-definition__point-title {
    line-height: 1.579;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__point-title {
    border-bottom-left-radius: 1.071vw;
    border-bottom-right-radius: 1.071vw;
    font-size: 1.357vw;
    width: 7.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__point-title {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    font-size: 19px;
    width: 110px;
  }
}

.p-definition__point-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-definition__point-text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 67.467vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-definition__point-text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 22.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-definition__point-text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 320px;
  }
}

@media screen and (max-width: 799px) {
  .p-pla__inner {
    -webkit-margin-start: 10vw;
            margin-inline-start: 10vw;
    padding-block: 17.333vw 8.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-pla__inner {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-pla__inner {
    padding-block: 8.571vw 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-pla__inner {
    padding-block: 120px 50px;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-pla__content {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-pla__content {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-pla__title {
    width: 82.667vw;
  }
}
@media screen and (max-width: 799px) {
  .p-pla__title .c-title__ja {
    font-size: 7.067vw;
    line-height: 1.585;
  }
}
@media screen and (min-width: 800px) {
  .p-pla__title .c-title__ja {
    line-height: 1.929;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-pla__title .c-title__ja {
    font-size: 2vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-pla__title .c-title__ja {
    font-size: 28px;
  }
}

@media screen and (max-width: 799px) {
  .p-pla__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-pla__text {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-pla__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

@media screen and (max-width: 799px) {
  .p-pla__image {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-pla__image {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-pla__image {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .p-equipment__inner {
    margin-inline: auto;
    padding-block: 9.333vw 16.667vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__inner {
    padding-block: 3.929vw 8.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__inner {
    padding-block: 55px 115px;
  }
}

@media screen and (max-width: 799px) {
  .p-equipment__title .c-title__ja {
    font-size: 7.067vw;
    line-height: 1.585;
  }
}
@media screen and (min-width: 800px) {
  .p-equipment__title .c-title__ja {
    line-height: 1.933;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__title .c-title__ja {
    font-size: 2.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__title .c-title__ja {
    font-size: 30px;
  }
}

.p-equipment__cards-list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-equipment__cards-list {
    gap: 6.667vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-equipment__cards-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__cards-list {
    gap: 1.714vw;
    -webkit-margin-before: 2.857vw;
            margin-block-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__cards-list {
    gap: 24px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-equipment__item {
  background: #f2f2f2;
}
@media screen and (max-width: 799px) {
  .p-equipment__item {
    border-radius: 1.333vw;
    padding-block: 9.333vw 8vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__item {
    border-radius: 0.714vw;
    min-height: 39.286vw;
    padding-block: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__item {
    border-radius: 10px;
    min-height: 550px;
    padding-block: 40px;
  }
}

.p-equipment__item-image {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-equipment__item-image {
    width: 62.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__item-image {
    width: 21.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__item-image {
    width: 300px;
  }
}

.p-equipment__item-title {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-equipment__item-title {
    font-size: 5.067vw;
    line-height: 1.789;
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-equipment__item-title {
    line-height: 2;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__item-title {
    font-size: 1.714vw;
    -webkit-margin-before: 2.143vw;
            margin-block-start: 2.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__item-title {
    font-size: 24px;
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.p-equipment__item-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-equipment__item-text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 62.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-equipment__item-text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
    width: 21.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-equipment__item-text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 300px;
  }
}

.p-compost-contact .c-page-contact__inner {
  position: relative;
}
.p-compost-contact .c-page-contact__header,
.p-compost-contact .c-page-contact__body {
  position: relative;
  z-index: 5;
}

.p-compost-contact__deco {
  position: absolute;
}
@media screen and (max-width: 799px) {
  .p-compost-contact__deco {
    left: 6.933vw;
    top: 25.067vw;
    width: 44vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-compost-contact__deco {
    left: 13vw;
    top: 3.143vw;
    width: 23.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-compost-contact__deco {
    left: 182px;
    top: 44px;
    width: 330px;
  }
}

@media screen and (max-width: 799px) {
  .p-flow-header {
    -webkit-padding-after: 2.667vw;
            padding-block-end: 2.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-flow-header {
    -webkit-padding-after: 5.714vw;
            padding-block-end: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-flow-header {
    -webkit-padding-after: 80px;
            padding-block-end: 80px;
  }
}

.p-process {
  background-color: #ebf3dc;
  background-position: 50% 0, 50% 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .p-process {
    background-image: url(../images/compost-flow/process_bg_sp_01.webp), url(../images/compost-flow/process_bg_sp_02.webp);
    background-size: 100% auto;
  }
}
@media screen and (min-width: 800px) {
  .p-process {
    background-image: url(../images/compost-flow/process_bg_pc_01.webp), url(../images/compost-flow/process_bg_pc_02.webp);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process {
    background-size: 171.429vw auto;
    padding-block: 2.143vw 6.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process {
    background-repeat: repeat-x, no-repeat;
    padding-block: 30px 85px;
  }
}

@media screen and (max-width: 799px) {
  .p-process__inner {
    margin-inline: auto;
    padding-block: 11.333vw 32vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__inner {
    padding-block: 1.429vw 8.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__inner {
    padding-block: 20px 115px;
  }
}

.p-process__cards-list {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-process__cards-list {
    gap: 6.667vw;
    grid-template-columns: 100%;
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-process__cards-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__cards-list {
    gap: 1.429vw;
    -webkit-margin-before: 2.857vw;
            margin-block-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__cards-list {
    gap: 20px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-process__item {
  background: #fff;
}
@media screen and (max-width: 799px) {
  .p-process__item {
    border-radius: 1.333vw;
    min-height: 118.667vw;
    padding-block: 5.333vw 8.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-process__item {
    display: grid;
    gap: 0;
    grid-row: span 4;
    grid-template-rows: subgrid;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item {
    border-radius: 0.714vw;
    padding-block: 1.429vw 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item {
    border-radius: 10px;
    padding-block: 20px 35px;
  }
}

.p-process__item-num {
  background: var(--color-primary);
  border-radius: 100vw;
  color: #fff;
}
@media screen and (max-width: 799px) {
  .p-process__item-num {
    font-size: 3.733vw;
    line-height: 1.714;
    -webkit-margin-start: 7.733vw;
            margin-inline-start: 7.733vw;
    width: 20vw;
  }
}
@media screen and (min-width: 800px) {
  .p-process__item-num {
    line-height: 1.579;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item-num {
    font-size: 1.357vw;
    -webkit-margin-start: 2.286vw;
            margin-inline-start: 2.286vw;
    width: 7vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item-num {
    font-size: 19px;
    -webkit-margin-start: 32px;
            margin-inline-start: 32px;
    width: 98px;
  }
}

.p-process__item-image {
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  .p-process__item-image {
    border-radius: 2.933vw;
    -webkit-margin-before: 4.267vw;
            margin-block-start: 4.267vw;
    width: 64.533vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item-image {
    border-radius: 0.714vw;
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
    width: 15.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item-image {
    border-radius: 10px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    width: 220px;
  }
}

.p-process__item-title {
  letter-spacing: 0.05em;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-process__item-title {
    font-size: 5.067vw;
    line-height: 1.789;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 64.533vw;
  }
}
@media screen and (min-width: 800px) {
  .p-process__item-title {
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item-title {
    font-size: 1.714vw;
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
    width: 15.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item-title {
    font-size: 24px;
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    width: 220px;
  }
}

.p-process__item-text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-process__item-text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 64.533vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item-text {
    -webkit-margin-before: 0.714vw;
            margin-block-start: 0.714vw;
    width: 16.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item-text {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    width: 230px;
  }
}

.p-process__item-notes {
  letter-spacing: 0;
}
@media screen and (max-width: 799px) {
  .p-process__item-notes {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 800px) {
  .p-process__item-notes {
    display: block;
    -webkit-margin-before: 0.5em;
            margin-block-start: 0.5em;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-process__item-notes {
    font-size: 0.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-process__item-notes {
    font-size: 12px;
  }
}

@media screen and (max-width: 799px) {
  .p-duration__inner {
    padding-block: 12.667vw 16.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-duration__inner {
    padding-block: 5.714vw 8.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-duration__inner {
    padding-block: 80px 120px;
  }
}

@media screen and (max-width: 799px) {
  .p-duration__title {
    margin-inline: auto;
    width: 80vw;
  }
}

.p-duration__table {
  border-left: 1px solid var(--color-primary);
  border-right: 1px solid var(--color-primary);
  font-weight: 400;
}
@media screen and (max-width: 799px) {
  .p-duration__table {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    margin-inline: auto;
    width: 88.8vw;
  }
}
@media screen and (min-width: 800px) {
  .p-duration__table {
    width: 100%;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-duration__table {
    -webkit-margin-before: 2.857vw;
            margin-block-start: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-duration__table {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-duration__head-cell,
.p-duration__subhead-cell,
.p-duration__data-cell {
  vertical-align: middle;
  width: calc(100% / 3);
  word-break: auto-phrase;
}
@media screen and (min-width: 800px) {
  .p-duration__head-cell,
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-duration__head-cell,
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    font-size: 1.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-duration__head-cell,
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    font-size: 24px;
  }
}

.p-duration__head-cell {
  background: var(--color-primary);
  color: #fff;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-duration__head-cell {
    font-size: 3.733vw;
    line-height: 1.929;
    padding-block: 1.733vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-duration__head-cell {
    padding-block: 0.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-duration__head-cell {
    padding-block: 12px;
  }
}

@media screen and (max-width: 799px) {
  .p-duration__head-cell + .p-duration__head-cell {
    border-left: 1px dotted #fff;
  }
}
@media screen and (min-width: 800px) {
  .p-duration__head-cell + .p-duration__head-cell {
    border-left: 2px dotted #fff;
  }
}

.p-duration__subhead-cell,
.p-duration__data-cell {
  border-bottom: 1px solid var(--color-primary);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    font-size: 3.067vw;
    line-height: 1.565;
    height: 22.667vw;
    padding-block: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    padding-block: 2vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-duration__subhead-cell,
  .p-duration__data-cell {
    padding-block: 28px;
  }
}

@media screen and (max-width: 799px) {
  .p-duration__subhead-cell + .p-duration__data-cell,
  .p-duration__data-cell + .p-duration__data-cell {
    border-left: 1px dotted var(--color-primary);
  }
}
@media screen and (min-width: 800px) {
  .p-duration__subhead-cell + .p-duration__data-cell,
  .p-duration__data-cell + .p-duration__data-cell {
    border-left: 2px dotted var(--color-primary);
  }
}

.p-duration__subhead-cell {
  background-color: #f2f2f2;
}

.p-duration__data-cell {
  background-color: transparent;
}

.p-circulation {
  background: #ebf3dc;
}

@media screen and (max-width: 799px) {
  .p-circulation__inner {
    padding-block: 14vw 17.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__inner {
    padding-block: 6.429vw 8.214vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__inner {
    padding-block: 90px 115px;
  }
}

@media screen and (max-width: 799px) {
  .p-circulation__title {
    margin-inline: auto;
    width: 80vw;
  }
}
@media screen and (max-width: 799px) {
  .p-circulation__title .c-title__ja {
    font-size: 5.067vw;
    line-height: 1.789;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__title .c-title__ja {
    line-height: 1.611;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__title .c-title__ja {
    font-size: 2.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__title .c-title__ja {
    font-size: 36px;
  }
}

.p-circulation__text {
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-circulation__text {
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
    width: 80vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__text {
    text-align: center;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__text {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__text {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

@media screen and (max-width: 799px) {
  .p-circulation__content {
    align-items: center;
    display: grid;
    grid-template-columns: 77.333vw 13.333vw;
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
    margin-inline: auto;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__content {
    -webkit-margin-before: 1.786vw;
            margin-block-start: 1.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__content {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
  }
}

.p-circulation__flow {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-circulation__flow {
    gap: 6.667vw;
    grid-template-columns: 100%;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__flow {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__flow {
    gap: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__flow {
    gap: 20px;
  }
}

.p-circulation__step {
  background: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-circulation__step {
    border-radius: 1.333vw;
    padding-block: 1.333vw 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step {
    border-radius: 0.714vw;
    padding-block: 0.714vw 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step {
    border-radius: 10px;
    padding-block: 10px 20px;
  }
}
.p-circulation__step:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
}
@media screen and (max-width: 799px) {
  .p-circulation__step:not(:last-child)::after {
    bottom: -5.067vw;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    height: 3.867vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 9.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__step:not(:last-child)::after {
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step:not(:last-child)::after {
    height: 5vw;
    top: calc(50% + 1.071vw);
    width: 2.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step:not(:last-child)::after {
    height: 70px;
    top: calc(50% + 15px);
    width: 29px;
  }
}

.p-circulation__step-header {
  color: #fff;
  letter-spacing: 0.05em;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-circulation__step-header {
    border-radius: 1.333vw;
    font-size: 3.467vw;
    line-height: 1.5;
    padding-block: 2.933vw;
    width: 74.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__step-header {
    align-items: center;
    display: flex;
    line-height: 1.5;
    justify-content: center;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step-header {
    border-radius: 0.714vw;
    font-size: 1.286vw;
    min-height: 10.714vw;
    padding-block: 1.429vw;
    width: 18.929vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step-header {
    border-radius: 10px;
    font-size: 18px;
    min-height: 150px;
    padding-block: 20px;
    width: 265px;
  }
}
.p-circulation__step-header::after {
  bottom: 1px;
  clip-path: polygon(0% 0%, 41.38% 91.31%, 58.62% 91.31%, 100% 0%);
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
@media screen and (max-width: 799px) {
  .p-circulation__step-header::after {
    height: 2vw;
    width: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step-header::after {
    height: 1.071vw;
    width: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step-header::after {
    height: 15px;
    width: 50px;
  }
}

.p-circulation__step-body {
  align-items: center;
  display: flex;
}
@media screen and (max-width: 799px) {
  .p-circulation__step-body {
    flex-wrap: wrap;
    gap: 1.333vw;
    justify-content: center;
    -webkit-margin-before: 4.4vw;
            margin-block-start: 4.4vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__step-body {
    flex-direction: column;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step-body {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step-body {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

.p-circulation__image-item {
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  .p-circulation__image-item {
    border-radius: 1.067vw;
    width: 23.2vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__image-item {
    border-radius: 0.714vw;
    -webkit-margin-before: 2.143vw;
            margin-block-start: 2.143vw;
    width: 15.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__image-item {
    border-radius: 10px;
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    width: 220px;
  }
}

.p-circulation__image-item--with-badge {
  border-radius: 0;
  overflow: inherit;
  position: relative;
}
@media screen and (max-width: 799px) {
  .p-circulation__image-item--with-badge {
    width: 22.4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__image-item--with-badge {
    -webkit-margin-before: 1.214vw;
            margin-block-start: 1.214vw;
    width: 13.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__image-item--with-badge {
    -webkit-margin-before: 17px;
            margin-block-start: 17px;
    width: 193px;
  }
}
.p-circulation__image-item--with-badge .p-circulation__image {
  position: relative;
  z-index: 2;
}

.p-circulation__badge {
  background: #fff;
  border: 1px solid #6cb13f;
  border-radius: 100%;
  color: #6cb13f;
  letter-spacing: 0.05em;
  position: absolute;
  z-index: 1;
}
@media screen and (max-width: 799px) {
  .p-circulation__badge {
    font-size: 3.467vw;
    height: 14.667vw;
    left: -0.8vw;
    line-height: 1.154;
    -webkit-padding-before: 2.667vw;
            padding-block-start: 2.667vw;
    top: -14.667vw;
    width: 14.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__badge {
    line-height: 1.167;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__badge {
    font-size: 1.286vw;
    height: 6vw;
    -webkit-padding-before: 1.143vw;
            padding-block-start: 1.143vw;
    right: -2vw;
    top: -4.286vw;
    width: 6vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__badge {
    font-size: 18px;
    height: 84px;
    -webkit-padding-before: 16px;
            padding-block-start: 16px;
    right: -28px;
    top: -60px;
    width: 84px;
  }
}

.p-circulation__caption {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-circulation__caption {
    font-size: 3.467vw;
    line-height: 1.538;
    -webkit-margin-before: 2vw;
            margin-block-start: 2vw;
    width: 74.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__caption {
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__caption {
    font-size: 1.286vw;
    -webkit-margin-before: 0.714vw;
            margin-block-start: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__caption {
    font-size: 18px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}

.p-circulation__step--light-green::after {
  background: #8cc449;
}
.p-circulation__step--light-green .p-circulation__step-header {
  background: #add852;
}
.p-circulation__step--light-green .p-circulation__step-header::after {
  background: #add852;
}
.p-circulation__step--green::after {
  background: #6cb13f;
}
.p-circulation__step--green .p-circulation__step-header {
  background: #8cc449;
}
.p-circulation__step--green .p-circulation__step-header::after {
  background: #8cc449;
}
.p-circulation__step--dark-green::after {
  background: #4b9d36;
}
.p-circulation__step--dark-green .p-circulation__step-header {
  background: #6cb13f;
}
.p-circulation__step--dark-green .p-circulation__step-header::after {
  background: #6cb13f;
}
@media screen and (max-width: 799px) {
  .p-circulation__step--dark-green .p-circulation__caption {
    order: 4;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step--dark-green .p-circulation__caption {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step--dark-green .p-circulation__caption {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__step--dark-green .p-circulation__caption + .p-circulation__image-item {
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__step--dark-green .p-circulation__caption + .p-circulation__image-item {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}
.p-circulation__step--dark-green .p-circulation__caption-em {
  color: #6cb13f;
}
.p-circulation__step--deep-green .p-circulation__step-header {
  background: #4b9d36;
}
.p-circulation__step--deep-green .p-circulation__step-header::after {
  background: #4b9d36;
}
.p-circulation__step--deep-green .p-circulation__caption-em {
  color: #4b9d36;
}

@media screen and (max-width: 799px) {
  .p-circulation__footer {
    align-items: center;
    background: url(../images/compost-flow/circulation_footer_bg_sp.svg) 0 0/contain no-repeat no-repeat;
    display: flex;
    height: 170vw;
    -webkit-margin-after: 5.333vw;
            margin-block-end: 5.333vw;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__footer {
    background: url(../images/compost-flow/circulation_footer_bg_pc.svg) 0 0/contain no-repeat;
    margin-inline: auto;
    position: relative;
    z-index: 2;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__footer {
    height: 7.571vw;
    -webkit-margin-before: -1.429vw;
            margin-block-start: -1.429vw;
    -webkit-padding-before: 3.214vw;
            padding-block-start: 3.214vw;
    width: 66.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__footer {
    height: 106px;
    -webkit-margin-before: -20px;
            margin-block-start: -20px;
    -webkit-padding-before: 45px;
            padding-block-start: 45px;
    width: 935px;
  }
}

.p-circulation__banner {
  align-items: center;
  display: flex;
}
@media screen and (max-width: 799px) {
  .p-circulation__banner {
    background: linear-gradient(90deg, rgb(173, 216, 82) 0%, rgb(75, 157, 54) 100%);
    margin-block: 0 auto;
    -webkit-margin-end: 2.667vw;
            margin-inline-end: 2.667vw;
    padding-inline: 2.667vw;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__banner {
    flex-direction: column;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__banner {
    gap: 0.786vw;
    height: 7.571vw;
    width: 66.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__banner {
    gap: 11px;
    height: 106px;
    width: 935px;
  }
}

.p-circulation__banner-text {
  color: #fff;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-circulation__banner-text {
    font-size: 5.333vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 800px) {
  .p-circulation__banner-text {
    background: linear-gradient(90deg, rgb(173, 216, 82) 0%, rgb(75, 157, 54) 100%);
    line-height: 1.625;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-circulation__banner-text {
    font-size: 2.286vw;
    padding-inline: 1.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-circulation__banner-text {
    font-size: 32px;
    padding-inline: 26px;
  }
}

@media screen and (max-width: 799px) {
  .p-case-header {
    -webkit-padding-after: 5.333vw;
            padding-block-end: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case-header {
    -webkit-padding-after: 3.571vw;
            padding-block-end: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case-header {
    -webkit-padding-after: 50px;
            padding-block-end: 50px;
  }
}

@media screen and (max-width: 799px) {
  .p-case__body-inner {
    padding-block: 8vw 20vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case__body-inner {
    padding-block: 3.571vw 7.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case__body-inner {
    padding-block: 50px 110px;
  }
}

@media screen and (max-width: 799px) {
  .p-case__list {
    margin-inline: auto;
    width: 80vw;
  }
}

@media screen and (min-width: 800px) {
  .p-case__article {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 799px) {
  .p-case__article:not(:first-child) {
    -webkit-margin-before: 13.333vw;
            margin-block-start: 13.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case__article:not(:first-child) {
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case__article:not(:first-child) {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}
@media screen and (min-width: 800px) {
  .p-case__article:nth-child(2n) {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case__content {
    width: 39.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case__content {
    width: 550px;
  }
}

@media screen and (max-width: 799px) {
  .p-case__text {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case__text {
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}
.p-case__text > * + * {
  -webkit-margin-before: 1.8em;
          margin-block-start: 1.8em;
}

@media screen and (max-width: 799px) {
  .p-case__thumb {
    -webkit-margin-before: 10vw;
            margin-block-start: 10vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-case__thumb {
    width: 41.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-case__thumb {
    width: 580px;
  }
}

@media screen and (max-width: 799px) {
  .l-breadcrumb + .p-error404__inner {
    -webkit-padding-before: 6.667vw;
            padding-block-start: 6.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .l-breadcrumb + .p-error404__inner {
    -webkit-padding-before: 3.571vw;
            padding-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .l-breadcrumb + .p-error404__inner {
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
  }
}

@media screen and (max-width: 799px) {
  .p-error404__content {
    -webkit-padding-after: 18vw;
            padding-block-end: 18vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-error404__content {
    -webkit-padding-after: 6.786vw;
            padding-block-end: 6.786vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-error404__content {
    -webkit-padding-after: 95px;
            padding-block-end: 95px;
  }
}

.p-error404__header {
  text-align: center;
}
@media screen and (max-width: 799px) {
  .p-error404__header {
    margin-inline: auto;
    width: 92vw;
  }
}
@media screen and (max-width: 799px) {
  .p-error404__header .c-title__ja {
    font-size: 8vw;
    word-break: auto-phrase;
  }
}

@media screen and (max-width: 799px) {
  .p-error404__text-wrap {
    -webkit-margin-before: 8vw;
            margin-block-start: 8vw;
    margin-inline: auto;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-error404__text-wrap {
    -webkit-margin-before: 3.571vw;
            margin-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-error404__text-wrap {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.p-error404__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 799px) {
  .p-error404__text {
    font-size: 3.467vw;
    line-height: 2;
  }
}
@media screen and (min-width: 800px) {
  .p-error404__text {
    line-height: 2.125;
    text-align: center;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-error404__text {
    font-size: 1.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-error404__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 799px) {
  .p-error404__text:not(:nth-of-type(1)) {
    -webkit-margin-before: 2em;
            margin-block-start: 2em;
  }
}
@media screen and (min-width: 800px) {
  .p-error404__text:not(:nth-of-type(1)) {
    -webkit-margin-before: 1.9em;
            margin-block-start: 1.9em;
  }
}

.p-error404__actions {
  display: grid;
}
@media screen and (max-width: 799px) {
  .p-error404__actions {
    gap: 4vw;
    grid-template-columns: 1fr;
    -webkit-margin-before: 12vw;
            margin-block-start: 12vw;
    margin-inline: auto;
    width: 78.933vw;
  }
}
@media screen and (min-width: 800px) {
  .p-error404__actions {
    justify-content: center;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-error404__actions {
    gap: 2.143vw;
    grid-template-columns: repeat(2, 25vw);
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-error404__actions {
    gap: 30px;
    grid-template-columns: repeat(2, 350px);
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}

@media screen and (max-width: 799px) {
  .p-error404__button .c-button__link {
    height: 16vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-error404__button .c-button__link {
    height: 4.286vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-error404__button .c-button__link {
    height: 60px;
  }
}

.p-error404__button--primary .c-button__link {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
@media (any-hover: hover) {
  .p-error404__button--primary .c-button__link:hover {
    background: #fff;
    color: var(--color-primary);
  }
  .p-error404__button--primary .c-button__link:hover .c-button__arrow {
    stroke: var(--color-primary);
  }
}
.p-error404__button--secondary .c-button__link {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
}
@media (any-hover: hover) {
  .p-error404__button--secondary .c-button__link:hover {
    background: #fff;
    color: var(--color-secondary);
  }
  .p-error404__button--secondary .c-button__link:hover .c-button__arrow {
    stroke: var(--color-secondary);
  }
}

@media screen and (max-width: 799px) {
  .p-archive {
    -webkit-margin-before: 13.333vw;
            margin-block-start: 13.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-archive {
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-archive {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}

@media screen and (max-width: 799px) {
  .p-archive-header {
    -webkit-padding-before: 9.333vw;
            padding-block-start: 9.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-archive-header {
    -webkit-padding-before: 5vw;
            padding-block-start: 5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-archive-header {
    -webkit-padding-before: 70px;
            padding-block-start: 70px;
  }
}
@media screen and (max-width: 799px) {
  .p-archive-header .c-page-header__inner {
    width: 88vw;
  }
}

@media screen and (max-width: 799px) {
  .p-archive__content {
    margin-inline: auto;
    padding-block: 8vw;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-archive__content {
    padding-block: 4.643vw;
    padding-inline: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-archive__content {
    padding-block: 65px;
    padding-inline: 50px;
  }
}

@media screen and (max-width: 799px) {
  .p-archive__list .p-top-news__item {
    padding-inline: 2vw;
  }
}

@media screen and (max-width: 799px) {
  .p-archive-pagenation {
    -webkit-margin-before: 12vw;
            margin-block-start: 12vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-archive-pagenation {
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-archive-pagenation {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}
.p-archive-pagenation .nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 799px) {
  .p-archive-pagenation .nav-links {
    gap: 2vw;
  }
}
@media screen and (min-width: 800px) {
  .p-archive-pagenation .nav-links {
    gap: 6px;
  }
}
.p-archive-pagenation .page-numbers {
  align-items: center;
  color: #666;
  display: inline-flex;
  justify-content: center;
  padding-inline: 0.4em;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 799px) {
  .p-archive-pagenation .page-numbers {
    font-size: 3.467vw;
    height: 9.333vw;
    min-width: 9.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-archive-pagenation .page-numbers {
    font-size: 1.143vw;
    height: 2.857vw;
    min-width: 2.857vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-archive-pagenation .page-numbers {
    font-size: 16px;
    height: 40px;
    min-width: 40px;
  }
}
.p-archive-pagenation .page-numbers.current {
  background: var(--color-primary);
  color: #fff;
  font-weight: 500;
}
@media (any-hover: hover) {
  .p-archive-pagenation a.page-numbers:hover {
    background: #ebf3dc;
    color: var(--color-font);
  }
}

@media screen and (max-width: 799px) {
  .p-entry {
    -webkit-margin-before: 13.333vw;
            margin-block-start: 13.333vw;
    -webkit-padding-after: 10.667vw;
            padding-block-end: 10.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry {
    -webkit-margin-before: 5.714vw;
            margin-block-start: 5.714vw;
    -webkit-padding-after: 3.571vw;
            padding-block-end: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
    -webkit-padding-after: 50px;
            padding-block-end: 50px;
  }
}

.p-entry-header {
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 799px) {
  .p-entry-header {
    padding-block: 5.333vw;
    margin-inline: auto;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-header {
    padding-block: 2.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-header {
    padding-block: 30px;
  }
}

@media screen and (max-width: 799px) {
  .p-entry-eyecatch + .p-entry-date {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-eyecatch + .p-entry-date {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-eyecatch + .p-entry-date {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}

.p-entry-date {
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 799px) {
  .p-entry-date {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-date {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-date {
    font-size: 14px;
  }
}

.p-entry-cat__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 799px) {
  .p-entry-cat__list {
    gap: 2.667vw 1.333vw;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-cat__list {
    gap: 0.714vw 0.357vw;
    -webkit-margin-before: 0.714vw;
            margin-block-start: 0.714vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-cat__list {
    gap: 10px 5px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}

.p-entry-cat__item {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-entry-cat__item {
    font-size: 2.933vw;
    line-height: 1.636;
  }
}
@media screen and (min-width: 800px) {
  .p-entry-cat__item {
    line-height: 1.875;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-cat__item {
    font-size: 1.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-cat__item {
    font-size: 16px;
  }
}

.p-entry-cat__link {
  background: var(--color-secondary);
  color: #fff;
  display: block;
  padding-inline: 0.5em;
}
@media screen and (max-width: 799px) {
  .p-entry-cat__link {
    border-radius: 0.747vw;
    min-width: 16vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-cat__link {
    border-radius: 0.357vw;
    min-width: 7.143vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-cat__link {
    border-radius: 5px;
    min-width: 100px;
  }
}
@media (any-hover: hover) {
  .p-entry-cat__link:hover {
    -webkit-filter: contrast(1.2);
            filter: contrast(1.2);
  }
}

.p-entry-title {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 799px) {
  .p-entry-title {
    font-size: 5.867vw;
    line-height: 1.75;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 800px) {
  .p-entry-title {
    line-height: 1.929;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-title {
    font-size: 2vw;
    -webkit-margin-before: 1.071vw;
            margin-block-start: 1.071vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-title {
    font-size: 28px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}
.p-entry-title .c-text-link {
  color: var(--color-font);
}

.p-entry-tag__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 799px) {
  .p-entry-tag__list {
    gap: 2.667vw 1em;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-tag__list {
    gap: 0.714vw 1em;
    -webkit-margin-before: 1.429vw;
            margin-block-start: 1.429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-tag__list {
    gap: 10px 1em;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.p-entry-tag__item {
  color: #666;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 799px) {
  .p-entry-tag__item {
    font-size: 2.933vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-tag__item {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-tag__item {
    font-size: 14px;
  }
}
.p-entry-tag__item .c-text-link {
  color: #666;
}

/* 記事本文エリア（.p-entry-content）専用のスタイル調整 */
.p-entry-content {
  letter-spacing: 0.05em;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .p-entry-content {
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
    width: 92vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .p-entry-content {
    -webkit-margin-before: 3.571vw;
            margin-block-start: 3.571vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-entry-content {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}
.p-entry-content figure {
  margin-inline: 0;
}
.p-entry-content p:first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.p-entry-content img {
  height: auto;
  max-width: 100%;
}

.p-entry-content__pages {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}
.p-entry-content__pages .post-page-numbers {
  align-items: center;
  color: #666;
  display: inline-flex;
  font-size: 16px;
  height: 40px;
  min-width: 40px;
  justify-content: center;
  padding-inline: 0.4em;
  transition: background-color 0.2s, color 0.2s;
}
.p-entry-content__pages .post-page-numbers.current {
  background: var(--color-primary);
  color: #fff;
  font-weight: 500;
}
@media (any-hover: hover) {
  .p-entry-content__pages a.post-page-numbers:hover {
    background: #ebf3dc;
    color: var(--color-font);
  }
}

@media screen and (min-width: 800px) {
  .u-only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 799px) {
  .u-only-pc {
    display: none !important;
  }
}
.u-sup {
  font-size: 58.3%;
  vertical-align: super;
}

.u-sub {
  font-size: 58.3%;
  vertical-align: sub;
}

.u-color-strong {
  color: var(--color-strong);
}

.u-color-primary {
  color: var(--color-primary);
}

.u-color-secondary {
  color: var(--color-secondary);
}

.u-color-tertiary {
  color: var(--color-tertiary);
}

.u-align-center {
  text-align: center;
}

.u-align-right {
  text-align: right;
}

.u-visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.u-clip-radius30 {
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  .u-clip-radius30 {
    border-radius: 4vw !important;
  }
}
@media screen and (min-width: 800px) and (max-width: 1399px) {
  .u-clip-radius30 {
    border-radius: 2.143vw !important;
  }
}
@media screen and (min-width: 1400px) {
  .u-clip-radius30 {
    border-radius: 30px !important;
  }
}

.u-font-notoSerif {
  font-family: var(--font-NotoSerifJP);
}

.u-fw900 {
  font-weight: 900 !important;
}

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

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

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

.u-fw400 {
  font-weight: 400 !important;
}

.u-fw300 {
  font-weight: 300 !important;
}

.u-fz80 {
  font-size: 0.8em;
}

.u-fz90 {
  font-size: 0.9em;
}/*# sourceMappingURL=style.css.map */