/* ==================================================
[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: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.77;
  color: #333;
  word-break: normal;
  word-wrap: normal;
  overflow-wrap: normal;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

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: #333;
  -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],
button,
select {
  cursor: pointer;
}

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

/* font */
/* animate */
@keyframes slideZoom {
  from {
    transform: scale(1.15) translate(0);
  }
  to {
    transform: scale(1) translate(0);
  }
}
@keyframes arrow-slide-right {
  0% {
    opacity: 1;
    transform: translate(0, -50%);
  }
  40% {
    opacity: 0;
    transform: translate(80%, -50%);
  }
  41% {
    opacity: 0;
    transform: translate(-60%, -50%);
  }
  100% {
    opacity: 1;
    transform: translate(0, -50%);
  }
}
@keyframes arrow-slide-right-sub {
  0% {
    opacity: 1;
    transform: translate(0);
  }
  40% {
    opacity: 0;
    transform: translate(80%);
  }
  41% {
    opacity: 0;
    transform: translate(-60%);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes rotate-slow {
  0% {
    transform: scale(1) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(360deg);
  }
}
@keyframes arrow-slide {
  0% {
    opacity: 1;
    transform: translateX(0) scaleX(var(--arrow-direction));
  }
  40% {
    opacity: 0;
    transform: translateX(calc(80% * var(--arrow-direction))) scaleX(var(--arrow-direction));
  }
  41% {
    opacity: 0;
    transform: translateX(calc(-60% * var(--arrow-direction))) scaleX(var(--arrow-direction));
  }
  100% {
    opacity: 1;
    transform: translateX(0) scaleX(var(--arrow-direction));
  }
}
/* --------------------------------------------------
	3. Layout
-------------------------------------------------- */
/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  padding: 0.5rem;
}
.l-header__inner {
  max-width: 1792px;
  padding: 0.9375rem 2.0833333333vw;
  margin: 0 auto;
  background-color: #404040;
  border-radius: 0.125rem;
}
.l-header__container {
  position: relative;
  display: flex;
  gap: 2.0833333333vw;
  align-items: center;
}
.l-header__logo {
  display: flex;
  align-items: center;
  width: clamp(11.875rem, 15vw, 18.75rem);
}
.l-header__menu {
  height: 100%;
  margin-left: auto;
}
.l-header__nav-container {
  display: flex;
  gap: 2.0833333333vw;
  align-items: center;
  height: 100%;
}
.l-header__nav {
  height: 100%;
}
.l-header__nav-list {
  display: flex;
  gap: 2.0833333333vw;
  align-items: center;
  height: 100%;
}
.l-header__nav-item {
  height: 100%;
}
.l-header__nav-item-icon {
  position: relative;
  display: none;
  width: 3.125rem;
  height: 3.125rem;
}
.l-header__nav-item-icon::after, .l-header__nav-item-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1.3125rem;
  height: 0.125rem;
  content: "";
  background-color: #404040;
}
.l-header__nav-item-icon::after {
  transform: translateX(-50%) translateY(-50%);
}
.l-header__nav-item-icon::before {
  transition: transform 0.3s;
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
}
.l-header__nav-item-icon.is-active::before {
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}
.l-header__nav-item.--cta a {
  padding: 0.5rem 1rem;
  font-weight: 700;
  color: #333;
  background: #fff;
  border: 0.0625rem solid #f44f1c;
  border-radius: 0.0625rem;
}
.l-header__nav-item.--cta a .com-icon {
  z-index: 2;
}
.l-header__nav-item.--cta a::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  clip-path: inset(100% 0 0 0);
  content: "";
  background: #f44f1c;
  transition: clip-path 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-header__nav-item.--cta a:hover {
  color: #fff;
}
.l-header__nav-item.--cta a:hover::after {
  clip-path: inset(0 0 0 0);
}
.l-header__nav-link {
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  min-height: 3.375rem;
  font-size: clamp(0.625rem, 1.125vw, 1.125rem);
  font-weight: 500;
  line-height: 1.78;
  color: #fff;
}

.l-hum {
  position: absolute;
  top: 0;
  right: 0;
  width: 4.5rem;
  height: 4.25rem;
  cursor: pointer;
  background-color: #fff;
  border: none;
}
.l-hum span {
  position: absolute;
  left: 50%;
  display: block;
  width: 2.625rem;
  height: 0.25rem;
  background-color: #404040;
  transition: 0.3s all;
  transform: translateX(-50%) translateY(-50%);
  transform-origin: center;
}
.l-hum span:nth-child(1) {
  top: calc(50% - 14px);
}
.l-hum span:nth-child(2) {
  top: 50%;
}
.l-hum span:nth-child(3) {
  top: calc(50% + 14px);
}
.l-hum.is-active span:nth-child(2) {
  display: none;
}
.l-hum.is-active span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.l-hum.is-active span:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

@media all and (min-width: 768px), print {
  .l-header__menu {
    display: block !important;
  }
  .l-header__nav-link-inner {
    position: relative;
    z-index: 2;
    display: inline-block;
    overflow: hidden;
  }
  .l-header__nav-link-text {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.6s;
    will-change: transform;
  }
  .l-header__nav-link-text:last-child {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(100%);
  }
  .l-header__nav-link:hover .l-header__nav-link-text:first-child {
    opacity: 0;
    transform: translateY(-100%);
  }
  .l-header__nav-link:hover .l-header__nav-link-text:last-child {
    opacity: 1;
    transform: translateY(0);
  }
  .l-header__down {
    display: none;
  }
  .l-hum {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .l-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
  }
  .l-header__inner {
    padding: 0 0 0 0.9375rem;
  }
  .l-header__container {
    height: 4.25rem;
  }
  .l-header__logo {
    width: 14.25rem;
  }
  .l-header__menu {
    position: absolute;
    top: 4.25rem;
    left: -0.9375rem;
    display: none;
    width: calc(100% + 0.9375rem);
    height: calc(100vh - 4.25rem);
    background: url("../images/index/bg-gray-light.jpg") no-repeat center/cover;
  }
  .l-header__nav-container {
    flex-direction: column;
    height: 100%;
    padding: 2.5rem 0.9375rem 5rem;
    overflow-y: auto;
  }
  .l-header__nav {
    width: 100%;
    height: auto;
  }
  .l-header__nav-list {
    flex-direction: column;
    gap: 0;
    border-top: 0.0625rem solid #707070;
  }
  .l-header__nav-item {
    position: relative;
    flex-direction: column;
    width: 100%;
    height: auto;
    background: #fff;
    border-bottom: 0.0625rem solid #707070;
  }
  .l-header__nav-item-icon {
    position: absolute;
    top: 2.375rem;
    right: 0.25rem;
    z-index: 2;
    display: block;
    transform: translateY(-50%);
  }
  .l-header__nav-item:not(.--company) a {
    padding-right: 3rem;
  }
  .l-header__nav-item:not(.--company) a::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    margin: auto;
    content: "";
    background-color: currentcolor;
    -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: translateY(-50%);
  }
  .l-header__nav-link {
    display: block;
    width: 100%;
    height: auto;
    padding: 1.5rem 1rem;
    font-size: 1rem;
    color: #333;
  }
  .l-header__nav-sub {
    position: relative;
    display: none;
    width: 100%;
    padding: 0.125rem 1rem 1.5rem;
    visibility: inherit;
    opacity: 1;
    transition: none;
  }
  .l-header__nav-sub-list {
    display: flex;
    flex-direction: column;
    border-top: 0.0625rem solid #707070;
  }
  .l-header__nav-sub-item {
    border-bottom: 0.0625rem solid #707070;
  }
  .l-header__nav-sub-link {
    display: flex;
    gap: 0.6875rem;
    align-items: center;
    padding: 1.125rem 0.5rem;
    font-size: 0.875rem;
  }
  .l-header__nav-sub-link::before {
    display: block;
    width: 0.875rem;
    height: 0.0625rem;
    content: "";
    background: #707070;
  }
  .l-header__down {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    margin-top: 2rem;
  }
  .l-header__down .p-fixed-download__btn {
    width: 100%;
    padding: 1.25rem;
    font-size: 1.125rem;
  }
  .l-header__down .p-fixed-download__btn::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
