@charset "UTF-8";
/*-------------------------------

# COMMON

-------------------------------*/

main::after {
  content: "";
  display: block;
  width: 100vw;
  height: 150vh;
  background: url(../img/page/top/pl_fv.webp) top;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translateY(var(--bg-offset, 0px));
  will-change: transform;
}

.page main {
  background: #fff;
}

.post-type-opencampus main,
.post-type-courses main,
.post-type-event_contest main,
.post-type-news main,
.taxonomy-news_cat main,
.post-type-marrostep main,
.taxonomy-marrostep_cat main,
.post-type-teacher main,
.post-type-gallery main,
.post-type-interview main,
.post-type-senior main {
  background: #fff;
}

/*-------------------------------

## ヘッダー

-------------------------------*/
.hd {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.hd .logo {
  position: fixed;
  width: 152px;
  top: 25px;
  left: 55px;
}
.hd .sns {
  position: fixed;
  display: flex;
  flex-direction: column;
  top: 0;
  bottom: 0;
  left: 25px;
  justify-content: center;
  z-index: 2;
}
.hd .sns__item {
  display: flex;
  width: 70px;
  height: 70px;
  border: 1px solid var(--black);
  align-items: center;
  justify-content: center;
  transition: 0.4s ease;
}

.sns__item v {
  transition: 0.4s ease;
}

.sns__item .wt,
.sns__item:hover .bk {
  display: none;
}

.sns__item:hover .wt {
  display: block;
}

.hd .sns__item:hover,
.ft .sns__item:hover {
  background: #000;
}

.hd.white .sns__item {
  border-color: #fff;
}

.hd .wt,
.hd.white .bk {
  display: none;
}

.hd.white .wt {
  display: block;
}

.hd .sns__item:not(:first-of-type) {
  border-top: none;
}
.hd .sns__img--line {
  width: 30px;
}
.hd .sns__img--insta {
  width: 30px;
}
.hd .sns__img--tiktok {
  width: 40px;
}
.hd .sns__img--youtube {
  width: 30px;
}
.hd .btn-wrap {
  position: fixed;
  display: flex;
  flex-direction: column;
  top: 0;
  bottom: 0;
  right: 0;
  justify-content: center;
  transition: opacity 0.4s ease;
}

.hd .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  writing-mode: vertical-rl;
  padding: 55px 0;
}
.hd .btn--oc {
  background: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  font-family: var(--robo);
  letter-spacing: 0.05em;
}
.hd .btn--info {
  background: var(--black);
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
}
.hd .nav {
  position: absolute;
  top: 40px;
  right: 100px;
}

.hd.white .nav {
  color: #fff;
}
.hd .nav,
.hd .nav__inner {
  display: flex;
  flex-direction: row;
  gap: 30px;
}
.hd .nav__item {
  display: block;
  font-size: 1.6rem;
  /* color: #fff; */
}
.hd .ham {
  position: fixed;
  cursor: pointer;
  top: 40px;
  right: 25px;
  width: 25px;
  height: 25px;
  z-index: 12;
}
.hd .ham__buns {
  transition: all 0.4s;
  position: absolute;
  height: 2px;
  /* background: #fff; */
  background: var(--black);
  width: 100%;
  z-index: 2;
}

.hd.white .ham__buns {
  background: #fff;
}

.hd .ham__buns--1 {
  top: 0px;
}
.hd .ham__buns--2 {
  top: 10px;
}
.hd .ham__buns--3 {
  top: 20px;
}
.hd .ham-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
  display: flex;
  flex-direction: row;
}
.hd .left {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hd .left__inner {
  transform: translate(90px, 0);
  width: 344px;
}
.hd .left__btn-wrap > * + * {
  margin-top: 15px;
}
.hd .left__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  border: 1px solid #fff;
  transition: 0.4s ease;
}
.hd .left__btn:hover {
  color: #fff;
  background: #d83a60;
  border-color: #d83a60;
}
.hd .left__btn--oc {
  background: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  font-family: var(--robo);
  letter-spacing: 0.05em;
}
.hd .left__btn--info {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
}
.hd .left__bnr {
  margin-top: 50px;
}
.hd .right {
  width: 50%;
  background: #fff;
  padding: 130px 0 100px;
  overflow-y: scroll;
}
.hd .right-nav {
  width: 455px;
  margin-left: auto;
  margin-right: auto;
}
.hd .right-nav__block {
  border-bottom: 1px solid var(--black);
}
.hd .right-nav__block:first-of-type {
  border-top: 1px solid var(--black);
}
.hd .right-nav__heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  padding: 30px 0;
}
.hd .right-nav__heading::before,
.hd .right-nav__heading::after {
  content: "";
  position: absolute;
  background: var(--black);
  margin: auto;
  top: 0;
  bottom: 0;
}
.hd .right-nav__heading::before {
  width: 1px;
  height: 20px;
  right: 30px;
  transition: 0.4s;
}
.hd .right-nav__heading::after {
  width: 20px;
  height: 1px;
  right: 21px;
}
.hd .is-opened .right-nav__heading::before {
  opacity: 0;
  rotate: 90deg;
}
.hd .right-nav__inner {
  padding-top: 5px;
  padding-bottom: 40px;
}
.hd .right-nav__item {
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
  position: relative;
  margin-left: 30px;
  letter-spacing: 0.1em;
}
.hd :is(.right-nav__item--normal, .right-nav__item--parent)::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto;
  left: -20px;
  height: 10px;
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 65% 50%, 0 100%);
  background: var(--gray);
}
.hd .right-nav__child-wrap {
  margin-top: 13px;
}
.hd .right-nav__item--child {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  margin-left: 40px;
}
.hd .right-nav__item--child::before {
  position: absolute;
  content: "-";
  top: 0;
  bottom: 0;
  left: -10px;
  margin: auto;
  /* height: 1px;
  width: 4px;
  background: var(--black); */
}
.hd .right-nav__child-wrap > * + * {
  margin-top: 8px;
}
.hd .right-nav__family-wrap > * + *,
.hd .right-nav__family-wrap + .right-nav__normal-wrap {
  margin-top: 30px;
}
.hd .right-nav__normal-wrap > * + * {
  margin-top: 15px;
}
.hd .right-nav__family-wrap {
  margin-bottom: 25px;
}
.hd .right-info {
  margin: 130px auto 0;
  transform: translate(25px, 0);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px 25px;
  width: 504px;
}
.hd .right-info__break {
  flex-basis: 100%;
  height: 0;
}
.hd .right-info__item {
  letter-spacing: 0.1em;
}
.hd .ham-wrap--open {
  opacity: 1;
  pointer-events: all;
}
.hd .ham--open .ham__buns {
  background: var(--black);
}
.hd .ham--open .ham__buns--1 {
  rotate: -45deg;
  translate: 0 10px;
}
.hd .ham--open .ham__buns--2 {
  opacity: 0;
}
.hd .ham--open .ham__buns--3 {
  rotate: 45deg;
  translate: 0 -10px;
}

@media (max-width: 1280px) {
  .hd .nav {
    display: block;
  }
  .hd .nav > * + * {
    margin-top: 8px;
  }
  .hd .left__inner {
    transform: translate(55px, 0);
  }
  .hd .right-nav {
    width: 392px;
  }
  .hd .right-info {
    transform: unset;
    width: 392px;
  }
  .hd .right-info__break {
    display: none;
  }
}
@media (max-width: 1025px) {
  .hd .left__inner {
    transform: translate(50px, 0);
    width: 270px;
  }
  .hd .left__bnr .c-exam-bnr01__heading {
    font-size: 2.4rem;
  }
  .hd .right-nav {
    width: calc(50vw - 60px);
  }
}
@media (max-width: 768px) {
  .hd .logo {
    width: 120px;
    top: 15px;
    left: 15px;
  }
  .hd .ham {
    top: 30px;
    right: 20px;
  }
  .hd .ham-wrap {
    display: block;
    overflow-y: scroll;
  }
  .hd .ham-wrap__hd {
    padding-top: 15px;
    height: 80px;
    width: 100%;
    background: #fff;
  }
  .hd .ham-wrap__logo {
    width: 120px;
    margin-left: 15px;
  }
  .hd .left,
  .hd .right {
    width: auto;
  }
  .hd .left {
    height: 184px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .hd .left__inner {
    transform: unset;
    width: auto;
    display: flex;
    flex-direction: column-reverse;
    gap: unset;
  }
  .hd .left__btn-wrap,
  .hd .left__bnr {
    width: 95vw;
  }
  .hd .left__btn-wrap {
    display: flex;
    flex-direction: row;
    margin-top: 15px;
  }
  .hd .left__btn {
    height: 60px;
  }
  .hd .left__btn--oc {
    font-size: 2rem;
  }
  .hd .left__btn--info {
    font-size: 1.8rem;
  }
  .hd .left__bnr {
    margin-top: 0;
  }
  .hd .left__btn-wrap {
    display: flex;
    flex-direction: row;
    margin-top: 8px;
  }
  .hd .left__btn-wrap > * + * {
    margin-top: 0;
  }
  .hd .left__btn {
    width: 50%;
  }
  .hd .left__bnr {
    margin-left: auto;
    margin-right: auto;
  }
  .hd .right {
    padding-top: 40px;
    padding-bottom: 40px;
    overflow-y: unset;
  }
  .hd .right-nav {
    width: 95vw;
    margin-left: auto;
    margin-right: auto;
  }
  .hd .right-nav__heading {
    font-size: 1.6rem;
    padding: 15px 0;
  }
  .hd .right-nav__family-wrap > * + *,
  .hd .right-nav__family-wrap + .right-nav__normal-wrap {
    margin-top: 25px;
  }
  .hd .right-nav__item {
    font-size: 1.4rem;
  }
  .hd .right-info {
    width: 95vw;
    font-weight: bold;
    margin-top: 30px;
    gap: 15px 25px;
  }
  .hd .sns {
    position: static;
    flex-direction: row;
    margin-top: 25px;
    max-width: 95vw;
  }
  .hd .sns__item:not(:first-of-type) {
    border-top: 1px solid var(--black);
    border-left: none;
  }
}

/*-------------------------------

## フッター（資料請求）

-------------------------------*/
.ft-information {
  padding-top: 100px;
  padding-bottom: 250px;
  background: rgba(0, 0, 0, 0.6);
}
.ft-information .block {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  gap: 180px;
  transform: translate(-20px, 0);
}
.ft-information .block__img {
  width: 250px;
}
.ft-information .block__txt {
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.ft-information .c-btn {
  margin-top: 100px;
}

@media (max-width: 1025px) {
  .ft-information .block {
    gap: 90px;
    transform: unset;
  }
}
@media (max-width: 768px) {
  .ft-information {
    padding-top: 40px;
    padding-bottom: 100px;
  }
  .ft-information .block {
    display: block;
    margin-top: 50px;
  }
  .ft-information .block__img {
    width: 200px;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
  .ft-information .block__txt {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.6rem;
    margin-top: 20px;
  }
  .ft-information .c-btn {
    margin: 50px auto 0;
  }
}
/*-------------------------------

## （フッター）

-------------------------------*/
.ft {
  overflow: hidden;
  padding-top: 130px;
  padding-bottom: 180px;
  background: #fff;
}
.ft .logo {
  width: 170px;
}
.ft .top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.ft .left {
  display: flex;
  flex-direction: row;
  gap: 144px;
}
.ft .sns {
  display: flex;
  flex-direction: row;
}
.ft .sns__item {
  display: flex;
  width: 70px;
  height: 70px;
  border: 1px solid var(--black);
  align-items: center;
  justify-content: center;
  transition: 0.4s ease;
}
.ft .sns .sns__item:not(:first-of-type) {
  border-left: none;
}
.ft .sns__img--line {
  width: 30px;
}
.ft .sns__img--insta {
  width: 30px;
}
.ft .sns__img--tiktok {
  width: 40px;
}
.ft .sns__img--youtube {
  width: 30px;
}
.ft .btn-wrap {
  display: flex;
  flex-direction: row;
}
.ft .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--black);
  height: 70px;
  padding: 0 55px;
}
.ft .btn--oc {
  font-family: var(--robo);
  font-weight: bold;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
}
.ft .btn--info {
  font-family: var(--zenkaku);
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  background: var(--black);
  color: #fff;
}
.ft .nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 180px;
  margin-left: 100px;
  margin-right: 2vw;
  gap: 70px 20px;
  gap: 70px 0;
}
.ft .nav__block--other > * + * {
  margin-top: 8px;
}
.ft .nav__heading {
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
}
.ft .nav__item {
  font-size: 1.4rem;
  display: block;
}
.ft .nav__item--parent {
  font-weight: bold;
}
.ft .nav__item--child {
  font-size: 1.3rem;
  position: relative;
  margin-left: 21px;
}
.ft .nav__item--child::before {
  position: absolute;
  content: "-";
  top: 0;
  bottom: 0;
  left: -8px;
  margin: auto;
  /* height: 1px;
  width: 4px;
  background: var(--black); */
}
.ft .nav__inner {
  margin-top: 30px;
}
.ft .nav__family-wrap > * + * {
  margin-top: 10px;
}
.ft .nav__child-wrap {
  margin-top: 10px;
}
.ft .nav__child-wrap > * + * {
  margin-top: 10px;
}
.ft .nav__family-wrap + .nav__normal-wrap {
  margin-top: 10px;
}
.ft .nav__normal-wrap > * + * {
  margin-top: 10px;
}
.ft .cr {
  line-height: 2;
  text-align: right;
  margin-top: 90px;
}

@media (max-width: 1540px) {
  .ft .nav {
    grid-template-columns: repeat(4, 1fr);
  }
  .ft .nav__block--other > * + * {
    margin-top: 10px;
  }
  .ft .left {
    gap: 80px;
  }
}
@media (max-width: 1280px) {
  .ft .nav {
    grid-template-columns: repeat(3, 1fr);
  }
  .ft .top {
    display: block;
  }
  .ft .btn-wrap {
    margin-top: 50px;
  }
  .ft .nav {
    margin-top: 100px;
  }
}
@media (max-width: 1025px) {
  .ft .nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .ft {
    padding-top: 55px;
    padding-bottom: 130px;
  }
  .ft .left {
    display: block;
  }
  .ft .logo {
    margin-left: auto;
    margin-right: auto;
  }
  .ft .sns {
    margin-top: 50px;
    justify-content: center;
  }
  .ft .btn-wrap {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 5;
  }
  .ft .btn {
    width: 50vw;
    padding: 0;
    height: var(--ft-btn-height);
  }
  .ft .btn--oc {
    font-size: 2.1rem;
    background: #fff;
  }
  .ft .nav {
    margin: 55px 5vw 0;
    display: block;
  }
  .ft .nav > * + * {
    margin-top: 25px;
  }
  .ft .nav__summary {
    position: relative;
  }
  .ft .nav__summary::before,
  .ft .nav__summary::after {
    content: "";
    position: absolute;
    background: var(--black);
    margin: auto;
    top: 0;
    bottom: 0;
  }
  .ft .nav__summary::before {
    width: 1px;
    height: 10px;
    right: 8px;
    transition: 0.4s;
  }
  .ft .nav__summary::after {
    width: 10px;
    height: 1px;
    right: 3px;
  }
  .ft .is-opened .nav__summary::before {
    opacity: 0;
    rotate: 90deg;
  }
  .ft .nav__heading {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    pointer-events: none;
  }
  .ft .nav__inner {
    margin-top: 15px;
    padding-bottom: 15px;
  }
  .ft .nav__block--other > * + * {
    margin-top: 25px;
  }
  .ft .cr {
    font-size: 1.1rem;
    line-height: 2.2;
    text-align: center;
    margin-top: 60px;
  }
}

/*-------------------------------

# TOP

-------------------------------*/
/*-------------------------------

## トップ

-------------------------------*/
.page-top main .bnr,
.page-top main .opencampus,
.page-top main .news,
.page-top main .sns {
  background: #fff;
}

.page-top main .fv {
  padding-top: 368px;
  padding-bottom: 520px;
}
.page-top main .fv .img :is(img, picture) {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-top main .fv .logo {
  width: 33vw;
  max-width: 660px;
}
.page-top main .fv .block {
  color: #fff;
  margin-top: 130px;
  margin-left: 6vw;
}
.page-top main .fv .block__heading {
  font-size: 3.6em;
  letter-spacing: 0.2em;
  line-height: 1.6;
  font-weight: bold;
}
.page-top main .fv .block__txt {
  letter-spacing: 0.1em;
  font-size: 2.6rem;
  line-height: 1.9;
  margin-top: 40px;
  font-weight: bold;
}
.page-top main .fv .c-btn {
  margin-top: 50px;
}
.page-top main .c-bnr-wrap {
  transform: translateY(-10em);
  margin-bottom: -10em;
}
.page-top main .bnr {
  margin-top: max(-152px, -11vw);
  position: relative;
}
.page-top main .bnr .exam-bnr-wrap {
  width: min(360px, 26vw);
  right: 70px;
  position: fixed;
  bottom: 3em;
  z-index: 5;
}
.page-top main .opencampus {
  padding-top: 150px;
  padding-bottom: 150px;
}
.page-top main .opencampus .c-opencampus-item-wrap {
  margin-top: 80px;
}
.page-top main .opencampus .c-btn {
  margin: 80px auto 0;
}
.page-top main .about {
  padding-top: 70px;
  padding-bottom: 200px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.6);
}
.page-top main .about .block {
  margin-top: 200px;
}
.page-top main .about .block__heading {
  background: #fff;
  font-size: 4rem;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 30px;
  width: fit-content;
  font-weight: bold;
}
.page-top main .about .c-about-table-wrap01 {
  margin-top: min(130px, 9.9vw);
}
.page-top main .about .block__txt {
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin-top: min(100px, 10vw);
}
.page-top main .about .item-wrap {
  margin-top: 150px;
}
.page-top main .about .item-wrap > * + * {
  margin-top: 150px;
}
.page-top main .about .item {
  display: flex;
  align-items: center;
  gap: 80px;
}
.page-top main .about .item:nth-of-type(2n + 1) {
  flex-direction: row;
  margin-right: 10vw;
}
.page-top main .about .item:nth-of-type(2n) {
  flex-direction: row-reverse;
  margin-left: 10vw;
}
.page-top main .about .item__img {
  width: 50vw;
}
.page-top main .about .item__img :is(img, picture) {
  object-fit: cover;
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
}
.page-top main .about .item__txt-wrap {
  flex: 1;
}
.page-top main .about .item__heading {
  position: relative;
  font-weight: bold;
  font-size: 3.8rem;
  letter-spacing: 0.1em;
  color: #fff;
}
.page-top main .about .item__heading::after {
  position: absolute;
  content: "";
  width: calc(100% + 2100px);
  height: 2px;
  background: #fff;
  bottom: -50px;
  left: 0;
  right: 0;
  margin: auto;
  transform: translate(-170px, 0) scaleX(0);
  transform-origin: right;
  transition: 0.6s ease 0.3s;
}
.page-top main .about .item:nth-of-type(2n) .item__heading::after {
  transform: translate(-120px, 0) scaleX(0);
  transform-origin: left;
}

.page-top main .about .item.view .item__heading::after {
  transform: translate(-170px, 0) scaleX(1);
  z-index: -1;
}

.page-top main .about .item:nth-of-type(2n).view .item__heading::after {
  transform: translate(-120px, 0) scaleX(1);
}

.page-top main .about .item__txt {
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: #fff;
  font-size: 1.8rem;
  margin-top: 100px;
}
.page-top main .about .before-btn {
  font-size: 2rem;
  margin-top: 180px;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.page-top main .about .c-btn {
  margin: 30px auto 0;
}
.page-top main .news {
  padding-top: 100px;
}
.page-top main .news .item-wrap {
  margin-top: 120px;
  /* padding-left: 15em; */
}
.page-top main .news .item {
  width: 420px;
  margin-left: 60px;
}
.page-top main .news .item__img :is(img, picture) {
  object-fit: cover;
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
}
.page-top main .news .item__txt-wrap {
  margin-top: 15px;
}
.page-top main .news .item__date {
  font-weight: bold;
  font-size: 3rem;
  font-family: var(--hel);
}
.page-top main .news .item__cat {
  font-size: 1.6rem;
  color: #fff;
  color: var(--black);
  border: 1px solid var(--black);
  margin-top: 8px;
  display: block;
  width: fit-content;
  padding: 0px 8px;
}
.page-top main .news .item__heading {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-top: 10px;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
}
.page-top main .news .c-btn {
  margin: 40px auto 0;
}
.page-top main .sns {
  padding-top: 140px;
  padding-bottom: 230px;
}
.page-top main .sns .heading-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
}
.page-top main .sns .heading {
  font-size: 8rem;
  font-family: var(--robo);
}
.page-top main .sns .c-btn {
  font-size: 1.8rem;
  background: var(--black);
  color: #fff;
  margin: 30px auto 0;
  padding: 15px 60px;
}
.page-top main .sns .block-wrap > * + * {
  margin-top: 70px;
}
.page-top main .sns .block--insta .heading-icon {
  width: 70px;
}
.page-top main .sns .block--tiktok .heading-icon {
  width: 60px;
}
.page-top main .sns .sb-post-item-image-wrap {
  border-radius: unset !important;
  height: auto !important;
}
.page-top main .sns #sb_instagram #sbi_images {
  padding: 0;
}
.page-top main .sns #sb-tiktok-feeds-container-1 .sb-post-item-wrap {
  padding: 0 !important;
}
.page-top main .sns .sb-post-item-image {
  aspect-ratio: 2/3;
}
.page-top main .sns .item-wrap {
  margin-top: 50px;
}

