html {
	font-size: 100%;
}

:root {
	--sp-base: 375;
	--pc-base: 1156;
	--sp-max-scale: 1;
	--pc-max-scale: 1;
	--pc-min-scale: 0.85;
}

:root {
	--lq1: min(100vw / var(--pc-base), 1px * var(--pc-max-scale));
	--lq2: max(min(100vw / var(--pc-base), 1px * var(--pc-max-scale)), 1px * var(--pc-min-scale));
}

body {
	color: #242424;
	background-color: #fff;
	font-size: calc(16 * var(--lq2));
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
	position: relative;
	z-index: -100;
}

body.is-scroll {
	overflow: hidden;
}

a {
	color: inherit;
	-webkit-text-decoration: none;
	text-decoration: none;
	transition: opacity 0.3s;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	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;
}

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

.l-inner {
	width: 100%;
	padding: 0 calc(30 * var(--lq1));
	margin: 0 auto;
}

.l-page {
	min-height: 100vh;
	overflow: hidden;
}

.l-page__inner {
	display: grid;
	grid-template: auto 1fr/1fr calc(375 * var(--lq2));
	grid-column-gap: calc(105 * var(--lq1));
	-moz-column-gap: calc(105 * var(--lq1));
	column-gap: calc(105 * var(--lq1));
	width: min(100%, 1216 * var(--lq2));
	min-height: inherit;
	padding: 0 calc(30 * var(--lq1));
	margin: 0 auto;
}

.l-page__header {
	position: relative;
}

.l-page__main {
	grid-row: span 2;
	height: calc(678 * var(--lq2));
	border: calc(6 * var(--lq2)) solid #203812;
	border-radius: calc(30 * var(--lq2));
	margin-top: calc(45 * var(--lq1));
	position: relative;
}

.l-page__content {
	--sp-max-scale: 1.5;
	--pc-min-scale: 0.9;
	--lq1: min(100vw / var(--pc-base), 1px * var(--pc-max-scale));
	--lq2: max(min(100vw / var(--pc-base), 1px * var(--pc-max-scale)), 1px * var(--pc-min-scale));
}

.l-page__content {
	height: 100%;
	background: #fff url(../img/common/plus-bg1.svg) left calc(7 * var(--lq2)) top calc(12 * var(--lq2))/calc(146 * var(--lq2)) calc(146 * var(--lq2));
	border-radius: calc(25 * var(--lq2));
	overflow: scroll;
	scrollbar-width: none;
}

.l-page__content::-webkit-scrollbar {
	display: none;
}

.l-page__sp-bg {
	display: none;
}

.l-page__sp-bg img {
	position: absolute;
}

.l-page__sp-bg img:nth-child(1) {
	width: calc(111 * var(--lq1));
	top: calc(11 * var(--lq1));
	right: calc(100% - 40 * var(--lq1));
}

.l-page__sp-bg img:nth-child(2) {
	width: calc(210 * var(--lq1));
	top: calc(-102 * var(--lq1));
	left: calc(100% - 59 * var(--lq1));
}

.l-page__sp-bg img:nth-child(3) {
	width: calc(127 * var(--lq1));
	top: calc(384 * var(--lq1));
	right: calc(100% - 25 * var(--lq1));
}

.l-page__sp-bg img:nth-child(4) {
	width: calc(196 * var(--lq1));
	top: calc(340 * var(--lq1));
	left: calc(100% - 65 * var(--lq1));
}

.l-page__scroll {
	width: calc(28 * var(--lq2));
	position: absolute;
	right: calc(-54 * var(--lq2));
	bottom: calc(-6 * var(--lq2));
}

.l-page__to-top {
	cursor: pointer;
	width: calc(65 * var(--lq2));
	border-bottom-right-radius: calc(30 * var(--lq2));
	overflow: hidden;
	position: absolute;
	right: calc(-6 * var(--lq2));
	bottom: calc(-6 * var(--lq2));
	z-index: 1;
	transition: opacity 0.3s;
}

.l-page__to-top.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.l-page__footer {
	margin-top: calc(70 * var(--lq1));
	position: relative;
}

.l-section {
	margin-top: calc(50 * var(--lq1));
}

.c-btn {
	font-size: calc(16 * var(--lq2));
	line-height: 2;
	letter-spacing: 0.05em;
	font-weight: 700;
	color: #fff;
	background: #419695 url(../img/common/btn-icon3.svg) no-repeat left calc(15 * var(--lq2)) top calc(22 * var(--lq2))/calc(12 * var(--lq2)) auto;
	border-radius: calc(10 * var(--lq2));
	display: inline-block;
	min-width: min(100%, 205 * var(--lq2));
	padding: calc(11 * var(--lq2)) calc(15 * var(--lq2)) calc(11 * var(--lq2)) calc(37 * var(--lq2));
}

