@charset "UTF-8";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
:before,
:after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
	min-width: 0
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent
}

body {
	margin: 0
}

main {
	display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none
}

dt {
	font-weight: 700
}

dd {
	margin-left: 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit
}

pre {
	font-family: monospace, monospace;
	font-size: inherit
}

address {
	font-style: inherit
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit
}

abbr[title] {
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: inherit
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
	cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
	cursor: default
}

:-moz-focusring {
	outline: auto
}

select:disabled {
	opacity: inherit
}

option {
	padding: 0
}

fieldset {
	margin: 0;
	padding: 0;
	min-width: 0
}

legend {
	padding: 0
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

[type=number] {
	-moz-appearance: textfield
}

label[for] {
	cursor: pointer
}

details {
	display: block
}

summary {
	display: list-item
}

[contenteditable]:focus {
	outline: auto
}

table {
	border-color: inherit;
	border-collapse: collapse
}

caption {
	text-align: left
}

td,
th {
	vertical-align: top;
	padding: 0
}

th {
	text-align: left;
	font-weight: 700
}

/*! ------------ JWU FAS STYLES ------------ */
.dn {
	display: none !important
}

.pconly_b {
	display: block !important
}

@media screen and (max-width:1024px) {
	.pconly_b {
		display: none !important
	}
}

.pconly_in {
	display: inline !important
}

@media screen and (max-width:1024px) {
	.pconly_in {
		display: none !important
	}
}

.pconly_fx {
	display: flex !important
}

@media screen and (max-width:1024px) {
	.pconly_fx {
		display: none !important
	}
}

.bigonly_b {
	display: block !important
}

@media screen and (max-width:500px) {
	.bigonly_b {
		display: none !important
	}
}

.bigonly_in {
	display: inline !important
}

@media screen and (max-width:500px) {
	.bigonly_in {
		display: none !important
	}
}

.bigonly_fx {
	display: flex !important
}

@media screen and (max-width:500px) {
	.bigonly_fx {
		display: none !important
	}
}

.tabonly_b {
	display: none !important
}

@media screen and (max-width:1024px) {
	.tabonly_b {
		display: block !important
	}
}

@media screen and (max-width:500px) {
	.tabonly_b {
		display: none !important
	}
}

.smallonly_b {
	display: none !important
}

@media screen and (max-width:1024px) {
	.smallonly_b {
		display: block !important
	}
}

.smallonly_fx {
	display: none !important
}

@media screen and (max-width:1024px) {
	.smallonly_fx {
		display: flex !important
	}
}

.smponly_b {
	display: none !important
}

@media screen and (max-width:500px) {
	.smponly_b {
		display: block !important
	}
}

@media screen and (max-width:500px) {
	.pcbreak {
		display: none
	}
}

@media screen and (max-width:1899px) {
	.smpbreak {
		display: none
	}
}

.fn {
	font-family: ivypresto-text, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 400;
	font-style: normal
}

.fb {
	font-family: ivypresto-text, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 600;
	font-style: normal
}

.fdn {
	font-family: ivypresto-headline, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 400;
	font-style: normal
}

.fdb {
	font-family: ivypresto-headline, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 600;
	font-style: normal
}

.itl {
	font-style: italic
}

.coverart {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.bgmov {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0
}

body {
	font-size: 75%;
	letter-spacing: .04em;
	font-family: ivypresto-text, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400
}

@media screen and (max-width:1024px) {
	body {
		font-size: 65%
	}
}

@media screen and (max-width:500px) {
	body {
		font-size: 63%
	}
}

.t10 {
	font-size: .8rem
}

@media screen and (max-width:1024px) {
	.t10 {
		font-size: .8rem
	}
}

@media screen and (max-width:500px) {
	.t10 {
		font-size: .72rem
	}
}

.t12 {
	font-size: 1rem
}

@media screen and (max-width:500px) {
	.t12 {
		font-size: .9rem
	}
}

.t14 {
	font-size: 1.16rem
}

@media screen and (max-width:1024px) {
	.t14 {
		font-size: 1.044rem
	}
}

@media screen and (max-width:500px) {
	.t14 {
		font-size: .928rem
	}
}

.t16 {
	font-size: 1.3rem
}

@media screen and (max-width:1024px) {
	.t16 {
		font-size: 1.17rem
	}
}

@media screen and (max-width:500px) {
	.t16 {
		font-size: 1.04rem
	}
}

.t18 {
	font-size: 1.5rem
}

@media screen and (max-width:1024px) {
	.t18 {
		font-size: 1.35rem
	}
}

@media screen and (max-width:500px) {
	.t18 {
		font-size: 1.2rem
	}
}

.t20 {
	font-size: 1.6rem
}

@media screen and (max-width:1024px) {
	.t20 {
		font-size: 1.44rem
	}
}

@media screen and (max-width:500px) {
	.t20 {
		font-size: 1.28rem
	}
}

.t22 {
	font-size: 1.8rem
}

@media screen and (max-width:1024px) {
	.t22 {
		font-size: 1.62rem
	}
}

@media screen and (max-width:500px) {
	.t22 {
		font-size: 1.44rem
	}
}

.t25 {
	font-size: 2.1rem
}

@media screen and (max-width:1024px) {
	.t25 {
		font-size: 1.89rem
	}
}

@media screen and (max-width:500px) {
	.t25 {
		font-size: 1.68rem
	}
}

.t28 {
	font-size: 2.3rem
}

@media screen and (max-width:1024px) {
	.t28 {
		font-size: 2.07rem
	}
}

@media screen and (max-width:500px) {
	.t28 {
		font-size: 1.725rem
	}
}

.t30 {
	font-size: 2.5rem
}

@media screen and (max-width:1024px) {
	.t30 {
		font-size: 2rem
	}
}

@media screen and (max-width:500px) {
	.t30 {
		font-size: 1.875rem
	}
}

.t32 {
	font-size: 2.6rem
}

@media screen and (max-width:1024px) {
	.t32 {
		font-size: 2.08rem
	}
}

@media screen and (max-width:500px) {
	.t32 {
		font-size: 1.82rem
	}
}

.t34 {
	font-size: 2.8rem
}

@media screen and (max-width:1024px) {
	.t34 {
		font-size: 2.24rem
	}
}

@media screen and (max-width:500px) {
	.t34 {
		font-size: 1.96rem
	}
}

.t36 {
	font-size: 3rem
}

@media screen and (max-width:1024px) {
	.t36 {
		font-size: 2.4rem
	}
}

@media screen and (max-width:500px) {
	.t36 {
		font-size: 2.1rem
	}
}

.t38 {
	font-size: 3.16rem
}

@media screen and (max-width:1024px) {
	.t38 {
		font-size: 2.528rem
	}
}

@media screen and (max-width:500px) {
	.t38 {
		font-size: 2.212rem
	}
}

.t40 {
	font-size: 3.33rem
}

@media screen and (max-width:1024px) {
	.t40 {
		font-size: 2.664rem
	}
}

@media screen and (max-width:500px) {
	.t40 {
		font-size: 2.331rem
	}
}

.tf1 {
	font-size: 1.5vw
}

@media screen and (min-width:1900px) {
	.tf1 {
		font-size: 1.75rem
	}
}

.tf2 {
	font-size: 1.8vw
}

@media screen and (min-width:1900px) {
	.tf2 {
		font-size: 2rem
	}
}

@media screen and (max-width:500px) {
	.tf2 {
		font-size: 3.8vw
	}
}

.head1 {
	font-size: 2.55vw
}

@media screen and (min-width:1900px) {
	.head1 {
		font-size: 2.8rem
	}
}

@media screen and (max-width:1280px) {
	.head1 {
		font-size: 3vw
	}
}

@media screen and (max-width:1024px) {
	.head1 {
		font-size: 4.5vw
	}
}

@media screen and (max-width:500px) {
	.head1 {
		font-size: 6.75vw
	}
}

.head1b {
	font-size: 2.55vw
}

@media screen and (min-width:1900px) {
	.head1b {
		font-size: 2.8rem
	}
}

@media screen and (max-width:1280px) {
	.head1b {
		font-size: 3.5vw
	}
}

@media screen and (max-width:1024px) {
	.head1b {
		font-size: 4.2vw
	}
}

@media screen and (max-width:750px) {
	.head1b {
		font-size: 4.45vw
	}
}

@media screen and (max-width:500px) {
	.head1b {
		font-size: 5.4vw
	}
}

.head1c {
	font-size: 2.25vw
}

@media screen and (min-width:1900px) {
	.head1c {
		font-size: 2.3rem
	}
}

@media screen and (max-width:1024px) {
	.head1c {
		font-size: 4.5vw
	}
}

@media screen and (max-width:500px) {
	.head1c {
		font-size: 6.75vw
	}
}

.head2 {
	font-size: 2.5vw
}

@media screen and (min-width:1900px) {
	.head2 {
		font-size: 2.1rem
	}
}

@media screen and (max-width:1280px) {
	.head2 {
		font-size: 3.85vw
	}
}

@media screen and (max-width:1024px) {
	.head2 {
		font-size: 4vw
	}
}

@media screen and (max-width:500px) {
	.head2 {
		font-size: 6vw
	}
}

.head3 {
	font-size: 1.55vw
}

@media screen and (min-width:1900px) {
	.head3 {
		font-size: 1.6rem
	}
}

@media screen and (max-width:1280px) {
	.head3 {
		font-size: 3.25vw
	}
}

@media screen and (max-width:1024px) {
	.head3 {
		font-size: 3.1vw
	}
}

@media screen and (max-width:500px) {
	.head3 {
		font-size: 5.25vw
	}
}

.head4 {
	font-size: 1.45vw;
	white-space: nowrap
}

@media screen and (min-width:1900px) {
	.head4 {
		font-size: 1.5rem
	}
}

@media screen and (max-width:1280px) {
	.head4 {
		font-size: 2.2vw
	}
}

@media screen and (max-width:1024px) {
	.head4 {
		font-size: 2.1vw;
		white-space: wrap
	}
}

@media screen and (max-width:750px) {
	.head4 {
		font-size: 2.65vw
	}
}

@media screen and (max-width:500px) {
	.head4 {
		font-size: 4.5vw
	}
}

small {
	font-size: 80%
}

rt {
	margin-top: .5em;
	margin-bottom: .25em
}

@media screen and (max-width:500px) {
	rt {
		font-size: 40%;
		margin-top: .5em;
		margin-bottom: .5em
	}
}

.lh2 {
	line-height: 2.25em
}

.lh75 {
	line-height: 1.8em
}

.lh50 {
	line-height: 1.5em
}

.lh1 {
	line-height: 1em
}

.ls {
	letter-spacing: .12em
}

.lsdisp {
	letter-spacing: .075em
}

.lswide {
	letter-spacing: .2em
}

.tac {
	text-align: center
}

.justify {
	text-align: justify;
	text-justify: inter-ideograph;
	line-break: strict;
	word-break: break-word;
	overflow-wrap: break-word;
	word-wrap: break-word
}

.asterisk {
	position: relative;
	top: -.5em;
	padding-right: .1em;
	font-size: 66%;
	vertical-align: bottom;
	font-family: ivypresto-text, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500
}

@media screen and (max-width:500px) {
	.asterisk {
		font-size: 78%
	}
}

.anchordeco {
	text-decoration: underline
}

.anchordeco:hover {
	text-decoration: none
}

.links {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end
}

.readmore {
	position: relative;
	width: fit-content;
	text-align: right;
	margin-top: .5em;
	margin-right: 1.75em;
	cursor: pointer;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-perspective: 1000;
	perspective: 1000;
	transform: translate(0)
}

@media screen and (max-width:500px) {
	.readmore {
		align-self: flex-end;
		margin-right: calc(1.5rem + 1em)
	}
}

.readmore:after {
	content: "⇀";
	font-family: ivypresto-headline, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 600;
	font-size: 1.25em;
	position: absolute;
	right: -1.5em;
	top: -.1em;
	transform: translate(0);
	will-change: transform;
	transition: .2s cubic-bezier(.45, 0, .55, 1)
}

.readmore:hover:after,
.readmore:hover .readmore:after,
.open-modal-btn:hover:after,
.open-modal-btn:hover .readmore:after,
.top-modal-btn:hover:after,
.top-modal-btn:hover .readmore:after,
.close-modal-btn:hover:after,
.close-modal-btn:hover .readmore:after {
	transform: translate(.5rem)
}

.fadein_element {
	transition: opacity .8s ease-out, transform .8s ease-out;
	will-change: opacity, transform
}

.fadein_element:not(:has(.stagger)) {
	opacity: 0;
	transform: translateY(20px)
}

.fadein_element.loaded:not(:has(.stagger)) {
	opacity: 1;
	transform: translateY(0)
}

picture > img.fadein_element {
	transition: filter .8s cubic-bezier(.33, 1, .68, 1);
	will-change: filter;
	overflow: clip
}

picture > img.fadein_element:not(:has(.stagger)) {
	filter: blur(10px) opacity(0)
}

picture > img.fadein_element.loaded {
	filter: blur(0px) opacity(1)
}

picture:has(.fadein_element) {
	overflow: hidden
}

.stagger {
	opacity: 0;
	transform: translateY(15px);
	transition: opacity .8s ease-out, transform .8s ease-out;
	will-change: opacity, transform;
	transition-delay: calc(var(--i, 0) * .2s)
}

.fadein_element.loaded .stagger {
	opacity: 1;
	transform: translateY(0)
}

body.is-zooming .fadein_element {
	transition: none !important;
	animation: none !important
}

.loader-container[data-astro-cid-vs4rztys] {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 100000;
	transition: opacity .5s ease, visibility .5s ease
}

.loader-content[data-astro-cid-vs4rztys] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40%
}

.loader-logo[data-astro-cid-vs4rztys] {
	display: block;
	width: auto;
	height: 8vh;
	margin-bottom: 10vh
}

.loader-spinner[data-astro-cid-vs4rztys] {
	display: block;
	font-size: .75rem;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	text-indent: -9999em;
	animation: mulShdSpin 1.1s infinite ease;
	transform: translateZ(0)
}

.loader-hidden[data-astro-cid-vs4rztys] {
	opacity: 0;
	visibility: hidden
}

@keyframes mulShdSpin {

	0%,
	to {
		box-shadow: 0 -2.6em #ccc, 1.8em -1.8em #64646433, 2.5em 0 #64646433, 1.75em 1.75em #64646433, 0 2.5em #64646433, -1.8em 1.8em #64646433, -2.6em 0 #64646480, -1.8em -1.8em #646464b3
	}
	
	12.5% {
		box-shadow: 0 -2.6em #646464b3, 1.8em -1.8em #ccc, 2.5em 0 #64646433, 1.75em 1.75em #64646433, 0 2.5em #64646433, -1.8em 1.8em #64646433, -2.6em 0 #64646433, -1.8em -1.8em #64646480
	}
	
	25% {
		box-shadow: 0 -2.6em #64646480, 1.8em -1.8em #646464b3, 2.5em 0 #ccc, 1.75em 1.75em #64646433, 0 2.5em #64646433, -1.8em 1.8em #64646433, -2.6em 0 #64646433, -1.8em -1.8em #64646433
	}
	
	37.5% {
		box-shadow: 0 -2.6em #64646433, 1.8em -1.8em #64646480, 2.5em 0 #646464b3, 1.75em 1.75em #ccc, 0 2.5em #64646433, -1.8em 1.8em #64646433, -2.6em 0 #64646433, -1.8em -1.8em #64646433
	}
	
	50% {
		box-shadow: 0 -2.6em #64646433, 1.8em -1.8em #64646433, 2.5em 0 #64646480, 1.75em 1.75em #646464b3, 0 2.5em #ccc, -1.8em 1.8em #64646433, -2.6em 0 #64646433, -1.8em -1.8em #64646433
	}
	
	62.5% {
		box-shadow: 0 -2.6em #64646433, 1.8em -1.8em #64646433, 2.5em 0 #64646433, 1.75em 1.75em #64646480, 0 2.5em #646464b3, -1.8em 1.8em #ccc, -2.6em 0 #64646433, -1.8em -1.8em #64646433
	}
	
	75% {
		box-shadow: 0 -2.6em #64646433, 1.8em -1.8em #64646433, 2.5em 0 #64646433, 1.75em 1.75em #64646433, 0 2.5em #64646480, -1.8em 1.8em #646464b3, -2.6em 0 #ccc, -1.8em -1.8em #64646433
	}
	
	87.5% {
		box-shadow: 0 -2.6em #64646433, 1.8em -1.8em #64646433, 2.5em 0 #64646433, 1.75em 1.75em #64646433, 0 2.5em #64646433, -1.8em 1.8em #64646480, -2.6em 0 #646464b3, -1.8em -1.8em #ccc
	}
}

header[data-astro-cid-hmtmfzsv] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	display: flex;
	flex-direction: column;
	align-items: center
}

