@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  color: #38140A;
  font-weight: 400;
  font-style: normal;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 575px) {
  body {
    font-size: 1.3rem;
  }
}

h2, h3, h4 {
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.5;
}

.l-inner {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
}

.section-title {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 48px;
}
@media screen and (max-width: 1280px) {
  .section-title {
    display: inline-block;
    font-size: 2rem;
    text-align: center;
    border-bottom: 1px solid #38140A;
    margin: 0 auto 32px;
  }
}
@media screen and (max-width: 767px) {
  .section-title {
    margin-bottom: 20px;
  }
}

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

.sp-br {
  display: inline;
}

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

.br-s {
  display: none;
}
@media screen and (max-width: 575px) {
  .br-s {
    display: block;
  }
}

.br-m {
  display: block;
}
@media screen and (max-width: 575px) {
  .br-m {
    display: none;
  }
}

header {
  width: 100%;
  position: fixed;
  background-color: #fff;
  z-index: 10;
  padding: 9px 5.7% 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media screen and (max-width: 1280px) {
  header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 5.7%;
  }
}
@media screen and (max-width: 575px) {
  header {
    padding: 9px 20px;
  }
}

header .site-title {
  font-size: 2rem;
  line-height: 1.3;
}
@media screen and (max-width: 1280px) {
  header .site-title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 575px) {
  header .site-title {
    font-size: 1.2rem;
  }
}

header .site-title span {
  display: block;
  font-size: 4rem;
  font-weight: 600;
}
@media screen and (max-width: 1280px) {
  header .site-title span {
    font-size: 3rem;
  }
}
@media screen and (max-width: 575px) {
  header .site-title span {
    font-size: 2rem;
  }
}

.header_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  justify-content: flex-end;
  margin-bottom: 7px;
}

.cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cta p {
  font-size: 1.3rem;
  padding-right: 8px;
  padding-top: 14px;
}

