@charset 'UTF-8';

/*----------------------------------------

	- profile
	- section
		+ schedule

-----------------------------------------*/

/*----------------------------------------
	profile (自己紹介)
-----------------------------------------*/

.profile {
	display: grid;
	grid-template-columns: calc(822px + ((100% - 1280px) / 2)) 1fr;
	overflow: hidden;
	position: relative;
	background: var(--color_flashwhite);
}

/* 写真 */
.img_box {
	position: relative;
	max-width: 1280px;
	width: 100%;
	max-height: 550px;
	height: 43vw;
	margin: auto 0 auto auto;
}

.img_box::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-position: top 0 right 28px;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.img_box.member01::before {
	background-image: url(../img/recruit_01_member_p01.webp);
}

.img_box.member02::before {
	background-image: url(../img/recruit_02_member_p01.webp);
}

.img_box.member03::before {
	background-image: url(../img/recruit_03_member_p01.webp);
}

.img_box.member04::before {
	background-image: url(../img/recruit_04_member_p01.webp);
}

.img_box.member05::before {
	background-image: url(../img/recruit_05_member_p01.webp);
}

/* 自己紹介 */
.profile>div:nth-of-type(2) {
	display: flex;
	align-items: flex-end;
	padding-bottom: 60px;
}

.profile .mincho {
	display: flex;
	align-items: center;
	position: absolute;
	top: 70px;
	right: calc((100% - 1280px) / 2);
	max-width: 780px;
	width: fit-content;
	height: fit-content;
	/*padding-left: 30px;*/
	padding: 15px 30px 20px;
	background: var(--color_white);
	color: var(--color_basicblue);
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.profile .member04+div .mincho {
	padding-inline: 30px 10px;
}

.profile .member05+div .mincho {
	padding-inline-end: 162px;
}

.profile ul {
	position: relative;
	margin-left: 67px;
	padding-top: 20px;
}

.profile ul::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2.34vw;
	height: 0.23vw;
	max-width: 30px;
	max-height: 3px;
	background: var(--color_pointgold);
}

.profile li:first-of-type {
	letter-spacing: 0.04em;
}

.profile li:nth-of-type(2) {
	letter-spacing: 0.04em;
}

.profile li:nth-last-of-type(2) {
	margin-top: 21px;
	color: var(--color_basicblue);
	letter-spacing: 0.04em;
}

.profile li:last-of-type {
	margin-top: 31px;
	letter-spacing: 0.04em;
}

/* 中間サイズ */
@media screen and (min-width: 769px) and (max-width: 1280px) {

	.profile {
		display: grid;
		grid-template-columns: 62vw 1fr;
	}

	.img_box::before {
		background-position: top 0 right 0px;
	}

	.profile>div:nth-of-type(2) {
		padding-bottom: 4.68vw;
	}

	.profile .mincho {
		top: 5.5vw;
		right: calc((100% - 100vw) / 2);
		height: 7.03vw;
		padding-left: 2.34vw;
	}

	.profile .member04+div .mincho {
		padding-inline: 2.34vw 0.781vw;
	}

	.profile .member05+div .mincho {
		padding-inline-end: 12.656vw
	}

	.profile ul {
		margin-left: 7.5vw;
		padding-top: 1.56vw;
	}

	.profile .font24_16 {
		font-size: 1.87vw;
	}

	.profile .font34_28 {
		font-size: 2.65vw;
	}

	.profile .font36_24 {
		font-size: 2.81vw;
	}

	.profile .font41_28 {
		font-size: 3.203vw;
	}

	.profile .font44_28 {
		font-size: 3.43vw;
	}

	.profile li:nth-last-of-type(2) {
		margin-top: 1.64vw;
	}

	.profile li:last-of-type {
		margin-top: 2.42vw;
	}
}

@media screen and (max-width: 768px) {
	.profile {
		grid-template-columns: 1fr;
	}

	/* 写真 */
	.img_box {
		max-width: initial;
		max-height: initial;
		height: 70vw;
	}

	.img_box::before {
		background-position: top 0 right 0;
	}

	/* 自己紹介 */
	.profile>div:nth-of-type(2) {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		width: 89.744vw;
		min-height: 70vw;
		margin: auto;
		padding: 6.66vw 0;
	}

	.profile .mincho {
		position: initial;
		width: 100%;
		height: initial;
		padding: 0;
		background: initial;
		flex-direction: column;
		align-items: flex-start;
	}

	.profile .member04+div .mincho,
	.profile .member05+div .mincho {
		height: initial;
		padding-inline: 0;
	}

	.profile .mincho span {
		display: block;
	}

	.profile ul {
		width: 100%;
		margin: 5.21vw 0 0;
		padding-top: 4.48vw;
	}

	.profile ul::before {
		width: 7.69vw;
		height: 0.76vw;
		max-width: initial;
		max-height: initial;
	}

	.profile li:nth-of-type(3) {
		margin-top: 1.79vw;
	}

	.profile li:nth-of-type(4) {
		margin-top: 3.58vw;
	}
}