.header-wrapper[data-astro-cid-hmtmfzsv] {
	position: relative;
	width: 100%;
	max-width: 1920px;
	height: 5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 3rem;
	padding-left: 5rem;
	padding-right: 5rem;
	font-size: 18px;
	color: #461d87;
	overflow: visible;
	pointer-events: none
}

@media screen and (max-width:1280px) {
	.header-wrapper[data-astro-cid-hmtmfzsv] {
		height: 7rem;
		padding-top: 1.5rem;
		padding-left: 5rem;
		padding-right: 5rem
	}
}

@media screen and (max-width:1024px) {
	.header-wrapper[data-astro-cid-hmtmfzsv] {
		height: 7rem;
		padding-top: 1.5rem;
		padding-left: 3rem;
		padding-right: 3rem
	}
}

@media screen and (max-width:750px) {
	.header-wrapper[data-astro-cid-hmtmfzsv] {
		height: 5rem;
		padding-top: 1.5rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem
	}
}

@media screen and (max-width:500px) {
	.header-wrapper[data-astro-cid-hmtmfzsv] {
		height: 4rem;
		padding-top: 1.5rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem
	}
}

h1[data-astro-cid-hmtmfzsv] {
	display: none
}

.header-logo[data-astro-cid-hmtmfzsv] {
	position: absolute;
	top: 1.5rem;
	left: 3rem;
	right: unset;
	height: 5rem;
	overflow: visible;
	pointer-events: auto
}

