@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Ubuntu:wght@400;500;700&family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap");
:root {
  -webkit-font-smoothing: antialiased;
  --base-size: 62.5%;
  --clr-text: #3e3a2a;
  --color-text: #3e3a2a;
  --clr-lighttext: #999;
  --clr-placeholder: #a7a7a7;
  --clr-line: #ccc;
  --color-bg: #e1dfd7;
  --color-green: #00ae83;
  --color-brown: #ad9574;
  --color-gray: #a09d92;
  --color-red: #e6001b;
  --ff-sans: YakuHanJP, "Ubuntu", "Zen Kaku Gothic New", sans-serif;
  --ff-outfit: "Outfit", sans-serif;
  --ff-ubuntu: "Ubuntu", "Zen Kaku Gothic New", sans-serif;
  --ff-noto: "Noto Sans JP", sans-serif;
  --fz: 1.6rem;
  --ls: normal;
  --lh: 2;
  --ani: 250ms ease-out;
  --ani-fast: 200ms ease-out;
  --ani-slow: 300ms ease-out;
  --speed: 250ms;
  --spSize: 375;
  --delay: 0;
}

.green {
  color: var(--color-green);
}

.ubu {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
}

@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}
.ui-widget,
body {
  font: inherit;
  font-family: var(--ff-sans);
  font-weight: normal;
  -webkit-text-size-adjust: 100%;
  letter-spacing: var(--ls);
  font-feature-settings: "pkna" 1;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

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

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

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

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

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

input:not([type=checkbox]):not([type=radio]),
textarea,
select,
button {
  font-size: 1.6rem;
  font-family: var(--ff-sans);
  color: var(--clr-text);
  line-height: var(--lh);
  letter-spacing: var(--ls);
  font-feature-settings: "palt" 1;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

input,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}
input:focus,
textarea:focus {
  outline: 2px solid #125fc4;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--clr-placeholder);
  display: inline;
  vertical-align: middle;
}
input::placeholder,
textarea::placeholder {
  color: var(--clr-placeholder);
  display: inline;
  vertical-align: middle;
}

input[type=reset],
input[type=submit] {
  background: none;
  border: none;
  outline: none;
}

select {
  border-radius: 0;
}
select:focus {
  outline: 0;
}
select::-ms-expand {
  display: none;
}

button {
  font-size: var(--fz);
  font-family: var(--ff-sans);
  padding: 0;
  margin: 0;
  border: none;
  background: none;
}
button:focus {
  outline: 0;
}
@media (768px <= width) {
  button {
    cursor: pointer;
  }
}

b,
strong,
.bold {
  font-weight: 700;
}

sup {
  vertical-align: super;
  font-size: 1rem;
}

sub {
  vertical-align: baseline;
  font-size: 1rem;
}

img {
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto;
  image-rendering: auto;
}

html {
  line-height: 1;
  font-size: 62.5%;
  font-size: var(--base-size);
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #f4f1e9 url(../images/common/bg.webp);
}
#stage {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-width: 320px;
  font-size: var(--fz);
  font-family: var(--ff-sans);
  font-weight: 500;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1;
  color: var(--clr-text);
}
@media (768px <= width) {
  #stage {
    min-width: 1300px;
  }
}

@media (width < 768px) {
  .pc {
    display: none;
  }
  .pc.important {
    display: none !important;
  }
}
@media (768px <= width) {
  .sp {
    display: none;
  }
  .sp.important {
    display: none !important;
  }
}
ul.dot li {
  position: relative;
  display: grid;
  grid-template-columns: 0.5rem auto;
  align-items: first baseline;
  gap: 1rem;
}
ul.dot li::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 1;
  background: currentColor;
  border-radius: 100px;
  transform: translateY(-0.25em);
}
ul.dot.gray li::before {
  background-color: var(--clr-lightYellow4);
}

ol.number > li {
  padding-left: 1.7em;
  position: relative;
  counter-increment: number;
}
ol.number > li::before {
  content: counter(number);
  position: absolute;
  left: 0.3em;
}

ol.numberdot > li {
  padding-left: 2em;
  position: relative;
  counter-increment: numberdot;
}
ol.numberdot > li::before {
  content: counter(numberdot) ". ";
  position: absolute;
  left: 0.3em;
  color: var(--clr-main);
  font-weight: 700;
}
@media (768px <= width) {
  ol.numberdot > li {
    padding-left: 3rem;
  }
}

em {
  font-style: italic;
}

a,
.btn {
  color: var(--clr-text);
  text-decoration: none;
}

@media (hover: hover) and (width >= 768px) {
  a[href^="tel:"]:hover {
    opacity: 1;
    cursor: context-menu;
  }
}
svg {
  -webkit-backface-visibility: hidden;
}

p + p {
  margin-top: 1.5em;
}

.entry-is-isolated {
  /* 2026年モダンブラウザ必須プロパティ */
  contain: layout style;
  /* レイアウトの土台を安定させる */
  display: block;
  width: 100%;
  clear: both;
  /* 念のため、中身がはみ出しても外に影響させない */
  overflow: clip; /* hiddenより高速 */
}

