@charset "UTF-8";
/*!
 * ress.css v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Libre+Baskerville&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden], template {
  display: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
  outline-width: 0;
}

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

b, strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

input {
  border-radius: 0;
}

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

[disabled] {
  cursor: default;
}

[type=number] {
  width: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, select {
  text-transform: none;
}

button, input, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
} /*select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}*/
legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio, canvas, progress, video {
  display: inline-block;
}

@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

html {
  --clr-main: #3c2d78;
  --clr-txt: #444;
  --clr-black: #000;
  --clr-red: #cc0000;
  --clr-paleblue: #E2EEF4;
  --clr-white: #fff;
  --clr-cream: #fffeeb;
  --clr-orange: #ffae00;
  --clr-red: #cc0000;
  --clr-purple: #f0eff4;
  --clr-ohzora: #00A3E9;
  --clr-bd: #ddd;
  --clr-yellow: #f6ff00;
  --clr-counseling: #FF6666;
  --clr-opencampus: #339933;
  --clr-request: #6666CC;
  scroll-behavior: smooth;
}

body {
  line-height: 2;
  background: var(--clr-white);
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  color: var(--clr-txt);
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

a {
  color: var(--clr-main);
}
a:hover {
  text-decoration: none;
}

@counter-style circled {
  system: fixed;
  symbols: ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩;
  suffix: " ";
}
.icn-ig {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  text-decoration: none;
  white-space: nowrap;
  aspect-ratio: 1/1;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M295.42%2C6c-53.2%2C2.51-89.53%2C11-121.29%2C23.48-32.87%2C12.81-60.73%2C30-88.45%2C57.82S40.89%2C143%2C28.17%2C175.92c-12.31%2C31.83-20.65%2C68.19-23%2C121.42S2.3%2C367.68%2C2.56%2C503.46%2C3.42%2C656.26%2C6%2C709.6c2.54%2C53.19%2C11%2C89.51%2C23.48%2C121.28%2C12.83%2C32.87%2C30%2C60.72%2C57.83%2C88.45S143%2C964.09%2C176%2C976.83c31.8%2C12.29%2C68.17%2C20.67%2C121.39%2C23s70.35%2C2.87%2C206.09%2C2.61%2C152.83-.86%2C206.16-3.39S799.1%2C988%2C830.88%2C975.58c32.87-12.86%2C60.74-30%2C88.45-57.84S964.1%2C862%2C976.81%2C829.06c12.32-31.8%2C20.69-68.17%2C23-121.35%2C2.33-53.37%2C2.88-70.41%2C2.62-206.17s-.87-152.78-3.4-206.1-11-89.53-23.47-121.32c-12.85-32.87-30-60.7-57.82-88.45S862%2C40.87%2C829.07%2C28.19c-31.82-12.31-68.17-20.7-121.39-23S637.33%2C2.3%2C501.54%2C2.56%2C348.75%2C3.4%2C295.42%2C6m5.84%2C903.88c-48.75-2.12-75.22-10.22-92.86-17-23.36-9-40-19.88-57.58-37.29s-28.38-34.11-37.5-57.42c-6.85-17.64-15.1-44.08-17.38-92.83-2.48-52.69-3-68.51-3.29-202s.22-149.29%2C2.53-202c2.08-48.71%2C10.23-75.21%2C17-92.84%2C9-23.39%2C19.84-40%2C37.29-57.57s34.1-28.39%2C57.43-37.51c17.62-6.88%2C44.06-15.06%2C92.79-17.38%2C52.73-2.5%2C68.53-3%2C202-3.29s149.31.21%2C202.06%2C2.53c48.71%2C2.12%2C75.22%2C10.19%2C92.83%2C17%2C23.37%2C9%2C40%2C19.81%2C57.57%2C37.29s28.4%2C34.07%2C37.52%2C57.45c6.89%2C17.57%2C15.07%2C44%2C17.37%2C92.76%2C2.51%2C52.73%2C3.08%2C68.54%2C3.32%2C202s-.23%2C149.31-2.54%2C202c-2.13%2C48.75-10.21%2C75.23-17%2C92.89-9%2C23.35-19.85%2C40-37.31%2C57.56s-34.09%2C28.38-57.43%2C37.5c-17.6%2C6.87-44.07%2C15.07-92.76%2C17.39-52.73%2C2.48-68.53%2C3-202.05%2C3.29s-149.27-.25-202-2.53m407.6-674.61a60%2C60%2C0%2C1%2C0%2C59.88-60.1%2C60%2C60%2C0%2C0%2C0-59.88%2C60.1M245.77%2C503c.28%2C141.8%2C115.44%2C256.49%2C257.21%2C256.22S759.52%2C643.8%2C759.25%2C502%2C643.79%2C245.48%2C502%2C245.76%2C245.5%2C361.22%2C245.77%2C503m90.06-.18a166.67%2C166.67%2C0%2C1%2C1%2C167%2C166.34%2C166.65%2C166.65%2C0%2C0%2C1-167-166.34%22%20transform%3D%22translate%28-2.5%20-2.5%29%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom;
}

.icn-arrow-right {
  content: "";
  display: inline-block;
  height: 14px;
  aspect-ratio: 97/128;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
}

.icn-arrow-bottom {
  content: "";
  display: inline-block;
  height: 14px;
  aspect-ratio: 97/128;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
  transform: rotate(90deg);
}

.talk {
  display: inline-flex;
}
.talk::before {
  content: "";
  aspect-ratio: 16/26;
  display: inline-block;
  aspect-ratio: 16/26;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2026%22%3E%3Cline%20x1%3D%221.5%22%20y1%3D%221.5%22%20x2%3D%2214.5%22%20y2%3D%2224.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  margin-right: 8px;
}
.talk::after {
  content: "";
  aspect-ratio: 16/26;
  display: inline-block;
  aspect-ratio: 16/26;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2026%22%3E%3Cline%20x1%3D%221.5%22%20y1%3D%221.5%22%20x2%3D%2214.5%22%20y2%3D%2224.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  transform: scale(-1, 1);
  margin-right: 8px;
}

.logo-navi {
  height: 100%;
  fill: var(--clr-ohzora);
}

a:has(.logo-navi) {
  display: block;
  aspect-ratio: 271/67;
  font-size: 10px;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  text-align: center;
  transition: 0.5s;
}
.btn:hover {
  cursor: pointer;
}
.btn--opencampus {
  border-radius: 9999px;
  background: var(--clr-opencampus);
  color: var(--clr-white);
}
.btn--opencampus:hover {
  filter: brightness(120%);
}
.btn--counseling {
  border-radius: 9999px;
  background: var(--clr-counseling);
  color: var(--clr-white);
}
.btn--counseling:hover {
  filter: brightness(120%);
}
.btn--request {
  border-radius: 9999px;
  background: var(--clr-request);
  color: var(--clr-white);
}
.btn--request:hover {
  filter: brightness(120%);
}
.btn--entry {
  border-radius: 9999px;
  border: 2px solid var(--clr-main);
  background: var(--clr-white);
  color: var(--clr-main);
  font-weight: bold;
  transition: 0.8s;
}
.btn--entry .icn-arrow-right {
  aspect-ratio: 97/128;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%233c2d78%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
}
.btn--entry:hover {
  filter: brightness(150%);
}
.btn--readmore {
  width: 200px;
  height: 46px;
  gap: 10px;
  border: 2px solid var(--clr-main);
  border-radius: 9999px;
  background: var(--clr-white);
  color: var(--clr-main);
}
.btn--readmore .icn-arrow-bottom {
  aspect-ratio: 97/128;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%233c2d78%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
}
.btn--readmore:hover {
  filter: brightness(150%);
}

.align-center .btn {
  margin-right: auto;
  margin-left: auto;
}

.hdr--lv1 {
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}
.hdr--lv2 {
  line-height: 1.4;
  color: var(--clr-main);
  font-weight: bold;
}
.hdr--has-circle {
  display: flex;
  gap: 0.25em;
  align-items: flex-start;
  color: var(--clr-main);
}
.hdr--has-circle::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  padding-left: 0.5em;
  background: var(--clr-main);
  border-radius: 9999px;
  font-weight: bold;
}

.list:not(:first-child) {
  margin-top: 1em;
}
.list--disc {
  list-style: disc;
  padding-left: 1.5em;
}
.list--num {
  list-style: decimal;
}
.list--circle_num {
  list-style: circled;
  padding-left: 1.5em;
}
.list--kome {
  list-style-type: "※";
  padding-left: 1em;
}
.list--disc_large {
  list-style-type: "● ";
  padding-left: 1.5em;
}
.list--disc_large li::before {
  padding-right: 0.5em;
}
.list--disc_large + .list {
  margin-top: 1em;
}

.img-wrapper {
  line-height: 1;
}
.img-wrapper img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.wd-m {
  width: 92%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.wd-s {
  width: 100%;
  max-width: 840px;
  margin-right: auto;
  margin-left: auto;
}

.wd-l {
  width: 92%;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}

@media (orientation: landscape) and (width < 1120px) {
  .wd-l {
    padding-left: 12px;
    padding-right: 12px;
  }
}
.wd-wide {
  width: 92%;
  max-width: 1350px;
  margin-right: auto;
  margin-left: auto;
}

.wd-full {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.p-wd-1352 {
  width: 100%;
  max-width: 1352px;
  margin-right: auto;
  margin-left: auto;
}

.section-pd {
  padding-top: min(130px, 13.3333333333vw);
  padding-bottom: min(130px, 13.3333333333vw);
}

.bg-white + .bg-white > .section-pd,
.bg-white + .bg-def > .section-pd,
.bg-def + .bg-white > .section-pd,
.bg-def + .bg-def > .section-pd {
  padding-top: 0;
}

.bg-white,
.bg-def {
  background: var(--clr-white);
}

.bg-cream {
  background: var(--clr-cream);
}

.bg-purple {
  background: var(--clr-purple);
}

.position-r {
  position: relative;
}

.position-a {
  position: absolute;
}

.fadein-up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}

.fadein-up.on {
  transform: translateY(0);
  opacity: 1;
}

.access {
  display: grid;
}
.access ul {
  list-style: none;
}
.access__campus {
  grid-area: campus;
}
.access__classroom {
  grid-area: classroom;
}
.access__map {
  grid-area: map;
}
.access__map .img-wrapper {
  border: 1px solid var(--clr-bd);
}
.access .campus__item {
  border-bottom: 1px solid var(--clr-bd);
}
.access .campus__name {
  display: flex;
  align-items: center;
  color: var(--clr-main);
}
.access .campus__name .pref {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--clr-main);
  color: var(--clr-white);
}
.access .classroom__item {
  border-bottom: 1px solid var(--clr-bd);
}
.access .classroom__name {
  color: var(--clr-main);
}

.read-more-area {
  height: -moz-max-content;
  height: max-content;
  max-height: 300em;
  transition: 800ms max-height ease;
}

.read-more-switch {
  display: none;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding-top: 3em;
  background: linear-gradient(to bottom, rgba(0, 163, 233, 0) 0%, var(--clr-cream) 100%);
}

.js-read-more {
  position: relative;
}
.js-read-more .read-more-area {
  overflow-y: hidden;
}
.js-read-more .read-more-switch {
  display: block;
}

.site-actions ul {
  list-style: none;
}
.site-actions a:not(.btn) {
  color: inherit;
  text-decoration: none;
}

.cta {
  --clr-red: #f00;
  border: 8px solid var(--clr-main);
}
.cta.flex {
  align-items: center;
  justify-content: center;
}
.cta__inner {
  text-align: center;
}
.cta__list {
  list-style: none;
}
.cta .btn {
  position: relative;
}
.cta .btn .icn-arrow-right {
  position: absolute;
  right: 30px;
}
.cta .btn .icn-arrow-bottom {
  position: absolute;
  right: 30px;
  aspect-ratio: 97/128;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23339933%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
  transform: rotate(90deg);
}
.cta .btn--opencampus {
  color: var(--clr-white);
  background: var(--clr-opencampus);
}
.cta .talk {
  font-weight: bold;
}
.cta .talk--new {
  color: var(--clr-red);
}

