@charset "UTF-8";
/*
===============================================================================
共通部分
===============================================================================
*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 0px;
}
@media (max-width: 1024px) {
  html {
    padding-top: 64px;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

#page {
  overflow-x: hidden;
}
#page main section {
  padding: 80px 0;
}
#page main section:last-of-type {
  padding-bottom: 140px;
}
#page main section .box {
  width: 80%;
  max-width: 1350px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #page main section .box {
    width: 90%;
  }
}
#page #page-ttl {
  background: url(../../assets/img/page/common/page-ttl_bg.jpg) no-repeat right/cover;
  padding: 160px 0 140px;
}
#page #page-ttl .box h1 {
  font-size: 2.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  word-break: auto-phrase;
}
#page #page-ttl .box h1 span {
  display: block;
  color: #665aba;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Hanken Grotesk", sans-serif;
  padding-top: 25px;
}
#page #breadcrumb {
  padding: 55px 0 0;
}
#page #breadcrumb .box {
  max-width: 1600px;
}
#page #breadcrumb .box .bread {
  white-space: nowrap;
  overflow-x: auto;
  text-align: right;
}
#page #breadcrumb .box .bread a > span {
  text-decoration: underline;
}
#page #breadcrumb .box .bread span {
  display: inline-block;
  font-size: 0.9375rem;
  line-height: 1;
}
#page #intro {
  padding: 50px 0 0;
}
#page #intro .box {
  text-align: center;
}
#page #intro .box .intro-ttl {
  color: #665aba;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.6;
}
#page #intro .box .intro-text {
  padding-top: 30px;
  line-height: 2;
}
#page #intro .box .intro-text > .line {
  display: inline-block;
  background: linear-gradient(transparent 70%, #fffcb4 30%);
}
#page .sec-de:not(:last-of-type) {
  margin-bottom: 80px;
}
#page .sec-de .margin-b > :not(:last-child) {
  margin-bottom: 30px;
}
#page .sec-de .text b {
  display: block;
  color: #665aba;
  font-size: 1.5625rem;
  font-weight: 700;
  padding: 15px 0;
}
#page .sec-de .text p {
  font-size: 1.125rem;
  line-height: 2;
}
#page .sec-de .text p:not(:last-of-type) {
  padding-bottom: 10px;
}
#page .sec-de .text p small {
  font-size: 1rem;
}
#page .sec-de details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: fit-content;
  color: #665aba;
  font-size: 1.125rem;
}
#page .sec-de details summary::-webkit-details-marker {
  display: none;
}
#page .sec-de details summary::after {
  content: "▶";
  font-size: 1.5625rem;
  transition: transform 0.2s;
  margin-left: 10px;
}
#page .sec-de details summary + * {
  margin-top: 10px;
}
#page .sec-de details[open] summary::after {
  transform: rotate(90deg);
}
#page .sec-de ul.link-list-triangle {
  margin-top: 1em;
}
#page .sec-de ul.link-list-triangle li a {
  display: block;
  color: #665aba;
  font-size: 1.125rem;
  text-decoration: underline;
  margin: 0.3em 0;
  padding-left: 15px;
  position: relative;
}
#page .sec-de ul.link-list-triangle li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #665aba;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
#page .sec-de ul.link-list-triangle.col {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3.5%;
}
#page .sec-de ul.link-list-triangle.col li {
  width: 31%;
}
#page .sec-de ul.link-list-triangle.col li a {
  display: inline-block;
}
#page .table-def table {
  width: 100%;
  table-layout: fixed;
}
#page .table-def table thead tr th {
  color: #665aba;
  font-weight: 700;
  background: #f5f5fa;
  border: 1px solid #ddd7dc;
  padding: 10px;
}
#page .table-def table tbody tr th {
  color: #665aba;
  font-weight: 700;
  background: #f5f5fa;
  border: 1px solid #ddd7dc;
  padding: 10px;
}
#page .table-def table tbody tr td {
  font-size: 0.9375rem;
  border: 1px solid #ddd7dc;
  padding: 10px;
}
#page .table-def table tbody tr td.center {
  text-align: center;
}
#page .table-def table tbody tr td a {
  color: #665aba;
}
#page .table-def table tbody tr td span.tag {
  display: inline-block;
  color: #665aba;
  font-size: 0.875rem;
  background: #f5f5fa;
  border-radius: 20px;
  padding: 2px 5px;
  margin-left: 5px;
}
#page .ttl-1 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  background: #f2f2f2;
  padding: 15px 25px;
  margin-bottom: 40px;
}
#page .ttl-2 {
  font-size: 2.1875rem;
  font-weight: 700;
  line-height: 1.2;
  border-left: 8px solid #665aba;
  padding: 2px 20px;
  margin-bottom: 30px;
}
#page .ttl-3 {
  font-size: 1.2rem;
  font-feature-settings: "palt";
  font-weight: bold;
}
#page .ttl-3:after {
  display: block;
  content: "";
  background-color: #665aba;
  height: 2px;
  width: 2.5em;
  margin: 0.2em 0 0.8em;
}
#page ul.news-list li {
  border-bottom: 1px solid #ddd7dc;
}
#page ul.news-list li a {
  display: grid;
  grid-template-columns: 92px 117px 10em 1fr;
  gap: 18px;
  align-items: center;
  padding: 14px 0;
  color: inherit;
  text-decoration: none;
}
#page ul.news-list li a .date {
  font-size: 0.8125rem;
  line-height: 1;
  white-space: nowrap;
}
#page ul.news-list li a .thumb {
  overflow: hidden;
  background: #ece7ea;
  aspect-ratio: 96/62;
}
#page ul.news-list li a .thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#page ul.news-list li a .meta .tag {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  color: #665aba;
  background: #f5f5fa;
  border-radius: 999px;
  padding: 0.4em 0.8em;
}
#page ul.news-list li a .text {
  min-width: 0;
  font-size: 1.125rem;
  line-height: 1.7;
}
#page ul.news-list li a:hover .text {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
#page .news-more {
  margin-top: 40px;
  text-align: center;
}
#page .news-more a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15.5em;
  padding: 1.2em 1.5em;
  padding-right: 2.2em;
  border: 1.5px solid #6a63c9;
  border-radius: 999px;
  background: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s ease;
}
#page .news-more a .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #6a63c9;
  border-radius: 50%;
  color: #fff;
  font-size: 1rem;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
#page .news-more a .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg) scale(0.75);
}
#page .news-more a:hover {
  background: #6a63c9;
  color: #fff;
}
#page ul.door-link {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 2%;
}
#page ul.door-link li {
  width: 32%;
}
#page ul.door-link li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #665aba;
  transition: 0.3s;
  position: relative;
}
#page ul.door-link li a::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  content: "";
  background: url(../../assets/img/page/common/arrow_c_pur.png) no-repeat center/100% auto;
  width: 25px;
  height: 25px;
}
#page ul.door-link li a img {
  width: 30%;
  align-self: stretch;
  object-fit: cover;
  border-radius: 0 50% 50% 0;
}
#page ul.door-link li a p {
  width: 65%;
  color: #665aba;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  padding-right: 45px;
  transition: 0.3s;
}
#page ul.door-link li a:hover {
  background: #665aba;
}
#page ul.door-link li a:hover p {
  color: #fff;
}

#page #intro .box .intro-ttl * {
  color: #665aba;
}

#page #intro .box .intro-ttl small {
  display: block;
  font-size: 0.8em;
  line-height: 2;
}

#page .section-box {
  width: 80%;
  max-width: 1350px;
  margin: 0 auto 80px;
}
@media (max-width: 1024px) {
  #page .section-box {
    width: 90%;
  }
}
#page .section-box.max {
  width: 100%;
  max-width: 100%;
}
#page .section-box .inner-box {
  width: 80%;
  max-width: 1350px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #page .section-box .inner-box {
    width: 90%;
  }
}

#page .section-box:last-child {
  margin-bottom: 0;
}

ul.disc-list {
  margin: 1rem 0 1rem 20px;
}

ul.disc-list li {
  list-style-type: disc;
  margin: 0 0 0.5em 0;
  line-height: 1.6;
}
ul.disc-list li a {
  color: #665aba;
  text-decoration: underline;
}

ul.disc-list li::marker {
  color: #665aba;
}

ul.disc-list li a {
  text-decoration: underline;
}

ul.disc-list-type02 {
  display: flex;
  flex-wrap: wrap;
}
ul.disc-list-type02 li {
  font-size: 1.125rem;
  margin: 0.2em 0;
  margin-right: 2em;
  padding-left: 1.4em;
  position: relative;
}
ul.disc-list-type02 li::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: #665aba;
  border-radius: 50px;
  position: absolute;
  left: 0;
  top: 0.3em;
}
ul.disc-list-type02.n02 {
  margin: 0 auto;
}
ul.disc-list-type02.n02 li {
  width: 40%;
}
ul.disc-list-type02.n03 {
  margin: 0 auto;
}
ul.disc-list-type02.n03 li {
  width: 30%;
}

ul.number-list {
  margin: 1em 0;
  counter-reset: plain-counter;
}
ul.number-list > li {
  position: relative;
  margin-top: 0.3em;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
ul.number-list > li:before {
  counter-increment: plain-counter;
  content: counter(plain-counter) ".";
  color: #837fb5;
  padding-right: 0.3em;
  font-weight: 500;
}
ul.number-list > li:first-child {
  margin-top: 0;
}

.number-text-list > li {
  margin: 0.5em 0;
}
.number-text-list > li > p {
  padding-left: 3em;
  text-indent: -3em;
}

ul.link-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
ul.link-list li {
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  margin-top: 20px;
}
ul.link-list li:nth-child(3n) {
  margin-right: 0;
}
ul.link-list li:nth-child(-n+3) {
  margin-top: 0;
}
ul.link-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  border: #665aba solid 2px;
  text-align: center;
  padding: 0.8em 2em;
  position: relative;
}
ul.link-list li a:after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  border: 0;
  border-top: solid 1px #665aba;
  border-right: solid 1px #665aba;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
}
ul.link-list li a:hover {
  background-color: #f6f5fb;
}

.link-text-list li {
  display: block;
  position: relative;
  padding-left: 0.8em;
}
.link-text-list li::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em 0 0.4em 0.6em;
  border-color: transparent transparent transparent #665aba;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.link-text-list li a {
  text-decoration: underline;
  color: #665aba;
}

div.anchor-link-list {
  display: flex;
  flex-wrap: wrap;
}
div.anchor-link-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  font-feature-settings: "palt";
  width: calc((100% - 30px) / 4);
  border: #665aba solid 1px;
  border-radius: 30px;
  padding: 0.8em 0.8em 1em;
  margin-top: 20px;
  margin-right: 10px;
  min-height: 70px;
  position: relative;
}
div.anchor-link-list a:hover {
  background-color: #f6f5fb;
}
div.anchor-link-list a::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 1px #665aba;
  border-right: solid 1px #665aba;
  transform: rotate(135deg);
  position: absolute;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%) rotate(135deg);
}
div.anchor-link-list a:nth-child(4n) {
  margin-right: 0;
}
div.anchor-link-list a:nth-child(-n+4) {
  margin-top: 0;
}

div.anchor-link-list.rows-3 a {
  width: calc((100% - 20px) / 3);
}
div.anchor-link-list.rows-3 a:nth-child(3n) {
  margin-right: 0;
}
div.anchor-link-list.rows-3 a:nth-child(-n+3) {
  margin-top: 0;
}
div.anchor-link-list.rows-3 a:nth-child(4n) {
  margin-right: 10px;
}
div.anchor-link-list.rows-3 a:nth-child(-n+4) {
  margin-top: 20px;
}

.accordion-item {
  margin-top: 40px;
}

.accordion-item input {
  display: none;
}

.accordion-item .title {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  background: #f2f2f2;
  padding: 15px 25px;
  position: relative;
}

.accordion-item .title:hover {
  opacity: 0.7;
}

.accordion-item .title::before,
.accordion-item .title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 18px;
  height: 2px;
  background: #665aba;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.accordion-item .title::after {
  transform: translateY(-50%) rotate(90deg);
}

.accordion-item .content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s ease, padding 0.35s ease;
  padding: 0;
}

.accordion-item .content .content-inner {
  padding-bottom: 40px;
  padding-top: 20px;
}
.accordion-item .content .content-inner + .content-inner {
  padding-top: 0;
}

.accordion-item .content .content-inner:last-child {
  padding-bottom: 0;
}

.accordion-item input:checked + .title::after,
.accordion-item input:checked + h2 .title::after {
  transform: translateY(-50%) rotate(0deg);
}

.accordion-item input:checked + .title + .content,
.accordion-item input:checked + h2 + .content {
  max-height: 5000px;
}

table.table-type01 {
  margin: 1rem 0;
}
table.table-type01 tr td,
table.table-type01 tr th {
  border: #141414 solid 1px;
  padding: 0.5em 0.8em;
}
table.table-type01 tr th {
  background-color: #f2f2f2;
}

.link-text {
  color: #665aba;
  text-decoration: underline;
}

.t_yellow {
  color: #f7bc53;
}

.t_purple {
  color: #665aba;
}

.t_pink {
  color: #ff3884;
}

.t_green {
  color: #69BD83;
}

.t_blue {
  color: #557EC0;
}

.t_orange {
  color: #F08441;
}

.movie_box {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.movie_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.more-btn {
  display: table;
  background-color: #665aba;
  border: #665aba solid 1px;
  border-radius: 30px;
  padding: 1em 1.5em;
  margin-top: 1em;
  min-width: 300px;
}
.more-btn p {
  color: #fff;
  padding: 0 1em;
  position: relative;
  text-align: center;
}
.more-btn p::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.more-btn.center {
  margin: 2em auto 1em;
}

/*------------------------------------------*/
/*about
/*------------------------------------------*/
#page #about ul.link-list li a {
  min-height: 80px;
}
#page #about #purpose .box .img-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#page #about #purpose .box .img-text .text {
  width: 65%;
}
#page #about #purpose .box .img-text img {
  width: 30%;
}
#page #about #history .box .accordion-item {
  margin-top: 0px;
}
#page #about #history .box .accordion-item table tbody tr th {
  width: 20%;
}
#page #about #emb-song .box .emblem {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page #about #emb-song .box .emblem img {
  width: 30%;
}
#page #about #emb-song .box .emblem .text {
  width: 65%;
}
#page #about #emb-song .box .song {
  background: #f5f5fa;
  padding: 20px;
}
#page #about #emb-song .box .song img {
  width: 40%;
  margin: 0 auto;
}
#page #about #accred .box .img-text {
  display: flex;
  justify-content: center;
  align-items: center;
}
#page #about #accred .box .img-text .text {
  width: 60%;
}
#page #about #accred .box .img-text img {
  width: 20%;
}

/*------------------------------------------*/
/*access
/*------------------------------------------*/
#page #access #route .box figure {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px 0;
}
#page #access #route .box figure .route_1 {
  width: 80%;
}
#page #access #route .box figure .route_2-1 {
  width: 45%;
  background: #f5f5fa;
}
#page #access #route .box figure .route_2-2 {
  width: 35%;
}
#page #access #access-m .box iframe {
  width: 100%;
  aspect-ratio: 3/1;
}

/*------------------------------------------*/
/*message
/*------------------------------------------*/
#page #message #president .msg {
  background: url(../../assets/img/page/guide/message/president.jpg) no-repeat top right/contain;
  padding: 50px;
  position: relative;
}
#page #message #president .msg .text {
  width: 70%;
  padding: 40px;
  position: relative;
}
#page #message #president .msg .text::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(102, 90, 186, 0.7490196078);
  mix-blend-mode: multiply;
  z-index: 1;
}
#page #message #president .msg .text * {
  color: #fff;
  position: relative;
  z-index: 2;
}
#page #message #president .msg .text .de {
  font-size: 1.0625rem;
  font-weight: 700;
}
#page #message #president .msg .text .name {
  width: fit-content;
  color: #fff;
  font-size: 1rem;
  line-height: 1.4;
  margin: 10px 0 0 auto;
}
#page #message #president .msg .text .name span {
  font-size: 1.25rem;
  padding-left: 10px;
}
@media screen and (max-width: 1500px) {
  #page #message #president .msg {
    padding: 40% 20px 20px;
  }
  #page #message #president .msg .text {
    width: 100%;
  }
}

/*------------------------------------------*/
/*public
/*------------------------------------------*/
#page #public #pam .box ul.pam-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 4%;
}
#page #public #pam .box ul.pam-list li {
  width: 22%;
}
#page #public #pam .box ul.pam-list li a img {
  border: 1px solid #d9d9d9;
  box-shadow: 0 0 0 #f5f5fa;
  transition: 0.3s;
}
#page #public #pam .box ul.pam-list li a p {
  color: #665aba;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  padding-top: 10px;
}
#page #public #pam .box ul.pam-list li a:hover img {
  transform: scale(1.01);
  box-shadow: 3px 3px 2px #f5f5fa;
}
#page #public #movie .box ul.movie-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 2%;
}
#page #public #movie .box ul.movie-list li {
  display: flex;
  flex-direction: column;
  width: 32%;
  padding: 15px;
  position: relative;
}
#page #public #movie .box ul.movie-list li::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background: var(--color);
  width: 100%;
  height: 100%;
  opacity: 0.1;
  z-index: 1;
}
#page #public #movie .box ul.movie-list li iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  box-shadow: 4px 4px var(--color);
  position: relative;
  z-index: 2;
}
#page #public #movie .box ul.movie-list li a {
  box-shadow: 4px 4px var(--color);
  position: relative;
  z-index: 2;
}
#page #public #movie .box ul.movie-list li p {
  color: var(--color);
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  padding-top: 15px;
  margin: auto 0;
  position: relative;
  z-index: 2;
}
#page #public #movie .box ul.movie-list li p span {
  display: block;
  color: var(--color);
  font-size: 0.8125rem;
}
#page #public #sns .box table thead tr th:first-of-type {
  width: 30%;
}
#page #public #sns .box table tbody tr td a {
  display: block;
  width: fit-content;
}
#page #public #sns .box table tbody tr td a:not(:last-of-type) {
  margin-bottom: 5px;
}
#page #public #sns .box .policy .sec-de p:not(:last-of-type) {
  padding-bottom: 10px;
}
#page #public #sns .box .policy .sec-de:not(:last-of-type) {
  margin-bottom: 40px;
}
#page #public #gakuhou .box ul.gakuhou-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 1.3333333333%;
}
#page #public #gakuhou .box ul.gakuhou-list li {
  width: 24%;
}
#page #public #gakuhou .box ul.gakuhou-list li a img {
  border: 1px solid #d9d9d9;
  transition: 0.3s;
}
#page #public #gakuhou .box ul.gakuhou-list li a p {
  color: #665aba;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  padding-top: 10px;
}
#page #public #gakuhou .box ul.gakuhou-list li a:hover img {
  transform: scale(1.01);
  box-shadow: 3px 3px 2px #f5f5fa;
}

/*------------------------------------------*/
/*release
/*------------------------------------------*/
#page #release .accordion-item label.title {
  border: 1px solid #665aba;
  border-left: none;
  background: none;
}
#page #release .emp-status table tbody tr:first-of-type th:nth-of-type(1) {
  width: 16%;
}

/*------------------------------------------*/
/*socialactivity
/*------------------------------------------*/
#page #socialactivity ul.course-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 4%;
}
#page #socialactivity ul.course-list li {
  width: 22%;
}
#page #socialactivity ul.course-list li > a img {
  border: 1px solid #d9d9d9;
  box-shadow: 0 0 0 #f5f5fa;
  transition: 0.3s;
}
#page #socialactivity ul.course-list li > a p {
  color: #665aba;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  padding-top: 10px;
}
#page #socialactivity ul.course-list li > a:hover img {
  transform: scale(1.01);
  box-shadow: 3px 3px 2px #f5f5fa;
}
#page #socialactivity ul.course-list li .more-btn {
  min-width: 100%;
}
#page #socialactivity #audit .box table tbody tr th {
  width: 30%;
}
#page #socialactivity #st-sat .box .img-text, #page #socialactivity #campus-visit .box .img-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#page #socialactivity #st-sat .box .img-text img, #page #socialactivity #campus-visit .box .img-text img {
  width: 25%;
}
#page #socialactivity #st-sat .box .img-text .text, #page #socialactivity #campus-visit .box .img-text .text {
  width: 70%;
}

/*------------------------------------------*/
/*teacher
/*------------------------------------------*/
#page #teacher .update {
  font-size: 0.9375rem;
  text-align: right;
  margin-bottom: 10px;
}
#page #teacher ul.teacher-list li {
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
}
#page #teacher ul.teacher-list li:not(:last-of-type) {
  border-bottom: 1px solid #ddd7dc;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
#page #teacher ul.teacher-list li figure {
  width: 25%;
}
#page #teacher ul.teacher-list li .text {
  width: 70%;
  display: flex;
  flex-direction: column;
}
#page #teacher ul.teacher-list li .text .post {
  font-size: 1.5rem;
  margin-bottom: 20px;
}
#page #teacher ul.teacher-list li .text ruby {
  font-size: 1.75rem;
  margin-bottom: 25px;
}
#page #teacher ul.teacher-list li .text ruby rt {
  padding-bottom: 5px;
}
#page #teacher ul.teacher-list li .text dl dt {
  width: fit-content;
  color: #665aba;
  font-size: 1.125rem;
  background: #f5f5fa;
  padding: 2px 10px;
  margin-bottom: 10px;
}
#page #teacher ul.teacher-list li .text dl dd {
  width: 100%;
  font-size: 1.0625rem;
}
#page #teacher ul.teacher-list li .text dl dd:not(:last-of-type) {
  margin-bottom: 20px;
}
#page #teacher ul.teacher-list li .text .de {
  padding-top: 15px;
  margin-top: auto;
}
#page #teacher ul.teacher-list li .text .de a {
  display: block;
  width: fit-content;
  color: #665aba;
  font-size: 0.9375rem;
  padding-right: 1em;
  margin-left: auto;
  position: relative;
}
#page #teacher ul.teacher-list li .text .de a::after {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border: 0;
  border-top: solid 1px #665aba;
  border-right: solid 1px #665aba;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin: auto;
}

/*------------------------------------------*/
/*long_course
/*------------------------------------------*/
#page #long_course #tuition .box table tbody tr td:has(.impact) {
  position: relative;
}
#page #long_course #tuition .box table tbody tr td:has(.impact) .impact {
  position: absolute;
  left: -5px;
  top: -5px;
  width: 100px;
  height: 100px;
  aspect-ratio: 1;
  background: #665aba;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