.header {
  padding: 2.5rem 2rem;
  position: relative;
  z-index: 999;
}
@media (768px <= width) {
  .header {
    padding: 3rem 11rem 3rem 6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.header h1.logo {
  width: 19.5rem;
}
@media (768px <= width) {
  .header h1.logo {
    width: 24.341rem;
  }
}
.header__gnav {
  display: none;
}
@media (1174px <= width) {
  .header__gnav {
    display: block;
  }
}
.header__gnav-list {
  display: flex;
  padding: 0 2rem;
}
.header__gnav-item--has-dropdown .header__gnav-link::after {
  content: "＋";
  display: inline-block;
  transition: transform var(--speed) ease;
}
.header__gnav-item--has-dropdown .header__gnav-dd-menu {
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--speed) ease;
}
.header__gnav-item--has-dropdown.open .header__gnav-link::after {
  transform: rotate(45deg);
}
.header__gnav-item--has-dropdown.open .header__gnav-dd-menu {
  pointer-events: auto;
  opacity: 1;
}
.header__gnav-link {
  font-weight: 700;
  padding: 4rem 2rem;
  display: inline-block;
  position: relative;
}
.header__gnav-link::before {
  content: "";
  width: 0px;
  height: 1px;
  background: currentColor;
  position: absolute;
  right: 2rem;
  bottom: 3rem;
  transition: width 0.5s cubic-bezier(0.43, 0.05, 0.17, 1) 0s;
}
:is(.hover) .header__gnav-link::before {
  width: calc(100% - 4rem);
  left: 2rem;
}
.header__gnav-dd-menu {
  position: absolute;
  top: 12.4rem;
  left: calc(50% - 50rem);
  background: #fff;
  border-radius: 2rem;
  width: 100rem;
  display: grid;
  grid-template-columns: repeat(3, 26rem);
  gap: 0 4rem;
  padding: 6rem 7rem;
}
@media (hover: hover) and (width >= 768px) {
  .header__gnav-dd-link {
    transition: all var(--speed) ease-in-out;
  }
  .header__gnav-dd-link img {
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .header__gnav-dd-link:hover {
    color: var(--color-green);
  }
  .header__gnav-dd-link:hover img {
    transform: scale(1.07);
  }
}
.header__gnav-dd-img-wrap {
  border-radius: 1rem;
}
@media (768px <= width) {
  .header__gnav-dd-img-wrap {
    overflow: hidden;
    display: inline-block;
  }
}
.header__gnav-dd-label {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 4rem auto;
  gap: 0 1.5rem;
  align-items: center;
}
.header__gnav-dd-label i {
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 10rem;
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
}
.header__gnav-dd-name {
  font-size: 1.6rem;
  font-weight: 700;
}
.header .menu-btn {
  width: 5rem;
  aspect-ratio: 1;
  border-radius: 100%;
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 999;
}
.header .menu-btn::before {
  content: "";
  width: 100%;
  aspect-ratio: 1;
  background: #e1dfd7;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media (hover: hover) and (width >= 768px) {
  .header .menu-btn::before {
    transition: all var(--speed) ease-in-out;
  }
  .header .menu-btn:hover::before {
    transform: scale(1.1);
  }
}
@media (768px <= width) {
  .header .menu-btn {
    width: 8rem;
    top: 3.5rem;
    right: 3rem;
  }
}
.header .menu-btn span {
  background-color: #3e3a2a;
  width: 1.8rem;
  height: 0.1rem;
  border-radius: 100rem;
  position: absolute;
  top: calc(50% - 0.1rem);
  left: calc(50% - 0.9rem);
  transition: transform var(--speed) ease, opacity var(--speed) ease, top var(--speed) ease var(--speed);
}
@media (768px <= width) {
  .header .menu-btn span {
    width: 3rem;
    height: 1px;
    left: calc(50% - 1.5rem);
  }
}
.header .menu-btn span:nth-child(1) {
  top: calc(50% - 0.6rem);
}
@media (768px <= width) {
  .header .menu-btn span:nth-child(1) {
    top: calc(50% - 0.9rem);
  }
}
.header .menu-btn span:nth-child(2) {
  opacity: 1;
}
.header .menu-btn span:nth-child(3) {
  top: calc(50% + 0.5rem);
}
@media (768px <= width) {
  .header .menu-btn span:nth-child(3) {
    top: calc(50% + 0.8rem);
  }
}
body.is-menuopen .header .menu-btn span {
  transition: transform var(--speed) ease var(--speed), opacity 0s ease var(--speed), top var(--speed) ease;
}
body.is-menuopen .header .menu-btn span:nth-child(1) {
  top: calc(50% - 0.05rem);
  transform: rotate(45deg);
}
body.is-menuopen .header .menu-btn span:nth-child(2) {
  opacity: 0;
}
body.is-menuopen .header .menu-btn span:nth-child(3) {
  top: calc(50% - 0.05rem);
  transform: rotate(-45deg);
}
.header__nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #f4f1e9 url(../images/common/bg.webp);
  padding-top: 9rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--speed) ease;
}
@media (768px <= width) {
  .header__nav {
    padding-top: 12rem;
  }
}
body.is-menuopen .header__nav {
  opacity: 1;
  pointer-events: all;
}
.header__nav-logo {
  position: absolute;
  top: 2.5rem;
  left: 2rem;
  width: 19.5rem;
}
@media (768px <= width) {
  .header__nav-logo {
    top: 5.3rem;
    left: 6rem;
    width: 24.341rem;
  }
}
.header__nav-scroll {
  overflow-y: auto;
  overscroll-behavior: contain;
  height: calc(100dvh - 9rem);
  box-sizing: border-box;
  padding: 2rem 2rem calc(5rem + env(safe-area-inset-bottom));
}
@media (768px <= width) {
  .header__nav-scroll {
    padding: 0 0 5rem;
    padding-left: max(50% - 60rem, 6rem);
    padding-right: max(50% - 60rem, 6rem);
    display: grid;
    grid-template-columns: auto 32rem;
    gap: 0 6.6666666667%;
    align-content: start;
  }
}
@media (768px <= width) and (hover: hover) and (width >= 768px) {
  .header__nav .nav__link {
    transition: all var(--speed) ease-in-out;
  }
  .header__nav .nav__link:not(span):hover {
    padding-left: 1rem;
  }
}
@media (768px <= width) {
  .header__nav .nav__list {
    grid-row: span 4;
  }
  .header__nav .nav__list .dropdown-menu {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 3rem;
    padding-bottom: 2.5rem;
  }
  .header__nav .nav__list .dropdown-menu__link {
    display: grid;
    grid-template-areas: "img img" "icon name";
    grid-template-columns: 4rem auto;
    gap: 1.5rem 1rem;
    padding-bottom: 1.5rem;
  }
  .header__nav .nav__list .dropdown-menu__img-wrap {
    grid-area: img;
    width: auto;
    border-radius: 1rem;
  }
  .header__nav .nav__list .dropdown-menu i {
    grid-area: icon;
    margin-left: 0;
    width: 4rem;
    height: 2rem;
  }
  .header__nav .nav__list .dropdown-menu__name {
    grid-area: name;
  }
  .header__nav .nav__contact {
    margin-top: 0;
    gap: 2rem;
  }
  .header__nav .nav__sns {
    margin-top: 4rem;
  }
}
@media (768px <= width){
  .header__nav .nav__list .dropdown-menu__img-wrap {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .header__nav .nav__list .dropdown-menu i {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .header__nav .nav__list .dropdown-menu__name {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

[class^=icon] {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.icon-mail {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 2.52539C19.5 1.84884 18.9519 1.30078 18.2754 1.30078H2.52539C1.84884 1.30078 1.30078 1.84884 1.30078 2.52539V13.7754C1.30078 14.4519 1.84884 15 2.52539 15H18.2754C18.9519 15 19.5 14.4519 19.5 13.7754V2.52539ZM20.8008 13.7754C20.8008 15.1699 19.6699 16.3008 18.2754 16.3008H2.52539C1.13087 16.3008 0 15.1699 0 13.7754V2.52539C0 1.13087 1.13087 0 2.52539 0H18.2754C19.6699 0 20.8008 1.13087 20.8008 2.52539V13.7754Z" fill="white"/><path d="M16.7512 3.13708C17.0344 2.91679 17.4429 2.96735 17.6633 3.25036C17.8836 3.53359 17.833 3.942 17.55 4.16247L10.8 9.41247C10.5653 9.59503 10.2359 9.59503 10.0012 9.41247L3.25121 4.16247C2.9682 3.942 2.91764 3.53359 3.13793 3.25036C3.3584 2.96735 3.76681 2.91679 4.05004 3.13708L10.4006 8.07555L16.7512 3.13708Z" fill="white"/></svg>');
  aspect-ratio: 20.8/16.3;
  background-repeat: no-repeat;
  background-size: contain;
}
.icon-mail.green {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 2.52539C19.5 1.84884 18.9519 1.30078 18.2754 1.30078H2.52539C1.84884 1.30078 1.30078 1.84884 1.30078 2.52539V13.7754C1.30078 14.4519 1.84884 15 2.52539 15H18.2754C18.9519 15 19.5 14.4519 19.5 13.7754V2.52539ZM20.8008 13.7754C20.8008 15.1699 19.6699 16.3008 18.2754 16.3008H2.52539C1.13087 16.3008 0 15.1699 0 13.7754V2.52539C0 1.13087 1.13087 0 2.52539 0H18.2754C19.6699 0 20.8008 1.13087 20.8008 2.52539V13.7754Z" fill="%2300AE83"/><path d="M16.7512 3.13708C17.0344 2.91679 17.4429 2.96735 17.6633 3.25036C17.8836 3.53359 17.833 3.942 17.55 4.16247L10.8 9.41247C10.5653 9.59503 10.2359 9.59503 10.0012 9.41247L3.25121 4.16247C2.9682 3.942 2.91764 3.53359 3.13793 3.25036C3.3584 2.96735 3.76681 2.91679 4.05004 3.13708L10.4006 8.07555L16.7512 3.13708Z" fill="%2300AE83"/></svg>');
}

.icon-service {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.6503 8.45578C15.6503 8.10978 15.6503 7.93677 15.7023 7.78277C15.8533 7.33477 16.2523 7.16176 16.6523 6.97976C17.1003 6.77476 17.3243 6.67276 17.5473 6.65476C17.7993 6.63476 18.0523 6.68876 18.2683 6.80976C18.5543 6.96976 18.7543 7.27577 18.9583 7.52377C19.9013 8.66979 20.3733 9.24279 20.5453 9.8738C20.6853 10.3838 20.6853 10.9178 20.5453 11.4268C20.2943 12.3488 19.4993 13.1208 18.9103 13.8369C18.6093 14.2019 18.4583 14.3849 18.2683 14.4919C18.0486 14.6137 17.7977 14.6677 17.5473 14.6469C17.3243 14.6289 17.1003 14.5269 16.6513 14.3219C16.2513 14.1399 15.8533 13.9669 15.7023 13.5189C15.6503 13.3649 15.6503 13.1918 15.6503 12.8458V8.45578ZM5.6503 8.45578C5.6503 8.01978 5.6383 7.62877 5.2863 7.32277C5.1583 7.21176 4.9883 7.13476 4.6493 6.97976C4.2003 6.77576 3.9763 6.67276 3.7533 6.65476C3.0863 6.60076 2.7273 7.05676 2.3433 7.52477C1.3993 8.66978 0.927299 9.24279 0.754299 9.8748C0.615104 10.3831 0.615104 10.9195 0.754299 11.4278C1.0063 12.3488 1.8023 13.1218 2.3903 13.8369C2.7613 14.2869 3.1163 14.6979 3.7533 14.6469C3.9763 14.6289 4.2003 14.5269 4.6493 14.3219C4.9893 14.1679 5.1583 14.0899 5.2863 13.9789C5.6383 13.6729 5.6503 13.2819 5.6503 12.8468V8.45578Z" stroke="white" stroke-width="1.3"/><path d="M3.65039 6.65048C3.65039 3.33643 6.78439 0.650391 10.6504 0.650391C14.5164 0.650391 17.6504 3.33643 17.6504 6.65048" stroke="white" stroke-width="1.3" stroke-linecap="square" stroke-linejoin="round"/><path d="M17.6501 14.6504V15.4504C17.6501 17.2174 15.8601 18.6504 13.6501 18.6504H11.6501" stroke="white" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  aspect-ratio: 22/20;
  background-repeat: no-repeat;
  background-size: contain;
}
.icon-service.brown {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.6503 8.45578C15.6503 8.10978 15.6503 7.93677 15.7023 7.78277C15.8533 7.33477 16.2523 7.16176 16.6523 6.97976C17.1003 6.77476 17.3243 6.67276 17.5473 6.65476C17.7993 6.63476 18.0523 6.68876 18.2683 6.80976C18.5543 6.96976 18.7543 7.27577 18.9583 7.52377C19.9013 8.66979 20.3733 9.24279 20.5453 9.8738C20.6853 10.3838 20.6853 10.9178 20.5453 11.4268C20.2943 12.3488 19.4993 13.1208 18.9103 13.8369C18.6093 14.2019 18.4583 14.3849 18.2683 14.4919C18.0486 14.6137 17.7977 14.6677 17.5473 14.6469C17.3243 14.6289 17.1003 14.5269 16.6513 14.3219C16.2513 14.1399 15.8533 13.9669 15.7023 13.5189C15.6503 13.3649 15.6503 13.1918 15.6503 12.8458V8.45578ZM5.6503 8.45578C5.6503 8.01978 5.6383 7.62877 5.2863 7.32277C5.1583 7.21176 4.9883 7.13476 4.6493 6.97976C4.2003 6.77576 3.9763 6.67276 3.7533 6.65476C3.0863 6.60076 2.7273 7.05676 2.3433 7.52477C1.3993 8.66978 0.927299 9.24279 0.754299 9.8748C0.615104 10.3831 0.615104 10.9195 0.754299 11.4278C1.0063 12.3488 1.8023 13.1218 2.3903 13.8369C2.7613 14.2869 3.1163 14.6979 3.7533 14.6469C3.9763 14.6289 4.2003 14.5269 4.6493 14.3219C4.9893 14.1679 5.1583 14.0899 5.2863 13.9789C5.6383 13.6729 5.6503 13.2819 5.6503 12.8468V8.45578Z" stroke="%23AD9574" stroke-width="1.3"/><path d="M3.65039 6.65048C3.65039 3.33643 6.78439 0.650391 10.6504 0.650391C14.5164 0.650391 17.6504 3.33643 17.6504 6.65048" stroke="%23AD9574" stroke-width="1.3" stroke-linecap="square" stroke-linejoin="round"/><path d="M17.6501 14.6504V15.4504C17.6501 17.2174 15.8601 18.6504 13.6501 18.6504H11.6501" stroke="%23AD9574" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.icon-instagram {
  background: url(../images/common/logo_instagram.webp) center/contain no-repeat;
  background-image: -webkit-image-set(url(../images/common/logo_instagram.webp) 1x, url(../images/common/logo_instagram@2x.webp) 2x);
  background-image: image-set(url(../images/common/logo_instagram.webp) 1x, url(../images/common/logo_instagram@2x.webp) 2x);
  width: 3rem;
  height: 3rem;
  display: inline-block;
}

.icon-model-house {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="33" height="28" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.64697 10.1765L15.9423 3.65353C17.9244 1.884 18.9139 1 20.1176 1C21.3212 1 22.3123 1.884 24.2929 3.65353L31.5881 10.1765M10.9411 8.64706V27M29.294 27V8.64706" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.29386 17.822C4.56072 17.822 5.58772 16.4527 5.58772 14.7636C5.58772 13.0744 4.56072 11.7051 3.29386 11.7051C2.027 11.7051 1 13.0744 1 14.7636C1 16.4527 2.027 17.822 3.29386 17.822Z" stroke="%233E3A2A" stroke-width="2"/><path d="M3.29419 17.8232V26.9997" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round"/><path d="M1 26.9994H31.5882M16.2941 26.9994V20.8818C16.2941 19.4395 16.2941 18.7192 16.7422 18.2711C17.1903 17.823 17.9107 17.823 19.3529 17.823H20.8823C22.3246 17.823 23.0449 17.823 23.4931 18.2711C23.9412 18.7192 23.9412 19.4395 23.9412 20.8818V26.9994M18.5882 13.2347H21.6471M18.5882 8.64648H21.6471" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  aspect-ratio: 22/20;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon-new {
  background: url('data:image/svg+xml;charset=utf8, <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="25" fill="%2300AE83"/><path d="M32.2009 26.3811C32.0322 27.0264 31.8489 27.6571 31.6509 28.2731C31.4602 28.8817 31.2696 29.4574 31.0789 30.0001H29.9899C29.8432 29.6627 29.6892 29.2777 29.5279 28.8451C29.3666 28.4124 29.2052 27.9504 29.0439 27.4591C28.8826 26.9677 28.7212 26.4507 28.5599 25.9081C28.3986 25.3654 28.2409 24.8117 28.0869 24.2471H29.4949C29.5609 24.5551 29.6379 24.8887 29.7259 25.2481C29.8139 25.6001 29.9056 25.9631 30.0009 26.3371C30.0962 26.7037 30.1952 27.0631 30.2979 27.4151C30.4006 27.7671 30.5032 28.0897 30.6059 28.3831C30.7159 28.0457 30.8222 27.6974 30.9249 27.3381C31.0349 26.9787 31.1376 26.6194 31.2329 26.2601C31.3282 25.9007 31.4162 25.5524 31.4969 25.2151C31.5849 24.8704 31.6619 24.5477 31.7279 24.2471H32.7509C32.8169 24.5477 32.8902 24.8704 32.9709 25.2151C33.0516 25.5524 33.1359 25.9007 33.2239 26.2601C33.3192 26.6194 33.4182 26.9787 33.5209 27.3381C33.6309 27.6974 33.7409 28.0457 33.8509 28.3831C33.9462 28.0897 34.0452 27.7671 34.1479 27.4151C34.2506 27.0631 34.3496 26.7037 34.4449 26.3371C34.5476 25.9631 34.6429 25.6001 34.7309 25.2481C34.8189 24.8887 34.8959 24.5551 34.9619 24.2471H36.3369C36.1829 24.8117 36.0252 25.3654 35.8639 25.9081C35.7026 26.4507 35.5412 26.9677 35.3799 27.4591C35.2186 27.9504 35.0572 28.4124 34.8959 28.8451C34.7346 29.2777 34.5769 29.6627 34.4229 30.0001H33.3449C33.1542 29.4574 32.9562 28.8817 32.7509 28.2731C32.5529 27.6571 32.3696 27.0264 32.2009 26.3811Z" fill="white"/><path d="M22.1658 27.151C22.1658 26.645 22.2391 26.2013 22.3858 25.82C22.5398 25.4387 22.7414 25.1233 22.9908 24.874C23.2401 24.6173 23.5261 24.4267 23.8488 24.302C24.1714 24.17 24.5014 24.104 24.8388 24.104C25.6308 24.104 26.2468 24.3497 26.6868 24.841C27.1341 25.3323 27.3578 26.0657 27.3578 27.041C27.3578 27.1143 27.3541 27.1987 27.3468 27.294C27.3468 27.382 27.3431 27.4627 27.3358 27.536H23.5408C23.5774 27.998 23.7388 28.3573 24.0248 28.614C24.3181 28.8633 24.7398 28.988 25.2898 28.988C25.6124 28.988 25.9058 28.9587 26.1698 28.9C26.4411 28.8413 26.6538 28.779 26.8078 28.713L26.9838 29.802C26.9104 29.8387 26.8078 29.879 26.6758 29.923C26.5511 29.9597 26.4044 29.9927 26.2358 30.022C26.0744 30.0587 25.8984 30.088 25.7078 30.11C25.5171 30.132 25.3228 30.143 25.1248 30.143C24.6188 30.143 24.1788 30.0697 23.8048 29.923C23.4308 29.769 23.1228 29.56 22.8808 29.296C22.6388 29.0247 22.4591 28.7093 22.3418 28.35C22.2244 27.9833 22.1658 27.5837 22.1658 27.151ZM26.0268 26.557C26.0268 26.3737 26.0011 26.2013 25.9498 26.04C25.8984 25.8713 25.8214 25.7283 25.7188 25.611C25.6234 25.4863 25.5024 25.391 25.3558 25.325C25.2164 25.2517 25.0478 25.215 24.8498 25.215C24.6444 25.215 24.4648 25.2553 24.3108 25.336C24.1568 25.4093 24.0248 25.5083 23.9148 25.633C23.8121 25.7577 23.7314 25.9007 23.6728 26.062C23.6141 26.2233 23.5738 26.3883 23.5518 26.557H26.0268Z" fill="white"/><path d="M19.5452 30C19.2959 29.582 19.0172 29.1346 18.7092 28.658C18.4012 28.174 18.0822 27.69 17.7522 27.206C17.4222 26.7146 17.0849 26.2416 16.7402 25.787C16.4029 25.325 16.0802 24.9106 15.7722 24.544V30H14.4082V22.377H15.5412C15.8345 22.685 16.1499 23.0516 16.4872 23.477C16.8245 23.895 17.1619 24.3313 17.4992 24.786C17.8439 25.2406 18.1739 25.699 18.4892 26.161C18.8119 26.6156 19.0979 27.041 19.3472 27.437V22.377H20.7222V30H19.5452Z" fill="white"/></svg>') center/contain no-repeat;
  aspect-ratio: 1;
}

.icon__address {
  background: url('data:image/svg+xml;charset=utf8, <svg width="13" height="16" viewBox="0 0 13 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5001 6.50007C12.5001 10.2449 8.34585 14.1449 6.95083 15.3494C6.82087 15.4472 6.66268 15.5 6.50007 15.5C6.33747 15.5 6.17928 15.4472 6.04932 15.3494C4.6543 14.1449 0.5 10.2449 0.5 6.50007C0.5 4.90876 1.13215 3.38261 2.25738 2.25738C3.38261 1.13215 4.90876 0.5 6.50007 0.5C8.09139 0.5 9.61754 1.13215 10.7428 2.25738C11.868 3.38261 12.5001 4.90876 12.5001 6.50007Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.50003 8.75006C7.74268 8.75006 8.75006 7.74268 8.75006 6.50003C8.75006 5.25737 7.74268 4.25 6.50003 4.25C5.25737 4.25 4.25 5.25737 4.25 6.50003C4.25 7.74268 5.25737 8.75006 6.50003 8.75006Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.2rem;
}
.icon__tel {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.91833 1.5475C5.79465 1.23839 5.58121 0.973402 5.30554 0.786702C5.02988 0.600002 4.70461 0.500144 4.37167 0.5H2.07917C1.66035 0.5 1.25868 0.666376 0.962527 0.962527C0.666376 1.25868 0.5 1.66035 0.5 2.07917C0.5 9.49083 6.50833 15.5 13.9217 15.5C14.3403 15.4998 14.7418 15.3333 15.0378 15.0372C15.3337 14.7411 15.5 14.3395 15.5 13.9208V11.6283C15.5 11.2952 15.4002 10.9698 15.2135 10.694C15.0268 10.4181 14.7617 10.2046 14.4525 10.0808L12.2558 9.2025C11.9769 9.09087 11.673 9.05672 11.3762 9.10366C11.0794 9.1506 10.8009 9.27689 10.57 9.46917L10.0033 9.9425C9.68377 10.2091 9.27602 10.3465 8.86027 10.3277C8.44451 10.3089 8.05084 10.1352 7.75667 9.84083L6.16 8.24167C5.86595 7.94768 5.69241 7.55441 5.67345 7.13904C5.65448 6.72367 5.79146 6.31622 6.0575 5.99667L6.53 5.43C6.72271 5.19921 6.84939 4.92058 6.89663 4.62365C6.94387 4.32672 6.9099 4.02253 6.79833 3.74333L5.91833 1.5475Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.5rem;
}
.icon__hours {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 8C15.5 9.98912 14.7098 11.8968 13.3033 13.3033C11.8968 14.7098 9.98912 15.5 8 15.5C6.01088 15.5 4.10322 14.7098 2.6967 13.3033C1.29018 11.8968 0.5 9.98912 0.5 8C0.5 6.01088 1.29018 4.10322 2.6967 2.6967C4.10322 1.29018 6.01088 0.5 8 0.5C9.98912 0.5 11.8968 1.29018 13.3033 2.6967C14.7098 4.10322 15.5 6.01088 15.5 8Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.39062 3.74329V8.60815H10.6339" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.5rem;
}
.icon__closed {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 2.77274C0.5 2.53163 0.595779 2.3004 0.766267 2.12991C0.936754 1.95943 1.16799 1.86365 1.40909 1.86365H14.1364C14.3775 1.86365 14.6087 1.95943 14.7792 2.12991C14.9497 2.3004 15.0455 2.53163 15.0455 2.77274V6.4091H0.5V2.77274Z" stroke="%233E3A2A" stroke-linejoin="round"/><path d="M4.13672 3.22727V0.5M11.4094 3.22727V0.5" stroke="%233E3A2A" stroke-linecap="round"/><path d="M0.5 6.40906H15.0455V14.5909C15.0455 14.832 14.9497 15.0632 14.7792 15.2337C14.6087 15.4042 14.3775 15.5 14.1364 15.5H1.40909C1.16799 15.5 0.936754 15.4042 0.766267 15.2337C0.595779 15.0632 0.5 14.832 0.5 14.5909V6.40906Z" stroke="%233E3A2A" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.455rem;
}

/* ///////////////// フローティングバナー ///////////////// */
.floating-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 888;
  transition: opacity var(--speed) ease;
}
@media (768px <= width) {
  .floating-banner {
    width: 31rem;
    left: auto;
    right: 0;
    bottom: 5rem;
    background-color: #fff;
    border-radius: 2rem 0 0 2rem;
    padding: 2rem;
  }
  .floating-banner.contact {
    bottom: 10rem;
  }
}
.floating-banner.hide {
  opacity: 0;
  pointer-events: none;
}
.floating-banner__label {
  display: none;
}
@media (768px <= width) {
  .floating-banner__label {
    display: block;
    font-size: 1.5rem;
    text-align: center;
  }
}
.floating-banner__actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (768px <= width) {
  .floating-banner__actions {
    margin-top: 1.5rem;
    grid-template-columns: auto;
    gap: 0.5rem;
  }
}
.floating-banner__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.385rem;
  height: 5rem;
}
@media (768px <= width) {
  .floating-banner__btn {
    display: grid;
    justify-content: start;
    padding-left: 2rem;
    padding-right: 6.5rem;
    position: relative;
  }
  .floating-banner__btn i {
    position: absolute;
    top: calc(50% - 1rem);
    right: 1.5rem;
    width: 4rem;
    height: 2rem;
  }
}
.floating-banner__btn.btn--contact {
  border-top-left-radius: 1rem;
  background: var(--color-green);
}
@media (768px <= width) {
  .floating-banner__btn.btn--contact {
    border-radius: 100rem;
    border: 1px solid var(--color-green);
  }
  .floating-banner__btn.btn--contact i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M14 9.5C13.7239 9.5 13.5 9.72386 13.5 10C13.5 10.2761 13.7239 10.5 14 10.5V10V9.5ZM26 10L21 7.11325V12.8868L26 10ZM14 10V10.5L21.5 10.5V10V9.5L14 9.5V10Z" fill="%2300AE83"/></svg>');
  }
}
@media (hover: hover) and (width >= 768px) {
  .floating-banner__btn.btn--contact {
    transition: all var(--speed) ease-in-out;
  }
  .floating-banner__btn.btn--contact:hover {
    background-color: #fff;
  }
  .floating-banner__btn.btn--contact:hover .floating-banner__name {
    color: var(--color-green);
  }
  .floating-banner__btn.btn--contact:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  }
}
.floating-banner__btn.btn--afterservice {
  border-top-right-radius: 1rem;
  background: var(--color-brown);
}
@media (768px <= width) {
  .floating-banner__btn.btn--afterservice {
    border-radius: 100rem;
    border: 1px solid var(--color-brown);
  }
  .floating-banner__btn.btn--afterservice i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M28 10L23 12.8867L23 10.5L12 10.5C11.7239 10.5 11.5 10.2761 11.5 10C11.5 9.72386 11.7239 9.5 12 9.5L23 9.5L23 7.11328L28 10Z" fill="%23AD9574"/></svg>');
  }
}
@media (hover: hover) and (width >= 768px) {
  .floating-banner__btn.btn--afterservice {
    transition: all var(--speed) ease-in-out;
  }
  .floating-banner__btn.btn--afterservice:hover {
    background-color: #fff;
  }
  .floating-banner__btn.btn--afterservice:hover .floating-banner__name {
    color: var(--color-brown);
  }
  .floating-banner__btn.btn--afterservice:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="%23AD9574"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  }
}
.floating-banner__name {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 140%;
  color: #fff;
}
@media (width < 768px) {
  .floating-banner__name {
    order: 2;
  }
}
@media (768px <= width) {
  .floating-banner__name {
    font-size: 1.5rem;
  }
  .floating-banner__name br {
    display: none;
  }
}
.floating-banner i.icon-mail {
  width: 2.08rem;
}
@media (768px <= width) {
  .floating-banner i.icon-mail {
    width: 4rem;
  }
}
.floating-banner i.icon-service {
  width: 2.2rem;
}
@media (768px <= width) {
  .floating-banner i.icon-service {
    width: 4rem;
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M28 10L23 12.8867L23 10.5L12 10.5C11.7239 10.5 11.5 10.2761 11.5 10C11.5 9.72386 11.7239 9.5 12 9.5L23 9.5L23 7.11328L28 10Z" fill="%23AD9574"/></svg>');
  }
}
@media (width < 768px) {
  .floating-banner i {
    order: 1;
  }
}

