@charset "UTF-8";

/* .floor-section */
@media all {
	.floor-header-ttl {text-align: center;}
	.floor-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.floor-item {position: relative;}
	.floor-item figcaption {
		position: absolute;
		line-height: 1.333;
	}

	.banner {
		overflow: hidden;
		display: flex;
		border: 2rem solid;
	}
	.bnr-communication {
		border-color: #93c889;
		background-color: #c8e3c3;
	}
	.bnr-steam {
		border-color: #62aae8;
		background-color: #c2def6;
	}
	.bnr-catch {
		font-weight: 500;
		line-height: 1.2;
	}
	.bnr-info {line-height: 1.533;}
	.bnr-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: left center;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.floor-section {margin-top: 50rem;}
		.floor-item img {border-radius: 15rem;}

		.floor-content {
			display: flex;
			flex-direction: column-reverse;
			padding: 20rem 20rem 0;
		}
		.floor-list {
			row-gap: 15rem;
			margin-top: 30rem;
		}
		.floor-item {width: 175rem;}
		.floor-item figcaption {
			position: static;
			font-size: 14rem;
		}

		.floor-1f {margin-top: 50rem;}

		.banner {
			flex-direction: column;
			margin: 50rem auto 0;
			width: calc(100% - 30rem);
			border-radius: 15rem;
			pointer-events: none;
		}
		.bnr-txt {padding: 15rem;}
		.bnr-catch {font-size: 26rem;text-align: center;}
		.bnr-catch small {font-size: 20rem;}
		.bnr-info {
			margin-top: 20rem;
			letter-spacing: .02em;
		}
		.banner .button {
			display: flex;
			margin: 15rem auto 0;
			font-size: 15rem;
			white-space: nowrap;
			pointer-events: all;
		}
		.bnr-img {height: 160rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.floor-section {
			margin: 120rem auto 0;
			width: calc(100% - 30rem);
			max-width: 1084rem;
		}

		.floor-content {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
		}
		.floor-list {
			width: 390rem;
			row-gap: 75rem;
		}
		.floor-item {
			width: 180rem;
		}
		.floor-item img {border-radius: 20rem;}
		.floor-item figcaption {
			top: 145rem;
		}
		.floor-2f {margin-top: 100rem;}
		.map-2f {
			margin-top: -30rem;
			width: 558rem;
		}
		.floor-1f {margin-top: 75rem;}
		.map-1f {
			margin-top: -37rem;
			width: 648rem;
		}

		.banner {
			margin-top: 50rem;
			border-radius: 20rem;
			height: 250rem;
		}
		.bnr-txt {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			padding: 30rem 30rem;
			width: 510rem;
		}
		.bnr-catch {font-size: 30rem;}
		.bnr-catch small {font-size: 25rem;}
		.bnr-info {max-width: 400rem;}
		.banner .button {height: 44rem;}
		.bnr-communication .button.info {
			width: 380rem;
			font-size: 18rem;
		}
		.bnr-steam .button.steam {
			width: 253rem;
		}

		.bnr-communication:hover .button {
			background-color: #93c889;
			color: #fff;
		}
		
		.bnr-steam:hover .button {
			background-color: #62aae8;
			color: #fff;
		}
		
		.bnr-img {width: calc(100% - 510rem);}

		/* tab */
		@media (max-width: 1024px) {
			/* .floor-1f, .floor-2f {
				align-items: center;
				flex-direction: column-reverse;
				margin: 0 auto;
				width: 720rem;
			} */
			.floor-1f, .floor-2f {
				width: 720rem;
			}
			.floor-list {
				width: 320rem;
				row-gap: 45rem;
			}
			.floor-item {
				width: 150rem;
			}
			.floor-item figcaption {
				top: 120rem;
				font-size: 13rem;
			}
			.floor-2f {margin-top: 100rem;}
			.map-2f, .map-1f {
				margin-top: 0;
				width: 380rem;
			}
			.floor-1f {padding-bottom: 30rem;}

		}
		/* tab for banner */
		@media (max-width: 900px) {
			.bnr-txt {
				padding: 30rem 20rem;
				width: 420rem;
			}
			.bnr-img {width: calc(100% - 420rem);}
			.bnr-img img {object-position: 20% center;}
		}
	}
}

/* detail-section */
@media all {
	.detail-section {background-color: #c8e3c3;}
	.detail-inner {background-color: #fff;}

	.counter-info {
		border-bottom: 2rem solid #93c889;
		font-weight: 500;
	}
	.dial {
		font-weight: 500;
		line-height: 1.5;
	}

	.institution-dt {
		font-weight: 500;
		line-height: 1.5;
	}
	.institution-dd > p {line-height: 1.5;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.detail-section {
			margin-top: 50rem;
			padding: 50rem 20rem 80rem;
		}
		.detail-inner {
			padding: 20rem 15rem 30rem 15rem;
			border-radius: 15rem;
		}
		.detail-header-ttl {text-align: center;}
		.dial {
			margin-top: 12rem;
			font-size: 16rem;
			text-align: left;
		}
		.detail-header-dial {
			margin: 12rem auto 5rem;
		}
		.button.outer {
			display: flex;
			margin-left: auto;
		}
		.detail-header .button {margin-top: -8rem;}
		.detail-section .button {margin-top: 12rem;}

		.sp_block_right {
			display: block;
			text-align: right;
		}

		.counter-info {
			padding: 20rem 0 15rem;
			text-align: center;
			font-size: 12rem;
			white-space: nowrap;
		}
		.counter-list {margin-top: 30rem;}
		.counter-item + .counter-item {
			margin-top: 20rem;
			padding-top: 3rem;
			border-top: 1px dashed #93c889;
		}
		.counter-ttl {
			font-size: 18rem;
		}
		.counter-ttl:not(:has(.sp_block_right)) {
			display: flex;
			justify-content: space-between;
		}
		.counter-item .lh15 {
			margin-top: 8rem;
			font-size: 14rem;
			text-align: left;
		}

		.institution-item {margin-top: 30rem;}
		.institution-dt {
			font-size: 18rem;
			text-align: center;
		}
		.institution-dd {margin-top: 12rem;}
		.institution-dd p {
			display: inline-flex;
			text-align: justify;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.detail-section {
			margin-top: 70rem;
			padding: 70rem 15rem 100rem;
		}
		.detail-section .button {margin-top: 16rem;}
		.detail-inner {
			padding: 30rem 30rem 36rem 30rem;
			border-radius: 20rem;
		}
		.detail-inner-1 {
			margin: 0 auto;
			padding-bottom: 40rem;
			width: 100%;
			max-width: 980rem;
		}
		.detail-header-ttl {font-size: 25rem;}
		.dial {font-size: 18rem;}
		.detail-header-dial {
			margin: 18rem 0 5rem;
		}
		.detail-header .button {margin-top: 18rem;}

		.counter-info {
			margin-top: 36rem;
			padding-bottom: 30rem;
			font-size: 18rem;
		}

		.counter-list {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			row-gap: 28rem;
			margin-top: 38rem;
		}
		.counter-item {
			width: 49%;
			max-width: 390rem;
		}
		
		.institution-list {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 50rem auto 0;
			max-width: 980rem;
			row-gap: 50rem;
		}
		.institution-item {
			padding-top: 24rem;
			padding-bottom: 24rem;
			width: 49%;
			max-width: 460rem;
			min-height: 235rem;
		}

		.institution-dt {font-size: 25rem;}
		.institution-dd {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			margin-top: 15rem;
			min-height: 120rem;
		}

	}
}




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

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