@charset "UTF-8";

/*.post-body .news-post img{
width:100%;}

*/
dl.box-dl dt.accordion::after {

  content: "";
  background: url(../img/icon.plus.bk.svg) 98% center no-repeat;
  height: 20px;
  width: 20px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
}



dl.box-dl dt.accordion.acc-active::after {

  transform: translate(0, -50%) rotate(45deg);
}



dl.box-dl dt.accordion {

  background: #eef2f2 !important;
  position: relative;
}


.pc-none,
.pc-none-flex {
  display: none
}

.pc-clear {
  display: block
}

.sect-marg {
  margin-bottom: 100px
}

#site-header {
  position: relative;
  z-index: 10
}

#site-header .topbar {
  background: #1d1619;
  color: #fff;
  height: 25px;
  line-height: 25px;
  font-size: 12px
}

#site-header .topbar .wrap {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between
}

#site-header .topbar .universal {
  display: flex
}

#site-header .topbar .universal li {
  margin: 0 0 0 10px
}

#site-header .topbar .universal li.regional {
  position: relative;
  margin-left: 50px;
  background: url(../img/icon.allow-lang.svg) left center no-repeat;
  background-size: 10px auto;
  padding-left: 15px
}

#site-header .topbar .universal li.regional span {
  display: block;
  cursor: pointer
}

#site-header .topbar .universal li.regional span:hover {
  opacity: .5;
  transition: all .3s ease 0s
}

#site-header .topbar .universal li.regional .region-list {
  display: none;
  position: absolute;
  width: calc(100% + 5px);
  left: 0;
  background: #1d1619;
  z-index: 10
}

#site-header .topbar .universal li.regional .region-list li {
  border-top: 1px solid rgba(255, 255, 255, .2);
  margin: 0
}

#site-header .topbar .universal li.regional .region-list a {
  display: block;
  line-height: 30px;
  padding: 0 15px
}

#site-header .topbar .universal li a {
  color: #fff
}

#site-header .utill {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  height: 100px;
  padding-top: 22px
}

#site-header .utill .logo img {
  width: 215px
}

#site-header .utill .head-utill-main-col .utillMenu {
  display: flex;
  justify-content: flex-end;
  height: 28px
}

#site-header .utill .head-utill-main-col .utillMenu .UI-search {
  margin-right: 6px
}

#site-header .utill .head-utill-main-col .utillMenu .sns {
  display: flex;
  margin-left: 7px
}

#site-header .utill .head-utill-main-col .utillMenu .sns li {
  margin: 0 3px
}

#site-header .utill .head-utill-main-col .utillMenu .reach {
  display: flex;
  width: 246px;
  justify-content: flex-start;
  margin-left: 10px
}

#site-header .utill .head-utill-main-col .utillMenu .reach li a {
  display: block;
  width: 96px;
  background: #9542c4;
  text-align: center;
  color: #fff;
  height: 28px
}

#site-header .gMenu {
  border-top: 2px solid #000;
  border-bottom: 4px solid #000;
  position: relative
}

#site-header .gMenu>ul {
  display: flex;
  width: 1040px;
  margin: 0 auto;
  justify-content: space-between
}

#site-header .gMenu>ul>li {
  line-height: 56px;
  position: relative
}

#site-header .gMenu>ul>li:hover .label {
  border-bottom: 4px solid #000;
  opacity: 1
}

#site-header .gMenu>ul>li .label {
  position: relative;
  display: block;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 16px;
  height: 56px;
  color: #000
}

#site-header .gMenu>ul>li .label .another {
  position: absolute;
  display: block;
  top: 16px;
  left: 50%;
  white-space: nowrap;
  transform: translate(-50%, 0);
  font-size: 12px
}

#site-header .gMenu>ul .subMenu {
  display: none;
  position: absolute;
  top: calc(100%);
  background: rgba(0, 0, 0, .8)
}

#site-header .gMenu>ul .subMenu.right {
  right: 0
}

#site-header .gMenu>ul .subMenu a {
  display: block;
  position: relative;
  display: block;
  padding-right: 25px
}

#site-header .gMenu>ul .subMenu a span {
  display: block;
  font-size: 12px;
  line-height: 1.2em
}

#site-header .gMenu>ul .subMenu a::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
  margin-top: -5px;
  transition: all .2s ease 0
}

#site-header .gMenu>ul .subMenu a:hover::after {
  right: 10px;
  opacity: 1
}

#site-header .gMenu>ul .subMenu h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  line-height: 1.3em;
  border-bottom: 1px solid #555
}

#site-header .gMenu>ul .subMenu h3 a {
  color: #fff;
  padding: 15px 15px;
  background-color: rgba(0, 0, 0, .5)
}

#site-header .gMenu>ul .subMenu ul {
  padding: 10px 0
}

#site-header .gMenu>ul .subMenu ul li a {
  line-height: 1.5em;
  white-space: nowrap;
  color: #fff;
  padding: 5px 25px 5px 15px
}

#site-header .gMenu>ul .subMenu ul li a::after {
  opacity: 0
}

#site-header .gMenu>ul .subMenu.course {
  width: 100%;
  left: 0;
  top: 100%;
  background: rgba(0, 0, 0, .8)
}

#site-header .gMenu>ul .subMenu.course h3 {
  width: 1040px;
  margin: 0 auto
}

#site-header .gMenu>ul .subMenu.course .wrap {
  display: flex;
  width: 1040px;
  margin: 0 auto
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu {
  width: calc(20% - 1px);
  margin-right: 1px
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu h4 {
  font-size: 13px;
  color: #000;
  font-weight: 400;
  padding: 5px 0 5px 15px
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu h4 a {
  color: #000
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.fukushoku {
  background-color: rgba(159, 200, 111, .55)
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.fukushoku h4 {
  background-color: #9fc86f
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.kouka {
  background-color: rgba(121, 194, 233, .6)
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.kouka h4 {
  background-color: #79c2e9
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.ryutsu {
  background-color: rgba(196, 164, 205, .5)
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.ryutsu h4 {
  background-color: #c4a4cd
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.koge {
  background-color: rgba(251, 180, 56, .5)
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.koge h4 {
  background-color: #fbb438
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.nibu {
  background-color: rgba(247, 125, 147, .5)
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu.nibu h4 {
  background-color: #f77d93
}

#site-header .gMenu>ul .subMenu.course .wrap .courseMenu li a {
  padding: 7px 15px;
  font-size: 12px;
  white-space: normal
}

#site-header .gMenu.event ul {
  display: table
}

#site-header .gMenu.event ul li {
  display: table-cell;
  line-height: 1.2em;
  vertical-align: middle
}

#site-header .gMenu.event ul li a {
  display: block;
  text-align: center;
  color: #000;
  padding: 5px 0;
  font-size: 13px
}

#site-header .targetMenu {
  position: absolute;
  bottom: 72px;
  right: 50%;
  margin-right: -520px;
  height: 26px;
  font-size: 12px;
  margin-top: 12px
}

#site-header .targetMenu ul.target {
  display: flex
}

#site-header .targetMenu ul.target li {
  margin-left: 30px
}

#site-header .targetMenu ul.target li a {
  display: block;
  color: #1d1619;
  line-height: 26px
}

.sp-icon-menu {
  display: none
}

.bnr-shougai {
  display: block;
  margin-bottom: 4px
}

.bnr-shougai.none {
  display: none
}

.bnr-shougai .wrap {
  display: flex;
  min-width: 1040px
}

.bnr-shougai .wrap .img {
  position: relative;
  width: 50%;
  color: #fff;
  background: url(../img/bnr.shougai.jpg) center center no-repeat;
  background-size: cover
}

.bnr-shougai .wrap .img::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4)
}

.bnr-shougai .wrap .img h4 {
  float: right;
  position: relative;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 40px;
  text-align: left;
  line-height: 1.5em;
  padding: 30px 40px 30px 0
}

.bnr-shougai .wrap .body {
  position: relative;
  width: 50%;
  color: #000;
  text-align: left;
  border-top: 7px solid #1d1619;
  border-bottom: 7px solid #1d1619;
  background: #f6f7f8;
  padding-top: 20px
}

.bnr-shougai .wrap .body h3 {
  background: #9542c4;
  color: #fff;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  line-height: 46px;
  padding-left: 40px;
  font-size: 30px
}

.bnr-shougai .wrap .body p {
  padding-top: 20px;
  padding-left: 40px;
  padding-bottom: 0;
  width: 490px
}

.bnr-shougai .wrap .body .more {
  display: block;
  position: absolute;
  right: 100%;
  margin-right: -520px;
  bottom: 10px;
  padding-right: 40px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 24px
}

#site-footer .footer-util,
#site-footer .sns {
  display: none
}

#site-footer .footer-menu {
  background-color: #eef2f2
}

#site-footer .footer-menu .wrap {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  text-align: left;
  padding-bottom: 30px;
  padding-bottom: 10px
}

#site-footer .footer-menu .wrap .col1,
#site-footer .footer-menu .wrap .col2 {
  width: 245px;
  margin-right: 20px
}

#site-footer .footer-menu .wrap .col3 {
  width: 510px
}

#site-footer .footer-menu .wrap .col3 .col-wrap {
  display: flex;
  justify-content: space-between
}

#site-footer .footer-menu .wrap .col3 .col-wrap .cols {
  width: 245px
}

#site-footer .footer-menu .wrap h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 16px;
  border-bottom: 2px solid #e0e5e5;
  padding-bottom: 5px;
  padding-top: 30px;
  margin-bottom: 10px
}

#site-footer .footer-menu .wrap h4 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 16px;
  border-bottom: 2px dashed #cbd2d2;
  padding-bottom: 5px;
  padding-top: 10px;
  margin-bottom: 10px
}

#site-footer .footer-menu .wrap a {
  color: #000
}

#site-footer .footer-menu .wrap ul li {
  margin: 7px 0
}

#site-footer .footer-contact {
  display: flex;
  justify-content: space-between;
  width: 1040px;
  margin: 0 auto;
  text-align: left;
  padding: 40px 0
}

#site-footer .footer-contact .admission h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 24px;
  margin-bottom: 22px
}

#site-footer .footer-contact .admission h4 {
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 18px
}

#site-footer .footer-contact .admission a.tel {
  display: flex;
  font-size: 48px;
  color: #000;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: .1em;
  line-height: 36px
}

#site-footer .footer-contact .admission a.tel .icon-tel {
  margin-right: 15px;
  vertical-align: top
}

#site-footer .footer-contact .admission a.tel .num {
  display: inline-block;
  line-height: 20px;
  padding-top: 3px
}

#site-footer .footer-contact .admission a.tel .cap {
  font-size: 10px;
  letter-spacing: 0;
  margin-left: 5px
}

#site-footer .footer-contact .admission p {
  margin-top: 18px;
  font-size: 10px
}

#site-footer .footer-contact .signature h3 {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.3em;
  margin-bottom: 15px
}

#site-footer .footer-contact .signature img {
  height: 54px;
  margin-bottom: 14px
}

#site-footer .footer-contact .signature p {
  font-size: 10px;
  line-height: 1.3em
}

#site-footer .footer-contact .signature .mail {
  display: none
}

#site-footer .footer-contact hr {
  display: none
}

#site-footer .fotter-end {
  background-color: #1d1619;
  color: #fff;
  height: 65px;
  line-height: 65px
}

#site-footer .fotter-end .wrap {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between
}

#site-footer .fotter-end nav ul {
  display: flex;
  padding-top: 25px
}

#site-footer .fotter-end nav ul li {
  line-height: 15px;
  padding: 0 10px;
  border-left: 1px solid #fff
}

#site-footer .fotter-end nav ul li:first-child {
  border: none
}

#site-footer .fotter-end nav ul li a {
  color: #fff;
  font-size: 12px
}

#site-footer .fotter-end .copyright {
  color: #fff;
}

#launcher,
#sp-menu {
  display: none
}

.center-layout {
  text-align: center;
  padding: 55px 0
}

.center-layout>.wrap {
  width: 1040px;
  margin: 0 auto
}

.center-layout .normal-ttl {
  font-size: 30px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5em;
  margin-bottom: 50px;
  border: none
}

.docs {
  width: 1040px;
  margin: 30px auto
}

.doc-section {
  margin-bottom: 50px
}

.doc-section .section {
  margin-bottom: 50px
}

a.article {
  color: #1d1619;
  display: block
}

.label {
  display: block
}

.label.ct-event,
.label.event {
  background-color: #57d9b0;
  color: #fff
}

.label.college,
.label.ct-college {
  background-color: #b2c45b;
  color: #fff
}

.label.collabo,
.label.ct-collabo {
  background-color: #cb4c67;
  color: #fff
}

.label.contest,
.label.ct-contest {
  background-color: #8e5faf;
  color: #fff
}

.article-box {
  background: #f6f7f8;
  text-align: left
}

.article-box .thumb {
  display: block;
  position: relative
}

.article-box .thumb img {
  width: 100%;
  height: auto
}

.article-box .thumb .seal {
  position: relative;
  display: block;
  height: 120px;
  background: #fff;
  border: 5px solid #f6f7f8
}

.article-box .thumb .seal img {
  position: absolute;
  width: 90%;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}

.article-box .thumb .frame {
  position: relative;
  display: block;
  padding: 5px
}

.article-box .thumb .frame img {
  width: 100%;
  height: auto
}

.article-box .thumb .label {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  line-height: 23px;
  transform: translate(-50%, 0)
}

.article-box .body {
  padding: 18px
}

.article-box .body time {
  display: block;
  font-size: 12px
}

.article-box .body h3 {
  font-weight: 400;
  font-size: 14px
}

.article-box.addCap {
  position: relative;
  padding-bottom: 50px
}

.article-box.addCap .body h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 20px
}

