@charset "utf-8";
/* fontsize */
:root {
  --font-50-160: clamp(50px,11.111vw,160px);
  --font-48-110: clamp(48px,7.638vw,110px);
  --font-40-60: clamp(40px, 4.166VW, 60px);
  --font-35-48: clamp(35px,3.33vw,48px);
  --font-20-40: clamp(20px,2.777vw,40px);
  --font-18-32: clamp(18px,2.22vw,32px);
  --font-18-26: clamp(18px,1.8vw,26px);
  --font-18-24: clamp(18px,1.66vw,24px);
  --font-14-20: clamp(14px, 1.388VW, 20px);
  --font-13-18: clamp(12px,1.25vw,18px);
  --font-12-16: clamp(12px,1.111vw,16px);
  --font-10-14: clamp(10px,0.972vw,14px);
  --font-8-12: clamp(8px,0.833vw,12px);
  /* width */
  --max-width-1000: clamp(710px , 74vw , 1000px);
  --max-width-1100: clamp(710px , 76.38vw , 1100px);
  --page-inner: 5%;
  /* anime */
  --duration-short: .1s;
  --duration-default: .2s;
  --duration-medium: .3s;
  --duration-long: .5s;
  --duration-extra-long: .6s;
  --duration-extra-longer: .75s;
  --duration-extended: 1s;
  
  --ease-out-slow: cubic-bezier(0, 0, .3, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-blur-in: fadeBlurIn var(--duration-extended) var(--ease-out-slow) forwards;
  /* ローディング */
  --color-primary: #d4af37;
  --color-secondary: #b8941f;
  --color-bg: #0a0a0a;
  --color-bg-alt: #1a1a1a;
  --color-text: #f5f5f5;
  --color-text-muted: #a0a0a0;
}
/* ローディング */
/* 背景エフェクト */
/* .background-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
      linear-gradient(rgba(212, 175, 55, 0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(212, 175, 55, 0.03) 1px, transparent 1px);
  background-size: 50px 50px;
  opacity: 1;
  z-index: 0;
} */
/* メインコンテナ */
.loader-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  background: radial-gradient(108.11% 171.59% at 86.77% -5.71%, #76454F 0%, #835B63 50.93%, #AD7A84 73.5%, rgba(192, 177, 180, 0.933333) 100%);
  opacity: 1;
}
/* カウンター表示 */
.counter {
  font-family: "Poiret One", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  color: #fff;
  background: #fff;
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 3s ease-in-out infinite;
  position: relative;
  line-height: 1;
  margin-bottom: 2rem;
}
/* フォールバック用（グラデーションが効かない場合） */
@supports not (-webkit-background-clip: text) {
  .counter {
      color: #fff;
      background: #90414E;
  }
}
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
/* フェードアウト */
.fade-out {
  animation: fadeOut 1.5s ease-out forwards;
}
@keyframes fadeOut {
  to {
      opacity: 0;
  }
}
/* ページコンテンツ */
.page-content {
  display: none;
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  opacity: 0;
  animation: contentFadeIn 0.8s ease-out forwards;
}

.page-content.show {
  display: block;
}

@keyframes contentFadeIn {
  to { opacity: 1; }
}
/* layout
----------------------------- */
html {
  scroll-behavior: smooth; /* scrollスムーズ */
  scrollbar-width: thin;
  scrollbar-color: #713E44 transparent; 
}
/* responsive */
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

/* margin and padding
----------------------------- */
.sec-common--body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--page-inner);
  /* overflow: hidden; */
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .sec-common--body {
    padding: 0 4%;
  }
}

/* --------------------------
 anime
----------------------------- */
.scroll-anime {
  opacity: 0;
}
/* 種類別のアニメ */
.fade-in.show {
  animation: var(--animation-fade-in);
}
.slide-in.show {
  animation: var(--animation-slide-in);
}
.blur-in.show {
  animation: var(--animation-fade-blur-in);
}

@keyframes slideIn {
  from {
    transform: translateY(2rem);
    opacity: 0.01;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0.01;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeBlurIn {
  0% {
    opacity: 0;
    transform: scale(0.7);
    filter: blur(12px);
  }
  60% {
    opacity: 0.8;
    transform: scale(1);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}

.line {
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  opacity: 0.4;
  transform-origin: center center; /* 左端を起点に伸ばす */
  transform: scaleX(0);
  transition: transform 1.5s cubic-bezier(0.2, 0.9, 0.3, 1);
  will-change: transform;
  margin: 16px 0;
}
.line.show {
  transform: scaleX(1);
}
.line.--is-white {
  background: var(--color-white);
}

/* common-arw
----------------------------- */
.common-arw-wrap {
  position: relative;
  padding-right: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.common-arw-wrap > .common-arw::before,
.common-arw-wrap > .common-arw::after {
  content: "";
  position: absolute;
  right: 15px;
  width: 12px;
  height: 1px;
  background: url("../images/common/btn-arw-wh.svg") no-repeat center/contain;
  transform-origin: right center;
  transition: all 0.4s ease-out;
}
.common-arw-wrap > .common-arw.bk::before,
.common-arw-wrap > .common-arw.bk::after {
  background: url("../images/common/btn-arw-bk.svg") no-repeat center/contain;
}
.common-arw-wrap > .common-arw::before {
  transform: rotate(30deg);
}
.common-arw-wrap > .common-arw::after {
  transform: rotate(-30deg);
}
@media screen and (min-width: 375px) {
  a:hover .common-arw::before,
  a:hover .common-arw::after {
    transform: rotate(0deg);
    right: 5px;
  }
}
@media screen and (min-width: 768px) {
  .common-arw-wrap > span:first-child {
    filter: drop-shadow(1px 1px 2px rgba(131, 65, 76, 0.5));
    transition: all 0.6s ease;
  }
  .common-arw-wrap:hover > span:first-child,
  a:hover.common-arw-wrap > span:first-child {
    filter: none;
  }
  .btn-primary.common-arw-wrap > span {
    filter: none;
  }
}
/* common-arw-02 */
.common-arw-02::before,
.common-arw-02::after {
  content: "";
  position: absolute;
  right: 15px;
  width: 12px;
  height: 1px;
  background: url("../images/common/btn-arw-wh.svg") no-repeat center/contain;
  transform-origin: right center;
  transition: all 0.4s ease-out;
}
.common-arw-02::before {
  transform: rotate(30deg);
}
.common-arw-02::after {
  transform: rotate(-30deg);
}
@media screen and (min-width: 375px) {
  a:hover .common-arw-02::before,
  a:hover .common-arw-02::after {
    transform: rotate(0deg);
    right: 5px;
  }
}
/* icon
----------------------------- */
.icon-common-pdf {
  display: inline-block;
  width: 14px;
  height: 11px;
  background: url('../images/common/icon-pdf.svg') no-repeat center / contain;
}
/* btn
----------------------------- */
.btn-primary {
  position: relative;
  max-width: 240px;
  display: flex;
  width: fit-content;
  gap: 0 15px;
  min-height: 40px;
  border-radius: 100px;
  border-width: 1px;
  color: var(--color-black);
  font-size: 16px;
  justify-content: space-between;
  align-items: center;
  /* padding: 10px 25px; */
  padding: 10px 20px;
  z-index: 0;
}
.btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
  border: 1px solid #fff;
  filter: blur(0px);
  transition: all .6s ease;
  z-index: -1;
}

.btn-primary.color-white {
  color: var(--color-white);
}
.btn-primary.color-white::before {
  background: radial-gradient(
    108.11% 171.59% at 86.77% -5.71%,
    #824752 0%,
    #A8717D 50.93%,
    #BC7E8B 73.5%,
    #C0B1B4 100%
  );
}
@media screen and (min-width: 768px) {
  .btn-primary {
    min-height: 40px;
    font-size: var(--font-12-16);
  }
  .btn-primary:hover::before {
    filter: blur(4px);
  }
}
/* btn-primary no-link */
.btn-primary.--is-no-link {
  border-radius: 0;
  pointer-events: none;
}
/* btn-product */
.btn-product {
  position: relative;
  display: block;
  max-width: 240px;
  width: 100%;
  aspect-ratio: 1 / 0.854;
  padding: 6.77%;
  padding-bottom: 18%;
}
.btn-product::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  transition: all .6s ease;
  z-index: -1;
}
.btn-product--ttl {
  font-size: var(--font-14-20);
  border-bottom: 1px solid rgba(255,255,255,0.4);
  padding-bottom: 6%;
  margin-bottom: 6%;
  font-weight: bold;
}
.btn-product--dec {
  font-size: var(--font-10-14);
}
.btn-product .common-arw {
  position: absolute;
  bottom: 25px;
  right: 0;
}
.btn-product > .common-arw::before,
.btn-product > .common-arw::after {
  width: 20px;
  height: 1px;
  background-size: 20px;
}
@media screen and (min-width: 768px) {
  a:hover .btn-product::after {
    filter: blur(4px);
  }
  .btn-product .common-arw {
    bottom: 20px;
  }
  .btn-product > .common-arw::before,
  .btn-product > .common-arw::after {
    width: 15px;
    background-size: 15px;
  }
}
@media screen and (min-width: 1024px) {
  a:hover .btn-product::after {
    filter: blur(4px);
  }
  .btn-product .common-arw {
    bottom: 25px;
  }
  .btn-product > .common-arw::before,
  .btn-product > .common-arw::after {
    width: 20px;
    background-size: 20px;
  }
}


/*
header
*/
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 1920px;
	z-index: 100;
	transition: all 0.3s ease-out;
}
.header_contents {
	height: 50px;
}
.logo {
	padding: 28px 0 0 20px;
}
.logo img {
	width: 110px;
	vertical-align: middle;
}
.gnav_list li a {
	color: #000;
	font-size: 15px;
	font-weight: 500;
	display: flex;
	white-space: nowrap;
}
@media only screen and (min-width:768px) {
	.header_contents {
		height: 110px;
		display: flex;
		/* align-items: center; */
		justify-content: space-between;
		padding: 40px;
	}
	.header_logo_language_wrap {
		gap: 0 50px;
	}
	.logo {
		padding: 0;
	}
  .logo img {
    width: 137px;
  }
}
@media only screen and (min-width:1024px) {
	header {
		/* position: fixed; */
	}
	.header_scroll  {
		transform: translateY(-30px);
	}
	.header_scroll .header_contents {
		padding-top: 30px;
	}
	.gnav_wrap {
		display: flex;
		align-items: center;
		gap: 0 30px;
	}
	.gnav_wrap > div {
		display: flex;
		align-items: center;
	}
	.gnav_list {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0 30px;
		padding: 14px 34px 15px;
		border-radius: 30px;
	}
	.gnav_list li {
		line-height: 1;
	}
}
@media only screen and (min-width:1280px) {
  .logo img {
    width: 167px;
  }
	.gnav_list {
		gap: 0 40px;
		border-radius: 30px;
	}
}
@media only screen and (min-width:1680px) {
	.header_scroll  {
		transform: translateY(-65px);
	}
	.header_scroll .header_contents {
		padding-top: 65px;
	}
}
/*
展開メニュー
*/
.flyout_gnav_wrap {
  position: fixed;
  top: 0;
  z-index: 103;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  display: none;
}
.flyout_gnav {
  width: 100%;
  height: 100%;
  background: var(--sub-grad);
  overflow-x: hidden;
  overflow-y: scroll;
}
.flyout_gnav_inner {
	display: flex;
	flex-direction: column;
	margin: auto;
	width: 90%;
  padding: 50px 0 20px;
}
.flyout_gnav_list li + li {
	margin: 22px 0 0;
}
/* .flyout_gnav_list a {
	font-size: 15px;
	font-weight: 500;
	color: #000;
} */
/* .flyout_gnav_list span {
	font-size: 10px;
	margin-left: 13px;
} */
.flyout_gnav_list li:nth-child(3)::after {
  content: "";
  display: block;
  border-bottom: 1px solid #000;
  margin: 44px 0;
}
@media only screen and (min-width: 768px) {
  .flyout_gnav_inner {
    padding: 148px 0 50px;
  }
}
/*
ハンバーガーボタン
*/
.menu_button {
  position: fixed;
	right: 2%;
	top: 19px;
  width: 150px;
  height: 56px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  z-index: 104;
  cursor: pointer;
}
.menu_button::before {
  content: "";
  position: absolute;
  border-radius: inherit;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  filter: blur(0px);
  transition: all .6s ease;
  z-index: -1;
  opacity: 0.9;
}
@media only screen and (min-width: 768px) {
  .menu_button {
    width: 120px;
    height: 40px;
    padding: 0 17px;
    top: 40px;
	  right: 40px;
  }
  .menu_button::before {
    background: var(--sub-grad);
  }
  .menu_button:hover::before {
    filter: blur(4px);
  }
}
.menu_button.open::before {
  background: transparent;
}
.menu_text {
  font-size: 24px;
  color: #9A555B;
}
.hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
	width: 26px;
	height: 14px;
	font-weight: bold;
  cursor: pointer;
	transition: all .3s ease;
  position: relative;
  top: 1px;
}
.hamburger_bar {
  position: absolute;
  top: 6px;
  display: inline-block;
  width: 26px;
  height: 1px;
  background: #955154;
	border-radius: 10px;
}
.hamburger_bar:after,
.hamburger_bar:before {
  position: absolute;
  display: inline-block;
  content: " ";
  width: 100%;
  height: 1px;
  background: #955154;
	border-radius: 10px;
}
.hamburger_bar:after {
  top: -6px;
  transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1)
}
.hamburger_bar:before {
  width: 16px;
  bottom: -6px;
  transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1)
}
.hamburger_bar.animate {
	width: 21px;
  background: rgba(0, 0, 0, 0)
}
.hamburger_bar.animate:after {
  top: 0;
  transform: rotate(45deg);
  transition: top 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
}
.hamburger_bar.animate:before {
	width: 100%;
  bottom: 0;
  transform: rotate(-45deg);
  transition: bottom 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
}
@media only screen and (min-width: 768px) {
  .menu_text {
    font-size: 20px;
  }
}
.header_button {
  position: fixed;
  bottom: 28px;
  display: flex;
  gap: 0 16px;
  z-index: 102;
  padding: 0 var(--page-inner);
  width: 100%;
}
.header_button .btn-primary {
  font-size: 18px;
}
.header_button .btn-primary::before {
  background: radial-gradient(118.02% 282.82% at 100% 50%, #C8979C 0%, #B57480 50.93%, #A85F6E 73.5%, #763B3E 100%);
  border-color: #E8C1C5;
  opacity: 0.9;
}
.header_button .header_button_line {
  flex-shrink: 0;
  min-width: 120px;
  justify-content: center;
}
.header_button .header_button_web {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .header_button {
    bottom: auto;
    top: 40px;
    right: 175px;
    padding: 0;
    width: auto;
  }
  .header_button .btn-primary {
    font-size: 14px;
  }
  .header_button .header_button_line {
    min-width: unset;
  }
  .header_button .header_button_web {
    width: 150px;
  }
}
/* kurubi header
----------------------------- */
.header-adress--img {
  width: 144px;
}
.header-adress--text {
  font-size: 14px;
  color: var(--color-black);
  margin-top: 16px;
}
.header-adress--text-small {
  font-size: 12px;
}
.header-links {
  margin: 24px 0 94px;
}
.header-links--link {
  font-size: 24px;
  color: var(--color-black);
  width: fit-content;
  gap: 0 40px;
}
.header-links--link + .header-links--link {
  margin-top: 32px;
}
.header-nav--menu {
  margin: 32px 0;
  color: var(--color-black);
}
.header-nav--menu-title {
  font-size: 24px;
  margin-bottom: 32px;
}
.header-links--menu-box {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 24px;
  font-size: 12px;
  font-weight: bold;
}
.header-nav--menu-link {
  width: calc((100% - 24px) / 2);
  color: var(--color-black);
}
.header-menu-btns {
  display: flex;
  gap: 0 16px;
  z-index: 104;
  align-self: flex-start;
  position: relative;
}
.header-menu-btns a.btn-primary::before {
  background: radial-gradient(118.02% 282.82% at 100% 50%, #C8979C 0%, #B57480 50.93%, #A85F6E 73.5%, #763B3E 100%);
  border-color: #E8C1C5;
}
.header-menu-btns .header_button_line {
  flex-shrink: 0;
}
.header-menu-btns .header_button_web {
  width: 100%;
}
.header-menu-btns .header_button_line,
.header-menu-btns .header_button_web {
  font-size: 18px;
}
@media only screen and (min-width: 768px) {
  .flyout_gnav_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 10%;
    grid-row-gap: 24px;
  }
  .flyout_gnav_inner {
    width: 80%;
    max-width: 841px;
  }
  .header-adress--img {
    width: 167px;
  }
  .header-links { grid-area: 1 / 2 / 3 / 3; }
  .header-adress { grid-area: 1 / 1 / 2 / 2; align-self: self-end;}
  .header-menu-btns { grid-area: 2 / 1 / 3 / 2; align-self: self-start; }
  .header-links {
    margin: 0;
  }
  .header-menu-btns .header_button_line,
  .header-menu-btns .header_button_web {
    font-size: 14px;
  }
  .header-menu-btns .header_button_web {
    width: auto;
  }
}
@media only screen and (min-width: 1024px) {
  .flyout_gnav_inner {
    width: 60%;
  }
  .flyout_gnav_list {
    grid-column-gap: 28%;
  }
}

/* main */
.main {
	padding: 50px 0 0;
}
@media only screen and (min-width: 768px) {
	.main {
		padding: 153px 0 0;
	}
}
@media only screen and (min-width: 1024px) {
	.main {
		padding: 200px 0 0;
	}
}
@media only screen and (min-width: 1680px) {
	.main {
		padding: 260px 0 0;
	}
}

/* footer
----------------------------- */
footer {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  padding-top: 100px;
}
.footer-body {
  width: 90%;
  margin: 0 auto;
  max-width: 1280px;
  position: relative;
}

footer .pagetop {
  width: 45px;
  position: absolute;
  top: 0;
  right: 0;
}
/* ---- footer top ---- */
.footer-top {
  margin-bottom: 25px;
}
.footer-top--img {
  text-align: center;
}
.footer-top--img img {
  width: clamp(261px, 40.27vw, 580px);
}
.footer-top--contents-text {
  margin-top: 38px;
}
.footer-top--contents-text--address {
  font-size: 14px;
}
.footer-top--btn {
  margin: 40px 0;
}
.footer-top--btn .btn-primary {
  width: 230px;
}
@media screen and (min-width: 768px) {
  .footer-top {
    margin-bottom: 30px;
  }
  .footer-top-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2%;
  }
  .footer-top--img {
    margin-top: -2.9%;
    margin-left: -7.5%;
  }
  .footer-top--contents {
    width: 24.30vw;
    max-width: 350px;
  }
  .footer-top--contents-logo {
    width: 12.5vw;
    max-width: 180px;
  }
  .footer-top--contents-text {
    margin-top: 32px;
  }
  .footer-top--contents-text--address {
    font-size: var(--font-10-14);
  }
  .footer-top--btn .btn-primary {
    max-width: 230px;
    width: 15.97vw;
  }
}
/* sns */
.footer-top--sns {
  display: flex;
  gap: 10px;
}
.footer-top--sns-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  position: relative;
  aspect-ratio: 1 / 0.93;
  max-width: 170px;
  height: 100%;
  padding: 18px 0;
  justify-content: space-between;
  }