/* footer */
.l-footer {
  position: relative;
  padding: 8.4375rem 0 1.25rem;
  color: #fff;
  background-color: #404040;
}
.l-footer__inner {
  width: 100%;
  max-width: calc(50% + 40rem);
  padding: 0 1.25rem;
  margin-left: auto;
}
.l-footer__container {
  position: relative;
  display: flex;
  gap: 3rem;
  justify-content: space-between;
  max-width: 85.25rem;
}
.l-footer__access {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2.5rem;
}
.l-footer__access-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.l-footer__access-link {
  font-size: 1rem;
}
@media (hover: hover) {
  .l-footer__access-link.c-text-link {
    transition: 0.3s linear opacity;
  }
  .l-footer__access-link.c-text-link:hover {
    color: #fff;
    opacity: 0.7;
  }
}
.l-footer__access-link .com-icon {
  vertical-align: middle;
}
.l-footer__contact {
  margin-top: 2rem;
}
.l-footer__contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  margin-top: 0.5rem;
}
.l-footer__contact-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.l-footer__contact-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 1.875rem;
  font-size: 1.3125rem;
  font-weight: 700;
  color: #333;
  background: #fff;
  border-radius: 999rem;
}
.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.l-footer__nav-list {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.l-footer__nav-item.--sns {
  margin-top: auto;
}
.l-footer__nav-link {
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: clamp(0.8125rem, 1.3125vw, 1.3125rem);
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}
.l-footer__nav-link::before {
  width: 1.125rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: #fff;
  -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .l-footer__nav-link {
    transition: opacity 0.3s linear;
  }
  .l-footer__nav-link:hover {
    opacity: 0.7;
  }
}
.l-footer__sub {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 0.875rem 0;
}
.l-footer__sub-link {
  display: flex;
  gap: 0.6875rem;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  .l-footer__sub-link {
    font-size: 0.875rem;
  }
}
.l-footer__sub-link::before {
  display: block;
  width: 0.75rem;
  height: 0.125rem;
  content: "";
  background: #fff;
}
@media (hover: hover) {
  .l-footer__sub-link {
    transition: opacity 0.3s linear;
  }
  .l-footer__sub-link:hover {
    opacity: 0.7;
  }
}
.l-footer__sns {
  display: flex;
  gap: 1.5rem;
}
.l-footer__sns-link .com-sns {
  --icon-size: 3.75rem;
}
@media (hover: hover) {
  .l-footer__sns-link {
    transition: 0.3s linear opacity;
  }
  .l-footer__sns-link:hover {
    opacity: 0.7;
  }
}
.l-footer__sns-sp {
  display: none;
}
.l-footer__copyright {
  margin-top: 7.5rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .l-footer {
    padding: 3rem 0 10.5rem;
  }
  .l-footer__inner {
    padding: 0 0.9375rem;
  }
  .l-footer__container {
    flex-direction: column;
    gap: 2.5rem;
  }
  .l-footer__menu {
    display: none;
  }
  .l-footer__access {
    gap: 1.5rem;
    margin-top: 2rem;
  }
  .l-footer__access-text {
    flex-direction: column;
    gap: 0.5rem;
  }
  .l-footer__access-link {
    font-size: 0.875rem;
  }
  .l-footer__contact {
    margin-top: 2.5rem;
  }
  .l-footer__contact-list {
    flex-wrap: wrap;
    gap: 1.125rem;
  }
  .l-footer__contact-item {
    gap: 0.625rem;
  }
  .l-footer__contact-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.0625rem;
    height: 1.5625rem;
    font-size: 1rem;
  }
  .l-footer__sns-sp {
    display: block;
    margin-top: 2.5rem;
  }
  .l-footer__sns {
    gap: 1rem;
    justify-content: flex-start;
    width: 100%;
  }
  .l-footer__sns .com-sns {
    --icon-size: 3.25rem;
  }
  .l-footer__copyright {
    margin-top: 3rem;
    text-align: left;
  }
}
/* main */
.l-inner {
  width: 80rem;
  max-width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-inner.--wide {
  width: 107.5rem;
}
.l-inner.--narrow {
  width: 65rem;
}

.l-section-first {
  padding: 9rem 0;
}
.l-section-first:first-child {
  padding-top: 11.25rem;
  margin-top: -2.25rem;
}

.l-pagetitle {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .l-inner {
    padding: 0 0.9375rem;
  }
  .l-section-first {
    padding: 4rem 0;
  }
  .l-section-first:first-child {
    padding-top: 5.875rem;
    margin-top: -1.875rem;
  }
}
/* 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 {
  margin-top: 5rem;
}
.l-margin .p-grid:first-child,
.l-margin .e-grid:first-child {
  margin-top: 0;
}
.l-margin .p-grid + .l-margin .p-grid,
.l-margin .p-grid + .l-margin .e-grid,
.l-margin .e-grid + .l-margin .p-grid,
.l-margin .e-grid + .l-margin .e-grid {
  margin-top: 2.5rem;
}
.l-margin .p-grid p,
.l-margin .e-grid 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-down {
  --icon-size: 2.375rem;
  --icon-gap: 0;
  position: relative;
  width: 3.875rem;
  height: 5.375rem;
  padding: 0;
  color: #333;
  cursor: pointer;
  background-color: #fff;
  border-radius: 999rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.c-button-down.--lg {
  --icon-size: 4rem;
  width: 6.875rem;
  height: 9.375rem;
  box-shadow: none;
}
.c-button-down.--sm {
  --icon-size: 1.75rem;
  width: 2.625rem;
  height: 3.625rem;
  box-shadow: 0 0 0.125rem 0 rgba(51, 51, 51, 0.25);
}
.c-button-down__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  transform: rotate(90deg);
}
.c-button-down__icon::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: currentcolor;
  -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .c-button-down {
    transition: color 0.3s linear;
  }
  .c-button-down:hover {
    color: #f44f1c;
  }
  .c-button-down:hover .c-button-down__icon::before {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}
@media only screen and (max-width: 767px) {
  .c-button-down {
    --icon-size: 1.75rem;
    width: 2.875rem;
    height: 4rem;
  }
  .c-button-down.--lg {
    --icon-size: 2rem;
    width: 3.5rem;
    height: 4.5rem;
  }
  .c-button-down.--sm {
    --icon-size: 1.25rem;
    width: 1.875rem;
    height: 2.625rem;
  }
}

.c-button-download {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  color: #fff;
  cursor: pointer;
  background: #f44f1c;
  border: 0.0625rem solid #fff;
}
.c-button-download::after {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background-color: currentcolor;
  -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 23.0718L8.03085 15.1026L9.99799 13.0781L14.6 17.6801V2H17.4V17.6801L22.002 13.0781L23.9692 15.1026L16 23.0718ZM5.37438 30C4.43147 30 3.63334 29.6733 2.98 29.02C2.32667 28.3667 2 27.5685 2 26.6256V21.5641H4.79996V26.6256C4.79996 26.7692 4.85979 26.9009 4.97944 27.0206C5.09913 27.1402 5.23078 27.2 5.37438 27.2H26.6256C26.7692 27.2 26.9009 27.1402 27.0206 27.0206C27.1402 26.9009 27.2 26.7692 27.2 26.6256V21.5641H30V26.6256C30 27.5685 29.6733 28.3667 29.02 29.02C28.3667 29.6733 27.5685 30 26.6256 30H5.37438Z' fill='%23404040'/%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 23.0718L8.03085 15.1026L9.99799 13.0781L14.6 17.6801V2H17.4V17.6801L22.002 13.0781L23.9692 15.1026L16 23.0718ZM5.37438 30C4.43147 30 3.63334 29.6733 2.98 29.02C2.32667 28.3667 2 27.5685 2 26.6256V21.5641H4.79996V26.6256C4.79996 26.7692 4.85979 26.9009 4.97944 27.0206C5.09913 27.1402 5.23078 27.2 5.37438 27.2H26.6256C26.7692 27.2 26.9009 27.1402 27.0206 27.0206C27.1402 26.9009 27.2 26.7692 27.2 26.6256V21.5641H30V26.6256C30 27.5685 29.6733 28.3667 29.02 29.02C28.3667 29.6733 27.5685 30 26.6256 30H5.37438Z' fill='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-button-download.--arrow::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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
}
@media (hover: hover) {
  .c-button-download {
    transition: 0.3s linear all;
  }
  .c-button-download:hover {
    color: #f44f1c;
    background: #fff;
    border-color: #f44f1c;
  }
}

@media only screen and (max-width: 767px) {
  .c-button-download.--lg {
    width: 100%;
    font-size: 1.125rem;
  }
  .c-button-download.--sm-sp {
    gap: 0.375rem;
    padding: 0.9375rem 0.5rem;
    font-size: 0.75rem;
  }
  .c-button-download.--sm-sp::after {
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-button-download::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.c-button-sub {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.77;
  --icon-size: 1.5rem;
  --icon-gap: 3.5rem;
  --icon: 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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
}
@media only screen and (max-width: 767px) {
  .c-button-sub {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.c-button-sub::after {
  display: inline-block;
  width: var(--icon-size);
  height: var(--icon-size);
  margin-left: var(--icon-gap);
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: var(--icon);
          mask-image: var(--icon);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-button-sub[target=_blank] {
  --icon-size: 1.75rem;
  --icon-gap: 0.5rem;
  --icon: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11791_3503)'%3E%3Cpath d='M12.833 3.5V5.25H5.25V22.75H22.75V15.167H24.5V24.5H3.5V3.5H12.833ZM24.5 3.5V11.667H22.75V6.5332L12.25 16.917L11.083 15.75L21.4668 5.25H16.333V3.5H24.5Z' fill='%23404040'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11791_3503'%3E%3Crect width='28' height='28' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.c-button-sub[href$=".pdf" i] {
  --icon-size: 1.75rem;
  --icon-gap: 0.5rem;
  --icon: 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 10.7143C27.5 10.162 27.0523 9.71429 26.5 9.71429H5.5C4.94772 9.71429 4.5 10.162 4.5 10.7143V21.2857C4.5 21.838 4.94772 22.2857 5.5 22.2857H26.5C27.0523 22.2857 27.5 21.838 27.5 21.2857V10.7143ZM4 8C3.44772 8 3 8.44772 3 9V23C3 23.5523 3.44772 24 4 24H28C28.5523 24 29 23.5523 29 23V9C29 8.44772 28.5523 8 28 8H4Z' fill='%23404040'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%23404040'/%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='%23404040'/%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='%23404040'/%3E%3C/svg%3E");
}
@media (hover: hover) {
  .c-button-sub:not([href$=".pdf" i], [target=_blank]) {
    transition: color 0.3s linear;
  }
  .c-button-sub:not([href$=".pdf" i], [target=_blank]):hover {
    color: #f44f1c;
  }
  .c-button-sub:not([href$=".pdf" i], [target=_blank]):hover::after {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}
@media (hover: hover) {
  .c-button-sub {
    transition: color 0.3s linear;
  }
  .c-button-sub:hover {
    color: #f44f1c;
  }
  .c-button-sub:hover:not([href$=".pdf" i], [target=_blank])::after {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}
@media only screen and (max-width: 767px) {
  .c-button-sub {
    --icon-gap: 3rem;
  }
  .c-button-sub[target=_blank] {
    --icon-size: 1.375rem;
  }
}

.c-heading-top {
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-heading-top {
    font-size: 2rem;
  }
}
.c-heading-top__sub {
  font-size: 1.3125rem;
  font-weight: 700;
  position: relative;
  display: block;
  min-height: 1.5625rem;
  padding-left: 1.875rem;
  margin-bottom: 0.75rem;
  line-height: 1.5625rem;
  color: #f44f1c;
}
@media only screen and (max-width: 767px) {
  .c-heading-top__sub {
    font-size: 1rem;
  }
}
.c-heading-top__sub::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.5rem;
  height: 0.125rem;
  margin-top: 0.0625rem;
  content: "";
  background-color: currentcolor;
}

@media only screen and (max-width: 767px) {
  .c-heading-top__sub {
    min-height: 1.25rem;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
  .c-heading-top__sub::before {
    width: 1rem;
  }
}
.c-tel-link {
  font-weight: 500;
  text-decoration: underline;
}
@media all and (min-width: 768px), print {
  .c-tel-link {
    text-decoration: none;
    pointer-events: none;
  }
}

.c-text-bold {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
}
.c-text-bold.--xlg {
  font-size: 1.5rem;
}
.c-text-bold.--lg {
  font-size: 1.3125rem;
}
.c-text-bold.--sm {
  font-size: 1rem;
}
.c-text-bold.--xsm {
  font-size: 0.75rem;
}
.c-text-bold.--bold {
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-text-bold {
    font-size: 0.875rem;
  }
  .c-text-bold.--xlg {
    font-size: 1.125rem;
  }
  .c-text-bold.--lg {
    font-size: 1rem;
  }
  .c-text-bold.--sm {
    font-size: 0.75rem;
  }
  .c-text-bold.--xsm {
    font-size: 0.625rem;
  }
}

.com-icon {
  --icon-size: 1.5rem;
  --icon-color: currentcolor;
  --icon-url: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
}
.com-icon::before {
  width: 100%;
  height: 100%;
  content: "";
  background: var(--icon-color);
  -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;
}
.com-icon.--mail {
  --icon-size: 1.375rem;
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='14' viewBox='0 0 21 14' fill='none'%3E%3Cpath d='M20.6106 0.616C20.6057 0.569937 20.5975 0.525937 20.5837 0.48125C20.5693 0.435187 20.5501 0.393937 20.526 0.352688C20.5143 0.331375 20.5116 0.308 20.4971 0.288063C20.4861 0.272938 20.4696 0.265375 20.4579 0.250937C20.427 0.213812 20.3919 0.183563 20.3534 0.153313C20.3197 0.127188 20.2868 0.102437 20.2496 0.0831874C20.2111 0.0632499 20.1712 0.0508752 20.1293 0.0385002C20.0833 0.0247502 20.0392 0.0144374 19.9918 0.0109999C19.9726 0.00962486 19.9568 0 19.9375 0H0.6875C0.667562 0 0.651062 0.00962486 0.631125 0.0109999C0.58575 0.0151249 0.543125 0.0254374 0.499125 0.0378124C0.455812 0.0508749 0.414562 0.0639376 0.374687 0.0845626C0.33825 0.103125 0.306625 0.127188 0.273625 0.152625C0.234437 0.182875 0.199375 0.213813 0.16775 0.251625C0.156062 0.265375 0.139563 0.272938 0.128563 0.288063C0.114125 0.308 0.111375 0.332063 0.099 0.352688C0.075625 0.393937 0.056375 0.435187 0.0419375 0.48125C0.0275 0.525937 0.01925 0.569937 0.0144375 0.616C0.0116875 0.64075 0 0.662063 0 0.6875V13.0625C0 13.442 0.307313 13.75 0.6875 13.75H19.9375C20.3177 13.75 20.625 13.442 20.625 13.0625V0.6875C20.625 0.662063 20.6133 0.64075 20.6106 0.616ZM17.7918 1.375L10.3125 6.71756L2.83319 1.375H17.7918ZM1.375 12.375V2.02331L9.91306 8.12212C10.0327 8.20737 10.1722 8.25 10.3125 8.25C10.4528 8.25 10.5923 8.20737 10.7119 8.12212L19.25 2.02331V12.375H1.375Z' fill='%23404040'/%3E%3C/svg%3E");
}
.com-icon.--map {
  --icon-size: 1.5rem;
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 22.5C12.2494 22.5 12.4825 22.376 12.6219 22.1692C13.0872 21.479 13.6184 20.7433 14.1823 19.9624C14.352 19.7273 14.5246 19.4882 14.6993 19.245C15.449 18.2014 16.2282 17.0936 16.9323 15.9613C18.3241 13.7235 19.5 11.2735 19.5 8.92531C19.5 4.82248 16.1283 1.5 12 1.5C7.87173 1.5 4.5 4.82248 4.5 8.92531C4.5 11.2735 5.67593 13.7235 7.06767 15.9613C7.77184 17.0936 8.55102 18.2014 9.30067 19.245C9.47538 19.4882 9.64804 19.7273 9.81774 19.9624C10.3816 20.7433 10.9128 21.479 11.3781 22.1692C11.5175 22.376 11.7506 22.5 12 22.5ZM8.34143 15.1691C6.9718 12.9669 6 10.8251 6 8.92531C6 5.6666 8.68437 3 12 3C15.3156 3 18 5.6666 18 8.92531C18 10.8251 17.0282 12.9669 15.6586 15.1691C14.9821 16.2569 14.2272 17.3312 13.4811 18.3699C13.3123 18.6049 13.1435 18.8386 12.9761 19.0705C12.6413 19.534 12.3123 19.9898 12 20.432C11.6877 19.9898 11.3587 19.534 11.0239 19.0705C10.8565 18.8386 10.6877 18.6049 10.5189 18.3699C9.77285 17.3312 9.01793 16.2569 8.34143 15.1691Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.18188 8.92475C8.18188 11.0198 9.90203 12.709 12.0001 12.709C14.0981 12.709 15.8182 11.0198 15.8182 8.92475C15.8182 6.8297 14.0981 5.14052 12.0001 5.14052C9.90203 5.14052 8.18188 6.8297 8.18188 8.92475ZM12.0001 11.209C10.7147 11.209 9.68188 10.1757 9.68188 8.92475C9.68188 7.67382 10.7147 6.64052 12.0001 6.64052C13.2855 6.64052 14.3182 7.67382 14.3182 8.92475C14.3182 10.1757 13.2855 11.209 12.0001 11.209Z' fill='white'/%3E%3C/svg%3E");
}
.com-icon.--arrow-left {
  --icon-size: 2rem;
  --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='M3.51691 16.7286L27.793 27.4662C28.0456 27.5778 28.2661 27.258 28.0719 27.0617L17.7989 16.6758C17.7026 16.5784 17.7026 16.4216 17.7989 16.3242L28.0719 5.93829C28.2661 5.74198 28.0456 5.42215 27.793 5.53385L3.51691 16.2714C3.31841 16.3592 3.31841 16.6408 3.51691 16.7286Z' fill='%23404040'/%3E%3C/svg%3E");
}
.com-icon.--arrow-right {
  --icon-size: 2rem;
  --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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
}
.com-icon.--arrow-top {
  --icon-size: 1.5rem;
  --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='M15.2714 3.51691L4.53385 27.793C4.42215 28.0456 4.74198 28.2661 4.93829 28.0719L15.3242 17.7989C15.4216 17.7026 15.5784 17.7026 15.6758 17.7989L26.0617 28.0719C26.258 28.2661 26.5778 28.0456 26.4662 27.793L15.7286 3.51691C15.6408 3.31841 15.3592 3.31841 15.2714 3.51691Z' fill='%23404040'/%3E%3C/svg%3E");
}
.com-icon.--arrow-bottom {
  --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='M15.7286 28.4831L26.4662 4.20696C26.5778 3.95444 26.258 3.73391 26.0617 3.92809L15.6758 14.2011C15.5784 14.2974 15.4216 14.2974 15.3242 14.2011L4.93829 3.92809C4.74198 3.73391 4.42215 3.95443 4.53385 4.20695L15.2714 28.4831C15.3592 28.6816 15.6408 28.6816 15.7286 28.4831Z' fill='%23404040'/%3E%3C/svg%3E");
}
.com-icon.--pdf {
  --icon-size: 1.375rem;
  --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='M27.5 10.7143C27.5 10.162 27.0523 9.71429 26.5 9.71429H5.5C4.94772 9.71429 4.5 10.162 4.5 10.7143V21.2857C4.5 21.838 4.94772 22.2857 5.5 22.2857H26.5C27.0523 22.2857 27.5 21.838 27.5 21.2857V10.7143ZM4 8C3.44772 8 3 8.44772 3 9V23C3 23.5523 3.44772 24 4 24H28C28.5523 24 29 23.5523 29 23V9C29 8.44772 28.5523 8 28 8H4Z' fill='%23404040'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%23404040'/%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='%23404040'/%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='%23404040'/%3E%3C/svg%3E");
}

.com-sns {
  --icon-size: 3.125rem;
  --icon-url: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  overflow: hidden;
  border-radius: 50%;
}
.com-sns::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  background-image: var(--icon-url);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.com-sns.--instagram {
  --icon-url: url("../images/common/icon-sns-instagram.png");
}
.com-sns.--x {
  --icon-url: url("../images/common/icon-sns-x.png");
}

.icon-arrow {
  --icon-size: 2rem;
  --icon-color: currentcolor;
  --icon-url: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
}
.icon-arrow::before {
  width: 100%;
  height: 100%;
  content: "";
  background: var(--icon-color);
  -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;
}
.icon-arrow.--mail {
  --icon-size: 1.375rem;
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='14' viewBox='0 0 21 14' fill='none'%3E%3Cpath d='M20.6106 0.616C20.6057 0.569937 20.5975 0.525937 20.5837 0.48125C20.5693 0.435187 20.5501 0.393937 20.526 0.352688C20.5143 0.331375 20.5116 0.308 20.4971 0.288063C20.4861 0.272938 20.4696 0.265375 20.4579 0.250937C20.427 0.213812 20.3919 0.183563 20.3534 0.153313C20.3197 0.127188 20.2868 0.102437 20.2496 0.0831874C20.2111 0.0632499 20.1712 0.0508752 20.1293 0.0385002C20.0833 0.0247502 20.0392 0.0144374 19.9918 0.0109999C19.9726 0.00962486 19.9568 0 19.9375 0H0.6875C0.667562 0 0.651062 0.00962486 0.631125 0.0109999C0.58575 0.0151249 0.543125 0.0254374 0.499125 0.0378124C0.455812 0.0508749 0.414562 0.0639376 0.374687 0.0845626C0.33825 0.103125 0.306625 0.127188 0.273625 0.152625C0.234437 0.182875 0.199375 0.213813 0.16775 0.251625C0.156062 0.265375 0.139563 0.272938 0.128563 0.288063C0.114125 0.308 0.111375 0.332063 0.099 0.352688C0.075625 0.393937 0.056375 0.435187 0.0419375 0.48125C0.0275 0.525937 0.01925 0.569937 0.0144375 0.616C0.0116875 0.64075 0 0.662063 0 0.6875V13.0625C0 13.442 0.307313 13.75 0.6875 13.75H19.9375C20.3177 13.75 20.625 13.442 20.625 13.0625V0.6875C20.625 0.662063 20.6133 0.64075 20.6106 0.616ZM17.7918 1.375L10.3125 6.71756L2.83319 1.375H17.7918ZM1.375 12.375V2.02331L9.91306 8.12212C10.0327 8.20737 10.1722 8.25 10.3125 8.25C10.4528 8.25 10.5923 8.20737 10.7119 8.12212L19.25 2.02331V12.375H1.375Z' fill='%23404040'/%3E%3C/svg%3E");
}
.icon-arrow.--map {
  --icon-size: 1.5rem;
  --icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 22.5C12.2494 22.5 12.4825 22.376 12.6219 22.1692C13.0872 21.479 13.6184 20.7433 14.1823 19.9624C14.352 19.7273 14.5246 19.4882 14.6993 19.245C15.449 18.2014 16.2282 17.0936 16.9323 15.9613C18.3241 13.7235 19.5 11.2735 19.5 8.92531C19.5 4.82248 16.1283 1.5 12 1.5C7.87173 1.5 4.5 4.82248 4.5 8.92531C4.5 11.2735 5.67593 13.7235 7.06767 15.9613C7.77184 17.0936 8.55102 18.2014 9.30067 19.245C9.47538 19.4882 9.64804 19.7273 9.81774 19.9624C10.3816 20.7433 10.9128 21.479 11.3781 22.1692C11.5175 22.376 11.7506 22.5 12 22.5ZM8.34143 15.1691C6.9718 12.9669 6 10.8251 6 8.92531C6 5.6666 8.68437 3 12 3C15.3156 3 18 5.6666 18 8.92531C18 10.8251 17.0282 12.9669 15.6586 15.1691C14.9821 16.2569 14.2272 17.3312 13.4811 18.3699C13.3123 18.6049 13.1435 18.8386 12.9761 19.0705C12.6413 19.534 12.3123 19.9898 12 20.432C11.6877 19.9898 11.3587 19.534 11.0239 19.0705C10.8565 18.8386 10.6877 18.6049 10.5189 18.3699C9.77285 17.3312 9.01793 16.2569 8.34143 15.1691Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.18188 8.92475C8.18188 11.0198 9.90203 12.709 12.0001 12.709C14.0981 12.709 15.8182 11.0198 15.8182 8.92475C15.8182 6.8297 14.0981 5.14052 12.0001 5.14052C9.90203 5.14052 8.18188 6.8297 8.18188 8.92475ZM12.0001 11.209C10.7147 11.209 9.68188 10.1757 9.68188 8.92475C9.68188 7.67382 10.7147 6.64052 12.0001 6.64052C13.2855 6.64052 14.3182 7.67382 14.3182 8.92475C14.3182 10.1757 13.2855 11.209 12.0001 11.209Z' fill='white'/%3E%3C/svg%3E");
}

.c-heading-top {
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .c-heading-top {
    font-size: 2rem;
  }
}
.c-heading-top__sub {
  font-size: 1.3125rem;
  font-weight: 700;
  position: relative;
  display: block;
  min-height: 1.5625rem;
  padding-left: 1.875rem;
  margin-bottom: 0.75rem;
  line-height: 1.5625rem;
  color: #f44f1c;
}

@media only screen and (max-width: 767px) {
  .c-heading-top__sub {
    font-size: 1rem;
  }
}
.c-heading-top__sub::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.5rem;
  height: 0.125rem;
  margin-top: 0.0625rem;
  content: "";
  background-color: currentcolor;
}

@media only screen and (max-width: 767px) {
  .c-heading-top__sub {
    min-height: 1.25rem;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
  }
  .c-heading-top__sub::before {
    width: 1rem;
  }
}
.c-tel-link {
  font-weight: 500;
  text-decoration: underline;
}

@media all and (min-width: 768px), print {
  .c-tel-link {
    text-decoration: none;
    pointer-events: none;
  }
}
.c-text-bold {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
}

.c-text-bold.--xlg {
  font-size: 1.5rem;
}

.c-text-bold.--lg {
  font-size: 1.3125rem;
}

.c-text-bold.--sm {
  font-size: 1rem;
}

.c-text-bold.--xsm {
  font-size: 0.75rem;
}

.c-text-bold.--bold {
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .c-text-bold {
    font-size: 0.875rem;
  }
  .c-text-bold.--xlg {
    font-size: 1.125rem;
  }
  .c-text-bold.--lg {
    font-size: 1rem;
  }
  .c-text-bold.--sm {
    font-size: 0.75rem;
  }
  .c-text-bold.--xsm {
    font-size: 0.625rem;
  }
}
.c-button {
  --btn-bg: #404040;
  --btn-color: #fff;
  --btn-border: transparent;
  --icon-bg: #fff;
  --icon-color: #404040;
  --btn-height: 4.625rem;
  --btn-width: 18.75rem;
  --btn-padding-left: 1.5rem;
  --btn-padding-right: 0.75rem;
  --arrow-size: 1.75rem;
  --icon-width: 4.625rem;
  --icon-height: 3.125rem;
  --arrow-direction: 1;
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  min-width: var(--btn-width);
  min-height: var(--btn-height);
  padding: 0 var(--btn-padding-right) 0 var(--btn-padding-left);
  font-family: "Noto Sans JP", sans-serif;
  color: var(--btn-color);
  text-decoration: none;
  cursor: pointer;
  background-color: var(--btn-bg);
  border: 0.0625rem solid var(--btn-border);
  border-radius: 999rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.77;
}
@media only screen and (max-width: 767px) {
  .c-button {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.c-button__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: var(--icon-width);
  height: var(--icon-height);
  background: var(--icon-bg);
  border-radius: inherit;
}
.c-button__arrow {
  width: var(--arrow-size);
  height: var(--arrow-size);
  background-color: var(--icon-color);
  -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E") no-repeat center/contain;
          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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E") no-repeat center/contain;
  transform: scaleX(var(--arrow-direction));
}
.c-button.--prev {
  --btn-padding-left: 0.75rem;
  --btn-padding-right: 1.5rem;
  --arrow-direction: -1;
  flex-direction: row-reverse;
}
.c-button.--return {
  --btn-padding-left: 0.75rem;
  --btn-padding-right: 1.5rem;
  --btn-bg: #fff;
  --btn-color: #404040;
  --btn-border: #404040;
  --icon-bg: #404040;
  --icon-color: #fff;
  flex-direction: row-reverse;
  --arrow-direction: -1;
}
@media (hover: hover) {
  .c-button {
    transition: background-color 0.3s;
  }
  .c-button:hover {
    --btn-bg: #f44f1c;
    --icon-color: #f44f1c;
  }
  .c-button:hover .c-button__arrow {
    animation: arrow-slide 0.4s ease-in-out forwards;
  }
  .c-button.--return:hover {
    --btn-bg: #f44f1c;
    --btn-color: #fff;
    --btn-border: #f44f1c;
    --icon-bg: #fff;
    --icon-color: #f44f1c;
  }
}
.c-button:focus-visible {
  outline: 2px solid #404040;
  outline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-button {
    width: 100%;
    min-width: inherit;
    max-width: 21.5625rem;
    --btn-height: 4.375rem;
    --icon-width: 3.5rem;
    --icon-height: 2.375rem;
    --arrow-size: 1.375rem;
    --btn-padding-left: 1.5rem;
    --btn-padding-right: 1rem;
  }
  .c-button.--prev, .c-button.--return {
    --btn-padding-left: 1rem;
    --btn-padding-right: 1.5rem;
  }
}

.c-heading {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.5rem;
  }
}

.c-heading-lv1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv1 {
    font-size: 2rem;
  }
}
.c-heading-lv1.--dash {
  position: relative;
  padding-left: 4rem;
}
.c-heading-lv1.--dash::before {
  position: absolute;
  top: 2.1875rem;
  left: 0;
  width: 3rem;
  height: 0.25rem;
  content: "";
  background-color: #f44f1c;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-heading-lv1.--dash {
    padding-left: 2rem;
  }
  .c-heading-lv1.--dash::before {
    top: 1.4375rem;
    width: 1.5rem;
    height: 0.125rem;
  }
}
.c-heading-lv1 .c-heading-lv1__sub {
  color: #f44f1c;
}

.c-heading-lv2 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv2 {
    font-size: 1.75rem;
  }
}
.c-heading-lv2.--color-sub {
  color: #f44f1c;
}
.c-heading-lv2.--lg {
  font-size: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv2.--lg {
    font-size: 1.75rem;
  }
}

.c-heading-lv3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv3 {
    font-size: 1.5rem;
  }
}
.c-heading-lv3.--square-sub {
  position: relative;
  padding-left: 2.125rem;
}
.c-heading-lv3.--square-sub::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.125rem;
  height: 1.125rem;
  content: "";
  background-color: #f44f1c;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-heading-lv3.--square-sub {
    padding-left: 1.125rem;
  }
  .c-heading-lv3.--square-sub::before {
    width: 0.625rem;
    height: 0.625rem;
  }
}

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

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

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

.c-list-dot.--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
}
@media only screen and (max-width: 767px) {
  .c-list-dot.--flex {
    flex-direction: column;
  }
}
.c-list-dot__item {
  position: relative;
  padding-left: 2.125rem;
  color: #333;
}
.c-list-dot__item::before {
  position: absolute;
  top: 50%;
  left: 0.6875rem;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background: #f44f1c;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-list-dot__item {
    padding-left: 1.75rem;
  }
  .c-list-dot__item::before {
    left: 0.5625rem;
    width: 0.5rem;
    height: 0.5rem;
  }
}

.c-list-ol {
  list-style: decimal-leading-zero;
  list-style-position: inside;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-list-ol {
    font-size: 1rem;
  }
}

.c-list-dl__dt {
  font-weight: bold;
}
.c-list-dl__dd {
  padding-left: 1em;
}

.c-text-link {
  position: relative;
  display: inline-block;
  text-decoration: underline;
}
.c-text-link.--blank::after {
  display: inline-block;
  width: 1.75rem;
  height: 1.75rem;
  margin-left: 0.5rem;
  vertical-align: middle;
  content: "";
  background: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11791_3503)'%3E%3Cpath d='M12.833 3.5V5.25H5.25V22.75H22.75V15.167H24.5V24.5H3.5V3.5H12.833ZM24.5 3.5V11.667H22.75V6.5332L12.25 16.917L11.083 15.75L21.4668 5.25H16.333V3.5H24.5Z' fill='%23404040'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11791_3503'%3E%3Crect width='28' height='28' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11791_3503)'%3E%3Cpath d='M12.833 3.5V5.25H5.25V22.75H22.75V15.167H24.5V24.5H3.5V3.5H12.833ZM24.5 3.5V11.667H22.75V6.5332L12.25 16.917L11.083 15.75L21.4668 5.25H16.333V3.5H24.5Z' fill='%23404040'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11791_3503'%3E%3Crect width='28' height='28' fill='white'/%3E%3C/clipPath%3E%3C/defs%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 only screen and (max-width: 767px) {
  .c-text-link.--blank::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.c-text-link.--pdf::after {
  display: inline-block;
  width: 1.75rem;
  height: 1.75rem;
  margin-left: 0.5rem;
  vertical-align: middle;
  content: "";
  background: currentcolor;
  -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 10.7143C27.5 10.162 27.0523 9.71429 26.5 9.71429H5.5C4.94772 9.71429 4.5 10.162 4.5 10.7143V21.2857C4.5 21.838 4.94772 22.2857 5.5 22.2857H26.5C27.0523 22.2857 27.5 21.838 27.5 21.2857V10.7143ZM4 8C3.44772 8 3 8.44772 3 9V23C3 23.5523 3.44772 24 4 24H28C28.5523 24 29 23.5523 29 23V9C29 8.44772 28.5523 8 28 8H4Z' fill='%23404040'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%23404040'/%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='%23404040'/%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='%23404040'/%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 10.7143C27.5 10.162 27.0523 9.71429 26.5 9.71429H5.5C4.94772 9.71429 4.5 10.162 4.5 10.7143V21.2857C4.5 21.838 4.94772 22.2857 5.5 22.2857H26.5C27.0523 22.2857 27.5 21.838 27.5 21.2857V10.7143ZM4 8C3.44772 8 3 8.44772 3 9V23C3 23.5523 3.44772 24 4 24H28C28.5523 24 29 23.5523 29 23V9C29 8.44772 28.5523 8 28 8H4Z' fill='%23404040'/%3E%3Cpath d='M19.7732 19V13H24V14.1777H21.2698V15.4082H23.7309V16.5889H21.2698V19H19.7732Z' fill='%23404040'/%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='%23404040'/%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='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-text-link.--map {
  font-size: 1rem;
}
.c-text-link.--map .com-icon {
  display: inline-flex;
  vertical-align: middle;
}
@media (hover: hover) {
  .c-text-link {
    transition: 0.3s linear all;
  }
  .c-text-link:hover {
    opacity: 0.7;
  }
}

.c-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-text.--xxlg {
  font-size: 1.5rem;
  line-height: 2.1;
}
.c-text.--xlg {
  font-size: 1.25rem;
  line-height: 1.9;
}
.c-text.--lg {
  font-size: 1.125rem;
  line-height: 1.7;
}
.c-text.--sm {
  font-size: 0.875rem;
}
.c-text.--xsm {
  font-size: 0.75rem;
}
.c-text.--bold {
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-text {
    font-size: 0.875rem;
  }
  .c-text.--xlg {
    font-size: 1.125rem;
    line-height: 1.55;
  }
  .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 {
  font-size: 1.125rem;
  line-height: 1.77;
}
.c-input + .c-input {
  margin-top: 2.5rem;
}
.c-input__optional {
  padding: 0.0625rem 0.375rem 0.125rem;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  color: #fff;
  background: #404040;
  border-radius: 0.1875rem;
}
.c-input__optional.--required {
  background: #f44f1c;
}
.c-input__support-text {
  margin-top: 0.5rem;
}
.c-input__text-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0;
}
.c-input__text-label.--mt-02 {
  margin-top: 0.25rem;
}
.c-input__text-label.--mt-01 {
  margin-top: 0.75rem;
}
.c-input__container {
  width: 100%;
  padding: 0.75rem 1.5rem;
  margin-top: 0.875rem;
  background: #fff;
  border: 0.0625rem solid #707070;
  border-radius: 0;
  outline: 0;
}
.c-input__container:focus {
  border-color: #d3d3d3;
}
.c-input__container.error {
  border-color: #f00;
}
.c-input__radio-container {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.75rem;
  border: 0.0625rem solid #f44f1c;
  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: #1558d6;
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
}
.c-input__radio {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  vertical-align: top;
  opacity: 0;
}
.c-input__radio:checked + .c-input__radio-container::after {
  opacity: 1;
}
.c-input__check-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
}
.c-input__check-wrap.--gap-narrow {
  gap: 0.625rem 1.875rem;
}
.c-input__check-wrap.--gap-narrow .c-input__text-label {
  padding-top: 0;
  padding-bottom: 0;
}
.c-input__check-wrap.--mt-01 {
  margin-top: 0.125rem;
}
.c-input__check-wrap.--mt-02 {
  margin-top: 0.625rem;
}
.c-input__checkbox-container {
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  margin-right: 0.75rem;
  border: 0.125rem solid #404040;
  border-radius: 0.25rem;
}
.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.375rem;
  height: 1.375rem;
  margin: 0;
  vertical-align: top;
  opacity: 0;
}
.c-input__checkbox:checked + .c-input__checkbox-container {
  background-color: #f44f1c;
  border-color: #f44f1c;
}
.c-input__checkbox:checked + .c-input__checkbox-container::after {
  opacity: 1;
}
.c-input__error-text {
  margin-top: 0.5rem;
  font-size: 1.125rem;
  color: #f00;
}
.c-input__select-wrap {
  position: relative;
  width: 100%;
  max-width: 37.5rem;
}
.c-input__select-wrap::after {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  display: block;
  width: 2rem;
  height: 2rem;
  margin-top: -0.5rem;
  pointer-events: none;
  content: "";
  background-color: #333;
  -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: rotate(90deg);
}
.c-input__select-wrap select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-input__select-wrap select::-ms-expand {
  display: none;
}

@media only screen and (max-width: 767px) {
  .c-input {
    font-size: 1rem;
  }
  .c-input__optional {
    padding: 0.0625rem 0.25rem 0.125rem;
    font-size: 0.625rem;
  }
  .c-input__container {
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
  .c-input__checkbox-container {
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-input__checkbox {
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-input__select-wrap::after {
    width: 1.625rem;
    height: 1.625rem;
    margin-top: -0.375rem;
  }
  .c-input__check-wrap.--column-sp {
    flex-direction: column;
    align-items: flex-start;
  }
}
.c-swiper-btn {
  position: relative;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1/1;
  color: #333;
  --icon-size: 2rem;
}
.c-swiper-btn::after {
  content: none;
}
.c-swiper-btn.swiper-button-disabled {
  opacity: 1;
}
.c-swiper-btn .swiper-navigation-icon {
  display: none;
}
@media (hover: hover) {
  .c-swiper-btn {
    transition: 0.3s linear all;
  }
  .c-swiper-btn:hover {
    color: #f44f1c;
  }
  .c-swiper-btn:hover::before {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}

/* project */
.p-accordion__item {
  padding: 1.5rem 2rem;
  background: #fff;
  border-bottom: 0.125rem solid #707070;
}
.p-accordion__item:first-child {
  border-top: 0.125rem solid #707070;
}
.p-accordion__head {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  cursor: pointer;
  border: none;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-accordion__head {
    font-size: 1rem;
  }
}
.p-accordion__head-text {
  position: relative;
  padding-left: 3.5rem;
}
.p-accordion__head-text::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.125rem 0 0.625rem;
  line-height: normal;
  color: #fff;
  content: "Q";
  background: #f44f1c;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-accordion__head-text::before {
    font-size: 1.125rem;
  }
}
.p-accordion__head-icon {
  position: relative;
  display: block;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  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: #404040;
  transform: translate(-50%, -50%);
}
.p-accordion__head-icon::before {
  width: 100%;
  height: 0.125rem;
}
.p-accordion__head-icon::after {
  width: 0.125rem;
  height: 100%;
}
.p-accordion__head.is-active .p-accordion__head-icon::after {
  display: none;
}
.p-accordion__content {
  padding: 2rem;
  margin-top: 1.5rem;
  background-color: #f7f7f7;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-accordion__content {
    font-size: 1rem;
  }
}
.p-accordion__content-inner {
  position: relative;
  padding-left: 3.5rem;
}
.p-accordion__content-inner::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.125rem 0 0.375rem;
  line-height: normal;
  color: #333;
  content: "A";
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}