.c-btn.c-btn--light {
	color: #419695;
	background-color: #D2E3E3;
	background-image: url(../img/common/btn-icon4.svg);
}

.p-single--event .c-btn {
	min-width: min(100%, 240 * var(--lq2));
	padding-right: calc(18 * var(--lq1));
}

.c-img {
	position: relative;
}

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

.c-svg a {
	display: block;
}

.c-svg img {
	-o-object-fit: contain;
	object-fit: contain;
}

.c-textM {
	font-size: calc(14 * var(--lq2));
	line-height: 1.7142857143;
	font-weight: 600;
}

.c-titleS {
	color: #419695;
	font-size: calc(20 * var(--lq2));
	line-height: 1.2;
	font-weight: 700;
	padding-bottom: calc(5 * var(--lq2));
	border-bottom: calc(3 * var(--lq2)) solid #419695;
}

.c-titleM {
	font-size: calc(30 * var(--lq2));
	line-height: 1.3333333333;
	letter-spacing: 0.04em;
	font-weight: 700;
}

.c-titleL {
	color: #419695;
	font-size: calc(38 * var(--lq2));
	line-height: 1.1842105263;
	letter-spacing: 0.02em;
	font-weight: 700;
}

.p-acf-banner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(15 * var(--lq1));
	gap: calc(15 * var(--lq1));
}

.p-acf-banner__item span {
	color: #000;
	font-size: calc(12 * var(--lq2));
	font-weight: 700;
	display: block;
	text-align: center;
	margin-top: calc(5 * var(--lq1));
}

.p-ajax-feed__item + .p-ajax-feed__item {
	border-top: max(1px, 1 * var(--lq2)) dashed #777777;
}

.p-ajax-feed__item a {
	display: block;
	padding: calc(18 * var(--lq1)) 0;
}

.p-ajax-feed__date {
	display: block;
	font-size: calc(14 * var(--lq2));
	line-height: 1.7142857143;
	font-weight: 500;
	font-family: "Inter", sans-serif;
}

.p-ajax-feed__title {
	font-size: calc(16 * var(--lq2));
	font-weight: 700;
	margin-top: calc(2 * var(--lq1));
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.p-ajax-feed__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	margin-top: calc(32 * var(--lq1));
}

.p-ajax-feed__number {
	font-size: calc(14 * var(--lq2));
	line-height: 1.7142857143;
	font-weight: 700;
	font-family: "Inter", sans-serif;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(34 * var(--lq2));
	height: calc(34 * var(--lq2));
	border-radius: 50%;
}

.p-ajax-feed__number + .p-ajax-feed__number {
	margin-left: calc(5 * var(--lq2));
}

span.p-ajax-feed__number {
	background-color: #D2E3E3;
}

.p-ajax-feed__prev,
.p-ajax-feed__next {
	width: calc(20 * var(--lq2));
	background: no-repeat center/calc(10 * var(--lq2)) auto;
}

.p-ajax-feed__prev {
	background-image: url(../img/pages/nav-icon2.svg);
	margin-left: calc(5 * var(--lq1));
	margin-right: calc(25 * var(--lq1));
}

.p-ajax-feed__next {
	background-image: url(../img/pages/nav-icon3.svg);
	margin-left: calc(25 * var(--lq1));
	margin-right: calc(5 * var(--lq1));
}

.p-ajax-feed__first,
.p-ajax-feed__last {
	width: calc(23 * var(--lq2));
	background: no-repeat center/calc(13 * var(--lq2)) auto;
}

.p-ajax-feed__first {
	background-image: url(../img/pages/nav-icon1.svg);
}

.p-ajax-feed__last {
	background-image: url(../img/pages/nav-icon4.svg);
}

.p-ajax-feed__none {
	font-size: calc(16 * var(--lq2));
	text-align: center;
	padding-top: calc(18 * var(--lq1));
}

.p-archive {
	padding-top: calc(65 * var(--lq1));
	padding-bottom: calc(200 * var(--lq1));
}

.p-archive__sub-title {
	margin-top: calc(50 * var(--lq1));
}

.p-archive__ajax {
	margin-top: calc(30 * var(--lq1));
}

.p-archive__label {
	color: #419695;
	font-size: calc(16 * var(--lq2));
	font-weight: 700;
}

.p-archive__filter {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	gap: calc(10 * var(--lq2));
	margin-top: calc(5 * var(--lq2));
}

.p-archive__year {
	color: #419695;
	font-size: calc(14 * var(--lq2));
	line-height: 1.7142857143;
	font-weight: 700;
}

