@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  scroll-behavior: smooth;
  scroll-padding-top: min(101.5625px, 13.5416666667vw);
}

body {
  margin: 0;
  padding: 0;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  color: #4d4d4d;
}

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

a, button {
  cursor: revert;
  color: inherit;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

ol, ul, menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.l-header {
  position: fixed;
  max-width: 750px;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100001;
  height: min(101.5625px, 13.5416666667vw);
  background-color: rgba(34, 24, 21, 0.8);
}
.l-header__inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: min(34px, 4.5333333333vw);
}
.l-header__openbtn {
  width: min(39.0625px, 5.2083333333vw);
  height: min(25px, 3.3333333333vw);
  position: relative;
  cursor: pointer;
}
.l-header__openbtn.is-active span:first-of-type {
  top: min(7.8125px, 1.0416666667vw);
  transform: rotate(45deg);
}
.l-header__openbtn.is-active span:nth-of-type(2) {
  opacity: 0;
}
.l-header__openbtn.is-active span:last-of-type {
  bottom: auto;
  top: min(7.8125px, 1.0416666667vw);
  transform: rotate(-45deg);
}
.l-header__openbtn span {
  position: absolute;
  width: 100%;
  height: min(1.953125px, 0.2604166667vw);
  display: inline-block;
  background-color: #fff;
  transition: all 0.6s;
}
.l-header__openbtn span:first-of-type {
  top: 0;
}
.l-header__openbtn span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.l-header__openbtn span:last-of-type {
  bottom: 0;
}
.l-header__navwrap {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 750px;
  top: min(101.5625px, 13.5416666667vw);
  background-color: #221815;
  z-index: 100001;
  height: calc(100vh - min(101.5625px, 13.5416666667vw));
  overflow-y: auto;
  transition: all 0.6s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  padding: min(23.4375px, 3.125vw) min(62.5px, 8.3333333333vw) min(62.5px, 8.3333333333vw);
}
.l-header__navwrap.is-panelactive {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.l-header__nav-list {
  display: flex;
  flex-direction: column;
}
.l-header__nav-item a {
  text-align: center;
  display: block;
  padding: min(31.25px, 4.1666666667vw);
  color: #fff;
  border-bottom: 1px solid #fff;
  text-decoration: none;
  font-size: min(25px, 3.3333333333vw);
}
.l-header__logo {
  width: min(267.96875px, 35.7291666667vw);
  margin-left: min(168px, 22.4vw);
  margin-top: min(4px, 0.5333333333vw);
}

.l-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 750px;
  margin: 0 auto;
}
.l-wrapper section {
  position: relative;
}

.c-pa {
  position: absolute;
  z-index: 1;
}

.p-kv {
  margin-bottom: min(31.25px, 4.1666666667vw);
}
.p-kv__text {
  width: min(679.6875px, 90.625vw);
  top: min(97.65625px, 13.0208333333vw);
  right: min(3.90625px, 0.5208333333vw);
}
.p-kv__title {
  width: min(589.0625px, 78.5416666667vw);
  left: min(61.71875px, 8.2291666667vw);
  top: min(488.28125px, 65.1041666667vw);
}

.p-float {
  position: fixed;
  bottom: min(23.4375px, 3.125vw);
  left: 50%;
  transform: translateX(-50%);
  width: min(603.125px, 80.4166666667vw);
  z-index: 99;
}

.p-cta {
  z-index: 3;
  width: min(735.9375px, 98.125vw);
  padding-left: min(31.25px, 4.1666666667vw);
}
.p-cta__btn {
  width: min(603.125px, 80.4166666667vw);
  bottom: min(50.78125px, 6.7708333333vw);
  left: min(72.65625px, 9.6875vw);
  animation: fuwafuwa 2s linear infinite;
}
.p-cta__text {
  width: min(565.625px, 75.4166666667vw);
  margin: 0 auto min(46.875px, 6.25vw);
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.p-intro {
  z-index: 1;
  margin-top: max(-397.65625px, -53.0208333333vw);
}
.p-intro__img01 {
  position: relative;
  z-index: 1;
  width: min(663.28125px, 88.4375vw);
}
.p-intro__img02 {
  margin-left: auto;
  width: min(395.3125px, 52.7083333333vw);
  position: relative;
  z-index: 2;
  margin-top: max(-367.1875px, -48.9583333333vw);
}
.p-intro__title {
  width: min(613.59375px, 81.8125vw);
  margin-top: min(3.90625px, 0.5208333333vw);
}
.p-intro__text {
  position: relative;
  padding-top: min(135.15625px, 18.0208333333vw);
}
.p-intro__text::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #332a27;
  width: min(666.40625px, 88.8541666667vw);
  height: min(888.28125px, 118.4375vw);
  z-index: -1;
  top: min(54.6875px, 7.2916666667vw);
}
.p-intro__text img {
  width: min(710.15625px, 94.6875vw);
}

