body {
	font-family: ryo-gothic-plusn, sans-serif;
	line-height: 1;
	font-feature-settings: "palt";
	font-weight: 500;
	text-align: justify;
	color: #252525
}
.u-desktop {
	display: none
}
html {
	background: url(../images/forhighschoolstudent/bg.webp) center center/contain repeat;
	font-size: 3.8647342995vw
}
main {
	overflow: hidden;
	width: 100%
}
.p-wrapper__main {
	overflow: hidden
}
.l-wrapper {
	position: relative
}
a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s
}
*, *::before, *::after {
	box-sizing: border-box
}
ul, ol {
	padding: 0
}
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd {
	margin: 0
}
html {
	scroll-behavior: smooth
}
body {
	min-height: 100vh;
	text-rendering: optimizeSpeed
}
ul, ol {
	list-style: none
}
a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto
}
img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%
}
article>*+* {
	margin-top: 1em
}
input, button, textarea, select {
	font: inherit
}
img:not([alt]) {
	filter: blur(10px)
}
input, button, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none
}
textarea {
	resize: vertical
}
input[type=checkbox], input[type=radio] {
	display: none
}
input[type=submit], input[type=button], label, button, select {
	cursor: pointer
}
select::-ms-expand {
	display: none
}
picture {
	display: block
}
button {
	color: inherit;
	display: block;
	padding: 0;
	width: 100%
}
.c-bgText {
	display: flex;
	flex-direction: column;
	margin-left: -1.25rem
}
.c-bgText span {
	color: #fff;
	display: inline-block;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding: .8125rem 1rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1
}
.c-bgText span::before {
	background-color: #f7921e;
	border-radius: 0 1.5625rem 1.5625rem 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.5s;
	width: 100%;
	width: 0%;
	z-index: -1
}
.p-student-modal__content.is-active .c-bgText.is-active span::before {
	width: 100%
}
.c-bgText span+span {
	margin-top: -.8125rem
}
.c-btn {
	align-items: center;
	background: url(../images/forhighschoolstudent/bg_btn.webp) center center/contain no-repeat;
	display: inline-flex;
	font-size: .9375rem;
	font-weight: 700;
	height: 3.75rem;
	justify-content: center;
	letter-spacing: .02em;
	opacity: 0;
	position: relative;
	transition: all 0.8s;
	width: 100%
}
.c-btn.is-active {
	opacity: 1
}
.c-btn span {
	align-items: center;
	display: inline-flex;
	gap: .5rem;
	justify-content: center;
	position: relative
}
.c-btn span::before {
	background: url(../images/forhighschoolstudent/more.webp) center center/contain no-repeat;
	content: "";
	display: inline-block;
	height: 1.75rem;
	order: 1;
	width: 1.75rem
}
.c-btn__hand {
	bottom: -4.0625rem;
	position: absolute;
	right: 1.125rem;
	width: 4.4375rem;
	z-index: 1
}
.c-btn.is-active .c-btn__hand {
	animation: fuwafuwa 1s ease-in-out infinite alternate-reverse
}
.c-card {
	position: relative
}
.c-card__tag {
	background: url(../images/forhighschoolstudent/tag_card.webp) center center/cover no-repeat;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-size: .9375rem;
	font-weight: 700;
	height: 2.375rem;
	left: 50%;
	letter-spacing: .05em;
	padding-top: .5rem;
	position: absolute;
	text-align: center;
	top: -2.8125rem;
	transform: translateX(-50%);
	width: 11.4375rem
}
.c-card__head {
	background-color: #02ab5c;
	border-radius: .9375rem .9375rem 0 0;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .03rem;
	padding-bottom: .9375rem;
	padding-top: .9375rem;
	text-align: center
}
.c-card__box {
	background-color: #fff;
	border-radius: 0 0 .9375rem .9375rem;
	padding: 1.25rem 1.25rem 1.5625rem
}
.c-card__video iframe {
	-o-object-fit: cover;
	aspect-ratio: 588/340;
	height: 100%;
	object-fit: cover;
	width: 100%
}
.c-card__text {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .015em;
	line-height: 1.6666666667;
	margin-top: .9375rem
}
.c-card__note {
	background-color: #e0e0e0;
	border-radius: .3125rem;
	font-size: .78125rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.64;
	margin-top: 1rem;
	padding: 1.5625rem 1.25rem
}
.c-hamburger {
	background: url(../images/forhighschoolstudent/bg_hamburger.webp) bottom left/cover no-repeat;
	height: 3.75rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: all 0.3s;
	width: 3.75rem;
	z-index: 10
}
.c-hamburger.is-active {
	background: url(../images/forhighschoolstudent/bg_hamburger_active.webp) bottom left/cover no-repeat
}
.c-hamburger span {
	background-color: #fff;
	border-radius: 1.5px;
	display: inline-block;
	height: 2px;
	left: calc(50% + 0.1875rem);
	position: absolute;
	transform: translate(-50%, -50%);
	transition: all 0.3s;
	width: 1.25rem
}
.c-hamburger span:nth-child(1) {
	top: calc(50% - 0.71875rem)
}
.c-hamburger span:nth-child(2) {
	top: calc(50% - 0.3125rem)
}
.c-hamburger span:nth-child(3) {
	top: calc(50% + 0.09375rem)
}
.c-hamburger.is-active span {
	background-color: #2d5ef1;
	border-radius: .09375rem;
	height: .21875rem;
	width: 1.6875rem
}
.c-hamburger.is-active span:nth-child(1) {
	top: calc(50% - 0.3125rem);
	transform: translate(-50%, -50%) rotate(45deg)
}
.c-hamburger.is-active span:nth-child(2) {
	opacity: 0
}
.c-hamburger.is-active span:nth-child(3) {
	top: calc(50% - 0.3125rem);
	transform: translate(-50%, -50%) rotate(-45deg)
}
.c-head__text {
	background: url(../images/forhighschoolstudent/bg_memo.webp) center right/contain no-repeat;
	margin: auto;
	margin-right: calc(50% - 50vw);
	margin-top: -2rem;
	opacity: 0;
	padding: 4.75rem 1.5625rem 3.125rem 2rem;
	position: relative;
	transform: translateX(5%);
	transition: all 0.7s;
	width: 21.875rem
}
.c-head__text.is-active {
	opacity: 1;
	transform: translateX(0)
}
.c-head__text p {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 2.03125;
	opacity: 0;
	transition: all 0.5s;
	transition-delay: 1s
}
.c-head__text.is-active p {
	opacity: 1
}
.c-head__hand {
	bottom: -3.3125rem;
	opacity: 0;
	position: absolute;
	right: calc(50% + 1.625rem);
	width: 4.5rem
}
.c-head__text.is-active .c-head__hand {
	animation: fuwafuwa 1s ease-in-out infinite alternate-reverse;
	opacity: 1
}
.c-number {
	display: flex!important
}
.c-number {
	background-color: #fff;
	border-radius: .9375rem;
	box-shadow: 0 0 .46875rem rgba(37, 37, 37, .15);
	flex-direction: column;
	height: 43.75rem;
	justify-content: space-between;
	margin: 0 .4375rem;
	max-width: 18.4375rem;
	padding: 3.125rem 1.5625rem 2.1875rem;
	position: relative;
	transition: all 0.3s;
	width: 19rem
}
.c-number.slick-current {
	background-color: #fcf3be;
	border: .125rem solid #2d5ef1
}
.c-number__tag {
	border-bottom-left-radius: .9375rem;
	border-top-right-radius: .9375rem;
	color: #fff;
	font-size: .78125rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding: .5625rem .9375rem;
	position: absolute;
	right: -.0625rem;
	top: -.0625rem;
	transition: all 0.3s
}
.c-number.slick-current .c-number__tag {
	background-color: #2d5ef1
}
.c-number__lead {
	color: #2d5ef1;
	font-size: .84375rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: -moz-fit-content;
	width: fit-content
}
.c-number__lead::before {
	background-color: #2d5ef1;
	content: "";
	height: 1.375rem;
	left: -1.25rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-30deg);
	width: .0625rem
}
.c-number__lead::after {
	background-color: #2d5ef1;
	content: "";
	height: 1.375rem;
	position: absolute;
	right: -1.25rem;
	top: 50%;
	transform: translateY(-50%) rotate(30deg);
	width: .0625rem
}
.c-number__title {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.375;
	text-align: center
}
.c-number__figure {
	margin: 0 auto
}
.c-number__figure.--1 {
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.c-number__text {
	background-color: #fff;
	border-radius: .9375rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.6666666667;
	padding: 1.125rem .875rem
}
.c-number__btn {
	height: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 15.875rem;
	width: 100%
}
.c-number__btn a {
	align-items: center;
	background-color: #252525;
	border-radius: 1.25rem;
	color: #fff;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 700;
	gap: .5rem;
	height: 100%;
	justify-content: center;
	letter-spacing: .03em;
	width: 100%
}
.c-number__btn a img {
	filter: brightness(0) invert(1);
	width: .75rem
}
.c-ob {
	margin-left: auto;
	position: relative;
	width: calc(100% - 1.25rem)
}
.c-ob__title {
	opacity: 0;
	transition: all 1s
}
.c-ob__title span {
	display: inline-block;
	max-width: 25.875rem;
	opacity: 0
}
.c-ob__title span img {
	width: 1.4375rem
}
.c-ob__title.is-active span {
	animation-delay: 0.5s;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	animation-name: slideText5;
	opacity: 0
}
.c-ob__title.is-active span:nth-child(2) {
	animation-delay: 0.8s
}
.c-ob__title.--left {
	transform: translateX(5%)
}
.c-ob__title.--right {
	transform: translateX(-5%)
}
.c-ob__title.is-active {
	opacity: 1;
	transform: translate(0, 0)
}
.c-ob__lead {
	align-items: center;
	background-color: #2eb442;
	border-radius: 1.875rem 0 0 1.875rem;
	display: flex;
	font-size: 1.3125rem;
	font-weight: 700;
	height: 3.6875rem;
	justify-content: center;
	letter-spacing: .05em;
	margin-left: auto;
	margin-right: calc(50% - 50vw);
	width: 16.25rem
}
.c-ob__lead small {
	font-size: 1.125rem
}
.c-ob__box {
	background-color: #fff;
	border-radius: 1.875rem 0 0 0;
	margin-left: auto;
	margin-right: calc(50% - 50vw);
	width: 16.25rem
}
.c-ob__prof {
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding-bottom: .75rem;
	padding-top: .75rem;
	text-align: center
}
.c-ob__name {
	background-color: #d9d8d8;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1rem;
	padding-bottom: .625rem;
	padding-top: .625rem;
	text-align: center
}
.c-ob__name span {
	font-size: .65625rem
}
.c-ob__btn {
	bottom: 3.875rem;
	left: 4.8125rem;
	position: absolute;
	width: 3.8125rem
}
.c-ob__btn::before {
	animation: rotate 10s linear infinite;
	background: url(../images/forhighschoolstudent/interview.webp) top right/4.6875rem no-repeat;
	content: "";
	filter: brightness(0);
	height: 5.9375rem;
	left: 50%;
	max-width: none;
	max-width: initial;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 5.9375rem
}
.c-ob__title {
	display: flex;
	flex-direction: row-reverse;
	gap: .25rem;
	left: 0;
	padding-bottom: 1.25rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1.6875rem;
	position: absolute;
	top: 0rem
}
.c-ob__title::before {
	background: url(../images/forhighschoolstudent/frame_left.webp) center center/contain no-repeat;
	content: "";
	height: 19.6875rem;
	position: absolute;
	right: -4.4375rem;
	top: 0;
	width: 8.4375rem
}
.c-ob__title::after {
	background: url(../images/forhighschoolstudent/frame_left_bottom.webp) center center/contain no-repeat;
	bottom: 0;
	content: "";
	height: 17.0625rem;
	left: 0;
	position: absolute;
	width: 4.0625rem
}
.c-ob__title span {
	color: #fff;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.1538461538;
	writing-mode: vertical-rl
}
.c-ob.--row {
	margin-left: calc(50% - 50vw);
	margin-right: 0;
	margin-right: initial;
	width: 100%
}
.c-ob.--row .c-ob__lead {
	border-radius: 0 1.875rem 1.875rem 0;
	margin-left: 0;
	margin-right: 0;
	margin-right: initial
}
.c-ob.--row .c-ob__box {
	border-radius: 0 1.875rem 0 0;
	margin-left: 0;
	margin-right: 0;
	margin-right: initial
}
.c-ob.--row .c-ob__title {
	left: auto;
	left: initial;
	right: 0
}
.c-ob.--row .c-ob__title::before {
	background: url(../images/forhighschoolstudent/frame_right.webp) center center/contain no-repeat;
	left: -4.4375rem;
	right: auto;
	right: initial
}
.c-ob.--row .c-ob__title::after {
	background: url(../images/forhighschoolstudent/frame_right_bottom.webp) center center/contain no-repeat;
	left: auto;
	left: initial;
	right: 0
}
.c-ob.--row .c-ob__btn {
	left: auto;
	left: initial;
	right: 4.8125rem
}
.c-prof {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr 10.75rem;
	margin-top: -1.25rem;
	position: relative;
	z-index: 1
}
.c-prof__name {
	color: #fff;
	font-size: 1.03125rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin-left: auto;
	margin-right: -1.875rem;
	margin-top: 5.25rem;
	width: -moz-fit-content;
	width: fit-content
}
.c-prof__name span {
	display: block;
	font-size: .75rem;
	line-height: 1.375;
	margin-bottom: .5rem
}
.c-prof__name small {
	font-size: .625rem;
	margin-left: .5rem
}
.c-prof__img {
	margin-left: auto;
	width: 80%
}
.c-prof__name.--none {
	margin-top: 0
}
.c-prof__img.is-bounce {
	animation: kakukaku 1s steps(2) infinite
}
.c-schedule {
	border-radius: .3125rem;
	overflow: hidden;
	transition: all 0.3s
}
a.c-schedule {
	display: block
}
a.c-schedule:hover {
	opacity: .8
}
.c-schedule__head {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	font-weight: 700;
	letter-spacing: .015em;
	padding-bottom: .4375rem;
	padding-top: .4375rem;
	text-align: center
}
.c-schedule__head.--yellow {
	background-color: #f4e511
}
.c-schedule__head.--red {
	background-color: #f10914
}
.c-schedule__head.--green {
	background-color: #2eb442
}
.c-schedule__head.--en {
	font-family: din-2014, sans-serif
}
.c-schedule__main {
	background-color: #fff;
	padding-bottom: 1.5625rem;
	padding-top: 1.25rem
}
.c-schedule__date {
	display: block;
	font-family: din-2014, sans-serif;
	font-size: 2.8125rem;
	font-weight: 700;
	text-align: center
}
.c-schedule__week {
	color: #767676;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .015em;
	margin-top: .3125rem;
	text-align: center
}
.c-schedule__time {
	font-family: din-2014, sans-serif;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .015em;
	margin-top: .375rem;
	text-align: center
}
.c-schedule__tag {
	font-size: .85rem;
	font-weight: 700;
	margin-top: 1.125rem;
	text-align: center
}
.c-schedule__tag.--red {
	color: #f10914
}
.c-schedule__tag.--green {
	color: #02ab5c
}
.c-smallBtn {
	align-items: center;
	background-color: #252525;
	border-radius: 1.25rem;
	color: #fff;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 700;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: .03em;
	max-width: 15.625rem;
	width: 100%
}
.c-smallBtn span {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	position: relative
}
.c-smallBtn span::after {
	background: url(../images/forhighschoolstudent/more.webp) center center/contain no-repeat;
	content: "";
	display: inline-block;
	height: 2rem;
	width: 2rem
}
.c-student {
	margin-left: calc(50% - 50vw);
	max-width: 18.75rem;
	padding: 1.25rem 1.25rem 1.75rem;
	position: relative
}
.c-student.--row {
	margin-left: auto;
	margin-right: calc(50% - 50vw)
}
.c-student.--pink {
	background: url(../images/forhighschoolstudent/bg_interview_pink.webp) left top/100% no-repeat
}
.c-student.--yellow {
	background: url(../images/forhighschoolstudent/bg_interview_yellow.png) left top/100% no-repeat
}
.c-student.--red {
	background: url(../images/forhighschoolstudent/bg_interview_red.webp) left top/100% no-repeat
}
.c-student.--green {
	background: url(../images/forhighschoolstudent/bg_interview_green.webp) left top/100% no-repeat
}
.c-student.--blue {
	background: url(../images/forhighschoolstudent/bg_interview_blue.webp) left top/100% no-repeat
}
.c-student__head {
	width: -moz-fit-content;
	width: fit-content
}
.c-student__prof {
	border-bottom: 1px solid #252525;
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding-bottom: .25rem
}
.c-student__name {
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin-top: .375rem
}
.c-student__name small {
	display: inline-block;
	font-size: .5625rem;
	margin-left: .25rem
}
.c-student__img {
	margin-left: -1.25rem;
	margin-top: 1.125rem;
	max-width: 14.75rem
}
.c-student__title {
	align-items: flex-start;
	display: flex;
	flex-direction: row-reverse;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-size: 1.5625rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.36;
	position: absolute;
	right: 1.25rem;
	top: 6rem
}
.c-student__title span {
	font-feature-settings: "palt";
	display: inline-block;
	height: -moz-fit-content;
	height: fit-content;
	max-width: 2.375rem;
	padding: .5rem .4375rem;
	position: relative;
	white-space: nowrap;
	writing-mode: vertical-rl;
	z-index: 1
}
.c-student__title span::before {
	background-color: #fff;
	content: "";
	height: 100%;
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.5s;
	width: 100%;
	z-index: -1
}
.p-student__cards .c-student__title.is-active span::before {
	height: 100%
}
.c-student__btn {
	bottom: 1.125rem;
	left: 1.875rem;
	position: absolute;
	width: 3.8125rem
}
.c-student__btn::before {
	animation: rotate 10s linear infinite;
	background: url(../images/forhighschoolstudent/interview.webp) top right/4.6875rem no-repeat;
	content: "";
	height: 5.9375rem;
	left: 50%;
	max-width: none;
	max-width: initial;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 5.9375rem
}
.c-student.--row .c-student__head {
	margin-left: auto
}
.c-student.--row .c-student__img {
	margin-left: auto;
	margin-right: -1.25rem
}
.c-student.--row .c-student__title {
	left: 1.25rem;
	right: auto;
	right: initial
}
.c-student.--row .c-student__btn {
	left: auto;
	left: initial;
	right: 1.875rem
}
.c-teacher {
	margin-left: auto;
	margin-right: auto;
	max-width: 22.875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: relative;
	position: relative;
	width: 100%
}
.c-teacher__title {
	font-feature-settings: "palt";
	display: flex;
	flex-direction: row-reverse;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-size: 1.5625rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.36;
	position: absolute;
	right: -.375rem;
	top: 0
}
.c-teacher__title span {
	display: inline-block;
	height: -moz-fit-content;
	height: fit-content;
	max-width: 2.375rem;
	padding: .5rem .4375rem;
	position: relative;
	text-orientation: upright;
	writing-mode: vertical-rl;
	z-index: 1
}
.c-teacher__title span::before {
	background-color: #fff;
	content: "";
	height: 0%;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.5s;
	width: 100%;
	z-index: -1
}
.c-teacher__title small {
	display: inline-block;
	text-orientation: initial;
	transform: rotate(-90deg)
}
.c-teacher__title span:nth-child(2)::before {
	transition-delay: 0s
}
.c-teacher__title span:nth-child(3)::before {
	transition-delay: 0s
}
.p-teacher__card.slick-active .c-teacher__title.is-active span::before {
	height: 100%
}
.c-teacher__img {
	position: relative
}
.c-teacher__comment {
	background: url(../images/forhighschoolstudent/bg_fukidashi.webp) center center/contain no-repeat;
	bottom: -.3125rem;
	height: 14.125rem;
	left: 50%;
	margin-left: .15rem;
	max-width: 20.25rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
	padding-top: 3.125rem;
	position: absolute;
	right: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: 1
}
.c-teacher__comment p {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.6
}
.c-teacher__prof {
	bottom: 13.125rem;
	left: 2.5rem;
	position: absolute;
	width: -moz-fit-content;
	width: fit-content
}
.c-teacher__prof.--right {
	bottom: 14.125rem;
	left: auto;
	left: initial;
	right: 2.5rem
}
.c-title {
	padding-top: 6.625rem;
	position: relative;
	z-index: 1
}
.c-title h2 {
	color: #2d5ef1;
	font-size: 2.125rem;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1.2121212121;
	opacity: 0;
	position: relative;
	transform: rotate(-4deg);
	transform: translateX(-5%) rotate(-4deg);
	transform-origin: bottom right;
	transition: all 0.7s;
	transition-delay: 0.7s;
	white-space: nowrap;
	z-index: 1
}
.c-title p {
	background-color: #02ab5c;
	border-radius: 1.125rem;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin-left: auto;
	margin-top: 2.9375rem;
	opacity: 0;
	padding: .625rem 1.125rem;
	position: relative;
	transform: translateX(-5%);
	transition: all 0.7s;
	transition-delay: 0.7s;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1
}
.c-title.is-active h2 {
	opacity: 1;
	transform: translateX(0%) rotate(-4deg)
}
.c-title.is-active p {
	opacity: 1
}
.c-title__bg {
	height: 18.3125rem;
	left: 0;
	margin-left: calc(50% - 50vw);
	position: absolute;
	top: 1rem;
	width: calc(100% + 2rem)
}
.c-title__bg svg {
	height: 100%;
	overflow: visible;
	overflow: initial;
	width: 100%
}
.c-title__bg img {
	transition: all 0.6s
}
.c-title__bg.is-active img {
	-webkit-clip-path: inset(0 0% 0 0);
	clip-path: inset(0 0% 0 0)
}
.c-title.is-active .c-title__bg svg path {
	stroke-dashoffset: 0;
	transition: all 1s
}
.l-about {
	margin-top: -3.25rem
}
.l-book {
	margin-top: -5.75rem
}
.l-faq {
	margin-top: -1rem
}
.l-feature {
	margin-top: 10.3125rem
}
.l-inner {
	height: inherit;
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%
}
.l-inner.--s {
	padding: 0 2.5rem
}
.l-middle {
	margin-top: 5.625rem
}
.l-mv2 {
	margin-top: 5.625rem
}
.l-number {
	margin-top: -3.125rem
}
.l-ob {
	margin-top: -3.4375rem
}
.l-oc {
	margin-top: 7.5rem
}
.l-student {
	margin-top: -3.4375rem
}
.l-teacher {
	margin-top: .6875rem
}
.l-top {
	margin-top: 1.875rem
}
.p-about {
	padding-bottom: 8.5625rem;
	position: relative
}
.p-about::before {
	-webkit-clip-path: polygon(0 0, 100% 1.75rem, 100% 100%, 0 calc(100% - 1.75rem));
	background-color: #f7abe3;
	bottom: 0;
	clip-path: polygon(0 0, 100% 1.75rem, 100% 100%, 0 calc(100% - 1.75rem));
	content: "";
	height: calc(100% - 23.125rem);
	left: 50%;
	max-width: 33.75rem;
	position: absolute;
	right: 0;
	top: 23.125rem;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px)
}
.p-about__inner {
	position: relative;
	z-index: 1
}
.p-about__head .c-head__text {
	padding-right: 1.25rem
}
.p-about__prof .c-prof__name {
	text-align: right
}
.p-about__units {
	margin-top: 3.5625rem
}
.p-about__unit+.p-about__unit {
	margin-top: 5rem
}
.p-about__head2 {
	margin-top: 9.375rem
}
.p-about__head2 .c-title {
	padding-top: 0
}
.p-about__head2 .c-head__text {
	align-items: center;
	display: flex;
	padding-bottom: 3.75rem;
	padding-top: 3.75rem
}
.p-about__prof2 .c-prof__name {
	text-align: right
}
.p-about__btn {
	margin-top: 2.8125rem;
	position: relative;
	z-index: 2
}
.p-about__btn+.p-about__btn {
	margin-top: 1.25rem
}
.p-about__btn.--none {
	position: relative;
	z-index: 1
}
.p-about__btn.--none .c-btn__hand {
	display: none
}
.p-about__unit {
	position: relative
}
.p-about__unit.--1::after {
	background-image: linear-gradient(to right, #fff .5rem, transparent .5rem);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: .75rem .125rem;
	bottom: -5.6875rem;
	content: "";
	display: none;
	height: .125rem;
	left: .0625rem;
	position: absolute;
	transform: rotate(-10deg);
	transform-origin: bottom left;
	transition: all 1s;
	transition-delay: 3s;
	width: 0%
}
.p-about__unit.is-active.--1::after {
	width: 100%
}
.p-about__unit.--2::after {
	background-image: linear-gradient(to right, #fff .5rem, transparent .5rem);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: .75rem .125rem;
	bottom: -4.25rem;
	content: "";
	display: none;
	height: .125rem;
	left: 0;
	position: absolute;
	transform: rotate(10deg);
	transform-origin: top left;
	transition: all 1s;
	transition-delay: 3s;
	width: 0%
}
.p-about__unit.is-active.--2::after {
	width: 100%
}
.p-area {
	padding-bottom: 10.375rem;
	position: relative
}
.p-area::before {
	-webkit-clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	background-color: #f1971f;
	bottom: 0;
	clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	content: "";
	height: calc(100% - 20.3125rem);
	left: 50%;
	max-width: 33.75rem;
	position: absolute;
	right: 0;
	top: 20.3125rem;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px)
}
.p-area__inner {
	position: relative;
	z-index: 1
}
.p-area__cards {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.4375rem;
	max-width: 19.375rem;
	width: 100%
}
.p-area__cards .slick-list {
	overflow: visible;
	overflow: initial
}
.p-area__card {
	border: .125rem solid transparent;
	border-radius: .9375rem;
	margin: 0 .625rem;
	overflow: hidden;
	position: relative;
	transition: all 0.3s
}
.p-area__card.slick-active {
	border: .125rem solid #2d5ef1
}
.p-area__card.slick-active .p-area__text {
	background-color: #fff38e
}
.p-area__card.--pink.slick-active {
	border-color: #fd92cb
}
.p-area__tag {
	background-color: #2d5ef1;
	border-bottom-left-radius: .9375rem;
	color: #fff;
	font-size: .8125rem;
	letter-spacing: .04em;
	padding: .625rem 1rem;
	position: absolute;
	right: 0;
	top: 0
}
.p-area__tag.--pink {
	background-color: #fd92cb
}
.p-area__img img {
	-o-object-fit: cover;
	aspect-ratio: 583/373;
	height: 100%;
	object-fit: cover
}
.p-area__text {
	align-items: center;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	font-size: .9375rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.6666666667;
	min-height: 6.5625rem;
	text-align: center;
	transition: all 0.3s
}
.p-area__text em {
	font-feature-settings: normal;
	display: contents
}
.p-area__btn {
	margin-top: 3.4375rem
}
.p-area__btn.--none .c-btn__hand {
	display: none
}
.p-area__btn.--pdf .c-btn span::before {
	background: url(../images/forhighschoolstudent/pdf.webp) center center/contain no-repeat;
	width: 2.3125rem
}
.p-area__btn+.p-area__btn {
	margin-top: .9375rem
}
.p-area__cards .slide-arrow {
	border: .125rem solid #252525;
	border-radius: 50%;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.4375rem;
	z-index: 1
}
.p-area__cards .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: -1.875rem
}
.p-area__cards .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: -1.875rem
}
.p-bg {
	aspect-ratio: 1440/900;
	bottom: 0;
	display: none;
	height: 100%;
	left: 0;
	margin: auto;
	max-width: 100%;
	position: fixed;
	right: 0;
	top: 0;
	width: auto
}
.p-bg__img {
	opacity: 0;
	position: absolute;
	width: 16.625rem
}
.p-bg__img:nth-child(1) {
	left: 0;
	top: -2rem
}
.p-bg__img:nth-child(1) img {
	transform: rotate(-29.54deg)
}
.p-bg__img:nth-child(2) {
	left: 16rem;
	top: 16.5625rem
}
.p-bg__img:nth-child(3) {
	bottom: 1.75rem;
	left: .75rem
}
.p-bg__img:nth-child(3) img {
	transform: rotate(-29.54deg)
}
.p-bg__img:nth-child(4) {
	right: -1.25rem;
	top: -2.75rem
}
.p-bg__img:nth-child(5) {
	bottom: 1.6875rem;
	right: 11.25rem
}
.p-bg__img:nth-child(5) img {
	transform: rotate(-23.06deg)
}
.p-book-modal {
	background: transparent;
	height: 100vh;
	height: 100dvh;
	left: 0;
	margin-inline: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 25.875rem;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: all 0.5s;
	visibility: hidden;
	width: 100%;
	z-index: 20
}
.p-book-modal.is-active {
	opacity: 1;
	pointer-events: auto;
	visibility: visible
}
.p-book-modal__main {
	background-color: #e0e0e0;
	border-radius: .9375rem;
	height: calc(100% - 7rem);
	left: 50%;
	overflow-y: scroll;
	padding: 3.125rem 1.25rem 1.5625rem;
	position: absolute;
	top: 5.75rem;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px);
	z-index: 1
}
.p-book-modal__content {
	height: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	width: 100%
}
.p-book-modal__content.is-active {
	height: auto;
	opacity: 1;
	overflow: visible;
	overflow: initial;
	visibility: visible
}
.p-book-modal__content.is-active .c-bgText span::before {
	width: 100%
}
.p-book-modal__title {
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: -1.5625rem;
	text-align: center
}
.p-book-modal__title small {
	font-size: 1.125rem
}
.p-book-modal__img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.75rem;
	max-width: 20.625rem;
	width: 100%
}
.p-book-modal__block {
	margin-top: 1.25rem
}
.p-book-modal__text {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.8333333333;
	margin-top: 1.875rem;
	padding: 0 1.25rem
}
.p-book-modal__box {
	background-color: #fff;
	border-radius: .9375rem;
	box-shadow: 0 0 .9375rem rgba(37, 37, 37, .15);
	margin-top: 2.625rem;
	padding: 2rem 1.875rem
}
.p-book-modal__boxTitle {
	color: #f7921e;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .05em
}
.p-book-modal__btn {
	display: flex;
	flex-direction: column;
	margin-top: 1.5625rem
}
.p-book-modal__btn a {
	align-items: center;
	background-color: #252525;
	border-radius: .9375rem;
	color: #fff;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 700;
	gap: .5rem;
	justify-content: center;
	letter-spacing: .03em;
	padding: .5rem .9375rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-book-modal__btn a img {
	filter: brightness(0) invert(1);
	width: .9375rem
}
.p-book-modal__btn a+a {
	margin-top: .625rem
}
.p-book-modal__bg {
	background: url(../images/forhighschoolstudent/bg_map.webp) center center/cover no-repeat;
	height: 100%;
	left: 0;
	max-width: 31.25rem;
	position: absolute;
	top: 0;
	width: 100%
}
.p-book-modal__closeBtn {
	pointer-events: auto;
	position: absolute;
	right: 1.25rem;
	top: 1.25rem;
	width: 3.4375rem;
	z-index: 1
}
.p-book {
	position: relative
}
.p-book__icon {
	background: url(../images/forhighschoolstudent/icon_book.webp) center center/contain no-repeat;
	content: "";
	height: 7.1875rem;
	left: 4.1875rem;
	position: absolute;
	top: -3.5rem;
	width: 8.34375rem;
	z-index: 1
}
.p-book__box {
	background-color: #fff;
	padding-bottom: 3.125rem;
	padding-top: 5.3125rem;
	position: relative
}
.p-book__box::before {
	background: url(../images/forhighschoolstudent/bg_book.webp) center center/contain no-repeat;
	content: "";
	height: 6.7632850242vw;
	left: 0;
	max-height: 3.125rem;
	position: absolute;
	top: max(-4.8309178744vw, -2rem);
	width: 100%
}
.p-book__box::after {
	background: url(../images/forhighschoolstudent/bg_book2.webp) center center/contain no-repeat;
	bottom: max(-4.8309178744vw, -2rem);
	content: "";
	height: 6.038647343vw;
	left: 0;
	max-height: 3.125rem;
	position: absolute;
	width: 100%
}
.p-book__title p {
	margin: 0 auto;
	width: 6.4375rem
}
.p-book__title h2 {
	margin: 0 auto;
	margin-top: .8125rem;
	width: 17.375rem
}
.p-book__lead {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.5;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.8125rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-book__main {
	margin-top: -1.25rem;
	position: relative
}
.p-book__main>div {
	overflow-x: scroll;
	padding-bottom: 3.125rem
}
.p-book__fuchi {
	margin: 0 auto;
	margin-top: 1.875rem;
	position: relative;
	width: 17.375rem;
	z-index: 1
}
.p-book__map {
	min-width: 59.375rem;
	overflow: hidden;
	position: relative
}
.p-book__prev {
	left: -1.625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.25rem;
	z-index: 2
}
.p-book__next {
	position: absolute;
	right: -1.625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 3.25rem;
	z-index: 2
}
.p-book__main>div::-webkit-scrollbar {
	height: .625rem
}
.p-book__main>div::-webkit-scrollbar-track {
	background: #e0e0e0;
	margin-left: 1.25rem;
	margin-right: 1.25rem
}
.p-book__main>div::-webkit-scrollbar-thumb {
	background-color: #2d5ef1;
	height: 1rem
}
.p-book__link::before {
	background-color: #fff;
	border-radius: 50%;
	content: "";
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
	z-index: 1
}
.p-book__link:hover::before {
	opacity: .2
}
.p-book__link {
	border-radius: 50%;
	height: 7.0625rem;
	position: absolute;
	width: 7.0625rem
}
.p-book__link:nth-child(1) {
	left: 9.6875rem;
	top: 6.25rem
}
.p-book__link:nth-child(2) {
	left: 3.125rem;
	top: 13.75rem
}
.p-book__link:nth-child(3) {
	bottom: 1.25rem;
	left: 11.5rem
}
.p-book__link:nth-child(4) {
	bottom: 5.25rem;
	left: 20.125rem
}
.p-book__link:nth-child(5) {
	left: 21rem;
	top: 10.375rem
}
.p-book__link:nth-child(6) {
	left: 30.5rem;
	top: 1rem
}
.p-book__link:nth-child(7) {
	left: 35rem;
	top: 15.375rem
}
.p-book__link:nth-child(8) {
	bottom: 2.1875rem;
	left: 33.25rem
}
.p-book__link:nth-child(9) {
	left: 43rem;
	top: 10.1875rem
}
.p-book__link:nth-child(10) {
	right: 2.1875rem;
	top: 17.25rem
}
.p-comment {
	margin-top: 3.25rem;
	position: relative
}
.p-comment__bg {
	transform: scale(0);
	transition: all 0.3s
}
.p-comment__text {
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%
}
.p-comment__text img {
	position: absolute;
	transform: scale(0);
	transition: all 0.3s
}
.p-comment__text img.is-active {
	transform: scale(1)
}
.p-comment__text img:nth-child(1) {
	left: 3.75rem;
	top: 5.75rem;
	transition-delay: 0.3s;
	width: 3.75rem
}
.p-comment__text img:nth-child(2) {
	left: 8.25rem;
	top: 4.875rem;
	transition-delay: 0.4s;
	width: 3.125rem
}
.p-comment__text img:nth-child(3) {
	left: 12.25rem;
	top: 5.125rem;
	transition-delay: 0.5s;
	width: 3.25rem
}
.p-comment__text img:nth-child(4) {
	left: 16.125rem;
	top: 5.625rem;
	transition-delay: 0.6s;
	width: 2.625rem
}
.p-comment__text img:nth-child(5) {
	left: 4.125rem;
	top: 11.375rem;
	transition-delay: 0.7s;
	width: 2.25rem
}
.p-comment__text img:nth-child(6) {
	left: 8.125rem;
	top: 12.125rem;
	transition-delay: 0.8s;
	width: 2.625rem
}
.p-comment__text img:nth-child(7) {
	left: 11.375rem;
	top: 10.625rem;
	transition-delay: 0.9s;
	width: 2.0625rem
}
.p-comment__text img:nth-child(8) {
	left: 14rem;
	top: 10.75rem;
	transition-delay: 1s;
	width: 3rem
}
.p-comment__text img:nth-child(9) {
	left: 17.5rem;
	top: 12rem;
	transition-delay: 1.1s;
	width: 2rem
}
.p-comment__bg.is-active {
	transform: scale(1)
}
.p-drawer {
	background: url(../images/forhighschoolstudent/bg_blue.webp) center center/cover no-repeat;
	display: none;
	height: 100vh;
	height: 100dvh;
	left: 0;
	overflow-y: scroll;
	padding-bottom: 2.5rem;
	padding-top: 2.1875rem;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9
}
.p-drawer__inner {
	padding: 0 1.25rem
}
.p-faq {
	position: relative
}
.p-faq__icon {
	background: url(../images/forhighschoolstudent/faq_icon.webp) center center/contain no-repeat;
	content: "";
	height: 6rem;
	left: 4.21875rem;
	position: absolute;
	top: -6.125rem;
	width: 10.125rem;
	z-index: 1
}
.p-faq__box {
	background-color: #fff;
	padding-bottom: 6.25rem;
	padding-top: 2.1875rem;
	position: relative
}
.p-faq__box::before {
	background: url(../images/forhighschoolstudent/bg_faq.webp) center center/contain no-repeat;
	content: "";
	height: 15.7004830918vw;
	left: 0;
	max-height: 8.125rem;
	position: absolute;
	top: max(-14.4927536232vw, -5.625rem);
	width: 100%
}
.p-faq__box::after {
	background: url(../images/forhighschoolstudent/bg_faq_2.webp) center center/contain no-repeat;
	bottom: max(-14.4927536232vw, -5.625rem);
	content: "";
	height: 15.7004830918vw;
	left: 0;
	max-height: 8.125rem;
	position: absolute;
	width: 100%
}
.p-faq__title p {
	margin: 0 auto;
	width: 9.21875rem
}
.p-faq__title h2 {
	margin: 0 auto;
	width: 13.625rem
}
.p-faq__items {
	margin-top: 2.5rem
}
.p-faq__item {
	cursor: pointer
}
.p-faq__item+.p-faq__item {
	margin-top: .15625rem
}
.p-faq__q {
	background-color: #fefac1;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.40625;
	min-height: 4.375rem;
	padding-bottom: 1.5625rem;
	padding-left: 1.25rem;
	padding-right: 4rem;
	padding-top: 1.5625rem;
	position: relative
}
.p-faq__q::before {
	background: url(../images/forhighschoolstudent/arrow.webp) center center/contain no-repeat;
	content: "";
	height: 1.875rem;
	position: absolute;
	right: 1.125rem;
	top: 1.375rem;
	transform: rotate(180deg);
	transition: all 0.3s;
	width: 1.875rem
}
.p-faq__item.is-active .p-faq__q::before {
	transform: rotate(0)
}
.p-faq__a {
	background-color: #2d5ef1;
	color: #fff;
	padding: 1.875rem 1.25rem 2.5rem
}
.p-faq__a p+p {
	margin-top: 1rem
}
.p-faq__item:not(:first-child) .p-faq__a {
	display: none
}
.p-faq__text {
	font-size: .9375rem;
	font-weight: 500;
	letter-spacing: .015em;
	line-height: 1.8666666667
}
.p-faq__text small {
	font-size: .75rem
}
.p-faq__text.--big {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.4324324324
}
.p-faq__a-btn {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 15.875rem;
	width: 100%
}
.p-faq__btn {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.875rem;
	max-width: 17.5rem;
	width: 100%
}
.p-feature__title p {
	margin: 0 auto;
	max-width: 11.875rem
}
.p-feature__title h2 {
	margin-top: 1.3125rem
}
.p-feature__box {
	background-color: #fcf3be;
	border-radius: .9375rem;
	padding: 4.1875rem 1.25rem 3.75rem
}
.p-feature__bnrs {
	margin-top: 1.875rem
}
.p-feature__bnr {
	padding: 0 .125rem
}
.p-feature__bnr+.p-feature__bnr {
	margin-top: 2.375rem
}
.p-feature__text {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.5;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-align: center;
	width: 15.1875rem
}
.p-feature__text::before {
	background-color: #252525;
	content: "";
	height: 2.5rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: rotate(-30deg) translateY(-50%);
	width: 1px
}
.p-feature__text::after {
	background-color: #252525;
	content: "";
	height: 2.5rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: rotate(30deg) translateY(-50%);
	width: 1px
}
.p-feature__btn {
	margin-top: 1.125rem
}
.p-feature__btn a {
	display: block
}
.p-feature__bnrs .slide-arrow {
	bottom: -1.375rem;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	width: 3.4375rem;
	z-index: 1
}
.p-feature__bnrs .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: 0rem
}
.p-feature__bnrs .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: 0rem
}
.p-feature__bnrs .slider-dots {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	margin-top: 3.59375rem
}
.p-feature__bnrs .slider-dots li {
	background-color: #fff;
	border-radius: 50%;
	height: .5625rem;
	list-style: none;
	margin: 0 5px;
	width: .5625rem
}
.p-feature__bnrs .slider-dots li.slick-active {
	background-color: #2d5ef1
}
.p-feature__bnrs .slider-dots button {
	display: none
}
.p-feature__instagram {
	margin-top: 4rem
}
.p-feature__text.--wide {
	width: 16.875rem
}
.p-feature__links {
	margin-top: 2.25rem
}
.p-feature__link {
	margin-left: auto;
	margin-right: auto;
	max-width: 15.625rem
}
.p-feature__link+.p-feature__link {
	margin-top: .5625rem
}
.p-float {
	bottom: .625rem;
	position: fixed;
	right: .3125rem;
	transform: translateY(100%);
	transition: all 0.5s;
	z-index: 8
}
.p-float.is-active {
	transform: translateY(0)
}
.p-float__links {
	align-items: center;
	display: flex;
	justify-content: flex-end
}
.p-float__link a {
	display: block
}
.p-float__link:nth-child(1) {
	width: 6.25rem
}
.p-float__link:nth-child(2) {
	margin-left: -.25rem;
	width: 6.375rem
}
.p-footer {
	color: #2d5ef1;
	padding-bottom: 4.6875rem;
	padding-top: 4.375rem;
	position: relative;
	z-index: 1
}
.p-footer__snsText {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center
}
.p-footer__links {
	grid-gap: .9375rem .875rem;
	display: grid;
	gap: .9375rem .875rem;
	grid-template-columns: repeat(3, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.75rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-footer__link {
	background-color: #fff;
	border-radius: 50%;
	height: 4.875rem;
	width: 4.875rem
}
.p-footer__link a {
	align-items: center;
	display: grid;
	height: 100%;
	justify-items: center;
	place-items: center;
	width: 100%
}
.p-footer__link a img {
	-o-object-fit: contain;
	max-height: 1.875rem;
	max-width: 1.875rem;
	object-fit: contain
}
.p-footer__btns {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 5.75rem
}
.p-footer__btn {
	height: 7.375rem
}
.p-footer__btn:not(:last-child) a {
	align-items: center;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 1.3125rem;
	font-weight: 700;
	height: 100%;
	justify-content: center;
	line-height: 1.6666666667;
	position: relative;
	text-align: center
}
.p-footer__btn a small {
	font-size: .75rem
}
.p-footer__btn:not(:last-child) a img {
	bottom: .8125rem;
	position: absolute;
	right: .9375rem;
	width: 1.6875rem
}
.p-footer__btn:first-child, .p-footer__btn:last-child {
	grid-column: 1/3
}
.p-footer__btn:last-child img {
	width: 100%
}
.p-footer__bnrs {
	align-items: center;
	display: flex;
	gap: .9375rem;
	justify-content: center;
	margin-top: 4.375rem
}
.p-footer__bnrs a {
	transition: all 0.3s
}
.p-footer__bnrs a:hover {
	opacity: .8
}
.p-footer__bnr:first-child {
	height: 3.625rem
}
.p-footer__bnr {
	height: 3.8125rem
}
.p-footer__bnr img {
	height: 100%;
	width: auto
}
.p-footer__logo {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.25rem;
	max-width: 20rem
}
.p-footer__tel {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.0625rem;
	max-width: 20.3125rem;
	padding: 1.125rem
}
.p-footer__telText {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center
}
.p-footer__tel a {
	align-items: center;
	display: flex;
	font-family: din-2014, sans-serif;
	font-size: 2.1875rem;
	font-weight: 700;
	gap: .9375rem;
	justify-content: center;
	letter-spacing: .005em
}
.p-footer__tel a img {
	width: 2.0625rem
}
.p-footer__telText2 {
	font-size: .78125rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center
}
.p-footer__info {
	margin-top: 4.0625rem;
	text-align: center
}
.p-footer__title {
	font-size: .9375rem;
	font-weight: 700
}
.p-footer__address {
	font-size: .8125rem;
	line-height: 1.8;
	margin-top: 1.5rem
}
.p-footer__number {
	font-size: .8125rem;
	line-height: 1.8
}
.p-footer__copy {
	font-size: .6875rem;
	margin-top: 2.875rem;
	text-align: center
}
.p-header__logo {
	left: 1.25rem;
	position: fixed;
	top: 1.25rem;
	width: 8.375rem;
	z-index: 9
}
.p-middle__text {
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 2.4473684211;
	position: relative;
	text-align: center;
	z-index: 1
}
.p-middle__text p+p {
	margin-top: 2.8125rem
}
.p-modal-nav {
	display: grid;
	grid-template-columns: 1fr 3.4375rem 1fr;
	margin-top: 3.75rem;
	padding-top: 1.25rem;
	position: relative
}
.p-modal-nav::before {
	background-image: linear-gradient(to right, #fff .5rem, transparent .5rem);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: .75rem .125rem;
	content: "";
	height: .125rem;
	left: -1.25rem;
	position: absolute;
	top: 0;
	width: calc(100% + 2.5rem)
}
.p-modal-nav__prev {
	align-items: center;
	display: flex;
	gap: .625rem;
	justify-content: flex-start
}
.p-modal-nav__prev img {
	width: 3.4375rem
}
.p-modal-nav__prev span {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .02em
}
.p-modal-nav__next {
	align-items: center;
	display: flex;
	gap: .625rem;
	justify-content: flex-end
}
.p-modal-nav__next img {
	width: 3.4375rem
}
.p-modal-nav__next span {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .02em
}
.p-movie__title {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center
}
.p-movie__title span {
	color: #fff;
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding: .5rem .9375rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1
}
.p-movie__title span+span {
	margin-top: -.125rem
}
.p-movie__title span::before {
	background-color: #2d5ef1;
	border-radius: .15625rem;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.6s;
	width: 100%;
	width: 0;
	z-index: -1
}
.p-movie__title.is-active span::before {
	width: 100%
}
.p-movie__title span:nth-child(2)::before {
	transition-delay: 0.3s
}
.p-movie__philosophy {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.4375rem;
	max-width: 20.875rem;
	position: relative
}
.p-movie__youtube {
	height: -moz-fit-content;
	height: fit-content;
	width: 100%
}
.p-movie__youtube iframe {
	-o-object-fit: cover;
	aspect-ratio: 650/405;
	height: 100%;
	object-fit: cover;
	width: 100%
}
.p-movie__hash {
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.6071428571;
	margin-top: .71875rem
}
.p-movie__slider {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.125rem;
	max-width: 22.125rem
}
.p-movie__sliderItem {
	margin: 0 .375rem
}
.p-movie__sliderTitle {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .04em;
	margin-bottom: .9375rem
}
.p-movie__sliderTitle.--big {
	font-size: 1.1875rem;
	line-height: 1.2631578947;
	margin-top: .9375rem
}
.p-movie__sliderTitle span {
	font-size: .8125rem;
	margin-left: .28125rem;
	vertical-align: baseline
}
.p-movie__sliderTag {
	background-color: #fff;
	border-radius: .8125rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .015em;
	padding: .3125rem .625rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-movie__img {
	box-shadow: 0 0 .9375rem rgba(116, 16, 90, .15);
	height: -moz-fit-content;
	height: fit-content
}
.p-movie__img img {
	-o-object-fit: cover;
	aspect-ratio: 650/400;
	height: 100%;
	object-fit: cover;
	width: 100%
}
.p-movie__text {
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.6071428571;
	margin-top: 1.125rem
}
.p-movie__tab {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 21.875rem
}
.p-movie__tab button {
	background-color: #fff;
	border: .125rem solid #fff;
	border-radius: 1.25rem;
	color: #252525;
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .015em;
	padding: .5rem .9375rem;
	transition: all 0.3s;
	width: -moz-fit-content;
	width: fit-content
}
.p-movie__tab button:hover {
	background-color: #f4e511;
	border: .1875rem solid #252525
}
.p-mv {
	height: 100vh;
	height: 100dvh;
	max-height: 1000px;
	min-height: 50rem;
	position: relative
}
.p-mv.--auto {
	height: 42.5rem
}
.p-mv__bg {
	left: 50%;
	position: absolute;
	top: 48%;
	transform: translate(-50%, -50%);
	transition: all 0.3s;
	width: 100%
}
.p-mv__bg.--2 {
	height: 33.4375rem;
	transform: translate(-50%, -50%) scale(0);
	width: 33.4375rem
}
.p-mv__bg.--2 img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	position: absolute
}
.p-mv__bg.--2.is-active {
	transform: translate(-50%, -50%) scale(1)
}
.p-mv__title {
	bottom: 0;
	height: -moz-fit-content;
	height: fit-content;
	left: 50%;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 46%;
	top: 5%;
	width: 25.125rem
}
.p-mv__title.--1 img:nth-child(1) {
	opacity: 0
}
.p-mv__title.--1 img:nth-child(2) {
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 19.875rem
}
.p-mv__title.--1 img:nth-child(3) {
	left: 50%;
	position: absolute;
	top: 2.75rem;
	transform: translateX(-50%);
	width: 24.625rem
}
.p-mv__title.--1 img:nth-child(4) {
	left: 50%;
	position: relative;
	top: -6.875rem;
	transform: translateX(-50%);
	width: 17.5rem
}
.p-mv__title.--2 {
	height: 100%;
	position: absolute;
	width: 100%
}
.p-mv__title.--2 img {
	position: absolute;
	transform: scale(0);
	transition: all 0.3s
}
.p-mv__title.--2 img.is-active {
	transform: scale(1)
}
.p-mv__title.--2 img:nth-child(1) {
	left: 2.625rem;
	top: calc(50% - 10rem);
	transition-delay: 0.3s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(2) {
	left: 6.625rem;
	top: calc(50% - 8.625rem);
	transition-delay: 0.4s;
	width: 1.875rem
}
.p-mv__title.--2 img:nth-child(3) {
	left: 8.9375rem;
	top: calc(50% - 11.5rem);
	transition-delay: 0.5s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(4) {
	left: 13.625rem;
	top: calc(50% - 10.25rem);
	transition-delay: 0.6s;
	width: 2.625rem
}
.p-mv__title.--2 img:nth-child(5) {
	left: 6.5625rem;
	top: calc(50% - 5rem);
	transition-delay: 0.7s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(6) {
	left: 10.5rem;
	top: calc(50% - 3.25rem);
	transition-delay: 0.8s;
	width: 2.40625rem
}
.p-mv__title.--2 img:nth-child(7) {
	left: 13.5625rem;
	top: calc(50% - 5rem);
	transition-delay: 0.9s;
	width: 2.625rem
}
.p-mv__title.--2 img:nth-child(8) {
	left: 17.5rem;
	top: calc(50% - 7rem);
	transition-delay: 1s;
	width: 3.71875rem
}
.p-mv__title.--2 img:nth-child(9) {
	left: 21.875rem;
	top: calc(50% - 7.5rem);
	transition-delay: 1.1s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(10) {
	left: 19.6875rem;
	rotate: 25deg;
	top: calc(50% - 3.4375rem);
	transition-delay: 1.2s;
	width: 2.84375rem
}
.p-mv__title.--2 img:nth-child(11) {
	bottom: calc(50% - 5.25rem);
	left: 2rem;
	transition-delay: 1.3s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(12) {
	bottom: calc(50% - 5rem);
	left: 6.125rem;
	transition-delay: 1.4s;
	width: 1.96875rem
}
.p-mv__title.--2 img:nth-child(13) {
	bottom: calc(50% - 5.75rem);
	left: 8.75rem;
	transition-delay: 1.5s;
	width: 3.0625rem
}
.p-mv__title.--2 img:nth-child(14) {
	bottom: calc(50% - 5.9375rem);
	left: 13.125rem;
	transition-delay: 1.6s;
	width: 3.28125rem
}
.p-mv__title.--2 img:nth-child(15) {
	bottom: calc(50% - 6.5625rem);
	left: 17.0625rem;
	transition-delay: 1.7s;
	width: 5.25rem
}
.p-mv__title.--2 img:nth-child(16) {
	bottom: calc(50% - 6rem);
	left: 22.1875rem;
	transition-delay: 1.8s;
	width: 2.1875rem
}
.p-mv__illust picture {
	position: absolute;
	width: 7.375rem
}
.p-mv__illust picture.is-bounce:nth-child(odd) {
	animation: kakukaku 1s steps(2) infinite
}
.p-mv__illust picture.is-bounce:nth-child(even) {
	animation: kakukaku2 1s steps(2) infinite
}
.p-mv__illust picture:nth-child(1) {
	left: calc(50% - 9.1875rem);
	top: calc(50% - 25rem)
}
.p-mv__illust picture:nth-child(2) {
	right: calc(50% - 9.1875rem);
	top: calc(50% - 25rem)
}
.p-mv__illust picture:nth-child(3) {
	bottom: calc(50% - 19.5rem);
	left: calc(50% - 11.6875rem)
}
.p-mv__illust picture:nth-child(4) {
	bottom: calc(50% - 25rem);
	left: calc(50% - 3.875rem)
}
.p-mv__illust picture:nth-child(5) {
	bottom: calc(50% - 19.5rem);
	right: calc(50% - 11.6875rem)
}
.p-mv__illust.--2 picture:nth-child(1) {
	top: calc(50% - 20.3125rem)
}
.p-mv__illust.--2 picture:nth-child(2) {
	right: calc(50% - 9.1875rem);
	top: calc(50% - 20.3125rem)
}
.p-mv__illust.--2 picture:nth-child(3) {
	bottom: calc(50% - 17.25rem);
	left: calc(50% - 11.6875rem)
}
.p-mv__illust.--2 picture:nth-child(4) {
	bottom: calc(50% - 21.25rem);
	left: calc(50% - 3.875rem)
}
.p-mv__illust.--2 picture:nth-child(5) {
	bottom: calc(50% - 17.25rem);
	right: calc(50% - 11.6875rem)
}
.p-mv__tag p {
	color: #2d5ef1;
	font-size: 1.03125rem;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1;
	position: absolute
}
.p-mv__tag p span {
	display: inline-block
}
.p-mv__tag p:not(:nth-child(4)) {
	writing-mode: vertical-rl
}
.p-mv__tag p span.u-hatena {
	translate: .125rem 0
}
.p-mv__tag p:nth-child(1) {
	left: -.4375rem;
	top: calc(50% - 19.5rem);
	width: 4.0625rem
}
.p-mv__tag p:nth-child(1)>span {
	transform: rotate(-23deg)
}
.p-mv__tag p:nth-child(2), .p-mv__tag p:nth-child(3) {
	border-radius: 1.875rem
}
.p-mv__tag p:nth-child(2) {
	right: calc(50% - 11.875rem);
	top: calc(50% - 18.75rem);
	transform: rotate(12deg);
	width: 2.625rem
}
.p-mv__tag p:nth-child(3) {
	bottom: calc(50% - 9.75rem);
	left: calc(50% - 11.6875rem);
	transform: rotate(-12.58deg);
	width: 3.375rem
}
.p-mv__tag p:nth-child(4) {
	align-items: center;
	border-radius: 50%;
	bottom: calc(50% - 15.375rem);
	display: flex;
	height: 4.25rem;
	justify-content: center;
	left: 50%;
	transform: rotate(10.93deg) translateX(-50%);
	width: 4.25rem;
	width: 4.25rem
}
.p-mv__tag p:nth-child(5) {
	bottom: calc(50% - 11rem);
	right: calc(50% - 11rem);
	transform: rotate(8.58deg);
	width: 3.0625rem
}
.p-nav__logo {
	margin: 0 auto;
	width: 17.5rem
}
.p-nav__links {
	margin-top: 2rem
}
.p-nav__link {
	position: relative
}
.p-nav__link+.p-nav__link {
	margin-top: 1.25rem
}
.p-nav__link:nth-child(2) {
	transform: rotate(-1.61deg)
}
.p-nav__link:nth-child(3) {
	transform: rotate(1.26deg)
}
.p-nav__link:nth-child(4)::before {
	align-items: center;
	background-color: #2eb442;
	border-radius: .5rem;
	color: #fff;
	content: "TOPIC";
	display: flex;
	font-family: din-2014, sans-serif;
	font-size: .75rem;
	font-weight: 700;
	height: 1.125rem;
	justify-content: center;
	left: 1.125rem;
	padding-top: .125rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 4.5rem
}
.p-nav__link:nth-child(5) {
	transform: rotate(-1.7deg)
}
.p-nav__link:nth-child(6)::before {
	align-items: center;
	background-color: #2eb442;
	border-radius: .5rem;
	color: #fff;
	content: "PICK UP";
	display: flex;
	font-family: din-2014, sans-serif;
	font-size: .75rem;
	font-weight: 700;
	height: 1.125rem;
	justify-content: center;
	left: 1.125rem;
	padding-top: .1875rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 4.5rem
}
.p-nav__link:nth-child(7) {
	transform: rotate(2.99deg)
}
.p-nav__link a {
	align-items: center;
	display: flex;
	justify-content: center
}
.p-nav__link a span {
	color: #2d5ef1;
	display: block;
	font-size: 1.0625rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: .01em;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%
}
.p-nav__link.--white a span {
	color: #fff
}
.p-nav__btns {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.25rem;
	max-width: 19rem;
	max-width: 22.5rem
}
.p-nav__btn:nth-child(1) {
	width: 8.75rem
}
.p-nav__btn:nth-child(2) {
	margin-left: 8.25rem;
	margin-top: -10.1875rem;
	width: 12rem
}
.p-nav__btn:nth-child(3) {
	margin-left: 6.875rem;
	margin-top: -.9375rem;
	width: 7.9375rem
}
.p-nav__btn:nth-child(4) {
	margin-left: auto;
	margin-top: -7.75rem;
	width: 7.8125rem
}
.p-nav__sns {
	grid-gap: .625rem;
	display: grid;
	gap: .625rem;
	grid-template-columns: repeat(6, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-nav__snslink {
	background-color: #fff;
	border-radius: 50%;
	height: 2.875rem;
	width: 2.875rem
}
.p-nav__snslink a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%
}
.p-nav__snslink img {
	-o-object-fit: contain;
	height: 1.4375rem;
	object-fit: contain;
	width: 1.4375rem
}
.p-nav__textLinks {
	margin-top: 2.875rem
}
.p-nav__textLink+.p-nav__textLink {
	margin-top: .78125rem
}
.p-nav__textLink a {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: .9375rem;
	font-weight: 700;
	gap: .625rem
}
.p-nav__textLink a span {
	font-size: .75rem
}
.p-nav__textLink a img {
	width: 1.6875rem
}
.p-number {
	position: relative
}
.p-number__icon {
	background: url(../images/forhighschoolstudent/icon_number.webp) center center/contain no-repeat;
	content: "";
	height: 6.25rem;
	left: 4.5rem;
	position: absolute;
	top: -3.5rem;
	width: 5.9375rem;
	z-index: 1
}
.p-number__box {
	background-color: #fff;
	padding-bottom: 3.875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 4.0625rem;
	position: relative
}
.p-number__box::before {
	background: url(../images/forhighschoolstudent/bg_number.webp) center center/contain no-repeat;
	content: "";
	height: 8.4541062802vw;
	left: 0;
	max-height: 4.375rem;
	position: absolute;
	top: max(-8.2125603865vw, -3.125rem);
	width: 100%
}
.p-number__box::after {
	background: url(../images/forhighschoolstudent/bg_number2.webp) center center/contain no-repeat;
	bottom: max(-8.2125603865vw, -3.125rem);
	content: "";
	height: 8.4541062802vw;
	left: 0;
	max-height: 4.375rem;
	position: absolute;
	width: 100%
}
.p-number__title p {
	margin-left: auto;
	margin-right: auto;
	width: 7.5rem
}
.p-number__title h2 {
	margin-left: auto;
	margin-right: auto;
	margin-top: .5625rem;
	width: 13.375rem
}
.p-number__text {
	font-size: .90625rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.6666666667;
	margin-top: 1.5rem
}
.p-number__slider {
	margin: 0 auto;
	margin-top: 2.5rem
}
.p-number__slider .slick-list {
	overflow: visible;
	overflow: initial
}
.p-number__btn {
	margin-top: 3rem;
	position: relative;
	z-index: 1
}
.p-number__btn.--none .c-btn__hand {
	display: none
}
.p-number__btn+.p-number__btn {
	margin-top: .9375rem
}
.p-number__slider .slick-track {
	display: flex
}
.p-number__slider .slide-arrow {
	border: .125rem solid #252525;
	border-radius: 50%;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.4375rem;
	z-index: 1
}
.p-number__slider .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: -3.125rem
}
.p-number__slider .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: -3.125rem
}
.p-ob-modal {
	height: 100vh;
	height: 100dvh;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 25.875rem;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 100%;
	z-index: 11
}
.p-ob-modal.is-active {
	opacity: 1;
	pointer-events: initial;
	visibility: visible
}
.p-ob-modal__closeBtn {
	position: absolute;
	right: 1.25rem;
	top: 1.125rem;
	width: 3.4375rem;
	z-index: 2
}
.p-ob-modal__main {
	height: calc(100% - 2.8125rem);
	left: 0;
	margin-top: -3.875rem;
	overflow-y: scroll;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 5.75rem;
	position: absolute;
	top: 5.625rem;
	width: 100%;
	z-index: 1
}
.p-ob-modal__content {
	background-color: #2eb442;
	border-radius: .9375rem 0 .9375rem .9375rem;
	height: 0;
	opacity: 0;
	overflow: hidden;
	padding-bottom: 1.5625rem;
	position: relative;
	visibility: hidden
}
.p-ob-modal__content:first-child .p-modal-nav__prev {
	opacity: 0;
	visibility: hidden
}
.p-ob-modal__content:last-child .p-modal-nav__next {
	opacity: 0;
	visibility: hidden
}
.p-ob-modal__content.is-active {
	height: -moz-fit-content;
	height: fit-content;
	opacity: 1;
	overflow: visible;
	overflow: initial;
	visibility: visible
}
.p-ob-modal__content.is-active .c-bgText.is-active span::before {
	width: 100%
}
.p-ob-modal__content.is-active .c-btn {
	opacity: 1
}
.p-ob-modal__title {
	background-color: #fff;
	border-radius: 1.875rem;
	display: flex;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-size: 1.625rem;
	font-weight: 700;
	justify-content: center;
	left: -.125rem;
	letter-spacing: .03em;
	line-height: 1.25;
	padding: 2rem .9375rem;
	position: absolute;
	top: -5.8125rem;
	width: 5.75rem
}
.p-ob-modal__title::before {
	background: url(../images/forhighschoolstudent/frame_left_modal.webp) center center/contain no-repeat;
	content: "";
	filter: brightness(0);
	height: 19.125rem;
	position: absolute;
	right: -2rem;
	top: -.125rem;
	width: 6.0625rem
}
.p-ob-modal__title::after {
	background: url(../images/forhighschoolstudent/frame_left_bottom_modal.webp) center center/contain no-repeat;
	bottom: -.125rem;
	content: "";
	filter: brightness(0);
	height: 17.625rem;
	left: -.125rem;
	position: absolute;
	width: 4.1875rem
}
.p-ob-modal__title span {
	align-items: flex-start;
	display: inline-flex;
	flex-direction: row-reverse;
	gap: .25rem;
	justify-content: center;
	position: relative
}
.p-ob-modal__title span img {
	filter: brightness(0);
	width: 1.4375rem
}
.p-ob-modal__title span::before {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	transition: all 1s;
	width: 100%
}
.p-ob-modal__content.is-active .p-ob-modal__title span::before {
	height: 0%
}
.p-ob-modal__lead {
	align-items: center;
	background-color: #2eb442;
	border-radius: 1.5625rem 0 0 1.5625rem;
	display: flex;
	font-size: 1.5625rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .05em;
	max-width: 16.25rem;
	padding: .8125rem .625rem;
	position: absolute;
	right: -1.25rem;
	top: -1.5625rem;
	width: 100%
}
.p-ob-modal__lead small {
	font-size: .875rem
}
.p-ob-modal__thumbnail {
	border-radius: .9375rem .9375rem 0 0;
	overflow: hidden
}
.p-ob-modal__prof {
	background-color: #d9d8d8;
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding-bottom: .9375rem;
	padding-top: .9375rem;
	text-align: center
}
.p-ob-modal__name {
	background-color: #fff;
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1rem;
	padding-bottom: .375rem;
	padding-top: .375rem;
	text-align: center
}
.p-ob-modal__name small {
	font-size: .625rem
}
.p-ob-modal__blocks {
	margin-top: 2.6875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-ob-modal__block+.p-ob-modal__block {
	margin-top: 3.75rem
}
.p-ob-modal__text {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.8333333333;
	margin-top: 2rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-ob-modal__img {
	margin-left: -1.25rem;
	margin-top: 2rem;
	width: calc(100% + 2.5rem)
}
.p-ob-modal__slider {
	margin-left: -1.25rem;
	margin-top: 3.4375rem;
	width: calc(100% + 2.5rem)
}
.p-ob-modal__sliderItem span {
	color: #fff;
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.5;
	margin-top: .625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-ob-modal__slider .slide-arrow {
	bottom: -1.375rem;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	width: 3.4375rem;
	z-index: 1
}
.p-ob-modal__slider .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: 1.25rem
}
.p-ob-modal__slider .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: 1.25rem
}
.p-ob-modal__slider .slider-dots {
	display: flex;
	gap: 1.4375rem;
	justify-content: center;
	margin-top: 3.59375rem
}
.p-ob-modal__slider .slider-dots li {
	background-color: #fff;
	border-radius: 50%;
	height: .5625rem;
	list-style: none;
	margin: 0 5px;
	width: .5625rem
}
.p-ob-modal__slider .slider-dots li.slick-active {
	background-color: #2d5ef1
}
.p-ob-modal__slider .slider-dots button {
	display: none
}
.p-ob-modal__box {
	background-color: #fff;
	border-radius: .9375rem;
	box-shadow: 0 0 .75rem rgba(37, 37, 37, .15);
	margin-left: auto;
	margin-right: auto;
	margin-top: 6.25rem;
	padding: 2.1875rem 1.875rem;
	width: calc(100% - 2.5rem)
}
.p-ob-modal__message {
	grid-gap: 1.3125rem;
	align-items: center;
	color: #f7921e;
	display: grid;
	font-size: 1.25rem;
	font-size: 1.25rem;
	gap: 1.3125rem;
	grid-template-columns: 3.75rem 1fr;
	letter-spacing: .05em;
	line-height: 1.3658536585
}
.p-ob-modal__message+.p-ob-modal__text {
	margin-top: 1.5rem
}
.p-ob-modal__btn {
	margin-top: 3.5rem
}
.p-ob-modal__nav {
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.75rem;
	width: calc(100% - 2.5rem)
}
.p-ob-modal__bg {
	background: url(../images/forhighschoolstudent/bg_brown.webp) center center/cover no-repeat;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}
.p-ob {
	padding-bottom: 14.1875rem;
	padding-top: 4.5rem;
	position: relative
}
.p-ob::before {
	-webkit-clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	background-color: #94826f;
	bottom: 0;
	clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	content: "";
	height: 100%;
	left: 50%;
	max-width: 33.75rem;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px)
}
.p-ob__cards {
	margin-top: 1.25rem
}
.p-ob__card+.p-ob__card {
	margin-top: -2.375rem
}
.p-ob__btn {
	height: 3.0625rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6.25rem;
	max-width: 19.875rem
}
.p-oc {
	background: linear-gradient(to bottom, transparent 12.5rem, #fcf3be 12.5rem, #fcf3be calc(100% - 12.5rem), transparent calc(100% - 12.5rem));
	padding-bottom: 9.375rem;
	padding-top: 9.375rem;
	position: relative
}
.p-oc::before {
	background-color: #fcf3be;
	border-radius: 50%;
	content: "";
	height: 50rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 50rem
}
.p-oc::after {
	background-color: #fcf3be;
	border-radius: 50%;
	bottom: 0;
	content: "";
	height: 50rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 50rem;
	z-index: -1;
}
.p-oc__inner {
	position: relative;
}
.p-oc__lead {
	font-size: 1.3125rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.8333333333;
	margin-top: 3.46875rem;
	text-align: center
}
.p-oc__lead span {
	display: inline-block;
	position: relative
}
.p-oc__lead span strong {
	color: #2d5ef1
}
.p-oc__lead span::before {
	border-bottom: .0625rem solid #252525;
	bottom: .1875rem;
	content: "";
	position: absolute;
	width: 100%
}
.p-oc__tag {
    z-index: 1;
    position: relative;
	align-items: center;
	display: flex;
	gap: 3.96875rem;
	justify-content: center;
	margin-top: 3.875rem
}
.p-oc__tag p {
	color: #fff;
	font-size: 1.03125rem;
	font-weight: 700;
	letter-spacing: .015em;
	position: relative;
	width: -moz-fit-content;
	width: fit-content
}
.p-oc__tag p::before {
	background: url(../images/forhighschoolstudent/bg_oc_01.webp) center center/contain no-repeat;
	content: "";
	height: 2.875rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 9.5rem;
	z-index: -1
}
.p-oc__tag p:nth-child(2)::before {
	transform: translate(-50%, -50%) rotate(-3.22deg)
}
.p-oc__next {
	margin-left: auto;
	margin-top: 3.53125rem;
	position: relative;
	width: 8.375rem;
	z-index: 1
}
.p-oc__next .c-schedule__head {
	color: #252525;
	font-size: .78125rem;
	letter-spacing: .015em;
	padding-bottom: .375rem;
	padding-top: .375rem
}
.p-oc__next .c-schedule__date {
	font-size: 2.3125rem
}
.p-oc__next .c-schedule__week {
	font-size: .9375rem
}
.p-oc__next .c-schedule__time {
	font-size: .9375rem
}
.p-oc__slider1 {
	display: flex;
	gap: 1.25rem;
	margin-left: calc(50% - 50vw);
	margin-top: -4.625rem;
	width: 100vw
}
.p-oc__slider1>div {
	grid-gap: .9375rem 1.25rem;
	animation: infinity-scroll-right 40s infinite linear 0.5s both;
	display: grid;
	gap: .9375rem 1.25rem;
	grid-template-columns: 14.375rem 18.5rem 18.375rem
}
.p-oc__slider1 picture:nth-child(1) {
	grid-row: 1/3
}
.p-oc__slider1 picture:nth-child(1) img {
	-o-object-fit: cover;
	aspect-ratio: 460/775;
	height: 100%;
	object-fit: cover
}
.p-oc__slider1 picture:nth-child(2) img, .p-oc__slider1 picture:nth-child(3) img {
	-o-object-fit: cover;
	aspect-ratio: 567/378;
	height: 100%;
	object-fit: cover
}
.p-oc__slider1 picture:nth-child(4) img, .p-oc__slider1 picture:nth-child(5) img {
	-o-object-fit: cover;
	aspect-ratio: 578/385;
	height: 100%;
	object-fit: cover
}
.p-oc__schedule {
	margin-top: 3.6875rem
}
.p-oc__faq {
	margin-top: 4.0625rem
}
.p-oc__time {
	margin-top: calc(4rem + 5.7971014493vw)
}
.p-oc__slider2 {
	margin-top: 4.625rem
}
.p-oc__slider2-title {
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: .05em;
	margin-left: auto;
	margin-right: auto;
	padding-left: .3125rem;
	padding-right: .3125rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1
}
.p-oc__slider2-title::before {
	background-color: #feff02;
	bottom: -.5625rem;
	content: "";
	height: 1.125rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1
}
.p-oc__slider2-cards {
	margin: 0 auto;
	margin-top: 5.125rem;
	max-width: 22.125rem
}
.p-oc__slider2-cards .slick-list {
	overflow: visible;
	overflow: initial
}
.p-oc__slider2-card {
	margin: 0 .625rem
}
.p-oc__bnr {
	margin-top: 3.125rem
}
.p-oc__bnr+.p-oc__bnr {
	margin-top: 1.5625rem
}
.p-oc__session {
	margin-top: 4.375rem;
	text-align: center
}
.p-oc__session h3 {
	font-size: 2.1875rem;
	font-weight: 700;
	letter-spacing: .04em
}
.p-oc__session .p-oc__lead {
	margin-top: 1.625rem
}
.p-oc__bnr2 {
	margin-top: 3.125rem
}
.p-oc__btn {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.6875rem;
	max-width: 19.875rem;
	width: 100%
}
.p-oc__slider2 .slide-arrow {
	bottom: -1.375rem;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	width: 3.4375rem;
	z-index: 1
}
.p-oc__slider2 .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: -1.25rem
}
.p-oc__slider2 .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: -1.25rem
}
.p-oc__slider2 .slider-dots {
	display: flex;
	gap: 1.4375rem;
	justify-content: center;
	margin-top: 3.59375rem
}
.p-oc__slider2 .slider-dots li {
	background-color: #fff;
	border-radius: 50%;
	height: .5625rem;
	list-style: none;
	margin: 0 5px;
	width: .5625rem
}
.p-oc__slider2 .slider-dots li.slick-active {
	background-color: #2d5ef1
}
.p-oc__slider2 .slider-dots button {
	display: none
}
.p-oc__slider2-text {
	font-size: .78125rem;
	font-weight: 500;
	letter-spacing: .02em;
	margin-top: .75rem;
	text-align: center
}
.p-oc__youtube {
	height: -moz-fit-content;
	height: fit-content;
	margin-left: -1.25rem;
	margin-top: 1.25rem;
	width: calc(100% + 1.25rem + 1.25rem)
}
.p-oc__youtube iframe {
	-o-object-fit: cover;
	aspect-ratio: 415/230;
	height: 100%;
	object-fit: cover;
	width: 100%
}
.p-ocFaq {
	border-radius: .9375rem;
	overflow: hidden
}
.p-ocFaq__title {
	background-color: #f7921e;
	border-bottom: .125rem solid #fff;
	padding-bottom: 1.25rem;
	padding-top: 1.875rem
}
.p-ocFaq__title h2 {
	margin: 0 auto;
	width: 14.25rem
}
.p-ocFaq__title p {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin-top: .9375rem;
	text-align: center
}
.p-ocFaq__items {
	display: none
}
.p-ocFaq__q {
	align-items: center;
	background-color: #f7921e;
	color: #fff;
	display: flex;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.4117647059;
	min-height: 5.125rem;
	padding-bottom: .625rem;
	padding-left: 3.4375rem;
	padding-right: 1.125rem;
	padding-top: .625rem;
	position: relative
}
.p-ocFaq__q::before {
	background: url(../images/forhighschoolstudent/q.webp) center center/contain no-repeat;
	content: "";
	height: 1.75rem;
	left: 1.125rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.625rem
}
.p-ocFaq__a {
	background-color: #fff;
	font-size: .9375rem;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.8666666667;
	padding: 1.875rem 1.25rem
}
.p-ocFaq__a strong {
	display: block;
	font-size: 1.125rem;
	letter-spacing: .02em;
	line-height: 1.4324324324;
	margin-bottom: .625rem
}
.p-ocFaq__a a {
	border-bottom: .0625rem solid #252525;
	padding-bottom: .125rem
}
.p-ocFaq__a a img {
	display: inline;
	margin: 0 .3125rem .3125rem;
	vertical-align: middle;
	width: .875rem
}
.p-ocFaq__btn {
	background-color: #f7921e;
	padding-bottom: .5rem;
	padding-top: .5rem
}
.p-ocFaq__btn span {
	background-color: #fff;
	border-radius: 50%;
	display: inline-block;
	height: 1.875rem;
	position: relative;
	width: 1.875rem
}
.p-ocFaq__btn span::before {
	background-color: #252525;
	content: "";
	height: .15625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: .875rem
}
.p-ocFaq__btn span::after {
	background-color: #252525;
	content: "";
	height: .15625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(90deg);
	transition: all 0.3s;
	width: .875rem
}
.p-ocFaq__btn.is-active span::after {
	transform: translate(-50%, -50%)
}
.p-schedule {
	padding-bottom: 5rem;
	padding-top: 5rem;
	position: relative
}
.p-schedule::before {
	background-color: #ffff98;
	content: "";
	height: 100%;
	left: 0;
	margin-left: calc(50% - 50vw);
	position: absolute;
	top: 0;
	width: 100vw;
	/* z-index: -1 */
}
.p-schedule__title {
	margin: 0 auto;
	width: 15.375rem
}
.p-schedule__tag {
	align-items: center;
	display: flex;
	gap: .75rem;
	justify-content: center;
	margin-top: 2.0625rem
}
.p-schedule__tag p {
	background-color: #fe90cc;
	border-radius: .9375rem;
	color: #fff;
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .02em;
	padding: .5rem 1rem
}
.p-schedule__slider {
	margin-top: 2.375rem
}
.p-schedule__slider .slick-list {
	overflow: visible;
	overflow: initial
}
.p-schedule__slider-item {
	margin: 0 .625rem;
	width: 8.375rem
}
.p-schedule__btn {
	bottom: -1.875rem;
	position: absolute;
	right: 3.4375rem;
	width: 3.8125rem;
    z-index: 1;
}
.p-schedule__btn::before {
	animation: rotate 10s linear infinite;
	background: url(../images/forhighschoolstudent/oc.webp) top right/4.6875rem no-repeat;
	content: "";
	filter: brightness(0);
	height: 5.9375rem;
	left: 50%;
	max-width: none;
	max-width: initial;
	position: absolute;
    pointer-events: none;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 5.9375rem
}
.p-scheduleModal {
	background-color: #faf6c0;
	height: 100vh;
	height: 100dvh;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 25.875rem;
	opacity: 0;
	overflow-y: scroll;
	padding-bottom: 5.625rem;
	padding-top: 5.625rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: all 0.3s;
	visibility: hidden;
	width: 100%;
	width: 100%;
	z-index: 11
}
.p-scheduleModal.is-active {
	opacity: 1;
	visibility: visible
}
.p-scheduleModal__inner {
	padding-left: 20px;
	padding-right: 20px
}
.p-scheduleModal__close {
	position: absolute;
	right: 1.125rem;
	top: 2rem;
	width: 3.4375rem
}
.p-scheduleModal__title {
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center
}
.p-scheduleModal__box {
	border-radius: .9375rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.375rem;
	max-width: 22.8125rem;
	overflow: hidden;
	width: 100%
}
.p-scheduleModal__subTitle {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding-bottom: .8125rem;
	padding-top: .8125rem;
	text-align: center
}
.p-scheduleModal__subTitle.--red {
	background-color: #f10914
}
.p-scheduleModal__subTitle.--green {
	background-color: #02ab5c
}
.p-scheduleModal__boxMain {
	background-color: #fff;
	padding-bottom: 3.75rem;
	padding-left: 1.6875rem;
	padding-right: 1.6875rem;
	padding-top: 2.5rem
}
.p-scheduleModal__year {
	font-family: din-2014, sans-serif;
	font-size: 1.625rem;
	font-weight: 700;
	grid-column: 1/4;
	text-align: center
}
.p-scheduleModal__block+.p-scheduleModal__block {
	margin-top: 2.5rem
}
.p-scheduleModal__links {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.25rem
}
.p-scheduleModal__link {
	align-items: center;
	border-radius: .1875rem;
	display: flex;
	flex-direction: column;
	font-family: din-2014, sans-serif;
	gap: .375rem;
	height: 5.375rem;
	justify-content: center;
	position: relative
}
.p-scheduleModal__link a {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: .375rem;
	height: 100%;
	justify-content: center;
	width: 100%
}
.p-scheduleModal__link+.p-scheduleModal__year {
	margin-top: 1.5625rem
}
.p-scheduleModal__link.--red {
	border: .1875rem solid #f10914
}
.p-scheduleModal__link.--green {
	border: .1875rem solid #02ab5c
}
.p-scheduleModal__link img {
	position: absolute;
	right: -.625rem;
	top: -.625rem;
	width: 1.6875rem
}
.p-scheduleModal__link p:nth-child(1) {
	font-size: 1.3125rem;
	letter-spacing: .02em
}
.p-scheduleModal__link p:nth-child(2) {
	color: #767676;
	font-size: .8125rem;
	letter-spacing: .015em
}
.p-scheduleModal__link p.p-scheduleModal__smallText {
	bottom: calc(-1em - 0.375rem);
	color: #f10914;
	font-size: .625rem;
	font-weight: 700;
	position: absolute;
	white-space: nowrap
}
.p-scheduleModal__time {
	border: .1875rem solid #afafaf;
	border-radius: .1875rem
}
.p-scheduleModal__time dl {
	display: grid;
	grid-template-columns: 6.25rem 1fr
}
.p-scheduleModal__time dl:nth-child(n+2) {
	border-top: .1875rem solid #afafaf
}
.p-scheduleModal__time dt {
	align-items: center;
	border-right: .1875rem solid #afafaf;
	display: flex;
	font-size: .875rem;
	font-weight: 700;
	justify-content: center;
	padding-bottom: .375rem;
	padding-top: .375rem;
	text-align: center
}
.p-scheduleModal__time dd {
	font-family: din-2014, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: .375rem;
	padding-top: .375rem;
	text-align: center
}
.p-sns__text {
	text-align: center
}
.p-sns__text span {
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	letter-spacing: .02em;
	line-height: 1.5625;
	position: relative;
	position: relative
}
.p-sns__text span::before {
	background-color: #fff;
	content: "";
	height: 3.875rem;
	left: -2.8125rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-30deg);
	width: .125rem
}
.p-sns__text span::after {
	background-color: #fff;
	content: "";
	height: 3.875rem;
	position: absolute;
	right: -2.8125rem;
	top: 50%;
	transform: translateY(-50%) rotate(30deg);
	width: .125rem
}
.p-sns__sns {
	grid-gap: .875rem;
	display: grid;
	gap: .875rem;
	grid-template-columns: repeat(3, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	width: -moz-fit-content;
	width: fit-content
}
.p-sns__snslink {
	background-color: #fff;
	border-radius: 50%;
	height: 4.375rem;
	width: 4.375rem
}
.p-sns__snslink a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%
}
.p-sns__snslink img {
	-o-object-fit: contain;
	height: 1.6875rem;
	object-fit: contain;
	width: 1.6875rem
}
.p-student-modal {
	height: 100vh;
	height: 100dvh;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 25.875rem;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 100%;
	width: 100%;
	z-index: 11
}
.p-student-modal.is-active {
	opacity: 1;
	pointer-events: initial;
	visibility: visible
}
.p-student-modal__closeBtn {
	cursor: pointer;
	position: absolute;
	right: 1.125rem;
	top: 1.125rem;
	width: 3.4375rem;
	z-index: 2
}
.p-student-modal__main {
	height: calc(100% - 4.375rem);
	left: 50%;
	overflow-y: scroll;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: absolute;
	top: 3.125rem;
	transform: translateX(-50%);
	width: 100%;
	z-index: 1
}
.p-student-modal__content {
	height: 0;
	opacity: 0;
	overflow: hidden;
	padding: 0;
	visibility: hidden
}
.p-student-modal__content.is-active {
	height: auto;
	opacity: 1;
	overflow: visible;
	overflow: initial;
	padding: 1.25rem 1.25rem 1.75rem;
	visibility: visible
}
.p-student-modal__content:first-child .p-modal-nav__prev {
	visibility: hidden
}
.p-student-modal__content:last-child .p-modal-nav__next {
	visibility: hidden
}
.p-student-modal__content.c-student {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	max-width: initial;
	width: 100%
}
.p-student-modal__content.c-student.--modal {
	position: relative
}
.p-student-modal__content.c-student.--modal::before {
	border-radius: 0 0 1.875rem 1.875rem;
	bottom: 0;
	content: "";
	height: calc(100% - 18.75rem);
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1
}
.p-student-modal__content.c-student.--modal.--pink {
	background: url(../images/forhighschoolstudent/bg_interview_pink_modal.webp) center top/100% no-repeat
}
.p-student-modal__content.c-student.--modal.--pink::before {
	background-color: #ffddf6
}
.p-student-modal__content.c-student.--modal.--green {
	background: url(../images/forhighschoolstudent/bg_interview_green_modal.webp) center top/100% no-repeat
}
.p-student-modal__content.c-student.--modal.--green::before {
	background-color: #19e8a1
}
.p-student-modal__content.c-student.--modal.--blue {
	background: url(../images/forhighschoolstudent/bg_interview_blue_modal.webp) center top/100% no-repeat
}
.p-student-modal__content.c-student.--modal.--blue::before {
	background-color: #7bf0fb
}
.p-student-modal__content.c-student.--modal.--red {
	background: url(../images/forhighschoolstudent/bg_interview_red_modal.webp) center top/100% no-repeat
}
.p-student-modal__content.c-student.--modal.--red::before {
	background-color: #fc7a7a
}
.p-student-modal__content.c-student.--modal.--yellow {
	background: url(../images/forhighschoolstudent/bg_interview_yellow_modal.webp) center top/100% no-repeat
}
.p-student-modal__content.c-student.--modal.--yellow::before {
	background-color: #fff38e
}
.p-student-modal__blocks {
	margin-top: 3.125rem
}
.p-student-modal__block+.p-student-modal__block {
	margin-top: 3.75rem
}
.p-student-modal__text {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.8333333333;
	margin-top: 1.875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-student-modal__img picture {
	margin-left: -1.25rem;
	width: calc(100% + 2.5rem)
}
.p-student-modal__img span {
	color: #767676;
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .03em;
	margin-top: .625rem
}
.p-student-modal__box {
	background-color: #fff;
	border-radius: .9375rem;
	box-shadow: 0 0 .75rem rgba(37, 37, 37, .15);
	margin-top: 6.25rem;
	padding: 2.1875rem 1.875rem
}
.p-student-modal__message {
	grid-gap: 1.3125rem;
	align-items: center;
	color: #f7921e;
	display: grid;
	font-size: 1.25rem;
	font-size: 1.25rem;
	gap: 1.3125rem;
	grid-template-columns: 3.75rem 1fr;
	letter-spacing: .05em;
	line-height: 1.3658536585
}
.p-student-modal__message+.p-student-modal__text {
	margin-top: 1.5rem
}
.p-student-modal__pickup {
	background-color: #e0e0e0;
	border-radius: .9375rem;
	box-shadow: 0 0 .75rem rgba(37, 37, 37, .15);
	margin-top: 5.75rem;
	padding: 3.375rem 1.25rem 2.625rem;
	position: relative
}
.p-student-modal__pickupTag {
	background-color: #f7921e;
	border-radius: 1.1875rem;
	color: #fff;
	font-size: 1.125rem;
	left: 50%;
	letter-spacing: .05em;
	padding: .625rem 1.25rem;
	position: absolute;
	top: -1.25rem;
	transform: translateX(-50%);
	width: -moz-fit-content;
	width: fit-content
}
.p-student-modal__pickupTitle {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.6875rem;
	margin: 0 auto;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content
}
.p-student-modal__pickupTitle .border {
	border-bottom: .0625rem solid #252525;
	display: inline-block
}
.p-student-modal__pickupTitle span small {
	font-size: .75rem
}
.p-student-modal__pickupTitle small {
	font-size: .9375rem
}
.p-student-modal__pickupImg {
	margin-top: 1.625rem
}
.p-student-modal__pickupText1 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.5;
	margin-top: 1.5625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-student-modal__pickupText2 {
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.8333333333;
	margin-top: 1.0625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem
}
.p-student-modal__btn {
	margin-top: 4.5rem;
	width: 100%
}
.p-student-modal__btn .c-btn {
	opacity: 1
}
.p-student-modal__bg {
	background: url(../images/forhighschoolstudent/bg_blue.webp) center center/cover no-repeat;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}
.p-student-modal .c-student__prof {
	font-size: 1.125rem
}
.p-student-modal .c-student__name {
	font-size: .9375rem
}
.p-student-modal .c-student__name small {
	font-size: .6875rem
}
.p-student-modal .c-student__img {
	border-radius: 0 .9375rem .9375rem 0;
	margin-left: -1.25rem;
	margin-top: .75rem;
	max-width: 100%;
	overflow: hidden
}
.p-student-modal .c-student__title {
	font-size: 2.25rem;
	right: 1.25rem
}
.p-student-modal .c-student__title span::before {
	height: 0%
}
.p-student-modal__content.is-active .c-student__title.is-active span::before {
	height: 100%
}
.p-student-modal__content .c-student__title span {
	max-width: 3rem
}
.p-student-modal__nav {
	margin-top: 4.625rem
}
.p-student {
	padding-bottom: 10.375rem;
	padding-top: 4.5rem;
	position: relative
}
.p-student::before {
	-webkit-clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	background-color: #2d5ef1;
	bottom: 0;
	clip-path: polygon(0 0, 100% 3.4375rem, 100% 100%, 0 calc(100% - 3.4375rem));
	content: "";
	height: 100%;
	left: 50%;
	max-width: 33.75rem;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px)
}
.p-student__inner {
	position: relative
}
.p-student__cards {
	margin-top: 1.25rem
}
.p-student__card+.p-student__card {
	margin-top: -2.5rem
}
.p-student__btn {
	margin-top: 6.875rem;
	text-align: center
}
.p-teacher {
	padding-bottom: 10.625rem;
	padding-top: 1.875rem;
	position: relative
}
.p-teacher::before {
	-webkit-clip-path: polygon(0 0, 100% 1.875rem, 100% 100%, 0 calc(100% - 1.875rem));
	background-color: #c8acfa;
	bottom: 0;
	clip-path: polygon(0 0, 100% 1.875rem, 100% 100%, 0 calc(100% - 1.875rem));
	content: "";
	height: 100%;
	left: 50%;
	max-width: 33.75rem;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(-50%);
	width: calc(100% - 20px - 20px)
}
.p-teacher__cards {
	margin-top: 2.5rem
}
.p-teacher__btn {
	height: 3.4375rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6.25rem;
	max-width: 19.875rem
}
.p-teacher__cards .slide-arrow {
	bottom: -1.375rem;
	cursor: pointer;
	height: 3.4375rem;
	position: absolute;
	width: 3.4375rem;
	z-index: 1
}
.p-teacher__cards .next-arrow {
	background: url(../images/forhighschoolstudent/next_arrow.webp) center center/contain no-repeat;
	right: -.3125rem
}
.p-teacher__cards .prev-arrow {
	background: url(../images/forhighschoolstudent/prev_arrow.webp) center center/contain no-repeat;
	left: -.3125rem
}
.p-teacher__cards .slider-dots {
	display: flex;
	gap: 1.4375rem;
	justify-content: center;
	margin-top: 3.59375rem
}
.p-teacher__cards .slider-dots li {
	background-color: #fff;
	border-radius: 50%;
	height: .5625rem;
	list-style: none;
	margin: 0 5px;
	width: .5625rem
}
.p-teacher__cards .slider-dots li.slick-active {
	background-color: #2d5ef1
}
.p-teacher__cards .slider-dots button {
	display: none
}
.p-time {
	background-color: #fff;
	padding-bottom: 2.8125rem;
	padding-top: 2.8125rem;
	position: relative
}
.p-time::before {
	background: url(../images/forhighschoolstudent/bg_time.webp) center center/contain no-repeat;
	content: "";
	height: 6.038647343vw;
	left: 0;
	max-height: 3.125rem;
	position: absolute;
	top: max(-5.7971014493vw, -1.875rem);
	width: 100%
}
.p-time::after {
	background: url(../images/forhighschoolstudent/bg_time2.webp) center center/contain no-repeat;
	bottom: max(-5.7971014493vw, -1.875rem);
	content: "";
	height: 6.038647343vw;
	left: 0;
	max-height: 3.125rem;
	position: absolute;
	width: 100%
}
.p-time__title {
	text-align: center
}
.p-time__title h2 {
	font-family: din-2014, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .015em
}
.p-time__title p {
	color: #767676;
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin-top: .375rem
}
.p-time__schdule {
	background-image: linear-gradient(to right, #d6d6d6 .375rem, transparent .375rem);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: .5625rem 1px;
	margin-top: 2.375rem
}
.p-time__row {
	grid-gap: 1.75rem;
	background-image: linear-gradient(to right, #d6d6d6 .375rem, transparent .375rem);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: .5625rem 1px;
	display: grid;
	gap: 1.75rem;
	grid-template-columns: 3.125rem 1fr;
	padding-bottom: 1rem;
	padding-left: 2.375rem;
	padding-right: 2.375rem;
	padding-top: 1rem
}
.p-time__row dt {
	color: #767676;
	font-family: din-2014, sans-serif;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .015em;
	line-height: 1.4705882353
}
.p-time__row dd {
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.4705882353
}
.p-top {
	position: relative;
	text-align: center
}
.p-top__lead {
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: .05em;
	line-height: 1.71875
}
.p-top__text {
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 2.4473684211;
	margin-top: 3rem;
	position: relative;
	z-index: 1
}
.p-top__text p+p {
	margin-top: 2.8125rem
}
.p-top__more {
	font-size: 1.6875rem;
	font-weight: 800;
	letter-spacing: .03em;
	margin-top: 1.875rem
}
.p-top__svg>div {
	position: absolute
}
.p-top__svg svg {
	height: 100%;
	width: 100%
}
.p-top__svg path {
	stroke: #fff;
	stroke-width: 3.125rem
}
.p-top__border.--1 {
	height: 5.1875rem;
	left: 46%;
	top: 9.1875rem;
	transform: translateX(-50%);
	width: 13.75rem
}
.p-top__border.--1 path {
	stroke-width: .625rem
}
.p-top__border.--2 {
	height: 2.375rem;
	left: 50%;
	top: 21.6875rem;
	transform: translateX(-50%);
	width: 20.8125rem
}
.p-top__border.--3 {
	height: .9375rem;
	left: 50%;
	top: 24.8125rem;
	transform: translateX(-50%);
	width: 18.125rem
}
.p-top__border.--4 {
	height: .625rem;
	left: 50%;
	top: 36.5rem;
	transform: translateX(-50%);
	width: 11.125rem
}
.p-top__svg>div.is-active path {
	animation: line 0.6s ease-in forwards
}
.p-wrapper__sns {
	display: none
}
.p-wrapper__sns.is-hidden {
	opacity: 0
}
.p-wrapper__nav {
	display: none
}
.u-bikkuri {
	font-feature-settings: inherit;
	display: inline-block;
	font-style: normal;
	text-align: center;
	width: 1em
}
.u-bikkuri::after {
	display: none
}
.u-bikkuri::before {
	display: none
}
.u-border {
	border: 2px solid #2d5ef1;
	border-radius: .625rem
}
@media (hover:hover) {
	.c-btn:hover {
		opacity: 0.8!important
	}
}
@media screen and (min-height:500px) and (max-height:900px) and (min-width:768px) {
	html {
		font-size: 1.7777777778vh!important
	}
}
@media screen and (min-width:768px) {
	.u-desktop {
		display: block
	}
	.u-mobile {
		display: none
	}
	.p-wrapper__main {
		background: url(../images/forhighschoolstudent/bg.webp) center center/contain repeat;
		margin: 0 auto;
		position: relative;
		width: 25.875rem;
		z-index: 2
	}
	.l-wrapper::before {
		background: url(../images/forhighschoolstudent/bg_blue.webp) center center/cover no-repeat;
		content: "";
		height: 100vh;
		left: 0;
		position: fixed;
		top: 0;
		width: 100%
	}
	html {
		font-size: 16px
	}
	a[href^="tel:"] {
		pointer-events: none
	}
	a:hover {
		opacity: .8
	}
	.c-hamburger {
		display: none
	}
	.c-head__text {
		margin-right: -1.5625rem
	}
	.c-head__text p span {
		display: inline
	}
	.c-ob__lead {
		margin-right: -25px
	}
	.c-ob__box {
		margin-right: -25px
	}
	.c-ob.--row {
		margin-left: -25px
	}
	.c-student {
		margin-left: -1.5625rem
	}
	.c-student.--row {
		margin-right: -1.5625rem
	}
	.c-title__bg {
		margin-left: -25px
	}
	.l-about {
		overflow: hidden
	}
	.l-oc {
		overflow: hidden
	}
	.p-about__unit.--1::after {
		left: 0
	}
	.p-bg {
		display: block
	}
	.p-book-modal.is-active {
		pointer-events: none
	}
	.p-book-modal__main {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem);
		pointer-events: auto;
		transform: translateX(0)
	}
	.p-book-modal__bg {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 20px);
		pointer-events: none;
		width: 100%
	}
	.p-book-modal__closeBtn {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 1.25rem - 1.25rem - 1.25rem + 22.4375rem)
	}
	.p-float {
		display: none!important
	}
	.p-footer {
		background: url(../images/forhighschoolstudent/bg.webp) center center/contain repeat;
		margin-left: auto;
		margin-right: auto;
		margin-top: -.0625rem;
		max-width: 25.875rem
	}
	.p-header__logo {
		display: none!important
	}
	.p-nav {
		height: 100%;
		margin: 0 auto;
		position: absolute;
		position: relative;
		width: 100%
	}
	.p-nav__main {
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%
	}
	.p-nav__logo {
		width: 10.8125rem
	}
	.p-nav__links {
		margin-left: auto;
		margin-right: auto;
		margin-top: 1.25rem;
		max-width: 19.375rem
	}
	.p-nav__link:nth-child(6)::before {
		font-size: .6875rem;
		height: 1.125rem;
		width: 4.0625rem
	}
	.p-nav__link a span {
		font-size: .875rem
	}
	.p-nav__btns {
		margin-left: auto;
		margin-right: auto
	}
	.p-nav__sns {
		display: none
	}
	.p-nav__textLinks {
		align-items: center;
		bottom: 2rem;
		display: flex;
		gap: 1.25rem;
		justify-content: flex-end;
		margin-top: 4.5rem;
		position: absolute;
		right: 2rem
	}
	.p-nav__textLink+.p-nav__textLink {
		margin-top: 0
	}
	.p-nav__textLink a {
		font-size: .75rem;
		gap: .375rem
	}
	.p-nav__textLink a span {
		font-size: .625rem
	}
	.p-nav__textLink a img {
		width: 1.3125rem
	}
	.p-ob-modal.is-active {
		pointer-events: none
	}
	.p-ob-modal__closeBtn {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 1.25rem - 1.25rem + 22.4375rem);
		pointer-events: auto
	}
	.p-ob-modal__main {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 20px);
		pointer-events: auto;
		transform: translateX(0)
	}
	.p-ob-modal__bg {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 20px);
		pointer-events: none;
		width: 100%
	}
	.p-oc__slider1 {
		margin-left: -1.25rem;
		width: calc(100% + 2.5rem)
	}
	.p-scheduleModal {
		margin-left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 1.25rem)
	}
	.p-student-modal.is-active {
		pointer-events: none
	}
	.p-student-modal__closeBtn {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 1.25rem - 1.25rem + 22.4375rem);
		pointer-events: auto
	}
	.p-student-modal__main {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 20px);
		pointer-events: auto;
		transform: translateX(0)
	}
	.p-student-modal__bg {
		left: calc(50% - 50vw + (100vw - 25.875rem) * 1 / 2 - 25.875rem - 20px);
		pointer-events: none;
		width: 100%
	}
	.p-wrapper__sns {
		display: block;
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		width: calc((100% - 25.875rem) * 1 / 2);
		z-index: 2
	}
	.p-wrapper__nav {
		display: block;
		height: 100%;
		position: fixed;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: calc((100% - 25.875rem) * 1 / 2);
		z-index: 2
	}
}
@media screen and (max-width:1440px) and (min-width:768px) {
	html {
		font-size: 1.1111111111vw!important
	}
}
@media screen and (max-width:1440px) and (max-height:900px) and (min-width:768px) {
	html {
		font-size: min(1.1111111111vw, 1.7777777778vh)!important
	}
}
@media screen and (max-width:768px) {
	html.is-fixed {
		overflow: hidden
	}
}
@keyframes fuwafuwa {
	0% {
		transform: translateY(-10%)
	}
	100% {
		transform: translateY(10%)
	}
}
@keyframes slideText5 {
	from {
		opacity: 0;
		transform: translateY(-5%)
	}
	to {
		opacity: 1;
		transform: translateY(0)
	}
}
@keyframes rotate {
	0% {
		transform: translate(-50%, -50%) rotate(0)
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg)
	}
}
@keyframes rotate {
	0% {
		transform: translate(-50%, -50%) rotate(0)
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg)
	}
}
@keyframes kakukaku {
	0% {
		transform: rotate(0deg)
	}
	100% {
		transform: rotate(-12deg)
	}
}
@keyframes kakukaku2 {
	0% {
		transform: rotate(0deg)
	}
	100% {
		transform: rotate(12deg)
	}
}
@keyframes infinity-scroll-right {
	from {
		transform: translateX(-100%)
	}
	to {
		transform: translateX(0%)
	}
}
@keyframes line {
	to {
		stroke-dashoffset: 0
	}
}