.p-archive__select {
	font-size: calc(13 * var(--lq2));
	line-height: 1;
	font-weight: 500;
	padding: calc(8 * var(--lq1)) calc(26 * var(--lq2)) calc(8 * var(--lq1)) calc(12 * var(--lq2));
	color: #242424;
	background: #fff url(../img/common/arrow-icon2.svg) no-repeat right calc(10 * var(--lq2)) top calc(11 * var(--lq1))/calc(8 * var(--lq2)) auto;
	border: max(1px, 1 * var(--lq2)) solid #242424;
}

.p-archive__select:focus {
	border: max(1px, 1 * var(--lq2)) solid #242424;
	box-shadow: none;
	outline: none;
}

.p-archive__feed {
	margin-top: calc(32 * var(--lq1));
}

.p-archive__btn {
	text-align: center;
	margin-top: calc(50 * var(--lq1));
}

.p-contact-list__item {
	font-size: calc(13 * var(--lq2));
	line-height: 1.3846153846;
}

.p-contact-list__item + .p-contact-list__item {
	margin-top: calc(3 * var(--lq1));
}

.p-contact-list__term {
	color: #000;
	font-weight: 700;
}

.p-contact-list__term:has(> wbr) {
	word-break: keep-all;
}

.p-faculty {
	background-color: #EFFAFA;
	padding-top: calc(40 * var(--lq1));
	padding-bottom: calc(120 * var(--lq1));
}

.p-faculty__title {
	color: #419695;
	font-size: calc(20 * var(--lq2));
	font-weight: 700;
	padding-left: calc(34 * var(--lq2));
	margin-bottom: calc(20 * var(--lq1));
	position: relative;
}

.p-faculty__title::before {
	content: "";
	width: calc(28 * var(--lq2));
	height: calc(17 * var(--lq2));
	background: url(../img/common/faculty-icon1.svg) no-repeat center/contain;
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
}

.p-faculty__item + .p-faculty__item {
	margin-top: calc(20 * var(--lq1));
}

.p-faculty__term {
	font-size: calc(12 * var(--lq2));
	line-height: 1.75;
	font-weight: 700;
}

.p-faculty__desc {
	display: grid;
	justify-items: start;
	grid-gap: calc(6 * var(--lq1));
	gap: calc(6 * var(--lq1));
	margin-top: calc(6 * var(--lq1));
}

.p-faculty__desc a {
	font-size: calc(12 * var(--lq2));
	line-height: 1.3333333333;
	display: block;
	border-bottom: max(1px, 1 * var(--lq2)) solid #777777;
}

.p-footer {
	margin-left: calc(-40 * var(--lq1));
	margin-right: calc(-55 * var(--lq1));
}

.p-footer__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: calc(17 * var(--lq1));
}

.p-footer__meta {
	flex-shrink: 0;
	text-align: right;
}

.p-footer__sns {
	margin-right: calc(-10 * var(--lq1));
}

.p-footer__logo {
	width: calc(200 * var(--lq2));
	margin-top: calc(5 * var(--lq1));
	margin-left: auto;
}

.p-footer__copy {
	color: #000;
	font-size: calc(12 * var(--lq2));
	display: block;
	margin-top: calc(10 * var(--lq1));
}

.p-footer__bg {
	width: calc(138 * var(--lq1));
	position: absolute;
	bottom: calc(-24 * var(--lq1));
	left: 50%;
	translate: -50% 0;
	z-index: -1;
}

.p-footer__sp-banner {
	display: none;
}

.p-footer__icons {
	display: grid;
	grid-template-columns: repeat(4, calc(80 * var(--lq2)));
	grid-gap: calc(15 * var(--lq1));
	gap: calc(15 * var(--lq1));
	justify-content: center;
}

.p-footer__icon {
	text-align: center;
}

.p-footer__icon--text-left {
	text-align: left;
}

.p-footer__icon a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(2 * var(--lq1));
	padding-top: calc(5 * var(--lq1));
}

.p-footer__icon img {
	width: min(100%, 31 * var(--lq2));
}

.p-footer__icon span {
	display: block;
	color: #419695;
	font-size: calc(10 * var(--lq2));
	line-height: 1.4;
	font-weight: 700;
}

.p-footer__icon--text-left span {
	margin-right: -0.9em;
}

.p-header {
	padding-top: calc(130 * var(--lq1));
}

.p-header__title {
	text-align: center;
}

.p-header__title a {
	display: inline-block;
}

.p-header__title-main,
.p-header__title-sub {
	display: block;
}

.p-header__title-main {
	color: #000;
	font-size: calc(56 * var(--lq2));
	letter-spacing: 0.04em;
	font-weight: 700;
}

.p-header__title-sub {
	color: #000;
	font-size: calc(24 * var(--lq2));
	letter-spacing: 0.04em;
	font-weight: 700;
}

.p-header__title-eng {
	width: min(100%, 309 * var(--lq2));
	margin: calc(25 * var(--lq1)) auto 0;
}

