@charset "UTF-8";

.main {
	overflow-x: hidden;
}

.recruithero {
	margin-bottom: 100px;
	padding-top: 135px;
}

.recruithero_img {
	position: relative;
	width: 90%;
	height: calc(92vh - 135px);
	margin: 0 auto;
	overflow: hidden;
	border-radius: 40px;
}

.recruithero_img > img {
	opacity: 0;
	transform: scale(1.1);
	width: 100%;
	height: 100%;
	animation: secondHeroAnime 2s forwards;
	object-fit: cover;

	object-position: right 40% bottom 0;
}

.recruithero_ttl {
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 12%;
	transform: translateY(-50%);
	min-width: 220px;
	max-width: 25%;
	max-height: 25vh;
	animation: secondTtlAnime 1s forwards;
	aspect-ratio: 229/169;

	filter: blur(20px);
}

.recruithero_ttl_en {
	width: 100%;
	margin-bottom: 50px;
	aspect-ratio: 229/169;
}

.recruithero_ttl_en > img {
	width: 100%;
	height: 100%;
	object-fit: contain;

	object-position: left;
}

.recruithero_ttl_jp {
	position: relative;
	font-size: 40px;
	line-height: 1;
}

.recruithero_ttl_jp::before {
	content: "";
	display: block;
	width: 70px;
	height: 1px;
	margin-bottom: 40px;
	background-color: var(--color-bg-main);
}

.intro {
	position: relative;
	z-index: 1;
	margin-bottom: 100px;
}

.intro_ttl {
	margin-bottom: 20px;
	font-size: 34px;
	line-height: 1.5;
}

.intro_cnt {
	width: 75%;
}

.message {
	position: relative;
	z-index: 0;
	margin-bottom: 100px;
}

.message::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 48%;
	transform: translateY(-50%);
	width: 600px;
	max-width: 60%;
	height: auto;
	background: url(/img/recruit/index/message-bg@2x.png) no-repeat center / contain;
	aspect-ratio: 1/1;
}

.message_wrap {
	display: flex;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}

.message_img {
	z-index: 1;
	width: 62%;
	overflow: hidden;
	border-radius: 40px;
}

.message_img > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.message_cnt {
	z-index: 2;
	width: 55%;
	margin-top: 150px;
	margin-left: -7%;
	padding: 50px;
	border-radius: 40px;
	background-color: #ffffff;
}

.message_cnt_name {
	width: fit-content;
	margin-left: auto;
}

.message_cnt_name .-name {
	margin-left: 1em;
	font-size: 20px;
}

.bnr {
	margin-bottom: 100px;
}

.bnr_list {
	display: flex;
	gap: 20px 40px;
}

.bnr_item {
	width: calc(50% - 20px);
	overflow: hidden;
	border-radius: 40px;
}

.bnr_item_wrap {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.bnr_item_wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: #0000005c;
	transition: background-color 0.5s;
}

.bnr_item_wrap:hover::before {
	background-color: #00000088;
}

.bnr_item_wrap > img {
	width: 100%;
	height: 100%;
	transition: transform 0.5s;
	object-fit: cover;
}

.bnr_item_wrap:hover > img {
	transform: scale(1.15);
}

.bnr_item_ttl {
	display: flex;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-size: 24px;
	line-height: 1.5;
	white-space: nowrap;
}

.bnr_item_ttl .-arrow {
	display: block;
	position: relative;
	width: 68px;
	height: 68px;
	margin-left: 10px;
	border: 1px solid #ffffff;
	border-radius: 40px;
}

.bnr_item_ttl .-arrow::before {
	content: "\e905";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "icomoon" !important;
}

/* common */
.contact {
	margin-bottom: 100px;
}

.cmnsec .contact {
	margin-bottom: 0;
}

.contact_wrap {
	padding: 60px 40px;
	border-radius: 40px;
	background-color: var(--color-bg-light);
}

.contact_hd {
	margin-bottom: 30px;
	text-align: center;
}

.contact_hd_ttl {
	margin-bottom: 20px;
	font-size: 24px;
	line-height: 1.5;
}

.contact_list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px 40px;
}

