@charset "utf-8";


body {
	font-size: 0;
}

.scr_clip {
	transition: 0.3s;
}
.scr_clip.action {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%) !important;
}


a.btn.grad {
	display: block;
	width: fit-content;
	border-radius: 50px;
	margin: 0 auto;
	padding: 5px;
	position: relative;
	background: linear-gradient(to right, #84DAEF, #89D5E8 30%, #199EE0);
}
a.btn.grad::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 16px;
	z-index: 3;
	width: 10px;
	aspect-ratio: 1;
	transform: translate(0, -50%) rotate(-45deg);
}
a.btn.grad span {
	display: inline-block;
	font-size: 16px;
	border-radius: 50px;
	padding: 6px 56px;
	position: relative;
	z-index: 2;
}
a.btn.grad.grad-white {
	border: solid 3px #FFDEE0;
	padding: 2px;
}
a.btn.grad.grad-white::before {
	content: '';
	background: #FFDEE0;
	position: absolute;
	top: 2px;
	left: 2px;
	z-index: 1;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	border-radius: 50px;
}
a.btn.grad.grad-white::after {
	border-bottom: solid 2px #EB7777;
	border-right: solid 2px #EB7777;
}
a.btn.grad.grad-white span {
	background: linear-gradient(to right, #FAAF98, #F49393 30%, #F23568);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}
a.btn.grad.grad-pink {}
a.btn.grad.grad-pink::after {
	border-bottom: solid 2px white;
	border-right: solid 2px white;
}
a.btn.grad.grad-pink span {
	color: white;
	border: solid 1px white;
}

.title_en {
	position: relative;
	font-size: 40px;
	font-weight: 300;
	letter-spacing: 2px;
	text-align: center;
}
.title_en::after {
	content: '';
	position: absolute;
	top: 70px;
	left: 50%;
	width: 66px;
	height: 2px;
	background: #333;
	transform: translate(-50%, 0);
}
.subtitle {
	font-size: 16px;
	letter-spacing: 1px;
	margin: 20px 0 0;
	text-align: center;
}


/* ==========================================================================
   Main Visual
   ========================================================================== */
#mv {
	width: calc(100% - 80px);
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

#mv .slick-dotted.slick-slider {
	margin-bottom: 42px;
}

#mv .slick-list {
	width: 100%;
	aspect-ratio: 1.8 / 1;
	border-radius: 30px;
}

#mv .slick-list .cover {
	position: relative;
}

#mv .slick-list .cover::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}

#mv .mv_slider .item img {
	width: 100%;
	object-fit: cover;
}

/* Slick Dots Custom */
#mv .mv_slider .slick-dots {
	bottom: -35px;
}

#mv .mv_slider .slick-dots li {
	background: #CECDCD;
	border-radius: 50%;
	aspect-ratio: 1;
	width: 13px;
	height: auto;
	margin: 0 9px;
}

#mv .mv_slider .slick-dots li.slick-active {
	background: #99D7E5;
}

#mv .mv_slider .slick-dots li button {
	opacity: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	#mv .mv_slider .item img {
		height: 400px;
	}
}

/* ==========================================================================
   Banners
   ========================================================================== */
#banners {
	padding: 40px 0;
}

#banners .inner {
	max-width: 880px;
	margin: 0 auto;
	padding: 0 40px;
}

#banners .inner a {
	padding: 0 10px;
}

/* Slick Arrows for Banners */
#banners .slick-prev,
#banners .slick-next {
	z-index: 10;
	width: 29px;
	height: auto;
	aspect-ratio: 1;
	border: solid 1px #333;
	border-radius: 50%;
	background: white;
	cursor: pointer;
}

#banners .slick-prev:before,
#banners .slick-next:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-75%, -50%) rotate(-45deg);
	border-bottom: solid 1px #333;
	border-right: solid 1px #333;
	width: 8px;
	height: auto;
	aspect-ratio: 1;
}

#banners .slick-prev:before {
	transform: translate(-25%, -50%) rotate(135deg);
}

#banners .slick-prev {
	left: 35px;
}

#banners .slick-next {
	right: 35px;
}

/* ==========================================================================
   Value
   ========================================================================== */
#value {
	margin: 54px 10px 0;
	text-align: center;
}

#value .title_en {}

#value .subtitle {}

#value .catch {
	font-size: 36.6px;
	margin: 50px 0 0;
	color: var(--primary-color);
	line-height: 1.6;
}

#value .desc {
	font-size: 16px;
	line-height: 2.2;
	margin: 24px 0 0;
}

/* ==========================================================================
   Points
   ========================================================================== */
#points .point_item {
	display: flex;
	align-items: stretch;
}

#points .point_item .txt {
	flex: 1;
	padding: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#points .point_item .img {
	flex: 1;
}

#points .point_item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#points .point_item.left .txt {
	background: #fef0f0;
}

#points .point_item.right .txt {
	background: #feebeb;
}

#points .point_item h4 {
	font-size: 1.5rem;
	margin: 20px 0;
	line-height: 1.4;
}

#points .point_item .btn {
	display: inline-block;
	padding: 12px 40px;
	border: 1px solid var(--primary-color);
	background: transparent;
	color: var(--primary-color);
	font-weight: 700;
	border-radius: 30px;
	position: relative;
	overflow: hidden;
	transition: all 0.3s;
	margin-top: 20px;
	width: fit-content;
}

#points .point_item .btn span {
	position: relative;
	z-index: 2;
}

#points .point_item .btn::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--primary-color);
	transition: all 0.3s;
	z-index: 1;
}

#points .point_item .btn:hover {
	color: #fff;
}

#points .point_item .btn:hover::after {
	left: 0;
}

#points .point_item .btn::before {
	content: '>';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	font-family: var(--font-en);
}

