@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap");

:root {
	--mainColor: #fff;
	--lightPink: #FFE8F1;
	--lightPink02: #FFEDF2;
	--lightPink03: #FFD4DC;
	--lightPink04: #f4bdc7;
	--pink: #FF5386;
	--pink02: #FF5BA7;
	--red: #FF0000;
	--brown: #371E32;
	--purple: #753AC4;
	--lightBlue: #E4FFFF;
	--blue: #2872A4;
	--lightGray: #ededed;
	--lightGray02: #f9f7f9;
	--gray: #EAE7E2;
	--gray02: #E6DAE1;
	--darkGray: #505050;
	--maru: "Kosugi Maru", sans-serif;
	--Serif: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HGS明朝E";
	--shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1);
	--shadow2: 0 0 0 0 rgba(0, 0, 0, 0.1);
}

.skinReg * {
	box-sizing: border-box;
}

@media (max-width: 767px) {
	#main .comBox {
		margin: 0;
	}
}

/*======================================
-MV
======================================*/

#main .mainImg02 {
	background: initial !important;
	height: initial !important;
}

#main .mainImg__in {
	position: relative;
	background-image: url("../img/skinreg/mv.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
	width: 100%;
	max-width: 1100px;
	height: 640px;
	margin: auto;
}

@media (max-width: 767px) {
	#main .mainImg__in {
		background-image: url("../img/skinreg/mv_sp.jpg");
		background-size: 125%;
		height: 520px;
	}
}

#main .catchTtlBox {
	position: absolute;
	writing-mode: vertical-rl;
	font-family: var(--Serif);
	top: 33%;
	right: 20%;
	transform: translateY(-50%);
	color: var(--brown);
	text-shadow: 0px 0px 8px rgba(255, 255, 255, .9);
	user-select: none;
}

@media (max-width: 767px) {
	#main .catchTtlBox {
		top: 33%;
		right: 12%;
	}
}

#main .catchTtlTxt {
	font-size: 2.3rem;
	line-height: 1.4;
}

#main .skinRegHeadLine01 {
	font-size: 6rem;
	font-weight: 400;
	padding: 0;
}

@media (max-width: 767px) {

	#main .catchTtlTxt {
		font-size: 1.6rem;
	}

	#main .skinRegHeadLine01 {
		font-size: 4.1rem;
		font-weight: 400;
		padding: 0;
	}
}

#main .catchUl {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: min(4.26vw, 16px);
	user-select: none;
	position: absolute;
	right: 80px;
	bottom: 80px;
}

@media (max-width: 767px) {

	#main .catchUl {
		right: initial;
		transform: translateX(-50%);
		bottom: 32px;
		left: 50%;
	}
}

#main .catchUl>li {
	width: min(26.6vw, 140px);
	height: min(26.6vw, 140px);
	border-radius: min(13.3vw, 70px);
	background-color: rgba(255, 255, 255, .7);
	display: flex;
	justify-content: center;
	align-items: center;
}

#main .catchUl>li p {
	font-family: var(--Serif);
	text-align: center;
	font-size: min(4vw, 2rem);
	line-height: 1.4;
}

#main .catchTxtItem01 {
	color: var(--purple);
}

#main .catchTxtItem02 {
	color: var(--pink);
}

#main .catchTxtItem03 {
	color: var(--blue);
}

/*======================================
-枠組み
======================================*/

#main .sec01,
#main .sec02,
#main .sec03 {
	padding: 0;
}

#main .sec03 {
	padding: 0 0 80px;
}

@media (max-width: 767px) {

	#main .sec01,
	#main .sec02,
	#main .sec03 {
		padding: 56px 0;
		margin-bottom: 0 !important;
	}

	#main .sec01 {
		padding: 56px 0 0;
	}

	#main .sec02,
	#main .sec03 {
		padding: 0;
	}
}

#main .secIn01 {
	padding: 24px 0 80px;
}

@media (max-width: 767px) {
	#main .secIn01 {
		padding: 24px 16px 80px;
	}
}

#main .secIn02 {
	padding: 24px 24px 80px;
}

@media (max-width: 767px) {
	#main .secIn02 {
		padding: 24px 16px 80px;
	}
}

#main .acrsWrap {
	background-color: var(--lightPink02);
}

#main .pfcWrap {
	background-color: var(--lightBlue);
}

#main .attWrap {
	padding: 48px 0 0;
}

@media (max-width: 767px) {
	#main .attWrap {
		padding: 48px 16px 0;
	}
}

/*======================================
-見出し
======================================*/