@media (max-width: 1540px) {
  .page-top main .about .item:nth-of-type(2n + 1) {
    margin-right: calc(60px + 3vw);
  }
  .page-top main .about .item:nth-of-type(2n) {
    margin-left: calc(60px + 3vw);
  }
  .page-top main .about .item {
    gap: 40px;
  }
}
@media (max-width: 1280px) {
  .page-top main .about .item {
    align-items: flex-start;
  }
  .page-top main .about .item__img {
    width: 40vw;
  }
  .page-top main .opencampus .c-btn {
    font-size: 2rem;
    padding: 23px 87px;
  }
  .page-top main .bnr .exam-bnr-wrap .c-exam-bnr01__heading {
    font-size: 2.4rem;
  }
  .c-exam-bnr01__txt {
    font-size: 1.5rem;
  }
}
@media (max-width: 1025px) {
  .page-top main .fv .block {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
  }
}
@media (max-width: 768px) {
  .page-top main .fv {
    padding-top: 300px;
    padding-bottom: 20rem;
  }
  .page-top main .fv .logo {
    width: 70vw;
  }
  .page-top main .fv .block {
    margin-left: 0;
    margin-top: 90px;
  }
  .page-top main .fv .block__heading {
    font-size: 2rem;
  }
  .page-top main .fv .block__txt {
    font-size: 1.6rem;
  }
  .page-top main .bnr {
    margin-top: 0;
    padding-top: 40px;
  }
  .page-top main .opencampus {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .page-top main .opencampus .c-opencampus-item-wrap {
    margin-top: 40px;
  }
  .page-top main .about {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .page-top main .about .block {
    margin-top: 50px;
  }
  .page-top main .about .block__heading {
    font-size: 2.4rem;
    padding: 15px 25px;
  }
  .page-top main .about .table-wrap {
    margin-top: 40px;
  }
  .page-top main .about .c-about-table-wrap01 {
    margin-top: min(144px, 9.9vw);
  }
  .page-top main .about .block__txt {
    font-size: 1.4rem;
    margin-top: 50px;
    line-height: 2.2;
  }
  .page-top main .about .item-wrap {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    overflow: unset;
    margin-top: 60px;
  }
  .page-top main .about .item-wrap > * + * {
    margin-top: 50px;
  }
  .page-top main .about .item {
    display: block;
  }
  .page-top main .about .item:nth-of-type(n) {
    margin-left: auto;
    margin-right: auto;
  }
  .page-top main .about .item__img {
    width: auto;
  }
  .page-top main .about .item__txt-wrap {
    width: auto;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 30px !important;
  }
  .page-top main .about .item__heading {
    font-size: 2rem;
    line-height: 1.8;
  }
  .page-top main .about .item:nth-of-type(n) .item__heading::after {
    width: 95vw;
    transform: unset;
    bottom: -25px;
  }
  .page-top main .about .item__txt {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    line-height: 2.2;
    margin-top: 40px;
  }
  .page-top main .about .before-btn {
    font-size: 1.6rem;
    margin-top: 50px;
  }
  .page-top main .about .c-btn {
    margin-top: 15px;
  }
  .page-top main .news {
    padding-top: 50px;
  }
  .page-top main .news .item-wrap {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    padding: 0;
  }
  .page-top main .news .item-wrap > * + * {
    margin-top: 15px;
  }
  .page-top main .news .item {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: auto;
    margin-left: 0;
    gap: 15px;
  }
  .page-top main .news .item__img {
    width: 46%;
  }
  .page-top main .news .item__txt-wrap {
    flex: 1;
    margin-top: 0;
  }
  .page-top main .news .item__cat {
    font-size: 1rem;
    margin-top: 4px;
  }
  .page-top main .news .item__heading {
    font-size: 1.3rem;
    margin-top: 8px;
  }
  .page-top main .news .item__date {
    font-size: 2rem;
  }
  .page-top main .news .c-btn {
    margin-top: 50px;
  }
  .page-top main .opencampus .c-btn {
    font-size: 2rem;
    padding: 8px 55px;
  }
  .page-top main .opencampus .c-btn {
    margin: 60px auto 0;
  }
  .page-top main .sns {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .page-top main .sns .heading {
    font-size: 4.4rem;
  }
  .page-top main .sns .block--insta .heading-icon {
    width: 40px;
  }
  .page-top main .sns .block--tiktok {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
  .page-top main .sns .block--tiktok .heading-icon {
    width: 40px;
  }
  .page-top main .sns .sb-grid-wrapper {
    display: block !important;
  }
  .page-top main .sns .sb-post-item-image-wrap {
    width: 250px !important;
    margin-left: 8px !important;
  }
}

/*-------------------------------

# NEWS / MARROSTEP

-------------------------------*/
/*-------------------------------

## archive（ニュースなど）

-------------------------------*/
body main.archive-article .wrap {
  padding-bottom: 160px;
}
body main.archive-article .wrap .c-article-wrap01 {
  margin-top: 50px;
}
body main.archive-article .wrap .c-article-btn-wrap01 {
  margin-top: 55px;
}
body main.archive-article .wrap .c-archive-pager {
  margin-top: 70px;
}

@media (max-width: 768px) {
  body main.archive-article .wrap {
    padding-bottom: 55px;
  }
  body main.archive-article .wrap .c-article-wrap01 {
    margin-top: 15px;
  }
  body main.archive-article .wrap .c-article-btn-wrap01 {
    margin-top: 25px;
  }
  body main.archive-article .wrap .c-archive-pager {
    margin-top: 40px;
  }
}
:is(.archive-news, .taxonomy-news_cat) {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/post/news/pl_fv.jpg);
    }
  }
}
:is(.archive-marrostep, .taxonomy-marrostep_cat) {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/post/marrostep/pl_fv.jpg);
    }
  }
}

/*-------------------------------

## single（ニュースなど）

-------------------------------*/
body main.single-article .c-heading-sec01 .c-article-btn-wrap01 {
  margin-top: -30px;
}
body main.single-article .wrap {
  padding-top: 55px;
  padding-bottom: 110px;
}
body main.single-article .wrap .date {
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--hel);
}
body main.single-article .wrap .heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 15px;
  line-height: 1.6;
}
body main.single-article .wrap .cat {
  font-size: 1.3rem;
  color: var(--gray);
  margin-top: 30px;
}
body main.single-article .wrap .content {
  font-size: 2rem;
  letter-spacing: 0.04em;
  line-height: 2.5;
  margin-top: 50px;
}
body main.single-article .pager {
  padding-top: 60px;
  padding-bottom: 70px;
}

@media (max-width: 768px) {
  body main.single-article .c-heading-sec01 {
    padding-bottom: 25px;
  }
  body main.single-article .c-heading-sec01 .c-article-btn-wrap01 {
    margin-top: 15px;
  }
  body main.single-article .wrap {
    padding-top: 30px;
    padding-bottom: 55px;
  }
  body main.single-article .wrap .heading {
    font-size: 1.8rem;
  }
  body main.single-article .wrap .cat {
    margin-top: 25px;
  }
  body main.single-article .pager {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  body main.single-article .wrap .content {
    font-size: 1.5rem;
  }
}

/*-------------------------------

# OPENCAMPUS

-------------------------------*/
/*-------------------------------

## オープンキャンパス（アーカイブ・シングル共通）

-------------------------------*/
.post-type-opencampus main .contact {
  padding-top: 215px;
}
.post-type-opencampus main .bnr {
  padding-top: 240px;
  padding-bottom: 130px;
}

@media (max-width: 768px) {
  .post-type-opencampus main .contact {
    padding-top: 70px;
  }
  .post-type-opencampus main .bnr {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
/*-------------------------------

## オープンキャンパス（アーカイブ）

-------------------------------*/
.archive-opencampus main .fv {
  background: url(../img/page/opencampus/pl_fv.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100svh;
  justify-content: center;
}
.archive-opencampus main .fv .heading-wrap {
  text-align: center;
}
.archive-opencampus main .fv .heading {
  font-size: min(22rem, 12vw);
  font-weight: bold;
  font-family: var(--robo);
  position: relative;
}
.archive-opencampus main .fv .heading::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 120px;
  height: 2px;
  background: #fff;
}
.archive-opencampus main .fv .subheading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 30px;
}
.archive-opencampus main .fv .txt {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  width: fit-content;
  margin: 160px auto 0;
  line-height: 1.9;
}
.archive-opencampus main .guide {
  padding-top: 130px;
}
.archive-opencampus main .calendar {
  padding-top: 110px;
}
.archive-opencampus main .schedule {
  padding-top: 130px;
}
.archive-opencampus main .schedule .c-opencampus-item-wrap {
  margin-top: 100px;
}

@media (max-width: 768px) {
  .archive-opencampus main .fv .heading {
    font-size: 13vw;
  }
  .archive-opencampus main .fv .heading::after {
    bottom: -1vw;
  }
  .archive-opencampus main .fv .subheading {
    font-size: 1.6rem;
    margin-top: 25px;
  }
  .archive-opencampus main .fv .txt {
    font-size: 1.6rem;
    margin-top: 90px;
  }
  .archive-opencampus main .guide {
    padding-top: 40px;
  }
  .archive-opencampus main .calendar {
    padding-top: 50px;
  }
  .archive-opencampus main .schedule {
    padding-top: 70px;
  }
  .archive-opencampus main .schedule .c-opencampus-item-wrap {
    margin-top: 40px;
  }
}
/*-------------------------------

## オープンキャンパス（シングル）

-------------------------------*/
.single-opencampus main .fv {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 1080px;
  padding-top: 110px;
  padding-bottom: 50px;
}
.single-opencampus main .fv .block {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  max-width: 630px;
  margin-top: 176px;
  margin-left: auto;
  margin-right: 100px;
  padding: 80px 80px 100px;
}
.single-opencampus main .fv .block__date {
  display: flex;
  flex-direction: row;
  font-weight: bold;
  font-family: var(--robo);
}

.single-opencampus main .fv .block__year {
  font-size: 4.5rem;
}
.single-opencampus main .fv .block__month-day {
  font-size: 6rem;
  margin-left: 4px;
  margin-top: -15px;
}

.single-opencampus main .fv .block__dayname {
  font-size: 3rem;
  margin-left: 25px;
  margin-top: 14px;
}
.single-opencampus main .fv .block__time {
  font-weight: bold;
  font-family: var(--robo);
  font-size: 2.4rem;
}
.single-opencampus main .fv .block__heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  margin-top: 30px;
}
.single-opencampus main .fv .block__heading::before {
  position: absolute;
  content: "";
  bottom: -20px;
  left: 0;
  margin: auto;
  width: 120px;
  height: 2px;
  background: var(--black);
}
.single-opencampus main .fv .block__txt {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 50px;
  line-height: 2.2;
}
.single-opencampus main .fv .block__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
  background: var(--opencampus-color);
  margin-top: 40px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 2rem;
  width: fit-content;
  padding: 25px 60px;
}
.single-opencampus main .fv .block__supplement {
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 40px;
}
.single-opencampus main .fv .block__supplement-item::before {
  content: "・";
}
.single-opencampus main .detail {
  padding-top: 130px;
  padding-bottom: 110px;
}
.single-opencampus main .detail .content {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.1;
}
.single-opencampus main .detail .courses {
  margin-top: 70px;
  border: 1px solid var(--black);
  padding: 30px 30px;
}
.single-opencampus main .detail .courses__heading {
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.single-opencampus main .detail .courses__inner {
  margin-top: 25px;
}
.single-opencampus main .detail .courses__subheading {
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: var(--department-color);
}
.single-opencampus main .detail .courses__txt--creator {
  --department-color: var(--department-creator-color);
}
.single-opencampus main .detail .courses__txt--business {
  --department-color: var(--department-business-color);
}
.single-opencampus main .detail .courses__txt--master {
  --department-color: var(--department-master-color);
}
.single-opencampus main .detail .courses__txt {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: var(--department-color);
}

.single-opencampus main .join {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 176px;
  padding-bottom: 144px;
}
.single-opencampus main .join .block {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding: 90px 25px 70px;
}
.single-opencampus main .join .block__date {
  display: flex;
  flex-direction: row;
  justify-content: center;
  font-weight: bold;
  font-family: var(--robo);
  position: relative;
}
.single-opencampus main .join .block__date::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 120px;
  height: 2px;
  background: var(--black);
}
.single-opencampus main .join .block__year {
  font-size: 4.5rem;
}
.single-opencampus main .join .block__month-day {
  font-size: 6rem;
  margin-left: 4px;
  margin-top: -15px;
}
.single-opencampus main .join .block__dayname {
  font-size: 3rem;
  margin-left: 25px;
  margin-top: 14px;
}
.single-opencampus main .join .block__time {
  font-weight: bold;
  font-family: var(--robo);
  font-size: 2.4rem;
  text-align: center;
  margin-top: 20px;
}
.single-opencampus main .join .block__heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 30px;
  text-align: center;
}
.single-opencampus main .join .block__txt {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 50px;
  line-height: 2.2;
}
.single-opencampus main .join .block__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
  background: var(--opencampus-color);
  margin: 40px auto 0;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  width: fit-content;
  padding: 40px 120px;
}
.single-opencampus main .join .block__supplement {
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  justify-content: center;
}
.single-opencampus
  main
  .join
  .block__supplement-item:not(:first-of-type):before {
  content: "/";
}
.single-opencampus main .calendar {
  padding-top: 130px;
}
.single-opencampus main .schedule {
  padding-top: 184px;
}

@media (max-width: 768px) {
  .single-opencampus main .fv {
    min-height: unset;
    padding-bottom: 50px;
  }
  .single-opencampus main .fv .block {
    margin: 0 auto;
    padding: 30px 25px 30px;
  }
  .single-opencampus main .fv .block__year {
    font-size: 2.2rem;
  }
  .single-opencampus main .fv .block__month-day {
    font-size: 3rem;
    margin-left: 4px;
    margin-top: -9px;
  }
  .single-opencampus main .fv .block__dayname {
    margin-left: 6px;
    margin-top: 2px;
    font-size: 2rem;
  }
  .single-opencampus main .fv .block__time {
    font-size: 1.8rem;
    margin-top: 10px;
  }
  .single-opencampus main .fv .block__heading {
    font-size: 2rem;
    margin-top: 20px;
  }
  .single-opencampus main .fv .block__txt {
    font-size: 1.6rem;
    margin-top: 30px;
    line-height: 2;
  }
  .single-opencampus main .fv .block__btn {
    margin-top: 25px;
    padding: 15px 30px;
  }
  .single-opencampus main .fv .block__supplement {
    font-size: 1.3rem;
    line-height: 1.8;
    margin-top: 30px;
  }
  .single-opencampus main .detail {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .single-opencampus main .join {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .single-opencampus main .join .block {
    margin: 0 auto;
    padding: 30px 25px 30px;
  }
  .single-opencampus main .join .block__year {
    font-size: 2.2rem;
  }
  .single-opencampus main .join .block__month-day {
    font-size: 3rem;
    margin-left: 4px;
    margin-top: -9px;
  }
  .single-opencampus main .join .block__dayname {
    margin-left: 6px;
    margin-top: 2px;
    font-size: 2rem;
  }
  .single-opencampus main .join .block__time {
    font-size: 1.8rem;
    margin-top: 20px;
  }

  .single-opencampus main .join .block__heading {
    font-size: 1.8rem;
    margin-top: 30px;
  }
  .single-opencampus main .join .block__btn {
    margin-top: 25px;
    padding: 15px 30px;
  }
  .single-opencampus main .join .block__supplement {
    font-size: 1.3rem;
    line-height: 1.8;
    margin-top: 25px;
  }
  .single-opencampus main .calendar {
    padding-top: 40px;
  }
  .single-opencampus main .schedule {
    padding-top: 70px;
  }
}

/*-------------------------------

## 体験宿泊

-------------------------------*/
.page-stay main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/opencampus/stay/pl_fv.jpg);
}
.page-stay main .way .c-row-wrap03 {
  margin-top: 30px;
}
.page-stay main .way .c-row-wrap03__img :is(img, picture) {
  object-fit: contain;
  aspect-ratio: unset;
}
.page-stay main .way .c-txt01 {
  margin-top: 50px;
}
.page-stay main .way .c-row-wrap03 .c-btn {
  margin-top: 20px;
}

/*-------------------------------

## 交通費補助

-------------------------------*/
.page-transportation-support main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/opencampus/transportation-support/pl_fv.jpg);
}
.page-transportation-support main .content .c-heading01 + .c-txt01 {
  margin-top: 40px;
}
.page-transportation-support main .content .c-line-btn {
  margin-top: 30px;
}
.page-transportation-support main .content .c-line-btn + .c-heading01 {
  margin-top: 100px;
}
.page-transportation-support main .content .c-table02 {
  margin-top: 60px;
  min-width: 1000px;
}
.page-transportation-support main .content .c-openampus-contact-wrap {
  margin-top: 100px;
}

@media (max-width: 768px) {
  .page-transportation-support main .content .c-line-btn + .c-heading01 {
    margin-top: 68px;
  }
  .page-transportation-support main .content .c-openampus-contact-wrap {
    margin-top: 79px;
  }
}

/*-------------------------------

# ABOUT

-------------------------------*/
/*-------------------------------

## マロニエの魅力

-------------------------------*/

.page-about main {
  background: rgba(0, 0, 0, 0.3);
}

