@charset "utf-8";
/* -----------------------------
 common.css
----------------------------- */

/* リセット */
@import url("./destyle.css");

:root {
}

body {
	font-family: sans-serif;
	color: #423f3f;
	font-size: 2vw !important;
}



/* ------------------------------
 general
------------------------------ */

.wholeLink { cursor: pointer; }

span.nowrap {
	display: inline-block;
	white-space: nowrap;
}

button {
	padding: 2px 15px;
	border: 1px solid #999999;
	border-radius: 2px;
	background:
		linear-gradient(
			to bottom,
			#EEEEEE 0%,
			#DDDDDD 100%
		);
	color: #333333;
}

button:active {
	background:
		linear-gradient(
			to bottom,
			#DDDDDD 0%,
			#EEEEEE 100%
		);
}

.overShadow:hover {
	position: relative;
	top: -2px;
	left: -2px;
	box-shadow: 2px 2px 3px var(--border-grey);
}

.red { color: #ff0033; }

/* ------------------------------
 header
------------------------------ */
/* ------------------------------
 header > nav
------------------------------ */

/* ------------------------------
 main
------------------------------ */
main {}

article { position: relative; }

article::after {
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;

	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% auto;

	z-index: -1;
}

section { margin-bottom: 7vw; }

/* ------------------------------
 footer
------------------------------ */






/* -----------------------------
 PC
----------------------------- */
@media screen and (min-width:1000px) {

	.onlysp { display: none; }

	a:hover:not(nav li a):not(.fMenu li a) { opacity: 0.7; }

/* -------------------------------------- header -------------------------------------- */

	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	header nav li a { position: relative; }

	header nav li a::after {
		content: '';

		position: absolute;
		bottom: -7px;
		left: 0;

		width: 100%;
		height: 2px;
		background-color: #FFFFFF;

		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform 0.3s;
	}

	header nav li a:hover::after { transform: scale(1, 1); }


/* -------------------------------------- footer -------------------------------------- */

	footer .fMenu {
		margin: 0px auto 50px;
		padding-top: 30px;
	}

	footer .fMenu li {
		padding: 0 30px;
		font-size: 1.8vw;
	}

	footer .fMenu li a { position: relative; }

	footer .fMenu li a::after {
		content: '';

		position: absolute;
		bottom: -10px;
		left: 0;

		width: 100%;
		height: 2px;
		background-color: #FFFFFF;

		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform 0.3s;
	}

	footer .fMenu li a:hover::after { transform: scale(1, 1); }

	footer .detail div { font-size: 1.3vw; }

	footer .detail > div:first-of-type { margin-bottom: 50px; }

	footer .detail img {
		width: 30%;
		height: auto;
	}

	footer .detail > div:nth-of-type(2)   { margin-bottom: 50px; }
	footer .detail > div:nth-of-type(2) p { margin-bottom: 10px; }

	footer .detail .tel > div,
	footer .detail .tel p { margin-bottom: 10px; }

	footer .detail > div:nth-of-type(2) address { margin-bottom: 20px; }

}

/* -----------------------------
 SP
----------------------------- */
@media screen and (max-width:999px) {

	.onlypc { display: none; }


/* -------------------------------------- header -------------------------------------- */

	header {
		display: flex;
		justify-content: space-between;

		padding: 6vw 5vw;
	}

	header nav #menuBtn {
		position: relative;

		margin-right: 0;
		margin-left: auto;
		width:  13vw;
		height: 15vw;
		background-color: rgba(255, 255, 255, 0.4);
		border-radius: 5px;

		overflow: hidden;
	}

	header nav #menuBtn::before {
		content: '';

		position: absolute;
		top: 4.7vw;
		left: 50%;
		transform: translateX(-50%);

		width: 60%;
		height: 0.45vw;
		background-color: #FFFFFF;
	}

	header nav #menuBtn::after {
		content: '';

		position: absolute;
		top: 2vw;
		left: 50%;
		transform: translateX(-50%);

		width: 60%;
		height: 6vw;
		border-top:    0.5vw solid #FFFFFF;
		border-bottom: 0.5vw solid #FFFFFF;
	}

	header nav #menuBtn span {
		position: absolute;
		bottom: 2vw;
		left: 50%;

		transform: translateX(-50%);

		font-family: serif;
		font-size: 2.5vw;
		color: #FFFFFF;
	}

	header nav ul {
		display: none;
		position: absolute;
		top: 22vw;
		right: 0;

		width: fit-content;

		z-index: 1000;
	}

	header nav ul li {
		margin: 0 0 0 auto;
		width: 50vw;
		text-align: center;
	}

	header nav ul li a {
		position: relative;

		display: block;
		padding: 6vw 20px;
		background-color: rgba(0, 0, 0, 0.7);

		white-space: nowrap;
		letter-spacing: 1px;
		font-size: 3vw;
		font-weight: bold;
		color: #FFFFFF;

		overflow: hidden;
	}

	header nav ul li a::before {
		content: '';

		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);

		width: 70%;
		height: 2px;
		border-bottom: 1px dotted #FFFFFF;

		z-index: 100;
	}

	header nav ul li:last-of-type a::before { border-bottom: none; }


/* -------------------------------------- footer -------------------------------------- */

	footer .fMenu {
		margin: 0px auto 50px;
		padding-top: 20px;
		width: 90%;
	}

	footer .fMenu li {
		width: 100%;
		font-size: 4vw;
	}

	footer .fMenu li a {
		margin: 0px auto;
		padding: 20px 0;
		width: 70%;
		border-bottom: 1px dotted #FFFFFF;
	}

	footer .detail > div:first-of-type { margin-bottom: 30px; }

	footer .detail img {
		width: 60%;
		height: auto;
	}

	footer .detail > div:nth-of-type(2) { margin-bottom: 30px; }
	footer .detail > div:nth-of-type(2) p {
		margin-bottom: 10px;
		padding: 0;
	}

	footer .detail > div:nth-of-type(2) p:first-of-type { font-size: 4vw; }
	footer .detail > div:nth-of-type(2) p:last-of-type  {
		margin: 0px auto 10px;
		width: 70%;
	}

	footer .detail > div:nth-of-type(2) address { font-size: 3.5vw; }

	footer .detail .tel p:first-of-type {
		margin-bottom: 5px;
		padding: 0;
		font-size: 3vw;
	}

	footer .detail .tel > div { font-size: 5vw; }

	footer .detail .tel p { margin: 0; }


}

