@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

:root {
  --wht: #fff;
  --black01: #000;
  --green01: #00564f;
  --green02: #128677;
  --yellow01: #ffee00;
  --yellow02: #fff9a7;
  --yellow03: #fcf797;
  --orange01: #f5911e;
  --gray01: #dadacd;
  --gray02: #a3a399;
  --gray03: #dcdccf;
  --gray04: #deded2;
  --gray04: #deded2;
  --gray05: #f4f4f4;
  --gray06: #e0e0d5;
  --brown: #b9922b;
  --red01: #ff0000;
  --pink01: #e97a9e;
  --blue01: #32cddc;
  --gengobunka: #b4bbdd;
  --masukomyunike-syon: #99d1f2;
  --syakairinsyoushinri: #c0daa0;
  --kodomohattatsukyouiku: #ecbad1;
  --kenkoueiyou: #efbf71;
  --youzikyouiku: #d2bbff;
  --sougouseikatsu: #fff8c5;
  --bizyutsu: #eaac7a;
  --shakai_dezain: #40caf3;
  --shakai_rinshou: #a9d487;
  --kodomohattatsukyouiku: #ef8eb8;
  --bijutsu: #f39c68;
  --kenko_eiyo: #f8c070;
  --department-gengobunka: #0077c3;
  --department-gengobunka01: #5ea9da;
  --department-gengobunka02: #5e97bd;
  --department-gengobunka03: #005a96;
  --department-gengobunka04: #73b4de;
  --department-gengobunka05: #a8d2e9;
  --department-shakai_dezain: #6e60a8;
  --department-shakai_dezain01: #a49bc8;
  --department-shakai_dezain02: #928aaf;
  --department-shakai_dezain03: #524680;
  --department-shakai_dezain04: #a099b9;
  --department-shakai_dezain05: #a8d2e9;
  --department-shakai_dezain06: #cbc7d8;
  --department-shakai_dezain07: #d5d1e5;
  --department-shakai_rinshou: #489c9a;
  --department-shakai_rinshou01: #8cc3c1;
  --department-shakai_rinshou02: #7eaaaa;
  --department-shakai_rinshou03: #327977;
  --department-shakai_rinshou04: #7eaaaa;
  --department-shakai_rinshou05: #a8d2e9;
  --department-shakai_rinshou06: #9ac9c7;
  --department-shakai_rinshou07: #9ac9c7;
  --department-kodomohattatsukyouiku: #a7cc48;
  --department-kodomohattatsukyouiku01: #aacf48;
  --department-kodomohattatsukyouiku02: #aec17f;
  --department-kodomohattatsukyouiku03: #7f9c34;
  --department-kodomohattatsukyouiku04: #aec17f;
  --department-kodomohattatsukyouiku05: #a8d2e9;
  --department-kodomohattatsukyouiku06: #a7cc48;
  --department-kodomohattatsukyouiku07: #c9e18c;
  --department-bijutsugaku: #ed8141;
  --department-bijutsugaku01: #f5b187;
  --department-bijutsugaku02: #ef9562;
  --department-bijutsugaku03: #f08441;
  --department-bijutsugaku04: #f5b187;
  --department-bijutsugaku06: #efc6b4;
  --department-bijutsugaku07: #efc6b4;
  --department-kenko_eiyo: #ec90b8;
  --department-kenko_eiyo01: #f5bbd4;
  --department-kenko_eiyo02: #d0a3b7;
  --department-kenko_eiyo03: #b46d8d;
  --department-kenko_eiyo04: #f5bbd4;
  --department-kenko_eiyo06: #f5bbd4;
  --department-kenko_eiyo07: #f5bbd4;
}

:root {
  --oswald: "Oswald", sans-serif;
  --josefin: "Josefin Sans", sans-serif;
}

/* ====================
 SIZE SET
==================== */
/* ===================
 MIXIN
==================== */
/*学科用ローカルナビ*************/
#local_nav {
  position: absolute;
  left: 0px;
  top: -40px;
  width: 100%;
  background-color: #ffffff;
  z-index: 19;
  height: 100vh;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  border-top: 1px solid #c0c0c0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
  max-height: 40px;
  margin: 0px;
  padding: 0px;
  display: block;
}

#local_nav.fix {
  position: fixed;
  top: 0px;
}

#local_nav.open {
  height: 100vh;
  max-height: 100px;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
}

#local_nav h3 {
  display: table;
  width: 100%;
  height: 39px;
  margin: 0px;
  padding: 0px;
  font-weight: normal;
  border-bottom: 1px solid #c0c0c0;
  background-color: #ffffff;
}

#local_nav h3 span {
  display: table-cell;
  vertical-align: middle;
  padding-left: 1em;
  padding-right: 0px;
  font-size: 1.3rem;
}

#local_nav h3 span br {
  /* display: none; */
}

#local_nav h3 span span.font-1 {
  display: none;
}

#local_nav h3 span.sp {
  width: 40px;
  padding-left: 0px;
  background-color: #fff000;
  font-size: 0px;
  text-align: center;
}

#local_nav h3 span.sp:before {
  font-size: 1.5rem;
  line-height: 2.5em;
}

#local_nav .block {
  height: calc(100% - 40px);
  overflow-y: auto;
}

#local_nav .block .close {
  display: table;
  width: 100%;
  margin: 1px 0 0 0;
  padding: 0px;
  color: #ffffff;
  background-color: #000000;
  height: 60px;
}

#local_nav .block .close .cell {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

#local_nav .block .close .cell span:before {
  padding-right: 0.5em;
}

/*****************************/
#main_copy {
  margin: 25px auto 0 auto;
  padding: 0px;
  width: 94%;
  font-size: 1.7rem;
  max-width: 1200px;
}

#news {
  background-color: #e6e6dd;
  margin: 25px 0 40px 0;
  padding: 25px 0 40px 0;
  padding-bottom: 40px;
}

#news .area h2 {
  margin: 0 0 5px 0;
  padding: 0px;
  border-bottom: 4px solid #000000;
  border-bottom: 0px none #000000;
  font-weight: normal;
  display: inline-block;
}

#news .area ul {
  margin: 0px;
  padding: 0px;
  width: 100%;
  display: table;
  table-layout: fixed;
}

#news .area ul li {
  display: block;
  width: calc(50% - 5px);
  float: left;
  margin-top: 20px;
}

#news .area ul li:nth-child(odd) {
  clear: both;
}

#news .area ul li:nth-child(even) {
  float: right;
}

#news .area ul li .item {
  display: block;
  margin: 0px;
  padding: 0px;
}

#news .area ul li .item .img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

#news .area ul li .item .date {
  margin-top: 1em;
  margin-bottom: 0.5em;
}

#news .area ul li .item p {
  margin: 0px;
  padding: 0px;
  display: inline;
}

#news .area .button01 {
  margin-top: 40px;
}

#body .area p+.point {
  margin-top: 40px;
}

#body .area .point {
  margin: 0px;
  padding: 0px;
  display: table;
}

#body .area .point li {
  display: table-row;
}

#body .area .point li span {
  display: table-cell;
  vertical-align: middle;
  padding: 0.5em;
  font-weight: bold;
}

#body .area .point li span+span {
  padding-left: 1em;
  background-color: #ffffff;
  font-weight: normal;
}

#body .area .point li+li span {
  border-top: 22px solid #ffffff;
}

#body article .table .cell {
  display: block;
}

#body article .table .cell a.button01 {
  margin-top: 15px;
}

#body article .table .cell a.button01:after {
  display: none;
}

#body article#course {
  background-color: #e6e6dd;
  margin-top: 25px;
  padding: 0px;
}

#body article#course .table .cell {
  padding-top: 25px;
  padding-bottom: 25px;
}

#body article#course .table .cell .area ul {
  padding: 0px;
  margin: 25px 0 0 0;
  display: block;
}

#body article#course .table .cell .area ul li {
  display: inline;
  margin: 0px;
  padding: 0px;
}

#body article#course .table .cell .area ul li+li {
  margin-left: 0.5em;
}

#body article#course .table .cell .area ul li:before {
  display: table-cell;
  content: "●";
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", sans-serif;
  padding-right: 0.3em;
}

#body article#course .table .cell+.cell {
  padding-top: 22px;
  padding-bottom: 22px;
  background-color: #ecf3c7;
}

#body article#course .table .cell+.cell .area {
  width: 66%;
  text-align: center;
}

#body article#course .table .cell+.cell .area img {
  width: 100%;
}

#body article.overview {
  margin-top: 2px;
  background-color: #f1f1ec;
  padding-top: 3%;
  padding-bottom: 3%;
  width: 100%;
}

#body article.overview+article.overview {
  margin-top: 0px;
  padding-top: 0px;
}

#body article.overview .area {
  background-color: #ffffff;
  padding: 6%;
}

#body article.current .prof_table {
  display: table;
  margin: 0px;
  padding: 0px;
  width: 100%;
}

#body article.current .prof_table .cell+.cell {
  vertical-align: middle;
  padding: 40px 3% 20px 3%;
}

