@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_ico';
	src:
		url('../fonts/sns_ico.ttf?sij4de') format('truetype'),
		url('../fonts/sns_ico.woff?sij4de') format('woff'),
		url('../fonts/sns_ico.svg?sij4de#sns_ico') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	color: #000;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}

/** { will-change: transform,animation,position;}*/
html {
	scroll-behavior: smooth;
}
body {
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-size: min(3.2vw, 14px);
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	letter-spacing: 0.08em;
}

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

.anim {
	opacity: 0;
	transition: all .6s ease-out;
}
.anim.on {
	opacity: 1;
}

main {
    background-color: #fff;
}

section {
	padding: min(10vw, 80px) 0;
}

.contentWrap {
	max-width: 1240px;
	margin: 0 auto;
	padding-right: min(6vw, 60px);
	padding-left: min(6vw, 60px);
}

.viewMore a {
	display: block;
	margin: 0 auto;
	color: #000;
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(3.2vw, 14px);
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	width: fit-content;
	padding: min(5vw, 20px) min(14vw, 80px);
}
.viewMore a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: #000 solid 2px;
	transition: all 0.3s ease-out;
}


.btnHover {
	position: relative;
	display: block;
}
.btnHover > div {
	overflow: hidden;
    width: 100%;
    line-height: 1.2;
}
.btnHover span {
	display: inline-block;
    min-width: 0.5em;
}
.btnHover:hover span {
	animation-duration: 0.4s;
	animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	animation-delay: 0s;
	animation-iteration-count: forwards;
}
.btnHover > div:nth-of-type(2) {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.btnHover > div:nth-of-type(1) span {
	transform: translateY(0);
}
.btnHover > div:nth-of-type(2) span {
	transform: translateY(100%);
}
.btnHover:hover > div:nth-of-type(1) span {
	animation-name: btnHover1;
}
.btnHover:hover > div:nth-of-type(2) span {
	animation-name: btnHover2;
}
@keyframes btnHover1 {
	0% { transform: translateY(0);}
	100% { transform: translateY(-100%);}
}
@keyframes btnHover2 {
	0% { transform: translateY(100%);}
	100% { transform: translateY(0%);}
}


.iframeBox div {
	position: relative;
	padding-top: 56.25%;
}
.iframeBox div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 821px) {
	
	.is-sp { display: none !important;}
	
	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}
	.btnHover:hover {
		opacity: 1;
	}
	
	.viewMore a:hover::before {
		border: #000 solid 4px;
	}
}
@media screen and (max-width: 820px) {
	
	.is-pc { display: none !important;}
	
}

/* ////////////////////////////////////////////////////////////////////////////////

	Header

//////////////////////////////////////////////////////////////////////////////// */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
/*	transform: translateY(-100%);*/
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: min(7vw, 30px) min(5vw, 40px);
/*    mix-blend-mode: exclusion;*/
	transition: all 0.4s ease-out;
}
#home header {
	position: absolute;
	bottom: 0;
	top: inherit;
}
#lower header {
	background-color: rgba(255,255,255,1);
}

header.hdrFix {
	position: fixed !important;
	top: 0 !important;
	bottom: inherit !important;
	background-color: rgba(0,0,0,0.6) !important;
    mix-blend-mode: unset;
	backdrop-filter: blur(10px);
}
header h1 {
	line-height: 0;
	transition: all 0.4s ease-out;
}
#home header h1 {
	width: 46vw;
}
#lower header h1 {
	width: min(24vw, 320px);
	mix-blend-mode: exclusion;
}
header .header__nav {
	display: flex;
	align-items: center;
	gap: 0 min(2vw, 20px);
}
#lower header .header__nav {
	mix-blend-mode: exclusion;
}
header .header__nav li a {
	color: #fff;
	text-decoration: none;
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(1.2vw, 14px);
	font-weight: bold;
}



