@charset "UTF-8";
/*
@mixin flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  @mixin flex-left {
    display: flex;
    flex-wrap: wrap;
  }

  @mixin flex-left-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  @mixin flex-top-left {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }

  @mixin flex-left-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
  }

  @mixin flex-right-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
  }

  @mixin flex-top-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
  }

  @mixin flex-right-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }

  @mixin flex-between-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  @mixin flex-between-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }

  @mixin flex-between-end {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }



  @mixin box-width {
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
  }

  @mixin transition-base {
    transition: all 0.3s ease-in-out;
  }

  @mixin ico-size-sm {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 100%;
    left: 15px;
  }

  @mixin ico-size-lsm {
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 17px;
    height: 100%;
    left: 15px;
  }

  @mixin ico-size-md {
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 23px;
    height: 100%;
    left: 15px;
  }


  @mixin ico-size-lmd {
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 30px;
    height: 100%;
    left: 15px;
  }
*/
body {
  font-family: "Noto Sans JP", serif;
  margin: 0;
  padding: 0;
  color: #4C4C4C;
  font-weight: 500;
}

a {
  color: #000000;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

li, ul, h1, h2, h3, h4, h5, div, p, figure, img, dl, dt, dd {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
  line-height: 1;
  height: auto;
  vertical-align: bottom;
}

.is-fixed {
  overflow: hidden !important;
}

.l-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
}
@media only screen and (min-width: 561px) {
  .l-wrapper {
    background-color: #ffffff;
  }
}

.l-header {
  width: 100%;
  height: 70px;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
  z-index: 999;
}
@media only screen and (min-width: 561px) {
  .l-header {
    height: 70px;
  }
}
.l-header .logo-header {
  width: 154.51px;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  line-height: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (min-width: 561px) {
  .l-header .logo-header {
    width: 154.51px;
  }
}
.l-header .logo-header a {
  width: 100%;
  display: block;
}
.l-header .header-inner {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  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;
  z-index: 1000;
  background-color: #ffffff;
}
.l-header .nav-btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.l-header .nav-btn-list .nav-btn-item {
  width: 170px;
  height: 100%;
  position: relative;
}
.l-header .nav-btn-list .nav-btn-item:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: rgba(112, 112, 112, 0.25);
  position: absolute;
  top: 0;
  right: 0;
}
.l-header .nav-btn-list .nav-btn-item .nav-btn-item-link {
  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;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  font-size: 18px;
  color: #000000;
  font-weight: 400;
  text-decoration: none;
}
.l-header .nav-btn-list .nav-btn-item .nav-btn-item-link:hover {
  font-weight: 700;
  background-color: rgba(204, 204, 204, 0.25);
}
.l-header .nav-btn-list .nav-btn-item .nav-btn-item-link.is-active {
  font-weight: 700;
  background-color: rgba(204, 204, 204, 0.25);
  pointer-events: none;
}
.l-header .nav-other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 120px;
}
.l-header .nav-other .user-name-block {
  font-size: 18px;
  font-weight: 400;
  width: 170px;
  text-align: center;
}
.l-header .nav-other .btn-logout {
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.l-header .nav-other .btn-logout:hover {
  opacity: 0.7;
}
.l-header .common-logo {
  width: 185px;
  position: absolute;
  top: 0;
  right: -120px;
  z-index: 2;
}

.header-hamburger {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  width: 50px;
  height: 50px;
  padding: 20px 10px;
  position: fixed;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  right: 0;
  top: 10px;
  background-color: #ffffff;
  top: 0;
  z-index: 10;
  cursor: pointer;
}
.hamburger {
  z-index: 10010;
  padding: 0;
  margin: 0;
}
.hamburger span {
  width: 100%;
  max-width: 30px;
  height: 1px;
  background-color: #000000;
  position: relative;
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
  display: block;
}
.hamburger span:nth-child(1) {
  top: 0;
  margin: 0 auto;
  width: 100%;
}
.hamburger span:nth-child(2) {
  margin: 9px auto;
  width: 100%;
}
.hamburger span:nth-child(3) {
  top: 0;
  margin: 0 auto;
  width: 100%;
}
.hamburger.active span {
  background-color: #000000;
}
.hamburger.active span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  top: -10px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
  width: 100%;
}