#body article.current .prof_table .cell .table {
  display: table;
  width: 100%;
  padding: 0;
  margin: 0;
}

#body article.current .prof_table .cell .table .cell {
  display: block;
  padding: 0;
}

#body article.current .prof_table .cell .table .cell+.cell {
  width: auto;
  margin-top: 40px;
}

#body article.current .prof_table .cell .table .cell h2 {
  margin-left: auto;
  margin-right: auto;
  width: 55%;
  max-width: 418px;
}

#body article.current .prof_table .cell .table .cell .name span.yomi {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000000;
}

#body article.current .prof_table .cell .table .cell .data {
  margin-top: 12px;
}

#body article.current .prof_table .cell .table .cell .data ul {
  padding: 0;
  margin: 0;
}

#body article.current .prof_table .cell .table .cell .data ul li {
  display: block;
}

#body article.current .prof_table .cell .table .cell .data ul li:before {
  content: "○";
}

#body article.current .interview {
  margin-top: 12px;
  margin-bottom: 30px;
  padding: 12px 0 20px 0;
  background-color: #eff2f1;
}

#body article.current .interview .area .table {
  padding: 0;
  margin: 0;
  display: table;
  width: 100%;
}

#body article.current .interview .area .table .title h3 {
  margin: 0 0 15px 0;
  padding: 12px 1.5em 12px 1.5em;
  font-weight: normal;
  text-align: center;
  background-color: #fff000;
  border-radius: 2em;
  position: relative;
  display: block;
}

#body article.current .interview .area .table .title h3:after {
  width: 15px;
  height: 15px;
  display: block;
  content: "";
  background-color: #fff000;
  position: absolute;
  bottom: -15px;
  left: 50%;
  margin-left: -7.5px;
}

#body article.current .interview .area .table .title p {
  margin-top: 27px;
  text-align: center;
}

#body article.current .interview .area .table .movie {
  margin-top: 20px;
}

#body article.current .interview .area .table .movie a {
  text-align: center;
  display: block;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

#body article.current .interview .area .table .movie a span.caption {
  text-align: center;
  margin-top: 20px;
  display: inline-block;
  text-decoration: underline;
}

#body .department_base {
  padding: 0;
  margin: 30px 0 0 0;
}

#body .department_base .area p {
  margin-top: 20px;
}

#body .department_base .area p+p {
  margin-top: 40px;
}

#body .department_base .area .curriculum_img {
  margin-top: 20px;
}

#body .department_base .area ul.atte {
  margin-top: 20px;
}

#body .department_base .area ul.curriculum_link {
  padding: 0;
  margin: 40px 0 0 0;
  display: table;
  width: 100%;
}

#body .department_base .area ul.curriculum_link li {
  display: block;
}

#body .department_base .area ul.curriculum_link li+li {
  margin-top: 20px;
}

#body .teacher {
  padding-top: 0px;
  padding-bottom: 60px;
}

#body .teacher:nth-of-type(n + 2) {
  padding-bottom: 30px;
}

#body .teacher:nth-of-type(n + 3) {
  border-top: 1px solid #c0c0c0;
  padding-top: 30px;
  padding-bottom: 30px;
}

#body .teacher .table {
  margin-left: auto;
  margin-right: auto;
  width: 94%;
  position: relative;
}

#body .teacher .table .cell {
  width: 39.6023%;
  float: left;
}

#body .teacher .table .cell+.cell {
  width: 60.3977%;
  float: right;
  padding-left: 20px;
}

#body .teacher .table .cell .name {
  padding-bottom: 10px;
  border-bottom: 4px solid #000000;
}

#body .teacher .table .cell .name h2 {
  font-weight: normal;
}

#body .teacher .table .cell .name h2 span {
  display: block;
  margin-top: 0.5em;
}

#body .teacher .table .cell .name div.font1 {
  margin-top: 10px;
}

#body .teacher .table .cell dl {
  padding: 0;
  margin: 0;
  display: table;
  width: 100%;
}

#body .teacher .table .cell dl dt,
#body .teacher .table .cell dl dd {
  padding: 0;
  margin: 0;
  display: block;
}

#body .teacher .table .cell dl dt {
  margin-top: 10px;
  font-weight: bold;
}

#body .teacher .table .cell dl dd ul {
  padding: 0 0 0 1.5em;
  margin: 0;
}

#body .teacher .table .cell dl dd ul li {
  line-height: 1.3em;
}

#body .teacher .table .cell dl dd ul li+li {
  margin-top: 0.5em;
}

#body .teacher .table .cell dl.introduction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  row-gap: 17px;
  margin-top: 17px;
}

#body .teacher .table .cell dl.introduction>* {
  width: 100%;
  margin: 0;
  font-weight: normal;
}

#body .teacher .table.chief {
  background-color: #f6f6f6;
  width: 100%;
}

#body .teacher .table.chief .cell {
  margin-left: auto;
  margin-right: auto;
  width: 94%;
  float: none;
}

#body .teacher .table.chief .cell+.cell {
  width: 100%;
  margin-top: 30px;
  padding: 0;
  text-align: center;
}

#body .teacher .table.chief .cell+.cell img {
  margin-left: auto;
  margin-right: auto;
}

#body .teacher .table.chief .cell div.font3 {
  padding-top: 40px;
  padding-bottom: 40px;
}

#body .teacher .table.chief .cell p.signature {
  margin-top: 30px;
  text-align: right;
}

#body .teacher .table.chief .cell p.signature span {
  margin-left: 1em;
}

#body .teacher .table.chief+.table {
  margin-top: 60px;
}

#body .teacher .table+.sp {
  margin-top: 30px;
}

#body .teacher a.button01:after {
  display: none;
}

#body .policy {
  margin-top: 30px;
}

#body .policy dl,
#body .policy dl dt,
#body .policy dl dd {
  display: block;
}

#body .policy dl dd {
  margin-left: auto;
  margin-right: auto;
  width: 94%;
  margin-top: 20px;
}

#body .policy dl dd>div h1,
#body .policy dl dd>div h2,
#body .policy dl dd>div h3,
#body .policy dl dd>div h4,
#body .policy dl dd>div h5,
#body .policy dl dd>div h6 {
  font-size: 1.3rem;
  font-weight: normal;
  padding: 0;
  margin: 0;
  position: relative;
  background-color: transparent;
  border-bottom: none;
}

#body .policy dl dd>div h4::before {
  content: "【";
}

#body .policy dl dd>div h4::after {
  content: "】";
}

#body .policy dl dd>div h5::before {
  content: "＜";
}

#body .policy dl dd>div h5::after {
  content: "＞";
}

#body .policy dl dd>div h4+div>p,
#body .policy dl dd>div h4+div>ol,
#body .policy dl dd>div h4+div>ul,
#body .policy dl dd>div div+div>p,
#body .policy dl dd>div div+div>ol,
#body .policy dl dd>div div+div>ul,
#body .policy dl dd>div h5,
#body .policy dl dd>div h6 {
  margin-top: 20px;
}

#body .policy dl dd>div div+h4,
#body .policy dl dd>div ol+h4,
#body .policy dl dd>div ul+h4 {
  margin-top: 40px;
}

#body .policy dl dd>div h1+div>p,
#body .policy dl dd>div h1+div>ol,
#body .policy dl dd>div h1+div>ul,
#body .policy dl dd>div h2+div>p,
#body .policy dl dd>div h2+div>ol,
#body .policy dl dd>div h2+div>ul,
#body .policy dl dd>div h3+div>p,
#body .policy dl dd>div h3+div>ol,
#body .policy dl dd>div h3+div>ul,
#body .policy dl dd>div h5+div>p,
#body .policy dl dd>div h5+div>ol,
#body .policy dl dd>div h5+div>ul,
#body .policy dl dd>div h6+div>p,
#body .policy dl dd>div h6+div>ol,
#body .policy dl dd>div h6+div>ul {
  margin-top: 15px;
}

#body .policy dl dd>div div+h1,
#body .policy dl dd>div ol+h1,
#body .policy dl dd>div ul+h1,
#body .policy dl dd>div div+h2,
#body .policy dl dd>div ol+h2,
#body .policy dl dd>div ul+h2,
#body .policy dl dd>div div+h3,
#body .policy dl dd>div ol+h3,
#body .policy dl dd>div ul+h3,
#body .policy dl dd>div div+h5,
#body .policy dl dd>div ol+h5,
#body .policy dl dd>div ul+h5,
#body .policy dl dd>div div+h6,
#body .policy dl dd>div ol+h6,
#body .policy dl dd>div ul+h6 {
  margin-top: 30px;
}

#body .policy dl dd>div p>a[target=_blank]:after {
  font-family: "hijiyama2020" !important;
  content: "\e90d";
  margin-left: 0.3em;
}

#body .policy dl dd>div p>a[href^="http://"]:after,
#body .policy dl dd>div p>a[href^="https://"]:after {
  font-family: "hijiyama2020" !important;
  content: "\e90c";
  margin-left: 0.3em;
}

#body .policy dl dd>div p>a:before {
  content: ">";
  margin-right: 0.5em;
}