.p-comparison {
  margin-top: max(-50.78125px, -6.7708333333vw);
}
.p-comparison__bg {
  padding-top: min(250.78125px, 33.4375vw);
  padding-bottom: min(142.1875px, 18.9583333333vw);
  background: center/cover no-repeat url(../images/bg-comparison.jpg);
}
.p-comparison__title {
  width: min(509.375px, 67.9166666667vw);
  margin: 0 0 min(31.25px, 4.1666666667vw) min(109.375px, 14.5833333333vw);
}
.p-comparison__table {
  width: min(657.03125px, 87.6041666667vw);
  margin: 0 auto min(46.875px, 6.25vw);
}
.p-comparison__text {
  width: min(437.5px, 58.3333333333vw);
  margin: 0 auto;
}

.p-price {
  z-index: 2;
}
.p-price::before {
  position: absolute;
  content: "";
  display: block;
  z-index: 1;
  background: center/contain no-repeat url(../images/tx-price-fact.png);
  left: 50%;
  top: 0;
  transform: translate(-50%, -48%);
  width: min(164.0625px, 21.875vw);
  height: min(82.03125px, 10.9375vw);
}
.p-price__bg {
  position: relative;
  background: center/cover no-repeat url(../images/bg-price.jpg);
  padding-top: min(93.75px, 12.5vw);
  padding-bottom: min(103.125px, 13.75vw);
}
.p-price__bg::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: rgba(78, 74, 70, 0.36);
}
.p-price__bg > * {
  position: relative;
  z-index: 2;
}
.p-price__text {
  width: min(546.875px, 72.9166666667vw);
  margin: 0 auto min(107.8125px, 14.375vw);
}
.p-price__title {
  width: min(256.25px, 34.1666666667vw);
  margin: 0 auto min(22.65625px, 3.0208333333vw);
}
.p-price__table {
  width: min(696.09375px, 92.8125vw);
  margin: 0 auto;
}

.p-strengths__bg {
  background: center/cover no-repeat url(../images/bg-strengths.jpg);
  padding-top: min(190.625px, 25.4166666667vw);
  padding-bottom: min(132.8125px, 17.7083333333vw);
}
.p-strengths__title {
  width: min(561.71875px, 74.8958333333vw);
  margin: 0 auto min(187.5px, 25vw);
}
.p-strengths__subtitle {
  width: min(600px, 80vw);
  margin: 0 auto min(17.1875px, 2.2916666667vw);
}
.p-strengths__slider .splide__slide {
  width: min(601.5625px, 80.2083333333vw);
  margin-right: min(32.8125px, 4.375vw);
}
.p-strengths__slider .splide__arrow--prev {
  left: min(48.4375px, 6.4583333333vw);
}
.p-strengths__slider .splide__arrow--next {
  right: min(48.4375px, 6.4583333333vw);
}
.p-strengths__text {
  width: min(534.375px, 71.25vw);
  margin: min(69.53125px, 9.2708333333vw) auto;
}

.p-concept__bg01 {
  background: top center/100% auto no-repeat url(../images/bg-concept01.jpg);
  padding-top: min(71.875px, 9.5833333333vw);
  padding-bottom: min(39.0625px, 5.2083333333vw);
}
.p-concept__title {
  width: min(724.21875px, 96.5625vw);
  margin-left: max(-56.25px, -7.5vw);
  margin-bottom: min(753.90625px, 100.5208333333vw);
}
.p-concept__text01 {
  position: relative;
}
.p-concept__text01::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #44403d;
  width: min(9.375px, 1.25vw);
  height: min(160.9375px, 21.4583333333vw);
  left: min(371.09375px, 49.4791666667vw);
  top: max(-100.78125px, -13.4375vw);
}
.p-concept__text01 img {
  max-width: none;
  width: min(778.90625px, 103.8541666667vw);
  margin-left: max(-40.625px, -5.4166666667vw);
}
.p-concept__bg02 {
  background: center/cover no-repeat url(../images/bg-concept02.jpg);
  padding-top: min(78.125px, 10.4166666667vw);
}
.p-concept__text02 {
  width: min(671.875px, 89.5833333333vw);
  margin: 0 auto max(-9.375px, -1.25vw);
}

