/* common.css
========================================*/
/* module */
/* ==========================
	default style
============================= */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin:0;
	padding:0;
}

h1, h2, h3, h4, h5, h6, em, address, small {
	font-size:100%;
	font-style:normal;
	font-weight:normal;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

th {
	font-weight:normal;
	text-align:left;
	vertical-align:top;
}

ul, ol, li {
	list-style-type:none;
}

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

a img {
	vertical-align:middle;
}

a {
	display:inline-block;
	text-decoration:none;
}

strong {
	font-size:100%;
	font-style:normal;
	font-weight:bold;
}

button, input[type=submit] {
	background:none;
	border:0;
	padding:0;
}

input[type=text], input[type=email], input[type=tel], textarea {
	border-radius:0;
	outline:none;
}

input[type=radio], input[type=checkbox] {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	display:none;
}

select {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border-radius:0;
}

* {
	box-sizing:border-box;
}

/* font reset */
body {
	font-family:sans-serif;
	line-height:1;
}

input, button, textarea, select {
	color:inherit;
	font:inherit;
}

/* HTML5 */
article, aside, figure, figcaption, footer, header, nav, section, main, picture {
	display:block;
	margin:0;
	padding:0;
}

/* ==========================
	base style
============================= */
html {
	overflow:auto;
	scroll-behavior:smooth;
}
@media screen and (max-width: 767px) {
	html {
		font-size:3.7333333333vw;
		-webkit-text-size-adjust:100%;
	}
}
@media print, screen and (min-width: 768px) {
	html {
		font-size:18px;
	}
}

body {
	color:#4d4d4d;
	font-family:"Noto Sans JP";
	font-weight:400;
	overflow-x:clip;
}
@media print, screen and (min-width: 768px) {
	body {
		margin:auto;
		min-width:1200px;
		max-width:1920px;
	}
}
@media screen and (max-width: 767px) {
	body {
		padding-top:12.8vw;
		width:100vw;
	}
	body.no-scroll {
		overflow-y:hidden;
		height:calc(var(--vh) * 100);
	}
}

a {
	color:#4d4d4d;
}

#main {
	letter-spacing:.03rem;
}
@media screen and (max-width: 767px) {
	#main {
		line-height:1.7em;
	}
}
@media print, screen and (min-width: 768px) {
	#main {
		line-height:1.6em;
	}
}

@media screen and (max-width: 767px) {
	.pconly {
		display:none;
	}
}
@media print, screen and (min-width: 768px) {
	.sponly {
		display:none;
	}
}
/* ==========================
	header style
============================= */
#header ._logo img {
	height:auto;
	width:100%;
}
@media screen and (max-width: 767px) {
	#header {
		background-color:#fff;
		padding-left:9.6vw;
		position:fixed;
		top:0;
		height:auto;
		width:100%;
		z-index:100;
	}
	#header ._logo {
		margin-block:0;
		padding-bottom:0;
		width:24.4666666667vw;
	}
	#header ._logo ._label {
		display:block;
		width:fit-content;
		margin:.9vw auto 0;
	}
	#header ._menubtn {
		background-color:#7badc7;
		color:#fff;
		font-family:"Noto Sans JP";
		letter-spacing:unset;
		aspect-ratio:1/1;
		width:auto;
		height:12.8vw;
	}
	#header ._menubtn ._label {
		display:block;
		padding-top:1.3333333333vw;
	}
	#header ._menubtn>img {
		width:5.333vw;
	}
	#header ._label {
		font-size:2.14vw;
		font-weight:500;
	}
	#header ._nav {
		margin-inline:auto 4vw;
		display:flex;
		gap:4vw;
	}
	#header ._nav>li>a {
		display:flex;
		align-items:center;
		flex-direction:column;
		gap:2px;
		color:#86acc3;
	}
	#header ._nav>li>a>img {
		margin-bottom:.1vw;
		width:5.8667vw;
		aspect-ratio:1/1;
	}
}
@media print, screen and (min-width: 768px) {
	#header._lower {
		position:sticky;
		top:0;
		left:0;
		z-index:1000;
		transition:background-color .2s ease;
	}
	#header._lower.is-fixed {
		background-color:#fff;
	}
	#header ._logo {
		width:240px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1400px) {
	#header ._logo {
		width:180px;
	}
}
#header .-inner {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	font-family:"Noto Sans JP";
}
@media print, screen and (min-width: 768px) {
	#header .-inner {
		padding:20px 2%;
	}
	#header .-inner ._logo {
		margin-top:-8px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1400px) {
	#header .-inner {
		padding:20px 1.5% 20px 2%;
	}
}
@media print, screen and (min-width: 768px) {
	#header #glonav {
		flex:1;
	}
	#header #glonav>ul {
		margin-left:5%;
	}
	#header #glonav>ul>li {
		font-size:1rem;
	}
	#header #glonav>ul>li._contact {
		width:13%;
	}
	#header #glonav>ul>li._contact>a {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:center;
		background-color:#7badc7;
		border-radius:10px;
		color:#fff;
		font-size:.9444444444rem;
		font-weight:700;
		padding:5px 10px;
		text-align:center;
		height:54px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1400px) {
	#header #glonav>ul>li {
		font-size:.8888888889rem;
	}
	#header #glonav>ul>li._contact>a {
		font-size:.8333333333rem;
	}
}

#glonav .-list>li {
	font-weight:500;
}
@media print, screen and (min-width: 768px) {
	#glonav .-list {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-between;
	}
	#glonav .-list>li>a {
		transition:all .2s ease;
	}
	#glonav .-list>li>a:hover {
		opacity:.7;
	}
}
@media screen and (max-width: 767px) {
	#glonav {
		background-color:#7badc7;
		color:#fff;
		overflow-y:scroll;
		padding-bottom:8vw;
		position:fixed;
		right:-100%;
		top:0;
		max-height:calc(var(--vh) * 100);
		width:100%;
		z-index:1000;
		transition:all .3s ease;
	}
	#glonav.is-show {
		right:0;
	}
	#glonav .-spblock {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-between;
		margin-bottom:5.3333333333vw;
		padding-left:4vw;
		height:17.3333333333vw;
	}
	#glonav .-spblock ._logo {
		padding-bottom:1.3333333333vw;
		width:34.6666666667vw;
	}
	#glonav .-spblock ._logo img {
		height:auto;
		width:100%;
	}
	#glonav .-spblock ._close {
		margin-right:2.6666666667vw;
		padding:2.6666666667vw;
	}
	#glonav .-spblock ._close img {
		width:7.2vw;
	}
	#glonav .-list {
		margin-bottom:10.6666666667vw;
		padding:0 10.6666666667vw;
	}
	#glonav .-list>li {
		font-size:4.5333333333vw;
		letter-spacing:.1rem;
		margin-bottom:5.3333333333vw;
	}
	#glonav .-list>li>a {
		color:#fff;
		padding:1.3333333333vw 0;
	}
	#glonav .-list>li>a:before {
		content:"\f101";
		font-family:"Font Awesome 5 Pro";
		font-size:5.6vw;
		font-weight:100;
		margin-right:2.6666666667vw;
		vertical-align:-.1em;
	}
	#glonav .-tel {
		text-align:center;
	}
	#glonav .-tel>dt {
		font-family:"Montserrat", sans-serif;
		font-size:5.3333333333vw;
		font-weight:700;
		letter-spacing:.1rem;
		line-height:1em;
		margin-bottom:1.3333333333vw;
	}
	#glonav .-tel>dt>a {
		color:#fff;
	}
}
