@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
	color: #333333;
	line-height: 1.9;
	background: #fff;
}
a {
	color: var(--c-pink);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
.clickable a,
.clickable a:hover {
	color: #333;
}
img {
	width: 100%;
	height: auto;
}
.inrContent {
	width: 90%;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
.flex {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

:root {
	--ff-serif: "Noto Serif JP", serif;
	--ff-en: futura-pt, sans-serif;
	--ff-symbol: "Material Symbols Outlined";
	--c-pink: #ed88a7;
	--c-pink-strong: #f15c8a;
	--c-beige: #cfb099;
	--c-gray: #555;
	--bg-pink: #fef6f8;
	--bg-pink-strong: #fee5eb;
	--bg-beige: #f9f6f3;
}
.ic--symbol {
	position: relative;
}
.ic--symbol::before {
	font-family: var(--ff-symbol);
	position: absolute;
}
.ic--fill::before {
	font-variation-settings: "FILL" 1;
}
.ic--left::before {
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.ic--top::before {
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}

/* ----------------------------------------------------
calendar (common)
---------------------------------------------------- */
div.cal_wrapper table.cal tr th div.cal_ui input {
	/* next.prev btn */
	border: 1px solid #98bdb3;
	background-color: #98bdb3;
	color: #fff !important;
}
div.cal_wrapper table.cal tr.headline td {
	/* 曜日 */
	border-top: 1px solid #87795d;
	border-bottom: 1px solid #87795d !important;
}
div.cal_wrapper table.cal tr td {
	border: 1px solid transparent;
}
/* 午後休診 */
div.cal_wrapper table.cal tr td div.Sat,
div.cal_wrapper table.cal tr td div.Wed {
	background: #bce2e8;
	color: #007bbb;
}
/* Sun;日曜*/
div.cal_wrapper table.cal tr td div.Sun {
	background: #f6bfbc;
	color: #c53d43;
}
/* Holyday;祝日*/
div.cal_wrapper table.cal tr td div.Holyday {
	background: #f6bfbc;
	color: #c53d43;
}
/* PMOff；午後休診 */
div.cal_wrapper table.cal tr td div.PMOff {
	background: #bce2e8;
	color: #007bbb;
}
/* dayOff;祝日*/
div.cal_wrapper table.cal tr td div.dayOff {
	background: #f6bfbc;
	color: #c53d43;
}
/* otherDay;その他 */
div.cal_wrapper table.cal tr td div.otherDay {
	background: #d8e698;
	color: #333333;
}
/* weekday;一日診療　*/
div.cal_wrapper table.cal tr td div.weekday {
	background: transparent;
	color: #333;
}
/* Today;当日 */
div.cal_wrapper table.cal tr td div.Today {
	font-weight: bold;
	color: #333;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
	background-color: #aaa;
	color: #fff;
}
.cal-off {
	color: #f6bfbc;
}
.cal-halfOff {
	color: #bce2e8;
}
.cal-other {
	color: #d8e698;
}

#mainContainer {
	width: 100%;
	position: relative;
}

/* ----------------------------------------------------
header
---------------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: min(11.67vw, 140px);
	background: #fff;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	align-items: center;
}
#header #hd-logo {
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 200;
	width: min(33.42vw, 401px);
}
#header .hd-tel {
	position: absolute;
	left: min(4vw, 60px);
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--ff-en);
	font-size: min(2vw, 2.4rem);
	color: #666;
}
#header .hd-tel span {
	font-size: min(2.5vw, 3rem);
}
#header .hd-address {
	font-size: min(1vw, 1.3rem);
	position: absolute;
	right: min(12.5vw, 170px);
}

#btnGlobal {
	position: absolute;
	width: min(7.5vw, 90px);
	aspect-ratio: 1/1;
	right: min(4vw, 60px);
	top: 50%;
	z-index: 120;
	background: var(--c-pink);
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border-radius: 50%;
	transform: translateY(-50%);
}
#btnGlobal .btnWrapGlobal {
	position: relative;
	width: min(2.5vw, 30px);
	height: min(1.66vw, 20px);
}
#btnGlobal .btnLine {
	height: 1px;
	background: #fff;
	position: absolute;
	right: 0;
	width: 100%;
}
#btnGlobal .btnLine.btnLineT {
	top: 0;
}
#btnGlobal .btnLine.btnLineM {
	top: 50%;
}
#btnGlobal .btnLine.btnLineB {
	bottom: 0;
}
#btnGlobal.active .btnLine {
	background: #fff;
}
#btnGlobal.active .btnLine.btnLineT {
	display: none;
}
#btnGlobal.active .btnLine.btnLineM {
	transform: translateY(0) rotate(45deg);
}
#btnGlobal.active .btnLine.btnLineB {
	transform: rotate(-45deg);
	bottom: inherit;
	top: 50%;
}
#btnGlobal .btnLine.btnLineM,
#btnGlobal .btnLine.btnLineB {
	-moz-transition: all, ease-in-out, 0.3s;
	-o-transition: all, ease-in-out, 0.3s;
	-webkit-transition: all, ease-in-out, 0.3s;
	transition: all, ease-in-out, 0.3s;
}
#grandMenu {
	background: #fff;
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	display: none;
	overflow: auto;
	padding: min(18.33vw, 220px) 0 5%;
}
#navGlobal li {
	font-family: var(--ff-serif);
	font-size: min(2.33vw, 2.8rem);
	margin-bottom: min(2vw, 25px);
	letter-spacing: 0.2rem;
}
#navGlobal li span {
	font-family: var(--ff-en);
	color: var(--c-beige);
	font-size: min(1.25vw, 1.5rem);
	display: block;
	letter-spacing: 0.1rem;
}
#navGlobal li .navChild li {
	letter-spacing: 0.1rem;
	font-size: min(1.66vw, 2rem);
}
#navGlobal li .navChild li a {
	color: #444;
}

@media (max-width: 767px) {
	#mainContainer {
		padding-top: min(16vw, 120px);
	}
	#header {
		height: min(16vw, 120px);
		justify-content: flex-start;
		padding: 0 4vw;
	}
	#header #hd-logo {
		width: auto;
		margin: 0;
	}
	#header #hd-logo img {
		width: 60vw;
	}

	#header .sp-btnTel {
		position: absolute;
		width: min(12vw, 100px);
		aspect-ratio: 1/1;
		border-radius: 50%;
		right: 15vw;
		top: 50%;
		transform: translateY(-50%);
		z-index: 120;
		background: var(--bg-pink);
		display: flex;
		display: -webkit-flex;
		justify-content: center;
		align-items: center;
	}
	#header .sp-btnTel span.material-symbols-outlined {
		color: var(--c-pink);
		font-size: 6vw;
		line-height: 1.4;
		font-variation-settings: "FILL" 1;
	}

	#btnGlobal {
		width: min(12vw, 100px);
		right: 2vw;
	}
	#btnGlobal .btnWrapGlobal {
		width: min(5vw, 50px);
		height: min(4.2vw, 35px);
	}
	#btnGlobal .btnLine {
		height: 2px;
	}
	#btnGlobal .btnLine.btnLineM {
		transform: translateY(-50%);
	}

	#grandMenu {
		padding: 25vw 8%;
	}
	#navGlobal li {
		font-size: min(4.6vw, 2.8rem);
		margin-bottom: min(4vw, 25px);
		line-height: 1.5;
	}
	#navGlobal li span {
		font-size: min(3vw, 1.5rem);
	}
	#navGlobal li .navChild {
		margin: min(4vw, 20px) 0 min(4vw, 20px) 1em;
	}
	#navGlobal li .navChild li {
		font-size: min(4vw, 2rem);
		margin-bottom: min(3vw, 15px);
	}
	#navGlobal li a::after {
		right: 2vw;
		width: 2vw;
		height: 2vw;
	}
	#navGlobal li.btn-navChild .navChild {
		display: none;
	}
	#navGlobal li.btn-navChild .navChild a::after {
		transform: rotate(45deg);
	}
}

/* ----------------------------------------------------
bnrRecruit
---------------------------------------------------- */
#bnrRecruit {
	background: var(--bg-pink) url("../../img/common/bg-bnrRecruit-01.jpg") left
		center / auto 100% no-repeat;
	margin-bottom: min(0.83vw, 10px);
	padding: min(5vw, 60px) 0 min(6.67vw, 80px);
}
#bnrRecruit .inrContent {
	text-align: right;
}
.inrBnrRecruit {
	width: 56%;
	text-align: left;
	display: inline-block;
}
#bnrRecruit .homTitle {
	font-size: min(3vw, 3.6rem);
	margin-bottom: min(2.92vw, 35px);
}
#bnrRecruit .homTitle span {
	font-size: min(1.5vw, 1.8rem);
}
#bnrRecruit ul {
	margin: min(2.92vw, 35px) 0 0;
	font-size: 0;
}
#bnrRecruit ul li {
	font-size: min(1.5vw, 1.8rem);
	font-family: var(--ff-serif);
	margin-right: min(0.83vw, 10px);
	background: var(--c-pink);
	color: #fff;
	border-radius: 30vw;
	text-align: center;
	display: inline-block;
	padding: min(0.66vw, 8px) min(0.83vw, 10px);
	min-width: min(15vw, 180px);
	letter-spacing: 0.1rem;
}