@media screen and (min-width: 821px) {
	#spNavi {
		display: none !important;
	}
	#menuButton {
		display: none !important;
	}
	#home header.hdrFix h1 {
		width: min(24vw, 320px);
	}
}
@media screen and (max-width: 820px) {
	
	header {
    	transform: translateY(0%);
/*		mix-blend-mode: exclusion;*/
	}
	#home header {
		position: fixed;
		top: 0;
		bottom: inherit;
	}
	
	#home header h1,
	#lower header h1 {
		width: 60vw;
	}
	header .header__nav {
		display: none;
		gap: 0 min(4vw, 20px);
		position: fixed;
		top: 0;
		left: 0;
	}
	
	#spNavi {
		position: fixed;
		top: 0;
		left: 0;
		display: none;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: min(5vw, 25px);
		background-color: rgba(255, 255, 255, 0.9);
    	backdrop-filter: blur(5px);
	}
	#spNavi li a {
		color: #000;
		text-decoration: none;
		font-family: Helvetica, Arial, "sans-serif";
		font-size: min(6.4vw, 30px);
		font-weight: bold;
    	letter-spacing: 0.14em;
	}
	.header__nav {
		position: fixed;
		width: 100vw;
		height: 100vh;
		height: 100svh;
		background-color: #fff;
		z-index: 4000;
	}
	
	#menuButton {
		display: block;
		width: min(12vw, 60px);
		height: min(12vw, 60px);
		position: fixed;
		top: min(4vw, 20px);
		right: min(4vw, 20px);
		z-index: 9999;
/*		mix-blend-mode: exclusion;*/
	}
	#lower #menuButton {
		mix-blend-mode: exclusion;
	}
	#menuButton span {
		display: block;
		background: #fff;
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		transition: all 0.4s;
	}
	#menuButton.active span {
		background: #000;
	}
	#lower #menuButton.active span {
		background: #fff;
	}

	#menuButton span:nth-child(1) { top: 14px;}
	#menuButton span:nth-child(2) { margin-top: -1px; top: 50%; width: 70%;}
	#menuButton span:nth-child(3) { bottom: 14px; width: 90%;}
	#menuButton.active span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}
	#menuButton.active span:nth-child(2) { opacity: 0;}
	#menuButton.active span:nth-child(3) {
		width: 100%;
		transform: translateY(-8px) rotate(-45deg);
	}
	
}

/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
	padding: min(10vw, 60px) min(6vw, 60px);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .ftrNavi {
	display: flex;
	gap: min(3vw, 15px) min(6vw, 30px);
}
footer .ftrNavi a {
	color: #000;
	text-decoration: none;
	font-family: Helvetica, Arial, "sans-serif";
	font-weight: bold;
	font-size: min(3vw, 12px);
	background: url("../images/ico_blank.svg") no-repeat right center;
	background-size: auto 70%;
    padding-right: min(4vw, 16px);
}
footer .copyright {
	font-size: min(2.8vw, 10px);
}


@media screen and (max-width: 820px) {
	
	footer {
    	align-items: flex-end;
	}
	footer .ftrNavi {
		flex-direction: column;
    	align-items: flex-start;
	}
	
	
}

/* ////////////////////////////////////////////////////////////////////////////////

	Top page

//////////////////////////////////////////////////////////////////////////////// */

#mainVisual {
	height: 100vh;
	height: 100svh;
    background-color: #fff;
}

#mainVisual .swiper-slide {
	position: relative;
    background-color: #fff;
}
#mainVisual .slider-img {
	width: 100vw;
	height: 100vh;
	height: 100svh;
	background-size: cover;
}

#mainVisual .swiper-slide .mvDetail {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	color: #fff;
	transform-origin: left bottom;
	transform: translateY(-100%) rotate(90deg);
/*	padding: min(7vw, 40px) min(14vw, 100px) min(7vw, 40px) min(8vw, 60px);*/
	padding: 5vh 7vh 5vh 4vh;
	font-family: Helvetica, Arial, "sans-serif";
/*	mix-blend-mode: exclusion;*/
	min-width: 45vh;
	box-sizing: border-box;
}

#mainVisual .swiper-slide .mvDetail::before {
	content: "";
	display: block;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 100%;
	transition: all 0.6s cubic-bezier(0.65, 0, 0.35, 1) 1s;
	z-index: 0;
}
#mainVisual .swiper-slide.swiper-slide-active .mvDetail::before {
	width: 100%;
}
#mainVisual .swiper-slide .mvDetail .name {
	font-weight: bold;