.article-box.addCap .body h3 span {
  display: block;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.4em;
  font-weight: 400
}

.article-box.addCap .body p {
  font-size: 14px;
  line-height: 1.7em;
  margin-bottom: 0
}

.article-box.addCap .more {
  position: absolute;
  display: block;
  bottom: 10px;
  right: 10px
}

.article-box.no-more {
  padding-bottom: initial
}

.article-list.simple li {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 30px
}

.article-list.simple li a {
  display: block
}

.article-list.simple li a .article-box {
  display: flex;
  background: #fff
}

.article-list.simple li a .article-box .thumb {
  width: 100px
}

.article-list.simple li a .article-box .thumb img {
  width: 100px
}

.article-list.simple li a .article-box .body {
  padding: 0 20px
}

.article-list.simple li a .article-box .body h3 {
  font-size: 16px
}

.list-volume {
  background: #eef2f2;
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  line-height: 1.5em;
  margin-bottom: 20px
}

.list-volume li {
  display: flex
}

.list-volume li dl {
  display: flex;
  font-size: 12px
}

.list-volume li dl dd {
  padding-left: 5px
}

.list-volume li::after {
  content: "/";
  padding: 0 5px
}

.list-volume li:last-child::after {
  display: none
}

.box-glid {
  display: flex;
  flex-wrap: wrap
}

.box-glid li {
  width: 31.5%;
  margin-right: 2.5%;
  margin-bottom: 20px
}

.box-glid li:nth-child(3n) {
  margin-right: 0
}

.box-glid li dl {
  background: #eef2f2;
  padding: 40px 20px;
  line-height: 1.5em;
  height: 100%
}

.box-glid li dl dt {
  line-height: 1.3em;
  font-weight: 700;
  margin-bottom: 10px;
  border-bottom: 1px dotted #333;
  padding-bottom: 10px
}

.box-glid li dl dd {
  font-size: 12px
}

.box-glid li dl.circle {
  text-align: center;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  margin: 0 auto 20px;
  background: #000;
  color: #fff
}

.box-glid li dl.circle dt {
  border: none;
  margin-bottom: 20px
}

.box-glid li dl.circle dd .font-acum {
  font-size: 75px;
  letter-spacing: 0;
  padding-left: 15px
}

.box-glid li dl.circle dd .unit {
  font-size: 18px
}

.box-glid li dl.circle dd .caption {
  margin-top: 20px;
  display: block;
  line-height: 1.3em;
  font-size: 10px
}

.box-glid li dl.ex1 {
  display: flex;
  flex-wrap: wrap;
  background: 0 0;
  align-items: center
}

.box-glid li dl.ex1 dt {
  position: relative;
  width: 50%;
  border: none;
  background: #000;
  color: #fff;
  font-size: 24px;
  padding: 20px;
  border-radius: 10px;
  text-align: center
}

.box-glid li dl.ex1 dt span {
  display: block;
  font-size: 15px
}

.box-glid li dl.ex1 dt::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #000
}

.box-glid li dl.ex1 dd.balloon {
  width: 50%;
  padding-left: 30px
}

.box-glid li dl.ex1 dd.balloon .font-acum {
  font-size: 140px;
  letter-spacing: 0
}

.box-glid li dl.ex1 dd.balloon .unit {
  font-size: 20px
}

.box-glid.small li dl {
  padding: 10px
}

.box-glid.small li dl dt {
  margin: 5px
}

.box-glid.small li dl dd.right {
  text-align: right
}

.box-glid.glid4 li {
  width: 22.5%
}

.box-glid.glid4 li:nth-child(3n) {
  margin-right: 2.5%
}

.box-glid.glid4 li:nth-child(4n) {
  margin-right: 0
}

.box-glid.glid2 li {
  width: 47.5%
}

.box-glid.glid2 li:nth-child(3n) {
  margin-right: 2.5%
}

.box-glid.glid2 li:nth-child(2n) {
  margin-right: 0
}

.news-list-box-3glid,
.news-list-box-4glid {
  display: flex;
  flex-wrap: wrap
}

.news-list-box-3glid li,
.news-list-box-4glid li {
  width: 245px;
  margin-right: 20px;
  margin-bottom: 20px
}

.news-list-box-3glid li a,
.news-list-box-4glid li a {
  display: block;
  height: 100%
}

.news-list-box-3glid li a .article-box,
.news-list-box-4glid li a .article-box {
  height: 100%
}

.news-list-box-4glid li:nth-child(4n) {
  margin-right: 0
}

.news-list-box-4glid.del1col li {
  width: 238px
}

.news-list-box-4glid.del1col li:nth-child(3n) {
  margin-right: 0
}

.news-list-box-4glid.del1col li:nth-child(4n) {
  margin-right: 20px
}

.news-list-box-3glid li {
  width: 333px
}

.news-list-box-3glid li:nth-child(3n) {
  margin-right: 0
}

.movie-list-3col {
  display: flex;
  flex-wrap: wrap
}

.movie-list-3col li {
  width: 32%;
  margin-bottom: 20px;
  margin-right: 2%;
  background: #000;
  color: #fff;
  padding: 0 5px;
  border-radius: 4px
}

.movie-list-3col li:nth-child(3n) {
  margin-right: 0
}

.movie-list-3col li h4 {
  text-align: center;
  font-size: 12px;
  font-weight: 400
}

.movie-list-3col li iframe {
  height: 137px
}

.column-list {
  display: flex
}

.column-list dl {
  width: 33.33%;
  margin-right: 20px
}

.column-list dl:last-child {
  margin-right: 0
}

.column-list dl dt {
  text-align: center;
  line-height: 1.2em;
  padding: 15px 0
}

.column-list dl dd img {
  width: 100%;
  height: auto;
  margin-bottom: 10px
}

.column-list dl dd figcaption {
  font-size: 14px;
  line-height: 1.6em
}

.tag-list {
  display: flex;
  flex-wrap: wrap
}

.tag-list li {
  margin: 0 3px 3px 0
}

.tag-list li a {
  font-size: 14px;
  display: block;
  padding: 5px 26px 5px 10px;
  color: #fff;
  background: #9542c4
}

.page-head {
  position: relative;
  height: 260px;
  background-size: cover;
  background-position: center center
}

.page-head .wrap {
  width: 1040px;
  margin: 0 auto
}

.page-head::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5)
}

.page-head h1 {
  position: relative;
  line-height: 260px;
  color: #fff
}

.page-head.ext {
  height: auto
}

.page-head.ext::before {
  background: rgba(0, 0, 0, .2)
}

.page-head.ext .intro {
  position: relative;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding-bottom: 30px
}

.page-head.ext .intro a {
  color: #fff
}

.page-head.ext .intro h2 {
  margin-bottom: 20px
}

.postpage-header {
  background: #1d1619;
  color: #fff;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: .1em;
  padding-bottom: 8px
}

.postpage-header .wrap {
  display: block;
  width: 1040px;
  margin: 0 auto
}

.breadcrumbs .wrap {
  width: 1040px;
  margin: 0 auto
}

.breadcrumbs .wrap ul {
  font-size: 14px;
  padding: 8px 0;
  display: flex
}

.breadcrumbs .wrap ul li {
  margin-right: 5px
}

.breadcrumbs .wrap ul li::after {
  content: ">";
  margin-left: 5px
}

.breadcrumbs .wrap ul li:last-child::after {
  display: none
}

.breadcrumbs.post .wrap {
  padding: 10px 0
}

.page-body {
  padding-bottom: 100px
}

.page-body .wrap {
  width: 1040px;
  margin: 0 auto
}

.post-wrap {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between
}

.post-title {
  margin-bottom: 70px
}

.post-title .block-title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px
}

.post-title .block-title figure {
  width: 235px
}

.post-title .block-title figure img {
  width: 100%;
  height: auto
}

.post-title .block-title .head-body {
  width: 491px
}

.post-title .block-title .head-body .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 20px;
  font-size: 14px;
  margin-bottom: 15px
}

.post-title .block-title .head-body .info .label {
  display: inline-block;
  height: 20px;
  padding: 0 10px;
  line-height: 23px
}

.post-title .block-title .head-body .info time {
  display: inline-block
}

.post-title .block-title .head-body h1 {
  font-size: 30px;
  line-height: 1.3em
}

.post-title .post-intro {
  border-bottom: 1px solid #000
}

.post-body {
  width: 756px;
  padding-bottom: 100px;
  flex: 0 0 auto
}

.post-body .post-v-title {
  height: 310px;
  padding: 30px;
  position: relative;
  background-position: center center;
  background-size: cover
}

.post-body .post-v-title.onDeta {
  height: 400px
}

.post-body .post-v-title>* {
  position: relative
}

.post-body .post-v-title h1 {
  color: #fff;
  line-height: 1.4em
}

.post-body .post-v-title .event-date-list-wrap {
  position: absolute;
  left: 0;
  width: 100%;
  left: 0;
  bottom: 0
}

.post-body .post-v-title .event-date-list-wrap .post-meta {
  position: static
}

.post-body .post-v-title .event-date-list-wrap .post-meta>li {
  position: static
}

.post-body .post-v-title .event-date-list-wrap .post-meta>li .post-meta-key {
  display: none
}

.post-body .post-v-title .event-date-list {
  position: absolute;
  bottom: 0
}

.post-body .post-v-title::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/bg.v-head-shadow.png) left top no-repeat;
  background-size: cover
}

.post-body .post-intro {
  margin-top: 20px
}

.post-body .post-intro p {
  font-size: 16px;
  line-height: 2em
}

.post-body p {
  margin-bottom: 30px;
  line-height: 1.7em
}

.post-body .col-col {
  display: flex
}

.post-body a.bnr-guide-full {
  background: url(../img/bnr.bg.guide.jpg) center center no-repeat;
  padding-left: 150px;
  margin-top: 40px
}

.post-body a.bnr-guide-full figure {
  display: block;
  width: 100px;
  left: 26px;
  top: -10px
}

.post-body a.bnr-guide-full figure img {
  width: 100%;
  height: auto
}

.post-body a.bnr-guide-full h3 {
  font-size: 32px;
  margin-bottom: 4px
}

.post-body a.bnr-guide-full h3 .title {
  padding-top: 2px;
  margin-right: 14px
}

.post-body a.bnr-guide-full h3 .seal {
  display: inline-block;
  width: 79px;
  height: 37px
}

.post-body a.bnr-guide-full p {
  font-size: 16px;
  padding-bottom: 20px
}

.post-body.blank-temp h1 {
  margin-top: 30px;
  margin-bottom: 70px
}

.read {
  font-size: 24px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.7em;
  margin-bottom: 50px
}

h2.normal-ttl {
  margin-top: 30px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dedede;
  padding: 5px
}

h2.normal-ttl.v2 {
  display: flex;
  align-items: center;
  padding: 0 5px
}

h2.normal-ttl.v2 span {
  margin-right: 15px
}

h2.normal-ttl.v2 span.font-acum {
  padding-bottom: 10px;
  font-size: 150%
}

h2.normal-ttl.v2 span.caption {
  font-size: 18px
}

h3.normal-ttl {
  margin-top: 20px;
  margin-bottom: 15px;
  border-left: 7px solid #000;
  line-height: 1.4em;
  padding-left: 14px
}

.ex-ttl {
  background: #fff;
  border: 2px solid #bbb;
  padding: 5px 20px;
  margin-bottom: 20px;
  border-radius: 3px
}

.ex-ttl .comment {
  font-weight: 400;
  margin-left: 15px
}

.ex-ttl.accordion {
  cursor: pointer
}

.ex-ttl.accordion .plus {
  display: block;
  float: right;
  font-weight: 400;
  font-size: 12px;
  padding-right: 30px;
  background: url(../img/icon.plus.bk.svg) center right no-repeat;
  background-size: 20px;
  margin-right: -10px
}

.ex-ttl.accordion:hover {
  opacity: .5;
  transition: all .3s ease 0s
}

.ex-ttl.accordion.open .plus {
  background-image: url(../img/icon.minus.bk.svg)
}

h4.normal-ttl {
  margin-top: 20px;
  margin-bottom: 20px
}

h4.balloon-ttl {
  background: #d3dcdd;
  font-weight: 400;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 5px 20px;
  font-size: 16px;
  border-radius: 3px
}

h2.addTug,
h3.addTug,
h4.addTug {
  margin-bottom: 5px
}

h2.addOn,
h3.addOn,
h4.addOn {
  margin-top: 5px
}

h5.normal-ttl {
  font-size: 16px
}

.color-title {
  position: relative;
  margin-bottom: 20px;
  display: inline-block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  padding: 0 20px 3px 20px;
  font-size: 24px;
  letter-spacing: .05em;
  background: #fff;
  border-left: #9fc86f 4px solid;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, .1);
  left: -15px
}

.clothing .color-title {
  border-color: #9fc86f
}

.fashion-ind .color-title {
  border-color: #79c2e9
}

.fashion-logi .color-title {
  border-color: #c4a4cd
}

.fashion-craft .color-title {
  border-color: #fbb438
}

.fashion-night .color-title {
  border-color: #f77d93
}

.event-date-list {
  display: flex
}

.event-date-list li {
  background: #fff;
  text-align: center;
  padding: 5px 5px 3px 5px;
  margin-right: 8px;
  margin-bottom: 8px
}

.event-date-list li span {
  display: block;
  line-height: 1em
}

.event-date-list li .year {
  font-size: 10px;
  padding: 1px 0 4px
}

.event-date-list li .date {
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 5px
}

.event-date-list li .week {
  padding-top: 2px;
  font-size: 10px
}

.event-date-list li .time {
  font-size: 8px
}

.Sat {
  color: #56c9ff
}

.Sun {
  color: #ef51a6
}

.page-nav ul {
  display: flex;
  justify-content: space-between
}

