@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

html {
	font-size: 10px;
}

body {
	line-height: 1.9;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #666666;
	word-break: break-all;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	letter-spacing: 0.5px;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

*::after,
*::before {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

main {
	display: block;
}

a:hover,
a:focus,
a:visited {
	outline: none;
	border: none;
}

a {
	text-decoration: none;
	color: inherit
}

.clear {
	clear: both;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover {
	text-decoration: none;
}

br {
	font-size: 0;
}

.hv-o:hover {
	cursor: pointer;
	opacity: .7 !important;
}

.hv-a:hover {
	opacity: .7 !important;
	transition: all 0.3s ease-in-out;
}

.cs-fadein {
	opacity: 0;
	transform: translate(0, 35px);
	transition: all 0.5s ease;
}

.cs-fadein.show {
	opacity: 1;
	transform: none;
}

.btn-hamberger {
	width: 5rem;
	height: 5rem;
	position: relative;
	cursor: pointer;
}

.btn-hamberger span {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 10rem;
	width: 100%;
	height: 0.4rem;
	background-color: #666666;
	transition: all 0.3s ease-in-out;
}

.btn-hamberger::before,
.btn-hamberger::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 0.4rem;
	border-radius: 10rem;
	background-color: #666666;
	transition: all 0.3s ease-in-out;
	transform-origin: center center;
}

.btn-hamberger::before {
	top: 20%;
	left: 0;
}

.btn-hamberger::after {
	bottom: 20%;
	left: 0;
}

.btn-hamberger.is-active span {
	opacity: 0;
}

.btn-hamberger.is-active::before {
	transform: rotate(45deg);
	top: 50%;
}

.btn-hamberger.is-active::after {
	transform: rotate(-45deg);
	top: 50%;
	bottom: auto;
}

@media screen and (min-width:1921px) {
	html {
		font-size: 0.52vw;
	}
}

@media screen and (max-width:1300px) {
	html {
		font-size: 0.77vw;
	}
}

@media screen and (min-width:768px) {
	.view-sp {
		display: none !important;
	}
}

@media screen and (max-width:767px) {
	html {
		font-size: 2.67vw;
	}

	.view-pc {
		display: none !important;
	}
}

.cs-fadein {
	opacity: 0;
	transform: translate(0, 35px);
	transition: all 0.5s ease;
}

.cs-fadein.show {
	opacity: 1;
	transform: none;
}