#points {
	padding: 64px 0 0;
	overflow: hidden;
}
#points article {
	/* min-height: 330px; */
	margin: 0 0 10px;
	background: #DEEFEF;
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
}
#points article:nth-of-type(even) {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	background: #EAF6FA;
}
#points article .inner {
	margin: 0 auto;
	max-width: 1300px;
	position: relative;
	font-size: 0;
}
#points article:nth-of-type(even) .inner {
	text-align: right;
}
#points article .num {
	display: inline-block;
	position: relative;
	z-index: 1;
	font-size: 24px;
	font-family: 'Lato';
	font-weight: 300;
	line-height: 1;
	margin: 53px 0 0;
	padding-right: 42px;
	display: none;
}
#points article .num::before {
	content: 'point';
	margin-right: 5px;
}
#points article .num::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	z-index: -1;
	width: 100vw;
	height: 160%;
	background: white;
	transform: translate(0, -50%);
	border: solid 1px black;
	border-radius: 0 50px 50px 0;
	border-left: none;
}
#points article:nth-of-type(even) .num::after {
	width: 300px;
}
#points article .txt {
	display: inline-block;
	vertical-align: top;
	width: 53%;
	padding: 30px 0 20px 130px;
	z-index: 1;
	text-align: left;
	position: relative;
}
#points article .txt::after {
	content: '';
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 3;
	width: 50vw;
	height: 100%;
	background: no-repeat left center / cover;
	background-image: url(/new_assets/images/top/point-01.png);
}
#points article:nth-of-type(2) .txt::after {
	left: auto;
	right: 100%;
	background: no-repeat right center / cover;
	background-image: url(/new_assets/images/top/point-02.png);
}
#points article:nth-of-type(3) .txt::after {
	background-image: url(/new_assets/images/top/point-03.png);
}
#points article:nth-of-type(4) .txt::after {
	left: auto;
	right: 100%;
	background: no-repeat right center / cover;
	background-image: url(/new_assets/images/top/point-04.png);
}
#points article:nth-of-type(5) .txt::after {
	background-image: url(/new_assets/images/top/point-05.png);
}
#points article:nth-of-type(6) .txt::after {
	left: auto;
	right: 100%;
	background: no-repeat right center / cover;
	background-image: url(/new_assets/images/top/point-06.png);
}
#points article .txt h4 {
	color: #2D9FC1;
	font-size: 32.4px;
	margin: 30px 0 0;
}
#points article .txt h4 span {
	display: block;
	font-size: 26px;
	line-height: 1.5;
	margin: 0 0 0;
}
#points article .txt p {
	color: #333333;
	font-size: 16px;
	margin: 14px 0 40px;
	line-height: 1.9;
	max-width: 480px;
}
#points article .txt a {
	margin: 16px 0 30px;
}
#points article .img {
	display: inline-block;
	vertical-align: top;
	width: 45%;
	position: relative;
	z-index: 2;
	background: no-repeat center / cover;
	overflow: hidden;
}
#points article .img img {
	min-width: 100%;
	min-height: 400px;
}
#points article .text_pink {
	display: none;
}

@media screen and (min-width: 769px) {
#points article .text_pink {
	display: block !important;
}
}
@media screen and (min-width: 1241px) {
#points article .text_pink {
	display: none !important;
}
}

/* ==========================================================================
   Course
   ========================================================================== */
#course {
	padding: 100px 20px;
	text-align: center;
	background: #fff;
}

.course_slider {
	margin: 44px 0 0;
}

.course_slider .slick-track .item {
	transform: translate(-50%, 0);
}

.course_slider .item img {
	width: 100%;
	padding: 0 10px;
}

/* Slick Arrows for Course */
#course .slick-prev,
#course .slick-next {
	z-index: 10;
	width: 50px;
	height: 50px;
}

#course .slick-prev:before,
#course .slick-next:before {
	color: var(--primary-color);
	font-size: 40px;
}

.course_list {
	max-width: 1040px;
	margin: 70px auto 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 20px;
}

.course_list a {
	transition: all 0.3s;
}

.course_list a:hover {
	border-color: var(--primary-color);
	background: #fffafa;
}

.course_list a img {
	width: 40px;
	margin-right: 20px;
}

.course_list a span {
	font-weight: 500;
	font-size: 17.4px;
	display: inline-block;
	vertical-align: middle;
}

.course_list a::after {
	content: '>';
	position: absolute;
	right: 25px;
	color: var(--primary-color);
	font-family: var(--font-en);
	font-weight: 400;
}


#course .title_en {}
#course .subtitle {}
#course .course_slider {}
#course .course_list {}
#course .course_list li {
	border-bottom: solid 1px #DDDDDD;
	padding-bottom: 15px;
	margin-bottom: 15px;
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
}
#course .course_list li a {
	display: block;
	padding: 25px 30px 25px 155px;
	text-align: left;
	background: no-repeat left center / auto 100%;
}
#course .course_list li a::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	aspect-ratio: 1;
	background: no-repeat center / contain;
	margin-right: 10px;
}
#course .course_list li a::after {
	content: '';
}
#course .course_list li a.medical {
	background-image: url(../images/top/course-medical-min.png);
}
#course .course_list li a.medical::before {
	background-image: url(../images/top/course-medical-icon.png);
}
#course .course_list li a.fashion {
	background-image: url(../images/top/course-fashion-min.png);
}
#course .course_list li a.fashion::before {
	background-image: url(../images/top/course-fashion-icon.png);
}
#course .course_list li a.bridal {
	background-image: url(../images/top/course-bridal-min.png);
}
#course .course_list li a.bridal::before {
	background-image: url(../images/top/course-bridal-icon.png);
}
#course .course_list li a.it {
	background-image: url(../images/top/course-it-min.png);
}
#course .course_list li a.it::before {
	background-image: url(../images/top/course-it-icon.png);
}
#course .course_list li a.trimmer {
	background-image: url(../images/top/course-trimmer-min.png);
}
#course .course_list li a.trimmer::before {
	background-image: url(../images/top/course-trimmer-icon.png);
}
#course .course_list li a.patissier {
	background-image: url(../images/top/course-patissier-min.png);
}
#course .course_list li a.patissier::before {
	background-image: url(../images/top/course-patissier-icon.png);
}
#course .course_list li a.cook {
	background-image: url(../images/top/course-cook-min.png);
}
#course .course_list li a.cook::before {
	background-image: url(../images/top/course-cook-icon.png);
}
#course .course_list li a.care {
	background-image: url(../images/top/course-care-min.png);
}
#course .course_list li a.care::before {
	background-image: url(../images/top/course-care-icon.png);
}
#course .course_list li a.anime {
	background-image: url(../images/top/course-anime-min.png);
}
#course .course_list li a.anime::before {
	background-image: url(../images/top/course-anime-icon.png);
}
#course .course_list li a.esports {
	background-image: url(../images/top/course-esports-min.png);
}
#course .course_list li a.esports::before {
	background-image: url(../images/top/course-esports-icon.png);
}


/* ==========================================================================
   News
   ========================================================================== */
#news {
	padding: 10px 20px 0;
}

#news .inner {
	max-width: 1200px;
	margin: 0 auto;
}

.news_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
}

.news_item a {
	display: flex;
	gap: 20px;
	padding: 20px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s;
	height: 100%;
}

.news_item .thumb {
	width: 200px;
	flex-shrink: 0;
}

.news_item .thumb img {
	width: 100%;
	border-radius: 5px;
}

.news_item .info .date {
	font-size: 0.85rem;
	color: #999;
}

.news_item .info .tags {
	display: flex;
	gap: 5px;
	margin: 10px 0;
}

.news_item .info .tag {
	font-size: 0.75rem;
	padding: 2px 10px;
	border-radius: 3px;
	color: #fff;
}

.tag.notice {
	background: #e98282;
}

.tag.oc {
	background: #f5a6a6;
}

.tag.nyushi {
	background: #82b1e9;
}