/* ///////////////// フローティングバナー ///////////////// */
/* ///////////////// フッターブロック ///////////////// */
.footer {
  margin-top: 8rem;
  position: relative;
  padding-bottom: 11rem;
}
@media (768px <= width) {
  .footer {
    margin-top: 16rem;
  }
}
.footer::before {
  content: "";
  background: var(--color-bg);
  width: 100%;
  position: absolute;
  left: 0;
  top: 166.2rem;
  bottom: 0;
  border-radius: 12rem 12rem 0 0;
  z-index: -1;
}
@media (768px <= width) {
  .footer::before {
    top: auto;
    width: auto;
    height: 77.7rem;
    left: 6rem;
    right: 6rem;
    bottom: 3rem;
    border-radius: 16rem 16rem 2rem 2rem;
  }
}

/* ///////////////// フッターブロック ///////////////// */
/* ///////////////// 施工実績 ///////////////// */
.footer-works {
  position: relative;
}
.footer-works__badge {
  margin: 0 auto;
  z-index: 2;
  position: relative;
}
@media (768px <= width) {
  .footer-works__badge {
    position: absolute;
    margin: 0;
    top: -18rem;
    right: 16rem;
  }
}
.footer-works__imgs-wrap {
  margin-top: -3rem;
  display: grid;
  gap: calc(6 / var(--spSize) * 100vw);
}
.footer-works__imgs-wrap img {
  width: 100%;
}
@media (768px <= width) {
  .footer-works__imgs-wrap {
    gap: 0.5208333333vw;
  }
}
@media (768px <= width) {
  .footer-works__imgs-wrap.wrap-sp {
    display: none;
  }
}
.footer-works__imgs-wrap.wrap-pc {
  margin-top: 0;
}
@media (width < 768px) {
  .footer-works__imgs-wrap.wrap-pc {
    display: none;
  }
}

