@charset 'UTF-8';

header {
	margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
	header {
		margin-bottom: 128px;
	}
}
.swiper_hero {
	width: 100%;
	height: 140vw;
	background-position: center top;
	background-repeat: no-repeat;
	background-color: transparent;
	background-image: url(../images/kv04-sp.jpg);
	background-size: 100% auto;
}
@media screen and (min-width: 768px) {
	.swiper_hero {
		height: 55.43vw;
		background-image: url(../images/kv04-pc.jpg);
	}
}
.swiper_hero .inner {
	display: grid;
	place-content: center;
	place-items: center;
	height: calc( 100% - 51.94vw );
}
@media screen and (min-width: 768px) {
	.swiper_hero .inner {
		height: calc( 100% - 16.56vw );
	}
}
.privacy_title {
	font-size: 6.25vw;
	color: #fff;
	text-align: center;
	filter: drop-shadow(0 0 4px #4B8EA9cc);
}
@media screen and (min-width: 768px) {
	.privacy_title {
		font-size: 3.625vw;
	}
}
main .title {
	font-size: 6.125vw;
	margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
	main .title {
		font-size: 2.75rem;
		margin-bottom: 50px;
	}
}
main .title i {
	margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
	main .title i {
		margin-bottom: 30px;
	}
}
main section[id] {
	margin-bottom: 50vw;
}
@media screen and (min-width: 768px) {
	main section[id] {
			margin-bottom: 200px;
	}
}
.policy p {
	font-size: 3.7333vw;
	line-height: 1.75em;
}
@media screen and (min-width: 768px) {
	.policy p {
		font-size: 16px;
	}
}
.policy .heading {
	margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
	.policy .heading {
		margin-bottom: 40px;
	}
}
@media screen and (min-width: 768px) {
	.policy .item {
		margin-bottom: 30px;
	}
}
.policy .item {
	margin-bottom: 40px;
}
.policy .item > h3 {
	font-size: 4.2667vw;
	color: #447e95;
	margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
	.policy .item > h3 {
		font-size: 18px;
	}
}
.policy .item > p {
	text-indent: 1.0em;
}
.policy .item ul li {
	display: flex;
	font-family: 'Noto Serif JP', serif;
	font-size: 3.7333vw;
	line-height: 1.75em;
	margin-bottom: 0;
}
.policy .item ul li::before {
	content: '・';
}
@media screen and (min-width: 768px) {
	.policy .item ul li {
		font-size: 16px;
	}
}
.policy .date {
	margin-bottom: 10px;
}
.policy .date p {
	text-align: right;
}


h2.privacy_footer {
	display: flex;
}
h2.privacy_footer a {
	display: flex;
	align-items: center;
	color: #fff;
}
@media screen and (min-width: 768px) {
	footer h2 div {
		width: auto;
	}
}