/*	font-size: min(3.8vw, 18px);*/
	font-size: 2.2vh;
	line-height: 1.8;
    letter-spacing: 0.1em;
	white-space: nowrap;
    position: relative;
    z-index: 1;
}
#mainVisual .swiper-slide .mvDetail .cat {
/*	font-size: min(3vw, 12px);*/
	font-size: 1.4vh;
	line-height: 1.8;
    letter-spacing: 0.16em;
	white-space: nowrap;
    position: relative;
    z-index: 1;
}
#mainVisual .swiper-slide .mvDetail .num {
	position: absolute;
	top: 50%;
	right: min(4vw, 20px);
	transform: translate(-50%, -50%) rotate(-90deg);
    z-index: 1;
}

#mainVisual {
	position: relative;
}
#mainVisual .swiper-next,
#mainVisual .swiper-prev {
	cursor: pointer;
	position: absolute;
	top: 50%;
	font-size: min(3.2vw, 14px);
	letter-spacing: 0.1em;
	mix-blend-mode: exclusion;
	z-index: 10;
    color: #fff;
}
#mainVisual .swiper-next {
	right: min(2vw, 10px);
	transform: rotate(90deg);
}
#mainVisual .swiper-prev {
	left: min(2vw, 10px);
	transform: rotate(-90deg);
}


.homeHeading,
#lower .homeHeading {
	font-family: Helvetica, Arial, "sans-serif";
	font-weight: bold;
	font-size: min(4.8vw, 20px);
	margin-bottom: min(8vw, 40px);
	text-align: left;
}
.homeTopicsList {
	display: flex;
	flex-wrap: wrap;
	gap: min(8vw, 50px) 5%;
	margin-bottom: min(8vw, 60px);
}
.homeTopicsList.archivePage {
    gap: min(8vw, 50px) 2.8%;
}
.homeTopicsList li {
	width: 30%;
}
.homeTopicsList.archivePage li {
    width: 22.9%;
}
.homeTopicsList li a {
	color: #000;
	text-decoration: none;
}
.homeTopicsList li .topicsThumb {
	position: relative;
	padding-top: 126.3%;
	margin-bottom: min(3vw, 18px);
	overflow: hidden;
}
.homeTopicsList li .topicsThumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.homeTopicsList li .topicsName {
	color: #515151;
	font-size: min(2.8vw, 12px);
	font-weight: bold;
    line-height: 1.6;
	margin-bottom: min(2vw, 10px);
}
.homeTopicsList li .topicsTtl {
	font-size: min(3.6vw, 15px);
	margin-bottom: min(1vw, 5px);
}
.homeTopicsList.archivePage li .topicsTtl {
	font-size: min(3.2vw, 15px);
    margin-bottom: min(1vw, 5px);
    line-height: 1.6;
}
.homeTopicsList li .topicsDate {
	color: #515151;
	font-size: min(3vw, 12px);
}

#talent {
	background-color: #f5f5f5;
}

.talentSlide {
	margin-bottom: min(8vw, 60px);
	overflow: hidden;
}
.talentSlide .swiper-wrapper {
	transition-timing-function:linear;
}
.talentSlide li {
	padding: 0 1.2vw;
}
.talentSlide li a {
	color: #000;
	text-decoration: none;
}
.talentSlide li .thumb {
	padding-top: 100%;
	line-height: 0;
	margin-bottom: min(1vw, 5px);
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.talentSlide li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}