.page-about main .fv {
  width: 100%;
  padding: 115px 0 300px;
}
.page-about main .fv .subheading {
  font-weight: bold;
  font-size: 4rem;
  font-family: var(--robo);
  text-align: center;
  margin-top: 286px;
}
.page-about main .fv .subheading::after {
  right: 0;
  margin: auto;
  bottom: -15px;
  width: 120px;
  height: 2px;
}
.page-about main .fv .heading {
  font-size: 8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 30px;
}
.page-about main .fv .txt {
  font-weight: bold;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
.page-about main .fv .heading + .txt {
  margin-top: 70px;
}
.page-about main .fv .c-about-table-wrap01 {
  margin-top: 80px;
}
.page-about main .fv .c-about-table-wrap01 + .txt {
  margin-top: 80px;
}
.page-about main .content {
  width: 100%;
  padding-bottom: 100px;
}
.page-about main .content > * + * {
  margin-top: 20px;
}

.page-about main .content:last-of-type {
  padding-bottom: 0;
}
.page-about main .content .block {
  background: #fff;
  padding: 30px 0;
}
.page-about main .content .block__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 13%;
}
.page-about main .content .block:nth-of-type(2n + 1) .block__inner {
  flex-direction: row;
}
.page-about main .content .block:nth-of-type(2n) .block__inner {
  flex-direction: row-reverse;
}
.page-about main .content .block__img {
  width: 50vw;
}
.page-about main .content .block:nth-of-type(2n + 1) .block__img {
  margin-left: calc(50% - 50vw);
}
.page-about main .content .block:nth-of-type(2n) .block__img {
  margin-right: calc(50% - 50vw);
}
.page-about main .content .block__img :is(img, picture) {
  aspect-ratio: 3/2;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-about main .content .block__heading {
  font-size: 3rem;
  font-weight: bold;
}
.page-about main .content .block__txt-wrap {
  flex: 1;
}
.page-about main .content .block__txt {
  line-height: 2.2;
  margin-top: 25px;
}
.page-about main .content .c-btn {
  margin-top: 30px;
  font-size: 1.6rem;
  font-weight: bold;
}

@media (min-width: 769px) {
  /* PCのみ */
  .page-about .c-about-table-wrap01__heading {
    font-size: min(3rem, 2.7vw);
  }
  .page-about .c-about-table-wrap01__num {
    font-size: min(18rem, 14vw);
  }
  .page-about .c-about-table-wrap01__per {
    font-size: min(10rem, 7vw);
  }
}
@media (max-width: 1280px) {
  .page-about main .content .block__inner {
    gap: 5%;
  }
}
@media (max-width: 768px) {
  .page-about main .fv {
    padding: 90px 0 60px;
  }
  .page-about main .fv .subheading {
    margin-top: 0;
    font-size: 3rem;
  }
  .page-about main .fv .subheading::after {
    bottom: -8px;
    width: 90px;
  }
  .page-about main .fv .heading {
    font-size: 3rem;
    margin-top: 50px;
  }
  .page-about main .fv .txt {
    font-size: 1.4rem;
  }
  .page-about main .fv .heading + .txt {
    margin-top: 30px;
  }
  .page-about main .fv .c-about-table-wrap01 {
    margin-top: 30px;
  }
  .page-about main .fv .c-about-table-wrap01 + .txt {
    margin-top: 30px;
  }
  .page-about main .content {
    padding-bottom: 60px;
  }
  .page-about main .content .block__inner {
    display: block;
  }
  .page-about main .content .block:nth-of-type(n) .block__img {
    margin: 0;
  }
  .page-about main .content .block__img {
    width: auto;
  }
  .page-about main .content .block__txt-wrap {
    margin-top: 30px;
  }
  .page-about main .content .block__heading {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .page-about main .content .block__txt {
    margin-top: 5px;
  }
  .page-about main .content .c-btn {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}
/*-------------------------------

## 夢に直結するマロニエの実践教育

-------------------------------*/
.page-education main .fv {
  width: 100%;
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/about/education/pl_fv.jpg);
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: 42% center !important;
  padding: 160px 0;
}
.page-education main .fv .c-bread {
  margin-right: 100px;
}
.page-education main .fv .heading {
  font-size: 5.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 80px;
}
.page-education main .fv .heading::after {
  bottom: -55px;
  width: 130px;
}
.page-education main .fv .txt {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.2;
  margin-top: 100px;
}
.page-education main .content {
  padding-top: 45px;
}
.page-education main .content .container {
  max-width: 90vw;
}
.page-education main .content .block {
  padding: 121px 0;
}
.page-education main .content .block__inner {
  display: flex;
  gap: 6%;
}
.page-education main .content .block-wrap > * + * {
  border-top: 1px solid var(--black);
}
.page-education main .content .block:nth-of-type(2n + 1) .block__inner {
  flex-direction: row-reverse;
  margin-left: 140px;
}
.page-education main .content .block:nth-of-type(2n) .block__inner {
  flex-direction: row;
  margin-right: 140px;
}
.page-education main .content .block__img {
  width: 55%;
}
.page-education main .content .block__txt-wrap {
  flex: 1;
}
.page-education main .content .block__txt {
  line-height: 2.2;
  margin-top: 50px;
}
.page-education main .content .btn-wrap {
  margin-top: 60px;
}
.page-education main .content .btn-wrap > * + * {
  margin-top: 10px;
}
.page-education main .content .btn {
  border: 1px solid var(--black);
  display: flex;
  align-items: center;
  padding: 15px;
  gap: 10%;
}
.page-education main .content .btn::after {
  right: 30px;
}
.page-education main .content .btn__img {
  width: 25%;
}
.page-education main .content .btn__img :is(img, picture) {
  aspect-ratio: 3/2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-education main .content .btn__heading {
  flex: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
}

@media (max-width: 1280px) {
  .page-education main .content .block:nth-of-type(n) .block__inner {
    margin: 0;
  }
  .page-education main .content .block__img {
    width: 45%;
  }
}
@media (max-width: 768px) {
  .page-education main .fv {
    padding: 150px 0 60px;
    height: auto;
  }
  .page-education main .fv .heading {
    margin-top: 0;
    font-size: 2.4rem;
  }
  .page-education main .fv .heading::after {
    bottom: -30px;
    width: 100px;
  }
  .page-education main .fv .txt {
    margin-top: 70px;
    font-size: 1.4rem;
  }
  .page-education main .content {
    padding: 0;
  }
  .page-education main .content .block {
    padding: 40px 0;
  }
  .page-education main .content .block__inner {
    display: block;
  }
  .page-education main .content .block__img {
    width: auto;
  }
  .page-education main .content .block__txt-wrap {
    margin-top: 30px;
  }
  .page-education main .content .block__txt {
    margin-top: 30px;
  }
  .page-education main .content .btn-wrap {
    margin-top: 30px;
  }
  .page-education main .content .btn {
    padding: 10px 10px;
  }
  .page-education main .content .btn__heading {
    font-size: 1.4rem;
  }
}

/*-------------------------------

## 特別講義

-------------------------------*/
.page-lecture main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/about/lecture/pl_fv.jpg);
}

.page-lecture main .lecture-sec__logo {
  max-width: 300px;
  margin: 0 auto 40px;
}
.page-lecture main .c-grid-wrap01__img :is(img, picture) {
  aspect-ratio: unset;
  margin-top: 50px;
}
/*-------------------------------

## 企業・メディアとのコラボレーション

-------------------------------*/
.page-collaboration .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/about/collaboration/pl_fv.jpg);
}
.page-collaboration .lead {
  padding-bottom: 90px;
}
.page-collaboration .lead .c-link01__inner {
  max-width: 800px;
}
.page-collaboration .lead .c-txt01 {
  margin-top: 55px;
}
.page-collaboration .wrap {
  padding-top: 130px;
  padding-bottom: 130px;
}
.page-collaboration {
  .c-btn {
    margin-top: 30px;
  }
}

@media (max-width: 768px) {
  .page-collaboration .wrap {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .page-collaboration .lead {
    padding-bottom: 40px;
  }
}

/*-------------------------------

## マロニエ作品ギャラリー（シングル）

-------------------------------*/
.single-gallery {
  .gallery {
    padding-bottom: 60px;

    .img-wrap > * + * {
      margin-top: 30px;
    }
    .img :is(img, picture) {
      width: 100%;
    }
    .c-heading01 {
      margin-top: 40px;
    }
    .c-heading01 + * {
      margin-top: 30px;
    }
    .award {
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      font-weight: bold;
    }
    .award + .profile {
      margin-top: 20px;
    }
    .profile {
      letter-spacing: 0.04em;
      font-size: 1.5rem;
    }
  }
}

/*-------------------------------

## 在校生インタビュー（アーカイブ）

-------------------------------*/
.archive-interview main .fv .c-fv-noImg01 {
  padding-bottom: 0;
}
.archive-interview main .fv .txt {
  line-height: 2.6;
  margin-top: 40px;
}
.archive-interview main .wrap {
  padding-top: 54px;
  padding-bottom: 200px;
}

@media (max-width: 768px) {
  .archive-interview main .fv .txt {
    margin-top: 20px;
  }
  .archive-interview main .wrap {
    padding-top: 30px;
    padding-bottom: 90px;
  }
}
/*-------------------------------

## 在校生インタビュー（シングル）

-------------------------------*/
.single-interview main .interview {
  padding-bottom: 85px;
}
.single-interview main .interview .block {
  display: flex;
  flex-direction: row;
  gap: 6%;
}
.single-interview main .interview .block__img-wrap {
  width: 50%;
  height: fit-content;
}
.single-interview main .interview .slick-dots li button:before {
  content: none;
}
.single-interview main .interview {
  /* 位置 */
}
.single-interview main .interview .slick-dots {
  bottom: -50px;
  width: auto;
}
.single-interview main .interview {
  /* サイズ */
}
.single-interview main .interview .slick-dots li button {
  font-size: 11px;
  color: #fff;
  opacity: 1;
  width: 40px !important;
  height: 6px;
  padding: 0;
  border: 1px solid var(--black);
  font-size: 0;
}
.single-interview main .interview {
  /* current */
}
.single-interview main .interview .slick-dots li.slick-active button {
  background: var(--black);
}
.single-interview main .interview {
  /* 間隔 */
}
.single-interview main .interview .slick-dots li {
  width: 50px !important;
  margin: 0;
}
.single-interview main .interview .block__img :is(img, picture) {
  aspect-ratio: 2/3;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.single-interview main .interview .block__txt-wrap {
  flex: 1;
}
.single-interview main .interview .block__course {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  position: relative;
  font-weight: bold;
  margin-top: 85px;
}
.single-interview main .interview .block__course::after {
  position: absolute;
  content: "";
  background: var(--black);
  height: 1px;
  width: 120px;
  left: 0;
  bottom: -21px;
}
.single-interview main .interview .block__name {
  margin-top: 30px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-interview main .interview .item-wrap {
  margin-top: 100px;
}
.single-interview main .interview .item-wrap > * + * {
  margin-top: 50px;
}
.single-interview main .interview .item__heading {
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  margin-left: 25px;
  position: relative;
}
.single-interview main .interview .item__heading::before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: -25px;
}
.single-interview main .interview .item__txt {
  line-height: 2.2;
  margin-top: 15px;
}
.single-interview main .course {
  padding: 50px 0;
}
.single-interview main .wrap {
  padding: 40px 0 115px;
}

@media (max-width: 768px) {
  .single-interview main .interview {
    padding-bottom: 40px;
  }
  .single-interview main .interview .block {
    display: block;
  }
  .single-interview main .interview .block__img-wrap {
    width: auto;
  }
  .single-interview main .interview .block__txt-wrap {
    margin-top: 30px;
  }
  .single-interview main .interview .block__name {
    font-size: 2.4rem;
    margin-top: 35px;
  }
  .single-interview main .interview .item-wrap {
    margin-top: 40px;
  }
  .single-interview main .interview .item-wrap > * + * {
    margin-top: 42px;
  }
  .single-interview main .interview .item__heading {
    font-size: 1.6rem;
  }
  .single-interview main .interview .item__txt {
    margin-top: 8px;
  }
  .single-interview main .course {
    padding: 25px 0 40px;
  }
  .single-interview main .wrap {
    padding: 40px 0 45px;
  }
}

/*-------------------------------

## 海外研修

-------------------------------*/
.page-overseas-training main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/about/overseas-training/pl_fv.jpg);
}
.page-overseas-training main .lead {
  padding-bottom: 100px;
}
.page-overseas-training
  main
  .overseas-point-list__item
  + .overseas-point-list__item {
  margin-top: 25px;
}
.page-overseas-training main .overseas-point-list__item {
  padding: 20px 0 30px;
  border-bottom: 1px solid;
}
.page-overseas-training main .overseas-point-list__head {
  font-weight: bold;
  font-size: 1.8rem;
  font-family: var(--robo);
}

@media (max-width: 768px) {
  .page-overseas-training main .lead {
    padding-bottom: 55px;
  }
}

/*-------------------------------

## 活躍する先輩（アーカイブ）

-------------------------------*/
.archive-senior main .c-fv-noImg01 {
  padding-bottom: 0;
}
.archive-senior main .wrap {
  padding: 54px 0 200px;
}

@media (max-width: 768px) {
  .archive-senior main .wrap {
    padding: 30px 0 90px;
  }
}
/*-------------------------------

## 活躍する先輩（シングル）

-------------------------------*/
.single-senior main .content {
  padding: 0 0 130px;
}
.single-senior main .content .block {
  display: flex;
  flex-direction: row-reverse;
  gap: 3%;
}
.single-senior main .content .block__img {
  width: 43%;
}
.single-senior main .content .block__txt-wrap {
  flex: 1;
  margin-top: 100px;
}
.single-senior main .content .block__copy {
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.single-senior main .content .block__position {
  position: relative;
  margin-top: 71px;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 1.6rem;
  line-height: 1.7;
}
.single-senior main .content .block__position:after {
  position: absolute;
  display: block;
  content: "";
  background-color: var(--black);
  width: 120px;
  height: 2px;
  left: 0;
  bottom: -17px;
}
.single-senior main .content .block__name {
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.1em;
  margin-top: 38px;
}
.single-senior main .content .charm {
  margin-top: 30px;
}
.single-senior main .content .charm__heading {
  background: var(--black);
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  width: fit-content;
  padding: 4px 14px;
}
.single-senior main .content .charm__txt {
  margin-top: 20px;
  max-width: 680px;
  line-height: 2.2;
}
.single-senior main .content .item-wrap {
  margin-top: 90px;
}
.single-senior main .content .item {
  display: flex;
  flex-direction: row;
  gap: 4%;
}
.single-senior main .content .item-wrap > * + * {
  margin-top: 66px;
}
.single-senior
  main
  .content
  .item-wrap
  .item:has(.item__txt-wrap):nth-of-type(2n) {
  flex-direction: row-reverse;
}
.single-senior main .content .item__img {
  width: 37%;
}
.single-senior main .content .item__txt-wrap {
  flex: 1;
}
.single-senior main .content .item:first-of-type .item__heading {
  font-size: 2.2rem;
  line-height: 2;
}
.single-senior main .content .item__heading {
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 2.2rem;
  line-height: 2.5;
}
.single-senior main .content .item__txt {
  line-height: 2.2;
  margin-top: 30px;
}
.single-senior main .profile {
  padding: 50px 0;
}
.single-senior main .profile .block {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14%;
}
.single-senior main .profile .block__txt-wrap {
  max-width: 500px;
  flex: 1;
}
.single-senior main .profile .block__name-wrap {
  display: flex;
  flex-direction: row;
  gap: 50px;
}
.single-senior main .profile .block__name {
  font-size: 2rem;
  font-weight: bold;
}
.single-senior main .profile .block__profile {
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--robo);
}
.single-senior main .profile .block__txt {
  margin-top: 35px;
  font-size: 1.3rem;
  line-height: 2.2;
}
.single-senior main .wrap {
  padding: 120px 0;
}

@media (max-width: 1280px) {
  .single-senior main .profile .block {
    gap: 3%;
  }
}
@media (max-width: 768px) {
  .single-senior main .content {
    padding: 0 0 42px;
  }
  .single-senior main .content .block {
    display: block;
  }
  .single-senior main .content .block__img {
    width: auto;
  }
  .single-senior main .content .block__txt-wrap {
    margin-top: 30px;
  }
  .single-senior main .content .block__copy {
    font-size: 2rem;
  }
  .single-senior main .content .block__position {
    margin-top: 23px;
    font-size: 1.4rem;
  }
  .single-senior main .content .block__position::after {
    width: 100px;
    bottom: -13px;
  }
  .single-senior main .content .block__name {
    font-size: 2rem;
    margin-top: 30px;
  }
  .single-senior main .content .charm {
    margin-top: 38px;
  }
  .single-senior main .content .charm__heading {
    font-size: 1.6rem;
    padding: 3px 7px;
  }
  .single-senior main .content .charm__txt {
    margin-top: 13px;
  }
  .single-senior main .content .item-wrap {
    margin-top: 40px;
  }
  .single-senior main .content .item-wrap > * + * {
    margin-top: 40px;
  }
  .single-senior main .content .item {
    display: block;
  }
  .single-senior main .content .item__img {
    width: auto;
  }
  .single-senior main .content .item__txt-wrap {
    margin-top: 30px;
  }
  .single-senior main .content .item:first-of-type .item__heading {
    font-size: 1.8rem;
  }
  .single-senior main .content .item__heading {
    font-size: 1.6rem;
    line-height: 2;
  }
  .single-senior main .content .item__txt {
    margin-top: 9px;
  }
  .single-senior main .profile {
    padding: 35px 0 42px;
  }
  .single-senior main .profile .block {
    display: block;
  }
  .single-senior main .profile .block__txt-wrap {
    max-width: unset;
  }
  .single-senior main .profile .block__name-wrap {
    justify-content: center;
    gap: 20px;
  }
  .single-senior main .profile .block__name,
  .single-senior main .profile .block__profile {
    font-size: 1.8rem;
  }
  .single-senior main .profile .block__txt {
    margin-top: 13px;
  }
  .single-senior main .profile .course-btn-wrap01 {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .single-senior main .wrap {
    padding: 40px 0 45px;
  }
}

/*-------------------------------

# COURSES

-------------------------------*/
/*-------------------------------

## 学科・コース（アーカイブ）

-------------------------------*/
.archive-courses main .c-heading-sec01 .anchor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 70px;
}
.archive-courses main .c-heading-sec01 .anchor__item {
  padding: 25px 0;
  border-radius: 100vmax;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  border: 2px solid var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.archive-courses main .c-heading-sec01 .anchor__item--creator,
.archive-courses main .department .block--creator {
  --department-color: var(--department-creator-color);
}
.archive-courses main .c-heading-sec01 .anchor__item--business,
.archive-courses main .department .block--business {
  --department-color: var(--department-business-color);
}
.archive-courses main .c-heading-sec01 .anchor__item--master,
.archive-courses main .department .block--master {
  --department-color: var(--department-master-color);
}
.archive-courses main .c-heading-sec01 .anchor__item::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--department-color);
  border-bottom: 2px solid var(--department-color);
  top: 30px;
  right: 23px;
  rotate: 45deg;
}
.archive-courses main .c-heading-sec01 .link {
  margin-top: 40px;
}
.archive-courses main .department {
  padding-top: 50px;
}
.archive-courses main .department .block-wrap > * + * {
  border-top: 1px solid var(--black);
  padding-top: 100px;
}
.archive-courses main .department .block {
  padding-bottom: 130px;
}
.archive-courses main .department .block__img-wrap {
  position: relative;
}
.archive-courses main .department .block__img :is(img, picture) {
  aspect-ratio: 2/1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.archive-courses main .department .block__img-heading {
  font-family: var(--robo);
  font-size: 8rem;
  line-height: 1.2;
  font-weight: bold;
  position: absolute;
  bottom: 25px;
  left: 50px;
  color: var(--department-color);
}
.archive-courses main .department .block__heading {
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.1em;
  margin-top: 30px;
}
.archive-courses main .department .block__summary {
  font-size: 2rem;
  letter-spacing: 0.04em;
  margin-top: 15px;
  line-height: 2;
  font-weight: bold;
}
.archive-courses main .department .c-txt01 {
  margin-top: 30px;
}
.archive-courses main .department .item-wrap {
  margin-top: 90px;
}
.archive-courses main .department .item-wrap > * + * {
  margin-top: 60px;
}
.archive-courses main .department .item {
  border: 2px solid var(--department-color);
  /* display: flex;
  align-items: center; */
  border-radius: 100vmax;
  width: 100%;
  padding: 25px 40px;
  position: relative;
  display: block;
}
.archive-courses main .department .item::before {
  position: absolute;
  content: "MORE";
  font-family: var(--robo);
  letter-spacing: 0.1em;
  font-size: 1.6rem;
  right: 60px;
  top: 0;
  bottom: 0;
  margin: auto;
  height: fit-content;
}
.archive-courses main .department .item::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--department-color);
  border-right: 2px solid var(--department-color);
  top: 0;
  bottom: 0;
  right: 34px;
  margin: auto;
  rotate: 45deg;
}
.archive-courses main .department .item__duration {
  position: absolute;
  top: -30px;
  left: 0px;
  background: var(--department-color);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  font-weight: normal;
  font-size: 1.8rem;
  padding: 8px 25px;
}
.archive-courses main .department .item__heading {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.archive-courses main .department .point {
  margin-top: 55px;
}
.archive-courses main .department .point__heading {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.archive-courses main .department .point__txt {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  margin-top: 15px;
  max-width: 800px;
  line-height: 2.5;
}
.archive-courses main .department .job {
  margin-top: 55px;
}
.archive-courses main .department .job__heading {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.archive-courses main .department .job__txt {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  margin-top: 15px;
  max-width: 800px;
  line-height: 2.5;
  word-break: keep-all;
  overflow-wrap: normal;
}
.archive-courses main .other {
  border-top: 1px solid var(--black);
  padding-top: 130px;
  padding-bottom: 152px;
}
.archive-courses main .other .block-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.archive-courses main .other .block {
  background: #000;
  position: relative;
}
.archive-courses main .other .block::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  top: 0;
  bottom: 0;
  right: 21px;
  margin: auto;
}
.archive-courses main .other .block__img :is(img, picture) {
  aspect-ratio: 2/1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.archive-courses main .other .block__heading {
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: absolute;
  inset: 0;
  margin: auto;
  height: fit-content;
  width: fit-content;
}

@media (max-width: 1280px) {
  .archive-courses main .c-heading-sec01 .anchor {
    display: block;
  }
  .archive-courses main .c-heading-sec01 .anchor > * + * {
    margin-top: 8px;
  }
  .archive-courses main .c-heading-sec01 .anchor__item {
    width: 330px;
  }
  .archive-courses main .department .block__img-heading {
    font-size: 6vw;
    bottom: -5vw;
    left: 5vw;
  }
  .archive-courses main .other .block__heading {
    font-size: 1.8vw;
  }
}
@media (max-width: 768px) {
  .archive-courses main .c-heading-sec01 .anchor {
    margin-top: 50px;
  }
  .archive-courses main .c-heading-sec01 .anchor__item {
    padding: 15px 0;
    width: auto;
    /* font-size: 1.6rem; */
  }
  .archive-courses main .c-heading-sec01 .anchor__item::after {
    top: 20px;
  }
  .archive-courses main .c-heading-sec01 .link {
    margin-top: 30px;
  }
  .archive-courses main .department {
    padding-top: 60px;
  }
  .archive-courses main .department .block {
    padding-bottom: 50px;
  }
  .archive-courses main .department .block-wrap > * + * {
    padding-top: 55px;
  }
  .archive-courses main .department .block__img-heading {
    font-size: 9vw;
  }
  .archive-courses main .department .block__heading {
    font-size: 2rem;
  }
  .archive-courses main .department .block__summary {
    font-size: 1.4rem;
  }
  .archive-courses main .department .item__heading {
    font-size: 1.4rem;
  }
  .archive-courses main .department .item-wrap {
    margin-top: 60px;
  }
  .archive-courses main .department .item-wrap > * + * {
    margin-top: 30px;
  }
  .archive-courses main .department .item {
    padding: 15px 15px;
  }
  .archive-courses main .department .item::before {
    font-size: 1rem;
    right: 25px;
  }
  .archive-courses main .department .item::after {
    width: 8px;
    height: 8px;
    right: 10px;
  }
  .archive-courses main .department .item__duration {
    padding: 4px 15px;
    top: -20px;
    border-radius: 8px;
    font-size: 1.2rem;
  }
  .archive-courses main .department .point {
    margin-top: 30px;
  }
  .archive-courses main .department .point__heading {
    font-size: 1.6rem;
  }
  .archive-courses main .department .point__txt {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 8px;
  }
  .archive-courses main .department .job {
    margin-top: 40px;
  }
  .archive-courses main .department .job__heading {
    font-size: 1.6rem;
  }
  .archive-courses main .department .job__txt {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 8px;
  }
  .archive-courses main .other {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .archive-courses main .other .block-wrap {
    display: block;
  }
  .archive-courses main .other .block-wrap > * + * {
    margin-top: 15px;
  }
  .archive-courses main .other .block__heading {
    font-size: 1.6rem;
  }
}

/*-------------------------------

## 学科・コース（シングル）

-------------------------------*/
.single-courses main.course.course--creator {
  --department-color: var(--department-creator-color);
}
.single-courses main.course.course--business {
  --department-color: var(--department-business-color);
}
.single-courses main.course.course--master {
  --department-color: var(--department-master-color);
}
.single-courses main.course .c-fv-sec01 .course {
  color: var(--department-color);
  position: absolute;
  bottom: -21px;
  right: 0;
  font-size: 8.2rem;
  font-family: var(--robo);
  font-weight: bold;
  line-height: 1.2;
}
.single-courses main.course .c-fv-sec01 .c-fv-sec01__heading::after {
  background: var(--department-color);
}
.single-courses main.course .lead .wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
.single-courses main.course .lead .c-link01__inner {
  max-width: 400px;
}
.single-courses main.course .lead .block {
  background: var(--department-color);
  border-radius: 15px;
  color: #fff;
  padding: 20px 54px 20px;
  transform: translate(0, 40px);
  height: fit-content;
}
.single-courses main.course .lead .block__duration {
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-courses main.course .lead .item-wrap {
  margin-top: 8px;
}
.single-courses main.course .lead .item-wrap > * + * {
  margin-top: 8px;
}
.single-courses main.course .lead .item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.single-courses main.course .lead .item__dayname {
  font-weight: bold;
  color: var(--department-color);
  background: #fff;
  border-radius: 100vmax;
  height: 23px;
  width: 95px;
  text-align: center;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-courses main.course .lead .item__hour {
  font-weight: bold;
}
.single-courses main.course .about {
  padding-top: 90px;
  padding-bottom: 120px;
}
.single-courses main.course .about .heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.single-courses main.course .about .txt {
  line-height: 2.2;
  margin-top: 40px;
}
.single-courses main.course .about .item-wrap {
  border: 2px solid var(--black);
  margin-top: 50px;
  display: flex;
}
.single-courses main.course .about .item {
  padding: 130px 130px;
  width: 50%;
  padding: 30px 40px 30px 54px;
  position: relative;
}
.single-courses main.course .about .item:not(:first-of-type)::before {
  position: absolute;
  content: "";
  background: var(--black);
  width: 2px;
  height: 73%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.single-courses main.course .about .item__heading {
  color: var(--department-color);
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-courses main.course .about .item__txt {
  line-height: 2.2;
  margin-top: 8px;
}
.single-courses main.course .curriculum {
  padding-bottom: 110px;
}
.single-courses main.course .curriculum .c-row-wrap01__txt {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.single-courses main.course .curriculum .c-row-wrap01__item {
  gap: 70px;
}
.single-courses main.course .curriculum .c-row-wrap01__img :is(img, picture) {
  aspect-ratio: 17/9;
}
.single-courses main.course .curriculum .block-wrap {
  margin-top: 55px;
}
.single-courses main.course .curriculum .block-wrap > * + * {
  margin-top: 40px;
}
.single-courses main.course .curriculum .block__heading-wrap {
  display: flex;
  flex-direction: row;
  gap: 27px;
  align-items: center;
}
.single-courses main.course .curriculum .block__year {
  display: flex;
  flex-direction: row;
  gap: 6px;
  color: var(--department-color);
  align-items: center;
}
.single-courses main.course .curriculum .block__year-num {
  font-size: 5rem;
  font-weight: bold;
  font-family: var(--robo);
}
.single-courses main.course .curriculum .block__year-ja {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.single-courses main.course .curriculum .block__heading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-courses main.course .curriculum .item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5%;
}
.single-courses main.course .curriculum .item__img {
  width: 45%;
}
.single-courses main.course .curriculum .item__img :is(img, picture) {
  aspect-ratio: 5/4;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.single-courses main.course .curriculum .item__txt-wrap {
  flex: 1;
}
.single-courses main.course .curriculum .item__heading {
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 2;
}
.single-courses main.course .curriculum .item__txt {
  line-height: 2.2;
  margin-top: 4px;
}
.single-courses main.course .curriculum .item__curriculum-heading {
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--robo);
  margin-top: 23px;
  color: var(--department-color);
}
.single-courses main.course .curriculum .item__curriculum-txt {
  line-height: 2.3;
  margin-top: 4px;
}
.single-courses main.course .curriculum .special {
  position: relative;
  margin-top: 40px;
  background: var(--department-master-color);
  padding: 22px 30px 25px;
  border-radius: 30px;
  color: var(--yellow);
}
.single-courses main.course .curriculum .special__heading {
  margin: auto;
  background: var(--yellow);
  color: var(--department-master-color);
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 2rem;
  border-radius: 100vmax;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-courses main.course .curriculum .special__txt {
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.7;
  margin-top: 24px;
}
.single-courses main.course .curriculum .special__plus {
  font-weight: bold;
  text-align: center;
  font-size: 2.4rem;
}
.single-courses main.course .curriculum .special__add {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-courses main.course .curriculum .pickup {
  font-size: 2.4rem;
  font-weight: bold;
  font-family: var(--robo);
  color: var(--department-color);
  margin-top: 92px;
}
.single-courses main.course .curriculum .c-grid-wrap01 {
  margin-top: 25px;
  gap: 80px 100px;
}
.single-courses main.course .artwork {
  padding-top: 80px;
  padding-bottom: 100px;
}
.single-courses main.course .voice {
  padding-top: 110px;
  padding-bottom: 100px;
}
.single-courses main.course .voice .c-row-wrap02 {
  margin-top: 75px;
}
.single-courses main.course .voice .c-row-wrap02__item {
  gap: 7%;
}
.single-courses main.course .voice .c-row-wrap02__img {
  width: 43%;
}
.single-courses main.course .voice .c-row-wrap02__img :is(img, picture) {
  aspect-ratio: 1/1;
}
.single-courses main.course .tuition {
  padding-top: 90px;
  padding-bottom: 130px;
}
.single-courses main.course .tuition .c-table02 {
  margin-top: 50px;
}
.single-courses main.course .trial {
  padding-top: 70px;
  padding-bottom: 192px;
}
.single-courses main.course .trial .c-opencampus-item-wrap {
  margin-top: 100px;
  /* padding-left: 15em; */
  display: block;
}
.single-courses main.course .trial .c-opencampus-item-wrap__item {
  width: 376px;
  margin-left: 30px;
}
.single-courses main.course .c-outline-sec01--department {
  padding-bottom: 100px;
}
.single-courses
  main.course
  .c-outline-sec01--department
  .c-outline-sec01__heading {
  color: var(--department-color);
}

/* 各コース */
.single-courses main.course--creator-brand .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/creator-brand/pl_fv.jpg);
}
.single-courses main.course--creator-costume .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/creator-costume/pl_fv.jpg);
}
.single-courses main.course--business-producer .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/business-producer/pl_fv.jpg);
}
.single-courses
  main.course--business-producer
  .c-gallery01__img
  :is(img, picture) {
  aspect-ratio: 4/3;
}
.single-courses main.course--business-stylist .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/business-stylist/pl_fv.jpg);
}
.single-courses main.course--master-creator .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/master-creator/pl_fv.jpg);
}
.single-courses main.course--master-producer .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/master-producer/pl_fv.jpg);
}