@media screen and (max-width:1280px) {
	.header-logo[data-astro-cid-hmtmfzsv] {
		top: 1.5rem;
		left: 5rem;
		height: 4rem
	}
}

@media screen and (max-width:1024px) {
	.header-logo[data-astro-cid-hmtmfzsv] {
		top: 1.5rem;
		left: 3rem;
		height: 4rem
	}
}

@media screen and (max-width:750px) {
	.header-logo[data-astro-cid-hmtmfzsv] {
		top: 1.5rem;
		left: 1.5rem;
		height: 3.5rem
	}
}

@media screen and (max-width:500px) {
	.header-logo[data-astro-cid-hmtmfzsv] {
		top: 1.5rem;
		left: 1.5rem;
		height: 2.5rem
	}
}

.header-logo[data-astro-cid-hmtmfzsv] > img[data-astro-cid-hmtmfzsv] {
	height: 100%;
	width: auto;
	overflow: visible
}

.header-title[data-astro-cid-hmtmfzsv] {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	position: absolute;
	top: 9rem;
	right: 3rem;
	color: #8a89eb
}

@media screen and (max-width:1024px) {
	.header-title[data-astro-cid-hmtmfzsv] {
		top: 6rem;
		right: 1.5rem
	}
}

@media screen and (max-width:750px) {
	.header-title[data-astro-cid-hmtmfzsv] {
		top: 5rem;
		right: 1.5rem
	}
}

@media screen and (max-width:500px) {
	.header-title[data-astro-cid-hmtmfzsv] {
		top: 5.5rem;
		right: 1.5rem
	}
}

.header-title[data-astro-cid-hmtmfzsv] span[data-astro-cid-hmtmfzsv] {
	display: block;
	margin-bottom: .25rem
}

@media screen and (max-width:1024px) {
	.header-title[data-astro-cid-hmtmfzsv] span[data-astro-cid-hmtmfzsv] {
		margin-bottom: .15rem
	}
}

.title1[data-astro-cid-hmtmfzsv] {
	font-size: 1.3rem
}

@media screen and (max-width:1024px) {
	.title1[data-astro-cid-hmtmfzsv] {
		font-size: 2.25vw
	}
}

@media screen and (max-width:500px) {
	.title1[data-astro-cid-hmtmfzsv] {
		font-size: 3vw
	}
}

.title2[data-astro-cid-hmtmfzsv] {
	font-size: 1.16rem;
	transform: translate(.5em)
}

@media screen and (max-width:1024px) {
	.title2[data-astro-cid-hmtmfzsv] {
		font-size: 2vw
	}
}

@media screen and (max-width:500px) {
	.title2[data-astro-cid-hmtmfzsv] {
		font-size: 3vw
	}
}

.title3[data-astro-cid-hmtmfzsv] {
	font-size: 1.6rem;
	margin-top: .5rem
}

@media screen and (max-width:1024px) {
	.title3[data-astro-cid-hmtmfzsv] {
		font-size: 2.5vw;
		margin-top: .4rem
	}
}

@media screen and (max-width:500px) {
	.title3[data-astro-cid-hmtmfzsv] {
		font-size: 3.25vw;
		margin-top: .4rem
	}
}

.title4[data-astro-cid-hmtmfzsv] {
	font-size: 1.16rem;
	transform: translate(.5em)
}

@media screen and (max-width:1024px) {
	.title4[data-astro-cid-hmtmfzsv] {
		font-size: 2vw
	}
}

@media screen and (max-width:500px) {
	.title4[data-astro-cid-hmtmfzsv] {
		font-size: 3vw
	}
}

footer[data-astro-cid-a7rhovdu] {
	padding: 80px 2% 32px;
	color: #000;
	background-color: #fff
}

@media screen and (max-width:599px) {
	footer[data-astro-cid-a7rhovdu] {
		padding: 8% 0% 4% 0
	}
}

footer[data-astro-cid-a7rhovdu] .footer__logo[data-astro-cid-a7rhovdu] {
	display: block;
	max-width: 280px;
	width: 50%;
	margin: 0 auto 32px
}

@media screen and (max-width:599px) {
	footer[data-astro-cid-a7rhovdu] .footer__logo[data-astro-cid-a7rhovdu] {
		margin-bottom: 4%;
		width: 45%
	}
}

footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] {
	display: flex;
	justify-content: center;
	font-size: 13px;
	flex-wrap: wrap;
	width: 98%;
	margin: 0 auto
}

@media screen and (max-width:599px) {
	footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] {
		font-size: 11px
	}
}

footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] li[data-astro-cid-a7rhovdu] {
	margin-top: 14px;
	margin-bottom: 2px;
	padding: 0 16px
}

@media screen and (max-width:599px) {
	footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] li[data-astro-cid-a7rhovdu] {
		padding: 0 4px
	}
}

footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] li[data-astro-cid-a7rhovdu]:not(:last-child) {
	border-right: solid 1px #afafaf
}

footer[data-astro-cid-a7rhovdu] .footer__sub[data-astro-cid-a7rhovdu] {
	color: #666
}

footer[data-astro-cid-a7rhovdu] .copyright[data-astro-cid-a7rhovdu] {
	font-size: 11px;
	text-align: center;
	margin-top: 24px
}

footer[data-astro-cid-a7rhovdu] .footer__info[data-astro-cid-a7rhovdu] li[data-astro-cid-a7rhovdu] a[data-astro-cid-a7rhovdu]:hover {
	opacity: 1;
	color: #bf1943
}

.background-gim[data-astro-cid-gauwminc] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: clip
}

.bg-container[data-astro-cid-gauwminc] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.organic-shape[data-astro-cid-gauwminc] {
	position: absolute;
	width: 80vmax;
	height: 80vmax;
	filter: blur(6rem);
	mix-blend-mode: multiply;
	opacity: 0;
	will-change: transform, opacity
}

@media screen and (max-width:500px) {
	.organic-shape[data-astro-cid-gauwminc] {
		width: 100vmax;
		height: 100vmax
	}
}

#menu[data-astro-cid-c6u5ezxh] {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .4s ease, visibility .4s;
	display: none;
	z-index: 10000;
	position: fixed;
	flex-direction: column;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	background-color: #fff;
	justify-content: center;
	align-items: center;
	background: #ffffff80;
	color: #461d87;
	transition: opacity .5s ease, visibility .5s ease
}

#menu[data-astro-cid-c6u5ezxh].open {
	display: flex
}

#menu[data-astro-cid-c6u5ezxh].open.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto
}

.menu-bg[data-astro-cid-c6u5ezxh] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	background: #ffffff1a;
	z-index: 100;
	cursor: pointer;
	transition: background 1s ease-in-out
}

.menu-bg[data-astro-cid-c6u5ezxh]:hover {
	background: #ffffff80
}

.menu-content[data-astro-cid-c6u5ezxh] {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 65%;
	max-width: 800px;
	height: 100dvh;
	margin-top: -1.5em;
	padding: 5rem;
	background: #d8f6ff;
	z-index: 10000;
	overflow-y: auto !important;
	overflow-x: hidden
}

@media screen and (max-width:1280px) {
	.menu-content[data-astro-cid-c6u5ezxh] {
		max-width: unset;
		width: 70%
	}
}

@media screen and (max-width:750px) {
	.menu-content[data-astro-cid-c6u5ezxh] {
		width: 90%
	}
}

@media screen and (max-width:500px) {
	.menu-content[data-astro-cid-c6u5ezxh] {
		width: 100%;
		padding: 3rem
	}
}