@media screen and (min-width: 821px) {
	
	.homeTopicsList li a:hover,
	.talentSlide li a:hover {
		opacity: 1;
	}
	.homeTopicsList li a .topicsThumb img,
	.talentSlide li a .thumb img {
		transition: all 0.6s ease-out;
	}
	.homeTopicsList li a:hover .topicsThumb img,
	.talentSlide li a:hover .thumb img {
		transform: scale(1.08);
	}
	
}
@media screen and (max-width: 820px) {
	
	#mainVisual .slider-img {
/*		width: 92vw;*/ 
		height: 85vh;
		height: 85svh;
		margin-left: auto;
		margin-bottom: 15vh;
		margin-bottom: 15svh;
		position: relative;
		z-index: 2;
	}
	#mainVisual .swiper-slide .mvDetail {
		top: inherit;
		bottom: 0;
		left: 0;
		transform: translate(0) rotate(0);
    	width: 100%;
		box-sizing: border-box;
		padding: min(8vw, 40px) min(14vw, 100px) min(8vw, 40px) min(8vw, 60px);
		z-index: 1;
	}
	#mainVisual .swiper-slide .mvDetail .name {
		font-size: min(3.8vw, 18px);
	}
	#mainVisual .swiper-slide .mvDetail .cat {
		font-size: min(3vw, 12px);
	}
	#mainVisual .swiper-slide .mvDetail .num {
    	transform: translate(-50%, -50%) rotate(0deg);
    	top: 52%;
    	font-size: min(3.6vw, 14px);
	}
	
	#mainVisual .swiper-next,
	#mainVisual .swiper-prev {
		transform-origin: center center;
    	top: 45%;
	}
	#mainVisual .swiper-next {
		right: min(4vw, 20px);
    	transform: translate(50%, -50%) rotate(90deg);
	}
	#mainVisual .swiper-prev {
    	left: min(4vw, 20px);
    	transform: translate(-50%, -50%) rotate(-90deg);
	}
	
	
	.homeHeading {
		font-size: min(5.6vw, 28px);
		margin-bottom: min(4vw, 30px);
	}
	
	.homeTopicsList.archivePage {
		gap: min(8vw, 50px) 4%;
	}
	.homeTopicsList li {
		width: 100%;
	}
	.homeTopicsList.archivePage li {
		width: 48%;
	}
	.homeTopicsList li:nth-child(n+4) {
		display: none;
	}
	#lower .homeTopicsList li:nth-child(n+4) {
    	display: block;
	}
	
	.talentSlide li {
		padding: 0 3vw;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Lower

//////////////////////////////////////////////////////////////////////////////// */

#lower main {
	padding-top: min(28vw, 140px);
	padding-bottom: min(28vw, 140px);
}

#lower main h2 {
	font-family: Helvetica, Arial, "sans-serif";
    font-weight: bold;
    font-size: min(6vw, 36px);
	text-align: center;
    margin-bottom: min(8vw, 60px);
}

.pagination {
	margin-top: min(8vw, 60px);
}
.screen-reader-text {
	display: none;
}
.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(2vw, 14px);
}
.page-numbers {
    width: min(9vw, 50px);
    height: min(9vw, 50px);
	border: 1px solid #000;
	border-radius: 50%;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
    font-size: min(2.8vw, 14px);
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0;
    padding-top: 0.1em;
}
.page-numbers.current {
	background-color: #000;
	color: #fff;
}
.nav-links a.next,
.nav-links a.prev {
	display: none !important;
}


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

}

/* ////////////////////////////////////////////////////////////////////////////////

	About

//////////////////////////////////////////////////////////////////////////////// */

.aboutSlideWrap {
	overflow: hidden;
}
.aboutSlide {
	display: flex;
	width: fit-content;
}
.aboutSlide.ltr {
	animation: aboutSlide1 20s linear 0s infinite;
	transform: translateX(-50%);
}
.aboutSlide.rtl {
	animation: aboutSlide2 20s linear 0s infinite;
}
@keyframes aboutSlide1 {
	0% { transform: translateX(-50%);}
	100% { transform: translateX(0%);}
}
@keyframes aboutSlide2 {
	0% { transform: translateX(0);}
	100% { transform: translateX(-50%);}
}
.aboutSlide li {
	width: 24vw;
	height: 24vw;
	position: relative;
	overflow: hidden;
}
.aboutSlide li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.aboutTxt {
	padding-top: min(10vw, 80px);
	text-align: center;
	font-size: min(3.4vw, 16px);
	line-height: 2.8;
}


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

	.aboutSlide li {
		width: 40vw;
		height: 40vw;
		position: relative;
		overflow: hidden;
	}
	
	.aboutTxt {
		line-height: 2.4;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Talent

//////////////////////////////////////////////////////////////////////////////// */
.talentTab {
	display: flex;
	justify-content: center;
	margin: 0 auto min(10vw, 80px);
}
.talentTab li {
	width: calc(100% / 6);
	border: #000 solid 1px;
}
.talentTab li + li {
	border-left: none;
}
.talentTab li a {
	display: block;
	color: #000;
	text-align: center;
	text-decoration: none;
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(3.2vw, 15px);
	font-weight: bold;
	letter-spacing: 0.14em;
	padding: min(3.5vw, 18px);
}
.talentTab li.current a {
	color: #fff;
	background-color: #000;
}


.talentList {
	display: flex;
	flex-wrap: wrap;
    gap: min(7vw, 50px) 2%;
}
.talentList li {
    width: 23.5%;
}
.talentList li a {
	color: #000;
	text-decoration: none;
}
.talentList li .thumb {
	position: relative;
	padding-top: 100%;
	margin-bottom: min(2vw, 10px);
	overflow: hidden;
}
.talentList li .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	position: absolute;
	top: 0;
	left: 0;
}

