@charset "UTF-8";
/* ==================================
= top 
================================== */
.p-top-mv {
	z-index: 1;
	position: relative;
	background: url(../img/top/img_mv_bg.png) no-repeat bottom center #000;
	background-size: 100% auto;
	color: #fff;
}
.p-top-mv .mv-lead {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 2;
	position: relative;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}
.p-top-mv .mv-lead .lead-title {
	font-weight: 600;
	font-size: 7.6rem;
	line-height: 1.5003947368;
	letter-spacing: 0.22em;
}
.p-top-mv .mv-lead .lead-wrap {
	width: 100%;
	max-width: 81.4rem;
	background-color: rgba(0, 0, 0, 0.3);
}
.p-top-mv .mv-lead .lead-caption {
	font-weight: 600;
	font-size: 3.8rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}
.p-top-mv .mv-lead .lead-sub {
	font-size: 1.8rem;
	line-height: 1.8888888889;
	letter-spacing: 0.06em;
}
.p-top-mv .mv-image {
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
}
.p-top-mv .mv-image img {
	width: 100%;
}
.p-top-mv .mv-image .caption {
	margin-top: 0.4rem;
	padding-right: 0.4rem;
	font-size: 1.2rem;
}
.p-top-mv .mv-arrow {
	z-index: 10;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 5rem;
	height: 5rem;
	margin: 0 auto;
}
.p-top-news {
	background-color: #fff;
}
.p-top-news .news-inner {
	padding-top: 1.8rem;
	padding-bottom: 1.6rem;
}
.p-top-news .news-lists li {
	line-height: 1.4;
}
.p-top-news .news-lists .date {
	grid-area: date;
	padding-top: 0.2rem;
	font-size: 1.4rem;
}
.p-top-news .news-lists .title {
	grid-area: title;
	font-size: 1.8rem;
}
.p-top-news .news-lists .title a {
	font-weight: bold;
	text-decoration: underline;
}
.p-top-news .news-lists .title a:hover {
	text-decoration: none;
}
.p-top-custom {
	position: relative;
	padding-top: 12rem;
	padding-bottom: 12rem;
}
.p-top-custom::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}
.p-top-custom .custom-caption {
	color: #fff;
}
.p-top-custom .custom-caption .label {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 0 3.7rem;
	background-color: #fff;
	color: #1a1a1a;
	font-size: 2.6rem;
	line-height: 1.5;
	letter-spacing: 0.14em;
}
.p-top-custom .custom-caption .title {
	margin-top: 3.8rem;
	font-size: 6rem;
	line-height: 1.4;
	letter-spacing: 0.2em;
}
.p-top-custom .custom-caption .content,
.p-top-custom .custom-caption .question,
.p-top-custom .custom-caption .lead {
	font-size: 2rem;
}
.p-top-custom .custom-caption .content {
	margin-top: 6.4rem;
	line-height: 2.5;
	letter-spacing: 0.06em;
}
.p-top-custom .custom-caption .question {
	margin-top: 4.4rem;
}
.p-top-custom .custom-caption .question .list01,
.p-top-custom .custom-caption .question .list02,
.p-top-custom .custom-caption .question .list03 {
	padding: 0.95rem;
	border: 0.1rem solid #fff;
}
.p-top-custom .custom-caption .lead {
	margin-top: 5.2rem;
	letter-spacing: 0.06em;
}
.p-top-custom .custom-case-study {
	margin-top: 6.8rem;
	padding: 10.2rem 8rem 7rem;
	background-color: rgba(255, 255, 255, 0.9);
}
.p-top-custom .custom-case-study .case-study-title {
	font-size: 5rem;
	line-height: 1.72;
	letter-spacing: 0.06em;
}
.p-top-custom .custom-case-study .case-study-sub-title {
	position: relative;
	margin-top: 6.2rem;
	padding-bottom: 1.2rem;
	font-size: 3.4rem;
	letter-spacing: 0.06em;
}
.p-top-custom .custom-case-study .case-study-sub-title::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.1rem;
	background-color: #4d4d4d;
	content: "";
}
.p-top-custom .custom-case-study .case-study-lists {
	margin-top: 4rem;
}
.p-top-custom .custom-case-study .case-study-lists + .case-study-sub-title {
	margin-top: 6.8rem;
}
.p-top-custom .custom-case-study .case-study-lists .list01 {
	grid-area: list01;
}
.p-top-custom .custom-case-study .case-study-lists .list02 {
	grid-area: list02;
}
.p-top-custom .custom-case-study .case-study-lists .list .lead {
	margin-top: 1rem;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}