.achieve-badge {
  width: 24rem;
}
@media (768px <= width) {
  .achieve-badge {
    width: 36rem;
  }
}
.achieve-badge__base {
  background: url(../images/common/achieve-badge_bg.svg) center/contain no-repeat;
  width: 100%;
  aspect-ratio: 1;
  animation: rotate-animation 5s linear infinite;
}
.achieve-badge__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  padding-top: 3.66rem;
}
@media (768px <= width) {
  .achieve-badge__content {
    padding-top: 5.4rem;
  }
}
.achieve-badge__label {
  margin: 0 auto;
}
.achieve-badge__label img {
  width: 14.718rem;
}
@media (768px <= width) {
  .achieve-badge__label img {
    width: 23.5rem;
  }
}
.achieve-badge__main {
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.achieve-badge__number {
  font-size: 5.333rem;
  font-family: var(--ff-outfit);
  font-weight: 800;
  color: var(--color-brown);
  line-height: 1;
}
@media (768px <= width) {
  .achieve-badge__number {
    font-size: 8rem;
  }
}
.achieve-badge__unit {
  font-size: 2.133rem;
  font-weight: 900;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
  margin-left: -0.533rem;
  stroke-linejoin: round;
}
@media (768px <= width) {
  .achieve-badge__unit {
    font-size: 3.2rem;
  }
}
.achieve-badge__period {
  margin-top: 1rem;
  display: inline-block;
  font-size: 0.933rem;
  text-align: center;
  border: 1.33px solid currentColor;
  border-width: 1.33px 0;
  padding: 0.7rem 0;
  width: 14.533rem;
}
@media (768px <= width) {
  .achieve-badge__period {
    margin-top: 1.5rem;
    font-size: 1.4rem;
    padding: 0.9rem 0;
    width: 21.8rem;
    border-width: 2px 0;
  }
}

/* ///////////////// 施工実績 ///////////////// */
/* ///////////////// コンタクトボタンエリア ///////////////// */
.footer-contact {
  padding: 8rem 2rem;
}
@media (768px <= width) {
  .footer-contact {
    padding: 12rem max(50% - 70rem, 12rem);
  }
}
.footer-contact__label {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 166%;
  text-align: center;
}
@media (768px <= width) {
  .footer-contact__label {
    font-size: 3.2rem;
  }
  .footer-contact__label br {
    display: none;
  }
}
.footer-contact__disc {
  margin-top: 1.5rem;
  text-align: center;
  line-height: 200%;
}
@media (768px <= width) {
  .footer-contact__disc {
    font-size: 1.7rem;
  }
  .footer-contact__disc br {
    display: none;
  }
}
.footer-contact__actions {
  margin-top: 4rem;
  display: grid;
  gap: 2rem 0;
}
@media (768px <= width) {
  .footer-contact__actions {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2.5rem;
  }
}
.contact-box {
  background-color: #fff;
  border-radius: 1rem;
  padding: 3rem;
}
@media (768px <= width) {
  .contact-box {
    border-radius: 2rem;
    padding: 5rem;
  }
}
.contact-box__icon {
  text-align: center;
}
.contact-box__icon .icon-model-house {
  width: 3.059rem;
}
.contact-box__icon .icon-mail {
  width: 2.99rem;
}
.contact-box__icon .icon-service {
  width: 3.111rem;
}
@media (768px <= width) {
  .contact-box__icon {
    min-height: 3.3rem;
  }
  .contact-box__icon .icon-model-house {
    width: 3.529rem;
  }
  .contact-box__icon .icon-mail {
    width: 3.38rem;
  }
  .contact-box__icon .icon-service {
    width: 3.556rem;
  }
}
.contact-box__label {
  margin-top: 2rem;
  text-align: center;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .contact-box__label {
    font-size: 1.8rem;
  }
}
.contact-box__btn {
  margin-top: 2rem;
}
.contact-box__btn .btn {
  margin-left: auto;
  margin-right: auto;
}
@media (768px <= width) {
  .contact-box__btn .btn {
    width: auto;
  }
}
/* ///////////////// コンタクトボタンエリア ///////////////// */
/* ///////////////// フッターエリア ///////////////// */
.footer-info {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (768px <= width) {
  .footer-info {
    padding-left: max(50% - 70rem, 12rem);
    padding-right: max(50% - 70rem, 12rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-content: start;
  }
}
.footer-info__logo {
  text-align: center;
}
@media (768px <= width) {
  .footer-info__logo {
    grid-column: 1/2;
    grid-row: 1/2;
    text-align: left;
  }
}
.footer-info__name {
  margin-top: 4rem;
  font-weight: 700;
}
@media (768px <= width) {
  .footer-info__name {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-top: 5rem;
  }
}
.footer-info__data {
  margin-top: 1.5rem;
  line-height: 200%;
}
@media (768px <= width) {
  .footer-info__data {
    grid-column: 1/2;
    grid-row: 3/4;
    margin-top: 2rem;
  }
}
.footer-info__sns {
  margin-top: 2rem;
}
@media (768px <= width) {
  .footer-info__sns {
    grid-column: 1/2;
    grid-row: 4/5;
  }
}

@media (768px <= width) {
  .footer__nav {
    grid-column: 2/3;
    grid-row: 1/6;
  }
}
.footer__nav .nav__list {
  margin-top: 5rem;
  padding: 2.5rem 0;
  background-image: linear-gradient(to right, black 50%, transparent 50%), linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left bottom, left top;
}
@media (768px <= width) {
  .footer__nav .nav__list {
    margin-top: 0;
    padding: 0;
    background: none;
    grid-template-columns: repeat(3, auto);
    grid-auto-flow: column;
    align-content: start;
  }
}
.footer__nav .nav__item {
  background: none;
}
.footer__nav .nav__item:first-child {
  display: none;
}
@media (768px <= width) {
  .footer__nav .nav__item--wide {
    grid-column: span 1;
    grid-row: span 3;
  }
}
.footer__nav .nav__link {
  padding: 1.5rem 0;
}
@media (hover: hover) and (width >= 768px) {
  .footer__nav .nav__link {
    transition: all var(--speed) ease-in-out;
  }
  .footer__nav .nav__link:not(span):hover {
    transform: translateX(1rem);
  }
}
.footer__nav .dropdown-menu {
  display: grid;
  padding-bottom: 2rem;
}
.footer__nav .dropdown-menu__img-wrap {
  display: none;
}
.footer__nav .dropdown-menu__link {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-weight: 700;
  line-height: 200%;
}
@media (hover: hover) and (width >= 768px) {
  .footer__nav .dropdown-menu__link {
    transition: all var(--speed) ease-in-out;
  }
  .footer__nav .dropdown-menu__link:hover {
    transform: translateX(1rem);
  }
}
.footer__nav .dropdown-menu__name {
  font-size: 1.4rem;
  order: 2;
}
.footer__nav .dropdown-menu i {
  order: 1;
  background: var(--color-green);
  width: 0.7rem;
  height: 0.6rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translateY(-0.2rem);
}

/* ///////////////// フッターエリア ///////////////// */
/* ///////////////// フッターサブエリア ///////////////// */
@media (768px <= width) {
  .footer-sarea {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8rem;
    margin-left: max(50% - 70rem, 12rem);
    margin-right: max(50% - 70rem, 12rem);
    padding-top: 6rem;
    background-image: linear-gradient(to right, black 50%, transparent 50%);
    background-size: 9px 1px;
    background-repeat: repeat-x;
    background-position: left top;
  }
}

/* ///////////////// フッターサブエリア ///////////////// */
/* ///////////////// バナー ///////////////// */
.footer-bnr {
  padding: 4rem 5rem 3rem;
  display: grid;
  gap: 1rem;
}
@media (768px <= width) {
  .footer-bnr {
    grid-area: bnr;
    padding: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (hover: hover) and (width >= 768px) {
  .footer-bnr__links {
    transition: all var(--speed) ease-in-out;
  }
  .footer-bnr__links:hover {
    opacity: 0.7;
  }
}

/* ///////////////// バナー ///////////////// */
/* ///////////////// サブナビ ///////////////// */
.footer-sub {
  text-align: center;
}
@media (768px <= width) {
  .footer-sub {
    grid-area: snav;
  }
}
/* ///////////////// サブナビ ///////////////// */
/* ///////////////// コピーライト ///////////////// */
.copyright {
  margin-top: 2rem;
  text-align: center;
  font-size: 1.2rem;
}
@media (768px <= width) {
  .copyright {
    grid-area: copy;
  }
}

/* ///////////////// コピーライト ///////////////// */
@media (768px <= width) {
  .w_1000 {
    margin-left: max(50% - 50rem, 6rem);
    margin-right: max(50% - 50rem, 6rem);
    max-width: 100rem;
  }
}

@media (768px <= width) {
  .w_1100 {
    margin-left: max(50% - 55rem, 6rem);
    margin-right: max(50% - 55rem, 6rem);
    max-width: 110rem;
  }
}

@media (768px <= width) {
  .w_1200 {
    margin-left: max(50% - 60rem, 6rem);
    margin-right: max(50% - 60rem, 6rem);
    max-width: 120rem;
  }
}

@media (768px <= width) {
  .w_1300 {
    margin-left: max(50% - 65rem, 6rem);
    margin-right: max(50% - 65rem, 6rem);
    max-width: 130rem;
  }
}

@media (768px <= width) {
  .w_1400 {
    margin-left: max(50% - 70rem, 6rem);
    margin-right: max(50% - 70rem, 6rem);
    max-width: 140rem;
  }
}

@media (768px <= width) {
  .w_1500 {
    margin-left: max(50% - 75rem, 6rem);
    margin-right: max(50% - 75rem, 6rem);
    max-width: 150rem;
  }
}

@media (768px <= width) {
  .w_1600 {
    margin-left: max(50% - 80rem, 6rem);
    margin-right: max(50% - 80rem, 6rem);
    max-width: 160rem;
  }
}

@media (768px <= width) {
  .w_1700 {
    margin-left: max(50% - 85rem, 6rem);
    margin-right: max(50% - 85rem, 6rem);
    max-width: 170rem;
  }
}

.weight100 {
  font-weight: 100;
}

.weight200 {
  font-weight: 200;
}

.weight300 {
  font-weight: 300;
}

.weight400 {
  font-weight: 400;
}

.weight500 {
  font-weight: 500;
}

.weight600 {
  font-weight: 600;
}

.weight700 {
  font-weight: 700;
}

.weight800 {
  font-weight: 800;
}

.weight900 {
  font-weight: 900;
}

@media (768px <= width) {
  body:not(#home) .main {
    padding-bottom: 16rem;
  }
}
body:not(#home) .breadcrumbs {
  padding: 2rem 0;
  margin: 0 auto;
  width: calc(100% - 4rem);
  font-size: 1.2rem;
}
@media (768px <= width) {
  body:not(#home) .breadcrumbs {
    padding: 6rem 0 0;
    margin: 0 max(50% - 80rem, 6rem);
    width: auto;
    font-size: 1.4rem;
  }
}
body:not(#home) .breadcrumbs__wrap {
  display: flex;
  gap: 0.8rem;
  flex-wrap: nowrap;
  width: 100%;
  overflow: hidden;
}
body:not(#home) .breadcrumbs span[property=itemListElement] {
  display: flex;
  flex-shrink: 0; /* 他の項目は勝手に縮まない */
  min-width: 0;
}
body:not(#home) .breadcrumbs span[property=itemListElement]:last-child {
  flex-shrink: 1;
}
body:not(#home) .breadcrumbs span[property=itemListElement]:last-child > span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /* はみ出したら「…」 */
}
body:not(#home) .breadcrumbs a {
  color: var(--color-gray);
}
body:not(#home) .mv {
  padding: 3rem 2rem 0;
}
@media (768px <= width) {
  body:not(#home) .mv {
    padding: 10rem 6rem 0;
  }
}
@media (768px <= width) {
  body:not(#home) .mv__title {
    padding: 0 max(50% - 80rem, 0rem);
  }
}
body:not(#home) .mv .pagetitle__en {
  color: var(--color-green);
}
@media (768px <= width) {
  body:not(#home) .mv .pagetitle__en {
    font-size: 2rem;
  }
}
body:not(#home) .mv .pagetitle__ja {
  margin-top: 1rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 140%;
}
@media (768px <= width) {
  body:not(#home) .mv .pagetitle__ja {
    margin-top: 2rem;
    font-size: 5.2rem;
  }
}
body:not(#home) .mv__img-wrap {
  margin-top: 3rem;
}
body:not(#home) .mv__img-wrap img {
  width: 100%;
}
@media (768px <= width) {
  body:not(#home) .mv__img-wrap {
    margin-top: 10rem;
    border-radius: 3rem 16rem;
    overflow: hidden;
  }
}

hr {
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
  width: calc(100% - 4rem);
  height: 1px;
  margin: 0 auto;
  border: none;
}
@media (768px <= width) {
  hr {
    width: auto;
    margin: 0 max(50% - 80rem, 6rem);
  }
}

.step {
  display: flex;
  justify-content: center;
  gap: 5.5rem;
}
@media (768px <= width) {
  .step {
    gap: 6rem;
  }
}
.step__item {
  width: 7rem;
  color: var(--color-gray);
  position: relative;
}
@media (768px <= width) {
  .step__item {
    width: 8rem;
  }
}
.step__item:not(:last-child)::after {
  content: "";
  width: 3.5rem;
  height: 1px;
  background-image: linear-gradient(to right, var(--color-gray) 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
  position: absolute;
  top: 3.5rem;
  right: -4.5rem;
}
@media (768px <= width) {
  .step__item:not(:last-child)::after {
    width: 4rem;
    top: 4rem;
    right: -5rem;
  }
}
.step__item .num {
  aspect-ratio: 1;
  border: 1px solid var(--color-gray);
  border-radius: 100%;
  display: grid;
  place-content: center;
  font-size: 2.4rem;
}
@media (768px <= width) {
  .step__item .num {
    font-size: 2.8rem;
  }
}
.step__item .label {
  margin-top: 1.5rem;
  text-align: center;
}
@media (768px <= width) {
  .step__item .label {
    margin-top: 2rem;
    font-size: 1.8rem;
  }
}
.step__item.current .num {
  color: #fff;
  background: var(--color-green);
  border-color: var(--color-green);
}
.step__item.current .label {
  font-weight: 700;
  color: var(--color-green);
}

.fadeinUp {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 500ms ease-in-out, opacity 500ms ease-in-out;
}
.fadeinUp.is-animeted {
  opacity: 1;
  transform: translateY(0);
}
@media (768px <= width) {
  .fadeinUp {
    transform: translateY(50px);
  }
}

.fadein {
  opacity: 0;
  transition: opacity 500ms ease-in-out;
}
.fadein.is-animeted {
  opacity: 1;
}

.delay1 {
  transition-delay: 0.3s;
}

.delay2 {
  transition-delay: 0.6s;
}

.delay3 {
  transition-delay: 0.9s;
}

.delay4 {
  transition-delay: 1.2s;
}

.delay5 {
  transition-delay: 1.5s;
}

.delay6 {
  transition-delay: 1.8s;
}

.delay7 {
  transition-delay: 2.1s;
}

.delay8 {
  transition-delay: 2.4s;
}

.delay9 {
  transition-delay: 2.7s;
}

.delay10 {
  transition-delay: 3s;
}

@keyframes anim--first {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes rotate-animation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}
.nav__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2rem;
}
.nav__item {
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
.nav__item--wide {
  grid-column: span 2;
}
.nav__link {
  display: block;
  padding: 2.2rem 0;
  position: relative;
  font-weight: 700;
}
@media (768px <= width) {
  .nav__link {
    padding: 3rem 0;
  }
}
.nav .dropdown-menu {
  display: grid;
  gap: 1rem;
  padding-bottom: 2rem;
}
.nav .dropdown-menu__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-weight: 700;
}
@media (hover: hover) and (width >= 768px) {
  .nav .dropdown-menu__link {
    transition: all var(--speed) ease-in-out;
  }
  .nav .dropdown-menu__link img {
    transition: scale 0.7s cubic-bezier(0.43, 0.05, 0.17, 1);
  }
  .nav .dropdown-menu__link:hover img {
    scale: 1.1;
  }
}
.nav .dropdown-menu__img-wrap {
  border-radius: 0.5rem;
  overflow: hidden;
  width: 9.6rem;
}
@media (768px <= width) {
  .nav .dropdown-menu__img-wrap {
    border-radius: 2rem;
  }
}
.nav .dropdown-menu__name {
  font-size: 1.4rem;
}
.nav .dropdown-menu i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  margin-left: auto;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 10rem;
}
@media (768px <= width) {
  .nav .dropdown-menu i {
    width: 5rem;
    height: 2.4rem;
  }
}
.nav__contact {
  margin-top: 4rem;
}
.nav__sns {
  margin-top: 3rem;
  text-align: center;
}
.nav__sub {
  margin-top: 2rem;
  text-align: center;
}

@media (hover: hover) and (width >= 768px) {
  .sns-links__link {
    transition: all var(--speed) ease-in-out;
  }
  .sns-links__link:hover {
    opacity: 0.7;
  }
}

@media (hover: hover) and (width >= 768px) {
  .sub__link {
    transition: all var(--speed) ease-in-out;
  }
  .sub__link:hover {
    text-decoration: none;
  }
}

a.btn,
button.btn,
input.btn {
  display: block;
  border-radius: 100rem;
  position: relative;
  display: grid;
  align-items: center;
  width: 27.5rem;
  height: 6rem;
  padding-left: 2rem;
  padding-right: 8rem;
  font-size: 1.4rem;
  font-weight: 700;
}
@media (768px <= width) {
  a.btn,
  button.btn,
  input.btn {
    width: 32rem;
    height: 7rem;
    font-size: 1.6rem;
    padding-left: 3rem;
    padding-right: 9rem;
  }
}
a.btn i,
button.btn i,
input.btn i {
  display: block;
  position: absolute;
  right: 2rem;
  top: calc(50% - 1rem);
  width: 4rem;
  height: 2rem;
  border-radius: 10rem;
}
@media (768px <= width) {
  a.btn i,
  button.btn i,
  input.btn i {
    width: 5rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
  }
}
a.green,
button.green,
input.green {
  background: var(--color-green);
  border: 1px solid var(--color-green);
  color: #fff;
}
a.green i,
button.green i,
input.green i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M14 9.5C13.7239 9.5 13.5 9.72386 13.5 10C13.5 10.2761 13.7239 10.5 14 10.5V10V9.5ZM26 10L21 7.11325V12.8868L26 10ZM14 10V10.5L21.5 10.5V10V9.5L14 9.5V10Z" fill="%2300AE83"/></svg>');
}
@media (hover: hover) and (width >= 768px) {
  a.green,
  a.green i,
  button.green,
  button.green i,
  input.green,
  input.green i {
    transition: all var(--speed) ease-in-out;
  }
  a.green:hover,
  button.green:hover,
  input.green:hover {
    background-color: #fff;
    color: var(--color-green);
  }
  a.green:hover i,
  button.green:hover i,
  input.green:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  }
}
a.brown,
button.brown,
input.brown {
  background: var(--color-brown);
  border: 1px solid var(--color-brown);
  color: #fff;
}
a.brown i,
button.brown i,
input.brown i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M28 10L23 12.8867L23 10.5L12 10.5C11.7239 10.5 11.5 10.2761 11.5 10C11.5 9.72386 11.7239 9.5 12 9.5L23 9.5L23 7.11328L28 10Z" fill="%23AD9574"/></svg>');
}
@media (hover: hover) and (width >= 768px) {
  a.brown,
  a.brown i,
  button.brown,
  button.brown i,
  input.brown,
  input.brown i {
    transition: all var(--speed) ease-in-out;
  }
  a.brown:hover,
  button.brown:hover,
  input.brown:hover {
    background-color: #fff;
    color: var(--color-brown);
  }
  a.brown:hover i,
  button.brown:hover i,
  input.brown:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="%23AD9574"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  }
}
a.gray,
button.gray,
input.gray {
  background: var(--color-gray);
  border: 1px solid var(--color-gray);
  color: #fff;
}
a.gray i,
button.gray i,
input.gray i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M28 10L23 12.8867L23 10.5L12 10.5C11.7239 10.5 11.5 10.2761 11.5 10C11.5 9.72386 11.7239 9.5 12 9.5L23 9.5L23 7.11328L28 10Z" fill="%23A09D92"/></svg>');
}
@media (hover: hover) and (width >= 768px) {
  a.gray,
  a.gray i,
  button.gray,
  button.gray i,
  input.gray,
  input.gray i {
    transition: all var(--speed) ease-in-out;
  }
  a.gray:hover,
  button.gray:hover,
  input.gray:hover {
    background-color: #fff;
    color: var(--color-gray);
  }
  a.gray:hover i,
  button.gray:hover i,
  input.gray:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="50" height="24" viewBox="0 0 50 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="50" height="24" rx="12" fill="%23A09D92"/><path d="M33 12L28 14.8867L28 12.5L17 12.5C16.7239 12.5 16.5 12.2761 16.5 12C16.5 11.7239 16.7239 11.5 17 11.5L28 11.5L28 9.11328L33 12Z" fill="white"/></svg>');
  }
}
a.whitegreen,
button.whitegreen,
input.whitegreen {
  background-color: #fff;
  width: 100%;
}
a.whitegreen i,
button.whitegreen i,
input.whitegreen i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
}
@media (hover: hover) and (width >= 768px) {
  a.whitegreen,
  a.whitegreen i,
  button.whitegreen,
  button.whitegreen i,
  input.whitegreen,
  input.whitegreen i {
    transition: all var(--speed) ease-in-out;
  }
  a.whitegreen:hover,
  button.whitegreen:hover,
  input.whitegreen:hover {
    background-color: var(--color-green);
    color: #fff;
  }
  a.whitegreen:hover i,
  button.whitegreen:hover i,
  input.whitegreen:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M14 9.5C13.7239 9.5 13.5 9.72386 13.5 10C13.5 10.2761 13.7239 10.5 14 10.5V10V9.5ZM26 10L21 7.11325V12.8868L26 10ZM14 10V10.5L21.5 10.5V10V9.5L14 9.5V10Z" fill="%2300AE83"/></svg>');
  }
}
a.blank,
button.blank,
input.blank {
  background: #fff;
  width: 100%;
}
a.blank i,
button.blank i,
input.blank i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="50" height="24" viewBox="0 0 50 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="50" height="24" rx="12" fill="%23E6001B"/><path d="M30 12.7692V14.5V16.2308C30 16.4348 29.919 16.6304 29.7747 16.7747C29.6304 16.919 29.4348 17 29.2308 17H20.7692C20.5652 17 20.3696 16.919 20.2253 16.7747C20.081 16.6304 20 16.4348 20 16.2308V7.76923C20 7.56522 20.081 7.36956 20.2253 7.2253C20.3696 7.08104 20.5652 7 20.7692 7H24.2308M27.3077 7H30M30 7V9.69231M30 7L25 12" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
@media (hover: hover) and (width >= 768px) {
  a.blank,
  a.blank i,
  button.blank,
  button.blank i,
  input.blank,
  input.blank i {
    transition: all var(--speed) ease-in-out;
  }
  a.blank:hover,
  button.blank:hover,
  input.blank:hover {
    background-color: var(--color-red);
    color: #fff;
  }
  a.blank:hover i,
  button.blank:hover i,
  input.blank:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="50" height="24" viewBox="0 0 50 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="50" height="24" rx="12" fill="white"/><path d="M30 12.7692V14.5V16.2308C30 16.4348 29.919 16.6304 29.7747 16.7747C29.6304 16.919 29.4348 17 29.2308 17H20.7692C20.5652 17 20.3696 16.919 20.2253 16.7747C20.081 16.6304 20 16.4348 20 16.2308V7.76923C20 7.56522 20.081 7.36956 20.2253 7.2253C20.3696 7.08104 20.5652 7 20.7692 7H24.2308M27.3077 7H30M30 7V9.69231M30 7L25 12" stroke="%23E6001B" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  }
}
a.tolist,
button.tolist,
input.tolist {
  border: 1px solid currentColor;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-left: 5.6rem;
  padding-right: 5.6rem;
}
@media (768px <= width) {
  a.tolist,
  button.tolist,
  input.tolist {
    width: 32rem;
  }
}
a.tolist i,
button.tolist i,
input.tolist i {
  background: url('data:image/svg+xml;charset=utf8, <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="2" height="2" fill="%233E3A2A"/><rect y="5" width="2" height="2" fill="%233E3A2A"/><rect y="10" width="2" height="2" fill="%233E3A2A"/><rect x="5" width="2" height="2" fill="%233E3A2A"/><rect x="5" y="5" width="2" height="2" fill="%233E3A2A"/><rect x="5" y="10" width="2" height="2" fill="%233E3A2A"/><rect x="10" width="2" height="2" fill="%233E3A2A"/><rect x="10" y="5" width="2" height="2" fill="%233E3A2A"/><rect x="10" y="10" width="2" height="2" fill="%233E3A2A"/></svg>') center/contain no-repeat;
  position: static;
  width: 1.2rem;
  aspect-ratio: 1;
}
@media (hover: hover) and (width >= 768px) {
  a.tolist,
  button.tolist,
  input.tolist {
    transition: all var(--speed) ease-in-out;
  }
  a.tolist i,
  button.tolist i,
  input.tolist i {
    transition: all var(--speed) ease-in-out;
  }
  a.tolist:hover,
  button.tolist:hover,
  input.tolist:hover {
    background: var(--color-text);
    color: #fff;
  }
  a.tolist:hover i,
  button.tolist:hover i,
  input.tolist:hover i {
    background: url('data:image/svg+xml;charset=utf8, <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="2" height="2" fill="%23FFFFFF"/><rect y="5" width="2" height="2" fill="%23FFFFFF"/><rect y="10" width="2" height="2" fill="%23FFFFFF"/><rect x="5" width="2" height="2" fill="%23FFFFFF"/><rect x="5" y="5" width="2" height="2" fill="%23FFFFFF"/><rect x="5" y="10" width="2" height="2" fill="%23FFFFFF"/><rect x="10" width="2" height="2" fill="%23FFFFFF"/><rect x="10" y="5" width="2" height="2" fill="%23FFFFFF"/><rect x="10" y="10" width="2" height="2" fill="%23FFFFFF"/></svg>') center/contain no-repeat;
  }
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5rem;
  gap: 0.4rem;
}
@media (768px <= width) {
  .wp-pagenavi {
    margin-top: 4.8rem;
  }
}
.wp-pagenavi span.current,
.wp-pagenavi .page {
  width: 4rem;
  aspect-ratio: 1;
  border: 1px solid currentColor;
  border-radius: 100%;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-content: center;
}
@media (768px <= width) {
  .wp-pagenavi span.current,
  .wp-pagenavi .page {
    width: 5rem;
  }
}
@media (hover: hover) and (width >= 768px) {
  .wp-pagenavi .page {
    transition: all var(--ani);
  }
  .wp-pagenavi .page:hover {
    background-color: var(--clr-lightYellow2);
  }
}
.wp-pagenavi span.current {
  background-color: var(--color-green);
  color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  width: 4rem;
  aspect-ratio: 1;
}
@media (768px <= width) {
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    width: 5rem;
  }
}
.wp-pagenavi .previouspostslink i,
.wp-pagenavi .nextpostslink i {
  width: 100%;
  height: 100%;
}
.wp-pagenavi .previouspostslink {
  margin-right: 1rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="25" fill="%23A09D92"/><path d="M17 25L22 27.8867L22 25.5L33 25.5C33.2761 25.5 33.5 25.2761 33.5 25C33.5 24.7239 33.2761 24.5 33 24.5L22 24.5L22 22.1133L17 25Z" fill="white"/></svg>') center/contain no-repeat;
}
.wp-pagenavi .nextpostslink {
  margin-left: 1rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="25" fill="%23A09D92"/><path d="M33 25L28 27.8867L28 25.5L17 25.5C16.7239 25.5 16.5 25.2761 16.5 25C16.5 24.7239 16.7239 24.5 17 24.5L28 24.5L28 22.1133L33 25Z" fill="white"/></svg>') center/contain no-repeat;
}
.wp-pagenavi .extend {
  background: url('data:image/svg+xml;charset=utf8, <svg width="12" height="3" viewBox="0 0 12 3" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.072 2.144C0.773333 2.144 0.517333 2.03733 0.304 1.824C0.101333 1.61067 0 1.36 0 1.072C0 0.784 0.101333 0.533334 0.304 0.320001C0.517333 0.106667 0.773333 0 1.072 0C1.37067 0 1.62133 0.106667 1.824 0.320001C2.03733 0.533334 2.144 0.784 2.144 1.072C2.144 1.36 2.03733 1.61067 1.824 1.824C1.62133 2.03733 1.37067 2.144 1.072 2.144ZM10.496 2.144C10.1973 2.144 9.94667 2.03733 9.744 1.824C9.54133 1.61067 9.44 1.36 9.44 1.072C9.44 0.784 9.54133 0.533334 9.744 0.320001C9.94667 0.106667 10.1973 0 10.496 0C10.7947 0 11.0453 0.106667 11.248 0.320001C11.4613 0.533334 11.568 0.784 11.568 1.072C11.568 1.36 11.4613 1.61067 11.248 1.824C11.0453 2.03733 10.7947 2.144 10.496 2.144ZM5.792 2.144C5.49333 2.144 5.23733 2.03733 5.024 1.824C4.82133 1.61067 4.72 1.36 4.72 1.072C4.72 0.784 4.82133 0.533334 5.024 0.320001C5.23733 0.106667 5.49333 0 5.792 0C6.08 0 6.32533 0.106667 6.528 0.320001C6.74133 0.533334 6.848 0.784 6.848 1.072C6.848 1.36 6.74133 1.61067 6.528 1.824C6.32533 2.03733 6.08 2.144 5.792 2.144Z" fill="%233E3A2A"/></svg>') center/contain no-repeat;
  width: 1.2rem;
  height: 0.3rem;
}