.talentList li .name {
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(3.2vw, 14px);
	font-weight: bold;
}


@media screen and (min-width: 821px) {
	
	.talentList li a:hover {
		opacity: 1;
	}
	
	.talentList li a .thumb img {
		transition: all 0.6s ease-out;
	}
	.talentList li a:hover .thumb img {
		transform: scale(1.08);
	}
}
@media screen and (max-width: 820px) {


	.talentTab {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: min(2vw, 10px) 2%;
	}
	.talentTab li {
		width: calc(96% / 3);
		border: #000 solid 1px;
	}
	.talentTab li + li {
		border-left: #000 solid 1px;
	}
	
	
	.talentList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: min(6vw, 50px) 0;
	}
	.talentList li {
		width: 47%;
	}
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	Talent Detail

//////////////////////////////////////////////////////////////////////////////// */

.talentHead {
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
	max-width: 1480px;
	margin: 0 auto min(10vw, 80px);
}
.talentPic {
	width: 45%;
	overflow: hidden;
	position: relative;
    padding-bottom: min(8vw, 40px);
}
.talentPic .swiper-pagination {
	text-align: left;
	padding: 0 min(4vw, 20px);
}
.talentPic .swiper-pagination .swiper-pagination-bullet {
	border-radius: 0;
	background-color: #cccccc;
    opacity: 1;
}
.talentPic .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #000;
}

.talentProfile {
	width: 41%;
    margin-right: 7%;
}
.talentProfile .catSns {
	display: flex;
	justify-content: space-between;
	margin-bottom: min(4vw, 20px);
}
.talentProfile .catSns .talentCat {
	font-size: min(3vw, 12px);
	color: #555555;
}
.talentProfile .catSns .talentSns {
	display: flex;
	gap: min(4vw, 20px);
}
.talentProfile .catSns .talentSns a {
	color: #000;
	text-decoration: none;
	font-size: min(4.8vw, 20px);
}
.talentProfile h3 {
	font-size: min(6.4vw, 28px);
	line-height: 1.6;
	margin-bottom: min(6vw, 60px);
}
.talentProfile h3 span {
	display: block;
	font-size: 0.4em;
	text-indent: 0.05em;
}
.talentProfile dl {
	display: flex;
	flex-wrap: wrap;
	gap: min(2vw, 10px) 0;
	margin-bottom: min(6vw, 30px);
}
.talentProfile dl dt {
	width: 100px;
}
.talentProfile dl dd {
	width: calc(100% - 100px);
}

.talentProfile .profTxt {
	border-top: #000 solid 1px;
	padding-top: min(6vw, 30px);
	margin-bottom: min(8vw, 60px);
}
.talentProfile .profTxt h4 {
	font-size: min(4vw, 18px);
	line-height: 1.6;
	margin-bottom: min(5vw, 25px);
}
.talentProfile .profTxt p {
	line-height: 2;
}

.offerBtn a {
	display: block;
	color: #000;
	text-decoration: none;
	text-align: center;
    margin: 0 auto;
    width: fit-content;
    padding: min(5vw, 20px) min(14vw, 80px);
	position: relative;
}
.offerBtn a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: #000 solid 2px;
    transition: all 0.3s ease-out;
}


#talentTopics {
	background-color: #f5f5f5;
}
#talentTopics .homeTopicsList {
	margin-bottom: 0;
}


.talentMediaWrap {
	display: flex;
	justify-content: space-between;
}
.talentMediaWrap .talentMediaNav {
	width: 260px;
}
.talentMediaWrap .talentMediaNav li {
	margin-bottom: min(4vw, 20px);
	padding-left: min(4vw, 20px);
	position: relative;
}
.talentMediaWrap .talentMediaNav li.current::before {
	content: "";
	display: block;
	width: min(1.5vw, 8px);
	height: min(1.5vw, 8px);
	background-color: #000;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.talentMediaWrap .talentMediaNav li a {
	font-weight: bold;
	color: #888;
	text-decoration: none;
}
.talentMediaWrap .talentMediaNav li.current a {
	color: #000;
}
.talentMediaWrap .talentMediaList {
	width: calc(100% - 280px);
	display: none;
	flex-direction: column;
	gap: min(4vw, 20px) 0;
}
.talentMediaWrap .talentMediaList li {
	border-bottom: #555 solid 1px;
	padding-bottom: min(4vw, 20px);
}
.talentMediaWrap .talentMediaList li a {
	display: flex;
	color: #000;
	text-decoration: none;
}
.talentMediaWrap .talentMediaList li .year {
	font-weight: bold;
	width: 100px;
}
.talentMediaWrap .talentMediaList li .ttl {
	width: calc(100% - 100px);
}