.close-menu-x[data-astro-cid-c6u5ezxh] {
	display: block;
	fill: #836fa3;
	z-index: 100000;
	position: fixed;
	top: 3rem;
	right: 3rem;
	width: 3rem;
	height: 3rem;
	opacity: 0;
	transition: opacity .2s linear
}

@media screen and (max-width:1024px) {
	.close-menu-x[data-astro-cid-c6u5ezxh] {
		top: 1.5rem;
		right: 1.5rem;
		width: 2.5rem;
		height: 2.5rem
	}
}

@media screen and (max-width:500px) {
	.close-menu-x[data-astro-cid-c6u5ezxh] {
		top: 1.5rem;
		right: 1.5rem;
		width: 2rem;
		height: 2rem
	}
}

.close-menu-x[data-astro-cid-c6u5ezxh].open {
	opacity: 1
}

.menu-title[data-astro-cid-c6u5ezxh],
.menu-normal[data-astro-cid-c6u5ezxh] {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: .25em
}

.menu-title[data-astro-cid-c6u5ezxh] {
	margin-bottom: .75em
}

.menu-title[data-astro-cid-c6u5ezxh] small[data-astro-cid-c6u5ezxh] {
	width: fit-content;
	display: inline !important
}

.menu-normal[data-astro-cid-c6u5ezxh] ul[data-astro-cid-c6u5ezxh] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 80%;
	padding: .75em 0;
	margin-bottom: 1em
}

@media screen and (max-width:1280px) {
	.menu-normal[data-astro-cid-c6u5ezxh] ul[data-astro-cid-c6u5ezxh] {
		margin-bottom: 3em
	}
}

@media screen and (max-width:1024px) {
	.menu-normal[data-astro-cid-c6u5ezxh] ul[data-astro-cid-c6u5ezxh] {
		margin-bottom: 2em
	}
}

@media screen and (max-width:500px) {
	.menu-normal[data-astro-cid-c6u5ezxh] ul[data-astro-cid-c6u5ezxh] {
		margin-bottom: 1em
	}
}

.menu-normal[data-astro-cid-c6u5ezxh] ul[data-astro-cid-c6u5ezxh]:last-child {
	margin-bottom: 0
}

.menu-normal[data-astro-cid-c6u5ezxh] li[data-astro-cid-c6u5ezxh] {
	width: 100%;
	margin-bottom: .75em;
	padding-top: .75em;
	border-top: .1rem solid rgb(131, 111, 163);
	will-change: opacity, transform !important
}

.menu-normal[data-astro-cid-c6u5ezxh] li[data-astro-cid-c6u5ezxh]:last-child {
	margin-bottom: 0
}

.menu-normal[data-astro-cid-c6u5ezxh] li[data-astro-cid-c6u5ezxh] > a[data-astro-cid-c6u5ezxh] {
	display: block
}

.menu-normal[data-astro-cid-c6u5ezxh] li[data-astro-cid-c6u5ezxh] > a[data-astro-cid-c6u5ezxh] > small[data-astro-cid-c6u5ezxh] {
	width: 100%;
	display: block !important
}

.loader-container {
	z-index: 100000
}

.modal-compo,
#menu {
	z-index: 10000
}

.header-wrapper {
	z-index: 10
}

section {
	z-index: 1
}

.menu-opener {
	z-index: 1000
}

.open-modal-btn {
	cursor: pointer
}

.close-modal-x {
	position: absolute;
	top: 2rem;
	right: 2rem;
	width: 2rem;
	height: 2rem;
	z-index: 100000;
	cursor: pointer;
	fill: #836fa3
}

@media screen and (max-width:1024px) {
	.close-modal-x {
		top: 1.5rem;
		right: 1.5rem;
		width: 2.5rem;
		height: 2.5rem
	}
}

@media screen and (max-width:500px) {
	.close-modal-x {
		top: 1.5rem;
		right: 1.5rem;
		width: 2rem;
		height: 2rem
	}
}

.close-modal-x:hover {
	opacity: .5
}

.modal-compo {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	touch-action: pan-y pinch-zoom;
	transition: opacity .4s ease, visibility .4s;
	display: none;
	z-index: 10000;
	position: fixed;
	inset: 0;
	margin: auto;
	width: 100vw;
	min-height: 100dvh
}

.modal-compo.open {
	display: block;
	contain: content
}

.modal-compo.open.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto
}

.modal-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100dvh;
	background: #00000080;
	z-index: 100;
	cursor: pointer;
	transition: background 1s ease-in-out
}

.modal-bg:hover {
	background: #00000059
}

.modal-body {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 65%;
	max-width: 800px;
	min-height: 100dvh;
	background: #fff;
	z-index: 10000;
	overflow-y: auto !important;
	overflow-x: hidden
}

@media screen and (max-width:1280px) {
	.modal-body {
		max-width: unset;
		width: 80%
	}
}

@media screen and (max-width:1024px) {
	.modal-body {
		width: 90%
	}
}

@media screen and (max-width:750px) {
	.modal-body {
		width: 95%
	}
}

@media screen and (max-width:500px) {
	.modal-body {
		width: 100%
	}
}

.modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
	padding: 5rem 3rem
}

@media screen and (max-width:500px) {
	.modal-content {
		padding: 5rem 1.5rem
	}
}

.modal-content > h3 {
	margin-bottom: 1.25em !important
}

.modal-content > p {
	margin-bottom: 1em
}

.modal-content .background-gim {
	width: 100%;
	z-index: -2;
	overflow: clip
}

.modal-content .shapes-wrapper {
	width: 100% !important;
	height: 100% !important
}

.modal-content .background-base {
	z-index: -3
}

.modal-content.approach h3 {
	margin: 0 !important
}

.modal-content.approach picture {
	display: flex;
	justify-content: center;
	margin: 5rem 0;
	width: 100%;
	height: fit-content
}

.modal-content.approach picture img {
	display: block;
	width: 55%;
	height: auto
}

.modal-content.interview section {
	width: 100%;
	height: unset;
	min-height: unset;
	padding: 3rem 0
}

.modal-content.interview h3,
.modal-content.interview h4,
.modal-content.interview p {
	width: 100%;
	margin-bottom: 1em
}

.modal-content.interview h3 {
	font-size: 2.2rem
}

@media screen and (max-width:1024px) {
	.modal-content.interview h3 {
		font-size: 2rem
	}
}

@media screen and (max-width:500px) {
	.modal-content.interview h3 {
		font-size: 6vw
	}
}

.modal-content.interview .opening {
	width: 100%;
	padding-top: 0
}

.modal-content.interview .opening picture {
	display: flex;
	justify-content: center;
	width: 100%;
	height: auto
}

.modal-content.interview .opening picture img {
	display: block;
	width: 78%;
	height: 64dvh;
	object-fit: cover;
	object-position: 50% 10%
}

.modal-content.interview .interview-prof {
	margin-bottom: 3rem
}

.modal-content.interview .interview-body section:first-child {
	padding-top: 0
}

.modal-content.interview .interview-body section picture:has(.decoimg) {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
	width: 100%;
	height: fit-content;
	transition: all .8s ease-out
}

.decoimg {
	width: 100%;
	height: auto
}

.modal-content.faculty section {
	width: 100%;
	height: unset;
	min-height: unset;
	padding: 3rem 0
}

.top-copy-wrapper[data-astro-cid-zae2fdye] {
	z-index: 100;
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	max-width: 1920px;
	height: 100%
}

.top-copy[data-astro-cid-zae2fdye] {
	position: absolute;
	bottom: 5rem;
	right: 3rem;
	left: unset;
	color: #313aaa;
	margin-bottom: 0;
	text-align: justify;
	text-align-last: justify;
	width: 40vw;
	max-width: 680px;
	filter: blur(20px) opacity(0);
	transition: filter 1.35s cubic-bezier(.34, 1.56, .64, 1)
}

@media screen and (max-width:1280px) {
	.top-copy[data-astro-cid-zae2fdye] {
		width: 35vw
	}
}

@media screen and (max-width:1024px) {
	.top-copy[data-astro-cid-zae2fdye] {
		color: #fff;
		width: 80vw;
		max-width: unset;
		bottom: 4.5rem;
		right: unset;
		right: 8vw;
		left: 12vw;
		letter-spacing: .1em !important
	}
}

@media screen and (max-width:500px) {
	.top-copy[data-astro-cid-zae2fdye] {
		width: 90vw;
		right: 3vw;
		left: 7vw;
		bottom: 3rem
	}
}

.top-copy[data-astro-cid-zae2fdye] span[data-astro-cid-zae2fdye] {
	width: 100%;
	display: block
}

.top-copy[data-astro-cid-zae2fdye] small[data-astro-cid-zae2fdye] {
	display: block;
	font-size: 55%;
	margin-top: -.25em
}

.top-copy[data-astro-cid-zae2fdye].show {
	filter: blur(0) opacity(1)
}