.footer-top--sns-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(255,255,255,0.3) 0%, rgba(255, 255, 255, 0) 100%);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 8px;
  filter: blur(0px);
  transition: all .6s ease;
}
@media screen and (min-width: 768px) {
  .footer-top--sns-link:hover::before {
    filter: blur(4px);
  }
  .footer-top--sns-link:hover span {
    filter: none;
  }
  .footer-top--sns-link.insta img {
    max-width: 33px;
    width: 2.29vw;
  }
  .footer-top--sns-link.youtube img {
    max-width: 36px;
    width: 2.5vw;
  }
}
.footer-top--sns-link-img {
  width: 100%;
  margin-top: 15%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-top--sns-link-text {
  color: var(--color-white);
  width: 100%;
  font-size: 20px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 9px 0 16px;
}
@media screen and (min-width: 768px) {
  .footer-top--sns-link-text {
    font-size: var(--font-14-20);
  }
  .footer-top--sns-link-text .common-arw {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .footer-top--sns-link-text .common-arw {
    display: block;
  }
  
}

/* ---- footer bottom ---- */
/* -- line01 -- */
.footer-bottom--line01 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.footer-bottom--line01-link {
  font-size: 24px;
  color: var(--color-black);
  transition: all 0.3s;
}
/* -- line02 -- */
.footer-bottom--line02 {
  font-size: 24px;
  color: var(--color-black);
  margin: 40px 0 30px;
}
@media screen and (min-width: 768px) {
  .footer-bottom--line01-link,
  .footer-bottom--line02 {
    font-size: var(--font-18-24);
  }
  .footer-bottom--line02 {
    margin: 40px 0 50px;
  }
}
@media screen and (min-width: 1024px) {
  .footer-bottom--line01-link,
  .footer-bottom--line02 {
    font-size: 24px;
  }
  .footer-bottom--line02 {
    margin: 40px 0 50px;
  }
}
/* -- line03 -- */
.footer-bottom--line03-lists {
  margin-bottom: 77px;
}
.footer-bottom--line03-lists > li + li {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .footer-bottom--line03-lists {
    border-bottom: 1px solid #b0707d;
    padding-bottom: 43px;
    margin-bottom: 43px;
  }
}
/* link */
.footer-bottom--line03-links-box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 16px;
}
.footer-bottom--line03-title {
  font-size: 12px;
  font-weight: bold;
  --ls-base: 0.1em;
  letter-spacing: var(--ls-base);
}
.footer-bottom--line03-title-link {
  display: flex;
  align-items: center;
  gap: 0 40px;
  width: fit-content;
  color: var(--color-black);
}
.footer-bottom--line03-link {
  display: flex;
  font-size: 12px;
  color: var(--color-black);
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .footer-bottom--line03-links-box {
    flex-direction: row;
    gap: 16px 3%;
  }
  .footer-bottom--line03-link {
    width: calc((100% - (3% * 2)) / 3);
  }
}
@media screen and (min-width: 1024px) {
  .footer-bottom--line03-links-box {
    flex-direction: row;
    gap: 16px 12%;
  }
  .footer-bottom--line03-link {
    width: calc((100% - (12% * 2)) / 3);
  }
}
/* footer copy */
.footer-copy {
  padding: 0 0 100px;
}
.footer-copy--text {
  color: var(--primary-color);
  font-size: 12px;
  margin-top: 43px;
}
@media screen and (min-width: 768px) {
  .footer-copy {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 0 43px;
  }
  .footer-copy--text {
    margin-top: 0;
  }
}


/*
共通
*/
/* text */
@media screen and (min-width: 768px) {
  .pc-no-wrap {
    text-wrap-mode: nowrap;
  }
}
/* 
ボタン
*/

/* subpage-mainview
----------------------------- */
.subpage-common-mainview {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .subpage-common-mainview {
    min-height: 100vh;
  }
}
.subpage-common-mainview--inner {
  padding: 107px var(--page-inner) 0;
  max-width: 1440px;
  margin: 0 auto;
}
.mainview-text {
  margin: 50px 0 0;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .subpage-common-mainview--bg {
    /* background: var(--primary-grad-bg) repeat, var(--primary-grad); */
  }
  .subpage-common-mainview-box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .subpage-common-mainview--inner {
    padding-top: clamp(60px, 11.11vw, 160px);
    padding-bottom: clamp(60px ,10.55vw, 152px);
    max-height: 997px;
  }
  .subpage-common-mainview-box.left-only {
    flex-direction: row;
  }
  .mainview-text {
    margin: 75px 0 0;
    font-size: 14px;
  }
}
.subpage-common-mainview--img {
  width: 80%;
  margin: 0 auto;
}
.subpage-common-mainview--title {
  position: relative;
  line-height: 1.48;
  z-index: 0;
  margin-top: 9%;
}
.subpage-common-mainview--title::before {
  content: "";
  display: none;
  height: 1em;
}
.subpage-common-mainview--title::before,
.subpage-common-mainview--title .en {
  font-size: var(--font-50-160);
}
.subpage-common-mainview--title .en {
  z-index: -1;
  display: block;
  line-height: 1.2;
  opacity: 0.3;
  margin-left: -1%;
}
.subpage-common-mainview--title .ja {
  font-size: 40px;
  letter-spacing: 0.1em;
  display: block;
  margin-top: -35px;
}
.subpage-common-mainview--title .mask-txt-wrap {
  --highlight-alpha: 0.01;   /* 両端のフェード薄さ */
  --easing-ms: 600;          /* 直接は使わないが調整の目安に */
  overflow: hidden;
  /* 初期マスク（JSが上書きする）。Safari対応のため両方定義しておく */
  -webkit-mask-image: linear-gradient(90deg,
    rgba(255,255,255,var(--highlight-alpha)) 0%,
    #000 50%,
    rgba(255,255,255,var(--highlight-alpha)) 100%);
  mask-image: linear-gradient(90deg,
    rgba(255,255,255,var(--highlight-alpha)) 0%,
    #000 50%,
    rgba(255,255,255,var(--highlight-alpha)) 100%);
}
.subpage-common-mainview--title .mask-txt-inner {
  white-space: nowrap;
}
@media screen and (min-width: 768px) { 
  .subpage-common-mainview--title {
    margin-top: 4.5%;
  }
  .subpage-common-mainview--title::before {
    display: block;
  }
  .subpage-common-mainview--title .en {
    position: absolute;
    top: 0;
    white-space: nowrap;
  }
  .subpage-common-mainview--title .ja {
    font-size: var(--font-35-48);
  }
  .subpage-common-mainview-box--left {
    margin-top: 3.7%;
    flex: 1;
  }
  .subpage-common-mainview--img {
    width: clamp(200px, 29.93vw, 431px);
    margin: 2% 6% 0 0;
  }
}
@media screen and (min-width: 1024px) { 
  .subpage-common-mainview--title .ja {
    white-space: nowrap;
  }
}
/* breadcrumb */
.subpage-common-breadcrumb {
  font-size: 12px;
  color: var(--color-white);
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
  flex: 1;
  position: relative;
  z-index: 2;
}
.subpage-common-breadcrumb > li {
  display: flex;
  align-items: center;
  gap: 0 5px;
}
.subpage-common-breadcrumb > li::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 1px;
  background-color: #fff;
}
.subpage-common-breadcrumb > li:last-child::after {
  display: none;
}
@media screen and (min-width: 768px) { 
  .subpage-common-breadcrumb {
    margin-top: -5px;
  }
}
/* treatment */
.subpage-common-mainview--treatment-list {
  font-size: 14px;
  color: var(--color-black);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 24px 0 40px;
}
.subpage-common-mainview--treatment-list > li {
  /* min-width: 144px; */
  opacity: 0.8;
  background-color: #fff;
  text-align: center;
  padding: 9px 30px 10px;
}
@media screen and (min-width: 768px) { 
  .subpage-common-mainview--treatment-list {
  font-size: var(--font-10-14);
    margin: 40px 0 0;
  }
}
/* intro */
.subpage-common-mainview--intro {
  font-size: 14px;
  margin-top: 25px;
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) {
  .subpage-common-mainview--intro {
    /* max-width: 674px; */
    max-width: 650px;
    width: 45.13vw;
    /* width: 100%; */
    font-size: var(--font-10-14);
  }
}
.page-mens .subpage-common-mainview--intro,
.page-health-nsurance-treatment .subpage-common-mainview--intro {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .page-mens .subpage-common-mainview--intro,
  .page-health-nsurance-treatment .subpage-common-mainview--intro {
    margin-top: 75px;
  }
}

/* scroll */
.subpage-common-mainview:has( > .subpage-common-mainview--scroll) {
  /* min-height: 900px; */
  /* height: 100svh; */
}
.subpage-common-mainview--scroll {
  position: absolute;
  right: 4%;
  bottom: 10px;
  display: none;
}
/* pagelink */
.subpage-common-mainview--pagelink--bg {
  background: linear-gradient(
    180deg,
    rgba(69, 40, 44, 0.1) 0%,
    rgba(171, 100, 109, 0.1) 100%
  );
}
.subpage-common-mainview--pagelink {
  padding: 52px var(--page-inner);
  display: flex;
  /* flex-direction: column; */
  gap: 21px;
  font-size: 20px;
  overflow-y: scroll;
}
.subpage-common-mainview--pagelink-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 24px;
  flex-shrink: 0;
}
.subpage-common-mainview--pagelink-link  > img {
  width: 24px;
}

@media screen and (min-width: 768px) {
  .subpage-common-mainview--pagelink {
    max-width: var(--max-width-1100);
    font-size:  var(--font-14-20);
    margin: 0 auto;
    padding: clamp(10px,4.097vw,59px) 0;
    flex-direction: row;
    flex-wrap: wrap;
    gap: clamp(20px,3.125vw,45px);
    overflow: visible;
  }
  .subpage-common-mainview--pagelink-link  > img {
    width: clamp(12px,1.66vw,24px);
  }
}
/* subpage-common--title */
.subpage-common--title > .en {
  font-size: var(--font-40-60);
  display: block;
}
.subpage-common--title > .ja {
  font-size: var(--font-14-20);
  display: block;
  margin-top: 8px;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .subpage-common--title > .ja {
    margin-top: 16px;
  }
}

/* point title */
.point-blur-title {
  position: relative;
  padding-left: 1.8em;
}
.point-blur-title::before,
.point-blur-title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0.8em;
  top: 0.8em;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.point-blur-title::after {
  width: 0.2em;
  height: 0.2em;
  background: #FFDED2;
}
.point-blur-title::before {
  width: 0.6em;
  height: 0.6em;
  background: rgba(255, 255, 255, 0.6);
  filter: blur(5px);
  transform: translate(-50%, -50%) scale(1);
  opacity: 0.7;
}


/* section-trouble
----------------------------- */
.sec-trouble-bg {
  position: relative;
  overflow: hidden;
}
.sec-trouble-bg::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  background: var(--sub-grad);
  z-index: -1;
}
.sec-trouble {
  position: relative;
  z-index: 0;
  max-width: 1440px;
  padding: 78px 0;
  margin: 0 auto;
}
.sec-trouble--title {
  color: var(--main-color);
  font-size: 32px;
  letter-spacing: 0.11em;
}
.sec-trouble--body {
  padding: 0 var(--page-inner);
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-trouble {
    padding: 9% 0;
  }
  .sec-trouble--title {
    font-size: var(--font-18-32);
  }
  .sec-trouble--body {
    max-width: var(--max-width-1000);
    padding: 0 1.1em;
  }
}
.sec-trouble--img {
  margin: -70px -40px -35px 0;
  max-width: 347px;
  margin-left: auto;
}
.sec-trouble--list {
  color: var(--color-black);
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .sec-trouble--img {
    margin:0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    max-width: 607px;
    width: 42.152vw;
  }
  .sec-trouble--list {
    margin-top: 48px;
  }
}

/* ぼかしポイント */
.sec-trouble--list > li+li {
  margin-top: 31px;
}
.sec-trouble--list > li {
  position: relative;
  font-size: 14px;
  padding-left: 8%;
  padding-right: 1%;
}
@media screen and (min-width: 768px) {
  .sec-trouble--list > li {
    padding-left: 48px;
    padding-right: 0;
  }
}
.sec-trouble--list .point-blur-title::before {
  background: #FFB1BB;
}
.sec-trouble--list .point-blur-title::after {
  background: radial-gradient(50% 50% at 50% 50%, #CC8181 0%, rgba(204, 129, 129, 0.3) 93.75%);
}

/* page-common-hair-removal */
.page-common-hair-removal .sec-trouble--body {
  max-width: calc(1118px + var(--page-inner) * 2);
  padding: 0 var(--page-inner);
}
.sec-trouble--list-title {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .page-common-hair-removal .sec-trouble--list > li {
    display: flex;
    align-items: center;
    gap: 0.5%;
  }
  .page-common-hair-removal .point-blur-title::before,
  .page-common-hair-removal .point-blur-title::after {
    top: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }
  .page-common-hair-removal .sec-trouble {
    padding: 79px 0;
  }
  .sec-trouble--list-title {
    width: 16em;
    flex-shrink: 0;
    margin: 0;
  }
}

/* section-reason
----------------------------- */
.sec-reason {
  padding: 80px 0 60px;
}
.sec-reason--body {
  max-width: var(--max-width-1000);
  margin: 0 auto;
  padding: 0 var(--page-inner);
}
@media screen and (min-width: 768px) {
  .sec-reason {
    padding: 12% 0 9%;
  }
  .sec-reason--body {
    padding: 0;
  }
}
.sec-reason--contents {
  margin-top: 40px;
}
.sec-reason--contents--text {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
  .sec-reason--box {
    display: flex;
    gap: 0 40px
  }
  .sec-reason--title {
    width: fit-content;
    flex-shrink: 0;
  }
  .sec-reason--contents {
    margin-top: 0;
    width: 100%;
  }
  .sec-reason--contents--text {
    margin-top: 42px;
    font-size: var(--font-10-14);
  letter-spacing: 0.035em;
  }
}
@media screen and (max-width: 767px) {
  .sec-reason--contents--text > p > br{
    display: none;
  }
}

/* section-kinds
----------------------------- */
.sec-kinds {
  padding: 30px 0 60px;
}
.sec-kinds--body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--page-inner);
}
@media screen and (min-width: 768px) {
  .sec-kinds {
    padding: 11% 0;
  }
  .sec-kinds--body {
    padding: 0 4%;
  }
}
.sec-kinds--tabs-wrap {
  margin-bottom: 47px;
}
.sec-kinds--tabs {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sec-kinds--contents--item {
  margin-bottom: 56px;
}
.sec-kinds--tabs > li,
.sec-kinds--contents--title {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
  color: #fff;
  font-size: 20px;
  padding: 10px 15px;
  margin-bottom: 15px;
  letter-spacing: 0.1em;
}
.sec-kinds--contents--title {
  margin-bottom: 19px;
}
.sec-kinds--contents--box {
  display: flex;
  gap: 4%;
}
.sec-kinds--contents--box-img {
  width: 54%;
}
.sec-kinds--contents--box-img img {
  position: sticky;
  top: 10px;
  margin-bottom: 30px;
}
.sec-kinds--contents--box-text {
  width: 42%;
  font-size: 14px;
  line-height: 1.8;
}
.sec-kinds--contents--relation-title {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .sec-kinds--box {
    display: flex;
    gap: 4.7%;
  }
  .sec-kinds--tabs-wrap {
    width: 45.4%;
    margin-bottom: 0;
  }
  .sec-kinds--tabs {
    display: block;
    margin-top: 27%;
  }
  .sec-kinds--tabs li {
    cursor: pointer;
    transition: all 0.3s;
    padding: 4% 9%;
    font-size: var(--font-14-20);
  }
  .sec-kinds--tabs li.active {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  }
  .sec-kinds--contents {
    flex: 1;
    margin-top: 4.85%;
  }
  .sec-kinds--contents--item {
    display: none;
    margin-bottom: 0;
  }
  .sec-kinds--contents--item.active {
    display: block;
  }
  .sec-kinds--contents--box {
    align-items: center;
    gap: 8%;
    padding: 8% 5% 8% 9%;
    position: relative;
    margin-bottom: 7%;
  }
  .sec-kinds--contents--title {
    display: none;
  }
  .sec-kinds--contents--box-img {
    max-width: 256px;
    width: 46%;
  }
  .sec-kinds--contents--box-img img {
    position: static;
    top: auto;
    margin-bottom: 0;
  }
  .sec-kinds--contents--box-text {
    width: 46%;
    font-size: var(--font-10-14);
  }
}
.sec-kinds--contents--menu {
}
.sec-kinds--contents--menu-img {
  max-width: 378px;
  margin: 0 auto;
}
.sec-kinds--contents--menu-text {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 10px;
}
.sec-kinds--contents--menu-text p {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-kinds--contents--menu {
    padding: 4% 8%;
    position: relative;
    margin-bottom: 7%;
  }
  .sec-kinds--contents--menu-text {
    font-size: var(--font-10-14);
  }
}
.sec-kinds--contents--relation-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sec-kinds--contents--relation-links .btn-primary {
  font-size: 14px;
  color: var(--main-color);
  max-width: none;
}
.sec-kinds--contents--relation-links .btn-primary::before {
  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 150%);
}
.sec-kinds--contents--relation .line {
  background-color: #fff;
  margin: 12px 0;
}
@media screen and (min-width: 768px) {
  .sec-kinds--tabs > li+li {
    margin: 4.5% 0 0;
  }
  .sec-kinds--contents--relation .line {
    transform: scaleX(1);
  }
  .sec-kinds--contents--box::after,
  .sec-kinds--contents--menu::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0.3;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 100%);
    z-index: -1;
  }
  .sec-kinds--contents--relation-links .btn-primary {
    font-size: var(--font-12-16);
    
  }
}
.sec-kinds--contents--price {
  margin-top: 40px;
}
.sec-kinds--contents--price-list-item {
  font-size: 14px;
  margin-top: 16px;
  display: flex;
}
.sec-kinds--contents--price-list-item:first-child {
  margin-top: 0;
}
.sec-kinds--contents--price-list-item dt,
.sec-kinds--contents--price-list-item dd {
  border-bottom: 1px solid;
  padding: 5px 0 16px;
}
.sec-kinds--contents--price-list-item dt {
  border-color: rgba(255, 255, 255, 0.45);
  width: 4.286em;
}
.sec-kinds--contents--price-list-item dd {
  border-color: #AB6B75;
  width: calc(100% - 4.286em);
  padding-left: 2em;
}
.sec-kinds--contents--price-list-item:nth-child(n+2) dd::after {
  content: "円";
  display: inline-block;
}

