@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

body {
    /*    font-family: 'Noto Sans JP', sans-serif;*/
    font-family: 'Noto Serif JP', serif;
}



.edu-content a{
	text-decoration: underline;
}

.sp-show {
    display: none;
}

.pc-none {
    display: none !important;
}

.sp-none {
    display: inline-block;
}

.serif-font {
    font-family: 'Noto Serif JP', serif;
}

.bg-light {
    background: #FEF6F7;
}

/*=== TOP BAR HEADLINE ====*/
.top-headline {
    background: #f5dfdf;
    padding: 10px 15px 0;
}

.top-headline .hd_logo {
    font-size: 26px;
    /*    font-weight: 700;*/
    margin-bottom: .5rem;
    font-weight: 500;
}

.top-headline a {
    color: #000;
}

.top-headline a:hover {
    text-decoration: none;
}

.logo-header {
    width: 40px;
    height: auto;
    margin-right: 5px;
}

.icon-tel {
    font-size: 16px;
    vertical-align: middle;
    /*    font-weight: 700;*/
}

.icon-tel img {
    height: 20px;
    width: auto;
    vertical-align: middle;
    margin-top: -5px;
}

.icon-tel span {
    font-size: 12px;
}

.icon-mail {
    vertical-align: middle;
    /*    font-weight: 700;*/
}

.icon-mail img {
    height: 13px;
    width: auto;
    vertical-align: middle;
}

/*=== TOP NAV-MENU ====*/
.top-nav {
    background: #f3b4b2;
    padding: 10px 15px;
}

.nav-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding: 10px 15px;
    margin-bottom: 0;
}

.nav-item {
    list-style: none;
    padding: 0 30px;
    border-right: 1px solid #000;
}

.nav-item:last-child {
    border-right: none;
}

.nav-item a {
    color: #000;
}

.nav-item a:hover {
    text-decoration: none;
}

.menu-sp {
    display: none;
}

.menu-pc {
    padding-left: 10px;
}

/*=== NEW HEADER ===*/

.hdr__container {
    background: #f5dfdf;
}

.hdr__layout {
    display: block;
    position: relative;
}

.hdr__logo {
    padding: 10px;
	margin: 0;
}

.hdr__logo-link {
    font-size: 26px;
    font-weight: 500;
    display: flex;
    color: #000;
	align-items: center;
	width: fit-content;
}

.hdr__logo-link:hover {
    color: #000;
    text-decoration: unset;
}

.hdr__logo-pix {
    width: auto;
    height: 36px;
}

.hdr__logo-txt {
    display: block;
    line-height: 1;
    white-space: nowrap;
    margin: 0 0 5px 5px;
}

.hdr__contact {
    padding: 10px;
    position: absolute;
    right: 0;
    top: calc((36px + 20px) / 2); /* logo height + top-bottom padding / 2 */
    transform: translateY(-50%);
}

.hdr__mail {
	display: none;
}

.hdr__phone-num, .hdr__phone-numext {
    display: inline-block;
    vertical-align: middle;
    color: #000;
}

.hdr__phone-numext {
    font-size: 12px;
}

.hdr__phone-link:hover {
    text-decoration: unset;
}

.hdr__navi {
    width: 100%;
    background: #f3b4b2;
}

.hdr__navi-list {
    display: none;
}

.hdr__navi-list-pc {
    display: flex;
    list-style: none;
    padding: unset;
    margin: 0 auto;
    justify-content: center;
}

.hdr__navi-list-pc .hdr__navi-item-pc:last-child > a {
    border-right: unset;
}

.hdr__navi-item-pc {
    margin: 20px 0;
}

.hdr__navi-item-pc > a {
    color: #000;
    padding: 0 30px;
    border-right: 1px solid;
    display: block;
}


.hdr__navi-item-pc > a:hover {
    color: #000;
    text-decoration: unset;
}

.hdr__menu-btn {
    display: none;
}

/*=== TOP MAIN ====*/
.bg-wrap {
    padding: 10px 0 0;
    background-color: #fde2e5;
    position: relative;
}

.bg-wrap::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background-image: url('../images/bg.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    /*    height: 100vh;*/
    height: 100%;
}

.top-main {
    margin: 0 auto;
    /*    background: #fef0f2;   */
}