.p-commitment {
  padding-top: min(39.0625px, 5.2083333333vw);
  margin-bottom: min(60.9375px, 8.125vw);
}
.p-commitment__bg {
  background: top center/100% auto no-repeat url(../images/bg-commitment.jpg);
  padding-top: min(150px, 20vw);
}
.p-commitment__title {
  width: min(682.8125px, 91.0416666667vw);
  margin-left: max(-54.6875px, -7.2916666667vw);
  margin-bottom: min(873.4375px, 116.4583333333vw);
}
.p-commitment__text {
  position: relative;
  width: min(456.25px, 60.8333333333vw);
  margin-left: min(168.75px, 22.5vw);
  margin-bottom: min(149.21875px, 19.8958333333vw);
}
.p-commitment__text::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #44403d;
  width: min(9.375px, 1.25vw);
  height: min(160.9375px, 21.4583333333vw);
  left: min(204.6875px, 27.2916666667vw);
  top: max(-213.28125px, -28.4375vw);
}
.p-commitment__list-item01 {
  width: min(684.375px, 91.25vw);
  margin-bottom: min(18.75px, 2.5vw);
}
.p-commitment__list-item02 {
  width: min(679.6875px, 90.625vw);
  margin-left: auto;
  margin-bottom: min(18.75px, 2.5vw);
}
.p-commitment__list-item03 {
  width: min(687.5px, 91.6666666667vw);
  margin-bottom: min(18.75px, 2.5vw);
}
.p-commitment__list-item04 {
  width: min(689.84375px, 91.9791666667vw);
  margin-left: auto;
}

.p-case {
  margin-bottom: min(39.0625px, 5.2083333333vw);
}
.p-case__bg {
  background: top center/100% auto no-repeat url(../images/bg-case.jpg);
  padding-top: min(128.90625px, 17.1875vw);
}
.p-case__title {
  width: min(696.09375px, 92.8125vw);
  margin-left: max(-54.6875px, -7.2916666667vw);
  margin-bottom: min(832.8125px, 111.0416666667vw);
}
.p-case__slider .splide__arrow {
  top: 55%;
}
.p-case__slider .splide__arrow--prev {
  left: min(23.4375px, 3.125vw);
}
.p-case__slider .splide__arrow--next {
  right: min(23.4375px, 3.125vw);
}
.p-case__slider01 {
  margin-bottom: min(78.125px, 10.4166666667vw);
}
.p-case__slider01::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #44403d;
  width: min(9.375px, 1.25vw);
  height: min(160.9375px, 21.4583333333vw);
  left: min(371.09375px, 49.4791666667vw);
  top: max(-173.4375px, -23.125vw);
}
.p-case__slider02 {
  margin-bottom: min(71.875px, 9.5833333333vw);
}

.p-service {
  margin-bottom: min(120.3125px, 16.0416666667vw);
}
.p-service__bg {
  background: top center/100% auto no-repeat url(../images/bg-service.jpg);
  padding-top: min(129.6875px, 17.2916666667vw);
}
.p-service__title {
  width: min(677.34375px, 90.3125vw);
  margin-left: max(-54.6875px, -7.2916666667vw);
  margin-bottom: min(882.8125px, 117.7083333333vw);
}
.p-service__text {
  position: relative;
  width: min(536.71875px, 71.5625vw);
  margin-left: min(167.96875px, 22.3958333333vw);
}
.p-service__text::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #44403d;
  width: min(9.375px, 1.25vw);
  height: min(160.9375px, 21.4583333333vw);
  left: min(203.125px, 27.0833333333vw);
  top: max(-223.4375px, -29.7916666667vw);
}

.p-support::before {
  position: absolute;
  content: "";
  display: block;
  z-index: 2;
  background: center/contain no-repeat url(../images/hx-support.png);
  width: min(166.40625px, 22.1875vw);
  height: min(1107.8125px, 147.7083333333vw);
  right: max(-7.8125px, -1.0416666667vw);
  top: min(15.625px, 2.0833333333vw);
}
.p-support__bg {
  background: top center/100% auto no-repeat url(../images/bg-support.jpg);
  padding-bottom: min(117.1875px, 15.625vw);
}
.p-support__top {
  background: top center/cover no-repeat url(../images/bg-support-top.jpg);
  padding-top: min(148.4375px, 19.7916666667vw);
  padding-bottom: min(181.25px, 24.1666666667vw);
}
.p-support__top-text {
  width: min(564.0625px, 75.2083333333vw);
  margin: 0 auto;
}
.p-support__list {
  position: relative;
  z-index: 1;
  margin-top: max(-54.6875px, -7.2916666667vw);
}
.p-support__list-item {
  width: min(718.75px, 95.8333333333vw);
}
.p-support__list-item:nth-of-type(2n) {
  margin-left: auto;
}
.p-support__list-item:not(:last-of-type) {
  margin-bottom: min(54.6875px, 7.2916666667vw);
}

