@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho&display=swap");
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul,
li {
  text-decoration: none;
  list-style: none;
}

a {
  text-decoration: none;
}

a,
img,
span {
  display: inline-block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -o-object-fit: contain;
     object-fit: contain;
}

em {
  font-style: normal;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.tab-only {
  display: none;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .tab-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.spbtm-only {
  display: none;
}
@media (max-width: 350px) {
  .spbtm-only {
    display: block;
  }
}

:root {
  --white: #FFFFFF;
  --black: #000;
  --text: #0f182d;
  --gold: #b69642;
  --blue: #233769;
  --leading-trim:calc((1em - 1lh)/2);
  --gothic:"Zen Kaku Gothic New", serif;
  --mincho:"Zen Old Mincho", serif;
}

html {
  font-size: 62.5%;
}
@media screen and (min-width: 1025px) and (max-width: 1600px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (min-width: 601px) and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
}
@media screen and (max-width: 600px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  font-weight: 400;
  font-size: 1rem;
  line-height: normal;
  color: var(--text);
  letter-spacing: normal;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

h3, h2 {
  font-weight: 400;
}

a {
  color: var(--text);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}

.u-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

p, h2, h3, h4, span {
  font-family: var(--gothic);
  margin-block: var(--leading-trim);
}

.home .header {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.header {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--white);
}

.header__inner {
  padding: 2rem;
  max-width: 1336px;
  margin-inline: auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__menu {
  gap: 3rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__link {
  font-size: 2.1rem;
  color: var(--white);
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-family: var(--gothic);
}

.header__list {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .header__list:hover {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}

.header__list--tel {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border-top: 1px solid var(--text);
  border-bottom: 1px solid var(--text);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header__list--tel p {
  font-size: 1.7rem;
  line-height: 1;
  color: var(--text);
  letter-spacing: -0.02em;
  font-weight: 700;
  white-space: nowrap;
}
.header__list--tel:hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}

.header__link--tel {
  padding-block: 0.6rem;
  padding-inline: 0.6rem;
}

.header__link--tel-time {
  font-size: 0.9rem;
  color: var(--text);
  letter-spacing: -0.02em;
  font-weight: 700;
  display: inline-block;
  margin-top: 0.4rem;
  vertical-align: top;
}

.header__link--tel-number {
  font-size: 3rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1;
}
.header__link--tel-number::before {
  content: "";
  background: url(../images/pc/tel-logo.webp) no-repeat center/cover;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  margin-right: 0.3rem;
}

.header__img {
  display: block;
  width: 20.3rem;
  aspect-ratio: 203/54;
}

.header__list--btn {
  background: url(../images/pc/contact-btn.webp) no-repeat center/cover;
  aspect-ratio: 166/52;
  width: 16.6rem;
  text-align: center;
}
.header__list--btn .header__link {
  padding-block: 2.1rem;
  padding-inline: 1rem;
  line-height: 1;
}

.floating__menu {
  display: none;
}

@media screen and (max-width: 768px) {
  .header .header__inner {
    padding: 1.8rem 2rem;
  }
  .header .header__navbar {
    display: none;
  }
  .floating__menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--white);
    z-index: 100;
    padding: 1rem;
    gap: 0.7rem;
  }
  .floating__list {
    width: 50%;
    max-width: 48.5%;
  }
  .floating__img {
    display: block;
    width: 100%;
  }
  .floating__list--btn {
    background: url(../images/sp/contact-btn.png) no-repeat center/cover;
    width: 100%;
    text-align: center;
  }
  .floating__list--btn .floating__link {
    display: grid;
    place-items: center;
    font-weight: 600;
    padding-block: 1.2rem;
    padding-inline: 1rem;
    line-height: normal;
    font-size: 1.7rem;
    color: var(--white);
    font-family: var(--gothic);
  }
  .header__link--tel {
    padding-block: 0.6rem;
  }
  .floating__list:has(.header__link--tel-number) {
    border-top: 1px solid var(--text);
    border-bottom: 1px solid var(--text);
    max-width: 51.5%;
  }
  .floating__list:has(.header__link--tel-number) .floating__link {
    padding-block: 0.4rem;
    padding-left: 0.5rem;
  }
  .floating__list:has(.header__link--tel-number) .floating__link p {
    font-size: 1.4rem;
    letter-spacing: -0.01em;
  }
  .floating__list:has(.header__link--tel-number) .header__link--tel-number {
    font-size: 2.4rem;
    letter-spacing: -0.015em;
    white-space: nowrap;
  }
  .header__link--tel-time {
    font-size: 0.7rem;
    margin-top: 0rem;
    vertical-align: middle;
  }
  .header__link--tel-number {
    font-size: 2.5rem;
  }
  .header__link--tel-number::before {
    width: 1.8rem;
    height: 1.8rem;
  }
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#header.headerFixed {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-animation-name: headerFixed;
          animation-name: headerFixed;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes headerFixed {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes headerFixed {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.footer {
  padding-block: 8.7rem;
  background: var(--white);
}
.footer .footer__inner {
  max-width: 725px;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.footer .footer__logo {
  width: 13.5rem;
  display: block;
}
.footer .address {
  font-style: normal;
  max-width: 510px;
}
.footer .address__title {
  font-weight: 700;
  line-height: 1;
  font-size: 2.2rem;
}
.footer .address__text {
  letter-spacing: -0.01em;
  margin-top: 1.3rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
}
.footer .address__text:first-child {
  margin-top: 1.7rem;
}
.footer .address__text:last-child {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 0;
  line-height: 1;
}
.footer .address__text:last-child span {
  display: inline-block;
  margin-top: 1.4rem;
  width: calc(100% - 22rem);
}
.footer .address__text:last-child span:nth-child(odd) {
  width: 22rem;
}
.footer .address__text .sp-only {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .footer {
    margin-bottom: 7rem;
    padding-block: 2.6rem;
    padding-inline: 2rem;
  }
  .footer .footer__inner {
    max-width: 100%;
    gap: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .footer .footer__logo {
    width: 7.6rem;
  }
  .footer .address__title {
    font-weight: 700;
    line-height: 1;
    font-size: 1.4rem;
    text-align: center;
  }
  .footer .address__text {
    margin-top: 1rem;
    font-size: 1.1rem;
    text-align: center;
    white-space: nowrap;
  }
  .footer .address__text:first-child {
    margin-top: 1rem;
  }
  .footer .address__text:last-child span {
    margin-top: 1rem;
    width: 100%;
  }
  .footer .address__text:last-child span:nth-child(odd) {
    width: 100%;
  }
  .footer .address__text .sp-only {
    display: block !important;
  }
  .footer .pc-only {
    display: none !important;
  }
  .footer .lts-nallow {
    letter-spacing: -0.02em;
    overflow: hidden;
  }
}

.archive__pagenation {
  margin-top: 3.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.archive__pagenation .pagination-icon {
  display: grid;
  place-items: center;
  width: max(4rem, 40px);
  aspect-ratio: 1/1;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--white);
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.archive__pagenation .pagination-icon:hover, .archive__pagenation .pagination-icon:focus {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.archive__pagenation .pager {
  display: grid;
  place-items: center;
  border-radius: 50%;
  padding: 0.8rem 1.2rem;
  width: max(4rem, 40px);
  aspect-ratio: 1/1;
  font-size: max(1.6rem, 16px);
  line-height: 1.5;
  color: var(--white);
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.archive__pagenation .prev-icon img {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  width: 2rem;
  height: 1.5rem;
}
.archive__pagenation .pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  gap: 0.8rem;
}
.archive__pagenation .current {
  background: var(--white);
}

.page_num {
  display: none;
}

@media screen and (min-width: 601px) and (max-width: 768px) {
  .archive__pagenation {
    margin-top: 2.4rem;
  }
  .archive__pagenation .pagination-icon {
    width: 3.2rem;
    font-size: 1.2rem;
    line-height: 1.4166666667;
  }
  .archive__pagenation .pagination-icon img {
    width: 1.6rem;
    height: 1.2rem;
  }
  .archive__pagenation .pager {
    padding: 0.7rem 1.3rem;
    width: 3.2rem;
    font-size: 1.2rem;
    line-height: 1.4166666667;
  }
  .archive__pagenation .prev-icon img {
    width: 1.6rem;
    height: 1.2rem;
  }
}
.pageTop__btn {
  margin-top: 9rem;
  width: 9.6rem;
  margin-left: auto;
}
.pageTop__btn .pageTop__link {
  width: 100%;
  height: 9.6rem;
  background-color: var(--white);
  border-radius: 50%;
  display: grid;
  place-items: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.pageTop__btn .pageTop__text {
  margin-top: 1rem;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1;
  color: var(--white);
  text-align: center;
}
.pageTop__btn img {
  aspect-ratio: 31/42;
  width: 3.1rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .pageTop__btn:hover .pageTop__link {
    background-color: var(--text);
    border: 1px solid var(--white);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .pageTop__btn:hover .pageTop__link img {
    -webkit-filter: invert(1);
            filter: invert(1);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 768px) {
  .pageTop__btn {
    margin-top: 2.5rem;
    width: 4rem;
    margin-right: 2.2rem;
  }
  .pageTop__btn .pageTop__link {
    width: 3.2rem;
    height: 3.2rem;
    margin-inline: auto;
  }
  .pageTop__btn .pageTop__text {
    margin-top: 1rem;
    font-size: 1rem;
  }
  .pageTop__btn img {
    aspect-ratio: 13/18;
    width: 1.3rem;
  }
}

.breadnav {
  margin-top: 1.6rem;
  margin-left: 1.6rem;
}
.breadnav .breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
}
.breadnav .breadcrumb span {
  font-size: 1.4rem;
  color: var(--white);
}
.breadnav .partition {
  display: block;
}
@media screen and (min-width: 601px) and (max-width: 768px) {
  .breadnav {
    margin-top: 0.8rem;
    margin-right: 1.6rem;
  }
  .breadnav .breadcrumb {
    gap: 0.4rem;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .breadnav .breadcrumb span {
    font-size: 1.2rem;
  }
}

.wrapper {
  max-width: min(1080px, 85%);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .wrapper {
    max-width: 100%;
  }
}

.logo {
  width: 23.2rem;
  aspect-ratio: 232/54;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .logo:hover {
    scale: 1.01;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  .logo {
    width: 10.2rem;
  }
}

.gradient-text {
  background: -webkit-gradient(linear, left top, left bottom, from(#a68000), color-stop(#e8cb73), to(#9f7e0e));
  background: -webkit-linear-gradient(top, #a68000, #e8cb73, #9f7e0e);
  background: linear-gradient(to bottom, #a68000, #e8cb73, #9f7e0e);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* テキストを滑らかに表示 */
  -webkit-font-smoothing: antialiased;
}

.sec-title {
  /*  margin-top: rem(50); */
  color: var(--white);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sec-title--ja {
  font-size: 5rem;
  font-family: var(--mincho);
  line-height: 1;
  display: block;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec-title--ja {
    font-size: 1.8rem;
  }
}

.sec-title--en {
  display: block;
  font-size: 3rem;
  margin-top: 2rem;
  line-height: 1;
  padding-bottom: 1.8rem;
  position: relative;
  font-family: var(--mincho);
}
.sec-title--en::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 7rem;
  height: 2px;
  background: var(--white);
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .sec-title--en {
    font-size: 1.1rem;
    margin-top: 0.5rem;
    padding-bottom: 0.6rem;
  }
  .sec-title--en::after {
    width: 2.4rem;
    height: 1px;
  }
}

.sec-title--textcolor {
  color: var(--text);
}
.sec-title--textcolor .sec-title--en::after {
  background: var(--text);
}

.thanks .thanks__title {
  margin-top: 19rem;
  text-align: center;
  font-family: var(--mincho);
  font-weight: 600;
  font-size: 5rem;
  color: #1d116a;
}
.thanks .thanks__text {
  margin-top: 6.8rem;
  text-align: center;
  font-size: 2.4rem;
}
.thanks .thanks__img {
  display: block;
  margin-top: 4.4rem;
  margin-inline: auto;
  width: 96.2rem;
}
@media screen and (max-width: 768px) {
  .thanks {
    margin-top: 10rem;
  }
  .thanks .thanks__title {
    margin-top: 0;
    font-size: 1.6rem;
    letter-spacing: -0.01em;
  }
  .thanks .thanks__text {
    margin-top: 1.3rem;
    font-size: 1.2rem;
  }
  .thanks .thanks__img {
    padding-inline: 2rem;
    margin-top: 0.8rem;
    width: 100%;
  }
}

.page-template-page-thanks {
  background: var(--white);
}
.page-template-page-thanks .header {
  border-bottom: 1px solid var(--text);
}
.page-template-page-thanks .footer {
  border-top: 1px solid #cdcdcd;
}

@media screen and (max-width: 768px) {
  .page-template-page-thanks-php {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100vh;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .page-template-page-thanks-php main {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.bg-wrapper {
  background: url(../images/pc/main-bg.jpg) no-repeat top center/cover;
  width: 100%;
  height: 100%;
  padding-bottom: 8.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bg-wrapper {
    background: url(../images/sp/main-bg.jpg) no-repeat top center/cover;
    padding-bottom: 5rem;
  }
}

.fv {
  position: relative;
  -webkit-filter: brightness(0.5);
          filter: brightness(0.5);
  top: 0;
  margin-top: -10.2rem;
  background: url(../images/pc/fv.png) no-repeat center/cover;
  aspect-ratio: 1440/940;
  width: 100%;
  height: 100%;
  max-height: 100vh;
}
@media screen and (max-width: 768px) {
  .fv {
    margin-top: -6rem;
    background: url(../images/sp/fv.png) no-repeat center/cover;
    aspect-ratio: 375/650;
  }
}

.fv__title {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-bottom: 11.5rem;
}
@media screen and (max-width: 768px) {
  .fv__title {
    margin-bottom: 6rem;
    top: 40%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.fv__img {
  display: block;
  aspect-ratio: 965/203;
  width: 96.5rem;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 768px) {
  .fv__img {
    aspect-ratio: 375/185;
    width: 100%;
  }
}

.service {
  padding-block: 10rem;
}
.service .service__cards {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  row-gap: 2.7rem;
}
.service .service__cards .service__card:first-child .service__img-wrapper {
  margin-top: -3rem;
}
.service .service__cards .service__card:first-child .service__img {
  aspect-ratio: 155/123;
  width: 15.5rem;
}
.service .service__cards .service__card:nth-child(2) .service__img-wrapper {
  margin-top: -2rem;
}
.service .service__cards .service__card:nth-child(2) .service__img {
  aspect-ratio: 135/167;
  width: 13.5rem;
}
.service .service__cards .service__card:nth-child(2) .service__text-title img {
  aspect-ratio: 299/62;
  width: 29.9rem;
}
.service .service__cards .service__card:nth-child(3) .service__img-wrapper {
  margin-top: -1rem;
}
.service .service__cards .service__card:nth-child(3) .service__img {
  aspect-ratio: 128/175;
  width: 12.8rem;
}
.service .service__cards .service__card:nth-child(3) .service__text-title img {
  aspect-ratio: 230/62;
  width: 23rem;
}
.service .service__cards .service__card:nth-child(4) .service__img-wrapper {
  margin-top: -2rem;
}
.service .service__cards .service__card:nth-child(4) .service__img {
  aspect-ratio: 134/149;
  width: 13.4rem;
}
.service .service__cards .service__card:nth-child(4) .service__text-title {
  margin-top: 3.4rem;
}
.service .service__cards .service__card:nth-child(4) .service__text-title img {
  aspect-ratio: 128/31;
  width: 12.8rem;
}
.service .service__cards .service__card:nth-child(4) .service__text {
  margin-top: 3.4rem;
}
.service .service__cards .service__card:nth-child(5) .service__img-wrapper {
  margin-top: 3rem;
}
.service .service__cards .service__card:nth-child(5) .service__img {
  aspect-ratio: 126/178;
  width: 12.6rem;
}
.service .service__cards .service__card:nth-child(5) .service__text-title {
  margin-top: 3.4rem;
}
.service .service__cards .service__card:nth-child(5) .service__text-title img {
  aspect-ratio: 171/30;
  width: 17.1rem;
}
.service .service__cards .service__card:nth-child(5) .service__text {
  margin-top: 3.4rem;
}
.service .service__cards .service__card:last-child .service__img-wrapper {
  margin-top: 4rem;
}
.service .service__cards .service__card:last-child .service__img {
  aspect-ratio: 136/136;
  width: 13.6rem;
}
.service .service__cards .service__card:last-child .service__text-title {
  margin-top: 3.4rem;
}
.service .service__cards .service__card:last-child .service__text-title img {
  aspect-ratio: 191/31;
  width: 19.1rem;
}
.service .service__cards .service__card:last-child .service__text {
  margin-top: 3.4rem;
}
.service .service__img-wrapper {
  width: 15.5rem;
}
.service .service__card {
  background: var(--white);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4.4rem 2.5rem;
  gap: 2rem;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.service .service__text-wrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.service .service__text--bd {
  font-size: 2.7rem;
  font-weight: 600;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.service .service__text--bd::after {
  content: "";
  width: 17.7rem;
  height: 1.2px;
  background: var(--text);
  display: block;
}
.service .service__text-title {
  margin-top: 2.2rem;
}
.service .service__text {
  text-align: justify;
  margin-top: 2.2rem;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .service {
    padding-block: 6rem;
  }
  .service .service__cards {
    margin-top: 2.5rem;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.5rem;
    padding-inline: 3.5rem;
  }
  .service .service__cards .service__card:first-child {
    padding-left: 1.5rem;
  }
  .service .service__cards .service__card:first-child .service__img-wrapper {
    margin-top: -1rem;
  }
  .service .service__cards .service__card:first-child .service__img {
    width: 9rem;
  }
  .service .service__cards .service__card:nth-child(2) .service__img-wrapper {
    margin-top: 0rem;
  }
  .service .service__cards .service__card:nth-child(2) .service__img {
    width: 7.6rem;
  }
  .service .service__cards .service__card:nth-child(2) .service__text-title img {
    width: 16.3rem;
  }
  .service .service__cards .service__card:nth-child(3) .service__img-wrapper {
    margin-top: 0rem;
  }
  .service .service__cards .service__card:nth-child(3) .service__img {
    width: 7.2rem;
  }
  .service .service__cards .service__card:nth-child(3) .service__text-title img {
    width: 13.1rem;
  }
  .service .service__cards .service__card:nth-child(4) .service__img-wrapper {
    margin-top: 1rem;
  }
  .service .service__cards .service__card:nth-child(4) .service__img {
    width: 7.7rem;
  }
  .service .service__cards .service__card:nth-child(4) .service__text-title {
    margin-top: 2.1rem;
  }
  .service .service__cards .service__card:nth-child(4) .service__text-title img {
    width: 7.3rem;
  }
  .service .service__cards .service__card:nth-child(4) .service__text {
    margin-top: 2.2rem;
  }
  .service .service__cards .service__card:nth-child(5) .service__img-wrapper {
    margin-top: 2rem;
  }
  .service .service__cards .service__card:nth-child(5) .service__img {
    width: 7.1rem;
  }
  .service .service__cards .service__card:nth-child(5) .service__text-title {
    margin-top: 2rem;
  }
  .service .service__cards .service__card:nth-child(5) .service__text-title img {
    width: 9.7rem;
  }
  .service .service__cards .service__card:nth-child(5) .service__text {
    margin-top: 2rem;
  }
  .service .service__cards .service__card:last-child .service__img-wrapper {
    margin-top: 2rem;
  }
  .service .service__cards .service__card:last-child .service__img {
    width: 7.7rem;
  }
  .service .service__cards .service__card:last-child .service__text-title {
    margin-top: 2rem;
  }
  .service .service__cards .service__card:last-child .service__text-title img {
    width: 10.8rem;
  }
  .service .service__cards .service__card:last-child .service__text {
    margin-top: 2rem;
  }
  .service .service__img-wrapper {
    width: 9rem;
  }
  .service .service__card {
    padding: 2.5rem 1.5rem 2.5rem 1.5rem;
    gap: 1rem;
  }
  .service .service__text--bd {
    font-size: 1.5rem;
    gap: 1rem;
  }
  .service .service__text--bd::after {
    width: 10rem;
    height: 1px;
  }
  .service .service__text-title {
    margin-top: 1.3rem;
  }
  .service .service__text {
    margin-top: 1.2rem;
    font-size: 1.1rem;
    line-height: 1.2727272727;
  }
  .service .service__img {
    display: block;
    margin-inline: auto;
  }
}

.advertisement {
  padding-block: 7.5rem;
  background: var(--white);
}
.advertisement .advertisement__cards {
  margin-top: 4.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.advertisement .advertisement__cards .advertisment__card:nth-child(2) {
  margin-top: 6.4rem;
}
.advertisement .advertisement__cards .advertisment__card:last-child {
  margin-top: 8.6rem;
}
.advertisement .advertisment__card {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .advertisement {
    padding-block: 2.5rem;
  }
  .advertisement .advertisement__cards {
    margin-top: 1.4rem;
    padding-inline: 4rem;
  }
  .advertisement .advertisement__cards .advertisment__card:nth-child(2) {
    margin-top: 1.4rem;
  }
  .advertisement .advertisement__cards .advertisment__card:last-child {
    margin-top: 2rem;
  }
}

.supportwork {
  margin-top: 10rem;
  padding-block: 7.5rem;
  background: var(--white);
  position: relative;
  z-index: 1;
}
.supportwork::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: -4rem;
  background: url(../images/pc/asirai01.webp) no-repeat center/contain;
  aspect-ratio: 370/340;
  width: 37rem;
  z-index: -1;
}
.supportwork .supportwork__wrapper {
  margin-top: 4.5rem;
}
.supportwork .supportwork__title {
  font-weight: 700;
  color: var(--white);
  background: var(--gold);
  border-radius: 32px;
  width: 40rem;
  text-align: center;
  display: block;
  margin-inline: auto;
  font-size: 3.7rem;
  padding-block: 1.5rem;
  line-height: 1;
}
.supportwork .supportwork__cards {
  margin-top: 3.6rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 4.2rem;
     -moz-column-gap: 4.2rem;
          column-gap: 4.2rem;
  row-gap: 3.3rem;
}
.supportwork .supportwork__cards li {
  background: var(--blue);
  text-align: center;
  padding-block: 1.7rem;
  min-height: 8.2rem;
  color: var(--white);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-items: center;
  font-family: var(--gothic);
}
.supportwork .supportwork__cards li:has(.carning-narrow) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.supportwork .supportwork__cards li:has(.carning-narrow) .carning-narrow {
  display: inline;
}
.supportwork .lh-narrow {
  line-height: 1.0833333333;
  padding-block: 1.8rem;
}
.supportwork .carning-narrow {
  letter-spacing: -0.12em;
}
.supportwork .carning-narrow--lg {
  letter-spacing: -0.15em;
}
.supportwork .carning-narrow--small {
  letter-spacing: -0.15em;
}
@media screen and (max-width: 768px) {
  .supportwork {
    margin-top: 6rem;
    padding-block: 2.5rem;
  }
  .supportwork::before {
    top: 1rem;
    left: 0rem;
    background: url(../images/sp/asirai01.webp) no-repeat center/contain;
    aspect-ratio: 114/98;
    width: 11.4rem;
  }
  .supportwork .supportwork__wrapper {
    margin-top: 2rem;
    padding-inline: 4rem;
  }
  .supportwork .supportwork__title {
    border-radius: 13px;
    width: 16.5rem;
    font-size: 1.5rem;
    padding-block: 0.7rem;
  }
  .supportwork .supportwork__cards {
    margin-top: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    row-gap: 1rem;
  }
  .supportwork .supportwork__cards li {
    padding-block: 1rem;
    min-height: 4.7rem;
    font-size: 1.4rem;
  }
  .supportwork .lh-narrow {
    line-height: 1.0714285714;
    padding-block: 1rem;
  }
}

.support {
  margin-block: 10rem;
}
.support .sec-title--ja + span {
  margin-top: 2rem;
}
.support .support__cards {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
}
.support .support__cards .support__card:first-child img {
  width: 10.1em;
}
.support .support__cards .support__card:nth-child(2) img, .support .support__cards .support__card:nth-child(3) img {
  width: 13.4em;
}
.support .support__cards .support__card:nth-child(4) img {
  width: 14.1em;
}
.support .support__cards .support__card:nth-child(5) img {
  width: 11.1em;
}
.support .support__cards .support__card:nth-child(5) .support__card-title {
  margin-top: 0;
}
.support .support__cards .support__card:last-child img {
  width: 10.9em;
}
.support .support__card {
  padding-block: 8.8rem 4.5rem;
  background: var(--white);
  position: relative;
  -webkit-box-shadow: 6px 6px 9px rgba(43, 43, 43, 0.45);
          box-shadow: 6px 6px 9px rgba(43, 43, 43, 0.45);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.support .support__card img {
  margin-inline: auto;
}
.support .support__card::after {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid var(--text);
}
.support .support__card:nth-child(4) .support__card-text {
  margin-top: 2.2rem;
}
.support .support__card:last-child .support__card-text {
  margin-top: 2rem;
}
.support .support__card-title {
  margin-top: 1.8rem;
  color: #bf1a20;
  font-size: 2.2rem;
  line-height: 1.1818181818;
  vertical-align: bottom;
  font-weight: 700;
  text-align: center;
}
.support .support__card-text {
  margin-top: 1.3rem;
  font-size: 1.6rem;
  line-height: 1.375;
  font-weight: 700;
  /*  padding-inline: rem(35); */
  -webkit-font-feature-settings: "pkna";
          font-feature-settings: "pkna";
}
.support .support__card-text span {
  letter-spacing: -0.1em;
}
@media screen and (max-width: 768px) {
  .support {
    margin-block: 6rem;
  }
  .support .sec-title--ja + span {
    margin-top: 0.5rem;
  }
  .support .support__cards {
    margin-top: 2.1rem;
    padding-inline: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 0.5rem;
  }
  .support .support__cards .support__card {
    gap: 1.2rem;
  }
  .support .support__cards .support__card img {
    margin-inline: 0;
  }
  .support .support__cards .support__card:first-child img {
    width: 3.6rem;
  }
  .support .support__cards .support__card:nth-child(2) img, .support .support__cards .support__card:nth-child(3) img {
    width: 3.7rem;
  }
  .support .support__cards .support__card:nth-child(4) img {
    width: 3.6rem;
  }
  .support .support__cards .support__card:nth-child(5) img {
    width: 3.8rem;
  }
  .support .support__cards .support__card:nth-child(5) .support__card-title {
    margin-top: 0;
  }
  .support .support__cards .support__card:last-child img {
    width: 3.8rem;
  }
  .support .support__card {
    padding-block: 2.2rem;
    padding-left: 2.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    flex-direction: row;
  }
  .support .support__card::after {
    inset: 6px;
  }
  .support .support__card:nth-child(4) .support__card-text {
    margin-top: 0rem;
  }
  .support .support__card:last-child .support__card-text {
    margin-top: 0rem;
  }
  .support .support__card-title {
    margin-top: 0rem;
    font-size: 1.4rem;
    line-height: 1;
    text-align: left;
  }
  .support .support__card-text {
    margin-top: 0.5rem;
    font-size: 1.2rem;
    line-height: 1.1666666667;
  }
}

.charm {
  padding-block: 5rem;
  position: relative;
  background: var(--white);
  z-index: 1;
}
.charm::before {
  content: "";
  position: absolute;
  top: 3rem;
  right: 0rem;
  background: url(../images/pc/asirai02.webp) no-repeat center/contain;
  aspect-ratio: 338/342;
  width: 33.8rem;
  z-index: -1;
}
.charm .sec-title--ja + span {
  margin-top: 2rem;
}
.charm .charm__cards {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.4rem;
}
.charm .charm__cards li {
  aspect-ratio: 325/325;
  display: grid;
  grid-template-rows: repeat(6, 1fr);
  padding: 6.4rem 0rem;
}
.charm .charm__cards li:first-child {
  background: url(../images/pc/charm-bg01.webp) no-repeat center/cover;
}
.charm .charm__cards li:nth-child(2) {
  background: url(../images/pc/charm-bg02.webp) no-repeat center/cover;
}
.charm .charm__cards li:last-child {
  background: url(../images/pc/charm-bg03.webp) no-repeat center/cover;
}
.charm .charm__title {
  grid-row: 1/span 3;
  align-self: center;
  text-align: center;
  color: var(--white);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5416666667;
}
.charm .charm__title span {
  letter-spacing: -0.15em;
}
.charm .charm__text {
  letter-spacing: -0.05em;
  margin-top: 2.5rem;
  color: var(--white);
  font-size: 1.9rem;
  line-height: 1.5263157895;
  font-weight: 600;
  grid-row: 4/7;
  align-self: start;
  padding-inline: 3rem 2rem;
}
@media screen and (max-width: 768px) {
  .charm {
    padding-block: 2.5rem;
  }
  .charm::before {
    top: 0rem;
    right: 0rem;
    background: url(../images/sp/asirai02.webp) no-repeat center/contain;
    aspect-ratio: 84/95;
    width: 8.4rem;
  }
  .charm .sec-title--ja + span {
    margin-top: 0.5rem;
  }
  .charm .charm__cards {
    margin-top: 2rem;
    padding-inline: 2rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.3rem;
  }
  .charm .charm__cards li {
    aspect-ratio: auto;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.2rem 2.4rem;
  }
  .charm .charm__cards li:first-child {
    background: url(../images/sp/charm-bg01.webp) no-repeat center/cover;
  }
  .charm .charm__cards li:nth-child(2) {
    background: url(../images/sp/charm-bg02.webp) no-repeat center/cover;
  }
  .charm .charm__cards li:last-child {
    background: url(../images/sp/charm-bg03.webp) no-repeat center/cover;
  }
  .charm .charm__title {
    /* grid-row: 1 / span 3;
    align-self: center;
    text-align: center; */
    font-size: 1.5rem;
    line-height: 1.2;
    white-space: nowrap;
  }
  .charm .charm__text {
    letter-spacing: -0.05em;
    margin-top: 1.3rem;
    font-size: 1.2rem;
    line-height: 1.3333333333;
    padding-inline: 0rem;
  }
}

.price {
  margin-top: 5rem;
}
.price .price__body-wrapper {
  margin-top: 4.5rem;
}
.price .price__body {
  margin-block: auto;
  background: url(../images/pc/price-bg.webp) no-repeat center/contain;
  aspect-ratio: 1080/708;
  width: 100%;
  padding-block: 6rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.price .price__body .price__img:nth-child(3) {
  margin-top: 0.5rem;
}
.price .price__img {
  margin-top: 0rem;
  margin-inline: auto;
  display: block;
}
.price .price__img + .price__img {
  margin-top: 2rem;
  width: 36.7rem;
}
.price .price__img:first-child {
  width: 55.3rem;
}
.price .price__text {
  margin-top: 3rem;
  text-align: center;
  font-weight: 600;
  font-size: 3.4rem;
  line-height: 1.5;
  vertical-align: middle;
  letter-spacing: -0.04em;
}
.price .price__text + p {
  margin-top: 1.5rem;
}
.price .gradient-text {
  font-weight: 700;
  font-size: 5rem;
  line-height: 1.02;
  vertical-align: bottom;
  font-family: var(--gothic);
  font-weight: bold;
}
.price .gradient-text span {
  font-family: var(--gothic);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .price {
    margin-top: 6rem;
  }
  .price .price__body-wrapper {
    margin-top: 2rem;
    padding-inline: 2rem;
  }
  .price .price__body {
    margin-block: auto;
    background: url(../images/sp/price-bg.webp) no-repeat center/contain;
    aspect-ratio: auto;
    width: 100%;
    padding-block: 4rem;
  }
  .price .price__img {
    margin-top: 0rem;
    margin-inline: auto;
    display: block;
  }
  .price .price__img + .price__img {
    margin-top: 1.3rem;
    width: 16.5rem;
  }
  .price .price__img:first-child {
    width: 20rem;
  }
  .price .price__text {
    margin-top: 1.3rem;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5454545455;
  }
  .price .price__text + p {
    margin-top: 0.5rem;
  }
  .price .gradient-text {
    font-size: 1.6rem;
    line-height: 1;
  }
}

.reason {
  margin-block: 6rem 3.3rem;
}
.reason .sec-title--ja {
  text-shadow: 0 0 5px rgba(9, 18, 34, 0.73), 0 0 13px rgba(9, 18, 34, 0.5), 0 0 20px rgba(9, 18, 34, 0.3); /* 外側の広がる光彩 */
}
.reason .sec-title--ja + .sec-title--ja {
  margin-top: 1.5rem;
}
.reason .reason__title-img {
  background: url(../images/pc/reason-title-img.webp) no-repeat center/contain;
  aspect-ratio: 387/55;
  width: 38.7rem;
  display: inline-block;
}
.reason .reason__lists {
  margin-top: 5.5rem;
  max-width: 89rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  margin-inline: auto;
}
.reason .reason__list {
  font-family: var(--gothic);
  color: var(--white);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.34375;
  text-shadow: 0 0 5px rgba(9, 18, 34, 0.73), 0 0 13px rgba(9, 18, 34, 0.5), 0 0 20px rgba(9, 18, 34, 0.3);
}
.reason .reason__list::before {
  content: "";
  background: url(../images/pc/check.webp) no-repeat center/contain;
  width: 3.1rem;
  height: 2.7rem;
  display: inline-block;
  margin-right: 2rem;
  margin-top: 1rem;
}
.reason .reason__list p {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.reason .reason__list span {
  letter-spacing: -0.15em;
  padding-right: 5px;
  font-family: var(--gothic);
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.34375;
  text-shadow: 0 0 5px rgba(9, 18, 34, 0.73), 0 0 13px rgba(9, 18, 34, 0.5), 0 0 20px rgba(9, 18, 34, 0.3);
}
.reason .reason__img {
  margin-top: 2.8rem;
  width: 87.1rem;
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reason {
    margin-block: 3rem 2.5rem;
    padding-inline: 2rem;
  }
  .reason .sec-title--ja + .sec-title--ja {
    margin-top: 0rem;
  }
  .reason .reason__img {
    margin-top: 1.5rem;
    width: 100%;
  }
  .reason .reason__title-img {
    width: 13.2rem;
  }
  .reason .reason__lists {
    margin-top: 2.5rem;
    max-width: 100%;
    gap: 1.2rem;
  }
  .reason .reason__list {
    font-size: 1.4rem;
    line-height: 1.2142857143;
  }
  .reason .reason__list::before {
    background: url(../images/sp/check.png) no-repeat center/contain;
    width: 3.8rem;
    height: 3.6rem;
    margin-top: -1rem;
    margin-right: -0.5rem;
  }
  .reason .reason__list span {
    font-size: 1.4rem;
    line-height: 1.2142857143;
  }
}

.achievements {
  padding-block: 4.5rem;
  background: var(--white);
}
.achievements .achievements__body-wrapper {
  margin-top: 4.5rem;
}
.achievements .achievements__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 3.3rem;
     -moz-column-gap: 3.3rem;
          column-gap: 3.3rem;
  row-gap: 2.7rem;
}
@media screen and (max-width: 768px) {
  .achievements {
    padding-block: 3rem;
  }
  .achievements .achievements__body-wrapper {
    margin-top: 2rem;
    padding-inline: 4rem;
  }
  .achievements .achievements__cards {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 1.6rem;
       -moz-column-gap: 1.6rem;
            column-gap: 1.6rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 0.7rem;
  }
  .achievements .achievements__cards > *:last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    max-width: 50%;
  }
}

.flow {
  margin-top: 10rem;
}
.flow .flow__body-wrapper {
  margin-top: 4.5rem;
}
.flow .flow__img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .flow {
    margin-top: 6rem;
    padding-inline: 2rem;
  }
  .flow .flow__img {
    margin-top: 2rem;
  }
}

.contact {
  margin-top: 10rem;
}
.contact .wrapper {
  background: var(--white);
  padding-block: 6rem 4.5rem;
}
.contact .contact__body-wrapper {
  margin-top: 4rem;
  max-width: min(920px, 86%);
  margin-inline: auto;
}
.contact .contact__detail {
  margin-top: 4.7rem;
  font-size: 1.6rem;
  line-height: 1.5625;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact {
    margin-top: 6rem;
  }
  .contact .wrapper {
    padding-block: 2.5rem;
    margin-inline: 2.2rem;
  }
  .contact .contact__detail {
    margin-top: 2rem;
    font-size: 1.1rem;
    line-height: 1.0909090909;
  }
  .contact .contact__body-wrapper {
    margin-top: 3rem;
    max-width: 100%;
    padding-inline: 3.5rem;
  }
}

.privacy-policy {
  height: 24rem;
  padding: 0.5rem;
  overflow-y: scroll;
  border: 1px solid var(--text);
}
.privacy-policy .privacy-policy__box {
  margin-top: 2rem;
}
.privacy-policy p {
  font-size: 1.5rem;
  line-height: 1.4666666667;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 768px) {
  .privacy-policy {
    height: 20rem;
  }
  .privacy-policy .privacy-policy__box {
    margin-top: 1rem;
  }
  .privacy-policy p {
    font-size: 1rem;
    line-height: 1.1;
  }
}

.contact-form {
  margin-inline: auto;
  max-width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.contact-form textarea {
  overflow: auto;
  resize: none;
  height: 24rem;
  line-height: normal;
}
.contact-form input {
  height: 4.8rem;
}
.contact-form textarea,
.contact-form input {
  position: relative;
  padding: 1.6rem;
  width: 100%;
  color: var(--text);
  border: 1px solid var(--text);
  font-size: 1.6rem;
}
.contact-form textarea:focus,
.contact-form input:focus {
  outline: 2px solid var(--text);
}
.contact-form .wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 55.2rem;
  border: 2px solid transparent;
}
.contact-form .contact-form__wrapper {
  padding: 3rem 6.5rem 3rem 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  border-bottom: 0.2px solid #646464;
}
.contact-form .contact-form__title-wrapper {
  width: 21.5rem;
}
.contact-form .contact-form__title {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
}
.contact-form .form-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.contact-form .form-group:has(.wpcf7-not-valid-tip) {
  padding-bottom: 0.5rem;
}
.contact-form .required-tag {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 500;
}
.contact-form .required {
  color: #e85b6e;
}
.contact-form .free {
  color: #268c5c;
}
.contact-form .wpcf7-not-valid-tip {
  bottom: -2.5rem;
  position: absolute;
  padding-top: 0.3rem;
  padding-left: 1.6rem;
  font-size: 1.5rem;
}
.contact-form .submit {
  margin-top: 3rem;
  width: 100%;
  margin-inline: auto;
}
.contact-form .submit input {
  border: none;
  padding: 0;
  height: auto;
}
.contact-form .submit input:focus {
  outline: none;
}
.contact-form .submit .contact__btn {
  cursor: pointer;
  position: relative;
  margin-inline: auto;
  display: block;
  aspect-ratio: 350/106;
  width: 35rem;
  font-weight: 500;
  color: var(--white);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 2.6rem;
  padding-bottom: 1rem;
  background: url(../images/pc/submit-btn.webp) no-repeat center/cover;
  background-size: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .contact-form .submit .contact__btn:hover, .contact-form .submit .contact__btn:focus {
    scale: 1.02;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  .contact-form {
    gap: 1.3rem;
  }
  .contact-form textarea {
    height: 20rem;
  }
  .contact-form input {
    height: 4rem;
  }
  .contact-form textarea,
  .contact-form input {
    padding: 1rem;
    font-size: 1.4rem;
  }
  .contact-form .wpcf7-form-control-wrap {
    width: 100%;
    max-width: 100%;
    /*  display: contents; */
  }
  .contact-form .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) {
    margin-bottom: 1.5rem;
  }
  .contact-form .contact-form__wrapper {
    padding: 0rem;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.4rem;
    border-bottom: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    position: relative;
  }
  .contact-form .contact-form__title-wrapper {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .contact-form .contact-form__title {
    font-size: 1.2rem;
    font-weight: 600;
  }
  .contact-form .form-group {
    display: contents;
  }
  .contact-form .form-group:has(.wpcf7-not-valid-tip) {
    padding-bottom: 0.5rem;
  }
  .contact-form .required-tag {
    font-size: 0.9rem;
    margin-left: 0.7rem;
    display: inline-block;
    /* position: absolute;
    top: 0; */
  }
  .contact-form .wpcf7-not-valid-tip {
    bottom: -1.5rem;
    padding-left: 1rem;
    font-size: 1.2rem;
  }
  .contact-form .submit {
    margin-top: 4.6rem;
  }
  .contact-form .submit .contact__btn {
    aspect-ratio: 172/48;
    width: 17.2rem;
    font-size: 1.4rem;
    padding-bottom: 0.5rem;
    background: url(../images/sp/submit-btn.webp) no-repeat center/cover;
  }
  .contact-form .pc-only {
    display: none;
  }
}

.price.contact-form__wrapper {
  margin-top: 0;
}
.price.contact-form__wrapper input {
  width: 20px;
  aspect-ratio: 1/1;
}
.price.contact-form__wrapper input:focus {
  outline: none;
}
.price.contact-form__wrapper .wpcf7-radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.price.contact-form__wrapper .wpcf7-list-item {
  width: 33%;
  margin-left: 0;
}
.price.contact-form__wrapper .wpcf7-list-item label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.price.contact-form__wrapper .wpcf7-list-item-label {
  font-size: 2.2rem;
  line-height: 1;
}
.price.contact-form__wrapper .required {
  -webkit-align-self: baseline;
      -ms-flex-item-align: baseline;
          align-self: baseline;
  padding-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .price.contact-form__wrapper {
    margin-top: 0;
    border-bottom: none;
  }
  .price.contact-form__wrapper input {
    width: 10px;
  }
  .price.contact-form__wrapper .wpcf7-list-item {
    width: 30%;
    width: 33.3333333333%;
  }
  .price.contact-form__wrapper .wpcf7-list-item label {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    gap: 0.3rem;
  }
  .price.contact-form__wrapper .wpcf7-list-item-label {
    font-size: 1rem;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }
  .price.contact-form__wrapper .required {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    padding-top: 0rem;
  }
}

.privacy-detail.contact-form__wrapper {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: none;
}
.privacy-detail.contact-form__wrapper .contact-form__title-wrapper span {
  letter-spacing: -0.08em;
}
.privacy-detail.contact-form__wrapper .wpcf7-form-control-wrap {
  border: none;
}
.privacy-detail.contact-form__wrapper .form-group {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 55.2rem;
}
@media screen and (max-width: 768px) {
  .privacy-detail.contact-form__wrapper .form-group {
    max-width: 100%;
  }
}

.privacy-check.contact-form__wrapper {
  border-bottom: none;
  padding-inline: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.privacy-check.contact-form__wrapper .wpcf7-form-control-wrap {
  border: none;
  max-width: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.privacy-check.contact-form__wrapper label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.6rem;
}
.privacy-check.contact-form__wrapper span {
  display: block;
  font-size: 2.2rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .privacy-check.contact-form__wrapper {
    margin-top: 1.3rem;
  }
  .privacy-check.contact-form__wrapper .wpcf7-list-item {
    margin: 0;
  }
  .privacy-check.contact-form__wrapper label {
    gap: 0.5rem;
  }
  .privacy-check.contact-form__wrapper span {
    font-size: 1rem;
  }
}

.privacy-detail.contact-form__wrapper,
.requests.contact-form__wrapper,
.price.contact-form__wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

/* チェックボックス全体のカスタマイズ */
.wpcf7-form .wpcf7-acceptance input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--text);
  color: var(--text) !important;
  background-color: var(--white);
  cursor: pointer;
  position: relative;
  padding: 0;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .wpcf7-acceptance input[type=checkbox] {
    width: 1.1rem;
    height: 1.1rem;
  }
}

/* チェックマークのスタイル */
.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked {
  background-color: var(--white) !important;
  border-color: var(--text) !important;
}

.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked::after {
  content: "✔" !important;
  color: var(--text) !important;
  font-size: 1.6rem !important;
  position: absolute !important;
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  -webkit-transform: translate(-50%, -50%) !important;
          transform: translate(-50%, -50%) !important;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked::after {
    font-size: 1rem !important;
  }
}/*# sourceMappingURL=style.css.map */