#page #long_course #tuition .box table tbody tr td:has(.impact) .impact p {
  color: #fff;
  line-height: 1.2;
}
#page #long_course #tuition .box table tbody tr td:has(.impact) .impact p span {
  color: #fff;
  font-size: 1.125rem;
}
#page #long_course #timetable .box ul.timetable-list {
  display: flex;
  justify-content: space-between;
}
#page #long_course #timetable .box ul.timetable-list li {
  width: 48%;
}
#page #long_course #scholarships .box ul.number-list li ul.disc-list {
  margin-top: 0;
}
#page #long_course #scholarships .box ul.number-list li ul.disc-list li {
  padding-left: 0;
  text-indent: 0;
}
#page #long_course #scholarships .box ul.number-list li ul.disc-list li::before {
  content: none;
}

/*------------------------------------------*/
/*campusmap
/*------------------------------------------*/
#page #campusmap {
  overflow: hidden;
}
#page #campusmap #map .box {
  max-width: 1000px;
}
#page #campusmap #map .box figure {
  position: relative;
}
#page #campusmap #map .box figure a {
  position: absolute;
  color: #fff;
  font-size: 1.125rem;
  background: #665aba;
  border: 2px solid #fff;
  border-radius: 20px;
  padding: 2px 20px;
  transition: 0.3s;
}
#page #campusmap #map .box figure a:nth-of-type(1) {
  top: 50%;
  left: 36%;
}
#page #campusmap #map .box figure a:nth-of-type(2) {
  top: 32%;
  left: 26%;
}
#page #campusmap #map .box figure a:nth-of-type(3) {
  top: 34%;
  right: 26%;
}
#page #campusmap #map .box figure a:nth-of-type(4) {
  top: 18%;
  left: 38%;
}
#page #campusmap #map .box figure a:nth-of-type(5) {
  bottom: 8%;
  right: 44%;
}
#page #campusmap #map .box figure a:hover {
  transform: scale(1.05);
}
#page #campusmap #campus {
  padding: 120px 0 200px;
}
#page #campusmap #campus .box {
  width: 100%;
  max-width: none;
}
#page #campusmap #campus .box .place {
  background: #fafadd;
  padding: 100px 0 50px;
  position: relative;
}
#page #campusmap #campus .box .place:not(:last-of-type) {
  margin-bottom: 150px;
}
#page #campusmap #campus .box .place::before, #page #campusmap #campus .box .place::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100px;
  border-radius: 100%;
  background-color: #fafadd;
  z-index: -1;
}
#page #campusmap #campus .box .place::before {
  top: -50px;
}
#page #campusmap #campus .box .place::after {
  bottom: -50px;
}
#page #campusmap #campus .box .place h2 {
  width: fit-content;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  background: #665aba;
  border: 4px solid #fff;
  border-radius: 50px;
  padding: 15px 30px;
  margin: 0 auto 50px;
}
#page #campusmap #campus .box .place ul.place-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px 3.5%;
  width: 80%;
  max-width: 1350px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #page #campusmap #campus .box .place ul.place-list {
    width: 90%;
  }
}
#page #campusmap #campus .box .place ul.place-list li {
  width: 31%;
}
#page #campusmap #campus .box .place ul.place-list li img {
  border: 3px solid #fff;
  box-shadow: 10px 10px 0 #f5f5fa;
}
#page #campusmap #campus .box .place ul.place-list li .text b {
  display: block;
  color: #665aba;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding: 25px 0 8px;
}

/*------------------------------------------*/
/*certificate
/*------------------------------------------*/
#page #certificate #table .box .method h3 {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  border: 2px solid #665aba;
  border-radius: 50px;
  padding: 10px;
  margin-bottom: 30px;
}
#page #certificate #table .box .method ul.method-flow {
  display: flex;
  justify-content: center;
  gap: 30px;
}
#page #certificate #table .box .method ul.method-flow li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 28%;
  text-align: center;
  background: #f5f5fa;
  filter: drop-shadow(1px 1px 1px #665aba);
  border-radius: 15px;
  counter-increment: method;
  padding: 20px 15px;
}
#page #certificate #table .box .method ul.method-flow li:not(:last-of-type) {
  position: relative;
}
#page #certificate #table .box .method ul.method-flow li:not(:last-of-type)::after {
  position: absolute;
  top: 50%;
  left: 99%;
  transform: translateY(-50%);
  content: "";
  background: #f5f5fa;
  height: 21.6506350946px;
  width: 25px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#page #certificate #table .box .method ul.method-flow li b {
  font-size: 1.25rem;
  padding-top: 0;
}
#page #certificate #table .box .method ul.method-flow li b::before {
  content: counter(method) ".";
}
#page #certificate #table .box .method ul.method-flow li p {
  font-size: 1.0625rem;
  line-height: 1.6;
}

/*------------------------------------------*/
/*clubcircle
/*------------------------------------------*/
#page #clubcircle #application {
  padding-bottom: 0;
}
#page #clubcircle #list .box ul.clubcircle-list li {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 15px 0;
  border: 3px solid #f5f5fa;
  box-shadow: 10px 10px 0 #f5f5fa;
  padding: 20px;
}
#page #clubcircle #list .box ul.clubcircle-list li:not(:last-of-type) {
  margin-bottom: 30px;
}
#page #clubcircle #list .box ul.clubcircle-list li h4 {
  width: 100%;
  color: #665aba;
  font-size: 1.5rem;
  font-weight: 700;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.ov {
  width: 45%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 2%;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.ov dt {
  width: 28%;
  color: #6a63c9;
  font-weight: 600;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.ov dd {
  width: 70%;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.cmt {
  width: 50%;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.cmt dt {
  color: #6a63c9;
  font-weight: 600;
  margin-bottom: 10px;
}
#page #clubcircle #list .box ul.clubcircle-list li dl.cmt dd {
  font-size: 0.9375rem;
}
#page #clubcircle #result .box .table-def table tbody tr th {
  width: 30%;
}
#page #clubcircle #result .box .table-def table tbody tr td {
  padding: 10px 20px;
}
#page #clubcircle #result .box .table-def table tbody tr td b:not(:first-of-type) {
  display: inline-block;
  margin-top: 10px;
}
#page #clubcircle #result .box .table-def table tbody tr td span {
  display: block;
  padding-left: 2em;
}

/*------------------------------------------*/
/*geshuku
/*------------------------------------------*/
#page #geshuku #support .box dl.area {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 0;
  font-size: 1.125rem;
  padding-bottom: 15px;
}
#page #geshuku #support .box dl.area dt {
  width: 4em;
}
#page #geshuku #support .box dl.area dd {
  width: calc(100% - 4em);
  word-break: auto-phrase;
}
#page #geshuku #support .box ul.people-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
}
#page #geshuku #support .box ul.people-list li {
  display: flex;
  flex-direction: column;
  width: 31%;
}
#page #geshuku #support .box ul.people-list li .message {
  flex: 1;
  background: #f5f5fa;
  padding: 15px;
  position: relative;
}
#page #geshuku #support .box ul.people-list li .message b {
  display: block;
  color: #665aba;
  font-size: 1.125rem;
  padding-bottom: 10px;
  position: relative;
  z-index: 2;
}
#page #geshuku #support .box ul.people-list li .message p {
  width: 70%;
  font-size: 0.9375rem;
  position: relative;
  z-index: 2;
}
#page #geshuku #support .box ul.people-list li .message img {
  position: absolute;
  bottom: 0;
  right: -20px;
  width: 35%;
}
#page #geshuku #support .box ul.people-list li .de {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 20px;
  border-left: 5px solid var(--color);
  padding: 2px 10px;
  margin-top: 10px;
}
#page #geshuku #support .box ul.people-list li .de .programs {
  width: 100%;
  color: var(--color);
  font-weight: 700;
}
#page #geshuku #support .box ul.people-list li .de .name {
  font-size: 0.875rem;
}
#page #geshuku #support .box ul.people-list li .de .name span {
  font-size: 1.25rem;
}
#page #geshuku #support .box ul.people-list li .de .from {
  font-size: 0.875rem;
  padding-bottom: 2px;
}
#page #geshuku #support .box ul.graph-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
#page #geshuku #support .box ul.graph-list li {
  width: 50%;
  padding: 5%;
  position: relative;
}
#page #geshuku #support .box ul.graph-list li:not(:nth-of-type(2n))::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  border-right: 2px dashed #ddd7dc;
  height: 90%;
}
#page #geshuku #support .box ul.graph-list li:nth-of-type(n + 3)::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border-top: 2px dashed #ddd7dc;
  width: 90%;
}
#page #geshuku #support .box ul.graph-list li figure {
  position: relative;
}
#page #geshuku #support .box ul.graph-list li figure p {
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
  color: #6a63c9;
  -webkit-text-stroke: 2px #fff;
  paint-order: stroke;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
#page #geshuku #support .box ul.graph-list li .amount {
  padding-top: 10px;
}
#page #geshuku #support .box ul.graph-list li .amount p {
  text-align: center;
}
#page #geshuku #support .box ul.graph-list li .amount p span {
  font-size: 1.125rem;
  padding: 0 5px;
}
#page #geshuku #support .box ul.graph-list li .amount p span b {
  font-size: 1.375rem;
  padding: 0 5px;
}
#page #geshuku #support .box ul.apart-list {
  display: flex;
  justify-content: center;
  gap: 25px;
}
#page #geshuku #support .box ul.apart-list li {
  max-width: 250px;
}

/*------------------------------------------*/
/*learningsupport
/*------------------------------------------*/
#page #learningsupport #support6 .box ul.support-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 2%;
}
#page #learningsupport #support6 .box ul.support-list li {
  min-width: 360px;
  flex: 1;
  display: flex;
  justify-content: space-between;
  background: #f5f5fa;
}
#page #learningsupport #support6 .box ul.support-list li .num {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30%;
  color: #fff;
  text-align: center;
  font-family: "Hanken Grotesk", sans-serif;
  background: #665aba;
  padding: 10px;
}
#page #learningsupport #support6 .box ul.support-list li .num span {
  display: block;
  color: #fff;
}
#page #learningsupport #support6 .box ul.support-list li p {
  width: 68%;
  display: flex;
  align-items: center;
  color: #665aba;
  padding: 10px;
}
#page #learningsupport #support6 .box ul.people-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  background: #f5f5fa;
  padding: 50px 5%;
}
#page #learningsupport #support6 .box ul.people-list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#page #learningsupport #support6 .box ul.people-list li .de {
  width: 28%;
}
#page #learningsupport #support6 .box ul.people-list li .de .wrap {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 20px;
  border-left: 5px solid var(--color);
  padding: 2px 10px;
  margin-top: 10px;
}
#page #learningsupport #support6 .box ul.people-list li .de .wrap .programs {
  width: 100%;
  color: var(--color);
  font-weight: 700;
}
#page #learningsupport #support6 .box ul.people-list li .de .wrap .name {
  font-size: 0.875rem;
}
#page #learningsupport #support6 .box ul.people-list li .de .wrap .name span {
  font-size: 1.25rem;
}
#page #learningsupport #support6 .box ul.people-list li .de .wrap .from {
  font-size: 0.875rem;
  padding-bottom: 2px;
}
#page #learningsupport #support6 .box ul.people-list li .message {
  width: 68%;
  padding: 15px;
}
#page #learningsupport #support6 .box ul.people-list li .message b {
  display: block;
  color: #665aba;
  font-size: 1.125rem;
  padding-bottom: 10px;
}
#page #learningsupport #support6 .box ul.people-list li .message p {
  font-size: 0.9375rem;
  line-height: 1.8;
}

/*------------------------------------------*/
/*studentsupport
/*------------------------------------------*/
#page #studentsupport #support .box .img-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#page #studentsupport #support .box .img-text img {
  width: 20%;
}
#page #studentsupport #support .box .img-text .text {
  width: 76%;
}
#page #studentsupport #support .box .text .ex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 35px;
}
#page #studentsupport #support .box .text .ex h4 {
  font-size: 1.25rem;
  font-weight: 700;
  border: 2px solid #665aba;
  border-radius: 50px;
  padding: 20px 50px;
}
#page #studentsupport #support .box .text .ex ul.ex-list {
  display: flex;
  gap: 35px;
}
#page #studentsupport #support .box .text .ex ul.ex-list li {
  font-size: 1.125rem;
  padding-left: 25px;
  position: relative;
}
#page #studentsupport #support .box .text .ex ul.ex-list li::before {
  position: absolute;
  top: 5px;
  left: 0;
  content: "";
  background: #665aba;
  border-radius: 10px;
  width: 18px;
  height: 18px;
}
#page #studentsupport #support .box .text .ex ul.ex-list li:last-of-type::after {
  display: inline-block;
  font-size: 1.125rem;
  content: "など";
  padding-left: 2em;
}
#page #studentsupport #support .box .text a.btn {
  display: block;
  max-width: 310px;
  border: 1px solid #e7507c;
  padding: 25px 60px 25px 30px;
  position: relative;
}
#page #studentsupport #support .box .text a.btn::after {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  content: "";
  background: url(../../assets/img/page/common/arrow_c_pin.png) no-repeat center/100% auto;
  width: 33px;
  height: 33px;
}
#page #studentsupport #support .box .text a.btn p {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
#page #studentsupport #support .box .text ul.apart-list {
  display: flex;
  gap: 25px;
}
#page #studentsupport #support .box .text ul.apart-list li {
  max-width: 250px;
}

/*------------------------------------------*/
/*townmap
/*------------------------------------------*/
#page #townmap #map .box .map-img {
  max-width: 800px;
  margin: 0 auto;
}
#page #townmap #map .box ul.spot-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 2.6666666667%;
}
#page #townmap #map .box ul.spot-list li {
  width: 23%;
  counter-increment: spot;
}
#page #townmap #map .box ul.spot-list li .name {
  color: #eb6d8e;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  padding-left: 35px;
  margin-top: 15px;
  position: relative;
}
#page #townmap #map .box ul.spot-list li .name::before {
  position: absolute;
  top: -5px;
  left: 0;
  content: counter(spot, decimal-leading-zero);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  font-family: "Hanken Grotesk", sans-serif;
  background: #eb6d8e;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
#page #townmap #access .box iframe {
  width: 100%;
  aspect-ratio: 3/1;
}

/*------------------------------------------*/
/*juken
/*------------------------------------------*/
#page #juken section {
  position: relative;
}
#page #juken section .section-bg {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 2;
}
#page #juken section .section-bg img {
  object-fit: cover;
}
#page #juken section .section-bg.top {
  bottom: 100%;
}
#page #juken section .section-bg.bottom {
  top: 100%;
}
#page #juken section .box {
  position: relative;
  z-index: 5;
}
#page #juken section .box h2.ttl-dec {
  line-height: 1;
  padding-left: 100px;
  margin-bottom: 75px;
  position: relative;
}
#page #juken section .box h2.ttl-dec::before {
  position: absolute;
  top: 5px;
  left: 0;
  content: "";
  height: 100%;
}
#page #juken section .box h2.ttl-dec .en {
  font-size: 67px;
  font-family: "Lexend Giga", sans-serif;
  font-weight: 600;
  padding-bottom: 6px;
}
#page #juken section .box h2.ttl-dec .jp {
  font-size: 1.25rem;
  font-weight: 700;
  padding-left: 5px;
}
#page #juken section .box h2.ttl-dec.co-gr::before {
  background: url(../../assets/img/page/common/programs-seika_dec.png) no-repeat top/100% auto;
  width: 85px;
}
#page #juken section .box h2.ttl-dec.co-gr .en {
  color: #5ab26e;
}
#page #juken section .box h2.ttl-dec.co-bl::before {
  background: url(../../assets/img/page/common/programs-medical_dec.png) no-repeat top/100% auto;
  width: 80px;
}
#page #juken section .box h2.ttl-dec.co-bl .en {
  color: #4e62a4;
}
#page #juken section .box h2.ttl-dec.co-or::before {
  background: url(../../assets/img/page/common/programs-biz_dec.png) no-repeat top/100% auto;
  width: 83px;
}
#page #juken section .box h2.ttl-dec.co-or .en {
  color: #eb6632;
}
#page #juken section .box h2.ttl-dec.co-ye::before {
  background: url(../../assets/img/page/common/programs-health_dec.png) no-repeat top/100% auto;
  width: 82px;
}
#page #juken section .box h2.ttl-dec.co-ye .en {
  color: #f7bc53;
}
#page #juken #mv {
  background: url(../../assets/img/page/juken/mv_bg_pc.jpg) no-repeat top/cover;
  padding: 0;
}
#page #juken #mv .box {
  width: 100%;
  max-width: none;
}
#page #juken #opencampus {
  background: url(../../assets/img/page/juken/opencampus_bg_pc.jpg) no-repeat top/cover;
  padding: 150px 0 200px;
}
#page #juken #opencampus .box .opencampus, #page #juken #opencampus .box ul.kobetu, #page #juken #opencampus .box .web-opencampus {
  max-width: 1000px;
  margin: 0 auto;
}
#page #juken #opencampus .box .opencampus img, #page #juken #opencampus .box ul.kobetu img, #page #juken #opencampus .box .web-opencampus img {
  transition: 0.3s;
}
#page #juken #opencampus .box .opencampus img:hover, #page #juken #opencampus .box ul.kobetu img:hover, #page #juken #opencampus .box .web-opencampus img:hover {
  transform: scale(1.01);
}
#page #juken #opencampus .box ul.kobetu {
  display: flex;
  justify-content: space-between;
  margin-block: 30px;
}
#page #juken #opencampus .box ul.kobetu li {
  width: 32%;
}
#page #juken #opencampus .box .report {
  margin-top: 90px;
}
#page #juken #opencampus .box .report h2 {
  color: #665aba;
  font-size: 2.3125rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
#page #juken #opencampus .box .report ul.report-list {
  padding-bottom: 90px;
}
#page #juken #opencampus .box .report ul.report-list li {
  margin: 0 10px;
}
#page #juken #opencampus .box .report ul.report-list .slick-arrow {
  top: auto;
  bottom: 0;
  transform: translate(0, 0);
  background: url(../../assets/img/page/common/arrow_c_pur.png) no-repeat center/100% auto;
  width: 50px;
  height: 50px;
  transition: 0.3s;
}
#page #juken #opencampus .box .report ul.report-list .slick-arrow::before {
  content: none;
}
#page #juken #opencampus .box .report ul.report-list .slick-arrow.slick-prev {
  left: 43%;
  transform: scale(-1) translate(0, 0);
}
#page #juken #opencampus .box .report ul.report-list .slick-arrow.slick-next {
  right: 43%;
}
#page #juken #opencampus .box .report ul.report-list .slick-arrow:hover {
  opacity: 0.7;
}
#page #juken #opencampus .box ul.sns {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 100px;
}
#page #juken #opencampus .box ul.sns li {
  width: 60px;
}
#page #juken #news {
  padding: 20px 0;
}
#page #juken #news .box {
  max-width: 1000px;
  margin-bottom: -80px;
}
#page #juken #news .box h2 {
  font-size: 2.3125rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