.page-nav ul li {
  width: 50%;
  margin-right: 4px
}

.page-nav ul li:last-child {
  margin-right: 0
}

.page-nav ul li a {
  position: relative;
  display: block;
  background: #d3dcdd;
  color: #000;
  font-size: 12px;
  text-align: center;
  padding-bottom: 6px
}

.page-nav.multi ul {
  flex-wrap: wrap
}

.page-nav.multi ul li {
  margin-bottom: 4px
}

.page-nav.multi.col3-2 li {
  width: calc(33.33% - 4px)
}

.page-nav.multi.col3-2 li:last-child {
  margin-right: 4px
}

.page-nav-ext {
  padding: 50px 0 0
}

.page-nav-ext ul {
  display: flex;
  justify-content: space-between
}

.page-nav-ext ul li {
  width: 50%;
  margin: 5px
}

.page-nav-ext ul li a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  padding: 10px 0 30px 0;
  background: url(../img/icon.allow.down.svg) center 80% no-repeat;
  background-size: 34px auto;
  border: 1px solid rgba(255, 255, 255, .5)
}

.page-tab {
  margin-bottom: 20px
}

.page-tab ul {
  display: flex;
  border-bottom: #d3dcdd solid 4px;
  padding: 0 5px
}

.page-tab ul li {
  margin: 0 5px
}

.page-tab ul li a {
  position: relative;
  display: block;
  background: #eef2f2;
  width: 150px;
  text-align: center;
  line-height: 44px;
  height: 44px;
  color: #000;
  opacity: .5;
  overflow: hidden
}

.page-tab ul li a::after {
  position: absolute;
  bottom: 0;
  width: 120%;
  left: -10%;
  content: "";
  height: 44px;
  box-shadow: inset 0 -10px 10px rgba(0, 0, 0, .3)
}

.page-tab ul li a.event {
  background: #57d9b0;
  color: #fff
}

.page-tab ul li a.college {
  background: #b2c45b;
  color: #fff
}

.page-tab ul li a.collabo {
  background: #cb4c67;
  color: #fff
}

.page-tab ul li a.contest {
  background: #8e5faf;
  color: #fff
}

.page-tab ul li a:hover {
  opacity: 1
}

.page-tab ul li a:hover::after {
  display: none
}

.page-tab ul li a.selected {
  opacity: 1
}

.page-tab ul li a.selected::after {
  display: none
}

dl.normal {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5em;
  font-size: 14px;
  margin-bottom: 20px;
  border-top: 1px solid #eee
}

dl.normal.no-margin {
  margin-bottom: 0
}

dl.normal dt {
  width: 22%;
  border-bottom: 1px solid #eee;
  padding: 15px
}

dl.normal dd {
  width: 78%;
  border-bottom: 1px solid #eee;
  padding: 15px
}

dl.normal dd h4 {
  font-size: 15px;
  margin-bottom: 5px
}

table.normal {
  border-collapse: collapse;
  margin-bottom: 20px
}

table.normal td,
table.normal th {
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px
}

table.normal th {
  background: #eef2f2
}

table.dl-normal {
  margin-top: 15px;
  border-collapse: collapse;
  border-top: 1px solid #eee
}

table.dl-normal .fukidashi {
  display: block;
  background: #d3dcdd;
  text-align: center
}

table.dl-normal thead th {
  font-weight: 400;
  border-right: 1px dotted #ccc;
  text-align: center;
  padding: 0 5px
}

table.dl-normal thead th:first-child,
table.dl-normal thead th:last-child {
  border: none
}

table.dl-normal tbody th {
  width: 22%;
  border-bottom: 1px solid #eee;
  padding: 15px;
  font-weight: 400
}

table.dl-normal tbody td {
  vertical-align: text-bottom;
  padding: 15px;
  border-bottom: 1px solid #eee;
  line-height: 1.5em
}

table.dl-normal tbody td .fukidashi {
  display: none
}

table.dl-normal tbody.cols5 td {
  width: 19.5%
}

table.dl-normal.color-divide tbody th.col1 {
  background: #d3dcdd;
  border-right: 1px solid #fff
}

table.dl-normal.color-divide tbody th.col2 {
  background: #eef2f2;
  border-bottom: 1px solid #fff
}

.schedule-table table.dl-normal {
  border-top: none
}

.schedule-table table.dl-normal tbody th {
  padding: 10px 15px;
  vertical-align: top
}

.schedule-table table.dl-normal tbody td {
  font-size: 12px;
  padding: 10px 10px;
  border-right: 1px dotted #ccc
}

.schedule-table table.dl-normal tbody td em {
  display: block;
  font-size: 18px
}

.schedule-table table.dl-normal tbody td:last-child {
  border-right: none
}

table.minimal {
  border-collapse: collapse;
  margin-bottom: 20px
}

table.minimal td,
table.minimal th {
  font-weight: 400;
  font-size: 14px;
  border: 1px solid #ddd;
  padding: 5px 10px
}

dl.minimal {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5em;
  font-size: 14px;
  padding: 5px 0
}

dl.minimal dt {
  width: 20%;
  padding: 3px 0;
  font-weight: 700
}

dl.minimal dd {
  width: 80%;
  padding: 3px 0
}

dl.minimal.width-flex dt {
  width: auto;
  white-space: nowrap
}

dl.minimal.width-flex dd {
  width: auto
}

dl.default dt {
  font-weight: 700
}

dl.default dd {
  margin-bottom: 20px
}

dl.box-dl {
  margin-bottom: 2px
}

dl.box-dl dt {
  background: #eef2f2;
  padding: 10px 20px
}

dl.box-dl dt.accordion {
  background: #eef2f2 url(../img/icon.plus.bk.svg) 98% center no-repeat;
  background-size: 20px;
  padding-right: 50px
}

dl.box-dl dd {
  padding: 20px
}

dl.box-dl dd.accordion-body {
  display: none
}

ul.normal {
  line-height: 1.3em;
  font-size: 14px
}

ul.normal li {
  position: relative;
  padding: 8px 0 8px 15px
}

ul.normal li::before {
  position: absolute;
  left: 0;
  content: "・"
}

.accordion-wrap .accordion-body {
  display: none
}

.content-box {
  background: #f6f7f8;
  margin-bottom: 20px;
  line-height: 1.4em
}

.content-box h3 {
  padding: 15px 20px;
  border-bottom: 2px solid #fff;
  line-height: 1.4em;
  font-size: 18px
}

.content-box h4 {
  margin-bottom: 20px;
  line-height: 1.1em
}

.content-box h5 {
  font-size: 14px;
  line-height: 1.1em
}

.content-box .mini-head {
  padding: 20px
}

.content-box .mini-head h4 {
  margin: 0
}

.content-box .body {
  padding: 20px
}

.content-box p {
  font-size: 14px
}

.content-box figure {
  padding: 20px
}

.content-box figure img {
  width: 100%;
  margin-bottom: 5px
}

.content-box hr.bold {
  margin-top: 0;
  margin-bottom: 20px
}

.content-box .col-col {
  display: flex
}

.content-box .col-col .col1 {
  width: 435px
}

.content-box .col-col .col2 {
  width: 320px
}

.column-box {
  background: #eef2f2;
  padding: 20px;
  font-size: 13px;
  margin-bottom: 20px
}

.column-box h4 {
  margin-bottom: 10px
}

.column-box h4.small {
  font-size: 15px;
  line-height: 1.4em
}

.column-box.on-table dd,
.column-box.on-table dt {
  border-bottom: 1px solid #dde0e6
}

.column-box.accordion {
  padding: 0
}

.column-box.accordion .ttl {
  padding: 20px;
  border-bottom: 2px solid #fff;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px
}

.column-box.accordion .accordion-ttl {
  padding-right: 50px;
  position: relative
}

.column-box.accordion .accordion-ttl::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/icon.plus.bk.svg) center center no-repeat
}

.column-box.accordion .accordion-body {
  padding: 20px;
  display: none
}

.column-box .btn-link-list li a {
  font-size: 13px
}

.white-box {
  border: 1px solid #ddd;
  padding: 20px;
  margin-bottom: 20px
}

.white-box h3,
.white-box h4 {
  margin-bottom: 20px
}

.white-box p {
  font-size: 13px;
  line-height: 1.4em
}

.white-box em {
  display: block;
  line-height: 1.5em
}

.white-box.bold {
  border: 4px solid #ddd
}

.guidance-box {
  padding: 0 20px 20px;
  background: #f6f7f8;
  border: 4px solid #d3dcdd
}

.flex {
  display: flex;
  margin-bottom: 20px
}

.flex>* {
  margin-right: 40px
}

.flex>:last-child {
  margin-right: 0
}

.flex.sa {
  justify-content: space-around
}

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

.flex.fix-col-harf {
  justify-content: space-between
}

.flex.fix-col-harf>* {
  width: 48%;
  margin: 0
}

.flex.fix-col-harf figure img {
  width: 100%
}

.flex .normal-img img {
  width: 300px;
  height: auto
}

.flex .flex>* {
  margin-right: 20px
}

.flex .flex>:last-child {
  margin-right: 0
}

.flex .flex p {
  font-size: 12px
}

.combi-flex {
  display: flex
}

.combi-flex li {
  width: 50%
}

.combi-flex li:first-child {
  width: calc(50% - 1px);
  margin-right: 1px
}

.combi-flex .bnr-article {
  text-align: center;
  padding: 0 0
}

.combi-flex .bnr-article figure {
  text-align: left
}

.bnr-box-list {
  margin-bottom: 20px
}

.bnr-box-list li {
  margin-bottom: 1px
}

.bnr-box-list.large .bnr-article {
  height: 300px
}

.bnr-box-list.large .bnr-article h3 {
  font-size: 50px;
  padding: 40px 40px 20px 40px
}

.bnr-box-list.large .bnr-article p {
  font-size: 16px;
  padding: 0 40px
}

.color-department-table {
  width: 100%;
  border-collapse: collapse
}

.color-department-table .department {
  width: 260px
}

.color-department-table .course {
  width: 300px
}

.color-department-table .capa,
.color-department-table .year {
  text-align: right;
  width: 80px
}

.color-department-table .capt {
  width: 300px
}

.color-department-table thead {
  background: #000;
  color: #fff
}

.color-department-table thead th {
  padding: 0 10px;
  font-weight: 400;
  border: 1px solid #fff;
  font-size: 13px
}

.color-department-table tbody tr.green {
  background: #9fc86f;
  color: #000
}

.color-department-table tbody tr.blue {
  background: #79c2e9;
  color: #000
}

.color-department-table tbody tr.purple {
  background: #c4a4cd;
  color: #000
}

.color-department-table tbody tr.orange {
  background: #fbb438;
  color: #000
}

.color-department-table tbody tr.pink {
  background: #f77d93;
  color: #000
}

.color-department-table tbody tr.last td,
.color-department-table tbody tr.last th {
  border-bottom: 4px solid #fff
}

.color-department-table tbody tr.total td,
.color-department-table tbody tr.total th {
  text-align: right;
  border: none;
  background: #eef2f2
}

.color-department-table tbody td,
.color-department-table tbody th {
  font-weight: 400;
  padding: 8px 10px;
  line-height: 1.3em;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff
}

.color-department-table tbody th.department {
  border-left: none;
  border-bottom: 4px solid #fff
}

.color-department-table tbody .lbl {
  display: none
}

.flow-table {
  width: 100%;
  border-spacing: 0
}

.flow-table tr td,
.flow-table tr th {
  font-weight: 400;
  position: relative;
  width: 25%;
  border-right: 1px solid #ddd;
  vertical-align: top
}

.flow-table tr td {
  padding: 10px
}

.flow-table thead tr th {
  font-weight: 400;
  padding: 10px;
  padding-bottom: 46px
}

.flow-table thead tr th .caption {
  display: block;
  line-height: 1.2em;
  font-size: 10px
}

.flow-table thead tr th .fukidashi {
  position: absolute;
  bottom: 10px;
  left: 10px;
  height: 30px;
  width: calc(100% - 20px);
  line-height: 30px;
  display: block;
  text-align: center;
  background: #eef2f2
}

.flow-table thead tr th .fukidashi::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #eef2f2
}

.flow-table thead tr th.col1 .fukidashi {
  background: #d3dcdd
}

.flow-table thead tr th.col1 .fukidashi::after {
  border-top: 10px solid #d3dcdd
}

.flow-table tbody th {
  padding: 0 10px;
  text-align: center
}

.flow-table tbody th .flow {
  position: absolute;
  height: 100%;
  width: calc(100% - 20px);
  display: block;
  background: #d3dcdd
}

.flow-table tbody th .flow .txt {
  display: block;
  position: relative;
  top: 50%;
  transform: translate(0, -50%)
}

.flow-table tbody td {
  min-height: 100px;
  font-size: 11px;
  line-height: 1.6em
}

.flow-table tbody td h4 {
  font-size: 12px;
  margin-bottom: 5px;
  font-weight: 400;
  border-bottom: 1px solid #aaa
}

.flow-table tbody td ul {
  font-size: 11px
}

.flow-table tbody td ul li {
  padding: 2px 0 2px 15px
}

.flow-table tbody td ul li .caption {
  font-size: 10px
}

.flow-table tbody td .colspan-fukidashi {
  padding: 10px;
  font-size: 12px;
  text-align: center;
  border: 2px solid #ddd;
  position: absolute;
  width: calc(300% - 40px);
  left: 20px;
  top: 50%;
  transform: translate(0, -50%);
  background: #f6f7f8;
  z-index: 1
}

.flow-table tbody .flow::after {
  position: absolute;
  bottom: 0;
  left: 10px;
  display: block;
  content: "";
  border-bottom: 1px solid #fff;
  width: calc(100% - 20px);
  height: 1px
}

