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

html, body {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, address, em {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
}

div, blockquote, p, pre, ul, ol, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  border: 0;
}

table, caption, th, td {
  font-style: normal;
  font-weight: normal;
  padding: 0;
  margin: 0;
}

hr {
  margin: 0;
  padding: 0;
  border: none;
}

form, fieldset, input, button, select, optgroup, option, textarea, label, legend {
  margin: 0;
  padding: 0;
}

span, em, strong, dfn, code, samp, kbd, var, cite, abbr, acronym, q, br, ins, del, a, img, object, figure {
  margin: 0;
  padding: 0;
  border: 0;
}

i, address {
  font-style: normal;
}

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

em {
  font-weight: bold;
}

img {
  vertical-align: top;
}

a {
  outline: none;
  text-decoration: none;
}

a img {
  border: none;
}

input[type=text],
input[type=button],
input[type=submit],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

/*++++++++++++++++++++++++++++++ 基本設定 ++++++++++++++++++++++++++++++*/
html,
body {
  -webkit-text-size-adjust: 100%;
}

html {
  overflow-x: clip;
}
@media (max-width: 767px) {
  html {
    height: 100%;
  }
}

body {
  min-width: 100%;
  overflow-x: hidden;
}

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

img:not([class]) {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

img,
iframe {
  vertical-align: top;
}

em {
  font-style: normal;
}

b {
  font-weight: bold;
}

table {
  width: 100%;
  border-collapse: collapse;
}

a:hover {
  cursor: pointer;
}

body {
  position: relative;
  overflow: auto;
  min-width: 320px;
  min-height: 100vh;
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(0.8125rem, 13px + (16 - 13) * (100vw - 414px) / (1920 - 414), 1rem);
  line-height: 1.6;
  color: #222f30;
}

a {
  text-decoration: none;
}

a:not([class]) {
  text-decoration: none;
  color: #222f30;
}

:root {
  --content-inline: 48px;
  --leading-trim: calc((1em - 1lh) / 2);
  --header-height: 138px;
}
@media screen and (max-width: 834px) {
  :root {
    --header-height: max(106px, calc(138vw * 100 / 834));
  }
}
@media screen and (max-width: 480px) {
  :root {
    --header-height: 106px;
  }
}
:root {
  --clm-gap: 60px;
  --clm-gap-r: 60px;
  --clm-wdh: calc((100% - (var(--clm-gap) * 2)) / 3);
}
@media screen and (max-width: 1430px) {
  :root {
    --clm-gap: 32px;
    --clm-gap-r: 25px;
  }
}
@media screen and (max-width: 1025px) {
  :root {
    --clm-wdh: calc((100% - (var(--clm-gap) * 1)) / 2);
  }
}
@media screen and (max-width: 600px) {
  :root {
    --clm-wdh: 100%;
    --clm-gap-r: 40px;
  }
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.isFixed {
  width: 100%;
}

body {
  background-color: #f7f7f5;
}

@keyframes scroll-circle-move {
  0% {
    opacity: 100;
    transform: none;
  }
  50% {
    opacity: 0.5;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translateY(150px) scale(0.8);
  }
}
.c-arrowbtn {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}
.c-arrowbtn.--center {
  justify-content: center;
  margin-inline: auto;
}
@media screen and (max-width: 480px) {
  .c-arrowbtn.--center {
    justify-content: flex-start;
  }
}
.c-arrowbtn a {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
  font-size: clamp(1rem, 16px + (33 - 16) * (100vw - 414px) / (1920 - 414), 2.0625rem);
  font-weight: 700;
  line-height: 1.8181818182;
  color: #515146;
  position: relative;
}
.c-arrowbtn a span {
  background: linear-gradient(to right, currentColor 0%, currentColor 50%, transparent 50%) no-repeat;
  background-size: 200% 2px;
  background-position: 101% bottom;
  transition: 0.32s background-position, 0.32s color;
}
@media (any-hover: hover) {
  .c-arrowbtn a:hover span {
    background-position: 0% bottom;
  }
}
@media screen and (max-width: 834px) {
  .c-arrowbtn a {
    column-gap: 12px;
  }
}
@media screen and (max-width: 480px) {
  .c-arrowbtn a {
    justify-content: flex-start;
  }
}
.c-arrowbtn a::before {
  content: "";
  display: inline-block;
  width: calc(70 / 1920 * 100vw);
  aspect-ratio: 1/1;
  margin-right: auto;
  background: url(../img/common/icon-arrowbtn.webp) no-repeat 0 0/contain;
}
@media screen and (max-width: 834px) {
  .c-arrowbtn a::before {
    width: 32px;
  }
}
@media screen and (max-width: 480px) {
  .c-arrowbtn a::before {
    width: 32px;
    margin-right: 0;
  }
}
.c-arrowbtn a[target=_blank] span::after {
  padding-right: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23000000%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23000000%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  padding-right: 20px;
  margin-left: 10px;
  background-size: contain;
}
@media screen and (max-width: 480px) {
  .c-arrowbtn a[target=_blank] span::after {
    width: 16px;
    height: 16px;
    margin-left: 6px;
  }
}

.c-simbtn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid #C9CBBE;
  border-radius: 8px;
  padding: 12px 20px;
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
}
.c-simbtn.--bg-white {
  color: #515146;
  background-color: #fefefe;
  transition: 0.32s background-color, 0.32s color;
}
.c-simbtn[target=_blank] span {
  padding-right: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23000000%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23000000%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
}
@media (any-hover: hover) {
  .c-simbtn:hover.--bg-white {
    background-color: #515146;
    color: #fefefe;
  }
  .c-simbtn:hover[target=_blank] span {
    padding-right: 30px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23fff%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 16px 16px;
  }
}

.c-col {
  display: flex;
  justify-content: space-between;
  gap: var(--clm-gap);
  flex-wrap: wrap;
}
@media screen and (max-width: 1025px) {
  .c-col {
    row-gap: var(--clm-gap-r);
  }
}
.c-col-1 {
  width: var(--clm-wdh);
}
.c-col-1 .c-cards .c-card {
  width: 100%;
}
.c-col-2 {
  flex: 1;
}
.c-col-2 .c-cards .c-card {
  width: calc((100% - var(--clm-gap) * 1) / 2);
}
@media screen and (max-width: 600px) {
  .c-col-2 .c-cards .c-card {
    width: 100%;
  }
}
@media screen and (max-width: 1025px) {
  .c-col-2 {
    flex: none;
    width: 100%;
  }
}
.c-col--reverse {
  flex-direction: row-reverse;
}

.c-breadcrumbs {
  margin-block: 15px;
  font-family: "BIZ UDPGothic", sans-serif;
}
@media screen and (max-width: 600px) {
  .c-breadcrumbs {
    margin-bottom: 20px;
    display: none;
  }
}
.c-breadcrumbs ol {
  display: inline-block;
}
.c-breadcrumbs ol > li {
  font-size: 16px;
  display: inline;
  vertical-align: middle;
}
.c-breadcrumbs ol > li:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1px;
  margin: 0 5px 0.35em;
  background-color: #C9CBBE;
}
.c-breadcrumbs ol > li a,
.c-breadcrumbs ol > li span {
  display: inline;
  color: #515146;
}
.c-breadcrumbs ol > li a {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(#515146, #515146);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
.c-breadcrumbs ol > li a:hover {
  background-position: bottom left;
  background-size: 100% 1px;
}

.c-heading-1 {
  margin-top: calc(var(--leading-trim) + 2.0833333333vw);
  margin-bottom: 3.125vw;
  font-size: clamp(2rem, 32px + (40 - 32) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
  line-height: 1.45;
  color: #121515;
}
.c-heading-1--has_en {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  margin-top: var(--leading-trim);
  line-height: 1;
}
@media screen and (max-width: 600px) {
  .c-heading-1--has_en {
    flex-direction: column-reverse;
    flex-wrap: wrap;
    row-gap: 0.5rem;
    margin-top: calc(var(--leading-trim) + 7.6335877863vw);
    margin-bottom: 2rem;
  }
}
.c-heading-1--has_en .jp {
  font-size: clamp(0.875rem, 14px + (30 - 14) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-weight: 700;
  color: #515146;
}
@media screen and (max-width: 600px) {
  .c-heading-1--has_en .jp {
    width: 100%;
    margin-top: 0;
  }
}
.c-heading-1--has_en .en {
  font-size: clamp(2rem, 32px + (130 - 32) * (100vw - 414px) / (1920 - 414), 8.125rem);
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  color: #121515;
  text-transform: capitalize;
}
@media screen and (max-width: 600px) {
  .c-heading-1--has_en .en {
    width: 100%;
  }
}

.c-heading-2 {
  font-size: clamp(1.5rem, 24px + (40 - 24) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
  color: #121515;
  line-height: 1.45;
}

.c-heading-3 {
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  padding-block: clamp(7px, calc(7px + 5 * ((100vw - 414px) / 501)), 12px);
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
  font-weight: 700;
  color: #222f30;
}
@media screen and (max-width: 1220px) {
  .c-heading-3 {
    color: #121515;
  }
}

.c-heading-4 {
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  font-weight: 700;
  color: #222f30;
}

.arrowbox__bg__inner {
  mask-image: url(../img/common/shape_card.svg);
}
@media screen and (max-width: 600px) {
  .arrowbox__bg__inner {
    mask-image: url(../img/common/shape_card-sp.svg);
  }
}
.arrowbox__icon {
  width: 8.547008547%;
  aspect-ratio: 1/1;
  position: absolute;
  right: 5.7692307692%;
  bottom: 3.515625%;
  border-radius: 100vmax;
  overflow: hidden;
  background-color: rgba(81, 81, 70, 0.4);
}
@media screen and (max-width: 600px) {
  .arrowbox__icon {
    width: 9.0909090909%;
    right: 2.7548209366%;
    bottom: 6.1855670103%;
  }
}
.--blue .arrowbox__icon {
  background-color: rgba(94, 161, 174, 0.4);
}
.--green .arrowbox__icon {
  background-color: rgba(128, 179, 68, 0.4);
}
.arrowbox__icon::before, .arrowbox__icon::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  line-height: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  rotate: 180deg;
  background-color: #515146;
  mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  transform-origin: center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1);
}
.--blue .arrowbox__icon::before, .--blue .arrowbox__icon::after {
  background-color: #5EA1AE;
}
.--green .arrowbox__icon::before, .--green .arrowbox__icon::after {
  background-color: #80B344;
}
.arrowbox__icon::before {
  transform: translateX(0);
}
.arrowbox__icon::after {
  transform: translateX(100%);
}
@media (any-hover: hover) {
  .c-card__link:hover .arrowbox__icon::before {
    transform: translateX(-100%);
  }
  .c-card__link:hover .arrowbox__icon::after {
    transform: translateX(0);
  }
}

.c-cards {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--clm-gap);
  row-gap: var(--clm-gap-r);
  justify-content: flex-start;
}
.c-cards.--r-gap--lg {
  --clm-gap-r: 70px;
}
.c-cards.--r-gap--sm {
  --clm-gap-r: 30px;
}
@media screen and (max-width: 600px) {
  .c-cards {
    row-gap: 30px;
  }
}
.l-contents .c-cards > .c-card {
  width: calc((100% - var(--clm-gap)) / 2);
}
@media screen and (max-width: 600px) {
  .l-contents .c-cards > .c-card {
    width: 100%;
  }
}
.c-cards.ac-end .c-card__head {
  align-content: end;
}
.c-cards .c-card {
  width: calc((100% - var(--clm-gap) * 2) / 3);
}
@media screen and (max-width: 1025px) {
  .c-cards .c-card {
    width: calc((100% - var(--clm-gap)) / 2);
  }
}
@media screen and (max-width: 600px) {
  .c-cards .c-card {
    width: 100%;
  }
}
.c-cards .c-card__head {
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  font-weight: 700;
  color: #222f30;
  margin-bottom: 1.25rem;
  color: #515146;
}
.c-cards .c-card__head--sub {
  margin-top: 12px;
}
.c-cards .c-card__head--sub + .c-card__text {
  margin-top: 3px;
}
.c-cards .c-card__link {
  display: block;
}
@media (any-hover: hover) {
  .c-cards .c-card__link:hover img {
    transform: scale(1.05);
  }
}
.c-cards .c-card__link.--blue .c-card__bg__inner, .c-cards .c-card__link.--green .c-card__bg__inner {
  transition: 0.32s background-color;
}
.c-cards .c-card__link.--blue .c-card__bg__inner {
  background-color: #5EA1AE;
}
@media (any-hover: hover) {
  .c-cards .c-card__link.--blue:hover .c-card__bg__inner {
    background-color: rgb(72.632231405, 132.7107438017, 144.367768595);
  }
}
.c-cards .c-card__link.--green .c-card__bg__inner {
  background-color: #80B344;
}
@media (any-hover: hover) {
  .c-cards .c-card__link.--green:hover .c-card__bg__inner {
    background-color: rgb(101.5708502024, 142.04048583, 53.95951417);
  }
}
.c-cards .c-card__box {
  width: 100%;
  max-width: 468px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .c-cards .c-card__box {
    max-width: none;
  }
}
.c-cards .c-card__box + .c-card__title {
  margin-top: 1rem;
}
.c-cards .c-card__bg {
  display: block;
  aspect-ratio: 468/250;
}
@media screen and (max-width: 600px) {
  .c-cards .c-card__bg {
    max-width: none;
    aspect-ratio: 363/194;
  }
}
.c-cards .c-card__bg.--map {
  margin-top: 1rem;
}
.c-cards .c-card__bg__inner {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  mask-size: cover;
}
.c-cards .c-card__bg__inner:not(:has(> img, > iframe)) {
  background-color: #121515;
}
.c-cards .c-card__bg__title {
  padding: 26px 24px;
  font-size: 24px;
  line-height: 1.6666666667;
  font-weight: 700;
  color: #fefefe;
}
@media screen and (max-width: 1025px) {
  .c-cards .c-card__bg__title {
    padding: 24px;
  }
}
@media (max-width: 1000px) and (min-width: 601px) {
  .c-cards .c-card__bg__title {
    font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
    font-weight: 700;
    padding: 0.6em 20px;
  }
}
@media (max-width: 375px) {
  .c-cards .c-card__bg__title {
    padding-block: 0.8em;
    line-height: 1.5;
  }
}
.c-cards .c-card__bg img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transform: rotateZ(0.1deg);
  transition: transform 0.48s;
}
@media screen and (max-width: 600px) {
  .c-cards .c-card__bg img {
    width: 100%;
  }
}
.c-cards .c-card__title {
  display: block;
  margin-top: 3px;
  font-size: clamp(1rem, 16px + (20 - 16) * (100vw - 414px) / (1920 - 414), 1.25rem);
  font-weight: 700;
  line-height: 1.75;
  color: #222f30;
}
@media screen and (max-width: 600px) {
  .c-cards .c-card__title {
    font-weight: 400;
  }
}
@media screen and (max-width: 480px) {
  .c-cards .c-card__title {
    margin-top: 3px;
  }
}
.c-cards .c-card .info__title, .c-cards .c-card__text {
  margin-top: 1rem;
  font-size: 16px;
  line-height: 1.75;
  color: #222f30;
}
@media screen and (max-width: 915px) {
  .c-cards .c-card .info__title, .c-cards .c-card__text {
    margin-top: 10px;
  }
}
.c-cards .c-card .info__title.--en, .c-cards .c-card__text.--en {
  font-family: "Poppins", sans-serif;
}
.c-cards .c-card .info__title.--small, .c-cards .c-card__text.--small {
  font-size: 14px;
}
.c-cards .c-card__time {
  display: block;
  margin-top: 24px;
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #050707;
}
@media screen and (max-width: 480px) {
  .c-cards .c-card__time {
    margin-top: 15px;
  }
}
.c-cards.--grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1025px) {
  .c-cards.--grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .c-cards.--grid {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
.c-cards.--grid .c-card {
  width: 100%;
  grid-row: span 4;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0px;
}
.c-cards.--grid .c-card .c-card__head {
  min-height: 3lh;
}
@media screen and (max-width: 1025px) {
  .c-cards.--grid .c-card .c-card__head {
    min-height: 2lh;
  }
}
@media screen and (max-width: 600px) {
  .c-cards.--grid .c-card .c-card__head {
    min-height: auto;
  }
}
.c-cards.--grid .c-card .c-card__box {
  display: grid;
  grid-template-rows: auto 1fr auto 1fr auto;
}
@media screen and (max-width: 600px) {
  .c-cards.--grid .c-card .c-card__box {
    grid-template-rows: auto;
  }
}

.c-post-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2.5rem 2rem;
  margin-block: clamp(30px, 100 / 1920 * 100vw, 100px);
}
@media (hover: hover) and (pointer: fine) {
  .c-post-nav a.c-post-nav__link:hover {
    color: #121515;
  }
  .c-post-nav a.c-post-nav__link:hover::before {
    background-color: #121515;
  }
}
.p-news__section + .c-post-nav {
  margin-top: clamp(30px, 140 / 1920 * 100vw, 140px);
}
.c-post-nav span.c-post-nav__link {
  color: rgba(81, 81, 70, 0.1);
}
.c-post-nav span.c-post-nav__link::before {
  background-color: rgba(81, 81, 70, 0.1);
}
.c-post-nav__link {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 700;
  line-height: 1;
  color: #050707;
  position: relative;
}
.c-post-nav__link--prev {
  padding-left: 75px;
}
@media screen and (max-width: 915px) {
  .c-post-nav__link--prev {
    padding-left: 47px;
  }
}
.c-post-nav__link--prev::before {
  left: 0;
}
.c-post-nav__link--prev::after {
  left: 20px;
}
@media screen and (max-width: 915px) {
  .c-post-nav__link--prev::after {
    left: 10px;
  }
}
.c-post-nav__link--next {
  margin-left: auto;
  padding-right: 75px;
}
@media screen and (max-width: 915px) {
  .c-post-nav__link--next {
    padding-right: 47px;
  }
}
.c-post-nav__link--next::before {
  right: 0;
}
.c-post-nav__link--next::after {
  right: 20px;
  rotate: 180deg;
}
@media screen and (max-width: 915px) {
  .c-post-nav__link--next::after {
    right: 10px;
  }
}
.c-post-nav__link::before, .c-post-nav__link::after {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  position: absolute;
}
.c-post-nav__link::before {
  width: 60px;
  border-radius: 8px;
  background-color: #ccc;
  background-color: #515146;
  transition: all 0.3s ease;
}
@media screen and (max-width: 915px) {
  .c-post-nav__link::before {
    width: 40px;
  }
}
.c-post-nav__link::after {
  width: 20px;
  z-index: 1;
  mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  background-color: #fefefe;
}

.c-pagination {
  margin: 135px auto 100px;
  width: 100%;
}
@media screen and (max-width: 1220px) {
  .c-pagination {
    margin-top: 55px;
    margin-bottom: 80px;
  }
}
.c-pagination ol {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px 30px;
}
.c-pagination ol li {
  font-size: clamp(1.25rem, 20px + (21 - 20) * (100vw - 414px) / (1920 - 414), 1.3125rem);
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  line-height: 1;
}
.c-pagination ol li > span,
.c-pagination ol li a {
  color: #515146;
}
@media (hover: hover) and (pointer: fine) {
  .c-pagination ol li > span:hover,
  .c-pagination ol li a:hover {
    color: #121515 !important;
  }
}
.c-pagination ol li.off > span {
  pointer-events: none;
  color: rgba(5, 7, 7, 0.3);
}
.c-pagination ol li.first > span,
.c-pagination ol li.first a, .c-pagination ol li.last > span,
.c-pagination ol li.last a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  aspect-ratio: 1/1;
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: #515146;
}
@media screen and (max-width: 915px) {
  .c-pagination ol li.first > span,
  .c-pagination ol li.first a, .c-pagination ol li.last > span,
  .c-pagination ol li.last a {
    width: 40px;
  }
}
.c-pagination ol li.first > span::after,
.c-pagination ol li.first a::after, .c-pagination ol li.last > span::after,
.c-pagination ol li.last a::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  background-color: #fefefe;
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  .c-pagination ol li.first > span:hover,
  .c-pagination ol li.first a:hover, .c-pagination ol li.last > span:hover,
  .c-pagination ol li.last a:hover {
    background-color: #121515 !important;
  }
}
.c-pagination ol li.first.off > span, .c-pagination ol li.last.off > span {
  background-color: rgba(81, 81, 70, 0.1);
}
.c-pagination ol li.first {
  margin-right: 28px;
}
@media screen and (max-width: 600px) {
  .c-pagination ol li.first {
    margin-right: -5px;
  }
}
.c-pagination ol li.last {
  margin-left: 28px;
}
@media screen and (max-width: 600px) {
  .c-pagination ol li.last {
    margin-left: -5px;
  }
}
.c-pagination ol li.last > span::after,
.c-pagination ol li.last a::after {
  rotate: 180deg;
}
.c-pagination ol li .u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.c-share {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  line-height: 1;
  margin-bottom: clamp(35px, calc(35px + -5 * ((100vw - 414px) / 501)), 30px);
}
.c-share__label {
  margin-right: 12px;
  font-size: clamp(0.75rem, 12px + (16 - 12) * (100vw - 414px) / (1920 - 414), 1rem);
  font-family: "Poppins", sans-serif;
}
.c-share__icons {
  display: flex;
  gap: 22px;
}
.c-share__icons .icons__btn {
  display: block;
  height: 22px;
  line-height: 1;
  transition: all 0.3s ease;
  background-color: transparent;
}
.c-share__icons .icons__btn.-x {
  width: 24px;
}
.c-share__icons .icons__btn.-fb {
  width: 22px;
}
.c-share__icons .icons__btn.-li {
  width: 22px;
}
.c-share__icons .icons__btn.-copy {
  position: relative;
  width: 24px;
  border: none;
  cursor: pointer;
}
.c-share__icons .icons__btn.-copy::before {
  content: "Copied!";
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.c-share__icons .icons__btn img {
  width: 100%;
  height: 100%;
}
.c-share__icons .icons__btn.-copy.copy-success::before {
  opacity: 1;
}

.c_article {
  max-width: 976px;
  margin-top: -25px;
  margin-inline: auto;
}
@media screen and (max-width: 1220px) {
  .c_article {
    margin-top: 20px;
  }
}
.c_article__head {
  display: flex;
  align-items: center;
  gap: clamp(15px, calc(15px + 17 * ((100vw - 414px) / 501)), 32px);
}
.c_article__cat {
  padding-block: 7px;
  padding-inline: clamp(10px, calc(10px + 5 * ((100vw - 414px) / 501)), 15px);
  font-size: 14px;
  font-weight: 700;
  border-radius: 8px;
  background-color: #C9CBBE;
  color: inherit;
  transition: 0.32s background-color;
}
.c_article__time {
  font-size: 1rem;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
}
.c_article__title {
  font-size: clamp(1.5rem, 24px + (40 - 24) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
  color: #121515;
  line-height: 1.45;
  margin-block: clamp(15px, calc(15px + 30 * ((100vw - 414px) / 501)), 45px);
}
@media (any-hover: hover) {
  .c_article__cat:hover {
    background: rgb(164.7230769231, 168.0666666667, 146.3333333333);
  }
}

.c-module {
  padding-bottom: clamp(40px, calc(40px + 75 * ((100vw - 414px) / 501)), 115px);
}
.c-module__container-narrow {
  max-width: 1000px;
  margin-inline: auto;
}
.c-module__container-narrow-2 {
  max-width: calc((100% - 1000px) / 2 + 1000px);
  margin-left: auto;
}
.c-module__head {
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  padding-block: clamp(7px, calc(7px + 5 * ((100vw - 414px) / 501)), 12px);
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
  font-weight: 700;
  color: #222f30;
}
@media screen and (max-width: 1220px) {
  .c-module__head {
    color: #121515;
  }
}
.c-module__head {
  margin-bottom: clamp(1.25rem, calc(1.25rem + 3.5rem * ((100vw - 414px) / 501px)), 4.75rem);
}
.c-module__head.mb-3rem {
  margin-bottom: clamp(1rem, calc(1rem + 2rem * ((100vw - 414px) / 501px)), 3rem);
}
.c-module__head.mb-2rem {
  margin-bottom: clamp(0.75rem, calc(0.75rem + 1.5rem * ((100vw - 414px) / 501px)), 2.25rem);
}
.c-module__head:has(+ .c-module__intro) {
  margin-bottom: 0;
}
.c-module__head--2 {
  margin-top: clamp(1.5rem, calc(1.5rem + 0.25rem * ((100vw - 414px) / 501px)), 1.75rem);
  margin-bottom: clamp(0.6rem, calc(0.6rem + 0.4rem * ((100vw - 414px) / 501px)), 1rem);
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
.c-module .widen_ls > * {
  margin-top: 12px;
}
.c-module * {
  word-break: break-all;
}
.c-module__ul li, .c-module__ol li, .c-module__dl > div > dt, .c-module__dl > div > dd {
  padding-left: 1.6666666667rem;
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
  position: relative;
}
.c-module__ul li::before, .c-module__ol li::before, .c-module__dl > div > dt::before, .c-module__dl > div > dd::before {
  position: absolute;
  left: 0;
}
.c-module__ul li, .c-module__ol li, .c-module__dl > div > dd {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
}
.c-module__ul li {
  list-style: none;
}
.c-module__ol {
  counter-reset: ol_li;
}
.c-module__ol > li::before {
  counter-increment: ol_li;
  content: counter(ol_li) ".";
  top: 0;
}
.c-module__ol.--paren > li {
  margin-top: 0;
}
.c-module__ol.--paren > li::before {
  content: counter(ol_li) ")";
}
.c-module__ul li::before, .c-module__dl > div > dt:first-of-type::before {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  border-radius: 1rem;
  top: 0.6em;
  background-color: #222f30;
}
.c-module__dl > div > dt {
  padding-left: 1.6666666667rem;
}
.c-module__dl > div > dt:nth-child(n+2) {
  margin-top: 6px;
}
.c-module__dl dt {
  font-size: clamp(1.125rem, 18px + (20 - 18) * (100vw - 414px) / (1920 - 414), 1.25rem);
  line-height: 1.5;
  font-weight: 700;
}
.c-module__dl dd {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
}
.c-module p {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
}
.c-module .br {
  display: block;
}
@media screen and (max-width: 600px) {
  .c-module .table-wrap {
    overflow-x: scroll;
  }
}
@media screen and (max-width: 600px) {
  .c-module .table-wrap > * {
    min-width: 600px;
  }
}
.c-module__table {
  width: 100%;
  border-top: 1px solid #D6D6D6;
  border-left: 1px solid #D6D6D6;
}
.c-module__table th,
.c-module__table td {
  padding-inline: 20px;
  border-right: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
  font-size: clamp(0.9375rem, 15px + (18 - 15) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 400;
  line-height: 1.4444444444;
  text-align: center;
  vertical-align: top;
}
@media screen and (max-width: 834px) {
  .c-module__table th,
  .c-module__table td {
    padding-inline: 10px;
  }
}
.c-module__table thead th {
  padding: 1.55rem 20px;
  color: #fefefe;
  background-color: #515146;
}
@media screen and (max-width: 834px) {
  .c-module__table thead th {
    padding-inline: 10px;
  }
}
.c-module__table tbody th,
.c-module__table tbody td {
  padding-block: 0.55rem;
  color: #828282;
  background-color: #fefefe;
}
.c-module__table tbody th {
  padding-inline: 20px;
  text-align: left;
}
@media screen and (max-width: 834px) {
  .c-module__table tbody th {
    padding-inline: 10px;
  }
}
.c-module__table tbody td {
  padding-inline: 30px;
}
@media screen and (max-width: 834px) {
  .c-module__table tbody td {
    padding-inline: 10px;
  }
}
.c-module__table + .small {
  margin-top: 1rem;
}
.c-module__table + .small small {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
}
.c-module__intro {
  padding-top: 7.7427821522%;
  padding-inline: 5%;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-module__intro p {
  font-size: clamp(1.375rem, 22px + (46 - 22) * (100vw - 414px) / (1920 - 414), 2.875rem);
  font-family: "BIZ UDPMincho", serif;
  line-height: 1.7826086957;
  text-align: center;
}
.c-module .c-sign {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
  margin-top: 16px;
  text-align: right;
}
.c-module .side-img {
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .c-module .c-col {
    row-gap: 20px;
  }
}
.c-module .subsection {
  margin-top: clamp(35px, calc(35px + 53 * ((100vw - 414px) / 501)), 88px);
}
.c-module .youtubebox {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
  border-radius: 8px;
  overflow: hidden;
}

.--roundbox {
  mask: inherit;
  border-radius: 8px;
  overflow: hidden;
}

.c-regal__list {
  list-style: none;
  counter-reset: ol_li;
}
.p-company__privacy .c-regal__item {
  padding-top: 20px;
}
.p-company__terms .c-regal__item:not(:first-child) {
  padding-top: 6px;
}
.p-company__terms .c-regal__item .c-regal__head--sub {
  width: max-content;
  margin-top: 1.375rem;
  margin-bottom: 0.5rem;
  font-size: clamp(1.125rem, 18px + (20 - 18) * (100vw - 414px) / (1920 - 414), 1.25rem);
  line-height: 1.5;
  background-color: #fff;
}
.c-regal__item p,
.c-regal__item dl,
.c-regal__item ul {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: 1.7777777778;
}
.c-regal__item dl > div {
  margin-top: 2rem;
}
.c-regal__head {
  margin-bottom: 0.375rem;
}
.c-regal__head::before {
  counter-increment: ol_li;
  content: counter(ol_li) ".";
  top: 0;
}

.c-rowlist {
  border-bottom: 1px solid rgba(81, 81, 70, 0.5);
}
.c-rowlist__item {
  display: flex;
  border-top: 1px solid rgba(81, 81, 70, 0.5);
  column-gap: var(--clm-gap);
  padding-block: 0.875rem;
}
@media screen and (max-width: 600px) {
  .c-rowlist__item {
    flex-direction: column;
  }
}
.c-rowlist__head, .c-rowlist__desc {
  font-size: 16px;
  line-height: 1.75;
}
.c-rowlist__head {
  width: min(22%, 235px);
}
@media screen and (max-width: 600px) {
  .c-rowlist__head {
    width: 100%;
    margin-bottom: 0.3rem;
  }
}
.c-rowlist__head a {
  position: relative;
}
.c-rowlist__head a span {
  background: linear-gradient(to right, currentColor 0%, currentColor 50%, transparent 50%) no-repeat;
  background-size: 200% 1px;
  background-position: 101% bottom;
  transition: 0.32s background-position, 0.32s color;
}
@media (any-hover: hover) {
  .c-rowlist__head a:hover span {
    background-position: 0% bottom;
  }
}
.c-rowlist__head a[target=_blank] span::after {
  padding-right: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23515146%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23515146%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  padding-right: 16px;
  margin-left: 10px;
  background-size: contain;
}
@media screen and (max-width: 480px) {
  .c-rowlist__head a[target=_blank] span::after {
    width: 16px;
    height: 16px;
    margin-left: 6px;
  }
}
.c-rowlist__desc {
  flex: 1;
}
.c-rowlist--equal .c-rowlist__head {
  width: calc(50% - var(--clm-gap));
}
@media screen and (max-width: 600px) {
  .c-rowlist--equal .c-rowlist__head {
    width: 100%;
  }
}

@keyframes progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.c-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-slider .slides {
  position: relative;
  aspect-ratio: 729/460;
}
.c-slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.c-slider .slide.active {
  opacity: 1;
  position: relative;
}
.c-slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.c-slider .nav {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .c-slider .nav {
    bottom: 10px;
    gap: 8px;
  }
}
@media screen and (max-width: 480px) {
  .c-slider .nav {
    bottom: 8px;
    gap: 6px;
  }
}
.c-slider .nav button {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 10px;
  border-radius: 999px;
  border: none;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .c-slider .nav button {
    width: 40px;
    height: 8px;
  }
}
@media screen and (max-width: 480px) {
  .c-slider .nav button {
    width: 32px;
    height: 7px;
  }
}
.c-slider .nav button.active {
  width: 150px;
  background: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 768px) {
  .c-slider .nav button.active {
    width: 120px;
  }
}
@media screen and (max-width: 480px) {
  .c-slider .nav button.active {
    width: 100px;
  }
}
.c-slider .nav button.active::after {
  animation: progress 4s linear forwards;
}
.c-slider .nav button::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background: rgba(255, 255, 255, 0.9);
}

.spacebox figure {
  width: 100%;
  padding-inline: clamp(15px, calc(15px + 15 * ((100vw - 414px) / 501)), 30px);
  border-radius: clamp(8px, calc(8px + 22 * ((100vw - 414px) / 501)), 30px);
  overflow: hidden;
  background-color: #fff;
}
.spacebox figure img {
  display: block;
  width: auto;
  margin-inline: auto;
}

.p-front {
  background-color: #f7f7f5;
}
.p-front .hero {
  position: relative;
}
.p-front .hero__frame {
  display: block;
  width: 100%;
  height: 100dvh;
  margin: auto;
  position: fixed;
  inset: 0;
  z-index: 0;
}
.p-front .hero__frame__inner {
  position: absolute;
  inset: 0;
  background-color: transparent;
}
.p-front .hero .l-container {
  position: relative;
  height: 100svh;
  padding-top: var(--header-height);
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .p-front .hero .l-container {
    padding-inline: 30px;
  }
}
.p-front .hero__content {
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
  margin-top: calc(65 / 1920 * 100vw);
  color: #fefefe;
}
@media screen and (max-width: 480px) {
  .p-front .hero__content {
    margin-top: -35px;
    padding-inline: 10px;
  }
}
.p-front .hero__headline {
  font-size: clamp(1.125rem, 18px + (30 - 18) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
.p-front .hero__sub {
  font-size: clamp(2rem, 32px + (140 - 32) * (100vw - 414px) / (1920 - 414), 8.75rem);
  letter-spacing: -0.045em;
  font-family: "Poppins", sans-serif;
}
.p-front .topics {
  width: 275px;
  height: 180px;
  position: absolute;
  bottom: 22px;
  right: var(--content-inline);
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .p-front .topics {
    width: 257px;
    height: 73px;
    right: 21px;
    bottom: 70px;
  }
}
.p-front .topics__item {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f7f7f5;
}
.p-front .topics__img {
  aspect-ratio: 994/532;
  background-color: #fefefe;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .p-front .topics__img {
    display: none !important;
  }
}
.p-front .topics__img img {
  object-fit: contain;
  width: 100%;
  height: auto;
}
.p-front .topics__img.noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.p-front .topics__img.noimg img {
  width: 100px;
  height: auto;
  min-height: auto;
}
.p-front .topics__text {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f7f7f5;
}
@media screen and (max-width: 834px) {
  .p-front .topics__text {
    padding: 3px 7px;
  }
}
.p-front .topics__text p {
  width: 17em;
  font-size: 14px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #222f30;
}
@media screen and (max-width: 834px) {
  .p-front .topics__text p {
    width: 100%;
    white-space: inherit;
    max-height: 3em;
  }
}
.p-front .topics .splide__pagination {
  position: absolute;
  top: -25px;
  bottom: auto;
  align-items: center;
}
.p-front .topics li {
  font-size: 0;
}
.p-front .topics .splide__pagination__page {
  width: 13px;
  height: 13px;
  background: radial-gradient(#515146 35%, transparent 40%);
  transition: 0.32s width, 0.32s height, 0.32s background-color;
}
.p-front .topics .splide__pagination__page.is-active {
  background: radial-gradient(#515146 35%, #fff 40%);
  transform: none;
}
.p-front .scroll {
  display: flex;
  width: 37px;
  height: 150px;
  position: absolute;
  left: var(--content-inline);
  bottom: 0;
  color: #fefefe;
}
@media screen and (max-width: 480px) {
  .p-front .scroll {
    left: 30px;
  }
}
.p-front .scroll__inner {
  display: flex;
  width: 100%;
  position: relative;
}
.p-front .scroll__inner::before, .p-front .scroll__inner::after {
  content: "";
  display: block;
  position: absolute;
}
.p-front .scroll__inner::before {
  width: 10px;
  height: 10px;
  background-color: #fefefe;
  border-radius: 9999px;
  left: 0;
  top: 0;
  animation: scroll-circle-move 2s ease-out infinite;
}
.p-front .scroll__inner::after {
  width: 1px;
  height: 100%;
  left: 5px;
  background-color: #fefefe;
}
.p-front .scroll__inner span {
  margin-left: auto;
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.75rem, 12px + (14 - 12) * (100vw - 414px) / (1920 - 414), 0.875rem);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-transform: uppercase;
}
.p-front .make {
  height: auto;
  position: relative;
  z-index: 1;
  color: #fefefe;
}
.p-front .make__progress {
  width: 100%;
  height: 2px;
  position: absolute;
  top: 150px;
  left: 0;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 834px) {
  .p-front .make__progress {
    top: max(90px, 17.9856115108vw);
    top: max(105px, 17.9856115108vw);
  }
}
.p-front .make__progress-bar {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
  transform: scaleX(0);
  background: #fefefe;
}
.p-front .make__head {
  position: absolute;
  top: 170px;
  left: calc((100vw - 1524px) / 2 + var(--content-inline));
  left: calc((100vw - 1524px) / 2);
  font-family: "Poppins", sans-serif;
  z-index: 1;
}
@media screen and (max-width: 1664px) {
  .p-front .make__head {
    left: calc(1.25vw + 50px);
  }
}
@media screen and (max-width: 1430px) {
  .p-front .make__head {
    left: 50px;
  }
}
@media screen and (max-width: 1025px) {
  .p-front .make__head {
    left: 30px;
  }
}
@media screen and (max-width: 834px) {
  .p-front .make__head {
    top: max(110px, 20.3836930456vw);
    top: max(125px, 20.3836930456vw);
  }
}
@media screen and (max-width: 480px) {
  .p-front .make__head {
    left: 15px;
  }
}
.p-front .make__counter {
  display: flex;
  justify-content: flex-start;
  width: 64px;
  margin-top: 14px;
}
.p-front .make__counter .scroll-progress {
  width: 100%;
  font-size: clamp(0.75rem, 12px + (14 - 12) * (100vw - 414px) / (1920 - 414), 0.875rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2em;
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.75rem, 12px + (14 - 12) * (100vw - 414px) / (1920 - 414), 0.875rem);
  line-height: 1.5;
  position: relative;
}
.p-front .make__counter .scroll-progress::before {
  content: "";
  width: 1px;
  height: 35px;
  background-color: rgba(254, 254, 254, 0.5);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.p-front .make__counter .scroll-progress__current {
  color: #fefefe;
}
.p-front .make__counter .scroll-progress__total {
  color: rgba(254, 254, 254, 0.5);
}
.p-front .make__pin {
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.p-front .make__item {
  display: flex;
  padding-top: 149px;
  position: absolute;
  inset: 0;
  opacity: 0;
  padding-top: 270px;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@media screen and (max-width: 834px) {
  .p-front .make__item {
    flex-wrap: wrap;
    padding-top: max(210px, 32.3741007194vw);
  }
}
.p-front .make__item--00 {
  max-height: 100dvh;
}
.p-front .make__item--01 {
  background-color: rgba(23, 70, 34, 0.8);
}
.p-front .make__item--02 {
  background-color: rgba(23, 51, 70, 0.8);
}
.p-front .make__item--03 {
  background-color: rgba(70, 59, 23, 0.8);
}
.p-front .make__sub {
  text-transform: uppercase;
}
.p-front .make__contents {
  margin-left: auto;
  max-width: 1442px;
  display: flex;
  flex-direction: row-reverse;
  column-gap: var(--clm-gap);
}
@media screen and (max-width: 834px) {
  .p-front .make__contents {
    flex-wrap: wrap;
  }
}
.p-front .make__body {
  flex: 1;
}
@media screen and (max-width: 834px) {
  .p-front .make__body {
    flex: none;
    width: 100%;
  }
}
.p-front .make__title {
  margin-top: var(--leading-trim);
  font-size: clamp(1.25rem, 20px + (45 - 20) * (100vw - 414px) / (1920 - 414), 2.8125rem);
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7777777778;
}
.p-front .make__text {
  margin-top: 10px;
  font-size: clamp(1.125rem, 18px + (33 - 18) * (100vw - 414px) / (1920 - 414), 2.0625rem);
  line-height: 1.8181818182;
  font-weight: 400;
  color: #C9CBBE;
}
.p-front .make__text b {
  font-weight: 400;
  color: #fefefe;
}
@media screen and (max-width: 834px) {
  .p-front .make__text {
    line-height: 1.5555555556;
  }
}
.p-front .make__link {
  margin-top: 12px;
}
.p-front .make__link a {
  display: flex;
  align-items: center;
  font-size: clamp(1rem, 16px + (33 - 16) * (100vw - 414px) / (1920 - 414), 2.0625rem);
  font-weight: 700;
  line-height: 1.8181818182;
  color: #fefefe;
}
.p-front .make__link a::before {
  content: "";
  display: inline-block;
  width: max(32px, 3.6458333333vw);
  aspect-ratio: 1/1;
  margin-right: 20px;
  background: url(../img/common/icon-arrowbtn-white.webp) no-repeat 0 0/contain;
}
.p-front .make__img {
  width: 32.3162274619%;
  align-self: flex-start;
  border-radius: 15px;
  box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .p-front .make__img {
    order: -1;
    width: 100%;
    max-width: 420px;
    margin: 0 auto 25px;
  }
}
.p-front .make__img img {
  aspect-ratio: 1.498392283;
}
.p-front-feature {
  position: relative;
  z-index: 1;
  background-color: #f7f7f5;
}
.p-front-feature .l-container {
  position: relative;
}
.p-front-feature__title {
  margin-bottom: 25px;
  font-size: clamp(2rem, 32px + (90 - 32) * (100vw - 414px) / (1920 - 414), 5.625rem);
  font-family: "Poppins", sans-serif;
  line-height: 0.9444444444;
}
.p-front-feature__title--case-study {
  margin-bottom: 12px;
}
@media screen and (max-width: 600px) {
  .p-front-feature__title--case-study {
    margin-bottom: 7px;
  }
}
@media screen and (max-width: 600px) {
  .p-front-feature__title--rd {
    margin-bottom: 15px;
  }
}
.p-front-feature__title--company {
  margin-bottom: 45px;
}
@media screen and (max-width: 600px) {
  .p-front-feature__title--company {
    margin-bottom: 37px;
  }
}
.p-front-feature__title--information {
  margin-bottom: 55px;
}
@media screen and (max-width: 600px) {
  .p-front-feature__title--information {
    margin-bottom: 40px;
  }
}
.p-front-feature__sub {
  font-size: clamp(1.3125rem, 21px + (30 - 21) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 20px;
  color: #515146;
}
@media screen and (max-width: 480px) {
  .p-front-feature__sub {
    margin-bottom: 1rem;
  }
}
.p-front-feature .c-col-2 .p-front-feature__cards {
  gap: var(--clm-gap);
}
@media screen and (max-width: 600px) {
  .p-front-feature .c-col-2 .p-front-feature__cards {
    row-gap: var(--clm-gap-r);
  }
}
.p-front-feature .c-col-2 .p-front-feature__card {
  flex: 1;
}
@media screen and (max-width: 600px) {
  .p-front-feature .c-col-2 .p-front-feature__card {
    flex: none;
    width: 100%;
  }
}
.p-front-feature__cards {
  display: flex;
}
@media screen and (max-width: 600px) {
  .p-front-feature__cards {
    flex-wrap: wrap;
  }
}
.p-front-feature .card__link {
  display: block;
}
.p-front-feature .card__link p {
  font-size: 1rem;
  line-height: 1.75;
  color: #222f30;
}
.p-front-feature .card__box {
  width: 100%;
  max-width: 468px;
  aspect-ratio: 468/250;
  margin-bottom: 0.625rem;
  line-height: 1.75;
  position: relative;
}
@media screen and (max-width: 600px) {
  .p-front-feature .card__box {
    max-width: none;
    margin-bottom: 1.5em;
    aspect-ratio: 363/194;
  }
}
.p-front-feature .card__box::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 20.2991452991%;
  aspect-ratio: 95/66;
  background: url(../img/common/icon-arrowbtn.webp) no-repeat center center/42.1052631579% 60.6060606061%;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .p-front-feature .card__box::after {
    width: 15.4269972452%;
    aspect-ratio: 1/1;
    background-size: 58.9285714286% 58.9285714286%;
  }
}
.p-front-feature .card__box__inner {
  width: 100%;
  height: 100%;
  mask-image: url(../img/common/shape_card.svg);
  mask-size: cover;
}
@media screen and (max-width: 600px) {
  .p-front-feature .card__box__inner {
    mask-image: url(../img/common/shape_card-sp.svg);
  }
}
.p-front-feature .card__box img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transform: rotateZ(0.1deg);
  transition: transform 0.48s;
}
.p-front-feature .card__box h4 {
  font-size: 1.5rem;
  font-weight: 700;
  padding: 18px 24px;
  color: #fefefe;
}
@media (max-width: 1000px) and (min-width: 601px) {
  .p-front-feature .card__box h4 {
    font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
    font-weight: 700;
  }
}
@media (max-width: 375px) {
  .p-front-feature .card__box h4 {
    line-height: 1.5;
  }
}
@media (any-hover: hover) {
  .p-front-feature .card__link:hover .card__box img {
    transform: scale(1.05);
  }
}
.p-front-feature--01 {
  padding-block: calc(140 / 1920 * 100vw);
}
@media screen and (max-width: 600px) {
  .p-front-feature--01 {
    padding-block: 80px;
  }
}
.p-front-feature--01 .p-front-feature__sub {
  color: #C9CBBE;
}
.p-front-feature--01 .card__box__inner {
  transition: 0.32s background-color;
  background-color: #5EA1AE;
}
.p-front-feature--01 .card__box__inner::after {
  background-image: url(../img/common/icon-arrowbtn-blue.webp);
}
.p-front-feature--01 .card__link:hover .card__box__inner {
  background-color: rgb(72.632231405, 132.7107438017, 144.367768595);
}
.p-front-feature--02 {
  padding-top: calc(200 / 1920 * 100vw);
  padding-bottom: calc(230 / 1920 * 100vw);
}
@media screen and (max-width: 600px) {
  .p-front-feature--02 {
    padding-top: 0;
    padding-bottom: 60px;
  }
}
.p-front-feature--02::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(436 / 1920 * 100vw);
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 0 0 calc(60 / 1920 * 100vw) calc(60 / 1920 * 100vw);
  background: linear-gradient(to bottom, #f7f7f5 0%, #fefefe 42%, #fefefe 100%);
}
@media screen and (max-width: 480px) {
  .p-front-feature--02::before {
    border-radius: 0 0 30px 30px;
  }
}
.p-front-feature--02 .p-front-feature__title span {
  color: #C9CBBE;
}
.p-front-feature--02 .card__box__inner {
  transition: 0.32s background-color;
  background-color: #80B344;
}
.p-front-feature--02 .card__box__inner::after {
  background-image: url(../img/common/icon-arrowbtn-green.webp);
}
.p-front-feature--02 .card__link:hover .card__box__inner {
  background-color: rgb(101.5708502024, 142.04048583, 53.95951417);
}
.p-front-feature--03 {
  padding-block: calc(150 / 1920 * 100vw);
  padding-bottom: 414px;
  background: #f7f7f5 url(../img/home/bg_logo.webp) no-repeat;
  background-size: 1220px;
  background-position: bottom center;
}
@media screen and (max-width: 1920px) {
  .p-front-feature--03 {
    padding-bottom: 23.6979166667vw;
    background-size: 63.5416666667vw;
  }
}
@media screen and (max-width: 1025px) {
  .p-front-feature--03 {
    background-position: center;
  }
}
@media screen and (max-width: 480px) {
  .p-front-feature--03 {
    padding-block: calc(75 / 393 * 100vw);
    background-size: 78.8804071247vw;
    background-position: top -7.6335877863vw center;
  }
}
.p-front-feature--04 {
  padding-bottom: calc(400 / 1920 * 100vw);
  border-radius: 0 0 calc(60 / 1920 * 100vw) calc(60 / 1920 * 100vw);
  background-color: #f7f7f5;
}
.p-front-feature .c-arrowbtn {
  max-width: calc((100% - var(--clm-gap) * 2) / 3);
  margin-top: calc(60 / 1920 * 100vw);
  margin-inline: auto;
}
@media screen and (max-width: 1025px) {
  .p-front-feature .c-arrowbtn {
    max-width: none;
    justify-content: center;
  }
}
@media screen and (max-width: 480px) {
  .p-front-feature .c-arrowbtn {
    margin-top: calc(45 / 393 * 100vw);
    justify-content: flex-start;
  }
}

.p-front-slider {
  --hero-zoom-duration: 8000ms;
  --hero-zoom-scale: 1.08;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-front-slider__track, .p-front-slider__list, .p-front-slider__item {
  width: 100%;
  height: 100%;
}
.p-front-slider img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transform-origin: center center;
  transition: transform var(--hero-zoom-duration) linear;
  will-change: transform;
}

.btnbox {
  display: flex;
  flex-wrap: wrap;
  width: 50px;
  height: 340px;
  position: fixed;
  right: calc(24 / 1920 * 100vw);
  top: 50%;
  transform: translateY(-50%);
  gap: 20px;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  .btnbox {
    flex-wrap: nowrap;
    gap: 15px;
    width: auto;
    height: auto;
    padding: 20px;
    right: 0;
    top: auto;
    bottom: 0;
    transform: none;
    border-radius: 15px 0 0 0;
    background-color: #f7f7f5;
  }
}
@media screen and (max-width: 480px) {
  .btnbox {
    padding: 17px 18px;
  }
}
.btnbox a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid #C9CBBE;
  border-radius: 8px;
  font-size: clamp(0.9375rem, 15px + (18 - 15) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 700;
  transition: all 0.3s ease;
  color: #222f30;
  background-color: #fefefe;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 1023px) {
  .btnbox a {
    width: auto;
    padding: 5px 10px;
    writing-mode: horizontal-tb;
    align-items: center;
    gap: 10px;
  }
}
@media screen and (max-width: 480px) {
  .btnbox a {
    padding: 8px 12px;
  }
}
.btnbox a.ext::after {
  content: "";
  display: inline-block;
  width: 16px;
  aspect-ratio: 1/1;
  margin-top: 1em;
  background: url(../img/common/icon_external.svg) no-repeat 0 0/contain;
}
@media screen and (max-width: 1023px) {
  .btnbox a.ext::after {
    margin-top: 0;
  }
}
@media screen and (max-width: 480px) {
  .btnbox a.ext::after {
    width: 14px;
  }
}
@media (any-hover: hover) {
  .btnbox a:hover {
    transform: translateY(-1px);
    border-color: #d0d0d0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  }
}
.btnbox a.btnbox__pagetop {
  display: none;
}
@media screen and (max-width: 1023px) {
  .btnbox {
    column-gap: 5px;
  }
  .btnbox img[src*=".svg"] {
    width: 12px;
    max-width: 100%;
  }
  .btnbox a.btnbox__pagetop {
    display: flex;
    height: 40px;
    width: 40px;
    margin-left: 10px;
  }
}

.p-form__wrapper {
  display: flex;
  gap: 60px;
}
@media screen and (max-width: 915px) {
  .p-form__wrapper {
    gap: 26px;
    flex-wrap: wrap;
  }
}
.p-form__wrapper--top {
  flex-direction: row;
  flex-wrap: wrap;
}
.p-form__wrapper--top .p-form__side {
  display: block;
  width: 24.375vw;
  max-width: none;
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--top .p-form__side {
    width: 100%;
    margin-top: 20px;
  }
}
.p-form__wrapper--top .p-form__side p + p {
  margin-top: 2rem;
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--top .p-form__side p + p {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--top .p-form__contents {
    width: 100%;
  }
}
.p-form__wrapper--top .p-form__contents__item * {
  font-weight: 700;
}
.p-form__wrapper--top .p-form__contents__item:not(:first-child) {
  margin-top: clamp(30px, calc(30px + 70 * ((100vw - 414px) / 501)), 100px);
}
.p-form__wrapper--top .p-form__contents__item h2 {
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  padding-block: clamp(6px, calc(6px + 4 * ((100vw - 414px) / 501)), 10px);
  margin-bottom: clamp(14px, calc(14px + 10 * ((100vw - 414px) / 501)), 24px);
}
.p-form__wrapper--top .p-form__contents__item p {
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1.5;
}
.p-form__wrapper--top .p-form__contents__item a {
  display: flex;
  align-items: center;
  margin-top: clamp(15px, calc(15px + 23 * ((100vw - 414px) / 501)), 38px);
  font-size: clamp(1rem, 16px + (33 - 16) * (100vw - 414px) / (1920 - 414), 2.0625rem);
  font-weight: 700;
  line-height: 1.8181818182;
  color: #222f30;
}
.p-form__wrapper--top .p-form__contents__item a::before {
  content: "";
  display: inline-block;
  width: max(32px, 3.6458333333vw);
  aspect-ratio: 1/1;
  margin-right: clamp(15px, calc(15px + 15 * ((100vw - 414px) / 501)), 30px);
  background: url(../img/common/icon-arrowbtn.webp) no-repeat 0 0/contain;
}
.p-form__wrapper--top .p-form__contents__item span {
  background: linear-gradient(to right, currentColor 0%, currentColor 50%, transparent 50%) no-repeat;
  background-size: 200% 2px;
  background-position: 101% bottom;
  transition: 0.32s background-position, 0.32s color;
}
@media (any-hover: hover) {
  .p-form__wrapper--top .p-form__contents__item a:hover span {
    background-position: 0% bottom;
  }
}
.p-form__wrapper--comp {
  padding-top: 50px;
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--comp {
    padding-bottom: 45px;
  }
}
.p-form__wrapper--comp #proc-step-container {
  display: flex;
  height: clamp(36px, calc(36px + 24 * ((100vw - 414px) / 501)), 60px);
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--comp #proc-step-container {
    width: 100vw;
    margin-left: calc((100vw - 100%) / -2);
  }
}
.p-form__wrapper--comp #proc-step-container .proc-step {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  background-color: #E0E1D9;
  color: rgba(34, 47, 48, 0.5);
  text-align: center;
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
.p-form__wrapper--comp #proc-step-container .proc-step#proc-step-finish {
  color: #fff;
}
.p-form--form .p-form__wrapper--comp #proc-step-container .proc-step#proc-step-finish {
  background-color: #80B344;
}
.p-form--support .p-form__wrapper--comp #proc-step-container .proc-step#proc-step-finish {
  background-color: #80B344;
}
.p-form--download .p-form__wrapper--comp #proc-step-container .proc-step#proc-step-finish {
  background-color: #515146;
}
@media screen and (max-width: 915px) {
  .p-form__wrapper--comp .p-form__contents {
    width: 100%;
  }
}
.p-form__wrapper--comp .p-form__contents * {
  font-weight: 700;
}
.p-form__wrapper--comp .p-form__contents h2 {
  padding-block: clamp(10px, calc(10px + 0 * ((100vw - 414px) / 501)), 10px);
  margin-top: clamp(18px, calc(18px + 16 * ((100vw - 414px) / 501)), 34px);
  margin-bottom: clamp(20px, calc(20px + 8 * ((100vw - 414px) / 501)), 28px);
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
}
.p-form__wrapper--comp .p-form__contents p {
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1.5;
}
.p-form__wrapper--comp .p-form__contents p + p {
  margin-top: 1.5em;
}
.p-form__wrapper--comp .p-form__contents a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(323px, calc(323px + 145 * ((100vw - 414px) / 501)), 468px);
  height: clamp(53px, calc(53px + 33 * ((100vw - 414px) / 501)), 86px);
  margin-top: clamp(65px, calc(65px + -21 * ((100vw - 414px) / 501)), 44px);
  margin-inline: auto;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1;
  border-radius: 8px;
  background-color: #515146;
  color: #fefefe;
}
.p-form__side {
  max-width: 468px;
}
@media screen and (max-width: 915px) {
  .p-form__side {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 915px) {
  .p-form__side {
    display: none;
  }
}
.p-form__side p {
  margin-top: var(--leading-trim);
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-family: "BIZ UDPGothic", sans-serif;
  line-height: 1.7777777778;
}
.p-form__side p:not(:first-child) {
  margin-top: 0;
}
@media screen and (max-width: 915px) {
  .p-form__side p {
    line-height: 1.625;
  }
}
.p-form__contents {
  flex: 1;
}
@media screen and (max-width: 915px) {
  .p-form__contents {
    flex: none;
    width: 100%;
  }
}

.p-lower__index .l-main {
  padding-bottom: calc(230 / 1920 * 100vw);
}
@media screen and (max-width: 600px) {
  .p-lower__index .l-main {
    padding-bottom: 60px;
  }
}
.p-lower__index .l-main::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(436 / 1920 * 100vw);
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 0 0 calc(60 / 1920 * 100vw) calc(60 / 1920 * 100vw);
  background: linear-gradient(to bottom, #f7f7f5 0%, #fefefe 42%, #fefefe 100%);
}
.p-lower__index__related {
  padding-top: 3.125vw;
  padding-bottom: 21.3541666667vw;
  margin-top: var(--header-height);
  margin-bottom: -3.125vw;
  border-radius: 0 0 clamp(30px, calc(30px + 30 * ((100vw - 414px) / 501)), 60px) clamp(30px, calc(30px + 30 * ((100vw - 414px) / 501)), 60px);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background-color: #f7f7f5;
}
@media screen and (max-width: 1025px) {
  .p-lower__index__related {
    margin-top: 50px;
  }
}
.p-lower__index__related::after {
  content: "";
  display: block;
  width: 100%;
  height: 24.7916666667vw;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(to bottom, #f7f7f5 0%, #fefefe 36%);
}
.p-lower__index__related .p-tech__index__head {
  margin-bottom: clamp(50px, calc(50px + 10 * ((100vw - 414px) / 501)), 60px);
}
.p-lower__index-mv {
  margin-bottom: clamp(35px, 35px + 50 * (100vw - 414px) / 501, 90px);
  border-radius: 15px;
  overflow: hidden;
}
.p-lower__index__head {
  font-size: clamp(1.5rem, 24px + (40 - 24) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
  color: #121515;
  line-height: 1.45;
  margin-bottom: clamp(8px, calc(8px + 32 * ((100vw - 414px) / 501)), 40px);
}
.p-lower__index__section {
  margin-top: clamp(35px, calc(35px + 50 * ((100vw - 414px) / 501)), 85px);
}
.p-lower__index__section:not(:last-child) {
  margin-bottom: clamp(60px, calc(60px + 50 * ((100vw - 414px) / 501)), 110px);
}
@media screen and (max-width: 1025px) {
  .p-lower__index__section--side {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
.p-lower__index__section--contents > *:not(:first-child) {
  margin-top: clamp(8px, calc(8px + 22 * ((100vw - 414px) / 501)), 30px);
}
@media screen and (max-width: 1025px) {
  .p-lower__index__section .c-col {
    row-gap: 22px;
  }
}
@media screen and (max-width: 1025px) {
  .p-lower__index .c-cards {
    margin-top: 28px;
  }
}
@media screen and (max-width: 1025px) {
  .p-lower__index .c-cards + .c-arrowbtn {
    margin-top: 1rem;
  }
}
.p-lower__index .arrowbox__head {
  margin-bottom: 20px;
}
.p-lower__index__lead {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
}
.p-lower__index__point {
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 915px) {
  .p-lower__index__point {
    font-weight: 400;
  }
}
.p-lower__index__text {
  font-size: 16px;
  line-height: clamp(1.625, calc(1.625 + calc(0.125 / 1px) * ((100vw - 414px) / 501)), 1.75);
  margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 414px) / 501)), 40px);
}

.p-lower__index-mv + .p-lower__index__section .p-lower__index__head {
  margin-bottom: clamp(20px, calc(20px + 50 * ((100vw - 414px) / 501)), 70px);
}

.p-contact__tel {
  max-width: 1620px;
  margin-inline: auto;
  display: flex;
  gap: clamp(26px, calc(26px + 34 * ((100vw - 414px) / 501)), 60px);
  padding: clamp(32px, calc(32px + 23 * ((100vw - 414px) / 501)), 55px) clamp(15px, calc(15px + 35 * ((100vw - 414px) / 501)), 50px) clamp(50px, calc(50px + 10 * ((100vw - 414px) / 501)), 60px);
  margin-top: clamp(75px, calc(75px + 85 * ((100vw - 414px) / 501)), 160px);
  border-radius: clamp(30px, calc(30px + 30 * ((100vw - 414px) / 501)), 60px);
  overflow: hidden;
  color: #fefefe;
  background: url(../img/common/img_c-contact.webp) no-repeat center center/cover;
}
@media screen and (max-width: 915px) {
  .p-contact__tel {
    flex-wrap: wrap;
    margin-bottom: 22.9508196721vw;
  }
}
.p-contact__tel__head {
  width: 28.8888888889%;
  margin-top: calc(var(--leading-trim) + 15px);
  font-size: clamp(1.5rem, 24px + (40 - 24) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
}
@media screen and (max-width: 915px) {
  .p-contact__tel__head {
    width: 100%;
  }
}
.p-contact__tel__contents {
  flex: 1;
}
@media screen and (max-width: 915px) {
  .p-contact__tel__contents {
    flex: none;
    width: 100%;
  }
}
.p-contact__tel__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-contact__tel__item + .p-contact__tel__item {
  margin-top: clamp(58px, calc(58px + 22 * ((100vw - 414px) / 501)), 80px);
}
.p-contact__tel__item h3 {
  width: 100%;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-weight: 700;
  margin-bottom: clamp(4px, calc(4px + 4 * ((100vw - 414px) / 501)), 8px);
  padding-block: clamp(5px, calc(5px + 5 * ((100vw - 414px) / 501)), 10px);
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
}
.p-contact__tel__block {
  margin-top: 19px;
  width: 46.8875502008%;
}
@media screen and (max-width: 600px) {
  .p-contact__tel__block {
    width: 100%;
  }
  .p-contact__tel__block + .p-contact__tel__block {
    margin-top: 25px;
  }
}
.p-contact__tel__block h4 {
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  margin-bottom: 2px;
}
.p-contact__tel__block a {
  font-size: clamp(1.875rem, 30px + (40 - 30) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  color: #fefefe;
}
@media (min-width: 768px) {
  .p-contact__tel__block a {
    pointer-events: none;
    cursor: default;
  }
}
.p-contact__tel__block p {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 400;
  margin-top: 3px;
}
@media screen and (max-width: 600px) {
  .p-contact__tel__block p {
    margin-top: -1px;
  }
}

@media screen and (max-width: 480px) {
  .c-cards--info {
    margin-top: 10px;
    row-gap: 22px;
  }
}
.c-cards--info .c-card {
  position: relative;
}
@media screen and (max-width: 480px) {
  .c-cards--info .c-card {
    min-height: 139px;
    padding: 0 15px 41px;
    position: relative;
    border-radius: 8px;
    background-color: #fefefe;
  }
}
.c-cards--info .c-card .info__img {
  position: relative;
  aspect-ratio: 468/250;
  border-radius: 8px 8px 0 8px;
  overflow: hidden;
  margin-bottom: 24px;
}
@media screen and (max-width: 480px) {
  .c-cards--info .c-card .info__img {
    aspect-ratio: inherit;
    display: contents;
    position: static;
    margin-bottom: 4px;
  }
}
.c-cards--info .c-card .info__img img {
  width: 100%;
  transform: rotateZ(0.1deg);
  transition: transform 0.48s;
}
@media screen and (max-width: 480px) {
  .c-cards--info .c-card .info__img img {
    display: none;
  }
}
.c-cards--info .c-card .info__img.noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
.c-cards--info .c-card .info__img.noimg img {
  width: auto;
  max-height: 65%;
}
.c-cards--info .c-card .info__cat {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 11px 1px 18px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  border-radius: 8px 0 0 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #222f30;
  background-color: #f7f7f5;
}
@media screen and (max-width: 480px) {
  .c-cards--info .c-card .info__cat {
    width: fit-content;
    padding: 12px 13px 4px 17px;
  }
}
.c-cards--info .c-card .info__title {
  margin-top: 2px;
  font-size: clamp(1rem, 16px + (20 - 16) * (100vw - 414px) / (1920 - 414), 1.25rem);
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .c-cards--info .c-card .info__title {
    margin-top: 0;
    font-weight: 400;
  }
}
.c-cards--info .c-card .info__title::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .c-cards--info .c-card .c-card__time {
    margin-bottom: 4px;
  }
}
@media (any-hover: hover) {
  .c-cards--info .c-card:has(.info__title:hover) .info__img img {
    transform: scale(1.05);
  }
}

.p-news .splide {
  margin-bottom: 80px;
}
@media screen and (max-width: 915px) {
  .p-news .splide:not(:has(.splide__head)) {
    padding-top: 20px;
  }
  .p-news .splide {
    margin-bottom: 120px;
  }
}
.p-news .splide__head {
  width: max-content;
  padding-top: 8px;
  margin-bottom: clamp(30px, calc(30px + 65 * ((100vw - 414px) / 501)), 95px);
  border-top: 1px solid #707070;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
}
.p-news .splide__slide {
  display: flex;
  border-radius: clamp(8px, calc(8px + 7 * ((100vw - 414px) / 501)), 15px);
  overflow: hidden;
  background-color: #fff;
}
@media screen and (max-width: 1220px) {
  .p-news .splide__slide {
    flex-direction: column;
  }
}
.p-news .splide .topics__img {
  width: 65.1376146789%;
  aspect-ratio: 994/532;
  overflow: hidden;
}
@media screen and (max-width: 1220px) {
  .p-news .splide .topics__img {
    width: 100%;
    border-radius: 8px 8px 0 0;
  }
}
.p-news .splide .topics__img img {
  object-fit: contain;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1220px) {
  .p-news .splide .topics__img img {
    min-height: none;
  }
}
.p-news .splide .topics__img.noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.p-news .splide .topics__img.noimg img {
  width: 150px;
  height: auto;
  min-height: auto;
}
.p-news .splide .topics__text {
  flex: 1;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding-block: clamp(18px, calc(18px + 30 * ((100vw - 414px) / 501)), 48px);
  padding-inline: clamp(15px, calc(15px + 25 * ((100vw - 414px) / 501)), 40px);
}
@media screen and (max-width: 1220px) {
  .p-news .splide .topics__text {
    flex: none;
  }
}
.p-news .splide .topics__text * {
  color: #222f30;
}
.p-news .splide .topics__head {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.p-news .splide .topics__cat {
  padding: 8px 20px;
  font-size: clamp(0.875rem, 14px + (19 - 14) * (100vw - 414px) / (1920 - 414), 1.1875rem);
  line-height: 1;
  font-weight: 700;
  border-radius: 8px;
  position: relative;
  z-index: 1;
  background-color: #f7f7f5;
}
@media screen and (max-width: 915px) {
  .p-news .splide .topics__cat {
    padding-inline: 10px;
  }
}
.p-news .splide .topics__time {
  margin-top: 4px;
  margin-left: auto;
  font-size: clamp(1rem, 16px + (21 - 16) * (100vw - 414px) / (1920 - 414), 1.3125rem);
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  color: #050707;
}
.p-news .splide .topics__title {
  width: 100%;
  margin-top: 14.0977443609%;
  margin-bottom: 16.9172932331%;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 1220px) {
  .p-news .splide .topics__title {
    margin-top: 20px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 915px) {
  .p-news .splide .topics__title {
    margin-top: 6px;
  }
}
.p-news .splide .topics__title::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  cursor: pointer;
}
.p-news .splide .topics__body {
  width: 100%;
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 1220px) {
  .p-news .splide .topics__body {
    display: none;
  }
}
.p-news .splide .splide__pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 50px;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}
@media screen and (max-width: 1220px) {
  .p-news .splide .splide__pagination {
    margin-top: 20px;
  }
}
.p-news .splide .splide__pagination li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 20px;
  border-radius: 100vmax;
  font-size: inherit;
  line-height: 1;
  list-style-type: none;
  position: relative;
  pointer-events: auto;
  background-color: #fff;
}
@media (any-hover: hover) {
  .p-news .splide .splide__pagination li:hover {
    cursor: pointer;
  }
}
.p-news .splide .splide__pagination li:has(.is-active)::before {
  background-color: #515146;
}
.p-news .splide .splide__pagination li::before {
  content: "";
  display: block;
  width: 65px;
  height: 5px;
  position: absolute;
  inset: auto;
  border-radius: 100vmax;
  z-index: 2;
  cursor: pointer;
}
.p-news .splide .splide__pagination li .splide__pagination__page {
  width: 80px;
  height: 20px;
  margin: 0;
  border: 0;
  border-radius: 100vmax;
  position: relative;
  z-index: 3;
  opacity: 1;
  background-color: transparent;
  cursor: pointer;
}
.p-news .splide .splide__pagination li .splide__pagination__page.is-active {
  transform: scale(1);
  z-index: 1;
  background: #fff;
}
.p-news__section {
  padding-top: 15px;
}
@media screen and (max-width: 915px) {
  .p-news__section {
    padding-top: 10px;
  }
}
.p-news__article .info__body h2,
.p-news__article .info__body h3,
.p-news__article .info__body h4,
.p-news__article .info__body h5 {
  font-weight: 700;
  color: #222f30;
}
@media screen and (max-width: 1220px) {
  .p-news__article .info__body h2,
  .p-news__article .info__body h3,
  .p-news__article .info__body h4,
  .p-news__article .info__body h5 {
    color: #121515;
  }
}
.p-news__article .info__body h2 {
  margin-bottom: 1rem;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  padding-block: clamp(7px, calc(7px + 5 * ((100vw - 414px) / 501)), 12px);
  border-top: 4px solid #C9CBBE;
  border-bottom: 4px solid #C9CBBE;
  font-weight: 700;
  color: #222f30;
}
@media screen and (max-width: 1220px) {
  .p-news__article .info__body h2 {
    color: #121515;
  }
}
.p-news__article .info__body h3 {
  margin-bottom: 0.25rem;
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  line-height: 1.4;
  font-weight: 700;
  color: #222f30;
}
.p-news__article .info__body h4 {
  margin-bottom: clamp(0.25rem, calc(0.25rem + 0.25rem * ((100vw - 414px) / 501px)), 0.5rem);
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1.5;
}
.p-news__article .info__body h5 {
  width: max-content;
  padding-block: clamp(2px, calc(2px + 3 * ((100vw - 414px) / 501)), 5px);
  margin-top: clamp(1.5rem, calc(1.5rem + 1.25rem * ((100vw - 414px) / 501px)), 2.75rem);
  margin-bottom: clamp(0rem, calc(0rem + 0.25rem * ((100vw - 414px) / 501px)), 0.25rem);
  font-size: clamp(1.125rem, 18px + (20 - 18) * (100vw - 414px) / (1920 - 414), 1.25rem);
  line-height: 1.5;
  background-color: #fff;
}
.p-news__article .info__body p {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
  margin-bottom: clamp(1.375rem, calc(1.375rem + 0.625rem * ((100vw - 414px) / 501px)), 2rem);
  color: #222f30;
}
.p-news__article .info__body a {
  color: inherit;
  text-decoration: underline;
}
.p-news__article .info__body a:hover {
  text-decoration: none;
}
.p-news__article .info__body .is-link,
.p-news__article .info__body .is-external,
.p-news__article .info__body .is-download {
  display: flex;
  align-items: center;
  width: max-content;
  margin-bottom: clamp(18px, calc(18px + 10 * ((100vw - 414px) / 501)), 28px);
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 700;
}
.p-news__article .info__body .is-link::before, .p-news__article .info__body .is-link::after,
.p-news__article .info__body .is-external::before,
.p-news__article .info__body .is-external::after,
.p-news__article .info__body .is-download::before,
.p-news__article .info__body .is-download::after {
  line-height: 1;
}
.p-news__article .info__body .is-download::before {
  content: "";
  width: clamp(24px, calc(24px + 6 * ((100vw - 414px) / 501)), 30px);
  aspect-ratio: 24/30;
  margin-right: clamp(6px, calc(6px + 10 * ((100vw - 414px) / 501)), 16px);
  background: url("/assets/img/common/icon_download.svg") no-repeat center center/contain;
}
.p-news__article .info__body .is-link::before {
  content: "";
  width: clamp(24px, calc(24px + 6 * ((100vw - 414px) / 501)), 30px);
  aspect-ratio: 24/20;
  margin-right: clamp(6px, calc(6px + 10 * ((100vw - 414px) / 501)), 16px);
  background: url("/assets/img/common/icon_link.svg") no-repeat center center/contain;
}
.p-news__article .info__body .is-external::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  margin-left: clamp(8px, calc(8px + 6 * ((100vw - 414px) / 501)), 14px);
  background: url("/assets/img/common/icon_external.svg") no-repeat center center/contain;
}
.p-news__article .info__body blockquote {
  padding-block: clamp(10px, calc(10px + 16 * ((100vw - 414px) / 501)), 26px);
  padding-inline: clamp(12px, calc(12px + 14 * ((100vw - 414px) / 501)), 26px);
  margin-top: clamp(1.625rem, calc(1.625rem + 1.5rem * ((100vw - 414px) / 501px)), 3.125rem);
  margin-bottom: clamp(2rem, calc(2rem + 1.125rem * ((100vw - 414px) / 501px)), 3.125rem);
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  font-weight: 700;
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
  border-radius: 8px;
  background-color: #eee;
}
.p-news__article .info__body blockquote *:last-child {
  margin-bottom: 0;
}
.p-news__article .info__body figure {
  margin-bottom: clamp(2rem, calc(2rem + 0.5rem * ((100vw - 414px) / 501px)), 2.5rem);
}
.p-news__article .info__body figure figcaption {
  padding-block: clamp(8px, calc(8px + 1 * ((100vw - 414px) / 501)), 9px);
  padding-inline: clamp(12px, calc(12px + (1rem - 12px) * ((100vw - 414px) / 501px)), 1rem);
  font-size: clamp(0.875rem, 14px + (16 - 14) * (100vw - 414px) / (1920 - 414), 1rem);
  line-height: clamp(1.4285714286, calc(1.4285714286 + calc(0.3214285714 / 1px) * ((100vw - 414px) / 501)), 1.75);
  background-color: #fefefe;
}
.p-news__article .info__body iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin-bottom: clamp(1.875rem, calc(1.875rem + 1.625rem * ((100vw - 414px) / 501px)), 3.5rem);
}

.p-tech__index.p-lower .l-main::after {
  height: 15.625vw;
}
.p-tech__index__point {
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 915px) {
  .p-tech__index__point {
    font-weight: 400;
  }
}
.p-tech__index__head-2 {
  display: flex;
  flex-direction: column;
  row-gap: clamp(0.5rem, calc(0.5rem + 1rem * ((100vw - 414px) / 501px)), 1.5rem);
  padding: clamp(1.25rem, calc(1.25rem + 0.25rem * ((100vw - 414px) / 501px)), 1.5rem) 1.5rem;
  border-radius: 8px;
  margin-bottom: 1.75rem;
}
.p-tech__index__head-2 span {
  line-height: 1;
}
.p-tech__index__head-2 .jp {
  font-size: clamp(1.5rem, 24px + (40 - 24) * (100vw - 414px) / (1920 - 414), 2.5rem);
  font-weight: 700;
  color: #fefefe;
}
.p-tech__index__head-2 .en {
  font-size: clamp(1.125rem, 18px + (30 - 18) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  color: rgba(254, 254, 254, 0.5);
}
.p-tech__index__head-2.--blue {
  background: linear-gradient(to right, #5EA1AE 35%, #f7f7f5 100%);
}
.p-tech__index__head-2.--green {
  background: linear-gradient(to right, #80B344 35%, #f7f7f5 100%);
}
.p-tech__point {
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 915px) {
  .p-tech__point {
    font-weight: 400;
  }
}
.p-tech__archives__section {
  padding-top: 15px;
}
.p-tech__archives__section .menu {
  width: 468px;
  max-width: 100%;
  padding: 14px 17px 14px 22px;
  margin-left: auto;
  border-radius: 10px;
  position: relative;
  isolation: isolate;
  z-index: 9;
  background-color: #fff;
}
.p-tech__archives__section .menu__btn, .p-tech__archives__section .menu__dropdown {
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .p-tech__archives__section .menu__btn, .p-tech__archives__section .menu__dropdown {
    font-weight: 400;
  }
}
.p-tech__archives__section .menu__btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1;
  border: none;
  background-color: transparent;
}
.p-tech__archives__section .menu__arrow {
  width: 40px;
  width: clamp(32px, calc(32px + 8 * ((100vw - 414px) / 501)), 40px);
  aspect-ratio: 1/1;
}
.p-tech__archives__section .menu__arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  rotate: -90deg;
  background-color: #515146;
  mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  transform-origin: center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.p-tech__archives__section .menu__dropdown {
  display: none;
  width: 100%;
  border-radius: 0 0 10px 10px;
  line-height: clamp(1.25, calc(1.25 + calc(0.0833333333 / 1px) * ((100vw - 414px) / 501)), 1.3333333333);
  position: absolute;
  top: calc(100% - 10px);
  left: 0;
  z-index: 12;
  background-color: #fff;
}
.p-tech__archives__section .menu__dropdown ul {
  margin-top: 21px;
  margin-inline: clamp(24px, calc(24px + 22 * ((100vw - 414px) / 501)), 46px);
  margin-bottom: clamp(24px, calc(24px + 24 * ((100vw - 414px) / 501)), 48px);
  border-top: 1px solid rgba(112, 112, 112, 0.5019607843);
}
.p-tech__archives__section .menu__dropdown ul li {
  display: block;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5019607843);
}
.p-tech__archives__section .menu__dropdown ul li.current {
  background: #f7f7f5;
}
.p-tech__archives__section .menu__dropdown ul a {
  display: block;
  padding-block: 1.125em;
  position: relative;
}
.p-tech__archives__section .menu__dropdown ul a::before {
  content: "";
  width: 5px;
  height: 100%;
  position: absolute;
  left: -10px;
  top: 0;
  opacity: 0;
  transition: opacity 0.3s;
  background-color: #707070;
}
@media (any-hover: hover) {
  .p-tech__archives__section .menu__dropdown ul a:hover::before {
    opacity: 1;
  }
}
.p-tech__archives__section .menu.is-open {
  z-index: 15;
}
.p-tech__archives__section .menu.is-open .menu__arrow {
  transform: rotate(180deg);
}
.p-tech__archives__section .menu.is-open .menu__label {
  opacity: 0;
}
.p-tech__archives__section .menu.is-open .menu__dropdown {
  display: block;
}
.p-tech__archives__section {
  /* オーバーレイ */
}
.p-tech__archives__section .overlay {
  position: fixed;
  inset: 0;
  z-index: 14;
  transition: 0.3s;
  background: rgba(34, 47, 48, 0.5);
  opacity: 0;
  visibility: hidden;
}
.p-tech__archives__section .overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.p-tech__archives__contents {
  margin-top: clamp(28px, calc(28px + 28 * ((100vw - 414px) / 501)), 56px);
}
.p-tech__archives .tech__cat {
  width: 468px;
  width: clamp(276px, calc(276px + 192 * ((100vw - 414px) / 501)), 468px);
  max-width: 100%;
  padding-block: clamp(9px, calc(9px + 1 * ((100vw - 414px) / 501)), 10px);
  padding-right: clamp(13px, calc(13px + 3 * ((100vw - 414px) / 501)), 16px);
  padding-left: clamp(17px, calc(17px + 2 * ((100vw - 414px) / 501)), 19px);
  margin-top: clamp(26px, calc(26px + 14 * ((100vw - 414px) / 501)), 40px);
  margin-bottom: 12px;
  margin-left: auto;
  border-radius: 10px;
  background-color: #fff;
}
.p-tech__archives .tech__list {
  --clm-gap: calc(55 / 1920 * 100vw);
  gap: 3.4895833333vw var(--clm-gap);
}
@media screen and (max-width: 600px) {
  .p-tech__archives .tech__list {
    --clm-gap: 15px;
  }
}
.p-tech__archives .tech__list .arrowbox {
  width: calc((100% - var(--clm-gap) * 3) / 4);
}
@media screen and (max-width: 1025px) {
  .p-tech__archives .tech__list .arrowbox {
    width: calc((100% - var(--clm-gap) * 2) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-tech__archives .tech__list .arrowbox {
    width: calc((100% - var(--clm-gap)) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-tech__archives .tech__list .arrowbox__bg__inner {
    mask-image: url(../img/common/shape_card-sp-tech.svg);
  }
}
.p-tech__archives__head {
  display: flex;
  column-gap: 60px;
  justify-content: space-between;
  margin-top: clamp(42px, 110 / 1920 * 100vw, 110px);
}
@media screen and (max-width: 915px) {
  .p-tech__archives__head {
    flex-direction: column;
    row-gap: 14px;
  }
}
.p-tech__archives__head .heading {
  width: 30.6684141547%;
  font-weight: 700;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: clamp(1.5555555556, calc(1.5555555556 + calc(-0.8888888889 / 1px) * ((100vw - 414px) / 501)), 0.6666666667);
  color: #222f30;
}
@media screen and (max-width: 915px) {
  .p-tech__archives__head .heading {
    width: 100%;
  }
}
.p-tech__archives__head .text {
  flex: 1;
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
}
.p-tech__archives .automotive__map {
  margin-bottom: 93px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .p-tech__archives .automotive__map {
    display: none;
  }
}
.p-tech__archives .automotive__map .map__img {
  border-radius: 15px;
  overflow: hidden;
}
.p-tech__archives .automotive__map .map__link {
  display: block;
  width: 3.2765399738%;
  aspect-ratio: 1/1;
  border: 1px solid #707070;
  background-color: #fff;
  border-radius: 100vmax;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
}
@media (any-hover: hover) {
  .p-tech__archives .automotive__map .map__link:hover {
    text-decoration: underline;
  }
  .p-tech__archives .automotive__map .map__link:hover .map__icon::before {
    transform: translateX(-100%);
  }
  .p-tech__archives .automotive__map .map__link:hover .map__icon::after {
    transform: translateX(0);
  }
}
.p-tech__archives .automotive__map .map__link .map__icon {
  width: 28px;
  width: 56%;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  overflow: hidden;
  background-color: rgba(81, 81, 70, 0.4);
  position: relative;
}
@media (any-hover: hover) {
  .map__link:hover .p-tech__archives .automotive__map .map__link .map__icon {
    scale: 0.9;
  }
}
.p-tech__archives .automotive__map .map__link .map__icon::before, .p-tech__archives .automotive__map .map__link .map__icon::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  line-height: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  rotate: 180deg;
  background-color: #515146;
  mask: url("../img/common/icon-arrow.svg") no-repeat center/contain;
  transform-origin: center;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1);
}
@media (any-hover: hover) {
  .map__link:hover .p-tech__archives .automotive__map .map__link .map__icon::before {
    transform: translateX(-100%);
  }
}
.p-tech__archives .automotive__map .map__link .map__icon::after {
  transform: translateX(100%);
}
@media (any-hover: hover) {
  .map__link:hover .p-tech__archives .automotive__map .map__link .map__icon::after {
    transform: translateX(0);
  }
}
.p-tech__archives .automotive__map .map__link .map__label {
  position: absolute;
  width: auto;
  white-space: nowrap;
  left: calc(100% + 5px);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  top: calc(50% - 0.5em);
  line-height: 1;
}
@media (max-width: 1500px) {
  .p-tech__archives .automotive__map .map__link .map__label {
    font-size: 1.0666666667vw;
  }
}
.p-tech__archives .automotive__map #m-01 {
  left: 52.8178243775%;
  top: 19.5%;
}
.p-tech__archives .automotive__map #m-02 {
  left: 34.4036697248%;
  top: 64.8%;
}
.p-tech__archives .automotive__map #m-03 {
  left: 76.5399737877%;
  top: 27.6%;
}
.p-tech__archives .automotive__map #m-04 {
  left: 74.6395806029%;
  top: 39.3%;
}
.p-tech__archives .automotive__map #m-05 {
  left: 69.7247706422%;
  top: 47.9%;
}
.p-tech__archives .automotive__map #m-06 {
  left: 75.753604194%;
  top: 51.7%;
}
.p-tech__archives .automotive__map #m-07 {
  left: 60.6815203145%;
  top: 54.2%;
}
.p-tech__archives .automotive__map #m-08 {
  left: 60.6815203145%;
  top: 59.8%;
}
.p-tech__archives .automotive__map #m-09 {
  left: 62.9750982962%;
  top: 53.4%;
}
#m-10 {
  left: calc(753 / 1526 * 100%);
  top: calc(393 / 1000 * 100%);
}      
#m-11 {
  left: calc(453 / 1526 * 100%);
  top: calc(553 / 1000 * 100%);
}
.p-tech .tec__body {
  margin-bottom: clamp(-45px, -55 / 1920 * 100vw, -55px);
}
.p-tech .c_article__title {
  margin-block: clamp(15px, calc(15px + 85 * ((100vw - 414px) / 501)), 100px);
}
.p-tech .caption {
  margin-top: 1em;
}
.p-tech__solutions .c-module h3 {
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .p-tech__solutions .c-cards.--grid {
    row-gap: clamp(2rem, calc(2rem + 0.5rem * ((100vw - 414px) / 501px)), 2.5rem);
  }
}
.p-tech__solutions .c-cards.--grid .c-card {
  grid-row: span 2;
}
.p-tech__solutions .c-cards.--grid .c-card .c-card__head {
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  min-height: 2lh;
}
@media screen and (max-width: 600px) {
  .p-tech__solutions .c-cards.--grid .c-card .c-card__head {
    min-height: auto;
  }
}
.p-tech__solutions .c-cards.--grid .c-card .c-card__box {
  grid-template-rows: auto 1fr;
}
@media screen and (max-width: 1025px) {
  .p-tech__solutions .c-cards.--grid .c-card:nth-child(n+3) {
    margin-top: var(--clm-gap-r);
  }
}
@media screen and (max-width: 600px) {
  .p-tech__solutions .c-cards.--grid .c-card:nth-child(n+3) {
    margin-top: 0;
  }
}
.p-tech__solutions .solutions--img .spacebox {
  margin-top: clamp(1rem, calc(1rem + 1.5rem * ((100vw - 414px) / 501px)), 2.5rem);
}
.p-tech__solutions .solutions--img .spacebox figure {
  width: 100%;
  padding-inline: clamp(15px, calc(15px + 15 * ((100vw - 414px) / 501)), 30px);
  border-radius: clamp(8px, calc(8px + 22 * ((100vw - 414px) / 501)), 30px);
  overflow: hidden;
  background-color: #fff;
}
.p-tech__solutions .solutions--img .spacebox figure img {
  display: block;
  width: auto;
  margin-inline: auto;
}
.p-tech__solutions .solutions--img-04 .spacebox figure {
  padding-block: clamp(20px, calc(20px + 10 * ((100vw - 414px) / 501)), 30px);
}
.p-tech__solutions .solutions--img-05 .spacebox figure {
  padding-block: clamp(20px, calc(20px + 50 * ((100vw - 414px) / 501)), 70px);
}
.p-tech__solutions .solutions--movie .youtube-col {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: var(--clm-gap);
}
@media screen and (max-width: 1025px) {
  .p-tech__solutions .solutions--movie .youtube-col {
    grid-auto-flow: row;
    row-gap: clamp(1.5rem, calc(1.5rem + 1.5rem * ((100vw - 414px) / 501px)), 3rem);
  }
}
.p-tech__solutions .solutions--movie .youtube-col__inner {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: clamp(0.75rem, calc(0.75rem + 0.75rem * ((100vw - 414px) / 501px)), 1.5rem);
}
@media screen and (max-width: 1025px) {
  .p-tech__solutions .solutions--movie .youtube-col__inner {
    gap: clamp(0.5rem, calc(0.5rem + 1rem * ((100vw - 414px) / 501px)), 1.5rem);
  }
}
.p-tech__solutions .solutions--movie .c-arrowbtn {
  width: max-content;
  margin-top: clamp(25px, calc(25px + 45 * ((100vw - 414px) / 501)), 70px);
  margin-inline: auto;
}
.p-tech__mfg .mfg__item {
  margin-top: clamp(40px, calc(40px + 30 * ((100vw - 414px) / 501)), 70px);
  margin-bottom: clamp(40px, calc(40px + 60 * ((100vw - 414px) / 501)), 100px);
}
.p-tech__mfg .mfg__item .c-col-2 > *:first-child {
  margin-top: var(--leading-trim);
}
.p-tech__quality .c-heading-1 {
  margin-bottom: clamp(0.75rem, calc(0.75rem + 0.5rem * ((100vw - 414px) / 501px)), 1.25rem);
}
.p-tech__quality .qlt__intro {
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  font-weight: 400;
  margin-bottom: clamp(2.5rem, calc(2.5rem + 1.5rem * ((100vw - 414px) / 501px)), 4rem);
}
.p-tech__quality .qlt_section--01__intro {
  margin-top: clamp(1.5rem, calc(1.5rem + 1.75rem * ((100vw - 414px) / 501px)), 3.25rem);
  margin-bottom: 1rem;
  font-size: 1rem;
}
.p-tech__quality .qlt_section--01 .side-img {
  border-radius: 8px;
}
.p-tech__quality .qlt_section--01 .c-slider + p,
.p-tech__quality .qlt_section--01 figure + p {
  margin-top: clamp(0.6rem, calc(0.6rem + 0.65rem * ((100vw - 414px) / 501px)), 1.25rem);
  font-size: 1rem;
  line-height: 1.75;
}
.p-tech__quality .qlt_section--02 .imgbox {
  margin-top: clamp(1.5rem, calc(1.5rem + 1rem * ((100vw - 414px) / 501px)), 2.5rem);
}
.p-tech__quality .qlt_section--02 .caption {
  margin-top: clamp(0.5em, calc(0.5em + 0.5em * ((100vw - 414px) / 501px)), 1em);
  font-size: 1rem;
}
.p-tech__quality .qlt_section--02 .c-col {
  margin-top: clamp(1rem, calc(1rem + 1rem * ((100vw - 414px) / 501px)), 2rem);
}
.p-tech__quality .qlt_section--02 .c-module__head--2 {
  margin-top: clamp(0rem, calc(0rem + 1.75rem * ((100vw - 414px) / 501px)), 1.75rem);
  margin-bottom: clamp(0.25rem, calc(0.25rem + 0.75rem * ((100vw - 414px) / 501px)), 1rem);
  font-size: clamp(1rem, 16px + (24 - 16) * (100vw - 414px) / (1920 - 414), 1.5rem);
  line-height: 1.5;
  font-weight: 700;
}
.p-tech__quality .qlt_section--02 .c-arrowbtn {
  width: max-content;
  margin: clamp(2rem, calc(2rem + 4rem * ((100vw - 414px) / 501px)), 6rem) auto clamp(0.75rem, calc(0.75rem + 0.5rem * ((100vw - 414px) / 501px)), 1.25rem);
}
.p-tech__quality .qlt_section--03 .c-module__head {
  margin-bottom: clamp(1.25rem, calc(1.25rem + 2.25rem * ((100vw - 414px) / 501px)), 3.5rem);
}
.p-tech__quality .qlt_section--03__intro {
  font-size: 1rem;
}
.p-tech__quality .qlt_section--03 .c-cards.--grid {
  margin-top: clamp(1.5rem, calc(1.5rem + 1.875rem * ((100vw - 414px) / 501px)), 3.375rem);
}
.p-tech__quality .qlt_section--03 .c-cards.--grid .c-card {
  grid-row: span 2;
}
.p-tech__quality .qlt_section--03 .c-cards.--grid .c-card .c-card__box {
  grid-template-rows: auto 1fr;
}
.p-tech__quality .qlt_section--03 .c-cards.--grid .c-card .c-card__head {
  min-height: auto;
  margin-bottom: clamp(0.6rem, calc(0.6rem + 0.65rem * ((100vw - 414px) / 501px)), 1.25rem);
}

