html { 
	font-size: 62.5%; /* 10px */
}
body, body *, body *::before, body *::after {
	outline:none;
}
body {
	background:#FFF;
	color: var(--color-black);
	font-feature-settings: "palt";
	position: relative;
}
body::after {
	content:'';
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	-webkit-transition: all .4s ease;
	   -moz-transition: all .4s ease;
	    -ms-transition: all .4s ease;
	     -o-transition: all .4s ease;
	        transition: all .4s ease;
}
body.active::after {
	content:'';
	opacity:1;
	visibility:visible;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.4);
	-webkit-transition: all .4s ease;
	   -moz-transition: all .4s ease;
	    -ms-transition: all .4s ease;
	     -o-transition: all .4s ease;
	        transition: all .4s ease;
}
.noto {
	font-family: 'Noto Sans JP', sans-serif;
}
.noto2 {
	font-family: 'Noto Serif JP', sans-serif;
}
.mon {
	font-family: 'Montserrat', sans-serif;
}


/* =responsive
-------------------------------------------------------------- */
.pc {
    display: none;
}
.pctablet {
    display: none;
}
.tablet {
    display: none;
}


/* =color
-------------------------------------------------------------- */
:root {
	--c-gld:#b5965b;
	--c-grn:#73bb80;
	--anime-1:cubic-bezier(.2, 1, .2, 1);
}


/* =anime
-------------------------------------------------------------- */
.anime {
	opacity:0;
}
.anime.run {
	animation: fadeup 1s ease-in-out forwards;
}
@keyframes fadeup {
  0% { opacity:0; transform:translateY(60px); }
  100% { opacity:1; transform:translateY(0px); }
}


/* =structure
-------------------------------------------------------------- */
.container {
	width:100%;
	min-height:100vh;
	overflow:hidden;
	position: relative;
}
.wrapper {
	width:100%;
	margin:0 auto;
	position: relative;
}
.contents {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	padding:0 0 100px 0;
	position: relative;
}
.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}


/* =ヘッダー
-------------------------------------------------------------- */
header {
	display: block;
	width:100%;
	height:60px;
	background:#FFF;
}
header .inner.flex {
	height:100%;
	align-items:center;
}
header .logo {
	display: block;
	width:55%;
	padding:5px 20px 10px;
}
header .logo a {
	display: block;
}
header .logo a img {
	display: block;
	width:100%;
	height:auto;
}
header .headnav {
	display:none;
	position: absolute;
	top:60px;
	left:0;
	width:100%;
	height: 100vh; /* 変数をサポートしていないブラウザのフォールバック */
	height: calc((var(--vh, 1vh) * 100) - 60px);
	background:#FFF;
	z-index:400;
	padding:0 25px;
}
header .headnav.flex {
	align-items:center;
}
header .headnav .nav {
	font-size:1.6rem;
}
header .headnav .nav i {
	display:inline-block;
	width:40px;
	text-align: center;
	color:#00973E;
	padding:0 15px 0 0;
}
header .headnav .nav a,
header .headnav .nav p {
	display: block;
	padding:18px 0;
	color:#000;
	overflow:hidden;
	position: relative;
	border-bottom:1px solid #666;
}
header .headnav .nav a::after {
	content:'';
	position: absolute;
	top:50%;
	right:0;
	width:30px;
	height:30px;
	margin:-15px 0 0 0;
	background:url(../img/sign2.svg) no-repeat center center;
	background-size:16px auto;
	transition:all .4s ease;
}
header .headnav .nav a:hover::after {
	right:-5px;
}
header .headnav .nav p::before {
	content:'';
	position: absolute;
	top:50%;
	right:16px;
	width:8px;
	height:2px;
	background:#000;
	transform:rotate(45deg);
	transition:all .4s ease;
	transform-origin: right;
}
header .headnav .nav p::after {
	content:'';
	position: absolute;
	top:50%;
	right:8px;
	width:8px;
	height:2px;
	background:#000;
	transform:rotate(-45deg);
	transition:all .4s ease;
	transform-origin: left;
}
header .headnav .parentnav.active p::before {
	margin:-3px 0 0 0;
	transform:rotate(-45deg);
}
header .headnav .parentnav.active p::after {
	margin:-3px 0 0 0;
	transform:rotate(45deg);
}
header .headnav .indivnav {
	transition:all .3s ease;
}
header .headnav .nav.parentnav {
	position: relative;
}
header .headnav .childnav {
	display:none;
	width:100%;
	background:#FFF;
	transition:all .3s ease-in-out;
}
header .headnav .childnav.active {
	display:block;
}
header .headnav .nav .nav2 {
	padding:0 0 0 20px;
}
header .hamburger {
	position: absolute;
	z-index:500;
	top:0;
	right:0;
	width:60px;
	height:60px;
	background:#FFF;
}
header .hamburger .line {
	position: absolute;
	top:50%;
	left:50%;
	width:30px;
	height:1px;
	background:#00973E;
	transition:all .3s ease;
	transform-origin: center;
}
header .hamburger .line1 {
	margin:-8px 0 0 0;
	transform:translate(-50%,-50%);
}
header .hamburger .line2 {
	transform:translate(-50%,-50%);
}
header .hamburger .line3 {
	margin:8px 0 0 0;
	transform:translate(-50%,-50%);
}
header .hamburger.active .line1 {
	margin:0;
	transform:translate(-50%,-50%) rotate(30deg);
}
header .hamburger.active .line2 {
	opacity:0;
}
header .hamburger.active .line3 {
	margin:0;
	transform:translate(-50%,-50%) rotate(-30deg);
}


