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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.wpcf7-list-item {
  margin-left: 0;
}

/*----------------------------------
    clamp関数
-----------------------------------*/
/*----------------------------------
    fz-rem関数
-----------------------------------*/
/*波形のアニメーション*/
@-webkit-keyframes circleanimeh {
  0% {
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
}
@keyframes circleanimeh {
  0% {
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
}
/*波形のアニメーション*/
@-webkit-keyframes circleanime {
  0% {
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
}
@keyframes circleanime {
  0% {
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
}
/*波形が広がるアニメーション*/
@-webkit-keyframes circleanime2 {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
}
@keyframes circleanime2 {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
}
/*----------------------------------
  テキストの下線アニメーション
-----------------------------------*/
@-webkit-keyframes underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes underline {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 0px;
  background-color: #d8ddd8;
}

body {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 350;
  line-height: 1;
}

.c-bg {
  overflow-x: hidden;
  position: relative;
  background: #d8ddd8;
}
.c-bg::before {
  content: "";
  background: url(../img/hake3.webp) no-repeat top center/100% 1770px;
  mix-blend-mode: color-burn;
  position: absolute;
  top: -80px;
  right: 0;
  bottom: 0;
  left: 0;
}

img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .hidden-pc {
    display: none;
  }
}

.hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .hidden-sp {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .dib-pc {
    display: inline-block;
  }
}

.l-inner {
  padding-inline: 16px;
  max-width: 542px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding-inline: 30px;
    max-width: 828px;
  }
}
@media screen and (min-width: 950px) {
  .l-inner {
    padding-inline: 60px;
    max-width: 1020px;
  }
}
@media screen and (min-width: 1200px) {
  .l-inner {
    padding-inline: 100px;
    max-width: 1540px;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: transparent;
  z-index: 997;
  -webkit-transition: background 0.7s ease, color 0.4s ease;
  transition: background 0.7s ease, color 0.4s ease;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 80px;
  }
}
.l-header.in-service {
  background: rgba(0, 0, 0, 0.2);
}
.l-header.in-service .menu-item a {
  color: #fff;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.l-header.in-service .c-button.c-contact {
  background: #fff;
  color: #000000;
  -webkit-transition: background 0.4s ease, color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease;
}
.l-header.in-service .c-header__logo svg path {
  fill: #fff;
  -webkit-transition: fill 0.4s ease;
  transition: fill 0.4s ease;
}

.l-header__inner {
  padding-block: 26px;
  padding-inline: 28px;
  max-width: 666px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding-block: 31px;
    padding-inline: 60px;
    max-width: 888px;
  }
}
@media screen and (min-width: 950px) {
  .l-header__inner {
    padding-inline: 60px;
    max-width: 1020px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__inner {
    padding-inline: 160px;
    max-width: 1760px;
  }
}

.c-header__logo {
  width: 155px;
  -webkit-transform: opacity 0.3s;
          transform: opacity 0.3s;
  -webkit-transition: fill 0.4s ease;
  transition: fill 0.4s ease;
}
.c-header__logo:hover {
  opacity: 0.7;
}

.p-header__nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-header__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 950px) {
  .p-header__nav__list {
    gap: 32px;
  }
}

.menu-item a {
  color: #000000;
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
  -webkit-transform: opacity 0.3s;
          transform: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .menu-item a {
    font-size: 1.6rem;
  }
}
.menu-item a:hover {
  opacity: 0.7;
}

/*----------------------------------
    drawer
-----------------------------------*/
.c-drawer-icon {
  margin-top: 4px;
  width: 36px;
  height: 16px;
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-drawer-icon {
    display: none;
  }
}
.c-drawer-icon.is-checked .c-drawer-icon__bar1 {
  -webkit-transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  width: 20px;
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background: #fff;
  z-index: 999;
}
.c-drawer-icon.is-checked .c-drawer-icon__bar2 {
  -webkit-transition: background 10ms 300ms ease;
  transition: background 10ms 300ms ease;
  background: transparent;
}
.c-drawer-icon.is-checked .c-drawer-icon__bar3 {
  -webkit-transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  width: 20px;
  top: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background: #fff;
  z-index: 999;
}

.c-drawer-icon__bar1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 1px;
  border-radius: 2px;
  background: #2e2e2e;
  -webkit-transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
}

.c-drawer-icon__bar2 {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 36px;
  height: 1px;
  border-radius: 2px;
  background: #2e2e2e;
  -webkit-transition: background 10ms 300ms ease, -webkit-transform 0.3s linear;
  transition: background 10ms 300ms ease, -webkit-transform 0.3s linear;
  transition: transform 0.3s linear, background 10ms 300ms ease;
  transition: transform 0.3s linear, background 10ms 300ms ease, -webkit-transform 0.3s linear; /* 背景色の遅延を先に指定 */
}

.c-drawer-icon__bar3 {
  position: absolute;
  top: 85%;
  left: 0;
  width: 36px;
  height: 1px;
  border-radius: 2px;
  background: #2e2e2e;
  -webkit-transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
}

.c-drawer-content {
  z-index: 995;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  padding: 26px 35px;
  display: none;
  -webkit-transition: -webkit-transform 0.3s linear;
  transition: -webkit-transform 0.3s linear;
  transition: transform 0.3s linear;
  transition: transform 0.3s linear, -webkit-transform 0.3s linear;
  text-align: center;
  background-color: #2e2e2e;
  opacity: 0.85;
}
.c-drawer-content a {
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 2.8rem;
  font-weight: 300;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.c-drawer-content a:hover {
  opacity: 0.7;
}

.drawer-nav {
  padding-top: 54px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}

.drawer-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}

.l-fv {
  position: relative;
  z-index: 3;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-fv {
    padding-top: 80px;
  }
}

.l-fv__inner {
  position: relative;
  z-index: 1;
  padding-inline: 28px;
  max-width: 666px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-fv__inner {
    padding-inline: 60px;
    max-width: 888px;
  }
}
@media screen and (min-width: 950px) {
  .l-fv__inner {
    padding-inline: 60px;
    max-width: 1020px;
  }
}
@media screen and (min-width: 1200px) {
  .l-fv__inner {
    padding-inline: 160px;
    max-width: 1760px;
  }
}

.l-works__inner {
  position: relative;
  z-index: 2;
  padding-inline: 28px;
  max-width: 666px;
  margin-left: 6px;
  padding-top: 72px;
}
@media screen and (min-width: 768px) {
  .l-works__inner {
    padding-top: 338px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .l-works__inner {
    padding-inline: 60px;
    max-width: 888px;
  }
}
@media screen and (min-width: 950px) {
  .l-works__inner {
    padding-inline: 60px;
    max-width: 1020px;
  }
}
@media screen and (min-width: 1200px) {
  .l-works__inner {
    padding-inline: 160px;
    max-width: 1760px;
  }
}

.l-service {
  padding-top: 83px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-service {
    padding-top: 101px;
  }
}

.l-service__inner {
  position: relative;
  z-index: 1;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 650px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-service__inner {
    padding-left: 30px;
    padding-right: 30px;
    max-width: 828px;
  }
}
@media screen and (min-width: 950px) {
  .l-service__inner {
    padding-left: 60px;
    padding-right: 60px;
    max-width: 1120px;
  }
}
@media screen and (min-width: 1200px) {
  .l-service__inner {
    padding-left: 99px;
    padding-right: 99px;
    max-width: 1443px;
  }
}

.l-about {
  position: relative;
  z-index: 3;
  padding-block: 105px 100px;
  background: #d8ddd8;
  overflow: hidden;
}
.l-about::before {
  content: "";
  background: url(../img/hakeabout.webp) no-repeat top center/1043px;
  mix-blend-mode: color-burn;
  position: absolute;
  top: 30px;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .l-about::before {
    background: url(../img/hakeabout.webp) no-repeat top left/80%;
    top: -80px;
  }
}
@media screen and (min-width: 768px) {
  .l-about {
    padding-block: 105px 160px;
  }
}

.l-about__inner {
  position: relative;
  z-index: 1;
  padding-inline: 36px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-about__inner {
    padding-inline: 60px;
  }
}
@media screen and (min-width: 950px) {
  .l-about__inner {
    padding-inline: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .l-about__inner {
    padding-inline: 160px;
  }
}

.l-footer {
  background: #2e2e2e;
}

.c-footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-footer__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.c-footer__wrap1.is-disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.c-footer__wrap1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-block: 40px;
  padding-inline: 36px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-footer__wrap1 {
    padding-inline: calc(30px + 50 * (100vw - 360px) / 590);
    width: 74%;
    gap: 24px;
  }
}
@media screen and (min-width: 950px) {
  .c-footer__wrap1 {
    padding-right: 34px;
    width: 69%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 69%;
            flex: 1 1 69%;
    gap: 34px;
    gap: 24px;
  }
}
@media screen and (min-width: 1200px) {
  .c-footer__wrap1 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-left: calc(65px + 95 * (100vw - 1200px) / 240);
    padding-right: 64px;
    gap: 64px;
  }
}
.c-footer__wrap1:hover .c-footer__button-mark svg circle {
  fill: #f5f6f3;
  stroke: #f5f6f3;
}
.c-footer__wrap1:hover .c-footer__button-mark svg path {
  stroke: #000000;
}