@media only screen and (max-width: 767px) {
  .p-accordion__item {
    padding: 1rem 1.125rem;
  }
  .p-accordion__head-text {
    padding-left: 3rem;
  }
  .p-accordion__head-text::before {
    width: 2rem;
    height: 2rem;
    padding: 0.125rem 0 0.5rem;
  }
  .p-accordion__head-icon {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
  }
  .p-accordion__content {
    padding: 1rem 1.125rem;
    margin-top: 1rem;
  }
  .p-accordion__content-inner {
    padding-left: 3rem;
  }
  .p-accordion__content-inner::before {
    width: 2rem;
    height: 2rem;
    padding: 0.125rem 0 0.5rem;
  }
}
.p-anchor {
  padding: 3.25rem 1.5rem;
  background: #f7f7f7;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-anchor__scroll-target {
  scroll-margin-top: 120px;
}
.p-anchor__inner {
  width: 51.25rem;
  max-width: 100%;
  margin: 0 auto;
}
.p-anchor__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
  margin-top: 2.5rem;
}
.p-anchor__link {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-anchor__link {
    font-size: 1.125rem;
  }
}
.p-anchor__link::before {
  position: absolute;
  top: 50%;
  left: 0.3125rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: -0.75rem;
  content: "";
  background-color: #fff;
  border: 0.3125rem solid #fff;
  border-radius: 50%;
  outline: 0.125rem solid #333;
  transition: 0.3s linear background-color, 0.3s linear outline-color;
}
.p-anchor__link.is-active::before {
  background-color: #f44f1c;
  outline-color: #f44f1c;
}

