@charset "UTF-8";
/* CSS Document */
@import url('reset.css');
@import url('global.css');

/*------------------------------------------------------
	印刷対応
------------------------------------------------------*/
@media print {
	body { width: 1040px; /* needed for Chrome */ }
	pre code { page-break-after: always; }
	p a, code, pre { word-wrap: break-word; }
	pre a[href]:after { content: ""; }
	pre abbr[title]:after { content: ""; }
	pre .ir a:after,
	pre a[href^="javascript:"]:after,
	pre a[href^="#"]:after { content: ""; }
	footer { display: none;}
}

@page {
/*	size: A4;*/
}

/*------------------------------------------------------
	全体にかかわるもの
------------------------------------------------------*/
*, *::before, *::after { box-sizing: border-box; line-height: 1; }
html { overflow: scroll; font-size: 16px; }

body { font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; background: #fff; color: #333; position: relative; left: 0; overflow-x: hidden; }
h1, h2, h3, h4, h5 { font-weight: normal; }
img { vertical-align: bottom; max-width: 100%; }
.container { width: 100%; max-width: 1040px; margin-left: auto; margin-right: auto; position: relative; }
article { padding: 0; }
table { width: 100%; border-collapse: collapse; border-spacing: 0; }
ul { list-style: none; }
.anchor { display: block; margin-top: -30px; padding-top: 30px; }
a:link { text-decoration: none; }
/*.mainCont a:link { color: #3a75a5; }*/
.mainCont a:link { color: #1181C2; }
.mainCont a:visited { color: #8456a3; }

@media screen and (max-width: 1040px) and (min-width: 769px) {
	body { width: 1040px; }
}

@media print, screen and (min-width: 769px) {
	/* 全体に関わる部分 */
	article { min-height: 600px; }
	a:hover { color: #8456A3; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	.mainCont a:hover { text-decoration: underline; }

	/* 画面サイズによって切り替えるフラグ */
	.sp { display: none !important; }

	.mainCont a[href^="tel:"] { cursor: default; color: #333; }
	.mainCont a[href^="tel:"]:hover { text-decoration: none; }
}


@media screen and (max-width: 768px) {
	/* 全体に関わる部分 */
	.container { width: 90%; }
	.mainCont a:link { text-decoration: underline; }

	/* 画面サイズによって切り替えるフラグ */
	.pc { display: none !important; }
}


@media screen and (max-width: 480px) {
	/* 全体に関わる部分 */
	.container { width: 100%; padding: 0 10px; }
}



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

header .gnaviCont > ul { position: absolute; width: 1040px; /* top: 48px; */ left: 0; right: 0; margin: auto; padding: 15px 39px 30px; background: rgba( 255, 255, 255, 0.97); border-top: 4px solid #5d4972; font-size: 0.875em; z-index: 10; }
header .gnaviCont ul li { float: left; -webkit-width: calc( 100% / 6 - 16px ); width: calc( 100% / 6 - 16px ); margin-right: 16px; }
header .gnaviCont ul li.title { width: 49%; }
header .gnaviCont ul li.title:nth-child(odd) { margin-right: 1%; }
header .gnaviCont ul li.title:nth-child(even) { margin-left: 1%; margin-right: 0; }
header .gnaviCont ul li.title span { display: block; width: 100%; background: #e1dceb; line-height: 1.6em; margin-bottom: 8px; padding: 4px 10px; }
header .gnaviCont ul .long { -webkit-width: calc( 100% / 3 - 16px ); width: calc( 100% / 3 - 16px ); margin-right: 16px; }
header .gnaviCont ul li a { position: relative; width: 100%; display: inline-block; color: #333; margin-bottom: 10px; padding: 6px 0; border-bottom: 1px solid #5d4972; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
header .gnaviCont ul li.title > ul > li { width: 49%; margin-bottom: 10px; }
header .gnaviCont ul li.title > ul > li:nth-child(odd) { margin-right: 1%; }
header .gnaviCont ul li.title > ul > li:nth-child(even) { margin-left: 1%; margin-right: 0; }
header .gnaviCont ul li.title > ul > li > a { margin-bottom: 5px; }
header .gnaviCont .sub > li { width: 100%; }
header .gnaviCont .sub > li > a { border-bottom: none; margin-bottom: 0; padding: 4px 0; }
header .gnaviCont .sub > li > a::before { content: "･"; }
header .gnaviCont ul[id^="menu"] { border-left: 1px solid #5d4972; border-right: 1px solid #5d4972; border-bottom: 1px solid #5d4972; }
header .gnaviCont ul#menu01 { height: 230px; }

header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:first-child { width: 100%; }
header .gnaviCont ul li.title > ul > li { width: 49%; margin-bottom: 10px; }
header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:nth-child(2) { margin-right: 1%; margin-left: 0; }
header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:last-child { margin-left: 1%; margin-right: 0; }
header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:first-child > .sub > li { width: 49%; }
header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:first-child > .sub > li:nth-child(odd) { margin-right: 1%; }
header .gnaviCont ul#menu02 li.title:last-of-type > ul > li:first-child > .sub > li:nth-child(even) { margin-left: 1%; margin-right: 0; }

header .gnaviCont ul#menu03 { height: 180px; }
header .gnaviCont ul#menu03 li { display: table; width: 100%; margin: 0; padding: 10px; background: #e1dceb; }
header .gnaviCont ul#menu03 li a ,
header .gnaviCont ul#menu03 li p { display: table-cell;vertical-align: middle; }
header .gnaviCont ul#menu03 li a { width: 24%; border-bottom: none; }
header .gnaviCont ul#menu03 li p { width: 76%; line-height: 1.6em; }

header .gnaviCont ul#menu04 { height: 180px; }
header .gnaviCont ul#menu04 li { width: 228px; margin-left: 0; margin-right: 16px; }
header .gnaviCont ul#menu04 li:nth-child(3n) { margin-right: 244px; }

header .gnaviCont ul#menu05 { height: 180px; }

header .gnaviCont ul#menu06 { height: 180px; }
/* header .gnaviCont ul#menu06 li.title:last-of-type > ul > li:last-child { width: 100%; margin: 0; } */

header .gnaviCont ul#menu07 li.title { width: 100%; margin-right: 0; margin-left: 0; }
header .gnaviCont ul#menu07 li.title:last-of-type { margin-top: 15px; }
header .gnaviCont ul#menu07 li.title > ul > li { width: 228px; margin-left: 0; margin-right: 16px; }
header .gnaviCont ul#menu07 li.title > ul > li:nth-child(3n) { margin-right: 244px; }

header .gnaviCont ul#menu08 { height: 180px; }

header .gnaviCont ul#menu09 { height: 180px; }
header .gnaviCont ul#menu09 li { width: 228px; margin-left: 0; margin-right: 16px; }
header .gnaviCont ul#menu09 li:nth-child(4n) { margin-right: 0; }

header .gnaviCont ul#menu10 li { width: 25%; }
header .gnaviCont ul#menu10 li.long { width: -webkit-calc(50% + 16px); width: calc(50% + 16px); }
/* header .gnaviCont ul#menu10 li:last-child { width: -webkit-calc(50% + 16px); width: calc(50% + 16px); } */


/* searchbar */
header .searchbar { display: none; background: #eee; border-top: 1px solid #ccc; padding: 10px 0; }
header .searchbar ul { text-align: right; }
header .searchbar ul li { display: inline-block; vertical-align: top; }
header .searchbar ul li:first-child {  margin-right: 20px; }
header .searchbar ul li:first-child a { display: block; color: #fff; background: #5d4972; font-size: 0.875em; padding: 8px 20px; border-radius: 14px; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
header .searchbar ul li:last-child p { font-size: 0.875em; font-weight: bold; margin-right: 10px; padding: 8px 0; }
header .searchbar ul li .search { position: relative; width: 100%; max-width: 400px; float: right; }
header .searchbar ul li .search dt input ,
header .searchbar ul li .search dd button { height: 30px; line-height: 1em; font-size: 14px; border: none; }
header .searchbar ul li .search dt { width: 300px; margin-right: 105px; background: #fff; }
header .searchbar ul li .search dt input { width: 100%; padding: 0 5px; background: none; }
header .searchbar ul li .search dd { position: absolute; top: 0; right: 0; }
header .searchbar ul li .search dd button { display: block; width: 80px; color: #333; text-align: center; background: #8cc63f; border-radius: 14px; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }

@media print, screen and (min-width: 769px){

	/* searchbar */
	header .searchbar ul li:first-child a:hover { background: #8456a3; }
	header .searchbar ul li .search dd button:hover { background: #43601d; color: #fff; }

	/* gnavi */
	header .gnavi { background: #8456a3; border-bottom: 4px solid #5d4972; }
	header .gnavi > ul { display: table; }
	header .gnavi > ul > li { display: table-cell; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	header .gnavi > ul > li > a { display: block; color: #fff; font-size: 0.875em; text-align: center; padding: 15px 0; }

	header .gnavi > ul > li:first-child { width: 94px; }
	header .gnavi > ul > li:nth-child(2) { width: 164px; }
	header .gnavi > ul > li:nth-child(3) { width: 94px; }
	header .gnavi > ul > li:nth-child(4) { width: 130px; }
	header .gnavi > ul > li:nth-child(5) { width: 148px; }
	header .gnavi > ul > li:nth-child(6) { width: 94px; }
	header .gnavi > ul > li:nth-child(7) { width: 94px; } /* 国際交流 */
	header .gnavi > ul > li:nth-child(8) { width: 94px; }
	header .gnavi > ul > li:nth-child(9) { width: 96px; }
	header .gnavi > ul > li:nth-child(10) { width: 126px; }

	/* hover */
	header .gnavi > ul > li:first-child:hover { background: #93bdd0; }
	header .gnavi > ul > li:nth-child(2):hover { background: #c68bb8; }
	header .gnavi > ul > li:nth-child(3):hover { background: #e4b2ea; }
	header .gnavi > ul > li:nth-child(4):hover { background: #eac573; }
	header .gnavi > ul > li:nth-child(5):hover { background: #93a4ce; }
	header .gnavi > ul > li:nth-child(6):hover { background: #ddb162; }
	header .gnavi > ul > li:nth-child(7):hover { background: #dd7f62; } /* 国際交流 */
	header .gnavi > ul > li:nth-child(8):hover { background: #8bb9a6; }
	header .gnavi > ul > li:nth-child(9):hover { background: #dd9f62; }
	header .gnavi > ul > li:nth-child(10):hover { background: #dd6262; }

	header .gnavi > ul > li:first-child .active { background: #93bdd0; }
	header .gnavi > ul > li:nth-child(2) .active { background: #c68bb8; }
	header .gnavi > ul > li:nth-child(3) .active { background: #e4b2ea; }
	header .gnavi > ul > li:nth-child(4) .active { background: #eac573; }
	header .gnavi > ul > li:nth-child(5) .active { background: #93a4ce; }
	header .gnavi > ul > li:nth-child(6) .active { background: #ddb162; }
	header .gnavi > ul > li:nth-child(7) .active { background: #dd7f62; } /* 国際交流 */
	header .gnavi > ul > li:nth-child(8) .active { background: #8bb9a6; }
	header .gnavi > ul > li:nth-child(9) .active { background: #dd9f62; }
	header .gnavi > ul > li:nth-child(10) .active { background: #dd6262; }

	/* gnaviCont */
	header .gnaviCont > ul { display: none; }
	header .gnaviCont ul li a { color: #333; }
	header .gnaviCont ul li a:hover { color: #9c75b6; }
}

@media screen and (max-width: 768px){
	/* SP */

	/* ハンバーガーメニュー */
	.menu-trigger { top: 1px; }
	.menu-trigger,
	.menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; }
	.menu-trigger { position: relative; width: 32px; height: 29px; }
	.menu-trigger span { position: absolute; left: 0; width: 100%; height: 4px; background-color: #5d4972; }
	.menu-trigger span:nth-of-type(1) { top: 0; }
	.menu-trigger span:nth-of-type(2) { top: 13px; }
	.menu-trigger span:nth-of-type(3) { bottom: 0; }

	/* searchbar */
	header .searchbar { border-bottom: 1px solid #ccc; }
	header .searchbar .container { width: 100%; }
	header .searchbar ul li:first-child { display: none; }
	header .searchbar ul li .search dd { right: 10px; }

	/* gnavi */
	header .gnavi { display: none; position: absolute; right: 0; width: 60%; background: #5d4972; z-index: 10; }
	header .gnavi ul { width: 100%; padding: 0; }
	header .gnavi ul li { position: relative; font-size: 1.25em; }
	header .gnavi ul li:not(:last-child) { border-bottom: 2px solid #3b3049; }
	header .gnavi ul li a { display: block; color: #fff; padding: 20px; border-left: 8px solid; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	header .gnavi ul li:first-child a { border-color: #93bdd0; }
	header .gnavi ul li:nth-child(2) a { border-color: #c68bb8; }
	header .gnavi ul li:nth-child(3) a { border-color: #e4b2ea; }
	header .gnavi ul li:nth-child(4) a { border-color: #eac573; }
	header .gnavi ul li:nth-child(5) a { border-color: #93a4ce; }
	header .gnavi ul li:nth-child(6) a { border-color: #ddb162; }
	header .gnavi ul li:nth-child(7) a { border-color: #dd7f62; } /* 国際交流 */
	header .gnavi ul li:nth-child(8) a { border-color: #8bb9a6; }
	header .gnavi ul li:nth-child(9) a { border-color: #dd9f62; }
	header .gnavi ul li:nth-child(10) a { border-color: #dd6262; }
	header .gnavi ul li:last-child a { border-color: #5d4972; background-color: #000; color: #fff; }
	header .gnavi ul li a::before { content: ""; position: absolute; top: 50%; right: 10px; margin-top: -5px; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 7px; border-color: transparent transparent transparent #fff; }


	/* gnaviCont */
	header .gnaviCont { display: none !important; }
	header .gnavi { display: block; position: fixed; right: 0; z-index:999;  -moz-transform: translateX(462px); -webkit-transform: translateX(462px); -o-transform: translateX(462px); -ms-transform: translateX(462px); transition:300ms ease-out; -webkit-transition:300ms ease-out; }
	header .gnavi.off { transition:0ms ease-out; -webkit-transition:0ms ease-out; }
	header .gnavi.active { -moz-transform: translateX(0px); -webkit-transform: translateX(0px); -o-transform: translateX(0px); -ms-transform: translateX(0px); transition:250ms; -webkit-transition:250ms; 	}
}

@media print, screen and (min-width: 481px){
	/* searchbar */
	header .searchbar ul li:last-child p ,
	header .searchbar ul li:last-child form { float: left; }
}

@media screen and (max-width: 480px) {
	/* SP */
	header > .container { padding: 15px 10px; }
	header > .container #headLogo { width: 120px; }
	header > .container #headLogo a { width: 120px; height: 26px; }
	header > .container .sp > ul li { margin-left: 0; font-size: 0.875em; }
	header > .container .sp > ul li:first-child,
	header > .container .sp > ul li:nth-child(2) {  font-size: 0.6875em; }
	header > .container .sp > ul li:first-child a { padding: 6px 8px; }
	header > .container .sp > ul li:nth-child(2) a { padding: 6px 8px; }

	/* ハンバーガーメニュー */
	.menu-trigger { position: relative; width: 24px; height: 21px; top: 1px; }
	.menu-trigger span { position: absolute; left: 0; width: 100%; height: 3px; background-color: #5d4972; }
	.menu-trigger span:nth-of-type(1) { top: 0; }
	.menu-trigger span:nth-of-type(2) { top: 9px; }
	.menu-trigger span:nth-of-type(3) { bottom: 0; }

	/* searchbar */
	header .searchbar ul { text-align: left; }
	header .searchbar ul li { width: 100%; }
	header .searchbar ul li .search dt { -webkit-width: calc( 100% - 90px ); width: calc( 100% - 90px ); }
	header .searchbar ul li .search dd { right: 0; }

	/* gnavi */
	header .gnavi ul li { font-size: 0.875em; }
	header .gnavi ul li a { padding: 10px 15px; }
}

@media screen and (max-width: 374px){
	/* gnavi */

	header > .container .sp > ul li:first-child { font-size: 0.625em; }
	header > .container .sp > ul li { font-size: 0.75em; }
	header > .container #headLogo { width: 90px; }
	header > .container #headLogo a { width: 90px; height: 20px; }
	header .gnavi { width: 70%; }
}

/*------------------------------------------------------
	side
------------------------------------------------------*/
.side .middleBnr { margin-bottom: 40px; }
.side .middleBnr li a { display: inline-block; }
.side .middleBnr li a img { width: 200px; }
.side .middleBnr li:nth-child(1) a img ,
.side .middleBnr li:nth-child(2) a img { height: 104px; }
.side .middleBnr li:nth-child(3) a img ,
.side .middleBnr li:nth-child(4) a img { height: 76px; }
.side .miniBnr { background: #f0edf4; padding: 15px; }
.side .miniBnr li { background: #fff; max-width: 170px; }
.side .miniBnr li:not(:last-child) { margin-bottom: 10px; }
.side .miniBnr li a { display: block; }
.side .miniBnr li a img { width: 100%; }
.side .sideNavi p { background: #c68bb8; color: #fff; text-align: center; font-size: 0.9375em; margin-bottom: 15px; padding: 13px 0; }
.side .sideNavi ul li a { display: block; }
.side .sideNavi > ul > li { border-bottom: 1px solid #c68bb8; margin-bottom: 12px; }
.side .sideNavi > ul > li > a { color: #333; font-size: 1.0625em; font-weight: bolder; margin-bottom: 12px; padding-left: 10px; }
.side .sideNavi > ul > li > ul { margin-top: 15px; }
.side .sideNavi > ul > li > ul li { position: relative; font-size: 14px; margin-bottom: 15px; }
.side .sideNavi > ul > li > ul li::before { content: ""; position: absolute; top: 5px; left: 16px; width: 4px; height: 4px; background: #8456a3; }
.side .sideNavi > ul > li > ul li a { padding-left: 26px; color: #333; }

@media print, screen and (min-width: 769px){
	.side .middleBnr li a:hover ,
	.side .miniBnr li a:hover { opacity: 0.7; }
	.side .sideNavi ul li a:hover { text-decoration: underline; }
}

@media screen and (max-width: 768px){
	.side { display: none !important; }
}

/*------------------------------------------------------
	footer
------------------------------------------------------*/
footer { background: #5d4972; }
footer > .container .linkWrap { float: left; color: #fff; }
footer > .container .linkWrap a { display: inline-block; color: #fff; line-height: 1.4em; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
footer > .container .linkWrap .wrapTitle ,
footer > .container .linkWrap .title { font-size: 1em; font-weight: bolder; }
footer > .container .linkWrap .wrapTitle a { border-left: 5px solid; padding: 4px 0 4px 5px; }
footer > .container .linkWrap ul { float: left; width: 180px; margin: 0 10px; }
footer > .container .linkWrap ul li { font-size: 0.75em; }
footer > .container .linkWrap ul li:not(:last-child) { margin-bottom: 5px; }
footer > .container .linkWrap ul .inlist { line-height: 1.4em; }
footer > .container .linkWrap ul .inlist::before { content: "-"; margin-right: 8px; }

footer > .container .linkWrap:first-child .wrapTitle a { border-color: #93bdd0; }
footer > .container .linkWrap:nth-child(2) .wrapTitle a { border-color: #d39cc1; }
footer > .container .linkWrap:nth-child(3) .wrapTitle a { border-color: #e4b2ea; }
footer > .container .linkWrap:nth-child(4) .wrapTitle a { border-color: #f5e29f; }
footer > .container .linkWrap:nth-child(5) .wrapTitle a { border-color: #93a4ce; }
footer > .container .linkWrap:nth-child(6) .wrapTitle a { border-color: #ddb162; }
footer > .container .linkWrap:nth-child(7) .wrapTitle a { border-color: #dd7f62; }
footer > .container .linkWrap:nth-child(8) .wrapTitle a { border-color: #8bb9a6; }
footer > .container .linkWrap:nth-child(9) .wrapTitle a { border-color: #dd9f62; }
footer > .container .linkWrap:nth-child(10) .wrapTitle a { border-color: #aa9993; }
footer > .container .linkWrap:nth-child(11) .wrapTitle a { border-color: #dd6262; }
footer > .container .linkWrap:nth-child(12) .wrapTitle a { border-color: #999; }
footer > .container .linkWrap:last-child .wrapTitle a { border-color: #999; }

/* 高さ調整 */
footer > .container .linkWrap:nth-child(6) ul { height: 240px; }

footer .footBottom { border-top: 2px solid #b3adc7; color: #fff; }
footer .footBottom .colWrap { padding: 0; }
footer .footBottom .colWrap .col-2 ul li { float: left; }
footer .footBottom .colWrap .col-2 ul li a { display: block; -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); }
footer .footBottom .colWrap .col-2:first-child ul li { margin-right: 20px; }
footer .footBottom .colWrap .col-2:first-child ul:first-child li { font-size: 0.875em; line-height: 1.2em; }
footer .footBottom .colWrap .col-2:first-child ul:last-child li a { display: block; border: 1px solid #fff; color: #fff; padding: 5px 10px; font-size: 0.75em; }
footer .footBottom .colWrap .col-2:last-child ul li { background: #fff; }
footer .footBottom .colWrap .col-2:last-child ul li:last-child { margin-left: 20px; }

footer .copyright { background: #000; color: #fff; text-align: center; font-size: 0.75em; padding: 12px 0; }

@media print, screen and (min-width: 769px){
	footer > .container { padding: 40px 15px; }
	footer > .container .linkWrap:not(:last-child) { margin-bottom: 30px; }
	footer > .container .linkWrap:nth-of-type(2) { margin-bottom: 50px; }
/*	footer > .container .linkWrap:nth-child(7) { display: none;}*/
	footer > .container .linkWrap a { position: relative; }
	footer > .container .linkWrap a::after { position: absolute; content: ""; bottom: 0; left: 0; width: 0; height: 1px; background: #fff; }
	footer > .container .linkWrap a:hover::after { width: 100%; -webkit-transition: all 150ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 150ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	footer > .container .linkWrap .wrapTitle a { margin-bottom: 10px; }

	footer .footBottom { width: 100%; padding: 30px 0; }
	footer .footBottom .colWrap .col-2:first-child ul:first-child li:first-child img { width: 144px; height: 28px; }
	footer .footBottom .colWrap .col-2:first-child ul:last-child li a:hover { background: #8456a3; }
	footer .footBottom .colWrap .col-2:last-child ul { margin: 8px 0; }
	footer .footBottom .colWrap .col-2:last-child ul li a img { width: 230px; height: 50px; }
	footer .footBottom .colWrap .col-2:last-child ul li a:hover { opacity: 0.7; }
}

@media screen and (max-width: 768px){
	footer > .container { width: 100%; padding: 0; }
	footer > .container .linkWrap .wrapTitle a { padding: 12px 10px; }
	footer > .container .linkWrap { width: 50%; border-bottom: 2px solid #3b3049; }
	footer > .container .linkWrap:nth-child(11) ,
	footer > .container .linkWrap:last-child { border-bottom: none; }
	footer > .container .linkWrap:nth-child(11) ,
	footer > .container .linkWrap:nth-child(12) ,
	footer > .container .linkWrap ul { display: none !important; }
	footer > .container .linkWrap a { display: block; }
	footer > .container .linkWrap:nth-child(9) .wrapTitle a { border-color: #dd6262; }

	footer .footBottom .colWrap .col-2:first-child ul:first-child li:first-child img { width: 144px; }
	footer .footBottom .colWrap .col-2:last-child ul li { width: 30%; }
}

@media (max-width: 768px) and (min-width: 481px){
	footer .footBottom { padding: 30px 20px; }
	footer .footBottom .colWrap .col-2:first-child ul:first-child { display: table; }
	footer .footBottom .colWrap .col-2:first-child ul:first-child li { display: table-cell; float: none; vertical-align: middle; }
	footer .footBottom .colWrap .col-2:first-child ul:first-child li:first-child { padding-right: 10px; font-size: 0.75em; }
}

@media screen and (max-width: 480px){
	footer .footBottom { padding: 20px 10px; }
	footer .footBottom .colWrap .col-2:first-child ul:first-child li:first-child { margin-bottom: 5px; }
	footer .footBottom .colWrap .col-2:last-child ul { margin-top: 20px; }
	footer .footBottom .colWrap .col-2:last-child ul li { width: 45%; }
}

@media screen and (max-width: 374px){
	footer > .container .linkWrap .wrapTitle a { font-size: 0.75em; }
}


/*------------------------------------------------------
	トップへ戻る
------------------------------------------------------*/
#pageTop { position: fixed; bottom: 20px; right: 20px; font-size: 0.875em; z-index: 999; background: #666; text-decoration: none; color: #fff; width: 70px; height: 70px; padding-top: 35px; text-align: center; display: block; border-radius: 50%; opacity:0.8; }
#pageTop:hover { text-decoration: none; background: #999; }
#pageTop span { position: relative; }
#pageTop span:before ,
#pageTop span:after { position: absolute; content: ""; display: inline-block; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-top: 2px solid #fff; border-left: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#pageTop span:before { top: -22px; }
#pageTop span:after { top: -15px; }

/*------------------------------------------------------
	カテゴリインデックス
------------------------------------------------------*/
.cateIndex .list01 { padding-left: 10px; }
.cateIndex .list01 > li:not(:first-child) { margin-top: 10px; }
.cateIndex .list01 > li > a { display: inline-block; color: #333; font-weight: bolder; }
.cateIndex .list01 > li > ul > li { float: left; margin-top: 8px; }
.cateIndex .list01 > li > ul > li:not(:last-child)::after { content: "｜"; }

@media print, screen and (min-width: 769px){
	.cateIndex .heading04 a:hover,
	.cateIndex .list01 > li > a:hover { text-decoration: underline; }
}

/*------------------------------------------------------
	コンテンツ
------------------------------------------------------*/
.headCont { background: #f2f0f2; padding: 32px 0 0;}
.headCont .headline { width: 100%; height: 140px; overflow: hidden; text-indent: 100%; white-space: nowrap; }
.contents { margin-bottom: 70px; }

@media print, screen and (min-width: 769px){
	.mainCont { padding: 30px 20px 40px 20px; }
	.mainCont .main { float: left; width: 76%; }
	.mainCont .side { float: right;  width: 20%; margin-left: 40px; }
}

@media screen and (max-width: 768px) {
	.mainCont { padding-top: 20px; }
}

@media screen and (max-width: 480px) {
	.headCont { padding: 18px 0 0; }
}

/*------------------------------------------------------
	ローカルナビ
------------------------------------------------------*/
.localnavi { padding: 10px; background: #f6f4f9; }
.localnavi > li { float: left; text-align: center; background: #fff; border: 1px solid #ccc; }
.localnavi > li a:link { display: block; color: #8456a3; line-height: 1.6em; padding: 3px 0 2px; font-size: 0.875em; }

.localnavi > li.active { border-color: #8456a3; }
.localnavi > li.active a { background: #8456a3; color: #fff; }

@media print, screen and (min-width: 769px){
	.localnavi > li { width: 140px; }
	.localnavi > li:nth-child(n+6) { margin-top: 10px; }
	.localnavi > li:not(:nth-child(5n)) { margin-right: 10px; }
}

@media screen and (max-width: 768px) and (min-width: 481px){
	.localnavi > li { width: 32%; }
	.localnavi > li:nth-child(n+4) { margin-top: 10px; }
	.localnavi > li:nth-child(3n+2) { margin-left: 2%; margin-right: 2%; }
}

@media screen and (max-width: 480px) and (min-width: 375px){
	.localnavi > li { width: 48%; }
	.localnavi > li:nth-child(n+3) { margin-top: 10px; }
	.localnavi > li:nth-child(odd) { margin-right: 2%; }
	.localnavi > li:nth-child(even) { margin-left: 2%; }
}

@media screen and (max-width: 374px){
	.localnavi > li { width: 100%; }
	.localnavi > li:not(:first-child) { margin-top: 10px; }
}

/*------------------------------------------------------
	news
------------------------------------------------------*/
.newsWrap { border: 5px solid #EEE; padding: 10px; }
.newsWrap .title { color: #5D4972; font-size: 1em; border-bottom: 1px solid #DDD; line-height: 1.875em; font-weight: bold; margin-bottom: 10px; }

.news { font-size: 0.875em; /* border-bottom: 1px solid #ccc; */ max-height: 200px; overflow: auto; }
.news span { font-size: 0.75em; }
.news dt ,
.news dt+dd { line-height: 1.4em; }
.news dt { position: relative; font-weight: bold; padding: 6px 0; }
.news dt span { position: absolute; top: 7px; right: 10px; padding: 3px 2px; width: 11em; border-radius: 4px; color: #fff; text-align: center; font-weight: normal; }
.news dt:not(:first-child) { border-top: 1px dotted #ccc; }
.news dt+dd { padding-bottom: 8px; }
.news dt+dd a { color: #333; }

@media print, screen and (min-width: 769px){
	.news { margin: 10px 0; }
	.news dt ,
	.news dt+dd { float: left; }
	.news dt  { width: 36%; }
	.news dt+dd { width: 64%; padding: 6px 0; }
	.news dt:not(:first-child)+dd { border-top: 1px dotted #ccc; }
	.news dt + dd a:hover { text-decoration: underline; }
}

@media screen and (max-width: 768px){
	.news dt span { left: 14em; right: inherit; }
}

/* カテゴリ */
.cate1_1, .cate1_2, .cate1_3, .cate1_4, .cate1_5, .cate1_6, .cate1_7 { background: #dc3b50; }
.cate2_1, .cate2_2, .cate2_3, .cate2_4, .cate2_5, .cate2_6, .cate2_7, .cate2_8, .cate2_9, .cate2_10, .cate2_11, .cate8_2, .cate8_4 { background: #ce5b86; }
.cate3_1, .cate3_2, .cate3_3 { background: #8f37a7; }
.cate4_1, .cate4_2, .cate4_3 { background: #6545ac; }
.cate5_1, .cate5_2, .cate8_5, .cate8_6, .cate8_7 { background: #4d66cf; }
.cate6_1 { background: #5695c2; }
.cate7_1 { background: #75bce4; }
.cate8_1, .cate8_5 { background: #99bc55; }
.cate8_3 { background: #cd8c35; }

.cate1_1::before { content: "神道学科"; }
.cate1_2::before { content: "国文学科"; }
.cate1_3::before { content: "国史学科"; }
.cate1_4::before { content: "コミュニケーション学科"; letter-spacing: -1px; }
.cate1_5::before { content: "教育学科"; }
.cate1_6::before { content: "現代日本社会学科"; }
/* .cate1_7 { content: "社会福祉学科"; } */
.cate2_1::before { content: "図書館"; }
.cate2_2::before { content: "佐川記念神道博物館"; }
.cate2_3::before { content: "神道研究所"; }
.cate2_4::before { content: "史料編纂所"; }
.cate2_5::before { content: "地域福祉文化研究所"; }
.cate2_6::before { content: "教育開発センター"; }
.cate2_7::before { content: "情報ネットワーク"; }
.cate2_8::before { content: "出版部"; }
.cate2_9::before { content: "館友会"; }
.cate2_10::before { content: "萼の会"; }
.cate2_11::before { content: "研究開発推進センター"; }
.cate3_1::before { content: "IR情報"; }
.cate3_2::before { content: "採用情報"; }
.cate3_3::before { content: "学園報アーカイブ"; }
.cate4_1::before { content: "入試説明会"; }
.cate4_2::before { content: "入試結果･合格発表"; }
.cate4_3::before { content: "公開講座"; }
.cate5_1::before { content: "国際交流"; }
.cate5_2::before { content: "クラブ･同好会"; }
.cate6_1::before { content: "教職支援担当"; }
.cate7_1::before { content: "お知らせ"; }
.cate8_1::before { content: "就職担当"; }
.cate8_2::before { content: "百　船"; }
.cate8_3::before { content: "地域連携"; }
.cate8_4::before { content: "大学生テレビ局"; }
.cate8_5::before { content: "ボランティアルーム"; }
.cate8_6::before { content: "学生生活"; }
.cate8_7::before { content: "年間行事日程"; }
.cate8_8::before { content: "神職養成部"; }

.cate-24 { letter-spacing: -1px;}
[class^='cate-'].col-1 { background-color: #dc3b50; }
[class^='cate-'].col-2 { background-color: #ce5b86; }
[class^='cate-'].col-3 { background-color: #8f37a7; }
[class^='cate-'].col-4 { background-color: #6545ac; }
[class^='cate-'].col-5 { background-color: #4d66cf; }
[class^='cate-'].col-6 { background-color: #5695c2; }
[class^='cate-'].col-7 { background-color: #75bce4; }
[class^='cate-'].col-8 { background-color: #99bc55; }
[class^='cate-'].col-9 { background-color: #cd8c35; }

/*------------------------------------------------------
	見出し
------------------------------------------------------*/
/* heading01 */
.heading01 ,
.heading02 ,
.heading03 ,
.heading04 ,
.heading05 ,
.catchStd { line-height: 1.5em; }

/* heading01 */
.heading01 { font-size: 1.75em; letter-spacing: 2px; font-weight: bolder; margin-bottom: 15px; }

/* heading02 */
.heading02 { color: #5d4972; font-size: 1.375em; letter-spacing: 1px; font-weight: bolder; border-bottom: 2px solid #8456a3; width: 100%; padding: 10px 0 10px; }
.heading02 a { color: #5d4972; }

/* heading03 */
.heading03 { font-size: 1.125em; font-weight: bolder; background: #f2f0f2; padding: 5px 0 5px 8px; border-left: 6px solid #8456a3; }

/* heading04 */
.heading04 { font-size: 1.125em; position: relative; font-weight: bolder; color: #8456a3; padding-bottom: 4px; /* border-bottom: 1px dotted #8456a3; */  }
.heading04::after { position: absolute; content: ""; left: 0; bottom: 0; background: #8456a3; background: -moz-linear-gradient(left, #8456a3 0%, #8456a3 25%, transparent 25%); background: -webkit-linear-gradient(left, #8456a3 0%,#8456a3 25%,transparent 25%); background: linear-gradient(to right, #8456a3 0%,#8456a3 25%,transparent 25%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8456a3', endColorstr='transparent',GradientType=1 ); background-size: 5px 1px ; width: 100%; height: 1px; }
.heading04 a { color: #8456a3; }

/* heading05 */
.heading05 { font-weight: bolder;}


/* catchcopy */
.catchStd { font-size: 1.125em; }

.otherfile { color:#ccc; font-weight:bold; font-size:14px; padding-bottom:2px; border-bottom:1px solid #ccc; margin-top: 20px; margin-bottom: 10px; }


@media screen and (max-width: 480px) {
	/* heading01 */
	.heading01 { font-size: 1.5em; margin-bottom: 7px; }

	/* heading02 */
	.heading02 { font-size: 1.25em; }
}


@media screen and (max-width: 374px) {
	/* heading01 */
	.heading01 { font-size: 1.375em; }

	/* heading02 */
	.heading02 { font-size: 1.125em; }
}

/*------------------------------------------------------
	レイアウト
------------------------------------------------------*/
.colWrap { width: 100%; }
.colWrap > div { line-height: 1.4em; }

@media print, screen and (min-width: 769px){
	.colWrap > div { float: left; }
	.colWrap > .col-2 { width: 50%; }
	.colWrap > .col-2:nth-child(n+3) { margin-top: 10px; }
	.colWrap > .col-2:nth-child(odd) ,
	.colWrap > .col-2_3L ,
	.colWrap > .col-1_3L { padding-right: 20px; }
	.colWrap > .col-2:nth-child(even) ,
	.colWrap > .col-2_3R ,
	.colWrap > .col-1_3R { padding-left: 20px; }
	.colWrap > .col-3 { width: 33.33333%; -webkit-width: calc( 100% / 3 ); width: calc( 100% / 3 ); }
	.colWrap > .col-3:nth-child(n+4) { margin-top: 10px; }
	.colWrap > .col-3:nth-child(3n+1) { padding-right: 10px; }
	.colWrap > .col-3:nth-child(3n+2) { padding: 0 5px; }
	.colWrap > .col-3:nth-child(3n) { padding-left: 10px; }
	.colWrap > .col-2_3L ,
	.colWrap > .col-2_3R { width: 66.66666%; -webkit-width: calc( 100% / 3 * 2 ); width: calc( 100% / 3 * 2 ); }
	.colWrap > .col-1_3L ,
	.colWrap > .col-1_3R { width: 33.33333%; -webkit-width: calc( 100% / 3 ); width: calc( 100% / 3 ); }

	/*
	.colWrap > .col-2 img { max-width: 360px; }
	.colWrap > .col-2_3L img ,
	.colWrap > .col-2_3R img { max-width: 490px; }
	.colWrap > .col-1_3L img ,
	.colWrap > .col-1_3R img ,
	.colWrap > .col-3 img { max-width: 240px; }
	*/
	.colWrap > .col-2_3R img ,
	.colWrap > .col-1_3R img { text-align: right; }
	.colWrap > div.img-center { text-align: center; }
	.colWrap > div.img-right { text-align: right; }
}

@media screen and (max-width: 768px){
	.colWrap > div:not(:first-child) { margin-top: 30px; }

	.colWrap > div.img-center ,
	.colWrap > div.img-right { text-align: center; }
}

/*------------------------------------------------------
	テーブル
------------------------------------------------------*/
.table01 { border: 1px solid #5d4972; font-size: 0.875em; }
.table01 th,
.table01 td { padding: 5px 8px; line-height: 1.6em; border: 1px solid #5d4972; font-weight: normal; vertical-align: top; }
.table01 .th01 th { background: #eee; }
.table01 .th02 th { background: #e1dceb; }

.table02 { font-size: 0.875em; }
.table02 tbody tr { border-bottom: 1px dotted #ccc; }
.table02 tbody tr:first-child { border-top: 1px dotted #ccc; }
.table02 th ,
.table02 td { vertical-align: top; }
.table02 tbody th ,
.table02 tbody td { position: relative; padding: 8px 10px; line-height: 1.6em; }
.table02 tbody th a ,
.table02 tbody td a { color: #333; }
.table02 thead tr th { padding-top: 8px; padding-bottom: 8px; background: #d0ccde !important; color: #333; font-weight: bolder; }
.table02 tbody tr:nth-of-type(odd) th,
.table02 tbody tr:nth-of-type(odd) td { background: #f6f4f9; }
.table02 tbody tr:nth-of-type(even) th,
.table02 tbody tr:nth-of-type(even) td { background: #f0edf7; }

@media print, screen and (min-width: 481px){
	.table02 td:last-child { width: 200px; }
}

@media screen and (max-width: 480px){
	/* list-item : 項目名等は::beforeや::afterで加えてください */
	.table01.tabListitem { border: none; list-style: none; }
	.table01.tabListitem tr.text-center ,
	.table01.tabListitem tr.text-right { text-align: left; }
    .table01.tabListitem thead tr { display: none; }
    .table01.tabListitem tbody tr { display: block; }
    .table01.tabListitem tbody tr:not(:last-child) { margin-bottom: 1.5em; }
    .table01.tabListitem tbody tr th,
    .table01.tabListitem tbody tr td { display: list-item; border: none; padding: 5px; }

	.table01.tabOverflow { display: block; position: relative; width: 100%; }
	.table01.tabOverflow th ,
	.table01.tabOverflow td { display: block; border-left: 0; border-right: 0; border-bottom: 0; }
	.table01.tabOverflow th:first-child ,
	.table01.tabOverflow td:first-child { border-top: 0; }
    .table01.tabOverflow thead { display: block; float: left; }
	.table01.tabOverflow thead tr { display: block; }
    .table01.tabOverflow thead tr:first-child { border-right: 1px solid #5d4972; }
    .table01.tabOverflow tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }
    .table01.tabOverflow tbody tr { display: table-cell; vertical-align: top; letter-spacing: -.40em; }
    .table01.tabOverflow tbody tr th ,
    .table01.tabOverflow tbody tr td { letter-spacing: normal; border-color: #ccc !important; }
    .table01.tabOverflow tbody tr:not(:first-child) th ,
    .table01.tabOverflow tbody tr:not(:first-child) td { border-left: 1px solid; }

	.table02 thead { display: none !important; }
	.table02 tr.text-center ,
	.table02 tr.text-right { text-align: left; }
    .table02 tbody tr { display: block; }
    .table02 tbody tr th,
    .table02 tbody tr td { display: list-item; border: none; }
	.table02 tbody tr th { padding-bottom: 0; }
    .table02 tbody tr td:first-of-type { padding-bottom: 5px; }
    .table02 tbody tr td:not(:first-of-type) { padding-top: 0; }

}

/*------------------------------------------------------
	リスト
------------------------------------------------------*/
.listNone { list-style: none; }
.listNone > li { font-size: 0.875em; line-height: 1.6em; }
.listNone > li:not(:first-child) { margin-top: 5px; }

.list01 { list-style: none; }
.list01 > li { position: relative; font-size: 0.875em; padding-left: 10px; line-height: 1.6em; }
.list01 > li::before { position: absolute; top: 9px; left: 0; content: ""; width: 4px; height: 4px; background: #8456a3; }
.list01 > li:not(:first-child) { margin-top: 5px; }
.list01 > li .text { font-size: 1em; }

.list02 { list-style: none; border-bottom: 1px solid #E6E6E6; padding-bottom: 15px; }
.list02 > li { position: relative; float: left; font-size: 0.875em; padding-left: 20px; padding-right: 10px; line-height: 1.6em; }
.list02 > li::before ,
.list02 > li::after { position: absolute; content: ""; margin: auto; }
.list02 > li::before { top: 2px; left: 0; width: 14px; height: 14px; background: #ddd; }
.list02 > li::after { top: 6px; left: 3px; box-sizing: border-box; width: 0; height: 0; border: 4px solid transparent; border-top: 6px solid #8456a3; }

.mainCont ul li ul li ,
.mainCont ul li ol li ,
.mainCont ol li ul li ,
.mainCont ol li ol li { font-size: 14px !important; }
.ol01 { list-style: none; counter-reset: number01; list-style:none; }
.ol01 > li { position: relative; font-size: 0.875em; padding-left: 20px; line-height: 1.6em; }
.ol01 > li::before { position: absolute; top: 4px; left: 0; counter-increment: number01; content: counter(number01)"."; }
.ol01 > li:not(:first-child) { margin-top: 5px; }
.ol02 { list-style: none; counter-reset: number02 0; }
.ol02 > li { position: relative; font-size: 0.875em; padding-left: 20px; line-height: 1.6em; }
.ol02 > li::before { position: absolute; top: 4px; left: 0; counter-increment: number02 1; content: counter(number02, upper-roman)"."; }
.ol02 > li:not(:first-child) { margin-top: 5px; }
.ol03 { list-style: none; counter-reset: number03 0; }
.ol03 > li { position: relative; font-size: 0.875em; padding-left: 20px; line-height: 1.6em; }
.ol03 > li::before { position: absolute; top: 6px; left: 4px; font-size: 10px; counter-increment: number03 1; content: counter(number03); }
.ol03 > li::after { position: absolute; top: 4px; left: 0; content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1px solid #333; }
.ol03 > li:not(:first-child) { margin-top: 5px; }
.ol04 { list-style: none; counter-reset: number04 0; }
.ol04 > li { position: relative; font-size: 0.875em; padding-left: 20px; line-height: 1.6em; }
.ol04 > li::before { position: absolute; top: 4px; left: 0; counter-increment: number04 1; content: counter(number04)")"; }
.ol04 > li:not(:first-child) { margin-top: 5px; }

@media print, screen and (min-width: 769px){
	.list02 > li { width: 33.3333%; -webkit-width: calc( 100% / 3); width: calc( 100% / 3); }
	.list02 > li:nth-child(n+4) { margin-top: 3px; }
	.list02.long > li { width: 50%; }
	.list02.long > li:nth-child(n+3) { margin-top: 3px; }
}

@media screen and (max-width: 768px) and (min-width: 481px){
	.list02 > li { width: 50%; }
	.list02 > li:nth-child(n+3) { margin-top: 3px; }
	.list02.long > li { width: 100%; }
	.list02.long > li:nth-child(2) { margin-top: 0; }
}

@media screen and (max-width: 480px){
	.list02 > li { width: 100%; }
	.list02 > li:not(:first-child) { margin-top: 5px; }
	.list02.long > li:nth-child(2) { margin-top: 5px; }
}

/*------------------------------------------------------
	dl
------------------------------------------------------*/
.dl01 { font-size: 0.875em; border-bottom: 1px solid #ccc; }
.dl01 dt ,
.dl01 dt+dd { line-height: 1.6em; padding: 10px; }
.dl01 dt { font-weight: bolder; }
.dl01 dt:not(:first-child) { border-top: 1px solid #ccc; }

.dl02 { font-size: 0.875em; border-bottom: 1px solid #ccc; }
.dl02 dt ,
.dl02 dt+dd { line-height: 1.4em; padding: 10px; }
.dl02 dt { font-weight: bolder; }
.dl02 dt:not(:first-child) { border-top: 1px solid #ccc; }
.dl02 dt:nth-of-type(odd) ,
.dl02 dt:nth-of-type(odd)+dd { background: #f0edf7; }
.dl02 dt:nth-of-type(even) ,
.dl02 dt:nth-of-type(even)+dd { background: #f6f4f9; }

@media print, screen and (min-width: 769px){
	.dl01 dt ,
	.dl01 dt+dd { float: left; }
	.dl01 dt { width: 28%; clear: both; }
	.dl01 dt:not(:first-child)+dd { border-top: 1px solid #ccc; }
	.dl01 dt+dd { width: 72%; }

	.dl02 dt ,
	.dl02 dt+dd { float: left; }
	.dl02 dt { width: 28%; clear: both; }
	.dl02 dt:not(:first-child)+dd { border-top: 1px solid #ccc; }
	.dl02 dt+dd { width: 72%; }
}

@media screen and (max-width: 768px){
	.dl01 dt { padding-bottom: 0; }

	.dl02 dt { padding-bottom: 0; }
}

/*------------------------------------------------------
	背景色
------------------------------------------------------*/
.bg { padding: 10px; }
.bg.purple { background: #f2e7f2; }
.bg.green { background: #e6efe8; }

/*------------------------------------------------------
	枠
------------------------------------------------------*/
.frame { border: 1px solid; padding: 10px; }
.frame.gray { border-color: #ccc; }
.frame.purple { border-color: #8456a3; }

/*------------------------------------------------------
	ボタン
------------------------------------------------------*/
.button01 { display: block; }
.button01 a { position: relative; display: block; font-size: 1.125em; line-height: 1.6em; padding: 15px 30px 15px 15px; border: 1px solid #ccc; background: #f5f5f5; text-decoration: none !important; }
.button01 a:link { color: #8456a3; }
.button01 a::before,
.button01 a::after { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; content: ""; vertical-align: middle; }
.button01 a::before { right: 10px; width: 16px; height: 16px; border-radius: 50%; background: #8456a3; }
.button01 a::after { right: 16px; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.button01.middle a { padding: 8px 30px 8px 8px; font-size: 1em }
.button01.em a { color: #fff; border: 1px solid #8456a3; background: #8456a3; padding: 7px 30px 7px 15px; }
.button01.em a::before { background: #fff; }
.button01.em a::after { border-color: #8456a3; }

/* 位置 */
.buttonWrap .button01.middle.center { float: none; margin: 0 auto !important; }
.buttonWrap .button01.middle.right { float: none; margin: 0 0 0 auto !important; }

@media print, screen and (min-width: 769px){
	.button01 a { -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	.button01 a:hover { color: #fff; background: #8456a3; border: 1px solid #8456a3; text-decoration: none; }
	.button01 a:hover::before { background: #fff; }
	.button01 a:hover::after { border-top: 1px solid #8456a3; border-right: 1px solid #8456a3; }
	.button01.em a:hover { color: #fff; background: #9d78b5; border-color: #9d78b5; }
	.button01.em a:hover::before { background: #fff; }
	.button01.em a:hover::after { border-color: #9d78b5; }
	.buttonWrap .button01 { float: left; width: 360px; }
	.buttonWrap .button01:nth-child(n+3) { margin-top: 20px; }
	.buttonWrap .button01:nth-child(even) { margin-left: 40px; }
	.buttonWrap .button01.middle:nth-child(3n+1) { margin-left: 0; }
	.buttonWrap .button01.middle:nth-child(3) { margin-top: 0; }
	.buttonWrap .button01.middle { width: 230px; margin-left: 35px; }
	.buttonWrap .button01.mini { -webkit-width: calc( 25% - 10px); width: calc( 25% - 10px); }
	.buttonWrap .button01.mini:nth-child(4n) { margin-left: 10px; }
	.buttonWrap .button01.mini:nth-child(4n+1) { margin-right: 10px; }
	.buttonWrap .button01.mini:nth-child(4n+2) ,
	.buttonWrap .button01.mini:nth-child(4n+2) { margin-left: 5px; margin-right: 5px; }
	.buttonWrap .button01.mini:nth-child(3) ,
	.buttonWrap .button01.mini:nth-child(4) { margin-top: 0; }
}

@media screen and (max-width: 768px){
	.buttonWrap .button01:not(:last-child) { margin-bottom: 10px; }
}

@media screen and (max-width: 768px) and (min-width: 481px){
	.buttonWrap .button01.mini { float: left; width: 48%; }
	.buttonWrap .button01.mini:nth-child(odd) { margin-right: 2%; }
	.buttonWrap .button01.mini:nth-child(even) { margin-left: 2%; }
}


/*------------------------------------------------------
	Google Map
------------------------------------------------------*/
.ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.ggmap iframe,
.ggmap object,
.ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*------------------------------------------------------
	外部リンク
------------------------------------------------------*/
.external::after { color: #8456a3; font-family: 'kogakkan-u' !important; content: " \e904"; }

/*------------------------------------------------------
	icon
------------------------------------------------------*/
.pdf::after ,
.excel::after ,
.word::after { display: inline-block; content: ""; width: 16px; height: 16px; vertical-align: middle; padding-left: 20px; }

.pdf::after { background: url(/common/images/icon_pdf.svg) no-repeat top right; }
.excel::after { background: url(/common/images/icon_excel.svg) no-repeat top right; }
.word::after { background: url(/common/images/icon_word.svg) no-repeat top right; }

/*------------------------------------------------------
	テキスト
------------------------------------------------------*/
.text { font-size: 0.875em; line-height: 1.75em; letter-spacing: 1px; }
.text.indent1 { text-indent: 1em; }
.text.indent-1 { text-indent: -1.5em; padding-left: 1.5em; }

.mincho { font-family: Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif; }
.font-16 { font-size: 16px; }
.font-14 { font-size: 14px; }
.font-12 { font-size: 12px; }
.font-10 { font-size: 10px; }

/*------------------------------------------------------
	img
------------------------------------------------------*/
@media print, screen and (min-width: 769px){
	.img-left { text-align: left; }
	.img-center { text-align: center; }
	.img-right { text-align: right; }
}

@media screen and (max-width: 768px){
	.img-left ,
	.img-center ,
	.img-right { text-align: center; }
}

/*------------------------------------------------------
	パンクズリスト
------------------------------------------------------*/
.breadcrumbs { font-size: 0.75em; text-align: right; margin-bottom: 5px; }
.breadcrumbs li { display: inline; color: #5d4972; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin: 0 0 0 5px; }
.breadcrumbs li a { display: inline-block; color: #5d4972; }

@media print, screen and (min-width: 769px){
	.breadcrumbs li a:hover { text-decoration: underline; }
}

@media screen and (max-width: 480px){
	.breadcrumbs { font-size: 0.625em; }
}

@media screen and (max-width: 374px){
	.breadcrumbs li:not(:last-child)::after { margin: 0 0 0 3px; }
}


/*------------------------------------------------------
	SNS
------------------------------------------------------*/

/* 200226追加　internship.php（インターンシップについて） */
.careerUc { width: 320px; }
.careerUc:hover { opacity: 0.7; }

/* 200317追加 gnavi */
header .gnaviCont ul li.font-10 a{ padding-bottom: 10px; }