/*
  Theme Name:   Bootstrap Basic4 Child 2
  Template:     bootstrap-basic4
*/
/* .btn-outline-white::before {
  position: relative;
  z-index: 3;
  color:#333;
}
.btn-outline-white:hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: -130%;
  background:#333;
  width:120%;
  height: 100%;
  transform: skewX(-25deg);
}
.btn-outline-white:hover::before {
  animation: skewanime .5s forwards;
}
@keyframes skewanime {
  100% {
    left:-10%;
  }
} */
.indent {
  text-indent: 1em;
}
.kome {
  text-indent: -1em;
  padding-left: 1em;
}
.w-sm {
  width: 100%;
  max-width: var(--breakpoint-sm);
}
.w-md {
  width: 100%;
  max-width: var(--breakpoint-md);
}
.w-lg {
  width: 100%;
  max-width: var(--breakpoint-lg);
}
.w-4-3 {
  aspect-ratio: 4 / 3;
}
.obj-contain {
  object-fit: contain;
}
.block, .section {
  margin-bottom: 9rem;
}
.border-bold {
  border-width: .3rem !important;
}
.over {
  opacity: .75;
  transition: .5s;
}

svg.icon {
  stroke: var(--gray-dark);
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -15%;
}
.icon-left,
.icon-right {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.icon-text {
  flex-grow: 2;
  width: calc(100% - 1em - .5rem);
}
svg.icon-icon {
  vertical-align: 0;
  height: 1.8em;
}
.icon-left > .icon-icon,
.icon-right > .icon-text {
  margin-right: .5rem;
}


.line-height-sm {
  line-height: 1.5;
}

/* hタグ */
/* h3 {
  text-align: center;
  color: var(--main);
} */
.keep-all {
  word-break: keep-all;
}
.h-title-bg {
  margin-bottom: 3rem;
  position: relative;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--black);
}
.h-title-bg::after {
  content: "";
  background: url(/img/h-title-bg.png) no-repeat center left / clamp(350px, 50vw, 500px);
  width: clamp(350px, 50vw, 500px);
  height: clamp(350px, 50vw, 500px);
  background-size: clamp(350px, 50vw, 500px);
  bottom: calc(clamp(350px, 50vw, 500px) / 2 * -1);
  left: calc(clamp(350px, 50vw, 500px) / 2 * -1);
  position: absolute;
  display: flex;
  z-index: -2;
}
.h-line-bg {
  text-align: center;
  margin-bottom: 5rem;
  position: relative;
}
.h-line-bg::after {
  content: "";
  background: url(/img/h-line-bg.png) no-repeat bottom center / 150px;
  width: 100%;
  height: 60px;
  position: absolute;
  display: flex;
  bottom: -1.5rem;
  z-index: -1;
}
.h-line-sm-bg {
  margin-bottom: 5rem;
  position: relative;
  font-weight: 400;
  text-align: center;
}
.h-line-sm-bg::after {
  content: "";
  background: url(/img/h-line-sm-bg.png) no-repeat bottom center / 110px;
  width: 100%;
  height: 30px;
  position: absolute;
  display: flex;
  bottom: -.8rem;
  z-index: -1;
}
.h-line-xs-bg {
  margin-bottom: 5rem;
  position: relative;
  font-weight: 400;
  /* text-align: center; */
}
.h-line-xs-bg::after {
  content: "";
  background: url(/img/h-line-xs-bg.png) no-repeat left 0 bottom / 250px;
  width: 100%;
  height: 13px;
  position: absolute;
  display: flex;
  bottom: -0.3rem;
  left: -.5rem;
  z-index: -1;
}

.bg-light-img {
  background: #f5f2ea url(/img/bg-light.jpg) repeat;
}

