@charset "UTF-8";
/* CSS Document */
/*=========================================== 
スマホ向けのレイアウトの指定：～768px 
===========================================*/
@media only screen and (min-width: 0px) {
	.mv {
		background: url(../images/news_mv.jpg) no-repeat top center;
		background-size: cover;
	}

	.staff-list-page {
		padding: 40px 0 90px;
		background-image: url(../images/bg_staff.jpg);
		background-size: 600px auto;
		background-repeat: repeat;
	}

	.staff-list-page * {
		box-sizing: border-box;
	}

	.inner {
		width: calc(100% - 40px);
		max-width: 940px;
		margin: 0 auto;
	}

	ul.staff-list {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
		margin: 0 auto;
	}

	figure.staff_thumb {
		position: relative;
		width: 59.73vw;
		max-width: 224px;
		padding: 30px 24px;
		aspect-ratio: 3/4;
	}

	figure.staff_thumb::after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}

	li.staff_item:nth-of-type(2n+1) figure.staff_thumb::after {
		background-image: url(../images/img_staff_frame01.png);
	}

	li.staff_item:nth-of-type(2n+2) figure.staff_thumb::after {
		background-image: url(../images/img_staff_frame02.png);
	}

	li.staff_item {
		width: fit-content;
	}

	li.staff_item a {
		display: block;
		height: 100%;
		color: #000;
	}

	li.staff_item a * {
		pointer-events: none;
	}

	.staff_page figure.staff_img {
		position: relative;
		border: 2px solid #b2a652;
		aspect-ratio: 16 / 9;
	}

	figure.staff_img::after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background-image: url(../images/img_staff_frame03.svg), url(../images/img_staff_frame04.svg), url(../images/img_staff_frame05.svg), url(../images/img_staff_frame06.svg);
		background-repeat: no-repeat;
		background-size: 32px auto;
		background-position: top 4px left 4px, top 4px right 4px, bottom 4px right 4px, bottom 4px left 4px;
	}

	.staff_page figure.staff_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	figcaption.work_ruby {
		position: absolute;
		font-family: 'Satisfy', cursive;
		line-height: 1.5;
		text-transform: capitalize;
		word-break: auto-phrase;
	}

	.staff_page figure.staff_img figcaption.work_ruby {
		right: 5.71%;
		bottom: 7.61%;
		text-align: right;
		font-size: 16px;
		filter: drop-shadow(0 0 2px white);
	}

	.staff_item figure.staff_thumb figcaption.work_ruby {
		top: 0;
		left: 100%;
		max-height: 230px;
		font-size: 30px;
		writing-mode: vertical-rl;
	}

	figure.staff_thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.staff_item .staff_wrap {
		position: relative;
		display: flex;
		flex-direction: column;
		max-width: 300px;
		margin-top: -65px;
		margin-left: 30px;
		padding: 12px 16px;
		background: rgba(255, 255, 255, .85);
	}

	.staff_page .staff_wrap {
		position: relative;
		margin-top: 20px;
		z-index: 1;
	}

	.staff_page .staff_wrap::after {
		position: absolute;
		bottom: 0;
		right: 0;
		display: block;
		content: "";
		width: 80px;
		height: 75px;
		background-image: url(../images/common_logo.png);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		z-index: -1;
	}

	.staff_wrap * {
		font-family: serif;
	}

	p.work_name {
		position: relative;
		font-size: 14px;
		padding-left: 16px;
	}

	p.work_name::before {
		position: absolute;
		top: 14px;
		left: 0;
		display: block;
		content: "";
		width: 14px;
		height: 14px;
		background-image: url(../images/icon_staff.svg);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		transform: translateY(-100%);
	}

	p.staff_name {
		margin-top: 8px;
		font-size: 24px;
	}

	p.staff_ruby {
		font-size: 14px;
		color: #919191;
	}

	.staff_page p.staff_ruby {
		margin-top: 6px;
	}

	.staff_item p.staff_ruby {
		text-align: right;
	}

	p.staff_message_top {
		margin-top: 10px;
		font-family: "Hiragino Sans GB";
		font-weight: normal;
		font-size: 12px;
		line-height: 20px;
		text-align: justify;
	}

	.staff_page .staff_cont {
		position: relative;
		margin-top: 20px;
		z-index: 1;
	}

	.staff_page .staff_cont::after {
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		content: "";
		width: 162px;
		height: 138px;
		background-image: url(../images/img_staff01_sp.png);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		z-index: -1;
	}

	.staff_page p.staff_title {
		font-family: serif;
		font-size: 20px;
		letter-spacing: 0.08em;
		line-height: 22px;
	}

	.staff_page p.staff_message {
		position: relative;
		margin-top: 20px;
		font-size: 14px;
		line-height: 24px;
		text-align: justify;
		z-index: 1;
	}

	.hr_gallery {
		width: 306px;
		height: 20px;
		margin: 20px auto;
		border: none;
		background-image: url(../images/hr_gallery.png);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.staff_gallery {
		position: relative;
		display: flex;
		gap: 14px;
		flex-wrap: wrap;
		z-index: 1;
	}

	.staff_gallery .gallery_item {
		flex-basis: calc((100% - 14px) / 2);
		border: 1px solid #b2a652;
		aspect-ratio: 1;
	}

	.staff_gallery .gallery_item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	p.more {
		width: fit-content;
		padding: 14px 20px;
		margin-left: auto;
		margin-right: 16px;
		font-size: 16px;
		font-family: serif;
		color: #fff;
		background: rgb(139, 199, 207);
	}

	p.more::before {
		content: ">";
	}
}