#body .policy dl dd>div p>a {
  display: inline-block;
}

#body .policy dl dd>div img {
  margin-top: 20px;
}

#body .policy dl dd>.title_sub+ol {
  margin-top: 1em;
}

#body .policy dl dd>.title_sub+p {
  margin-top: 1em;
}

#body .policy dl dd>ol+.title_sub {
  margin-top: 40px;
}

#body .policy dl dd+dt {
  margin-top: 40px;
}

#body .policy dl dd ol {
  padding: 0 0 0 1.5em;
  margin: 40px 0 0 0;
}

#body .course {
  margin-top: 30px;
}

#body .course p {
  width: 94%;
  padding: 0;
  margin: 0 auto 0 auto;
}

#body .course dl {
  margin: 30px auto 0 auto;
  width: 100%;
  display: block;
}

#body .course dl dt,
#body .course dl dd {
  display: block;
}

#body .course dl dd {
  margin-top: 20px;
}

#body .course dl dd+dt {
  margin-top: 40px;
}

#body .course dl dd ul.list {
  padding: 0;
  margin: 0 auto 0 auto;
  display: table;
  width: 94%;
}

#body .course dl dd ul.list li {
  display: block;
  padding: 15px 0 15px 0;
  margin: 0;
  border-bottom: 1px solid #c0c0c0;
}

#body .course dl dd p.etc {
  margin-top: 15px;
}

#body .course dl dd .table {
  width: 94%;
  display: table;
  margin: 40px auto 0 auto;
}

#body .course dl dd .table .cell {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 77%;
}

#body .course dl dd .table .cell img {
  width: 100%;
}

#body .course dl dd .table .cell+.cell {
  margin-top: 40px;
  width: 100%;
}

#body .course dl dd .table .cell ul.number {
  padding: 0;
  margin: 0;
  display: block;
}

#body .course dl dd .table .cell ul.number li {
  display: block;
}

#body .course dl dd .table .cell ul.number.icon {
  counter-reset: number 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

#body .course dl dd .table .cell ul.number.icon>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: nowrap;
  flex-flow: nowrap;
  -webkit-column-gap: 0.3em;
  -moz-column-gap: 0.3em;
  column-gap: 0.3em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#body .course dl dd .table .cell ul.number.icon>li::before {
  counter-increment: number 1;
  content: counter(number);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 1/1;
  width: 1.5em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #000000;
  border-radius: 100%;
  line-height: 1;
  font-size: 85%;
}

#body .course dl dd .table .cell ul.atte {
  margin-top: 30px;
}

#body .info {
  margin-top: 30px;
}

#body .info .strong {
  font-weight: bold;
}

#body .info article.item+h2 {
  margin-top: 60px;
}

#body .info h2+.area {
  margin-top: 20px;
}

#body .info .area ul.license {
  width: 100%;
  padding: 0;
  margin: 0 auto 0 auto;
}

#body .info .area ul.license li {
  display: table;
  padding: 0;
  margin: 0;
}

#body .info .area ul.license li:before {
  display: table-cell;
  content: "●";
  padding-right: 0.5em;
}

#body .info .area ul.license+p {
  margin-top: 20px;
}

#body .info .area p+p {
  margin-top: 20px;
}

#body .info article.item {
  margin-top: 40px;
  padding-left: 0px;
  padding-right: 0px;
}

#body .info article.item+article.item {
  margin-top: 10px;
}

#body .info article.item h3 {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  font-weight: normal;
  position: relative;
}

#body .info article.item h3 .open {
  width: 18px;
  height: 18px;
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -9px;
  background-color: #7a7a7a;
  font-size: 0px;
}

#body .info article.item h3 .open:before,
#body .info article.item h3 .open:after {
  width: calc(100% - 6px);
  height: 1px;
  display: block;
  background-color: #ffffff;
  content: "";
  position: absolute;
  top: 50%;
  left: 3px;
}

#body .info article.item h3 .open:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

#body .info article.item.active h3 .open:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

#body .info article.item h3 .table {
  width: 100%;
  display: table;
  padding: 0;
  margin: 0;
  background-color: #fcda94;
}

#body .info article.item h3 .table .cell {
  width: auto;
  display: table-cell;
  vertical-align: middle;
  padding-left: 1em;
  padding-right: 36px;
}

#body .info article.item h3 .table .cell:nth-child(1) {
  width: 33%;
  padding-left: 0px;
  padding-right: 0px;
}

#body .info article.item .box {
  border-bottom: 1px solid #c0c0c0;
  padding-bottom: 40px;
  margin-top: 30px;
  margin-bottom: 40px;
  display: none;
}

#body .info article.item .box p+p {
  margin-top: 40px;
}

#body .info article.item .box table.school_year {
  padding: 0;
  margin: 0;
  border-collapse: collapse;
  display: table;
  width: 100%;
}

table.school_year caption {
  display: table-caption;
  text-align: left;
  color: #ed6c00;
  margin-bottom: 20px;
  margin-top: 20px;
}

table.school_year tr th {
  display: none;
  padding: 1em;
  margin: 0;
  border: 1px solid #c0c0c0;
}

table.school_year tr td {
  display: block;
  padding: 0;
  margin: 0;
  border: 1px solid #c0c0c0;
}

table.school_year tr td+td {
  border-top-style: none;
}

table.school_year tr td p {
  padding: 1em;
}

table.school_year tr td ul.base {
  padding: 0;
  margin: 1em;
  display: block;
}

table.school_year tr td p+ul.base {
  margin-top: 0px;
}

table.school_year tr td ul.base li {
  display: table;
  padding: 0;
  margin: 0;
}

table.school_year tr td ul.base li:before {
  display: table-cell;
  content: "●";
  padding-right: 0.5em;
}

table.school_year tr td:before {
  display: block;
  padding: 1em;
  margin: 0;
  content: "";
  text-align: center;
  font-weight: bold;
}

table.school_year tr th:nth-child(1),
table.school_year tr td:nth-child(1):before {
  background-color: #fef7e8;
}

table.school_year tr th:nth-child(2),
table.school_year tr td:nth-child(2):before {
  background-color: #fcda94;
}

table.school_year tr td:nth-child(1):before {
  content: "前期";
}

table.school_year tr td:nth-child(2):before {
  content: "後期";
}

#body .info article.item .box .area p.production {
  margin-top: 30px;
  font-weight: bold;
}

#body .info article.item .box .area ul.list {
  padding: 0;
  margin: 30px 0 0 0;
  display: table;
  width: 100%;
}

#body .info article.item .box .area ul.list li {
  display: block;
  padding: 0;
  margin: 0;
  text-align: center;
}

#body .info article.item .box .area ul.list li+li {
  margin-top: 30px;
}

#body .info article.item .box .area ul.list li span {
  display: block;
  margin-top: 20px;
  text-align: center;
}

#original_blog {
  padding: 40px 3% 40px 3%;
  clear: both;
}

#original_blog ul {
  padding: 0;
  margin: 20px 0 0 0;
  display: block;
}

#original_blog ul li {
  display: block;
  padding: 0;
  margin: 0;
}

#original_blog ul li a.icon-yj01:before {
  color: #fff000;
  display: inline-block;
  background-color: #717171;
  padding: 0.5em 0 0.5em 0;
  width: 22px;
  text-align: center;
  font-size: 1rem;
  margin-right: 1em;
}

#body .teacher div.pc a.button01 {
  margin-top: 0px;
}

#body .voice {
  margin-top: 22px;
  margin-bottom: 22px;
}

#body .voice ul {
  padding: 0;
  margin: 0;
  display: block;
}

#body .voice ul li {
  display: block;
  padding: 0;
  margin: 0;
}

#body .voice ul li+li {
  margin-top: 22px;
}

#body .voice ul li a {
  display: block;
  aspect-ratio: 750/504;
  position: relative;
  overflow-x: hidden;
  overflow-y: hidden;
}

#body .voice ul li a .img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 1;
}

#body .voice ul li a .icon {
  text-align: center;
  position: absolute;
  top: 10px;
  left: 10px;
  font-weight: bold;
  z-index: 2;
}

#body .voice ul li a .icon img {
  width: 63px;
}

#body .voice ul li a .icon span {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}

#body .voice ul li a .button {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 46px;
  z-index: 2;
  left: 10px;
  bottom: 10px;
  background-color: rgba(0, 0, 0, 0.55);
  max-width: none;
  width: auto;
  padding-right: 2.8em;
  padding-left: 1em;
  border: 2px solid #ffffff;
  color: #ffffff;
}

#body .voice ul li a .button:before {
  display: block;
  content: "\e90a";
  font-family: "hijiyama2020" !important;
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1em;
  font-size: 1.2rem;
}

#body .voice article {
  position: relative;
}

#body .voice article+article {
  margin-top: 22px;
}

#body .voice article .icon {
  position: absolute;
  top: 10px;
  left: 10px;
  font-weight: bold;
}

#body .voice article .icon img {
  width: 63px;
}

#body .voice article .icon span {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}