/* =top
-------------------------------------------------------------- */
.mv {
	width:100%;
	height:375px;
	overflow:hidden;
	position: relative;
}
.mv .slidermv .slidebox {
	position: relative;
	width:100%;
	height:375px;
}
.mv .slidermv .slidebox .thumb {
	position: relative;
	width:100%;
	height:375px;
}
.mv .slidermv img {
	position: absolute;
	top:50%;
	left:0;
	display: block;
	width:auto;
	height:375px;
	transform:translateY(-50%);
}
.mv .mvti {
	position: absolute;
	left:6%;
	bottom:40px;
	font-size:2rem;
	line-height:1.5em;
	font-family: 'Noto Serif JP', serif;
	color:#000;
}
.mv .slick-num {
	position: absolute;
	bottom:30px;
	right:40px;
	z-index:100;
	height:100px;
}
.mv .slick-num .nowcnt {
	position: absolute;
	top:0;
	left:0;
	text-align: center;
	font-size:1.6rem;
	color:#333;
}
.mv .slick-num .allcnt {
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.6rem;
	color:#333;
}
.progress {
  position: absolute;
  right: 30px;
  bottom: 55px;
  width: 2px;
  height: 50px;
  background: #FFF;
  z-index:100;
  border-radius:2px;
}

.bar {
  display: block;
  height: 0%;
  width: 2px;
  background: #333;
  border-radius:2px;
}

.mv .bnr {
	position: absolute;
	top:20px;
	right:0;
	background:#55BC55;
	padding:20px 10px;
	border-radius:10px 0 0 10px;
	z-index:120;
}
.mv .bnr img {
	display: block;
	width:22px;
	height:auto;
}


.green {
	background:#F2F9F6;
}
/* topabout */
.topabout {
	padding:70px 0;
	position: relative;
}
.topabout::before {
	content:'';
	position: absolute;
	top:-20px;
	left:5%;
	width:172px;
	height:210px;
	background:url(../img/k.svg) no-repeat center center;
	z-index:2;
}
.topabout .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	position: relative;
	z-index:2;
}
.topabout .inner .left {
	width:100%;
}
.topabout .inner .left h3 {
	display: block;
	font-size:2.2rem;
	font-weight:bold;
	padding:30px 0 0 0;
	position: relative;
}
.topabout .inner .left h3::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.topabout .inner .right {
	width:100%;
	padding:50px 0 0 0;
}
.topabout .inner .right .timetable1 {
	background:#FFF;
	width:100%;
	padding:15px 0 0 0;
}
.topabout .inner .right .timetable1 img {
	display: block;
	width:100%;
	height:auto;
}
.topabout .inner .right .timetable1 p {
	font-size:1.5rem;
	line-height:1.5em;
	padding:20px 15px;
}
.timetablebtn .btn {
	width:50%;
}
.timetablebtn .btn1 a {
	display: block;
	padding:16px 0;
	background:#00973E;
}
.timetablebtn .btn2 a {
	display: block;
	padding:16px 0;
	background:#D8D8D8;
}
.timetablebtn .btn a img {
	display: block;
	width:auto;
	height:20px;
	margin:0 auto;
}