.c-cards.--sustain--index {
  margin-top: clamp(30px, calc(30px + 65 * ((100vw - 414px) / 501)), 95px);
  margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 414px) / 501)), 50px);
}

.p-sustain .c-module__intro {
  padding-bottom: 36.7454068241%;
  margin-bottom: clamp(10%, calc(10% + (85px - 10%) * ((100vw - 414px) / 501px)), 85px);
  margin-bottom: clamp(25px, calc(25px + 60 * ((100vw - 414px) / 501)), 85px);
  background-image: url(../img/sustainability/intro_img.webp);
}

.p-company .teru {
  --teru-ma: 47px;
  margin-inline: calc(var(--teru-ma) * -1);
  padding: clamp(30px, calc(30px + 32 * ((100vw - 414px) / 501)), 62px) var(--teru-ma);
  padding-bottom: clamp(30px, calc(30px + 72 * ((100vw - 414px) / 501)), 102px);
  border-radius: clamp(40px, calc(40px + 20 * ((100vw - 414px) / 501)), 60px);
  overflow: hidden;
  position: relative;
  background: url(../img/company/bg_teru.webp) no-repeat 0 0/cover;
}
@media screen and (max-width: 1430px) {
  .p-company .teru {
    margin-inline: -32px;
  }
}
@media screen and (max-width: 1025px) {
  .p-company .teru {
    margin-inline: -17px;
  }
}
.p-company .teru::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(5, 7, 7, 0.7);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.p-company .teru > * {
  position: relative;
  z-index: 1;
}
.p-company .teru * {
  color: #fefefe !important;
}
.p-company .teru-col {
  display: flex;
  justify-content: space-between;
  gap: var(--clm-gap);
  flex-wrap: wrap;
}
@media screen and (max-width: 1430px) {
  .p-company .teru-col {
    margin-inline: -15px;
  }
}
@media screen and (max-width: 1025px) {
  .p-company .teru-col {
    margin-inline: -30px;
  }
}
@media screen and (max-width: 768px) {
  .p-company .teru-col {
    row-gap: 40px;
  }
}
.p-company .teru-side {
  padding-top: 10px;
  width: var(--clm-wdh);
}
@media screen and (max-width: 1025px) {
  .p-company .teru-side {
    width: 330px;
  }
}
@media screen and (max-width: 768px) {
  .p-company .teru-side {
    width: 100%;
  }
}
.p-company .teru-contents {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-company .teru-contents {
    flex: none;
    width: 100%;
  }
}
.p-company .teru-contents .c-heading-3 {
  margin-bottom: 1.5rem;
}
.p-company .teru-contents p {
  line-height: 1.75;
}
.p-company .teru-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px 55px;
  margin-top: 50px;
}
@media screen and (max-width: 1430px) {
  .p-company .teru-grid {
    gap: 35px;
  }
}
@media screen and (max-width: 1025px) {
  .p-company .teru-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}