#body .voice article a.button01 {
  position: absolute;
  left: 10px;
  bottom: 10px;
  background-color: rgba(0, 0, 0, 0.55);
  max-width: none;
  width: auto;
  padding-right: 2.8em;
  border: 2px solid #ffffff;
}

#body .voice article a.button01 span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

#body .current+.current {
  margin-top: 40px;
}

#body .current #prof_img .yellow {
  padding: 25px 15px 15px 15px;
  background-color: #fff000;
}

#body .current #prof_img .yellow .copy {
  margin-bottom: 25px;
}

#body .current #prof_img .profile {
  width: 94%;
  margin: 25px auto 25px auto;
  border-left: 1px none #c0c0c0;
  border-right: 1px none #c0c0c0;
  border-bottom: 1px solid #c0c0c0;
  border-top: 1px solid #c0c0c0;
}

#body .current #prof_img .profile div.font-2 {
  display: none;
}

#body .current #prof_img .profile div.font-2.atte {
  display: inline;
}

#body .current #prof_img .profile .name h2 {
  font-weight: normal;
  margin-bottom: 12px;
}

#body .current #prof_img .profile .name div.font-1 div+div {
  margin-top: 0.5em;
}

#body .current #prof_img .profile .name .from:before {
  content: "〇";
}

#body .current dl.qa,
#body .current p.qa {
  margin: 0 auto 0 auto;
  width: 94%;
}

#body .current p.qa {
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 1.5rem;
  line-height: 1.6em;
}

#body .current dl.qa dt {
  display: table;
  line-height: 1.5em;
}

#body .current dl.qa dt span {
  display: table-cell;
  vertical-align: middle;
  padding-left: 1em;
}

#body .current dl.qa dt span:nth-child(1) {
  width: 30px;
  padding-left: 0px;
}

#body .current dl.qa dd {
  margin-top: 12px;
  font-size: 1.5rem !important;
  line-height: 1.6em;
  letter-spacing: 0.06em;
}

#body .current dl.qa dd+dt {
  margin-top: 30px;
}

#body .current .photo {
  margin-top: 30px;
}

#body .current .photo .cell.sp {
  margin-top: 40px;
}

#body .current .photo+dl.qa {
  margin-top: 40px;
}

#body .current .photo .cell dl.qa dd {
  line-height: 1em;
}

#body .current .photo .cell dl.qa dd span.br {
  line-height: 1.6em;
}

#body .current .photo .cell dl.qa dd span.br span.line strong {
  font-weight: normal;
}

#body .backnumber {
  margin-top: 40px;
  background-color: #eff2f1;
  padding: 20px 3% 20px 3%;
}

#body .backnumber .img {
  margin-left: auto;
  margin-right: auto;
  width: 58%;
  max-width: 437px;
  line-height: 0;
  text-align: center;
}

#body .backnumber ul {
  padding: 0;
  margin: 20px 0 0 0;
  display: block;
}

#body .backnumber ul li {
  padding: 0;
  margin: 0;
  display: block;
  width: 100%;
}

#body .backnumber ul li+li {
  margin-top: 5px;
}

#body .backnumber ul li a {
  padding: 0;
  margin: 0;
  display: table;
  width: 100%;
}

#body .backnumber ul li a:after {
  display: none;
}

#body .backnumber ul li a span {
  display: table-cell;
  width: 78px;
  vertical-align: middle;
}

#body .backnumber ul li a span img {
  border: 1px solid #ffffff;
}

#body .backnumber ul li a span+span {
  width: auto;
  padding-left: 20px;
  text-decoration: underline;
}

#body .backnumber ul li a[target=_blank] span+span:after {
  font-family: "hijiyama2020" !important;
  content: "\e90d";
  margin-left: 0px;
  font-size: 1.5rem;
  padding-left: 0.3em;
  display: inline-block;
}

#body .backnumber ul li a[href^="http://"] span+span:after,
#body .backnumber ul li a[href^="https://"] span+span:after {
  content: "\e90c";
}

#body .backnumber ul li a[href$=".pdf"] span+span:after {
  content: "";
  width: 20px;
  height: 20px;
  margin-bottom: -0.3em;
  background-image: url(/assets/img/common/PDF_24.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

#dialogue #dialogue_img {
  padding-top: 15px;
}

#dialogue #dialogue_img .title {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
}

#dialogue #dialogue_img .title .cell {
  vertical-align: middle;
  width: 145px;
}

#dialogue #dialogue_img .title .cell+.cell {
  width: auto;
  text-align: right;
}

#dialogue #dialogue_img .title .cell+.cell img {
  max-width: 176px;
}

#dialogue #dialogue_img .title .cell .guest {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 92.56px;
}

#dialogue #dialogue_img .body {
  padding: 20px 3% 30px 3%;
  text-align: center;
}

#dialogue #dialogue_img .body p {
  margin-bottom: 15px;
}

#dialogue #dialogue_img .body p.copy {
  line-height: 1.8em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(0%, #ffffff));
  background: linear-gradient(transparent 50%, #ffffff 0%);
  display: inline;
}

#dialogue #dialogue_img p.caption {
  padding-top: 12px;
  line-height: 1.6em;
  padding-left: 3%;
  padding-right: 3%;
  background-color: #ffffff;
}

#dialogue article {
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}

#dialogue article h2 {
  font-weight: normal;
}

#dialogue article h2+.block {
  margin-top: 30px;
}

#dialogue article .catch+.block {
  margin-top: 35px;
}

#dialogue article .block dl dt:before,
#dialogue article .block dl dt:after {
  display: inline-block;
  border-left: 1px solid #000000;
  border-right: 1px none #000000;
  border-bottom: 1px solid #000000;
  border-top: 1px none #000000;
  content: "";
  width: 0.5em;
  height: 0.5em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-bottom: 0.1em;
}

#dialogue article .block dl dt:after {
  border-left: 1px none #000000;
  border-right: 1px solid #000000;
  border-bottom: 1px none #000000;
  border-top: 1px solid #000000;
}

#dialogue article .block dl {
  display: table;
  width: 100%;
}

#dialogue article .block dl dt {
  float: left;
  clear: both;
  margin-right: 0.5em;
  font-weight: bold;
}

#dialogue article .block dl>*:nth-child(n+3) {
  margin-top: 20px;
}

#dialogue article .block .img {
  margin-top: 30px;
}

#dialogue article .block .img img+img {
  margin-top: 5px;
}

#dialogue article .catch {
  margin-top: 50px;
  position: relative;
  padding: 12px 12px 12px 76px;
}

#dialogue article .catch .icon {
  width: 64px;
  position: absolute;
  left: 0px;
  top: -32px;
}