/*=========================================== 
スマホ向けのレイアウトの指定：480px〜
===========================================*/
@media only screen and (min-width: 481px) {}

/*=========================================== 
スマホ向けのレイアウトの指定：〜768px
===========================================*/
@media only screen and (max-width: 768px) {}

/*=========================================== 
PC向けのレイアウトの指定：768px〜
===========================================*/
@media only screen and (min-width: 769px) {
	ul.staff-list {
		gap: 30px 3.19%;
	}

	li.staff_item {
		flex: 1;
		min-width: 274px;
		flex-basis: calc((100% - 6.38%) / 3);
		max-width: 294px;
	}

	.staff-prof-wrap {
		display: flex;
		flex-direction: row-reverse;
	}

	.staff_page .staff_wrap {
		flex: 1;
		display: flex;
		flex-direction: column;
		padding: 0 30px;
	}

	.staff_page figure.staff_img {
		flex: 0;
		flex-basis: 74.47%;
		border-width: 4px;
	}

	.staff_page .staff_wrap::after {
		order: -1;
		position: static;
		width: 176px;
		height: 174px;
		margin-bottom: 40px;
	}

	figure.staff_img::after {
		background-size: 68px auto;
	}

	.staff_page figure.staff_img figcaption.work_ruby {
		font-size: 30px;
	}

	.staff_page p.staff_name {
		margin-top: 20px;
		font-size: 30px;
	}

	.staff_page .staff_cont {
		min-height: 200px;
		margin-top: 60px;
		padding-left: 45px;
		padding-right: 28.4%;
	}

	.staff_page p.staff_message {
		position: static;
		margin-top: 30px;
	}

	.staff_page p.staff_title {
		font-size: 24px;
	}

	.staff_page .staff_cont::after {
		width: 29.57%;
		height: 234px;
		background-image: url(../images/img_staff01_pc.png);
		background-size: contain;
	}

	.hr_gallery {
		margin: 30px auto;
	}

	.staff_gallery {
		gap: 20px;
		max-width: 838px;
		margin: 0 auto;
	}

	.staff_gallery .gallery_item {
		flex-basis: calc((100% - 40px) / 3);
		border-width: 2px;
	}
}

/*=========================================== 
PC向けのレイアウトの指定：960px〜
===========================================*/
@media only screen and (min-width: 961px) {}