@charset "UTF-8";
:root {
  --vw375: 0.2666666667vw; /* 100 / 375 */
  --vw600: 0.1666666667vw; /* 100 / 600 */
  --vw768: 0.1302083333vw; /* 100 / 768 */
  --vw1100: 0.0909090909vw; /* 100 / 1100 */
  --vw1440: 0.0694444444vw; /* 100 / 1440 */
  --vw1600: 0.0625vw; /* 100 / 1600 */
}

/* --------------------------------
  A (more) Modern CSS Reset
-------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

button {
  border: none;
  background: none;
}
button:hover, button:active, button:focus {
  outline: none;
}
button:active, button:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

/* --------------------------------

  基本スタイル

-------------------------------- */
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
@media screen and (min-width: 1100px), print {
  html {
    overflow-y: scroll;
  }
}

body {
  min-width: 320px;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.4;
  background: #fff;
}

@media screen and (max-width: 1099.98px) {
  html.is-nav-open {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    overflow-x: hidden;
  }
}

/* --------------------------------

  l-wrapper

-------------------------------- */
.l-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
}
/* --------------------------------

  l-header

-------------------------------- */
.l-header__logo {
  z-index: 101;
}
@media screen and (max-width: 1099.98px) {
  .l-header__logo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 6rem;
    padding: 0;
    place-content: center;
    background-color: #fff;
  }
}
@media screen and (min-width: 1100px), print {
  .l-header__logo {
    position: absolute;
    top: 0;
    left: 0;
    padding: 2.5rem 0 0 3rem;
    z-index: 1002;
  }
  .is-fixed .l-header__logo {
    position: fixed;
    top: -10rem;
    height: 10rem;
    place-content: center;
    padding: 0 0 0 3rem;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    z-index: 1002;
  }
}
@media screen and (min-width: 1440px), print {
  .l-header__logo {
    padding: 2.5rem 0 0 5rem;
  }
}
.l-header__logo-title {
  width: 18rem;
}
@media screen and (min-width: 360px), print {
  .l-header__logo-title {
    width: 20rem;
  }
}
@media screen and (min-width: 1100px), print {
  .l-header__logo-title {
    width: 24.3rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .l-header__logo-title {
    padding-left: 2rem;
  }
}
.l-header__logo-title a {
  display: block;
  text-decoration: none;
}
.l-header__logo-title img {
  height: auto;
}
@media screen and (min-width: 1100px), print {
  .l-header__nav {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 10rem;
    padding: 0 3rem 0 0;
    place-content: center;
    background-color: #fff;
    z-index: 1001;
  }
  .is-fixed .l-header__nav {
    position: fixed;
    left: 0;
    right: 0;
    top: -10rem;
    height: 10rem;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    padding: 0 3rem 0 0;
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}
@media screen and (min-width: 1440px), print {
  .l-header__nav {
    padding: 0 5rem 0 0;
  }
}
.l-header__tel {
  display: none;
}
.l-header__contact {
  position: fixed;
  top: 0;
  right: 6rem;
  width: 5rem;
  height: 6rem;
  overflow: hidden;
  z-index: 101;
}
@media screen and (min-width: 1100px), print {
  .l-header__contact {
    display: none;
  }
}
.l-header__contact-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.l-header__contact-link::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  display: block;
  width: 2.6rem;
  height: 1.8rem;
  background: url("../img/base/icon-mail_blue.svg") no-repeat center/contain;
}
.l-header__contact-link::after {
  content: "CONTACT";
  position: absolute;
  left: 0;
  bottom: 14px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  color: #0B41B1;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

/* --------------------------------

  l-footer

-------------------------------- */
.l-footer {
  position: relative;
  background: url("../img/top/footer_bg.webp") no-repeat center/cover;
  padding: 0 2rem 0 2rem;
}
@media screen and (min-width: 1100px), print {
  .l-footer {
    padding: 0 4rem;
  }
}
.l-footer__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  padding: 5rem 0 3rem 0;
  max-width: 150rem;
  margin-inline: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1100px), print {
  .l-footer__container {
    gap: 3rem;
    padding: 5rem 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 1280px), print {
  .l-footer__container {
    padding: 10rem 0;
    grid-template-columns: minmax(0, 36.5rem) minmax(0, 101rem);
  }
}
@media screen and (min-width: 1280px), print {
  .l-footer__side {
    padding-top: 1rem;
  }
}
.l-footer__copy {
  position: relative;
  height: 6rem;
  place-content: center;
  text-align: center;
  padding: 0 2rem;
  margin-inline: -2rem;
}
@media screen and (min-width: 768px), print {
  .l-footer__copy {
    height: 8rem;
    padding: 0 4rem;
    margin-inline: -4rem;
  }
}
.l-footer__copy small {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
@media screen and (max-width: 1099.98px) {
  .l-footer__copy span {
    display: none;
  }
}

/* --------------------------------

  l-main

-------------------------------- */
.l-main {
  display: block;
  position: relative;
  overflow: hidden;
  z-index: 100;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* --------------------------------

  l-inner

-------------------------------- */
.l-inner {
  position: relative;
  max-width: 1100px;
  margin-inline: auto;
}
.l-inner::after {
  content: "";
  display: table;
  clear: both;
}
.l-inner--wide {
  max-width: 1230px;
}

/* --------------------------------

  c-button

-------------------------------- */
/* --------------------------------

  c-link-button

-------------------------------- */
.c-link-button {
  position: relative;
  display: inline-block;
  place-content: center;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0 3rem 0 2rem;
  height: 5rem;
  min-width: 22rem;
  background-color: #419A11;
  border: 3px solid #419A11;
  border-radius: 10em;
  text-decoration: none;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .c-link-button {
    font-size: 1.8rem;
    height: 5.6rem;
    padding: 0 5rem 0 3rem;
    min-width: 25rem;
  }
}
.c-link-button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.3rem;
  height: 1.3rem;
  background: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .c-link-button::before {
    right: 1.5rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
.c-link-button--wht {
  background-color: #ffffff;
  color: #0B41B1;
  border: 3px solid #fff;
}
.c-link-button--wht::before {
  background: url("../img/base/icon-arrow_right_blue.svg") no-repeat center/contain;
}
.c-link-button--nolink {
  padding-inline: 1rem !important;
}
.c-link-button--nolink::before {
  display: none;
}
.c-link-button--small {
  height: 4.5rem;
  font-size: 1.4rem;
  min-width: 23rem;
  padding: 0 2rem 0 1rem;
}
@media screen and (min-width: 1100px), print {
  .c-link-button--small {
    font-size: 1.6rem;
    height: 4.8rem;
    min-width: 27.4rem;
    padding: 0 2rem 0 1rem;
  }
}
.c-link-button--small::before {
  width: 1.3rem;
  height: 1.3rem;
}
@media screen and (min-width: 1100px), print {
  .c-link-button--small::before {
    right: 1.5rem;
    width: 1.3rem;
    height: 1.3rem;
  }
}

a.c-link-button {
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: hover) {
  a.c-link-button:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #fff;
    color: #419A11;
  }
  a.c-link-button:where(:any-link, :enabled, summary):hover {
    background-color: #fff;
    color: #419A11;
  }
  a.c-link-button:where(:-moz-any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_green.svg") no-repeat center/contain;
  }
  a.c-link-button:where(:any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_green.svg") no-repeat center/contain;
  }
}
@media (hover: hover) {
  a.c-link-button--wht:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #0B41B1;
    color: #ffffff;
  }
  a.c-link-button--wht:where(:any-link, :enabled, summary):hover {
    background-color: #0B41B1;
    color: #ffffff;
  }
  a.c-link-button--wht:where(:-moz-any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
  }
  a.c-link-button--wht:where(:any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
  }
}
/* --------------------------------

  c-form

-------------------------------- */
.c-form {
  max-width: 110rem;
  margin-inline: auto;
  font-family: "Noto Sans JP", sans-serif;
}
.c-form__list {
  display: grid;
  gap: 1rem;
}
.c-form__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.8rem;
}
@media screen and (min-width: 768px), print {
  .c-form__row {
    grid-template-columns: 34.1% minmax(0, 1fr);
    gap: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__row--checks-compact {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-form__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  min-height: 6rem;
  padding: 1rem 2rem 1rem 1.5rem;
  background-color: #f4f4f4;
  border-radius: 0.5rem;
}
.c-form__row--note .c-form__head {
  min-height: 6rem;
}
@media screen and (min-width: 768px), print {
  .c-form__row--note .c-form__head {
    min-height: 8rem;
  }
}
.c-form__row--checks .c-form__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px), print {
  .c-form__row--checks .c-form__head {
    min-height: 18.4rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__row--checks-compact .c-form__head {
    min-height: 6rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__row--textarea .c-form__head {
    min-height: 18rem;
  }
}
.c-form__head-text {
  min-width: 0;
}
.c-form__label {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .c-form__label {
    font-size: 2rem;
    line-height: 2;
  }
}
.c-form__head-note {
  margin-top: 0.4rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 1100px), print {
  .c-form__head-note {
    font-size: 1.2rem;
  }
}
.c-form__required {
  display: inline-grid;
  place-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 5.7rem;
  min-height: 3.2rem;
  padding: 0 1.4rem;
  color: #fff;
  background-color: #419A11;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (min-width: 1100px), print {
  .c-form__required {
    font-size: 1.6rem;
  }
}
.c-form__required--optional {
  background-color: #949494;
}
.c-form__body {
  min-width: 0;
}
@media screen and (min-width: 768px), print {
  .c-form__body {
    padding-top: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__body--short {
    max-width: 34.2rem;
  }
}
.c-form__row--checks .c-form__body {
  padding: 1rem 0 1.6rem;
}
@media screen and (min-width: 768px), print {
  .c-form__row--checks .c-form__body {
    padding: 1.3rem 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__row--checks-compact .c-form__body {
    padding: 1rem 0;
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.c-form__control {
  display: block;
  width: 100%;
  min-height: 6rem;
  padding: 1.3rem 2rem;
  color: #000000;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  -webkit-transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.c-form__control::-webkit-input-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.c-form__control::-moz-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.c-form__control:-ms-input-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.c-form__control::-ms-input-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.c-form__control::placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.c-form__control:focus {
  border-color: #419A11;
  -webkit-box-shadow: 0 0 0 0.3rem rgba(65, 154, 17, 0.14);
          box-shadow: 0 0 0 0.3rem rgba(65, 154, 17, 0.14);
  outline: none;
}
.c-form__control--textarea {
  height: 18rem;
  min-height: 18rem;
  resize: vertical;
}
.c-form__select {
  position: relative;
}
.c-form__select::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  -webkit-transform: translateY(-65%) rotate(45deg);
          transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  z-index: 1;
}
.c-form__select .c-form__control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 5rem;
}
.c-form__note {
  margin-top: 0.4rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 1100px), print {
  .c-form__note {
    font-size: 1.2rem;
  }
}
.c-form__checks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.8rem 2rem;
}
@media screen and (min-width: 768px), print {
  .c-form__checks {
    gap: 1rem 2rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-form__checks--col2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px), print {
  .c-form__checks--col4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem 2rem;
  }
  .c-form__checks--col4 .c-form__check--choice {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
}
.c-form__check {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  cursor: pointer;
}
@media screen and (min-width: 1100px), print {
  .c-form__check {
    font-size: 1.6rem;
  }
}
.c-form__check a {
  color: #256106;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .c-form__check a:where(:-moz-any-link, :enabled, summary):hover {
    color: #65C533;
  }
  .c-form__check a:where(:any-link, :enabled, summary):hover {
    color: #65C533;
  }
}
.c-form__check--choice {
  width: 100%;
}
.c-form__check-input {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  cursor: pointer;
}
.c-form__check--choice .c-form__check-input {
  border-radius: 0.2rem;
}
.c-form__privacy .c-form__check-input {
  width: 3rem;
  height: 3rem;
}
.c-form__check-input::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1.2rem;
  height: 0.8rem;
  background-color: transparent;
  border-left: 2px solid #419A11;
  border-bottom: 2px solid #419A11;
  border-radius: 0;
  -webkit-transform: translate(-50%, -80%) rotate(-45deg);
          transform: translate(-50%, -80%) rotate(-45deg);
  opacity: 0;
}
.c-form__check-input:checked::before {
  opacity: 1;
}
.c-form__privacy .c-form__check-input:checked::before {
  width: 1.6rem;
  height: 0.9rem;
  background-color: transparent;
  border-left: 2px solid #419A11;
  border-bottom: 2px solid #419A11;
  border-radius: 0;
  -webkit-transform: translate(-50%, -75%) rotate(-45deg);
          transform: translate(-50%, -75%) rotate(-45deg);
}
.c-form__check-input:focus-visible {
  outline: 0.3rem solid rgba(65, 154, 17, 0.22);
  outline-offset: 0.2rem;
}
.c-form__counter {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: right;
}
.c-form__privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .c-form__privacy {
    margin-top: 3rem;
  }
}
.c-form__privacy .c-form__check {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-form__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .c-form__submit {
    margin-top: 4.7rem;
  }
}
.c-form__button {
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  width: min(100%, 25rem);
  min-height: 4.6rem;
  padding: 1rem 2rem 1rem 2rem;
  color: #fff;
  background-color: #419A11;
  border: 3px solid #419A11;
  border-radius: 1000px;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.c-form__button::after {
  content: "";
  width: 0.9rem;
  height: 1.5rem;
  background-color: currentColor;
  mask: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
  -webkit-mask: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
}
@media (hover: hover) {
  .c-form__button:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #fff;
    color: #419A11;
    border-color: #419A11;
  }
  .c-form__button:where(:any-link, :enabled, summary):hover {
    background-color: #fff;
    color: #419A11;
    border-color: #419A11;
  }
  .c-form__button:where(:-moz-any-link, :enabled, summary):hover::after {
    background-color: #419A11;
  }
  .c-form__button:where(:any-link, :enabled, summary):hover::after {
    background-color: #419A11;
  }
}
.c-form__button:disabled {
  background-color: #bcbcbc;
  border-color: #bcbcbc;
  cursor: not-allowed;
  opacity: 1;
}

@media (hover: hover) {
  .c-form__submit input.c-form__button:where(:-moz-any-link, :enabled, summary):hover {
    background-image: url(/assets/img/base/icon-arrow_right_green.svg);
  }
  .c-form__submit input.c-form__button:where(:any-link, :enabled, summary):hover {
    background-image: url(/assets/img/base/icon-arrow_right_green.svg);
  }
}

/* Keep the reCAPTCHA badge above the page-top button. */
.grecaptcha-badge {
  bottom: 80px !important;
}

/* --------------------------------
  c-global-contact
-------------------------------- */
.c-global-contact {
  display: grid;
  grid-template-columns: 21rem;
  grid-template-rows: 4.5rem 4.5rem;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px), print {
  .c-global-contact {
    grid-template-columns: 21rem 21rem;
    grid-template-rows: 4.5rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (min-width: 1440px), print {
  .c-global-contact {
    grid-template-columns: 27rem 27rem;
    grid-template-rows: 5rem;
    gap: 1.5rem;
  }
}
.c-global-contact__item--tel .tel-link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10em;
  background-color: #65C533;
  color: #fff;
  line-height: 1.2;
  place-content: center;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-decoration: none;
}
@media screen and (min-width: 1440px), print {
  .c-global-contact__item--tel .tel-link {
    font-size: 2.2rem;
  }
}
.c-global-contact__item--tel .tel-link .tel-num {
  position: relative;
  display: inline-block;
  padding-left: 1.6em;
}
.c-global-contact__item--tel .tel-link .tel-num::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  background: url("../img/base/icon-tel_wht.svg") no-repeat center/contain;
}
@media screen and (min-width: 1440px), print {
  .c-global-contact__item--tel .tel-link .tel-num::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* --------------------------------

  c-gnav

-------------------------------- */
.c-gnav__item.c-gnav__item--service .c-gnav__submenu .c-gnav__submenu-item:nth-child(2), .c-gnav__item.c-gnav__item--service .c-gnav__submenu .c-gnav__submenu-item:nth-child(4), .c-gnav__item.c-gnav__item--service .c-gnav__submenu .c-gnav__submenu-item:nth-child(5), .c-gnav__item.c-gnav__item--service .c-gnav__submenu .c-gnav__submenu-item:nth-child(6) {
  display: none;
}
.c-gnav__item.c-gnav__item--service .c-gnav__submenu .c-gnav__submenu-item:nth-child(3) {
  border-bottom: none;
}

.c-footer-nav__group:nth-child(2) .c-footer-nav__list:first-child .c-footer-subnav .c-footer-subnav__item:nth-child(2), .c-footer-nav__group:nth-child(2) .c-footer-nav__list:first-child .c-footer-subnav .c-footer-subnav__item:nth-child(4), .c-footer-nav__group:nth-child(2) .c-footer-nav__list:first-child .c-footer-subnav .c-footer-subnav__item:nth-child(5), .c-footer-nav__group:nth-child(2) .c-footer-nav__list:first-child .c-footer-subnav .c-footer-subnav__item:nth-child(6) {
  display: none;
}

.c-gnav {
  /* ハンバーガーメニューボタン */
}
@media screen and (max-width: 1099.98px) {
  .c-gnav {
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    position: fixed;
    top: 0;
    right: -30rem;
    width: 30rem;
    height: 100%;
    z-index: 1000;
    -webkit-transition: right 0.3s ease, opacity 0.3s ease;
    transition: right 0.3s ease, opacity 0.3s ease;
  }
  .is-nav-open .c-gnav {
    right: 0;
    pointer-events: all;
    opacity: 1;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__container {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0 3rem 0;
    background: #fff;
    -webkit-overflow-scrolling: touch;
    z-index: 10;
  }
}
.c-gnav__menu {
  list-style: none;
  margin: 0;
  padding: 6.5rem 1.5rem 0 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    padding: 0;
  }
}
@media screen and (min-width: 1280px), print {
  .c-gnav__menu {
    gap: 2rem;
  }
}
.c-gnav__item {
  position: relative;
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__item {
    border-bottom: 1px solid #A9CCE8;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__item:first-child {
    border-top: 1px solid #A9CCE8;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__item--contact {
    border-bottom: none;
    margin-top: 1.6rem;
  }
}
.c-gnav__item--contact .c-gnav__link {
  width: 100%;
  height: 5rem;
  border-radius: 10em;
  display: block;
  place-content: center;
  text-align: center;
  color: #fff;
  background-color: #419A11;
  border: 3px solid #419A11;
  padding: 0;
}
@media (hover: hover) {
  .c-gnav__item--contact .c-gnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #419A11;
    background-color: #fff;
  }
  .c-gnav__item--contact .c-gnav__link:where(:any-link, :enabled, summary):hover {
    color: #419A11;
    background-color: #fff;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__item--contact .c-gnav__link {
    width: 12rem;
    height: 3.5rem;
    padding: 0;
  }
}
@media screen and (min-width: 1280px), print {
  .c-gnav__item--contact .c-gnav__link {
    width: 14rem;
    height: 4rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__item--contact .c-gnav__link::after {
    display: none;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__item--has-sub:hover .c-gnav__label, .c-gnav__item--has-sub:focus-within .c-gnav__label {
    color: #419A11;
  }
  .c-gnav__item--has-sub:hover .c-gnav__label::before, .c-gnav__item--has-sub:focus-within .c-gnav__label::before {
    -webkit-transform: translateX(-50%) rotate(180deg);
            transform: translateX(-50%) rotate(180deg);
    background: url("../img/base/icon-arrow_bottom_green.svg") no-repeat center/contain;
  }
  .c-gnav__item--has-sub:hover .c-gnav__dropdown, .c-gnav__item--has-sub:focus-within .c-gnav__dropdown {
    pointer-events: auto;
    opacity: 1;
    z-index: 20;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
}
.c-gnav__title {
  display: block;
}
.c-gnav__label {
  position: relative;
  line-height: 1.2;
  color: #000000;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__label {
    display: block;
    padding: 0;
    place-content: center;
    text-align: center;
    height: 6rem;
    font-size: 1.4rem;
    padding: 0;
  }
}
@media screen and (min-width: 1280px), print {
  .c-gnav__label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__label {
    display: block;
    font-size: 1.8rem;
    padding: 0 0 0 1rem;
    height: 6rem;
    place-content: center;
  }
}
.c-gnav__label::before {
  content: "";
  position: absolute;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__label::before {
    width: 1.5rem;
    height: 1.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
    background: url("../img/base/icon-arrow_bottom_blk.svg") no-repeat center/contain;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__label::before {
    right: 1rem;
    width: 1.7rem;
    height: 1.7rem;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
    background: url("../img/base/icon-arrow_right_blue.svg") no-repeat center/contain;
  }
}
.c-gnav__link {
  position: relative;
  line-height: 1.2;
  color: #000000;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__link {
    display: block;
    text-align: center;
    place-content: center;
    height: 6rem;
    font-size: 1.4rem;
    padding: 0;
  }
}
@media screen and (min-width: 1280px), print {
  .c-gnav__link {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__link {
    display: block;
    font-size: 1.8rem;
    height: 6rem;
    padding: 0 0 0 1rem;
    place-content: center;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__link::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.7rem;
    height: 1.7rem;
    background: url("../img/base/icon-arrow_right_blue.svg") no-repeat center/contain;
  }
}
@media screen and (hover: hover) and (max-width: 1099.98px) {
  .c-gnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
  .c-gnav__link:where(:any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
}
@media screen and (hover: hover) and (min-width: 1100px), print and (hover: hover) {
  .c-gnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #419A11;
  }
  .c-gnav__link:where(:any-link, :enabled, summary):hover {
    color: #419A11;
  }
}
.c-gnav__dropdown {
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__dropdown {
    height: 0;
    overflow: hidden;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__dropdown {
    position: absolute;
    top: 100%;
    bottom: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 25rem;
    z-index: -1;
    opacity: 0;
    padding: 3rem 0 0;
  }
}
.c-gnav__dropdown.is-active {
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__dropdown.is-active {
    height: auto;
    overflow: visible;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__dropdown.is-active {
    opacity: 1;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__dropdown-container {
    border-radius: 1rem;
    overflow: hidden;
  }
}
.c-gnav__submenu {
  display: block;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__submenu {
    background-color: #fff;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__submenu {
    padding: 0 0 2rem 0;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__submenu-item {
    border-top: 1px solid #A9CCE8;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__submenu-item:not(:last-child) {
    border-bottom: 1px solid #419A11;
  }
}
.c-gnav__submenu-link {
  position: relative;
  display: block;
  text-align: left;
  place-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  color: #000000;
  height: 5rem;
  background-color: transparent;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  z-index: 0;
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__submenu-link {
    padding-left: 3rem;
    -webkit-transition: color 0.3s ease, background-color 0.3s ease;
    transition: color 0.3s ease, background-color 0.3s ease;
  }
  .c-gnav__submenu-link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.5rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border-top: 0.5rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    border-left: 0.5rem solid #161616;
    -webkit-transition: border 0.3s ease;
    transition: border 0.3s ease;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__submenu-link {
    font-size: 1.6rem;
    height: 5rem;
    background-color: #fff;
    color: #000000;
    text-align: center;
    -webkit-transition: background-color 0.3s ease, color 0.3s ease;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
}
@media screen and (hover: hover) and (max-width: 1099.98px) {
  .c-gnav__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #0B41B1;
  }
  .c-gnav__submenu-link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #0B41B1;
  }
  .c-gnav__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    border-left-color: #fff;
  }
  .c-gnav__submenu-link:where(:any-link, :enabled, summary):hover::before {
    border-left-color: #fff;
  }
}
@media screen and (hover: hover) and (min-width: 1100px), print and (hover: hover) {
  .c-gnav__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #419A11;
  }
  .c-gnav__submenu-link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #419A11;
  }
}
.c-gnav__toggle {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 6rem;
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-family: inherit;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 10;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__toggle {
    position: relative;
    width: 100%;
    height: 6rem;
    margin-bottom: -6rem;
    background: transparent;
    z-index: 30;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__toggle:hover + .c-gnav__label {
    color: #0B41B1;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__toggle:hover + .c-gnav__label {
    color: #419A11;
  }
}
@media screen and (min-width: 1100px), print {
  .c-gnav__toggle.is-active + .c-gnav__label {
    color: #419A11;
  }
  .c-gnav__toggle.is-active + .c-gnav__label::before {
    -webkit-transform: translateX(-50%) rotate(180deg);
            transform: translateX(-50%) rotate(180deg);
    background: url("../img/base/icon-arrow_bottom_green.svg") no-repeat center/contain;
  }
}
@media screen and (max-width: 1099.98px) {
  .c-gnav__toggle.is-active + .c-gnav__label {
    color: #0B41B1;
  }
  .c-gnav__toggle.is-active + .c-gnav__label::before {
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
  }
}
.c-gnav__button {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 6rem;
  height: 6rem;
  line-height: 1;
  background: transparent;
  cursor: pointer;
  z-index: 1011;
  opacity: 1;
  pointer-events: all;
}
.is-nav-open .c-gnav__button {
  opacity: 0;
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__button {
    display: none;
  }
}
.c-gnav__button::after {
  content: "MENU";
  position: absolute;
  left: 0;
  bottom: 14px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  color: #0B41B1;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-gnav__button-close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 6rem;
  height: 6rem;
  line-height: 1;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  z-index: 10;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__button-close {
    display: none;
  }
}
.is-nav-open .c-gnav__button-close {
  opacity: 1;
}
.c-gnav__button-close .c-gnav__button-icon {
  width: 3rem;
  background-color: transparent;
  top: 0;
}
.c-gnav__button-close .c-gnav__button-icon::before, .c-gnav__button-close .c-gnav__button-icon::after {
  margin-top: 0;
  background-color: #0B41B1;
}
.c-gnav__button-close .c-gnav__button-icon::before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.c-gnav__button-close .c-gnav__button-icon::after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.c-gnav__button-icon {
  display: block;
  position: absolute;
  top: -18px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 2.8rem;
  height: 2px;
  margin: auto;
  background-color: #0B41B1;
}
.c-gnav__button-icon::before, .c-gnav__button-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #0B41B1;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-gnav__button-icon::before {
  margin-top: -7px;
}
.c-gnav__button-icon::after {
  margin-top: 7px;
}
.c-gnav__overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 999;
}
@media screen and (min-width: 1100px), print {
  .c-gnav__overlay {
    display: none;
  }
}
.is-nav-open .c-gnav__overlay {
  pointer-events: auto;
  opacity: 0.35;
  cursor: pointer;
}

/* --------------------------------

  c-heading

-------------------------------- */
.c-heading {
  position: relative;
  display: block;
}
.c-heading--primary {
  color: #256106;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1100px), print {
  .c-heading--primary {
    font-size: 4.5rem;
  }
}
.c-heading--primary .c-heading__label {
  display: inline-block;
  font-size: 2rem;
}
@media screen and (min-width: 1100px), print {
  .c-heading--primary .c-heading__label {
    font-size: 4.5rem;
  }
}
.c-heading--archive {
  text-wrap: inherit;
  font-size: clamp(2rem, 32 * var(--vw1100), 3.2rem);
  line-height: 1.6;
}
@media screen and (min-width: 1100px), print {
  .c-heading--archive {
    font-size: clamp(2.5rem, 45 * var(--vw1440), 4.5rem);
    line-height: 1.4;
  }
}
.c-heading--secondary {
  display: block;
  padding-bottom: 1.8rem;
  margin-bottom: 1.8rem;
  border-bottom: 1px solid #419A11;
}
@media screen and (min-width: 1100px), print {
  .c-heading--secondary {
    padding-bottom: 2.8rem;
    margin-bottom: 2.8rem;
  }
}
.c-heading--secondary .c-heading__title {
  position: relative;
  display: inline-block;
  color: #419A11;
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.2;
  padding-left: 1.5em;
}
@media screen and (min-width: 1100px), print {
  .c-heading--secondary .c-heading__title {
    font-size: 3.8rem;
  }
}
.c-heading--secondary .c-heading__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background: url("../img/base/icon-arrow2_right_wht.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .c-heading--secondary .c-heading__title::before {
    width: 4rem;
    height: 4rem;
  }
}
.c-heading--pages {
  color: #256106;
  line-height: 1.2;
  text-wrap: inherit;
}
.c-heading--pages .c-heading__ja {
  display: block;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6rem;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 1100px), print {
  .c-heading--pages .c-heading__ja {
    font-size: 4.5rem;
    letter-spacing: 0.08em;
  }
}
.c-heading--pages .c-heading__en {
  font-family: "Lato", sans-serif;
  display: block;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 1100px), print {
  .c-heading--pages .c-heading__en {
    font-size: 2rem;
  }
}
.c-heading--third {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  line-height: 1.35;
  background: -webkit-gradient(linear, right top, left top, from(#D7EFFF), to(#E3ECFF));
  background: linear-gradient(270deg, #D7EFFF 0%, #E3ECFF 100%);
  padding: 0.8rem 1.5rem;
  margin-bottom: 1.5rem;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .c-heading--third {
    padding: 0.8rem 2rem;
    font-size: 2.5rem;
  }
}
.c-heading--detail {
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 1.35;
  font-weight: 700;
  padding: 0 0 1.6rem 0;
  text-wrap: inherit;
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 0.1rem solid #256106;
}
@media screen and (min-width: 1100px), print {
  .c-heading--detail {
    font-size: 2.5rem;
    letter-spacing: 0.05em;
  }
}
/* --------------------------------
  c-list
-------------------------------- */
.c-list--col2 {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px), print {
  .c-list--col2 {
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-list--col3 {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px), print {
  .c-list--col3 {
    gap: 0.5rem;
    grid-template-columns: auto auto;
  }
}
@media screen and (min-width: 1100px), print {
  .c-list--col3 {
    grid-template-columns: auto auto auto;
  }
}
.c-list--primary li {
  position: relative;
  padding-left: 1.25em;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .c-list--primary li {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.c-list--primary li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 1rem;
  height: 1rem;
  background-color: #256106;
  border-radius: 100%;
}
@media screen and (min-width: 1100px), print {
  .c-list--primary li::before {
    top: 0.75em;
  }
}
.c-list--secondary li {
  position: relative;
  padding-left: 1.1em;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
}
@media screen and (min-width: 1100px), print {
  .c-list--secondary li {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
  }
}
.c-list--secondary li:not(:last-child) {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 1100px), print {
  .c-list--secondary li:not(:last-child) {
    margin-bottom: 1em;
  }
}
.c-list--secondary li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  background-color: #333;
}
.c-list--normal li {
  position: relative;
  padding-left: 1.1em;
}
.c-list--normal li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

/* --------------------------------
  c-check-list
-------------------------------- */
.c-check-list__item {
  position: relative;
  color: #419A11;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.15;
  padding-left: 2.2em;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke;
}
@media screen and (min-width: 768px), print {
  .c-check-list__item {
    letter-spacing: 0.05em;
    font-size: 2.4rem;
  }
}
.c-check-list__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.2rem;
  height: 2.2rem;
  background: url("../img/base/icon-check_kiiro.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .c-check-list__item::before {
    width: 4.5rem;
    height: 4rem;
  }
}
.c-check-list__item:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px), print {
  .c-check-list__item:not(:last-child) {
    margin-bottom: 3rem;
  }
}

/* --------------------------------

  c-news-list

-------------------------------- */
.c-news-list__item {
  padding: 2rem 0;
  border-bottom: 1px dashed #dddddd;
}
.c-news-list__item:first-child {
  border-top: 1px dashed #dddddd;
}
@media screen and (min-width: 1100px), print {
  .c-news-list__item {
    padding: 2.5rem 0;
  }
}
.c-news-item {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 13rem 9.3rem 1fr;
  gap: 1rem 1.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px), print {
  .c-news-item {
    gap: 1.5rem;
    grid-template-columns: 15rem 9.3rem 1fr;
  }
}
.c-news-item__link {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  color: #000000;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .c-news-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #419A11;
  }
  .c-news-item__link:where(:any-link, :enabled, summary):hover {
    color: #419A11;
  }
}
.c-news-item__date {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  color: #000000;
}
.c-news-item__category {
  min-height: 2.6rem;
  color: #fff;
  background-color: #82BC64;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  place-content: center;
  border-radius: 10em;
}
@media screen and (min-width: 768px), print {
  .c-news-item__category {
    font-size: 1.6rem;
    min-height: 3rem;
  }
}
@media screen and (max-width: 767.98px) {
  .c-news-item__title {
    grid-column: 1/-1;
  }
}

/* c-news-thumb */
.c-news-thumb-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 480px), print {
  .c-news-thumb-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
.c-news-thumb-list--archive {
  gap: 1.5rem;
}
@media screen and (min-width: 480px), print {
  .c-news-thumb-list--archive {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-list--archive {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-list--archive .c-news-thumb-item__title {
    font-size: 1.6rem;
    max-height: 8.7rem;
  }
}
.c-news-thumb-item {
  height: 100%;
}
.c-news-thumb-item-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 0.8rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-item-tags {
    gap: 0.5rem 1rem;
  }
}
.c-news-thumb-item-tags__item {
  display: inline-block;
  color: #256106;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-item-tags__item {
    font-size: 1.4rem;
  }
}
.c-news-thumb-item__link {
  display: block;
  height: 100%;
  color: #000;
  text-decoration: none;
  line-height: 1.35;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(33, 94, 0, 0.08);
          box-shadow: 0 0 10px rgba(33, 94, 0, 0.08);
  word-break: break-all;
  word-wrap: break-word;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .c-news-thumb-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #419A11;
  }
  .c-news-thumb-item__link:where(:any-link, :enabled, summary):hover {
    color: #419A11;
  }
  .c-news-thumb-item__link:where(:-moz-any-link, :enabled, summary):hover .c-news-thumb-item__image img {
    scale: 1.05;
  }
  .c-news-thumb-item__link:where(:any-link, :enabled, summary):hover .c-news-thumb-item__image img {
    scale: 1.05;
  }
}
.c-news-thumb-item__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 141/82;
}
.c-news-thumb-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.c-news-thumb-item__body {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-item__body {
    padding: 1.5rem 2rem 2rem 2rem;
    gap: 1.5rem;
  }
}
.carousel-swiper .c-news-thumb-item__body {
  min-height: 8rem;
}
@media screen and (min-width: 1100px), print {
  .carousel-swiper .c-news-thumb-item__body {
    min-height: 10rem;
  }
}
.c-news-thumb-item__excerpt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 8.4rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-item__excerpt {
    font-size: 1.6rem;
    max-height: 9.6rem;
  }
}
.c-news-thumb-item__title {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 7.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-thumb-item__title {
    font-size: 1.8rem;
    max-height: 9.8rem;
  }
}
.carousel-swiper .c-news-thumb-item__title {
  -webkit-line-clamp: 2;
  max-height: 5.1rem;
}
@media screen and (min-width: 1100px), print {
  .carousel-swiper .c-news-thumb-item__title {
    max-height: 6.5rem;
  }
}
/* c-news-category */
.c-news-category-item {
  padding: 1rem 0;
  border-bottom: 1px solid #ffffff;
}
.c-news-category-item__title {
  display: block;
}
.c-news-category-item__link {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  word-break: break-all;
  word-wrap: break-word;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .c-news-category-item__link {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-news-category-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #0E4DCF;
  }
  .c-news-category-item__link:where(:any-link, :enabled, summary):hover {
    color: #0E4DCF;
  }
}

/* c-news-tags */
.c-news-tags-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-tags-list {
    gap: 1rem;
  }
}
.c-news-tags-item__link {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: #0B41B1;
  border: 1px solid #0B41B1;
  font-family: "Noto Sans JP", sans-serif;
  background-color: transparent;
  word-break: break-all;
  word-wrap: break-word;
  text-decoration: none;
  border-radius: 10em;
  padding: 0.5rem 1.5rem;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .c-news-tags-item__link {
    font-size: 1.6rem;
    padding: 0.55rem 2rem;
  }
}
@media (hover: hover) {
  .c-news-tags-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #ffffff;
    background-color: #0B41B1;
  }
  .c-news-tags-item__link:where(:any-link, :enabled, summary):hover {
    color: #ffffff;
    background-color: #0B41B1;
  }
}

/* c-news-recommend */
.c-news-recommend-list__item:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-recommend-list__item:not(:last-child) {
    margin-bottom: 2.4rem;
  }
}
.c-news-recommend-item__link {
  display: block;
  color: #000000;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .c-news-recommend-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
  .c-news-recommend-item__link:where(:any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
  .c-news-recommend-item__link:where(:-moz-any-link, :enabled, summary):hover .c-news-recommend-item__image img {
    scale: 1.05;
  }
  .c-news-recommend-item__link:where(:any-link, :enabled, summary):hover .c-news-recommend-item__image img {
    scale: 1.05;
  }
}
.c-news-recommend-item__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 103/60;
  margin-bottom: 1.2rem;
}
.c-news-recommend-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.c-news-recommend-item__title {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 4.5rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .c-news-recommend-item__title {
    font-size: 1.6rem;
    max-height: 5.5rem;
  }
}

/* c-news-ranking */
.c-news-ranking-list {
  counter-reset: number 0;
}
.c-news-ranking-list__item {
  padding: 0 0 1.5rem 0;
  border-bottom: 1px solid #ffffff;
}
.c-news-ranking-list__item:nth-child(1) .c-news-ranking-item__rank::after {
  background: url("../img/pages/topics/icon_rank_01.svg") no-repeat center/contain;
}
.c-news-ranking-list__item:nth-child(2) .c-news-ranking-item__rank::after {
  background: url("../img/pages/topics/icon_rank_02.svg") no-repeat center/contain;
}
.c-news-ranking-list__item:nth-child(3) .c-news-ranking-item__rank::after {
  background: url("../img/pages/topics/icon_rank_03.svg") no-repeat center/contain;
}
.c-news-ranking-list__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
.c-news-ranking-item__link {
  display: block;
  color: #000000;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .c-news-ranking-item__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
  .c-news-ranking-item__link:where(:any-link, :enabled, summary):hover {
    color: #0B41B1;
  }
}
.c-news-ranking-item__rank {
  position: relative;
  display: block;
  padding-left: 1.9em;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-ranking-item__rank {
    padding-left: 2.15em;
  }
}
.c-news-ranking-item__rank::after {
  content: "";
  position: absolute;
  top: 0.135em;
  left: 0;
  width: 2.2rem;
  height: 1.8rem;
}
@media screen and (min-width: 1100px), print {
  .c-news-ranking-item__rank::after {
    width: 2.5rem;
    height: 2rem;
  }
}
.c-news-ranking-item__rank::before {
  counter-increment: number 1;
  content: counter(number) "位";
  display: block;
  color: #0B41B1;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
}
@media screen and (min-width: 1100px), print {
  .c-news-ranking-item__rank::before {
    font-size: 2rem;
  }
}
.c-news-ranking-item__title {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 4.5rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (min-width: 1100px), print {
  .c-news-ranking-item__title {
    font-size: 1.6rem;
    max-height: 5.5rem;
  }
}

/* GMOトピックス ページネーション */
#topics_paging, #topics_paging li {
  display: -ms-flexbox;
}

#topics_paging_all {
  margin-top: 4rem;
  margin-bottom: 0.75rem;
  text-align: center;
}

