@charset "UTF-8";
body {
  font-family: "Shippori Mincho", serif;
  color: #525252;
  background-color: #fff;
}

.u-mobile {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-mobile {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .u-desktop {
    display: none !important;
  }
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}
@media (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.8;
}

main {
  margin-top: 100px;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  main {
    margin-top: 0;
  }
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

.title {
  font-family: "Jost", sans-serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.45;
  letter-spacing: 0.05em;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .title {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}

.title span {
  font-family: "Shippori Mincho", serif;
  font-size: 27px;
  font-size: 1.6875rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-left: 30.38px;
  margin-left: 1.89875rem;
}
@media screen and (max-width: 768px) {
  .title span {
    font-size: 0.8125rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-left: 0.75rem;
  }
}

.footer {
  padding: 92.45px 0 94px;
  padding: 5.778125rem 0 5.875rem;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 4.375rem 0 2.125rem;
  }
}

.footer__page-top {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer__page-top {
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 2.3125rem;
    width: 100%;
    height: 2.3125rem;
    background-color: #A3B4BB;
    z-index: 10;
    position: fixed;
    bottom: 6.625rem;
    right: 0;
  }
}

.footer__page-top--img {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer__page-top--img {
    max-width: 0.9375rem;
    width: 100%;
    display: block;
  }
}

.footer__inner {
  max-width: 945px;
  max-width: 59.0625rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    max-width: 22.875rem;
    padding: 0 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .footer__logo-area {
    padding-left: 0.5625rem;
    max-width: 11rem;
    width: 100%;
  }
}

.footer__logo {
  max-width: 232px;
  max-width: 14.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    max-width: 10.4375rem;
  }
}

.footer__copyright {
  margin-top: 2px;
  margin-top: 0.125rem;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    margin-top: 0;
  }
}

.footer__copyright p small {
  font-family: "Jost", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  letter-spacing: 0em;
  font-weight: 400;
}

.footer__link-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  max-width: 111px;
  max-width: 6.9375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__link-area {
    -webkit-column-gap: 0.75rem;
       -moz-column-gap: 0.75rem;
            column-gap: 0.75rem;
    max-width: 5.0625rem;
  }
}

.footer__link a {
  max-width: 47px;
  max-width: 2.9375rem;
  width: 100%;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .footer__link a {
    max-width: 2.125rem;
  }
}

.layout-header {
  position: fixed;
  z-index: 900;
  top: 0;
  right: 0;
  left: 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .layout-header {
    position: static;
    position: initial;
  }
}

.layout-header.hidden {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.header {
  height: 100px;
  height: 6.25rem;
  background-color: #fff;
  border-bottom: 2px solid #7D7D7D;
}
@media screen and (max-width: 768px) {
  .header {
    height: 4.3125rem;
    border-bottom: none;
  }
}

.header__inner {
  padding: 11px 25px;
  padding: 0.6875rem 1.5625rem;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1268px;
  max-width: 79.25rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 0 1.375rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.header__logo {
  max-width: 283px;
  max-width: 17.6875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .header__logo {
    max-width: 11.8125rem;
  }
}

.header__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

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

.header__link-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.9375rem;
     -moz-column-gap: 1.9375rem;
          column-gap: 1.9375rem;
  max-width: 331px;
  max-width: 20.6875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .header__link-wrapper {
    display: none;
  }
}

.header__link {
  max-width: 150px;
  max-width: 9.375rem;
  width: 100%;
}

.header__link a {
  border: 1px solid #525252;
  padding: 11px 0;
  padding: 0.6875rem 0;
  max-width: 150px;
  max-width: 9.375rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.125rem;
     -moz-column-gap: 0.125rem;
          column-gap: 0.125rem;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.4705882353;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.header__link-web span.header__link-icon {
  max-width: 18px;
  max-width: 1.125rem;
  width: 100%;
}

.header__link-tel span.header__link-icon {
  max-width: 23.12px;
  max-width: 1.445rem;
  width: 100%;
}

.inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1268px;
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 600px;
  }
}

