/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv {
	position: relative;
	z-index: 2;
}
.kv h1 img {
	border-radius: 50px;
}
.kv .img01 {
	position: absolute;
	top: calc(149 / 375 * 100vw);
	left: calc(139 / 375 * 100vw);
	width: 34px;
	z-index: 2;
}
.kv .intro {
	position: relative;
	z-index: 1;
	margin: calc(-5 / 375 * 100vw) 15px 0;
	padding: 24px 5px 60px;
	color: #fff;
	background: #ff939b;
	border-radius: 50px;
}
.kv .intro h2 {
	max-width: 310px;
	margin: 0 auto 45px;
}
.kv .intro p {
	margin-inline: 10px;
	font-size: calc(1.4rem / 1.6);
	font-weight: 700;
	line-height: calc(24 / 14);
}
.kv .intro .dash {
	letter-spacing: -.2em;
}
.kv .intro .img02 {
	position: absolute;
	top: 85px;
	left: 0;
	width: 46px;
}
.kv .intro .img03 {
	position: absolute;
	bottom: 10px;
	right: -8px;
	width: 80px;
}
@media print, screen and (min-width: 768px) {/* PC */
.kv {
	max-width: 1500px;
	margin-inline: auto;
}
.kv h1 img {
	border-radius: 200px;
}
.kv .img01 {
	top: min(592px, calc(592 / 1500 * 100vw));
	left: min(552px, calc(552 / 1500 * 100vw));
	width: min(136px, calc(136 / 1500 * 100vw));
}
.kv .intro {
	margin: -20px 60px 0;
	padding: min(110px, calc(110 / 1500 * 100vw)) 40px 100px;
	border-radius: 200px;
}
.kv .intro h2 {
	max-width: 1036px;
	margin: 0 auto 70px;
}
.kv .intro p {
	margin-inline: 130px;
	font-size: calc(2rem / 1.6);
	line-height: calc(38 / 20);
	text-align: center;
}
.kv .intro .img02 {
	top: 286px;
	width: 152px;
}
.kv .intro .img03 {
	bottom: 0;
	right: 0;
	width: 279px;
}
}/* @media */
/* -----------------------------------------------
= profile
----------------------------------------------- */
.profile {
	position: relative;
	z-index: 1;
	margin-top: -33px;
	padding: 80px 30px 25px;
	background: #f0f0ff;
	border-radius: 50px;
}
.profile h2 {
	margin-bottom: 25px;
	color: #ffc800;
	font-family: var(--en);
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	text-align: center;
	letter-spacing: .04em;
}
.profile .item {
	margin-bottom: 25px;
	padding: 20px 15px 0;
	background: #fff;
	border-radius: 40px;
	box-shadow: 8px 8px 0 #ff939b;
}
.profile .name {
	margin-bottom: 15px;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	text-align: center;
	letter-spacing: .25em;
}
.profile .name span {
	display: block;
	color: #ffc800;
	font-family: var(--en);
	font-size: calc(3.3rem / 1.6);
	letter-spacing: .02em;
}
.profile .division {
	margin-bottom: 25px;
	font-size: calc(1.3rem / 1.6);
	text-align: center;
}
.profile .text {
	margin-bottom: 10px;
	font-size: calc(1.3rem / 1.6);
}
.profile img {
	display: block;
	margin-inline: auto;
	margin-bottom: 10px;
}
.profile .item img {
	max-width: 200px;
	margin-bottom: 0;
}
.profile .img01 {
	max-width: 55px;
	margin-bottom: 20px;
}
.profile .img02 {
	max-width: 40px;
}
.profile .img03 {
	max-width: 40px;
}
.profile .img04 {
	max-width: 37px;
}
.profile .note {
	margin-top: 45px;
	font-size: calc(1rem / 1.6);
	text-align: center;
}
@media print, screen and (min-width: 768px) {/* PC */
.profile {
	max-width: 1500px;
	margin: -130px auto 0;
	padding: 190px 0 120px;
	border-radius: 200px;
	overflow: hidden;
}
.profile h2 {
	margin-bottom: 70px;
	font-size: calc(4rem / 1.6);
}
.profile .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	padding: 0 40px;
}
.profile .item {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
	padding: 0;
	box-shadow: 12px 12px 0 #ff939b;
}
.profile .item.asaba {
	width: 540px;
	min-height: 540px;
	margin: 0 calc(68 / 1420 * 100%) 70px 0;
	border-radius: 50%;
}
.profile .item.asaba .clip {
	clip-path: circle(268px);
}
.profile .item.asaba .name {
	margin-top: 15px;
}
.profile .item.asaba .text {
	margin: 0 25px;
}
.profile .item.fukuda {
	width: 540px;
	margin: 0 0 70px calc(68 / 1420 * 100%);
	border-radius: 120px;
	overflow: hidden;
}
.profile .item.fukuda .name {
	margin-top: 15px;
}
.profile .item.fukuda .text {
	position: relative;
	z-index: 1;
	margin: 0 25px -20px;
}
.profile .item.kawahara {
	width: 740px;
	margin: 0 80px 86px;
	border-radius: 120px;
}
.profile .item.kawahara .text {
	float: left;
	position: relative;
	z-index: 1;
	width: 430px;
	margin-left: 44px;
}
.profile .item.kawahara img {
	float: right;
	position: relative;
	z-index: -1;
	margin: -50px 30px 0 -30px;
	border-radius: 0 0 80px 0;
}
.profile .item.iibuchi {
	width: 540px;
	margin: 0 calc(200 / 1420 * 100%) 56px 0;
	padding: 50px 0 0;
	background: transparent;
	box-shadow: none;
}
.profile .item.iibuchi::before,
.profile .item.iibuchi::after {
	content: "";
	position: absolute;
	border-radius: 200px;
	transform: rotate(45deg);
}
.profile .item.iibuchi::before {
	right: 0;
	bottom: 0;
	width: 540px;
	height: 540px;
	z-index: -1;
	background: #fff;
}
.profile .item.iibuchi::after {
	right: -12px;
	bottom: -12px;
	z-index: -2;
	width: 540px;
	height: 540px;
	background: #ff939b;
}
.profile .item.iibuchi img {
	position: relative;
	bottom: -30px;
	border-radius: 0 0 120px 120px;
}
.profile .item.kakimoto {
	width: 540px;
	margin: 0 0 56px -30px;
	padding-left: 0;
	background: transparent;
	box-shadow: none;
}
.profile .item.kakimoto::before,
.profile .item.kakimoto::after {
	content: "";
	position: absolute;
	border-radius: 100px;
	transform: skew(-12deg);
}
.profile .item.kakimoto::before {
	inset: 0;
	z-index: -1;
	background: #fff;
}
.profile .item.kakimoto::after {
	right: -12px;
	bottom: -12px;
	z-index: -2;
	width: 100%;
	height: 100%;
	background: #ff939b;
}
.profile .item.kakimoto .name {
	margin-left: 80px;
}
.profile .item.kakimoto .division {
	margin-left: 80px;
}
.profile .item.kakimoto .name {
	margin-top: 15px;
}
.profile .item.kakimoto .text {
	margin-inline: 10px 25px;
}
.profile .item.kakimoto .shape {
	float: left;
	width: 34px;
	height: 150px;
	shape-outside: polygon(0 0, 100% 0, 0 100%);
}
.profile .item.kakimoto img {
	padding-right: 70px;
}
.profile .name {
	margin-bottom: 15px;
	font-size: calc(2.2rem / 1.6);
	letter-spacing: .12em;
}
.profile .name span {
	font-size: calc(6rem / 1.6);
}
.profile .division {
	margin-bottom: 25px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(22 / 16);
}
.profile .text {
	margin-bottom: 10px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
.profile img {
	position: absolute;
}
.profile .item img {
	position: static;
	max-width: 260px;
}
.profile .img01 {
	top: 1096px;
	left: 110px;
	max-width: 109px;
}
.profile .img02 {
	top: 1210px;
	right: 177px;
	max-width: 83px;
}
.profile .img03 {
	top: 1443px;
	left: calc(50% - 46px);
	max-width: 75px;
}
.profile .img04 {
	top: 953px;
	right: 83px;
	max-width: 74px;
}
.profile .note {
	margin: 0 60px 0 0;
	font-size: calc(1.4rem / 1.6);
	text-align: right;
}
}/* @media */
@media print, screen and (max-width: 1330px) and (min-width: 768px) {
.profile .item.asaba {
	margin-inline: 50px;
}
.profile .item.fukuda {
	margin-inline: 50px;
}
.profile .item.kawahara {
	margin-inline: 50px;
}
.profile .item.iibuchi {
	margin-inline: 50px;
}
.profile .item.kakimoto {
	margin-inline: 50px;
}
}/* @media */
/* -----------------------------------------------
= index
----------------------------------------------- */
.index {
	position: relative;
	margin-top: -20px;
}
.index .inner {
	padding: 50px 45px 40px;
	color: #fff;
	background: #aaaaa0;
	border-radius: 50px;
}
.index h2 {
	margin-bottom: 25px;
	font-family: var(--en);
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	text-align: center;
}
.index li {
	font-size: calc(1.2rem / 1.6);
	line-height: calc(16 / 12);
}
.index li + li {
	margin-top: 15px;
}
.index li a span {
	display: block;
}
@media print, screen and (min-width: 768px) {/* PC */
.index {
	z-index: 3;
	max-width: 1500px;
	margin: -60px auto 0;
}
.index .inner {
	display: flex;
	align-items: center;
	margin-inline: 60px;
	padding: 80px 45px 60px;
	border-radius: 200px;
}
.index h2 {
	padding-inline: calc(130 / 1500 * 100%) calc(210 / 1500 * 100%);
	font-size: calc(3.6rem / 1.6);
}
.index ul {
	width: calc(994 / 1500 * 100%);
}
.index li {
	font-size: calc(1.8rem / 1.6);
}
.index li + li {
	margin-top: 15px;
}
.index li a {
	display: flex;
	gap: 0 1em;
}
.index li a span:first-child {
	min-width: 160px;
}
.index li a span:last-child {
	flex: 1;
}
}/* @media */
@media print, screen and (max-width: 1023px) and (min-width: 768px) {/* TABLET */
.index .inner {
	display: block;
}
.index ul {
	width: auto;
}
}/* @media */
@media (hover:hover) {
.index a {
	transition: color .3s;
}
.index a:hover {
	color: var(--red);
}
}/* @media */
/* -----------------------------------------------
= side
----------------------------------------------- */
.btn-side {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 5;
	padding: 2px 25px;
	color: #fff;
	background: #aaaaa0;
	border-radius: 30px 30px 0 0;
	font-family: var(--en);
	font-size: calc(1.8rem / 1.6);
	opacity: 0;
	pointer-events: none;
	transition: opacity .4s;
}
.btn-side.is-visible {
	opacity: 1;
	pointer-events: auto;
}
.side.index {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 6;
	max-height: calc(100svh - 110px);
	margin-top: 0;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .4s;
}
.side.index[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
.btn-close {
	position: absolute;
	top: 25px;
	right: 35px;
	width: 40px;
	height: 40px;
}
.btn-close::before,
.btn-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
}
.btn-close::before {
	transform: rotate(-45deg);
}
.btn-close::after {
	transform: rotate(45deg);
}
.side.index .inner {
	padding-top: 25px;
}
.side.index h2 {
	text-align: left;
}
@media print, screen and (min-width: 768px) {/* PC */
.btn-side {
	right: auto;
	left: 0;
	padding: 0 30px;
	border-radius: 0 0 40px 40px;
	font-size: calc(2.4rem / 1.6);
	line-height:  calc(40 / 24);
	transform: rotate(-90deg);
	transform-origin: top left;
}
.side.index {
	right: auto;
	left: 0;
}
.btn-close {
	top: calc(50% - 20px);
	right: 70px;
}
.side.index .inner {
	margin-inline: 0;
	padding: 80px 200px 60px 0;
}
.side.index h2 {
	padding-inline: 50px 75px;
}
.side.index ul {
	width: auto;
}
}/* @media */
@media print, screen and (max-width: 1023px) and (min-width: 768px) {/* TABLET */
.btn-close {
	top: 100px;
	right: 100px;
}
.side.index .inner {
	padding-inline: 50px 75px;
}
}/* @media */
@media (hover:hover) {
.btn-side {
	transition: color .3s;
}
.btn-side:hover {
	color: var(--red);
}
.btn-close::before,
.btn-close::after {
	transition: background .3s;
}
.btn-close:hover::before,
.btn-close:hover::after {
	background: var(--red);
}
}/* @media */
/* -----------------------------------------------
= article
----------------------------------------------- */
.article {
	padding: 80px 12px;
	clip-path: inset(0);
}
.article::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background: url(../../img/student/index_article_bg_sp.svg) no-repeat 50% 0 / 100% auto;
}
@media print, screen and (min-width: 768px) {/* PC */
.article {
	margin-bottom: 240px;
	padding: 100px 60px 0;
	background: url(../../img/student/index_article_bg_pc.svg) repeat-y 50% 0 / 100% auto;
}
.article::before {
	display: none;
}
}/* @media */
/* -----------------------------------------------
= talk
----------------------------------------------- */
.talk {
	margin-bottom: 60px;
}
.talk .set img {
	display: block;
	max-width: 316px;
	margin-inline: auto;
	border-radius: 60px;
}
.talk#talk_01 .set img,
.talk#talk_04 .set img {
	max-width: 330px;
	border-radius: 50%;
}
.talk .num {
	margin-block: calc(-7rem / 1.6) 20px;
	color: #ff747e;
	font-family: var(--en);
	font-size: calc(4.8rem / 1.6);
	font-weight: 800;
	line-height: .8;
}
.talk .num span {
	display: block;
	font-size: calc(8.4rem / 1.6);
}
.talk h2 {
	margin-bottom: 20px;
}
.talk h2 span {
	display: inline-block;
	margin-bottom: 8px;
	padding-inline: 15px;
	background: #fff;
	border: 1px solid #ff747e;
	border-radius: 3em;
	font-size: calc(2.4rem / 1.6);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .08em;
}
.talk .item {
	display: flex;
	gap: 0 17px;
	margin-bottom: 20px;
}
.talk .item .name {
	width: 38px;
	font-weight: 700;
	text-align: center;
}
.talk .item .name span {
	display: block;
	font-size: calc(1.4rem / 1.6);
	line-height: 1.2;
	letter-spacing: .25em;
}
.talk .item .name img {
	border-radius: 50%;
}
.talk .text {
	flex: 1;
	display: flex;
	align-items: center;
	min-height: calc(1.3rem / 1.6);
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
@media print, screen and (min-width: 768px) {/* PC */
.talk {
	display: flex;
	gap: 0 22px;
	max-width: 1380px;
	margin: 0 auto 200px;
}
.talk#talk_02,
.talk#talk_04 {
	gap: 0 50px;
}
.talk .set {
	display: flex;
	flex-direction: column;
	max-width: calc(660 / 1380 * 100%);
	text-align: right;
}
.talk#talk_02 .set,
.talk#talk_04 .set {
	order: 2;
	max-width: calc(632 / 1380 * 100%);
	text-align: left;
}
.talk#talk_01 .set img,
.talk#talk_04 .set img {
	max-width: 100%;
}
.talk .set img {
	order: 3;
	max-width: 100%;
}
.talk .num {
	order: 1;
	margin: 0 80px 30px 0;
	font-size: min(calc(8rem / 1.6), calc(80 / 1500 * 100vw));
}
.talk#talk_02 .num,
.talk#talk_04 .num {
	margin: 0 0 30px 55px;
}
.talk .num span {
	font-size: min(calc(14rem / 1.6), calc(140 / 1500 * 100vw));
}
.talk h2 {
	order: 2;
	z-index: 1;
	margin: 0 80px -37px 0;
}
.talk#talk_02 h2,
.talk#talk_04 h2 {
	margin: 0 0 -37px 55px;
}
.talk h2 span {
	margin-bottom: 15px;
	padding-inline: 15px;
	font-size: min(calc(4rem / 1.6), calc(40 / 1500 * 100vw));
	white-space: nowrap;
}
.talk .inner {
	flex: 1;
}
.talk#talk_02 .inner,
.talk#talk_04 .inner {
	order: 1;
}
.talk .item {
	gap: 0 20px;
	margin-bottom: 20px;
}
.talk .item .name  {
	width: 70px;
}
.talk .item .name span {
	font-size: calc(1.6rem / 1.6);
	letter-spacing: .1em;
}
.talk .text {
	min-height: calc(1.6rem / 1.6);
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
}/* @media */
/* -----------------------------------------------
= column
----------------------------------------------- */
.column {
	margin-bottom: 108px;
}
.column .img01 {
	position: relative;
	z-index: 1;
	border-radius: 50px;
}
.column .box {
	position: relative;
	margin-top: -20px;
	padding: 50px 12px 0;
	background: #ffffbe;
	border-radius: 50px;
	text-align: center;
}
.column h2 {
	margin-bottom: 40px;
	color: #ffc800;
	font-family: var(--en);
	font-size: calc(2rem / 1.6);
}
.column h3 {
	display: inline-block;
	margin-bottom: 25px;
	padding: 0 1em;
	color: #fff;
	background: #ff7495;
	border-radius: 3em;
	font-size: calc(2.2rem / 1.6);
	font-weight: 700;
	letter-spacing: .12em;
}
.column h4 {
	margin-bottom: 45px;
	color: #ff7495;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	transform: rotate(10deg);
}
.column .item {
	display: flex;
	gap: 0 17px;
	margin-bottom: 20px;
	text-align: left;
}
.column .item .name {
	width: 38px;
	font-weight: 700;
	text-align: center;
}
.column .item .name span {
	display: block;
	font-size: calc(1.4rem / 1.6);
	line-height: 1.2;
	letter-spacing: .25em;
}
.column .item .name img {
	width: 38px;
	border-radius: 50%;
}
.column .text {
	flex: 1;
	display: flex;
	align-items: center;
	min-height: calc(1.3rem / 1.6);
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
.column .img02 {
	max-width: 145px;
	margin-inline: auto;
	padding-right: 25px;
}
@media print, screen and (min-width: 768px) {/* PC */
.column {
	max-width: 1500px;
	margin: 0 auto 116px;
}
.column .img01 {
	border-radius: 200px;
}
.column .box {
	z-index: 1;
	max-width: 1296px;
	margin: -30px auto 0;
	padding: 50px 60px;
	border-radius: 200px;
}
.column .flex {
	display: flex;
	gap: calc(124 / 1296 * 100%);
}
.column h2 {
	margin-bottom: 40px;
	font-size: calc(4rem / 1.6);
}
.column h3 {
	margin: 0 0 0 75px;
	padding: 40px 10px;
	font-size: calc(4.4rem / 1.6);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.column h4 {
	margin: -8em 0 0;
	font-size: calc(2.8rem / 1.6);
	transform: rotate(-10deg);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.column .inner {
	flex: 1;
}
.column .item {
	gap: 0 20px;
	margin-bottom: 20px;
}
.column .item .name span {
	font-size: calc(1.6rem / 1.6);
	letter-spacing: .1em;
}
.column .text {
	min-height: calc(1.8rem / 1.6);
	font-size: calc(1.8rem / 1.6);
	font-weight: 500;
	line-height: calc(32 / 18);
}
.column .img02 {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	max-width: 290px;
	border-radius: 0 0 0 200px;
}
}/* @media */