.top-copy-title[data-astro-cid-zae2fdye] {
	font-size: .7em
}

.top-kv-part[data-astro-cid-zae2fdye] {
	position: absolute;
	top: 50%;
	left: 50%
}

.top-kv-part[data-astro-cid-zae2fdye] > .visual-inner[data-astro-cid-zae2fdye] {
	filter: blur(20px) opacity(0);
	transform: translate(-50%, -50%) scale(1.5) translateY(240px);
	transition: all 1s ease-out, filter 1.5s cubic-bezier(.65, 0, .35, 1), transform 2.5s cubic-bezier(.25, 1, .5, 1)
}

.top-kv-part[data-astro-cid-zae2fdye] > .visual-inner[data-astro-cid-zae2fdye] img[data-astro-cid-zae2fdye] {
	width: 100%;
	height: auto;
	display: block
}

.top-kv-part[data-astro-cid-zae2fdye].show > .visual-inner[data-astro-cid-zae2fdye] {
	filter: blur(0) opacity(1);
	transform: translate(var(--offset-x, -50%), var(--offset-y, -50%)) scale(1)
}

.top-kv-part[data-astro-cid-zae2fdye]#part1 > .visual-inner[data-astro-cid-zae2fdye] {
	z-index: 5;
	width: 33vw;
	height: auto;
	--offset-x: -52%;
	--offset-y: -22%
}

@media screen and (max-width:1280px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part1 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 38vw;
		--offset-x: -50%;
		--offset-y: -30%
	}
}

@media screen and (max-width:1024px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part1 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 55vw;
		--offset-x: -58%;
		--offset-y: -30%
	}
}

@media screen and (max-width:500px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part1 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 98vw;
		--offset-x: -58%;
		--offset-y: -32%
	}
}

.top-kv-part[data-astro-cid-zae2fdye]#part2 > .visual-inner[data-astro-cid-zae2fdye] {
	z-index: 4;
	width: 40vw;
	height: auto;
	--offset-x: -32%;
	--offset-y: 7%
}

@media screen and (max-width:1280px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part2 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 44vw;
		--offset-x: -32%;
		--offset-y: -2%
	}
}

@media screen and (max-width:1024px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part2 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 85vw;
		--offset-x: -35%;
		--offset-y: 5%
	}
}

@media screen and (max-width:500px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part2 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 110vw;
		--offset-x: -40%;
		--offset-y: -2%
	}
}

.top-kv-part[data-astro-cid-zae2fdye]#part3 > .visual-inner[data-astro-cid-zae2fdye] {
	z-index: 3;
	width: 66vw;
	height: auto;
	--offset-x: -35%;
	--offset-y: 20%
}

@media screen and (max-width:1280px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part3 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 70vw;
		--offset-x: -40%;
		--offset-y: 10%
	}
}

@media screen and (max-width:1024px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part3 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 130vw;
		--offset-x: -40%;
		--offset-y: 12%
	}
}

@media screen and (max-width:500px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part3 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 150vw;
		--offset-x: -35%;
		--offset-y: 12%
	}
}

.top-kv-part[data-astro-cid-zae2fdye]#part4 > .visual-inner[data-astro-cid-zae2fdye] {
	z-index: 2;
	width: 36vw;
	height: auto;
	--offset-x: -38%;
	--offset-y: 12%
}

@media screen and (max-width:1280px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part4 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 45vw;
		--offset-x: -32%;
		--offset-y: 10%
	}
}

@media screen and (max-width:1024px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part4 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 80vw;
		--offset-x: -38%;
		--offset-y: 8%
	}
}

@media screen and (max-width:500px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part4 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 105vw;
		--offset-x: -42%;
		--offset-y: 15%
	}
}

.top-kv-part[data-astro-cid-zae2fdye]#part5 > .visual-inner[data-astro-cid-zae2fdye] {
	z-index: 1;
	width: 46vw;
	height: auto;
	--offset-x: -38%;
	--offset-y: 15%
}

@media screen and (max-width:1280px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part5 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 56vw;
		--offset-x: -38%;
		--offset-y: 10%
	}
}

@media screen and (max-width:1024px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part5 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 100vw;
		--offset-x: -42%;
		--offset-y: 10%
	}
}

@media screen and (max-width:500px) {
	.top-kv-part[data-astro-cid-zae2fdye]#part5 > .visual-inner[data-astro-cid-zae2fdye] {
		width: 125vw;
		--offset-x: -45%;
		--offset-y: 8%
	}
}

.subvisual-material[data-astro-cid-vdgoc6yu] {
	width: 100%;
	height: 100%;
	overflow: visible !important
}

.subvisual-material[data-astro-cid-vdgoc6yu] picture[data-astro-cid-vdgoc6yu] {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: visible !important
}

.subvisual-material[data-astro-cid-vdgoc6yu] img[data-astro-cid-vdgoc6yu] {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	height: 150%
}

@media screen and (max-width:500px) {
	.subvisual-material[data-astro-cid-vdgoc6yu] img[data-astro-cid-vdgoc6yu] {
		height: 120%
	}
}

picture[data-astro-cid-rbwfeh6r]:has(#deco1) {
	justify-content: flex-end !important;
	margin-right: 10rem
}

#deco1[data-astro-cid-rbwfeh6r] {
	width: 34%
}

#deco2[data-astro-cid-rbwfeh6r],
#deco1[data-astro-cid-cp5i2dt2] {
	width: 70%
}

#deco2[data-astro-cid-cp5i2dt2] {
	width: 50%
}

#deco1[data-astro-cid-6mvujfr5] {
	width: 65%
}

#deco2[data-astro-cid-6mvujfr5] {
	width: 70%
}

#deco1[data-astro-cid-itam36nj],
#deco2[data-astro-cid-itam36nj] {
	width: 55%
}

.faculty-item-port[data-astro-cid-ms7yzzup].coming {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1/1;
	background: #dcdddd
}

.faculty-item-port[data-astro-cid-ms7yzzup].coming img[data-astro-cid-ms7yzzup] {
	width: 75%
}

section {
	position: relative
}

.background-gim {
	z-index: -2;
	pointer-events: none
}

.background-base {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -3
}

.menu-opener {
	position: fixed;
	top: 3rem;
	right: 3rem;
	width: 3rem;
	height: 3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	opacity: 1;
	transition: opacity .2s linear
}

@media screen and (max-width:1024px) {
	.menu-opener {
		top: 1.5rem;
		right: 1.5rem;
		width: 2.5rem;
		height: 2.5rem
	}
}

@media screen and (max-width:500px) {
	.menu-opener {
		top: 1.5rem;
		right: 1.5rem;
		width: 2.5rem;
		height: 2.5rem
	}
}

.menu-opener.open {
	opacity: 0
}

.menu-opener svg {
	display: block;
	width: 95%;
	transform: scale(1.2);
	fill: #836fa3
}

#top {
	height: 100dvh;
	min-height: 600px;
	background-image: url(../img/kv_main.jpg);
	background-size: cover;
	background-position: center 25%;
	overflow: hidden;
	filter: blur(20px) opacity(0);
	transition: all .5s ease-out
}

@media screen and (max-width:1024px) {
	#top {
		min-height: 700px;
		background-size: 200%;
		background-position: 53% 37%
	}
}

@media screen and (max-width:750px) {
	#top {
		min-height: unset;
		background-size: 220%;
		background-position: 53% 34%
	}
}

@media screen and (max-width:500px) {
	#top {
		background-size: 290%;
		background-position: 53% 37%
	}
}

#top .background-base {
	background-color: #b4e6ef
}

#top.show {
	filter: blur(0) opacity(1)
}

#intro {
	background-image: linear-gradient(0deg, #fef 50%, #efefef 85%)
}

#intro_copy {
	z-index: 1;
	margin-bottom: 8rem
}

@media screen and (max-width:500px) {
	#intro_copy {
		margin-bottom: 3rem
	}
}

#subvisual {
	position: relative;
	z-index: 10;
	padding: 0;
	margin-bottom: 0;
	width: 100%;
	height: 40vw !important;
	min-height: unset !important;
	overflow: visible !important
}

@media screen and (max-width:500px) {
	#subvisual {
		width: 100vw !important;
		height: 90vw !important;
		margin-bottom: 3rem
	}
}

#subvisual .background-base {
	z-index: -10
}

#about {
	z-index: 1;
	width: 100%;
	padding-top: 8rem
}

@media screen and (max-width:500px) {
	#about {
		padding-top: 3rem
	}
}

#about article {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%
}

#about article .about-text p {
	margin-bottom: 1em;
	line-height: 2.25em
}

@media screen and (max-width:500px) {
	#about article .about-text p {
		line-height: 1.8em
	}
}