@media (max-width: 768px) {
  .single-courses main.course .c-fv-sec01 .course {
    bottom: -8px;
    font-size: 3rem;
  }
  .single-courses main.course .lead .block {
    padding: 15px 31px 20px;
    transform: unset;
    margin-top: 40px;
  }
  .single-courses main.course .lead .block__duration {
    font-size: 1.6rem;
  }
  .single-courses main.course .lead .item__hour {
    font-size: 1.3rem;
  }
  .single-courses main.course .lead .wrap {
    display: block;
  }
  .single-courses main.course .about {
    padding-top: 55px;
    padding-bottom: 120px;
  }
  .single-courses main.course .about .heading {
    font-size: 1.6rem;
  }
  .single-courses main.course .about .txt {
    margin-top: 15px;
  }
  .single-courses main.course .about .item-wrap {
    display: block;
  }
  .single-courses main.course .about .item {
    width: auto;
    padding: 21px 25px;
  }
  .single-courses main.course .about .item:not(:first-of-type)::before {
    height: 2px;
    width: 50%;
    right: 0;
    bottom: auto;
  }
  .single-courses main.course .about .item__heading {
    font-size: 1.5rem;
  }
  .single-courses main.course .about .item__txt {
    font-size: 1.3rem;
  }
  .single-courses main.course .curriculum {
    padding-bottom: 60px;
  }
  .single-courses main.course .curriculum .c-row-wrap01__txt {
    font-size: 1.7rem;
  }
  .single-courses main.course .curriculum .block-wrap {
    margin-top: 30px;
  }
  .single-courses main.course .curriculum .item {
    display: block;
  }
  .single-courses main.course .curriculum .item__img {
    width: auto;
  }
  .single-courses main.course .curriculum .block__year {
    gap: 3px;
  }
  .single-courses main.course .curriculum .block__year-num {
    font-size: 4rem;
  }
  .single-courses main.course .curriculum .block__year-ja {
    font-size: 1.6rem;
  }
  .single-courses main.course .curriculum .block__heading-wrap {
    gap: 15px;
  }
  .single-courses main.course .curriculum .block__heading {
    font-size: 1.6rem;
  }
  .single-courses main.course .curriculum .item__txt-wrap {
    margin-top: 20px;
  }
  .single-courses main.course .curriculum .item__heading {
    font-size: 1.5rem;
  }
  .single-courses main.course .curriculum .item__curriculum-heading {
    font-size: 1.6rem;
  }
  .single-courses main.course .curriculum .pickup {
    font-size: 2rem;
    margin-top: 54px;
  }
  .single-courses main.course .artwork {
    padding-top: 55px;
    padding-bottom: 70px;
  }
  .single-courses main.course .voice {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  .single-courses main.course .voice .c-row-wrap02 {
    margin-top: 60px;
  }
  .single-courses main.course .voice .c-row-wrap02__img {
    width: auto;
  }
  .single-courses main.course .tuition {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  .single-courses main.course .trial {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  .single-courses main.course .trial .c-opencampus-item-wrap {
    margin-top: 55px;
  }
  .single-courses main.course .trial .c-opencampus-item-wrap__item {
    width: auto;
    margin-left: 5vw;
    margin-right: 5vw;
  }
  .single-courses main.course .c-outline-sec01--department {
    padding-bottom: 50px;
  }
  .single-courses main.course .curriculum .special__heading {
    font-size: 1.6rem;
  }
  .single-courses main.course .curriculum .special__plus {
    font-size: 2rem;
  }
  .single-courses main.course .curriculum .special__add {
    font-size: 1.8rem;
  }
}

/*-------------------------------

## スキルアップスクール

-------------------------------*/
.single-courses main.skillup .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/skillup/pl_fv.jpg);
}
.single-courses main .c-table01 th {
  min-width: 140px;
}
.single-courses main .skillup-lead,
.skillup-lecturer,
.skillup-list {
  border-bottom: 1px solid;
}

/*-------------------------------

## 資格取得サポート

-------------------------------*/
.single-courses main.certification .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/courses/certification/pl_fv.jpg);
}