#topics_paging {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -1em;
}

#topics_paging li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0.25rem;
  padding: 0.75rem 1rem 0.77rem;
  line-height: 1.2;
  font-size: 1.4rem;
  color: #333;
  text-align: center;
  border-radius: 0;
  border: 1px solid #eee;
  background-color: #fff;
  list-style-type: none;
  list-style-image: none;
}

#topics_paging a {
  display: block;
  margin: -0.75rem -1rem;
  padding: 0.75rem 1rem;
  color: #333;
}

#topics_paging a:hover {
  color: #419A11;
  text-decoration: none;
}

/* WP ページネーション */
.c-pagination {
  display: block;
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .c-pagination {
    margin-top: 4rem;
  }
}
.c-pagination__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-pagination__numbers {
  display: block;
  margin: 0 0.2rem;
  padding: 1rem 1.5rem;
  line-height: 1.2;
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  background-color: rgba(148, 148, 148, 0.5);
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
  text-decoration: none;
}
@media screen and (max-width: 767.98px) {
  .c-pagination__numbers {
    margin: 0.2rem;
    font-size: 1.4rem;
  }
}
.c-pagination__numbers:hover {
  text-decoration: none;
}
.c-pagination__numbers[href]:hover,
.c-pagination .is-current {
  background-color: #419A11;
}
.c-pagination__screenreader {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.c-pagetitle {
  position: relative;
  overflow: hidden;
  margin-top: 6rem;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .c-pagetitle {
    margin-top: 10rem;
    padding-left: 5rem;
  }
}
.c-pagetitle__container {
  width: 100%;
  height: 16rem;
  background: url("../img/base/page-title.webp") no-repeat center/cover;
}
@media screen and (min-width: 768px), print {
  .c-pagetitle__container {
    height: 20rem;
  }
}
@media screen and (min-width: 1100px), print {
  .c-pagetitle__container {
    height: 30rem;
  }
}
.c-pagetitle__name {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  background: -webkit-gradient(linear, right top, left top, from(rgba(11, 65, 177, 0.8)), to(rgba(17, 180, 137, 0.8)));
  background: linear-gradient(270deg, rgba(11, 65, 177, 0.8) 0%, rgba(17, 180, 137, 0.8) 100%);
  color: #fff;
  padding: 2rem;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .c-pagetitle__name {
    font-size: 3rem;
    padding: 3rem 3rem 3rem 4rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1100px), print {
  .c-pagetitle__name {
    font-size: 4.5rem;
    padding: 5rem 5rem 5rem 10rem;
  }
}

/* --------------------------------

  c-footer-nav

-------------------------------- */
.c-footer-nav {
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .c-footer-nav {
    grid-template-columns: repeat(4, auto);
  }
}
@media screen and (min-width: 1280px), print {
  .c-footer-nav {
    gap: 2.5rem;
    max-width: none;
  }
}
@media screen and (min-width: 1600px), print {
  .c-footer-nav {
    gap: 5rem;
  }
}
.c-footer-nav__item:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .c-footer-nav__item:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.c-footer-nav__link {
  position: relative;
  display: block;
  line-height: 1.2;
  color: #fff;
  font-weight: 500;
  font-size: 1.8rem;
  text-decoration: none;
  padding: 1.2rem 2.5rem 1.2rem 0;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 1100px), print {
  .c-footer-nav__link {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1440px), print {
  .c-footer-nav__link {
    font-size: 1.8rem;
    min-width: 21rem;
    padding: 1.2rem 4rem 1.2rem 0;
  }
}
.c-footer-nav__link::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  background: url("../img/base/icon-arrow_right_wht.svg") no-repeat center/contain;
}
@media (hover: hover) {
  .c-footer-nav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #65C533;
  }
  .c-footer-nav__link:where(:any-link, :enabled, summary):hover {
    color: #65C533;
  }
  .c-footer-nav__link:where(:-moz-any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_green.svg") no-repeat center/contain;
  }
  .c-footer-nav__link:where(:any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_green.svg") no-repeat center/contain;
  }
}
.c-footer-nav__title {
  position: relative;
  display: block;
  line-height: 1.2;
  color: #fff;
  font-weight: 500;
  font-size: 1.8rem;
  text-decoration: none;
  padding: 1.2rem 4rem 1.2rem 0;
  white-space: nowrap;
  border-bottom: 1px solid #fff;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .c-footer-nav__title {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width: 1440px), print {
  .c-footer-nav__title {
    font-size: 1.8rem;
    min-width: 21rem;
  }
}
.c-footer-nav__group {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 1100px), print {
  .c-footer-nav__group {
    gap: 2rem;
  }
}
@media screen and (min-width: 1440px), print {
  .c-footer-nav__group {
    gap: 4rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .c-footer-subnav {
    padding-left: 1rem;
  }
}
.c-footer-subnav__item:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-footer-subnav__item:not(:last-child) {
    margin-bottom: 1.3rem;
  }
}
.c-footer-subnav__link {
  display: inline-block;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  font-size: 1.6rem;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .c-footer-subnav__link {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1440px), print {
  .c-footer-subnav__link {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-footer-subnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #65C533;
  }
  .c-footer-subnav__link:where(:any-link, :enabled, summary):hover {
    color: #65C533;
  }
}

/* --------------------------------

  c-pagetop

-------------------------------- */
.c-pagetop {
  display: block;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 4rem;
  height: 4rem;
  text-align: center;
  overflow: hidden;
  border-radius: 0.5rem;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media screen and (min-width: 1100px), print {
  .c-pagetop {
    position: fixed;
    border-radius: 0.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 5rem;
    height: 5rem;
  }
}
.is-fixed .c-pagetop {
  opacity: 1;
  pointer-events: auto;
}
.c-pagetop__link {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border-radius: 0;
  background-color: #419A11;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
@media (hover: hover) {
  .c-pagetop__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    text-decoration: none;
    background-color: #256106;
  }
  .c-pagetop__link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    text-decoration: none;
    background-color: #256106;
  }
  .c-pagetop__link:where(:-moz-any-link, :enabled, summary):hover::before {
    border-color: #fff;
  }
  .c-pagetop__link:where(:any-link, :enabled, summary):hover::before {
    border-color: #fff;
  }
}
.c-pagetop__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.6rem;
  right: 0;
  bottom: 0;
  left: 0;
  width: 1.1rem;
  height: 1.1rem;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition-property: border-color;
  transition-property: border-color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
@media screen and (min-width: 1100px), print {
  .c-pagetop__link::before {
    top: 0.9rem;
    width: 1.3rem;
    height: 1.3rem;
  }
}
.c-pagetop__icon {
  display: none;
}

/* --------------------------------

  c-breadcrumbs

-------------------------------- */
.c-breadcrumbs {
  padding: 0 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .c-breadcrumbs {
    padding: 0 5rem;
  }
}
.c-breadcrumbs--industry {
  margin-top: 6rem;
  background-color: #ffffff;
  padding-block: 1rem;
}
@media screen and (min-width: 1100px), print {
  .c-breadcrumbs--industry {
    margin-top: 10rem;
    padding-block: 1.5rem;
  }
}
.c-breadcrumbs-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "Noto Sans JP", sans-serif;
  gap: 0.5rem 1rem;
}
.c-breadcrumbs-list__item {
  line-height: 1.35;
}
.c-breadcrumbs-list__current {
  display: inline-block;
  font-size: 1.4rem;
  color: #000000;
}
@media screen and (min-width: 1100px), print {
  .c-breadcrumbs-list__current {
    font-size: 1.6rem;
  }
}
.c-breadcrumbs-list a {
  color: #256106;
}
@media (hover: hover) {
  .c-breadcrumbs-list a:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: none;
  }
  .c-breadcrumbs-list a:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
  }
}
.c-breadcrumbs-list__link {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  color: #256106;
  text-decoration: underline;
  padding-right: 2rem;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 1100px), print {
  .c-breadcrumbs-list__link {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-breadcrumbs-list__link:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: none;
  }
  .c-breadcrumbs-list__link:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
  }
}
.c-breadcrumbs-list__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background: url("../img/base/icon-arrow_right_blk.svg") no-repeat center/contain;
  place-content: center;
}

