/* -----------------------------------------------
= main
----------------------------------------------- */
.main {
	position: relative;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	opacity: 0;
	transition: opacity .6s .8s;
}
.main.visible {
	opacity: 1;
}
.main .inner {
	position: absolute;
	left: 4rem;
	bottom: 3rem;
}
.main .set .en {
	display: inline-block;
	margin-bottom: 1.2rem;
	padding: .2rem;
	border: 1px solid #fff;
	font-size: 2rem;
	letter-spacing: 0.09em;
}
.main .set h1 {
	font-size: 3.6rem;
	line-height: 5.2rem;
	letter-spacing: 0.02em;
}
.main img {
	height: 75.6rem;
	object-fit: cover;
	object-position: 50% 0;
}
@media print, screen and (min-width: 767px){/* PC */
.main {
	max-height: 100vh;
}
.main .inner {
	left: 0;
	bottom: 5rem;
	width: 100%;
}
.main .set {
	max-width: 110rem;
	margin: 0 auto;
	padding-inline: 3rem;
}
.main .set .en {
	margin-bottom: 2rem;
	padding: .5rem;
	border: 2px solid #fff;
	font-size: 2.4rem;
	letter-spacing: 0.035em;
}
.main .set h1 {
	font-size: 5.2rem;
	line-height: 7rem;
}
.main img {
	width: 100%;
	height: 85rem;
	max-height: 100vh;
}
}/* @media */
/* -----------------------------------------------
= profile
----------------------------------------------- */
.profile {
	padding: 4rem;
	color: #000;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.profile.visible {
	opacity: 1;
	transform: translate(0);
}
.profile .name {
	margin-bottom: 3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 4.3rem;
}
.profile .division {
	margin-bottom: 3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.8rem;
	line-height: 4.9rem;
}
.profile .division span {
	display: inline-block;
	margin-right: 1em;
}
.profile .text {
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 0.5px solid #333;
	font-size: 2.4rem;
	line-height: 4.5rem;
}
.profile .note {
	color: #333;
	font-size: 2rem;
}
@media print, screen and (min-width: 767px){/* PC */
.profile {
	max-width: 110rem;
	margin: 0 auto;
	padding: 6rem 4rem;
}
.profile .name {
	margin-bottom: 1rem;
	font-size: 2.7rem;
}
.profile .division {
	margin-bottom: .5rem;
	font-size: 1.6rem;
	line-height: 3.7rem;
}
.profile .text {
	max-width: 75rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #333;
	font-size: 1.5rem;
	line-height: 3rem;
}
.profile .note {
	font-size: 1.4rem;
}
}/* @media */
/* -----------------------------------------------
= article
----------------------------------------------- */
.article {
	padding: 4rem;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.article.visible {
	opacity: 1;
	transform: translate(0);
}
.article h2 {
	margin-bottom: 3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3rem;
	line-height: 5.4rem;
}
.article .text {
	margin-bottom: 3rem;
	font-size: 2.8rem;
	line-height: 5.2rem;
}
.article .note {
	font-size: 2.6rem;
}
.img-large {
	display: block;
	width: 100%;
	margin-bottom: 4rem;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.img-large.visible {
	opacity: 1;
	transform: translate(0);
}
@media print, screen and (min-width: 767px){/* PC */
.article {
	max-width: 110rem;
	margin: 0 auto;
	padding: 6rem 3rem 3rem;
}
.article h2 {
	margin-bottom: 2.5rem;
	font-size: 2.7rem;
	line-height: 4rem;
}
.article .text {
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 3.2rem;
}
.article .note {
	font-size: 1.4rem;
}
.article.type01 {
	display: flex;
	align-items: start;
	gap: 0 7.6rem;
}
.article.type01 .set {
	flex: 1;
}
.article.type01 img {
	width: 43.2rem;
	height: 37.4rem;
	object-fit: cover;
}
.img-large {
	margin: 8rem 0 4rem;
}
}/* @media */
/* -----------------------------------------------
= holiday
----------------------------------------------- */
.holiday {
	margin-top: 4rem;
	padding: 4rem;
	background: #d6edfa;
	text-align: center;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.holiday.visible {
	opacity: 1;
	transform: translate(0);
}
.holiday h3 {
	display: inline-block;
	margin-bottom: 3rem;
	padding: 1.5rem 2rem;
	background: #fff;
	border: 1px solid #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.5rem;
}
.holiday .text {
	margin-bottom: 3rem;
	font-size: 2.8rem;
	line-height: 5.2rem;
	text-align: left;
}
.holiday img {
	max-width: 67rem;
}
@media print, screen and (min-width: 767px){/* PC */
.holiday {
	margin-top: 7rem;
	padding: 5rem 3rem;
	text-align: left;
}
.holiday .inner {
	display: flex;
	align-items: center;
	gap: 0 4.7rem;
	max-width: 110rem;
	margin: 0 auto;
}
.holiday .set {
	flex: 1;
}
.holiday h3 {
	margin-bottom: 3rem;
	padding: .8rem 1.5rem;
	font-size: 2.4rem;
}
.holiday .text {
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 3.2rem;
}
.holiday img {
	max-width: calc(632 / 1500 * 100vw);
}
}/* @media */
/* -----------------------------------------------
= nav_interview
----------------------------------------------- */
.nav_interview {
	padding: 8rem 0 0;
}
.nav_interview h3 {
	margin-bottom: 3.5rem;
	font-family: 'Noto Serif JP', serif;
	font-size: 5.1rem;
	font-weight: 300;
	text-align: center;
	letter-spacing: .11em;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.nav_interview h3.visible {
	opacity: 1;
	transform: translate(0);
}
.nav_interview .inner {
	padding: 4rem;
	background: #f5f5f5;
}
.nav_interview li {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s .8s, transform .6s .8s;
}
.nav_interview li.visible {
	opacity: 1;
	transform: translate(0);
}
.nav_interview li + li,
.nav_interview ul + ul {
	margin-top: 4rem;
}
.nav_interview li a {
	display: flex;
	position: relative;
	height: 100%;
	background: #fff;
}
.nav_interview li img {
	width: 23.2rem;
	height: 29rem;
	object-fit: cover;
}
.nav_interview li .box {
	flex: 1;
	position: relative;
	padding: 2rem;
}
.nav_interview li .category {
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
	background: #333;
	padding: 1rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.6rem;
}
.nav_interview li .name {
	margin-bottom: 2rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 4.1rem;
}
.nav_interview li .division {
	font-size: 2.4rem;
	line-height: 1.5;
}
.nav_interview .view_more p {
	position: absolute;
	bottom: 2.8rem;
	right: 2.8rem;
	width: 27.6rem;
}
@media print, screen and (min-width: 767px){/* PC */
.nav_interview {
	padding: 12rem 0 0;
}
.nav_interview h3 {
	font-size: 3rem;
}
.nav_interview .inner {
	padding: 5rem .5rem;
}
.nav_interview ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(194px, 1fr));
	justify-content: center;
	gap: .5rem;
	margin-inline: auto;
}
.nav_interview li + li {
	margin-top: 0;
}
.nav_interview ul + ul {
	margin-top: 5rem;
}
.nav_interview ul:nth-child(1) {
	max-width: 74.4rem;
}
.nav_interview ul:nth-child(2) {
	max-width: 148rem;
}
.nav_interview li a {
	display: block;
}
.nav_interview li img {
	width: 24.4rem;
	height: 28.1rem;
}
.nav_interview li .box {
	padding: 1.6rem 1.6rem 8rem;
}
.nav_interview ul:nth-child(1) li:nth-child(1) .box {
	padding-bottom: 6rem;
}
.nav_interview li .category {
	top: 1.6rem;
	right: 1.6rem;
	padding: .5rem;
	font-size: 1.5rem;
}
.nav_interview li .name {
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
}
.nav_interview li .division {
	margin-bottom: 0;
	font-size: 1.4rem;
	line-height: calc(23 / 14);
}
.nav_interview .view_more p {
	bottom: 1.6rem;
	right: 1.6rem;
	width: 160px;
}
}/* @media */

/* -----------------------------------------------
= print
----------------------------------------------- */
@media print {
.top_main,
.top_main .copy_jp span,
.top_main .copy_en,
.top_news,
.top_message .title,
.top_message .text,
.top_message .msg span,
.top_work .item,
.top_recruit .item li,
.top_recruit .entry {
	opacity: 1;
	transform: translate(0);
	transform: translate(0);
}
.top_message .title.effect_title span,
.top_subtitle .en.effect_title span,
.top_work .item .effect_title span {
	transform: scale(1);
	opacity: 1;
	transform: translate(0);
}
}/* @media */