/*-------------------------------

# EVENT / CONTEST

-------------------------------*/
/*-------------------------------

## イベント・コンテスト（アーカイブ）

-------------------------------*/
.archive-event_contest main .big-event {
  padding-top: 25px;
  padding-bottom: 152px;
}
.archive-event_contest main .big-event .block-wrap > * + * {
  padding-top: 100px;
}
.archive-event_contest main .big-event .block__img {
  position: relative;
}
.archive-event_contest main .big-event .block__img :is(img, picture) {
  object-fit: cover;
  aspect-ratio: 2/1;
  width: 100%;
  height: 100%;
}
.archive-event_contest main .big-event .block__img-heading {
  color: #fff;
  font-size: 8rem;
  font-weight: bold;
  font-family: var(--robo);
  position: absolute;
  bottom: 30px;
  left: 40px;
  line-height: 1.1;
}
.archive-event_contest main .big-event .block__heading {
  margin-top: 55px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.archive-event_contest main .big-event .block__inner {
  margin-top: 50px;
  gap: 110px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.archive-event_contest main .big-event .block__txt-wrap {
  flex: 1;
}
.archive-event_contest main .big-event .block__copy {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.archive-event_contest main .big-event .block__summary {
  margin-top: 15px;
  line-height: 2.6;
}
.archive-event_contest main .other {
  border-top: 1px solid var(--black);
  padding-top: 168px;
  padding-bottom: 230px;
}
.archive-event_contest main .other .block-wrap > * + * {
  margin-top: 130px;
}
.archive-event_contest main .other .block__heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.archive-event_contest main .other .c-outline-contest-wrap01 {
  margin-top: 50px;
}

@media (max-width: 1280px) {
  .archive-event_contest main .big-event .block__img-heading {
    font-size: 6vw;
    bottom: 2.6vw;
    left: 3vw;
  }
}
@media (max-width: 1025px) {
  .archive-event_contest main .big-event .block__inner {
    display: block;
  }
  .archive-event_contest main .big-event .c-btn {
    margin-top: 40px;
  }
}
@media (max-width: 768px) {
  .archive-event_contest main .big-event {
    padding-bottom: 55px;
  }
  .archive-event_contest main .big-event .block-wrap > * + * {
    padding-top: 70px;
  }
  .archive-event_contest main .big-event .block__img-heading {
    font-size: 7vw;
  }
  .archive-event_contest main .big-event .block__heading {
    font-size: 2rem;
    margin-top: 30px;
  }
  .archive-event_contest main .big-event .block__inner {
    margin-top: 15px;
  }
  .archive-event_contest main .big-event .block__copy {
    font-size: 1.6rem;
  }
  .archive-event_contest main .big-event .block__summary {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 25px;
  }
  .archive-event_contest main .big-event .c-btn {
    margin-top: 25px;
  }
  .archive-event_contest main .other .block-wrap > * + * {
    margin-top: 90px;
  }
  .archive-event_contest main .other {
    padding-top: 55px;
    padding-bottom: 100px;
  }
  .archive-event_contest main .other .block__heading {
    font-size: 2rem;
  }
  .archive-event_contest main .other .c-outline-contest-wrap01 {
    margin-top: 15px;
  }
}

/*-------------------------------

## イベント・コンテスト（シングル）

-------------------------------*/
/*-------------------------------

### 共通

-------------------------------*/
.single-event_contest main .c-btn {
  font-size: 2rem;
  font-weight: bold;
  padding: 15px 60px;
}
.single-event_contest
  main
  .c-outline-sec02
  .item--overseas
  .item__img
  :is(img, picture) {
  object-fit: contain;
}
.single-event_contest
  main
  .c-outline-sec02
  .item--japan
  .item__img
  :is(img, picture) {
  object-position: top;
}

@media (max-width: 768px) {
  .single-event_contest main .c-btn {
    font-size: 1.6rem;
    padding: 10px 30px;
  }
}
/*-------------------------------

### 三大イベント

-------------------------------*/
/*-------------------------------

#### TOP / main.big-event-top

-------------------------------*/
.single-event_contest main.big-event-top.fashion-grandprix .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/pl_fv.jpg);
}
.single-event_contest main.big-event-top.tokyo-collection .c-fv-sec02 {
  background: url(../img/post/event_contest/tokyo-collection/pl_fv.jpg);
}
.single-event_contest main.big-event-top.festival .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/pl_fv.jpg);
}
.single-event_contest main.big-event-top .about {
  padding-top: 70px;
  padding-bottom: 168px;
}
.single-event_contest main.big-event-top .about .heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-top: 100px;
}
.single-event_contest main.big-event-top .about .txt {
  line-height: 2.6;
  margin-top: 40px;
}
.single-event_contest main.big-event-top .about .c-row-wrap01 {
  margin-top: 144px;
}
.single-event_contest main.big-event-top .about .c-row-wrap01 .ttl {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-top .about .c-row-wrap01__item {
  gap: 176px;
}
.single-event_contest main.big-event-top .about .c-row-wrap01__img {
  width: 41vw;
}
.single-event_contest
  main.big-event-top
  .about
  .c-row-wrap01__img
  :is(img, picture) {
  aspect-ratio: 5/3;
}
.single-event_contest main.big-event-top .about {
  padding-bottom: 92px;
}
.single-event_contest main.big-event-top .creative {
  padding: 100px 0 168px;
}
.single-event_contest main.big-event-top .creative .c-row-wrap01 .heading {
  font-weight: bold;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-top .creative .c-row-wrap01 {
  margin-top: 50px;
}
.single-event_contest main.big-event-top .creative .c-row-wrap01__txt-wrap {
  margin-top: 0;
}
.single-event_contest main.big-event-top .creative .c-row-wrap01__item {
  align-items: center;
}
.single-event_contest main.big-event-top .pickup .c-row-wrap01 .heading {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.04em;
}

@media (max-width: 1280px) {
  .single-event_contest main.big-event-top .about .c-row-wrap01__item {
    gap: 5%;
  }
}
@media (max-width: 768px) {
  .single-event_contest main.big-event-top .about {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-top .about .heading {
    font-size: 1.8rem;
    margin-top: 40px;
  }
  .single-event_contest main.big-event-top .about .txt {
    margin-top: 15px;
    line-height: 2.2;
  }
  .single-event_contest main.big-event-top .about .c-row-wrap01 {
    margin-top: 50px;
  }
  .single-event_contest main.big-event-top .about .c-row-wrap01__img {
    width: auto;
  }
  .single-event_contest main.big-event-top .about .ttl {
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-top .creative .c-row-wrap01 .heading {
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-top .about {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-top .creative .c-row-wrap01__txt-wrap {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-top .creative {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-top .pickup .c-row-wrap01 .heading {
    font-size: 1.6rem;
  }
}

/*-------------------------------

#### 年別TOP / main.big-event-year

-------------------------------*/

.single-event_contest main.big-event-year.tokyo-collection-2026 .c-fv-sec02 {
  background: url(../img/post/event_contest/tokyo-collection/year2026/p_lastyear_01.jpg);
}
.single-event_contest main.big-event-year .lead {
  padding-top: 70px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .lead .c-link01__inner {
  max-width: 700px;
}
.single-event_contest main.big-event-year .lead .block {
  margin-top: 152px;
  display: flex;
  gap: 9%;
  align-items: center;
}
.single-event_contest main.big-event-year .lead .block__img {
  width: 41%;
}
.single-event_contest main.big-event-year .lead .block__txt-wrap {
  flex: 1;
}
.single-event_contest main.big-event-year .lead .block__heading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 2;
}
.single-event_contest main.big-event-year .lead .block__txt {
  margin-top: 50px;
  line-height: 2.6;
  letter-spacing: -0.04em;
}
.single-event_contest main.big-event-year .lead .block__logo {
  margin-top: 80px;
  width: 141px;
}
.single-event_contest main.big-event-year .lead .block__about {
  margin-top: 40px;
  font-size: 1.3rem;
  letter-spacing: -0.04em;
  line-height: 2.1;
}
.single-event_contest main.big-event-year .overview {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .overview .subheading {
  margin-top: 70px;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-year .overview .table {
  margin-top: 40px;
  border-top: 1px solid var(--black);
}
.single-event_contest main.big-event-year .overview .table__item {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid var(--black);
  padding: 25px;
}
.single-event_contest main.big-event-year .overview .table__heading {
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
  width: 160px;
}
.single-event_contest main.big-event-year .overview .table__txt {
  flex: 1;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
}
.single-event_contest main.big-event-year :is(.overview, .theme) .img {
  max-width: 800px;
  margin: 0 auto 30px;
}
.single-event_contest main.big-event-year .works {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .works .c-works-wrap01 {
  margin-top: 120px;
}
.single-event_contest main.big-event-year .about {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .about .txt {
  line-height: 2;
  letter-spacing: -0.04em;
  margin-top: 80px;
}
.single-event_contest main.big-event-year .about .c-btn {
  margin: 50px auto 0;
}
.single-event_contest main.big-event-year .lastyear {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .lastyear .mainslider {
  width: 100%;
  height: calc(100svh - var(--ft-btn-height));
  margin-top: 90px;
}
.single-event_contest
  main.big-event-year
  .lastyear
  .mainslider
  :is(img, picture) {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.single-event_contest main.big-event-year .lastyear .mainslider__item {
  height: calc(100svh - var(--ft-btn-height));
}
.single-event_contest main.big-event-year .lastyear .subslider {
  margin-top: 100px;
}
.single-event_contest main.big-event-year .lastyear .subslider .slick-track {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 55px 80px;
}
.single-event_contest
  main.big-event-year
  .lastyear
  .subslider
  .slick-track:before,
.single-event_contest
  main.big-event-year
  .lastyear
  .subslider
  .slick-track:after {
  display: none;
}
.single-event_contest main.big-event-year .lastyear .subslider__item {
  cursor: pointer;
  width: auto !important;
}
.single-event_contest
  main.big-event-year
  .lastyear
  .subslider__item
  :is(img, picture) {
  opacity: 0.4;
}
.single-event_contest
  main.big-event-year
  .lastyear
  .subslider__item.slick-current
  :is(img, picture) {
  opacity: 1;
}
.single-event_contest
  main.big-event-year
  .lastyear
  .subslider__item.slick-current {
  cursor: default;
}
.single-event_contest main.big-event-year .voice {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .voice .wrap {
  margin-top: 100px;
}
.single-event_contest main.big-event-year .voice .c-row-wrap02 {
  gap: 8%;
}
.single-event_contest main.big-event-year .voice .c-row-wrap02__img {
  width: 43%;
}
.single-event_contest
  main.big-event-year
  .voice
  .c-row-wrap02__img
  :is(img, picture) {
  aspect-ratio: 1/1;
}
.single-event_contest main.big-event-year .reservation {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .reservation .content {
  margin-top: 60px;
}
.single-event_contest main.big-event-year .reservation .txt {
  color: var(--red);
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.5;
}
.single-event_contest main.big-event-year .online {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .online .block {
  margin-top: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 5/3;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}

.single-event_contest main.big-event-year .online .block__txt {
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2;
}
.single-event_contest main.big-event-year .online .c-btn {
  margin-top: 50px;
}
.single-event_contest main.big-event-year .company {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-year .company .wrap {
  margin-top: 80px;
}
.single-event_contest main.big-event-year .company .wrap > * + * {
  margin-top: 110px;
}
.single-event_contest main.big-event-year .company .subheading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-event_contest main.big-event-year .company .block {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 50px;
  gap: 7%;
}
.single-event_contest main.big-event-year .company .block__img-wrap {
  width: 42%;
}
.single-event_contest main.big-event-year .company .block__img--anrealage {
  scale: 0.8;
}
.single-event_contest main.big-event-year .company .block__heading {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 25px;
  text-align: center;
}
.single-event_contest main.big-event-year .company .block__txt-wrap {
  flex: 1;
}
.single-event_contest main.big-event-year .company .block__txt {
  line-height: 2;
  letter-spacing: -0.04em;
}
.single-event_contest main.big-event-year .company .block__info {
  line-height: 2.3;
  letter-spacing: -0.04em;
  margin-top: 15px;
}

@media (max-width: 768px) {
  .single-event_contest main.big-event-year .lead {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .lead .block {
    display: block;
    margin-top: 60px;
  }
  .single-event_contest main.big-event-year .lead .block__img {
    width: auto;
  }
  .single-event_contest main.big-event-year .lead .block__txt-wrap {
    margin-top: 40px;
  }
  .single-event_contest main.big-event-year .lead .block__heading {
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-year .lead .block__txt {
    margin-top: 30px;
    line-height: 2.2;
  }
  .single-event_contest main.big-event-year .lead .block__logo {
    margin-top: 55px;
  }
  .single-event_contest main.big-event-year .lead .block__about {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-year .overview {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .overview .subheading {
    margin-top: 40px;
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-year .overview .table__item {
    display: block;
    padding: 25px 8px;
  }
  .single-event_contest main.big-event-year .overview .table__txt {
    margin-top: 8px;
  }
  .single-event_contest main.big-event-year .works {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .works .works-wrap01 {
    margin-top: 50px;
  }
  .single-event_contest main.big-event-year .about {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .about .txt {
    margin-top: 50px;
  }
  .single-event_contest main.big-event-year .about .c-btn {
    margin-top: 30px;
  }
  .single-event_contest main.big-event-year .lastyear {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .lastyear .mainslider {
    height: auto;
    aspect-ratio: 3/2;
    margin-top: 55px;
  }
  .single-event_contest main.big-event-year .lastyear .mainslider__item {
    height: auto;
  }
  .single-event_contest main.big-event-year .lastyear .subslider {
    margin-top: 30px;
  }
  .single-event_contest main.big-event-year .lastyear .subslider .slick-track {
    gap: 15px 15px;
  }
  .single-event_contest main.big-event-year .voice {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .voice .wrap {
    margin-top: 60px;
  }
  .single-event_contest
    main.big-event-year
    .voice
    .c-row-wrap02
    + .c-row-wrap02 {
    margin-top: 60px;
  }
  .single-event_contest main.big-event-year .voice .img {
    width: auto;
  }
  .single-event_contest main.big-event-year .voice .name {
    margin-top: 15px;
  }
  .single-event_contest main.big-event-year .reservation {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .reservation .content {
    margin-top: 40px;
  }
  .single-event_contest main.big-event-year .online {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .online .block {
    margin-top: 55px;
    aspect-ratio: 3/2;
  }
  .single-event_contest main.big-event-year .online .block__txt {
    font-size: 1.3rem;
  }
  .single-event_contest main.big-event-year .online .c-btn {
    margin-top: 15px;
  }
  .single-event_contest main.big-event-year .company {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-year .company .wrap {
    margin-top: 40px;
  }
  .single-event_contest main.big-event-year .company .wrap > * + * {
    margin-top: 50px;
  }
  .single-event_contest main.big-event-year .company .subheading {
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-year .company .block {
    margin-top: 25px;
    display: block;
  }
  .single-event_contest main.big-event-year .company .block__img-wrap {
    width: auto;
  }
  .single-event_contest main.big-event-year .company .block__img {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .single-event_contest main.big-event-year .company .block__heading {
    font-size: 1.4rem;
    text-align: left;
  }
  .single-event_contest main.big-event-year .company .block__txt {
    font-size: 1.3rem;
    margin-top: 25px;
  }
  .single-event_contest main.big-event-year .company .block__info {
    font-size: 1.3rem;
  }
}

/*-------------------------------

#### プログラム / main.big-event-program

-------------------------------*/
.single-event_contest main.big-event-program {
  .c-sec-lead01 {
    padding-top: 50px;
  }
  .exhibition {
    .c-link01__inner {
      flex-direction: column;
    }
  }
}
.single-event_contest main.big-event-year .lead .block__heading-theme {
  font-size: 1.5rem;
  font-weight: bold;
}
/*-------------------------------

#### 個人ページ / main.big-event-indivisual

-------------------------------*/
.single-event_contest main.big-event-indivisual .indivisual {
  padding-top: 110px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-indivisual .indivisual .img {
  width: 350px;
  margin-left: auto;
  margin-right: auto;
}
.single-event_contest main.big-event-indivisual .indivisual .heading {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-top: 90px;
}
.single-event_contest main.big-event-indivisual .indivisual .txt {
  line-height: 2;
  margin-top: 40px;
}
.single-event_contest main.big-event-indivisual .indivisual .block {
  display: flex;
  flex-direction: row;
  margin-top: 80px;
  align-items: center;
  gap: 7%;
}
.single-event_contest main.big-event-indivisual .indivisual .block__img {
  width: 33%;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .block__img
  :is(img, picture) {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.single-event_contest main.big-event-indivisual .indivisual .block__txt-wrap {
  flex: 1;
}
.single-event_contest main.big-event-indivisual .indivisual .block__name {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-indivisual .indivisual .block__furigana {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  margin-top: 15px;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .block__affiliation {
  margin-top: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 2;
}
.single-event_contest main.big-event-indivisual .indivisual .block__info {
  margin-top: 25px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img {
  margin: 2em auto 0;
  max-width: 485px;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery {
  margin: 0 auto;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-item {
  display: flex;
  justify-content: center;
  margin: 2em auto 0;
  width: fit-content;
  max-width: 485px;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-item.is-tow {
  max-width: none;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-item.is-tate {
  max-width: 720px;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-item.is-tow
  .indivisual-collabo-img__gallery-in {
  width: 45%;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-in
  + .indivisual-collabo-img__gallery-in {
  margin-left: 2em;
}
.single-event_contest
  main.big-event-indivisual
  .indivisual
  .indivisual-collabo-img__gallery-in.is-tate {
  max-width: 300px;
}
.single-event_contest main.big-event-indivisual .works {
  padding-top: 90px;
  padding-bottom: 110px;
}
.single-event_contest main.big-event-indivisual .works .c-works-wrap01 {
  margin-top: 120px;
}

@media (max-width: 768px) {
  .single-event_contest main.big-event-indivisual .indivisual {
    padding-top: 55px;
    padding-bottom: 50px;
  }
  .single-event_contest main.big-event-indivisual .indivisual .heading {
    font-size: 2rem;
    margin-top: 50px;
  }
  .single-event_contest main.big-event-indivisual .indivisual .txt {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block {
    display: block;
    margin-top: 60px;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block__img {
    width: auto;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block__txt-wrap {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block__name {
    font-size: 1.6rem;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block__furigana {
    margin-top: 0;
    font-size: 1.3rem;
  }
  .single-event_contest
    main.big-event-indivisual
    .indivisual
    .block__affiliation {
    font-size: 1.3rem;
  }
  .single-event_contest main.big-event-indivisual .indivisual .block__info {
    font-size: 1.3rem;
  }
  .single-event_contest
    main.big-event-indivisual
    .indivisual
    .indivisual-collabo-img__gallery-item {
    display: block;
  }
  .single-event_contest
    main.big-event-indivisual
    .indivisual
    .indivisual-collabo-img__gallery-item.is-tow
    .indivisual-collabo-img__gallery-in {
    width: 100%;
  }
  .single-event_contest
    main.big-event-indivisual
    .indivisual
    .indivisual-collabo-img__gallery-in
    + .indivisual-collabo-img__gallery-in {
    margin-top: 2em;
    margin-left: 0;
  }
  .single-event_contest
    main.big-event-indivisual
    .indivisual
    .indivisual-collabo-img__gallery-in.is-tate {
    max-width: 100%;
  }
  .single-event_contest main.big-event-indivisual .works {
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-indivisual .works .works-wrap01 {
    margin-top: 50px;
  }
  .single-event_contest main.big-event-indivisual .c-outline-sec02 {
    padding-top: 30px;
    padding-bottom: 50px;
  }
}

/*-------------------------------

#### レポート / main.big-event-report

-------------------------------*/
.single-event_contest main.big-event-report .c-fv-sec02 {
  position: relative;
}
.single-event_contest main.big-event-report .c-fv-sec02 .c-bread {
  position: relative;
  z-index: 3;
}
.single-event_contest main.big-event-report .c-fv-sec02 .video {
  position: absolute;
  inset: 0;
  margin: auto;
}
.single-event_contest main.big-event-report .c-fv-sec02 .video iframe {
  width: 100%;
  height: 100%;
}
.single-event_contest main.big-event-report .lead {
  padding-top: 70px;
  padding-bottom: 152px;
}
.single-event_contest main.big-event-report .lead .hide-heading {
  position: absolute;
  opacity: 0;
}
.single-event_contest main.big-event-report .lead .img {
  max-width: 800px;
  margin: 0 auto;
}
.single-event_contest main.big-event-report .lead .year {
  font-size: 4rem;
  font-weight: bold;
  font-family: var(--robo);
  margin-top: 50px;
}
.single-event_contest main.big-event-report .lead .theme {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  position: relative;
  margin-top: 8px;
}
.single-event_contest main.big-event-report .lead .theme::after {
  content: "";
  background: var(--black);
  height: 4px;
  width: 93px;
  position: absolute;
  left: 0;
  bottom: -20px;
}
.single-event_contest main.big-event-report .lead .theme__heading {
  font-weight: bold;
  font-size: 2.5rem;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-report .lead .theme__name {
  font-size: 3.7rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  font-family: var(--robo);
}
.single-event_contest main.big-event-report .lead .theme__furigana {
  letter-spacing: 0.1em;
  font-weight: bold;
}
.single-event_contest main.big-event-report .lead .heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-top: 50px;
}
.single-event_contest main.big-event-report .lead .txt {
  line-height: 2.6;
  margin-top: 55px;
}
.single-event_contest main.big-event-report .lead .table {
  display: flex;
  flex-direction: row;
  margin-top: 90px;
}
.single-event_contest main.big-event-report .lead .table__inner {
  width: 50%;
}
.single-event_contest main.big-event-report .lead .table__inner > * + * {
  margin-top: 40px;
}
.single-event_contest main.big-event-report .lead .table__heading {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.single-event_contest main.big-event-report .lead .table__txt {
  letter-spacing: 0.04em;
  margin-top: 8px;
  line-height: 2.6;
}
.single-event_contest main.big-event-report .lead .c-link02 {
  margin-top: 120px;
}
.single-event_contest main.big-event-report .works {
  padding-top: 90px;
  padding-bottom: 152px;
}
.single-event_contest main.big-event-report .works .name-wrap {
  display: flex;
  gap: 15px;
  margin-top: 60px;
  align-items: center;
}
.single-event_contest main.big-event-report .works .name-wrap + .name-wrap {
  margin-top: 10px;
}
.single-event_contest main.big-event-report .works .name {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
}
.single-event_contest main.big-event-report .works .school {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}
.single-event_contest main.big-event-report .works .heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 15px;
}
.single-event_contest main.big-event-report .works .txt {
  line-height: 2.6;
  margin-top: 50px;
}
.single-event_contest main.big-event-report .works .c-gallery-wrap02 {
  margin-top: 55px;
}

@media (max-width: 768px) {
  .single-event_contest main.big-event-report .lead {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-report .lead .year {
    font-size: 3rem;
  }
  .single-event_contest main.big-event-report .lead .theme {
    gap: 8px;
    margin-top: 0;
  }
  .single-event_contest main.big-event-report .lead .theme__heading {
    font-size: 1.8rem;
  }
  .single-event_contest main.big-event-report .lead .theme__name {
    font-size: 3rem;
  }
  .single-event_contest main.big-event-report .lead .theme__furigana {
    font-size: 1.3rem;
  }
  .single-event_contest main.big-event-report .lead .heading {
    font-size: 2rem;
  }
  .single-event_contest main.big-event-report .lead .txt {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-report .lead .table {
    display: block;
    margin-top: 50px;
  }
  .single-event_contest
    main.big-event-report
    .lead
    :is(.table, .table__inner)
    > *
    + * {
    margin-top: 25px;
  }
  .single-event_contest main.big-event-report .lead .table__inner {
    width: auto;
  }
  .single-event_contest main.big-event-report .lead .table__txt {
    line-height: 2;
  }
  .single-event_contest main.big-event-report .lead .c-link02 {
    margin-top: 40px;
  }
  .single-event_contest main.big-event-report .works {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .single-event_contest main.big-event-report .works .name-wrap {
    display: block;
  }
  .single-event_contest main.big-event-report .works .name {
    font-size: 1.8rem;
  }
  .single-event_contest main.big-event-report .works .course {
    margin-top: 8px;
  }
  .single-event_contest main.big-event-report .works .heading {
    font-size: 2rem;
    margin-top: 15px;
  }
  .single-event_contest main.big-event-report .works .txt {
    margin-top: 30px;
  }
  .single-event_contest main.big-event-report .works .c-gallery-wrap02 {
    margin-top: 25px;
  }
}

/*-------------------------------

#### ファッショングランプリ

-------------------------------*/
.single-event_contest main.fashion-grandprix .lead .block__heading-sub {
  font-size: 1.5rem;
}
.single-event_contest main.fashion-grandprix .lead .block__heading-thema__sub {
  font-size: 1.6rem;
}
.single-event_contest main.fashion-grandprix .access .access__map iframe {
  width: 100%;
  height: 410px;
}
@media (max-width: 768px) {
  .single-event_contest main.fashion-grandprix .access .access__map iframe {
    height: 200px;
  }
}

/*-------------------------------

##### ファッショングランプリ2025

-------------------------------*/

.single-event_contest
  main.fashion-grandprix--2025
  .program
  .c-table03__heading {
  width: 280px;
}

/*-------------------------------

#### 学園祭

-------------------------------*/
.single-event_contest main.festival .block .block_img {
  max-width: 600px;
  margin: 0 auto;
}
.single-event_contest
  main.festival
  .c-contest-block-wrap01
  + .course-btn-wrap01 {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .single-event_contest
    main.festival
    .c-contest-block-wrap01
    + .course-btn-wrap01 {
    margin-top: 50px;
  }
}

/*-------------------------------

#### 背景画像設定

-------------------------------*/
/*-------------------------------

##### FV

-------------------------------*/
.single-event_contest main .c-fv-sec02 {
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
.single-event_contest main.fashion-grandprix .c-fv-sec02 {
  background-position: top !important;
}
/*-------------------------------

###### ファッショングランプリ

-------------------------------*/
.single-event_contest main.fashion-grandprix--2012 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2012/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2013 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2013/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2014 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2014/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2015 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2015/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2016 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2016/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2017 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2017/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2018 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2018/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2019 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2019/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2020 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2020/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2021 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2021/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2022 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2022/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2023 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2023/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2024 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2024/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2025 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2025/pl_fv.jpg);
}

.single-event_contest main.fashion-grandprix--2026 .c-fv-sec02 {
  background: url(../img/post/event_contest/fashion-grandprix/year2026/pl_fv.jpg);
}

/*-------------------------------

###### マロニエ祭

-------------------------------*/
.single-event_contest main.festival--2012 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2012/pl_fv.jpg);
}
.single-event_contest main.festival--2013 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2013/pl_fv.jpg);
}
.single-event_contest main.festival--2014 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2014/pl_fv.jpg);
}
.single-event_contest main.festival--2015 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2015/pl_fv.jpg);
}
.single-event_contest main.festival--2016 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2016/pl_fv.jpg);
}
.single-event_contest main.festival--2017 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2017/pl_fv.jpg);
}
.single-event_contest main.festival--2018 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2018/pl_fv.jpg);
}
.single-event_contest main.festival--2019 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2019/pl_fv.jpg);
}
.single-event_contest main.festival--2020 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2020/pl_fv.jpg);
}
.single-event_contest main.festival--2021 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2021/pl_fv.jpg);
}
.single-event_contest main.festival--2022 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2022/pl_fv.jpg);
}
.single-event_contest main.festival--2023 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2023/pl_fv_bg.jpg);
}
.single-event_contest main.festival--2024 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2024/pl_fv.jpg);
}
.single-event_contest main.festival--2025 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2025/pl_fv.jpg);
}
.single-event_contest main.festival--2026 .c-fv-sec02 {
  background: url(../img/post/event_contest/festival/year2026/pl_fv.jpg);
}

/*-------------------------------

###### 東コレ

-------------------------------*/
.single-event_contest main.tokyo-collection--2025 .c-fv-sec02 {
  background: url(../img/post/event_contest/tokyo-collection/year2025/pl_fv.jpg);
}

/* 2026の画像がないため2025 */
.single-event_contest main.tokyo-collection--2026 .c-fv-sec02 {
  background: url(../img/post/event_contest/tokyo-collection/year2026/pl_fv.jpg);
}

/*-------------------------------

##### オンライン

-------------------------------*/
/*-------------------------------

###### ファッショングランプリ

-------------------------------*/
.single-event_contest main.fashion-grandprix .online .block {
  background-position: top !important;
}
.single-event_contest main.fashion-grandprix--2012 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2012/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2013 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2013/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2014 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2014/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2015 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2015/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2016 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2016/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2017 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2017/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2018 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2018/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2019 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2019/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2020 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2020/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2021 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2021/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2022 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2022/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2023 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2023/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2024 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2024/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2025 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2025/pl_fv.jpg);
}
.single-event_contest main.fashion-grandprix--2026 .online .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/post/event_contest/fashion-grandprix/year2026/pl_fv.jpg);
}
/*-------------------------------

###### 東コレ

-------------------------------*/
.single-event_contest
  main.big-event-year.tokyo-collection--2025
  .online
  .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url(../img/post/event_contest/tokyo-collection/year2025/pl_fv.jpg);
}

/* 2026の画像がないため2025 */
.single-event_contest
  main.big-event-year.tokyo-collection--2026
  .online
  .block {
  background:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url(../img/post/event_contest/tokyo-collection/year2026/pl_fv.jpg);
}

/*-------------------------------

### コンテスト（国内・海外）

-------------------------------*/
/*-------------------------------

#### TOP main.contest-top

-------------------------------*/
.single-event_contest main.contest-top .main .block-wrap > * + * {
  padding-top: 100px;
}
.single-event_contest main.contest-top .main .block__img {
  position: relative;
}
.single-event_contest main.contest-top .main .block__img :is(img, picture) {
  object-fit: cover;
  aspect-ratio: 2/1;
  width: 100%;
  height: 100%;
}
.single-event_contest
  main.contest-top--japan
  .main
  .block__img
  :is(img, picture) {
  object-position: top;
}
.single-event_contest main.contest-top .main .block__img-heading {
  color: #fff;
  font-size: 8rem;
  font-weight: bold;
  font-family: var(--robo);
  position: absolute;
  bottom: 30px;
  left: 40px;
  line-height: 1.1;
}
.single-event_contest main.contest-top .main .block__heading {
  margin-top: 55px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-event_contest main.contest-top .main .block__inner {
  margin-top: 50px;
  gap: 110px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.single-event_contest main.contest-top .main .block__txt-wrap {
  flex: 1;
}
.single-event_contest main.contest-top .main .block__copy {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.single-event_contest main.contest-top .main .block__summary {
  margin-top: 15px;
  line-height: 2.6;
}
.single-event_contest main.contest-top .other {
  padding-top: 50px;
  padding-bottom: 230px;
}
.single-event_contest main.contest-top .other .block-wrap > * + * {
  margin-top: 130px;
}
.single-event_contest main.contest-top .other .block__heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-event_contest main.contest-top .other .item-wrap {
  border-top: 2px solid var(--black);
}

@media (max-width: 1280px) {
  .single-event_contest main.contest-top .main .block__img-heading {
    font-size: 6vw;
    bottom: 2.6vw;
    left: 3vw;
  }
}
@media (max-width: 1025px) {
  .single-event_contest main.contest-top .main .block__inner {
    display: block;
  }
  .single-event_contest main.contest-top .main .c-btn {
    margin-top: 40px;
  }
}
@media (max-width: 768px) {
  .single-event_contest main.contest-top .main .block-wrap > * + * {
    padding-top: 70px;
  }
  .single-event_contest main.contest-top .main .block__img-heading {
    font-size: 7vw;
  }
  .single-event_contest main.contest-top .main .block__heading {
    font-size: 2rem;
    margin-top: 30px;
  }
  .single-event_contest main.contest-top .main .block__inner {
    margin-top: 15px;
  }
  .single-event_contest main.contest-top .main .block__copy {
    font-size: 1.6rem;
  }
  .single-event_contest main.contest-top .main .block__summary {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 25px;
  }
  .single-event_contest main.contest-top .main .c-btn {
    margin-top: 25px;
  }
  .single-event_contest main.contest-top .other .block-wrap > * + * {
    margin-top: 90px;
  }
  .single-event_contest main.contest-top .other {
    padding-top: 55px;
    padding-bottom: 100px;
  }
  .single-event_contest main.contest-top .other .block__heading {
    font-size: 2rem;
  }
  .single-event_contest main.contest-top .other .item-wrap {
    margin-top: 15px;
  }
}

/*-------------------------------

#### 単記事 / main.contest-detail

-------------------------------*/
.single-event_contest main.contest-detail .lead {
  padding-top: 70px;
  padding-bottom: 152px;
}
.single-event_contest main.contest-detail .lead .c-link01__inner {
  max-width: unset;
}
.single-event_contest main.contest-detail .lead .c-row-wrap02__item {
  margin-top: 80px;
  gap: 7%;
}
.single-event_contest main.contest-detail .lead .c-row-wrap02__img {
  width: 43%;
}
.single-event_contest
  main.contest-detail
  .lead
  .c-row-wrap02__img
  :is(img, picture) {
  aspect-ratio: 1/1;
  object-fit: contain;
}
.single-event_contest main.contest-detail .lead .c-btn {
  margin-top: 55px;
}
.single-event_contest main.contest-detail .works {
  padding-top: 90px;
  padding-bottom: 60px;
}

.single-event_contest main.contest-detail .other .block__heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.single-event_contest main.contest-detail .other .c-outline-contest-wrap01 {
  margin-top: 50px;
}

@media (max-width: 768px) {
  .single-event_contest main.contest-detail .lead {
    padding-top: 50px;
    padding-bottom: 60px;
  }
  .single-event_contest main.contest-detail .lead .c-row-wrap02__item {
    margin-top: 40px;
  }
  .single-event_contest main.contest-detail .lead .c-row-wrap02__img {
    width: auto;
  }
  .single-event_contest
    main.contest-detail
    .lead
    .c-row-wrap02__item--graduate-fashion-week
    .c-row-wrap02__img
    :is(img, picture) {
    aspect-ratio: unset;
  }
  .single-event_contest main.contest-detail .lead .c-row-wrap02__txt-wrap {
    margin-top: 25px;
  }
  .single-event_contest main.contest-detail .lead .c-btn {
    margin-top: 30px;
  }
  .single-event_contest main.contest-detail .works {
    padding-top: 55px;
  }

  .single-event_contest main.contest-detail .other .block__heading {
    font-size: 2rem;
  }
  .single-event_contest main.contest-detail .other .c-outline-contest-wrap01 {
    margin-top: 15px;
  }
}

/*-------------------------------

#### FV設定

-------------------------------*/
/* 海外 */
.single-event_contest main.contest-detail--overseas .c-fv-sec02 {
  background-position: top !important;
}
.single-event_contest
  main.contest-detail--overseas-graduate-fashion-week
  .c-fv-sec02 {
  background: url(../img/post/event_contest/overseas/graduate-fashion-week/pl_fv.jpg);
}
.single-event_contest
  main.contest-detail--overseas-fashion-graduate-italia
  .c-fv-sec02 {
  background: url(../img/post/event_contest/overseas/fashion-graduate-italia/pl_fv.jpg);
}
.single-event_contest
  main.contest-detail--overseas-vancouver-fashion-week
  .c-fv-sec02 {
  background: url(../img/post/event_contest/overseas/vancouver-fashion-week/pl_fv.jpg);
}
.single-event_contest main.contest-detail--overseas-dalian-cup .c-fv-sec02 {
  background: url(../img/post/event_contest/overseas/dalian-cup/pl_fv.jpg);
}

/* 国内 */
.single-event_contest main.contest-detail--japan .c-fv-sec02 {
  background-position: top !important;
}
.single-event_contest main.contest-detail--japan-year2015 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2015/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2016 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2016/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2017 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2017/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2018 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2018/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2019 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2019/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2020 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2020/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2021 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2021/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2022 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2022/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2023 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2023/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2024 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2024/pl_fv.jpg);
}
.single-event_contest main.contest-detail--japan-year2025 .c-fv-sec02 {
  background: url(../img/post/event_contest/japan/year2025/pl_fv.jpg);
}
/*-------------------------------

# ENTRY

-------------------------------*/
/*-------------------------------

## 入学案内・学費サポート

-------------------------------*/
.page-entry main .exam {
  padding-top: 60px;
  padding-bottom: 110px;
}
.page-entry main .exam .heading {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.page-entry main .exam .txt {
  line-height: 2.6;
  margin-top: 50px;
}

@media (max-width: 768px) {
  .page-entry main .exam {
    padding-top: 25px;
    padding-bottom: 50px;
  }
  .page-entry main .exam .heading {
    font-size: 2rem;
  }
  .page-entry main .exam .txt {
    margin-top: 25px;
  }
}

/*-------------------------------

## AO入試

-------------------------------*/
.page-ao .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/ao/pl_fv.jpg);
}
body main.exam .reason {
  padding-top: 100px;
  padding-bottom: 130px;
}
body main.exam .reason .item-wrap {
  margin-top: 110px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
body main.exam .reason .item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--black);
  height: 180px;
}
body main.exam .reason .item__heading-wrap {
  position: absolute;
  display: flex;
  flex-direction: row;
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
  justify-content: center;
}
body main.exam .reason .item__point {
  font-size: 3rem;
  font-weight: bold;
  font-family: var(--robo);
}
body main.exam .reason .item__num {
  font-size: 6rem;
  font-weight: bold;
  font-family: var(--robo);
  margin-top: -25px;
}
body main.exam .reason .item__txt {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
  white-space: nowrap;
}
body main.exam .person {
  padding-bottom: 144px;
}
body main.exam .person .c-row-wrap01__img :is(img, picture) {
  aspect-ratio: 17/9;
}
body main.exam .person .item-wrap {
  margin-top: 87px;
}
body main.exam .person .item-wrap > * + * {
  margin-top: 10px;
}
body main.exam .person .item {
  border: 1px solid var(--black);
  width: 100%;
  padding: 30px 40px;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
body main.exam .person .caution {
  margin-top: 45px;
}
body main.exam .download {
  display: block;
  border-top: 2px solid var(--black);
  border-bottom: 2px solid var(--black);
  padding-top: 40px;
  padding-bottom: 50px;
}
body main.exam .download .block {
  display: flex;
  align-items: center;
  gap: 70px;
  justify-content: center;
  transform: translate(-21px, 0);
}
body main.exam .download .block__icon {
  width: 60px;
}
body main.exam .download .block__heading {
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}
body main.exam .download .block__txt {
  font-size: 1.3rem;
  margin-top: 15px;
}
body main.exam .fee {
  padding-top: 90px;
  padding-bottom: 130px;
}
body main.exam .schedule {
  padding-top: 100px;
  padding-bottom: 152px;
  background: var(--light-gray);
}
body main.exam .schedule .txt {
  font-size: 15px;
  margin-top: 60px;
}
body main.exam .schedule .item-wrap {
  margin-top: 30px;
}
body main.exam .schedule .item-wrap > * + * {
  margin-top: 8px;
}
body main.exam .schedule .item {
  display: flex;
  flex-direction: row;
  background: #fff;
  width: 100%;
  height: 100px;
  font-weight: bold;
  align-items: center;
}
body main.exam .schedule .heading {
  text-align: center;
  margin-left: 25px;
  margin-right: 30px;
}
body main.exam .schedule .heading__num {
  font-size: 2.5rem;
  font-family: var(--robo);
}
body main.exam .schedule .heading__entry {
  margin-left: 10px;
}
body main.exam .schedule .date-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}
body main.exam .schedule .date {
  font-size: 2rem;
  letter-spacing: 0.1em;
  width: 300px;
}
body main.exam .schedule .date__year {
  font-size: 3rem;
  font-family: var(--robo);
  letter-spacing: 0;
  margin-right: 7px;
}
body main.exam .schedule .date__month,
body main.exam .schedule .date__day {
  font-size: 4rem;
  font-family: var(--robo);
  letter-spacing: 0;
  margin-right: 8px;
}
body main.exam .schedule .date__month {
  margin-left: 10px;
}
body main.exam .schedule .date__day {
  margin-left: 2px;
}
body main.exam .schedule .date__dayname {
  font-size: 1.5rem;
  width: 25px;
  height: 25px;
  background: var(--black);
  color: #fff;
  border-radius: 100vmax;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  transform: translate(0, -3px);
}
body main.exam .schedule .to {
  font-size: 2rem;
  font-weight: bold;
  margin-left: 15px;
  margin-right: 15px;
}
body main.exam .schedule .capacity {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 25px;
  gap: 10px;
}
body main.exam .schedule .capacity__heading {
  font-size: 1.8rem;
  border: 1px solid var(--black);
  border-radius: 100vmax;
  height: fit-content;
  padding: 2px 15px;
}
body main.exam .schedule .capacity__content {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
body main.exam .schedule .capacity__num {
  font-size: 3rem;
  font-family: var(--robo);
}
body main.exam .flow {
  padding-top: 100px;
  padding-bottom: 100px;
}
body main.exam .flow .block-wrap {
  margin-top: 100px;
}
body main.exam .flow .block-wrap > * + * {
  margin-top: 20px;
}
body main.exam .flow .block {
  border-top: 2px solid var(--black);
}
body main.exam .flow .block:has(.block__outer) {
  border: none;
  margin-top: 50px;
}
body main.exam .flow .block__outer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
body main.exam .flow .block__inner {
  width: 48%;
  border-top: 2px solid var(--black);
}
body main.exam .flow .block__heading-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 20px;
}
body main.exam .flow .block__num {
  width: 55px;
  font-family: var(--robo);
  font-size: 4rem;
  font-weight: bold;
}
body main.exam .flow .block__heading {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}
body main.exam .flow .block__txt {
  line-height: 2.2;
  margin-top: 15px;
}
body main.exam .flow .arrow-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 35px;
  align-items: center;
  gap: 10px;
}
body main.exam .flow .arrow {
  width: 25px;
  aspect-ratio: 1/0.8660254038;
  clip-path: polygon(50% 55%, 100% 0, 0 0);
  background: var(--black);
}
body main.exam .flow .arrow-txt {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
body main.exam .faq {
  padding-top: 90px;
  padding-bottom: 160px;
}
body main.exam .briefing {
  padding-bottom: 130px;
  padding-bottom: 225px;
}
body main.exam .briefing .c-row-wrap01__img :is(img, picture) {
  aspect-ratio: 17/9;
}
body main.exam .briefing .c-row-wrap03 {
  margin-top: 115px;
}
body main.exam .c-outline-sec02 {
  border-top: none;
}
body main.exam .c-table02 th:first-of-type {
  width: auto;
}
body main.exam .c-table02 th {
  vertical-align: middle;
}
body main.exam .c-table02 td {
  vertical-align: middle;
}

@media (max-width: 1280px) {
  body main.exam .schedule .item-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
  }
  body main.exam .schedule .item-wrap > * + * {
    margin-top: 0;
  }
  body main.exam .schedule .item {
    flex-direction: column;
    height: auto;
    padding: 20px 0 30px;
  }
  body main.exam .schedule .heading {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }
  body main.exam .schedule .date-wrap {
    transform: translate(-20px, 0);
  }
  body main.exam .schedule .date {
    width: auto;
  }
  body main.exam .schedule .to {
    margin-left: 0;
  }
  body main.exam .schedule .capacity {
    margin-left: 0;
    margin-top: 15px;
  }
}
@media (max-width: 1025px) {
  body main.exam .reason .item__txt {
    font-size: 1.6rem;
  }
  body main.exam .download .block {
    transform: unset;
  }
  body main.exam .schedule .item-wrap {
    display: block;
  }
  body main.exam .schedule .item-wrap > * + * {
    margin-top: 20px;
  }
}
@media (max-width: 768px) {
  body main.exam .lead .u-fsz-20 {
    font-size: 1.6rem;
  }
  body main.exam .lead .u-fsz-18 {
    font-size: 1.5rem;
  }
  body main.exam .reason {
    padding: 50px 0 55px;
  }
  body main.exam .reason .item-wrap {
    display: block;
    margin-top: 75px;
  }
  body main.exam .reason .item-wrap > * + * {
    margin-top: 50px;
  }
  body main.exam .reason .item {
    padding: 20px;
    height: auto;
  }
  body main.exam .reason .item__heading-wrap {
    top: -25px;
  }
  body main.exam .reason .item__point {
    font-size: 2rem;
  }
  body main.exam .reason .item__num {
    font-size: 4rem;
    margin-top: -20px;
  }
  body main.exam .person {
    padding-bottom: 40px;
  }
  body main.exam .person .item-wrap {
    margin-top: 30px;
  }
  body main.exam .person .item {
    padding: 15px 25px;
    font-size: 1.6rem;
  }
  body main.exam .person .caution {
    font-size: 1.3rem;
    margin-top: 30px;
  }
  body main.exam .download .block {
    display: block;
  }
  body main.exam .download .block__icon {
    margin-left: auto;
    margin-right: auto;
  }
  body main.exam .download .block__txt-wrap {
    margin-top: 20px;
  }
  body main.exam .download .block__heading {
    font-size: 1.6rem;
    text-align: center;
  }
  body main.exam .fee {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  body main.exam .schedule {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  body main.exam .schedule .item-wrap > * + * {
    margin-top: 10px;
  }
  body main.exam .schedule .item {
    padding: 15px 0 25px;
  }
  body main.exam .schedule .heading {
    margin-bottom: 6px;
    line-height: 1.3;
  }
  body main.exam .schedule .txt {
    margin-top: 45px;
  }
  body main.exam .schedule .date-wrap {
    transform: translate(-11px, 0);
  }
  body main.exam .schedule .date {
    font-size: 1.6rem;
  }
  body main.exam .schedule .date__year {
    font-size: 2.3rem;
  }
  body main.exam .schedule .date__month,
  body main.exam .schedule .date__day {
    font-size: 3rem;
  }
  body main.exam .schedule .to {
    font-size: 1.6rem;
    margin-right: 8px;
  }
  body main.exam .schedule .capacity {
    margin-top: 6px;
  }
  body main.exam .schedule .capacity__heading {
    font-size: 1.4rem;
    padding: 1px 10px;
  }
  body main.exam .schedule .capacity__num {
    font-size: 2.5rem;
  }
  body main.exam .flow {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  body main.exam .flow .block-wrap {
    margin-top: 60px;
  }
  body main.exam .flow .block__num {
    width: 35px;
    font-size: 3rem;
  }
  body main.exam .flow .block__heading-wrap {
    margin-top: 10px;
  }
  body main.exam .flow .block__heading {
    font-size: 1.6rem;
  }
  body main.exam .flow .block__txt {
    margin-top: 5px;
  }
  body main.exam .flow .arrow-wrap {
    margin-top: 17px;
  }
  body main.exam .flow .arrow {
    width: 15px;
  }
  body main.exam .flow .arrow-txt {
    font-size: 1.4rem;
  }
  body main.exam .flow .block__outer {
    display: block;
  }
  body main.exam .flow .block__outer > * + * {
    margin-top: 20px;
  }
  body main.exam .flow .block__inner {
    width: auto;
  }
  body main.exam .flow .block:has(.block__outer) {
    margin-top: 20px;
  }
  body main.exam .faq {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  body main.exam .briefing {
    padding-bottom: 55px;
  }
  body main.exam .briefing .c-row-wrap03 {
    margin-top: 40px;
  }
}

/*-------------------------------

## 自己推薦入試

-------------------------------*/
.page-self main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/self/pl_fv.jpg);
}

/*-------------------------------

## 留学生入試

-------------------------------*/
.page-international main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/international/pl_fv.jpg);
}

/*-------------------------------

## 学費について

-------------------------------*/
.page-tuition
  main
  :is(.tuition, .material, .other)
  .c-table02
  th:first-of-type {
  width: 260px;
}
.page-tuition main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/tuition/pl_fv.jpg);
}
.page-tuition main .tuition .c-table02 {
  margin-top: 50px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--black);
}
.page-tuition main .tuition .c-table02--tuition {
  min-width: 1000px;
}
.page-tuition main :is(.material, .other) .c-txt-wrap01 > * + * {
  margin-top: 51px;
}
.page-tuition main :is(.material, .other) .c-table02 {
  margin-top: 30px;
}

@media (max-width: 768px) {
  .page-tuition main .c-table02:not(.c-table02--tuition) th:first-of-type {
    width: 150px;
  }
}

/*-------------------------------

## 入学特典制度・奨学金

-------------------------------*/
.page-scholarship .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/scholarship/pl_fv.jpg);
}
.page-scholarship .contact .c-tel-wrap01 {
  margin-top: 30px;
}
.page-scholarship .education .c-table02 {
  min-width: 670px;
  margin-top: 40px;
}
.page-scholarship .education .example {
  font-size: 1.3rem;
  margin-top: 30px;
}
.page-scholarship .education .c-tel-wrap01 {
  margin-top: 40px;
}
.page-scholarship .education .c-txt-wrap01 > * + * {
  margin-top: 50px;
}
.page-scholarship .maronie .block {
  border: 1px solid var(--black);
  padding: 30px;
  margin: 50px 0 70px;
}

/*-------------------------------

## 提携不動産のご紹介

-------------------------------*/
.page-estate main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/estate/pl_fv.jpg);
}
.page-estate main :is(.nasic, .unilife) .c-col-wrap01 .c-btn {
  margin-top: 20px;
}

/*-------------------------------

## 一般入試

-------------------------------*/
.page-general main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/entry/general/pl_fv.jpg);
}

/*-------------------------------

# SUPPORT

-------------------------------*/
/*-------------------------------

## 就職・独立支援

-------------------------------*/
.page-support main .other {
  padding-top: 60px;
}
.page-support main .other .block:first-of-type {
  border-top: none;
}

@media (max-width: 768px) {
  .page-support main .other {
    padding-top: 40px;
  }
}

/*-------------------------------

## 就職支援 / 起業・独立支援

-------------------------------*/
:is(.page-career, .page-start) main .point {
  padding-bottom: 115px;
}

:is(.page-career, .page-start) main .point .txt {
  margin-top: 90px;
  font-size: 15px;
  line-height: 2.2;
  max-width: 770px;
}

:is(.page-career, .page-start) main .point .c-row-wrap03 {
  margin-top: 117px;
}

:is(.page-career, .page-start) main .structure {
  padding-top: 90px;
  padding-bottom: 100px;
}

:is(.page-career, .page-start) main .structure .block-wrap {
  margin-top: 58px;
}

:is(.page-career, .page-start) main .structure .block-wrap > * + * {
  margin-top: 185px;
}

:is(.page-career, .page-start)
  main
  .structure
  .block:not(:first-of-type)::before {
  content: "";
  width: 44px;
  aspect-ratio: 1/0.8660254038;
  clip-path: polygon(50% 55%, 100% 0, 0 0);
  background: var(--black);
  position: absolute;
  left: 0;
  right: 0;
  top: -117px;
  margin: auto;
}

:is(.page-career, .page-start) main .structure .block {
  position: relative;
}

:is(.page-career, .page-start) main .structure .block__inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 14%;
}

:is(.page-career, .page-start) main .structure .block__txt-wrap {
  flex: 1;
}

:is(.page-career, .page-start) main .structure .block__heading-wrap {
  display: flex;
  flex-direction: row;
  gap: 34px;
  align-items: center;
  flex: 1;
}

:is(.page-career, .page-start) main .structure .block__en {
  font-size: 4rem;
  font-weight: bold;
  font-family: var(--robo);
}

:is(.page-career, .page-start) main .structure .block__heading {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
}

:is(.page-career, .page-start) main .structure .block__txt {
  line-height: 2.2em;
  margin-top: 17px;
}

:is(.page-career, .page-start) main .structure .block__img {
  width: 43%;
}

:is(.page-career, .page-start) main .structure .block__img :is(img, picture) {
  aspect-ratio: 3/2;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

:is(.page-career, .page-start) main .structure .item-wrap {
  margin-top: 51px;
}

:is(.page-career, .page-start) main .structure .item-wrap > * + * {
  margin-top: 15px;
}

:is(.page-career, .page-start) main .structure .item {
  border: 1px solid var(--black);
  padding: 25px 58px 45px;
}

:is(.page-career, .page-start) main .structure .item__heading {
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  position: relative;
  width: fit-content;
}

:is(.page-career, .page-start) main .structure .item__heading::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 90px;
  top: 0;
  bottom: 0;
  left: auto;
  right: -100px;
  margin: auto;
  display: block;
  background: var(--black);
}

:is(.page-career, .page-start) main .structure .item__outer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 40px;
  gap: 40px;
}

:is(.page-career, .page-start) main .structure .item__subheading {
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

:is(.page-career, .page-start) main .structure .item__txt {
  margin-top: 9px;
  line-height: 2.2;
}

@media (max-width: 1280px) {
  :is(.page-career, .page-start) main .structure .block__heading-wrap {
    display: block;
  }
}
@media (max-width: 1025px) {
  :is(.page-career, .page-start) main .structure .item__outer {
    display: block;
  }
  :is(.page-career, .page-start) main .structure .item__outer > * + * {
    margin-top: 40px;
  }
  :is(.page-career, .page-start) main .structure .item__txt {
    margin-top: 5px;
  }
}
@media (max-width: 768px) {
  :is(.page-career, .page-start) main .point {
    padding-bottom: 55px;
  }
  :is(.page-career, .page-start) main .point .txt {
    margin-top: 20px;
  }
  :is(.page-career, .page-start) main .point .c-row-wrap03 {
    margin-top: 40px;
  }
  :is(.page-career, .page-start) main .structure {
    padding-top: 30px;
    padding-bottom: 50px;
  }
  :is(.page-career, .page-start) main .structure .block__inner {
    display: block;
  }
  :is(.page-career, .page-start) main .structure .block__img {
    width: auto;
  }
  :is(.page-career, .page-start) main .structure .block__txt-wrap {
    margin-top: 30px;
  }
  :is(.page-career, .page-start) main .structure .block__heading-wrap {
    display: flex;
    gap: 14px;
  }
  :is(.page-career, .page-start) main .structure .block__en {
    font-size: 3rem;
  }
  :is(.page-career, .page-start) main .structure .block__heading {
    font-size: 2rem;
  }
  :is(.page-career, .page-start) main .structure .block__txt {
    margin-top: 0;
  }
  :is(.page-career, .page-start) main .structure .item-wrap {
    margin-top: 30px;
  }
  :is(.page-career, .page-start) main .structure .item {
    padding: 25px;
  }
  :is(.page-career, .page-start) main .structure .item__heading {
    font-size: 1.6rem;
  }
  :is(.page-career, .page-start) main .structure .item__heading::after {
    width: 60px;
    left: 50px;
  }
  :is(.page-career, .page-start) main .structure .item__subheading {
    font-size: 1.6rem;
  }
  :is(.page-career, .page-start) main .structure .item__outer {
    margin-top: 25px;
  }
  :is(.page-career, .page-start) main .structure .item__txt {
    font-size: 1.4rem;
  }
  :is(.page-career, .page-start) main .structure .item__outer > * + * {
    margin-top: 25px;
  }
  :is(.page-career, .page-start) main .structure .block-wrap > * + * {
    margin-top: 111px;
  }
  :is(.page-career, .page-start)
    main
    .structure
    .block:not(:first-of-type)::before {
    width: 25px;
    top: -62px;
  }
}
/*-------------------------------

## 就職支援

-------------------------------*/
.page-career main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/support/career/pl_fv.jpg);
}
.page-career main .occupation {
  padding-top: 160px;
  padding-bottom: 130px;
}
.page-career main .occupation .block {
  position: relative;
  margin-top: 81px;
}
.page-career main .occupation .block__img {
  width: 580px;
  position: absolute;
  top: -66px;
  right: -100px;
}
.page-career main .occupation .block__txt-wrap {
  width: 435px;
}
.page-career main .occupation .block__heading-wrap {
  display: flex;
  flex-direction: row;
}
.page-career main .occupation .block__heading {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.9;
  margin-top: 74px;
}
.page-career main .occupation .block__num-wrap {
  display: flex;
  flex-direction: row;
}
.page-career main .occupation .block__num {
  font-size: 14.7rem;
  font-family: var(--robo);
  font-weight: bold;
}
.page-career main .occupation .block__per {
  font-size: 7.7rem;
  font-family: var(--robo);
  font-weight: bold;
  margin-top: 82px;
}
.page-career main .occupation .block__txt {
  line-height: 2.6;
  /* width: 420px; */
  margin-top: 55px;
}
.page-career main .occupation .item-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 117px;
  gap: 14px 30px;
}
.page-career main .occupation .item {
  border: 1px solid var(--black);
  padding: 20px 20px;
}
.page-career main .occupation .item__heading {
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.page-career main .occupation .item__txt {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 4px;
}
.page-career main .flow {
  padding-top: 80px;
  padding-bottom: 100px;
}
.page-career main .flow .block-wrap {
  margin-top: 76px;
}
.page-career main .flow .block-wrap > * + * {
  margin-top: 74px;
}
.page-career main .flow .block__heading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--black);
}
.page-career main .flow .item-wrap {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(var(--repeat-num), 1fr);
  position: relative;
  justify-items: center;
  --item-size: 125px;
  --repeat-num: 6;
  row-gap: 30px;
}
.page-career main .flow .item:not(:first-of-type)::before {
  position: absolute;
  content: "";
  left: calc(
    -5px - (min(1000px, 100vw - 200px) - var(--item-size) * var(--repeat-num)) /
      (2 * var(--repeat-num))
  );
  height: 20px;
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 65% 50%, 0 100%);
  background: var(--black);
}
.page-career main .flow .item {
  position: relative;
  width: var(--item-size);
  height: var(--item-size);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
  border: 1px solid var(--black);
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
.page-career main .flow .block__txt {
  line-height: 2.2;
  margin-top: 40px;
}
.page-career main .support {
  padding-bottom: 215px;
}
.page-career main .support .c-row-wrap03 {
  margin-top: 130px;
}

@media (max-width: 1280px) {
  .page-career main .occupation .block {
    display: flex;
    flex-direction: row-reverse;
    gap: 30px;
  }
  .page-career main .occupation .block__img {
    position: static;
    flex: 1;
  }
  .page-career main .flow .item-wrap {
    --repeat-num: 4;
  }
}
@media (max-width: 1025px) {
  .page-career main .occupation .block {
    display: block;
  }
  .page-career main .occupation .block__txt-wrap {
    width: auto;
    margin-top: 15px;
  }
}
@media (max-width: 768px) {
  .page-career main .occupation {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .page-career main .occupation .block {
    margin-top: 50px;
  }
  .page-career main .occupation .block__img {
    width: auto;
  }
  .page-career main .occupation .block__heading-wrap {
    display: block;
  }
  .page-career main .occupation .block__heading {
    font-size: 2rem;
    margin-top: 40px;
  }
  .page-career main .occupation .block__num-wrap {
    margin-top: -25px;
  }
  .page-career main .occupation .block__num {
    font-size: 10rem;
  }
  .page-career main .occupation .block__per {
    font-size: 7rem;
    margin-top: 35px;
  }
  .page-career main .occupation .block__txt {
    margin-top: -20px;
  }
  .page-career main .occupation .item-wrap {
    margin-top: 40px;
    display: block;
  }
  .page-career main .occupation .item-wrap > * + * {
    margin-top: 10px;
  }
  .page-career main .occupation .item__heading {
    font-size: 1.6rem;
  }
  .page-career main .flow {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .page-career main .flow .block-wrap {
    margin-top: 40px;
  }
  .page-career main .flow .block-wrap > * + * {
    margin-top: 41px;
  }
  .page-career main .flow .block__heading {
    font-size: 1.6rem;
    padding-bottom: 10px;
  }
  .page-career main .flow .item-wrap {
    --repeat-num: 2;
    --item-size: 100px;
    margin-top: 30px;
    row-gap: 10px;
  }
  .page-career main .flow .item {
    font-size: 1.4rem;
  }
  .page-career main .flow .item:not(:first-of-type)::before {
    position: absolute;
    content: "";
    left: calc(
      -4px - (90vw - var(--item-size) * var(--repeat-num)) /
        (2 * var(--repeat-num))
    );
    height: 15px;
  }
  .page-career main .flow .block__txt {
    margin-top: 25px;
  }
  .page-career main .support {
    padding-bottom: 55px;
  }
  .page-career main .support .c-row-wrap03 {
    margin-top: 50px;
  }
}
/*-------------------------------

## 起業・独立支援

-------------------------------*/
.page-start main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/support/start/pl_fv.jpg);
}
.page-start main .lead {
  padding-bottom: 80px;
}

@media (max-width: 768px) {
  .page-start main .lead {
    padding-bottom: 50px;
  }
}

/*-------------------------------

## 就職実績・内定者の声

-------------------------------*/
.page-results main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/support/results/pl_fv.jpg);
}
.page-results main .results-voice .c-row-wrap03__item {
  margin-top: 80px;
}
.page-results main .results-employment-sec {
  border-bottom: 1px solid;
  padding-bottom: 60px;
}
.page-results main .results-employment-sec.is-bottom {
  border-bottom: none;
  padding-bottom: 0;
}
.page-results main .results-employment-sec + .results-employment-sec {
  margin-top: 60px;
}

@media (max-width: 768px) {
  .page-results main .results-voice .c-row-wrap03__item {
    margin-top: 55px;
  }
  .page-results main .results-employment-sec {
    padding-bottom: 25px;
  }
  .page-results main .results-employment-sec + .results-employment-sec {
    margin-top: 25px;
  }
}

/*-------------------------------

## 企業からのメッセージ

-------------------------------*/
.page-company-message main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/support/company-message/pl_fv.jpg);
    }
  }
  .c-row-wrap03__img :is(img, picture) {
    aspect-ratio: 1/1;
  }
  .c-row-wrap03__heading {
    margin-top: 20px;
  }
}
@media (max-width: 768px) {
  .page-company-message main {
    .c-row-wrap03__img {
      max-width: 400px;
    }
  }
}