.p-header__nav {
	margin-top: calc(70 * var(--lq1));
}

.p-header__nav-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(16 * var(--lq1));
	gap: calc(16 * var(--lq1));
}

.p-header__hamburger {
	display: none;
	width: calc(35 * var(--lq2));
	height: inherit;
	position: relative;
	z-index: 3;
}

.p-header__hamburger::before {
	content: "";
	width: calc(70 * var(--lq2));
	height: inherit;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.p-header__hamburger span {
	width: 100%;
	height: calc(3 * var(--lq2));
	background-color: #419695;
	border-radius: calc(10 * var(--lq2));
	position: absolute;
	left: 0;
	transition: all 0.4s;
}

.p-header__hamburger span:nth-child(1) {
	top: calc(50% - 13.5 * var(--lq1));
}

.p-header__hamburger span:nth-child(2) {
	top: 50%;
	translate: 0 -50%;
}

.p-header__hamburger span:nth-child(3) {
	bottom: calc(50% - 13.5 * var(--lq1));
}

.p-header__hamburger.is-open span {
	background-color: #203812;
}

.p-header__hamburger.is-open span:nth-child(1) {
	top: 50%;
	translate: 0 -50%;
	rotate: 35deg;
}

.p-header__hamburger.is-open span:nth-child(2) {
	background-color: transparent;
}

.p-header__hamburger.is-open span:nth-child(3) {
	bottom: 50%;
	translate: 0 50%;
	rotate: -35deg;
}

.p-header__drawer {
	display: none;
	width: 60%;
	background-color: #fff;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2;
	translate: 100% 0;
	transition: translate 0.4s;
}

.p-header__drawer.is-open {
	translate: 0 0;
}

.p-header__drawer-title {
	padding: calc(20 * var(--lq1)) 0 calc(52 * var(--lq1)) calc(30 * var(--lq1));
	position: relative;
	overflow: hidden;
}

.p-header__drawer-title a {
	display: inline-grid;
	grid-template-columns: auto auto;
	align-items: end;
	gap: calc(10 * var(--lq1));
}

.p-header__drawer-title-main,
.p-header__drawer-title-sub {
	display: block;
}

.p-header__drawer-title-main {
	color: #000;
	font-size: calc(24 * var(--lq2));
	letter-spacing: 0.04em;
	line-height: 1;
	font-weight: 700;
}

.p-header__drawer-title-sub {
	color: #000;
	font-size: calc(13 * var(--lq2));
	letter-spacing: 0.04em;
	line-height: 1;
	font-weight: 700;
}

.p-header__drawer-title-eng {
	width: calc(216 * var(--lq2));
	align-self: start;
	grid-column: span 2;
}

.p-header__drawer-bg img {
	position: absolute;
	z-index: -1;
}

.p-header__drawer-bg img:nth-child(1) {
	width: calc(206 * var(--lq2));
	left: calc(-103 * var(--lq1));
	bottom: calc(-10 * var(--lq1));
}

.p-header__drawer-bg img:nth-child(2) {
	width: calc(137 * var(--lq2));
	right: 0;
	bottom: calc(100% - 22 * var(--lq1));
}

.p-header__drawer-bg img:nth-child(3) {
	width: calc(111 * var(--lq2));
	left: calc(-27 * var(--lq1));
	bottom: calc(-84 * var(--lq1));
}

.p-header__drawer-bg img:nth-child(4) {
	width: calc(219 * var(--lq2));
	top: calc(48 * var(--lq1));
	right: calc(-42 * var(--lq1));
}

.p-header__drawer-content {
	height: calc(100dvh - 119.59 * var(--lq1));
	padding-bottom: calc(80 * var(--lq1));
	overflow: scroll;
	overscroll-behavior: none;
	scrollbar-width: none;
}

.p-header__drawer-content::-webkit-scrollbar {
	display: none;
}

.p-header__drawer-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(15 * var(--lq1));
	gap: calc(15 * var(--lq1));
	width: min(100%, 315 * var(--lq2));
	padding: calc(30 * var(--lq1)) 0;
	margin: 0 auto;
}

.p-header__drawer-link a {
	display: block;
}

.p-header__drawer-acf {
	width: min(100%, 315 * var(--lq2));
	padding: calc(30 * var(--lq1)) 0;
	margin: 0 auto;
}

.p-header__drawer-border {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #419695;
}

.p-header__drawer-accordion {
	border-top: 1px solid #419695;
}

.p-header__drawer-accordion:last-child {
	border-bottom: 1px solid #419695;
}

.p-header__accordion-title {
	cursor: pointer;
	font-size: calc(16 * var(--lq2));
	line-height: 1.3125;
	font-weight: 700;
	padding: calc(25 * var(--lq1)) calc(30 * var(--lq1));
	position: relative;
}