.main-view {
    padding: 50px 15px 15px;
    margin-top: 40px;
}

.main-logo {
    max-width: 210px;
    margin-bottom: 20px;
}

.logo-name {
    line-height: 2.0em;
/*    font-size: 20px;*/
    font-size: 22px;
    font-weight: 700;
}

.student-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.student-item {
    flex: 100%;
    max-width: calc(100% / 5 - 30px);
    margin: 0 30px 30px 0;
}

.student-item img {
    width: 100%;
}

.main-bottom {
    background: #fde2e5;
    padding: 30px 15px 10px;
}

/*=== BANNER IMAGES ====*/
#banner {
    width: 100%;
    height: auto;
}

.banner-inner {
    position: relative;
}

.banner-inner img {
    width: 100%;
}

.banner-inner .txt-banner {
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 700;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 15px 40px 25px 20px;
    font-size: 2rem;
}


/*=== INTRO ====*/
#intro {
    padding: 40px 15px;
    background: #fff;
}

#intro ul li {
    list-style-type: none;
    display: inline-block;
}

#intro ul {
    padding-inline-start: 0;
}

.intro-circle {
    width: 250px;
    height: 250px;
    border: 1px solid #e05f5f;
    border-radius: 50%;
    position: relative;
    text-align: center;
    margin: 0 auto;
}

.intro-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.intro-img {
    text-align: center;
}

.intro-txt-en {
    color: #e05f5f;
    font-size: 18px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

.intro-txt-jp {
    font-size: 16px;
    text-align: center;
}

.intro-circle .intro-txt-jp {
    color: #000!important;
}


.intro-txt-en,
.intro-txt-jp {
    white-space: nowrap;
}

.note {
    font-family: 'Noto Serif JP', serif;
    margin-bottom: -5px;
    padding-left: 35px;
}

/*=== BG OVERLAY ====*/
#bg-overlay {
    position: relative;
    background: url(../images/banner-overlay.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 66%;
    min-height: 240px;
    z-index: 0;
}

#bg-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1px);
    z-index: 0;
}

.banner-wrap {
    z-index: 1;
    padding: 60px 15px 20px;
}

.txt-jp {
    color: #fff;
    text-align: center;
    font-weight: 400;
}

.txt-en {
    color: #fff;
    text-align: center;
    font-weight: 400;
    font-family: 'Noto Serif JP', serif;
}

button.btn-more {
    height: auto;
    width: fit-content;
    padding: 15px 20px 15px 60px;
    border: 1px solid #fff;
    color: #fff !important;
    display: block;
    margin: 30px auto;
    cursor: pointer;
    transition: 0.3s;
    z-index: 10;
    font-size: 18px;
    background-color: transparent;
}

button.btn-more:hover {
    background: #e05f5f;
}

button.btn-more img {
    margin-left: 20px;
    position: relative;
    top: -4.5px;
}

button.btn-more:hover {
    text-decoration: none;
}

a.btn-more {
    height: auto;
    width: fit-content;
    padding: 15px 20px 15px 60px;
    border: 1px solid #fff;
    color: #fff !important;
    display: block;
    margin: 30px auto;
    cursor: pointer;
    transition: 0.3s;
    z-index: 10;
    font-size: 18px;
}

a.btn-more:hover {
    background: #e05f5f;
}

a.btn-more img {
    margin-left: 20px;
    position: relative;
    top: -4.5px;
}

a.btn-more:hover {
    text-decoration: none;
}

/*=== UNIVERSITY ====*/
#university {
    margin: 40px 15px;
}

#university h2 {
    font-size: 27px;
    margin-top: 40px;
}

#university img {
    width: 100%;
}

.uni-desc {
    margin-top: 40px;
}

#university .uni-text {
    padding-left: 5px;
}

/*=== NEWS ====*/
#news {
    background: #fef7f7;
    padding: 40px 15px 60px;

}

.title-en {
    color: #e05f5f;
    text-align: center;
    letter-spacing: 1.2pt;
    font-family: 'Noto Serif JP', serif;
    font-size: 48px;
}

.title-jp {
    text-align: center;
    margin-top: -5px;
    font-size: 24px;
}

.news-wrap {
    max-width: 800px;
    display: block;
    margin: 40px auto 0;
}