.nav-sp {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translateY(-110dvh);
          transform: translateY(-110dvh);
  background-color: #ffffff;
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
  z-index: 10000;
  background: url(../img/bg_nav_list.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  overflow-y: auto;
}
@media only screen and (min-width: 992px) {
  .nav-sp {
    top: 0;
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
    left: 20px;
    width: 240px;
    background: transparent;
  }
}
@media only screen and (min-width: 1200px) {
  .nav-sp {
    top: 0;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%);
    left: calc(50% - 450px);
    width: 240px;
    background: transparent;
  }
}
.nav-sp.active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.nav-sp .nav-sp-inner {
  max-width: 280px;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 992px) {
  .nav-sp .nav-sp-inner {
    padding-top: 30px;
    padding-bottom: 0;
  }
}
.nav-sp .nav-logo {
  width: 157px;
  margin: 0 auto 25px;
}
@media only screen and (min-width: 561px) {
  .nav-sp .nav-logo {
    width: 157px;
    margin: 0 auto 30px 0;
  }
}
.nav-sp .nav-h-list {
  width: 230px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
}
.nav-sp .nav-h-list .nav-h-list-item {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 15px;
  text-align: center;
  border-bottom: dashed 1px #707070;
}
@media only screen and (min-width: 992px) {
  .nav-sp .nav-h-list .nav-h-list-item {
    text-align: left;
  }
}
.nav-sp .nav-h-list .nav-h-list-item .nav-link {
  color: #4C4C4C;
}
.nav-sp .nav-h-list .nav-h-list-item .nav-link:hover {
  text-decoration: none;
}
.nav-sp .bnr-instagram {
  width: 230px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 992px) {
  .nav-sp .bnr-instagram {
    margin-top: 15px;
    margin-bottom: 20px;
  }
}
.nav-sp .btn-reserve-list {
  width: 100% !important;
  max-width: 280px !important;
}
.nav-sp .btn-reserve-list .reserve-text {
  font-size: 20px !important;
}

.l-footer {
  padding-bottom: 80px;
}
.l-footer .text-copyright {
  width: 100%;
  text-align: center;
  font-size: 12px;
  color: #4C4C4C;
  padding: 20px 0;
  position: relative;
}