.p-top-custom .custom-case-study .case-study-lists .list .caption {
	margin-top: 0.4rem;
	padding-right: 0.4rem;
	font-size: 1.2rem;
	line-height: 1.4;
}
.p-top-casestudy {
	padding-top: 10.2rem;
	padding-bottom: 12rem;
}
.p-top-casestudy .casestudy-title {
	font-size: 5rem;
	line-height: 1.72;
	letter-spacing: 0.06em;
}
.p-top-casestudy .casestudy-lists {
	margin-top: 7.9rem;
}
.p-top-casestudy .casestudy-lists li {
	background-color: #fff;
	-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1019607843);
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1019607843);
}
.p-top-casestudy .casestudy-lists a {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
	opacity: 1;
	-webkit-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
}
.p-top-casestudy .casestudy-lists a:hover {
	opacity: 0.8;
}
.p-top-casestudy .casestudy-lists .list-title {
	padding: 2rem 2rem 0;
	font-size: 2.2rem;
	line-height: 1.3636363636;
	letter-spacing: 0.06em;
}
.p-top-casestudy .casestudy-lists .list-content {
	padding: 1rem 2rem 2rem;
}
.p-top-casestudy .casestudy-lists .list-content .more {
	margin-top: 2rem;
}
.p-top-casestudy .casestudy-lists .list-content .more .c-button {
	padding: 0.7rem 2rem;
}
.p-top-casestudy .casestudy-lists .list-content .more .c-button::before {
	right: 1rem;
}
.p-top-casestudy .casestudy-lists .list-content .more .c-button:hover {
	background-color: #1a1a1a;
	opacity: 1;
}
.p-top-floating-contact {
	z-index: 2;
	position: fixed;
	right: 0;
	bottom: 36rem;
	width: 6rem;
	-webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.p-top-floating-contact.is-active {
	z-index: 2;
}
.p-top-floating-contact a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.6rem;
	color: #fff;
	font-weight: 600;
}
.p-top-floating-contact .floating-content-sp {
	padding: 2.6041666667vw 5.2083333333vw;
	color: #fff;
}
.p-top-floating-contact .floating-content-sp .contact-bnr {
	width: 100%;
}
.p-top-floating-contact .floating-content-sp .contact-bnr .c-button {
	padding: 1.6vw 2.1333333333vw;
}
.p-top-floating-contact .floating-content-sp .tel-wrap {
	-webkit-box-align: start;
	-ms-flex-align: start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-top: 2.1333333333vw;
	gap: 0 0.4rem;
}
.p-top-floating-contact .floating-content-sp .caption {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	min-width: 4rem;
}
.p-top-floating-contact .floating-content-sp .caption p {
	margin: 0;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0;
}
.p-top-floating-contact .floating-content-sp .caption p.first {
	font-size: 3.6458333333vw;
}
.p-top-floating-contact .floating-content-sp .caption p.last {
	font-size: 3.125vw;
}
.p-top-floating-contact .floating-content-sp .tel-bnr .caption {
	width: 100%;
	margin-top: 6.7708333333vw;
	font-size: 2rem;
	font-size: 4.1666666667vw;
	line-height: 1.625;
	letter-spacing: 0;
}
.p-top-floating-contact .floating-content-sp .tel-bnr a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding-right: 7rem;
	line-height: 1.2;
}
.p-top-contact {
	padding-top: 9.9rem;
	padding-bottom: 11.1rem;
	background: #111;
}
.p-top-contact .contact-button {
	width: 100%;
}
.p-top-contact .contact-button .c-button {
	padding: 1.95rem 1.6rem;
	font-size: 2.8rem;
}
.p-top-contact .contact-tel {
	color: #fff;
	font-size: 2rem;
}
.p-top-contact .contact-tel .caption {
	width: 100%;
	font-size: 2rem;
	letter-spacing: 0;
}
.p-top-contact .contact-tel a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding-right: 7rem;
	line-height: 1.2;
}
.p-top-contact .contact-tel .icon {
	width: 3.1rem;
	margin-top: 0.5rem;
}
.p-top-contact .contact-tel .icon svg {
	fill: #fff;
}
.p-top-contact .contact-tel .num {
	margin-left: 0.8rem;
	font-size: 5.6rem;
	letter-spacing: 0.04em;
}
.p-top-about {
	position: relative;
	padding-top: 17.8rem;
	padding-bottom: 9.4rem;
}
.p-top-about .about-head .head-faq {
	-ms-grid-columns: 1fr 5rem 1fr;
	-ms-grid-rows: auto;
	display: -ms-grid;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "bubble01 bubble02";
	width: 95rem;
	margin: 0 auto;
	gap: 0px 5rem;
	color: #fff;
}
.p-top-about .about-head .head-faq .lead {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 1;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 45rem;
	height: 7rem;
}
.p-top-about .about-head .bubble01, .p-top-about .about-head .bubble02 {
	position: relative;
	font-size: 2.52855rem;
}
.p-top-about .about-head .bubble01::before, .p-top-about .about-head .bubble02::before {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8.96667rem;
	content: "";
}
.p-top-about .about-head .bubble01 {
	grid-area: bubble01;
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.p-top-about .about-head .bubble01::before {
	background: url(../img/top/img_bubble_left.svg) no-repeat;
}
.p-top-about .about-head .bubble02 {
	grid-area: bubble02;
	-ms-grid-row: 1;
	-ms-grid-column: 3;
}
.p-top-about .about-head .bubble02::before {
	background: url(../img/top/img_bubble_right.svg) no-repeat;
}
.p-top-about .about-head .title {
	margin-top: 5.8rem;
	font-size: 4.21425rem;
	line-height: 1.6610310257;
	letter-spacing: 0.0600344071em;
}
.p-top-about .about-images {
	margin: 10.4rem 0 0;
}
.p-top-about .about-images img {
	width: 100%;
	margin: 0 auto;
}
.p-top-about .about-caption {
	margin-top: 9.2rem;
}
.p-top-about .about-caption .sub {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	position: relative;
	align-items: center;
	padding: 0 0.9rem 0.4rem;
	border-bottom: 0.1rem solid #111;
	background: #fff;
	font-size: 4rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.p-top-about .about-caption .sub::before, .p-top-about .about-caption .sub::after {
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: 0 auto;
	border-width: 1.3rem 0.8rem 0 0.8rem;
	border-style: solid;
	content: "";
}
.p-top-about .about-caption .sub::before {
	bottom: -1.3rem;
	border-color: #111 transparent transparent transparent;
}
.p-top-about .about-caption .sub::after {
	bottom: -1.2rem;
	border-color: #fff transparent transparent transparent;
}
.p-top-about .about-caption .sub .num {
	margin: 0 0.4rem 0 0.4rem;
}
.p-top-about .about-caption .sub .tax {
	font-size: 3rem;
	letter-spacing: 0.06em;
}
.p-top-about .about-caption .title {
	margin-top: 3rem;
	font-size: 5rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.p-top-about .about-caption .content {
	margin-top: 3.8rem;
	font-size: 2rem;
	letter-spacing: 0.06em;
}
.p-top-about .about-point {
	margin-top: 10.9rem;
}
.p-top-about .about-point .point-list .list-wrap {
	height: 100%;
	background-color: #fff;
	-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1019607843);
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1019607843);
}
.p-top-about .about-point .point-list .list-content {
	padding: 2.6rem 3rem;
}
.p-top-about .about-point .point-list .list-content .point {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	padding-left: 4.3rem;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
}
.p-top-about .about-point .point-list .list-content .point::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3.5rem;
	height: 0.1rem;
	margin: auto 0;
	background-color: #1a1a1a;
	content: "";
}
.p-top-about .about-point .point-list .list-content .point .num {
	margin-left: 0.7rem;
	font-size: 3.6rem;
	line-height: 1;
}
.p-top-about .about-point .point-list .list-content .title {
	margin-top: 1.8rem;
	font-size: 2.4rem;
	line-height: 1.5833333333;
	letter-spacing: 0.06em;
}
.p-top-about .about-point .point-list .list-content .lead {
	margin-top: 1.7rem;
	line-height: 1.625;
}
.p-top-about .about-point .point-list .list-content .notes {
	margin-top: 0.8rem;
	font-size: 1.2rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}