.sec-kinds--more-btn-wrap {
  margin-top: 70px;
}
.sec-kinds--more-btn-wrap .btn-primary {
  width: 100%;
  max-width: 255px;
}
@media screen and (min-width: 768px) {

}



/* section-approach
----------------------------- */
.sec-approach--body {
  max-width: 1400px;
  margin: 0 auto;
}
.sec-approach--bg {
  background: url('../images/needs/sec-approach-bg-sp.jpg') no-repeat top left/cover;
  padding: 140px var(--page-inner);
}
.sec-approach--title {
  color: var(--main-color);
  font-size: 32px;
  margin-bottom: 80px;
}
.sec-approach--title > span {
  display: block;
  text-align: center;
}
.sec-approach--title .smaller {
  font-size: 16px;
  font-weight: bold;
  margin-top: 5px;
}
.sec-approach--contents-text {
  font-size: 14px;
  text-align: center;
  color: var(--color-black);
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .sec-approach--bg {
    background-image: url('../images/needs/sec-approach-bg-pc.jpg');
    background-position: top right;
    padding: 8.5% 0;
  }
  .sec-approach--title {
    font-size: var(--font-18-32);
  margin-bottom: 3%;
  }
  .sec-approach--title .smaller {
    font-size: var(--font-12-16);
    margin-top: 0.4%;
  }
  .sec-approach--contents-text {
    font-size: var(--font-10-14);
  }
}
/* section-pictures
----------------------------- */
.sec-pictures {
  padding: 80px 0 30px;
}
.sec-pictures--body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}
.sec-pictures--title {
  padding: 0 var(--page-inner);
  margin-bottom: -60px;
}
@media screen and (min-width: 768px) {
  .sec-pictures {
    padding: 11% 0;
  }
  .sec-pictures--body {
    padding: 0 4%;
    position: relative;
  }
  .sec-pictures--title {
    padding: 0;
    margin-bottom: 0;
    position: absolute;
    top: 0;
  }
}
/* fadeの残像処理 */
.sec-pictures .swiper-slide {
  opacity: 0 !important;
  transition: opacity 0.5s ease;
}
.sec-pictures .swiper-slide-active {
  opacity: 1 !important;
}
/* button */
.swiper-button-prev,
.swiper-button-next {
  color: transparent; /* デフォルトを削除 */
}
.swiper-button-prev.--is-common-arw,
.swiper-button-next.--is-common-arw {
  width: clamp(52px,8.88vw, 128px);
  height: clamp(52px,8.88vw, 128px);
  background: url('../images/common/slide-arw.svg') no-repeat center/11px auto;
  position: relative;
  top: 0;
  left: 0;
  margin: 0;
}
.swiper-button-prev.--is-common-arw {
  transform: rotate(180deg);
  margin-right: -10px;
}
.swiper-button-prev.--is-common-arw::after,
.swiper-button-next.--is-common-arw::after {
  content: "";
  display: block;
  width: clamp(52px,8.88vw, 128px);;
  height: clamp(51px,8.81vw, 127px);;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background: url('../images/common/slide-line.svg') no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev.--is-common-arw,
  .swiper-button-next.--is-common-arw {
    background-size: clamp(11px ,1.73vw, 25px) auto;
  }
  .swiper-button-prev.--is-common-arw {
    margin-right: -10%;
  }
}
/* クリックで回転 */
.swiper-button-prev.--is-common-arw.rotate-once::after,
.swiper-button-next.--is-common-arw.rotate-once::after {
  transition: transform 0.5s ease;
  transform: rotate(360deg);
}
/* pagenation */
.swiper-pagination.--is-common-arw .swiper-pagination-bullet {
  background: #FFDED2;
  width: 4px;
  height: 4px;
  position: relative;
}
.swiper-pagination.--is-common-arw {
  bottom: auto;
  top: 0;
}
.swiper-pagination.--is-common-arw .swiper-pagination-bullet-active::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255, 222, 210, 1) 0%, rgba(255, 222, 210, 0.5) 30%, rgba(250, 236, 236, 0.53) 50%, rgba(250, 236, 236, 0) 100%);
  filter: blur(6px);
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  position: absolute;
  left: 50%;
  top: 50%;
}
/* slide */
.sec-pictures-slides--swiper {
  position: relative;
  padding-top: 42px;
}
.sec-pictures-slides--swiper.sec-pictures--empty {
  padding: 80px var(--page-inner) 0;
}
.sec-pictures-slides--swiper-wrapper .swiper-slide {
  padding: 0 3.55%;
}
@media screen and (min-width: 768px) {
  .sec-pictures--slides-box {
    display: flex;
  }
  .sec-pictures-slides--swiper {
    padding-top: 0;
    width: 78.92%;
  }
  .sec-pictures-slides--swiper.sec-pictures--empty {
    margin-left: auto;
  }
  .sec-pictures-slides--swiper-arrows {
    width: calc(100% - 78.92%);
  }
  .sec-pictures-slides--swiper-wrapper {
    padding-left: 22%;
  }
  .sec-pictures-slides--swiper-wrapper .swiper-slide {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    padding: 2% 3%;
  }
}
.sec-pictures-slides--swiper-arrows {
  padding-right: var(--page-inner);
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.sec-pictures-slides--title {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  line-height: 1.3;
}
.sec-pictures-slides--title-sp-wrap {
  padding: 0 2%;
}
.sec-pictures-slides--title:after {
  content: "";
  display: block;
  width: 87px;
  height: 76px;
  background: url('../images/needs/slide-title-mark-sp.svg') no-repeat center/contain;
  position: absolute;
  top: 20px;
  left: -3%;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slides--swiper-arrows {
    margin-top: 12%;
    padding-right: 3.55%;
  }
  .sec-pictures-slide--img-box {
    display: flex;
    align-items: center;
  }
  .sec-pictures-slides--title {
    font-size: var(--font-14-20);
    margin-bottom: 24px;
    padding: 0;
  }
  .sec-pictures-slides--title:after {
    display: none;
  }
}
/* slide img */
.sec-pictures-slide--img {
  margin-bottom: 24px;
}
.sec-pictures-slide--img figure {
  text-align: center;
  position: relative;
  max-width: 347px;
  margin: 0 auto 1px;
}
.sec-pictures-slide--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 347 / 468;
}
.sec-pictures-slide--img figcaption {
  position: absolute;
  left: 12px;
  top: 12px;
  color: #731B27;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--img {
    width: calc(100% - 64.14%);
    margin-bottom: 0;
  }
  .sec-pictures-slide--img-contents {
    width: 64.14%;
    padding-left: 3.2%;
  }
}
/* title , text */
.sec-pictures-slide--img-contents-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 8px;
}
.sec-pictures-slide--img-contents-text {
  font-size: 14px;
  margin-bottom: 16px;
  letter-spacing: 0.05em;
  padding: 0 2%;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--img-contents-title {
    font-size: var(--font-14-20);
  }
  .sec-pictures-slide--img-contents-text {
    font-size: var(--font-10-14);
    padding: 0;
    line-height: 1.5;
  }
}
/* doctor comment */
.sec-pictures-slide--info {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--info {
    margin-top: 0;
    display: flex;
    flex-direction: column;
  }
  .sec-pictures-slide--info--doctor {
    order: 2;
  }
  .sec-pictures-slide--info--list {
    order: 1;
  }
}
.sec-pictures-slide--info--doctor {
  padding: 30px var(--page-inner);
  background: rgba(255, 255, 255, 0.1);
}
.sec-pictures-slide--info--doctor-title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--info--doctor {
    margin-top: 20px;
    padding: 3.2% 2.6%;
  }
  .sec-pictures-slide--info--doctor-title {
    font-size: var(--font-14-20);
    text-align: left;
    margin-bottom: 2%;
  }
}
.sec-pictures-slide--info--doctor-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 8%;
}
.sec-pictures-slide--info--doctor-img {
  width: 33%;
}
.sec-pictures-slide--info--doctor-text {
  width: 51%;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--info--doctor-box {
    gap: 0;
  }
  .sec-pictures-slide--info--doctor-img {
    width: 10.72%;
  }
  .sec-pictures-slide--info--doctor-text {
    width: calc(100% - 10.72%);
    padding-left: 3.5%;
  }
}
.sec-pictures-slide--info--doctor-img figure,
.sec-pictures-slide--info--doctor-img figcaption {
  text-align: center;
}
.sec-pictures-slide--info--doctor-img img {
  max-width: 100px;
  max-height: 100px;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  overflow: hidden;
}
.sec-pictures-slide--info--doctor-img figcaption {
  font-size: 16px;
  font-weight: bold;
  margin-top: 8px;
}
.sec-pictures-slide--info--doctor-comment {
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--info--doctor-comment {
    font-size: var(--font-10-14);
    line-height: 1.5;
  }
  .sec-pictures-slide--info--doctor-img figcaption {
    font-size: var(--font-12-16);
  }
}
/* info */
.sec-pictures-slide--info--list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 36px;
  padding: 0 2%;
}
.sec-pictures-slide--info--list-item-title,
.sec-pictures-slide--info--list-item-text {
  font-size: 14px;
  margin: 0 0 8px;
  padding: 0 0 7px;
}
.sec-pictures-slide--info--list-item-title {
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  width: 18%;
  font-weight: bold;
}
.sec-pictures-slide--info--list-item-title > span {
  display: block;
  font-size: 12px;
  letter-spacing: -1px;
}
.sec-pictures-slide--info--list-item-text {
  border-bottom: 1px solid #AB6B75;
  width: 82%;
  padding-left: 8%;
  padding-right: 1%;
  line-height: 1.7;
}
.sec-pictures-slide--info--list > dt:nth-last-child(2),
.sec-pictures-slide--info--list > dd:last-child {
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .sec-pictures-slide--info--list {
    padding: 0;
  }
  .sec-pictures-slide--info--list-item-title,
  .sec-pictures-slide--info--list-item-text {
    font-size: var(--font-10-14);
    margin: 0 0 8px;
    padding: 0 0 14px;
  }
  .sec-pictures-slide--info--list-item-title > span {
    font-size: var(--font-8-12);
  }
  .sec-pictures-slide--info--list-item-title {
    width: 8%;
  }
  .sec-pictures-slide--info--list-item-text {
    width: 92%;
    padding-left: 4.6%;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1024px) {
  .sec-pictures-slide--info--list-item-title {
    width: 6%;
  }
  .sec-pictures-slide--info--list-item-text {
    width: 94%;
  }
}
/* section menulist
----------------------------- */
.sec-menulist {
  padding: 80px 0 60px;
}
.sec-menulist--title {
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  .sec-menulist {
    padding: 120px 0;
  }
  .page-health-nsurance-treatment .sec-menulist {
    padding: 250px 0;
  }
  .sec-menulist--title {
    margin-bottom: 46px;
  }
}
.sec-menulist-linkbtn {
  position: relative;
  margin-top: 16px;
}
.sec-menulist-linkbtn::before {
  content: "";
  position: absolute;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  filter: blur(0px);
  transition: all .6s ease;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .sec-menulist-linkbtn::before {
    border-radius: 20px;
  }
  .sec-menulist-linkbtn:hover::before {
    filter: blur(6px);
  }
}
.sec-menulist-linkbtn--inner {
  padding: 2%;
  width: 100%;
}
.sec-menulist--linkbtn-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.sec-menulist-linkbtn--img {
  width: 39.74%;
  max-width: 170px;
}
.sec-menulist-linkbtn--img img {
  border-radius: 6px;
}
.sec-menulist--linkbtn--text-wrap {
  width: calc(100% - 39.74%);
  padding-left: 8px;
}
.sec-menulist--linkbtn--text {
  font-size: 14px;
  letter-spacing: 0.1em;
}
.sec-menulist--linkbtn--tag {
  font-size: 14px;
  font-weight: bold;
  background: linear-gradient(90deg, rgba(255, 255,255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: 40px;
  max-width: 160px;
  width: 49%;
  padding: 1.045% 4%;
}
.sec-menulist--linkbtn--tag-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px 2%;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .sec-menulist--links {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(12px , 1.66vw, 24px);
  }
  .sec-menulist-linkbtn {
    width: calc((100% - clamp(12px , 1.66vw, 24px)) / 2);
    margin-top: 0;
  }
  .sec-menulist--linkbtn-box {
    display: grid;
    grid-template-columns: 28.83% 1fr; 
    column-gap: 2.4%; 
    align-items: center; 
  }
  .sec-menulist-linkbtn--img {
    grid-row: 1 / span 2;
    align-self: center;
    width: auto;
    max-width: none;
  }
  .sec-menulist-linkbtn--img img {
    border-radius: 6px;
  }
  .sec-menulist--linkbtn--text-wrap,
  .sec-menulist--linkbtn--tag-wrap {
    grid-column: 2;
  }
  .sec-menulist--linkbtn--text-wrap{
    padding: 0;
    width: auto;
    align-self: end;
  }
  .sec-menulist--linkbtn--tag-wrap {
    align-self: flex-start;
  }
  .sec-menulist--linkbtn--text {
    font-size: var(--font-14-20);
  }
  .sec-menulist--linkbtn--tag {
    font-size: var(--font-10-14);
  }
}
/* section-qa
----------------------------- */
.sec-qa {
  padding: 80px 0 60px;
}
.sec-qa--body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--page-inner);
}
.sec-qa--lists > .sec-qa--lists-item:first-child {
  border-top: none;
}
.sec-qa--lists-item {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  cursor: pointer;
}
/* 開閉 */
.sec-qa--lists-item .sec-qa--lists-item--contents {
  display: grid; 
  grid-template-rows: 0fr;
  transition: 0.2s grid-template-rows ease;
}
.sec-qa--lists-item.active .sec-qa--lists-item--contents {
  grid-template-rows: 1fr;
  transition: 0.4s grid-template-rows ease;
}
.sec-qa--lists-item--contents > div {
  overflow: hidden;
}
.sec-qa--lists {
  max-width: 720px;
}
.sec-qa--title {
  margin: 0 0 20px;
}
@media screen and (min-width: 768px) {
  .sec-qa {
    padding: 11% 0 9%;
  }
  .page-MHRemoval .sec-qa {
    padding: 80px 0;
  }
  .sec-qa-box {
    display: flex;
    justify-content: center;
    gap: 0 7.5%;
  }
  .sec-qa--lists {
    width: 50vw;
  }
  .sec-qa--title {
    width: fit-content;
    flex-shrink: 0;
    margin: 0;
  }
}
.sec-qa--lists-item {
  position: relative;
  padding: 0 13.5% 20px 5.5%;
}
.sec-qa--lists-item--title {
  display: flex;
  padding: 20px 0 0;
  position: relative;
  font-size: 20px;
  align-items: center;
  gap: 5%;
  letter-spacing: 0.1em;
}
.sec-qa--lists-item--title:before {
  content: "Q";
  display: block;
  font-family: "Poiret One", "Noto Sans JP", sans-serif;
  font-size: 20px;
  width: fit-content;
}
.sec-qa--lists-item--contents-text {
  padding: 10px 0 0;
  font-size: 16px;
  display: flex;
  gap: 2%;
  letter-spacing: 0.1em;
}
.sec-qa--lists-item--contents-text:before {
  content: "A";
  display: block;
  font-family: "Poiret One", "Noto Sans JP", sans-serif;
  font-size: 20px;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .sec-qa--lists {
    margin-top: -40px;
  }
  .sec-qa--lists-item {
    padding: 0 11.5% 40px 2.5%;
  }
  .sec-qa--lists-item--title {
    gap: 2%;
    padding: 40px 0 0;
  }
  .sec-qa--lists-item--title,
  .sec-qa--lists-item--title:before,
  .sec-qa--lists-item--contents-text:before {
    font-size: var(--font-14-20);
  }
  .sec-qa--lists-item--contents-text {
    padding-top: 30px;
    font-size: var(--font-12-16);
  }
}
.sec-qa--lists-item--icon {
  position: absolute;
  right: 5.7%;
  width: 24px;
  height: 14px;
  background: url(../images/common/arw-down-wh.svg) no-repeat center/contain;
}
.sec-qa--lists-item .sec-qa--lists-item--icon {
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
}
.sec-qa--lists-item.active .sec-qa--lists-item--icon {
  animation: iconMove .2s forwards ease;
}
@keyframes iconMove {
  0% {
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    top: auto;
    bottom: 10%;
    transform: translateY(0) rotate(180deg);
  }
}
@media screen and (min-width: 768px) {
  .sec-qa--lists-item--icon {
    right: 1.7%;
  }
}
/* section-recommend
----------------------------- */
.sec-recommend {
  padding: 50px 0 20px;
  overflow: hidden;
}
.sec-recommend--body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--page-inner);
}
.sec-recommend-box {
  max-width: 1223px;
  margin: 0 auto;
}
.sec-common--body .sec-recommend-box {
  max-width: none;
}
.sec-recommend-link-box {
  margin-top: 32px;
  display: flex;
  gap: 40px;
  overflow-x: scroll;
  overflow-y: hidden;
  margin-right: calc(var(--page-inner) * -1);
  padding-bottom: 20px;
  padding-right: var(--page-inner);
}
.sec-recommend--lead {
  margin-top: 16px;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .sec-recommend {
    padding: 60px 0;
  }
  .page-flow .sec-recommend {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1)  0%, rgba(255, 255, 255, 0) 100%);
    padding-top: 12%;
  }
  .sec-recommend--body  {
    padding: 0 4%;
  }
  .sec-recommend-box {
    display: flex;
    justify-content: space-between;
    gap: 6%;
  }
  .page-peeling .sec-recommend-box {
    max-width: none;
  }
  .sec-recommend-link-box {
    margin-right: 0;
    margin-top: 0;
    gap: 5%;
    width: 100%;
    max-width: 800px;
    padding-bottom: 0;
    padding-right: 0;
    overflow: visible;
  }
  .sec-recommend--title-wrap {
    flex-shrink: 0;
  }
  .sec-recommend--lead {
    font-size: var(--font-12-16);
  }
}
.sec-recommend-link {
  width: 239px;
  display: block;
  flex-shrink: 0;
}
.sec-recommend-link--item {
  aspect-ratio: 1/1.47;
  padding: 11px 14px 11px 13px;
  position: relative;
  z-index: 0;
}
.sec-recommend-link--item::before {
  content: "";
  position: absolute;
  border-radius: 8px;
  inset: 0;
  filter: blur(0px);
  transition: all .6s ease;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (min-width: 768px) {
  .sec-recommend-link:hover .sec-recommend-link--item::before {
    filter: blur(6px);
  }
}
.sec-recommend-link--item-img {
  /* max-width: 212px; */
  width: 100%;
  margin: 0 auto;
}
.sec-recommend-link--item-img img {
  aspect-ratio: 1/0.73;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
}
.sec-recommend-link--item-title {
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sec-recommend-link--date {
  font-size: 16px;
  margin-top: 8px;
  text-align: right;
}
.sec-recommend-link--item-cat {
  font-size: 12px;
  margin: 8px 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sec-recommend-link--item-cat + .sec-recommend-link--item-title {
  font-size: 16px;
}
@media screen and (min-width: 768px) { 
  .sec-recommend-link-box > .sec-recommend-link {
    width: calc((100% - 5% * 2) / 3);
    max-width: 239px;
  }
  .sec-recommend-link--item {
    padding: 5%;
  }
  .sec-recommend-link--item-title {
    font-size: var(--font-10-14);
  }
  .sec-recommend-link--date {
    font-size: var(--font-12-16);
  }
  .sec-recommend-link--item-cat {
    font-size: var(--font-8-12);
    margin: 16px 0;
  }
  .sec-recommend-link--item-cat + .sec-recommend-link--item-title {
    font-size: var(--font-12-16);
  }
}
/* ホバーアニメーション　文字間 */
.hover-text {
  display: inline-block;
  transition: all 0.4s ease-out;
  transform-origin: left center;
}
@media screen and (min-width: 768px) { 
  a:hover .hover-text,
  button:hover .hover-text {
    transform: scaleX(1.1);
  }
}
/* section-customized.php
----------------------------- */
.sec-customized-body {
  padding: 0 0 0 var(--page-inner);
  overflow: hidden;
}
.sec-customized-box {
  display: flex;
  padding-top: 14%;
  max-width: clamp(445px, 67.083vw,966px);
  margin: 0 auto;
}
.sec-customized--contents {
  flex-shrink: 0;
  position: relative;
  z-index: 0;
  margin-right: -160px;
}
.sec-customized--img {
  width: clamp( 328px, 52.5vw, 756px);
  margin-top: -14%;
  flex-shrink: 0;
  z-index: -1;
}
.sec-customized--contents-ttl .en,
.sec-customized--contents-ttl .ja {
  display: block;
}
.sec-customized--contents-ttl .en {
  font-size: var(--font-48-110);
}
.sec-customized--contents-ttl .ja {
  font-size: var(--font-20-40);
  margin-top: 2%;
  letter-spacing: 0.1em;
}
.sec-customized--contents-text {
  font-size: 14px;
  margin-top: 24px;
}
.sec-customized--btn-wrap {
  margin-top: 34px;
}
.sec-customized--btn-wrap .btn-primary {
  width: 264px;
  min-height: 56px;
  font-size: 24px;
}
@media screen and (min-width: 375px) { 
.sec-customized--contents {
    margin-right: -31%;
  }
}
@media screen and (min-width: 768px) { 
  .sec-customized-box {
    padding-top: 16.5%;
    margin: 0 0 0 12%;
  }
  .sec-customized--contents {
    margin-right: -30%;
  }
  .sec-customized--img {
    margin-top: -16%;
  }
  .sec-customized--contents-text {
    font-size: var(--font-10-14);
    margin-top: 10px;
  }
  .sec-customized--btn-wrap {
    margin-top: 15%;
  }
  .sec-customized--btn-wrap .btn-primary {
    width: clamp(195px, 16.31vw, 235px);
    min-height: 40px;
    font-size: 16px;
  }
}
/* section-about-medical-hair-removal.php
----------------------------- */
.sec-about-medical-hair-removal-body {
  padding: 40px 0 40px var(--page-inner);
  overflow: hidden;
  color: var(--color-black);
  position: relative;
}
.sec-about-medical-hair-removal-body::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--sub-grad);
  opacity: 0.8;
  z-index: -1;
}
.sec-about-medical-hair-removal-box {
  display: flex;
  max-width: clamp(445px, 67.083vw,966px);
  margin: 0 auto;
}
.sec-about-medical-hair-removal--contents {
  position: relative;
  z-index: 1;
  margin-right: -160px;
}
.sec-about-medical-hair-removal--img {
  width: clamp( 328px, 52.5vw, 756px);
  flex-shrink: 0;
  z-index: 0;
}
.sec-about-medical-hair-removal--contents-ttl .en,
.sec-about-medical-hair-removal--contents-ttl .ja {
  display: block;
}
.sec-about-medical-hair-removal--contents-ttl .en {
  font-size: var(--font-40-60);
}
.sec-about-medical-hair-removal--contents-ttl .ja {
  font-size: var(--font-14-20);
  margin-top: 4%;
  letter-spacing: 0.1em;
}
.sec-about-medical-hair-removal--contents-text {
  font-size: 14px;
  margin-top: 24px;
  letter-spacing: 0.1em;
}
.sec-about-medical-hair-removal--btn-wrap {
  margin-top: 34px;
}
.sec-about-medical-hair-removal--btn-wrap .btn-primary {
  width: 264px;
  min-height: 56px;
  font-size: 24px;
}
@media screen and (min-width: 375px) { 
.sec-about-medical-hair-removal {
  margin-bottom: 160px;
}
.sec-about-medical-hair-removal--contents {
    margin-right: -31%;
  }
}
@media screen and (min-width: 768px) {
  .sec-about-medical-hair-removal-body {
    padding: 0;
  }
  .sec-about-medical-hair-removal-box {
    align-items: center;
  }
  .sec-about-medical-hair-removal--contents {
    margin-right: -30%;
    flex-shrink: 0;
  }
  .sec-about-medical-hair-removal--contents-text {
    font-size: var(--font-10-14);
    margin-top: 7%;
    max-width: 357px;
    width: 65%;
  }
  .sec-about-medical-hair-removal--btn-wrap {
    margin-top: 6%;
  }
  .sec-about-medical-hair-removal--btn-wrap .btn-primary {
    width: clamp(195px, 16.31vw, 235px);
    min-height: 40px;
    font-size: 16px;
  }
}
/* section-doctorsCosme
----------------------------- */
.sec-doctorsCosme {
  position: relative;
}
.sec-doctorsCosme--slides-box {
  margin-right: calc(var(--page-inner) * -1);
}
.sec-doctorsCosme-slides-box {
  margin-top: 46px;
  display: flex;
}
.sec-doctorsCosme-slides--link {
  margin-top: 1.3%;
}
.sec-doctorsCosme-slides--img {
  margin-right: -4%;
  width: 61%;
}
.sec-doctorsCosme-slides--swiper-arrows {
  display: flex;
  position: absolute;
  top: 45px;
  right: 2.2%;
}
@media screen and (min-width: 768px) { 
  .sec-doctorsCosme {
    padding: 0 0 113px;
  }
  .sec-doctorsCosme-slides--link,
  .sec-doctorsCosme-slides--img {
    max-width: 240px;
    width: 16.66vw;
  }
  .sec-doctorsCosme-slides--img {
    margin-right: -12%;
    width: auto;
  }
  .sec-doctorsCosme-slides--link {
    min-width: 120px;
    margin-top: 7.3%;
  }
  .sec-doctorsCosme-slides--swiper-arrows {
    top: 0;
  }
}
/* section-point
----------------------------- */
.sec-point {
  padding: 80px 0;
}
.sec-point--title {
  margin-bottom: 40px;
}
.sec-point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}
.sec-point-list--item {
  width: 100%;
  margin-top: 55px;
  position: relative;
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0.5) 100%);
  border-radius: 20px;
  padding: 63px 5% 40px;
}
.sec-point-list--item-num {
  position: absolute;
  top: -55px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 110px;
  background: url('../images/needs/point-nnum-bg.png') no-repeat center/contain;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-point-list--item-num > .num {
  font-size: 32px;
}
.sec-point-list--item-title {
  font-size: 16px;
  color: #803B4E;
  margin-bottom: 8px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 24px;
}
.sec-point-list--item-img {
  margin: 20px 0 16px;
  text-align: center;
}
.sec-point-list--item-img > img {
  overflow: hidden;
  border-radius: 8px;
}
.sec-point-list--item-text {
  font-size: 12px;
  color: var(--color-black);
}
.sec-point-list--item-text.--is-color-white {
  color: var(--color-white);
}
.sec-point-list--item-text p+p {
  margin-top: 16px;
}
.sec-point-list--item-icon {
  text-align: center;
  margin: 0 0 14px;
}
@media screen and (min-width: 768px) { 
  .sec-point-list {
    gap: 40px 2%;
  }
  .sec-point-list--item {
    width: calc((100% - (2% * 2)) / 3);
    padding: 63px 2% 40px;
  }
  .sec-point-list--item-icon {
    width: 41%;
    margin: 0 auto 14px;
  }
}
.page-MHRemoval .sec-point {
  padding: 120px 0 80px;
}
.page-MHRemoval .sec-point-list--item {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.4) 30%, rgba(255, 255, 255, 0.1) 65%, rgba(255, 255, 255, 0.1) 100%);
}
.page-MHRemoval .sec-point-list--item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  color: #803B4E;
}
.page-MHRemoval .sec-point-list--item-title p {
  text-align: center;
}
.page-MHRemoval .sec-point-list--item-text {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .page-MHRemoval .sec-point-list--item-title {
    min-height: clamp(85px, 7.5vw,108px);
    font-size: var(--font-14-20);
  }
  .page-MHRemoval .sec-point-list--item-text {
    font-size: var(--font-10-14);
  }
}
.page-peeling .sec-point-list--item-title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 24px;
}
.page-peeling .sec-point-list--item-text {
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .page-peeling .sec-point-list--item-title {
    font-size: var(--font-14-20);
    margin: 0 0 24px;
  }
  .page-peeling .sec-point-list--item-text {
    font-size: var(--font-10-14);
  }
}