#main .skinRegHeadLine02a {
	display: flex;
	justify-content: center;
	color: var(--pink);
	font-size: 2.5rem;
	line-height: 1.4;
	font-family: var(--Serif);
	font-weight: 400;
	margin: 0 auto 24px;
}

#main .skinRegHeadLineBox01,
#main .skinRegHeadLineBox02,
#main .skinRegHeadLineBox03 {
	display: flex;
	align-items: center;
	padding: 0 32px;
	width: 100%;
	height: 100px;
	text-align: left;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
	box-sizing: border-box;
	user-select: none;
}

@media (max-width: 767px) {

	#main .skinRegHeadLineBox01,
	#main .skinRegHeadLineBox02,
	#main .skinRegHeadLineBox03 {
		width: calc(100% + 32px);
		margin-left: -16px;
		padding: 0 16px;
	}
}


#main .skinRegHeadLineBox__in {
	display: flex;
	flex-direction: column;
	padding: 0;
}

@media (max-width: 767px) {
	#main .skinRegHeadLineBox__in {
		padding: 0 24px;
	}
}

#main .skinRegHeadLineBox__in>span {
	font-size: 1.4rem;
	font-family: var(--Serif);
}

#main .skinRegHeadLineBox01 {
	background-image: url("../img/skinreg/bg01.jpg");
}

#main .skinRegHeadLineBox02 {
	background-image: url("../img/skinreg/bg02.jpg");
	margin-bottom: 0;
}

#main .skinRegHeadLineBox03 {
	background-image: url("../img/skinreg/bg03.jpg");
}

#main .skinRegHeadLine02b {
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: var(--Serif);
	user-select: none;

}

#main .skinRegHeadLine03a {
	font-size: 2rem;
	font-family: var(--Serif);
	background-color: var(--gray);
	margin: 24px auto;
	text-align: center;
	padding: 8px;
	font-weight: 400;
	user-select: none;
}

@media (max-width: 767px) {
	#main .skinRegHeadLine03a {
		font-size: 1.8rem;
	}
}

#main .skinRegHeadLine03b {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 400px;
	margin: auto;
	text-align: center;
	transform: translateX(-50%);
	padding: 4px 16px;
	background-color: var(--red);
	color: var(--mainColor);
	font-size: 2rem;
	font-weight: 400;
	user-select: none;
}

@media (max-width: 767px) {
	#main .skinRegHeadLine03b {
		width: 80%;
		font-size: 1.8rem;
	}
}

#main .ttlColor {
	color: var(--mainColor);
}

#main .ttlColor02 {
	color: var(--darkGray);
}

/*======================================
-文字
======================================*/

#main .skinReg .txt {
	line-height: 2;
	text-align: justify;
	margin-bottom: 24px;
}

#main .skinReg .txt02 {
	line-height: 2;
	text-align: justify;
}

#main .skinReg .smallTxt {
	font-size: 1.3rem;
	text-align: center;
	margin-bottom: 16px;
}

@media (max-width: 767px) {
	#main .skinReg .smallTxt {
		margin-bottom: 8px;
	}
}

#main .skinReg .txtCenter {
	text-align: center;
	margin-top: -24px;
}

@media (max-width: 767px) {
	#main .skinReg .txtCenter {
		margin-top: 0;
	}
}

#main .skinReg strong {
	color: var(--red);
	font-weight: 700;
}

#main .skinReg b {
	color: var(--red);
	font-weight: 400;
}

/*======================================
-バナーボタン
======================================*/

#main .bannerImgBtnBox {
	margin: 40px auto;
}

#main .bannerImgBtnBox__ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
	background-color: var(--lightGray02);
	padding: 24px 16px;
}

@media (max-width: 767px) {
	#main .bannerImgBtnBox__ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

#main .bannerImgBtn01,
#main .bannerImgBtn02,
#main .bannerImgBtn03 {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right -110px;
	height: 64px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-family: var(--Serif);
	font-size: min(4.26vw, 1.6rem);
	user-select: none;
}

#main .bannerImgBtn01:hover,
#main .bannerImgBtn02:hover,
#main .bannerImgBtn03:hover {
	opacity: .7;
}

@media (max-width: 767px) {

	#main .bannerImgBtn01,
	#main .bannerImgBtn02,
	#main .bannerImgBtn03 {
		height: 48px;
		background-position: center center;
	}

	#main .bannerImgBtn01:hover,
	#main .bannerImgBtn02:hover,
	#main .bannerImgBtn03:hover {
		opacity: 1;
	}

	#main .bannerImgBtn01:active,
	#main .bannerImgBtn02:active,
	#main .bannerImgBtn03:active {
		opacity: .7;
	}
}

