@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Sawarabi+Mincho&display=swap");

html,
body {
	width: 100%;
}

html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}

body {
	position: relative;
	color: #282828;
	background-color: #fff;
	font-size: 1.28rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 auto;
	font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	color: #4C4C4C;
}
picture {
	display: block;
}
section {
	padding: 80px 0;
}
@media screen and (max-width: 768px) {
	section {
		padding: 40px 0;
	}
}
li {
	list-style: none;
}

p {
	text-align: justify;
	-ms-text-justify: auto;
	text-justify: auto;
	text-justify: inter-ideograph;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

.noborder {
	border: none !important;
}

.nomargin {
	margin: 0 0 !important;
}


.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	zoom: 1;
}

a {
	color: unset;
	text-decoration: none;
}
.img_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*---------------------------------------------------------*/

/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 768px) {
	a {
		transition: 0.3s ease-in-out;
	}

	img {
		transition: 0.3s ease-in-out;
	}

	a:active,
	a:hover,
	a:hover img {
		opacity: 0.7;
	}

	.for_sp {
		display: none !important;
	}
	.for_sp_flex {
		display: none !important;
	}

	.for_tab {
		display: none !important;
	}

	.for_nw {
		display: none !important;
	}

	.tab .for_pcnotab {
		display: none !important;
	}

	.tab .for_tab {
		display: inline !important;
	}

	.wrap,
	#page {
		width: 100%;
		position: relative;
	}


	/* common
	---------------------------------------------------------------------- */
	.mainw,
	.mainw_pc {
		max-width: 1080px;
		margin: 0 auto;
		padding: 0 20px;
	}
}


/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 768px) {

	body {
		font-size: max(10px, 3.4026666667vw);
	}

	a {
		transition: 0.3s ease-in-out;
	}

	img {
		transition: 0.3s ease-in-out;
	}

	a:active,
	a:hover,
	a:hover img {
		opacity: 0.7;
	}

	.wrap,
	#page {
		width: 100%;
		position: relative;
	}

	.for_pc {
		display: none !important;
	}

	.for_sp {
		display: inline-block !important;
	}

	.for_sp_flex {
		display: flex !important;
	}

	.for_tab {
		display: none;
	}

	.for_pcnotab {
		display: none !important;
	}

	.for_nw {
		display: none !important;
	}

	/* common
	---------------------------------------------------------------------- */
	.mainw {
		/* width: 88vw; */
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}

}

/* End @media (max-width:1000px) */