.news-item {
    padding: 10px 15px;
    border-bottom: 1px solid #f4c6c6;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.news-item a {
    color: #000;
    font-size: 1rem;
	display: flex;
	width: 100%;
}

.news-item a:hover {
    text-decoration: none;
}

.news-date {
    flex: 100%;
    max-width: 25%;
    text-align: left;
}

.news-title {
    flex: 100%;
    max-width: 75%;
    text-align: left;
	font-size: unset;
}

/*=== ACCESS ====*/
#access {
    padding: 60px 15px;
}

.tbl-access {
    width: 100%;
    border-collapse: collapse;
}

.tbl-access dl {
    display: block;
}

.tbl-access dl dd {
    padding: 10px;
    line-height: 2.0em;
    padding-bottom: 20px;
}

.tbl-access dt {
    /*min-width: 30%;*/
    text-align: center;
    vertical-align: top;
    padding: 10px 20px;
    padding-right:clamp(20px, 10%, 100px);
    font-weight: 400;
}

.tbl-access dl dd:last-child {
    /*width: 70%;*/
}

.redbox {
    border: 1px solid #e05f5f;
    display: block;
    width: 150px;
    height: 50px;
    padding-top: 10px;
}

button.btn-access {
    height: auto;
    width: fit-content;
    padding: 15px 20px 15px 70px;
    border: 1px solid #fff;
    color: #fff !important;
    display: block;
    margin: 30px 0;
    cursor: pointer;
    transition: 0.3s;
    background: #e05f5f;
}

button.btn-access:hover {
    border: 1px solid #e05f5f;
    text-decoration: none;
    background: #fff;
    color: #e05f5f !important;
}

button.btn-access img {
    margin-left: 20px;
    position: relative;
    top: -4.5px;
}

button.btn-access:hover img {
    filter: brightness(50%) sepia(100) saturate(100) hue-rotate(25deg);
}

a.btn-access {
    height: auto;
    width: fit-content;
    padding: 15px 20px 15px 70px;
    border: 1px solid #fff;
    color: #fff !important;
    display: block;
    margin: 30px 0;
    cursor: pointer;
    transition: 0.3s;
    background: #e05f5f;
}

a.btn-access:hover {
    border: 1px solid #e05f5f;
    text-decoration: none;
    background: #fff;
    color: #e05f5f !important;
}

a.btn-access img {
    margin-left: 20px;
    position: relative;
    top: -4.5px;
}

a.btn-access:hover img {
    filter: brightness(50%) sepia(100) saturate(100) hue-rotate(25deg);
}

/*=== MAP ====*/
#map {
    background: #fef7f7;
    padding: 60px 15px;
}
.map-section {
    text-align: center;
}


.map-section img {
/*    width: 100%;*/
    width: 70%;
}

.pc-map {
    display: block !important;
}

.sp-map {
    display: none !important;
}


/*=== FOOTER ====*/
footer {
    padding: 40px 0 0;
}

footer a {
    color: #000;
}

.ft-wrap {
    padding: 30px 0;
}

.ft-info {
    padding-left: 5%;
}

.info-tel a{
    text-decoration: underline;
}

.info-tel img {
    margin-right: 15px;
    width: 20px;
}

.tel-no {
    font-size: 18px;
    text-decoration: underline;
}

.tel-note {
    font-size: 14px;
    text-decoration: underline;
}

.uni-info {
    line-height: 1.8em;
}

.uni-name {
    font-size: 18px;
}

.uni-name-en {
    font-family: 'Noto Serif JP', serif;
}

.menu-ft {
    width: 100%;
    max-width: 220px;
}

.menu-ft li {
    list-style: none;
    padding: 10px;
    border-bottom: 1px solid #999999;
}

.menu-ft li:first-child {
    padding-top: 0;
}

.menu-ft li:last-child {
    border-bottom: none;
}

/*=== COPYRIGHT ====*/
.copyright {
    padding: 15px 0 5px;
    background: #feedee;
    font-size: 14px;
}

/*================= LOWER PAGES ================*/
#staff {
    background: #fef6f7;
    padding: 40px 15px;
}

.staff-intro {
    display: block;
    margin: 0 auto;
    max-width: 1040px;
}

.staff-title {
    text-align: left;
/*    font-size: 32px;*/
    font-size: 28px;
    font-weight: 600;
    padding-bottom: 10px;
	display: inline;
}

