@charset "utf-8";

.mv-wrap {
	width: 100%;
	padding: 0 34px;
	height: 638px;
	background: url(/img/index/mv-bg.jpg) no-repeat;
	background-size: cover;
}

.mv-img {
	width: 1090px;
	margin: 0 auto;
}

.h1-wrap {
	padding: 120px 20px;
	background: #282828;
}

.h1-contents {
	padding: 64px 20px;
	background: #f5f1e9;
	border: 1px solid #d1cec0;
	text-align: center;
}

.h1-top-ttl {
	font-size: 4rem;
	margin-bottom: 40px;
	display: inline-block;
	position: relative;
	text-align: center;
}

.h1-top-ttl span.decoration::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url(/img/common/ico_dia_gold.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 49%;
	left: -32px;
}

.h1-top-ttl span.decoration::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url(/img/common/ico_dia_gold.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 49%;
	right: -32px;
}

.h1-s-text {
	font-size: 3rem;
}

/*===================================================================
    about
===================================================================*/
.about {
	padding: 120px 20px;
	background: url(/img/common/bg_cell.jpg) no-repeat;
	background-size: contain;
	background-position: left bottom;
}

.about-contents-list-wrap {
	gap: 0 32px;
}

.about-contents-list {
	width: 48%;
	border: 1px solid #d1cec0;
	background: #f2f1eb;

}

.about-contents-list h2 {
	font-size: 2.2rem;
	font-weight: bold;
	padding-left: 70px;
	position: relative;
	padding: 40px 40px 40px 112px;
	border-bottom: 1px solid #d1cec0;
}

.about-ttl-01::after,
.about-ttl-02::after {
	position: absolute;
	top: 28px;
	left: 40px;
	color: #a3967c;
	font-family: 'Noto Serif JP', 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ\ Ｐ明朝, ＭＳ\ 明朝, serif;
	font-style: italic;
	font-size: 3.2rem;
}

.about-ttl-01::after {
	content: "01";
}

.about-ttl-02::after {
	content: "02";
}

.about-contents-list-text {
	padding: 40px;
	line-height: 32px;
}

/*===================================================================
    agingcare
===================================================================*/
.agingcare {
	background: #282828;
	padding: 120px 20px;
}

.agingcare-wrap .h2-top-01 {
	color: #fff;
	text-align: center;
}

.agingcare-wrap .h2-top-01span {
	display: inline-block;
	position: relative;
}

.agingcare-wrap .h2-top-01span::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url(/img/common/ico_dia_gold.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 49%;
	left: -32px;
}

.agingcare-wrap .h2-top-01span::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url(/img/common/ico_dia_gold.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 49%;
	right: -32px;
}

.agingcare p {
	color: #fff;
}

.agingcare p a {
	color: #ebdcbb;
	text-decoration: underline;
}

/*===================================================================
    contents-border
===================================================================*/

.contents-border-wrap {
	border: 1px solid #d1cec0;
}

.h2-top-border {
	position: relative;
	text-align: center;
}

