@charset "utf-8";
/* -----------------------------------------------
= main_contents
----------------------------------------------- */
.main_contents {
	background: #fff;
}
/* -----------------------------------------------
= pagetitle
----------------------------------------------- */
.pagetitle {
	position: relative;
	height: 34rem;
	color: #fff;
	background: url(../../img/vision/crosstalk_pagetitle_sp.jpg) no-repeat 50% 80% / cover;
	text-align: center;
	letter-spacing: .06em;
}
.pagetitle .category {
	padding: 7.4rem 1.8rem 12rem;
	color: #ff1100;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.9rem;
	font-weight: 300;
	line-height: 2.2rem;
	letter-spacing: 0.03em;
	text-align: left;
}
.pagetitle h1 .jp {
	display: block;
	position: relative;
	z-index: 1;
	margin-bottom: 2rem;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: .4em;
}
.pagetitle h1 .en {
	display: block;
	position: relative;
	z-index: 1;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.4rem;
	font-weight: 300;
	letter-spacing: 0.06em;
}
@media print, screen and (min-width: 768px) {/* PC */
.pagetitle {
	height: 67rem;
	background: url(../../img/vision/crosstalk_pagetitle.jpg) no-repeat 50% 15% / cover;
}
.pagetitle .category {
	padding: 12rem 6rem 20rem;
	font-size: 3.4rem;
	line-height: 3.9rem;
}
.pagetitle h1 .jp {
	margin-bottom: 4rem;
	font-size: 3.6rem;
}
.pagetitle h1 .en {
	font-size: 2.4rem;
}
}/* @media */
/* -----------------------------------------------
= lead
----------------------------------------------- */
.lead {
	padding: 2rem 2rem 4rem;
	font-size: 1.6rem;
	line-height: 2.6rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.lead.visible {
	opacity: 1;
	transform: translateY(0);
}
@media print, screen and (min-width: 768px) {/* PC */
.lead {
	padding: 6rem 2rem 9rem;
	font-size: 1.8rem;
	line-height: 3.2rem;
	text-align: center;
}
}/* @media */
/* -----------------------------------------------
= profile
----------------------------------------------- */
.profile {
	padding: 0 2rem 7rem;
}
.profile .subtitle {
	margin-bottom: 2.5rem;
	padding-bottom: .5rem;
	border-bottom: 0.5px solid #b3b3b3;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.profile .subtitle.visible {
	opacity: 1;
	transform: translateY(0);
}
.profile .item {
	margin-bottom: 3rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.profile .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.profile .item img {
	display: block;
	max-width: 24.8rem;
	margin: 0 auto 2rem;
}
.profile .item .name {
	margin-bottom: 1.5rem;
	text-align: center;
}
.profile .item .name .jp {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: 600;
}
.profile .item .name .en {
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 300;
}
.profile .item .division {
	margin-bottom: 2rem;
	font-size: 1.3rem;
	line-height: 2.2rem;
	text-align: center;
}
.profile .item .text {
	position: relative;
	padding-top: 2rem;
	font-size: 1.3rem;
	line-height: 2rem;
}
.profile .item .text::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 1.2rem);
	width: 2.4rem;
	height: 0.15rem;
	background: #ff1100;
}
.profile .note {
	padding-bottom: 1rem;
	border-bottom: 0.5px solid #b3b3b3;
	font-size: 1rem;
	text-align: right;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.profile .note.visible {
	opacity: 1;
	transform: translateY(0);
}
@media print, screen and (min-width: 768px) {/* PC */
.profile {
	max-width: 132.8rem;
	margin: 0 auto 10rem;
}
.profile .subtitle {
	margin-bottom: 5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #b3b3b3;
	font-size: 1.6rem;
	text-align: center;
}
.profile .item_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6rem 8rem;
}
.profile .item {
	width: calc(1 / 3 * 100% - 8rem);
	margin-bottom: 0;
}
.profile .item img {
	max-width: 33rem;
	margin: 0 auto 2rem;
}
.profile .item .name {
	margin-bottom: 1.5rem;
}
.profile .item .name .jp {
	margin-bottom: 1rem;
	font-size: 2rem;
}
.profile .item .name .en {
	font-size: 1.4rem;
}
.profile .item .division {
	font-size: 1.6rem;
	line-height: 2.8rem;
}
.profile .item .text {
	max-width: 33rem;
	margin-inline: auto;
	font-size: 1.4rem;
	line-height: 2.4rem;
}
.profile .item .text::before {
	left: calc(50% - 1.6rem);
	width: 3.2rem;
	height: 0.2rem;
}
.profile .note {
	margin-top: 4rem;
	border-bottom: 1px solid #b3b3b3;
	font-size: 1.2rem;
}
}/* @media */
/* -----------------------------------------------
= illust
----------------------------------------------- */
.illust {
	max-width: 106.4rem;
	margin: 0 auto 7rem;
	padding: 0 2rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.illust.visible {
	opacity: 1;
	transform: translateY(0);
}
@media print, screen and (min-width: 768px) {/* PC */
.illust {
	margin-bottom: 12rem;
}
}/* @media */
/* -----------------------------------------------
= session
----------------------------------------------- */
.session {
	padding: 0 2rem 4rem;
}
.session .num {
	margin-bottom: 2.5rem;
	color: #ff1100;
	font-family: "Josefin Sans", sans-serif;
	font-size: 2.1rem;
	letter-spacing: 0.1em;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .num.visible {
	opacity: 1;
	transform: translateY(0);
}
.session h2 {
	margin-bottom: 2.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #ea5550;
	font-size: 1.8rem;
	line-height: 2.7rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session h2.visible {
	opacity: 1;
	transform: translateY(0);
}
.session .item {
	display: flex;
	gap: 0 1.5em;
	margin-bottom: 2rem;
	font-size: 1.4rem;
	line-height: 2.4rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.session .item .name {
	width: 2em;
}
.session .item .text {
	flex: 1;
}
.session .img {
	max-width: 24.4rem;
	margin: 0 auto 2.5rem;
	padding-left: 5rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .img.visible {
	opacity: 1;
	transform: translateY(0);
}
.session .img_m {
	max-width: 30.5rem;
	margin: 0 auto 5rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .img_m.visible {
	opacity: 1;
	transform: translateY(0);
}
.session .img_set {
	margin: 0 0 2.5rem 5rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .img_set.visible {
	opacity: 1;
	transform: translateY(0);
}
.session .img_set figure {
	max-width: 23.6rem;
	margin-bottom: 4rem;
}
.session .img_set figcaption {
	margin-top: .5rem;
	font-size: 1.2rem;
	letter-spacing: .02em;
}
.session .img_set > img {
	display: block;
	max-width: 23.6rem;
	margin-left: auto;
}
.img_l {
	margin-block: -5rem 5rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.img_l.visible {
	opacity: 1;
	transform: translateY(0);
}
.session.type04 .img {
	max-width: none;
	margin-bottom: 5rem;
	padding-left: 0;
}
.session .note {
	max-width: none;
	margin-bottom: 5rem;
	padding-left: 0;
	font-size: 1rem;
	text-align: right;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.session .note.visible {
	opacity: 1;
	transform: translateY(0);
}
@media print, screen and (min-width: 768px) {/* PC */
.session {
	margin-inline: auto;
	padding: 0 0 9rem;
}
.session.type01,
.session.type04 {
	max-width: 88.4rem;
}
.session .num {
	margin-bottom: 5rem;
	font-size: 2.8rem;
}
.session h2 {
	margin-bottom: 3.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 4px solid #ea5550;
	font-size: 2.4rem;
	line-height: 3.6rem;
}
.session .item {
	margin-bottom: 3rem;
	font-size: 1.6rem;
	line-height: 2.8rem;
}
.session .img {
	max-width: 61rem;
	margin-bottom: 4rem;
	padding-left: 0;
}
.session.session05 .img {
	max-width: none;
	padding-left: 5.7rem;
}
.session.session05 .img img {
	width: 100%;
}
.session.type02,
.session.type03 {
	display: flex;
	gap: 0 8rem;
	max-width: 150rem;
}
.session .img_m {
	max-width: 61rem;
	margin: 16.6rem 0 0;
}
.session .inner {
	flex: 1;
}
.session.type02 .inner {
	padding-right: 8.5rem;
}
.session.type03 .img_m {
	order: 2;
}
.session.type03 .inner {
	order: 1;
	padding-left: 8.5rem;
}
.session .img_set {
	margin: 0 0 4.5rem 5.8rem;
}
.session .img_set figure {
	max-width: 39.4rem;
	margin-bottom: 3rem;
}
.session.session04 .img_set figure {
	max-width: none;
}
.session.session04 .img_set figure img {
	width: 100%;
}
.session .img_set figcaption {
	margin-top: .5rem;
	font-size: 1.4rem;
}
.session .img_set > img {
	max-width: 39.4rem;
}
.img_l {
	max-width: 150rem;
	margin-block: 1rem 10rem;
	margin-inline: auto;
}
.session.type04 .img {
	margin-bottom: 6rem;
}
.session.type04 .img img {
	width: 100%;
}
.session .note {
	margin-bottom: 0;
	font-size: 1.2rem;
}
}/* @media */
/* -----------------------------------------------
= related
----------------------------------------------- */
.related {
	max-width: 29.4rem;
	margin-inline: auto;
	padding: 0 2rem 4rem;
}
.related h3 {
	margin-bottom: 4rem;
	color: #ff1100;
	font-family: "Josefin Sans", sans-serif;
	font-size: 2.4rem;
	font-weight: 300;
	text-align: center;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.related h3.visible {
	opacity: 1;
	transform: translateY(0);
}
.related li {
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.related li.visible {
	opacity: 1;
	transform: translateY(0);
}
.related li + li {
	margin-top: 3.5rem;
}
.related li .img {
	overflow: hidden;
}
.related li a .img img {
	transition: transform .3s;
}
.related li a:hover .img img {
	transform: scale(1.05);
}
.related li span {
	display: block;
	margin-top: .5rem;
	font-size: 1.3rem;
	line-height: 1.5;
}
.related li.current {
	opacity: .3;
}
.related li.current a {
	pointer-events: none;
}
@media print, screen and (min-width: 768px) {/* PC */
.related {
	max-width: 82.5rem;
	padding-bottom: 10rem;
}
.related h3 {
	margin-bottom: 9rem;
	font-size: 3.4rem;
}
.related ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
}
.related li + li {
	margin-top: 0;
}
.related li span {
	margin-top: 1rem;
	font-size: 1.6rem;
}
}/* @media */