.flow-table tbody .divide td::after {
  position: absolute;
  bottom: 0;
  left: 10px;
  display: block;
  content: "";
  border-bottom: 1px dotted #aaa;
  width: calc(100% - 20px);
  height: 1px
}

.flow-table tbody .last .flow {
  background: 0 0
}

.flow-table tbody .last .flow .txt {
  top: 40%
}

.flow-table tbody .last .flow::after {
  top: 0;
  left: 50%;
  height: auto;
  width: auto;
  transform: translate(-50%, 0);
  border: 84px solid transparent;
  border-top: 70px solid #d3dcdd;
  z-index: -1
}

.docs-in-contact {
  background: #eef2f2;
  padding: 20px;
  text-align: center
}

.docs-in-contact h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 24px;
  margin-bottom: 20px
}

.docs-in-sns {
  display: flex;
  margin-top: 20px
}

.docs-in-sns li {
  width: 50%;
  margin-right: 10px
}

.docs-in-sns li:last-child {
  margin-right: 0
}

.docs-in-sns li a {
  display: block;
  color: #fff;
  text-align: center;
  line-height: 40px
}

.docs-in-sns li a.fb {
  background: #3c5a99 url(../img/icon.facebook.svg) 2px center no-repeat
}

.docs-in-sns li a.tw {
  background: #55acee url(../img/icon.twitter.svg) 2px center no-repeat
}

.docs-in-sns li a.in {
  background: #f60 url(../img/icon.insta.svg) 2px center no-repeat
}

.docs-in-related-link {
  background: #eef2f2;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px
}

.docs-in-related-link h4 {
  font-weight: 400;
  font-size: 14px
}

.docs-in-related-link.bnr {
  position: relative;
  background: 0 0;
  border: 1px solid #ddd;
  text-align: right;
  padding-right: 50px;
  align-items: flex-end
}

.docs-in-related-link.bnr::after {
  display: block;
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  right: 20px;
  top: 50%;
  margin-top: -10px;
  transform: rotate(45deg)
}

.docs-in-related-link.thumbnail {
  padding: 0
}

.docs-in-related-link.thumbnail a {
  display: flex;
  position: relative;
  padding: 20px 50px 20px 20px;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  color: #000
}

.docs-in-related-link.thumbnail a figure {
  margin-left: 30px;
  width: 245px;
  border: 1px solid #eee
}

.docs-in-related-link.thumbnail a figure img {
  width: 100%
}

.docs-in-related-link.thumbnail a h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 15px
}

.docs-in-related-link.thumbnail a p {
  font-size: 13px
}

.docs-in-related-link.thumbnail a::after {
  display: block;
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  right: 20px;
  top: 50%;
  margin-top: -10px;
  transform: rotate(45deg)
}

.slide-photo {
  margin-bottom: 40px
}

.slide-photo .slide-wrap img {
  margin: 0 5px
}

.slide-photo .slide-wrap .slick-dots {
  bottom: -30px
}

.slide-photo .slide-wrap .slick-dots li {
  width: 36px;
  padding: 0 3px
}

.slide-photo .slide-wrap .slick-dots li button {
  height: 1px;
  background: #888;
  padding: 0;
  width: 30px
}

.slide-photo .slide-wrap .slick-dots li button:before {
  content: ""
}

.slide-photo .slide-wrap .slick-dots li.slick-active button {
  background: #9542c4
}

.show-box ul {
  display: flex
}

.show-box ul li {
  padding: 30px;
  margin-right: 20px;
  background: #f9f9f9
}

.show-box ul li:last-child {
  margin-right: 0
}

.show-box ul li h3 {
  text-align: center;
  margin-bottom: 20px;
  font-weight: 400
}

.show-box ul li img {
  display: block;
  margin: 0 auto 20px
}

.show-box ul li p {
  font-size: 14px;
  line-height: 1.4em
}

.photo-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px
}

.photo-list li {
  width: calc(25% - 2px);
  margin-right: 2px;
  margin-bottom: 2px
}

.photo-list li:last-child {
  margin-right: 0
}

.photo-list li img {
  width: 100%;
  height: auto
}

.photo-list.col1 li {
  width: 100%
}

.photo-list.col5 li {
  width: calc(20% - 2px)
}

.photo-list.col2 li {
  width: calc(50% - 2px)
}

.thumbnails-columns {
  display: flex;
  flex-wrap: wrap
}

.thumbnails-columns li {
  display: flex;
  padding: 10px;
  background: #f6f7f8;
  margin-bottom: 18px;
  margin-right: 18px
}

.thumbnails-columns li:nth-child(3n) {
  margin-right: 0
}

.thumbnails-columns li span.num {
  display: block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  width: 20px;
  padding-right: 10px;
  text-align: center
}

.thumbnails-columns li figure {
  width: 200px
}

.thumbnails-columns li figure img {
  width: 200px;
  height: auto;
  vertical-align: bottom
}

.thumbnails-columns li figure figcaption {
  display: block;
  font-size: 12px
}

.bnr-article {
  position: relative;
  height: 120px;
  width: 100%
}

.bnr-article>* {
  position: relative;
  color: #fff
}

.bnr-article::after {
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  top: 50%;
  right: 20px;
  transform: rotate(45deg);
  margin-top: -15px
}

.bnr-article figure {
  position: absolute;
  background: #000;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  overflow: hidden
}

.bnr-article figure img {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  opacity: .6;
  width: 100%;
  height: autol
}

.bnr-article h3 {
  padding: 30px 20px 10px 20px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.3em
}

.bnr-article h3 .font-acum {
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 36px
}

.bnr-article p {
  font-size: 14px;
  padding: 0 20px
}

#event-apply {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, .3);
  z-index: 10;
  height: 85px;
  padding: 14px 0
}

#event-apply.bind {
  position: absolute
}

#event-apply .wrap {
  width: 1040px;
  margin: 0 auto;
  display: flex
}

#event-apply .wrap h2 {
  width: 360px;
  font-size: 30px;
  margin: 0
}

#event-apply .wrap a.apply {
  display: block;
  background: #9542c4;
  color: #fff;
  height: 57px;
  text-align: center;
  width: 320px;
  font-weight: 700;
  font-size: 16px;
  padding-top: 12px;
  line-height: 1em
}

#event-apply .wrap a.apply span {
  display: block;
  font-size: 12px;
  font-weight: 400;
  margin-top: 5px
}

#event-apply .wrap dl {
  width: 360px;
  padding-left: 30px;
  font-size: 12px;
  line-height: 1.2em
}

#event-apply .wrap dl dt {
  padding-top: 2px;
  padding-bottom: 5px;
  font-weight: 700
}

#event-apply .wrap dl dd {
  line-height: 1.5em
}

.min-shoulder {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.7em
}

.acum-chatch {
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: .15em;
  font-size: 60px;
  border-bottom: 3px solid #000;
  margin-bottom: 30px;
  line-height: 1.2em;
  padding-bottom: 10px
}

.acum-chatch.orange {
  border-color: #fbb438
}

.acum-chatch.blue {
  border-color: #79c2e9
}

.acum-chatch.pink {
  border-color: #f77d93
}

.acum-chatch.purple {
  border-color: #c4a4cd
}

.calendar_menu {
  display: none;
}

.calendar-unit {
  display: flex;
  margin-top: 20px;
  /* 20240911 オープンキャンパス情報のテキスト行間について */
  flex-wrap: wrap;
}

.calendar-unit dl {
  background: #f8f9fa;
  /* 20240911 オープンキャンパス情報のテキスト行間について */
  margin-right: 0;
  padding-right: 1px;
  box-sizing: border-box;
  width: calc(100% / 6);
}

.calendar-unit dl dt {
  background: #fff;
  text-align: center;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  line-height: 50px;
  font-size: 24px
}

.calendar-unit dl dt .unit {
  font-size: 15px;
  margin-left: 5px
}

.calendar-unit dl:nth-child(even) {
  background: #f2f4f5
}

.calendar-unit dl:last-child {
  margin: 0
}

.calendar-unit dl dd {
  padding: 0;
  line-height: 1.1em
}

.calendar-unit.shutsugan dl dd {
  padding: 0;
  line-height: 1.1em
}

.calendar-unit dl dd .schedule-unit {
  min-height: 130px
}

.calendar-unit dl dd .schedule-unit li {
  position: relative;
  background: #d3dcdd;
  font-size: 12px;
  color: #000;
  padding: 5px 8px;
  margin-bottom: 2px;
  line-height: 1.3em
}

.calendar-unit dl dd .schedule-unit li time span {
  font-size: 9px
}

.calendar-unit dl dd .schedule-unit li .title {
  margin-left: 5px;
  font-weight: 700
}

.calendar-unit dl dd .schedule-unit li.Sat {
  background: #56c9ff
}

.calendar-unit dl dd .schedule-unit li.Sun {
  background: #fc91d0
}

.calendar-unit dl dd .schedule-unit li.ext {
  position: absolute
}

.calendar-unit dl dd .schedule-unit li.ext .title {
  display: block;
  margin: 3px 0 0 0
}

.calendar-unit dl dd .schedule-unit li.ext.colspan2 {
  width: 326px
}

.calendar-unit dl dd .schedule-unit li.ext.colspan2-contexthide {
  display: none
}

.calendar-unit dl dd .schedule-unit li.row2 {
  top: 46px
}

.calendar-unit dl dd .schedule-unit li:last-child {
  margin-bottom: 0
}

.calendar-unit dl dd .entry-unit {
  height: 151px;
  position: relative
}

.calendar-unit dl dd .entry-unit li {
  position: absolute;
  background: #d3dcdd;
  height: auto !important;
  width: 100%;
  margin-bottom: 2px;
  padding: 5px 8px
}

.calendar-unit dl dd .entry-unit li time {
  font-size: 10px;
  display: block
}

.calendar-unit dl dd .entry-unit li .title {
  display: block;
  font-size: 12px;
  font-weight: 700
}

.calendar-unit dl dd .entry-unit li:last-child {
  margin-bottom: 0
}

.calendar-unit dl dd .entry-unit li.normal {
  top: 0
}

.calendar-unit dl dd .entry-unit li.recommendation {
  top: 44px
}

.calendar-unit dl dd .entry-unit li.international {
  top: 88px;
  background: #000;
  color: #fff
}

.calendar-unit dl dd .caption {
  display: block;
  font-size: 10px;
  line-height: 1.2em;
  padding-top: 50px
}

.calendar-unit dl dd.sc-orientation {
  border-top: 1px solid #ddd
}

.UI-contact {
  margin-top: 50px;
  text-align: center
}

.UI-contact h3 {
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 25px
}

.UI-contact .wrap {
  padding: 28px 0 20px 0;
  border: #d3dcdd solid 5px
}

.UI-contact .wrap a.tel {
  margin-bottom: 0
}

.UI-contact .wrap .cap1 {
  display: block;
  font-weight: 700;
  margin-bottom: 15px
}

.UI-contact .wrap .cap2 {
  font-weight: 12px
}

.pdf-dl {
  position: relative;
  border: 1px solid #ddd;
  padding: 15px;
  display: flex;
  background: #f6f7f8
}

.pdf-dl figure {
  margin-right: 20px;
  border: 2px solid #fff
}

.pdf-dl div {
  display: table
}

.pdf-dl div p {
  display: table-cell;
  vertical-align: middle;
  height: 85px
}

.pdf-dl img {
  height: 85px
}

.pdf-dl::after {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 20px;
  top: 50%;
  margin-top: -10px;
  transform: rotate(45deg)
}

.btn-link-list {
  margin-bottom: 20px
}

.btn-link-list li {
  margin-bottom: 5px
}

.btn-link-list li a {
  display: inline-block;
  min-width: 50%;
  text-align: left;
  line-height: 1.4em;
  padding: 10px;
  padding-right: 30px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 14px
}

.btn-link-list li a.on-icon {
  padding-right: 70px
}

.btn-link-list li a .title {
  display: block
}

.btn-link-list li a .icon {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translate(0, -50%);
  vertical-align: bottom;
  margin-left: 10px
}

.btn-link-list.borderless li a {
  border: none;
  min-width: inherit;
  background: 0 0
}

.btn-link-list.borderless li a::after {
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  width: 12px;
  height: 12px;
  margin-top: -6px
}

.icon {
  display: inline-block;
  width: 25px;
  height: 28px
}

.icon img {
  display: none;
  width: 100%;
  height: auto
}

.icon.pdf {
  background: url(../img/icon.pdf.svg) no-repeat;
  background-size: 25px 28px
}

.icon.xls {
  background: url(../img/icon.xls.svg) no-repeat;
  background-size: 25px 28px
}

.icon.youtube {
  background: url(../img/icon.youtube.svg) no-repeat;
  background-size: 20px auto;
  height: 16px;
  width: 20px;
  vertical-align: middle;
  margin-right: 5px
}

.flug {
  margin-right: 10px
}

.flug img {
  height: 20px;
  vertical-align: middle
}

.loupe-frame img {
  width: 100%;
  height: auto
}

figure.label {
  position: relative
}

figure.label figcaption {
  position: absolute;
  display: block;
  top: 5%;
  left: 0;
  line-height: 26px;
  padding: 0 10px;
  min-width: 60px;
  color: #fff
}

figure.label figcaption.green {
  background: #9fc86f
}

figure.label figcaption.blue {
  background: #79c2e9
}

figure.label figcaption.purple {
  background: #c4a4cd
}

figure.label figcaption.orange {
  background: #fbb438
}

figure.label figcaption.pink {
  background: #f77d93
}

figure.pickup {
  display: inline-block;
  position: relative
}