.p-top-about .about-overview {
	margin-top: 7.8rem;
}
.p-top-about .about-overview .overview-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.p-top-about .about-overview .overview-content .title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	width: 27.5rem;
	padding: 4rem;
}
.p-top-about .about-overview .overview-content .title::before {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #1a1a1a;
	content: "";
}
.p-top-about .about-overview .overview-content .lists {
	-webkit-box-flex: 1;
	position: relative;
	-ms-flex: 1;
	flex: 1;
	min-width: 4rem;
	margin: 0;
	padding: 3.1rem 5rem;
}
.p-top-about .about-overview .overview-content .lists dl {
	margin: 0;
}
.p-top-about .about-overview .overview-content .lists dt,
.p-top-about .about-overview .overview-content .lists dd {
	letter-spacing: 0;
}
.p-top-about .about-overview .overview-content .lists dd {
	margin: 0;
}
.p-top-about .about-overview .overview-content .lists dd .small {
	margin-left: 0.6rem;
	font-size: 1.2rem;
}
.p-top-about .about-overview .overview-content .lists::before {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #1a1a1a;
	content: "";
}
.p-top-about .about-overview .overview-notes {
	margin-top: 1.4rem;
	font-size: 1.4rem;
	line-height: 1.8571428571;
	letter-spacing: 0;
}
.p-top-course {
	padding-top: 7.6rem;
	padding-bottom: 10rem;
}
.p-top-course .course-caption {
	margin-top: 4.8rem;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}