.tag.course {
	background: #ddd;
	color: #333;
}

.news_item .info .title {
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.4;
}

#news {margin-bottom: 120px;}
#news .title_en {}
#news .subtitle {}
#news .news_tabs {
	text-align: center;
	padding: 48px 0 0;
}
#news .news_tabs span {
	display: inline-block;
	background: #99D7E5;
	font-size: 15px;
	color: white;
	border-radius: 30px;
	padding: 11px 40px;
	margin: 0 4px 10px;
}
#news .news_tabs span.active {
	background: #2D9FC1;
}
#news .news_filter {
	margin: 16px 0 0;
	text-align: center;
}
#news .news_filter span {
	display: inline-block;
	vertical-align: middle;
	width: 190px;
	height: 50px;
	max-width: 30%;
	font-size: 16px;
	background: #DDDDDD;
	border: solid 1px #333333;
	border-radius: 30px 0 0 30px;
	border-right: none;
	padding: 11px 2px 0 0;
}
#news .news_filter select {
	display: inline-block;
	vertical-align: middle;
	width: 380px;
	height: 50px;
	max-width: 60%;
	font-size: 16px;
	background: white;
	border: solid 1px #333333;
	border-radius: 0 30px 30px 0;
	border-left: none;
	padding: 0 20px;
}
#news .news_list {
	margin: 70px auto 0;
	max-width: 1040px;
}
#news .news_list a {
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
}
#news .news_list a .thumb {
	display: inline-block;
	vertical-align: top;
	width: 194px;
	object-fit: cover;
	aspect-ratio: 1;
}
#news .news_list a .info {
	display: inline-block;
	vertical-align: top;
	max-width: calc(100% - 200px);
	padding-left: 15px;
}
#news .news_list a .info .date {
	font-size: 16px;
	line-height: 1;
	font-family: 'Lato';
}
#news .news_list a .info .tags {
	margin: 12px 0 0;
}
#news .news_list a .info .tags span {
	display: inline-block;
	background: #99D7E5;
	font-size: 14px;
	color: white;
	border-radius: 30px;
	padding: 3px 17px;
	margin: 0 4px 10px;
}
#news .news_list a .info .title {
	border-top: solid 1px #DDDDDD;
	font-size: 17px;
	padding: 10px 0 0;
}
#news .btn_area {
	margin: 64px 0 0;
}
#news .btn_area a {}


/* ==========================================================================
   Career Support
   ========================================================================== */
#career {
	padding: 110px 20px 64px;
	background: #fffcfc;
}

.career_flex {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 60px;
}

.career_txt {
	flex: 1;
}

.career_txt .catch {
	font-size: 31px;
	color: var(--primary-color);
	line-height: 1.7;
	margin: 48px 0 0;
}

.career_txt .desc {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin: 20px 0 0;
}

.career_visual {
	flex: 1;
	text-align: center;
}

.career_visual .rate_circle {
	width: 310px;
	aspect-ratio: 1;
	background: url(../images/top/rate_circle.png) no-repeat center / contain;
	position: relative;
		clip-path: polygon(50% 0, 50% 50%, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0);
}

.career_visual .rate_circle.action {
  animation: rate_circle 1s linear 1 forwards;
}

@keyframes rate_circle{
  0% {clip-path: polygon(50% 0, 50% 50%, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0);}
  12.5% {clip-path: polygon(100% 0, 50% 50%, 50% 0, 100% 0, 100% 0, 100% 0, 100% 0, 100% 0, 100% 0, 100% 0);}
  25% {clip-path: polygon(100% 50%, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);}
  37.5% {clip-path: polygon(100% 100%, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);}
  50% {clip-path: polygon(50% 100%, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%);}
  62.5% {clip-path: polygon(0 100%, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 100%, 0 100%);}
  75% {clip-path: polygon(0 50%, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 50%, 0 50%);}
  87.5% {clip-path: polygon(0 0, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 50%, 0 0);}
  100% {clip-path: polygon(50% 0, 50% 50%, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 50%, 0 0);}
}



.career_visual .label {
	font-weight: 600;
	font-size: 16px;
	color: #333;
}

.career_visual .rate_circle .number {
}

.career_visual .rate_circle .number span {
}

.career_visual .caption {
	font-size: 13px;
	color: #666;
}

#career {}
#career .inner {
	max-width: 1040px;
	margin: 0 auto;
}
#career .title_en {}
#career .subtitle {}
#career .career_txt {
	display: inline-block;
	vertical-align: top;
	max-width: 720px;
	padding-right: 40px;
}
#career .career_txt .catch {}
#career .career_txt .desc {}
#career .career_txt .btn_area {
	margin: 24px 0 0;
}
#career .career_txt .btn_area a {}
#career .career_visual {
	display: inline-block;
	vertical-align: top;
	max-width: 480px;
	position: relative;
}
#career .career_visual .rate_circle {}
#career .career_visual .rate_circle::after {
	content: '';
}
#career .career_visual .label {
	position: absolute;
	top: 24%;
	left: 0;
	z-index: 3;
	width: 100%;
	text-align: center;
}
#career .career_visual .rate_circle .number {
	font-size: 0;
	position: absolute;
	top: 36%;
	left: 0;
	width: 100%;
	z-index: 2;
	height: 30%;
	background: url(../images/top/rate_number.png) no-repeat center / contain;
	transform: scale(0);
	transition: 0.3s;
}
#career .career_visual .rate_circle.action .number {
	transform: scale(1);
	transition: 0.5s 1s;
	transition-timing-function: cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
#career .career_visual .caption {
	margin: 14px 0 0;
}


/* ==========================================================================
   Graduate Story
   ========================================================================== */
#story {
	padding: 0 0 26px;
	background: #EDF8F8;
	overflow: hidden;
}

#story .inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

.story_flex {
	display: flex;
	align-items: flex-start;
	gap: 80px;
}

.story_intro {
	width: 350px;
	flex-shrink: 0;
	padding-top: 88px;
}

.story_intro .desc {
	margin: 30px 0;
	line-height: 1.7;
	color: #444;
}

.story_viewer {
	flex-grow: 1;
	min-width: 0;
	/* Slick overflow fix */
}

.story_slider {
	margin: 0 -15px;
}

.story_card {
	padding: 0 15px;
}

.story_card a {
	display: block;
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s;
}

.story_card a:hover {
	transform: translateY(-5px);
}