figure.pickup figcaption {
  position: absolute;
  background: url(../img/bg.pickup.svg) center center no-repeat;
  display: block;
  width: 76px;
  height: 76px;
  line-height: 76px;
  color: #fff;
  text-align: center;
  font-size: 25px;
  letter-spacing: 0;
  transform: rotate(-25deg);
  right: 0;
  top: -20px
}

.fig-circle {
  display: block;
  width: 160px;
  height: 160px;
  overflow: hidden;
  border-radius: 80px
}

.fig-circle img {
  width: 100%
}

.widgettitle {
  display: none
}

.widget-list>li {
  margin-bottom: 20px
}

.new-arrival h2 {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  padding: 0 5px 5px
}

aside {
  width: 245px
}

aside .widget {
  margin-bottom: 20px
}

aside .widget.guide {
  background: url(../img/bnr.bg.guide.jpg) center center no-repeat;
  background-size: cover
}

aside .widget.guide a {
  display: block;
  color: #fff;
  padding: 10px
}

aside .widget.guide .btn {
  position: relative;
  margin-top: 20px;
  display: block;
  clear: both;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
  text-align: center;
  line-height: 40px
}

aside .widget.guide .btn::after {
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 15px;
  transform: rotate(45deg);
  transition: all .3s ease 0s
}

aside .widget.guide .btn:hover::after {
  right: 5px
}

aside .widget.guide a.application {
  position: relative
}

aside .widget.guide a.application>* {
  position: relative
}

aside .widget.guide a.application figure {
  border: 2px solid #fff;
  float: left;
  margin-right: 10px
}

aside .widget.guide a.application figure img {
  width: 84px;
  height: 113px
}

aside .widget.guide a.application h4 {
  font-size: 12px;
  font-weight: 400
}

aside .widget.guide a.application h4 span {
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  display: inline-block;
  background: #fff;
  color: #a19d99;
  font-size: 20px;
  font-weight: 700;
  height: 24px;
  line-height: 22px;
  width: 50px;
  text-align: center;
  letter-spacing: .1em;
  vertical-align: middle;
  margin-right: 8px
}

aside .widget.guide a.application h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 28px;
  letter-spacing: .1em;
  margin: 15px 0
}

aside .widget.guide a.application .caption {
  display: block;
  line-height: 1.2em
}

aside .widget.guide a.application::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .25);
  position: absolute;
  top: 0;
  left: 0
}

aside .widget.guide a.application::after {
  display: block;
  content: "";
  clear: both
}

aside .widget.guide a.application .btn {
  background: #9542c4 url(../img/icon.application.svg) 10px center no-repeat;
  background-size: 21px auto
}

aside .widget.guide hr {
  border-top: 1px solid rgba(255, 255, 255, .3)
}

aside .widget.guide a.digital {
  position: relative
}

aside .widget.guide a.digital .caption {
  position: relative;
  display: block;
  margin-bottom: 5px
}

aside .widget.guide a.digital h3 {
  position: relative;
  font-size: 23px;
  letter-spacing: 0;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-weight: 700;
  text-align: center;
  letter-spacing: -.03em
}

aside .widget.guide a.digital h3 .shoulder {
  display: block;
  letter-spacing: .1em;
  font-size: 19px
}

aside .widget.guide a.digital .btn {
  background: rgba(0, 0, 0, .4) url(../img/icon.digitalbook.svg) 6px center no-repeat;
  border: 1px solid rgba(255, 255, 255, .5);
  background-size: 28px auto;
  box-shadow: none
}

.aside-nav-index h3 {
  font-weight: 400;
  font-size: 16px;
  background: #1d1619;
  color: #fff;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600
}

.aside-nav-index h3 a {
  position: relative;
  padding: 10px 30px 10px 10px;
  display: block;
  color: #fff
}

.aside-nav-index h3 a::after {
  content: "";
  display: block;
  position: absolute;
  right: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  margin-top: -4px
}

.aside-nav-index h3 span {
  display: block;
  font-size: 14px
}

.aside-nav-index nav .accordion {
  position: relative;
  display: block;
  font-size: 12px;
  padding: 20px 10px;
  background: #eef2f2;
  line-height: 1.3em;
  border-bottom: 1px solid #fff
}

.aside-nav-index nav .accordion.clothing {
  background: #9fc86f
}

.aside-nav-index nav .accordion.fashion-ind {
  background: #79c2e9
}

.aside-nav-index nav .accordion.fashion-logi {
  background: #c4a4cd
}

.aside-nav-index nav .accordion.fashion-craft {
  background: #fbb438
}

.aside-nav-index nav .accordion.fashion-night {
  background: #f77d93
}

.aside-nav-index nav .accordion::after {
  position: absolute;
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  background: url(../img/icon.plus.bk.svg);
  right: 10px;
  top: 50%;
  margin-top: -8px;
  transition: all .3s ease 0
}

.aside-nav-index nav .accordion.open::after {
  transform: rotate(45deg)
}

.aside-nav-index nav ul li a {
  display: block;
  color: #000;
  font-size: 12px;
  padding: 10px 10px;
  padding-right: 25px;
  background: #eef2f2;
  line-height: 1.3em;
  border-bottom: 1px solid #fff;
  position: relative
}

.aside-nav-index nav ul li a::after {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  right: 16px;
  top: 50%;
  margin-top: -3px;
  transform: rotate(45deg)
}

.aside-nav-index nav ul li ul {
  background: #eef2f2;
  padding-left: 30px
}

.aside-nav-index nav ul li ul a {
  background: #d3dcdd;
  border-left: 1px solid #fff
}

.aside-nav-index nav ul li.clothing a {
  background: #9fc86f
}

.aside-nav-index nav ul li.clothing ul {
  background: #9fc86f
}

.aside-nav-index nav ul li.clothing ul a {
  background: rgba(255, 255, 255, .3)
}

.aside-nav-index nav ul li.fashion-ind a {
  background: #79c2e9
}

.aside-nav-index nav ul li.fashion-ind ul {
  background: #79c2e9
}

.aside-nav-index nav ul li.fashion-ind ul a {
  background: rgba(255, 255, 255, .3)
}

.aside-nav-index nav ul li.fashion-logi a {
  background: #c4a4cd
}

.aside-nav-index nav ul li.fashion-logi ul {
  background: #c4a4cd
}

.aside-nav-index nav ul li.fashion-logi ul a {
  background: rgba(255, 255, 255, .3)
}

.aside-nav-index nav ul li.fashion-craft a {
  background: #fbb438
}

.aside-nav-index nav ul li.fashion-craft ul {
  background: #fbb438
}

.aside-nav-index nav ul li.fashion-craft ul a {
  background: rgba(255, 255, 255, .3)
}

.aside-nav-index nav ul li.fashion-night a {
  background: #f77d93
}

.aside-nav-index nav ul li.fashion-night ul {
  background: #f77d93
}

.aside-nav-index nav ul li.fashion-night ul a {
  background: rgba(255, 255, 255, .3)
}

.aside-nav-index nav ul.event-list li a {
  padding: 20px;
  padding-right: 25px
}

.aside-nav-index nav .accordion+ul {
  display: none
}

.aside-nav-index nav.heigh-nav ul li a {
  padding: 20px 10px
}

.aside-article-list ul li {
  margin-bottom: 2px
}

.aside-article-list ul li a {
  display: block;
  color: #000
}

.aside-article-list ul li a article {
  position: relative;
  background: #eef2f2;
  padding-left: 67px;
  min-height: 72px
}

.aside-article-list ul li a article .thumb {
  display: block;
  position: absolute;
  width: 54px;
  overflow: hidden;
  min-height: 72px;
  left: 0
}

.aside-article-list ul li a article .thumb .label {
  height: 18px;
  font-size: 9px;
  text-align: center;
  line-height: 18px;
  padding: 0;
  padding-top: 2px
}

.aside-article-list ul li a article .thumb img {
  position: absolute;
  height: 54px;
  width: auto;
  left: 50%;
  top: 18px;
  transform: translate(-50%, 0)
}

.aside-article-list ul li a article time {
  display: block;
  height: 18px;
  font-size: 9px;
  line-height: 18px;
  padding-top: 2px
}

.aside-article-list ul li a article h3 {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2em;
  padding: 4px 10px 4px 0
}

.widget a {
  display: block
}

.bnr-rv {
  position: relative;
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2025.jpg) center center no-repeat;
  background-size: cover;
  height: 200px;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, .9)
}

.bnr-rv.rv2022 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2021_slide-756x265-1.jpg) no-repeat center;
  background-size: cover !important;
}

.bnr-rv.rv2023 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2023_slide-756x265-1.jpg) no-repeat center;
  background-size: cover !important;
}

@media screen and (min-width:769px) {
  .widget .bnr-rv.rv2022 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2022.jpg);
    height: 240px;
  }

  .widget .bnr-rv.rv2022 h3 {
    padding-top: 50px;
  }

  .widget .bnr-rv.rv2023 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2023.jpg);
    height: 240px;
  }
  .widget .bnr-rv.rv2024 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2024.jpg);
    height: 240px;
  }
  .widget .bnr-rv.rv2025 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2025.jpg);
    height: 240px;
  }

  .widget .bnr-rv.rv2023 h3 {
    padding-top: 50px;
  }
}

@media screen and (max-width:768px) {
  .widget .bnr-rv.rv2022 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2021_slide-756x265-1.jpg);
  }

  .widget .bnr-rv.rv2023 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2023_slide-756x265-1.jpg);
  }
}

.bnr-rv>* {
  position: relative
}

.bnr-rv::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: rgba(0, 0, 0, .36) */
}

.bnr-rv h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 31px;
  margin-bottom: 15px;
  padding-top: 30px;
  line-height: 1.5em
}

.bnr-event {
  position: relative;
  background: url(../img/event/bnr.bg.jpg) center center no-repeat;
  background-size: cover;
  height: 300px;
  color: #fff;
  padding: 20px
}

.bnr-event>* {
  position: relative
}

.bnr-event::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .16)
}

.bnr-event h3 {
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-size: 32px;
  padding: 15px 0 30px 0
}

.bnr-event span {
  display: block;
  position: absolute;
  bottom: 20px;
  padding-right: 40px;
  right: 10px
}

.slide-scope {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 580px;
  min-width: 1040px
}

.home-slide {
  position: absolute !important;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  min-width: 1430px;
  background: url(../img/bg.slide.jpg) center center no-repeat;
  background-size: cover;
  height: 580px;
  padding: 20px 0
}

.home-slide .slide {
  position: relative;
  height: 540px;
  width: 450px;
  background: #000;
  color: #fff;
  overflow: hidden
}

.home-slide .slide .slide-content {
  position: relative;
  z-index: 1;
  height: 100%;
  text-align: center
}

.home-slide a {
  color: #fff;
  display: block
}

.home-slide .bg-youtube {
  overflow: hidden
}

.home-slide .bg-youtube iframe {
  position: absolute;
  height: 56.25vw;
  width: 100vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.home-slide .bg-youtube .slide-content {
  background: rgba(0, 0, 0, .5)
}

.home-slide .bg-image .bg {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat
}

.home-slide .slick-slide {
  transform: scale(.8);
  transition: all .3s ease 0s
}

.home-slide .slick-slide.slick-current {
  transform: scale(1)
}

.home-slide .movie {
  overflow: hidden
}

.home-slide .movie iframe {
  position: absolute;
  height: 56.25vw;
  width: 100vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.home-slide.pc-aspect {
  padding: 0
}

.home-slide.pc-aspect .slide {
  width: 100%;
  height: 580px
}

.slide-thumb-wrap {
  width: 100%;
  height: 110px;
  background: #1d1619
}

.slide-thumb-wrap .slick-track {
  width: auto !important;
  display: flex;
  justify-content: center
}

.slide-thumb-wrap .thumb-item {
  width: auto !important;
  margin: 4px 2px;
  color: #fff;
  width: 150px !important
}

.slide-thumb-wrap .thumb-item span.thumb {
  position: relative;
  display: block;
  height: 80px;
  width: 150px;
  overflow: hidden
}

.slide-thumb-wrap .thumb-item span.thumb img {
  position: absolute;
  width: 150px;
  height: auto;
  top: 50%;
  transform: translate(0, -50%)
}

.slide-thumb-wrap .thumb-item figcaption {
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden
}

.home-content .top-banner {
  margin-top: 5px;
  background: url(../img/bg.dotted.png), url(../img/bg.pickup.jpg) center center no-repeat;
  background-size: auto, cover;
  color: #fff
}

.home-content .top-banner h2 {
  text-align: center;
  font-size: 20px;
  letter-spacing: .05em;
  margin-bottom: 0
}

.home-content .top-banner .widgettitle {
  display: none
}

.home-content .top-banner .pickup-bnr-list {
  width: 1040px;
  margin: 0 auto;
  padding: 0 0 20px 0;
  display: flex;
  justify-content: space-between
}

.home-content .top-banner .pickup-bnr-list li {
  width: 333px
}

.home-content .top-banner .pickup-bnr-list li img {
  width: 100%
}

.home-content .center-layout.home-read {
  background: url(../img/bg.flower.jpg) center center no-repeat;
  background-size: cover
}

.home-content .center-layout.home-read>.wrap {
  width: 820px
}

.home-content .center-layout.home-read>.wrap h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  flex-wrap: nowrap
}

.home-content .center-layout.home-read>.wrap h2 span {
  display: block
}

.home-content .center-layout.home-read>.wrap h2 .font-acum {
  font-size: 150%;
  padding-bottom: 10px
}

.home-content .center-layout.home-read>.wrap p {
  margin-bottom: 80px
}

.home-content .center-layout.home-read>.wrap .movie {
  display: flex;
  justify-content: space-between;
  margin-top: 80px
}

.home-content .center-layout.home-read>.wrap .movie figure {
  width: 400px
}

.home-content .center-layout.home-read>.wrap .movie figure img {
  width: 100%
}

.home-content .center-layout.home-news {
  color: #fff;
  background: #1d1619 url(../img/bg.dotted.png) center center
}

.home-content .center-layout.home-news .news-list-box-4glid {
  margin-bottom: 40px
}

.home-content .special-site {
  display: flex;
  flex-wrap: wrap
}

.home-content .special-site li {
  width: 245px;
  margin-right: 20px;
  margin-bottom: 20px
}

.home-content .special-site li:nth-child(4n) {
  margin-right: 0
}

.home-content .special-site li a {
  color: #000;
  text-align: center
}

.home-content .special-site li a h3 {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3em;
  margin-bottom: 8px;
  font-weight: 700
}

.home-content .special-site li a h3.font-acum {
  font-size: 20px;
  margin-top: 1px
}

.home-content .special-site li a p {
  font-size: 12px;
  line-height: 1.2em
}

.home-content .media {
  background: #f4f3f5;
  margin-bottom: 4px
}

.home-content .media h2 {
  text-align: center;
  font-size: 24px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  line-height: 70px
}

.home-content .media .wrap {
  background: #f8f7f9;
  padding: 20px 0
}

.home-content .media .wrap .frame-wrap {
  width: 1040px;
  margin: 0 auto
}

.home-specialsite .rv2019 {
  position: relative;
  width: 245px;
  height: 223px;
  overflow: hidden
}

.home-specialsite .rv2019 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%
}