.single .entry-content h2, .single-h2 {
  margin-top: 6rem;
  position: relative;
  padding: .5rem .75rem;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
}
.single .entry-content h2::after, .single-h2::after {
  content: "";
  background: url(/img/h-line-single-h2.png) no-repeat left center;
  background-size: 100% 100%;
  width: calc(100% + 1em);
  height: calc(100% + 2em);
  position: absolute;
  display: flex;
  bottom: -1em;
  left: -.5em;
  z-index: -1;
}
.single .entry-content h2:first-child, .single-h2:first-child {
  margin-top: 0;
}
.single .entry-content h3, .single-h3 {
  margin-top: 3rem;
  padding-left: .5rem;
  position: relative;
}
.single .entry-content h3::after, .single-h3::after {
  content: "";
  background: url(/img/h-line-single-h3.png) no-repeat left 0 bottom / 250px;
  width: 100%;
  height: 20px;
  position: absolute;
  display: flex;
  bottom: -0.3rem;
  left: 0;
  z-index: -1;
}
.single .entry-content h4, .single-h4 {
  position: relative;
  padding: .25rem 0 .25rem 1rem;
  margin-top: 3rem;
}
.single .entry-content h4::after, .single-h4::after {
  content: "";
  background: url(/img/h-line-single-h4.png) no-repeat left bottom / cover;
  position: absolute;
  top: -.75rem;
  left: 0;
  border-radius: 3px;
  width: 70px;
  height: 70px;
  z-index: -1;
}

.kawanos-wrap {
  display: flex;
  flex-flow: column;
}
.kawanos-point {
  font-size: 90%;
  padding: .75rem;
  border-top: 3px solid var(--border);
  border-bottom: 3px solid var(--border);
  position: relative;
  margin-top: min(12vw, 80px);
  width: 100%;
  max-width: var(--breakpoint-lg);
  margin-left: auto;
  margin-right: auto;
}
.kawanos-point:before {
  content: "";
  background: url(/img/kawanos-point.png) no-repeat center;
  background-size: auto 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: calc(-1 * min(12vw, 80px) - 3px);
  left: 0;
  height: min(12vw, 80px);
}


.toggle-box .toggle-item {
  cursor: pointer;
  position: relative;
  padding-right: 1rem;
}
.toggle-box .toggle-item + * {
  transition: height 0.5s;
  overflow: hidden; /* 要素のコンテンツが見えないようにする */
  height: 0; /* 初期の高さを0に設定 */
}
.toggle-box .toggle-item::before, .toggle-box .toggle-item::after {
  content: "";
  width: .7em;
  border-top: 1px solid #d98308;
  position: absolute;
  top: calc(50% - .1em);
  right: 0;
  transition: .5s;
}
.toggle-box .toggle-item::before {
  transform: rotateZ(0deg);
}
.toggle-box .toggle-item::after {
  transform: rotateZ(90deg);
}
.toggle-box .toggle-item.toggle-active::before {
  content: "";
  transform: rotateZ(180deg);
}
.toggle-box .toggle-item.toggle-active::after {
  opacity: 0;
  transition: .5s;
}


#content {
  margin-top: calc(50px + 1rem);
}
/* header */
#esorakampo {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  max-width: 100%;
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 9999;
}
.header-logo {
  max-width: 100%;
  height: auto;
}
/* .flont-on .header-logo {
  filter: brightness(100);
  transition: .5s;
} */
.navbar {
  /* position: fixed; */
  /* width: 100%; */
  /* top: 0; */
  /* left: 0; */
  /* z-index: 9999; */

  /* position: fixed;
  max-width: 100%;
  top: 1rem;
  right: 1rem;
  z-index: 9999;
  width: 50px;
  display: block; */
  padding: 0;
}
.navbar-toggler {
  position: fixed;
  display: block;
  padding: 0;
  max-width: 100%;
  top: 1rem;
  right: 1rem;
  width: 50px;
  height: 50px;
  z-index: 9999;
}
.collapse:not(.show) {
  display: block;
  transition: .5s;
  right: -100%;
}
.navbar-collapse {
  position: fixed;
  padding: calc(50px + 1rem) 2rem 2rem;
  min-height: 100vh;
  height: 100%;
  background: rgba(var(--light-rgb), .85);
  backdrop-filter: blur(4px);
  right: 0;
  top: 0;
  width: 100%;
  z-index: 100;
  transition: .5s;
}
@media (min-width: 768px) {
  .collapse:not(.show) {
    right: -50%;
  }
  .navbar-collapse {
    width: 50%;
  }
}
.site-logo-footer {
  display: block;
  width: 100%;
  max-width: 300px;
}
.navbar-light .navbar-toggler {
  border: none;
  outline: none;
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(51, 51, 51, 1);
  text-decoration: none;
}
button:focus {
  outline: none;
}
.navbar-toggler-icon, .navbar-toggler-icon::before, .navbar-toggler-icon::after {
  width: 30px;
  height: 2px;
  background: #aaa;
  border-radius: 1px;
}
.navbar-light .navbar-toggler-icon {
  background-image: none;
}
.navbar-toggler-icon {
  position: relative;
  /* margin: 13px 0; */
  transition: .5s;
  top: -2px;
}
.navbar-toggler-icon::before, .navbar-toggler-icon::after {
  content: "";
  position: absolute;
  transition: .5s;
  transform: rotate(0);
}
.navbar-toggler-icon::before {
  top: -10px;
  left: 0;
  transform-origin: left top;
}
.navbar-toggler-icon::after {
  top: 10px;
  left: 0;
  transform-origin: left bottom;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  width: 2px;
  background: rgba(170, 170, 170, 0);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before, .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transform-origin: left 0 0;
  width: 36px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
  transform: rotate(36deg);
  left: -13px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transform: rotate(-34deg);
  left: -14.5px;
  top: 11px;
}
.disable-scroll {
  overflow: hidden;
}