.story_card .img {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

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

.story_card .card_info {
	padding: 20px;
}

.story_card .job {
	display: inline-block;
	background: var(--primary-color);
	color: #fff;
	font-size: 0.75rem;
	padding: 2px 10px;
	border-radius: 3px;
	margin-bottom: 10px;
}

.story_card .name {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 5px;
}

.story_card .work {
	font-size: 0.9rem;
	color: #666;
}


#story {}
#story .inner {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0;
}
#story .inner .story_flex {}
#story .inner .story_flex .story_intro {}
#story .inner .story_flex .story_intro h2 {
	font-size: 0;
	width: 100%;
	height: 90px;
	background: url(../images/top/story_title.png) no-repeat center / contain;
}
#story .inner .story_flex .story_intro .desc {
	font-size: 16px;
	line-height: 1.9;
	margin: 30px 0 0;
}
#story .inner .story_flex .story_intro .btn_area {
	margin: 40px 0 0;
}
#story .inner .story_flex .story_viewer .story_slider {
	max-width: 600px;
	margin: 30px auto 0;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow {
	width: 40px;
	height: auto;
	aspect-ratio: 1;
	z-index: 6;
	background: url(/new_assets/images/common/arrow-circle-trans.png) no-repeat center / contain;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow::before {
	display: none;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow.slick-prev {
	left: -30px;
	transform: scale(-1, 1) translate(0, -50%);
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow.slick-next {
	right: -30px;
	transform: scale(1, 1) translate(0, -50%);
}
#story .inner .story_flex .story_viewer .story_slider .slick-dots {
	bottom: -10px;
	left: 0;
}
#story .inner .story_flex .story_viewer .story_slider .slick-dots li {
	width: auto;
	margin: 0;
}
#story .inner .story_flex .story_viewer .story_slider a {
	width: 240px;
	margin-right: 20px;
	margin-left: 40px;
}
#story .inner .story_flex .story_viewer .story_slider a .img {}
#story .inner .story_flex .story_viewer .story_slider a .img img {}
#story .inner .story_flex .story_viewer .story_slider a .card_text {
	padding-right: 30px;
}
#story .inner .story_flex .story_viewer .story_slider a .card_text span {
	display: block;
	width: fit-content;
	background: url(../images/top/story_flash.png) no-repeat left 8px center / auto 50% #12BCE5;
	color: white;
	font-size: 12px;
	padding: 3px 7px 4px 27px;
	margin: -84px 0 0 -30px;
	position: relative;
	z-index: 2;
}
#story .inner .story_flex .story_viewer .story_slider a .card_text p {
	display: inline;
	margin: 0 0 0 -30px;
	font-size: 15px;
	background: white;
	color: #2D9FC1;
	padding: 5px 12px;
	line-height: 2;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
#story .inner .story_flex .story_viewer .story_slider a .card_info {}
#story .inner .story_flex .story_viewer .story_slider a .card_info .job {
	font-size: 16px;
	font-weight: 600;
	margin: 20px 0 0 -20px;
}
#story .inner .story_flex .story_viewer .story_slider a .card_info .name {
	font-size: 16px;
	font-weight: 600;
	margin: -2px 0 0 -20px;
}
#story .inner .story_flex .story_viewer .story_slider a .card_info .work {
	font-size: 12px;
	margin: 3px 0 0 -20px;
}


/* ==========================================================================
   Campus Life
   ========================================================================== */
#campus {
	padding: 110px 20px 60px;
	/* background: #f8f8f8; */
	position: relative;
	text-align: center;
}

.campus_pattern {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.02) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, 0.02) 75%, transparent 75%, transparent);
	background-size: 10px 10px;
	pointer-events: none;
}

#campus .inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}

#campus .catch_sub {
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom: 40px;
	display: block;
}

.campus_banner {
	display: block;
	max-width: 1040px;
	margin: 50px auto 60px;
}

.campus_banner img {
	width: 100%;
}

#campus {}
#campus .title_en {}
#campus .subtitle {}
#campus .campus_banner {}
#campus .campus_banner img {}


/* ==========================================================================
   Open Campus
   ========================================================================== */
#oc {
	padding: 60px 20px 0;
	background: #FFF2F2;
	/* デザインに合わせたベースカラー */
	position: relative;
	overflow: hidden;
}

#oc .inner {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.oc_container {
	padding: 0;
}

.oc_visual {
	flex: 1;
	position: relative;
}

.oc_title_logo {
}

.oc_title_logo img {
	width: 100%;
}

.oc_photo {
	position: relative;
	z-index: 1;
}

.oc_photo img {
	width: 100%;
	box-shadow: 10px 10px 0 var(--primary-color);
}

.oc_info {
	flex: 1;
}

.oc_info .catch {
}

.oc_info .desc {
	margin-bottom: 40px;
}

.oc_info .upcoming {
	background: #FFF9F9;
	padding: 30px;
	border-radius: 15px;
	margin-bottom: 40px;
}

.oc_info .upcoming .label {
	font-weight: 700;
	margin-bottom: 20px;
	display: block;
	color: var(--primary-color);
}

.event_list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.event_card {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	background: #fff;
	border-radius: 10px;
	border-left: 5px solid var(--primary-color);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.event_card .date {
	font-weight: 700;
	font-size: 1.2rem;
	margin-right: 20px;
	flex-shrink: 0;
	color: var(--primary-color);
}

.event_card .date span {
	font-size: 0.9rem;
}

.event_card .name {
	font-weight: 700;
}

.oc_decoration {
	position: absolute;
	bottom: -20px;
	right: -20px;
	z-index: 1;
	max-width: 400px;
	opacity: 0.5;
}

#oc {
	background: url(../images/top/oc-bg-image.png) no-repeat center top / auto 100%, url(../images/top/oc-bg-line.png) repeat center / 20px;
}
#oc .inner {}
#oc .inner .oc_container {}
#oc .inner .oc_container .oc_visual {
	padding-bottom: 214px;
	background: url(../images/top/oc-bottom.png) no-repeat center bottom / 90% auto;display: inline-block;vertical-align: top;width: 580px;
	max-width: 100%;}