.l-main {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 0;
  padding-bottom: 0;
  max-width: 552px;
}
@media only screen and (min-width: 561px) {
  .l-main {
    max-width: 450px;
    margin-top: 70px;
    margin-bottom: 0;
    padding-bottom: 0;
    -webkit-box-shadow: inset;
            box-shadow: inset;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1490196078);
            box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1490196078);
  }
}
.l-main.full {
  padding: 0;
}
.l-main .l-pagebody {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.l-main .l-pagebody.box {
  width: 1000px;
}

.row-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-hero {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  padding-top: 0;
  z-index: 1;
}
.l-hero .hero-inner {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.l-hero .kv-title-main {
  position: relative;
  z-index: 1;
}
.l-hero .kv-sub-01 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
}
.l-hero .kv-sub-02 {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
}
.l-hero .kv-sub-03 {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
}
.l-hero img {
  width: 100%;
}

.kv-btn-list {
  position: absolute;
  display: grid;
  grid-template-columns: 1fr 1fr;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 40px;
  width: 88%;
}
@media only screen and (min-width: 768px) {
  .kv-btn-list {
    width: 50%;
    position: absolute;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    top: 80%;
    bottom: auto;
    gap: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .kv-btn-list {
    width: 52%;
  }
}

.kv-btn-list-link {
  width: 100%;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.kv-btn-list-link:hover {
  opacity: 0.7;
}

.btn-common:hover {
  text-decoration: none;
}

.btn-line {
  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;
  background-color: #04C755;
  color: #ffffff;
  text-decoration: none;
  font-size: 19px;
  line-height: 1;
}
@media only screen and (min-width: 992px) {
  .btn-line {
    font-size: 22px;
  }
}
.btn-line .ico-btn-line {
  width: 32px;
  line-height: 1;
}
.btn-line.btn-line-kv {
  width: 240px;
  height: 56px;
  border-radius: 8px;
}

.btn-reserve {
  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;
  background-color: #F96E6E;
  color: #ffffff;
  text-decoration: none;
  font-size: 19px;
  line-height: 1;
}
@media only screen and (min-width: 992px) {
  .btn-reserve {
    font-size: 22px;
  }
}
.btn-reserve .ico-btn-reserve {
  width: 32px;
  line-height: 1;
}
.btn-reserve .sm {
  font-size: 10px;
  font-weight: 500;
}
@media only screen and (min-width: 992px) {
  .btn-reserve .sm {
    font-size: 11.5px;
  }
}
.btn-reserve.btn-reserve-kv {
  width: 240px;
  height: 56px;
  border-radius: 8px;
}

.page-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.page-kv-bottom {
  width: 100%;
  position: relative;
  z-index: 2;
  padding: 20px 0 35px;
}
.page-kv-bottom .kv-bottom-inner {
  position: relative;
  width: 100%;
}
.page-kv-bottom .bg_kv-bottom {
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

.page-monitor-campaign .monitor-campaign-title {
  width: 90%;
  margin: 0 auto 10px;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-inner {
  background: url(../img/bg_monitor_camp.webp);
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 50px;
  overflow: hidden;
}
.page-monitor-campaign .monitor-campaign-group {
  margin-bottom: 160px;
}
.page-monitor-campaign .monitor-campaign-card {
  width: 96%;
  height: 100%;
  position: relative;
  margin: 0 auto 50px;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-head {
  width: 107%;
  position: absolute;
  left: -11%;
  top: -11%;
  z-index: 2;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-head .monitor-campaign-card-title {
  width: 100%;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body {
  position: absolute;
  top: 16%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-heading {
  width: 86%;
  margin: 0 auto 20px;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-price {
  width: 89%;
  margin: 0 auto -5px;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-price.price-02 {
  width: 95%;
  margin: 0 -1% -5px auto;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-price.price-03 {
  width: 95%;
  margin: 0 -1% -5px auto;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-bottom {
  border-radius: 10px;
  width: 85%;
  min-width: 320px;
  margin: 0 auto 0;
  padding: 20px 16px;
  background-color: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-bottom .text-01 {
  font-size: 18px;
  font-weight: 400;
  margin: 0 0 5px 0;
  padding: 0;
  line-height: 1.5;
}
.page-monitor-campaign .monitor-campaign-card .monitor-campaign-card-body .monitor-campaign-card-bottom .text-02 {
  font-size: 15px;
  font-weight: 400;
  margin: 0;
  padding: 0;
}
.page-monitor-campaign .case-introduction-group {
  margin: 0;
}
.page-monitor-campaign .case-introduction-group {
  position: relative;
  margin-bottom: 25px;
}
.page-monitor-campaign .case-introduction-group:last-child {
  margin-bottom: 0;
}
.page-monitor-campaign .case-introduction-group .case-introduction-title-01,
.page-monitor-campaign .case-introduction-group .case-introduction-title-02,
.page-monitor-campaign .case-introduction-group .case-introduction-title-03 {
  width: 64%;
  margin: 0 auto 30px;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card {
  background-color: #ffffff;
  width: 94%;
  margin: 0 auto;
  padding: 25px 0;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-head {
  position: relative;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-head.case-introduction-card-head-01 {
  width: 78%;
  margin: 0 auto 20px;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-head.case-introduction-card-head-02 {
  width: 78%;
  margin: 0 auto 20px;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-head .case-introduction-card-title {
  width: 100%;
  line-height: 1;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-body {
  width: 93%;
  margin: 0 auto 0;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-body .case-introduction-card-before-after {
  width: 100%;
  margin: 0 0 15px;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-body .case-introduction-card-bottom .text-01 {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-body .case-introduction-card-bottom .case-introduction-text-list {
  margin: 0;
  padding: 0;
}
.page-monitor-campaign .case-introduction-group .case-introduction-card .case-introduction-card-body .case-introduction-card-bottom .case-introduction-text-list .case-introduction-text-list-item {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 300;
  line-height: 1.5;
}

.bg-contenst-04 {
  background: url(../img/bg_contents_04.webp);
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 70px;
  overflow: hidden;
  margin-top: -30px;
  position: relative;
  z-index: 3;
}

.page-double-burial {
  position: relative;
  z-index: 3;
}
.page-double-burial .page-double-burial-inner {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-double-burial .title-double-burial {
  width: 54%;
  margin: 0 auto 25px;
}
.page-double-burial .double-burial-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 90%;
  margin: 0 auto;
}
.page-double-burial .double-burial-list .double-burial-list-item {
  width: calc(50% - 8px);
  position: relative;
  margin-bottom: 16px;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-head {
  width: 90%;
  margin: 0 auto 10px;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-body {
  width: 90%;
  margin: 0 auto 0;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .bg-double-burial-card {
  position: relative;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-option-list .double-burial-card-option-list-item {
  margin: 0 auto 5px;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-option-list .double-burial-card-option-list-item.item-01 {
  width: 72%;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-option-list .double-burial-card-option-list-item.item-02 {
  width: 78%;
}
.page-double-burial .double-burial-list .double-burial-list-item .double-burial-card .double-burial-card-option-list .double-burial-card-option-list-item.item-03 {
  width: 65%;
}
.page-double-burial .page-double-burial-bg {
  width: 102%;
}

.bg-contenst-05 {
  background: url(../img/bg_contents_05.webp);
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 70px;
  overflow: hidden;
  margin-top: -80px;
  position: relative;
  z-index: 2;
}

.page-safety-beauty {
  padding: relative;
}
.page-safety-beauty .page-safety-beauty-inner {
  position: relative;
  width: 100%;
}
.page-safety-beauty .badge-safety-beauty {
  width: 70%;
  margin: -30% auto 10px;
  position: relative;
}
.page-safety-beauty .title-safety-beauty {
  width: 90%;
  margin: 0 auto 30px;
  position: relative;
}
.page-safety-beauty .safety-beauty-list {
  width: 100%;
  margin-bottom: 50px;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item {
  position: relative;
  margin-bottom: 40px;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item:last-child {
  margin-bottom: 0;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item .safety-beauty-list-item-card {
  position: relative;
  margin: 0 0 0 auto;
  width: 95%;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item .safety-beauty-list-item-card.left {
  margin: 0 auto 0 0;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item .safety-beauty-list-item-card .safety-beauty-list-item-card-head {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.page-safety-beauty .safety-beauty-list .safety-beauty-list-item .safety-beauty-list-item-card .safety-beauty-list-item-card-head .safety-beauty-list-item-card-head-title {
  position: relative;
  line-height: 1;
}

.bg-contenst-06 {
  background: url(../img/bg_contents_06.webp);
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 70px;
  overflow: hidden;
  margin-top: 0;
  position: relative;
  z-index: 2;
}

.page-doctor-introduction {
  position: relative;
  margin-bottom: 50px;
}
.page-doctor-introduction .page-doctor-introduction-inner {
  position: absolute;
  width: 90%;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
.page-doctor-introduction .title-doctor-introduction {
  width: 55%;
  margin: 0 auto 25px;
}
.page-doctor-introduction .title-doctor-introduction .title {
  width: 100%;
  line-height: 1;
}
.page-doctor-introduction .bg-doctor-introduction {
  position: relative;
  width: calc(90% + 5px);
  height: 100%;
  margin: 0 auto;
}
.page-doctor-introduction .bg-doctor-introduction img {
  -webkit-filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.6));
          filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.6));
}
.page-doctor-introduction .doctor-info {
  width: 92%;
  margin: 0 auto 0;
  position: relative;
  overflow: hidden;
  background: url(../img/bg_doctor_introduction_contents.webp);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 90px;
  z-index: 1;
}
.page-doctor-introduction .doctor-info .name {
  line-height: 1;
  width: 100%;
  position: relative;
  z-index: 4;
}
.page-doctor-introduction .career-group-wrap {
  width: 93%;
  height: auto;
  position: relative;
  z-index: 2;
  margin: -16% auto 0;
}
.page-doctor-introduction .career-group-wrap .title-career {
  width: 19%;
  position: relative;
  padding: 30px 0 20;
}
.page-doctor-introduction .career-group-wrap .title-career:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #AF812F;
  position: absolute;
  left: 5.5%;
  top: 0;
  z-index: 2;
}
@media only screen and (min-width: 561px) {
  .page-doctor-introduction .career-group-wrap .title-career:after {
    left: 5.5%;
  }
}
.page-doctor-introduction .career-group-wrap .career-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-doctor-introduction .career-group-wrap .career-group .text-career-year {
  width: 32%;
  position: relative;
  padding: 12px 0;
}
@media only screen and (min-width: 561px) {
  .page-doctor-introduction .career-group-wrap .career-group .text-career-year {
    padding: 19px 0;
  }
}
.page-doctor-introduction .career-group-wrap .career-group .text-career-year.title-career {
  padding: 50px 0 12px;
}
.page-doctor-introduction .career-group-wrap .career-group .text-career-year:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #AF812F;
  position: absolute;
  left: 5.5%;
  top: 0;
  z-index: 2;
}
@media only screen and (min-width: 376px) {
  .page-doctor-introduction .career-group-wrap .career-group .text-career-year:after {
    left: 5.5%;
  }
}
.page-doctor-introduction .career-group-wrap .career-group:last-child .text-career-year:after {
  height: 50%;
}
.page-doctor-introduction .career-group-wrap .career-group .text-career-text {
  width: 68%;
  font-size: 10px;
  font-weight: 400;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 5%;
}
@media only screen and (min-width: 376px) {
  .page-doctor-introduction .career-group-wrap .career-group .text-career-text {
    font-size: 12px;
  }
}
.page-doctor-introduction .academic-conference-wrap {
  width: 90%;
  height: auto;
  position: relative;
  z-index: 2;
  margin: 20px auto 0;
}
.page-doctor-introduction .academic-conference-wrap .academic-conference-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  width: 100%;
}
.page-doctor-introduction .academic-conference-wrap .title-academic-conference {
  width: 54%;
  margin: 0 auto 10px;
  position: relative;
}
.page-doctor-introduction .academic-conference-wrap .academic-conference-list {
  margin: 0 auto;
  padding: 0;
  width: 90%;
}
.page-doctor-introduction .academic-conference-wrap .academic-conference-list .academic-conference-list-item {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 300;
  line-height: 1.4;
  font-size: 14px;
  font-weight: 400;
}
@media only screen and (min-width: 376px) {
  .page-doctor-introduction .academic-conference-wrap .academic-conference-list .academic-conference-list-item {
    font-size: 15px;
  }
}
.page-doctor-introduction .announcement-wrap {
  width: 92%;
  height: 100%;
  position: relative;
  z-index: 2;
  margin: -60px auto 0;
  padding-top: 30px;
  padding-bottom: 10px;
  background: url(../img/bg_announcement.webp);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (min-width: 376px) {
  .page-doctor-introduction .announcement-wrap {
    padding-bottom: 20px;
  }
}
.page-doctor-introduction .announcement-wrap .announcement-inner {
  position: relative;
  z-index: 2;
  width: 100%;
}
.page-doctor-introduction .announcement-wrap .title-announcement {
  width: 88%;
  margin: 25px auto 0;
}
.page-doctor-introduction .announcement-wrap .title-announcement img {
  width: 100%;
}
.page-doctor-introduction .announcement-wrap .text-announcemen {
  font-size: 14px;
  font-weight: 400;
  width: 88%;
  margin: -18% auto 0;
}
@media only screen and (min-width: 376px) {
  .page-doctor-introduction .announcement-wrap .text-announcemen {
    font-size: 15px;
    margin: -14% auto 0;
  }
}

.skin-redrape-wrap {
  padding-bottom: 30px;
}
.skin-redrape-wrap .title-skin-redrape {
  width: 78%;
  margin: 0 auto 20px;
  position: relative;
}
.skin-redrape-wrap .photo-skin-redrape {
  width: 90%;
  margin: 0 auto 20px;
  position: relative;
}
.skin-redrape-wrap .text-skin-redrape {
  width: 90%;
  margin: 0 auto 25px;
  position: relative;
}
.skin-redrape-wrap .text-skin-redrape .text-01 {
  font-size: 16px;
  font-weight: 500;
}

.page-clinic-info-wrap {
  position: relative;
  width: 100%;
  padding-top: 70px;
}
.page-clinic-info-wrap .page-clinic-info-inner {
  position: relative;
  width: 90%;
  margin: 0 auto 0;
}
.page-clinic-info-wrap .page-clinic-info-inner .title-clinic-info {
  width: 88%;
  margin: 0 auto 30px;
  line-height: 1;
}
.page-clinic-info-wrap .page-clinic-info-inner .title-clinic-info .title {
  width: 100%;
  line-height: 1;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info {
  width: 100%;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-photo {
  width: 100%;
  position: relative;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table {
  width: 94%;
  margin: -10% auto 70px;
  position: relative;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .clinic-info-table-inner {
  position: absolute;
  top: 4%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  width: 88%;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .title-clinic-info-table {
  width: 37%;
  margin: 0 auto 20px;
  position: relative;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group.top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group dt {
  width: 21%;
  padding: 0;
  margin: 0;
  line-height: 1;
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group dd {
  width: 79%;
  padding-left: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 12px;
  font-weight: 400;
}
@media only screen and (min-width: 376px) {
  .page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group dd {
    font-size: 13px;
  }
}
.page-clinic-info-wrap .page-clinic-info-inner .clinic-info .clinic-info-table .info-table-group dd .note-box {
  border: solid 1px #3A3534;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin-top: 5px;
}
.page-clinic-info-wrap .page-clinic-info-inner .accessmap-info {
  position: relative;
  width: 90%;
  margin: 0 auto 0;
  padding-bottom: 100px;
}
.page-clinic-info-wrap .page-clinic-info-inner .accessmap-info .accessmap-info-table {
  width: 50%;
  margin: 0 auto 20px;
}
.page-clinic-info-wrap .page-clinic-info-inner .map-responsive {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
}
.page-clinic-info-wrap .page-clinic-info-inner .map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.page-clinic-info-wrap .page-clinic-info-inner .access-train {
  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;
  margin-top: 10px;
}
.page-clinic-info-wrap .page-clinic-info-inner .access-train .text {
  font-size: 16px;
  font-weight: 400;
}
.page-clinic-info-wrap .page-clinic-info-inner .access-train .ico {
  width: 20px;
  margin-right: 5px;
  margin-top: 4px;
}

.btn-reserve-list {
  position: relative;
  z-index: 3;
  width: 81%;
  margin-left: auto;
  margin-right: auto;
}
.btn-reserve-list .btn-reserve-list-item a {
  display: block;
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  line-height: 1;
}
.btn-reserve-list .btn-reserve-list-item a .reserve-text {
  position: absolute;
  left: 52%;
  top: 46%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  line-height: 1;
}
.btn-reserve-list .btn-reserve-list-item:first-child {
  margin-bottom: 15px;
}

.headding-contents {
  text-align: center;
  position: relative;
  z-index: 3;
}
.headding-contents .headding-contents-lead {
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  color: #B4910C;
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .headding-contents .headding-contents-lead {
    font-size: 18px;
    margin-bottom: 8px;
  }
}
.headding-contents .headding-contents-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 26px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .headding-contents .headding-contents-title {
    font-size: 36px;
  }
}

.note-item-list .note-item {
  list-style: none;
  position: relative;
  margin-left: 0;
  padding-left: 1em;
  font-size: 12px;
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .note-item-list .note-item {
    font-size: 12px;
  }
}
.note-item-list .note-item:last-child {
  margin-bottom: 0;
}
.note-item-list .note-item::before {
  content: "※";
  position: absolute;
  left: 0;
}

.floating-pagetop {
  width: 62px;
  position: fixed;
  z-index: 100;
  right: 10px;
  bottom: 80px;
}
@media only screen and (min-width: 992px) {
  .floating-pagetop {
    width: 62px;
    right: 200px;
    bottom: 30px;
  }
}
.floating-pagetop .floating-pagetop-btn {
  border-radius: 50%;
  width: 62px;
  height: 62px;
  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;
  position: relative;
  line-height: 1;
}
.floating-pagetop .floating-pagetop-btn:after {
  content: "";
  background-color: rgba(168, 146, 84, 0.9);
  -webkit-filter: blur(6.6667px);
          filter: blur(6.6667px);
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border-radius: 50rem;
}
.floating-pagetop .floating-pagetop-btn img {
  width: 50px;
  line-height: 1;
  position: relative;
  z-index: 2;
}

.floating-nav {
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 10px;
  z-index: 99;
  line-height: 1;
  width: 90%;
  max-width: 350px;
}
.floating-nav .floating-nav-list {
  width: 100%;
  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;
  line-height: 1;
}
.floating-nav .floating-nav-list-item.bnr-line {
  width: 39%;
}
.floating-nav .floating-nav-list-item.bnr-web {
  width: 39%;
}
.floating-nav .floating-nav-list-item.bnr-tel {
  width: 17%;
}
.floating-nav .floating-nav-list .floating-nav-list-item-link {
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  text-decoration: none;
  width: 100%;
  display: block;
}
.floating-nav .floating-nav-list .floating-nav-list-item-link:hover {
  opacity: 0.8;
}

.btn-line {
  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;
  background-color: #04C755;
  color: #ffffff;
  text-decoration: none;
  font-size: 19px;
  line-height: 1;
  width: 100%;
  height: 56px;
}
@media only screen and (min-width: 768px) {
  .btn-line {
    font-size: 22px;
    display: none;
  }
}
.btn-line .ico-btn-line {
  width: 32px;
  line-height: 1;
  margin-right: 15px;
}
.btn-line .btn-text {
  line-height: 1;
  font-weight: 600;
}

.btn-reserve {
  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;
  background-color: #F96E6E;
  color: #ffffff;
  text-decoration: none;
  font-size: 19px;
  line-height: 1;
  width: 100%;
  height: 56px;
}
@media only screen and (min-width: 768px) {
  .btn-reserve {
    font-size: 22px;
    display: none;
  }
}
.btn-reserve .ico-btn-reserve {
  width: 32px;
  line-height: 1;
  margin-right: 15px;
}
.btn-reserve .btn-text {
  line-height: 1;
  font-weight: 600;
}
.btn-reserve .sm {
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
}
@media only screen and (min-width: 992px) {
  .btn-reserve .sm {
    font-size: 11.5px;
  }
}

.loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 9999;
}
.loading-screen .loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.thanks-page-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 100px;
  background-color: #F4F3E9;
}
.thanks-page-section .thanks-headding {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 20px;
  margin-bottom: 30px;
  color: #B4910C;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .thanks-page-section .thanks-headding {
    font-size: 26px;
    margin-bottom: 40px;
  }
}
.thanks-page-section .thanks-text {
  text-align: center;
  width: calc(100% - 40px);
  font-size: 13px;
  font-weight: 400;
  margin-bottom: 30px;
  color: #4C4C4C;
  line-height: 1.8;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .thanks-page-section .thanks-text {
    font-size: 15px;
    margin-bottom: 40px;
  }
}
.thanks-page-section .link-back-text {
  width: 100%;
  text-align: center;
  margin-bottom: 60px;
}
.thanks-page-section .link-back-text a {
  font-size: 17px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #4C4C4C;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline-block {
  display: inline-block !important;
}

@media only screen and (min-width: 561px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-inline-md-block,
  .d-md-inline-block {
    display: inline-block !important;
  }
}
@media only screen and (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-inline-md-block,
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .just-content-md-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .justify-content-md-between {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .align-items-md-end {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .flex-row-md-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-inline-lg-block,
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .align-items-lg-end {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .flex-row-lg-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .just-content-lg-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
}
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}