.contact_list_item {
	width: fit-content;
	max-width: calc(50% - 20px);
}

.contact_list_item.-tel {
	line-height: 1;
	text-align: center;
}

.contact_list_item_tel {
	display: block;
	margin-bottom: 10px;
	font-size: 42px;
}

/* single */
.singleintro_wrap {
	display: flex;
	gap: 30px 40px;
}

.singleintro_row {
	width: calc(50% - 20px);
}

.singleintro_row.-cnt {
	margin-top: 100px;
	padding-right: 20px;
}

.singleintro_ttl {
	margin-bottom: 20px;
	font-size: 34px;
	line-height: 1.5;
}

.singleintro_row.-img {
	overflow: hidden;
	border-radius: 40px;
	aspect-ratio: 560/656;
}

.singleintro_row.-img > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.voice_wrap {
	display: flex;
	gap: 30px 40px;
}

.voice_wrap.-brBtm {
	border-bottom: solid 1px #D0D0D0;
	padding-bottom: 110px;
    margin-bottom: 110px;
}

.voice_img {
	width: 260px;
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 260 / 324;
}

.voice_img > img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.voice_cnt {
	flex: 1;
}



.recruitment_item:not(:last-child) {
	margin-bottom: 50px;
}

.recruitment_item > dl {
	display: flex;
	background-color: #ffffff;
}

.recruitment_item > dl > dt,
.recruitment_item > dl > dd {
	padding: 20px 30px;
	border-top: 1px solid var(--color-key);
}

.recruitment_item > dl:last-child > dt,
.recruitment_item > dl:last-child > dd {
	border-bottom: 1px solid var(--color-key);
}

.recruitment_item > dl > dt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 240px;
	border-color: var(--color-bg-light);
	background-color: var(--color-bg-main);
	color: #ffffff;
}

.recruitment_item > dl > dd {
	flex: 1;
}

.hos_header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.hos_title {
    font-size: 22px;
    font-weight: normal;
    font-family: "Noto Serif Japanese", serif;
}

.hos_link {
    font-size: 14px;
    text-decoration: none;
    border-bottom: 1px solid #333;
    padding-bottom: 2px;
	position: relative;
    display: inline-flex;
    align-items: center;
	transition: all ease 0.3s;
}

.hos_link:hover {
	opacity: 0.5;
}

.hos_link::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    background: url("../img/recruit/doctor/icon-link_2602.svg") no-repeat center center;
    background-size: contain;
    vertical-align: middle;
}

.profile_cnt {
    margin-bottom: 50px;
}

.doc_name {
    font-size: 16px;
    font-weight: normal;
}

.doc_name b {
    font-size: 18px;
    font-weight: normal;
    margin-left: 8px;
}

.career {
    font-size: 14px;
}

.qa_section {
    margin-bottom: 50px;
}

.qa_item {
    margin-bottom: 45px;
}

.qa_item h3 {
    font-size: 20px;
    font-weight: normal;
    padding-bottom: 20px;
	font-family: "Noto Serif Japanese", serif;
}

.qa_item h3::after {
	content: "";
    display: block;
    width: 160px;
    height: 1px;
    background-color: #D0D0D0;
	margin-top: 20px;
}

.qa_item h3 span {
    color: #B39AA7;
    font-weight: normal;
    margin-right: 10px;
    font-family: "Noto Serif JP", serif;
}

.qa_item p {
    font-size: 15px;
    color: #555;
}

.voice_images {
    display: flex;
    gap: 30px;
    margin-top: 60px;
}

.img_box {
    flex: 1;
    overflow: hidden;
    border-radius: 20px;
}

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

@media screen and (max-width:1260px) {
}

