:root {
  --color-bg: #fff;
  --color-orange: #ff9167;
  --color-lightorange: #ffe8df;
  --color-brown: #827571;
  --color-red: #aa1a1b;
  --color-lightred: #fc3115;
  --color-yellow: #f9e98c;
  --color-lightyellow: #fffef4;
  --font-sans: "Noto Sans JP", sans-serif;
  /*

  .noto-sans-jp-<uniquifier> {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
  }

  */
  --transition-duration: 800ms;
  --base: 375;
  --radius: 10px;
  --duration-transition: 800ms;
}
@media screen and (min-width: 768px) {
  :root {
    --base: 768;
    --radius: 16px;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --base: 1240;
  }
}

html {
  scroll-behavior: smooth;
  font-feature-settings: "palt";
}
@media screen and (min-width: 1024px) {
  html {
    scroll-padding-top: 60px;
  }
}

body {
  margin: 0;
  padding: 0;
  background-color: #fff;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-text-size-adjust: 100%;
  font-family: var(--font-sans);
  font-weight: 400;
}
body.menu-open {
  overflow: clip;
}
body.menu-open::before {
  opacity: 1;
  pointer-events: all;
}
@media screen and (min-width: 1024px) {
  body.menu-open {
    overflow-x: visible;
  }
}

.header {
  position: fixed;
  width: 100%;
  inset: 0 0 auto 0;
  z-index: 10;
  height: calc(60 / var(--base) * 100vw);
  background-color: #fff;
  border-bottom: 1px solid #d9d9d9;
}
.header .logo {
  position: absolute;
  inset: calc(18 / var(--base) * 100vw) auto calc(18 / var(--base) * 100vw) calc(18 / var(--base) * 100vw);
  width: calc(170 / var(--base) * 100vw);
  z-index: 2;
}
.header .content {
  display: contents;
}
.header .menu {
  padding: calc(24 / var(--base) * 100vw);
  letter-spacing: 0.03em;
  font-weight: 400;
  font-size: calc(16 / var(--base) * 100vw);
  overflow-y: auto;
  position: fixed;
  inset: 0 0 0 0;
  z-index: 5;
}
.header .menu::before {
  content: "";
  position: fixed;
  inset: 0 0 0 0;
  background: linear-gradient(to bottom, rgb(255, 133, 100) 0%, rgba(255, 133, 100, 0.3) 100%);
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity calc(var(--duration-transition) / 2);
}
.header .menu.open::before {
  opacity: 1;
}
.header .menu.open .list-menu {
  translate: 0 -50%;
  opacity: 1;
}
.header .list-menu {
  display: flex;
  margin: 0 auto;
  padding: 0 calc(24 / var(--base) * 100vw);
  flex-direction: column;
  justify-content: center;
  align-items: start;
  background-color: #fff;
  height: calc(100% - 20px);
  position: fixed;
  inset: 50% calc(10 / var(--base) * 100vw) auto calc(10 / var(--base) * 100vw);
  z-index: 3;
  opacity: 0;
  translate: -130% -50%;
  transition: translate var(--duration-transition), opacity var(--duration-transition);
  border-radius: 5px;
}
.header .list-menu .item {
  text-align: left;
  font-weight: 400;
  width: 100%;
}
.header .list-menu .item:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
}
.header .list-menu a {
  display: block;
  padding: calc(23 / var(--base) * 100vw) calc(4 / var(--base) * 100vw);
  text-decoration: none;
  font-family: var(--font-serif);
  letter-spacing: 0.03em;
  font-size: inherit;
  font-weight: 400;
  color: #000;
  transition: color var(--duration-transition);
  border-style: none;
  cursor: pointer;
  position: relative;
}
.header .list-menu a:hover {
  color: var(--color-main);
}
.header .list-menu .para-close {
  position: absolute;
  inset: calc(10 / var(--base) * 100vw) calc(10 / var(--base) * 100vw) auto auto;
  width: calc(30 / var(--base) * 100vw);
  height: calc(30 / var(--base) * 100vw);
}
.header .list-menu .para-close button {
  display: block;
  width: 100%;
  height: 100%;
  border-style: none;
  position: relative;
}
.header .list-menu .para-close button::before, .header .list-menu .para-close button::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  rotate: -45deg;
}
.header .list-menu .para-close button::after {
  rotate: 45deg;
}
.header .list-menu .para-close .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media screen and (min-width: 1024px) {
  .header {
    height: min(80px, 80 / var(--base) * 100vw);
  }
  .header .content {
    display: flex;
    margin: 0 auto;
    width: min(1160px, 1160 / var(--base) * 100vw);
    height: 100%;
    align-items: center;
    justify-content: space-between;
  }
  .header .logo {
    position: static;
    inset: auto;
    width: min(198px, 198 / var(--base) * 100vw);
  }
  .header .menu {
    display: contents;
    height: auto;
    padding: 0;
    font-size: min(16px, 16 / var(--base) * 100vw);
    width: auto;
    position: static;
    inset: auto;
    pointer-events: all;
  }
  .header .menu::before {
    display: none;
  }
  .header .list-menu {
    display: flex;
    margin: 0 0 0 auto;
    padding: 0 0;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: min(60px, 60 / var(--base) * 100vw);
    translate: 0 0;
    opacity: 1;
    position: static;
    inset: auto;
    border-radius: 0;
    transition: none;
  }
  .header .list-menu .item {
    width: auto;
  }
  .header .list-menu .item.privacy-policy {
    display: none;
  }
  .header .list-menu .item:not(:last-of-type) {
    border-style: none;
  }
  .header .list-menu .item.contact a {
    padding: min(4px, 4 / var(--base) * 100vw) 0;
    background-color: var(--color-orange);
    color: #fff;
    border-radius: min(50px, 50 / var(--base) * 100vw);
    width: min(130px, 130 / var(--base) * 100vw);
    border: 4px solid var(--color-orange);
    transition: color var(--duration-transition), background-color var(--duration-transition);
  }
  body.contact .header .list-menu .item.contact a, .header .list-menu .item.contact a:hover {
    background-color: #fff;
    color: var(--color-orange);
  }
  .header .list-menu a {
    display: block;
    padding: min(8px, 8 / var(--base) * 100vw) 0;
    cursor: pointer;
    border-top: 4px solid #fff;
    border-bottom: 4px solid #fff;
    width: min(100px, 100 / var(--base) * 100vw);
    text-align: center;
    box-sizing: content-box;
    transition: border-color var(--duration-transition);
  }
  .header .list-menu a::after {
    display: none;
  }
  body.about .header .list-menu a.about, body.services .header .list-menu a.services, body.faq .header .list-menu a.faq, body.access .header .list-menu a.access, .header .list-menu a:hover {
    border-bottom-color: var(--color-orange);
  }
  .header .list-menu .para-close {
    display: none;
  }
}