@media only screen and (max-width: 767px) {
  .p-anchor {
    padding: 2rem 1.125rem;
  }
  .p-anchor__list {
    flex-direction: column;
    gap: 1rem 0;
    margin-top: 1.5rem;
  }
  .p-anchor__link {
    padding-left: 1.75rem;
  }
  .p-anchor__link::before {
    left: 0.125rem;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: -0.5625rem;
    border-width: 0.25rem;
  }
}
.p-banner {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 21.625rem;
  overflow: hidden;
  background: #fff;
  border-radius: 0.25rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-banner__img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 50rem;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-banner__img::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 60%;
  height: 100%;
  content: "";
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.p-banner__img img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  transform-origin: center;
  will-change: transform;
}
.p-banner__cont {
  position: relative;
  z-index: 2;
  padding: 4rem;
}
.p-banner__text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
}
.p-banner__text-sub {
  display: inline-block;
  margin: 0 0.25rem;
  font-size: 2.75rem;
  color: #f44f1c;
}
.p-banner__button {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  margin-top: 3rem;
}
@media (hover: hover) {
  .p-banner.--link:hover .p-banner__img img {
    transform: scale(1.08);
  }
  .p-banner.--link:hover .p-banner__button .c-button-sub {
    color: #f44f1c;
  }
  .p-banner.--link:hover .p-banner__button .c-button-sub::after {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}

@media all and (min-width: 768px), print {
  .p-banner.--strengths {
    justify-content: flex-end;
    height: 24.125rem;
  }
  .p-banner.--strengths .p-banner__img {
    right: auto;
    left: 0;
  }
  .p-banner.--strengths .p-banner__img::after {
    right: 0;
    left: auto;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  }
  .p-banner.--strengths .p-banner__cont {
    padding: 3rem;
  }
  .p-banner.--strengths .p-banner__text {
    font-size: 2.5rem;
  }
  .p-banner.--strengths .p-banner__text-sub {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-banner {
    flex-direction: column;
    min-height: inherit;
  }
  .p-banner__img {
    position: relative;
    top: inherit;
    right: inherit;
    width: 100%;
    max-width: 100%;
    height: 53.3333333333vw;
    overflow: hidden;
  }
  .p-banner__img::after {
    top: inherit;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  }
  .p-banner__cont {
    width: 100%;
    padding: 1rem 1.125rem 2rem;
  }
  .p-banner__text {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .p-banner__text-sub {
    margin: 0;
    font-size: 2rem;
  }
  .p-banner__button {
    margin-top: 2rem;
  }
  .p-banner.--strengths .p-banner__cont {
    padding: 0 0.25rem 1.5rem 0.625rem;
    margin-top: -1.25rem;
  }
}
.l-inner:has(> .p-breadline) {
  position: relative;
}

.p-breadline {
  position: absolute;
  inset-inline: 1.25rem;
  bottom: 4.375rem;
  z-index: 2;
}
.p-breadline__list {
  display: flex;
  align-items: flex-start;
}
.p-breadline__item {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-breadline__item {
    font-size: 1rem;
  }
}
.p-breadline__item a {
  margin-right: 0.75rem;
  color: #333;
  white-space: nowrap;
  transition: 0.3s;
}
.p-breadline__item a:hover {
  opacity: 0.7;
}
.p-breadline__item > span {
  color: #f44f1c;
  text-decoration: underline;
}
.p-breadline__item:last-child {
  display: block;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-breadline__divider {
  margin-right: 0.75rem;
}
.p-breadline__divider.com-icon.--arrow-right {
  color: #333;
  --icon-size: 1.25rem;
}

@media only screen and (max-width: 767px) {
  .p-breadline {
    inset-inline: 0.9375rem;
  }
  .p-breadline__divider.com-icon.--arrow-right {
    --icon-size: 1rem;
  }
}
.p-buttons {
  margin-top: 4.5rem;
}

@media only screen and (max-width: 767px) {
  .p-buttons {
    margin-top: 3rem;
  }
}
.p-card-01__img {
  aspect-ratio: 390/240;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-card-01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-card-01__img.--aspect-60-33 {
  aspect-ratio: 60/33;
}
.p-card-01__img.--radius-01 {
  overflow: hidden;
  border-radius: 0.0625rem;
}
.p-card-01__img.--no-boxshadow {
  box-shadow: none;
}
.p-card-01__cont {
  margin-top: 1.5rem;
}
.p-card-01__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
.p-card-01__text {
  margin-top: 1rem;
}
.p-card-01__text.--mt-lg {
  margin-top: 2rem;
}
.p-card-01__cat + .p-card-01__text {
  margin-top: 0;
}
.p-card-01.--link .p-card-01__img {
  overflow: hidden;
}
.p-card-01.--link .p-card-01__img img {
  transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  transform-origin: center;
  will-change: transform;
}
@media (hover: hover) {
  .p-card-01.--link:hover .p-card-01__img img {
    transform: scale(1.08);
  }
}

@media only screen and (max-width: 767px) {
  .p-card-01__cont {
    margin-top: 1rem;
  }
  .p-card-01__title {
    font-size: 1.3125rem;
  }
  .p-card-01__text {
    margin-top: 0.5rem;
  }
  .p-card-01__text.--mt-lg {
    margin-top: 1rem;
  }
}
.p-card-02 {
  height: 100%;
  padding: 2rem 2.5rem;
  border-radius: 0.0625rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-card-02__title {
  font-weight: 700;
  line-height: normal;
  color: #f44f1c;
}
.p-card-02__text {
  margin-top: 1rem;
}
.p-card-02.--recruit-works {
  background-color: #f7f7f7;
}
.p-card-02.--recruit-works .p-card-02__title {
  padding: 0.25rem 1.125rem;
  text-align: center;
  background: #fff;
  border: 0.0625rem solid #707070;
  border-radius: 0.125rem;
}
.p-card-02.--recruit-works .p-card-02__text {
  margin-top: 1.5rem;
}
.p-card-02.--recruit-benefits {
  display: flex;
  gap: 2rem;
  align-items: center;
  background-color: #fff;
}
.p-card-02.--recruit-benefits .p-card-02__img {
  flex-shrink: 0;
  width: 6.875rem;
  aspect-ratio: 1/1;
}
.p-card-02.--recruit-benefits .p-card-02__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: 1280px) {
  .p-card-02.--recruit-benefits {
    flex-direction: column;
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-card-02 {
    padding: 1.5rem 1.125rem;
  }
  .p-card-02__title {
    font-size: 1.3125rem;
  }
  .p-card-02__text {
    margin-top: 0.5rem;
  }
  .p-card-02.--recruit-works .p-card-02__text {
    margin-top: 1rem;
  }
  .p-card-02.--recruit-benefits .p-card-02__cont {
    width: 100%;
  }
}
.p-card-products__navs {
  display: flex;
  flex-direction: column;
}
.p-card-products__item {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: 0.9375rem 2rem;
  background: #fff;
  border-top: 0.125rem solid #707070;
}
.p-card-products__item:last-child {
  border-bottom: 0.125rem solid #707070;
}
.p-card-products__item-arrow {
  margin-left: auto;
}
.p-card-products__item.is-active {
  color: #f44f1c;
}
@media (hover: hover) {
  .p-card-products__item {
    transition: 0.3s linear all;
  }
  .p-card-products__item:hover {
    color: #f44f1c;
  }
  .p-card-products__item:hover .p-card-products__item-arrow {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}
.p-card-products__item-icon {
  flex-shrink: 0;
  width: 2.875rem;
  height: 2.875rem;
  background-color: currentcolor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-card-products__item-icon.--box-culvert {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45 14.9181L39.3461 6H7.32001L1 14.9181' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M21.5627 20.7439H7.21875V33.243H21.5627V20.7439Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M39.3308 20.7439H24.9868V33.243H39.3308V20.7439Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M1.06201 15.063V20.7437H4.21427V33.2428H1.06201V38.9999H44.9458L44.8684 33.2428H42.8314V20.7437H44.9381V15.063H1.06201Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.7041 20.7439L7.21875 31.2273' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.4351 20.7439L39.3309 31.3723' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45 14.9181L39.3461 6H7.32001L1 14.9181' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M21.5627 20.7439H7.21875V33.243H21.5627V20.7439Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M39.3308 20.7439H24.9868V33.243H39.3308V20.7439Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M1.06201 15.063V20.7437H4.21427V33.2428H1.06201V38.9999H44.9458L44.8684 33.2428H42.8314V20.7437H44.9381V15.063H1.06201Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.7041 20.7439L7.21875 31.2273' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.4351 20.7439L39.3309 31.3723' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
}
.p-card-products__item-icon.--l-shaped-wall {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M8 4.94872L24.0741 1L31.537 2.69231V33.7179L39 34.2821V41.0513L24.0741 45L8 40.4872V4.94872Z' stroke='%23707070'/%3E%3Cpath d='M24.074 1V45' stroke='%23707070'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M8 4.94872L24.0741 1L31.537 2.69231V33.7179L39 34.2821V41.0513L24.0741 45L8 40.4872V4.94872Z' stroke='%23707070'/%3E%3Cpath d='M24.074 1V45' stroke='%23707070'/%3E%3C/svg%3E");
}
.p-card-products__item-icon.--ditch {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M15.6855 4.28394L2 19.785L5.35868 42H26.2894L40.8129 25.4625L44 4.28394H39.6119L25.8209 20.0622L22.9967 37.8871L8.84273 37.7551L5.87336 19.9962L19.7832 4.28394H15.6855Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M2 19.7847L5.87336 19.9959' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M26.2893 42L30.0769 19.9962L43.9999 4.28394' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M25.8208 20.0624C25.9726 20.0954 30.0835 19.9963 30.0835 19.9963' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M8.84277 37.7551L22.9967 21.8052H25.5438' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M20.2056 4L22.9968 21.8051' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M15.6855 4.28394L2 19.785L5.35868 42H26.2894L40.8129 25.4625L44 4.28394H39.6119L25.8209 20.0622L22.9967 37.8871L8.84273 37.7551L5.87336 19.9962L19.7832 4.28394H15.6855Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M2 19.7847L5.87336 19.9959' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M26.2893 42L30.0769 19.9962L43.9999 4.28394' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M25.8208 20.0624C25.9726 20.0954 30.0835 19.9963 30.0835 19.9963' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M8.84277 37.7551L22.9967 21.8052H25.5438' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M20.2056 4L22.9968 21.8051' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
}
.p-card-products__item-icon.--concrete-block {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M16.7178 21.8704V27.3889H4.5V21.8704H16.7178Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M16.7178 33.2778V38.7964H4.5V33.2778H16.7178Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M22.5002 27.574V33.0925H10.2825V27.574H22.5002Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M22.5002 38.9814V44.5H10.2825V38.9814H22.5002Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 27.574V33.0925H22.6741V27.574H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 16.1667V21.6853H22.6741V16.1667H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M23.7357 8.11015L20.9366 12.8922L9.6433 6.46098L12.4424 1.67894L23.7357 8.11015Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 38.9814V44.5H22.6741V38.9814H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.1089 21.8704V27.3889H16.8911V21.8704H29.1089Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.1089 33.2778V38.7964H16.8911V33.2778H29.1089Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.5 21.8704V27.3889H29.2822V21.8704H41.5Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.5 33.2778V38.7964H29.2822V33.2778H41.5Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 27.574V33.0925H4.5V27.574H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 16.1667V21.6853H4.5V16.1667H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 38.9814V44.5H4.5V38.9814H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 27.574V33.0925H35.8914V27.574H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 16.1667V21.6853H35.8914V16.1667H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 38.9814V44.5H35.8914V38.9814H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M16.7178 21.8704V27.3889H4.5V21.8704H16.7178Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M16.7178 33.2778V38.7964H4.5V33.2778H16.7178Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M22.5002 27.574V33.0925H10.2825V27.574H22.5002Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M22.5002 38.9814V44.5H10.2825V38.9814H22.5002Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 27.574V33.0925H22.6741V27.574H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 16.1667V21.6853H22.6741V16.1667H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M23.7357 8.11015L20.9366 12.8922L9.6433 6.46098L12.4424 1.67894L23.7357 8.11015Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M35.718 38.9814V44.5H22.6741V38.9814H35.718Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.1089 21.8704V27.3889H16.8911V21.8704H29.1089Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.1089 33.2778V38.7964H16.8911V33.2778H29.1089Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.5 21.8704V27.3889H29.2822V21.8704H41.5Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.5 33.2778V38.7964H29.2822V33.2778H41.5Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 27.574V33.0925H4.5V27.574H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 16.1667V21.6853H4.5V16.1667H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.1084 38.9814V44.5H4.5V38.9814H10.1084Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 27.574V33.0925H35.8914V27.574H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 16.1667V21.6853H35.8914V16.1667H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M41.4998 38.9814V44.5H35.8914V38.9814H41.4998Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
}
.p-card-products__item-icon.--concrete-block02 {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0NiIgdmlld0JveD0iMCAwIDQ2IDQ2IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNNC4xODcyOCAxMy44NTRMMy42MzEwOSAxNS45ODZDNC4xMjU0NyAxNi4xNDA1IDUuMTMyNzYgMTYuODAxOCA1LjIwNjkyIDE4LjIxMDhDNS4yODEwOCAxOS42MTk4IDMuMzIyMDUgMjAuNjUxOCAyLjMzMzI3IDIwLjk5MTdMMS41OTE3MyAyNC4zMjg5QzEuNTE3NTcgMjUuNDQxMyAyLjM2NDIxIDI1LjcxOTQgMi43OTY4MSAyNS43MTk0SDcuMTUzNjNDNy4xNTM2MyAyNS4yMDAyIDcuNzA5ODIgMjQuOTQ2OSA3Ljk4NzkxIDI0Ljg4NTFIMTQuNDc2OEMxNC45MjE3IDI0LjgxMDkgMTUuMjgwMiAyNS4wMzk2IDE1LjQwMzggMjUuMTYzMkMxNS41NTIxIDI1LjY4MjMgMTYuMDgzNiAyNS44MTIxIDE2LjMzMDggMjUuODEyMUgyOS4yMTU4QzI5Ljg4MzMgMjUuODg2MiAzMC4yMzU1IDI1LjQ3MjIgMzAuMzI4MiAyNS4yNTU5QzMwLjQ3NjUgMjQuODg1MSAzMC44ODQ0IDI0Ljg1NDIgMzEuMDY5OCAyNC44ODUxSDM3Ljc0NDFDMzguNTU5OCAyNS4wMzM0IDM4LjcwMiAyNS41NjQ5IDM4LjY3MTEgMjUuODEyMUg0Mi4zNzlDNDQuMTU4OCAyNS44ODYyIDQ0LjI4OTUgMjQuNzMwNiA0NC4xMzIzIDI0LjE0MzVMNDMuMjEzMyAyMC43MTM2QzQyLjI4NjMgMjAuNDM1NSA0MC45ODg1IDE5LjYwMTMgNDAuNjE3NyAxOC4yMTA4QzQwLjMyMTEgMTcuMDk4NCA0MS40MjExIDE2LjIwMjMgNDIuMDA4MiAxNS44OTMzTDQxLjI2NjYgMTMuMjk3OEM0MS4xMTgzIDEyLjQwNzkgNDAuMDkyNCAxMi4wNjE4IDM5LjU5OCAxMkgzNi40NDYzQzM2LjI5OCAxMi4zNzA4IDM1Ljk1MTkgMTIuNTg3MSAzNS43OTc0IDEyLjY0ODlIMjkuODY0N0MyOS4yNzE1IDEyLjY0ODkgMjguOTM3NyAxMi4yMTYzIDI4Ljg0NSAxMkgyMy4yODMxTDIyLjgxOTYgMTIuMzcwOEwyMi40NDg5IDEySDE2Ljc5NDNDMTYuNzk0MyAxMi4yOTY2IDE2LjM2MTcgMTIuNTU2MiAxNi4xNDU0IDEyLjY0ODlIMTAuMTJDOS41MjY3MSAxMi42NDg5IDkuMzE2NTkgMTIuMjc4MSA5LjI4NTY5IDEyLjA5MjdINi4xMzM5NUM0Ljc5OTA5IDEyLjA5MjcgNC4yNzk5OCAxMy4yNjY5IDQuMTg3MjggMTMuODU0WiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTQuMTg3MiAxMy45NDY3QzMuODQ3MzEgMTMuODIzMSAzLjE0ODk4IDEzLjc5ODQgMy4wNzQ4MiAxNC42ODgzQzMuMDAwNjYgMTUuNTc4MiAzLjk3MDkgMTguMzk2MiA0LjQ2NTMgMTkuNjk0IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNDEuNDI1NSAxMy45NDYxQzQxLjc4NyAxMy44MjM4IDQyLjUyOTcgMTMuNzk5MyA0Mi42MDg2IDE0LjY3OTZDNDIuNjg3NSAxNS41NTk5IDQxLjg4NTQgMTguMjI0OSA0MS4zNTk2IDE5LjUwODYiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0xLjk2MjkgMjIuNDc0OEMxLjQ5OTQxIDIyLjQ0MzkgMC42ODM2NjEgMjIuNzM0NCAxLjEyODYxIDI0LjE0MzRDMS41NzM1NiAyNS41NTI0IDIuNjczNiAzMC4yMzA2IDMuMTY4IDMyLjM5MzVMNC43NDM4NyAzNC4zNDAySDkuNzQ5NThMMTAuMzA1OCAzMi43NjQzSDE2LjIzODVMMTYuNDIzOSAzNC4zNDAySDI5LjIxNjJMMjkuNDAxNiAzMi43NjQzSDM1LjMzNDNMMzUuODkwNSAzNC4zNDAySDQwLjk4ODlMNDIuNDcyMSAzMi43NjQzTDQ0Ljc4OTUgMjMuNDAxOEM0NC43NTg3IDIzLjEyMzcgNDQuNTExNSAyMi41ODYgNDMuNzY5OSAyMi42NjAyIiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNy4xNTM4MSAyNS43MTk1TDkuNzQ5MzYgMzQuMzQwNCIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTE1LjQwNDEgMjUuMTYzMUwxNi4yMzgzIDMyLjc2NDMiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0zMC40MjA4IDI1LjA3MDZMMjkuNDAxMSAzMi43NjQ1IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNMzguNjcxMyAyNS44MTJMMzUuODkwNCAzNC4zNDAzIiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNS4yMDcwMyAxOC4zMDM1SDE5LjExMTgiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yNi43MTI5IDE4LjMwMzVINDAuNjE3NiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTE1LjY4MTggMTIuNjQ4OUwxNC4zODQgMjQuODg1MSIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTI5Ljk1NzUgMTIuNjQ4OUwzMS4yNTUzIDI0Ljg4NTEiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yMi44MTk2IDI1LjgxMlYyMS4yNjk4IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNMjIuODE5NiAxMi4zNzA4VjE1Ljg5MzQiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yMi44MjAxIDE2LjIwNzhDMjMuODAyOSAxNi4yMDc4IDI0LjY3MTYgMTYuNDkzNCAyNS4yODIgMTYuOTI5NEMyNS44OTM0IDE3LjM2NjIgMjYuMjEzNiAxNy45MjQ1IDI2LjIxMzYgMTguNDg5QzI2LjIxMzUgMTkuMDUzNSAyNS44OTMzIDE5LjYxMTkgMjUuMjgyIDIwLjA0ODZDMjQuNjcxNiAyMC40ODQ1IDIzLjgwMjcgMjAuNzY5MiAyMi44MjAxIDIwLjc2OTNDMjEuODM3MiAyMC43NjkzIDIwLjk2NzcgMjAuNDg0NiAyMC4zNTcyIDIwLjA0ODZDMTkuNzQ1OSAxOS42MTE5IDE5LjQyNjYgMTkuMDUzNSAxOS40MjY1IDE4LjQ4OUMxOS40MjY1IDE3LjkyNDYgMTkuNzQ2IDE3LjM2NjEgMjAuMzU3MiAxNi45Mjk0QzIwLjk2NzcgMTYuNDkzNCAyMS44MzcyIDE2LjIwNzggMjIuODIwMSAxNi4yMDc4WiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPGVsbGlwc2UgY3g9IjEyLjcyNyIgY3k9IjMwLjM0MDUiIHJ4PSIxLjIxMzgzIiByeT0iMC44OTY2NzMiIHRyYW5zZm9ybT0icm90YXRlKDEwLjA2MDkgMTIuNzI3IDMwLjM0MDUpIiBmaWxsPSIjNzA3MDcwIi8+CiAgPGVsbGlwc2UgY3g9IjEuMjEzODMiIGN5PSIwLjg5NjY3MyIgcng9IjEuMjEzODMiIHJ5PSIwLjg5NjY3MyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTg0NjIzIDAuMTc0Njk1IDAuMTc0Njk1IDAuOTg0NjIzIDMzLjkyMzggMjkuMjQxNykiIGZpbGw9IiM3MDcwNzAiLz4KPC9zdmc+");
          mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0NiIgdmlld0JveD0iMCAwIDQ2IDQ2IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNNC4xODcyOCAxMy44NTRMMy42MzEwOSAxNS45ODZDNC4xMjU0NyAxNi4xNDA1IDUuMTMyNzYgMTYuODAxOCA1LjIwNjkyIDE4LjIxMDhDNS4yODEwOCAxOS42MTk4IDMuMzIyMDUgMjAuNjUxOCAyLjMzMzI3IDIwLjk5MTdMMS41OTE3MyAyNC4zMjg5QzEuNTE3NTcgMjUuNDQxMyAyLjM2NDIxIDI1LjcxOTQgMi43OTY4MSAyNS43MTk0SDcuMTUzNjNDNy4xNTM2MyAyNS4yMDAyIDcuNzA5ODIgMjQuOTQ2OSA3Ljk4NzkxIDI0Ljg4NTFIMTQuNDc2OEMxNC45MjE3IDI0LjgxMDkgMTUuMjgwMiAyNS4wMzk2IDE1LjQwMzggMjUuMTYzMkMxNS41NTIxIDI1LjY4MjMgMTYuMDgzNiAyNS44MTIxIDE2LjMzMDggMjUuODEyMUgyOS4yMTU4QzI5Ljg4MzMgMjUuODg2MiAzMC4yMzU1IDI1LjQ3MjIgMzAuMzI4MiAyNS4yNTU5QzMwLjQ3NjUgMjQuODg1MSAzMC44ODQ0IDI0Ljg1NDIgMzEuMDY5OCAyNC44ODUxSDM3Ljc0NDFDMzguNTU5OCAyNS4wMzM0IDM4LjcwMiAyNS41NjQ5IDM4LjY3MTEgMjUuODEyMUg0Mi4zNzlDNDQuMTU4OCAyNS44ODYyIDQ0LjI4OTUgMjQuNzMwNiA0NC4xMzIzIDI0LjE0MzVMNDMuMjEzMyAyMC43MTM2QzQyLjI4NjMgMjAuNDM1NSA0MC45ODg1IDE5LjYwMTMgNDAuNjE3NyAxOC4yMTA4QzQwLjMyMTEgMTcuMDk4NCA0MS40MjExIDE2LjIwMjMgNDIuMDA4MiAxNS44OTMzTDQxLjI2NjYgMTMuMjk3OEM0MS4xMTgzIDEyLjQwNzkgNDAuMDkyNCAxMi4wNjE4IDM5LjU5OCAxMkgzNi40NDYzQzM2LjI5OCAxMi4zNzA4IDM1Ljk1MTkgMTIuNTg3MSAzNS43OTc0IDEyLjY0ODlIMjkuODY0N0MyOS4yNzE1IDEyLjY0ODkgMjguOTM3NyAxMi4yMTYzIDI4Ljg0NSAxMkgyMy4yODMxTDIyLjgxOTYgMTIuMzcwOEwyMi40NDg5IDEySDE2Ljc5NDNDMTYuNzk0MyAxMi4yOTY2IDE2LjM2MTcgMTIuNTU2MiAxNi4xNDU0IDEyLjY0ODlIMTAuMTJDOS41MjY3MSAxMi42NDg5IDkuMzE2NTkgMTIuMjc4MSA5LjI4NTY5IDEyLjA5MjdINi4xMzM5NUM0Ljc5OTA5IDEyLjA5MjcgNC4yNzk5OCAxMy4yNjY5IDQuMTg3MjggMTMuODU0WiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTQuMTg3MiAxMy45NDY3QzMuODQ3MzEgMTMuODIzMSAzLjE0ODk4IDEzLjc5ODQgMy4wNzQ4MiAxNC42ODgzQzMuMDAwNjYgMTUuNTc4MiAzLjk3MDkgMTguMzk2MiA0LjQ2NTMgMTkuNjk0IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNDEuNDI1NSAxMy45NDYxQzQxLjc4NyAxMy44MjM4IDQyLjUyOTcgMTMuNzk5MyA0Mi42MDg2IDE0LjY3OTZDNDIuNjg3NSAxNS41NTk5IDQxLjg4NTQgMTguMjI0OSA0MS4zNTk2IDE5LjUwODYiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0xLjk2MjkgMjIuNDc0OEMxLjQ5OTQxIDIyLjQ0MzkgMC42ODM2NjEgMjIuNzM0NCAxLjEyODYxIDI0LjE0MzRDMS41NzM1NiAyNS41NTI0IDIuNjczNiAzMC4yMzA2IDMuMTY4IDMyLjM5MzVMNC43NDM4NyAzNC4zNDAySDkuNzQ5NThMMTAuMzA1OCAzMi43NjQzSDE2LjIzODVMMTYuNDIzOSAzNC4zNDAySDI5LjIxNjJMMjkuNDAxNiAzMi43NjQzSDM1LjMzNDNMMzUuODkwNSAzNC4zNDAySDQwLjk4ODlMNDIuNDcyMSAzMi43NjQzTDQ0Ljc4OTUgMjMuNDAxOEM0NC43NTg3IDIzLjEyMzcgNDQuNTExNSAyMi41ODYgNDMuNzY5OSAyMi42NjAyIiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNy4xNTM4MSAyNS43MTk1TDkuNzQ5MzYgMzQuMzQwNCIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTE1LjQwNDEgMjUuMTYzMUwxNi4yMzgzIDMyLjc2NDMiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0zMC40MjA4IDI1LjA3MDZMMjkuNDAxMSAzMi43NjQ1IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNMzguNjcxMyAyNS44MTJMMzUuODkwNCAzNC4zNDAzIiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNNS4yMDcwMyAxOC4zMDM1SDE5LjExMTgiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yNi43MTI5IDE4LjMwMzVINDAuNjE3NiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTE1LjY4MTggMTIuNjQ4OUwxNC4zODQgMjQuODg1MSIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPHBhdGggZD0iTTI5Ljk1NzUgMTIuNjQ4OUwzMS4yNTUzIDI0Ljg4NTEiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yMi44MTk2IDI1LjgxMlYyMS4yNjk4IiBzdHJva2U9IiM3MDcwNzAiLz4KICA8cGF0aCBkPSJNMjIuODE5NiAxMi4zNzA4VjE1Ljg5MzQiIHN0cm9rZT0iIzcwNzA3MCIvPgogIDxwYXRoIGQ9Ik0yMi44MjAxIDE2LjIwNzhDMjMuODAyOSAxNi4yMDc4IDI0LjY3MTYgMTYuNDkzNCAyNS4yODIgMTYuOTI5NEMyNS44OTM0IDE3LjM2NjIgMjYuMjEzNiAxNy45MjQ1IDI2LjIxMzYgMTguNDg5QzI2LjIxMzUgMTkuMDUzNSAyNS44OTMzIDE5LjYxMTkgMjUuMjgyIDIwLjA0ODZDMjQuNjcxNiAyMC40ODQ1IDIzLjgwMjcgMjAuNzY5MiAyMi44MjAxIDIwLjc2OTNDMjEuODM3MiAyMC43NjkzIDIwLjk2NzcgMjAuNDg0NiAyMC4zNTcyIDIwLjA0ODZDMTkuNzQ1OSAxOS42MTE5IDE5LjQyNjYgMTkuMDUzNSAxOS40MjY1IDE4LjQ4OUMxOS40MjY1IDE3LjkyNDYgMTkuNzQ2IDE3LjM2NjEgMjAuMzU3MiAxNi45Mjk0QzIwLjk2NzcgMTYuNDkzNCAyMS44MzcyIDE2LjIwNzggMjIuODIwMSAxNi4yMDc4WiIgc3Ryb2tlPSIjNzA3MDcwIi8+CiAgPGVsbGlwc2UgY3g9IjEyLjcyNyIgY3k9IjMwLjM0MDUiIHJ4PSIxLjIxMzgzIiByeT0iMC44OTY2NzMiIHRyYW5zZm9ybT0icm90YXRlKDEwLjA2MDkgMTIuNzI3IDMwLjM0MDUpIiBmaWxsPSIjNzA3MDcwIi8+CiAgPGVsbGlwc2UgY3g9IjEuMjEzODMiIGN5PSIwLjg5NjY3MyIgcng9IjEuMjEzODMiIHJ5PSIwLjg5NjY3MyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTg0NjIzIDAuMTc0Njk1IDAuMTc0Njk1IDAuOTg0NjIzIDMzLjkyMzggMjkuMjQxNykiIGZpbGw9IiM3MDcwNzAiLz4KPC9zdmc+");
}
.p-card-products__item-icon.--manhole {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M23.0002 42.298C33.6583 42.298 42.2983 33.658 42.2983 23C42.2983 12.3419 33.6583 3.7019 23.0002 3.7019C12.3422 3.7019 3.70215 12.3419 3.70215 23C3.70215 33.658 12.3422 42.298 23.0002 42.298Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M23 44C34.598 44 44 34.598 44 23C44 11.402 34.598 2 23 2C11.402 2 2 11.402 2 23C2 34.598 11.402 44 23 44Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.4453 8.32349H35.4758' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.5242 37.6768H35.4692' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M6.69971 12.5461H39.1931' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M6.82788 33.4963H39.1504' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M4.70557 16.7266H41.2793' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M4.70557 29.3877H41.2295' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M3.78027 20.9634H42.1984' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M3.80176 25.0579H42.2127' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M8.32324 35.5544V10.5239' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M37.6763 35.469V10.531' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M12.5383 39.3V6.80664' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M33.4888 39.1721V6.84253' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M16.7192 41.294V4.71313' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.3801 41.2868V4.77002' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M20.9629 42.2196V3.80151' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M25.0505 42.1984V3.78027' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Cpath d='M23.0002 42.298C33.6583 42.298 42.2983 33.658 42.2983 23C42.2983 12.3419 33.6583 3.7019 23.0002 3.7019C12.3422 3.7019 3.70215 12.3419 3.70215 23C3.70215 33.658 12.3422 42.298 23.0002 42.298Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M23 44C34.598 44 44 34.598 44 23C44 11.402 34.598 2 23 2C11.402 2 2 11.402 2 23C2 34.598 11.402 44 23 44Z' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.4453 8.32349H35.4758' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M10.5242 37.6768H35.4692' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M6.69971 12.5461H39.1931' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M6.82788 33.4963H39.1504' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M4.70557 16.7266H41.2793' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M4.70557 29.3877H41.2295' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M3.78027 20.9634H42.1984' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M3.80176 25.0579H42.2127' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M8.32324 35.5544V10.5239' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M37.6763 35.469V10.531' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M12.5383 39.3V6.80664' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M33.4888 39.1721V6.84253' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M16.7192 41.294V4.71313' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M29.3801 41.2868V4.77002' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M20.9629 42.2196V3.80151' stroke='%23707070' stroke-miterlimit='10'/%3E%3Cpath d='M25.0505 42.1984V3.78027' stroke='%23707070' stroke-miterlimit='10'/%3E%3C/svg%3E");
}
.p-card-products__item-icon.--other {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Crect x='3.5' y='3.5' width='39' height='39' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46' fill='none'%3E%3Crect x='3.5' y='3.5' width='39' height='39' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='7.78564' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='19.2144' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='7.78564' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='19.2144' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3Crect x='30.6431' y='30.6428' width='7.57143' height='7.57143' rx='0.5' stroke='%23707070'/%3E%3C/svg%3E");
}

@media all and (min-width: 768px), print {
  .p-card-products {
    display: flex;
    gap: 4rem;
    align-items: stretch;
    justify-content: space-between;
  }
  .p-card-products__visual {
    position: relative;
    display: block;
    width: calc(50% + 3.25rem);
    overflow: hidden;
    background: linear-gradient(144deg, rgba(255, 255, 255, 0.8) 8.6%, rgba(227, 227, 227, 0.8) 89.41%);
    border-radius: 0.25rem;
  }
  .p-card-products__image {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    opacity: 0;
    transition: opacity 0.6s ease, transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: scale(1.06);
  }
  .p-card-products__image-inner {
    max-width: 31.875rem;
    aspect-ratio: 209/159;
  }
  .p-card-products__image-inner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .p-card-products__image.is-active {
    z-index: 2;
    opacity: 1;
    transform: scale(1);
  }
  .p-card-products__navs {
    width: calc(50% + 5.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-card-products__visual {
    display: none;
  }
  .p-card-products__item {
    padding: 0.875rem 1rem;
  }
  .p-card-products__item-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@keyframes rotate-slow {
  0% {
    transform: scale(1) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(360deg);
  }
}
.p-card-recruitment {
  position: relative;
  display: block;
  height: 27.5rem;
  overflow: hidden;
  font-weight: 700;
  color: #fff;
  border-radius: 0.125rem;
  --diagonal: 5rem;
}
.p-card-recruitment__images {
  position: relative;
  height: 100%;
}
.p-card-recruitment__img {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.p-card-recruitment__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  transform-origin: center;
  will-change: transform;
}
.p-card-recruitment__img.--left {
  top: 0;
  right: auto;
  left: 0;
  width: calc(50% + 2.5rem);
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--diagonal)) 100%, 0 100%);
}
.p-card-recruitment__img.--right {
  top: 0;
  right: 0;
  left: auto;
  width: calc(50% + 2.5rem);
  clip-path: polygon(var(--diagonal) 0, 100% 0, 100% 100%, 0% 100%);
}
.p-card-recruitment__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.6) 0%, rgba(51, 51, 51, 0.6) 100%);
  transition: 0.3s linear all;
}
.p-card-recruitment__title {
  font-size: 3.5rem;
  line-height: 1.5;
}
.p-card-recruitment__sub {
  font-size: 2.5rem;
  line-height: 1.45;
}
.p-card-recruitment__button {
  margin-top: 2rem;
  color: #fff;
  pointer-events: none;
}
.p-card-recruitment.--no-link {
  pointer-events: none;
}
@media (hover: hover) {
  .p-card-recruitment:hover .p-card-recruitment__img img {
    transform: scale(1.08);
  }
  .p-card-recruitment:hover .p-card-recruitment__content {
    background: linear-gradient(0deg, rgba(51, 51, 51, 0.8) 0%, rgba(51, 51, 51, 0.8) 100%);
  }
  .p-card-recruitment:hover .p-card-recruitment__button {
    color: #f44f1c;
  }
  .p-card-recruitment:hover .p-card-recruitment__button::after {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}

@media only screen and (max-width: 767px) {
  .p-card-recruitment {
    height: 91.2vw;
    --diagonal: 1.5rem;
  }
  .p-card-recruitment__img.--left {
    bottom: unset;
    width: 100%;
    height: calc(50% + 0.75rem);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--diagonal)), 0 100%);
  }
  .p-card-recruitment__img.--right {
    top: unset;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(50% + 0.75rem);
    clip-path: polygon(0 var(--diagonal), 100% 0, 100% 100%, 0 100%);
  }
  .p-card-recruitment__content {
    padding: 0 0.5rem;
    background: linear-gradient(0deg, rgba(51, 51, 51, 0.5) 0%, rgba(51, 51, 51, 0.5) 100%);
  }
  .p-card-recruitment__title {
    font-size: 1.75rem;
    line-height: 1.35;
  }
  .p-card-recruitment__sub {
    margin-top: 0.375rem;
    font-size: 1.5rem;
    line-height: 1.33;
  }
  .p-card-recruitment__button {
    margin-top: 1.5rem;
  }
}
.p-column {
  display: flex;
  gap: 4rem;
  align-items: center;
}
.p-column + .p-column {
  margin-top: 4.5rem;
}
.p-column.--reserve {
  flex-direction: row-reverse;
}
.p-column.--align-top {
  align-items: flex-start;
}
.p-column__img {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 620/380;
}
.p-column__img.--ratio-1-1 {
  aspect-ratio: 1/1;
}
.p-column__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-column__cont {
  flex-grow: 1;
}
.p-column__title {
  margin-bottom: 1.5rem;
}
.p-column__button {
  margin-top: 2rem;
}
.p-column__button.--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}
.p-column__meta {
  display: flex;
  gap: 2.5rem;
}
.p-column__info {
  padding: 0.1875rem 2rem;
  background: #fff;
  border: 0.0625rem solid #f44f1c;
  border-radius: 0.0625rem;
}

@media only screen and (max-width: 767px) {
  .p-column {
    display: block;
  }
  .p-column + .p-column {
    margin-top: 3rem;
  }
  .p-column__img {
    width: 100%;
  }
  .p-column__cont {
    margin-top: 1.5rem;
  }
  .p-column__title {
    margin-bottom: 1rem;
  }
  .p-column__button {
    margin-top: 1.5rem;
  }
  .p-column__button.--flex {
    gap: 0.5rem;
  }
  .p-column__meta {
    gap: 1.0625rem;
  }
  .p-column__info {
    padding: 0.25rem 1.125rem;
  }
}
.p-fixed-download {
  position: fixed;
  right: 4rem;
  bottom: 1.5rem;
  z-index: 10;
  display: flex;
  gap: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-fixed-download {
    right: 0;
    bottom: 0.5rem;
    gap: 0.5rem;
    width: 100%;
    padding: 0 0.75rem;
    opacity: 0;
    transition: 0.3s;
  }
  .p-fixed-download.is-fixed {
    opacity: 1;
  }
  .p-fixed-download .c-button-download {
    width: calc(50% - 0.25rem);
  }
}
.p-history {
  padding-left: 16.25rem;
}
.p-history__item {
  position: relative;
  padding-left: 7.5rem;
}
.p-history__item::before {
  position: absolute;
  top: 2.5rem;
  bottom: -2.5rem;
  left: 3.75rem;
  width: 0.25rem;
  content: "";
  background: #707070;
}
.p-history__item:first-child .p-history__event-head {
  border-top: 0.125rem solid #707070;
}
.p-history__item:last-child::before {
  content: none;
}
.p-history__year {
  position: absolute;
  top: 50%;
  left: -23.75rem;
  width: 16.25rem;
  padding: 0.5rem 0 0.5rem 1rem;
  font-weight: 700;
  line-height: normal;
  color: #f44f1c;
  background: #f7f7f7;
  box-shadow: 0 0 0.125rem 0 rgba(51, 51, 51, 0.25);
  transform: translateY(-50%);
}
.p-history__year-main {
  font-size: 2rem;
}
.p-history__event-head {
  position: relative;
}
.p-history__event-head::after {
  position: absolute;
  top: 50%;
  left: -4.5rem;
  z-index: 2;
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background: #404040;
  border-radius: 50%;
  outline: 0.5rem solid #fff;
  transform: translateY(-50%);
}
.p-history__event {
  display: flex;
  gap: 2rem;
  align-items: center;
  padding: 1.5rem 1rem;
  border-bottom: 0.125rem solid #707070;
}
.p-history__month {
  width: 2.875rem;
}
.p-history__text {
  flex: 1;
}

@media only screen and (max-width: 767px) {
  .p-history {
    padding-left: 0;
  }
  .p-history__item {
    padding-left: 0;
    margin-bottom: 2rem;
  }
  .p-history__item::before {
    content: none;
  }
  .p-history__item:first-child .p-history__event-head {
    border-top: none;
  }
  .p-history__item:last-child {
    margin-bottom: 0;
  }
  .p-history__year {
    position: relative;
    top: unset;
    left: unset;
    display: inline-block;
    width: auto;
    margin-bottom: 1rem;
    transform: unset;
  }
  .p-history__year-main {
    font-size: 0.9375rem;
  }
  .p-history__event-head::after {
    content: none;
  }
  .p-history__event-head .p-history__event {
    border-top: 0.0625rem solid #707070;
  }
  .p-history__event {
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem;
    border-bottom-width: 0.0625rem;
  }
  .p-history__month {
    width: 2.875rem;
  }
}
.p-box {
  padding: 2.5rem 3rem;
  background: #f7f7f7;
  border-radius: 0.0625rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-box.--sub {
  padding: 2rem 3rem;
  border-top: 0.0625rem solid #707070;
  border-bottom: 0.0625rem solid #707070;
  box-shadow: none;
}
.p-box.--white {
  padding: 3rem;
  background: #fff;
  border-top: 0.0625rem solid #707070;
  border-bottom: 0.0625rem solid #707070;
  box-shadow: none;
}
.p-box.--white .p-box {
  box-shadow: none;
}
.p-box.--sm {
  padding: 1.5rem 1.25rem;
}
.p-box.--sm-white {
  padding: 1.5rem 1.25rem;
  background: #fff;
}
.p-box + .p-box {
  margin-top: 2.5rem;
}
.p-box__title-sub {
  display: inline-block;
  min-height: 3rem;
  padding: 0 1.5rem;
  margin-right: 2rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 2rem;
  color: #fff;
  white-space: nowrap;
  background: #f44f1c;
  border-radius: 0.0625rem;
}
.p-box__title-txt {
  margin-right: 0.625rem;
  font-size: 1.625rem;
}
.p-box__text {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .p-box {
    padding: 1.5rem 1rem;
  }
  .p-box.--sub {
    padding: 1.5rem 1.125rem;
  }
  .p-box.--white {
    padding: 1.5rem 1.125rem;
  }
  .p-box.--sm {
    padding: 1.5rem 1.125rem;
  }
  .p-box__title-sub {
    min-height: 2.5rem;
    padding: 0 0.75rem;
    margin-right: 1rem;
    font-size: 1.5rem;
  }
  .p-box__title-txt {
    font-size: 1.125rem;
  }
  .p-box__text {
    margin-top: 1rem;
  }
}

.p-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
.p-grid.--repeat-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
.p-grid.--repeat-2 .p-grid__img {
  aspect-ratio: 600/330;
  margin-top: 2rem;
}
.p-grid.--repeat-2 .p-grid__cont {
  margin-top: 2rem;
}
.p-grid.--repeat-2 .p-grid__text {
  margin-top: 1.5rem;
}
.p-grid.--repeat-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 2.1875rem;
}
.p-grid__img {
  flex-shrink: 0;
  aspect-ratio: 390/240;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-grid__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-grid__cont {
  margin-top: 1.5rem;
}
.p-grid__text {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .p-grid.--repeat-2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  .p-grid.--repeat-3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .p-grid__cont {
    margin-top: 1rem;
  }
  .p-grid__text {
    margin-top: 0.5rem;
  }
}

.p-table {
  width: 100%;
}
.p-table__th {
  padding: 1rem 1.5rem;
  font-weight: bold;
  color: #fff;
  vertical-align: middle;
  background: #404040;
  border: 0.0625rem solid #707070;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-table__th {
    font-size: 1rem;
  }
}
.p-table__th.--w-percent25 {
  width: 25%;
}
.p-table__th.--w-percent30 {
  width: 30%;
}
.p-table__td {
  padding: 1rem 1.5rem;
  background: #fff;
  border: 0.0625rem solid #707070;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.77;
}
@media only screen and (max-width: 767px) {
  .p-table__td {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-table__th {
    display: block;
    width: 100% !important;
    padding: 0.75rem 1rem;
    border: none;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-table__td {
    display: block;
    width: 100% !important;
    padding: 0.75rem 1rem;
  }
}
.p-mainvisual {
  width: 100%;
}
.p-mainvisual__container {
  position: relative;
}
.p-mainvisual__swiper {
  height: 100vh;
}
.p-mainvisual__swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: scale(1.15);
}
.p-mainvisual__swiper .swiper-slide.is-zoom img {
  animation: slideZoom 6s linear forwards;
}
.p-mainvisual__catch {
  position: absolute;
  bottom: 4rem;
  left: 8.4375vw;
  z-index: 2;
  max-width: 65.625rem;
  width: 54.6875vw;
}
.p-mainvisual__sns {
  position: absolute;
  bottom: 4.8125rem;
  left: 3.3333333333vw;
  z-index: 2;
  display: inline-flex;
  flex-direction: column;
  gap: 1rem;
}
@media (hover: hover) {
  .p-mainvisual__sns-link {
    transition: 0.3s linear opacity;
  }
  .p-mainvisual__sns-link:hover {
    opacity: 0.7;
  }
}
.p-mainvisual__news {
  border-bottom: 0.0625rem solid #707070;
}
.p-mainvisual__news .p-news__item {
  border-top: none;
}
.p-mainvisual__news .p-news__item:last-child {
  border-bottom: none;
}
.p-mainvisual__news .p-news__link {
  padding: 1.25rem 8.2291666667vw;
  font-weight: 700;
}
.p-mainvisual__news .p-news__link-head {
  font-size: 1.3125rem;
  font-weight: 700;
  padding: 0.625rem 1rem;
  margin-right: 2rem;
  color: #f44f1c;
  background: #fff;
  border: 0.0625rem solid #707070;
  border-radius: 0.125rem;
}
@media only screen and (max-width: 767px) {
  .p-mainvisual__news .p-news__link-head {
    font-size: 1rem;
  }
}
.p-mainvisual__news .p-news__link-cat {
  min-width: 6.25rem;
  padding: 0.5rem 0.875rem;
  margin-right: 2rem;
  font-weight: 700;
  background: #f7f7f7;
  border: 0.0625rem solid #707070;
}
.p-mainvisual__news .p-news__link-title {
  font-weight: 700;
}

@media only screen and (max-width: 1280px) {
  .p-mainvisual__news .p-news__link {
    flex-wrap: wrap;
    padding: 1.25rem;
  }
  .p-mainvisual__news .p-news__link-title {
    flex: unset;
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainvisual__swiper {
    height: calc(100vh - 4.25rem);
    max-height: 37.5rem;
  }
  .p-mainvisual__catch {
    bottom: 3rem;
    left: 0.9375rem;
    width: auto;
  }
  .p-mainvisual__sns {
    right: 0.9375rem;
    bottom: 0.75rem;
    left: inherit;
    flex-direction: row;
    gap: 1rem;
  }
  .p-mainvisual__news .p-news__item {
    border-top: none;
  }
  .p-mainvisual__news .p-news__item:last-child {
    border-bottom: none;
  }
  .p-mainvisual__news .p-news__link {
    padding: 1.5rem 0.9375rem 2rem;
  }
  .p-mainvisual__news .p-news__link-head {
    padding: 0.5rem 0.75rem;
    margin-right: 1.5rem;
  }
  .p-mainvisual__news .p-news__link-day {
    margin-right: 0.625rem;
  }
  .p-mainvisual__news .p-news__link-cat {
    min-width: 4.25rem;
    padding: 0.375rem 0.625rem;
    margin-right: 0;
  }
}
.p-news__item {
  border-top: 0.125rem solid #707070;
}
.p-news__item:last-child {
  border-bottom: 0.125rem solid #707070;
}
.p-news__link {
  display: flex;
  align-items: center;
  padding: 1.75rem 1.125rem 1.75rem 1.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: 1.5rem;
  white-space: nowrap;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.77;
}
@media only screen and (max-width: 767px) {
  .p-news__link-day {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-news__link-cat {
  display: inline-block;
  min-width: 6.5rem;
  padding: 0.625rem 1.25rem;
  margin-right: 1.5rem;
  white-space: nowrap;
  background: #fff;
  border-radius: 999rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  .p-news__link-cat {
    font-size: 0.875rem;
  }
}
.p-news__link-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.77;
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .p-news__link-title {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-news__link-new {
  margin-right: 2rem;
  color: #f44f1c;
  white-space: nowrap;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-news__link-new {
    font-size: 1rem;
  }
}
.p-news__button {
  margin-top: 3.75rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-news__link {
    flex-wrap: wrap;
    padding: 1.5rem 0;
  }
  .p-news__link-new {
    margin-right: 1.5rem;
  }
  .p-news__link-day {
    margin-right: 1rem;
  }
  .p-news__link-cat {
    min-width: 5.25rem;
    padding: 0.3125rem 0.875rem;
    margin-right: 0;
  }
  .p-news__link-title {
    flex: unset;
    width: 100%;
    margin-top: 1rem;
  }
  .p-news__button {
    text-align: center;
  }
}
.p-pagetitle {
  position: relative;
  z-index: 2;
  padding: 8.25rem 0 4.5625rem;
  background: url("../images/common/bg_pagetitle.png") no-repeat center bottom/cover;
  border-top: 0.0625rem solid #707070;
}
.p-pagetitle__path.--01 {
  top: 6.8125rem;
  left: -0.9375vw;
  width: 8.8541666667vw;
}
.p-pagetitle__path.--02 {
  top: 6.8125rem;
  left: 28.1770833333vw;
  width: 8.3333333333vw;
}
.p-pagetitle__path.--03 {
  bottom: 4.25rem;
  left: 24.0104166667vw;
  width: 14.5833333333vw;
}
.p-pagetitle__inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  width: 107.5rem;
  max-width: 100%;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.p-pagetitle__img {
  width: calc(50% + 10.9375vw);
  height: 21rem;
  background: #c8c8c8 no-repeat center/cover;
  border-radius: 999rem;
}
.p-pagetitle__title {
  width: calc(50% - 10.9375vw);
  max-width: 34.375rem;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 700;
  line-height: normal;
  color: #333;
}

@media only screen and (max-width: 767px) {
  .p-pagetitle {
    padding: 1.5rem 0 10.625rem;
  }
  .p-pagetitle__path.--01 {
    top: 12.625rem;
    left: calc(100% - 6.625rem);
    width: 5rem;
  }
  .p-pagetitle__path.--02 {
    display: none;
  }
  .p-pagetitle__path.--03 {
    bottom: 2.875rem;
    left: calc(100% - 11.5rem);
    width: 9.375rem;
  }
  .p-pagetitle__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 0.9375rem;
  }
  .p-pagetitle__img {
    width: 100%;
    height: 9.125rem;
  }
  .p-pagetitle__title {
    width: 100%;
    max-width: 100%;
    margin-top: 2rem;
    font-size: 2.5rem;
  }
}
body.products .p-pagetitle__img,
body.products-single .p-pagetitle__img {
  background-image: url("../images/products/im-pagetitle.jpg");
}

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

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

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

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

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

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

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

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

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

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

body.news .p-pagetitle__img,
body.news-single .p-pagetitle__img {
  background-image: url("../images/news/im-pagetitle.jpg");
}

.p-pagination {
  margin-top: 9rem;
  text-align: center;
}
.p-pagination__list {
  display: inline-flex;
  gap: 1.5rem;
  align-items: center;
}
.p-pagination__item > span:not(.c-button),
.p-pagination__item > a:not(.c-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.625rem;
  height: 3.625rem;
  background-color: #fff;
  border-radius: 0.0625rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-pagination__item > span:not(.c-button),
  .p-pagination__item > a:not(.c-button) {
    font-size: 1.125rem;
  }
}
@media (hover: hover) {
  .p-pagination__item > a:not(.c-button) {
    transition: 0.3s linear all;
  }
  .p-pagination__item > a:not(.c-button):hover {
    color: #fff;
    background-color: #404040;
  }
}
.p-pagination__item > span:not(.c-button) {
  color: #fff;
  background-color: #404040;
}
.p-pagination__item.--more {
  display: flex;
  align-items: flex-end;
  height: 3.625rem;
}
.p-pagination__item.--prev {
  margin-right: 1.5rem;
}
.p-pagination__item.--next {
  margin-left: 1.5rem;
}
.p-pagination__more::after {
  display: block;
  width: 2.5rem;
  height: 0.5rem;
  content: "";
  background: #333;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='40' height='8' viewBox='0 0 40 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' r='4' fill='%23404040'/%3E%3Ccircle cx='20' cy='4' r='4' fill='%23404040'/%3E%3Ccircle cx='36' cy='4' r='4' fill='%23404040'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='40' height='8' viewBox='0 0 40 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' r='4' fill='%23404040'/%3E%3Ccircle cx='20' cy='4' r='4' fill='%23404040'/%3E%3Ccircle cx='36' cy='4' r='4' fill='%23404040'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center bottom;
          mask-position: center bottom;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media only screen and (max-width: 1280px) {
  .p-pagination__item.--prev, .p-pagination__item.--next {
    margin: 0;
  }
  .p-pagination__item.--prev .c-button, .p-pagination__item.--next .c-button {
    --btn-border: #404040;
    --icon-bg: #404040;
    --icon-color: #fff;
    gap: 0;
    width: inherit;
    min-width: inherit;
    min-height: inherit;
    padding: 0;
    overflow: hidden;
    font-size: 0;
    color: transparent;
    text-indent: 110%;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagination {
    margin-top: 4rem;
  }
  .p-pagination__list {
    gap: 0.75rem;
  }
  .p-pagination__item > span:not(.c-button),
  .p-pagination__item > a:not(.c-button) {
    width: 2.1875rem;
    height: 2.25rem;
  }
  .p-pagination__item.--more {
    height: 2.25rem;
  }
  .p-pagination__item.--prev .c-button, .p-pagination__item.--next .c-button {
    --arrow-size: 1.125rem;
    --icon-width: 3rem;
    --icon-height: 2rem;
  }
  .p-pagination__more::after {
    width: 1.5rem;
    height: 0.25rem;
  }
}
.p-philosophy {
  position: relative;
  min-height: 40.3125rem;
}
.p-philosophy__images {
  position: absolute;
  left: calc(50% + 7.375rem);
  width: 50vw;
  height: 100%;
}
.p-philosophy__images-item {
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  aspect-ratio: 1/1;
  padding: 1.5rem 0;
}
.p-philosophy__images-item.--01 {
  top: -4.1666666667vw;
  width: 21.7708333333vw;
}
.p-philosophy__images-item.--01 .p-philosophy__img-caption {
  margin-right: 2.2916666667vw;
}
.p-philosophy__images-item.--02 {
  top: 12.1354166667vw;
  left: 19.4270833333vw;
  width: 18.125vw;
}
.p-philosophy__images-item.--03 {
  top: 20.5729166667vw;
  left: -1.25vw;
  width: 19.0104166667vw;
}
.p-philosophy__img {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
.p-philosophy__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-philosophy__img-caption {
  position: relative;
  z-index: 2;
  padding: 0 1rem;
  margin-left: -1rem;
  font-size: clamp(1rem, 1.5vw, 1.5rem);
  white-space: nowrap;
  background: #f7f7f7;
}
.p-philosophy__content {
  width: calc(50% + 6.875rem);
}
.p-philosophy__text {
  margin-top: 3rem;
}
.p-philosophy__title-sub {
  font-size: 4rem;
  color: #f44f1c;
}

@media only screen and (max-width: 1280px) {
  .p-philosophy__images {
    left: calc(62% + 0.5rem);
  }
  .p-philosophy__content {
    width: 62%;
  }
}
@media only screen and (max-width: 767px) {
  .p-philosophy__images {
    position: relative;
    left: unset;
    width: 100%;
    height: 106.6666666667vw;
    margin: 0 auto;
  }
  .p-philosophy__images-item {
    padding: 1rem 0;
  }
  .p-philosophy__images-item.--01 {
    top: 0;
    width: 53.3333333333vw;
  }
  .p-philosophy__images-item.--01 .p-philosophy__img-caption {
    margin-right: 6.4vw;
  }
  .p-philosophy__images-item.--02 {
    top: 40vw;
    left: 42.6666666667vw;
    width: 45.8666666667vw;
  }
  .p-philosophy__images-item.--03 {
    top: 58.6666666667vw;
    left: -3.2vw;
    width: 48vw;
  }
  .p-philosophy__img-caption {
    padding: 0.25rem 0.75rem;
    margin-left: -0.5rem;
  }
  .p-philosophy__content {
    width: 100%;
    margin-top: 2rem;
  }
  .p-philosophy__text {
    margin-top: 1.5rem;
  }
  .p-philosophy__title-sub {
    font-size: 2.5rem;
  }
}
.p-point {
  height: 100%;
  padding: 1rem 1rem 2rem;
  text-align: center;
  background-color: #fff;
  border-radius: 0.0625rem;
}
.p-point__title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-bottom: 0.25rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  background-color: #f44f1c;
}
.p-point__title-num {
  margin-left: 0.75rem;
  font-size: 2.5rem;
  line-height: 1;
}
.p-point__icon {
  width: 7.75rem;
  aspect-ratio: 1/1;
  margin: 1.5rem auto;
}
.p-point__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .p-point {
    height: inherit;
    padding: 1.125rem 1.125rem 2rem;
    border-radius: 0.125rem;
  }
  .p-point__title {
    font-size: 1.5rem;
  }
  .p-point__title-num {
    margin-left: 0.625rem;
    font-size: 2rem;
  }
  .p-point__icon {
    width: 7.375rem;
    margin: 1.125rem auto 1.5rem;
  }
}
.p-recruit-data {
  width: 100%;
  height: 100%;
  padding: 1.25rem 1.5rem;
  background-color: #fff;
  border: 0.125rem solid #707070;
  border-radius: 0.25rem;
}
.p-recruit-data__title {
  padding: 0.375rem 1.25rem;
  margin-bottom: 1rem;
  color: #fff;
  text-align: center;
  background: #f44f1c;
  border-radius: 0.0625rem;
}
.p-recruit-data__text {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.p-recruit-data__text-number {
  font-size: 4.5rem;
}
.p-recruit-data__img {
  width: 6.5rem;
  aspect-ratio: 1/1;
  margin: 1rem auto 0;
}
.p-recruit-data__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-recruit-data.--style-01 .p-recruit-data__cont {
  display: flex;
  gap: 1.25rem;
  align-items: flex-end;
  margin-top: 1.875rem;
}
.p-recruit-data.--style-01 .p-recruit-data__text {
  font-size: 2rem;
  text-align: left;
}
.p-recruit-data.--style-01 .p-recruit-data__text-number {
  font-size: 3.75rem;
}
.p-recruit-data.--style-01 .p-recruit-data__text-column {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.p-recruit-data.--style-01 .p-recruit-data__img {
  flex-shrink: 0;
  width: 5.625rem;
}
.p-recruit-data.--style-02 {
  padding-bottom: 0.75rem;
}
.p-recruit-data.--style-02 .p-recruit-data__cont {
  position: relative;
  margin: 0.625rem 0 0;
}
.p-recruit-data.--style-02 .p-recruit-data__img {
  width: 100%;
  max-width: 20rem;
  aspect-ratio: 320/221;
}
.p-recruit-data.--style-02 .p-recruit-data__img img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-recruit-data.--style-02 .p-recruit-data__text {
  position: absolute;
  right: 0;
  bottom: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .p-recruit-data {
    padding: 1.125rem 1.125rem 1.5rem;
  }
  .p-recruit-data.--style-01 .p-recruit-data__cont {
    flex-direction: column;
    align-items: center;
  }
  .p-recruit-data.--style-02 .p-recruit-data__cont {
    position: static;
    margin: 1rem 0 0;
  }
  .p-recruit-data.--style-02 .p-recruit-data__text {
    position: static;
    text-align: right;
  }
}
.p-scroll-top {
  position: absolute;
  right: 6.25vw;
  bottom: 7.875rem;
}
.p-scroll-top__button {
  display: inline-flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  color: #fff;
  white-space: nowrap;
  cursor: pointer;
  border: none;
}
.p-scroll-top__button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.875rem;
  height: 2.625rem;
  color: #333;
  background: #fff;
  border-radius: 999rem;
  transform: rotate(-90deg);
}
.p-scroll-top__button-icon .com-icon {
  --icon-size: 1.5rem;
}
@media (hover: hover) {
  .p-scroll-top__button:hover .p-scroll-top__button-icon {
    color: #f44f1c;
  }
  .p-scroll-top__button:hover .p-scroll-top__button-icon .com-icon {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}

@media only screen and (max-width: 767px) {
  .p-scroll-top {
    right: 0.9375rem;
    bottom: 5rem;
  }
  .p-scroll-top__button-icon {
    width: 3rem;
    height: 2.25rem;
  }
  .p-scroll-top__button-icon .com-icon {
    --icon-size: 1.125rem;
  }
}
.p-section-title-h1 {
  margin-bottom: 4rem;
}
.p-section-title-h1:not(:first-child) {
  margin-top: 9rem;
}

.p-section-title-h2 {
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}

.p-section-title-h3 {
  margin-top: 3.75rem;
  margin-bottom: 1.75rem;
}

@media only screen and (max-width: 767px) {
  .p-section-title-h1 {
    margin-bottom: 2.5rem;
  }
  .p-section-title-h1:not(:first-child) {
    margin-top: 4rem;
  }
  .p-section-title-h2 {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
  .p-section-title-h3 {
    margin-top: 1.75rem;
    margin-bottom: 1rem;
  }
}
.p-strengths-service {
  display: flex;
  gap: 2rem;
  align-items: stretch;
}
.p-strengths-service__item {
  width: calc((100% - 6rem) / 4);
  padding: 2.5rem 0.625rem;
  background: #fff;
  border: 0.125rem solid #707070;
}
.p-strengths-service__img {
  width: 100%;
  max-width: 9.25rem;
  margin: 0 auto;
}
.p-strengths-service__text {
  margin-top: 1.5rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-strengths-service {
    flex-wrap: wrap;
    gap: 1.5rem 1rem;
  }
  .p-strengths-service__item {
    width: calc((100% - 1rem) / 2);
    padding: 1rem 1.5rem;
  }
  .p-strengths-service__img {
    max-width: 7.375rem;
  }
}
.p-swiper-control {
  display: flex;
  align-items: center;
}
.p-swiper-control .swiper-pagination {
  position: relative;
  inset: unset;
  display: flex;
  gap: 0;
  align-items: center;
  width: auto;
  margin: 0;
  margin-right: 1.5rem;
  transform: none;
}
.p-swiper-control .swiper-button-prev,
.p-swiper-control .swiper-button-next {
  position: relative;
  inset: unset;
  margin: 0;
  transform: none;
}
.p-swiper-control .swiper-button-prev {
  margin-right: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-swiper-control {
    justify-content: center;
  }
  .p-swiper-control .swiper-pagination {
    margin-right: 1.25rem;
  }
  .p-swiper-control .swiper-button-prev {
    margin-right: 1.25rem;
  }
}
.p-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2rem;
}
.p-tags.--column {
  flex-direction: column;
}
.p-tags__link {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  width: 100%;
  padding: 0.5rem 1.5rem 0.5rem 1rem;
  color: #333;
  background: #fff;
  border: 0.125rem solid #707070;
  border-radius: 0.0625rem;
  font-size: 1.3125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-tags__link {
    font-size: 1rem;
  }
}
.p-tags__link::before {
  display: inline-block;
  width: 1.25rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: currentcolor;
  -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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%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='M28.4831 16.2714L4.20696 5.53385C3.95444 5.42215 3.73391 5.74198 3.92809 5.93829L14.2011 16.3242C14.2974 16.4216 14.2975 16.5784 14.2011 16.6758L3.92809 27.0617C3.73391 27.258 3.95444 27.5778 4.20696 27.4662L28.4831 16.7286C28.6816 16.6408 28.6816 16.3592 28.4831 16.2714Z' fill='%23404040'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-tags__link.is-active {
  color: #f44f1c;
}
@media (hover: hover) {
  .p-tags__link {
    transition: 0.3s linear all;
  }
  .p-tags__link:hover {
    color: #f44f1c;
  }
  .p-tags__link:hover::before {
    animation: arrow-slide-right-sub 0.4s ease-in-out forwards;
  }
}

@media only screen and (max-width: 767px) {
  .p-tags {
    gap: 0.5rem;
  }
  .p-tags__link {
    gap: 0.125rem;
    width: 6.75rem;
    padding: 0.5rem 0.375rem;
    border-width: 0.0625rem;
  }
  .p-tags__link::before {
    width: 1rem;
  }
}
.p-voice {
  display: flex;
  gap: 1.5rem 2.1875rem;
  align-items: stretch;
}
.p-voice__item {
  width: calc((100% - 4.375rem) / 3);
  padding: 2.5rem 1.5rem;
  background: #fff;
  border: 0.125rem solid #707070;
}
.p-voice__img {
  width: 11.75rem;
  height: 11.75rem;
  margin: 0 auto;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0.125rem 0 rgba(51, 51, 51, 0.25);
}
.p-voice__name {
  margin-top: 2rem;
}
.p-voice__text {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-voice {
    flex-wrap: wrap;
  }
  .p-voice__item {
    width: 100%;
    padding: 2rem 1.125rem;
  }
  .p-voice__text {
    margin-top: 1rem;
  }
}
/* pages */
body.access .access-main__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 5rem;
  justify-content: center;
}
body.access .access-main__map {
  width: 100%;
  aspect-ratio: 3/1;
  margin-top: 4.5rem;
}
body.access .access-main__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

@media only screen and (max-width: 767px) {
  body.access .access-main__nav {
    flex-direction: column;
  }
  body.access .access-main__map {
    aspect-ratio: 3/2;
    margin-top: 3rem;
  }
}
@media all and (min-width: 768px), print {
  body.achievements .l-header__nav-item.--achievements .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.achievements-single .p-grid {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
body.achievements-single .p-grid .p-grid__col {
  max-width: 24.375rem;
  text-align: left;
}

@media all and (min-width: 768px), print {
  body.achievements-single .l-header__nav-item.--achievements .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.company-about .company-about-main__box {
  padding: 1.5rem;
  margin-top: 2.5rem;
  background: #fff;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.25);
}
body.company-about .company-about-main__box .c-list-dot {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
}

@media all and (min-width: 768px), print {
  body.company-about .l-header__nav-item.--company .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
  body.company-about .company-about-main__sdg .p-grid.--repeat-2 {
    gap: 3.4375rem 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  body.company-about .company-about-main__box {
    padding: 1rem 1.125rem;
    margin-top: 2rem;
  }
  body.company-about .company-about-main__box .c-list-dot {
    flex-direction: column;
  }
  body.company-about .company-about-main__sdg .p-grid__col:nth-child(2n+1):not(:first-child) {
    margin-top: 1.125rem;
  }
}
@media all and (min-width: 768px), print {
  body.company-greeting .l-header__nav-item.--company .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
@media all and (min-width: 768px), print {
  body.company-group .l-header__nav-item.--company .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.company .company-main__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 5rem;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  body.company .l-header__nav-item.--company .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  body.company .company-main__nav {
    flex-direction: column;
  }
}
body.contact .contact-main__buttons {
  display: flex;
  flex-direction: row-reverse;
  gap: 3rem;
  justify-content: center;
  margin-top: 4rem;
}
body.contact .contact-main__cda .c-input__check-wrap {
  max-width: var(--max-width, unset);
}
@media all and (min-width: 768px), print {
  body.contact .contact-main__cda-check-wrap.--01 {
    max-width: 81.125rem;
    padding-right: 1.25rem;
    margin-right: calc(50% - 50vw);
  }
}

@media only screen and (max-width: 767px) {
  body.contact .contact-main__buttons {
    flex-direction: column;
    margin-top: 2.5rem;
  }
}
@media all and (min-width: 768px), print {
  body.equipment .l-header__nav-item.--equipment .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.index {
  --index-section-padding: 9rem;
  --index-gap-sm: 3rem;
  --index-gap: 3.8125rem;
  --index-gap-lg: 4.5rem;
  --index-gap-xl: 8.75rem;
  --index-z: 2;
  --index-overlay: rgb(255 255 255 / 0.2);
}
body.index .index-works,
body.index .index-products,
body.index .index-achievements,
body.index .index-reasons,
body.index .index-recruitment,
body.index .index-news {
  padding: var(--index-section-padding) 0;
}
body.index .index-works .p-section-title-h2,
body.index .index-products .p-section-title-h2,
body.index .index-achievements .p-section-title-h2,
body.index .index-reasons .p-section-title-h2,
body.index .index-recruitment .p-section-title-h2,
body.index .index-news .p-section-title-h2 {
  margin-bottom: var(--index-gap-sm);
}
body.index .index-works {
  position: relative;
  overflow: hidden;
}
body.index .index-works::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: url("../images/index/bg-works.jpg") repeat-y top center/cover;
}
body.index .index-works::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: var(--index-overlay);
}
body.index .index-works__inner {
  position: relative;
  z-index: var(--index-z);
}
body.index .index-works__img {
  position: absolute;
  z-index: 1;
  transition: transform 0.4s ease;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}
body.index .index-works__img.--01 {
  top: 5.1875rem;
  left: -0.9375vw;
  width: 16.6666666667vw;
}
body.index .index-works__img.--02 {
  top: 3rem;
  right: 4.7916666667vw;
  width: 14.5833333333vw;
}
body.index .index-works__img.--03 {
  right: 4.1666666667vw;
  bottom: 21rem;
  width: 30.2083333333vw;
}
body.index .index-works__swiper {
  margin-top: var(--index-gap-xl);
}
body.index .index-products {
  position: relative;
  z-index: var(--index-z);
  margin: -2.25rem 0;
  background: url("../images/index/bg-products.png") no-repeat center/cover;
}
body.index .index-products__container {
  width: 92.5rem;
}
body.index .index-products .p-card-products {
  margin-top: var(--index-gap);
}
body.index .index-achievements__swiper {
  margin-top: var(--index-gap);
}
body.index .index-achievements .p-swiper-control {
  margin-top: 1rem;
}
body.index .index-achievements .p-swiper-control .swiper-pagination {
  gap: 0.375rem;
}
body.index .index-reasons__inner {
  position: relative;
  z-index: var(--index-z);
}
body.index .index-reasons__point {
  margin-top: var(--index-gap);
}
body.index .index-recruitment__container {
  margin-top: var(--index-gap);
}
body.index .index-news__inner {
  position: relative;
  z-index: var(--index-z);
}
body.index .index-news__container {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 6.4583333333vw;
  margin-top: var(--index-gap);
}
body.index .index-news__button {
  margin-top: var(--index-gap-lg);
}

@media all and (min-width: 768px), print {
  body.index .l-header__nav-item.--home .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
@media only screen and (max-width: 1280px) {
  body.index .index-news__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
  }
  body.index .index-news .p-tags.--column {
    flex-direction: unset;
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  body.index {
    --index-section-padding: 4rem;
    --index-gap-sm: 2rem;
    --index-gap: 2.5rem;
    --index-gap-lg: 3rem;
    --index-gap-xl: 5rem;
  }
  body.index .index-works {
    padding-bottom: 5.75rem;
  }
  body.index .index-works__img.--01 {
    top: 1.5rem;
    left: -0.5rem;
    width: 8.5rem;
  }
  body.index .index-works__img.--02 {
    top: 4.75rem;
    right: 0.375rem;
    width: 6.25rem;
  }
  body.index .index-works__img.--03 {
    right: 1.875rem;
    bottom: 13.125rem;
    width: 14.5rem;
  }
  body.index .index-products {
    padding: 5.75rem 0;
    margin: -1.875rem 0;
    background: url("../images/index/bg-products-sp.png") repeat-x center/auto 100%;
  }
  body.index .index-achievements {
    padding-top: 5.75rem;
  }
  body.index .index-achievements .p-swiper-control {
    margin-top: var(--index-gap);
  }
}
body.news-single .news-single-main .p-editor__content {
  margin-top: 5rem;
}
body.news-single .news-single-main__button {
  margin-top: 5rem;
  text-align: center;
}

body.news {
  --index-section-padding: 9rem;
  --index-gap-sm: 3rem;
  --index-gap: 3.8125rem;
  --index-gap-lg: 4.5rem;
  --index-gap-xl: 8.75rem;
  --index-z: 2;
}
body.news .news-main__container {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 6.4583333333vw;
  margin-top: var(--index-gap);
}
body.news .news-main__button {
  margin-top: var(--index-gap-lg);
}

@media only screen and (max-width: 1280px) {
  body.news .news-main__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
  }
  body.news .news-main .p-tags.--column {
    flex-direction: unset;
    justify-content: flex-start;
  }
}
body.products-single .p-fixed-download {
  display: none;
}

@media all and (min-width: 768px), print {
  body.products-single .l-header__nav-item.--products .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.products .p-card-01__img {
  background-color: #fff;
}
body.products .p-card-01__img img {
  -o-object-fit: contain;
     object-fit: contain;
}

@media all and (min-width: 768px), print {
  body.products .l-header__nav-item.--products .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
body.recruit {
  --recruit-gap-xl: 7.75rem;
}
body.recruit .recruit-main__swiper {
  margin-top: var(--recruit-gap-xl);
}
body.recruit .recruit-main__staff-item {
  padding: 2.5rem 0;
  border-top: 0.125rem solid #707070;
}
body.recruit .recruit-main__staff-item:last-child {
  border-bottom: 0.125rem solid #707070;
}
body.recruit .recruit-main .p-box .c-list-dot {
  font-size: 1.125rem;
}

@media all and (min-width: 768px), print {
  body.recruit .l-header__nav-item.--recruit .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.recruit .recruit-main__data.--repeat-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  body.recruit {
    --recruit-gap-xl: 5rem;
  }
  body.recruit .recruit-main__staff-item {
    padding: 2rem 0;
  }
}
body.strengths .strengths-main {
  padding-bottom: 13.9375rem;
}
body.strengths .strengths-main__path.--01 {
  top: 7.6875rem;
  left: 1.6666666667vw;
  width: 19.2708333333vw;
}
body.strengths .strengths-main__path.--02 {
  right: 1.25vw;
  bottom: 2.875rem;
  width: 28.125vw;
}
body.strengths .strengths-main__slider {
  margin-top: 5rem;
}
body.strengths .strengths-reason__item {
  display: grid;
  grid-template-columns: 24.375rem 1fr;
  gap: 2rem 3rem;
  align-items: center;
  padding: 2.5rem 0;
  border-bottom: 0.125rem solid #707070;
}
body.strengths .strengths-reason__item:first-child {
  border-top: 0.125rem solid #707070;
}
body.strengths .strengths-reason__problem {
  padding: 4rem 3rem;
  margin-top: 5rem;
  background: #fff;
  border-radius: 0.25rem;
}
body.strengths .strengths-reason__problem-title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 3rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  body.strengths .strengths-reason__problem-title {
    font-size: 1.75rem;
  }
}
body.strengths .strengths-reason__problem-title-highlight {
  font-size: 3rem;
  color: #f44f1c;
  text-decoration: underline;
}
body.strengths .strengths-reason__problem-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  max-width: 59rem;
  margin: 0 auto;
}
body.strengths .strengths-reason__problem-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
  width: calc(50% - 0.75rem);
  min-height: 5.125rem;
  padding: 1.75rem 2.5rem;
  background: #fffbf0;
  border: 0.0625rem solid #707070;
}
body.strengths .strengths-reason__problem-item::before {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.3125rem;
  content: "";
  background: #fff;
  border: 0.25rem solid #f44f1c;
  border-radius: 50%;
}
body.strengths .strengths-reason__button {
  display: flex;
  gap: 2rem 5rem;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  body.strengths .l-header__nav-item.--strengths .l-header__nav-link-inner {
    border-bottom: 0.0625rem solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  body.strengths .strengths-main {
    padding-bottom: 5rem;
  }
  body.strengths .strengths-main__path.--01 {
    top: 1.5rem;
    left: -0.5rem;
    width: 5rem;
  }
  body.strengths .strengths-main__path.--02 {
    right: 1.875rem;
    bottom: 1.5rem;
    width: 9.375rem;
  }
  body.strengths .strengths-main__slider {
    margin-top: 3.5rem;
  }
  body.strengths .strengths-reason__item {
    grid-template-columns: repeat(1, 1fr);
    padding: 2rem 0;
  }
  body.strengths .strengths-reason__problem {
    padding: 2.5rem 1.125rem;
  }
  body.strengths .strengths-reason__problem-title {
    margin-bottom: 2rem;
  }
  body.strengths .strengths-reason__problem-title-highlight {
    font-size: 2.25rem;
  }
  body.strengths .strengths-reason__problem-list {
    flex-direction: column;
    gap: 1rem;
    max-width: 100%;
  }
  body.strengths .strengths-reason__problem-item {
    grid-template-columns: 0.875rem 1fr;
    gap: 0.5rem;
    width: 100%;
    min-height: 3.1875rem;
    padding: 1rem;
  }
  body.strengths .strengths-reason__problem-item::before {
    width: 0.875rem;
    height: 0.875rem;
    border-width: 0.125rem;
  }
  body.strengths .strengths-reason__button {
    flex-direction: column;
  }
}
/* utility */
.u-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

.u-background-gray {
  position: relative;
}
.u-background-gray::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: url("../images/index/bg-gray.jpg") repeat-y top center/cover;
}
.u-background-gray::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: rgba(255, 255, 255, 0.2);
}
.u-background-gray__cont {
  position: relative;
  z-index: 1;
}

.u-background-light {
  position: relative;
  background: url("../images/index/bg-gray-light.jpg") repeat-y top center/cover;
}

@media all and (min-width: 768px), print {
  .u-hidden-pc {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}
.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-fade-up {
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.6s;
  transform: translateY(20px);
}
.js-fade-up.is-active {
  opacity: 1;
  transform: translateY(0);
}
.js-fade-up.is-active.--delay {
  transition-delay: 0.3s;
}

.js-mouse-parallax {
  position: relative;
  overflow: hidden;
}
.js-mouse-parallax__inner {
  position: relative;
  z-index: 2;
}
.js-mouse-parallax__item {
  position: absolute;
  z-index: 1;
  transition: transform 0.4s ease;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.js-slideshow-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
  will-change: transform;
}
.js-slideshow-swiper .swiper-slide {
  width: 19.375rem;
}
.js-slideshow-swiper .swiper-slide:nth-child(odd) {
  margin-top: 2rem;
}

@media only screen and (max-width: 767px) {
  .js-slideshow-swiper .swiper-slide {
    width: 13.125rem;
  }
  .js-slideshow-swiper .swiper-slide:nth-child(odd) {
    margin-top: 1.25rem;
  }
}
.js-swiper {
  position: relative;
  aspect-ratio: 620/460;
  overflow: hidden;
  border-radius: 0.25rem;
}
.js-swiper .swiper-control {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
}
.js-swiper .swiper-pagination {
  position: relative;
  bottom: unset;
  left: unset;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: unset;
  margin: 0;
}
.js-swiper .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 999rem;
  opacity: 1;
}
@media (hover: hover) {
  .js-swiper .swiper-pagination .swiper-pagination-bullet {
    transition: 0.3s linear opacity;
  }
  .js-swiper .swiper-pagination .swiper-pagination-bullet:hover {
    opacity: 0.7;
  }
}
.js-swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #f44f1c;
}
.js-swiper .swiper-button-pause {
  position: relative;
  width: 1.75rem;
  height: 1.75rem;
  margin-left: 0.75rem;
  cursor: pointer;
  background: #fff;
  border-radius: 50%;
}
.js-swiper .swiper-button-pause::after, .js-swiper .swiper-button-pause::before {
  position: absolute;
  top: 50%;
  width: 0.125rem;
  height: 0.625rem;
  content: "";
  background-color: #707070;
  transform: translateY(-50%);
}
.js-swiper .swiper-button-pause::after {
  left: calc(50% - 4px);
}
.js-swiper .swiper-button-pause::before {
  right: calc(50% - 4px);
}
@media (hover: hover) {
  .js-swiper .swiper-button-pause {
    transition: 0.3s linear opacity;
  }
  .js-swiper .swiper-button-pause:hover {
    opacity: 0.7;
  }
}
.js-swiper .swiper-button-pause.is-play::before {
  display: none;
}
.js-swiper .swiper-button-pause.is-play::after {
  width: 0;
  height: 0;
  background-color: transparent;
  border-color: transparent transparent transparent #707070;
  border-style: solid;
  border-width: 0.3125rem 0 0.3125rem 0.625rem;
}

@media only screen and (max-width: 767px) {
  .js-swiper {
    aspect-ratio: 345/200;
    border-radius: 0.125rem;
  }
  .js-swiper .swiper-control {
    right: 0.625rem;
    bottom: 0.625rem;
  }
  .js-swiper .swiper-pagination {
    gap: 0.375rem;
  }
  .js-swiper .swiper-pagination .swiper-pagination-bullet {
    width: 0.625rem;
    height: 0.625rem;
  }
  .js-swiper .swiper-button-pause {
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.5rem;
  }
  .js-swiper .swiper-button-pause::after, .js-swiper .swiper-button-pause::before {
    width: 0.0625rem;
    height: 0.375rem;
  }
  .js-swiper .swiper-button-pause::after {
    left: calc(50% - 2px);
  }
  .js-swiper .swiper-button-pause::before {
    right: calc(50% - 2px);
  }
  .js-swiper .swiper-button-pause.is-play::after {
    border-width: 0.1875rem 0 0.1875rem 0.375rem;
  }
}