.frame-box {
  position: relative;
  border: 4px solid #000;
}
.frame-box--main {
  border-color: var(--clr-main);
}
.frame-box__title {
  position: absolute;
  left: 50%;
  padding-right: 0.25em;
  padding-left: 0.25em;
  background-color: var(--clr-white);
}

.qa__q {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: min(20px, 2.6666666667vw);
  line-height: 1.2;
  border: 4px solid var(--clr-white);
  border-radius: 9999px;
  background: var(--clr-white);
  color: var(--clr-main);
  font-weight: bold;
}
.qa__q::before {
  display: flex;
  align-items: center;
  justify-content: center;
  content: "Q";
  aspect-ratio: 1/1;
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: min(46px, 9.3333333333vw);
  border-radius: 9999px;
  background-color: var(--clr-main);
  color: var(--clr-white);
  text-align: center;
}

.opencampus__inner {
  background: var(--clr-white);
}
.opencampus__campus-name {
  color: var(--clr-main);
  font-weight: bold;
}
.opencampus__campus-name .pref {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--clr-main);
  color: var(--clr-white);
  border-radius: 9999px;
  font-weight: bold;
}
.opencampus__list {
  list-style: none;
}
.opencampus__item {
  border-bottom: 1px solid var(--clr-bd);
}
.opencampus .event-card__meta p + p {
  margin-top: 0;
}
.opencampus .event-card__meta-target .target {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: var(--clr-main);
  border-radius: 9999px;
  color: var(--clr-white);
}
.opencampus .event-card__meta-category .category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 9999px;
  background: var(--clr-orange);
  color: var(--clr-white);
}
.opencampus .event-card__meta-date {
  color: var(--clr-black);
}
.opencampus .event-card__title {
  color: var(--clr-main);
  font-weight: bold;
}

.tbl-basic {
  table-layout: fixed;
  border-collapse: collapse;
}
.tbl-basic th {
  border: 1px solid #666;
  background: #ebeaf1;
}
.tbl-basic td {
  border: 1px solid #666;
  background: var(--clr-white);
}

#header {
  line-height: 1;
  border-bottom: 1px solid var(--clr-bd);
}

.page-header__title {
  border-top: 1px solid var(--clr-bd);
  background: linear-gradient(140deg, rgba(255, 246, 0, 0.06) 0%, rgba(39, 39, 213, 0.06) 100%);
  color: var(--clr-main);
  font-weight: bold;
  text-align: center;
}

.breadcrumbs {
  line-height: 1;
}
.breadcrumbs__list {
  list-style: none;
  display: flex;
  align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "/";
  display: inline-block;
}
.breadcrumbs a {
  text-decoration: none;
}
.breadcrumbs__current {
  color: var(--clr-main);
}

.page-header__title {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#footer {
  line-height: 1;
  border-top: 1px solid var(--clr-bd);
}
#footer a {
  color: inherit;
  text-decoration: none;
}
#footer ul {
  list-style: none;
}
#footer ul li {
  display: inline-block;
}
#footer .logo-navi {
  height: 100%;
  fill: var(--clr-ohzora);
}
#footer a:has(.logo-navi) {
  display: block;
  aspect-ratio: 271/67;
  height: min(60px, 10.6666666667vw);
  font-size: 10px;
}
#footer .footer__copyright {
  text-align: center;
}

.block {
  display: block !important;
}

.inline {
  display: inline !important;
}

.iblock {
  display: inline-block !important;
}

.flex {
  display: flex !important;
}

.iflex {
  display: inline-flex !important;
}

.none {
  display: none !important;
}

