@charset "UTF-8";

/* defaults */
@media all {
	:root {
		-webkit-text-size-adjust: 100%;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: bold;
		font-feature-settings: "palt";
		color: var(--blue);
		letter-spacing: .5em;
		line-height: 1;

		--blue: #3b5da1;
		--light-blue: #bae2f8;
		--yellow: #f8eb00;
		--pink: #e7456d;
	}
	a {color: var(--blue);}
	.ilb {display: inline-block;}
	/* sp */
	@media only screen and (max-width: 767px) {
		:root {
			font-size: 0.3125vw;	/* w=320px */
			/*font-size: 0.25vw;		/* w=400px */
		}
		.spNone, .tabOnly, .pcOnly {display: none!important;}
		.site-header,
		.site-main,
		.site-footer {
			font-size: 12.5rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		:root {
			font-size: 1px;
		}
		.spOnly {display: none!important;}
		.site-header,
		.site-main,
		.site-footer {
			font-size: 15rem;
		}

		/* tab */
		@media (max-width: 1024px) {
			.tabNone, .spOnly, .pcOnly {display: none!important;}
		}
		/* pc */
		@media (min-width: 1025px) {
			.pcNone, .spOnly, .tabOnly {display: none!important;}
			/* .site-header,
			.site-main,
			.site-footer {min-width: 1280px;} */
		}

		/* wide */
		@media (min-width: 1600px) {
			:root {
				font-size: 0.0625vw;
			}
		}
	}

	/* sp & tab */
	@media (max-width: 1024px) {
		.pcOnly {display: none!important;}
		.site-main {overflow: clip;}
	}
}

/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
	}
	.site-header-nav {
		position: absolute;
	}

	.site-header-nav-item a {
		position: relative;
		display: inline-block;
	}

	.site-header-nav-item a::before {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		height: 2rem;
		background-color: var(--blue);
		transform: scaleX(0);
		transition: .2s;
	}
	.site-header-nav-item a:hover::before,
	#event .site-header-nav-item.event a::before,
	#news .site-header-nav-item.news a::before {
		transform: scaleX(1);
	}

	.site-header-nav-item.disabled {color: #bbb;}

	body.nav-active {overflow: hidden;}

	.no-supporters  .site-header-nav-item.supporter {display: none;}

	
	/* tab & sp */
	@media only screen and (max-width: 767px) {
		.site-header-nav {
			position: fixed;
			z-index: 1000;
		}
		.site-header-nav-list {
			position: absolute;
			top: 0;
			left: 0;
			background-color: #fff;
			transition: left .5s;
		}
		.site-header-nav-item + .site-header-nav-item {margin-top: 1.5em;}
		.site-header-nav-item a,
		.site-header-nav-item span {
			padding: 2rem .5em;
		}
		.site-header-nav-item a::before,
		.site-header-nav-item span::before {
			bottom: -4rem;
		}

		.site-header-nav-list {
			width: 100vw;
			padding: 2.778em 0;
			border-radius: 30rem 0 0 30rem;
			border: 2rem solid var(--blue);
			border-right: none;
			font-size: 18rem;
		}
		
		/* sp */
		@media only screen and (max-width: 767px) {
			.site-header-nav {
				left: 100%;
				top: 60rem;
			}
			.site-header-nav-list {
				padding: 30rem 20rem;
				border-radius: 24rem 0 0 24rem;
				font-size: 15rem;
				text-align: center;
				width: 200rem;
			}
			.nav-active .site-header-nav-list {
				left: -200rem;
			}
		}

		/* tab */
		@media (min-width: 768px) {
			.site-header-nav {
				left: 100%;
				top: 100rem;
			}
			.site-header-nav-list {
				padding-left: 2em;
				border-radius: 30rem 0 0 30rem;
				font-size: 18rem;
			}
			.nav-active .site-header-nav-list {
				left: -210rem;
			}
		}
	}


	/* tab & pc */
	@media (min-width: 768px) {
		.site-header {width: 100%;}
		.site-header-nav {
			top: 30rem;
			right: 140rem;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 0 45rem;
			border: 2rem solid var(--blue);
			border-radius: 9em;
			background-color: #fff;
			width: 717rem;
			height: 52rem;
			font-size: 16rem;
		}
		.site-header-nav-list {
			display: flex;
			justify-content: space-between;
			width: 100%;
			line-height: 1;
		}
		.site-header-nav-item a {
			padding: var(--max2px) var(--max2px) var(--max1px);
		}

		.site-header-nav-item a::before {
			bottom: -7rem;
		}

		.no-supporters .site-header-nav {width: 603rem;}

		/* tab */
		@media (max-width: 1024px) {
			.site-header-nav {
				top: 20rem;
				right: 20rem;
				padding: 0 45rem;
				width: 580rem;
				height: 40rem;
				font-size: 14rem;
			}
			.no-supporters .site-header-nav {width: 500rem;}
		}
	}
}