/*-------------------------------

# SCHOOL

-------------------------------*/
/*-------------------------------

## 学校案内

-------------------------------*/
.page-school main .message {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/message/pl_fv.jpg);
  margin-top: 30px;
  padding-top: 208px;
  padding-bottom: 344px;
  position: relative;
  color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
/* .page-school main .message::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/page/school/message/pl_fv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
} */
.page-school main .message .heading {
  font-family: var(--robo);
  font-weight: bold;
  font-size: 11rem;
}
.page-school main .message .subheading {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: -15px;
}
.page-school main .message .txt {
  line-height: 2.6;
  margin-top: 60px;
}
.page-school main .message .c-btn {
  margin-top: 90px;
}
.page-school main .other .block:first-of-type {
  border-top: none;
}

@media (max-width: 1025px) {
  .page-school main .message .heading {
    font-size: 12rem;
  }
}
@media (max-width: 768px) {
  .page-school main .message {
    margin-top: 8px;
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .page-school main .message .heading {
    font-size: 5rem;
  }
  .page-school main .message .subheading {
    font-size: 1.4rem;
    margin-top: 10px;
  }
  .page-school main .message .txt {
    margin-top: 40px;
  }
  .page-school main .message .c-btn {
    margin-top: 50px;
  }
}

/*-------------------------------

## 学校長挨拶

-------------------------------*/
.page-greeting main .c-teacher-fv01 {
  padding-top: 20px;
}
.page-greeting main .c-teacher-fv01 .c-heading01 {
  position: absolute;
  inset: 0;
  margin: auto;
  transform: translate(-190px, 0);
  z-index: 2;
  width: fit-content;
  height: fit-content;
}
.page-greeting main .c-teacher-fv01 .c-teacher-fv01__name {
  font-size: 2rem;
}
.page-greeting main .c-teacher-fv01 .c-teacher-fv01__txt-wrap {
  bottom: 45px;
}
.page-greeting main .c-teacher-profile01 .c-btn {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 80px;
}
.page-greeting main .c-outline-sec01 {
  padding-top: 180px;
}

@media (max-width: 768px) {
  .page-greeting main .c-teacher-fv01 .c-heading01 {
    left: 5vw;
    right: auto;
    transform: unset;
  }
  .page-greeting main .c-teacher-fv01 .c-teacher-fv01__name {
    font-size: 1.6rem;
  }
  .page-greeting main .c-teacher-fv01 .c-teacher-fv01__txt-wrap {
    bottom: 15px;
  }
  .page-greeting main .c-teacher-profile01 .c-btn {
    margin-top: 40px;
  }
  .page-greeting main .c-outline-sec01 {
    padding-top: 65px;
  }
}

/*-------------------------------

## 学校概要・アクセス

-------------------------------*/
.page-access main .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/access/pl_fv.jpg);
}
.page-access main .access-info {
  margin-bottom: 110px;
}
.page-access main .access-info__container {
  max-width: 720px;
  margin: 0 auto;
}
.page-access main .history-sec .history-sec__table th {
  font-family: var(--robo);
  width: 110px;
}
.page-access main .history-sec .history-sec__img {
  width: 400px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .page-access main .access-info {
    margin-bottom: 60px;
  }
  .page-access main .history-sec .history-sec__img {
    width: 100%;
  }
}