/* sliderimg */
.sliderimg {
	padding:0 0 100px;
}
.sliderimg .slidebox {
	padding:0 15px;
}
.sliderimg .slidebox img {
	display: block;
	width:100%;
	height:auto;
	border-radius:20px;
}
.sliderimg .slick-dots {
	width:90%;
	left:5%;
	bottom:50px;
}
.sliderimg .slick-dots li {
	width:20px;
}
.sliderimg .slick-dots li button {
	width:20px;
	height:4px;
	border-radius:4px;
	padding:0;
	background:#D8D8D8;
}
.sliderimg .slick-dots li button:before {
	content:none;
}
.sliderimg .slick-dots li.slick-active button {
	background:#00973E;
}

/* topintro */
.topintro {
	padding:0 0 70px 0;
}
.topintro .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
}
.topintro .inner .introbox img {
	display: block;
	width:100%;
	height:auto;
}
.topintro .inner .introbox1 .left {
	width:100%;
	border-radius:20px;
	overflow:hidden;
}
.topintro .inner .introbox1 .right {
	width:100%;
	padding:40px 0 0 0;
}
.topintro .inner .introbox2 {
	padding:100px 0 0 0;
}
.topintro .inner .introbox2 .left {
	order:1;
	width:100%;
	padding:40px 0 0 0;
}
.topintro .inner .introbox2 .right {
	order:0;
	width:100%;
	border-radius:20px;
	overflow:hidden;
}
.topintro .inner h3 {
	display: block;
	font-size:2.2rem;
	font-weight:bold;
	padding:30px 0 0 0;
	position: relative;
}
.topintro .inner h3::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.topintro .inner p {
	font-size:1.6rem;
	line-height:1.8em;
	padding:40px 0;
}
a.morebtn {
	display: block;
	background:#55BC55;
	width:280px;
	padding:20px 25px;
	color:#FFF;
	margin:0 auto;
	font-size:1.8rem;
	font-weight:bold;
	border-radius:6px;
	position: relative;
}
a.morebtn .circle {
	position: absolute;
	top:50%;
	right:25px;
	display: block;
	width:30px;
	height:30px;
	border:2px solid #FFF;
	overflow:hidden;
	border-radius:50%;
	margin:-15px 0 0 0;
}
a.morebtn .circle .sign1 {
	position: absolute;
	top:50%;
	left:0;
	display: block;
	width:28px;
	height:28px;
	margin:-13px 0 0 0;
	background:url(../img/sign.svg) no-repeat center center;
	background-size:16px auto;
}
a.morebtn .circle .sign2 {
	position: absolute;
	top:50%;
	left:-30px;
	display: block;
	width:28px;
	height:28px;
	margin:-13px 0 0 0;
	background:url(../img/sign.svg) no-repeat center center;
	background-size:16px auto;
}
a.morebtn:hover .circle .sign1 {
	animation: sign1 1.4s ease infinite;
}
a.morebtn:hover .circle .sign2 {
	animation: sign2 1.4s .2s ease infinite;
}
@keyframes sign1 {
  0% { left:0; }
  20% { left:100%; }
  100% { left:100%; }
}
@keyframes sign2 {
  0% { left:-100%; opacity:1; }
  20% { left:0; opacity:1; }
  85% { left:0; opacity:1; }
  90% { left:0; opacity:0; }
  100% { left:0; opacity:0; }
}

/* topservice */
.topservice {
	width:85%;
	margin:0 auto;
	padding:0 0 70px;
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	grid-row-gap: 25px;
}
.topservice .box {
	background:#FFF;
	border-radius:10px;
	overflow:hidden;
	text-align: center;
}
.topservice .box .thumb {
	overflow:hidden;
}
.topservice .box img {
	display: block;
	width:100%;
	height:auto;
	transition:all .4s ease;
}
.topservice .box a:hover img {
	-webkit-transform: scale(1.05);
	   -moz-transform: scale(1.05);
	    -ms-transform: scale(1.05);
	     -o-transform: scale(1.05);
	        transform: scale(1.05);
}
.topservice .box p {
	font-size:1.8rem;
	font-weight:bold;
	padding:25px 0;
	color:#000;
}