.p-header__accordion-title::before,
.p-header__accordion-title::after {
	content: "";
	width: calc(15 * var(--lq1));
	height: calc(2 * var(--lq1));
	background-color: #419695;
	position: absolute;
	right: calc(30 * var(--lq1));
	top: 50%;
	translate: 0 -50%;
}

.p-header__accordion-title::after {
	rotate: -90deg;
	transition: rotate 0.3s;
}

.p-header__accordion-title.is-open::after {
	rotate: 0deg;
}

.p-header__accordion-list {
	display: none;
}

.p-header__accordion-item a {
	font-size: calc(14 * var(--lq2));
	line-height: 1.4285714286;
	display: block;
	padding: calc(12 * var(--lq1)) calc(50 * var(--lq1));
	background-color: #F0F0F0;
	position: relative;
}

.p-header__accordion-item a::after {
	content: "";
	width: calc(12 * var(--lq2));
	height: calc(11 * var(--lq2));
	background: url(../img/common/arrow-icon1.svg) no-repeat center/contain;
	position: absolute;
	right: calc(30 * var(--lq1));
	top: 50%;
	translate: 0 -50%;
}

.p-header__drawer-contact {
	padding: 0 calc(30 * var(--lq1));
	margin-top: calc(40 * var(--lq1));
}

.p-header__drawer-sns {
	text-align: center;
	margin-top: calc(20 * var(--lq1));
}

.p-header__cover {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease;
	width: 100%;
	height: 100dvh;
	background-color: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	left: 0;
}

.p-header__cover.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.p-header__pc-bg1 {
	width: calc(508 * var(--lq1));
	position: absolute;
	top: calc(-94 * var(--lq1));
	right: calc(50% + 52 * var(--lq1));
	z-index: -1;
}

.p-header__pc-bg2 {
	width: calc(732 * var(--lq1));
	position: absolute;
	top: calc(-106 * var(--lq1));
	left: calc(100% - 76 * var(--lq1));
	z-index: -1;
}

.p-info-feed__item + .p-info-feed__item {
	border-top: max(1px, 1 * var(--lq2)) dashed #777777;
}

.p-info-feed__item a {
	display: block;
	padding: calc(18 * var(--lq1)) 0;
}

.p-info-feed__date {
	display: block;
	font-size: calc(14 * var(--lq2));
	line-height: 1.7142857143;
	font-weight: 500;
	font-family: "Inter", sans-serif;
}