.home-specialsite .rv2019 figcaption {
  position: absolute;
  background: rgba(0, 0, 0, .3);
  color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  font-size: 30px;
  padding-top: 30px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  text-shadow: 0 0 5px rgba(0, 0, 0, .5)
}

.home-specialsite .rv2019 figcaption span {
  display: block;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px
}

.home-specialsite figure.justify-2019-bnr {
  display: block;
  width: 245px;
  height: 223px;
  background: #000;
  position: relative
}

.home-specialsite figure.justify-2019-bnr span {
  position: absolute;
  display: inline-block;
  border-radius: 9px;
  overflow: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.home-social {
  background: #000
}

.home-social .post-body {
  padding: 0
}

.news-top {
  margin-top: 30px
}

.document-require {
  position: relative;
  overflow: hidden;
  background: url(../img/bnr.bg.guide.jpg);
  box-shadow: 0 0 5px rgba(0, 0, 0, .1);
  border: 5px solid #fff
}

.document-require h2 {
  text-align: center;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 50px 0;
  padding-top: 150px
}

.document-require h2 .name {
  position: absolute;
  overflow: hidden;
  display: block;
  color: #fff;
  font-size: 380px;
  height: 230px;
  width: 100%;
  padding-top: 50px;
  top: -80px
}

.document-require h2 span {
  display: block;
  color: #000;
  font-size: 54px;
  margin-top: 80px
}

.document-require ul {
  padding: 20px;
  display: flex;
  justify-content: space-between
}

.document-require ul li {
  width: 32%
}

.document-require ul li a {
  position: relative;
  text-align: center;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  height: 100%;
  display: block;
  background: #000;
  color: #fff;
  padding: 20px;
  font-size: 18px
}

.document-require ul li a::after {
  display: block;
  width: 16px;
  height: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  right: 15px;
  transform: rotate(45deg);
  top: 50%;
  margin-top: -8px;
  content: ""
}

.document-require ul li a .target {
  font-size: 24px;
  display: block;
  margin-bottom: 10px
}

.document-require ul li a .target .sub {
  display: block;
  font-size: 20px
}

.document-require ul li a .caption {
  display: block;
  line-height: 1.3em;
  margin-top: 20px
}

div.budget {
  width: 100%;
  overflow: scroll
}

div.budget table.head {
  position: absolute;
  width: 190px;
  z-index: 1
}

div.budget table {
  font-size: 12px
}

div.budget table th {
  white-space: nowrap
}

div.budget table .course {
  width: 190px;
  border-right: 4px double #fff
}

div.budget table .budget {
  position: relative;
  padding: 0 15px;
  text-align: center
}

div.budget table .budget sup {
  position: absolute;
  font-size: 9px;
  top: -8px;
  right: 0;
  font-weight: 400
}

div.budget table .total {
  border-left: 4px solid #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 0 10px
}

div.budget table thead th {
  border-top: none;
  font-size: 12px
}

.search h1 {
  font-size: 18px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-bottom: 20px;
  padding: 20px 0
}

.search-wrap {
  min-height: 10vh
}

.search-wrap .UI-search {
  max-width: 200px
}

.search-wrap .UI-search input[type=text] {
  width: 200px
}

.coming-soon {
  background: #000 url(../img/bg.cs.jpg) center center no-repeat;
  background-size: cover;
  height: calc(100vh - 187px);
  color: #fff
}

.coming-soon .wrap {
  width: 1040px;
  margin: 0 auto;
  text-shadow: 0 0 5px rgba(255, 255, 255, .8)
}

.coming-soon .wrap h1 {
  padding: 5vh 0;
  font-size: 10vw;
  line-height: 1em;
  margin-bottom: 5vh
}

.coming-soon .wrap p {
  font-size: 10vw
}

.err404 {
  background: #000 url(../img/bg.cs.jpg) center center no-repeat;
  background-size: cover;
  height: calc(100vh - 187px);
  color: #fff
}

.err404 .wrap {
  width: 1040px;
  margin: 0 auto;
  text-shadow: 0 0 5px rgba(255, 255, 255, .8);
  text-align: center
}

.err404 .wrap h1 {
  padding: 5vh 0 0 0;
  line-height: 1em;
  margin-bottom: 50px;
  font-size: 70px
}

.err404 .wrap p {
  font-size: 16px
}

.err404 .wrap .search {
  position: relative;
  width: 500px;
  height: 50px;
  border: 3px solid rgba(255, 255, 255, .3);
  margin: 100px auto;
  border-radius: 5px
}

.err404 .wrap .search input[type=text] {
  background: 0 0;
  border: none;
  height: 100%;
  width: 100%;
  font-size: 18px;
  padding: 10px;
  color: #fff
}

.err404 .wrap .search input[type=submit] {
  position: absolute;
  right: 7px;
  top: 7px;
  width: 30px;
  height: 30px;
  background: #fff url(../img/icon.loupe.svg);
  border: none;
  border-radius: 15px
}

.mail-dummy {
  border: 4px solid #ddd
}

.mail-dummy .header span {
  padding: 10px;
  display: block;
  border-bottom: 1px solid #ddd
}

.sitemap-content li a {
  color: #000
}

.event-modal {
  display: flex;
  padding: 80px 60px
}

.ss-row {
  display: flex
}

.ss-flex {
  display: flex;
  align-items: center
}

.dis-sp {
  display: none
}

.dis-pc {
  display: block
}

@media screen and (max-width:768px) {
  .dis-pc {
    display: none
  }

  .dis-sp {
    display: block
  }

  .ss-row {
    display: block
  }

  .ss-row figure {
    margin-right: 0 !important;
    width: 100% !important
  }

  .ss-row figcaption {
    width: 100% !important
  }

  .ss-row h2 {
    padding-left: 10px !important;
    font-size: 18px !important
  }

  .ss-row span.h2 {
    width: 40px !important;
    height: 40px;
    font-size: 18px
  }

  .ss-flex.headline {
    align-items: center
  }

}

.ss-row figure {
  flex: 0 0 auto;
  margin-right: 20px;
  width: 40%
}

.ss-row figcaption {
  flex: 0 1 auto;
  width: 60%;
  flex-grow: 1;
  flex-shrink: 1
}

.ss-row figure img {
  width: 100%
}

.ss-row figure .ss-row a {
  padding: 10px 5px
}

.ss-row figure a {
  display: block;
  flex: 0 1 auto
}

.ss-row figure .ss-row {
  margin: 0 -5px
}

.modal-box .wrap main .event-modal figure {
  width: auto
}

.modal-box .wrap main .event-modal figure img {
  width: 100%
}

.ss-caution {
  font-size: 12px
}

.ss-headline {
  margin-bottom: 20px
}

.ss-row h2 {
  color: #0057b9;
  padding-left: 20px;
  line-height: 1;
  font-size: 24px;
  flex: 0 1 auto
}

.ss-row span.h2 {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  background: #0057b9;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px
}

.ss-green h2 {
  color: #009e0c;
  padding-left: 20px;
  line-height: 1;
  font-size: 24px
}

.ss-green span.h2 {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  background: #009e0c;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px
}

.ss-four {
  flex-wrap: wrap
}

.ss-four a {
  flex-basis: 50% !important
}

.ss-row p {
  margin-bottom: 20px
}

.ss-row p.boshu {
  font-weight: 700;
  color: red;
  border: 1px solid red;
  padding: 15px 20px;
  display: inline-block
}

.ss-block dl {
  margin-bottom: 20px
}

.ss-row dt {
  font-weight: 700;
  margin-right: 10px;
  min-width: 50px
}

.ss-row dd {
  font-size: 100%;
  flex: 0 1 auto
}

.ss-row dd span {
  font-size: 95%;
  display: block;
  padding: 10px 0
}

.ss-contact-form {
  margin-bottom: 20px
}

.ss-contact-form a {
  display: block;
  color: red;
  border: 1px solid red;
  padding: 10px 0;
  text-align: center;
  position: relative;
  font-weight: 700;
  font-size: 150%
}

@media screen and (max-width:768px) {
  .ss-contact-form a::before {
    left: 10% !important
  }

}

.ss-contact-form a::before {
  display: block;
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-top: 1px solid red;
  border-right: 1px solid red;
  top: 40%;
  left: 25%;
  margin-top: -3px;
  transform: rotate(45deg)
}

.ss-pagenation {
  justify-content: space-between
}

.ss-pagenation a {
  border: 1px solid #000;
  text-align: center;
  color: #000;
  padding: 10px 30px;
  background: #fff;
  font-weight: 700;
  font-size: 110%
}

.ss-pagenation a.ss-prev {
  padding: 10px 20px 10px 30px !important
}

.ss-pagenation a.ss-next {
  padding: 10px 30px 10px 20px !important
}

.ss-pagenation a.ss-next,
.ss-pagenation a.ss-prev {
  position: relative;
  display: block
}

@media screen and (max-width:768px) {
  .ss-pagenation a {
    width: 33.3333%;
    padding: 10px 20px
  }

}

.ss-pagenation a.ss-prev::before {
  display: block;
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 40%;
  left: 15px;
  transform: rotate(-135deg)
}

.ss-pagenation a.ss-next::before {
  display: block;
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 40%;
  right: 15px;
  transform: rotate(45deg)
}

.s-list ul li a {
  display: block;
  position: relative
}

a.modal-link {
  display: block;
  position: relative
}

.modal-box {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10000
}

.modal-box .close {
  position: absolute;
  right: 17px;
  top: 17px;
  display: block;
  width: 34px;
  height: 34px;
  background: url(../img/icon.plus.bk.svg);
  transform: rotate(45deg);
  cursor: pointer
}

.modal-box .modal {
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
  width: 100%;
  background-color: rgba(255, 255, 255, .95);
  box-shadow: 0 0 20px rgba(0, 0, 0, .4);
  z-index: 1000
}

.modal-box .wrap {
  cursor: default;
  padding: 60px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center
}

.modal-box .wrap main img {
  max-width: 100%;
  max-height: 100%;
  height: 66vh
}

@media screen and (max-width:768px) {
  .modal-box .wrap main img {
    width: 100%;
    height: 100%
  }

  .modal-box .wrap {
    padding: 60px 30px
  }

}

.modal-box .back,
.modal-box .next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  text-indent: 100%;
  white-space: nowrap;
  font-size: 0;
  line-height: 0;
  cursor: pointer
}

.modal-box .next {
  right: 10px
}

.modal-box .back {
  left: 10px
}

.modal-box .back::before,
.modal-box .next::before {
  display: block;
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  margin-top: -3px
}

.modal-box .next::before {
  right: 16px;
  transform: rotate(45deg)
}

.modal-box .back::before {
  left: 16px;
  transform: rotate(-135deg)
}

@media (max-width:768px) {
  .event-modal {
    display: block;
    padding: 60px 10px
  }

  .event-modal-row {
    display: block
  }

  .event-modal p {
    margin-bottom: 10px
  }

  .event-modal p.boshu {
    margin-bottom: 10px
  }

  .modal-box .back::before,
  .modal-box .next::before {
    width: 18px;
    height: 18px
  }

  .modal-box .back,
  .modal-box .next {
    top: 27px;
    transform: translate(0, 0)
  }

  .modal-box .back {
    left: 0
  }

  .modal-box .next {
    left: 90px;
    right: inherit
  }

  .modal-box figure {
    margin: 0
  }

  .modal-box .modal {
    top: 0;
    transform: translate(0, 0);
    height: 100%;
    overflow: auto
  }

  .event-modal h2 {
    padding-left: 10px;
    margin-bottom: 10px
  }

}

.thumbnails-columns-blue {
  display: flex;
  flex-wrap: wrap
}

.thumbnails-columns-blue li {
  display: flex;
  padding: 10px;
  background: #f0f8ff;
  margin-bottom: 18px;
  margin-right: 18px
}

.thumbnails-columns-blue li:nth-child(3n) {
  margin-right: 0
}

.thumbnails-columns-blue li span.num {
  display: block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  width: 20px;
  padding-right: 10px;
  text-align: center
}

.thumbnails-columns-blue li figure {
  width: 200px
}

.thumbnails-columns-blue li figure img {
  width: 200px;
  height: auto;
  vertical-align: bottom
}

.thumbnails-columns-blue li figure figcaption {
  display: block;
  font-size: 12px
}

.thumbnails-columns-blue {
  display: flex;
  flex-wrap: wrap
}