@media (max-width: 767px) {
	#bnrRecruit {
		padding: min(10vw, 60px) 0;
		position: relative;
	}
	#bnrRecruit::before {
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.3);
		position: absolute;
		left: 0;
		top: 0;
	}
	#bnrRecruit .inrContent {
		text-align: left;
		position: relative;
		z-index: 10;
		color: #fff;
	}
	.inrBnrRecruit {
		width: 100%;
		text-align: left;
	}
	#bnrRecruit .homTitle {
		font-size: min(7vw, 3.6rem);
		margin-bottom: min(4vw, 35px);
		color: #fff;
	}
	#bnrRecruit .homTitle span {
		font-size: min(3.4vw, 1.8rem);
	}
	#bnrRecruit .homTitle a {
		color: #fff;
	}
	#bnrRecruit p {
		line-height: 1.6;
	}
	#bnrRecruit ul {
		margin: min(4vw, 35px) 0 0;
		display: flex;
		display: -webkit-flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#bnrRecruit ul li {
		font-size: min(4vw, 1.8rem);
		margin-right: 0;
		display: block;
		width: 49%;
		padding: min(1.5vw, 8px) min(2vw, 10px);
		min-width: inherit;
		margin-bottom: 2%;
	}
}

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {
	background: #f3f3f3;
	padding-top: min(5.83vw, 70px);
	position: relative;
	line-height: 1.5;
	font-size: min(1.3vw, 1.6rem);
}
#footer::before {
	content: "";
	background: url("../../img/common/lg-footer-02.png") center center / contain
		no-repeat;
	aspect-ratio: 1/1;
	width: min(7.92vw, 95px);
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
}
#ft-logo {
	width: min(28.67vw, 344px);
	margin: 0 auto min(5vw, 60px);
}
.inrFooter--S {
	width: 75%;
	max-width: 770px;
	margin: 0 auto min(4.4vw, 50px);
	letter-spacing: 0.1rem;
}
.ftAddress {
	width: 38%;
}
.ftTimetable {
	width: 61%;
}

.ftTel {
	font-size: min(2.17vw, 2.6rem);
	font-family: var(--ff-en);
	margin-bottom: min(0.83vw, 10px);
}
.ftTel span {
	font-size: min(2.5vw, 3rem);
}
.ftAccess {
	position: relative;
	padding-left: min(2.5vw, 30px);
	margin: min(1.66vw, 20px) 0 0;
}
.ftAccess::before {
	content: "\e0c8";
	color: var(--c-pink);
	font-size: min(2vw, 2.4rem);
}

.timetable {
	width: 100%;
	text-align: center;
}
.timetable th {
	background: #e9b6c5;
	color: #fff;
	padding: min(1vw, 12px);
	font-weight: normal;
}
.timetable td {
	padding: min(1vw, 5px);
	border-bottom: 1px solid #adadad;
	color: var(--c-pink);
	font-size: 12px;
}

.timetable td.c--gray {
	color: #333;
}

@media (max-width: 767px) {
	.timetable td {
		font-size: 9px;
	}

	.timetable td.c--gray {
		color: #333;
		width: 10px;
	}
}

.txt-timetable {
	font-size: min(1.16vw, 1.4rem);
	letter-spacing: normal;
	margin: min(1vw, 12px) 0 0;
}

.ftMap {
	width: 92%;
	border-radius: min(1.66vw, 20px);
	overflow: hidden;
	height: min(32.92vw, 395px);
	margin: 0 auto;
}
.ftMap iframe {
	width: 100%;
	height: 100%;
}

.navFooter {
	text-align: center;
	margin: min(3.3vw, 40px) auto;
	font-size: 0;
}
.navFooter li {
	font-size: min(1.3vw, 1.6rem);
	display: inline-block;
	padding: 0 min(2vw, 25px);
	position: relative;
}
.navFooter li:not(:first-child)::before {
	content: "";
	width: 1px;
	height: min(1.3vw, 1.6rem);
	position: absolute;
	left: 0;
	top: 50%;
	background: #333;
	transform: translateY(-50%);
}
.navFooter li a {
	color: #333;
}

.copy {
	background: #666666;
	text-align: center;
	color: #fff;
	font-size: min(1vw, 1.2rem);
	padding: min(1.25vw, 15px) 4%;
}
.copy a {
	color: #fff;
}

#pagetop {
	position: fixed;
	bottom: 4%;
	right: 3%;
	z-index: 7;
}
#pagetop a {
	display: block;
	width: 45px;
	height: 45px;
	background-color: var(--c-pink);
	border-radius: 50%;
	color: #fff;
	position: relative;
	z-index: 8;
}
#pagetop a::before {
	content: "";
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	z-index: 9;
}

@media (max-width: 767px) {
	#footer {
		padding-top: min(12vw, 70px);
		font-size: min(3.8vw, 1.6rem);
	}
	#footer::before {
		width: min(15vw, 95px);
	}
	#ft-logo {
		width: min(68.8vw, 344px);
		margin: 0 auto min(6vw, 60px);
	}
	.inrFooter--S {
		width: 100%;
		margin: 0 auto;
	}
	.ftAddress,
	.ftTimetable {
		width: 90%;
		margin: 0 auto min(6vw, 30px);
	}
	.ftTel {
		font-size: min(6vw, 2.6rem);
		margin-bottom: min(2vw, 10px);
	}
	.ftTel span {
		font-size: min(7vw, 3rem);
	}
	.ftTel span a {
		color: #333;
	}
	.ftAccess {
		padding-left: min(10vw, 30px);
		margin: min(3vw, 20px) 0 0;
	}
	.ftAccess::before {
		font-size: min(10vw, 2.4rem);
	}
	.timetable th,
	.timetable td {
		padding: min(2vw, 12px);
	}
	.txt-timetable {
		font-size: min(3.2vw, 1.4rem);
		margin: min(2vw, 12px) 0 0;
	}
	.ftMap {
		width: 90%;
		border-radius: min(4vw, 20px);
		height: min(45vw, 395px);
		margin-bottom: min(6vw, 50px);
	}
	.navFooter {
		display: none;
	}
	.copy {
		font-size: min(3.2vw, 1.2rem);
		padding: min(2.4vw, 15px) 4%;
	}
}