.p-info-feed__title {
	font-size: calc(16 * var(--lq2));
	font-weight: 700;
	margin-top: calc(2 * var(--lq1));
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.p-info-feed__btn {
	margin-top: calc(12 * var(--lq2));
}

.p-info-feed__btn a {
	color: #fff;
	background-color: #419695;
	font-size: calc(16 * var(--lq2));
	letter-spacing: 0.05em;
	font-weight: 700;
	display: inline-block;
	width: min(100%, 240 * var(--lq2));
	padding: calc(8 * var(--lq2)) calc(15 * var(--lq2));
	position: relative;
}

.p-info-feed__btn a::after {
	content: "";
	width: calc(12 * var(--lq2));
	height: calc(11 * var(--lq2));
	background: url(../img/common/btn-icon7.svg) no-repeat center/contain;
	position: absolute;
	right: calc(15 * var(--lq1));
	top: 50%;
	translate: 0 -50%;
}

.p-info-feed__none {
	font-size: calc(16 * var(--lq2));
	text-align: center;
	padding-top: calc(18 * var(--lq1));
}

.p-info__feed {
	margin-top: calc(2 * var(--lq1));
}

.p-intro {
	padding-top: calc(65 * var(--lq1));
}

.p-intro__img {
	aspect-ratio: 375/164;
	margin: calc(20 * var(--lq1)) calc(-30 * var(--lq1)) 0;
}

.p-intro__text {
	margin-top: calc(30 * var(--lq1));
}

.p-pick-up {
	padding-top: calc(50 * var(--lq1));
}

.p-pick-up__inner.l-inner {
	padding-left: calc(6 * var(--lq1));
	padding-right: calc(6 * var(--lq1));
}

.p-pick-up__head {
	background-color: #203812;
	padding: calc(36 * var(--lq1)) calc(15 * var(--lq1)) calc(29 * var(--lq1)) calc(31 * var(--lq1));
	border-top-left-radius: calc(50 * var(--lq2));
	border-top-right-radius: calc(50 * var(--lq2));
}

.p-pick-up__head img {
	width: min(100%, 84 * var(--lq2));
}

.p-pick-up__title {
	color: #fff;
	margin-top: calc(5 * var(--lq1));
}

.p-pick-up__content {
	background-color: #F0F0F0;
	padding: calc(25 * var(--lq1)) calc(31 * var(--lq1)) calc(50 * var(--lq1));
	border-bottom-left-radius: calc(50 * var(--lq2));
	border-bottom-right-radius: calc(50 * var(--lq2));
}

.p-pick-up__item a {
	display: block;
	background-color: #fff;
	border-radius: calc(10 * var(--lq2));
	overflow: hidden;
}

.p-pick-up__item-img {
	width: 100%;
	aspect-ratio: 280/150;
}

.p-pick-up__item-body {
	padding: calc(20 * var(--lq1)) calc(20 * var(--lq1)) calc(30 * var(--lq1));
}

.p-pick-up__item-title {
	color: #419695;
	font-size: calc(18 * var(--lq2));
	line-height: 1.3333333333;
	font-weight: 700;
}

.p-pick-up__item-text {
	font-size: calc(14 * var(--lq2));
	font-weight: 700;
	margin-top: calc(8 * var(--lq2));
}

.p-promo__inner {
	padding: 0 calc(24 * var(--lq1));
}

.p-single {
	padding-top: calc(65 * var(--lq1));
	padding-bottom: calc(200 * var(--lq1));
}

.p-single.p-single--exam {
	padding-bottom: 0;
}

.p-single__date {
	font-size: calc(16 * var(--lq2));
	font-weight: 500;
	font-family: "Inter", sans-serif;
	display: block;
	margin-top: calc(50 * var(--lq1));
}

.p-single__sub-title {
	line-height: 1.5;
	padding-bottom: calc(15 * var(--lq1));
	margin-top: calc(15 * var(--lq1));
}

.p-single__content p {
	font-size: calc(16 * var(--lq2));
	margin-top: calc(20 * var(--lq1));
}

.p-single__content .has-small-font-size {
	--wp--preset--font-size--small: calc(14 * var(--lq2));
	margin-top: calc(15 * var(--lq1));
}

.p-single__content .has-medium-font-size {
	--wp--preset--font-size--medium: calc(18 * var(--lq2));
}

.p-single__content .wp-block-buttons {
	margin-top: calc(30 * var(--lq1));
}

.p-single__content .wp-block-buttons + p {
	margin-top: calc(30 * var(--lq1));
}

.p-single__content .wp-block-button__link {
	color: #203812;
	background-color: transparent;
	font-size: calc(12 * var(--lq2));
	line-height: 1.3333333333;
	letter-spacing: 0.05em;
	font-weight: 700;
	text-align: left;
	display: inline-block;
	width: auto;
	height: auto;
	padding: calc(7 * var(--lq2)) calc(35 * var(--lq2)) calc(7 * var(--lq2)) calc(15 * var(--lq2));
	border: max(1px, 1 * var(--lq2)) solid #203812;
	border-radius: 0;
	position: relative;
}

.p-single__content .wp-block-button__link::after {
	content: "";
	background: no-repeat center/contain;
	position: absolute;
	right: calc(15 * var(--lq2));
	top: 50%;
	translate: 0 -50%;
}

.p-single__content .wp-block-button__link.mod-int::after {
	width: calc(12 * var(--lq2));
	height: calc(11 * var(--lq2));
	background-image: url(../img/common/btn-icon1.svg);
}

.p-single__content .wp-block-button__link.mod-ext {
	padding-right: calc(43 * var(--lq2));
}

.p-single__content .wp-block-button__link.mod-ext::after {
	width: calc(18 * var(--lq2));
	height: calc(18 * var(--lq2));
	background-image: url(../img/common/btn-icon5.svg);
}

.p-single__content .wp-block-button__link.mod-pdf {
	padding-right: calc(43 * var(--lq2));
}

.p-single__content .wp-block-button__link.mod-pdf::after {
	width: calc(21 * var(--lq2));
	height: calc(21 * var(--lq2));
	background-image: url(../img/common/btn-icon6.svg);
}

.p-single__btn-one {
	text-align: center;
	margin-top: calc(50 * var(--lq1));
}

.p-single__btn-two {
	text-align: center;
	margin-top: calc(25 * var(--lq1));
}

.p-sns-list {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}

.p-sns-list__item a {
	display: block;
	padding: calc(10 * var(--lq1));
}

.p-sns-list__item img {
	-o-object-fit: contain;
	object-fit: contain;
}

.p-strength {
	color: #fff;
	background-color: #419695;
	padding: calc(50 * var(--lq1)) 0;
}

.p-strength__head img {
	width: min(100%, 148 * var(--lq2));
}

.p-strength__title {
	margin-top: calc(5 * var(--lq1));
}

.p-strength__text {
	margin-top: calc(30 * var(--lq1));
}

.p-strength__list {
	margin-top: calc(30 * var(--lq1));
}

.p-strength__item + .p-strength__item {
	margin-top: calc(10 * var(--lq1));
}

.p-strength__item a {
	color: #419695;
	background-color: #fff;
	font-size: calc(16 * var(--lq2));
	letter-spacing: 0.05em;
	font-weight: 700;
	display: block;
	padding: calc(15 * var(--lq1));
	border-radius: calc(10 * var(--lq2));
	position: relative;
}

.p-strength__item a::after {
	content: "";
	width: calc(12 * var(--lq2));
	height: calc(11 * var(--lq2));
	background: url(../img/common/btn-icon2.svg) no-repeat center/contain;
	position: absolute;
	right: calc(15 * var(--lq1));
	top: 50%;
	translate: 0 -50%;
}

.u-md-show {
	display: none;
}

*:has(> wbr.u-md-none) {
	word-break: keep-all;
}

.u-sm-show {
	display: none;
}

*:has(> wbr.u-sm-none) {
	word-break: keep-all;
}

@media (any-hover: hover) and (orientation: landscape) {

a:hover {
	opacity: 0.8;
}

.l-page__to-top:hover {
	opacity: 0.8;
}

}

@media (min-width: 768px) and (max-width: 899px) and (min-height: 800px) {

.l-page {
	background: url(../img/common/bg-pc2.svg) no-repeat left calc(50% + 10 * var(--lq2)) top calc(500 * var(--lq2))/calc(1521 * var(--lq2)) auto;
}

}

@media (min-width: 900px) and (max-width: 969px) and (min-height: 700px) {

.l-page {
	background: url(../img/common/bg-pc3.svg) no-repeat left calc(50% + 10 * var(--lq2)) top calc(460 * var(--lq2))/calc(1521 * var(--lq2)) auto;
}

}

@media (min-width: 970px) and (max-width: 1279px) and (min-height: 780px) {

.l-page {
	background: url(../img/common/bg-pc3.svg) no-repeat left calc(50% + 10 * var(--lq2)) top calc(480 * var(--lq2))/calc(1521 * var(--lq2)) auto;
}

}

@media (min-width: 1280px) and (min-height: 850px) {

.l-page {
	background: url(../img/common/bg-pc3.svg) no-repeat left calc(50% - 20 * var(--lq2)) top calc(530 * var(--lq2))/calc(1521 * var(--lq2)) auto;
}

}

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

.l-page__inner {
	-moz-column-gap: calc(80 * var(--lq1));
	column-gap: calc(80 * var(--lq1));
	width: min(100%, 1296 * var(--lq2));
	padding-left: calc(70 * var(--lq1));
	padding-right: calc(70 * var(--lq1));
}

.l-page__scroll {
	right: calc(-50 * var(--lq2));
}

.p-footer {
	margin-right: calc(-40 * var(--lq1));
}

.p-footer__bg {
	display: none;
}

.p-header__pc-bg1 {
	top: calc(-110 * var(--lq1));
	right: calc(50% - 30 * var(--lq1));
}

.p-header__pc-bg2 {
	left: calc(100% - 90 * var(--lq1));
}

}

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