#page #juken #programs {
  overflow: clip;
  overflow-y: visible;
  background: url(../../assets/img/page/juken/programs_bg_pc.jpg) no-repeat top/cover;
  padding: 380px 0 350px;
}
#page #juken #programs .box ul.programs-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 150px 10%;
}
#page #juken #programs .box ul.programs-list li {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}
#page #juken #programs .box ul.programs-list li img {
  width: 80%;
  object-fit: contain;
  filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.1294117647));
}
#page #juken #programs .box ul.programs-list li .en {
  position: absolute;
  font-size: 53px;
  font-weight: 700;
  line-height: 1.2;
  font-family: "Hanken Grotesk", sans-serif;
}
@media screen and (max-width: 1300px) {
  #page #juken #programs .box ul.programs-list li .en {
    font-size: 2.1875rem;
  }
}
#page #juken #programs .box ul.programs-list li a {
  position: absolute;
  bottom: -70px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 540px;
  background: #fff;
  border: 2px solid #fff;
  border-radius: 100px;
  padding: 25px 80px 25px 60px;
  transition: 0.3s;
}
#page #juken #programs .box ul.programs-list li a::after {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  content: "";
  background: url(../../assets/img/page/common/arrow_c_pin.png) no-repeat center/100% auto;
  width: 45px;
  height: 45px;
}
#page #juken #programs .box ul.programs-list li a h3 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
#page #juken #programs .box ul.programs-list li a h3 span {
  display: block;
  color: #665aba;
  font-size: 1.1875rem;
  padding-bottom: 15px;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(1) .en {
  color: #f7bc53;
  letter-spacing: 4px;
  top: 35%;
  left: 0px;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(1) a:hover {
  border: 2px solid #f7bc53;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(2) .en {
  color: #5ab26e;
  top: 4%;
  left: 0;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(2) a:hover {
  border: 2px solid #5ab26e;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(3) {
  grid-column: 1/-1;
  justify-self: center;
  width: 50%;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(3) .en {
  color: #4e62a4;
  top: 30%;
  left: 0;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(3) a:hover {
  border: 2px solid #4e62a4;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(4) .en {
  color: #eb6632;
  top: 38%;
  left: -40px;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(4) a:hover {
  border: 2px solid #eb6632;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(5) .en {
  color: #e7507c;
  font-size: 2.6875rem;
  top: 0;
  left: -40px;
}
@media screen and (max-width: 1300px) {
  #page #juken #programs .box ul.programs-list li:nth-of-type(5) .en {
    font-size: 1.875rem;
  }
}
#page #juken #programs .box ul.programs-list li:nth-of-type(5) a h3 {
  font-size: 1.5rem;
}
#page #juken #programs .box ul.programs-list li:nth-of-type(5) a:hover {
  border: 2px solid #e7507c;
}
#page #juken #programs .dec img {
  position: absolute;
  z-index: 3;
}
#page #juken #programs .dec img:nth-of-type(1) {
  width: 240px;
  top: 1%;
  left: -3%;
}
#page #juken #programs .dec img:nth-of-type(2) {
  width: 120px;
  top: 7%;
  left: 11%;
}
#page #juken #programs .dec img:nth-of-type(3) {
  width: 305px;
  top: 5%;
  right: -5%;
}
#page #juken #programs .dec img:nth-of-type(4) {
  width: 225px;
  bottom: 5%;
  left: -2%;
}
#page #juken #programs .dec img:nth-of-type(5) {
  width: 140px;
  bottom: 1%;
  right: 12%;
}
#page #juken #programs .dec img:nth-of-type(6) {
  width: 240px;
  bottom: 4%;
  right: -3%;
}
#page #juken #examination {
  padding: 120px 0;
}
#page #juken #examination .box ul.exam-list {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 0;
}
#page #juken #examination .box ul.exam-list li {
  width: 25%;
  text-align: center;
  padding: 0 10px;
}
#page #juken #examination .box ul.exam-list li a {
  display: block;
}
#page #juken #examination .box ul.exam-list li a img {
  width: 90%;
  max-width: 250px;
  margin: 0 auto;
  transition: 0.3s;
}
#page #juken #examination .box ul.exam-list li a p {
  width: fit-content;
  font-size: 1.375rem;
  line-height: 1.4;
  margin: 25px auto 0;
  position: relative;
}
#page #juken #examination .box ul.exam-list li a p::after {
  position: absolute;
  top: 10px;
  right: -20px;
  transform: rotate(135deg);
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #665aba;
  border-left: 2px solid #665aba;
  transition: 0.3s;
}
#page #juken #examination .box ul.exam-list li a:hover img {
  transform: scale(1.01);
}
#page #juken #examination .box ul.exam-list li a:hover p::after {
  right: -24px;
}
#page #juken #campus-life {
  overflow: clip;
  overflow-y: visible;
  padding: 90px 0 130px;
}
#page #juken #campus-life .box .life {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 70px 0;
  position: relative;
}
#page #juken #campus-life .box .life::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background: #eb6632;
  border-radius: 200px 0 0 200px;
  width: 105%;
  height: 100%;
  margin-right: calc(50% - 50vw);
  z-index: -1;
}
#page #juken #campus-life .box .life .gallery {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 2%;
}
#page #juken #campus-life .box .life .gallery img {
  border-radius: 15px;
}
#page #juken #campus-life .box .life .gallery img:nth-of-type(1) {
  width: 53%;
}
#page #juken #campus-life .box .life .gallery img:nth-of-type(2) {
  width: 45%;
}
#page #juken #campus-life .box .life .gallery img:nth-of-type(3) {
  width: 35%;
}
#page #juken #campus-life .box .life .gallery img:nth-of-type(4) {
  width: 52%;
}
#page #juken #campus-life .box .life .link {
  width: 33%;
}
#page #juken #campus-life .box .life .link a {
  display: block;
  max-width: 400px;
  background: #fff;
  border-radius: 100px;
  padding: 35px 70px 35px 50px;
  margin-left: auto;
  transition: 0.3s;
  position: relative;
}
#page #juken #campus-life .box .life .link a::after {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  content: "";
  background: url(../../assets/img/page/common/arrow_c_pur.png) no-repeat center/100% auto;
  width: 40px;
  height: 40px;
}
#page #juken #campus-life .box .life .link a:not(:last-of-type) {
  margin-bottom: 22px;
}
#page #juken #campus-life .box .life .link a p {
  font-size: 1.4375rem;
  font-weight: 700;
  transition: 0.3s;
}
#page #juken #campus-life .box .life .link a:hover {
  background: #665aba;
}
#page #juken #campus-life .box .life .link a:hover p {
  color: #fff;
}
#page #juken #information {
  background: url(../../assets/img/page/juken/information_bg_pc.jpg) no-repeat top/cover;
  padding: 80px 0 140px;
}
#page #juken #information .box h2.ttl-dec {
  margin-bottom: 120px;
}
#page #juken #information .box ul.info-list {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
}
#page #juken #information .box ul.info-list li {
  width: 48%;
}
#page #juken #information .box ul.info-list li a {
  display: block;
}
#page #juken #information .box ul.info-list li a .img-h {
  border-radius: 15px;
  overflow: hidden;
}
#page #juken #information .box ul.info-list li a .img-h img {
  transition: 0.3s;
}
#page #juken #information .box ul.info-list li a h3 {
  font-size: 1.3125rem;
  font-weight: 700;
  margin-top: 20px;
  position: relative;
}
#page #juken #information .box ul.info-list li a h3::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../../assets/img/page/common/arrow_c_pin.png) no-repeat center/100% auto;
  width: 35px;
  height: 35px;
}
#page #juken #information .box ul.info-list li a:hover .img-h img {
  transform: scale(1.04);
}

/*------------------------------------------*/
/*student
/*------------------------------------------*/
#page #student #door a.portal {
  display: flex;
  align-items: center;
  max-width: 500px;
  aspect-ratio: 3/1;
  background: url(../../assets/img/page/student/portal.jpg) no-repeat center/cover;
  border-radius: 10px;
  overflow: hidden;
  padding: 30px;
  margin: 0 auto 80px;
  position: relative;
}
#page #student #door a.portal::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #665aba;
  mix-blend-mode: multiply;
  transition: 0.3s;
}
#page #student #door a.portal p {
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: 2px;
  position: relative;
  z-index: 2;
}
#page #student #door a.portal:hover::after {
  background: rgba(102, 90, 186, 0.6);
}

/*------------------------------------------*/
/*dousoukai
/*------------------------------------------*/
#page #dousoukai .table-def table tbody tr th {
  width: 30%;
}
#page #dousoukai .table-def table tbody tr td img {
  max-width: 80%;
  padding: 10px;
}
#page #dousoukai .table-def table tbody tr td img.qr {
  width: 200px;
}
#page #dousoukai #chair .box {
  max-width: 1000px;
}
#page #dousoukai #chair .box .sec-de {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#page #dousoukai #chair .box .sec-de .text {
  width: 70%;
}
#page #dousoukai #chair .box .sec-de .text .name {
  text-align: right;
}
#page #dousoukai #chair .box .sec-de .text .name span {
  font-size: 1.25rem;
  padding: 0 10px;
}
#page #dousoukai #chair .box .sec-de img {
  width: 25%;
}
#page #dousoukai #about .box figure.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0.5%;
}
#page #dousoukai #about .box figure.gallery img {
  width: 33%;
}
#page #dousoukai #privacy .box ul.privacy-list > li:not(:last-of-type) {
  margin-bottom: 25px;
}
#page #dousoukai #privacy .box ul.privacy-list li h3 {
  font-size: 1.25rem;
  font-weight: 700;
  text-indent: -2em;
  padding-left: 2em;
}
#page #dousoukai #privacy .box ul.privacy-list li h3 + * {
  font-size: 1rem;
  padding-left: 2.5em;
}
#page #dousoukai #privacy .box ul.privacy-list li ul.disc-list {
  margin-top: 10px;
}
#page #dousoukai #co-use .box ul.co-use-list li:not(:last-of-type) {
  margin-bottom: 25px;
}
#page #dousoukai #co-use .box ul.co-use-list li h3 {
  font-size: 1.25rem;
  font-weight: 700;
  text-indent: -2em;
  padding-left: 2em;
}
#page #dousoukai #co-use .box ul.co-use-list li h3 + * {
  font-size: 1rem;
  padding-left: 2.5em;
}

/*------------------------------------------*/
/*shugyo-shien
/*------------------------------------------*/
#page #shugyo-shien #grad-career .box ul.flow li {
  background: #f5f5fa;
  padding: 15px;
  position: relative;
}
#page #shugyo-shien #grad-career .box ul.flow li:not(:last-of-type) {
  margin-bottom: 35px;
}
#page #shugyo-shien #grad-career .box ul.flow li:not(:last-of-type)::after {
  position: absolute;
  top: 100%;
  left: 5%;
  content: "";
  background: #f5f5fa;
  height: 20px;
  width: 60px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#page #shugyo-shien #grad-career .box ul.flow li .step {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}
#page #shugyo-shien #grad-career .box ul.flow li .step .num {
  width: fit-content;
  color: #665aba;
  font-family: "Lexend Giga", sans-serif;
  background: #fff;
  border-radius: 20px;
  padding: 2px 10px;
}
#page #shugyo-shien #grad-career .box ul.flow li .step .ttl {
  color: #665aba;
  font-size: 1.375rem;
  font-weight: 700;
}
#page #shugyo-shien #grad-career .box ul.flow li .de {
  font-size: 1.125rem;
}

/*------------------------------------------*/
/*inquiry
/*------------------------------------------*/
#page #inquiry #intro .box .anchor-link-list {
  margin-bottom: 80px;
}

/*------------------------------------------*/
/*nyuyoji
/*------------------------------------------*/
#page #nyuyoji #edu-env .box .img-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page #nyuyoji #edu-env .box .img-text .text {
  width: 60%;
}
#page #nyuyoji #edu-env .box .img-text img {
  width: 35%;
}

/*------------------------------------------*/
/*policy
/*------------------------------------------*/
#page #policy #site-policy .box .table-def.browser table {
  width: 60%;
}

/*------------------------------------------*/
/*libraryguide
/*------------------------------------------*/
#page #libraryguide #guide .box .time table {
  width: 50%;
}
#page #libraryguide #guide .box table tbody tr th {
  width: 25%;
}
#page #libraryguide #viewer .box ul.disc-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3em;
}
#page #libraryguide #viewer .box ul.disc-list li {
  width: 40%;
}
#page #libraryguide #lib-map .box img {
  width: 65%;
  margin: 0 auto;
}

/*
===============================================================================
入試情報 nyushi
===============================================================================
*/
#nyushi .accordion-item .content-inner p + ul,
#nyushi .accordion-item .content-inner ul + p {
  margin-top: 20px;
}

#nyushi .nyushi-item {
  margin-top: 40px;
}
#nyushi .nyushi-item ul + .ttl-2 {
  margin-top: 40px;
}

#nyushi .ttl-1 a {
  display: block;
  text-decoration: underline;
  position: relative;
}
#nyushi .ttl-1 a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6em 0 0.6em 0.8em;
  border-color: transparent transparent transparent #665aba;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
#nyushi .ttl-1 a:hover {
  opacity: 0.5;
}

#nyushi ul.link-list li a {
  min-height: 80px;
}

#nyushi .purple {
  color: #665aba;
}

#nyushi #catalog-sec {
  padding-top: 0;
}
#nyushi #catalog-sec .inner {
  display: flex;
  margin-bottom: 80px;
}
#nyushi #catalog-sec .inner .unit {
  width: 33.3333333333%;
  background-position: center;
  background-size: cover;
}
#nyushi #catalog-sec .inner .unit.panf {
  background-image: url(../img/page/nyushi/back01.jpg);
}
#nyushi #catalog-sec .inner .unit.guide {
  background-image: url(../img/page/nyushi/back02.jpg);
}
#nyushi #catalog-sec .inner .unit.priorconsultation {
  background-image: url(../img/page/nyushi/back03.jpg);
}
#nyushi #catalog-sec .inner .unit > a {
  display: block;
  padding: 3em;
}
#nyushi #catalog-sec .inner .unit .box-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
#nyushi #catalog-sec .inner .unit .box-inner > p {
  width: 55%;
  font-weight: bold;
  color: #fff;
  font-size: 1.5em;
  text-align: center;
}
#nyushi #catalog-sec .inner .unit .box-inner > figure {
  width: 40%;
}
#nyushi #catalog-sec .inner .unit .box-inner > figure img {
  display: block;
  width: 100%;
  height: auto;
}

/*
===============================================================================
学費・奨学金・修学支援 nyushi/scholarship
===============================================================================
*/
#scholarship #admission-fee .price {
  font-size: 1.5625rem;
}
#scholarship #admission-fee ul + .ttl-2 {
  margin-top: 3.75rem;
}
#scholarship #student-support p + .ttl-2,
#scholarship #student-support b + .ttl-2,
#scholarship #student-support ul + .ttl-2 {
  margin-top: 3.75rem;
}
#scholarship #student-support p + .t_purple {
  display: block;
  margin-top: 1em;
}
#scholarship #student-support .t_purple + ul.number-list {
  margin-top: 0.2em;
}
#scholarship #national-support .pickup-text {
  font-size: 1.25rem;
  color: #665aba;
  margin-bottom: 1em;
}
#scholarship #national-support p + p {
  margin-top: 1em;
}
#scholarship #national-support ul.disc-list + .ttl-3 {
  margin-top: 1.8em;
}
#scholarship #national-support .ttl-3 + ul.disc-list {
  margin-top: 0;
}
#scholarship #national-support .table-type01,
#scholarship #national-support .disc-list {
  margin-top: 1em;
}

#scholarship #remote_location .big-pink {
  color: #ff3884;
  font-weight: bold;
}
#scholarship #remote_location .big-pink + .ttl-3,
#scholarship #remote_location p + .ttl-3 {
  margin-top: 1.8em;
}
#scholarship #remote_location p + p {
  margin-top: 1em;
}

#scholarship #other-scholarships p + p,
#scholarship #other-scholarships p + .link-text,
#scholarship #education-loan p + p,
#scholarship #education-loan p + .link-text,
#scholarship #childcare-scholarship p + p,
#scholarship #childcare-scholarship p + .link-text {
  display: table;
  margin-top: 1em;
}
#scholarship #other-scholarships .ttl-2,
#scholarship #education-loan .ttl-2,
#scholarship #childcare-scholarship .ttl-2 {
  margin-top: 60px;
}
#scholarship #other-scholarships .ttl-3,
#scholarship #education-loan .ttl-3,
#scholarship #childcare-scholarship .ttl-3 {
  margin-top: 30px;
}
#scholarship #other-scholarships .content-inner .ttl-2:first-of-type,
#scholarship #education-loan .content-inner .ttl-2:first-of-type,
#scholarship #childcare-scholarship .content-inner .ttl-2:first-of-type {
  margin-top: 0;
}
#scholarship #other-scholarships .loan-link,
#scholarship #education-loan .loan-link,
#scholarship #childcare-scholarship .loan-link {
  display: flex;
  margin-top: 1.5em;
}
#scholarship #other-scholarships .loan-link li,
#scholarship #education-loan .loan-link li,
#scholarship #childcare-scholarship .loan-link li {
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
}
#scholarship #other-scholarships .loan-link li:nth-child(4n),
#scholarship #education-loan .loan-link li:nth-child(4n),
#scholarship #childcare-scholarship .loan-link li:nth-child(4n) {
  margin-right: 0;
}
#scholarship #other-scholarships .loan-link li p,
#scholarship #education-loan .loan-link li p,
#scholarship #childcare-scholarship .loan-link li p {
  display: block;
  margin-top: 0.5em;
  text-align: center;
}

#scholarship a[href^="tel:"] {
  color: #665aba;
  text-decoration: underline;
}
#scholarship .check_text {
  display: table;
  padding: 1em 2em;
  margin-top: 1em;
  border: #665aba dashed 1px;
}

/*
===============================================================================
オープンキャンパス　nyushi/opencampus
===============================================================================
*/
#opencampus #page-title-box {
  padding: 0;
}
#opencampus #page-title-box .inner {
  display: block;
  width: 80%;
  max-width: 1380px;
  height: 100%;
  margin: 0 auto;
  padding-top: 5%;
}
#opencampus #page-title-box .inner > .title {
  height: 90%;
  width: auto;
}

#opencampus .opencampus-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

#opencampus #event-caption {
  background: url(../img/page/nyushi/opencampus/event-caption-bg.jpg) no-repeat center center/cover;
  background-color: #837fb5;
}
#opencampus #event-caption .inner-box {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 50px 0;
  position: relative;
  width: 80%;
  max-width: 1100px;
}
#opencampus #event-caption .inner-box .textbox {
  width: 70%;
}
#opencampus #event-caption .inner-box .textbox .title {
  font-weight: bold;
  font-size: 1.6em;
  display: inline;
  background-color: #fdd35c;
  padding: 0.3em 0.3em;
  line-height: 2;
}
#opencampus #event-caption .inner-box .textbox p {
  color: #fff;
  font-size: 0.9em;
  margin-top: 1rem;
}
#opencampus #event-caption .inner-box .textbox .anchor-link-list a {
  background-color: #fff;
  padding: 1em 0.8em 1em;
  min-height: auto;
}
#opencampus #event-caption .inner-box figure {
  display: block;
  width: 30%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
}
#opencampus #event-caption .inner-box figure img {
  height: auto;
  width: 100%;
}

#opencampus .ttl-style {
  display: table;
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  margin-bottom: 0.8em;
  margin: 0 auto 0.5em;
}
#opencampus .ttl-style p {
  display: inline-block;
  color: #665aba;
  font-weight: bold;
  letter-spacing: -0.03em;
}
#opencampus .ttl-style.orange p {
  color: #ed6d34;
}
#opencampus .ttl-style .st {
  font-size: 1.4em;
}
#opencampus .ttl-style::after {
  content: "";
  display: block;
  width: 25%;
  height: 3px;
  margin: 0.3em auto 0;
  background-color: #665aba;
}
#opencampus .ttl-style.orange:after {
  background-color: #ed6d34;
}

#opencampus #schedule {
  background: url(../img/page/nyushi/opencampus/bg-top.png) no-repeat top left, url(../img/page/nyushi/opencampus/bg-bottom.png) no-repeat bottom left;
  background-size: 100% auto;
  padding: 100px 0;
  margin-top: -80px;
}
#opencampus #schedule .date_bx_wrap {
  display: flex;
  width: 80%;
  max-width: 1350px;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #opencampus #schedule .date_bx_wrap {
    width: 90%;
  }
}
#opencampus #schedule .date_bx_wrap .date_bx {
  width: calc((100% - 80px) / 5);
  border: #665aba solid 3px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 2em 0.5em;
  position: relative;
}
@media (max-width: 1450px) {
  #opencampus #schedule .date_bx_wrap .date_bx {
    width: calc((100% - 60px) / 4);
  }
}
#opencampus #schedule .date_bx_wrap .date_bx p {
  width: 100%;
  text-align: center;
}
#opencampus #schedule .date_bx_wrap .date_bx .date {
  display: block;
  text-align: center;
  font-size: clamp(3rem, 6.2vw, 5rem);
  font-weight: bold;
  font-family: "Roboto Condensed", serif;
  line-height: 1;
  position: relative;
}
#opencampus #schedule .date_bx_wrap .date_bx .date .year {
  position: absolute;
  display: block;
  top: -25px;
  left: 12%;
  font-size: 1.5rem;
}
#opencampus #schedule .date_bx_wrap .date_bx .week {
  display: table;
  font-size: 1.3rem;
  width: 3em;
  background: #FFE839;
  font-family: "Roboto Condensed", serif;
  font-weight: 500;
  line-height: 1.4;
  margin: 0.5em 0 0.3em;
}
#opencampus #schedule .date_bx_wrap .date_bx .week.sun {
  color: #D03C39;
}
#opencampus #schedule .date_bx_wrap .date_bx .week.sat {
  color: #0D6FA7;
}
#opencampus #schedule .date_bx_wrap .date_bx .week.fri {
  color: #fff;
  background: #FFBA00;
}
#opencampus #schedule .date_bx_wrap .date_bx .time {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.2;
}
#opencampus #schedule .date_bx_wrap .date_bx .note {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.2;
  text-align: center;
  position: relative;
  z-index: 5;
}
#opencampus #schedule .date_bx_wrap .date_bx > button {
  font-weight: bold;
  background: #fff;
  border: #665aba solid 1px;
  color: #665aba;
  width: 90%;
  border-radius: 15px;
  padding: 0.3em 0;
  margin-top: 0.5em;
  cursor: auto;
}
#opencampus #schedule .date_bx_wrap .date_bx.finish {
  border-color: #ddd;
}
#opencampus #schedule .date_bx_wrap .date_bx.finish p {
  color: #ddd;
}
#opencampus #schedule .date_bx_wrap .date_bx.finish .week {
  background: #ddd;
  color: #fff;
}
#opencampus #schedule .date_bx_wrap .date_bx.finish button {
  border: #ddd;
  background: #ddd;
  color: #fff;
}
#opencampus #schedule .date_bx_wrap .date_bx.coming {
  display: none;
}
#opencampus #schedule .date_bx_wrap .date_bx.img {
  display: flex;
  align-items: end;
  background: none;
  padding: 0;
}
#opencampus #schedule .date_bx_wrap .date_bx.night {
  position: relative;
  border-color: #557EC0;
}
#opencampus #schedule .date_bx_wrap .date_bx.night .note {
  color: #557EC0;
}
#opencampus #schedule .date_bx_wrap .date_bx.night button {
  border-color: #557EC0;
  color: #557EC0;
}
#opencampus #schedule .date_bx_wrap .date_bx.night::before {
  content: "";
  width: 35%;
  height: 35%;
  background: url(../img/page/nyushi/opencampus/star01.svg) no-repeat center center/100% auto;
  position: absolute;
  left: -5%;
  top: -5%;
  z-index: 1;
}
#opencampus #schedule .date_bx_wrap .date_bx.night::after {
  content: "";
  width: 35%;
  height: 35%;
  background: url(../img/page/nyushi/opencampus/star02.svg) no-repeat center center/100% auto;
  position: absolute;
  right: -8%;
  bottom: -10%;
}

/*参加予約中*/
#opencampus #schedule .date_bx_wrap a.date_bx {
  border-color: #ed6d34;
}
#opencampus #schedule .date_bx_wrap a.date_bx button {
  border-color: #ed6d34;
  background: #ed6d34;
  color: #fff;
  cursor: pointer;
}
#opencampus #schedule .date_bx_wrap a.date_bx:hover {
  background-color: #ed6d34;
}
#opencampus #schedule .date_bx_wrap a.date_bx:hover .note {
  color: #fff;
}
#opencampus #schedule .date_bx_wrap a.date_bx:hover button {
  background: #fff;
  color: #ed6d34;
}
#opencampus #schedule .date_bx_wrap a.date_bx.night button {
  background-color: #0D6FA7;
  border-color: #0D6FA7;
}
#opencampus #schedule .date_bx_wrap a.date_bx.night:hover {
  background-color: #0D6FA7;
}
#opencampus #schedule .date_bx_wrap a.date_bx.night:hover button {
  background: #fff;
  color: #0D6FA7;
}

#opencampus #benefits .benefits-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#opencampus #benefits .benefits-contents .text-box {
  width: 65%;
}
#opencampus #benefits .benefits-contents .text-box .pickup {
  font-weight: bold;
}
#opencampus #benefits .benefits-contents .text-box .pickup span {
  display: table;
  background: #665aba;
  color: #fff;
  padding: 0.3em 0.5em;
  margin-bottom: 0.5em;
}
#opencampus #benefits .benefits-contents .text-box .pickup b {
  color: #665aba;
  font-size: 1.8em;
  letter-spacing: 0.01em;
  display: inline;
  padding: 0 0.2em;
  background: linear-gradient(transparent 55%, #fff36d 55%);
}
#opencampus #benefits .benefits-contents .text-box .ttl-3 {
  margin-top: 1.2em;
}
#opencampus #benefits .benefits-contents figure {
  width: 30%;
}
#opencampus #benefits .benefits-contents figure img {
  display: block;
  width: 80%;
  margin: 0 auto;
}