.swiper-button {
  display: grid;
  grid-template-columns: repeat(2, 4rem);
  gap: 1rem;
}
@media (768px <= width) {
  .swiper-button {
    grid-template-columns: repeat(2, 5rem);
    gap: 1.6rem;
  }
}
.swiper-button-prev, .swiper-button-next {
  margin: 0;
  position: static;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
}
.swiper-button-prev::after, .swiper-button-next::after {
  content: none;
}
@media (hover: hover) and (width >= 768px) {
  .swiper-button-prev, .swiper-button-next {
    transition: all var(--speed) ease-in-out;
  }
  .swiper-button-prev::before, .swiper-button-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
    width: calc(100% - 2px);
    aspect-ratio: 1;
    border-radius: 100rem;
    border: 1px solid var(--color-gray);
    box-sizing: content-box;
    transition: border var(--speed) ease-in-out;
  }
  .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
    border-width: 4px;
  }
}
.swiper-button-prev {
  background: url('data:image/svg+xml;charset=utf8, <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="%23A09D92"/><path d="M12 20L17 22.8868L17 17.1132L12 20ZM28 20.5C28.2761 20.5 28.5 20.2761 28.5 20C28.5 19.7239 28.2761 19.5 28 19.5L28 20L28 20.5ZM16.5 20L16.5 20.5L28 20.5L28 20L28 19.5L16.5 19.5L16.5 20Z" fill="white"/></svg>') center/contain no-repeat;
}
.swiper-button-next {
  background: url('data:image/svg+xml;charset=utf8, <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="%23A09D92"/><path d="M12 19.5C11.7239 19.5 11.5 19.7239 11.5 20C11.5 20.2761 11.7239 20.5 12 20.5L12 20L12 19.5ZM28 20L23 17.1132L23 22.8868L28 20ZM12 20L12 20.5L23.5 20.5L23.5 20L23.5 19.5L12 19.5L12 20Z" fill="white"/></svg>') center/contain no-repeat;
}