@media screen and (max-width: 834px) {
  .p-company .teru-grid {
    gap: 30px;
  }
}
.p-company .teru-grid__head {
  margin-top: var(--leading-trim);
  margin-bottom: 1rem;
  line-height: 1.5;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
}
@media screen and (max-width: 1025px) {
  .p-company .teru-grid__head {
    margin-bottom: 0.55rem;
  }
}
.p-company .teru-grid .c-simbtn {
  margin-top: clamp(1rem, calc(1rem + 2rem * ((100vw - 414px) / 501px)), 3rem);
}
.p-company .teru .p-lower__index__head {
  margin-top: var(--leading-trim);
}
.p-company .teru__head {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-company .teru__head {
    margin-top: 20px;
    column-gap: 10%;
    flex-direction: row;
    align-items: flex-end;
  }
}
.p-company .teru__logo {
  max-width: 177px;
  aspect-ratio: 177/128;
}
.p-company .teru__en {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  margin-block: var(--leading-trim);
  flex: 1;
}
.p-company .teru .c-simbtn.--bg-white span {
  color: #515146 !important;
}
@media (any-hover: hover) {
  .p-company .teru .c-simbtn.--bg-white:hover span {
    color: #fefefe !important;
  }
}
.p-company .c-module__intro {
  padding-bottom: 42.6509186352%;
  margin-bottom: clamp(30px, 5vw, 106px);
  background-image: url(../img/company/intro_img.webp);
}
.p-company .c-module:has(.c-module__intro) {
  padding-bottom: 0;
}
.p-company .reason {
  display: flex;
  gap: var(--clm-gap);
}
@media screen and (max-width: 834px) {
  .p-company .reason {
    flex-direction: column;
    row-gap: 20px;
  }
}
.p-company .reason li {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  width: calc((100% - var(--clm-gap) * 2) / 3);
  background-color: #fefefe;
  font-family: "BIZ UDPMincho", serif;
  font-size: clamp(1.25rem, 20px + (29 - 20) * (100vw - 414px) / (1920 - 414), 1.8125rem);
  line-height: 1.7931034483;
  text-align: center;
}
@media screen and (max-width: 1025px) {
  .p-company .reason li {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 834px) {
  .p-company .reason li {
    width: 400px;
    max-width: calc(100% - 50px);
  }
}
@media screen and (max-width: 480px) {
  .p-company .reason li {
    padding-block: 1.25rem;
    max-width: none;
    width: 100%;
  }
}
.p-company .reason li:nth-child(2) {
  margin-inline: auto;
}
.p-company .reason li:last-child {
  line-height: 1.2068965517;
}
@media screen and (max-width: 1025px) {
  .p-company .reason li:last-child {
    line-height: 1.7931034483;
  }
}
@media screen and (max-width: 834px) {
  .p-company .reason li:last-child {
    margin-left: auto;
  }
}
@media screen and (max-width: 1025px) {
  .p-company .reason li .br {
    display: inline;
  }
}
.p-company .message {
  padding-bottom: clamp(40px, calc(40px + 25 * ((100vw - 414px) / 501)), 65px);
}
.p-company .message__head {
  padding-inline: 1.5em;
  margin-top: clamp(30px, 5vw, 95px);
  margin-bottom: clamp(35px, 4.5vw, 140px);
  font-size: clamp(1.25rem, 20px + (30 - 20) * (100vw - 414px) / (1920 - 414), 1.875rem);
  font-family: "BIZ UDPMincho", serif;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 414px) {
  .p-company .message__head {
    padding-inline: 1em;
  }
}
@media screen and (min-width: 700px) and (max-width: 1200px) {
  .p-company .message__head .br-tab {
    display: block;
  }
}
@media screen and (max-width: 530px) {
  .p-company .message__head .br-sp {
    display: block;
  }
}
@media screen and (max-width: 1220px) {
  .p-company .message .c-col {
    flex-direction: column;
    row-gap: 1.75rem;
  }
}
.p-company .message__img {
  flex: 1;
}
@media screen and (max-width: 1430px) {
  .p-company .message__img {
    flex: none;
    width: 40%;
  }
}
@media screen and (max-width: 1220px) {
  .p-company .message__img {
    width: auto;
    max-width: 759px;
    margin-inline: auto;
  }
}
.p-company .message__img figure img {
  border-radius: 8px;
  overflow: hidden;
}
.p-company .message__img figcaption {
  margin-top: 5px;
}
.p-company .message__contents {
  flex: 1;
}
.p-company .message__title {
  line-height: 1.5;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
}
.p-company .message__text {
  margin-top: 30px;
  margin-bottom: 40px;
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
}
.p-company .message__text p + p {
  margin-top: 1.5em;
}
.p-company__profile .group {
  margin-bottom: 40px;
}
@media screen and (max-width: 600px) {
  .p-company__profile .group {
    margin-bottom: 0;
  }
}
.p-company__profile .group .c-cards .c-card__dl {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 4px;
  margin-top: 10px;
}
@media screen and (max-width: 600px) {
  .p-company__profile .group .c-cards .c-card__dl {
    margin-bottom: 15px;
  }
}
.p-company__profile .group .c-cards .c-card__dl dt {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: clamp(1.625, calc(1.625 + calc(0.1527777778 / 1px) * ((100vw - 414px) / 501)), 1.7777777778);
  font-weight: 700;
}
.p-company__profile .group .c-cards .c-card__dl dd {
  font-size: 15px;
}
.p-company__profile .group .c-cards .c-card .c-simbtn {
  padding-block: 13px;
}
.p-company__profile .partner {
  padding-bottom: 0;
}
.p-company .course {
  margin-top: clamp(0px, calc(0px + 40 * ((100vw - 414px) / 501)), 40px);
  padding-bottom: clamp(10px, calc(10px + -10 * ((100vw - 414px) / 501)), 0px);
}
.p-company .course .c-module__head {
  margin-bottom: clamp(30px, calc(30px + 45 * ((100vw - 414px) / 501)), 75px);
}
.p-company .course .c-cards {
  margin-bottom: 2.2rem;
}
.p-company .course .c-cards .c-card.course--last {
  display: grid;
  grid-template-areas: "hc-img hc-title" "hc-img hc-text";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: max-content 1fr;
  column-gap: var(--clm-gap);
  width: 100%;
  margin-top: 55px;
}
.p-company .course .c-cards .c-card.course--last .c-card__head {
  grid-area: hc-title;
  margin-top: var(--leading-trim);
  margin-bottom: 0;
}
.p-company .course .c-cards .c-card.course--last .c-card__text {
  grid-area: hc-text;
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: 1.7777777778;
}
.p-company .course .c-cards .c-card.course--last .c-card__bg {
  grid-area: hc-img;
  aspect-ratio: 729/461;
}
.p-company__index .c-cards + .c-cards {
  margin-top: 30px;
}
@media screen and (max-width: 600px) {
  .p-company__index .c-cards + .c-cards {
    row-gap: 15px;
  }
}
.p-company__index .c-simbtn {
  margin-top: 20px;
}
@media screen and (max-width: 600px) {
  .p-company__index .c-simbtn {
    margin-top: 0;
  }
}
.p-company__history.p-lower .l-main {
  padding-bottom: clamp(65px, 220 / 1920 * 100vw, 220px);
}

.p-capability .l-side,
.p-capability .l-contents {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-capability .l-side,
  .p-capability .l-contents {
    flex: none;
    width: 100%;
  }
}
.p-capability .l-contents_head {
  margin-top: var(--leading-trim);
  margin-bottom: 5px;
  line-height: 1.5;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
}
.p-capability .l-contents_text {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: 1.7777777778;
}
.p-capability .l-contents > .l-contents_text:not(:first-of-type) {
  margin-top: 2rem;
}
.p-capability .l-contents_more {
  width: max-content;
  padding-block: clamp(2px, calc(2px + 3 * ((100vw - 414px) / 501)), 5px);
  margin-top: clamp(1.5rem, calc(1.5rem + -0.5rem * ((100vw - 414px) / 501px)), 1rem);
  margin-top: 1rem;
  margin-bottom: clamp(0rem, calc(0rem + 0.25rem * ((100vw - 414px) / 501px)), 0.25rem);
  font-size: clamp(1.125rem, 18px + (20 - 18) * (100vw - 414px) / (1920 - 414), 1.25rem);
  line-height: 1.5;
  background-color: #fff;
}
.p-capability .l-contents .c-simbtn {
  max-width: 468px;
  margin-top: 0.625rem;
}
.p-capability .l-contents .c-simbtn + .c-simbtn {
  margin-top: 1.25rem;
}
.p-capability .l-contents--full {
  margin-top: 3.875rem;
}
.p-capability .l-contents--full figure {
  margin-top: 40px;
  border-radius: 30px;
  overflow: hidden;
}
.p-capability #cap-04 .spacebox figure {
  padding-top: clamp(15px, calc(15px + 5 * ((100vw - 414px) / 501)), 20px);
  padding-bottom: clamp(10px, calc(10px + 25 * ((100vw - 414px) / 501)), 35px);
}