/* -----------------------------------------------------
home(common)
------------------------------------------------------- */
.homTitle {
	font-size: min(3.17vw, 3.8rem);
	font-family: var(--ff-serif);
	color: var(--c-gray);
	letter-spacing: 0.2rem;
	line-height: 1.5;
}
.homTitle span {
	display: block;
	font-size: min(1.66vw, 2rem);
	color: var(--c-beige);
}
.homTitle em {
	color: var(--c-pink);
}

a.homBtnCommon {
	display: block;
	background: var(--c-pink);
	color: #fff;
	border-radius: 30vw;
	text-align: center;
	font-family: var(--ff-serif);
	padding: min(0.6vw, 8px);
	line-height: 1.5;
	letter-spacing: 0.1rem;
}

@media (max-width: 767px) {
	.homTitle {
		font-size: min(6vw, 3.8rem);
	}
	.homTitle span {
		font-size: min(4vw, 2rem);
	}
	a.homBtnCommon {
		padding: min(4vw, 8px);
	}
}

/* visual */
#homVisual {
	width: calc(100% - min(8vw, 120px));
	aspect-ratio: 148/69;
	margin: 0 auto min(5.83vw, 70px);
	background: #eee;
	border-radius: min(1.66vw, 20px);
}
.homSlide {
	width: 100%;
	aspect-ratio: 148/69;
	border-radius: min(1.66vw, 20px);
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.homSlide h2 {
	position: absolute;
	right: min(6.66vw, 80px);
	bottom: min(6.66vw, 80px);
	font-size: min(4vw, 4.8rem);
	font-family: var(--ff-serif);
	text-align: right;
	line-height: 1.6;
	text-shadow: 2px 2px 3px white, -2px 2px 3px white, 2px -2px 3px white,
		-2px -2px 3px white;
	font-weight: 500;
	color: var(--c-gray);
}
.homSlide h2 span {
	color: var(--c-pink-strong);
}

.homSlide--01 {
	background-image: url("../../img/home/img-homVisual-01.jpg");
}
.homSlide--02 {
	background-image: url("../../img/home/img-homVisual-02.jpg");
}
.homSlide--03 {
	background-image: url("../../img/home/img-homVisual-03.jpg");
}

@media (max-width: 767px) {
	.homSlide h2 {
		font-size: min(5.4vw, 4.8rem);
		text-align: left;
		right: inherit;
		left: 4vw;
		bottom: 4vw;
		line-height: 1.5;
	}
	#homVisual,
	.homSlide {
		width: 100%;
		aspect-ratio: auto;
		height: 60vw !important;
		border-radius: 0;
	}
}

/* reserve */
#homReserve {
	max-width: 1370px;
	width: 90%;
	margin: min(5.83vw, 70px) auto;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.homReserve__cont {
	width: 100%;
	text-align: center;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	align-items: center;
}

@media (max-width: 767px) {
	#homReserve {
		width: 90%;
		margin: min(6vw, 70px) auto;
		flex-wrap: wrap;
	}
	.homReserve__cont {
		width: 100%;
		text-align: left;
		margin-bottom: min(5vw, 40px);
	}
}

/* fever */
#homFever {
	width: calc(100% - min(8vw, 120px));
	margin: min(5.83vw, 70px) auto;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.homFever__cont {
	width: 45%;
	text-align: center;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	align-items: center;
}
.homFever__img {
	width: 46%;
	border-radius: min(1.66vw, 20px);
	overflow: hidden;
	min-height: min(37.5vw, 450px);
	background: #eee;
}
.homFever__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.homFever__cont .homTitle {
	margin-bottom: min(4.17vw, 50px);
}
.homFever__cont .homFever__tel {
	margin: 0;
	font-family: var(--ff-serif);
	font-size: min(2.5vw, 3rem);
	letter-spacing: 0.2rem;
	color: var(--c-gray);
	font-weight: 500;
}
.homFever__cont .homFever__tel span {
	font-size: min(3vw, 3.6rem);
}

@media (max-width: 767px) {
	#homFever {
		width: 90%;
		margin: min(6vw, 70px) auto;
		flex-wrap: wrap;
	}
	.homFever__cont {
		width: 100%;
		text-align: left;
		margin-bottom: min(5vw, 40px);
	}
	.homFever__img {
		width: 100%;
		border-radius: min(4vw, 20px);
		min-height: inherit;
		height: 45vw;
	}
	.homFever__cont .homTitle {
		margin-bottom: min(6vw, 50px);
		text-align: center;
	}
	.homFever__cont .homFever__tel {
		font-size: min(4vw, 3rem);
		text-align: center;
		line-height: 1.4;
	}
	.homFever__cont .homFever__tel span {
		font-size: min(7vw, 3.6rem);
	}
	.homFever__cont .homFever__tel a {
		color: #333;
	}
}

/* news */
#homNews {
	width: calc(100% - min(8vw, 120px));
	margin: min(5.83vw, 70px) auto;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	background: var(--bg-beige);
	border-radius: min(1.66vw, 20px);
	padding: min(5.83vw, 70px) 0;
}
.homNews__title {
	width: 29%;
	text-align: center;
}
.homNews__list {
	width: 71%;
	padding-right: min(8.3vw, 100px);
}
#homNews .homNews__btn {
	margin: 0;
}
#homNews .homNews__btn a {
	width: min(10.83vw, 130px);
	font-size: min(1.3vw, 1.6rem);
	margin: min(2.5vw, 30px) auto 0;
}
.homNews__list ul {
	margin: 0;
}
.homNews__list ul li {
	position: relative;
	padding-left: min(13.33vw, 160px);
}
.homNews__list ul li:not(:last-child) {
	margin-bottom: min(1.66vw, 20px);
}
.homNews__list ul li span {
	position: absolute;
	left: 0;
	font-family: var(--ff-serif);
}
.homNews__list ul li a {
	color: #333;
}

@media (max-width: 767px) {
	#homNews {
		width: 90%;
		margin: min(6vw, 70px) auto;
		flex-wrap: wrap;
		border-radius: min(4vw, 20px);
		padding: min(7vw, 70px) 5% min(22vw, 100px);
		position: relative;
	}
	.homNews__title {
		width: 100%;
		margin-bottom: min(4vw, 20px);
	}
	.homNews__list {
		width: 100%;
	}
	#homNews .homNews__btn {
		position: absolute;
		left: 0;
		bottom: 7vw;
		width: 100%;
	}
	#homNews .homNews__btn a {
		width: 80%;
		font-size: min(4vw, 1.6rem);
		margin: 0 auto 0;
	}
	.homNews__list ul li {
		padding-left: 0;
	}
	.homNews__list ul li:not(:last-child) {
		margin-bottom: min(3vw, 20px);
	}
	.homNews__list ul li span {
		position: relative;
		left: inherit;
		display: block;
	}
}