/* --------------------------------

  c-table

-------------------------------- */
.c-table {
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .c-tableWrap {
    overflow-x: auto;
  }
  .c-tableWrap .c-table {
    min-width: 49rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-table--fixed {
    table-layout: fixed;
  }
}
.c-table__head .c-table__title {
  text-align: center;
  background-color: #F4F4F4;
  white-space: nowrap;
}
.c-table__title {
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 768px), print {
  .c-table__title {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .c-table__title {
    font-size: 1.8rem;
  }
}
.c-table__content {
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 400;
}
@media screen and (min-width: 768px), print {
  .c-table__content {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1100px), print {
  .c-table__content {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.c-table__title, .c-table__content {
  border: 1px solid #DFDFDF;
  vertical-align: middle;
  padding: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .c-table__title, .c-table__content {
    padding: 1.8rem;
  }
}

/* --------------------------------

  トップページ

-------------------------------- */
/* p-loading */
.p-loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  text-align: center;
  color: #fff;
  background: #fff;
  -webkit-transition: opacity 1.5s ease;
  transition: opacity 1.5s ease;
}
.p-loading.is-fadeout {
  opacity: 0;
  pointer-events: none;
}
.p-loading__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (min-width: 768px), print {
  .p-loading__inner {
    width: 24rem;
  }
}
.p-loading__inner.is-fadeout {
  opacity: 0;
}
.p-loading__logo img {
  width: auto;
  height: auto;
}
.p-loading__logo.js-anime-fadeup {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}
@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* p-home-mv */
.p-home-mv {
  position: relative;
  --mv-header-offset: 6rem;
  --mv-banner-offset: 6.5rem;
  --mv-image-offset: clamp(2rem, calc(30 * var(--vw1100)), 3rem);
  min-height: calc(100vh - (var(--mv-header-offset) + var(--mv-banner-offset)));
  min-height: calc(100svh - (var(--mv-header-offset) + var(--mv-banner-offset)));
  margin-top: var(--mv-header-offset);
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-mv {
    --mv-header-offset: 10rem;
    --mv-image-offset: clamp(2.5rem, calc(50 * var(--vw1440)), 5rem);
    min-height: calc(100vh - var(--mv-header-offset));
    min-height: calc(100svh - var(--mv-header-offset));
  }
}
.p-home-mv__container {
  position: relative;
  min-height: inherit;
}
.p-home-mv__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: var(--mv-image-offset);
  left: var(--mv-image-offset);
  overflow: hidden;
  margin: 0;
}
.p-home-mv__image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-home-mv__badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0.3rem;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .p-home-mv__badge {
    top: 1.7rem;
    right: 1.5rem;
    gap: 0.5rem;
  }
}
.p-home-mv__badge-item {
  max-width: 10rem;
}
@media screen and (min-width: 768px), print {
  .p-home-mv__badge-item {
    max-width: 15rem;
  }
}
.p-home-mv__slider {
  position: relative;
}
.p-home-mv__content {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.p-home-mv__catch {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(rgba(11, 65, 177, 0.8)), to(rgba(17, 180, 137, 0.8)));
  background: linear-gradient(270deg, rgba(11, 65, 177, 0.8) 0%, rgba(17, 180, 137, 0.8) 100%);
  display: inline-block;
  padding: clamp(2rem, 30 * var(--vw1100), 3rem) clamp(2rem, 30 * var(--vw1100), 3rem) clamp(3.5rem, 50 * var(--vw1100), 5rem) clamp(3.5rem, 50 * var(--vw1100), 5rem);
}
@media screen and (min-width: 1100px), print {
  .p-home-mv__catch {
    padding: clamp(2.5rem, 35 * var(--vw1440), 3.5rem) clamp(2.5rem, 35 * var(--vw1440), 3.5rem) clamp(3.5rem, 70 * var(--vw1440), 7rem) clamp(3.5rem, 70 * var(--vw1440), 7rem);
  }
}
.p-home-mv__catchEn {
  display: block;
  font-size: clamp(3.2rem, 55 * var(--vw1100), 5.5rem);
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.025em;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-mv__catchEn {
    font-size: clamp(3.2rem, 64 * var(--vw1440), 6.4rem);
  }
}
.p-home-mv__catchJa {
  display: block;
  font-size: clamp(2rem, 35 * var(--vw1100), 3.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 1100px), print {
  .p-home-mv__catchJa {
    font-size: clamp(2.4rem, 40 * var(--vw1440), 4rem);
  }
}
.p-home-mv__catchParticle {
  font-size: clamp(1.8rem, 32 * var(--vw1100), 3.2rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 1100px), print {
  .p-home-mv__catchParticle {
    font-size: clamp(2rem, 36 * var(--vw1440), 3.6rem);
  }
}

/* p-home-about */
.p-home-about {
  position: relative;
  padding: 5rem 2rem;
  background-color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .p-home-about {
    padding: 6rem 0 4rem 0;
  }
}
.p-home-about__inner {
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__inner {
    max-width: 128.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-about__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-about__container {
    position: relative;
    z-index: 0;
  }
}
.p-home-about__image {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__image {
    margin-bottom: 0;
  }
}
.p-home-about__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__image img {
    height: 54rem;
  }
}
.p-home-about__content {
  place-content: center;
  padding: 0;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__content {
    position: relative;
    padding: 0 5rem;
  }
}
.p-home-about__label {
  position: absolute;
  text-align: center;
  z-index: -1;
  display: inline-block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__label {
    inset: 0;
    opacity: 0.15;
    place-content: center;
    text-align: right;
    font-size: clamp(1.6rem, 165 * var(--vw1600), 16.5rem);
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-about__label {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    height: 16rem;
    display: none;
  }
}
.p-home-about__heading {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 3rem;
  color: #256106;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__heading {
    font-size: 4.5rem;
    text-align: left;
  }
}
.p-home-about__description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__description {
    letter-spacing: 0.02em;
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 3rem;
    text-align: left;
  }
}
.p-home-about__action {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-about__action {
    margin-top: 3rem;
    text-align: left;
  }
}

/* p-home-reason */
.p-home-reason {
  position: relative;
  padding: 0 2rem 5rem 2rem;
  background-color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason {
    padding: 0 0 10rem 0;
  }
}
.p-home-reason__inner {
  max-width: 128.6rem;
  width: 100%;
  margin-inline: auto;
}
.p-home-reason__label {
  position: relative;
  display: block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 4.5rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
  margin-bottom: 0.45em;
  z-index: 0;
}
@media screen and (min-width: 480px), print {
  .p-home-reason__label {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__label {
    font-size: 12rem;
    margin-bottom: -0.05em;
    opacity: 0.35;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__label {
    font-size: 16.5rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-reason__label {
    display: none;
  }
}
.p-home-reason .p-home-reason__point {
  max-width: 30rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason .p-home-reason__point {
    max-width: none;
  }
}
.p-home-reason .p-home-reason__point img {
  position: static;
  width: auto;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 1099.98px) {
  .p-home-reason .p-home-reason__point img {
    max-height: 5rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-home-reason .p-home-reason__point img {
    max-height: 4rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-reason__inner {
    max-width: 50rem;
    margin-inline: auto;
  }
}
.p-home-reason__slider {
  max-width: 50rem;
}
.p-home-reason__slider .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-home-reason__slider .swiper-slide {
  height: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__slider {
    margin-left: auto;
    max-width: 136rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-reason__slider {
    margin-inline: auto;
  }
}
.p-home-reason__wrap {
  background: -webkit-gradient(linear, right top, left top, from(rgba(14, 77, 207, 0.8)), to(rgba(5, 52, 148, 0.8)));
  background: linear-gradient(270deg, rgba(14, 77, 207, 0.8) 0%, rgba(5, 52, 148, 0.8) 100%);
  height: 100%;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__wrap {
    display: grid;
    grid-template-columns: 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-template-columns: 64% 36%;
    grid-template-rows: minmax(44.3rem, auto);
  }
}
.p-home-reason__content {
  padding: 2rem 2rem 4.5rem 2rem;
  min-height: 35rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__content {
    display: grid;
    padding: 2rem 3rem 5rem 3rem;
    min-height: 0;
    gap: 1.5rem;
  }
}
.p-home-reason__heading {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px), print {
  .p-home-reason__heading {
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__heading {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__heading {
    font-size: 4.5rem;
  }
}
.p-home-reason__description {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.02em;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__description {
    font-size: 1.6rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__description {
    font-size: 1.9rem;
  }
}
.p-home-reason__define {
  background-color: #fff;
  padding: 0.35em 0.5em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__define {
    padding: 0.45em 0.85em;
  }
}
.p-home-reason__define dt, .p-home-reason__define dd {
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.025em;
  font-family: "Noto Sans JP", sans-serif;
  background: -webkit-gradient(linear, left top, left bottom, from(#419A11), to(#11B489));
  background: linear-gradient(180deg, #419A11 0%, #11B489 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  display: block;
  padding: 0 0.12em;
}
.p-home-reason__define dt {
  font-size: 1.3rem;
  padding: 0.25em 0.5em 0 0;
}
@media screen and (min-width: 360px), print {
  .p-home-reason__define dt {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__define dt {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__define dt {
    font-size: 2.5rem;
  }
}
.p-home-reason__define dd {
  font-size: 1.3rem;
}
@media screen and (min-width: 360px), print {
  .p-home-reason__define dd {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__define dd {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__define dd {
    font-size: 3rem;
  }
}
.p-home-reason__define-num {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 360px), print {
  .p-home-reason__define-num {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__define-num {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__define-num {
    font-size: 4rem;
  }
}
.p-home-reason__subheading {
  position: relative;
  color: #fff;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.025em;
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  padding: 0 0 0.5em 2.1em;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__subheading {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__subheading {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}
.p-home-reason__subheading--01::before {
  content: "01.";
}
.p-home-reason__subheading--02::before {
  content: "02.";
}
.p-home-reason__subheading--03::before {
  content: "03.";
}
.p-home-reason__subheading::before {
  position: absolute;
  left: 0;
  top: 0.035em;
  line-height: 1.25;
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__subheading::before {
    font-size: 3.2rem;
    top: 0;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__subheading::before {
    font-size: 4rem;
  }
}
.p-home-reason__subheading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.3rem;
  background: #ffffff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0.2)));
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.2) 100%);
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__subheading::after {
    height: 0.5rem;
  }
}
.p-home-reason__intro {
  display: inline-block;
  background-color: #fff;
  padding: 0.28em 0.35em;
  line-height: 1.2;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__intro {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__intro {
    font-size: 3.5rem;
  }
}
.p-home-reason__intro-name {
  background: -webkit-gradient(linear, left top, left bottom, from(#419A11), to(#11B489));
  background: linear-gradient(180deg, #419A11 0%, #11B489 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  display: block;
  padding: 0 0.12em;
}
@media screen and (max-width: 1099.98px) {
  .p-home-reason-list {
    margin-top: 1.5rem !important;
  }
}
.p-home-reason-list__item {
  position: relative;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
  padding-left: 1.1em;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason-list__item {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason-list__item {
    font-size: 2rem;
  }
}
.p-home-reason-list__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-reason__image {
  position: relative;
  overflow: hidden;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__image {
    right: -1px;
    height: 100%;
  }
}
.p-home-reason__image-num {
  position: absolute;
  bottom: -0.17em;
  right: -0.015em;
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Lato", sans-serif;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.05em;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__image-num {
    font-size: 17rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-reason__image-num {
    font-size: 17rem;
  }
}
.p-home-reason__image::before {
  content: "";
  display: block;
  padding-top: 80%;
}
@media screen and (min-width: 1100px), print {
  .p-home-reason__image::before {
    padding-top: 100%;
  }
}
/* p-home-partnership */
.p-home-partnership {
  position: relative;
  padding: 4rem 2rem;
  background-color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership {
    padding: 5rem 4rem;
  }
}
.p-home-partnership__inner {
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__inner {
    max-width: 128.6rem;
  }
}
.p-home-partnership__container {
  position: relative;
  max-width: 150rem;
  width: 100%;
  margin-inline: auto;
  background: url("../img/top/partner_bg.jpg") no-repeat center/cover;
  padding: 3rem 2rem;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__container {
    padding: 4.5rem;
  }
}
.p-home-partnership__label {
  position: absolute;
  top: -0.05em;
  left: -0.06em;
  display: block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  opacity: 0.75;
  background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0.2)), to(#FFF));
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.2) 0%, #FFF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
  z-index: -1;
}
@media screen and (min-width: 480px), print {
  .p-home-partnership__label {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__label {
    font-size: 11rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-partnership__label {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-partnership__label {
    display: none;
  }
}
.p-home-partnership__heading {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.025em;
  font-family: "Noto Sans JP", sans-serif;
  color: #256106;
  text-align: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__heading {
    margin-bottom: 2rem;
    font-size: 4.5rem;
    letter-spacing: 0.05em;
  }
}
.p-home-partnership__action {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__action {
    margin-top: 3rem;
  }
}
.p-home-partnership__description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-partnership__description {
    letter-spacing: 0.02em;
    font-size: 1.6rem;
    line-height: 2;
  }
}

/* p-home-recruit */
.p-home-recruit {
  padding-inline: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit {
    padding-inline: 4rem;
  }
}
.p-home-recruit__inner {
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__inner {
    max-width: 128.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.p-home-recruit__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__image img {
    height: 35rem;
  }
}
.p-home-recruit__content {
  height: auto;
  padding: 2rem 2rem 3rem 2rem;
  background: -webkit-gradient(linear, right top, left top, from(rgba(14, 77, 207, 0.8)), to(rgba(5, 52, 148, 0.8)));
  background: linear-gradient(270deg, rgba(14, 77, 207, 0.8) 0%, rgba(5, 52, 148, 0.8) 100%);
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__content {
    height: 35rem;
    padding: 4rem;
  }
}
.p-home-recruit__description {
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1440px), print {
  .p-home-recruit__description {
    font-size: 1.6rem;
  }
}
.p-home-recruit__heading {
  margin-bottom: 1.6rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__heading {
    text-align: left;
    margin-bottom: 2rem;
  }
}
.p-home-recruit__heading-ja {
  display: block;
  color: #ffffff;
  line-height: 1.35;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.085em;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__heading-ja {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-recruit__heading-ja {
    font-size: 4.5rem;
  }
}
.p-home-recruit__heading-en {
  display: block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5.5rem;
  font-weight: 700;
  opacity: 0.5;
  background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0.2)), to(#FFF));
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.2) 0%, #FFF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.025em;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__heading-en {
    position: absolute;
    top: -0.03em;
    right: 0;
    opacity: 0.25;
    font-size: 11rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-recruit__heading-en {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-recruit__heading-en {
    display: none;
  }
}
.p-home-recruit__action {
  margin-top: 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-recruit__action {
    text-align: left;
    margin-top: 3rem;
  }
}

/* p-home-news */
.p-home-news {
  position: relative;
  padding: 4rem 2rem;
  background-color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .p-home-news {
    padding: 5rem 4rem;
  }
}
.p-home-news::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/top/news_bg.png") no-repeat top left/contain;
  z-index: 0;
}
.p-home-news__inner {
  max-width: 50rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-news__inner {
    max-width: 128.6rem;
  }
}
.p-home-news__header {
  margin-bottom: 2rem;
}
.p-home-news__container {
  position: relative;
}
.p-home-news__action {
  text-align: center;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-news__action {
    margin-top: 3rem;
  }
}

/* p-home-blog */
.p-home-blog {
  position: relative;
  padding: 4rem 2rem;
  background: -webkit-gradient(linear, left top, right top, from(rgba(170, 212, 246, 0.15)), to(rgba(133, 214, 91, 0.15)));
  background: linear-gradient(90deg, rgba(170, 212, 246, 0.15) 0%, rgba(133, 214, 91, 0.15) 100%);
}
@media screen and (min-width: 1100px), print {
  .p-home-blog {
    padding: 5rem 4rem;
  }
}
.p-home-blog__inner {
  max-width: 50rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-blog__inner {
    max-width: 128.6rem;
  }
}
.p-home-blog__header {
  margin-bottom: 2.5rem;
}
.p-home-blog__action {
  text-align: center;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-blog__action {
    margin-top: 3rem;
  }
}

/* p-home-feature */
.p-home-feature {
  background-image: url("../img/top/content_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #fff;
  padding-inline: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-feature {
    padding-inline: 4rem;
  }
}
.p-home-feature__inner {
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-feature__inner {
    max-width: 128.6rem;
  }
}

/* p-home-value */
.p-home-value {
  position: relative;
  padding: 4rem 0;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-value {
    padding: 4rem 0;
  }
}
.p-home-value__inner {
  max-width: 150rem;
  width: 100%;
  margin-inline: auto;
}
.p-home-value__label {
  position: relative;
  display: inline-block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
  margin-bottom: 0.45em;
  z-index: -1;
}
@media screen and (min-width: 480px), print {
  .p-home-value__label {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-value__label {
    position: absolute;
    top: -0.03em;
    right: 0;
    text-align: right;
    font-size: 11rem;
    margin-bottom: 0;
    opacity: 0.3;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-value__label {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-value__label {
    display: none;
  }
}
.p-home-value__header {
  margin-bottom: 1.5rem;
}
.p-home-value__heading {
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-home-value__heading {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-value__heading {
    font-size: 4.5rem;
  }
}
.p-home-value__description {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-value__description {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-value__description {
    font-size: 1.8rem;
  }
}
.p-home-value__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.6rem;
  margin-inline: auto;
  max-width: 50rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-value__container {
    grid-template-columns: repeat(3, 1fr);
    max-width: none;
  }
}
.p-home-value__item {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 10px rgba(33, 94, 0, 0.08);
          box-shadow: 0 0 10px rgba(33, 94, 0, 0.08);
}
.p-home-value__image {
  aspect-ratio: 485/272;
}
.p-home-value__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-home-value__subheading {
  color: #256106;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-value__subheading {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-value__subheading {
    font-size: 3rem;
  }
}
.p-home-value__body {
  padding: 1.5rem 1.5rem 2rem 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-value__body {
    padding: 1.5rem 1.5rem 2rem 1.5rem;
  }
}
.p-home-value__text {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1440px), print {
  .p-home-value__text {
    font-size: 1.6rem;
  }
}
.p-home-value__text-att {
  display: block;
  font-size: 1.2rem;
}
@media screen and (min-width: 1440px), print {
  .p-home-value__text-att {
    font-size: 1.4rem;
  }
}

/* p-home-solution */
.p-home-solution {
  position: relative;
  padding: 0 0 4rem 0;
  z-index: 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution {
    padding: 11rem 0 4rem 0;
  }
}
.p-home-solution__inner {
  max-width: 150rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1099.98px) {
  .p-home-solution__container {
    max-width: 50rem;
    margin-inline: auto;
  }
}
.p-home-solution__label {
  position: relative;
  display: inline-block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
  margin-bottom: 0.45em;
  z-index: -1;
}
@media screen and (min-width: 480px), print {
  .p-home-solution__label {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__label {
    position: absolute;
    top: -0.03em;
    right: 0;
    text-align: right;
    font-size: 11.3rem;
    margin-bottom: 0;
    opacity: 0.3;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-solution__label {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-solution__label {
    display: none;
  }
}
.p-home-solution__header {
  margin-bottom: 1.5rem;
}
.p-home-solution__heading {
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__heading {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-solution__heading {
    font-size: 4.5rem;
  }
}
.p-home-solution__description {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__description {
    font-size: 1.6rem;
  }
}
.p-home-solution__item {
  display: grid;
  grid-template-columns: 1fr;
  background-color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__item {
    grid-template-columns: minmax(0, 27rem) 1fr;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-height: 16.6rem;
  }
}
.p-home-solution__item:not(:last-child) {
  margin-bottom: 2rem;
}
.p-home-solution__main {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr;
  padding: 2rem;
  gap: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__main {
    padding: 2.5rem;
    grid-template-columns: 1fr 27.4rem;
    gap: 2rem;
  }
}
.p-home-solution__subheading {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  border-left: 5px solid #419A11;
  font-weight: 700;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  color: #419A11;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__subheading {
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
    padding-left: 2rem;
  }
}
.p-home-solution__subheading-label {
  display: block;
  font-size: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__subheading-label {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__image {
    position: relative;
    overflow: hidden;
    min-height: 100%;
  }
}
.p-home-solution__image img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.p-home-solution__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-home-solution__actions {
    gap: 1rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

/* p-home-industry */
.p-home-industry {
  position: relative;
  padding: 0 0 4rem 0;
}
@media screen and (min-width: 1100px), print {
  .p-home-industry {
    padding: 7rem 0 5rem 0;
  }
}
.p-home-industry__inner {
  max-width: 150rem;
  width: 100%;
  margin-inline: auto;
}
.p-home-industry-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media screen and (min-width: 768px), print {
  .p-home-industry-menu {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-industry-menu {
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
  }
}
.p-home-industry-menu__item {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 0.5rem rgba(33, 94, 0, 0.08);
          box-shadow: 0 0 0.5rem rgba(33, 94, 0, 0.08);
}
.p-home-industry-menu__item--super {
  background-image: url("../img/top/industry_image_01.webp");
}
.p-home-industry-menu__item--hospital {
  background-image: url("../img/top/industry_image_02.webp");
}
.p-home-industry-menu__item--factory {
  background-image: url("../img/top/industry_image_03.webp");
}
.p-home-industry-menu__item--restaurant {
  background-image: url("../img/top/industry_image_04.webp");
}
.p-home-industry-menu__item--store {
  background-image: url("../img/top/industry_image_05.webp");
}
.p-home-industry-menu__item--nursing {
  background-image: url("../img/top/industry_image_06.webp");
}
.p-home-industry-menu__item--hotel {
  background-image: url("../img/top/industry_image_07.webp");
}
.p-home-industry-menu__item--office {
  background-image: url("../img/top/industry_image_08.webp");
}
.p-home-industry-menu__item--warehouse {
  background-image: url("../img/top/industry_image_09.webp");
}
.p-home-industry-menu__item--apparel {
  background-image: url("../img/top/industry_image_10.webp");
}
.p-home-industry-menu__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 0;
  z-index: 0;
  text-decoration: none;
  background-image: inherit;
  background-repeat: inherit;
  background-size: inherit;
  background-position: inherit;
  overflow: hidden;
}
@media (hover: hover) {
  .p-home-industry-menu__link:where(:-moz-any-link, :enabled, summary):hover::before {
    scale: 1.05;
  }
  .p-home-industry-menu__link:where(:any-link, :enabled, summary):hover::before {
    scale: 1.05;
  }
  .p-home-industry-menu__link:where(:-moz-any-link, :enabled, summary):hover .p-home-industry-menu__label {
    background-color: #419A11;
    color: #ffffff;
  }
  .p-home-industry-menu__link:where(:any-link, :enabled, summary):hover .p-home-industry-menu__label {
    background-color: #419A11;
    color: #ffffff;
  }
  .p-home-industry-menu__link:where(:-moz-any-link, :enabled, summary):hover .p-home-industry-menu__label::after {
    background-image: url("../img/base/icon-arrow_right_wht.svg");
  }
  .p-home-industry-menu__link:where(:any-link, :enabled, summary):hover .p-home-industry-menu__label::after {
    background-image: url("../img/base/icon-arrow_right_wht.svg");
  }
}
.p-home-industry-menu__link::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 284/150;
  background: inherit;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-home-industry-menu__label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 4.8rem;
  padding: 0.8rem 2rem;
  background-color: #ffffff;
  color: #256106;
  text-align: center;
  text-shadow: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  word-break: break-word;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-home-industry-menu__label {
    min-height: 6rem;
    font-size: 2rem;
    padding: 1rem 3.5rem;
  }
}
.p-home-industry-menu__label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0.9rem;
  height: 1.2rem;
  background: url("../img/base/icon-arrow_right_green.svg") no-repeat center/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-image 0.3s ease;
  transition: background-image 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-home-industry-menu__label::after {
    width: 0.9rem;
    height: 1.5rem;
    right: 2rem;
  }
}
.p-home-industry__label {
  position: relative;
  display: inline-block;
  line-height: 0.83;
  font-family: "Lato", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.015em;
  margin-bottom: 0.45em;
  z-index: 0;
}
@media screen and (min-width: 480px), print {
  .p-home-industry__label {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-home-industry__label {
    position: absolute;
    top: -0.03em;
    right: 0;
    text-align: right;
    font-size: 11rem;
    margin-bottom: 0;
    opacity: 0.3;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-industry__label {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-home-industry__label {
    display: none;
  }
}
.p-home-industry__header {
  margin-bottom: 1.5rem;
}
.p-home-industry__heading {
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .p-home-industry__heading {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-industry__heading {
    font-size: 4.5rem;
  }
}
.p-home-industry__description {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-home-industry__description {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-home-industry__description {
    font-size: 1.8rem;
  }
}

/* --------------------------------

  下層ページ 共通

-------------------------------- */
.p-secondary {
  font-family: "Noto Sans JP", sans-serif;
  padding: 3rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary {
    padding: 5rem 4rem;
  }
}
.p-secondary__header {
  margin-bottom: 2rem;
}
.p-secondary__block:not(:last-child) {
  margin-bottom: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary__block:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.p-secondary-table {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.p-secondary-table-define__item:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-table-define__item:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.p-secondary-table-define__title {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-table-define__title {
    margin-bottom: 0.3rem;
    font-size: 1.8rem;
  }
}
.p-secondary-table-define__body {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-table-define__body {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px), print {
  .p-secondary-table__row:first-child .p-secondary-table__heading {
    border-top: 1px solid #DFDFDF;
  }
}
@media screen and (min-width: 768px), print {
  .p-secondary-table__row:first-child .p-secondary-table__content {
    border-top: 1px solid #DFDFDF;
  }
}
.p-secondary-table__heading, .p-secondary-table__content {
  vertical-align: middle;
}
@media screen and (min-width: 768px), print {
  .p-secondary-table__heading, .p-secondary-table__content {
    padding: 1.5rem 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-secondary-table__heading, .p-secondary-table__content {
    padding: 1.5rem 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-secondary-table__heading, .p-secondary-table__content {
    display: block;
  }
}
.p-secondary-table__heading {
  border-bottom: 1px solid #DFDFDF;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-secondary-table__heading {
    width: 17rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-secondary-table__heading {
    font-size: 1.8rem;
    width: 20rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-secondary-table__heading {
    padding: 0 0 1rem 0.5rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 768px), print {
  .p-secondary-table__content {
    border-bottom: 1px solid #DFDFDF;
  }
}
@media screen and (max-width: 767.98px) {
  .p-secondary-table__content {
    padding: 0 0 1.5rem 1rem;
  }
}
.p-secondary-flow {
  position: relative;
  display: grid;
  max-width: 50rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow {
    max-width: none;
  }
}
.p-secondary-flow::before {
  content: "";
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow::before {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
    height: 2rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .p-secondary-flow::before {
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 2rem;
    height: 100%;
  }
}
.p-secondary-flow--recruit {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow--recruit {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
.p-secondary-flow--recruit::before {
  background-color: #A9CCE8;
}
.p-secondary-flow--partner {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow--partner {
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
  }
}
.p-secondary-flow--partner::before {
  background-color: #DFDFDF;
}
.p-secondary-flow__item {
  background-color: #ffffff;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-secondary-flow__body {
  padding: 2rem 1rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow__body {
    padding: 3rem 1rem;
  }
}
.p-secondary-flow__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow__title {
    font-size: 2rem;
  }
}
.p-secondary-flow--partner .p-secondary-flow__title {
  font-size: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow--partner .p-secondary-flow__title {
    font-size: 1.5rem;
  }
}
.p-secondary-flow__head {
  height: 4rem;
  place-content: center;
  text-align: center;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow__head {
    height: 4.6rem;
  }
}
.p-secondary-flow--recruit .p-secondary-flow__head {
  background: -webkit-gradient(linear, right top, left top, from(#05941F), to(#78CF0E));
  background: linear-gradient(270deg, #05941F 0%, #78CF0E 100%);
}
.p-secondary-flow--partner .p-secondary-flow__head {
  background: #256106;
}
.p-secondary-flow__label {
  font-size: 2.2rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow__label {
    font-size: 2.5rem;
  }
}
.p-secondary-flow__num {
  font-size: 2.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-flow__num {
    font-size: 3rem;
  }
}
.p-secondary-flow__icon {
  margin-bottom: 1.5rem;
}
.p-secondary-flow__icon img {
  margin-inline: auto;
}
.p-secondary-intro .p-secondary__header {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-secondary-intro .p-secondary__header {
    margin-bottom: 3rem;
  }
}
.p-secondary-intro__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-secondary-intro__desc {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-secondary-intro__desc {
    font-size: 2rem;
    line-height: 2;
  }
}
.p-secondary-intro__heading {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-secondary-intro__heading {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-secondary-intro__heading {
    font-size: 4.5rem;
    margin-bottom: 3rem;
  }
}

.p-section-dmy {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 4.5rem 0;
}
@media screen and (min-width: 1100px), print {
  .p-section-dmy {
    padding: 9rem 0;
  }
}

/* --------------------------------

  p-footer

-------------------------------- */
.p-footer-logo {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  color: #ffffff;
  margin-bottom: 2rem;
}
.p-footer-info__item:not(:last-child) {
  margin-bottom: 2rem;
}
.p-footer-info__name {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-footer-info__name {
    font-size: 1.6rem;
  }
}
.p-footer-info__address {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-footer-info__address {
    font-size: 1.6rem;
  }
}
.p-footer-info__contact-item {
  display: block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
}
@media screen and (min-width: 1100px), print {
  .p-footer-info__contact-item {
    font-size: 1.6rem;
  }
}

/* --------------------------------

  p-news

-------------------------------- */
.p-news-carousel {
  margin-inline: -2rem;
  margin-bottom: 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-carousel {
    margin-inline: -4rem;
    margin-bottom: 10rem;
  }
}
.p-news-archive__heading {
  display: inline-block;
  background: -webkit-gradient(linear, right top, left top, from(#053494), to(#0E4DCF));
  background: linear-gradient(270deg, #053494 0%, #0E4DCF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 1.8rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-archive__heading {
    font-size: 2rem;
  }
}
.p-news-archive__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}
@media screen and (min-width: 768px), print {
  .p-news-archive__container {
    grid-template-columns: 0.7fr 0.3fr;
    gap: 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1100px), print {
  .p-news-archive__container {
    gap: 5rem;
  }
}
.p-news-archive__inner {
  width: 100%;
  max-width: 55rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-news-archive__inner {
    max-width: 120rem;
  }
}
.p-news-archive__sidebar {
  position: relative;
  max-width: 35rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-news-archive__sidebar {
    max-width: none;
  }
}
.p-news-archive__content {
  max-width: 35rem;
  margin-inline: auto;
}
@media screen and (min-width: 480px), print {
  .p-news-archive__content {
    max-width: none;
  }
}
.p-news-archive-banner--fixed {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-archive-banner--fixed {
    margin-top: 2rem;
  }
}
.p-news-archive-banner--fixed.is-fixed {
  position: fixed;
  margin-top: 0;
  z-index: 10;
  -webkit-animation: newsFixedBannerFade 0.35s ease both;
          animation: newsFixedBannerFade 0.35s ease both;
}
.p-news-archive-banner__item {
  text-align: center;
}
.p-news-archive-banner__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-archive-banner__item:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.p-news-archive-banner__item a {
  display: inline-block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-news-archive-banner__item a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .p-news-archive-banner__item a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.p-news-archive-box {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-archive-box {
    margin-top: 2rem;
  }
}
.p-news-archive-box__item {
  padding: 2rem;
  background: -webkit-gradient(linear, right top, left top, from(#D7EFFF), to(#E3ECFF));
  background: linear-gradient(270deg, #D7EFFF 0%, #E3ECFF 100%);
}
@media screen and (min-width: 1100px), print {
  .p-news-archive-box__item {
    padding: 3rem;
  }
}
.p-news-archive-box__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-archive-box__item:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.p-news-detail__date {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
  letter-spacing: 0.1em;
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 768px), print {
  .p-news-detail__date {
    font-size: 1.6rem;
  }
}
.p-news-detail__thumbnail {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-detail__thumbnail {
    margin-bottom: 3rem;
  }
}
.p-news-detail__body {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 768px), print {
  .p-news-detail__body {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.p-news-detail__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 211/123;
}
.p-news-detail__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-detail__category {
  margin-bottom: 1.2rem;
}
.p-news-detail-tags {
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-detail-tags {
    margin-top: 4rem;
  }
}
.p-news-detail-tags__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (min-width: 1100px), print {
  .p-news-detail-tags__list {
    gap: 1rem;
  }
}
.p-news-detail-tags__item {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: #0B41B1;
  border: 1px solid #0B41B1;
  font-family: "Noto Sans JP", sans-serif;
  background-color: transparent;
  word-break: break-all;
  word-wrap: break-word;
  text-decoration: none;
  border-radius: 0.5rem;
  padding: 0.5rem 1.5rem;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-news-detail-tags__item {
    font-size: 1.6rem;
    padding: 0.55rem 2rem;
  }
}
.p-news-detail__back {
  text-align: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px dashed #dddddd;
}
@media screen and (min-width: 768px), print {
  .p-news-detail__back {
    margin-top: 4rem;
    padding-top: 4rem;
  }
}

@-webkit-keyframes newsFixedBannerFade {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes newsFixedBannerFade {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-news-detail__body h1,
.p-news-detail__body h2,
.p-news-detail__body h3,
.p-news-detail__body h4,
.p-news-detail__body h5,
.p-news-detail__body h6 {
  line-height: 1.2;
  font-size: 100%;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

.p-news-detail__body ul,
.p-news-detail__body ol {
  padding-left: 1.5em;
}

.p-news-detail__body ul li {
  position: relative;
  list-style-type: none;
}

.p-news-detail__body ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.65em;
  left: -1em;
  width: 8px;
  height: 8px;
  margin: auto;
  border-radius: 100%;
  background-color: #217BD8;
}

@media screen and (min-width: 1100px), print {
  .p-news-detail__body ul li::before {
    top: 0.78em;
  }
}
.p-news-detail__body h1 {
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
  font-size: 2.4rem;
  text-align: center;
  border-bottom: 2px solid #eee;
}

@media screen and (min-width: 768px), print {
  .p-news-detail__body h1 {
    padding-bottom: 3rem;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-news-detail__body h1 {
    margin-bottom: 5rem;
  }
}
.p-news-detail__body h1:not(:first-child) {
  margin-top: 5rem;
}

@media screen and (min-width: 1100px), print {
  .p-news-detail__body h1:not(:first-child) {
    margin-top: 7.5rem;
  }
}
.p-news-detail__body h1::before, .p-news-detail__body h1::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.p-news-detail__body h1::before {
  bottom: -0.8rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.35rem;
  background-color: #eee;
}

.p-news-detail__body h1::after {
  bottom: -0.6rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.25rem;
  background-color: #fff;
}

.p-news-detail__body h2 {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 0 0 1rem 0.25em;
  font-weight: 700;
  font-size: 1.8rem;
  border-bottom: 1px solid #eee;
}

@media screen and (min-width: 1100px), print {
  .p-news-detail__body h2 {
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }
}
.p-news-detail__body h2:not(:first-child) {
  margin-top: 5rem;
}

.p-news-detail__body h2::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 1.5em;
  height: 1px;
  background-color: #217BD8;
}

.p-news-detail__body h3 {
  margin-bottom: 1.5rem;
  padding: 0.5rem 1.5rem;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff;
  border-bottom: none;
  background-color: #217BD8;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px), print {
  .p-news-detail__body h3 {
    font-size: 1.8rem;
  }
}
.p-news-detail__body h3:not(:first-child) {
  margin-top: 3.5rem;
}

.p-news-detail__body h4 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.7rem;
  font-weight: 700;
  font-size: 1.6rem;
  border-bottom: 1px solid #217BD8;
}

@media screen and (min-width: 768px), print {
  .p-news-detail__body h4 {
    font-size: 2rem;
  }
}
.p-news-detail__body h4:not(:first-child) {
  margin-top: 3.5rem;
}

.p-news-detail__body h5 {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 1.5rem;
  padding: 0.35em 1em;
  font-weight: 700;
  font-size: 1.6rem;
  border: 1px solid #217BD8;
}

.p-news-detail__body h5:not(:first-child) {
  margin-top: 3.5rem;
}

.p-news-detail__body h6 {
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.6rem;
  color: #217BD8;
}

@media screen and (min-width: 768px), print {
  .p-news-detail__body h6 {
    font-size: 1.8rem;
  }
}
.p-news-detail__body h6:not(:first-child) {
  margin-top: 3.5rem;
}

.p-news-detail__body a {
  color: #256106 !important;
}

/* --------------------------------

  p-policy

-------------------------------- */
.p-policy__block:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-policy__block:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.p-policy-area-define__item {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
}
@media screen and (min-width: 1100px), print {
  .p-policy-area-define__item {
    grid-template-columns: 8.5rem 1fr;
  }
}
.p-policy-area-define__item--auto {
  grid-template-columns: auto 1fr;
}
@media screen and (min-width: 1100px), print {
  .p-policy-area-define__item--auto {
    grid-template-columns: auto 1fr;
  }
}
.p-policy-area-define__title, .p-policy-area-define__body {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-policy-area-define__title, .p-policy-area-define__body {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.p-policy-area__item:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-policy-area__item:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.p-policy-area__heading {
  display: block;
  line-height: 1.35;
  text-wrap: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-policy-area__heading {
    font-size: 1.8rem;
  }
}

/* --------------------------------

  p-sdgs

-------------------------------- */
.p-sdgs-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
}
.p-sdgs-heading__en {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-heading__en {
    font-size: 2rem;
  }
}
.p-sdgs-heading__ja {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-heading__ja {
    font-size: 3.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-heading__ja {
    font-size: 4.5rem;
  }
}

.p-sdgs-intro {
  position: relative;
  padding: 4rem 2rem 6rem 2rem;
  background: url("../img/pages/sdgs/intro_bg.png") no-repeat center bottom/cover;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-intro {
    padding: 4rem 2rem 6rem 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-intro {
    padding: 5rem 4rem 8rem 4rem;
  }
}
.p-sdgs-intro__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  max-width: 110rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-intro__container {
    grid-template-columns: minmax(38rem, 60rem) minmax(18rem, 35rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-intro__container {
    grid-template-columns: minmax(0, 70rem) minmax(22rem, 34.8rem);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-sdgs-intro__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-sdgs-intro__lead {
  margin-top: 2rem;
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-intro__lead {
    margin-top: 3rem;
    font-size: 2rem;
    line-height: 2;
  }
}
.p-sdgs-intro__signature {
  margin-top: 1.6rem;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-intro__signature {
    margin-top: 3.2rem;
    font-size: 1.8rem;
  }
}
.p-sdgs-intro__mark {
  max-width: 14rem;
  width: 70%;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-intro__mark {
    max-width: 20rem;
    width: 100%;
    margin-inline: 0;
  }
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-intro__mark {
    max-width: 34.8rem;
  }
}
.p-sdgs-intro__mark img {
  width: 100%;
  height: auto;
}

.p-sdgs .l-inner {
  max-width: 110rem;
}
.p-sdgs__header {
  margin-bottom: 3rem;
}
.p-sdgs .p-secondary__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs .p-secondary__container {
    gap: 5rem;
  }
}
.p-sdgs .p-secondary__block {
  margin-bottom: 0;
}
.p-sdgs .p-secondary__block:not(:last-child) {
  margin-bottom: 0;
}
.p-sdgs-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row {
    grid-template-columns: minmax(0, 59rem) minmax(0, 47.3rem);
    gap: 3rem;
  }
}
.p-sdgs-row__heading {
  width: 100%;
  padding: 0.5rem 1.4rem;
  background: -webkit-gradient(linear, right top, left top, from(#D7EFFF), to(#E3ECFF));
  background: linear-gradient(270deg, #D7EFFF 0%, #E3ECFF 100%);
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row__heading {
    padding: 0.5rem 2rem;
    font-size: 2.5rem;
  }
}
.p-sdgs-row__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.p-sdgs-row__lead {
  color: #0B41B1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row__lead {
    font-size: 1.8rem;
  }
}
.p-sdgs-row-define {
  background-color: transparent;
  padding: 0;
}
.p-sdgs-row-define__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #ffffff;
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row-define__title {
    font-size: 1.8rem;
  }
}
.p-sdgs-row-define__body {
  padding-left: 1.2rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row-define__body {
    padding-left: 2rem;
  }
}
.p-sdgs-row-define .c-list--primary li {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row-define .c-list--primary li {
    font-size: 1.6rem;
  }
}
.p-sdgs-row-define .c-list--primary li::before {
  top: 0.6em;
  background-color: #256106;
}
.p-sdgs-row__side {
  width: 100%;
}
.p-sdgs-row__side-title {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 0.7rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row__side-title {
    font-size: 1.6rem;
  }
}
.p-sdgs-row__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row__icons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
}
.p-sdgs-row__image {
  width: 7.8rem;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-row__image {
    width: 9.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-row__image {
    width: 11.1rem;
  }
}
.p-sdgs-row__image img {
  width: 100%;
  height: auto;
}

.p-sdgs-about {
  position: relative;
  padding: 3.5rem 2rem;
  background: url("../img/pages/sdgs/about_bg.png") no-repeat left center/cover;
  overflow: hidden;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-about {
    padding: 7rem 4rem;
    margin-top: 3rem;
    background: url("../img/pages/sdgs/about_bg.png") no-repeat left center/contain;
  }
}
.p-sdgs-about .l-inner {
  max-width: 110rem;
  position: relative;
  z-index: 1;
}
.p-sdgs-about__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-about__container {
    grid-template-columns: minmax(0, 1fr) 37rem;
    gap: 5rem;
  }
}
.p-sdgs-about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px), print {
  .p-sdgs-about__content {
    gap: 2rem;
  }
}
.p-sdgs-about__heading {
  color: #0B41B1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-about__heading {
    font-size: 3rem;
  }
}
.p-sdgs-about__text {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-about__text {
    font-size: 1.6rem;
  }
}
.p-sdgs-about__image {
  max-width: 25rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-sdgs-about__image {
    max-width: 37rem;
  }
}
.p-sdgs-about__image img {
  width: 100%;
  height: auto;
}

/* --------------------------------

  p-recruit

-------------------------------- */
.p-recruit-about-bg {
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
  background: url("../img/pages/recruit/about_bg.png") no-repeat center/cover, -webkit-gradient(linear, right top, left top, from(#053494), to(#0E4DCF));
  background: url("../img/pages/recruit/about_bg.png") no-repeat center/cover, linear-gradient(270deg, #053494 0%, #0E4DCF 100%);
}
.p-recruit-about-bg::before {
  content: "RECRUIT";
  position: absolute;
  top: 1.2rem;
  left: 2rem;
  z-index: 0;
  font-family: "Lato", sans-serif;
  font-size: clamp(6.5rem, 200 * var(--vw1100), 20rem);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: transparent;
  opacity: 0.15;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(133, 201, 255, 0.8)), to(rgba(120, 214, 72, 0.3)));
  background: linear-gradient(180deg, rgba(133, 201, 255, 0.8) 0%, rgba(120, 214, 72, 0.3) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-bg::before {
    top: 1.6rem;
    left: 3rem;
    font-size: 25rem;
  }
}
.p-recruit-about-bg > .p-secondary {
  position: relative;
  z-index: 1;
}
.p-recruit-about {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background: transparent;
  padding: 4rem 2rem 4rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about {
    padding: 10rem 4rem 8rem;
  }
}
.p-recruit-about .l-inner {
  position: relative;
  z-index: 1;
}
.p-recruit-about__intro {
  max-width: 110rem;
}
.p-recruit-about__lead {
  font-size: clamp(1.8rem, 45 * var(--vw1100), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__lead {
    font-size: 4.5rem;
    margin-bottom: 4rem;
    white-space: nowrap;
  }
}
.p-recruit-about__lead span {
  display: block;
}
.p-recruit-about__text, .p-recruit-about__message-text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  color: #ffffff;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__text, .p-recruit-about__message-text {
    font-size: 1.8rem;
    line-height: 2;
  }
}
.p-recruit-about__message {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__message {
    margin-top: 2.2rem;
  }
}
.p-recruit-about__message-list {
  display: grid;
}
.p-recruit-about__message-item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 2.4rem;
  color: #DFFFDA;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__message-item {
    padding-left: 3.5rem;
    font-size: 2.4rem;
    line-height: 1.5;
    white-space: nowrap;
  }
}
.p-recruit-about__message-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  background: url("../img/pages/recruit/icon-check.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__message-item::before {
    width: 2.3rem;
    height: 2.3rem;
  }
}
.p-recruit-about__message-text {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__message-text {
    margin-top: 2rem;
  }
}
.p-recruit-about__body {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.2);
  padding: 4rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__body {
    padding: 5rem 4rem 5rem;
  }
}
.p-recruit-about__body .p-secondary__header {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__body .p-secondary__header {
    margin-bottom: 1.5rem;
  }
}
.p-recruit-about__body .c-heading--pages {
  text-align: left;
}
.p-recruit-about__body .c-heading__en,
.p-recruit-about__body .c-heading__ja {
  color: #ffffff;
}
.p-recruit-about__body .c-heading__en {
  font-size: 1.6rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__body .c-heading__en {
    font-size: 2rem;
  }
}
.p-recruit-about__body .c-heading__ja {
  font-size: 3rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__body .c-heading__ja {
    font-size: 4.5rem;
  }
}
.p-recruit-about__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-recruit-about__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about__container {
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 3rem;
  }
}
.p-recruit-about-card {
  overflow: hidden;
  background-color: #ffffff;
  color: #000000;
  -webkit-box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
}
.p-recruit-about-card__image {
  aspect-ratio: 535/200;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-card__image {
    height: 20rem;
    aspect-ratio: auto;
  }
}
.p-recruit-about-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit-about-card__content {
  display: grid;
  place-items: center;
  gap: 1rem;
  padding: 1.5rem 2rem 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-card__content {
    min-height: 14rem;
    padding: 1rem 2rem;
  }
}
.p-recruit-about-card__heading {
  text-align: center;
}
.p-recruit-about-card__heading-en {
  display: block;
  color: #0B41B1;
  font-family: "Lato", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-card__heading-en {
    font-size: 4rem;
  }
}
.p-recruit-about-card__heading-ja {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-card__heading-ja {
    font-size: 2.5rem;
  }
}
.p-recruit-about-card__text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-card__text {
    font-size: 1.8rem;
  }
}
.p-recruit-about-business {
  display: grid;
  gap: 2rem;
  margin-top: 2rem;
  padding: 3rem 2rem;
  background-color: #ffffff;
  color: #000000;
  text-align: center;
  -webkit-box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business {
    gap: 2rem;
    margin-top: 3rem;
    padding: 3rem 10rem;
    min-height: 12.5rem;
  }
}
.p-recruit-about-business__heading {
  text-align: center;
}
.p-recruit-about-business__heading-en {
  display: block;
  color: #0B41B1;
  font-family: "Lato", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business__heading-en {
    font-size: 4rem;
  }
}
.p-recruit-about-business__heading-ja {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business__heading-ja {
    font-size: 2.5rem;
  }
}
.p-recruit-about-business__list {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 1rem 2rem;
  width: 100%;
  max-width: 26rem;
  margin-inline: auto !important;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business__list {
    gap: 1rem 8rem;
    max-width: 48rem;
    padding-left: 10rem !important;
  }
}
.p-recruit-about-business__item {
  position: relative;
  padding-left: 2rem;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  font-weight: 500;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business__item {
    font-size: 1.8rem;
    padding-left: 2.5rem;
  }
}
.p-recruit-about-business__item::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 1.3rem;
  height: 1.3rem;
  background: -webkit-gradient(linear, right top, left top, from(#78CF0E), to(#05941F));
  background: linear-gradient(270deg, #78CF0E 0%, #05941F 100%);
}
@media screen and (min-width: 1100px), print {
  .p-recruit-about-business__item::before {
    top: 0.63em;
  }
}
.p-recruit-entry__heading {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-entry__heading {
    font-size: 2.5rem;
    margin-bottom: 3.5rem;
  }
}
.p-recruit-entry__desc {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  color: #256106;
  background: -webkit-gradient(linear, left top, right top, from(#E4F3FF), to(#D9FFC5));
  background: linear-gradient(90deg, #E4F3FF 0%, #D9FFC5 100%);
  padding: 2rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px), print {
  .p-recruit-entry__desc {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-recruit-entry__desc {
    font-size: 2.5rem;
    padding: 5rem;
    margin-bottom: 4.5rem;
  }
}
.p-recruit-flow {
  padding: 4rem 2rem;
  background: url("../img/pages/recruit/flow_bg.webp") no-repeat center/cover;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-flow {
    padding: 5rem 4rem;
  }
}
.p-recruit-flow__desc {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-recruit-flow__desc {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-recruit-flow__desc {
    line-height: 2;
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.p-recruit-position-area {
  background-color: #F4F4F4;
  padding: 2rem;
}
.p-recruit-position-area:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area {
    padding: 2rem 3rem;
  }
}
.p-recruit-position-area__conditions {
  margin-top: 4rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__conditions {
    margin-top: 8rem;
  }
}
.p-recruit-position-area__conditions-heading {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__conditions-heading {
    margin-bottom: 3rem;
  }
}
.p-recruit-position-area__heading {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
  cursor: pointer;
  padding-right: 1.3em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.is-active .p-recruit-position-area__heading::before {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.p-recruit-position-area__heading:hover {
  color: #256106;
}
.p-recruit-position-area__heading::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.7rem;
  height: 1.7rem;
  background: url("../img/pages/recruit/arrow_forward_ios.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__heading::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__heading {
    font-size: 2.4rem;
  }
}
.p-recruit-position-area__body {
  display: none;
  margin-top: 1.5rem;
}
.is-active .p-recruit-position-area__body {
  display: block;
}
.p-recruit-position-area__item:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__item:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.p-recruit-position-area__subheading {
  display: block;
  background-color: #DFDFDF;
  padding: 1rem 1rem 1rem 1.5rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__subheading {
    font-size: 1.6rem;
    padding: 1.5rem 1rem 1.5rem 2rem;
  }
}
.p-recruit-position-area__edit {
  font-size: 1.4rem;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-position-area__edit {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.p-recruit-work {
  position: relative;
  overflow: hidden;
  background: url("../img/pages/recruit/work_bg.webp") no-repeat center bottom/cover;
  padding: 4rem 2rem 4rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work {
    padding: 5rem 4rem 5rem;
  }
}
.p-recruit-work::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(25px);
          backdrop-filter: blur(25px);
  pointer-events: none;
}
.p-recruit-work .l-inner {
  position: relative;
  z-index: 1;
}
.p-recruit-work .p-secondary__header {
  margin-bottom: 1rem;
}
.p-recruit-work .c-heading--pages {
  text-align: left;
  color: #256106;
}
.p-recruit-work .c-heading__en {
  color: #256106;
  font-size: 1.6rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work .c-heading__en {
    font-size: 2rem;
  }
}
.p-recruit-work .c-heading__ja {
  color: #256106;
  font-size: 3rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work .c-heading__ja {
    font-size: 4.5rem;
  }
}
.p-recruit-work__lead {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000000;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__lead {
    font-size: 1.6rem;
    white-space: nowrap;
  }
}
.p-recruit-work__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 50rem;
  margin-inline: auto;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px), print {
  .p-recruit-work__container {
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    max-width: 110rem;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.p-recruit-work__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
}
.p-recruit-work__image {
  height: 20rem;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__image {
    height: 26rem;
  }
}
.p-recruit-work__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit-work__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 20px 10px rgba(83, 95, 76, 0.08);
  padding: 2.5rem 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__content {
    gap: 3rem;
    padding: 5rem 2rem;
  }
}
.p-recruit-work__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__desc {
    font-size: 1.6rem;
  }
}
.p-recruit-work__subheading {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__subheading {
    font-size: 2.5rem;
  }
}
.p-recruit-work__heading {
  text-align: center;
}
.p-recruit-work__heading--green .p-recruit-work__heading-en {
  background: -webkit-gradient(linear, left top, right top, from(#AAD4F6), to(#85D65B));
  background: linear-gradient(90deg, #AAD4F6 0%, #85D65B 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-recruit-work__heading--green .p-recruit-work__heading-ja {
  color: #256106;
}
.p-recruit-work__heading--blue .p-recruit-work__heading-en {
  background: -webkit-gradient(linear, right top, left top, from(#AEE0FF), to(#AAC6FF));
  background: linear-gradient(270deg, #AEE0FF 0%, #AAC6FF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-recruit-work__heading--blue .p-recruit-work__heading-ja {
  color: #0B41B1;
}
.p-recruit-work__heading-en {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__heading-en {
    font-size: 4rem;
  }
}
.p-recruit-work__heading-ja {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-recruit-work__heading-ja {
    font-size: 2.4rem;
  }
}

/* --------------------------------

  p-partner

-------------------------------- */
.p-partner-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
}
.p-partner-heading__en {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 1100px), print {
  .p-partner-heading__en {
    font-size: 2rem;
  }
}
.p-partner-heading__ja {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-partner-heading__ja {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-partner-heading__ja {
    font-size: 4.5rem;
  }
}
.p-partner-intro {
  background: url("../img/pages/partner/intro_bg.png") no-repeat center bottom/cover;
}
.p-partner-intro .l-inner {
  max-width: 110rem;
}
.p-partner-intro__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-partner-intro__container {
    grid-template-columns: minmax(0, 49rem) minmax(0, 55rem);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1100px), print {
  .p-partner-intro__container .c-heading--pages .c-heading__ja {
    white-space: nowrap;
  }
}
.p-partner-intro__content {
  min-width: 0;
}
.p-partner-intro__lead {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
  margin-top: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-intro__lead {
    font-size: 2.5rem;
    margin-top: 3rem;
  }
}
.p-partner-intro__text {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-intro__text {
    font-size: 1.8rem;
    margin-top: 2.4rem;
  }
}
.p-partner-intro__image {
  width: 100%;
  max-width: 32rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-partner-intro__image {
    max-width: 40rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-partner-intro__image {
    max-width: 55rem;
  }
}
.p-partner-intro__image img {
  width: 100%;
  height: auto;
}
.p-partner-merit .l-inner {
  max-width: 110rem;
}
.p-partner-merit .p-secondary__header {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit .p-secondary__header {
    margin-bottom: 3rem;
  }
}
.p-partner-merit__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 768px), print {
  .p-partner-merit__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit__container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
  }
}
.p-partner-merit-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  height: 100%;
  padding: 2.5rem 2rem 2rem;
  border: 1px solid #82BC64;
  border-radius: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit-card {
    min-height: 28rem;
    padding: 3rem 0.5rem 2rem;
  }
}
.p-partner-merit-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 8rem;
  height: 6rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit-card__icon {
    width: 10rem;
    height: 8rem;
  }
}
.p-partner-merit-card__icon img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.p-partner-merit-card__title {
  display: grid;
  place-content: center;
  min-height: 7rem;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit-card__title {
    min-height: 8rem;
    font-size: 2.5rem;
  }
}
.p-partner-merit-card__title span {
  font-size: 0.8em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit-card__title span {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-partner-merit-card__title span {
    font-size: 2rem;
  }
}
.p-partner-merit-card__text {
  width: 100%;
  max-width: 31rem;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-partner-merit-card__text {
    font-size: 1.6rem;
  }
}
.p-partner-voice {
  background: url("../img/pages/partner/voice_bg.webp") no-repeat center/cover;
}
.p-partner-voice__container {
  display: grid;
  gap: 1rem;
}
.p-partner-voice-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 10px rgba(83, 95, 76, 0.08);
  padding: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-partner-voice-card {
    grid-template-columns: 16.5rem minmax(0, 1fr);
    gap: 3rem;
    padding: 2.5rem 3rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-partner-voice-card {
    padding: 2.5rem 5rem;
  }
}
.p-partner-voice-card__name {
  display: block;
  text-align: center;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.35;
  margin-top: 1.3rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-voice-card__name {
    font-size: 1.8rem;
  }
}
.p-partner-voice-card__icon {
  position: relative;
  width: 11.5rem;
  height: 11.5rem;
  margin-inline: auto;
}
.p-partner-voice-card__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #DDEEFF;
  border-radius: 50%;
}
.p-partner-voice-card__person {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5.9rem;
  height: 8rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-partner-voice-card__content {
  min-width: 0;
}
.p-partner-voice-card__meta {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-partner-voice-card__meta {
    font-size: 1.8rem;
    text-align: left;
  }
}
.p-partner-voice-card__meta::after {
  content: "";
  display: block;
  width: 5rem;
  height: 0.5rem;
  margin: 1rem auto 0;
  background-color: #0B41B1;
}
@media screen and (min-width: 768px), print {
  .p-partner-voice-card__meta::after {
    margin-inline: 0;
  }
}
.p-partner-voice-card__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-partner-voice-card__title {
    font-size: 2.5rem;
  }
}
.p-partner-voice-card__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.2rem;
}
@media screen and (min-width: 1100px), print {
  .p-partner-voice-card__text {
    font-size: 1.6rem;
  }
}
.p-partner-requirements {
  background-color: #F4F4F4;
}
.p-partner-flow {
  background: url("../img/pages/partner/flow_bg.png") no-repeat center/cover;
}

/* --------------------------------

  p-aboutus

-------------------------------- */
.p-aboutus-message {
  position: relative;
  padding: 3rem 2rem 4rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message {
    padding: 5rem 4rem 10rem;
  }
}
.p-aboutus-message__container {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__container {
    grid-template-columns: minmax(0, 40rem) minmax(0, 1fr);
    gap: 2.5rem 5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.p-aboutus-message__visual {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  max-width: 36rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__visual {
    grid-column: 1;
    grid-row: 3/span 2;
    margin-inline: 0;
    max-width: 48.1rem;
  }
}
.p-aboutus-message__image {
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #EEF8FF;
}
.p-aboutus-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-aboutus-message__content {
  display: contents;
}
.p-aboutus-message__content .p-secondary__header {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 0;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__content .p-secondary__header {
    grid-column: 1/-1;
  }
}
.p-aboutus-message__lead {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  color: #000;
  font-size: clamp(1.8rem, 24 * var(--vw768), 2.4rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__lead {
    grid-column: 1/-1;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1440px), print {
  .p-aboutus-message__lead {
    font-size: 3rem;
  }
}
.p-aboutus-message__body {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  display: grid;
  gap: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__body {
    grid-column: 2;
    grid-row: 3;
    font-size: 1.8rem;
  }
}
.p-aboutus-message__signature {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem 2rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0;
  color: #000;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__signature {
    grid-column: 2;
    grid-row: 4;
  }
}
.p-aboutus-message__position {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__position {
    font-size: 2rem;
  }
}
.p-aboutus-message__name {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-message__name {
    font-size: 3rem;
  }
}
.p-aboutus-card {
  position: relative;
  overflow: hidden;
  padding: 3rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-card {
    padding: 6rem 4rem;
  }
}
.p-aboutus-card--mission {
  background: url("../img/pages/aboutus/mission_bg.png") no-repeat center/cover;
}
.p-aboutus-card--vision {
  background: url("../img/pages/aboutus/vision_bg.png") no-repeat center/cover;
}
.p-aboutus-card--vision .p-aboutus-card__label, .p-aboutus-card--vision .p-aboutus-card__heading {
  color: #419A11;
}
.p-aboutus-card__label {
  display: block;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #0B41B1;
  margin-bottom: 1.3rem;
  font-size: clamp(1.8rem, 24 * var(--vw768), 2.4rem);
}
@media screen and (min-width: 768px), print {
  .p-aboutus-card__label {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-aboutus-card__label {
    font-size: 3rem;
  }
}
.p-aboutus-card__image img {
  margin-inline: auto;
}
.p-aboutus-card__heading {
  display: block;
  font-size: 2.2rem;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #0B41B1;
  margin-bottom: 2.5rem;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-aboutus-card__heading {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-aboutus-card__heading {
    font-size: 4.5rem;
  }
}
.p-aboutus-card__wrap {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-aboutus-card__wrap {
    grid-template-columns: minmax(0, 30.5rem) 1fr;
  }
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-card__wrap {
    gap: 3.2rem;
    grid-template-columns: minmax(0, 43.5rem) 1fr;
  }
}
.p-aboutus-card__body {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-card__body {
    font-size: 1.8rem;
  }
}
.p-aboutus-history {
  overflow: hidden;
  padding: 4rem 2rem 5rem 2rem;
  background: url("../img/pages/aboutus/history_bg.png") no-repeat right top/cover;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history {
    padding: 10rem 4rem 10rem 4rem;
  }
}
.p-aboutus-history .l-inner {
  max-width: 110rem;
}
.p-aboutus-history__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.7rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history__head {
    margin-bottom: 4rem;
  }
}
.p-aboutus-history .p-secondary__header {
  margin-bottom: 0;
}
.p-aboutus-history .c-heading--pages {
  color: #256106;
  line-height: 1.35;
}
.p-aboutus-history .c-heading--pages .c-heading__en {
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history .c-heading--pages .c-heading__en {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
}
.p-aboutus-history .c-heading--pages .c-heading__ja {
  font-size: 3rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history .c-heading--pages .c-heading__ja {
    font-size: 4.5rem;
    letter-spacing: 0.05em;
  }
}
.p-aboutus-history__lead {
  color: #000;
  font-size: clamp(1.8rem, 24 * var(--vw768), 2.4rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history__lead {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-aboutus-history__lead {
    font-size: 3rem;
  }
}
.p-aboutus-history__lead span {
  display: block;
}
.p-aboutus-history__container {
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history__container {
    gap: 6rem;
  }
}
.p-aboutus-history__action {
  text-align: center;
  margin-top: 1.2rem;
}
.p-aboutus-history__action .c-link-button {
  min-width: 20rem;
  height: 4.4rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history__action .c-link-button {
    min-width: 25rem;
    height: 5rem;
    font-size: 1.6rem;
  }
}
.p-aboutus-history-timeline {
  position: relative;
  display: grid;
  gap: 2rem;
  max-width: 110rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline {
    gap: 3rem;
  }
}
.p-aboutus-history-timeline::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  bottom: -3.5rem;
  left: 1.25rem;
  width: 0.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#94D59B), color-stop(88%, #94D59B), to(rgba(148, 213, 155, 0)));
  background: linear-gradient(180deg, #94D59B 0%, #94D59B 88%, rgba(148, 213, 155, 0) 100%);
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline::before {
    top: 4.1rem;
    bottom: -4.1rem;
    left: 20.3rem;
    width: 1.4rem;
  }
}
.p-aboutus-history-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0.8rem 1.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-height: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline__item {
    grid-template-columns: 15rem 6rem minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 6rem;
  }
}
.p-aboutus-history-timeline__item::before {
  content: "";
  grid-column: 1;
  grid-row: 1/span 2;
  align-self: start;
  justify-self: center;
  z-index: 1;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #fff;
  border-radius: 50%;
  border: 0.5rem solid transparent;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#ffffff)), -webkit-gradient(linear, left top, right top, from(#7ECDF4), to(#78D648));
  background-image: linear-gradient(#ffffff, #ffffff), linear-gradient(90deg, #7ECDF4 0%, #78D648 100%);
  background-origin: border-box;
  background-clip: content-box, border-box;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline__item::before {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: 6rem;
    height: 6rem;
    border-width: 1rem;
  }
}
.p-aboutus-history-timeline__year {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  color: #419A11;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: left;
  white-space: nowrap;
}
.p-aboutus-history-timeline__year span {
  font-size: 3rem;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline__year {
    grid-column: 1;
    align-self: center;
    text-align: right;
    font-size: 3rem;
  }
  .p-aboutus-history-timeline__year span {
    font-size: 5rem;
  }
}
.p-aboutus-history-timeline__content {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-timeline__content {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    font-size: 1.8rem;
  }
}
.p-aboutus-history-timeline__content ul {
  padding-left: 0;
}
.p-aboutus-history-timeline__content .c-list__item {
  padding-left: 1.1em;
  line-height: 1.5;
  font-weight: 500;
}
.p-aboutus-history-timeline__content .c-list__item::before {
  content: "・";
  top: 0;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}
.p-aboutus-history-timeline__note {
  padding-left: 1.1em;
  font-size: 1.2rem;
  line-height: 1.6;
}
.p-aboutus-history-sdgs {
  position: relative;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3rem 2rem;
  background: url("../img/pages/sdgs/about_bg.png") no-repeat left center/cover;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.06);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.06);
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-sdgs {
    padding: 6rem 4rem;
    background: url("../img/pages/sdgs/about_bg.png") no-repeat left center/contain;
  }
}
.p-aboutus-history-sdgs .l-inner {
  max-width: 110rem;
  position: relative;
  z-index: 1;
}
.p-aboutus-history-sdgs__container {
  display: grid;
  gap: 2rem;
  justify-items: center;
  min-width: 0;
  max-width: 79rem;
  width: 100%;
  margin-inline: auto;
}
.p-aboutus-history-sdgs__logo {
  width: 100%;
  max-width: 37.8rem;
}
@media screen and (min-width: 768px), print {
  .p-aboutus-history-sdgs__logo {
    max-width: 57.8rem;
  }
}
.p-aboutus-history-sdgs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  width: 100%;
}
.p-aboutus-history-sdgs__list li {
  width: calc((100% - 2rem) / 3);
  max-width: 10rem;
}
@media screen and (min-width: 768px), print {
  .p-aboutus-history-sdgs__list li {
    width: 15rem;
    max-width: 15rem;
  }
}
.p-aboutus-history-sdgs__list img {
  width: 100%;
  height: auto;
}
.p-aboutus-history-sdgs__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-aboutus-history-sdgs__text {
    font-size: 1.6rem;
  }
}

.p-contact__switch {
  display: grid;
  gap: 2rem;
  justify-items: center;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px), print {
  .p-contact__switch {
    gap: 2.8rem;
  }
}
.p-contact__switch-title {
  color: #256106;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-contact__switch-title {
    font-size: 2.5rem;
  }
}
.p-contact__switch-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .p-contact__switch-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.6rem 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-contact__switch-list {
    gap: 3rem;
  }
}
.p-contact__switch-button {
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 25rem;
  min-height: 5.2rem;
  padding: 0.8rem 5rem 0.8rem 4rem;
  color: #0B41B1;
  background: #fff;
  border: 2px solid #0B41B1;
  border-radius: 10em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  -webkit-transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .p-contact__switch-button {
    width: auto;
    font-size: 1.8rem;
    padding-inline: 4rem 6rem;
  }
}
.p-contact__switch-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5rem;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: translateY(-60%) rotate(45deg);
          transform: translateY(-60%) rotate(45deg);
}
@media screen and (min-width: 768px), print {
  .p-contact__switch-button::after {
    right: 2.5rem;
    width: 1rem;
    height: 1rem;
  }
}
.p-contact__switch-button.is-active {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(#053494), to(#0e4dcf));
  background: linear-gradient(270deg, #053494 0%, #0e4dcf 100%);
  border-color: transparent;
}
@media (hover: hover) {
  .p-contact__switch-button:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background: linear-gradient(270deg, #053494 0%, #0e4dcf 100%);
    border-color: transparent;
  }
  .p-contact__switch-button:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background: -webkit-gradient(linear, right top, left top, from(#053494), to(#0e4dcf));
    background: linear-gradient(270deg, #053494 0%, #0e4dcf 100%);
    border-color: transparent;
  }
}
.p-contact__switch-button:focus-visible {
  outline: 0.3rem solid rgba(11, 65, 177, 0.25);
  outline-offset: 0.3rem;
}
.p-contact__panel[hidden] {
  display: none;
}
.p-contact__panel .p-secondary__header {
  margin-bottom: 3rem;
}
.p-contact__panel .u-text-body-md {
  font-family: "Noto Sans JP", sans-serif;
}
.p-contact__container {
  padding-bottom: 4rem;
}
@media screen and (min-width: 768px), print {
  .p-contact__container {
    padding-bottom: 8rem;
  }
}
.p-contact__form {
  margin-inline: 0;
}
.p-contact__text-button {
  display: inline;
  padding: 0;
  color: #256106;
  background: transparent;
  border: 0;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .p-contact__text-button:where(:-moz-any-link, :enabled, summary):hover {
    color: #65C533;
  }
  .p-contact__text-button:where(:any-link, :enabled, summary):hover {
    color: #65C533;
  }
}
.p-contact .c-heading--pages .c-heading__ja {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.p-contact .c-form__row--textarea {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767.98px) {
  .p-contact__switch-button {
    max-width: 34rem;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 2rem;
  }
  .p-contact .c-form__privacy {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .p-contact .c-form__privacy .c-form__check {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

/* Contact page navigation links */
.p-contact .p-contact__switch-list > a.p-contact__switch-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 5.2rem;
  min-height: 5.2rem;
  padding-block: 0;
  margin-block: 0;
  line-height: 1.5;
  text-decoration: none;
}

.p-contact .p-contact__switch-list > a.p-contact__switch-button:hover,
.p-contact .p-contact__switch-list > a.p-contact__switch-button:focus,
.p-contact .p-contact__switch-list > a.p-contact__switch-button:visited {
  text-decoration: none;
}

.p-contact .p-contact__switch-list > a.p-contact__switch-button::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

/* --------------------------------

  p-ledsolution

-------------------------------- */
.p-ledsolution {
  --led-blue: #0B41B1;
  --led-blue-dark: #053494;
  --led-blue-light: #0E4DCF;
  --led-orange: #FF6725;
  --led-pale-blue: #D6EAFB;
  --led-gray: #F4F4F4;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}
.p-ledsolution__inner, .p-ledsolution__wide {
  width: 100%;
  margin-inline: auto;
}
.p-ledsolution__inner {
  max-width: 110rem;
}
.p-ledsolution__wide {
  max-width: 150rem;
}
.p-ledsolution__heading {
  font-size: clamp(2.2rem, 36 * var(--vw768), 3.6rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution__heading {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution__heading {
    font-size: 4.5rem;
  }
}
.p-ledsolution img {
  max-width: 100%;
  height: auto;
}

.p-ledsolution-contact-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: min(100%, 25rem);
  color: #fff;
  background-color: var(--led-orange);
  border: 3px solid var(--led-orange);
  border-radius: 10rem;
  padding: 1.3rem 3rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-contact-button {
    min-width: 32rem;
    padding: 2rem 3.5rem;
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution-contact-button {
    font-size: 2.5rem;
    padding: 2rem 5rem;
  }
}
@media (hover: hover) {
  .p-ledsolution-contact-button:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #ffffff;
    color: var(--led-orange);
  }
  .p-ledsolution-contact-button:where(:any-link, :enabled, summary):hover {
    background-color: #ffffff;
    color: var(--led-orange);
  }
  .p-ledsolution-contact-button:where(:-moz-any-link, :enabled, summary):hover span::before {
    background: url("../img/pages/ledsolution/icon_mail_ore.svg") no-repeat center/contain;
  }
  .p-ledsolution-contact-button:where(:any-link, :enabled, summary):hover span::before {
    background: url("../img/pages/ledsolution/icon_mail_ore.svg") no-repeat center/contain;
  }
  .p-ledsolution-contact-button:where(:-moz-any-link, :enabled, summary):hover span::after {
    background: url("../img/pages/ledsolution/icon_arrow_ore.svg") no-repeat center/contain;
  }
  .p-ledsolution-contact-button:where(:any-link, :enabled, summary):hover span::after {
    background: url("../img/pages/ledsolution/icon_arrow_ore.svg") no-repeat center/contain;
  }
}
.p-ledsolution-contact-button:focus-visible {
  outline: 0.3rem solid rgba(255, 103, 37, 0.35);
  outline-offset: 0.4rem;
}
.p-ledsolution-contact-button span {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-ledsolution-contact-button span::before {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2.2rem;
  height: 1.8rem;
  background: url("../img/pages/ledsolution/icon_mail_wht.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-contact-button span::before {
    width: 3.3rem;
    height: 2.5rem;
  }
}
.p-ledsolution-contact-button span::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 0.8rem;
  height: 1.4rem;
  background: url("../img/pages/ledsolution/icon_arrow_wht.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-contact-button span::after {
    width: 1.1rem;
    height: 1.8rem;
  }
}

.p-ledsolution-hero {
  position: relative;
  background-color: #f5faff;
}
.p-ledsolution-hero__main {
  position: relative;
  overflow: hidden;
}
.p-ledsolution-hero__inner {
  position: relative;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  place-content: center;
  padding: 0;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__inner {
    min-height: clamp(25rem, 500 * var(--vw1600), 50rem);
    padding: 0;
  }
}
.p-ledsolution-hero__content {
  position: relative;
  z-index: 2;
  padding: clamp(2rem, 40 * var(--vw768), 4rem) clamp(2rem, 40 * var(--vw768), 4rem);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__content {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-hero__content {
    padding: 0 4rem;
  }
}
.p-ledsolution-hero__content-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  max-width: 140rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__content-wrap {
    max-width: 140rem;
    gap: clamp(1.2rem, 24 * var(--vw1600), 2.4rem);
  }
}
.p-ledsolution-hero__heading {
  display: grid;
  color: #000;
  font-size: clamp(3.1rem, 60 * var(--vw768), 6rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-shadow: 0 0.4rem 0.4rem #fff;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__heading {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    -ms-flex-item-align: start;
        align-self: flex-start;
    font-size: clamp(3rem, 54 * var(--vw1600), 5.4rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-hero__heading {
    font-size: clamp(3rem, 74 * var(--vw1600), 7.4rem);
  }
}
.p-ledsolution-hero__heading span {
  display: block;
  white-space: nowrap;
}
.p-ledsolution-hero__heading span:first-child {
  color: var(--led-blue);
}
.p-ledsolution-hero__bottom {
  display: grid;
  gap: clamp(1.5rem, 40 * var(--vw1600), 4rem);
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__bottom {
    display: grid;
    grid-template-columns: minmax(0, clamp(23rem, 330 * var(--vw1600), 33rem)) minmax(0, 31rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-hero__bottom {
    grid-template-columns: minmax(0, clamp(25rem, 330 * var(--vw1600), 33rem)) minmax(0, 31rem);
  }
}
.p-ledsolution-hero__lead-wrap {
  position: relative;
  display: grid;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 27.6rem;
          flex: 0 1 27.6rem;
  gap: clamp(0.4rem, 8 * var(--vw1600), 0.8rem);
  padding-right: clamp(1.5rem, 40 * var(--vw1600), 4rem);
}
.p-ledsolution-hero__lead-wrap::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 1px;
  background-color: #a9cce8;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__lead-wrap::after {
    right: 0;
  }
}
.p-ledsolution-hero__label {
  position: relative;
  color: var(--led-blue);
  font-size: clamp(1.3rem, 18 * var(--vw768), 1.8rem);
  padding-left: clamp(2rem, 25 * var(--vw768), 2.5rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-ledsolution-hero__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: clamp(1rem, 15 * var(--vw768), 1.5rem);
  height: 0.3rem;
  background-color: var(--led-blue);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__label::before {
    width: clamp(1rem, 20 * var(--vw1600), 2rem);
    height: clamp(0.2rem, 5 * var(--vw1600), 0.5rem);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__label {
    font-size: clamp(1.3rem, 18 * var(--vw1600), 1.8rem);
    padding-left: clamp(2rem, 30 * var(--vw1600), 3rem);
  }
}
.p-ledsolution-hero__text {
  font-size: clamp(1.2rem, 16 * var(--vw768), 1.6rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__text {
    font-size: clamp(1.2rem, 16 * var(--vw1600), 1.6rem);
  }
}
.p-ledsolution-hero__image {
  position: relative;
  z-index: 1;
  display: block;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__image {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: 0;
  }
}
.p-ledsolution-hero__image img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-ledsolution-hero__foot {
  position: relative;
  z-index: 3;
  background: -webkit-gradient(linear, right top, left top, from(var(--led-blue-dark)), to(var(--led-blue-light)));
  background: linear-gradient(270deg, var(--led-blue-dark) 0%, var(--led-blue-light) 100%);
  padding: clamp(2rem, 40 * var(--vw768), 4rem) clamp(2rem, 40 * var(--vw768), 4rem);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__foot {
    padding: 2.3rem 2rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-hero__foot {
    padding: 2.8rem 4rem;
  }
}
.p-ledsolution-hero__foot-inner {
  display: grid;
  gap: 2.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 140rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__foot-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.5rem, 30 * var(--vw1600), 3rem);
  }
}
.p-ledsolution-hero__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero__action .p-ledsolution-contact-button {
    min-width: clamp(28rem, 505 * var(--vw1600), 50.5rem);
    font-size: clamp(1.3rem, 24 * var(--vw1600), 2.4rem);
  }
}

.p-ledsolution-hero-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-price {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-price {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    gap: clamp(0.6rem, 12 * var(--vw1600), 1.2rem);
  }
}
.p-ledsolution-hero-price__label {
  color: #000;
  font-size: clamp(1.5rem, 30 * var(--vw768), 3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 0.6rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-price__label {
    font-size: clamp(1.7rem, 36 * var(--vw1600), 3.6rem);
    padding-bottom: clamp(0.8rem, 10 * var(--vw1600), 1rem);
  }
}
.p-ledsolution-hero-price__num {
  color: var(--led-blue);
  font-family: "Inter", sans-serif;
  font-size: clamp(4.5rem, 100 * var(--vw768), 10rem);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: 0;
  background: linear-gradient(158deg, #1d66ff 4.61%, #0f3c99 56.11%, #588eff 64.84%, #051c4b 95.39%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-price__num {
    font-size: clamp(5.2rem, 140 * var(--vw1600), 14rem);
  }
}
.p-ledsolution-hero-price__num span {
  margin-left: 0.4rem;
  color: var(--led-blue);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, 32 * var(--vw768), 3.2rem);
  letter-spacing: 0.05em;
  -webkit-text-fill-color: var(--led-blue);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-price__num span {
    font-size: clamp(2.2rem, 48 * var(--vw1600), 4.8rem);
  }
}

.p-ledsolution-hero-badges {
  display: grid;
  gap: clamp(1rem, 24 * var(--vw768), 2.4rem);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badges {
    gap: clamp(1.8rem, 40 * var(--vw1600), 4rem);
    max-width: clamp(47rem, 830 * var(--vw1600), 83rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-hero-badges {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 479.98px) {
  .p-ledsolution-hero-badges {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: auto;
    max-width: 28rem;
  }
}

.p-ledsolution-hero-badge {
  display: grid;
  grid-template-columns: 7.4rem -webkit-max-content;
  grid-template-columns: 7.4rem max-content;
  gap: clamp(1rem, 15 * var(--vw768), 1.5rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge {
    grid-template-columns: clamp(4.5rem, 80 * var(--vw768), 8rem) -webkit-max-content;
    grid-template-columns: clamp(4.5rem, 80 * var(--vw768), 8rem) max-content;
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge {
    grid-template-columns: clamp(4.5rem, 80 * var(--vw1600), 8rem) -webkit-max-content;
    grid-template-columns: clamp(4.5rem, 80 * var(--vw1600), 8rem) max-content;
    gap: clamp(1rem, 15 * var(--vw1600), 1.5rem);
  }
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge:not(:last-child) {
    padding-right: clamp(1rem, 24 * var(--vw768), 2.4rem);
    border-right: 1px solid rgba(255, 255, 255, 0.55);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge:not(:last-child) {
    padding-right: clamp(1.5rem, 24 * var(--vw1600), 2.4rem);
  }
}
.p-ledsolution-hero-badge img {
  width: 7.4rem;
  height: auto;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge img {
    width: clamp(4.5rem, 80 * var(--vw768), 8rem);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge img {
    width: clamp(4.5rem, 80 * var(--vw1600), 8rem);
  }
}
.p-ledsolution-hero-badge__label {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge__label {
    font-size: clamp(1.3rem, 18 * var(--vw768), 1.8rem);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge__label {
    font-size: clamp(1.3rem, 20 * var(--vw1600), 2rem);
  }
}
.p-ledsolution-hero-badge__num {
  color: #ead775;
  font-family: "Inter", sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(22.66%, #ead775), color-stop(47.94%, #e4c968), color-stop(50.92%, #fbf3c0), color-stop(66.16%, #debd5c), to(#d5a849));
  background: linear-gradient(180deg, #ead775 22.66%, #e4c968 47.94%, #fbf3c0 50.92%, #debd5c 66.16%, #d5a849 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.025em;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge__num {
    font-size: clamp(3rem, 54 * var(--vw768), 5.4rem);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge__num {
    font-size: clamp(3rem, 64 * var(--vw1600), 6.4rem);
  }
}
.p-ledsolution-hero-badge__num span {
  margin-left: 0.6rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-text-fill-color: #fff;
}
@media screen and (min-width: 480px), print {
  .p-ledsolution-hero-badge__num span {
    font-size: clamp(1.3rem, 18 * var(--vw768), 1.8rem);
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-hero-badge__num span {
    font-size: clamp(1.4rem, 20 * var(--vw1600), 2rem);
  }
}

.p-ledsolution-assignment {
  position: relative;
  z-index: 3;
  background-color: #f4f4f4;
  padding: 4rem 2rem 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-assignment {
    padding: 6.3rem 4rem 8.5rem;
  }
}
.p-ledsolution-assignment::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3.7rem;
  z-index: 2;
  width: 15.4rem;
  height: 7.3rem;
  background-color: #f4f4f4;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-assignment::after {
    bottom: -2.8rem;
    width: 10rem;
    height: 5rem;
  }
}
.p-ledsolution-assignment__inner {
  max-width: 110rem;
  margin-inline: auto;
}
.p-ledsolution-assignment__head {
  display: grid;
  gap: 1.2rem;
  margin-bottom: 2.8rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-assignment__head {
    margin-bottom: 3rem;
  }
}
.p-ledsolution-assignment__heading {
  color: #000;
  font-size: clamp(2.4rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.p-ledsolution-assignment__heading span {
  color: var(--led-blue);
}
.p-ledsolution-assignment__lead {
  font-size: clamp(1.4rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-ledsolution-assignment__list {
  display: grid;
  gap: 2rem;
  margin-inline: auto;
  max-width: 33rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-assignment__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    max-width: 70rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-assignment__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.2rem;
    max-width: none;
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-assignment__list > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-assignment__list > *:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}

.p-ledsolution-eco {
  position: relative;
  z-index: 2;
  background: -webkit-gradient(linear, right top, left top, from(#d7efff), to(#e3ecff));
  background: linear-gradient(270deg, #d7efff 0%, #e3ecff 100%);
  padding: 5rem 2rem 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco {
    padding: 6.8rem 4rem 8.5rem;
  }
}
.p-ledsolution-eco::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3.7rem;
  z-index: 2;
  width: 15.4rem;
  height: 7.3rem;
  background: -webkit-gradient(linear, right top, left top, from(#d7efff), to(#e3ecff));
  background: linear-gradient(270deg, #d7efff 0%, #e3ecff 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-eco::after {
    bottom: -2.8rem;
    width: 10rem;
    height: 5rem;
  }
}
.p-ledsolution-eco__inner {
  max-width: 110rem;
  margin-inline: auto;
}
.p-ledsolution-eco__heading {
  margin-bottom: 3rem;
  color: #000;
  font-size: clamp(2.4rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-ledsolution-eco__heading span {
  color: var(--led-blue);
  font-size: clamp(3rem, 54 * var(--vw1440), 5.4rem);
}
.p-ledsolution-eco__body {
  display: grid;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__body {
    grid-template-columns: minmax(0, 55rem) minmax(0, 50.2rem);
    gap: 4.8rem;
  }
}
.p-ledsolution-eco__content {
  display: grid;
  gap: 1.5rem;
}
.p-ledsolution-eco__title {
  padding: 0.5rem 2rem;
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(var(--led-blue-dark)), to(var(--led-blue-light)));
  background: linear-gradient(270deg, var(--led-blue-dark) 0%, var(--led-blue-light) 100%);
  font-size: clamp(1.4rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-ledsolution-eco__lead {
  color: var(--led-blue);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__lead {
    font-size: 1.8rem;
  }
}
.p-ledsolution-eco__box {
  padding: 2rem 2rem 2rem;
  background-color: #fff;
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__box {
    padding-inline: 3rem;
  }
}
.p-ledsolution-eco__list li {
  position: relative;
  padding: 0.5rem 0 0.5rem 3.2rem;
  font-size: clamp(1.6rem, 20 * var(--vw1440), 2rem);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-eco__list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__list li {
    padding: 0.5rem 0 0.5rem 4rem;
  }
}
.p-ledsolution-eco__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 2.5rem;
  height: 2rem;
  background: url("../img/pages/ledsolution/icon-check_blue.svg") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__list li::before {
    width: 3.1rem;
    height: 2.5rem;
    top: 0.5rem;
  }
}
.p-ledsolution-eco__list li span {
  color: var(--led-orange);
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-eco__list li span {
    display: block;
  }
}
.p-ledsolution-eco__list-text {
  color: #000 !important;
}
.p-ledsolution-eco__list-text span {
  display: block;
}
.p-ledsolution-eco__note {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__note {
    font-size: 1.6rem;
  }
}
.p-ledsolution-eco__image {
  width: min(100%, 35.2rem);
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-eco__image {
    width: min(100%, 50.2rem);
  }
}
.p-ledsolution-eco__image img {
  width: 100%;
  height: auto;
}

.p-ledsolution-smart {
  position: relative;
  background-color: #fff;
  padding: 5rem 2rem 6rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart {
    padding: 6.8rem 4rem 11rem;
  }
}
.p-ledsolution-smart__inner {
  max-width: 110rem;
  margin-inline: auto;
}
.p-ledsolution-smart__head {
  display: grid;
  gap: 1rem;
  margin-bottom: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart__head {
    margin-bottom: 3rem;
  }
}
.p-ledsolution-smart__heading {
  color: #000;
  font-size: clamp(2.4rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.p-ledsolution-smart__heading span {
  color: var(--led-blue);
}
.p-ledsolution-smart__lead {
  color: var(--led-blue);
  font-size: clamp(1.4rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-ledsolution-smart__list {
  display: grid;
  gap: 2rem;
  margin-inline: auto;
  max-width: 33rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-smart__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    max-width: 70rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    max-width: none;
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-smart__list > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart__list > *:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}
.p-ledsolution-smart__message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(100%, 80.8rem);
  margin: 3.5rem auto 0;
  padding: 2.2rem 2rem;
  border: 3px dashed #a9cce8;
  border-radius: 10rem;
  color: var(--led-blue);
  font-size: clamp(1.4rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-smart__message {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-radius: 2rem;
    text-align: left;
    padding: 2rem 1.5rem;
    margin: 2.5rem auto 0;
  }
}
.p-ledsolution-smart__message img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 3.5rem;
  height: auto;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart__message img {
    width: 5.7rem;
  }
}

.p-ledsolution-assignment-card,
.p-ledsolution-smart-card {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid var(--led-blue);
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
}

.p-ledsolution-assignment-card {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 1rem;
  padding: 1rem 1rem 2rem 1rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-assignment-card {
    padding: 2rem 1rem;
  }
}
.p-ledsolution-assignment-card__image {
  display: grid;
  place-items: center;
  aspect-ratio: 345/300;
  overflow: hidden;
  margin-inline: auto;
  max-width: 25rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-assignment-card__image {
    max-width: none;
    margin-inline: -1rem;
  }
}
.p-ledsolution-assignment-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-ledsolution-assignment-card__title {
  display: grid;
  place-items: center;
  color: var(--led-blue);
  font-size: clamp(1.8rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-assignment-card__title {
    min-height: 8rem;
  }
}
.p-ledsolution-assignment-card__text {
  padding: 1rem 0.5rem 0;
  border-top: 1px dashed #949494;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-assignment-card__text {
    font-size: 1.6rem;
  }
}

.p-ledsolution-smart-card {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 1rem;
  padding: 2rem 1rem;
}
.p-ledsolution-smart-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  margin-left: -1rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-smart-card__head {
    min-height: 6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart-card__head {
    min-height: 7rem;
  }
}
.p-ledsolution-smart-card__num {
  display: grid;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  place-items: center;
  width: 6rem;
  min-height: 4.8rem;
  color: #fff;
  background-color: var(--led-blue);
  border-radius: 0 1rem 1rem 0;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart-card__num {
    font-size: 3.2rem;
    width: 7.5rem;
    min-height: 5.5rem;
  }
}
.p-ledsolution-smart-card__title {
  color: var(--led-blue);
  font-size: clamp(2rem, 28 * var(--vw1440), 2.8rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
.p-ledsolution-smart-card__image {
  display: grid;
  place-items: center;
  aspect-ratio: 325/211;
  overflow: hidden;
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart-card__image {
    max-width: none;
  }
}
.p-ledsolution-smart-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-ledsolution-smart-card__text {
  padding: 1rem 0.5rem 0;
  border-top: 1px dashed #949494;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-smart-card__text {
    font-size: 1.6rem;
  }
}

.p-ledsolution-cost {
  position: relative;
  background: -webkit-gradient(linear, right top, left top, from(var(--led-blue-dark)), to(var(--led-blue-light)));
  background: linear-gradient(270deg, var(--led-blue-dark) 0%, var(--led-blue-light) 100%);
  padding: 0 2rem 3rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost {
    padding: 0 4rem 4.5rem 4rem;
  }
}
.p-ledsolution-cost::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.12);
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.p-ledsolution-cost .p-ledsolution__inner {
  position: relative;
  z-index: 1;
}
.p-ledsolution-cost__heading {
  position: relative;
  z-index: 2;
  width: min(100%, 70.4rem);
  margin: 0 auto 1rem;
  padding: 2rem 1rem;
  color: #fff;
  background-color: #001f7b;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
  font-size: clamp(2rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
  -webkit-transform: translateY(-3rem);
          transform: translateY(-3rem);
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost__heading {
    width: min(100%, 110rem);
    margin-bottom: 0.8rem;
    padding: 2.5rem 10rem 3rem;
    -webkit-transform: translateY(-4.6rem);
            transform: translateY(-4.6rem);
  }
}
.p-ledsolution-cost__heading > span {
  color: #ffe500;
}
.p-ledsolution-cost__heading > span span {
  font-size: clamp(2.4rem, 52 * var(--vw1440), 5.2rem);
  letter-spacing: 0.05em;
}
.p-ledsolution-cost__content {
  display: grid;
  gap: 1.4rem;
  justify-items: center;
  margin-top: -1.4rem;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost__content {
    gap: 1.2rem;
    margin-top: -1.4rem;
  }
}
.p-ledsolution-cost__title {
  font-size: clamp(1.8rem, 30 * var(--vw1440), 3rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-ledsolution-cost__text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost__text {
    font-size: 1.8rem;
  }
}
.p-ledsolution-cost__action {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost__action {
    margin-top: 4.5rem;
  }
}
.p-ledsolution-cost-gallery {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-bottom: 0 !important;
}
.p-ledsolution-cost-gallery-wrap {
  margin-top: 2.2rem;
  margin-inline: -2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost-gallery-wrap {
    margin-top: 3.2rem;
    margin-inline: -4rem;
  }
}
.p-ledsolution-cost-gallery.swiper {
  overflow: hidden;
}
.p-ledsolution-cost-gallery .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.p-ledsolution-cost-gallery__item {
  width: 33.3333333333vw;
  height: 9rem;
  overflow: hidden;
}
@media screen and (min-width: 640px), print {
  .p-ledsolution-cost-gallery__item {
    width: 20vw;
    height: 10rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cost-gallery__item {
    width: 14.2857142857vw;
    height: 13rem;
  }
}
.p-ledsolution-cost-gallery__item::before {
  content: none !important;
}
.p-ledsolution-cost-gallery img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: none;
}

.p-ledsolution-reason {
  background-color: #f4f4f4;
  padding: 4rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason {
    padding: 7rem 4rem;
  }
}
.p-ledsolution-reason__inner {
  max-width: 110rem;
  margin-inline: auto;
}
.p-ledsolution-reason__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 700;
  color: #000;
  white-space: nowrap;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason__heading {
    margin-bottom: 5rem;
  }
}
.p-ledsolution-reason__heading-sub {
  display: block;
  font-size: clamp(1.8rem, 30 * var(--vw1440), 3rem);
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-ledsolution-reason__heading-main {
  display: block;
  font-size: clamp(2.8rem, 45 * var(--vw1440), 4.5rem);
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.p-ledsolution-reason__heading-text {
  color: #000;
}
.p-ledsolution-reason__heading-num {
  color: var(--led-blue);
  font-size: clamp(4rem, 64 * var(--vw1440), 6.4rem);
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
  -webkit-transform: translateY(0.4rem);
          transform: translateY(0.4rem);
}
.p-ledsolution-reason__heading-accent {
  color: var(--led-blue);
}
.p-ledsolution-reason__list {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason__list {
    gap: 3rem;
  }
}

.p-ledsolution-reason-card {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid var(--led-blue);
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
  padding: 2.4rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-card {
    padding: 3rem 0;
  }
}
.p-ledsolution-reason-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  margin: 0 0 2.4rem -2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-card__head {
    gap: 2rem;
    margin: 0 0 2rem;
  }
}
.p-ledsolution-reason-card__num {
  display: grid;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  place-items: center;
  width: 5.5rem;
  min-height: 5.2rem;
  color: #fff;
  background-color: var(--led-blue);
  border-radius: 0 1rem 1rem 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-card__num {
    width: 10rem;
    min-height: 8rem;
    font-size: 5rem;
  }
}
.p-ledsolution-reason-card__title-wrap {
  min-width: 0;
}
.p-ledsolution-reason-card__title {
  color: var(--led-blue);
  font-size: clamp(2.4rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.p-ledsolution-reason-card__subtitle {
  margin-top: 0;
  font-size: clamp(1.2rem, 20 * var(--vw1440), 2rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-card__body {
    width: calc(100% - 10rem);
    max-width: 100rem;
    margin-inline: auto;
  }
}
.p-ledsolution-reason-card__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-card__text {
    font-size: 1.6rem;
  }
}

.p-ledsolution-reason-result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  width: 100%;
  max-width: 40rem;
  margin-top: 2.4rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-result {
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-result {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-width: none;
    margin-top: 2rem;
  }
}
.p-ledsolution-reason-result__item {
  overflow: hidden;
  border-radius: 1rem;
  text-align: center;
}
.p-ledsolution-reason-result__item:last-child:nth-child(odd) {
  grid-column: 1/-1;
  justify-self: center;
  width: calc((100% - 1.2rem) / 2);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-result__item:last-child:nth-child(odd) {
    width: calc((100% - 1.5rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-result__item:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}
.p-ledsolution-reason-result__item figure {
  aspect-ratio: 188/140;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
.p-ledsolution-reason-result__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ledsolution-reason-result__item p {
  display: grid;
  place-items: center;
  min-height: 4rem;
  padding: 0 0.6rem;
  color: #000;
  background-color: #f4f4f4;
  border-radius: 0 0 1rem 1rem;
  font-size: clamp(1.4rem, 20 * var(--vw1440), 2rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-ledsolution-reason-process {
  display: grid;
  gap: 1.6rem;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-process {
    grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr) 4rem minmax(0, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 1.2rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-ledsolution-reason-process {
    grid-template-columns: 29rem 4.8rem 29rem 4.8rem 29rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
}
.p-ledsolution-reason-process__item {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 1rem;
  height: 100%;
  background-color: #fff;
  border-radius: 1rem;
  text-align: center;
}
.p-ledsolution-reason-process__item > figure {
  display: grid;
  place-items: center;
  aspect-ratio: 250/217;
  width: min(20rem, 100%);
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-process__item > figure {
    width: min(25rem, 100%);
  }
}
.p-ledsolution-reason-process__item > figure img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
.p-ledsolution-reason-process__item h4 {
  color: var(--led-blue);
  font-size: clamp(1.8rem, 25 * var(--vw1440), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-ledsolution-reason-process__item p {
  padding-top: 1rem;
  border-top: 1px dashed #949494;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: left;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-process__item p {
    font-size: 1.6rem;
  }
}
.p-ledsolution-reason-process__arrow {
  display: grid;
  place-items: center;
  width: 3.8rem;
  margin-inline: auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-process__arrow {
    width: 4rem;
    margin-top: 10rem;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 1280px), print {
  .p-ledsolution-reason-process__arrow {
    width: 4.8rem;
    margin-top: 11.4rem;
  }
}
.p-ledsolution-reason-process__arrow img {
  width: 100%;
  height: auto;
}

.p-ledsolution-reason-select {
  margin-top: 2.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select {
    margin-top: 2rem;
  }
}
.p-ledsolution-reason-select__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  width: 100%;
  max-width: 40rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-select__grid {
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-width: none;
  }
}
.p-ledsolution-reason-select__item {
  overflow: hidden;
  background-color: #f4f4f4;
  border-radius: 1rem;
  text-align: center;
}
.p-ledsolution-reason-select__item:last-child:nth-child(odd) {
  grid-column: 1/-1;
  justify-self: center;
  width: calc((100% - 1.2rem) / 2);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-select__item:last-child:nth-child(odd) {
    width: calc((100% - 1.5rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select__item:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}
.p-ledsolution-reason-select__item figure {
  aspect-ratio: 188/130;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
.p-ledsolution-reason-select__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ledsolution-reason-select__item p {
  display: grid;
  place-items: center;
  min-height: 4rem;
  padding: 0 0.6rem;
  color: var(--led-blue);
  background-color: #f4f4f4;
  border-radius: 0 0 1rem 1rem;
  font-size: clamp(1.3rem, 18 * var(--vw1440), 1.8rem);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
.p-ledsolution-reason-select__features {
  display: grid;
  gap: 1.6rem;
  margin-top: 2rem;
  max-width: 36rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-select__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    max-width: 60rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select__features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2rem;
    max-width: none;
  }
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-reason-select__features > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    width: calc((100% - 1.5rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select__features > *:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}

.p-ledsolution-reason-select-feature {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 1rem;
  height: 100%;
  background-color: #f4f4f4;
  padding-bottom: 1.5rem;
  text-align: center;
}
.p-ledsolution-reason-select-feature figure {
  height: 18rem;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
.p-ledsolution-reason-select-feature img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ledsolution-reason-select-feature h4 {
  padding-inline: 1.5rem;
  color: var(--led-blue);
  font-size: clamp(1.7rem, 20 * var(--vw1440), 2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-ledsolution-reason-select-feature p {
  padding-inline: 1.5rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: left;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-reason-select-feature p {
    font-size: 1.6rem;
  }
}

.p-ledsolution-lineup {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0 2rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-lineup {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-lineup {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution-lineup {
    padding: 0 10rem;
  }
}
.p-ledsolution-lineup__item {
  text-align: center;
}
.p-ledsolution-lineup__item figure {
  aspect-ratio: 400/560;
  overflow: hidden;
  background-color: #ddd;
}
.p-ledsolution-lineup__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ledsolution-lineup__item h4 {
  color: var(--led-blue);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-lineup__item h4 {
    letter-spacing: 0.05em;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution-lineup__item h4 {
    font-size: 2rem;
  }
}

.p-ledsolution-special {
  display: grid;
  gap: 2rem 0.5rem;
  padding: 3rem 2rem 0;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-special {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-special {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution-special {
    padding-inline: 10rem;
  }
}
.p-ledsolution-special__item {
  display: grid;
  gap: 1.5rem;
  text-align: center;
}
.p-ledsolution-special__item figure {
  aspect-ratio: 300/200;
  overflow: hidden;
  background-color: #ddd;
}
.p-ledsolution-special__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ledsolution-special__item h4 {
  color: var(--led-blue);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-special__item h4 {
    display: grid;
    place-items: center;
    min-height: 3.75rem;
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 1440px), print {
  .p-ledsolution-special__item h4 {
    font-size: 2.5rem;
  }
}
.p-ledsolution-special__item p {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-special__item p {
    min-height: 9.6rem;
    font-size: 1.6rem;
  }
}

.p-ledsolution-cta {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 22rem;
  padding: 3rem 2rem;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#145AD5), to(#093990));
  background: linear-gradient(90deg, #145AD5 0%, #093990 100%);
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cta {
    min-height: 35.8rem;
    padding: 5.4rem 2rem;
  }
}
.p-ledsolution-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(126, 178, 255, 0.28)), to(rgba(255, 255, 255, 0.08)));
  background: linear-gradient(90deg, rgba(126, 178, 255, 0.28) 0%, rgba(255, 255, 255, 0.08) 100%);
  -webkit-clip-path: polygon(0 78%, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 78%, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cta::before {
    -webkit-clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
  }
}
.p-ledsolution-cta .p-ledsolution__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  max-width: 110rem;
}
.p-ledsolution-cta__heading {
  width: 100%;
  font-size: clamp(2.4rem, 45 * var(--vw1440), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-ledsolution-cta__lead {
  margin-top: 2rem;
  font-size: clamp(1.4rem, 18 * var(--vw1440), 1.8rem);
  font-weight: 500;
  line-height: 1.8;
}
.p-ledsolution-cta__action {
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cta__action {
    margin-top: 5rem;
  }
}
.p-ledsolution-cta--bottom {
  min-height: 26rem;
  margin-bottom: 4rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-cta--bottom {
    min-height: 37.9rem;
    margin-bottom: 8rem;
  }
}
.p-ledsolution-cta--bottom .p-ledsolution-cta__action {
  margin-top: 2rem;
}

.p-ledsolution-flow {
  padding: 4rem 2rem;
  background-color: #fff;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow {
    padding: 9rem 4rem;
  }
}
.p-ledsolution-flow__list {
  position: relative;
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-flow__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }
}
.p-ledsolution-flow-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  background-color: #EEF7FF;
  border-radius: 0.8rem;
  overflow: visible;
}
.p-ledsolution-flow-card:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50%;
  z-index: 0;
  width: 2rem;
  height: 2rem;
  background-color: #A9CCE8;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px), print {
  .p-ledsolution-flow-card:not(:last-child)::after {
    content: none;
  }
  .p-ledsolution-flow-card:nth-child(2)::after {
    content: none;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card:not(:last-child)::after {
    content: "";
    top: 50%;
    right: -2rem;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-ledsolution-flow-card:nth-child(2)::after {
    top: 50%;
    right: -2rem;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.p-ledsolution-flow-card__step {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(var(--led-blue-dark)), to(var(--led-blue-light)));
  background: linear-gradient(270deg, var(--led-blue-dark) 0%, var(--led-blue-light) 100%);
  border-radius: 0.8rem 0.8rem 0 0;
  padding: 0.5rem 1rem;
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__step {
    font-size: 3rem;
  }
}
.p-ledsolution-flow-card__step span {
  font-size: 2.1rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__step span {
    font-size: 2.5rem;
  }
}
.p-ledsolution-flow-card__body {
  display: grid;
  gap: 1rem;
  justify-items: center;
  -ms-flex-line-pack: start;
      align-content: start;
  padding: 2rem 1rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__body {
    padding: 3rem 1rem;
    gap: 1.5rem;
  }
}
.p-ledsolution-flow-card__body figure {
  display: grid;
  place-items: center;
  height: 3.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__body figure {
    height: 5rem;
  }
}
.p-ledsolution-flow-card__body figure img {
  max-height: 3.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__body figure img {
    max-height: 5rem;
  }
}
.p-ledsolution-flow-card__body h3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  place-content: center;
  min-height: 5.4rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__body h3 {
    font-size: 2rem;
    min-height: 6rem;
  }
}
.p-ledsolution-flow-card__body p {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-flow-card__body p {
    font-size: 1.6rem;
  }
}

.p-ledsolution-case {
  padding: 4rem 0;
  background: var(--led-gray);
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case {
    padding: 8rem 0;
  }
}
.p-ledsolution-case__inner {
  width: 100%;
  margin-inline: auto;
  overflow: hidden;
}
.p-ledsolution-case__slider {
  width: 100%;
  margin-top: 3rem;
  overflow: visible;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case__slider {
    margin-top: 4rem;
  }
}
.p-ledsolution-case__slider.swiper {
  padding-bottom: 0;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case__slider.swiper {
    padding-bottom: 0;
  }
}
.p-ledsolution-case.p-ledsolution-case .swiper-slide {
  overflow: visible;
  height: auto;
}
.p-ledsolution-case.p-ledsolution-case .swiper-slide::before {
  content: none;
  display: none;
  padding-top: 0;
}
.p-ledsolution-case.p-ledsolution-case .swiper-slide img {
  position: static;
  width: auto;
  height: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-ledsolution-case__list {
  height: auto;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-ledsolution-case__controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case__controller {
    gap: 4rem;
    margin-top: 4rem;
  }
}
.p-ledsolution-case__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto !important;
  min-width: 9.5rem;
}
.p-ledsolution-case__pagination li {
  display: block;
}
.p-ledsolution-case__pagination a {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: #CFCFCF;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-ledsolution-case__pagination a.is-active {
  background-color: var(--led-blue);
}
.p-ledsolution-case__button {
  position: relative;
  display: grid;
  place-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--led-blue);
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case__button {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media (hover: hover) {
  .p-ledsolution-case__button:where(:-moz-any-link, :enabled, summary):hover {
    background-color: var(--led-blue-dark);
  }
  .p-ledsolution-case__button:where(:any-link, :enabled, summary):hover {
    background-color: var(--led-blue-dark);
  }
}
.p-ledsolution-case__button::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case__button::before {
    border-top: 0.3rem solid #fff;
    border-right: 0.3rem solid #fff;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.p-ledsolution-case__button--prev {
  padding-left: 0.2rem;
}
.p-ledsolution-case__button--next {
  padding-right: 0.2rem;
}
.p-ledsolution-case__button--prev::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.p-ledsolution-case__button--next::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-ledsolution-case__button.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}
.p-ledsolution-case-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: auto;
  min-height: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
  padding: 1.5rem;
  border-radius: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case-card {
    padding: clamp(1.5rem, 25 * var(--vw1600), 2.5rem);
    gap: clamp(0.8rem, 15 * var(--vw1600), 1.5rem);
  }
}
.p-ledsolution-case-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-case-card__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-case-card__head {
    gap: 1.5rem;
  }
}
.p-ledsolution-case-card__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: clamp(6rem, 115 * var(--vw1600), 11.5rem);
}
.p-ledsolution-case-card__icon img {
  display: block;
  width: 100%;
}
.p-ledsolution-case-card__name {
  display: grid;
  gap: 0;
  font-size: clamp(1.3rem, 18 * var(--vw1600), 1.8rem);
  font-weight: 500;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 767.98px) {
  .p-ledsolution-case-card__name {
    text-align: center;
  }
}
.p-ledsolution-case-card__name strong {
  font-size: clamp(1.6rem, 25 * var(--vw1600), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-ledsolution-case-card__name span {
  display: block;
}
.p-ledsolution-case-card__title {
  display: grid;
  gap: 1.5rem;
  width: 100%;
  color: var(--led-blue);
  font-size: clamp(1.3rem, 22 * var(--vw1600), 2.2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-ledsolution-case-card__title::before {
  content: "";
  display: block;
  width: 5rem;
  height: 0.5rem;
  margin-inline: auto;
  background-color: var(--led-blue);
}
.p-ledsolution-case-card__text {
  font-size: clamp(1.2rem, 16 * var(--vw1600), 1.6rem);
  line-height: 1.8;
}
.p-ledsolution-faq {
  padding: 4rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq {
    padding: 9rem 4rem;
  }
}
.p-ledsolution-faq__list {
  display: grid;
  gap: 0.5rem;
  margin-top: 3rem;
}
.p-ledsolution-faq-item {
  background-color: var(--led-gray);
}
.p-ledsolution-faq-item__question {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 1rem 2rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq-item__question {
    gap: 3rem;
    padding: 1rem 5rem;
  }
}
.p-ledsolution-faq-item__num {
  color: #000;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq-item__num {
    font-size: 3rem;
  }
}
.p-ledsolution-faq-item__text {
  color: var(--led-blue);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq-item__text {
    font-size: 1.8rem;
  }
}
.p-ledsolution-faq-item__icon {
  width: 2.2rem;
  height: 1.3rem;
  background: url("../img/pages/ledsolution/arrow_forward_ios.svg") no-repeat center/contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq-item__icon {
    width: 2.5rem;
    height: 1.5rem;
  }
}
.p-ledsolution-faq-item.is-open .p-ledsolution-faq-item__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-ledsolution-faq-item__answer {
  margin: 0 2rem 1rem;
  padding-top: 1.5rem;
  border-top: 1px dashed #949494;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-ledsolution-faq-item__answer {
    margin: 0 7.5rem 2rem 13.6rem;
    font-size: 1.6rem;
  }
}
.p-ledsolution-faq-item__answer p:not(:last-child) {
  margin-bottom: 0.5rem;
}
.p-ledsolution-faq-item__answer:empty {
  display: none;
}

/* --------------------------------

  p-multicolor

-------------------------------- */
.p-multicolor {
  --multi-green: #419A11;
  --multi-green-dark: #05941F;
  --multi-green-light: #78CF0E;
  --multi-orange: #FF6725;
  --multi-yellow: #FFE500;
  --multi-gold: #C18922;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}
.p-multicolor img {
  max-width: 100%;
  height: auto;
}

.p-multicolor-contact-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(100%, 40rem);
  min-height: 6rem;
  padding: 1.6rem 4.2rem 1.6rem 3rem;
  color: #fff;
  background-color: var(--multi-orange);
  border: 3px solid var(--multi-orange);
  border-radius: 10rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-contact-button {
    width: min(100%, 40.1rem);
    min-height: clamp(6rem, 70 * var(--vw1600), 7rem);
    padding: clamp(1.4rem, 20 * var(--vw1600), 2rem) clamp(4.2rem, 58 * var(--vw1600), 5.8rem) clamp(1.4rem, 20 * var(--vw1600), 2rem) clamp(4rem, 48 * var(--vw1600), 4.8rem);
    font-size: clamp(1.6rem, 24 * var(--vw1600), 2.4rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-contact-button {
    width: min(100%, 50.1rem);
    min-height: clamp(5.6rem, 70 * var(--vw1600), 7rem);
  }
}
@media (hover: hover) {
  .p-multicolor-contact-button:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--multi-orange);
    background-color: #fff;
  }
  .p-multicolor-contact-button:where(:any-link, :enabled, summary):hover {
    color: var(--multi-orange);
    background-color: #fff;
  }
  .p-multicolor-contact-button:where(:-moz-any-link, :enabled, summary):hover span::before {
    -webkit-filter: none;
    filter: none;
  }
  .p-multicolor-contact-button:where(:any-link, :enabled, summary):hover span::before {
    -webkit-filter: none;
    filter: none;
  }
  .p-multicolor-contact-button:where(:-moz-any-link, :enabled, summary):hover span::after {
    -webkit-filter: none;
    filter: none;
  }
  .p-multicolor-contact-button:where(:any-link, :enabled, summary):hover span::after {
    -webkit-filter: none;
    filter: none;
  }
}
.p-multicolor-contact-button:focus-visible {
  outline: 0.3rem solid rgba(255, 103, 37, 0.35);
  outline-offset: 0.4rem;
}
.p-multicolor-contact-button span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-contact-button span {
    white-space: nowrap;
    gap: clamp(1rem, 20 * var(--vw1600), 2rem);
  }
}
.p-multicolor-contact-button span::before, .p-multicolor-contact-button span::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: -webkit-filter 0.3s ease;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
.p-multicolor-contact-button span::before {
  width: 2.8rem;
  height: 2.1rem;
  background-image: url("../img/pages/multicolor/icon-mail_wht.svg");
}
.p-multicolor-contact-button span::after {
  position: absolute;
  right: 2rem;
  width: 0.9rem;
  height: 1.5rem;
  background-image: url("../img/pages/multicolor/icon-arrow-right_wht.svg");
}
@media screen and (min-width: 768px), print {
  .p-multicolor-contact-button span::after {
    right: clamp(2rem, 25 * var(--vw1600), 2.5rem);
  }
}
@media (hover: hover) {
  .p-multicolor-contact-button:where(:-moz-any-link, :enabled, summary):hover span::before, .p-multicolor-contact-button:where(:-moz-any-link, :enabled, summary):hover span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(54%) sepia(95%) saturate(2220%) hue-rotate(342deg) brightness(102%) contrast(101%);
    filter: brightness(0) saturate(100%) invert(54%) sepia(95%) saturate(2220%) hue-rotate(342deg) brightness(102%) contrast(101%);
  }
  .p-multicolor-contact-button:where(:any-link, :enabled, summary):hover span::before, .p-multicolor-contact-button:where(:any-link, :enabled, summary):hover span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(54%) sepia(95%) saturate(2220%) hue-rotate(342deg) brightness(102%) contrast(101%);
    filter: brightness(0) saturate(100%) invert(54%) sepia(95%) saturate(2220%) hue-rotate(342deg) brightness(102%) contrast(101%);
  }
}

.p-multicolor-hero {
  position: relative;
  background-color: var(--multi-green-dark);
}
.p-multicolor-hero__main {
  position: relative;
  min-height: auto;
  overflow: hidden;
  padding-inline: 2rem;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(25, 16, 4, 0.82)), color-stop(54%, rgba(25, 16, 4, 0.56)), to(rgba(25, 16, 4, 0.12))), url("../img/pages/multicolor/hero_bg.webp");
  background-image: linear-gradient(90deg, rgba(25, 16, 4, 0.82) 0%, rgba(25, 16, 4, 0.56) 54%, rgba(25, 16, 4, 0.12) 100%), url("../img/pages/multicolor/hero_bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__main {
    min-height: clamp(30rem, 500 * var(--vw1600), 50rem);
    padding-inline: clamp(2rem, 50 * var(--vw1600), 5rem);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(25, 16, 4, 0.75)), color-stop(40%, rgba(25, 16, 4, 0.75)), color-stop(70%, rgba(25, 16, 4, 0))), url("../img/pages/multicolor/hero_bg.webp");
    background-image: linear-gradient(90deg, rgba(25, 16, 4, 0.75) 0%, rgba(25, 16, 4, 0.75) 40%, rgba(25, 16, 4, 0) 70%), url("../img/pages/multicolor/hero_bg.webp");
    background-position: center;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__main {
    min-height: clamp(35rem, 500 * var(--vw1600), 50rem);
  }
}
.p-multicolor-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  justify-items: start;
  gap: 1.8rem;
  width: 100%;
  max-width: 150rem;
  min-height: inherit;
  margin-inline: auto;
  padding: 3rem 0 3rem 0;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__inner {
    padding: 2rem 0;
    gap: 2.4rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__inner {
    padding: 2rem 0;
  }
}
.p-multicolor-hero__content {
  position: relative;
  z-index: 3;
  max-width: 68rem;
  color: #fff;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__content {
    width: 100%;
    max-width: clamp(40rem, 60vw, 56rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__content {
    max-width: clamp(54rem, 690 * var(--vw1600), 69rem);
    padding-right: 0;
  }
}
.p-multicolor-hero__labels.p-multicolor-hero__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__labels.p-multicolor-hero__labels {
    gap: clamp(1rem, 15 * var(--vw1600), 1.5rem);
    margin-bottom: clamp(1.5rem, 22 * var(--vw1600), 2.2rem);
  }
}
.p-multicolor-hero__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.8rem;
  padding: 0.5rem 1rem;
  color: #fff;
  background-color: var(--multi-green);
  border-radius: 0.5rem;
  font-size: clamp(1rem, 13 * var(--vw768), 1.3rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__label {
    min-height: clamp(2.8rem, 40 * var(--vw1600), 4rem);
    padding: 0.5rem clamp(1.5rem, 30 * var(--vw1600), 3rem);
    font-size: clamp(1.2rem, 20 * var(--vw1600), 2rem);
  }
}
.p-multicolor-hero__heading {
  display: grid;
  gap: 0.2rem;
  color: #fff;
  font-size: clamp(2rem, 33 * var(--vw768), 3.3rem);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0.05em;
  text-shadow: 0 0 2rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__heading {
    gap: 0;
    font-size: clamp(2.6rem, 36 * var(--vw1100), 3.6rem);
    line-height: 1.28;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__heading {
    font-size: clamp(3.4rem, 50 * var(--vw1600), 5rem);
  }
}
.p-multicolor-hero__heading span {
  display: block;
}
.p-multicolor-hero__heading span:nth-child(2) {
  color: var(--multi-yellow);
  font-size: clamp(2.8rem, 44 * var(--vw768), 4.4rem);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__heading span:nth-child(2) {
    font-size: clamp(3.4rem, 50 * var(--vw1100), 5rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__heading span:nth-child(2) {
    font-size: clamp(5rem, 74 * var(--vw1600), 7.4rem);
  }
}
.p-multicolor-hero__lead {
  margin-top: 1.5rem;
  color: #fff;
  font-size: clamp(1.2rem, 14 * var(--vw768), 1.4rem);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__lead {
    width: auto;
    max-width: 64rem;
    margin-top: clamp(1.5rem, 28 * var(--vw1600), 2.8rem);
    font-size: clamp(1.2rem, 16 * var(--vw1600), 1.6rem);
    line-height: 1.6;
  }
}
.p-multicolor-hero__visual {
  position: absolute;
  z-index: 2;
  right: -1rem;
  top: 0;
  width: clamp(5rem, 170 * var(--vw768), 17rem);
  pointer-events: none;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__visual {
    right: clamp(8rem, 180 * var(--vw1100), 18rem);
    top: 0;
    width: clamp(15rem, 300 * var(--vw1100), 30rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__visual {
    right: clamp(10.5rem, 185 * var(--vw1600), 18.5rem);
    top: 0;
    width: clamp(25rem, 504 * var(--vw1600), 50.4rem);
    -webkit-transform: none;
            transform: none;
  }
}
.p-multicolor-hero__foot {
  position: relative;
  z-index: 3;
  margin-top: 0;
  padding: 2.5rem clamp(2rem, 50 * var(--vw1600), 5rem);
  place-content: center;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--multi-green-dark)), to(var(--multi-green-light)));
  background-image: linear-gradient(90deg, var(--multi-green-dark), var(--multi-green-light));
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__foot {
    margin-top: 0;
    padding: 2.5rem clamp(2rem, 50 * var(--vw1600), 5rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__foot {
    min-height: clamp(12rem, 150 * var(--vw1600), 15rem);
    padding: clamp(1rem, 18 * var(--vw1600), 1.8rem) clamp(2rem, 50 * var(--vw1600), 5rem);
  }
}
.p-multicolor-hero__foot-inner {
  display: grid;
  gap: 2rem;
  width: 100%;
  max-width: 35rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__foot-inner {
    max-width: clamp(58rem, 700 * var(--vw1100), 70rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero__foot-inner {
    grid-template-columns: minmax(0, 1fr) minmax(31rem, clamp(36rem, 501 * var(--vw1600), 50.1rem));
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 150rem;
    gap: clamp(2rem, 40 * var(--vw1600), 4rem);
  }
}
.p-multicolor-hero__action {
  display: grid;
  justify-items: center;
  gap: 0.8rem;
}
.p-multicolor-hero__button {
  width: 100%;
  text-align: center;
}
.p-multicolor-hero__note {
  font-size: 1.1rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero__note {
    font-size: clamp(1.2rem, 16 * var(--vw1600), 1.6rem);
    white-space: nowrap;
  }
}

.p-multicolor-hero-price {
  position: relative;
  z-index: 4;
  justify-self: center;
  margin-top: 0;
  display: grid;
  place-items: center;
  width: 12rem;
  aspect-ratio: 1;
  padding-top: 0.6rem;
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-price {
    position: absolute;
    justify-self: auto;
    margin-top: 0;
    right: clamp(2rem, 40 * var(--vw1100), 4rem);
    top: clamp(14.5rem, 160 * var(--vw1100), 16rem);
    width: clamp(11rem, 150 * var(--vw1100), 15rem);
    padding-top: 1rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-price {
    right: clamp(4rem, 63 * var(--vw1600), 6.3rem);
    top: clamp(10rem, 250 * var(--vw1600), 25rem);
    -webkit-transform: none;
            transform: none;
    width: clamp(13rem, 180 * var(--vw1600), 18rem);
  }
}
.p-multicolor-hero-price__label {
  -ms-flex-item-align: end;
      align-self: end;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-price__label {
    font-size: clamp(1.3rem, 16 * var(--vw1100), 1.6rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-price__label {
    font-size: clamp(1.5rem, 20 * var(--vw1600), 2rem);
  }
}
.p-multicolor-hero-price__num {
  -ms-flex-item-align: start;
      align-self: start;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.3rem;
  color: #07911e;
  font-family: "Inter", sans-serif;
  font-size: 7rem;
  font-weight: 700;
  line-height: 0.92;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(22.66%, #0A961F), color-stop(47.94%, #60C212), color-stop(50.92%, #B5F866), color-stop(66.16%, #6BC322), to(#075707));
  background-image: linear-gradient(180deg, #0A961F 22.66%, #60C212 47.94%, #B5F866 50.92%, #6BC322 66.16%, #075707 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-price__num {
    font-size: clamp(6.2rem, 86 * var(--vw1100), 8.6rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-price__num {
    font-size: clamp(8rem, 110 * var(--vw1600), 11rem);
  }
}
.p-multicolor-hero-price__num span {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  -webkit-text-fill-color: #000;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-price__num span {
    font-size: clamp(2rem, 28 * var(--vw1100), 2.8rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-price__num span {
    font-size: clamp(2.6rem, 36 * var(--vw1600), 3.6rem);
  }
}

.p-multicolor-hero-features {
  display: grid;
  gap: 1.8rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.2rem, 28 * var(--vw1600), 2.8rem);
  }
}

.p-multicolor-hero-feature {
  position: relative;
  display: grid;
  grid-template-columns: 5rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  min-height: 7.5rem;
  padding: 1.2rem 1.2rem 1.2rem 1.8rem;
  background-color: #fff;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-feature {
    grid-template-columns: clamp(4rem, 47 * var(--vw1100), 4.7rem) 1fr;
    gap: clamp(0.8rem, 12 * var(--vw1100), 1.2rem);
    min-height: clamp(7rem, 80 * var(--vw1100), 8rem);
    padding: clamp(1.2rem, 15 * var(--vw1100), 1.5rem) clamp(1rem, 13 * var(--vw1100), 1.3rem) clamp(1.2rem, 15 * var(--vw1100), 1.5rem) clamp(1.3rem, 18 * var(--vw1100), 1.8rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-feature {
    grid-template-columns: clamp(4.2rem, 67 * var(--vw1600), 6.7rem) 1fr;
    gap: clamp(0.8rem, 15 * var(--vw1600), 1.5rem);
    min-height: clamp(7rem, 90 * var(--vw1600), 9rem);
    padding: clamp(1.2rem, 19 * var(--vw1600), 1.9rem) clamp(1.3rem, 20 * var(--vw1600), 2rem) clamp(1.2rem, 19 * var(--vw1600), 1.9rem) clamp(1.6rem, 23 * var(--vw1600), 2.3rem);
  }
}
.p-multicolor-hero-feature__check {
  position: absolute;
  left: -1rem;
  top: -1rem;
  width: 3.2rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-feature__check {
    left: -1.1rem;
    top: -1.4rem;
    width: clamp(2.8rem, 35 * var(--vw1100), 3.5rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-feature__check {
    width: clamp(3rem, 42 * var(--vw1600), 4.2rem);
  }
}
.p-multicolor-hero-feature__icon {
  justify-self: center;
  width: auto;
  max-width: 5rem;
  max-height: 4.2rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-feature__icon {
    max-width: clamp(4.5rem, 60 * var(--vw1100), 6rem);
    max-height: clamp(3.5rem, 45 * var(--vw1100), 4.5rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-feature__icon {
    max-width: clamp(5rem, 67 * var(--vw1600), 6.7rem);
    max-height: clamp(4rem, 50 * var(--vw1600), 5rem);
  }
}
.p-multicolor-hero-feature__text {
  display: grid;
  gap: 0.1rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-feature__text {
    font-size: clamp(1.1rem, 13 * var(--vw1100), 1.3rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-feature__text {
    font-size: clamp(1rem, 16 * var(--vw1600), 1.6rem);
  }
}
.p-multicolor-hero-feature__text strong {
  color: var(--multi-gold);
  font-size: 2.2rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-hero-feature__text strong {
    font-size: clamp(1.6rem, 20 * var(--vw1100), 2rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-hero-feature__text strong {
    font-size: clamp(1.6rem, 26 * var(--vw1600), 2.6rem);
  }
}

.p-multicolor-intro {
  position: relative;
  display: grid;
  place-items: center;
  padding: 4rem 2rem;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro {
    min-height: clamp(26rem, 350 * var(--vw1600), 35rem);
    padding: clamp(6rem, 65 * var(--vw1600), 6.5rem) 4rem;
  }
}
.p-multicolor-intro__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
  text-align: center;
}
.p-multicolor-intro__heading {
  display: grid;
  gap: 0.2rem;
  color: #000;
  font-size: clamp(1.8rem, 32 * var(--vw768), 3.2rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro__heading {
    font-size: clamp(3rem, 45 * var(--vw1600), 4.5rem);
  }
}
.p-multicolor-intro__heading span {
  display: block;
}
.p-multicolor-intro__heading span:nth-child(2) {
  color: var(--multi-green);
}
.p-multicolor-intro__text {
  margin-top: clamp(1.6rem, 28 * var(--vw1600), 2.8rem);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro__text {
    font-size: clamp(1.4rem, 16 * var(--vw1600), 1.6rem);
  }
}
.p-multicolor-intro__deco {
  position: absolute;
  z-index: 1;
  top: 0;
  width: clamp(18rem, 38vw, 28rem);
  pointer-events: none;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro__deco {
    width: clamp(24rem, 364 * var(--vw1600), 36.4rem);
  }
}
.p-multicolor-intro__deco img {
  display: block;
  width: 100%;
}
.p-multicolor-intro__deco--left {
  left: -7rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro__deco--left {
    left: 0;
  }
}
.p-multicolor-intro__deco--right {
  right: -7rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-intro__deco--right {
    right: 0;
  }
}

.p-multicolor-loss {
  position: relative;
  --loss-arrow-width: clamp(7.4rem, calc(100 * var(--vw768)), 10rem);
  --loss-arrow-height: clamp(3rem, calc(47 * var(--vw768)), 4.7rem);
  --loss-bg-height: clamp(50rem, calc(800 * var(--vw768)), 80rem);
  padding: 4rem 2rem 4rem;
  overflow: visible;
  background-color: #fff;
  background-image: url("../img/pages/multicolor/loss_bg.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto var(--loss-bg-height);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss {
    --loss-arrow-width: clamp(10rem, calc(140 * var(--vw1600)), 14rem);
    --loss-arrow-height: clamp(4.5rem, calc(55 * var(--vw1600)), 5.5rem);
    --loss-bg-height: clamp(58rem, calc(674 * var(--vw1600)), 67.4rem);
    padding: clamp(6rem, 74 * var(--vw1600), 7.4rem) 4rem clamp(6rem, 86 * var(--vw1600), 8.6rem);
  }
}
@media (min-width: 1601px) {
  .p-multicolor-loss {
    background-size: 100% auto;
  }
}
.p-multicolor-loss::after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 1px;
  left: 50%;
  width: var(--loss-arrow-width);
  height: var(--loss-arrow-height);
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-transform: translateX(-50%) translateY(100%);
          transform: translateX(-50%) translateY(100%);
}
.p-multicolor-loss__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-loss__head {
  text-align: center;
}
.p-multicolor-loss__label {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss__label {
    font-size: clamp(1.8rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-loss__heading {
  margin-top: 0.6rem;
  color: #000;
  font-size: clamp(2.4rem, 32 * var(--vw768), 3.2rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss__heading {
    margin-top: 0.4rem;
    font-size: clamp(3.4rem, 45 * var(--vw1600), 4.5rem);
  }
}
.p-multicolor-loss__heading span {
  display: inline;
}
.p-multicolor-loss__heading span:last-child {
  color: #A01F1F;
}
.p-multicolor-loss__heading em {
  font-size: 1.3em;
  font-style: normal;
  line-height: 1;
}
.p-multicolor-loss__cards {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
  margin-inline: auto;
  max-width: 34.5rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-top: clamp(3rem, 40 * var(--vw1600), 4rem);
    max-width: 70rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-loss__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(2rem, 32 * var(--vw1600), 3.2rem);
    max-width: none;
  }
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss__cards > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-loss__cards > *:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}

.p-multicolor-loss-card {
  --loss-card-padding-x: clamp(1.6rem, calc(20 * var(--vw768)), 2rem);
  display: grid;
  gap: 1.4rem;
  padding: 2rem var(--loss-card-padding-x);
  background-color: #fff;
  border: 1px solid #949494;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card {
    --loss-card-padding-x: 1.8rem;
    gap: 1rem;
  }
}
.p-multicolor-loss-card__image {
  display: grid;
  place-items: center;
  width: min(100%, 20rem);
  margin-inline: auto;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: #F4F4F4;
  border-radius: 50%;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card__image {
    width: min(100%, 26rem);
  }
}
.p-multicolor-loss-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-multicolor-loss-card__title-wrap {
  display: grid;
  grid-template-columns: 5rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3rem;
  margin-inline: calc(var(--loss-card-padding-x) * -1) 0;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card__title-wrap {
    gap: 1.3rem;
    grid-template-columns: clamp(5rem, 75 * var(--vw1600), 7.5rem) 1fr;
  }
}
.p-multicolor-loss-card__num {
  display: grid;
  place-items: center;
  min-height: 4.5rem;
  padding-bottom: 0.3rem;
  color: #fff;
  background-color: #000;
  border-radius: 0 1rem 1rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card__num {
    min-height: clamp(4.5rem, 55 * var(--vw1600), 5.5rem);
    font-size: clamp(2.4rem, 32 * var(--vw1600), 3.2rem);
  }
}
.p-multicolor-loss-card__title {
  color: #000;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card__title {
    font-size: clamp(2.2rem, 28 * var(--vw1600), 2.8rem);
  }
}
.p-multicolor-loss-card__text {
  padding-top: 1rem;
  border-top: 1px dashed #949494;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-card__text {
    font-size: clamp(1.4rem, 16 * var(--vw1600), 1.6rem);
  }
}

.p-multicolor-loss-message {
  display: grid;
  justify-items: center;
  gap: 1.6rem;
  max-width: 98.9rem;
  margin: 3.6rem auto 0;
  padding: 2rem 1.8rem 2.5rem;
  background-color: rgba(255, 255, 255, 0.72);
  border: 0.3rem dashed #82BC64;
  border-radius: 4rem;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-loss-message {
    gap: 2rem;
    margin-top: clamp(3.6rem, 38 * var(--vw1600), 3.8rem);
    padding: clamp(1.9rem, 19 * var(--vw1600), 1.9rem) clamp(3rem, 60 * var(--vw1600), 6rem) clamp(3rem, 30 * var(--vw1600), 3rem);
    border-radius: 10rem;
  }
}
.p-multicolor-loss-message__icon {
  width: clamp(4.6rem, 57 * var(--vw1600), 5.7rem);
}
.p-multicolor-loss-message__text {
  color: #000;
  font-size: clamp(1.6rem, 25 * var(--vw1600), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-multicolor-loss-message__text span {
  display: block;
}
.p-multicolor-loss-message__text em {
  color: var(--multi-green);
  font-style: normal;
}

.p-multicolor-point {
  position: relative;
  padding: clamp(5rem, 80 * var(--vw768), 8rem) 2rem 5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#E7F5BF), to(#fff));
  background: linear-gradient(180deg, #E7F5BF 0%, #fff 100%);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point {
    padding: clamp(6rem, 84 * var(--vw1600), 8.4rem) 4rem clamp(6rem, 88 * var(--vw1600), 8.8rem);
  }
}
.p-multicolor-point__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-point__head {
  text-align: center;
}
.p-multicolor-point__heading {
  color: #000;
  font-size: clamp(2.2rem, 32 * var(--vw768), 3.2rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point__heading {
    font-size: clamp(3.2rem, 45 * var(--vw1600), 4.5rem);
  }
}
.p-multicolor-point__heading span {
  display: block;
}
.p-multicolor-point__heading span:first-child {
  color: var(--multi-green);
}
.p-multicolor-point__lead {
  margin-top: 1.4rem;
  color: #000;
  font-size: clamp(1.4rem, 20 * var(--vw768), 2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point__lead {
    margin-top: 1.6rem;
    font-size: clamp(1.6rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-point__lead span {
  color: var(--multi-green);
}
.p-multicolor-point__banner {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point__banner {
    margin-top: clamp(2rem, 26 * var(--vw1600), 2.6rem);
  }
}
.p-multicolor-point__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.p-multicolor-point-table {
  width: 100%;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table {
    max-width: 110rem;
    margin: 2.5rem auto 0;
  }
}
.p-multicolor-point-table__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.p-multicolor-point-table__col--label {
  width: 24%;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__col--label {
    width: 27.2727%;
  }
}
.p-multicolor-point-table__col--single, .p-multicolor-point-table__col--multi {
  width: 38%;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__col--single, .p-multicolor-point-table__col--multi {
    width: 36.3636%;
  }
}
.p-multicolor-point-table__blank, .p-multicolor-point-table__head, .p-multicolor-point-table__term, .p-multicolor-point-table__value {
  height: auto;
  padding: 0.6rem 0.4rem;
  color: #000;
  font-size: clamp(1rem, 10 * var(--vw375), 1rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.02em;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__blank, .p-multicolor-point-table__head, .p-multicolor-point-table__term, .p-multicolor-point-table__value {
    height: 6.5rem;
    padding: 1.3rem 1rem;
    font-size: clamp(1.6rem, 25 * var(--vw1600), 2.5rem);
    letter-spacing: 0.05em;
    overflow-wrap: normal;
  }
}
.p-multicolor-point-table__blank {
  height: 5.5rem;
  padding: 0;
  border: 0;
  background-color: transparent;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__blank {
    height: 8.7rem;
  }
}
.p-multicolor-point-table__head {
  padding: 0;
  border: 0;
  background-color: transparent;
  font-weight: 400;
}
.p-multicolor-point-table__head span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0.4rem 0.4rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__head span {
    padding: 1.3rem 1rem;
  }
}
.p-multicolor-point-table__head--single {
  vertical-align: bottom;
}
.p-multicolor-point-table__head--single span {
  min-height: 4.3rem;
  height: auto;
  background-color: #EBEBEB;
  border: 0.1rem solid #DFDFDF;
  border-bottom: 0;
  border-radius: 1.2rem 0 0 0;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__head--single span {
    border: 0.2rem solid #DFDFDF;
  }
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__head--single span {
    height: 6.5rem;
    border-radius: 2rem 0 0 0;
  }
}
.p-multicolor-point-table__head--multi {
  height: 5rem;
  border-color: var(--multi-green);
  border-radius: 1.2rem 1.2rem 0 0;
  background-color: var(--multi-green);
  color: #fff;
  font-weight: 700;
}
.p-multicolor-point-table__head--multi span {
  background-color: var(--multi-green);
  border-radius: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__head--multi {
    height: 8.7rem;
    border-radius: 2rem 2rem 0 0;
  }
}
.p-multicolor-point-table__term, .p-multicolor-point-table__value {
  min-height: 5.2rem;
  border-right: 0.1rem solid #DFDFDF;
  border-bottom: 0.1rem solid #DFDFDF;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__term, .p-multicolor-point-table__value {
    border-right: 0.2rem solid #DFDFDF;
    border-bottom: 0.2rem solid #DFDFDF;
    min-height: 6.5rem;
  }
}
.p-multicolor-point-table__term {
  border-left: 0.1rem solid #DFDFDF;
  background-color: #EFF8E3;
  font-weight: 400;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__term {
    border-left: 0.2rem solid #DFDFDF;
  }
}
.p-multicolor-point-table__value {
  background-color: #FBFBFB;
}
.p-multicolor-point-table__value span {
  display: inline-block;
  color: var(--multi-green);
  font-weight: 700;
}
.p-multicolor-point-table__value--multi {
  border-right: 0.1rem solid var(--multi-green);
  border-left: 0.1rem solid var(--multi-green);
  background-color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table__value--multi {
    border-right: 0.3rem solid var(--multi-green);
    border-left: 0.3rem solid var(--multi-green);
  }
}
.p-multicolor-point-table__value--multi:last-child {
  color: #000;
}
.p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__term,
.p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__value:not(.p-multicolor-point-table__value--multi) {
  border-top: 0.1rem solid #DFDFDF;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__term,
  .p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__value:not(.p-multicolor-point-table__value--multi) {
    border-top: 0.2rem solid #DFDFDF;
  }
}
.p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__value--multi {
  border-top: 0.1rem solid var(--multi-green);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table tbody tr:first-child .p-multicolor-point-table__value--multi {
    border-top: 0.3rem solid var(--multi-green);
  }
}
.p-multicolor-point-table tbody tr:last-child .p-multicolor-point-table__value--multi {
  border-bottom: 0.1rem solid var(--multi-green);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-point-table tbody tr:last-child .p-multicolor-point-table__value--multi {
    border-bottom: 0.3rem solid var(--multi-green);
  }
}

.p-multicolor-cta {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 25rem;
  padding: 4rem 2rem;
  overflow: hidden;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(var(--multi-green-dark)), to(var(--multi-green-light)));
  background: linear-gradient(90deg, var(--multi-green-dark) 0%, var(--multi-green-light) 100%);
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-cta {
    min-height: clamp(34rem, 421 * var(--vw1600), 42.1rem);
    padding: clamp(4rem, 74 * var(--vw1600), 7.4rem) 4rem;
  }
}
.p-multicolor-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.28)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.28) 100%);
  -webkit-clip-path: polygon(0 72%, 100% 20%, 100% 100%, 0 100%);
  clip-path: polygon(0 72%, 100% 20%, 100% 100%, 0 100%);
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-cta::before {
    -webkit-clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
  }
}
.p-multicolor-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-cta__heading {
  width: 100%;
  font-size: clamp(2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-multicolor-cta__lead {
  margin-top: 1.5rem;
  font-size: clamp(1.4rem, 18 * var(--vw1600), 1.8rem);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-cta__lead {
    margin-top: 3rem;
  }
}
.p-multicolor-cta__action {
  width: 100%;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-cta__action {
    margin-top: 3rem;
  }
}
.p-multicolor-cta__action .p-multicolor-contact-button {
  width: min(100%, 35rem);
  min-height: 5rem;
  padding: 1.6rem 3.6rem 1.6rem 2.5rem;
  font-size: clamp(1.5rem, 18 * var(--vw768), 1.8rem);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-cta__action .p-multicolor-contact-button {
    width: min(100%, clamp(40rem, 501 * var(--vw1600), 50.1rem));
    min-height: clamp(6.4rem, 78 * var(--vw1600), 7.8rem);
    padding: clamp(1.6rem, 20 * var(--vw1600), 2rem) clamp(4.2rem, 55 * var(--vw1600), 5.5rem) clamp(1.6rem, 20 * var(--vw1600), 2rem) clamp(4rem, 50 * var(--vw1600), 5rem);
    font-size: clamp(1.8rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-cta__action .p-multicolor-contact-button span {
  gap: 1rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-cta__action .p-multicolor-contact-button span {
    gap: clamp(1rem, 10 * var(--vw1600), 1rem);
  }
}
.p-multicolor-cta__action .p-multicolor-contact-button span::before {
  width: 2.4rem;
  height: 1.8rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-cta__action .p-multicolor-contact-button span::before {
    width: clamp(2.6rem, 33 * var(--vw1600), 3.3rem);
    height: clamp(2rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-cta__action .p-multicolor-contact-button span::after {
  right: 1.8rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-cta__action .p-multicolor-contact-button span::after {
    right: clamp(2rem, 25 * var(--vw1600), 2.5rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-cta--closing {
    min-height: clamp(34rem, 416 * var(--vw1600), 41.6rem);
    padding: clamp(4rem, 56 * var(--vw1600), 5.6rem) 4rem;
  }
}
.p-multicolor-cta--closing .p-multicolor-cta__lead {
  width: 100%;
  max-width: 110rem;
}

.p-multicolor-feature {
  padding: 4rem 2rem 9rem 2rem;
  background: #fff url("../img/pages/multicolor/feature_bg.png") no-repeat center top/cover;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-feature {
    padding: clamp(4rem, 80 * var(--vw1600), 8rem) 4rem 19rem 4rem;
  }
}
.p-multicolor-feature__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-feature__heading {
  color: #000;
  font-size: clamp(2rem, 34 * var(--vw768), 3.4rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature__heading {
    font-size: clamp(3.2rem, 45 * var(--vw1600), 4.5rem);
  }
}
.p-multicolor-feature__heading span {
  display: inline;
}
.p-multicolor-feature__heading span:last-child {
  color: var(--multi-green);
}
.p-multicolor-feature__heading em {
  color: var(--multi-green);
  font-size: 1.42em;
  font-style: normal;
  line-height: 1;
}
.p-multicolor-feature__cards {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
  margin-inline: auto;
  max-width: 34.5rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    max-width: 70rem;
    margin-top: clamp(3rem, 42 * var(--vw1600), 4.2rem);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-feature__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(2rem, 32 * var(--vw1600), 3.2rem);
    max-width: none;
  }
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature__cards > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-feature__cards > *:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }
}

.p-multicolor-feature-card {
  --feature-card-padding-x: clamp(1.6rem, calc(20 * var(--vw768)), 2rem);
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 1rem;
  padding: 2rem var(--feature-card-padding-x);
  background-color: #fff;
  border: 1px solid #82BC64;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 1rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card {
    --feature-card-padding-x: 1.4rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-feature-card {
    --feature-card-padding-x: 1.4rem;
  }
}
.p-multicolor-feature-card__image {
  display: grid;
  place-items: center;
  width: min(100%, 20rem);
  margin-inline: auto;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: #F4F4F4;
  border-radius: 50%;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card__image {
    width: min(100%, 26rem);
  }
}
.p-multicolor-feature-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-multicolor-feature-card__title-wrap {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3rem;
  margin-inline: calc(var(--feature-card-padding-x) * -1) 0;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card__title-wrap {
    grid-template-columns: clamp(5rem, 75 * var(--vw1600), 7.5rem) minmax(0, 1fr);
    gap: 1.6rem;
  }
}
.p-multicolor-feature-card__num {
  display: grid;
  place-items: center;
  min-height: 4.5rem;
  padding-bottom: 0.3rem;
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--multi-green-dark)), to(var(--multi-green-light)));
  background-image: linear-gradient(90deg, var(--multi-green-dark), var(--multi-green-light));
  border-radius: 0 1rem 1rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card__num {
    min-height: clamp(4.5rem, 55 * var(--vw1600), 5.5rem);
    font-size: clamp(2.4rem, 32 * var(--vw1600), 3.2rem);
  }
}
.p-multicolor-feature-card__title {
  color: var(--multi-green);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card__title {
    font-size: clamp(2.2rem, 28 * var(--vw1600), 2.8rem);
  }
}
.p-multicolor-feature-card__text {
  padding-top: 1rem;
  border-top: 1px dashed #949494;
  color: #000;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-feature-card__text {
    font-size: clamp(1.4rem, 16 * var(--vw1600), 1.6rem);
  }
}

.p-multicolor-reason {
  position: relative;
  padding: 6rem 2rem 4rem;
  background-color: #fff;
  overflow: hidden;
  margin-top: -4rem;
  -webkit-clip-path: shape(from 0 40px, curve to 100% 40px with 50% -40px, line to 100% 100%, line to 0 100%, close);
          clip-path: shape(from 0 40px, curve to 100% 40px with 50% -40px, line to 100% 100%, line to 0 100%, close);
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason {
    padding: 10rem 4rem clamp(6rem, 100 * var(--vw1600), 10rem);
    margin-top: -10rem;
    -webkit-clip-path: shape(from 0 100px, curve to 100% 100px with 50% -100px, line to 100% 100%, line to 0 100%, close);
            clip-path: shape(from 0 100px, curve to 100% 100px with 50% -100px, line to 100% 100%, line to 0 100%, close);
  }
}
.p-multicolor-reason__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-reason__head {
  text-align: center;
}
.p-multicolor-reason__label {
  color: #256106;
  font-size: clamp(1.4rem, 25 * var(--vw1600), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-multicolor-reason__heading {
  margin-top: 0.8rem;
  color: #000;
  font-size: clamp(2rem, 30 * var(--vw768), 3rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-reason__heading {
    font-size: clamp(3rem, 45 * var(--vw1600), 4.5rem);
  }
}
.p-multicolor-reason__heading span {
  display: inline;
}
.p-multicolor-reason__heading span:not(:first-child) {
  color: #256106;
}
.p-multicolor-reason__heading em {
  color: #256106;
  font-size: 1.42em;
  font-style: normal;
  line-height: 1;
}
.p-multicolor-reason__overview {
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
  max-width: 63rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason__overview {
    grid-template-columns: minmax(34rem, 44rem) minmax(0, 63rem);
    gap: 3rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: clamp(3rem, 50 * var(--vw1600), 5rem);
    max-width: none;
  }
}
.p-multicolor-reason__list {
  display: grid;
  border-top: 1px solid #DFDFDF;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason__list {
    row-gap: 1.5rem;
    padding-top: 1.5rem;
  }
}
.p-multicolor-reason__image {
  overflow: hidden;
  max-width: 63rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason__image {
    width: 100%;
    max-width: 63rem;
    aspect-ratio: 630/506;
    justify-self: end;
  }
}
.p-multicolor-reason__image img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.p-multicolor-reason__arrow {
  width: clamp(16rem, 338 * var(--vw1600), 33.8rem);
  margin: 2.5rem auto 0;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason__arrow {
    margin: 3rem auto 0;
  }
}
.p-multicolor-reason__arrow img {
  display: block;
  width: 100%;
}

.p-multicolor-reason-item {
  display: grid;
  gap: 1rem;
  padding: 1.8rem 0;
  border-bottom: 1px solid #DFDFDF;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-item {
    padding: 0 0 1.5rem;
  }
}
.p-multicolor-reason-item__title-wrap {
  display: grid;
  grid-template-columns: 5.8rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-item__title-wrap {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 1.6rem;
  }
}
.p-multicolor-reason-item__num {
  display: grid;
  place-items: center;
  min-height: 4.4rem;
  padding-bottom: 0.3rem;
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--multi-green-dark)), to(var(--multi-green-light)));
  background-image: linear-gradient(90deg, var(--multi-green-dark), var(--multi-green-light));
  border-radius: 0 0.8rem 0.8rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-item__num {
    min-height: 5.5rem;
    border-radius: 0 1rem 1rem 0;
    font-size: 3.2rem;
  }
}
.p-multicolor-reason-item__title {
  color: var(--multi-green);
  font-size: clamp(1.8rem, 28 * var(--vw1600), 2.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-item__title {
    font-size: 2.8rem;
    white-space: nowrap;
  }
}
.p-multicolor-reason-item__text {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-reason-item__text {
    font-size: 1.6rem;
  }
}

.p-multicolor-reason-result {
  margin-top: 2rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-result {
    margin-top: clamp(3rem, 35 * var(--vw1600), 3.5rem);
  }
}
.p-multicolor-reason-result__heading {
  color: var(--multi-green);
  font-size: clamp(2rem, 30 * var(--vw1600), 3rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-multicolor-reason-result__text {
  margin-top: 0.8rem;
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-reason-result__text {
    font-size: clamp(1.4rem, 16 * var(--vw1600), 1.6rem);
  }
}

.p-multicolor-reason-flow {
  display: grid;
  gap: 1.4rem;
  margin-top: 2rem;
  max-width: 40rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: clamp(2.4rem, 37 * var(--vw1600), 3.7rem);
    max-width: none;
  }
}
.p-multicolor-reason-flow__arrow {
  display: grid;
  place-items: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow__arrow {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 1.4rem;
            flex: 0 0 1.4rem;
  }
}
.p-multicolor-reason-flow__arrow img {
  display: block;
  width: 1.4rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow__arrow img {
    -webkit-transform: none;
            transform: none;
  }
}

.p-multicolor-reason-flow-card {
  --reason-flow-color: var(--multi-green);
  overflow: hidden;
  border: 1px solid var(--reason-flow-color);
  border-radius: 1rem;
  background-color: #fff;
  text-align: left;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30rem;
            flex: 0 0 30rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 30rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-multicolor-reason-flow-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33rem;
            flex: 0 0 33rem;
    width: 33rem;
  }
}
.p-multicolor-reason-flow-card--appeal {
  --reason-flow-color: #E94423;
}
.p-multicolor-reason-flow-card--chance {
  --reason-flow-color: #A26100;
}
.p-multicolor-reason-flow-card--loss {
  --reason-flow-color: var(--multi-green);
}
.p-multicolor-reason-flow-card__heading {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 1.6rem 1.5rem;
  background-color: var(--reason-flow-color);
  color: #fff;
  font-size: clamp(1.8rem, 22 * var(--vw1600), 2.2rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow-card__heading {
    min-height: 6.9rem;
    padding: 2rem 1.5rem;
    font-size: 2.2rem;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1280px), print {
  .p-multicolor-reason-flow-card__heading {
    font-size: 2.5rem;
  }
}
.p-multicolor-reason-flow-card__body {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 10rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow-card__body {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 15.7rem;
            flex: 0 0 15.7rem;
    grid-template-columns: 10.6rem minmax(0, 1fr);
    min-height: 15.7rem;
  }
}
@media screen and (min-width: 1280px), print {
  .p-multicolor-reason-flow-card__body {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.7rem;
            flex: 0 0 12.7rem;
    min-height: 12.7rem;
  }
}
.p-multicolor-reason-flow-card__image {
  display: grid;
  place-items: center;
}
.p-multicolor-reason-flow-card__image img {
  display: block;
  width: 100%;
  max-width: 11rem;
}
.p-multicolor-reason-flow-card__text {
  padding: 1.5rem 1.4rem;
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-reason-flow-card__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 2rem 1rem;
  }
}

.p-multicolor-subscription {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 40rem;
  padding: 4rem 2rem;
  overflow: hidden;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(var(--multi-green-dark)), to(var(--multi-green-light)));
  background: linear-gradient(90deg, var(--multi-green-dark) 0%, var(--multi-green-light) 100%);
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription {
    min-height: clamp(48rem, 649 * var(--vw1600), 64.9rem);
    padding: clamp(3.5rem, 50 * var(--vw1600), 5rem) 4rem;
  }
}
.p-multicolor-subscription::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.28)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.28) 100%);
  -webkit-clip-path: polygon(0 72%, 100% 20%, 100% 100%, 0 100%);
  clip-path: polygon(0 72%, 100% 20%, 100% 100%, 0 100%);
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription::before {
    -webkit-clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
  }
}
.p-multicolor-subscription__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  width: 100%;
  max-width: 98.3rem;
  margin-inline: auto;
}
.p-multicolor-subscription__heading {
  color: #fff;
  font-size: clamp(2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-multicolor-subscription__lead {
  display: grid;
  margin-top: 1rem;
  color: #fff;
  font-size: clamp(2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription__lead {
    margin-top: 1.5rem;
  }
}
.p-multicolor-subscription__lead span {
  display: block;
}
.p-multicolor-subscription__lead em {
  display: inline-block;
  margin-inline: 0.2rem 0.4rem;
  color: var(--multi-yellow);
  font-size: 2.13em;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-transform: translateY(0.04em);
          transform: translateY(0.04em);
}
.p-multicolor-subscription__box {
  width: 100%;
  margin-top: 2rem;
  padding: 1.5rem 2rem;
  background-color: #F4F4F4;
  border-radius: 1rem;
  max-width: 35rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__box {
    max-width: 46rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription__box {
    margin-top: 2rem;
    padding: 2rem 4rem;
    max-width: none;
  }
}
.p-multicolor-subscription__list {
  display: grid;
  gap: 0.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription__list {
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    -moz-column-gap: 1rem;
    -webkit-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 1rem;
  }
}
.p-multicolor-subscription__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  min-width: 0;
  padding: 0;
  color: #000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__item {
    font-size: 2rem;
    line-height: 2;
    gap: 1rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription__item {
    padding: 0.5rem 2rem;
    white-space: nowrap;
    gap: 1rem;
  }
}
.p-multicolor-subscription__item::before {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2rem;
  aspect-ratio: 31/25;
  background: url("../img/pages/multicolor/icon-check_green.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__item::before {
    width: 3rem;
  }
}
.p-multicolor-subscription__action {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-subscription__action {
    margin-top: 3rem;
  }
}
.p-multicolor-subscription__action .p-multicolor-contact-button {
  width: min(100%, 35rem);
  min-height: 5rem;
  padding: 1.6rem 3.6rem 1.6rem 2.5rem;
  font-size: clamp(1.5rem, 18 * var(--vw768), 1.8rem);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__action .p-multicolor-contact-button {
    width: min(100%, clamp(40rem, 501 * var(--vw1600), 50.1rem));
    min-height: clamp(6.4rem, 78 * var(--vw1600), 7.8rem);
    padding: clamp(1.6rem, 20 * var(--vw1600), 2rem) clamp(4.2rem, 55 * var(--vw1600), 5.5rem) clamp(1.6rem, 20 * var(--vw1600), 2rem) clamp(4rem, 50 * var(--vw1600), 5rem);
    font-size: clamp(1.8rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-subscription__action .p-multicolor-contact-button span {
  gap: 1rem;
}
.p-multicolor-subscription__action .p-multicolor-contact-button span::before {
  width: 2.4rem;
  height: 1.8rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__action .p-multicolor-contact-button span::before {
    width: clamp(2.6rem, 33 * var(--vw1600), 3.3rem);
    height: clamp(2rem, 25 * var(--vw1600), 2.5rem);
  }
}
.p-multicolor-subscription__action .p-multicolor-contact-button span::after {
  right: 1.8rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-subscription__action .p-multicolor-contact-button span::after {
    right: clamp(2rem, 25 * var(--vw1600), 2.5rem);
  }
}

.p-multicolor-effect {
  padding: 4rem 2rem;
  background-color: #fff;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-effect {
    min-height: clamp(42rem, 511 * var(--vw1600), 51.1rem);
    padding: clamp(6rem, 81 * var(--vw1600), 8.1rem) 4rem clamp(6rem, 79 * var(--vw1600), 7.9rem);
  }
}
.p-multicolor-effect__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-effect__heading {
  color: #000;
  font-size: clamp(2.2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
.p-multicolor-effect__heading span {
  color: var(--multi-green);
}
.p-multicolor-effect__cards {
  display: grid;
  gap: 1.6rem;
  margin-top: 3rem;
  margin-inline: auto;
  max-width: 25rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-effect__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    max-width: 58rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-effect__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(3rem, 35 * var(--vw1600), 3.5rem);
    max-width: none;
  }
}

.p-multicolor-effect-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem;
  min-height: 14rem;
  padding: 2.4rem 1.5rem 2rem;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#55C914), color-stop(43%, #22B51B), to(#05941F));
  background: linear-gradient(180deg, #55C914 0%, #22B51B 43%, #05941F 100%);
  border-radius: 2rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-effect-card {
    min-height: 16rem;
    gap: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-effect-card {
    min-height: 19.9rem;
    padding-top: 2.8rem;
  }
}
.p-multicolor-effect-card__title {
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  font-size: clamp(2rem, 24 * var(--vw1600), 2.4rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-effect-card__title {
    white-space: nowrap;
  }
}
.p-multicolor-effect-card__text {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-effect-card__text {
    font-size: 1.6rem;
  }
}

.p-multicolor-voice {
  padding: 4rem 2rem;
  background-color: #F9F9F9;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice {
    padding: clamp(4rem, 60 * var(--vw1600), 6rem) 4rem;
  }
}
.p-multicolor-voice__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-voice__heading {
  color: #000;
  font-size: clamp(2.4rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-multicolor-voice__cards {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
  max-width: 48rem;
  margin-inline: auto;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice__cards {
    grid-template-columns: repeat(2, 48rem);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4rem;
    margin-top: clamp(4rem, 47 * var(--vw1600), 4.7rem);
    max-width: none;
  }
}

.p-multicolor-voice-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 2rem;
  background-color: #fff;
  border-radius: 1.5rem;
  -webkit-box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 2rem 1rem rgba(83, 95, 76, 0.08);
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice-card {
    width: 48rem;
    min-height: 42.1rem;
    padding: 2.5rem;
  }
}
.p-multicolor-voice-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice-card__head {
    gap: 1.5rem;
  }
}
.p-multicolor-voice-card__icon {
  display: grid;
  place-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clamp(8rem, 115 * var(--vw768), 11.5rem);
          flex: 0 0 clamp(8rem, 115 * var(--vw768), 11.5rem);
  width: clamp(8rem, 115 * var(--vw768), 11.5rem);
  aspect-ratio: 1;
  background-color: #F4F4F4;
  border-radius: 50%;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice-card__icon {
    -ms-flex-preferred-size: 11.5rem;
        flex-basis: 11.5rem;
    width: 11.5rem;
  }
}
.p-multicolor-voice-card__icon img {
  display: block;
  width: 54%;
  height: auto;
}
.p-multicolor-voice-card__title {
  color: #000;
  font-size: clamp(1.8rem, 25 * var(--vw1600), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-multicolor-voice-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-top: 1.5rem;
}
.p-multicolor-voice-card__body::before {
  content: "";
  width: 5rem;
  height: 0.5rem;
  margin-bottom: 1.5rem;
  background-color: #256106;
}
.p-multicolor-voice-card__result {
  width: 100%;
  color: var(--multi-green);
  font-size: clamp(1.6rem, 22 * var(--vw1600), 2.2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
.p-multicolor-voice-card__list {
  width: 100%;
  margin-top: 1.3rem;
  margin-bottom: 0;
  padding-left: 2.4rem;
  color: #000;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  list-style: disc;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-voice-card__list {
    font-size: 1.6rem;
  }
}
.p-multicolor-voice-card__list li {
  padding-left: 0.2rem;
}

.p-multicolor-flow {
  padding: 4rem 2rem;
  background-color: #fff;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow {
    padding: clamp(6rem, 80 * var(--vw1600), 8rem) 4rem;
  }
}
.p-multicolor-flow__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-flow__heading {
  color: #000;
  font-size: clamp(2.2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow__heading {
    white-space: nowrap;
  }
}
.p-multicolor-flow__list {
  position: relative;
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-flow__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem;
  }
}

.p-multicolor-flow-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  background-color: #F4FFF1;
  border-radius: 0.8rem;
  overflow: visible;
}
.p-multicolor-flow-card:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50%;
  z-index: 0;
  width: 2rem;
  height: 2rem;
  background-color: #C9F3C3;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px), print {
  .p-multicolor-flow-card:not(:last-child)::after {
    content: none;
  }
  .p-multicolor-flow-card:nth-child(2)::after, .p-multicolor-flow-card:nth-child(4)::after {
    content: none;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card:not(:last-child)::after {
    content: "";
    top: 50%;
    right: -2rem;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-multicolor-flow-card:nth-child(2)::after, .p-multicolor-flow-card:nth-child(4)::after {
    top: 50%;
    right: -2rem;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.p-multicolor-flow-card__step {
  padding: 0.5rem 1rem;
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(var(--multi-green-light)), to(var(--multi-green-dark)));
  background: linear-gradient(270deg, var(--multi-green-light) 0%, var(--multi-green-dark) 100%);
  border-radius: 0.8rem 0.8rem 0 0;
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__step {
    font-size: 3rem;
  }
}
.p-multicolor-flow-card__step span {
  font-size: 2.1rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__step span {
    font-size: 2.5rem;
  }
}
.p-multicolor-flow-card__body {
  display: grid;
  gap: 1rem;
  justify-items: center;
  -ms-flex-line-pack: start;
      align-content: start;
  padding: 2rem 1rem;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__body {
    gap: 1.5rem;
    padding: 2rem 1rem 1.5rem;
  }
}
.p-multicolor-flow-card__body figure {
  display: grid;
  place-items: center;
  height: 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__body figure {
    height: 6.4rem;
  }
}
.p-multicolor-flow-card__body figure img {
  display: block;
  width: auto;
  max-height: 5rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__body figure img {
    max-height: 6.4rem;
  }
}
.p-multicolor-flow-card__body h3 {
  display: grid;
  place-content: center;
  min-height: auto;
  color: #000;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 768px), print {
  .p-multicolor-flow-card__body h3 {
    min-height: 5.4rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__body h3 {
    min-height: 6rem;
    font-size: 2rem;
  }
}
.p-multicolor-flow-card__body p {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-flow-card__body p {
    font-size: 1.6rem;
  }
}

.p-multicolor-select {
  position: relative;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, right top, from(#E4F3FF), to(#fff));
  background: linear-gradient(90deg, #E4F3FF 0%, #fff 100%);
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-select {
    min-height: clamp(50rem, 646 * var(--vw1600), 64.6rem);
  }
}
.p-multicolor-select__visual {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
}
.p-multicolor-select__image {
  position: relative;
  height: clamp(10rem, 266 * var(--vw1100), 26.6rem);
  overflow: hidden;
}
.p-multicolor-select__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-multicolor-select__light {
  position: absolute;
  top: 0;
  right: 5%;
  z-index: 2;
  width: clamp(6rem, 180 * var(--vw1100), 18rem);
  pointer-events: none;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-select__light {
    right: clamp(8rem, 177 * var(--vw1600), 17.7rem);
    width: clamp(20rem, 277 * var(--vw1600), 27.7rem);
  }
}
.p-multicolor-select__light img {
  display: block;
  width: 100%;
}
.p-multicolor-select__body {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  padding: 2.5rem 2rem;
  color: #000;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-select__body {
    padding: clamp(3rem, 40 * var(--vw1600), 4rem) 4rem;
  }
}
.p-multicolor-select__lead {
  font-size: clamp(1.6rem, 25 * var(--vw1600), 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
.p-multicolor-select__lead span {
  color: var(--multi-green);
}
.p-multicolor-select__heading {
  margin-top: 1rem;
  font-size: clamp(2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-select__heading {
    margin-top: 1rem;
    line-height: 1;
  }
}
.p-multicolor-select__heading span {
  color: var(--multi-green);
}
.p-multicolor-select__message {
  display: grid;
  gap: 0.6rem;
  margin-top: 2.5rem;
  color: var(--multi-green);
  font-size: clamp(2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-wrap: inherit;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-select__message {
    gap: 1.4rem;
    margin-top: clamp(2.5rem, 50 * var(--vw1600), 5rem);
    line-height: 1;
  }
}

.p-multicolor-faq {
  padding: 4rem 2rem;
  background-color: #fff;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq {
    padding: 8rem 4rem;
  }
}
.p-multicolor-faq__inner {
  width: 100%;
  max-width: 110rem;
  margin-inline: auto;
}
.p-multicolor-faq__heading {
  color: #000;
  font-size: clamp(2.2rem, 45 * var(--vw1600), 4.5rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-multicolor-faq__list {
  display: grid;
  gap: 0.5rem;
  margin-top: 3rem;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq__list {
    margin-top: 4rem;
  }
}

.p-multicolor-faq-item {
  background-color: #F4F4F4;
}
.p-multicolor-faq-item[open] .p-multicolor-faq-item__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-multicolor-faq-item__question {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 1rem 2rem;
  color: inherit;
  text-align: left;
  cursor: pointer;
  list-style: none;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq-item__question {
    gap: 3rem;
    padding: 1rem 5rem;
  }
}
.p-multicolor-faq-item__question::-webkit-details-marker {
  display: none;
}
.p-multicolor-faq-item__num {
  color: #000;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq-item__num {
    font-size: 3rem;
  }
}
.p-multicolor-faq-item__text {
  color: #256106;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq-item__text {
    font-size: 1.8rem;
  }
}
.p-multicolor-faq-item__icon {
  width: 2.2rem;
  height: 1.3rem;
  background: url("../img/pages/multicolor/arrow_forward_ios.svg") no-repeat center/contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq-item__icon {
    width: 2.5rem;
    height: 1.5rem;
  }
}
.p-multicolor-faq-item__answer {
  margin: 0 2rem 1rem;
  padding-top: 1.5rem;
  border-top: 1px dashed #949494;
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .p-multicolor-faq-item__answer {
    margin: 0 7.5rem 2rem 13.6rem;
    font-size: 1.6rem;
  }
}
.p-multicolor-faq-item__answer p:not(:last-child) {
  margin-bottom: 0.5rem;
}

/* --------------------------------

  p-security

-------------------------------- */
.p-security-info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .p-security-info-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.5rem;
  }
}
@media screen and (min-width: 1100px), print {
  .p-security-info-row__main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}
.p-security-info__item:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .p-security-info__item:not(:last-child) {
    margin-bottom: 4rem;
  }
}

/* --------------------------------

  アニメーション

-------------------------------- */
.u-anime-fadein {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.u-anime-fadein.is-active {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.u-anime-slide-right {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.u-anime-slide-right.is-active {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.u-anime-delay--sm {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.u-anime-delay--md {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.u-anime-delay--lg {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

/* MV アニメーション */
@media screen and (min-width: 1100px), print {
  .is-anime-active .u-mv-anime-fadein {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
    -webkit-animation-name: fadein;
    animation-name: fadein;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  @-webkit-keyframes fadein {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes fadein {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
}
.u-mv-anime-rotate {
  -webkit-animation: rotate 0.8s infinite ease-in-out 0.8s alternate;
  animation: rotate 0.8s infinite ease-in-out 0.8s alternate;
}
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}

/* u-color */
.u-color-dark {
  color: #000;
}
.u-color-hover {
  color: #65C533;
}
.u-color-base {
  color: #419A11;
}
.u-color-main {
  color: #419A11;
}
.u-color-sub1 {
  color: #256106;
}
.u-color-sub2 {
  color: #A9CCE8;
}
.u-color-text {
  color: #000000;
}
.u-color-white {
  color: #fff;
}
.u-color-danger {
  color: #ff8000;
}
.u-color-red {
  color: #E90000;
}

/* 背景色 */
.u-bg-color-dark {
  background-color: #000;
}
.u-bg-color-hover {
  background-color: #65C533;
}
.u-bg-color-base {
  background-color: #419A11;
}
.u-bg-color-main {
  background-color: #419A11;
}
.u-bg-color-sub1 {
  background-color: #256106;
}
.u-bg-color-sub2 {
  background-color: #A9CCE8;
}
.u-bg-color-sub4 {
  background-color: #78DEDC;
}
.u-bg-color-white {
  background-color: #fff;
}
.u-bg-color-black {
  background-color: #000;
}
.u-bg-color-gray2 {
  background-color: #F6F6F6;
}

/* u-display */
.u-d-none {
  display: none;
}
.u-d-block {
  display: block;
}
.u-d-inline {
  display: inline !important;
}
.u-d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 480px), print {
  .u-d-sm-none {
    display: none;
  }
  .u-d-sm-block {
    display: block;
  }
  .u-d-sm-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px), print {
  .u-d-md-none {
    display: none;
  }
  .u-d-md-block {
    display: block;
  }
  .u-d-md-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1100px), print {
  .u-d-lg-none {
    display: none;
  }
  .u-d-lg-block {
    display: block;
  }
  .u-d-lg-inline {
    display: inline;
  }
  .u-d-lg-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1600px), print {
  .u-d-xl-none {
    display: none;
  }
  .u-d-xl-block {
    display: block;
  }
  .u-d-xl-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/* テキスト改行系 */
@media screen and (max-width: 1099.98px) {
  .u-br-pc {
    display: none;
  }
}

@media screen and (min-width: 1100px), print {
  .u-br-sp {
    display: none;
  }
}

/* u-layout */
/* float 回り込み防止 */
.u-clearfix::after {
  content: "";
  clear: both;
  display: block;
}

/* flex系 レイアウト */
.u-flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.u-justify-content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.u-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.u-font-feature-settings {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

/* アンカー位置調整 */
.u-anchor-point::before {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  margin-top: -101px;
  margin-bottom: 100px;
  background: transparent;
  pointer-events: none;
  z-index: -100;
}
@media screen and (min-width: 1100px), print {
  .u-anchor-point::before {
    margin-top: -201px;
    margin-bottom: 200px;
  }
}

/* 画像を囲う要素 */
.u-img-wrap {
  aspect-ratio: 4/3;
  display: block;
  position: relative;
  overflow: hidden;
}

/* 画像をトリミング */
.u-img-cover {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 画像を角丸にする */
.u-img-radius {
  border-radius: 1rem;
}
.u-img-radius-lg {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .u-img-radius-lg {
    border-radius: 2rem;
  }
}

/* コンテンツを角丸にする */
.u-box-radius {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .u-box-radius {
    border-radius: 1.5rem;
  }
}
.u-box-radius-lg {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .u-box-radius-lg {
    border-radius: 2rem;
  }
}
.u-box-radius-xl {
  border-radius: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .u-box-radius-xl {
    border-radius: 5rem;
  }
}

/* box-shadow */
.u-box-shadow {
  -webkit-box-shadow: 0 0 10px rgba(198, 177, 158, 0.25);
          box-shadow: 0 0 10px rgba(198, 177, 158, 0.25);
}

/* Google Maps */
.u-gmap-area {
  position: relative;
}
.u-gmap-area::before {
  content: "";
  display: block;
  padding-top: 35rem;
}
@media screen and (min-width: 1100px), print {
  .u-gmap-area::before {
    padding-top: 35rem;
  }
}
.u-gmap-area iframe {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* list-style: none; */
.u-list-unstyled {
  list-style: none;
  margin: 0;
  padding: 0;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-ml-0 {
  margin-left: 0 !important;
}

.u-mr-0 {
  margin-right: 0 !important;
}

.u-mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.u-my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.u-mt-sm {
  margin-top: 8px !important;
}

.u-mb-sm {
  margin-bottom: 8px !important;
}

.u-ml-sm {
  margin-left: 8px !important;
}

.u-mr-sm {
  margin-right: 8px !important;
}

.u-mx-sm {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.u-my-sm {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.u-mt-md {
  margin-top: 16px !important;
}

.u-mb-md {
  margin-bottom: 16px !important;
}

.u-ml-md {
  margin-left: 16px !important;
}

.u-mr-md {
  margin-right: 16px !important;
}

.u-mx-md {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.u-my-md {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.u-mt-lg {
  margin-top: 24px !important;
}

.u-mb-lg {
  margin-bottom: 24px !important;
}

.u-ml-lg {
  margin-left: 24px !important;
}

.u-mr-lg {
  margin-right: 24px !important;
}

.u-mx-lg {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.u-my-lg {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.u-mt-xl {
  margin-top: 32px !important;
}

.u-mb-xl {
  margin-bottom: 32px !important;
}

.u-ml-xl {
  margin-left: 32px !important;
}

.u-mr-xl {
  margin-right: 32px !important;
}

.u-mx-xl {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.u-my-xl {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.u-mx-auto {
  margin-inline: auto;
}

.u-my-auto {
  margin-block: auto;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.u-py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.u-pt-sm {
  padding-top: 8px !important;
}

.u-pb-sm {
  padding-bottom: 8px !important;
}

.u-pl-sm {
  padding-left: 8px !important;
}

.u-pr-sm {
  padding-right: 8px !important;
}

.u-px-sm {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.u-py-sm {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.u-pt-md {
  padding-top: 16px !important;
}

.u-pb-md {
  padding-bottom: 16px !important;
}

.u-pl-md {
  padding-left: 16px !important;
}

.u-pr-md {
  padding-right: 16px !important;
}

.u-px-md {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.u-py-md {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.u-pt-lg {
  padding-top: 24px !important;
}

.u-pb-lg {
  padding-bottom: 24px !important;
}

.u-pl-lg {
  padding-left: 24px !important;
}

.u-pr-lg {
  padding-right: 24px !important;
}

.u-px-lg {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.u-py-lg {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.u-pt-xl {
  padding-top: 32px !important;
}

.u-pb-xl {
  padding-bottom: 32px !important;
}

.u-pl-xl {
  padding-left: 32px !important;
}

.u-pr-xl {
  padding-right: 32px !important;
}

.u-px-xl {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.u-py-xl {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* テキスト位置 */
.u-text-left, .u-text-start {
  text-align: left;
}
.u-text-center {
  text-align: center;
}
.u-text-right, .u-text-end {
  text-align: right;
}

/* テキストインデント */
.u-text-indent {
  margin-left: 1em;
  text-indent: -1em;
}

/* 下層ページ テキスト */
.u-text-body-md {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .u-text-body-md {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.u-text-body-sm {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.u-text-body-lg {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .u-text-body-lg {
    font-size: 1.8rem;
  }
}
.u-text-body-xl {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .u-text-body-xl {
    font-size: 2rem;
  }
}
.u-text-body-xxl {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .u-text-body-xxl {
    font-size: 2.2rem;
  }
}
.u-text-body-ultra {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px), print {
  .u-text-body-ultra {
    font-size: 2.4rem;
  }
}

/* フォントサイズ */
.u-fs-md {
  font-size: 1.6rem;
}
.u-fs-sm {
  font-size: 1.4rem;
}
.u-fs-lg {
  font-size: 1.8rem;
}
.u-fs-xl {
  font-size: 2rem;
}

/* 行間 */
.u-lh-sm {
  line-height: 1.5;
}
.u-lh-base {
  line-height: 1.8;
}
.u-lh-lg {
  line-height: 2;
}

/* 太さ */
.u-fw-light {
  font-weight: 300;
}
.u-fw-normal {
  font-weight: 400;
}
.u-fw-medium {
  font-weight: 500;
}
.u-fw-semibold {
  font-weight: 600;
}
.u-fw-bold {
  font-weight: 700;
}
.u-fw-exbold {
  font-weight: 800;
}
.u-fw-black {
  font-weight: 900;
}

/* フォントファミリー */
.u-ft-gothic {
  font-family: "Lato", sans-serif;
  -webkit-transform: rotate(0.05deg);
          transform: rotate(0.05deg);
}
.u-ft-mincho {
  font-family: "Zen Old Mincho", serif;
}

/* 折り返し禁止 */
.u-text-nowrap {
  white-space: nowrap;
}

/* 三点リーダー 1行 */
.u-text-ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* アンダーライン */
.u-text-underline {
  text-decoration: underline;
}

/* テキストマーカー */
.u-text-marker {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ff6));
  background: linear-gradient(transparent 60%, #ff6 60%);
}

/* テキストリンク */
.u-text-link {
  text-decoration: underline;
  color: #256106;
}
@media (hover: hover) {
  .u-text-link:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: none;
  }
  .u-text-link:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
  }
}

/* --------------------------------

  swiper

-------------------------------- */
@media screen and (min-width: 480px), print {
  .swiper {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 1440px), print {
  .swiper {
    padding-bottom: 5rem;
  }
}
.swiper.card-swiper {
  padding: 0;
}
.swiper.card-swiper .swiper-slide {
  background-color: #fff;
}
.swiper.card-swiper .swiper-slide::before {
  padding-top: 0;
}
.swiper.card-swiper .swiper-pagination {
  padding: 0 2rem 1.8rem 0;
}
@media screen and (min-width: 1100px), print {
  .swiper.card-swiper .swiper-pagination {
    padding: 0 2.5rem 2.5rem 0;
    width: 64%;
  }
}
@media screen and (max-width: 479.98px) {
  .swiper.card-swiper .swiper-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.swiper.card-swiper .swiper-pagination-bullet {
  display: block;
  width: auto;
  height: auto;
  color: #fff;
  background-color: transparent;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0.5rem;
  opacity: 0.5;
}
@media screen and (min-width: 1100px), print {
  .swiper.card-swiper .swiper-pagination-bullet {
    font-size: 2rem;
  }
}
.swiper.card-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}
.swiper.carousel-swiper {
  padding: 0;
}
.swiper.carousel-swiper .swiper-slide {
  height: 100%;
}
.swiper.carousel-swiper .swiper-slide::before {
  padding-top: 0;
}
.swiper.carousel-swiper .carousel-slide .c-news-thumb-item {
  background-color: #fff;
  -webkit-box-shadow: 0 0 0.5rem rgba(83, 95, 76, 0.08);
          box-shadow: 0 0 0.5rem rgba(83, 95, 76, 0.08);
  padding: 0.5rem;
}
.swiper.carousel-swiper .carousel-slide .c-news-thumb-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.swiper.carousel-swiper .carousel-slide .c-news-thumb-item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.swiper.carousel-swiper .carousel-slide .c-news-thumb-item__title {
  min-height: 4.48rem;
  place-content: center;
}
@media screen and (min-width: 1100px), print {
  .swiper.carousel-swiper .carousel-slide .c-news-thumb-item__title {
    min-height: 5.04rem;
  }
}
.swiper-controller {
  position: absolute;
  left: 0;
  right: 0;
  top: 38%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 1px;
  margin-inline: auto;
  z-index: 1;
}
@media screen and (min-width: 1100px), print {
  .swiper-controller {
    width: 79%;
    top: 38%;
  }
}
.swiper-controller .swiper-button-prev,
.swiper-controller .swiper-button-next {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background-color: #419A11;
  border: 1px solid #fff;
  color: #fff;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (min-width: 1100px), print {
  .swiper-controller .swiper-button-prev,
  .swiper-controller .swiper-button-next {
    width: 5rem;
    height: 5rem;
  }
}
.swiper-controller .swiper-button-prev::after,
.swiper-controller .swiper-button-next::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.2rem solid currentColor;
  border-right: 0.2rem solid currentColor;
}
@media (hover: hover) {
  .swiper-controller .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover, .swiper-controller .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #2F7D08;
  }
  .swiper-controller .swiper-button-prev:where(:any-link, :enabled, summary):hover,
  .swiper-controller .swiper-button-next:where(:any-link, :enabled, summary):hover {
    background-color: #2F7D08;
  }
}
.swiper-controller .swiper-button-prev:focus-visible,
.swiper-controller .swiper-button-next:focus-visible {
  outline: 0.3rem solid rgba(65, 154, 17, 0.3);
  outline-offset: 0.3rem;
}
.swiper-controller .swiper-button-prev.swiper-button-disabled,
.swiper-controller .swiper-button-next.swiper-button-disabled {
  opacity: 0.45;
  pointer-events: none;
}
.swiper-controller .swiper-button-prev {
  left: 1.5rem;
}
.swiper-controller .swiper-button-prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-left: 0.3rem;
}
.swiper-controller .swiper-button-next {
  right: 1.5rem;
}
.swiper-controller .swiper-button-next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 0.3rem;
}
.swiper-pagination {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 1.5rem 0 0;
}
@media screen and (min-width: 480px), print {
  .swiper-pagination {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
  }
}
@media screen and (min-width: 1440px), print {
  .swiper-pagination {
    padding: 0 2rem 1.5rem 0;
  }
}
@media screen and (max-width: 479.98px) {
  .swiper-pagination {
    display: none;
  }
}
.swiper-pagination-bullet {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #A9CCE8;
  opacity: 1;
}
@media screen and (min-width: 1100px), print {
  .swiper-pagination-bullet {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.swiper-pagination-bullet-active {
  background-color: #0B41B1;
}
.swiper-slide {
  position: relative;
  overflow: hidden;
}
.swiper-slide::before {
  content: "";
  display: block;
  padding-top: 80%;
}
@media screen and (min-width: 480px), print {
  .swiper-slide::before {
    padding-top: 60%;
  }
}
@media screen and (min-width: 1100px), print {
  .swiper-slide::before {
    padding-top: 75.9rem;
  }
}
.swiper-slide img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.carousel-swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.5rem;
  margin-top: 2rem;
}
@media screen and (min-width: 1100px), print {
  .carousel-swiper-pagination {
    margin-top: 2.5rem;
  }
}
.carousel-swiper-pagination .swiper-pagination-bullet {
  width: 1.5rem;
  height: 1.5rem;
  background-color: rgba(148, 148, 148, 0.5);
  opacity: 1;
}
@media screen and (min-width: 1100px), print {
  .carousel-swiper-pagination .swiper-pagination-bullet {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.carousel-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #419A11;
}