/* topnews */
.topnews {
	padding:0 0 70px 0;
	position: relative;
}
.topnews .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	position: relative;
	z-index:2;
}
.topnews .inner .left {
	width:100%;
}
.topnews .inner .left h3 {
	display: block;
	font-size:2.2rem;
	font-weight:bold;
	padding:30px 0 0 0;
	position: relative;
}
.topnews .inner .left h3::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.topnews .inner .right {
	width:100%;
	padding:40px 0 0 0;
}
.topnews .inner .right .newsblc {
	margin:0 auto 50px;
}
.newsbox a {
	justify-content:flex-start;
	align-items:center;
	border-bottom:1px solid #C9C9C9;
	padding:25px 40px 25px 0;
	font-size:1.5rem;
	line-height:1.5em;
	position: relative;
}
.newsbox a::after {
	content:'';
	position: absolute;
	top:50%;
	right:0;
	width:30px;
	height:30px;
	margin:-15px 0 0 0;
	background:url(../img/sign2.svg) no-repeat center center;
	background-size:16px auto;
	transition:all .4s ease;
}
.newsbox a:hover::after {
	right:-5px;
}
.newsbox .news_date {
	display: block;
	width:100%;
	font-size:1.4rem;
	color:#9B9B9B;
	transition:all .4s ease;
}
.newsbox a:hover .news_date {
	color:#000;
}
.newsbox .news_title {
	display: block;
	width:100%;
	color:#000;
	padding:5px 0 0 0;
	transition:all .4s ease;
}
.newsbox a:hover .news_title {
	text-shadow:
    -1px -1px 0 #eee,
    1px -1px 0 #eee,
    -1px 1px 0 #eee,
    1px 1px 0 #eee;
}


/* foottimetabel */
.foottimetabel {
	padding:60px 0 0 0;
}
.foottimetabel .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	position: relative;
	z-index:2;
}
.foottimetabel .left {
	width:100%;
}
.foottimetabel .right {
	width:100%;
	padding:40px 0 0 0;
}
.foottimetabel .left .name {
	max-width:310px;
	width:60%;
	margin:0 auto;
}
.foottimetabel .left .thumb {
	width:100%;
	padding:25px 0;
}
.foottimetabel .left img {
	display: block;
	width:100%;
	height:auto;
}
.foottimetabel .left p {
	font-size:1.5rem;
	line-height:1.5em;
}
.foottimetabel .left .btn1 {
	display: block;
	width:100%;
	background:#00973E;
	border-radius:40px;
	padding:15px 0;
	margin:25px 0 0 0;
}
.foottimetabel .left .btn2 {
	display: block;
	width:100%;
	background:#55BC55;
	border-radius:40px;
	padding:15px 0;
	margin:10px 0;
}
.foottimetabel .left .btn1 img,
.foottimetabel .left .btn2 img {
	display: block;
	width:auto;
	height:34px;
	margin:0 auto;
}
.foottimetabel .right .map {
	padding:0 0 25px 0;
}
.foottimetabel .right p {
	font-size:1.5rem;
	line-height:1.5em;
}

/* =page
-------------------------------------------------------------- */
.page img {
	display: block;
	width:100%;
	height:auto;
} 
.pageheader .pagebg {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:250px;
	overflow:hidden;
}
.pageheader .pagebg video {
	position: absolute;
	top:50%;
	left:0;
	width:auto;
	height:100%;
	transform:translateY(-50%);
	z-index:1;
	opacity:0.5;
}
.pageheader .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	height:250px;
	position: relative;
	z-index:2;
	align-items:center;
}
.pageheader p {
	font-size:3.6rem;
	font-weight:600;
	text-transform:capitalize;
}
.pageheader p .uppercase {
	text-transform:uppercase;
}
.pageheader h2 {
	display: block;
	font-size:1.8rem;
	color:#00973E;
	padding:5px 0 0 0;
}

.pageti {
	display: block;
	font-size:2.2rem;
	line-height:1.5em;
	font-weight:bold;
	padding:30px 0 40px 0;
	position: relative;
}
.pageti::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.section {
	padding:70px 0 0 0;
}
.section.front {
	padding:0;
}
.section p {
	font-size:1.6rem;
	line-height:1.5em;
}

/* about */
.timetable {
	padding:3px 3px 15px 3px;
	background:#FFF;
}
.timetable p {
	font-size:1rem;
	line-height:1.5em;
	padding:15px 0 0 0;
}
.kamoku .box {
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	background:#FFF;
	box-shadow:0 0 20px rgba(0,0,0,0.05);
	padding:20px;
	margin:0 0 20px 0;
}
.kamoku .box .thumb {
	width:100px;
	height:100px;
	border-radius:50%;
	align-items:center;
	justify-content:center;
	box-shadow:0 0 15px rgba(0,0,0,0.1) inset;
	margin:0 auto;
}
.kamoku .box .txt {
	width:calc(100% - 100px);
	padding:0 0 0 30px;
}
.kamoku .box .thumb img {
	width:40px;
}
.kamoku .box .name {
	font-size:1.5rem;
	font-weight:600;
}
.kamoku .box .en {
	font-size:1.3rem;
	font-weight:400;
	color:#ADADAD;
	padding:10px 0 0 0;
}
.in11 {
	width:100%;
	overflow:hidden;
	border-radius:20px;
}

