/*===============================================================================
セラピスト一覧ページ
================================================================================*/
.arc-cast__head{
	margin-bottom: var(--g-sec--md);
}



/*===============================================================================
セラピスト：ループ
================================================================================*/
/*===============================
* レイアウト
* =================================*/
.castList {
	--count: 2;
	--gap: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 600px) {
	.castList {
		--count: 3;
	}
}
/*===============================
* 各セラピスト
* =================================*/
.castList__item {
	position: relative;
	display: block;
	width: calc((100% - var(--gap) * (var(--count) - 1)) / var(--count));
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.castList__link{
	position: relative;
	display: flex;
	align-items: flex-end;
}

/*===============================
* 各セラピスト：写真
* =================================*/
.castList__image {
	display: block;
	transition: var(--ani-t--normal) ease-out;
}
.castList__image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	object-position: 50% 50%;
}
.castList__link:is(:hover, :focus) .castList__image{
	transform: scale(1.05);
}

/*===============================
* 各セラピスト：情報
* =================================*/
.castList__data {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 2;
	content: "";
	width: 100%;
	padding: .5rem 1rem;
	background: linear-gradient(91.11deg, rgba(34, 32, 30, 0.9) 0%, rgba(104, 91, 78, 0.9) 50.48%, rgba(34, 32, 30, 0.9) 100%);
	backdrop-filter: blur(4px);
}
.castList__data:is(:hover, :focus) {
	text-decoration: none;
}

.cast__name,
.cast__size,
.castList__scheduleNow,
.castList__nextSchedule {
	display: block;
	text-align: center;
}

.castList__data-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 .5rem;
	max-width: fit-content;
	margin-inline: auto;
	margin-bottom: .5rem;
	padding-bottom: .5rem;
	border-bottom: 1px dotted var(--c-light);
	color: var(--c-light);
}

.cast__name {
	font-family: var(--ff-m);
	font-weight: var(--fw-lg);
}
.cast__name span{
	font-size: 1.25rem;
}

.cast__size {
	display: flex;
	gap: .5em;
	font-size: .75rem;
}


.castList__data-foot{
	font-weight: var(--fw-lg);
	color: var(--c-main);
}
/* 本日出勤 */
.castList__scheduleNow {
	font-size: clamp(0.75rem, 0.571rem + 0.48vw, 1rem);
}

/* 次回出勤 */
.castList__nextSchedule {
	font-size: .75rem;
}

/*===============================
* 新人
* =================================*/
.castList__new{
	position: absolute;
	top: .75rem;
	left: .75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: .5rem .75rem;
	background: var(--c-gradient--btn);
	border-radius: var(--bd-r--xs);
	overflow: hidden;
	color: var(--c-light);
}
.castList__new img{
	width: 1rem;
}


/*===============================================================================
セラピスト：個人ページ
================================================================================*/
.single-cast__inner{
	max-width: 1036px;
	margin-inline: auto;
}
/*===============================
* サマリー
* =================================*/
.single-cast__summary {
	margin-bottom: var(--g-sec--md);
}


/*===============================
* カラム
* =================================*/
.single-cast__flex{
	--count: 1;
	--gap: var(--g-sec--sm);
	--media-width: 100%;
	--body-width: calc( 200% - var(--media-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 768px){
	.single-cast__flex{
		--media-width: 83%;
		--count: 2;
	}
}
.single-cast__gallery{
	width: calc( ( var(--media-width) - var(--gap) * (var(--count) - 1) ) / var(--count) ); 
}
.single-cast__detail{
	width: calc( ( var(--body-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}

/*===============================
* ギャラリー
* =================================*/
.single-cast-gallery .swiper-wrapper{
	align-items: center;
	margin-bottom: 1rem;
}
/* メイン画像 */
.single-cast-gallery__main img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	object-position: 50% 50%;
}

/* サムネ画像 */
.single-cast-gallery__thumbnail {
	max-width: 528px;
	margin-bottom: var(--g-sec--xs);
}
.single-cast-gallery__thumbnail .swiper-slide{
	margin-bottom: 0;
}
.single-cast-gallery__thumbnail .swiper-slide-thumb-active{
	border: 3px solid var(--c-act01);
}
.single-cast-gallery__thumbnail img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	object-position: 50% 50%;
}

/* SNS */
.single-cast-gallery__x{
	position: absolute;
	bottom: 1.75rem;
	right: .75rem;
	z-index: 1;
	width: 3rem;
	height: 3rem;
	transition: var(--ani-t--normal) ease-out;
}
.single-cast-gallery__x:is(:hover, :focus){
	opacity: .7;
}

/* ボタン */
.single-cast-gallery__btns{
	text-align: center;
}
.single-cast-gallery__btn:not(:last-of-type){
	margin-bottom: 1rem;
}



/*===============================
* セラピストの情報詳細：プロフィール
* =================================*/
.single-cast-profile{
	margin-bottom: var(--g-sec--xs);
	padding: 2rem;
	border: 1px solid var(--c-brown--light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.single-cast-profile__head{
	margin-bottom: 1.5rem;
}
.single-cast-profile__title{
	display: flex;
	align-items: center;
	gap: .5em;
	margin: unset;
	padding: unset;
	border-top: unset;
	border-bottom: unset;
	font-family: var(--ff-m);
	font-size: 1.75rem;
	color: var(--c-main);
}
.single-cast-profile__title::after{
	content: none;
}
.single-cast-profile__icon{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.75em;
	aspect-ratio: 1;
	background: var(--c-brown--light);
	border-radius: 50%;
	overflow: hidden;
}
.single-cast-profile__icon img{
	width: 1em;
}
.single-cast-profile__list{
	--count: 1;
	--gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 600px){
	.single-cast-profile__list{
		--count: 2;
	}
}
.single-cast-profile__item{
	display: flex;
	justify-content: space-between;
	gap: 0 .5rem;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: .5rem 1rem;
	background: var(--c-brown--dark);
	border-radius: var(--bd-r--xs);
	overflow: hidden;
}
.single-cast-profile__item span:nth-of-type(1){
	color: var(--c-main--lihgt);
}
.single-cast-profile__item span:nth-of-type(2){
	font-size: 1.25rem;
	color: var(--c-main);
}


/*===============================
* セラピストの情報詳細：スケジュール
* =================================*/
.single-cast-schedule{
	padding: 2rem;
	border: 1px solid var(--c-brown--light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.single-cast-schedule__head{
	margin-bottom: 1.5rem;
}
.single-cast-schedule__title{
	display: flex;
	align-items: center;
	gap: .5em;
	margin: unset;
	padding: unset;
	border-top: unset;
	border-bottom: unset;
	font-family: var(--ff-m);
	font-size: 1.75rem;
	color: var(--c-main);
}
.single-cast-schedule__title::after{
	content: none;
}
.single-cast-schedule__icon{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.75em;
	aspect-ratio: 1;
	background: var(--c-brown--light);
	border-radius: 50%;
	overflow: hidden;
}
.single-cast-schedule__icon img{
	width: 1em;
}

/* カレンダー */
.schedule-calendar{
	margin-bottom: 1.5rem;
}
.schedule-calendar__day{
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .5rem 1rem;
	background: var(--c-brown);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.schedule-calendar__day:nth-of-type(even){
	background: var(--c-brown--dark);
}
.schedule-calendar__day:not(:last-of-type){
	margin-bottom: 1rem;
}
.schedule-calendar__time{
	font-size: 1.25rem;
	color: var(--c-main);
}