.slick__nav {
  display: grid;
  grid-template-columns: repeat(2, 4rem);
  gap: 1rem;
}
@media (768px <= width) {
  .slick__nav {
    grid-template-columns: repeat(2, 5rem);
    gap: 1.6rem;
  }
}
.slick__nav .slick-arrow {
  margin: 0;
  position: static;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
}
.slick__nav .slick-arrow::after {
  content: none;
}
@media (hover: hover) and (width >= 768px) {
  .slick__nav .slick-arrow {
    transition: all var(--speed) ease-in-out;
  }
  .slick__nav .slick-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
    width: calc(100% - 2px);
    aspect-ratio: 1;
    border-radius: 100rem;
    border: 1px solid var(--color-gray);
    box-sizing: content-box;
    transition: border var(--speed) ease-in-out;
  }
  .slick__nav .slick-arrow:hover::before {
    border-width: 4px;
  }
}
.slick__nav [class*=__prev] {
  background: url('data:image/svg+xml;charset=utf8, <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="%23A09D92"/><path d="M12 20L17 22.8868L17 17.1132L12 20ZM28 20.5C28.2761 20.5 28.5 20.2761 28.5 20C28.5 19.7239 28.2761 19.5 28 19.5L28 20L28 20.5ZM16.5 20L16.5 20.5L28 20.5L28 20L28 19.5L16.5 19.5L16.5 20Z" fill="white"/></svg>') center/contain no-repeat;
}
.slick__nav [class*=__next] {
  background: url('data:image/svg+xml;charset=utf8, <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="%23A09D92"/><path d="M12 19.5C11.7239 19.5 11.5 19.7239 11.5 20C11.5 20.2761 11.7239 20.5 12 20.5L12 20L12 19.5ZM28 20L23 17.1132L23 22.8868L28 20ZM12 20L12 20.5L23.5 20.5L23.5 20L23.5 19.5L12 19.5L12 20Z" fill="white"/></svg>') center/contain no-repeat;
}

.formarea {
  position: relative;
}
.formarea::before {
  content: "";
  width: 100%;
  background-color: var(--color-bg);
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  border-radius: 12rem 0 0 2rem;
}
@media (768px <= width) {
  .formarea::before {
    left: max(50% - 80rem, 6rem);
    right: 0;
    width: auto;
  }
}
.formarea .entry-is-isolated {
  padding: 8rem 2rem;
  padding-top: 5.5rem;
}
@media (768px <= width) {
  .formarea .entry-is-isolated {
    padding: 16rem max(50% - 60rem, 18rem);
  }
}
.formarea__item {
  border-bottom: 1px solid var(--color-gray);
  padding: 2.5rem 0;
  display: grid;
  gap: 2rem;
  line-height: 166%;
}
@media (768px <= width) {
  .formarea__item {
    padding: 4rem 0;
    grid-template-columns: 32rem auto;
    align-items: start;
    gap: 0 6rem;
  }
}
.formarea__label {
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (768px <= width) {
  :not(:has([type=radio])) .formarea__label {
    line-height: 7rem;
  }
  body#confirm .formarea__label {
    line-height: 166%;
  }
}
.formarea__label::after {
  content: "任意";
  border-radius: 100rem;
  width: 5rem;
  line-height: 2.4rem;
  text-align: center;
  background: var(--color-gray);
  color: #fff;
  display: block;
  font-size: 1.4rem;
}
body#confirm .formarea__label::after {
  content: none;
}
.formarea__label.required::after {
  content: "必須";
  background: var(--color-green);
}
.formarea__unit {
  margin-left: 1.5rem;
}
.formarea__note {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 166%;
  display: inline-block;
}
.formarea__body .wpcf7-not-valid-tip,
.formarea__body .error-message {
  display: none;
}
.wpcf7-form.invalid .formarea__body:has(.wpcf7-not-valid-tip) .error-message {
  margin-top: 1.5rem;
  display: block;
  color: var(--color-red);
}
.formarea__buttonarea {
  justify-content: center;
  margin: 3rem 0;
  gap: 3rem;
}
@media (width < 768px) {
  .formarea__buttonarea .wpcf7-previous {
    margin-top: 3rem;
    width: 100%;
  }
}
@media (768px <= width) {
  .formarea__buttonarea {
    display: flex;
    flex-direction: row-reverse;
    margin: 6rem 0;
    gap: 3rem;
  }
  .formarea__buttonarea button[type=submit] {
    margin: 0;
  }
}
.formarea__thanks {
  padding: 6rem 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .formarea__thanks {
    padding: 12rem max(50% - 60rem, 18rem);
    text-align: center;
  }
}
.formarea__leadtext {
  font-size: 1.8rem;
  font-weight: 700;
}
@media (768px <= width) {
  .formarea__leadtext {
    font-size: 2.2rem;
  }
}
.formarea__text {
  margin-top: 3.5rem;
}
@media (768px <= width) {
  .formarea__text {
    margin-top: 5rem;
    font-size: 1.8rem;
  }
}
.formarea__totop {
  margin-top: 3.5rem;
  text-align: left;
}
@media (768px <= width) {
  .formarea__totop {
    margin-top: 5rem;
  }
}
@media (width < 768px) {
  .formarea__totop .btn {
    width: 100%;
  }
}
@media (768px <= width) {
  .formarea__totop .btn {
    margin-left: auto;
    margin-right: auto;
  }
}