/* doctors */
.incho .left,
.incho .right {
	width:100%;
}
.incho .right {
	padding:40px 0 0 0;
}
.incho .left img {
	border-radius:20px;
}
.incho .right .katagaki {
	font-size:1.4rem;
	padding:0 0 10px 0;
}
.incho .right .name {
	display: block;
	font-size:3rem;
	font-weight:700;
}
.incho .right h4 {
	display: block;
	font-size:1.4rem;
	padding:70px 0 20px 0;
}
.incho .right p {
	line-height:1.3em;
}

/* facilities */
.facilities .item .box {
	width:100%;
	margin:0 0 60px 0;
}
.facilities .item .box .thumb {
	overflow:hidden;
	border-radius:20px;
}
.facilities .item .box .name {
	justify-content:flex-start;
	align-items:center;
	padding:25px 0 0 0;
}
.facilities .item .box .name .icon {
	background:#00973E;
	text-align: center;
	color:#FFF;
	font-size:1.5rem;
	font-weight:700;
	padding:8px 10px;
	margin:0 10px 0 0;
	border-radius:5px;
}
.facilities .item .box .name .label {
	font-size:2rem;
	font-weight:600;
	color:#00973E;
}
.facilities .item .box p {
	font-size:1.6rem;
	padding:20px 0 0 0;
}

/* orthopedics */
.orthopedics .naiyou .box {
	width:100%;
	background:#FFF;
	box-shadow:0 0 20px rgba(0,0,0,0.05);
	padding:30px;
	margin:0 0 20px 0;
}
.orthopedics .naiyou .box h3 {
	display: block;
	font-size:2.2rem;
	font-weight:700;
	color:#00A63C;
}
.orthopedics .naiyou .box p {
	font-size:1.6rem;
	line-height:1.8em;
	padding:25px 0 0 0;
}

/* PFC-FD */
.pfc-fd .introbox img {
	display: block;
	width:100%;
	height:auto;
}
.pfc-fd .introbox1 .left {
	width:100%;
	border-radius:20px;
	overflow:hidden;
}
.pfc-fd .introbox1 .right {
	width:100%;
	padding:40px 0 0 0;
}
.pfc-fd .introbox2 .left {
	order:1;
	width:100%;
	padding:40px 0 0 0;
}
.pfc-fd .introbox2 .right {
	order:0;
	width:100%;
	border-radius:20px;
	overflow:hidden;
}
.pfc-fd .contents h3.ti {
	display: block;
	font-size:2.2rem;
	line-height:1.5em;
	font-weight:bold;
	padding:30px 0 0 0;
	position: relative;
}
.pfc-fd .contents h3.ti::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.pfc-fd .contents p.txt {
	font-size:1.6rem;
	line-height:1.8em;
	padding:50px 0 0 0;
}
.pfc-fd .focus_txt {
	color:#00A63C;
	font-size:1.6rem;
	font-weight:bold;
	padding:30px 0 0 0;
	text-align: center;
}
.merit {
	padding:0 0 50px 0;
}
.meritbox .box {
	width:100%;
	background:#FFF;
	box-shadow:0 0 20px rgba(0,0,0,0.05);
	padding:30px;
}
.meritbox .box:nth-of-type(1) {
	margin:0 0 30px 0;
}
.meritbox .box h4 {
	display: block;
	font-size:2rem;
	font-weight:600;
	color:#00A63C;
}
.meritbox .box ul {
	padding:30px 0 0 0;
}
.meritbox .box li {
	list-style:disc;
	margin:10px 0 10px 25px;
	font-size:1.6rem;
	line-height:1.5em;
}
.pfc_note {
	border:3px solid #00A63C;
	border-radius:10px;
	padding:20px 20px;
	position: relative;
}
.pfc_note .title {
	position: absolute;
	top:-20px;
	left:50%;
	display:inline-block;
	white-space: nowrap;
	padding:10px 10px;
	background:#F2F9F6;
	font-size:1.4rem;
	color:#00A63C;
	font-weight:600;
	text-align: center;
	transform:translateX(-50%);
}
.pfc_note p {
	font-size:1.4rem;
	line-height:1.5em;
}

