@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

input, select, textarea {
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

/* =====================
  base
===================== */
* {
  box-sizing: border-box;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.6rem, 1vw);
  color: #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  body {
    font-size: 1.2rem;
  }
}
body.is-menu {
  position: relative;
  overflow: hidden;
}

.wrapper {
  overflow: clip;
}
.wrapper__sub {
  padding-top: min(8.2rem, 5.125vw);
}
@media screen and (max-width: 768.9px) {
  .wrapper__sub {
    padding-top: 5.4rem;
  }
}

img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
}

svg {
  max-width: 100%;
  height: auto;
}

a {
  color: #2F2F2F;
  text-decoration: none;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 768.9px) {
  .pc {
    display: none !important;
  }
}

[id] {
  scroll-margin-top: min(8.2rem, 5.125vw);
}
@media screen and (max-width: 768.9px) {
  [id] {
    scroll-margin-top: 5.4rem;
  }
}

/* 文字を囲むラッパー（1文字ずつ隠すため） */
.char-wrapper {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

/* 1文字ずつのスタイル */
.char {
  display: inline-block;
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s;
  transform: translateY(105%); /* 完全に隠れるよう少し多めに */
}

/* 発火時の状態 */
.is-animated .char {
  opacity: 1;
  transform: translateY(0);
}

.l-footer {
  position: relative;
  color: #fff;
  background: #2F2F2F;
}
.l-footer__top {
  padding: min(5.4rem, 3.375vw) 0 min(2rem, 1.25vw);
}
@media screen and (max-width: 768.9px) {
  .l-footer__top {
    padding: 3.4rem 0 4.37rem;
  }
  .l-footer__top .l-section__inner--side {
    max-width: 100%;
  }
}
.l-footer__top__inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  .l-footer__top__inner {
    display: flex;
    gap: min(7.8rem, 4.875vw);
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__contact-area {
    width: min(35rem, 21.875vw);
  }
}
@media screen and (max-width: 768.9px) {
  .l-footer__contact-area__logo {
    display: block;
    width: 21.3rem;
  }
}
.l-footer__info {
  margin-top: min(3.9rem, 2.4375vw);
}
@media screen and (max-width: 768.9px) {
  .l-footer__info {
    margin-top: 3rem;
  }
}
.l-footer__info__company-name {
  font-size: min(1.8rem, 1.125vw);
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .l-footer__info__company-name {
    font-size: 1.6rem;
  }
}
.l-footer__info__text {
  line-height: 2.0625;
}
@media screen and (max-width: 768.9px) {
  .l-footer__info__text {
    line-height: 2;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__info__text {
    font-size: min(1.6rem, 1vw);
  }
}
.l-footer__info__company-name + .l-footer__info__text {
  margin-top: 1em;
}
.l-footer__banner {
  margin-top: min(5.8rem, 3.625vw);
}
@media screen and (max-width: 768.9px) {
  .l-footer__banner {
    margin-top: 3.1rem;
  }
}
.l-footer__contents {
  flex: 1;
}
@media screen and (max-width: 768.9px) {
  .l-footer__contents {
    margin-top: 3.3rem;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__nav {
    display: flex;
    gap: min(9rem, 5.625vw);
  }
}
@media screen and (max-width: 768.9px) {
  .l-footer__nav__item {
    border-bottom: 0.1rem solid #959595;
  }
  .l-footer__nav__item:nth-of-type(-n + 2) {
    border-top: 0.1rem solid #959595;
  }
  .l-footer__nav__item:nth-of-type(odd) {
    border-right: 0.1rem solid #959595;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__nav__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-footer__nav__item__link {
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 768.9px) {
  .l-footer__nav__item__link {
    display: flex;
    align-items: center;
    height: 7.1rem;
    padding: 0 3rem;
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__nav__item__link {
    font-size: min(1.8rem, 1.125vw);
    transition: color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .l-footer__nav__item__link:hover {
    color: rgb(196.1538461538, 196.1538461538, 196.1538461538);
  }
  .l-footer__nav__item__link:not(:first-of-type) {
    margin-top: 2em;
  }
}
.l-footer__nav__sub-list {
  margin-top: min(3.2rem, 2vw);
}
.l-footer__nav__sub-list__item:not(:first-of-type) {
  margin-top: 1.5em;
}
.l-footer__nav__sub-list__item__link {
  font-weight: 300;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .l-footer__nav__sub-list__item__link {
    transition: color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .l-footer__nav__sub-list__item__link:hover {
    color: rgb(196.1538461538, 196.1538461538, 196.1538461538);
  }
}
.l-footer__bottom__inner {
  padding: min(2.9rem, 1.8125vw) 0;
}
@media screen and (max-width: 768.9px) {
  .l-footer__bottom__inner {
    position: relative;
    padding: 2.2rem 0 0;
  }
  .l-footer__bottom__inner::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 5.9rem;
    height: 0.1rem;
    margin: auto;
    content: "";
    background: #fff;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__bottom__inner {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__bottom__nav {
    padding-left: min(3.2rem, 2vw);
    border-left: 0.1rem solid #FFF;
  }
}
.l-footer__bottom__nav__ul {
  display: flex;
  gap: 1.8em;
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .l-footer__bottom__nav__ul {
    gap: 3.3em;
    justify-content: center;
  }
}
.l-footer__bottom__nav__link {
  color: #fff;
}
@media screen and (min-width: 769px) {
  .l-footer__bottom__nav__link {
    font-size: min(1.4rem, 0.875vw);
  }
  .l-footer__bottom__nav__link:hover {
    text-decoration: underline;
  }
}
.l-footer__bottom__sns__ul {
  display: flex;
  gap: 1em;
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .l-footer__bottom__sns__ul {
    gap: 2.4rem;
    justify-content: center;
    margin-top: 4.3rem;
  }
}
.l-footer__bottom__sns__item img {
  height: min(2.7rem, 1.6875vw);
}
@media screen and (max-width: 768.9px) {
  .l-footer__bottom__sns__item img {
    height: 2.6rem;
  }
}
.l-footer__page-top {
  position: absolute;
  right: min(6.7rem, 4.1875vw);
  bottom: min(3rem, 1.875vw);
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(5.4rem, 3.375vw);
  height: min(5.6rem, 3.5vw);
  cursor: pointer;
  border: 0.1rem solid #FFF;
}
@media screen and (min-width: 769px) {
  .l-footer__page-top {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .l-footer__page-top:hover {
    background: #fff;
  }
  .l-footer__page-top:hover svg path {
    fill: #2F2F2F;
  }
}
.l-footer__page-top svg {
  width: min(3.2rem, 2vw);
  height: min(1.6rem, 1vw);
  transform: rotate(-90deg);
}
@media screen and (min-width: 769px) {
  .l-footer__page-top svg path {
    transition: fill 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.l-footer__copyright {
  font-size: min(1.4rem, 0.875vw);
  font-weight: 500;
  line-height: 2.7142857143;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .l-footer__copyright {
    width: calc(100% - 3.8rem);
    padding: 2.8rem 0 2.1rem;
    margin: 0 auto;
    font-size: 1.1rem;
  }
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
}
.l-header__main {
  position: relative;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: min(10.8rem, 6.75vw);
  padding: 0 0 0 min(6.6rem, 4.125vw);
}
@media screen and (max-width: 768.9px) {
  .l-header__main {
    height: 4.9rem;
    padding: 0 0 0 0.9rem;
  }
}
.l-header__sub {
  padding: min(1.6rem, 1vw) min(13.6rem, 8.5vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .l-header__sub {
    padding: 0.5rem 1.8rem;
  }
}
.l-header__sub__nav {
  display: flex;
  gap: 0 min(4.2rem, 2.625vw);
  justify-content: flex-end;
}
@media screen and (min-width: 769px) {
  .l-header__sub__nav__item__link:hover {
    text-decoration: underline;
  }
}
.l-header__logo__link {
  display: block;
  width: min(25.8rem, 16.125vw);
}
@media screen and (max-width: 768.9px) {
  .l-header__logo__link {
    width: 10.2rem;
  }
}
@media screen and (max-width: 768.9px) {
  .l-header__contents {
    width: 24.1rem;
  }
}
@media screen and (min-width: 769px) {
  .l-header__contents {
    display: flex;
    justify-content: flex-end;
    height: 100%;
  }
}
@media screen and (max-width: 768.9px) {
  .l-header__contents__sp {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: min(5.4rem, 3.375vw);
    padding: 0 min(1.1rem, 0.6875vw);
  }
}
.l-header__bg {
  position: fixed;
  inset: 0;
  z-index: 9998;
  margin: auto;
  pointer-events: none;
  background: #646464;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
}
.is-menu .l-header__bg {
  pointer-events: auto;
  opacity: 1;
}
.l-header__nav {
  display: flex;
  gap: 0 min(3.8rem, 2.375vw);
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .l-header__nav {
    gap: 0 0.8rem;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__main {
    display: flex;
    gap: min(4rem, 2.5vw);
    align-items: center;
  }
}
.l-header__nav__main__item__link {
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .l-header__nav__main__item__link {
    display: block;
    padding: min(2rem, 1.25vw) min(3.2rem, 2vw);
    font-size: min(1.3rem, 0.8125vw);
    border-bottom: 0.1rem solid #959595;
  }
  .l-header__nav__main__item__link:first-of-type {
    border-top: 0.1rem solid #959595;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__main__item__link {
    position: relative;
    transition: color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .l-header__nav__main__item__link:hover {
    color: #3e71b7;
  }
  .l-header__nav__main__item__link:hover::after {
    right: auto;
    left: 0;
    width: 100%;
  }
  .l-header__nav__main__item__link::after {
    position: absolute;
    right: 0;
    bottom: -0.5em;
    display: block;
    width: 0;
    height: 0.2rem;
    content: "";
    background: #fff;
    transition: width 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.l-header__nav__btn {
  display: grid;
  grid-template-columns: 20.7fr 16fr 16fr;
  gap: min(0.9rem, 0.5625vw);
  width: min(54.5rem, 34.0625vw);
}
@media screen and (max-width: 768.9px) {
  .l-header__nav__btn {
    width: 19.7rem;
  }
}
.l-header__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(7.1rem, 4.4375vw);
  height: 100%;
  background: #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  .l-header__menu {
    width: 3.5rem;
    height: 4.9rem;
  }
}
.l-header__menu__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(3rem, 1.875vw);
  height: min(1.3rem, 0.8125vw);
}
@media screen and (max-width: 768.9px) {
  .l-header__menu__icon {
    width: 1.5rem;
    height: 0.66rem;
  }
}
.l-header__menu__icon::before, .l-header__menu__icon::after {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 0.2rem;
  content: "";
  background: #fff;
  transition: transform 0.3s cubic-bezier(0.5, 0, 0, 1);
}
.l-header__menu__icon::before {
  transform: translateY(-0.6rem);
}
.is-menu .l-header__menu__icon::before {
  transform: rotate(45deg);
}
.l-header__menu__icon::after {
  transform: translateY(0.6rem);
}
.is-menu .l-header__menu__icon::after {
  transform: rotate(-45deg);
}
.l-header__menu__icon__line {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 0.2rem;
  margin: auto;
  background: #fff;
  transition: width 0.3s cubic-bezier(0.5, 0, 0, 1);
}
.is-menu .l-header__menu__icon__line {
  width: 0;
}
.l-header__info-area {
  max-width: min(27.7rem, 17.3125vw);
  margin: min(1.7rem, 1.0625vw) auto 0;
}
.l-header__hambuger {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  min-width: 0;
  overflow: hidden;
  background: #2f2f2f;
  opacity: 0;
  transition: width 0.4s ease, height 0.4s ease, opacity 0.4s ease, min-width 0.4s ease;
  transition-delay: 0.4s;
  transform: translateY(99.9%);
}
.is-menu .l-header__hambuger {
  width: 100.1%;
  height: calc(100svh - 100%);
  opacity: 1;
  transition-delay: 0s;
}
@media screen and (min-width: 769px) {
  .is-menu .l-header__hambuger {
    height: calc((100svh - 100%) / 2);
  }
}
@media screen and (max-width: 768.9px) {
  .is-menu .l-header__hambuger {
    width: 30%;
    min-width: 24rem;
  }
}
.l-header__hambuger__inner {
  padding: min(5.2rem, 3.25vw);
}
@media screen and (max-width: 768.9px) {
  .l-header__hambuger__inner {
    padding: 2.8rem 2.4rem;
  }
}
.l-header__hambuger .l-footer__nav__sub-list__item {
  padding-left: 1em;
}
@media screen and (max-width: 768.9px) {
  .l-header__hambuger .l-footer__nav__sub-list__item {
    padding-left: 1.6rem;
  }
  .l-header__hambuger .l-footer__nav__item {
    border: none;
  }
  .l-header__hambuger .l-footer__nav__item + .l-footer__nav__item {
    margin-top: 0;
  }
  .l-header__hambuger .l-footer__nav__item__link {
    height: 5rem;
    padding: 0 3rem 0 0;
  }
  .l-header__hambuger .l-footer__nav__sub-list {
    margin-bottom: 2rem;
  }
  .l-header__hambuger .l-footer__bottom__sns {
    margin-top: 3.2rem;
  }
  .l-header__hambuger .l-footer__bottom__sns__item img {
    width: 2.6rem;
    height: 2.6rem;
    max-width: 2.6rem;
    object-fit: contain;
  }
}
.l-header__hambuger__bottom {
  margin-top: min(4rem, 2.5vw);
  padding-top: min(3rem, 1.875vw);
  border-top: 0.1rem solid #6b6b6b;
}
@media screen and (max-width: 768.9px) {
  .l-header__hambuger__bottom {
    margin-top: 3.2rem;
    padding-top: 2.4rem;
  }
}
.l-header__hambuger .l-footer__bottom__nav {
  padding-left: 0;
  border-left: none;
}
.l-header__hambuger .l-footer__bottom__nav__ul {
  justify-content: flex-start;
}
.l-header__hambuger .l-footer__bottom__sns__ul {
  justify-content: flex-start;
}
.l-header__hambuger__animation {
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform: translateY(10%);
}
.is-menu .l-header__hambuger__animation {
  opacity: 1;
  transition-delay: 0.4s;
  transform: translateY(0);
}

.l-section--grey {
  background: #F4F4F4;
}
.l-section__inner {
  width: 100%;
  max-width: 192rem;
  margin: 0 auto;
}
.l-section__inner--grid {
  display: grid;
  grid-template-columns: repeat(20, 1fr);
}
.l-section__inner--side {
  max-width: calc(100% - 4rem);
}
@media screen and (max-width: 768.9px) {
  .l-section__inner--side {
    max-width: calc(100% - 3.8rem);
  }
}
.l-section__inner--small {
  grid-column: 6/16;
}
@media screen and (max-width: 768.9px) {
  .l-section__inner--small {
    grid-column: 2/20;
  }
}
.l-section__inner--medium {
  grid-column: 4/18;
}
@media screen and (max-width: 768.9px) {
  .l-section__inner--medium {
    grid-column: 3/19;
  }
}
.l-section__inner--large {
  grid-column: 3/19;
}
@media screen and (max-width: 768.9px) {
  .l-section__inner--large {
    grid-column: 2/20;
  }
}
.l-section__inner--large--grid {
  display: grid;
  grid-template-columns: repeat(18, 1fr);
}
.l-section__inner--large--medium {
  grid-column: 2/18;
}
@media screen and (max-width: 768.9px) {
  .l-section__inner--large--sp {
    grid-column: 2/20 !important;
  }
}

.c-article * {
  font-size: min(1.8rem, 1.125vw);
  line-height: 1.8333333333;
}
@media screen and (max-width: 768.9px) {
  .c-article * {
    font-size: 1.3rem;
  }
}
.c-article > * + * {
  margin-top: 2em;
}
.c-article h2 {
  margin: 4rem 0 0;
  font-size: 1.5em;
  font-weight: 700;
}
.c-article h3 {
  font-size: 1.17em;
  font-weight: 700;
}
.c-article h4 {
  font-size: 1em;
  font-weight: 700;
}
.c-article h5 {
  font-size: 0.83em;
  font-weight: 700;
}
.c-article ul {
  padding-left: 1.5em;
  list-style: disc;
}
.c-article ol {
  padding-left: 1.5em;
  list-style: decimal;
}
.c-article strong {
  font-weight: 700;
}
.c-article em {
  font-style: italic;
}
.c-article a {
  color: #06c;
  text-decoration: underline;
}

.c-bread {
  padding: 0 0 min(1.5rem, 0.9375vw);
  font-size: min(1.4rem, 0.875vw);
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768.9px) {
  .c-bread {
    padding: 1.4rem 0 1rem;
    font-size: 1.1rem;
  }
}
.c-bread a {
  color: #1D4A9E;
}
.c-bread__sep {
  margin: 0 1em;
}

.c-btn__01 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(6.3rem, 3.9375vw);
  font-weight: 700;
  text-align: center;
  border: 0.3rem solid;
  border-radius: min(3.2rem, 2vw);
}
@media screen and (max-width: 768.9px) {
  .c-btn__01 {
    height: 3.4rem;
    font-size: 1rem;
    border-width: 0.14rem;
    border-radius: 1.9rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__01 {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1), color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__01--estimate {
  border-color: #3E71B7;
}
@media screen and (min-width: 769px) {
  .c-btn__01--estimate:hover {
    color: #fff;
    background: #3E71B7;
  }
}
.c-btn__01--contact {
  color: #fff;
  background: linear-gradient(270deg, rgb(77, 145, 237) 0%, rgb(25, 66, 121) 100%);
}
@media screen and (min-width: 769px) {
  .c-btn__01--contact {
    position: relative;
    overflow: hidden;
  }
  .c-btn__01--contact::after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(-270deg, rgb(77, 145, 237) 0%, rgb(25, 66, 121) 100%);
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-btn__01--contact:hover::after {
    opacity: 1;
  }
  .c-btn__01--contact .c-btn__01__inner {
    position: relative;
    z-index: 1;
  }
}
.c-btn__01--line {
  color: #fff;
  background: #03C755;
}
@media screen and (min-width: 769px) {
  .c-btn__01--line:hover {
    background: rgb(3.3787128713, 224.1212871287, 95.7301980198);
  }
}
@media screen and (max-width: 768.9px) {
  .c-btn__01__inner img {
    display: block;
    width: 2.6rem;
  }
}
.c-btn__02 {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: min(31.4rem, 19.625vw);
  height: min(7.3rem, 4.5625vw);
  padding: 0 min(5.8rem, 3.625vw);
  background: #fff;
  border: 0.1em solid #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  .c-btn__02 {
    width: 17.8rem;
    height: 5rem;
    padding: 0 2rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__02:hover::after {
    right: auto;
    left: 0;
    width: 100%;
  }
  .c-btn__02:hover .c-btn__02__text {
    color: #fff;
  }
  .c-btn__02:hover .c-btn__02__arrow svg path {
    fill: #fff;
  }
}
.c-btn__02::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: 0;
  margin: auto;
  content: "";
  background: #2F2F2F;
}
@media screen and (min-width: 769px) {
  .c-btn__02::after {
    transition: width 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__02__text {
  z-index: 1;
  font-size: min(2rem, 1.25vw);
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .c-btn__02__text {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__02__text {
    transition: color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__02__arrow {
  position: absolute;
  top: 0;
  right: min(2.1rem, 1.3125vw);
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  width: min(2.6rem, 1.625vw);
  height: min(1.1rem, 0.6875vw);
  margin: auto;
}
@media screen and (max-width: 768.9px) {
  .c-btn__02__arrow {
    right: 1.7rem;
    width: 1.5rem;
    height: 6.5rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__02__arrow svg path {
    transition: fill 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__03 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(7.7rem, 4.8125vw);
  font-weight: 700;
  text-align: center;
  border: 0.3rem solid;
  border-radius: min(3.9rem, 2.4375vw);
}
@media screen and (max-width: 768.9px) {
  .c-btn__03 {
    height: 3.4rem;
    font-size: 1rem;
    border-width: 0.14rem;
    border-radius: 1.9rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__03 {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1), color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__03--contact {
  color: #fff;
  background: linear-gradient(270deg, rgb(77, 145, 237) 0%, rgb(25, 66, 121) 100%);
}
@media screen and (min-width: 769px) {
  .c-btn__03--contact {
    position: relative;
    overflow: hidden;
  }
  .c-btn__03--contact::after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(-270deg, rgb(77, 145, 237) 0%, rgb(25, 66, 121) 100%);
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-btn__03--contact:hover::after {
    opacity: 1;
  }
  .c-btn__03--contact .c-btn__03__inner {
    position: relative;
    z-index: 1;
  }
}
.c-btn__03--line {
  color: #fff;
  background: #03C755;
}
@media screen and (min-width: 769px) {
  .c-btn__03--line:hover {
    background: rgb(3.3787128713, 224.1212871287, 95.7301980198);
  }
}
.c-btn__04 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(5.4rem, 34vw);
  height: min(5.6rem, 3.5vw);
  border: 0.1em solid #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  .c-btn__04 {
    width: 3.8rem;
    height: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__04:hover::after {
    right: auto;
    left: 0;
    width: 100%;
  }
  .c-btn__04:hover .c-btn__04__arrow svg path {
    fill: #fff;
  }
}
.c-btn__04::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: 0;
  margin: auto;
  content: "";
  background: #2F2F2F;
}
@media screen and (min-width: 769px) {
  .c-btn__04::after {
    transition: width 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}
.c-btn__04__arrow {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(2.6rem, 1.625vw);
  height: min(1.1rem, 0.6875vw);
}
@media screen and (max-width: 768.9px) {
  .c-btn__04__arrow {
    width: 1.8rem;
    height: 0.8rem;
  }
}
@media screen and (min-width: 769px) {
  .c-btn__04__arrow svg path {
    transition: fill 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
}

.c-contact-common {
  margin-top: min(30.6rem, 19.125vw);
  background: url("../images/common/bg__contact.jpg") top center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common {
    position: relative;
    margin-top: 11.8rem;
    background: #EAF3F8;
  }
  .c-contact-common::after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 32rem;
    margin: auto;
    content: "";
    background: url("../images/common/bg__contact__sp.jpg") top center no-repeat;
    background-size: auto 100%;
    -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
  }
  .c-contact-common .l-section__inner {
    position: relative;
    z-index: 1;
  }
  .c-contact-common .l-section__inner--medium {
    grid-column: 2/20;
  }
}
.c-contact-common .c-title__level03__01 {
  margin-top: max(-8.8rem, -5.5vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common .c-title__level03__01 {
    margin-top: -4.3rem;
  }
}
.c-contact-common__contents {
  padding-bottom: min(5rem, 3.125vw);
  margin-top: min(4.8rem, 3vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__contents {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    padding-bottom: 6.9rem;
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .c-contact-common__contents {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__contents__lead {
    grid-column: 2/18;
  }
}
.c-contact-common__contents__main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(1.6rem, 0.8888888889vw) min(1rem, 0.5555555556vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__contents__main {
    grid-template-columns: repeat(1, 1fr);
    grid-column: 1/19;
    gap: 1rem;
    margin-top: 4.4rem;
  }
}
@media screen and (min-width: 769px) {
  .c-contact-common__contents__main {
    width: min(94.2rem, 52.3333333333vw);
  }
}
.c-contact-common__item {
  padding: min(1.8rem, 1vw) min(3rem, 1.6666666667vw) min(2.6rem, 1.4444444444vw);
  background: #fff;
  border-radius: min(1.5rem, 0.8333333333vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item {
    padding: 1.3rem 5vw;
  }
}
@media screen and (min-width: 769px) {
  .c-contact-common__item--tell {
    grid-column: 1/3;
    padding: min(2rem, 1.1111111111vw) min(4.2rem, 2.3333333333vw) min(1.6rem, 0.8888888889vw);
  }
}
.c-contact-common__item--tell__number {
  margin-top: min(1.1rem, 0.6111111111vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item--tell__number {
    margin-top: 1.2rem;
  }
}
.c-contact-common__item--tell__number img {
  width: min(45.2rem, 25.1111111111vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item--tell__number img {
    width: 30.2rem;
  }
}
.c-contact-common__item--tell__hours {
  display: flex;
  gap: min(0.4rem, 0.2222222222vw);
  align-items: center;
  justify-content: center;
  width: min(32.6rem, 18.1111111111vw);
  height: min(4.6rem, 2.5555555556vw);
  margin: min(0.4rem, 0.2222222222vw) auto 0;
  background: #F0F0F0;
  border-radius: min(0.6rem, 0.3333333333vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item--tell__hours {
    gap: 0.5rem;
    width: 21.8rem;
    height: 2.5rem;
    margin-top: 1.3rem;
    border-radius: 0.3rem;
  }
}
.c-contact-common__item--tell__hours__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(8.9rem, 4.9444444444vw);
  height: min(3.5rem, 1.9444444444vw);
  font-size: min(1.8rem, 1vw);
  background: #fff;
  border-radius: min(1.8rem, 1vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item--tell__hours__title {
    width: 5.9rem;
    height: 1.8rem;
    font-size: 1.2rem;
    border-radius: 0.9rem;
  }
}
.c-contact-common__item--tell__hours__text {
  font-size: min(1.8rem, 1vw);
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item--tell__hours__text {
    font-size: 1.2rem;
  }
}
.c-contact-common__item__title {
  font-size: min(2.8rem, 1.5555555556vw);
  font-weight: 700;
  line-height: 1.5357142857;
  text-align: center;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item__title {
    font-size: 2rem;
  }
}
.c-contact-common__item__contents {
  padding-top: min(1.2rem, 0.6666666667vw);
  margin-top: min(1.4rem, 0.7777777778vw);
  border-top: 0.1rem solid #F0F0F0;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item__contents {
    padding-top: 1.2rem;
    margin-top: 1rem;
  }
}
.c-contact-common__item__text {
  font-size: min(1.8rem, 1.125vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item__text {
    font-size: 1.2rem;
  }
}
.c-contact-common__item__btn {
  margin-top: min(1.4rem, 0.7777777778vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item__btn {
    margin-top: 1.2rem;
  }
}
.c-contact-common__item__btn .c-btn__03 {
  max-width: 26rem;
}
@media screen and (max-width: 768.9px) {
  .c-contact-common__item__btn .c-btn__03 {
    height: 4.2rem;
    font-size: 1.2rem;
  }
}

.c-content__01 {
  display: grid;
  grid-template-columns: repeat(18, 1fr);
}
.c-content__01__item {
  display: grid;
  grid-template-columns: repeat(34, 1fr);
  grid-column: 2/19;
  padding: min(3.6rem, 2.25vw) 0;
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .c-content__01__item {
    grid-template-columns: repeat(18, 1fr);
    padding: 4.4rem 0 2.5rem;
  }
}
.c-content__01__item:not(:first-of-type) {
  margin-top: 5.3rem;
}
@media screen and (max-width: 768.9px) {
  .c-content__01__item:not(:first-of-type) {
    margin-top: 4.4rem;
  }
}
.c-content__01__item__inner {
  grid-column: 2/29;
}
@media screen and (max-width: 768.9px) {
  .c-content__01__item__inner {
    grid-column: 2/18;
  }
}
@media screen and (min-width: 769px) {
  .c-content__01__item__inner--02 {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 768.9px) {
  .c-content__01__img-area {
    aspect-ratio: 600/309;
    margin-top: 3.4rem;
  }
  .c-content__01__img-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (min-width: 769px) {
  .c-content__01__img-area {
    width: 47.7678571429%;
  }
}
.c-content__01__text-area {
  flex: 1;
}
.c-content__01__text {
  font-size: min(2.2rem, 1.375vw);
  line-height: 1.9545454545;
}
@media screen and (max-width: 768.9px) {
  .c-content__01__text {
    font-size: 1.4rem;
    line-height: 1.9285714286;
  }
}
.c-title__level04__01 + .c-content__01__text {
  margin-top: min(0.6rem, 0.375vw);
}
@media screen and (max-width: 768.9px) {
  .c-title__level04__01 + .c-content__01__text {
    margin-top: 1.5rem;
  }
}
.c-content__01__link {
  margin-top: min(3rem, 1.875vw);
}

.c-dl__01__item {
  display: flex;
  padding: min(3.8rem, 2.375vw) min(1.4rem, 0.875vw);
  border-bottom: 0.1rem solid #EBEBEB;
}
@media screen and (max-width: 768.9px) {
  .c-dl__01__item {
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.9rem 0.7rem;
  }
}
.c-dl__01__item:first-of-type {
  border-top: 0.1rem solid #EBEBEB;
}
.c-dl__01__dt {
  font-size: min(1.8rem, 1.125vw);
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .c-dl__01__dt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .c-dl__01__dt {
    width: min(17.8rem, 11.125vw);
  }
}
.c-dl__01__dd {
  font-size: min(1.8rem, 1.125vw);
  line-height: 1.8333333333;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .c-dl__01__dd {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  .c-dl__01__dd {
    flex: 1;
  }
}
.c-dl__01__dd__p:not(:first-of-type) {
  margin-top: 1em;
}
.c-dl__01__dd__dl {
  display: flex;
  gap: min(2rem, 1.25vw);
  justify-content: space-between;
}
@media screen and (max-width: 768.9px) {
  .c-dl__01__dd__dl {
    gap: 1.6rem;
  }
}
.c-dl__01__dd__dl__wrapper {
  display: inline-block;
}
.c-dl__01__dd__p + .c-dl__01__dd__dl__02 {
  margin-top: 1em;
}

.c-form__item:not(:first-of-type) {
  margin-top: min(3.6rem, 2.25vw);
}
@media screen and (max-width: 768.9px) {
  .c-form__item:not(:first-of-type) {
    margin-top: 2.4rem;
  }
}
.c-form__item .wpcf7-not-valid-tip {
  margin-top: 1em;
  font-weight: 700;
}
.c-form__label {
  font-size: min(1.8rem, 1.125vw);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768.9px) {
  .c-form__label {
    font-size: 1.4rem;
  }
}
.c-form__label--req::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(4.2rem, 2.625vw);
  height: min(2.1rem, 1.3125vw);
  margin-left: min(1.2rem, 0.75vw);
  font-size: min(1.4rem, 0.875vw);
  font-weight: 700;
  color: #fff;
  content: "必須";
  background: #CE4A54;
  border-radius: min(0.2rem, 0.125vw);
}
@media screen and (max-width: 768.9px) {
  .c-form__label--req::after {
    width: 3.8rem;
    height: 1.8rem;
    margin-left: 1rem;
    font-size: 1.2rem;
    border-radius: 0.2rem;
  }
}
.c-form__input-area {
  margin-top: min(1rem, 0.625vw);
  font-size: min(1.8rem, 1.125vw);
}
.c-form__input-area p {
  white-space: pre-line;
}
@media screen and (max-width: 768.9px) {
  .c-form__input-area {
    margin-top: 1rem;
    font-size: 1.3rem;
  }
}
.c-form__input-area .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: min(6.2rem, 3.875vw);
}
@media screen and (max-width: 768.9px) {
  .c-form__input-area .wpcf7-radio {
    gap: 4rem;
  }
}
.c-form__input-area input[type=text],
.c-form__input-area input[type=email],
.c-form__input-area input[type=tel],
.c-form__input-area select,
.c-form__input-area textarea {
  width: 100%;
  padding: min(1.2rem, 0.75vw) min(1.5rem, 0.9375vw);
  line-height: 1.4;
  border: solid 0.1rem #B4B4B4;
  border-radius: 0.3rem;
}
@media screen and (max-width: 768.9px) {
  .c-form__input-area input[type=text],
  .c-form__input-area input[type=email],
  .c-form__input-area input[type=tel],
  .c-form__input-area select,
  .c-form__input-area textarea {
    padding: 1rem 1.2rem;
    border-radius: 0.2rem;
  }
}
.c-form__input-area input[type=text],
.c-form__input-area input[type=tel] {
  max-width: min(28.8rem, 18vw);
}
@media screen and (max-width: 768.9px) {
  .c-form__input-area input[type=text],
  .c-form__input-area input[type=tel] {
    max-width: 24rem;
  }
}
.c-form__input-area input[type=text].p-locality {
  max-width: none;
}
.c-form__privacy-policy-area {
  display: flex;
  gap: min(4rem, 2.5vw);
  align-items: center;
  justify-content: center;
  margin-top: min(3.8rem, 2.375vw);
}
@media screen and (max-width: 768.9px) {
  .c-form__privacy-policy-area {
    gap: 1rem;
    margin-top: 2rem;
  }
}
.c-form__privacy-policy-area__label {
  font-weight: 500;
  line-height: 1.4;
}
.c-form__privacy-policy-area__label a {
  color: #3E71B7;
}
@media screen and (min-width: 769px) {
  .c-form__privacy-policy-area__label a:hover {
    text-decoration: underline;
  }
}
.c-form__btn-area {
  margin-top: min(4.8rem, 3vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .c-form__btn-area {
    margin-top: 2.4rem;
  }
}
.c-form__submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(31.4rem, 19.625vw);
  height: min(7.3rem, 4.5625vw);
  font-size: min(2rem, 1.25vw);
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: #3E71B7;
  border: none;
}
@media screen and (max-width: 768.9px) {
  .c-form__submit-btn {
    width: 160px;
    max-width: 31.4rem;
    height: 5rem;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 769px) {
  .c-form__submit-btn {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-form__submit-btn:hover {
    background: rgb(95.1551020408, 139.7020408163, 200.8448979592);
  }
}
.c-form__submit-btn:disabled {
  color: #B4B4B4;
  cursor: auto;
  background: #F7F7F7;
}
.c-form__btn-area p:has(.c-form__submit-btn) {
  position: relative;
  display: inline-block;
}
.c-form__btn-area .wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 2%;
  margin: 0;
  transform: translateY(-50%);
}
.c-form__back-btn {
  display: inline-block;
  margin-top: min(2rem, 1.25vw);
  font-size: min(1.5rem, 0.9375vw);
  font-weight: 500;
  color: #6f6f6f;
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
}
@media screen and (max-width: 768.9px) {
  .c-form__back-btn {
    margin-top: 1.6rem;
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  .c-form__back-btn:hover {
    opacity: 0.7;
  }
}

.c-lead__text__01 {
  font-size: min(2.4rem, 1.5vw);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.015em;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768.9px) {
  .c-lead__text__01 {
    font-size: 1.5rem;
  }
}
.c-lead__btn {
  display: flex;
  flex: 1;
  align-items: flex-end;
}
@media screen and (min-width: 769px) {
  .c-lead__btn {
    justify-content: flex-end;
  }
}

.c-link-text__01 {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .c-link-text__01 {
    gap: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .c-link-text__01 {
    transition: color 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-link-text__01:hover {
    color: #3e71b7;
  }
}
.c-link-text__01__text {
  display: inline-block;
  padding-bottom: min(0.6rem, 0.375vw);
  font-size: min(2.2rem, 1.375vw);
  font-weight: 700;
  border-bottom: 0.2rem solid #272828;
}
@media screen and (max-width: 768.9px) {
  .c-link-text__01__text {
    padding-bottom: 0.3rem;
    font-size: 1.3rem;
    border-bottom-width: 0.1;
  }
}
.c-link-text__01__arrow {
  width: min(2.6rem, 1.625vw);
}
@media screen and (max-width: 768.9px) {
  .c-link-text__01__arrow {
    width: 1.9rem;
  }
}
@media screen and (min-width: 769px) {
  .c-link-text__01__arrow {
    transition: transform 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-link-text__01:hover .c-link-text__01__arrow {
    transform: translateX(15%);
  }
}

.c-list__dot {
  padding-left: 1.5em;
  list-style: disc;
}
.c-list__revert {
  padding-left: 1.5em;
  list-style: revert;
}
.c-list__square {
  padding-left: 1.5em;
  list-style: square;
}
.c-list__num {
  padding-left: 1.5em;
  list-style: num;
}
.c-list__item:not(:first-of-type) {
  margin-top: 0.8rem;
}
.c-list__text + .c-list {
  margin-top: 0.8rem;
}

.c-mv {
  position: relative;
  margin-top: min(13.9rem, 8.6875vw);
}
@media screen and (max-width: 768.9px) {
  .c-mv {
    margin-top: 7.2rem;
  }
}
.c-mv__inner {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  width: calc(100% - 4rem);
  max-width: min(134.4rem, 84vw);
  height: 100%;
  margin: 0 auto;
}
.c-mv__title__01 {
  position: absolute;
  top: max(-7.2rem, -4.5vw);
  left: 0;
  width: min(33.9rem, 21.1875vw);
}
@media screen and (max-width: 768.9px) {
  .c-mv__title__01 {
    top: -5.3rem;
    width: 16.3rem;
  }
}
.c-mv__title__02 {
  position: absolute;
  bottom: -6.6rem;
  left: 0;
}
@media screen and (max-width: 768.9px) {
  .c-mv__title__02 {
    bottom: -1rem;
  }
}
.c-mv__bg {
  position: relative;
  z-index: 0;
}
.c-mv__bg .swiper-slide {
  max-width: min(100rem, 62.5vw);
  overflow: hidden;
  border-radius: 1.3rem;
}
@media screen and (max-width: 768.9px) {
  .c-mv__bg .swiper-slide {
    max-width: 30rem;
    border-radius: 0.6rem;
    aspect-ratio: 1200 / 1226;
  }
  .c-mv__bg .swiper-slide picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .c-mv__bg .swiper-slide picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.c-mv__jp {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: min(6rem, 3.75vw);
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .c-mv__jp {
    font-size: 2.5rem;
  }
}
.c-mv__jp__inner {
  display: inline-block;
  padding: min(1.5rem, 0.9375vw) min(2rem, 1.25vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .c-mv__jp__inner {
    padding: 0.6rem 0.9rem;
  }
}
.c-mv__jp__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: min(3rem, 1.875vw);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: min(2.9rem, 1.8125vw);
}
@media screen and (max-width: 768.9px) {
  .c-mv__jp__sub {
    gap: 0.3rem;
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }
}
.c-mv__jp__sub__inner {
  display: inline-block;
  padding: min(1rem, 0.625vw) min(1.5rem, 0.9375vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .c-mv__jp__sub__inner {
    padding: 0.2rem 0.3rem;
  }
}

@media screen and (min-width: 769px) {
  .c-news-list {
    display: flex;
    gap: min(17.8rem, 11.125vw);
    justify-content: space-between;
  }
}
@media screen and (max-width: 768.9px) {
  .c-news-list__cate-list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .c-news-list__cate-list {
    grid-area: 0.4rem 0.8rem;
    width: min(14.6rem, 9.125vw);
  }
}
@media screen and (min-width: 769px) {
  .c-news-list__cate-list__item:not(:first-of-type) {
    margin-top: min(1rem, 0.625vw);
  }
}
.c-news-list__cate-list__link {
  display: inline-block;
  padding: min(1.2rem, 0.75vw) min(1.8rem, 1.125vw);
  font-size: min(2.4rem, 1.5vw);
  font-weight: 700;
  border-radius: min(0.6rem, 0.375vw);
}
@media screen and (max-width: 768.9px) {
  .c-news-list__cate-list__link {
    padding: 0.7rem 1.6rem;
    font-size: 1.6rem;
    border-radius: 0.3rem;
  }
}
.c-news-list__cate-list__link.is-active {
  background: #F4F4F4;
}
.c-news-list__main {
  flex: 1;
}
@media screen and (max-width: 768.9px) {
  .c-news-list__main {
    margin-top: 3.8rem;
  }
}
@media screen and (min-width: 769px) {
  .c-news-list__main {
    max-width: min(107.8rem, 67.375vw);
  }
}
.c-news-list__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: min(2rem, 1.25vw) 0;
  border-bottom: 0.1rem solid #EBEBEB;
}
@media screen and (max-width: 768.9px) {
  .c-news-list__item {
    padding: 1.2rem 0;
  }
}
.c-news-list__item:first-of-type {
  border-top: 0.1rem solid #EBEBEB;
}
.c-news-list__cate {
  display: inline-block;
  padding: min(0.5rem, 0.3125vw) min(1.2rem, 0.75vw);
  font-size: min(1.4rem, 0.875vw);
  font-weight: 700;
  color: #fff;
  background: #1D4A9E;
}
@media screen and (max-width: 768.9px) {
  .c-news-list__cate {
    padding: 0.2rem 0.5rem;
    font-size: 1.1rem;
  }
}
.c-news-list__date {
  margin-top: min(0.4rem, 0.25vw);
  font-size: min(1.8rem, 1.125vw);
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  .c-news-list__date {
    margin-top: 0.6rem;
    font-size: 1.2rem;
    line-height: 1.7916666667;
  }
}
.c-news-list__title {
  font-size: min(1.8rem, 1.125vw);
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  .c-news-list__title {
    font-size: 1.2rem;
    line-height: 1.7916666667;
  }
}
@media screen and (min-width: 769px) {
  .c-news-list__title a:hover {
    text-decoration: underline;
  }
}

.c-pagenation .wp-pagenavi {
  display: flex;
  gap: min(1.1rem, 0.6875vw);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768.9px) {
  .c-pagenation .wp-pagenavi {
    gap: 1rem;
  }
}
.c-pagenation .wp-pagenavi .page,
.c-pagenation .wp-pagenavi .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(4.3rem, 2.6875vw);
  height: min(4.3rem, 2.6875vw);
  font-family: Outfit, sans-serif;
  font-size: min(2rem, 1.25vw);
  font-weight: 700;
  background: #F4F4F4;
  border-radius: min(0.2rem, 0.125vw);
}
@media screen and (max-width: 768.9px) {
  .c-pagenation .wp-pagenavi .page,
  .c-pagenation .wp-pagenavi .current {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 1.4rem;
    border-radius: 0.2rem;
  }
}
.c-pagenation .wp-pagenavi .page {
  color: #3E71B7;
  background: #F4F4F4;
}
@media screen and (min-width: 769px) {
  .c-pagenation .wp-pagenavi .page {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .c-pagenation .wp-pagenavi .page:hover {
    background: rgb(221.8181818182, 221.8181818182, 221.8181818182);
  }
}
.c-pagenation .wp-pagenavi .current {
  color: #fff;
  background: #3E71B7;
}

.c-sub-mv {
  margin-top: min(14rem, 8.75vw);
}
@media screen and (max-width: 768.9px) {
  .c-sub-mv {
    margin-top: 7.4rem;
  }
}
.c-sub-mv__visual {
  position: relative;
  grid-column: 3/21;
}
@media screen and (max-width: 768.9px) {
  .c-sub-mv__visual {
    grid-column: 1/21;
  }
}
.c-sub-mv__visual > img {
  width: 100%;
  height: min(53rem, 33.125vw);
  object-fit: cover;
  object-position: center 70%;
}
@media screen and (max-width: 768.9px) {
  .c-sub-mv__visual > img {
    height: 24rem;
  }
}
.c-sub-mv__head {
  position: absolute;
  top: max(-6.6rem, -3.4375vw);
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 768.9px) {
  .c-sub-mv__head {
    top: -3.6rem;
  }
}

.c-sub-mv__label {
  display: flex;
  gap: min(0.7rem, 0.4375vw);
  align-items: center;
  margin-bottom: min(1.5rem, 0.9375vw);
  font-size: min(3.3rem, 2.0625vw);
  font-weight: 700;
  line-height: 1.6;
  color: #2F2F2F;
  letter-spacing: 0.001em;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__label {
    margin-bottom: 0.6rem;
    font-size: 1.4rem;
  }
}
.c-sub-mv__label img {
  width: min(1.5rem, 0.9375vw);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__label img {
    width: 1rem;
  }
}
.c-sub-mv__title {
  display: table;
  padding: 0 min(3.6rem, 2.25vw) 0 0;
  font-size: min(7.2rem, 4.5vw);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.047em;
  background: #fff;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__title {
    padding: 0.4rem 1.4rem 0.4rem 1.9rem;
    font-size: 2.8rem;
  }
}
.c-sub-mv__en {
  display: table;
  padding: min(1.5rem, 1vw) min(2.5rem, 1.5625vw) min(2.5rem, 1.75vw) 0;
  font-size: min(3.3rem, 2.0625vw);
  font-weight: 700;
  color: #2F2F2F;
  letter-spacing: 0.001em;
  background: #fff;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__en {
    padding: 0.3rem 1rem 0.3rem 1.9rem;
    font-size: 1.3rem;
  }
}
.c-sub-mv__body {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 1fr min(60.6rem, 33vw);
  grid-column: 3/19;
  gap: 4rem;
  margin-top: min(14rem, 8.75vw);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__body {
    display: block;
    grid-column: 2/20;
    margin-top: 3.2rem;
  }
}
.c-sub-mv__text-area {
  padding-left: min(9.6rem, 6vw);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__text-area {
    padding-left: 0;
  }
}
.c-sub-mv__catch {
  font-size: min(6rem, 3.8vw);
  font-weight: 700;
  line-height: 1.77;
  color: #272828;
  letter-spacing: 0.047em;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__catch {
    font-size: 3rem;
  }
}
.c-sub-mv__catch strong {
  font-weight: 700;
  color: #1D4A9E;
}

.c-sub-mv__lead {
  margin-top: min(4rem, 2.5vw);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(2.25rem, 1.4vw);
  font-weight: 600;
  line-height: 2.53;
  color: #262626;
  letter-spacing: 0.022em;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__lead {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2;
  }
}
.c-sub-mv__highlight {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(0.8rem, 0.5vw);
  width: 85%;
  max-width: min(54.4rem, 34vw);
  margin-top: min(5.8rem, 3.625vw);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__highlight {
    gap: 0.8rem;
    max-width: none;
    margin-top: 2.8rem;
  }
}
.c-sub-mv__highlight__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(13.4rem, 8.375vw);
  padding: min(0.8rem, 0.5vw) 1rem;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  font-size: min(3.1rem, 1.9375vw);
  font-weight: 600;
  line-height: 1.2;
  color: #3E71B7;
  text-align: center;
  background: #EAF3F8;
  border-radius: min(1.6rem, 1vw);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__highlight__item {
    min-height: 8rem;
    font-size: 1.7rem;
    border-radius: 1rem;
  }
}
.c-sub-mv__photo {
  align-self: end;
}

.c-sub-mv__photo img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: min(1.3rem, 0.8125vw);
  box-shadow: min(3.8rem, 2.375vw) min(5rem, 3.125vw) min(4.7rem, 2.9375vw) 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__photo {
    display: none;
  }
}
.c-sub-mv__watermark {
  position: absolute;
  top: max(-41rem, -25.625vw);
  right: max(-97.7rem, -61.0625vw);
  z-index: -1;
  width: min(193.3rem, 120.8125vw);
  max-width: none;
  pointer-events: none;
  opacity: 0.12;
}

@media screen and (max-width: 768.9px) {
  .c-sub-mv__watermark {
    display: none;
  }
}
.c-title__level03__01 {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.c-title__level03__01__en {
  font-size: min(2.4rem, 1.5vw);
  font-weight: 700;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768.9px) {
  .c-title__level03__01__en {
    font-size: 1.3rem;
  }
}
.c-title__level03__01__jp {
  font-size: min(5.6rem, 3.5vw);
  font-weight: 700;
  line-height: 1.5892857143;
  letter-spacing: 0.047em;
}
@media screen and (max-width: 768.9px) {
  .c-title__level03__01__jp {
    font-size: 3.2rem;
    line-height: 1.3692307692;
  }
}
.c-title__level04__01 {
  font-size: min(4rem, 2.5vw);
  font-weight: 600;
  line-height: 2.025;
}
@media screen and (max-width: 768.9px) {
  .c-title__level04__01 {
    font-size: 2.7rem;
    line-height: 1.5;
  }
}
.c-title__level04__02 {
  font-size: min(4rem, 2.5vw);
  font-weight: 600;
  line-height: 2.025;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .c-title__level04__02 {
    font-size: 2.7rem;
    line-height: 1.5740740741;
  }
}

.p-company__message__main {
  display: flex;
  gap: min(10rem, 6.25vw);
  align-items: flex-end;
  justify-content: space-between;
  margin-top: min(8.3rem, 5.1875vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__message__main {
    flex-direction: column;
    gap: 5rem;
  }
}
@media screen and (min-width: 769px) {
  .p-company__message__text-area {
    width: min(64.3rem, 40.1875vw);
  }
}
.p-company__message__text {
  font-size: min(1.8rem, 1.125vw);
  line-height: 1.8333333333;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-company__message__text {
    font-size: 1.3rem;
  }
}
.p-company__message__img {
  width: min(55.8rem, 34.875vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__message__img {
    width: 62%;
    max-width: 24rem;
    margin: 0 auto;
  }
}
.p-company__message__img img {
  border-radius: min(1.3rem, 0.8125vw);
  box-shadow: min(3.8rem, 2.375vw) min(5rem, 3.125vw) min(4.7rem, 2.9375vw) rgba(0, 0, 0, 0.16);
}
.p-company__message__sig-area {
  display: flex;
  gap: min(2.5rem, 1.5625vw);
  align-items: center;
  margin-top: min(6rem, 3.75vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__message__sig-area {
    gap: 1.6rem;
    margin-top: 2.2rem;
  }
}
.p-company__message__sig-area__title {
  font-size: min(1.8rem, 1.125vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__message__sig-area__title {
    font-size: 1.4rem;
  }
}
.p-company__message__sig-area__signature {
  font-size: min(2.5rem, 1.5625vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__message__sig-area__signature {
    font-size: 1.8rem;
  }
}
.p-company__profile {
  margin-top: min(36.8rem, 23vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__profile {
    margin-top: 14rem;
  }
}
.p-company__profile__box {
  padding-bottom: min(9rem, 5.625vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-company__profile__box {
    padding-bottom: 4.2rem;
  }
}
.p-company__profile__box__inner {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  padding: min(5.4rem, 3.375vw) 0;
  margin-top: min(7.4rem, 4.625vw);
  background: #FFF;
}
@media screen and (max-width: 768.9px) {
  .p-company__profile__box__inner {
    grid-template-columns: repeat(16, 1fr);
    padding: 4.3rem 0;
    margin-top: 4.2rem;
  }
}
.p-company__profile__box__inner__contents {
  grid-column: 2/14;
}
@media screen and (max-width: 768.9px) {
  .p-company__profile__box__inner__contents {
    grid-column: 2/16;
  }
}
.p-company__profile .c-title__level03__01 {
  margin-top: max(-8.6rem, -5.375vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__profile .c-title__level03__01 {
    margin-top: -4.8rem;
  }
}
.p-company__profile__map {
  margin-top: min(4.8rem, 3vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__profile__map {
    margin-top: 2.4rem;
  }
}
.p-company__profile__map iframe {
  width: 100%;
  height: min(46rem, 28.75vw);
}
@media screen and (max-width: 768.9px) {
  .p-company__profile__map iframe {
    height: 23rem;
  }
}

.p-contact__form {
  margin-top: min(250rem, 15.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-contact__form {
    margin-top: 6rem;
  }
}
.p-contact__form__contents {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  padding: min(10.6rem, 6.625vw) 0;
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-contact__form__contents {
    grid-template-columns: repeat(16, 1fr);
    padding: 4.2rem 0;
  }
}
.p-contact__form__contents__inner {
  grid-column: 2/14;
}
@media screen and (max-width: 768.9px) {
  .p-contact__form__contents__inner {
    grid-column: 2/16;
  }
}
.p-contact__form__contents__lead {
  font-weight: 500;
  line-height: 2.0625;
  letter-spacing: 0.015em;
}
.p-contact__form__contents__anno {
  margin-top: min(4rem, 2.5vw);
  font-weight: 500;
  line-height: 2.0625;
  letter-spacing: 0.015em;
}
.p-contact__form__main {
  padding: min(5.4rem, 3.375vw) 3.3854166667vw;
  margin-top: min(7.6rem, 4.75vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-contact__form__main {
    padding: 3.8rem 5vw;
    margin-top: 3.8rem;
  }
}
.p-contact--confirm .c-form__input-area p {
  line-height: 1.6;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
.p-index__lead__top {
  position: relative;
  z-index: 0;
  max-width: 192rem;
  padding: min(76.8rem, 48vw) 0 0;
  margin: 0 auto;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__top {
    padding-top: 129.7333333333vw;
  }
}
.p-index__lead__top::before {
  position: absolute;
  top: max(-42.4rem, -26.5vw);
  left: max(-126.4rem, -79vw);
  z-index: 0;
  display: block;
  width: min(272.7rem, 170.4375vw);
  height: min(270rem, 168.75vw);
  content: "";
  background: url("../images/index/bg__lead__02.png") center top no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__top::before {
    top: -37vw;
    left: -137vw;
    width: 254vw;
    height: 255vw;
  }
}
.p-index__lead__top::after {
  position: absolute;
  top: min(24.2rem, 15.125vw);
  right: 0;
  z-index: 0;
  display: block;
  width: min(75.74rem, 47.3375vw);
  height: min(39.83rem, 24.89375vw);
  content: "";
  background: url("../images/index/bg__lead__01.png") right top no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__top::after {
    top: 49.8666666667vw;
    width: 100%;
    height: 64.4vw;
    background-image: url("../images/index/bg__lead__01__sp.png");
  }
}
.p-index__lead__copy {
  position: absolute;
  top: min(40.5rem, 25.3125vw);
  z-index: 1;
  margin-left: max(-7rem, -4.375vw);
  font-family: "Outfit", sans-serif;
  font-size: min(18.3rem, 11.4375vw);
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__copy {
    top: 30.5333333333vw;
    font-size: 24.4vw;
  }
}
.p-index__lead__inner {
  position: relative;
  grid-column: 2/18;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__inner {
    grid-column: 1/21;
  }
}
.p-index__lead__image {
  width: min(84.4rem, 52.75vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__image {
    position: relative;
    width: 100%;
    max-width: 37.5rem;
    margin: 4.5rem auto 0;
  }
  .p-index__lead__image__02 {
    position: relative;
    left: -12.5rem;
    width: 67rem;
    max-width: none;
  }
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__title-area {
    display: flex;
    justify-content: space-between;
    max-width: 37.5rem;
    padding: 0 2.5rem 0 0;
    margin: 0 auto;
  }
  .p-index__lead__title-area__img {
    width: 25rem;
    margin-top: 2.8rem;
  }
}
.p-index__lead__title {
  font-size: min(5.4rem, 3.375vw);
  font-weight: 600;
  line-height: 1.5;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__title {
    font-size: 2.9rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__lead__title {
    position: absolute;
    top: min(26rem, 16.25vw);
    right: 0;
  }
}
.p-index__lead__text {
  font-size: min(2.4rem, 1.5vw);
  font-weight: 600;
  line-height: 2.9583333333;
  letter-spacing: 0.022em;
}
@media screen and (max-width: 768.9px) {
  .p-index__lead__text {
    max-width: 30rem;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 2.7575757576;
  }
}
@media screen and (min-width: 769px) {
  .p-index__lead__text {
    position: absolute;
    top: min(37.7rem, 23.5625vw);
    right: min(21rem, 13.125vw);
  }
}
.p-index__service {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .p-index__service {
    margin-top: min(46rem, 28.75vw);
  }
}
.p-index__service__inner {
  position: relative;
  grid-column: 3/21;
  padding-bottom: min(9.8rem, 6.125vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__inner {
    grid-column: 2/21;
  }
}
.p-index__service__lead {
  display: grid;
  grid-template-columns: repeat(18, 1fr);
  margin-top: max(-8rem, -5vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service__lead {
    grid-template-columns: repeat(19, 1fr);
    margin-top: -4.8rem;
  }
}
.p-index__service__lead__inner {
  display: flex;
  grid-column: 2/16;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__lead__inner {
    flex-wrap: wrap;
    grid-column: 2/18;
  }
}
.p-index__service__lead__text {
  margin: min(5rem, 3.125vw) 0 0 min(7.2rem, 4.5vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service__lead__text {
    margin: 9rem 0 0;
  }
}
.p-index__service__lead__text__line {
  display: inline-block;
  padding-left: revert-layer;
  line-height: 1.5;
  border-left: 0.2rem solid #000;
}
.p-index__service .c-content__01 {
  margin-top: min(16.8rem, 10.5vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service .c-content__01 {
    margin-top: 4.6rem;
  }
}
.p-index__service__content__text-area {
  margin-top: min(3.6rem, 2.25vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content__text-area {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__service__content__text-area {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.p-index__service__content__text {
  font-size: min(2.2rem, 1.375vw);
  font-weight: 500;
  line-height: 1.9545454545;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content__text {
    font-size: 1.4rem;
    line-height: 1.9285714286;
  }
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content .c-link-text__01 {
    margin-top: 2.5rem;
  }
}
.p-index__service__content--demolition {
  padding: min(8rem, 5vw) 0;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition {
    padding: 4.5rem 0;
  }
}
.p-index__service__content--demolition__main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: min(7.5rem, 4.6875vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.3rem;
    margin-top: 4.3rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__service__content--demolition__main {
    gap: min(1.9rem, 1.1875vw) min(1.2rem, 0.75vw);
  }
}
.p-index__service__content--demolition__main__item {
  display: flex;
  background: #F7F7F7;
}
.p-index__service__content--demolition__main__image-area {
  position: relative;
  width: 48.9028213166%;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main__image-area {
    width: 38%;
  }
}
.p-index__service__content--demolition__main__image-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index__service__content--demolition__main__tag {
  position: absolute;
  top: 0;
  left: 0;
  padding: min(0.6rem, 0.375vw) min(1rem, 0.625vw);
  color: #fff;
  background: #272828;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main__tag {
    padding: 0.4rem 0.7rem;
    font-size: 1.1rem;
  }
}
.p-index__service__content--demolition__main__text-area {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: min(1.7rem, 1.0625vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main__text-area {
    padding: 1.3rem;
  }
}
.p-index__service__content--demolition__main__title {
  padding: min(0.6rem, 0.375vw) min(1.5rem, 0.9375vw);
  font-size: min(2.6rem, 1.375vw);
  font-weight: 700;
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main__title {
    padding: 0.3rem 0.6rem;
    font-size: 1.6rem;
  }
}
.p-index__service__content--demolition__main__text {
  margin-top: min(1.5rem, 0.9375vw);
  font-size: min(1.8rem, 1.125vw);
  font-weight: 500;
  line-height: 1.8333333333;
}
@media screen and (max-width: 768.9px) {
  .p-index__service__content--demolition__main__text {
    margin-top: 0.9rem;
    font-size: 1.2rem;
    line-height: 1.75;
  }
}
.p-index__reason {
  position: relative;
  margin-top: min(13.8rem, 8.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason {
    margin-top: 16.9rem;
  }
  .p-index__reason .l-section__inner--medium {
    grid-column: 3/20;
  }
}
.p-index__reason::after {
  position: absolute;
  top: min(36rem, 22.5vw);
  left: 0;
  z-index: -1;
  display: block;
  width: 85%;
  height: min(199.3rem, 124.5625vw);
  content: "";
  background: #f7f7f7;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason::after {
    width: 90%;
    height: 249rem;
  }
}
.p-index__reason__lead {
  position: relative;
  display: grid;
  grid-template-columns: repeat(30, 1fr);
  grid-column: 4/19;
  margin-top: min(5.8rem, 3.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead {
    grid-template-columns: repeat(17, 1fr);
    grid-column: 3/20;
    margin-top: 3.5rem;
  }
}
.p-index__reason__lead__text {
  grid-column: 1/3;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__text {
    grid-column: 1/4;
    align-self: start;
    transition: none;
  }
  .p-index__reason__lead__text.is-sticky {
    position: fixed;
    top: 0;
    z-index: 2;
  }
  .p-index__reason__lead__text.is-ended {
    position: absolute;
    top: auto;
    bottom: 0;
    z-index: 1;
  }
}
.p-index__reason__lead__main {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column: 4/31;
  gap: min(1.3rem, 0.7222222222vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main {
    grid-template-columns: repeat(1, 1fr);
    grid-column: 5/18;
    gap: 1.1rem;
  }
}
.p-index__reason__lead__main__item {
  display: flex;
  align-items: center;
  height: min(52.4rem, 29.1111111111vw);
  padding: 0 min(3rem, 1.6666666667vw);
  color: #fff;
  background: center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__item {
    height: 32.1rem;
    padding: 0 2rem;
  }
}
.p-index__reason__lead__main__item--01 {
  background-image: url("../images/index/bg__reason-projects__01.jpg");
}
.p-index__reason__lead__main__item--02 {
  background-image: url("../images/index/bg__reason-projects__02.jpg");
}
.p-index__reason__lead__main__item--03 {
  background-image: url("../images/index/bg__reason-projects__03.jpg");
}
.p-index__reason__lead__main__item--04 {
  background-image: url("../images/index/bg__reason-projects__04.jpg");
}
.p-index__reason__lead__main__num {
  font-size: min(3.7rem, 2.0555555556vw);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__num {
    font-size: 2.6rem;
  }
}
.p-index__reason__lead__main__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: min(15.6rem, 8.6666666667vw);
  margin-top: min(3.3rem, 1.8333333333vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__title {
    height: 9.7rem;
    margin-top: 2.4rem;
  }
}
.p-index__reason__lead__main__title span {
  display: inline-block;
  padding: min(1rem, 0.5555555556vw) min(0.6rem, 0.3333333333vw);
  font-size: min(3rem, 1.6666666667vw);
  font-weight: 700;
  color: #262626;
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__title span {
    padding: 0.3rem 0.5rem;
    font-size: 2.5rem;
  }
}
.p-index__reason__lead__main__title span:not(:first-of-type) {
  margin-top: min(0.3rem, 0.1666666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__title span:not(:first-of-type) {
    margin-top: 0.2rem;
  }
}
.p-index__reason__lead__main__text {
  margin-top: min(2.2rem, 1.2222222222vw);
  font-size: min(1.8rem, 1vw);
  font-weight: 500;
  line-height: 1.8333333333;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__lead__main__text {
    margin-top: 1.8rem;
    font-size: 1.3rem;
    line-height: 1.8461538462;
  }
}
.p-index__reason__transaction {
  margin-top: min(13.4rem, 8.375vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__transaction {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    margin-top: 7.4rem;
  }
  .p-index__reason__transaction__inner {
    grid-column: 3/17;
  }
}
.p-index__reason__transaction__contents {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(3.6rem, 1.875vw) min(4.5rem, 2.34375vw);
  margin-top: min(3.8rem, 2.375vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__transaction__contents {
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 3.2rem;
  }
}
.p-index__reason__transaction__item img {
  height: min(4.9rem, 2.5521vw);
  width: auto;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__transaction__item img {
    height: 3.52rem;
  }
}
.p-index__reason__flow {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  padding: min(8rem, 5vw) 0;
  margin-top: min(14.6rem, 9.125vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow {
    grid-template-columns: repeat(18, 1fr);
  }
}
.p-index__reason__flow__inner {
  grid-column: 2/14;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__inner {
    grid-column: 2/18;
  }
}
.p-index__reason__flow__contents {
  margin-top: min(5rem, 3.125vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__contents {
    margin-top: 3rem;
  }
}
.p-index__reason__flow__item {
  position: relative;
  padding: min(1.5rem, 0.9375vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__item {
    padding: 1.2rem 1.1rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__reason__flow__item {
    display: flex;
  }
}
.p-index__reason__flow__item:not(:first-of-type) {
  margin-top: min(2.1rem, 1.3125vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__item:not(:first-of-type) {
    margin-top: 1.2rem;
  }
}
.p-index__reason__flow__item:not(:first-of-type)::after {
  position: absolute;
  top: max(-2.1rem, -1.3125vw);
  right: 0;
  left: 0;
  width: min(2.4rem, 1.5vw);
  height: min(2.1rem, 1.3125vw);
  margin: auto;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  background: #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__item:not(:first-of-type)::after {
    top: -1.2rem;
    width: 1.3rem;
    height: 1.2rem;
  }
}
.p-index__reason__flow__title-area {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__title-area {
    position: relative;
    justify-content: center;
    height: 2.3rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__reason__flow__title-area {
    gap: min(3.1rem, 1.9375vw);
    width: min(33.5rem, 20.9375vw);
  }
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__text-area {
    padding-top: 1.2rem;
    margin-top: 1.4rem;
    border-top: 0.1rem solid #2F2F2F;
  }
}
@media screen and (min-width: 769px) {
  .p-index__reason__flow__text-area {
    display: flex;
    flex: 1;
    align-items: center;
    height: min(9.4rem, 5.875vw);
    padding-left: min(4.2rem, 2.625vw);
    border-left: 0.1rem solid #2F2F2F;
  }
}
.p-index__reason__flow__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(4.3rem, 2.6875vw);
  height: min(4.3rem, 2.6875vw);
  font-size: min(2.4rem, 1.5vw);
  color: #fff;
  background: #2F2F2F;
  border-radius: 50%;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__num {
    position: absolute;
    left: 0;
    width: 2.3rem;
    height: 2.3rem;
    font-size: 1.2rem;
  }
}
.p-index__reason__flow__title {
  font-size: min(2.4rem, 1.5vw);
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__title {
    font-size: 1.5rem;
  }
}
.p-index__reason__flow__text {
  font-size: min(1.8rem, 1.125vw);
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__text {
    font-size: 1.3rem;
    line-height: 1.6538461538;
    text-align: center;
  }
}
.p-index__reason__flow__text__strong {
  font-weight: 700;
  color: #3E71B7;
}
.p-index__reason__flow__text svg {
  margin-right: 0.4em;
  vertical-align: middle;
}
@media screen and (max-width: 768.9px) {
  .p-index__reason__flow__text svg {
    width: 1.9rem;
    margin: 1rem 0;
  }
}
.p-index__estimate {
  margin-top: min(6rem, 3.75vw);
}
.p-index__estimate__banner {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768.9px) {
  .p-index__estimate {
    margin-top: 5rem;
  }
}
.p-index__words-sp {
  position: relative;
  margin-top: min(24rem, 15vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__words-sp {
    margin-top: 12.2rem;
  }
}
.p-index__words-sp__bg {
  display: flex;
  gap: 0.3125vw;
  width: 289.0625vw;
}
@media screen and (max-width: 768.9px) {
  .p-index__words-sp__bg {
    gap: 0.3rem;
    width: 277.5rem;
  }
}
.p-index__words-sp__bg__item {
  display: inline-flex;
  gap: 0.3125vw;
  width: 144.375vw;
}
@media screen and (max-width: 768.9px) {
  .p-index__words-sp__bg__item {
    gap: 0.3rem;
    width: 138.6rem;
  }
}
.p-index__words-sp__bg__item--01 {
  animation: loop 100s -50s linear infinite;
}
.p-index__words-sp__bg__item--02 {
  animation: loop2 100s linear infinite;
}
.p-index__words-sp__text {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin-bottom: -1.4vw;
  margin-left: -2vw;
  font-family: "Outfit", sans-serif;
  font-size: 10vw;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 768.9px) {
  .p-index__words-sp__text img {
    width: auto;
    max-width: none;
    height: 7rem;
    margin-left: -2.5rem;
  }
}
.p-index__case {
  margin-top: min(34rem, 21.25vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case {
    margin-top: 12.5rem;
  }
  .p-index__case .l-section__inner--medium {
    grid-column: 1/21;
  }
}
.p-index__case__box {
  position: relative;
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  padding-bottom: min(8.3rem, 5.1875vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__box {
    grid-template-columns: repeat(20, 1fr);
  }
}
.p-index__case__box__inner {
  grid-column: 2/14;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__box__inner {
    grid-column: 2/20;
  }
}
.p-index__case__lead {
  position: relative;
  margin-top: max(-17.4rem, -10.875vw);
  overflow: hidden;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__lead {
    max-width: 90%;
    margin: -5.1rem auto 0;
  }
}
@media screen and (min-width: 769px) {
  .p-index__case__lead {
    display: flex;
    gap: min(6.8rem, 4.25vw);
  }
}
.p-index__case__lead__text {
  margin-top: min(13.2rem, 8.25vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__lead__text {
    float: right;
  }
}
.p-index__case__main {
  margin-top: min(4.8rem, 3vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main {
    margin-top: 3.6rem;
  }
}
.p-index__case__main__lead {
  padding: min(10.2rem, 6.375vw) min(5.3rem, 3.3125vw) min(5.6rem, 3.5vw);
  background: url("../images/index/bg__case__01.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__lead {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    padding: 7.6rem 0 2.1rem;
    background-image: url("../images/index/bg__case__01__sp.jpg");
  }
  .p-index__case__main__lead__text-area {
    grid-column: 2/18;
  }
}
.p-index__case__main__lead__title {
  position: relative;
  padding-left: min(8rem, 5vw);
  font-size: min(3.6rem, 2.25vw);
  font-weight: 700;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__lead__title {
    padding-left: 4.8rem;
    font-size: 2.2rem;
  }
}
.p-index__case__main__lead__title::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: min(6.5rem, 4.0625vw);
  height: 0.3rem;
  margin: auto;
  content: "";
  background: #2F2F2F;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__lead__title::after {
    width: 4rem;
    height: 0.15rem;
  }
}
.p-index__case__main__lead__sub-title {
  display: flex;
  flex-direction: column;
  gap: min(0.4rem, 0.25vw);
  align-items: flex-start;
  margin-top: min(3.4rem, 2.125vw);
  font-size: min(3.8rem, 2.375vw);
  font-weight: 700;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__lead__sub-title {
    gap: 0.2rem;
    margin-top: 3.9rem;
    font-size: 2.3rem;
  }
}
.p-index__case__main__lead__sub-title__inner {
  padding: min(1.2rem, 0.75vw) min(1rem, 0.625vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__lead__sub-title__inner {
    padding: 0.8rem 0.9rem;
  }
}
.p-index__case__main__contents {
  display: grid;
  grid-template-columns: repeat(28, 1fr);
  padding: min(9.8rem, 6.125vw) 0 min(6.6rem, 4.125vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents {
    grid-template-columns: repeat(18, 1fr);
    padding: 5.9rem 0 3.9rem;
  }
}
.p-index__case__main__contents__inner {
  grid-column: 2/27;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__inner {
    grid-column: 2/18;
  }
}
.p-index__case__main__contents__item {
  display: flex;
  flex-direction: row-reverse;
  gap: min(3.7rem, 1.9270833333vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__item {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.p-index__case__main__contents__item:not(:first-of-type) {
  margin-top: min(10.4rem, 6.5vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__item:not(:first-of-type) {
    margin-top: 8.7rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__case__main__contents__img {
    width: min(52.2rem, 27.1875vw);
  }
}
.p-index__case__main__contents__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index__case__main__contents__text-area {
  flex: 1;
}
.p-index__case__main__contents__title-area {
  position: relative;
  padding-top: min(6.2rem, 3.2291666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__title-area {
    padding-top: 3.5rem;
  }
}
.p-index__case__main__contents__num {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  font-size: min(10.8rem, 5.625vw);
  font-weight: 700;
  color: #F0F0F0;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__num {
    font-size: 5.4rem;
  }
}
.p-index__case__main__contents__title {
  position: relative;
  z-index: 1;
  font-size: min(3rem, 1.5625vw);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__title {
    font-size: 2rem;
    line-height: 1.35;
  }
}
.p-index__case__main__contents__text {
  margin-top: min(3.6rem, 1.875vw);
  font-size: min(1.6rem, 0.8333333333vw);
  line-height: 2.3888888889;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__contents__text {
    margin-top: 2.1rem;
    font-size: 1.2rem;
    line-height: 2;
  }
}
.p-index__case__main__price {
  margin-top: min(2.6rem, 1.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__price {
    margin-top: 2.2rem;
  }
}
.p-index__case__main__price__box {
  padding: min(3.2rem, 2vw) min(9.6rem, 6vw) min(4.9rem, 3.0625vw) min(4.4rem, 2.75vw);
  background: #F8F8F8;
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__price__box {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    padding: 2.2rem 0 2.3rem;
  }
  .p-index__case__main__price__box picture {
    grid-column: 2/16;
  }
}
.p-index__case__main__price__anno {
  margin-top: min(1.1rem, 0.6875vw);
  font-size: min(1.8rem, 1.125vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__case__main__price__anno {
    margin-top: 1rem;
    font-size: 1.1rem;
  }
}
.p-index__case__main__price__anno__item {
  position: relative;
  padding-left: 1em;
}
.p-index__case__main__price__anno__item::before {
  position: relative;
  display: block;
  float: left;
  margin-left: -1em;
  content: "※";
}
.p-index__example {
  position: relative;
  padding-bottom: min(8.5rem, 5.3125vw);
  margin-top: min(26.1rem, 16.3125vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__example {
    padding-bottom: 4.4rem;
    margin-top: 13rem;
  }
}
.p-index__example .c-title__level03__01 {
  margin-top: max(-7rem, -4.375vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example .c-title__level03__01 {
    margin-top: -4.6rem;
  }
}
.p-index__example__box {
  display: grid;
  grid-template-columns: repeat(32, 1fr);
  grid-column: 4/21;
  padding: min(8.7rem, 5.4375vw) 0 min(6.1rem, 3.8125vw);
  margin-top: min(8.4rem, 5.25vw);
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__box {
    grid-template-columns: repeat(19, 1fr);
    grid-column: 2/21;
    padding: 4.3rem 0;
    margin-top: 6.5rem;
  }
}
.p-index__example__box__inner {
  grid-column: 2/33;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__box__inner {
    grid-column: 2/20;
  }
}
.p-index__example__box .swiper-scrollbar-area {
  display: grid;
  grid-template-columns: repeat(32, 1fr);
  margin-top: min(6.1rem, 3.1770833333vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__box .swiper-scrollbar-area {
    grid-template-columns: repeat(19, 1fr);
    margin-top: 4.6rem;
  }
}
.p-index__example__box .swiper-scrollbar-area__inner {
  grid-column: 4/27;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__box .swiper-scrollbar-area__inner {
    grid-column: 2/17;
  }
}
.p-index__example__box .swiper-scrollbar {
  position: relative !important;
}
.p-index__example__box .swiper-scrollbar.swiper-scrollbar-horizontal {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
}
.p-index__example__slider {
  overflow: hidden;
}
.p-index__example__slider__wrapper {
  position: relative;
}
.p-index__example__slider__wrapper .swiper-button {
  position: absolute;
  top: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(17, 1fr);
  width: 100%;
  height: min(18.2rem, 9.4791666667vw);
  margin: auto;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__slider__wrapper .swiper-button {
    grid-template-columns: repeat(18, 1fr);
    height: 9.1rem;
  }
}
.p-index__example__slider__wrapper .swiper-button__inner {
  position: relative;
  grid-column: 1/16;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__slider__wrapper .swiper-button__inner {
    grid-column: 1/19;
  }
}
.p-index__example__slider__wrapper .swiper-button-prev,
.p-index__example__slider__wrapper .swiper-button-next {
  top: 0;
  width: min(6.2rem, 3.2291666667vw);
  height: 100%;
  background: rgba(136, 136, 136, 0.8);
  border-radius: min(0.4rem, 0.2083333333vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__slider__wrapper .swiper-button-prev,
  .p-index__example__slider__wrapper .swiper-button-next {
    width: 3.1rem;
    border-radius: 0.2rem;
  }
}
.p-index__example__slider__wrapper .swiper-button-prev::after,
.p-index__example__slider__wrapper .swiper-button-next::after {
  font-size: min(2.2rem, 1.1458333333vw);
  color: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__slider__wrapper .swiper-button-prev::after,
  .p-index__example__slider__wrapper .swiper-button-next::after {
    font-size: 1.1rem;
  }
}
.p-index__example__slider__wrapper .swiper-button-prev {
  left: max(-9rem, -4.6875vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__slider__wrapper .swiper-button-prev {
    left: -3.8rem;
  }
}
.p-index__example__slider__wrapper .swiper-button-next {
  right: 0;
}
.p-index__example__item {
  display: block;
  width: min(51.5rem, 26.8229166667vw) !important;
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__item {
    width: 25.7rem !important;
  }
}
.p-index__example__img-area {
  position: relative;
}
.p-index__example__tag {
  position: absolute;
  top: 0;
  left: 0;
  padding: min(0.7rem, 0.3645833333vw);
  font-size: min(1.6rem, 0.8333333333vw);
  color: #fff;
  background: #272828;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__tag {
    padding: 0.4rem 0.6rem;
    font-size: 1.1rem;
  }
}
.p-index__example__text-area {
  position: relative;
  padding: 0 min(4rem, 2.0833333333vw) min(2.2rem, 1.1458333333vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__text-area {
    padding: 0 2rem 0.7rem;
  }
}
.p-index__example__cate {
  display: inline-flex;
  align-items: center;
  height: min(4.2rem, 2.1875vw);
  padding: 0 min(1.5rem, 0.78125vw);
  margin-top: max(-1.8rem, -0.9375vw);
  font-size: min(2.8rem, 1.4583333333vw);
  font-weight: 700;
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__cate {
    height: 2.2rem;
    padding: 0 0.7rem;
    margin-top: -1.1rem;
    font-size: 1.6rem;
  }
}
.p-index__example__title {
  margin-top: min(2.9rem, 1.5104166667vw);
  font-size: min(2.6rem, 1.3541666667vw);
  font-weight: 700;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__title {
    margin-top: 1.4rem;
    font-size: 1.5rem;
  }
}
.p-index__example__spec {
  margin-top: min(3.6rem, 1.875vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec {
    margin-top: 1.5rem;
  }
}
.p-index__example__spec__item {
  display: flex;
  align-items: flex-end;
  padding: min(2rem, 1.0416666667vw) 0;
  border-bottom: 0.1rem solid #fff;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec__item {
    align-items: flex-start;
    padding: 0.6rem 0;
  }
}
.p-index__example__spec__item:first-of-type {
  border-top: 0.1rem solid #fff;
}
.p-index__example__spec__label {
  width: min(14.4rem, 7.5vw);
  font-size: min(1.8rem, 0.9375vw);
  font-weight: 700;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec__label {
    width: 10.7rem;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.p-index__example__spec__value {
  flex: 1;
  font-size: min(1.8rem, 0.9375vw);
  font-weight: 500;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec__value {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.p-index__example__spec__value__price-area {
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec__value__price-area {
    font-size: 1.1rem;
  }
}
.p-index__example__spec__value__price {
  font-size: min(2.4rem, 1.25vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__example__spec__value__price {
    font-size: 1.6rem;
  }
}
.p-index__news {
  margin-top: min(17.2rem, 10.75vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__news {
    margin-top: 4.4rem;
  }
}
.p-index__news__title-area {
  display: flex;
  gap: min(3.4rem, 2.125vw);
  align-items: flex-end;
}
@media screen and (max-width: 768.9px) {
  .p-index__news__title-area {
    gap: 2.5rem;
  }
}
.p-index__news__title-area__btn {
  margin-bottom: min(1.4rem, 0.875vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__news__title-area__btn {
    margin-bottom: 0.3rem;
  }
}
.p-index__news__contents {
  margin-top: min(4.4rem, 2.75vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__news__contents {
    margin-top: 2rem;
  }
}
.p-index__company {
  margin-top: min(15rem, 9.375vw);
  background: #F7F7F7;
}
@media screen and (max-width: 768.9px) {
  .p-index__company {
    margin-top: 13.6rem;
  }
}
.p-index__company__inner {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768.9px) {
  .p-index__company__inner {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 769px) {
  .p-index__company__inner {
    max-width: 192rem;
  }
}
.p-index__company__text-area {
  flex: 1;
  padding: min(11.2rem, 5.8333333333vw) min(9.3rem, 4.84375vw) min(4.4rem, 2.2916666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__text-area {
    padding: 4.2rem 10vw 6.1rem;
  }
}
@media screen and (max-width: 768.9px) {
  .p-index__company__img-area {
    height: 48.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-index__company__img-area {
    width: min(105.9rem, 55.15625vw);
  }
}
.p-index__company__img-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index__company__info {
  margin-top: min(5rem, 2.6041666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__info {
    margin-top: 5rem;
  }
}
.p-index__company__info__company-name {
  font-size: min(2.4rem, 1.25vw);
  font-weight: 700;
  line-height: 1.7916666667;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-index__company__info__company-name {
    font-size: 1.6rem;
    line-height: 1.34375;
  }
}
.p-index__company__info__text {
  font-size: min(1.8rem, 0.9375vw);
  line-height: 2.7222222222;
}
@media screen and (max-width: 768.9px) {
  .p-index__company__info__text {
    font-size: 1.2rem;
    line-height: 2;
  }
}
.p-index__company__info__company-name + .p-index__company__info__text {
  margin-top: min(2.4rem, 1.25vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__info__company-name + .p-index__company__info__text {
    margin-top: 1.6rem;
  }
}
.p-index__company__btn {
  margin-top: min(2rem, 1.0416666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__btn {
    margin-top: 1.6rem;
  }
}
.p-index__company__btn__map {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(19.2rem, 10vw);
  height: min(5.4rem, 2.8125vw);
  font-size: min(1.6rem, 0.8333333333vw);
  font-weight: 700;
  color: #fff;
  background: #2F2F2F;
  border-radius: min(3.2rem, 1.6666666667vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__btn__map {
    width: 12.8rem;
    height: 3.4rem;
    font-size: 1.1rem;
    border-radius: 1.7rem;
  }
}
@media screen and (min-width: 769px) {
  .p-index__company__btn__map {
    transition: background 0.3s cubic-bezier(0.5, 0, 0, 1);
  }
  .p-index__company__btn__map:hover {
    background: rgb(72.5, 72.5, 72.5);
  }
}
.p-index__company__link {
  margin-top: min(8.5rem, 4.4270833333vw);
}
@media screen and (max-width: 768.9px) {
  .p-index__company__link {
    margin-top: 4.2rem;
  }
}

.p-news-single__article {
  margin-top: min(250rem, 15.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article {
    margin-top: 6rem;
  }
}
.p-news-single__article__contents {
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  padding-top: min(7.8rem, 4.875vw);
  border-top: 0.1rem solid #E0E0E0;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__contents {
    grid-template-columns: repeat(18, 1fr);
  }
}
.p-news-single__article__contents__inner {
  grid-column: 3/15;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__contents__inner {
    grid-column: 2/18;
  }
}
.p-news-single__article__info {
  display: flex;
  gap: min(2.4rem, 1.5vw);
  align-items: center;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__info {
    gap: 1.2rem;
  }
}
.p-news-single__article__cate {
  padding: min(0.6rem, 0.375vw) min(1.8rem, 1.125vw);
  font-size: min(1.5rem, 0.9375vw);
  font-weight: 700;
  color: #fff;
  background: #1D4A9E;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__cate {
    padding: 0.4rem 0.9rem;
    font-size: 1.1rem;
  }
}
.p-news-single__article__date {
  font-size: min(2rem, 1.25vw);
  font-weight: 500;
  letter-spacing: 0.015em;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__date {
    font-size: 1.3rem;
  }
}
.p-news-single__article__title {
  margin-top: min(2rem, 1.25vw);
  font-size: min(4.8rem, 2.6666666667vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.047em;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__title {
    margin-top: 1rem;
    font-size: 2rem;
  }
}
.p-news-single__article__main {
  margin-top: min(5rem, 3.125vw);
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__main {
    margin-top: 2.5rem;
  }
}
.p-news-single__article__btn {
  margin-top: min(9.3rem, 5.8125vw);
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .p-news-single__article__btn {
    margin-top: 4.6rem;
  }
}

.p-news__list {
  margin-top: min(250rem, 15.625vw);
}
@media screen and (max-width: 768.9px) {
  .p-news__list {
    margin-top: 6rem;
  }
}
.p-news__list__pagenation {
  margin-top: min(70rem, 4.375vw);
}
@media screen and (max-width: 768.9px) {
  .p-news__list__pagenation {
    margin-top: 3rem;
  }
}

.u-bg-color__beige {
  background-color: #F7F2EA;
}

.u-grid {
  display: grid;
}
.u-grid__cols__2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.u-grid__cols__3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.u-grid__cols__4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.u-grid__gap__1rem {
  gap: 1rem;
}

@media screen and (max-width: 768.9px) {
  .sm\:u-grid {
    display: grid;
  }
  .sm\:u-grid__cols__1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .sm\:u-grid__cols__2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:u-grid__cols__3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:u-grid__cols__4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.u-leading__base {
  line-height: 2;
}

:root {
  --radius-xs: 0.2rem;
  --radius-sm: 0.4rem;
  --radius-md: 0.6rem;
  --radius-lg: 0.8rem;
  --radius-xl: 1.2rem;
  --radius-2xl: 1.6rem;
  --radius-3xl: 2.4rem;
  --radius-4xl: 3.2rem;
}

.u-rounded__xs {
  border-radius: var(--radius-xs);
}
.u-rounded__sm {
  border-radius: var(--radius-sm);
}
.u-rounded__md {
  border-radius: var(--radius-md);
}
.u-rounded__lg {
  border-radius: var(--radius-lg);
}
.u-rounded__xl {
  border-radius: var(--radius-xl);
}
.u-rounded__2xl {
  border-radius: var(--radius-2xl);
}
.u-rounded__3xl {
  border-radius: var(--radius-3xl);
}
.u-rounded__4xl {
  border-radius: var(--radius-4xl);
}

.u-td__under-line {
  text-decoration: underline;
}

.u-text-decotration__underline {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .u-text-decotration__underline__hover-none:hover {
    text-decoration: none;
  }
}

.u-tracking__base {
  letter-spacing: 0.1em;
}