#oc .inner .oc_container .oc_visual .oc_title_logo {
	width: 440px;
	max-width: 100%;
	margin: 0 auto 0;
}
#oc .inner .oc_container .oc_visual .oc_title_logo img {}
#oc .inner .oc_container .oc_visual .text {
	font-size: 16px;
	text-align: center;
	line-height: 1.9;
}
#oc .inner .oc_container .oc_visual .label {
	font-size: 14px;
	text-align: center;
	margin: 34px 0 0;
}
#oc .inner .oc_container .oc_visual a {
	margin-top: 14px;
}
#oc .inner .oc_container .oc_info {
	margin: 70px 0 0 0px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 540px;
	max-width: 100%;
}
#oc .inner .oc_container .oc_info h3 {
	position: absolute;
	top: -13px;
	left: 50%;
	z-index: 1;
	font-size: 20px;
	font-weight: 400;
	transform: translate(-50%, 0);
	border: solid 1px #333;
	border-radius: 30px;
	padding: 1px 35px;
	background: white;
	white-space: nowrap;
}
#oc .inner .oc_container .oc_info .event-list {
	padding: 62px 30px 60px;
	background: white;
	margin: 0 0 90px;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow {
	width: 40px;
	height: auto;
	aspect-ratio: 1;
	z-index: 6;
	background: url(/new_assets/images/common/arrow-circle-trans.png) no-repeat center / contain;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow::before {
	display: none;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow.slick-prev {
	left: -20px;
	transform: scale(-1, 1) translate(0, -50%);
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow.slick-next {
	right: -20px;
	transform: scale(1, 1) translate(0, -50%);
}
#oc .inner .oc_container .oc_info .event-list .slick-dots {
	bottom: 10px;
	left: 0;
}
#oc .inner .oc_container .oc_info .event-list .slick-dots li {
	width: auto;
	margin: 0;
}
#oc .inner .oc_container .oc_info .event-list li {
	display: inline-block;
	vertical-align: top;
	width: 210px;
	margin: 0 15px;
	max-height: 330px;
	overflow: hidden;
}
#oc .inner .oc_container .oc_info .event-list a {}
#oc .inner .oc_container .oc_info .event-list a .img {}
#oc .inner .oc_container .oc_info .event-list a .img img {}
#oc .inner .oc_container .oc_info .event-list a p {
	font-size: 17px;
	margin: 16px 0 0;
	line-height: 1.3;
}
#oc .inner .oc_container .oc_info .event-list .event-content {
	padding: 12px 7px 0;
}
#oc .inner .oc_container .oc_info .event-list dl dt {
	font-size: 16px;
	display: inline-block;
}
#oc .inner .oc_container .oc_info .event-list dl dd {
	font-size: 16px;
	display: inline-block;
}
#oc .inner .oc_container .oc_info .event-list span {
	font-size: 16px;
	margin: 2px 0 0;
	line-height: 1.3;
	display: block;
}

/* ==========================================================================
   SNS Section
   ========================================================================== */
#sns {
	padding: 100px 20px 100px;
	background: #fff;
}

#sns .inner {
	max-width: 1040px;
	margin: 0 auto;
}

.sns_container {
}

.sns_block {
	flex: 1;
}

.sns_block .block_head {
}

.sns_block .block_head .icon {
}

.sns_block .block_head .handle,
.sns_block .block_head .label {
	font-weight: 700;
	font-size: 1.2rem;
	color: #333;
}

/* Instagram */
.insta_feed {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.insta_feed .feed_item img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* YouTube & Utility */
.youtube_card {
	margin-bottom: 35px;
}

.video_thumb img {
	width: 100%;
	border-radius: 15px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.utility_buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.btn_util {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	padding: 20px 0;
	border-radius: 12px;
	font-weight: 700;
	font-size: 1.05rem;
	transition: all 0.3s;
	text-decoration: none;
}

.btn_util.coral {
}

.btn_util.light {
	background: #FFF0F0;
	color: #FF7B7B;
	border: 1px solid #FFCECE;
}

.btn_util .icon {
}

.btn_util:hover {
	opacity: 0.8;
	transform: translateY(-2px);
}

#sns {}
#sns .inner {}
#sns .inner .sns_container {
}
#sns .inner .sns_container .sns_block.insta {
	display: inline-block;
	vertical-align: top;
	width: 570px;
	max-width: 100%;
	text-align: center;
	background: #EDF8F8;
	border-radius: 20px;
	padding-bottom: 44px;
}
#sns .inner .sns_container .sns_block.insta .block_head {
	padding: 36px 0 0;
}
#sns .inner .sns_container .sns_block.insta .block_head img {}
#sns .inner .sns_container .sns_block.insta .block_head span {
	display: block;
	font-weight: 400;
	font-size: 18px;
	margin: 6px 0 0;
}
#sns .inner .sns_container .sns_block.insta .insta_feed {
	margin: 40px 30px 0;
}
#sns .inner .sns_container .sns_block.insta .insta_feed div {}
#sns .inner .sns_container .sns_block.insta .insta_feed div img {}
#sns .inner .sns_container .sns_block.utility {
	display: inline-block;
	vertical-align: top;
	width: 420px;
	max-width: 100%;
	text-align: center;
	margin-left: 50px;
}
#sns .inner .sns_container .sns_block.utility .youtube_card {}
#sns .inner .sns_container .sns_block.utility .youtube_card .block_head {}
#sns .inner .sns_container .sns_block.utility .youtube_card .block_head img {}
#sns .inner .sns_container .sns_block.utility .utility_buttons {}
#sns .inner .sns_container .sns_block.utility .utility_buttons a {
	background: #12BCE5;
	color: #fff;
	position: relative;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	transform: translate(-50%, -50%);
	border: solid 1px white;
	border-radius: 10px;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a img {
	height: 38px;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a span {
	text-align: left;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a.coral {
	grid-column: 1 / 3;
	padding: 30px 0;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a.light {}


/* ==========================================================================
   Responsive (Custom Adjustments)
   ========================================================================== */
@media screen and (max-width: 1024px) {

	.career_flex,
	.story_flex,
	.oc_container,
	.sns_container {
		flex-direction: column;
		text-align: center;
		gap: 40px;
	}

	.sns_block .block_head {
		justify-content: center;
	}

	.story_intro,
	.story_viewer {
		width: 100%;
	}

	.oc_title_logo {
		position: static;
		margin: 0 auto 20px;
	}
}

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

	.career_txt .catch,
	.oc_info .catch {
		font-size: 1.8rem;
	}

	.career_visual .rate_circle {
		width: 240px;
		aspect-ratio: 1;
		border-width: 10px;
	}

	.career_visual .rate_circle .number {
		font-size: 4rem;
	}

	.sns_grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.oc_container {
		padding: 40px 20px;
	}

	.sns_links {
		flex-direction: column;
		align-items: center;
	}

	.btn_sns {
		width: 100%;
		max-width: 300px;
	}
}

@media screen and (max-width: 1240px) {
#oc {
	text-align: center;
	background: url(../images/top/oc-bg-line.png) repeat center / 20px;
}
#oc .inner .oc_container {
	text-align: center;
}
#oc .inner .oc_container .oc_info {
	margin: 0;
}
#points article {
	min-height: unset;
}
#points article .txt {
	padding: 10px 0 0 60px;
}
#points article .txt h4 {
	margin: 50px 0 60px;
	padding-right: 40px;
	max-width: 540px;
}
#points article .txt p {
	display: none;
}
#points article .txt a {display: none;}
#points article .text_pink {
	display: block;
}
#points article .text_pink p {
	display: block;
	color: #333;
	max-width: unset;
}
#points article .text_pink .txt {
	display: block;
	width: 100%;
	padding: 25px 60px 5px;
}
#points article .text_pink .txt a {
	display: block;
}
}