.price_table {
	width:100%;
	margin:0 auto;
	padding:50px 0 0 0;
	border:1px solid #000;
}
.price_table th {
	display: block;
    background: #D6E5DB;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 600;
}
.price_table td {
	display: block;
    background: #FFF;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
}
.price_table th, .price_table td {
    width: 100%;
    padding: 15px;
    border-bottom: 1px solid #000;
    vertical-align: middle;
    line-height: 1.5em;
}
.price_table td.last {
	border-bottom:none;
}


/* Hair removal */
.hair-removal .introbox img,
.exfoliation .introbox img,
.laser-therapy .introbox img {
	display: block;
	width:100%;
	height:auto;
}
.hair-removal .introbox2 .left,
.exfoliation .introbox2 .left,
.laser-therapy .introbox2 .left {
	order:1;
	width:100%;
}
.hair-removal .introbox2 .right,
.exfoliation .introbox2 .right,
.laser-therapy .introbox2 .right {
	order:0;
	width:100%;
	border-radius:20px;
	overflow:hidden;
	padding:0 0 40px 0;
}
.hair-removal .contents h3.ti,
.exfoliation .contents h3.ti,
.laser-therapy .contents h3.ti {
	display: block;
	font-size:2.2rem;
	line-height:1.5em;
	font-weight:bold;
	padding:30px 0 0 0;
	position: relative;
}
.hair-removal .contents h3.ti::before,
.exfoliation .contents h3.ti::before,
.laser-therapy .contents h3.ti::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.hair-removal .contents p.txt,
.exfoliation .contents p.txt,
.laser-therapy .contents p.txt {
	font-size:1.6rem;
	line-height:1.8em;
	padding:50px 0 0 0;
}
.diffe {
	width:100%;
}
.diffe th,
.diffe td {
	width:33.333%;
	padding:15px 5px;
	line-height:1.5em;
	border:1px solid #000;
	vertical-align:middle;
}
.diffe th.koumoku {
	background:#D6E5DB;
	text-align: center;
	font-size:1.2rem;
	font-weight:600;
}
.diffe th.iryo {
	background:#00A33C;
	text-align: center;
	font-size:1.2rem;
	font-weight:700;
	color:#FFF;
}
.diffe th.esthe {
	background:#CECECE;
	text-align: center;
	font-size:1.2rem;
	font-weight:700;
}
.diffe td.iryo {
	background:#FFF;
	text-align: center;
	font-size:1.2rem;
	font-weight:400;
}
.diffe td.esthe {
	text-align: center;
	font-size:1.2rem;
	font-weight:400;
}

.interior {
	padding:0 0 50px 0;
}
.interior .box {
	width:48%;
}
.zu {
	padding:0 0 50px 0;
}
.hair-removal .btn2,
.exfoliation .btn2,
.laser-therapy .btn2 {
	display: block;
    width: 100%;
    background: #55BC55;
    border-radius: 40px;
    padding: 15px 0;
    margin:0 auto;
    margin: 50px 0 0 0;
}
.hair-removal .btn2 img,
.exfoliation .btn2 img,
.laser-therapy .btn2 img {
	display: block;
    width: auto;
    height: 34px;
    margin: 0 auto;
}

/* exfoliation */
.peeling_rec .box {
	width:48%;
	margin:0 0 30px;
	align-items:center;
	justify-content:flex-start;
}
.peeling_rec .box .icon {
	width:100px;
	height:100px;
	margin:0 auto;
}
.peeling_rec .box .icon img {
	display: block;
	width:100%;
}
.peeling_rec .box .label {
	width:100%;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5em;
	text-align: center;
	padding:15px 0 0 0;
}
.peeling_rec .box .label span {
	color:#00933e;
}

.peeling_flow {
	display:grid;
	grid-template-columns:0.2fr 1.8fr;
	grid-template-rows:0.9fr 1.1fr 1.1fr 0.6fr 0.2fr;
	gap: 20px 20px;
	grid-template-areas:
	"peelig_flow1 box1"
	"peelig_flow2 box2"
	"peelig_flow2 box3"
	"peelig_flow2 box4"
	"image image";
}
.peeling_flow img {
	display: block;
	width:100%;
}
.peeling_flow .peeling_flow1 {
	grid-area: peelig_flow1;
}
.peeling_flow .peeling_flow2 {
	grid-area: peelig_flow2;
}
.peeling_flow .image {
	grid-area: image;
}
.peeling_flow .box1 {
	grid-area: box1;
}
.peeling_flow .box2 {
	grid-area: box2;
}
.peeling_flow .box3 {
	grid-area: box3;
}
.peeling_flow .box4 {
	grid-area: box4;
}
.peeling_flow .peelarea img {
	display: block;
	width:auto;
	height:100%;
}
.peeling_flow .peelstep {
	max-width:200px;
}
.peeling_flow p {
	font-size:1.5rem;
	line-height:1.8em;
	padding:25px 0 0 0;
}

