@charset "UTF-8";
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansJP-Black.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSerifJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSerifJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSerifJP-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSerifJP-Black.woff") format("woff");
  font-display: swap;
}
body {
  font-size: 16px;
  font-weight: 500;
  font-family: "NotoSansJP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
@media screen and (max-width: 1150px) {
  body {
    font-size: 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.7333333333vw;
  }
}

.sec__inner {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1150px) {
  .sec__inner {
    width: 95.8387516255vw;
  }
}
@media screen and (max-width: 768px) {
  .sec__inner {
    width: calc(100% - 10.6666666667vw);
  }
}

img {
  height: auto;
  display: block;
}

.mincho {
  font-family: "NotoSerifJP", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ＭＳ 明朝", serif;
}

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

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

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.title__basic {
  color: #7c5b3f;
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0 20px;
  margin: 0 auto 40px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .title__basic {
    gap: 1.3940182055vw 0;
    padding: 0 0 1.7425227568vw;
    margin: 0 auto 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .title__basic {
    gap: 2.6666666667vw 0;
    padding: 0 0 4.8vw;
    margin: 0 auto 10.6666666667vw;
  }
}
.title__basic::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #7c5b3f;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .title__basic::after {
    width: 5.2275682705vw;
    height: 0.0871261378vw;
  }
}
@media screen and (max-width: 768px) {
  .title__basic::after {
    width: 16vw;
    height: 0.2666666667vw;
  }
}
.title__basic .en {
  font-size: 20px;
  font-weight: 400;
}
@media screen and (max-width: 1150px) {
  .title__basic .en {
    font-size: 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .title__basic .en {
    font-size: 4.2666666667vw;
  }
}
.title__basic .ja {
  font-size: 35px;
  font-weight: 500;
}
@media screen and (max-width: 1150px) {
  .title__basic .ja {
    font-size: 3.0494148244vw;
  }
}
@media screen and (max-width: 768px) {
  .title__basic .ja {
    font-size: 6.6666666667vw;
    line-height: 9.6vw;
    text-align: center;
  }
}

.title__line {
  font-size: 25px;
  font-weight: 500;
  text-align: center;
  margin: 0 auto 24px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1150px) {
  .title__line {
    font-size: 2.178153446vw;
    margin: 0 auto 2.0910273082vw;
    background: unset;
  }
}
@media screen and (max-width: 768px) {
  .title__line {
    font-size: 5.3333333333vw;
    margin: 0 auto 8.5333333333vw;
  }
}
.title__line span {
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1150px) {
  .title__line span {
    padding: 0 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .title__line span {
    padding: 0 4.2666666667vw;
    text-align: center;
    display: inline-block;
    line-height: 7.7333333333vw;
  }
}
.title__line span::before, .title__line span::after {
  content: "";
  width: 100px;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100px;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .title__line span::before, .title__line span::after {
    width: 8.7126137841vw;
    height: 0.0871261378vw;
    left: -8.7126137841vw;
  }
}
@media screen and (max-width: 768px) {
  .title__line span::before, .title__line span::after {
    width: 13.3333333333vw;
    height: 0.2666666667vw;
    left: -13.3333333333vw;
  }
}
.title__line span::after {
  left: unset;
  right: -100px;
}
@media screen and (max-width: 1150px) {
  .title__line span::after {
    right: -8.7126137841vw;
  }
}
@media screen and (max-width: 768px) {
  .title__line span::after {
    right: -13.3333333333vw;
  }
}
.title__line--green {
  color: #29ba9c;
}
.title__line--green span::before, .title__line--green span::after {
  background: #29ba9c;
}
.title__line--brown {
  color: #7c5b3f;
}
.title__line--brown span::before, .title__line--brown span::after {
  background: #7c5b3f;
}

.bg__texture--stone {
  background: url(../images/bg_texture_stone_01.jpg) top center/cover repeat-y;
}

.trial__banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
}
.trial__banner img{
  width: 100%;
}
@media screen and (max-width: 768px) {
  .trial__banner {
    flex-wrap: wrap;
  }
}
header {
  background: #fff;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  height: 81px;
}
@media screen and (max-width: 1150px) {
  header {
    height: 7.0572171651vw;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 16vw;
  }
}

.gnav {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .gnav {
    position: fixed;
    flex-direction: column;
    background: #fff;
    width: 100%;
    height: 100vh;
    top: -100vh;
    left: 0;
    transition: 0.7s ease;
  }
}
.gnav ul {
  display: flex;
  gap: 0 24px;
  justify-content: center;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 1150px) {
  .gnav ul {
    gap: 0 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .gnav ul {
    flex-direction: column;
    gap: 6.4vw 0;
  }
}
.gnav ul li {
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  line-height: 20px;
  color: #7c5b3f;
}
@media screen and (max-width: 1150px) {
  .gnav ul li {
    font-size: 1.1326397919vw;
    line-height: 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .gnav ul li {
    font-size: 4.2666666667vw;
    line-height: 6.4vw;
  }
}
.gnav ul li img {
  width: 200px;
}
@media screen and (max-width: 1150px) {
  .gnav ul li img {
    width: 17.4252275683vw;
  }
}
@media screen and (max-width: 768px) {
  .gnav ul li img {
    width: 53.3333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .gnav__btn {
    width: 12.8vw;
    height: 7.4666666667vw;
    position: fixed;
    right: 5.3333333333vw;
    top: 4.5333333333vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 10000;
  }
}
@media screen and (max-width: 768px) {
  .gnav__btn span {
    width: 100%;
    height: 0.8vw;
    border-radius: 0.8vw;
    background: #7c5b3f;
    scale: 1 1;
    transition: 0.4s 0.4s ease;
  }
}
@media screen and (max-width: 768px) {
  .gnav__btn span:nth-of-type(4) {
    position: absolute;
    inset: 0;
    margin: auto;
    rotate: 45deg;
    scale: 0 1;
    transition: 0.4s ease;
  }
}
@media screen and (max-width: 768px) {
  .gnav__btn span:nth-of-type(5) {
    position: absolute;
    inset: 0;
    margin: auto;
    rotate: -45deg;
    scale: 0 1;
    transition: 0.4s ease;
  }
}

#gnav__btn {
  display: none;
}
@media screen and (max-width: 768px) {
  #gnav__btn:checked ~ .gnav__btn span:nth-of-type(1), #gnav__btn:checked ~ .gnav__btn span:nth-of-type(2), #gnav__btn:checked ~ .gnav__btn span:nth-of-type(3) {
    scale: 0 1;
    transition: 0.4s ease;
  }
}
#gnav__btn:checked ~ .gnav__btn span:nth-of-type(4), #gnav__btn:checked ~ .gnav__btn span:nth-of-type(5) {
  scale: 1 1;
  transition: 0.4s 0.4s ease;
}
#gnav__btn:checked ~ .gnav {
  top: 0;
}