/* --BURGER-- */
@media all {

	/* sp */
	@media only screen and (max-width: 767px) {

		.menu-trigger-wrapper {
			position: fixed;
			z-index: 999;
			top: 0;
			right: 0;
			background-color: #fff;
			border: 2rem solid var(--blue);
			border-radius: 50%;
		}
		.menu-trigger,
		.menu-trigger span {
			display: inline-block;
			transition: all .4s;
			box-sizing: border-box;
			width: 30rem;
		}

		.menu-trigger {
			position: absolute;
			top: 22rem;
			right: 10rem;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			height: 27rem;
			visibility: visible;
			opacity: 1;
			transition: transform .5s;
			cursor: pointer;
		}

		.menu-trigger span {
			width: 100%;
			height: 3rem;
			border-radius: 99rem;
			background-color: var(--blue);
		}


		.nav-active .menu-trigger span:nth-of-type(2) {
			opacity: 0;
		}

		.nav-active .menu-trigger {
			visibility: visible !important;
			opacity: 1 !important;
		}

		.menu-trigger.hidden {
			visibility: hidden;
			opacity: 0;
			transition: .5s;
		}

		.menu-bg,
		.bg-trigger {
			display: block;
			position: fixed;
			z-index: 998;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			visibility: hidden;
		}

		.menu-bg {
			background: rgba(0, 0, 0, .5);
			opacity: 0;
			transition: .5s;
			backdrop-filter: blur(2rem);
		}

		.nav-active .menu-bg {
			opacity: 1;
			visibility: visible;
		}

		.bg-trigger {
			cursor: pointer;
		}

		.nav-active .bg-trigger {
			visibility: visible;
		}

		/* sp */
		@media (max-width: 767px) {
			.menu-trigger-wrapper {
				top: 10rem;
				right: 10rem;
				height: 40rem;
				width: 40rem;
			}
			.menu-trigger {
				top: 10.5rem;
				right: 8.5rem;
				width: 20rem;
				height: 16rem;
			}
			.menu-trigger span {
				height: 2.5rem;
			}
			.nav-active .menu-trigger span:nth-of-type(1) {
				transform: translateY(7rem) rotate(-220deg) scaleX(1.25);
			}
			.nav-active .menu-trigger span:nth-of-type(3) {
				transform: translateY(-7rem) rotate(220deg) scaleX(1.25);
			}
		}

		/* tab */
		@media (min-width: 768px) {
			.menu-trigger-wrapper {
				top: 18rem;
				right: 10rem;
				height: 64rem;
				width: 64rem;
			}
			.menu-trigger {
				top: 15rem;
				right: 13rem;
				width: 34rem;
				height: 30rem;
			}
			.menu-trigger span {
				height: 4rem;
			}
			.nav-active .menu-trigger span:nth-of-type(1) {
				transform: translateY(13.5rem) rotate(-220deg) scaleX(1.25);
			}
			.nav-active .menu-trigger span:nth-of-type(3) {
				transform: translateY(-13rem) rotate(220deg) scaleX(1.25);
			}
		}
	}

	/* --BURGER-- tab & pc */
	@media print,
	(min-width: 768px) {

		.menu-trigger,
		.menu-bg,
		.bg-trigger {
			display: none;
		}
	}
	
}

/* main-section */
@media all {
	.main-section {position: relative;}
	.button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding-bottom: 1px;
		height: 2em;
		border-radius: 1em;
		background-color: var(--blue);
		color: #fff;
	}
	.button.black {
		background-color: #000;
		padding: 0 1em 1px 1.5em;
	}
	.button.newtab::after {
		content: '';
		display: inline-block;
		width: 16rem;
		height: 16rem;
		margin-left: 1em;
		transform: translateY(10%);
	}
	.button.black.newtab::after {
		margin-top: -2rem;
		background: center / contain no-repeat url(../img/common/icon-newtab.svg);
	}

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

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		
		/* tab */
		@media (max-width: 1024px) {}
		
		/* pc */
		@media (min-width: 1025px) {}
	}
	
}