#opencampus #benefits .benefits-contents.lunch {
  margin-top: 40px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
#opencampus #benefits .benefits-contents.lunch figure img {
  margin: 0;
}

#opencampus #program .ttl-style {
  color: #ed6d34;
}
#opencampus #program .ttl-style::after {
  display: none;
}

#opencampus .program-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
}
#opencampus .program-list::before {
  content: "";
  display: block;
  width: 15vw;
  height: 15vw;
  background: url(../img/page/nyushi/opencampus/human03.png) no-repeat center bottom/100% auto;
  position: absolute;
  left: 0;
  top: -14.9vw;
}
#opencampus .program-list::after {
  content: "";
  display: block;
  width: 15vw;
  height: 15vw;
  background: url(../img/page/nyushi/opencampus/human04.png) no-repeat center bottom/100% auto;
  position: absolute;
  right: 0;
  top: -14.9vw;
}
#opencampus .program-list .p-box {
  width: calc((100% - 100px) / 3);
  margin-top: 0;
  padding: 1.5em;
  background-color: #fff;
  border: #ed6d34 solid 3px;
  border-radius: 10px;
  position: relative;
}
@media (max-width: 1450px) {
  #opencampus .program-list .p-box {
    width: calc((100% - 50px) / 2);
  }
}
#opencampus .program-list .p-box:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 26px;
  border-color: transparent transparent transparent #ed6d34;
  position: absolute;
  top: 0;
  right: -20px;
  bottom: 0;
  margin: auto;
}
#opencampus .program-list .p-box:last-child::after {
  display: none;
}
#opencampus .program-list .p-box::before {
  content: "";
  display: block;
  width: 7.9vw;
  max-width: 90px;
  height: 7.9vw;
  max-height: 90px;
  background-image: url(../img/page/nyushi/opencampus/step01.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  margin-right: 0.5em;
  position: absolute;
  top: -20px;
  left: -30px;
}
#opencampus .program-list .p-box:nth-child(2)::before {
  background-image: url(../img/page/nyushi/opencampus/step02.png);
}
#opencampus .program-list .p-box:nth-child(3)::before {
  background-image: url(../img/page/nyushi/opencampus/step03.png);
}
#opencampus .program-list .p-box:nth-child(4)::before {
  background-image: url(../img/page/nyushi/opencampus/step04.png);
}
#opencampus .program-list .p-box:nth-child(5)::before {
  background-image: url(../img/page/nyushi/opencampus/step05.png);
}
#opencampus .program-list .p-box:nth-child(6)::before {
  background-image: url(../img/page/nyushi/opencampus/step06.png);
}
#opencampus .program-list .p-box:nth-child(-n+3) {
  margin-top: 0;
}
#opencampus .program-list .p-box figure {
  display: block;
  overflow: hidden;
  margin-bottom: 1rem;
}
#opencampus .program-list .p-box .title {
  display: block;
  color: #ed6d34;
  text-align: center;
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: #ed6d34 dotted 2px;
  position: relative;
}
#opencampus .program-list .p-box .title small {
  color: #ed6d34;
}

#opencampus #event {
  background: url(../img/page/nyushi/opencampus/bg_slash.svg) repeat center center/auto;
  background-color: #FFF9E6;
  padding: 80px 0 1px;
  margin-bottom: 80px;
}
#opencampus #event .ttl-style {
  color: #ed6d34;
}
#opencampus #event .ttl-style:after {
  display: none;
}
#opencampus #event .event-contents {
  border: #ed6d34 solid 3px;
  background: url(../img/page/nyushi/opencampus/bg-top02.png) no-repeat top center/100% auto;
  background-color: #fff;
  width: 80%;
  max-width: 1350px;
  margin: 0 auto 80px;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  #opencampus #event .event-contents {
    width: 90%;
  }
}
#opencampus #event .event-contents .event-title {
  display: block;
  text-align: center;
  padding: 1em 0;
  margin: 0 auto 1em;
  position: relative;
}
#opencampus #event .event-contents .event-title p,
#opencampus #event .event-contents .event-title small {
  color: #665aba;
  line-height: 1.2;
}
#opencampus #event .event-contents .event-title p {
  font-family: "Roboto Condensed", serif;
  font-size: 4em;
  font-weight: bold;
  color: #ed6d34;
}
#opencampus #event .event-contents .event-title small {
  font-size: 1.2em;
}
#opencampus #event .event-contents .detail-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 85%;
  margin: 0 auto;
  padding: 0 0 50px;
  gap: 30px;
}
#opencampus #event .event-contents .detail-wrap .detail {
  width: calc((100% - 60px) / 3);
  margin-top: 20px;
}
@media (max-width: 1450px) {
  #opencampus #event .event-contents .detail-wrap .detail {
    width: calc((100% - 30px) / 2);
  }
}
#opencampus #event .event-contents .detail-wrap .detail figure {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
#opencampus #event .event-contents .detail-wrap .detail figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  background: #000;
  padding: 0.2em 0.6em;
  font-size: 1.3em;
  border-radius: 0 0 20px 0;
}
#opencampus #event .event-contents .detail-wrap .detail .title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.3em;
  text-align: center;
  min-height: 4.5em;
  padding: 0.5em 0;
  margin-bottom: 0.5em;
  border-bottom: #665aba solid 1px;
}
#opencampus #event .event-contents .detail-wrap .detail.yellow .title {
  color: rgb(255, 175, 0);
  border-color: rgb(255, 175, 0);
}
#opencampus #event .event-contents .detail-wrap .detail.yellow figcaption {
  background: rgba(255, 175, 0, 0.9);
}
#opencampus #event .event-contents .detail-wrap .detail.green .title {
  color: rgb(99, 177, 110);
  border-color: rgb(99, 177, 110);
}
#opencampus #event .event-contents .detail-wrap .detail.green figcaption {
  background: rgba(99, 177, 110, 0.9);
}
#opencampus #event .event-contents .detail-wrap .detail.blue .title {
  color: rgb(54, 108, 180);
  border-color: rgb(54, 108, 180);
}
#opencampus #event .event-contents .detail-wrap .detail.blue figcaption {
  background: rgba(54, 108, 180, 0.9);
}
#opencampus #event .event-contents .detail-wrap .detail.orange .title {
  color: rgb(236, 109, 47);
  border-color: rgb(236, 109, 47);
}
#opencampus #event .event-contents .detail-wrap .detail.orange figcaption {
  background: rgba(236, 109, 47, 0.9);
}
#opencampus #event .event-contents .detail-wrap .detail.pink .title {
  color: rgb(226, 85, 117);
  border-color: rgb(226, 85, 117);
}
#opencampus #event .event-contents .detail-wrap .detail.pink figcaption {
  background: rgba(226, 85, 117, 0.9);
}

#opencampus #qa dl.aq-box {
  padding-bottom: 2em;
}
#opencampus #qa dl.aq-box:last-child {
  padding-bottom: 0;
}
#opencampus #qa dl.aq-box dt {
  position: relative;
  padding-left: 3em;
  padding-bottom: 1em;
  border-bottom: #665aba solid 1px;
}
#opencampus #qa dl.aq-box dt span {
  background-color: #665aba;
  color: #fff;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 50px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
}
#opencampus #qa dl.aq-box dt p {
  padding-top: 0.2em;
  font-weight: bold;
  font-size: 1.2em;
}
#opencampus #qa dl.aq-box dd {
  position: relative;
  padding-left: 1.9em;
  margin: 10px 0.5em 0;
}
#opencampus #qa dl.aq-box dd span {
  color: #ed6d34;
  line-height: 1.8em;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 50px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
}
#opencampus #qa dl.aq-box dd p {
  padding-top: 0.5em;
}

#opencampus #access {
  background-color: #665aba;
  padding: 50px 0 80px;
  margin-bottom: 80px;
}
#opencampus #access .ttl-style {
  color: #fff;
}
#opencampus #access .access-contents {
  display: flex;
  justify-content: space-between;
  background: #fff;
  width: 80%;
  max-width: 1350px;
  margin: 0 auto;
  border-radius: 20px;
  padding: 3em;
}
@media (max-width: 1024px) {
  #opencampus #access .access-contents {
    width: 90%;
  }
}
#opencampus #access .access-contents .text-box {
  width: 50%;
}
#opencampus #access .access-contents .text-box .ttl-3 {
  margin-top: 1.4em;
}
#opencampus #access .access-contents .text-box .ttl-3:first-child {
  margin-top: 0;
}
#opencampus #access .access-contents .text-box p + p {
  margin-top: 1em;
}
#opencampus #access .access-contents .map {
  width: 45%;
}
#opencampus #access .access-contents .map iframe {
  width: 100%;
  height: 400px;
}
#opencampus #access .access-contents .map .more-btn {
  margin-left: auto;
  min-width: auto;
}

#opencampus #other ul.link-bnr {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
#opencampus #other ul.link-bnr li {
  width: calc((100% - 40px) / 3);
  margin-top: 20px;
}
@media (max-width: 1200px) {
  #opencampus #other ul.link-bnr li {
    width: calc((100% - 20px) / 2);
  }
}
#opencampus #other ul.link-bnr li a {
  display: block;
}
#opencampus #other ul.link-bnr li a img {
  display: block;
}
#opencampus #other .more-btn {
  margin: 50px auto 0;
  font-size: 1.5em;
  border-radius: 80px;
}

/*
===============================================================================
高校教員の方へ nyushi/teachers
===============================================================================
*/
#teachers .ttl-3 {
  margin-top: 60px;
}
#teachers p + p {
  margin-top: 1em;
}
#teachers .contact-address {
  margin: 2em 0;
  line-height: 1.8;
}

ul.image-links {
  display: flex;
  flex-wrap: wrap;
}
ul.image-links li {
  width: calc((100% - 120px) / 4);
  margin-right: 40px;
  margin-top: 40px;
}
ul.image-links li:nth-child(4n) {
  margin-right: 0;
}
ul.image-links li:nth-child(-n+4) {
  margin-top: 0;
}
ul.image-links li .title {
  display: block;
  padding-left: 0.8em;
  line-height: 1.3;
  margin-bottom: 0.5em;
  position: relative;
}
ul.image-links li .title::before {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background-color: #665aba;
  margin-right: 0.5em;
  position: absolute;
  left: 0;
  top: 0;
}
ul.image-links li a figure {
  display: block;
  border: #ddd solid 1px;
  background-color: #f2f2f2;
  aspect-ratio: 1/1;
}
ul.image-links li a figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
ul.image-links li a p {
  text-align: center;
  line-height: 1.3;
  font-size: 0.95em;
  padding-top: 0.5em;
}

#teachers .book-competition {
  display: flex;
  gap: 40px;
}
#teachers .book-competition a.img {
  width: 30%;
}
#teachers .book-competition a.img img {
  width: 100%;
  height: auto;
}
#teachers .book-competition .text {
  line-height: 1.8;
}
#teachers .book-competition .link {
  display: block;
  margin: 1.2em 0;
}
#teachers .book-competition .link a {
  display: table;
  color: #665aba;
  text-decoration: underline;
  margin: 0.2em 0;
  padding-left: 15px;
  position: relative;
}
#teachers .book-competition .link a:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #665aba;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

#teachers #download .link-list {
  margin: 1em 0;
}

.pconly {
  display: block;
  width: 100%;
  max-width: 1000px;
  background: url(../img/page/nyushi/teachers/news-line-mainC.svg) repeat-y;
  background-position: right 110px center;
  margin: 0 auto;
  position: relative;
}

.shigatan-navi {
  background: url(../img/page/nyushi/teachers/shigatan-bg.png) left center no-repeat;
  display: flex;
  justify-content: space-between;
  padding: 50px 25px;
  position: relative;
}
.shigatan-navi .view-img {
  width: 70%;
  max-width: 650px;
}
.shigatan-navi .view-img img {
  width: 100%;
}
.shigatan-navi .box {
  width: 30%;
  max-width: 330px;
  display: block;
  /* background-color: rgba(127, 128, 0, 0.47); */
}
.shigatan-navi .ttl {
  position: absolute;
  left: 60px;
  bottom: 50%;
  transform: translateY(50%);
  -webkit-transform: translateY(50%);
}
.shigatan-navi .ttl > div {
  padding-left: 15px;
  padding-bottom: 10px;
}
.shigatan-navi .ttl > div img {
  width: 100%;
  max-width: 205px;
}
.shigatan-navi .ttl > div.tosite {
  display: block;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.shigatan-navi .ttl > div.tosite img {
  padding-bottom: 50px;
  width: 100%;
  margin-bottom: 0;
}
.shigatan-navi .copy {
  position: absolute;
  width: 45px;
  right: -16px;
  top: 10px;
}
.shigatan-navi .copy img {
  width: 100%;
}

/*
===============================================================================
教育訓練給付制度・長期高度人材育成コース nyushi/trainingbenefit
===============================================================================
*/
#trainingbenefit .ttl-2 {
  margin-top: 50px;
}
#trainingbenefit .ttl-3 {
  margin-top: 30px;
}
#trainingbenefit .table-def {
  text-align: center;
  width: 90%;
  margin: 1.5em 0;
}

/*
===============================================================================
簡単にわかるWEB出願 nyushi/webapp
===============================================================================
*/
.features {
  margin: 90px auto 0;
  width: 90%;
  max-width: 800px;
  height: 250px;
  border: 1px solid #837fb5;
  background-color: #fff;
  position: relative;
}
.features .back {
  width: 100%;
  height: 250px;
  position: absolute;
  bottom: -10px;
  right: -10px;
  background: url(../img/page/nyushi/webapp/mesh.svg) repeat;
  background-position: right bottom;
  z-index: -1;
}
.features .txt-box {
  width: 100%;
}
.features .txt-box > p {
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
  color: #837fb5;
  line-height: 40px;
}
.features .txt-box > p span {
  background: linear-gradient(transparent 50%, #fff500);
  padding: 0 15px;
}
.features .txt-box .main {
  width: 23em;
  margin: -30px auto 30px;
  position: relative;
  background-color: #fff;
}
.features .txt-box .main p {
  font-size: 2em;
  font-weight: bold;
  text-align: center;
  color: #837fb5;
}
.features .txt-box .main .line01 {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.features .txt-box .main .line02 {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.features .txt-box .main img {
  max-height: 32px;
}

.flow-box01 {
  background-color: #fffeed;
  position: relative;
  padding-top: 60px;
}
.flow-box01 .web-flow-title {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}
.flow-box01 .web-flow-text {
  width: 380px;
  margin: auto;
  background-color: #fff;
  border-radius: 24px;
  border: 1px solid #837fb5;
  position: relative;
  height: 52px;
}
.flow-box01 .web-flow-text p {
  position: absolute;
  width: 370px;
  height: 42px;
  border-radius: 24px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #837fb5;
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
.flow-box01 .inner-all {
  background: url(../img/page/nyushi/webapp/line.svg) repeat-x;
  background-position: center;
  padding-top: 10px;
}
.flow-box01 .inner-all .inner01 {
  width: 80%;
  max-width: 1100px;
  margin: 50px auto 0;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.flow-box01 .inner-all .inner01 .f-box {
  flex-wrap: wrap;
  width: calc((100% - 60px) / 4);
  max-width: 250px;
  max-height: 250px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  margin-bottom: 60px;
  margin-right: 20px;
  padding-top: 3em;
}
.flow-box01 .inner-all .inner01 .f-box:last-of-type {
  margin-right: 0;
}
.flow-box01 .inner-all .inner01 .f-box .step {
  max-width: 52px;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.flow-box01 .inner-all .inner01 .f-box .main {
  width: 100%;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 400;
  color: #837fb5;
  margin-bottom: 20px;
}
.flow-box01 .inner-all .inner01 .f-box p {
  line-height: 1.6;
  padding: 0 0.5em;
  font-size: 0.875rem;
  text-align: center;
}
.flow-box01 .inner-all .inner01 .f-box .arr {
  position: absolute;
  right: -17px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 16px;
  border-color: transparent transparent transparent #837fb5;
}

#web-flow-finish {
  background-color: rgba(232, 231, 242, 0.5);
  padding: 50px 0;
  position: relative;
}
#web-flow-finish .arr {
  left: 50%;
  transform: translateX(-50%);
  top: -10px;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 28px 16px 0 16px;
  border-color: #837fb5 transparent transparent transparent;
}
#web-flow-finish .con01 {
  width: 200px;
  margin: auto;
  background: url(../img/page/nyushi/webapp/mesh02.svg) no-repeat;
  background-position: right bottom;
  padding-bottom: 5px;
  padding-right: 5px;
}
#web-flow-finish .con01 p {
  margin-left: -5px;
  width: 200px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 400;
  color: #837fb5;
  background-color: #fff;
  border: 1px solid #837fb5;
}

#webapp .link-list {
  justify-content: center;
}
#webapp .link-list li a {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  font-weight: bold;
  background-color: #fffee1;
}
#webapp .link-list li a:hover {
  background-color: #f6f5fb;
}

/*
===============================================================================
Webオープンキャンパス nyushi/opencampus/web-opencampus
===============================================================================
*/
#web-opencampus #page-ttl {
  background: url(../img/page/nyushi/opencampus/web-opencampus/main.jpg) no-repeat top center/cover;
  height: 900px;
  padding: 0;
}
#web-opencampus #page-ttl .inner {
  width: 80%;
  max-width: 1350px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1024px) {
  #web-opencampus #page-ttl .inner {
    width: 90%;
  }
}
#web-opencampus #page-ttl .inner img {
  display: block;
  width: 65%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#web-opencampus .movie-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}
#web-opencampus .movie-list .m-box {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
  margin-top: 40px;
}
#web-opencampus .movie-list .m-box:nth-child(3n) {
  margin-right: 0;
}
#web-opencampus .movie-list .m-box:nth-child(-n+3) {
  margin-top: 0;
}
#web-opencampus .movie-list .m-box p {
  text-align: center;
  margin-top: 1em;
}
#web-opencampus .movie-list .m-box p small {
  display: block;
}

.m-box.yellow * {
  color: #FABE00;
}

.m-box.green * {
  color: #69BD83;
}

.m-box.blue * {
  color: #557EC0;
}

.m-box.orange * {
  color: #F08441;
}

.m-box.pink * {
  color: #EC6D88;
}

#nyushi-info {
  padding: 100px 0;
  background: url(../img/page/nyushi/opencampus/web-opencampus/line-info.svg) repeat-x #f0f0f0;
  background-position: center;
  position: relative;
}
#nyushi-info .ttl {
  display: block;
  text-align: center;
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  line-height: 1.2;
}
#nyushi-info .ttl p {
  font-size: 2em;
  padding-bottom: 0.1em;
}
#nyushi-info .ttl span {
  display: block;
  font-size: 0.8em;
}
#nyushi-info .info-btn {
  display: flex;
  justify-content: space-between;
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
}
#nyushi-info .info-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 40px) / 3);
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
  text-align: center;
}
#nyushi-info .info-btn a .in {
  width: 60%;
}
#nyushi-info .info-btn a .in img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#nyushi-info .info-btn a .in p {
  line-height: 1.4;
  margin-top: 1em;
}

/*
===============================================================================
平日個別見学・Web個別相談・LINE個別相談 nyushi/opencampus/kobetu
===============================================================================
*/
#kobetu .innner-box {
  display: flex;
  justify-content: space-between;
}
#kobetu .innner-box figure {
  width: 40%;
}
#kobetu .innner-box figure img {
  display: block;
}
#kobetu .innner-box figure figcaption {
  display: block;
  background-color: #665aba;
  color: #fff;
  text-align: center;
  font-size: 1.5em;
  padding: 0.5em 0;
  position: relative;
}
#kobetu .innner-box figure figcaption::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0 15px;
  border-color: #665aba transparent transparent transparent;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -15px;
  margin: auto;
}
#kobetu .innner-box .text {
  line-height: 1.8;
}
#kobetu .innner-box .text p + .ttl-3 {
  margin-top: 60px;
}
#kobetu .innner-box .text p + p,
#kobetu .innner-box .text a + p {
  margin-top: 1.2em;
}
#kobetu .innner-box .text .disc-list li {
  margin: 2em 0;
}
#kobetu .innner-box .text .access {
  display: block;
  padding-top: 40px;
  margin-top: 40px;
  border-top: #665aba dotted 1px;
}

#kobetu .flow-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#kobetu .flow-list .flow-box {
  display: flex;
  justify-content: space-between;
  width: 49%;
  border: #837fb5 solid 1px;
  padding: 2em;
  margin-top: 2%;
}
#kobetu .flow-list .flow-box .textbox {
  width: 64%;
}
#kobetu .flow-list .flow-box .textbox .tit {
  display: flex;
  align-self: center;
  font-size: 1.3em;
  border-bottom: #665aba solid 1px;
  padding: 0 0 0 2.5em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 2;
  position: relative;
}
#kobetu .flow-list .flow-box .textbox .tit span {
  display: flex;
  align-items: center;
  text-align: center;
  background-color: #665aba;
  color: #fff;
  margin-right: 0.3em;
  padding: 0.1em 0.5em;
  font-weight: bold;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  bottom: 0;
}
#kobetu .flow-list .flow-box figure {
  width: 30%;
}

#kobetu .more-text {
  padding-top: 60px;
}
#kobetu .more-text .ttl {
  background-color: #665aba;
  color: #fff;
  text-align: center;
  padding: 0.5em 1em;
}

/*
===============================================================================
学科・コース department
===============================================================================
*/
.modal-box {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal-box .modal-img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.modal-box .close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
}

#course section {
  padding: 80px 0;
}
#course section.page-sec {
  margin: 0 auto;
  width: 80%;
  max-width: 1350px;
}
@media (max-width: 1024px) {
  #course section.page-sec {
    width: 90%;
  }
}

#course #mv {
  padding: 0;
  overflow-x: hidden;
  position: relative;
}
#course #mv img.main {
  width: 89%;
  height: auto;
  margin-left: auto;
}
#course #mv .course-title {
  width: 30%;
  padding: 2.5em 0;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
}
#course #mv .course-title .title {
  display: table;
  margin: 0 auto;
}
#course #mv .course-title .title span {
  font-weight: bold;
  font-size: 0.56em;
  display: block;
  color: #665aba;
}
#course #mv .course-title .title b {
  display: block;
  line-height: 1.5;
  font-size: 2.5rem;
  font-weight: bold;
}
#course #mv .course-title .title p {
  margin-top: 0.3em;
}
#course #mv .en {
  display: block;
  font-weight: bold;
  font-family: "Roboto Condensed", serif;
  color: #f7bc53;
  font-size: 7rem;
  line-height: 100%;
  opacity: 0.6;
  position: absolute;
  bottom: -0.1em;
  left: 34%;
}
@media (max-width: 1024px) {
  #course #mv .en {
    font-size: 4.5rem;
  }
}