/* commonTab
----------------------------- */
.sec-commonTab--tabs {
  font-size: var(--font-14-20);
  display: flex;
}
.sec-commonTab--tabs > li {
  width: 50%;
  text-align: center;
  position: relative;
  padding: 10px;
  opacity: 0.2;
}
.sec-commonTab--tabs > li:not(.active) {
  cursor: pointer;
}
.sec-commonTab--tabs > li.active {
  font-weight: bold;
  opacity: 1;
}
.sec-commonTab--tabs > li::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
  border-bottom: 1px solid #fff;
  opacity: 0.2;
}
.sec-commonTab--tabs > li.active::after {
  background: var(--primary-grad);
}
.sec-commonTab--contents--item {
  display: none;
}
.sec-commonTab--contents--item.active {
  display: block;
}
@media screen and (min-width: 768px) { 
  .sec-commonTab--tabs > li,
  .sec-commonTab--tabs > li:after,
  .sec-commonTab--tabs > li:hover {
    transition: all 0.8s ease;
  }
  .sec-commonTab--tabs > li:not(.active):hover {
    opacity: 1;
    font-weight: bold;
  }
  .sec-commonTab--tabs > li:not(.active):hover::after {
    background: var(--primary-grad);
  }
  
}

/* mainview-circleBox
----------------------------- */
.subpage-common-mainview-circleBox {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  padding: 0 0 70px;
}
.subpage-common-mainview--circle-img {
  width: 100%;
  margin: 0 0 -50px;
}
.subpage-common-mainview-circleBox--left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .subpage-common-mainview-circleBox {
    flex-direction: row;
    margin-right: -5%;
    padding: 0;
  }
  .subpage-common-mainview-circleBox .subpage-common-mainview--title {
    margin-top: 12.5%;
  }
  .subpage-common-mainview--circle-img {
    position: static;
    z-index: 1;
    margin: 0;
  }
  .subpage-common-mainview-circleBox .subpage-common-mainview--circle-img {
    width: clamp(321px,38.47vw,554px);
    margin-top: 20px;
  }
  .subpage-common-mainview-circleBox .subpage-common-mainview-circleBox--left {
    width: clamp(300px,51.38vw,740px);
  }
}
/* page-MRHair */
@media screen and (min-width: 768px) {
  .page-customization .subpage-common-mainview-circleBox--left,
  .page-MHRemoval .subpage-common-mainview-circleBox--left {
    width: calc(100% - clamp(321px,52.43vw,755px));
    max-width: 720px;
  }
  .page-customization .subpage-common-mainview--circle-img,
  .page-MHRemoval .subpage-common-mainview--circle-img {
    width: clamp(321px,52.43vw,755px);
    margin-top: -40px;
  }
}