@media screen and (max-width: 1100px) {
#course .course_list {
	display: block;
	margin: 40px auto 0;
}
#career .inner {
	text-align: center;
}
#career .career_txt {
	padding: 0 0 30px;
}
#sns .inner .sns_container {
	text-align: center;
}
#sns .inner .sns_container .sns_block.utility {
	margin: 50px 0 0;
}
}

@media screen and (max-width: 768px) {
.scr_clip {}
.scr_clip.action {}
a.btn.grad {}
a.btn.grad::after {}
a.btn.grad span {
}
a.btn.grad.grad-white {}
a.btn.grad.grad-white::before {}
a.btn.grad.grad-white::after {}
a.btn.grad.grad-white span {}
a.btn.grad.grad-pink {}
a.btn.grad.grad-pink::after {}
a.btn.grad.grad-pink span {}
.title_en {
	font-size: 9vw;
}
.title_en::after {
	top: 16vw;
	width: 12vw;
}
.subtitle {
	font-size: 3.5vw;
	margin: 6vw 0 0;
}
#mv {
	width: 87vw;
}
#mv .slick-dotted.slick-slider {}
#mv .slick-list {
	aspect-ratio: auto;
}
#mv .mv_slider .item img {
	height: auto;
	border-radius: 10px;
	aspect-ratio: 9 / 12.8;
}
#mv .mv_slider .slick-dots {}
#mv .mv_slider .slick-dots li {}
#mv .mv_slider .slick-dots li.slick-active {}
#mv .mv_slider .slick-dots li button {}
#banners {
	padding: 80px 0 0;
}
#banners .inner {
	padding: 0 9vw;
}
#banners .inner a {}
#banners .slick-prev,
#banners .slick-next {}
#banners .slick-prev:before,
#banners .slick-next:before {}
#banners .slick-prev:before {}
#banners .slick-prev {}
#banners .slick-next {}
#value {
	margin: 21vw 0 0;
}
#value .title_en {}
#value .subtitle {}
#value .catch {
	font-size: 5vw;
	line-height: 1.8;
	margin: 9.4vw 15vw 0;
}
#value .desc {
	font-size: 3.8vw;
	line-height: 1.75;
	margin: 6vw 0 0;
}
#points .point_item {}
#points .point_item .txt {}
#points .point_item .img {}
#points .point_item .img img {}
#points .point_item.left .txt {}
#points .point_item.right .txt {}
#points .point_item h4 {}
#points .point_item .btn {}
#points .point_item .btn span {}
#points .point_item .btn::after {}
#points .point_item .btn:hover {}
#points .point_item .btn:hover::after {}
#points .point_item .btn::before {}
#points {
	padding: 19vw 0 0;
}
#points article {}
#points article .inner {}
#points article:nth-of-type(even) .inner {}
#points article .text_pink {
	display: none;
}
#points article .num {
	font-size: 4vw;
	margin: 5vw 0 0;
	padding-right: 3vw;
	display: none;
}
#points article .show_more {
	font-size: 3.2vw;
	color: #333333;
	cursor: pointer;
	margin-bottom: 4vw;
	width: fit-content;
}
#points article .show_more::after {
	content: '>';
	display: inline-block;
	transform: scale(1.8, 1) rotate(90deg);
	margin-left: 2.4vw;
	transition: 0.3s;
}
#points article .show_more.open::after {
	transform: scale(1.8, -1) rotate(90deg);
}
#points article .text_pink .txt {
	padding: 2vw 6vw 1vw;
}
#points article .num::before {
	font-size: 3.4vw;
}
#points article .num::after {}
#points article:nth-of-type(even) .num::after {}
#points article .txt {
	padding: 0 0 0 5vw;
	width: 57%;
}
#points article .txt::after {
	background-position: center;
}
#points article:nth-of-type(2) .txt::after {
	background-position: center;
}
#points article:nth-of-type(3) .txt::after {}
#points article .txt h4 {
	margin: 3.4vw 0 2vw;
	padding-right: 4vw;
	max-width: 540px;
	font-size: 5vw;
}
#points article .txt h4 span {
	font-size: 3.7vw;
}
#points article .txt p {
	font-size: 3.6vw;
}
#points article .txt a {
	margin: 3vw 0 4vw;
}
#points article .img {}
#points article .img img {}
#course {
	padding: 16vw 0 0;
}
.course_slider {
	margin: 9vw 0 0;
}
.course_slider .slick-track .item {
	transform: translate(6%, 0);
}
.course_slider .item img {
	width: 79vw;
}
#course .slick-prev,
#course .slick-next {
	display: none;
}
#course .slick-prev:before,
#course .slick-next:before {}
.course_list {}
.course_list a {}
.course_list a:hover {}
.course_list a img {}
.course_list a span {
	font-size: 3.8vw;
}
.course_list a::after {}
#course .title_en {}
#course .subtitle {}
#course .course_slider {
	overflow: hidden;
}
#course .course_slider .slick-arrow {
	width: 8vw;
	margin: 0;
}
#course .course_slider .slick-arrow::before {
	display: none;
}
#course .course_slider .slick-arrow.slick-prev {
	left: 3vw;
}
#course .course_slider .slick-arrow.slick-next {
	right: 3vw;
}
#course .course_list {
	margin: 11vw 6vw 0;
}
#course .course_list li {
	padding-bottom: 0;
	margin-bottom: 0;
}
#course .course_list li a {
	background: none !important;
	padding: 3.2vw 0 3.2vw 5.6vw;
	position: relative;
}
#course .course_list li a::before {
	width: 6vw;
	margin-right: 3.4vw;
}
#course .course_list li a::after {
	content: '>';
	top: 50%;
	right: 4vw;
	color: #333;
	font-size: 3vw;
	font-weight: 400;
	transform: translate(0, -50%) scale(1, 2.5);
}
#course .course_list li a.medical {}
#course .course_list li a.medical::before {}
#course .course_list li a.fashion {}
#course .course_list li a.fashion::before {}
#course .course_list li a.bridal {}
#course .course_list li a.bridal::before {}
#course .course_list li a.it {}
#course .course_list li a.it::before {}
#course .course_list li a.trimmer {}
#course .course_list li a.trimmer::before {}
#course .course_list li a.patissier {}
#course .course_list li a.patissier::before {}
#course .course_list li a.cook {}
#course .course_list li a.cook::before {}
#course .course_list li a.care {}
#course .course_list li a.care::before {}
#course .course_list li a.anime {}
#course .course_list li a.anime::before {}
#course .course_list li a.esports {}
#course .course_list li a.esports::before {}
#news {
	padding: 19vw 6vw 0;
}
#news .inner {
	max-width: 100%;
}
.news_list {}
.news_item a {}
.news_item .thumb {}
.news_item .thumb img {}
.news_item .info .date {}
.news_item .info .tags {}
.news_item .info .tag {}
.tag.notice {}
.tag.oc {}
.tag.nyushi {}
.tag.course {}
.news_item .info .title {}
#news {}
#news .title_en {}
#news .subtitle {}
#news .news_tabs {
	padding: 11vw 0 0;
	text-align: left;
}
#news .news_tabs span {
	font-size: 3.4vw;
	padding: 2.7vw 7vw;
	margin: 0 1vw 2vw;
}
#news .news_filter {
	margin: 2.4vw 0 0;
}
#news .news_filter span {
	width: 28vw;
	height: 9vw;
	max-width: none;
	font-size: 3.2vw;
	padding: 1.8vw 1vw 0 0;
}
#news .news_filter select {
	width: 59vw;
	height: 9vw;
	max-width: none;
	font-size: 3.2vw;
	padding: 0 4vw;
}
#news .news_list {
	max-width: 100%;
	display: block;
	margin: 13vw auto 0;
}
#news .news_list a {
	display: block;
	margin: 0 0 9vw;
}
#news .news_list a .thumb {
	width: 34vw;
}
#news .news_list a .info {
	max-width: none;
	width: 53vw;
	padding-left: 3vw;
}
#news .news_list a .info .date {
	font-size: 3.2vw;
	line-height: 1.3;
}
#news .news_list a .info .tags {
	margin: 1vw 0 0;
}
#news .news_list a .info .tags span {
	font-size: 3vw;
	padding: 0vw 1.6vw;
	margin: 0 2vw 2vw 0;
}
#news .news_list a .info .title {
	font-size: 3.7vw;
	padding: 1vw 0 0;
	line-height: 1.4;
}
#news .btn_area {
	margin: 0 0 0;
}
#news .btn_area a {}
#career {
	padding: 16vw 6vw 13vw;
}
.career_flex {}
.career_txt {}
.career_txt .catch {
	margin: 7vw 0vw 0;
	font-size: 5.4vw;
}
.career_txt .desc {
	font-size: 3.6vw;
	line-height: 1.8;
	margin: 8vw 0 0;
	text-align: left;
}
.career_visual {}
.career_visual .rate_circle {
	width: 56vw;
}
.career_visual .rate_circle.action {}
.career_visual .label {}
.career_visual .rate_circle .number {}
.career_visual .rate_circle .number span {}
.career_visual .caption {}
#career {}
#career .inner {}
#career .title_en {}
#career .subtitle {}
#career .career_txt {}
#career .career_txt .catch {}
#career .career_txt .desc {}
#career .career_txt .btn_area {}
#career .career_txt .btn_area a {}
#career .career_visual {
	max-width: 61vw;
}
#career .career_visual .rate_circle {}
#career .career_visual .rate_circle::after {}
#career .career_visual .label {
	top: 21%;
	font-size: 3.2vw;
}
#career .career_visual .rate_circle .number {}
#career .career_visual .rate_circle.action .number {}
#career .career_visual .caption {
	margin: 3vw 0 0;
	font-size: 3vw;
}
#story {
	padding: 0 0 11vw;
}
#story .inner {}
.story_flex {}
.story_intro {
	padding-top: 8vw;
}
.story_intro .desc {}
.story_viewer {}
.story_slider {}
.story_card {}
.story_card a {}
.story_card a:hover {}
.story_card .img {}
.story_card .img img {}
.story_card .card_info {}
.story_card .job {}
.story_card .name {}
.story_card .work {}
#story {}
#story .inner {}
#story .inner .story_flex {}
#story .inner .story_flex .story_intro {}
#story .inner .story_flex .story_intro h2 {
	height: 17vw;
}
#story .inner .story_flex .story_intro .desc {
	font-size: 3.6vw;
	margin: 4.8vw 6vw 0;
	text-align: left;
}
#story .inner .story_flex .story_intro .btn_area {
	margin: 6vw 0 0;
}
#story .inner .story_flex .story_viewer .story_slider .slick-dots {
	bottom: -10vw;
}
#story .inner .story_flex .story_viewer .story_slider {
	margin: 2vw 0 0;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow {
	width: 10vw;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow::before {
	display: none;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow.slick-prev {
	left: 3vw;
}
#story .inner .story_flex .story_viewer .story_slider .slick-arrow.slick-next {
	right: 3vw;
}
#story .inner .story_flex .story_viewer .story_slider a {
	display: inline-block;
	width: 62vw;
	margin: 0 5vw;
}
#story .inner .story_flex .story_viewer .story_slider a .img {}
#story .inner .story_flex .story_viewer .story_slider a .img img {}
#story .inner .story_flex .story_viewer .story_slider a .card_text {
	padding-right: 0;
	text-align: left;
}
#story .inner .story_flex .story_viewer .story_slider a .card_text span {
	font-size: 3.1vw;
	padding: 1vw 2vw 1vw 7vw;
	margin: -21vw 0 0.4vw -5vw;
}
#story .inner .story_flex .story_viewer .story_slider a .card_text p {
	font-size: 4vw;
	padding: 1.4vw 12px;
	text-align: left;
	margin: 0 0 0 -5vw;
}
#story .inner .story_flex .story_viewer .story_slider a .card_info {
	text-align: left;
}
#story .inner .story_flex .story_viewer .story_slider a .card_info .job {}
#story .inner .story_flex .story_viewer .story_slider a .card_info .name {}
#story .inner .story_flex .story_viewer .story_slider a .card_info .work {}
#campus {
	padding: 18vw 6vw 20vw;
}
.campus_pattern {}
#campus .inner {}
#campus .catch_sub {}
.campus_banner {
	margin: 9vw 0 0;
}
.campus_banner img {}
#campus {}
#campus .title_en {}
#campus .subtitle {}
#campus .campus_banner {}
#campus .campus_banner img {}
#oc {
	padding: 0;
	background: url(../images/top/oc-bg-sp.png) no-repeat center top / 100% auto, url(../images/top/oc-bg-line.png) repeat center / 5vw;
}
#oc .inner {}
.oc_container {
	padding: 20vw 0 11vw;
}
.oc_visual {}
.oc_title_logo {}
.oc_title_logo img {}
.oc_photo {}
.oc_photo img {}
.oc_info {}
.oc_info .catch {}
.oc_info .desc {}
.oc_info .upcoming {}
.oc_info .upcoming .label {}
.event_list {}
.event_card {}
.event_card .date {}
.event_card .date span {}
.event_card .name {}
.oc_decoration {}
#oc {
	padding: 0;
	background-image: url(../images/top/oc-bg-sp.png);
}
#oc .inner {}
#oc .inner .oc_container {}
#oc .inner .oc_container .oc_visual {
	padding-bottom: 44vw;
	background-size: 110% auto;
}
#oc .inner .oc_container .oc_visual .oc_title_logo {
	width: 76vw;
}
#oc .inner .oc_container .oc_visual .oc_title_logo img {}
#oc .inner .oc_container .oc_visual .text {
	font-size: 3.6vw;
}
#oc .inner .oc_container .oc_visual .label {
	font-size: 3.2vw;
	margin: 9vw 0 0;
}
#oc .inner .oc_container .oc_visual a {
	margin-top: 3vw;
}
#oc .inner .oc_container .oc_info {}
#oc .inner .oc_container .oc_info h3 {
	top: -4vw;
	font-size: 4vw;
	padding: 0.3vw 5vw;
}
#oc .inner .oc_container .oc_info .event-list {
	padding: 7vw 7vw 8vw;
}
#oc .inner .oc_container .oc_info .event-list a {
}
#oc .inner .oc_container .oc_info .event-list a .img {}
#oc .inner .oc_container .oc_info .event-list a .img img {}
#oc .inner .oc_container .oc_info .event-list a p {
	font-size: 3vw;
	margin: 2vw 0 0;
	line-height: 1.3;
	text-align: left;
}