/***********************************************************/
@media only screen and (min-width: 640px) {

  /*学科用ローカルナビ*************/
  #local_nav h3 {
    height: auto;
    border-style: none;
    background-color: #fff000;
    padding: 25px 0.5em 25px 0.5em;
  }

  #local_nav h3 span {
    padding: 0;
    font-size: 1.7rem;
  }

  #local_nav h3 span.sp {
    display: none;
  }

  #local_nav h3 span span.font-1 {
    display: block;
    margin-bottom: 10px;
  }

  #local_nav h3 span br {
    display: inline;
  }

  #local_nav .block .close {
    display: none;
  }

  #contents {
    padding-top: 20px;
  }

  /*****************************/
  #main_copy {
    margin-top: 40px;
    font-size: 2.2rem;
    text-align: center;
  }

  #news {
    margin-top: 40px;
  }

  #news .area h2 {
    display: inline-block;
    padding-bottom: 6px;
  }

  #news .area ul li {
    width: 23.5%;
    float: left !important;
    clear: none !important;
    margin-top: 25px;
  }

  #news .area ul li+li {
    margin-left: 2%;
  }

  #body .area .point li span {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }

  #body .area .point li+li span {
    border-top-width: 8px;
  }

  #body article .table .cell a.button01 {
    margin-top: 22px;
  }

  #body article#course .table .cell {
    vertical-align: middle;
    padding: 25px 22px 22px 22px;
  }

  #body article#course .table .cell+.cell {
    padding: 22px 0px 22px 0px;
  }

  #body article#course .table .cell+.cell .area {
    width: 90%;
    text-align: center;
  }

  #body article#course .table .cell+.cell .area img {
    margin-left: auto;
    margin-right: auto;
    max-width: 220px;
  }

  #body article.overview {
    margin-top: 20px;
    background-color: rgba(241, 241, 236, 0);
    padding: 40px 0 40px 0;
    border-bottom: 1px solid #c0c0c0;
  }

  #body article.overview+article.overview {
    margin-top: 0px;
    padding-top: 40px;
  }

  #body article.overview:last-child {
    border-bottom-style: none;
  }

  #body article.overview .area {
    background-color: rgba(255, 255, 255, 0);
    padding: 0;
    margin: 0;
  }

  #body .department_base {
    margin-top: 0px;
  }

  #body .department_base .area p {
    margin-top: 40px;
  }

  #body .department_base .area p+p {
    margin-top: 30px;
  }

  #body .department_base .area ul.curriculum_link li {
    width: calc(50% - 10px);
    float: left;
  }

  #body .department_base .area ul.curriculum_link li+li {
    margin-top: 0px;
  }

  #body .department_base .area ul.curriculum_link li:nth-child(odd) {
    clear: both;
  }

  #body .department_base .area ul.curriculum_link li:nth-child(even) {
    float: right;
  }

  #body .department_base .area ul.curriculum_link li:nth-child(n+3) {
    margin-top: 12px;
  }

  #body .policy {
    margin-top: 0px;
  }

  #body .policy dl dd {
    width: 100%;
    margin-top: 40px;
  }

  #body .policy dl dd>div h1,
  #body .policy dl dd>div h2,
  #body .policy dl dd>div h3,
  #body .policy dl dd>div h4,
  #body .policy dl dd>div h5,
  #body .policy dl dd>div h6 {
    font-size: 1.4rem;
  }

  #body .policy dl dd ol li+li {
    margin-top: 0.5em;
  }

  #body .teacher div.pc {
    display: none;
  }

  #body .teacher .table+.sp {
    display: block;
  }

  #body .teacher .table+.sp a.button01 {
    margin-left: auto;
    margin-right: auto;
  }

  #body .course {
    margin-top: 0px;
  }

  #body .course p {
    width: 100%;
  }

  #body .course dl dd ul.list {
    width: 100%;
  }

  #body .course dl dd .table {
    width: 100%;
  }

  #body .course dl dd p.etc {
    width: 100%;
  }

  #body .info {
    margin-top: 0px;
  }

  #body .info h2+.area {
    margin-top: 40px;
  }

  #body .info .area p+p {
    margin-top: 40px;
  }

  #body .info article.item h3 .open {
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border: 1px solid #ffffff;
  }

  #body .info article.item h3 .open:before,
  #body .info article.item h3 .open:after {
    width: calc(100% - 12px);
    left: 6px;
  }

  #original_blog {
    padding-left: 0px;
    padding-right: 0px;
  }

  #body .current #prof_img .yellow .img.pc {
    display: none;
  }

  #body .current #prof_img .yellow .img.sp {
    display: block;
  }

  #body .current #prof_img .profile,
  #body .current dl.qa {
    width: 100%;
  }

  #body .current p.qa {
    font-size: 1.7rem;
    width: 100%;
  }

  #body .current dl.qa dd {
    font-size: 1.7rem !important;
  }

  #body .current .photo .cell+.cell {
    margin-top: 40px;
  }

  #body .title.news_title {
    padding-top: 0px;
  }

  #body article.current .prof_table .cell img.sp {
    display: block;
  }

  #body article.current .prof_table .cell img.pc {
    display: none;
  }

  #body .backnumber {
    margin-top: 80px;
    padding-left: 30px;
    padding-right: 30px;
  }

  #body .backnumber .img {
    margin-left: 0px;
    width: 208px;
    text-align: left;
  }

  #body .backnumber ul li a {
    background-color: rgba(255, 255, 255, 0);
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }

  #body .backnumber ul li a:hover {
    background-color: rgba(255, 255, 255, 0.4);
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }
}

/***********************************************************/
@media only screen and (min-width: 920px) {
  #body article .table .cell {
    display: table-cell;
    vertical-align: top;
    width: auto;
    padding: 0 5% 0 0;
    margin: 0;
  }

  #body article .table .cell+.cell {
    width: 35.6522%;
    padding: 0;
    margin: 0;
  }

  #body .teacher .table {
    width: 100%;
  }

  #body .teacher .table .cell {
    width: 21.9565%;
    padding-right: 0px;
  }

  #body .teacher .table .cell+.cell {
    width: 78.0435%;
    padding-left: 55px;
  }

  #body .teacher .table.chief .cell div.font3 {
    padding-top: 0px;
  }

  #body .teacher .table .cell .name h2 span {
    display: inline-block;
    margin-left: 1em;
    margin-top: 0px;
  }

  #body .teacher .table .cell .name div.font1 {
    margin-top: 7px;
  }

  #body .teacher .table .cell dl dt {
    width: 8em;
    float: left;
    margin-top: 17px;
    clear: both;
    line-height: 1.5em;
  }

  #body .teacher .table .cell dl dd {
    margin-left: 8em;
    margin-top: 17px;
    line-height: 1.5em;
  }

  #body .teacher div.pc {
    margin-top: 30px;
    display: block;
  }

  #body .teacher .table+.sp {
    display: none;
  }

  #body .teacher .table.chief .cell {
    width: auto;
    padding: 25px;
    vertical-align: middle;
  }

  #body .teacher .table.chief .cell+.cell {
    width: 38.0435%;
    padding: 25px 25px 25px 1px;
  }

  #body .course dl {
    margin-top: 40px;
  }

  #body .course dl dd ul.list {
    margin-top: 45px;
  }

  #body .course dl dd ul.list li {
    width: 48.587%;
    float: left;
    border-bottom: 1px none #c0c0c0;
  }

  #body .course dl dd ul.list li:nth-child(n+3) {
    border-top: 1px solid #c0c0c0;
  }

  #body .course dl dd ul.list li:nth-last-child(1),
  #body .course dl dd ul.list li:nth-last-child(2) {
    border-bottom: 1px solid #c0c0c0;
  }

  #body .course dl dd ul.list li:nth-child(even) {
    float: right;
  }

  #body .course dl dd ul.list li:nth-child(odd) {
    clear: both;
  }

  #body .course dl dd p.etc {
    text-align: right;
  }

  #body .course dl dd .table {
    margin-top: 60px;
  }

  #body .course dl dd .table .cell,
  #body .course dl dd .table .cell+.cell {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
  }

  #body .course dl dd .table .cell:nth-child(1) {
    text-align: center;
  }

  #body .course dl dd .table .cell:nth-child(1) img {
    width: 73.4783%;
  }

  #body .course dl dd .table .cell ul.atte {
    margin-top: 40px;
  }

  #body .info article.item h3 .table .cell:nth-child(1) {
    width: 27.1739%;
  }

  #body .info article.item .box table.school_year {
    margin-top: 20px;
  }

  #body .info article.item .box table.school_year+.school_year {
    margin-top: 0px;
  }

  table.school_year tr td:before {
    display: none;
  }

  table.school_year tr th,
  table.school_year tr td {
    display: table-cell;
    width: 50%;
    margin-bottom: 0px;
  }

  #body .info article.item .box .area ul.list li+li {
    margin-top: 40px;
  }

  #body .info article.item .box .area ul.list li span {
    margin-top: 30px;
  }

  #body .info article.item .box .area ul.list.table {
    display: table;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding: 0;
    width: 100%;
  }

  #body .info article.item .box .area ul.list.table li {
    width: 48.913%;
    float: left;
  }

  #body .info article.item .box .area ul.list.table li+li {
    margin-top: 0px;
  }

  #body .info article.item .box .area ul.list.table li:nth-child(odd) {
    clear: both;
  }

  #body .info article.item .box .area ul.list.table li:nth-child(even) {
    float: right;
  }

  #body .voice {
    margin-top: 40px;
    margin-bottom: 40px;
    display: table;
    width: 100%;
  }

  #body .voice ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  #body .voice ul li {
    width: 47.8261%;
  }

  #body .voice ul li+li {
    margin-top: 0px;
  }

  #body .voice ul li a .img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }

  #body .voice ul li a:hover .img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }

  #body .voice article {
    width: 47.8261%;
    float: left;
  }

  #body .voice article+article {
    margin-top: 0px;
    float: right;
  }

  #body .current #prof_img .yellow .img.pc {
    display: block;
  }

  #body .current #prof_img .yellow .img.sp {
    display: none;
  }

  #body .current #prof_img {
    background-color: #fff000;
    position: relative;
    margin-bottom: 0px;
    padding: 15px 15px 30px 15px;
  }

  #body .current #prof_img .profile {
    position: absolute;
    bottom: 145px;
    width: auto;
    left: 45px;
    margin-bottom: 0px;
    margin-top: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    border-style: none;
  }

  #body .current #prof_img .profile div.font-2 {
    display: block;
  }

  #body .current #prof_img .profile .name {
    margin-top: 7px;
    padding-top: 17px;
    padding-bottom: 17px;
    border-left: 1px none #c0c0c0;
    border-right: 1px none #c0c0c0;
    border-bottom: 1px solid #c0c0c0;
    border-top: 1px solid #c0c0c0;
  }

  #body .current #prof_img .yellow {
    padding: 0;
  }

  #body .current #prof_img .yellow .copy {
    margin-top: 30px;
    padding-left: 14px;
    line-height: 1.6em;
    margin-bottom: 0px;
  }

  #body .current dl.qa {
    margin-top: 30px;
  }

  #body .current .photo {
    display: table;
    width: 100%;
    padding: 0;
    margin: 40px 0 0 0;
  }

  #body .current .photo .cell {
    display: table-cell;
    width: 50%;
    padding: 0;
    margin: 0;
    vertical-align: middle;
  }

  #body .current .photo.left .cell:nth-child(2) {
    padding-right: 35px;
  }

  #body .current .photo.right .cell:nth-child(1) {
    padding-left: 35px;
  }

  #body .current .photo .cell.sp {
    display: none;
  }

  #body .current .photo .cell dl.qa {
    margin-top: 0px;
  }

  #body .current .photo .cell dl.qa dd {
    margin-top: 30px;
    font-size: 2.8rem !important;
  }

  #body .current .photo .cell dl.qa dd span.small {
    font-size: 2rem;
  }

  #body .current .photo .cell dl.qa dd span.br {
    display: block;
    line-height: 1.8em;
  }

  #body .current .photo .cell dl.qa dd span.br span.line {
    position: relative;
    margin: 0;
  }

  #body .current .photo .cell dl.qa dd span.br span.line:after {
    width: 100%;
    height: 9px;
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    background-color: #fff000;
    content: "";
  }

  #body .current .photo .cell dl.qa dd span.br span.line strong {
    font-weight: normal;
    position: relative;
    z-index: 1;
  }

  #body article.current .interview {
    padding: 20px 3.2609% 20px 3.2609%;
    margin-bottom: 0px;
  }

  #body article.current .interview .area .table .title {
    margin-top: 10px;
    width: 53.2609%;
    float: left;
  }

  #body article.current .interview .area .table .title h3 {
    margin-bottom: 0px;
    padding-left: 1em;
    padding-right: em;
  }

  #body article.current .interview .area .table .title h3:after {
    right: -10px;
    left: auto;
    top: 50%;
    margin-top: -6.5px;
    width: 13px;
    height: 13px;
    bottom: auto;
    margin-left: 0px;
  }

  #body article.current .interview .area .table .title p {
    margin-top: 30px;
  }

  #body article.current .interview .area .table .movie {
    margin-top: 0px;
    float: right;
    width: 39.6739%;
  }

  #body article.current .interview .area .table .movie a {
    width: 100%;
    opacity: 1;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }

  #body article.current .interview .area .table .movie a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    text-decoration: none;
  }

  #body article.current .interview .area .table .movie a span.caption {
    margin-top: 12px;
  }

  #body article.current .interview .area .table .movie a:hover span.caption {
    text-decoration: underline;
  }

  #body article.current .prof_table .cell+.cell {
    padding: 30px 40px 30px 40px;
  }

  #body article.current .prof_table .cell img.sp {
    display: none;
  }

  #body article.current .prof_table .cell img.pc {
    display: block;
  }

  #body article.current .prof_table .cell .table .cell {
    display: table-cell;
    width: auto;
    vertical-align: middle;
  }

  #body article.current .prof_table .cell .table .cell h2 {
    width: auto;
  }

  #body article.current .prof_table .cell .table .cell+.cell {
    padding: 0 0 0 7.14286%;
    width: 77.3171%;
  }

  #dialogue #dialogue_img {
    padding-top: 0px;
  }

  #dialogue #dialogue_img .title {
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  #dialogue #dialogue_img .title .cell {
    width: 100%;
    text-align: center;
  }

  #dialogue #dialogue_img .title .cell img {
    width: 178px;
  }

  #dialogue #dialogue_img .title .cell+.cell {
    position: absolute;
    top: 0px;
    right: 20px;
    display: table;
    width: 24.6739%;
    height: 100%;
    max-width: 227px;
    overflow: hidden;
  }

  /*
      #dialogue #dialogue_img .title .cell+.cell .guest {
          display: table-cell;
          vertical-align: middle;
      }
  */
  #dialogue #dialogue_img .title .cell .guest {
    height: 153.63px;
  }

  #dialogue #dialogue_img .title .cell+.cell .guest img {
    width: 100%;
    max-width: none;
  }

  #dialogue #dialogue_img .body {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  #dialogue #dialogue_img p.caption {
    padding-left: 0px;
    padding-right: 0px;
  }

  #dialogue article {
    width: 100%;
  }

  #dialogue article .block {
    display: table;
    width: 100%;
  }

  #dialogue article .block>.img {
    width: 48.913%;
    float: right;
    margin-top: 0px;
  }

  #dialogue article .block>dl:nth-last-child(2) {
    width: 46.7391%;
    float: left;
    clear: both;
  }

  #dialogue article .catch {
    margin-top: 60px;
    padding-left: 89px;
    padding-top: 19px;
    padding-bottom: 19px;
  }

  #dialogue article .catch .icon {
    width: 77px;
    top: -38.5px;
  }

  #dialogue article .block dl {
    display: table;
    width: 100%;
  }

  #dialogue article .block dl>*:nth-child(n+3),
  #dialogue article .block dl .left>*:nth-child(n+3) {
    margin-top: 15px;
  }

  #dialogue article .block dl>.img:nth-child(n+3) {
    margin-top: 40px;
    width: 100%;
    display: table;
  }

  #dialogue article .block dl>.img img:nth-last-child(n+2) {
    width: 49.6739%;
    float: left;
  }

  #dialogue article .block dl>.img img+img {
    margin-top: 0px;
    width: 49.6739%;
  }

  #dialogue article .block dl>.img img:nth-child(even) {
    float: right;
  }

  #dialogue article .block dl>.img img:nth-child(odd) {
    clear: both;
  }

  #dialogue article .block dl>.img img:nth-child(n+3) {
    margin-top: 0.6522%;
  }

  #dialogue article .block dl>.left {
    width: 45.9783%;
    float: left;
  }

  #dialogue article .block dl>.right {
    width: 49.6739% !important;
    float: right;
    margin-top: 15px !important;
  }
}