@media screen and (min-width: 950px) {
  .c-footer__text-wrap {
    width: 440px;
  }
}
@media screen and (min-width: 1200px) {
  .c-footer__text-wrap {
    width: 440px;
  }
}
.c-footer__text-wrap p {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2; /* 28px */
}

.c-footer__button-mark {
  width: 61px;
  position: relative;
  margin-left: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 950px) {
  .c-footer__button-mark {
    margin-left: 0;
  }
}
.c-footer__button-mark img {
  width: 61px;
}

/*波形を2つ設定*/
.c-footer__wrap1:hover .c-footer__button-mark::after,
.c-footer__wrap1:hover .c-footer__button-mark::before {
  content: "";
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  left: -15%;
  top: -15%;
  /*波形の形状*/
  border: 1px solid #fff;
  width: 130%;
  height: 130%;
  border-radius: 50px;
  /*はじめは不透明*/
  opacity: 0;
  /*ループするアニメーションの設定*/
  -webkit-animation: 1s circleanime linear infinite;
          animation: 1s circleanime linear infinite;
}

/*波形の2つ目は0.5秒遅らせてアニメーション*/
.c-footer__wrap1:hover .c-footer__button-mark::before {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.c-footer__wrap2 {
  padding-block: 24.5px;
  border-top: 1px solid #5f5f5f;
}
@media screen and (min-width: 768px) {
  .c-footer__wrap2 {
    width: 26%;
    -webkit-padding-start: 54px;
            padding-inline-start: 54px;
    padding-block: 57.5px;
    border-left: 1px solid #5f5f5f;
    border-top: none;
  }
}
@media screen and (min-width: 950px) {
  .c-footer__wrap2 {
    width: 31%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 31%;
            flex: 1 1 31%;
    -webkit-padding-start: 64px;
            padding-inline-start: 64px;
    padding-block: 57.5px;
    border-left: 1px solid #5f5f5f;
    border-top: none;
  }
}

.c-footer__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .c-footer__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
}

.c-footer__link-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  /* Body9_en */
  font-family: "Raleway", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
}

.c-footer__link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  /* Body9_en */
  font-family: "Raleway", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
}
.c-footer__link:hover {
  opacity: 0.6;
}

.c-footer__link-sp {
  margin-top: 10px;
  padding-left: 15px;
  position: relative;
}
.c-footer__link-sp:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 11px;
  height: 1px;
  background: #fff;
}

.c-footer-copy {
  padding-block: 28px;
  border-top: 1px solid #5f5f5f;
}

.c-footer-copy-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-footer-copy__text p {
  color: #fff;
  /* Body10_en */
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 300;
}

