﻿

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}

/* margin */
.mb40-20 { margin-bottom: 20px !important;}
.mb50-30 { margin-bottom: 30px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}

/* ------------------------
	ヘッダー
------------------------ */

body { padding: 0px 0px 50px;}

.header { padding: 8px 60px 8px 0px;}
.header h1 { width: auto; line-height: 34px;}
.header h1 img { max-height: 34px;}
.header li:not(:first-child) { margin-left: 15px;}

.fixed_btn { width: 100%; top: auto; bottom: 0px; transform: none; display: flex;}
.fixed_btn img { width: 50px; vertical-align: top;}
.fixed_btn a { width: auto; line-height: 50px; letter-spacing: 0.2em; padding: 0px !important; font-size: 1.25em;}
.fixed_btn li:nth-child(-n+2) { width: calc(50% - 75px);}
.fixed_btn li:nth-child(-n+2) a:after { content: ""; vertical-align: middle; display: inline-block; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; margin-left: 0.6em; position: relative; top: -0.15em;}
.fixed_btn li:nth-child(1) a { background: #f15a24; border-top-left-radius: 0px;}
.fixed_btn li:nth-child(1) a:after { background-image: url("../image/fixed_icon01.svg"); width: 23px; height: 30px;}
.fixed_btn li:nth-child(2) a { background: #f79200;}
.fixed_btn li:nth-child(2) a:after { background-image: url("../image/fixed_icon02.svg"); width: 30px; height: 30px;}

@media only screen and (max-width: 640px) {
	.fixed_btn a { font-size: 1.05em;}
}

@media only screen and (max-width: 480px) {
	.fixed_btn li:nth-child(1) { width: calc(100% - 150px);}
	.fixed_btn li:nth-child(2) { display: none;}
}


/* ------------------------
	グローバルナビ
------------------------ */
.humberger { width: 50px; height: 50px;}
.humberger span { left: 10px; width: 30px;}
.humberger span:nth-of-type(1) { top: 17px;}
.humberger span:nth-of-type(2) { top: 25px;}
.humberger span:nth-of-type(3) { top: 33px;}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}

.sp-navi .sp-navi-inner { top: 50px; background: #fff; padding: 20px 0px 50px; height: 100%; display: block; overflow: auto;}
.sp-navi .container { padding: 0px;}
.sp-navi .search, .sp-navi .list01 li { width: 100%;}
.sp-navi .search_box { border-bottom: solid 1px #b3b3b3; padding: 0px 20px 20px;}
.sp-navi .list01, .sp-navi .list02 li { margin-bottom: 0px;}
.sp-navi .list01 { flex-wrap: wrap; flex-flow: column-reverse;}
.sp-navi .list01 a { border-radius: 0px; padding: 10px; border: none; border-bottom: solid 1px #b3b3b3; color: #fff; position: relative;}
.sp-navi .list01 a:after { content: ""; position: absolute; background: url("../image/ico_link.svg") no-repeat center center; background-size: 100% auto; width: 0.9em; height: 0.9em; top: 50%; transform: translateY(-50%); right: 10%;}
.sp-navi .list01 li:first-child a { background: #2bbae0;}
.sp-navi .list01 li:last-child a { background: #0072a5;}
.sp-navi .list02 { font-size: 1em;}
.sp-navi .list02 li { width: 50%;}
.sp-navi .list02 li:nth-child(odd) { border-right: solid 1px #b3b3b3;}
.sp-navi .list02 a { border: none !important; border-bottom: solid 1px #b3b3b3 !important; padding: 10px 20px !important; color: #323232 !important; text-align: left !important; border-radius: 0px !important;}
.sp-navi .list02 a:before { display: none;}

.sp-navi .btn_area { padding: 20px;}
.sp-navi .btn_area a { display: block; border-radius: 15px; padding: 10px; background: #2abadf; color: #fff; text-decoration: none; font-size: 1.3em;}


/* ------------------------
	フッター
------------------------ */

.footer { background: none; padding: 0px;}

.footer_nav_sp { background: url("../image/footer_bg.jpg") no-repeat right center; background-size: cover; border-top: solid 1px #b3b3b3;}
.footer_nav_sp a { display: block; border-bottom: solid 1px #b3b3b3; text-decoration: none; padding: 10px 1.5em;}

.footer .box03 { flex-flow: column-reverse; padding: 30px 15px 15px;}
.footer .box03 > div { width: 100%;}
.footer .list01 { margin-bottom: 20px;}
.footer_nav02 { justify-content: center; flex-wrap: wrap; margin-bottom: 20px; font-size: 0.9em;}
.footer_nav02 li { margin: 0px 1.2em 5px;}

.copy { background: rgba(197,224,201,0.7); color: #fff; padding: 7px;}

.pagetop { width: 40px; padding-bottom: 50px; right: 5px;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.video_wrap { margin-bottom: 60px; padding-top: 50px;}
.video_wrap .pos_ab { bottom: 0px; left: 0px; display: block; width: 100%;}
.video_wrap dl { width: 100%; border-radius: 0px; padding: 7px; background: #fff !important; margin: 0px !important; border-bottom: solid 1px #999;}
.video_wrap dt { border-radius: 0px; padding: 0.1em 0px; font-size: 0.9em;}

.video_wrap ul { left: 0;}
.video_wrap li { width: 100vw !important; padding: 0px;}
.video_wrap .bx-wrapper { padding-bottom: 40px;}
.video_wrap .bx-controls-direction a { width: 30px; height: 30px; top: calc((100% - 40px) / 2);}
.video_wrap .bx-controls-direction a.bx-prev { left: 10px;}
.video_wrap .bx-controls-direction a.bx-next { right: 10px;}
.video_wrap .bx-pager  { padding-top: 20px;}
.video_wrap .bx-pager-item a { width: 20px; height: 20px;}

.top_sec01, .top_sec01 .back_white { background: none; padding: 0px;}
.top_sec01 .ttl_box { display: block; border-bottom: none; padding-bottom: 0px;}
.top_sec01 h2 { font-size: 1.7em; color: #767676; margin-bottom: 30px;}
.top_sec01 .tab { justify-content: space-between; margin-bottom: 5px;}
.top_sec01 .tab li { width: 19%; margin-left: 0px; font-size: 1em; padding: 3px 0px;}
.top_sec01 dl { display: block; padding: 15px 0px 10px;}
.top_sec01 dt, .top_sec01 dd { display: inline-block; margin: 0px 0.5em 5px 0px;}
.top_sec01 dd:last-child { display: block;}
.top_sec01 dt { width: auto;}
.top_sec01 .category { width: 6.5em; padding-right: 0px; font-size: 0.9em;}

.topics.top_sec01 h2 { font-size: 2em; background: none; padding: 0px; margin: auto;}
.topics.top_sec01 .tab { justify-content: space-between;}

.top_sec02 h2.mb80-40 { margin: 60px 0px 20px !important;}

.archive_list > li { width: 47%; margin: 0px 1.5% 30px;}
.archive_list h3 a { font-size: 1.15em; color: #0072a5;}

.top_sec03 { padding: 0px;}
.top_sec03 h2.mb40 { margin: 0px -15px !important; background: #fff; padding-bottom: 25px;}
.top_sec03 .list01 { display: block; margin: auto -15px; font-size: 3.5vw;}
.top_sec03 .list01 > li { width: auto; margin: 0px; border-bottom: solid 2px #fff;}
.top_sec03 .list01 a { display: flex; padding: 20px 15px; align-items: center; color: #fff; position: relative; text-decoration: none;}
.top_sec03 .list01 a:after {
	content: "";
	right: 1.5em;
	position: absolute;
    width: 1em;
    height: 1em;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.top_sec03 .list01 > li figure.mb15 { width: 30%; padding: 0px 8% 0px 1%; margin-bottom: 0px !important;}
.top_sec03 .list01 a > div { width: 65%; text-align: left;}
.top_sec03 h3 { border-bottom: none; padding-bottom: 0px; font-size: 1.5em; color: #ffd500;}
.top_sec03 .list02 li { margin-bottom: 3px; font-size: 1em;}

.top_sec04 .list01 { display: block;}
.top_sec04 .list01 li { width: auto; margin-bottom: 30px;}

.top_sec05 .bx-pager { padding-top: 25px;}
.top_sec05 .bx-pager-item a { width: 15px; height: 15px;}

.news_tab li { width: 24%; font-size: 0.9em;}


@media only screen and (max-width: 640px) {
	.top_sec01 .tab li { font-size: 2.9vw;}
	
	.topics.top_sec01 h2 .show_sp { display: inline;}

	.news_tab { flex-wrap: wrap;}
	.news_tab li { width: 49%; margin-bottom: 2%;}
}


/* ------------------------
	コンテンツ
------------------------ */

.more_btn a { font-size: 1.2em; min-width: 0px; width: 100%; max-width: 300px;}

.pagettl { font-size: 2em;}

.heading_large { font-size: 2em; color: #767676 !important;}

.heading_middle { font-size: 1.45em;}

.heading_back { font-size: 1.6em;}

.heading_leftline { font-size: 1.45em; border-left-width: 7px;}

.table_bordered td, .table_bordered02 th, .table_bordered02 td { padding: 0.7em 1em;}

.page_nav ul, .page_nav_img ul { margin: auto -5px;}
.page_nav li, .page_nav_img li { width: calc(33.3333% - 10px); margin: 0px 5px 10px;}
.page_nav a, .page_nav.gl.grad li:first-child a { font-size: 1.15em; padding: 12px 30px 12px 10px;}
.page_nav a:after { right: 14px !important; width: 12px; height: 12px;}

.page_nav.for_com a span { margin: -7px 0px -7px -10px;}
.page_nav.for_com.career a span { margin: -7px 0px -6px -10px;}

.page_nav.disc a { font-size: 1.15em; padding: 12px 30px 12px 5px;}

.link_pad { padding-top: 70px; margin-top: -70px;}

.box50 { display: block;}
.box50 > * { width: auto;}

.mainimage { height: auto;}
.mainimage img { position: static; transform: none; max-width: 100%;}

@media only screen and (max-width: 640px) {
	.pagettl { font-size: 1.8em;}

	.table_bordered, .table_bordered02 { font-size: 0.85em;}
	
	.page_nav.disc li { width: calc(50% - 10px);}
}

@media only screen and (max-width: 480px) {
	.page_nav li, .page_nav_img li { width: calc(50% - 10px);}
	.page_nav a, .page_nav.gl.grad li:first-child a { font-size: 4vw;}

	.page_nav.for_com.career a { font-size: 5.5vw;}
	.page_nav.for_com.career a span { margin: 0px; line-height: 1.6;}
	
	.page_nav.disc a { font-size: 3.7vw;}
	.page_nav.disc a:after { right: 10px !important; width: 10px; height: 10px;}
}


/* ------------------------
	about
------------------------ */

.about_sec01 > ul > li a { font-size: 1.15em;}

.about_sec01 li figcaption .box { height: 70px;}

@media only screen and (max-width: 640px) {
	.about_sec01 > ul > li a { font-size: 2.5vw;}
	.about_sec01 li figcaption { padding: 15px 5px;}

	.about_sec01 li figcaption .box { height: calc(1.4em + 30px); margin: -15px -5px;}
}

@media only screen and (max-width: 480px) {
	.about_sec01 > ul > li { width: 100%; margin-bottom: 25px;}
	.about_sec01 > ul > li a { font-size: 4.5vw;}
}


/* ------------------------
	message
------------------------ */

.mes_sec01 .fo21 { font-size: 1.65em !important;}

.mes_sec01 .left { width: 30%; max-width: 210px;}
.mes_sec01 .left figcaption { margin-top: -20px;}

.mes_sec02 table { width: 100%;}
.mes_sec02 th, .mes_sec02 td { border-bottom: solid 1px #97ddef; padding: 0.5em;}
.mes_sec02 th { text-align: left; width: 10em;}
.mes_sec02 td:not(:last-of-type) { text-align: right; width: 4em; padding-right: 1em;}

@media only screen and (max-width: 480px) {
  .mes_sec01 .left { float: none; width: auto; max-width: initial; margin: 0px;}

  .mes_sec02 table, .mes_sec02 tbody, .mes_sec02 th, .mes_sec02 td { display: block; width: 100%; border: none;}
	.mes_sec02 tr { display: flex; flex-wrap: wrap; background: #f0f0f0;}
	.mes_sec02 th, .mes_sec02 td:not(:last-of-type) { width: auto;}
	.mes_sec02 th { font-weight: bold;}
	.mes_sec02 td:last-child { background: #fff;}
}


/* ------------------------
	professors
------------------------ */

.prof_list li { width: 29.3333%; margin-bottom: 50px;}
.prof_list.president li:last-child { width: 96%;}
.prof_list li:after { margin-left: 9%;}
.prof_list li .fo16 { font-size: 1.3em !important; margin: -10px 0px 5px !important;}
.prof_list .btn_area { margin-top: -5px;}

@media only screen and (max-width: 480px) {
	.prof_list li { width: 46%;}
}


/* ------------------------
	total
------------------------ */

.page_nav.total a { padding: 12px 25px 12px 5px;}
.page_nav.total a span { margin: -7px 0px -6px -20px;}

@media only screen and (max-width: 640px) {
	.page_nav.total li, .page_nav.for_com li { width: calc(50% - 10px);}
}

@media only screen and (max-width: 550px) {
	.total_sec05 .table02 { font-size: 2.6vw;}
	.total_sec05 .table02 .show_sp { display: inline;}
}


@media only screen and (max-width: 480px) {
	.page_nav.total a { font-size: 3.9vw;}
	.page_nav.total a:after { right: 10px !important;}
	.page_nav.total a span { margin: -0.4em 0px -0.4em -20px;}

	.page_nav.for_com a span { margin: 0px;}
	.page_nav.for_com li { width: calc(100% - 10px);}
	.page_nav.for_com br { display: none;}
}


/* ------------------------
	abroad
------------------------ */

.abroad_sec01 td:nth-child(1) { width: 13em;}
.abroad_sec01 td:nth-child(2) { width: 6em;}
.abroad_sec02 .box01{ padding-left: 1em;}

.abroad_sec02 .table_bordered.table03 { font-size: 0.9em;}
.abroad_sec02 .table_bordered.table03 td { padding: 0.7em 0.5em;}
.abroad_sec02 .table03 td:nth-child(1), .abroad_sec02 .table03 td:nth-child(2) { width: 4.5em;}
.abroad_sec02 .table03 td:nth-child(3) { width: 7.5em;}

.abroad_sec02 .arrow_box { padding-left: 45px;}
.abroad_sec02 .arrow_box h5 { font-size: 1.25em;}
.abroad_sec02 .arrow_box:before { width: 16px; left: 4px;}
.abroad_sec02 .arrow_box:after { margin-left: -13px; bottom: -25px; border-width: 30px 25px 0 25px;}
.abroad_sec02 .text01 { font-size: 1.8em; padding: 13px;}

@media only screen and (max-width: 640px) {
	.abroad_sec01 table, .abroad_sec01 tbody, .abroad_sec01 tr, .abroad_sec01 th, .abroad_sec01 td { display: block; width: 100% !important; border-top: none;}
	.abroad_sec01 td:nth-child(1) { background: #d0f0f8; border-bottom: none;}
	.abroad_sec01 td:nth-child(2) { border-bottom: dotted 1px #ccc;}
	
	.abroad_sec02 .table_wrap { overflow-x: scroll;}
	.abroad_sec02 .table_wrap .show_sp { display: block;}
	.abroad_sec02 .table_wrap table { min-width: 640px;}
}


/* ------------------------
	faculty
------------------------ */

.about_sec01.faculty .list02 li { font-size: 1em; margin-bottom: 7px;}
.about_sec01.faculty .list02 a { padding-left: 1.3em;}
.about_sec01.faculty .list02 a:before { width: 0.9em; height: 0.9em;}

@media only screen and (max-width: 480px) {
	.fac_subttl .show_sp { display: inline;}
}

/* ------------------------
	ir
------------------------ */

.ir_sec { padding: 20px;}
.ir_sec .box01 { font-size: 1.2em; align-items: flex-start;}
.ir_sec .box01 .box_inner { width: 62%;}
.ir_sec .box01 figure { width: 35%;}
.ir_sec .box01 h3 { padding-bottom: 10px; font-size: 1.3em;}
.ir_sec .list01 li { display: inline-block; margin-right: 0.3em;}
.ir_sec .list02 li { padding: 15px 10px 15px 15px;}
.ir_sec .btn_area a { max-width: 250px; height: 45px; line-height: 40px; font-size: 1.5em;}

@media only screen and (max-width: 640px) {
	.ir_sec .box01 { display: block;}
	.ir_sec .box01 .box_inner, .ir_sec .box01 figure, .ir_sec .list02 li { width: auto;}
	.ir_sec .list02 { display: block;}

	.jc_text01 { font-size: 0.9rem; padding: 0.2em 0.4em; letter-spacing: -0.1em;}
}

@media only screen and (max-width: 640px) {
	.jc_text02 { padding: 0.4em 0.8em;}
	.jc_text02 .show_sp { display: inline;}
}


/* ------------------------
	global
------------------------ */

.gl_sec01 .box01 figure { width: 28%;}
.gl_sec01 .box01 .box_inner { width: 72%; font-size: 1.35em; line-height: 1.6;}

.gl_sec02 .heading_large { background: none; padding: 0px;}

.gl_sec03 { padding: 40px 0px;}
.gl_sec03 h3 { font-size: 5.5vw;}
.gl_sec03 ul { display: block;}
.gl_sec03 li { width: auto; padding: 20px; margin-bottom: 20px;}

.page_nav.gl li:first-child a { font-size: 0.95em; padding: 6px 35px 6px 15%;}

.gl_sec04 .box01 > div { padding: 20px;}
.gl_sec04 .box01 > div:first-child { margin-right: 20px;}
.gl_sec04 .box01 > div:first-child h4 { margin-left: -20px; padding: 10px 0px 13px 20px;}
.gl_sec04 .box01 > div:last-child h4 { margin-left: -20px; padding: 10px 20px 13px;}

.gl_sec06 .box01 { display: block;}
.gl_sec06 .box01 section { width: auto;}
.gl_sec06 .box02 figure { width: 35%;}
.gl_sec06 .box02 .box_inner { width: 61%;}

.gl_sec07 .box01 figure { width: 35%;}
.gl_sec07 .box01 .box_inner { width: 60%;}
.gl_sec07 .box01 h4 { font-size: 1.45em;}

@media only screen and (max-width: 640px) {
	.pagettl.gl { font-size: 1.8em;}
	.pagettl.gl .show_sp { display: inline;}

	.gl_sec01 .box01 { display: block;}
	.gl_sec01 .box01 figure, .gl_sec01 .box01 .box_inner { width: auto;}
	.gl_sec01 .box01 .box_inner { padding: 20px 10px; font-size: 4.1vw;}
	
	.page_nav.gl li { width: calc(50% - 10px);}

	.gl_sec04 .box01 { display: block;}
	.gl_sec04 .box01 > div { width: auto !important; margin-right: 0px !important; padding-top: 15px;}

	.gl_sec07 .box01 { display: block;}
	.gl_sec07 .box01 figure, .gl_sec07 .box01 .box_inner { width: auto;}
	.gl_sec07 .box01 figure { padding: 0px 15% 30px;}
	.gl_sec07 .box01 figure .pos_ab { left: 10%;}
}

@media only screen and (max-width: 480px) {
	.page_nav.gl li:first-child a { font-size: 3.4vw; padding-left: 6%; padding-right: 25px;}

	.gl_sec03 h3 .show_sp { display: inline;}
	
	.gl_sec06 .box02 { display: block;}
	.gl_sec06 .box02 figure, .gl_sec06 .box02 .box_inner { width: auto;}
}


/* ------------------------
	children
------------------------ */

.gl_sec05.child .list01 { display: block;}
.gl_sec05.child .list01 li { width: auto;}
.gl_sec05.child .list01 h5 { font-size: 1.3em;}
.gl_sec05.child .text01 { padding: 20px 10px; font-size: 1.6em;}

@media only screen and (max-width: 640px) {
	.gl_sec05.child .text01 { font-size: 4.8vw;}
}


/* ------------------------
	grad
------------------------ */

.grad_add01, .gl_sec03.grad .box01 { display: block;}
.grad_add01 .box_inner, .grad_add01 figure { width: auto;}
.grad_add01 .box_inner { margin-bottom: 30px;}

.gl_sec03.grad .box01 section { width: auto; margin-bottom: 20px; padding: 15px;}
.gl_sec03.grad .box01 h4 { font-size: 1.45em;}
.gl_sec03.grad .box01 .back_white { padding: 1em 1.5em;}


/* ------------------------
	library
------------------------ */

.lib_wrap { display: block;}
.lib_wrap .contents, .lib_wrap .rNavi { width: auto;}

.lib_sec03 th, .lib_sec03 td { padding: 0.7em; line-height: 1.6;}

.lib_sec08 .box01 figure { width: 40%; margin-right: 5%;}
.lib_sec08 .box01 .box_inner { width: 55%; padding: 20px;}
.lib_sec08 .box01 li:before { border-width: 7px 0 7px 10px; top: 0.35em;}
.lib_sec08 .box01 .btn_area { width: 100%; height: 40px;}

.lib_side_sec01 li { padding-left: 25px; margin-bottom: 8px; position: relative;}
.lib_side_sec01 li:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 10px;
	border-color: transparent transparent transparent #2abbdf;
	left: 10px;
	top: 0.4em;
}

@media only screen and (max-width: 640px) {
	.lib_sec03 table { font-size: 0.85em;}
}

@media only screen and (max-width: 480px) {
	.lib_sec08 .box01 { display: block;}
	.lib_sec08 .box01 figure { width: auto; margin: 0px 15% 25px;}
	.lib_sec08 .box01 .box_inner { width: auto;}
}


/* ------------------------
	affiliated
------------------------ */

.affi_sec02 th, .affi_sec02 td { padding: 0.7em 1em;}
.affi_sec02 th { width: 6.5em;}


/* ------------------------
	contribution
------------------------ */

.cont_sec01 th { vertical-align: middle; line-height: 1.4;}

@media only screen and (max-width: 675px) {
	.page_nav.cont li { width: calc(50% - 10px);}
	
	.cont_sec01 .show_sp { display: inline;}
	.cont_sec01 .table_wrap { overflow-x: scroll;}
	.cont_sec01 .table_wrap table { min-width: 600px; font-size: 0.85em;}
}

@media only screen and (max-width: 480px) {
	.page_nav.cont a { letter-spacing: -0.05em; padding: 12px 25px 12px 5px;}

	.cont_sec03 .box01 { display: block;}
	.cont_sec03 .box01 .box_inner, .cont_sec03 .box01 figure { width: auto;}
}


/* ------------------------
	schedule
------------------------ */

.tea_sec03 .box01, .tea_sec04 .box01 { display: block;}
.tea_sec03 .box01 section, .tea_sec04 .box01 section { width: auto; margin-bottom: 20px;}
.tea_sec03 .box01 .box_inner { display: block; height: auto;}
.tea_sec03 .box01 h4 { font-size: 1.3em; letter-spacing: -0.05em;}

.tea_sec05 .fo15 { font-size: 1.25em !important;}

.tea_sec06 h3 { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}

@media only screen and (max-width: 640px) {
	.tea_sec04 .lp20 { padding-left: 0px;}

	.tea_sec05 .box01 { display: block;}
	.tea_sec05 .box01 .box_inner, .tea_sec05 .box01 figure { width: auto;}
	.tea_sec05 .box01 figure { padding: 0px 10%;}
}


/* ------------------------
	introduction
------------------------ */

.int_sec01 .img_box { width: 35%;}
.int_sec01 .img_box figure { margin-bottom: 15px;}
.int_sec01 table { width: 62%;}
.int_sec01 th, .int_sec01 td { padding: 0.6em 1em;}

.int_sec02 .box01 { display: block;}
.int_sec02 .box01 section { width: auto; margin-bottom: 35px;}
.int_sec02 .box01 figure { width: 38%;}
.int_sec02 .box01 .box_inner { width: 58%;}
.int_sec02 dt { font-size: 1.25em;}
.int_sec02 dd span { width: 30px; height: 30px; line-height: 30px; font-size: 0.9em;}
.int_sec02 dd span.d { background: #fd9b00;}
.int_sec02 dd span.b { background: #f28d99;}
.int_sec02 dd span.c { background: #83d0f9;}
.int_sec02 dd span.i { background: #ffc90a;}

@media only screen and (max-width: 640px) {
	.int_sec01 .box01 { display: block; font-size: 0.9em;}
	.int_sec01 .img_box, .int_sec01 table { width: 100%;}
	.int_sec01 .img_box { display: flex; justify-content: space-between; flex-wrap: wrap;}
	.int_sec01 .img_box figure { width: calc(50% - 7px); margin-bottom: 14px;}

	.int_sec02 .text01 img { width: auto; height: 50px;}
}

@media only screen and (max-width: 480px) {
	.int_sec02 .list01 li { width: 48%; margin-bottom: 4%;}
}


/* ------------------------
	club
------------------------ */

.club_sec01 li { width: calc(33.3333% - 8px); margin-bottom: 14px;}
.club_sec01 a, .club_sec01 span { padding: 10px 10px 15px; font-size: 2.3vw;}

.club_sec02 nav a { font-size: 2.1vw; padding: 15px 0px 30px;}
.club_sec02 nav a:after { bottom: 12px; margin-left: -7px; width: 13px; height: 13px; border-top-width: 3px; border-right-width: 3px;}

.club_sec02 .heading_middle:before { top: 0.2em;}

.club_sec02 th, .club_sec02 td { padding: 0.7em 1em; vertical-align: top;}
.club_sec02 th { width: 6.5em;}

.ball_sec01 .box01 { display: block;}
.ball_sec01 .box01 > * { width: auto !important;}
.ball_sec01 th { width: 7em; vertical-align: top;}

@media only screen and (max-width: 640px) {
	.club_sec02 nav li { width: calc(50% - 7px);}
	.club_sec02 nav a { font-size: 3.7vw;}

	.club_sec02 .box01 { display: block;}
	.club_sec02 .box01 .box_inner, .club_sec02 .box01 figure { width: auto;}
	.club_sec02 table { font-size: 0.85em;}
	
	.club_sec03 td:first-child { width: 6em;}
}

@media only screen and (max-width: 480px) {
	.club_sec01 li { width: calc(50% - 8px); margin-bottom: 15px;}
	.club_sec01 a, .club_sec01 span { font-size: 3.35vw;}
}


/* ------------------------
	career
------------------------ */

.car_sec01 dl { padding-bottom: 15px; margin-bottom: 15px;}
.car_sec01 dt { font-size: 1.1em; padding-right: 40px;}
.car_sec01 dt:after { width: 30px; height: 30px;}
.car_sec01 dd { padding: 15px; margin-top: 15px;}
.car_sec01 dd .back_white { font-size: 1.2em; padding: 15px 5px;}
.car_sec01 dd .back_white .num { font-size: 3.5em; margin-left: 0.3em;}
.car_sec01 dd h4 { font-size: 1.25em;}

.car_sec05 .btn_area a { padding: 0px 15px; line-height: 70px;}
.car_sec05 .btn_area a:before { border-width: 9px 0 9px 12px;}
.car_sec05 .btn_area a:after { width: 30px; height: 35px;}

@media only screen and (max-width: 480px) {
	.car_sec01 dd .back_white { font-size: 4.5vw;}
}


/* ------------------------
	graduate
------------------------ */

.reiyu_box { padding: 20px;}
.reiyu_box li { padding: 0px 0px 10px 18px; margin-bottom: 10px; font-size: 1em;}
.reiyu_box li:before { border-width: 8px 0 8px 12px; top: 0.4em;}
.reiyu_box .btn_area { background-size: auto 20px; width: 200px; height: 38px; margin: 10px 0px -5px;}
.reiyu_box .btn_area.open { background-size: auto 17px;}
.reiyu_box .content_area { display: none;}

@media only screen and (max-width: 640px) {
	.gra_sec01 .show_sp { display: inline;}
	.gra_sec01 .lp20 { padding-left: 0.5em;}
}

@media only screen and (max-width: 480px) {
	.gra_sec02 li { width: 100%; margin-bottom: 25px;}
	.gra_sec02 li .mb15 { margin-bottom: 5px !important;}
}


/* ------------------------
	contact
------------------------ */

.con_sec .list01 li:first-child:before { width: 20px; height: 16px;}
.con_sec .list01 li:last-child:before { width: 17px; height: 17px;}

@media only screen and (max-width: 640px) {
	.con_sec .box_inner { padding-left: 0px;}
	.con_sec .box_inner:not(:last-of-type) { padding-bottom: 20px; margin-bottom: 20px;}
	.con_sec .box_inner .fo14 { font-size: 1.25em !important;}
	.con_sec .list01 li { margin-bottom: 5px;}
	.con_sec .list01 li:first-child { margin-right: 2em;}
}


/* ------------------------
	sitemap
------------------------ */

.sitemap_wrap section { width: calc(50% - 16px);}

@media only screen and (max-width: 580px) {
	.sitemap_wrap section { width: calc(100% - 16px);}
}


/* ------------------------
	access
------------------------ */

.access_sec01 iframe { height: 230px;}

@media only screen and (max-width: 640px) {
	.access_sec01 .box01 { display: block;}
	.access_sec01 .map, .access_sec01 .box_inner { width: auto;}
}


/* ------------------------
	topics
------------------------ */

.single_head h1 { font-size: 1.8em; padding-bottom: 12px;}

.blog_content h2 { font-size: 1.6em;}
.blog_content h3 { font-size: 1.45em;}



.ath_sec01 th { width: 7em;}

.ath_sec02 th { width: 19em;}
.ath_sec02 td:nth-of-type(1) { width: 5.5em;}

@media only screen and (max-width: 640px) {
	.ath_sec02 table, .ath_sec02 tbody, .ath_sec02 tr, .ath_sec02 th { display: block; width: 100%;}
	.ath_sec02 tr:not(:first-child) th { margin-top: 8px;}
	.ath_sec02 td { display: inline-block; width: auto !important; vertical-align: top;}
	.ath_sec02 td:nth-of-type(1) { padding-left: 1em;}
	.ath_sec02 td:nth-of-type(2) { margin-left: 1em;}
}

@media only screen and (max-width: 480px) {
	.ath_sec01 dl { display: block;}
	.ath_sec01 dl > * { display: block; width: auto !important;}
}


/* professor */
.prof_bread { margin-top: 60px;}
.table_bordered03 th, .table_bordered03 td { padding: 1em 0.5em;}
.table_bordered03 th { width: 10.5em;}

@media only screen and (max-width: 480px) {
	.prof_head figure { width: 45%;}
	.prof_head .box_inner { width: 50%; word-break: break-all;}
	
	.table_bordered03, .table_bordered03 tbody, .table_bordered03 tr, .table_bordered03 th, .table_bordered03 td { display: block; width: 100%; border: none;}
	.table_bordered03 th { background: #d0f0f8; padding: 0.5em 1em;}
	.yt_wrap { margin: auto -0.5em;}
}