/***********************************************************/
/*2024.04****************************************************/
#department_main {
  max-width: 1366px;
  margin: 0 auto 0 auto;
}

#department_main .department_area {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  row-gap: 2px;
}

#department_main .department_area>* {
  width: 100%;
}

#department_main .department_area .title {
  background-color: #e6e6dd;
  padding: 40px 0 40px 0;
}

#department_main .department_area .title h1 {
  padding: 0 10px 0 12px;
  font-weight: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  border-left: 10px solid var(--color_09);
}

#department_main .department_area .title h1>span {
  width: 100%;
}

#department_main .department_area .title h1>span.de_university {
  font-weight: bold;
}

#department_main .department_area .title h1>span.de_faculty {
  margin-top: 10px;
}

#department_main .department_area .title h1>span.de_department {
  margin-top: 30px;
  letter-spacing: 0.1em;
}

#department_main .department_area .title h1>span.de_department span:nth-child(n+2) {
  margin-left: 1em;
}

#department_main .department_area .img_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background-color: var(--color_09);
}

#department_main .department_area .img_area .img {
  width: 88%;
}

#department_main .department_area .img_area .name {
  text-align: center;
  padding-top: 25px;
  width: 12%;
  position: relative;
}

#department_main .department_area .img_area .name img {
  width: 53%;
  max-width: 35px;
  position: relative;
  z-index: 2;
}

#topic_banner {
  max-width: 1200px;
  margin-top: 25px;
  margin-left: auto;
  margin-right: auto;
}

#topic_banner a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  row-gap: 20px;
}

#topic_banner a:after {
  display: none;
}

#topic_banner a .img {
  width: 100%;
}

#topic_banner a p {
  width: 94%;
}

#body article .flex>* {
  width: 100%;
}

#body article .flex .left a.button01 {
  margin-top: 15px;
}

#body article .flex .left a.button01[href$=".pdf"]:after {
  display: none;
}

#body article#course .flex .left {
  padding: 25px 0 25px 0;
}

#body article#course .flex .left .area ul {
  padding: 25px 0 0 0;
  margin: 0;
  list-style: none;
}

#body article#course .flex .left .area ul li {
  display: inline;
  margin-right: 0.5em;
}

#body article#course .flex .left .area ul li::before {
  content: "●";
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", sans-serif;
  padding-right: 0.3em;
}

#body article#course .flex .left .area p.other {
  width: 100%;
}

#body article#course .flex .right {
  padding: 22px 0 22px 0;
  background-color: var(--color_02);
}

#body article#course .flex .right .area {
  width: 66%;
}

#body article#course .flex .right .area img {
  width: 100%;
}

#body article.overview .flex .left h2 {
  border-bottom: 4px solid var(--color_01);
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-weight: normal;
  display: block;
}

#body article.overview .flex .left dl.db_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 32px;
}

#body article.overview .flex .left dl.db_info+* {
  margin-top: 32px;
}

#body article.overview .flex .left dl.db_info>.block {
  width: 100%;
}

#body article.overview dl.db_info>.block>dt {
  font-weight: bold;
}

#body article.overview dl.db_info.color>.block>dt {
  color: var(--color_06);
}

#body article.overview dl.db_info>.block>dd {
  margin-top: 15px;
}

#body article.overview dl.db_info dl.db_info>.block>dd {
  margin-top: 7.5px;
}

#body article.overview .flex .left ul.list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#body article.overview .flex .left ul.list li {
  display: table;
}

#body article.overview .flex .left ul.list li:before {
  display: table-cell;
  content: "●";
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", sans-serif;
  padding-right: 0.3em;
  color: var(--color_01);
}