.l-page__content {
	background-position: left calc(28 * var(--lq2)) top calc(25 * var(--lq2));
}

}

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

.l-page__inner {
	-moz-column-gap: calc(60 * var(--lq1));
	column-gap: calc(60 * var(--lq1));
}

.l-page__main {
	grid-row: auto;
}

.l-page__content {
	background-position: left calc(20 * var(--lq2)) top calc(25 * var(--lq2));
}

.l-page__scroll {
	right: calc(-46 * var(--lq2));
}

.l-page__footer {
	grid-column: span 2;
}

.p-footer {
	margin-left: calc(-25 * var(--lq1));
	margin-right: calc(-25 * var(--lq1));
}

.p-footer__bg {
	display: block;
	bottom: calc(-50 * var(--lq1));
	left: calc(390 * var(--lq2));
}

.p-header__nav-list {
	grid-template-columns: auto;
	width: min(100%, 270 * var(--lq2));
	margin: 0 auto;
}

.p-header__pc-bg1 {
	right: calc(50% - 70 * var(--lq1));
}

.p-header__pc-bg2 {
	top: calc(-90 * var(--lq1));
	left: calc(100% - 50 * var(--lq1));
}

}

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

:root {
	--lq1: min(100vw / var(--sp-base), 1px * var(--sp-max-scale));
	--lq2: min(100vw / var(--sp-base), 1px * var(--sp-max-scale));
}

.l-inner {
	padding-left: calc(35 * var(--lq1));
	padding-right: calc(35 * var(--lq1));
}

.l-page {
	overflow: hidden;
	overflow: clip;
}

