@charset "utf-8";

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

responsive.css

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


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

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

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


.tokyoLogoSp{
	display: none;
}
.gNav {
	display: none;
}
.ancrLinks{
	display: none;
}


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

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

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

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

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

	.ancrLinks{
		display: block;
	}
	/* layout */

	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#wrapper{
		overflow: hidden;
	}
	header .headerLogo {
		padding-left: 4%;
		padding-top: 4%;
		padding-bottom: 15px;
	}
	header .headerLogo {
		padding-left: 13px;
		padding-top: 13px;
		padding-bottom: 13px;
		height: 67px;
		width: auto;
	}
	.inner {
		box-sizing: border-box;
		padding-left: 10%;
		padding-right: 10%;
		width: 100%;
	}
	.mainVisualLogo {
		width: 65%;
	}
	
	#searchBox form input {
		border: none;
		padding: 5px 8px 5px 13px;
		box-sizing: border-box;
		font-size: 1.2rem;
		background: #FFF;
		border-radius: 100px 0 0 100px;
		width: auto;
	}
	.headerSearch {
		position: relative;
		right: 4%;
		top: 0;
		width: 92%;
		box-sizing: border-box;
		left: 4%;
	}
	#searchBox form button{
		border-radius: 0 100px 100px 0;
	}
	.mainVisual {
		height: 70vh;
		height: 70dvh;
	}
	.mainVisualWrapper {
		height: 70vh;
		height: 70dvh;
	}



	main {
		padding-top: 50px;
	}
	main.bottom{
		padding-top: 200px;
	}
	main.bottom .inner{
		padding-left: 4%;
		padding-right: 4%;
	}
	.ancrLinks{
		margin-bottom: 100px;
	}
	.ancrLinks a {
		font-size: 1.6rem;
		padding: 3px;
	}

	.topWorksList ul{
		grid-template-columns: 1fr;
	}

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











	.gNav .inner {
		width: auto;
	}
	.gNav {
		background-color: #FFF;
		padding-top: 20px;
		padding-bottom: 20px;
		clear: both;
		display: none;
		position: absolute;
		width: 100%;
		z-index: 2;
		right: 0;
		top: 0;
		overflow: auto;
		padding-top: 90px;
	}
	.gNav a {
		display: block;
		padding: 15px;
	}
	.gNav .gNavLinkList {
		display: block;
		width: 100%;
		margin-top: 20px;
		border-top: solid 1px #FFF;
		font-size: 1.4rem;
	}
	.gNav li {
		text-align: left;
		border-left: none;
		border-bottom: solid 1px #FFF;
		position: relative;
		padding-right: 20px;
		margin-right: 10px;
	}
	.gNav li::after {
		content: '/';
		font-family: 'M PLUS 1p';
		font-weight: 900;
		font-size: 2.6rem;
		position: absolute;
		right: 0;
		top: 7px;
	}
	.gNav li:last-child::after{
		display: none;
	}
	.gNav a{
		font-family: 'M PLUS 1p';
		font-weight: 900;
		font-size: 2.6rem;
		color: #333;
		display: block;
		padding: 7px;
		position: relative;
		z-index: 2;
	}
	.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;
	}
	.blackBtn2c a {
		font-size: 1.3rem;
	}
	.blackBtn a {
		font-size: 1.3rem;
	}
	.contact .blackBtn a {
		font-size: 1.8rem;
	}

	/* top contents */
	.visualArea {
		padding-top: 3px;
		padding-bottom: 11px;
	}
	.visualArea .slide{
		width: auto;
	}
	

	
	.visualArea .slide div.slideContents {
		border-radius: 4px;
		overflow: hidden;
		margin-left: 2%;
		margin-right: 2%;
	}
	.visualArea .slide .slick-slide div.slideContents{
		margin-left: auto;
		margin-right: auto;
	}
	.visualArea .slick-slide{
		margin-left: 5px;
		margin-right: 5px;
	
	}
	.visualArea .slick-dots li button{
		background-color: #dcdcdc;
		width: 32px;
		height: 4px;
		display: inline-block;
		border-radius: 100px;
		overflow: hidden;
	}
	.visualArea .slick-dots li {
		margin-left: 3px;
		margin-right: 8px;
		cursor: pointer;
		
	}
	.visualArea .slick-pause-icon{
		width: 15px;
	}
	.visualArea .slick-play-icon{
		width: 15px;
	}
	.topLinksWrapper {
		padding-bottom: 30px;
	}
	.topLinkBox {
		position: relative;
		display: block;
	}
	.topLinkBox .imgBox img{
		aspect-ratio: 4 / 3;
		overflow: hidden;
	}
	.mainvisualLogo{
		max-width: 67%;
	}

	.mainText h1 {
		font-size: 25px;
		margin-bottom: 9px;
		margin-left: 4%;
		margin-right: 4%;
	}
	.mainvisualLogo{
		margin-left: 4%;
		margin-right: 4%;
	}
	.pickupList .link a{
		min-width: 80%;
	}
	.newsAchiveList {
		display: grid;
		grid-template-columns: 1fr;
	}


	.topLinkBox .imgBox {
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0px auto 4px;
	}
	.topLinkBox li a {
		padding-left: 15px;
		background-position: left 0px center;
		background-repeat: no-repeat;
	}
	  
	.topLinkBox .imgBox img{
		width: 100%;
		object-fit: cover;
	}
	.topLinkBox.big .imgBox img {
		aspect-ratio: 2.6 / 1;
	}
	.topLinkBox .imgBox{
		max-width: none;
	}
	.topLinkContentsBox {
		display: grid;
		grid-template-columns: 49% 49%;
		column-gap: 2%;
		row-gap: 30px;
		
	}
	.topLinkContentsBox h2{
		margin-left: -4%;
	}
	.topLinkBox h2 {
		font-size: 1.3rem;
		font-weight: bold;
		padding-left: 22px;
		position: relative;
		margin-bottom: 9px;
	}
	.topLinkBox h2::before {
		width: 15px;
		height: 2px;
		top: 10px;
		left: 0;
	}
	.topLinkBox::after {
		width: 1px;
		height: 20px;
	}
	.topLinkBox::before {
		width: 1px;
		height: 20px;
		background-color: #dcdcdc;
		content: '';
		position: absolute;
		right: auto;
		top: auto;
		display: block;
		left: 0;
		bottom: 0;
	}
	.topLinkBox .linkBox {
		border-top: none;
		border-bottom: none;
		padding-top: 0;
		padding: 4% 4% 20px 4%;
	}
	.topLinkBox .linkBox::before{
		width: 20px;
		height: 1px;
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		background-color: #dcdcdc;
	}
	.topLinkBox .linkBox::after{
		width: 20px;
		height: 1px;
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		background-color: #dcdcdc;
	}
	.topPickupWrapper h2 {
		margin-bottom: 20px;
		text-align: center;
		font-weight: bold;
		font-size: 1.8rem;
		padding-top: 35px;
	}

	.topInformationEventContentsBox {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: unset;
		row-gap: 2px;
	}
	.informationBox, .eventBox {
		padding: 4%;
		float: none;
	}
	.topPickupWrapper {
		padding-top: 30px;
		background-color: #EFF7FC;
		padding-bottom: 30px;
	}
	.topInformationEventContentsBox h2 {
		font-size: 1.8rem;
	}
	.topInformationEventContentsBox h2 span {
		display: inline-block;
		padding: 3px 20px;
		background-color: #FFFFFF;
		position: absolute;
		right: 0;
		font-size: 1.2rem;
		font-weight: normal;
		top: 2px;
	}
	.informationBox h2 {
		background-size: 20px;
		padding-left: 30px;
	}
	.eventBox h2 {
		background-size: 20px;
		padding-left: 30px;
	}
	.informationBox .textLinkList, .eventBox .textLinkList {
		height: auto;
	}
	.informationBox .textLinkList, .eventBox .textLinkList {
		padding: 4%;
		box-sizing: border-box;
	}
	
	.textLinkList dl{
		margin-left: -4%;
		margin-right: -4%;
	}
	.textLinkList dt {
		padding-left: 4%;
		margin-bottom: 10px;
		padding-right: 4%;
	}
	.textLinkList dd{
		padding-left: 4%;
		padding-right: 4%;
	}
	.topInformationEventWrapper {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.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;
		background-color: #1F4C73;
	}
	.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: #1F4C73 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;
	}



	.footerContect h2 {
		text-align: center;
		font-size: 1.8rem;
	}
	.footerContect .fotterContactBtn a {
		font-size: 1.6rem;
		padding-left: 0;
		padding-right: 0;
		position: relative;
		padding-top: 10px;
		padding-bottom: 10px;
		box-sizing: border-box;
		border: #00A3FF solid 2px;
		background-color: #FFFFFF;
		color: #00A3FF;
		border-radius: 100px;
		display: block;
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}


	/* detail */
	
	.breadcrumb ul li.home {
		padding-left: 19px;
		background-size: 13px;
	}
	.breadcrumb ul li {
		float: left;
		padding-left: 13px;
		background-image: url(../images/ico_arrow_gray.svg);
		background-position: left center;
		margin-right: 9px;
		background-repeat: no-repeat;
		font-size: 0.9rem;
		background-size: 5px;
	}
	.breadcrumb {
		border-bottom: #00A3FF solid 1px;
		padding-top: 10px;
		padding-bottom: 10px;
		border-top: #00A3FF solid 1px;
	}
	article {
		margin-bottom: 60px;
		padding: 0;
	}

	.textContents {
		margin-left: 2%;
		margin-right: 2%;
	}

	.articleTitle h1 {
		background-position: left center;
		padding-left: 2%;
		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 2rem;
		padding-right: 2%;
	}
	.articleTitle {
		margin-bottom: 30px;
	}
	.articleBody p{
		font-size: 1.2rem;
	}
	.articleBody .imgBoxL {
		float: none;
		max-width: none;
		margin-bottom: 10px;
		margin-right: 0;
	}
	.articleBody .imgBoxR {
		float: none;
		max-width: none;
		margin-bottom: 10px;
		margin-right: 0;
		margin-left: 0;
	}
	.articleBody .imgBoxC {
		max-width: 100%;
		margin-bottom: 10px;
	}
	.articleBody section {
		margin-bottom: 30px;
		position: relative;
	}
	.articleBody h2 {
		padding-left: 60px;
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	.articleBody h2::before {
		width: 40px;
		height: 2px;
		content: '';
		display: block;
		position: absolute;
		top: 15px;
		left: 0;
		background-color: #00A3FF;
	}
	.articleBody h3 {
		padding: 4px 20px;
		font-size: 1.6rem;
		margin-bottom: 25px;
		font-weight: bold;
		background-color: #F9F9F9;
	}
	.articleBody h4 {
		padding-bottom: 8px;
		font-size: 1.4rem;
		margin-bottom: 25px;
		margin-left: 2%;
    	margin-right: 2%;
		padding-left: 5px;
	}
	.articleBody ul {
		margin-bottom: 10px;
		position: relative;
		padding-left: 10px;
		font-size: 1.2rem;
	}
	.articleBody ul li {
		margin-bottom: 8px;
		position: relative;
		padding-left: 20px;
	}
	.articleBody ul li::before {
		content: '';
		width: 6px;
		height: 6px;
		left: 0;
		top: 7px;
	}
	.articleBody ol {
		margin-bottom: 20px;
		position: relative;
		padding-left: 25px;
	}
	.articleBody ol li {
		margin-bottom: 8px;
		position: relative;
		padding-left: 7px;
		font-size: 1.2rem;
	}
	.tableBox{
		margin-left: auto;
		margin-right: auto;
	}
	.tableScrollBox {
		padding-right: 4vw;
		overflow: auto;
		width: calc( 100vw - 4% );
		background-color: #FFFFFF;
		margin-bottom: 20px;
		margin-left: auto;
		margin-right: auto;
	}
	
	
	
	.tableScrollBox table{
		min-width: 160%;
		max-width: 1140px;
		margin: 0 0 10px 0;
	}
	.articleBody .accordionBox h2 {
		margin-left: 0;
		font-size: 1.8rem;
		padding-left: 14px;
	}
	.articleBody .accordionBox h2.btn{
		background-size: 20px;
		padding-right: 30px;
	}
	.accordionBox{
		margin-bottom: 30px;
	}
	.articleBody .accordionBox h2::before {
		width: 25px;
		height: 2px;
		top: 13px;
	}
	.articleBody .accordionBox h2 {
		margin-left: 0;
		font-size: 1.6rem;
		padding-left: 40px;
		
	}
	.accordionBox {
		background-color: #F9F9F9;
		padding: 4% 4% 1px 4%;
	}
	.articleBody .accordionBoxInner {
		background-color: #FFFFFF;
		padding: 4%;
		margin-bottom: 20px;
		overflow: hidden;
	}
	.accordionBoxInner .tableBox {
		padding-right: 10vw;
		width: calc( 100vw - 8% );
	}
	.articleBtn a {
		padding: 10px 40px;
		min-width: 80%;
		margin-left: 10px;
		margin-right: 10px;
		margin-bottom: 20px;
	}
	.articleBody .accordionBox h3 {
		font-size: 1.4rem;
		margin-bottom: 15px;
	}
	.articleBody .accordionBox h3.btn {
		background-size: 20px;
		padding-right: 30px;
		padding-left: 0px;
    	margin-bottom: 15px;
	}
	.articleBody .accordionBox h4 {
		font-size: 1.2rem;
		margin-bottom: 15px;
	}
	.articleBody ul li a.blank,
	.articleBody ul li a.pdf,
	.articleBody ul li a.word,
	.articleBody ul li a.excel{
		background-size: 13px;
		padding-right: 20px;
	}
	.articleBody ul li img.icon{
		height: 15px;
	}

	.articleInfoBox2c{
		grid-template-columns: 1fr;
		row-gap: 2px;
	}
	.articleBody .informationBox h2,
	.articleBody .eventBox h2{
		font-size: 1.8rem;
	}
	.articleBody .informationBox h2 span,
	.articleBody .eventBox h2 span{
		display: inline-block;
		padding: 3px 20px;
		background-color: #FFFFFF;
		position: absolute;
		right: 0;
		font-size: 1.2rem;
		font-weight: normal;
		top: 2px;
	}
	.articleBody .informationBox h2 {
		background-size: 20px;
		padding-left: 30px;
	}
	.articleBody .eventBox h2 {
		background-size: 20px;
		padding-left: 30px;
	}
	.articleBody .topLinkBox h2 {
		font-size: 1.3rem;
		font-weight: bold;
		padding-left: 22px;
		position: relative;
		margin-bottom: 9px;
	}
	.articleBody .topLinkBox h2::before {
		width: 15px;
		height: 2px;
		top: 10px;
		left: 0;
	}

	/* pc 2-3 column imgs */
	.articleBody .gallery2c{
		margin-left: 2%;
		margin-right: 2%;
	}
	.articleBody .gallery2c{
		display: grid;
		grid-template-columns: 100%;
		row-gap: 20px;
	}
	.articleBody .gallery2c .imgBox{
		font-size: 1.2rem;
	}
	.articleBody .gallery3c{
		margin-left: 2%;
		margin-right: 2%;
	}
	.articleBody .gallery3c{
		display: grid;
		grid-template-columns: 100%;
		row-gap: 20px;
	}
	.articleBody .gallery3c .imgBox{
		font-size: 1.2rem;
	}
	.contactBox {
		width: 96%;
	}
	footer .inner{
		width: auto;
	}
	.footerLink li{
		display: block;
	}
	.footerLink a{
		font-family: 'M PLUS 1p';
		font-weight: 900;
		font-size: 2rem;
		color: #333;
		display: inline-block;
		padding: 3px;
		position: relative;
		z-index: 2;
	}
	.footerLink li::after{
		display: none;
	}

	.modaal-close {
		position: absolute;
		right: -25px;
		top: -50px;
	}
	.mainVisualTextLogo {
		width: 80%;
		bottom: 30px;
		right: 10%;
		position: absolute;
	}
	.modaal-content-container {
		padding: 4%;
	}

	.gNavPC{
		display: none;
	}
}