.staff-heading3 {
    border-bottom: 1px solid #E06767;
	padding-bottom: 10px;
	margin-bottom: 1rem;
}

.staff-url {
    font-size: 24px;
	padding-left: 20px
}

.staff-url a {
    color: #000;
    text-decoration: underline;
}

.staff-title span.staff-url a:hover {
    text-decoration: none;
}

table.tbl-lecturer {
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
}


.tbl-lecturer dl {
    font-weight: 500;
	display: flex;
	flex-wrap: wrap;
}


.tbl-lecturer dt {
    display: flex;
}

.tbl-lecturer dl dt {
    padding: 7px 0;
    font-weight: 400;
}

.tbl-lecturer dl dt:first-child {
    width: 20%;
}

.tbl-lecturer dl dt,
.tbl-lecturer dl dd {
    display: block;
    margin: 0;
    padding: 7px 0;
}

.tbl-lecturer dl dd {
    width: 88%;
}

.tbl-lecturer dl dt,
.tbl-lecturer dl dt:first-child {
    width: 12%;
}

table.tbl-lecturer tr td {
    padding: 7px 0;
}

table.tbl-lecturer tr td:first-child {
    width: 12%;
}

#history {
    padding: 40px 15px;
}

.history-data {
    max-width: 1040px;
    display: block;
    margin: 0 auto;
}

.history-title {
    border-left: 20px solid #E06767;
    padding: 5px 0 5px 15px;
    font-size: 26px;
}

.history-details {
    margin-top: 10px;
}

#research {
    padding: 40px 15px;
    background: #fef6f7;
}

.max-w {
    max-width: 1040px;
}

#themes {
    padding: 40px 15px;
}

.theme-title {
/*    font-size: 32px;*/
    font-size: 28px;
}

.theme-note {
    width: fit-content;
    display: block;
    margin: 20px auto;
    border: 1px solid #e06767;
    padding: 25px 50px 25px 30px;
}

/*=== research achivements ===*/

#achivements {
    padding: 40px 15px;
    background: #fef6f7;
}

button.tab__group {
    list-style: none;
}

button.tab__group_deco {
    padding-left: 10px;
}

button.tab__group .tab {
    flex: 100%;
    max-width: calc(100%/ 4);
    padding: 10px 10px 10px 30px;
    border: 1px solid #000;
    cursor: pointer;
    text-align: left!important;
}

button.tab__group .tab.is-active {
    background-color: #e06767;
    color: #ffff;
}

button.tab__group .tab:hover {
    background-color: #e06767;
    color: #fff;
}

.tab__group {
    background: #fff;
    color: #000;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0;
    padding-left: 0;
    margin-top: 40px;
}

.tab__group li {
    list-style: none;
}

.tab__group_deco {
    padding-left: 10px;
}

.tab__group .tab {
    flex: 100%;
    max-width: calc(100%/ 4);
    padding: 10px 10px 10px 30px;
    border: 1px solid #000;
    cursor: pointer;
    text-align: left;
}

.tab__group .tab.is-active {
    background-color: #e06767;
    color: #fff;
	border: 2px solid #000;
}

.tab__group .tab:hover {
    background-color: #e06767;
    color: #fff;
}

.panel__group {
    background: #fff;
    padding: 0 30px;
}

.panel__group .panel {
    display: none;
}

.panel__group .panel.is-show {
    display: block;
}

.panel__title {
    color: #000;
    padding-top: 20px;
    font-weight: 600;
/*    font-size: 36px;*/
    font-size: 32px;
}

.panel__content {
    padding: 40px 5px;
}

.panel__content ol li {
    line-height: 1.6em;
    padding-left: 20px;
    padding-bottom: 20px;
}

h4.panel__title_sub {
    padding: 10px 0;
    font-size: 24px;
}

.img-speaking {
    margin: 20px auto;
    display: block;
}

/*=== Education content ===*/

#education {
    padding: 40px 15px;
    background: #fef6f7;
}

.edu-content {
    margin-top: 40px;
}

.img-edu {
    margin: 40px auto;
    display: block;
	max-width: 100%;
}

/*=== Graduate ===*/
#graduate {
    padding: 40px 15px;
    background: #fef6f7;
}

#graduate a{
	text-decoration: underline;
}