/* about */
#homAbout {
	max-width: 1370px;
	width: 90%;
	margin: min(6.66vw, 80px) auto min(11.67vw, 140px);
	position: relative;
	min-height: min(79.17vw, 950px);
	background: url("../../img/home/bg-homAbout-01.svg") 70% 20% /
		min(60.83vw, 730px) auto no-repeat;
}
.homAbout__cont {
	width: 58%;
	padding: min(6.25vw, 75px) 0;
}
.homAbout__cont .homTitle {
	margin-bottom: min(5vw, 60px);
	line-height: 1.8;
}
.homAbout__cont .homTitle span {
	margin-bottom: min(1.66vw, 20px);
}
.homAbout__cont p {
	line-height: 2.3;
	margin-bottom: min(3vw, 36px);
}
.homAbout__btn {
	margin: min(8.3vw, 100px) 0 0;
}
.homAbout__btn li {
	display: inline-block;
	margin-right: min(0.83vw, 10px);
	font-size: min(1.66vw, 2rem);
}
.homAbout__btn li a {
	padding: min(0.83vw, 10px) min(2.9vw, 35px);
	min-width: min(16.67vw, 200px);
}
.homAbout__img {
	position: absolute;
}
.homAbout__img--01 {
	right: min(7vw, 85px);
	top: 0;
	aspect-ratio: 365/350;
	width: min(30vw, 365px);
}
.homAbout__img--02 {
	right: max(-2.5vw, -30px);
	top: 50%;
	transform: translateY(-20%);
	aspect-ratio: 255/200;
	width: min(21.25vw, 255px);
}
.homAbout__img--03 {
	right: min(16.6vw, 200px);
	bottom: 0;
	aspect-ratio: 315/220;
	width: min(26.25vw, 315px);
}

@media (max-width: 767px) {
	#homAbout {
		margin: min(12vw, 80px) auto min(15vw, 140px);
		min-height: inherit;
		background-position: center center;
		background-size: 100% auto;
	}
	.homAbout__cont {
		width: 100%;
		padding: 0;
	}
	.homAbout__cont .homTitle {
		margin-bottom: min(5vw, 60px);
		line-height: 1.6;
	}
	.homAbout__cont .homTitle span {
		margin-bottom: min(4vw, 20px);
	}
	.homAbout__cont p {
		line-height: 1.9;
		margin-bottom: min(5vw, 36px);
	}
	.homAbout__btn {
		margin: min(8vw, 100px) 0 0;
		display: flex;
		display: -webkit-flex;
		justify-content: space-between;
	}
	.homAbout__btn li {
		display: block;
		width: 49%;
		margin-right: 0;
		font-size: min(4.2vw, 2rem);
	}
	.homAbout__btn li a {
		padding: min(4vw, 10px);
		min-width: inherit;
	}
	.homAbout__img {
		display: none;
	}
}

/* menu */
#homMenu {
	background: url("../../img/home/bg-homMenu-01.png") center top / cover
		no-repeat;
	padding: min(7.5vw, 90px) 0 min(10vw, 120px);
	position: relative;
}
#homMenu .homMenu__cont {
	max-width: 1370px;
	width: 90%;
	margin: 0 auto;
}
#homMenu .homTitle {
	text-align: center;
}
.homMenu__block:nth-child(even) {
	flex-direction: row-reverse;
}
.homMenu__block {
	margin-top: min(8.3vw, 100px);
}
.homMenu__txt {
	width: 44%;
}
.homMenu__img {
	width: 48%;
	background: #eee;
	border-radius: min(1.66vw, 20px);
	overflow: hidden;
	min-height: min(30.8vw, 370px);
}
.homMenu__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.homMenu__block:nth-child(odd) .homMenu__txt {
	text-align: right;
}
.homMenu__txt__inr {
	width: 72%;
	display: inline-block;
	text-align: left;
	padding-top: min(1.66vw, 20px);
}
.homMenu__txt h3 {
	font-family: var(--ff-serif);
	font-size: min(2.67vw, 3.2rem);
	color: var(--c-gray);
	line-height: 1.6;
	letter-spacing: 0.1rem;
	margin-bottom: min(3.75vw, 45px);
}
.homMenu__txt h3 span {
	font-size: min(1.16vw, 1.4rem);
	color: var(--c-pink);
	display: block;
}
.homMenu__txt p {
	margin: 0;
}

.homMenu__sub {
	margin-top: min(10vw, 120px);
	width: 88%;
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	column-gap: 4%;
}
.homMenu__sub__block {
	width: 30%;
	margin-top: 4%;
	aspect-ratio: 37/26;
	position: relative;
	overflow: hidden;
	border-radius: min(1.25vw, 15px);
}
.homMenu__sub__block::before {
	content: "";
	width: 100%;
	height: 40%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgb(0, 0, 0);
	background: linear-gradient(
		0deg,
		rgba(0, 0, 0, 0.6) 0%,
		rgba(0, 0, 0, 0) 100%
	);
}
.homMenu__sub__block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.homMenu__sub__block h3 {
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 0;
	line-height: 0.7;
	font-family: var(--ff-serif);
	font-size: min(2.33vw, 2.8rem);
	padding: min(2vw, 24px) 0;
	letter-spacing: 0.1em;
}
.homMenu__sub__block h3 span {
	font-size: min(1.16vw, 1.4rem);
	letter-spacing: normal;
}
.homMenu__sub__block h3 a {
	color: #fff;
	font-weight: 500;
	text-shadow: 1px 1px 3px black;
}
.homMenu__sub__block h3 a:hover {
	color: #fff !important;
}

.homMenu__point {
	position: absolute;
	bottom: 0;
}
.homMenu__point--01 {
	right: min(10vw, 160px);
	margin-bottom: max(-10.83vw, -130px);
	aspect-ratio: 405/450;
	width: min(30vw, 405px);
}
.homMenu__point--02 {
	right: min(4.33vw, 52px);
	transform: translateY(80%);
	aspect-ratio: 267/304;
	width: min(22.2vw, 267px);
}

@media (max-width: 767px) {
	#homMenu {
		padding: min(15vw, 90px) 0;
	}
	.homMenu__block {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.homMenu__block:nth-child(even) {
		flex-direction: column-reverse;
	}
	.homMenu__block {
		margin-top: min(8vw, 100px);
	}
	.homMenu__txt {
		width: 100%;
	}
	.homMenu__img {
		width: 100%;
		border-radius: min(3vw, 20px);
		min-height: inherit;
		height: 40vw;
	}

	.homMenu__txt__inr {
		width: 100%;
		display: block;
		padding-top: min(4vw, 20px);
	}
	.homMenu__txt h3 {
		font-size: min(6vw, 3.2rem);
		margin-bottom: min(4vw, 45px);
		text-align: center;
	}
	.homMenu__txt h3 span {
		font-size: min(3.6vw, 1.4rem);
	}
	.homMenu__sub {
		margin-top: min(10vw, 120px);
		width: 100%;
		column-gap: 0;
		justify-content: space-between;
	}
	.homMenu__sub__block {
		width: 49%;
		margin-top: 2%;
		border-radius: min(3vw, 15px);
	}
	.homMenu__sub__block h3 {
		font-size: min(4vw, 2.8rem);
		padding: min(3vw, 24px) 0;
		line-height: 1;
	}
	.homMenu__sub__block h3 span {
		font-size: min(2.8vw, 1.2rem);
	}
	.homMenu__point--01 {
		right: inherit;
		left: 55%;
		margin-bottom: max(-5vw, -130px);
		width: min(40vw, 405px);
	}
	.homMenu__point--02 {
		right: 0;
		width: min(25vw, 267px);
		transform: translateY(60%);
	}
}

