@charset "utf-8";

/*=====================================

responsive.css

=====================================*/


br.forPC { display: inline; }
br.forSP { display: none; }

.forPC { display: block; }
.forSP { display: none; }


/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
	.forPC { display: none; }
	.forSP { display: block; }

	br.forPC { display: none; }
	br.forSP { display: inline; }

/* layout */

	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#wrapper{
		
	}





	header{
		min-width: auto;
	}

	header .headerLogo img {
		max-width: 140px;
	}
	.headerSpBtn{
		padding: 15px 15px 14px 13px;
		height: 26px;
	}



	header .headerLogo {
		padding-left: 15px;
		padding-top: 15px;
		padding-bottom: 13px;
		height: 55px;
		width: auto;
	}
	.inner {
		box-sizing: border-box;
		padding-left: 4%;
		padding-right: 4%;
		width: 100%;
	}

	
	.gNav {
		background-color: #000;
		padding-top: 20px;
		padding-bottom: 20px;
		clear: both;
		display: none;
		position: absolute;
		width: 100vw;
		z-index: 2;
		right: 0;
		top: 55px;
		overflow: auto;
		height: calc(100vh - 67px);
		height: calc(100dvh - 67px);
	}
	.gNav a {
		color: #FFFFFF;
		display: block;
		padding: 15px;
	}
	.gNav .gNavLinkList {
		display: block;
		width: 100%;
		margin-top: 20px;
		border-top: solid 1px #FFF;
		font-size: 1.4rem;
	}
	.gNav .gNavLinkList > li > a{
		background-image: url(../images/ico_arrow_white_mini.svg);
		background-repeat: no-repeat;
		background-position: right 4% center;
	}
	.gNav li {
		width: 100%;
		text-align: left;
		border-left: none;
		border-bottom: solid 1px #FFF;
		padding-left: 0;
    	padding-right: 0;
		display: block;
	}
	.gNav li:last-child {
		border-right: none;
	}
	.gNav .gNavLinkList > li .child {
		padding-left: 4%;
		padding-right: 4%;
		display: block;
		position: relative;
		padding-top: 0;
		padding-bottom: 0;
		left: auto;
		margin-top: auto;
		width: auto;
		z-index: auto;
		background-color: transparent;
	}
	.gNav a.parent.active > span {
		background-color: transparent;
	}
	
	.gNav .gNavLinkList > li .child li{
		margin-bottom: 5px;
		padding-bottom: 10px;
	}
	.gNav .gNavLinkList > li .child li:last-child{
		margin-bottom: 20px;
	}

	.gNav .gNavLinkList > li .child a {
		padding-top: 5px;
		padding-bottom: 5px;
		background-color: #000;
		border-radius: 5px;
		background-image: url(../images/ico_arrow_white.svg);
		background-repeat: no-repeat;
		background-position: left 10px center;
		padding-left: 26px;
		font-size: 1.2rem;
		background-size: 10px;
	}
	.languageSelect > div a{
		padding: 10px;
	}
	
	header{
		min-width: auto;
	}

	header .headerLogo img {
		max-width: 140px;
	}
	.headerSpBtn{
		padding: 15px 15px 14px 13px;
		height: 26px;
	}



	header .headerLogo {
		padding-left: 15px;
		padding-top: 15px;
		padding-bottom: 13px;
		height: 55px;
		width: auto;
	}
	.inner {
		box-sizing: border-box;
		padding-left: 4%;
		padding-right: 4%;
		width: 100%;
	}

	
	.gNav {
		background-color: #000;
		padding-top: 20px;
		padding-bottom: 20px;
		clear: both;
		display: none;
		position: absolute;
		width: 100vw;
		z-index: 2;
		right: 0;
		top: 55px;
		overflow: auto;
		height: auto;
	}
	.gNav a {
		color: #FFFFFF;
		display: block;
		padding: 15px;
	}
	.gNav .gNavLinkList {
		display: block;
		width: 100%;
		margin-top: 20px;
		border-top: solid 1px #FFF;
		font-size: 1.4rem;
	}
	.gNav .gNavLinkList > li > a{
		background-image: url(../images/ico_arrow_white_mini.svg);
		background-repeat: no-repeat;
		background-position: right 4% center;
	}
	.gNav li {
		width: 100%;
		text-align: left;
		border-left: none;
		border-bottom: solid 1px #FFF;
		padding-left: 0;
    	padding-right: 0;
	}
	.gNav li:last-child {
		border-right: none;
		border-bottom: none;
	}
	.gNav .gNavLinkList > li .child {
		padding-left: 4%;
		padding-right: 4%;
		display: block;
		position: relative;
		padding-top: 0;
		padding-bottom: 0;
		left: auto;
		margin-top: auto;
		width: auto;
		z-index: auto;
		background-color: transparent;
	}
	.gNav a.parent.active > span {
		background-color: transparent;
	}
	
	.gNav .gNavLinkList > li .child li{
		border-bottom: none;
		margin-bottom: 5px;
		padding-bottom: 0;
	}
	.gNav .gNavLinkList > li .child li:last-child{
		margin-bottom: 20px;
	}

	.gNav .gNavLinkList > li .child a {
		padding-top: 5px;
		padding-bottom: 5px;
		background-color: #000;
		border-radius: 5px;
		background-image: url(../images/ico_arrow_white.svg);
		background-repeat: no-repeat;
		background-position: left 10px center;
		padding-left: 26px;
		font-size: 1.2rem;
		background-size: 10px;
	}
	.languageSelect > div a{
		padding: 10px;
	}
	
	.footerBannerWrapper {
		padding-top: 30px;
		padding-bottom: 30px;
		background-color: #EFF7FC;
	}
	.footerBanner ul {
		display: grid;
		grid-template-columns: 49% 49%;
		column-gap: 2%;
		row-gap: 20px;
	}

	.footerContentsBox {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.footerContentsBox .inner {
		display: block;
	}
	.footerLinkBox {
		padding-left: 4%;
		padding-right: 4%;
		border-left: none;
		border-right: none;
		box-sizing: border-box;
		margin-bottom: 30px;
		border-bottom: solid 1px #FFFFFF;
		padding-bottom: 20px;
	}
	.footerInformationBox {
		padding-left: 4%;
		padding-right: 4%;
		border-right: none;
		box-sizing: border-box;
	}
	.footerOtherLinkBox a{
		font-size: 1.1rem;
	}

	.footerUniversityBox ul {
		display: block;
	}
	.footerUniversityBox ul li:first-child {
		border-left: none;
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: #000 solid 1px;
	}
	.footerUniversityBox ul li {
		border-right: none;
	}
	.footerLinkHome a {
		background-size: 16px;
		padding-left: 24px;
	}
	.footerSnsBox img{
		max-width: 25px;
	}
	.footerUniversityBox ul li img {
		max-width: 95%;
	}
	#pagetop{
		width: 45px;
	}
	.footerBtnBox {
		display: grid;
		grid-template-columns: 1fr;
		margin-bottom: 30px;
		text-align: center;
		column-gap: 4%;
		row-gap: 20px;
	}



	.heading {
		opacity: 0;
		position: absolute;
		max-width: 100%;
		left: 6%;
		right: 6%;
		text-align: center;
	}
	.head h1 {
		display: inline-block;
		font-size: 2.8rem;
		font-weight: 600;
		margin-bottom: 20px;
	}

	.mainvisualLogo {
		width: 75%;
		position: absolute;
		top: 74%;
		left: 52%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}

	.visualAreaLogoFixed {
		height: calc(100vh - 60px);
		height: calc(100dvh - 60px);
		width: 65%;
		margin-top: 60px;
		position: absolute;
		/* animation: ttl_flash 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) normal both infinite; */
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}





	.topMassage2c {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 4%;
		margin-bottom: 5px;
		row-gap: 20px;
	}
	.detailBtn{
		text-align: center;
	}
	.serviceContentsBox2c {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 5%;
		row-gap: 30px;
	}

	.actionDetail ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 3px;
		row-gap: 3px;
		font-size: 1.2rem;
	}

	.btnPadding p.lead {
		text-align: left;
		font-size: 1.6rem;
		margin-bottom: 30px;
		line-height: 1.7;
	}
	

	/* bottom */
	.bottomVisualArea h1 span {
		padding-bottom: 3px;
	}
	.bottomVisualArea{
		min-height: 100px;
		margin-top: 55px;
	}
	.bottomVisualArea h1 {
		font-size: 1.36rem;
		margin-top: 0;
	}
	.bottomVisualArea h1 em {
		font-size: 1.1rem;
		margin-top: 5px;
	}

	.bottomGray {
		background-color: #f9f9f9;
		padding-bottom: 30px;
	}
	article{
		padding: 6%;
	}
	.breadcrumb {
		padding-bottom: 20px;
	}

	.mainvisualContents h1 {
		display: block;
		text-align: center;
	}
	.mainvisualContents {
		position: absolute;
		top: 80vh;
		left: 0;
		transform: translateY(-50%) translateX(0);
		-webkit-transform: translateY(-50%) translateX(0);
		width: 100%;
	}
	.acces2cBox{
		grid-template-columns: 1fr;
		row-gap: 30px;
	}
	.mapBox.forSP{
		margin-bottom: -5px;
	}
	.accessText {
		display: block;
		align-items: center;
		padding: 6%;
	}
	.footerLinkList {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 20px;
	}
	.topAction3c{
		grid-template-columns: 1fr;
		row-gap: 20px;
	}
	.topAction3c .action3word h3 {
		font-size: 2.4rem;
	}
	.topMassage2c h2 em {
		display: block;
		margin-left: 5px;
		font-size: 1.6rem;
		font-weight: 300;
		letter-spacing: 1px;
		margin-top: 5px;
	}

	.topAction3c .action3word h3 {
		text-align: left;
	}
	h2.centerTTL {
		text-align: left;
	}
	.sectionHeadingWrap {
		display: block;
	}
	.sectionHeadingWrap p {
		margin-top: 14px;
		white-space: normal;
	}
	.manifestoSection {
		padding-top: 48px;
	}
	.manifestoSectionInner,
	.friendsSectionInner {
		max-width: calc(100% - 30px);
	}
	.manifestoSectionInner {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}
	.manifestoCopy {
		padding-bottom: 0;
	}
	.manifestoCopy h2,
	.favoriteHero h2,
	.friendsSection h2 {
		font-size: 6rem;
		line-height: 0.98;
	}
	.manifestoCopy h3 {
		font-size: 1.9rem;
		margin-top: 44px;
		line-height: 1.7;
	}
	.manifestoLine {
		margin-top: 24px;
		margin-bottom: 28px;
	}
	.manifestoText p {
		font-size: 1.45rem;
		line-height: 2.2;
	}
	.manifestoStatement {
		margin-top: 34px;
		font-size: 2.5rem;
		line-height: 1.75;
	}
	.manifestoVisual {
		min-height: 420px;
	}
	.manifestoVisual img {
		min-height: 420px;
	}
	.favoriteGrid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
	}
	.favoriteHero {
		grid-column: 1 / 3;
		grid-row: auto;
		padding: 34px 20px;
		justify-content: flex-start;
	}
	.favoriteHero .sectionHeadingWrap {
		text-align: left;
	}
	.favoriteHero h2 {
		font-size: 5.6rem;
		margin-bottom: 16px;
	}
	.favoriteRecord {
		aspect-ratio: 1 / 1;
	}
	.favoriteRecord08,
	.favoriteRecord09,
	.favoriteRecord10,
	.favoriteRecord11,
	.favoriteRecord12 {
		grid-column: auto;
		grid-row: auto;
	}
	.friendsSection {
		padding-top: 64px;
		padding-bottom: 72px;
	}
	.friendsSection .sectionHeadingWrap {
		margin-bottom: 50px;
	}
	.friendsLogoList {
		grid-template-columns: 1fr 1fr;
		gap: 24px 20px;
	}
	.friendsLogo {
		min-height: 128px;
	}
	.friendsLogo05 {
		grid-column: 1 / 3;
	}
	section {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	#video video {
		object-position: center;
	}






} /* 1024 media end */

@media screen and (max-width: 500px) {
	.mainvisualContents {
        position: absolute;
        top: 45vh;
    }
	#video video {
		object-position: bottom;
	}

} /* 500 media end */