#body article.overview .flex .left ul.atte_number {
  margin: 15px 0 0 0;
  padding: 0;
  list-style: none;
}

#body article.overview .flex .left ul.atte_number li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#body article.overview .flex .left ul.atte_number li span {
  width: calc(100% - 2.5em);
}

#body article.overview .flex .left ul.atte_number li span:first-child {
  width: 2.5em;
}

#body article.overview .flex .right {
  margin-top: 25px;
}

#body article.overview .flex .full {
  margin-top: 40px;
}

#body article.overview .flex .full .graph ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

#body article.overview .flex .full .graph ul li {
  width: 50%;
  text-align: center;
}

#body article.overview .flex .full .graph ul li img {
  width: 88.4035361414%;
}

#body article.overview .flex .full .graph picture img {
  width: 100%;
}

#body #class {
  margin-top: 30px;
}

#body #class img {
  width: 100%;
}

#body #class section.model .area {
  margin-top: 40px;
}

#body #class section.model .area.flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#body #class section.model .area.flex>* {
  width: 100%;
}

#body #class section.model .area.flex.type1 {
  row-gap: 40px;
}

#body #class section.model .area.flex.type1 .left h3 {
  margin-bottom: 20px;
}

#body #class section.model .area.flex.type1 .right .img {
  width: 81.8181818182%;
  margin: 0 auto 0 auto;
}

#body #class section.model .area.flex.type1 .full {
  margin-top: 10px;
}

#body #class section.model .area.flex.type1 .full h3 {
  padding: 0.3em 0 0.3em 0.5em;
  font-weight: bold;
  line-height: 1em;
  border-left: 4px solid var(--color_06);
}

#body #class section.model .area.flex.type2 {
  row-gap: 40px;
}

#body #class section.introduction {
  margin-top: 30px;
}

#body #class section.introduction .article_list {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 10px;
}

#body #class section.introduction .article_list article {
  padding: 20px 0 20px 0;
  background-color: #f1f1ec;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 20px;
}

#body #class section.introduction .article_list article>* {
  margin: 0 auto 0 auto;
  width: 94%;
}

#body #class section.introduction .article_list article dl>dt {
  margin-bottom: 20px;
  padding-bottom: 10px;
  position: relative;
  font-weight: bold;
}

#body #class section.introduction .article_list article dl>dt:after {
  width: 100%;
  height: 4px;
  display: block;
  position: absolute;
  left: 0px;
  bottom: -4px;
  background-color: #000000;
  content: "";
  background-color: var(--color_01);
}

#body #class dl.square {
  margin-top: 30px;
}

#body #class dl.square>dt {
  font-weight: bold;
  color: var(--color_06);
}

#body #class dl.square>dt::before {
  content: "■";
  margin-right: 0.3em;
}

#body #class dl.square>dt:nth-of-type(n + 2) {
  margin-top: 30px;
}

#body #class dl.square>dd {
  margin-top: 15px;
}

#body #class dl.flex_half {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 30px;
}

#body #class dl.flex_half>.block {
  width: 100%;
}

#body #class dl.flex_half>.block dt {
  font-weight: bold;
}

#body #class dl.flex_half>.block dd {
  margin-top: 20px;
}

#body #class dl.flex_half>.block dd .img {
  margin: 0 auto 0 auto;
  width: 85.2272727273%;
}

#body #class dl.flex_half .block dd p {
  margin-top: 20px;
}

#body #graduate {
  margin-top: 25px;
}

#body #graduate .gr_header {
  width: 94%;
  margin: 0 auto 0 auto;
}

#body #graduate .gr_header h2+p {
  margin-top: 25px;
  text-align: center;
}

#body #graduate .prof_area {
  margin-top: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 2px;
}

#body #graduate .prof_area .profile {
  width: 100%;
  background-color: #e5e5e2;
  padding: 25px 0 81px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 5.6818181818%;
  -moz-column-gap: 5.6818181818%;
  column-gap: 5.6818181818%;
  position: relative;
}

#body #graduate .prof_area .profile dl {
  width: 56.8181818182%;
}

#body #graduate .prof_area .profile dl>dd {
  margin-top: 14px;
}

#body #graduate .prof_area .profile dl>dd p {
  line-height: 1.4em;
}

#body #graduate .prof_area .profile dl>dd a {
  width: 175px;
  height: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--color_01);
  position: absolute;
  left: 50%;
  bottom: 25px;
  border-radius: 36px;
  margin-left: -87.5px;
  background-image: url(/department/images/grad_yj.svg);
  background-repeat: no-repeat;
  background-size: 10px auto;
  background-position: right 10px center;
}

#body #graduate .prof_area .profile .img {
  width: 28.4090909091%;
}

#body #graduate .prof_area+ul.atte {
  margin-top: 10px;
}

#body #graduate article.report {
  width: 94%;
  margin: 40px auto 0 auto;
  padding-top: 40px;
  border-top: 5px solid var(--color_01);
}

#body #graduate article.report .text .body_text h3 {
  font-weight: normal;
}

#body #graduate article.report .text .body_text h3 span {
  display: block;
}

#body #graduate article.report .text .body_text h3 span.name {
  margin-top: 20px;
  line-height: 1.6em;
}

#body #graduate article.report .text .body_text .school {
  margin-top: 10px;
}

#body #graduate article.report .text .body_text .school::before {
  content: "○";
}

#body #graduate article.report .text .body_text .img {
  margin-top: 20px;
}

#body #graduate article.report .text .body_text p {
  margin-top: 30px;
}

#body #graduate article.report .photo.flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 10px;
  margin-top: 30px;
}

#body #graduate article.report .photo.flex>* {
  width: 100%;
}

#body #graduate+.backnumber {
  width: 94%;
  margin: 85px auto 0 auto;
  position: relative;
}

#body #graduate+.backnumber::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background-color: var(--color_01);
  position: absolute;
  top: -45px;
  left: 0px;
}

@media only screen and (min-width: 640px) {
  #topic_banner a {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 0px;
    position: relative;
    background-color: var(--banner_back);
  }

  #topic_banner a:after {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -0.5em;
  }

  #topic_banner a .img {
    aspect-ratio: 1292/458;
    width: 53.8333%;
    overflow: hidden;
  }

  #topic_banner a .img img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }

  #topic_banner a:hover .img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }

  #topic_banner a p {
    width: 43.25%;
    padding-right: calc(40px + 1em);
  }

  #body article .flex .left a.button01 {
    margin-top: 22px;
  }

  #body article#course .flex .left {
    padding: 25px 22px 22px 22px;
  }

  #body article#course .flex .right .area {
    width: 100%;
    max-width: 220px;
  }

  #body #graduate {
    margin-top: 0;
  }

  #body #graduate .gr_header {
    width: 100%;
  }

  #body #graduate article.report {
    width: 100%;
  }

  #body #graduate+.backnumber {
    width: 100%;
  }

  #body article.overview .flex .left h2 {
    padding-bottom: 6px;
    margin-bottom: 30px;
    display: inline-block;
  }

  #body article.overview .flex .left dl.db_info+* {
    margin-top: 25px;
  }

  #body #class {
    margin-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  #department_main {
    margin-top: 20px;
    height: 478px;
    position: relative;
  }

  #department_main .department_area {
    height: 100%;
  }

  #department_main .department_area .title {
    width: 286px;
    padding: 34px 0 34px 0;
  }

  #department_main .department_area .title h1 {
    border-left: 14px solid var(--color_09);
    padding: 0 25px 0 16px;
  }

  #department_main .department_area .title h1>span.de_department span {
    margin: 0 !important;
    display: block;
  }

  #department_main .department_area .img_area {
    width: calc(100% - 286px);
  }

  #department_main .department_area .img_area .img {
    background-position: center center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: var(--back_img);
    width: calc(100% - 76px);
    position: relative;
  }

  #department_main .department_area .img_area .img::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background-color: #ffffff;
    position: absolute;
    top: 0;
    left: 0;
  }

  #department_main .department_area .img_area .img img {
    display: none;
  }

  #department_main .department_area .img_area .name {
    width: 76px;
    padding-top: 34px;
  }
}