@media screen and (min-width: 821px) {
	.offerBtn a:hover {
		opacity: 1;
	}
	.offerBtn a:hover::before {
		border: #000 solid 4px;
	}
}
@media screen and (max-width: 820px) {
	
	.talentHead {
		flex-direction: column;
		padding: 0 min(6vw, 30px);
		gap: min(8vw, 60px);
	}
	.talentPic {
		width: 100%;
	}
	.talentPic .swiper-pagination {
		padding: 0;
	}

	.talentProfile {
		width: 100%;
		margin-right: 0;
	}
	.talentProfile h3 span {
		font-size: 0.5em;
	}
	
	.talentProfile dl dt {
		width: 24vw;
	}
	.talentProfile dl dd {
		width: calc(100% - 24vw);
	}

	.talentProfile .profTxt h4 {
		line-height: 1.8;
	}

	.offerBtn a {
		display: block;
		color: #000;
		text-decoration: none;
		text-align: center;
		margin: 0 auto;
		width: fit-content;
		padding: min(5vw, 20px) min(14vw, 80px);
		position: relative;
	}
	.offerBtn a::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border: #000 solid 2px;
		transition: all 0.3s ease-out;
	}


	#talentTopics {
		background-color: #f5f5f5;
	}
	#talentTopics .homeTopicsList {
		margin-bottom: 0;
	}


	.talentMediaWrap {
		flex-direction: column;
		gap: min(10vw, 80px);
	}
	.talentMediaWrap .talentMediaNav {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: min(4vw, 20px);
	}
	.talentMediaWrap .talentMediaNav li {
		margin-bottom: 0;
	}
	.talentMediaWrap .talentMediaList {
		width: 100%;
	}
	.talentMediaWrap .talentMediaList li .year {
		font-weight: bold;
		width: 20vw;
	}
	.talentMediaWrap .talentMediaList li .ttl {
		width: calc(100% - 20vw);
	}
	
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	Topics Detail

//////////////////////////////////////////////////////////////////////////////// */
.topicsHead {
	margin-bottom: min(8vw, 60px);
}
.topicsHead .cat {
	color: #555;
	font-size: min(3.2vw, 14px);
	margin-bottom: min(4vw, 20px);
}
.topicsHead h3 {
	font-size: min(4.2vw, 24px);
	line-height: 1.4;
	margin-bottom: min(3vw, 15px);
}
.topicsHead .name {
	font-size: min(3vw, 12px);
	margin-bottom: min(1vw, 5px);
}
.topicsHead .name a {
	color: #000;
	text-decoration: underline;
}
.topicsHead .date {
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(3vw, 12px);
}

.topicsBody {
	margin-bottom: min(12vw, 60px);
}
.topicsBody p {
	margin-bottom: min(4vw, 20px);
}
.topicsBody p a {
	color: #000;
	text-decoration: underline;
}

.topicsBody img {
    width: 100%;
    height: auto;
    display: block;
    margin: min(6vw, 40px) auto;
}


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


/* ////////////////////////////////////////////////////////////////////////////////

	フォーム

//////////////////////////////////////////////////////////////////////////////// */
.contentWrap.form {
	max-width: 980px;
}
.contact__memo {
	padding: min(4vw, 30px);
	border: 1px solid #555;
	line-height: 1.8;
	letter-spacing: .08em;
	margin-bottom: min(8vw, 64px);
}
.contact__memo p + p {
	margin-top: 1em;
}
.contact__memo p span {
	font-size: 0.94em;
}
.contact__caution {
	margin-bottom: min(4vw, 40px);
	font-size: min(3vw, 12px);
	color: #cf2e2e;
}
.form__label-icon {
	font-size: min(3vw, 12px);
	color: #cf2e2e;
	margin-left: 0.5em;
	margin-bottom: 0.2em;
	vertical-align: text-top;
	line-height: 1.6;
}
.form__group {
	border: none;
	display: flex;
	margin-bottom: min(6vw, 40px);
}
.form__label {
	width: 180px;
	font-size: 14px;
	padding-top: min(2vw, 10px);
}
.form__item {
	width: calc(100% - 180px);
}
.form__input,
.form__select,
.form__textarea {
	border: #555 solid 1px;
	width: 100%;
	padding: min(3vw, 12px) min(3vw, 18px);
	font-size: min(3.2vw, 14px);
}
.form__textarea {
	height: min(36vw, 180px);
}
.form__item--between {
	display: flex;
	justify-content: space-between;
}
.form__item--between > span {
	width: 48%;
}