/* sec-gentleMax 
----------------------------- */
.sec-gentleMax {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 0 30px;
  position: relative;
}
.sec-gentleMax-bg--contents {
  position: absolute;
  top: 80px;
  padding: 0 var(--page-inner);
}
.sec-gentleMax-bg--contents-ttl-ja {
  display: block;
  background: linear-gradient(90deg, #AB646D 0%, #CE7D7D 100%, rgba(206, 125, 125, 0) 100%);
  padding: 8px 24px;
  font-size: 16px;
  width: fit-content;
  margin: 0 0 6%;
  letter-spacing: 0.1em;
}
.sec-gentleMax-bg--contents-text {
  color: var(--color-black);
  font-size: var(--font-8-12);
  margin: 3% 0 0;
  letter-spacing: 0.1em;
  line-height: 1.8;
  width: 55%;
}
.sec-gentleMax-bg--contents-text p+p {
  margin-top: 5px;
}
.sec-gentleMax-bg--contents-text-ttl {
  font-size: var(--font-12-16);
  font-weight: bold;
  margin: 8% 0;
}
@media screen and (min-width: 768px) {
  .sec-gentleMax {
    padding: 0 0 60px;
  }
  .sec-gentleMax-bg--contents {
    width: 46.25vw;
    max-width: 666px;
    top: 3.9vw;
    left: 4%;
    padding: 0;
  }
  .sec-gentleMax-bg--contents-ttl-ja {
    padding: 8px 24px;
    font-size: var(--font-18-32);
  }
  .sec-gentleMax-bg--contents-text {
    width: 100%;
  }
  .sec-gentleMax-bg--contents-text-ttl {
    font-size: var(--font-10-14);
    margin: 0;
  }
  
}
.sec-gentleMax .sec-common--body {
  padding-bottom: 20px;
}
.sec-gentleMax--overlay {
  margin-top: -150px;
  position: relative;
}
.sec-gentleMax--overlay-bg {
    background:
    linear-gradient(
      to bottom,
      transparent 0,
      transparent 35px,
      #F7DBDB 35px,
      #F7DBDB 100%
    );
    padding: 0 0 3.5%;
    filter: drop-shadow(0 5px 10px rgba(128, 59, 78, 0.3));
}
.page-common-hair-removal .sec-gentleMax--overlay {
  margin-top: 70px;
}
.sec-gentleMax--overlay-inner {
  margin: 0 auto;
}
.sec-gentleMax--overlay-point {
  margin: 0 auto;
  max-width: 358px;
}
.sec-gentleMax--overlay-point > li {
  width: 53%;
  max-width: 198px;
}
.sec-gentleMax--overlay-point > li:nth-child(even) {
  margin-left: auto;
}
.sec-gentleMax--overlay-point > li:nth-child(n+2) {
  margin-top: -24%;
}
.page-common-hair-removal .sec-gentleMax--overlay {
  margin-top: 7%;
}
@media screen and (min-width: 768px) {
  .sec-gentleMax .sec-common--body {
    padding-bottom: 60px;
  }
  .sec-gentleMax--overlay {
    margin-top: -11.5%;
  }
  .sec-gentleMax--overlay-bg {
      background:
      linear-gradient(
        to bottom,
        transparent 0,
        transparent 3%,
        #F7DBDB 3%,
        #F7DBDB 100%
      );
    position: relative;
  }
  .sec-gentleMax--overlay-bg::before {
    content: "";
    display: block;
    position: absolute;
    top: 3%;
    left: 0;
    right: 0;
    background: url(../images/medical-hair-removal/gentleMax-overlay-bg-pc.png) top left / cover;
    width: 100%;
    aspect-ratio: 332 / 205;
    z-index: 0;
  }
  .page-common-hair-removal .sec-gentleMax--overlay {
    margin-top: 7%;
  }
  .page-common-hair-removal .sec-gentleMax--overlay-bg {
      background:
      linear-gradient(
        to bottom,
        transparent 0,
        transparent 8vw,
        #F7DBDB 8vw,
        #F7DBDB 100%
      );
    position: relative;
  }
  .page-common-hair-removal .sec-gentleMax--overlay-bg::before {
    top: 8vw;
  }

  .sec-gentleMax--overlay-inner {
    max-width: 1000px;
    width: 75.3%;
    position: relative;
  }
  .sec-gentleMax--overlay-point {
    max-width: none;
    display: flex;
    margin: 0 0 40px;
  }
  .page-common-hair-removal .sec-gentleMax--overlay-point {
    margin-bottom: 70px;
  }
  .sec-gentleMax--overlay-point > li {
    width: calc(100% / 4);
    max-width: 250px;
  }
  .sec-gentleMax--overlay-point > li:nth-child(even),
  .sec-gentleMax--overlay-point > li:nth-child(n+2) {
    margin: 0;
  }
  .sec-gentleMax---overlay--use-bg {
    position: relative;
  }
}
@media screen and (min-width: 1441px) {
  .page-common-hair-removal .sec-gentleMax--overlay-bg {
      background:
      linear-gradient(
        to bottom,
        transparent 0,
        transparent 5.5%,
        #F7DBDB 5.5%,
        #F7DBDB 100%
      );
    position: relative;
  }
  .page-common-hair-removal .sec-gentleMax--overlay-bg::before {
    top: 5.5%;
  }
}


/* about */
.sec-gentleMax---overlay--about-inner {
  padding: 40px 6%;
}
.sec-gentleMax---overlay--about-title {
  color: var(--main-color);
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1em;
  width: calc(100% - 20% - 32px);
}
.sec-gentleMax---overlay--about-title-box {
  display: flex;
  gap: 32px;
  align-items: center;
  margin: 0 0 32px;
}
.sec-gentleMax---overlay--about-title-img {
  width: 20%;
}
.sec-gentleMax---overlay--about-text,
.sec-gentleMax---overlay--use-text {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: var(--color-black);
}
.sec-gentleMax---overlay--about-text p+p,
.sec-gentleMax---overlay--use-text p+p {
  margin-top: 16px;
}
.sec-gentleMax---overlay--about-text .text-color,
.sec-gentleMax---overlay--use-text .text-color {
  color: var(--main-color);
  font-weight: bold;
}
.sec-gentleMax---overlay--about-text .text-smaller,
.sec-gentleMax---overlay--use-text .text-smaller {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .sec-gentleMax---overlay--about-inner {
    padding: 0;
    margin: 0 0 74px;
  }
  .sec-gentleMax---overlay--about-title {
    text-align: center;
    font-size: var(--font-18-32);
    width: 100%;
  }
  .sec-gentleMax---overlay--about-box {
    display: flex;
    gap: 0 1.6%;
    align-items: center;
  }
  .sec-gentleMax---overlay--about-title-img {
    width: 12.6%;
  }
  .sec-gentleMax---overlay--about-text {
    width: calc(100% - 12.6% - 1.6%);
  }
  .sec-gentleMax---overlay--about-text,
  .sec-gentleMax---overlay--use-text {
    font-size: var(--font-10-14);
  }
  .sec-gentleMax---overlay--about-text .text-smaller,
  .sec-gentleMax---overlay--use-text .text-smaller {
    font-size: var(--font-8-12);
  }
}
/* use */
.sec-gentleMax---overlay--use-bg {
  background: #fff;
  width: 93%;
  margin: 0 auto;
}
.sec-gentleMax---overlay--use-inner {
  /* max-width: 337px; */
  padding: 40px 8.3%;
  margin: 0 auto;
}
.sec-gentleMax---overlay--use-bg+.sec-gentleMax---overlay--use-bg .sec-gentleMax---overlay--use-inner {
  padding-top: 0;
}
.sec-gentleMax---overlay--use-title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  color: var(--main-color);
  margin: 0 0 32px;
}
.sec-gentleMax---overlay--use-title--ribon {
  background: linear-gradient(90deg, rgba(171, 100, 109, 0) 0%, #AB646D 10%, #AB646D 90%, rgba(171, 100, 109, 0) 100%);
  font-size: 20px;
  text-align: center;
  padding: 10px;
  margin: 30px -8.3%;
}
.sec-gentleMax---overlay--use-picture {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec-gentleMax---overlay--use-inner {
    max-width: none;
    padding: 65px 8.3%;
    margin: 0 auto;
  }
  .sec-gentleMax---overlay--use-bg+.sec-gentleMax---overlay--use-bg {
    margin-top: 50px;
  }
  .sec-gentleMax---overlay--use-bg+.sec-gentleMax---overlay--use-bg .sec-gentleMax---overlay--use-inner {
    padding-top: 65px;
  }
  .sec-gentleMax---overlay--use-box {
    display: flex;
    gap: 0 6.2%;
  }
  .sec-gentleMax---overlay--use-title {
    margin: 0;
    font-size: var(--font-18-32);
  }
  .sec-gentleMax---overlay--use-text {
    width: 60%;
    max-width: 597px;
  }
  .sec-gentleMax---overlay--use-title--ribon {
    font-size: var(--font-14-20);
    margin: 64px -3% 50px;
  }
}
.sec-gentleMax--more-btn-wrap {
  margin: 12px 0 0;
}
.sec-gentleMax--more-btn-wrap .btn-primary {
  width: 100%;
  max-width: 170px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-gentleMax--more-btn-wrap {
    margin: 28px 0 0;
  }
}

/* sec-plan 
----------------------------- */
.sec-plan {
  padding: 20px 0 145px;
}
.sec-plan--list {
  margin: 40px 0 0;
}
.sec-plan--list > li+li {
  margin-top: 24px;
}
.sec-plan--list-item {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 23px 5%;
}
.sec-plan--list-item--ttl {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin: 0 0 24px;
}
.sec-plan--list-item--ttl > .smaller {
  font-size: 14px;
  display: block;
  text-align: center;
}
.sec-plan--list-item--img {
  margin: 0 auto 8px;
  max-width: 379px;
}
.sec-plan--list-item--img > img {
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  object-fit: contain;
  aspect-ratio: 1 / 0.88;
}
@media screen and (min-width: 768px) {
  .sec-plan--list-item {
    padding: 23px 2.5%;
    border-radius: 20px;
  }
}
/* price */
.sec-plan--list-item--price-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 7.66%;
  padding: 16px 3%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.sec-plan--list-item--price-list:last-child {
  border-bottom: none;
}
.sec-plan--list-item--price-list-count {
  font-size: 20px;
  font-weight: bold;
  background: var(--main-color);
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sec-plan--list-item--price-list-count .num,
.sec-plan--list-item--price-list-count .unit {
  display: inline-block;
  vertical-align: baseline;
}
.sec-plan--list-item--price-list-count .unit {
  font-size: 10px;
  line-height: 1;
}
.sec-plan--list-item--price-list-price-total {
  font-size: 26px;
  font-weight: bold;
}
.sec-plan--list-item--price-list-price-total::before {
  content: "￥";
  display: inline-block;
}
.sec-plan--list-item--price-list-price-total::after {
  content: "（税込）";
  display: inline-block;
  font-size: 12px;
}
.sec-plan--list-item--price-list-price-unit {
  font-size: 14px;
}
/* first child */
.sec-plan--list-item--price-list:first-child {
  gap: 0 5%;
  padding: 21px 0;
}
.sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-count {
  font-size: 24px;
  width: 72px;
  height: 72px;
}
.sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-count .unit {
  font-size: 14px;
}
.sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-total {
  font-size: 32px;
}
.sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-total::after {
  font-size: 14px;
}
.sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-unit {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .sec-plan {
    padding: 100px 0 120px;
  }
  .sec-plan--list {
    display: flex;
    gap: 24px 1.8%;
    flex-wrap: wrap;
  }
  .sec-plan--list > li+li {
    margin-top: 0px;
  }
  .sec-plan--list-item {
    width: calc((100% - (1.8% * 2)) / 3);
    padding: 23px 2%;
    border-radius: 20px;
  }
  .sec-plan--list-item--ttl {
    font-size: var(--font-18-32);
  }
  .sec-plan--list-item--ttl > .smaller {
    font-size: var(--font-10-14);
  }
  .sec-plan--list-item--img {
    margin: 0 0 16px;
  }
  .sec-plan--list-item--img > img {
    aspect-ratio: 1 / 0.73;
  }
  /* price */
  .sec-plan--list-item--price-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 7.66%;
    padding: 16px 3%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  .sec-plan--list-item--price-list:last-child {
    border-bottom: none;
  }
  .sec-plan--list-item--price-list-count {
    font-size: var(--font-14-20);
    width: 16%;
    height: 100%;
    aspect-ratio: 1 / 1;
    max-width: 56px;
  }
  .sec-plan--list-item--price-list-count .unit {
    font-size: 10px;
  }
  .sec-plan--list-item--price-list-price-total {
    font-size: var(--font-18-26);
  }
  .sec-plan--list-item--price-list-price-total::after {
    font-size: var(--font-8-12);
  }
  .sec-plan--list-item--price-list-price-unit {
    font-size: var(--font-10-14);
  }
  /* first child */
  .sec-plan--list-item--price-list:first-child {
    gap: 0 5%;
    padding: 21px 0;
  }
  .sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-count {
    font-size: var(--font-18-24);
    width: 20%;
    height: 100%;
    max-width: 72px;
    max-height: 72px;
  }
  .sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-count .unit {
    font-size: var(--font-10-14);
  }
  .sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-total {
    font-size: var(--font-18-32);
  }
  .sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-total::after {
    font-size: var(--font-14-20);
  }
  .sec-plan--list-item--price-list:first-child .sec-plan--list-item--price-list-price-unit {
    font-size: var(--font-12-16);
  }
}
.sec-plan--more-btn-wrap {
  margin-top: 60px;
}
.sec-plan--more-btn-wrap .btn-primary {
  max-width: 235px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-plan--more-btn-wrap {
    margin-top: 40px;
  }
}

/* sec-whats 
----------------------------- */
.sec-whats .sec-common--body {
  padding-bottom: 20px;
}
.sec-whats--title--bg {
  background: #FBF9FB;
}
.sec-whats--title-inner {
  padding: 80px var(--page-inner) 0;
}
.sec-whats--title {
  color: var(--main-color);
}
.sec-whats--title--intro {
  color: var(--color-black);
  margin: 0 0 25px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .sec-whats--title > .en {
    font-size: 32px;
  }
  .sec-whats--title > .ja {
    font-size: 20px;
    margin: 16px 0;
  }
}
@media screen and (min-width: 768px) {
  .sec-whats--title--bg {
    background:#FBF9FB;
    padding: 10% var(--page-inner) 12%;
    position: relative;
  }
  .sec-whats--title--bg::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 52%;
    background: url(../images/medical-hair-removal/sec-whats-bg.png) left center / cover no-repeat;
  }
  .sec-whats--title-inner {
    padding: 0;
  }
  .sec-whats--title--intro {
    margin: 40px 0 0;
    font-size: var(--font-10-14)
  }
}
.sec-whats--overlay {
  position: relative;
  margin-top: -51px;
}
.sec-whats--overlay-bg {
  background: #fff;
  filter: drop-shadow(0 5px 10px rgba(128, 59, 78, 0.3));
}
.sec-whats--overlay-inner {
  padding: 64px 6.95% 30px;
}
.sec-whats--overlay--title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  color: var(--main-color);
  margin: 0 0 32px;
}
.sec-whats--overlay--title--ribon {
  background: linear-gradient(90deg, rgba(171, 100, 109, 0) 0%, #AB646D 10%, #AB646D 90%, rgba(171, 100, 109, 0) 100%);
  font-size: 20px;
  text-align: center;
  padding: 10px;
  margin: 30px -6.95% 0;
}
.sec-whats--overlay--picture {
  text-align: center;
  margin-top: 50px;
}
.sec-whats--overlay--text {
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 1.8;
  color: var(--color-black);
}
.sec-whats--overlay--text p+p {
  margin-top: 16px;
}
.sec-whats--overlay--text .text-color {
  color: var(--main-color);
  font-weight: bold;
}
.sec-whats--overlay--text .text-smaller {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .sec-whats--overlay-inner {
    padding: 64px 4.63% 30px;
  }
  .sec-whats--overlay--box {
    display: flex;
    gap: 0 6.2%;
  }
  .sec-whats--overlay--title {
    margin: 0;
    font-size:var(--font-18-32);
  }
  .sec-whats--overlay--text {
    width: 60%;
    max-width: 597px;
  }
  .sec-whats--overlay--title--ribon {
    font-size: var(--font-14-20);
    margin: 64px -3% 0;
  }
  .sec-gentleMax---overlay--use-text {
    font-size: var(--font-10-14);
  }
  .sec-gentleMax---overlay--use-text .text-smaller {
    font-size: var(--font-8-12);
  }
}
/* table */
.sec-whats--overlay--table-wrap {
  padding: 30px 0 20px;
  overflow-y: scroll;
}
@media screen and (min-width: 768px) {
  .sec-whats--overlay--table-wrap {
    padding: 50px 0 20px;
  }
}
.sec-whats--overlay--table {
  display: flex;
  align-items: flex-end;
  max-width: 1202px;
  min-width: 640px;
}
.row-title--list {
  width: 17%;
}
.sec-whats--overlay--table .main-table {
  width: 50%;
}
.sec-whats--overlay--table .sub-table {
  width: calc(100% - 50% - 17%);
}
.sec-whats--overlay--table .list-item {
  min-height: 76px;
  font-size: 14px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  font-weight: bold;
}
.sec-whats--overlay--table .list-item > p {
  text-align: center;
}
.sec-whats--overlay--table .row-title--list {
  background: #FBEDED;
}
.sec-whats--overlay--table .row-title--list-item {
  border: 1px solid #fff;
  font-size: 20px;
  font-weight: bold;
  color: var(--main-color);
}
.sec-whats--overlay--table .main-table {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  border: 1px solid #6981D3;
  filter: drop-shadow(0px 2px 10px rgba(105, 129, 211, 0.5));
}
.sec-whats--overlay--table .main-table-item-header,
.sec-whats--overlay--table .sub-table-item-header  {
  font-size: 20px;
  font-weight: bold;
}
.sec-whats--overlay--table .main-table-item-header p,
.sec-whats--overlay--table .sub-table-item-header p {
  text-align: center;
}
.sec-whats--overlay--table .main-table-item-header {
  background: #6981D3;
  padding: 24px 15px;
}
.sec-whats--overlay--table .main-table-item-header .point {
  background: #FFF;
  color: #6981D3;
  border-radius: 50px;
  padding: 3px 10px;
  font-size: 11px;
  width: fit-content;
  margin: 0 auto 8px;
  display: block;
  text-align: center;
  line-height: 1.2;
}
@media screen and (min-width: 800px) {
  .sec-whats--overlay--table .main-table-item-header .point {
    font-size: 12px;
  }
}
.sec-whats--overlay--table .sub-table {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  border: 1px solid #D7A4AA;
}
.sec-whats--overlay--table .sub-table-item-header {
  background: #D7A4AA;
  padding: 16px;
}
.sec-whats--overlay--table .main-table .list-item {
  border: 1px solid #6981D3;
  color: var(--color-black);
  background: #fff;
}
.sec-whats--overlay--table .main-table .list-item .text-color {
  color: #6981D3;
}
.sec-whats--overlay--table .sub-table .list-item {
  border: 1px solid #D7A4AA;
  color: var(--color-black);
}

/* sec-features 
----------------------------- */
@media screen and (max-width: 767px) {
  .sec-features-list--item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "icon title"
      "icon text";
    gap: 8px;
  }
  .sec-features-list--item-icon {
    grid-area: icon;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sec-features-list--item-title {
    grid-area: title;
    align-self: center;
  }

  .sec-features-list--item-text {
    grid-area: text;
  }
}
.sec-features {
  padding: 40px 0;
}
.sec-features-list {
  margin-top: 40px;
}
.sec-features-list li+li {
  margin-top: 16px;
}
.sec-features-list--item {
  background: linear-gradient(180deg, #AB646D 0%, #803B4E 100%);
  border-radius: 20px;
  padding: 7%;
}
.sec-features-list--item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec-features-list--item-title {
  font-size: 20px;
  font-weight: bold;
}
.sec-features-list--item-text {
  font-size: 12px;  
}
@media screen and (min-width: 768px) {
  .sec-features {
    padding: 80px 0;
  }
  .sec-features-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 2%
  }
  .sec-features-list > li {
    width: calc((100% - (2% * 2)) / 3);
    padding: 2%;
  }
  .sec-features-list li+li {
    margin-top: 0;
  }
  .sec-features-list--item-icon {
    margin: 0 0 16px;
  }
  .sec-features-list--item-title {
    font-size: var(--font-18-24);
    text-align: center;
    margin: 0 0 8px;
  }
  .sec-features-list--item-text {
    font-size: var(--font-10-14);  
    text-align: center;
    line-height: 1.8;
  }
}

/* sec-flow 
----------------------------- */
.sec-flow {
  padding: 40px 0;
}
@media screen and (min-width: 768px) {
  .sec-flow {
    padding: 80px 0;
  }
}
.sec-flow-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 40px;
}
.sec-flow-list--item {
  width: 100%;
  margin-top: 55px;
  position: relative;
  background: linear-gradient(#FFFFFF 0%, rgba(255, 255, 255, 0) 115.61%);
  border-radius: 20px;
  padding: 63px 5% 40px;
}
.sec-flow-list--item-num {
  position: absolute;
  top: -55px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 110px;
  background: url('../images/needs/point-nnum-bg.png') no-repeat center/contain;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .sec-flow-list--item-num {
    top: -45px;
    width: 90px;
    height: 90px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .sec-flow-list--item-num {
    top: -55px;
    width: 110px;
    height: 110px;
    font-size: 24px;
  }
}
.sec-flow-list--item-num > .num {
  font-size: 32px;
}
.sec-flow-list--item-title {
  font-size: 16px;
  color: #803B4E;
  margin-bottom: 8px;
  text-align: center;
}
.sec-flow-list--item-img {
  margin: 20px 0 16px;
  text-align: center;
}
.sec-flow-list--item-img > img {
  overflow: hidden;
  border-radius: 8px;
}
.sec-flow-list--item-text {
  font-size: 12px;
  color: var(--color-black);
}
.sec-flow-list--item-text.--is-color-white {
  color: var(--color-white);
}
.sec-flow-list--item-text p+p {
  margin-top: 16px;
}
@media screen and (min-width: 768px) { 
  .sec-flow-list {
    gap: 40px 2%;
  }
  .sec-flow-list--item {
    width: calc((100% - (2% * 3)) / 4);
    padding: 63px 2% 40px;
  }
}
.page-MHRemoval .sec-flow-list--item {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.4) 30%, rgba(255, 255, 255, 0.1) 65%, rgba(255, 255, 255, 0.1) 100%);
}
.page-MHRemoval .sec-flow-list--item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  color: #803B4E;
}
.page-MHRemoval .sec-flow-list--item-title p {
  text-align: center;
}
.page-MHRemoval .sec-flow-list--item-text {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .page-MHRemoval .sec-flow-list--item-title {
    min-height: clamp(45px, 5vw,72px);
    font-size: var(--font-14-20);
  }
  .page-MHRemoval .sec-flow-list--item-text {
    font-size: var(--font-10-14);
  }
}
/* sec-flow-btns */
.sec-flow-btns {
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6%;
  align-items: center;
  margin-top: 16px;
}
.sec-flow-btns .btn-primary {
  font-size: var(--font-10-14);
}
.sec-flow-btns .btn-primary:before {
  border-color: #E8C1C5;
}
.sec-flow-btns .header_button_line {
  width: 38%;
  max-width: 88px;
  min-width: 77px;
}
.sec-flow-btns .header_button_web {
  width: 58%;
  min-width: 108px;
}
/* checklist */
.sec-flow--checklist {
  background: linear-gradient(180deg, #AB646D 0%, #803B4E 100%);
  max-width: 800px;
  margin: 40px auto 0;
  padding: 64px 7%;
  border-radius: 20px;
}
.sec-flow--checklist-title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.sec-flow--checklist-lists {
  margin: 32px 0 0;
  text-align: center;
}
.sec-flow--checklist-lists > li {
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 0 24px;
}
.sec-flow--checklist-lists > li+li {
  margin-top: 24px;
}
.sec-flow--checklist-lists > li::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../images/medical-hair-removal/flow-checklist-icon.svg) no-repeat center / contain;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .sec-flow--checklist {
    padding: 5%;
    margin-top: 80px;
  }
  .sec-flow--checklist-title {
    font-size: var(--font-18-24);
  }
  .sec-flow--checklist-lists > li {
    font-size: var(--font-12-16);
  }
}
/* notion */
.sec-flow--notion {
  background: rgba(255, 255, 255, 0.1);
  padding: 7%;
  width: 100%;
  margin: 40px 0 0;
}
.sec-flow--notion-title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px;
}
.sec-flow--notion-text {
  font-size: 14px;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .sec-flow--notion {
    padding: 2%;
    margin: 80px 0 0;
  }
  .sec-flow--notion-title {
    font-size: var(--font-14-20);
  }
  .sec-flow--notion-text {
    font-size: var(--font-10-14);
  }
}
/* sec-effect 
----------------------------- */
.sec-effect {
  padding: 40px 0;
}
.sec-effect--body {
  padding: 0 var(--page-inner);
}
.sec-effect-box {
  background: linear-gradient(180deg,rgba(244, 210, 210, 1) 0%, rgba(244, 210, 210, 1) 15%, rgba(247, 219, 219, 1) 100%);
  padding: 6.5%;
  box-shadow: 0px 4px 32px 0px rgba(128, 59, 78, 0.1);
}
.sec-effect-img {
  text-align: center;
}
.sec-effect--title {
  color: var(--main-color);
  font-size: 32px;
  font-weight: bold;
  margin: 28px 0;
  text-align: center;
  letter-spacing: 0.15em;
}
.sec-effect--text {
  font-size: 16px;
  color: var(--color-black);
}
@media screen and (min-width: 768px) {
  .sec-effect {
    padding: 60px 0;
  }
  .sec-effect--body {
    padding: 0;
  }
  .sec-effect-box {
    display: flex;
    padding: 0;
  }
  .sec-effect-img {
    width: 26.73%;
  }
  .sec-effect-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .sec-effect-content-right {
    width: calc(100% - 26.73%);
    padding: 5.5% 7.5% 6%;
  }
  .sec-effect--title {
    font-size: var(--font-18-32);
    margin: 0 0 32px;
    text-align: left;
  }
  .sec-effect--text {
    font-size: var(--font-12-16);
  }
}