.p-sitemap__head {
  display: block;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #515146;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.p-sitemap__head::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 6px;
  aspect-ratio: 6/10;
  margin-top: 16px;
  margin-right: 5px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5.88 9.8'%3E%3Cpath d='M5.66,4.29c.32.39.29.96-.07,1.31l-3.92,3.92c-.38.38-1,.38-1.39,0C.1,9.33,0,9.08,0,8.83V.99C0,.44.44,0,.98,0c.26,0,.51.1.7.29l3.92,3.92.07.07h0Z' style='fill: %23050707; isolation: isolate; opacity: .5;'/%3E%3C/svg%3E") no-repeat center center/contain;
}
.p-sitemap__head span {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-sitemap__head {
    font-size: 20px;
  }
  .p-sitemap__head:before {
    margin-top: 12px;
  }
}
@media screen and (min-width: 1221px) {
  .p-sitemap__head {
    position: relative;
  }
  .p-sitemap__head::after {
    content: "";
    display: block;
    width: calc(100% - 6px);
    height: 3px;
    border-radius: 2px;
    position: absolute;
    left: 6px;
    bottom: 0;
    background: linear-gradient(to right, currentColor 0%, currentColor 50%, transparent 50%) no-repeat;
    background-size: 200% 2px;
    background-position: 101% bottom;
    transition: 0.32s background-position, 0.32s color;
  }
  .p-sitemap__head:hover::after {
    background-position: 0% bottom;
  }
}
.p-sitemap__box {
  padding: 12px 20px;
  border-radius: 5px;
  font-family: "BIZ UDPGothic", sans-serif;
  background-color: rgb(255, 255, 255);
}
.p-sitemap__box + .p-sitemap__box {
  margin-top: 10px;
}
@media screen and (max-width: 500px) {
  .l-overlay-menu__head + .p-sitemap__box {
    margin-top: 15px;
  }
}
.p-sitemap__list {
  margin-block: 16px;
}
.p-sitemap__list li + li {
  margin-top: 12px;
}
.p-sitemap__list a {
  font-size: 18px;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.p-sitemap__list a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5.88 9.8'%3E%3Cpath d='M5.66,4.29c.32.39.29.96-.07,1.31l-3.92,3.92c-.38.38-1,.38-1.39,0C.1,9.33,0,9.08,0,8.83V.99C0,.44.44,0,.98,0c.26,0,.51.1.7.29l3.92,3.92.07.07h0Z' style='fill: %23050707; isolation: isolate; opacity: .5;'/%3E%3C/svg%3E") no-repeat center center/contain;
}
.p-sitemap__list a span {
  flex: 1;
}
.p-sitemap__list a {
  margin-top: -3px;
  transition: all 0.35s ease;
  display: inline-block;
  padding-left: 17px;
  position: relative;
  color: #515146;
}
.p-sitemap__list a::before {
  margin-top: 3px;
  margin-right: 0;
  position: absolute;
  top: 0.5em;
  left: 0;
}
@media screen and (min-width: 1221px) {
  .p-sitemap__list a span {
    padding-bottom: 5px;
    background-image: linear-gradient(to bottom, transparent, #515146);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0% 2px;
    transition: background-size 0.25s ease-out;
  }
  .p-sitemap__list a:hover span {
    background-size: 100% 2px;
  }
}
.p-sitemap__list a[target=_blank] {
  padding-right: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23000000%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23000000%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
}
.p-sitemap__list a span {
  font-weight: 700;
  line-height: 1.4444444444;
}
.p-sitemap {
  --overlay-menu-gap:28px;
}
.p-sitemap .clm {
  display: flex;
  gap: 50px var(--overlay-menu-gap);
  width: 100%;
  margin-top: 10px;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .clm {
    gap: 60px 26px;
    flex-wrap: wrap;
    display: grid;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}
@media screen and (max-width: 500px) {
  .p-sitemap .clm {
    row-gap: 35px;
    grid-template-columns: inherit;
    margin-top: 0;
  }
}
.p-sitemap .clm-cont {
  flex: 1;
}
.p-sitemap .sub-title {
  font-size: 18px;
  line-height: 1.1666666667;
  text-align: center;
  color: rgba(5, 7, 7, 0.5);
  margin-block: 16px;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .sub-title {
    margin-top: 0;
  }
}
.p-sitemap .clm-contact {
  width: 100%;
  margin-top: 3.90625vw;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .clm-contact {
    margin-top: 36px;
  }
}
@media screen and (max-width: 500px) {
  .p-sitemap .clm-contact {
    margin-top: 25px;
  }
}
.p-sitemap .clm-contact_head {
  display: block;
}
.p-sitemap .contact-btn {
  display: flex;
  gap: 50px var(--overlay-menu-gap);
  margin-top: 8px;
  margin-bottom: 25px;
  width: calc(75% - var(--overlay-menu-gap) / 4);
}
@media screen and (max-width: 1430px) {
  .p-sitemap .contact-btn {
    display: grid;
    gap: 26px;
    margin-inline: auto;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    margin-bottom: 33px;
  }
}
@media screen and (max-width: 843px) {
  .p-sitemap .contact-btn {
    gap: 14px;
    grid-template-columns: inherit;
  }
}
.p-sitemap .contact-btn li {
  flex: 1;
}
.p-sitemap .contact-btn li:nth-of-type(1) a {
  background-color: #80b344;
}
.p-sitemap .contact-btn li:nth-of-type(2) a {
  background-color: #5ea1ae;
}
.p-sitemap .contact-btn li:nth-of-type(3) a {
  background-color: #515146;
}
.p-sitemap .contact-btn li:nth-of-type(1) a:hover {
  background-color: rgba(128, 179, 68, 0.8);
}
.p-sitemap .contact-btn li:nth-of-type(2) a:hover {
  background-color: rgba(94, 161, 174, 0.8);
}
.p-sitemap .contact-btn li:nth-of-type(3) a:hover {
  background-color: rgba(81, 81, 70, 0.8);
}
.p-sitemap .contact-btn a {
  padding: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #fefefe;
  border-radius: 8px;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.p-sitemap .contact-btn a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5.88 9.8'%3E%3Cpath d='M5.66,4.29c.32.39.29.96-.07,1.31l-3.92,3.92c-.38.38-1,.38-1.39,0C.1,9.33,0,9.08,0,8.83V.99C0,.44.44,0,.98,0c.26,0,.51.1.7.29l3.92,3.92.07.07h0Z' style='fill: %23ffffff; isolation: isolate; opacity: .5;'/%3E%3C/svg%3E") no-repeat center center/contain;
}
.p-sitemap .contact-btn a span {
  flex: 1;
}
.p-sitemap .contact-btn a {
  width: 100%;
  transition: 0.32s background-color;
}
@media screen and (max-width: 1024px) {
  .p-sitemap .contact-btn a {
    font-size: 18px;
  }
  .p-sitemap .contact-btn a:before {
    margin-top: 12px;
  }
}
.p-sitemap .contact-bottom {
  display: flex;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .contact-bottom {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 480px) {
  .p-sitemap .contact-bottom {
    display: contents;
  }
}
.p-sitemap .contact-phones {
  display: flex;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .contact-phones {
    width: 100%;
  }
}
@media screen and (max-width: 843px) {
  .p-sitemap .contact-phones {
    display: block;
    width: 100%;
    order: -1;
  }
}
@media screen and (max-width: 480px) {
  .p-sitemap .contact-phones {
    order: -1;
    margin-bottom: 20px;
  }
}
.p-sitemap .clm-contact {
  display: block;
}
.p-sitemap .clm-contact__head {
  display: block;
}
.p-sitemap .contact-top {
  display: flex;
  gap: 20px;
  width: fit-content;
  margin-right: 50px;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .contact-top {
    margin-right: 0;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 843px) {
  .p-sitemap .contact-top {
    display: block;
  }
}
.p-sitemap .contact-top li {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
}
@media screen and (max-width: 843px) {
  .p-sitemap .contact-top li {
    display: block;
    margin-bottom: 13px;
  }
}
.p-sitemap .contact-top li span,
.p-sitemap .contact-top li a {
  line-height: 1;
}
.p-sitemap .contact-top li span {
  margin-top: -5px;
  font-size: 16px;
  font-family: "BIZ UDPGothic", sans-serif;
  color: #515146;
}
@media screen and (max-width: 1430px) {
  .p-sitemap .contact-top li span {
    margin-top: 0;
    line-height: 1.5;
  }
}
@media screen and (max-width: 843px) {
  .p-sitemap .contact-top li span {
    display: block;
    margin-bottom: 10px;
  }
}
.p-sitemap .contact-top li a {
  font-size: 24px;
  font-family: "Poppins", sans-serif;
  color: #515146;
}
@media screen and (min-width: 641px) {
  .p-sitemap .contact-top li a {
    pointer-events: none;
  }
}
.p-sitemap .contact-sub {
  display: flex;
  font-family: "BIZ UDPGothic", sans-serif;
  width: fit-content;
  gap: 20px;
}
.p-sitemap .contact-sub li {
  width: fit-content;
}
.p-sitemap .contact-sub a {
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.p-sitemap .contact-sub a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5.88 9.8'%3E%3Cpath d='M5.66,4.29c.32.39.29.96-.07,1.31l-3.92,3.92c-.38.38-1,.38-1.39,0C.1,9.33,0,9.08,0,8.83V.99C0,.44.44,0,.98,0c.26,0,.51.1.7.29l3.92,3.92.07.07h0Z' style='fill: %23050707; isolation: isolate; opacity: .5;'/%3E%3C/svg%3E") no-repeat center center/contain;
}
.p-sitemap .contact-sub a span {
  flex: 1;
}
.p-sitemap .contact-sub a {
  font-size: 18px;
  font-weight: 600;
  color: #515146;
  transition: all 0.35s ease;
}
@media screen and (min-width: 1221px) {
  .p-sitemap .contact-sub a {
    background-image: linear-gradient(to bottom, transparent, #515146);
    background-repeat: no-repeat;
    background-position: left 16px bottom;
    background-size: 0% 2px;
    transition: background-color 0.25s ease-out;
  }
  .p-sitemap .contact-sub a:hover {
    background-size: calc(100% - 16px) 2px;
  }
}
.p-sitemap .contact-sub a::before {
  margin-top: 10px;
}
@media screen and (max-width: 480px) {
  .p-sitemap .contact-sub {
    flex-direction: column;
  }
}

.u-flex-row {
  display: flex;
  flex-direction: row;
}
.u-flex-row.-jc-spacebetween {
  justify-content: space-between;
}
.u-flex-row.-wrap {
  flex-wrap: wrap;
}

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

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

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

.u-border-none-top {
  border-top: none !important;
}
.u-border-none-bottom {
  border-bottom: none !important;
}

.l-header {
  display: flex;
  width: min(100%, 100vw);
  height: var(--header-height);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 14;
}
.l-header__inner {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 1524px;
  margin-inline: auto;
  padding-right: 144px;
}
@media (max-width: 1640px) {
  .l-header__inner {
    max-width: 92.9268292683vw;
  }
}
@media (max-width: 1400px) {
  .l-header__inner {
    padding-right: 10.2857142857vw;
  }
}
@media (max-width: 1340px) {
  .l-header__inner {
    padding-right: 100px;
  }
}
@media screen and (max-width: 1220px) {
  .l-header__inner {
    max-width: calc(100% - 80px);
  }
}
@media screen and (max-width: 480px) {
  .l-header__inner {
    max-width: calc(100% - 60px);
  }
}
.l-header__logo {
  display: inline-block;
  width: 250px;
  aspect-ratio: 250/52;
  position: relative;
}
.l-header__logo img {
  transition: 0.32s opacity;
  width: 100%;
  height: 100%;
}
.l-header__logo::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  transition: opacity 0.32s;
  opacity: 0;
  background: url(/assets/img/common/logo_dark.svg) no-repeat center;
  background-size: cover;
}
.l-header__logo {
  opacity: 1;
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete, opacity 0.5s;
}
.isFixed .l-header__logo {
  display: inline-block !important;
  opacity: 0.5 !important;
  pointer-events: auto !important;
}
.isFixed .l-header__logo img, .isFixed .l-header__logo::before {
  opacity: 1 !important;
}
@starting-style {
  .l-header__logo:not(.isFixed .l-header__logo) {
    opacity: 0;
  }
}
@media (max-width: 1220px) {
  .l-header__logo {
    width: max(20.9836065574vw, 213px);
  }
}
.l-header--dark .l-header__logo img {
  opacity: 0;
}
.l-header--dark .l-header__logo::before {
  opacity: 1;
}
.l-header .l-menuBtn {
  display: block;
  width: 86px;
  height: 32px;
  background: none;
  border: none;
  appearance: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100000;
  isolation: isolate;
  cursor: pointer;
}
@media screen and (max-width: 1220px) {
  .l-header .l-menuBtn {
    display: block;
  }
}
@media (max-width: 1220px) {
  .l-header .l-menuBtn {
    width: max(7.0491803279vw, 80px);
  }
}
@media screen and (max-width: 600px) {
  .l-header .l-menuBtn {
    width: 52px;
    height: 30px;
    right: 10px;
  }
}
.l-header .l-menuBtn--box, .l-header .l-menuBtn--box span {
  display: inline-block;
  transition: all 0.4s;
}
.l-header .l-menuBtn--box {
  width: 100%;
  height: 100%;
}
.l-header .l-menuBtn--box > span {
  width: 100%;
  height: 5px;
  position: absolute;
  left: 0;
  border-radius: 100vmax;
  transition: all 0.6s;
  transform-origin: center center;
  background-color: #fefefe;
}
body:has(.menu-overlay.active) .l-header .l-menuBtn--box > span {
  background-color: #fff;
  transition: none;
}

.l-header .l-menuBtn--box > span:nth-of-type(1) {
  top: 0;
}
.l-header .l-menuBtn--box > span:nth-of-type(2), .l-header .l-menuBtn--box > span:nth-of-type(4), .l-header .l-menuBtn--box > span:nth-of-type(5) {
  top: 50%;
  translate: 0 -50%;
}
@media screen and (max-width: 414px) {
  .l-header .l-menuBtn--box > span:nth-of-type(2), .l-header .l-menuBtn--box > span:nth-of-type(4), .l-header .l-menuBtn--box > span:nth-of-type(5) {
    top: 10px;
  }
}
.l-header .l-menuBtn--box > span:nth-of-type(2) {
  top: 50%;
  translate: 0 -50%;
  opacity: 1;
}
.l-header .l-menuBtn--box > span:nth-of-type(3) {
  bottom: 0;
}
.l-header .l-menuBtn--box > span:nth-of-type(4), .l-header .l-menuBtn--box > span:nth-of-type(5) {
  opacity: 0;
}
.isFixed .l-header .l-menuBtn--box span:nth-of-type(1), .isFixed .l-header .l-menuBtn--box span:nth-of-type(2), .isFixed .l-header .l-menuBtn--box span:nth-of-type(3) {
  opacity: 0;
}
.isFixed .l-header .l-menuBtn--box span:nth-of-type(4), .isFixed .l-header .l-menuBtn--box span:nth-of-type(5) {
  opacity: 1;
}
.isFixed .l-header .l-menuBtn--box span:nth-of-type(4) {
  rotate: -17.67deg;
}
.isFixed .l-header .l-menuBtn--box span:nth-of-type(5) {
  rotate: 17.67deg;
}
body:not(.isFixed) .l-header--dark .l-menuBtn--box > span {
  background-color: #121515;
}

.l-header__nav {
  margin-left: auto;
  height: 100%;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
}
.l-header__nav--invisible {
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 1220px) {
  .l-header__nav {
    width: 100vw;
    margin-left: 0;
    position: fixed;
    top: 150px;
    left: 0;
    isolation: isolate;
    opacity: 0;
    visibility: hidden;
  }
}
.l-header__nav ul {
  display: flex;
  column-gap: 32px;
  align-items: center;
  position: relative;
  opacity: 1;
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete, opacity 0.5s;
}
@media (max-width: 1400px) {
  .l-header__nav ul {
    column-gap: 2.2857142857vw;
  }
}
@media (max-width: 1340px) {
  .l-header__nav ul {
    column-gap: 16px;
  }
}
.isFixed .l-header__nav ul {
  display: none;
  opacity: 0;
}
@starting-style {
  .l-header__nav ul:not(.isFixed .l-header__nav ul) {
    opacity: 0;
  }
}
@media screen and (max-width: 1220px) {
  .l-header__nav ul {
    display: block;
  }
}
.l-header__nav ul li {
  position: relative;
  padding-block: 11px;
}
@media screen and (min-width: 1221px) {
  .isPC .l-header__nav ul li:hover .mega-menu {
    display: flex;
    visibility: visible;
    opacity: 1;
  }
  .isPC .l-header__nav ul li:hover::after {
    background-color: #fefefe;
  }
  :not(.isFixed) .l-header--dark .l-header__nav ul li:hover::after {
    background-color: #515146;
  }
  body:has(.menu-overlay.active) .l-header__nav ul li::after {
    transition: none;
  }
  body:has(.menu-overlay.active) .l-header__nav ul li.current::after {
    background-color: #fff;
  }
  body:has(.menu-overlay.active) .l-header__nav ul li:hover::after {
    transition: all 0.35s ease;
  }
  .l-header__nav ul li::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    transition: all 0.35s ease;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: transparent;
  }
  .l-header__nav ul li.current::after {
    background-color: #515146;
  }
  .menu-overlay.active .l-header__nav ul li.current::after {
    background-color: #515146;
  }
}
.l-header__nav ul li a {
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  z-index: 11;
  color: #fefefe;
}
@media screen and (max-width: 1220px) {
  .l-header__nav ul li a {
    flex: 1 0 0;
    justify-content: flex-start;
    padding: 10px 16px;
  }
}
:not(.isFixed) .l-header--dark .l-header__nav ul li a {
  color: #515146;
}

.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 13;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.menu-overlay.active {
  opacity: 1;
}

.isFixed .l-overlay-menu {
  display: block;
  opacity: 1;
}
.isFixed .l-header {
  pointer-events: none;
}
.isFixed .l-header .l-menuBtn {
  pointer-events: auto;
}

.l-overlay-menu {
  --menu-inline: 52px;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu {
    --menu-inline: 62px;
  }
}
@media screen and (max-width: 1025px) {
  .l-overlay-menu {
    --menu-inline: 42px;
  }
}
@media screen and (max-width: 480px) {
  .l-overlay-menu {
    --menu-inline: 37px;
  }
}
.l-overlay-menu {
  opacity: 0;
  position: fixed;
  z-index: 3;
  z-index: 13;
  isolation: isolate;
  transition: opacity 0.5s;
  pointer-events: none;
  visibility: hidden;
}
.isFixed .l-overlay-menu {
  display: block;
  opacity: 1;
  width: 100vw;
  height: 100vh;
  position: fixed;
  inset: 0;
  pointer-events: all;
  visibility: visible;
}
@starting-style {
  .l-overlay-menu:not(.isFixed .l-overlay-menu) {
    opacity: 0;
  }
}
.l-overlay-menu__bg {
  width: 100vw;
  height: 100vh;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
}
.l-overlay-menu__container {
  width: 100%;
  max-width: 1620px;
  height: calc(100dvh - var(--menu-inline));
  padding-bottom: var(--menu-inline);
  padding-inline: 48px;
  margin-top: var(--menu-inline);
  margin-inline: auto;
  position: relative;
  z-index: 1;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}
.l-overlay-menu__container::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 1025px) {
  .l-overlay-menu__container {
    padding-bottom: calc(var(--menu-inline) + 150px);
  }
}
@media screen and (max-width: 480px) {
  .l-overlay-menu__container {
    max-width: 360px;
    padding-inline: 0;
    padding-bottom: calc(var(--menu-inline) + 20px);
  }
}
.l-overlay-menu__content {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu__content {
    max-width: 748px;
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 480px) {
  .l-overlay-menu__content {
    max-width: 360px;
  }
}
@media screen and (max-width: 393px) {
  .l-overlay-menu__content {
    width: calc(100% - 8px);
    max-width: inherit;
  }
}
.l-overlay-menu__content a {
  color: #fff;
}
.l-overlay-menu__head {
  display: block;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.l-overlay-menu__head::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 6px;
  aspect-ratio: 6/10;
  margin-top: 16px;
  margin-right: 3px;
  background: url(../img/common/l-overlay-menu__head.svg) no-repeat center center/contain;
}
.l-overlay-menu__head span {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .l-overlay-menu__head {
    font-size: 20px;
  }
  .l-overlay-menu__head:before {
    margin-top: 12px;
  }
}
@media screen and (min-width: 1221px) {
  .l-overlay-menu__head {
    position: relative;
  }
  .l-overlay-menu__head::after {
    content: "";
    display: block;
    width: calc(100% - 6px);
    height: 3px;
    border-radius: 2px;
    position: absolute;
    left: 6px;
    bottom: 0;
    background: linear-gradient(to right, currentColor 0%, currentColor 50%, transparent 50%) no-repeat;
    background-size: 200% 2px;
    background-position: 101% bottom;
    transition: 0.32s background-position, 0.32s color;
  }
  .l-overlay-menu__head:hover::after {
    background-position: 0% bottom;
  }
}
.l-overlay-menu__box {
  padding: 12px 20px;
  border-radius: 5px;
  font-family: "BIZ UDPGothic", sans-serif;
  background-color: rgba(255, 255, 255, 0.05);
}
.l-overlay-menu__box + .l-overlay-menu__box {
  margin-top: 10px;
}
@media screen and (max-width: 500px) {
  .l-overlay-menu__head + .l-overlay-menu__box {
    margin-top: 15px;
  }
}
.l-overlay-menu__list {
  margin-block: 16px;
}
.l-overlay-menu__list li + li {
  margin-top: 12px;
}
.l-overlay-menu__list a {
  font-size: 18px;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.l-overlay-menu__list a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url(../img/common/l-overlay-menu__head.svg) no-repeat center center/contain;
}
.l-overlay-menu__list a span {
  flex: 1;
}
.l-overlay-menu__list a {
  margin-top: -3px;
  transition: all 0.35s ease;
  display: inline-block;
  padding-left: 17px;
  position: relative;
}
.l-overlay-menu__list a::before {
  margin-top: 3px;
  margin-right: 0;
  position: absolute;
  top: 0.5em;
  left: 0;
}
@media screen and (min-width: 1221px) {
  .l-overlay-menu__list a span {
    padding-bottom: 5px;
    background-image: linear-gradient(to bottom, transparent, #fff);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0% 3px;
    transition: background 0.25s ease-out;
  }
  .l-overlay-menu__list a:hover span {
    background-size: 100% 3px;
  }
}
.l-overlay-menu__list a[target=_blank] {
  padding-right: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_13%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2013%22%20transform%3D%22translate(-1618%20-891)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1%22%20data-name%3D%22%E3%83%91%E3%82%B9%201%22%20d%3D%22M64%2C160h6v2H66v9h9v-4h2v6H64Z%22%20transform%3D%22translate(1554%20734)%22%20fill%3D%22%23f7f7f5%22%20opacity%3D%220.4%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M246.116%2C64h7v7h-2V67.416l-6.294%2C6.294-.706.706L242.7%2C73l.706-.706L249.7%2C66h-3.584Z%22%20transform%3D%22translate(1380.884%20827)%22%20fill%3D%22%23f7f7f5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
}
.l-overlay-menu__list a span {
  font-weight: 700;
  line-height: 1.4444444444;
}
.l-overlay-menu {
  --overlay-menu-gap:28px;
}
.l-overlay-menu .clm {
  display: flex;
  gap: 50px var(--overlay-menu-gap);
  width: 100%;
  margin-top: 10px;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .clm {
    gap: 60px 26px;
    flex-wrap: wrap;
    display: grid;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}
@media screen and (max-width: 500px) {
  .l-overlay-menu .clm {
    row-gap: 35px;
    grid-template-columns: inherit;
    margin-top: 0;
  }
}
.l-overlay-menu .clm-cont {
  flex: 1;
}
.l-overlay-menu .sub-title {
  font-size: 12px;
  line-height: 1.1666666667;
  text-align: center;
  color: #C9CBBE;
  margin-top: -4px;
  margin-bottom: -0.625rem;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .sub-title {
    margin-top: 0;
  }
}
.l-overlay-menu .clm-contact {
  width: 100%;
  margin-top: 3.90625vw;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .clm-contact {
    margin-top: 36px;
  }
}
@media screen and (max-width: 500px) {
  .l-overlay-menu .clm-contact {
    margin-top: 25px;
  }
}
.l-overlay-menu .clm-contact_head {
  display: block;
}
.l-overlay-menu .contact-btn {
  display: flex;
  gap: 50px var(--overlay-menu-gap);
  margin-top: 8px;
  margin-bottom: 25px;
  width: calc(75% - var(--overlay-menu-gap) / 4);
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .contact-btn {
    display: grid;
    gap: 26px;
    margin-inline: auto;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    margin-bottom: 33px;
  }
}
@media screen and (max-width: 843px) {
  .l-overlay-menu .contact-btn {
    gap: 14px;
    grid-template-columns: inherit;
  }
}
.l-overlay-menu .contact-btn li {
  flex: 1;
}
.l-overlay-menu .contact-btn li:nth-of-type(1) a {
  background-color: rgba(128, 179, 68, 0.5);
}
.l-overlay-menu .contact-btn li:nth-of-type(2) a {
  background-color: rgba(94, 161, 174, 0.5);
}
.l-overlay-menu .contact-btn li:nth-of-type(3) a {
  background-color: rgba(81, 81, 70, 0.5);
}
.l-overlay-menu .contact-btn li:nth-of-type(1) a:hover {
  background-color: #80B344;
}
.l-overlay-menu .contact-btn li:nth-of-type(2) a:hover {
  background-color: #5EA1AE;
}
.l-overlay-menu .contact-btn li:nth-of-type(3) a:hover {
  background-color: #515146;
}
.l-overlay-menu .contact-btn a {
  padding: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #fefefe;
  border-radius: 8px;
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.l-overlay-menu .contact-btn a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url(../img/common/l-overlay-menu__head.svg) no-repeat center center/contain;
}
.l-overlay-menu .contact-btn a span {
  flex: 1;
}
.l-overlay-menu .contact-btn a {
  width: 100%;
  transition: 0.32s background-color;
}
@media screen and (max-width: 1024px) {
  .l-overlay-menu .contact-btn a {
    font-size: 18px;
  }
  .l-overlay-menu .contact-btn a:before {
    margin-top: 12px;
  }
}
.l-overlay-menu .contact-bottom {
  display: flex;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .contact-bottom {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 480px) {
  .l-overlay-menu .contact-bottom {
    display: contents;
  }
}
.l-overlay-menu .contact-phones {
  display: flex;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .contact-phones {
    width: 100%;
  }
}
@media screen and (max-width: 843px) {
  .l-overlay-menu .contact-phones {
    display: block;
    width: 100%;
    order: -1;
  }
}
@media screen and (max-width: 480px) {
  .l-overlay-menu .contact-phones {
    order: -1;
    margin-bottom: 20px;
  }
}
.l-overlay-menu .clm-contact {
  display: block;
}
.l-overlay-menu .clm-contact__head {
  display: block;
}
.l-overlay-menu .contact-top {
  display: flex;
  gap: 20px;
  width: fit-content;
  margin-right: 50px;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .contact-top {
    margin-right: 0;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 843px) {
  .l-overlay-menu .contact-top {
    display: block;
  }
}
.l-overlay-menu .contact-top li {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
}
@media screen and (max-width: 843px) {
  .l-overlay-menu .contact-top li {
    display: block;
    margin-bottom: 13px;
  }
}
.l-overlay-menu .contact-top li span,
.l-overlay-menu .contact-top li a {
  line-height: 1;
}
.l-overlay-menu .contact-top li span {
  margin-top: -5px;
  font-size: 16px;
  font-family: "BIZ UDPGothic", sans-serif;
  opacity: 0.5;
  color: #fefefe;
}
@media screen and (max-width: 1430px) {
  .l-overlay-menu .contact-top li span {
    margin-top: 0;
    line-height: 1.5;
  }
}
@media screen and (max-width: 843px) {
  .l-overlay-menu .contact-top li span {
    display: block;
    margin-bottom: 10px;
  }
}
.l-overlay-menu .contact-top li a {
  font-size: 24px;
  font-family: "Poppins", sans-serif;
}
@media screen and (min-width: 641px) {
  .l-overlay-menu .contact-top li a {
    pointer-events: none;
  }
}
.l-overlay-menu .contact-sub {
  display: flex;
  font-family: "BIZ UDPGothic", sans-serif;
  width: fit-content;
  gap: 20px;
}
.l-overlay-menu .contact-sub li {
  width: fit-content;
}
.l-overlay-menu .contact-sub a {
  display: flex;
  align-items: flex-start;
  width: fit-content;
}
.l-overlay-menu .contact-sub a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  aspect-ratio: 6/10;
  margin-top: 12px;
  margin-right: 13px;
  background: url(../img/common/l-overlay-menu__head.svg) no-repeat center center/contain;
}
.l-overlay-menu .contact-sub a span {
  flex: 1;
}
.l-overlay-menu .contact-sub a {
  font-size: 18px;
  transition: all 0.35s ease;
}
@media screen and (min-width: 1221px) {
  .l-overlay-menu .contact-sub a {
    background-image: linear-gradient(to bottom, transparent, #fff);
    background-repeat: no-repeat;
    background-position: left 16px bottom;
    background-size: 0% 3px;
    transition: background 0.25s ease-out;
  }
  .l-overlay-menu .contact-sub a:hover {
    background-size: calc(100% - 16px) 3px;
  }
}
.l-overlay-menu .contact-sub a::before {
  margin-top: 10px;
}

.l-footer {
  padding-top: calc(245 / 1920 * 100vw);
  padding-bottom: calc(45 / 1920 * 100vw);
  margin-top: -3.125vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 480px) {
  .l-footer {
    padding-top: calc(63 / 393 * 100vw);
  }
}
.l-footer *,
.l-footer a {
  color: #fefefe;
}
.l-footer::before, .l-footer::after {
  content: "";
  display: block;
  width: 100%;
  height: 104%;
  position: absolute;
  left: 0;
  bottom: 0;
}
.l-footer::before {
  background: url(../img/common/bg_footer.webp) no-repeat center bottom/cover;
  z-index: -1;
}
.l-footer::after {
  background-color: rgba(5, 7, 7, 0.5);
  z-index: 0;
}
.l-footer .l-container {
  position: relative;
  z-index: 1;
}
.l-footer-01 {
  display: flex;
  gap: var(--clm-gap);
  margin-top: auto;
}
@media screen and (max-width: 834px) {
  .l-footer-01 {
    display: block;
    width: 100%;
  }
}
.l-footer-01 .footer__head {
  width: var(--clm-wdh);
  font-size: clamp(2rem, 32px + (90 - 32) * (100vw - 414px) / (1920 - 414), 5.625rem);
  font-family: "Poppins", sans-serif;
  line-height: 1;
  color: #f7f7f5;
}
@media screen and (max-width: 1025px) {
  .l-footer-01 .footer__head {
    width: auto;
    margin-right: calc(25 / 1920 * 100vw);
  }
}
.l-footer-01 dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex: 1;
  gap: 23px 34px;
  width: calc((100% - 120px) / 3 * 2);
}
@media screen and (max-width: 834px) {
  .l-footer-01 dl {
    margin-top: 14px;
  }
}
@media screen and (max-width: 480px) {
  .l-footer-01 dl {
    width: 100%;
  }
}
.l-footer-01 dl div {
  padding-left: 24px;
  border-left: 1px solid #fefefe;
}
@media screen and (max-width: 480px) {
  .l-footer-01 dl div {
    width: 100%;
    padding-left: 20px;
  }
}
.l-footer-01 dl dt,
.l-footer-01 dl dd {
  line-height: 1;
}
.l-footer-01 dl dd {
  margin-top: 0.875rem;
  font-size: 24px;
  font-family: "Poppins", sans-serif;
}
.l-footer-02 {
  display: flex;
  justify-content: space-between;
  gap: var(--clm-gap) var(--clm-gap-r);
  flex-wrap: wrap;
  margin-top: calc(45 / 1920 * 100vw);
}
@media screen and (max-width: 480px) {
  .l-footer-02 {
    row-gap: 1em;
    max-width: calc(323 / 393 * 100vw);
    margin: calc(26 / 393 * 100vw) auto;
  }
}
.l-footer-02 li {
  width: var(--clm-wdh);
  border-radius: 8px;
  background-color: #f7f7f5;
  transition: all 0.3s ease;
}
.l-footer-02 li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem 1rem;
  font-size: clamp(1.125rem, 18px + (24 - 18) * (100vw - 414px) / (1920 - 414), 1.5rem);
  font-weight: 700;
  line-height: 1.6666666667;
  color: #050707;
}
@media screen and (max-width: 480px) {
  .l-footer-02 li a {
    padding: 0.75rem;
  }
}
@media (any-hover: hover) {
  .l-footer-02 li:has(a:hover) {
    border-color: #d0d0d0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transform: translateY(-1px);
  }
}
.l-footer-03 {
  display: block;
  padding-left: 24px;
  margin-top: 45px;
  border-left: 1px solid #fefefe;
}
.l-footer-03 li {
  font-size: clamp(1rem, 16px + (18 - 16) * (100vw - 414px) / (1920 - 414), 1.125rem);
  line-height: 1;
}
.l-footer-03 li:first-child {
  margin-top: var(--leading-trim);
}
.l-footer-03 li:last-of-type {
  margin-bottom: var(--leading-trim);
}
.l-footer-03 li + li {
  margin-top: 1.375rem;
}
@media screen and (max-width: 480px) {
  .l-footer-03 li + li {
    margin-top: 0.5rem;
  }
}
.l-footer .copyright {
  display: block;
  margin-top: calc(365 / 1920 * 100vw);
  font-size: clamp(0.75rem, 12px + (13 - 12) * (100vw - 414px) / (1920 - 414), 0.8125rem);
  font-family: "Poppins", sans-serif;
}
@media screen and (max-width: 480px) {
  .l-footer .copyright {
    margin-top: calc(160 / 393 * 100vw);
  }
}

.pagetop {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 8px;
  border: 1px solid rgba(254, 254, 254, 0.5);
  position: fixed;
  right: 20px;
  bottom: 57px;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.pagetop--visible {
  pointer-events: auto;
  opacity: 1;
}
.pagetop img {
  width: 18px;
  height: auto;
  aspect-ratio: 18/24;
}
@media screen and (max-width: 834px) {
  .pagetop {
    display: none;
  }
}

img[src*=".svg"] {
  width: 100%;
  height: auto;
}

.p-lower .l-main {
  padding-top: 5.7291666667vw;
  padding-bottom: clamp(85px, 300 / 1920 * 100vw, 300px);
  margin-top: var(--header-height);
  margin-bottom: -3.125vw;
  border-radius: 0 0 clamp(30px, calc(30px + 30 * ((100vw - 414px) / 501)), 60px) clamp(30px, calc(30px + 30 * ((100vw - 414px) / 501)), 60px);
  position: relative;
  overflow: hidden;
  background-color: #f7f7f5;
  background-image: linear-gradient(to bottom, transparent, #f7f7f5);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 24.7916666667vw;
  z-index: 1;
}
.p-lower__index .l-main {
  padding-bottom: 10.4166666667vw;
  background-size: 100% 10.4166666667vw;
}

.l-container {
  width: 1524px;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1664px) {
  .l-container {
    width: 100%;
    padding-inline: calc(1.25vw + 50px);
  }
}
@media screen and (max-width: 1430px) {
  .l-container {
    padding-inline: 50px;
  }
}
@media screen and (max-width: 1025px) {
  .l-container {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 480px) {
  .l-container {
    padding-inline: 15px;
  }
}

.l-container--narrow {
  width: 1280px;
  padding-inline: max(15px, (100vw - 1280px) / 2);
  margin-inline: auto;
}

.l-contents {
  flex: 1;
}
@media screen and (max-width: 1025px) {
  .l-contents {
    flex: none;
    width: 100%;
  }
}
.l-contents.--no-side {
  margin-left: calc(var(--clm-gap) + var(--clm-wdh));
}
@media screen and (max-width: 1025px) {
  .l-contents.--no-side {
    margin-left: 0;
  }
}

.l-side {
  width: var(--clm-wdh);
}
@media screen and (max-width: 1025px) {
  .l-side {
    width: 100%;
  }
}

/* ========================================================
   Video Loader & Video Styles （修正版）
======================================================== */
.p-lower__index-mv.js-video-wrapper {
  position: relative;
  /* 読み込み前に枠の高さが潰れて中央位置がズレるのを防ぐ */
  aspect-ratio: 1526/500;
  border-radius: 15px;
  overflow: hidden;
  /* 一部ブラウザで動画が角丸(overflow: hidden)を無視してはみ出すバグの対策 */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* 動画本体 */
.p-lower__index-mv .bg-video {
  width: 100%;
  height: 100%; /* autoから100%に変更し枠にピタリと合わせる */
  display: block;
  opacity: 0;
  transition: opacity 0.8s ease;
  object-fit: cover;
  /* 念のため動画自体にも角丸を指定 */
  border-radius: 15px;
}

.p-lower__index-mv .bg-video.is-loaded {
  opacity: 1;
}

/* ローディング画面 */
.c-video-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f7f7f5;
  z-index: 2;
  /* 【ここが消え方の指定箇所】 0.6s の部分で消える速度を調整できます */
  transition: opacity 0.6s ease;
  border-radius: 15px;
}

.c-video-loader.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* ローディングのテキスト */
.c-video-loader__text {
  font-size: clamp(1.25rem, 20px + 10 * (100vw - 414px) / 1506, 1.875rem);
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #515146;
  letter-spacing: 0.05em;
}

/* ========================================================
   Sphere Animation - Embedded Style (最新調整版)
======================================================== */
#app-sphere-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1526/500;
  background: #F7F7F5;
  font-family: "Montserrat", sans-serif;
  overflow: hidden;
  border-radius: 15px;
  margin-bottom: clamp(35px, 35px + 50 * (100vw - 414px) / 501, 90px);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

#app-sphere-container .hero {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}

#app-sphere-container h1,
#app-sphere-container h2 {
  margin: 0;
  padding: 0;
  color: black;
  text-transform: uppercase;
  text-shadow: 0 0 20px rgb(255, 255, 255);
  line-height: 1;
  user-select: none;
  text-align: center;
}

#app-sphere-container h1 {
  /* サイズを1.3倍の「43px」に拡大 */
  font-size: clamp(1.3rem, 2.15cqw, 43px);
  font-weight: 700;
  margin-bottom: 8px;
}

#app-sphere-container h2 {
  /* サイズを1.3倍の「34px」に拡大 */
  font-size: clamp(1.1rem, 1.7cqw, 34px);
  font-weight: 500;
}

#app-sphere-container #webgl-canvas {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
  display: block;
}

/* --------------------------------------------------
   .make__link のテキスト下線アニメーション
   （GSAP等による固定エリア内でのレンダリングバグ対策版）
-------------------------------------------------- */
.p-front .make__link a span {
  position: relative;
  /* テキストと下線の隙間。必要に応じて数値を調整してください */
  padding-bottom: 4px;
}

/* 下線の初期状態 */
.p-front .make__link a span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px; /* 下線の太さ */
  background-color: currentColor; /* テキストと同じ色（白）になります */
  /* 線を縮小して見えなくしておく。起点を「右」に設定 */
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.32s ease;
}

/* マウスオーバー（ホバー）時のアニメーション */
@media (any-hover: hover) {
  .p-front .make__link a:hover span::after {
    /* 線を100%まで広げる。起点を「左」にすることで、左から右へ伸びる */
    transform: scaleX(1);
    transform-origin: left center;
  }
}
/* スクロール時にナビゲーションが --invisible になるのを利用して、ロゴを半調にする */
.l-header:has(.l-header__nav--invisible) .l-header__logo {
  opacity: 0.1;
}

@media screen and (max-width: 600px) {
  .p-front .make__img {
    display: none;
  }
}

/* Google Mapの頭位置を横一列に揃えるためのスタイル */
.c-cards.--map-align .c-card {
  display: flex;
  flex-direction: column;
}

.c-cards.--map-align .c-card__box {
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* 親要素の高さに合わせてボックス全体を広げる */
}

.c-cards.--map-align .c-card__text {
  flex-grow: 1; /* 行数の違いによる余白をテキストエリアで吸収し、下のマップを底に押し下げる */
}
/* 「太陽工業グループのあゆみ」の画像位置を揃えるためのスタイル */
.c-cards.--history-align .c-card:not(.course--last) .c-card__head {
  /* タイトルが1行でも2行分の高さを確保し、下部の画像を横一列に揃える */
  /* line-height: 1.4（既存設定） × 2行 = 2.8em */
  min-height: 2.8em; 
  min-height: 2lh; /* 最新ブラウザ向けにより正確な高さを指定 */
}

/* スマホ表示（1カラム表示）時は高さ揃えが不要なため解除 */
@media screen and (max-width: 600px) {
  .c-cards.--history-align .c-card:not(.course--last) .c-card__head {
    min-height: auto;
  }
}
/* ヘッダー直下（パンくず上部）の余白をなくす調整 */
.p-lower .l-main {
  padding-top: 0; /* 元の 5.7291666667vw を打ち消す */
}

.c-breadcrumbs {
  margin-top: 0; /* 元の margin-block: 15px の上部分だけを打ち消す */
}
/* 1430px以下〜1024px以上の場合の調整（80%縮小 ＋ 右端密着 ＋ 右側の角丸なし） */
@media screen and (max-width: 1430px) and (min-width: 1024px) {
  .btnbox {
    /* 縦中央配置を維持しつつ、要素全体を80%に縮小 */
    transform: translateY(-50%) scale(0.8);
    /* 画面の右端を基準に縮小させる */
    transform-origin: right center;
    /* 画面右端にピッタリと張り付かせる */
    right: 0;
  }

  .btnbox a {
    /* 接地面側（右側）の角丸を0にし、画面外側の左上・左下のみ丸みを残す */
    border-radius: 8px 0 0 8px;
  }
}
/* 親要素の基準化 */
.p-lower__index-mv {
  position: relative;
  /* 既存のスタイルがあればそのまま残してください */
}

/* 2枚目の画像のスタイル */
.p-lower__index-mv .js-flash-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;      /* レスポンシブ対応 */
  height: 100%;
  object-fit: cover; /* アスペクト比を維持して枠に収める */
  opacity: 0;       /* 初期状態は非表示 */
  transition: opacity 0.15s ease-in-out; /* 一瞬で表示・非表示させるためのトランジション（0.15秒） */
  pointer-events: none; /* 画像へのクリック判定を無効化（重なりによる誤動作防止） */
  z-index: 2;
}

/* 表示用のクラスがついた時のスタイル */
.p-lower__index-mv .js-flash-img.is-active {
  opacity: 1;
}
/* PC表示（画面幅835px以上）かつ画面の高さが800px未満の場合の調整 */
@media screen and (min-width: 835px) and (max-height: 799px) {
  /* 1. 親要素の固定余白（padding-top: 270px）をリセット */
  .p-front .make__item--00 {
    padding-top: 0;
  }

  /* 2. コンテナをFlexbox化し、中身を縦中央揃えにする */
  .p-front .make__item--00 .l-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%; /* コンテナの高さを親要素（画面）一杯に広げる */
  }

  /* 3. キャッチコピー上部のマージンを消して完全な中央に */
  .p-front .make__item--00 .hero__content {
    margin-top: 0;
  }
}
/* ページトップボタンを .btnbox が下部に移動するタイミング（1023px以下）で非表示にする */
@media screen and (max-width: 1023px) {
  .pagetop {
    display: none !important;
  }
}