/* feature */
#homFeature {
	padding: min(11.67vw, 140px) 0;
}
.homFeature__cont {
	max-width: 1370px;
	width: 90%;
	margin: 0 auto;
}
.homFeature__cont .homTitle em {
	font-size: min(4vw, 4.8rem);
}

.homFeature__block {
	width: 47%;
	margin: min(6.66vw, 80px) 0 0;
}
.homFeature__block p {
	margin: 0;
}
.homFeature__img {
	position: relative;
	overflow: hidden;
	border-radius: min(1.25vw, 15px);
	aspect-ratio: 65/38;
	background: #eee;
}
.homFeature__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.homFeature__img span {
	position: absolute;
	right: 0;
	bottom: max(-1vw, -12px);
	color: #fff;
	font-family: var(--ff-serif);
	font-size: min(12.5vw, 15rem);
	line-height: 1;
	font-weight: 800;
}
.homFeature__block h3 {
	margin: min(2.5vw, 30px) 0;
	font-family: var(--ff-serif);
	color: var(--c-gray);
	font-size: min(2.67vw, 3.2rem);
}
.homFeature__block h3 span {
	color: var(--c-pink);
}

@media (max-width: 767px) {
	#homFeature {
		padding: min(15vw, 140px) 0;
	}
	.homFeature__cont .homTitle em {
		font-size: min(8vw, 4.8rem);
	}
	.homFeature__block {
		width: 100%;
		margin: min(6vw, 80px) 0 0;
	}
	.homFeature__img {
		border-radius: min(3vw, 15px);
		aspect-ratio: inherit;
		height: 40vw;
	}
	.homFeature__img span {
		bottom: max(-2vw, -12px);
		font-size: min(20vw, 15rem);
	}
	.homFeature__block h3 {
		margin: min(5vw, 30px) 0 min(3vw, 30px);
		font-size: min(6vw, 3.2rem);
	}
}

/* ----------------------------------------------------
module(common)
---------------------------------------------------- */
/* vusial */
#visual {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - min(8vw, 120px));
	background: url("../../img/page/common/bg-visual-01.jpg") center center /
		cover no-repeat;
	border-radius: min(1.66vw, 20px);
	height: min(26.67vw, 320px);
	margin: 0 auto;
}
#visual h2 {
	font-size: min(3.33vw, 4rem);
	color: var(--c-pink-strong);
	font-family: var(--ff-serif);
	letter-spacing: 0.2rem;
	font-weight: 500;
	text-shadow: 2px 2px 5px white, -2px 2px 5px white, 2px -2px 5px white,
		-2px -2px 5px white;
}
#beauty #visual {
	background: url("../../img/page/common/bg-visual-02.jpg") center center /
		cover no-repeat;
}

@media (max-width: 767px) {
	#visual {
		width: 96vw;
		border-radius: min(3vw, 20px);
		height: min(35vw, 320px);
	}
	#visual h2 {
		font-size: min(6vw, 4rem);
	}
}

/* topicPath */
ol.topicPath {
	list-style: none;
	margin: 0 auto;
	font-size: 0;
	padding: min(1.66vw, 20px) 0;
	width: calc(100% - min(8vw, 120px));
}
ol.topicPath li {
	font-size: min(1vw, 1.3rem);
	display: inline-block;
	position: relative;
	letter-spacing: 0.1rem;
}
ol.topicPath li:not(:first-child) {
	padding: 0 0 0 min(1.25vw, 15px);
	margin-left: min(0.4vw, 5px);
	position: relative;
}
ol.topicPath li:not(:first-child)::before {
	content: "";
	width: min(0.5vw, 6px);
	height: min(0.5vw, 6px);
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
ol.topicPath li a {
	text-decoration: underline;
}

@media (max-width: 767px) {
	ol.topicPath {
		width: 96vw;
		padding: 2vw 0;
	}
	ol.topicPath li {
		font-size: 3vw;
	}
	ol.topicPath li:not(:first-child) {
		padding: 0 0 0 3vw;
		margin-left: 1vw;
	}
	ol.topicPath li:not(:first-child)::before {
		width: 1.2vw;
		height: 1.2vw;
	}
}

/* layout */
#mainContent {
	margin: min(5vw, 60px) auto min(8.3vw, 100px);
	width: 90%;
	max-width: 1200px;
	position: relative;
}
.wrapContainer {
	margin: min(7.5vw, 90px) auto;
}

@media (max-width: 767px) {
	#mainContent {
		margin: 0 auto min(6vw, 100px);
		width: 90%;
	}
	.wrapContainer {
		margin: min(8vw, 90px) auto;
	}
}

/* hx */
#pageTitle {
	text-align: center;
	font-family: var(--ff-serif);
	margin-bottom: min(2.5vw, 30px);
	font-size: min(3vw, 3.6rem);
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.2rem;
	color: var(--c-gray);
}
#pageTitle span {
	display: block;
	color: var(--c-beige);
	text-transform: uppercase;
	font-size: min(1.5vw, 1.8rem);
	font-weight: 400;
}

.hA {
	font-size: min(2.6vw, 3.2rem);
	background: var(--bg-pink-strong);
	border-radius: min(1.25vw, 15px);
	line-height: 1.5;
	margin: min(5vw, 60px) 0 min(4.16vw, 50px);
	font-family: var(--ff-serif);
	padding: min(2vw, 25px) min(3vw, 36px);
	color: var(--c-gray);
}
.hB {
	font-size: min(2.6vw, 3.2rem);
	margin: min(4.16vw, 50px) 0;
	position: relative;
	line-height: 1.5;
	font-family: var(--ff-serif);
	letter-spacing: 0.2rem;
	padding-bottom: min(1.66vw, 20px);
	color: var(--c-pink-strong);
}
.hB span {
	position: relative;
	padding-left: min(4.4vw, 50px);
}
.hB span::before {
	content: "";
	background: url("../../img/page/common/ic-hB-01.svg") center center / cover
		no-repeat;
	aspect-ratio: 172/150;
	width: min(3.33vw, 40px);
	position: absolute;
	left: 0;
	top: min(0.4vw, 5px);
}
.hB::before {
	content: "";
	width: 100%;
	height: 3px;
	background: #cfcfcf;
	position: absolute;
	left: 0;
	bottom: 0;
}
.hB::after {
	content: "";
	width: 25%;
	height: 3px;
	background: var(--c-pink);
	position: absolute;
	left: 0;
	bottom: 0;
}
.hC {
	font-size: min(2.5vw, 3rem);
	color: var(--c-pink-strong);
	margin: min(3.3vw, 40px) 0 min(2.5vw, 30px);
	line-height: 1.5;
	font-family: var(--ff-serif);
	letter-spacing: 0.2rem;
}