/* sec-price 
----------------------------- */
.sec-price {
  color: var(--color-black);
  padding: 60px 0;
}
.sec-price-bg {
  padding: 80px 0 80px;
  position: relative;
}
.sec-price-bg::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--sub-grad);
  opacity: 0.8;
}
.sec-price--title {
  color: var(--color-black);
}
.sec-price-list-wrap {
  margin: 40px 0 0;
}
.sec-price--list {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(44, 44, 44, 0.4);
  padding: 15px 0;
}
.sec-price--list-name {
  font-size: 14px;
  letter-spacing: 0.05em;
}
.sec-price--list-yen {
  font-size: 14px;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.sec-price--list-yen::before {
  content: "¥";
  display: inline-block;
}
.sec-price--more-btn-wrap .btn-primary {
  margin: 40px 0 0;
}
.sec-price--more-btn-wrap .btn-primary {
  width: 100%;
  max-width: 322px;
  min-height: 56px;
}
@media screen and (min-width: 768px) {
  .sec-price-box {
    display: flex;
    gap: 1%;
  }
  .sec-price--more-btn-wrap .btn-primary {
    width: 76%;
  }
  .sec-price-box--left {
    width: 31%;
  }
  .sec-price-box--right {
    width: 68%;
  }
  .sec-price-list-wrap {
    margin: 0;
  }
}

/* section-overview
----------------------------- */
.sec-overview {
  padding: 60px 0;
}
.sec-overview--list-item {
  padding: 40px 0;
  border-bottom: 1px solid rgba(255,255,255,0.4);
}
.sec-overview--list-item:last-child:not(:only-child) {
  border-bottom: none;
}
.sec-overview--list-name,
.sec-overview--list-desc {
  font-size: 20px;
}
.sec-overview--list-name {
  margin: 0 0 25px;
}
@media screen and (min-width: 768px) {
  .sec-overview {
    padding: 60px 0;
  }
  .sec-overview-box {
    display: flex;
    gap: 5.8%;
    margin:  0 0 80px;
  }
  .sec-overview--title {
    width: calc(100% - 75.52% - 5.8%);
    min-width: 170px;
  }
  .sec-overview--list {
    width: 75.52%;
  }
  .sec-overview--list-item {
    display: flex;
    gap: 1%;
    align-items: center;
  }
  .sec-overview--list-item:first-child {
    padding-top: 2%;
  }
  .sec-overview--list-name,
  .sec-overview--list-desc {
    font-size: var(--font-14-20);
  }
  .sec-overview--list-name {
    width: 37%;
    margin: 0;
  }
  .sec-overview--list-desc {
    width: 62%;
  }
}

/* section-about
----------------------------- */
.sec-about {
  padding: 80px 0 60px;
}
@media screen and (min-width: 768px) {
  .sec-about {
    padding: 60px 0;
  }
}
.sec-about--contents {
  margin-top: 40px;
}
.sec-about--contents--text {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
  .sec-about--box {
    display: flex;
    gap: 0 40px;
    justify-content: space-between;
  }
  .sec-about--title {
    width: fit-content;
    flex-shrink: 0;
  }
  .sec-about--contents {
    margin-top: 0;
    width: 100%;
    max-width: 740px;
  }
  .sec-about--contents--text {
    margin-top: 42px;
    font-size: var(--font-10-14);
  letter-spacing: 0.035em;
  }
}
/* -----------------------------
  page-about
----------------------------- */
.page-about--body {
  max-width: 1440px;
  padding: 0 var(--page-inner);
}
@media screen and (min-width: 768px) {
  .page-about--body {
    padding: 0 10%;
  }
}
/* page-about-mainview
----------------------------- */
@media screen and (max-width: 767px) {
  .page-about .subpage-common-mainview--inner {
    padding: 0;
  }
}
.page-about .about-mainview {
  position: relative;
}
.page-about .about-mainview--left {
  padding: 0 var(--page-inner) 200px;
}
.page-about .subpage-common-mainview--intro {
  margin-top: 75px;
}
.page-about .subpage-common-mainview--intro {
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .page-about .subpage-common-mainview--inner {
    padding-bottom: clamp(80px, 16.11vw, 232px);
  }
  .page-about .about-mainview--img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    max-width: 678px;
    width: 47.08vw;
  }
  .page-about .about-mainview--img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page-about .about-mainview--left {
    position: relative;
    max-width: 572px;
    width: 39.72vw;
    padding: 0;
  }
  .page-about .subpage-common-mainview--intro {
    font-size: var(--font-12-16);
    line-height: 2.8;
  }
}
/* page-about-value
----------------------------- */
.page-about-vision--bg {
  background: radial-gradient(1121.16% 100% at 50.13% 0%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 243, 245, 0.8) 65.65%, rgba(255, 232, 233, 0) 100%);
  position: relative;
  padding: 0 0 90px;
  z-index: -1;
}
.page-about-vision--bg::before {
  content: "";
  display: block;
  /* position: sticky; */
  position: absolute;
  left: 0;
  top: 0;
  width: clamp(175px, 38.81vw, 559px);
  height: clamp(205px, 47.70vw, 687px);
  background: url('../images/about/vision-K-sp.png') no-repeat left top / contain;
  z-index: 0;
}
.page-about-vision .page-about--body {
  margin-top: -115px;
  position: relative;
}
.page-about-vision--title-en,
.page-about-vision--right-ttl {
    background: radial-gradient(
    108.11% 171.59% at 86.77% -5.71%,
    #824752 0%,
    #A8717D 50.93%,
    #BC7E8B 73.5%,
    #C0B1B4 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.page-about-vision--title-en {
  font-size: 40px;
  margin-bottom: 60px;
}
.page-about-vision--right-ttl {
  font-size: 26px;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
}
.page-about-vision--right-txt {
  color: var(--color-black);
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
@media screen and (min-width: 768px) {
  .page-about-vision--bg {
    background: radial-gradient(1121.16% 100% at 50.13% 0%, rgba(255, 255, 255, 0.7) 0%, rgba(255, 243, 245, 0.7) 65.65%, rgba(255, 232, 233, 0) 100%);
    padding: 0 0 42.91%;
    margin-bottom: -40%;
  }
  .page-about-vision--bg::before {
    position: absolute;
    background: url('../images/about/vision-K.png') no-repeat left top / contain;
  }
  .page-about-vision .page-about--body {
    margin-top: 0;
    padding: 0;
  }
  .page-about-vision-box {
    display: flex;
    max-width: 951px;
    width: 67.04vw;
    padding: 10% 0 0 10.8%;
    gap: 0 12%;
  }
  .page-about-vision--title-en {
    flex-shrink: 0;
    font-size: var(--font-40-60);
    margin: 0;
  }
  .page-about-vision--right-ttl {
    font-size: var(--font-35-48);
    margin-bottom: 35px;
  }
  .page-about-vision--right-txt {
    font-size: var(--font-12-16);
    letter-spacing: 0.23em;
  }
}

/* 横スクロール */
.page-about-vision--slide {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.page-about-vision--slide-wrapper {
  display: flex;
  gap: 16px;
  margin: 0;
  width: max-content;
  will-change: transform;
}
.page-about-vision--slide-item {
  flex-shrink: 0;
  padding: 90px 0;
}
.page-about-vision--slide-item .slide-img {
  width: 77.77vw;
  max-width: 1120px;
  height: 100%;
  object-fit: cover;
}
/* .page-about-vision--slide-item {
  opacity: 0;
}
.page-about-vision--slide-item:nth-child(-n+2) {
  opacity: 1;
} */

@media screen and (min-width: 768px) {
  .page-about-vision--slide-item {
    padding: 200px 0;
  }
  .page-about-vision--slide-wrapper {
    padding: 0 0 0 10.8%;
  }

}

/* page-about-doctor
----------------------------- */
.page-about-doctor {
  padding: 0 0 45px;
}
.page-about-doctor--director--body {
  max-width: 1440px;
  margin: 0 auto;
}
.page-about-doctor--director-box {
  margin-top: 40px;
}
.page-about-doctor--director--img {
  width: 100%;
}
.page-about-doctor--director--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-about-doctor--director--profile {
  background: rgba(255,255,255,0.8);
  padding: 6.5%;
  margin: -47px 0 0;
  z-index: 1;
  position: relative;
}
.page-about-doctor--director--profile p {
  margin: 8px 0;
  color: var(--color-black);
  /* max-width: 666px; */
  max-width: 75%;
}
.page-about-doctor--director--profile-en {
  color: var(--primary-color);
  font-size: 24px;
}
.page-about-doctor--director--profile-post {
  font-size: 10px;
  font-weight: bold;
}
.page-about-doctor--director--profile-name {
  font-size: 16px;
}
.page-about-doctor--director--profile-history {
  font-size: 12px;
}
.page-about-doctor--director--profile-comment {
  font-size: 12px;
}
.page-about-doctor--director--menu-box {
  margin-top: 20px;
}
.page-about-doctor--director--menu-box a {
  color: var(--color-black);
  max-width: 214px;
  margin: 15px 0;
  font-size: 16px;
}
.page-about-doctor--director--license {
  margin-top: 20px;
  font-size: 14px;
  font-weight: bold;
  color: var(--color-black);
  margin-left: 1em;
}
.page-about-doctor--director--license > li {
  list-style: disc;
}
.page-about-doctor--members-item .page-about-doctor--director--license {
  font-size: 12px;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .page-about-doctor {
    padding: 0 0 60px;
  }
  .page-about-doctor--director-box {
    display: flex;
    margin-top: 50px;
  }
  .page-about-doctor--director--img {
    /* width: clamp(350px, 47.98vw, 691px); */
    width: 691px;
    display: block;
  }
  .page-about-doctor--director--img img {
    object-position: right;
  }
  .page-about-doctor--director--profile {
    width: clamp(400px, 66.94vw, 964px);
    display: block;
    padding: 6.2% 2.9% 4.6%;
  }
  .page-about-doctor--director--profile {
    margin: 0 0 0 -24.5%;
  }
  .page-about-doctor--director--profile p {
    margin: 15px 0;
  }
  .page-about-doctor--director--profile-en {
    font-size: var(--font-40-60)
  }
  .page-about-doctor--director--profile-post {
    font-size: var(--font-10-14);
  }
  .page-about-doctor--director--profile-name {
    font-size: var(--font-14-20);
  }
  .page-about-doctor--director--profile-history {
    font-size: var(--font-10-14);
  }
  .page-about-doctor--director--profile-comment {
    font-size: var(--font-10-14);
  }
  .page-about-doctor--director--menu-box a {
    font-size: var(--font-12-16);
  }
  .page-about-doctor--director--license {
    font-size: var(--font-10-14);
  }
  .page-about-doctor--members-item .page-about-doctor--director--license {
    font-size: var(--font-8-12);
  }
}
@media screen and (min-width: 1024px) {
  .page-about-doctor--director--profile {
    margin: 0 0 0 -14.5%;
  }
}

/* page-about-doctor--members */
.page-about-doctor--members {
  margin-top: 40px;
}
.page-about-doctor--members > li+li {
  margin-top: 40px;
}
.page-about-doctor--members-item-box {
  display: grid;
  grid-template-columns: 37% auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "img name"
    "profile profile";
  gap: 15px 4%;
}
.page-about-doctor--members-item--img {
  grid-area: img;
}
.page-about-doctor--members-item--name {
  grid-area: name;
  align-self: center;
}
.page-about-doctor--members-item--profile {
  grid-area: profile;
  font-size: 14px;
}
.page-about-doctor--members-item--name .ja {
  font-size: 20px;
}
.page-about-doctor--members-item--name .en {
  font-size: 18px;
  margin-top: 15px;
}
.page-about-doctor--members-item--profile-list-item {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-bottom: 8px;
  font-size: 14px;
}
.page-about-doctor--members-item--profile-list-item  dt {
  width: 4em;
}
.page-about-doctor--members-item--profile-list-item  dd {
  width: calc(100% - 4em - 1em)
}
/* comment */
.page-about-doctor--members-item-comment {
  margin-top: 10px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--color-black);
  padding: 5.6%;
  font-size: 12px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .page-about-doctor--members-item-box {
    grid-template-areas:
      "img name"
      "img profile";
    gap: 15px 4%;
  }
  .page-about-doctor--members {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    margin-top: 80px;
  }
  .page-about-doctor--members > li {
    width: calc((100% - 3%) / 2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .page-about-doctor--members > li+li {
    margin-top: 0;
  }
  .page-about-doctor--members-item--name {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    position: relative;
    padding-bottom: 15px;
  }
  .page-about-doctor--members-item--name::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 19%;
    height: 1px;
    background: rgba(255, 255, 255, 0.45);
  }
  .page-about-doctor--members-item--name .ja {
    font-size: var(--font-14-20);
    flex-shrink: 0;
  }
  .page-about-doctor--members-item--name .en {
    font-size: var(--font-13-18);
    margin: 0 0 4px;
    flex-shrink: 0;
  }
  .page-about-doctor--members-item--profile-list-item {
    font-size: var(--font-10-14);
  }
  .page-about-doctor--members-item-comment {
    margin-top: 16px;
    padding: 3.6%;
    font-size: var(--font-8-12);
  }
}

/* page-about-info
----------------------------- */
.page-about-info {
  padding: 45px 0;
}
.page-about-info--list {
  margin: 50px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.page-about-info--list-item {
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  padding: 23px 0;
  gap: 0 2em;
}
.page-about-info--list-item > dt {
  flex-shrink: 0;
}
.page-about-info--list-item > dd {
  letter-spacing: 0.01em;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .page-about-info {
    padding: 60px 0;
  }
  .page-about-info-box {
    display: flex;
    gap: 0 32px;
    max-width: 904px;
    margin: 0 auto;
  }
  .page-about-info--list {
    width: 100%;
    margin: 0;
  }
  .page-about-info--title {
    flex-shrink: 0;
  }
  .page-about-info--list-item {
    font-size: var(--font-14-20);
    padding: 39px 0;
  }
}

/* map
----------------------------- */
.page-about-access {
  padding: 45px 0;
}
.page-about-access--body {
  max-width: 1440px;
  margin: 0 auto;
  overflow: hidden;
}
.page-about-access--bg {
  background: linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
  padding: 40px var(--page-inner);
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 768px) {
  .page-about-access {
    padding: 60px 0;
  }
  .page-about-access--body {
    padding: 0 4%;
  }
}
.page-about-access-box {
  margin-top: 15px;
}
.page-about-access-box-map {
  width: 312px;
  padding-top: 207px;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.page-about-access-box-map iframe {
  width: 100%;
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: calc(100% + 150px + 150px);
  pointer-events: none;
}
.page-about-access-box-left {
  margin-top: 24px;
}
.page-about-access--address > p+p {
  margin-top: 9px;
}
.page-about-access--address .shop-name {
  font-size: 20px;
}
.page-about-access--address .address {
  font-size: 14px;
}
.page-about-access--transportation {
  margin-top: 35px;
  font-size: 14px;
}
.page-about-access--transportation > li+li {
  margin-top: 35px;
}
.page-about-access--transportation-list p {
  margin-top: 8px;
}
.page-about-access--transportation-list .ttl {
  font-weight: bold;
  margin-bottom: 16px;
}
.page-about-access--transportation-list .text-note {
  font-size: 12px;
}

@media screen and (min-width: 768px) {
  .page-about-access--bg {
    padding: 6.4% 6.85%;
  }
  .page-about-access-box {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: 0 7%;
  }
  .page-about-access-box-map {
    width: 50%;
    padding-top: 33.5%;
  }
  .page-about-access-box-left {
    width: calc(100% - 7% - 50%);
    margin: 0;
  }
  .page-about-access--address .shop-name {
    font-size: var(--font-14-20);
  }
  .page-about-access--address .address {
    font-size: var(--font-10-14);
  }
  .page-about-access--transportation {
    margin-top: 21.6%;
    font-size: var(--font-10-14);
  }
  .page-about-access--transportation-list {
    display: flex;
    gap: 0 2em;
  }
  .page-about-access--transportation-list .ttl {
    margin-bottom: 8px;
    flex-shrink: 0;
  }
  .page-about-access--transportation {
    margin-top: 35px;
    font-size: var(--font-10-14);
  }
  .page-about-access--transportation > li+li {
    margin-top: 16px;
  }
  .page-about-access--transportation-list p {
    margin-top: 4px;
  }
  .page-about-access--transportation-list .ttl {
    margin-bottom: 0;
  }
  .page-about-access--transportation-list .text-note {
    font-size: var(--font-8-12);
  }
}

/* カレンダー
----------------------------- */
.sec-calendar {
  padding: 45px 0;
}
@media screen and (min-width: 768px) {
  .sec-calendar {
    padding: 60px 0;
  }
}
.sec-calendar--body {
  padding: 0 24px;
}
.clinic-schedule-wrap {
  position: relative;
  width: calc(100% - 79px);
  overflow-x: scroll;
}
/* 
スクロールバー　*/
/* WebKit系 (Chrome, Safari, Edge) 対応 */
.clinic-schedule-wrap::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.clinic-schedule-wrap::-webkit-scrollbar-thumb {
  background-color: #713E44;
  border-radius: 50%;
  overflow: hidden;
}
.clinic-schedule-wrap::-webkit-scrollbar-track {
  background: transparent;
}
/* Firefox 対応 */
.clinic-schedule-wrap {
  scrollbar-width: thin;
  scrollbar-color: #713E44 transparent; 
}
.calendar-wrap {
  margin: 24px 0 0;
}
.calendar-list {
  position: relative;
  display: flex;
  background: rgba(255, 255, 255, .8);
}
.calendar-list::before {
  position: absolute;
  top: 94px;
  left: 0;
  z-index: 1;
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  background: #A8717D;
}
.clinic-schedule-inner {
  width: 480px;
}
.calendar-time {
  font-size: 18px;
}
.calendar-list-col {
  width: calc(100% / 7);
}
.clinic-schedule {
  width: 100%;
}
.calendar-list-head {
  display: flex;
  gap: 0 20px;
  padding: 0 30px 0 50px;
  background: rgba(255, 255, 255, .8);
}
.calendar-list-col {
  display: flex;
  align-items: center;
  justify-content: center;
}
.calendar-list-head > div {
  height: 94px;
  font-size: 20px;
  vertical-align: middle;
  text-align: center;
  font-weight: 400;
  color: #2c2c2c;
}
.calendar-list-body {
  padding: 0 30px 0 50px;
}
.calendar-list-body > div {
  display: flex;
  align-items: center;
  gap: 0 13px;
}
.calendar-list-body > div:nth-child(2) {
  padding: 45px 0 0;
}
.calendar-time-wrap {
  width: 79px;
}
.calendar-time-wrap::before {
  display: grid;
  place-content: center;
  content: "時間";
  width: 100%;
  height: 94px;
  font-size: 14px;
  font-weight: 700;
  color: #A8717D;
}
.calendar-time-inner {
  height: calc( 100% - 94px);
  padding: 27px 0 34px;
  border-right: 1px solid #A8717D;
}
.calendar-time {
  padding: 0 10px;
  color: #2c2c2c;
  text-align: center;
}
.calendar-time + .calendar-time {
  margin: 31px 0 0;
}
.calendar-list-body > div:nth-child(1) {
  /* padding: 40px 0 0; */
  padding: 50px 0 0;
}
@media screen and (min-width: 1024px) {
 .calendar-list-body > div:nth-child(1) {
  padding: 40px 0 0;
}
}
.calendar-list-body > div:nth-child(2) {
  padding: 45px 0 43px;
}
.maru {
  display: inline-block;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: solid #A8717D 1px;
}
.sankaku {
  width: 34px;
  height: 27px;
}
.batsu {
  display: inline-block;
  width: 34px;
  height: 1px;
  background: #A8717D;
}
@media screen and (min-width: 590px) {
  .clinic-schedule-inner {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .clinic-schedule-inner {
    width: 100%;
  }
  .calendar-time {
    font-size: clamp(18px, 1.56vw, 20px);
  }
}
@media screen and (min-width: 1024px) {
  .sec-calendar--body {
    width: 1000px;
    margin: auto;
    padding: 0;
  }
  .calendar-wrap {
    width: 1000px;
    margin: 22px auto 0;
  }
  .clinic-schedule-wrap {
    overflow-x: unset;
  }
  .clinic-schedule-inner {
    width: 100%;
  }
  .calendar-time-wrap::before {
    display: block;
    content: "";
    width: 100%;
    height: auto;
    padding: 94px 0 0;
    background: rgba(255, 255, 255, .8);
  }
  .calendar-time-wrap {
    width: 225px;
  }
  .calendar-time-inner {
    padding: 42px 0 46px;
  }
  .calendar-time {
    padding: 0 20px;
  }
  .calendar-time + .calendar-time {
    margin: 56px 0 0;
  }
  .clinic-schedule-wrap {
    position: relative;
    width: calc(100% - 225px);
  }
  .calendar-list-head {
    display: flex;
    gap: 0 40px;
    padding: 0 26px 0 53px;
  }
  .calendar-list-body {
    padding: 0 26px 0 53px;
  }
  .calendar-list-body > div {
    display: flex;
    gap: 0 20px;
  }
  .calendar-list-body > div:nth-child(2) {
    padding: 45px 0 38px;
  }
  /* .calendar-list-body > div:nth-child(2) .calendar-list-col:first-child {
    padding: 40px 0 38px 46px;
  }
  .calendar-list-body > div:nth-child(2) .calendar-list-col:last-child {
    padding: 40px 22px 38px 0;
  } */
}
@media screen and (min-width: 1280px) {
  .calendar-time {
    font-size: 20px;
  }
}
/* 休診日 */
.closed-days-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0 20px;
  margin: 16px 16px 0;
  padding: 16px 31px;
  border: 1px #fff solid;
}
.this-month-wrap {
  display: flex;
  justify-content: center;
  gap: 0 7px;
}
.closed-days-list-wrap {
  display: flex;
  justify-content: center;
  margin: 16px 0 0;
}
.closed-days-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 296px;
}
.closed-days-item {
  display: grid;
  place-items: center;
  width: calc(50% - 4px);
  height: 53px;
  background: rgba(255, 255, 255, .8);
  color: #2c2c2c;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .closed-days-wrap {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 16px 0;
    padding: 16px 16px 16px 40px;
  }
  .this-month-wrap {
    min-width: 260px;
    justify-content: flex-start;
    gap: 0 10px;
  }
  .closed-days-list-wrap {
    justify-content: flex-end;
    flex: 1;
    margin: 0;
  }
  .closed-days-list {
    width: auto;
    max-width: 450px;
  }
  .closed-days-item {
    width: 144px;
    font-size: 14px;
  }
}
@media screen and (min-width: 1024px) {
  .closed-days-wrap {
    width: 1000px;
    margin: 16px auto 0;
  }
  .closed-days-list {
    max-width: 600px;
  }
}
@media screen and (min-width: 1280px) {
  .closed-days-item {
    font-size: clamp(14px, 1.56vw, 20px);
  }
}


/* -----------------------------
  page-trouble
----------------------------- */
.page-trouble--link-body {
  padding: 0 var(--page-inner);
  max-width: 1440px;
  margin: 0 auto;
}

.page-trouble--link-list {
  flex-wrap: wrap;
  display: flex;
  gap: 8px;
  margin-top: 70px;
}
.page-trouble--link-list-item {
  width: calc((100% - 8px) / 2);
  height: auto;
  background: rgba(255, 255, 255, .8);
  border-radius: 8px;
}
.page-trouble--link-list .tab-onayami--thumbnail-item {
  height: 100%;
  padding: 6.35%;
  display: flex;
  flex-direction: column;
  color: var(--color-black);
  transition: all .6s ease;
  font-size: 16px;
}
.page-trouble--link-list .tab-onayami--thumbnail-img {
  width: 100%;
  margin: 0 auto;
  max-width: 127px;
}
.page-trouble--link-list .tab-onayami--thumbnail-item .common-arw-wrap {
  height: 100%;
  padding-right: 15px;
}
.page-trouble--link-list .tab-onayami--thumbnail-item .common-arw-wrap > .common-arw::before,
.page-trouble--link-list .tab-onayami--thumbnail-item .common-arw-wrap > .common-arw::after {
  right: 5px;
}
@media screen and (min-width: 768px) {
  .page-trouble--link-list .tab-onayami--thumbnail-item {
   font-size: 14px;
   color: var(--color-white);
   font-weight: bold;
  }
  .page-trouble--link-list .tab-onayami--thumbnail-item .common-arw {
    display: none;
  }
  .page-trouble--link-list {
    gap: 1.7%;
    margin-top: 0;
  }
  .page-trouble--link-list-item {
    width: calc((100% - (1.7% * 3)) / 4);
    cursor: pointer;
    background: transparent;
    margin-bottom: 1.7%;
  }
  .page-trouble--link-list-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
    border: 1px solid rgba(255, 255, 255, 0.3);
    filter: blur(0px);
    transition: all .6s ease;
    z-index: -1;
    border-radius: 8px;
  }
  .page-trouble--link-list-item:hover:before {
    filter: blur(4px);
  }
  .page-trouble--link-list .tab-onayami--thumbnail-item .common-arw-wrap {
    padding-right: 10px;
    justify-content: center;
  }
}

/* -----------------------------
  page-doctors-cosmetic
----------------------------- */
.page-doctorsCosme-recommend {
  padding: 70px 0;
}
.page-doctorsCosme-recommend .sec-common--body {
  padding-right: 0;
}
.page-doctorsCosme-recommend--left {
  padding: 0 0 50px;
  margin: 0 0 40px;
  position: relative;
}
.page-doctorsCosme-recommend-slides-wrap {
  background: linear-gradient(rgba(255,255,255,0.3) 0%, rgba(255, 255, 255, 0) 100%);
  border: 1px solid rgba(255,255,255,0.3);
  padding: 6%;
  max-width: 322px;
  /* min-height: 400px; */
  aspect-ratio: 1 / 1.24;
  margin-right: 6%;
}
.page-doctorsCosme-recommend-slides--text .title {
  font-size: 20px;
  font-weight: bold;
}
.page-doctorsCosme-recommend-slides--text {
  font-size: 14px;
  margin-top: 8px;
}
.page-doctorsCosme-recommend-slides--text p+p {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .page-doctorsCosme-recommend {
    padding: 100px 0;
  }
  .page-doctorsCosme-recommend-box {
    position: relative;
  }
  .page-doctorsCosme-recommend--left {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
  }
  .page-doctorsCosme-recommend--slides-box {
    max-width: 961px;
    width: 66.73vw;
    margin-left: auto;
  }
  .page-doctorsCosme-recommend-slides--text {
    font-size: var(--font-10-14);
  }
  .page-doctorsCosme-recommend-slides--text .title {
    font-size: var(--font-14-20);
  }
}
/* arrow */
.page-doctorsCosme-recommend-slides--swiper-arrows {
  display: flex;
  position: absolute;
  bottom: 0;
  right: 5%;
}
@media screen and (min-width: 768px) { 
  .page-doctorsCosme-recommend-slides--swiper-arrows {
    top: auto;
    right: auto;
    left: 0;
  }
}

/* -----------------------------
  page-customization
----------------------------- */
/* mainview
----------------------------- */
.subpage-mainview--title-ribon-wrap {
  margin-top: -30px;
  position: relative;
}
.subpage-mainview--title-ribon-wrap .ja {
  margin-top: 0;
}
.subpage-mainview--title-ribon {
  background: #A04055;
  font-size: var(--font-14-20);
  display: inline-block;
  padding: 5px 51px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) { 
  .subpage-mainview--title-ribon {
    background: #A04055;
    display: inline-block;
    padding: 5px 51px;
    width: fit-content;
  }
}
/* page-customization-point
----------------------------- */
/* parallax */
.js-parallax-elm-box {
  overflow: hidden;
}
.js-parallax-elm-box img {
  display: block;
}
.page-customization-point {
  position: relative;
}
.page-customization-point--bg {
  height: 634px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) { 
  .page-customization-point--bg {
    height: 400px;
    position: static;
  }
}
.page-customization-point {
  padding: 0 0 80px;
}
.page-customization-point--list {
  padding-top: 80px;
}
.page-customization-point--list > li+li {
  margin-top: 16px;
}
.page-customization-point--list-item {
  background-color: rgba(175, 69, 91, 0.8);
  backdrop-filter: blur(15px);
  padding: 24px 10px 33px;
}
.page-customization-point--list-item-num {
  font-size: 24px;
  text-align: center;
}
.page-customization-point--list-item-icon {
  text-align: center;
  margin: 16px auto;
  width: 28%;
}
.page-customization-point--list-item-text {
  font-size: 16px;
}
.page-customization-point--list-item-text p {
  text-align: center;
}
.page-customization-text {
  margin-top: 24px;
  font-size: 14px;
}
@media screen and (min-width: 768px) { 
  .page-customization-point .sec-common--body {
    overflow: visible;
  }
  .page-customization-point--list {
    padding-top: 0;
    display: flex;
    gap: 2%;
    margin-top: -30px;
  }
  .page-customization-point--list > li {
    width: calc((100% - (2% * 2)) / 3);
  }
  .page-customization-point--list > li+li {
    margin-top: 0;
  }
  .page-customization-point--list-item-num {
    font-size: var(--font-18-32);
  }
  .page-customization-point--list-item-icon {
    width: 35%;
  }
  .page-customization-point--list-item-text {
    font-size: var(--font-14-20);
  }
}

/* page-customization-point
----------------------------- */
/* common-video */
.common-video-thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 684 / 380;
  overflow: hidden;
  cursor: pointer;
  max-width: 684px;
  margin: 0 auto;
}
.common-video-thumbnail video {
  display: none;
}
.common-video-thumbnail video,
.common-video-thumbnail__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.common-video-thumbnail__image {
  transition: opacity 0.4s ease;
}
.common-video-thumbnail__image.is-hidden {
  opacity: 0;
  pointer-events: none;
}
/* page-customization-movie */
.page-customization-movie--bg {
  background: url(../images/customization/movie-bg-sp.jpg) no-repeat top center / cover;
  padding: 40px 0 80px;
}
.page-customization-movie-title-wrap {
  padding: 0 var(--page-inner);
  margin: 0 0 24px;
}
@media screen and (min-width: 768px) { 
  .page-customization-movie--bg {
    background: url(../images/customization/movie-bg-pc.jpg) no-repeat top center / cover;
    padding: 110px 0;
  }
  .page-customization-movie-box {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5%;

  }
  .page-customization-movie-title-wrap {
    padding: 0;
    margin: 0;
  }
  .page-customization--movie {
    width: 60%;
  }
}
@media screen and (min-width: 1024px) {
  .page-customization--movie {
    width: 684px;
  }
}

/* page-customization-effect
----------------------------- */
.page-customization-effect {
  padding: 120px 0 0;
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}
.page-customization-effect--body {
  overflow: hidden;
  padding: 0 var(--page-inner);
}
.page-customization-effect--case {
  margin-top: 40px;
  padding: 0 var(--page-inner);
  background:   linear-gradient(
        to bottom,
        transparent 0,
        transparent 20%,
        #7E505A 20%,
        #7E505A 100%
      );
}
.page-customization-effect--case-img-wrap {
  margin: 0 0 24px;
}
.page-customization-effect--case-tabs {
  font-size: 20px;
}
.page-customization-effect--case-tabs > li {
  padding: 24px 10px;
  letter-spacing: 0.1em;
}
.page-customization-effect--case-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio:  1 / 0.67;
}
.page-customization-effect-bottom-box {
  display: flex;
  flex-direction: column;
}
.page-customization-effect .sec-pictures-slide--info {
  width: 100%;
}
.page-customization-effect--link-wrap {
  padding: 60px 0;
  width: 100%;
}
.page-customization-effect--link {
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
@media screen and (min-width: 768px) { 
  .page-customization-effect--case {
    margin-top: 0;
    background:   linear-gradient(
          to bottom,
          transparent 0,
          transparent 15%,
          #7E505A 15%,
          #7E505A 100%
        );
  }
  .page-customization-effect--case-box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
  }
  .page-customization-effect--case-tabs {
    font-size: var(--font-18-24);
    margin: 0 0 16px;
  }
  .page-customization-effect--case-tabs > li {
    padding: 28px 10px;
  }
  .page-customization-effect-title {
    position: absolute;
  }
  .page-customization-effect--case-img-wrap {
    margin: 0;
  }
  .page-customization-effect--case-img-wrap,
  .page-customization-effect .sec-pictures-slide--img-box {
    width: 50%;
  }
  .page-customization-effect .sec-pictures-slide--img-contents {
    padding-left: 0;
    padding-top: 20%;
    width: 80%;
  }
  .page-customization-effect-bottom-box {
    flex-direction: column-reverse;
    padding: 0 0 6%;
  }
  .page-customization-effect--link-wrap {
    padding: 16px 0;
  }
  .page-customization-effect--link {
    font-size: var(--font-14-20);
    justify-content: flex-end;
  }
}
@media screen and (min-width: 1024px) { 
  .page-customization-effect--case {
    background:   linear-gradient(
          to bottom,
          transparent 0,
          transparent 20%,
          #7E505A 20%,
          #7E505A 100%
        );
  }
}