/*-------------------------------

### アクセス下層

-------------------------------*/
.page-route1 main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/access/pl_fv.jpg);
}
.page-route2 main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/access/pl_fv.jpg);
}

/*-------------------------------

## 教員・講師紹介（アーカイブ・シングル共通）

-------------------------------*/
.post-type-teacher main .c-fv-sec01 .c-heading01 {
  margin-top: 34px;
}
.post-type-teacher main .c-heading01::after {
  bottom: -15px;
  width: 120px;
  height: 2px;
}

@media (max-width: 768px) {
  .post-type-teacher main .c-fv-sec01 .c-heading01 {
    margin-top: 0;
  }
}
/*-------------------------------

## 教員・講師紹介（アーカイブ）

-------------------------------*/
.archive-teacher main .teacher {
  padding-top: 100px;
  padding-bottom: 125px;
}

@media (max-width: 768px) {
  .archive-teacher main .teacher {
    padding-top: 59px;
    padding-bottom: 60px;
  }
}
/*-------------------------------

## 教員・講師紹介（シングル）

-------------------------------*/
.single-teacher main .c-teacher-fv01 {
  padding: 74px 0 0;
}
.single-teacher main .teacher {
  padding: 190px 0 125px;
}

@media (max-width: 768px) {
  .single-teacher main .c-teacher-fv01 {
    padding-top: 59px;
  }
  .single-teacher main .teacher {
    padding: 59px 0 60px;
  }
}

/*-------------------------------

## 学習環境

-------------------------------*/
.page-environment main {
  .c-fv-sec01 .c-fv-sec01__img {
    background:
      linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
      url(../img/page/school/environment/pl_fv.jpg);
  }
  .environment {
    .c-grid-wrap01 {
      margin-top: 70px;
    }
  }
}

/*-------------------------------

## 年間スケジュール

-------------------------------*/
.page-schedule main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/schedule/pl_fv.jpg);
}
.page-schedule main .schedule-month {
  border-top: 1px solid;
  margin-top: 60px;
  padding-top: 60px;
}

@media (max-width: 768px) {
  .page-schedule main .schedule-month {
    margin-top: 30px;
    padding-top: 30px;
  }
}

/*-------------------------------

## 情報公開

-------------------------------*/
.page-disclosure main {
  .c-fv-sec01 .c-fv-sec01__img {
    background:
      linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
      url(../img/page/school/disclosure/pl_fv.jpg);
  }
}
.page-disclosure main .disclosure-sec + .disclosure-sec {
  margin-top: 80px;
}
.page-disclosure main .disclosure-sec__in {
  box-sizing: border-box;
  padding-top: 15px;
  padding-bottom: 15px;
  display: block;
  border-bottom: 1px dotted var(--gray);
}

/*-------------------------------

## マロニエの教育理念・創設者メッセージ

-------------------------------*/
.page-message main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/school/message/pl_fv.jpg);
}
.page-message main .message-sec + .message-sec {
  margin-top: 100px;
}
.page-message main .message-sec__lead {
  font-size: 2.1rem;
  font-weight: bold;
  margin-bottom: 40px;
}
.page-message main .message-sec__wrap {
  display: flex;
  flex-wrap: nowrap;
}
.page-message main .message-sec__pic {
  width: 400px;
  margin-right: 40px;
}
.page-message main .message-sec__areaTxt {
  width: calc(100% - 440px);
}
.page-message main .message-sec__txt {
  line-height: 2;
}
.page-message main .message-sec__name {
  margin-top: 2em;
  font-size: 1.6rem;
  font-weight: bold;
}
.page-message main .message-sec__sub {
  font-size: 1.3rem;
  font-weight: normal;
  margin-right: 5px;
}
.page-message {
  .c-row-wrap02__img :is(img, picture) {
    object-position: top;
    aspect-ratio: 3 / 4;
  }
}

@media (max-width: 768px) {
  .page-message main .message-sec__wrap {
    display: block;
  }
  .page-message main .message-sec__pic {
    width: auto;
    margin: 0 auto 20px;
  }
  .page-message main .message-sec__areaTxt {
    width: 100%;
  }
}

/*-------------------------------

# フォーム

-------------------------------*/

/*-------------------------------

## フォーム共通

-------------------------------*/
body main.use-cf7 {
  .form {
    .lead {
      letter-spacing: 0.1em;
      margin-top: 30px;
      line-height: 2.6;
    }
    .js-cf7-wrap {
      margin-top: 60px;
    }
    .txt {
      font-weight: bold;
    }
    .item-wrap {
      margin-top: 30px;
    }
    .item-wrap > * + * {
      margin-top: 30px;
    }
    .item__required {
      color: var(--red);
    }
    .item__heading {
      font-weight: bold;
      letter-spacing: 0.1em;
    }
    .item__txt {
      letter-spacing: 0.1em;
      margin-top: 10px;
    }
    .item__txt :is(input, textarea) {
      border: 1px solid var(--black);
    }
    input[type="radio"] {
      appearance: none;
      position: relative;
      width: 15px;
      height: 15px;
      border: 1px solid #000;
      border-radius: 100vmax;
      background: #fff;
      vertical-align: -3px;
    }

    input[type="radio"]:checked:before {
      content: "";
      position: absolute;
      width: 9px;
      height: 9px;
      inset: 0;
      margin: auto;
      border-radius: 100vmax;
      background: #000;
    }
    input[type="checkbox"] {
      appearance: none;
      position: relative;
      width: 20px;
      height: 20px;
      border: 1px solid #111;
      background: #fff;
      vertical-align: -3px;
      margin-right: 10px;
      cursor: pointer;
    }
    input[type="checkbox"]:checked::after {
      content: "";
      position: absolute;
      top: 1px;
      left: 5px;
      transform: rotate(50deg);
      width: 6px;
      height: 10px;
      border-right: 2px solid #111;
      border-bottom: 2px solid #111;
    }
    .c-btn {
      border-radius: 100vmax;
      border: 1px solid var(--black);
      font-family: var(--basic-gothic);
      color: var(--black);
    }
    .wpcf7-turnstile {
      width: fit-content;
      margin: 30px auto 0;
    }
    .btn {
      margin-left: auto;
      margin-right: auto;
    }
    .btn--confirm {
      margin-top: 20px;
    }
    .btn-wrap {
      margin-top: 40px;
    }
    .js-cf7-confirm-wrap .item-wrap {
      margin-top: 30px;
    }
  }
}

/*-------------------------------

## お問い合わせ

-------------------------------*/
:is(.page-contact, .page-contact-thanks) main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/contact/pl_fv.jpg);
    }
  }
  .line {
    .c-line-btn {
      margin: 80px auto 0;
    }
    .c-tel-wrap01 {
      margin-top: 50px;
    }
  }
}

/*-------------------------------

## marrostep（マロステップ）メール登録

-------------------------------*/
:is(.page-marrostep-form, .page-marrostep-form-thanks) main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/for-graduates/marrostep-form/pl_fv.jpg);
    }
  }
}

/*-------------------------------

## 卒業証明書等の申請フォーム

-------------------------------*/
:is(.page-certificate-form, .page-certificate-form-thanks) main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/for-graduates/certificate-form/pl_fv.jpg);
    }
  }
  .form {
    .item--come .item__txt {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 20px;
    }
    .item--come .item__txt input[type="text"] {
      width: 100px;
    }
    .item--type .item__txt {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 20px;
      justify-content: space-between;
      max-width: 500px;
    }
    .item--type .item__txt-inner {
      gap: 10px;
    }
    .item--type input[type="number"] {
      width: 50px;
    }
    .item__txt-inner {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
    }
    .item--graduate {
      input {
        margin-right: 10px;
      }
    }
    .item--graduate input {
      margin-right: 0;
    }
    .item--graduate .item__txt {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
    }
    .item--graduate .item__txt input[type="text"] {
      width: 100px;
    }
  }
}

