@charset "UTF-8";
/* ==================================================
[Style]
    1. setting
	2. foundation
	3. Layout
	4. object

================================================== */
/* --------------------------------------------------
	1. setting
-------------------------------------------------- */
/* --------------------------------------------------
	2. foundation
-------------------------------------------------- */
/* reset */
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  min-width: 0;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3 */
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  margin: 0;
  overflow: visible; /* 2 */
  clear: both;
  color: inherit;
  border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button;
          appearance: button; /* 1 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-collapse: collapse;
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.7;
  color: #4a4640;
  word-break: normal;
  word-wrap: normal;
  overflow-wrap: normal;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  background: radial-gradient(50% 49.09% at 50% 49.09%, #fff4d1 0%, #fffced 100%);
  background-image: url("../images/common/bg-noise.png"), radial-gradient(50% 49.09% at 50% 49.09%, #fff4d1 0%, #fffced 100%);
  background-repeat: repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 100px 100px, cover;
  background-blend-mode: multiply, normal;
}
@media only screen and (max-width: 767px) {
  body {
    line-height: 1.6;
  }
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  font-style: italic;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

input,
button,
select,
textarea {
  font: inherit;
  font-size: 1rem;
  color: #4a4640;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* font */
/* animate */
@keyframes flushOn {
  0% {
    filter: brightness(120%);
  }
  20% {
    filter: brightness(120%);
  }
  100% {
    filter: brightness(100%);
  }
}
/* --------------------------------------------------
	3. Layout
-------------------------------------------------- */
/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}
.l-header__inner {
  max-width: 1800px;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-header__container {
  display: flex;
  gap: 2rem;
  align-items: center;
  height: 6rem;
}
.l-header__logo {
  display: flex;
  align-items: center;
  width: clamp(11.375rem, 22vw, 18.625rem);
  height: 3.375rem;
  padding: 0 1.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 999rem;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.25);
}
.l-header__logo a {
  display: flex;
  align-items: center;
  height: 100%;
}
.l-header__logo img {
  width: 100%;
}
.l-header__buttons {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-left: auto;
}
.l-header__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.6666666667vw;
  font-size: clamp(0.6875rem, 1vw, 1rem);
  font-weight: 700;
  color: #fff;
  background-color: rgba(230, 144, 13, 0.8);
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
}
.l-header__button.--anniversary {
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  font-family: "Noto Serif JP", serif;
  color: #4a4640;
  background: linear-gradient(94deg, rgba(255, 241, 197, 0.8) 14.58%, rgba(255, 251, 228, 0.8) 86.92%);
  border-color: #9f9f9f;
}
.l-header__button.--anniversary::before {
  display: block;
  width: 2rem;
  aspect-ratio: 1/1;
  content: "";
  background: transparent url("../images/common/icon-100th.svg") no-repeat center/contain;
  border-radius: 50%;
}
@media (hover: hover) {
  .l-header__button {
    transition: 0.3s linear background-color;
  }
  .l-header__button:hover {
    background-color: #1cab3f;
  }
}
.l-header__menu {
  position: fixed;
  inset: 0;
  z-index: 1000;
  height: 100vh;
  min-height: 100vh;
  background-color: #f8f8f8;
  transition: 0.3s linear all;
}
.l-header__menu.is-no-transition {
  transition: none !important;
}
.l-header__menu-container {
  position: relative;
  height: 100%;
  padding: 1rem 4.1666666667vw 10rem 54.1666666667vw;
  overflow-y: scroll;
}
.l-header__menu-head {
  display: flex;
  gap: 0 1.6666666667vw;
  align-items: center;
  justify-content: space-between;
  min-height: 4rem;
  padding-right: 5vw;
}
.l-header__menu-head .l-header__button-icon {
  display: none;
}
.l-header__menu-inner {
  display: grid;
  gap: 4rem 0;
  width: 44.5rem;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 4rem;
}
.l-header__menu-banner {
  position: relative;
  width: 100%;
  box-shadow: 0 0 8px 0 rgba(51, 51, 51, 0.25);
}
.l-header__menu-banner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: #eddab0;
  filter: blur(20px);
}
.l-header__menu-banner img {
  position: relative;
  z-index: 2;
}
@media (hover: hover) {
  .l-header__menu-banner {
    transition: 0.3s linear opacity;
  }
  .l-header__menu-banner:hover {
    opacity: 0.7;
  }
}
.l-header__menu-buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 2.0833333333vw;
}
.l-header__menu-button {
  display: inline-flex;
  gap: clamp(0.5rem, 1vw, 1rem);
  align-items: center;
  justify-content: center;
  min-height: 5.25rem;
  padding: 0.75rem 1rem;
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 700;
  color: #1cab3f;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
}
.l-header__menu-button .com-icon {
  --icon-size: clamp(1rem, 2vw, 2rem);
}
@media (hover: hover) {
  .l-header__menu-button {
    transition: 0.3s linear background-color, 0.3s linear color;
  }
  .l-header__menu-button:hover {
    color: #fff;
    background-color: #1cab3f;
  }
}
.l-header__menu-visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.l-header__nav-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2.0833333333vw;
  height: 100%;
}
.l-header__nav-item {
  border-bottom: 0.0625rem solid #cecece;
}
.l-header__nav-link {
  position: relative;
  display: flex;
  gap: 0 0.25rem;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 1rem 0.5rem;
  font-size: clamp(0.6875rem, 1vw, 1rem);
  color: #4a4640;
}
@media (hover: hover) {
  .l-header__nav-link {
    transition: 0.3s linear color;
  }
  .l-header__nav-link:hover {
    color: #1cab3f;
  }
  .l-header__nav-link:hover .l-header__nav-link-icon {
    color: #fff;
    background-color: #1cab3f;
  }
  .l-header__nav-link:hover .l-header__nav-link-icon::before {
    left: calc(50% + 6px);
  }
}
.l-header__nav-link-text span {
  display: block;
  font-size: clamp(1.0625rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
}
.l-header__nav-link-icon {
  margin-left: auto;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
  transition: 0.3s linear background-color, 0.3s linear color;
}
.l-header__nav-link-icon::before {
  transition: 0.3s linear left;
}
.l-header__nav-link-icon.com-icon {
  --wrap-size: clamp(1.75rem, 3.5vw, 3.5rem);
  --icon-size: clamp(1rem, 2vw, 2rem);
}

.l-hum {
  position: relative;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  width: 4rem;
  height: 4rem;
  padding-bottom: 0.5rem;
  color: #4a4640;
  background-color: rgba(255, 255, 255, 0.8);
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
@media (hover: hover) {
  .l-hum {
    transition: 0.3s linear background-color, 0.3s linear color;
  }
  .l-hum:hover {
    color: #1cab3f;
    background-color: #fff;
  }
}
.l-hum__text {
  display: block;
  font-size: 0.875rem;
  line-height: 1.5rem;
}
.l-hum__text.--close {
  display: none;
}
.l-hum__line {
  position: absolute;
  left: 50%;
  display: block;
  width: 1.25rem;
  height: 0.125rem;
  background-color: currentcolor;
  transition: 0.3s all;
  transform: translate(-50%, -50%);
}
.l-hum__line:nth-child(1) {
  top: calc(50% - 12px);
}
.l-hum__line:nth-child(2) {
  top: calc(50% - 6px);
}
.l-hum__line:nth-child(3) {
  top: 50%;
}
.l-hum.is-active .l-hum__text.--close {
  display: block;
}
.l-hum.is-active .l-hum__text.--open {
  display: none;
}
.l-hum.is-active .l-hum__line:nth-child(1) {
  top: calc(50% - 6px);
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.l-hum.is-active .l-hum__line:nth-child(2) {
  opacity: 0;
}
.l-hum.is-active .l-hum__line:nth-child(3) {
  top: calc(50% - 6px);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

@media all and (min-width: 768px), print {
  .l-header__menu {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    -webkit-overflow-scrolling: touch;
  }
  .l-header__menu.is-active {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
  }
  .l-header__menu-visual {
    position: fixed;
    inset: 0 auto 0 0;
    width: 50%;
  }
}
@media only screen and (max-width: 1280px) {
  .l-header__button {
    font-size: 0.5rem;
  }
  .l-header__menu-container {
    padding: 1rem 1.25rem 10rem calc(50vw + 1.25rem);
  }
  .l-header__menu-head {
    gap: 0 0.5rem;
    padding-right: 4rem;
  }
  .l-header__menu-head .l-header__button {
    width: 4rem;
    height: 4rem;
    padding: 0;
  }
  .l-header__menu-head .l-header__button-text {
    display: none;
  }
  .l-header__menu-head .l-header__button-icon {
    display: block;
  }
  .l-header__menu-buttons {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-header__menu-button {
    min-height: 4.625rem;
    font-size: 1.125rem;
  }
  .l-header__menu-button .com-icon {
    --icon-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0 0.9375rem;
  }
  .l-header__container {
    gap: 0.625rem;
    height: 5rem;
  }
  .l-header__logo {
    height: 2.125rem;
    padding: 0 1rem;
  }
  .l-header__logo img {
    width: 100%;
  }
  .l-header__buttons {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    margin-left: auto;
  }
  .l-header__button {
    width: 3rem;
    height: 3rem;
    padding: 0;
  }
  .l-header__button.--anniversary {
    display: none;
  }
  .l-header__menu {
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    pointer-events: none;
    opacity: 0;
    transition: all 0.4s ease-out;
    transform: translateX(100%);
    -webkit-overflow-scrolling: touch;
  }
  @supports (height: 100dvh) {
    .l-header__menu {
      height: 100dvh;
      min-height: 100dvh;
    }
  }
  .l-header__menu.is-active {
    pointer-events: auto;
    opacity: 1;
    transform: translateX(0);
  }
  .l-header__menu-container {
    box-sizing: border-box;
    flex-direction: column;
    height: 100%;
    padding: 1rem 0.9375rem max(0.0625rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .l-header__menu-inner {
    gap: 0;
    width: 100%;
    margin-top: 1rem;
  }
  .l-header__menu-head {
    min-height: 3rem;
    padding-right: 3.625rem;
  }
  .l-header__menu-head .l-header__button {
    width: 3rem;
    height: 3rem;
  }
  .l-header__menu-visual {
    width: 100%;
    aspect-ratio: 375/220;
    margin-top: 2.5rem;
  }
  .l-header__menu-buttons {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2.5rem;
  }
  .l-header__nav {
    margin-top: 1rem;
  }
  .l-header__nav-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .l-header__nav-link {
    padding: 1rem 0.25rem;
    font-size: 0.9375rem;
  }
  .l-header__nav-link-text span {
    font-size: 1.5rem;
  }
  .l-header__nav-link-icon.com-icon {
    --wrap-size: 48px;
    --icon-size: 28px;
  }
  .l-hum {
    width: 3rem;
    height: 3rem;
    padding: 0;
  }
  .l-hum__text {
    display: none !important;
  }
  .l-hum__line {
    width: 1.5rem;
    height: 0.0625rem;
  }
  .l-hum__line:nth-child(1) {
    top: calc(50% - 7px);
  }
  .l-hum__line:nth-child(2) {
    top: 50%;
  }
  .l-hum__line:nth-child(3) {
    top: calc(50% + 7px);
  }
  .l-hum.is-active .l-hum__line:nth-child(1) {
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
  .l-hum.is-active .l-hum__line:nth-child(3) {
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  .l-hum.is-active .l-hum__line:nth-child(2) {
    display: none;
  }
}
/* footer */
.l-footer {
  position: relative;
  z-index: 100;
  background-color: #f8f8f8;
}
.l-footer__banners {
  display: flex;
  justify-content: center;
  max-width: 105rem;
  padding: 5rem 1.25rem;
  margin: 0 auto;
  border-bottom: 0.0625rem solid #cecece;
}
.l-footer__banners + .l-inner .l-footer__container {
  padding-top: 5rem;
}
.l-footer__banners-inner {
  display: grid;
  gap: 2.5rem;
}
.l-footer__banners-list {
  display: flex;
  gap: 1rem 2.5rem;
  align-items: center;
}
.l-footer__banners-item {
  max-width: calc((100% - 80px) / 3);
}
@media (hover: hover) {
  .l-footer__banners-link {
    transition: 0.3s linear opacity;
  }
  .l-footer__banners-link:hover {
    opacity: 0.7;
  }
}
.l-footer__container {
  display: grid;
  grid-template-columns: minmax(320px, 31.25vw) minmax(0, 1fr);
  gap: 1.0625rem 5rem;
  padding-top: 7.75rem;
}
.l-footer__info .c-textlink {
  color: #4a4640;
}
.l-footer__logo {
  margin-bottom: 3rem;
}
.l-footer__company {
  display: grid;
  gap: 1.5rem;
}
.l-footer__company-address {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem;
  align-items: flex-end;
}
.l-footer__company-tel span {
  display: inline-block;
  margin: 0 0.5rem;
  transform: rotate(-10deg);
}
.l-footer__cert {
  margin-top: 3rem;
}
.l-footer__cert-title {
  display: inline-flex;
  padding: 0.25rem 1.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
}
.l-footer__cert-item {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1rem;
  align-items: center;
}
.l-footer__cert-item + .l-footer__cert-item {
  margin-top: 1rem;
}
.l-footer__cert-logo {
  text-align: center;
}
.l-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin-top: 3rem;
}
.l-footer__copyright {
  margin-top: 6.4583333333vw;
  font-size: 0.875rem;
}
.l-footer__img {
  height: 770px;
  margin-right: calc(100% - 40px - 50vw);
}
.l-footer__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .l-footer__banners {
    justify-content: flex-start;
    padding: 3rem 0.9375rem;
  }
  .l-footer__banners + .l-inner .l-footer__container {
    padding-top: 3rem;
  }
  .l-footer__banners-inner {
    gap: 1.5rem;
  }
  .l-footer__banners-list {
    flex-direction: column;
    align-items: flex-start;
  }
  .l-footer__banners-item {
    max-width: 100%;
  }
  .l-footer__banners-item img {
    width: 100%;
  }
  .l-footer__container {
    grid-template-columns: repeat(1, 1fr);
    padding-top: 4rem;
  }
  .l-footer__logo {
    width: 17rem;
    margin-bottom: 2rem;
  }
  .l-footer__company {
    gap: 1rem;
  }
  .l-footer__company-address {
    gap: 0 0.75rem;
  }
  .l-footer__cert {
    margin-top: 2rem;
  }
  .l-footer__cert-title {
    padding: 0.25rem 1rem;
    margin-bottom: 1.5rem;
    font-size: 1rem;
    line-height: 1.5;
  }
  .l-footer__cert-item {
    grid-template-columns: 6.25rem 1fr;
    gap: 1.5625rem;
  }
  .l-footer__cert-item + .l-footer__cert-item {
    margin-top: 1.5rem;
  }
  .l-footer__links {
    flex-direction: column;
    margin-top: 2.5rem;
  }
  .l-footer__copyright {
    margin-top: 4rem;
  }
  .l-footer__img {
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 -0.9375rem;
  }
}
/* main */
.js-loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  transition: opacity 2s;
  backface-visibility: hidden;
}

.l-all {
  position: relative;
}

.l-top-spacer {
  height: 120vh;
}

.l-inner {
  width: 80rem;
  max-width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-inner.--max {
  width: 1720px;
}
.l-inner.--wide {
  width: 92.5rem;
}
.l-inner.--narrow {
  width: 65rem;
}

.l-section-first {
  margin-top: 7.75rem;
}
.l-section-first.--pb {
  padding-bottom: 7.75rem;
}

.l-section {
  margin-top: 10.25rem;
}

@media only screen and (max-width: 767px) {
  .l-inner {
    padding: 0 0.9375rem;
  }
  .l-section-first {
    margin-top: 5rem;
  }
  .l-section-first.--pb {
    padding-bottom: 5rem;
  }
  .l-section {
    margin-top: 4rem;
  }
}
/* margin */
.l-margin p {
  margin-top: 1rem;
}
.l-margin p:first-child {
  margin-top: 0;
}
.l-margin ul,
.l-margin ol,
.l-margin dl {
  margin-top: 1.5rem;
}
.l-margin ul:first-child,
.l-margin ol:first-child,
.l-margin dl:first-child {
  margin-top: 0;
}
.l-margin .p-table-conteiner,
.l-margin table {
  margin-top: 2rem;
}
.l-margin .p-table-conteiner:first-child,
.l-margin table:first-child {
  margin-top: 0;
}
.l-margin img {
  margin-top: 1.5rem;
}
.l-margin img:first-child {
  margin-top: 0;
}
.l-margin blockquote {
  margin-top: 1.5rem;
}
.l-margin blockquote:first-child {
  margin-top: 0;
}
.l-margin .c-button,
.l-margin .e-button {
  margin-top: 1.5rem;
}
.l-margin .c-button:first-child,
.l-margin .e-button:first-child {
  margin-top: 0;
}
.l-margin .p-box,
.l-margin .e-box {
  margin-top: 1.5rem;
}
.l-margin .p-box:first-child,
.l-margin .e-box:first-child {
  margin-top: 0;
}
.l-margin .p-grid,
.l-margin .e-grid,
.l-margin .p-accordion {
  margin-top: 5rem;
}
.l-margin .p-grid:first-child,
.l-margin .e-grid:first-child,
.l-margin .p-accordion:first-child {
  margin-top: 0;
}
.l-margin .p-grid + .l-margin .p-grid,
.l-margin .p-grid + .l-margin .e-grid,
.l-margin .p-grid + .l-margin .p-accordion,
.l-margin .e-grid + .l-margin .p-grid,
.l-margin .e-grid + .l-margin .e-grid,
.l-margin .e-grid + .l-margin .p-accordion,
.l-margin .p-accordion + .l-margin .p-grid,
.l-margin .p-accordion + .l-margin .e-grid,
.l-margin .p-accordion + .l-margin .p-accordion {
  margin-top: 2.5rem;
}
.l-margin .p-grid p,
.l-margin .e-grid p,
.l-margin .p-accordion p {
  margin-top: 0.5rem;
}
.l-margin h2:not(:first-child) {
  margin-top: 6rem;
}
.l-margin h2 + p {
  margin-top: 3rem;
}
.l-margin h2 + ul {
  margin-top: 3rem;
}
.l-margin h2 + ol {
  margin-top: 3rem;
}
.l-margin h2 + dl {
  margin-top: 3rem;
}
.l-margin h2 + img {
  margin-top: 3rem;
}
.l-margin h2 + table {
  margin-top: 3rem;
}
.l-margin h2 + blockquote {
  margin-top: 3rem;
}
.l-margin h2 + .c-button, .l-margin h2 + .e-button {
  margin-top: 3rem;
}
.l-margin h2 + .p-box, .l-margin h2 + .e-box {
  margin-top: 3rem;
}
.l-margin h2 + .p-grid, .l-margin h2 + .e-grid {
  margin-top: 3rem;
}
.l-margin h3:not(:first-child) {
  margin-top: 5rem;
}
.l-margin h3 + p {
  margin-top: 2rem;
}
.l-margin h3 + ul {
  margin-top: 2rem;
}
.l-margin h3 + ol {
  margin-top: 2rem;
}
.l-margin h3 + dl {
  margin-top: 2rem;
}
.l-margin h3 + img {
  margin-top: 2rem;
}
.l-margin h3 + table {
  margin-top: 2rem;
}
.l-margin h3 + blockquote {
  margin-top: 2rem;
}
.l-margin h3 + .c-button, .l-margin h3 + .e-button {
  margin-top: 2rem;
}
.l-margin h3 + .p-box, .l-margin h3 + .e-box {
  margin-top: 2rem;
}
.l-margin h3 + .p-grid, .l-margin h3 + .e-grid {
  margin-top: 2rem;
}
.l-margin h4:not(:first-child) {
  margin-top: 3.5rem;
}
.l-margin h4 + p {
  margin-top: 1.75rem;
}
.l-margin h4 + ul {
  margin-top: 1.75rem;
}
.l-margin h4 + ol {
  margin-top: 1.75rem;
}
.l-margin h4 + dl {
  margin-top: 1.75rem;
}
.l-margin h4 + img {
  margin-top: 1.75rem;
}
.l-margin h4 + table {
  margin-top: 1.75rem;
}
.l-margin h4 + blockquote {
  margin-top: 1.75rem;
}
.l-margin h4 + .c-button, .l-margin h4 + .e-button {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-box, .l-margin h4 + .e-box {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-grid, .l-margin h4 + .e-grid {
  margin-top: 1.75rem;
}
.l-margin h5:not(:first-child) {
  margin-top: 2.5rem;
}
.l-margin h5 + p {
  margin-top: 1.25rem;
}
.l-margin h5 + ul {
  margin-top: 1.25rem;
}
.l-margin h5 + ol {
  margin-top: 1.25rem;
}
.l-margin h5 + dl {
  margin-top: 1.25rem;
}
.l-margin h5 + img {
  margin-top: 1.25rem;
}
.l-margin h5 + table {
  margin-top: 1.25rem;
}
.l-margin h5 + blockquote {
  margin-top: 1.25rem;
}
.l-margin h5 + .c-button, .l-margin h5 + .e-button {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-box, .l-margin h5 + .e-box {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-grid, .l-margin h5 + .e-grid {
  margin-top: 1.25rem;
}
.l-margin h6:not(:first-child) {
  margin-top: 1.5rem;
}
.l-margin h6 + p {
  margin-top: 1.125rem;
}
.l-margin h6 + ul {
  margin-top: 1.125rem;
}
.l-margin h6 + ol {
  margin-top: 1.125rem;
}
.l-margin h6 + dl {
  margin-top: 1.125rem;
}
.l-margin h6 + img {
  margin-top: 1.125rem;
}
.l-margin h6 + table {
  margin-top: 1.125rem;
}
.l-margin h6 + blockquote {
  margin-top: 1.125rem;
}
.l-margin h6 + .c-button, .l-margin h6 + .e-button {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-box, .l-margin h6 + .e-box {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-grid, .l-margin h6 + .e-grid {
  margin-top: 1.125rem;
}

/* --------------------------------------------------
	4. object
-------------------------------------------------- */
/* component */
.c-button-sub {
  position: relative;
  display: inline-flex;
  gap: 0 2.5rem;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #4a4640;
  transition: color 0.3s linear;
}
.c-button-sub .com-icon {
  width: 2.75rem;
  height: 2.75rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
  transition: color 0.3s linear, background-color 0.3s linear;
  --icon-size: 24px;
}
.c-button-sub .com-icon::before {
  transition: 0.3s linear left;
}
.c-button-sub:hover, .c-button-sub:active {
  color: #1cab3f;
}
.c-button-sub:hover .com-icon, .c-button-sub:active .com-icon {
  color: #fff;
  background-color: #1cab3f;
}
.c-button-sub:hover .com-icon::before, .c-button-sub:active .com-icon::before {
  left: calc(50% + 3px);
}

@media only screen and (max-width: 767px) {
  .c-button-sub {
    gap: 1rem;
    font-size: 1rem;
    line-height: 1.5;
  }
  .c-button-sub.com-icon {
    width: 2.375rem;
    height: 2.375rem;
    --icon-size: 18px;
  }
}
.com-icon {
  --wrap-size: 32px;
  --icon-size: 100%;
  --icon-url: '';
  --icon-color: currentcolor;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--wrap-w, var(--wrap-size));
  height: var(--wrap-h, var(--wrap-size));
}
.com-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: var(--icon-w, var(--icon-size));
  height: var(--icon-h, var(--icon-size));
  content: "";
  background: var(--icon-color);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask-image: var(--icon-url);
          mask-image: var(--icon-url);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translate(-50%, -50%);
}
.com-icon.--arrow-left {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
}
.com-icon.--arrow-right {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E");
}
.com-icon.--arrow-down {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 2L16 30C16.4545 28.0412 18.0909 23.8469 21 22.7407' stroke='%234A4640'/%3E%3C/svg%3E");
}
.com-icon.--blank {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.com-icon.--mail {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M4.68076 9.90811C4.25528 9.62462 4 9.14761 4 8.63668V8.63541C4 7.73216 4.73229 6.99991 5.63559 6.99991H26.91C27.8132 6.99991 28.5455 7.73216 28.5455 8.63541V8.63622V8.63668C28.5455 9.14761 28.2903 9.62462 27.8648 9.90811C25.7887 11.2925 19.5328 15.4628 17.1805 17.0312C16.6308 17.3978 15.9148 17.3978 15.365 17.0312C13.0127 15.4628 6.7569 11.2925 4.68076 9.90811Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 8.63619V23.3635C4 23.7975 4.17223 24.2136 4.47945 24.5204C4.78628 24.8277 5.20233 24.9999 5.63636 24.9999H26.9092C27.3432 24.9999 27.7593 24.8277 28.0661 24.5204C28.3733 24.2136 28.5455 23.7975 28.5455 23.3635V8.63619' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.com-icon.--video {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M29.4744 12.9172H8.15111L28.6323 6.98413C28.7915 6.93799 28.9258 6.83032 29.0059 6.6853C29.0859 6.54004 29.105 6.36914 29.0588 6.20996L27.9871 2.51001C27.5588 1.03223 26.1829 0 24.6409 0C24.3159 0 23.9922 0.0461426 23.6782 0.136963L4.44848 5.70752C3.55907 5.96509 2.82201 6.5564 2.37255 7.37207C1.92333 8.18774 1.81786 9.12695 2.07543 10.0161L3.12255 13.6309V28.5217C3.12255 30.4397 4.68285 32 6.60058 32H14.1108C14.456 32 14.7358 31.7202 14.7358 31.375C14.7358 31.0298 14.456 30.75 14.1108 30.75H6.60082C5.37206 30.75 4.37255 29.7505 4.37255 28.5217V20.0164H7.57445H7.57592H7.57714H12.4717H12.4731H12.4746H17.3691H17.3706H17.3721H22.2666H22.2681H22.2693H28.8494V28.5217C28.8494 29.7505 27.8498 30.75 26.6211 30.75H19.1108C18.7659 30.75 18.4858 31.0298 18.4858 31.375C18.4858 31.7202 18.7659 32 19.1108 32H26.6211C28.5391 32 30.0994 30.4397 30.0994 28.5217V13.5422C30.0994 13.197 29.8196 12.9172 29.4744 12.9172ZM18.4536 18.7664L21.1091 14.1672H24.563L21.9077 18.7664H18.4536ZM13.5561 18.7664L16.2117 14.1672H19.6655L17.0102 18.7664H13.5561ZM8.65893 18.7664L11.3142 14.1672H14.7683L12.1128 18.7664H8.65893ZM10.9827 10.6753L6.53588 6.4043L9.86767 5.43921C9.8911 5.47339 9.91845 5.50562 9.9497 5.53564L14.3965 9.80664L11.0647 10.7717C11.0413 10.7375 11.0137 10.7051 10.9827 10.6753ZM19.3577 2.8103L23.8044 7.0813L20.4726 8.04639C20.4492 8.01221 20.4219 7.97974 20.3906 7.94995L15.9438 3.67896L19.2756 2.71387C19.2991 2.74805 19.3264 2.78027 19.3577 2.8103ZM14.6536 4.1731L19.1003 8.44385L15.7685 9.40918C15.7451 9.375 15.7178 9.34253 15.6865 9.31274L11.2397 5.04175L14.5715 4.07666C14.5952 4.1106 14.6226 4.14307 14.6536 4.1731ZM24.0261 1.33765C24.2268 1.27954 24.4336 1.25 24.6409 1.25C25.6299 1.25 26.512 1.91113 26.7864 2.85791L27.6843 5.95728L25.1767 6.68359C25.1531 6.64941 25.1257 6.61719 25.0945 6.58716L20.6479 2.31641L24.0261 1.33765ZM3.46752 7.9751C3.7556 7.4519 4.22753 7.073 4.79638 6.9082L5.16356 6.80176C5.18725 6.83594 5.21459 6.86841 5.24559 6.89819L9.69237 11.1692L4.17406 12.7678L3.27611 9.66846C3.11132 9.09985 3.17943 8.49854 3.46752 7.9751ZM4.37255 14.1672H9.87084L7.21557 18.7664H4.37255V14.1672ZM23.3511 18.7664L26.0063 14.1672H28.8494V18.7664H23.3511Z' fill='%234A4640'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.9326 25.3195C20.9326 25.0961 20.8135 24.8898 20.6201 24.7783L15.1292 21.6081C14.9358 21.4965 14.6975 21.4965 14.5042 21.6081C14.3108 21.7197 14.1917 21.926 14.1917 22.1494V28.4897C14.1917 28.7128 14.3108 28.9191 14.5042 29.0307C14.6008 29.0866 14.7087 29.1147 14.8167 29.1147C14.9246 29.1147 15.0325 29.0866 15.1292 29.0307L20.6201 25.8608C20.8135 25.7492 20.9326 25.5429 20.9326 25.3195ZM15.4417 27.4072V23.2319L19.0576 25.3195L15.4417 27.4072Z' fill='%234A4640'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16.6108 30.75C16.2666 30.75 15.9858 31.0308 15.9858 31.375C15.9858 31.7192 16.2666 32 16.6108 32C16.9553 32 17.2358 31.7192 17.2358 31.375C17.2358 31.0308 16.9553 30.75 16.6108 30.75Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.com-icon.--brochure {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cg clip-path='url(%23clip0_11575_9625)'%3E%3Cpath d='M29.4923 31.375H13.8035C12.7638 31.375 11.9209 30.5321 11.9209 29.4924V5.64539H29.4923C30.5321 5.64539 31.375 6.48826 31.375 7.52801V29.4923C31.3749 30.5321 30.532 31.375 29.4923 31.375Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.9209 26.3546H2.50763C1.46788 26.3546 0.625 25.5117 0.625 24.4719V2.50763C0.625 1.46788 1.46788 0.625 2.50763 0.625H20.0791V5.64537' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.9209 5.64537L20.079 0.625' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M28.8648 8.15564H14.4312V18.1965H28.8648V8.15564Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.4312 18.1964L19.4403 11.2933L24.4495 18.1964H14.4312Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22.5779 15.6178L25.7156 11.2933L28.8647 15.6328' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M28.8648 20.7067H14.4312V23.8444H28.8648V20.7067Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.4312 26.3546H28.8648' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.4312 28.8649H28.8648' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.41075 3.13513H3.13525V7.01807H9.41075V3.13513Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.13525 9.60681H9.41075' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.13525 12.1956H9.41075' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.41075 14.7842H3.13525V18.6672H9.41075V14.7842Z' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.13525 21.2557H9.41075' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.13525 23.8444H9.41075' stroke='%234A4640' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11575_9625'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
.com-icon.--play {
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98' height='98' viewBox='0 0 98 98' fill='none'%3E%3Ccircle cx='49' cy='49' r='42' fill='white'/%3E%3Cpath d='M67 49L39 65L39 33L67 49Z' fill='%231CAB3F'/%3E%3Ccircle cx='49' cy='49' r='48.5' stroke='white'/%3E%3C/svg%3E");
}

.c-form-step {
  width: 100%;
  max-width: 48.75rem;
  margin: 10.25rem auto 0;
  overflow: hidden;
}
.c-form-step__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0;
  margin: 0;
  list-style: none;
}
.c-form-step__item {
  position: relative;
  display: grid;
  justify-items: center;
  min-width: 0;
}
.c-form-step__item:not(:last-child)::after {
  position: absolute;
  top: 2.25rem;
  left: calc(50% + 3.75rem);
  width: calc(100% - 7.5rem);
  height: 0.125rem;
  content: "";
  background-color: #cecece;
  transform: translateY(-50%);
}
.c-form-step__item.is-current .c-form-step__number {
  color: #fff;
  background-color: #1cab3f;
  border-color: #1cab3f;
}
.c-form-step__item.is-current .c-form-step__label {
  color: #4a4640;
}
.c-form-step__item.is-complete .c-form-step__number {
  color: #fff;
  background-color: #1cab3f;
  border-color: #1cab3f;
}
.c-form-step__item.is-complete .c-form-step__label {
  color: #4a4640;
}
.c-form-step__number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 4.5rem;
  height: 4.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.75rem;
  line-height: 1;
  color: #c8c8c8;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
.c-form-step__label {
  margin-top: 0.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #c8c8c8;
  text-align: center;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .c-form-step {
    max-width: 21rem;
    margin-top: 4rem;
  }
  .c-form-step__list {
    margin: 0 -2.25rem;
  }
  .c-form-step__item:not(:last-child)::after {
    top: 2rem;
    left: calc(50% + 3rem);
    width: calc(100% - 6rem);
    height: 0.0625rem;
  }
  .c-form-step__number {
    width: 4rem;
    height: 4rem;
    font-size: 1.5rem;
  }
  .c-form-step__label {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-width: 18.75rem;
  min-height: 4rem;
  padding: 0.5rem 4rem;
  font-size: 1rem;
  font-weight: 700;
  color: #4a4640;
  cursor: pointer;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
}
.c-button::after {
  position: absolute;
  top: 50%;
  right: 1.625rem;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: background-color 0.3s linear, right 0.3s linear;
  transform: translateY(-50%);
}
.c-button.--blank::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.c-button.--pdf::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M27.5 11.5C27.5 10.9477 27.0523 10.5 26.5 10.5H5.5C4.94772 10.5 4.5 10.9477 4.5 11.5V20.5C4.5 21.0523 4.94772 21.5 5.5 21.5H26.5C27.0523 21.5 27.5 21.0523 27.5 20.5V11.5ZM4 9C3.44772 9 3 9.44772 3 10V22C3 22.5523 3.44772 23 4 23H28C28.5523 23 29 22.5523 29 22V10C29 9.44772 28.5523 9 28 9H4Z' fill='%234A4640'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%234A4640'/%3E%3Cpath d='M15.8427 19H13.554V13H15.8397C16.4706 13 17.0138 13.1201 17.4693 13.3604C17.9268 13.5986 18.2796 13.9424 18.5275 14.3916C18.7754 14.8389 18.8994 15.374 18.8994 15.9971C18.8994 16.6221 18.7754 17.1592 18.5275 17.6084C18.2816 18.0576 17.9299 18.4023 17.4723 18.6426C17.0148 18.8809 16.4716 19 15.8427 19ZM15.0506 17.7637H15.7852C16.1319 17.7637 16.4252 17.707 16.6651 17.5938C16.9069 17.4785 17.0894 17.292 17.2123 17.0342C17.3373 16.7744 17.3998 16.4287 17.3998 15.9971C17.3998 15.5654 17.3373 15.2217 17.2123 14.9658C17.0873 14.708 16.9029 14.5225 16.659 14.4092C16.4171 14.2939 16.1188 14.2363 15.7641 14.2363H15.0506V17.7637Z' fill='%234A4640'/%3E%3Cpath d='M8 19V13H10.5578C11.0214 13 11.4215 13.0879 11.7581 13.2637C12.0967 13.4375 12.3578 13.6807 12.5412 13.9932C12.7246 14.3037 12.8163 14.665 12.8163 15.0771C12.8163 15.4912 12.7226 15.8535 12.5351 16.1641C12.3497 16.4727 12.0847 16.7119 11.74 16.8818C11.3953 17.0518 10.9861 17.1367 10.5125 17.1367H8.93424V15.9941H10.2343C10.4601 15.9941 10.6485 15.9561 10.7997 15.8799C10.9529 15.8037 11.0688 15.6973 11.1474 15.5605C11.226 15.4219 11.2653 15.2607 11.2653 15.0771C11.2653 14.8916 11.226 14.7314 11.1474 14.5967C11.0688 14.46 10.9529 14.3545 10.7997 14.2803C10.6465 14.2061 10.458 14.1689 10.2343 14.1689H9.4966V19H8Z' fill='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M27.5 11.5C27.5 10.9477 27.0523 10.5 26.5 10.5H5.5C4.94772 10.5 4.5 10.9477 4.5 11.5V20.5C4.5 21.0523 4.94772 21.5 5.5 21.5H26.5C27.0523 21.5 27.5 21.0523 27.5 20.5V11.5ZM4 9C3.44772 9 3 9.44772 3 10V22C3 22.5523 3.44772 23 4 23H28C28.5523 23 29 22.5523 29 22V10C29 9.44772 28.5523 9 28 9H4Z' fill='%234A4640'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%234A4640'/%3E%3Cpath d='M15.8427 19H13.554V13H15.8397C16.4706 13 17.0138 13.1201 17.4693 13.3604C17.9268 13.5986 18.2796 13.9424 18.5275 14.3916C18.7754 14.8389 18.8994 15.374 18.8994 15.9971C18.8994 16.6221 18.7754 17.1592 18.5275 17.6084C18.2816 18.0576 17.9299 18.4023 17.4723 18.6426C17.0148 18.8809 16.4716 19 15.8427 19ZM15.0506 17.7637H15.7852C16.1319 17.7637 16.4252 17.707 16.6651 17.5938C16.9069 17.4785 17.0894 17.292 17.2123 17.0342C17.3373 16.7744 17.3998 16.4287 17.3998 15.9971C17.3998 15.5654 17.3373 15.2217 17.2123 14.9658C17.0873 14.708 16.9029 14.5225 16.659 14.4092C16.4171 14.2939 16.1188 14.2363 15.7641 14.2363H15.0506V17.7637Z' fill='%234A4640'/%3E%3Cpath d='M8 19V13H10.5578C11.0214 13 11.4215 13.0879 11.7581 13.2637C12.0967 13.4375 12.3578 13.6807 12.5412 13.9932C12.7246 14.3037 12.8163 14.665 12.8163 15.0771C12.8163 15.4912 12.7226 15.8535 12.5351 16.1641C12.3497 16.4727 12.0847 16.7119 11.74 16.8818C11.3953 17.0518 10.9861 17.1367 10.5125 17.1367H8.93424V15.9941H10.2343C10.4601 15.9941 10.6485 15.9561 10.7997 15.8799C10.9529 15.8037 11.0688 15.6973 11.1474 15.5605C11.226 15.4219 11.2653 15.2607 11.2653 15.0771C11.2653 14.8916 11.226 14.7314 11.1474 14.5967C11.0688 14.46 10.9529 14.3545 10.7997 14.2803C10.6465 14.2061 10.458 14.1689 10.2343 14.1689H9.4966V19H8Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.c-button.--sm {
  min-width: 16.5rem;
}
.c-button.--green {
  color: #fff;
  background-color: #1cab3f;
}
.c-button.--return::after, .c-button.--prev::after {
  right: unset;
  left: 1.625rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
  transition: left 0.3s linear;
}
@media (hover: hover) {
  .c-button {
    transition: 0.3s linear color, 0.3s linear background-color;
  }
  .c-button:hover {
    color: #fff;
    background-color: #1cab3f;
  }
  .c-button:hover::after {
    right: 1rem;
  }
  .c-button.--return:hover::after {
    left: 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .c-button {
    width: 100%;
    min-width: inherit;
    max-width: 21.5625rem;
    padding: 0.5rem 3rem;
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .c-button::after {
    width: 1.75rem;
    height: 1.75rem;
  }
  .c-button.--sm {
    min-width: inherit;
  }
}
.c-heading {
  position: relative;
  display: inline-block;
  font-weight: 700;
}
.c-heading__en {
  font-family: "Shippori Mincho", serif;
  font-size: 4.5rem;
  font-weight: 800;
  line-height: 1.4;
  color: #1cab3f;
}
.c-heading__jp {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 700;
}
.c-heading__jp::before {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background-color: #e6900d;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .c-heading__en {
    font-size: 3rem;
    line-height: 1.5;
  }
  .c-heading__jp {
    gap: 0.375rem;
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .c-heading__jp::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.c-heading-lv1 {
  position: relative;
  padding-left: 1.75rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 3.5rem;
}
.c-heading-lv1::before {
  position: absolute;
  top: 1.375rem;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: #e6900d;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv1 {
    padding-left: 1rem;
    font-size: 2rem;
    line-height: 3rem;
  }
  .c-heading-lv1::before {
    top: 1.125rem;
    width: 0.5rem;
    height: 0.5rem;
  }
}
.c-heading-lv2 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv2 {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.c-heading-lv3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv3 {
    font-size: 1.625rem;
    line-height: 1.5;
  }
}
.c-heading-lv4 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv4 {
    font-size: 1.3125rem;
    line-height: 1.5;
  }
}
.c-heading-lv5 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv5 {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.c-heading-lv6 {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .c-heading-lv6 {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.c-list-dot__item {
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.7rem;
}
.c-list-dot__item + li {
  margin-top: 0.25rem;
}
.c-list-dot__item::before {
  position: absolute;
  top: 0.5625rem;
  left: 0;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  background: #e6900d;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .c-list-dot {
    font-size: 0.9375rem;
  }
  .c-list-dot__item {
    padding-left: 0.875rem;
    line-height: 1.5rem;
  }
  .c-list-dot__item + li {
    margin-top: 0.125rem;
  }
  .c-list-dot__item::before {
    top: 0.625rem;
    width: 0.375rem;
    height: 0.375rem;
  }
}
.c-list-ol {
  list-style: none;
  counter-reset: numbered-list;
}
.c-list-ol__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.125rem;
  align-items: start;
  counter-increment: numbered-list;
}
.c-list-ol__item + li {
  margin-top: 0.25rem;
}
.c-list-ol__item::before {
  font-weight: 700;
  color: #4a4640;
  content: counter(numbered-list, decimal-leading-zero) ".";
}

@media only screen and (max-width: 767px) {
  .c-list-ol {
    font-size: 0.9375rem;
  }
  .c-list-ol__item + li {
    margin-top: 0.125rem;
  }
}
.c-list-dl__dt {
  font-weight: bold;
}
.c-list-dl__dd {
  padding-left: 1em;
}

.c-textlink {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  color: #1558d6;
  text-decoration: underline;
  text-decoration-thickness: 6%;
  text-underline-offset: 25%;
}
.c-textlink.--blank::after, .c-textlink.--pdf::after {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 0.375rem;
  vertical-align: middle;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: background-color 0.3s linear, margin-left 0.3s linear;
}
.c-textlink.--blank::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.c-textlink.--pdf::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M27.5 11.5C27.5 10.9477 27.0523 10.5 26.5 10.5H5.5C4.94772 10.5 4.5 10.9477 4.5 11.5V20.5C4.5 21.0523 4.94772 21.5 5.5 21.5H26.5C27.0523 21.5 27.5 21.0523 27.5 20.5V11.5ZM4 9C3.44772 9 3 9.44772 3 10V22C3 22.5523 3.44772 23 4 23H28C28.5523 23 29 22.5523 29 22V10C29 9.44772 28.5523 9 28 9H4Z' fill='%234A4640'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%234A4640'/%3E%3Cpath d='M15.8427 19H13.554V13H15.8397C16.4706 13 17.0138 13.1201 17.4693 13.3604C17.9268 13.5986 18.2796 13.9424 18.5275 14.3916C18.7754 14.8389 18.8994 15.374 18.8994 15.9971C18.8994 16.6221 18.7754 17.1592 18.5275 17.6084C18.2816 18.0576 17.9299 18.4023 17.4723 18.6426C17.0148 18.8809 16.4716 19 15.8427 19ZM15.0506 17.7637H15.7852C16.1319 17.7637 16.4252 17.707 16.6651 17.5938C16.9069 17.4785 17.0894 17.292 17.2123 17.0342C17.3373 16.7744 17.3998 16.4287 17.3998 15.9971C17.3998 15.5654 17.3373 15.2217 17.2123 14.9658C17.0873 14.708 16.9029 14.5225 16.659 14.4092C16.4171 14.2939 16.1188 14.2363 15.7641 14.2363H15.0506V17.7637Z' fill='%234A4640'/%3E%3Cpath d='M8 19V13H10.5578C11.0214 13 11.4215 13.0879 11.7581 13.2637C12.0967 13.4375 12.3578 13.6807 12.5412 13.9932C12.7246 14.3037 12.8163 14.665 12.8163 15.0771C12.8163 15.4912 12.7226 15.8535 12.5351 16.1641C12.3497 16.4727 12.0847 16.7119 11.74 16.8818C11.3953 17.0518 10.9861 17.1367 10.5125 17.1367H8.93424V15.9941H10.2343C10.4601 15.9941 10.6485 15.9561 10.7997 15.8799C10.9529 15.8037 11.0688 15.6973 11.1474 15.5605C11.226 15.4219 11.2653 15.2607 11.2653 15.0771C11.2653 14.8916 11.226 14.7314 11.1474 14.5967C11.0688 14.46 10.9529 14.3545 10.7997 14.2803C10.6465 14.2061 10.458 14.1689 10.2343 14.1689H9.4966V19H8Z' fill='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M27.5 11.5C27.5 10.9477 27.0523 10.5 26.5 10.5H5.5C4.94772 10.5 4.5 10.9477 4.5 11.5V20.5C4.5 21.0523 4.94772 21.5 5.5 21.5H26.5C27.0523 21.5 27.5 21.0523 27.5 20.5V11.5ZM4 9C3.44772 9 3 9.44772 3 10V22C3 22.5523 3.44772 23 4 23H28C28.5523 23 29 22.5523 29 22V10C29 9.44772 28.5523 9 28 9H4Z' fill='%234A4640'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%234A4640'/%3E%3Cpath d='M15.8427 19H13.554V13H15.8397C16.4706 13 17.0138 13.1201 17.4693 13.3604C17.9268 13.5986 18.2796 13.9424 18.5275 14.3916C18.7754 14.8389 18.8994 15.374 18.8994 15.9971C18.8994 16.6221 18.7754 17.1592 18.5275 17.6084C18.2816 18.0576 17.9299 18.4023 17.4723 18.6426C17.0148 18.8809 16.4716 19 15.8427 19ZM15.0506 17.7637H15.7852C16.1319 17.7637 16.4252 17.707 16.6651 17.5938C16.9069 17.4785 17.0894 17.292 17.2123 17.0342C17.3373 16.7744 17.3998 16.4287 17.3998 15.9971C17.3998 15.5654 17.3373 15.2217 17.2123 14.9658C17.0873 14.708 16.9029 14.5225 16.659 14.4092C16.4171 14.2939 16.1188 14.2363 15.7641 14.2363H15.0506V17.7637Z' fill='%234A4640'/%3E%3Cpath d='M8 19V13H10.5578C11.0214 13 11.4215 13.0879 11.7581 13.2637C12.0967 13.4375 12.3578 13.6807 12.5412 13.9932C12.7246 14.3037 12.8163 14.665 12.8163 15.0771C12.8163 15.4912 12.7226 15.8535 12.5351 16.1641C12.3497 16.4727 12.0847 16.7119 11.74 16.8818C11.3953 17.0518 10.9861 17.1367 10.5125 17.1367H8.93424V15.9941H10.2343C10.4601 15.9941 10.6485 15.9561 10.7997 15.8799C10.9529 15.8037 11.0688 15.6973 11.1474 15.5605C11.226 15.4219 11.2653 15.2607 11.2653 15.0771C11.2653 14.8916 11.226 14.7314 11.1474 14.5967C11.0688 14.46 10.9529 14.3545 10.7997 14.2803C10.6465 14.2061 10.458 14.1689 10.2343 14.1689H9.4966V19H8Z' fill='%234A4640'/%3E%3C/svg%3E");
}
.c-textlink.--map::before {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.125rem;
  vertical-align: middle;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16.0567 29C12.8202 24.1452 7.15625 17.5643 7.15625 11.9004C7.15625 6.99273 11.149 3 16.0567 3C20.9644 3 24.9571 6.99273 24.9571 11.9004C24.9571 17.5643 19.2932 24.1452 16.0567 29Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.0566 15.9462C13.826 15.9462 12.011 14.1312 12.011 11.9005C12.011 9.66986 13.826 7.85488 16.0566 7.85488C18.2873 7.85488 20.1023 9.66986 20.1023 11.9005C20.1023 14.1312 18.2873 15.9462 16.0566 15.9462Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16.0567 29C12.8202 24.1452 7.15625 17.5643 7.15625 11.9004C7.15625 6.99273 11.149 3 16.0567 3C20.9644 3 24.9571 6.99273 24.9571 11.9004C24.9571 17.5643 19.2932 24.1452 16.0567 29Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.0566 15.9462C13.826 15.9462 12.011 14.1312 12.011 11.9005C12.011 9.66986 13.826 7.85488 16.0566 7.85488C18.2873 7.85488 20.1023 9.66986 20.1023 11.9005C20.1023 14.1312 18.2873 15.9462 16.0566 15.9462Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: background-color 0.3s linear;
}
.c-textlink.--tel {
  color: #4a4640;
  transition: none;
}
@media (hover: hover) {
  .c-textlink {
    transition: 0.3s linear opacity;
  }
  .c-textlink:hover {
    opacity: 0.7;
  }
  .c-textlink:hover::after {
    margin-left: 0.75rem;
  }
}

@media all and (min-width: 1281px), print {
  .c-textlink.--tel {
    color: #4a4640;
    text-decoration: none;
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .c-textlink {
    font-size: 0.9375rem;
  }
}
.c-text {
  font-size: 1rem;
  line-height: 1.7;
}
.c-text.--xlg {
  font-size: 1.25rem;
}
.c-text.--lg {
  font-size: 1.125rem;
}
.c-text.--sm {
  font-size: 0.875rem;
}
.c-text.--xsm {
  font-size: 0.75rem;
}
.c-text.--bold {
  font-weight: 700;
}
.c-text.--green {
  font-weight: 700;
  color: #1cab3f;
}
.c-text.--green + .c-text {
  margin-top: 0.5rem;
}
.c-text.--tel-fax span {
  display: inline-block;
  margin: 0 0.5rem;
  transform: rotate(-10deg);
}

@media only screen and (max-width: 767px) {
  .c-text {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .c-text.--xlg {
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .c-text.--lg {
    font-size: 1rem;
    line-height: 1.5;
  }
  .c-text.--sm {
    font-size: 0.75rem;
  }
  .c-text.--xsm {
    font-size: 0.625rem;
  }
}
.c-input + .c-input {
  margin-top: 2.5rem;
}
.c-input__label {
  cursor: auto;
}
.c-input__optional {
  padding: 0 0.5rem;
  margin-left: 0.5rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: #4a4640;
  border-radius: 0.25rem;
}
.c-input__optional.--required {
  background-color: #1cab3f;
}
.c-input__support-text {
  margin-top: 0.5rem;
}
.c-input__text-label {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.c-input__container {
  width: 100%;
  padding: 0.875rem 1.5rem;
  margin-top: 1rem;
  font-size: 1rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 0.25rem;
  outline: 0;
}
.c-input__container:focus {
  border-color: #d3d3d3;
}
.c-input__container.error {
  background-color: #ffe4e4;
  border-color: #db0000;
}
.c-input__radio-wrap {
  display: flex;
  flex-flow: column wrap;
  gap: 1rem 2.5rem;
  margin-top: 1rem;
}
.c-input__radio-wrap.--flex {
  flex-direction: row;
}
.c-input__radio-container {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.75rem 0 0.25rem;
  border: 0.125rem solid #4a4640;
  border-radius: 50%;
}
.c-input__radio-container::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: #1cab3f;
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
}
.c-input__radio {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  vertical-align: top;
  opacity: 0;
}
.c-input__radio:checked + .c-input__radio-container {
  border-color: #1cab3f;
}
.c-input__radio:checked + .c-input__radio-container::after {
  opacity: 1;
}
.c-input__check-wrap {
  display: flex;
  flex-flow: column wrap;
  gap: 1rem 2.5rem;
  margin-top: 1rem;
}
.c-input__check-wrap.--flex {
  flex-direction: row;
}
.c-input__checkbox-container {
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  margin: 0 0.75rem 0 0.25rem;
  border: 0.125rem solid #4a4640;
  border-radius: 0.125rem;
}
.c-input__checkbox-container::after {
  position: absolute;
  top: calc(50% - 0.125rem);
  left: 50%;
  display: block;
  width: 6px;
  height: 10px;
  content: "";
  border-right: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.c-input__checkbox {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  vertical-align: top;
  opacity: 0;
}
.c-input__checkbox:checked + .c-input__checkbox-container {
  background-color: #1cab3f;
  border-color: #1cab3f;
}
.c-input__checkbox:checked + .c-input__checkbox-container::after {
  opacity: 1;
}
.c-input__error-text {
  margin-top: 0.5rem;
  font-size: 1rem;
  color: #db0000;
}
.c-input__select-wrap {
  position: relative;
  width: 100%;
  max-width: 37.5rem;
  margin-top: 1rem;
}
.c-input__select-wrap::after {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 2L16 30C16.4545 28.0412 18.0909 23.8469 21 22.7407' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 2L16 30C16.4545 28.0412 18.0909 23.8469 21 22.7407' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: translateY(-50%);
}
.c-input__select-wrap .c-input__container {
  margin: 0;
}
.c-input__select-wrap select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-input__select-wrap select::-ms-expand {
  display: none;
}
.c-input__date-wrap {
  position: relative;
  width: 100%;
  max-width: 25.3125rem;
  margin-top: 1rem;
}
.c-input__date-wrap::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  pointer-events: none;
  content: "";
  background-color: #4a4640;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M26.7257 27.2031H4.6923C3.75763 27.2031 3 26.4455 3 25.5108V7.81291C3 6.8783 3.75763 6.12066 4.6923 6.12066H26.7257C27.6603 6.12066 28.418 6.8783 28.418 7.81291V25.5108C28.418 26.4455 27.6603 27.2031 26.7257 27.2031Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M3 10.8486H28.418' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M15.7192 7.99756V4.0198' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M6.59473 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M11.1567 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M25.0234 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M20.3711 7.99756V4.0198' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M17.1686 17.5527H14.2693C14.0933 17.5527 13.9507 17.4101 13.9507 17.2341V14.3348C13.9507 14.1589 14.0933 14.0162 14.2693 14.0162H17.1686C17.3446 14.0162 17.4872 14.1589 17.4872 14.3348V17.2341C17.4872 17.4101 17.3446 17.5527 17.1686 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M17.1686 24.25H14.2693C14.0933 24.25 13.9507 24.1074 13.9507 23.9313V21.0321C13.9507 20.8561 14.0933 20.7135 14.2693 20.7135H17.1686C17.3446 20.7135 17.4872 20.8561 17.4872 21.0321V23.9313C17.4872 24.1074 17.3446 24.25 17.1686 24.25Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M9.81263 17.5527H6.91335C6.73737 17.5527 6.59473 17.4101 6.59473 17.2341V14.3348C6.59473 14.1589 6.73737 14.0162 6.91335 14.0162H9.81263C9.98861 14.0162 10.1313 14.1589 10.1313 14.3348V17.2341C10.1313 17.4101 9.98861 17.5527 9.81263 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M9.81263 24.25H6.91335C6.73737 24.25 6.59473 24.1074 6.59473 23.9313V21.0321C6.59473 20.8561 6.73737 20.7135 6.91335 20.7135H9.81263C9.98861 20.7135 10.1313 20.8561 10.1313 21.0321V23.9313C10.1313 24.1074 9.98861 24.25 9.81263 24.25Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M24.7047 17.5527H21.8054C21.6295 17.5527 21.4868 17.4101 21.4868 17.2341V14.3348C21.4868 14.1589 21.6295 14.0162 21.8054 14.0162H24.7047C24.8807 14.0162 25.0234 14.1589 25.0234 14.3348V17.2341C25.0234 17.4101 24.8807 17.5527 24.7047 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M21.7158 22.5794L22.409 23.2724C22.5929 23.4564 22.8911 23.4564 23.075 23.2724L24.7943 21.5532' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M26.7257 27.2031H4.6923C3.75763 27.2031 3 26.4455 3 25.5108V7.81291C3 6.8783 3.75763 6.12066 4.6923 6.12066H26.7257C27.6603 6.12066 28.418 6.8783 28.418 7.81291V25.5108C28.418 26.4455 27.6603 27.2031 26.7257 27.2031Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M3 10.8486H28.418' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M15.7192 7.99756V4.0198' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M6.59473 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M11.1567 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M25.0234 7.97778V4.00003' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M20.3711 7.99756V4.0198' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M17.1686 17.5527H14.2693C14.0933 17.5527 13.9507 17.4101 13.9507 17.2341V14.3348C13.9507 14.1589 14.0933 14.0162 14.2693 14.0162H17.1686C17.3446 14.0162 17.4872 14.1589 17.4872 14.3348V17.2341C17.4872 17.4101 17.3446 17.5527 17.1686 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M17.1686 24.25H14.2693C14.0933 24.25 13.9507 24.1074 13.9507 23.9313V21.0321C13.9507 20.8561 14.0933 20.7135 14.2693 20.7135H17.1686C17.3446 20.7135 17.4872 20.8561 17.4872 21.0321V23.9313C17.4872 24.1074 17.3446 24.25 17.1686 24.25Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M9.81263 17.5527H6.91335C6.73737 17.5527 6.59473 17.4101 6.59473 17.2341V14.3348C6.59473 14.1589 6.73737 14.0162 6.91335 14.0162H9.81263C9.98861 14.0162 10.1313 14.1589 10.1313 14.3348V17.2341C10.1313 17.4101 9.98861 17.5527 9.81263 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M9.81263 24.25H6.91335C6.73737 24.25 6.59473 24.1074 6.59473 23.9313V21.0321C6.59473 20.8561 6.73737 20.7135 6.91335 20.7135H9.81263C9.98861 20.7135 10.1313 20.8561 10.1313 21.0321V23.9313C10.1313 24.1074 9.98861 24.25 9.81263 24.25Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M24.7047 17.5527H21.8054C21.6295 17.5527 21.4868 17.4101 21.4868 17.2341V14.3348C21.4868 14.1589 21.6295 14.0162 21.8054 14.0162H24.7047C24.8807 14.0162 25.0234 14.1589 25.0234 14.3348V17.2341C25.0234 17.4101 24.8807 17.5527 24.7047 17.5527Z' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10'/%3E%3Cpath d='M21.7158 22.5794L22.409 23.2724C22.5929 23.4564 22.8911 23.4564 23.075 23.2724L24.7943 21.5532' stroke='%23333333' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: translateY(-50%);
}
.c-input__date-wrap .c-input__container {
  margin-top: 0;
}
.c-input__date {
  padding: 0.875rem 3.5rem 0.875rem 1.5rem;
  color: #4a4640;
}
.c-input__date::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.c-input__date:invalid {
  color: #1cab3f;
}
.c-input__date:focus-visible {
  border-color: #d3d3d3;
  box-shadow: 0 0 0 0.125rem rgba(211, 211, 211, 0.2);
}

@media only screen and (max-width: 767px) {
  .c-input {
    font-size: 0.9375rem;
  }
  .c-input__optional {
    padding: 0 0.375rem;
  }
  .c-input__container {
    padding: 0.625rem 1rem;
  }
  .c-input__radio-wrap.--flex {
    flex-direction: column;
  }
  .c-input__radio-container {
    width: 1.25rem;
    height: 1.25rem;
  }
  .c-input__radio-container::after {
    width: 0.625rem;
    height: 0.625rem;
  }
  .c-input__radio {
    width: 1.25rem;
    height: 1.25rem;
  }
  .c-input__check-wrap.--flex {
    flex-direction: column;
  }
  .c-input__checkbox-container {
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-input__checkbox-container::after {
    width: 5px;
    height: 8px;
  }
  .c-input__checkbox {
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-input__error-text {
    font-size: 0.9375rem;
  }
  .c-input__select-wrap::after {
    right: 0.625rem;
    width: 1.625rem;
    height: 1.625rem;
  }
  .c-input__date-wrap {
    max-width: 25.3125rem;
  }
  .c-input__date-wrap::after {
    right: 0.625rem;
    width: 1.625rem;
    height: 1.625rem;
  }
  .c-input__date-wrap .c-input__container {
    margin-top: 0;
  }
  .c-input__date {
    padding: 0.625rem 3rem 0.625rem 1rem;
  }
}
/* project */
.p-accordion__item + .p-accordion__item {
  margin-top: 1.5rem;
}
.p-accordion__head {
  position: relative;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  width: 100%;
  padding: 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background-color: #0a7825;
  border: none;
}
.p-accordion__head-icon {
  position: relative;
  display: block;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  margin-left: auto;
  transition: 0.3s all;
}
.p-accordion__head-icon::after, .p-accordion__head-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  background-color: #fff;
  border-radius: 0.125rem;
  transform: translate(-50%, -50%);
}
.p-accordion__head-icon::before {
  width: 1.5rem;
  height: 0.125rem;
}
.p-accordion__head-icon::after {
  width: 0.125rem;
  height: 1.5rem;
}
.p-accordion__head.is-active .p-accordion__head-icon::after {
  display: none;
}
.p-accordion__content {
  padding: 1.5rem;
  background-color: #fff;
  border-color: #cecece;
  border-style: solid;
  border-width: 0 0.0625rem 0.0625rem;
}

@media only screen and (max-width: 767px) {
  .p-accordion__item {
    border-width: 0.0625rem;
  }
  .p-accordion__item + .p-accordion__item {
    margin-top: 2.1875rem;
  }
  .p-accordion__head {
    gap: 1rem;
    padding: 1rem 0.9375rem;
    font-size: 1rem;
    line-height: 1.5;
  }
  .p-accordion__head-icon {
    width: 1.75rem;
    min-width: 1.75rem;
    height: 1.75rem;
  }
  .p-accordion__head-icon::before {
    width: 1.3125rem;
    height: 0.0625rem;
  }
  .p-accordion__head-icon::after {
    width: 0.0625rem;
    height: 1.3125rem;
  }
  .p-accordion__content {
    padding: 1rem 0.9375rem;
  }
}
.p-achievement-card {
  display: grid;
  gap: 1.5rem;
  width: 26.25rem;
}
.p-achievement-card__img {
  aspect-ratio: 420/300;
  overflow: hidden;
}
.p-achievement-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-achievement-card__link {
  transition: 0.3s;
}
.p-achievement-card__link:hover {
  opacity: 0.7;
}

.p-achievement-slider__viewport {
  margin-right: calc(-50vw + 50%);
}
.p-achievement-slider__controler {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem 2.5rem;
  align-items: center;
  margin-top: 4rem;
}
.p-achievement-slider__scrollbar {
  position: relative;
  height: 0.5rem;
  overflow: hidden;
  background-color: #fff;
  border-radius: 999rem;
  box-shadow: 0 0 2px 0 rgba(51, 51, 51, 0.25);
}
.p-achievement-slider__bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e6900d;
  border-radius: 999rem;
  transition: 0.3s linear transform;
  transform: scaleX(var(--bar-progress, 0));
  transform-origin: left center;
}
.p-achievement-slider__bar.is-resetting {
  transition: none;
}
.p-achievement-slider__nav {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
}
.p-achievement-slider__button {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  color: #4a4640;
  cursor: pointer;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
.p-achievement-slider__button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask: center/contain no-repeat;
          mask: center/contain no-repeat;
  transition: 0.3s linear left, 0.3s linear background-color;
  transform: translate(-50%, -50%);
}
.p-achievement-slider__button.--prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
}
.p-achievement-slider__button.--next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E");
}
@media (hover: hover) {
  .p-achievement-slider__button {
    transition: 0.3s linear background-color, 0.3s linear color;
  }
  .p-achievement-slider__button:hover {
    color: #fff;
    background-color: #1cab3f;
  }
  .p-achievement-slider__button:hover::before {
    left: calc(50% + 6px);
  }
}
.p-achievement-slider__button.swiper-button-disabled {
  pointer-events: none;
  opacity: 0.4;
}
.p-achievement-slider__fraction {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  font-size: 1rem;
}
.p-achievement-slider__fraction-separator {
  font-size: 1.75rem;
  transform: rotate(-12deg);
}

@media only screen and (max-width: 767px) {
  .p-achievement-card {
    gap: 1rem;
    width: 100%;
  }
  .p-achievement-slider__viewport {
    padding-right: 0.9375rem;
    margin: 0;
    margin-right: -0.9375rem;
  }
  .p-achievement-slider__controler {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2.5rem;
  }
  .p-achievement-slider__button {
    width: 3rem;
    height: 3rem;
  }
  .p-achievement-slider__button::before {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.p-anchor-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0.25rem;
  box-shadow: 0 0 0.25rem 0 rgba(0, 0, 0, 0.15);
}
.p-anchor-list__link {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 0 0.25rem 0.75rem;
  font-size: 1.125rem;
  color: #4a4640;
  border-bottom: 0.0625rem dashed #cecece;
}
.p-anchor-list__link.is-active {
  color: #1cab3f;
  border-bottom: 0.0625rem solid #1cab3f;
}
.p-anchor-list__link.is-active .com-icon {
  color: #fff;
  background-color: #1cab3f;
}
.p-anchor-list__link.is-active .com-icon::before {
  top: calc(50% + 3px);
}
.p-anchor-list__link-icon {
  flex-shrink: 0;
  margin-left: auto;
  color: #4a4640;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
  transition: 0.3s linear background-color, 0.3s linear color;
}
.p-anchor-list__link-icon.com-icon {
  width: 2.25rem;
  height: 2.25rem;
  --icon-size: 18px;
}
.p-anchor-list__link-icon.com-icon::before {
  transition: 0.3s linear top;
}
@media (hover: hover) {
  .p-anchor-list__link {
    transition: 0.3s linear color, 0.3s linear border-bottom;
  }
  .p-anchor-list__link:hover {
    color: #1cab3f;
    border-bottom: 0.0625rem solid #1cab3f;
  }
  .p-anchor-list__link:hover .p-anchor-list__link-icon {
    color: #fff;
    background-color: #1cab3f;
  }
  .p-anchor-list__link:hover .p-anchor-list__link-icon::before {
    top: calc(50% + 3px);
  }
}

@media only screen and (max-width: 767px) {
  .p-anchor-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .p-anchor-list__link {
    gap: 0.5rem;
    padding: 0 0.25rem 0.75rem;
    font-size: 1rem;
  }
  .p-anchor-list__link-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-anchor-list__link-icon.com-icon {
    --icon-size: 16px;
  }
}
.p-banner-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 25rem;
  padding: 2rem;
  overflow: hidden;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
@media (hover: hover) {
  .p-banner-link:hover .p-banner-link__img {
    transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1.1);
  }
  .p-banner-link:hover .p-banner-link__icon .com-icon {
    color: #fff;
    background-color: #1cab3f;
  }
  .p-banner-link:hover .p-banner-link__icon .com-icon::after {
    right: 1rem;
  }
}
.p-banner-link__img {
  position: absolute;
  inset: 0;
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-banner-link__img::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
}
.p-banner-link__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-banner-link__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 2rem;
}
.p-banner-link__title {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-banner-link__icon {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  line-height: 1;
}
.p-banner-link__icon .com-icon {
  width: 3.5rem;
  height: 3.5rem;
  color: #4a4640;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
  transition: color 0.3s linear, background-color 0.3s linear;
  --icon-size: 32px;
}
.p-banner-link__icon .com-icon::before {
  transition: 0.3s linear left;
}

@media only screen and (max-width: 1280px) {
  .p-banner-link {
    min-height: 20.3125rem;
    padding: 1.75rem;
  }
  .p-banner-link__content {
    gap: 1.5rem;
  }
  .p-banner-link__title {
    font-size: 2.25rem;
    line-height: 1.3;
  }
  .p-banner-link__icon {
    right: 0.9375rem;
    bottom: 0.9375rem;
  }
  .p-banner-link__icon .com-icon {
    width: 3rem;
    height: 3rem;
    --icon-size: 28px;
  }
}
.p-breadline {
  position: relative;
  z-index: 2;
  padding: 0 1.25rem;
  margin-top: -1.6875rem;
  --home-width: 4.8125rem;
  --max-item-count: 3;
}
.p-breadline__list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 1760px;
  padding-bottom: 1.5625rem;
  margin: 0 auto;
  border-bottom: 0.0625rem solid #cecece;
}
.p-breadline__item {
  --item-max-width: calc((100% - var(--home-width)) / (var(--max-item-count) - 1));
  display: flex;
  flex-shrink: 0;
  align-items: center;
  max-width: var(--item-max-width);
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1cab3f;
}
.p-breadline__item a {
  margin-right: 0.75rem;
  color: #4a4640;
  text-decoration-line: underline;
  text-decoration-thickness: 6%;
  text-underline-offset: 25%;
}
.p-breadline__item > * {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-breadline__item.--active {
  overflow: hidden;
  color: #4a4640;
  text-overflow: ellipsis;
}
.p-breadline__divider {
  flex-shrink: 0;
  margin-right: 0.75rem;
  font-size: 1rem;
  color: #4a4640;
}

@media only screen and (max-width: 1280px) {
  .p-breadline {
    padding: 0 0.9375rem;
    margin-top: 2rem;
  }
  .p-breadline__list {
    justify-content: flex-start;
    padding-bottom: 1.25rem;
  }
  .p-breadline__item {
    font-size: 0.875rem;
  }
}
.p-buttons {
  margin-top: 4rem;
  text-align: center;
}
.p-buttons.--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .p-buttons {
    margin-top: 3rem;
  }
  .p-buttons.--flex {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
}
.p-card {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem 1.5rem;
}
.p-card.--column2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.p-card.--column2 .p-card__img {
  aspect-ratio: 604/350;
}
.p-card.--column3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-card__img {
  aspect-ratio: 397/300;
  overflow: hidden;
}
.p-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-card__link {
  transition: 0.3s;
}
.p-card__link:hover {
  opacity: 0.7;
}
.p-card__content {
  margin-top: 1.5rem;
}
.p-card__title {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #4a4640;
}
.p-card__title.--box-green {
  padding: 0.125rem 1.5rem;
  color: #fff;
  background-color: #1cab3f;
}
.p-card__category {
  display: inline-block;
  padding: 0.125rem 1.5rem;
  font-size: 1.125rem;
  color: #fff;
  background-color: #1cab3f;
}
.p-card__text {
  margin-top: 1rem;
}
.p-card__button {
  margin-top: 2rem;
}

@media only screen and (max-width: 1280px) {
  .p-card-welfare {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .p-card.--column2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .p-card.--column2 .p-card__img {
    aspect-ratio: 345/194;
  }
  .p-card.--column3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .p-card__content {
    margin-top: 1rem;
  }
  .p-card__title {
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-card__title.--box-green {
    padding: 0.0625rem 0.75rem;
  }
  .p-card__category {
    padding: 0 0.75rem;
    font-size: 1rem;
  }
  .p-card__text {
    margin-top: 0.5rem;
  }
  .p-card__button {
    margin-top: 1.5rem;
  }
}
.p-cert {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem 4rem;
  padding: 3rem 4rem;
  background-color: #fff;
}
.p-cert + .p-cert {
  margin-top: 1.5rem;
}
.p-cert__img {
  width: 16.5rem;
  text-align: center;
}
.p-cert__title {
  margin-bottom: 2rem;
}
.p-cert__sub {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.p-cert__text:not(:last-child) {
  margin-bottom: 1rem;
}

@media only screen and (max-width: 767px) {
  .p-cert {
    grid-template-columns: repeat(1, 1fr);
    justify-content: center;
    padding: 2rem 0.9375rem;
  }
  .p-cert + .p-cert {
    margin-top: 1rem;
  }
  .p-cert__img {
    width: 10.75rem;
    margin: 0 auto;
  }
  .p-cert__title {
    margin-bottom: 1rem;
  }
  .p-cert__sub {
    margin-bottom: 0.25rem;
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-cert__text:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
.p-column {
  display: flex;
  gap: 1.5rem 4rem;
  align-items: center;
}
.p-column.--bd-top {
  padding-top: 2.5rem;
  border-top: 0.0625rem solid #cecece;
}
.p-column + .p-column {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
  border-top: 0.0625rem solid #cecece;
}
.p-column__img {
  position: relative;
  flex-shrink: 0;
  width: calc(50% + 20px);
  aspect-ratio: 640/360;
  overflow: hidden;
}
.p-column__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-column__img iframe {
  position: absolute;
  inset: 0;
}
.p-column__content {
  flex-grow: 1;
}
.p-column__title {
  margin-bottom: 2rem;
}
.p-column__title + .p-column__sub {
  margin-top: 0;
}
.p-column__sub {
  display: inline-block;
  padding: 0.125rem 1.5rem;
  margin: 1.5rem 0 1rem;
  font-size: 1.125rem;
  color: #fff;
  background-color: #1cab3f;
}
.p-column__sub:first-child {
  margin-top: 0;
}
.p-column__button {
  margin-top: 4rem;
}

.p-column-greeting {
  display: flex;
  gap: 2rem 4rem;
  align-items: center;
}
.p-column-greeting__img {
  position: relative;
  flex-shrink: 0;
  width: calc(50% - 5.25rem);
  aspect-ratio: 556/640;
  overflow: hidden;
}
.p-column-greeting__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-column-greeting__content {
  flex-grow: 1;
}
.p-column-greeting__text {
  margin-top: 2rem;
}
.p-column-greeting__position {
  margin-top: 4rem;
  font-size: 1.125rem;
  font-weight: 700;
}
.p-column-greeting__name {
  margin-top: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-column-reuse {
  display: flex;
  gap: 2rem 4rem;
  align-items: center;
}
.p-column-reuse__img {
  width: 50%;
}
.p-column-reuse__content {
  flex-grow: 1;
}

@media all and (min-width: 768px), print {
  .p-column.--reverse {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 767px) {
  .p-column {
    flex-direction: column;
  }
  .p-column.--bd-top {
    padding-top: 2rem;
  }
  .p-column + .p-column {
    padding-top: 2rem;
    margin-top: 2rem;
  }
  .p-column__img {
    width: 100%;
    aspect-ratio: 345/194;
  }
  .p-column__title {
    margin-bottom: 1rem;
  }
  .p-column__button {
    margin-top: 2rem;
  }
  .p-column-greeting {
    flex-direction: column;
  }
  .p-column-greeting__img {
    width: 100%;
    aspect-ratio: 1;
  }
  .p-column-greeting__content {
    width: 100%;
  }
  .p-column-greeting__text {
    margin-top: 1.5rem;
  }
  .p-column-greeting__position {
    margin-top: 2.5rem;
    font-size: 1rem;
  }
  .p-column-greeting__name {
    margin-top: 0.5rem;
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-column-reuse {
    flex-direction: column;
    align-items: center;
  }
  .p-column-reuse__img {
    width: 100%;
    max-width: 21.5625rem;
  }
  .p-column-reuse__content {
    width: 100%;
  }
}
.p-concept-movie {
  max-width: 68.75rem;
  padding: 0 3.125rem 4rem;
  margin: 0 auto;
  background-color: #fff;
}
.p-concept-movie__title {
  margin-bottom: 2rem;
  text-align: center;
  transform: translateY(-40%);
}
.p-concept-movie__body {
  position: relative;
  margin-top: -3.1875rem;
}
.p-concept-movie__body::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
}
.p-concept-movie__img {
  aspect-ratio: 1280/720;
  overflow: hidden;
}
.p-concept-movie__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-concept-movie__button {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 6rem;
  height: 6rem;
  padding: 0;
  overflow: hidden;
  color: #1cab3f;
  cursor: pointer;
  background-color: transparent;
  border: 0.0625rem solid #fff;
  border-radius: 50%;
  transition: border-color 0.3s linear, color 0.3s linear;
  transform: translate(-50%, -50%);
}
.p-concept-movie__button::before, .p-concept-movie__button::after {
  position: absolute;
  inset: 0.375rem;
  content: "";
  border-radius: 50%;
}
.p-concept-movie__button::before {
  background-color: #fff;
  transition: background-color 0.3s linear;
}
.p-concept-movie__button::after {
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='84' height='84' viewBox='0 0 84 84' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 42L32 58L32 26L60 42Z' fill='%231CAB3F'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='84' height='84' viewBox='0 0 84 84' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 42L32 58L32 26L60 42Z' fill='%231CAB3F'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .p-concept-movie__button:hover {
    color: #fff;
    border-color: #1cab3f;
  }
  .p-concept-movie__button:hover::before {
    background-color: #1cab3f;
  }
}
.p-concept-movie__button:focus-visible {
  outline: 0.1875rem solid #1cab3f;
  outline-offset: 0.25rem;
}

@media only screen and (max-width: 767px) {
  .p-concept-movie {
    padding: 0 0.9375rem 1rem;
  }
  .p-concept-movie__title {
    margin-bottom: 0.75rem;
  }
  .p-concept-movie__title img {
    width: 18.5rem;
  }
  .p-concept-movie__body {
    margin-top: -1.5rem;
  }
  .p-concept-movie__button {
    width: 3rem;
    height: 3rem;
  }
  .p-concept-movie__button::before, .p-concept-movie__button::after {
    inset: 0.25rem;
  }
}
.p-box-consult {
  position: relative;
  padding: 3.5rem 8.125rem;
  margin-top: 5rem;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
}
.p-box-consult__path {
  position: absolute;
  right: -1.625rem;
  bottom: 0;
  width: 31.125rem;
  aspect-ratio: 1/1;
  opacity: 0.2;
  transform: rotate(-255deg);
}
.p-box-consult__path img {
  width: 100%;
}
.p-box-consult__title {
  padding-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  border-bottom: 0.125rem dashed #cecece;
}
.p-box-consult__title span {
  display: inline-block;
  font-size: 4.5rem;
  color: #1cab3f;
}
.p-box-consult__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2.5rem;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  .p-box-consult {
    padding: 2.5rem 0.9375rem;
    margin-top: 4rem;
  }
  .p-box-consult__path {
    right: -0.9375rem;
    bottom: -1rem;
    width: 20.9375rem;
  }
  .p-box-consult__title {
    font-size: 1.5rem;
    line-height: 1.5;
    border-bottom-width: 0.0625rem;
  }
  .p-box-consult__title span {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .p-box-consult__buttons {
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.p-flow-nav {
  width: 100%;
}
.p-flow-nav__list {
  display: flex;
  gap: 2.0833333333vw;
  padding: 0;
  margin: 0;
  list-style: none;
}
.p-flow-nav__item {
  position: relative;
  min-width: calc((100% - 10.4166666667vw) / 6);
}
.p-flow-nav__item:not(:last-child)::before {
  position: absolute;
  top: 1.5rem;
  left: 50%;
  width: calc(100% + 2.0833333333vw);
  height: 0.0625rem;
  content: "";
  background-color: #cecece;
}
.p-flow-nav__number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-inline: auto;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  color: #fff;
  background-color: #1cab3f;
  border-radius: 50%;
}
.p-flow-nav__card {
  --arrow-size: 32px;
  --border-width: 1px;
  --inner-arrow-size: calc(var(--arrow-size) - var(--border-width));
  display: block;
  width: 100%;
  height: calc(100% - 4.5rem);
  min-height: 7.75rem;
  padding: var(--border-width);
  margin-top: 1.5rem;
  clip-path: polygon(0 0, calc(100% - var(--arrow-size)) 0, 100% 50%, calc(100% - var(--arrow-size)) 100%, 0 100%);
  color: #333;
  text-align: center;
  text-decoration: none;
  background-color: #cecece;
}
@media (hover: hover) {
  .p-flow-nav__card:hover .p-flow-nav__icon {
    color: #fff;
    background-color: #1cab3f;
    border-color: #1cab3f;
  }
}
.p-flow-nav__card-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0.5rem 2rem 0.5rem 0.9375rem;
  clip-path: polygon(0 0, calc(100% - var(--inner-arrow-size)) 0, 100% 50%, calc(100% - var(--inner-arrow-size)) 100%, 0 100%);
  text-align: center;
  background-color: #fff;
}
.p-flow-nav__text {
  font-size: 1rem;
  font-weight: 700;
}
.p-flow-nav__icon {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #e6900d;
  background-color: #fff;
  border: 0.0625rem solid #e6900d;
  border-radius: 50%;
  transition: 0.3s linear color, 0.3s linear background-color, 0.3s linear border-color;
  --icon-size: 18px;
}

@media only screen and (max-width: 767px) {
  .p-flow-nav {
    width: 100%;
    padding-bottom: 1.75rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }
  .p-flow-nav::-webkit-scrollbar {
    height: 0.5rem;
    background-color: #fff;
    border-radius: 999rem;
    box-shadow: 0 0 2px 0 rgba(51, 51, 51, 0.25);
  }
  .p-flow-nav::-webkit-scrollbar-thumb {
    background: #e6900d;
    border-radius: 999rem;
  }
  .p-flow-nav__list {
    gap: 1.5rem;
  }
  .p-flow-nav__item {
    min-width: 9.125rem;
  }
  .p-flow-nav__item:not(:last-child)::before {
    top: 1.25rem;
    width: calc(100% + 1.5rem);
  }
  .p-flow-nav__number {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.3125rem;
  }
  .p-flow-nav__card {
    --arrow-size: 22px;
    height: calc(100% - 4rem);
    min-height: 5.25rem;
  }
  .p-flow-nav__card-inner {
    gap: 0.25rem;
    padding: 0.5rem 1.375rem 0.5rem 0.9375rem;
  }
  .p-flow-nav__text {
    font-size: 0.9375rem;
  }
  .p-flow-nav__icon {
    width: 2rem;
    height: 2rem;
    --icon-size: 16px;
  }
}
.p-flow {
  display: grid;
  gap: 1rem;
}
.p-flow__item {
  padding: 2rem;
  border-top: 0.0625rem solid #cecece;
  border-bottom: 0.0625rem solid #cecece;
}
.p-flow__title {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  line-height: 2.8rem;
}
.p-flow__label {
  display: inline-flex;
  flex-shrink: 0;
  gap: 0 0.25rem;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 1rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  background-color: #1cab3f;
}
.p-flow__label-num {
  display: block;
  font-size: 1.75rem;
}
.p-flow__text {
  margin-top: 1.5rem;
}
.p-flow__arrow {
  line-height: 1;
  text-align: center;
}
.p-flow__arrow .com-icon {
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
  --icon-size: 24px;
}

@media only screen and (max-width: 767px) {
  .p-flow {
    gap: 0.75rem;
  }
  .p-flow__item {
    padding: 1.5rem 0.5rem;
  }
  .p-flow__title {
    gap: 1rem;
  }
  .p-flow__label {
    min-width: 3.3125rem;
  }
  .p-flow__text {
    margin-top: 1rem;
    font-size: 0.9375rem;
  }
  .p-flow__arrow .com-icon {
    width: 2.5rem;
    height: 2.5rem;
    --icon-size: 20px;
  }
}
.p-box-consult {
  position: relative;
  padding: 3.5rem 8.125rem;
  margin-top: 5rem;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
}

.p-box-consult__path {
  position: absolute;
  right: -1.625rem;
  bottom: 0;
  width: 31.125rem;
  aspect-ratio: 1/1;
  opacity: 0.2;
  transform: rotate(-255deg);
}

.p-box-consult__path img {
  width: 100%;
}

.p-box-consult__title {
  padding-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  border-bottom: 0.125rem dashed #cecece;
}

.p-box-consult__title span {
  display: inline-block;
  font-size: 4.5rem;
  color: #1cab3f;
}

.p-box-consult__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2.5rem;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  .p-box-consult {
    padding: 2.5rem 0.9375rem;
    margin-top: 4rem;
  }
  .p-box-consult__path {
    right: -0.9375rem;
    bottom: -1rem;
    width: 20.9375rem;
  }
  .p-box-consult__title {
    font-size: 1.5rem;
    line-height: 1.5;
    border-bottom-width: 0.0625rem;
  }
  .p-box-consult__title span {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .p-box-consult__buttons {
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.p-box {
  padding: 2rem;
  background-color: #fff;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
  --box-content-margin: 1.5rem;
}
.p-box + .p-box {
  margin-top: 2rem;
}
.p-box.--xlg {
  padding: 5rem clamp(1.25rem, 6.25vw, 6.25rem);
  --box-content-margin: 3rem;
}
.p-box.--lg {
  padding: 3rem 3.5rem;
}
.p-box.--sm {
  padding: 1.5rem 2rem;
  --box-content-margin: 1rem;
}
.p-box__title {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  line-height: 2.8rem;
}
.p-box__label {
  display: inline-flex;
  flex-shrink: 0;
  gap: 0 0.25rem;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 1rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  background-color: #1cab3f;
}
.p-box__label-num {
  display: block;
  font-size: 1.75rem;
}
.p-box__content {
  margin-top: var(--box-content-margin);
}

@media only screen and (max-width: 767px) {
  .p-box {
    padding: 1.5rem 0.9375rem;
    --box-content-margin: 1rem;
  }
  .p-box + .p-box {
    margin-top: 1rem;
  }
  .p-box.--xlg {
    padding: 2.5rem 0.9375rem;
    --box-content-margin: 2.5rem;
  }
  .p-box.--lg {
    padding: 2rem 0.9375rem;
  }
  .p-box.--sm {
    padding: 1rem;
    --box-content-margin: 0.5rem;
  }
  .p-box__title {
    flex-direction: column;
    align-items: flex-start;
    line-height: 2.4375rem;
  }
  .p-box__label {
    min-width: 3.4375rem;
    padding: 0.1875rem 0.5rem;
    font-size: 1.3125rem;
    line-height: 1.5;
  }
  .p-box__label-num {
    font-size: 1.5rem;
  }
}
.p-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.p-grid.--repeat-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.p-grid.--repeat-3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-grid__texts {
  margin-top: 1rem;
}
.p-grid__col {
  /* CMSエディタ―のみで適応 */
  /* border: dashed 1px #c2c2c2; */
}

@media only screen and (max-width: 767px) {
  .p-grid.--repeat-2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .p-grid.--repeat-3 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-table {
  width: 100%;
}
.p-table.--fixed {
  table-layout: fixed;
}
.p-table__th {
  padding: 1rem 1.5rem;
  font-weight: bold;
  color: #fff;
  vertical-align: middle;
  background-color: #0a7825;
  border: 0.0625rem solid #cecece;
}
.p-table__th.--w-percent21 {
  width: 21.3%;
}
.p-table__th.--w-percent30 {
  width: 30%;
}
.p-table__td {
  padding: 1rem 1.5rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
}

@media only screen and (max-width: 767px) {
  .p-table {
    font-size: 0.9375rem;
  }
  .p-table__th {
    display: block;
    width: 100% !important;
    padding: 0.75rem 1rem;
  }
  .p-table__td {
    display: block;
    padding: 0.75rem 1rem;
    border-top: 0;
  }
}
.p-mainvisual {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
}
.p-mainvisual.is-off {
  z-index: 0;
}
.p-mainvisual__wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  backface-visibility: hidden;
}
.p-mainvisual__swiper::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.15) 100%);
}
.p-mainvisual__swiper .swiper-slide {
  position: relative;
  z-index: 1;
  overflow: hidden;
  clip: rect(auto, auto, auto, auto);
  opacity: 0;
  transition: opacity 0.5s;
}
.p-mainvisual__swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-mainvisual__swiper .swiper-slide-active {
  filter: brightness(120%);
  opacity: 1;
  animation: flushOn 1.4s ease-out forwards;
  animation-delay: 0.5s;
}
.p-mainvisual__swiper-control {
  position: absolute;
  top: calc(50% + 6.5rem);
  left: 1.5rem;
  z-index: 3;
  display: inline-flex;
  flex-direction: column;
  gap: 1rem;
  opacity: 1;
  transition: 0.3s linear opacity;
  transform: translateY(-50%);
}
.p-mainvisual__swiper-control .swiper-pagination {
  position: relative;
  bottom: unset;
  left: unset;
  display: inline-flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0;
}
.p-mainvisual__swiper-control .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  width: 0.25rem;
  height: 5rem;
  margin: 0;
  background: #fff;
  border: none;
  border-radius: 0;
  opacity: 1;
}
.p-mainvisual__swiper-control .swiper-pagination .swiper-pagination-bullet::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #e6900d;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scaleY(0);
  transform-origin: top center;
}
.p-mainvisual__swiper-control .swiper-pagination .swiper-pagination-bullet-active::after {
  transition: transform 2.95s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scaleY(1);
}
.p-mainvisual__swiper-control .swiper-button-pause {
  position: relative;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
}
.p-mainvisual__swiper-control .swiper-button-pause::after, .p-mainvisual__swiper-control .swiper-button-pause::before {
  position: absolute;
  top: 50%;
  width: 0.0625rem;
  height: 0.625rem;
  content: "";
  background-color: #1cab3f;
  transform: translateY(-50%);
}
.p-mainvisual__swiper-control .swiper-button-pause::after {
  left: calc(50% - 4px);
}
.p-mainvisual__swiper-control .swiper-button-pause::before {
  right: calc(50% - 4px);
}
@media (hover: hover) {
  .p-mainvisual__swiper-control .swiper-button-pause {
    transition: 0.3s linear opacity;
  }
  .p-mainvisual__swiper-control .swiper-button-pause:hover {
    opacity: 0.7;
  }
}
.p-mainvisual__swiper-control .swiper-button-pause.is-play::before {
  display: none;
}
.p-mainvisual__swiper-control .swiper-button-pause.is-play::after {
  width: 0;
  height: 0;
  background-color: transparent;
  border-color: transparent transparent transparent #1cab3f;
  border-style: solid;
  border-width: 5px 0 5px 9px;
}
.p-mainvisual__swiper-control.is-off {
  opacity: 0;
}
.p-mainvisual__catch {
  position: absolute;
  top: calc(50% + 3.125rem);
  left: 50%;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  transform: translate(-50%, -50%);
}
.p-mainvisual__catch-text {
  display: block;
  font-family: source-han-serif-jp-subset, sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.p-mainvisual__nav {
  position: absolute;
  right: 4.1666666667vw;
  bottom: 1.75rem;
  z-index: 3;
  min-width: 11rem;
  padding: 1.5rem;
  background: rgba(248, 248, 246, 0.6);
  border-radius: 0.625rem;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.25);
  opacity: 1;
  transition: 0.3s linear opacity;
}
.p-mainvisual__nav.is-off {
  opacity: 0;
}
.p-mainvisual__nav-list {
  border-top: 0.0625rem solid #fff;
}
.p-mainvisual__nav-item {
  border-bottom: 0.0625rem solid #fff;
}
.p-mainvisual__nav-link {
  display: flex;
  gap: 0 0.5rem;
  align-items: center;
  padding: 1rem 0.25rem;
  font-size: 0.9375rem;
  color: #4a4640;
}
.p-mainvisual__nav-link::before {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  transition: 0.3s linear background-color;
}
@media (hover: hover) {
  .p-mainvisual__nav-link {
    transition: 0.3s linear opacity;
  }
  .p-mainvisual__nav-link:hover {
    opacity: 0.7;
  }
  .p-mainvisual__nav-link:hover::before {
    background-color: #e6900d;
  }
}
.p-mainvisual__button-anniversary {
  display: none;
}

@media only screen and (max-width: 767px) {
  .p-mainvisual__wrap {
    min-height: 400px !important;
  }
  .p-mainvisual__swiper .swiper-slide {
    transition: all 0.3s;
  }
  .p-mainvisual__swiper-control {
    display: none;
  }
  .p-mainvisual__catch {
    top: calc(50% + 0.75rem);
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    padding: 0 0.625rem;
    text-align: center;
  }
  .p-mainvisual__catch img {
    width: 10.5rem;
  }
  .p-mainvisual__catch-text {
    font-size: 2.875rem;
  }
  .p-mainvisual__nav {
    display: none;
  }
  .p-mainvisual__button {
    position: absolute;
    right: 0.9375rem;
    bottom: 1rem;
    z-index: 3;
  }
  .p-mainvisual__button-anniversary {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.5rem;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(0.6875rem, 1vw, 1rem);
    font-weight: 700;
    color: #4a4640;
    background: linear-gradient(94deg, rgba(255, 241, 197, 0.8) 14.58%, rgba(255, 251, 228, 0.8) 86.92%);
    border-color: #9f9f9f;
    border-radius: 999rem;
    opacity: 1;
    transition: 0.3s linear opacity;
  }
  .p-mainvisual__button-anniversary.is-off {
    opacity: 0;
  }
  .p-mainvisual__button-anniversary::before {
    display: block;
    width: 2rem;
    aspect-ratio: 1/1;
    content: "";
    background: transparent url("../images/common/icon-100th.svg") no-repeat center/contain;
    border-radius: 50%;
  }
}
.p-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
}
.p-modal[hidden] {
  display: none;
}
.p-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
}
.p-modal__content {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 10.25rem 0 5rem;
  margin: 0 auto;
  overflow-y: auto;
}
.p-modal__inner {
  position: relative;
  width: 81.5rem;
  max-width: 100%;
  margin: 0 auto;
  background-color: #000;
}
.p-modal__close {
  position: absolute;
  top: -2rem;
  right: -2rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
.p-modal__close span {
  position: absolute;
  width: 1.75rem;
  height: 0.125rem;
  background-color: #4a4640;
}
.p-modal__close span:nth-child(1) {
  transform: rotate(45deg);
}
.p-modal__close span:nth-child(2) {
  transform: rotate(-45deg);
}
.p-modal__body {
  padding: 2rem;
}
.p-modal__movie {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: #000;
  border-radius: 1rem;
}
.p-modal__movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-modal__youtube-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 13.75rem;
  min-height: 3.5rem;
  padding: 0.75rem 2rem;
  margin: 2rem auto 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
  background-color: #f00;
  border-radius: 999px;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.p-modal__youtube-button::before {
  width: 1.25rem;
  height: 0.875rem;
  margin-right: 0.625rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
  background-color: currentcolor;
}
@media (hover: hover) {
  .p-modal__youtube-button:hover {
    opacity: 0.8;
    transform: translateY(-2px);
  }
}

@media only screen and (max-width: 1280px) {
  .p-modal__content {
    padding: 2.5rem 0 5rem;
  }
  .p-modal__inner {
    width: 100%;
    padding: 0 0.9375rem;
  }
  .p-modal__close {
    right: 0.9375rem;
    width: 3.25rem;
    height: 3.25rem;
    border: 0.0625rem;
  }
  .p-modal__close span {
    width: 1.5rem;
    height: 0.0625rem;
  }
  .p-modal__head {
    margin-bottom: 2rem;
  }
  .p-modal__title {
    margin-bottom: 1.5rem;
  }
  .p-modal__body {
    padding: 2rem 0.9375rem;
  }
}
.p-nav-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem;
  align-items: center;
  justify-content: flex-end;
  padding: 2.5rem 0 4rem;
  margin-top: 10.25rem;
  border-top: 0.0625rem solid #cecece;
}

@media only screen and (max-width: 1280px) {
  .p-nav-bottom {
    gap: 1.5rem 3rem;
    justify-content: flex-start;
    padding: 2rem 0 3rem;
    margin-top: 4rem;
  }
}
.p-news__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 3rem;
}
.p-news__tabs-button {
  display: block;
  min-width: 9rem;
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  color: #4a4640;
  text-align: center;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
}
.p-news__tabs-button.is-active {
  color: #fff;
  background-color: #1cab3f;
  border-color: #1cab3f;
}
@media (hover: hover) {
  .p-news__tabs-button {
    transition: 0.3s linear color, 0.3s linear background-color, 0.3s linear border-color;
  }
  .p-news__tabs-button:hover {
    color: #fff;
    background-color: #1cab3f;
    border-color: #1cab3f;
  }
}
.p-news__item {
  border-top: 0.0625rem solid #cecece;
}
.p-news__item:last-child {
  border-bottom: 0.0625rem solid #cecece;
}
.p-news__link {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  align-items: center;
  padding: 1.5rem 0.5rem;
}
@media (hover: hover) {
  .p-news__link {
    transition: 0.3s linear opacity;
  }
  .p-news__link:hover {
    opacity: 0.7;
  }
}
.p-news__link-day {
  display: inline-block;
  margin-right: 1rem;
  font-size: 1rem;
  white-space: nowrap;
}
.p-news__link-cat {
  display: inline-block;
  padding: 0 1rem;
  margin-right: 1.5rem;
  font-size: 0.875rem;
  white-space: nowrap;
  background-color: #fff;
  border: 0.0625rem solid #e6900d;
}
.p-news__link-title {
  font-size: 1rem;
}
.p-news__link-new {
  margin-right: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  color: #e6900d;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .p-news__tabs {
    gap: 0.75rem;
    justify-content: center;
    margin-bottom: 2rem;
  }
  .p-news__tabs-button {
    min-width: 6.6875rem;
    padding: 0.375rem 1rem;
    font-size: 0.9375rem;
  }
  .p-news__link {
    flex-wrap: wrap;
    gap: 0.75rem 0;
    padding: 1.125rem 0.25rem;
  }
  .p-news__link-day {
    margin-right: 0.75rem;
    font-size: 0.9375rem;
  }
  .p-news__link-cat {
    padding: 0.125rem 0.75rem;
    margin-right: 1rem;
    font-size: 0.75rem;
  }
  .p-news__link-new {
    margin-right: 1rem;
    font-size: 0.9375rem;
  }
  .p-news__link-title {
    width: 100%;
    font-size: 0.9375rem;
  }
  .p-news__button {
    text-align: center;
  }
}
.p-numbered-cards__viewport {
  overflow: visible;
}
.p-numbered-cards__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
.p-numbered-cards__controller {
  display: none;
}

.p-numbered-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
}
.p-numbered-card__number {
  display: grid;
  place-items: center;
  min-height: 2.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  background-color: #1cab3f;
}
.p-numbered-card__body {
  padding: 1.5rem;
  margin-top: 0.5rem;
  border: 0.0625rem solid #cecece;
}
.p-numbered-card__title {
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
}

@media only screen and (max-width: 1280px) {
  .p-numbered-cards__viewport {
    overflow: visible;
  }
  .p-numbered-cards__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .p-numbered-cards__viewport {
    position: relative;
    overflow: hidden;
  }
  .p-numbered-cards__list {
    display: flex;
    gap: 0;
  }
  .p-numbered-cards__item {
    flex-shrink: 0;
    width: 100%;
    height: auto;
  }
  .p-numbered-cards__controller {
    display: grid;
    gap: 2rem;
    margin-top: 2.5rem;
  }
  .p-numbered-cards__scrollbar {
    position: relative;
    height: 0.5rem;
    overflow: hidden;
    background-color: #fff;
    border-radius: 999rem;
    box-shadow: 0 0 2px 0 rgba(51, 51, 51, 0.25);
  }
  .p-numbered-cards__bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #e6900d;
    border-radius: 999rem;
    transition: 0.3s linear transform;
    transform: scaleX(var(--bar-progress, 0));
    transform-origin: left center;
  }
  .p-numbered-cards__bar.is-resetting {
    transition: none;
  }
  .p-numbered-cards__nav {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    justify-content: center;
  }
  .p-numbered-cards__button {
    position: relative;
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    color: #4a4640;
    cursor: pointer;
    background-color: #fff;
    border: 0.0625rem solid #cecece;
    border-radius: 50%;
  }
  .p-numbered-cards__button::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    content: "";
    background-color: currentcolor;
    -webkit-mask: center/contain no-repeat;
            mask: center/contain no-repeat;
    transition: 0.3s linear left, 0.3s linear background-color;
    transform: translate(-50%, -50%);
  }
  .p-numbered-cards__button.--prev::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M30 18H2C3.95885 17.5455 8.15309 15.9091 9.25926 13' stroke='%234A4640'/%3E%3C/svg%3E");
  }
  .p-numbered-cards__button.--next::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E");
  }
  .p-numbered-cards__button.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.4;
  }
  .p-numbered-cards__fraction {
    display: inline-flex;
    gap: 0.25rem;
    align-items: center;
    font-size: 1rem;
  }
  .p-numbered-cards__fraction-separator {
    font-size: 1.75rem;
    transform: rotate(-12deg);
  }
  .p-numbered-card__number {
    min-height: 2.25rem;
    font-size: 1.3125rem;
  }
  .p-numbered-card__body {
    padding: 1.5rem 1rem;
  }
  .p-numbered-card__title {
    margin-bottom: 0.5rem;
    font-size: 1.3125rem;
    line-height: 1.5;
  }
  .p-numbered-card__text {
    font-size: 0.9375rem;
  }
}
.p-pagetitle {
  position: relative;
  max-width: 1800px;
  padding: 8rem 1.25rem 0;
  margin: 0 auto;
}
.p-pagetitle__img {
  width: 100%;
  height: 28.75rem;
  background: #4a4640 no-repeat center/cover;
  border-radius: 0.25rem;
}
.p-pagetitle__title {
  display: grid;
  margin-top: 2rem;
  font-weight: 700;
  color: #4a4640;
}
.p-pagetitle__title-jp {
  font-size: 1.25rem;
}
.p-pagetitle__title-en {
  font-size: 5rem;
  line-height: 1.1;
  color: #1cab3f;
}

@media only screen and (max-width: 767px) {
  .p-pagetitle {
    padding: 5.5rem 0.9375rem 0;
  }
  .p-pagetitle__img {
    height: 14.25rem;
  }
  .p-pagetitle__title {
    margin-top: 1rem;
  }
  .p-pagetitle__title-jp {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-pagetitle__title-en {
    font-size: 2.75rem;
    line-height: 1.2;
  }
}
body.news .p-pagetitle__img,
body.news-single .p-pagetitle__img {
  background-image: url("../images/news/img-pagetitle.jpg");
}

body.company .p-pagetitle__img,
body.company-privacy .p-pagetitle__img {
  background-image: url("../images/company/img-pagetitle.jpg");
}

body.service .p-pagetitle__img {
  background-image: url("../images/service/img-pagetitle.jpg");
}

body.service-landscaping .p-pagetitle__img,
body.service-garden .p-pagetitle__img,
body.service-park .p-pagetitle__img,
body.service-tree .p-pagetitle__img {
  background-image: url("../images/service/img-pagetitle-2nd.jpg");
}

body.achievements .p-pagetitle__img,
body.achievements-detail .p-pagetitle__img {
  background-image: url("../images/achievements/img-pagetitle.jpg");
}

body.contact .p-pagetitle__img,
body.contact-confirm .p-pagetitle__img,
body.contact-complete .p-pagetitle__img {
  background-image: url("../images/contact/img-pagetitle.jpg");
}

.p-pagination {
  margin-top: 10.25rem;
  text-align: center;
}
.p-pagination__list {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
}
.p-pagination__item {
  display: flex;
  align-items: center;
}
.p-pagination__item span:not(.c-button, .c-button__text),
.p-pagination__item a:not(.c-button, .c-button__text) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.4;
  color: #4a4640;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
@media (hover: hover) {
  .p-pagination__item a:not(.c-button, .c-button__text) {
    transition: 0.3s linear all;
  }
  .p-pagination__item a:not(.c-button, .c-button__text):hover {
    color: #fff;
    background-color: #1cab3f;
  }
}
.p-pagination__item .c-button {
  width: clamp(13.125rem, 18.75vw, 18.75rem);
  min-width: inherit;
}
.p-pagination__item span:not(.c-button, .c-button__text) {
  color: #fff;
  background-color: #1cab3f;
}
.p-pagination__item.--next {
  margin-left: clamp(0.5rem, 3vw, 3rem);
}
.p-pagination__item.--prev {
  margin-right: clamp(0.5rem, 3vw, 3rem);
}
.p-pagination__more {
  display: inline-flex;
  align-items: center;
}
.p-pagination__more::after {
  display: block;
  width: 1.625rem;
  height: 3.5rem;
  content: "";
  background-color: #e6900d;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='26' height='6' viewBox='0 0 26 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='3' fill='%23E6900D'/%3E%3Ccircle cx='13' cy='3' r='3' fill='%23E6900D'/%3E%3Ccircle cx='23' cy='3' r='3' fill='%23E6900D'/%3E%3C/svg%3E%0A") center bottom/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg width='26' height='6' viewBox='0 0 26 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='3' fill='%23E6900D'/%3E%3Ccircle cx='13' cy='3' r='3' fill='%23E6900D'/%3E%3Ccircle cx='23' cy='3' r='3' fill='%23E6900D'/%3E%3C/svg%3E%0A") center bottom/contain no-repeat;
}

@media only screen and (max-width: 1280px) {
  .p-pagination__item .c-button {
    width: 3.5rem;
    min-height: 3.5rem;
    padding: 0;
  }
  .p-pagination__item .c-button::after {
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .p-pagination__item .c-button__text {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagination {
    margin-top: 4rem;
  }
  .p-pagination__list {
    gap: 0.5rem;
  }
  .p-pagination__item span:not(.c-button, .c-button__text),
  .p-pagination__item a:not(.c-button, .c-button__text) {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.125rem;
  }
  .p-pagination__item.--next {
    margin-left: 0.75rem;
  }
  .p-pagination__item.--prev {
    margin-right: 0.75rem;
  }
  .p-pagination__item .c-button {
    width: 3rem;
    min-height: 3rem;
  }
  .p-pagination__more::after {
    width: 1rem;
    height: 2.5rem;
  }
}
.p-policy-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem 2.5rem;
}
.p-policy-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1.5rem;
  background-color: #fff;
}
.p-policy-list__num {
  display: grid;
  place-items: center;
  width: 4.0625rem;
  aspect-ratio: 1;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.4;
  color: #fff;
  background-color: #1cab3f;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .p-policy-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .p-policy-list__item {
    padding: 1rem 0.9375rem;
  }
  .p-policy-list__num {
    width: 3rem;
    font-size: 1.3125rem;
  }
}
.p-recruitment-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-items: center;
  justify-content: center;
  min-height: 30rem;
  padding: 2rem;
  overflow: hidden;
  cursor: pointer;
}
@media (hover: hover) {
  .p-recruitment-card:hover .p-recruitment-card__img {
    transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1.1);
  }
  .p-recruitment-card:hover .p-recruitment-card__button {
    color: #fff;
    background-color: #1cab3f;
  }
  .p-recruitment-card:hover .p-recruitment-card__button::after {
    right: 1rem;
  }
}
.p-recruitment-card__img {
  position: absolute;
  inset: 0;
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-recruitment-card__img::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
}
.p-recruitment-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-recruitment-card__title {
  position: relative;
  z-index: 2;
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}
.p-recruitment-card__title-text {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruitment-card__title-color {
  font-size: 4.75rem;
}
.p-recruitment-card__title-color.--orange {
  color: #e6900d;
}
.p-recruitment-card__title-color.--green {
  color: #1cab3f;
}
.p-recruitment-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  min-width: 18.75rem;
  min-height: 4rem;
  padding: 0.5rem 4rem;
  font-size: 1rem;
  font-weight: 700;
  color: #4a4640;
  cursor: pointer;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
  transition: 0.3s linear color, 0.3s linear background-color;
}
.p-recruitment-card__button::after {
  position: absolute;
  top: 50%;
  right: 1.625rem;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: background-color 0.3s linear, right 0.3s linear;
  transform: translateY(-50%);
}
.p-recruitment-card__button.--blank::after {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M23.2 26.4H5.6V8.40005H15.2V6.80005H4V28H24.8V16.8H23.2V26.4Z' fill='%234A4640'/%3E%3Cpath d='M18.3999 4V5.6H25.2686L12.6343 18.2343L13.7656 19.3657L26.3999 6.73135V13.6H27.9999V4H18.3999Z' fill='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media only screen and (max-width: 767px) {
  .p-recruitment-card {
    min-height: 118.4vw;
    padding: 2rem 0.9375rem;
  }
  .p-recruitment-card__title {
    font-size: 1.75rem;
  }
  .p-recruitment-card__title-color {
    font-size: 2.375rem;
  }
  .p-recruitment-card__button {
    width: 100%;
    min-width: inherit;
    max-width: 21.5625rem;
    padding: 0.5rem 3rem;
    font-size: 0.9375rem;
  }
  .p-recruitment-card__button::after {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.p-relation__diagram {
  position: relative;
  max-width: 58.75rem;
  margin: 0 auto;
  text-align: center;
}
.p-relation__diagram::after, .p-relation__diagram::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: clamp(32.8125rem, 43.75vw, 43.75rem);
  aspect-ratio: 1/1;
  content: "";
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.p-relation__diagram::after {
  border: 0.25rem solid #1cab3f;
}
.p-relation__diagram::before {
  background-color: #fff;
  filter: blur(60px);
}
.p-relation__heading {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(18.75rem, 25vw, 25rem);
  aspect-ratio: 1;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.3125rem, 2.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.4;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
}
.p-relation__circle-list {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(5.8125rem, 7.75vw, 7.75rem) clamp(7.8125rem, 11.25vw, 11.25rem);
  align-items: center;
  justify-content: center;
}
.p-relation__circle-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  width: clamp(15rem, 20vw, 20rem);
  aspect-ratio: 1;
  padding: 1rem;
  color: #fff;
  background-color: #1cab3f;
  border-radius: 50%;
}
.p-relation__circle-title {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.4;
}
.p-relation__circle-text {
  font-size: clamp(0.75rem, 1vw, 1rem);
}

@media only screen and (max-width: 767px) {
  .p-relation__diagram {
    max-width: 21.5625rem;
  }
  .p-relation__diagram::after, .p-relation__diagram::before {
    width: 18.4375rem;
  }
  .p-relation__diagram::after {
    border-width: 0.125rem;
  }
  .p-relation__heading {
    width: 10.625rem;
    font-size: 1.3125rem;
    box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
  }
  .p-relation__circle-list {
    gap: 3.25rem 4.6875rem;
  }
  .p-relation__circle-item {
    width: 8.4375rem;
  }
  .p-relation__circle-title {
    font-size: 1.5rem;
  }
  .p-relation__detail-list {
    margin-top: 2rem;
  }
}
.p-reuse-list {
  border-top: 0.0625rem solid #cecece;
}
.p-reuse-list__item {
  padding: 1.25rem 1rem;
  border-bottom: 0.0625rem solid #cecece;
}
.p-reuse-list__title {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-reuse-list__num {
  font-family: "Shippori Mincho", serif;
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 1.4;
  color: #1cab3f;
}
.p-reuse-list__text {
  margin-top: 1rem;
}

@media only screen and (max-width: 767px) {
  .p-reuse-list__item {
    padding: 1rem 0.5rem;
  }
  .p-reuse-list__title {
    gap: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-reuse-list__num {
    font-size: 1.25rem;
  }
  .p-reuse-list__text {
    margin-top: 0.5rem;
  }
}
.p-scroll-top {
  position: absolute;
  right: 5rem;
  bottom: 2.5rem;
  z-index: 1000;
}
.p-scroll-top__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.25rem;
  min-height: 3.75rem;
  padding: 0 3.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #4a4640;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
  transition: 0.3s linear color, 0.3s linear background-color;
}
.p-scroll-top__button::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 30L16 2C15.5455 3.95885 13.9091 8.15309 11 9.25926' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 30L16 2C15.5455 3.95885 13.9091 8.15309 11 9.25926' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: 0.3s linear background-color, 0.3s linear top;
  transform: translateY(-50%);
}
.p-scroll-top__button:hover:hover, .p-scroll-top__button:active:hover {
  color: #fff;
  background-color: #1cab3f;
}
.p-scroll-top__button:hover:hover::after, .p-scroll-top__button:active:hover::after {
  top: calc(50% + 6px);
}

@media only screen and (max-width: 767px) {
  .p-scroll-top {
    right: unset;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-scroll-top__button {
    width: 11.25rem;
    min-height: 2.875rem;
    padding: 0 2.5rem;
    font-size: 0.875rem;
  }
  .p-scroll-top__button::after {
    right: 0.6875rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-section-title-h1 {
  margin-bottom: 3rem;
}
.p-section-title-h1:not(:first-child) {
  margin-top: 10.25rem;
}

.p-section-title-h2 {
  margin-bottom: 3rem;
}
.p-section-title-h2:not(:first-child) {
  margin-top: 4rem;
}

.p-section-title-h3 {
  margin-bottom: 3.75rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-section-title-h1 {
    margin-bottom: 2.5rem;
  }
  .p-section-title-h1:not(:first-child) {
    margin-top: 5rem;
  }
  .p-section-title-h1.--mr-sm {
    margin-bottom: 1.5rem;
  }
  .p-section-title-h2 {
    margin-bottom: 2rem;
  }
  .p-section-title-h2:not(:first-child) {
    margin-top: 2rem;
  }
}
.p-service-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.p-service-list__link {
  position: relative;
  display: block;
  aspect-ratio: 604/264;
  overflow: hidden;
}
@media (hover: hover) {
  .p-service-list__link {
    transition: 0.3s linear border-radius;
  }
  .p-service-list__link:hover {
    border-radius: 0.625rem;
  }
  .p-service-list__link:hover .p-service-list__img {
    transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1.1);
  }
  .p-service-list__link:hover .p-service-list__icon {
    background-color: #1cab3f;
  }
  .p-service-list__link:hover .p-service-list__icon::before {
    left: calc(50% + 6px);
    background-color: #fff;
  }
}
.p-service-list__title {
  position: relative;
  z-index: 2;
  padding: 2rem;
  font-weight: 700;
  color: #fff;
}
.p-service-list__title-sub {
  font-size: clamp(1rem, 1.25vw, 1.25rem);
}
.p-service-list__title-main {
  font-size: clamp(1.25rem, 2.5vw, 2.5rem);
  line-height: 1.4;
}
.p-service-list__img {
  position: absolute;
  inset: 0;
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-service-list__img::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%);
}
.p-service-list__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-service-list__icon {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 999rem;
  transition: 0.3s linear background-color;
}
.p-service-list__icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: #4a4640;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M2 18H30C28.0412 17.5455 23.8469 15.9091 22.7407 13' stroke='%234A4640'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: 0.3s linear left, 0.3s linear background-color;
  transform: translate(-50%, -50%);
}
.p-service-list.--landscaping .p-service-list__link {
  display: flex;
  align-items: flex-end;
  aspect-ratio: 604/364;
}
.p-service-list.--landscaping .p-service-list__title {
  padding: 1.5rem 2rem;
}
.p-service-list.--landscaping .p-service-list__icon {
  bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-service-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .p-service-list__link {
    aspect-ratio: 315/184;
    border-radius: 0.3125rem;
  }
  .p-service-list__title {
    padding: 1rem 0.625rem 1rem 1rem;
  }
  .p-service-list__title-sub {
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-service-list__title-main {
    margin-top: 0.25rem;
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-service-list__icon {
    right: 0.625rem;
    bottom: 0.625rem;
    width: 3rem;
    height: 3rem;
  }
  .p-service-list__icon::before {
    width: 1.75rem;
    height: 1.75rem;
  }
  .p-service-list.--landscaping .p-service-list__link {
    aspect-ratio: 315/190;
  }
  .p-service-list.--landscaping .p-service-list__title {
    padding: 0.75rem 1rem;
  }
  .p-service-list.--landscaping .p-service-list__icon {
    bottom: 0.75rem;
  }
}
/* pages */
body.achievements-detail .achievements-detail-main .p-column__img {
  aspect-ratio: 740/540;
}

body.company-privacy .company-privacy-main .p-section-title-h2 {
  margin-bottom: 1.5rem;
}

body.company .company-philosophy__box {
  padding: 5rem clamp(1.25rem, 6.25vw, 6.25rem);
  background-color: #fff;
}
body.company .company-philosophy__head {
  display: flex;
  justify-content: center;
  margin-bottom: 0.25rem;
}
body.company .company-philosophy__column {
  display: flex;
  -moz-column-gap: clamp(2rem, 4.75vw, 4.75rem);
       column-gap: clamp(2rem, 4.75vw, 4.75rem);
  align-items: flex-start;
  justify-content: flex-end;
}
body.company .company-philosophy__visual {
  position: relative;
  width: clamp(16.25rem, 34vw, 34rem);
  min-width: 0;
  height: clamp(12.875rem, 27.18vw, 27.1875rem);
}
body.company .company-philosophy__image {
  position: absolute;
  width: clamp(8.25rem, 18.75vw, 18.75rem);
  aspect-ratio: 1;
  margin: 0;
}
body.company .company-philosophy__image::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + clamp(2rem, 4vw, 4rem));
  aspect-ratio: 1;
  content: "";
  background: #f6fff9;
  filter: blur(60px);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
body.company .company-philosophy__image picture {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 50%;
}
body.company .company-philosophy__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.company .company-philosophy__image.--city {
  top: 0;
  left: 1.0625rem;
  z-index: 1;
}
body.company .company-philosophy__image.--green {
  right: 0;
  bottom: 0;
  z-index: 2;
}
body.company .company-philosophy__content {
  width: 50%;
  padding-top: clamp(1.25rem, 6.25vw, 6.25rem);
}
body.company .company-philosophy__title {
  margin-bottom: 2.5rem;
}
body.company .company-policy__box {
  padding: 5rem 6.25rem 5rem 5.3125rem;
  background-color: #fff;
}
body.company .company-policy__column {
  display: flex;
  gap: 0.5rem 2.75rem;
}
body.company .company-policy__note {
  margin-top: 0.75rem;
}
body.company .company-policy .p-policy-list {
  margin-top: 3rem;
}
body.company .company-projects .c-heading-lv2 {
  margin-bottom: 1.5rem;
}
body.company .company-projects .p-table-conteiner:not(:last-child) {
  margin-bottom: 4rem;
}
body.company .company-projects .p-table-conteiner__more {
  display: none;
}
body.company .company-projects .p-box {
  display: grid;
  grid-template-columns: 564fr minmax(340px, 508fr);
  gap: 2rem 3.5rem;
  align-items: center;
  padding: 2.5rem 3.5rem;
  margin-top: 7.75rem;
}
body.company .company-projects .p-box__card {
  display: grid;
  grid-template-columns: 7.75rem 1fr;
  gap: 1.5rem 2.5rem;
  align-items: center;
}
body.company .company-projects .p-box__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.75rem;
  aspect-ratio: 1/1;
  padding: 1.75rem;
  background-color: #fff;
  border: 0.0625rem solid #cecece;
  border-radius: 50%;
}
body.company .company-projects .p-box__text {
  margin-top: 0;
}

@media only screen and (max-width: 1280px) {
  body.company .company-projects .p-box {
    grid-template-columns: repeat(1, 1fr);
  }
  body.company .company-projects .p-box__card {
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  body.company .company-philosophy__box {
    padding: 2.5rem 0.9375rem;
  }
  body.company .company-philosophy__head {
    justify-content: flex-start;
    margin-bottom: 2.5rem;
  }
  body.company .company-philosophy__column {
    display: block;
  }
  body.company .company-philosophy__visual {
    width: 80.2666666667vw;
    height: 57.6vw;
    margin: 0 auto;
  }
  body.company .company-philosophy__image {
    width: 44.8vw;
  }
  body.company .company-philosophy__image::before {
    width: calc(100% + 2rem);
  }
  body.company .company-philosophy__image.--city {
    left: 0;
  }
  body.company .company-philosophy__content {
    width: 100%;
    padding-top: 0;
    margin-top: 0.5rem;
  }
  body.company .company-philosophy__title {
    max-width: 19.6875rem;
    margin-bottom: 1rem;
  }
  body.company .company-policy .p-policy-list {
    margin-top: 2rem;
  }
  body.company .company-projects .p-table-conteiner:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  body.company .company-projects .p-table-conteiner__more {
    display: block;
    margin-top: 1rem;
    text-align: center;
  }
  body.company .company-projects .p-table-conteiner__more .c-button::after {
    width: 1.5rem;
    height: 1.5rem;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 2L16 30C16.4545 28.0412 18.0909 23.8469 21 22.7407' stroke='%234A4640'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 2L16 30C16.4545 28.0412 18.0909 23.8469 21 22.7407' stroke='%234A4640'/%3E%3C/svg%3E");
  }
  body.company .company-projects .p-table-conteiner__more .c-button.is-open::after {
    transform: translateY(-50%) rotate(180deg);
  }
  body.company .company-projects .p-box {
    padding: 2.5rem 0.9375rem;
    margin-top: 4rem;
  }
  body.company .company-projects .p-box__card {
    flex-direction: column;
    align-items: center;
  }
  body.company .company-projects .p-box__icon {
    width: 8rem;
  }
}
body.contact .contact-main__tel,
body.contact-confirm .contact-main__tel,
body.contact-complete .contact-main__tel {
  font-size: 2.25rem;
  font-weight: 700;
  color: #4a4640;
  text-align: center;
}
body.contact .contact-main__tel .c-textlink.--tel,
body.contact-confirm .contact-main__tel .c-textlink.--tel,
body.contact-complete .contact-main__tel .c-textlink.--tel {
  font-size: 2.25rem;
  color: #4a4640;
}
body.contact .contact-main__buttons,
body.contact-confirm .contact-main__buttons,
body.contact-complete .contact-main__buttons {
  display: flex;
  gap: 1.5rem 4rem;
  align-items: center;
  justify-content: center;
  margin-top: 4.5rem;
}
body.contact .contact-main .c-form-step + .p-section-title-h1,
body.contact-confirm .contact-main .c-form-step + .p-section-title-h1,
body.contact-complete .contact-main .c-form-step + .p-section-title-h1 {
  margin-top: 5rem;
}

@media all and (min-width: 768px), print {
  body.contact .contact-main__buttons.--reverse,
  body.contact-confirm .contact-main__buttons.--reverse,
  body.contact-complete .contact-main__buttons.--reverse {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 767px) {
  body.contact .contact-main__tel,
  body.contact-confirm .contact-main__tel,
  body.contact-complete .contact-main__tel {
    font-size: 1.75rem;
    color: #4a4640;
  }
  body.contact .contact-main__tel .c-textlink.--tel,
  body.contact-confirm .contact-main__tel .c-textlink.--tel,
  body.contact-complete .contact-main__tel .c-textlink.--tel {
    font-size: 1.75rem;
    color: #4a4640;
  }
  body.contact .contact-main__buttons,
  body.contact-confirm .contact-main__buttons,
  body.contact-complete .contact-main__buttons {
    flex-direction: column;
    align-items: center;
    margin-top: 3.5rem;
  }
  body.contact .contact-main__buttons form,
  body.contact-confirm .contact-main__buttons form,
  body.contact-complete .contact-main__buttons form {
    width: 100%;
    text-align: center;
  }
  body.contact .contact-main .c-form-step,
  body.contact-confirm .contact-main .c-form-step,
  body.contact-complete .contact-main .c-form-step {
    margin-bottom: 5rem;
  }
}
body.index .l-article::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 25%);
}
body.index .index-about {
  position: relative;
  z-index: 2;
  padding: 10.25rem 0 15.5rem;
  margin-bottom: -0.0625rem;
}
body.index .index-about::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 2;
  width: 100%;
  height: 7.5rem;
  content: "";
  background: transparent url("../images/index/bg-wave-top.png") center/cover no-repeat;
  transform: translateX(-50%);
}
body.index .index-about__content {
  display: flex;
  flex-direction: column;
  gap: 5.5rem 0;
}
body.index .index-about__text {
  font-family: "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 3.2;
  color: #fff;
  text-align: center;
}
body.index .index-about .p-concept-movie {
  margin-top: 11rem;
}
body.index .index-bg {
  position: relative;
  z-index: 3;
  padding: 10rem 0 8.75rem;
  background: radial-gradient(50% 49.09% at 50% 49.09%, #fff4d1 0%, #fffced 100%);
  background-image: url("../images/common/bg-noise.png"), radial-gradient(50% 49.09% at 50% 49.09%, #fff4d1 0%, #fffced 100%);
  background-repeat: repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 100px 100px, cover;
  background-blend-mode: multiply, normal;
}
body.index .index-bg__wrap {
  position: absolute;
  inset: 0;
  overflow-x: clip;
}
body.index .index-bg__dot {
  position: absolute;
  z-index: 2;
  aspect-ratio: 1/1;
  background-color: #fff;
  filter: blur(40px);
  border-radius: 50%;
}
body.index .index-bg__dot.--01 {
  top: 15.9375rem;
  right: calc(50% + 276px);
  width: 51.75rem;
  filter: blur(50px);
}
body.index .index-bg__dot.--02 {
  top: 65.5rem;
  left: calc(50% + 640px);
  width: 23.125rem;
}
body.index .index-bg__dot.--03 {
  bottom: 4.1875rem;
  left: calc(50% + 353px);
  width: 47.5rem;
}
body.index .index-bg__removal {
  position: absolute;
  aspect-ratio: 1/1;
  opacity: 0.2;
}
body.index .index-bg__removal img {
  width: 100%;
}
body.index .index-bg__removal.--01 {
  top: 40.5625rem;
  left: calc(50% + 189px);
  width: 59.0625rem;
  transform: rotate(180deg);
}
body.index .index-bg__removal.--02 {
  top: 82rem;
  left: calc(50% - 103px);
  width: 65rem;
  transform: rotate(90deg);
}
body.index .index-bg__removal.--03 {
  right: calc(50% + 450px);
  bottom: 18.5625rem;
  width: 63.75rem;
  transform: rotate(45deg);
}
body.index .index-bg > section {
  position: relative;
  z-index: 3;
}
body.index .index-news__title {
  margin-bottom: 4rem;
}
body.index .index-news__column {
  display: grid;
  grid-template-columns: 16.5rem 1fr;
  gap: 0 5rem;
}
body.index .index-news__banner {
  position: relative;
  display: block;
  margin-top: 10.75rem;
  box-shadow: 0 0 8px 0 rgba(51, 51, 51, 0.25);
}
body.index .index-news__banner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: #eddab0;
  filter: blur(20px);
}
body.index .index-news__banner img {
  position: relative;
  z-index: 2;
}
@media (hover: hover) {
  body.index .index-news__banner {
    transition: 0.3s linear opacity;
  }
  body.index .index-news__banner:hover {
    opacity: 0.7;
  }
}
body.index .index-news .p-news {
  margin-top: 2.5rem;
}
body.index .index-news .p-buttons {
  margin-top: 3.3125rem;
}
body.index .index-company {
  position: relative;
  margin-top: 10.25rem;
}
body.index .index-company__title {
  margin-bottom: 4rem;
}
body.index .index-company__column {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 48.875rem;
}
body.index .index-company__img {
  position: absolute;
  top: 0;
  right: calc(50% - 8px);
  width: calc(50vw + 8px);
  height: 100%;
  overflow: hidden;
  border-radius: 0 999rem 999rem 0;
}
body.index .index-company__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.index .index-company__content {
  width: calc(50% - (0.5rem + 4.1666666667vw));
}
body.index .index-service {
  width: 105rem;
  max-width: calc(100% - 40px);
  padding: 7.75rem 0;
  margin: 10.25rem auto 0;
  background-color: #fff;
  box-shadow: 0 0 0.125rem 0 rgba(0, 0, 0, 0.25);
}
body.index .index-service__wrap {
  width: 100%;
}
body.index .index-service .l-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem clamp(3rem, 4.16vw, 5rem);
  align-items: center;
  justify-content: space-between;
}
body.index .index-service .p-service-list {
  margin-top: 3rem;
}
body.index .index-achievements {
  width: 100%;
  max-width: calc(50vw + 640px);
  margin-top: 10.25rem;
  margin-left: auto;
}
body.index .index-achievements .l-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem clamp(3rem, 4.16vw, 5rem);
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
body.index .index-recruitment {
  position: relative;
  padding: 12.1875rem 0 10.3125rem;
  margin-top: -0.0625rem;
  overflow: hidden;
  background-color: #fff;
}
body.index .index-recruitment::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  width: 100%;
  height: 7.5rem;
  content: "";
  background: transparent url("../images/index/bg-wave-bottom.png") center/cover no-repeat;
  transform: translateX(-50%);
}
body.index .index-recruitment__heading {
  margin-bottom: 2.5rem;
  text-align: center;
}
body.index .index-recruitment__bg {
  position: absolute;
  display: block;
  aspect-ratio: 1/1;
  opacity: 0.2;
}
body.index .index-recruitment__bg.--top {
  top: -0.9375rem;
  left: calc(50% + 336px);
  width: 60.3125rem;
  transform: rotate(90deg);
}
body.index .index-recruitment__bg.--bottom {
  right: calc(50% + 426px);
  bottom: -13.625rem;
  width: 59.125rem;
}

@media all and (min-width: 768px), print {
  body.index .index-service__button,
  body.index .index-achievements__button {
    flex-shrink: 0;
  }
  body.index .index-service__button .c-button,
  body.index .index-achievements__button .c-button {
    min-width: clamp(16.5rem, 15.625vw, 18.75rem);
  }
}
@media only screen and (max-width: 767px) {
  body.index .index-bg {
    padding: 4rem 0 5rem;
  }
  body.index .index-bg__dot.--01 {
    top: -2.375rem;
    right: unset;
    left: -5.6875rem;
    width: 23rem;
    filter: blur(50px);
  }
  body.index .index-bg__dot.--02 {
    top: calc(50% - 665px);
    right: 1.4375rem;
    left: unset;
    width: 7.25rem;
    filter: blur(30px);
  }
  body.index .index-bg__dot.--03 {
    right: -3.875rem;
    bottom: 3.3125rem;
    left: unset;
    width: 13.75rem;
    filter: blur(50px);
  }
  body.index .index-bg__removal.--01 {
    top: calc(50% - 868px);
    right: -3.5rem;
    left: unset;
    width: 21.9375rem;
    transform: rotate(180deg);
  }
  body.index .index-bg__removal.--02 {
    top: 22.25rem;
    right: -13.4375rem;
    left: unset;
    width: 21rem;
    transform: rotate(189.29deg);
  }
  body.index .index-bg__removal.--03 {
    right: unset;
    bottom: 37.25rem;
    left: -6.5625rem;
    width: 21.9375rem;
    transform: rotate(90deg);
  }
  body.index .index-bg__removal.--04 {
    top: calc(50% - 512px);
    right: 1.5rem;
    left: unset;
    width: 21.9375rem;
    transform: rotate(90deg);
  }
  body.index .index-about {
    padding: 6.25rem 0 calc(92px + 8vw);
  }
  body.index .index-about::before {
    height: 8vw;
    background-image: url("../images/index/bg-wave-top-sp.png");
  }
  body.index .index-about__content {
    gap: 4rem 0;
  }
  body.index .index-about__text {
    font-size: 1rem;
    line-height: 3;
  }
  body.index .index-about .p-concept-movie {
    margin-top: 7.9375rem;
  }
  body.index .index-news__title {
    margin-bottom: 2.5rem;
  }
  body.index .index-news__column {
    grid-template-columns: repeat(1, 1fr);
  }
  body.index .index-news__banner {
    margin-top: 5rem;
  }
  body.index .index-news .p-section-title-h1 {
    display: contents;
  }
  body.index .index-news .p-news {
    margin-top: 2.5rem;
  }
  body.index .index-news .p-buttons {
    margin-top: 3rem;
  }
  body.index .index-company {
    margin-top: 5rem;
  }
  body.index .index-company__title {
    margin-bottom: 2.5rem;
  }
  body.index .index-company__column {
    flex-direction: column;
    gap: 3rem;
    align-items: flex-start;
    min-height: inherit;
  }
  body.index .index-company__img {
    position: static;
    width: calc(100% + 15px);
    max-width: inherit;
    aspect-ratio: 360/300;
    margin-left: -0.9375rem;
  }
  body.index .index-company__content {
    width: 100%;
  }
  body.index .index-service {
    max-width: calc(100% - 30px);
    padding: 2.5rem 0;
    margin-top: 4rem;
    box-shadow: 0 0 0.0625rem 0 rgba(0, 0, 0, 0.25);
  }
  body.index .index-service .l-inner {
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
  body.index .index-service__heading {
    order: 1;
    margin-bottom: 2.5rem;
  }
  body.index .index-service__button {
    order: 3;
    margin-top: 3rem;
    text-align: center;
  }
  body.index .index-service__lead {
    font-size: 0.9375rem;
  }
  body.index .index-service__wrap {
    order: 2;
  }
  body.index .index-service .p-service-list {
    margin-top: 2.5rem;
  }
  body.index .index-achievements {
    max-width: 100%;
    margin-top: 4rem;
  }
  body.index .index-achievements .l-inner {
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
  body.index .index-achievements__heading {
    order: 1;
    margin-bottom: 2.5rem;
  }
  body.index .index-achievements__button {
    order: 3;
    margin-top: 3rem;
    text-align: center;
  }
  body.index .index-achievements__slider {
    order: 2;
  }
  body.index .index-recruitment {
    padding: calc(80px + 8vw) 0 5rem;
  }
  body.index .index-recruitment::before {
    height: 8vw;
    background-image: url("../images/index/bg-wave-bottom-sp.png");
  }
  body.index .index-recruitment__heading img {
    width: 15.75rem;
  }
  body.index .index-recruitment__bg {
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    opacity: 0.2;
  }
  body.index .index-recruitment__bg.--top {
    top: -1.0625rem;
    right: -6.375rem;
    left: unset;
    width: 15.9375rem;
  }
  body.index .index-recruitment__bg.--bottom {
    right: unset;
    bottom: -3.375rem;
    left: -5.9375rem;
    width: 15.625rem;
  }
}
body.news-single .news-single-main .p-editor__content {
  margin-top: 5rem;
}
body.news-single .news-single-main__button {
  margin: 5rem auto;
  text-align: center;
}

body.service-tree .service-tree-main .p-flow-nav {
  margin-top: 4rem;
}
body.service-tree .service-tree-production .p-box {
  margin-top: 2rem;
}
body.service-tree .service-tree-production .p-box + .p-box {
  margin-top: 1rem;
}
body.service-tree .service-tree-production .p-buttons {
  margin-top: 4.5rem;
}
body.service-tree .service-tree-reuse__utilization {
  margin-top: 4rem;
}
body.service-tree .service-tree-reuse__tab-grinder {
  margin-top: 10.25rem;
}
body.service-tree .service-tree-reuse__eco {
  margin-top: 10.25rem;
}
body.service-tree .service-tree-reuse__eco.p-box {
  padding: 3rem;
}
body.service-tree .service-tree-reuse__eco .p-grid {
  margin-top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  body.service-tree .service-tree-main .p-flow-nav {
    margin-top: 2.5rem;
  }
  body.service-tree .service-tree-reuse__utilization {
    padding-bottom: 1.5rem;
    margin-top: 2.5rem;
  }
  body.service-tree .service-tree-reuse__tab-grinder {
    margin-top: 5rem;
  }
  body.service-tree .service-tree-reuse__eco {
    margin-top: 5rem;
  }
  body.service-tree .service-tree-reuse__eco.p-box {
    padding: 2rem 0.9375rem;
  }
  body.service-tree .service-tree-reuse__eco .p-grid {
    margin-top: 2.1875rem;
  }
}
body.service .service-main .p-relation {
  margin-top: 5rem;
}
body.service .service-main .p-box {
  margin-top: 3rem;
}
body.service .service-main .p-box + .p-box {
  margin-top: 2rem;
}

@media only screen and (max-width: 767px) {
  body.service .service-main .p-relation {
    margin-top: 4rem;
  }
  body.service .service-main .p-box {
    margin-top: 2rem;
  }
  body.service .service-main .p-box + .p-box {
    margin-top: 1rem;
  }
}
/* utility */
.u-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

.u-bg-green {
  padding-top: 10.25rem;
  background: radial-gradient(50% 49.09% at 50% 49.09%, #ebf5e9 0%, #ebf5e9 100%);
  background-image: url("../images/common/bg-noise.png"), radial-gradient(50% 49.09% at 50% 49.09%, #ebf5e9 0%, #ebf5e9 100%);
  background-repeat: repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 100px 100px, cover;
  background-blend-mode: multiply, normal;
}

@media only screen and (max-width: 767px) {
  .u-bg-green {
    padding-top: 4rem;
  }
}
@media all and (min-width: 768px), print {
  .u-hidden-pc {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}
@media (hover: hover) {
  .u-hover {
    transition: opacity 0.3s;
  }
  .u-hover:hover {
    opacity: 0.7;
  }
}

.u-mt-1 {
  margin-top: 0.5rem;
}

.u-mt-2 {
  margin-top: 1rem;
}

.u-mt-3 {
  margin-top: 1.5rem;
}

.u-mt-4 {
  margin-top: 2rem;
}

.u-mt-5 {
  margin-top: 2.5rem;
}

.u-mt-6 {
  margin-top: 3rem;
}

.u-mt-7 {
  margin-top: 3.5rem;
}

.u-mt-8 {
  margin-top: 4rem;
}

.u-mt-9 {
  margin-top: 4.5rem;
}

.u-mt-10 {
  margin-top: 5rem;
}

.u-mt-11 {
  margin-top: 5.5rem;
}

.u-mt-12 {
  margin-top: 6rem;
}

.u-mt-13 {
  margin-top: 6.5rem;
}

.u-mt-14 {
  margin-top: 7rem;
}

.u-mt-15 {
  margin-top: 7.5rem;
}

.u-mt-16 {
  margin-top: 8rem;
}

.u-mt-17 {
  margin-top: 8.5rem;
}

.u-mt-18 {
  margin-top: 9rem;
}

.u-mt-19 {
  margin-top: 9.5rem;
}

.u-mt-20 {
  margin-top: 10rem;
}

.u-mt-21 {
  margin-top: 10.5rem;
}

.u-mt-22 {
  margin-top: 11rem;
}

.u-mt-23 {
  margin-top: 11.5rem;
}

.u-mt-24 {
  margin-top: 12rem;
}

.u-mt-25 {
  margin-top: 12.5rem;
}

@media only screen and (max-width: 767px) {
  .u-mt-1-sp {
    margin-top: 0.5rem;
  }
  .u-mt-2-sp {
    margin-top: 1rem;
  }
  .u-mt-3-sp {
    margin-top: 1.5rem;
  }
  .u-mt-4-sp {
    margin-top: 2rem;
  }
  .u-mt-5-sp {
    margin-top: 2.5rem;
  }
  .u-mt-6-sp {
    margin-top: 3rem;
  }
  .u-mt-7-sp {
    margin-top: 3.5rem;
  }
  .u-mt-8-sp {
    margin-top: 4rem;
  }
  .u-mt-9-sp {
    margin-top: 4.5rem;
  }
  .u-mt-10-sp {
    margin-top: 5rem;
  }
  .u-mt-11-sp {
    margin-top: 5.5rem;
  }
  .u-mt-12-sp {
    margin-top: 6rem;
  }
  .u-mt-13-sp {
    margin-top: 6.5rem;
  }
  .u-mt-14-sp {
    margin-top: 7rem;
  }
  .u-mt-15-sp {
    margin-top: 7.5rem;
  }
  .u-mt-16-sp {
    margin-top: 8rem;
  }
  .u-mt-17-sp {
    margin-top: 8.5rem;
  }
  .u-mt-18-sp {
    margin-top: 9rem;
  }
  .u-mt-19-sp {
    margin-top: 9.5rem;
  }
  .u-mt-20-sp {
    margin-top: 10rem;
  }
  .u-mt-21-sp {
    margin-top: 10.5rem;
  }
  .u-mt-22-sp {
    margin-top: 11rem;
  }
  .u-mt-23-sp {
    margin-top: 11.5rem;
  }
  .u-mt-24-sp {
    margin-top: 12rem;
  }
  .u-mt-25-sp {
    margin-top: 12.5rem;
  }
}
.u-text-center {
  text-align: center;
}

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

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

@media all and (min-width: 768px), print {
  .u-text-center-pc {
    text-align: center;
  }
  .u-text-left-pc {
    text-align: left;
  }
  .u-text-right-pc {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .u-text-center-sp {
    text-align: center;
  }
  .u-text-left-sp {
    text-align: left;
  }
  .u-text-right-sp {
    text-align: right;
  }
}
/* js */
.js-fadein {
  filter: blur(4px);
  opacity: 0;
  transition: filter 1.8s, opacity 0.6s;
}
.js-fadein.--delay-06 {
  transition-delay: 0.6s;
}
.js-fadein.--delay-12 {
  transition-delay: 1.2s;
}
.js-fadein.is-active {
  filter: blur(0);
  opacity: 1;
}

.js-fadeup {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transform: translateY(2.5rem);
  will-change: opacity, transform;
}
.js-fadeup.is-active {
  opacity: 1;
  transform: translateY(0);
}