.grid {
  display: grid !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.ml-55 {
  margin-left: 55px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.ml-65 {
  margin-left: 65px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.ml-75 {
  margin-left: 75px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.ml-85 {
  margin-left: 85px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.ml-95 {
  margin-left: 95px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.flex-reverse {
  flex-direction: row-reverse;
}

.flex-between {
  justify-content: space-between;
}

.flex-center {
  justify-content: center;
}

.flex-vcenter {
  align-items: center;
}

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.font-bold {
  font-weight: bold;
}

.font-main {
  color: var(--clr-main);
}

.font-orange {
  color: var(--clr-orange);
}

.font-red {
  color: var(--clr-red);
}

@media screen and (max-width: 1119.98px) {
  body {
    line-height: 1.6;
    font-size: 4vw;
  }
  p + p {
    margin-top: 2em;
  }
  .logo-navi-name {
    width: 41.3333333333vw;
  }
  .talk::before {
    width: 2.1333333333vw;
    margin-right: 1.0666666667vw;
  }
  .talk::after {
    width: 2.1333333333vw;
    margin-left: 1.0666666667vw;
  }
  .hdr--lv1 {
    line-height: 1.5;
    font-size: 6.4vw;
  }
  .hdr--lv1 + * {
    margin-top: 9.3333333333vw;
  }
  .hdr--lv2 {
    font-size: 4.8vw;
  }
  .hdr--lv2:not(:first-child) {
    margin-top: 13.3333333333vw;
  }
  .hdr--lv2 + p {
    margin-top: 6.6666666667vw;
  }
  .hdr--has-circle {
    line-height: 1.4;
    margin-top: 9.3333333333vw;
    font-size: 4.8vw;
  }
  .hdr--has-circle:not(:first-child) {
    margin-top: 9.3333333333vw;
  }
  .hdr--has-circle::before {
    margin-top: 0.25em;
  }
  .hdr--has-circle + * {
    margin-top: 4vw;
  }
  .has-scroll {
    -webkit-overflow-scrolling: touch;
  }
  .has-scroll::-webkit-scrollbar {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
  }
  .has-scroll::-webkit-scrollbar-thumb {
    background-color: var(--clr-main);
    border-radius: 9999px;
  }
  .has-scroll::-webkit-scrollbar-track {
    background-color: var(--clr-bd);
    border-radius: 9999px;
  }
  .has-scroll--x {
    width: 100%;
    overflow-x: scroll;
    padding-bottom: 20px;
  }
  .has-scroll--x img {
    width: auto;
  }
  .has-scroll--y {
    overflow-y: scroll;
    padding-right: 20px;
  }
  .wd-m {
    width: auto;
    margin-right: 4%;
    margin-left: 4%;
  }
  .s-wd-l {
    width: 95.73%;
  }
  .s-wd-full {
    width: 100%;
  }
  .access__area {
    margin-top: 13.3333333333vw;
  }
  .access__area .grid {
    grid-template-areas: "campus" "map" "classroom";
  }
  .access__map {
    margin-top: 5.3333333333vw;
  }
  .access .campus__item {
    margin-top: 5.3333333333vw;
    padding-bottom: 4vw;
  }
  .access .campus__item:first-child {
    margin-top: 0;
  }
  .access .campus__name {
    gap: 2.6666666667vw;
    font-size: 5.3333333333vw;
  }
  .access .campus__name .pref {
    width: 18.6666666667vw;
    height: 6.4vw;
    line-height: 1;
    font-size: 3.2vw;
  }
  .access .campus__address {
    font-size: 4.2666666667vw;
  }
  .access .campus__route {
    margin-top: 0.5em;
  }
  .access .classroom {
    margin-top: 6.6666666667vw;
  }
  .access .classroom__item {
    margin-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
  .access .classroom__item:first-child {
    margin-top: 0;
  }
  .access .classroom__name {
    font-size: 4.2666666667vw;
  }
  .access .classroom__address {
    margin-top: 0;
  }
  .access .classroom__route {
    margin-top: 0;
  }
  .site-actions {
    position: relative;
  }
  .site-actions__inner {
    height: 16vw;
    border-top: 1px solid var(--clr-white);
    background: var(--clr-white);
  }
  .site-actions__cta-list {
    flex: 0 0 calc(100% - 16vw - 1px);
  }
  .site-actions__cta-list.flex {
    gap: 1px;
  }
  .site-actions__cta-item {
    flex: 0 0 33.3333%;
  }
  .site-actions__toggle {
    border-left: 1px solid var(--clr-white);
    background: var(--clr-main);
  }
  .site-actions__toggle aside {
    width: 16vw;
    height: 16vw;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    text-decoration: none;
    white-space: nowrap;
    aspect-ratio: 1/1;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2274%22%20height%3D%2274%22%20viewBox%3D%220%200%2074%2074%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2264%22%20height%3D%226%22%20rx%3D%223%22%20ry%3D%223%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%2234%22%20width%3D%2264%22%20height%3D%226%22%20rx%3D%223%22%20ry%3D%223%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%2258%22%20width%3D%2264%22%20height%3D%226%22%20rx%3D%223%22%20ry%3D%223%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-size: 6.6666666667vw auto;
  }
  .site-actions__toggle.is-open aside {
    aspect-ratio: 1/1;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2076%2076%22%3E%3Cline%20x1%3D%2219%22%20y1%3D%2220%22%20x2%3D%2257%22%20y2%3D%2258%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%2F%3E%3Cline%20x1%3D%2257%22%20y1%3D%2220%22%20x2%3D%2219%22%20y2%3D%2258%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-size: 5.3333333333vw auto;
  }
  .site-actions__nav {
    position: absolute;
    bottom: 16vw;
    width: 100%;
    background: var(--clr-main);
    color: var(--clr-white);
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease;
  }
  .site-actions__nav-item {
    border-top: 1px solid var(--clr-white);
  }
  .site-actions__nav-item a,
  .site-actions__nav-item span {
    display: flex;
    align-items: center;
    width: 100%;
    height: 13.3333333333vw;
    padding-right: 4vw;
    padding-left: 4vw;
    color: inherit;
  }
  .site-actions__nav-item span {
    color: #999;
  }
  .site-actions .btn {
    height: 16vw;
    line-height: 1.13;
  }
  .site-actions .btn--opencampus {
    border-radius: 0;
  }
  .site-actions .btn--counseling {
    border-radius: 0;
  }
  .site-actions .btn--request {
    border-radius: 0;
  }
  .cta {
    padding-top: 12.2666666667vw;
    padding-bottom: 12vw;
    border-width: min(8px, 1.0666666667vw);
    border-radius: 5.8666666667vw;
  }
  .cta__title {
    line-height: 1.5;
    font-size: 6.4vw;
    font-weight: bold;
  }
  .cta__list {
    margin-top: 9.3333333333vw;
  }
  .cta__list.flex {
    flex-direction: column;
    align-items: center;
    gap: 2.6666666667vw;
  }
  .cta .talk {
    font-size: 3.2vw;
  }
  .cta .talk--new.position-a {
    top: -3.4666666667vw;
  }
  .cta .talk--online.position-a {
    top: -5.8666666667vw;
    left: 6.6666666667vw;
  }
  .cta .btn {
    height: 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
  .cta .btn .icn-arrow-right {
    right: 6.4vw;
  }
  .cta .btn .icn-arrow-bottom {
    right: 6.4vw;
  }
  .cta .btn--opencampus .icn-arrow-right {
    right: 5.8666666667vw;
  }
  .cta .btn--opencampus .icn-arrow-bottom {
    right: 5.3333333333vw;
  }
  .cta__item {
    width: 84vw;
  }
  .frame-box {
    border: 2px solid #000;
  }
  .frame-box--main {
    border-color: var(--clr-main);
  }
  .frame-box--round {
    padding: 6.6666666667vw 4vw 4vw;
    border-radius: min(30px, 4vw);
  }
  .frame-box--round .frame-box__title {
    transform: translate(-50%, calc(-150% + 2px));
  }
  .js-read-more .read-more-area {
    height: 26em;
    max-height: 26em;
  }
  .qa__q {
    padding-right: 5.8666666667vw;
    font-size: 4.2666666667vw;
  }
  .qa__q__inner {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .qa__a {
    margin-top: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
  .qa__a + .qa__q {
    margin-top: 6.6666666667vw;
  }
  .qa__a .img-wrapper {
    margin-top: 0.5em;
  }
  .qa__a .img-wrapper:has(.logo--navi_kobetsu) {
    width: 41.8666666667vw;
  }
  .opencampus__inner {
    margin-top: 6.6666666667vw;
    padding-bottom: 2.9333333333vw;
    border: 4px solid var(--clr-white);
    border-radius: 13px;
  }
  .opencampus__campus-name {
    font-size: 4.8vw;
  }
  .opencampus__campus-name .pref {
    width: 20vw;
    height: 7.4666666667vw;
    margin-right: 0.5em;
    font-size: 4.2666666667vw;
  }
  .opencampus__campus-address {
    line-height: 1.2;
    margin-top: 3.2vw;
    padding-right: 2.9333333333vw;
    padding-left: 2.9333333333vw;
  }
  .opencampus__list-none {
    margin-top: 4vw;
  }
  .opencampus__item {
    margin-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
  }
  .opencampus .event-card__meta {
    text-align: right;
  }
  .opencampus .event-card__meta-target {
    display: inline-block;
  }
  .opencampus .event-card__meta-target .target {
    width: 25.0666666667vw;
    height: 4.5333333333vw;
    padding-right: 2.1333333333vw;
    padding-left: 2.1333333333vw;
    font-size: 3.2vw;
  }
  .opencampus .event-card__meta-category {
    display: inline-block;
    margin-right: 1.3333333333vw;
    font-size: 3.2vw;
  }
  .opencampus .event-card__meta-category .category {
    width: 25.0666666667vw;
    height: 4.5333333333vw;
    padding-right: 2.1333333333vw;
    padding-left: 2.1333333333vw;
    font-size: 3.2vw;
  }
  .opencampus .event-card__meta-date {
    text-align: left;
  }
  .opencampus .event-card__title {
    line-height: 1.4;
    margin-top: 2.6666666667vw;
    font-size: 4.8vw;
  }
  .opencampus .event-card__image {
    margin-top: 4vw;
  }
  .opencampus .event-card__image img {
    border-radius: 15px;
  }
  .opencampus .event-card__description {
    margin-top: 2.6666666667vw;
  }
  .opencampus .event-card__entry {
    margin-top: 6.6666666667vw;
  }
  .opencampus .event-card__entry .btn {
    position: relative;
    aspect-ratio: 630/80;
    width: 84vw;
    margin-right: auto;
    margin-left: auto;
  }
  .opencampus .event-card__entry .btn .icn-arrow-right {
    position: absolute;
    top: 2.6666666667vw;
    right: 2.6666666667vw;
  }
  #header .section-pd {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
  #header .site-actions__inner {
    display: none !important;
  }
  #header a:has(.logo-navi) {
    height: min(60px, 10.6666666667vw);
  }
  .breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-height: 10.6666666667vw;
    line-height: 1.2;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
  .breadcrumbs__item:not(:last-child) {
    margin-right: 0.5em;
  }
  .breadcrumbs__item:not(:last-child)::after {
    margin-left: 0.5em;
  }
  .page-header__title {
    height: 26.6666666667vw;
    font-size: 6.4vw;
  }
  #float-cta {
    position: fixed;
    bottom: 0;
    z-index: 100;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100%);
    transition: all 0.4s;
  }
  #float-cta.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0%);
  }
  #float-cta .section-pd {
    padding-top: 0;
    padding-bottom: 0;
  }
  #float-cta .site-actions__logo {
    display: none;
  }
  #footer .section-pd {
    padding-top: 5.3333333333vw;
    padding-bottom: 20vw;
  }
  #footer .icn-ig {
    width: 10.6666666667vw;
  }
  #footer .footer__nav {
    gap: 1.4em;
    margin-top: 10.6666666667vw;
  }
  #footer .footer__sns {
    margin-top: 7.7333333333vw;
  }
  #footer .footer__copyright {
    margin-top: 10.6666666667vw;
  }
  .page-toppage #mv > .section-pd {
    padding-top: 0;
    padding-bottom: 0;
  }
  .page-toppage #mv .mv {
    position: relative;
  }
  .page-toppage #mv .mv__tagline {
    position: absolute;
    top: 34.6666666667vw;
    left: 0;
    width: 100%;
    line-height: 1.48;
    margin-right: auto;
    margin-left: auto;
    padding-right: 4%;
    padding-left: 4%;
    color: var(--clr-white);
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
    font-size: 7.2vw;
    font-style: italic;
    font-weight: 900;
  }
  .page-toppage #mv .mv #header {
    position: absolute;
    top: 30px;
    width: 100%;
    border-style: none;
  }
  .page-toppage #mv .mv #header .site-actions__logo .logo-navi {
    fill: var(--clr-white);
  }
  .page-toppage .cta .btn--opencampus {
    border: 2px solid var(--clr-opencampus);
    background: var(--clr-white);
    color: var(--clr-opencampus);
  }
  .page-toppage .cta .btn--opencampus .icn-arrow-right {
    aspect-ratio: 97/128;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23339933%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
    right: 5.3333333333vw;
    transform: rotate(90deg);
  }
  .page-toppage .bg-savon-1 {
    background: var(--clr-white) url(/common/img/toppage/bg_savon_01_sp.png) no-repeat center top;
    background-size: 100% auto;
  }
  .page-toppage .about .hdr--lv1::after {
    content: "";
    aspect-ratio: 42/60;
    display: inline-block;
    width: 6.4vw;
    margin-left: 0.25em;
    background: url(/common/img/icn/icn_pointer_hand.png) no-repeat left bottom;
    background-size: contain;
  }
  .page-toppage .about .logo-navi-name {
    margin-right: 0.25em;
  }
  .page-toppage .section-pd:has(.think) {
    padding-top: 0;
  }
  .page-toppage .bg-savon-2 {
    background: var(--clr-white) url(/common/img/toppage/bg_savon_02_sp.png) no-repeat center top;
    background-size: 100% auto;
  }
  .page-toppage .pattern__title {
    grid-area: title;
    height: auto;
    line-height: 1;
    color: var(--clr-main);
    font-weight: bold;
    opacity: 0.5;
  }
  .page-toppage .pattern__merit {
    grid-area: merit;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
  }
  .page-toppage .pattern__merit__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72vw;
    height: 6.6666666667vw;
    background: var(--clr-white);
    border-radius: 9999px;
    font-size: 3.2vw;
  }
  .page-toppage .pattern__merit__item + .pattern__merit__item {
    margin-top: 1.3333333333vw;
  }
  .page-toppage .pattern__img {
    grid-area: img;
    width: 80%;
  }
  .page-toppage .pattern__img img {
    filter: drop-shadow(-1px 2px 5px rgba(0, 0, 0, 0.2));
  }
  .page-toppage .pattern.grid--1 {
    grid-template-areas: "img" "title" "merit";
    margin-top: 7.7333333333vw;
  }
  .page-toppage .pattern.grid--1 .pattern__title {
    margin-top: 2.1333333333vw;
    font-size: 20vw;
    text-align: right;
  }
  .page-toppage .pattern.grid--1 .pattern__merit {
    justify-content: flex-end;
    margin-top: 2.1333333333vw;
    padding-right: 6.6666666667vw;
  }
  .page-toppage .pattern.grid--2 {
    grid-template-areas: "merit" "title" "img";
    padding-top: 24vw;
    background-image: url(/common/img/toppage/bg_cycle.png);
    background-repeat: no-repeat;
    background-position: center top 3.2vw;
    background-size: 17.3333333333vw auto;
  }
  .page-toppage .pattern.grid--2 .pattern__title {
    margin-top: 1.8666666667vw;
    font-size: 16vw;
  }
  .page-toppage .pattern.grid--2 .pattern__merit {
    justify-content: flex-start;
    padding-left: 6.6666666667vw;
  }
  .page-toppage .pattern.grid--2 .pattern__img {
    margin-top: 4.2666666667vw;
    margin-left: auto;
  }
  .page-toppage .bg-think {
    background: var(--clr-white) url(/common/img/toppage/bg_think_sp.png) no-repeat right bottom;
    background-size: 100% auto;
  }
  .page-toppage .section-pd:has(.think) {
    padding-bottom: 38.6666666667vw;
  }
  .page-toppage .section:has(.forte) {
    margin-top: -10.6666666667vw;
  }
  .page-toppage .section-pd:has(.forte) {
    padding-top: 0;
    padding-bottom: 0;
  }
  .page-toppage .forte__title {
    margin-right: 4%;
    margin-left: 4%;
    text-align: left;
  }
  .page-toppage .forte__body {
    margin-right: 4%;
    margin-left: 4%;
  }
  .page-toppage .forte__lead {
    color: var(--clr-main);
    font-size: 4.8vw;
    text-align: left;
  }
  .page-toppage .forte__lead .font-main {
    font-size: 6.4vw;
    font-weight: bold;
  }
  .page-toppage .forte__lead .line {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    z-index: 1;
  }
  .page-toppage .forte__lead .line::before {
    position: absolute;
    left: 0;
    bottom: 3px;
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background-color: var(--clr-orange);
    z-index: -1;
  }
  .page-toppage .forte__text {
    margin-top: 6.6666666667vw;
  }
  .page-toppage .forte__text p + p {
    margin-top: 0;
  }
  .page-toppage .forte__visual {
    width: min(750px, 100%);
    margin-right: auto;
    margin-left: auto;
  }
  .page-toppage .forte--curriculum {
    margin-top: 5.8666666667vw;
  }
  .page-toppage .forte--curriculum .forte__lead {
    text-align: right;
  }
  .page-toppage .forte--curriculum .forte__text {
    margin-top: 6.6666666667vw;
  }
  .page-toppage .forte--motivation {
    margin-top: 9.3333333333vw;
  }
  .page-toppage .forte--motivation .forte__visual {
    margin-right: 0;
  }
  .page-toppage .forte--schooling {
    position: relative;
    margin-top: -6.9333333333vw;
    z-index: 1;
  }
  .page-toppage .forte--schooling .forte__lead {
    text-align: right;
  }
  .page-toppage .forte--schooling .forte__text small {
    display: block;
    margin-top: 2em;
    font-size: 3.2vw;
  }
  .page-toppage .forte--schooling .forte__visual {
    position: relative;
    z-index: 1;
    margin-top: 4vw;
    margin-left: 0;
  }
  .page-toppage .bg-gradation {
    position: relative;
    background: #00f;
    background: linear-gradient(140deg, rgba(255, 246, 0, 0.15) 0%, rgba(39, 39, 213, 0.15) 100%);
  }
  .page-toppage .bg-gradation::before {
    content: "";
    aspect-ratio: 750/70;
    width: 100%;
    position: absolute;
    top: -1px;
    background: #fff;
    -webkit-mask: url("/common/img/toppage/curve_sp.svg") no-repeat center/100% 100%;
    mask: url("/common/img/toppage/curve_sp.svg") no-repeat center/100% 100%;
  }
  .page-toppage .bg-gradation::after {
    content: "";
    aspect-ratio: 750/70;
    width: 100%;
    position: absolute;
    bottom: -1px;
    background: #fff;
    -webkit-mask: url("/common/img/toppage/curve_sp.svg") no-repeat center/100% 100%;
    mask: url("/common/img/toppage/curve_sp.svg") no-repeat center/100% 100%;
    transform: scaleY(-1);
  }
  .page-toppage .section:has(.opencampus) {
    margin-top: -9.3333333333vw;
  }
  .page-toppage .section-pd:has(.opencampus) {
    padding-bottom: 22.6666666667vw;
  }
  .page-about .difference__logo.flex {
    gap: min(40px, 5.3333333333vw);
  }
  .page-about .difference__logo.flex > * {
    flex: 1;
  }
  .page-about .difference__logo__item {
    height: 8vw;
    text-align: center;
  }
  .page-about .difference__logo__item .logo-mie {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .page-about .difference__logo__item .logo-navi {
    height: 100%;
    fill: var(--clr-ohzora);
  }
  .page-about .difference__school {
    margin-top: 10.9333333333vw;
  }
  .page-about .difference__school__item__title {
    text-align: center;
    color: var(--clr-main);
    font-size: 4.8vw;
    font-weight: bold;
  }
  .page-about .difference__school__item + .difference__school__item {
    margin-top: 10.9333333333vw;
  }
  .page-about .difference__table {
    margin-top: 9.3333333333vw;
    position: relative;
    width: 100%;
    font-size: 4vw;
  }
  .page-about .difference__table tr th:first-of-type {
    width: 24vw;
  }
  .page-about .difference__table tr th {
    line-height: 1.4;
    padding: 4.2666666667vw;
    color: var(--clr-main);
    text-align: center;
    vertical-align: middle;
  }
  .page-about .difference__table tr th[scope=col] {
    height: 12vw;
  }
  .page-about .difference__table tr th[scope=row] {
    padding: 3.7333333333vw;
    font-size: 4vw;
    text-align: left;
  }
  .page-about .difference__table tr td {
    width: 50%;
    line-height: 1.4;
    padding: 4.2666666667vw;
    text-align: left;
    vertical-align: middle;
  }
  .page-about .difference__table tr:first-of-type th:first-of-type {
    border-top-style: none;
    border-left-style: none;
    background: var(--clr-white);
  }
  .page-about .difference__table::after {
    content: "";
    position: absolute;
    right: 2px;
    top: 0;
    display: block;
    border: solid 4px var(--clr-orange);
    border-radius: 10px;
    width: 33.0666666667vw;
    height: 100%;
  }
  .page-admission .requirement__item .tbl-basic {
    width: max(850px, 100%);
    table-layout: auto;
  }
  .page-admission .requirement__item .tbl-basic th {
    width: 36.5333333333vw;
    padding: 6.9333333333vw;
    font-weight: normal;
    text-align: center;
  }
  .page-admission .requirement__item .tbl-basic td {
    padding: 6.9333333333vw;
  }
  .page-admission .requirement__item .tbl-basic td:not(:last-child) {
    width: 53.3333333333vw;
    padding-right: 5.3333333333vw;
  }
  .page-admission .requirement__item .tbl-basic td .flex {
    gap: 0.75em;
  }
  .page-admission .requirement .specific {
    display: inline-block;
    min-width: 6em;
    padding: 1px 2px;
    background: var(--clr-main);
    color: var(--clr-white);
    text-align: center;
  }
  .page-admission .admission-flow__list {
    position: relative;
    list-style: none;
    margin-top: 9.3333333333vw;
  }
  .page-admission .admission-flow__list::before {
    display: block;
    content: "";
    position: absolute;
    top: 2.4vw;
    left: 4vw;
    width: 1.6vw;
    height: calc(100% - 4.8vw);
    background: var(--clr-main);
    border-radius: 999px;
  }
  .page-admission .admission-flow__hdr {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 29.3333333333vw;
    margin-left: 13.3333333333vw;
    padding-right: 4vw;
    padding-left: 4vw;
    background: var(--clr-main);
    border-radius: 9999px;
    color: var(--clr-white);
    font-size: 4.8vw;
    font-weight: bold;
  }
  .page-admission .admission-flow__hdr::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -8vw;
    width: 10.1333333333vw;
    height: 1.6vw;
    background: var(--clr-main);
    transform: translateY(-50%);
  }
  .page-admission .admission-flow__hdr::after {
    content: "";
    position: absolute;
    aspect-ratio: 1/1;
    left: -13.3333333333vw;
    top: 50%;
    width: 4.8vw;
    background: var(--clr-orange);
    border: 1.6vw solid var(--clr-main);
    border-radius: 50%;
    box-sizing: border-box;
    transform: translate(50%, -50%);
  }
  .page-admission .admission-flow__item:not(:first-child) {
    margin-top: 13.3333333333vw;
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr {
    margin-left: 0;
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr::before {
    display: none;
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr::after {
    display: none;
  }
  .page-admission .admission-flow__item--goal .admission-flow__hdr {
    width: calc(100% - 13.3333333333vw);
  }
  .page-admission .admission-flow__body {
    margin-top: 4vw;
    padding-left: 13.3333333333vw;
    font-size: 4.2666666667vw;
  }
  .page-admission .admission-flow__body p + p {
    margin-top: 0.5em;
  }
  .page-admission .admission-flow__logo {
    height: 8vw;
  }
  .page-admission .admission-flow__logo .logo-mie {
    width: auto;
    height: 100%;
  }
  .page-admission .admission-flow__logo + p {
    margin-top: 0.5em;
  }
  .page-admission .admission-flow__logos {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 74.6666666667vw;
  }
  .page-admission .admission-flow__logos .admission-flow__logo {
    height: 7.2vw;
  }
  .page-admission .admission-flow__logos + * {
    margin-top: 3.2vw;
  }
  .page-admission .admission-flow__entry {
    padding-top: 0.5em;
  }
  .page-admission .admission-flow__branch-main {
    position: relative;
  }
  .page-admission .admission-flow__branch-main::before {
    position: absolute;
    top: 3.7333333333vw;
    left: 8.8vw;
    content: "";
    width: 1.6vw;
    height: calc(100% + 9.3333333333vw);
    background: var(--clr-main);
  }
  .page-admission .admission-flow__branch-main + .admission-flow__branch-sub {
    margin-top: 9.3333333333vw;
  }
  .page-admission .admission-flow__branch-sub .admission-flow__hdr::before {
    left: -4.5333333333vw;
    width: 8.5333333333vw;
    background: none;
    border-left: 1.6vw solid var(--clr-main);
    border-bottom: 1.6vw solid var(--clr-main);
  }
  .page-admission .admission-flow__branch-sub .admission-flow__hdr::after {
    display: none;
  }
  .page-admission .admission-flow .btn {
    width: 53.3333333333vw;
    height: 10.6666666667vw;
    gap: 2.1333333333vw;
  }
  .page-admission .admission-flow .btn .icn-arrow-right {
    transform: translateY(-2px);
  }
  .page-admission .fee-table {
    width: 100%;
    margin-top: 2.6666666667vw;
  }
  .page-admission .fee-table th {
    padding: 5.3333333333vw;
  }
  .page-admission .fee-table td {
    padding: 8vw;
    text-align: center;
  }
  .s-mt-0 {
    margin-top: 0px !important;
  }
  .s-mr-0 {
    margin-right: 0px !important;
  }
  .s-mb-0 {
    margin-bottom: 0px !important;
  }
  .s-ml-0 {
    margin-left: 0px !important;
  }
  .s-pt-0 {
    padding-top: 0px !important;
  }
  .s-pr-0 {
    padding-right: 0px !important;
  }
  .s-pb-0 {
    padding-bottom: 0px !important;
  }
  .s-pl-0 {
    padding-left: 0px !important;
  }
  .s-mt-5 {
    margin-top: 5px !important;
  }
  .s-mr-5 {
    margin-right: 5px !important;
  }
  .s-mb-5 {
    margin-bottom: 5px !important;
  }
  .s-ml-5 {
    margin-left: 5px !important;
  }
  .s-pt-5 {
    padding-top: 5px !important;
  }
  .s-pr-5 {
    padding-right: 5px !important;
  }
  .s-pb-5 {
    padding-bottom: 5px !important;
  }
  .s-pl-5 {
    padding-left: 5px !important;
  }
  .s-mt-10 {
    margin-top: 10px !important;
  }
  .s-mr-10 {
    margin-right: 10px !important;
  }
  .s-mb-10 {
    margin-bottom: 10px !important;
  }
  .s-ml-10 {
    margin-left: 10px !important;
  }
  .s-pt-10 {
    padding-top: 10px !important;
  }
  .s-pr-10 {
    padding-right: 10px !important;
  }
  .s-pb-10 {
    padding-bottom: 10px !important;
  }
  .s-pl-10 {
    padding-left: 10px !important;
  }
  .s-mt-15 {
    margin-top: 15px !important;
  }
  .s-mr-15 {
    margin-right: 15px !important;
  }
  .s-mb-15 {
    margin-bottom: 15px !important;
  }
  .s-ml-15 {
    margin-left: 15px !important;
  }
  .s-pt-15 {
    padding-top: 15px !important;
  }
  .s-pr-15 {
    padding-right: 15px !important;
  }
  .s-pb-15 {
    padding-bottom: 15px !important;
  }
  .s-pl-15 {
    padding-left: 15px !important;
  }
  .s-mt-20 {
    margin-top: 20px !important;
  }
  .s-mr-20 {
    margin-right: 20px !important;
  }
  .s-mb-20 {
    margin-bottom: 20px !important;
  }
  .s-ml-20 {
    margin-left: 20px !important;
  }
  .s-pt-20 {
    padding-top: 20px !important;
  }
  .s-pr-20 {
    padding-right: 20px !important;
  }
  .s-pb-20 {
    padding-bottom: 20px !important;
  }
  .s-pl-20 {
    padding-left: 20px !important;
  }
  .s-mt-25 {
    margin-top: 25px !important;
  }
  .s-mr-25 {
    margin-right: 25px !important;
  }
  .s-mb-25 {
    margin-bottom: 25px !important;
  }
  .s-ml-25 {
    margin-left: 25px !important;
  }
  .s-pt-25 {
    padding-top: 25px !important;
  }
  .s-pr-25 {
    padding-right: 25px !important;
  }
  .s-pb-25 {
    padding-bottom: 25px !important;
  }
  .s-pl-25 {
    padding-left: 25px !important;
  }
  .s-mt-30 {
    margin-top: 30px !important;
  }
  .s-mr-30 {
    margin-right: 30px !important;
  }
  .s-mb-30 {
    margin-bottom: 30px !important;
  }
  .s-ml-30 {
    margin-left: 30px !important;
  }
  .s-pt-30 {
    padding-top: 30px !important;
  }
  .s-pr-30 {
    padding-right: 30px !important;
  }
  .s-pb-30 {
    padding-bottom: 30px !important;
  }
  .s-pl-30 {
    padding-left: 30px !important;
  }
  .s-mt-35 {
    margin-top: 35px !important;
  }
  .s-mr-35 {
    margin-right: 35px !important;
  }
  .s-mb-35 {
    margin-bottom: 35px !important;
  }
  .s-ml-35 {
    margin-left: 35px !important;
  }
  .s-pt-35 {
    padding-top: 35px !important;
  }
  .s-pr-35 {
    padding-right: 35px !important;
  }
  .s-pb-35 {
    padding-bottom: 35px !important;
  }
  .s-pl-35 {
    padding-left: 35px !important;
  }
  .s-mt-40 {
    margin-top: 40px !important;
  }
  .s-mr-40 {
    margin-right: 40px !important;
  }
  .s-mb-40 {
    margin-bottom: 40px !important;
  }
  .s-ml-40 {
    margin-left: 40px !important;
  }
  .s-pt-40 {
    padding-top: 40px !important;
  }
  .s-pr-40 {
    padding-right: 40px !important;
  }
  .s-pb-40 {
    padding-bottom: 40px !important;
  }
  .s-pl-40 {
    padding-left: 40px !important;
  }
  .s-mt-45 {
    margin-top: 45px !important;
  }
  .s-mr-45 {
    margin-right: 45px !important;
  }
  .s-mb-45 {
    margin-bottom: 45px !important;
  }
  .s-ml-45 {
    margin-left: 45px !important;
  }
  .s-pt-45 {
    padding-top: 45px !important;
  }
  .s-pr-45 {
    padding-right: 45px !important;
  }
  .s-pb-45 {
    padding-bottom: 45px !important;
  }
  .s-pl-45 {
    padding-left: 45px !important;
  }
  .s-mt-50 {
    margin-top: 50px !important;
  }
  .s-mr-50 {
    margin-right: 50px !important;
  }
  .s-mb-50 {
    margin-bottom: 50px !important;
  }
  .s-ml-50 {
    margin-left: 50px !important;
  }
  .s-pt-50 {
    padding-top: 50px !important;
  }
  .s-pr-50 {
    padding-right: 50px !important;
  }
  .s-pb-50 {
    padding-bottom: 50px !important;
  }
  .s-pl-50 {
    padding-left: 50px !important;
  }
  .s-mt-55 {
    margin-top: 55px !important;
  }
  .s-mr-55 {
    margin-right: 55px !important;
  }
  .s-mb-55 {
    margin-bottom: 55px !important;
  }
  .s-ml-55 {
    margin-left: 55px !important;
  }
  .s-pt-55 {
    padding-top: 55px !important;
  }
  .s-pr-55 {
    padding-right: 55px !important;
  }
  .s-pb-55 {
    padding-bottom: 55px !important;
  }
  .s-pl-55 {
    padding-left: 55px !important;
  }
  .s-mt-60 {
    margin-top: 60px !important;
  }
  .s-mr-60 {
    margin-right: 60px !important;
  }
  .s-mb-60 {
    margin-bottom: 60px !important;
  }
  .s-ml-60 {
    margin-left: 60px !important;
  }
  .s-pt-60 {
    padding-top: 60px !important;
  }
  .s-pr-60 {
    padding-right: 60px !important;
  }
  .s-pb-60 {
    padding-bottom: 60px !important;
  }
  .s-pl-60 {
    padding-left: 60px !important;
  }
  .s-mt-65 {
    margin-top: 65px !important;
  }
  .s-mr-65 {
    margin-right: 65px !important;
  }
  .s-mb-65 {
    margin-bottom: 65px !important;
  }
  .s-ml-65 {
    margin-left: 65px !important;
  }
  .s-pt-65 {
    padding-top: 65px !important;
  }
  .s-pr-65 {
    padding-right: 65px !important;
  }
  .s-pb-65 {
    padding-bottom: 65px !important;
  }
  .s-pl-65 {
    padding-left: 65px !important;
  }
  .s-mt-70 {
    margin-top: 70px !important;
  }
  .s-mr-70 {
    margin-right: 70px !important;
  }
  .s-mb-70 {
    margin-bottom: 70px !important;
  }
  .s-ml-70 {
    margin-left: 70px !important;
  }
  .s-pt-70 {
    padding-top: 70px !important;
  }
  .s-pr-70 {
    padding-right: 70px !important;
  }
  .s-pb-70 {
    padding-bottom: 70px !important;
  }
  .s-pl-70 {
    padding-left: 70px !important;
  }
  .s-mt-75 {
    margin-top: 75px !important;
  }
  .s-mr-75 {
    margin-right: 75px !important;
  }
  .s-mb-75 {
    margin-bottom: 75px !important;
  }
  .s-ml-75 {
    margin-left: 75px !important;
  }
  .s-pt-75 {
    padding-top: 75px !important;
  }
  .s-pr-75 {
    padding-right: 75px !important;
  }
  .s-pb-75 {
    padding-bottom: 75px !important;
  }
  .s-pl-75 {
    padding-left: 75px !important;
  }
  .s-mt-80 {
    margin-top: 80px !important;
  }
  .s-mr-80 {
    margin-right: 80px !important;
  }
  .s-mb-80 {
    margin-bottom: 80px !important;
  }
  .s-ml-80 {
    margin-left: 80px !important;
  }
  .s-pt-80 {
    padding-top: 80px !important;
  }
  .s-pr-80 {
    padding-right: 80px !important;
  }
  .s-pb-80 {
    padding-bottom: 80px !important;
  }
  .s-pl-80 {
    padding-left: 80px !important;
  }
  .s-mt-85 {
    margin-top: 85px !important;
  }
  .s-mr-85 {
    margin-right: 85px !important;
  }
  .s-mb-85 {
    margin-bottom: 85px !important;
  }
  .s-ml-85 {
    margin-left: 85px !important;
  }
  .s-pt-85 {
    padding-top: 85px !important;
  }
  .s-pr-85 {
    padding-right: 85px !important;
  }
  .s-pb-85 {
    padding-bottom: 85px !important;
  }
  .s-pl-85 {
    padding-left: 85px !important;
  }
  .s-mt-90 {
    margin-top: 90px !important;
  }
  .s-mr-90 {
    margin-right: 90px !important;
  }
  .s-mb-90 {
    margin-bottom: 90px !important;
  }
  .s-ml-90 {
    margin-left: 90px !important;
  }
  .s-pt-90 {
    padding-top: 90px !important;
  }
  .s-pr-90 {
    padding-right: 90px !important;
  }
  .s-pb-90 {
    padding-bottom: 90px !important;
  }
  .s-pl-90 {
    padding-left: 90px !important;
  }
  .s-mt-95 {
    margin-top: 95px !important;
  }
  .s-mr-95 {
    margin-right: 95px !important;
  }
  .s-mb-95 {
    margin-bottom: 95px !important;
  }
  .s-ml-95 {
    margin-left: 95px !important;
  }
  .s-pt-95 {
    padding-top: 95px !important;
  }
  .s-pr-95 {
    padding-right: 95px !important;
  }
  .s-pb-95 {
    padding-bottom: 95px !important;
  }
  .s-pl-95 {
    padding-left: 95px !important;
  }
  .s-mt-100 {
    margin-top: 100px !important;
  }
  .s-mr-100 {
    margin-right: 100px !important;
  }
  .s-mb-100 {
    margin-bottom: 100px !important;
  }
  .s-ml-100 {
    margin-left: 100px !important;
  }
  .s-pt-100 {
    padding-top: 100px !important;
  }
  .s-pr-100 {
    padding-right: 100px !important;
  }
  .s-pb-100 {
    padding-bottom: 100px !important;
  }
  .s-pl-100 {
    padding-left: 100px !important;
  }
  .s-block {
    display: block !important;
  }
  .s-inline {
    display: inline !important;
  }
  .s-iblock {
    display: inline-block !important;
  }
  .s-flex {
    display: flex !important;
  }
  .s-iflex {
    display: inline-flex !important;
  }
  .s-none {
    display: none !important;
  }
  .s-grid {
    display: grid !important;
  }
  .s-flex-reverse {
    flex-direction: row-reverse;
  }
  .s-flex-between {
    justify-content: space-between;
  }
  .s-flex-vcenter {
    align-items: center;
  }
  .s-flex-column {
    flex-direction: column;
  }
  .s-flex-end {
    justify-content: flex-end;
  }
  .s-align-left {
    text-align: left !important;
  }
  .s-align-center {
    text-align: center !important;
  }
  .s-align-right {
    text-align: right !important;
  }
  .s-font-10 {
    font-size: 2.6666666667vw !important;
  }
  .s-font-11 {
    font-size: 2.9333333333vw !important;
  }
  .s-font-12 {
    font-size: 3.2vw !important;
  }
  .s-font-13 {
    font-size: 3.4666666667vw !important;
  }
  .s-font-14 {
    font-size: 3.7333333333vw !important;
  }
  .s-font-15 {
    font-size: 4vw !important;
  }
  .s-font-16 {
    font-size: 4.2666666667vw !important;
  }
  .s-font-17 {
    font-size: 4.5333333333vw !important;
  }
  .s-font-18 {
    font-size: 4.8vw !important;
  }
  .s-font-19 {
    font-size: 5.0666666667vw !important;
  }
  .s-font-20 {
    font-size: 5.3333333333vw !important;
  }
  .s-font-21 {
    font-size: 5.6vw !important;
  }
  .s-font-22 {
    font-size: 5.8666666667vw !important;
  }
  .s-font-23 {
    font-size: 6.1333333333vw !important;
  }
  .s-font-24 {
    font-size: 6.4vw !important;
  }
  .s-font-25 {
    font-size: 6.6666666667vw !important;
  }
  .s-font-26 {
    font-size: 6.9333333333vw !important;
  }
  .s-font-27 {
    font-size: 7.2vw !important;
  }
  .s-font-28 {
    font-size: 7.4666666667vw !important;
  }
  .s-font-29 {
    font-size: 7.7333333333vw !important;
  }
  .s-font-30 {
    font-size: 8vw !important;
  }
  .s-font-31 {
    font-size: 8.2666666667vw !important;
  }
  .s-font-32 {
    font-size: 8.5333333333vw !important;
  }
  .s-font-33 {
    font-size: 8.8vw !important;
  }
  .s-font-34 {
    font-size: 9.0666666667vw !important;
  }
  .s-font-35 {
    font-size: 9.3333333333vw !important;
  }
  .s-font-36 {
    font-size: 9.6vw !important;
  }
  .s-font-37 {
    font-size: 9.8666666667vw !important;
  }
  .s-font-38 {
    font-size: 10.1333333333vw !important;
  }
  .s-font-39 {
    font-size: 10.4vw !important;
  }
  .s-font-40 {
    font-size: 10.6666666667vw !important;
  }
  .s-font-41 {
    font-size: 10.9333333333vw !important;
  }
  .s-font-42 {
    font-size: 11.2vw !important;
  }
  .s-font-43 {
    font-size: 11.4666666667vw !important;
  }
  .s-font-44 {
    font-size: 11.7333333333vw !important;
  }
  .s-font-45 {
    font-size: 12vw !important;
  }
  .s-font-46 {
    font-size: 12.2666666667vw !important;
  }
  .s-font-47 {
    font-size: 12.5333333333vw !important;
  }
  .s-font-48 {
    font-size: 12.8vw !important;
  }
}
@media print, screen and (min-width: 1120px) {
  p + p {
    margin-top: 2em;
  }
  .icn-arrow-right {
    height: 14px;
  }
  .icn-arrow-bottom {
    height: 14px;
  }
  .logo-navi-name {
    width: 330px;
  }
  .talk::before {
    width: 16px;
    margin-right: 8px;
  }
  .talk::after {
    width: 16px;
    margin-left: 8px;
  }
  .hdr--lv1 {
    font-size: 48px;
  }
  .hdr--lv1 + * {
    margin-top: 100px;
  }
  .hdr--lv2 {
    font-size: 24px;
  }
  .hdr--lv2:not(:first-child) {
    margin-top: 80px;
  }
  .hdr--lv2 + p {
    margin-top: 40px;
  }
  .hdr--has-circle {
    line-height: 1.4;
    font-size: 24px;
  }
  .hdr--has-circle:not(:first-child) {
    margin-top: 50px;
  }
  .hdr--has-circle::before {
    margin-top: 0.25em;
  }
  .hdr--has-circle + * {
    margin-top: 40px;
  }
  .site-actions {
    height: 74px;
  }
  .site-actions .logo-navi {
    aspect-ratio: 271/67;
    height: min(60px, 10.6666666667vw);
    fill: var(--clr-ohzora);
  }
  .site-actions .btn {
    width: 200px;
    height: 40px;
    padding-right: 16px;
    padding-left: 16px;
    font-size: 14px;
  }
  .site-actions__inner {
    height: 74px;
  }
  .site-actions__inner.p-flex-column {
    justify-content: space-between;
  }
  .site-actions__cta-list.flex {
    gap: 10px;
    justify-content: flex-end;
  }
  .site-actions__nav-list {
    padding-right: 30px;
  }
  .site-actions__nav-list.p-flex {
    gap: 60px;
    justify-content: flex-end;
  }
  .site-actions__nav-item span {
    color: #bababa;
  }
  .cta {
    padding-top: 85px;
    padding-bottom: 122px;
    border-width: 8px;
    border-radius: 45px;
  }
  .cta__title {
    line-height: 1.5;
    font-size: 48px;
    font-weight: bold;
  }
  .cta__list {
    width: 840px;
    margin-top: 100px;
  }
  .cta__list.flex {
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
  }
  .cta__list.flex > * {
    flex: 0 0 400px;
  }
  .cta .talk {
    font-size: 24px;
  }
  .cta .talk--new.position-a {
    top: -25px;
  }
  .cta .talk--online.position-a {
    top: -50px;
    left: 10px;
  }
  .cta .btn {
    height: 50px;
    font-size: 18px;
  }
  .cta .btn .icn-arrow-right {
    right: 30px;
  }
  .cta .btn .icn-arrow-bottom {
    right: 30px;
  }
  .js-read-more .read-more-area {
    height: 34em;
    max-height: 34em;
  }
  .frame-box--round {
    padding: 54px 26px;
    border-radius: 30px;
  }
  .frame-box--round .frame-box__title {
    top: -64px;
    transform: translate(-50%, 50%);
  }
  .qa__q {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: min(20px, 2.6666666667vw);
    font-size: 18px;
    font-weight: normal;
  }
  .qa__a {
    margin-top: 20px;
    padding-right: 30px;
    padding-left: 70px;
    font-size: 18px;
  }
  .qa__a + .qa__q {
    margin-top: 55px;
  }
  .qa__a .img-wrapper {
    margin-top: 0.5em;
  }
  .qa__a .img-wrapper:has(.logo--navi_kobetsu) {
    width: 260px;
  }
  .access__area {
    margin-top: 60px;
  }
  .access__area .grid {
    grid-template-areas: "campus campus" "classroom map";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .access__classroom {
    width: 385px;
    margin-top: 20px;
  }
  .access__map {
    width: 575px;
    margin-top: 20px;
  }
  .access .campus__item {
    margin-top: 20px;
    padding-bottom: 20px;
  }
  .access .campus__item:first-child {
    margin-top: 0;
  }
  .access .campus__item .p-flex {
    gap: 40px;
  }
  .access .campus__item .p-flex .campus__name {
    flex: 0 0 386px;
  }
  .access .campus__name {
    gap: 18px;
    height: 1em;
    font-size: 30px;
  }
  .access .campus__name .pref {
    width: 70px;
    height: 24px;
    font-size: 13px;
  }
  .access .campus__route {
    margin-top: 0;
  }
  .access .classroom__item {
    margin-top: 20px;
    padding-bottom: 10px;
  }
  .access .classroom__item:first-child {
    margin-top: 0;
  }
  .access .classroom__name {
    font-size: 18px;
  }
  .access .classroom__address {
    margin-top: 0;
  }
  .access .classroom__route {
    margin-top: 0;
  }
  .opencampus__inner {
    display: flex;
    align-items: center;
    margin-top: 50px;
    border: 4px solid var(--clr-white);
    border-radius: 9999px;
  }
  .opencampus__campus-name {
    margin-right: 50px;
    font-size: 24px;
  }
  .opencampus__campus-name .pref {
    width: 100px;
    height: 44px;
    margin-right: 20px;
    font-size: 24px;
  }
  .opencampus__list-none {
    margin-top: 30px;
  }
  .opencampus__item {
    margin-top: 50px;
    padding-bottom: 50px;
  }
  .opencampus .event-card {
    --margin-left: 320px;
    position: relative;
    min-height: 210px;
  }
  .opencampus .event-card__meta {
    display: flex;
    margin-left: var(--margin-left);
  }
  .opencampus .event-card__meta-target {
    order: 2;
    margin-right: 10px;
  }
  .opencampus .event-card__meta-target .target {
    width: 100px;
    height: 18px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 14px;
  }
  .opencampus .event-card__meta-category {
    order: 3;
  }
  .opencampus .event-card__meta-category .category {
    width: 100px;
    height: 18px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 14px;
  }
  .opencampus .event-card__meta-date {
    order: 1;
    margin-right: 18px;
    font-size: 18px;
  }
  .opencampus .event-card__image {
    position: absolute;
    top: 0;
    width: 280px;
  }
  .opencampus .event-card__image img {
    border-radius: 30px;
  }
  .opencampus .event-card__title {
    line-height: 1.5;
    margin-top: 10px;
    margin-left: var(--margin-left);
    font-size: 18px;
  }
  .opencampus .event-card__description {
    margin-top: 10px;
    margin-left: var(--margin-left);
  }
  .opencampus .event-card__entry {
    margin-top: 25px;
    margin-left: var(--margin-left);
  }
  .opencampus .event-card__entry .btn {
    position: relative;
    width: 300px;
    height: 40px;
  }
  .opencampus .event-card__entry .btn .icn-arrow-right {
    position: absolute;
    top: 9px;
    right: 10px;
  }
  #header {
    position: fixed;
    top: 0;
    width: 100%;
    background: var(--clr-white);
    z-index: 5000;
  }
  #header .section-pd {
    padding-top: 26px;
    padding-bottom: 20px;
  }
  .breadcrumbs__item {
    display: flex;
    align-items: center;
    height: 50px;
  }
  .breadcrumbs__item:not(:last-child) {
    margin-right: 1em;
  }
  .breadcrumbs__item:not(:last-child)::after {
    margin-left: 1em;
  }
  .page-header {
    margin-top: 121px;
  }
  .page-header__title {
    height: 200px;
    font-size: 48px;
  }
  #float-cta {
    display: none;
  }
  #footer .section-pd {
    padding-top: 27px;
    padding-bottom: 23px;
  }
  #footer .icn-ig {
    width: 34px;
  }
  #footer .footer__actions {
    padding-top: 17px;
  }
  #footer .footer__nav {
    gap: 2em;
    margin-right: 2em;
  }
  #footer .footer__nav.p-flex-vcenter {
    align-items: center;
  }
  #footer .footer__copyright {
    margin-top: 58px;
  }
  .page-toppage #float-cta {
    position: fixed;
    top: 0;
    display: block;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.4s;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    z-index: 999;
  }
  .page-toppage #float-cta.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0%);
  }
  .page-toppage #float-cta .section-pd {
    padding-top: 26px;
    padding-bottom: 20px;
  }
  .page-toppage #mv > .section-pd {
    padding-top: 0;
    padding-bottom: 0;
  }
  .page-toppage #mv .mv {
    position: relative;
  }
  .page-toppage #mv .mv__tagline {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1120px;
    line-height: 1.48;
    margin-top: -10px;
    margin-right: auto;
    margin-left: auto;
    transform: translate(-50%, -50%);
    color: var(--clr-white);
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
    font-size: 56px;
    font-style: italic;
    font-weight: 900;
  }
  .page-toppage #mv .mv__image {
    height: 100vh;
  }
  .page-toppage #mv .mv__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page-toppage #mv .mv #header {
    position: absolute;
    top: 0;
    width: 100%;
    border-style: none;
    background: transparent;
  }
  .page-toppage #mv .mv #header .site-actions__logo .logo-navi {
    fill: var(--clr-white);
  }
  .page-toppage #mv .mv #header .site-actions__nav {
    display: none;
  }
  .page-toppage #mv .mv #header .site-actions__inner {
    padding-top: 20px;
  }
  .page-toppage .cta .btn--opencampus {
    border: 2px solid var(--clr-opencampus);
    background: var(--clr-white);
    color: var(--clr-opencampus);
  }
  .page-toppage .cta .btn--opencampus .icn-arrow-right {
    aspect-ratio: 97/128;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23339933%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22163.916%2C0%2092.084%2C71.822%20276.258%2C255.996%2092.084%2C440.178%20163.916%2C512%20419.916%2C255.996%20	%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center bottom;
    transform: rotate(90deg);
  }
  .page-toppage .bg-savon-1 {
    background: var(--clr-white) url(/common/img/toppage/bg_savon_01_pc.png) no-repeat center top;
  }
  .page-toppage .section-pd:has(.about) {
    padding-top: 250px;
  }
  .page-toppage .about {
    min-height: 424px;
  }
  .page-toppage .about .hdr--lv1::after {
    content: "";
    display: inline-block;
    width: 42px;
    height: 60px;
    margin-left: 0.25em;
    background: url(/common/img/icn/icn_pointer_hand.png) no-repeat left bottom;
  }
  .page-toppage .about .logo-navi-name {
    margin-right: 0.25em;
  }
  .page-toppage .bg-savon-2 {
    background: var(--clr-white) url(/common/img/toppage/bg_savon_02_pc.png) no-repeat center top 48px;
  }
  .page-toppage .section-pd:has(.pattern) {
    padding-bottom: 92px;
  }
  .page-toppage .pattern__title {
    grid-area: title;
    height: auto;
    line-height: 1;
    color: var(--clr-main);
    font-weight: bold;
    opacity: 0.5;
  }
  .page-toppage .pattern__merit {
    grid-area: merit;
    list-style: none;
  }
  .page-toppage .pattern__merit__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 500px;
    height: 50px;
    background: var(--clr-white);
    border-radius: 9999px;
    font-size: 22px;
  }
  .page-toppage .pattern__merit__item + .pattern__merit__item {
    margin-top: 10px;
  }
  .page-toppage .pattern__img {
    grid-area: img;
  }
  .page-toppage .pattern__img img {
    filter: drop-shadow(-1px 2px 5px rgba(0, 0, 0, 0.2));
  }
  .page-toppage .pattern.grid {
    display: grid;
  }
  .page-toppage .pattern.grid--1 {
    margin-top: 40px;
    grid-template-columns: 1fr 560px;
    grid-template-rows: max-content 1fr;
    gap: 20px 75px;
    grid-template-areas: "img title" "img merit";
  }
}
@media print and (width > 1235px), screen and (min-width: 1120px) and (width > 1235px) {
  .page-toppage .pattern.grid--1 {
    grid-template-columns: 600px 560px;
  }
}
@media print, screen and (min-width: 1120px) {
  .page-toppage .pattern.grid--1 .pattern__title {
    align-self: self-start;
    font-size: 150px;
    text-align: right;
  }
  .page-toppage .pattern.grid--1 .pattern__img img {
    margin-top: 60px;
  }
  .page-toppage .pattern.grid--2 {
    position: relative;
    grid-template-columns: 560px 1fr;
    grid-template-rows: 1fr;
    gap: 0 75px;
    grid-template-areas: "merit img" "title img";
    align-items: end;
    justify-content: end;
    margin-top: 150px;
  }
}
@media print and (width > 1235px), screen and (min-width: 1120px) and (width > 1235px) {
  .page-toppage .pattern.grid--2 {
    grid-template-columns: 560px 600px;
  }
}
@media print, screen and (min-width: 1120px) {
  .page-toppage .pattern.grid--2::before {
    position: absolute;
    top: -150px;
    content: "";
    display: block;
    width: 100%;
    height: 150px;
    background: url(/common/img/toppage/bg_cycle.png) no-repeat center center;
    background-size: auto 100%;
  }
  .page-toppage .pattern.grid--2 .pattern__title {
    font-size: 120px;
    letter-spacing: -0.1em;
  }
  .page-toppage .pattern.grid--2 .pattern__merit {
    margin-left: auto;
  }
  .page-toppage .pattern.grid--2 .pattern__img {
    margin-bottom: 38px;
  }
  .page-toppage .bg-think {
    position: relative;
    background: url(/common/img/toppage/bg_think_pc.png) no-repeat center bottom;
  }
  .page-toppage .section-pd:has(.think) {
    padding-top: 0;
    padding-bottom: 250px;
  }
  .page-toppage .think__body {
    line-height: 2.18;
    margin-top: 87px;
    font-size: 22px;
  }
  .page-toppage .p-bg-forte {
    position: relative;
    z-index: 1;
    background: url(/common/img/toppage/bg_forte_pc.png) no-repeat center top;
  }
  .page-toppage .section:has(.forte) {
    margin-top: -120px;
  }
  .page-toppage .section-pd:has(.forte) {
    padding-top: 0;
  }
  .page-toppage .p-wd-1320 {
    width: min(1320px, 100%);
  }
  .page-toppage .forte__inner {
    display: grid;
  }
  .page-toppage .forte__lead {
    width: 500px;
    line-height: 1.5;
    color: var(--clr-main);
    font-size: 36px;
  }
  .page-toppage .forte__lead .line {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    font-size: 48px;
    font-weight: 900;
    z-index: 1;
  }
  .page-toppage .forte__lead .line::before {
    position: absolute;
    left: 0;
    bottom: 7px;
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background-color: var(--clr-orange);
    z-index: -1;
  }
  .page-toppage .forte__text {
    width: 500px;
    font-size: 18px;
  }
  .page-toppage .forte__text p + p {
    margin-top: 0;
  }
  .page-toppage .forte--curriculum {
    margin-top: 25px;
  }
  .page-toppage .forte--curriculum .forte__inner {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: start;
  }
  .page-toppage .forte--curriculum .forte__lead {
    text-align: right;
  }
  .page-toppage .forte--curriculum .forte__body {
    grid-column: 2;
    grid-row: 1;
    padding-top: 75px;
  }
  .page-toppage .forte--curriculum .forte__text {
    margin-top: 50px;
  }
  .page-toppage .forte--motivation {
    margin-top: -142px;
  }
  .page-toppage .forte--motivation .forte__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: start;
  }
  .page-toppage .forte--motivation .forte__body {
    padding-top: 183px;
  }
  .page-toppage .forte--motivation .forte__lead {
    margin-left: 160px;
    text-align: left;
  }
  .page-toppage .forte--motivation .forte__text {
    margin-top: 40px;
    margin-left: 160px;
  }
  .page-toppage .forte--schooling {
    position: relative;
    margin-top: -30px;
    z-index: 1;
  }
  .page-toppage .forte--schooling .forte__lead {
    text-align: right;
  }
  .page-toppage .forte--schooling .forte__body {
    z-index: 1;
    width: 500px;
    margin-left: 50%;
  }
  .page-toppage .forte--schooling .forte__text {
    margin-top: 40px;
  }
  .page-toppage .forte--schooling .forte__visual {
    position: absolute;
    width: 55.4%;
  }
}
@media print and (min-width: 1320px), screen and (min-width: 1120px) and (min-width: 1320px) {
  .page-toppage .forte--motivation .forte__visual img {
    width: auto;
  }
}
@media print and (width > 1388px), screen and (min-width: 1120px) and (width > 1388px) {
  .page-toppage .forte--schooling .forte__visual {
    width: 769px;
  }
}
@media print, screen and (min-width: 1120px) {
  .page-toppage .bg-gradation {
    position: relative;
    margin-top: 120px;
    margin-top: min(120px, (100svw - 1120px) * 0.447);
    background: #00f;
    background: linear-gradient(140deg, rgba(255, 246, 0, 0.15) 0%, rgba(39, 39, 213, 0.15) 100%);
  }
  .page-toppage .bg-gradation .section-pd {
    padding-top: 175px;
    padding-bottom: 175px;
  }
  .page-toppage .bg-gradation::before {
    content: "";
    width: 100%;
    height: 175px;
    position: absolute;
    top: 0;
    background: #fff;
    -webkit-mask: url("/common/img/toppage/curve_pc.svg") no-repeat center/100% 100%;
    mask: url("/common/img/toppage/curve_pc.svg") no-repeat center/100% 100%;
  }
  .page-toppage .bg-gradation::after {
    content: "";
    width: 100%;
    height: 175px;
    position: absolute;
    bottom: 0;
    background: #fff;
    -webkit-mask: url("/common/img/toppage/curve_pc.svg") no-repeat center/100% 100%;
    mask: url("/common/img/toppage/curve_pc.svg") no-repeat center/100% 100%;
    transform: scaleY(-1);
  }
}
@media print, screen and (min-width: 1120px) {
  .page-about .difference__logo.flex {
    gap: 40px;
  }
  .page-about .difference__logo.flex > * {
    flex: 1;
  }
  .page-about .difference__logo__item {
    height: 60px;
    text-align: center;
  }
  .page-about .difference__logo__item .logo-mie {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .page-about .difference__logo__item .logo-navi {
    height: 100%;
    fill: var(--clr-ohzora);
  }
  .page-about .difference__school {
    margin-top: 70px;
  }
  .page-about .difference__school.p-flex {
    gap: 40px;
  }
  .page-about .difference__school.p-flex > * {
    flex: 1;
  }
  .page-about .difference__school__item__title {
    text-align: center;
    color: var(--clr-main);
    font-size: 30px;
    font-weight: bold;
  }
  .page-about .difference__table {
    margin-top: 70px;
    position: relative;
    width: 100%;
    font-size: 18px;
  }
  .page-about .difference__table tr th:first-of-type {
    width: 190px;
  }
  .page-about .difference__table tr th {
    text-align: center;
    vertical-align: middle;
    color: var(--clr-main);
    font-weight: bold;
  }
  .page-about .difference__table tr th[scope=col] {
    height: 75px;
    font-size: 22px;
  }
  .page-about .difference__table tr td {
    width: 50%;
    padding-top: 22px;
    padding-bottom: 22px;
    text-align: center;
    vertical-align: middle;
  }
  .page-about .difference__table tr:first-of-type th:first-of-type {
    border-top-style: none;
    border-left-style: none;
    background: var(--clr-white);
  }
  .page-about .difference__table::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    border: solid 4px var(--clr-orange);
    border-radius: 10px;
    width: 404px;
    height: 100%;
  }
  .page-admission .requirement__item .tbl-basic {
    width: 100%;
    table-layout: auto;
  }
  .page-admission .requirement__item .tbl-basic th {
    width: 165px;
    padding: 30px;
    font-weight: normal;
    text-align: left;
  }
  .page-admission .requirement__item .tbl-basic td {
    padding: 30px;
  }
  .page-admission .requirement__item .tbl-basic td:not(:last-child) {
    width: 225px;
  }
  .page-admission .requirement__item .tbl-basic td .flex {
    gap: 10px;
  }
  .page-admission .requirement__item:not(:first-child) {
    margin-top: 100px;
  }
  .page-admission .requirement .specific {
    display: inline-block;
    min-width: 6em;
    padding: 1px 2px;
    background: var(--clr-main);
    color: var(--clr-white);
    text-align: center;
  }
  .page-admission .admission-flow__list {
    position: relative;
    list-style: none;
    margin-top: 80px;
  }
  .page-admission .admission-flow__list::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    bottom: 0;
    width: 10px;
    background: var(--clr-main);
    border-radius: 999px;
    transform: translateX(-50%);
  }
  .page-admission .admission-flow__hdr {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    height: 44px;
    padding-right: 25px;
    padding-left: 25px;
    background: var(--clr-main);
    border-radius: 9999px;
    color: var(--clr-white);
    font-size: 24px;
    font-weight: bold;
  }
  .page-admission .admission-flow__hdr::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 52px;
    height: 10px;
    background: var(--clr-main);
    transform: translateY(-50%);
  }
  .page-admission .admission-flow__hdr::after {
    content: "";
    position: absolute;
    aspect-ratio: 1/1;
    top: 50%;
    width: 30px;
    background: var(--clr-orange);
    border: 10px solid var(--clr-main);
    border-radius: 50%;
    box-sizing: border-box;
    transform: translate(50%, -50%);
  }
  .page-admission .admission-flow__logo {
    display: none;
    height: 60px;
    text-align: left;
  }
  .page-admission .admission-flow__logo .logo-mie {
    width: auto;
    height: 100%;
  }
  .page-admission .admission-flow__logos {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0 260px;
    width: 940px;
    height: 60px;
    margin-right: auto;
    margin-left: auto;
  }
  .page-admission .admission-flow__logos .admission-flow__logo {
    flex: 1;
    display: inline-block;
  }
  .page-admission .admission-flow__logos p + p {
    margin-top: 0;
  }
  .page-admission .admission-flow__body {
    font-size: 18px;
  }
  .page-admission .admission-flow__item {
    width: 100%;
    margin-top: 50px;
  }
  .page-admission .admission-flow__item--start {
    position: relative;
    padding-bottom: 20px;
    background: var(--clr-white);
    text-align: center;
    z-index: 1;
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr {
    position: absolute;
    top: 0;
    left: 50%;
    height: 60px;
    margin-left: 0;
    transform: translateX(-50%);
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr::before {
    display: none;
  }
  .page-admission .admission-flow__item--start .admission-flow__hdr::after {
    display: none;
  }
  .page-admission .admission-flow__item--start + .admission-flow__item {
    position: relative;
  }
  .page-admission .admission-flow__item--start + .admission-flow__item::before {
    position: absolute;
    top: -60px;
    left: 50%;
    content: "";
    display: block;
    background-color: var(--clr-white);
    border-left: 10px solid var(--clr-main);
    border-radius: 999px 999px 0 0;
    width: 10px;
    height: 20px;
    transform: translate(-50%, 0%);
    z-index: 1;
  }
  .page-admission .admission-flow__item--start .admission-flow__body {
    width: 100%;
  }
  .page-admission .admission-flow__item--goal {
    text-align: center;
  }
  .page-admission .admission-flow__item--goal .admission-flow__hdr {
    gap: 0;
    width: 540px;
    height: 66px;
    font-size: 36px;
  }
  .page-admission .admission-flow__item--goal .admission-flow__hdr::before {
    display: none;
  }
  .page-admission .admission-flow__item--goal .admission-flow__hdr::after {
    position: static;
    display: inline;
    padding-right: 1em;
    border-style: none;
    background: none;
  }
  .page-admission .admission-flow__item--left .admission-flow__node {
    width: 500px;
    padding-right: 50px;
    text-align: right;
  }
  .page-admission .admission-flow__item--left .admission-flow__hdr {
    margin-left: auto;
  }
  .page-admission .admission-flow__item--left .admission-flow__hdr::before {
    left: auto;
    right: 0;
    transform: translate(calc(100% - 3px), -50%);
  }
  .page-admission .admission-flow__item--left .admission-flow__hdr::after {
    left: auto;
    right: -50px;
  }
  .page-admission .admission-flow__item--left .admission-flow__body {
    text-align: left;
  }
  .page-admission .admission-flow__branch {
    display: flex;
  }
  .page-admission .admission-flow__branch > * {
    flex: 1;
  }
  .page-admission .admission-flow__branch-main {
    padding-right: 50px;
  }
  .page-admission .admission-flow__branch-main .admission-flow__node {
    text-align: right;
  }
  .page-admission .admission-flow__branch-main .admission-flow__hdr::before {
    left: auto;
    right: 0;
    transform: translate(calc(100% - 3px), -50%);
  }
  .page-admission .admission-flow__branch-main .admission-flow__hdr::after {
    display: none;
  }
  .page-admission .admission-flow__branch-main .admission-flow__body {
    text-align: left;
  }
  .page-admission .admission-flow__branch-sub {
    padding-left: 50px;
  }
  .page-admission .admission-flow__branch-sub .admission-flow__hdr::before {
    left: 0;
    transform: translate(calc(-100% + 3px), -50%);
  }
  .page-admission .admission-flow__branch-sub .admission-flow__hdr::after {
    left: -50px;
    transform: translate(-50%, -50%);
  }
  .page-admission .admission-flow .btn {
    position: relative;
    width: 400px;
    height: 50px;
    margin-right: auto;
    margin-left: auto;
  }
  .page-admission .admission-flow .btn .icn-arrow-right {
    position: absolute;
    right: 30px;
    transform: translateY(-2px);
  }
  .page-admission .fee-table {
    width: 50%;
  }
  .page-admission .fee-table th {
    padding: 20px;
  }
  .page-admission .fee-table td {
    padding: 20px;
    text-align: center;
  }
  .p-font-10 {
    font-size: 10px !important;
  }
  .p-font-11 {
    font-size: 11px !important;
  }
  .p-font-12 {
    font-size: 12px !important;
  }
  .p-font-13 {
    font-size: 13px !important;
  }
  .p-font-14 {
    font-size: 14px !important;
  }
  .p-font-15 {
    font-size: 15px !important;
  }
  .p-font-16 {
    font-size: 16px !important;
  }
  .p-font-17 {
    font-size: 17px !important;
  }
  .p-font-18 {
    font-size: 18px !important;
  }
  .p-font-19 {
    font-size: 19px !important;
  }
  .p-font-20 {
    font-size: 20px !important;
  }
  .p-font-21 {
    font-size: 21px !important;
  }
  .p-font-22 {
    font-size: 22px !important;
  }
  .p-font-23 {
    font-size: 23px !important;
  }
  .p-font-24 {
    font-size: 24px !important;
  }
  .p-font-25 {
    font-size: 25px !important;
  }
  .p-font-26 {
    font-size: 26px !important;
  }
  .p-font-27 {
    font-size: 27px !important;
  }
  .p-font-28 {
    font-size: 28px !important;
  }
  .p-font-29 {
    font-size: 29px !important;
  }
  .p-font-30 {
    font-size: 30px !important;
  }
  .p-font-31 {
    font-size: 31px !important;
  }
  .p-font-32 {
    font-size: 32px !important;
  }
  .p-font-33 {
    font-size: 33px !important;
  }
  .p-font-34 {
    font-size: 34px !important;
  }
  .p-font-35 {
    font-size: 35px !important;
  }
  .p-font-36 {
    font-size: 36px !important;
  }
  .p-font-37 {
    font-size: 37px !important;
  }
  .p-font-38 {
    font-size: 38px !important;
  }
  .p-font-39 {
    font-size: 39px !important;
  }
  .p-font-40 {
    font-size: 40px !important;
  }
  .p-font-41 {
    font-size: 41px !important;
  }
  .p-font-42 {
    font-size: 42px !important;
  }
  .p-font-43 {
    font-size: 43px !important;
  }
  .p-font-44 {
    font-size: 44px !important;
  }
  .p-font-45 {
    font-size: 45px !important;
  }
  .p-font-46 {
    font-size: 46px !important;
  }
  .p-font-47 {
    font-size: 47px !important;
  }
  .p-font-48 {
    font-size: 48px !important;
  }
  .p-block {
    display: block !important;
  }
  .p-inline {
    display: inline !important;
  }
  .p-iblock {
    display: inline-block !important;
  }
  .p-flex {
    display: flex !important;
  }
  .p-iflex {
    display: inline-flex !important;
  }
  .p-none {
    display: none !important;
  }
  .p-grid {
    display: grid !important;
  }
  .p-mt-0 {
    margin-top: 0px !important;
  }
  .p-mr-0 {
    margin-right: 0px !important;
  }
  .p-mb-0 {
    margin-bottom: 0px !important;
  }
  .p-ml-0 {
    margin-left: 0px !important;
  }
  .p-pt-0 {
    padding-top: 0px !important;
  }
  .p-pr-0 {
    padding-right: 0px !important;
  }
  .p-pb-0 {
    padding-bottom: 0px !important;
  }
  .p-pl-0 {
    padding-left: 0px !important;
  }
  .p-mt-5 {
    margin-top: 5px !important;
  }
  .p-mr-5 {
    margin-right: 5px !important;
  }
  .p-mb-5 {
    margin-bottom: 5px !important;
  }
  .p-ml-5 {
    margin-left: 5px !important;
  }
  .p-pt-5 {
    padding-top: 5px !important;
  }
  .p-pr-5 {
    padding-right: 5px !important;
  }
  .p-pb-5 {
    padding-bottom: 5px !important;
  }
  .p-pl-5 {
    padding-left: 5px !important;
  }
  .p-mt-10 {
    margin-top: 10px !important;
  }
  .p-mr-10 {
    margin-right: 10px !important;
  }
  .p-mb-10 {
    margin-bottom: 10px !important;
  }
  .p-ml-10 {
    margin-left: 10px !important;
  }
  .p-pt-10 {
    padding-top: 10px !important;
  }
  .p-pr-10 {
    padding-right: 10px !important;
  }
  .p-pb-10 {
    padding-bottom: 10px !important;
  }
  .p-pl-10 {
    padding-left: 10px !important;
  }
  .p-mt-15 {
    margin-top: 15px !important;
  }
  .p-mr-15 {
    margin-right: 15px !important;
  }
  .p-mb-15 {
    margin-bottom: 15px !important;
  }
  .p-ml-15 {
    margin-left: 15px !important;
  }
  .p-pt-15 {
    padding-top: 15px !important;
  }
  .p-pr-15 {
    padding-right: 15px !important;
  }
  .p-pb-15 {
    padding-bottom: 15px !important;
  }
  .p-pl-15 {
    padding-left: 15px !important;
  }
  .p-mt-20 {
    margin-top: 20px !important;
  }
  .p-mr-20 {
    margin-right: 20px !important;
  }
  .p-mb-20 {
    margin-bottom: 20px !important;
  }
  .p-ml-20 {
    margin-left: 20px !important;
  }
  .p-pt-20 {
    padding-top: 20px !important;
  }
  .p-pr-20 {
    padding-right: 20px !important;
  }
  .p-pb-20 {
    padding-bottom: 20px !important;
  }
  .p-pl-20 {
    padding-left: 20px !important;
  }
  .p-mt-25 {
    margin-top: 25px !important;
  }
  .p-mr-25 {
    margin-right: 25px !important;
  }
  .p-mb-25 {
    margin-bottom: 25px !important;
  }
  .p-ml-25 {
    margin-left: 25px !important;
  }
  .p-pt-25 {
    padding-top: 25px !important;
  }
  .p-pr-25 {
    padding-right: 25px !important;
  }
  .p-pb-25 {
    padding-bottom: 25px !important;
  }
  .p-pl-25 {
    padding-left: 25px !important;
  }
  .p-mt-30 {
    margin-top: 30px !important;
  }
  .p-mr-30 {
    margin-right: 30px !important;
  }
  .p-mb-30 {
    margin-bottom: 30px !important;
  }
  .p-ml-30 {
    margin-left: 30px !important;
  }
  .p-pt-30 {
    padding-top: 30px !important;
  }
  .p-pr-30 {
    padding-right: 30px !important;
  }
  .p-pb-30 {
    padding-bottom: 30px !important;
  }
  .p-pl-30 {
    padding-left: 30px !important;
  }
  .p-mt-35 {
    margin-top: 35px !important;
  }
  .p-mr-35 {
    margin-right: 35px !important;
  }
  .p-mb-35 {
    margin-bottom: 35px !important;
  }
  .p-ml-35 {
    margin-left: 35px !important;
  }
  .p-pt-35 {
    padding-top: 35px !important;
  }
  .p-pr-35 {
    padding-right: 35px !important;
  }
  .p-pb-35 {
    padding-bottom: 35px !important;
  }
  .p-pl-35 {
    padding-left: 35px !important;
  }
  .p-mt-40 {
    margin-top: 40px !important;
  }
  .p-mr-40 {
    margin-right: 40px !important;
  }
  .p-mb-40 {
    margin-bottom: 40px !important;
  }
  .p-ml-40 {
    margin-left: 40px !important;
  }
  .p-pt-40 {
    padding-top: 40px !important;
  }
  .p-pr-40 {
    padding-right: 40px !important;
  }
  .p-pb-40 {
    padding-bottom: 40px !important;
  }
  .p-pl-40 {
    padding-left: 40px !important;
  }
  .p-mt-45 {
    margin-top: 45px !important;
  }
  .p-mr-45 {
    margin-right: 45px !important;
  }
  .p-mb-45 {
    margin-bottom: 45px !important;
  }
  .p-ml-45 {
    margin-left: 45px !important;
  }
  .p-pt-45 {
    padding-top: 45px !important;
  }
  .p-pr-45 {
    padding-right: 45px !important;
  }
  .p-pb-45 {
    padding-bottom: 45px !important;
  }
  .p-pl-45 {
    padding-left: 45px !important;
  }
  .p-mt-50 {
    margin-top: 50px !important;
  }
  .p-mr-50 {
    margin-right: 50px !important;
  }
  .p-mb-50 {
    margin-bottom: 50px !important;
  }
  .p-ml-50 {
    margin-left: 50px !important;
  }
  .p-pt-50 {
    padding-top: 50px !important;
  }
  .p-pr-50 {
    padding-right: 50px !important;
  }
  .p-pb-50 {
    padding-bottom: 50px !important;
  }
  .p-pl-50 {
    padding-left: 50px !important;
  }
  .p-mt-55 {
    margin-top: 55px !important;
  }
  .p-mr-55 {
    margin-right: 55px !important;
  }
  .p-mb-55 {
    margin-bottom: 55px !important;
  }
  .p-ml-55 {
    margin-left: 55px !important;
  }
  .p-pt-55 {
    padding-top: 55px !important;
  }
  .p-pr-55 {
    padding-right: 55px !important;
  }
  .p-pb-55 {
    padding-bottom: 55px !important;
  }
  .p-pl-55 {
    padding-left: 55px !important;
  }
  .p-mt-60 {
    margin-top: 60px !important;
  }
  .p-mr-60 {
    margin-right: 60px !important;
  }
  .p-mb-60 {
    margin-bottom: 60px !important;
  }
  .p-ml-60 {
    margin-left: 60px !important;
  }
  .p-pt-60 {
    padding-top: 60px !important;
  }
  .p-pr-60 {
    padding-right: 60px !important;
  }
  .p-pb-60 {
    padding-bottom: 60px !important;
  }
  .p-pl-60 {
    padding-left: 60px !important;
  }
  .p-mt-65 {
    margin-top: 65px !important;
  }
  .p-mr-65 {
    margin-right: 65px !important;
  }
  .p-mb-65 {
    margin-bottom: 65px !important;
  }
  .p-ml-65 {
    margin-left: 65px !important;
  }
  .p-pt-65 {
    padding-top: 65px !important;
  }
  .p-pr-65 {
    padding-right: 65px !important;
  }
  .p-pb-65 {
    padding-bottom: 65px !important;
  }
  .p-pl-65 {
    padding-left: 65px !important;
  }
  .p-mt-70 {
    margin-top: 70px !important;
  }
  .p-mr-70 {
    margin-right: 70px !important;
  }
  .p-mb-70 {
    margin-bottom: 70px !important;
  }
  .p-ml-70 {
    margin-left: 70px !important;
  }
  .p-pt-70 {
    padding-top: 70px !important;
  }
  .p-pr-70 {
    padding-right: 70px !important;
  }
  .p-pb-70 {
    padding-bottom: 70px !important;
  }
  .p-pl-70 {
    padding-left: 70px !important;
  }
  .p-mt-75 {
    margin-top: 75px !important;
  }
  .p-mr-75 {
    margin-right: 75px !important;
  }
  .p-mb-75 {
    margin-bottom: 75px !important;
  }
  .p-ml-75 {
    margin-left: 75px !important;
  }
  .p-pt-75 {
    padding-top: 75px !important;
  }
  .p-pr-75 {
    padding-right: 75px !important;
  }
  .p-pb-75 {
    padding-bottom: 75px !important;
  }
  .p-pl-75 {
    padding-left: 75px !important;
  }
  .p-mt-80 {
    margin-top: 80px !important;
  }
  .p-mr-80 {
    margin-right: 80px !important;
  }
  .p-mb-80 {
    margin-bottom: 80px !important;
  }
  .p-ml-80 {
    margin-left: 80px !important;
  }
  .p-pt-80 {
    padding-top: 80px !important;
  }
  .p-pr-80 {
    padding-right: 80px !important;
  }
  .p-pb-80 {
    padding-bottom: 80px !important;
  }
  .p-pl-80 {
    padding-left: 80px !important;
  }
  .p-mt-85 {
    margin-top: 85px !important;
  }
  .p-mr-85 {
    margin-right: 85px !important;
  }
  .p-mb-85 {
    margin-bottom: 85px !important;
  }
  .p-ml-85 {
    margin-left: 85px !important;
  }
  .p-pt-85 {
    padding-top: 85px !important;
  }
  .p-pr-85 {
    padding-right: 85px !important;
  }
  .p-pb-85 {
    padding-bottom: 85px !important;
  }
  .p-pl-85 {
    padding-left: 85px !important;
  }
  .p-mt-90 {
    margin-top: 90px !important;
  }
  .p-mr-90 {
    margin-right: 90px !important;
  }
  .p-mb-90 {
    margin-bottom: 90px !important;
  }
  .p-ml-90 {
    margin-left: 90px !important;
  }
  .p-pt-90 {
    padding-top: 90px !important;
  }
  .p-pr-90 {
    padding-right: 90px !important;
  }
  .p-pb-90 {
    padding-bottom: 90px !important;
  }
  .p-pl-90 {
    padding-left: 90px !important;
  }
  .p-mt-95 {
    margin-top: 95px !important;
  }
  .p-mr-95 {
    margin-right: 95px !important;
  }
  .p-mb-95 {
    margin-bottom: 95px !important;
  }
  .p-ml-95 {
    margin-left: 95px !important;
  }
  .p-pt-95 {
    padding-top: 95px !important;
  }
  .p-pr-95 {
    padding-right: 95px !important;
  }
  .p-pb-95 {
    padding-bottom: 95px !important;
  }
  .p-pl-95 {
    padding-left: 95px !important;
  }
  .p-mt-100 {
    margin-top: 100px !important;
  }
  .p-mr-100 {
    margin-right: 100px !important;
  }
  .p-mb-100 {
    margin-bottom: 100px !important;
  }
  .p-ml-100 {
    margin-left: 100px !important;
  }
  .p-pt-100 {
    padding-top: 100px !important;
  }
  .p-pr-100 {
    padding-right: 100px !important;
  }
  .p-pb-100 {
    padding-bottom: 100px !important;
  }
  .p-pl-100 {
    padding-left: 100px !important;
  }
  .p-flex-reverse {
    flex-direction: row-reverse;
  }
  .p-flex-between {
    justify-content: space-between;
  }
  .p-flex-center {
    justify-content: center;
  }
  .p-flex-vcenter {
    align-items: center;
  }
  .p-flex-column {
    flex-direction: column;
  }
  .p-flex-end {
    justify-content: flex-end;
  }
}/*# sourceMappingURL=style_2026.css.map */