.hD {
	font-size: min(1.8vw, 2.2rem);
	color: var(--c-pink-strong);
	font-weight: 600;
	padding-left: 1em;
	line-height: 1.5;
	position: relative;
	margin: min(2.5vw, 30px) 0 min(1.6vw, 20px);
}
.hD::before {
	content: "";
	width: min(0.4vw, 5px);
	height: 100%;
	background: var(--c-beige);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.flexConent .hC:first-child,
.flexConent .hD:first-child,
.flexConent .hE:first-child,
.floatBox .hD:first-of-type,
.decBox .hE:first-child {
	margin-top: 0;
}

@media (max-width: 767px) {
	#pageTitle {
		margin-bottom: 0;
		font-size: min(6vw, 3.6rem);
	}
	#pageTitle span {
		font-size: min(3.4vw, 1.8rem);
	}

	.hA {
		font-size: min(5.2vw, 3.2rem);
		border-radius: min(2vw, 15px);
		margin: min(6vw, 60px) 0 min(4vw, 50px);
		padding: min(4vw, 25px);
	}
	.hB {
		font-size: min(5vw, 3.2rem);
		margin: min(5vw, 50px) 0 min(4vw, 40px);
		padding-bottom: min(3vw, 20px);
	}
	.hB span {
		padding-left: min(8vw, 50px);
	}
	.hB span::before {
		width: min(6vw, 40px);
		top: min(1vw, 5px);
	}
	.hB::before,
	.hB::after {
		height: min(0.6vw, 3px);
	}
	.hC {
		font-size: min(4.6vw, 3rem);
		margin: min(4vw, 40px) 0 min(3vw, 30px);
	}
	.hD {
		font-size: min(4.2vw, 2.2rem);
		padding-left: 1em;
		margin: min(4vw, 30px) 0 min(3vw, 20px);
	}
	.hD::before {
		width: min(1vw, 5px);
	}
}

/* link  / list */
.telLink {
	padding-left: min(2vw, 25px);
	font-size: min(2vw, 2.4rem);
}
.telLink::before {
	color: var(--c-pink);
	font-size: min(2vw, 2.4rem);
}
a.linkArrow {
	display: inline-block;
	min-width: min(23vw, 280px);
	padding: min(1.25vw, 15px) min(2.5vw, 30px);
	text-align: center;
	background: var(--c-pink);
	color: #fff;
	position: relative;
	border-radius: 30vw;
}
a.linkArrow::after {
	content: "";
	position: absolute;
	right: 4%;
	top: 50%;
	width: min(0.83vw, 10px);
	height: min(0.83vw, 10px);
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}
a.linkArrow.linkExternal::after {
	content: none;
}
a.linkExternal span::after {
	color: #fff;
}

ul.listDot li::before {
	background: var(--c-pink);
}
ul.listCheck li::before {
	color: var(--c-pink);
}
.listData dt {
	color: var(--c-pink);
	margin-top: min(0.4vw, 5px);
}

@media (max-width: 767px) {
	.telLink {
		padding-left: 5vw;
		font-size: 5vw;
	}
	.telLink::before {
		font-size: 4.5vw;
	}
	a.linkArrow {
		padding: 4vw;
		width: 100%;
	}
	a.linkArrow::after {
		width: 2vw;
		height: 2vw;
	}
	.listData dt {
		margin-top: 1vw;
	}
}

/* decBox */
.decBox {
	padding: min(2.5vw, 30px);
	margin-bottom: min(2.5vw, 30px);
}
.decBox .hD:first-of-type {
	margin-top: 0;
}
.decBox p:last-child,
.decBox div:last-child,
.decBox ul:last-child,
.decBox ol:last-child,
.decBox dl:last-child,
.decBox table:last-child {
	margin-bottom: 0 !important;
}
.decBox01 {
	background: var(--bg-beige);
}
.decBox02 {
	background: var(--bg-pink);
}
.decBox03 {
	background: var(--bg-beige);
	border: 1px solid var(--c-beige);
}

/* p */
.strongA {
	background: linear-gradient(transparent 60%, #ffff66 60%);
}
.strongB {
	font-size: 120%;
}

@media (max-width: 767px) {
	.decBox {
		padding: 5vw;
		margin-bottom: 4vw;
	}
}

/* table */
.tblA th,
.tblA td,
.tblB th,
.tblB td,
.tblC th,
.tblC td,
.tblD th,
.tblD td,
.tblE th,
.tblE td {
	border: 1px solid var(--c-beige);
	padding: min(0.83vw, 10px);
}
.tblA th,
.tblB th,
.tblC th,
.tblD th,
.tblE th {
	background: var(--bg-pink);
	color: var(--c-pink);
}
.tblA td,
.tblB td,
.tblC td,
.tblD td,
.tblE td {
	background: #fff;
}
.tblB th {
	text-align: left;
}
.tblB td.inrTblB table tr {
	border-bottom: 1px solid var(--c-beige);
}
.tblB td.inrTblB table td {
	border-left: 1px solid var(--c-beige);
}
.tblC {
	border-top: 1px solid var(--c-beige);
}

.tblD td:first-child,
.tblE tr:nth-child(even) th {
	background: var(--bg-pink-strong);
	color: var(--c-pink);
}
.tblD td:first-child {
	font-weight: 600;
	text-align: center;
}
.tblE tr:nth-child(even) td {
	background: var(--bg-beige);
}

@media (max-width: 767px) {
	.tblA th,
	.tblA td {
		padding: 2.5vw;
	}
	.tblA.tblVertical {
		border-bottom: 1px solid #dadac6;
	}
	.tblB {
		border-bottom: 1px solid #dadac6;
	}

	.tblB td.inrTblB table th {
		background: var(--bg-beige);
		color: var(--c-pink);
		text-align: left;
		font-weight: 600;
	}
	.tblD th {
		padding: inherit;
	}
	.tblD td {
		padding: inherit;
	}
	.tblD {
		border-top: 1px solid var(--c-beige);
		border-bottom: 1px solid var(--c-beige);
	}
	.tblD td:before {
		padding: 3vw 1.5vw;
		background: var(--bg-beige);
		color: var(--c-pink);
	}
	.tblD td span {
		padding: 3vw;
	}
	.tblD td:first-child {
		padding: 3vw;
	}
	.tbl-scroll::-webkit-scrollbar-track {
		background: #f3f3f3;
	}
	.tbl-scroll::-webkit-scrollbar-thumb {
		background: #bcbcbc;
	}
	.tbl-scroll .tblE th::before {
		background: var(--b-beige);
	}
	.tbl-scroll .tblE th::after {
		background: var(--b-beige);
	}
}

/* step */
.stpBox {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	margin-bottom: min(3.3vw, 40px);
	padding-bottom: min(6.6vw, 80px);
	position: relative;
}
.stpBox:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.stpBox:nth-child(odd) {
	flex-direction: row-reverse;
}
.stpBox:not(:last-child)::before {
	content: "";
	width: min(6.67vw, 80px);
	height: 3px;
	background: var(--c-pink);
	position: absolute;
	left: 50%;
	bottom: 0;
	transform-origin: right bottom;
	transform: translate(-100%, 0) rotate(20deg);
}
.stpBox:not(:last-child)::after {
	content: "";
	width: min(6.67vw, 80px);
	height: 3px;
	background: var(--c-pink);
	position: absolute;
	left: 50%;
	bottom: 0;
	transform-origin: left bottom;
	transform: translate(0, 0) rotate(-20deg);
}

.stpImg {
	width: 42%;
	border-radius: min(1.25vw, 15px);
	overflow: hidden;
	min-height: min(26.67vw, 320px);
}
.stpImg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.stpContent {
	width: 50%;
}
.stpContent h3 {
	font-family: var(--ff-serif);
	font-size: min(2.33vw, 2.8rem);
	color: var(--c-pink);
	line-height: 1.6;
	margin: min(1.25vw, 15px) 0 min(2.5vw, 30px);
}
.stpContent h3 span {
	font-family: var(--ff-en);
	display: block;
	color: var(--c-beige);
	font-size: min(1.5vw, 1.8rem);
}
.stpContent h3 span em {
	margin-left: min(0.83vw, 10px);
	font-size: min(2.33vw, 2.8rem);
}

@media (max-width: 767px) {
	.stpBox {
		flex-wrap: wrap;
		flex-direction: column-reverse;
		margin-bottom: min(4vw, 40px);
		padding-bottom: min(10vw, 80px);
	}
	.stpBox:nth-child(odd) {
		flex-direction: column-reverse;
	}
	.stpBox:not(:last-child)::before,
	.stpBox:not(:last-child)::after {
		width: min(10vw, 80px);
	}
	.stpImg {
		width: 100%;
		border-radius: min(3vw, 15px);
		height: min(48vw, 320px);
	}
	.stpContent {
		width: 100%;
		margin-bottom: 4vw;
	}
	.stpContent h3 {
		font-size: min(5.4vw, 2.8rem);
		margin: 0 0 min(4vw, 30px);
	}
	.stpContent h3 span {
		font-size: min(4vw, 1.8rem);
	}
	.stpContent h3 span em {
		margin-left: min(2vw, 10px);
		font-size: min(4.8vw, 2.8rem);
	}
}

/* 治験・臨床研究 ------------------------------------ */
.irbFlex {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
#irbMain {
	width: 68%;
}
#irbSide {
	width: 26.25%;
}

