@charset "UTF-8";
/* CSS Document */

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

	common css

------------------------------------------------------*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html { width: 100%; overflow-y: scroll; overflow-x: hidden; font-size: 10px; }
body { font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", " 游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic,メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; color: #1E2F35; line-height: 1.8; background-color: #fff; overflow: hidden;}
.container { width: 100%; margin-left: auto; margin-right: auto; position: relative;}

html.fixed {}
html.fixed body { height: 100%; /**/position: fixed; width: 100%;}

ul { list-style: none; }
ol { list-style: decimal; }
img { vertical-align: bottom; width: auto; max-width: 100%; height: auto; }
/*a:link { color: #000; text-decoration: none; }
a:visited { color: #000; }*/
a { color: #3096B7;}
a.fade:hover { text-decoration: none; background-color: #fff; color: #1E2F35; -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }

.pc { display:block; }
.sp { display:none; }

main { display: block; /*background: #FDFDFF;*/ position: relative; }
main::before { content: ""; position: fixed; width: 100%; height: 100%; background-color: #FDFDFF; left: 0; top: 0; z-index: -1;}
section { margin-bottom: 0;}
figure { margin-bottom: 0;}

@media (min-width: 768px) {
    main { padding-bottom: 200px; }
	.container { max-width: 1160px; }
    .contents { padding-top: 50px; }

	a:hover { text-decoration: underline; }
	a img:hover { opacity: 0.8; -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	a[href^="tel:"] { pointer-events: none; }

	body { padding-top: 65px; transition: padding-top 0.2s;}
	body.status-scroll { padding-top: 50px;}
	figure { margin-bottom: 50px;}
}

@media screen and (min-width:768px) and ( max-width:1220px) {
    .container { width: -webkit-calc(100% - 40px); width: calc(100% - 40px);}
}

@media (max-width: 767px) {
    main { padding-bottom: 150px; }
	/*
	html.fixed { overflow-x: hidden; overflow-y: hidden; height: 100%;}
	html.fixed body { height: 100%;}
	*/
	.container { margin-left: 15px; margin-right: 15px; width: auto; }
    .contents { padding-top: 50px; }
	.pc { display: none; }
	.sp { display: block; }

	figure { margin-bottom: 30px;}
}


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

	header

------------------------------------------------------*/
header { color: #fff; z-index: 100;}
header .l_col-head {}
header .l_col-head .logo {}
header .l_col-head .logo a {}
header .l_col-head .logo img { width: 100%; max-width: 160px; height: auto;}
header .l_col-head .logo img:last-child { opacity: 0; height: 24px; width: auto; display: none; margin-left: auto; margin-right: auto;}

header #menu {}

header .l_col-head > nav {}
header .l_col-head > nav .l_col-nav {}
header .l_col-head > nav .l_col-nav li {}
header .l_col-head > nav .l_col-nav li a { color: #fff; text-decoration: none;}
header .l_col-head > nav .l_col-nav li img {}


@media (min-width: 768px) {
	header { background-color: #5C2E7E; position: fixed; width: 100%; left: 0; top: 0; }

	header .l_col-head { height: 65px; margin-left: 60px; margin-right: 20px; transition: height 0.2s; }
	header .l_col-head::before { content: ''; position: absolute; width: 100%; height: 100%; background-color: #5C2E7E; left: 0; top: 0; z-index: 100;}
	header .l_col-head .logo { width: 160px; height: 135px; position: relative; z-index: 100; text-align: center; }
	header .l_col-head .logo a { display: block; height: 135px;}
	header .l_col-head .logo img:first-child {
		animation-name: appear3;
		animation-duration: 0.2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-delay: 0s;
	}
	
	header #menu { width: calc(100% - (160px + 320px));}
	
	header .l_col-head > nav { height: 100%; width: 320px; position: relative; z-index: 100; overflow: hidden; }
	header .l_col-head > nav .l_col-nav { height: 100%; justify-content: flex-end; }/**/
	header .l_col-head > nav .l_col-nav li { font-size: 1.1rem; text-align: center; height: 100%; font-weight: bold; }
	header .l_col-head > nav .l_col-nav li.pc_hide { display: none;}
	header .l_col-head > nav .l_col-nav li a { display: block; height: 100%; width: 80px; padding-top: 8px; transition: all 0.3s;}/**/
	header .l_col-head > nav .l_col-nav li a:hover { background-color: #3096B7; transition: background-color 0.2s;}
	header .l_col-head > nav .l_col-nav li img { display: block; margin-left: auto; margin-right: auto; margin-bottom: 0; }/**/
	
	body.status-scroll header .l_col-head { height: 50px;}
	body.status-scroll header .l_col-head > nav .l_col-nav li a { color: transparent;}
	body.status-scroll header .l_col-head .logo { height: 50px;}
	body.status-scroll header .l_col-head .logo a { height: 50px;}
	body.status-scroll header .l_col-head .logo img:first-child {
		animation-name: appear1;
		animation-duration: 0.3s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-delay: 0s;
	}

	body.status-scroll header .l_col-head .logo img:last-child {
		animation-name: appear2;
		animation-duration: 0.4s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-delay: 0.1s;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}

	/**
		ロゴの位置を隠す
	*/
	@keyframes appear1{
		0% {
			transform: translateY(0px);
			opacity: 1;
			display: block;
		}
		100% {
			transform: translateY(-135px);
			opacity: 0;
			display: none;
		}
	}

	/**
		スクロール時用のロゴを出す
	*/
	@keyframes appear2{
		0% {
			transform: translateY(-100%);
			opacity: 0;
			display: none;
		}
		50% {
			transform: translateY(-100%);
			opacity: 0;
			display: block;
		}
		100% {
			transform: translateY(13px);
			opacity: 1;
			display: block;
		}
	}

	/**
		ロゴが戻る
	*/
	@keyframes appear3{
		0% {
			transform: translateY(-135px);
			opacity: 0;
		}
		100% {
			transform: translateY(0px);
			opacity: 1;
		}
	}


	body.status-scroll header .l_col-head > nav .l_col-nav { justify-content: flex-end;}
	body.status-scroll header .l_col-head > nav .l_col-nav li a { width: 65px; padding-top: 12px;}
	body.status-scroll header .l_col-head > nav .l_col-nav li img { height: 26px; width: auto;}

}

@media (max-width: 767px) {
	header { position: absolute; width: 100%; left: 0; top: 0;}
	header .l_col-head .logo { width: 90px; position: absolute; left: 15px; top: 0; }
	header .l_col-head .logo img:last-child { display: none;}
	
	header .l_col-head > nav { display: none;}

}


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

	menu

------------------------------------------------------*/
#menu { position: relative;}
/* #menuBtn { width: 30px; height: 30px; position: absolute; top: 15px; cursor: pointer; z-index: 100; } */
#menuBtn { position: absolute; cursor: pointer; z-index: 100; }
#menuBtn > p { width: 34px; height: 30px; }
#menuBtn span { background-color: #fff; display: block; height: 1px; position: relative; transition: all 0.15s; }
#menuBtn span:nth-child(1) { top: 5px;}
#menuBtn span:nth-child(2) { top: 14px;}
#menuBtn span:nth-child(3) { top: 23px;}

#menu nav { position: relative; top: -100%; transition: top 0.15s; z-index: 99;}
#menu nav .l_col-menu { border-top: 1px solid #341B46; }
#menu nav .l_col-menu li { background-color: #5C2E7E; border-bottom: 1px solid #341B46; width: 100%; font-weight: bold; }
#menu nav .l_col-menu li a { color: #fff; text-decoration: none; display: block; padding: 8px 40px 8px 10px; position: relative;}
/*#menu nav .l_col-menu > li:nth-child(-n+6) { width: 50%;}*/
#menu nav .l_col-menu > li.decorate { width: 50%; white-space: nowrap; background-color: #853C97;}

#menu nav .l_col-menu li a::after { content: ''; width: 12px; height: 12px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 6px); }
#menu nav .l_col-menu > li:not(.more):nth-child(2n+1) { border-left: 1px solid #341B46;}

#menu nav .l_col-menu li.more {}
#menu nav .l_col-menu li.more > a {}
#menu nav .l_col-menu li.more > a::before,
#menu nav .l_col-menu li.more > a::after { content: ''; position: absolute; right: 18px; top: calc(50% - 2px); width: 16px; height: 2px; background-color: #fff; border: none; transform: rotate(0deg); }
#menu nav .l_col-menu li.more > a::before { transform:rotate(90deg); transition: all 0.15s;}
#menu nav .l_col-menu li.more ul { border-top: 1px solid #341B46; border-left: 1px solid #341B46; display: none; z-index: -1;}
#menu nav .l_col-menu li.more ul li { background-color: #fff;}
#menu nav .l_col-menu li.more ul li a { color: #5C2E7E;}
#menu nav .l_col-menu li.more ul li:not(:first-child) a::after { border-top-color: #5C2E7E; border-right-color: #5C2E7E;}
#menu nav .l_col-menu li.more ul li:first-child { background-color: #5C2E7E;}
#menu nav .l_col-menu li.more ul li:first-child a { color: #fff;}
#menu nav .l_col-menu li.more ul li.heading { background-color: #853C97; padding: 0 10px; line-height: 1.6;}
#menu nav .l_col-menu li.more.active > a { background-color: #3096B7;}
#menu nav .l_col-menu li.more.active > a::before { transform:rotate(0deg);}



#menuBtn.active + nav { top: 65px;}
#menuBtn.active span:nth-child(2) { opacity: 0;}
#menuBtn.active span:nth-child(1) { transform: translateY(10px) rotate(-45deg); }
#menuBtn.active span:nth-child(3) { transform: translateY(-10px) rotate(45deg); }

@media (min-width: 768px) {
	#menu { height: 100%;}
	#menuBtn { transition: padding-top 0.2s,color 0.2s; height: 100%; width: 65px; padding-left: 16px; padding-top: 10px; font-weight: bold; letter-spacing: 0.05rem; }
	#menuBtn:hover { background-color: #3096B7; transition: background-color 0.2s; }
	#menu nav { width: 350px; position: absolute; left: 0; top: -1000px; transition: top 0.2s;}
	#menu nav .l_col-menu { max-height: calc(100vh - 65px); max-height: calc(100dvh - 65px); overflow-y: auto; }
	#menu nav .l_col-menu li { font-size: 1.8rem; }
	#menu nav .l_col-menu li a:hover { background-color: #3096B7; transition: background-color 0.2s;}
	#menu nav .l_col-menu li.more.active ul { display: block; position: absolute; top: 0; left: 350px; width: 100%; max-height: calc(100vh - 65px); max-height: calc(100dvh - 65px); overflow-y: auto; }
	#menu nav .l_col-menu li.more.active ul {
		animation-name: menu-show;
		animation-duration: 0.2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-delay: 0.2s;
		opacity: 0;
	}

	@keyframes menu-show{
		0% {
			opacity: 0;
			left: 0;
		}
		100% {
			opacity: 1;
			left: 350px;
		}
	}

	#menu nav .l_col-menu li.more.close:not(.active) ul {
		animation-name: menu-hide;
		animation-duration: 0.2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		display: block;
		position: absolute;
	}

	@keyframes menu-hide{
		0% {
			width: 100%;
			opacity: 1;
			left: 350px;
			top: 0;
			display: block;
		}
		100% {
			width: 100%;
			opacity: 0;
			left: 0px;
			top: 0;
			display: none;
		}
	}
	#menu nav .l_col-menu li.more ul li:not(:first-child) a:hover { color: #fff;}
	#menu nav .l_col-menu li.more ul li:not(:first-child) a:hover::after { border-top-color: #fff; border-right-color: #fff; }
	#menu nav .l_col-menu li.more ul li.long { line-height: 1.4;}

	body.status-scroll header #menu::before { height: 50px;}
	body.status-scroll header #menuBtn { padding-top: 10px; color: transparent; overflow: hidden; }
	body.status-scroll header #menuBtn.active + nav { top: 50px;}
	body.status-scroll header #menu nav .l_col-menu { max-height: calc(100vh - 50px); max-height: calc(100dvh - 50px); }

	#menuBtn.fast + nav { transition: none;}
}

@media (max-width: 767px) {
	#menu::before { display: none;}
	#menuBtn { display: none;}
	#menu nav { display: none;}
}


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

	footer

------------------------------------------------------*/
footer { background-color: #5C2E7E; color: #fff;}
footer .l_col-foot {}
footer .l_col-foot > div:first-child {}
footer .l_col-foot .logo {}
footer .l_col-foot .logo a { color: #fff; text-decoration: none;}
footer .l_col-foot .logo img {}

footer .l_col-foot .l_col-relatedSites { border-right: 1px solid #B6A1C5; width: 100%;}
footer .l_col-foot .l_col-relatedSites li { border-left: 1px solid #B6A1C5; width: 25%; text-align: center;}
footer .l_col-foot .l_col-relatedSites li a { color: #fff; text-decoration: none; display: block; height: 100%; }
footer .l_col-foot .l_col-relatedSites li img { display: block; margin-left: auto; margin-right: auto; margin-bottom: 4px; }
footer .l_col-foot .l_col-relatedSites li:nth-child(3) { line-height: 1.2;}
footer .l_col-foot .l_col-relatedSites li:nth-child(3) img { margin-bottom: 10px;}
footer .l_col-foot .l_col-relatedSites li:last-child img { height: 44px;}

footer .l_col-foot .l_col-sitemap {}
footer .l_col-foot .l_col-sitemap li {}
footer .l_col-foot .l_col-sitemap li a { color: #fff; text-decoration: none; }

footer .l_col-foot .l_col-groupSites {}
footer .l_col-foot .l_col-groupSites li { border: 1px solid #fff; text-align: center; }
footer .l_col-foot .l_col-groupSites li a { color: #fff; text-decoration: none; display: block;}

footer .l_col-foot .link {}
footer .l_col-foot .l_col-link {}
footer .l_col-foot .l_col-link li { width: 100%; text-align: center;}
footer .l_col-foot .l_col-link li a { color: #fff; text-decoration: none; background-color: #9577AB; display: block;}
footer .l_col-foot .l_col-link li img { vertical-align: -8px; padding-left: 15px; }
footer .l_col-foot .l_col-link li:not(:last-child) { margin-bottom: 10px;}

footer .l_col-foot .link .l_col-frame {}

footer .l_col-foot .l_col-sns {}
footer .l_col-foot .l_col-sns li { width: calc(50% - 3px); text-align: center; margin-bottom: 5px;}
footer .l_col-foot .l_col-sns li a { color: #fff; text-decoration: none; display: block; height: 100%; }
footer .l_col-foot .l_col-sns li img {}
footer .l_col-foot .l_col-sns li:first-child {}
footer .l_col-foot .l_col-sns li:first-child a { background-color: #0071BC;}
footer .l_col-foot .l_col-sns li:nth-child(2) {}
footer .l_col-foot .l_col-sns li:nth-child(2) a { background-color: #06C755;}
footer .l_col-foot .l_col-sns li:nth-child(3) {}
footer .l_col-foot .l_col-sns li:nth-child(3) a { background-color: #EC3A94;}
footer .l_col-foot .l_col-sns li:last-child {}
footer .l_col-foot .l_col-sns li:last-child a { background-color: #805C9A; }
footer .l_col-foot .l_col-sns li:last-child a::before { content: ''; background: url(/common/images/icon_app.svg) no-repeat left top; width: 28px; height: 22px; display: inline-block; vertical-align: bottom; position: relative; z-index: 0;}


footer #copy { font-size: 1.4rem;}

@media (min-width: 768px) {
	footer { padding-top: 70px; padding-bottom: 10px;}
	footer .l_col-foot { max-width: 1600px; margin-left: auto; margin-right: auto; margin-bottom: 20px;}
	footer .l_col-foot > div:first-child { width: calc(100% - (650px + 40px));}
	footer .l_col-foot .logo { margin-bottom: 95px;}
	
	footer .l_col-foot .l_col-relatedSites { /*max-width: 328px;*/ max-width: 370px;}
	footer .l_col-foot .l_col-relatedSites li { font-size: 1.2rem; font-weight: bold;}
	footer .l_col-foot .l_col-relatedSites li a { padding-top: 12px; transition: background-color 0.2s; }
	footer .l_col-foot .l_col-relatedSites li a:hover { background-color: #3096B7;}
	footer .l_col-foot .l_col-relatedSites li img { opacity: 0.6;}

	footer .l_col-foot .l_col-sitemap { justify-content: flex-start; margin-bottom: 18px;}
	footer .l_col-foot .l_col-sitemap li { font-size: 1.4rem; font-weight: bold;}
	footer .l_col-foot .l_col-sitemap li a { position: relative;}
	footer .l_col-foot .l_col-sitemap li a::after { position: absolute; bottom: -5px; left: 0; right: 0; margin: 0 auto; content: ''; width: 100%; height: 1px; background: #fff; transform: scale(0, 1); transform-origin: left; transition: transform .2s; }
	footer .l_col-foot .l_col-sitemap li a:hover::after { transform: scale(1, 1); }
	footer .l_col-foot .l_col-sitemap li:not(:last-child) { margin-right: 55px;}
	
	footer .l_col-foot .l_col-groupSites { max-width: 655px;}
	footer .l_col-foot .l_col-groupSites li { font-size: 1.6rem; font-weight: bold; width: calc(25% - 10px); line-height: 1;}
	footer .l_col-foot .l_col-groupSites li a { padding: 6px 5px; transition: background-color 0.2s; }
	footer .l_col-foot .l_col-groupSites li a:hover { background-color: #3096B7; }
	
	footer .l_col-foot .link { width: 650px;}
	footer .l_col-foot .l_col-link { margin-bottom: 30px; width: 250px; margin-right: 0; margin-left: auto;}
	footer .l_col-foot .l_col-link li { font-size: 2rem;}
	footer .l_col-foot .l_col-link li a { padding: 9px 10px; transition: background-color 0.2s; }
	footer .l_col-foot .l_col-link li a:hover { background-color: #3096B7; }
	
	footer .l_col-foot .l_col-sns { width: 250px;}
	footer .l_col-foot .l_col-sns li { height: 40px;}
	footer .l_col-foot .l_col-sns li a { padding-top: 5px; transition: opacity 0.2s;}
	footer .l_col-foot .l_col-sns li a:hover { opacity: 0.8;}
	footer .l_col-foot .l_col-sns li img:hover { opacity: 1;}
	footer .l_col-foot .l_col-sns li:last-child { font-size: 1.4rem; line-height: 1.1; }
	footer .l_col-foot .l_col-sns li:last-child a { padding-top: 0;}
	footer .l_col-foot .l_col-sns li:last-child a::before { top: 8px;}
	
	footer #copy { max-width: 1600px; margin-left: auto; margin-right: auto; text-align: right;}
}

@media screen and (min-width:768px) and ( max-width:1650px) {
	footer .l_col-foot ,
	footer #copy { margin-left: 20px; margin-right: 20px;}

}

@media screen and (min-width:768px) and ( max-width:1400px) {

	footer .l_col-foot > div:first-child { width: calc(100% - (250px + 40px));}
	footer .l_col-foot .link { width: 250px;}
	footer .l_col-foot .l_col-relatedSites { max-width: 655px; margin-bottom: 45px;}
	footer .l_col-foot .l_col-groupSites li { width: calc(50% - 10px);}
	footer .l_col-foot .l_col-groupSites li:nth-child(n+3) { margin-top: 10px;}
}

@media (max-width: 767px) {
	footer { background-color: #3096B7; }
	footer .l_col-foot { flex-direction: column-reverse; }
	footer .l_col-foot > div:first-child { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px;}
	footer .l_col-foot .logo { display: none;}
	
	footer .l_col-foot .l_col-relatedSites { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px; margin-bottom: 0; border-color: #fff;}
	footer .l_col-foot .l_col-relatedSites li { font-size: 1.2rem; margin-bottom: 0; border-color: #fff;}
	footer .l_col-foot .l_col-relatedSites li a { padding: 5px 0 10px;}

	footer .l_col-foot .l_col-sitemap { margin-bottom: 20px;  }
	footer .l_col-foot .l_col-sitemap li { width: 50%; text-align: center; font-size: 1.1rem; margin-bottom: 0;}
	
	footer .l_col-foot .l_col-groupSites { margin-bottom: 28px;}
	footer .l_col-foot .l_col-groupSites li { width: 100%; font-size: 1.2rem; margin-bottom: 10px;}
	footer .l_col-foot .l_col-groupSites li a { padding: 7px 5px; }
	footer .l_col-foot .l_col-groupSites li:last-child { margin-bottom: 0;}
	
	footer .l_col-foot .link { width: 100%; margin-bottom: 25px;}
	footer .l_col-foot .l_col-link { display: none;}

	footer .l_col-foot .link .l_col-frame { flex-direction: column-reverse; }
	
	footer .l_col-foot .l_col-sns { width: 100%; background-color: #fff; padding: 20px; margin-bottom: 20px;}
	footer .l_col-foot .l_col-sns li a { padding: 5px;}
	footer .l_col-foot .l_col-sns li img { width: 25px; height: auto;}
	footer .l_col-foot .l_col-sns li:last-child { font-size: 1.1rem; letter-spacing: 1px; }
	footer .l_col-foot .l_col-sns li:last-child a { padding-top: 7px;}
	
	footer #copy { text-align: center; padding: 11px 5px; background-color: #5C2E7E;     padding-bottom: 70px; }
}


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

    pageTop

------------------------------------------------------*/
#page-top { position: fixed; bottom:20px; right:20px; z-index:999; }
#page-top a { background: rgba(0,0,0,0.5); text-decoration: none; width:48px; height: 48px; text-align:center; display: block; transition: all 0.2s; }
#page-top a::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; margin: -4px auto 0; transform: rotate(-45deg); border-top: 2px solid #fff; border-right: 2px solid #fff; width: 15px; height: 15px; }

@media (min-width: 768px) {
    #page-top a:hover { text-decoration:none; opacity: 0.8; }
}

@media (max-width: 767px) {
	#page-top { display: none;}
}


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

	fixedFooter

------------------------------------------------------*/
#fixedFooter { background-color: #5C2E7E; color: #fff; position: fixed; width: 100%; left: 0; bottom: 0; z-index: 101;}
#fixedFooter .l_col-nav {}
#fixedFooter .l_col-nav li { text-align: center; width: 20%; margin-bottom: 0;}
#fixedFooter .l_col-nav li a { color: #fff; text-decoration: none; height: 60px; display: block; padding-top: 5px;}
#fixedFooter .l_col-nav li a.active { position: relative;}
#fixedFooter .l_col-nav li a.active::after { content: 'Close'; position: absolute; width: 100%; height: 100%; background: url(/common/images/icon_close.svg) no-repeat center 8px #99B3C2; background-size: 32px auto; left: 0; top: 0; padding-top: 37px; }
#fixedFooter .l_col-nav li img { display: block; margin-left: auto; margin-right: auto;}


#footMenuSNS { /*background-color: rgba(92,46,126,0.9);*/ border-top: 1px solid #fff; display: none; padding: 30px 20px; /*position: fixed; width: 100%; left: 0; bottom: -200px;*/ transition: bottom 0.3s; z-index: 2; }
#footMenuSNS .l_col-footMenuSns {}
#footMenuSNS .l_col-footMenuSns li { width: 25%; text-align: center; margin-bottom: 20px;}
#footMenuSNS .l_col-footMenuSns li a { color: #fff; text-decoration: none;}
#footMenuSNS .l_col-footMenuSns li img {}
#footMenuSNS .l_col-footMenuSns li:last-child { width: 100%; text-align: left; margin-bottom: 0; font-size: 1.2rem; margin-left: calc(25% / 2 - 15px);}
#footMenuSNS .l_col-footMenuSns li:last-child a { background: url(/common/images/icon_app.svg) no-repeat left center; padding: 5px 0 5px 48px; min-height: 22px;}
#footMenuSNS.active { bottom: 60px; }



#footMenuGlobalNav { background-color: rgba(92,46,126,0.9);  padding: 0; position: fixed; width: 100%; left: 0; bottom: 60px; height: calc(100vh - 60px); height: calc(100dvh - 60px); bottom: -100%; transition: bottom 0.3s; z-index: 100; }

#footMenuGlobalNav > div { overflow-y: auto; height: calc(100vh - 60px - 40px); height: calc(100dvh - 60px - 40px);}
#footMenuGlobalNav nav:nth-child(1) {}
#footMenuGlobalNav nav .l_col-menu { justify-content: center;}
#footMenuGlobalNav nav .l_col-menu li { width: 100%; margin-bottom: 0; border-bottom: 1px solid #341B46; font-size: 1.6rem;}
#footMenuGlobalNav nav .l_col-menu li a { color: #fff; text-decoration: none; display: block; position: relative;}
#footMenuGlobalNav nav .l_col-menu li a::before { content: ''; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 26px; top: calc(50% - 6px); }
#footMenuGlobalNav nav .l_col-menu > li.decorate { width: calc(50% - 20px); border-left: 1px solid #fff; border-bottom: 1px solid #fff; text-align: center; font-size: 1.2rem; border-right: 1px solid #fff; }
#footMenuGlobalNav nav .l_col-menu > li.decorate a { padding: 8px 5px;}
#footMenuGlobalNav nav .l_col-menu > li.decorate:nth-child(2n+2) { border-right: 1px solid #fff;}
#footMenuGlobalNav nav .l_col-menu > li.decorate:nth-last-child(6),
#footMenuGlobalNav nav .l_col-menu > li.decorate:nth-last-child(5) { border-top: 1px solid #fff; margin-top: 20px;}

#footMenuGlobalNav nav .l_col-menu > li:not(.more):not(.decorate) a { padding: 5px 10px 5px 20px; }

#footMenuGlobalNav nav .l_col-menu li.more {}
#footMenuGlobalNav nav .l_col-menu li.more > a { padding: 8px 45px 8px 20px;}
#footMenuGlobalNav nav .l_col-menu li.more > a::before,
#footMenuGlobalNav nav .l_col-menu li.more > a::after { content: ''; position: absolute; right: 22px; top: calc(50% - 1px); width: 14px; height: 2px; background-color: #fff; border: none; transform: rotate(0deg); }
#footMenuGlobalNav nav .l_col-menu li.more > a::before { transform:rotate(90deg); transition: all 0.15s; }
#footMenuGlobalNav nav .l_col-menu li.more ul { display: none;}
#footMenuGlobalNav nav .l_col-menu li.more ul li {}
#footMenuGlobalNav nav .l_col-menu li.more ul li.heading { background-color: #853C97; padding: 0 5px; line-height: 1.6;}
#footMenuGlobalNav nav .l_col-menu li.more ul li:last-child { border-bottom: none;}
#footMenuGlobalNav nav .l_col-menu li.more ul li a { padding: 5px 40px 5px 5px;}
#footMenuGlobalNav nav .l_col-menu li.more.active ul { display: block; padding-left: 2em;}
#footMenuGlobalNav nav .l_col-menu li.more.active > a { background-color: #3096B7; }
#footMenuGlobalNav nav .l_col-menu li.more.active > a::before { transform:rotate(0deg); }

#footMenuGlobalNav nav:nth-child(3) { border-top: 1px solid #fff; }
#footMenuGlobalNav nav .l_col-nav {}
#footMenuGlobalNav nav .l_col-nav li { width: 25%; text-align: center; margin-bottom: 0;}
#footMenuGlobalNav nav .l_col-nav li:first-child { display: none;}
#footMenuGlobalNav nav .l_col-nav li a { color: #fff; text-decoration: none; display: block; padding: 10px 0; }
#footMenuGlobalNav nav .l_col-nav li img { display: block; margin-left: auto; margin-right: auto; height: 28px; }
#footMenuGlobalNav nav .l_col-nav li.sp_hide { display: none;}

#footMenuGlobalNav.active { bottom: 60px;}

@media (min-width: 768px) {
	#fixedFooter { display: none;}
	#footMenuSNS { display: none; }
	#footMenuGlobalNav { display: none;}
}

@media (max-width: 767px) {

}


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

	title

------------------------------------------------------*/
.title-a { color: #5C2E7E; font-weight: bold; position: relative; line-height: 1.5; letter-spacing: 0.2rem; }
.title-a span { opacity: 0; display: inline-block;}
.title-a::before ,
.title-a::after { content: ''; width: 0%; height: 3px; position: absolute; background-color: #D7E1E7; left: 0; top: 0;}
.title-a::before {}
.title-a::after { width: 63px; background-color: #5C2E7E; }

.title-b { color: #5C2E7E; text-align: center; font-weight: bold; position: relative; line-height: 1.5; letter-spacing: 0.2rem;}
.title-b span { opacity: 0; display: block;}
.title-b small { display: block; letter-spacing: normal;}
.title-b::before ,
.title-b::after { content: ''; width: 63px; height: 3px; position: absolute; background-color: #5C2E7E; left: 0; top: 0; right: 0; bottom: auto; margin: auto; }
.title-b::before { background-color: #D7E1E7;}

.title-c { font-weight: bold; position: relative; font-size: 2.2rem; padding-bottom: 8px; margin-bottom: 10px; line-height: 1.5; letter-spacing: 0.1rem; }
.title-c::after { content: ''; position: absolute; width: 30px; height: 3px; background-color: #5C2E7E; left: 0; bottom: 0; }

.title-d { color: #5C2E7E; font-weight: bold; font-size: 1.8rem; line-height: 1.5; margin-bottom: 10px; letter-spacing: 0.1rem;}
.title-d a { color: #5C2E7E !important;}
.title-e { font-weight: bold; font-size: 1.6rem; line-height: 1.5; margin-bottom: 10px; }


.title-f { color: #5C2E7E; position: relative; font-weight: normal; padding-left: 36px; line-height: 1.6;}
.title-f::before { content: ''; position: absolute; width: 16px; height: 100%; background-color: #5C2E7E; left: 0; top: 0; }
.title-f::after { content: ''; position: absolute; width: 16px; height: 16px; background-color: #3096B7; left: 0; top: 0; }


.title-g { background-color: #F0F5F8; font-weight: bold; position: relative; margin-bottom: 20px; line-height: 1.6;}
.title-g span { background-color: #3096B7; color: #fff; font-size: 1.6rem; font-weight: bold; display: inline-block; line-height: 1; text-align: center; position: absolute; left: -10px; top: 13px; padding-top: 9px; }
.title-g span::before { content: ''; position: absolute; bottom: 100%; left: 0; width: 0px; height: 0px; border: none; border-top: 8px solid transparent; border-right: 10px solid #26738C;}
.title-g span::after {}



/**
	title-a
	animation
*/
.title-a.animation-on span {
	animation-name: title-animation-2;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.4s;	
}
.title-a.animation-on::before {
	animation-name: title-animation-1_2;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;	
}

/**
	左から右
*/
@keyframes title-animation-1{
	0% {
		opacity: 0;
		transform: translateX(-20px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/**
	width 0%から100%
*/
@keyframes title-animation-1_2{
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}


/**
	title-b
	animation
*/
.title-b.animation-on span {
	animation-name: title-animation-2;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.4s;	
}

.title-b.animation-on::before {
	animation-name: title-animation-2_2;
	animation-duration: 0.68s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;	
}

/**
	下から上
*/
@keyframes title-animation-2{
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/**
	width 0%から100%。そして消える
*/
@keyframes title-animation-2_2{
	0% {
		width: 0%;
		opacity: 1;
	}
	70% {
		width: 100%;
		opacity: 1;
	}
	100% {
		width: 100%;
		opacity: 0;
	}
}


/**
	js-fade-left
	animation
*/
.js-fade-left { opacity: 0;}
.js-fade-left.animation-on {
	animation-name: title-animation-1;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;	
}


/**
	js-fade-up
	animation
*/
.js-fade-up { opacity: 0;}
.js-fade-up.animation-on {
	animation-name: title-animation-2;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;	
}


/**
	js-fade
	animation
*/
.js-fade { opacity: 0;}
.js-fade.animation-on {
	animation-name: title-animation-3;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.5s;	
}
@keyframes title-animation-3{
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


@media (min-width: 768px) {
	.title-a { font-size: 3rem; margin-bottom: 50px; padding-top: 50px;}
	
	.title-b { font-size: 3rem; margin-bottom: 50px; padding-top: 50px;}
	.title-b small { font-size: 1.4rem; }
	
	.title-c a:hover { text-decoration: underline;}
	
	.title-d a:hover { text-decoration: underline;}
	.title-e a:hover { text-decoration: underline;}

	.title-f { font-size: 3rem; margin-bottom: 50px;}

	.title-g { font-size: 2.2rem; /*padding: 10px 20px 10px 135px; */ padding: 14px 20px 13px 135px; }
	.title-g span { width: 120px; height: 35px; }

	#index .title-a.container { max-width: 1400px;}
}
@media screen and (min-width: 768px) and (max-width: 1450px) {
	#index .title-a.container { max-width: calc(100% - 40px);}
}

@media (max-width: 767px) {
	.title-a { font-size: 2.4rem; margin-bottom: 30px; padding-top: 30px; }
	
	.title-b { font-size: 2.4rem; margin-bottom: 40px; padding-top: 30px; }
	.title-b small { font-size: 1.2rem; }

    .title-c { font-size: 1.8rem; }

	.title-f { font-size: 2.4rem; margin-bottom: 30px; padding-left: 28px;}
	.title-f::before { width: 10px;}
	.title-f::after { width: 10px;}

	.title-g { font-size: 1.8rem; /*padding: 10px 15px 10px 95px;*/ padding: 14px 15px 14px 95px; }
	.title-g span { width: 120px; height: 35px; width: 90px; height: 30px; font-size: 1.4rem; }

}


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

	parts

------------------------------------------------------*/
.text { margin-bottom: 15px; }
.text p { font-size: 1.6rem;}
.text strong {}
.text strong.red { font-weight: normal; color: #EC3A94;}
.text a { color: #3096B7; text-decoration: underline;}
.text a:visited { color: #5C2E7E;}

.l_col-6 { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

hr { border-top-color: #D7E1E7; margin: 30px 0;}




/*
.pdf { padding-right: 30px; background: url(/common/images/icon_pdf.svg) no-repeat right top; min-height: 24px; display: inline-block; font-size: 1.6rem;}
.excel { padding-right: 30px; background: url(/common/images/icon_excel.svg) no-repeat right top; min-height: 24px; display: inline-block; font-size: 1.6rem; }
.word { padding-right: 30px; background: url(/common/images/icon_word.svg) no-repeat right top; min-height: 24px; display: inline-block; font-size: 1.6rem; }
.blank { padding-right: 22px; background: url(/common/images/icon_blank.svg) no-repeat right 4px; min-height: 22px; display: inline-block; font-size: 1.6rem; }
*/
.pdf { position: relative; font-size: 1.6rem; word-wrap:break-word;}
.pdf::after { content: ''; background: url(/common/images/icon_pdf.svg) no-repeat left top; position: absolute; width: 22px; height: 24px; background-size: 100% auto; bottom: 0; margin-left: 8px; }

.excel { position: relative; font-size: 1.6rem; word-wrap:break-word;}
.excel::after { content: ''; background: url(/common/images/icon_excel.svg) no-repeat left top; position: absolute; width: 18px; height: 24px; background-size: 100% auto; bottom: 0; margin-left: 8px; }

.word { position: relative; font-size: 1.6rem; word-wrap:break-word;}
.word::after { content: ''; background: url(/common/images/icon_word.svg) no-repeat left top; position: absolute; width: 18px; height: 24px; background-size: 100% auto; bottom: 0; margin-left: 8px; }

.blank { position: relative; font-size: 1.6rem; word-wrap:break-word;}
.blank::after { content: ''; background: url(/common/images/icon_blank.svg) no-repeat left top; position: absolute; width: 15px; height: 15px; background-size: 100% auto; bottom: 0; margin-left: 5px; }


@media (min-width: 768px) {
	.text a:hover { text-decoration: none;}

	.l_col-2 > *:nth-child(n+3) { margin-top: 5px;}
	.l_col-3 > *:nth-child(n+4) { margin-top: 5px; }
	.l_col-2-l { }
	.l_col-2-l > *:first-child { width: calc( ((100% / 3) * 2) - 13.33px ); }
	.l_col-2-l > *:last-child { width: calc( (100% / 3) - 26.66px ); }
	.l_col-2-r { }
	.l_col-2-r > *:first-child { width: calc( (100% / 3) - 26.66px ); }
	.l_col-2-r > *:last-child { width: calc( ((100% / 3) * 2) - 13.33px ); }

	.l_col-3-l { }
	.l_col-3-l > *:first-child { width: calc( ((100% / 4) * 3) - 13.33px ); }
	.l_col-3-l > *:last-child { width: calc( (100% / 4) - 26.66px ); }
	.l_col-3-r { }
	.l_col-3-r > *:first-child { width: calc( (100% / 4) - 26.66px ); }
	.l_col-3-r > *:last-child { width: calc( ((100% / 4) * 3) - 13.33px ); }

	.l_col-4-l { }
	.l_col-4-l > *:first-child { width: calc( ((100% / 5) * 4) - 13.33px ); }
	.l_col-4-l > *:last-child { width: calc( (100% / 5) - 26.66px ); }
	.l_col-4-r { }
	.l_col-4-r > *:first-child { width: calc( (100% / 5) - 26.66px ); }
	.l_col-4-r > *:last-child { width: calc( ((100% / 5) * 4) - 13.33px ); }

	
	.l_col-6 > * { width: calc( (100% / 6) - 30px ); margin-right: 36px; }
	.l_col-6 > *:last-child { margin-right: 0;}

	figure.single { max-width: 800px; margin-left: auto; margin-right: auto;}
	figure.single img { width: 100%; height: auto;}

}

@media (max-width: 767px) {
    .text { padding-left: 10px; padding-right: 10px;} 

    /*[class*="l_col-"] > *:not(:last-child) { margin-bottom: 0px; }*/
    /*[class*="l_col-"] figure { margin-bottom: 0; }*/

	.l_col-6 > * { width: calc( (100% / 2) - 8px ); }
	.l_col-6 > *:nth-child(2n+1) { margin-right: 15px;}

}


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

	list

------------------------------------------------------*/
.list-a { list-style-type: none; margin-top: 30px; margin-bottom: 50px;}
.list-a li { position: relative; font-size: 1.8rem; padding-left: 25px; line-height: 1.5;}
.list-a li::before { content: ''; position: absolute; width: 10px; height: 10px; background-color: #5C2E7E; transform: rotate(45deg); left: 7px; top: calc(1em - 10px); }
.list-a li:not(:last-child) { margin-bottom: 5px;}
.list-a li:last-child { margin-bottom: 0;}
.list-a li a { color: #3096B7;}

.list-b { list-style-type: none; margin-top: 30px; margin-bottom: 50px;}
.list-b li { position: relative; font-size: 1.6rem; padding-left: 25px; line-height: 1.5;}
.list-b li::before { content: ''; position: absolute; width: 6px; height: 6px; background-color: #ccc; left: 11px; top: calc(1em - 7px); border-radius: 50%; }
.list-b li:not(:last-child) { margin-bottom: 5px;}
.list-b li a { color: #3096B7;}

@media (min-width: 768px) {
	.list-a li a:hover ,
	.list-b li a:hover { text-decoration: none;}
}

@media (max-width: 767px) {
	.list-a li { font-size: 1.6rem;}
}


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

	btn

------------------------------------------------------*/
.btn-a a ,
.btn-b a ,
.btn-c a ,
.btn-d a ,
.btn-e a ,
.btn-e span { text-decoration: none !important; display: block; position: relative; font-weight: bold; }

.btn-a {}
.btn-a a { border: 1px solid #C7CED2; background-color: #fff; color: #1E2F35; }
.btn-a a::before { content: ''; position: absolute; right: 0; top: 0; width: 20px; height: 100%; background-color: #E3ECF1;}
.btn-a a::after { content: ''; width: 6px; height: 6px; border-top: 2px solid #5C2E7E; border-right: 2px solid #5C2E7E; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 8px; top: calc(50% - 3px); }

.btn-b {}
.btn-b a { color: #fff; background-color: #5C2E7E; font-size: 1.6rem; text-align: center; padding: 10px 20px; max-width: 260px; border: 1px solid #5C2E7E;}
.btn-b a::before {}
.btn-b a::after { content: ''; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 10px; top: calc(50% - 5px); }

.btn-c {}
.btn-c a { color: #5C2E7E; background-color: #fff; font-size: 1.6rem; text-align: center; padding: 11px 20px; max-width: 260px; border: 1px solid #5C2E7E; }
.btn-c a::before {}
.btn-c a::after { content: ''; width: 10px; height: 10px; border-top: 2px solid #5C2E7E; border-right: 2px solid #5C2E7E; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 10px; top: calc(50% - 5px); }

.btn-d {}
.btn-d a { color: #5C2E7E; background: url(/common/images/icon_blank.svg) no-repeat right+10px center #fff; font-size: 1.6rem; text-align: center; padding: 11px 30px 11px 20px; max-width: 260px; border: 1px solid #5C2E7E; text-indent: 10px; }
.btn-d a::before {}
.btn-d a::after {}

.btn-e {}
.btn-e a,
.btn-e span { display: none; color: #fff; background-color: #5C2E7E; font-size: 1.4rem; text-align: center; padding: 3px 10px 5px 0; max-width: 75px; line-height: 1; border: 1px solid #5C2E7E; }
.btn-e a::before,
.btn-e span::before {}
.btn-e a::after,
.btn-e span::after { content: ''; width: 6px; height: 6px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 10px; top: calc(50% - 3px); }

.l_col-tab { justify-content: flex-start;}
.l_col-tab > button { padding: 0; border: none; outline: none; font: inherit; color: inherit; background: none; border: 1px solid #3096B7; display: block; width: 100%; max-width: 260px; font-size: 1.6rem; color: #3096B7; font-weight: bold; background-color: #fff; }
.l_col-tab > button.active { color: #fff; background-color: #3096B7; }
.l_col-tab > button:not(:last-child) { margin-right: 20px;}


@media (min-width: 768px) {
	.btn-a a { /*transition: color 0.4s,background-color 0.4s; font-size: 1.8rem; padding: 23px 10px 23px 40px; max-width: 360px;*/ transition: color 0.4s,background-color 0.4s; font-size: 1.8rem; padding: 0 50px 0 40px; max-width: 360px; min-height: 80px; display: inline-flex; width: 100%; align-items: center; }
	.btn-a a::before { transition: background-color 0.4s; }
	.btn-a a:hover { color: #5C2E7E; background-color: #E3ECF1; }
	.btn-a a:hover::before { background-color: #fff; }
	
	.btn-b a { transition: color 0.4s,background-color 0.4s,border-color 0.4s; }
	.btn-b a:hover { background-color: #F0EAF5; color: #5C2E7E; }
	.btn-b a:hover::after { border-color: #5C2E7E; }
	
	.btn-c a { transition: background-color 0.4s; }
	.btn-c a:hover { background-color: #F0EAF5; }
	
	.btn-d a { transition: background-color 0.4s; }
	.btn-d a:hover { background-color: #F0EAF5; }
	
	.btn-e a,
	.btn-e span { transition: color 0.4s,background-color 0.4s,border-color 0.4s; }
	.btn-e a:hover,
	.btn-e span:hover { background-color: #F0EAF5; color: #5C2E7E; }
	.btn-e a:hover::after,
	.btn-e span:hover::after { border-color: #5C2E7E; }

	.l_col-tab > button { cursor: pointer; transition: background-color 0.4s,border-color 0.4s,color 0.4s; padding: 9px 5px; }
	.l_col-tab > button:hover { background-color: #99B3C2; border-color: #99B3C2; color: #fff;}
}

@media (max-width: 767px) {
	.btn-a a { font-size: 1.4rem; /*padding: 16px 30px 16px 20px;*/padding: 10px 30px 10px 10px; }

	[class^='btn-'] span.pdf { padding-right: 25px;}

	.l_col-tab > button { width: calc(50% - 8px); margin-bottom: 0 !important; height: auto; padding: 15px 5px; line-height: 1.6; }
	.l_col-tab > button:not(:last-child) { margin-right: 15px;}
}



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

	table

------------------------------------------------------*/
table.table-a { width: 100%; font-size: 1.6rem; table-layout: fixed; border-left: 1px solid #C7CED2; border-top: 1px solid #C7CED2; margin-top: 30px; margin-bottom: 50px;}
table.table-a th,
table.table-a td { border-bottom: 1px solid #C7CED2; border-right: 1px solid #C7CED2; text-align: center; font-weight: normal; padding: 10px 10px; }
table.table-a thead {}
table.table-a thead th { background-color: #D7E1E7;}
table.table-a tbody th { background-color: #F0F5F8;}
table.table-a tbody td { text-align: left; }

table.table-b { border-left: 1px solid #C7CED2; border-top: 1px solid #C7CED2; }
table.table-b th,
table.table-b td {  border-bottom: 1px solid #C7CED2; border-right: 1px solid #C7CED2; }
table.table-b th { text-align: left; background-color: #F0F5F8; font-weight: normal;}
table.table-b td {}

@media (min-width: 768px) {
	table.table-b { font-size: 1.6rem; margin-top: 30px; margin-bottom: 50px; }
	table.table-b th,
	table.table-b td { padding: 6px 12px; }
}

@media (max-width: 767px) {
	table.table-a { font-size: 1.4rem; width: 100%;}
	table.table-a th,
	table.table-a td { padding: 6px 5px; }

	table.table-b { font-size: 1.4rem; margin-top: 20px; margin-bottom: 30px; width: 100%; }
	table.table-b th,
	table.table-b td { padding: 6px 8px; }

}



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

	bg

------------------------------------------------------*/
.bg-red { background-color: #f9ebe4; padding: 20px;}
.bg-blue { background-color: #F0F5F8; padding: 20px;}
.bg-purple { background-color: #f2e7f2; padding: 20px;}
.bg-green { background-color: #e6efe8; padding: 20px;}

.bg-gradation { background: none; position: relative; padding: 0;}
.bg-gradation::before { content: ''; position: absolute; width: 100%; /*height: 320px;*/ height: 600px; /*background: rgb(255,255,255); background: linear-gradient(180deg, rgba(240,245,248,1) 50%, rgba(255,255,255,1) 90%);*/ left: 0; top: 0; /*z-index: -1;*/ }


/* #index .bg-gradation::before { background: linear-gradient(180deg, rgba(240,245,248,1) 0%, rgba(248,250,252,1) 100%); } */
#index .bg-gradation::before { background: rgb(240,245,248); background: linear-gradient(180deg, rgba(240,245,248,1) 0%, rgba(253,253,255,1) 100%); }


@media (min-width: 768px) {
    #index .bg-gradation { padding-top: 95px; }
    
    .bg-gradation.short::before { height: 200px; }
}

@media (max-width: 767px) {
    #index .bg-gradation { padding-top: 40px; }
    
	.bg-gradation::before { height: 600px;}
    .bg-gradation.short::before { height: 60px; }
}


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

	annotation

------------------------------------------------------*/
.annotation { padding: 10px;}
.annotation ul { line-height: 1.6;}
.annotation ul li { font-size: 1.6rem; text-indent: -1em; padding-left: 1em;}
.annotation ul li::before { content: '※';}
.annotation ul li:not(:last-child) { margin-bottom: 8px;}

.annotation.bg-red,
.annotation.bg-blue,
.annotation.bg-purple,
.annotation.bg-green { padding: 20px;}

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}


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

	frame

------------------------------------------------------*/
.frame { border: 1px solid #ccc; padding: 10px;}

.attention { position: relative; }
.attention::before { content: ''; opacity: 0; background-color: #F0F5F8; position: absolute; z-index: -1; }
.attention::after { content: ''; opacity: 0; position: absolute; width: 100%; height: 100%; background-color: #D7E1E7; left: 0; top: 0; z-index: -1;}
#index .attention .l_col-index section,
#index .attention .l_col-index-small section { background-color: #fff; box-shadow: 0px 0px 10px 5px rgba(51,51,51,0.05);}


.attention.animation-on::after {
	animation-name: animation-slide-right;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;		
}

.attention.animation-on::before {
	animation-name: animation-slide-left;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.3s;		
}


.attention.animation-on .title-a span {
	animation-name: title-animation-2;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.6s;
}

.attention.exchange.animation-on::after {
	animation-name: animation-slide-left;
}
.attention.exchange.animation-on::before {
	animation-name: animation-slide-right;
}



@media (min-width: 768px) {
	.attention { padding: 0 0px 100px 0px; width: calc(100% - 50px); margin-left: auto; margin-right: 0; }
	.attention::before { width: calc(100% - 50px); height: 100%; left: -50px; bottom: -50px; }
	.attention > * { position: relative; left: -25px; }
	
	.attention.exchange { margin-right: auto; margin-left: 0; }
	.attention.exchange::before { left: auto; right: -50px;}
	.attention.exchange > * { left: 25px; }

	#index .attention .l_col-index-small section { width: calc(50% - 20px); margin-right: 0;}
	#index .attention .l_col-index-small section:not(:nth-child(3n+4)) { margin-right: 0;}
	#index .attention .l_col-index-small section:nth-child(odd) { margin-right: 40px;}
}

@media screen and (min-width:768px) and ( max-width:1650px) {
	.attention { padding: 0 150px 100px 100px; }
	.attention > * { left: 0;}

	.attention.exchange { padding: 0 100px 100px 150px; }
	.attention.exchange > * { left: 0;}
}

@media screen and (min-width:768px) and ( max-width:1450px) {
	#index .attention > * { max-width: none !important; width: 100% !important;}

	#index .attention .l_col-index-small section:not(:nth-child(3n+3)) { margin-right: 0;}
	#index .attention .l_col-index-small section:nth-child(odd) { margin-right: 40px;}
}


@media (max-width: 767px) {
	.attention { /*padding: 0 0 50px;*/ }
	.attention::before { height: 40px; left: 0; bottom: -40px; width: 100%; }
}



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

	max-width

------------------------------------------------------*/
.w800 {}

@media (min-width: 768px) {
	.w960 { max-width: 960px; margin-left: auto; margin-right: auto;}
	.w800 { max-width: 800px; margin-left: auto; margin-right: auto;}
}

@media (max-width: 767px) {

}


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

	page-title

------------------------------------------------------*/
#page-title { background: url(/common/images/st_pagetitle.jpg) no-repeat center center; background-size: cover;}
#page-title .container { text-align: center; color: #fff;}
#page-title .container > * { font-weight: normal; letter-spacing: 0.1rem;}
#page-title .container > * span { display: block; font-weight: bold; position: relative; padding-top: 7px;}
#page-title .container > * span::before { content: ''; width: 54px; height: 2px; background-color: #D9D9D9; position: absolute; left: 0; right: 0; bottom: auto; margin: auto;}

#page-title.short {}
#page-title.short .container > * { line-height: 1.2; padding-top: 30px; }
#page-title.short .container > * span { position: absolute; top: 0; left: 0; right: 0; padding-top: 0; font-size: 2.4rem; font-weight: normal;}
#page-title.short .container > * span::before { content: none; }

#page-title.noimg { background: #F0F5F8; }
#page-title.noimg .container { color: #1E2F35; }
#page-title.noimg .container > * span { color: #5C2E7E; }
#page-title.noimg .container > * span::before { background-color: #5C2E7E }

@media (min-width: 768px) {
	#page-title { height: 440px; padding-top: 180px;}
	#page-title .container { font-size: 4rem;}
	#page-title .container > * span { font-size: 1.4rem; }
	#page-title .container > * span::before { top: -4px; }

    #page-title.short { padding-top: 100px; height: 280px; }

    #page-title.noimg { height: 220px; padding-top: 75px; }
}

@media (max-width: 767px) {
	#page-title { height: 250px; padding-top: 100px;}
	#page-title .container { font-size: 3.2rem;}
	#page-title .container > * span { font-size: 1.2rem; }
	#page-title .container > * span::before { top: -1px;}

    #page-title.short { padding-top: 85px !important; height: 250px !important; }
    #page-title.short .container { font-size: 2.8rem; }
    #page-title.short .container > * span { font-size: 1.8rem; }

	#page-title.noimg { padding-top: 100px; }
    #page-title.noimg .container { font-size: 3.2rem;}

	#index #page-title { height: 440px; padding-top: 180px;}
	/*
	#index #page-title .container > p { position: relative; top: -18px; }
	#index #page-title .container > p span::before { display: none;}
	#index #page-title .container > p span
	{ padding: 0; background: rgb(92,46,126); background: linear-gradient(90deg, rgba(92,46,126,1) 0%, rgba(63,169,245,1) 60%, rgba(255,123,172,1) 100%); color: #5C2E7E; -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; font-size: 2.2rem; }
	*/
}

@media (max-width: 480px) {
	#page-title .container { font-size: 3rem;}
	#index #page-title { background: url(/common/images/st_pagetitle_sp.jpg) no-repeat center center; background-size: cover; /*height: 100vw; padding-top: 43%;*/ height: 250px; padding-top: 100px; }
}


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

	local-nav

------------------------------------------------------*/
#local-nav-btn { width: 56px; height: 54px; color: #fff; position: absolute; right: 0; top: 0; background-color: #5C2E7E; text-align: center; font-size: 1rem; padding-top: 30px; letter-spacing: 1px; z-index: 1;}
#local-nav-btn::after { content: ''; width: 14px; height: 14px; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; left: 0; right: 0; bottom: auto; margin: auto; transform: rotate(135deg); top: 8px; }
#local-nav-btn.active::after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); top: 15px; }


.local-nav { background-color: #D7E1E7; font-size: 1.6rem; position: relative; }
.local-nav .container {}
.local-nav .head { padding: 15px 0; }
.local-nav .head .l_col-link {}
.local-nav .head .l_col-link li { font-size: 1.4rem;}
.local-nav .head .l_col-link li a { display: block; height: 100%; border: 1px solid #3096B7; border-radius: 4px; color: #1E2F35; text-decoration: none; padding: 3px 10px 1px 32px; position: relative;}
.local-nav .head .l_col-link li a::before { content: ''; position: absolute; width: 16px; height: 16px; background-color: #3096B7; left: 8px; top: calc(50% - 8px);}
.local-nav .head .l_col-link li a::after { content: ''; width: 6px; height: 6px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; left: 14px; top: calc(50% - 3px); }
.local-nav.head .body { display: none;}
.local-nav.head {}


.local-nav .body ul {}
.local-nav .body ul li { font-size: 1.5rem; }
.local-nav .body ul li a { color: #1E2F35; text-decoration: none; position: relative; display: block; height: 100%; padding: 1px 8px; }
.local-nav .body ul li a::before { content: ''; position: absolute; width: 100%; height: 1px; background-color: #fff; left: 0; bottom: 0;}
.local-nav .body ul li a.blank { font-size: 1.5rem; background: none; }
.local-nav .body ul li a.blank::after { content: ''; background: url(/common/images/icon_blank.svg) no-repeat left top; position: absolute; width: 15px; height: 15px; background-size: 100% auto; top: 3px; margin-left: 5px; }

.local-nav .body .column-1 {}
.local-nav .body .column-1 > li {}
.local-nav .body .column-1 > li > a { margin-bottom: 2px; }

.local-nav .body .column-2 {}
.local-nav .body .column-2 > li {}
.local-nav .body .column-2 > li > a {}

.local-nav .body .column-3 {}
.local-nav .body .column-3 > li {}
.local-nav .body .column-3 > li > a {}

.local-nav .body .column-4 {}
.local-nav .body .column-4 > li {}
.local-nav .body .column-4 > li > a {}


@media (min-width: 768px) {
	#local-nav-btn { right: calc(50% - (1160px/2)); cursor: pointer; }
	#local-nav-btn:hover { background-color: #3096B7; transition: background-color 0.2s;}
	
	.local-nav .head .l_col-link li a { transition: background-color 0.2s;}
	.local-nav .head .l_col-link li a:hover { background-color: #E0EBF2;}
	/* #index .local-nav.head { margin-bottom: 95px;} */

	/*.local-nav.head+* { padding-top: 95px;}*/

	.local-nav .body { overflow: hidden; padding: 20px 0 25px;}
	.local-nav .body ul { line-height: 1.6;}
	.local-nav .body ul li { padding: 3px; margin-bottom: 2px; }
	.local-nav .body ul li a { transition: color 0.2s;}
	.local-nav .body ul li a:hover { color: #3096B7; }
	.local-nav .body .column-2 { padding-left: calc(1160px / 4);}
	.local-nav .body .column-3 { padding-left: calc(1160px / 4); }
	.local-nav .body .column-4 { padding-left: calc(1160px / 4); }


	.local-nav.foot .body { padding: 40px 0 50px; }
}

@media screen and (min-width:768px) and ( max-width:1220px) {
	#local-nav-btn { right: 20px; }

	.local-nav .body .column-2 { padding-left: calc((100vw - 40px) / 4);}

	.local-nav .body .column-3 { padding-left: calc((100vw - 40px) / 4); }

	.local-nav .body .column-4 { padding-left: calc((100vw - 40px) / 4); }
}

@media (max-width: 767px) {
	#local-nav-btn { display: none;}
	
	/* #index .local-nav.head { margin-bottom: 60px;} */
	.local-nav.head > .container { display: none;}

	/*.local-nav.head+* { padding-top: 60px;}*/

	.local-nav .body { padding: 30px 0;}
	.local-nav .body ul li a { padding: 4px 0; }
	.local-nav .body ul li a.blank::after { top: 8px; }
	.local-nav .body .column-2 { padding-left: 1em; }
	.local-nav .body .column-3 { padding-left: 1em; }
	.local-nav .body .column-4 { padding-left: 1em; }

}


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

	news

------------------------------------------------------*/
#news {}
#news > div:first-child { background-color: #DBE7EE;}
#news > div:first-child p { color: #5C2E7E; letter-spacing: 1px; }
#news > div:last-child { background-color: #fff;}
#news dl { overflow-y: auto; }
#news dl > div {}
#news dl dt {}
#news dl dt span { color: #5C2E7E; border: 1px solid #5C2E7E; font-weight: bold; display: block; line-height: 1; white-space: nowrap; }
#news dl dd { color: #444; background-image: linear-gradient(to right, #8E9EA7 1px, transparent 1px); background-size: 6px 1px; background-repeat: repeat-x; background-position: left bottom; line-height: 1.6; }
#news dl dd a { color: #444; text-decoration: none;}
#news dl > div:last-child dd { margin-bottom: 0;}

@media (min-width: 768px) {
	#news { max-width: 1100px; margin-bottom: 100px; box-shadow: 0px 0px 10px 5px rgba(51,51,51,0.05); }
	#news > div:first-child { width: 180px; padding-top: 26px;}
	#news > div:first-child p { font-size: 3.4rem; text-align: center; }
	#news > div:last-child { width: calc(100% - 180px); padding: 40px;}
	#news dl { height: 130px; }
	#news dl dt { font-size: 1.3rem; width: 130px; }
	#news dl dt span { padding: 5px 5px; }
	#news dl dd { font-size: 1.6rem; width: calc(100% - (130px + 30px)); padding-bottom: 8px; margin-bottom: 10px; }
	#news dl dd a:hover { text-decoration: underline; color: #3096B7;}
}

@media (max-width: 767px) {
	#news { margin-bottom: 40px; width: 100%; /*left: -20px;*/ /*box-shadow: 0px 5px 10px 0px rgba(51,51,51,0.05);*/ position: relative; /*top: -50px;*/ width: 100vw; margin: 0 calc(50% - 50vw); }
	/* #news > div:first-child { width: calc(100% - 40px); margin-bottom: 0; position: relative; left: 20px; top: 16px;} */
	#news > div:first-child { width: calc(100% - 30px); margin-bottom: 0; position: relative; left: 15px; top: 16px;}
	#news > div:first-child p { font-size: 2rem; padding-left: 10px; }
	#news > div:last-child { width: 100%; margin-bottom: 0; padding: 35px 15px 25px;}
	#news dl { max-height: 210px; overflow-x: hidden; }
	#news dl dt { font-size: 1rem; width: 115px; /*margin-bottom: 0;*/ margin-bottom: 5px; padding-left: 10px; padding-right: 10px; }
	#news dl dt span { padding: 3px 0 3px 2px; letter-spacing: -0.2px; }
	#news dl dd { font-size: 1.4rem; width:100%;/*width: calc(100% - (95px + 10px));*/ padding-left: 10px; padding-right: 10px; padding-bottom: 6px; margin-bottom: 8px;}
	#news dl dd a.blank { font-size: 1.4rem;}

    #news dl > div { display: block; }
	#index #news { margin-bottom: 35px !important;}
}



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

	[index]
	main-visual

------------------------------------------------------*/
#index #main-visual { position: relative;}
#index #main-visual::before { content: ''; opacity: 0; position: absolute; width: 100%; height: 86%; background-color: #F0F5F8; bottom: 20px; z-index: 1; transform: translateX(-100%);}
/*
.local-nav.head+#main-visual::after { content: ''; position: absolute; width: 100%; height: 100px; left: 0; top: 0; background: rgb(240,245,248); background: linear-gradient(180deg, rgba(240,245,248,1) 0%, rgba(255,255,255,1) 100%); padding: 0;}*/

#index #main-visual .l_col-visual { position: relative;}
#index #main-visual .l_col-visual::before { content: ''; opacity: 0; position: absolute; width: calc(100vw - (50vw - 800px)); height: 200px; background-color: #D7E1E7; left: 0; bottom: -50px; transform: translateX(100%);}
#index #main-visual .l_col-visual > div { z-index: 1; }
#index #main-visual .title { font-weight: normal; /*opacity: 0.9;*/}
#index #main-visual .title span { background: rgb(92,46,126); background: linear-gradient(90deg, rgba(92,46,126,1) 0%, rgba(63,169,245,1) 60%, rgba(255,123,172,1) 100%); color: #5C2E7E; -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }
#index #main-visual .sub-title {}
#index #main-visual .title-c {}
#index #main-visual .text {}
#index #main-visual .text p {}
#index #main-visual .l_col-page { justify-content: flex-start;}
#index #main-visual .l_col-page li { color: #5C2E7E; font-size: 1.6rem; font-weight: bold; background-color: #fff; border-radius: 4px; line-height: 1; margin-bottom: 10px; overflow: hidden;}
#index #main-visual .l_col-page li:not(:last-child) { margin-right: 10px;}
#index #main-visual .l_col-page li a { color: #5C2E7E; text-decoration: none; padding: 6px 18px; display: block;}

#index #main-visual .l_col-visual > figure { margin-bottom: 0; z-index: 1; }
#index #main-visual .l_col-visual > figure img {}

#index #main-visual .l_col-link {}
#index #main-visual .l_col-link li {}
#index #main-visual .l_col-link li a { max-width: none;}

#index #main-visual .l_col-course { justify-content: flex-start; margin-bottom: 25px;}
#index #main-visual .l_col-course li { font-size: 1.6rem;}
#index #main-visual .l_col-course li:not(:last-child)::after { content: '｜'; padding: 0 2px;}
#index #main-visual .l_col-course li a { color: #444; text-decoration: none;}

#index #main-visual .index-title { position: relative; }
#index #main-visual .index-title .sub-title { position: relative; margin-bottom: 0;}
#index #main-visual .index-title .sub-title::before { content: ""; position: absolute; height: 100%; background-color: #3096B7; left: 0; top: 0; }
#index #main-visual .index-title .text { position: relative; padding-bottom: 5px;}
#index #main-visual .index-title .text::before { content: ""; position: absolute; height: 100%; background-color: #5C2E7E; left: 0; top: 0; }


#index #main-visual.animation-on::before {
	animation-name: animation-slide-left;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0s;		
}

@keyframes animation-slide-left{
	0% {
		opacity: 0;
		transform: translateX(-100%);
	}
	20% {
		opacity: 0.1;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

#index #main-visual.animation-on .l_col-visual::before {
	animation-name: animation-slide-right;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.3s;
}
@keyframes animation-slide-right{
	0% {
		opacity: 0;
		transform: translateX(100%);
	}
	20% {
		opacity: 0.1;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}



@media (min-width: 768px) {
	/*
	.local-nav.head+#main-visual::before { height: calc(86% - 80px) !important; }
	*/

	#index #main-visual .l_col-visual { max-width: 1500px; margin-left: auto; margin-right: auto; }
	#index #main-visual .l_col-visual > div { width: 50%; margin-bottom: 30px;}
	#index #main-visual .title { line-height: 1; font-size: 8.4rem; margin-bottom: 12px; letter-spacing: 5px;}
	#index #main-visual .title + div,
	#index #main-visual .about-contents { padding: 0 115px 0 35px;}
	#index #main-visual .about-contents { padding-top: 80px;}
	#index #main-visual .sub-title { font-size: 3rem; letter-spacing: 2px; margin-bottom: 5px;}
	#index #main-visual .l_col-page li a { transition: background-color 0.2s;}
	#index #main-visual .l_col-page li a:hover { background-color: #F0EAF5; }
	
	#index #main-visual .l_col-visual > figure { width: 50%;}
	#index #main-visual .l_col-visual > figure img { object-fit: cover; height: 100%; }

	#index #main-visual .l_col-link li:nth-child(n+3) { margin-top: 20px;}

	#index #main-visual .index-title .sub-title { padding-left: 25px;}
	#index #main-visual .index-title .sub-title::before { width: 8px; }
	#index #main-visual .index-title .text { padding-left: 25px;}
	#index #main-visual .index-title .text::before { width: 8px; }

}

@media screen and (min-width:768px) and ( max-width:1500px) {
	#index #main-visual .l_col-visual { max-width: calc(50% + (1160px / 2)); margin-left: auto; margin-right: 0; }
	#index #main-visual .l_col-visual::before { width: calc(100% - 50px); left: auto; right: 0;}
}
@media screen and (min-width:768px) and ( max-width:1220px) {
	#index #main-visual .title { /*font-size: 5vw;*/ margin-left: 20px; margin-bottom: 5px;}
	#index #main-visual .title + div,
	#index #main-visual .about-contents { padding: 0 20px 0 35px;}
}

@media (max-width: 767px) {
	#index #main-visual { /*background-color: #F0F5F8; border-bottom: 40px solid #D7E1E7;*/ padding-top: 60px; }
	#index #news + #main-visual {}
	#index #main-visual::before { height: 100%; bottom: 0; top: auto;}
	/*
	.local-nav.head+#main-visual::before { height: calc(100% - 60px) !important; }
	.local-nav.head+#main-visual::after { height: 60px;}
	*/

	#index #main-visual .l_col-visual > div { margin: 0 15px; position: relative; top: -35px; width: 100%;}
	#index #main-visual .title { line-height: 1.6; font-size: 2rem; margin-bottom: -2px; letter-spacing: 3px; /*display: none;*/ font-weight: bold;}
	#index #main-visual .sub-title { font-size: 2.4rem; margin-bottom: 10px; line-height: 1.4; letter-spacing: 2px; }
	#index #main-visual .l_col-page li a { line-height: 1.2;}
	#index #main-visual .l_col-visual > figure { width: 100%;}

	#index #main-visual .l_col-link li { width: calc(50% - 8px); margin-bottom: 0;}
	#index #main-visual .l_col-link li a { max-width: none; padding: 5px 20px;}
	#index #main-visual .l_col-link li:nth-child(n+3) { margin-top: 15px;}

	#index #main-visual .l_col-course li { margin-bottom: 0;}
	#index #main-visual .text { padding-left: 0; padding-right: 0;}
	
	#index #main-visual .index-title .sub-title { padding-left: 20px;}
	#index #main-visual .index-title .sub-title::before { width: 6px; }
	#index #main-visual .index-title .text { padding-left: 20px;}
	#index #main-visual .index-title .text::before { width: 6px; }
	

}


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

	[index]
	l_col-index

------------------------------------------------------*/
#index .l_col-index {}
#index .l_col-index section { background-color: #F0F5F8; }
#index .l_col-index a { text-decoration: none; color: #1E2F35; }
#index .l_col-index:not(.vertical) figure + div {}
#index .l_col-index:not(.vertical) .title-c {}
#index .l_col-index:not(.vertical) .text {}
#index .l_col-index:not(.vertical) .text p {}
#index .l_col-index:not(.vertical) .btn-e {}
#index .l_col-index:not(.vertical) .btn-e span {}
#index .l_col-index figure { margin-bottom: 0; }
#index .l_col-index:not(.vertical) figure img {}


#index .l_col-index.vertical {}
#index .l_col-index.vertical section {}
#index .l_col-index.vertical a {}
#index .l_col-index.vertical figure {}
#index .l_col-index.vertical figure img {}
#index .l_col-index.vertical figure + div {}
#index .l_col-index.vertical .title-c {}
#index .l_col-index.vertical .text {}
#index .l_col-index.vertical .text p {}
#index .l_col-index.vertical .btn-e {}
#index .l_col-index.vertical .btn-e span {}



#index .l_col-index-small {}
#index .l_col-index-small section { background-color: #F0F5F8; }
#index .l_col-index-small a { text-decoration: none; color: #1E2F35; display: block; height: 100%; }
#index .l_col-index-small .title-c {}
#index .l_col-index-small .text {}
#index .l_col-index-small .btn-e {}
#index .l_col-index-small .btn-e span {}
#index .l_col-index-small figure { margin-bottom: 0;}
#index .l_col-index-small figure img {}
#index .l_col-index-small figure + div {}



@media (min-width: 768px) {
	/* #index .l_col-index { max-width: 1400px; margin-left: auto; margin-right: auto; } */
	#index .l_col-index { max-width: 1280px; margin-left: auto; margin-right: auto; }
	#index .l_col-index:not(.vertical) section { width: 100%;}
	#index .l_col-index:not(.vertical) section:nth-child(n+2) { margin-top: 40px;}
	#index .l_col-index:not(.vertical) a { flex-direction: row-reverse; }
	#index .l_col-index a:hover img { opacity: 0.8;}
	#index .l_col-index a:hover .btn-e span { background-color: #F0EAF5; color: #5C2E7E; }
	#index .l_col-index a:hover .btn-e span::after { border-color: #5C2E7E; }
	#index .l_col-index:not(.vertical) figure + div { width: 50%; padding: 40px;}
	#index .l_col-index:not(.vertical) figure { width: 50%;}
	#index .l_col-index figure img { transition: opacity 0.2s; }
	#index .l_col-index:not(.vertical) figure img { object-fit: cover; height: 100%; }

	#index .l_col-index.vertical section { width: calc(50% - 20px);}
	#index .l_col-index.vertical section:nth-child(n+3) { margin-top: 40px;}
	#index .l_col-index.vertical figure + div { padding: 40px;}

	#index .l_col-index:not(.vertical) .l_col-contents.exchange { flex-direction: row; }

	#index .l_col-index-small { max-width: 1400px; margin-left: auto; margin-right: auto; justify-content: flex-start; }
	#index .l_col-index-small section { width: calc(25% - 30px);}
	#index .l_col-index-small section:not(:nth-child(4n+4)) { margin-right: 40px;}
    #index .l_col-index-small a { display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; }
	#index .l_col-index-small a > div { padding: 40px 40px 64px; -webkit-box-flex: 1; flex-grow: 1; position: relative; }
	#index .l_col-index-small a:hover img { opacity: 0.8;}
	#index .l_col-index-small a:hover .btn-e span { background-color: #F0EAF5; color: #5C2E7E; }
	#index .l_col-index-small a:hover .btn-e span::after { border-color: #5C2E7E; }
    #index .l_col-index-small .btn-e { position: absolute; bottom: 40px; display: block; width: calc(100% - 80px); }
	#index .l_col-index-small figure img { transition: opacity 0.2s; }
}

@media screen and (min-width:768px) and ( max-width:1450px) {
	#index .l_col-index { max-width: calc(100% - 40px);}

	#index .l_col-index-small { max-width: calc(100% - 40px); }
	#index .l_col-index-small section { width: calc(99.999% / 3 - 27px);}
	#index .l_col-index-small section:not(:nth-child(3n+4)) { margin-right: 0;}
	#index .l_col-index-small section:not(:nth-child(3n+3)) { margin-right: 40px;}
	#index .l_col-index-small section:nth-child(n+4) { margin-top: 30px;}
}

@media (max-width: 767px) {
	#index .l_col-index { margin-left: 15px; margin-right: 15px;}
	#index .l_col-index > section { width: calc(50% - 7px); margin-bottom: 0; }
	#index .l_col-index > section:nth-child(n+3) { margin-top: 15px;}
	#index .l_col-index figure + div { padding: 15px 15px 20px; margin-bottom: 0; width: 100%; }
    #index .l_col-index figure + div .text { display: none; }
    #index .l_col-index figure + div .btn-e { display: none; }
    #index .l_col-index figure + div .title-c { font-size: 1.6rem; margin-bottom: 0; text-align: center; }
    #index .l_col-index figure + div .title-c::after { margin: 0 auto; right: 0; }

	#index .l_col-index-small { margin-left: 15px; margin-right: 15px; }
	#index .l_col-index-small section { width: 100%; margin-bottom: 0;}
	#index .l_col-index-small section:nth-child(n+3) { margin-top: 15px;}
	#index .l_col-index-small a > div { padding: 20px; width: 100%; }
    #index .l_col-index-small:not(.layout-2) section { width: calc(50% - 7px); }
    #index .l_col-index-small:not(.layout-2) a > div { padding: 15px 15px 20px; }
    #index .l_col-index-small:not(.layout-2) figure + div .text { display: none; }
    #index .l_col-index-small:not(.layout-2) figure + div .btn-e { display: none; }
    #index .l_col-index-small:not(.layout-2) figure + div .title-c { font-size: 1.6rem; margin-bottom: 0; text-align: center; }
    #index .l_col-index-small:not(.layout-2) figure + div .title-c::after { margin: 0 auto; right: 0; }


	#index .l_col-index-small.layout-2 {}
	#index .l_col-index-small.layout-2 a { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
	#index .l_col-index-small.layout-2 figure { width: 50%;}
	#index .l_col-index-small.layout-2 figure img { object-fit: cover; height: 100%; }
	#index .l_col-index-small.layout-2 figure + div { width: 50%; }
}

@media (max-width: 767px) {
	#index .l_col-index-small.layout-2 .large a figure { width: 100%;}
	#index .l_col-index-small.layout-2 .large a figure + div { width: 100%;}
}

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

	l_col-btn-index

------------------------------------------------------*/
.l_col-btn-index { justify-content: flex-start;}
.l_col-btn-index li {}
.l_col-btn-index li a {}

@media (min-width: 768px) {
	.l_col-btn-index li:not(:nth-child(3n+3)) { margin-right: 40px;}
	.l_col-btn-index li:nth-child(n+4) { margin-top: 20px;}
	
}

@media (max-width: 767px) {
	.l_col-btn-index li { margin-bottom: 0;}
	.l_col-btn-index li:nth-child(n+2) { margin-top: 10px;}
	
}


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



------------------------------------------------------*/
.js-linked { opacity: 0;}
.animation-on .js-linked {
	animation-name: title-animation-2;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 0.8s;			
}
.animation-on .js-linked.delay-2 {
	animation-delay: 1.0s;
}
.animation-on .js-linked.delay-3 {
	animation-delay: 1.2s;
}
.animation-on .js-linked.delay-4 {
	animation-delay: 1.4s;
}
.animation-on .js-linked.delay-5 {
	animation-delay: 1.6s;
}
.animation-on .js-linked.delay-6 {
	animation-delay: 1.8s;
}
.animation-on .js-linked.delay-7 {
	animation-delay: 2s;
}


@media (min-width: 768px) {

}

@media (max-width: 767px) {

}


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

	l_col-localnav

------------------------------------------------------*/
.l_col-localnav { /*background: #F0F5F8;*/ }
.l_col-localnav li { font-size: 1.4rem;}
.l_col-localnav li a { color: #1E2F35; text-decoration: none; position: relative;}
.l_col-localnav li a.blank { font-size: 1.4rem;}



@media (min-width: 768px) {
	.l_col-localnav { justify-content: flex-start; padding: 4px 0 6px; }
	.l_col-localnav li:not(:last-child) { margin-right: 26px;}

	.l_col-localnav li a::after { position: absolute; bottom: -5px; left: 0; right: 0; margin: 0 auto; content: ''; width: 100%; height: 1px; background: #3096B7; transform: scale(0, 1); transform-origin: left; transition: transform .2s; 	}
	.l_col-localnav li a:hover::after{
		transform: scale(1, 1);
	}

}

@media (max-width: 767px) {
	.l_col-localnav { padding: 20px 0 30px; display: none; }
	.l_col-localnav li { width: 100%; margin-bottom: 0;}
}


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

	l_col-pagenav

------------------------------------------------------*/
.l_col-pagenav { padding: 10px 0 3px; border-bottom: 1px solid #D7E1E7; margin-bottom: 0; }
.l_col-pagenav li { color: #3096B7; font-weight: bold; font-size: 1.4rem; }
.l_col-pagenav li a { transition: all 0.2s; color: #5C2E7E; text-decoration: none; position: relative; padding-right: 12px; }
.l_col-pagenav li a::before { content: ''; transition: all 0.2s; position: absolute; top: 50%; right: 0; border-top: 2px solid #5C2E7E; border-right: 2px solid #5C2E7E; width: 6px; height: 6px; transform: translateY(-50%) rotate(45deg); }

@media (min-width: 768px) {
    .l_col-pagenav { -webkit-box-pack: start; justify-content: flex-start; }
    .l_col-pagenav li {}
    .l_col-pagenav li:not(:last-of-type) { margin-right: 30px; }
    .l_col-pagenav li a:hover { color: #3096B7; }
    .l_col-pagenav li a:hover::before { border-color: #3096B7; }
}

@media (max-width: 767px) {
    .l_col-pagenav { display: block; }
    .l_col-pagenav li { margin-bottom: 0; }
}


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

	l_col-guidebook

------------------------------------------------------*/
.l_col-guidebook { background-color: #F0F5F8;}
.l_col-guidebook > figure { margin-bottom: 0;}
.l_col-guidebook > figure img {}
.l_col-guidebook > div {}
.l_col-guidebook .title { color: #3096B7;}
.l_col-guidebook .list-b { margin-bottom: 30px; margin-top: 20px;}
.l_col-guidebook .list-b li {}
.l_col-guidebook .list-b li a { color: #1E2F35; text-decoration: none;}
.l_col-guidebook .btn-c {}
.l_col-guidebook .btn-c a {}

@media (min-width: 768px) {
	.l_col-guidebook > figure { width: 400px;}
	.l_col-guidebook > div { width: calc(100% - 400px); padding: 50px;}
	.l_col-guidebook .title { font-size: 2.4rem;}
	.l_col-guidebook .list-b li a:hover { text-decoration: underline;}
}

@media screen and (min-width:768px) and ( max-width:1220px) {
	.l_col-guidebook > figure { width: 40%;}
	.l_col-guidebook > div { width: 60%;}
}

@media (max-width: 767px) {
	.l_col-guidebook > figure { width: 100%;}
	.l_col-guidebook > div { width: 100%; margin-bottom: 0; padding: 30px 10px;}
	.l_col-guidebook .title { font-size: 1.8rem; text-align: center;}
	.l_col-guidebook .list-b li { font-size: 1.4rem;}
	.l_col-guidebook .btn-c a { margin-left: auto; margin-right: auto;}
}


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

	accordion

------------------------------------------------------*/
.accordion { margin-bottom: 0; margin-top: -1px; }
.accordion > .head { position: relative; border: 1px solid #5C2E7E; background: #fff; letter-spacing: 0.1em; line-height: 1.4; color: #1E2F35; font-weight: bold;}
.accordion > .head .btn { width: 35px; height: 35px; position: absolute; right: 15px }
.accordion > .head .btn span { height: 1px; background-color: #5C2E7E; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s; }
.accordion > .head .btn span:last-of-type { transform: rotate(90deg); }
.accordion > .head .btn.active span:last-of-type { transform: rotate(180deg); }
.accordion > .body { display: none;}

@media (min-width: 768px) {
	.accordion > .head { font-size: 2.2rem; padding: 34px 50px 34px 30px; transition: background-color 0.2s; cursor: pointer; }
	.accordion > .head:hover { background: #F0EAF5; }
	.accordion > .head .btn { top: 33px; }
	.accordion > .head .btn span { width: 30px; }
	.accordion > .body { padding: 50px 60px 60px 60px; }
}

@media (max-width: 767px) {
	.accordion > .head { font-size: 1.8rem; padding: 25px 50px 25px 10px; }
	.accordion > .head .btn { top: 23px; }
	.accordion > .head .btn span { width: 25px; }
	.accordion > .body { padding: 20px 15px 50px 15px; }
}


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

	contact-information

------------------------------------------------------*/
.contact-information { border: 10px solid #F0F5F8; font-style: normal;}
.contact-information .title { font-weight: bold; font-size: 2.2rem;}
.contact-information hr { margin: 5px 0 14px;}
.contact-information .l_col-2 {}
.contact-information .l_col-2 > div {}
.contact-information .l_col-2 .title-d {}
.contact-information .l_col-2 .text { margin-bottom: 0;}
.contact-information .l_col-2 .text p {}
.contact-information .l_col-2 .title-e {}

@media (min-width: 768px) {
	.contact-information { padding: 30px;}
}

@media (max-width: 767px) {
	.contact-information { padding: 20px 15px 20px;}
}



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

	faculty-tab

------------------------------------------------------*/
#faculty-tab { background-color: #D7E1E7;}
#faculty-tab .l_col-tab {}
#faculty-tab .l_col-tab li { font-size: 1.6rem; text-align: center;}
#faculty-tab .l_col-tab li a { color: #000; text-decoration: none; }
#faculty-tab .l_col-tab li.active {}
#faculty-tab .l_col-tab li.active a { color: #fff; }

@media (min-width: 768px) {

	#faculty-tab .l_col-tab { padding-top: 14px; }
	#faculty-tab .l_col-tab > li { position: relative; list-style: none; display: inline-block; background-color: #BBD2DA; border: 1px solid #DDD; border-bottom: none; border-radius: 8px 8px 0 0; margin: 0 5px; width: calc(25% - 10px); }
	#faculty-tab .l_col-tab > li::before { position: absolute; bottom: 0; left: -10px; display: inline-block; content: ""; width: 0; height: 0; border-top: 19px solid transparent; border-right: 5px solid #DDD; border-bottom: 20px solid #DDD; border-left: 5px solid transparent; }
	#faculty-tab .l_col-tab > li::after { position: absolute; bottom: 0; right: -10px; display: inline-block; content: ""; width: 0; height: 0; border-top: 19px solid transparent; border-right: 5px solid transparent; border-bottom: 20px solid #DDD; border-left: 5px solid #DDD; }
	#faculty-tab .l_col-tab > li > a { display: block; outline: none; color: #000; text-decoration: none !important; padding: 6px 15px; }
	#faculty-tab .l_col-tab > li:hover > a { color: #3096B7; }
	#faculty-tab .l_col-tab > li.active > a { color: #FFF; }
	#faculty-tab .l_col-tab > li > a::before { position: absolute; bottom: 0; left: -9px; display: inline-block; content: ""; width: 0; height: 0; border-top: 19px solid transparent; border-right: 5px solid #BBD2DA; border-bottom: 20px solid #BBD2DA; border-left: 5px solid transparent; }
	#faculty-tab .l_col-tab > li > a::after { position: absolute; bottom: 0; right: -9px; display: inline-block; content: ""; width: 0; height: 0; border-top: 19px solid transparent; border-right: 5px solid transparent; border-bottom: 20px solid #BBD2DA; border-left: 5px solid #BBD2DA; }
	#faculty-tab .l_col-tab > li.active { background-color: #3096B7; border-color: #3096B7; }
	#faculty-tab .l_col-tab > li.active::before,
	#faculty-tab .l_col-tab > li.active > a::before { border-right-color: #3096B7; border-bottom-color: #3096B7; }
	#faculty-tab .l_col-tab > li.active::after,
	#faculty-tab .l_col-tab > li.active > a::after { border-bottom-color: #3096B7; border-left-color: #3096B7; }
	#faculty-tab .l_col-tab > li:nth-child(1),
	#faculty-tab .l_col-tab > li:nth-child(1)::before,
	#faculty-tab .l_col-tab > li:nth-child(1)::after { z-index: 8; }
	#faculty-tab .l_col-tab > li:nth-child(1) > a,
	#faculty-tab .l_col-tab > li:nth-child(1) > a::before,
	#faculty-tab .l_col-tab > li:nth-child(1) > a::after { z-index: 9; }
	#faculty-tab .l_col-tab > li:nth-child(2),
	#faculty-tab .l_col-tab > li:nth-child(2)::before,
	#faculty-tab .l_col-tab > li:nth-child(2)::after { z-index: 6; }
	#faculty-tab .l_col-tab > li:nth-child(2) > a,
	#faculty-tab .l_col-tab > li:nth-child(2) > a::before,
	#faculty-tab .l_col-tab > li:nth-child(2) > a::after { z-index: 7; }
	#faculty-tab .l_col-tab > li:nth-child(3),
	#faculty-tab .l_col-tab > li:nth-child(3)::before,
	#faculty-tab .l_col-tab > li:nth-child(3)::after { z-index: 4; }
	#faculty-tab .l_col-tab > li:nth-child(3) > a,
	#faculty-tab .l_col-tab > li:nth-child(3) > a::before,
	#faculty-tab .l_col-tab > li:nth-child(3) > a::after { z-index: 5; }
	#faculty-tab .l_col-tab > li:nth-child(4),
	#faculty-tab .l_col-tab > li:nth-child(4)::before,
	#faculty-tab .l_col-tab > li:nth-child(4)::after { z-index: 2; }
	#faculty-tab .l_col-tab > li:nth-child(4) > a,
	#faculty-tab .l_col-tab > li:nth-child(4) > a::before,
	#faculty-tab .l_col-tab > li:nth-child(4) > a::after { z-index: 3; }
	#faculty-tab .l_col-tab > li.active,
	#faculty-tab .l_col-tab > li.active::before,
	#faculty-tab .l_col-tab > li.active > a::before,
	#faculty-tab .l_col-tab > li.active::after,
	#faculty-tab .l_col-tab > li.active > a::after { z-index: 20; }
				  

}

@media (max-width: 767px) {
	#faculty-tab { padding: 15px 0 0;}
	#faculty-tab .l_col-tab {}
	#faculty-tab .l_col-tab li { width: calc(50% - 8px); font-size: 1.5rem; margin-bottom: 15px;}
	#faculty-tab .l_col-tab li:nth-child(2n+1) { margin-right: 15px;}
	#faculty-tab .l_col-tab li a { border: 1px solid #3096B7; color: #000; display: block; border-radius: 4px; background-color: #D7E1E7; padding: 2px 5px; }

	#faculty-tab .l_col-tab li.active {}
	#faculty-tab .l_col-tab li.active a { background-color: #3096B7;}
}

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

	change-tab

------------------------------------------------------*/
.change-tab-content { display: none; }
.change-tab-content.active { display: block; }

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

	sep

------------------------------------------------------*/
.sepB30 {}
.sepB40 {}
.sepB50 {}
.sepB70 {}
.sepB100 {}
.sepB140 {}
.sepB150 {}
.sepB200 {}

@media (min-width: 768px) {
	.sepB30 { margin-bottom: 30px !important;}
	.sepB40 { margin-bottom: 40px !important;}
	.sepB50 { margin-bottom: 50px !important; }
	.sepB70 { margin-bottom: 70px !important; }
	.sepB100 { margin-bottom: 100px !important; }
	.sepB140 { margin-bottom: 140px !important; }
	.sepB150 { margin-bottom: 150px !important; }
	.sepB200 { margin-bottom: 200px !important; }

}

@media (max-width: 767px) {
	.sepB30 { margin-bottom: 15px !important;}
	.sepB40 { margin-bottom: 20px !important;}
	.sepB50 { margin-bottom: 25px !important; }
	.sepB70 { margin-bottom: 35px !important; }
	.sepB100 { margin-bottom: 50px !important; }
	.sepB140 { margin-bottom: 70px !important; }
	.sepB150 { margin-bottom: 75px !important; }
	.sepB200 { margin-bottom: 100px !important; }
}


/*------------------------------------------------------
	ページング
------------------------------------------------------*/
#pagination { text-align: center; margin-top: 50px;}
#pagination ul { display: inline-block;}
#pagination ul li { border: 1px solid #5C2E7E; float: left; text-align: center; margin: 0 1px; font-size: 1.2rem;}
#pagination ul li.ryaku { border: none; padding: 5px 3px; }
#pagination ul li a { padding: 5px 6px; display: block; color: #5C2E7E; text-decoration: none; }
#pagination ul li.active { padding: 5px 6px; background-color: #5C2E7E; color: #fff;}


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



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


@media (min-width: 768px) {

}

@media (max-width: 767px) {

}



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



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


@media (min-width: 768px) {

}

@media (max-width: 767px) {

}