.hair-removal .price_table th.title,
.exfoliation .price_table th.title {
	background:#00a33c;
	color:#FFF;
}
.hair-removal .price_table td.title,
.exfoliation .price_table td.title {
	background:#D6E5DB;
	font-weight:bold;
}
.exfoliation .price_table {
	width:100%;
	margin:0 auto;
	padding:50px 0 0 0;
	border:1px solid #000;
}
.scrollable-table {
	width:100%;
	overflow: auto;
	-webkit-overflow-scrolling:touch;
}
.hair-removal .price_table {
	width:170%;
	margin:0 auto;
	padding:50px 0 0 0;
	border:1px solid #000;
}
.hair-removal .price_table th, 
.exfoliation .price_table th,
.laser-therapy .price_table th {
	display:table-cell;
    background: #D6E5DB;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 600;
}
.hair-removal .price_table td,
.exfoliation .price_table td,
.laser-therapy .price_table td {
	display:table-cell;
    background: #FFF;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
}
.hair-removal .price_table th, 
.hair-removal .price_table td,
.exfoliation .price_table th, 
.exfoliation .price_table td,
.laser-therapy .price_table th, 
.laser-therapy .price_table td {
    width: 33%;
    padding: 15px;
    border: 1px solid #000;
    vertical-align: middle;
    font-size:1.2rem;
    line-height: 1.5em;
}
.hair-removal .price_table th {
	width:50%;
}
.hair-removal .price_table td {
	width:25%;
}
.hair-removal .price_table td.last, 
.exfoliation .price_table td.last,
.laser-therapy .price_table td.last {
	border-bottom:none;
}
p.attention {
	padding:30px 0 0 0;
	line-height:1.5em;
	font-size:130% !important;
}


/* laser therapy */
.laser-therapy h4.ti2,
.pfc-fd h4.ti2 {
	display: block;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5em;
	color:#00a33c;
	padding:50px 0 10px 0;
	border-bottom:1px solid #00a33c;
}
.laser-therapy .contents p.txt {
	padding:25px 0 0 0;
}
.laser-therapy .meritbox .box {
	width:100%;
	background:#FFF;
	box-shadow:0 0 20px rgba(0,0,0,0.05);
	padding:30px;
	margin:0 0 30px 0;
}
.laser-therapy .meritbox .box h4 {
	display: block;
	font-size:2rem;
	font-weight:600;
	line-height:1.5em;
	color:#00A63C;
	padding:0 0 20px 0;
}
.laser-therapy .meritbox .box ul {
	padding:0 0 0 0;
}
.laser-therapy .meritbox .box li {
	list-style:disc;
	margin:10px 0 10px 25px;
	font-size:1.6rem;
	line-height:1.5em;
}
.laser-therapy .meritbox .box p {
	font-size:1.6rem;
	line-height:1.5em;
}


/* faq */
.qa {
	width:100%;
	background:#FFF;
	box-shadow:0 0 20px rgba(0,0,0,0.05);
	padding:20px;
	margin:0 0 20px 0;
}
.qa .q {
	align-items:center;
	justify-content:flex-start;
	cursor: pointer;
	position: relative;
}
.qa .q::before {
	content:'';
	position: absolute;
	top:50%;
	right:0;
	width:20px;
	height:1px;
	margin:-1px 0 0 0;
	background:#000;
	transition:all .4s ease;
}
.qa .q::after {
	content:'';
	position: absolute;
	top:50%;
	right:10px;
	width:1px;
	height:20px;
	margin:-10px 0 0 0;
	background:#000;
	transition:all .4s ease;
}
.qa .q.active::before {
	transform:rotate(180deg);
}
.qa .q.active::after {
	transform:rotate(180deg);
	opacity:0;
}
.qa .q span {
	display: block;
	width:50px;
	height:50px;
	text-align: center;
	line-height:50px;
	font-size:3rem;
	font-weight:600;
	color:#FFF;
	background:#00A63C;
	border-radius:50%;
}
.qa .q p {
	width:calc(100% - 90px);
	font-size:1.6rem;
	padding:0 0 0 20px;
}
.qa .a {
	display:none;
	padding:25px 0 0 0;
	margin:25px 0 0 0;
	position: relative;
}
.qa .a .flex {
	align-items:center;
	justify-content:flex-start;
}
.qa .a::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:0%;
	height:1px;
	background:#000;
	transition:all .4s .2s ease;
}
.qa .a.active::before  {
	width:100%;
}
.qa .a span {
	display: block;
	width:50px;
	height:50px;
	text-align: center;
	line-height:50px;
	font-size:3rem;
	font-weight:600;
	color:#FFF;
	background:#C1C1C1;
	border-radius:50%;
}
.qa .a p {
	width:calc(100% - 50px);
	font-size:1.5rem;
	line-height:1.5em;
	padding:0 0 0 25px;
}