#course #page-caption .lead-text {
  text-align: center;
  font-size: 2.25rem;
  color: #665aba;
  margin-bottom: 1.5rem;
}
#course #page-caption > p {
  text-align: center;
  font-size: 1.25rem;
}
#course #page-caption .anchor-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 1350px;
  margin: 2rem auto 0;
}
#course #page-caption .anchor-links > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc((100% - 60px) / 4);
  border: #f7bc53 solid 2px;
  border-radius: 50px;
  padding: 1em 0.5em;
  min-height: 75px;
}
#course #page-caption .anchor-links > a:hover {
  background-color: #ddd;
}
#course #page-caption .anchor-links > a p {
  display: block;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  width: 100%;
  padding: 0 2em;
  position: relative;
}
#course #page-caption .anchor-links > a p::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/page/department/arrows_right_yellow.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  transform: rotate(90deg);
  position: absolute;
  top: 50%;
  margin-top: -0.75em;
  right: 0;
}
#course #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_yellow.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin: 80px auto 0;
  padding: 50px 0;
  width: 80%;
  max-width: 670px;
}
#course #page-caption .movie .movie_box {
  width: 80%;
  height: auto;
  margin: 0 auto;
}
#course #page-caption .movie .movie_box video {
  width: 100%;
}

#course #page-caption .movie.multiple {
  display: flex;
  justify-content: space-between;
  width: 80%;
  max-width: 1200px;
  padding: 50px 30px 50px;
  background-size: auto 100%;
  background-position: left center;
}
#course #page-caption .movie.multiple .movie_box {
  width: 47%;
}

#course #point {
  overflow-x: hidden;
  position: relative;
}
#course #point::before {
  content: "";
  display: block;
  width: 130%;
  height: 100%;
  background-color: rgba(247, 188, 83, 0.1);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
#course #point .inner {
  width: 80%;
  max-width: 1350px;
  padding: 40px 0 80px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
@media (max-width: 1024px) {
  #course #point .inner {
    width: 90%;
  }
}
#course #point .inner .point-list {
  display: flex;
  justify-content: center;
  gap: 60px;
  width: 90%;
  max-width: 1070px;
  margin: 100px auto 0;
}
#course #point .inner .point-list .unit {
  width: calc((100% - 120px) / 3);
  position: relative;
}
#course #point .inner .point-list .unit figure {
  position: relative;
}
#course #point .inner .point-list .unit figure img {
  position: relative;
  z-index: 5;
}
#course #point .inner .point-list .unit:before {
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  background-image: url(../img/page/department/number01_yellow.png);
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  left: -40px;
  top: -70px;
}
#course #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_yellow.png);
}
#course #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_yellow.png);
}
#course #point .inner .point-list .unit .title {
  display: block;
  font-weight: bold;
  font-size: 1.5625rem;
  margin-top: 0.8em;
  margin-bottom: 0.3em;
  position: relative;
  z-index: 5;
}
@media (max-width: 1024px) {
  #course #point .inner .point-list .unit .title {
    font-size: 1.125rem;
  }
}

#course #license .ttl-1 {
  margin-top: 80px;
}
#course #license .ttl-2 + .ttl-1 {
  margin-top: 0;
}
#course #license .license-box {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 160px;
}
#course #license .license-box .slick-prev, #course #license .license-box .slick-next {
  width: 40px;
  height: 40px;
  background-position: center center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: absolute;
  top: auto;
  bottom: -80px;
}
#course #license .license-box .slick-prev {
  background-image: url(../img/page/department/arrows_left_yellow.png);
  left: 40%;
}
#course #license .license-box .slick-next {
  background-image: url(../img/page/department/arrows_right_yellow.png);
  right: 40%;
}
#course #license .license-box .slick-prev:before, #course #license .license-box .slick-next:before {
  display: none;
}
#course #license .license-box .unit {
  background-color: rgba(247, 188, 83, 0.1);
  padding: 2em;
  margin: 0 30px;
  width: 45%;
  max-width: 500px;
}
#course #license .license-box .unit .title {
  display: table;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  background-color: #f7bc53;
  border-radius: 40px;
  margin: 1em auto;
  padding: 0.3em 1em;
}
#course #license .lesson_pickup {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1070px;
  margin: 0 auto;
  gap: 50px;
}
#course #license .lesson_pickup .unit {
  display: flex;
  flex-direction: column;
  width: calc((100% - 100px) / 3);
}
#course #license .lesson_pickup .unit .inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#course #license .lesson_pickup .unit .inner .number {
  display: block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  margin: 0 auto;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  background-color: #f7bc53;
  border-radius: 50%;
}
#course #license .lesson_pickup .unit .inner ul {
  flex: 1;
  display: table;
  margin: 2em auto;
}
#course #license .lesson_pickup .unit .inner ul li {
  position: relative;
  padding-left: 1em;
}
#course #license .lesson_pickup .unit .inner ul li::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  background-color: #f7bc53;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}
#course #license .lesson_pickup .unit .inner::after {
  content: "";
  display: block;
  width: 90%;
  max-width: 230px;
  aspect-ratio: 230/35;
  margin: 0 auto;
  background-image: url(../img/page/department/arrows_bottom_yellow.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#course #license .lesson_pickup .unit .comment {
  background-color: rgba(247, 188, 83, 0.1);
  padding: 1em;
  border-radius: 50px;
  text-align: center;
  margin-top: 2em;
}
#course #license ul.license-list {
  display: flex;
  flex-wrap: wrap;
}
#course #license ul.license-list li {
  font-size: 1.125rem;
  margin: 0.2em 0;
  margin-right: 2em;
  padding-left: 1.4em;
  position: relative;
}
#course #license ul.license-list li::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: #f7bc53;
  border-radius: 50px;
  position: absolute;
  left: 0;
  top: 0.3em;
}
#course #license ul.license-list.n02 {
  margin: 0 auto;
}
#course #license ul.license-list.n02 li {
  width: 40%;
}
#course #license ul.license-list.n03 {
  margin: 0 auto;
}
#course #license ul.license-list.n03 li {
  width: 30%;
}
#course #license .note .unit {
  display: block;
  padding-left: 3em;
  margin-top: 1.5em;
  position: relative;
}
#course #license .note .unit .number {
  position: absolute;
  left: 0;
  top: 0;
}
#course #license #career {
  display: flex;
  align-items: center;
  margin-top: 3rem;
}
#course #license #career .title {
  font-size: 1.25rem;
  padding: 0.5em 1.5em;
  border-radius: 50px;
  border: #f7bc53 solid 2px;
  margin-right: 1em;
  white-space: nowrap;
}

#course #lesson .lesson-box {
  display: flex;
  justify-content: space-between;
  width: 90%;
  max-width: 1070px;
  background-color: rgba(247, 188, 83, 0.1);
  padding: 2em 4em;
  margin: 30px auto 0;
}
#course #lesson .lesson-box .text {
  width: 60%;
}
#course #lesson .lesson-box .text .title {
  display: block;
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
#course #lesson .lesson-box .text .license {
  background-color: #fff;
  padding: 1em 1.5em;
  margin-top: 1em;
  font-size: 0.9em;
}
#course #lesson .lesson-box .text .license .ttl-3 {
  font-size: 0.9rem;
}
#course #lesson .lesson-box .text .license p + .ttl-3 {
  margin-top: 0.8em;
}
#course #lesson .lesson-box figure {
  width: 35%;
}

#course #message .ttl-2 {
  display: block;
  width: 80%;
  max-width: 1350px;
  margin: 0 auto 30px;
}
@media (max-width: 1024px) {
  #course #message .ttl-2 {
    width: 90%;
  }
}
#course #message .message-box {
  background-color: #f2f2f2;
  width: 100%;
  padding: 50px 0;
}
#course #message .message-box .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  max-width: 1165px;
  margin: 0 auto;
}
#course #message .message-box .inner figure {
  position: relative;
  width: 25%;
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
#course #message .message-box .inner figure img {
  display: block;
  width: 140px;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#course #message .message-box .inner figure figcaption {
  width: 70%;
  padding: 0.5em 1em;
  background-color: #fff;
  text-align: center;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#course #message .message-box .inner figure figcaption p {
  font-size: 0.9em;
}
#course #message .message-box .inner figure figcaption p span {
  display: block;
  font-size: 1.3em;
}
#course #message .message-box .inner .text {
  width: 68%;
  line-height: 2;
}
#course #message .message-box .inner .text .title {
  display: block;
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}

#course #voice {
  display: block;
  background: url(../img/page/department/voice_bg_top.png) no-repeat top center/100% auto, url(../img/page/department/voice_bg_bottom.png) no-repeat bottom center/100% auto;
  background-color: rgba(240, 132, 65, 0.1);
  padding: 110px 0;
  position: relative;
}
#course #voice::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 100%;
  height: 5px;
  position: absolute;
  left: 0;
  bottom: -3px;
}
#course #voice .ttl {
  display: table;
  font-weight: bold;
  font-family: "Roboto Condensed", serif;
  font-size: 2.875rem;
  margin: 0 auto 0.5em;
  padding: 0 0.5em;
  background-image: url(../img/page/department/textline_yellow.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
}
#course #voice .cap {
  text-align: center;
  margin-bottom: 2em;
}
#course #voice .voice-wrap {
  width: 80%;
  max-width: 1350px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #course #voice .voice-wrap {
    width: 90%;
  }
}
#course #voice .voice-wrap .slick-prev, #course #voice .voice-wrap .slick-next {
  width: 50px;
  height: 50px;
  background-position: center center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
#course #voice .voice-wrap .slick-prev::before, #course #voice .voice-wrap .slick-next::before {
  display: none;
}
#course #voice .voice-wrap .slick-prev {
  background-image: url(../img/page/department/arrows_left_yellow.png);
}
#course #voice .voice-wrap .slick-next {
  background-image: url(../img/page/department/arrows_right_yellow.png);
}
#course #voice .voice-box {
  display: flex;
  justify-content: space-between;
  align-items: start;
  width: 80%;
  margin: 50px;
}
#course #voice .voice-box figure {
  width: 45%;
  position: relative;
}
#course #voice .voice-box figure figcaption .label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20%;
  max-width: 140px;
  font-weight: bold;
  font-size: clamp(1rem, 1.3095238095vw, 1.375rem);
  text-align: center;
  background-image: url(../img/page/department/voice_comment_yellow.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: -50px;
  left: -50px;
}
#course #voice .voice-box figure figcaption .catch {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
  max-width: 295px;
  aspect-ratio: 295/175;
  padding-top: 1em;
  font-weight: bold;
  font-size: clamp(1rem, 1.3095238095vw, 1.375rem);
  text-align: center;
  background-image: url(../img/page/department/voice_comment_white.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: -50px;
  right: -50px;
}
@media (max-width: 1024px) {
  #course #voice .voice-box figure figcaption .catch {
    font-size: 0.875rem;
  }
}
#course #voice .voice-box .text-box {
  width: 49%;
  padding-top: 1rem;
}
#course #voice .voice-box .text-box .title {
  display: block;
  margin-bottom: 0.5em;
  font-size: 1.5625rem;
  font-weight: bold;
}
#course #voice .voice-box .text-box p + .title {
  margin-top: 0.8em;
}
#course #voice .voice-box .text-box .alumni-card {
  display: flex;
  justify-content: space-between;
}
#course #voice .voice-box .text-box .info {
  margin-top: 1em;
  font-size: 0.9em;
}
#course #voice .voice-box .text-box .name {
  display: table;
  margin-left: auto;
  margin-top: 1em;
}
#course #voice .voice-box .text-box .name span.position {
  background-color: #FFF000;
  font-size: 0.7em;
  padding: 0.3em;
  margin-right: 0.5em;
}
#course #voice .voice-box .text-box .name small {
  display: block;
}
#course #voice .voice-box .text-box .multiple {
  display: flex;
  margin-top: 1em;
}
#course #voice .voice-box .text-box .multiple > .name {
  margin: 0;
  margin-left: 1em;
}

#course #purpose {
  text-align: center;
}
#course #purpose .ttl {
  display: table;
  font-weight: bold;
  font-size: 1.5625rem;
  background-color: #f7bc53;
  border-radius: 50px;
  padding: 0.5em 3em;
  margin: 0 auto 1.5em;
}
#course #purpose .cap {
  margin-bottom: 2em;
}
#course #purpose .unit .title {
  display: table;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 auto;
  padding-left: 1.4em;
  position: relative;
}
#course #purpose .unit .title::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: #f7bc53;
  border-radius: 50px;
  position: absolute;
  left: 0;
  top: 0.3em;
}
#course #purpose .unit + .unit {
  margin-top: 2em;
}
#course #purpose .link-btn {
  display: table;
  font-size: 1.375rem;
  margin: 3em auto 0;
  padding: 1.5em 2em;
  width: 40%;
  border: #f7bc53 solid 2px;
  position: relative;
}
#course #purpose .link-btn:hover {
  background-color: #ddd;
}
#course #purpose .link-btn:after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/page/department/arrows_right_yellow.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#course #purpose .link-btn p {
  padding: 0 2em;
}

#course #foot-info {
  margin: 0 auto;
  padding: 80px 0;
  background: #f5f5fa;
}
#course #foot-info .foot-info {
  width: 80%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5%;
}
#course #foot-info .foot-info a {
  padding: 2em;
  width: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #665aba;
}
#course #foot-info .foot-info a p {
  color: #fff;
  font-size: 1.125rem;
}
#course #foot-info .foot-info a img {
  width: 2.5em;
  margin-right: 1em;
}

#course #voice + #foot-info {
  margin-top: 80px;
}

/*------------------------------------------*/
/*幼児教育保育学科
/*------------------------------------------*/
#page #course #page-caption ul.sns {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 20px;
}
#page #course #page-caption ul.sns li {
  width: 60px;
}
#page #course #programs h4.title {
  color: #f7bc53;
  font-size: 1.5625rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1em;
}
#page #course #programs p.text {
  text-align: center;
  font-size: 1.125rem;
  margin-bottom: 2em;
}
#page #course #programs .programs-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 1.3333333333%;
}
#page #course #programs .programs-list .unit {
  background-color: rgba(247, 188, 83, 0.1);
  padding: 2em;
  width: 32%;
  max-width: 500px;
}
#page #course #programs .programs-list .unit h5.title {
  display: table;
  font-size: 1.25rem;
  font-weight: bold;
  background-color: #f7bc53;
  border-radius: 40px;
  margin: 1em auto;
  padding: 0.3em 1em;
}
#page #course #programs a.link-btn {
  display: table;
  font-size: 1.25rem;
  margin: 3em auto 0;
  padding: 1.5em 2em;
  width: 40%;
  border: #f7bc53 solid 2px;
  position: relative;
}
#page #course #programs a.link-btn::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/page/department/arrows_right_yellow.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#page #course #programs a.link-btn p {
  text-align: center;
  padding: 0 2em;
}
#page #course #programs a.link-btn:hover {
  background-color: #ddd;
}
#page #course #schedule .schedule-box {
  background-color: rgba(247, 188, 83, 0.1);
  padding: 2em;
}
#page #course #schedule .schedule-box:not(:last-of-type) {
  margin-bottom: 40px;
}
#page #course #schedule .schedule-box h4.title {
  display: table;
  width: fit-content;
  font-size: 1.25rem;
  font-weight: bold;
  background-color: #f7bc53;
  border-radius: 40px;
  padding: 0.3em 1em;
  margin: 0 auto 1em;
}

/*
コース別カラー指定
*/
/*yellow*/
#course .yellow #mv .en,
#course .yellow .slick-prev:before,
#course .yellow .slick-next:before,
#course .yellow #news > .ttl {
  color: #f7bc53;
}
#course .yellow .ttl-2,
#course .yellow #page-caption .anchor-links > a,
#course .yellow #license #career .title,
#course .yellow #purpose .link-btn,
#course .yellow .link-list.related-links li a {
  border-color: #f7bc53;
}
#course .yellow #license .license-box .unit .title,
#course .yellow #license .lesson_pickup .unit .inner .number,
#course .yellow #license .lesson_pickup .unit .inner ul li::before,
#course .yellow #license ul.license-list li::before,
#course .yellow #purpose .ttl,
#course .yellow #purpose .unit .title::before,
#course .yellow #news .more-btn,
#course .yellow .link-list.related-links li a {
  background-color: #f7bc53;
}
#course .yellow #point::before,
#course .yellow #license .license-box .unit,
#course .yellow #license .lesson_pickup .unit .comment,
#course .yellow #lesson .lesson-box,
#course .yellow #voice,
#course .yellow #news {
  background-color: rgba(247, 188, 83, 0.1);
}
#course .yellow #page-caption .anchor-links > a p::after {
  background-image: url(../img/page/department/arrows_right_yellow.png);
}
#course .yellow #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_yellow.png);
}
#course .yellow #point .inner .point-list .unit:before {
  background-image: url(../img/page/department/number01_yellow.png);
}
#course .yellow #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_yellow.png);
}
#course .yellow #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_yellow.png);
}
#course .yellow #license .lesson_pickup .unit .inner::after {
  background-image: url(../img/page/department/arrows_bottom_yellow.png);
}
#course .yellow #voice .ttl {
  background-image: url(../img/page/department/textline_yellow.png);
}
#course .yellow #voice .voice-box figure figcaption .label {
  background-image: url(../img/page/department/voice_comment_yellow.png);
}
#course .yellow #purpose .link-btn:after {
  background-image: url(../img/page/department/arrows_right_yellow.png);
}
#course .yellow .slick-prev {
  background-image: url(../img/page/department/arrows_left_yellow.png);
}
#course .yellow .slick-next {
  background-image: url(../img/page/department/arrows_right_yellow.png);
}

/*orange*/
#course .orange #mv .en,
#course .orange .slick-prev:before,
#course .orange .slick-next:before,
#course .orange #news > .ttl {
  color: #F08441;
}
#course .orange .ttl-2,
#course .orange #page-caption .anchor-links > a,
#course .orange #license #career .title,
#course .orange #purpose .link-btn,
#course .orange #news > .more-btn,
#course .orange .link-list.related-links li a {
  border-color: #F08441;
}
#course .orange #license .license-box .unit .title,
#course .orange #license .lesson_pickup .unit .inner .number,
#course .orange #license .lesson_pickup .unit .inner ul li::before,
#course .orange #license ul.license-list li::before,
#course .orange #purpose .ttl,
#course .orange #purpose .unit .title::before,
#course .orange #news .more-btn,
#course .orange .link-list.related-links li a {
  background-color: #F08441;
}
#course .orange #point::before,
#course .orange #license .license-box .unit,
#course .orange #license .lesson_pickup .unit .comment,
#course .orange #lesson .lesson-box,
#course .orange #voice,
#course .orange #news {
  background-color: rgba(240, 132, 65, 0.1);
}
#course .orange #page-caption .anchor-links > a p::after {
  background-image: url(../img/page/department/arrows_right_orange.png);
}
#course .orange #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_orange.png);
}
#course .orange #point .inner .point-list .unit:before {
  background-image: url(../img/page/department/number01_orange.png);
}
#course .orange #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_orange.png);
}
#course .orange #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_orange.png);
}
#course .orange #license .lesson_pickup .unit .inner::after {
  background-image: url(../img/page/department/arrows_bottom_orange.png);
}
#course .orange #voice .ttl {
  background-image: url(../img/page/department/textline_orange.png);
}
#course .orange #voice .voice-box figure figcaption .label {
  background-image: url(../img/page/department/voice_comment_orange.png);
}
#course .orange #purpose .link-btn:after {
  background-image: url(../img/page/department/arrows_right_orange.png);
}
#course .orange .slick-prev {
  background-image: url(../img/page/department/arrows_left_orange.png) !important;
}
#course .orange .slick-next {
  background-image: url(../img/page/department/arrows_right_orange.png) !important;
}

/*green*/
#course .green #mv .en,
#course .green .slick-prev:before,
#course .green .slick-next:before,
#course .green #news > .ttl {
  color: #69BD83;
}
#course .green .ttl-2,
#course .green #page-caption .anchor-links > a,
#course .green #license #career .title,
#course .green #purpose .link-btn,
#course .green #news > .more-btn,
#course .green .link-list.related-links li a {
  border-color: #69BD83;
}
#course .green #license .license-box .unit .title,
#course .green #license .lesson_pickup .unit .inner .number,
#course .green #license .lesson_pickup .unit .inner ul li::before,
#course .green #license ul.license-list li::before,
#course .green #purpose .ttl,
#course .green #purpose .unit .title::before,
#course .green #news > .more-btn,
#course .green .link-list.related-links li a {
  background-color: #69BD83;
}
#course .green #point::before,
#course .green #license .license-box .unit,
#course .green #license .lesson_pickup .unit .comment,
#course .green #lesson .lesson-box,
#course .green #voice,
#course .green #news {
  background-color: rgba(105, 189, 131, 0.1);
}
#course .green #page-caption .anchor-links > a p::after {
  background-image: url(../img/page/department/arrows_right_green.png);
}
#course .green #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_green.png);
}
#course .green #point .inner .point-list .unit:before {
  background-image: url(../img/page/department/number01_green.png);
}
#course .green #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_green.png);
}
#course .green #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_green.png);
}
#course .green #license .lesson_pickup .unit .inner::after {
  background-image: url(../img/page/department/arrows_bottom_green.png);
}
#course .green #voice .ttl {
  background-image: url(../img/page/department/textline_green.png);
}
#course .green #voice .voice-box figure figcaption .label {
  background-image: url(../img/page/department/voice_comment_green.png);
}
#course .green #purpose .link-btn:after {
  background-image: url(../img/page/department/arrows_right_green.png);
}
#course .green .slick-prev {
  background-image: url(../img/page/department/arrows_left_green.png) !important;
}
#course .green .slick-next {
  background-image: url(../img/page/department/arrows_right_green.png) !important;
}