/* page-customization-term
----------------------------- */
.page-customization-term {
  padding: 80px 0 0;
}
.page-customization-term--body {
  padding: 0 var(--page-inner);
}
.page-customization-term--lead {
  margin: 40px 0;
}
.page-customization-term--lead-title {
  font-size: 20px;
  font-weight: bold;
}
.page-customization-term--lead-img {
  width: 100%;
  margin: 16px 0;
}
.page-customization-term--lead-img img,
.page-customization-term--lead--count-img img {
  width: 100%;
  max-width: 500px;
  text-align: center;
}
.page-customization-term--lead--count-title {
  font-size: 10px;
  font-weight: bold;
  margin: 0 0 4px;
}
.page-customization-term--lead--count-title {
  display: inline-block;
  position: relative;
  height: 26px;/*高さ*/
  line-height: 26px;/*高さ*/
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 100%);
  width: calc(100% - 5px);
  text-align: left;
}
.page-customization-term--lead--count-title:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
  top: 0;
  right: -5px;
  border-width: 13px 5px 13px 0px;
  border-color: transparent rgba(255, 255, 255, 0.2) transparent transparent;
  border-style: solid;
  transform: rotate(180deg);
}
@media screen and (min-width: 768px) { 
  .page-customization-term--body {
    max-width: calc(1000px + 4%);
    padding: 0 4%;
    margin: 0 auto;
  }
  .page-customization-term--lead {
    margin: 50px 0 40px;
  }
  .page-customization-term--lead-title {
    font-size: var(--font-14-20);
  }
  .page-customization-term--lead-img img,
  .page-customization-term--lead--count-img img {
    max-width: none;
  }
  .page-customization-term--lead--count-title {
    font-size: var(--font-12-16);
    margin: 0 0 21px;
  }
  .page-customization-term--lead--count-title {
    height: 50px;/*高さ*/
    line-height: 50px;/*高さ*/
    width: calc(100% - 10px);
  }
  .page-customization-term--lead--count-title:after {
    right: -10px;
    border-width: 25px 10px 25px 0px;
  }
}
/* price */
.page-customization-effect--price-bg {
  padding: 25px 0 120px;
  position: relative;
  color: var(--color-black);
}
.page-customization-effect--price-bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--sub-grad);
  opacity: 0.8;
  z-index: -1;
}
.page-customization-effect--price-bg::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../images/customization/price-bg-sp.png) top center / cover;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) { 
  .page-customization-effect--price-bg::after {
    background: url(../images/customization/price-bg-pc.png) top left / cover;
    aspect-ratio: 332 / 205;
  }
}
.page-customization-term--price-body {
  padding: 0;
}
.page-customization-effect--price-bg--inner {
  padding: 0 var(--page-inner);
}
.page-customization-term--price-list-item > p {
  margin: 8px 0;
}
.page-customization-term--price-list-item--title {
  font-size: 20px;
  font-weight: bold;
}
.page-customization-term--price-list-item--price {
  font-size: 14px;
  font-weight: bold;
}
.page-customization-term--price-list-item--dec {
  font-size: 14px;
}
.page-customization-term--price-list-item--machine {
  font-size: 16px;
  color: #AB656E;
  font-weight: bold;
  margin: 0 0 16px;
}
.page-customization-term--price-list-item--machine-tags {
  font-size: 12px;
  color: var(--color-white);
  font-weight: bold;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  width: 86%;
}
.page-customization-term--price-list-item--machine-tags > li {
  padding: 2px 8px;
  background: #AB646D;
  border-radius: 40px;
  width: fit-content;
}
.page-customization-term--price-list > li > .line {
  background: #AF455B;
  margin: 40px 0;
}
.page-customization-term--price-list > li:last-child > .line {
  display: none;
}
.page-customization-term--price-list-note {
  font-size: 14px;
  border-top: 1px solid #AF455B;
  padding: 18px 9% 0;
  width: 100vw;
  margin: 65px calc(50% - 50vw) 0;
}
@media screen and (min-width: 768px) { 
  .page-customization-term--price-body {
    padding: 0 4%;
  }
  .page-customization-effect--price-bg {
    padding: 50px 0;
  }
  .page-customization-term--price-title {
    font-size: var(--font-14-20);
    font-weight: bold;
    text-align: center;
    width: 100%;
    margin: 0 0 40px;
  }
  .page-customization-effect--price-bg--inner {
    width: 81.55%;
    margin: 0 auto;
    padding: 0;
  }
  .page-customization-term--price-list {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(40px, 6.25vw, 90px) 3.6%;
  }
  .page-customization-term--price-list > li {
    width: calc((100% - (3.6% * 2)) / 3);
    padding-bottom: 3.6%;
    position: relative;
  }
  .page-customization-term--price-list > li::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1.8%; /* gapの半分 */
    width: 1px;
    height: 100%;
    background: #9D4A5B;
  }
  .page-customization-term--price-list > li:nth-child(3n)::after,
  .page-customization-term--price-list > li:last-child::after {
    display: none;
  }
  .page-customization-term--price-list-item > .line {
    display: none;
  }
  .page-customization-term--price-list-note {
    font-size: var(--font-12-16);
    text-align: center;
    padding: 36px 0 0;
    width: 100%;
    margin: 36px 0 0;
    text-align: center;
  }
  .page-customization-term--price-list-note p {
    text-align: center;
  }
  .page-customization-term--price-list-item--title {
    font-size: var(--font-14-20);
  }
  .page-customization-term--price-list-item--price,
  .page-customization-term--price-list-item--dec {
    font-size: var(--font-10-14);
  }
  .page-customization-term--price-list-item--machine {
    font-size: var(--font-12-16);
  }
  .page-customization-term--price-list-item--machine-tags {
    font-size: var(--font-8-12);
    gap: 8px;
    width: 100%;
  }
}