.graduate-note {
    width: fit-content;
    display: block;
    margin: 20px auto;
    border: 1px solid #e06767;
    padding: 25px 25px 25px 25px;
    max-width: 900px;
}

.graduate-note ul li {
    padding-bottom: 20px;
}

.graduate-note ul li:last-child {
    padding-bottom: 0;
}

/*=== Doctors ===*/
#doctors {
    padding: 40px 15px;
}

#doctors a{
	text-decoration: underline;
}

.img-chart {
    display: block;
    margin: 40px auto 20px;
}

/*=== Teachers ===*/
#teachers {
    padding: 40px 15px;
    background: #FEF6F7;
}

/*=== Contact ===*/
#contact {
    padding: 40px 15px;
}

.contact-form-st1 {
    width: 100%;
    margin-top: 20px;    
}

.contact-form-st1 span.first {
    width: 40%;
    max-width: 330px;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
    letter-spacing: 0.8pt;
    font-size: 24px;
    float: left;
	padding: 28px 20px 20px;
}


.contact-form-st1 span.last {
    width: 60%;    
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
    letter-spacing: 0.8pt;
    font-size: 24px;
    float: left;
}


.contact-form-st1 span.last {
    padding: 0 20px;
}

.contact-form-st1 input[type="text"] {
    height: 37px;
    border: 1px solid #000;
}

.contact-form-st1 input[type="email"] {
    height: 37px;
    border: 1px solid #000;
}

.contact-form-st1 textarea {
    height: 140px;
    width: 100%;
    resize: none;
    border: 1px solid #000;
}

.contact-form-st1 #btn_submit {
    padding: 10px 20px;
    background: #E06767;
    color: #fff;
    margin: 20px auto;
    display: block;
    width: 266px;
    height: 64px;
    font-size: 24px;
    font-weight: 600;
    border: 2px solid #E06767;
    cursor: pointer;
    transition: .3s;
}

.contact-form-st1 #btn_submit:hover {
    background: #fff;
    color: #E06767;
}

.contact-form-st1 .required {
    font-size: 14px;
    background: #E06767;;
    color: #fff;
    padding: 5px 10px;
    float: right;
}

.contact-form-st1 label{
	width: 100%;
    max-width: 330px;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
    letter-spacing: 0.8pt;
    font-size: 24px;
    float: left;
}

.clear {
    clear: both;
}

/*=== Privacy Policy ===*/
#privacy-policy {
    padding: 40px 15px;
    background: #FEF6F7;
}

#privacy-policy a{
	text-decoration: underline;
}

#privacy-policy h3 {
    font-size: 26px;
}

#privacy-policy .dt-list{
	margin-top: 1rem;
}

#privacy-policy .dt-list dt:first-child{
	margin-top: 1rem;
}

#privacy-policy .dt-list dt{
	margin-top: .5rem;
	font-size: 18px;
	font-weight: 600;
}

#privacy-policy .dt-list dd{
	margin-bottom: 0;
}

#privacy-policy .dt-list ul{
	margin-top: 0;
	margin-bottom: 0;
}

#privacy-policy .table-wrapper{
	overflow-x: auto;
}

#privacy-policy table{
    margin-top: 1.25rem;
    width: 950px;
    table-layout: fixed;
    border-collapse: collapse;
}

#privacy-policy th,#privacy-policy td{
	border: 1px solid #333333;
    padding: 10px;
    text-align: left;
    font-weight: 400;
	background-color: #fff;
}

#privacy-policy th{
	background-color: #f3b4b2;	
}

#privacy-policy .table-horizontal-header{
	text-align: center;
}

#privacy-policy td:nth-child(2){
	text-align: center;
}

#privacy-policy .table-horizontal-header--leftmost-column{
	width: 45%;
}
#privacy-policy .table-horizontal-header--rightmost-column{
	width: 23%;
}

#privacy-policy ul{
	margin-top: 1rem;
}

.policy-title {
    position: relative;
    margin-top: 20px;
    font-size: 22px;

}

.policy-title::after {
    position: absolute;
    content: "";
    bottom: -5px;
    left: 0;
    width: 391px;
    height: 1px;
    background: #E06767;
    color: #E06767;
}

#doctors a:hover,
#privacy-policy a:hover {
    text-decoration: none;
}

#doctors .title-en,
#teachers .title-en, {
    font-size: 26px;
}