.l-page__inner {
	grid-template: auto 1fr auto/auto;
	-moz-column-gap: 0;
	column-gap: 0;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.l-page__header {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 10;
}

.l-page__main {
	height: auto;
	border: none;
	border-radius: 0;
	margin-top: 0;
}

.l-page__content {
	--lq1: min(100vw / var(--sp-base), 1px * var(--sp-max-scale));
	--lq2: min(100vw / var(--sp-base), 1px * var(--sp-max-scale));
}

.l-page__content {
	background-position: left calc(36 * var(--lq2)) top calc(27 * var(--lq2));
	border-radius: 0;
}

.l-page__wrap {
	position: relative;
	z-index: 1;
}

.l-page__sp-bg {
	display: block;
}

.l-page__scroll {
	display: none;
}

.l-page__to-top {
	border-radius: 0;
	position: fixed;
	right: 0;
	bottom: calc(100 * var(--lq2));
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.3s;
}

.l-page__footer {
	grid-column: auto;
	margin-top: 0;
}

.p-archive {
	padding-top: calc(36 * var(--lq1));
	padding-bottom: calc(50 * var(--lq1));
}

.p-faculty {
	padding-bottom: calc(100 * var(--lq1));
}

.p-footer {
	background-color: #EFFAFA;
	margin-left: 0;
	margin-right: 0;
}

.p-footer__inner {
	width: 100%;
	height: inherit;
	padding: 0 calc(30 * var(--lq1));
	margin: 0 auto;
}

.p-footer__content {
	flex-direction: column;
	padding-top: calc(50 * var(--lq1));
	padding-bottom: calc(180 * var(--lq1));
	border-top: max(1px, 1 * var(--lq2)) solid #419695;
}

.p-footer__content--bd0 {
	border: none;
}

.p-footer__list {
	align-self: flex-start;
}

.p-footer__meta {
	text-align: center;
	margin-top: calc(20 * var(--lq1));
}

.p-footer__sns {
	margin-right: 0;
}

.p-footer__logo {
	width: calc(220 * var(--lq2));
	padding-right: calc(5 * var(--lq1));
	margin: calc(15 * var(--lq1)) auto 0;
}

.p-footer__copy {
	line-height: 1.3333333333;
	margin-top: calc(20 * var(--lq1));
}

.p-footer__bg {
	display: none;
}

.p-footer__sp-banner {
	display: block;
	width: 100%;
	padding: calc(8 * var(--lq1)) 0;
	background-color: #F0F0F0;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 5;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.3s;
}

.p-footer__sp-banner.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.p-header {
	width: 100%;
	height: calc(80 * var(--lq2));
	padding-top: 0;
	background-color: #fff;
	transition: translate 0.6s;
}

.p-header.is-hide:not(:has(.is-open)) {
	translate: 0 -100%;
}

.p-header__inner {
	width: 100%;
	height: inherit;
	padding: 0 calc(20 * var(--lq1));
	margin: 0 auto;
}

.p-header__content {
	height: inherit;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-header__title {
	height: inherit;
	text-align: left;
}

.p-header__title a {
	height: inherit;
	display: grid;
	grid-template-columns: auto auto;
	align-items: end;
	grid-gap: calc(10 * var(--lq1));
	gap: calc(10 * var(--lq1));
}

.p-header__title-main {
	font-size: calc(20 * var(--lq2));
	line-height: 1;
}

.p-header__title-sub {
	font-size: calc(13 * var(--lq2));
	line-height: 1;
}

.p-header__title-eng {
	width: calc(201 * var(--lq2));
	align-self: start;
	grid-column: span 2;
	margin: 0;
}

.p-header__nav {
	display: none;
}

.p-header__hamburger {
	display: block;
}

.p-header__drawer {
	display: block;
}

.p-header__pc-bg1 {
	display: none;
}

.p-header__pc-bg2 {
	display: none;
}

.p-intro {
	padding-top: calc(36 * var(--lq1));
}

.p-intro__img {
	margin: calc(20 * var(--lq1)) calc(-35 * var(--lq1)) 0;
}

.p-promo__inner {
	padding: 0 calc(30 * var(--lq1));
}

.p-single {
	padding-top: calc(36 * var(--lq1));
	padding-bottom: calc(50 * var(--lq1));
}

.u-md-show {
	display: block;
}

br.u-md-show,
wbr.u-md-show {
	display: inline;
}

*:has(> wbr.u-md-show) {
	word-break: keep-all;
}

.u-md-none {
	display: none;
}

*:has(> wbr.u-md-none) {
	word-break: normal;
}

}

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

.p-contact-list__term wbr {
	display: none;
}

.p-header__drawer {
	width: 100%;
}

.u-sm-show {
	display: block;
}

br.u-sm-show,
wbr.u-sm-show {
	display: inline;
}

*:has(> wbr.u-sm-show) {
	word-break: keep-all;
}

.u-sm-none {
	display: none;
}

*:has(> wbr.u-sm-none) {
	word-break: normal;
}

}