.kv {
  background: url(../images/img_kv_01@2x.jpg) top center/cover no-repeat;
  max-width: 1366px;
  width: 100%;
  padding: 0 0 40px;
  margin: 0 auto;
}
@media screen and (max-width: 1150px) {
  .kv {
    padding: 0 0 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .kv {
    background: url(../images/img_kv_01_sp@2x.jpg) top center/100% no-repeat;
    padding: 0 0 5.3333333333vw;
  }
}
.kv .sec__inner {
  position: relative;
}

.kv__upper {
  width: 410px;
  padding: 67px 0 0;
  margin: 0 155px 175px auto;
}
@media screen and (max-width: 1150px) {
  .kv__upper {
    width: 35.721716515vw;
    padding: 5.8374512354vw 0 0;
    margin: 0 13.5045513654vw 15.2470741222vw auto;
  }
}
@media screen and (max-width: 768px) {
  .kv__upper {
    width: unset;
    padding: 6.9333333333vw 0 0;
    margin: 0 auto 69.3333333333vw;
  }
}

.kv__text {
  font-size: 39px;
  font-weight: 400;
  line-height: 65px;
  color: #7c5b3f;
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff);
  position: relative;
  padding: 0 0 16px;
  margin: 0 auto 8px;
}
@media screen and (max-width: 1150px) {
  .kv__text {
    font-size: 3.3979193758vw;
    line-height: 5.6631989597vw;
    filter: drop-shadow(0 0 0.1742522757vw #fff) drop-shadow(0 0 0.1742522757vw #fff) drop-shadow(0 0 0.1742522757vw #fff) drop-shadow(0 0 0.1742522757vw #fff);
    padding: 0 0 1.3940182055vw;
    margin: 0 auto 0.6970091027vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__text {
    font-size: 5.3333333333vw;
    line-height: 9.3333333333vw;
    filter: drop-shadow(0 0 0.5333333333vw #fff) drop-shadow(0 0 0.5333333333vw #fff) drop-shadow(0 0 0.5333333333vw #fff) drop-shadow(0 0 0.5333333333vw #fff);
    padding: 0 0 2.1333333333vw;
    margin: 0 0 1.0666666667vw;
    width: 64vw;
  }
}
.kv__text::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #baa88f;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1150px) {
  .kv__text::after {
    height: 0.0871261378vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__text::after {
    height: 0.2666666667vw;
  }
}
.kv__text span {
  font-size: 45px;
}
@media screen and (max-width: 1150px) {
  .kv__text span {
    font-size: 3.9206762029vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__text span {
    font-size: 6.4vw;
  }
}
.kv__text + h1 {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  margin: 0 auto 24px;
}
@media screen and (max-width: 1150px) {
  .kv__text + h1 {
    gap: 1.3940182055vw 0;
    margin: 0 auto 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__text + h1 {
    gap: 2.1333333333vw;
    margin: 0 auto 2.1333333333vw;
  }
}
.kv__text + h1 span:first-of-type {
  font-size: 71px;
  font-weight: 400;
  background: linear-gradient(180deg, rgb(74, 230, 201) 0%, rgb(41, 183, 156) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);
}
@media screen and (max-width: 1150px) {
  .kv__text + h1 span:first-of-type {
    font-size: 6.1859557867vw;
    filter: drop-shadow(0 0 0.0871261378vw #fff) drop-shadow(0 0 0.0871261378vw #fff) drop-shadow(0 0 0.0871261378vw #fff) drop-shadow(0 0 0.0871261378vw #fff);
  }
}
@media screen and (max-width: 768px) {
  .kv__text + h1 span:first-of-type {
    font-size: 13.3333333333vw;
    filter: drop-shadow(0 0 0.2666666667vw #fff) drop-shadow(0 0 0.2666666667vw #fff) drop-shadow(0 0 0.2666666667vw #fff) drop-shadow(0 0 0.2666666667vw #fff);
  }
}
.kv__text + h1 span:last-of-type {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 3px;
  color: #7c5b3f;
}
@media screen and (max-width: 1150px) {
  .kv__text + h1 span:last-of-type {
    font-size: 1.8296488947vw;
    letter-spacing: 0.2613784135vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__text + h1 span:last-of-type {
    font-size: 3.4666666667vw;
    letter-spacing: 0.2666666667vw;
  }
}

.kv__list {
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 1150px) {
  .kv__list {
    gap: 0.6970091027vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__list {
    gap: 1.3333333333vw;
    flex-wrap: wrap;
    margin: 0 auto;
  }
}
.kv__list li {
  font-size: 16px;
  color: #fff;
  background: linear-gradient(124deg, rgb(185, 169, 143) 0%, rgb(152, 121, 72) 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 24px;
  border: 1px solid #fff;
  border-radius: 20px;
}
@media screen and (max-width: 1150px) {
  .kv__list li {
    font-size: 1.3940182055vw;
    padding: 0.6970091027vw 2.0910273082vw;
    border-width: 0.0871261378vw;
    border-radius: 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__list li {
    font-size: 2.9333333333vw;
    padding: 2.1333333333vw 6.1333333333vw;
    border-width: 0.2666666667vw;
    border-radius: 5.3333333333vw;
  }
}

.recommend {
  padding: 0 0 24px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1150px) {
  .recommend {
    padding: 0 0 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend {
    padding: 19.4666666667vw 0 9.6vw;
  }
}
.recommend::after {
  content: "";
  width: 100%;
  height: 282px;
  background: #fff;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 1150px) {
  .recommend::after {
    height: 18.2093628088vw;
    box-shadow: 0 0 3.4850455137vw rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .recommend::after {
    height: 90.9333333333vw;
    box-shadow: 0 0 10.6666666667vw rgba(0, 0, 0, 0.1);
  }
}

.recommend__wrapper {
  display: flex;
  align-items: flex-end;
  gap: 0 30px;
}
@media screen and (max-width: 1150px) {
  .recommend__wrapper {
    gap: 0 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__wrapper {
    flex-direction: column;
    gap: 8vw 0;
    align-items: center;
  }
}
.recommend__wrapper + p {
  font-size: 35px;
  text-align: center;
  color: #29ba9c;
  line-height: 66px;
  border: 2px solid #29ba9c;
  border-radius: 66px;
  margin: 12px 0 0;
}
@media screen and (max-width: 1150px) {
  .recommend__wrapper + p {
    font-size: 3.0494148244vw;
    line-height: 5.7503250975vw;
    border-width: 0.1742522757vw;
    border-radius: 5.7503250975vw;
    margin: 1.0455136541vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .recommend__wrapper + p {
    font-size: 6.9333333333vw;
    line-height: 8vw;
    padding: 0.8vw 0 2.6666666667vw;
    border-width: 0.5333333333vw;
    border-radius: 16vw;
    margin: 5.3333333333vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .recommend__wrapper + p span {
    font-size: 5.3333333333vw;
  }
}

.recommend__image {
  width: 304px;
}
@media screen and (max-width: 1150px) {
  .recommend__image {
    width: 26.4863459038vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__image {
    width: 61.8666666667vw;
    margin: 0 0 0 -7.2vw;
  }
}

.recommend__right {
  margin: 0 0 24px;
}
@media screen and (max-width: 1150px) {
  .recommend__right {
    margin: 0 0 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__right {
    margin: 0;
  }
}
.recommend__right > p {
  font-size: 35px;
  color: #7c5b3f;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 32px;
  margin: 0 0 54px 24px;
}
@media screen and (max-width: 1150px) {
  .recommend__right > p {
    font-size: 3.0494148244vw;
    padding: 0 2.7880364109vw;
    margin: 0 0 4.7048114434vw 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__right > p {
    font-size: 6.6666666667vw;
    padding: 0 8vw;
    margin: 0;
    position: absolute;
    top: 8.5333333333vw;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.recommend__right > p::before, .recommend__right > p::after {
  content: "";
  width: 2px;
  height: 35px;
  background: #7c5b3f;
  rotate: -26deg;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1150px) {
  .recommend__right > p::before, .recommend__right > p::after {
    width: 0.1742522757vw;
    height: 3.0494148244vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__right > p::before, .recommend__right > p::after {
    width: 0.5333333333vw;
    height: 9.3333333333vw;
  }
}
.recommend__right > p::after {
  left: unset;
  right: 0;
  rotate: 26deg;
}

.recommend__list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  gap: 12px 30px;
}
@media screen and (max-width: 1150px) {
  .recommend__list {
    gap: 1.0455136541vw 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__list {
    gap: 2.6666666667vw 0;
    grid-auto-flow: row;
    grid-template-rows: unset;
  }
}
.recommend__list li {
  font-size: 20px;
  font-weight: 600;
  padding: 0 0 12px;
  border-bottom: 1px dashed #000;
  margin: 0 0 0 30px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .recommend__list li {
    font-size: 1.7425227568vw;
    padding: 0 0 1.0455136541vw;
    border-width: 0.0871261378vw;
    margin: 0 0 0 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__list li {
    font-size: 4.2666666667vw;
    padding: 0 0 2.1333333333vw;
    border-width: 0.2666666667vw;
    margin: 0 0 0 8.5333333333vw;
  }
}
.recommend__list li::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../images/img_ranking_01_08@2x.jpg) center/contain no-repeat;
  position: absolute;
  top: 2px;
  left: -30px;
}
@media screen and (max-width: 1150px) {
  .recommend__list li::before {
    width: 1.7425227568vw;
    height: 1.7425227568vw;
    top: 0.1742522757vw;
    left: -2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .recommend__list li::before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    top: 0;
    left: -8.5333333333vw;
  }
}

.what {
  padding: 64px 0 80px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .what {
    padding: 5.5760728218vw 0 6.9700910273vw;
  }
}
@media screen and (max-width: 768px) {
  .what {
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}

.what__voice-list ul {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (max-width: 1150px) {
  .what__voice-list ul {
    gap: 1.7425227568vw 0;
  }
}
@media screen and (max-width: 768px) {
  .what__voice-list ul {
    gap: 5.3333333333vw 0;
  }
}
.what__voice-list ul li {
  background: #fff;
  padding: 40px 273px 40px 40px;
  border: 1px solid #e3d6c5;
  border-left: 10px solid #baa88f;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media screen and (max-width: 1150px) {
  .what__voice-list ul li {
    padding: 3.4850455137vw 23.7854356307vw 3.4850455137vw 3.4850455137vw;
    border-width: 1px;
    border-left-width: 0.8712613784vw;
    box-shadow: 0 0 1.7425227568vw rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .what__voice-list ul li {
    padding: 5.3333333333vw 5.3333333333vw 67.7333333333vw;
    border-width: 0.2666666667vw;
    border-left-width: 1.3333333333vw;
    box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.1);
  }
}
.what__voice-list ul li::after {
  content: "";
  width: 156px;
  height: 391px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 57px;
  margin: auto;
  background: url(../images/img_what_01.jpg) center/contain no-repeat;
}
@media screen and (max-width: 1150px) {
  .what__voice-list ul li::after {
    width: 13.5916775033vw;
    height: 34.066319896vw;
    right: 4.966189857vw;
  }
}
@media screen and (max-width: 768px) {
  .what__voice-list ul li::after {
    width: 23.7333333333vw;
    height: 59.2vw;
    right: 0;
    left: 0;
    top: unset;
    bottom: 5.3333333333vw;
  }
}
.what__voice-list ul li p:first-of-type {
  font-size: 25px;
  color: #7c5b3f;
  margin: 0 0 10px;
}
@media screen and (max-width: 1150px) {
  .what__voice-list ul li p:first-of-type {
    font-size: 2.178153446vw;
    margin: 0 0 0.8712613784vw;
  }
}
@media screen and (max-width: 768px) {
  .what__voice-list ul li p:first-of-type {
    font-size: 5.3333333333vw;
    text-align: center;
    display: flex;
    justify-content: center;
    line-height: 7.7333333333vw;
    margin: 0 0 4.2666666667vw;
  }
}
.what__voice-list ul li p:last-of-type {
  font-size: 16px;
  font-weight: 400;
  line-height: 40.8px;
  background: url(../images/img_things_02@2x.png) top center/130% repeat-y;
}
@media screen and (max-width: 1150px) {
  .what__voice-list ul li p:last-of-type {
    font-size: 1.3940182055vw;
    line-height: 3.5547464239vw;
  }
}
@media screen and (max-width: 768px) {
  .what__voice-list ul li p:last-of-type {
    font-size: 3.7333333333vw;
    line-height: 9.3333333333vw;
    background-size: 231.2vw;
  }
}
.what__voice-list ul li p:last-of-type strong {
  font-weight: 600;
}

.chara {
  padding: 70px 0 60px;
}
@media screen and (max-width: 1150px) {
  .chara {
    padding: 6.0988296489vw 0 5.2275682705vw;
  }
}
@media screen and (max-width: 768px) {
  .chara {
    padding: 9.3333333333vw 0 12vw;
  }
}
.chara .title__line {
  margin-bottom: 40px;
}
@media screen and (max-width: 1150px) {
  .chara .title__line {
    margin-bottom: 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .chara .title__line {
    margin-bottom: 6.4vw;
  }
}

.chara__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .chara__flex {
    flex-direction: column;
    gap: 8vw 0;
  }
}
.chara__flex:not(:last-of-type) {
  margin-bottom: 115px;
}
@media screen and (max-width: 1150px) {
  .chara__flex:not(:last-of-type) {
    margin-bottom: 10.0195058518vw;
  }
}
@media screen and (max-width: 768px) {
  .chara__flex:not(:last-of-type) {
    margin-bottom: 15.4666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .chara__flex:last-of-type {
    flex-direction: column-reverse;
  }
}
.chara__flex--reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .chara__flex--reverse {
    flex-direction: column-reverse;
  }
}

.chara__flex-left {
  width: 491px;
}
@media screen and (max-width: 1150px) {
  .chara__flex-left {
    width: 42.7789336801vw;
  }
}
@media screen and (max-width: 768px) {
  .chara__flex-left {
    width: 100%;
  }
}
.chara__flex-left img {
  width: 100%;
}
.chara__flex-left p {
  font-size: 16px;
  line-height: 40px;
  font-weight: 400;
}
@media screen and (max-width: 1150px) {
  .chara__flex-left p {
    font-size: 1.3940182055vw;
    line-height: 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .chara__flex-left p {
    font-size: 3.4666666667vw;
    line-height: 8vw;
  }
}
.chara__flex-left p strong {
  font-weight: 600;
}

.chara__flex-right {
  width: 550px;
}
@media screen and (max-width: 1150px) {
  .chara__flex-right {
    width: 47.9193758127vw;
  }
}
@media screen and (max-width: 768px) {
  .chara__flex-right {
    width: 100%;
  }
}
.chara__flex-right img {
  width: 100%;
}

.has__shadow {
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1150px) {
  .has__shadow {
    box-shadow: 0 0 3.4850455137vw rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .has__shadow {
    box-shadow: 0 0 10.6666666667vw rgba(0, 0, 0, 0.1);
  }
}

.difference {
  margin: 90px 0 0;
}
@media screen and (max-width: 1150px) {
  .difference {
    margin: 7.8413524057vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .difference {
    margin: 13.3333333333vw 0 0;
  }
}

.difference__wrapper {
  display: flex;
}
.difference__wrapper ul {
  display: flex;
  flex-direction: column;
  gap: 2px 0;
}
@media screen and (max-width: 1150px) {
  .difference__wrapper ul {
    gap: 0.1742522757vw 0;
  }
}
@media screen and (max-width: 768px) {
  .difference__wrapper ul {
    gap: 0.5333333333vw 0;
  }
}
.difference__wrapper ul li {
  font-size: 20px;
  text-align: center;
  line-height: 50px;
}
@media screen and (max-width: 1150px) {
  .difference__wrapper ul li {
    font-size: 1.7425227568vw;
    line-height: 4.3563068921vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__wrapper ul li {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
  }
}
.difference__wrapper ul li span {
  font-size: 16px;
}
@media screen and (max-width: 1150px) {
  .difference__wrapper ul li span {
    font-size: 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__wrapper ul li span {
    font-size: 3.2vw;
  }
}

.difference__left {
  width: 430px;
}
@media screen and (max-width: 1150px) {
  .difference__left {
    width: 37.4642392718vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__left {
    width: 34.6666666667vw;
  }
}
.difference__left li {
  background: #def2ee;
}
@media screen and (max-width: 768px) {
  .difference__left li {
    padding: 2.6666666667vw 0;
  }
}
.difference__left li.title {
  color: #fff;
  background: url(../images/img_difference_01@2x.png) center/contain no-repeat;
  height: 69px;
  line-height: 53px;
  margin: 0 0 10px;
}
@media screen and (max-width: 1150px) {
  .difference__left li.title {
    height: 6.0117035111vw;
    line-height: 4.6176853056vw;
    margin: 0 0 0.8712613784vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__left li.title {
    background-image: url(../images/img_difference_01_sp@2x.png);
    height: 12.4vw;
    line-height: 9.6vw;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .difference__left li:nth-of-type(4), .difference__left li:nth-of-type(6), .difference__left li:nth-of-type(9) {
    height: 16vw;
    line-height: 10.6666666667vw;
  }
}

.difference__center {
  width: 241px;
}
@media screen and (max-width: 1150px) {
  .difference__center {
    width: 20.9973992198vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__center {
    width: 20vw;
  }
}
.difference__center li {
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  .difference__center li {
    font-size: 3.2vw !important;
    padding: 2.6666666667vw 0;
  }
}
.difference__center li:first-of-type {
  background: unset;
  height: 69px;
  margin: 0 0 10px;
}
@media screen and (max-width: 1150px) {
  .difference__center li:first-of-type {
    height: 6.0117035111vw;
    margin: 0 0 0.8712613784vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__center li:first-of-type {
    height: 12.4vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__center li:nth-of-type(3), .difference__center li:nth-of-type(8) {
    height: 16vw;
    line-height: 10.6666666667vw;
  }
}

.difference__right {
  width: 430px;
}
@media screen and (max-width: 1150px) {
  .difference__right {
    width: 37.4642392718vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__right {
    width: 34.6666666667vw;
  }
}
.difference__right li {
  background: #e8e6e2;
}
@media screen and (max-width: 768px) {
  .difference__right li {
    padding: 2.6666666667vw 0;
  }
}
.difference__right li.title {
  color: #fff;
  background: url(../images/img_difference_02@2x.png) center/contain no-repeat;
  height: 69px;
  line-height: 53px;
  margin: 0 0 10px;
}
@media screen and (max-width: 1150px) {
  .difference__right li.title {
    height: 6.0117035111vw;
    line-height: 4.6176853056vw;
    margin: 0 0 0.8712613784vw;
  }
}
@media screen and (max-width: 768px) {
  .difference__right li.title {
    background-image: url(../images/img_difference_02_sp@2x.png);
    height: 12.4vw;
    line-height: 9.6vw;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .difference__right li:nth-of-type(4), .difference__right li:nth-of-type(6), .difference__right li:nth-of-type(7), .difference__right li:nth-of-type(8), .difference__right li:nth-of-type(9) {
    height: 16vw;
    line-height: 10.6666666667vw;
  }
}

.treatment {
  padding: 45px 0 60px;
}
@media screen and (max-width: 1150px) {
  .treatment {
    padding: 3.9206762029vw 0 5.2275682705vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment {
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}

.treatment__title {
  font-size: 25px;
  font-weight: 600;
  text-align: center;
  color: #fff;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(124deg, rgb(122, 224, 203) 0%, rgb(0, 209, 168) 100%);
  margin: 0 auto 34px;
}
@media screen and (max-width: 1150px) {
  .treatment__title {
    font-size: 2.178153446vw;
    height: 4.3563068921vw;
    margin: 0 auto 2.9622886866vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__title {
    font-size: 5.3333333333vw;
    line-height: 6.6666666667vw;
    height: 20.8vw;
    margin: 0 auto 5.3333333333vw;
  }
}
.treatment__title ~ p:first-of-type {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  line-height: 35px;
  margin: 0 auto 18px;
}
@media screen and (max-width: 1150px) {
  .treatment__title ~ p:first-of-type {
    font-size: 1.3940182055vw;
    line-height: 3.0494148244vw;
    margin: 0 auto 1.5682704811vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__title ~ p:first-of-type {
    font-size: 3.4666666667vw;
    text-align: left;
    line-height: 8vw;
    margin: 0 auto 8vw;
  }
}
.treatment__title ~ p:nth-of-type(2) {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  padding: 0 0 8px 8px;
  border-bottom: 1px solid #000;
  margin: 0 auto 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 1150px) {
  .treatment__title ~ p:nth-of-type(2) {
    font-size: 1.7425227568vw;
    padding: 0 0 0.6970091027vw 0.6970091027vw;
    border-width: 0.0871261378vw;
    margin: 0 auto 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__title ~ p:nth-of-type(2) {
    font-size: 5.3333333333vw;
    line-height: 9.3333333333vw;
    width: 100%;
    padding: 0 0 5.3333333333vw;
    border-width: 0.2666666667vw;
    margin: 0 auto 8vw;
  }
}

.treatment__list > ul {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul {
    gap: 1.7425227568vw 0;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul {
    gap: 5.3333333333vw 0;
  }
}
.treatment__list > ul > li {
  display: flex;
  gap: 0 40px;
  background: #fff;
  padding: 0 24px 24px;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li {
    gap: 0 3.4850455137vw;
    padding: 0 2.0910273082vw 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li {
    flex-direction: column;
    gap: 0;
    padding: 0 6.4vw 13.3333333333vw;
  }
}
.treatment__list > ul > li img {
  width: 250px;
  height: 100%;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li img {
    width: 21.7815344603vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li img {
    width: 80%;
    margin: 0 auto;
  }
}
.treatment__list > ul > li > div {
  flex: 1;
}
.treatment__list > ul > li > div > ul {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  padding: 24px 0 0;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li > div > ul {
    gap: 1.0455136541vw 0;
    padding: 2.0910273082vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li > div > ul {
    gap: 4.2666666667vw 0;
    padding: 0;
  }
}
.treatment__list > ul > li > div > ul > li {
  font-size: 13px;
  position: relative;
  padding: 0 0 0 16px;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li > div > ul > li {
    font-size: 1.1326397919vw;
    padding: 0 0 0 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li > div > ul > li {
    font-size: 3.4666666667vw;
    line-height: 5.3333333333vw;
    padding: 0 0 0 4.2666666667vw;
  }
}
.treatment__list > ul > li > div > ul > li span {
  color: #29ba9c;
  border-bottom: 1px solid #29ba9c;
}
.treatment__list > ul > li > div > ul > li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #29ba9c;
  position: absolute;
  top: 3px;
  left: 0;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li > div > ul > li::before {
    width: 0.6970091027vw;
    height: 0.6970091027vw;
    top: 0.2613784135vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li > div > ul > li::before {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    top: 1.6vw;
  }
}
.treatment__list > ul > li > div > ul + p {
  font-size: 20px;
  font-weight: 600;
  color: #29ba9c;
  text-align: center;
  padding: 10px 14px 10px 24px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid #29ba9c;
  margin: 20px 0;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li > div > ul + p {
    font-size: 1.7425227568vw;
    padding: 0.8712613784vw 1.2197659298vw 0.8712613784vw 1.2197659298vw;
    border-width: 0.1742522757vw;
    margin: 1.7425227568vw 0;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li > div > ul + p {
    font-size: 4.2666666667vw;
    line-height: 6.4vw;
    width: 100%;
    border-width: 0.5333333333vw;
    padding: 2.6666666667vw 0;
    margin: 5.3333333333vw 0 6.4vw;
  }
}
.treatment__list > ul > li:last-of-type {
  background: unset;
  padding: 0;
}
.treatment__list > ul > li:last-of-type img {
  width: 329px;
}
@media screen and (max-width: 1150px) {
  .treatment__list > ul > li:last-of-type img {
    width: 28.6644993498vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__list > ul > li:last-of-type img {
    width: 100%;
  }
}

.treatment__recommend {
  display: flex;
  gap: 0 27px;
}
@media screen and (max-width: 1150px) {
  .treatment__recommend {
    gap: 0 2.3524057217vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__recommend {
    flex-direction: column;
    gap: 6.4vw 0;
  }
}
.treatment__recommend > p {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 25px;
  background: linear-gradient(129deg, rgb(122, 224, 203) 0%, rgb(0, 209, 168) 100%);
  width: 185px;
}
@media screen and (max-width: 1150px) {
  .treatment__recommend > p {
    font-size: 1.7425227568vw;
    border-radius: 2.178153446vw;
    width: 16.1183355007vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__recommend > p {
    font-size: 4.2666666667vw;
    line-height: 8.8vw;
    border-radius: 8.8vw;
    width: 100%;
  }
}
.treatment__recommend > ul {
  display: flex;
  flex-direction: column;
  gap: 23px 0;
}
@media screen and (max-width: 1150px) {
  .treatment__recommend > ul {
    gap: 2.0039011704vw 0;
  }
}
@media screen and (max-width: 768px) {
  .treatment__recommend > ul {
    gap: 0;
  }
}
.treatment__recommend > ul > li {
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 1150px) {
  .treatment__recommend > ul > li {
    font-size: 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  .treatment__recommend > ul > li {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
    display: flex;
  }
}
.treatment__recommend > ul > li::before {
  content: "・";
}
@media screen and (max-width: 768px) {
  .treatment__recommend > ul > li::before {
    margin: 1.3333333333vw 0 0;
  }
}

.range {
  padding: 60px 0;
}
@media screen and (max-width: 1150px) {
  .range {
    padding: 5.2275682705vw 0;
  }
}
@media screen and (max-width: 768px) {
  .range {
    padding: 10.6666666667vw 0 16vw;
  }
}

.range__list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 78px;
}
@media screen and (max-width: 1150px) {
  .range__list ul {
    gap: 5.2275682705vw 6.0988296489vw;
  }
}
@media screen and (max-width: 768px) {
  .range__list ul {
    flex-direction: column;
    gap: 10.6666666667vw 0;
  }
}
.range__list ul li {
  width: 511px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1150px) {
  .range__list ul li {
    width: 44.5214564369vw;
  }
}
@media screen and (max-width: 768px) {
  .range__list ul li {
    width: 100%;
  }
}

.range__title {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  color: #fff;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(124deg, rgb(122, 224, 203) 0%, rgb(0, 209, 168) 100%);
  margin: 0 auto 20px;
}
@media screen and (max-width: 1150px) {
  .range__title {
    font-size: 1.7425227568vw;
    height: 4.3563068921vw;
    margin: 0 auto 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .range__title {
    font-size: 4.8vw;
    height: 13.3333333333vw;
    margin: 0 auto 5.3333333333vw;
  }
}
.range__title + p {
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  margin: 0 auto 20px;
  flex: 1;
}
@media screen and (max-width: 1150px) {
  .range__title + p {
    font-size: 1.2197659298vw;
    line-height: 2.6137841352vw;
    margin: 0 auto 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .range__title + p {
    font-size: 3.7333333333vw;
    line-height: 8vw;
    margin: 0 auto 5.3333333333vw;
  }
}
.range__title ~ img {
  width: 100%;
}

.case {
  padding: 60px 0;
}
@media screen and (max-width: 1150px) {
  .case {
    padding: 5.2275682705vw 0;
  }
}
@media screen and (max-width: 768px) {
  .case {
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}

.case__wrapper {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
  margin: 0 auto 60px;
}
@media screen and (max-width: 1150px) {
  .case__wrapper {
    gap: 4.3563068921vw 0;
    margin: 0 auto 5.2275682705vw;
  }
}
@media screen and (max-width: 768px) {
  .case__wrapper {
    gap: 10.6666666667vw 0;
    margin: 0 auto 10.6666666667vw;
  }
}
.case__wrapper h3 {
  font-size: 25px;
  font-weight: 600;
  text-align: center;
  color: #29ba9c;
  margin: 0 auto 20px;
}
@media screen and (max-width: 1150px) {
  .case__wrapper h3 {
    font-size: 2.178153446vw;
    margin: 0 auto 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .case__wrapper h3 {
    font-size: 5.3333333333vw;
    margin: 0 auto 4.2666666667vw;
  }
}
.case__wrapper video {
  width: 300px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1150px) {
  .case__wrapper video {
    width: 26.1378413524vw;
  }
}
@media screen and (max-width: 768px) {
  .case__wrapper video {
    width: 70%;
  }
}

.case__flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 17px;
}
@media screen and (max-width: 1150px) {
  .case__flex {
    gap: 1.4811443433vw;
  }
}
@media screen and (max-width: 768px) {
  .case__flex {
    flex-direction: column;
    gap: 3.4666666667vw 0;
  }
}

.case__before,
.case__after {
  width: 434px;
}
@media screen and (max-width: 1150px) {
  .case__before,
.case__after {
    width: 37.8127438231vw;
  }
}
@media screen and (max-width: 768px) {
  .case__before,
.case__after {
    width: 100%;
  }
}
.case__before img,
.case__after img {
  width: 100%;
}
.case__before p,
.case__after p {
  font-size: 17px;
  font-weight: 600;
  text-align: center;
  color: #fff;
  padding: 14px 0;
  background: #afafaf;
}
@media screen and (max-width: 1150px) {
  .case__before p,
.case__after p {
    font-size: 1.4811443433vw;
    padding: 1.2197659298vw 0;
  }
}
@media screen and (max-width: 768px) {
  .case__before p,
.case__after p {
    font-size: 3.7333333333vw;
    padding: 2.6666666667vw 0;
  }
}

.case__after p {
  background: linear-gradient(124deg, rgb(122, 224, 203) 0%, rgb(0, 209, 168) 100%);
}

.case__text {
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  width: 885px;
  margin: auto 0 24px;
}
@media screen and (max-width: 1150px) {
  .case__text {
    font-size: 1.2197659298vw;
    line-height: 2.6137841352vw;
    width: 77.1066319896vw;
    margin: auto 0 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .case__text {
    font-size: 3.7333333333vw;
    line-height: 8vw;
    width: 100%;
    margin: auto 0 4.2666666667vw;
  }
}

.case__lp {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px 0;
}
@media screen and (max-width: 1150px) {
  .case__lp {
    gap: 3.4850455137vw 0;
  }
}
@media screen and (max-width: 768px) {
  .case__lp {
    gap: 5.3333333333vw 0;
  }
}
.case__lp img {
  width: 500px;
}
@media screen and (max-width: 1150px) {
  .case__lp img {
    width: 43.5630689207vw;
  }
}
@media screen and (max-width: 768px) {
  .case__lp img {
    width: 100%;
  }
}

.flow {
  padding: 60px 0 160px;
}
@media screen and (max-width: 1150px) {
  .flow {
    padding: 5.2275682705vw 0 13.9401820546vw;
  }
}
@media screen and (max-width: 768px) {
  .flow {
    padding: 10.6666666667vw 0 21.3333333333vw;
  }
}

.flow__list ul {
  display: flex;
  flex-wrap: wrap;
  width: 960px;
  gap: 40px 80px;
  margin: 0 auto;
}
@media screen and (max-width: 1150px) {
  .flow__list ul {
    width: 83.6410923277vw;
    gap: 3.4850455137vw 6.9700910273vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 28.5333333333vw 0;
  }
}
.flow__list ul li {
  width: 266px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 16px 20px 40px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li {
    width: 23.1755526658vw;
    box-shadow: 0 0 0.8712613784vw rgba(0, 0, 0, 0.1);
    padding: 1.3940182055vw 1.7425227568vw 3.4850455137vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li {
    width: 70.9333333333vw;
    box-shadow: 0 0 2.6666666667vw rgba(0, 0, 0, 0.1);
    padding: 4.2666666667vw 5.3333333333vw 10.6666666667vw;
  }
}
.flow__list ul li::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  border-left: 61px solid #baa88f;
  border-right: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -72px;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li::after {
    border-top-width: 3.0494148244vw;
    border-bottom-width: 3.0494148244vw;
    border-left-width: 5.3146944083vw;
    right: -6.2730819246vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li::after {
    border-top-width: 6.6666666667vw;
    border-bottom-width: 6.6666666667vw;
    border-left-width: 11.4666666667vw;
    right: 0;
    left: 0;
    top: unset;
    bottom: -24vw;
    rotate: 90deg;
  }
}
.flow__list ul li:nth-of-type(3n)::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .flow__list ul li:nth-of-type(3n)::after {
    display: block;
  }
}
.flow__list ul li:last-of-type::after {
  display: none;
}
.flow__list ul li img {
  width: 227px;
  margin: 0 auto 24px;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li img {
    width: 19.77763329vw;
    margin: 0 auto 2.0910273082vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li img {
    width: 60.5333333333vw;
    margin: 0 auto 6.4vw;
  }
}
.flow__list ul li h3 {
  font-size: 16px;
  font-weight: 600;
  line-height: 25px;
  text-align: center;
  padding: 0 0 20px;
  margin: 0 auto 16px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li h3 {
    font-size: 1.3940182055vw;
    line-height: 2.178153446vw;
    padding: 0 0 1.7425227568vw;
    margin: 0 auto 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li h3 {
    font-size: 4.2666666667vw;
    line-height: 6.6666666667vw;
    padding: 0 0 5.3333333333vw;
    margin: 0 auto 4.2666666667vw;
  }
}
.flow__list ul li h3::after {
  content: "";
  width: 45px;
  height: 2px;
  background: #000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li h3::after {
    width: 3.9206762029vw;
    height: 0.1742522757vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li h3::after {
    width: 12vw;
    height: 0.5333333333vw;
  }
}
.flow__list ul li p {
  font-size: 13px;
  line-height: 25px;
}
@media screen and (max-width: 1150px) {
  .flow__list ul li p {
    font-size: 1.1326397919vw;
    line-height: 2.178153446vw;
  }
}
@media screen and (max-width: 768px) {
  .flow__list ul li p {
    font-size: 3.4666666667vw;
    line-height: 6.6666666667vw;
  }
}

.note {
  padding: 60px 0;
}
@media screen and (max-width: 1150px) {
  .note {
    padding: 5.2275682705vw 0;
  }
}
@media screen and (max-width: 768px) {
  .note {
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}

.note__table table {
  border-spacing: 8px;
  margin: 0 auto;
}
@media screen and (max-width: 1150px) {
  .note__table table {
    border-spacing: 0.6970091027vw;
  }
}
@media screen and (max-width: 768px) {
  .note__table table {
    border-radius: 1.0666666667vw;
  }
}
.note__table table tbody tr th {
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  line-height: 25px;
  width: 233px;
  background: #f2f2f2;
  padding: 0 40px 0 30px;
}
@media screen and (max-width: 1150px) {
  .note__table table tbody tr th {
    font-size: 1.3940182055vw;
    line-height: 2.178153446vw;
    width: 20.300390117vw;
    padding: 0 3.4850455137vw 0 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .note__table table tbody tr th {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    width: 33.0666666667vw;
    padding: 2.6666666667vw;
    vertical-align: baseline;
  }
}
.note__table table tbody tr td {
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  padding: 20px 30px 20px 27px;
  background: #fff;
  width: 760px;
}
@media screen and (max-width: 1150px) {
  .note__table table tbody tr td {
    font-size: 1.3940182055vw;
    line-height: 2.178153446vw;
    padding: 1.7425227568vw 2.6137841352vw 1.7425227568vw 2.3524057217vw;
    width: 66.2158647594vw;
  }
}
@media screen and (max-width: 768px) {
  .note__table table tbody tr td {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    padding: 2.6666666667vw;
    width: 55.2vw;
  }
}
.note__table table tbody tr td ul li {
  line-height: 30px;
  display: flex;
}
@media screen and (max-width: 1150px) {
  .note__table table tbody tr td ul li {
    line-height: 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .note__table table tbody tr td ul li {
    line-height: 5.3333333333vw;
  }
}
.note__table table tbody tr td ul li:before {
  content: "・";
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 7px 0 0;
}
@media screen and (max-width: 1150px) {
  .note__table table tbody tr td ul li:before {
    margin: 0.6098829649vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .note__table table tbody tr td ul li:before {
    margin: 0.8vw 0 0;
  }
}

.faq {
  padding: 60px 0;
}
@media screen and (max-width: 1150px) {
  .faq {
    padding: 5.2275682705vw 0;
  }
}
@media screen and (max-width: 768px) {
  .faq {
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}

.faq__list ul {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
}
@media screen and (max-width: 1150px) {
  .faq__list ul {
    gap: 1.3940182055vw 0;
  }
}
@media screen and (max-width: 768px) {
  .faq__list ul {
    gap: 2.1333333333vw 0;
  }
}
.faq__list ul li {
  width: 100%;
}

.faq__q {
  font-size: 23px;
  font-weight: 600;
  color: #fff;
  background: #c1b694;
  width: 100%;
  height: 90px;
  display: flex;
  align-items: center;
  padding: 0 0 0 112px;
  letter-spacing: 1px;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 1150px) {
  .faq__q {
    font-size: 2.0039011704vw;
    height: 7.8413524057vw;
    padding: 0 0 0 9.7581274382vw;
    letter-spacing: 0.0871261378vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__q {
    font-size: 4.2666666667vw;
    height: auto;
    padding: 4vw 0 4vw 20.2666666667vw;
    letter-spacing: 0.2666666667vw;
    text-align: left;
    min-height: 21.3333333333vw;
  }
}
.faq__q::before {
  content: "";
  width: 60px;
  height: 60px;
  background: url(../images/img_faq_01@2x.png) center/contain no-repeat;
  position: absolute;
  left: 32px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .faq__q::before {
    width: 5.2275682705vw;
    height: 5.2275682705vw;
    left: 2.7880364109vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__q::before {
    width: 11.2vw;
    height: 11.2vw;
    left: 3.7333333333vw;
    top: 4.8vw;
    bottom: unset;
  }
}
.faq__q::after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../images/img_faq_03@2x.png) center/contain no-repeat;
  position: absolute;
  right: 32px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .faq__q::after {
    width: 3.4850455137vw;
    height: 3.4850455137vw;
    right: 2.7880364109vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__q::after {
    width: 8vw;
    height: 8vw;
    right: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__q span {
    display: flex;
    width: 54.4vw;
    line-height: 6.6666666667vw;
  }
}
.faq__q + div {
  transition: 0.7s ease;
  height: 0;
  overflow: hidden;
}

.faq__a {
  font-size: 20px;
  line-height: 30px;
  padding: 36px 35px 44px 112px;
  position: relative;
  background: #f7f7f7;
}
@media screen and (max-width: 1150px) {
  .faq__a {
    font-size: 1.7425227568vw;
    line-height: 2.6137841352vw;
    padding: 3.1365409623vw 3.0494148244vw 3.833550065vw 9.7581274382vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__a {
    font-size: 3.7333333333vw;
    font-weight: 600;
    line-height: 5.3333333333vw;
    letter-spacing: 0.0533333333vw;
    padding: 4.2666666667vw 6.4vw 4.2666666667vw 20.2666666667vw;
    min-height: 19.2vw;
  }
}
.faq__a::before {
  content: "";
  width: 60px;
  height: 60px;
  background: url(../images/img_faq_02@2x.png) center/contain no-repeat;
  position: absolute;
  top: 23px;
  left: 32px;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .faq__a::before {
    width: 5.2275682705vw;
    height: 5.2275682705vw;
    top: 2.0039011704vw;
    left: 2.7880364109vw;
  }
}
@media screen and (max-width: 768px) {
  .faq__a::before {
    width: 11.2vw;
    height: 11.2vw;
    left: 3.7333333333vw;
    top: 4.8vw;
    bottom: unset;
  }
}

.access {
  padding: 60px 0 140px;
}
@media screen and (max-width: 1150px) {
  .access {
    padding: 5.2275682705vw 0 12.1976592978vw;
  }
}
@media screen and (max-width: 768px) {
  .access {
    padding: 9.3333333333vw 0 28.2666666667vw;
  }
}

.access__flex {
  display: flex;
  gap: 0 60px;
}
@media screen and (max-width: 1150px) {
  .access__flex {
    gap: 0 5.2275682705vw;
  }
}
@media screen and (max-width: 768px) {
  .access__flex {
    flex-direction: column;
    gap: 8.5333333333vw 0;
  }
}
.access__flex > div {
  display: flex;
  flex-direction: column;
}
.access__flex > div h3 {
  font-size: 25px;
  font-weight: 600;
  text-align: center;
  color: #707070;
  margin: 0 0 16px;
  position: relative;
}
@media screen and (max-width: 1150px) {
  .access__flex > div h3 {
    font-size: 2.178153446vw;
    margin: 0 0 1.3940182055vw;
  }
}
@media screen and (max-width: 768px) {
  .access__flex > div h3 {
    font-size: 5.3333333333vw;
    margin: 0 0 3.2vw;
  }
}
.access__flex > div h3::before, .access__flex > div h3::after {
  content: "";
  width: 168px;
  height: 1px;
  background: #707070;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 1150px) {
  .access__flex > div h3::before, .access__flex > div h3::after {
    width: 14.6371911573vw;
    height: 0.0871261378vw;
  }
}
@media screen and (max-width: 768px) {
  .access__flex > div h3::before, .access__flex > div h3::after {
    width: 25.6vw;
    height: 0.2666666667vw;
  }
}
.access__flex > div h3::after {
  left: unset;
  right: 0;
}
.access__flex > div iframe {
  width: 520px;
  height: 250px;
}
@media screen and (max-width: 1150px) {
  .access__flex > div iframe {
    width: 45.3055916775vw;
    height: 21.7815344603vw;
  }
}
@media screen and (max-width: 768px) {
  .access__flex > div iframe {
    width: 89.3333333333vw;
    height: 42.9333333333vw;
  }
}

.access__info {
  background: #fff;
  padding: 20px 20px 30px;
  flex: 1;
}
@media screen and (max-width: 1150px) {
  .access__info {
    padding: 1.7425227568vw 1.7425227568vw 2.6137841352vw;
  }
}
@media screen and (max-width: 768px) {
  .access__info {
    padding: 2.6666666667vw 1.0666666667vw;
  }
}
.access__info table {
  width: 100%;
  border-spacing: 30px 20px;
}
@media screen and (max-width: 1150px) {
  .access__info table {
    border-spacing: 2.6137841352vw 1.7425227568vw;
  }
}
@media screen and (max-width: 768px) {
  .access__info table {
    border-spacing: 5.3333333333vw 3.7333333333vw;
  }
}
.access__info table tbody tr th {
  font-size: 16px;
  font-weight: 600;
  line-height: 25px;
  width: 71px;
  vertical-align: baseline;
}
@media screen and (max-width: 1150px) {
  .access__info table tbody tr th {
    font-size: 1.3940182055vw;
    line-height: 2.178153446vw;
    width: 6.1859557867vw;
  }
}
@media screen and (max-width: 768px) {
  .access__info table tbody tr th {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
    width: 14.9333333333vw;
  }
}
.access__info table tbody tr td {
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
}
@media screen and (max-width: 1150px) {
  .access__info table tbody tr td {
    font-size: 1.3940182055vw;
    line-height: 2.178153446vw;
  }
}
@media screen and (max-width: 768px) {
  .access__info table tbody tr td {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .sp.logo {
    position: absolute;
    top: 1.6vw;
    left: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .sp.logo img {
    width: 60vw;
  }
}
/*# sourceMappingURL=common.css.map */
.trial_caution{
  margin-top: 1rem;
  text-align: center;
}
.trial_caution span{
  font-weight: 600;
  color: #8b0000;
  font-size: 120%
}

.nav_sp{
  display: none
}

.nav_pc {
  position: fixed;
  height: 75px;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 0 8px rgba(32, 30, 30, 0.15);
  z-index: 1000;
  display: block;
  z-index: 1000
}

.nav_pc .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  max-width: 900px;
  margin: 0 auto;
}

.nav_pc .container .nav_pc_logo {
  width: 50%
}
.nav_pc_logo img{
  max-width: 100%;
}
.nav_pc .container .nav_pc_contact {
  width: 25%
}
.nav_pc .container .nav_pc_counseling a {
  background: #e76a76
}
.nav_pc .container .nav_pc_contact a {
  display: block;
  height: 75px;
  line-height: 70px;
  background: #feff9d;
  color: #e76a76;
  text-decoration: none;
  -webkit-transition: all .3s ease-in;
  transition: all .3s ease-in
}

.nav_pc .container .nav_pc_contact a:hover {
  background: #e76a76;
  color: #feff9d
}

.nav_pc .container .nav_pc_counseling {
  width: 50%;
  text-align: center;
}

.nav_pc .container .nav_pc_counseling a {
  display: block;
  height: 75px;
  line-height: 70px;
  background: #d22d4a;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all .3s ease-in;
  transition: all .3s ease-in;
  text-align: center;
}

.nav_pc .container .nav_pc_counseling a:hover {
  background: #ffdce2;
  color: #d22d4a
}

.btn_counseling{
  margin: 24px auto 0;
}
.btn_counseling img{
  max-width: 100%;
  margin: 0 auto;
}
.btn_counseling a:hover{
  opacity: 0.8;
}
@media (max-width: 767px) {
  .nav_pc {
      display: none
  }

  .nav_sp {
      position: fixed;
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -ms-flexbox;
      display: flex;
      height: 60px;
      width: 100%;
      bottom: 0;
      left: 0;
      right: 0;
      background: #fff;
      box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
      z-index: 1000;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      align-items: center
  }

  .nav_sp .nav_sp_logo {
      width: 15vw;
      text-align: center
  }

  .nav_sp .nav_sp_logo img {
      width: 40px
  }

  .nav_sp .nav_sp_contact {
      -webkit-box-flex: 30;
      -webkit-flex-grow: 30;
      -moz-box-flex: 30;
      -ms-flex-positive: 30;
      flex-grow: 30;
      -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      margin: 0 0 0 1vw !important
  }

  .nav_sp .nav_sp_contact a {
      display: block;
      height: 60px;
      line-height: 55px;
      background: #e76a76;
      color: #fff;
      text-decoration: none
  }

  .nav_sp .nav_sp_counseling {
      -webkit-box-flex: 55;
      -webkit-flex-grow: 55;
      -moz-box-flex: 55;
      -ms-flex-positive: 55;
      flex-grow: 55;
      -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      margin: 1vw
  }

  .nav_sp .nav_sp_counseling a {
      display: block;
      height: 60px;
      line-height: 55px;
      text-align: center;
      background: #d22d4a;
      color: #fff;
      text-decoration: none
  }
}