#main .bannerImgBtn01::after,
#main .bannerImgBtn02::after,
#main .bannerImgBtn03::after {
	content: "";
	position: absolute;
	border: 0;
	border-top: 1px solid var(--mainColor);
	border-right: 1px solid var(--mainColor);
	transform: rotate(135deg) translateY(-50%);
	right: 16px;
	top: 40%;
	width: 6px;
	height: 6px;
	letter-spacing: 1px;
	filter: drop-shadow(0px 0px 16px rgba(58, 51, 51, .6));

}

@media (max-width: 767px) {

	#main .bannerImgBtn01::after,
	#main .bannerImgBtn02::after,
	#main .bannerImgBtn03::after {
		top: 35%;
	}
}

#main .bannerImgBtn01 {
	background-image: url("../img/skinreg/banner01.jpg");
	background-position: center right -200px;
}

@media (max-width: 767px) {
	#main .bannerImgBtn01 {
		background-position: center right -64px;
	}
}

#main .bannerImgBtn02 {
	background-image: url("../img/skinreg/banner02.jpg");
}

#main .bannerImgBtn03 {
	background-image: url("../img/skinreg/banner03.jpg");
}

#main .bannerImgBtn04 {
	position: relative;
	display: flex;
	max-width: 500px;
	margin: auto;
	overflow: hidden;
	user-select: none;
}

#main .bannerImgBtn04>picture {
	position: relative;
	z-index: 1;
}

#main .bannerImgBtn04>picture:hover {
	opacity: .7;
	transition: all .5s;
}

#main .bannerImgBtn04>picture img {
	width: 100%;
	height: auto;
}

#main .hoverNone>picture:hover {
	opacity: 1;
}

#main .bannerImgBtnHide {
	position: absolute;
	background-color: var(--mainColor);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 0;
}

/*======================================
-画像
======================================*/

#main .skinRegImg,
#main .skinRegImg02,
#main .skinRegImg03,
#main .skinRegImg04 {
	display: flex;
	margin: 40px auto;
	max-width: 500px;
	position: relative;
}

#main .skinRegImg02 {
	margin: 0 auto;
}

#main .skinRegImg03 {
	margin: 24px auto 0;
}

#main .skinRegImg04 {
	margin: 24px auto;
}

#main .listImg,
#main .listImg02 {
	max-width: 140px;
	height: auto;
	aspect-ratio: 160 / 140;
	margin: 0 24px 0 0;
}

@media (max-width: 767px) {
	#main .listImg {
		max-width: 100px;
		margin: 0 16px 0 0;
	}
}

.skinRegImg>figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	background-color: var(--darkGray);
	color: var(--mainColor);
	padding: 4px 8px;
	font-size: 1.3rem;
}

#main .pointImg {
	width: 100px;
	height: 100px;
	aspect-ratio: 1 / 1;
	margin: 0 24px 0 0;
	border-radius: 50%;
}

@media (max-width: 767px) {
	#main .pointImg {
		width: 70px;
		height: 70px;
	}
}

#main .listImg02 {
	margin: 0 0 0 24px;
}

@media (max-width: 767px) {
	#main .listImg02 {
		max-width: 110px;
		margin: 0 0 0 8px;
	}
}

#main .skinRegImg>img,
#main .skinRegImg02>img,
#main .skinRegImg03>img,
#main .skinRegImg04>img,
#main .listImg>img,
#main .listImg02>img,
#main .pointImg>img {
	width: 100%;
	height: auto;
	user-select: none;
}

#main .listImg>img,
#main .listImg02>img {
	min-width: 80px;
}

/*======================================
-厚生労働省再生医療等提供計画番号
======================================*/

#main .getNumBox {
	padding: 24px 16px;
	background-color: var(--lightGray);
	border-radius: 8px;
	position: relative;
	margin: 0 auto 80px;
}

@media (max-width: 767px) {
	#main .getNumBox {
		margin: 0 auto 24px;
	}
}

#main .getNumBox::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	background-image: url("../img/skinreg/icon_doctor.png");
	background-repeat: no-repeat;
	background-size: 149px;
	width: 149px;
	height: 95px;
}

#main .getNumBox .txt,
#main .getNumBox .txt02 {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-bottom: 16px;
}

#main .getNumBox .txt02 {
	margin-bottom: 0;
}

/*======================================
-手順
======================================*/