.tbl-access dl {
    display: flex;
    flex-wrap: wrap;
}

.tbl-access dl dt {
    min-width: 30%;
    vertical-align: top;
    text-align: center;
    padding: 10px;
}

.tbl-access dl dd {
    width: 70%;
}

.doctor-content img {
    width: 100%;
    height: auto;
}



/*==================================== RESPONSIVE VIEW ===================================*/

@media screen and (max-width:1024px) {
    .bg-wrap::before {
        height: 37vh;
    }

    .main-logo {
        max-width: 160px;
    }

    .logo-name {
        font-size: 16px;
    }

    .ft-info {
        padding-left: 0;
    }

    .logo-ft {
        padding-right: 10%;
    }

    .note {
        font-size: 30px;
        margin-bottom: -15px;
    }
    
    .top-headline .hd_logo {
        font-size: 21px;
    }
	
	.redbox {
		width: unset;
	}
}

@media screen and (max-width:992px) {
    .intro-circle {
        width: 200px;
        height: 200px;
    }
	
	.redbox {
		width: 150px;
	}
}

@media screen and (max-width: 991px) {
    .hdr__logo-txt {
        font-size: 2.8vw;
    }
}

@media screen and (max-width:834px) {
    .main-logo {
        max-width: 140px;
    }

    .logo-name {
        font-size: 14px;
    }

    .g-map {
        margin-bottom: 20px;
    }

    .ft-info {
        padding-right: 0;
    }

    .info-mail {
        font-size: 14px;
    }

    .note {
        font-size: 22px;
        margin-top: 30px;
    }
    
    .title-en {
        font-size: 36px;
    }
    
    .img-edu {
        width: 100%;
    }
    
    .top-headline .hd_logo {
        font-size: 16px;
    }
}

@media screen and (max-width:768px) {
    .main-logo {
        max-width: 115px;
    }

    .logo-name {
        font-size: 12px;
    }

    .info-mail {
        font-size: 12px;
    }

    .logo-ft {
        max-width: 220px;
    }

    .note {
        font-size: 22px;
        margin-top: -16px;
    }
    
    .img-chart {
        width: 100%;
    }
    
    .title-en {
        font-size: 34px;
    }
    
    .top-headline .hd_logo {
        font-size: 15px;
    }
}