/*blue*/
#course .blue #mv .en,
#course .blue .slick-prev:before,
#course .blue .slick-next:before,
#course .blue #news .ttl {
  color: #557EC0;
}
#course .blue .ttl-2,
#course .blue #page-caption .anchor-links > a,
#course .blue #license #career .title,
#course .blue #purpose .link-btn,
#course .blue #news .more-btn,
#course .blue .link-list.related-links li a {
  border-color: #557EC0;
}
#course .blue #license .license-box .unit .title,
#course .blue #license .lesson_pickup .unit .inner .number,
#course .blue #license .lesson_pickup .unit .inner ul li::before,
#course .blue #license ul.license-list li::before,
#course .blue #purpose .ttl,
#course .blue #purpose .unit .title::before,
#course .blue #news .more-btn,
#course .blue .link-list.related-links li a {
  background-color: #557EC0;
}
#course .blue #point::before,
#course .blue #license .license-box .unit,
#course .blue #license .lesson_pickup .unit .comment,
#course .blue #lesson .lesson-box,
#course .blue #voice,
#course .blue #news {
  background-color: rgba(85, 126, 192, 0.1);
}
#course .blue #page-caption .anchor-links > a p::after {
  background-image: url(../img/page/department/arrows_right_blue.png);
}
#course .blue #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_blue.png);
}
#course .blue #point .inner .point-list .unit:before {
  background-image: url(../img/page/department/number01_blue.png);
}
#course .blue #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_blue.png);
}
#course .blue #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_blue.png);
}
#course .blue #license .lesson_pickup .unit .inner::after {
  background-image: url(../img/page/department/arrows_bottom_blue.png);
}
#course .blue #voice .ttl {
  background-image: url(../img/page/department/textline_blue.png);
}
#course .blue #voice .voice-box figure figcaption .label {
  background-image: url(../img/page/department/voice_comment_blue.png);
}
#course .blue #purpose .link-btn:after {
  background-image: url(../img/page/department/arrows_right_blue.png);
}
#course .blue .slick-prev {
  background-image: url(../img/page/department/arrows_left_blue.png) !important;
}
#course .blue .slick-next {
  background-image: url(../img/page/department/arrows_right_blue.png) !important;
}

/*pink*/
#page #course .pink #mv .en,
#page #course .pink #programs h4.title,
#page #course .pink .slick-prev:before,
#page #course .pink .slick-next:before,
#page #course .pink #news .ttl {
  color: #EC6D88;
}
#page #course .pink .ttl-2,
#page #course .pink #page-caption .anchor-links > a,
#page #course .pink #license #career .title,
#page #course .pink #purpose .link-btn,
#page #course .pink #programs a.link-btn,
#page #course .pink #news .more-btn,
#page #course .pink .link-list.related-links li a {
  border-color: #EC6D88;
}
#page #course .pink #license .license-box .unit .title,
#page #course .pink #license .lesson_pickup .unit .inner .number,
#page #course .pink #license .lesson_pickup .unit .inner ul li::before,
#page #course .pink #license ul.license-list li::before,
#page #course .pink #purpose .ttl,
#page #course .pink #purpose .unit .title::before,
#page #course .pink #programs .programs-list .unit h5.title,
#page #course .pink #news .more-btn,
#page #course .pink .link-list.related-links li a {
  background-color: #EC6D88;
}
#page #course .pink #point::before,
#page #course .pink #license .license-box .unit,
#page #course .pink #license .lesson_pickup .unit .comment,
#page #course .pink #lesson .lesson-box,
#page #course .pink #voice,
#page #course .pink #programs .programs-list .unit,
#page #course .pink #news {
  background-color: rgba(236, 109, 136, 0.1);
}
#page #course .pink #page-caption .anchor-links > a p::after,
#page #course .pink #programs a.link-btn::after {
  background-image: url(../img/page/department/arrows_right_pink.png);
}
#page #course .pink #page-caption .movie {
  background-image: url(../img/page/department/movie_bg_pink.png);
}
#page #course .pink #point .inner .point-list .unit:before {
  background-image: url(../img/page/department/number01_pink.png);
}
#page #course .pink #point .inner .point-list .unit:nth-child(2):before {
  background-image: url(../img/page/department/number02_pink.png);
}
#page #course .pink #point .inner .point-list .unit:nth-child(3):before {
  background-image: url(../img/page/department/number03_pink.png);
}
#page #course .pink #license .lesson_pickup .unit .inner::after {
  background-image: url(../img/page/department/arrows_bottom_pink.png);
}
#page #course .pink #voice .ttl {
  background-image: url(../img/page/department/textline_pink.png);
}
#page #course .pink #voice .voice-box figure figcaption .label {
  background-image: url(../img/page/department/voice_comment_pink.png);
}
#page #course .pink #purpose .link-btn:after {
  background-image: url(../img/page/department/arrows_right_pink.png);
}
#page #course .pink .slick-prev {
  background-image: url(../img/page/department/arrows_left_pink.png) !important;
}
#page #course .pink .slick-next {
  background-image: url(../img/page/department/arrows_right_pink.png) !important;
}

/*
===============================================================================
2024年度　学科・コース department/--
===============================================================================
*/
#course #news {
  background: url(../img/page/department/line-info.svg) repeat top left;
  background-color: #f5f5fa;
  padding: 45px 0;
  margin-top: 20px;
}
#course #news > .ttl {
  display: block;
  font-weight: bold;
  text-align: center;
  font-family: "Roboto Condensed", serif;
  margin: 0 auto 20px;
  font-size: 2.3125rem;
  color: #665aba;
}
#course #news .news-list-wrap {
  display: block;
  margin: 0 auto;
  width: 80%;
  max-width: 1350px;
}
@media (max-width: 1024px) {
  #course #news .news-list-wrap {
    width: 90%;
  }
}
#course #news .news-list-wrap .news-box {
  display: block;
  margin: 0 10px;
  background-color: #fff;
}
#course #news .news-list-wrap .news-box figure {
  display: block;
  aspect-ratio: 268/160;
  position: relative;
  overflow: hidden;
}
#course #news .news-list-wrap .news-box figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#course #news .news-list-wrap .news-box figure figcaption {
  display: table;
  color: #665aba;
  background: #f5f5fa;
  font-size: 0.8em;
  padding: 0.3em 0.3em;
  position: absolute;
  left: 0;
  bottom: 0;
}
#course #news .news-list-wrap .news-box .text {
  padding: 0.3em 0.8em;
}
#course #news .news-list-wrap .news-box .text time {
  font-size: 0.85em;
}
#course #news .news-list-wrap .news-box .text p {
  color: #665aba;
}
#course #news .news-list-wrap .slick-dots {
  bottom: -30px;
}
#course #news .news-list-wrap .slick-dots li button::before {
  color: #665aba;
  font-size: 7px;
}
#course #news .more-btn {
  padding: 0.5em;
  margin: 45px auto 0;
}

#course #career-path {
  padding-bottom: 0;
}
#course #career-path .career-path-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #fdfdfd;
  border-radius: 20px;
  border: #665aba dotted 1px;
  padding: 4em;
  margin-bottom: 60px;
}
#course #career-path .career-path-box:last-child {
  margin-bottom: 0;
}
#course #career-path .student {
  width: 35%;
  border-radius: 20px;
  overflow: hidden;
}
#course #career-path .text {
  width: 62%;
}
#course #career-path .text .career-cat {
  display: flex;
  align-items: center;
  font-size: 1.1em;
  margin-bottom: 0.5em;
}
#course #career-path .text .career-cat > span {
  background-color: #FFF000;
  padding: 0.3em 1em;
  margin-right: 1em;
}
#course #career-path .text .title {
  font-size: 1.5em;
  display: block;
  color: #665aba;
  margin-bottom: 0.3em;
}
#course #career-path .text > p {
  line-height: 1.8;
}
#course #career-path .text .name {
  display: table;
  margin-left: auto;
  padding-top: 0.2em;
}
#course #career-path .text .name p > small {
  padding-left: 0.5em;
}
#course #career-path .flow {
  width: 100%;
  padding-top: 30px;
}

#course .link-list.related-links {
  justify-content: center;
}
#course .link-list.related-links li:last-child {
  margin: 0;
}
#course .link-list.related-links li a {
  background-color: #665aba;
  display: flex;
  align-items: center;
}
#course .link-list.related-links li a p {
  color: #fff;
}
#course .link-list.related-links li a img {
  width: 2em;
  height: auto;
  margin-right: 0.8em;
}
#course .link-list.related-links li a::after {
  border-color: #fff;
}
#course .link-list.related-links.only li {
  width: auto;
  margin-right: 0;
}

#course #page-caption + #other-course {
  padding-top: 0;
}

#course #other-course .cap {
  text-align: center;
  margin-bottom: 2em;
}
#course #other-course .cap b {
  display: block;
  color: #665aba;
  font-weight: normal;
  font-size: 1.5em;
  padding-bottom: 0.5em;
}

#course .pink #other-course .cap b {
  color: #EC6D88;
}

#course .other-course-link {
  display: flex;
  justify-content: center;
  gap: 7%;
}
#course .other-course-link .unit {
  width: 28.6666666667%;
}
#course .other-course-link .unit figure {
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 1rem;
}
#course .other-course-link .unit .text {
  text-align: center;
}
#course .other-course-link .unit .text .title {
  font-size: 1.5em;
  color: #665aba;
}
#course .other-course-link .unit .text > p {
  font-size: 0.95em;
  margin: 0.8em 0 1em;
}
#course .other-course-link .unit .text a {
  display: table;
  background-color: #665aba;
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding: 0.5em 0;
  border-radius: 12px;
  position: relative;
}
#course .other-course-link .unit .text a p {
  color: #fff;
  font-size: 1.1em;
}
#course .other-course-link .unit .text a::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
}

#course .green .other-course-link .unit .title {
  color: #69BD83;
}

#course .green .other-course-link .unit .text a {
  background-color: #69BD83;
}

#course .pink .other-course-link .unit .title {
  color: #EC6D88;
}

#course .pink .other-course-link .unit .text a {
  background-color: #EC6D88;
}

#course .blue .other-course-link .unit .title {
  color: #557EC0;
}

#course .blue .other-course-link .unit .text a {
  background-color: #557EC0;
}

#course .orange .other-course-link .unit .title {
  color: #F08441;
}

#course .orange .other-course-link .unit .text a {
  background-color: #F08441;
}

#course #lesson .lesson-box .pickup {
  display: block;
  width: 25em;
  background-color: #fff;
  padding: 1.5em;
  margin-top: 1em;
  position: relative;
}
#course #lesson .lesson-box .pickup:before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 70px;
  background: url(../img/page/department/living/health/pickup_sei.svg) no-repeat center top/100% auto;
  position: absolute;
  top: -10%;
  left: -5%;
}
#course #lesson .lesson-box .pickup > b {
  color: #665aba;
}
#course #lesson .lesson-box .pickup .inner {
  display: flex;
  justify-content: space-between;
  padding-top: 1em;
}
#course #lesson .lesson-box .pickup .inner p {
  width: 46%;
  font-size: 0.9em;
}
#course #lesson .lesson-box .pickup .inner ul {
  width: 40%;
  margin-top: 0;
  margin-bottom: 0;
}
#course #lesson .lesson-box .pickup .inner ul li {
  font-size: 0.9em;
  margin: 0;
}
#course #lesson .lesson-box .pickup .inner figure {
  width: 50%;
  height: auto;
}

#course-unit {
  margin-top: 80px;
}
#course-unit p + .table-def {
  margin-top: 1.2em;
}

/*
===============================================================================
2024年度　学科・コース デジタルライフビジネス学科　department/dlb
===============================================================================
*/
#course #dx p {
  line-height: 2;
}
#course #dx p b {
  background: linear-gradient(transparent 60%, #fff36d 60%);
}

.dlb-detail-01 {
  display: flex;
  gap: 30px;
  position: relative;
}
.dlb-detail-01:before {
  content: "";
  display: block;
  background: url(../img/page/department/arrows_bottom_orange.png) no-repeat center bottom/100% auto;
  width: 150px;
  height: 50px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.dlb-detail-01 .unit {
  width: calc((100% - 60px) / 3);
  margin: 30px auto 20px;
  background-color: #f2f2f2;
  padding: 1.5em 1.5em 2em;
  position: relative;
}
.dlb-detail-01 .unit:nth-child(1) {
  background-color: rgba(45, 158, 167, 0.3);
}
.dlb-detail-01 .unit:nth-child(2) {
  background-color: rgba(212, 95, 86, 0.3);
}
.dlb-detail-01 .unit:nth-child(3) {
  background-color: rgba(154, 175, 0, 0.3);
}
.dlb-detail-01 .unit .title {
  font-size: 1.5em;
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.dlb-detail-01 .txt01, .dlb-detail-01 .txt02 {
  display: flex;
  align-items: center;
  justify-content: center;
  border: #F08441 solid 1px;
  background-color: #F08441;
  text-align: center;
  width: 80px;
  font-size: 0.9em;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.dlb-detail-01 .txt01 p, .dlb-detail-01 .txt02 p {
  color: #fff;
  text-align: center;
}
.dlb-detail-01 .txt01 {
  position: absolute;
  bottom: -40px;
  left: -30px;
  z-index: 5;
}
.dlb-detail-01 .txt02 {
  position: absolute;
  bottom: -40px;
  right: -30px;
  z-index: 5;
}

.dlb-detail-02 .unit {
  background-color: rgba(144, 107, 156, 0.3);
  display: flex;
  align-items: center;
  width: 80%;
  margin: 30px auto 0;
  border-radius: 12px;
  padding: 2em;
  position: relative;
}
.dlb-detail-02 .unit:nth-child(1):before {
  content: "";
  display: block;
  background: url(../img/page/department/arrows_bottom_orange.png) no-repeat center center/100% auto;
  width: 150px;
  height: 50px;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.dlb-detail-02 .unit:nth-child(2) {
  background-color: rgba(245, 123, 0, 0.3);
}
.dlb-detail-02 .unit .title {
  width: 40%;
  margin-right: 1em;
  text-align: center;
  font-weight: bold;
  font-size: 1.5em;
}

#course #dlb-practice .dlb-practice-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#course #dlb-practice .dlb-practice-wrap .unit {
  width: calc((100% - 100px) / 3);
  margin-top: 30px;
  margin-right: 50px;
  background-color: rgba(245, 123, 0, 0.1);
  padding: 2em;
  border-radius: 12px;
}
#course #dlb-practice .dlb-practice-wrap .unit:nth-child(-n+3) {
  margin-top: 0;
}
#course #dlb-practice .dlb-practice-wrap .unit:nth-child(3n) {
  margin-right: 0;
}
#course #dlb-practice .dlb-practice-wrap .unit .title {
  display: table;
  margin: 0 auto;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  background: linear-gradient(transparent 70%, #ffe100 70%);
}
#course #dlb-practice .dlb-practice-wrap .unit .pickup {
  display: block;
  background-color: #fff;
  color: #F08441;
  border-radius: 12px;
  font-size: 1.2em;
  line-height: 1.2;
  text-align: center;
  padding: 0.5em 1em;
  margin: 0.7em 0;
}
#course #dlb-practice .dlb-practice-wrap .unit .text {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: #ddd solid 1px;
}

#two-years-flow .inner {
  background-color: rgba(245, 123, 0, 0.1);
  margin-bottom: 40px;
  border-radius: 12px;
  padding: 2em;
}
#two-years-flow .inner p b {
  color: #F08441;
  display: block;
  text-align: center;
  padding: 1em;
  font-size: 1.3em;
}
#two-years-flow .inner .two-years {
  display: flex;
  justify-content: space-between;
}
#two-years-flow .inner .two-years p {
  width: 70%;
}
#two-years-flow .inner .two-years ul.course-name {
  width: 28%;
}
#two-years-flow .inner .two-years ul.course-name li {
  background-color: #F08441;
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin: 10px 0;
  padding: 1.5em;
  border-radius: 12px;
}

#future .ttl {
  font-size: 1.2rem;
  font-feature-settings: "palt";
  font-weight: bold;
  color: #F08441;
  margin-bottom: 0.8em;
}

#future .future-wrap {
  display: flex;
  gap: 30px;
}
#future .future-wrap .unit {
  width: calc((100% - 90px) / 4);
  border: #F08441 solid 1px;
  border-radius: 12px;
}
#future .future-wrap .unit .comment {
  background-color: rgba(245, 123, 0, 0.1);
  padding: 1em;
  font-weight: bold;
  border-radius: 12px 12px 0 0;
  text-align: center;
}
#future .future-wrap .unit ul.disc-list {
  margin: 1em 3em;
}
#future .future-wrap .unit ul.disc-list li {
  margin: 0;
}
#future .future-wrap .unit ul.disc-list li::marker {
  color: #F08441;
}

#lesson-schedule .schedule {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  width: 80%;
  margin: 0 auto;
  background-color: rgba(245, 123, 0, 0.1);
  border-radius: 12px;
  font-size: 1.1em;
  padding: 1em;
  position: relative;
}
#lesson-schedule .schedule::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 10px 0 10px;
  border-color: #F08441 transparent transparent transparent;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
#lesson-schedule .schedule > span {
  background-color: #FFF000;
  padding: 0.5em 1em;
  margin-right: 1em;
}
#lesson-schedule .txt01 {
  text-align: center;
  color: #F08441;
  font-weight: bold;
  padding: 1em 0;
}
#lesson-schedule .select-course {
  display: flex;
  align-items: stretch;
  width: 80%;
  margin: 0 auto;
  gap: 30px;
}
#lesson-schedule .select-course .unit {
  display: flex;
  flex-direction: column;
  width: calc((100% - 60px) / 3);
  border: #F08441 solid 1px;
  padding: 0.5em 0.5em;
}
#lesson-schedule .select-course .unit .pickup {
  font-weight: bold;
  color: #F08441;
  border-top: #F08441 solid 1px;
  font-size: 1.05em;
  text-align: center;
  padding-top: 30px;
  position: relative;
}
#lesson-schedule .select-course .unit .pickup::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 10px 0 10px;
  border-color: #F08441 transparent transparent transparent;
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  margin: auto;
}
#lesson-schedule .select-course .unit ul.disc-list {
  flex: 1;
  margin-bottom: 1em;
}
#lesson-schedule .select-course .unit ul.disc-list li {
  font-size: 0.92em;
  margin: 0;
}
#lesson-schedule .select-course .unit ul.disc-list li::marker {
  color: #F08441;
}

#course .point-text-list {
  display: table;
  margin: 0 auto;
}
#course .point-text-list .unit {
  display: block;
  margin-top: 2.5em;
  padding-left: 5.5em;
  position: relative;
}
#course .point-text-list .unit::before {
  content: "";
  display: block;
  width: 5em;
  aspect-ratio: 1/1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#course .point-text-list .unit:nth-child(1)::before {
  background-image: url(../img/page/department/number01_yellow.png);
}
#course .point-text-list .unit:nth-child(2)::before {
  background-image: url(../img/page/department/number02_yellow.png);
}
#course .point-text-list .unit:nth-child(3)::before {
  background-image: url(../img/page/department/number03_yellow.png);
}
#course .point-text-list .unit .title {
  display: block;
  font-weight: bold;
  font-size: 1.5625rem;
  margin-top: 0.8em;
  margin-bottom: 0.3em;
  position: relative;
  z-index: 5;
}
#course .point-text-list .unit:first-child {
  margin-top: 0;
}

#course .green .point-text-list .unit:nth-child(1)::before {
  background-image: url(../img/page/department/number01_green.png);
}
#course .green .point-text-list .unit:nth-child(2)::before {
  background-image: url(../img/page/department/number02_green.png);
}
#course .green .point-text-list .unit:nth-child(3)::before {
  background-image: url(../img/page/department/number03_green.png);
}

#course .blue .point-text-list .unit:nth-child(1)::before {
  background-image: url(../img/page/department/number01_blue.png);
}
#course .blue .point-text-list .unit:nth-child(2)::before {
  background-image: url(../img/page/department/number02_blue.png);
}
#course .blue .point-text-list .unit:nth-child(3)::before {
  background-image: url(../img/page/department/number03_blue.png);
}

#course .orange .point-text-list .unit:nth-child(1)::before {
  background-image: url(../img/page/department/number01_orange.png);
}
#course .orange .point-text-list .unit:nth-child(2)::before {
  background-image: url(../img/page/department/number02_orange.png);
}
#course .orange .point-text-list .unit:nth-child(3)::before {
  background-image: url(../img/page/department/number03_orange.png);
}

#course .pink .point-text-list .unit:nth-child(1)::before {
  background-image: url(../img/page/department/number01_pink.png);
}
#course .pink .point-text-list .unit:nth-child(2)::before {
  background-image: url(../img/page/department/number02_pink.png);
}
#course .pink .point-text-list .unit:nth-child(3)::before {
  background-image: url(../img/page/department/number03_pink.png);
}

/*
===============================================================================
学科・コース TOP department
===============================================================================
*/
#department .course-img {
  display: block;
  margin-bottom: 50px;
}

/*
===============================================================================
2024年度入学生　学科・コース TOP department/index2024
===============================================================================
*/
#page #course2024 {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  max-width: 1170px;
  margin: 0 auto;
  gap: 5%;
}
#page #course2024 .course {
  width: 47.5%;
  margin-top: 5%;
}
#page #course2024 .course:nth-child(-n+2) {
  margin-top: 0;
}
#page #course2024 .course a:hover {
  opacity: 0.8;
}
#page #course2024 .course .title {
  background-color: #000;
  color: #fff;
  font-size: 1.4em;
  padding: 0.5em 0;
  text-align: center;
}
#page #course2024 .course.living .title {
  background-color: #77be2f;
}
#page #course2024 .course.child .title {
  background-color: #fe577e;
}
#page #course2024 .course.business .title {
  background-color: #3273dd;
}
#page #course2024 .course.dlb .title {
  background-color: #f57b00;
}
#page #course2024 ul.link-list {
  margin-top: 0;
}
#page #course2024 ul.link-list li {
  width: 100%;
  margin: 0;
  margin-top: 10px;
}
#page #course2024 .living ul.link-list li a,
#page #course2024 .living ul.link-list li a::after {
  border-color: #77be2f;
}
#page #course2024 .child ul.link-list li a,
#page #course2024 .child ul.link-list li a::after {
  border-color: #fe577e;
}
#page #course2024 .business ul.link-list li a,
#page #course2024 .business ul.link-list li a::after {
  border-color: #3273dd;
}
#page #course2024 .dlb ul.link-list li a,
#page #course2024 .dlb ul.link-list li a::after {
  border-color: #f57b00;
}