#main .stepBox__ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin-bottom: 24px;
}

#main .stepBox__ul>li {
	position: relative;
	border: 2px dotted var(--pink02);
	border-radius: 8px;
	padding: 16px;
	display: flex;
}

@media (max-width: 767px) {
	#main .stepBox__ul>li {
		padding: 12px;
		border: 2px dashed var(--pink02);
	}
}

#main .stepBox__ul>li::after {
	position: absolute;
	content: "";
	background-image: url("../img/skinreg/icon_arrow.svg");
	background-repeat: no-repeat;
	background-size: 24px;
	width: 24px;
	height: 11px;
	left: 50%;
	bottom: -28px;
	transform: translateX(-50%);
}

#main .stepBox__ul>li:last-child::after {
	content: none;
}

#main .stepBoxTtl {
	padding: 4px 12px;
	background-color: var(--pink02);
	color: var(--mainColor);
	display: inline-block;
	line-height: 1;
	margin: 0 0 8px;
	user-select: none;
}

#main .stepBoxTtl02 {
	padding: 0 0 8px;
	color: var(--pink02);
	line-height: 1.4;
	user-select: none;
}

#main .stepTxtBox>.txt {
	margin-bottom: 0;
	line-height: 1.4;
}

@media (max-width: 767px) {
	#main .skinRegImg {
		margin: 24px auto;
	}
}

#main .stepBox__ul .hourLater {
	position: relative;
}

#main .stepBox__ul .hourLater::before {
	content: "3時間後";
	position: absolute;
	color: var(--pink02);
	bottom: -33px;
	left: 58%;
	transform: translateX(-50%);
}

@media (max-width: 767px) {
	#main .stepBox__ul .hourLater::before {
		left: 65%;
	}
}

#main .stepItem {
	display: flex;
}

#main .stepItemColumn {
	flex-direction: column;
}

#main .stepBorder {
	border-top: 2px solid var(--pink02);
	padding-top: 16px;
	margin-top: 16px;
}

/*======================================
-ポイント
======================================*/

#main .pointBox,
#main .pointBox02,
#main .pointBox03 {
	position: relative;
	padding: 24px 24px 16px;
	background-color: var(--lightPink);
	border-radius: 8px;
	margin: 64px auto 48px;
	min-height: 120px;
	display: flex;
	align-items: center;
}

#main .pointBox02 {
	background-color: var(--mainColor);
}

#main .pointBox03 {
	background-color: var(--gray02);
	padding: 16px 24px 16px 16px;
	margin: 0 auto 40px;
	display: flex;
}


#main .pointTtl {
	position: absolute;
	top: -16px;
	left: 50%;
	width: 100%;
	max-width: 400px;
	margin: auto;
	text-align: center;
	transform: translateX(-50%);
	padding: 4px 16px;
	background-color: var(--pink02);
	color: var(--mainColor);
}

@media (max-width: 767px) {
	#main .pointTtl {
		width: 80%;
	}
}

#main .pointTtl02 {
	color: var(--red);
	margin-bottom: 4px;
}

#main .pointBox .txt,
#main .pointBox02 .txt,
#main .pointBox03 .txt {
	margin-bottom: 0;
	line-height: 1.4;
}

/*======================================
-モニター価格
======================================*/

#main .monitorBox {
	position: relative;
	padding: 56px 16px 24px;
	background-color: var(--lightPink03);
	border-radius: 8px;
	margin-bottom: 32px;
}

#main .monitorBox .txt {
	text-align: center;
}

@media (max-width: 767px) {
	#main .monitorBox .txt {
		text-align: justify;
	}
}

#main .monitorBorder {
	padding-bottom: 24px;
	margin-bottom: 24px !important;
	border-bottom: 2px solid var(--mainColor);
}

#main .monitorImg {
	max-width: 400px !important;
}

#main .monitorTtl {
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 16px;
	font-weight: 700;
}

/*======================================
-注意事項
======================================*/

#main .attListUl {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

#main .attListUl li {
	position: relative;
	font-size: 1.4rem;
	text-align: justify;
	padding-left: 16px;
}

#main .attListUl li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

/*======================================
-治療例
======================================*/

#main .caseBox__table {
	max-width: 500px;
	margin: 0 auto;
}

#main .caseBox {
	margin: 0 auto 80px;
}

#main .caseBox__ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

#main .caseBox__ul>li {
	background-color: var(--mainColor);
	border-radius: 8px;
	padding: 24px;
}

@media (max-width: 767px) {
	#main .caseBox__ul>li {
		padding: 24px 16px;
	}
}