.calendar-caption {
  color: var(--black);
}
.xo-event-calendar table.xo-month > thead th.saturday {
  color: #333;
}
.xo-event-calendar table.xo-month > thead th.sunday {
  color: var(--red);
}
.xo-event-calendar table.xo-month .month-dayname td div.today {
  background: var(--point);
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  color: #fff;
  margin-left: calc(100% - 1.5rem - 3px);
}
.xo-event-calendar table.xo-month .month-dayname td div {
  padding: 6px;
}
.xo-event-calendar table.xo-month, .xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month th, .xo-event-calendar p.holiday-title span {
  border-color: rgba(var(--gray-rgb), .3);
}

/* フロントページ */
.flont-wrap {
  background: #3D2B20 url(/img/top-sm.jpg) no-repeat center center;
  background-size: cover;
  color: #fff;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 0;
}
.flont-wrap::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(.5);
  z-index: -1;
}
.flont-img {
  width: 65px;
  height: auto;
  filter: brightness(100);
}
.flont-wrap .btn {
  width: 250px;
}
.flont-text {
  text-shadow: 0 2px 2px #666;
}
.scrolldown{
  position: absolute;
  left: 50%;
  bottom: 1rem;
  height: 2rem;
}

.scrolldown span{
  position: absolute;
  left: calc(-50% - 2em);
  top: -1.5rem;
  color: #fff;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
.scrolldown::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 2rem;
  background: #fff;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}
@keyframes pathmove{
  0%{
    height: 0;
    top: 0;
    opacity: 0;
  }
  30%{
    height: 1.2rem;
    opacity: 1;
  }
  100%{
    height: 0;
    top: 2rem;
    opacity: 0;
  }
}

.contact-img {
  width: 300px;
  height: 150px;
}

.yosan {
  font-size: 90%;
}
.yosan dt {
  width: calc(4em + 1rem);
}
.flow {
  padding-left: 0;
  list-style: none;
}
.flow > li {
  display: flex;
}
.flow-no {
  margin-right: 1rem;
}
/* .flow > li:not(:last-child) .flow-no::after {
  content: "";
  border-left: rgba(var(--main-rgb), .25) solid 3px;
  height: calc(100% - 3.5rem - 5rem);
  display: inline-block;
  margin-left: calc(50% - 1.5px);
  margin-top: 2.5rem;
} */
.flow-no > * {
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid #666;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
}
.flow-no > *::after {
  content: "";
  background: url(/img/flow-bg.png) no-repeat center center;
  background-size: cover;
  width: 4.3rem;
  height: 4.3rem;
  position: absolute;
  top: -.4rem;
  left: -.4rem;
  z-index: -1;
}
.flow-content {
  flex-grow: 2;
}
.flow > li:not(:last-child) .flow-content {
  margin-bottom: 3rem;
}

/* おすすめ商品 */
.swiper {
  padding-bottom: 2.5rem;
}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 0rem;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
  top: calc(50% - 3.5rem);
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
  top: calc(50% - 3.5rem);
}
.swiper-button-next, .swiper-button-prev {
  color: var(--black);
  opacity: 0.5;
  transition: 0.15s;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
  opacity: 1;
  transition: 0.15s;
}
.swiper-pagination-bullet-active {
  background: rgba(var(--main-rgb),.75);
}


/* .splide__list {
  transition: .5s;
} */
.splide__pagination__page.is-active {
  background: rgba(var(--main-rgb), .7);
}
.splide__arrow {
  background: var(--light);
  border-radius: 0;
  height: 3em;
}
.splide__arrow svg {
  fill: #333;
}
#product .splide__arrow {
  top: 32.5%;
}
#newsletter .splide__arrow, #column .splide__arrow {
  top: calc(50% - 3.5rem);
}
@media (min-width: 768px) {
  .flont-wrap {
    background: #3D2B20 url(/img/top.jpg) no-repeat center center;
  }
  .flont-img {
    width: 150px;
  }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}