#oc .inner .oc_container .oc_info .event-list {
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow {
	width: 8vw;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow::before {
	display: none;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow.slick-prev {
	left: 3vw;
}
#oc .inner .oc_container .oc_info .event-list .slick-arrow.slick-next {
	right: 3vw;
}
#oc .inner .oc_container .oc_info .event-list .slick-dots {
	bottom: 3vw;
}
#oc .inner .oc_container .oc_info .event-list li {
	display: inline-block;
	vertical-align: top;
	width: 39vw;
	margin: 0 2vw;
}
#oc .inner .oc_container .oc_info .event-list a {}
#oc .inner .oc_container .oc_info .event-list a .img {}
#oc .inner .oc_container .oc_info .event-list a .img img {}
#oc .inner .oc_container .oc_info .event-list a p {}
#oc .inner .oc_container .oc_info .event-list .event-content {
	padding: 3vw 0vw 0;
}
#oc .inner .oc_container .oc_info .event-list dl dt {
	font-size: 3.6vw;
}
#oc .inner .oc_container .oc_info .event-list dl dd {
	font-size: 3.6vw;
}
#oc .inner .oc_container .oc_info .event-list span {
	font-size: 3.6vw;
}
	
#sns {}
#sns .inner {}
.sns_container {}
.sns_block {}
.sns_block .block_head {}
.sns_block .block_head .icon {}
.sns_block .block_head .handle,
.sns_block .block_head .label {}
.insta_feed {}
.insta_feed .feed_item img {}
.youtube_card {}
.video_thumb img {}
.utility_buttons {
	gap: 3vw;
}
.btn_util {}
.btn_util.coral {}
.btn_util.light {}
.btn_util .icon {}
.btn_util:hover {}
#sns {
	padding: 15vw 6vw 16vw;
}
#sns .inner {}
#sns .inner .sns_container {}
#sns .inner .sns_container .sns_block.insta {
	padding-bottom: 8vw;
}
#sns .inner .sns_container .sns_block.insta .block_head {
	padding: 6vw 0 0;
}
#sns .inner .sns_container .sns_block.insta .block_head img {
	width: 10vw;
}
#sns .inner .sns_container .sns_block.insta .block_head span {
	font-size: 4.4vw;
	margin: 1.4vw 0 0;
}
#sns .inner .sns_container .sns_block.insta .insta_feed {
	margin: 5vw 8vw 0;
	grid-template-columns: repeat(2, 1fr);
	gap: 3vw;
}
#sns .inner .sns_container .sns_block.insta .insta_feed div {}
#sns .inner .sns_container .sns_block.insta .insta_feed div img {}
#sns .inner .sns_container .sns_block.utility {
	margin: 8vw 0 0;
}
#sns .inner .sns_container .sns_block.utility .youtube_card {}
#sns .inner .sns_container .sns_block.utility .youtube_card .block_head {}
#sns .inner .sns_container .sns_block.utility .youtube_card .block_head img {}
#sns .inner .sns_container .sns_block.utility .utility_buttons {}
#sns .inner .sns_container .sns_block.utility .utility_buttons a {}
#sns .inner .sns_container .sns_block.utility .utility_buttons a::before {}
#sns .inner .sns_container .sns_block.utility .utility_buttons a img {
	height: 8.6vw;
	display: inline-block;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a span {
	font-size: 4.6vw;
	line-height: 1.5;
	display: inline-block;
	margin: 2vw 2vw;
	text-align: center;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a.coral {
	padding: 5vw 0;
}
#sns .inner .sns_container .sns_block.utility .utility_buttons a.light {
	display: block;
	text-align: center;
	padding: 5vw 5vw 1vw;
}

}