@media screen and (max-width:768px) {
	.recruithero {
		margin-bottom: 60px;
		padding-top: 70px;
	}

	.recruithero_img {
		height: 55vh;
		border-radius: 20px;
	}

	.recruithero_ttl {
		min-width: 135px;
		max-width: 28%;
	}

	.recruithero_ttl_en {
		margin-bottom: 25px;
	}

	.recruithero_ttl_jp {
		font-size: 26px;
	}

	.recruithero_ttl_jp::before {
		margin-bottom: 20px;
	}

	.intro {
		margin-bottom: 60px;
	}

	.intro_ttl {
		font-size: 24px;
	}

	.intro_cnt {
		width: 100%;
	}

	.message {
		margin-bottom: 60px;
	}

	.message::before {
		top: 0;
		left: 52%;
		transform: translateY(-60%);
	}

	.message_wrap {
		flex-direction: column;
	}

	.message_img {
		width: 100%;
		border-radius: 20px;
	}

	.message_cnt {
		width: 100%;
		margin-top: 10px;
		margin-left: 0;
		padding: 30px 0;
		border-radius: 0;
	}

	.message_cnt_name {
		margin-top: 15px;
	}

	.bnr {
		margin-bottom: 60px;
	}

	.bnr_list {
		flex-direction: column;
	}

	.bnr_item {
		width: 100%;
		border-radius: 20px;
	}

	.bnr_item_ttl {
		font-size: 20px;
	}

	.contact {
		margin-bottom: 60px;
	}

	.contact_wrap {
		padding: 40px 30px;
		border-radius: 30px;
	}

	.contact_hd_ttl {
		margin-bottom: 15px;
		font-size: 20px;
	}

	.contact_hd_text {
		text-align: left;
	}

	.contact_list {
		flex-direction: column;
	}

	.contact_list_item {
		width: fit-content;
		max-width: 100%;
	}

	.contact_list_item_tel {
		margin-bottom: 5px;
		font-size: 35px;
	}

	/* single */
	.singleintro.cmnsec:first-of-type {
		padding-top: 10px;
	}

	.singleintro_wrap {
		flex-direction: column-reverse;
	}

	.singleintro_row {
		width: 100%;
	}

	.singleintro_row.-cnt {
		margin-top: 0;
		padding-right: 0;
	}

	.singleintro_ttl {
		margin-bottom: 20px;
		font-size: 24px;
	}

	.voice_wrap {
		flex-direction: column;
	}

	.voice_img {
		width: 100%;
	}

	.recruitment_item > dl {
		flex-direction: column;
	}

	.recruitment_item > dl > dt {
		width: 100%;
		padding: 6px 20px;
	}

	.recruitment_item > dl > dd {
		padding: 20px;
	}

	.voice_wrap.-brBtm {
		padding-bottom: 60px;
		margin-bottom: 60px;
	}

	.hos_header {
		display: flex;
		align-items: center;
		gap: 20px;
		margin-bottom: 10px;
	}

	.hos_title {
		font-size: 22px;
		font-weight: normal;
		font-family: "Noto Serif Japanese", serif;
	}

	.hos_link {
		font-size: 14px;
		text-decoration: none;
		border-bottom: 1px solid #333;
		padding-bottom: 2px;
		position: relative;
		display: inline-flex;
		align-items: center;
		transition: all ease 0.3s;
	}

	.hos_link:hover {
		opacity: 0.5;
	}

	.hos_link::after {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		margin-left: 6px;
		background: url("../img/recruit/doctor/icon-link_2602.svg") no-repeat center center;
		background-size: contain;
		vertical-align: middle;
	}

	.profile_cnt {
		margin-bottom: 30px;
	}

	.doc_name {
		font-size: 16px;
		font-weight: normal;
	}

	.doc_name b {
		font-size: 18px;
		font-weight: normal;
		margin-left: 8px;
	}

	.career {
		font-size: 14px;
	}

	.qa_section {
		margin-bottom: 0px;
	}

	.qa_item {
		margin-bottom: 30px;
	}

	.qa_item h3 {
		font-size: 18px;
		padding-bottom: 20px;
	}

	.qa_item h3::after {
		margin-top: 10px;
	}

	.qa_item h3 span {
		color: #B39AA7;
		font-weight: normal;
		margin-right: 10px;
		font-family: "Noto Serif JP", serif;
	}

	.qa_item p {
		font-size: 15px;
		color: #555;
	}

	.voice_images {
		gap: 20px;
		flex-wrap: wrap;
	}

	.img_box {
		flex: unset;
		overflow: hidden;
		border-radius: 20px;
		width: 100%;
	}

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