input[type=text],
input[type=tel],
input[type=email] {
  border: 1px solid #fff;
  border-radius: 0.5rem;
  height: 5rem;
  padding: 0 1.5rem;
  width: 100%;
}
@media (768px <= width) {
  input[type=text],
  input[type=tel],
  input[type=email] {
    height: 7rem;
    padding: 0 2rem;
  }
}
input[type=text][name=number],
input[type=tel][name=number],
input[type=email][name=number] {
  width: 17rem;
}
@media (768px <= width) {
  input[type=text][name=number],
  input[type=tel][name=number],
  input[type=email][name=number] {
    width: 41rem;
  }
}

.wpcf7-not-valid {
  border-color: var(--color-red);
}

textarea {
  border: 1px solid #fff;
  border-radius: 0.5rem;
  padding: 1.7rem 1.5rem;
  width: 100%;
  height: 20rem;
}

select {
  border: 1px solid #fff;
  border-radius: 0.5rem;
  padding: 0 1.5rem;
  width: 100%;
  height: 5rem;
  background-color: #fff;
}
@media (768px <= width) {
  select {
    height: 7rem;
  }
}

input:focus,
textarea:focus {
  outline: none;
}

.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form-control-wrap:has(select) {
  position: relative;
}
@media (768px <= width) {
  .wpcf7-form-control-wrap:has(select) {
    width: 41rem;
  }
}
.wpcf7-form-control-wrap:has(select)::after {
  content: "";
  width: 0.7rem;
  height: 0.8rem;
  position: absolute;
  right: 1.45rem;
  top: 2rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="9" height="8" viewBox="0 0 9 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5L4.5 7.5L8.5 0.5" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
}
@media (768px <= width) {
  .wpcf7-form-control-wrap:has(select)::after {
    top: 3.1rem;
    right: 2rem;
  }
}
.wpcf7-form-control-wrap[data-name=agree] {
  padding: 3rem 0;
}
@media (768px <= width) {
  .wpcf7-form-control-wrap[data-name=agree] {
    padding: 6rem 0;
  }
}
.wpcf7-form-control-wrap[data-name=agree] .wpcf7-not-valid-tip {
  text-align: center;
}
.wpcf7-form-control-wrap[data-name=number] {
  display: inline-block;
}

.wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip {
  margin-top: 1.5rem;
}

input[name=zip] {
  width: 17rem;
  border: 1px solid #fff;
  border-radius: 0.5rem;
  height: 5rem;
  padding: 0 1.5rem;
}
@media (768px <= width) {
  input[name=zip] {
    width: 30rem;
    height: 7rem;
  }
}

input[type=radio] {
  background-color: #fff;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  position: relative;
  margin: 0;
}
input[type=radio]::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background: var(--color-green);
  position: absolute;
  top: calc(50% - 0.5rem);
  left: calc(50% - 0.5rem);
  border-radius: 100%;
  opacity: 0;
}
input[type=radio]:checked::before {
  opacity: 1;
}

input[type=checkbox] {
  background: #fff;
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  margin: 0;
  position: relative;
}
input[type=checkbox]::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8, <svg width="19" height="14" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.5 7L6.83417 12.5L17.5 1.5" stroke="%2300AE83" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.9rem;
  height: 1.4rem;
  position: absolute;
  top: calc(50% - 0.7rem);
  left: calc(50% - 0.95rem);
  opacity: 0;
}
input[type=checkbox]:checked::before {
  opacity: 1;
}

[data-name=zip] {
  display: inline-block;
  margin-bottom: 1.5rem;
}

.wpcf7-radio {
  display: grid;
  gap: 1.5rem;
}
.wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

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

.wpcf7-list-item-label {
  line-height: 166%;
}

.wpcf7-acceptance .wpcf7-list-item {
  display: block;
}
.wpcf7-acceptance label {
  display: grid;
  grid-template-columns: 4rem auto 5rem;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  pointer-events: none;
}
.wpcf7-acceptance label::after {
  content: "必須";
  background: var(--color-green);
  border-radius: 100rem;
  width: 5rem;
  line-height: 2.4rem;
  text-align: center;
  color: #fff;
  display: block;
  font-size: 1.4rem;
}
.wpcf7-acceptance input,
.wpcf7-acceptance a {
  pointer-events: auto;
}
.wpcf7-acceptance a {
  color: var(--color-green);
  text-decoration: underline;
}
@media (hover: hover) and (width >= 768px) {
  .wpcf7-acceptance a {
    transition: all var(--speed) ease-in-out;
  }
  .wpcf7-acceptance a:hover {
    text-decoration: none;
  }
}

button[type=submit] {
  width: 100%;
}
@media (768px <= width) {
  button[type=submit] {
    width: 32rem;
    margin-left: auto;
    margin-right: auto;
  }
}
button span[class*=name] {
  text-align: left;
}
button:disabled {
  pointer-events: none;
  border-color: var(--color-gray);
  background: none;
  color: var(--color-gray);
}
button:disabled i {
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="50" height="24" viewBox="0 0 50 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="50" height="24" rx="12" fill="%23A09D92"/><path d="M33 12L28 14.8867L28 12.5L17 12.5C16.7239 12.5 16.5 12.2761 16.5 12C16.5 11.7239 16.7239 11.5 17 11.5L28 11.5L28 9.11328L33 12Z" fill="white"/></svg>');
}

input:not([type=checkbox]):not([type=radio]).wpcf7-previous {
  display: block;
  border-radius: 100rem;
  position: relative;
  display: grid;
  align-items: center;
  text-align: left;
  width: 27.5rem;
  height: 6rem;
  padding-left: 2rem;
  padding-right: 8rem;
  font-size: 1.4rem;
  font-weight: 700;
  background: var(--color-gray);
  border: 1px solid var(--color-gray);
  color: #fff;
}
@media (width < 768px) {
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous {
    width: 100%;
  }
}
@media (768px <= width) {
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous {
    width: 32rem;
    height: 7rem;
    font-size: 1.6rem;
    padding-left: 3rem;
    padding-right: 9rem;
  }
}
input:not([type=checkbox]):not([type=radio]).wpcf7-previous::after {
  content: "";
  display: block;
  position: absolute;
  right: 2rem;
  top: calc(50% - 1rem);
  width: 4rem;
  height: 2rem;
  border-radius: 10rem;
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M28 10L23 12.8867L23 10.5L12 10.5C11.7239 10.5 11.5 10.2761 11.5 10C11.5 9.72386 11.7239 9.5 12 9.5L23 9.5L23 7.11328L28 10Z" fill="%23AD9574"/></svg>');
}
@media (768px <= width) {
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous::after {
    width: 5rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
  }
}
@media (hover: hover) and (width >= 768px) {
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous,
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous i {
    transition: all var(--speed) ease-in-out;
  }
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous:hover {
    background-color: #fff;
    color: var(--color-gray);
  }
  input:not([type=checkbox]):not([type=radio]).wpcf7-previous:hover i {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="%23AD9574"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  }
}

body:not(#contact):not(#after-service):not(#confirm):not(#thanks):not(#entry) .grecaptcha-badge {
  display: none !important;
}

@media (width < 768px) {
  .grecaptcha-badge {
    bottom: 64px !important;
  }
}

#autozip,
.zipaddr_err {
  display: none !important;
}

.headline {
  display: grid;
  gap: 1rem 0;
}
@media (768px <= width) {
  .headline {
    gap: 2.5rem 0;
  }
}
.headline__en {
  font-size: 1.2rem;
  color: var(--color-green);
  position: relative;
  display: flex;
  gap: 0 0.5rem;
  align-items: first baseline;
}
@media (768px <= width) {
  .headline__en {
    font-size: 1.6rem;
    gap: 1rem;
  }
}
.headline__en::before {
  content: "";
  width: 1rem;
  height: 1px;
  background: currentColor;
  border-radius: 10rem;
  transform: translateY(-0.3em);
  flex-shrink: 0;
}
@media (768px <= width) {
  .headline__en::before {
    width: 1.5rem;
  }
}
.headline__ja {
  font-size: 2.6rem;
  font-weight: 700;
}
@media (768px <= width) {
  .headline__ja {
    font-size: 4rem;
  }
}

.heading {
  font-size: 1.6rem;
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid currentColor;
}
.contact-list {
  display: grid;
  gap: 1rem;
}
.contact-list__item a {
  margin-left: auto;
  margin-right: auto;
}

.sns-links__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.sub__link {
  font-size: 1.5rem;
  line-height: 160%;
  text-decoration: underline;
}