.th-sticky, .th-sticky-top {
  border-collapse: separate;
  border-spacing: 0px;
}
.th-sticky th, .th-sticky-top th {
  position: sticky;
  top:0;
  z-index: 1;
  background: var(--white);
}
.th-sticky th {
  left: 0;
}
.th-sticky-top tr:first-of-type th:first-of-type,
.th-sticky thead th:first-of-type {
  z-index: 2;
}
.table-bordered.th-sticky th, .table-bordered.th-sticky td,
.table-bordered.th-sticky-top th, .table-bordered.th-sticky-top td {
  border-right-width: 0;
  border-top-width: 0;
  border-left-width: 1px;
  border-bottom-width: 1px;
}
.table-bordered.th-sticky thead th, .table-bordered.th-sticky thead td,
.table-bordered.th-sticky-top thead th, .table-bordered.th-sticky-top thead td {
  border-top-width: 1px;
  border-bottom-width: 2px;
}
.table-bordered.th-sticky thead th:first-child,
.table-bordered.th-sticky th:last-child, .table-bordered.th-sticky td:last-child,
.table-bordered.th-sticky-top th:last-child, .table-bordered.th-sticky-top td:last-child {
  border-right-width: 1px;
}
.table-bordered.th-sticky tbody th,
.table-bordered.th-sticky-top tbody th {
  border-right-width: 1px;
}

.gogyo-table {
  font-size: 80%;
}
.gogyo-table th {
  text-align: center;
  width: 4.5em;
}
.kyusei-hayami, .gogyo-hayami {
  font-size: 80%;
}
.kyusei-hayami th, .kyusei-hayami td, .gogyo-hayami th, .gogyo-hayami td {
  white-space: nowrap;
  text-align: center;
}
.kyusei-hayami th, .kyusei-hayami td {
  width: 8em;
}
.gogyo-hayami th, .gogyo-hayami td {
  width: 5em;
}

.hunin-table {
  font-size: 80%;
  table-layout: fixed;
}
.hunin-table th:first-child {
  width: 7em;
}
.hunin-table th {
  white-space: nowrap;
  width: 10em;
}
.hunin-table th, .hunin-table td {
  text-align: center;
}
.hunin-table td {
  vertical-align: middle;
}

/* license */
.license-table {
  font-size: 80%;
}
.license-table th {
  width: 25%;
  min-width: 120px;
}
.license-table td {
  vertical-align: middle;
}
.license-dl {
  font-size: 80%;
}
.license-dl dt, .license-dl dd {
  padding: 0.75rem;
  border: 1px solid var(--border);
  border-bottom: none;
}
.license-dl:last-child dd {
  border-bottom: 1px solid var(--border);
}

.faq dt, .faq dd {
  padding-left: 1.25em;
  position: relative;
}
.faq dt {
  margin-bottom: 1.5rem;
}
.faq dt::before {
  content: "Q";
  color: var(--main);
}
.faq dd::before {
  content: "A";
  color: var(--red);
  font-weight: 700;
}
.faq dt::before, .faq dd::before {
  position: absolute;
  left: 0;
}

/* 症例 */
.counseling {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.counseling-title {
  padding-top: .5rem;
  padding-bottom: .5rem;
}
.counseling-item {
  border-top: none;
  font-size: 80%;
}
.counseling-shoken, .counseling-advice {
  font-weight: 700;
  margin-bottom: .25rem;
}
.counseling-day {
  border-top: none;
}
.counseling-day-day {
 font-weight: 700;
 margin-bottom: 0;
 padding-top: .25rem;
}
.counseling-day-day:not(:last-child){
  border-top: 1px solid var(--border);
}
.counseling-day-day + p {
  padding-bottom: .25rem;
  margin-bottom: 0;
}


.icon-image-bg {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 90px;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  font-weight: 500;
}


/*  */
.tester {
  display: inline-flex;
  align-items: center;
  background: var(--border);
  padding: .2rem 1rem;
  height: 35px;
  border-radius: 17.5px;
}
.tester-img {
  width: 1rem;
  height: 1rem;
  margin-right: .25rem;
}
.tester-txt {
  font-size: 70%;
  font-weight: 600;
}