/*
===============================================================================
幼児教育保育学科の
長期履修学生制度（３年制）について department/long_course
===============================================================================
*/
#long_course #fee .ttl-3 {
  margin-top: 1.5em;
}
#long_course #fee table {
  text-align: center;
  margin-bottom: 0.3em;
}
#long_course #fee table td.bg01 {
  background-color: #fdf0f3;
}
#long_course #fee table .strong {
  font-size: 1.2em;
  font-weight: bold;
  position: relative;
}
#long_course #fee table .strong .impact {
  font-size: 0.8rem;
  position: absolute;
  left: -10px;
  top: -15px;
  width: 100px;
  height: 100px;
  aspect-ratio: 1;
  background: #ff0000;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
#long_course #fee table .strong .impact p {
  color: #fff;
  text-align: center;
  font-weight: 400;
}
#long_course #fee table .strong .impact p span {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
}

#long_course .schedule-img {
  display: flex;
  justify-content: space-between;
  margin: 2em 0 0.5em;
}
#long_course .schedule-img img {
  width: 48%;
  height: auto;
}

#long_course #scholarship .disc-list {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-left: 3em;
}
#long_course #scholarship .contact {
  display: table;
  line-height: 1.8;
  margin-top: 2em;
  border: #ddd solid 1px;
  padding: 1em 2em;
}

/*
===============================================================================
共通科目 department/general
===============================================================================
*/
#general .text-center {
  text-align: center;
  line-height: 2;
}
#general .pickup-box {
  display: flex;
  gap: 50px;
}
#general .pickup-box .unit {
  width: calc((100% - 100px) / 3);
  border: #665aba solid 1px;
  box-shadow: 8px 8px 0 #665aba;
  padding: 1.5em 2em;
}
#general .pickup-box .unit .title {
  display: block;
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #665aba;
}
#general .table-def table tr th {
  width: 25%;
}
#general .table-def table tr th, #general .table-def table tr td {
  padding: 1.5em 1em;
}

/*
===============================================================================
数理・データサイエンス・AI教育プログラム（リテラシーレベル）認定
（認定有効期限：令和9年3月31日まで） department/program
===============================================================================
*/
#page .content#program #intro {
  margin-bottom: 80px;
}

.content#program section.section-box {
  padding: 0 !important;
}
.content#program section.section-box:last-child {
  padding-bottom: 140px !important;
}
.content#program section.section-box .ttl-1 {
  margin-bottom: 20px;
}
.content#program section.section-box div + .ttl-3 {
  margin-top: 40px;
}

.content#program .logo .inner {
  display: flex;
  justify-content: space-around;
}
.content#program .logo .inner .textbox {
  width: 55%;
}
.content#program .logo .inner .textbox .link-text-list {
  margin-top: 1em;
}
.content#program .logo .inner .logo-img {
  width: 40%;
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 1em 0;
}
.content#program .logo .inner .logo-img figure {
  width: 20%;
}
.content#program .logo .inner .logo-img figure img {
  display: block;
  width: 100%;
  height: auto;
}

.content#program .course-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
}
.content#program .course-list .txt-box {
  width: 49%;
  margin-top: 2%;
  border-radius: 12px;
  padding: 1em 2em;
}
.content#program .course-list .txt-box * {
  color: #fff;
}
.content#program .course-list .txt-box:nth-child(-n+2) {
  margin-top: 0;
}
.content#program .course-list .txt-box p {
  font-size: 1.2em;
  font-weight: bold;
  border-bottom: #fff solid 1px;
  padding-bottom: 0.5em;
  margin-bottom: 0.4em;
}
.content#program .course-list .txt-box .disc-list {
  margin-top: 0.5em;
  margin-bottom: 0;
}
.content#program .course-list .txt-box .disc-list li {
  margin-bottom: 0;
}
.content#program .course-list .txt-box .disc-list li::marker {
  color: #fff;
}

.content#program .txt-area_dlb {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}
.content#program .txt-area_dlb .txt-box {
  border-radius: 12px;
  margin-bottom: 20px;
  padding: 1em 2em;
}
.content#program .txt-area_dlb .txt-box:first-child {
  width: calc((100% - 20px) / 2);
}
.content#program .txt-area_dlb .txt-box:nth-child(2) {
  width: calc((100% - 20px) / 2);
}
.content#program .txt-area_dlb .txt-box:last-child {
  width: 100%;
  margin-bottom: 0;
}
.content#program .txt-area_dlb .txt-box p {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.2;
}
.content#program .txt-area_dlb .txt-box .disc-list {
  margin-top: 0.5em;
  margin-bottom: 0;
}
.content#program .txt-area_dlb .txt-box .disc-list li {
  margin-bottom: 0;
}

.content#program .completion-requirements {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}
.content#program .completion-requirements .course {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 78%;
}
.content#program .completion-requirements .course .txt-box {
  width: calc((100% - 10px) / 2);
  border-radius: 12px;
  padding: 1em 1em;
}
.content#program .completion-requirements .course .txt-box.w100 {
  width: 100%;
}
.content#program .completion-requirements .course .txt-box > p {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: #fff solid 1px;
}
.content#program .completion-requirements .course .txt-box ul.disc-list {
  margin-top: 0;
  margin-bottom: 0;
}
.content#program .completion-requirements .course .txt-box ul.disc-list li {
  margin-bottom: 0.3em;
  font-size: 0.95em;
}
.content#program .completion-requirements .txt {
  display: flex;
  align-items: center;
}
.content#program .completion-requirements .txt p {
  font-size: 1.2em;
  font-weight: bold;
}
.content#program .completion-requirements .txt p > span {
  display: block;
  font-size: 1.2em;
}
.content#program .completion-requirements .txt::before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  transform: rotate(-90deg);
  background: url(../img/page/department/program/arr-down_degi.svg) no-repeat center center/100% auto;
}

.content#program .living {
  background-color: #77be2f;
}
.content#program .living * {
  color: #fff;
}
.content#program .living .disc-list li::marker {
  color: #fff;
}
.content#program .child {
  background-color: #fe577e;
}
.content#program .child * {
  color: #fff;
}
.content#program .child .disc-list li::marker {
  color: #fff;
}
.content#program .business {
  background-color: #3273dd;
}
.content#program .business * {
  color: #fff;
}
.content#program .business .disc-list li::marker {
  color: #fff;
}
.content#program .dlb {
  background-color: #f57b00;
}
.content#program .dlb * {
  color: #fff;
}
.content#program .dlb .disc-list li::marker {
  color: #fff;
}
.content#program .business_life01 {
  background: linear-gradient(30deg, rgba(250, 190, 0, 0.3) 0%, rgba(250, 190, 0, 0.3) 50%, rgba(105, 189, 131, 0.3) 50%);
}
.content#program .business_life02 {
  background: linear-gradient(30deg, rgba(85, 126, 192, 0.3) 0%, rgba(85, 126, 192, 0.3) 50%, rgba(240, 132, 65, 0.3) 50%);
}
.content#program .childhood {
  background: rgba(236, 109, 136, 0.3);
}

.content#program #program-curriculum .ttl-style {
  font-size: 1.1em;
  color: #665aba;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 0.3em;
}
.content#program #program-curriculum .table-def {
  width: 90%;
  margin: 0 auto;
}
.content#program #program-curriculum .more-btn {
  margin: 30px auto 0;
  font-size: 1.1em;
}

.content#program #curriculum-mapping .ttl-style {
  font-size: 1.15em;
  color: #665aba;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 0.5em;
}
.content#program #curriculum-mapping table + .ttl-3,
.content#program #curriculum-mapping table + .ttl-style {
  margin-top: 40px;
}
.content#program #curriculum-mapping table.black {
  width: 90%;
  margin: 0 auto;
}
.content#program #curriculum-mapping table.black th,
.content#program #curriculum-mapping table.black td {
  padding: 0.6em 0.2em;
  text-align: center;
}
.content#program #curriculum-mapping table.black td.left {
  text-align: left;
}
.content#program #curriculum-mapping table.black tr:first-child th,
.content#program #curriculum-mapping table.black tr:first-child td {
  background-color: #f0f0f0;
}

table.black {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}
table.black th {
  background-color: #fff;
}
table.black th,
table.black td {
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
}
table.black .bottom-border {
  border-bottom: 1px solid rgb(105, 105, 105);
}
table.black .th_type01 {
  font-size: 1.3rem;
  line-height: 1.4;
}
table.black .slash {
  background: linear-gradient(to right top, transparent calc(50% - 0.5px), #000 50%, #000 calc(50% + 0.5px), transparent calc(50% + 1px));
  position: relative;
}
table.black .slash .txt01 {
  position: absolute;
  right: 10px;
  top: 0;
}
table.black .slash .txt02 {
  position: absolute;
  left: 10px;
  bottom: 0;
}

.content#program #project-structure img.route {
  display: block;
  margin: 0 auto 1rem;
  width: 100%;
  max-width: 1000px;
}

.content#program #certificate .mail {
  display: block;
  margin: 1em 0 0.5em;
}

/*
===============================================================================
お知らせ　news
===============================================================================
*/
.top-news__list {
  padding: 0;
  list-style: none;
}

.top-news__item {
  border-bottom: 1px solid #ddd7dc;
}

.top-news__link {
  display: grid;
  grid-template-columns: 92px 117px 10em 1fr;
  gap: 18px;
  align-items: center;
  padding: 14px 0;
  color: inherit;
  text-decoration: none;
}

.top-news__date {
  font-size: 0.8125rem;
  line-height: 1;
  white-space: nowrap;
}

.top-news__thumb {
  overflow: hidden;
  background: #ece7ea;
  aspect-ratio: 96/62;
}

.top-news__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-news__tag {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  color: #665aba;
  background: #f5f5fa;
  border-radius: 999px;
  padding: 0.4em 0.8em;
}

.top-news__text {
  min-width: 0;
  font-size: 1.125rem;
  line-height: 1.7;
}

.top-news__more {
  margin-top: 40px;
  text-align: center;
}

.top-news__more a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15.5em;
  padding: 1.2em 1.5em;
  padding-right: 2.2em;
  border: 1.5px solid #6a63c9;
  border-radius: 999px;
  background: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s ease;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}
.category-list li {
  width: 19.2%;
  border: #665aba solid 1px;
  margin-top: 1%;
}
.category-list li a {
  display: block;
  padding: 1em;
  text-align: center;
  font-size: 0.9em;
}
.category-list li a:hover {
  background-color: #665aba;
}
.category-list li a:hover p {
  color: #fff;
}

.data-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px;
}
.data-list li {
  margin-top: 2%;
}
.data-list li:after {
  content: "/";
  margin: 0 1em;
}
.data-list li a {
  text-align: center;
  color: #665aba;
  font-size: 1.1em;
  text-decoration: underline;
}

.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.pagination {
  margin-top: 40px;
}
.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.pagination .page-numbers {
  display: inline-block;
  padding: 8px 12px;
  font-size: 0.9em;
  border: 1px solid #665aba;
}
.pagination .page-numbers.current {
  background: #665aba;
  color: #fff;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  font-weight: bold;
}

/*
===============================================================================
News POST
===============================================================================
*/
#page #news .data {
  text-align: right;
  font-size: 0.95em;
  margin-top: -20px;
}
#page #news .data a.category {
  margin-left: 1em;
  text-decoration: underline;
  color: #665aba;
  background: #f5f5fa;
  border-radius: 999px;
  padding: 0.4em 0.8em;
}

.blog-box {
  display: table;
  width: 100%;
  margin: 20px auto 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.blog-box img,
.blog-box iframe {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 10px 0;
}

.blog-box img {
  display: inline-block;
}

.blog-box img.aligncenter {
  display: block;
  text-align: center;
  margin: 10px auto;
}

.blog-box p + p {
  margin-top: 1em;
}
.blog-box p + h1, .blog-box p + h2, .blog-box p + h3 {
  margin-top: 40px;
}

.blog-box a {
  text-decoration: underline;
  color: blue;
}

.blog-box h1,
.blog-box h2,
.blog-box h3,
.blog-box h4,
.blog-box h5,
.blog-box h6 {
  font-style: auto;
  font-weight: auto;
  line-height: 140%;
}

.blog-box h1 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  background: #f2f2f2;
  padding: 15px 25px;
  margin-bottom: 20px;
}
.blog-box h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  border-left: 8px solid #665aba;
  padding: 2px 20px;
  margin-bottom: 30px;
}
.blog-box h3 {
  font-size: 1.2rem;
  font-feature-settings: "palt";
  font-weight: bold;
}
.blog-box h3:after {
  display: block;
  content: "";
  background-color: #665aba;
  height: 2px;
  width: 2.5em;
  margin: 0.2em 0 0.8em;
}

.single-pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  padding-top: 40px;
  border-top: #665aba solid 1px;
}
.single-pagination a {
  display: inline-block;
  padding: 0.5em 1.5em;
  margin: 0 0.5em;
  border-radius: 9999px;
  border: 1px solid #665aba;
  text-decoration: none;
  color: #000;
  font-size: 0.9em;
  transition: 0.3s;
}
.single-pagination a:hover {
  background: #f5f5f5;
}

/*
===============================================================================
キャリアサポート　career/careersupport/
===============================================================================
*/
#careersupport .program-wrap {
  display: block;
  width: 80%;
  max-width: 800px;
  margin: 50px auto 0;
}
#careersupport .program-wrap .program-box {
  display: block;
  background-color: #fff;
  border-radius: 20px;
  border: 1px solid #64b6c8;
  padding: 2em;
  margin: 0 auto 80px;
  position: relative;
}
#careersupport .program-wrap .program-box::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: -20px;
  right: -20px;
  border-radius: 20px;
  background: url(../img/page/career/careersupport/mesh_blue.svg) repeat center center/100% auto;
  z-index: -1;
}
#careersupport .program-wrap .program-box::after {
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -25px;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 15px 0 15px;
  border-color: #64b6c8 transparent transparent transparent;
}
#careersupport .program-wrap .program-box:last-child::after {
  display: none;
}
#careersupport .program-wrap .program-box .circle-arr {
  width: 6em;
  height: 6em;
  border-radius: 50%;
  background-color: #fff500;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -4.5em;
  left: -4em;
}
#careersupport .program-wrap .program-box .circle-arr p {
  font-size: 1.05rem;
  font-weight: bold;
  line-height: 1.4;
}
#careersupport .program-wrap .program-box .circle-arr::after {
  content: "";
  position: absolute;
  transform: rotate(315deg);
  bottom: -3px;
  right: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 10px 0 10px;
  border-color: #fff500 transparent transparent transparent;
}
#careersupport .program-wrap .program-box .period {
  white-space: nowrap;
  color: #64b6c8;
  background-color: #fff;
  padding: 0.3em 1.5em;
  font-size: 1.3em;
  font-weight: bold;
  position: absolute;
  top: -1.5em;
  left: 5%;
}
#careersupport .program-wrap .program-box .period span {
  font-size: 1.2em;
  color: #64b6c8;
}
#careersupport .program-wrap .program-box .inner {
  display: flex;
  justify-content: space-between;
}
#careersupport .program-wrap .program-box .inner .text-box {
  display: block;
  width: 60%;
}
#careersupport .program-wrap .program-box .inner .text-box .title {
  display: table;
  background-color: #64b6c8;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  padding: 0.2em 1em;
  margin: 0 0 0.5em;
}
#careersupport .program-wrap .program-box .inner .text-box p {
  line-height: 1.8;
}
#careersupport .program-wrap .program-box .inner .text-box .text-img {
  display: block;
  width: 70%;
  margin: 20px 0 0;
}
#careersupport .program-wrap .program-box .inner figure {
  width: 30%;
  margin: 20px auto 0;
}

#careersupport .program-wrap .program-box.pink {
  border-color: #ec6d74;
}
#careersupport .program-wrap .program-box.pink .period {
  color: #ec6d74;
}
#careersupport .program-wrap .program-box.pink .period span {
  color: #ec6d74;
}
#careersupport .program-wrap .program-box.pink .inner .text-box .title {
  background-color: #ec6d74;
}
#careersupport .program-wrap .program-box.pink::before {
  background: url(../img/page/career/careersupport/mesh_pink.svg) no-repeat center center/100% auto;
}
#careersupport .program-wrap .program-box.pink::after {
  border-color: #ec6d74 transparent transparent transparent;
}

#careersupport #supportcenter .inner {
  display: flex;
  justify-content: space-between;
}
#careersupport #supportcenter .inner figure {
  width: 30%;
  border-radius: 12px;
  overflow: hidden;
}
#careersupport #supportcenter .inner .text {
  width: 67%;
  line-height: 2;
}

#careersupport #support-policy .policy-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 2em;
}
#careersupport #support-policy .policy-wrap .unit {
  width: 48%;
  border: #665aba solid 1px;
  border-radius: 12px;
  padding: 2em 2.5em;
}
#careersupport #support-policy .policy-wrap .unit .disc-list li {
  margin: 0;
}

/*
===============================================================================
就職状況　career/carrierdata/
===============================================================================
*/
#carrierdata .main-img {
  display: block;
  width: 100%;
  margin-bottom: 80px;
  position: relative;
}
#carrierdata .main-img > img.bg {
  display: block;
  width: 100%;
  height: auto;
  z-index: 1;
}
#carrierdata .main-img .employment-rate {
  display: flex;
  justify-content: space-between;
  width: 80%;
  max-height: 1350px;
  height: 70%;
  z-index: 3;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
#carrierdata .main-img .employment-rate > img {
  display: block;
  width: 35%;
  height: auto;
}

#carrierdata .graph-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
#carrierdata .graph-list li {
  width: calc((100% - 60px) / 3);
}
#carrierdata .graph-list li p {
  text-align: center;
  padding-bottom: 1em;
}
#carrierdata .graph-list li p span {
  display: block;
  font-size: 1.2em;
}

#carrierdata #placement-list .anchor-link-list a:nth-child(-n+3) {
  margin-top: 0 !important;
}
#carrierdata #placement-list .anchor-link-list a p {
  text-align: center;
  font-size: 0.8em;
  line-height: 1.5;
}
#carrierdata #placement-list .anchor-link-list a p b {
  display: block;
  font-weight: normal;
  font-size: 1.4em;
}
#carrierdata #placement-list .job-placement {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
}
#carrierdata #placement-list .job-placement .title {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  border-radius: 999px;
  border: #665aba solid 1px;
  padding: 0.8em 0;
  margin-bottom: 20px;
  position: relative;
}
#carrierdata #placement-list .job-placement .title::after {
  content: "";
  display: block;
  background-color: #4e62a4;
  border-radius: 999px;
  width: 99%;
  height: 88%;
  border-radius: 999px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}
#carrierdata #placement-list .job-placement .title p {
  position: relative;
  z-index: 5;
}
#carrierdata #placement-list .job-placement .title p span {
  padding-left: 1em;
  font-size: 1.1em;
}
#carrierdata #placement-list .job-placement .sub-title {
  display: block;
  border-bottom: #665aba solid 1px;
  text-align: center;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
  padding-bottom: 0.3em;
  font-size: 1.2em;
  color: #665aba;
}
#carrierdata #placement-list .job-placement .sub-title + p {
  width: 98%;
  line-height: 2;
  margin: 0 auto;
}

#carrierdata #placement-list .job-placement#health .title {
  border-color: #f7bc53;
}
#carrierdata #placement-list .job-placement#health .title:after {
  background-color: rgba(247, 188, 83, 0.1);
}
#carrierdata #placement-list .job-placement#health .sub-title {
  color: #f7bc53;
  border-color: #f7bc53;
}
#carrierdata #placement-list .job-placement#seika .title {
  border-color: #69BD83;
}
#carrierdata #placement-list .job-placement#seika .title:after {
  background-color: rgba(105, 189, 131, 0.1);
}
#carrierdata #placement-list .job-placement#seika .sub-title {
  color: #69BD83;
  border-color: #69BD83;
}
#carrierdata #placement-list .job-placement#medical .title {
  border-color: #557EC0;
}
#carrierdata #placement-list .job-placement#medical .title:after {
  background-color: rgba(85, 126, 192, 0.1);
}
#carrierdata #placement-list .job-placement#medical .sub-title {
  color: #557EC0;
  border-color: #557EC0;
}
#carrierdata #placement-list .job-placement#biz .title {
  border-color: #F08441;
}
#carrierdata #placement-list .job-placement#biz .title:after {
  background-color: rgba(240, 132, 65, 0.1);
}
#carrierdata #placement-list .job-placement#biz .sub-title {
  color: #F08441;
  border-color: #F08441;
}
#carrierdata #placement-list .job-placement#child .title {
  border-color: #EC6D88;
}
#carrierdata #placement-list .job-placement#child .title:after {
  background-color: rgba(236, 109, 136, 0.1);
}
#carrierdata #placement-list .job-placement#child .sub-title {
  color: #EC6D88;
  border-color: #EC6D88;
}

/*
===============================================================================
四年制大学への「編入学」 career/incorporation
===============================================================================
*/
#incorporation .flow-img {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#incorporation .flow-img small {
  display: block;
  text-align: right;
  padding-top: 1em;
}
#incorporation #student {
  display: flex;
  justify-content: space-between;
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}
#incorporation #student .student-box {
  display: block;
  width: 47%;
  background-color: #f5f5fa;
  padding: 3em 3em;
}
#incorporation #student .student-box figure {
  display: block;
  border-radius: 12px 12px 0 0;
  margin-bottom: 20px;
  overflow: hidden;
  position: relative;
}
#incorporation #student .student-box figure figcaption {
  display: table;
  border-radius: 12px 0 0 0;
  background-color: #fff;
  padding: 0.8em 1em;
  margin: -2em auto 0;
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 0;
}
#incorporation #student .student-box figure figcaption .name {
  display: block;
  font-size: 1.3em;
  padding-bottom: 0.2em;
}
#incorporation #student .student-box figure figcaption .text {
  font-size: 0.85em;
  display: block;
}
#incorporation #student .student-box figure figcaption .text span {
  display: block;
}
#incorporation #student .student-box .c-box {
  display: block;
  line-height: 2;
}
#incorporation #student .student-box .c-box .tit {
  display: block;
  text-align: center;
  background-color: #665aba;
  color: #fff;
  padding: 0.3em 0.5em;
  line-height: 1.8;
  font-size: 1.3em;
  margin-bottom: 0.7em;
}

/*
===============================================================================
資格取得支援 career/qualification
===============================================================================
*/
#qualification .document-img {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
  border: #665aba solid 1px;
}
#qualification .document-img small {
  display: block;
  text-align: right;
  padding: 1em;
}

/*
===============================================================================
採用情報　recruit
===============================================================================
*/
.content#recruit .table-def table tr th {
  width: 15em;
}

