@charset "utf-8";

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}

#link-space {
    padding-top: 100px;
    margin-top: -100px;
}


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

.mv__img {
	width: 100%;
	height: 450px;
}
	.mv__img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

[class*="cnt__wrap"] * {
	font-family: "Zen Kaku Gothic New", sans-serif;
}
[class*="cnt__wrap"] {
	padding-block: 60px;
}
	[class*="cnt__inner"] {
		width: 1140px;
		margin: 0 auto;
	}
		[class*="cnt__ttl"] {
			font-size: 46px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.1em;
			text-align: center;
			color: #263238;
		}
		[class*="cnt__ttl"] span {
			display: block;
			font-size: 14px;
			font-weight: 400;
			line-height: 1.4;
			letter-spacing: 0.1em;
			color: #074322;
			text-align: center;
		}
		[class*="more__bt"] {
			margin-top: 31px;
		}
			[class*="more__bt"] a {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 200px;
				height: 50px;
				border-radius: 9999px;
				background: linear-gradient(90deg, #074322 0%, #277D3A 100%);
				margin: 0 auto;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.7;
				color: #fff;
				position: relative;
			}
				[class*="more__bt"] a::after {
					content: '';
					width: 6px;
					height: 11px;
					background: url(/images/kodawari/more_arrow.svg) no-repeat center / contain;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 19px;
				}

.cnt__wrap--student {
	background: #FFFFFF;
}
.student__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px;
}
	.student__item {
		display: flex;
		flex-direction: column;
		gap: 15px;
		padding: 60px 60px 59px;
		background: #EBF5EB;
	}
		.student__ttl-box {
			display: flex;
			align-items: center;
			gap: 20px;
		}
			.student__img {
				width: 80px;
				height: 80px;
			}
				.student__img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			.student__ttl {
				display: flex;
				flex-direction: column;
				gap: 5px;
				font-size: 26px;
				font-weight: 700;
				line-height: 1.6;
				color: #074322;
			}
			.student__ttl span {
				display: block;
				font-size: 18px;
				font-weight: 500;
				line-height: 1.4;
				color: #074322;
			}
		.student__text {
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			color: #263238;
		}

.cnt__wrap--focus {
	background: #074322;
	margin-bottom: 60px;
}
	.cnt__ttl--focus,
	.cnt__ttl--focus span {
		color: #fff;
	}
	.focus__list {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 30px;
	}
		.focus__item a {
			display: flex;
			align-items: center;
			gap: 8px;
			width: 276px;
			height: 82px;
			border-radius: 5px;
			background: #F8F9FF;
			padding: 16px 19px;
			position: relative;
		}
		.focus__item a::after {
			content: '';
			width: 5px;
			height: 9px;
			background: url(/images/kodawari/focus_arrow.svg) no-repeat center / contain;
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
			right: 18px;
		}
			.focus__img {
				width: 50px;
				height: 50px;
			}
				.focus__img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			.focus__text {
				display: flex;
				flex-direction: column;
				padding-bottom: 6px;
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				color: #8F8F8F;
			}
				.focus__text span {
					display: block;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.7;
					color: #263238;
				}

.cnt__wrap--tips {
	background: #F6F6F6;
	margin-top: 60px;
}
	.tips__top-text {
		font-size: 18px;
		font-weight: 500;
		line-height: 1.7;
		color: #263238;
		text-align: center;
		margin-top: 20px;
	}
		.swiper_content-tips {
			overflow: hidden;
			margin-top: 30px;
		}
			.swiper_content-tips .swiper-slide {
				width: 360px;
				height: auto;
			}
			.tips__item {
				width: 360px;
			}
				.tips__img {
					width: 100%;
					height: 240px;
					border-radius: 6px;
					overflow: hidden;
				}
					.tips__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				.tips__ttl {
					font-size: 18px;
					font-weight: 700;
					line-height: 1.35;
					color: #074322;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: nowrap;
					margin-top: 12px;
				}
				.tips__txt {
					font-size: 16px;
					font-weight: 500;
					line-height: 1.35;
					color: #263238;
					overflow: hidden;
					text-overflow: ellipsis;
					display: -webkit-box;
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 2;
					margin-top: 9px;
				}
				.tips__date {
					font-size: 14px;
					font-weight: 500;
					line-height: 1.35;
					color: #074322;
					text-align: right;
					margin-top: 8px;
				}
		.swiper__control {
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 25px;
			margin: 26px auto 0;
			width: 105px;
			position: relative;
			z-index: 1;
		}
			.swiper-button-prev,
			.swiper-button-next,
			.swiper-pagination {
				position: relative;
				top: auto;
				bottom: auto;
				left: auto;
				right: auto;
				margin: 0;
				width: fit-content;
				cursor: pointer;
			}
			.swiper-button-prev::after,
			.swiper-button-next::after {
				content: none;
			}
			.swiper-button-prev,
			.swiper-button-next {
				width: 6px;
				height: 11px;
				margin-top: 3px;
			}
			.swiper-button-prev {
				background: url(/images/kodawari/swiper-left.svg) no-repeat center / contain;
			}
			.swiper-button-next {
				background: url(/images/kodawari/swiper-right.svg) no-repeat center / contain;
			}
			.swiper-pagination {
				font-size: 18px;
				font-weight: 500;
				line-height: 1;
				color: #263238;
				text-align: center;
			}
		.cnt__inner--tips.noslide .swiper__control {
			display: none;
		}
		.cnt__inner--tips.noslide .swiper_content-tips .swiper-wrapper {
			display: flex;
			justify-content: center;
			gap: 10px;
			transform: none !important;
		}
	.more__bt--tips {
		margin-top: 29px;
	}