.thumbnails-columns-blue li {
  display: flex;
  padding: 10px;
  background: #f0f8ff;
  margin-bottom: 18px;
  margin-right: 18px
}

.thumbnails-columns-blue li:nth-child(3n) {
  margin-right: 0
}

.thumbnails-columns-blue li span.num {
  display: block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  width: 20px;
  padding-right: 10px;
  text-align: center
}

.thumbnails-columns-blue li figure {
  width: 200px
}

.thumbnails-columns-blue li figure img {
  width: 200px;
  height: auto;
  vertical-align: bottom
}

.thumbnails-columns-blue li figure figcaption {
  display: block;
  font-size: 12px
}

.thumbnails-columns-green {
  display: flex;
  flex-wrap: wrap
}

.thumbnails-columns-green li {
  display: flex;
  padding: 10px;
  background: #f5fffa;
  margin-bottom: 18px;
  margin-right: 18px
}

.thumbnails-columns-green li:nth-child(3n) {
  margin-right: 0
}

.thumbnails-columns-green li span.num {
  display: block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  width: 20px;
  padding-right: 10px;
  text-align: center
}

.thumbnails-columns-green li figure {
  width: 200px
}

.thumbnails-columns-green li figure img {
  width: 200px;
  height: auto;
  vertical-align: bottom
}

.thumbnails-columns-green li figure figcaption {
  display: block;
  font-size: 12px
}

.thumbnails-columns-green {
  display: flex;
  flex-wrap: wrap
}

.thumbnails-columns-green li {
  display: flex;
  padding: 10px;
  background: #f5fffa;
  margin-bottom: 18px;
  margin-right: 18px
}

.thumbnails-columns-green li:nth-child(3n) {
  margin-right: 0
}

.thumbnails-columns-green li span.num {
  display: block;
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-weight: 700;
  font-size: 30px;
  width: 20px;
  padding-right: 10px;
  text-align: center
}

.thumbnails-columns-green li figure {
  width: 200px
}

.thumbnails-columns-green li figure img {
  width: 200px;
  height: auto;
  vertical-align: bottom
}

.thumbnails-columns-green li figure figcaption {
  display: block;
  font-size: 12px
}

.ss-body {
  font-size: 14px
}

.ss-body-big {
  font-size: 16px
}

.graduater {
  background-color: #eef2f2;
  padding: 2rem 3rem;
  display: inline-block
}

.graduater .row,
.graduater .row>div {
  display: flex;
  align-items: flex-start
}

@media screen and (max-width:768px) {
  .graduater {
    width: 100%;
    padding: 2rem 1rem
  }

  .graduater .row {
    display: block
  }

  .graduater .dis-flex:first-child {
    margin-bottom: 1rem
  }

}

.graduater .dis-flex {
  display: flex
}

.graduater .row>div:first-child {
  margin-right: 3rem
}

.graduater .row>div figure {
  border-radius: 50%;
  overflow: hidden;
  height: 4rem;
  width: 4rem;
  margin-right: 1rem;
  border: 2px solid #000;
  position: relative;
  flex: 0 0 auto
}

.graduater .row>div figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
  height: auto
}

.graduater .row>div figcaption p {
  margin-bottom: .5rem;
  line-height: 1
}

.graduater .row>div figcaption p:first-child {
  font-weight: 700
}

.graduater .row>div figcaption p:nth-child(2) {
  font-size: 1rem;
  font-weight: 700
}

.ca-figure {
  margin-bottom: 3rem
}

@media screen and (max-width:768px) {
  .graduater .row>div:first-child {
    margin-right: 0;
    margin-bottom: 1rem
  }

}

.doc-section .row {
  display: flex;
  justify-content: space-between
}

.doc-section .row figure img {
  max-width: 333px
}

.doc-section .row figcaption ol {
  margin: 0;
  padding: 0
}

.doc-section .row figcaption ol li {
  list-style: none;
  font-size: 18px;
  margin-bottom: 20px
}

.doc-section .row figcaption ol li span.rank {
  margin-right: 10px;
  font-weight: 700
}

.doc-section .row figcaption ol li span.num {
  font-size: 24px
}

.doc-section .row figcaption ol li span.underline {
  position: relative
}

.doc-section .row figcaption ol li span.underline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  height: .5rem;
  width: 100%;
  z-index: -1;
  background-color: #faec21;
  transform: translate(-50%, 0)
}

.ca-adult-comment ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.ca-adult-comment ul li {
  background: #f6f7f8;
  padding: 1.25rem;
  flex-basis: 49%;
  margin-bottom: 2%
}

.ca-faq-block h3 {
  border-left: 6px solid #000;
  padding-left: 10px;
  line-height: 1;
  margin-bottom: 10px
}

@media screen and (max-width:768px) {
  .doc-section figure {
    margin-bottom: 1rem
  }

  .doc-section .row {
    display: block
  }

  .ca-adult-comment ul li {
    width: 100%;
    flex-basis: auto
  }

  body .s-n-s-outer>div {
    display: block
  }

}

.s-n-s-outer>div {
  display: none
}

.slick-next,
.slick-prev {
  width: 2rem !important;
  height: 2rem !important
}

.slick-next {
  right: 50% !important;
  margin-right: -480px
}

.slick-prev {
  left: 50% !important;
  margin-left: -480px;
  z-index: 1
}

@media screen and (max-width:1140px) {
  .slick-next {
    right: 2rem !important;
    margin-right: 0
  }

  .slick-prev {
    left: 2rem !important;
    margin-left: 0
  }

}

.main-slider {
  overflow: hidden
}

.slider-for {
  height: 480px;
  overflow: hidden
}

.slider-for figure {
  height: 480px
}

.slick-slide img {
  display: inline-block !important
}

.slider-for img {
  height: 100%;
  width: auto
}

.slider-for .slick-track {
  display: flex
}

.slider-for .slick-slide {
  transition: .3s ease;
  position: relative;
  max-width: 853px;
  min-width: 853px
}

@media screen and (max-width:768px) {
  .slider-for figure {
    height: auto;
    width: 100vw
  }

  .slider-for {
    height: auto;
    overflow: hidden
  }

  .slider-for img {
    height: auto;
    width: 100%;
    display: inline-block !important
  }

  .slider-for iframe {
    height: 56.25vw;
    width: 100%;
    max-width: 853px
  }

  .slider-for .slick-slide {
    min-width: auto;
    max-height: 56.25vw;
    width: 100vw
  }

  .slider-nav .slick-track {
    padding: 0 !important
  }

  .slider-nav figure {
    height: auto !important
  }

  .slider-nav .slick-slide {
    flex-basis: 20% !important;
    width: 100% !important;
    padding: 0 .125 !important
  }

  .slider-nav {
    padding: .5rem 0 !important
  }

  .slider-nav figure img {
    display: inline-block !important
  }

}

.slider-for .slick-slide:not(.slick-current) div::before {
  content: "";
  background-color: #000;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: .7;
  z-index: 1
}

.slider-nav .slick-track {
  width: 100% !important;
  transform: none !important;
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
  display: flex !important;
  justify-content: center;
  padding: 0 20px
}

.slider .slick-next::after,
.slider .slick-next::before {
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -7px;
  transition: all .3s ease 0s
}

.slick-next::before {
  right: 4px
}

.slick-next::after {
  right: 14px
}

.slider .slick-prev::after,
.slider .slick-prev::before {
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(-135deg);
  position: absolute;
  top: 50%;
  margin-top: -7px;
  transition: all .3s ease 0s
}

.slick-prev::before {
  left: 4px
}

.slick-prev::after {
  left: 14px
}

.slider {
  opacity: 0;
  transition: opacity 1s linear
}

.slider.slick-initialized {
  opacity: 1
}

.slider-nav .slick-slide {
  width: 100% !important;
  padding: 0 5px
}

.slick-slide>figure img {
  height: 100%
}

.slider-nav .slick-track {
  max-width: 835px;
  margin: 0 auto;
  padding: 0
}

.slider-nav figure img {
  height: auto;
  width: 100%
}

.slider-nav figcaption {
  color: #fff;
  text-align: center
}

@media screen and (max-width:768px) {
  .slider-nav figcaption {
    display: none
  }

  article.slide {
    height: 100%;
    width: 100% !important
  }

}

.slider-nav {
  padding: 20px 0 15px;
  background: #1d1619
}

article.slide {
  height: 100%;
  width: 100% !important
}

article.slide iframe {
  max-width: 853px
}

@media screen and (min-width:1366px) {
  article.slide iframe {
    pointer-events: none
  }

  .pr {
    position: relative
  }

  a.ytb-btn {
    width: 110px;
    height: 26px;
    position: absolute;
    bottom: 19px;
    right: 19px
  }

}

.pr {
  position: relative
}

.pa-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.pa-center.ybtn {
  max-width: 4rem
}

.world10 .world-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.world10 .world-list::after {
  content: "";
  display: block;
  width: 32%
}

.world10 .world-list li {
  max-width: 32%;
  margin-left: 2%;
  margin-bottom: 1%
}

.world10 .world-list li:nth-child(3n+1) {
  margin-left: 0
}

.world10 .world-list li dl {
  display: flex;
  justify-content: space-between
}

.world10 .world-list li dl dt {
  background: url(../img/global/line.dashed.png) right center repeat-x;
  width: 200px;
  text-align: left
}

.world10 .world-list li dl dt span {
  display: inline-block;
  background: #fff;
  padding: 0 10px
}

.world10 .world-list li dl dd {
  padding: 0 5px;
  text-align: right;
  min-width: 40px
}

@media screen and (max-width:768px) {
  .world10 .world-list li {
    max-width: 48%;
    margin-left: 0;
    margin-bottom: 1%
  }

  .world10 .world-list li dl {
    font-size: 3vw
  }

  .world10 .world-list li dl dt img {
    width: 6vw;
    vertical-align: middle
  }

  .world10 .world-list li dl dt span {
    display: inline-block;
    background: #fff;
    padding: 0 2vw
  }

}

.accordion-toggle {
  background: #000;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  position: relative
}

.accordion-toggle::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(../img/icon.plus.svg) center center no-repeat;
  right: 30px;
  top: 50%;
  margin-top: -10px;
  transition: all .3s ease 0s
}

.accordion-toggle.open::after {
  transform: rotate(45deg)
}

.post-content .job-box {
  padding: 10px
}

.post-content .job-box a {
  width: 100%;
  margin: 0 0 5px 0;
  background: #eef2f2;
  display: block;
  color: #000;
  position: relative;
  padding: 1rem 2rem
}

.post-content .job-box a::after {
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 30px;
  transform: rotate(45deg);
  transition: all .3s ease 0s
}

.post-content .job-box a dl {
  display: flex;
  align-items: center
}

.post-content .job-box a dl dt {
  border: none;
  margin: 0;
  padding: 0;
  width: 240px;
  line-height: 1.1;
  font-weight: 600
}

.post-content .job-box a dl dd {
  font-size: 13px
}

@media screen and (max-width:768px) {
  .post-content .job-box a dl {
    display: block
  }

  .post-content .job-box a dl dt {
    margin: 0 0 .5rem 0;
    width: auto
  }

  .post-content .job-box a dl dd {
    padding-right: 1.5rem;
    line-height: 1.5
  }

}

.ttl-block {
  background: #eef2f2;
  padding: 1rem
}

.ttl-block h2,
.ttl-block h2>div {
  display: flex;
  align-items: center
}

.ttl-block h2>div:first-child {
  width: 40%
}

.ttl-block h2>div:last-child {
  text-align: center;
  justify-content: center;
  width: 60%
}

.ttl-block h2 span.ttl {
  line-height: 1.2
}

.ttl-block h2 span.font-acum {
  font-size: 46px;
  margin-right: 1rem
}

.ttl-block h2 span.caption {
  font-size: 15px
}

.ttl-block h2 span.ttl {
  font-size: 21px;
  font-weight: 600;
  text-align: center
}

.ttl-block h2 span.sub-ttl {
  font-size: 14px;
  display: block;
  line-height: 0
}

p.main-copy {
  text-align: center;
  margin: 0;
  padding: 2rem 0;
  font-size: 18px
}

.job-wrap {
  border: 1px solid #dedede;
  padding: 3rem 2rem;
  margin-bottom: 3rem
}

.job-block {
  display: flex;
  margin-bottom: 2rem
}

.job-block:last-child {
  margin-bottom: 0
}

.job-block h3 {
  margin-bottom: 1rem
}

.job-block figure {
  margin-right: 2rem
}

.job-block:nth-child(2n) {
  flex-direction: row-reverse
}

.job-block:nth-child(2n) figure {
  margin-left: 2rem
}

.job-subject {
  margin-bottom: 3rem
}

.job-subject h3 {
  margin-bottom: 1rem
}

.job-subject div {
  margin-bottom: 1rem
}

.job-subject div h4 {
  font-size: 15px;
  padding: .15rem;
  margin-bottom: .5rem;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  display: inline-block
}

.job-subject div ol {
  margin: 0;
  padding: 0
}

.job-subject div ol li {
  list-style-type: none;
  display: block
}

.job-subject div a {
  display: inline-block;
  font-size: 14px;
  color: #000;
  position: relative
}

.job-subject div a span {
  display: inline-block
}

.job-subject div a::before {
  display: block;
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  background: #000;
  right: 0;
  top: 50%;
  transform: translate(150%, -50%)
}

.job-subject div a::after {
  display: block;
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  right: 0;
  top: 50%;
  transform: rotate(45deg) translate(120%, -200%)
}

.job-bnr,
.job-links {
  margin-bottom: 3rem
}

.job-bnr .bnr-rv {
  background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_common.jpg);
  background-repeat: repeat-x;
  background-size: 50%;
  height: 265px
}