/*
===============================================================================
合格者向け特設サイト /startguide/
===============================================================================
*/
#page #startguide table td {
  text-align: center;
}

#page #startguide #main-img {
  width: 100%;
  height: 100vh;
  min-height: 720px;
  max-height: 800px;
  background: url(../img/page/startguide/main.jpg) no-repeat center bottom/100% auto;
  position: relative;
}
#page #startguide #main-img::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line01.png) no-repeat top center/auto 100%;
  position: absolute;
  top: -10vw;
  left: 0;
}
#page #startguide #main-img::after {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line02.png) no-repeat top center/auto 100%;
  position: absolute;
  bottom: -5vw;
  right: 0;
}
#page #startguide #main-img .inner {
  display: table;
  margin: 0 auto;
  text-align: center;
  filter: drop-shadow(0 2px 6px #0951a3);
}
#page #startguide #main-img .inner .page-title {
  color: #fff;
  font-weight: bold;
  font-size: 3em;
}
#page #startguide #main-img .inner .page-title span {
  color: #fff;
}
#page #startguide #main-img .inner p {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.8;
  padding-top: 0.5em;
}

#startguide .ttl-2 {
  display: table;
  position: relative;
}
#startguide .ttl-2::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2.5em;
  background-image: url(../img/page/startguide/title_arch01.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -1.5em;
  right: -1em;
}
#startguide #message .ttl-2 {
  border-color: #39a5de;
}
#startguide #process .ttl-2 {
  border-color: #e68bbc;
}
#startguide #process .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch02.svg);
  transform: rotate(20deg);
}
#startguide #information .ttl-2 {
  border-color: #ef7c7c;
}
#startguide #information .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch03.svg);
  transform: rotate(65deg);
}
#startguide #qa .ttl-2 {
  border-color: #f57b00;
}
#startguide #qa .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch04.svg);
  transform: rotate(45deg);
}

#startguide #anchor {
  position: relative;
}
#startguide #anchor::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line03.png) no-repeat top center/auto 100%;
  position: absolute;
  bottom: -5vw;
  left: -5vw;
}
#startguide #anchor {
  position: relative;
}
#startguide #anchor::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line03.png) no-repeat top center/auto 100%;
  position: absolute;
  bottom: -5vw;
  left: -5vw;
}
#startguide #information {
  position: relative;
  background: linear-gradient(to bottom, #fff 50%, #ef7c7c 50%);
}
#startguide #information::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line07.png) no-repeat top center/auto 100%;
  position: absolute;
  top: -5vw;
  left: -5vw;
}
#startguide #qa {
  position: relative;
}
#startguide #qa::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line08.png) no-repeat top center/100% auto;
  position: absolute;
  top: -5vw;
  right: -5vw;
}

#startguide #message .box {
  display: flex;
  justify-content: space-between;
  padding-top: 2.5em;
}
#startguide #message .box .text-box {
  width: 60%;
  line-height: 1.8;
}
#startguide #message .box .text-box .title {
  color: #665aba;
  font-size: 1.6em;
  display: block;
  margin-bottom: 0.8em;
}
#startguide #message .box .text-box .name {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#startguide #message .box .text-box .name > img {
  height: 4rem;
  width: auto;
  margin-left: 1em;
}
#startguide #message .box .img-box {
  width: 35%;
}
#startguide #message .box .img-box figure:nth-child(n+2) {
  margin-top: 20px;
}

#startguide #message.is-closed .box {
  max-height: 400px; /* ← 好きな高さに調整 */
  overflow: hidden;
  position: relative;
}

#startguide #message .box {
  transition: max-height 0.4s ease;
}

/* フェード（おすすめ） */
#startguide #message.is-closed .box::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(to bottom, transparent, #fff);
}

#startguide #message .message__toggle {
  display: table;
  background-color: #39a5de;
  color: #fff;
  margin: 16px auto 0;
  padding: 0.5em 3em;
  border-radius: 12px;
  text-align: center;
  cursor: pointer;
}

#startguide #process {
  background-color: #fff5fa;
  padding-bottom: 1px;
}
#startguide #process .step-list {
  display: flex;
  gap: 6%;
  width: 90%;
  margin: 0 auto 60px;
}
#startguide #process .step-list li {
  width: 15.2%;
  position: relative;
}
#startguide #process .step-list li img {
  width: 60%;
}
#startguide #process .step-list li p {
  text-align: center;
  font-weight: bold;
  letter-spacing: -0.01em;
  font-size: 1.1em;
  position: absolute;
  right: 0;
  bottom: 0;
}

#startguide .mokuji {
  margin-bottom: 80px;
}
#startguide .mokuji .title {
  display: flex;
  align-items: center;
  font-size: 1.6em;
  margin-bottom: 0.4em;
  font-weight: bold;
}
#startguide .mokuji .title img {
  width: 1.8em;
  height: 1.8em;
  margin-right: 0.5em;
}
#startguide .mokuji ul + .title {
  margin-top: 1.5em;
}
#startguide .mokuji ul.mokuji-link {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}
#startguide .mokuji ul.mokuji-link li {
  width: 49%;
  margin-top: 1em;
}
#startguide .mokuji ul.mokuji-link li:nth-child(-n+2) {
  margin-top: 0;
}
#startguide .mokuji ul.mokuji-link li a {
  display: block;
  background-color: #fff;
  border: #e68bbc solid 1px;
  padding: 0.8em 1em;
  position: relative;
}
#startguide .mokuji ul.mokuji-link li a::before {
  content: "";
  width: 1em;
  height: 1em;
  border: 0;
  border-bottom: solid 2px #e68bbc;
  border-right: solid 2px #e68bbc;
  transform: rotate(45deg);
  position: absolute;
  top: -0.5em;
  right: 2em;
  bottom: 0;
  margin: auto;
}
#startguide .mokuji ul.mokuji-link li a:hover {
  background-color: #e68bbc;
  color: #fff;
}
#startguide .mokuji ul.mokuji-link li a:hover:before {
  border-color: #fff;
}

#startguide #process .process-box {
  margin: 0 auto 100px;
}
#startguide #process .process-box .ttl-1 {
  background-color: #e68bbc;
  color: #fff;
}
#startguide #process .process-box > p + p {
  margin-top: 1em;
}
#startguide #process .process-box p + ul {
  margin-top: 0;
}
#startguide #process .process-box .unit {
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 0;
  background-color: #fff;
  border: #e68bbc solid 1px;
  border-radius: 12px;
  padding: 3em;
  position: relative;
}
#startguide #process .process-box .unit::before {
  content: "";
  width: 20vw;
  height: 20vw;
  background: url(../img/page/startguide/line05.png) no-repeat center center/100% auto;
  position: absolute;
  right: -8vw;
  bottom: -3vw;
  z-index: 1;
}
#startguide #process .process-box .unit:nth-child(2n):before {
  left: -8vw;
  top: -3vw;
  right: inherit;
  bottom: inherit;
}
#startguide #process .process-box .unit > .tit {
  font-size: 2em;
  margin-bottom: 1em;
  position: relative;
  z-index: 5;
}
#startguide #process .process-box .unit > .tit small {
  display: block;
  font-weight: bold;
  font-size: 0.8em;
}
#startguide #process .process-box .unit > .tit p {
  display: inline;
  font-size: 1em;
  padding: 0 0.5em;
  font-weight: bold;
  background: linear-gradient(transparent 70%, #ffdeef 30%);
  position: relative;
}
#startguide #process .process-box .unit .ttl-3 {
  display: block;
  color: #e68bbc;
  margin-top: 3em;
}
#startguide #process .process-box .unit .ttl-layout {
  background-color: #e68bbc;
  color: #fff;
  padding: 0.3em 0.5em;
  font-size: 1.2em;
  margin-bottom: 0.5em;
  font-weight: bold;
}
#startguide #process .process-box .unit .table-def {
  margin: 0.8em 0;
}
#startguide #process .process-box .unit .table-def table tbody tr:has(+ tr.total) th, #startguide #process .process-box .unit .table-def table tbody tr:has(+ tr.total) td {
  border-bottom: #665aba solid 1px !important;
}
#startguide #process .process-box .unit .check-text {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 0.1em;
}
#startguide #process .process-box .unit ul.check-number li {
  margin-top: 0.5em;
  padding-left: 2.3em;
  position: relative;
}
#startguide #process .process-box .unit ul.check-number li span {
  position: absolute;
  left: 0;
  top: 0;
}

#startguide #process .process-box .content-inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 5;
}
#startguide #process .process-box .content-inner.img-left {
  flex-direction: row-reverse;
}
#startguide #process .process-box .content-inner .img-box {
  width: 35%;
}
#startguide #process .process-box .content-inner .text-box {
  width: 60%;
}
#startguide #process .process-box .content-inner .text-box p + p {
  margin-top: 1em;
}
#startguide #process .process-box .content-inner .text-box .day p {
  font-size: 1.5em;
  font-weight: bold;
}
#startguide #process .process-box .content-inner .text-box .day p .big {
  color: #e68bbc;
  font-size: 2em;
}

#startguide .more-btn {
  background: #e68bbc;
  border-color: #e68bbc;
}
#startguide .more-btn p {
  position: relative;
  padding-left: 5.2em;
  text-align: left;
}
#startguide .more-btn p small {
  display: block;
  color: #fff;
}
#startguide .more-btn p span {
  display: block;
  width: 5em;
  height: 5em;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#startguide .more-btn p span img {
  display: block;
  width: 100%;
  height: auto;
}

#startguide .contact-address {
  display: inline-block;
  border: #e68bbc solid 1px;
  padding: 1em 3em;
  margin-top: 1.5em;
  position: relative;
}
#startguide .contact-address::before {
  content: "";
  display: block;
  width: 4em;
  height: 4em;
  background: url(../img/page/startguide/info-icon.svg) no-repeat center bottom/100% auto;
  position: absolute;
  right: -0.5em;
  bottom: -0.5em;
}
#startguide .contact-address .title {
  color: #e68bbc;
  border-bottom: #e68bbc solid 1px;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

.contact-address-warp {
  display: flex;
  gap: 3%;
}

#startguide #information .ttl-3:after {
  background-color: #ef7c7c;
}
#startguide #information ul.disc-list li::marker {
  color: #ef7c7c;
}

#startguide #information .info-caption {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0 4%;
}
#startguide #information .info-caption .text-box {
  width: 40%;
  line-height: 2;
}
#startguide #information .info-caption figure {
  width: 40%;
  position: relative;
  z-index: 5;
}
#startguide #information .info-contents {
  display: flex;
  justify-content: space-between;
  width: 80%;
  max-width: 1200px;
  margin: 60px auto 0;
  background-color: #fff;
  border: #ef7c7c solid 1px;
  border-radius: 12px;
  padding: 3em;
}
#startguide #information .info-contents strong + .ttl-3 {
  margin-top: 2em;
}
#startguide #information .info-contents .day {
  width: 48%;
}
#startguide #information .info-contents .footnote {
  width: 48%;
}
#startguide #information .info-contents .day strong {
  font-size: 2em;
}
#startguide #information .info-contents .day strong span {
  font-size: 2em;
  color: #ef7c7c;
}
#startguide #information .info-contents .day .pickup {
  display: block;
  color: #ef7c7c;
  font-size: 1.5em;
  padding-top: 1em;
}

#startguide #qa {
  background-color: #fff5e3;
}
#startguide #qa .qa-box {
  background-color: #fff;
  border: #f57b00 solid 1px;
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 0;
  padding: 2.2em 3em 3em;
  border-radius: 12px;
}
#startguide #qa .qa-box .question {
  display: flex;
  align-items: center;
  border-bottom: #f57b00 solid 1px;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
#startguide #qa .qa-box .question img {
  height: auto;
  width: 3em;
  margin-right: 1em;
}
#startguide #qa .qa-box .question p {
  font-size: 1.5em;
  font-weight: bold;
  color: #f57b00;
}
#startguide #qa .qa-box .answer {
  padding-left: 3.5em;
  line-height: 2;
}

#foot-contact-contents {
  background-color: #f4ffe8;
  position: relative;
}
#foot-contact-contents::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line10.png) no-repeat top center/auto 100%;
  position: absolute;
  top: -5vw;
  left: -5vw;
}
#foot-contact-contents::after {
  content: "";
  display: block;
  width: 35vw;
  height: 35vw;
  background: url(../img/page/startguide/line11.png) no-repeat top center/auto 100%;
  position: absolute;
  bottom: -2vw;
  right: 2vw;
}
#foot-contact-contents .box {
  display: flex;
  justify-content: space-between;
}
#foot-contact-contents .box .text-box {
  width: 50%;
}
#foot-contact-contents .box .text-box .ttl-2 {
  border-color: #77be2f;
}
#foot-contact-contents .box .text-box .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch05.svg);
}
#foot-contact-contents .box .text-box .contact-detail {
  display: table;
  background-color: #fff;
  border: #77be2f solid 1px;
  padding: 2em 4em;
}
#foot-contact-contents .box .text-box .contact-detail .title {
  color: #77be2f;
  font-weight: bold;
  font-size: 2.2em;
}
#foot-contact-contents .box .text-box .contact-detail p {
  font-size: 1.3em;
  margin-top: 0.5em;
}
#foot-contact-contents .box .text-box .pickup {
  font-size: 1.5em;
  margin: 1em 0;
}
#foot-contact-contents .box .img-box {
  width: 40%;
  position: relative;
  z-index: 5;
}
#foot-contact-contents .box .sns-box {
  margin-top: 2em;
}
#foot-contact-contents .box .sns-box .title-box {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
#foot-contact-contents .box .sns-box .title-box a {
  width: 3em;
  height: 3em;
  margin-right: 1em;
}
#foot-contact-contents .box .sns-box .title-box .title {
  font-size: 1.4em;
  font-weight: bold;
}
#foot-contact-contents .box .sns-box p b {
  display: block;
  font-size: 1.1em;
}

/*
===============================================================================
高等教育の修学支援新制度　申請者の方へ /study_support/
===============================================================================
*/
#page #study_support #main-img {
  width: 100%;
  height: 100vh;
  min-height: 720px;
  max-height: 800px;
  background: url(../img/page/startguide/main.jpg) no-repeat center bottom/100% auto;
  position: relative;
}
#page #study_support #main-img::before {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line01.png) no-repeat top center/auto 100%;
  position: absolute;
  top: -10vw;
  left: 0;
}
#page #study_support #main-img::after {
  content: "";
  display: block;
  width: 25vw;
  height: 25vw;
  background: url(../img/page/startguide/line02.png) no-repeat top center/auto 100%;
  position: absolute;
  bottom: -5vw;
  right: 0;
}
#page #study_support #main-img .inner {
  display: table;
  margin: 0 auto;
  text-align: center;
  filter: drop-shadow(0 2px 6px #0951a3);
}
#page #study_support #main-img .inner .page-title {
  color: #fff;
  font-weight: bold;
  font-size: 3em;
}
#page #study_support #main-img .inner .page-title span {
  color: #fff;
}
#page #study_support #main-img .inner p {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.8;
  padding-top: 0.5em;
}

#study_support #intro {
  padding-bottom: 80px;
}
#study_support #intro .intro-text {
  font-size: 1.2em;
}

#study_support .table-def {
  margin: 1em 0;
}
#study_support .check-text {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 0.1em;
}
#study_support .more-btn {
  background: #8ecff2;
  border-color: #8ecff2;
}
#study_support .more-btn p {
  position: relative;
  padding-left: 5.2em;
  text-align: left;
  color: #141414;
  font-weight: bold;
}
#study_support .more-btn p:after {
  border-color: #141414;
}
#study_support .more-btn p small {
  display: block;
}
#study_support .more-btn p span {
  display: block;
  width: 5em;
  height: 5em;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#study_support .more-btn p span img {
  display: block;
  width: 100%;
  height: auto;
}

#study_support .more-btn-wrap {
  display: flex;
  justify-content: center;
  gap: 2%;
  margin: 30px 0;
}

#study_support .ttl-2 {
  display: table;
  position: relative;
}
#study_support .ttl-2::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2.5em;
  background-image: url(../img/page/startguide/title_arch01.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -1.5em;
  right: -1em;
}
#study_support #admission-payment .ttl-2 {
  border-color: #ba48c9;
}
#study_support #admission-payment .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch06.svg);
  transform: rotate(10deg);
}
#study_support #process-flow .ttl-2 {
  border-color: #57c4b8;
}
#study_support #process-flow .ttl-2:before {
  background-image: url(../img/page/startguide/title_arch07.svg);
  transform: rotate(45deg);
}
#study_support #process-flow .ttl-1 {
  background: #57c4b8;
  color: #fff;
  margin-top: 60px;
}
#study_support #process-flow .ttl-2 + .ttl-1 {
  margin-top: 0;
}

#study_support #process-flow {
  padding-bottom: 160px;
}
#study_support #process-flow .tit {
  font-size: 2em;
  margin-bottom: 0.2em;
  margin-top: 1.5em;
  position: relative;
  z-index: 5;
}
#study_support #process-flow .tit small {
  display: block;
  font-weight: bold;
  font-size: 0.8em;
}
#study_support #process-flow .tit p {
  display: inline;
  font-size: 1em;
  padding: 0 0.5em;
  font-weight: bold;
  background: linear-gradient(transparent 70%, #d2efec 30%);
  position: relative;
}

#study_support .contact-address {
  display: inline-block;
  border: #57c4b8 solid 1px;
  padding: 1em 3em;
  margin-top: 1.5em;
  position: relative;
}
#study_support .contact-address::before {
  content: "";
  display: block;
  width: 4em;
  height: 4em;
  background: url(../img/page/startguide/info-icon.svg) no-repeat center bottom/100% auto;
  position: absolute;
  right: -0.5em;
  bottom: -0.5em;
}
#study_support .contact-address .title {
  color: #57c4b8;
  border-bottom: #57c4b8 solid 1px;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

/*
===============================================================================
インターンシップ・病院実習 voice
===============================================================================
*/
main > #voice .anchor-link-list.rows-3 {
  justify-content: center;
}
main > #voice .anchor-link-list.rows-3 a[href="#internship"] p {
  color: #665aba;
}
main > #voice .anchor-link-list.rows-3 a[href="#hospital"] {
  border-color: #f7bc53;
}
main > #voice .anchor-link-list.rows-3 a[href="#hospital"] p {
  color: #f7bc53;
}
main > #voice .anchor-link-list.rows-3 a[href="#hospital"]:after {
  border-color: #f7bc53;
}

main > #voice .voice-box {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
  padding-top: 80px;
  border-top: #665aba solid 1px;
}
main > #voice .voice-box .text-box {
  width: 50%;
}
main > #voice .voice-box .img-box {
  width: 40%;
}
main > #voice .voice-box .img-box figure {
  position: relative;
  margin-bottom: 40px;
}
main > #voice .voice-box .img-box figure span {
  display: block;
  position: relative;
  z-index: 5;
}
main > #voice .voice-box .img-box figure span img {
  border-radius: 20px;
  position: relative;
  filter: drop-shadow(5px 5px 0 #665aba);
  z-index: 5;
}
main > #voice .voice-box .img-box figure figcaption {
  display: table;
  background-color: #fff;
  text-align: center;
  padding: 1em 2em;
  margin: -40px auto 0;
  position: relative;
  z-index: 6;
}
main > #voice .voice-box .img-box figure figcaption .name {
  font-size: 1.5em;
  font-weight: bold;
  color: #665aba;
}
main > #voice .ttl-1 + .voice-box {
  border: none;
  margin-top: 0;
  padding-top: 0;
}

main > #voice .talk-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
main > #voice .talk-list .question {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 75%;
  padding: 14px 18px;
  margin: 0 auto 0 0;
  background: #fff;
  border: 2px solid #665aba;
  border-radius: 20px;
}
main > #voice .talk-list .question::before {
  content: "";
  position: absolute;
  top: 16px;
  left: -12px;
  border-width: 8px 12px 8px 0;
  border-style: solid;
  border-color: transparent #665aba transparent transparent;
}
main > #voice .talk-list .question::after {
  content: "";
  position: absolute;
  top: 18px;
  left: -8px;
  border-width: 6px 10px 6px 0;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}
main > #voice .talk-list .question span {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #665aba;
  color: #fff;
  font-weight: bold;
}
main > #voice .talk-list .question p {
  margin: 0;
}
main > #voice .talk-list .answer {
  position: relative;
  max-width: 80%;
  padding: 1.5em;
  line-height: 1.8;
  margin: 0 0 0 auto;
  background: #fff;
  border-radius: 20px;
}
main > #voice .talk-list .answer::before {
  content: "";
  position: absolute;
  top: 16px;
  right: -12px;
  border-width: 8px 0 8px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}

main > #voice #internship {
  background: url(../img/page/voice/bg_slash.svg) repeat center center/auto;
  background-color: rgba(85, 126, 192, 0.1);
}
main > #voice #internship .ttl-1 {
  background-color: #665aba;
  color: #fff;
}

main > #voice #hospital {
  background: url(../img/page/voice/bg_slash.svg) repeat center center/auto;
  background-color: rgba(247, 188, 83, 0.1);
}
main > #voice #hospital .ttl-1 {
  background-color: #f7bc53;
}
main > #voice #hospital .talk-list .question {
  border-color: #f7bc53;
}
main > #voice #hospital .talk-list .question span {
  background: #f7bc53;
}
main > #voice #hospital .talk-list .question::before {
  border-color: transparent #f7bc53 transparent transparent;
}
main > #voice #hospital .img-box figure img {
  filter: drop-shadow(5px 5px 0 #f7bc53);
}
main > #voice #hospital .img-box figure .name {
  color: #f7bc53;
}

/*
===============================================================================
○○
===============================================================================
*/
.archive-list li {
  display: block;
  padding: 1em 2em;
  border-bottom: #665aba solid 1px;
}
.archive-list li a {
  display: block;
}

/*
===============================================================================
採用ご担当の方へ
===============================================================================
*/
#career-info .job-posting-text {
  display: flex;
  justify-content: space-between;
  justify-items: center;
}
#career-info .job-posting-text p {
  width: 80%;
}
#career-info .job-posting-text a.banner {
  display: inline-block;
  width: 16%;
}
#career-info .job-posting-text a.banner img {
  display: block;
  width: 100%;
  height: auto;
  padding-right: 20px;
}
#career-info .job-posting {
  margin-top: 40px;
}
/*
===============================================================================
社会活動
===============================================================================
*/
#socialactivity .table-def table tbody tr th{
  width:20%;
}