.p-flow__bg {
  background-color: #332a27;
  padding-top: min(106.25px, 14.1666666667vw);
  padding-bottom: min(110.9375px, 14.7916666667vw);
}
.p-flow__title {
  width: min(353.125px, 47.0833333333vw);
  margin: 0 auto min(85.9375px, 11.4583333333vw);
}
.p-flow__list-item {
  width: min(715.625px, 95.4166666667vw);
}
.p-flow__list-item:not(:last-of-type) {
  margin-bottom: min(66.40625px, 8.8541666667vw);
}

.p-faq {
  padding-top: min(132.8125px, 17.7083333333vw);
  padding-bottom: min(97.65625px, 13.0208333333vw);
}
.p-faq__title {
  width: min(352.34375px, 46.9791666667vw);
  margin: 0 auto min(90.625px, 12.0833333333vw);
}
.p-faq__wrap {
  margin: 0 auto;
  width: min(671.875px, 89.5833333333vw);
}
.p-faq__item:not(:last-of-type) {
  margin-bottom: min(27.34375px, 3.6458333333vw);
}
.p-faq__head {
  display: flex;
  align-items: center;
  border-color: #221815;
  border-style: solid;
  border-width: min(2.34375px, 0.3125vw);
  padding: min(15.625px, 2.0833333333vw) min(20.3125px, 2.7083333333vw);
  column-gap: min(25px, 3.3333333333vw);
}
.p-faq__head::before {
  content: "";
  display: block;
  background: center/contain no-repeat url(../images/ic-q.png);
  width: min(35.9375px, 4.7916666667vw);
  height: min(35.9375px, 4.7916666667vw);
}
.p-faq__head-txt {
  font-size: min(30.46875px, 4.0625vw);
  line-height: 1.8084615385;
  letter-spacing: 0.04em;
}
.p-faq__body {
  padding: min(15.625px, 2.0833333333vw) 0 min(15.625px, 2.0833333333vw) min(6.25px, 0.8333333333vw);
}
.p-faq__body-txt {
  font-size: min(28.90625px, 3.8541666667vw);
  line-height: 1.5135135135;
  letter-spacing: -0.07em;
}

.p-company {
  margin-top: min(109.375px, 14.5833333333vw);
}
.p-company__title {
  margin-bottom: min(92.96875px, 12.3958333333vw);
}
.p-company__tablewrap {
  width: min(671.875px, 89.5833333333vw);
  margin: 0 auto;
}
.p-company__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.p-company__table th {
  text-align: left;
  width: min(124.21875px, 16.5625vw);
  font-weight: 400;
  font-size: min(25px, 3.3333333333vw);
  line-height: 1.438741216;
  border-bottom: 1px solid #b3b3b3;
  border-right: 1px solid #b3b3b3;
  letter-spacing: -0.05em;
  white-space: nowrap;
}
.p-company__table td {
  font-weight: 400;
  font-size: min(25px, 3.3333333333vw);
  line-height: 1.625;
  border-bottom: 1px solid #b3b3b3;
  padding-left: min(28.125px, 3.75vw);
  letter-spacing: -0.06em;
}
.p-company__table tr:first-of-type th, .p-company__table tr:first-of-type td {
  padding-bottom: min(23.4375px, 3.125vw);
}
.p-company__table tr:not(:first-of-type) td {
  padding-top: min(21.09375px, 2.8125vw);
  padding-bottom: min(21.09375px, 2.8125vw);
}

.l-footer {
  background-color: #221815;
  margin-top: min(46.875px, 6.25vw);
  padding-top: min(56.25px, 7.5vw);
  padding-bottom: min(171.875px, 22.9166666667vw);
}
.l-footer__logo {
  display: block;
  width: min(267.96875px, 35.7291666667vw);
  margin: 0 auto;
}
.l-footer__copy {
  width: min(444.53125px, 59.2708333333vw);
  margin: min(50px, 6.6666666667vw) auto 0;
}

.splide {
  position: relative;
}

.splide__arrow {
  background-color: transparent;
  border: none;
  background: center/contain no-repeat url(../images/ic-next.png);
  width: min(53.90625px, 7.1875vw);
  height: min(53.90625px, 7.1875vw);
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.splide__arrow.splide__arrow--prev {
  transform: scale(-1, 1) translateY(-50%);
}
.splide__arrow svg {
  display: none;
}