/* news */
.tablenav {
	padding:40px 0 0 0;
}
.tablenav .pagenav {
	justify-content:center;
	align-items:center;
}
.page-numbers {
	width:40px;
	height:40px;
	font-size:1.8rem;
	font-weight:700;
	line-height:40px;
	color:#FFF;
	text-align: center;
	background:#C1C1C1;
	margin:0 7px;
	border-radius:8px;
	transition:all .4s ease;
}
.page-numbers.current {
	background:#55BC55;
}
.page-numbers:hover {
	background:#55BC55;
}
.page-numbers.next,
.page-numbers.prev {
	display:none;
}

/* =single
-------------------------------------------------------------- */
.singlehead {
	justify-content:flex-start;
	align-items:end;
}
.singlehead time {
	font-size:1.6rem;
	color:#9B9B9B;
	padding:0 0 5px 20px;
}
.singlebox h2 {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:2.2rem;
	line-height:1.5em;
	font-weight:bold;
	padding:30px 0 40px 0;
	position: relative;
}
.singlebox h2::before {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:45px;
	height:2px;
	background:#000;
}
.singlebox h3 {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:2rem;
	font-weight:bold;
	line-height:1.5em;
	border-left:5px solid #000;
	background:#FFF;
	padding:16px 0 16px 25px;
	margin:0 auto 40px;
}
.singlebox h4 {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.5em;
	border-left:5px solid #000;
	padding:16px 0 16px 25px;
	margin:0 auto 40px;
}
.singlebox p {
	font-size:1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.8em;
	margin:0 auto 40px;
}
.singlebox ul,
.singlebox ol {
	border-left:1px solid #777;
	padding:0 0 0 20px;
	margin:0 auto 40px;
}
.singlebox ul li {
	list-style: disc;
	margin:0 0 0 25px;
	padding:5px 0;
	font-size:1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.8em;
}
.singlebox ol li {
	list-style: decimal-leading-zero;
	margin:0 0 0 25px;
	padding:5px 0;
	font-size:1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.8em;
}



/* =footer
-------------------------------------------------------------- */
footer {
	padding:70px 0 0 0;
}
footer .logo {
	max-width:230px;
	width:80%;
	margin:0 auto;
}
footer .logo img {
	display: block;
	width:100%;
	height:auto;
}
footer .inner {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	padding:40px 0;
}
footer .inner .left,
footer .inner .right {
	width:100%;
}
footer .inner .left {
	order:1;
	padding:50px 0 0 0;
}
footer .inner .right {
	order:0;
}
footer .inner .midashi {
	font-size:2rem;
	font-weight:bold;
	padding:0 0 25px 0;
}
footer .inner .footnav .navbox {
	width:100%;
}
footer .inner .footnav .navbox li {
	font-size:1.6rem;
	padding:15px 0;
}
footer .inner .footnav .navbox li.child {
	padding:15px 0 15px 30px;
}
footer .inner .footnav .navbox li a {
	text-decoration:underline;
	color:#000;
}
footer .inner .footnav .navbox li a:hover {
	text-decoration:none;
}
footer .inner .right .thumb img {
	display: block;
	width:100%;
	height:auto;
}
footer .inner .right p {
	font-size:1.5rem;
	line-height:1.5em;
	padding:25px 0 0 0;
}
footer .sns {
	padding:25px 0 0 0;
	justify-content: flex-start;
}
footer .sns .snsbox {
	margin:0 25px 0 0;
}
footer .sns .snsbox a {
	font-size:4rem;
	color:#000;
	display:inline-block;
}
footer .sns .snsbox a.insta {
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
footer .sns .snsbox a.line {
	background:#00b900;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
footer .sns .snsbox a i {
	display: inline;
}
footer .copyright {
	width:100%;
	text-align:center;
	padding:20px 0;
	background:#383838;
	color:#FFF;
}
footer .copyright a {
	font-size:1.2rem;
	color:#FFF;
}
.grecaptcha-badge {
	display:none;
}