/* page-customization-step
----------------------------- */
.page-customization-step {
  padding: 80px 0 0;
}
.page-customization-step--body {
  overflow: hidden;
  padding: 0 var(--page-inner);
  margin: 0 auto;
}
.page-customization-step-box {
  margin: 0 0 80px;
}
.page-customization-step--list {
  margin-top: 40px;
}
.page-customization-step--list > li+li {
  margin-top: 40px;
}
.page-customization-step--list-item {
  background-color: rgba(175, 69, 91, 0.8);
}
.page-customization-step--list-item-left {
  padding: 8px 20px 32px;
}
.page-customization-step--list-item-title {
  font-size: 20px;
  font-weight: bold;
}
.page-customization-step--list-item-title > .num {
  margin-right: 1em;
}
.page-customization-step--list-item-text {
  font-size: 16px;
  margin-top: 8px;
}
@media screen and (min-width: 768px) { 
  .page-customization-step--body {
    max-width: 1440px;
    padding-left: 4%;
    padding-right: 0;
  }
  .page-customization-step-box {
    display: flex;
    gap: 0 5%;
  }
  .page-customization-step-title {
    flex-shrink: 0;
  }
  .page-customization-step--list {
    margin: 0;
    width: 100%;
  }
  .page-customization-step--list > li+li {
    margin-top: 24;
  }
  .page-customization-step--list-item {
    display: flex;
    flex-direction: row-reverse;
  }
  .page-customization-step--list-item-img {
    width: 43.44%;
  }
  .page-customization-step--list-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page-customization-step--list-item-left {
    width: calc(100% - 43.44%);
    padding: 40px 30px;
  }
  .page-customization-step--list-item-title {
    font-size: var(--font-18-24);
    display: flex;
    align-items: center;
  }
  .page-customization-step--list-item-title > .num {
    font-size: var(--font-20-40);
    margin-right: 0.5em;
    font-weight: normal;
    line-height: 1;
  }
  .page-customization-step--list-item-text {
    font-size: var(--font-12-16);
    margin-top: 16px;
  }
}
/* caution */
.page-customization-step--caution {
  background: radial-gradient(100% 181.04% at 0% 47.63%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 243, 245, 0.9) 65.65%, rgba(255, 232, 233, 0.9) 100%);
  padding: 40px var(--page-inner);
  max-width: 1440px;
  margin: 0 auto;
  overflow: hidden;
  color: var(--color-black);
}
.page-customization-step--caution-title {
  font-size: 20px;
}
.page-customization-step--caution-list {
  font-size: 14px;
  margin-top: 16px;
}
.page-customization-step--caution-list > li {
  display: flex;
}
.page-customization-step--caution-list > li::before {
  content: "・";
  display: block;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) { 
  .page-customization-step--caution {
    padding: 50px 4% 50px 17%;
  }
  .page-customization-step--caution-title {
    font-size: var(--font-14-20);
  }
  .page-customization-step--caution-list {
    font-size: var(--font-10-14);
    margin-top: 22px;
  }
}

/* page-customization-machine
----------------------------- */
.page-customization-machine {
  padding: 80px 0;
}
.page-customization-machine .sec-common--body {
  position: relative;
}

/* -----------------------------
  page-flow
----------------------------- */
/* page-flow-step
----------------------------- */
.page-flow-step {
  padding: 100px 0 80px;
}
.page-flow-step--list {
  margin: 40px 0 0;
}
.page-flow-step--list-item-box {
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  padding: 9% 7%;
}
.page-flow-step--other {
  background: radial-gradient(100% 181.04% at 0% 47.63%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 243, 245, 0.8) 65.65%, rgba(255, 232, 233, 0.8) 100%);
  border-radius: 8px;
  color: var(--color-black);
}
.page-flow-step--other-box {
  padding: 9% 7%;
}
.page-flow-step--list-item-title {
  display: flex;
  gap: 0 1em;
  align-items: center;
}
.page-flow-step--list-item-title-text {
  font-size: 20px;
  font-weight: bold;
}
.page-flow-step--list-item-title-num {
  font-size: 20px;
  width: 40px;
  height: 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.page-flow-step--list-item-title-num::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 40px;
  height: 40px;
  background: url('../images/flow/step-icon.svg') no-repeat center / contain;
  z-index: -1;
}
.page-flow-step--other-right-title {
  font-size: 20px;
  font-weight: bold;
  margin: 8px 0;
}
.page-flow-step--list-item-img {
  margin: 8px 0;
}
.page-flow-step--other-right-text {
  font-size: 14px;
  line-height: 1.8;
}
/* page-flow-step--list-item-btns */
.page-flow-step--list-item-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6%;
  align-items: center;
  margin-top: 8px;
  max-width: 254px;
}
.page-flow-step--list-item-btns .btn-primary {
  font-size: 14px;
}
.page-flow-step--list-item-btns .btn-primary::before {
  border-color: #E8C1C5;
}
.page-flow-step--list-item-btns .header_button_line {
  width: 38%;
  max-width: 88px;
  min-width: 77px;
}
.page-flow-step--list-item-btns .header_button_web {
  width: 58%;
  min-width: 108px;
  max-width: 152px;
}
.page-flow-step--list-item-arrow {
  text-align: center;
  margin: 8px 0 20px;
}
.page-flow-step--list-item:last-child .page-flow-step--list-item-arrow {
  display: none;
}
.page-flow-step--other {
  margin-top: 40px;
}
.page-flow-step--lead {
  margin-top: 40px;
  font-size: 20px;
}
.page-flow-step--lead > p {
  text-align: center;
}

@media screen and (min-width: 768px) { 
  .page-flow-step-box {
    display: flex;
    gap: 0 50px;
    justify-content: space-between;
  }
  .page-flow-step--list {
    margin-top: 0;
  }
  .page-flow-step--title {
    flex-shrink: 0;
  }
  .page-flow-step-right {
    margin-top: 0;
    width: 78.88%;
  }
  .page-flow-step--list-item-box {
    padding: 2%;
  }
  .page-flow-step--other-box {
    padding: 2%;
    gap: 8px 4.6%;
    display: flex;
    align-items: center;
  }
  .page-flow-step--list-item-box {
    display: grid;
    grid-template-columns: 34% auto;
    grid-template-rows: auto auto;
    grid-template-areas:
      "img title"
      "img text";
    gap: 8px 4.6%
  }
  .page-flow-step--other-img {
    width: 34%;
  }
  .page-flow-step--list-item-title {
    grid-area: title;
    align-self: end;
  }
  .page-flow-step--list-item-img {
    grid-area: img;
    margin: 0;
  }
  .page-flow-step--list-item-text {
    grid-area: text;
  }
  .page-flow-step--list-item-title-text {
    font-size: var(--font-14-20);
  }
  .page-flow-step--list-item-title-num {
    font-size: var(--font-14-20);
    width: var(--font-20-40);
    height: var(--font-20-40);
  }
  .page-flow-step--list-item-title-num::after {
    width: var(--font-20-40);
    height: var(--font-20-40);
  }
  .page-flow-step--list-item-text {
    font-size: var(--font-10-14);
  }
  .page-flow-step--other-right-title {
    font-size: var(--font-14-20);
  }
  .page-flow-step--other-right-text {
    font-size: var(--font-10-14);
  }
  .page-flow-step--list-item-btns .btn-primary {
    font-size: var(--font-10-14);
    padding: 3% 20px;
    min-height: auto;
  }
}


/* -----------------------------
  page-price
----------------------------- */
/* page-price
----------------------------- */

@media screen and (min-width: 768px) {
  .page-price--common-box {
    display: flex;
    gap: 3%;
    margin-top: 6%;
    flex-direction: row-reverse;
  }
  .page-price--common-left {
    width: 73.35%;
  }
}
/* left item */
.page-price--common-left-item .page-price--common-left-item-title {
  padding-top: 40px;
}
.page-price--common-left-item:first-child .page-price--common-left-item-title {
  padding-top: 0;
}
.page-price--common-left-item-title {
  font-size: var(--font-18-24);
  font-weight: bold;
  margin: 0 0 0.8em;
  letter-spacing: 0.1em;
  width: fit-content;
}
.page-price--common-left-item-title .common-arw-wrap {
  gap: 1em;
  word-break: auto-phrase;
}
.page-price--common-left-item-body {
  position: relative;
  padding: 3.8%;
  color: var(--color-black);
}
.page-price--removal .page-price--common-left-item-body {
  margin: 0 calc(50% - 50vw) 40px;
  width: 100vw;
}
.page-price--common-left-item-body::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--sub-grad);
  opacity: 0.8;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .page-price--removal .page-price--common-left-item-body {
    width: 100%;
    margin: 0 0 40px;
  }
}
.page-price--common-left-item .sec-price--list:first-child {
  border-top: none;
}
.page-price--common-left-item .sec-price--list-name,
.page-price--common-left-item .sec-price--list-yen {
  font-size: var(--font-14-20);
}

/* aside */
@media screen and (max-width: 767px) {
  .page-price--common-aside {
    background: linear-gradient(
      180deg,
      rgba(69, 40, 44, 0.1) 0%,
      rgba(171, 100, 109, 0.1) 100%
    );
    width: 100vw;
    margin: 40px calc(50% - 50vw);
  }
  .page-price--common-aside-list {
    padding: 52px var(--page-inner);
    display: flex;
    /* flex-direction: column; */
    gap: 21px;
    font-size: 20px;
    overflow-y: scroll;
  }
  .page-price--common-aside-list > li {
    flex-shrink: 0;
  }
  .page-price--common-aside-list .common-arw-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 24px;
    flex-shrink: 0;
  }
}
.page-price--common-aside-list .common-arw-wrap::after {
  content: "";
  display: block;
  background: url("../images/common/arw-down-wh.svg") no-repeat center / contain;
  width: 24px;
  height: 13px;
  position: absolute;
  right: 0;
}
@media screen and (min-width: 768px) {
  .page-price--common-aside {
    flex: 1;
    font-size: var(--font-14-20);
    font-weight: bold;
    margin: 2.7em 0 0;
    background: transparent;
    width: auto;
  }
  .js-price-anchor-list {
    position: sticky;
    top: 120px;
    border-left: 1px solid rgba(255,255,255,0.4);
    padding-left: 10%;
    max-height: calc(100vh - 150px);
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: #713E44 transparent; 
  }
  .page-price--common-aside-list > li+li {
    margin-top: 16px;
  }
}
/* tabs */
.page-pricelist .sec-commonTab--tabs > li {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .page-pricelist .sec-commonTab--tabs > li {
    padding: 1.9%;
  }
}


/* -----------------------------
  page-price
----------------------------- */
/* page-price-removal
----------------------------- */
.page-price-removal--table .type-yen::before {
  content: "￥";
  display: inline-block;
}
.page-price-removal--img {
  margin: 0 0 16px;
  padding: 6.7% 0;
  position: relative;
  text-align: center;
}
.page-price-removal--img > img {
  width: 100%;
  max-width: 336px;
}
.page-price-removal--img::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--sub-grad);
  opacity: 0.8;
}
.page-price--common-left-item-body .repeat-area+.repeat-area {
  margin-top: 35px;
}
.page-price-removal--group-title {
  font-size: 20px;
  font-weight: bold;
}
.page-price-removal--title,
.page-price-removal--desc {
  font-size: 16px;
  font-weight: bold;
}
.page-price-removal--title {
  margin-top: 16px;
}
.page-price-removal--desc {
  margin-top: 5px;
}
.page-price-removal--table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  margin: 16px 0;
  border: 1px solid #B3B3B3;
  border-left: none;
}
.page-price-removal--table td, 
.page-price-removal--table th {
  padding: 12.5px 10px;
  border: none;
}
.page-price-removal--table td + td,
.page-price-removal--table th + th {
  border-left: 1px solid #B3B3B3;
}
.page-price-removal--table tr + tr td,
.page-price-removal--table tr + tr th {
  border-top: 1px solid #B3B3B3;
}
.page-price-removal--table th:first-child + th {
  border-left: none;
}
.page-price-removal--table th {
  position: relative;
}
.page-price-removal--table th:first-child::before,
.page-price-removal--table th:first-child::after {
  content: '';
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background: #B3B3B3;
}
.page-price-removal--table th:first-child::before {
  right: 0;
}
.page-price-removal--table th:first-child::after {
  left: 0;
}
.page-price-removal--table-header {
  background: var(--main-color);
  color: var(--color-white);
  font-weight: bold;
  font-size: 14px;
}
.page-price-removal--table-header th {
  text-align: center;
  padding: 14px 10px;
}
.page-price-removal--table-content {
  background: #fff;
  font-size: 16px;
}
.page-price-removal--table-content td {
  text-align: right;
  white-space: nowrap;
}
.page-price-removal--table-content th {
  text-align: left;
}
.page-price-removal--table-note,
.page-price-removal--note {
  font-size: 14px;
}
.page-price-removal--note {
  border-top: 1px solid rgba(44, 44, 44, 0.4);
  margin-top: 16px;
  padding-top: 16px;
}
@media screen and (min-width: 768px) {
  .page-price-removal--group-title {
    font-size: var(--font-14-20);
  }
  .page-price-removal--title,
  .page-price-removal--desc,
  .page-price-removal--table-content {
    font-size: var(--font-12-16);
  }
  .page-price-removal--table-header,
  .page-price-removal--table-note,
  .page-price-removal--note {
    font-size: var(--font-10-14);
  }
}
/* scroll */
.page-price-removal--table-scroll {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #713E44 transparent;
}
.page-price-removal--table:has(th:nth-child(6)) {
  table-layout: auto;
}
.page-price-removal--table:has(th:nth-child(6)) {
  min-width: 600px;
}
.page-price-removal--table:has(th:nth-child(6)) th,
.page-price-removal--table:has(th:nth-child(6)) td {
  min-width: 120px;
}
@media screen and (min-width: 768px) {
  .page-price-removal--table:has(th:nth-child(6)) th,
  .page-price-removal--table:has(th:nth-child(6)) td {
    min-width: 100px;
  }
}
.page-price-removal--table:has(th:nth-child(6)) .page-price-removal--table-header th:first-child,
.page-price-removal--table:has(th:nth-child(6)) .page-price-removal--table-content th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
}
.page-price-removal--table:has(th:nth-child(6)) .page-price-removal--table-header th:first-child {
  background: var(--main-color);
}
.page-price-removal--table:has(th:nth-child(6)) .page-price-removal--table-content th:first-child {
  background: #fff;
}