#about .background-gim {
	overflow: visible !important
}

#feature .background-base {
	background-color: #efe9ff
}

#feature p {
	margin-bottom: 3rem;
	line-height: 2.25em
}

@media screen and (max-width:500px) {
	#feature p {
		margin-bottom: 1.5rem;
		line-height: 1.8em
	}
}

.feature-selector {
	display: flex;
	justify-content: center
}

.feature-selector-menulist {
	display: flex;
	justify-content: space-around;
	align-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0 2rem 8rem;
	overflow: visible
}

@media screen and (max-width:1024px) {
	.feature-selector-menulist {
		margin: 0 2rem 8rem
	}
}

@media screen and (max-width:750px) {
	.feature-selector-menulist {
		margin: 0;
		margin-bottom: 8rem
	}
}

.feature-selector-menulist li {
	width: 26%;
	height: auto;
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #461d87;
	text-align: center;
	cursor: pointer;
	overflow: visible
}

@media screen and (max-width:1280px) {
	.feature-selector-menulist li {
		width: 28%
	}
}

@media screen and (max-width:1024px) {
	.feature-selector-menulist li {
		width: 28%
	}
}

@media screen and (max-width:750px) {
	.feature-selector-menulist li {
		width: 28%
	}
}

@media screen and (max-width:500px) {
	.feature-selector-menulist li {
		width: 30%
	}
}

.feature-selector-menulist li {
	transition: all .25s cubic-bezier(.45, 0, .55, 1);
	filter: drop-shadow(6px 6px 2px rgba(107, 89, 137, .3));
	will-change: filter
}

.feature-selector-menulist li:hover {
	transform: translateY(-.5rem);
	filter: drop-shadow(10px 15px 5px rgba(107, 89, 137, .3))
}

.feature-selector-menulist li a {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}

.feature-selector-menulist li a small {
	display: block;
	font-size: .8vw;
	padding-bottom: 1em
}

@media screen and (max-width:1280px) {
	.feature-selector-menulist li a small {
		font-size: 1.5vw
	}
}

@media screen and (max-width:1024px) {
	.feature-selector-menulist li a small {
		font-size: 1.75vw
	}
}

@media screen and (max-width:750px) {
	.feature-selector-menulist li a small {
		font-size: 2.25vw
	}
}

@media screen and (max-width:500px) {
	.feature-selector-menulist li a small {
		font-size: 2.5vw;
		padding-bottom: .75em
	}
}

.feature-selector-menulist li a span {
	display: block;
	font-size: 1.5vw
}

@media screen and (max-width:1280px) {
	.feature-selector-menulist li a span {
		font-size: 2.6vw
	}
}

@media screen and (max-width:1024px) {
	.feature-selector-menulist li a span {
		font-size: 2.5vw
	}
}

@media screen and (max-width:750px) {
	.feature-selector-menulist li a span {
		font-size: 3.2vw
	}
}

@media screen and (max-width:500px) {
	.feature-selector-menulist li a span {
		font-size: 3.75vw
	}
}

.feature-title-1 {
	border: .16rem solid #95c2fb
}

@media screen and (max-width:500px) {
	.feature-title-1 {
		border: .12rem solid #95c2fb
	}
}

.feature-title-2 {
	border: .16rem solid #92cd6f
}

@media screen and (max-width:500px) {
	.feature-title-2 {
		border: .12rem solid #92cd6f
	}
}

.feature-title-3 {
	border: .16rem solid #f49fbb
}

@media screen and (max-width:500px) {
	.feature-title-3 {
		border: .12rem solid #f49fbb
	}
}

.modal-content.feature .background-base {
	background-color: #efe9ff
}

.feature-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center
}

.feature-singles {
	display: flex;
	flex-direction: column;
	margin-bottom: 8rem
}

.feature-title-feat {
	position: relative;
	width: fit-content;
	margin-bottom: 1em;
	margin-bottom: 3rem
}

.feature-title-feat:after {
	content: "";
	position: absolute;
	width: 98%;
	height: .12rem;
	bottom: -.25em;
	left: 0;
	background-color: #461d87;
	opacity: .85
}

.feature-title-head {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 3rem
}

.feature-title-head small {
	display: block;
	font-size: .55em;
	margin-bottom: 1.5em;
	line-height: 1.5em
}

@media screen and (max-width:500px) {
	.feature-title-head small {
		font-size: .75em
	}
}

.feature-title-head .feature-title-head-circle {
	width: 26%;
	height: auto;
	aspect-ratio: 1/1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #461d87;
	text-align: center
}

@media screen and (max-width:1280px) {
	.feature-title-head .feature-title-head-circle {
		width: 28%
	}
}

@media screen and (max-width:1024px) {
	.feature-title-head .feature-title-head-circle {
		width: 28%
	}
}

@media screen and (max-width:750px) {
	.feature-title-head .feature-title-head-circle {
		width: 28%
	}
}

@media screen and (max-width:500px) {
	.feature-title-head .feature-title-head-circle {
		width: 30%
	}
}

.feature-title-head .feature-title-head-circle span {
	display: block;
	font-size: 1.5vw
}

@media screen and (max-width:1280px) {
	.feature-title-head .feature-title-head-circle span {
		font-size: 2.6vw
	}
}

@media screen and (max-width:1024px) {
	.feature-title-head .feature-title-head-circle span {
		font-size: 2.5vw
	}
}

@media screen and (max-width:750px) {
	.feature-title-head .feature-title-head-circle span {
		font-size: 3.2vw
	}
}

@media screen and (max-width:500px) {
	.feature-title-head .feature-title-head-circle span {
		font-size: 3.75vw
	}
}

.feature-wrapper .feature-singles {
	width: 80%
}

@media screen and (max-width:750px) {
	.feature-wrapper .feature-singles {
		width: 100%
	}
}

.feature-wrapper .feature-title-head-circle {
	transition: all .25s cubic-bezier(.45, 0, .55, 1);
	filter: drop-shadow(6px 6px 2px rgba(107, 89, 137, .3));
	will-change: filter
}

.feature-wrapper .feature-title-head-circle:hover {
	transform: translateY(-.5rem);
	filter: drop-shadow(10px 15px 5px rgba(107, 89, 137, .3))
}

.modal-body .feature-singles {
	width: 100%
}

.modal-body .feature-title-head-circle {
	filter: none
}

.modal-body .feature-title-head-circle:hover {
	transform: none
}

.feature-body-text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-bottom: 3rem
}

@media screen and (max-width:500px) {
	.feature-body-text {
		align-items: center
	}
}

.feature-body-text p {
	width: 100%
}

.feature-wrapper .feature-body-text .readmore {
	display: block
}

.modal-content.feature > .feature-singles > .feature-body-text .readmore {
	display: none !important
}

.feature-wrapper .links .readmore {
	display: none !important
}

.modal-content.feature > .links .readmore {
	display: block
}

.feature-fig {
	width: 45%;
	align-self: flex-end;
	display: flex;
	flex-direction: column;
	margin-top: 3rem;
	margin-left: unset
}

@media screen and (max-width:500px) {
	.feature-fig {
		width: 80%;
		align-self: center
	}
}

.feature-fig img {
	width: 100%;
	height: auto
}

.feature-fig figcaption {
	width: 100%;
	text-align: left;
	padding-top: .5em;
	padding-left: 0
}

@media screen and (max-width:500px) {
	.feature-fig figcaption {
		padding-top: 1em;
		font-size: .85rem
	}
}

.feature-fig.left {
	align-self: flex-start;
	margin-top: -50%;
	margin-right: unset
}

@media screen and (max-width:500px) {
	.feature-fig.left {
		align-self: center;
		margin-top: 10%
	}
}

.feature-fig.center {
	width: 100%;
	align-self: center;
	flex-direction: column;
	align-items: center
}

@media screen and (max-width:500px) {
	.feature-fig.center {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-left: 0
	}
}

.feature-fig.center img {
	width: 50%;
	height: auto
}

@media screen and (max-width:500px) {
	.feature-fig.center img {
		width: 80%
	}
}

.feature-fig.center figcaption {
	width: 100%;
	align-self: flex-end;
	text-align: center
}

@media screen and (max-width:500px) {
	.feature-fig.center figcaption {
		align-self: center;
		width: calc(100% - 3rem)
	}
}

#approach p {
	margin-bottom: 3rem
}

#approach .background-base {
	background-color: #e3efef
}

.approach-selector {
	display: flex;
	align-items: center
}

.approach-selector-menulist {
	display: flex;
	justify-content: space-around;
	align-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin-bottom: 8rem;
	overflow: visible
}

@media screen and (max-width:1280px) {
	.approach-selector-menulist {
		margin: 0 3rem 8rem
	}
}

