:root {
  --color-base: #B9B9B9;
  --color-gray: #E8E6DC;
  --color-txt-gray: #EAE8E4;
  --color-bg-client: #E8E6DC;
  --color-bg-faq: #898372;
  --color-bg-results: #2C2C2C;
  --color-bg-voice: var(--color-white);
  --color-black: rgba(0, 0, 0, 1);
  --color-white: rgba(255, 255, 255, 1);
  --color-text: var(--color-black);
}

:root {
  --fs-12-13: 3.08vw;
  --fs-13-15: 3.33vw;
  --fs-14-15: 3.59vw;
  --fs-14-16: 3.59vw;
  --fs-14-20: 3.59vw;
  --fs-15-15: 3.85vw;
  --fs-17-20: 4.36vw;
  --fs-20-30: 5.13vw;
  --fs-20-23: 5.13vw;
  --fs-25-35: 6.41vw;
  --fs-30-30: 7.69vw;
  --fs-32-45: 8.21vw;
  --fs-32-60: 8.21vw;
  --fs-35-50: 8.97vw;
  --fs-ttl-h3: 12.82vw;
  --fs-ttl-h4: 5.13vw;
  --fs-btn: 2.82vw;
}

@media all and (min-width: 864px) {
  :root {
    --fs-12-13: min(1.02vw, 13px);
    --fs-13-15: min(1.17vw, 15px);
    --fs-14-15: min(1.17vw, 15px);
    --fs-14-16: min(1.25vw, 16px);
    --fs-14-20: min(1.56vw, 20px);
    --fs-15-15: min(1.17vw, 15px);
    --fs-17-20: min(1.56vw, 20px);
    --fs-20-30: min(2.34vw, 30px);
    --fs-20-23: min(1.8vw, 23px);
    --fs-25-35: min(2.73vw, 35px);
    --fs-30-30: min(2.34vw, 30px);
    --fs-32-45: min(3.52vw, 45px);
    --fs-32-60: min(4.69vw, 60px);
    --fs-35-50: min(3.91vw, 50px);
    --fs-ttl-h3: min(4.69vw, 60px);
    --fs-ttl-h4: min(2.34vw, 30px);
    --fs-btn: min(1.17vw, 15px);
  }
}
:root {
  --section-narrow: 94.87%;
  --inner-width: 84.61%;
  --btn-height: 12.82vw;
  --section-radius: 7.69vw;
  --r: 2.56vw;
  --logo-width: 33.33vw;
  --btn-contact-width: 41.03vw;
}