.l-un-home {
  padding-block: 100px 160px;
}
.l-un-home__inner {
  padding-inline: 28px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-home__inner {
    padding-inline: 30px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-home__inner {
    padding-inline: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .l-un-home__inner {
    padding-inline: 100px;
  }
}
@media screen and (min-width: 1400px) {
  .l-un-home__inner {
    padding-inline: 160px;
  }
}

.l-un-single {
  padding-top: 118px;
}

.l-un-single__inner {
  padding-inline: 28px;
  max-width: 556px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-single__inner {
    padding-inline: 30px;
    max-width: 828px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-single__inner {
    padding-inline: 80px;
    max-width: 1120px;
  }
}
@media screen and (min-width: 1200px) {
  .l-un-single__inner {
    padding-inline: 120px;
    max-width: 1480px;
  }
}
@media screen and (min-width: 1400px) {
  .l-un-single__inner {
    padding-inline: 160px;
    max-width: 1440px;
  }
}

.l-un-price {
  padding-block: 86px 100px;
}
@media screen and (min-width: 950px) {
  .l-un-price {
    padding-block: 110px 160px;
  }
}

.l-un-price {
  padding-inline: 28px;
  max-width: 526px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-price {
    padding-inline: 60px;
    max-width: 856px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-price {
    padding-inline: 60px;
  }
}
.l-un-contact {
  padding-block: 86px 100px;
}
@media screen and (min-width: 768px) {
  .l-un-contact {
    padding-block: 110px 160px;
  }
}

.l-un-contact__inner {
  padding-inline: 28px;
  max-width: 566px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-contact__inner {
    padding-inline: 30px;
    max-width: 604px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-contact__inner {
    padding-inline: 60px;
    max-width: 664px;
  }
}
@media screen and (min-width: 1200px) {
  .l-un-contact__inner {
    padding-inline: 100px;
    max-width: 744px;
  }
}

.l-un-contact-thanks {
  padding-block: 86px 237px;
}
@media screen and (min-width: 768px) {
  .l-un-contact-thanks {
    padding-block: 200px 314px;
  }
}

.l-un-contact-thanks-inner {
  padding-inline: 28px;
  max-width: 576px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-contact-thanks-inner {
    padding-inline: 30px;
    max-width: 604px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-contact-thanks-inner {
    padding-inline: 60px;
    max-width: 664px;
  }
}
@media screen and (min-width: 1200px) {
  .l-un-contact-thanks-inner {
    padding-inline: 100px;
    max-width: 744px;
  }
}

.c-un__contact-thanks-text p {
  line-height: 2;
}

.l-un-404 {
  padding-block: 86px 237px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-un-404 {
    padding-block: 200px 314px;
  }
}

.l-un-404-inner {
  padding-inline: 28px;
  max-width: 614px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-un-404-inner {
    padding-inline: 30px;
    max-width: 618px;
  }
}
@media screen and (min-width: 950px) {
  .l-un-404-inner {
    padding-inline: 60px;
    max-width: 678px;
  }
}
@media screen and (min-width: 1200px) {
  .l-un-404-inner {
    padding-inline: 100px;
    max-width: 758px;
  }
}

.c-404__img {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-404__img {
    width: 727px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-40deg);
            transform: translateX(-50%) translateY(-50%) rotate(-40deg);
  }
}

.c-button {
  border-radius: 50px;
  /* Body3_en */
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  border: 1px solid transparent;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-transition: background 0.4s ease, color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease;
}
.c-button.c-contact {
  padding: 8px 40px;
  background: #2e2e2e;
  color: #fff;
  -webkit-transition: background 0.4s ease, color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease;
}
.c-button.c-contact:hover {
  opacity: 0.6;
}
.c-button.c-view {
  padding: 12px 60px;
  background: #2e2e2e;
  color: #fff;
  -webkit-transition: background 0.4s ease, color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease;
}
.c-button.c-view:hover {
  opacity: 0.6;
}

/*波形を2つ設定*/
.c-button:hover::after,
.c-button:hover::before {
  content: "";
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  left: -23%;
  top: -25%;
  /*波形の形状*/
  border: 1px solid #5f5f5f;
  width: 146%;
  height: 150%;
  border-radius: 50px;
  /*はじめは不透明*/
  opacity: 0;
  /*ループするアニメーションの設定*/
  -webkit-animation: 0.8s circleanimeh linear infinite;
          animation: 0.8s circleanimeh linear infinite;
}

/*波形の2つ目は0.5秒遅らせてアニメーション*/
.c-button:hover::before {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.c-fv__title {
  position: relative;
  z-index: 999;
  width: 302px;
}
@media screen and (min-width: 768px) {
  .c-fv__title {
    padding-top: 10px;
    width: 400px;
  }
}
@media screen and (min-width: 950px) {
  .c-fv__title {
    padding-top: 10px;
    width: 545px;
  }
}

.c-fv__sub-title {
  -webkit-padding-before: 20px;
          padding-block-start: 20px;
  font-size: 1.3rem;
  letter-spacing: 0.65px;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .c-fv__sub-title {
    -webkit-padding-before: 34px;
            padding-block-start: 34px;
    font-size: 1.5rem;
    letter-spacing: 0.75px;
  }
}

.js-fade-out {
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 1s ease-out, -webkit-filter 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-filter 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out, transform 1s ease-out, -webkit-filter 1s ease-out, -webkit-transform 1s ease-out;
}

/*----------------------------------
    loader
-----------------------------------*/
.c-loader-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 998;
  display: grid;
  place-items: center;
  pointer-events: none;
  --hole-size: 0%; /* CSS変数を追加 */
}
.c-loader-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, transparent var(--hole-size), #2e2e2e var(--hole-size));
  z-index: -1;
}

.c-loader-container {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  margin-top: -10px;
}
.c-loader-container p {
  margin-top: 13px;
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 200;
  line-height: 100%; /* 14px */
  letter-spacing: 0.42px;
}
@media screen and (min-width: 768px) {
  .c-loader-container p {
    margin-top: 31px;
  }
}

.c-loader-spin {
  width: 59px;
  height: 59px;
  border-radius: 50%;
  border: solid 1px;
  border-color: #dbe0db rgba(0, 0, 1, 0.062745098) rgba(0, 0, 0, 0.062745098);
  position: relative;
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.c-loader-title {
  white-space: nowrap;
  opacity: 0;
  position: absolute;
  left: 0%;
  top: 13%;
  color: white;
  /* SP/Hi-en */
  font-family: "Raleway", sans-serif;
  font-size: 3.6rem;
  font-style: normal;
  font-weight: 200;
  line-height: 100%; /* 36px */
  letter-spacing: 1.08px;
  padding-inline: 28px;
  max-width: 666px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-loader-title {
    /* H1_en */
    font-size: 48px;
    font-style: normal;
    font-weight: 200;
    line-height: 100%; /* 65px */
    letter-spacing: 1.95px;
  }
}
@media screen and (min-width: 950px) {
  .c-loader-title {
    font-size: 65px;
  }
}
@media screen and (min-width: 768px) {
  .c-loader-title {
    padding-inline: 60px;
    max-width: 888px;
  }
}
@media screen and (min-width: 950px) {
  .c-loader-title {
    padding-inline: 60px;
    max-width: 1020px;
  }
}
@media screen and (min-width: 1200px) {
  .c-loader-title {
    padding-inline: 160px;
    max-width: 1760px;
  }
}

.c-work__card {
  width: 288px;
  height: auto;
}
@media screen and (min-width: 950px) {
  .c-work__card {
    width: clamp(300px, 100%, 357px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work__card {
    width: clamp(317px, 100%, 407px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work__card {
    width: clamp(317px, 100%, 447px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work__card {
    width: clamp(447px, 100%, 500px);
  }
}
.c-work__card:hover .c-work-item-img-front img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.c-work-item-img-front {
  overflow: hidden;
  -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
.c-work-item-img-front img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 288px;
  height: auto;
}
@media screen and (min-width: 950px) {
  .c-work-item-img-front img {
    width: clamp(300px, 100%, 357px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work-item-img-front img {
    width: clamp(317px, 100%, 407px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work-item-img-front img {
    width: clamp(317px, 100%, 447px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work-item-img-front img {
    width: clamp(447px, 100%, 500px);
  }
}

.c-work-item-body {
  -webkit-padding-after: 12px;
          padding-block-end: 12px;
}
@media screen and (min-width: 768px) {
  .c-work-item-body {
    -webkit-padding-after: 20px;
            padding-block-end: 20px;
  }
}

.c-work-item-meta {
  -webkit-padding-before: 12px;
          padding-block-start: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-work-item-meta {
    -webkit-padding-before: 20px;
            padding-block-start: 20px;
    gap: 20px;
  }
}

.c-work-item-meta-single {
  -webkit-padding-before: 12px;
          padding-block-start: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-work-item-meta-single {
    -webkit-padding-before: 16px;
            padding-block-start: 16px;
  }
}

.c-work-item-title {
  color: #000000;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: clamp(1.8rem, 0.9328rem + 1.52778vw, 2rem);
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-work-item-title {
    font-size: clamp(1.6rem, 0.9328rem + 1.52778vw, 1.4rem);
  }
}
@media screen and (min-width: 950px) {
  .c-work-item-title {
    font-size: clamp(1.6rem, 0.824rem + 0.82vw, 2rem);
  }
}
@media screen and (min-width: 1200px) {
  .c-work-item-title {
    font-size: clamp(1.2rem, 0.9328rem + 1.52778vw, 2rem);
  }
}

.c-work__card__home {
  width: clamp(317px, 100%, 420px);
  height: auto;
  padding-block: 20px 20px;
  border-top: 1px solid #9e9e9e;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-work__card__home {
    padding-block: 20px 10px;
    width: clamp(200px, 100%, 320px);
  }
}
@media screen and (min-width: 950px) {
  .c-work__card__home {
    padding-block: 20px 24px;
    width: clamp(200px, 100%, 320px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work__card__home {
    padding-block: 20px 24px;
    width: clamp(300px, 100%, 352px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work__card__home {
    width: clamp(317px, 100%, 352px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work__card__home {
    width: clamp(352px, 100%, 500px);
  }
}
.c-work__card__home:hover .c-work-item-img-home img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.c-work-item-img-home {
  overflow: hidden;
  width: clamp(317px, 100%, 420px);
  height: auto;
  aspect-ratio: 352/229;
  -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .c-work-item-img-home {
    width: clamp(200px, 100%, 320px);
  }
}
@media screen and (min-width: 950px) {
  .c-work-item-img-home {
    width: clamp(200px, 100%, 320px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work-item-img-home {
    width: clamp(211px, 100%, 352px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work-item-img-home {
    width: clamp(250px, 100%, 352px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work-item-img-home {
    width: clamp(352px, 100%, 500px);
  }
}
.c-work-item-img-home img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-work__card__single {
  width: clamp(304px, 100%, 420px);
  height: auto;
  padding-block: 20px 32px;
  border-top: 1px solid #9e9e9e;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-work__card__single {
    border-top: none;
    padding-block: 20px 10px;
    width: clamp(180px, 100%, 240px);
  }
}
@media screen and (min-width: 950px) {
  .c-work__card__single {
    padding-block: 20px 24px;
    width: clamp(200px, 100%, 320px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work__card__single {
    padding-block: 20px 44px;
    width: clamp(280px, 280px + (72) * (100vw - 1200px) / (1440 - 1200), 352px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work__card__single {
    width: clamp(317px, 100%, 352px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work__card__single {
    width: clamp(352px, 100%, 500px);
  }
}
.c-work__card__single:hover .c-work-item-img-single img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.c-work__card__single .c-work-item-title {
  color: #000000;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-work__card__single .c-work-item-title {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 950px) {
  .c-work__card__single .c-work-item-title {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-work__card__single .c-work-item-title {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1400px) {
  .c-work__card__single .c-work-item-title {
    font-size: 2rem;
  }
}

.c-work-item-img-single {
  overflow: hidden;
  width: clamp(304px, 100%, 420px);
  height: auto;
  aspect-ratio: 352/229;
  -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .c-work-item-img-single {
    width: clamp(200px, 200px + (30) * (100vw - 768px) / (950 - 768), 230px);
  }
}
@media screen and (min-width: 950px) {
  .c-work-item-img-single {
    width: clamp(250px, 250px + (70) * (100vw - 950px) / (1440 - 950), 320px);
  }
}
@media screen and (min-width: 1200px) {
  .c-work-item-img-single {
    width: clamp(280px, 280px + (72) * (100vw - 1200px) / (1440 - 1200), 352px);
  }
}
@media screen and (min-width: 1400px) {
  .c-work-item-img-single {
    width: clamp(250px, 100%, 352px);
  }
}
@media screen and (min-width: 1500px) {
  .c-work-item-img-single {
    width: clamp(352px, 100%, 500px);
  }
}
.c-work-item-img-single img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-swiper__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 240px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: -13px;
}
@media screen and (min-width: 768px) {
  .c-swiper__btn {
    gap: 60px;
    right: 10%;
    bottom: -10px;
  }
}
@media screen and (min-width: 950px) {
  .c-swiper__btn {
    gap: 60px;
    right: 15%;
    bottom: -10px;
  }
}

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.swiper-button-next {
  position: relative;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  border: 1px solid #5f5f5f;
}
.swiper-button-next::after {
  content: "";
  position: absolute;
  background: url(../img/arow-next.webp) no-repeat center center/cover;
  left: 50%;
  top: 49%;
  width: 18.4px;
  height: 14.3px;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.swiper-button-next:hover {
  -webkit-animation: scale 0.3s ease;
          animation: scale 0.3s ease;
  background: #f5f6f3;
  border: none;
}

.swiper-button-prev {
  position: relative;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  border: 1px solid #5f5f5f;
}
.swiper-button-prev::after {
  content: "";
  position: absolute;
  position: absolute;
  background: url(../img/arow-prev.webp) no-repeat center center/cover;
  left: 50%;
  top: 49%;
  width: 18.4px;
  height: 14.3px;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.swiper-button-prev:hover {
  -webkit-animation: scale 0.3s ease;
          animation: scale 0.3s ease;
  background: #f5f6f3;
  border: none;
}

/*波形の設定*/
.swiper-button-prev:hover::before,
.swiper-button-next:hover::before {
  content: "";
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  left: -1px;
  top: -3px;
  /*波形の形状*/
  border: 2px solid #9e9e9e;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  /*はじめは不透明*/
  opacity: 1;
  /*アニメーションの設定*/
  -webkit-animation: 0.5s circleanime2 forwards;
          animation: 0.5s circleanime2 forwards;
}

.c-service__title__deco {
  position: relative;
  -webkit-padding-after: 23px;
          padding-block-end: 23px;
}
.c-service__title__deco:before, .c-service__title__deco:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 1px;
  z-index: 1;
}
.c-service__title__deco:before {
  background: #5f5f5f;
}
.c-service__title__deco:after {
  width: 25.86%;
  background: #9e9e9e;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .c-service__title__deco:before, .c-service__title__deco:after {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .c-service__content {
    position: relative;
    -webkit-padding-after: 23px;
            padding-block-end: 23px;
  }
  .c-service__content:before, .c-service__content:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
    height: 1px;
    z-index: 1;
  }
  .c-service__content:before {
    background: #5f5f5f;
  }
}

.c-service__content__dl dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-service__content__dl dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    width: 100%;
  }
}
.c-service__content__dl .c-service__content__deco {
  position: relative;
  overflow: hidden;
}
.c-service__content__dl .c-service__content__deco:before, .c-service__content__dl .c-service__content__deco:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 1px;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-service__content__dl .c-service__content__deco:before {
  background: #5f5f5f;
}
.c-service__content__dl .c-service__content__deco:after {
  width: 0;
  background: #9e9e9e;
  z-index: 2;
}
.c-service__content__dl .c-service__content__deco:hover:after {
  width: 100%;
  -webkit-transition: width 1s ease;
  transition: width 1s ease;
}
.c-service__content__dl .c-service__content__deco:hover:before {
  left: 100%;
  -webkit-transition: left 1s ease 0.5s;
  transition: left 1s ease 0.5s;
}
.c-service__content__dl .c-service__content__deco:not(:hover):before, .c-service__content__dl .c-service__content__deco:not(:hover):after {
  -webkit-transition: none;
  transition: none;
}
.c-service__content__dl dt {
  color: #fff;
  font-size: 2rem;
  font-weight: 400;
  padding-block: 24px 16px;
}
@media screen and (min-width: 768px) {
  .c-service__content__dl dt {
    -ms-flex-preferred-size: 26.09%;
        flex-basis: 26.09%;
    padding-block: 39px 39px;
    font-style: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (min-width: 950px) {
  .c-service__content__dl dt {
    -ms-flex-preferred-size: 26.09%;
        flex-basis: 26.09%;
    padding-block: 39px 39px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-service__content__dl dt {
    font-size: 2rem;
    -ms-flex-preferred-size: 26.09%;
        flex-basis: 26.09%;
    padding-block: 39px 39px;
  }
}
.c-service__content__dl dd {
  color: #fff;
  /* SP/Body-2 */
  font-size: 1.6rem;
  line-height: 1.8; /* 28.8px */
  padding-block: 0px 24px;
}
@media screen and (min-width: 768px) {
  .c-service__content__dl dd {
    -ms-flex-preferred-size: 73.91%;
        flex-basis: 73.91%;
    padding-block: 39px 39px;
    padding-left: 23px;
    word-break: break-all;
    font-style: normal;
    letter-spacing: 1.1px;
    line-height: 2;
  }
}
@media screen and (min-width: 950px) {
  .c-service__content__dl dd {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-service__content__dl dd {
    font-size: 1.6rem;
    -ms-flex-preferred-size: 73.91%;
        flex-basis: 73.91%;
    padding-block: 39px 39px;
    padding-left: 32px;
  }
}
.p-service__btn-inner {
  margin-inline: auto;
  max-width: 542px;
}
@media screen and (min-width: 768px) {
  .p-service__btn-inner {
    max-width: 828px;
  }
}
@media screen and (min-width: 950px) {
  .p-service__btn-inner {
    max-width: 920px;
  }
}
@media screen and (min-width: 1400px) {
  .p-service__btn-inner {
    max-width: 1200px;
  }
}

.c-service__btn {
  -webkit-transform: opacity 0.3s;
          transform: opacity 0.3s;
}
.c-service__btn:hover .c-service__button-mark svg circle {
  fill: #f5f6f3;
  stroke: #f5f6f3;
}
.c-service__btn:hover .c-service__button-mark svg path {
  stroke: #000000;
}

.c-service__button {
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  /* Body2 */
}

.c-service__button-mark {
  position: relative;
}

/*波形を2つ設定*/
.c-service__btn:hover .c-service__button-mark::after,
.c-service__btn:hover .c-service__button-mark::before {
  content: "";
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  left: -27.5%;
  top: -25%;
  /*波形の形状*/
  border: 1px solid #fff;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  /*はじめは不透明*/
  opacity: 0;
  /*ループするアニメーションの設定*/
  -webkit-animation: 1s circleanime linear infinite;
          animation: 1s circleanime linear infinite;
}

/*波形の2つ目は0.5秒遅らせてアニメーション*/
.c-service__btn:hover .c-service__button-mark::before {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.c-title__h2 {
  /* H2_en */
  font-family: "Raleway", sans-serif;
  font-weight: 200;
}

.c-title__p {
  font-family: "Noto Sans JP";
  font-size: 1.3rem;
  font-style: normal;
  letter-spacing: 0.7px;
}
@media screen and (min-width: 768px) {
  .c-title__p {
    font-size: 1.4rem;
  }
}

.c-un-title-one__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .c-un-title-one__inner {
    gap: 24px;
  }
}

.c-un-title-img {
  width: 20px;
}

.c-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-tag {
    gap: 16px;
  }
}
@media screen and (min-width: 950px) {
  .c-tag {
    gap: 8px;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag {
    gap: 16px;
  }
}
.c-tag span {
  color: #000000;
  font-size: 1.3rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag span {
    padding: 8px 16px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag span {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag span {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}
.c-tag a {
  color: #000000;
  font-size: 1.3rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag a {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag a {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag a {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}

.c-tag-single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-tag-single {
    gap: 8px;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-single {
    gap: 8px;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag-single {
    gap: 16px;
  }
}
.c-tag-single span {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag-single span {
    padding: 8px 10px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-single span {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag-single span {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}
.c-tag-single a {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag-single a {
    padding: 8px 10px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-single a {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag-single a {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}

.c-tag-home {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-tag-home {
    gap: 8px;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-home {
    gap: 8px;
  }
}
.c-tag-home span {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag-home span {
    padding: 8px 10px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-home span {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag-home span {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}
.c-tag-home a {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 300;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  background: #f5f6f3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  min-width: 45px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-tag-home a {
    padding: 8px 10px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 950px) {
  .c-tag-home a {
    padding: 8px 10px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-tag-home a {
    padding: 8px 16px;
    font-size: 1.3rem;
  }
}

.c-price__text-wrap {
  -webkit-padding-before: 12px;
          padding-block-start: 12px;
}
@media screen and (min-width: 768px) {
  .c-price__text-wrap {
    -webkit-padding-before: 16px;
            padding-block-start: 16px;
  }
}
.c-price__text-wrap p {
  /* SP/Body-2 */
  font-size: 1.6rem;
  font-style: normal;
  line-height: 1.8; /* 28.8px */
}

.p-fv__slider-wrap {
  margin-left: auto;
  position: relative;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-fv__slider-wrap {
    margin-top: -177px;
  }
}

.swiper-container {
  position: relative;
}
@media screen and (min-width: 950px) {
  .swiper-container {
    -webkit-padding-start: 44px;
            padding-inline-start: 44px;
  }
}
@media screen and (min-width: 1200px) {
  .swiper-container {
    -webkit-padding-start: 64px;
            padding-inline-start: 64px;
  }
}

.swiper-slide {
  opacity: 0.3;
  -webkit-transition: opacity 0.7s ease-in-out;
  transition: opacity 0.7s ease-in-out;
  width: 288px !important;
}
@media screen and (min-width: 950px) {
  .swiper-slide {
    width: clamp(300px, 100%, 357px) !important;
  }
}
@media screen and (min-width: 1200px) {
  .swiper-slide {
    width: clamp(317px, 100%, 407px) !important;
  }
}
@media screen and (min-width: 1400px) {
  .swiper-slide {
    width: clamp(317px, 100%, 447px) !important;
  }
}
@media screen and (min-width: 1500px) {
  .swiper-slide {
    width: clamp(447px, 100%, 500px) !important;
  }
}

.swiper-slide-prev {
  opacity: 0.3;
  -webkit-transition: opacity 0.7s ease-in-out;
  transition: opacity 0.7s ease-in-out;
}

.swiper-slide-next {
  opacity: 1;
}

.swiper-slide-active {
  opacity: 1;
}

.p-fv__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-fv__btn-wrap {
    padding-inline: 220px;
  }
}

.p-fv__img-wrap {
  position: relative;
  pointer-events: none;
}

.test {
  position: absolute;
  z-index: 2;
}

.circle-element {
  opacity: 0;
}

.u {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 68px;
  width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1529px);
  height: clamp(573px, 573px + 956 * (100vw - 360px) / 1080, 1529px);
}
.u .circle-svg {
  width: 100%;
  height: 100%;
}

.u2 {
  position: absolute;
  left: 16%;
  -webkit-transform: translateX(-50%) rotate(-180deg);
          transform: translateX(-50%) rotate(-180deg);
  top: -466px;
  width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1529px);
  height: clamp(573px, 573px + 327 * (100vw - 360px) / 1080, 900px);
}
@media screen and (min-width: 768px) {
  .u2 {
    left: 16%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -500px;
    width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1321px);
    height: clamp(573px, 573px + 327 * (100vw - 360px) / 1080, 850px);
  }
}
@media screen and (min-width: 950px) {
  .u2 {
    left: 16%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -550px;
    width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1321px);
    height: clamp(573px, 573px + 327 * (100vw - 360px) / 1080, 850px);
  }
}
@media screen and (min-width: 1200px) {
  .u2 {
    top: -598px;
  }
}
.u2 .circle-svg {
  width: 100%;
  height: 100%;
}

.u3 {
  right: -35%;
  -webkit-transform: translateX(50%) rotate(90deg);
          transform: translateX(50%) rotate(90deg);
  top: 66px;
  width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1529px);
  height: clamp(573px, 573px + 956 * (100vw - 360px) / 1080, 1529px);
}
@media screen and (min-width: 768px) {
  .u3 {
    right: -64%;
    -webkit-transform: translateX(0%) rotate(90deg);
            transform: translateX(0%) rotate(90deg);
    top: 102px;
  }
}
.u3 .circle-svg {
  width: 100%;
  height: 100%;
}

.u4 {
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-90deg);
          transform: translateX(-50%) rotate(-90deg);
  top: -271px;
  width: clamp(590px, 590px + 939 * (100vw - 360px) / 1080, 1529px);
  height: clamp(573px, 573px + 956 * (100vw - 360px) / 1080, 1529px);
}
@media screen and (min-width: 768px) {
  .u4 {
    top: -567px;
  }
}
.u4 .circle-svg {
  width: 100%;
  height: 100%;
}

.c-fv__img-b1 {
  position: absolute;
  top: 20px;
  mix-blend-mode: multiply;
  width: clamp(605px, 605px + 1347 * (100vw - 360px) / 1080, 1952px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .c-fv__img-b1 {
    top: -30px;
    mix-blend-mode: multiply;
    width: clamp(605px, 605px + 1347 * (100vw - 360px) / 1080, 1952px);
  }
}

.c-fv__img-b3 {
  position: absolute;
  mix-blend-mode: multiply;
  top: 51px;
  right: -20%;
  width: 236px;
  width: clamp(236px, 236px + 366 * (100vw - 360px) / 1080, 602px);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .c-fv__img-b3 {
    top: 106px;
    right: 0%;
  }
}

.c-fv__img-b2 {
  position: absolute;
  mix-blend-mode: multiply;
  top: 0px;
  left: 0%;
  width: 104.1666666667vw;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .c-fv__img-b2 {
    top: 0px;
    left: 0%;
    width: 78.125vw;
  }
}

.c-fv__img-b4 {
  position: absolute;
  mix-blend-mode: multiply;
  top: -169px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 125vw;
  opacity: 0;
}
@media screen and (min-width: 500px) {
  .c-fv__img-b4 {
    top: -235px;
  }
}
@media screen and (min-width: 768px) {
  .c-fv__img-b4 {
    top: -598px;
    width: 125vw;
  }
}
@media screen and (min-width: 1200px) {
  .c-fv__img-b4 {
    top: -676px;
    width: 111.1111111111vw;
  }
}

.p-fv__img-wrap-hake {
  position: relative;
  pointer-events: none;
}

.c-fv__img-h1 {
  position: absolute;
  opacity: 0.8;
  top: -80px;
  left: 0;
  width: 100%;
}

.c-fv__img-h2 {
  position: absolute;
  opacity: 0.8;
  top: -80px;
  left: 0;
}

.c-fv__img-h3 {
  position: absolute;
  opacity: 0.7;
  top: -80px;
  left: 0;
}

.p-service__wrap {
  background: #2e2e2e;
  padding-block: 56px 62.5px;
  padding-inline: calc(28px + 12 * (100vw - 360px) / 408);
  border-radius: 40px;
}
@media screen and (min-width: 768px) {
  .p-service__wrap {
    padding-block: 112px 107px;
    padding-inline: 61px 64px;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__wrap {
    padding-inline: 160px;
  }
}

.p-service__wrap__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 542px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-service__wrap__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    max-width: 828px;
    gap: 60px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 950px) {
  .p-service__wrap__inner {
    max-width: 920px;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__wrap__inner {
    max-width: 1200px;
    gap: 130px;
  }
}
@media screen and (min-width: 1400px) {
  .p-service__wrap__inner {
    gap: 209px;
  }
}

.p-about__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (min-width: 950px) {
  .p-about__wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(65px + 0.12 * (100vw - 950px));
  }
}
@media screen and (min-width: 1200px) {
  .p-about__wrap {
    gap: min(251px, 83px + 0.495 * (100vw - 1200px));
  }
}

@media screen and (min-width: 950px) {
  .p-about__title-wrap {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.c-about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .c-about__content {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 950px) {
  .c-about__content {
    gap: 4.1666666667vw;
  }
}
@media screen and (min-width: 1200px) {
  .c-about__content {
    gap: 5.5555555556vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-about__content {
    gap: 8.4027777778vw;
  }
}

.js-split-text .char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.c-about__content__img {
  width: clamp(208px, 208px + (42) * (100vw - 375px) / (768 - 375), 250px);
  aspect-ratio: 208/277;
  margin-inline: auto;
}
@media screen and (min-width: 950px) {
  .c-about__content__img {
    width: clamp(130px, 130px + (66) * (100vw - 950px) / (1440 - 950), 196px);
    aspect-ratio: 196/261;
    position: absolute;
    top: 0;
    right: 0;
  }
}

.c-x-wrap {
  padding-top: 39px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-about__content__text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-about__content__text-wrap {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    padding-top: 0;
    width: 480px;
  }
}

.c-about__content__text-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}

.c-about__content__text-title-jp {
  /* Body7 */
  font-size: 2.4rem;
  line-height: 100%; /* 24px */
}

.c-about__content__text-title-en {
  /* Body7_en */
  font-family: "Raleway", sans-serif;
  font-size: 2.6rem;
  font-weight: 400;
  position: relative;
}
.c-about__content__text-title-en:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 1px;
  height: 24px;
  background: #000000;
}

.c-about__content__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

.c-about__content__text-1 {
  line-height: 1.8; /* 32px */
}
@media screen and (min-width: 768px) {
  .c-about__content__text-1 {
    line-height: 2; /* 32px */
  }
}

.c-about__content__text-2 {
  line-height: 1.8; /* 32px */
}
@media screen and (min-width: 768px) {
  .c-about__content__text-2 {
    line-height: 2; /* 32px */
  }
}

.c-about__content__text-3 {
  line-height: 1.8; /* 32px */
}
@media screen and (min-width: 768px) {
  .c-about__content__text-3 {
    line-height: 2; /* 32px */
  }
}

.p-genre-nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-genre-nav {
  padding-block: 36px 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-genre-nav {
    padding-block: 36px 88px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24px;
  }
}

.c-genre-nav-link a {
  display: block;
  min-width: 50px;
  text-align: center;
  padding: 8px 16px;
  border-radius: 50px;
  border: 1px solid #5f5f5f;
  color: #000000;
  font-size: 1.3rem;
  font-weight: 300;
  white-space: nowrap;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-genre-nav-link a:hover {
  background: #2e2e2e;
  color: #fff;
}

.c-genre-nav-link.is-active a {
  background: #2e2e2e;
  color: #fff;
}

.p-un-home__cord-wrap {
  display: grid;
  grid-template-columns: 1fr;
}
.p-un-home__cord-wrap > :nth-child(6) {
  border-bottom: 1px solid #9e9e9e;
}
@media screen and (min-width: 768px) {
  .p-un-home__cord-wrap {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-gap: 20px 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-un-home__cord-wrap > :nth-child(5),
  .p-un-home__cord-wrap :nth-child(6) {
    border-bottom: 1px solid #9e9e9e;
  }
}
@media screen and (min-width: 950px) {
  .p-un-home__cord-wrap {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-gap: 20px 32px;
  }
  .p-un-home__cord-wrap > :nth-child(4),
  .p-un-home__cord-wrap :nth-child(5),
  .p-un-home__cord-wrap :nth-child(6) {
    border-bottom: 1px solid #9e9e9e;
  }
}

.p-pagination {
  padding-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
}

.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.4rem;
  font-weight: 300;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #000000;
  border-radius: 50%;
  width: 24px;
  height: 24px;
}

.page-numbers:hover {
  color: #ffffff;
  background: #000000;
}

.fa-angle-left {
  font-size: 20px;
}

.current {
  background: #000000;
  color: #ffffff;
}

.prev {
  position: relative;
  width: 24px;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.prev:before {
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid #5f5f5f;
  border-right: 0;
  border-bottom: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  position: absolute;
  top: 50%;
  left: 0.15em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.prev:after {
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  background: #5f5f5f;
  top: 50%;
  left: 0.3em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 1.5px;
}
.prev:hover {
  background-color: #000000;
}
.prev:hover:after {
  background: #fff;
}
.prev:hover:before {
  border-color: #fff;
}

.next {
  position: relative;
  width: 24px;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.next:before {
  content: "";
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid #5f5f5f;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  position: absolute;
  top: 50%;
  right: 0.2em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.next:after {
  content: "";
  position: absolute;
  background: #5f5f5f;
  top: 50%;
  left: 0.2em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
  height: 1.5px;
}
.next:hover {
  background-color: #000000;
}
.next:hover:after {
  background: #fff;
}
.next:hover:before {
  border-color: #fff;
}

@media screen and (min-width: 768px) {
  .p-single-title-wrap {
    -webkit-padding-after: 48px;
            padding-block-end: 48px;
    border-bottom: 1px solid #9e9e9e;
  }
}

.c-single-title p {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-single-title p {
    font-size: 4rem;
    line-height: 1;
  }
}

.p-single-content {
  padding-block: 40px 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-single-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
.p-single-text-wrap {
  -webkit-padding-before: 40px;
          padding-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-single-text-wrap {
    -webkit-padding-before: 0px;
            padding-block-start: 0px;
    width: 384px;
  }
}

.p-single-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.p-single-link a {
  color: #000000;
  font-size: 1.6rem;
  font-style: normal;
  line-height: 2; /* 32px */
}
.p-single-link a:hover {
  text-decoration: underline;
  opacity: 0.7;
}

.p-single-link-polygon {
  margin-top: -5px;
}

.p-single-material {
  padding-top: 32px;
}
.p-single-material p {
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}

.p-single-function {
  -webkit-padding-before: 24px;
          padding-block-start: 24px;
}
@media screen and (min-width: 768px) {
  .p-single-function {
    -webkit-padding-before: 32px;
            padding-block-start: 32px;
  }
}
.p-single-function p {
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}

.p-single-function2 li {
  padding-left: 15px;
  font-size: 1.6rem;
  line-height: 2; /* 32px */
  position: relative;
}
.p-single-function2 li:before {
  content: "";
  position: absolute;
  top: 16px;
  left: 5px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background: #000000;
  border-radius: 50%;
}

.p-single-text {
  -webkit-padding-before: 24px;
          padding-block-start: 24px;
}
@media screen and (min-width: 768px) {
  .p-single-text {
    -webkit-padding-before: 32px;
            padding-block-start: 32px;
  }
}
.p-single-text p {
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}

.p-single-img {
  height: 480px;
  overflow-y: scroll;
  -webkit-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .p-single-img {
    width: 608px;
    height: 800px;
  }
}
@media screen and (min-width: 950px) {
  .p-single-img {
    width: clamp(400px, 40vw, 540px);
    height: 800px;
  }
}
@media screen and (min-width: 1200px) {
  .p-single-img {
    height: 1200px;
    width: clamp(520px, 45vw, 608px);
  }
}
.p-single-img::-webkit-scrollbar {
  width: 4px;
}
.p-single-img::-webkit-scrollbar-track {
  background: transparent;
}
.p-single-img::-webkit-scrollbar-thumb {
  background: #000000;
  border-radius: 10px;
}
.p-single-img img {
  width: 100%;
  height: auto;
}

.p-new__contents {
  -webkit-padding-after: 68px;
          padding-block-end: 68px;
}

@media screen and (min-width: 768px) {
  .p-new__contents-wrap {
    -webkit-padding-before: 40px;
            padding-block-start: 40px;
    border-top: 1px solid #9e9e9e;
  }
}
@media screen and (min-width: 950px) {
  .p-new__contents-wrap {
    -webkit-padding-before: 60px;
            padding-block-start: 60px;
  }
}

.p-new__contents-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-new__contents-cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 24px;
  }
}
@media screen and (min-width: 950px) {
  .p-new__contents-cards {
    gap: 32px;
  }
}

.p-price__price-boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .p-price__price-boxes {
    gap: 0px;
  }
}

.c-price__price-box1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-price__price-box1 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-top: 1px solid #9e9e9e;
    border-bottom: 1px solid #9e9e9e;
  }
}

.c-price__price-box1__main {
  border-bottom: 1px solid #9e9e9e;
}
@media screen and (min-width: 768px) {
  .c-price__price-box1__main {
    padding-block: 16px;
    border: none;
    width: 30.43%;
  }
}

.c-price__text {
  font-size: 1.6rem;
  line-height: 1.8; /* 28.8px */
}

@media screen and (min-width: 768px) {
  .c-price__price-box1__sub {
    width: 100%;
  }
}
.c-price__price-box1__sub dt,
.c-price__price-box1__sub dd {
  font-size: 1.6rem;
  line-height: 1.8; /* 28.8px */
}
.c-price__price-box1__sub dt {
  width: 40%;
}
@media screen and (min-width: 768px) {
  .c-price__price-box1__sub dt {
    width: 50%;
  }
}
.c-price__price-box1__sub dd {
  width: 60%;
  padding-left: 8px;
}
@media screen and (min-width: 768px) {
  .c-price__price-box1__sub dd {
    width: 50%;
  }
}

.c-price__wrap {
  width: 100%;
  padding-block: 8px;
  border-bottom: 1px solid #9e9e9e;
}
@media screen and (min-width: 768px) {
  .c-price__wrap {
    padding-block: 16px;
    border: none;
  }
}

@media screen and (min-width: 768px) {
  .c-price__wrap:not(:last-child) {
    border-bottom: 1px solid #9e9e9e;
  }
}

.c-price__price-box2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-price__price-box2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-bottom: 1px solid #9e9e9e;
  }
}

.js-paw-prints .c-price__img {
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

.p-price__explanation {
  -webkit-padding-before: 24px;
          padding-block-start: 24px;
}
@media screen and (min-width: 768px) {
  .p-price__explanation {
    -webkit-padding-before: 48px;
            padding-block-start: 48px;
  }
}

.c-price__explanation-text {
  font-size: 1.4rem;
  line-height: 2; /* 28px */
  padding-left: 12px;
  position: relative;
}
.c-price__explanation-text:before {
  content: "";
  position: absolute;
  top: 16px;
  left: 0px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background: #000000;
  border-radius: 50%;
}

.c-price__explanation-text-li {
  font-size: 1.4rem;
  line-height: 2; /* 28px */
}

.p-un__contact__contents-form {
  -webkit-padding-before: 12px;
          padding-block-start: 12px;
}
@media screen and (min-width: 768px) {
  .p-un__contact__contents-form {
    -webkit-padding-before: 16px;
            padding-block-start: 16px;
  }
}

.c-un__contact__explanation p {
  font-size: 1.6rem;
  line-height: 1.8; /* 28.8px */
}

.p-un__contact__contents-form-wrap {
  -webkit-padding-before: 36px;
          padding-block-start: 36px;
}
@media screen and (min-width: 768px) {
  .p-un__contact__contents-form-wrap {
    -webkit-padding-before: 47px;
            padding-block-start: 47px;
  }
}

.contact-contents__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.contact-contents__item-title {
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}

.u-textarea {
  padding-top: 16px;
}
@media screen and (min-width: 768px) {
  .u-textarea {
    padding-top: 24px;
  }
}

.contact-contents__item-check-box .checkbox-cl01 {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 4px;
}
@media screen and (min-width: 768px) {
  .contact-contents__item-check-box .checkbox-cl01 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 72px;
       -moz-column-gap: 72px;
            column-gap: 72px;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(3) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(4) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(5) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .contact-contents__item-check-box .checkbox-cl01 span.wpcf7-list-item:nth-child(6) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

.contact__privacy-text {
  padding-top: 36px;
}
@media screen and (min-width: 768px) {
  .contact__privacy-text {
    padding-top: 50px;
  }
}
.contact__privacy-text p {
  font-size: 1.4rem;
  line-height: 1.8; /* 28px */
}
@media screen and (min-width: 768px) {
  .contact__privacy-text p {
    line-height: 2; /* 28px */
  }
}

.contact__privacy {
  -webkit-padding-before: 36px;
          padding-block-start: 36px;
}
@media screen and (min-width: 768px) {
  .contact__privacy {
    -webkit-padding-before: 48px;
            padding-block-start: 48px;
  }
}
.contact__privacy .form-checkbox__input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  display: inline-block;
}
.contact__privacy .form-checkbox__input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact__privacy .wpcf7-list-item-label {
  padding-left: 24px;
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.8; /* 25.2px */
  white-space: nowrap;
}
.contact__privacy .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #000000;
  cursor: pointer;
}
.contact__privacy .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  left: 6px;
  width: 4px;
  height: 10px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  opacity: 0;
}

/*----------------------------------
    送信ボタン
-----------------------------------*/
.un__contact__contents-form {
  -webkit-padding-before: 48px;
          padding-block-start: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.un__contact__contents-form input[type=submit] {
  border-radius: 50px;
  /* Body3_en */
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  border: 1px solid transparent;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-transition: background 0.4s ease, color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease;
  padding: 8px 40px;
  background: #2e2e2e;
  color: #fff;
}
.un__contact__contents-form input[type=submit]:hover {
  opacity: 0.6;
}

.wpcf7-spinner {
  display: none !important;
}

/*----------------------------------
    koko,ade
-----------------------------------*/
input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  width: 100%;
  height: auto;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #ddd; /* ボーダーを透明に設定 */
  outline: none;
  font-size: 1.6rem;
  line-height: 2;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: var(--, #9e9e9e);
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--, #9e9e9e);
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: var(--, #9e9e9e);
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: var(--, #9e9e9e);
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder {
  color: var(--, #9e9e9e);
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 2; /* 32px */
}
textarea {
  height: 156px;
  resize: none;
}
@media screen and (min-width: 768px) {
  textarea {
    height: 230px;
  }
}

input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  padding-block: 4px;
  padding-inline: 12px;
}
@media screen and (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  select,
  textarea {
    padding-block: 8px;
    padding-inline: 22px;
  }
}

.required-label-contact {
  margin-left: 12px;
  padding: 2px 4px;
  background: #2e2e2e;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}

.contact-contents__item-check-box .checkbox-cl01 input {
  display: none;
}
.contact-contents__item-check-box .checkbox-cl01 input + span {
  padding-left: 24px;
  display: inline-block;
  position: relative;
  line-height: 180%;
  white-space: nowrap;
}
.contact-contents__item-check-box .checkbox-cl01 input + span::after,
.contact-contents__item-check-box .checkbox-cl01 input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}
.contact-contents__item-check-box .checkbox-cl01 input + span::before {
  border: 1px solid #aaaaaa;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact-contents__item-check-box .checkbox-cl01 input + span::after {
  border: none;
  background-color: #5f5f5f;
  border-radius: 50%;
  height: 8px;
  width: 8px;
  left: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none;
}
.contact-contents__item-check-box .checkbox-cl01 input:checked + span::after {
  display: block;
}

.contact-contents__item-input--text .wpcf7-not-valid {
  position: relative;
}
.contact-contents__item-input--text .wpcf7-not-valid .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -50px;
}
.p-un__contact-thanks-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 86px;
}
@media screen and (min-width: 768px) {
  .p-un__contact-thanks-wrap {
    gap: 110px;
  }
}

.un__contact-thanks-text p {
  font-size: 1.6rem;
  font-style: normal;
  line-height: 1.8; /* 28.8px */
}

.p-contact-thanks__img-wrap {
  position: relative;
  display: none;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks__img-wrap {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .c-contact-thanks__img {
    width: 200px;
  }
}
.c-contact-thanks__img.c-niku1 {
  position: absolute;
  left: 75%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -75px;
}
.c-contact-thanks__img.c-niku2 {
  position: absolute;
  left: 45%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -75px;
}
.c-contact-thanks__img.c-niku3 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 180px;
}
.c-contact-thanks__img.c-niku4 {
  position: absolute;
  left: 19%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 200px;
}

.p-price__img-wrap {
  position: relative;
}

.c-price__img {
  width: 58px;
}
@media screen and (min-width: 768px) {
  .c-price__img {
    width: clamp(70px, 70px + (30) * (100vw - 768px) / (1440 - 768), 100px);
  }
}
.c-price__img.c-niku1 {
  position: absolute;
  left: 5%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 55px;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku1 {
    left: 1.5%;
    top: 125px;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku1 {
    left: -40.5%;
    top: 185px;
  }
}
.c-price__img.c-niku2 {
  position: absolute;
  left: 36%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 40px;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku2 {
    left: 18%;
    top: 46px;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku2 {
    left: -21%;
    top: 151px;
  }
}
.c-price__img.c-niku3 {
  position: absolute;
  left: 30%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -42px;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku3 {
    left: -24%;
    top: 35px;
    rotate: 15deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku3 {
    left: -24%;
    top: 35px;
    rotate: 15deg;
  }
}
.c-price__img.c-niku4 {
  position: absolute;
  left: 67%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -20px;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku4 {
    left: 5%;
    top: 17px;
    rotate: 15deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku4 {
    left: -4%;
    top: 55px;
    rotate: 15deg;
  }
}
.c-price__img.c-niku5 {
  position: absolute;
  left: 5%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 55px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku5 {
    display: block;
    left: 21%;
    top: -41px;
    rotate: 45deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku5 {
    left: 3%;
    top: -41px;
    rotate: 45deg;
  }
}
.c-price__img.c-niku6 {
  position: absolute;
  left: 10%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 60px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku6 {
    display: block;
    left: 30%;
    top: 41px;
    rotate: 73deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku6 {
    left: 17%;
    top: 20px;
    rotate: 73deg;
  }
}
.c-price__img.c-niku7 {
  position: absolute;
  left: 15%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 65px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku7 {
    display: block;
    left: 46%;
    top: -18px;
    rotate: 75deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku7 {
    left: 35%;
    top: -58px;
    rotate: 85deg;
  }
}
.c-price__img.c-niku8 {
  position: absolute;
  left: 20%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 70px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku8 {
    display: block;
    left: 60%;
    top: 49px;
    rotate: 63deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku8 {
    left: 55%;
    top: 11px;
    rotate: 95deg;
  }
}
.c-price__img.c-niku9 {
  position: absolute;
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 75px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku9 {
    display: block;
    left: 77%;
    left: 75%;
    top: 3px;
    rotate: 76deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku9 {
    left: 77%;
    top: -29px;
    rotate: 101deg;
  }
}
.c-price__img.c-niku10 {
  position: absolute;
  left: 30%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 80px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku10 {
    display: block;
    left: 88%;
    top: 85px;
    rotate: 80deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku10 {
    left: 83%;
    top: 81px;
    rotate: 104deg;
  }
}
.c-price__img.c-niku11 {
  position: absolute;
  left: 35%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 85px;
  display: none;
}
@media screen and (min-width: 950px) {
  .c-price__img.c-niku11 {
    left: 98%;
    top: 81px;
    rotate: 129deg;
    display: block;
  }
}
.c-price__img.c-niku12 {
  position: absolute;
  left: 40%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 90px;
  display: none;
}
@media screen and (min-width: 950px) {
  .c-price__img.c-niku12 {
    left: 91%;
    top: 194px;
    rotate: 142deg;
    display: block;
  }
}
.c-price__img.c-niku13 {
  position: absolute;
  left: 45%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 95px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku13 {
    left: 90%;
    top: 257px;
    rotate: 161deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku13 {
    display: block;
    left: 104%;
    top: 257px;
    rotate: 161deg;
  }
}
.c-price__img.c-niku14 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 100px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-price__img.c-niku14 {
    left: 83%;
    top: 304px;
    rotate: 173deg;
  }
}
@media screen and (min-width: 1200px) {
  .c-price__img.c-niku14 {
    left: 89%;
    top: 346px;
    rotate: 173deg;
    display: block;
  }
}

.u-separate {
  margin-top: 24px;
  margin-bottom: 24px;
}

.u-fv__btn {
  -webkit-padding-before: 33px;
          padding-block-start: 33px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .u-fv__btn {
    -webkit-padding-before: 33px;
            padding-block-start: 33px;
  }
}
@media screen and (min-width: 950px) {
  .u-fv__btn {
    -webkit-padding-before: 63px;
            padding-block-start: 63px;
  }
}

.u-service__btn {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .u-service__btn {
    margin-top: 18px;
  }
}

.u-color-white {
  color: #fff;
}

.u-df-start {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .u-df-start {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
  }
}

.u-df-start-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .u-df-start-footer {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
  }
}

.u-df__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .u-df__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
@media screen and (min-width: 950px) {
  .u-df__footer {
    gap: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .u-df__footer {
    gap: clamp(20px, 20px + 40 * (100vw - 1200px) / 240, 60px);
  }
}

.u-df-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
}
@media screen and (min-width: 768px) {
  .u-df-center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
  }
}

.u-price-df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-service__df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .u-service__df {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.u-about__title-en {
  font-size: 3.2rem;
}
@media screen and (min-width: 768px) {
  .u-about__title-en {
    font-size: 4.2rem;
  }
}

.u-service__title-en {
  font-size: 3.2rem;
}
@media screen and (min-width: 950px) {
  .u-service__title-en {
    font-size: 4.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .u-service__title-en {
    font-size: 5.2rem;
  }
}

.u-contact-title {
  font-size: 3.2rem;
}
@media screen and (min-width: 768px) {
  .u-contact-title {
    font-size: 4rem;
  }
}

.u-un-title-en {
  font-size: 32px;
}
@media screen and (min-width: 950px) {
  .u-un-title-en {
    font-size: 4.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .u-un-title-en {
    font-size: 5.2rem;
  }
}

.u-un-title-en-thank {
  font-size: 32px;
}
@media screen and (min-width: 768px) {
  .u-un-title-en-thank {
    font-size: 4rem;
  }
}

.u-tag {
  padding-top: 12px;
}
@media screen and (min-width: 768px) {
  .u-tag {
    padding-top: 0px;
  }
}
.u-tag-single {
  padding-top: 12px;
}
@media screen and (min-width: 768px) {
  .u-tag-single {
    padding-top: 16px;
  }
}

.u-price__price-boxes {
  -webkit-padding-before: 24px;
          padding-block-start: 24px;
}
@media screen and (min-width: 768px) {
  .u-price__price-boxes {
    -webkit-padding-before: 48px;
            padding-block-start: 48px;
  }
}

.u-un__contact-thanks-wrap {
  -webkit-padding-before: 32px;
          padding-block-start: 32px;
}