@media screen and (max-width:767px) {
	
	.tbl-access dl dd {
		width: 100%;
	}
	
    .sp-show {
        display: block !important;
    }

    .sp-none {
        display: none !important;
    }

    .pc-none {
        display: inline-flex !important;
    }

    .pc-map {
        display: none !important;
    }

    .sp-map {
        display: block !important;
    }

    .top-nav {
        display: none;
    }

    .top-headline {
        padding: 0 0 0;
    }

    /* Hamburger menu */
    .top-headline.active {
        background: #fff;
        display: block;
    }

    .my-logo-sp {
        display: block;
    }

    .my-logo-sp.remove {
        display: none;
    }

    .my-menu {
        position: relative;
        padding: 15px 0 0 10px;
    }

    .my-menu.active {
        background: #fff;
        display: block;
        padding-left: 10px;
    }

    .icon-menu {
        position: absolute;
        /*        top: 12px;*/
        top: 18px;
        right: 12px;
        border: 1px solid #e26767;
        padding: 5px 10px;
        color: #e26767;
		background-color: transparent;
    }

    .openMenu {
        display: block;
    }

    .openMenu.active {
        display: none;
    }

    .closeMenu {
        display: none !important;
    }

    .closeMenu.active {
        display: block !important;
    }

    .menu-sp {
        display: none;
        transition: 0.5s ease;
    }

    .menu-sp.active {
        display: block;
        position: fixed;
        height: 100vh;
        width: 100%;
        background-image: url('../images/bg-sp.png');
        z-index: 999;
        padding: 0;
    }

    .menu-flex {
        padding-left: 0;
        margin-top: 50px;
    }

    .menu-item {
        line-height: 2.4em;
        list-style: none;
        text-align: center;
        padding: 15px 0;
        border-bottom: 1px solid #e26767;
    }

    .menu-item.active {
        background: rgba(255, 255, 255, 0.6);
    }

    .menu-item.active a {
        color: #e26767;
    }

    .menu-sp-footer {
        background: #fff;
        position: absolute;
        width: 100%;
        /*        bottom: 63px;*/
        bottom: 0;
        left: 0;
        padding: 30px 0;
    }

    .menu-sp-footer .icon-tel {
        margin-bottom: -10px;
    }

    .bg-wrap::before {
        background-image: url('../images/bg-sp.png');
    }

    .top-headline .hd_logo {
        font-size: 13px;
        padding: 20px 5px 10px;
    }

    .top-headline .hd_logo.active {
        padding: 5px 5px;
    }


    /*== End hamburger menu ==*/
	
	/*== New header ==*/
	
	header {
		position: fixed;
		z-index: 2;
		width: 100%;
	}
	
	.hdr_topgap {
		height: 56.3px;
		width: 100%;
	}

    .hdr__navi-list-pc {
        display: none;
    }

	.hdr__navi {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.5s ease;
        visibility: hidden;

	}

	.hdr__navi-list {
		background: url('../images/bg-sp.png');
		background-size: auto max(calc(100vh - 100px), 110%);
		background-position: center 40%;
	}

	.hdr__navi-list {
		order: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		width: 100%;
		height: calc(100vh - 198px);
        list-style: none;
        padding: 0;
	}


    .hdr__navi-item > a {
        color: #000;
        padding: 0 30px;
        border-right: 1px solid;
        display: block;
    }

	.hdr__contact {
		order: 2;
		width: 100%;
		position: relative;
		top: unset;
		right: unset;
		transform: unset;
		text-align: center;
		background: #FFF;
		margin: unset;
		padding: 30px 0;
	}
	
	.hdr__menu-btn {
		order: 1;
		display: block;
	}

	.hdr__menu-btn {
		position: absolute;
		top: calc(56.6px / 2);
		right: 15px;
		border: 2px solid #e26767;
		background: transparent;
		width: 40px;
		height: 40px;
		transform: translateY(-50%);
		display: block;
		padding: unset;
	}

	.hdr__menu-btn-icon {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 80%;
	}

	.hdr__menu-btn-icon::before,
	.hdr__menu-btn-icon::after,
	.hdr__menu-btn-icon > span {
		content: "";
		width: 80%;
		height: 3px;
		background: #e26767;
		display: block;
		margin: 6px auto;
		opacity: 1;
		transition: transform 0.5s ease;
	}

	.hdr-show .hdr__menu-btn-icon > span {
		opacity: 0;
	}

	.hdr-show .hdr__menu-btn-icon::before {
		transform: translateY(9px) rotate(225deg);
	}

	.hdr-show .hdr__menu-btn-icon::after {
		top: 50%;
		transform: translateY(-9px) rotate(-225deg);
	}

	.hdr-show .hdr__navi {
		max-height: calc(100vh - 56px);
        visibility: visible;
	}

	.hdr__logo-txt {
		font-size: 3.5vw;
	}

	.hdr__navi-item {
		margin: 0;
		line-height: 2.4em;
		width: 100%;
	}

	.hdr__navi-item > a {
		width: 100%;
		padding: 20px 0;
		border-right: unset;
		border-bottom: 1px solid #e26767;
	}

	.hdr__navi-item:first-child > a {
		border-top: 1px solid #e26767;
	}

    .hdr__navi-item > a:hover {
        color: #000;
        text-decoration: unset;
    }

	.hdr__mail {
		display: block;
	}
	
	/*== End New header ==*/

    .top-headline a {
        display: inline-block;
    }

    .icon-tel {
        display: block;
        text-align: center;
        font-size: 26px;
        margin-bottom: -20px;
    }

    .icon-tel a span {
        font-size: 16px;
    }

    .icon-mail {
        display: block;
        text-align: center;
        padding-bottom: 10px;
    }

    .main-logo {
        max-width: 150px;
    }

    .logo-name {
        font-size: 24px;
    }

    .main-view {
        background: #feeff0;
        margin-top: 20px;
    }

    .top-main {
        background: #feeff0;
    }

    .main-bottom {
        background: #feeff0;
        padding: 30px 0 10px;
        margin: 0 auto;
    }

    .student-flex {
        display: inline-flex;
        justify-content: space-evenly !important;
        margin-top: 40px;
        flex-wrap: wrap !important;
    }

    .student-item {
        max-width: calc(100% / 2 - 10px);
        margin: 0 10px 10px 0;
    }

    .student-item:nth-child(even) {
        margin-right: 0;
    }

    .note {
        text-align: center;
        padding-bottom: 20px;
        font-size: 16px;
        margin-top: 10px;
        padding-left: 0;
    }

    .intro-circle {
        margin-bottom: 20px;
    }

    .intro-circle-last {
        margin-bottom: 20px;
    }

    .txt-jp {
        font-size: 24px;
    }

    .txt-en {
        font-size: 23px;
    }

    #university h2 {
        margin-top: 20px;
        text-align: center;
        font-weight: 400;
    }

    .uni-desc {
        margin-top: 20px;
    }

    .news-date {
        max-width: 100%;
    }

    .news-title {
        max-width: 100%;
    }

    .tbl-access dl {
        display: block;
    }
	
	.tbl-lecturer dl dt,
    .tbl-lecturer dl dd {
        padding: 10px;
    }

    .tbl-lecturer dl dt,
    .tbl-lecturer dl dt:first-child {
        width: 100%;
        display: block;
        background-color: #e06767;
        color: #fff;
    }
    
    .tbl-lecturer dl dd {
        width: 100%;
        display: block;
    }

    table.tbl-access tr td:first-child {
        width: 100%;
        display: block;
    }

    table.tbl-access tr td:last-child {
        width: 100%;
        display: block;
    }

    a.btn-access {
        margin: 30px auto;
        padding: 15px 40px;
    }

    button.btn-access {
        margin: 30px auto;
        padding: 15px 40px;
    }

    .txt-center-sp {
        text-align: center !important;
    }

    .logo-ft {
        padding-right: 0;
        max-width: 150px;
    }

    .ft-info {
        padding: 20px 15px;
        text-align: center;
    }

    .uni-name {
        font-size: 26px;
        line-height: 1.6em;
    }

    .uni-name-en {
        display: block;
        margin-top: 10px;
        font-size: 17px;
        font-family: 'Noto Serif JP', serif;
    }

    .tel-no {
        font-size: 26px;
    }

    .tel-note {
        font-size: 18px;
    }

    .info-mail {
        font-size: 17px;
        margin-top: 20px;
    }

    .menu-ft {
        text-align: center;
        max-width: 100%;
        padding-left: 0;
        width: fit-content;
        display: block;
        margin: 40px auto 0;
    }

    .menu-ft li {
        padding: 15px;
    }

    .copyright {
        font-size: 16px;
    }

    .tab__group .tab {
        max-width: 100%;
    }

    .img-chart {
        width: 100%;
    }
    
    .contact-form-st1 span.first {
        width: 100%;
        display: block;
    }
    
    .contact-form-st1 span.last {
        width: 100%;
        display: block;
    }
    
    .contact-form-st1 span.first,
    .contact-form-st1 span.last {
        padding: 10px;
    }
    
    .title-en {
        font-size: 26px;
    }
    
    .history-title {
        font-size: 22px;
    }
    
    .policy-title {
        font-size: 20px;
    }
    
    .policy-title::after {
        width: 300px;
    }
    
    a {
        word-wrap: break-word;
    }
    
    .banner-inner .txt-banner {
        font-size: 18px;
    }
    
    .staff-title {
        font-size: 24px;
    }
    
    .staff-title span.staff-url {
        font-size: 16px;
    }
    
    table.tbl-lecturer tr td:first-child {
        width: 100%;
        display: block;
        background-color: #e06767;
        color: #fff;
    }
    
    table.tbl-lecturer tr td:last-child {
        width: 100%;
        display: block;
    }
    
    table.tbl-lecturer tr td {
        padding: 10px;
    }
    
    .theme-title {
        font-size: 26px;
    }
    
    .panel__title {
        font-size: 30px;
    }
    
    .panel__group {
        padding: 0;
    }
    
    .contact-form-st1 .required {
        float: none;
        margin-left: 40px;
    }
	
	span.hdr__phone-num {
		font-size: 26px;
	}

	span.hdr__phone-numext {
		font-size: 16px;
	}

	.hdr__phone {
		margin-bottom: 20px;
	}

	.hdr__mail a {
		color: #000;
	}

}

@media screen and (max-width:320px) {
     .policy-title::after {
        width: 280px;
    }
}