.menu-sw {
  margin: 0;
  position: absolute;
  top: calc(16 / var(--base) * 100vw);
  right: calc(18 / var(--base) * 100vw);
  width: calc(30 / var(--base) * 100vw);
  height: calc(30 / var(--base) * 100vw);
  z-index: 2;
  overflow: hidden;
}
.menu-sw button {
  padding: 0;
  display: block;
  border-style: none;
  border-radius: 0;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: transparent;
  transition: background-color 500ms;
  overflow: hidden;
  cursor: pointer;
}
.menu-sw span {
  position: absolute;
  width: calc(30 / var(--base) * 100vw);
  height: calc(18 / var(--base) * 100vw);
  top: calc(6 / var(--base) * 100vw);
  left: 0;
}
.menu-sw span::before, .menu-sw span::after,
.menu-sw span i {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  height: 2px;
  background-color: #000;
  margin: -1px 0 0 0;
  transition: background-color 500ms, transform 500ms;
}
.menu-sw span::before {
  transform: translate(0, -7px);
  transition: transform 500ms;
}
.menu-sw span::after {
  transform: translate(0, 7px);
  transition: transform 500ms;
}
.menu-sw.open span::before {
  transform: translate(0, 0) rotate(45deg);
}
.menu-sw.open span i {
  transform: rotate(-45deg);
}
.menu-sw.open span::after {
  transform: translate(0, 0) rotate(45deg);
}
@media screen and (min-width: 1024px) {
  .menu-sw {
    display: none;
  }
}

.main {
  padding-top: calc(60 / var(--base) * 100vw);
  overflow: hidden;
  background-color: var(--color-lightyellow);
}
@media screen and (min-width: 1024px) {
  .main {
    padding-top: min(80px, 80 / var(--base) * 100vw);
  }
}

