@charset "utf-8";

/*----------------------------------------------------
	footer 2026
	BP-1024px,768px,479px

	fontの計算:100% = 13px
	16/0.13 = 123% = 16px

	#sitenavi、#foot作り替え
----------------------------------------------------*/

footer {
	width: 100%;
	background-size: cover;
	clear: both;
}

/*
footer .sp{
	display:none;
}
*/

@media all and (max-width:768px) {
	.banner {
		display: none;
	}
}





footer {
	max-width: 1260px;
	width: 90%;
	margin: 0 auto;
}

footer .footer_border {
	padding: 80px 0 0;
	border-top: none;
	border-bottom: 1px solid #bbb;
}

footer #foot_nav {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: 26% 70%;
	gap: 40px 0;
	justify-content: space-between;

	padding-top: 80px;

	& .foot_nav_logo img {
		width: 100%;
	}

	& .foot_nav_info {
		grid-row: 2/3;
		grid-column: 1/2;
		font-size: 123%;
	}

	& .foot_nav_info_address {
		padding-bottom: 10px;
	}

	& .foot_nav_info_tel {
		padding-right: 1em;
	}

	& .foot_nav_large {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px 20px;

		& .foot_nav_large_item {
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 15px;
			transition: all .3s ease;

			& ._arrow {
				display: block;
				width: 8px;
				height: 1em;
				margin-right: .3em;
				background: url('../img/common/2026/arrow.svg') no-repeat center/contain;
			}
		}

		@media (hover: hover) {
			& .foot_nav_large_item:hover {
				color: #03B2A7;
			}
		}
	}

	& .foot_nav_small {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 12px 1em;

		/* max-width: 640px; */
		width: 100%;
		margin: 0 auto;

		& .foot_nav_small_item {
			display: block;
			padding: .4em 1em .2em;
			color: #fff;
			background-color: #ED95B6;
			border: 1px solid #ED95B6;
			font-size: 16px;
			transition: all .3s ease;
		}

		@media (hover: hover) {
			& .foot_nav_small_item:hover {
				color: #ED95B6;
				background-color: #fff;
			}
		}
	}

	@media screen and (max-width:768px) {
		grid-template-columns: 100%;
		gap: 20px 0;
		padding-top: 100px;

		& .foot_nav_logo {
			width: 80%;
			padding-top: 25px;
			margin: 0 auto;
		}

		& .foot_nav_info {
			grid-row: auto;
			font-size: 14px;
			text-align: center;
		}

		& .foot_nav_large {
			grid-row: 1/2;
			justify-content: flex-start;

			& .foot_nav_large_item {
				font-size: 13px;
			}
		}

		& .foot_nav_small {
			display: none;
		}
	}
}

footer #groupnavi {
	padding-top: 55px;

	.groupnavi_list {
		display: flex;
		justify-content: center;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 13px;
	}

	.groupnavi_list_item {
		width: calc((100% - 39px) / 4);
		min-width: 290px;
	}

	.groupnavi_list_a {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 13px;

		padding: 20px 1em;
		border: 1px solid #FFF;
		background-color: #03B2A7;
		color: #fff;
		font-size: 127%;
		text-align: center;
		transition: all .3s ease;
	}

	@media (hover: hover) {
		.groupnavi_list_a:hover {
			border: 1px solid #03B2A7;
			background-color: #fff;
			color: #03B2A7;

			.icon_blank {
				background-color: #03B2A7;
			}
		}
	}

	.icon_blank {
		display: inline-block;
		width: 22px;
		height: 22px;
		background-color: #fff;
		-webkit-mask-image: url('../img/common/2026/icon_blank.png');
		-webkit-mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center top;
		mask-image: url('../img/common/2026/icon_blank.png');
		mask-size: contain;
		mask-repeat: no-repeat;
		mask-position: center top;
		transition: all .3s ease;
	}

	@media screen and (max-width:768px) {
		padding-top: 45px;

		.groupnavi_list {
			gap: 20px 0;
		}
	}
}

footer #sns_link {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px 20px;
	padding-top: 30px;

	.sns_link_item {
		transition: all .3s ease;
	}

	@media (hover: hover) {
		.sns_link_item:hover {
			opacity: .7;
		}
	}

	@media screen and (max-width:768px) {
		justify-content: center;

		.sns_link_item {
			display: block;
			width: 30px;

			img {
				width: 100%;
			}

			&._youtube {
				width: 38px;
			}
		}
	}
}

footer #bottom_list {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 15px 24px;
	padding-top: 30px;

	.bottom_list_item {
		font-size: 107%;
		text-decoration: underline;
		transition: all .3s ease;
	}

	@media (hover: hover) {
		.bottom_list_item:hover {
			color: #03B2A7;
		}
	}

	@media screen and (max-width:768px) {
		flex-wrap: wrap;
		padding-top: 45px;
		justify-content: center;
	}
}

small {
	display: block;
	max-width: 1260px;
	width: 90%;
	padding: 50px 0 0;
	margin: 0 auto;
	clear: both;
	text-align: right;
	font-family: "Inter", sans-serif;
	font-size: 110%;

	@media all and (max-width:768px) {
		padding: 40px 0 26px;
		font-size: 13px;
		text-align: center;
	}
}

#pagetop {
	clear: both;
	width: 100%;
	height: 0;
	position: relative;
}

#pagetop img {
	float: right;
	cursor: pointer;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: none;
	z-index: 9999;
}

/*
@media screen and (max-width:979px){
	footer{
		width:980px;
	}
}
*/

/*
@media screen and (max-width:479px){
	footer{
		width:100%;
		padding-bottom: 40px;
	}

	footer .sp{
		display:block;
		width:100%;
		padding:20px 0;
		background-image:url(../img/common/bg_sitenavi.png);
		background-repeat:repeat;
	}

	footer .sp nav{
		width:90%;
		margin:0 auto;
	}

	footer .sp nav ul li{
		margin-bottom:10px;
	}

	footer .sp nav ul li a img{
		width:100%;
	}

	footer .sp .banner{
		text-align:center;
	}

	footer .sp .banner ul li{
		list-style:none;
		margin-bottom:10px;
	}

	footer .sp .banner ul li:last-child{
		margin-bottom:0;
	}

	footer #groupnavi{
		padding-bottom:0;
	}

	footer #groupnavi nav{
		width:100%;
		margin:0 auto;
	}

	footer #groupnavi nav ul li{
		width:38%;
		height:auto;
		margin-right:4%;
		margin-left:10%;
		margin-bottom:16px;
	}

	footer #groupnavi nav ul li:nth-child(2n){
		margin-left:0;
		margin-right:10%;
	}

	footer #groupnavi nav ul li img{
		width:100%;
	}

	footer #sitenavi{
		display:none;
	}

	footer #footnavi{
		padding:0;
		border-top:6px solid #FFF;
	}

	footer #footnavi nav{
		width:90%;
		padding-top:16px;
	}

	footer #footnavi nav ul li{
		margin-bottom:16px;
	}

	footer #foot{
		width:90%;
		padding-top:20px;
	}

	footer #foot .info{
		width:100%;
		float:none;
	}

	footer #foot .info p{
		width:100%;
		margin:16px 0;
	}

	footer #foot .info small{
		text-align:center;
		display:block;
	}

	footer #foot .banner{
		display:none;
	}
}
*/