/* ///////// 目次 ///////// */
.toc {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 0.5rem;
  padding: 3rem 2rem 4rem;
}
@media (768px <= width) {
  .toc {
    padding: 10rem 0 12rem;
    margin: 0 max(50% - 80rem, 6rem);
    display: flex;
    gap: 3rem;
  }
}
.toc__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: var(--color-bg);
  height: 4rem;
  padding: 0 1.5rem;
  border-radius: 100rem;
}
@media (768px <= width) {
  .toc__link {
    flex: 1;
    height: 7rem;
    padding: 0 3rem;
  }
}
.toc__link .name {
  font-size: 1.1rem;
  font-weight: 700;
}
@media (768px <= width) {
  .toc__link .name {
    font-size: 1.6rem;
  }
}
.toc__link i {
  width: 0.6rem;
  height: 0.5rem;
  background-color: currentColor;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media (768px <= width) {
  .toc__link i {
    width: 0.8rem;
    height: 0.7rem;
  }
}
@media (hover: hover) and (width >= 768px) {
  .toc__link {
    transition: all var(--speed) ease-in-out;
  }
  .toc__link:hover {
    background: var(--color-gray);
    color: #fff;
  }
}

.mutual-link-area {
  margin: 5rem 2rem 0;
  padding: 5rem 2rem;
  background: var(--color-bg);
  border-radius: 8rem 2rem;
}
@media (768px <= width) {
  .mutual-link-area {
    margin: 12rem max(50% - 80rem, 6rem) 0;
    padding: 10rem;
    border-radius: 16rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media (768px <= width) {
  .mutual-link-area__img-wrap {
    width: 41.4285714286%;
  }
}
.mutual-link-area__img-wrap img {
  border-radius: 1rem;
}
@media (768px <= width) {
  .mutual-link-area__img-wrap img {
    border-radius: 2rem;
  }
}
.mutual-link-area__textbox {
  margin-top: 3rem;
}
@media (768px <= width) {
  .mutual-link-area__textbox {
    margin-top: 0;
    width: 50%;
  }
}
.mutual-link-area__headline {
  font-size: 2rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .mutual-link-area__headline {
    font-size: 2.6rem;
  }
}
.mutual-link-area__text {
  margin-top: 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .mutual-link-area__text {
    margin-top: 3rem;
  }
}
.mutual-link-area__btn {
  margin-top: 2rem;
}
@media (768px <= width) {
  .mutual-link-area__btn {
    margin-top: 5rem;
    width: 32rem;
  }
}

/* --- レイアウト / Layout --- */
.entry-is-isolated {
  padding: 5rem 2rem 6rem;
}
@media (768px <= width) {
  .entry-is-isolated {
    padding: 6rem max(50% - 50rem, 12rem) 12rem;
  }
}
.entry-is-isolated *:last-child {
  margin-bottom: 0;
}

/* グループ */
.wp-block-columns {
  margin-top: 6rem;
  margin-bottom: 6rem;
} /* カラム全体 */
/* 各カラム */
/* スペーサー */
.single-column hr.wp-block-separator {
  background: var(--clr-line);
  width: 100%;
  height: 1px;
  border: none;
  margin: 3rem 0;
}
@media (768px <= width) {
  .single-column hr.wp-block-separator {
    width: auto;
    margin: 6rem 0;
  }
}

/* 区切り線 */
/* グリッド (最新版) */
/* --- テキスト / Text --- */
/* 段落 */
.entry-is-isolated p {
  margin-bottom: 28px;
  margin-top: 28px;
  line-height: 200%;
}
.entry-is-isolated p:first-child {
  margin-top: 0;
}
.entry-is-isolated p:last-child {
  margin-bottom: 0;
}
.entry-is-isolated p a {
  color: var(--color-green);
  text-decoration: underline;
}
@media (hover: hover) and (width >= 768px) {
  .entry-is-isolated p a {
    transition: all var(--speed) ease-in-out;
  }
  .entry-is-isolated p a:hover {
    text-decoration: none;
  }
}

.wp-block-heading {
  font-weight: 700;
  line-height: 166%;
  margin-top: 3rem;
  margin-bottom: 2rem;
}
@media (768px <= width) {
  .wp-block-heading {
    margin-top: 5rem;
    margin-bottom: 4rem;
  }
}
.wp-block-heading:is(h2) {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 166%;
  border-left: 1px solid var(--color-green);
  padding-left: 1.4rem;
}
@media (768px <= width) {
  .wp-block-heading:is(h2) {
    font-size: 3.2rem;
    padding-left: 1.9rem;
  }
}
.wp-block-heading:is(h3) {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 166%;
  padding-bottom: 1rem;
  border-bottom: 1px solid currentColor;
}
@media (768px <= width) {
  .wp-block-heading:is(h3) {
    font-size: 2.6rem;
  }
}

/* 見出し */
.wp-block-list {
  margin: 1.5rem 0;
}
@media (768px <= width) {
  .wp-block-list {
    margin: 3rem 0;
  }
}
.wp-block-list:is(ul) li {
  position: relative;
  padding-left: 1.5rem;
  line-height: 200%;
}
.wp-block-list:is(ul) li::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 1;
  background: currentColor;
  border-radius: 100%;
  position: absolute;
  top: 0.85em;
  left: 0;
  display: block;
}
.wp-block-list:is(ol) {
  counter-reset: listnum;
}
.wp-block-list:is(ol) li {
  position: relative;
  padding-left: 3rem;
  line-height: 200%;
  counter-increment: listnum;
}
.wp-block-list:is(ol) li::before {
  content: counter(listnum) ".";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/* リスト全体 */
/* リスト項目 */
.wp-block-quote {
  background-color: #cecbc2;
  margin: 4rem 0;
  padding: 4.8rem 2rem 4rem;
  border-radius: 1rem;
  position: relative;
}
@media (768px <= width) {
  .wp-block-quote {
    margin: 8rem 0;
    border-radius: 2rem;
    padding: 4rem 5rem 4rem 10rem;
  }
}
.wp-block-quote::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8, <svg width="30" height="18" viewBox="0 0 30 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.4375 18C27.0319 18 30 15.1489 30 11.7001C30 10.1252 29.5556 8.7608 28.7044 7.72043C28.0819 6.95904 27.1613 6.54505 26.2669 6.10046C26.2181 4.6623 26.3044 4.2681 27.5044 1.96055C28.1362 0.747381 26.7187 -0.501789 25.5131 0.205595C19.1287 3.97831 16.875 8.40081 16.875 11.7001C16.875 15.1489 19.8431 18 23.4375 18ZM6.5625 18C10.1569 18 13.125 15.1489 13.125 11.7001C13.125 10.1252 12.6806 8.7608 11.8294 7.72043C11.2069 6.95904 10.2862 6.54505 9.39187 6.10046C9.34312 4.6623 9.42937 4.2681 10.6294 1.96055C11.2612 0.747381 9.84375 -0.501789 8.63813 0.205595C2.25375 3.97831 0 8.40081 0 11.7001C0 15.1489 2.96812 18 6.5625 18Z" fill="%233E3A2A"/></svg>') center/contain no-repeat;
  width: 3rem;
  aspect-ratio: 30/18;
  position: absolute;
  left: 2rem;
  top: 2rem;
}
@media (768px <= width) {
  .wp-block-quote::before {
    top: 5rem;
    left: 4rem;
  }
}

/* 引用 */
/* 成形済みテキスト */
/* コード */
/* プルクオート */
.wp-block-table,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  margin: 1.5rem 0;
}
@media (768px <= width) {
  .wp-block-table,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
    margin: 3rem 0;
  }
}
.wp-block-table > table,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
  border: none;
}
@media (width < 768px) {
  .wp-block-table > table tr,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr {
    display: grid;
  }
}
.wp-block-table > table tr th,
.wp-block-table > table tr td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  border: none;
  background: none;
  line-height: 200%;
}
.wp-block-table > table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
  padding: 2.5rem 0 0;
  font-weight: 700;
}
@media (768px <= width) {
  .wp-block-table > table tr th,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
    padding: 3rem 0;
    border-bottom: 1px solid var(--color-gray);
  }
}
.wp-block-table > table tr td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--color-gray);
}
@media (768px <= width) {
  .wp-block-table > table tr td,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
    padding: 3rem 0;
  }
}

/* 表 */
/* --- メディア / Media --- */
.wp-block-image img {
  border-radius: 1rem;
}
@media (768px <= width) {
  .wp-block-image img {
    border-radius: 2rem;
  }
}

/* 画像 */
/* ギャラリー */
/* 動画 */
/* 音声 */
/* カバー画像 */
/* ファイル */
.wp-block-media-text {
  margin: 4rem 0;
  gap: 2em;
}
@media (768px <= width) {
  .wp-block-media-text {
    margin: 8rem 0;
  }
}
.wp-block-media-text .wp-block-media-text__media img {
  border-radius: 1rem;
}
@media (768px <= width) {
  .wp-block-media-text .wp-block-media-text__media img {
    border-radius: 2rem;
  }
}
.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

/* メディアとテキスト */
.wp-block-embed {
  margin: 4rem 0;
}
@media (768px <= width) {
  .wp-block-embed {
    margin: 8rem 0;
  }
}
.wp-block-embed.is-type-video {
  border-radius: 1rem;
  overflow: hidden;
}
@media (768px <= width) {
  .wp-block-embed.is-type-video {
    border-radius: 2rem;
  }
}
.wp-block-embed.is-type-video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 500/281;
}

/* --- デザイン・部品 / Design --- */
.wp-block-buttons {
  margin: 3rem 0;
}
@media (768px <= width) {
  .wp-block-buttons {
    gap: 2rem;
  }
}

/* ボタン群 */
/* ボタン（枠） */
.wp-block-button__link {
  display: grid;
  padding: 1rem 7rem 1rem 2.5rem;
  width: 100%;
  font-size: 1.4rem;
  line-height: 140%;
  text-align: left;
  position: relative;
}
@media (768px <= width) {
  .wp-block-button__link {
    padding: 2rem 9rem 2rem 3rem;
  }
}
.wp-block-button__link {
  --wp--preset--font-size--small: 12px;
  --wp--preset--font-size--medium: 14px;
  --wp--preset--font-size--large: 16px;
  --wp--preset--font-size--x-large: 18px;
}
.is-style-fill .wp-block-button__link {
  background-color: #fff;
  color: currentColor;
}
.is-style-fill .wp-block-button__link::after {
  content: "";
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  width: 4rem;
  height: 2rem;
  position: absolute;
  right: 2rem;
  top: calc(50% - 1rem);
}
@media (768px <= width) {
  .is-style-fill .wp-block-button__link::after {
    width: 5rem;
    height: 2.5rem;
    top: calc(50% - 1.25rem);
  }
}
@media (hover: hover) and (width >= 768px) {
  .is-style-fill .wp-block-button__link {
    transition: all var(--speed) ease-in-out;
  }
  .is-style-fill .wp-block-button__link::after {
    transition: all var(--speed) ease-in-out;
  }
  .is-style-fill .wp-block-button__link:hover {
    background: var(--color-green);
    color: #fff;
  }
  .is-style-fill .wp-block-button__link:hover::after {
    background: 0 0/contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="20" rx="10" fill="white"/><path d="M14 9.5C13.7239 9.5 13.5 9.72386 13.5 10C13.5 10.2761 13.7239 10.5 14 10.5V10V9.5ZM26 10L21 7.11325V12.8868L26 10ZM14 10V10.5L21.5 10.5V10V9.5L14 9.5V10Z" fill="%2300AE83"/></svg>');
  }
}
.is-style-outline .wp-block-button__link {
  background: none;
  border-color: currentColor;
  border-width: 1px;
  color: currentColor;
}
.is-style-outline .wp-block-button__link::after {
  content: "";
  background: 0 0/contain no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="40" height="20" viewBox="0 0 40 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10C0 4.47715 4.47715 0 10 0H30C35.5228 0 40 4.47715 40 10C40 15.5228 35.5228 20 30 20H10C4.47715 20 0 15.5228 0 10Z" fill="%2300AE83"/><path d="M26 10L21 12.8867V10.5L14 10.5C13.7239 10.5 13.5 10.2761 13.5 10C13.5 9.72386 13.7239 9.5 14 9.5L21 9.5V7.11328L26 10Z" fill="white"/></svg>');
  width: 4rem;
  height: 2rem;
  position: absolute;
  right: 2rem;
  top: calc(50% - 1rem);
}
@media (768px <= width) {
  .is-style-outline .wp-block-button__link::after {
    width: 5rem;
    height: 2.5rem;
    top: calc(50% - 1.25rem);
  }
}
@media (hover: hover) and (width >= 768px) {
  .is-style-outline .wp-block-button__link {
    transition: all var(--speed) ease-in-out;
  }
  .is-style-outline .wp-block-button__link:hover {
    background-color: #fff;
    border-color: #fff;
  }
}

/* ボタン（中身のaタグ） */
/* 詳細(アコーディオン) */
/* --- サイト要素 / Site Entities --- */
/* サイトタイトル */
/* キャッチフレーズ */
/* ナビゲーションメニュー */
/* 記事タイトル */
/* 記事本文 */
/* 抜粋 */
/* 投稿日 */
#toc_container {
  width: 100% !important;
  background: #cecbc2;
  border-radius: 1rem;
  padding: 2rem;
  margin: 3rem 0;
  border: none;
}
@media (768px <= width) {
  #toc_container {
    padding: 3rem 4rem;
  }
}
#toc_container.no_bullets p.toc_title a {
  background: url('data:image/svg+xml;charset=utf8, <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="5" fill="%23A09D92"/><rect x="7" y="12" width="11" height="1" rx="0.5" fill="white"/></svg>') center/contain no-repeat;
}
#toc_container.no_bullets.contracted p.toc_title a {
  background: url('data:image/svg+xml;charset=utf8, <svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="21" height="21" rx="3" fill="%23A09D92"/><rect x="6" y="10" width="9" height="1" rx="0.5" fill="white"/><rect x="11" y="6" width="9" height="1" rx="0.5" transform="rotate(90 11 6)" fill="white"/></svg>') center/contain no-repeat;
}
#toc_container p.toc_title {
  text-align: left;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
}
@media (768px <= width) {
  #toc_container p.toc_title {
    font-size: 2rem;
  }
}
#toc_container p.toc_title a {
  width: 2.1rem;
  display: inline-block;
  text-indent: -999em;
}
@media (768px <= width) {
  #toc_container p.toc_title a {
    width: 2.5rem;
  }
}
#toc_container p.toc_title .toc_toggle {
  height: 100%;
}
#toc_container p.toc_title .toc_toggle .toc_brackets {
  display: none;
}
#toc_container p.toc_title + ul.toc_list {
  margin-top: 0;
}
#toc_container .toc_list {
  font-size: 1.6rem;
}
#toc_container .toc_list a {
  display: block;
  padding: 1rem 0;
  border-bottom: 1px solid #a09d92;
  font-size: 1.4rem;
  line-height: 166%;
}
@media (768px <= width) {
  #toc_container .toc_list a {
    font-size: 1.6rem;
  }
}
#toc_container .toc_list .toc_number::after {
  content: " ) ";
  display: inline-block;
  padding: 0 1em 0 0.3em;
}