@media screen and (max-width:1024px) {
	.approach-selector-menulist {
		margin: 0;
		margin-bottom: 8rem
	}
}

@media screen and (max-width:750px) {
	.approach-selector-menulist {
		margin: 0;
		margin-bottom: 8rem
	}
}

@media screen and (max-width:500px) {
	.approach-selector-menulist {
		flex-wrap: wrap
	}
}

.approach-selector-menulist li {
	width: 8rem;
	height: auto;
	aspect-ratio: 1/1
}

@media screen and (max-width:1024px) {
	.approach-selector-menulist li {
		width: 12vw;
		padding: 0
	}
}

@media screen and (max-width:750px) {
	.approach-selector-menulist li {
		width: 15vw
	}
}

@media screen and (max-width:500px) {
	.approach-selector-menulist li {
		width: 24vw;
		margin: 6vw
	}
}

.approach-selector-menulist li {
	transition: all .25s cubic-bezier(.45, 0, .55, 1);
	filter: drop-shadow(6px 6px 2px rgba(107, 89, 137, .3));
	will-change: filter
}

.approach-selector-menulist li:hover {
	transform: translateY(clamp(-1rem, -2vw, -.5rem));
	filter: drop-shadow(10px 15px 5px rgba(107, 89, 137, .3))
}

.approach-selector-menulist li a {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #461d87;
	text-align: center;
	cursor: pointer;
	overflow: visible
}

.approach-selector-menulist li a span {
	display: block;
	font-size: 1.5vw;
	margin-top: 1em;
	white-space: nowrap
}

@media screen and (max-width:500px) {
	.approach-selector-menulist li a span {
		font-size: 4.75vw
	}
}

.approach-svg-1 {
	stroke: #e293ee;
	fill: none;
	stroke-width: 1.4
}

.approach-svg-2 {
	stroke: #a181cd;
	fill: none;
	stroke-width: 1.4
}

.approach-svg-3 {
	stroke: #86aa9e;
	fill: none;
	stroke-width: 1.4
}

.approach-svg-4 {
	stroke: #6da7e0;
	fill: none;
	stroke-width: 1.4
}

.modal-content.approach .background-base {
	background-color: #e3efef
}

.approach-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center
}

.approach-category {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 8rem;
	width: 85%
}

@media screen and (max-width:1024px) {
	.approach-category {
		width: 88%
	}
}

@media screen and (max-width:500px) {
	.approach-category {
		width: 100%;
		margin-bottom: 3rem
	}
}

.approach-category-head {
	display: flex;
	align-items: center;
	filter: drop-shadow(0px 15px 15px rgba(107, 89, 137, .2));
	margin-bottom: 5rem
}

.approach-category-head span {
	display: block;
	color: #461d87;
	font-size: 1.8rem;
	padding-left: 1em
}

@media screen and (max-width:500px) {
	.approach-category-head span {
		font-size: 5.5vw
	}
}

.approach-category-head:before {
	content: "";
	display: block;
	background-image: unset;
	width: 8rem;
	height: auto;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center
}

@media screen and (max-width:1024px) {
	.approach-category-head:before {
		width: 12vw
	}
}

@media screen and (max-width:750px) {
	.approach-category-head:before {
		width: 15vw
	}
}

@media screen and (max-width:500px) {
	.approach-category-head:before {
		width: 24vw
	}
}

#design > .approach-category-head:before {
	background-image: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.91 90.54'%3E%3Cpath stroke='%23e293ee' stroke-width='1.4' fill='none' d='M53.05,1.61c-2.47-.42-5-.66-7.59-.66C20.87.95.95,20.87.95,45.45c0,22.25,16.33,40.68,37.65,43.98v-56.89l-13.35,8.69v-21.53L53.05,1.61Z'/%3E%3Cpath stroke='%23e293ee' stroke-width='1.4' fill='none' d='M56.65,2.37v86.17c19.16-4.96,33.31-22.37,33.31-43.08S75.81,7.33,56.65,2.37Z'/%3E%3C/svg%3E")
}

#textile > .approach-category-head:before {
	background-image: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.91 89.91'%3E%3Cpath stroke='%23a181cd' stroke-width='1.4' fill='none' d='M45.45,88.96c8.09,0,15.67-2.17,22.21-5.94H23.24c6.54,3.77,14.12,5.94,22.21,5.94Z'/%3E%3Cpath stroke='%23a181cd' stroke-width='1.4' fill='none' d='M51.29,31.68c2.58-3.54,3.13-7.21,1.54-10.34-1.35-2.65-4.03-4.43-6.69-4.43-4.7,0-7.59,5.44-7.59,9.34h-18.04c0-9.79,5.65-20.09,14.8-24.78l-.09-.33C15.58,5.75.95,23.39.95,44.46c0,14.02,6.49,26.51,16.61,34.67l7.29-10.33c.78-1.1,19.17-27.17,26.44-37.12Z'/%3E%3Cpath stroke='%23a181cd' stroke-width='1.4' fill='none' d='M57.23,1.54c4.92,2.47,9.09,6.5,11.69,11.62,4.68,9.23,3.54,20.13-3.06,29.16-3.68,5.04-10.46,14.55-16.2,22.65h21.82v15.57c11.19-8.08,18.47-21.23,18.47-36.09,0-20.5-13.87-37.75-32.73-42.92Z'/%3E%3C/svg%3E")
}

#art > .approach-category-head:before {
	background-image: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.03 88.35'%3E%3Cpath stroke='%2386aa9e' stroke-width='1.4' fill='none' d='M57.18,58.43c.08-9.2-8.67-10.82-9.67-10.97l-7.57-1.17v-15.28l7.14-1.21c.55-.14,3.94-1.13,4.74-3.94.76-2.66.46-4.9-.89-6.65-1.35-1.75-3.59-2.83-5.86-2.75-2.84.07-6.77,2.31-6.77,6.37h-17.87c0-10.1,6-17.67,13.55-21.48l-.04-.16C14.97,6.08.95,23.31.95,43.82s14.8,38.69,34.58,43.03c-.23-.07-.46-.11-.69-.19-13.9-4.33-20.23-18.51-20.23-29.84h17.87c0,4.32,2.38,11.14,7.68,12.79,4.35,1.35,8.97.69,12.35-1.77,2.1-1.53,4.62-4.41,4.66-9.41Z'/%3E%3Cpath stroke='%2386aa9e' stroke-width='1.4' fill='none' d='M57.45,1.75c2.92,1.62,5.53,3.83,7.61,6.52,4.88,6.31,6.27,14.29,3.93,22.48-.71,2.49-1.78,4.65-3.08,6.52,5.16,4.56,9.21,11.43,9.13,21.31-.08,9.56-4.46,18.19-12.01,23.69-3.45,2.51-7.39,4.23-11.55,5.13,21.27-3.13,37.6-21.45,37.6-43.59,0-19.97-13.29-36.83-31.51-42.24l-.12.17Z'/%3E%3C/svg%3E")
}

#business > .approach-category-head:before {
	background-image: url("data:image/svg+xml;utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.03 90.03'%3E%3Cpath stroke='%236da7e0' stroke-width='1.4' fill='none' d='M.95,45.02c0,24.34,19.73,44.07,44.07,44.07.37,0,.74-.02,1.11-.03v-22.56H12.67L53.91,1.85c-2.87-.59-5.85-.9-8.89-.9C20.68.95.95,20.68.95,45.02Z'/%3E%3Cpath stroke='%236da7e0' stroke-width='1.4' fill='none' d='M63.99,5.24v43.39h13.25v17.87h-13.25v18.3c14.84-7.09,25.09-22.24,25.09-39.78S78.83,12.33,63.99,5.24Z'/%3E%3C/svg%3E")
}

.approach-category-elem-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.approach-category-elem {
	width: 40%;
	height: fit-content;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 5rem
}

@media screen and (max-width:1024px) {
	.approach-category-elem {
		width: 45%
	}
}

@media screen and (max-width:500px) {
	.approach-category-elem {
		width: 45%
	}
}

.approach-category-elem h4 {
	height: 3em;
	margin-bottom: .25em
}

.approach-category-elem p {
	width: 100%;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 0 !important
}

.approach-wrapper .approach-elem-img {
	max-width: 54%;
	height: 240px;
	object-fit: contain;
	margin-bottom: 3rem;
	transition: all .25s cubic-bezier(.45, 0, .55, 1);
	filter: drop-shadow(3px 6px 2px rgba(107, 89, 137, .5));
	will-change: filter
}

@media screen and (max-width:500px) {
	.approach-wrapper .approach-elem-img {
		max-width: 68%;
		height: 150px
	}
}