/*----------------------------------------
	紹介文
-----------------------------------------*/

section:first-of-type {
	margin-top: 80px;
}

section:not(:first-of-type) {
	margin-top: 100px;
}

section .heading_03 {
	margin-bottom: 50px;
}

.column2 .heading_03 {
	margin-block: 0 auto;
	margin-inline: 0 50px;
}

figure:not(.img-large) {
	max-width: 420px;
}

.img-large {
	width: 71.97%;
	margin: 60px auto 0;
}

.column2 {
	display: grid;
	gap: 6.12%;
	grid-template-columns: auto auto;
}

.column2.half {
	grid-template-columns: 1fr 1fr;
	gap: 8%;
}

.column2:has(ul.dots) {
	grid-template-columns: auto 1fr;
}

.column2 ul.dots li {
	padding-left: 1em;
	text-indent: -1em;
}

.column2 ul li {
	line-height: 2;
}

.column2 ul.dots li::before {
	content: '・';
}

.column1 p,
.column2 p {
	letter-spacing: 0.03em;
}

/* スケジュール */
.schedule {
	margin-top: 150px;
	background: var(--color_flashwhite);
}

.schedule dl {
	display: grid;
	grid-template-columns: 250px 1fr;
	height: 100%;
}

.schedule dt {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color_pointgold);
}

.schedule dt p {
	display: flex;
	flex-direction: column;
	gap: 25px;
	align-items: center;
	color: var(--color_white);
	letter-spacing: 0.04em;
}

.schedule dt p::before {
	content: '';
	width: 40px;
	height: 40px;
	background-image: url(../../img/c_ic_clock_white.svg);
	background-position: center;
	background-size: 40px 40px;
	background-repeat: no-repeat;
}

.schedule dd {
	background: var(--color_white);
}

.schedule ul {
	width: 86.849%;
	margin: auto;
}

.schedule li {
	display: flex;
	padding: 20px 0 17px;
	border-bottom: 1px solid var(--color_silver);
}

.schedule li:first-of-type {
	padding: 20px 0 21px;
	border-top: 1px solid var(--color_silver);
}

/* 時間 */
.schedule li>span {
	display: block;
	min-width: 120px;
	width: 120px;
	color: var(--color_basicblue);
	letter-spacing: 0.04em;
}

.schedule li>div {
	display: flex;
	flex-direction: column;
}

.schedule li p {
	letter-spacing: 0.04em;
}

.schedule+div {
	margin-top: 150px;
}

.schedule+div>.column2 {
	gap: 7.9%;
}

.schedule+div>.column2+div {
	margin-top: 100px;
}

.column1 p+p,
.column2 p+p {
	margin-top: 27px;
}

.img-large+[class^="column"] {
	margin-top: 100px;
}

.gap {
	margin-top: 30px;
}

br.pc {
	display: block;
}

br.sp {
	display: none;
}

@media screen and (max-width: 768px) {
	br.pc {
		display: none;
	}

	br.sp {
		display: block;
	}

	section:first-of-type {
		margin-top: 12.3vw;
	}

	section:not(:first-of-type) {
		margin-top: 15vw;
	}

	section .heading_03 {
		margin-bottom: 7.69vw;
	}

	.column2 .heading_03 {
		margin-inline: 0 auto;
	}

	.column2,
	.column2.half {
		gap: 5.85vw;
		grid-template-columns: 1fr;
	}

	.column2:has(ul.dots) {
		grid-template-columns: 1fr;
	}

	.column1 p+p,
	.column2 p+p {
		margin-top: 5.42vw;
	}

	.gap {
		margin-top: 6.15vw;
	}

	figure:not(.img-large) {
		max-width: 100%;
	}

	.img-large {
		width: 100%;
		margin-top: 9.23vw;
	}

	/* スケジュール */
	.schedule {
		margin-top: 20.51vw;
	}

	.schedule dl {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.schedule dt {
		align-items: center;
		height: 16.41vw;
	}

	.schedule dt p {
		flex-direction: row;
		gap: 5vw;
		padding-left: 0.5vw;
	}

	.schedule dt p::before {
		width: 7.69vw;
		height: 7.69vw;
		background-size: 7.69vw 7.69vw;
	}

	.schedule dd {
		width: 89.744vw;
		margin: auto;
		padding: 7.69vw 0;
	}

	.schedule ul {
		width: 86%;
	}

	.schedule li {
		padding: 3.1vw 0;
	}

	.schedule li>span {
		min-width: 23.07vw;
		width: 23.07vw;
	}

	.schedule+div {
		margin-top: 15.38vw;
	}

	.schedule+div>.column2 {
		gap: 15vw;
	}

	.schedule+div>.column2+div {
		margin-top: 15vw;
	}
}