.cta_links {
  padding-left: 14px;
  position: relative;
  margin-right: 40px;
}
.cta_links::after {
  content: "";
  height: 47px;
  border-left: 1px solid #38140A;
  position: absolute;
  left: 0;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cta_links a {
  display: block;
  line-height: 1.5;
}

.cta_links .tel {
  font-size: 2.5rem;
  font-weight: 300;
}
.cta_links .tel::before {
  content: "\f095";
  padding-right: 10px;
  font-size: 1.8rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.cta_links .web {
  font-size: 1.8rem;
}
.cta_links .web::before {
  content: "\f109";
  font-weight: 900;
  padding-right: 5px;
  font-size: 2rem;
  font-family: "Font Awesome 5 Free";
}

.cta_links .web span {
  font-size: 1.5rem;
}

.language {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.language a {
  padding: 1px 35px;
  font-size: 2rem;
  line-height: 1.6;
  color: #fff;
}

.language .ja {
  background: #A68758;
}

.language .en {
  background: #C4C4C4;
}

.header_bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header_bottom > li {
  padding: 0 25px;
  margin: auto;
  position: relative;
}
.header_bottom > li::before {
  content: "";
  font-size: 1.8rem;
  height: 15px;
  border-left: 1px solid #38140A;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header_bottom > li:last-of-type {
  position: relative;
}
.header_bottom > li:last-of-type::after {
  content: "";
  height: 15px;
  border-left: 1px solid #38140A;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header_bottom li .contact {
  font-size: 0;
  width: auto;
  display: block;
}
.header_bottom li .contact::before {
  content: "\f0e0";
  font-size: 2.2rem;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header_bottom li .insta {
  font-size: 0;
  width: auto;
  display: block;
}
.header_bottom li .insta::before {
  content: "\f16d";
  font-size: 2.2rem;
  line-height: 1;
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}



.menu_dropdown {
  visibility: hidden;
  opacity: 0;
  width: 100%;
  position: absolute;
  top: 40px;
  background: #fff;
  padding: 4px 0;
  width: 200px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 1280px) {
  .menu_dropdown {
    position: static;
    -webkit-filter: none;
            filter: none;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    border-top: 1px solid #38140A;
    border-bottom: 1px solid #38140A;
    margin-top: 24px;
    padding: 10px 0;
    visibility: visible;
    opacity: 1;
  }
}

.menu_treamtment {
  cursor: pointer;
}

.menu_treamtment:hover .menu_dropdown {
  visibility: visible;
  opacity: 1;
}

.menu_dropdown::before {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  content: "";
  display: block;
  width: 0;
  border-top: 14px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 10px solid transparent;
  border-bottom-color: #fff;
}
@media screen and (max-width: 1280px) {
  .menu_dropdown::before {
    content: none;
  }
}

.menu_dropdown ul {
  z-index: 1;
}

@media screen and (max-width: 1280px) {
  .menu_dropdown ul li {
    margin: 20px 0 0;
  }
  .menu_dropdown ul li:first-of-type {
    margin-top: 0;
  }
}

@media screen and (max-width: 550px) {
  .menu_dropdown ul li {
    margin: 18px 0 0;
  }
  .header_bottom > li {
    font-size: 1.4rem;
  }
}

.menu_dropdown li a {
  display: block;
  text-align: center;
  padding: 6px;
}
@media screen and (max-width: 1280px) {
  .menu_dropdown li a {
    padding: 0;
  }
}

.hamburger {
  display: none;
  font-size: 0;
  width: 28px;
  height: 28px;
  position: relative;
  z-index: 15;
}
@media screen and (max-width: 1280px) {
  .hamburger {
    display: block;
  }
}

.hamburger__line {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 28px;
  height: 3px;
  background-color: #A68758;
  -webkit-transition: inherit;
  transition: inherit;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hamburger__line::before {
  top: -11px;
}
.hamburger__line::after {
  top: 11px;
}

.hamburger__line::before, .hamburger__line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #A68758;
  content: "";
  -webkit-transition: inherit;
  transition: inherit;
}

.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}
.hamburger[aria-expanded=true] .hamburger__line::before, .hamburger[aria-expanded=true] .hamburger__line::after {
  top: 0;
}

.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (max-width: 1280px) {
  .menu {
    overflow-y: scroll;
    opacity: 0;
    visibility: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    width: 100vw;
    height: 100%;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    padding: 90px 5.7% 50px;
  }
}
@media screen and (max-width: 575px) {
  .menu {
    font-size: 1.6rem;
    padding-top: 60px;
    padding-bottom: 36px;
  }
}

.is-drawerActive {
  overflow: hidden;
}

.is-drawerActive .menu {
  opacity: 1;
  visibility: visible;
  z-index: 10;
}

@media screen and (max-width: 1280px) {
  .header_top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
  }
}

@media screen and (max-width: 1280px) {
  header .cta p {
    display: none;
  }
}

@media screen and (max-width: 1280px) {
  header .cta_links {
    padding: 0;
    margin: 0;
    text-align: center;
  }
  header .cta_links::after {
    border: 0;
  }
}

@media screen and (max-width: 1280px) {
  header .cta_links .tel {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 1280px) {
  .header_bottom {
    line-height: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 1280px) {
  .header_bottom li {
    margin-bottom: 24px;
    text-align: center;
  }
  .header_bottom li::before {
    content: none;
  }
}

@media screen and (max-width: 1280px) {
  .header_bottom li:last-of-type::after {
    display: none;
  }
}

.background {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

.is-drawerActive .background {
  display: block;
  z-index: 5;
}

main {
  padding-top: 120px;
}
@media screen and (max-width: 1280px) {
  main {
    padding-top: 75.2px;
  }
}
@media screen and (max-width: 575px) {
  main {
    padding-top: 59.59px;
  }
}

.webp .fv {
  background: url(../images/fv.jpg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
@media screen and (max-width: 767px) {
  .webp .fv {
    background-size: cover;
  }
}
@media screen and (max-width: 575px) {
  .webp .fv {
    background: url(../images/fv_sp.jpg.webp);
    background-size: cover;
  }
}

.no-webp .fv {
  background: url(../images/fv.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
@media screen and (max-width: 767px) {
  .no-webp .fv {
    background-size: cover;
  }
}
@media screen and (max-width: 575px) {
  .no-webp .fv {
    background: url(../images/fv_sp.jpg);
    background-size: cover;
  }
}

.fv {
  padding-top: 44.5%;
}
@media screen and (max-width: 767px) {
  .fv {
    padding-top: 55%;
  }
}
@media screen and (max-width: 575px) {
  .fv {
    padding-top: 100%;
  }
}

.fv div {
  position: absolute;
  left: 14.3%;
  top: 50%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  color: #fff;
}
@media screen and (max-width: 1280px) {
  .fv div {
    -webkit-transform: translateY(-55%);
            transform: translateY(-55%);
  }
}
@media screen and (max-width: 575px) {
  .fv div {
    -webkit-transform: translateY(-75%);
            transform: translateY(-75%);
    left: 20px;
  }
}

.fv h2 {
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 6.7rem;
  line-height: 1.6;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 5px #250B04);
          filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 5px #250B04);
}
@media screen and (max-width: 1280px) {
  .fv h2 {
    font-size: 4.6rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .fv h2 {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 575px) {
  .fv h2 {
    white-space: nowrap;
  }
}

.fv p {
  font-size: 2.1rem;
  font-weight: bold;
  padding-top: 14px;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 5px #250B04);
          filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 5px #250B04);
}
@media screen and (max-width: 1280px) {
  .fv p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .fv p {
    padding-top: 18px;
  }
}

@media screen and (max-width: 1280px) {
  .feature {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 575px) {
  .feature {
    margin-bottom: 0;
  }
}

.feature h2 {
  font-size: 4rem;
  text-align: center;
  padding: 45px 0;
}
@media screen and (max-width: 1280px) {
  .feature h2 {
    font-size: 2.6rem;
    padding: 24px 0;
  }
}
@media screen and (max-width: 575px) {
  .feature h2 {
    font-size: 2.4rem;
    line-height: 1;
    padding: 30px 0 24px;
  }
}

.feature h2 span {
  font-family: "minion-pro", serif;
  font-size: 7.4rem;
}
@media screen and (max-width: 1280px) {
  .feature h2 span {
    font-size: 4.8rem;
  }
}

.feature section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.feature section:nth-of-type(2n+1) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 1280px) {
  .feature section:nth-of-type(2n+1) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 1280px) {
  .feature section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    background-color: #A68758;
    max-width: 500px;
    margin: 0 auto 30px;
  }
  .feature section:last-of-type {
    margin-bottom: 0;
  }
}

.feature section > div {
  width: 50%;
}
@media screen and (max-width: 1280px) {
  .feature section > div {
    width: 100%;
  }
}

.feature_txt {
  color: #fff;
  background-color: #A68758;
}

.feature_txt .number {
  font-family: "minion-pro", serif;
  font-weight: 500;
  font-size: 2.8rem;
  z-index: 1;
  line-height: 1.2;
}
@media screen and (max-width: 1280px) {
  .feature_txt .number {
    font-size: 2.2rem;
  }
}

.feature_txt .number span {
  font-size: 7.4rem;
  margin-left: -10px;
  z-index: -1;
  opacity: 0.4;
}
@media screen and (max-width: 1280px) {
  .feature_txt .number span {
    font-size: 5.8rem;
  }
}
@media screen and (max-width: 575px) {
  .feature_txt .number span {
    letter-spacing: -0.08em;
  }
}

.feature_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: 0 12.8% 33px;
}
@media screen and (max-width: 1280px) {
  .feature_inner {
    padding: 10px 48px 30px;
  }
}
@media screen and (max-width: 575px) {
  .feature_inner {
    padding: 22px 20px;
  }
}

.feature_inner > * {
  max-width: 461px;
}

@media screen and (max-width: 575px) {
  .feature_inner div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    margin-bottom: 18px;
  }
}

.feature h3 {
  font-size: 3rem;
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  margin-bottom: 7px;
}
@media screen and (max-width: 1280px) {
  .feature h3 {
    font-size: 2.4rem;
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 575px) {
  .feature h3 {
    font-size: 2rem;
    margin-bottom: 0;
  }
}

.section {
  background: url(../images/bg.png);
  background-repeat: repeat;
  background-position: center;
  background-size: cover;
  padding: 100px 0 81px;
}
@media screen and (max-width: 1280px) {
  .section {
    padding: 60px 0 50px;
  }
}
@media screen and (max-width: 575px) {
  .section {
    padding-top: 40px;
  }
}

.section-copy {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 72px;
}
@media screen and (max-width: 1280px) {
  .section-copy {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 575px) {
  .section-copy {
    font-size: 2rem;
  }
}

.treatment {
  margin-bottom: 100px;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .treatment {
    margin-bottom: 80px;
  }
}

.treatment h3 {
  font-weight: normal;
}

.treatment h4 {
  font-size: 2rem;
  margin-bottom: 12px;
}
@media screen and (max-width: 1280px) {
  .treatment h4 {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 575px) {
  .treatment h4 {
    font-size: 1.8rem;
  }
}

.treatment section {
  margin-bottom: 90px;
  text-align: left;
}
@media screen and (max-width: 1280px) {
  .treatment section {
    max-width: 500px;
    border-bottom: 1px solid #A68758;
    padding-bottom: 20px;
    margin: 0 auto 40px;
  }
}
.treatment section:last-of-type {
  margin-bottom: 26px;
}
@media screen and (max-width: 1280px) {
  .treatment section:last-of-type {
    margin-bottom: 44px;
  }
}

.treatment section div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 36px;
}
@media screen and (max-width: 1280px) {
  .treatment section div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}

.treatment section img {
  width: 35.5%;
}
@media screen and (max-width: 1280px) {
  .treatment section img {
    width: 100%;
  }
}

.treatment section p {
  line-height: 2;
}

.btn-wrapper {
  text-align: right;
}
@media screen and (max-width: 1280px) {
  .btn-wrapper {
    text-align: center;
  }
}

.btn {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 41px;
  padding: 0 17px;
  color: #FFF;
  background-color: #A68758;
}

@media screen and (max-width: 1280px) {
  .first {
    text-align: center;
  }
}

@media screen and (max-width: 575px) {
  .first .section-title {
    margin-bottom: 35px;
  }
}

.first section {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.8%;
  margin-bottom: 85px;
}
@media screen and (max-width: 1280px) {
  .first section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 500px;
    margin: 0 auto 55px;
  }
}
.first section:last-of-type {
  margin-bottom: 0;
}

.first section img {
  width: 32%;
}
@media screen and (max-width: 1280px) {
  .first section img {
    width: 100%;
  }
}

.first_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: 25px;
}
@media screen and (max-width: 1280px) {
  .first_title {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 575px) {
  .first_title {
    gap: 18px;
  }
}

.first_title span {
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.2;
  font-family: "minion-pro", serif;
}

.first section h4 {
  font-weight: 600;
  font-size: 2rem;
}

@media screen and (max-width: 1280px) {
  .first section h4 small {
    display: block;
    font-size: 1.2rem;
  }
}

.first section p {
  padding-left: 7.6%;
}
@media screen and (max-width: 1280px) {
  .first section p {
    padding: 0;
    margin-bottom: 20px;
  }
}

.first .bold {
  font-weight: bold;
}

.first .first_lead {
  margin-bottom: 40px;
  text-align: left;
}

footer {
  background-color: #A68758;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  padding: 26px 10 20px;
}
@media screen and (max-width: 767px) {
  footer {
    font-size: 1.6rem;
    padding: 8px;
  }
}

.fix_btn {
  display: none;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 5;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.fix_btn a {
  font-size: 2rem;
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  text-align: center;
  color: #fff;
  background-color: #A68758;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 50%;
  padding: 23px 0;
}
.fix_btn a:first-of-type {
  border-right: 1px solid #fff;
}
@media screen and (max-width: 575px) {
  .fix_btn a:first-of-type {
    letter-spacing: 0.25em;
  }
}
@media screen and (max-width: 575px) {
  .fix_btn a {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .fix_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.fix_btn .tel::before {
  content: "\f095";
  padding-right: 4px;
  font-size: 1.6rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
@media screen and (max-width: 575px) {
  .fix_btn .tel::before {
    font-size: 1.2rem;
  }
}

.message {
  background: #A68758;
  color: #fff;
  padding: 64px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1280px) {
  .message {
    padding: 42px 32px 32px;
  }
}
@media screen and (max-width: 575px) {
  .message {
    padding: 18px 0;
  }
}

.message h2 {
  font-weight: 600;
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 4rem;
  margin-bottom: 60px;
}
@media screen and (max-width: 1280px) {
  .message h2 {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 575px) {
  .message h2 {
    margin-bottom: 20px;
  }
}

.message_txt {
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 2.8rem;
  max-width: 935px;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 1280px) {
  .message_txt {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 575px) {
  .message_txt {
    font-size: 1.6rem;
  }
}

.message_human {
  text-align: right;
}

.message_human span {
  display: block;
  font-size: 3.8rem;
}
@media screen and (max-width: 1280px) {
  .message_human span {
    font-size: 3.2rem;
  }
}

.widget {
  max-width: 750px;
  margin: 0 auto;
  padding: 84px 20px 100px;
  font-family: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media screen and (max-width: 1280px) {
  .widget {
    padding: 42px 20px 60px;
  }
}

.widget .site_title {
  font-size: 5rem;
  margin-bottom: 44px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1280px) {
  .widget .site_title {
    font-size: 3rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 575px) {
  .widget .site_title {
    font-size: 2rem;
  }
}

.site_copy {
  font-size: 2.6rem;
  margin-bottom: 44px;
}
@media screen and (max-width: 1280px) {
  .site_copy {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 575px) {
  .site_copy {
    font-size: 1.3rem;
  }
}

.widget h3 {
  font-size: 2.4rem;
  padding: 5px 15px;
  border: 1px solid #38140A;
  display: inline-block;
  line-height: 1.4;
}
@media screen and (max-width: 1280px) {
  .widget h3 {
    font-size: 1.8rem;
    padding: 2px 12px;
  }
}

.widget .treatment_ttl {
  padding: 10px 50px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1280px) {
  .widget .treatment_ttl {
    padding: 6px 30px;
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 575px) {
  .widget .treatment_ttl {
    font-size: 1.6rem;
  }
}

.widget .treatment_desc {
  font-size: 2.4rem;
  margin-bottom: 60px;
}
@media screen and (max-width: 1280px) {
  .widget .treatment_desc {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 575px) {
  .widget .treatment_desc {
    font-size: 1.3rem;
  }
}

.widget table {
  width: 100%;
  border-top: 1px solid #38140A;
  border-bottom: 1px solid #38140A;
  font-size: 2.8rem;
  margin-bottom: 11px;
}
@media screen and (max-width: 1280px) {
  .widget table {
    font-size: 2rem;
  }
}
@media screen and (max-width: 575px) {
  .widget table {
    font-size: 1.4rem;
    margin-bottom: 3px;
  }
}

.widget tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 15px;
  text-align: center;
}
@media screen and (max-width: 575px) {
  .widget tr {
    padding-bottom: 11px;
  }
}
.widget tr:first-of-type {
  padding-top: 15px;
}
@media screen and (max-width: 575px) {
  .widget tr:first-of-type {
    padding-top: 11px;
  }
}

.widget th,
.widget td {
  width: 9.5714285714%;
}

.widget th:first-of-type,
.widget td:first-of-type {
  width: 33%;
}

.widget table + p {
  text-align: right;
  margin-bottom: 50px;
  font-size: 2rem;
}
@media screen and (max-width: 1280px) {
  .widget table + p {
    font-size: 1.8rem;
    margin-bottom: 26px;
  }
}
@media screen and (max-width: 575px) {
  .widget table + p {
    font-size: 1.3rem;
  }
}

.widget iframe {
  display: block;
  width: 100%;
  margin-bottom: 22px;
}
@media screen and (max-width: 575px) {
  .widget iframe {
    margin-bottom: 11px;
    height: 380px;
  }
}

.widget iframe + p {
  font-size: 2rem;
  margin-bottom: 22px;
}
@media screen and (max-width: 1280px) {
  .widget iframe + p {
    font-size: 1.8rem;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 575px) {
  .widget iframe + p {
    font-size: 1.3rem;
    margin-bottom: 14px;
  }
}

.widget_access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 42px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1280px) {
  .widget_access {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 575px) {
  .widget_access {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 14px;
    margin-bottom: 26px;
  }
}

.widget_access ul {
  font-size: 2rem;
  line-height: 1.8;
}
@media screen and (max-width: 1280px) {
  .widget_access ul {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 575px) {
  .widget_access ul {
    font-size: 1.4rem;
  }
}

.widget_access ul li::before {
  content: "\f554";
  font-weight: 900;
  padding-right: 10px;
  font-size: 1.8rem;
  font-family: "Font Awesome 5 Free";
}
@media screen and (max-width: 575px) {
  .widget_access ul li::before {
    font-size: 1.6rem;
  }
}

.widget .cta {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 575px) {
  .widget .cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
  }
}

@media screen and (max-width: 575px) {
  .widget .cta p {
    padding: 0;
  }
}

@media screen and (max-width: 575px) {
  .widget .cta_links {
    margin: 0;
    padding: 0;
  }
  .widget .cta_links::after {
    content: none;
  }
}

@media screen and (max-width: 575px) {
  .widget .cta_links .tel {
    margin-bottom: 8px;
  }
}


#instaIconSp {
	display:none;
}
@media screen and (max-width: 1280px) {
	#instaIconSp {
		right:16%;
		position:absolute;
		display:block;
	}
}

.instaSp {
  font-size: 0;
  width: auto;
  display: block;
}
.instaSp::before {
  content: "\f16d";
  font-size: 3.0rem;
  color:#A68758;
  line-height: 1;
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}


