@charset "UTF-8";

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

    common

------------------------------------------------------*/
*, *: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-size: 1.6rem; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", " 游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic,メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; color: #1E2F35; line-height: 1.6; background-color: #fff; overflow: hidden;}
.container { width: 100%; margin-left: auto; margin-right: auto; position: relative;}

ul { list-style: none; }
ol { list-style: decimal; }
img { vertical-align: bottom; width: auto; max-width: 100%; height: auto; }

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

main { display: block; margin-bottom: 200px; }


@media (min-width: 768px) {
	.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); } */

	/* 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 { margin-bottom: 80px; }
	/*
	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;} */
}


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

	max-width

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

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

@media (max-width: 767px) {

}


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

	header

------------------------------------------------------*/
header { z-index: 9997; background: #665EC0; position: relative; }
header > div { height: 100%; display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; }
header, header a { color: #fff; }
header a { text-decoration: none; }
header .head-logo {}
header .head-logo img { max-width: 204px; height: 22px; }
header .head-logo p { font-weight: bold; letter-spacing: 0.15em; }
header .head-nav { height: 100%; display: -webkit-box; display: flex; }
header .head-nav ul { height: 100%; padding: 10px 0; display: -webkit-box; display: flex; }
header .head-nav ul li { height: 100%; }
header .head-nav ul li a { transition: background 0.2s; width: 120px; padding-top: 5px; text-align: center; display: block; height: 100%; position: relative; border-left: 1px solid #fff; }
header .head-nav ul li a img { display: block; margin: 0 auto; }
header .head-nav ul li a span { font-size: 1.2rem; font-weight: bold; letter-spacing: 0.1em; display: block; line-height: 1.6; position: absolute; bottom: 2px; left: 0; right: 0; }
header .head-nav ul li a:hover { background: #6FB5CC; }

header .head-search { background: #4B43A7; width: 230px; padding: 22px 10px; }
header .head-search form { width: 210px; display: -webkit-box; display: flex; }
header .head-search input[type="text"] { border: none; height: 36px; width: calc(100% - 36px); padding: 7px; }
header .head-search img { width: 17px; }
header .head-search button { background: #5C2E7E; width: 36px; height: 36px; border: 1px solid #fff; }

header .gloval-nav { position: absolute; top: 80px; left: 0; background: #665EC0; padding-top: 28.125%; width: 315px; min-height: 450px; }
header .gloval-nav nav { position: absolute; top: 0; right: 0; width: 100%; height: 100%; padding-left: 50px; }
header .gloval-nav nav .l_col-menu { min-width: 265px; padding: 40px 0 40px 30px; margin: 38px 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; }
header .gloval-nav nav .l_col-menu > li { letter-spacing: 0.1em; font-weight: bold; font-size: 1.6rem; line-height: 1.2; width: 100%; }
/* header .gloval-nav nav .l_col-menu > li:not(:last-of-type) { margin-bottom: 20px; } */
header .gloval-nav nav .l_col-menu > li > p > a { display: block; padding: 10px 20px 10px 10px; transition: all 0.2s; }
header .gloval-nav nav .l_col-menu > li > p > a:hover { background: #fff; color: #665EC0; text-decoration: none; }

@media (min-width: 768px) {
    header { height: 80px; padding-left: 20px; }
    
    header .head-logo a { display: -webkit-box; display: flex; }
    header .head-logo a:hover { text-decoration: none; }
    header .head-logo p { font-size: 1.4rem; }
    
    header .head-logo img { margin-right: 7px; }

    header .detail-menu { position: absolute; top: 0; left: 100%; padding: 40px 40px 30px 40px; background: rgba(255,255,255,0.95); width: calc(100vw - 315px); max-width: 1000px; min-width: 1000px; height: 100%; min-height: 450px; transition: all 0.3s; transform: translateX( calc(-100% - 110px) ); z-index: -1; }
    header .detail-menu.active { transform: translateX( 0 ); }
    header .detail-menu::before { content: ''; opacity: 1; background: linear-gradient(90deg, rgba(255,255,255,0.95) 0, rgba(255, 255, 255, 0.00) 100%); position: absolute; top: 0; right: -110px; width: 110px; height: 100%; }
    header .detail-menu,
    header .detail-menu a { color: #393472; font-weight: normal; letter-spacing: 0; }
    header .detail-menu > ul { height: 100%; }
    header .detail-menu ul > li { margin-bottom: 10px; font-size: 1.4rem; }
    header .detail-menu .menu-1 {}
    header .detail-menu .menu-1 > li { margin-bottom: 40px; }
    header .detail-menu .nav-heading-1 { color: #665EC0; font-weight: bold; border-left: 10px solid #6FB5CC; padding-left: 10px; margin-bottom: 20px; font-size: 1.9rem; line-height: 24px; }
    header .detail-menu .nav-heading-1 a { color: #665EC0; font-weight: bold; }
    header .detail-menu .nav-heading-2 { margin-bottom: 10px; font-size: 1.6rem; }
    header .detail-menu .nav-heading-2 a { color: #665EC0; font-weight: bold; }
    header .detail-menu .nav-heading-3 { color: #393472; letter-spacing: 0.05em; font-size: 2.2rem; font-weight: bold; line-height: 1.2; margin-bottom: 15px !important; width: 100%; flex-basis: 100%; }

    header .detail-menu { display: -webkit-box; display: flex; }    
    header .detail-menu li { /*max-width: 265px;*/ width: 100%; min-width: 255px; }
    
    header .l_col-menu > li:nth-of-type(1) .detail-menu { max-width: 800px; }
    header .l_col-menu > li:nth-of-type(2) .detail-menu { min-width: 380px; max-width: 380px; }

    /* header .l_col-menu > li:nth-of-type(4) .detail-menu { transform: translateX(0) } */
    header .l_col-menu > li:nth-of-type(4) .detail-menu { padding: 30px 40px 30px 40px; /*overflow-x: scroll;*/ /*background: linear-gradient(to right, #fff 89%, transparent);*/ /*max-width: 1050px;*/ }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .nav-heading-1 { margin-bottom: 10px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .column-grid { display: grid; grid-template-columns: repeat(2, auto); grid-template-rows: auto; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .menu-1.column-grid { grid-template-rows: 170px; gap: 0 30px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .menu-2.column-grid { gap: 10px 20px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .menu-3 li { min-width: auto; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu li { min-width: auto; margin-bottom: 7px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu li.grid-rows-2 { grid-row: 2 / 3; grid-column: 3 / 3; margin-bottom: 20px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu li.grid-rows-3 { grid-row: 3 / 3; grid-column: 3 / 3; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu li.size-2 { grid-row: 1 / 3; grid-column: 1 / 3; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .gs { margin-left: 70px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .gs .menu-1 {}
    header .l_col-menu > li:nth-of-type(4) .detail-menu .gs .menu-1 > li { margin-bottom: 25px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .inner { min-width: 616px; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu .inner.gs { min-width: 210px; }

    header .l_col-menu > li:nth-of-type(5) .detail-menu {}
    header .l_col-menu > li:nth-of-type(6) .detail-menu { min-width: 360px; max-width: 360px; }

    /* header .l_col-menu > li:nth-of-type(7) .detail-menu { transform: translateX(0) } */
    header .l_col-menu > li:nth-of-type(7) .detail-menu {}
    header .l_col-menu > li:nth-of-type(7) .detail-menu .menu-1 { max-width: 420px; margin-right: 60px; }
    header .l_col-menu > li:nth-of-type(7) .detail-menu .menu-1 li { max-width: none; }
    header .l_col-menu > li:nth-of-type(7) .detail-menu .menu-1 .menu-2 { padding-left: 20px; }
    header .l_col-menu > li:nth-of-type(7) .detail-menu .menu-2 { grid-template-columns: repeat(2, 180px); grid-template-rows: repeat(4, 50px); gap: 0 10px; }
    header .l_col-menu > li:nth-of-type(7) .detail-menu .column-grid { display: grid; /*grid-template-columns: repeat(2, 255px); grid-template-rows: auto;*/ }
    header .l_col-menu > li:nth-of-type(8) .detail-menu { min-width: 360px; max-width: 360px; }
}

@media (min-width: 768px) and (max-width: 1200px) {
    header .l_col-menu > li:nth-of-type(4) .detail-menu { overflow-x: scroll; background: #fff; min-width: auto; }
    header .l_col-menu > li:nth-of-type(4) .detail-menu::before { content: none; }
}

@media (min-width: 768px) and (max-width: 1100px) {
    header .head-logo a { display: block;}
    header .head-nav > ul > li > a { width: 80px; }

    header .l_col-menu > li:nth-of-type(1) .detail-menu,
    /* header .l_col-menu > li:nth-of-type(4) .detail-menu, */
    header .l_col-menu > li:nth-of-type(7) .detail-menu { overflow-x: scroll; background: #fff; }
    header .l_col-menu > li:nth-of-type(7) .detail-menu .menu-1 { margin-right: 10px; min-width: 380px; }
    header .l_col-menu li > .detail-menu { min-width: 0; max-width: 800px; background: linear-gradient(to right, rgba(255,255,255,0.95) 90%, transparent); }
    header .detail-menu::before { content: none; }
}

@media (max-width: 767px) {
    header { width: 100%; height: 50px; }
    header > div { -webkit-box-pack: center; justify-content: center; }

    /* header .head-logo { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; } */
    header .head-logo img { max-width: 140px; height: 18px; display: block; }
    header .head-logo p { font-size: 1rem; }

    header .head-nav { display: none; }
    header .gloval-nav { display: none; }
}


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

    footer

------------------------------------------------------*/
footer {}
footer, footer a { color: #fff; text-decoration: none; }
footer > .container { max-width: 1600px; margin: 0 auto; }
footer .foot-logo {}
footer .l_col-groupSites li a { text-align: center; letter-spacing: 0.1em; border: 1px solid #fff; width: 100%; display: block; padding: 0 26px; }
footer .l_col-sitenav a { padding: 5px 0; display: block; height: 100%; }
footer .l_col-sitenav img { margin: 0 auto 10px; display: block; }
footer .l_col-sitenav span { display: block; font-size: 1.4rem; text-align: center; letter-spacing: 0.05em; }
footer .contact-link { margin-right: 20px; }
footer .contact-link li:not(:last-of-type) { margin-bottom: 5px; }
footer .contact-link li a { border: 1px solid #fff; letter-spacing: 0.15em; text-align: center; width: 240px; height: 40px; display: block; line-height: 40px; position: relative; }
footer .contact-link li a::before { content: ''; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }
footer .contact-link li:nth-of-type(1) a::before { background: url(/campusview/common/images/icon_request.svg) no-repeat center / 100%; width: 20px; height: 16px; }
footer .contact-link li:nth-of-type(2) a::before { background: url(/campusview/common/images/icon_mail.svg) no-repeat center / 100%; width: 20px; height: 14px; }
footer .l_col-sns-link li:nth-child(-n+2) { margin-bottom: 5px; }
footer .l_col-sns-link li a { display: block; text-align: center; padding: 5px 0; }
footer .l_col-sns-link .fb a { background: #0071BC; }
footer .l_col-sns-link .line a { background: #06C755; }
footer .l_col-sns-link .insta a { background: #EC3A94; }
footer .l_col-sns-link .app a { background: #805C9A; }
footer .l_col-sns-link .app a { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
footer .copy { text-align: center; letter-spacing: 0.1em; padding: 10px 0 20px; }

@media (min-width: 768px) {
    footer { background: #665EC0; padding: 0 20px; }
    footer #fixedFooter { display: none; }
    footer #footMenuGlobalNav { display: none; }
    footer > .container { padding-top: 80px; }
    footer .foot-logo { max-width: 577px; margin-bottom: 45px; }
    footer .l_col-foot {}
    footer .l_col-foot > div { display: -webkit-box; display: flex; -webkit-box-align: end; align-items: flex-end; }
    footer .l_col-groupSites { margin-right: 20px; }
    footer .l_col-groupSites li {}
    footer .l_col-groupSites li a { font-size: clamp(1.4rem, 1vw, 1.6rem); height: 30px; line-height: 30px; transition: background 0.2s; }
    footer .l_col-groupSites li a:hover { background: #6FB5CC; text-decoration: none; }
    footer .l_col-sitenav { margin-right: 20px; }
    footer .l_col-sitenav a { border-left: 1px solid #fff; border-right: 1px solid #fff; width: 110px; transition: background 0.2s; }
    footer .l_col-sitenav a:hover { background: #6FB5CC; text-decoration: none; }
    footer .l_col-sitenav img { width: 30px; }
    footer .l_col-sitenav span {}
    footer .l_col-sitemap { font-size: clamp(1.4rem, 1vw, 1.6rem); }
    footer .l_col-sitemap a { position: relative; }
    footer .l_col-sitemap 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-sitemap a:hover { text-decoration: none; }
    footer .l_col-sitemap a:hover::after { transform: scale(1, 1); }
    footer .contact-link li a { transition: background 0.2s; }
    footer .contact-link li a:hover { background: #6FB5CC; text-decoration: none; }
    footer .l_col-sns-link { max-width: 255px; }
    footer .l_col-sns-link li a { width: 125px; line-height: 1.1; font-size: 1.4rem; transition: opacity 0.2s; }
    footer .l_col-sns-link li a:hover { opacity: 0.8; text-decoration: none; }
}

@media (min-width: 1151px) {
    footer .l_col-foot { margin-bottom: 25px; }
}

@media (min-width: 768px) and (max-width: 1150px) {
    footer .l_col-foot { -webkit-box-orient: vertical; -webkit-box-direction: reverse; flex-direction: column-reverse; }
    footer .l_col-foot > div { margin-bottom: 45px; }
    footer .l_col-sitenav { margin-right: auto; }
}

@media (max-width: 767px) {
    footer { padding-top: 125px; padding-bottom: 104px; }
    footer #fixedFooter { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; background: #665EC0; border-top: 1px solid #fff; }
    footer #fixedFooter .l_col-exam-info { border-bottom: 1px solid #FFF; }
    footer #fixedFooter .l_col-exam-info div { position: relative; width: 50%; margin-bottom: 0; }
    footer #fixedFooter .l_col-exam-info div:first-of-type::before { content: ''; position: absolute; background: #fff; top: 50%; right: -1px; transform: translateY(-50%); width: 1px; height: calc(100% - 25px); }
    footer #fixedFooter .l_col-exam-info div a { font-size: 1.2rem; letter-spacing: 0.1em; font-weight: bold; text-align: center; height: 45px; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
    footer #fixedFooter .l_col-exam-info div a img { margin-right: 15px; }
    footer #fixedFooter .l_col-nav {}
    footer #fixedFooter .l_col-nav li { width: calc(100% / 4); margin-bottom: 0; }
    footer #fixedFooter .l_col-nav li a { /*pointer-events: none;*/ display: block; height: 100%; text-align: center; position: relative; padding: 7px 0 21px; }
    footer #fixedFooter .l_col-nav li a > span { display: block; font-size: 1.2rem; font-weight: bold; letter-spacing: 0.1em; position: absolute; bottom: 2px; left: 0; right: 0; }
    footer #fixedFooter .l_col-nav li a .menu-btn { width: 32px; height: 32px; margin: 0 auto; padding: 4px 0; }
    footer #fixedFooter .l_col-nav li a .menu-btn span { transition: all 0.2s; background: #fff; display: block; height: 2px; }
    footer #fixedFooter .l_col-nav li a .menu-btn span:nth-of-type(1) { margin-bottom: 9px; }
    footer #fixedFooter .l_col-nav li a .menu-btn span:nth-of-type(2) { margin-bottom: 9px; }
    footer #fixedFooter .l_col-nav li a .menu-btn span:nth-of-type(3) {}
    footer #fixedFooter .l_col-nav li.menu.active { background: #B8D6F9; }
    footer #fixedFooter .l_col-nav li.menu.active .menu-btn span:nth-of-type(1) { transform: translateY(9px) rotate(-45deg); }
    footer #fixedFooter .l_col-nav li.menu.active .menu-btn span:nth-of-type(2) { opacity: 0; }
    footer #fixedFooter .l_col-nav li.menu.active .menu-btn span:nth-of-type(3) { transform: translateY(-13px) rotate(45deg); }

    footer > .container { background: #665EC0; padding-top: 25px; padding-left: 15px; padding-right: 15px; padding-bottom: 55px; padding-left: 15px; padding-right: 15px; display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; flex-direction: column-reverse; }
    footer .foot-logo { max-width: 201px; margin-bottom: 10px; }
    footer .l_col-foot { -webkit-box-orient: vertical; -webkit-box-direction: reverse; flex-direction: column-reverse; }
    footer .l_col-foot > div { margin-bottom: 0;}
    footer .l_col-groupSites { margin-bottom: 35px; }
    footer .l_col-groupSites li { width: 100%; margin-bottom: 0; }
    footer .l_col-groupSites li a { font-size: 1.2rem; height: 60px; line-height: 60px; font-weight: bold; }
    footer .l_col-sitenav { border-right: 1px solid #fff; margin-bottom: 20px; }
    footer .l_col-sitenav a { border-left: 1px solid #fff; width: 100%; min-height: 85px; position: relative; }
    footer .l_col-sitenav span { position: absolute; bottom: 3px; left: 0; right: 0; margin: 0 auto; }
    footer .l_col-sitenav li { width: 50%; margin-bottom: 0; }
    footer .l_col-sitenav img { width: 30px; }
    footer .l_col-sitenav li:last-of-type a { padding-top: 15px; }
    footer .l_col-sitenav li:last-of-type img { width: 40px; }
    footer .l_col-sitemap { font-size: 1.3rem; font-weight: bold; margin-bottom: -35px; }
    footer .l_col-sitemap li { width: 100%; text-align: right; margin-bottom: 0; }
    footer .contact-link { display: none; }
    footer .copy { position: absolute; bottom: 0; left: 0; right: 0; margin: 0 auto; font-size: 1.2rem; }
    footer .l_col-sns-link { position: absolute; top: -125px; left: 0; right: 0; margin: 0 auto; padding: 20px 15px; background: #fff; }
    footer .l_col-sns-link li { width: calc(50% - 3px); margin-bottom: 0; }
    footer .l_col-sns-link li a { height: 40px; font-size: 1.1rem; }

    #footMenuGlobalNav { background-color: rgba(153, 153, 153, 0.88); padding: 33px 0 50px; position: fixed; width: 100%; left: 0; bottom: -100%; z-index: 9998; transition: all 0.2s; }
    #footMenuGlobalNav.active { bottom: 105px;}
    #footMenuGlobalNav > div { overflow-y: auto; height: calc(100vh - 105px - 83px); height: calc(100dvh - 105px - 83px); }
    #footMenuGlobalNav .logo { text-align: center; margin-bottom: 35px; }
    #footMenuGlobalNav .logo > a{ display: block; max-width: 205px; margin: 0 auto; }
    #footMenuGlobalNav .logo img { width: 204px; height: 22px; margin-bottom: 15px; }
    #footMenuGlobalNav .logo p { font-weight: bold; font-size: 1.4rem; letter-spacing: 0.15em; }
    #footMenuGlobalNav ul li, #footMenuGlobalNav ul li a { color: #fff; font-weight: bold; font-size: 1.6rem; }
    #footMenuGlobalNav ul {}
    #footMenuGlobalNav ul li {}
    #footMenuGlobalNav ul:last-of-type > li:last-of-type {}
    #footMenuGlobalNav ul li a { border-bottom: 1px solid #fff; display: block; width: 100%; padding: 12px 45px 12px 20px; position: relative; }
    #footMenuGlobalNav .title_no-link { padding-left: 20px; }
    #footMenuGlobalNav .title_no-link > p { border-bottom: 1px solid #fff; display: block; width: 100%; padding: 12px 45px 12px 20px; position: relative; }
    #footMenuGlobalNav ul 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: 28px; top: calc(50% - 6px); }
    #footMenuGlobalNav ul li .more > a::before, #footMenuGlobalNav ul .more > a::after { content: ''; transition: all 0.2s; border: none; background: #fff; width: 14px; height: 2px; transform: rotate(0deg); position: absolute; top: 24px; right: 24px; }
    #footMenuGlobalNav ul li .more > a::after { transform: rotate(90deg); }
    #footMenuGlobalNav ul li.active > .more > a::after { transform: rotate(0deg); }
    #footMenuGlobalNav nav {}
    #footMenuGlobalNav nav .l_col-menu { display: block; border-top: 1px solid #fff; }
    #footMenuGlobalNav nav .l_col-menu > li { margin-bottom: 0;}
    #footMenuGlobalNav nav .menu-1 { padding-left: 20px; }
    #footMenuGlobalNav nav .menu-2 {}
    #footMenuGlobalNav nav .menu-2 li a { padding-left: 40px; }
    #footMenuGlobalNav nav .menu-3 { display: none; }
    #footMenuGlobalNav .detail-menu {}
    #footMenuGlobalNav .js-open-menu-sp { display: none; }
    #footMenuGlobalNav ul li.active > .js-open-menu-sp { display: block; }
}


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

	page-title

------------------------------------------------------*/
#page-title { position: relative; }
#page-title .title-wrap {}
#page-title .title-wrap > * {}
#page-title h1 {}
#page-title h1::after { content: "\A"; white-space: pre; }
#page-title span { line-height: 1.4; display: inline-block; background: linear-gradient(45deg, #5C2E7E, #3FA9F5 55%, #FF7BAC); -webkit-text-fill-color: transparent; -webkit-background-clip: text; font-weight: normal; letter-spacing: 0.1em; }
#page-title h1 + div span { font-weight: bold; letter-spacing: 0.07em; }

@media (min-width: 768px) {
    #page-title { background: url(/campusview/common/images/st_pagetitle.jpg) no-repeat center / cover; min-height: 450px; margin-left: 315px; padding-top: 28.125%; }
    #page-title .title-wrap { position: absolute; top: 0; left: 0; padding: 110px 0 0 45px; display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-align: start; align-items: flex-start; }
    #page-title .title-wrap > * { background: rgba(255,255,255,0.9); display: inline-block; padding: 3px 15px; }
    #page-title h1 { margin-bottom: 20px; }
    #page-title span { font-size: 4.8rem; }
    #page-title h1 + div span { font-size: 2.4rem; }
}

@media (max-width: 767px) {
    #page-title { background: url(/campusview/common/images/st_pagetitle_sp.jpg) no-repeat center / cover; height: 250px; }
    #page-title .title-wrap { text-align: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); padding: 20px 0px; width: 80%; display: -webkit-flex; display: flex;
    -webkit-flex-direction: column;flex-direction: column; -webkit-align-items: center;
	align-items: center; }
    #page-title .title-wrap > * { line-height: 1; }
    #page-title span { font-size: 2.8rem; line-height: 1.2; }
    #page-title h1 { background: rgba(255,255,255,0.9); padding: 10px; margin-bottom: 15px; }
    #page-title .title-wrap > div { background: rgba(255,255,255,0.9); display: inline; padding: 10px; }
    #page-title h1 + div span { font-size: 1.2rem; }
}


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

	local-nav

------------------------------------------------------*/
#local-nav-btn { width: 56px; height: 54px; color: #fff; position: absolute; right: 0; top: 0; background-color: #6FB5CC; 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: #B8D6F9; 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 #665EC0; border-radius: 4px; color: #665EC0; 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: #665EC0; 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: #665EC0; text-decoration: none; position: relative; display: block; height: 100%; padding: 1px 0; }
.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 {}

.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 .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: #665EC0; }
	.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; }

}


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

	sep

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

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

}

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


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

	column

------------------------------------------------------*/
[class^="l_col-"].justify-center { -webkit-box-pack: center; justify-content: center; }

@media (min-width: 768px) {
}

@media (max-width: 767px) {
}


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

	

------------------------------------------------------*/
.l_col-anchor-link {}
.l_col-anchor-link li {}
.l_col-anchor-link li a { line-height: 1.25; transition: all 0.2s; /* background: #F7F6FC; */  background: rgb(227,222,245); background: linear-gradient(90deg, rgba(227,222,245,1) 0%, rgba(247,246,252,1) 50%); text-decoration: none; color: #665EC0; text-align: center; display: block; font-weight: bold; font-size: clamp(1.4rem, 1.55vw, 1.8rem); padding: 0 35px 0 10px; position: relative; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
.l_col-anchor-link li a::before { transition: all 0.2s; content: ''; position: absolute; top: 50%; right: 10px; width: 20px; height: 20px; transform: translateY(-50%); background: #4B43A7;}
.l_col-anchor-link li a::after { content: ''; position: absolute; top: 50%; right: 16px; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translateY(-70%) rotate(135deg); }
.l_col-anchor-link li a.active { background: #6FB5CC; color: #fff; }
.l_col-anchor-link li a.active::before { background: #5993A6; }

.l_col-anchor-link li.color2 a { color: #D7A72B; }
.l_col-anchor-link li.color2 a::before { background: #D7A72B; }

@media (min-width: 768px) {
    .l_col-anchor-link { gap: 20px 10px; }
    .l_col-anchor-link::before { content: ''; display: block; width: calc((100% / 4) - 10px); max-width: 260px; order: 1; }
    .l_col-anchor-link::after { content: ''; display: block; width: calc((100% / 4) - 10px); max-width: 260px; }
    .l_col-anchor-link li { max-width: 260px; width: calc((100% / 4) - 10px); }
    .l_col-anchor-link li a { height: 60px; }
    .l_col-anchor-link li a:hover { background: #6FB5CC; color: #fff; }
    .l_col-anchor-link li a:hover::before { background: #5993A6; }
}

@media (max-width: 767px) {
    .l_col-anchor-link { /*gap: 10px;*/ }
    .l_col-anchor-link li { width: calc(50% - 10px); margin-bottom: 10px; }
    .l_col-anchor-link li a { height: 50px; }
}

/* @media (max-width: 480px) {
    .l_col-anchor-link li { width: 100%; }
} */


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

	title

------------------------------------------------------*/
.title-a { position: relative; color: #665EC0; font-weight: bold; padding: 16px 10px; letter-spacing: 0.05em; }
.title-a span { display: block; position: relative; }
.title-a span::before { content: ''; position: absolute; left: 0; background: #665EC0; }
.title-a.type2 { padding: 16px 0; }
.title-a.type2 span { border: none; }
.title-a.type2 span::before { content: none; }
.title-a.type2 .icon { background: #6FB5CC; color: #fff; font-weight: bold; letter-spacing: 0; text-align: center; position: absolute; left: 0; }

.title-a.color2 { color: #D7A72B; }
.title-a.color2 span::before  {  background: #D7A72B; }

.title-b { color: #665EC0; letter-spacing: 0.05em; font-weight: bold; border-bottom: 1px solid #ddd; padding: 5px 0; }

.title-c { letter-spacing: 0.05em; font-weight: bold; }

.title-d  { color: #665EC0; font-weight: bold; }

.title-e { position: relative; color: #393472; letter-spacing: 0.05em;  border-left: 10px solid #6FB5CC; line-height: 1.4; letter-spacing: 2px; }
/* .title-e.pink {border-left: 10px solid #F19DBC;} */

.title-f {  color: #665EC0; }

@media (min-width: 768px) {
    .title-a { font-size: 3.2rem; border-top: 4px solid; border-bottom: 4px solid; margin-bottom: 30px; }
    .title-a span { padding-left: 30px; }
    .title-a span::before { width: 9px; height: 34px; top: 8px; }
    .title-a.type2 {}
    .title-a.type2 .icon { font-size: 1.6rem; padding: 5px; width: 137px; height: 34px; top: 24px; }
    .title-a.type2 span {}
    .title-a.type2 span:not(.icon) { padding-left: 155px; }

    .title-b { font-size: 2.4rem; margin-bottom: 20px; }

    .title-c { font-size: 2.0rem; margin-bottom: 20px; }

    .title-d  { font-size: 1.6rem; margin-bottom: 10px; }

    .title-e { font-size: 2.4rem; margin-bottom: 20px; padding-left: 10px; border-width: 10px; }

    .title-f { font-size: 3.0rem; }
}

@media (max-width: 767px) {
    .title-a { font-size: 2.4rem; border-top: 3px solid; border-bottom: 3px solid; margin-bottom: 20px; }
    .title-a span { padding-left: 15px; }
    .title-a span::before { width: 6px; height: 28px; top: 5px; }
    .title-a.type2 {}
    .title-a.type2 .icon { font-size: 1.2rem; padding: 4px; width: 105px; height: 27px; top: 18px; }
    .title-a.type2 span {}
    .title-a.type2 span:not(.icon) { padding-left: 120px; }

    .title-b { font-size: 2.0rem; margin-bottom: 10px; }

    .title-c { font-size: 1.6rem; margin-bottom: 10px; }

    .title-d  { font-size: 1.4rem; margin-bottom: 10px; }

    .title-e { font-size: 1.8rem; margin-bottom: 5px;  line-height: 1.2; padding-left: 5px; border-width: 8px; }

    .title-f { font-size: 2.4rem; }
}


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

	text

------------------------------------------------------*/
.text { line-height: 1.8; margin-bottom: 15px; }
.text p { color: #393472; }
.text strong {}
.text strong.red { font-weight: normal; color: #EC3A94;}
a, .text a, .text a:visited { color: #017DC2; }

.color-a { color: #393472 !important; }


@media (min-width: 768px) {
    .text { font-size: 1.6rem; }
}

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


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

    table

------------------------------------------------------*/
.table-wrap { overflow-x: auto;  }
.table-a { width: 100%; margin-top: 30px; }
.table-a th, .table-a td { color: #393472; border: 1px solid #665EC0; text-align: center; vertical-align: middle; padding: 10px; }
.table-a th { background: #E4EEFA; color: #665EC0; font-weight: normal; }
.table-a th.dark { font-weight: bold; background: #C4DAF4; }
.table-a td {}
.table-a .text-left { text-align: left; }

@media (min-width: 768px) {
    .table-a {  margin-bottom: 50px; }
    .table-a th, .table-a td { height: 65px; }
}

@media (max-width: 767px) {
    .table-wrap { margin-bottom: 30px; }
    .table-a {  margin-bottom: 10px; }

    .table-a th, .table-a td { font-size: 1.4rem; height: 45px; }
}


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

	btn

------------------------------------------------------*/
/* btn-a */

.btn-a {}
.btn-a a { background: #6FB5CC; color: #fff; text-align: center; font-weight: bold; display: block; max-width: 360px; position: relative; text-decoration: none; padding: 14px 10px; border: 1px solid #6FB5CC; transition: all 0.4s; }
.btn-a a::before { content: ''; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); width: 20px; height: 20px; background: #5993A6; }
.btn-a a::after { content: ''; position: absolute; top: 50%; right: 17px; transform: translateY(-50%) rotate(45deg); width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; }

.btn-a a:hover { background: #fff; border: 1px solid #6FB5CC; color: #6FB5CC; }

.btn-a.color2 > a { background: #F7F6FC; color: #665EC0; padding: 25px 10px; border: 1px solid #F7F6FC; transition: all 0.4s; }
.btn-a.color2 a::before { background: #665EC0; transition: all 0.4s;  }

.btn-a.color2:hover > a::before { border: 1px solid #665EC0; background: #F7F6FC; }
.btn-a.color2:hover > a::after { border-top: 2px solid #665EC0; border-right: 2px solid #665EC0;  }
/* btn-b */
.btn-b a { text-decoration: none; display: block; position: relative; font-weight: bold; }

.btn-b a { color: #665EC0; background-color: #fff; font-size: 1.8rem; text-align: center;  max-width: 360px; min-height: 80px; border: 1px solid #665EC0; display:flex; justify-content:center; align-items:center; line-height: 1.4;  }

.btn-b a::before {}
.btn-b a::after{
    content: ''; width: 10px; height: 10px; border-top: 2px solid #665EC0; border-right: 2px solid #665EC0; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 5px);
}

.btn-b.color2 a { color: #D7A72B; border: 1px solid #D7A72B; }
.btn-b.color2 a::after {  border-top: 2px solid #D7A72B; border-right: 2px solid #D7A72B; }

/* btn-c */

.btn-c {}
.btn-c a,
.btn-c span { text-decoration: none; display: block; position: relative; font-weight: bold;  color: #fff; background-color: #665EC0; font-size: 1.4rem; text-align: center; padding: 3px 10px 5px 0; width: 75px; line-height: 1; border: 1px solid #665EC0; }
.btn-c a::before,
.btn-c span::before {}
.btn-c a::after,
.btn-c 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); }

.btn-c.inversion a,
.btn-c.inversion span { background-color: #fff; border: 1px solid #665EC0; color: #665EC0; }

.btn-c.inversion a::after,
.btn-c.inversion span::after { border-top: 2px solid #665EC0; border-right: 2px solid #665EC0; }



.btn-c.green a,
.btn-c.green span { background-color: #6FB5CC; border: 1px solid #6FB5CC;  }

.btn-c.green a::after,
.btn-c.green span::after { }


/* btn-d */

.btn-d a { text-decoration: none; display: block; position: relative; font-weight: bold; }

.btn-d a { color: #665EC0; background-color: #B8D6F9;  text-align: center;  max-width: 360px; border: 1px solid #B8D6F9; display:flex; justify-content:center; align-items:center; }

.btn-d a::before {}
.btn-d a::after{
    content: ''; width: 6px; height: 6px; border-top: 2px solid #665EC0; border-right: 2px solid #665EC0; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 10px; top: calc(50% - 0px);
}




@media (min-width: 768px) {
    /* btn-a */
    .btn-a a { font-size: 2.0rem; }

     /* btn-b */
    .btn-b a { transition: background-color 0.4s; }
	.btn-b a:hover { background-color: #F0EAF5; }

    .btn-b.color2 a:hover { background-color: #fffbf0; }

    /* btn-c */
    .btn-c a,
    .btn-c span { transition: color 0.4s,background-color 0.4s,border-color 0.4s; }
    .btn-c a:hover,
    .btn-c span:hover { background-color: #F0EAF5; color: #665EC0; }
    .btn-c a:hover::after,
    .btn-c span:hover::after { border-color: #665EC0; }

    .btn-c.green a:hover,
    .btn-c.green span:hover { background-color: #eaf5ee; color: #6FB5CC; }
    .btn-c.green a:hover::after,
    .btn-c.green span:hover::after { border-color: #6FB5CC; }

    .btn-c.inversion a:hover,
    .btn-c.inversion span:hover { background-color: #eaf5ee; color: #6FB5CC; }

     /* btn-d */
     .btn-d a { transition: opacity 0.4s; font-size: 2.0rem; min-height: 80px; }
     .btn-d a:hover { opacity: 0.8; }


}

@media (max-width: 767px) {
    /* btn-a */

    .btn-a a  { font-size: 1.8rem; max-width: 100%; width: 100%; }

    .btn-b a { max-width: 100%; min-height: 70px; }

    .btn-d a { font-size: 1.6rem; min-height: 50px; justify-content: left; padding-left: 10px; }

}





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

	

------------------------------------------------------*/
.l_col-layout-a { background: #F0F6FD; position: relative; }
.l_col-layout-a > div {}
.l_col-layout-a > div .text { margin-bottom: 0; }
.l_col-layout-a > figure { margin-bottom: 0; }

@media (min-width: 768px) {
    .l_col-layout-a { margin-left: 60px; margin-bottom: 50px; }
    .l_col-layout-a::before { content: ''; background: #B8D6F9; position: absolute; bottom: -50px; left: -60px; width: 100%; height: 100%; z-index: -1; }
    .l_col-layout-a > div { max-width: 49.09%; padding: 25px 40px; }
    .l_col-layout-a > figure { max-width: 50.91%; }
    .l_col-layout-a > figure img { -o-object-fit: cover; object-fit: cover; height: 100%; }
}

@media (max-width: 767px) {
    .l_col-layout-a {}
    .l_col-layout-a > div { padding: 20px 15px; }
    .l_col-layout-a > figure {}
}


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

	bg

------------------------------------------------------*/
.bg-red { background-color: #FBEFF3; padding: 20px;}
.bg-gray { background-color: #F7F6FC; padding: 20px;}

/* .bg-gradation { background: none; position: relative; padding: 0;}
.bg-gradation::before { content: ''; position: absolute; width: 100%; height: 360px; 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(255,255,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: 60px; } */
    
	/* .bg-gradation::before { height: 600px;} */
    /* .bg-gradation.short::before { height: 60px; } */
}


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

	index

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

@media (min-width: 768px) {
}

@media (max-width: 767px) {
}


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

	parts

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

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

hr {}

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

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


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

	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-gray { padding-left: 15px; padding-right: 15px; }

@media (min-width: 768px) {

}

@media (max-width: 767px) {
    .annotation ul li { font-size: 1.4rem; }
}


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

	accordion

------------------------------------------------------*/
.accordion { margin-bottom: 0; margin-top: -1px; }
.accordion > .head { font-size: 1.6rem; position: relative; border: 1px solid #665EC0; background: #fff; letter-spacing: 0.1em; line-height: 1.4; color: #000; font-weight: bold;}
.accordion > .head .btn { width: 35px; height: 35px; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }
.accordion > .head .btn span { height: 1px; background-color: #665EC0; 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 { padding: 18px 50px 18px 30px; transition: background-color 0.2s; cursor: pointer; }
	.accordion > .head:hover { background: #F0EAF5; }
	.accordion > .head .btn {}
	.accordion > .head .btn span { width: 30px; }
	.accordion > .body { padding: 50px 60px 60px 60px; }
}

@media (max-width: 767px) {
	.accordion > .head { padding: 18px 50px 18px 10px; }
	.accordion > .head .btn {}
	.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-c { margin-bottom: 10px; }
.contact-information .l_col-2 .text { margin-bottom: 0;}
.contact-information .l_col-2 .text p {}
.contact-information .l_col-2 .title-d {}

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

@media (max-width: 767px) {
    .contact-information { padding: 20px 15px 20px;}
    .contact-information .l_col-2 > div:first-of-type { margin-bottom: 20px; }
}


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

	list

------------------------------------------------------*/
ol { list-style-position: inside; text-indent: -1.25em; padding-left: 1.25em; line-height: 1.8; }

@media (min-width: 768px) {
}

@media (max-width: 767px) {
    ol { font-size: 1.4rem; }
}


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

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


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

  index

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

#index main .contents { /* overflow: hidden; */ }
#index main .container {  }

#index .l_col-index {  }
#index .l_col-index > div{ position: relative; }
#index .l_col-index > div > section  { background: #F7F6FC; margin-bottom: 0px;  }

#index .l_col-index .text p:last-of-type { margin-bottom: 5px; }

#index .l_col-index a { text-decoration: none; }

#index .l_col-index > div > section .contents_wrap {  }

#index .l_col-index > div > .dark  { background: #665EC0;}
#index .l_col-index > div > .dark .title-e,#index .l_col-index > div > .dark p { color: #fff; }

#index .l_col-index > div > .small .contents_wrap { display: -webkit-flex; display: flex;
-webkit-justify-content: space-between; justify-content: space-between; align-items: center; }

#index .l_col-index > div > .small .title-e { margin-bottom: 0px; }
#index .l_col-index > div > .small { border-bottom: 5px solid #665EC0;  }

#index .l_col-index .text{  }

#index .l_col-index .l_col-index-side {  height: calc(100% - 20px) ; }
#index .l_col-index .l_col-index-side > * { width: 50%; position: relative; }
#index .l_col-index .l_col-index-side .btn-c { position: absolute; }

#index .l_col-index.stretch > div {  }
#index .l_col-index.stretch > div > section { height: 100%; margin-bottom: 0px;  }
#index .l_col-index.stretch > div > section > a { height: 100%; display: block;  }
#index .l_col-index.stretch .btn-c { position: absolute; }
#index .l_col-index.stretch .text { }

#index .btn-c a,#index .btn-c span  { width: 75px; }
#index .btn-c.right a,#index .btn-c.right span { margin-left: auto; margin-right: 0px; }
#index figure { margin-bottom: 0px; }

#index .l_col-index > div > .dark:hover .btn-c {  }

/* bg-gradation */

#index .bg-grad-left { position: relative; }
#index .bg-grad-left::before { position: absolute; height: 520px; background: linear-gradient(90deg, rgba(255,206,224,0.6) 0%, rgba(255,206,224,0) 100%); left: 0px; content: ''; display: block;  margin-left: calc(50% - 50vw); z-index: -1; }

#index .bg-grad-right { position: relative; }
#index .bg-grad-right::after { position: absolute; height: 520px; background: rgb(255,206,224); background: linear-gradient(270deg, rgba(255,206,224,0.6) 0%, rgba(255,206,224,0) 100%); right: 0px; content: ''; display: block;  margin-right: calc(50% - 50vw); z-index: -1; }

#index .bg-grad-left.grad-blue::before{ background: rgb(184,214,249); background: linear-gradient(90deg, rgba(184,214,249,0.65) 0%, rgba(184,214,249,0) 100%); }
#index .bg-grad-right.grad-blue::after{ background: rgb(184,214,249); background: linear-gradient(270deg, rgba(184,214,249,0.65) 0%, rgba(184,214,249,0) 100%);}

#index .bg-grad-left.grad-purple::before{ background: rgb(188,127,249);
background: linear-gradient(90deg, rgba(188,127,249,0.4) 0%, rgba(188,127,249,0) 100%); }
#index .bg-grad-right.grad-purple::after{ background: rgb(188,127,249);
background: linear-gradient(270deg, rgba(188,127,249,0.4) 0%, rgba(188,127,249,0) 100%); }

#index .bg-index-blue { position: relative; }
#index .bg-index-blue::before { position: absolute; content: ''; display: block; width: 100vw; margin-left: calc(50% - 50vw); z-index: -1; background: #B8D6F9; height: 100%; }

#index .bg-index-blue .l_col-index {  }

/* #index .l_col-index > div > .dark a:hover .btn-c span { background-color: #F0EAF5;
color: #665EC0; } */
#index .l_col-index > div > .dark a:hover figure { background: #fff; }
#index .l_col-index > div > .dark a:hover figure img { opacity: 0.8; transition: all 0.4s; }

#index .l_col-index > div a:hover figure { background: #fff; }
#index .l_col-index > div a:hover figure img { opacity: 0.8; transition: all 0.4s; }

#index .l_col-index a:hover .btn-c span { background-color: #F0EAF5; color: #665EC0; }
#index .l_col-index a:hover .btn-c span::after { border-top: 2px solid #665EC0; border-right: 2px solid #665EC0; }

#index .l_col-index > div a:hover .btn-c.green span{ background-color: #eaf5ee; color: #6FB5CC; }
#index .l_col-index > div a:hover .btn-c.green span::after{ border-top: 2px solid #6FB5CC; border-right: 2px solid #6FB5CC; }

#index .l_col-index > div a:hover .btn-c.inversion span { background-color: #6FB5CC; color: #eaf5ee; }
#index .l_col-index > div a:hover .btn-c.inversion span::after{ border-top: 2px solid #fff; border-right: 2px solid #fff; }

@media (min-width: 768px) {
    #index main .contents { padding-top: 140px; }

    #index .bg-grad-left::before { width: 45vw; }
    #index .bg-grad-right::after { width: 45vw; }

    #index .l_col-index > div > section .contents_wrap { padding: 31px; margin-bottom: 0px; }
    #index .l_col-index > div{ width: calc( 50% - 20px ); margin-bottom: 0px; }
    #index .l_col-index > div > section { margin-bottom: 20px; }
    #index .l_col-index > div > .small .contents_wrap { padding: 40px 30px; margin-bottom: 0px; }
    #index .l_col-index .text{ margin-bottom: 30px; }
    #index .l_col-index .l_col-index-side .btn-c {  right: 30px; bottom: 30px; }

    #index .l_col-index.stretch:first-child { margin-bottom: 40px; }
    /* #index .l_col-index.stretch .text { margin-bottom: 60px; } */
    #index .l_col-index.stretch .btn-c { bottom: 30px; right: 30px; }

    #index .bg-index-blue .l_col-index { padding: 60px 0px; }
}

@media (max-width: 767px) {
    #index .text { padding: 0px; line-height: 1.6; margin-bottom: 0px; }

    #index main .contents { padding-top: 60px; }
    #index main .container { margin-left: 25px; margin-right: 25px; }

    #index .bg-grad-left::before { width: 100vw; }
    #index .bg-grad-right::after { width: 100vw; }

    #index .l_col-index { -webkit-flex-direction: column; flex-direction: column;  }
    #index .l_col-index > div > .dark  { margin-bottom: 10px;}
    #index .l_col-index > div > section { margin-bottom: 10px; }
    #index .l_col-index .l_col-2 { margin-top: 25px; }
    #index .l_col-2 > div:first-child .btn-d { margin-bottom: 10px; }
    #index .l_col-index > div > section .contents_wrap { padding: 15px; margin-bottom: 0px; }
    #index .l_col-index > div > .small { margin-bottom: 10px; /* padding: 15px; */ }
    #index .l_col-index > .right > .small { margin-bottom: 0px; }
    #index .l_col-index .l_col-index-side .btn-c {  right: 15px; bottom: 15px; }

    #index .l_col-index.stretch > div { margin-bottom: 10px; }
    #index .l_col-index.stretch .text { margin-bottom: 30px; }
    #index .l_col-index.stretch .btn-c { bottom: 15px; right: 15px; }

    #index .bg-index-blue .l_col-index { padding: 30px 0px; }

}

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

  news

------------------------------------------------------*/
.news-list {}
.news-list > div {}
.news-list a { display: block; text-decoration: none;}
.news-list .info-wrap { padding: 0;}
.news-list .info-wrap figure {}
.news-list .info-wrap figure img {}
.news-list .info-wrap .info {}
.news-list .info-wrap .info > p {}
.news-list .info-wrap .info .category { background-color: #665EC0; color: #fff; text-align: center;}
.news-list .info-wrap .info .date { font-size: 1.6rem; color: #393472;}
.news-list .info-wrap .info .text { margin-bottom: 0;}
.news-list .info-wrap .info .title-info { font-weight: bold; line-height: 1.5;}

@media (min-width: 768px) {
    .news-list {}
    .news-list > div {}
    .news-list a { border-left: 10px solid #6FB5CC;}
    .news-list .info-wrap {}
    .news-list .info-wrap figure { width: 160px; max-height: 120px; overflow: hidden;}
    .news-list .info-wrap figure img { object-fit: cover; width: 100%; height: 100%;}
    .news-list .info-wrap .info { width: calc(100% - 160px); padding: 20px 25px 10px 25px;}
    .news-list .info-wrap .info > p { margin-bottom: 3px;}
    .news-list .info-wrap .info .category { min-width: 150px; display: inline-block; height: 24px; line-height: 24px; margin-right: 14px; font-size: 1.4rem;}
    .news-list .info-wrap .info .date {}
    .news-list .info-wrap .info .text {}
    .news-list .info-wrap .info .title-info { font-size: 2.2rem; line-height: 1.4; }
}

@media (max-width: 767px) {
    .news-list {}
    .news-list > div {}
    .news-list a {}
    .news-list .info-wrap {}
    .news-list .info-wrap figure { width: 100%;}
    .news-list .info-wrap figure img { width: 100%; height: auto;}
    .news-list .info-wrap .info { width: 100%;}
    .news-list .info-wrap .info > p {}
    .news-list .info-wrap .info .category { display: block; font-size: 1.4rem; line-height: 1.8; padding: 1px 0;}
    .news-list .info-wrap .info .date { display: block; padding: 10px 10px 0;}
    .news-list .info-wrap .info .text {}
    .news-list .info-wrap .info .title-info { font-size: 1.8rem; padding: 5px 10px 10px;}
}

    /* #index #news a { text-decoration: none;  }
    #index #news .l_col-news { -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center;  }
    #index #news .l_col-news .text  {  }
    #index #news .l_col-news .text p { margin-bottom: 0px; }
    #index #news .l_col-news { position: relative; }
    #index #news .l_col-news .btn-c { }
    #index #news .l_col-news .title-info { font-weight: bold; }

    #index #news .bg-gray { padding: 0px; } 
    #index #news figure { max-width: 160px; margin-right: 20px; }
    #index #news .day { margin-right: 20px; }

    #index #news > div { position: relative; }
    #index #news > div:before { content: ''; background: #6FB5CC; z-index: 3;
    position: absolute; display: block; }


    @media (min-width: 768px) {
        #index #news .l_col-news .text  { display: -webkit-flex; display: flex; -webkit-align-items: center;align-items: center; }
        #index #news .l_col-news .title-info { font-size: 2.4rem;  }
        #index #news .l_col-news .btn-c { position: absolute;  right: 40px; }
        #index #news > div:before { width: 10px; height: 100%;  }
        
    }
    
    @media (max-width: 767px) {
        #index #news .l_col-news .text  { padding: 10px; }
        #index #news .l_col-news .title-info { font-size: 2.0rem;  }

        #index #news .l_col-news .btn-c { padding: 10px; }
        #index #news > div:before { height: 10px; width: 100%; top: 0px;  }

    
    } */









    