/*-------------------------------

## 交通費補助申請フォーム

-------------------------------*/
:is(.page-transportation-form, .page-transportation-form-thanks) main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/opencampus/transportation-support/transportation-form/pl_fv.jpg);
    }
  }
}

/*-------------------------------

# その他ページ

-------------------------------*/
/*-------------------------------

## よくあるご質問

-------------------------------*/
.page-faq main .c-heading-sec01 {
  padding-bottom: 55px;
}
.page-faq main .wrap {
  padding-top: 120px;
  padding-bottom: 120px;
}
.page-faq main .wrap:last-of-type {
  padding-bottom: 192px;
}
.page-faq main .add-txt {
  margin-top: 60px;
}

@media (max-width: 768px) {
  .page-faq main .wrap {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .page-faq main .wrap:last-of-type {
    padding-bottom: 70px;
  }
}

/*-------------------------------

## プライバシーポリシー

-------------------------------*/
.page-policy main {
  .c-fv-sec01 .c-fv-sec01__img {
    background:
      linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
      url(../img/page/policy/pl_fv.jpg);
  }
  .c-txt01 {
    margin-top: 0;
  }
}
.page-policy main .policy-sec__list {
  margin-top: 25px;
}
.page-policy main .policy-sec__item + .policy-sec__item {
  margin-top: 50px;
}
.page-policy main .policy-sec__head {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.page-policy main .policy-sec__txt {
  line-height: 1.6;
}
.page-policy main .policy-sec__txt + .policy-sec__txt {
  margin-top: 1.5em;
}
/*-------------------------------

## 保護者の皆さまへ

-------------------------------*/
.page-for-parents main .c-fv-sec01 .c-fv-sec01__img {
  background:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url(../img/page/for-parents/pl_fv.jpg);
}
.page-for-parents main .feature {
  padding-top: 184px;
  padding-bottom: 142px;
}
.page-for-parents main .feature .c-row-wrap03 {
  margin-top: 66px;
}
.page-for-parents main .faq {
  padding-top: 117px;
  padding-bottom: 160px;
}

@media (max-width: 768px) {
  .page-for-parents main .feature {
    padding-top: 50px;
    padding-bottom: 55px;
  }
  .page-for-parents main .feature .c-row-wrap03 {
    margin-top: 44px;
  }
  .page-for-parents main .faq {
    padding-top: 50px;
    padding-bottom: 55px;
  }
}

/*-------------------------------

## 高校生の方へ

-------------------------------*/
.page-for-high-school-students main .c-fv-sec01 .c-fv-sec01__img {
  background: url(../img/page/for-high-school-student/pl_fv.jpg);
}
.page-for-high-school-students main .students-sec .c-row-wrap03 > * + * {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .page-for-high-school-students main .students-sec .c-row-wrap03 > * + * {
    margin-top: 55px;
  }
}

/*-------------------------------

## 卒業生の方へ

-------------------------------*/
.page-for-graduates main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/for-graduates/pl_fv.jpg);
    }
  }
  .register {
    .c-line-btn {
      margin-left: auto;
      margin-right: auto;
    }
    .c-btn {
      margin-left: auto;
      margin-right: auto;
    }
  }
  .news {
    .c-article-marrostep01 {
      margin-top: 40px;
    }
  }
  .member {
    .c-row-wrap03__img :is(img, picture) {
      aspect-ratio: 1/1;
    }
    .c-row-wrap03__img {
      width: 200px;
    }
  }

  .flow-wrap01__block:has(.flow-wrap01__outer) {
    border: none;
    margin-top: 17px;
  }
  .certificate {
    .c-btn {
      margin-top: 50px;
    }
  }
}

/*-------------------------------

## 企業担当者様へ

-------------------------------*/
.page-for-companies main {
  .c-fv-sec01 {
    .c-fv-sec01__img {
      background:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url(../img/page/for-companies/pl_fv.jpg);
    }
  }
  .skillup {
    .c-row-wrap03 {
      margin-top: 50px;
    }
  }
}

/*-------------------------------

# テンプレート

-------------------------------*/
.page-template01 main {
  padding: 200px 0;
  font-size: 1.6rem;
}
.page-template01 main .to-top {
  position: fixed;
  background: var(--black);
  padding: 20px;
  color: #fff;
  bottom: 100px;
  right: 100px;
}
.page-template01 main .outline {
  padding: 50px 0;
}
.page-template01 main .outline__heading {
  font-weight: bold;
  font-size: 2rem;
}
.page-template01 main .outline__menu {
  margin-top: 20px;
}
.page-template01 main .outline__menu > * + * {
  margin-top: 5px;
}
.page-template01 main .outline__item {
  display: block;
  width: fit-content;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.page-template01 main .block {
  border-top: 1px solid var(--black);
  padding: 50px 0;
}
.page-template01 main .block__heading {
  font-weight: bold;
  font-size: 2rem;
}
.page-template01 main .block__heading::before {
  content: "＜";
}
.page-template01 main .block__heading::after {
  content: "＞";
}
.page-template01 main .block__example {
  margin-top: 20px;
}
.page-template01 main .block__txt {
  margin-top: 30px;
  font-size: 1.4rem;
}
.page-template03 {
  padding-top: 200px;
}
.page-template03 .temp-name {
  background: #000;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 30px 0;
  margin-top: 200px;
  margin-bottom: 100px;
}
.page-template03 .temp-name--first {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.page-template03 .temp-name__heading {
  font-size: 3rem;
}
.page-template03 .temp-name__txt {
  font-size: 1.6rem;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .page-template03 {
    padding-top: 100px;
  }
  .page-template03 .temp-name {
    padding: 10px 0;
    margin-top: 100px;
    margin-bottom: 50px;
  }
  .page-template03 .temp-name__heading {
    font-size: 2rem;
  }
}

/*-------------------------------

# 追記

-------------------------------*/
.c-heading01 + .overview-map__img {
  margin-top: 60px;
}
main.tokyo-collection--2025 .indivisual .img-wrap {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  max-width: 730px;
  margin: 0 auto;
}
main.tokyo-collection--2025 .indivisual .img-item {
  width: calc(50% - 40px);
}
@media (max-width: 768px) {
  main.tokyo-collection--2025 .indivisual .img-wrap {
    display: block;
    max-width: none;
  }
  main.tokyo-collection--2025 .indivisual .img-item {
    width: 100%;
  }
  main.tokyo-collection--2025 .indivisual .img-item + .img-item {
    margin-top: 30px;
  }
}

/* # ファッショングランプリ TOP 共通 */
.single-event_contest main.fashion-grandprix .program .c-table03__heading {
  width: 280px;
}
.single-event_contest
  main.fashion-grandprix--2023
  .photo
  .c-grid-wrap01
  :is(img, picture) {
  aspect-ratio: auto;
}
.single-event_contest main.fashion-grandprix--2023 .photo .photo-judges {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
}
.single-event_contest
  main.fashion-grandprix--2023
  .photo
  .photo-judges
  .photo-judges__item {
  width: calc(25% - 40px);
}
.single-event_contest
  main.fashion-grandprix--2023
  .photo
  .photo-judges
  .photo-judges__img
  :is(img, picture) {
  margin-left: auto;
  margin-right: auto;
}
.single-event_contest
  main.fashion-grandprix--2023
  .photo
  .photo-judges
  .photo-judges__txt {
  margin-top: 10px;
  text-align: center;
}
@media (max-width: 768px) {
  .single-event_contest main.fashion-grandprix--2023 .photo .photo-judges {
    display: block;
  }
  .single-event_contest
    main.fashion-grandprix--2023
    .photo
    .photo-judges
    .photo-judges__item {
    width: 100%;
  }
  .single-event_contest
    main.fashion-grandprix--2023
    .photo
    .photo-judges
    .photo-judges__item
    + .photo-judges__item {
    margin-top: 40px;
  }
}

.hd .nav a,
.hd .right-nav a,
.ft .nav a,
.c-bread a,
.c-link01 a {
  transition: opacity 0.4s ease;
}

.hd .nav a:hover,
.hd .right-nav a:hover,
.ft .nav a:hover,
.c-bread a:hover,
.c-link01 a:hover {
  opacity: 0.5;
}

.fadein {
  opacity: 0;
  transition: 0.4s ease-out;
}

.fadein.view {
  opacity: 1;
}

.fadeup {
  transform: translateY(30px);
  opacity: 0;
  transition: 0.4s ease;
}

.fadeup.view {
  transform: translateY(0);
  opacity: 1;
}

.slidein {
  transform: translateX(30px);
  opacity: 0;
  transition: 0.4s ease;
}

.slidein.view {
  transform: translateX(0);
  opacity: 1;
}

.hd .btn--oc,
.hd .btn--info {
  transition: 0.4s ease;
  border: 1px solid #000;
  border-bottom: none;
}

.ft .btn--oc,
.ft .btn--info {
  transition: 0.4s ease;
}

.hd .btn--oc:hover,
.hd .btn--info:hover,
.ft .btn--oc:hover,
.ft .btn--info:hover {
  background: #d83a60;
  color: #fff;
}

.c-exam-bnr01,
.c-bnr-wrap__img,
.c-opencampus-item-wrap__img,
.c-outline-sec01__img {
  transition: 0.4s ease;
}

.item__img a {
  display: block;
}

.c-exam-bnr01:hover,
.c-bnr-wrap__img:hover,
.item__img:hover a,
.c-opencampus-item-wrap__img:hover,
.c-outline-sec01__img:hover {
  transform: scale(0.97);
}

.c-btn {
  transition: 0.3s ease;
}

.c-btn:hover {
  background: #000;
  color: #fff;
}

.c-btn.c-btn--border-white:hover {
  background: #fff;
  color: #000;
}

.page-top main .sns .c-btn:hover {
  background: #fff;
  color: #000;
}

.hd,
.c-bread,
.exam-bnr-wrap {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease 0.7s;
}

.load-on .hd,
.load-on .c-bread,
.load-on .exam-bnr-wrap {
  opacity: 1;
  pointer-events: visible;
}

.foot-on .hd .nav,
.foot-on .hd .sns,
.foot-on .hd .btn-wrap,
.foot-on.page-top main .bnr .exam-bnr-wrap {
  opacity: 0;
  pointer-events: none;
}

.page-top main .about .block__heading {
  clip-path: inset(0% 100% 0% 0%);
}

.page-top main .about .block__heading.view {
  clip-path: inset(0% 0% 0% 0%);
}

.c-heading-wrap01__heading,
.page-about main .fv .heading {
  transition: 1s ease 0.3s;
  clip-path: inset(0% 100% 0% 0%);
}

.view .c-heading-wrap01__heading,
.page-about main .fv .heading.view {
  clip-path: inset(0% 0% 0% 0%);
}

.c-heading-wrap01__heading::after {
  transform: scaleX(0);
  transition: 0.6s ease 0.3s;
}

.view .c-heading-wrap01__heading::after {
  transform: scaleX(1);
}

.page-top main .fv .block__heading span {
  display: block;
  clip-path: inset(0% 100% 0% 0%);
  transition: 1.6s ease 0.3s;
}

.page-top main .fv .view .block__heading span {
  clip-path: inset(0% 0% 0% 0%);
}

.page-top main .fv .block__heading span:nth-of-type(2) {
  transition-delay: 0.5s;
}

.page-top main .fv .block__heading span:nth-of-type(3) {
  transition-delay: 0.7s;
}

.page-top main .fv .block__txt-wrap {
  opacity: 0;
  transition: 0.6s ease 1s;
}

.page-top main .fv .view .block__txt-wrap {
  opacity: 1;
}

/* page */

.c-fv-sec01 .c-fv-sec01__img {
  clip-path: inset(0% 100% 0% 0%);
}

.c-fv-sec01 .c-fv-sec01__img.view {
  clip-path: inset(0% 0% 0% 0%);
}

.page-about main .fv .heading + .txt {
  transition-delay: 0.8s;
}

.page-about main .fv .subheading::after {
  transform: scaleX(0);
  transition: 0.6s ease 0.3s;
}

.page-about main .fv .subheading.view::after {
  transform: scaleX(1);
}

@media (max-width: 768px) {
  .c-heading-wrap01__heading::after {
    bottom: 0;
  }
}

/* new */
.page-change main {
  background: rgba(0, 0, 0, 0.3);
  padding: 115px 0 0;
  font-family: var(--hel);
}

@media (max-width: 1500px) {
  .page-change main {
    font-size: clamp(13px, 1vw, 100px);
  }
}

@media (max-width: 768px) {
  .page-change main {
    font-size: 13px;
  }
}

.page-change main .container {
  width: 80%;
  max-width: 1000px;
}

.page-change main .new-read-wrap {
  color: #fff;
  font-weight: bold;
  padding-top: 20em;
  margin-bottom: 5vw;
}

.page-change main .new-read-wrap .container {
  margin-bottom: 10vw;
}

.page-change main .new-read-wrap .title {
  font-weight: bold;
  font-size: 4em;
  margin-bottom: 1.5em;
}

.page-change main .new-read-wrap .text {
  font-size: 1.33em;
  line-height: 2.2;
  margin-bottom: 4rem;
}

.page-change main .new-read-wrap .text span,
.page-change main .new-read-wrap .text.fb {
  font-size: 1.8em;
  letter-spacing: 0.1em;
}

.page-change main .new-link-wrap {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 2em;
}

.page-change main .new-link-wrap .new-link {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  position: relative;
  width: 26%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding-bottom: 2em;
}

.page-change main .new-link-wrap .new-link::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  bottom: 4em;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.page-change main .new-link-wrap .new-link.fc {
  background: #66cdaa;
}

.page-change main .new-link-wrap .new-link.fb {
  background: #00a5e1;
}

.page-change main .new-link-wrap .new-link.fm {
  background: #e86d8e;
}

.page-change main .new-link-wrap .new-link .jp {
  font-size: 2em;
}

.page-change main .new-link-wrap .new-link .en {
  font-size: 3.8em;
}

.page-change main .news-cause-contents {
  padding-bottom: 6em;
  margin-bottom: 2em;
  padding-top: 10em;
  position: relative;
  z-index: 1;
}

.page-change main .news-cause-contents::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% - 10em);
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50vw);
  z-index: -1;
}

.page-change main .news-cause-contents:last-of-type {
  margin-bottom: 0;
}

.page-change main .news-cause-contents .comment {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -270%);
  white-space: nowrap;
  font-weight: bold;
}

.page-change main .news-cause-title {
  text-align: center;
  font-weight: bold;
  white-space: nowrap;
}

.page-change main .news-cause-title.en {
  font-size: 6vw;
  line-height: 1;
  transform: translateY(-50%);
}

.page-change main .news-cause-title.jp {
  font-size: 2em;
  margin-bottom: 2em;
}

.page-change main .news-cause-contents .icatch-wrap {
  max-width: 660px;
  margin: 0 auto 6em;
}

.page-change main .news-cause-contents .point-contents-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6em;
}

.page-change main .news-cause-contents .point-contents {
  width: 32%;
  border: 1px solid #000;
  padding: 2.5em 2em 2em;
  position: relative;
}

.page-change main .news-cause-contents .point-contents .title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -65%);
  font-size: 2em;
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 0.1em;
}

.page-change
  main.new
  .news-cause-contents
  .point-contents
  .title
  span:nth-of-type(2) {
  font-size: 1.7em;
}

.page-change main .news-cause-contents .point-contents .thumb-wrap {
  margin-bottom: 2em;
}
.page-change
  main.new
  .news-cause-contents
  .point-contents
  .thumb-wrap
  :is(img, picture) {
  aspect-ratio: 3/2;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-change main .news-cause-contents .point-contents .read {
  font-weight: bold;
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 1em;
}

.page-change main .news-cause-contents .point-contents .text {
  font-family: var(--basic-gothic);
  line-height: 2;
}

.page-change main .news-cause-contents .teacher-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4em;
}

.page-change main .news-cause-contents .teacher-wrap .thumb-wrap {
  width: 27%;
}

.page-change main .news-cause-contents .teacher-wrap .text-wrap {
  width: 68%;
}

.page-change
  main.new
  .news-cause-contents
  .teacher-wrap
  .text-wrap
  .title-wrap {
  display: flex;
  gap: 1em;
  font-size: 0.9em;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 2em;
}

.page-change
  main.new
  .news-cause-contents
  .teacher-wrap
  .text-wrap
  .title-wrap
  .name {
  font-weight: bold;
  display: flex;
  flex-flow: column;
  gap: 0.5em;
}

.page-change
  main.new
  .news-cause-contents
  .teacher-wrap
  .text-wrap
  .title-wrap
  .name
  .jp {
  font-size: 1.4em;
  transform: translateY(-0.2em);
}

.page-change main .news-cause-contents .teacher-wrap .text-wrap .text {
  font-family: var(--basic-gothic);
  line-height: 2;
}

.page-change main .news-cause-contents .c-btn {
  margin: 0 auto;
  position: relative;
  padding: 1.5em 5em;
}

.page-change main .news-cause-contents .c-btn::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid;
  border-bottom: 2px solid;
  position: absolute;
  right: 2em;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: 0.3s ease;
}

.page-change main .news-cause-contents.fc .c-btn::after {
  border-color: #66cdaa;
}
.page-change main .news-cause-contents.fb .c-btn::after {
  border-color: #00a5e1;
}
.page-change main .news-cause-contents.fm .c-btn::after {
  border-color: #e86d8e;
}

.page-change main .news-cause-contents .c-btn:hover::after {
  border-color: #fff;
}

.page-change main .news-cause-contents.fc .c-btn:hover {
  background: #66cdaa;
}
.page-change main .news-cause-contents.fb .c-btn:hover {
  background: #00a5e1;
}
.page-change main .news-cause-contents.fm .c-btn:hover {
  background: #e86d8e;
}

.page-change main .fc .news-cause-title.en,
.page-change main .fc .point-contents .title {
  color: #66cdaa;
}

.page-change main .fc .c-btn {
  border-color: #66cdaa;
}

.page-change main .fb .news-cause-title.en,
.page-change main .fb .point-contents .title {
  color: #00a5e1;
}

.page-change main .fb .c-btn {
  border-color: #00a5e1;
}

.page-change main .fm .news-cause-title.en,
.page-change main .fm .point-contents .title {
  color: #e86d8e;
}

.page-change main .fm .c-btn {
  border-color: #e86d8e;
}

@media (max-width: 768px) {
  .page-change main .container {
    width: 90%;
  }

  .page-change main .new-read-wrap .title {
    font-size: 2em;
  }

  .page-change main .new-read-wrap .text {
    font-size: 1.2em;
  }

  .page-change main .new-read-wrap .text span,
  .page-change main .new-read-wrap .text.fb {
    font-size: 1.3em;
  }

  .page-change main .new-read-wrap {
    padding-top: 10em;
    margin-bottom: 7em;
  }

  .page-change main .new-read-wrap .container {
    margin-bottom: 5em;
  }

  .page-change main .new-link-wrap {
    width: 90%;
    gap: 1em;
  }

  .page-change main .new-link-wrap .new-link {
    width: 32%;
  }

  .page-change main .new-link-wrap .new-link .jp {
    font-size: 2vw;
  }
  .page-change main .new-link-wrap .new-link .en {
    font-size: 4vw;
  }

  .page-change main .new-link-wrap .new-link::after {
    width: 1em;
    height: 1em;
    bottom: 2em;
  }

  .page-change main .news-cause-contents {
    padding-bottom: 4em;
    padding-top: 5em;
    margin-bottom: 2em;
  }

  .page-change main .news-cause-contents::after {
    height: calc(100% - 5em);
  }

  .page-change main .news-cause-contents .comment {
    transform: translateX(-50%);
    top: 1.5em;
  }

  .page-change main .news-cause-title.en {
    font-size: 4em;
    transform: translateY(-25%);
    white-space: normal;
  }

  .page-change main .news-cause-title.jp {
    font-size: 1.2em;
    margin-bottom: 1em;
  }

  .page-change main .news-cause-contents .point-contents-wrap {
    flex-flow: column;
    gap: 3em;
    margin-bottom: 3em;
  }

  .page-change main .news-cause-contents .point-contents {
    width: 100%;
    padding: 2em 1em 1em;
  }

  .page-change main .news-cause-contents .point-contents .thumb-wrap {
    margin-bottom: 1.5em;
  }

  .page-change main .news-cause-contents .point-contents .read {
    margin-bottom: 0.5em;
  }

  .page-change main .news-cause-contents .teacher-wrap {
    flex-flow: column;
  }

  .page-change main .news-cause-contents .teacher-wrap .thumb-wrap {
    width: 70%;
    margin: 0 auto 2em;
  }

  .page-change main .news-cause-contents .teacher-wrap .text-wrap {
    width: 100%;
  }

  .page-change
    main.new
    .news-cause-contents
    .teacher-wrap
    .text-wrap
    .title-wrap {
    justify-content: center;
  }
}