.job-bnr .bnr-rv:hover {
  opacity: 0.5;
}

.job-bnr .bnr-rv.rv2022 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2021_slide-756x265-1.jpg) no-repeat center;
  background-size: cover;
}

.job-bnr .bnr-rv.rv2023 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/realvoice_2023_slide-756x265.jpg) no-repeat center;
  background-size: cover;
}
.job-bnr .bnr-rv.rv2024 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-2024.jpg) no-repeat center;
  background-size: cover;
}
.job-bnr .bnr-rv.rv2025 {
  background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-2025.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (max-width:768px) {
  .job-bnr .bnr-rv.rv2022 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2022.jpg);
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(98vw - 2rem);
  }

  .job-bnr .bnr-rv.rv2022.bnr-rv-improvement div {
    position: inherit;
    top: inherit;
    left: inherit;
    transform: inherit;
  }

  .job-bnr .bnr-rv.rv2022.bnr-rv-improvement div h3 {
    padding-top: 0;
  }

  .job-bnr .bnr-rv.rv2022.bnr-rv-improvement div p {
    margin-bottom: 0;
  }

  .job-bnr .bnr-rv.rv2023 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2023.jpg);
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(98vw - 2rem);
  }

  .job-bnr .bnr-rv.rv2023.bnr-rv-improvement div {
    position: inherit;
    top: inherit;
    left: inherit;
    transform: inherit;
  }

  .job-bnr .bnr-rv.rv2023.bnr-rv-improvement div h3 {
    padding-top: 0;
  }

  .job-bnr .bnr-rv.rv2023.bnr-rv-improvement div p {
    margin-bottom: 0;
  }
  .job-bnr .bnr-rv.rv2024 {
    background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2024.jpg);
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(98vw - 2rem);
  }

  .job-bnr .bnr-rv.rv2024.bnr-rv-improvement div {
    position: inherit;
    top: inherit;
    left: inherit;
    transform: inherit;
  }

  .job-bnr .bnr-rv.rv2024.bnr-rv-improvement div h3 {
    padding-top: 0;
  }

  .job-bnr .bnr-rv.rv2024.bnr-rv-improvement div p {
    margin-bottom: 0;
  }

.job-bnr .bnr-rv.rv2025 {
  background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/rv-head-square_2025.jpg);
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(98vw - 2rem);
}

.job-bnr .bnr-rv.rv2025.bnr-rv-improvement div {
  position: inherit;
  top: inherit;
  left: inherit;
  transform: inherit;
}

.job-bnr .bnr-rv.rv2025.bnr-rv-improvement div h3 {
  padding-top: 0;
}

.job-bnr .bnr-rv.rv2025.bnr-rv-improvement div p {
  margin-bottom: 0;
}
}

.bnr-rv div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.job-links .accordion-toggle {
  margin-bottom: 10px;
  padding: 1rem
}

.job-links .accordion-toggle span {
  font-size: 46px;
  position: absolute;
  left: 1rem
}

.job-links .post-content .job-box {
  padding: 0 10px 10px 10px
}

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

  .ttl-block h2,
  .ttl-block h2>div {
    display: block;
    text-align: center
  }

  .ttl-block h2>div {
    width: auto !important;
    text-align: center
  }

  .ttl-block h2 span {
    text-align: center;
    display: block
  }

  .ttl-block h2 span.font-acum {
    font-size: 46px;
    margin-right: 0
  }

  .ttl-block h2 span.caption {
    margin-bottom: 1rem;
    line-height: 1
  }

  p.main-copy {
    margin-bottom: 0 !important
  }

  .job-wrap {
    border: none;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    padding: 1.5rem 1rem;
    margin-bottom: 1.5rem
  }

  .job-block {
    display: block;
    margin-bottom: 1rem
  }

  .job-block figure {
    margin-right: 0
  }

  .job-block:nth-child(2n) figure {
    margin-left: 0
  }

  .job-block figure img {
    width: 100%;
    margin-bottom: 1100%rem
  }

  .job-block h3 {
    line-height: 1.2
  }

  .post-body .job-block p {
    margin-bottom: 0
  }

  .job-subject {
    margin-bottom: 1.5rem;
    padding: 0 1rem
  }

  .job-link {
    padding: 0 1rem;
  }

  .job-bnr .bnr-rv {
    background-size: 100%;
    height: 260px;
    margin: 0 1rem
  }

  .bnr-rv-improvement div {
    position: absolute;
    transform: none;
    margin: auto;
    left: 0;
    right: 0;
    top: 15%;
  }

  .job-bnr,
  .job-links {
    margin-bottom: 1.5rem
  }

  .job-bnr h2,
  .job-bnr>.course-index-bnr>p {
    padding: 0 1rem
  }

}

.breadcrumbs ul li br {
  display: none
}

ul li.ttl-area {
  font-family: acumin-pro-extra-condensed, sans-serif;
  font-size: 24px;
  background: #000;
  color: #fff;
  padding: 5px 0 5px 10px;
  display: flex;
  align-items: center;
  margin: 1px 0
}

ul li.ttl-area span {
  font-size: 12px;
  padding: 0 0 0 10px;
}

.top-heading {
  font-size: 18px;
}

h1.sub-page-title {
  font-size: 30px;
}

@media (max-width: 760px) {
  h1.sub-page-title {
    font-size: 5vw;
  }
}

.home-voice {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 32px;
  text-align: center;
}

.home-voice .sub-ttl {
  text-align: left;
  margin: 0 0 24px;
}

.home-voice .student-links {
  width: 100%;
  max-width: 620px;
  margin: 0 auto 32px;
  text-align: left;
}

.home-voice .student-links ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.home-voice .student-links ul li {
  margin-bottom: 20px;
  margin-right: 12px;
}

.home-voice .student-links ul li:nth-child(3n) {
  margin-right: 0;
}

.home-voice .student-links ul li a {
  display: block;
  height: 100%;
  background: #f8f9fa;
  color: #000;
}

.home-voice .student-links ul li a article {
  position: relative;
  width: 198px;
  padding-top: 100px;
}

.home-voice .student-links ul li a article figure {
  position: absolute;
  top: -40px;
  height: 140px;
  width: 100%;
  overflow: hidden;
}

.home-voice .student-links ul li a article figure::before {
  display: block;
  position: absolute;
  content: "";
  display: block;
  background: #f0f0f0;
  width: 100%;
  height: 100px;
  bottom: 0;
  left: 0;
}

.home-voice .student-links ul li a article figure.hd-green::before {
  background: linear-gradient(135deg, #9fc86f 0%, #6eaf38 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9fc86f', endColorstr='#6eaf38', GradientType=1);
}

.home-voice .student-links ul li a article figure.hd-purple::before {
  background: linear-gradient(135deg, #c4a4cd 0%, #bd8ccc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c4a4cd', endColorstr='#bd8ccc', GradientType=1);
}

.home-voice .student-links ul li a article figure.hd-blue::before {
  background: linear-gradient(135deg, #79c2e9 0%, #6799e0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#79c2e9', endColorstr='#6799e0', GradientType=1);
}

.home-voice .student-links ul li a article figure.hd-pink::before {
  background: linear-gradient(135deg, #f77d93 0%, #f45a74 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f77d93', endColorstr='#f45a74', GradientType=1);
}

.home-voice .student-links ul li a article figure.hd-orange::before {
  background: linear-gradient(135deg, #fbb438 0%, #f9a227 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb438', endColorstr='#f9a227', GradientType=1);
}

.home-voice .student-links ul li a article figure img {
  width: 100%;
  height: auto;
  position: relative;
}

.home-voice .student-links ul li a article h3 {
  font-weight: normal;
  font-size: 16px;
  padding: 12px 15px 7px 15px;
  line-height: 1.5em;
}

.home-voice .student-links ul li a article h4 {
  padding: 0 15px 15px 15px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.4em;
}

.home-voice .student-links ul li a article h4:first-of-type {
  padding: 0 15px 5px 15px;
}


.home-faq {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 32px;
  font-size: 1.1em;
}

.home-faq .accordion {
  margin-top: 32px;
}

.home-faq .toggle {
  display: none;
}

.home-faq .option {
  position: relative;
  margin-bottom: 1em;
}

.home-faq .title,
.home-faq .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.home-faq .title {
  background: #DDD;
  padding: 1em;
  display: block;
  font-weight: bold;
  cursor: pointer;
}

.home-faq .title::before {
  content: "▼";
  position: absolute;
  right: 3em;
  top: 1.25em;
  width: 2px;
  height: 0.75em;
  color: #111;
  padding-left: 2em;
}

.home-faq .content {
  max-height: 0;
  overflow: hidden;
}

.home-faq .content p {
  margin: 0;
  padding: 1em;
  font-size: 0.9em;
  line-height: 1.5;
}

.home-faq .toggle:checked+.title+.content {
  max-height: 100%;
}

.home-faq .toggle:checked+.title::before {
  content: "▲";
}

.home-faq .brsp {
  display: none;
}

/* 20231011 卒業生の声について */
.home-graduate-voice .student-links {
    margin:0 auto;
}
.home-graduate-voice .student-links .student-list li {
  margin-bottom: 60px;
  background: #f8f9fa;
}

.home-graduate-voice .student-links ul li article {
  position: relative;
  width: 198px;
  padding-top: 100px;
}

.home-graduate-voice .student-links ul li article figure {
  position: absolute;
  top: -40px;
  height: 140px;
  width: 100%;
  overflow: hidden;
}

.home-graduate-voice .student-links ul li article figure img {
  width: 100%;
  height: auto;
  position: relative;
}

.home-graduate-voice .student-links ul li article h3 {
  font-weight: normal;
  font-size: 16px;
  padding: 12px 15px 7px 15px;
  line-height: 1.5em;
}

.home-graduate-voice .student-links ul li article h4:first-of-type {
  padding: 0 15px 5px 15px;
}

.home-graduate-voice .student-links ul li article h4 {
  padding: 0 15px 15px 15px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.4em;
}

/* 20231011 よくある質問の内部リンク */
.faq-link {
    text-align: center;
}

/* 20240411 event カレンダー */
.calendar-unit dl dd .entry-unit li.international.event-calendar-international {
 top: 105px;
}

/*--20240424 追加 Googleマップについて--*/
.footer-googleap{
  width: 100%;
  height: 300px;
}
.footer-googleap iframe{
  display: block;
  width: 100%;
  height: 100%;
}

/* 20240430:レイアウト調整 */
@media screen and (max-width: 600px) {
  .wrap-padding-container{
      padding-inline: 4vw;
  }
  .wrap-padding-container .sub-ttl{
      padding: 1.5vw;
  }
  .wrap-padding-container:has(.btn-link){
      padding-inline: 5vw;
  }
}
/* 20240430:レイアウト調整 */

/* 20240604 */
.cmn-bunka {
  padding: 55px 0px;
  box-sizing: border-box;
}

.home-content .center-layout.home-read>.wrap .cmn-bunka-img-text {
  margin-bottom: 10px;
}

.cmn-bunka-img {
  display: block;
  margin-bottom: 40px;
  cursor: pointer;
}

.cmn-bunka-img img {
  width: 100%;
}

@media(max-width:760px) {
  .cmn-bunka {
    padding: 5vw 0;
    box-sizing: border-box;
  }
}

/* 20241112 */
#sp-menu-wrap.m_fixed {
  left: 0;
  position: fixed;
  top: 0;
  background-color: #fff;
  width: 100%;
}

/* 20241209 フォントサイズの調整について */
.home-voice .student-links ul li a article h4 {
  font-size: 12px;
}
.home-voice .student-links ul li a article h4:first-of-type{
      font-size: 12px;
}
.home-graduate-voice .student-links ul li article h4 {
  font-size: 12px;
}

.home-graduate-voice .student-links ul li article h4:first-of-type {
      font-size: 12px;
}

/* 20250129 学科紹介 */
.department-list{
  display: flex;
  flex-wrap: wrap;
}
.department-list li{
  width: 310px;
  margin-right: 55px;
  margin-bottom: 30px;
}
.department-list li:nth-child(3n){
  margin-right: 0;
}
.department-list li img{
  width: 100%;
}
.department-link{
color: #000;
}
.department-list-txt{
  margin-top: 10px;
}
.department-btn{
width: 45%;
margin: 10px auto 0;
border: solid 1px #000;
border-radius: 3px;
text-align: center;
}
.department-btn a{
display: block;
color: #000;
}
@media screen and (max-width: 760px) {
.department-list li{
  width: 48%;
  margin-right: 4%;
}
.department-list li:nth-child(3n){
  margin-right: 4%;
}
.department-list li:nth-child(2n){
  margin-right: 0;
}
.department-list-ttl{
  font-size: 3.2vw;
}
.department-list-txt{
  font-size: 3vw;
}
.department-btn{
width: 70%;
font-size: 3vw;
}
}

/* 20250724 トップページ SNSリンク集 */
.ft_sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding-top: 25px;
}
.ft_sns_item{
    width: calc(100% / 4 - 80px);
    background: #fff;
    padding: 6px;
    box-sizing: border-box;
    border-radius: 10px;
}
.ft_sns_link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 16px;
    color: #000;
}
.ft_sns_link .ft_sns_text {
    text-align: left;
    line-height: 1.4;
    margin-bottom: 0;
}

/* 20251208 入試情報への導線追加 */
.scn-entrance-exam_link {
  margin-top: 50px;
  text-align: center;
}
.scn-entrance-exam_link p {
  font-size: 22px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  letter-spacing: 1.0px;
  margin-bottom: 20px;
}
@media screen and (max-width: 600px) {
  .scn-entrance-exam_link {
    margin-top: 32px;
  }
  .scn-entrance-exam_link p {
    font-size: 16px;
    letter-spacing: 0;
  }
}