#irbSide nav:not(:last-child) {
	margin-bottom: min(2.5vw, 30px);
}
#irbSide nav h2 {
	padding: min(1vw, 12px);
	text-align: center;
	color: #fff;
	font-family: var(--ff-serif);
	font-size: min(1.82vw, 2.2rem);
}
#irbSide nav ul {
	font-size: min(1.3vw, 1.6rem);
}
#irbSide nav ul li {
	margin-bottom: 1px;
}
#irbSide nav ul li a {
	display: block;
	padding: min(1.25vw, 15px) min(1.66vw, 20px);
	color: #333;
}
#irbSide nav ul li span {
	padding-right: 1.5em;
}
#irbSide nav ul li span.ic--pdf::before {
	content: "\e415";
	right: 0;
	color: var(--c-pink-strong);
}

.navTrial h2 {
	background: var(--c-pink);
}
.navTrial ul li a {
	background: #fdebf0;
}
.navTrial ul li a:hover {
	background: #fcdbe5;
}
.navResearch h2 {
	background: #cab79a;
}
.navResearch ul li a {
	background: var(--bg-beige);
}
.navResearch ul li a:hover {
	background: #f2e5da;
}

#irbMain h2 {
	font-family: var(--ff-serif);
	font-size: min(2.5vw, 3rem);
	position: relative;
	line-height: 1.5;
	padding-bottom: min(1.66vw, 20px);
	margin-bottom: min(1.66vw, 20px);
}
#irbMain h2::before {
	content: "";
	width: 100%;
	height: 3px;
	background: #cfcfcf;
	position: absolute;
	left: 0;
	bottom: 0;
}
#irbMain h2::after {
	content: "";
	width: 30%;
	height: 3px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#irbMain h3 {
	margin: min(3.3vw, 40px) 0 min(1.66vw, 20px);
	font-family: var(--ff-serif);
	font-size: min(1.82vw, 2.2rem);
	padding: min(0.83vw, 10px) min(2vw, 25px);
}
#irbMain ul {
	margin-bottom: min(2.5vw, 30px);
}
#irbMain ul li {
	border-bottom: 1px dashed #aaa;
	padding: min(1vw, 12px);
	font-size: min(1.3vw, 1.6rem);
}
#irbMain ul li a {
	color: #333;
}
#irbMain ul li .ic--latest {
	display: inline-block;
	margin-left: min(1.25vw, 15px);
	color: #fff;
	font-size: min(1.16vw, 14px);
	line-height: 1.2;
	padding: min(0.17vw, 2px) min(0.83vw, 10px);
}
#irbMain .wp-pagenavi {
	text-align: center;
	margin-bottom: min(5vw, 60px);
	font-size: min(1.3vw, 1.6rem);
}
#irbMain ul.irb--year {
	font-size: 0;
}
#irbMain ul.irb--year li {
	border: 1px solid #ccc;
	font-size: min(1.3vw, 1.6rem);
	padding: 0;
	display: inline-block;
	margin-right: min(0.83vw, 10px);
	margin-bottom: min(0.83vw, 10px);
}
#irbMain ul.irb--year li a {
	display: block;
	padding: min(0.4vw, 5px) min(1.66vw, 20px);
}

#irbMain.irbTrial h2,
#irbMain.irbTrial h3 {
	color: var(--c-pink-strong);
}
#irbMain.irbTrial h2::after {
	background: var(--c-pink);
}
#irbMain.irbTrial h3 {
	background: #f3f3f3;
}
#irbMain.irbTrial ul li .ic--latest {
	background: var(--c-pink);
}

#irbMain.irbResearch h2,
#irbMain.irbResearch h3 {
	color: #a5885d;
}
#irbMain.irbResearch h2::after {
	background: #cab79a;
}
#irbMain.irbResearch h3 {
	background: var(--bg-beige);
}
#irbMain.irbResearch ul li .ic--latest {
	background: #cab79a;
}

#irbMain.newsMain .newsHeading {
	background: var(--bg-pink);
	margin-bottom: min(4vw, 50px);
	padding: min(1.66vw, 20px);
	border-left: 5px solid var(--c-pink);
}
#irbMain.newsMain .newsHeading p {
	margin: 0;
	font-size: min(1.25vw, 1.5rem);
}
#irbMain.newsMain .newsHeading h1 {
	font-family: var(--ff-serif);
	font-size: min(2.5vw, 3rem);
	line-height: 1.5;
}
#irbMain.newsMain h2 {
	margin-top: min(4vw, 50px);
}
#irbMain.newsMain h4 {
	font-weight: 600;
	color: var(--c-pink);
	font-size: min(1.66vw, 2rem);
}
#irbMain.newsMain ul {
	list-style: disc;
	padding-left: 1.5em;
}
#irbMain.newsMain ol {
	list-style: decimal;
	padding-left: 1.5em;
}
#irbMain.newsMain ul li {
	border: 0;
	padding: 0;
}
#irbMain.newsMain ol li {
	font-size: min(1.3vw, 1.6rem);
}