.approach-category-elem.open-modal-btn:hover .approach-elem-img {
	transform: translateY(clamp(-1rem, -2vw, -.5rem));
	filter: drop-shadow(6px 12px 3px rgba(107, 89, 137, .5))
}

#approach_img_environment {
	max-width: 70%
}

@media screen and (max-width:500px) {
	#approach_img_environment {
		max-width: 78%
	}
}

#approach_img_human {
	max-width: 70%
}

@media screen and (max-width:500px) {
	#approach_img_human {
		max-width: 78%
	}
}

#approach_img_sensibility {
	max-width: 62%
}

@media screen and (max-width:500px) {
	#approach_img_sensibility {
		max-width: 68%
	}
}

#approach_img_materials {
	max-width: 74%
}

@media screen and (max-width:500px) {
	#approach_img_materials {
		max-width: 84%
	}
}

#approach_img_keeping {
	max-width: 70%
}

@media screen and (max-width:500px) {
	#approach_img_keeping {
		max-width: 80%
	}
}

#approach_img_dyeing {
	max-width: 70%
}

@media screen and (max-width:500px) {
	#approach_img_dyeing {
		max-width: 78%
	}
}

#approach_img_culture {
	max-width: 94%
}

#approach_img_history {
	max-width: 98%
}

#approach_img_aesthetics {
	max-width: 60%
}

@media screen and (max-width:500px) {
	#approach_img_aesthetics {
		max-width: 68%
	}
}

#approach_img_fashionbiz {
	max-width: 80%
}

@media screen and (max-width:500px) {
	#approach_img_fashionbiz {
		max-width: 84%
	}
}

#approach_img_marketing {
	max-width: 58%
}

@media screen and (max-width:500px) {
	#approach_img_marketing {
		max-width: 65%
	}
}

#approach_img_consumption {
	max-width: 70%
}

.modal-content.approach .approach-elem-img {
	width: 50%;
	max-height: 250px;
	object-fit: contain;
	margin-top: 3rem;
	margin-bottom: 4rem;
	align-self: center
}

@media screen and (max-width:500px) {
	.modal-content.approach .approach-elem-img {
		width: 70%;
		max-height: 200px
	}
}

.approach-category-elem .readmore {
	align-self: flex-end;
	margin-top: 1em;
	margin-right: 2em
}

.modal-content.approach .readmore {
	margin-top: 3rem
}

#interview p {
	margin-bottom: 3rem;
	line-height: 2.25em
}

@media screen and (max-width:500px) {
	#interview p {
		line-height: 1.8em
	}
}

#interview .background-base,
.modal-content.interview .background-base {
	background-color: #fff5f2
}

.interview-category-wrapper {
	display: flex;
	flex-direction: column
}

.interview-category-wrapper h3 {
	margin-bottom: .5em
}

.interview-flex-container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5rem
}

.interview-item {
	width: 48%;
	display: flex;
	flex-direction: column
}

.interview-item img {
	width: 100%;
	height: 480px;
	object-fit: cover;
	object-position: 50% 8%;
	margin-bottom: 2rem
}

@media screen and (max-width:1024px) {
	.interview-item img {
		height: 38vh
	}
}

@media screen and (max-width:750px) {
	.interview-item img {
		height: 40vh
	}
}

@media screen and (max-width:500px) {
	.interview-item img {
		height: 230px
	}
}

.interview-item h4 {
	width: 100%;
	margin-bottom: 1em
}

.interview-prof {
	width: 100%;
	height: auto;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

@media screen and (max-width:500px) {
	.interview-prof {
		justify-content: flex-start
	}
}

.interview-prof div:first-child {
	font-size: .8em
}

.interview-prof div:last-child {
	padding-top: auto
}

.interview-prof ruby {
	width: fit-content
}

.interview-item .readmore {
	align-self: flex-end;
	margin-top: 1.75em;
	margin-right: 2em
}

#faculty p {
	margin-bottom: 3rem
}

#faculty .background-base,
.modal-content.faculty .background-base {
	background-color: #efe9ff
}

.faculty-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

.faculty-flex-container.top {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 5rem
}

@media screen and (max-width:500px) {
	.faculty-flex-container.top {
		margin-bottom: 3rem
	}
}

.faculty-flex-container.modal {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 5rem
}

@media screen and (max-width:500px) {
	.faculty-flex-container.modal {
		margin-bottom: 3rem
	}
}

.faculty-flex-container.top .faculty-item,
.faculty-flex-container.modal .faculty-item {
	width: 48%;
	display: flex;
	flex-direction: column;
	align-items: center
}

.faculty-item-port {
	width: 80%;
	margin-bottom: 1rem
}

.faculty-item-port img {
	width: 100%;
	height: auto;
	object-fit: contain
}

.faculty-item-title {
	width: 100%;
	margin-bottom: .5em
}

.faculty-item-title small {
	margin-right: .5em
}

.faculty-item-title rt {
	margin-top: 0
}

.faculty-flex-container.top .faculty-item-summary {
	width: 100%;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 0 !important
}

.faculty-flex-container.modal .faculty-item-summary {
	width: 90%;
	margin-bottom: 1rem
}

.faculty-item-keywords-title {
	position: relative;
	width: 90%;
	margin-left: 2.5em;
	margin-bottom: .5em
}

@media screen and (max-width:500px) {
	.faculty-item-keywords-title {
		margin-bottom: 1em
	}
}

.faculty-item-keywords-title:before {
	content: "○";
	font-family: ivypresto-headline, source-han-serif-jp-subset, Hiragino Mincho ProN W3, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
	font-weight: 600;
	position: absolute;
	left: -1.25em;
	top: .1em
}

.faculty-item-keywords {
	width: 90%;
	margin-bottom: 1rem;
	font-size: 1rem
}

@media screen and (max-width:500px) {
	.faculty-item-keywords {
		font-size: .8rem
	}
}

.faculty-item-keywords span {
	position: relative;
	display: inline-block;
	margin-right: 1em;
	margin-bottom: .7em
}

.faculty-item-keywords span:after {
	content: "|";
	position: absolute;
	right: -.7em
}

.faculty-item-keywords span:last-child:after {
	display: none
}

.faculty-wrapper .readmore {
	align-self: flex-end;
	margin-top: 1em;
	margin-right: 2em
}

#future p {
	margin-bottom: 3rem;
	line-height: 2.25em
}

@media screen and (max-width:500px) {
	#future p {
		line-height: 1.8em
	}
}

#future .background-base {
	background-color: #f1f1f1
}

.future-item {
	width: 100%;
	justify-content: start;
	margin-bottom: 3rem
}

@media screen and (max-width:500px) {
	.future-item {
		column-gap: 2em
	}
}

.future-item h3 {
	margin-bottom: .75em
}

.future-item ul {
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto;
	column-gap: 2em;
	border-top: .1rem solid rgb(131, 111, 163);
	padding-top: .5em
}

@media screen and (max-width:1024px) {
	.future-item ul {
		column-gap: 1em
	}
}

@media screen and (max-width:500px) {
	.future-item ul {
		display: flex;
		flex-direction: column
	}
}

.future-item li {
	line-height: 2em
}

@media screen and (max-width:500px) {
	.future-item li {
		line-height: 1.6em;
		margin-bottom: .25em
	}
}

.future-item li:last-child {
	padding-bottom: 1.5em
}

.future-item li dfn {
	font-style: inherit;
	font-size: 80%
}

.future-item li abbr {
	text-decoration: none
}

body {
	overflow: visible;
	background-color: #efefef;
	color: #461d87
}

body.float-in-open {
	overflow: hidden
}

main {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
	width: 100%;
	overflow-x: clip
}

section {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-height: 100vh;
	padding: 8rem 0
}

@media screen and (max-width:1024px) {
	section {
		margin-top: 0
	}
}

section h2 {
	margin-bottom: 3rem
}

.sectionbody {
	width: 60%;
	max-width: 800px
}

@media screen and (max-width:1280px) {
	.sectionbody {
		max-width: unset;
		width: calc(100% - 16rem)
	}
}

@media screen and (max-width:1024px) {
	.sectionbody {
		width: calc(100% - 16rem)
	}
}

@media screen and (max-width:750px) {
	.sectionbody {
		width: calc(100% - 6rem)
	}
}

@media screen and (max-width:500px) {
	.sectionbody {
		width: calc(100% - 3rem)
	}
}

.returntop:hover {
	cursor: pointer
}

@media print {
	body.float-in-open > *:not(.modal-compo.open) {
		display: none !important
	}
	
	.modal-compo.open {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		overflow: visible !important
	}
	
	.modal-bg {
		display: none !important
	}
	
	.modal-body {
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		transform: none !important
	}
	
	.close-modal-x {
		display: none !important
	}
	
	.fadein_element,
	.stagger {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition: none !important
	}
}