* {
	font-family: 'IBM Plex Sans', sans-serif;
	margin:0;
	padding:0;
}

#base{
	width: 100%;
}

#content {
	position: relative;
	width: 100%;	
}

#content:before {
	content:"";
	display: block;
	padding-top: 70%;
}

.bg_img {
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;	
	background-image: url('../img/bg.webp');
	background-size: 100%;
	z-index:0;
}

#menu {
	width: 100%;
	margin-bottom: 8px;
}

#menu_logo img {
	width: 100%;
}

.menu_check {
	display: none;
}

.menu_contents {
	position: relative;
	text-align: center;
	font-weight: bold;
	background-color: #d9e1e2;
}

.menu_contents a {
	color: #000000;
	text-decoration: none;
}

/* pc */
@media screen and (min-width: 800px) {
	
	#menu {
		display: flex;
	}
	
	#menu_logo {
		width: 10%;
	}
	
	.menu_label {
		display: none;
	}
	
	#menu_group {
		width: 90%;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
	}
	
	.menu_contents {
		width: 20%;
		font-size: clamp(8px,2vw,48px);
		border: 1px solid;
		border-color: #ffffff; 
		border-top: transparent;
		border-bottom: transparent;
	}
}
/* pc end */

/* mobile */
@media screen and (max-width: 799px) {
		
	#menu {
		position: relative;
		margin-top: 8px;
	}
	
	#menu_logo {
		margin: auto;
		width: 30%;
	}
	
	.menu_label{
		display: block;
		width: 100%;
		height: 32px;
		text-align: center;
		padding-top: 8px;
		font-weight: bold;
		font-size: 16px;
		margin-top: 8px;
		background-color: #d9e1e2;
		cursor: pointer;
	}
	
	#menu_group {
		position: absolute;
		width: 100%;
		height:0;
		background-color: #ffffff;
		visibility: hidden;
		z-index: 1;
	}
	
	.menu_check:checked + .menu_label + #menu_group {
		visibility: visible;
		height: 220px;
	}
	
	.menu_contents {
		width: 100%;
		height: 40px;
		font-size: 16px;
		margin-top: 4px;
	}
}
/* mobile end */


#copy {
	font-size: 3vw;
	font-weight: bold;
	background-color: #d9e1e2;
	text-align: center;
	margin-top: 8px;
}


/* parts */
.vw_20 { font-size: 2vw;}
.vw_25 { font-size: 2.5vw;}
.vw_30 { font-size: 3vw;}
.vw_35 { font-size: 3.5vw;}
.vw_40 { font-size: 4vw;}
.vw_45 { font-size: 4.5vw;}
.vw_50 { font-size: 5vw;}
.vw_55 { font-size: 5.5vw;}
.vw_60 { font-size: 6vw;}

.u_line {
	text-decoration: underline;
}

.bold {
	font-weight: bold;
}

.txt_c {
	text-align: center;
}

.center_vh {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;	
}

.hover {
	transition: opacity 0.2s ease-out;
}

.hover:hover {
	opacity: 0.7;
}
/* parts end */