.footer {
  border-top: 1px solid #d8d8d8;
  padding: calc(28 / var(--base) * 100vw) 0 calc(8 / var(--base) * 100vw) 0;
  background-color: #fff;
}
.footer .logo {
  margin: 0 auto calc(28 / var(--base) * 100vw) auto;
  width: calc(215 / var(--base) * 100vw);
}
.footer .content {
  display: none;
}
.footer .copyright {
  text-align: center;
  font-size: min(12px, 12 / var(--base) * 100vw);
}
@media screen and (min-width: 1024px) {
  .footer {
    margin-top: min(80px, 80 / var(--base) * 100vw);
    padding: min(24px, 24 / var(--base) * 100vw) 0;
  }
  .footer .logo {
    display: none;
  }
  .footer .content {
    display: flex;
    margin: 0 auto 27px auto;
    width: min(980px, 980 / var(--base) * 100vw);
    justify-content: space-between;
  }
  .footer .list-footer-menu {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .footer .list-footer-menu a {
    padding: min(8px, 8 / var(--base) * 100vw) min(10px, 10 / var(--base) * 100vw);
    text-decoration: none;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: border-bottom-color var(--duration-transition);
  }
  .footer .list-footer-menu a:hover {
    border-bottom-color: var(--color-orange);
  }
}

@media screen and (min-width: 640px) {
  .xs_only {
    display: none;
  }
}

.sm_only {
  display: none;
}
@media screen and (min-width: 640px) {
  .sm_only {
    display: inline;
  }
}

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

.ts_only {
  display: block;
}
@media screen and (min-width: 1024px) {
  .ts_only {
    display: none;
  }
}

.lg_only {
  display: none;
}
@media screen and (min-width: 1024px) {
  .lg_only {
    display: inline;
  }
}

.b2t {
  transition: translate var(--duration-transition), opacity var(--duration-transition);
  translate: 0 20px;
  opacity: 0;
}
.b2t.open {
  translate: 0 0;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .b2t {
    translate: 0 40px;
  }
}

p {
  margin-bottom: 1.5em;
  font-size: calc(16 / var(--base) * 100vw);
  line-height: 1.87;
  color: var(--color-text);
  text-align: justify;
}
p:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  p {
    margin-bottom: 0em;
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
}

.red {
  color: var(--color-lightred);
}

figure {
  margin: 0;
  padding: 0;
}

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

/* section */
.unit {
  padding: calc(20 / var(--base) * 100vw) 0;
}
@media screen and (min-width: 1024px) {
  .unit {
    padding: calc(80 / var(--base) * 100vw) 0;
  }
}

.unit-cta {
  padding: calc(28 / var(--base) * 100vw);
  background-color: var(--color-orange);
}
.unit-cta .title {
  margin: 0 auto calc(20 / var(--base) * 100vw) auto;
  padding: 0.2em calc(60 / var(--base) * 100vw);
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-yellow);
  color: var(--color-red);
  text-align: center;
  border-radius: calc(5 / var(--base) * 100vw);
}
.unit-cta .pr {
  margin-bottom: calc(10 / var(--base) * 100vw);
  font-size: calc(30 / var(--base) * 100vw);
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
}
.unit-cta .note {
  margin-bottom: calc(25 / var(--base) * 100vw);
  text-align: center;
  color: #fff;
  font-size: calc(16 / var(--base) * 100vw);
}
.unit-cta .list-contact .item:not(:last-of-type) {
  margin-bottom: calc(20 / var(--base) * 100vw);
}
.unit-cta .list-contact a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  background-color: #ffeeee;
  border-radius: calc(80 / var(--base) * 100vw);
  text-decoration: none;
  height: calc(112 / var(--base) * 100vw);
  transition: background-color var(--duration-transition);
}
.unit-cta .list-contact a:hover {
  background-color: #fff;
}
.unit-cta .list-contact .icon {
  margin-left: calc(50 / var(--base) * 100vw);
}
.unit-cta .list-contact .text {
  text-align: center;
  line-height: 1.4;
  font-size: calc(18 / var(--base) * 100vw);
}
.unit-cta .list-contact .phone .icon {
  width: calc(38 / var(--base) * 100vw);
}
.unit-cta .list-contact .phone .text {
  margin-right: calc(20 / var(--base) * 100vw);
}
.unit-cta .list-contact .email .icon {
  width: calc(70 / var(--base) * 100vw);
  margin-left: calc(32 / var(--base) * 100vw);
}
.unit-cta .list-contact .email .text {
  margin-right: calc(32 / var(--base) * 100vw);
}
.unit-cta .list-contact .instagram .icon {
  margin-left: calc(40 / var(--base) * 100vw);
  width: calc(65 / var(--base) * 100vw);
}
.unit-cta .list-contact .instagram .text {
  margin-right: calc(40 / var(--base) * 100vw);
}
.unit-cta .list-contact .num {
  display: block;
  font-size: calc(20 / var(--base) * 100vw);
}
.unit-cta .list-contact .note {
  display: block;
  margin: 0;
  color: #000;
  font-size: calc(12 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .unit-cta .list-contact {
    margin: 0 auto;
    width: 286px;
  }
}
@media screen and (min-width: 1024px) {
  .unit-cta {
    margin: 0 auto;
    padding: min(15px, 15 / var(--base) * 100vw) 0 min(20px, 20 / var(--base) * 100vw) 0;
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .unit-cta .title {
    margin: 0 auto min(20px, 20 / var(--base) * 100vw) auto;
    padding: 0.2em min(60px, 60 / var(--base) * 100vw);
    border-radius: min(5px, 5 / var(--base) * 100vw);
    font-size: min(20px, 20 / var(--base) * 100vw);
  }
  .unit-cta .pr {
    margin-bottom: min(10px, 10 / var(--base) * 100vw);
    font-size: min(30px, 30 / var(--base) * 100vw);
  }
  .unit-cta .note {
    margin-bottom: min(15px, 15 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .unit-cta .list-contact {
    display: grid;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    gap: min(20px, 20 / var(--base) * 100vw);
    width: min(900px, 900 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .unit-cta .list-contact a {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    border-radius: calc(80 / var(--base) * 100vw);
    text-decoration: none;
    height: calc(112 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .icon {
    margin-left: min(50px, 50 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .text {
    font-size: min(18px, 18 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .phone .icon {
    width: min(38px, 38 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .phone .text {
    margin-right: min(20px, 20 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .email .icon {
    width: min(70px, 70 / var(--base) * 100vw);
    margin-left: min(32px, 32 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .email .text {
    margin-right: min(32px, 32 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .instagram .icon {
    margin-left: min(40px, 40 / var(--base) * 100vw);
    width: min(65px, 65 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .instagram .text {
    margin-right: min(40px, 40 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .num {
    font-size: min(20px, 20 / var(--base) * 100vw);
  }
  .unit-cta .list-contact .note {
    font-size: min(12px, 12 / var(--base) * 100vw);
  }
}

/* ----------------- 
titletitle
----------------- */
.title-main {
  margin-bottom: calc(48 / var(--base) * 100vw);
  padding-top: calc(40 / var(--base) * 100vw);
  font-size: calc(24 / var(--base) * 100vw);
  text-align: center;
}

.title-mid {
  margin: 0 auto calc(18 / var(--base) * 100vw) auto;
  text-align: center;
  font-size: calc(24 / var(--base) * 100vw);
  font-weight: 600;
  line-height: 1.66;
  letter-spacing: 0.1em;
  color: var(--color-main);
}
.title-mid.color-cream {
  color: var(--color-cream);
}
.title-mid.color-emerald {
  color: var(--color-emerald);
}
.title-mid.color-white {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .title-mid {
    margin-top: min(40px, 40 / var(--base) * 100vw);
    margin-bottom: min(24px, 24 / var(--base) * 100vw);
    font-size: min(24px, 24 / var(--base) * 100vw);
  }
}

.title-red {
  margin-top: calc(25 / var(--base) * 100vw);
  margin-bottom: calc(10 / var(--base) * 100vw);
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 700;
  color: var(--color-red);
}

/* ----------------- 
linklink
----------------- */
a {
  text-decoration: underline;
  color: var(--color-text);
}

button {
  cursor: pointer;
}

dl,
dt,
dd,
ul,
ol,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* formform */
select {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%228%22%20viewBox%3D%220%200%2013%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M12.5104%201.69058L6.5%207.70099L0.489592%201.69058L1.1967%200.983477L6.5%206.28678L11.8033%200.983477L12.5104%201.69058Z%22%20fill%3D%22black%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 13px auto;
  background-position: right 12px center;
}
@media screen and (min-width: 768px) {
  select {
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
}

input[type=text],
input[type=email],
input[type=tel] {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel] {
    font-size: min(16px, 16 / var(--base) * 100vw);
    padding: 0.4em 0.6em;
  }
}

textarea {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  line-height: 1.5;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  width: 100%;
  height: calc(150 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  textarea {
    font-size: min(16px, 16 / var(--base) * 100vw);
    padding: 0.4em 0.6em;
  }
}

.list-buttons:has(.item:nth-of-type(2)) {
  display: flex;
  justify-content: center;
  gap: min(24px, 24 / var(--base) * 100vw);
}
.list-buttons .item {
  text-align: center;
}

.type-button {
  padding: 0.6em 0em;
  background-color: var(--color-orange);
  color: #fff;
  border-radius: calc(50 / var(--base) * 100vw);
  border: 2px solid var(--color-orange);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: min(180px, 100%);
  text-align: center;
  font-size: calc(16 / var(--base) * 100vw);
  text-indent: 1em;
  letter-spacing: 1em;
  font-weight: 700;
  cursor: pointer;
  transition: background-color var(--duration-transition), color var(--duration-transition);
}
.type-button:hover {
  background-color: #fff;
  color: var(--color-orange);
}
.type-button.back {
  color: #000;
  background-color: #ccc;
  border-color: #ccc;
}
.type-button.back:hover {
  color: #000;
  background-color: #fff;
}
.type-button.submit {
  color: #fff;
  background-color: var(--color-blue);
}

.page-home .unit-top {
  background-color: var(--color-brown);
  height: calc(408 / var(--base) * 100vw);
  position: relative;
}
.page-home .unit-top .copy {
  font-size: calc(24 / var(--base) * 100vw);
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  inset: calc(25 / var(--base) * 100vw) auto auto 50%;
  translate: -50% 0;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  text-align: center;
}
.page-home .unit-top .copy .detective {
  color: var(--color-yellow);
}
.page-home .unit-top .illust {
  width: calc(254 / var(--base) * 100vw);
  position: absolute;
  inset: auto auto 0 50%;
  translate: -50% 0;
}
.page-home .unit-intro .content {
  padding: 0 calc(37.5 / var(--base) * 100vw);
}
.page-home .unit-features .reasons {
  color: var(--color-orange);
}
.page-home .unit-features .list {
  margin: calc(40 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw) calc(20 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw);
}
.page-home .unit-features .list .item:not(:last-of-type) {
  margin-bottom: calc(36 / var(--base) * 100vw);
}
.page-home .unit-features .list .photo {
  margin-bottom: calc(30 / var(--base) * 100vw);
}
.page-home .unit-features .list .title {
  margin-bottom: calc(20 / var(--base) * 100vw);
  font-size: calc(18 / var(--base) * 100vw);
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}
.page-home .unit-services .list {
  margin: calc(32 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw) 0 calc(37.5 / var(--base) * 100vw);
}
.page-home .unit-services .list .item:not(:last-of-type) {
  margin-bottom: calc(40 / var(--base) * 100vw);
}
.page-home .unit-services .list a {
  display: grid;
  align-items: center;
  background-color: var(--color-orange);
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: calc(16 / var(--base) * 100vw);
  height: calc(76 / var(--base) * 100vw);
  border-bottom: 5px solid var(--color-orange);
  transition: background-color var(--duration-transition), color var(--duration-transition);
}
.page-home .unit-services .list a:hover {
  background-color: #fff;
  color: var(--color-orange);
}
.page-home .unit-cases {
  padding-bottom: calc(60 / var(--base) * 100vw);
}
.page-home .unit-cases .underline {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: color-mix(in srgb, var(--color-yellow) 100%, transparent);
  text-underline-offset: -0.2em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
.page-home .list-cases {
  margin: 0 calc(15 / var(--base) * 100vw);
}
.page-home .list-cases .item {
  border: 1px solid #979797;
  background-image: url(../images/common/case_back.png);
  background-size: 19px 19px;
}
.page-home .list-cases .item:not(:last-of-type) {
  margin-bottom: calc(40 / var(--base) * 100vw);
}
.page-home .list-cases .title {
  display: grid;
  margin-bottom: calc(25 / var(--base) * 100vw);
  grid-template-columns: calc(126 / var(--base) * 100vw) 1fr;
  text-align: left;
  height: calc(72 / var(--base) * 100vw);
  font-size: calc(18 / var(--base) * 100vw);
  background-color: #ffe8df;
  color: var(--color-red);
}
.page-home .list-cases .label {
  margin: 0 calc(40 / var(--base) * 100vw) calc(-10 / var(--base) * 100vw) calc(20 / var(--base) * 100vw);
  background-color: var(--color-brown);
  font-weight: 400;
  border-radius: 0 0 calc(30 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.page-home .list-cases .label .case {
  display: block;
  padding-top: calc(10 / var(--base) * 100vw);
  text-align: center;
  color: var(--color-yellow);
  font-size: calc(16 / var(--base) * 100vw);
}
.page-home .list-cases .label .num {
  display: block;
  padding-top: calc(5 / var(--base) * 100vw);
  text-align: center;
  font-size: calc(38 / var(--base) * 100vw);
  color: #fff;
}
.page-home .list-cases .text {
  align-self: center;
}
.page-home .list-cases .content {
  margin: 0 calc(15 / var(--base) * 100vw);
  padding: calc(10 / var(--base) * 100vw);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: calc(8 / var(--base) * 100vw);
}
.page-home .list-cases .content dt {
  margin-bottom: calc(8 / var(--base) * 100vw);
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 700;
  color: var(--color-red);
}
.page-home .list-cases .content dt:not(:first-of-type) {
  margin-top: calc(24 / var(--base) * 100vw);
}
.page-home .list-cases .content dd {
  font-size: calc(16 / var(--base) * 100vw);
  line-height: 1.87;
}
.page-home .list-cases .info {
  display: grid;
  align-items: center;
  justify-content: space-between;
  grid-template-columns: auto 1fr auto auto;
  margin: calc(25 / var(--base) * 100vw) calc(20 / var(--base) * 100vw) calc(25 / var(--base) * 100vw) calc(20 / var(--base) * 100vw);
  gap: 0 min(8px, 8 / var(--base) * 100vw);
}
.page-home .list-cases .category {
  grid-column: 1;
  background-color: #fff;
  padding: 0 0.4em;
  font-size: calc(16 / var(--base) * 100vw);
  border: 1px solid var(--color-brown);
}
.page-home .list-cases .client {
  display: grid;
  margin-left: auto;
  grid-template-columns: auto auto;
  gap: calc(8 / var(--base) * 100vw);
  grid-template-rows: auto;
  align-items: start;
  grid-column: 3/5;
  padding: 0.4em;
  font-size: calc(16 / var(--base) * 100vw);
  background-color: rgba(255, 255, 255, 0.9);
}
.page-home .list-cases .client dt {
  color: var(--color-red);
  font-weight: 700;
  justify-self: end;
}
.page-home .banner-school {
  padding: calc(65 / var(--base) * 100vw) calc(10 / var(--base) * 100vw) calc(50 / var(--base) * 100vw) calc(10 / var(--base) * 100vw);
  background-color: #fffef4;
}
.page-home .banner-school a {
  position: relative;
}
.page-home .banner-school a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0 0 0 0;
  background-color: color-mix(in srgb, #fff 0%, transparent);
  transition: background-color var(--duration-transition);
}
.page-home .banner-school a:hover::after {
  background-color: color-mix(in srgb, #fff 50%, transparent);
}
@media screen and (min-width: 768px) {
  .page-home .unit-intro .content {
    padding: min(48px, 48 / var(--base) * 100vw) calc(50 / var(--base) * 100vw) calc(24 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
  .page-home .unit-intro p {
    text-align: center;
  }
  .page-home .unit-features .list {
    margin: calc(40 / var(--base) * 100vw) calc(50 / var(--base) * 100vw) calc(20 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
  .page-home .unit-services .list {
    display: grid;
    margin: calc(32 / var(--base) * 100vw) calc(50 / var(--base) * 100vw) 0 calc(50 / var(--base) * 100vw);
    grid-template-columns: repeat(3, 1fr);
    gap: calc(16 / var(--base) * 100vw);
  }
  .page-home .unit-services .list .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-home .list-cases {
    display: grid;
    align-items: stretch;
    margin: 0 calc(50 / var(--base) * 100vw);
    grid-template-columns: repeat(2, 1fr);
    gap: calc(24 / var(--base) * 100vw);
  }
  .page-home .list-cases .item {
    display: grid;
    grid-template-rows: auto auto auto;
  }
  .page-home .list-cases .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-home .list-cases .title {
    margin-bottom: calc(25 / var(--base) * 100vw);
    grid-template-columns: calc(104 / var(--base) * 100vw) 1fr;
    text-align: left;
    height: calc(72 / var(--base) * 100vw);
    font-size: calc(18 / var(--base) * 100vw);
  }
  .page-home .list-cases .label {
    margin: 0 calc(20 / var(--base) * 100vw) calc(-10 / var(--base) * 100vw) calc(20 / var(--base) * 100vw);
    background-color: var(--color-brown);
    font-weight: 400;
    border-radius: 0 0 calc(30 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
  }
  .page-home .list-cases .label .case {
    display: block;
    padding-top: calc(10 / var(--base) * 100vw);
    text-align: center;
    color: var(--color-yellow);
    font-size: calc(16 / var(--base) * 100vw);
  }
  .page-home .list-cases .label .num {
    display: block;
    padding-top: calc(5 / var(--base) * 100vw);
    text-align: center;
    font-size: calc(38 / var(--base) * 100vw);
    color: #fff;
  }
  .page-home .list-cases .text {
    align-self: center;
  }
  .page-home .list-cases .content {
    margin: 0 calc(15 / var(--base) * 100vw);
    padding: calc(10 / var(--base) * 100vw);
    border-radius: calc(8 / var(--base) * 100vw);
  }
  .page-home .list-cases .content dt {
    margin-bottom: calc(8 / var(--base) * 100vw);
    font-size: calc(16 / var(--base) * 100vw);
    font-weight: 700;
    color: var(--color-red);
  }
  .page-home .list-cases .content dt:not(:first-of-type) {
    margin-top: calc(24 / var(--base) * 100vw);
  }
  .page-home .list-cases .content dd {
    font-size: calc(16 / var(--base) * 100vw);
    line-height: 1.87;
  }
  .page-home .list-cases .category {
    grid-column: 1;
    background-color: #fff;
    padding: 0 0.4em;
    font-size: calc(16 / var(--base) * 100vw);
    border: 1px solid var(--color-brown);
  }
  .page-home .list-cases .client {
    font-size: calc(14 / var(--base) * 100vw);
  }
  .page-home .banner-school {
    padding: min(40px, 40 / var(--base) * 100vw) calc(50 / var(--base) * 100vw) min(80px, 80 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-home .unit-top {
    height: min(480px, 480 / var(--base) * 100vw);
  }
  .page-home .unit-top .content {
    position: relative;
    margin: 0 auto;
    width: min(1440px, 1440 / var(--base) * 100vw);
    height: 100%;
  }
  .page-home .unit-top .copy {
    font-size: min(24px, 24 / var(--base) * 100vw);
    inset: 50% min(816px, 816 / var(--base) * 100vw) auto auto;
    translate: 0 -50%;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    text-align: center;
  }
  .page-home .unit-top .copy .detective {
    color: var(--color-yellow);
  }
  .page-home .unit-top .illust {
    width: min(445px, 445 / var(--base) * 100vw);
    inset: auto min(326px, 326 / var(--base) * 100vw) 0 auto;
    translate: none;
  }
  .page-home .unit-intro {
    padding-top: min(40px, 40 / var(--base) * 100vw);
    padding-bottom: 0;
  }
  .page-home .unit-intro .content {
    padding-top: 0;
  }
  .page-home .unit-features {
    padding-top: min(40px, 40 / var(--base) * 100vw);
    padding-bottom: 0;
  }
  .page-home .unit-features .list {
    display: grid;
    margin: min(40px, 40 / var(--base) * 100vw) auto 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 40 / var(--base) * 100vw);
  }
  .page-home .unit-features .list .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-home .unit-features .list .photo {
    margin-bottom: min(24px, 24 / var(--base) * 100vw);
  }
  .page-home .unit-features .list .title {
    margin-bottom: min(16px, 16 / var(--base) * 100vw);
    font-size: min(18px, 18 / var(--base) * 100vw);
  }
  .page-home .unit-services {
    padding-bottom: 0;
  }
  .page-home .unit-services .list {
    margin: min(32px, 32 / var(--base) * 100vw) auto 0 auto;
    gap: min(40px, 40 / var(--base) * 100vw);
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .page-home .unit-services .list .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-home .unit-services .list a {
    font-size: min(16px, 16 / var(--base) * 100vw);
    height: min(80px, 80 / var(--base) * 100vw);
  }
  .page-home .unit-cases {
    padding-top: min(40px, 40 / var(--base) * 100vw);
    padding-bottom: min(80px, 80 / var(--base) * 100vw);
  }
  .page-home .list-cases {
    margin: min(45px, 45 / var(--base) * 100vw) auto 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
    gap: min(80px, 80 / var(--base) * 100vw);
  }
  .page-home .list-cases .title {
    margin-bottom: min(25px, 25 / var(--base) * 100vw);
    grid-template-columns: min(126px, 126 / var(--base) * 100vw) 1fr;
    height: min(72px, 72 / var(--base) * 100vw);
    font-size: min(18px, 18 / var(--base) * 100vw);
  }
  .page-home .list-cases .label {
    margin: 0 min(40px, 40 / var(--base) * 100vw) min(-10px, -10 / var(--base) * 100vw) min(20px, 20 / var(--base) * 100vw);
    border-radius: 0 0 min(40px, 40 / var(--base) * 100vw) min(40px, 40 / var(--base) * 100vw);
  }
  .page-home .list-cases .label .case {
    padding-top: min(10px, 10 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-home .list-cases .label .num {
    padding-top: min(5px, 5 / var(--base) * 100vw);
    font-size: min(38px, 38 / var(--base) * 100vw);
  }
  .page-home .list-cases .content {
    margin: 0 min(20px, 20 / var(--base) * 100vw);
    padding: min(20px, 20 / var(--base) * 100vw);
    border-radius: min(8px, 8 / var(--base) * 100vw);
  }
  .page-home .list-cases .content dt {
    margin-bottom: min(8px, 8 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-home .list-cases .content dt:not(:first-of-type) {
    margin-top: min(24px, 24 / var(--base) * 100vw);
  }
  .page-home .list-cases .content dd {
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-home .list-cases .info {
    margin: min(25px, 25 / var(--base) * 100vw) min(20px, 20 / var(--base) * 100vw) min(25px, 25 / var(--base) * 100vw) min(20px, 20 / var(--base) * 100vw);
  }
  .page-home .list-cases .category {
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-home .list-cases .client {
    font-size: min(16px, 16 / var(--base) * 100vw);
    grid-template-columns: subgrid;
    gap: 0;
  }
  .page-home .banner-school {
    margin: 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
    padding: min(40px, 40 / var(--base) * 100vw) 0 min(80px, 80 / var(--base) * 100vw) 0;
  }
}

.page-about .content {
  margin: 0 calc(37.5 / var(--base) * 100vw);
}
.page-about .illust {
  margin: max(-20px, -20 / var(--base) * 100vw) auto min(30px, 30 / var(--base) * 100vw) auto;
  width: min(180px, 180 / var(--base) * 100vw);
}
.page-about .unit-company {
  padding-top: calc(40 / var(--base) * 100vw);
}
.page-about .table-company {
  margin: 0 calc(37.5 / var(--base) * 100vw) calc(40 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw);
}
.page-about .table-company table,
.page-about .table-company tbody,
.page-about .table-company tr,
.page-about .table-company th,
.page-about .table-company td {
  display: block;
  text-align: left;
  font-size: calc(16 / var(--base) * 100vw);
}
.page-about .table-company th {
  margin-bottom: calc(5 / var(--base) * 100vw);
  padding-top: calc(20 / var(--base) * 100vw);
}
.page-about .table-company td {
  padding-bottom: calc(12 / var(--base) * 100vw);
  border-bottom: 1px solid #d8d8d8;
}
@media screen and (min-width: 768px) {
  .page-about .content {
    margin: 0 calc(50 / var(--base) * 100vw);
  }
  .page-about .row {
    display: grid;
    grid-template-columns: min(180px, 180 / var(--base) * 100vw) 1fr;
    gap: 0 min(40px, 40 / var(--base) * 100vw);
  }
  .page-about .table-company {
    margin: 0 calc(50 / var(--base) * 100vw) calc(40 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
  .page-about .table-company table {
    display: table;
    border-collapse: collapse;
  }
  .page-about .table-company tbody {
    display: table-row-group;
  }
  .page-about .table-company tr {
    display: table-row;
  }
  .page-about .table-company th {
    display: table-cell;
    margin-bottom: 0;
    padding: min(20px, 20 / var(--base) * 100vw) min(32px, 32 / var(--base) * 100vw) min(20px, 20 / var(--base) * 100vw) 0;
    border-bottom: 1px solid #d8d8d8;
    white-space: nowrap;
  }
  .page-about .table-company td {
    display: table-cell;
    padding: min(20px, 20 / var(--base) * 100vw) 0;
    text-align: left;
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-about .content {
    margin: 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .page-about .table-company {
    margin: 0 auto min(80px, 80 / var(--base) * 100vw) auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
}

.page-services .list-services {
  margin: 0 calc(37.5 / var(--base) * 100vw);
  padding-bottom: calc(40 / var(--base) * 100vw);
}
.page-services .list-services .item:not(:last-of-type) {
  margin-bottom: calc(80 / var(--base) * 100vw);
}
.page-services .list-services .photo {
  margin-bottom: calc(14 / var(--base) * 100vw);
}
.page-services .list-services .title {
  margin-bottom: calc(14 / var(--base) * 100vw);
  font-size: calc(18 / var(--base) * 100vw);
  font-size: 700;
}
.page-services .list-services .list-fee {
  margin-top: calc(14 / var(--base) * 100vw);
  border: 1px solid #d8d8d8;
  font-size: calc(16 / var(--base) * 100vw);
}
.page-services .list-services .list-fee dt {
  padding: 0.6em 0;
  background-color: #ffe8df;
  text-align: center;
}
.page-services .list-services .list-fee dd {
  padding: 0.6em 0;
  text-align: center;
  background-color: #fff;
}
.page-services .unit-price .content {
  margin: 0 calc(37.5 / var(--base) * 100vw);
}
.page-services .unit-price .para-intro {
  line-height: 2.25;
}
.page-services .unit-price .list-demands {
  margin: calc(24 / var(--base) * 100vw) 0;
  padding: calc(20 / var(--base) * 100vw);
  background-color: #fff;
}
.page-services .unit-price .list-demands .item {
  padding-left: min(38px, 38 / var(--base) * 100vw);
  position: relative;
}
.page-services .unit-price .list-demands .item:not(:last-of-type) {
  margin-bottom: calc(17 / var(--base) * 100vw);
}
.page-services .unit-price .list-demands .item::before {
  display: block;
  content: "";
  width: min(20px, 20 / var(--base) * 100vw);
  height: min(20px, 20 / var(--base) * 100vw);
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_285_1609)'%3E%3Cpath d='M1.21034 1.21038H9.16379V0H0V9.15161H1.21034V1.21038Z' fill='%237A7A7A'/%3E%3Cpath d='M18.7896 1.21038V9.15161H19.9999V0H10.8335V1.21038H18.7896Z' fill='%237A7A7A'/%3E%3Cpath d='M18.7896 18.7894H10.8335V19.9998H19.9999V10.8213H18.7896V18.7894Z' fill='%237A7A7A'/%3E%3Cpath d='M1.21034 18.7894V10.8213H0V19.9998H9.16379V18.7894H1.21034Z' fill='%237A7A7A'/%3E%3Cpath d='M8.28366 14.9623L16.5895 6.65626L14.9401 5.00684L8.28366 11.6635L4.92599 8.30569L3.27661 9.95512L8.28366 14.9623Z' fill='%231F1F1F'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_285_1609'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-size: contain;
  position: absolute;
  inset: 0.1em auto auto 0;
}
.page-services .unit-price .table-price {
  margin: calc(25 / var(--base) * 100vw) 0;
}
.page-services .unit-price .table-price table,
.page-services .unit-price .table-price tr,
.page-services .unit-price .table-price th,
.page-services .unit-price .table-price td,
.page-services .unit-price .table-price tbody {
  display: block;
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 400;
  text-align: center;
}
.page-services .unit-price .table-price table {
  border: 1px solid #d8d8d8;
}
.page-services .unit-price .table-price th {
  padding: 0.5em 0;
  background-color: #ffe8df;
  border-bottom: 1px solid #d8d8d8;
}
.page-services .unit-price .table-price td {
  padding: 0.5em 0;
  background-color: #fff;
}
.page-services .unit-price .table-price tr:not(:last-of-type) td {
  border-bottom: 1px solid #d8d8d8;
}
.page-services .unit-flow {
  padding-bottom: calc(80 / var(--base) * 100vw);
}
.page-services .unit-flow .list-flow {
  margin: 0 calc(37.5 / var(--base) * 100vw);
}
.page-services .unit-flow .list-flow .item {
  padding: calc(10 / var(--base) * 100vw);
  border: 1px solid #eae5e5;
  background-color: #fff;
}
.page-services .unit-flow .list-flow .item:not(:last-of-type) {
  margin-bottom: calc(44 / var(--base) * 100vw);
  position: relative;
}
.page-services .unit-flow .list-flow .item:not(:last-of-type)::after {
  display: block;
  content: "";
  width: 75px;
  height: 27px;
  background-color: var(--color-yellow);
  position: absolute;
  inset: auto auto calc(-38 / var(--base) * 100vw) 50%;
  translate: -50% 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.page-services .unit-flow .list-flow .title {
  margin-bottom: calc(10 / var(--base) * 100vw);
  padding: 0.6em 0;
  text-align: center;
  background-color: var(--color-lightorange);
  border-bottom: 2px solid var(--color-orange);
  font-size: calc(16 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .page-services .list-services {
    margin: 0 calc(50 / var(--base) * 100vw);
    padding-bottom: 0;
  }
  .page-services .list-services .item {
    display: grid;
    grid-template-columns: min(320px, 320 / var(--base) * 100vw) 1fr;
    grid-template-rows: auto 1fr auto;
    gap: 0 min(40px, 40 / var(--base) * 100vw);
    margin-bottom: 0;
    padding-bottom: min(40px, 40 / var(--base) * 100vw);
    border-bottom: 1px solid #d8d8d8;
  }
  .page-services .list-services .item:not(:last-of-type) {
    margin-bottom: min(40px, 40 / var(--base) * 100vw);
    padding-bottom: min(40px, 40 / var(--base) * 100vw);
  }
  .page-services .list-services .photo {
    grid-column: 1;
    grid-row: 1/4;
    margin-bottom: 0;
  }
  .page-services .list-services .title {
    margin-bottom: min(10px, 10 / var(--base) * 100vw);
    font-size: min(18px, 18 / var(--base) * 100vw);
  }
  .page-services .list-services .list-fee {
    display: grid;
    margin-top: min(32px, 32 / var(--base) * 100vw);
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
    font-size: min(12px, 12 / var(--base) * 100vw);
  }
  .page-services .list-services .list-fee dt {
    margin: 0;
    background-color: #ffe8df;
  }
  .page-services .list-services .list-fee dd {
    margin: 0;
    text-align: center;
  }
  .page-services .unit-price .content {
    margin: 0 calc(50 / var(--base) * 100vw);
  }
  .page-services .unit-price .list-demands {
    margin: min(24px, 24 / var(--base) * 100vw) auto;
    padding: min(20px, 20 / var(--base) * 100vw) min(24px, 24 / var(--base) * 100vw);
    width: min(500px, 500 / var(--base) * 100vw);
    border: 1px solid #d8d8d8;
  }
  .page-services .unit-price .list-demands .item {
    padding-left: min(38px, 38 / var(--base) * 100vw);
    position: relative;
  }
  .page-services .unit-price .list-demands .item:not(:last-of-type) {
    margin-bottom: min(17px, 17 / var(--base) * 100vw);
  }
  .page-services .unit-price .table-price {
    margin: min(25px, 25 / var(--base) * 100vw) auto;
    width: min(600px, 600 / var(--base) * 100vw);
  }
  .page-services .unit-price .table-price table {
    display: table;
    border-collapse: collapse;
    width: 100%;
  }
  .page-services .unit-price .table-price tbody {
    display: table-row-group;
  }
  .page-services .unit-price .table-price tr {
    display: table-row;
  }
  .page-services .unit-price .table-price th {
    display: table-cell;
    width: 50%;
    border-bottom: 1px solid #d8d8d8;
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-services .unit-price .table-price td {
    display: table-cell;
    padding: 0.5em 0;
    background-color: #fff;
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-services .unit-price .table-price tr:not(:last-of-type) td {
    border-bottom: 1px solid #d8d8d8;
  }
  .page-services .unit-flow {
    margin-right: calc(50 / var(--base) * 100vw);
    margin-left: calc(50 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-services .list-services {
    margin: 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .page-services .list-services .list-fee {
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-services .unit-price {
    padding-top: min(20px, 20 / var(--base) * 100vw);
    padding-bottom: min(20px, 20 / var(--base) * 100vw);
  }
  .page-services .unit-price .content {
    margin: 0 auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .page-services .unit-price .para-intro {
    text-align: center;
  }
  .page-services .unit-price .list-demands {
    margin: min(24px, 24 / var(--base) * 100vw) auto min(60px, 60 / var(--base) * 100vw) auto;
  }
  .page-services .unit-price .table-price {
    margin: min(25px, 25 / var(--base) * 100vw) auto;
    width: min(600px, 600 / var(--base) * 100vw);
  }
  .page-services .unit-flow {
    padding: 0 0 min(80px, 80 / var(--base) * 100vw) 0;
  }
  .page-services .unit-flow .list-flow {
    display: grid;
    margin: 0 auto;
    grid-template-columns: repeat(4, 1fr);
    width: min(980px, 980 / var(--base) * 100vw);
    gap: min(44px, 44 / var(--base) * 100vw);
  }
  .page-services .unit-flow .list-flow .item {
    padding: min(10px, 10 / var(--base) * 100vw);
  }
  .page-services .unit-flow .list-flow .item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-services .unit-flow .list-flow .item:not(:last-of-type)::after {
    display: block;
    content: "";
    height: 75px;
    width: 27px;
    inset: 50% min(-34px, -34 / var(--base) * 100vw) auto auto;
    translate: 0 -50%;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  .page-services .unit-flow .list-flow .title {
    margin-bottom: min(10px, 10 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
}

.page-faq .list-faq {
  margin: 0 calc(37.5 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw);
  border-bottom: 1px solid #979797;
}
.page-faq .list-faq .item.open .title i {
  border-color: var(--color-orange);
}
.page-faq .list-faq .item.open .title i::before {
  background-color: var(--color-orange);
}
.page-faq .list-faq .item.open .title i::after {
  rotate: 0deg;
  background-color: var(--color-orange);
}
.page-faq .list-faq .item.open .content {
  opacity: 1;
  padding-bottom: calc(20 / var(--base) * 100vw);
  grid-template-rows: 1fr;
}
.page-faq .list-faq .title {
  border-top: 1px solid #979797;
}
.page-faq .list-faq .title button {
  display: grid;
  grid-template-columns: calc(40 / var(--base) * 100vw) 1fr;
  gap: calc(10 / var(--base) * 100vw);
  padding: 0.6em calc(20 / var(--base) * 100vw);
  align-items: center;
  width: 100%;
  border-style: none;
  background-color: transparent;
  font-size: calc(16 / var(--base) * 100vw);
  line-height: 1.4;
  font-weight: 400;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.page-faq .list-faq .title button i {
  display: block;
  width: calc(30 / var(--base) * 100vw);
  height: calc(30 / var(--base) * 100vw);
  border: 1px solid #d9d9d9;
  border-radius: calc(30 / var(--base) * 100vw);
  grid-column: 1;
  position: relative;
  transition: border-color var(--duration-transition);
}
.page-faq .list-faq .title button i::before, .page-faq .list-faq .title button i::after {
  content: "";
  width: calc(14 / var(--base) * 100vw);
  height: 1px;
  position: absolute;
  inset: 50% auto auto 50%;
  background-color: #000;
  translate: -50% -50%;
  transition: rotate var(--duration-transition), background-color var(--duration-transition);
}
.page-faq .list-faq .title button i::after {
  rotate: -90deg;
}
.page-faq .list-faq .content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  opacity: 0;
  transition: opacity var(--duration-transition), margin var(--duration-transition), grid-template-rows var(--duration-transition), padding var(--duration-transition);
}
.page-faq .list-faq .content p {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .page-faq .list-faq {
    margin: 0 calc(50 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-faq .list-faq {
    margin: 0 auto min(80px, 80 / var(--base) * 100vw) auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
  .page-faq .list-faq .item.open .title {
    border-bottom-color: #ccc;
  }
  .page-faq .list-faq .item.open .content {
    padding-bottom: min(40px, 40 / var(--base) * 100vw);
  }
  .page-faq .list-faq .title {
    border-top: 1px solid #979797;
  }
  .page-faq .list-faq .title button {
    grid-template-columns: min(40px, 40 / var(--base) * 100vw) 1fr;
    gap: min(10px, 10 / var(--base) * 100vw);
    padding: min(20px, 20 / var(--base) * 100vw) min(20px, 20 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
  .page-faq .list-faq .title button i {
    display: block;
    width: min(30px, 30 / var(--base) * 100vw);
    height: min(30px, 30 / var(--base) * 100vw);
    border-radius: min(30px, 30 / var(--base) * 100vw);
  }
  .page-faq .list-faq .title button i::before, .page-faq .list-faq .title button i::after {
    width: min(14px, 14 / var(--base) * 100vw);
  }
}

.page-privacy .content {
  margin: 0 calc(25 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(25 / var(--base) * 100vw);
}
.page-privacy .content p {
  font-size: min(14px, 14 / var(--base) * 100vw);
}
.page-privacy .content .title {
  margin: calc(35 / var(--base) * 100vw) 0 calc(10 / var(--base) * 100vw) 0;
  font-size: min(14px, 14 / var(--base) * 100vw);
}
.page-privacy .content ol li {
  margin-left: 2em;
  line-height: 1.85;
  list-style-type: dicimal;
  font-size: min(14px, 14 / var(--base) * 100vw);
  line-height: 1.85;
}
.page-privacy .content .alpha li {
  list-style-type: lower-alpha;
  margin-left: 2em;
  line-height: 1.85;
  font-size: min(14px, 14 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .page-privacy .content {
    margin: 0 calc(50 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-privacy .content {
    margin: 0 auto min(80px, 80 / var(--base) * 100vw) auto;
    width: min(980px, 980 / var(--base) * 100vw);
  }
}

.page-access .content {
  margin: 0 calc(37.5 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw);
}
.page-access .para-intro {
  margin: 0 calc(32 / var(--base) * 100vw);
  text-align: center;
}
.page-access .address {
  margin-top: calc(48 / var(--base) * 100vw);
  text-align: center;
}
.page-access .map {
  margin: calc(28 / var(--base) * 100vw) calc(32 / var(--base) * 100vw);
}
.page-access .map .map-inner {
  margin-bottom: calc(11 / var(--base) * 100vw);
  width: 100%;
  height: calc(195 / var(--base) * 100vw);
}
.page-access .map iframe {
  width: 100%;
  height: 100%;
}
.page-access .map p {
  margin-left: auto;
  width: -moz-fit-content;
  width: fit-content;
}
.page-access .map p a {
  display: flex;
  justify-content: end;
  align-items: center;
  font-size: 14px;
  color: var(--color-red);
  text-decoration: none;
  gap: 4px;
}
.page-access .map p a::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M10.75%208.16643H10.25C10.1769%208.16643%2010.117%208.19372%2010.0704%208.24857C10.0234%208.3031%209.99998%208.37298%209.99998%208.45809V11.3748C9.99998%2011.7758%209.87766%2012.1191%209.63289%2012.4047C9.38812%2012.6903%209.0938%2012.8329%208.75003%2012.8329H2.24995C1.90621%2012.8329%201.61191%2012.6903%201.36709%2012.4047C1.12232%2012.1191%200.999951%2011.7759%200.999951%2011.3748V3.79135C0.999951%203.39031%201.12229%203.04709%201.36709%202.76149C1.61191%202.47586%201.90621%202.33313%202.24995%202.33313H7.74989C7.82292%202.33313%207.88285%202.3057%207.92967%202.25108C7.97649%202.19639%207.99988%202.12657%207.99988%202.04143V1.45801C7.99988%201.37302%207.97649%201.30308%207.92967%201.24849C7.88285%201.1938%207.82292%201.1665%207.74989%201.1665H2.24995C1.63022%201.1665%201.10024%201.42324%200.660067%201.93669C0.220059%202.4501%200%203.06841%200%203.79144V11.3749C0%2012.0979%200.220059%2012.7163%200.660094%2013.2295C1.10027%2013.743%201.63025%2013.9999%202.24998%2013.9999H8.75003C9.36974%2013.9999%209.89977%2013.743%2010.3399%2013.2295C10.78%2012.7163%2011.0001%2012.0979%2011.0001%2011.3749V8.45831C11.0001%208.37311%2010.9767%208.30319%2010.9297%208.24857C10.8828%208.19372%2010.8229%208.16643%2010.75%208.16643Z%22%20fill%3D%22%23FF9167%22/%3E%3Cpath%20d%3D%22M13.8516%200.173159C13.7526%200.0576878%2013.6353%200%2013.4999%200H9.49998C9.36458%200%209.24733%200.0576878%209.14844%200.173159C9.04946%200.288567%208.99991%200.4253%208.99991%200.583295C8.99991%200.74129%209.04946%200.878055%209.14844%200.993526L10.5234%202.59768L5.42971%208.54048C5.37756%208.60123%205.35156%208.67114%205.35156%208.75C5.35156%208.82914%205.37764%208.89902%205.42971%208.95978L6.32035%209.99873C6.37242%2010.0595%206.43235%2010.0898%206.50004%2010.0898C6.56774%2010.0898%206.6277%2010.0595%206.67974%209.99873L11.7734%204.05602L13.1485%205.66017C13.2474%205.77564%2013.3646%205.8334%2013.5%205.8334C13.6355%205.8334%2013.7527%205.77564%2013.8517%205.66017C13.9507%205.54473%2014.0001%205.40803%2014.0001%205.25004V0.583295C14.0001%200.425204%2013.9505%200.288567%2013.8516%200.173159Z%22%20fill%3D%22%23FF9167%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 14px;
  height: 14px;
  translate: 0 -1px;
}
.page-access .access {
  font-size: calc(14 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .page-access .content {
    margin: 0 auto min(80px, 80 / var(--base) * 100vw) auto;
    width: min(480px, 480 / var(--base) * 100vw);
  }
  .page-access .map {
    margin: 30px auto;
    width: min(480px, 480 / var(--base) * 100vw);
  }
  .page-access .map .map-inner {
    margin-bottom: min(11px, 11 / var(--base) * 100vw);
    height: min(376px, 376 / var(--base) * 100vw);
  }
  .page-access .access {
    margin: 0 auto;
    width: min(480px, 480 / var(--base) * 100vw);
    font-size: min(16px, 16 / var(--base) * 100vw);
  }
}
.page-contact .content {
  margin: 0 calc(37.5 / var(--base) * 100vw) calc(32 / var(--base) * 100vw) calc(37.5 / var(--base) * 100vw);
}
.page-contact .para-error {
  margin-top: 1em;
  color: var(--color-red);
  font-weight: 700;
  text-align: center;
}
.page-contact .table-contact {
  margin: calc(30 / var(--base) * 100vw) auto;
}
.page-contact .table-contact table,
.page-contact .table-contact tbody,
.page-contact .table-contact tr,
.page-contact .table-contact th,
.page-contact .table-contact td {
  display: block;
  text-align: left;
  font-size: min(14px, 14 / var(--base) * 100vw);
}
.page-contact .table-contact th {
  padding-bottom: min(5px, 5 / var(--base) * 100vw);
}
.page-contact .table-contact td {
  margin-bottom: min(30px, 30 / var(--base) * 100vw);
}
.page-contact .table-contact label {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: min(16px, 16 / var(--base) * 100vw);
}
.page-contact .table-contact .required {
  display: inline-block;
  padding: 0.2em 0.3em;
  line-height: 1;
  font-size: calc(10 / var(--base) * 100vw);
  color: var(--color-orange);
  border-radius: 2px;
  border: 1px solid var(--color-orange);
}
@media screen and (min-width: 768px) {
  .page-contact .content {
    margin: 0 calc(50 / var(--base) * 100vw) calc(32 / var(--base) * 100vw) calc(50 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-contact .content {
    margin: 0 auto min(80px, 80 / var(--base) * 100vw) auto;
  }
  .page-contact .para-intro {
    text-align: center;
  }
  .page-contact .table-contact {
    margin: 40px auto 0 auto;
    width: 600px;
  }
}/*# sourceMappingURL=style.css.map */