.form__item--start {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 42vw;
	gap: min(3vw, 20px) 6%;
	width: calc(100% - 180px);
}
.form__item--start .form__item__inner {
	width: 47%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.form__item--start .form__item__inner > span:first-child {
	width: calc(100% - 30px);
}
.form__item--start .form__item__inner > span:last-child {
	width: 20px;
	font-size: min(3vw, 12px);
}

.form__item__inner--row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.form__item__inner--row + .form__item__inner--row {
	margin-top: min(3vw, 20px);
}
.form__item__inner--row > span:first-child {
	display: block;
	width: 20%;
	font-size: min(3vw, 12px);
}
.form__item__inner--row > span:last-child {
	display: block;
	width: 75%;
}

.radio__btn {
	display: flex;
	justify-content: space-between;
	padding-top: min(2vw, 10px);
}
.radio__btn label {
	cursor: pointer;
	font-size: min(3vw, 12px);
}
.radio__btn input[type="radio"] {
	appearance: none;
	display: none;
}
.radio__btn .wpcf7-list-item-label {
	position: relative;
	padding-left: 24px;
}
.radio__btn .wpcf7-list-item-label::before {
	position: absolute;
	top: 51%;
	left: 0;
	transform: translateY(-50%);
	margin-right: min(1vw, 4px);
	content: '';
	display: block;
	background-color: #fff;
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	border-radius: 50%;
}
.radio__btn input[type="radio"]:checked + .wpcf7-list-item-label::after {
	content: '';
	display: block;
	position: absolute;
	top: 51%;
	left: 10px;
	transform: translate(-50%, -50%);
	background-color: #000;
	width: 12px;
	height: 12px;
	border-radius: 50%;
}

.form__wrapper--gray {
	background-color: #f5f5f5;
	padding: min(4vw, 20px);
	width: calc(100% - 180px);
}
.form__item--file {
	display: block;
	line-height: 1.5;
	border: 1px solid #555;
	text-align: center;
	width: 100%;
	padding: min(3vw, 18px) 0;
	margin: 0;
	cursor: pointer;
}
.filename {
	margin-top: min(4vw, 20px);
}
.filename.on {
	color: #cf2e2e;
}
.form__input__caution {
	font-size: min(3vw, 12px);
	margin-top: min(4vw, 20px);
	line-height: 1.6;
	letter-spacing: .08em;
}
input[type=file] {
	display: none;
}

.form__btn {
	display: block;
	max-width: 280px;
	height: min(14vw, 70px);
	width: 60vw;
	border: #000 solid 2px;
	margin: min(10vw, 80px) auto 0;
	transition: all 0.3s ease-out;
}

@media screen and (min-width: 821px) {

	.contentWrap.form .sp {
		display: none;
	}

	.form__btn:hover {
		border: #000 solid 4px;
	}
}
@media screen and (max-width: 820px) {

	.contentWrap.form .pc {
		display: none;
	}

	.contact__caution {
		font-size: min(3vw, 14px);
	}
	.form__group {
		display: block;
	}
	.form__label {
		display: block;
		font-size: min(3.4vw, 16px);
		padding-top: 0;
		margin-bottom: min(1.4vw, 12px);
	}
	.form__label,
	.form__item,
	.form__wrapper--gray {
		width: 100%;
	}
	.radio__btn {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: min(3vw, 20px) 0;
	}
	.radio__btn .wpcf7-list-item {
		width: 45%;
		max-width: 240px;
	}
}

.notFound p {
    text-align: center;
    font-size: min(4vw, 20px);
    margin-bottom: min(8vw, 60px);
}