@charset "utf-8";

.page a:hover {text-decoration: underline;}
.page a img{
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
	-webkit-transition: all .3s;
	transition: all .3s;}
.page a:hover img {opacity: 0.7;  filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}

.page a.blank{
    position: relative;
}
.page a.blank:after{
    font-family: 'Font Awesome 5 Free';
    content: '\f35d';
    font-size: 0.8em;
    margin: 0px 0 0 5px;
    font-weight: 900;
    display: inline-block;
    text-decoration: none !important;
}
a.deconone,a.deconone:hover{text-decoration:none;}
a.deco,a.deco:hover{text-decoration:underline; color: #A62236 !important;}
a.deco:hover{text-decoration:underline; color:#666666 !important;}

/* title
============================================================================================================ */
#title h1,#title > div > div span{color:#ffffff; line-height:1.1em; display:block; padding:0px; text-align:center; margin:0;text-shadow:0px 1px 7px rgba(0,0,0,0.3);}
#title h1{font-size: 1.5em; letter-spacing:0.13em; width:100%;text-shadow:0px 1px 7px rgba(0,0,0,0.3);}
#title > div > div span{display:block; margin-top:5px; font-family: 'Oswald', sans-serif; text-transform: capitalize;letter-spacing: 0.04em;text-shadow:0px 1px 7px rgba(0,0,0,0.3);font-size: 80%;font-weight: 400;}
#title{display:flex; flex-direction: column;}

/* 各ページheader画像 */
#title > div:first-child{display:flex; min-height:150px; background: url(../images/title.jpg) no-repeat center center; background-size:cover !important;}
#title > div.about,
#title > div.about.path-after-graduation{background: url(../images/title_about.jpg) no-repeat center center;}
#title > div.about.greeting{background: url(../images/title_greeting.jpg) no-repeat center center;}
#title > div.about.humanities{background: url(../images/title_humanities.jpg) no-repeat center center;}

#title > div.department{background: url(../images/title_department.jpg) no-repeat center center;}
#title > div.department.japanese-culture{background: url(../images/title_japanese-culture.jpg) no-repeat center center;}
#title > div.department.english-and-cultures{background: url(../images/title_english-and-cultures.jpg) no-repeat center center;}
#title > div.department.evening-classes{background: url(../images/title_evening-classes.jpg) no-repeat center center;}

#title > div.teaching-staff{background: url(../images/title_staff.jpg) no-repeat center center;}
#title > div.teaching-staff.index,
#title > div.teaching-staff.recruit{background: url(../images/title_recruit.jpg) no-repeat center center;}
#title > div.teaching-staff.mail{background: url(../images/title_staff_mail.jpg) no-repeat center center;}

#title > div.event{background: url(../images/title_event.jpg) no-repeat center center;}
#title > div.event.challenges-of-humanities{background: url(../images/title_challenges-of-humanities.jpg) no-repeat center center;}
#title > div.event.contest-of-graduation-research{background: url(../images/title_contest-of-graduation-research.jpg) no-repeat center center;}
#title > div.event.humanities-conference{background: url(../images/title_humanities-conference.jpg) no-repeat center center;}
#title > div.event.other-events{background: url(../images/title_other-events.jpg) no-repeat center center;}

#title > div.publication,
#title > div.publication.human,
#title > div.publication.report-special-training,
#title > div.publication.international-programs,
#title > div.publication.report-teacher-program,
#title > div.publication.journal-humanities,
#title > div.publication.annual-report{background: url(../images/title_publication_index.jpg) no-repeat center center;}
#title > div.publication.past,
#title > div.publication.teaching-staff-recent-work{background: url(../images/title_publication.jpg) no-repeat center center;}

#title > div.program{background: url(../images/title_program.jpg) no-repeat center center;}
#title > div.program.special-classes-in-no-other-place{background: url(../images/title_special-classes-in-no-other-place.jpg) no-repeat center center;}
#title > div.program_english-courses-of-humanities{background: url(../images/title_english-courses-of-humanities.jpg) no-repeat center center;}
#title > div.program_specialized-qualification-programs{background: url(../images/title_specialized-qualification-programs.jpg) no-repeat center center;}
#title > div.program_specialized-qualification-programs.teaching-course{background: url(../images/title_teaching-course.jpg) no-repeat center center;}
#title > div.program_specialized-qualification-programs.japanese-training-course{background: url(../images/title_japanese-training-course.jpg) no-repeat center center;}
#title > div.program_specialized-qualification-programs.curator-course{background: url(../images/title_curator-course.jpg) no-repeat center center;}
#title > div.program_specialized-qualification-programs.library-course{background: url(../images/title_library-course.jpg) no-repeat center center;}

#title > div.info{background: url(../images/title_info.jpg) no-repeat center center;}

#title > div.sitemap,
#title > div.\0034\0030\0034{background: url(../images/title_sitemap.jpg) no-repeat center center;}/* 404 Unicode指定 */

#title div.container-fluid{padding:15px;display:flex; margin:0 auto; flex-direction: column;justify-content: center; align-items:center; flex-wrap:wrap; }
@media (min-width:768px) {
  #title h1{font-size: 2rem;text-shadow:0px 1px 7px rgba(0,0,0,0.3);}
  #title > div:first-child{ min-height:300px;}
}

/* パンくずリスト
============================================================================================================ */
.breadcrumbs{
    display: none;
}
.breadcrumbs li a {
    text-decoration: none !important;
}
.breadcrumbs li{
	display: inline-block;
}
.breadcrumbs li a:after{
	content:">";
	margin-left: 5px;
    color: #000;
}
@media (min-width:768px) {
	.breadcrumbs{
		display: block;
        padding: .75rem 1rem;
	}
}

/* Headings
============================================================================================================ */
/*.department .title_center {
    padding-bottom: .5em;
}*/
main.department > .title_center {
    padding-top: 3rem;
    padding-bottom: .5em;
}

/* 
lead
============================================================================================================ */
.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

/* 
column
============================================================================================================ */
.col_2,
.col_3 {
	display: block;
}
.col_2.col_s_2,
.col_4 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.col_2 > li,
.col_2 > div{
    width: 100%;
    margin-top: 1rem;
}
.col_2.col_s_2 > li,
.col_2.col_s_2 > div{
    width: 48.5%;
}
.col_3 > li,
.col_3 > div{
    width: 100%;
    margin-top: 1rem;
}
.col_3:after{
  content:none;
}
.col_4 > li,
.col_4 > div{
    width: 49%;
    margin-top: 1rem;
    margin-bottom: 2rem;
}
.col_4:before,
.col_4:after{
  content:none;
}

main.department .col_2 > li,
main.department .col_3 > li,
main.department .col_4 > li,
.col_over_area .col_2 > li,
.col_over_area .col_3 > li,
.col_over_area .col_4 > li{
    position: relative;
}
main.department .col_2 > li a div,
main.department .col_3 > li a div,
main.department .col_3 > li span,
main.department .col_4 > li a div,
.col_over_area .col_2 > li a div,
.col_over_area .col_3 > li a div,
.col_over_area .col_4 > li a div,
.col_over_area .col_4 > li a span,
.col_over_area .col_4 > li span{
    display: block;
    position: absolute; bottom:0; left:0; right:0; width:100%; padding:15px 20px; color:#ffffff; font-weight:500;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));
}
@media (min-width:768px) {
    .col_2,
    .col_3,
    .col_4 {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .col_2 > li,
    .col_2 > div{
        width: 48.5%;
        margin-top: 1.5rem;
    }
    .col_2.col_2_c > li:last-child {
        width: 100%;
        text-align: center;
    }
    .col_2.col_2_c > li:last-child img {
        max-width: 75%;
    }
    .col_2.col_2_c > li + li {
        width: 48.5%;
    }
    .col_2.col_2_c > li + li img {
        max-width: 100%;
    }
    .col_2.col_2_c > li + li:last-child {
        width: 48.5%;
        text-align: left;
    }
    .col_2.col_2_c > li + li:last-child img {
        max-width: 100%;  
    }
    .col_3 > li,
    .col_3 > div{
        width: 31.5%;
        margin-top: 1.5rem;
    }
    .col_3:after{
      content:"";
      display: block;
      width: 31.5%;
    }
    .col_3.col_3_c > li:last-child {
        width: 65%;
        text-align: left;
    }
    .col_3.col_3_c > li:last-child img {
        max-width: 100%;
    }
    .col_3.col_3_c > li + li {
        width: 31.5%;
    }
    .col_3.col_3_c > li + li img {
        max-width: 100%;
    }
    .col_3.col_3_c > li + li:last-child {
        width: 31.5%;
        text-align: left;
    }
    .col_2.col_2_c > li + li:last-child img {
        max-width: 100%;  
    }
    .col_4 > li,
    .col_4 > div{
        width: 23.7%;
        margin-top: 1.5rem;
        margin-bottom: 3rem;
    }
    .col_4:before{
      content: "";
      display: block;
      width: 23.7%;
      order: 1;
    }
    .col_4:after{
      content: "";
      display: block;
      width: 23.7%;
    }
}

/* 
col_area
============================================================================================================ */
.col_area {
    display: block;
}
.col_area .col_box_w6 {
    width: 100%;
    margin-bottom: 10px;
}
.col_area .col_box_w3 {
    width: 100%;
    margin-bottom: 10px;
}
.col_area .col_box_w2 {
    width: 100%;
    margin-bottom: 10px;
}
.col_area .col_box_w8 {
    width: 100%;
    margin-bottom: 10px;
}
/*.col_area .col_box_w3 > img {
    width: 100%;
    height: auto;
}*/
@media (min-width:768px) {
    .col_area {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .col_area_reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .col_area .col_box_w6 {
        width: 65%;
    }
    .col_area .col_box_w6.col_noimage {
        width: 100%;
    }
    .col_area .col_box_w3 {
        width: 31.5%;
    }
    .col_area .col_box_w5 {
        width: 100%;
    }
    .col_area .col_box_w4 {
        width: 100%;
    }
    .col_area .col_box_w2 {
        width: 20%;
    }
    .col_area .col_box_w8 {
        width: 77%;
    }
}
@media (min-width: 992px) {
    .col_area .col_box_w5 {
        width: 57%;
    }
    .col_area .col_box_w4 {
        width: 40%;
    }
    .col_area .col_box_w2 {
        width: 20%;
    }
    .col_area .col_box_w8 {
        width: 77%;
    }
}

/* 
pagejamp
============================================================================================================ */
.pagejamp {
    margin: 4rem 0 2rem;
    clear: both;
}
.pagejamp > p {
    border-bottom: 2px solid #A62236;
    margin: 0 0 15px;
    text-align: center;
    color: #A62236;
}
.pagejamp > ul {
    display: block;
}
.pagejamp > ul li {
    margin-bottom: 5px;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.pagejamp > ul > li a {
    color: #A62236 !important;
    border: 2px solid #A62236;
    padding: .5em 1em;
    margin: 0 0 5px;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.pagejamp > ul > li.active a,
.pagejamp > ul > li a:hover {
    color: #ffffff !important;
    background-color: #A62236;
    text-decoration:none;
}
@media (min-width:768px) {
    .pagejamp > p {
        margin: 0 0 15px;
        padding-top: 30px;
    }
    .pagejamp > ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .pagejamp > ul li {
        margin: 0 8px 15px;
        /*width: 25%;*/
        width: -webkit-calc(25% - 16px);
        width: calc(25% - 16px);
    }
}

/* 学科個別設定 */
/*.pagejamp > ul > li a[href*="japanese-culture"]{border:2px solid #C53A4F; color:#C53A4F !important;}
.pagejamp > ul > li a[href*="english-and-cultures"]{border:2px solid #66D6FC; color:#66D6FC !important;}
.pagejamp > ul > li a[href*="evening-classes"]{border:2px solid #1C2C80; color:#1C2C80 !important;}
.pagejamp > ul > li a:hover[href*="japanese-culture"],
.pagejamp > ul > li.active > a[href*="japanese-culture"]{border:2px solid #C53A4F; background-color:#C53A4F; color:#ffffff !important;}
.pagejamp > ul > li a:hover[href*="english-and-cultures"],
.pagejamp > ul > li.active > a[href*="english-and-cultures"]{border:2px solid #66D6FC; background-color:#66D6FC; color:#ffffff !important;}
.pagejamp > ul > li a:hover[href*="evening-classes"],
.pagejamp > ul > li.active > a[href*="evening-classes"]{border:2px solid #1C2C80; background-color:#1C2C80; color:#ffffff !important;}*/


/* 
teacher
============================================================================================================ */
.professor tbody a span{color:#1A0DAB !important;}
.professor table.table thead td{display:none;}
.professor table.table tbody tr{display:flex; flex-wrap:wrap;}
.professor table.table tbody tr th:first-child{background-color:#fafafa; flex-basis: 100%; padding: 1rem; max-width:100%; border:none; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.professor table.table tbody tr td{ display:flex; width:calc(100% - 60px); flex-basis:calc(100% - 60px); max-width:calc(100% - 60px); border:none; padding:.3em.75em;}
/*.professor table.table tbody tr td:nth-child(4) a{border:1px solid #A62236; color: #A62236; display: inline-block;padding: 0.1em 3em;}
.professor table.table tbody tr td:nth-child(4) a:hover{background: #A62236; color: #fff; text-decoration: none;}*/
.professor table.table tbody tr td:last-child{width:60px; flex-basis:60px; max-width:60px; text-align:center; padding: .3rem; justify-content:center;}
.professor table.table tbody tr td:last-child span{display:flex; align-items:center;}
.professor table.table tbody tr th [data-ruby] {
    position: relative; display:flex; padding-top:1.3em; width:auto;
}
.professor table.table tbody tr th [data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: 0px;
    left: 0;
    margin: auto;
    text-align: center;
    font-size: 0.5em;
}
.professor table.table tbody tr td:nth-of-type(4) span {
    margin: 0 0.25rem;
}

@media (min-width: 768px) {
    .professor table.table thead td{display:table-cell; background-color:#fafafa; padding:.75em;}
    .professor table.table tbody tr{display:table-row;}
    .professor table.table tbody tr th:first-child{width:180px; background-color:#ffffff;}
    .professor table.table tbody tr td:nth-child(2){width:90px;}
    .professor table.table tbody tr td{display:table-cell; border: 1px solid #ddd; }
/*    .professor table.table tbody tr td:nth-child(4){width:9em; max-width:none; text-align: center;}
    .professor table.table tbody tr td:nth-child(4) a{border:1px solid #A62236; color: #A62236; display: inline-block;padding: 0.1em 2em;}*/
    .professor table.table tbody tr td:last-child{width:90px; max-width:none;}
    .professor table.table tbody tr td:last-child span{display:inline-block;}
    .professor table.table tbody tr th [data-ruby]::before {bottom: 25px;}
}
.teacher_left {
    width: 40%;
    padding-right: 10px;
    margin-bottom: 20px;
}
.teacher_right {
    width: 60%;
    padding-left: 10px;
    margin-bottom: 20px;
}
.teacher_right h2 {
    font-size: 1.75rem;
    letter-spacing: .1em;
}
.teacher_right h2 span {
    font-size: 16px;
    margin-left: 0;
    display: block;
}
.teacher div.bd{border:#A62236 3px solid; border-radius:20px;}
.teacher div.bt .btn{padding: .85rem 1rem; display:block; margin-bottom:5px; position: relative;}
.teacher .btn-outline-default:hover,.teacher .btn-default:focus {background: #A62236; border:1px solid #A62236; color:#ffffff !important;text-decoration: none;}
.teacher .btn-outline-default:active {background: #A62236; border:1px solid #A62236; color:#ffffff !important;}
.teacher div.bt .btn:before,.teacher div.bt .btn:after{
    color:#A62236;
    font-family: "Font Awesome 5 Free"; font-weight: 900;
    font-size:1.4em;
}
.teacher div.bt .btn:hover:before,.teacher div.bt .btn:hover:after{color:#ffffff;}
.teacher div.bt .btn.tomail:before{content: '\f0e0'; margin-right:8px;}
.teacher div.bt .btn.hp:after{content: '\f35d'; margin-left:8px;}
.teacher table.table > tbody > tr > th,.teacher table.table > tbody > tr > td{vertical-align:top;}
.teacher table.table > tbody > tr > th{width:100%; color:#A62236;  }
.teacher h3 small{font-size:16px;}
@media (min-width: 576px) {
    .teacher div.bt .btn:before,.teacher div.bt .btn:after{position:absolute;}
    .teacher div.bt .btn.tomail{padding-left:45px;}
    .teacher div.bt .btn.hp{padding-right:45px;}
    .teacher div.bt .btn.tomail:before{left:1rem; top:0; bottom:0; display:flex; align-items:center; margin:auto; }
    .teacher div.bt .btn.hp:after{right:1rem; bottom:.65rem;}
    .teacher div.bt .btn{display:inline-block; min-width:160px;}
}
@media (min-width: 768px) {
    .teacher_left {
        width: 25%;
        padding-right: 10px;
    }
    .teacher_right {
        width: 75%;
        padding-left: 10px;
    }
    .teacher_right h2 span {
        display: inline-block;
        margin-left: 1rem;
    }
    .teacher table.table > tbody > tr > th{width:150px;}
}

.bottom_btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 5rem;
}
.bottom_btn li {
    width: 100%;
    margin-left: .5rem;
    margin-right: .5rem;
}
.bottom_btn a {
    width: 100%;
}


/* 
greeting
============================================================================================================ */
.greeting {
	display: block;
}
.greeting_left {
    width: 50%;
    margin-left: 25%;
    margin-right: 0;
    margin-bottom: 20px;
}
.greeting_left img {
    margin-bottom: 0.5rem;
}
.greeting_left p {
    line-height: 2em;
}
.greeting_left p span {
    font-size: 1.1em;
}
.greeting_left p strong {
    font-size: 1.7em;
}
.greeting_right {
    width: 100%;
}
@media (min-width: 768px) {
     .greeting {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .greeting_left {
        width: 23%;
        margin-left: 0;
        margin-right: 3%;
    }
    .greeting_right {
        width: 74%;
    }
}
@media (min-width: 992px) {
    .greeting_left p span {
        font-size: 1.3em;
    }
    .greeting_left p strong {
        font-size: 2em;
    }
}


/* 
curriculum
============================================================================================================ */
.curriculum table {
    margin-top: 0;
}
@media (max-width: 767px) {
    .curriculum table {display: table;}
    .curriculum table th{width:auto; display:table-cell; text-align:left;}
    .curriculum table td{width:auto; display:table-cell; }   
}


.open .op,.open_md .op{display:block; cursor: pointer; position: relative; padding:5px 35px 5px 10px;
	-webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;}
.open .op:hover,.open_md .op:hover{background-color:#fafafa;}
.open .op:before,.open_md .op:before,
.open .op[aria-selected="false"]:before,.open_md .op[aria-selected="false"]:before{
    color:#A62236;
    font-family: "Font Awesome 5 Free"; font-weight: 900;
    position:absolute;
    display:flex;
    align-items:center;
    margin:auto;
    -webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;
    right:.2em;
    top:0;
    bottom:0;
}
.open .op[aria-selected="false"]:before,.open_md .op[aria-selected="false"]:before{
    content: '\f067';
}
.open .op[aria-selected="true"]:before,.open_md .op[aria-selected="true"]:before{
    content: '\f068';
}
@media (min-width:768px) {
    .open_md .op{display:none;}
  }

/* 
form_area
============================================================================================================ */
.form_area table {
    margin: 1.5rem 0;
}
.form_table {
    table-layout: fixed;
}
.form_table td, .form_table th {
    padding: .25rem;
}
.form_table th {
    font-weight: normal;
    text-align: left;
    width: 100%;
    border-top: none;
    border-bottom: none;
    margin-top: 1rem;
}
.form_confirm th {
    border-bottom: 1px solid #ccc;
}
.form_table td {
    width: 100%;
    border-top: none;
}
.form_table input,
.form_table select,
.form_table textarea {
    background: #fff;
	padding: 0.4em;
}
.form_table input[type="text"],
.form_table input[type="email"],
.form_table textarea,
.form_table select{
	background: #fff;
	border: 1px solid #ced4da;
    border-radius: 0;
}
.form_table input[type="text"] {
	width: 100%;
}
.form_table input[type="email"] {
	width: 100%;
}
.form_table textarea {
	width: 100%;
}
.form_table input[type="text"]:focus,
.form_table input[type="email"]:focus,
.form_table textarea:focus {
	background: #fff;
	border: 1px solid #80bdff;
    -webkit-box-shadow: 0px 0px 0px 4px rgb(191, 222, 255);
	-moz-box-shadow: 0px 0px 0px 4px rgb(191, 222, 255);
	-ms-box-shadow: 0px 0px 0px 4px rgb(191, 222, 255);
	box-shadow: 0px 0px 0px 4px rgb(191, 222, 255);
}
.form_table .error input,
.form_table .error textarea,
.form_table .error select{
	background: #FFDBDB;
	border: 1px solid #E90000;
}
.form_table .error span.red {
    display: block;
    font-size: 0.8rem;
    margin-top: 0.5em;
    padding-left: 35px;
    position: relative;
}
.form_table .error span.red:before{
	content:'！';
	position:absolute;
	top:-1px;
	left:2px;
	color:#ffffff ;
	font-weight:bold;
	background-color:#cc0000;
	display:inline-block;
	line-height:1;
	padding:5px;
	text-align:center;
}
.form_table span.req {
    display: inline-block;
    padding: .25em .4em;
    font-size: 11px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
    background-color: #6c757d;
    margin-left: 0.5em;
}
.form_area .button_area {
    display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 3rem 0;
}
.form_area .button_area .btn {
    padding: .5rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    width: 200px;
    max-width: 200px;
    margin: 0 0;
}
.form_area .button_area .btn + .btn {
    margin-left: 10px;
}
.btn-back{
    background:#ffffff; 
    border:1px solid #666; 
    color:#666;
}
.btn-back:hover {
    background: #666; 
    border:1px solid #666; 
    color:#ffffff;
    text-decoration: none !important;
}
/*.button_area .btn-default:after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 1em;
    top: 50%;
    bottom: 50%;
    margin: auto;
}
.button_area .btn-default:hover:after {
    border-top: 1px solid #A62236;
    border-right: 1px solid #A62236;
}*/
.button_area .btn-back:after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
    left: 1em;
    top: 50%;
    bottom: 50%;
    margin: auto;
}
.button_area .btn-back:hover:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
@media (min-width: 768px) {
    .form_area table {
        margin: 3rem 0;
    }
    .form_table td, .form_table th {
        padding: .75rem;
    }
    .form_table th {
        text-align: right;
        width: 25%;
        margin-top: 0;
    }
    .form_confirm th {
        border-bottom: none;
    }
    .form_table td {
        width: 75%;
    }
    .form_table input[type="text"] {
        width: 43%;
    }
    .form_table input[type="email"] {
        width: 55%;
    }
    .form_table textarea {
        width: 78%;
    }
    .form_area .button_area .btn {
        font-size: 1.1rem;
        max-width: 300px;
        width: 300px;
    }
    .form_area .button_area .btn + .btn {
        margin-left: 50px;
    }
}

/* 
sitemap
============================================================================================================ */
div.sitemap ul li span,
div.sitemap > ul > li > a {
    font-weight: bold;
    border-left: #A62236 8px solid;
    padding: 5px 8px;
    border-bottom: 1px dotted #cccccc;
    display: block;
    background-color: #fafafa;
}
div.sitemap ul {
    padding-left: 8px;
    margin-bottom: 5px;
}
div.sitemap ul > li > ul {
    padding-top: 10px;
    padding-bottom: 10px;
}
div.sitemap ul > li > ul > li {
    display: inline-block;
    letter-spacing: normal;
    font-size: 0.9rem;
    vertical-align: top;
}
div.sitemap ul > li > ul > li > a {
    padding-left: 6px;
    padding-right: 10px;
    position: relative;
}
div.sitemap ul > li > ul > li > a:before {
    background-color: #dddddd;
    position: absolute;
    height: 100%;
    width: 1px;
    right: 0;
    top: 0;
    content: '';
}
div.sitemap ul > li > ul > li:last-child > a:before {
    content: none;
}
div.sitemap ul > li > ul > li > ul {
    padding-top: 0;
    padding-bottom: 0;
}
div.sitemap ul > li > ul > li > ul > li:before {
    content: '-';
}
div.sitemap ul > li > ul > li > ul > li a:before {
    content: none;
}

/* 学科個別設定 */
div.sitemap > ul > li > ul > li > a[href*="/department/japanese-culture"] {color:#C53A4F; font-size: 1.0rem;}
div.sitemap > ul > li > ul > li > a[href*="/department/english-and-cultures"] {color:#66D6FC;font-size: 1.0rem;}
div.sitemap > ul > li > ul > li > a[href*="/department/evening-classes"] {color:#1C2C80;font-size: 1.0rem;}

/* 
page_list
============================================================================================================ */
.page_list {
    margin: 2rem 0 5rem;
}
.page_list li a {
    display: block;
    padding: 1em;
    position: relative;
}
.page_list li a:after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid #A62236;
    border-right: 1px solid #A62236;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 1em;
    top: 50%;
    bottom: 50%;
    margin: auto;
}
.page_list li a:hover:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

/* 
department
============================================================================================================ */
.course_flow {
    position: relative;
    padding: 3% 0 8%;
    margin: 4% 0;
}
.course_flow:before {
    content: "";
    display: inline-block;
    width: 40vw;
    height: calc(100% - 5vw);
    background: #A62236;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
.course_flow:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5vw 20vw 0 20vw;
    border-color: #A62236 transparent transparent transparent;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.course_flow.japanese-culture:before {
    background: #C53A4F;
}
.course_flow.japanese-culture:after {
    border-color: #C53A4F transparent transparent transparent;
}
.course_flow.english-and-cultures:before {
    background: #66D6FC;
}
.course_flow.english-and-cultures:after {
    border-color: #66D6FC transparent transparent transparent;
}
.course_flow .title_department {
    width: 40vw;
    text-align: center;
    font-size: 1.5rem;
    color: #fff;
}
.course_flow > div {
    border: 2px solid #A62236;
    background: #fff;
    margin: 3% 0 0 5%;
    padding: 1em 1em 0;
}
.course_flow.japanese-culture > div {
    border: 2px solid #C53A4F;
}
.course_flow.english-and-cultures > div {
    border: 2px solid #66D6FC;
}
.course_flow > div .japanese-culture_color,
.course_flow > div .english-and-cultures_color {
    margin-top: 0;
}
@media (min-width: 768px) {
    .course_flow:before {
        width: 20vw;
    }
    .course_flow:after {
        border-width: 5vw 10vw 0 10vw;
    }
    .course_flow .title_department {
        width: 20vw;
    }
}


/* 
seminar
============================================================================================================ */
.seminar_list_box > div {
    border: 1px solid #DDDDDD;
    margin-bottom: 2rem;
}
.seminar_list_box > div > div {
    padding: 2% 7%;
}
.seminar_list_box .seminar_name {
    background: #A62236;
    color: #fff;
    font-size: 1.4rem;
    padding: 0.5em;
    margin-top: 0 !important;
}
.seminar_list_box ul {
    display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.seminar_list_box ul li {
    height: 34vw;
    width: auto;
}
.seminar_list_box ul li img {
    height: 100%;
    width: auto;
}
.seminar_list_box ul li + li {
    margin-left: 5%;
}
.seminar_list_box p {
    margin-bottom: 0.25em;
}
.seminar_list_box .name {
    font-size: 1.2rem;
    margin-top: 0.5em;
}
.seminar_list_box .name span {
    font-size: 0.8rem;
    padding-left: 1em;
    display: inline-block;
}
.seminar_list_box .name a {
    color: #A62236;
    border-bottom: 1px solid #A62236;
}
.seminar_list_box .name a:hover {
    text-decoration: none;
    border-bottom: 1px solid #fff;
}
.seminar_list_box dl dt {
    width: 5em;
    float: left;
}
.seminar_list_box dl dt:after {
    content: ":";
    position: relative;
    left: 0.3em;
}
.seminar_list_box dl dd {
    position: relative;
    margin-left: 5em;
}
.seminar_list_box .btn {
    margin: 1em 0;
    padding: 0.7em 3em;
}
@media screen and (min-width: 576px) {
  .seminar_list_box ul li {
        height: 185px;
        width: auto;
    }  
}
@media screen and (min-width: 768px) {
    .col_3.seminar_list_box > div {
        width: 48.5%;
        margin-top: 1.5rem;
    }
    .seminar_list_box ul li {
        height: 120px;
        width: auto;
    }  
}
@media screen and (min-width: 992px) {
    .col_3.seminar_list_box > div {
        width: 31.5%;
        margin-top: 1.5rem;
    }
    .seminar_list_box ul li {
        height: 105px;
        width: auto;
    }  
}
@media screen and (min-width: 1200px) {
    .seminar_list_box ul li {
        height: 130px;
        width: auto;
    } 
}
/** detail **/
.seminar_info_top {
    background: #F5F5F1;
    padding: 1.5em 2em;
    font-size: 1.1rem;
    margin-top: 1.5em;
	display: block;
}
.seminar_info_top div:nth-child(2) {
    margin-top: 1em;
}
.seminar_info_top p {
    margin-bottom: 0;
}
.seminar_link_box {
    display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.seminar_link_box .btn {
    padding: 0.7em 2em;
}
.seminar_link_box p + p {
    margin-left: 10px;
}
.seminar_info {
	display: block;
}
.seminar_info .seminar_teacher {
    width: 100%;
    display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    margin-top: 2em;
}
.seminar_info .seminar_contents {
    width: 100%;
}
.seminar_teacher .teacher_photo {
    width: 40%;
    height: auto;
    margin-right: 5%;
}
.seminar_teacher .teacher_photo img {
    width: 100%;
    height: auto;
}
.seminar_teacher .teacher_name {
    font-size: 1.4rem;
}
.seminar_teacher dl {
    margin-bottom: 1em;
}
.seminar_teacher dl dt {
    color: #A62236;
    border-left: 3px solid #A62236;
    padding-left: 5px;
    line-height: 1.3;
}
.seminar_teacher dl dd {
    font-size: 1.1rem;
}
.seminar_teacher .btn {
    position: relative;
    min-width: 160px;
    margin-bottom: 10px;
}
.seminar_teacher .btn.tomail {
    padding-left: 45px;
}
.seminar_teacher .btn:before,
.seminar_info_top .btn:after{
    color:#A62236;
    font-family: "Font Awesome 5 Free"; font-weight: 900;
    font-size:1.4em;
    position: absolute;
}
.seminar_teacher .btn.tomail:before{
    content: '\f0e0'; margin-right:8px;
    left:1rem; top:0; bottom:0; display:flex; 
    align-items:center; margin:auto;
}
.seminar_info_top .btn.hp{padding-right:3em;}
.seminar_info_top .btn.hp:after{content: '\f35d'; font-size:1.2em; margin-left:8px;top: 0.5rem}
.seminar_info_top .btn.hp:hover:after{color:#fff;}
.seminar_contents .seminar_photo span {
    font-size: 0.9em;
    margin-top: 0.5em;
    display: inline-block;
}

@media screen and (min-width: 768px) {
    .seminar_info_top {
        background: #F5F5F1;
        padding: 1.5em 2em;
        font-size: 1.1rem;
        margin-top: 1.5em;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .seminar_info_top div:nth-child(2) {
        margin-left: 1em;
    }
    .seminar_info {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 2.5em;
    }
    .seminar_info .seminar_teacher {
        width: 20%;
        display: block;
        margin-top: 0;
    }
    .seminar_info .seminar_contents {
        width: 74%;
    }
    .seminar_teacher .teacher_photo {
        width: 100%;
        height: auto;
        margin-right: 0;
    }
}

/* 
publication
============================================================================================================ */
.link_list_table {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.link_list_table li {
    width: 49.5%;
    margin-right: 0.25%;
    margin-left: 0.25%;
    margin-bottom: 0.5%;
}
.link_list_table a {
    display: block;
    background: #F2F2F2;
    color: #274D88 !important;
    padding: 1em;
    position: relative;
}
.link_list_table a:hover {
    text-decoration: none;
    opacity: 0.8;
}
.link_list_table p {
    margin-bottom: 0;
}
.link_list_table p:nth-child(2) {
    color: #333;
}
.teacher_book_img img { 
    max-width: 80%; 
    height: auto;
}
@media screen and (min-width: 768px) {
    .link_list_table li {
        width: 19.5%;
        margin-right: 0.25%;
        margin-left: 0.25%;
        margin-bottom: 0.5%;
    }
    .teacher_book_img img { 
        max-width: 100%;
        width: auto; 
        height: auto;
    }
}

/* 
event
============================================================================================================ */
.event_area a {
    text-decoration: underline !important;
}
.event_area a:hover {
    text-decoration: none !important;
}


/* 
program
============================================================================================================ */
.program_box div {
    margin-top: 4em;
}
.program_box div:first-child{
    margin-top: 0;
}
.program_box div .title_catch {
    margin-top: 0;
    font-size: 2.0rem;
}
.program_box .title_catch {
    text-align: center;
}
.program_box .mg_m {
    margin-top: 1.5em !important;
    margin-bottom: 3em !important;
}
@media (min-width: 768px) {
    .program_box div:first-child,
    .program_box div:nth-child(2){
        margin-top: 0;
    }
}
.voice_box {
    padding-top: 1em;
    padding-bottom: 1em;
}
.col_area.voice_box + .col_area.voice_box {
    margin-top: 2em;
}
.voice_box .name {
    display: inline;
    font-size: 1.4rem;
    margin-bottom: 0;
}
.voice_box .prof {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 1em;
}
.col_area.voice_box .name,
.col_area.voice_box .prof{
    display: block;
    margin-left: 0;
}
.voice_title {
    font-size: 1.6rem;
    line-height: 1.5;
    color: #A62236;
    margin-bottom: 0.5em;
    margin-top: 0;
    letter-spacing: .05em;
}
.voice_box .voice_cap {
    font-size: 1.1rem;
    padding: 0 0.5em 0.3em 0.5em;
    color: #A62236;
    border-bottom: 1px dotted #A62236;
    margin-top: 1em;
}
.voice_box .col_box_w4 {
    text-align: center;
}
@media (min-width: 768px) {
    .voice_box .name {
        font-size: 1.7rem;
        line-height: 1.5;
        display: inline;
    }
    .voice_box .prof {
        display: inline;
        margin-left: 1em;
        margin-bottom: 2em;
    }
    .voice_title {
        font-size: 1.8rem;
    }
}

.title_point {
    margin: 2em 0 0;
    position: relative;
    font-size: 1.5rem;
    letter-spacing: .1em;
    overflow-y: hidden;
}
h2.title_point {
    margin-bottom: 1em;
    border-bottom: 2px solid #A62236;
}
h2.title_point > span.title_point_head {
    font-size: 1.75rem;
    padding: 1em 0;
}
.title_point > span.point {
    display: inline-block;
    color: #fff;
    background: #A62236;
    font-weight: bold;
    font-size: 0.9rem;
    position: relative;
    padding: 0.6em 0.5em 0 0.75em;
    line-height: 1;
    height: 35px;
}
.title_point > span.point span {
    font-size: 1.4rem;
}
.title_point > span.point:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 0 0 30px;
    border-color: transparent transparent transparent #A62236;
    position: absolute;
    right: -30px;
    bottom:0;
    z-index: -1;
}
.title_point > span.title_point_head {
    font-size: 1.5rem;
    display: block;
    color: #A62236;
    border-top: 2px solid #A62236;
    padding: 1em 0;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.title_ex {
    margin: 2em 0 0;
    position: relative;
    font-size: 1.4rem;
    letter-spacing: .1em;
    overflow-y: hidden;
}
.title_ex > span.ex {
    display: inline-block;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
    position: relative;
    padding: 0.6em 0.5em 0 0.75em;
    line-height: 1;
    height: 35px;
}
.title_ex > span.ex span {
    font-size: 1.4rem;
}
.title_ex > span.ex:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 0 0 30px;
    border-color: transparent transparent transparent #A62236;
    position: absolute;
    right: -30px;
    bottom:0;
    z-index: -1;
}
.title_ex > span.title_ex_head {
    display: block;
    border-top: 2px solid #A62236;
    padding: 1em 0.5em;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.ex01 .title_ex > span.ex {
    background: #699fb6;
}
.ex01 .title_ex > span.ex:after {
    border-color: transparent transparent transparent #699fb6;
}
.ex01 .title_ex > span.title_ex_head {
    border-top: 1px dashed #699fb6;
    background: #F0F5F8;
}
.ex02 .title_ex > span.ex {
    background: #e1b042;
}
.ex02 .title_ex > span.ex:after {
    border-color: transparent transparent transparent #e1b042;
}
.ex02 .title_ex > span.title_ex_head {
    border-top: 1px dashed #e1b042;
    background: #FCF7EC;
}
.ex03 .title_ex > span.ex {
    background: #e2793f;
}
.ex03 .title_ex > span.ex:after {
    border-color: transparent transparent transparent #e2793f;
}
.ex03 .title_ex > span.title_ex_head {
    border-top: 1px dashed #e2793f;
    background: #FCF1EB;
}
.ex04 .title_ex > span.ex {
    background: #de867f;
}
.ex04 .title_ex > span.ex:after {
    border-color: transparent transparent transparent #de867f;
}
.ex04 .title_ex > span.title_ex_head {
    border-top: 1px dashed #de867f;
    background: #FCF3F2;
}
.title_ex_voice {
    font-size: 1.3rem;
    padding-left: 0.5em;
    margin-bottom: 1em;
}
.ex01 .title_ex_voice {
    border-left: 6px solid #699fb6;
}
.ex02 .title_ex_voice {
    border-left: 6px solid #e1b042;
}
.ex03 .title_ex_voice {
    border-left: 6px solid #e2793f;
}
.ex04 .title_ex_voice {
    border-left: 6px solid #de867f;
}
.english_ex_area .ex_name {
    font-size: 1.1rem;
}
.english_ex_area .ex_prof {
    font-size: 0.9rem;
    margin-bottom: 0;
}

.title_slanting {
    color: #333;
    border-bottom: 2px solid #ddd;
    overflow-y: hidden;
}
.title_slanting span {
    display: block;
    background: #eee;
    font-weight: normal;
    font-size: 1.2rem;
    position: relative;
    padding: 0.6em 0.75em 0.4em 0.75em;
    line-height: 1.4;
}
.title_slanting span:after {
    content: none;
}
.title_slanting.blue_green {
    border-bottom: 2px solid #A8D2C0;
}
.title_slanting.blue_green span {
    background: #C8F2E0;
}
.title_slanting.blue_green span:after {
    border-color: transparent transparent transparent #C8F2E0;
}
.title_slanting.blue {
    border-bottom: 2px solid #84BDCF;
}
.title_slanting.blue span {
    background: #A4DDEF;
}
.title_slanting.blue span:after {
    border-color: transparent transparent transparent #A4DDEF;
}
.title_slanting.purple {
    border-bottom: 2px solid #B9ACD4;
}
.title_slanting.purple span {
    background: #D9CCF4;
}
.title_slanting.purple span:after {
    border-color: transparent transparent transparent #D9CCF4;
}
.title_slanting.orange {
    border-bottom: 2px solid #FDC6A5;
}
.title_slanting.orange span {
    background: #FDE6C5;
}
.title_slanting.orange span:after {
    border-color: transparent transparent transparent #FDE6C5;
}
.title_slanting.pink {
    border-bottom: 2px solid #F9B9BB;
}
.title_slanting.pink span {
    background: #F9D9DB;
}
.title_slanting.pink span:after {
    border-color: transparent transparent transparent #F9D9DB;
}
.title_slanting.yellow_green {
    border-bottom: 2px solid #BAD38B;
}
.title_slanting.yellow_green span {
    background: #DAF3AB;
}
.title_slanting.yellow_green span:after {
    border-color: transparent transparent transparent #DAF3AB;
}
.title_slanting.light_purple {
    border-bottom: 2px solid #E7BDCC;
}
.title_slanting.light_purple span {
    background: #F7DDEC;
}
.title_slanting.light_purple span:after {
    border-color: transparent transparent transparent #F7DDEC;
}
.title_slanting.yellow {
    border-bottom: 2px solid #FFDA9D;
}
.title_slanting.yellow span {
    background: #FFF8DD;
}
.title_slanting.yellow span:after {
    border-color: transparent transparent transparent #FFF8DD;
}
@media (min-width: 768px) {
    .title_point {
        margin-top: 0;
    }
    .title_point > span.point {
        display: inline-block;
        color: #fff;
        background: #A62236;
        font-weight: bold;
        font-size: 0.9rem;
        position: relative;
        padding: 0.4em 0.5em 0.3em 0.75em;
        line-height: 1;
        height: 35px;
    }
    .title_point > span.title_point_head {
        padding: 0.7em 0;
    }
    .title_ex {
        margin-top: 0;
    }
    .title_ex > span.ex {
        display: inline-block;
        color: #fff;
        font-weight: bold;
        font-size: 0.9rem;
        position: relative;
        padding: 0.4em 0.5em 0.3em 0.75em;
        line-height: 1;
        height: 35px;
    }
    .title_slanting span {
        display: inline-block;
        background: #eee;
        font-weight: normal;
        font-size: 1.2rem;
        position: relative;
        padding: 0.6em 3em 0.4em 0.75em;
        line-height: 1;
    }
    .title_slanting span:after {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 2.1em 0 0 2em;
        border-color: transparent transparent transparent #eee;
        position: absolute;
        right: -1.95em;
        bottom:0;
        z-index: -1;
    } 
}