.p-top-course .course-category {
	margin-top: 5.4rem;
}
.p-top-course .course-category + .course-category {
	margin-top: 8.2rem;
}
.p-top-course .course-category.category-01 .category-course {
	margin-top: 7rem;
}
.p-top-course .course-category.category-02 .category-course {
	margin-top: 3.4rem;
}
.p-top-course .course-category.category-03 .category-course {
	margin-top: 6.9rem;
}
.p-top-course .course-category .category-caption {
	margin-top: 5.1rem;
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.06em;
}
.p-top-course .course-category .course-plan + .course-plan {
	margin-top: 4rem;
}
.p-top-course .course-category .course-detail {
	background-color: #fff;
}
.p-top-course .course-category .course-detail .detail-head {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: end;
	-ms-flex-align: end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	padding: 0.4rem 0.8rem;
	background-color: #8d272d;
	color: #fff;
}
.p-top-course .course-category .course-detail .detail-head::before {
	position: absolute;
	right: 0;
	bottom: -1rem;
	left: 0;
	width: 0;
	height: 0;
	margin: 0 auto;
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #8d272d transparent transparent transparent;
	content: "";
}
.p-top-course .course-category .course-detail .detail-head .num {
	font-size: 2.6rem;
	line-height: 1.2;
}
.p-top-course .course-category .course-detail .detail-box {
	padding: 2.6rem 3rem;
}
.p-top-course .course-category .course-detail .name,
.p-top-course .course-category .course-detail .price {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
}
.p-top-course .course-category .course-detail .name {
	font-size: 3.8rem;
}
.p-top-course .course-category .course-detail .name .large {
	margin-right: 0.5rem;
	font-size: 6rem;
}
.p-top-course .course-category .course-detail .price {
	margin-top: 0.4rem;
	font-size: 2rem;
}
.p-top-course .course-category .course-detail .price .num {
	margin-right: 0.9rem;
	font-size: 4.2rem;
}
.p-top-course .course-category .course-detail .navi {
	margin-top: 3.2rem;
}
.p-top-course .course-category .course-detail .navi .c-button {
	padding: 0.5rem 2rem;
	font-size: 1.8rem;
}
.p-top-course .course-category .course-detail .navi .c-button::before {
	right: 1rem;
}
.p-top-course .course-category .course-items {
	background-color: #fff;
}
.p-top-course .course-category .course-items .slick-prev,
.p-top-course .course-category .course-items .slick-next {
	top: 38%;
}
.p-top-course .course-category .course-items .item {
	height: 100%;
}
.p-top-course .course-category .course-items .item .detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 1.1rem 1.4rem;
	line-height: 1.4;
}
.p-top-course .course-category .course-items .item .detail::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 0.1rem;
	height: 100%;
	background-color: #e6e6e6;
	content: "";
}
.p-top-course .course-category .course-items .item .detail .title,
.p-top-course .course-category .course-items .item .detail .material,
.p-top-course .course-category .course-items .item .detail .size {
	letter-spacing: 0;
}
.p-top-course .course-category .course-items .item .detail .title {
	-webkit-box-flex: 1;
	-ms-flex: auto;
	flex: auto;
	font-size: 1.8rem;
}
.p-top-course .course-category .course-items .item .detail .material {
	-webkit-box-flex: 1;
	-ms-flex: auto;
	flex: auto;
	margin-top: 0.2rem;
	text-align: right;
}
.p-top-course .course-category .course-items .item .detail .size {
	width: 100%;
	margin-top: 0.4rem;
	font-size: 1.4rem;
	text-align: right;
}
.p-top-course .course-notes {
	margin-top: 7.8rem;
	padding: 1.6rem 1.8rem;
	border: 1px solid #1a1a1a;
}
.p-top-course .course-notes .title {
	padding-bottom: 0.8rem;
	border-bottom: 1px solid #1a1a1a;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}
.p-top-course .course-notes .lists {
	margin: 1.9rem 0 0 0;
	padding: 0;
	list-style: none;
}
.p-top-course .course-notes .lists li {
	position: relative;
	padding-left: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.p-top-course .course-notes .lists li::before {
	position: absolute;
	top: 0.9rem;
	left: 0.4rem;
	width: 0.3rem;
	height: 0.3rem;
	border-radius: 100vh;
	background-color: #1a1a1a;
	content: "";
}
.p-top-course .course-notes .lists li:not(:first-child) {
	margin-top: 0.7rem;
}
.p-top-flow {
	padding-top: 7.8rem;
	padding-bottom: 10rem;
}
.p-top-flow .flow-caption {
	margin-top: 4.7rem;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}
.p-top-flow .flow-lists {
	margin-top: 3.2rem;
	overflow-x: hidden;
}
.p-top-flow .flow-lists .title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	letter-spacing: 0;
}
.p-top-flow .flow-lists .title .num {
	margin-right: 0.4rem;
	font-size: 3.4rem;
}
.p-top-flow .flow-lists .image {
	position: relative;
	margin-top: 2rem;
	border: 1px solid #1a1a1a;
	border-radius: 100vh;
}
.p-top-flow .flow-lists .lead {
	margin-top: 2.6rem;
	line-height: 1.625;
	letter-spacing: 0.06em;
}
.p-top-flow .flow-lists .caption {
	margin-top: 1.2rem;
	font-size: 1.2rem;
	line-height: 1.6666666667;
}
.p-top-flow .flow-lists .notes {
	margin-top: 2.3rem;
	padding: 2.2rem 2.4rem 1rem;
	font-size: 1.4rem;
}
.p-top-flow .flow-lists .notes dl {
	margin: 0;
}
.p-top-flow .flow-lists .notes dl + p {
	margin-top: 2.2rem;
	font-size: 1.4rem;
}
.p-top-flow .flow-lists .notes dt,
.p-top-flow .flow-lists .notes dd {
	margin: 0;
	line-height: 1.4;
	letter-spacing: 0;
}
.p-top-flow .flow-lists .notes dt {
	font-size: 1.8rem;
}
.p-top-flow .flow-lists .notes dd {
	margin-top: 0.5rem;
	line-height: 1.7142857143;
}
.p-top-flow .flow-lists .notes dd + dt {
	margin-top: 1rem;
}
.p-top-faq {
	padding-top: 7.6rem;
	padding-bottom: 8.2rem;
}
.p-top-faq .faq-lead {
	margin-top: 3rem;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.p-top-faq .faq-tabs {
	margin-top: 7.1rem;
	overflow-x: hidden;
}
.p-top-faq .faq-tabs ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -0.4rem;
}
.p-top-faq .faq-tabs li {
	width: calc(11.1111111111% - 0.8rem);
	margin: 0 0.4rem;
}
.p-top-faq .faq-tabs li a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 1rem 0.6rem 2rem;
	color: #fff;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
}
.p-top-faq .faq-tabs li a:hover, .p-top-faq .faq-tabs li a.is-active {
	background-color: rgba(26, 26, 26, 0.7);
	opacity: 1;
}
.p-top-faq .faq-tabs select {
	width: 100%;
	font-family: "Yu Mincho", "游明朝", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.p-top-faq .faq-tab-content {
	position: relative;
	margin-top: 4rem;
}
.p-top-faq .faq-lists {
	display: none;
	overflow: hidden;
}
.p-top-faq .faq-lists.is-open {
	display: block;
}
.p-top-faq .faq-list {
	border: 1px solid #b3b3b3;
}
.p-top-faq .faq-list .title {
	background-color: #f2f2f2;
	font-size: 1.8rem;
}
.p-top-faq .faq-list .title a {
	display: block;
	position: relative;
	padding: 1.05rem 4rem 1.05rem 7.8rem;
	/*
							&::before {
							}
	*/
}
.p-top-faq .faq-list .title a::before, .p-top-faq .faq-list .title a::after {
	position: absolute;
	top: 0;
	right: 1.3rem;
	bottom: 0;
	width: 2rem;
	height: 0.2rem;
	margin: auto 0;
	background-color: #1a1a1a;
	content: "";
}
.p-top-faq .faq-list .title a::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: 0.4s -webkit-transform ease-in-out;
	transition: 0.4s -webkit-transform ease-in-out;
	transition: 0.4s transform ease-in-out;
	transition: 0.4s transform ease-in-out, 0.4s -webkit-transform ease-in-out;
}
.p-top-faq .faq-list .title a.is-open::after {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
.p-top-faq .faq-list .title .q {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.9rem;
	align-items: center;
	margin: auto 0;
	font-size: 2rem;
}
.p-top-faq .faq-list .title .name {
	position: relative;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.p-top-faq .faq-list .title .name::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -2rem;
	width: 0.1rem;
	height: 100%;
	margin: auto 0;
	background-color: #b3b3b3;
	content: "";
}
.p-top-faq .faq-list .js-accordion-content {
	display: none;
	overflow: hidden;
}
.p-top-faq .faq-list .js-accordion-content.is-open {
	display: block;
}
.p-top-faq .faq-list .content {
	padding: 2.3rem 2.8rem;
	border-top: 1px solid #b3b3b3;
	line-height: 1.75;
}
.p-top-faq .faq-list .content a {
	text-decoration: underline;
}
.p-top-faq .faq-list .content a:hover {
	text-decoration: none;
}
.p-top-faq .faq-list .content p {
	margin-top: 0;
}
.p-top-faq .faq-list + .faq-list {
	margin-top: 1rem;
}
@media screen and (max-width: 767px){
	.p-top-mv {
		min-height: inherit;
		background: url(../img/top/img_mv_bg_sp.png) no-repeat bottom center #000;
	}
	.p-top-mv .mv-lead {
		padding-right: 4.6875vw;
		padding-bottom: 14.3229166667vw;
		padding-left: 5.2083333333vw;
	}
	.p-top-mv .mv-lead .lead-title {
		margin-top: 26.0416666667vw;
		padding-left: 0;
		font-size: 11.4583333333vw;
		line-height: 1.2957954545;
		letter-spacing: 0.22em;
	}
	.p-top-mv .mv-lead .lead-wrap {
		margin-top: 5.46875vw;
		padding: 4.1666666667vw 4.1666666667vw 4.1666666667vw 0;
	}
	.p-top-mv .mv-lead .lead-caption {
		font-size: 6.7708333333vw;
		line-height: 1.6730769231;
		letter-spacing: 0.06em;
	}
	.p-top-mv .mv-lead .lead-sub {
		margin-top: 5.9895833333vw;
		font-size: 3.90625vw;
		line-height: 1.6666666667;
		letter-spacing: 0.06em;
	}
	.p-top-mv .mv-image {
		width: 81.7708333333vw;
	}
	.p-top-mv .mv-image .caption {
		margin-top: 39.5833333333vw;
		padding-right: 5.2083333333vw;
		font-size: 3.125vw;
	}
	.p-top-news .news-lists .date {
		font-size: 3.3854166667vw;
	}
	.p-top-news .news-lists .title {
		margin-top: 0.5208333333vw;
		font-size: 3.90625vw;
	}
	.p-top-custom {
		padding-top: 15.8854166667vw;
		padding-bottom: 15.1041666667vw;
	}
	.p-top-custom::before {
		background: url(./../img/bg_custom_sp.jpg) no-repeat top center;
		background-size: cover;
	}
	.p-top-custom .custom-caption .label {
		padding: 0 6.25vw;
		font-size: 4.9479166667vw;
		letter-spacing: 0.14em;
	}
	.p-top-custom .custom-caption .title {
		margin-top: 5.9895833333vw;
		font-size: 9.375vw;
		line-height: 1.3888888889;
		letter-spacing: 0.2em;
	}
	.p-top-custom .custom-caption .content,
.p-top-custom .custom-caption .question,
.p-top-custom .custom-caption .lead {
		font-size: 4.1666666667vw;
	}
	.p-top-custom .custom-caption .content {
		margin-top: 7.2916666667vw;
		font-size: 4.1666666667vw;
		line-height: 1.875;
		letter-spacing: 0.06em;
	}
	.p-top-custom .custom-caption .question .list01,
.p-top-custom .custom-caption .question .list02,
.p-top-custom .custom-caption .question .list03 {
		padding: 2.0833333333vw;
	}
	.p-top-custom .custom-caption .question {
		margin-top: 8.0729166667vw;
	}
	.p-top-custom .custom-caption .question .list02,
.p-top-custom .custom-caption .question .list03 {
		margin-top: 2.6041666667vw;
	}
	.p-top-custom .custom-caption .lead {
		margin-top: 8.8541666667vw;
		line-height: 1.6875;
	}
	.p-top-custom .custom-case-study {
		margin-top: 8.8541666667vw;
		padding: 7.2916666667vw 5.2083333333vw 9.375vw;
	}
	.p-top-custom .custom-case-study .case-study-title {
		margin: 0 -1.3020833333vw;
		font-size: 8.0729166667vw;
		line-height: 1.3870967742;
		letter-spacing: 0.06em;
	}
	.p-top-custom .custom-case-study .case-study-sub-title {
		margin-top: 6.5104166667vw;
		padding-bottom: 3.6458333333vw;
		font-size: 5.9895833333vw;
		line-height: 1.4239130435;
		letter-spacing: 0.06em;
	}
	.p-top-custom .custom-case-study .case-study-lists {
		margin-top: 5.2083333333vw;
	}
	.p-top-custom .custom-case-study .case-study-lists + .case-study-sub-title {
		margin-top: 7.8125vw;
	}
	.p-top-custom .custom-case-study .case-study-lists .list .lead {
		margin-top: 3.6458333333vw;
		font-size: 3.90625vw;
		line-height: 1.6666666667;
		letter-spacing: 0.06em;
	}
	.p-top-custom .custom-case-study .case-study-lists .list .caption {
		margin-top: 1.0416666667vw;
		padding-right: 1.0416666667vw;
		font-size: 3.125vw;
	}
	.p-top-custom .custom-case-study .case-study-lists .list:not(:first-child) {
		margin-top: 9.375vw;
	}
	.p-top-casestudy {
		padding-top: 13.0208333333vw;
		padding-bottom: 15.625vw;
	}
	.p-top-casestudy .casestudy-title {
		font-size: 8.0729166667vw;
	}
	.p-top-casestudy .casestudy-lists {
		margin-top: 8.8541666667vw;
	}
	.p-top-casestudy .casestudy-lists li:not(:first-child) {
		margin-top: 5.2083333333vw;
	}
	.p-top-casestudy .casestudy-lists .list-title {
		padding: 5.7291666667vw 6.25vw 0;
		font-size: 4.4270833333vw;
		letter-spacing: 0.06em;
	}
	.p-top-casestudy .casestudy-lists .list-content {
		padding: 2.6041666667vw 6.25vw 6.7708333333vw;
	}
	.p-top-casestudy .casestudy-lists .list-content .more {
		margin-top: 3.90625vw;
	}
	.p-top-casestudy .casestudy-lists .list-content .more .c-button {
		padding: 1.3020833333vw 5.2083333333vw;
	}
	.p-top-casestudy .casestudy-lists .list-content .more .c-button::before {
		right: 2.6041666667vw;
	}
	.p-top-floating-contact {
		bottom: 0;
		left: 0;
		width: 100%;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
		background: #111;
	}
	.p-top-floating-contact.is-active {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.p-top-floating-contact.is-static {
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
	.p-top-floating-contact .floating-content-sp .tel-bnr {
		width: 46.875vw;
		font-size: 3.3854166667vw;
	}
	.p-top-floating-contact .floating-content-sp .tel-bnr a {
		width: 100%;
		padding: 1.5625vw 0.5208333333vw;
		background-color: #fff;
		color: #1a1a1a;
		white-space: nowrap;
	}
	.p-top-floating-contact .floating-content-sp .tel-bnr .icon {
		width: 2.8645833333vw;
	}
	.p-top-floating-contact .floating-content-sp .tel-bnr .icon svg {
		fill: #1a1a1a;
		width: 2.8645833333vw;
		height: auto;
		margin-top: 2.0833333333vw;
	}
	.p-top-floating-contact .floating-content-sp .tel-bnr .num {
		margin-top: 1.0416666667vw;
		margin-left: 0.5208333333vw;
		font-weight: 500;
		font-size: 5.9895833333vw;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}
	.p-top-contact {
		padding-top: 10.9375vw;
		padding-bottom: 10.4166666667vw;
	}
	.p-top-contact .contact-button .c-button {
		padding: 3.2552083333vw 3.6458333333vw;
		font-size: 5.2083333333vw;
		letter-spacing: 0.06em;
	}
	.p-top-contact .contact-button .c-button::before {
		right: 3.125vw;
	}
	.p-top-contact .contact-tel {
		margin-top: 2.6041666667vw;
		font-size: 3.3854166667vw;
	}
	.p-top-contact .contact-tel .caption {
		margin-top: 6.7708333333vw;
		font-size: 4.1666666667vw;
		line-height: 1.625;
	}
	.p-top-contact .contact-tel a {
		min-height: 16.6666666667vw;
		margin-top: 2.34375vw;
		padding: 3.6458333333vw 2.6041666667vw 3.125vw;
		background-color: #fff;
		color: #1a1a1a;
	}
	.p-top-contact .contact-tel .icon {
		width: 4.0598958333vw;
	}
	.p-top-contact .contact-tel .icon svg {
		fill: #1a1a1a;
		margin-top: 1.0416666667vw;
	}
	.p-top-contact .contact-tel .num {
		margin-top: 1.0416666667vw;
		margin-left: 1.5625vw;
		font-size: 7.2916666667vw;
		letter-spacing: 0.0399877432em;
	}
	.p-top-about {
		padding-top: 15.3645833333vw;
		padding-bottom: 14.84375vw;
	}
	.p-top-about {
		background: url(../img/top/bg_about_sp.png) no-repeat top 197.9166666667vw center;
		background-size: 100% auto;
	}
	.p-top-about .about-head .head-faq {
		width: 100%;
		gap: 0px 3.6458333333vw;
	}
	.p-top-about .about-head .head-faq .lead {
		width: 42.8385416667vw;
		height: 25.2403515625vw;
		margin-top: -0.5208333333vw;
	}
	.p-top-about .about-head .bubble01, .p-top-about .about-head .bubble02 {
		font-size: 4.9479166667vw;
		line-height: 1.3947368421;
		letter-spacing: 0.06em;
		text-align: center;
	}
	.p-top-about .about-head .bubble01::before, .p-top-about .about-head .bubble02::before {
		height: 25.2403515625vw;
	}
	.p-top-about .about-head .bubble01::before {
		background: url(../img/top/img_bubble_left_sp.svg) no-repeat;
		background-size: 100% auto;
	}
	.p-top-about .about-head .bubble02::before {
		background: url(../img/top/img_bubble_right_sp.svg) no-repeat;
		background-size: 100% auto;
	}
	.p-top-about .about-head .title {
		margin-top: 5.46875vw;
		font-size: 7.03125vw;
		line-height: 1.4814814815;
		letter-spacing: 0.06em;
	}
	.p-top-about .about-images {
		margin: 10.6770833333vw 0 0;
	}
	.p-top-about .about-caption {
		margin-top: 11.9791666667vw;
	}
	.p-top-about .about-caption .sub {
		padding: 0 0.5208333333vw 0.5208333333vw;
		font-size: 5.2083333333vw;
	}
	.p-top-about .about-caption .sub::before, .p-top-about .about-caption .sub::after {
		border-width: 1.6927083333vw 1.0416666667vw 0 1.0416666667vw;
	}
	.p-top-about .about-caption .sub::before {
		bottom: -1.6927083333vw;
	}
	.p-top-about .about-caption .sub::after {
		bottom: -1.3020833333vw;
	}
	.p-top-about .about-caption .sub .tax {
		font-size: 3.90625vw;
	}
	.p-top-about .about-caption .title {
		margin-top: 3.6458333333vw;
		font-size: 6.7708333333vw;
		line-height: 1.4615384615;
		letter-spacing: 0.06em;
	}
	.p-top-about .about-caption .content {
		margin: 4.6875vw -1.0416666667vw 0;
		font-size: 4.1666666667vw;
		line-height: 1.6875;
		letter-spacing: 0.06em;
	}
	.p-top-about .about-point {
		margin-top: 8.8541666667vw;
	}
	.p-top-about .about-point .point-list li {
		padding-bottom: 0.5208333333vw;
	}
	.p-top-about .about-point .point-list li:not(:first-child) {
		margin-top: 4.9479166667vw;
	}
	.p-top-about .about-point .point-list .list-content {
		padding: 3.3854166667vw 5.2083333333vw 3.6458333333vw;
	}
	.p-top-about .about-point .point-list .list-content .point {
		margin-top: 1.5625vw;
		padding-left: 5.7291666667vw;
		font-size: 3.6458333333vw;
		line-height: 1.4;
	}
	.p-top-about .about-point .point-list .list-content .point::before {
		width: 4.5572916667vw;
		height: 0.1302083333vw;
	}
	.p-top-about .about-point .point-list .list-content .point .num {
		margin-left: 1.5625vw;
		font-size: 6.25vw;
	}
	.p-top-about .about-point .point-list .list-content .title {
		margin-top: 4.1666666667vw;
		font-size: 4.6875vw;
		letter-spacing: 0.06em;
	}
	.p-top-about .about-point .point-list .list-content .lead {
		margin-top: 3.125vw;
		font-size: 3.6458333333vw;
		line-height: 1.5714285714;
		letter-spacing: 0.06em;
	}
	.p-top-about .about-point .point-list .list-content .notes {
		margin-top: 2.8645833333vw;
		font-size: 3.125vw;
	}
	.p-top-about .about-overview {
		margin-top: 10.4166666667vw;
	}
	.p-top-about .about-overview .overview-content {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.p-top-about .about-overview .overview-content .title {
		width: 100%;
		padding: 3.90625vw 5.2083333333vw;
		font-size: 4.1666666667vw;
		letter-spacing: 0;
	}
	.p-top-about .about-overview .overview-content .title::before {
		width: 100%;
		height: 0.2rem;
	}
	.p-top-about .about-overview .overview-content .lists {
		padding: 4.9479166667vw 5.2083333333vw 4.1666666667vw;
	}
	.p-top-about .about-overview .overview-content .lists dl {
		font-size: 3.6458333333vw;
		line-height: 1.5;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-02 {
		margin-top: 1.3020833333vw;
	}
	.p-top-about .about-overview .overview-content .lists dt + dd {
		margin-top: 0.78125vw;
	}
	.p-top-about .about-overview .overview-content .lists dt:not(:first-child) {
		margin-top: 1.0416666667vw;
	}
	.p-top-about .about-overview .overview-content .lists::before {
		width: 100%;
		height: 0.1rem;
	}
	.p-top-about .about-overview .overview-notes {
		margin-top: 2.34375vw;
		font-size: 3.125vw;
		line-height: 1.6666666667;
		letter-spacing: 0;
	}
	.p-top-course {
		padding-top: 14.0625vw;
	}
	.p-top-course .course-caption {
		margin-top: 6.7708333333vw;
		font-size: 4.1666666667vw;
		line-height: 1.625;
		letter-spacing: 0;
	}
	.p-top-course .course-category {
		margin-top: 8.8541666667vw;
	}
	.p-top-course .course-category + .course-category {
		margin-top: 10.15625vw;
	}
	.p-top-course .course-category.category-01 .category-course {
		margin-top: 10.0260416667vw;
	}
	.p-top-course .course-category.category-02 .category-course {
		margin-top: 6.1197916667vw;
	}
	.p-top-course .course-category.category-03 .category-course {
		margin-top: 6.1197916667vw;
	}
	.p-top-course .course-category .category-caption {
		margin-top: 6.5104166667vw;
		font-size: 3.90625vw;
		line-height: 1.6666666667;
		letter-spacing: 0;
	}
	.p-top-course .course-category .course-plan + .course-plan {
		margin-top: 5.46875vw;
	}
	.p-top-course .course-category .course-detail .detail-head {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 1.0416666667vw;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.p-top-course .course-category .course-detail .detail-head::before {
		bottom: -1.3020833333vw;
		border-width: 1.4322916667vw 1.4322916667vw 0 1.4322916667vw;
	}
	.p-top-course .course-category .course-detail .detail-head .num {
		font-size: 4.9479166667vw;
	}
	.p-top-course .course-category .course-detail .detail-box {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: center;
		padding: 4.6875vw 3.90625vw 6.7708333333vw;
	}
	.p-top-course .course-category .course-detail .name {
		font-size: 6.5104166667vw;
	}
	.p-top-course .course-category .course-detail .name .large {
		margin-right: 0.5208333333vw;
		font-size: 9.375vw;
	}
	.p-top-course .course-category .course-detail .price {
		margin-left: 2.6041666667vw;
		font-size: 4.1666666667vw;
	}
	.p-top-course .course-category .course-detail .price .num {
		margin-right: 0;
		font-size: 7.03125vw;
	}
	.p-top-course .course-category .course-detail .navi {
		width: 52.0833333333vw;
		margin-top: 4.0364583333vw;
	}
	.p-top-course .course-category .course-detail .navi .c-button {
		padding: 0.8463541667vw 2.6041666667vw;
		font-size: 3.90625vw;
		line-height: 1.5;
	}
	.p-top-course .course-category .course-items .slick-prev,
.p-top-course .course-category .course-items .slick-next {
		top: 34.5%;
		width: 6.5104166667vw;
		height: 6.5104166667vw;
	}
	.p-top-course .course-category .course-items .slick-prev {
		left: 1.5625vw;
	}
	.p-top-course .course-category .course-items .slick-next {
		right: 1.5625vw;
	}
	.p-top-course .course-category .course-items .item .detail {
		padding: 1.953125vw 2.34375vw;
	}
	.p-top-course .course-category .course-items .item .detail .title {
		font-size: 3.90625vw;
	}
	.p-top-course .course-category .course-items .item .detail .material {
		margin-top: 1.3020833333vw;
		font-size: 3.125vw;
	}
	.p-top-course .course-category .course-items .item .detail .size {
		margin-top: 2.0833333333vw;
		font-size: 2.6041666667vw;
	}
	.p-top-course .course-notes {
		margin-top: 11.71875vw;
		padding: 4.4270833333vw 5.2083333333vw 9.375vw;
	}
	.p-top-course .course-notes .title {
		font-size: 3.90625vw;
		line-height: 1.6;
	}
	.p-top-course .course-notes .lists {
		margin: 2.6041666667vw 0 0 0;
	}
	.p-top-course .course-notes .lists li {
		padding-left: 3.125vw;
		font-size: 3.6458333333vw;
		line-height: 1.8571428571;
		letter-spacing: 0.06em;
	}
	.p-top-course .course-notes .lists li::before {
		top: 2.9947916667vw;
		left: 0.6510416667vw;
		width: 0.78125vw;
		height: 0.78125vw;
	}
	.p-top-course .course-notes .lists li:not(:first-child) {
		margin-top: 0.5208333333vw;
	}
	.p-top-flow {
		padding-top: 14.3229166667vw;
		padding-bottom: 14.3229166667vw;
	}
	.p-top-flow .flow-caption {
		margin-top: 6.7708333333vw;
		font-size: 4.1666666667vw;
		line-height: 1.625;
		letter-spacing: 0;
	}
	.p-top-flow .flow-lists {
		margin-top: 3.90625vw;
	}
	.p-top-flow .flow-lists li {
		-ms-grid-columns: 35.15625vw 7.2916666667vw 1fr;
		-ms-grid-rows: auto 0px auto 0px auto 0px auto;
		display: -ms-grid;
		display: grid;
		grid-template-rows: auto auto auto auto;
		grid-template-columns: 35.15625vw 1fr;
		grid-template-areas: "image title" "image lead" "image caption" "notes notes";
		gap: 0px 7.2916666667vw;
	}
	.p-top-flow .flow-lists li > .title {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-flow .flow-lists li:not(:first-child) {
		margin-top: 5.2083333333vw;
	}
	.p-top-flow .flow-lists li:not(:last-child) {
		position: relative;
	}
	.p-top-flow .flow-lists li:not(:last-child)::before {
		position: absolute;
		bottom: -7.8125vw;
		left: 14.5833333333vw;
		width: 6.1197916667vw;
		height: 3.90625vw;
		background: url(../img/icons/icon_arrow_red_bottom.svg) no-repeat center center;
		background-size: auto 100%;
		content: "";
	}
	.p-top-flow .flow-lists .title {
		grid-area: title;
		margin-top: 3.6458333333vw;
		font-size: 4.6875vw;
		line-height: 1.4;
	}
	.p-top-flow .flow-lists .title .num {
		font-size: 5.9895833333vw;
	}
	.p-top-flow .flow-lists .image {
		grid-area: image;
		aspect-ratio: 1;
	}
	.p-top-flow .flow-lists .lead {
		grid-area: lead;
		margin-top: 0.5208333333vw;
		font-size: 3.6458333333vw;
		line-height: 1.5714285714;
		letter-spacing: 0.06em;
	}
	.p-top-flow .flow-lists .caption {
		grid-area: caption;
		margin-top: 3.125vw;
		font-size: 3.125vw;
	}
	.p-top-flow .flow-lists .notes {
		grid-area: notes;
		margin-top: 4.6875vw;
		padding: 4.1666666667vw 5.2083333333vw 4.1666666667vw;
	}
	.p-top-flow .flow-lists li > .title {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-flow .flow-lists .image {
		-ms-grid-row-span: 5;
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-flow .flow-lists .lead {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.p-top-flow .flow-lists .caption {
		-ms-grid-row: 5;
		-ms-grid-column: 3;
	}
	.p-top-flow .flow-lists .notes {
		-ms-grid-column-span: 3;
		-ms-grid-row: 7;
		-ms-grid-column: 1;
	}
	.p-top-flow .flow-lists .notes dl + p {
		margin-top: 2.8645833333vw;
		font-size: 3.6458333333vw;
	}
	.p-top-flow .flow-lists .notes dt {
		font-size: 3.90625vw;
	}
	.p-top-flow .flow-lists .notes dd {
		margin-top: 1.3020833333vw;
		font-size: 3.3854166667vw;
	}
	.p-top-flow .flow-lists .notes dd + dt {
		margin-top: 3.125vw;
	}
	.p-top-faq {
		padding-top: 14.5833333333vw;
	}
	.p-top-faq .faq-lead {
		margin-top: 6.7708333333vw;
		font-size: 4.1666666667vw;
		line-height: 1.6875;
		letter-spacing: 0.06em;
	}
	.p-top-faq .faq-tabs {
		margin-top: 8.8541666667vw;
	}
	.p-top-faq .faq-list .title {
		font-size: 3.90625vw;
		line-height: 1.75;
	}
	.p-top-faq .faq-list .title a {
		padding: 1.8229166667vw 8.8541666667vw 1.5625vw 13.8020833333vw;
	}
	.p-top-faq .faq-list .title a::before, .p-top-faq .faq-list .title a::after {
		right: 2.34375vw;
		width: 3.90625vw;
		height: 0.2rem;
	}
	.p-top-faq .faq-list .title .q {
		left: 3.125vw;
		font-size: 4.1666666667vw;
	}
	.p-top-faq .faq-list .title .name::before {
		left: -3.6458333333vw;
	}
	.p-top-faq .faq-list .content {
		padding: 4.1666666667vw 4.6875vw 3.90625vw;
		font-size: 3.6458333333vw;
		line-height: 1.6428571429;
		letter-spacing: 0.1em;
	}
	.p-top-faq .faq-list + .faq-list {
		margin-top: 1.3020833333vw;
	}
}
@media screen and (min-width: 768px){
	.p-top-mv {
		height: 64rem;
	}
	.p-top-mv .mv-lead {
		padding-left: 9.4315789473rem;
	}
	.p-top-mv .mv-lead .lead-title {
		margin-top: -3.907368421rem;
		padding-left: 1.0778947369rem;
	}
	.p-top-mv .mv-lead .lead-wrap {
		margin-top: 2.6947368421rem;
		padding: 1.0778947369rem;
	}
	.p-top-mv .mv-lead .lead-sub {
		margin-top: 2.2905263158rem;
	}
	.p-top-mv .mv-image {
		width: 99.0315789473rem;
	}
	.p-top-mv .mv-arrow {
		bottom: 8.4210526316rem;
	}
	.p-top-news .news-lists li {
		-ms-grid-columns: 10.4rem 0px 1fr;
		-ms-grid-rows: auto;
		display: -ms-grid;
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 10.4rem 1fr;
		grid-template-areas: "date title";
		grid-auto-rows: 1fr;
		grid-auto-columns: 1fr;
		gap: 0px 0px;
	}
	.p-top-custom::before {
		background: url(./../img/bg_custom.jpg) no-repeat top center;
		background-size: cover;
	}
	.p-top-custom .custom-caption .question {
		-ms-grid-columns: 1fr 1.6rem 1fr 1.6rem 1fr;
		-ms-grid-rows: auto;
		display: -ms-grid;
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas: "list01 list02 list03";
		gap: 0px 1.6rem;
	}
	.p-top-custom .custom-caption .question .list01 {
		grid-area: list01;
	}
	.p-top-custom .custom-caption .question .list02 {
		grid-area: list02;
	}
	.p-top-custom .custom-caption .question .list03 {
		grid-area: list03;
	}
	.p-top-custom .custom-case-study .case-study-lists {
		-ms-grid-columns: 1fr 4rem 1fr;
		-ms-grid-rows: auto;
		display: -ms-grid;
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "list01 list02";
		gap: 0px 4rem;
	}
	.p-top-custom .custom-case-study .case-study-lists > .list01 {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-custom .custom-case-study .case-study-lists > .list02 {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-custom .custom-caption .question .list01 {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-custom .custom-caption .question .list02 {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-custom .custom-caption .question .list03 {
		-ms-grid-row: 1;
		-ms-grid-column: 5;
	}
	.p-top-custom .custom-case-study .case-study-lists .list01 {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-custom .custom-case-study .case-study-lists > .list01 {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-custom .custom-case-study .case-study-lists .list02 {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-custom .custom-case-study .case-study-lists > .list02 {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-casestudy .casestudy-lists {
		-ms-grid-columns: (1fr)[4];
		grid-gap: 2rem;
		display: -ms-grid;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}
	.p-top-casestudy .casestudy-lists .list-title {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		height: 100%;
		min-height: 0%;
	}
	.p-top-casestudy .casestudy-lists .list-content {
		margin-top: auto;
	}
	.p-top-floating-contact a {
		background: #111;
		-webkit-transition: opacity 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out;
	}
	.p-top-floating-contact a:hover {
		opacity: 0.8;
	}
	.p-top-contact .contact-inner {
		-ms-grid-columns: 58.4rem 3.6rem 1fr;
		-ms-grid-rows: auto;
		display: -ms-grid;
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 58.4rem 1fr;
		grid-template-areas: "button number";
		gap: 0px 3.6rem;
	}
	.p-top-contact .contact-button {
		grid-area: button;
		max-width: 50rem;
		margin-left: auto;
	}
	.p-top-contact .contact-tel {
		grid-area: number;
	}
	.p-top-contact .contact-button {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-contact .contact-tel {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-contact .contact-tel .caption {
		margin-bottom: 0.9rem;
		padding-left: 1.4rem;
		line-height: 1.4;
		text-align: left;
	}
	.p-top-about::before {
		display: block;
		z-index: -1;
		position: absolute;
		top: 95.8rem;
		right: 0;
		left: -1.3rem;
		width: 100%;
		max-width: 181rem;
		height: 100%;
		margin: 0 auto;
		background: url(../img/top/bg_about.png) no-repeat top center;
		content: "";
	}
	.p-top-about .about-point .point-list {
		-webkit-box-flex: wrap;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex: wrap;
		flex: wrap;
		margin: 0 -3rem;
	}
	.p-top-about .about-point .point-list li {
		width: calc(300% - 6rem);
		margin: 0 3rem;
		padding-bottom: 0.2rem;
	}
	.p-top-about .about-overview .overview-content .title::before {
		width: 0.2rem;
		height: 100%;
	}
	.p-top-about .about-overview .overview-content .lists {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.p-top-about .about-overview .overview-content .lists dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-01 {
		width: 43rem;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-01 dt {
		width: 9.2rem;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-01 dd {
		width: calc(100% - 9.2rem);
	}
	.p-top-about .about-overview .overview-content .lists dl.list-02 {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		min-width: 200px;
		margin-top: 0.2rem;
		margin-left: 1.4rem;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-02 dt {
		width: 6rem;
	}
	.p-top-about .about-overview .overview-content .lists dl.list-02 dd {
		width: calc(100% - 6rem);
	}
	.p-top-about .about-overview .overview-content .lists::before {
		width: 0.1rem;
		height: 100%;
	}
	.p-top-course .course-category .course-plan {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.p-top-course .course-category .course-detail {
		width: 25%;
	}
	.p-top-course .course-category .course-items {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		min-width: 4rem;
	}
	.p-top-flow .flow-lists ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 -2rem;
	}
	.p-top-flow .flow-lists li {
		width: calc(25% - 4rem);
		margin: 0 2rem;
	}
	.p-top-flow .flow-lists li:not(:last-child) .image::before {
		position: absolute;
		top: 0;
		right: -3rem;
		bottom: 0;
		width: 1.6rem;
		height: 2.5rem;
		margin: auto 0;
		background: url(../img/icons/icon_arrow_red_right.svg) no-repeat center center;
		content: "";
	}
	.p-top-flow .flow-lists .title {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.p-top-news .news-lists .date {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.p-top-news .news-lists .title {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-flow .flow-lists .title {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.p-top-faq .faq-list .title .name::before {
		height: calc(100% + 1.6rem);
	}
}
@media screen and (min-width: 1280px){
	.p-top-mv {
		height: 50vw;
	}
	.p-top-mv .mv-lead {
		padding-left: 7.3684210526vw;
	}
	.p-top-mv .mv-lead .lead-title {
		margin-top: -3.0526315789vw;
		padding-left: 0.8421052632vw;
	}
	.p-top-mv .mv-lead .lead-wrap {
		margin-top: 2.1052631579vw;
		padding: 0.8421052632vw;
	}
	.p-top-mv .mv-lead .lead-caption {
		font-size: 4rem;
	}
	.p-top-mv .mv-lead .lead-sub {
		margin-top: 1.7894736842vw;
	}
	.p-top-mv .mv-image {
		width: 77.3684210526vw;
	}
	.p-top-mv .mv-arrow {
		bottom: 6.5789473684vw;
	}
}
@media screen and (min-width: 1900px){
	.p-top-mv .mv-lead .lead-title {
		margin-top: -5.8rem;
		padding-left: 1.6rem;
	}
	.p-top-mv .mv-lead .lead-wrap {
		margin-top: 4rem;
		padding: 1.6rem;
	}
	.p-top-mv .mv-lead .lead-sub {
		margin-top: 3.4rem;
	}
	.p-top-mv .mv-arrow {
		bottom: 12.5rem;
	}
}