@media only screen and (min-width: 920px) {
  #body article#course .flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #body article#course .flex .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  #body article .flex>.left {
    width: 64.347826087%;
  }

  #body article .flex>.right {
    width: 35.652173913%;
  }

  #body article#course .flex .right .area {
    width: 90%;
  }

  #body article.overview .flex>.left {
    padding-right: 5%;
  }

  #body article.overview .flex .right {
    margin-top: 0;
  }

  #body article.overview .flex .full .graph ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 2.8913043478%;
    -moz-column-gap: 2.8913043478%;
    column-gap: 2.8913043478%;
  }

  #body article.overview .flex .full .graph ul li {
    width: 22.8260869565%;
  }

  #body article.overview .flex .full .graph ul li img {
    width: 100%;
  }

  #body #class section.model .area.flex {
    row-gap: 40px;
  }

  #body #class section.model .area.flex.type1>.left {
    width: 54.347826087%;
  }

  #body #class section.model .area.flex.type1 .left h3 {
    margin-bottom: 40px;
  }

  #body #class section.model .area.flex.type1>.right {
    width: 38.0434782609%;
  }

  #body #class section.model .area.flex.type1 .right .img {
    width: 100%;
  }

  #body #class section.model .area.flex.type1 .full {
    margin-top: 0;
  }

  #body #class section.introduction {
    margin-top: 40px;
  }

  #body #class section.introduction .article_list {
    margin-top: 40px;
    row-gap: 20px;
  }

  #body #class section.introduction .article_list article {
    padding: 30px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  #body #class section.introduction .article_list article>dl {
    margin: 0;
    width: 39.7674418605%;
  }

  #body #class section.introduction .article_list article dl>dt {
    padding-bottom: 15px;
    margin-bottom: 40px;
  }

  #body #class section.introduction .article_list article>.img {
    padding-top: calc(1.7rem + 19px);
    margin: 0;
    width: 56.7441860465%;
  }

  #body #class dl.square {
    margin-top: 40px;
  }

  #body #class dl.square>dt:nth-of-type(n + 2) {
    margin-top: 40px;
  }

  #body #class dl.flex_half>.block {
    width: 48.3695652174%;
  }

  #body #class dl.flex_half>.block dd {
    margin-top: 40px;
  }

  #body #class dl.flex_half .block dd p {
    margin-top: 40px;
  }

  #body #graduate .gr_header h2+p {
    margin-top: 40px;
  }

  #body #graduate .prof_area {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 4.347826087%;
    -moz-column-gap: 4.347826087%;
    column-gap: 4.347826087%;
    padding: 30px 0 30px 0;
    margin-top: 40px;
    background-color: #e5e5e2;
  }

  #body #graduate .prof_area .profile {
    width: 43.4782608696%;
    -webkit-column-gap: 7%;
    -moz-column-gap: 7%;
    column-gap: 7%;
    padding: 0;
  }

  #body #graduate .prof_area .profile dl {
    width: 58.35%;
  }

  #body #graduate .prof_area .profile dl>dd a {
    position: static;
    margin: 20px 0 0 0;
  }

  #body #graduate .prof_area .profile .img {
    width: 34.65%;
  }

  #body #graduate article.report .text {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  #body #graduate article.report .text::after {
    content: "";
    display: block;
    aspect-ratio: 1/1;
    width: 57.1739130435%;
  }

  #body #graduate article.report .text .body_text {
    width: 36.9565217391%;
  }

  #body #graduate article.report .text .body_text h3 span.name {
    margin-top: 25px;
  }

  #body #graduate article.report .text .body_text .img {
    margin-top: 0;
    position: absolute;
    width: 57.1739130435%;
    top: 0;
    right: 0;
  }

  #body #graduate article.report .text .body_text p {
    margin-top: 40px;
  }

  #body #graduate article.report .photo.flex {
    margin-top: 50px;
  }

  #body #graduate article.report .photo.flex>.img {
    width: 49.1304347826%;
  }

  #body #graduate article.report {
    margin: 50px auto 0 auto;
    padding-top: 50px;
  }

  #body #graduate+.backnumber {
    margin: 105px auto 0 auto;
  }

  #body #graduate+.backnumber::before {
    top: -55px;
  }
}

@media only screen and (min-width: 991px) {
  #department_main .department_area .img_area .img {
    width: 628px;
  }

  #department_main .department_area .img_area .name {
    width: calc(100% - 628px);
  }
}

@media only screen and (min-width: 1020px) {
  #department_main>* {
    position: relative;
    z-index: 3;
  }

  #department_main::before,
  #department_main::after {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: #e6e6dd;
  }

  #department_main::after {
    left: auto;
    right: 0;
    background-color: var(--color_09);
  }

  #department_main .department_area .img_area .name {
    padding-left: 40px;
    text-align: left;
  }
}

/************************************************************/
:root {
  /*
  --color_01: #;
  --color_02: #;
  --color_03: #;
  --color_04: #;
  --color_05: #;
  --color_06: #;
  --color_07: rgba();
  --color_08: #;
  --color_09: #;
  --back_img: url();
  */
}

#main_img {
  background-color: var(--color_01);
}

#news .area h2 {
  border-bottom-color: var(--color_01);
}

#body .area .point li span {
  background-color: var(--color_01);
}

#body article.overview ol.num>li:before,
#body article.overview ol.num>li p {
  color: var(--color_04);
  font-weight: bold;
}

#contents .title_var {
  background-color: var(--color_01);
}

#contents .title_var+h1 {
  border-bottom-color: var(--color_01);
}

#body h2.font2 {
  border-top-color: var(--color_01);
}

#body .title_line:after {
  background-color: var(--color_01);
}

#body .teacher .table .cell .name {
  border-bottom-color: var(--color_01);
}

#body article#course .table .cell+.cell {
  background-color: var(--color_02);
}

#body article.current .prof_table .cell:nth-child(2) {
  background-color: var(--color_01);
}

#dialogue_img {
  background-color: var(--color_01);
}

#dialogue_img .body {
  background-color: var(--color_05);
}

#dialogue article h2 {
  color: var(--color_06);
}

#dialogue article .block dl dt {
  color: var(--color_06);
}

#dialogue article .block dl dt:before,
#dialogue article .block dl dt:after {
  border-color: var(--color_06);
}

#dialogue article .catch {
  background-color: var(--color_05);
}

/***********************************************************/
@media only screen and (min-width: 640px) {
  a.button01 {
    /* max-width: 267px; */
    max-width: 287px;
  }

  #main_img {
    background-color: var(--color_07);
  }

  #main_img:before {
    background-color: #ffffff;
  }

  #main_img:after {
    background-color: #ffffff;
  }

  #main_img .area .table {
    background-color: var(--color_01);
  }

  #body h2.font2 {
    border-top-color: #c0c0c0;
  }

  main#full_img #contents {
    border-top-color: var(--color_01);
  }
}

/***********************************************************/
@media only screen and (min-width: 920px) {
  #body .current .photo.photo1 {
    background-color: var(--color_08);
  }

  #body .current .photo.photo2 {
    background-color: var(--color_08);
  }
}

/*2023*******************************************************/
#department_main:after {
  background-color: var(--color_09);
}

#department_main .de_cover .de_name {
  background-color: var(--color_09);
}

#department_main .de_block .de_cover .de_img:before {
  background-image: var(--back_img);
}

/************************************************************/
/*2024*******************************************************/
#body .course dl dd .jisseki {
  margin-top: 40px;
}

#body .course dl dd .jisseki a.button01 {
  height: 60px;
  width: 94%;
  max-width: none;
  padding-left: 2.5em;
  background-color: #fff000;
  color: #000000;
}

#body .course dl dd .jisseki a.button01:before {
  font-size: 1.5rem;
}

@media only screen and (min-width: 640px) {
  #body .course dl dd .jisseki {
    margin-top: 60px;
  }

  #body .course dl dd .jisseki a.button01 {
    height: 90px;
    max-width: 500px;
  }

  #body .course dl dd .jisseki a.button01:hover {
    background-color: rgba(255, 240, 0, 0.7);
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }
}

@media only screen and (min-width: 920px) {
  #body .course dl dd .jisseki a.button01 {
    margin-left: auto;
    margin-right: auto;
  }
}

/*2025*********************************/
.atte_bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 50px;
  background-color: #fff000;
  max-width: 1366px;
  margin: 0 auto 0 auto;
}

.atte_bar .area p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  column-gap: 15px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.atte_bar .area p span {
  font-size: 1.2rem;
}

.atte_bar .area p span:nth-child(2) {
  font-size: 2.2rem;
}

/**************************************/
/* 260213追記 */
@media screen and (max-width: 768px) {
  #local_nav {
    right: 0;
    left: unset;
    width: 70%;
    height: calc(100vh - 0 / 780 * 100vw);
    z-index: 1400;
  }

  #local_nav .block ul li a {
    font-size: 1.5rem;
  }

  #local_nav.fix {
    position: fixed;
    top: calc(60 / 780 * 100vw);
  }

  #local_nav h3 span.sp {
    width: 40px;
    padding-left: 0px;
    background-color: #fff000;
    font-size: 0px;
    text-align: center;
  }
}

#local_nav .block ul li a {
  font-size: 1.4rem;
}

@media screen and (min-width: 640px) {
  #contents {
    padding-top: 70px;
  }

  #body article.overview #info {
    padding-top: 100px;
    margin-top: -100px;
  }
}

@media screen and (max-width: 639px) {
  #body article.overview #info {
    padding-top: calc(120 / 780 * 100vw);
    margin-top: calc(-120 / 780 * 100vw);
  }
}

#contents {
  padding-top: 50px;
}

ol li {
  list-style-type: decimal !important;
}

/*# sourceMappingURL=old_department.css.map */


/* 260313追記 */
.recruitment-stopped {
  color: var(--red01);
  font-size: 1.4rem;
  margin-top: 5px;
}