/* fv */
.fv {
  position: relative;
}

.fv__title-area {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 252.28px;
  bottom: 15.7675rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .fv__title-area {
    bottom: 12.875rem;
  }
}

.fv__title {
  background-image: url(../images/fv_title_bg_pc.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 973.11px;
  width: 60.819375rem;
  height: 108px;
  height: 6.75rem;
  color: #fff;
  font-size: 64.76px;
  font-size: 4.0475rem;
  line-height: 1.6676961087;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: inline-block;
  padding-left: 47.61px;
  padding-left: 2.975625rem;
  text-shadow: 0 0 13.49px rgba(255, 255, 255, .5);
  text-shadow: 0 0 0.843125rem rgba(255, 255, 255, .5);
}
@media screen and (max-width: 768px) {
  .fv__title {
    background-image: url(../images/fv_title_bg_sp.png);
    width: 22.22125rem;
    height: 2.5rem;
    font-size: 1.47875rem;
    line-height: 1.6652578191;
    letter-spacing: 0.1em;
    font-weight: 500;
    padding-left: 1.07125rem;
    text-shadow: 0 0 0.308125rem rgba(255, 255, 255, .5);
  }
}

.fv__link-wrapper {
  display: none;
}
@media screen and (max-width: 768px) {
  .fv__link-wrapper {
    margin-top: 2.075625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 1.9375rem;
       -moz-column-gap: 1.9375rem;
            column-gap: 1.9375rem;
    max-width: 20.6875rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: fixed;
    z-index: 900;
    bottom: 2.3125rem;
    right: 0;
    left: 0;
    -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  }
}

@media screen and (max-width: 768px) {
  .fv__link-wrapper.hidden {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@media screen and (max-width: 768px) {
  .fv__link {
    max-width: 9.375rem;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .fv__link a {
    border: 1px solid #525252;
    background-color: #fff;
    padding: 0.6875rem 0;
    max-width: 9.375rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 0.125rem;
       -moz-column-gap: 0.125rem;
            column-gap: 0.125rem;
    font-size: 1.0625rem;
    line-height: 1.4705882353;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .fv__link-web span.fv__link-icon {
    max-width: 1.125rem;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .fv__link-tel span.fv__link-icon {
    max-width: 1.445rem;
    width: 100%;
  }
}

/* close */
.close {
  position: relative;
}

.close__text {
  position: absolute;
  left: calc(50% - 37.9375rem);
  top: 40%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .close__text {
    left: 1.375rem;
    top: auto;
    top: initial;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    bottom: 7.625rem;
  }
}

.close__text p {
  font-size: 35px;
  font-size: 2.1875rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .close__text p {
    font-size: 1.5625rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}

/* about */
.about {
  padding: 141px 0 134px;
  padding: 8.8125rem 0 8.375rem;
}
@media screen and (max-width: 768px) {
  .about {
    padding: 2.625rem 0 2.5625rem;
  }
}

.about__inner {
  max-width: 1267px;
  max-width: 79.1875rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4.375rem;
     -moz-column-gap: 4.375rem;
          column-gap: 4.375rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .about__inner {
    max-width: 37.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 3.125rem;
    padding: 0;
  }
}

.about__text {
  max-width: 526px;
  max-width: 32.875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .about__text {
    max-width: 37.5rem;
    padding: 0 1.5rem;
  }
}

.about__text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.about__img {
  max-width: 621px;
  max-width: 38.8125rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .about__img {
    max-width: 37.5rem;
  }
}

/* message */
.message {
  padding: 89px 0 103px;
  padding: 5.5625rem 0 6.4375rem;
  background-image: url(../images/message_bg_pc.png);
  background-size: 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .message {
    padding: 4.3125rem 0 1.8125rem;
    background-image: url(../images/message_bg_sp.png);
  }
}

.message__inner {
  max-width: 1267px;
  max-width: 79.1875rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .message__inner {
    max-width: 37.5rem;
    padding: 0 1.3125rem;
  }
}

.message__container {
  margin-top: 61px;
  margin-top: 3.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 6.4375rem;
     -moz-column-gap: 6.4375rem;
          column-gap: 6.4375rem;
}
@media screen and (max-width: 768px) {
  .message__container {
    margin-top: 1.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.875rem;
  }
}

.message__wrapper {
  max-width: 359px;
  max-width: 22.4375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .message__wrapper {
    max-width: 19.6875rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.message__img {
  max-width: 359px;
  max-width: 22.4375rem;
  width: 100%;
  margin-top: 14px;
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .message__img {
    max-width: 19.6875rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
  }
}

.message__img img {
  aspect-ratio: 359/247;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .message__img img {
    aspect-ratio: 315/193;
    -o-object-position: top;
       object-position: top;
  }
}

.message__profile {
  margin-top: 35px;
  margin-top: 2.1875rem;
  margin-left: 23px;
  margin-left: 1.4375rem;
}
@media screen and (max-width: 768px) {
  .message__profile {
    margin-top: 0.8125rem;
    margin-left: 0.4375rem;
  }
}

.message__profile-position {
  font-family: "Jost", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  letter-spacing: 0.05em;
  font-weight: 300;
}

.message__profile-name {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  margin-top: 7px;
  margin-top: 0.4375rem;
}

.message__profile-name span {
  font-family: "Jost", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  letter-spacing: 0.05em;
  font-weight: 300;
  margin-left: 10px;
  margin-left: 0.625rem;
}

.message__profile-work {
  margin-top: 7px;
  margin-top: 0.4375rem;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.message__text {
  max-width: 555px;
  max-width: 34.6875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .message__text {
    max-width: 37.5rem;
    padding-right: 0.375rem;
  }
}

.message__text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-weight: 500;
}

/* whitening */
.whitening {
  padding: 110px 0 89px;
  padding: 6.875rem 0 5.5625rem;
}
@media screen and (max-width: 768px) {
  .whitening {
    padding: 2.8125rem 0 2.75rem;
  }
}

.whitening__inner {
  max-width: 1263px;
  max-width: 78.9375rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .whitening__inner {
    max-width: 37.5rem;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .whitening__title {
    padding-left: 2.1875rem;
  }
}

.whitening__top {
  margin-top: 50px;
  margin-top: 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .whitening__top {
    margin-top: 1.875rem;
    position: static;
    position: initial;
  }
}

.whitening__top-text {
  font-size: 35px;
  font-size: 2.1875rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: absolute;
  left: 28px;
  left: 1.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .whitening__top-text {
    padding: 0 1.0625rem 0 1.875rem;
    font-size: 1.5625rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 700;
    position: static;
    position: initial;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
  }
}

.whitening__top-img {
  max-width: 863px;
  max-width: 53.9375rem;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .whitening__top-img {
    max-width: 18.125rem;
    margin-right: auto;
    margin-top: 1.875rem;
  }
}

.whitening__container {
  margin-top: 50px;
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .whitening__container {
    margin-top: 1.875rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.875rem;
  }
}

.whitening__text {
  max-width: 579px;
  max-width: 36.1875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .whitening__text {
    max-width: 37.5rem;
    padding: 0 1.5rem;
  }
}

.whitening__text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.whitening__price {
  max-width: 571px;
  max-width: 35.6875rem;
  width: 100%;
  border-top: 1px solid #A3B4BB;
  padding-top: 55px;
  padding-top: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .whitening__price {
    padding-top: 1.875rem;
    max-width: 20.4375rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 768px) {
  .whitening__price-title {
    margin-left: 0.6875rem;
  }
}

.whitening__price-text {
  margin-top: 30px;
  margin-top: 1.875rem;
  margin-left: 4px;
  margin-left: 0.25rem;
  max-width: 378px;
  max-width: 23.625rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .whitening__price-text {
    margin-top: 0.875rem;
    margin-left: 0.6875rem;
    max-width: 19.25rem;
  }
}

.whitening__price-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.whitening__price-text p:nth-child(n+2) {
  color: #11A3C3;
  margin-top: 7px;
  margin-top: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .whitening__price-text p:nth-child(n+2) {
    margin-top: 1.1875rem;
  }
}

.whitening__price-text p span {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Jost", sans-serif;
}

.whitening__bottom-text {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .whitening__bottom-text {
    margin-top: 3.25rem;
    padding: 0 1.15625rem;
  }
}

.whitening__bottom-text p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 2.0833333333;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .whitening__bottom-text p {
    font-size: 1.125rem;
    line-height: 2.2222222222;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}

/* exosome */
.exosome {
  padding: 104px 0 60px;
  padding: 6.5rem 0 3.75rem;
  background-image: url(../images/exosome_bg_pc.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .exosome {
    padding: 1.875rem 0 2.8125rem;
    background-image: url(../images/exosome_bg_sp.jpg);
  }
}

.exosome__inner {
  max-width: 1263px;
  max-width: 78.9375rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .exosome__inner {
    max-width: 37.5rem;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .exosome__title {
    padding-left: 2.1875rem;
  }
}

.exosome__top {
  margin-top: 50px;
  margin-top: 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .exosome__top {
    margin-top: 0.875rem;
    position: static;
    position: initial;
  }
}

.exosome__top-text {
  font-size: 35px;
  font-size: 2.1875rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: absolute;
  left: 28px;
  left: 1.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .exosome__top-text {
    padding: 0 1.0625rem 0 2.1875rem;
    font-size: 1.5625rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 700;
    position: static;
    position: initial;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
  }
}

.exosome__top-img {
  max-width: 863px;
  max-width: 53.9375rem;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .exosome__top-img {
    max-width: 18.125rem;
    margin-right: auto;
    margin-top: 1.875rem;
  }
}

.exosome__container {
  margin-top: 80px;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .exosome__container {
    margin-top: 1.3125rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.875rem;
  }
}

.exosome__text {
  max-width: 580px;
  max-width: 36.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .exosome__text {
    max-width: 37.5rem;
    padding: 0 1.5rem;
  }
}

.exosome__text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.exosome__price {
  max-width: 571px;
  max-width: 35.6875rem;
  width: 100%;
  border-top: 1px solid #A3B4BB;
  padding-top: 30px;
  padding-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .exosome__price {
    max-width: 20.4375rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 768px) {
  .exosome__price-title {
    margin-left: 0.625rem;
  }
}

.exosome__price-text {
  margin-top: 30px;
  margin-top: 1.875rem;
  max-width: 308px;
  max-width: 19.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .exosome__price-text {
    margin-top: 0.875rem;
    margin-left: 0.625rem;
  }
}

.exosome__price-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.exosome__price-text p:nth-child(n+2) {
  margin-top: 7px;
  margin-top: 0.4375rem;
}

.exosome__price-text p:nth-child(2),
.exosome__price-text p:nth-child(4) {
  color: #11A3C3;
}

.exosome__price-text p span {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Jost", sans-serif;
}

.exosome__price-bottom {
  margin-top: 14px;
  margin-top: 0.875rem;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .exosome__price-bottom {
    margin-left: 0.625rem;
  }
}

.exosome__bottom-text {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .exosome__bottom-text {
    margin-top: 2.5rem;
    padding: 0 1.15625rem;
  }
}

.exosome__bottom-text p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .exosome__bottom-text p {
    font-size: 1.125rem;
    line-height: 2.2222222222;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}

/* faq */
.faq {
  padding-top: 67px;
  padding-top: 4.1875rem;
}
@media screen and (max-width: 768px) {
  .faq {
    padding-top: 3.0625rem;
  }
}

.faq__inner {
  max-width: 1194px;
  max-width: 74.625rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .faq__inner {
    max-width: 37.5rem;
    padding: 0 2.15625rem;
  }
}

.faq__title {
  margin-left: -37px;
  margin-left: -2.3125rem;
}
@media screen and (max-width: 768px) {
  .faq__title {
    margin-left: 0;
  }
}

.faq__items {
  margin-top: 50px;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .faq__items {
    margin-top: 1.0625rem;
  }
}

.faq__item:nth-child(n+2) {
  margin-top: 70px;
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .faq__item:nth-child(n+2) {
    margin-top: 3.125rem;
  }
}

.faq__item-question {
  padding: 22px 42.4px;
  padding: 1.375rem 2.65rem;
  border-top: 1.7px solid #7D7D7D;
  border-bottom: 1.7px solid #7D7D7D;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 2.3181818182;
  letter-spacing: 0em;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .faq__item-question {
    padding: 0.5rem 1.5625rem;
    border-top: 1px solid #525252;
    border-bottom: 1px solid #525252;
    font-size: 0.8125rem;
    line-height: 2.3076923077;
    letter-spacing: 0em;
    font-weight: 500;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.faq__item-question span {
  font-family: "Jost", sans-serif;
  color: #11A3C3;
  font-size: 33.92px;
  font-size: 2.12rem;
  line-height: 1.4445754717;
  letter-spacing: 0em;
  font-weight: 400;
  margin-right: 42.54px;
  margin-right: 2.65875rem;
}
@media screen and (max-width: 768px) {
  .faq__item-question span {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0em;
    font-weight: 400;
    margin-right: 1.5625rem;
    margin-top: 0.3125rem;
  }
}

.faq__item-answer {
  padding: 13px 48.15px 0 14px;
  padding: 0.8125rem 3.009375rem 0 0.875rem;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 2.3181818182;
  letter-spacing: 0em;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .faq__item-answer {
    padding: 0.5rem 1.5625rem 0 0.5rem;
    font-size: 0.8125rem;
    line-height: 2.3076923077;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .faq__item-answer span.small {
    font-size: 0.75rem;
    line-height: 2.5;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.faq__item-answer span.en {
  font-family: "Jost", sans-serif;
  font-size: 33.92px;
  font-size: 2.12rem;
  line-height: 1.4445754717;
  letter-spacing: 0em;
  font-weight: 400;
  margin-left: 33.85px;
  margin-left: 2.115625rem;
}
@media screen and (max-width: 768px) {
  .faq__item-answer span.en {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0em;
    font-weight: 400;
    margin-left: 0.75rem;
  }
}

/* contact */
.contact {
  padding-top: 160px;
  padding-top: 10rem;
}
@media screen and (max-width: 768px) {
  .contact {
    padding-top: 3.75rem;
    padding-left: 1.8125rem;
    max-width: 37.5rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.contact__title {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .contact__title {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.contact__items {
  margin-top: 50px;
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4.866875rem;
     -moz-column-gap: 4.866875rem;
          column-gap: 4.866875rem;
}
@media screen and (max-width: 768px) {
  .contact__items {
    margin-top: 1.5625rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.75rem;
  }
}

.contact__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .contact__item {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (max-width: 768px) {
  .contact__item hr {
    width: 10.1875rem;
    border-top: 1px solid #525252;
    margin-left: 0.375rem;
    margin-right: 0;
  }
}

.contact__item.tel {
  max-width: 295px;
  max-width: 18.4375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__item.tel {
    max-width: none;
    max-width: initial;
  }
}

.contact__item.web {
  max-width: 281px;
  max-width: 17.5625rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__item.web {
    max-width: none;
    max-width: initial;
  }
}

.contact__item-icon.tel {
  max-width: 68.55px;
  max-width: 4.284375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__item-icon.tel {
    max-width: 2.625rem;
  }
}

.contact__item-icon.web {
  max-width: 42.44px;
  max-width: 2.6525rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__item-icon.web {
    max-width: 1.625rem;
  }
}

.contact__item-text.tel {
  font-family: "Jost", sans-serif;
  font-size: 32.64px;
  font-size: 2.04rem;
  line-height: 1.4399509804;
  letter-spacing: 0.05em;
  font-weight: 300;
  margin-left: 6.53px;
  margin-left: 0.408125rem;
}
@media screen and (max-width: 768px) {
  .contact__item-text.tel {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.045em;
    font-weight: 300;
    margin-left: 0.25rem;
  }
}

.contact__item-text.web {
  font-family: "Jost", sans-serif;
  font-size: 26.11px;
  font-size: 1.631875rem;
  line-height: 1.45538108;
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-left: 14.69px;
  margin-left: 0.918125rem;
}
@media screen and (max-width: 768px) {
  .contact__item-text.web {
    margin-left: 0.5625rem;
    font-size: 1rem;
    line-height: 1.4375;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}

/* info */
.info {
  padding-top: 171.45px;
  padding-top: 10.715625rem;
}
@media screen and (max-width: 768px) {
  .info {
    padding-top: 5.6875rem;
  }
}

.info__inner {
  max-width: 1264px;
  max-width: 79rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .info__inner {
    max-width: 37.5rem;
    padding: 0 2.1875rem;
  }
}

.info__container {
  margin-top: 90px;
  margin-top: 5.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 2.531875rem;
     -moz-column-gap: 2.531875rem;
          column-gap: 2.531875rem;
}
@media screen and (max-width: 768px) {
  .info__container {
    margin-top: 1.125rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.3125rem;
  }
}

.info__img {
  max-width: 741.5px;
  max-width: 46.34375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .info__img {
    max-width: 17.5625rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.info__text-wrapper {
  font-family: "Jost", sans-serif;
}

.info__text-title {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.info__text-title.open {
  margin-top: 19px;
  margin-top: 1.1875rem;
}

.info__text {
  margin-top: 4px;
  margin-top: 0.25rem;
}

.info__text.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.8125rem;
     -moz-column-gap: 1.8125rem;
          column-gap: 1.8125rem;
}

.info__text p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0em;
  font-weight: 400;
}

/* access */
.access {
  padding-top: 110.27px;
  padding-top: 6.891875rem;
}
@media screen and (max-width: 768px) {
  .access {
    padding-top: 3.75rem;
  }
}

.access__inner {
  max-width: 1264px;
  max-width: 79rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 768px) {
  .access__inner {
    max-width: 37.5rem;
    padding: 0 2.1875rem;
  }
}

.access__container {
  margin-top: 50px;
  margin-top: 3.125rem;
  max-width: 890px;
  max-width: 55.625rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .access__container {
    margin-top: 1.125rem;
    max-width: 37.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.3125rem;
  }
}

.access__item {
  font-family: "Jost", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}

.access__item span {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0em;
  font-weight: 400;
}

.access__item:nth-child(n+2) {
  margin-top: 14px;
  margin-top: 0.875rem;
}

.access__bottom {
  margin-top: 3px;
  margin-top: 0.1875rem;
  font-family: "Jost", sans-serif;
}

.access__bottom p {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  letter-spacing: 0em;
  font-weight: 400;
  white-space: nowrap;
}

.access__map {
  max-width: 400px;
  max-width: 25rem;
  width: 100%;
}

.access__map iframe {
  max-width: 400px;
  max-width: 25rem;
  width: 100%;
  height: 250px;
  height: 15.625rem;
}

/* contact-bottom */
.contact-bottom {
  padding-top: 96px;
  padding-top: 6rem;
}
@media screen and (max-width: 768px) {
  .contact-bottom {
    max-width: 37.5rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 3.75rem;
    padding-left: 1.8125rem;
  }
}
/*# sourceMappingURL=styles.css.map */
