@charset "utf-8";
/* CSS Document */

.c-nav__list,
.c-nav__buttonbox2-item {
    font-weight: 400;
}

.c-nav {
    background: none;
}

.c-nav__button {
    box-shadow: none;
    border-radius: 6px;
}

.c-nav__buttonbox2-item {
    border-radius: 0;
}

.c-nav.-footer,
.c-nav,
.l-footer {
    border-radius: 0;
}

.c-burger:hover {
    background: rgba(255, 255, 255, 0.4);
    border: none;
}

@media screen and (max-width: 768px) {
    .c-nav__button p {
        font-size: 14px;
    }

    .c-nav .c-burger {
        background: none;
    }
}


/* 共通カラー指定 */
.c-nav__item,
.c-nav__item2,
.c-nav__list2,
.c-nav__item--q2,
.c-nav__buttonbox2-item,
.c-nav__item:nth-child(-n+1) {
    border-color: #aaaeb2;
}

@media screen and (min-width: 769px) {
    .c-nav__item:nth-child(-n+3),
    .l-footer .c-nav__item:nth-child(-n+3) {
        border-color: #aaaeb2;
    }
}

.c-nav__buttonbox2-item::after {
    background-image: url(../images/icon-arrow-white.svg);
}

.c-nav-header {
    background: rgba(45, 54, 66, 0.95);
}

.l-footer {
    background: rgba(45, 54, 66, 1);
}

.c-nav__item--q,
.c-nav__buttonbox2-item {
    background-color: #001927;
}

.c-nav__list2 {
    background-color: #213f50;
}
.c-nav__item--q2.active .c-nav__item--flex {
    background-color: #004d84;
}



/*--- header
----------------------------**/
.c-nav__button.-opencampus {
    color: #fff;
    border: 1px solid #aaafb3;
    background-image: linear-gradient(125deg, #ff2993, #f5759f, #f8b955, #ffba00);
    background-size: 200% 100%;
    animation: gradient 10s cubic-bezier(.445, .05, .55, .95) infinite;
}

.c-nav__button.-opencampus svg path {
    fill: #fff;
}

.c-nav__button.-opencampus svg text {
    fill: #ff9062;
}

.c-nav__button:hover.-opencampus {
    background-image: linear-gradient(125deg, #ff648d 25%, #ffc322 75%);
}

.c-nav__button:hover.-opencampus svg text {
    fill: #ffb426;
}

.c-nav__button.-request,
.c-nav__button.-contact {
    color: #fff;
    border: 1px solid #aaafb3;
    background-image: linear-gradient(125deg, #10d590, #0f8ae5);
}

.c-nav__button.-request svg path,
.c-nav__button.-contact svg path {
    fill: #fff;
}

.c-nav__button.-request svg text,
.c-nav__button.-contact svg text {
    fill: #1589e0;
}

.c-nav__button:hover.-request,
.c-nav__button:hover.-contact {
    color: #fff;
    background-image: linear-gradient(125deg, #0f8ae5, #10d590);
}

.c-nav__button:hover.-request svg text,
.c-nav__button:hover.-contact svg text {
    fill: #29ae9f;
}



/*--- footer
----------------------------**/
.footer-information {
    padding-left: 0;
    padding-right: 0;
    padding-top: 5rem;
}

.footer-site-name span {
    font-weight: 400;
}

.l-footer small {
    margin: 0;
    text-align: left;
}

@media not all and (min-width: 769px) {
    footer .sns-list ul {
        justify-content: left;
    }
    footer address {
        padding-right: 0;
    }
}



/* 2509 通常校に合わせるための追記分 */
/*---------

01.base set

----------------------------**/

.c-nav{
    font-family: "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*---------

04.title / p / img / content

----------------------------**/

/*--- font-set
----------------------------**/
 
.c-nav h1,
.c-nav h2,
.c-nav .index
.c-nav .title-lead,
.c-nav div[class$="-site-name"],
.c-nav .course-name{
	font-family: 'Noto Sans JP', sans-serif;	
}

.c-nav .to-more, 
.c-nav .phone-number, 
.c-nav time, 
.c-nav .rank{
	font-family:HelveticaNeue, nimbus-sans, sans-serif;
}


/*---------

12.footer

----------------------------**/
/*--- footer information
----------------------------**/

.footer-information{
	line-height: 1.6;
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-rows: auto;
    color: #fff;
}

.footer-contact{
	align-self: flex-end;
}

.footer-site-name {
	line-height: 1.3;
    padding-bottom: 2.4%;
}

.footer-site-name span{
	font-size: 20px;
	display: inline-block;
}

.footer-contact .phone-number {
    font-size: 30px;
    line-height: 1.2;
}

/*--- sns-list
----------------------------**/

footer .sns-list ul{
	padding: 1.4% 0 4%;
	display: grid;
	grid-column-gap: 16px;
	grid-template-columns: repeat(auto-fit ,32px);
	margin-top: 0;
}

/*--- group-nav
----------------------------**/

.group-nav ul{
	font-size: 12px;
	display: flex;
	flex-wrap: wrap;
}

.group-nav li a{
	display: inline-block;
	padding-right: .75rem;
	margin:0 .75rem .5em 0;
}

.group-nav li:not(:last-child) a{ border-right: 1px solid #898989;}

/*--- copyright
----------------------------**/

.copyright-text{ padding-top: 4%;}

@media not all and (min-width:769px){
	footer .sns-list ul{
		padding: 6% 0 12%;
		margin-top: 0;
	}
	footer address{ font-size: 12px;}
    .footer-contact{ font-size: 10px;}
}

@media (min-width:769px){
	.footer-information{ grid-template-columns: 540px 1fr; }
	
	.sns-list,
	.group-nav,
	.copyright-text{ grid-column: 1 / span 2;}

	footer address,
	.footer-contact{ font-size: 14px;}

	footer address{
		min-width: 540px;
		padding-right: 4%;}

	.footer-site-name span{ font-size: 30px;}
	.footer-contact{ align-items: flex-end;}
	.footer-contact_phone{ padding-right: 3rem;}
	.footer-contact .phone-number{ font-size: 40px;}


}

/*--- footer-sitemap
----------------------------**/
@media not all and (min-width:769px){
	footer address{
		padding-bottom: 4%;
	}
}


/*---------

13.address

----------------------------**/

.to-map{
	background-color:white;}
	
a.to-map{
	font-size: 10px;
	line-height: 1.2;
    border: 1px solid #333;
	display: inline-block;
	padding: 2.5px 10px;
	margin-left: 10px;
	border-radius: 15px;
    color: #000;
}

a.to-map:link{
	text-decoration: underline;}
	
.map-img{
	margin-top: 0px;
	margin-right: 5px;
	width: 10px;
	height: 14px;
}

/* 20251008 SNSアイコン＋バナー設定 */
.c-nav-header .nav-banner-area{
    margin: 24px auto;
    padding: 0;
    max-width: 330px;
}
.c-nav-header .nav-sns-list ul {
    padding: 1.4% 0 4%;
    display: grid;
    grid-column-gap: 16px;
    grid-template-columns: repeat(auto-fit, 32px);
    justify-content: center;
    margin-top: 30px;
}
.c-nav__inner{
    max-height: 100vh;
}
footer .nav-banner-area,footer .nav-sns-list{
    display: none;
}

.c-nav__inner a:hover{
    opacity: 0.8;
}

.c-nav__inner a.c-nav__button:hover{
    opacity: 1;
}
.c-nav.-footer a:hover {
    opacity: 0.8;
}