﻿
@import url('css2-CormorantGaramond_NotoSerifJPwght600_swap.css');

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

	リセット

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


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

	グローバル

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

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #323232;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

.fo_gar { font-family: 'Cormorant Garamond', serif;}
p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}
.fo_mincho { font-family: 'Noto Serif JP', serif;}


a { color: #323232; text-decoration: none;}
a:hover, a:active { color: #0072a5; text-decoration: underline;}

a.fo_blue { color: #0072a5; text-decoration: underline;}
a.fo_blue:hover { color: #73b3c9; text-decoration: none;}

a.link_icon { padding-left: 1.5em; position: relative;}
a.link_icon:before { content: ""; position: absolute; left: 0px; top: 0.2em; width: 0.9em; height: 0.9em; background: linear-gradient(135deg, #2abadf 0%, #2abadf 50%, #0072a5 50%, #0072a5 100%);}

a.link_arrow { padding-left: 18px; position: relative;}
a.link_arrow:before {
	content: "";
	position: absolute;
	left: 0px;
	top: 0.2em;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #0071a5;
}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo19 { font-size: 1.9em !important;}
.fo21 { font-size: 2.1em !important;}
.fo25 { font-size: 2.5em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh20 { line-height: 2;}

.lp20 { padding-left: 20px;}

.fo_white { color: #FFFFFF;}
.fo_gray { color: #767676;}
.fo_blue { color: #0071bc;}
.fo_blue02 { color: #0072a5;}
.fo_red { color: #c1272d;}
.fo_black { color: #323232 !important;}

/* ボックス */
.container { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}
.container02 { max-width: 1130px; padding: 0px 15px; margin: 0px auto;}
.container03 { max-width: 1230px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

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

.back_white { background-color: #fff !important;}
.back_blue { background-color: #0072a5 !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent > li { text-indent: -1em;}
.list_indent ol { text-indent: 0px;}

.list_disc { padding-left: 1em;}
.list_disc > li { list-style: outside disc;}
.list_indent .list_disc li { text-indent: 0px;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb120 { margin-bottom: 120px !important;}

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

/* clearFix */
.clearFix {
    zoom: 100%;
}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

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

body { padding-top: 100px;}

.header { display: flex; justify-content: space-between; align-items: center; padding: 0px 100px 0px 3%; background: rgba(173,211,178,0.7); position: fixed; z-index: 9999; width: 100%; top: 0px; left: 0px;}
.header h1 { width: 50%; line-height: 100px;}

.header ul { display: flex; align-items: center;}
.header li:not(:first-child) { margin-left: 40px;}
.header .btn_area a { display: inline-block; vertical-align: middle; font-size: 1.3em; color: #29abe2; text-decoration: none; background: #fff; border-radius: 3px; padding: 3px 1em; line-height: 1.4;}

.header .search_box img { cursor: pointer;}
.header .search_box > div { background: #efefef; right: 0px; bottom: -90px; z-index: 99999; padding: 20px; display: none;}
.search { position: relative; width: 500px; height: 50px; margin: auto;}
.search .keywords {
	outline: 0;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 16px;
	height: 50px;
	padding: 0 55px 0px 30px; 
	position: absolute; 
	left: 0;
	top: 0; 
	width: 100%;
	border: solid 1px #b3b3b3;
	background: #fff;
	border-radius: 5px;
}
.search input[type="submit"] {
	width: 28px;
	height: 28px;
	position: absolute; 
	right: 15px; 
	top: 50%;
	transform: translateY(-50%);
	background: url("../image/ico_search_blk.svg") no-repeat center center;
	border: none;
	cursor: pointer;
}
.search input[type="submit"]:hover { opacity: 0.7;}

.gsc-results-wrapper-overlay.gsc-results-wrapper-visible { width: 90%; height: 80% !important; left: 6%; top: 15% !important;}

.fixed_btn { position: fixed; z-index: 9999; right: 0px; top: 50%; transform: translateY(-40%);}
.fixed_btn a { display: block; width: 50px; color: #fff; font-size: 1.05em; line-height: 1.2; text-decoration: none;}
.fixed_btn li:nth-child(1) a { padding: 15px 10px 55px; background: url("../image/fixed_icon01.svg") no-repeat center calc(100% - 20px) #f15a24; background-size: 22px auto; border-top-left-radius: 10px;}
.fixed_btn li:nth-child(2) a { padding: 15px 10px 45px; background: url("../image/fixed_icon02.svg") no-repeat center calc(100% - 15px) #f79200; background-size: 26px auto;}


/* ------------------------
	グローバルナビ
------------------------ */

.humberger {
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 100px;
	height: 100px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 30px;
	width: 40px;
	height: 2px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 38px;}
.humberger span:nth-of-type(2) { top: 50px;}
.humberger span:nth-of-type(3) { top: 62px;}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(12px) rotate(-45deg);
	  -ms-transform: translateY(12px) rotate(-45deg);
		  transform: translateY(12px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(45deg);
	  -ms-transform: translateY(-11px) rotate(45deg);
		  transform: translateY(-11px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: url("../image/gn_bg.jpg") no-repeat center center;
	background-size: cover;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 100px;
	left: 0px;
	height: calc(100% - 100px);
	width: 100%;
	transition: .5s;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sp-navi .list01 { display: flex; justify-content: center; font-size: 1.4em; margin-bottom: 10vh;}
.sp-navi .list01 li:first-child { margin-right: 25px;}
.sp-navi .list01 a { display: block; border-radius: 25px; padding: 15px; min-width: 300px; background: #fff; border: solid 1px #2abadf; color: #0072a5; text-decoration: none; transition: 0.3s;}
.sp-navi .list01 a:hover { background: #2abadf; color: #fff;}

.sp-navi .list02 { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-end; font-size: 1.2em;}
.sp-navi .list02 li { width: 23%; margin-bottom: 10vh;}
.sp-navi .list02 li:not(:last-child) a { display: block; text-decoration: none; border-bottom: solid 1px #2abadf; position: relative; padding: 0px 0px 7px 30px;}
.sp-navi .list02 li:not(:last-child) a:before{
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #47d93f;
  transform: rotate(45deg);   /* 关键：旋转成菱形 */
  left: 12px;
  top: 0.6em;
}

.sp-navi .list02 li:last-child a { display: block; text-align: center; border-radius: 60px; padding: 12px; background: #fff; border: solid 1px #2abadf; color: #0072a5; text-decoration: none; transition: 0.3s;}
.sp-navi .list02 li:last-child a:hover { background: #2abadf; color: #fff;}


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


.footer .bg .box01 { max-width: 1430px; padding: 0px 15px; margin: auto;}

.footer_nav { display: flex;}
.footer_nav > ul { border-left: solid 1px #b3b3b3; padding: 1.3em; width: 33.3333%;}
.footer_nav > ul > li { margin-bottom: 7px;}
.footer_nav > ul ul { margin: 7px 0px 10px;}
.footer_nav > ul > li li { padding-left: 18px; position: relative;}
.footer_nav > ul > li li:before { content: ""; position: absolute; background: url("../image/ico_arrow02.svg") no-repeat center center; background-size: 100% auto; width: 7px; height: 6px; left: 5px; top: 0.6em;}
.footer_nav > ul > li li li:before { background-image: url("../image/ico_arrow01.svg"); width: 3px;}

.footer .box03 { max-width: 1430px; padding: 40px 15px; margin: auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.footer .list01 { display: flex; align-items: center; margin-left: 1.5em;}
.footer .list01 li { margin-right: 10px;}
.footer_nav02 { display: flex;}
.footer_nav02 li { margin-left: 1.5em;}

.pagetop { position: fixed; right: 55px; bottom: 0px; z-index: 9999;}

@media only screen and (max-width: 1060px) {
	.footer .box03 > div { width: 35%;}
}


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

	トップページ

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

.video_wrap { padding-top: 30px;}
.video_wrap .pos_ab { left: 20px; bottom: 20px; display: flex;}
.video_wrap dl { display: table; border-radius: 6px; padding: 5px 0.8em 5px 5px; line-height: 1.6;}
.video_wrap dl > * { display: table-cell; vertical-align: middle; text-align: left;}
.video_wrap dl:first-child {margin-right: 15px;}
.video_wrap dt {  background: #fcd296; color: #f15a24; /*background: #c8cfe6; color: #005fa5;*/ border-radius: 2px; text-align: center; width: 5em; padding: 2px;}
/*.video_wrap dl:nth-child(2) dt { background: #fcd296; color: #f15a24;}*/
.video_wrap dd { padding-left: 0.5em;}
.video_wrap a { color: #333; text-decoration: none;}
.video_wrap a:hover { text-decoration: underline;}

.video_wrap .bx-wrapper { position: relative; padding-bottom: 54px;}
.video_wrap .bx-controls-direction a { position: absolute; width: 50px; height: 50px; background: url("../image/ico_prev.svg") no-repeat center center; background-size: 100% auto; top: calc((100% - 54px) / 2); transform: translateY(-50%); z-index: 100;}
.video_wrap .bx-controls-direction a.bx-prev { left: calc(50% - 505px);}
.video_wrap .bx-controls-direction a.bx-next { right: calc(50% - 500px); transform: translateY(-50%) scale(-1,1);}
.video_wrap .bx-pager  { padding-top: 30px; position: absolute; width: 100%; bottom: 0px; left: 0px;}
.video_wrap .bx-pager-item { display: inline-block; vertical-align: bottom; margin: 0px 1em;}
.video_wrap .bx-pager-item a { display: block; text-indent: -9999px; background: linear-gradient(135deg, #2abadf 0%, #2abadf 50%, #0072a5 50%, #0072a5 100%); width: 25px; height: 25px;}
.video_wrap .bx-pager-item a{
  width: 30px;
  height: 30px;
  display: inline-block;
  border-radius: 50%;
  background: transparent;          /* 空心 */
  border: 2px solid #00b050;         /* 绿色边框 */
  box-sizing: border-box;
}

.video_wrap .bx-pager-item a.active{
  background: #00b050;               /* 选中后实心 */
}


.video_wrap ul { position: relative; left: calc((100vw - 1020px) / 2); /* (100vw - SlideWidth) / 2 */ overflow: visible !important;}
.video_wrap li { width: 1000px !important; padding: 0px 20px;}


.top_sec01 .back_white { padding: 20px 3% 0px;}
.top_sec01 .ttl_box { display: flex; justify-content: space-between; align-items: center; border-bottom: solid 3px #38724b; padding-bottom: 20px;}
.top_sec01 h2 { font-size: 2em;}
.top_sec01 .tab { display: flex;}
.top_sec01 .tab li { width: 6.5em; text-align: center; cursor: pointer; margin-left: 0.5em; font-size: 1.1em; color: #0072a5; border: solid 1px #2abadf; padding: 8px 0px 10px; transition: 0.2s;}
.top_sec01 .tab li.select, .top_sec01 .tab li:hover { background: #2abadf; color: #fff;}
.top_sec01 dl { display: table; width: 100%; padding: 20px 0px; border-bottom: solid 2px #add8e3;}
.top_sec01 dl:last-child { border-bottom: none;}
.top_sec01 dt, .top_sec01 dd { display: table-cell; vertical-align: middle;}
.top_sec01 dt { width: 9em;}
.top_sec01 .category { width: 8em; padding-right: 1em;}
.category a { display: block; color: #fff; text-decoration: none; background: #576bb2; text-align: center; transition: 0.2s;}
.category a:hover { opacity: 0.7;}
.category.prepare a { background: #ff9f6e;}
.category.event a { background: #ffa033;}
.category.others a { background: #77bd4a;}
.hide { display: none;}

.topics.top_sec01 h2 { font-size: 2.7em;}
.topics.top_sec01 .tab { justify-content: center;}
.topics.top_sec01 .tab a { display: block; text-decoration: none;}
.topics.top_sec01 .tab li.select a, .topics.top_sec01 .tab li:hover a { color: #fff;}

.news_tab { display: flex; max-width: 900px; margin: auto; justify-content: space-between;}
.news_tab li { width: 23%; font-size: 1.05em; color: #0072a5; border: solid 1px #2abadf; padding: 8px 0px 10px; transition: 0.2s;}
.news_tab li.select, .news_tab li:hover { background: #2abadf; color: #fff;}
.news_tab a { display: block; text-decoration: none;}
.news_tab li.select a, .news_tab li:hover a { color: #fff;}

.cat_list ul { display: flex; flex-wrap: wrap;}
.cat_list li { margin: 0px 5px 5px 0px;}
.cat_list a { display: block; text-decoration: none; color: #fff; background: #2abadf; padding: 3px 0.7em; transition: 0.2s; font-size: 0.9em;}
.cat_list a:hover { opacity: 0.7;}

.archive_list { display: flex; flex-wrap: wrap; margin: auto -1.5%;}
.archive_list > li { width: 22%; margin: 0px 1.5% 80px;}
.archive_list h3 { border-bottom: solid 3px #2abadf; padding-bottom: 5px;}
.archive_list h3 a { text-decoration: none; font-size: 1.3em; color: #0072a5; transition: 0.2s;}
.archive_list h3 a:hover { opacity: 0.7;}

.top_sec03 { padding: 60px 0px 1px;}
.top_sec03 .list01 { display: flex; margin: auto -2%;}
.top_sec03 .list01 > li { width: 21%; margin: 0px 2% 60px;}
.top_sec03 h3 { border-bottom: solid 2px #ffd500; padding-bottom: 8px;}
.top_sec03 h3 a { font-size: 1.8em; color: #ffd500; text-decoration: none; transition: 0.2s;}
.top_sec03 h3 a:hover, .top_sec03 .list02 a:hover { opacity: 0.7;}
.top_sec03 .list02 li { margin-bottom: 15px; font-size: 1.1em; line-height: 1.4;}
.top_sec03 .list02 a { color: #fff; transition: 0.2s; text-decoration: none;}

.top_sec04 .list01 { display: flex; justify-content: space-between;}
.top_sec04 .list01 li { width: 31.3333%;}

.top_sec05 .bx-wrapper { margin: auto;}
.top_sec05 .bx-pager { text-align: center; padding-top: 60px;}
.top_sec05 .bx-pager-item { display: inline-block; margin: 0px 1em;}
.top_sec05 .bx-pager-item a { display: block; text-indent: -9999px; background: linear-gradient(135deg, #2abadf 0%, #2abadf 50%, #0072a5 50%, #0072a5 100%); width: 20px; height: 20px;}
.top_sec05 .bx-pager-item a.active { background: #0072a5;}
.top_sec05 li a { transition: 0.3s;}
.top_sec05 li a:hover { opacity: 0.7;}



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

	下層ページ

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

.over_hidden { overflow: hidden;}
.show_sp { display: none;}

.img_hover { overflow: hidden;}
.img_hover img { transition: 0.3s;}
.img_hover a:hover img, a:hover .img_hover img { transform: scale(1.05);}

.more_btn a { display: inline-block; font-family: 'Noto Serif JP', serif; color: #27a500; font-size: 1.6em; line-height: 1.6; border: solid 1px #34df2a; background: #fff; min-width: 300px; padding: 10px; text-decoration: none; transition: 0.2s;}
.more_btn a:hover { color: #fff !important; background: #2abadf;}

.link_border a { display: inline-block; border: solid 1px #2abadf; color: #0072a5; text-decoration: none; padding: 8px 1.2em; transition: 0.3s;}
.link_border a:hover { background: #2abadf; color: #fff;}

.pagettl { font-size: 2.7em; line-height: 1.5;}

.heading_large { font-size: 3.3em; line-height: 1.4;}

.heading_middle { font-size: 1.8em; line-height: 1.4;}

.heading_back { background: #b5f3c9; font-size: 2.3em; line-height: 1.4; padding: 10px 0.6em;}

.heading_leftline { font-size: 2em; line-height: 1.4; color: #0072a5; border-left: solid 10px #0072a5; padding-left: 0.5em;}

.heading_icon { padding-left: 1.3em; position: relative;}
.heading_icon:before { content: ""; position: absolute; left: 0px; top: 0.4em; width: 0.8em; height: 0.8em; background: linear-gradient(135deg, #2abadf 0%, #2abadf 50%, #0072a5 50%, #0072a5 100%);}

.table_bordered { width: 100%;}
.table_bordered th { background: #4c934f; border: solid 1px #066e05; color: #fff; padding: 0.5em; text-align: center;}
.table_bordered th:not(:last-of-type) { border-right: dotted 1px #fff;}
.table_bordered th:not(:first-of-type) { border-left: none;}
.table_bordered td { border: solid 1px #5c5c5c; padding: 1.3em 2em; vertical-align: middle;}

.table_bordered02 { width: 100%;}
.table_bordered02 th, .table_bordered02 td { border: solid 1px #5c5c5c; vertical-align: middle; padding: 1em;}
.table_bordered02 th { background: #e6e6e6;}

.page_nav ul, .page_nav_img ul { display: flex; flex-wrap: wrap; align-items: flex-start; margin: auto -10px;}
.page_nav li, .page_nav_img li { width: calc(33.3333% - 20px); margin: 0px 10px 20px;}
.page_nav a { display: block; border: solid 1px #2adf42; color: #4da500; text-decoration: none; font-size: 1.8em; line-height: 1.6; padding: 20px 40px 20px 20px; position: relative; transition: 0.3s;}
.page_nav_img li { transition: 0.3s;}
.page_nav a:hover, .page_nav_img li:hover { transform: translateY(5px);}
.page_nav a:after {
	content: "";	right: 30px;

	top: 35%;
	position: absolute;
    width: 17px;
    height: 17px;
    border-top: 3px solid #8cc0d6;
    border-right: 3px solid #8cc0d6;
    transform: rotate(135deg);
}

.page_nav.for_com a span { display: block; line-height: 1.3; margin: -10px 0px -10px -20px; letter-spacing: -0.1em;}
.page_nav.for_com a:after, .page_nav.disc a:after { right: 20px;}

.page_nav.for_com.career a span { line-height: 1.2; margin: -12px 0px -11px -20px; letter-spacing: 0px;}

.page_nav.disc a { font-size: 1.75em; letter-spacing: -0.05em; padding-left: 10px;}

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

.box1060 { max-width: 1060px; margin: auto;}

.t_underline { text-decoration: underline;}

.box50 { display: flex; justify-content: space-between;}
.box50 > * { width: 48%;}

.mainimage { height: 360px; overflow: hidden; position:relative;}
.mainimage img { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); min-height: 100%; min-width: 100%; max-width: 110%;}



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

.about_sec01 > ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.about_sec01 > ul > li { width: 48%; margin-bottom: 4%;}
.about_sec01 > ul > li > a { display: block; text-decoration: none; color: #fff; font-size: 1.5em; line-height: 1.4; border: solid 1px #2abadf;}
.about_sec01 figcaption { position: absolute; background: rgba(131,223,127,0.8); width: 100%; left: 0px; bottom: 0px; padding: 23px 5px;}

.about_sec01 li figcaption .box { display: flex; justify-content: center; align-items: center; margin: -23px -5px; height: 80px; line-height: 1.3;}

.spi_box { border: solid 1px #0072a5; padding: 20px;}


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

.break_keep { word-break: keep-all;}

.mes_sec01 .left { margin-right: 20px;}
.mes_sec01 .left figcaption { margin: -30px 0px 30px; z-index: 100;}

.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;}


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

.prof_list { display: flex; flex-wrap: wrap; margin: auto -2%;}
.prof_list li { width: 21%; margin: 0px 2% 80px;}
.prof_list.president li:last-child { width: 71%;}
#officer01 .prof_list.president li:last-child p { width: auto;}
.prof_list li:after {
	content: "";
	margin-left: 10%;
	margin-top: 11px;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12px 12px 12px;
	border-color: transparent transparent #bfeaf5 transparent;
	transition: 0.4s;
	opacity: 0;
}
.prof_list li.open:after { opacity: 1;}
.prof_list .btn_area a, .dona_btn a { display: inline-block; text-decoration: none; color: #2abadf; border: solid 1px #2abadf; position: relative; padding: 1px 30px 1px 8px; font-size: 1.05em; transition: 0.2s;}
.dona_btn a { padding: 1px 40px 1px 1em;}
.prof_list .btn_area a:after, .dona_btn a:after {
	content: "";
	right: 12px;
	top: 32%;
	position: absolute;
    width: 10px;
    height: 10px;
    border-top: 1px solid #2abadf;
    border-right: 1px solid #2abadf;
    transform: rotate(45deg);
}
.prof_list .btn_area a:hover, .dona_btn a:hover { background: #2abadf; color: #fff;}
.prof_list .btn_area a:hover:after, .dona_btn a:hover:after { border-color: #fff;}
.prof_list .mes_box { position: absolute; width: 96%; left: 2%; padding-top: 20px; display: none;}
.prof_list .mes_box .box { background: #f0f0f0; border-top: solid 10px #bfeaf5; padding: 20px; z-index: 200;}
.prof_list .mes_box .ta_right { cursor: pointer;}

#officer01 .prof_list p { width: 20em;}


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

.page_nav.total a { letter-spacing: -0.05em; padding: 20px 45px 20px 5px;}
.page_nav.total a:after { right: 20px;}
.page_nav.total a span { display: block; line-height: 1.2; margin: -13px 0px -10px -20px;}

.total_sec05 .table01 { max-width: 800px;}


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

.abroad_sec01 td:nth-child(1) { width: 15em;}
.abroad_sec01 td:nth-child(2) { width: 8em;}
.abroad_sec02 .box01{ padding-left: 30px;}

.abroad_sec02 .arrow_box { padding-left: 90px;}
.abroad_sec02 .arrow_box h5 { display: table; border-bottom: solid 1px #000; font-size: 1.5em; padding-bottom: 6px;}
.abroad_sec02 .arrow_box:before { content: ""; position: absolute; width: 30px; background: #d0f0f8; top: 0px; left: 0px; bottom: 0px;}
.abroad_sec02 .arrow_box:after {
	content: "";
	position: absolute;
	left: 0px;
	margin-left: -35px;
	bottom: -45px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 55px 50px 0 50px;
	border-color: #d0f0f8 transparent transparent transparent;
}
.abroad_sec02 .text01 { border: solid 4px #0072a5; color: #0072a5; font-size: 2.2em; padding: 20px;}


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

.about_sec01.faculty figcaption { padding: 7px; line-height: 1.5;}

.about_sec01.faculty .list02 li { font-size: 1.5em; line-height: 1.6; margin-bottom: 10px;}
.about_sec01.faculty .list02 a { display: inline-block; padding-left: 25px; text-decoration: none; position: relative;}
.about_sec01.faculty .list02 a:before { content: ""; position: absolute; background: url("../image/ico_plus.svg") no-repeat center center; background-size: 100% auto; width: 19px; height: 19px; left: 0px; top: 0.4em;}


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

.ir_sec { background: #eaeff7; border: solid 2px #6190bf; padding: 25px;}
.ir_sec .box01 { display: flex; justify-content: space-between; flex-flow: row-reverse; align-items: center; font-size: 1.45em;}
.ir_sec .box01 .box_inner { width: 55%;}
.ir_sec .box01 figure { width: 41%;}
.ir_sec .box01 h3 { font-size: 1.4em; color: #4d80bf; border-bottom: solid 2px #6190BF; padding-bottom: 20px;}
.ir_sec .list01 li { display: inline-block; margin-right: 0.3em;}
.ir_sec .list01 span { color: #6190BF;}
.ir_sec .list02 h4 { color: #4d80bf;}
.ir_sec .list02 { display: flex; justify-content: space-between;}
.ir_sec .list02 li { width: 31.6333%; border-left: solid 6px #6190BF; padding: 20px 15px 20px 20px; margin-bottom: 20px;}
.ir_sec .btn_area a { display: inline-block; background: #6190BF; color: #fff; text-decoration: none; width: 100%; max-width: 300px; height: 60px; line-height: 50px; font-size: 2em;}

.ir_sec02 { background: #f1f1f8; border-color: #a4a1cf;}
.ir_sec02 .box01 h3 { color: #7984c1; border-color: #a4a1cf;}
.ir_sec02 .list01 span { color: #a4a1cf;}
.ir_sec02 .list02 h4 { color: #7984C1;}
.ir_sec02 .list02 li { border-color: #a4a1cf;}
.ir_sec02 .btn_area a { background: #a4a1cf;}

.ce_sec01 { background: #fdf1e8; border-color: #f2a267;}
.ce_sec01 .box01 h3 { color: #ff8245; border-color: #f2a267;}
.ce_sec01 .list02 h4 { color: #ff8245;}
.ce_sec01 .list02 li { border-color: #f2a267;}
.ce_sec01 .btn_area a { background: #f2a267;}

.ce_sec02 { background: #fceeed; border-color: #ee8e88;}
.ce_sec02 .box01 h3 { color: #ee777a; border-color: #ee8e88;}
.ce_sec02 .list02 h4 { color: #ee777a;}
.ce_sec02 .list02 li { border-color: #ee8e88;}
.ce_sec02 .btn_area a { background: #ee8e88;}

.ce_sec03 { background: #fcf1f3; border-color: #e9a4b2;}
.ce_sec03 .box01 h3 { color: #e281a8; border-color: #e9a4b2;}
.ce_sec03 .list02 h4 { color: #e281a8;}
.ce_sec03 .list02 li { border-color: #e9a4b2;}
.ce_sec03 .btn_area a { background: #e9a4b2;}

.jc_h3 { display: flex; justify-content: space-between; align-items: center;}
.jc_text01 { border: solid 2px; font-size: 1.05rem; padding: 0.4em 0.7em;}

.jc_sec01 { background: #e4f4f2; border-color: #4db9a9;}
.jc_sec01 .box01 h3 { color: #40aaa9; border-color: #4db9a9;}
.jc_sec01 .list02 h4 { color: #40aaa9;}
.jc_sec01 .list02 li, .jc_sec01 .list02 h4 .jc_text01 { border-color: #4db9a9;}
.jc_sec01 .btn_area a { background: #4db9a9;}

.jc_sec02 { background: #eef6e9; border-color: #8bc56c;}
.jc_sec02 .box01 h3 { color: #60af6c; border-color: #8bc56c;}
.jc_sec02 .list02 h4 { color: #60af6c;}
.jc_sec02 .list02 li, .jc_sec02 .list02 h4 .jc_text01 { border-color: #8bc56c;}
.jc_sec02 .btn_area a { background: #8bc56c;}

.jc_text02 { background: #767676; display: table; margin: auto; padding: 0.2em 0.8em; font-size: 1.25em;}


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

.gl_sec01 .box01 { display: flex; align-items: center; background: #a4a1cf;}
.gl_sec01 .box01 figure { width: 38%;}
.gl_sec01 .box01 .box_inner { width: 62%; display: flex; justify-content: center; align-items: center; font-size: 1.7em; line-height: 2;}

.gl_sec02 .more_btn a { border-color: #a4a1cf; color: #7984c1;}
.gl_sec02 .more_btn a:hover { background: #a4a1cf;}

.gl_sec03 { background: #a4a1cf; padding: 70px 0px;}
.gl_sec03 h3 { font-size: 2.7em;}
.gl_sec03 ul { display: flex; justify-content: space-between;}
.gl_sec03 li { width: 31.6333%; padding: 3%;}
.gl_sec03 .num { color: #7984c1; font-size: 1.5em; padding-bottom: 15px;}
.gl_sec03 .num:after { content: ""; position: absolute; width: 40px; height: 2px; background: #a4a1cf; left: 50%; bottom: 0px; transform: translateX(-50%);}

.page_nav.gl a { border-color: #a4a1cf; color: #7984c1;}
.page_nav.gl a:after { border-color: #d6d5e9;}
.page_nav.gl li:first-child a { font-size: 1.4em; text-align: left; line-height: 1.4; padding: 12px 40px 12px 30px;}

.gl_sec .heading_back {background: #ebeaf4;}

.gl_sec04 .box01 { display: flex;}
.gl_sec04 .box01 > div { border: solid 1px #323232; padding: 20px 50px 30px;}
.gl_sec04 .box01 > div:first-child { margin-right: 20px; width: 350px;}
.gl_sec04 .box01 > div:last-child { width: 505px;}
.gl_sec04 .box01 > div:first-child h4 { margin-left: -50px; border-bottom: solid 1px #323232; padding: 10px 0px 13px 50px;}
.gl_sec04 .box01 > div:last-child h4 { margin-left: -50px; display: table; background: #a4a1cf; padding: 10px 50px 13px;}

.gl_sec06 .box01 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.gl_sec06 .box01 section { width: 48%;}
.gl_sec06 .box02 { display: flex; justify-content: space-between;}
.gl_sec06 .box02 figure { width: 42%;}
.gl_sec06 .box02 .box_inner { width: 53%;}

.gl_sec07 .box01 { display: flex; justify-content: space-between;}
.gl_sec07 .box01 figure { width: 37%;}
.gl_sec07 .box01 figure img { box-shadow: 10px 10px 0px #a4a1cf;}
.gl_sec07 .box01 .box_inner { width: 58%;}
.gl_sec07 .box01 h4 { font-size: 1.7em; color: #7984c1; line-height: 1.6;}


/* ------------------------
	business
------------------------ */

.gl_sec01.bus .box01 { background: #6190bf;}

.gl_sec02.bus .more_btn a { border-color: #6190bf; color: #4d80bf;}
.gl_sec02.bus .more_btn a:hover { background: #6190bf;}

.gl_sec03.bus { background: #6190bf;}
.gl_sec03.bus .num { color: #4d80bf;}
.gl_sec03.bus .num:after { background: #6190bf;}

.page_nav.gl.bus a { border-color: #84bf61; color: #47cd4c;}
.page_nav.gl.bus a:after { border-color: #bdcbe2;}

.gl_sec.bus .heading_back {background: #a9fbc3;}

.gl_sec04.bus .box01 > div:last-child h4 { background: #386249;}
.gl_sec04.bus .box01 > div:first-child { width: 440px;}

.gl_sec07.bus .box01 figure img { box-shadow: 10px 10px 0px #6190bf;}
.gl_sec07 .box01 figure .pos_ab { border: solid 1px #6190bf; box-shadow: 3px 3px 0px #6190bf; color: #6190bf; font-size: 1.1em; padding: 0px 0.5em; top: -10px; left: -10px;}
.gl_sec07.bus .box01 h4 { color: #4d80bf;}


/* ------------------------
	nursing
------------------------ */

.gl_sec01.nur .box01 { background: #f2a267;}

.gl_sec02.nur .more_btn a { border-color: #f2a267; color: #ff8245;}
.gl_sec02.nur .more_btn a:hover { background: #f2a267;}

.gl_sec03.nur { background: #f2a267;}
.gl_sec03.nur .num { color: #ff8245;}
.gl_sec03.nur .num:after { background: #f2a267;}

.page_nav.gl.nur a { border-color: #f2a267; color: #ff8245;}
.page_nav.gl.nur a:after { border-color: #f9d5bb;}

.gl_sec.nur .heading_back {background: #fcebde;}

.gl_sec04.nur .box01 > div:last-child h4 { background: #f2a267;}
.gl_sec04.nur .box01 > div:first-child { width: 440px;}

.gl_sec07.nur .box01 figure img { box-shadow: 10px 10px 0px #f2a267;}
.gl_sec07.nur .box01 h4 { color: #ff8245;}


/* ------------------------
	elementary
------------------------ */

.ele_text01 span { display: inline-block; border: solid 1px #323232; padding: 2px 0.5em;}

.gl_sec01.ele .box01 { background: #ee8e88;}

.gl_sec02.ele .more_btn a { border-color: #ee8e88; color: #ee777a;}
.gl_sec02.ele .more_btn a:hover { background: #ee8e88;}

.gl_sec03.ele { background: #ee8e88;}
.gl_sec03.ele .num { color: #ee777a;}
.gl_sec03.ele .num:after { background: #ee8e88;}

.page_nav.gl.ele a { border-color: #ee8e88; color: #ee777a;}
.page_nav.gl.ele a:after { border-color: #f7ccc9;}

.gl_sec.ele .heading_back {background: #fbe6e5;}

.gl_sec04.ele .box01 > div:last-child h4 { background: #ee8e88;}
.gl_sec04.ele .box01 > div:first-child { width: 440px;}

.gl_sec07.ele .box01 figure img { box-shadow: 10px 10px 0px #ee8e88;}
.gl_sec07.ele .box01 h4 { color: #ee777a;}


/* ------------------------
	kintergarten
------------------------ */

.gl_sec01.kin .box01 { background: #e9a4b2;}

.gl_sec02.kin .more_btn a { border-color: #e9a4b2; color: #e281a8;}
.gl_sec02.kin .more_btn a:hover { background: #e9a4b2;}

.gl_sec03.kin { background: #e9a4b2;}
.gl_sec03.kin .num { color: #e281a8;}
.gl_sec03.kin .num:after { background: #e9a4b2;}

.page_nav.gl.kin a { border-color: #e9a4b2; color: #e281a8;}
.page_nav.gl.kin a:after { border-color: #f5d6dc;}

.gl_sec.kin .heading_back {background: #faebee;}

.gl_sec04.kin .box01 > div:last-child h4 { background: #e9a4b2;}
.gl_sec04.kin .box01 > div:first-child { width: 440px;}

.gl_sec07.kin .box01 figure img { box-shadow: 10px 10px 0px #e9a4b2;}
.gl_sec07.kin .box01 h4 { color: #e281a8;}


/* ------------------------
	nutrition
------------------------ */

.gl_sec01.nut .box01 { background: #4db9a9;}

.gl_sec02.nut .more_btn a { border-color: #4db9a9; color: #40aaa9;}
.gl_sec02.nut .more_btn a:hover { background: #4db9a9;}

.gl_sec03.nut { background: #4db9a9;}
.gl_sec03.nut .num { color: #40aaa9;}
.gl_sec03.nut .num:after { background: #4db9a9;}

.page_nav.gl.nut a { border-color: #4db9a9; color: #40aaa9;}
.page_nav.gl.nut a:after { border-color: #afdfd8;}

.gl_sec.nut .heading_back {background: #d8f0ec;}

.gl_sec04.nut .box01 > div:last-child h4 { background: #4db9a9;}
.gl_sec04.nut .box01 > div:first-child { width: 440px;}

.gl_sec07.nut .box01 figure img { box-shadow: 10px 10px 0px #4db9a9;}
.gl_sec07.nut .box01 h4 { color: #40aaa9;}


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

.gl_sec01.child .box01 { background: #8bc56c;}

.gl_sec02.child .more_btn a { border-color: #8bc56c; color: #60af6c;}
.gl_sec02.child .more_btn a:hover { background: #8bc56c;}

.gl_sec03.child { background: #8bc56c;}
.gl_sec03.child .num { color: #60af6c;}
.gl_sec03.child .num:after { background: #8bc56c;}

.page_nav.gl.child a { border-color: #8bc56c; color: #60af6c;}
.page_nav.gl.child a:after { border-color: #cbe5bd;}

.gl_sec.child .heading_back {background: #e5f2df;}

.gl_sec05.child .heading_leftline { border-color: #60af6c; color: #60af6c;}

.gl_sec05.child .list01 { display: flex; justify-content: space-between;}
.gl_sec05.child .list01 li { width: 31.3333%;}
.gl_sec05.child .list01 h5 { font-size: 1.45em;}
.gl_sec05.child .list01 h5 span { display: inline-block; width: 1.2em; height: 1.2em; border: solid 1px #5c5c5c; background: #ffffcc; margin: 0px 0.4em -0.2em 0px;}
.gl_sec05.child .list01 li:nth-child(2) h5 span { background: #d0f0f8;}
.gl_sec05.child .list01 li:nth-child(3) h5 span { background: #ffcc99;}
.gl_sec05.child .text01 { border: solid 1px #323232; padding: 30px 5px; font-size: 2.2em;}

.gl_sec04.child .box01 > div:last-child h4 { background: #8bc56c;}
.gl_sec04.child .box01 > div:first-child { width: 440px;}

.gl_sec07.child .box01 figure img { box-shadow: 10px 10px 0px #8bc56c;}
.gl_sec07.child .box01 h4 { color: #60af6c;}


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

.gl_sec01.grad .box01 { background: #0072a5;}

.gl_sec02.grad .more_btn a { border-color: #0072a5; color: #0072a5;}
.gl_sec02.grad .more_btn a:hover { background: #0072a5;}

.gl_sec03.grad { background: #d0f0f8;}
.gl_sec03.grad .num { color: #0072a5;}
.gl_sec03.grad .num:after { background: #0072a5;}

.page_nav.gl.grad a { border-color: #97ddef; color: #0072a5;}
.page_nav.gl.grad li:first-child a { font-size: 1.8em; line-height: 1.6; padding: 20px 40px 20px 20px; text-align: center;}
.page_nav.gl.grad a:after { border-color: #8cc0d6;}

.gl_sec.grad .heading_back {background: #d0f0f8;}

.gl_sec04.grad .box01 > div:last-child h4 { background: #0072a5;}
.gl_sec04.grad .box01 > div:first-child { width: 440px;}

.gl_sec07.grad .box01 figure img { box-shadow: 10px 10px 0px #0072a5;}
.gl_sec07.grad .box01 h4 { color: #0072a5;}

.grad_add01 { display: flex; justify-content: space-between;}
.grad_add01 .box_inner { width: 63%;}
.grad_add01 figure { width: 34%;}

.gl_sec03.grad .box01 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.gl_sec03.grad .box01 section { background: #0072a5; width: 48%; margin-bottom: 40px; padding: 20px;}
.gl_sec03.grad .box01 h4 { font-size: 1.8em;}
.gl_sec03.grad .box01 .back_white { padding: 1em 1.5em;}


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

.lib_wrap { display: flex; justify-content: space-between; flex-flow: row-reverse;}
.lib_wrap .contents { width: 70%;}
.lib_wrap .rNavi { width: 25%;}

.lib_sec01.top_sec01.access_sec02 { padding-top: 130px;}

.lib_sec03 table { width: 100%;}
.lib_sec03 th, .lib_sec03 td { border: solid 1px #5c5c5c; padding: 1em 1em; vertical-align: middle;}
.lib_sec03 th { background: #e6e6e6; text-align: left;}

.lib_sec08 .box01 { display: flex; align-items: flex-start;}
.lib_sec08 .box01 figure { width: 260px; margin-right: 50px;}
.lib_sec08 .box01 .box_inner { width: 220px; border: solid 2px #97ddef; padding: 25px 30px 30px;}
.lib_sec08 .box01 li { padding-left: 17px; position: relative;}
.lib_sec08 .box01 li:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #2abbdf;
	left: 0px;
	top: 0.3em;
}
.lib_sec08 .box01 .btn_area { display: inline-block; background: url("../image/ico_open.svg") no-repeat center center #2abadf; background-size: auto 20px; width: 150px; height: 40px; border-radius: 3px; cursor: pointer; margin: 15px 0px -15px;}
.lib_sec08 .box01 .btn_area.open { background-image: url("../image/ico_close.svg"); background-size: auto 17px;}
.lib_sec08 .box01 .content_area { display: none;}

.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;
}

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type { background-color: #ffcccc !important;}
.lib_side_sec02 .color { color: #ffcccc;}
.lib_side_sec02 .color01 { color: #f2f2f2;}
.lib_side_sec02 .color02 { color: #fee2a0;}
.lib_side_sec02 .color03 { color: #AFDFE4;}
.lib_side_sec02 .color04 { color: #dfffcd;}
.lib_side_sec02 .box01 { border: solid 1px #5c5c5c;}
.lib_side_sec02 .box01 h4 { border-bottom: solid 1px #5c5c5c; padding: 10px 15px;}
.lib_side_sec02 .box01 .box_inner { padding: 15px 5px 15px 15px;}

.lib_side_sec03 { word-break: break-all;}

.wpsbc-calendar-header-navigation { padding: 0px !important;}
.wpsbc-calendar-header-navigation a { display: none !important;}

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

.affi_sec02 table { width: 100%; max-width: 680px;}
.affi_sec02 th, .affi_sec02 td { border: solid 1px #5c5c5c; padding: 1em; vertical-align: middle;}
.affi_sec02 th { width: 200px; background: #d0f0f8;}



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

.cont_sec03 .box01 { display: flex; justify-content: space-between;}
.cont_sec03 .box01 .box_inner { width: 63%;}
.cont_sec03 .box01 figure { width: 33%;}


/* ------------------------
	teaching
------------------------ */

.tea_sec03 .box01 { display: flex; justify-content: space-between;}
.tea_sec03 .box01 section { width: calc(33.3333% - 15px); border: solid 1px #5c5c5c; padding: 20px;}
.tea_sec03 .box01 .box_inner { display: flex; justify-content: center; align-items: center; height: 8em;}
.tea_sec03 .box01 h4 { font-size: 1.4em; padding-bottom: 12px; border-bottom: solid 4px #8bc56c;}
.tea_sec03 .box01 section:nth-child(1) h4 { border-color: #e9a4b2;}
.tea_sec03 .box01 section:nth-child(1) h4:after { content: ""; position: absolute; height: 4px; width: calc(33.3333% + 8px); background: #f2a267; bottom: -4px; left: 50%; transform: translateX(-50%); border-left: solid 4px #fff; border-right: solid 4px #fff;}
.tea_sec03 .box01 section:nth-child(3) h4 { border-color: #4db9a9;}

.tea_sec04 .box01 { display: flex; justify-content: space-between;}
.tea_sec04 .box01 section { width: calc(33.3333% - 15px); border: solid 1px #5c5c5c;}
.tea_sec04 .box01 h5 { background: #0072a5; font-size: 1.4em; padding: 13px 5px;}
.tea_sec04 .box01 .box_inner { padding: 1em;}

.tea_sec05 .box01 { display: flex; justify-content: space-between;}
.tea_sec05 .box01 .box_inner { width: 60%;}
.tea_sec05 .box01 figure { width: 35%;}

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


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

.int_sec01 .box01 { display: flex; justify-content: space-between;}
.int_sec01 .img_box { width: 40%;}
.int_sec01 .img_box figure { margin-bottom: 30px;}
.int_sec01 table { width: 53%;}
.int_sec01 th, .int_sec01 td { vertical-align: middle; padding: 1.5em; border: solid 1px #5c5c5c;}
.int_sec01 th { background: #e6e6e6;}

.int_sec02 .box01 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.int_sec02 .box01 section { width: 48%; margin-bottom: 50px; display: flex; justify-content: space-between;}
.int_sec02 .box01 figure { width: 43%;}
.int_sec02 .box01 .box_inner { width: 53%;}
.int_sec02 dl { display: flex; justify-content: space-between; align-items: center;}
.int_sec02 dt { font-size: 1.4em;}
.int_sec02 dd span { display: block; width: 35px; height: 35px; line-height: 35px; border-radius: 5px; background: #6e97ff;}
.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;}

.int_sec02 .list01 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.int_sec02 .list01 li { width: 23%;}

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

.club_sec01 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.club_sec01 li { width: calc(33.3333% - 15px); margin-bottom: 30px;}
.club_sec01 a, .club_sec01 span { display: block; text-decoration: none; background: #d0f0f8; color: #323232; padding: 20px; font-size: 1.5em;}
.club_sec01 img { transition: 0.3s;}
.club_sec01 a:hover img { transform: scale(1.1);}

.club_sec02 nav ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.club_sec02 nav li { width: calc(25% - 10px); margin-bottom: 12px;}
.club_sec02 nav a { display: block; background: #2abadf; font-size: 1.35em; line-height: 1.6; padding: 20px 0px 50px; text-decoration: none; color: #fff; transition: 0.3s;}
.club_sec02 nav a:after {
	content: "";
	bottom: 20px;
	left: 50%;
	margin-left: -15px;
	position: absolute;
    width: 25px;
    height: 25px;
    border-top: 5px solid #fff;
    border-right: 5px solid #fff;
    transform: rotate(135deg);
}
.club_sec02 nav a:hover { transform: translateY(4px); opacity: 0.7;}

.club_sec02 nav span { display: flex; justify-content: center; align-items: center; height: 3.2em;}

.club_sec02 .heading_middle { color: #2abadf; padding-left: 1.3em;}
.club_sec02 .heading_middle:before { content: ""; position: absolute; width: 1em; height: 1em; background: #2abadf; left: 0px; top: 0.3em;}

.club_sec02 .box01 { display: flex; justify-content: space-between;}
.club_sec02 .box01 .box_inner { width: 58%;}
.club_sec02 .box01 figure { width: 38%;}
.club_sec02 table { width: 100%;}
.club_sec02 th, .club_sec02 td { border: solid 1px #5c5c5c; vertical-align: middle; padding: 1em;}
.club_sec02 th { width: 12em;}


.ball_sec01 .box01 { display: flex; justify-content: space-between;}
.ball_sec01 .box01 table { width: 60%;}
.ball_sec01 .box01 figure { width: 37%;}
.ball_sec01 table, .ball_sec02 table, .ball_sec02 .text01 { max-width: 630px;}
.ball_sec01 th { width: 10em;}
.ball_sec02 th { width: 6em;}


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

.car_sec01 dl { border-bottom: solid 2px #97ddef; padding-bottom: 30px; margin-bottom: 30px;}
.car_sec01 dt { font-size: 1.45em; padding-right: 50px; cursor: pointer;}
.car_sec01 dt:after { content: ""; position: absolute; background: url("../image/ico_plus1.svg") no-repeat center center; background-size: 100% auto; width: 45px; height: 45px; right: 0px; top: 50%; transform: translateY(-50%);}
.car_sec01 dt.open:after { background-image: url("../image/ico_minus.svg");}
.car_sec01 dd { background: #eaeff7; padding: 5%; margin-top: 30px; display: none;}
.car_sec01 dd .back_white { display: flex; justify-content: center; align-items: center; font-size: 1.7em; line-height: 1.5; color: #4d80bf; padding: 15px;}
.car_sec01 dd .back_white .num { font-size: 3.5em; line-height: 0; margin-left: 0.4em;}
.car_sec01 dd h4 { font-size: 1.4em; color: #4d80bf;}

.car_sec01 dl:nth-of-type(2) dd { background: #fceeed;}
.car_sec01 dl:nth-of-type(2) dd .back_white, .car_sec01 dl:nth-of-type(2) dd h4 { color: #ee777a;}
.car_sec01 dl:nth-of-type(3) dd { background: #fdf1e8;}
.car_sec01 dl:nth-of-type(3) dd .back_white, .car_sec01 dl:nth-of-type(3) dd h4 { color: #ff8245;}
.car_sec01 dl:nth-of-type(4) dd { background: #e4f4f2;}
.car_sec01 dl:nth-of-type(4) dd .back_white, .car_sec01 dl:nth-of-type(4) dd h4 { color: #40aaa9;}
.car_sec01 dl:nth-of-type(5) dd { background: #eef6e9;}
.car_sec01 dl:nth-of-type(5) dd .back_white, .car_sec01 dl:nth-of-type(5) dd h4 { color: #60af6c;}

.car_sec05 .btn_area a { display: inline-block; text-decoration: none; border: solid 1px #2abadf; font-size: 1.3em; padding: 0px 30px; color: #0072a5; line-height: 90px;}
.car_sec05 .btn_area a:before, .car_sec05 .btn_area a:after { content: ""; display: inline-block; vertical-align: middle;}
.car_sec05 .btn_area a:before {
	margin-right: 0.4em;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11px 0 11px 15px;
	border-color: transparent transparent transparent #0071a5;
}
.car_sec05 .btn_area a:after { background: url("../image/ico_zip.svg") no-repeat center center; background-size: 100% auto; width: 41px; height: 45px; margin-left: 0.8em;}


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

.gra_sec02 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.gra_sec02 li { width: 48.5%;}

.reiyu_box { border: solid 2px #97ddef; padding: 4%;}
.reiyu_box li { border-bottom: solid 2px #97ddef; padding: 0px 0px 13px 25px; margin-bottom: 13px; font-size: 1.15em; position: relative;}
.reiyu_box li:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10.5px 0 10.5px 16px;
	border-color: transparent transparent transparent #2abbdf;
	left: 0px;
	top: 0.3em;
}
.reiyu_box .btn_area { display: inline-block; background: url("../image/ico_open.svg") no-repeat center center #2abadf; background-size: auto 27px; width: 230px; height: 49px; border-radius: 3px; cursor: pointer; margin: 15px 0px -15px;}
.reiyu_box .btn_area.open { background-image: url("../image/ico_close.svg"); background-size: auto 24px;}
.reiyu_box .content_area { display: none;}


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

.con_sec .box_inner { padding-left: 30px;}
.con_sec .box_inner:not(:last-of-type) { padding-bottom: 30px; border-bottom: dotted 1px #999; margin-bottom: 30px;}
.con_sec .list01 { display: flex; flex-wrap: wrap; align-items: center; font-size: 1.1em;}
.con_sec .list01 li:before { content: ""; display: inline-block; vertical-align: middle; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; margin-right: 0.5em;}
.con_sec .list01 li:first-child { margin-right: 5em;}
.con_sec .list01 li:first-child:before { background-image: url("../image/ico_mail_blue.svg"); width: 27px; height: 21px;}
.con_sec .list01 li:last-child:before { background-image: url("../image/ico_tel_blue.svg"); width: 27px; height: 27px;}


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

.sitemap_wrap { display: flex; flex-wrap: wrap; margin: auto -8px;}
.sitemap_wrap section { width: calc(33.3333% - 16px); margin: 0px 8px auto;}
.sitemap_wrap h3 { padding-left: 0.2em; padding-right: 0.2em;}
.sitemap_wrap h3 a, .sitemap_wrap h3 span { text-decoration: none; font-size: 0.9em;}
.sitemap_wrap h3 span.fo06 { font-size: 1rem !important;}
.sitemap_wrap li { margin-bottom: 5px;}
.sitemap_wrap li ul { padding-left: 1em;}


/* ------------------------
	program
------------------------ */

.prog_sec01 .list01 li { display: inline-block; margin: 0px 2em 5px 0px;}


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

.access_sec01 .box01 { display: flex; justify-content: space-between;}
.access_sec01 .map { width: 45%;}
.access_sec01 iframe { width: 100%; height: 320px; vertical-align: top;}
.access_sec01 .box_inner { width: 50%;}

.access_sec02.top_sec01 { background: none; padding: 0px;}
.access_sec02.top_sec01 dl:first-of-type { border-top: solid 3px #2abadf;}
.access_sec02.top_sec01 dl:last-child { border-bottom: solid 2px #97ddef;}


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

.date_wrap, .date_wrap .category_list { display: flex; flex-wrap: wrap; align-items: center;}
.date_wrap p { margin-right: 1em;}
.date_wrap .category_list li { margin: 0px 1em 5px 0px;}
.date_wrap .category a { padding: 1px 0.6em;}

.single_head h1 { font-size: 2.5em; border-bottom: solid 3px #2abadf; padding-bottom: 15px;}

.blog_content h2 { font-family: 'Noto Serif JP', serif; font-size: 2em; line-height: 1.6; border-left: solid 8px #0072a5; color: #0072a5; padding-left: 0.5em; clear: both; margin-bottom: 30px;}
.blog_content h3 { font-family: 'Noto Serif JP', serif; font-size: 1.6em; line-height: 1.6; clear: both; margin-bottom: 30px;}
.blog_content h4, .blog_content h5, .blog_content h6 { font-size: bold; font-size: 1.2em; line-height: 1.6; margin-bottom: 30px; clear: both;}
.blog_content p { margin-bottom: 30px;}

.blog_content ul { padding-left: 1em;}
.blog_content li { list-style: outside disc;}

.blog_content iframe { max-width: 100%;}

.blog_content strong, .blog_content em { font-weight: bold;}

/* ページャー(アーカイブ) */
.pagination span.current, .pagination a {
	margin: 0px 8px 15px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	background-color: #fafafa;
	min-width: 30px;
	height: 30px;
	font-weight: bold;
	line-height: 30px;
	padding: 0px 10px;
}
.pagination span.current, .pagination a:hover { background-color: #2abadf; color: #fff;}
.pagination .number { margin-right: 1em;}



.ath_sec01 th { width: 12em;}
.ath_sec01 dl { display: table; width: 100%;}
.ath_sec01 dl > * { display: table-cell; vertical-align: top;}
.ath_sec01 dt { width: 5em;}

.ath_sec02 th { width: 20em; text-align: left;}
.ath_sec02 td:nth-of-type(1) { width: 7em;}


/* professor */
.prof_bread { margin-top: 40px;}
.prof_head { display: flex; align-items: flex-end; justify-content: space-between;}
.prof_head figure { width: 180px;}
.prof_head .box_inner { width: calc(100% - 210px);}
.prof_head h1 { font-size: 1.6em;}
.prof_head ul { display: flex; align-items: center; flex-wrap: wrap;}
.prof_head li { margin: 10px 15px 0px 0px;}

.table_bordered03 { width: 100%;}
.table_bordered03 th, .table_bordered03 td { border-bottom: solid 1px #97ddef; padding: 1em; vertical-align: top;}
.table_bordered03 th { text-align: left; width: 12em;}

.yt_wrap { max-width: 500px;}
.iframe_wrap { position: relative; width: 100%; padding-top: 56.25%;}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	vertical-align: top;
}



/* kyoei - finance */
.fin_box01 { border: solid 2px #97ddef; padding: 1.5em 2em; max-width: 220px; margin: auto;}
.fin_box01 li { padding-left: 17px; position: relative; cursor: pointer;}
.fin_box01 li:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #2abbdf;
	left: 0px;
	top: 0.3em;
}
.fin_box01 li:hover { text-decoration: underline; color: #2ABADF;}



.main-visual-item { /* 视频的父li元素 */
  height: 332px; /* 强制li的高度为667px */
  overflow: hidden; /* 裁剪掉超出部分 */
}
.main-video {
  width: 100%;
  height: 100%; /* 让视频填充li */
  object-fit: cover; /* 如果需要填充并裁剪 */
  /* 确保没有 border, padding, margin */
  display: block;
}
.school-card {
  max-width: 900px;
  margin: 40px auto;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.9;
  color: #222;
}

.school-card h2 {
  font-size: 20px;
  color: #0b1220;
  margin-top: 24px;
  border-left: 6px solid #1e7f3d;
  padding-left: 10px;
}

.school-card h3 {
  font-size: 17px;
  color: #1e7f3d;
  margin-top: 16px;
}

.school-card p {
  margin: 10px 0;
  text-align: justify;
}

.school-card .highlight {
  background: #f9fcf9;
  border-left: 4px solid #1e7f3d;
  padding: 10px 14px;
  border-radius: 6px;
  margin: 16px 0;
}
.course-section {
  background: #fff;
  padding: 40px 60px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  color: #333;
  text-align: left; /* 左对齐 */
}

.section-title {
  font-size: 1.3rem;
  font-weight: bold;
  color: #0078d7;
  margin-top: 30px;
  margin-bottom: 8px;
  position: relative;
  padding-left: 24px; /* ✅ 增加左缩进以给方块留空间 */
}

.section-title::before {
  content: "■";
  color: #ff7f27;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(1px); /* 微调垂直位置，让方块更居中 */
  margin-right: 8px; /* ✅ 方块与文字之间空出一个字左右的距离 */
}

.section-text {
  font-size: 0.95rem;
  margin-bottom: 22px;
}

.section-sub {
  border-top: 2px solid #0078d7;
  margin-top: 40px;
  padding-top: 20px;
}

.sub-title {
  font-size: 1.1rem;
  color: #0078d7;
  font-weight: bold;
  margin-bottom: 12px;
}

.human-type-list {
  list-style-type: "– ";
  padding-left: 1.2em;
  margin: 0;
}

.human-type-list li {
  margin-bottom: 6px;
  font-size: 0.95rem;
}

.NwsFONT27{
	font-size: 20px;
}
p.fo09.lh16.addfont{
  font-size: 22px !important;
}

.list0x{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 两列 */
  gap: 0;                                /* 行列紧凑 */
}

.list0x li{
  border-bottom: 1px solid #e6e6e6;
}

/* 最后一行去掉底线（第7、8项） */
.list0x li:nth-last-child(-n+2){
  border-bottom: none;
}

.list0x a{
  display: flex;
  align-items: center;
  padding: 18px 20px 18px 44px;
  font-size: 28px;        /* 指定字号 */
  color: #222;
  text-decoration: none;
  position: relative;
  transition: background .2s ease, color .2s ease;
}

/* 左侧菱形 */
.list0x a::before{
  content: "";
  position: absolute;
  left: 18px;
  width: 12px;
  height: 12px;
  border: 2px solid #0071a5;
  transform: rotate(45deg);
  box-sizing: border-box;
}

/* hover 效果 */
.list0x a:hover{
  background: #f5f9fc;
  color: #0071a5;
}

/* 空链接弱化 */
.list0x a[href=""]{
  opacity: .55;
  pointer-events: none;
}

/* 3:7 レイアウト */
.about-flex{
  display:flex;
  align-items:flex-start;
  gap:24px;
text-align: left;
	
}

/* 左3 / 右7 */
.about-flex__left{ flex:3; }
.about-flex__right{ flex:7; }

/* 画像の見た目（必要に応じて調整） */
.about-flex__img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}

/* 文字は右側で左揃えにするのが自然（sectionのta_centerの影響を打ち消す） */
.about-flex__text{
  margin:0;
  text-align:left;
}

/* スマホ時は縦並び */
@media (max-width: 768px){
  .about-flex{
    flex-direction:column;
  }
}
.textleft{
	text-align: left;
}
.bgName
{
	font-size: 24px;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	 font-weight: bold;
}
.hrwid{
    border: none;              /* 去掉默认边框 */
    height: 10px;              /* 粗细 10px */
    background-color: #c5e0c9; /* 深蓝色 */
}
.smbtext{
	font-size: 18px;
	
}
/* 整个列表 */
ul.content{
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 你的所有 dl 都在同一个 li 里面 */
ul.content > li{
    margin: 0;
    padding: 0;
}

/* 每一条新闻 */
ul.content > li > dl{
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding: 18px 0;
    border-bottom: 1px solid #b9dceb;
}

/* 第一条上边线，可按需要保留 */
ul.content > li > dl:first-child{
    border-top: 2px solid #3f6f49;
}

/* 日期 */
ul.content > li > dl > dt{
    width: 130px;
    margin: 0;
    padding: 0;
    flex: 0 0 130px;
    line-height: 1.8;
    color: #666;
    box-sizing: border-box;
}

/* 所有 dd 基础 */
ul.content > li > dl > dd{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 分类方框 */
ul.content > li > dl > dd.category{
    width: 108px;
    min-width: 108px;
    margin-right: 24px;
    padding: 6px 10px;
    background: #3f5ea8;   /* 蓝色，改绿色就改这里 */
    color: #fff;
    text-align: center;
    line-height: 1.4;
    white-space: nowrap;
    display: block;
    flex: 0 0 108px;
}

/* 标题区域 */
ul.content > li > dl > dd.title{
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.8;
}

/* 标题链接 */
ul.content > li > dl > dd.title a{
    display: block;
    color: #222;
    text-decoration: none;
    word-break: break-all;
    overflow-wrap: break-word;
}

/* hover 效果，可不要 */
ul.content > li > dl > dd.title a:hover{
    text-decoration: underline;
}

/* 你原有文字类如果没定义，可以补上 */
.fo_gray{
    color: #666;
}

.fo_mincho{
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}
ul.content > li > dl > dd.category.info2{
    background: #7a5ccf;
}