.h2-top-border span {
	font-size: 3.2rem;
	display: inline-block;
	color: #fff;
	padding: 8px 20px;
	background: #282828;
	position: absolute;
	top: -2px;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.list-wrap-black {
	margin: 50px;
}

.list-wrap-black li {
	color: #161616;
	background: #f2f1eb;
	margin-bottom: 10px;
	height: 120px;
	align-items: center;
}

.list-text {
	width: 100%;
	color: #161616 !important;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	height: 120px;
	padding: 0 16px 0 32px;
	font-weight: bold;
}

.list-text span {
	display: contents;
	font-weight: bold;
}

.treatment-list-contents {
	width: 100px;
	font-size: 3.2rem;
	font-style: italic;
	display: flex;
	color: #a3967c !important;
	justify-content: center;
	align-items: center;
	height: 120px;
	border-right: 1px solid #d1cec0;
}

.effect-text {
	padding: 50px;
}

/*===================================================================
    reproduction
===================================================================*/

.reproduction {
	padding: 120px 20px;
}



.hair-regeneration .h3-top-01 {
	font-size: 3.2rem;
  margin-bottom: 64px;
	padding: 0 0 16px;
	line-height: 53.2px;
  text-align: center;
}

.h2-top-border-white {
	position: relative;
	text-align: center;
}

.h2-top-border-white span {
	font-size: 3.2rem;
	display: inline-block;
	padding: 8px 20px;
	background: #fff;
	position: absolute;
	top: -2px;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

/*===================================================================
    width 1150px
===================================================================*/
@media(max-width:1150px) {

	/*--  header  --*/
	.mv-wrap {
		height: 550px;
		padding: 0 20px;
	}

	.mv-img {
		width: 940px;
	}
}

/*===================================================================
    width 1024px
===================================================================*/
@media(max-width:1024px) {}

/*===================================================================
    width 1000px
===================================================================*/
@media(max-width:1000px) {

	/*--  header  --*/
	.mv-wrap {
		height: 415px;
		padding: 0 16px;
	}

	.mv-img {
		width: 710px;
	}
}

/*===================================================================
    width 980px
===================================================================*/
@media(max-width:980px) {}

/*===================================================================
    width 970px
===================================================================*/
@media(max-width:970px) {}

/*===================================================================
    width 920px
===================================================================*/
@media(max-width:920px) {}

/*===================================================================
    width 900px
===================================================================*/
@media(max-width:900px) {}

/*===================================================================
    width 850px
===================================================================*/
@media(max-width:850px) {}

/*===================================================================
    width 800px
===================================================================*/
@media(max-width:800px) {
	.h1-top-ttl {
		font-size: 3.2rem;
		margin: 0 40px 32px;
	}

	.h1-s-text {
		font-size: 2.2rem;
	}
}

/*===================================================================
    width 768px
===================================================================*/
@media(max-width:768px) {
	.mv-wrap {
		height: 398px;
	}

	.mv-img {
		width: 680px;
	}

	.h1-contents {
		padding: 64px 16px;
	}

	.h2-top-border span {
		font-size: 3.2rem;
	}

	.hair-regeneration-text-wrap {
		padding-left: 24px;
	}

	.hair-regeneration-text-wrap .h3-top-01 {
		font-size: 2.8rem;
	}
}

/*===================================================================
    width 700px
===================================================================*/
@media(max-width:700px) {
	.mv-wrap {
		height: 342px;
	}

	.mv-img {
		width: 584px;
		margin: 0 auto;
	}

	.h1-top-ttl {
		line-height: 48px;
	}

	.hair-regeneration {
		display: block !important;
	}

	.hair-regeneration-img-wrap {
		width: 100%;
		margin-bottom: 64px;
	}

	.hair-regeneration-text-wrap {
		width: 100%;
		padding-left: 0;
	}


	.hair-regeneration-text-wrap .h3-top-01 {
		text-align: center;
		padding: 0 0 32px;
	}

	.cv-reserve-btn a:after,
	.cv-reserve-btn a:hover:after,
	.cv-tel-btn a:after,
	.cv-tel-btn a:hover:after {
		left: 8.2%;
	}
}

/*===================================================================
    width 650px
===================================================================*/
@media(max-width:650px) {
	.about-contents-list-wrap {
		display: block !important;
	}

	.about-contents-list {
		width: 100%;
	}

	.about-contents-list:first-child {
		margin-bottom: 40px;
	}
}


/*===================================================================
    width 600px
===================================================================*/
@media(max-width:600px) {
	.mv-wrap {
		height: 278px;
	}

	.mv-img {
		width: 476px;
		margin: 0 auto;
	}
}

/*===================================================================
    width 540px
===================================================================*/
@media(max-width:540px) {

	.list-wrap-black li,
	.treatment-list-contents,
	.list-text {
		height: 160px;
	}

	.list-text {
		padding: 20px;
		letter-spacing: -0.02rem;
	}
}

/*===================================================================
    width 500px
===================================================================*/
@media(max-width:500px) {
	.h1-top-ttl {
		font-size: 2.8rem;
	}

	.mv-wrap {
		height: 222px;
	}

	.mv-img {
		width: 380px;
		margin: 0 auto;
	}

	.list-wrap-black li {
		height: 217px;
	}

	.list-text {
		height: 145px;
	}

	.list-wrap-black li {
		flex-flow: column;
	}

	.treatment-list-contents {
		display: block;
		width: 100%;
		height: auto;
		text-align: center;
		border-bottom: 1px solid #d1cec0;
	}

	.list-text {
		width: 100%;
	}

	.treatment-list-contents {
		border-right: none;
	}
}

/*===================================================================
    width 450px
===================================================================*/
@media(max-width:450px) {
	.h1-top-ttl {
		font-size: 2.6rem;
	}

	.mv-wrap {
		height: 206px;
	}

	.mv-img {
		width: 352px;
		margin: 0 auto;
	}

	.h1-top-ttl span.decoration::before {
		left: -20px;
	}

	.h1-top-ttl span.decoration::after {
		right: -20px;
	}

	.h1-top-ttl {
		margin: 0 24px 40px !important;
	}

	.h2-top-01 {
		line-height: 48px;
	}

	.h2-top-01 span.deco::before {
		left: -20px;
	}

	.h2-top-01 span.deco::after {
		right: -20px;
	}

	.list-wrap-black {
		margin: 50px 24px;
	}

	.h2-top-border span,
	.h2-top-border-white span {
		font-size: 2.6rem;
		padding: 8px;
	}
}

/*===================================================================
    width 414px
===================================================================*/
@media(max-width:414px) {


	.mv-wrap {
		height: 206px;
	}

	.mv-img {
		width: 352px;
		margin: 0 auto;
	}

	.h1-top-ttl {
		font-size: 2.4rem;
	}

	.h1-s-text {
		font-size: 2rem;
	}

	.h2-top-01 {
		font-size: 2.8rem;
		margin: 0 40px 70px;
	}

	.h2-top-01 span.deco::before,
	.h2-top-01 span.deco::after {
		top: 46%;
	}

	.hair-regeneration-text-wrap .h3-top-01 {
		font-size: 2.6rem;
	}

	.effect-text {
		padding: 50px 20px;
	}

	.list-wrap-black li {
		height: auto;
	}

	.list-text {
		min-height: 145px;
		height: auto;
	}
}

/*===================================================================
    width 375px
===================================================================*/
@media(max-width:375px) {
	.h1-top-ttl {
		font-size: 2.2rem;
	}


	.h1-s-text {
		font-size: 1.8rem;
	}

	.about-contents-list h2 {
		font-size: 2rem;
	}

	.about-ttl-01::after,
	.about-ttl-02::after {
		font-size: 2.9rem;
	}
}

/*===================================================================
    width 374px
===================================================================*/
@media(max-width:374px) {


	.mv-wrap {
		height: 173px;
	}

	.mv-img {
		width: 296px;
		margin: 0 auto;
	}
}

/*===================================================================
    width 350px
===================================================================*/
@media(max-width:350px) {
	.h1-top-ttl {
		font-size: 2rem;
	}

	.h2-top-01 {
		font-size: 2.4rem;
	}

	.h2-top-border span,
	.h2-top-border-white span {
		font-size: 2.4rem;
	}

	.hair-regeneration-text-wrap .h3-top-01 {
		font-size: 2.4rem;
		line-height: 40px;
	}
}

/*===================================================================
    width 320px
===================================================================*/
@media(max-width:320px) {
	.h1-top-ttl {
		margin: 0 16px 40px !important;
	}
}