@media (max-width: 767px) {
	.irbFlex {
		display: block;
	}
	#irbMain {
		width: 100%;
		margin-top: min(4vw, 30px);
	}
	#irbSide {
		width: 100%;
		margin-top: min(10vw, 50px);
	}

	#irbSide nav:not(:last-child) {
		margin-bottom: min(6vw, 30px);
	}
	#irbSide nav h2 {
		padding: min(2vw, 12px);
		font-size: min(4.5vw, 2.2rem);
	}
	#irbSide nav ul {
		font-size: min(3.8vw, 1.6rem);
	}
	#irbSide nav ul li a {
		padding: min(3vw, 15px) min(4vw, 20px);
	}

	#irbMain h2 {
		font-size: min(5vw, 3rem);
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	#irbMain h3 {
		margin: min(8vw, 40px) 0 min(4vw, 20px);
		font-size: min(4.2vw, 2.2rem);
		padding: min(2vw, 10px) min(5vw, 25px);
	}
	#irbMain ul {
		margin-bottom: min(6vw, 30px);
	}
	#irbMain ul li {
		padding: min(2vw, 12px);
		font-size: min(3.8vw, 1.6rem);
	}

	#irbMain ul li .ic--latest {
		margin-left: min(3vw, 15px);
		font-size: min(3.2vw, 14px);
		padding: min(0.4vw, 2px) min(2vw, 10px);
	}
	#irbMain .wp-pagenavi {
		margin-bottom: min(5vw, 60px);
		font-size: min(1.3vw, 1.6rem);
	}

	#irbMain ul.irb--year li {
		font-size: min(3.8vw, 1.6rem);
		margin-right: min(1vw, 10px);
		margin-bottom: min(2vw, 10px);
	}
	#irbMain ul.irb--year li a {
		padding: min(1vw, 5px) min(4vw, 20px);
	}

	#irbMain.newsMain .newsHeading {
		margin-bottom: min(8vw, 50px);
		padding: min(3vw, 20px);
		border-left: 1vw solid var(--c-pink);
	}
	#irbMain.newsMain .newsHeading p {
		font-size: min(3.4vw, 1.5rem);
	}
	#irbMain.newsMain .newsHeading h1 {
		font-size: min(5vw, 3rem);
	}
	#irbMain.newsMain h2 {
		margin-top: min(8vw, 50px);
	}
	#irbMain.newsMain h4 {
		font-size: min(4vw, 2rem);
	}
	#irbMain.newsMain ol li {
		font-size: min(3.8vw, 1.6rem);
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width: 768px) {
	/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
	/* hover */
	a:hover {
		opacity: 0.8 !important;
		filter: alpha(opacity=80);
		text-decoration: none;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
	a img:hover {
		opacity: 0.8 !important;
		filter: alpha(opacity=80);
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
	.clickable:hover {
		filter: alpha(opacity=80) !important;
		opacity: 0.8 !important;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
	.clickable:hover {
		opacity: 0.7;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
	body {
		padding-top: min(11.67vw, 140px);
	}
	#navGlobal {
		display: flex;
		display: -webkit-flex;
		justify-content: space-between;
		width: 90%;
		max-width: 1170px;
		margin: 0 auto;
	}
	.navChild {
		display: flex;
		display: -webkit-flex;
		margin-left: 1em;
	}
	.navChild ul:not(:last-child) {
		margin-right: min(5vw, 60px);
	}
	.navChild li {
		margin: min(1.25vw, 15px) 0 !important;
	}

	/* ----------------------------------------------------
home(pc)
---------------------------------------------------- */
	/*point*/
	table.schedule td br {
		display: none;
	}
	table.schedule th br.sp_br {
		display: none !important;
	}

	/* ----------------------------------------------------
localnavi(pc)
---------------------------------------------------- */
	#navLocal {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto 0;
	}
	#navLocal ul {
		text-align: center;
		font-size: 0;
	}
	#navLocal ul li {
		display: inline-block;
		margin: 0 min(0.4vw, 5px) min(0.4vw, 5px);
		font-size: min(1.66vw, 2rem);
		font-family: var(--ff-serif);
	}
	#navLocal ul li a {
		display: block;
		padding: min(0.6vw, 8px) min(2.5vw, 30px);
		background: var(--c-pink);
		min-width: min(15.8vw, 190px);
		border: 1px solid var(--c-pink);
		color: #fff;
		border-radius: 30vw;
	}
	#navLocal ul li a.current,
	#navLocal ul.first li a.parentsLink,
	#navLocal ul li a:hover {
		color: var(--c-pink);
		background: #fff;
		position: relative;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
	/* -----------------------------------------------------
home(sp)
------------------------------------------------------- */
	/* point */
	.pointWrap {
		padding: 14vw 0;
	}
	.pointWrap h2 {
		font-size: 6vw;
	}
	.pointWrap h2 span {
		font-size: 4vw;
	}
	.point {
		margin: 8vw auto 6vw;
		padding-bottom: 8vw;
	}
	.point h3 {
		font-size: 5vw;
		margin: 6vw 0 2vw;
	}

	table.schedule {
		display: block;
		width: auto !important;
		margin: 2vw 0 3vw;
		border-collapse: collapse;
	}
	table.schedule thead {
		display: block;
		float: left;
		width: 35%;
	}
	table.schedule tbody {
		display: block;
		width: 65%;
		float: left;
	}
	table.schedule th,
	table.schedule td {
		text-align: center;
		padding: 2vw 1vw;
		display: block;
		line-height: 1.6;
	}
	table.schedule th br {
		display: none;
	}
	table.schedule thead tr {
		display: block;
	}
	table.schedule tbody tr {
		width: 50%;
		display: block;
		float: left;
	}
	table.schedule th,
	table.schedule td {
		margin-top: -1px;
		margin-left: -1px;
	}
	table.schedule {
		zoom: 100%;
	}
	table.schedule:after {
		content: ".";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	table.schedule td br {
		display: block;
	}
	table.schedule th br {
		display: none;
	}
	table.schedule th br.sp_br {
		display: block !important;
	}

	/*-----------------------------*/
	/*スマホでも横にレイアウト変したい時：長期休診用*/
	table.schedule.schedule_y {
		display: table;
		width: 100% !important;
		margin: 1vw 0;
		border-collapse: collapse;
	}
	table.schedule.schedule_y thead {
		display: table-header-group;
		float: none;
		width: 100%;
	}
	table.schedule.schedule_y tbody {
		display: table-row-group;
		width: 100%;
		float: none;
	}
	table.schedule.schedule_y th,
	table.schedule.schedule_y td {
		text-align: center;
		padding: 0.6vw 0.2vw;
		display: table-cell;
		font-weight: normal;
	}
	table.schedule.schedule_y td br {
		display: block;
	}
	table.schedule.schedule_y th br {
		display: block !important;
	}
	table.schedule.schedule_y th br.sp_br {
		display: none !important;
	}
	table.schedule.schedule_y thead tr {
		display: table-row;
	}
	table.schedule.schedule_y tbody tr {
		width: 100%;
		display: table-row;
		float: none;
	}
	table.schedule.schedule_y tbody tr th {
		width: 2em;
		padding: 1px 2px;
	}
	table.schedule.schedule_y th,
	table.schedule.schedule_y td {
		margin-top: -1px;
		margin-left: -1px;
	}
	table.schedule.schedule_y {
		zoom: 100%;
	}
	table.schedule.schedule_y:after {
		content: ".";
		display: table;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	table.schedule.schedule_y {
		font-size: 3.2vw;
	}
	table.schedule.schedule_y th,
	table.schedule.schedule_y td {
		vertical-align: middle !important;
	}

	/* -----------------------------------------------------
 navLocal(sp)
------------------------------------------------------- */
	.col-reverse {
		display: flex;
		display: -webkit-flex;
		flex-direction: column-reverse;
	}
	#navLocal {
		background: var(--bg-pink);
		width: 100%;
	}
	#navLocal ul {
		margin: 0;
	}
	#navLocal ul li a {
		display: block;
		font-size: 4vw;
		padding: 3vw 4vw;
		border-bottom: 1px solid var(--c-pink-strong);
		color: var(--c-pink-strong);
		position: relative;
	}
	#navLocal ul li a::after {
		content: "";
		width: 2vw;
		height: 2vw;
		margin-top: -0.5vw;
		border-top: 1px solid var(--c-pink-strong);
		border-right: 1px solid var(--c-pink-strong);
		position: absolute;
		right: 4vw;
		top: 50%;
		transform: rotate(45deg);
	}
	#navLocal ul li a.current,
	#navLocal ul.first li a.parentsLink {
		background: var(--c-pink);
		color: #fff;
		font-weight: 600;
	}

	/* ----------------------------------------------------
underLayer(sp)
---------------------------------------------------- */
}