.cnt__wrap--contact {
	background: url(/images/kodawari/contact_bg.webp) no-repeat center / cover;
}
    .cnt__inner--contact {
		display: flex;
		justify-content: space-between;
    }
		.contact__left {
			flex-shrink: 0;
		}
			.cnt__ttl--contact,
			.cnt__ttl--contact span {
				color: #fff;
				text-align: left;
			}
			.contact__top-text {
				font-family: "Noto Sans JP", sans-serif;
				font-size: 20px;
				font-weight: 400;
				line-height: 1;
				color: #fff;
				margin-top: 20px;
			}
			.contact__bottom-text {
				font-size: 18px;
				font-weight: 500;
				line-height: 1.7;
				color: #fff;
				margin-top: 80px;
			}
			.contact__bottom-text span {
				color: #fff;
				margin-left: 11px;
			}
		.contact__list {
			display: flex;
			flex-wrap: wrap;
			gap: 20px;
			width: 600px;
			margin-top: 15px;
		}
			.contact__item {
				width: 290px;
				height: 100px;
			}
				.contact__item a {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 14px;
					width: 100%;
					height: 100%;
					border-radius: 10px;
                    border: 1px solid #FFF;
					padding-right: 10px;
					font-size: 20px;
					font-weight: 700;
                    line-height: 1.4;
					color: #fff;
					position: relative;
				}
				.contact__item a::after {
					content: '';
					width: 7px;
					height: 12px;
					background: url(/images/kodawari/contact_arrow.svg) no-repeat center / contain;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 28px;
				}
				.contact__btn--reservation {
					background: linear-gradient(90deg, #074322 0%, #277D3A 100%);
				}
				.contact__btn--reservation::before {
					content: '';
					display: inline-block;
					width: 33px;
					height: 28px;
					background: url(/images/kodawari/reservation-icn.svg) no-repeat center / contain;
				}
				.contact__btn--line {
					background: linear-gradient(102deg, #06AC64 -10.93%, #06C755 100.82%);
				}
				.contact__btn--line::before {
					content: '';
					display: inline-block;
					width: 39px;
					height: 32px;
					background: url(/images/kodawari/line-icn.svg) no-repeat center / contain;
				}
				.contact__btn--mail {
					background: linear-gradient(102deg, #23776D 16.86%, #43BD92 121.14%);
				}
				.contact__btn--mail::before {
					content: '';
					display: inline-block;
					width: 33px;
					height: 22px;
					background: url(/images/kodawari/mail-icn.svg) no-repeat center / contain;
				}
					[class*="contact__txt"] {
						display: flex;
						align-items: center;
						justify-content: center;
						width: fit-content;
						height: 30px;
						padding-inline: 17px;
						font-size: 16px;
						font-weight: 500;
						line-height: 1.2;
						color: #084523;
						text-align: center;
						position: absolute;
						top: -16px;
						left: 0;
						right: 0;
						margin: 0 auto;
						border-radius: 9999px;
						background: #FFF;
					}
					.contact__txt--line {
						color: #06AF62;
					}
			.contact__item-tel {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 15px;
                padding-right: 4px;
				border-radius: 10px;
                background: #7AA18B;
				font-size: 24px;
				font-weight: 700;
				line-height: 1.4;
				color: #fff;
			}
			.contact__item-tel::before {
				content: '';
				display: inline-block;
				width: 28px;
				height: 28px;
				background: url(/images/kodawari/tel-icn.svg) no-repeat center / contain;
			}

.cnt__wrap--qa {
	background: #F6F6F6;
}
	.qa__list {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-top: 30px;
	}
		.qa__item {
			display: flex;
			flex-direction: column;
			gap: 10px;
			padding: 30px 30px 34px;
			background: #fff;
		}
			.q__ttl {
				display: flex;
				align-items: center;
				gap: 10px;
				font-size: 18px;
				font-weight: 700;
				line-height: 1.35;
				color: #074322;
			}
			.q__ttl::before {
				content: 'Q';
				display: flex;
				align-items: center;
				justify-content: center;
				width: 36px;
				height: 36px;
				border-radius: 50%;
				background: #074322;
				padding-bottom: 4px;
				font-size: 20px;
				font-weight: 700;
				line-height: 1.35;
				color: #FFF;
			}
			.a__txt {
				position: relative;
				padding-left: 46px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.7;
				color: #263238;
			}
				.a__txt span {
					display: block;
					color: #263238;
					margin-bottom: 11px;
				}
			.a__txt::before {
				content: 'A';
				display: flex;
				align-items: center;
				justify-content: center;
				width: 36px;
				height: 36px;
				border-radius: 50%;
				background: #2CCA61;
				padding-bottom: 4px;
				font-size: 20px;
				font-weight: 700;
				line-height: 1.35;
				color: #FFF;
				position: absolute;
				top: 0;
				left: 0;
			}