#main .caseTtl {
	position: relative;
	width: 100%;
	padding: 8px 16px 8px 80px;
	color: var(--pink02);
	background-color: var(--lightPink02);
	user-select: none;
}

#main .caseTtl>span {
	position: absolute;
	left: 0;
	top: 0;
	color: var(--mainColor);
	background-color: var(--pink02);
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 8px;
}

#main .caseBox__table table {
	border: 1px solid var(--darkGray);
	width: 100%;
}

#main .caseBox__table table,
#main .caseBox__table td,
#main .caseBox__table th {
	border: .5px solid var(--darkGray);
	border-collapse: collapse;
	text-align: justify;
	font-size: 1.4rem;
	line-height: 1.4;
	word-break: break-all;
}

#main .caseBox__table td,
#main .caseBox__table th {
	padding: 8px;
	width: 30px;
	height: 25px;
}

#main .caseBox__table th {
	font-family: var(--Serif);
	font-weight: 400;
	width: 25%;
	background-color: var(--lightGray);
}

/*================================
-251128 症例一覧
=================================*/

.skinreg-case {
	position: relative;
	padding: 24px 0;
	margin: 64px auto;

	&::before,
	&::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 2px;
		border-bottom: 2px dashed var(--lightPink04);
		left: 0;
	}

	&::before {
		top: -32px;
	}

	&::after {
		bottom: -32px;
	}

	>.inner {
		position: relative;
	}
}

@media screen and (min-width: 768px) {
	.skinreg-case {
		>.inner {
			&::before {
				content: "";
				position: absolute;
				top: 0;
				right: 0;
				width: 100px;
				height: calc(100% - 12px);
				background-image: linear-gradient(90deg, transparent 0 60%, #FFF 100%);
				z-index: 10;
				pointer-events: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.skinreg-case {
		width: calc(100% + 32px);
		margin-left: -16px;
	}
}

.skinreg-case-contents {
	overflow-x: auto;
}

.skinreg-case-headline03 {
	text-align: center;
	font-size: min(4.8vw, 2rem);
	line-height: 1.4;
	padding: 8px min(4.26vw, 16px);
	color: #fff;
	background-color: var(--pink02);
	margin: 0 auto 32px;
	width: 100%;
	border-radius: 8px;
	font-weight: 400;
}

@media screen and (max-width: 767px) {
	.skinreg-case-headline03 {
		width: calc(100% - 32px);
	}
}

.skinreg-case-slide {
	display: flex;
	width: 200%;

	li {
		margin-right: 8px;

		&:last-child {
			margin-right: 0;
		}
	}

	.image {
		width: 100%;
		height: auto;
		display: block;
		margin: auto;
		overflow: hidden;
		border-radius: 8px;

		>img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

@media screen and (max-width: 767px) {
	.skinreg-case-slide {
		width: 250%;

		li {
			&:first-child {
				margin-left: 16px;
			}
		}
	}
}

.skinreg-case-text-center {
	text-align: center;
	line-height: 1.4;
	margin-top: 16px;
	font-size: min(3.2vw, 13px);
}

.skinreg-case-table {
	margin: 64px auto 0;
	border-collapse: collapse;
	border: .5px solid var(--darkGray);

	th,
	td {
		border-collapse: collapse;
		padding: min(3.2vw, 16px) min(3.2vw, 16px);
		line-height: 1.4;
	}

	th {
		font-family: var(--Serif);
		font-weight: 400;
		background-color: var(--lightGray);
		font-size: min(4vw, 15px);
		font-weight: 600;
	}

	td {
		font-size: min(3.73vw, 14px);

		b {
			color: var(--darkGray) !important;
			font-weight: 600 !important;
			font-family: var(--Serif);
		}
	}
}

@media screen and (min-width: 768px) {
	.skinreg-case-table {
		th {
			width: 35%;
			border-bottom: .5px solid var(--darkGray);
			border-right: .5px solid var(--darkGray);
		}

		td {
			border-bottom: .5px solid var(--darkGray);
		}

		tr {
			&:last-child {
				td {
					border-bottom: 0;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.skinreg-case-table {
		margin: 40px 16px 0;

		th,
		td {
			display: block;
		}

		th,
		td {
			border-bottom: .5px solid var(--darkGray);
		}

		tr {
			&:last-child {
				td {
					border-bottom: 0;
				}
			}
		}
	}
}

/*======================================
-余白
======================================*/

.mb15 {
	margin-bottom: 15px !important;
}

.mb24 {
	margin-bottom: 24px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}