@media all and (min-width: 864px) {
  :root {
    --logo-width: min(13.59vw, 174px);
    --btn-contact-width: min(18.13vw, 232px);
    --inner-width: 84.375%;
    --btn-height: 65px;
    --section-radius: min(2.34vw, 30px);
    --r: min(0.78vw, 10px);
  }
}
/***
    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

html {
  font-size: 100%;
}

:root {
  --vh: 100vh;
}

body {
  overflow-x: hidden;
  overflow-y: visible;
}

body {
  color: var(--color-text);
  background: var(--color-base);
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  overscroll-behavior-y: none;
  touch-action: manipulation;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

a {
  color: #000;
  text-decoration: none;
  text-decoration-thickness: 1px;
}

li {
  list-style: none;
}

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

.textbox {
  text-box: trim-both cap alphabetic;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

h1, .c-btn_contact {
  z-index: 10;
}

.scrolled h1 {
  mix-blend-mode: difference;
}

h1 {
  position: fixed;
  width: var(--logo-width);
  aspect-ratio: 130/22.5;
  top: 5.13vw;
  left: 2.56vw;
}
h1 a {
  display: block;
}

.c-btn_contact {
  position: fixed;
  right: 1.28vw;
  top: 2.56vw;
  width: var(--btn-contact-width);
  --btn-height: 11.54vw;
}

footer#global_footer {
  width: 100%;
  min-height: calc(100dvh + 7.69vw);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  position: relative;
  margin-top: -7.69vw;
}
footer#global_footer .footer_inner {
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer#global_footer hgroup {
  text-align: center;
}
footer#global_footer hgroup h5 {
  color: var(--color-txt-gray);
  font-family: "larken", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -0.02em;
  font-size: var(--fs-32-60);
  letter-spacing: -0.02em;
  line-height: 1.25;
}
footer#global_footer hgroup h5 span {
  display: block;
}
footer#global_footer hgroup p {
  color: var(--color-white);
  font-weight: 700;
  font-size: var(--fs-14-16);
  margin-top: 7.69vw;
  line-height: 1;
}
footer#global_footer .c-btn_wrap {
  margin-top: 11.79vw;
  width: 84.61%;
  margin-inline: auto;
}
footer#global_footer .nav_footer {
  margin-top: 17.95vw;
}
footer#global_footer .nav_footer ul {
  display: flex;
  flex-direction: column;
  row-gap: 1em;
  text-align: center;
}
footer#global_footer .nav_footer ul a {
  color: var(--color-white);
  font-size: var(--fs-15-15);
}
footer#global_footer .c-copy {
  margin-top: 27.18vw;
}
footer#global_footer .c-copy p {
  width: 19.23vw;
  aspect-ratio: 75/21;
  margin-inline: auto;
}

@media all and (min-width: 864px) {
  header#global_header {
    position: fixed;
    top: 0px;
    width: 100%;
    z-index: 10;
  }
  h1 {
    top: min(2.73vw, 35px);
    left: min(4.69vw, 60px);
  }
  .c-btn_contact {
    right: min(0.78vw, 10px);
    top: min(2.34vw, 30px);
    --btn-height: min(3.91vw, 50px);
  }
  footer#global_footer {
    min-height: 720px;
    height: calc(100vh + min(2.34vw, 30px));
    margin-top: max(-2.34vw, -30px);
  }
  footer#global_footer hgroup h5 {
    line-height: 1.16;
  }
  footer#global_footer hgroup p {
    margin-top: min(2.34vw, 30px);
    line-height: 1;
  }
  footer#global_footer .c-btn_wrap {
    margin-top: min(6.88vw, 88px);
    width: 350px;
  }
  footer#global_footer .nav_footer {
    margin-top: min(5.47vw, 70px);
  }
  footer#global_footer .nav_footer ul {
    display: flex;
    flex-direction: column;
    row-gap: 1em;
    text-align: center;
  }
  footer#global_footer .nav_footer ul a {
    color: var(--color-white);
    font-size: var(--fs-15-15);
  }
  footer#global_footer .c-copy {
    margin-top: min(8.2vw, 105px);
  }
  footer#global_footer .c-copy p {
    width: min(7.89vw, 101px);
  }
}
.c-icon {
  position: relative;
  display: block;
}
.c-icon svg {
  width: 100%;
  height: 100%;
  position: abasolute;
  top: 0px;
  left: 0px;
}

a.c-btn {
  display: block;
  height: var(--btn-height);
  position: relative;
}
a.c-btn .inr {
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0px;
  left: 0px;
  align-items: center;
  justify-content: center;
}
a.c-btn span.txt {
  font-size: var(--fs-btn);
  font-weight: 700;
}
a.c-btn.round {
  border-radius: 100vmax;
}
a.c-btn.black {
  background: var(--color-black);
}
a.c-btn.black span.txt {
  color: var(--color-white);
}
a.c-btn.white {
  background: var(--color-white);
}
a.c-btn.white span.txt {
  color: var(--color-black);
}

.s-ttl p.u-ja {
  font-size: var(--fs-13-15);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 5.64vw;
}
.s-ttl h3 {
  font-size: var(--fs-ttl-h3);
  font-family: "larken", sans-serif;
  font-weight: 800;
  font-style: normal;
  letter-spacing: -0.02em;
  line-height: 1.5;
}

.u-pc {
  display: none;
}

.c-list_faq li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 5.13vw;
  --icon-width: 3.85vw;
}
.c-list_faq li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.c-list_faq li button {
  display: block;
  width: 100%;
  cursor: pointer;
  padding: 3.85vw 0 0 0;
}
.c-list_faq li button .inr {
  display: flex;
  position: relative;
  width: 100%;
}
.c-list_faq li button .inr span {
  display: block;
  color: var(--color-white);
}
.c-list_faq li button span.num {
  width: 15.15%;
  font-family: "larken", sans-serif;
  font-weight: 800;
  font-style: normal;
  letter-spacing: -0.02em;
  font-size: var(--fs-20-30);
  line-height: 1;
  position: relative;
  top: 0.2em;
}
.c-list_faq li button span.q {
  width: 74.24%;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-size: var(--fs-17-20);
  line-height: 1.47;
}
.c-list_faq li button span.c-icon_accordion {
  width: var(--icon-width);
  height: var(--icon-width);
  position: absolute;
  top: 0.3em;
  right: 0px;
}
.c-list_faq li button span.c-icon_accordion span.v,
.c-list_faq li button span.c-icon_accordion span.h {
  display: block;
  position: absolute;
  background: var(--color-white);
}
.c-list_faq li button span.c-icon_accordion span.v {
  width: 1px;
  height: 100%;
  left: 50%;
  transform: translate3d(-50%, 0%, 0);
  transition: rotate 0.2s ease;
}
.c-list_faq li button span.c-icon_accordion span.h {
  width: 100%;
  height: 1px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}
.c-list_faq li.is-open button span.c-icon_accordion span.v {
  rotate: 90deg;
}
.c-list_faq li .js-accordion_content {
  height: 0px;
  overflow: hidden;
  transition: height 0.3s ease;
}
.c-list_faq li .js-accordion_content .content_inner {
  padding: 7.18vw 0 0 0;
}
.c-list_faq li .js-accordion_content .content_inner p {
  font-size: var(--fs-14-15);
  line-height: 1.78;
  color: var(--color-white);
}

@media all and (min-width: 864px) {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
  .s-ttl p.u-ja {
    margin-bottom: min(2.34vw, 30px);
  }
  .s-ttl h3 {
    line-height: 1.25;
  }
  .c-list_faq li {
    padding-bottom: min(3.91vw, 50px);
    --icon-width: min(1.17vw, 15px);
  }
  .c-list_faq li button {
    padding: min(3.2vw, 41px) 0 0 0;
  }
  .c-list_faq li button span.num {
    width: 23.14%;
    top: 0.05em;
  }
  .c-list_faq li button span.q {
    width: 68.98%;
    line-height: 1.47;
  }
  .c-list_faq li button span.c-icon_accordion {
    top: 0.3em;
    right: 0px;
  }
  .c-list_faq li .js-accordion_content .content_inner {
    width: 77.1%;
    padding: min(3.28vw, 42px) 0 0 23.14%;
  }
  .c-list_faq li .js-accordion_content .content_inner p {
    line-height: 1.78;
  }
}

/*# sourceMappingURL=common.css.map */