/*メインビジュアル動画*/
.item iframe{
	width: 100%;
    aspect-ratio: 16 / 9;
}
.item video{
	display: none;
}
@media screen and (max-width: 768px) {
	.item iframe{
		display: none;
	}
	.item video{
		display: block;
		width: 100%;
		aspect-ratio: 9 / 12.8;
	}
}

/*追加*/
.course_btn{
	max-width: 720px;
	margin: 46px auto 0px;
}
.course_btn a:first-child img{
	margin-bottom: 50px;
}
.column{
	display: flex;
	gap:10px;
	margin-top: 35px;
}
.column.sp_blk{
	display: none;
}
.column p{
	font-size: 16px;
	color: #C486B8;
	margin-right: 10px;
	font-weight: 500;
}
.column .col:first-child p{
	color: #767EA2;
}
.column .col{
	display: flex;
	align-items: center;
}
#career .column .col .btn_area{
	margin-top: 0px;
}
@media screen and (max-width: 768px) {
	#points article .txt::after{
		height: 100%;
		background: no-repeat left center / cover;
    	background-image: url(/new_assets/images/top/point-01_sp.png);
	}
	#points article:nth-of-type(2) .txt::after{
		left: auto;
		right: 100%;
		background: no-repeat right center / cover;
		background-image: url(/new_assets/images/top/point-02_sp.png);
	}
	#points article:nth-of-type(3) .txt::after {
		background-image: url(/new_assets/images/top/point-03_sp.png);
	}
	#points article:nth-of-type(4) .txt::after{
		left: auto;
		right: 100%;
		background: no-repeat right center / cover;
		background-image: url(/new_assets/images/top/point-04_sp.png);
	}
	#points article:nth-of-type(5) .txt::after {
		background-image: url(/new_assets/images/top/point-05_sp.png);
	}
	#points article:nth-of-type(6) .txt::after{
		left: auto;
		right: 100%;
		background: no-repeat right center / cover;
		background-image: url(/new_assets/images/top/point-06_sp.png);
	}
	.course_btn{
		max-width: 350px;
	}
	.column.sp_blk{
		display: block;
	}
	.column.sp{
		display: none;
	}
	.column .col{
		display: block;
		margin-bottom: 20px;
	}
	.column .col .txt{
		text-align: center;
	}
	.column .col .txt p{
		font-size: 1.2rem;
		margin-bottom: 10px;
	}
}