@charset "utf-8";


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

@media screen and (max-width: 767px) {
	.pc {
		display: none!important;
	}
}

/*---------------------------------
root
---------------------------------*/
:root {
	--sp: 3.9;
	--tablet: 13.66;
}


/************************************
body, html
************************************/
body {
	position: relative;
	overflow: hidden;
	background: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	min-height: -webkit-fill-available;
	-webkit-text-size-adjust: 100%;
}

html {
	height: -webkit-fill-available;
}

img {
	display: block;
}

a:hover {
	opacity: 0.5;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}


/************************************
header
************************************/


/************************************
footer
************************************/
@media screen and (min-width: 1200px) {
	footer {
		background: #ffffff;
		border-bottom: 20px solid #00489d;
		width: 100%;
	}
	
	footer .address {
		width: 100%;
		padding: 60px 0 40px;
	}
	
	footer .address h2 {
		width: 210px;
		height: 140px;
		margin: 0 auto 30px;
	}
	
	footer .address p {
		color: #3c3c3c;
		font-size: 16px;
		line-height: 26px;
		font-weight: 400;
		text-align: center;
		margin-bottom: 35px;
	}
	
	footer .map {
		width: 100%;
		height: 500px;
	}
	
	footer .address .instagram {
		display: block;
		width: 36px;
		height: 36px;
		margin: 0 auto;
	}
	
	footer small {
		display: block;
		color: #00489d;
		font-size: 12px;
		line-height: 1em;
		font-weight: 400;
		text-align: center;
		width: 100%;
		padding: 25px 0;
	}
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	footer {
		background: #ffffff;
		border-bottom: calc(20vw / var(--tablet)) solid #00489d;
		width: 100%;
	}
	
	footer .address {
		width: 100%;
		padding: calc(60vw / var(--tablet)) 0 calc(40vw / var(--tablet));
	}
	
	footer .address h2 {
		width: calc(210vw / var(--tablet));
		height: calc(140vw / var(--tablet));
		margin: 0 auto calc(30vw / var(--tablet));
	}
	
	footer .address p {
		color: #3c3c3c;
		font-size: calc(16vw / var(--tablet));
		line-height: calc(26vw / var(--tablet));
		font-weight: 400;
		text-align: center;
		margin-bottom: calc(35vw / var(--tablet));
	}
	
	footer .address .instagram {
		display: block;
		width: calc(36vw / var(--tablet));
		height: calc(36vw / var(--tablet));
		margin: 0 auto;
	}
	
	footer .map {
		width: 100%;
		height: calc(500vw / var(--tablet));
	}
	
	footer small {
		display: block;
		color: #00489d;
		font-size: calc(12vw / var(--tablet));
		line-height: 1em;
		font-weight: 400;
		text-align: center;
		width: 100%;
		padding: calc(25vw / var(--tablet)) 0;
	}
}

@media screen and (max-width: 767px) {
	footer {
		background: #ffffff;
		border-bottom: calc(20vw / var(--sp)) solid #00489d;
		width: 100%;
	}
	
	footer .address {
		width: 100%;
		padding: calc(60vw / var(--sp)) 0 calc(40vw / var(--sp));
	}
	
	footer .address h2 {
		width: calc(210vw / var(--sp));
		height: calc(140vw / var(--sp));
		margin: 0 auto calc(30vw / var(--sp));
	}
	
	footer .address p {
		color: #3c3c3c;
		font-size: calc(16vw / var(--sp));
		line-height: calc(26vw / var(--sp));
		font-weight: 400;
		text-align: center;
		margin-bottom: calc(35vw / var(--sp));
	}
	
	footer .address .instagram {
		display: block;
		width: calc(36vw / var(--sp));
		height: calc(36vw / var(--sp));
		margin: 0 auto;
	}
	
	footer .map {
		width: 100%;
		height: calc(250vw / var(--sp));
	}
	
	footer small {
		display: block;
		color: #00489d;
		font-size: calc(12vw / var(--sp));
		line-height: 1em;
		font-weight: 400;
		text-align: center;
		width: 100%;
		padding: calc(25vw / var(--sp)) 0;
	}
}