/* .site-footer */
@media all {
	.site-footer {color: #000;}
	.footer-upper {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.footer-tmcf-logo {display: block;}
	.footer-address {font-style: normal;}
	.footer-zip-add {line-height: 1.5;}
	.copyright {
		padding-bottom: 10rem;
		font-weight: normal;
		text-align: center;
	}

	/* sp */
	@media (max-width: 767px) {
		.footer-upper {
			margin: 15rem auto 0;
			width: calc(100% - 55rem);
		}
		.footer-logo40th {width: 64rem;}
		.footer-tmcf-logo {width: 182.4rem;}
		.footer-address {
			margin-top: 15rem;
			width: 100%;
			white-space: nowrap;
			text-align: center;
		}
		.footer-tmcf {font-size: 16rem;}
		.footer-zip-add {
			margin-top: 6rem;
			font-size: 12rem;
		}
		.footer-tel {
			margin-top: 12rem;
			font-size: 18rem;
		}
		.footer-tel small {
			display: block;
			margin-top: 6rem;
			font-size: 11rem;
		}
		.copyright {
			margin-top: 30rem;
			font-size: max(10px, 8rem);
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.footer-upper {
			align-items: center;
			margin: 15rem auto 0;
			width: calc(100% - 40rem);
			max-width: 1000rem;
		}
		.footer-logo40th {width: 80rem;}
		.footer-tmcf-logo {width: 228rem;}
		.footer-tmcf {font-size: 18rem;}
		.footer-zip-add {
			margin-top: 4rem;
			font-size: 12rem;
		}
		.footer-tel {font-size: 24rem;}
		.footer-tel small {font-size: 12rem;}
		.copyright {font-size: 12rem;}


		/* tab */
		@media (max-width: 1024px) {
			.footer-upper {
				justify-content: center;
				margin-top: 25rem;
			}
			.footer-logo40th, .footer-tmcf-logo {margin-right: 25rem;}
			.footer-tel {
				margin-top: 10rem;
				font-size: 20rem;
			}
			.copyright {margin-top: 25rem;}
		}

		/* pc */
		@media (min-width: 1025px) {
			.footer-address {
				display: flex;
				flex-wrap: wrap;
				flex-direction: column;
				justify-content: center;
				height: 65rem;
				width: 562rem;

			}
			.footer-zip-add {letter-spacing: 0;}
			.footer-tel {margin-left: 50rem;}
			.copyright {margin-top: 15rem;}
		}
 	}

}



/* 印刷用 */
@media print {
	body {
		width: 100%;
	}

	.site-header {
		position: absolute;
	}
	.site-header-nav,
	.to-top {
		display: none !important;
	}

}


/* --TO TOP-- */
@media all {
	.to-top {
		display: none;
		position: fixed;
		bottom: 20px;
		right: 20px;
		background: var(--blue);
		width: 3.4375em;
		height: 3.4375em;
		border-radius: 50%;
		box-shadow: 0 0 2px rgba(255, 255, 255, .8);
		font-size: 12px;
		overflow: hidden;
		z-index: 1;
	}

	.to-top a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: 3px solid #fff;
		border-left: none;
		border-bottom: none;
		transform: translateY(0) rotate(-45deg);
		transition: .3s;
	}

	.to-top a:hover::after {
		transform: translateY(-30%) rotate(-45deg);
	}
}
@media only screen and (max-width: 767px) {
	.to-top {
		font-size: 10rem;
	}
}
@media (min-width: 1025px) {
	.to-top a {
		font-size: 12.8px;
	}
}

/* inview */
@media not print {
	.elemFadeIn {
		opacity: 0;
		filter: blur(1rem);
		transition: 1s opacity, 1s filter, 1s transform;
	}

	.elemFadeIn.animated {
		opacity: 1;
		filter: blur(0);
	}
}




/* the_content() */
@media all {
	.the_content ul li {
		margin-left: 1.5em;
		list-style-type: disc;
	}
	.the_content ol li {
		margin-left: 1.5em;
		list-style-type: decimal;
	}
	.the_content a {text-decoration: underline;}

	@media only screen and (max-width: 767px) {
		.the_content img {
			width: 100%;
		}
	}
	@media print,
	(min-width: 768px) {
		.the_content::after {
			content: '';
			display: block;
			clear: both;
		}
		.the_content a {transition: opacity .3s;}
		.the_content a:hover {opacity: .6;}
		.aligncenter {
			display: block;
			margin: 0 auto;
		}
		.alignleft {
			float: left;
		}
		.alignright {
			float: right;
		}
		.the_content img {
			width: auto;
			max-width: 100%;
		}
	}
}

