:root {
	--vw: 100vw;
	--content-width: var(--vw);
	--content-left: calc(50% - var(--content-width) / 2);
	--font-base: calc(var(--content-width) * 0.02);
}

body{
	background-image: url(img/29870985_m.jpg);
	background-size: cover;
	background-attachment: fixed;
	background-clip: content-box;
	background-position: center;
	margin: 0;
}

div{margin:0;}
span{display: inline-block;}
a{color: inherit; text-decoration: none;}
button {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: none;
	border-radius: 0;
}

.area{
	display: block;
	position: relative;
	width: var(--content-width);
	left: var(--content-left);
}
.inner-area{display: block; position: absolute;}
.image{display: block; position: absolute; object-fit: cover;}
.fiximage{ display: block; position: fixed; object-fit: cover; user-select: none;}

.fill{width: 100%; height: 100%;}
.centered{left: 50%; transform: translate(-50%,0); text-align: center;}
.no-margin{margin: 0;}

.sans{
	font-size: var(--font-base);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.serif{
	font-size: var(--font-base);
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
}
.title{font-size: calc(var(--font-base) * 3.6);}
.subtitle{font-size: calc(var(--font-base) * 2.7);}
.course{font-size: calc(var(--font-base) * 2.1);}
.paragraph{font-size: calc(var(--font-base) * 1.8);}
.sign{font-size: calc(var(--font-base) * 1.4);}
.black{color: black;}
.gray{color: dimgray;}
.white{color: white;}
.orange{color: rgb(255, 203, 107);}
.golden{color: goldenrod;}
.skyblue{color: steelblue;}
.blue{color: royalblue;}

.no-margin{margin: 0;}

.main{display: none;}

#concept-area{height: calc(var(--content-width) * 1.8); overflow: hidden;}
#concept-area .image{width: 80%; left: 10%; top: calc(var(--content-width) * 0.48); user-select: none;}
#concept-area .title{width:100%; top: calc(var(--content-width) * 0.18); left: 50%; transform: translate(-50%, 0); text-align: center;}
#concept-area .subtitle{top: calc(var(--content-width) * 0.84); left: 50%; transform: translate(-50%, 0);}
#concept-area .paragraph{width: 96%; top: calc(var(--content-width) * 1.00); text-align: center;}

#content-area{height: calc(var(--content-width) * 2.2); margin-bottom: calc(var(--content-width) * 0.08);}
#content-image1{
	width: 100%; height: 35%; top: 0%;
	background-image: url(img/3.jpg);
	background-size: cover;
	user-select: none;
	background-position: 70% 0;
}
#content-color1{width: 100%; height: 30%; top: 100%; background-color:rgb(187, 49, 49)}
#content-title1{margin: 0; width: 100%; top: 115%; left: 50%; transform: translate(-50%, -50%); text-align: center;}
#content-image2{
	width: 100%; height: 35%; top: 50%;
	background-image: url(img/top2.jpg);
	background-size: cover;
	user-select: none;
	background-position: 50% 0;
}
#content-color2{width: 100%; height: 30%; top: 100%; background-color: rgb(187, 49, 49)}
#content-title2{margin: 0; width: 100%; top: 115%; left: 50%; transform: translate(-50%, -50%); text-align: center;}

#footer-area{
	display: block; position: absolute; overflow: hidden;
	width:100%; height: calc(var(--content-width) * 0.3);
	left: 0; background-color: rgb(187, 49, 49);
}
#footer-area .sign{
	display: block; position: relative;
	top: 10%; left: 30%;
}

.side-open .overlay{
	transform: translate3d(-60%, 0, 0);
}

.overlay{
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	transition: all .5s ease;
	z-index: 3;
}
.side-open .overlay{
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.2);
	transition: all .5s ease;
}

.side-menu{
	position: fixed;
	top: 0;
	right: -60%;
	width: 60%;
	height: 100%;
	padding-top: 20%;
	text-align: left;
	background: rgb(187, 49, 49);
	z-index: 1;
	transition: all .5s ease;
}
.side-open .side-menu{
	right: 0;
	transition: all .5s ease;
}

.side-menu-ul{
	width: 100%;
	height: 90%;
	display: block;
	overflow-x: hidden;
	overflow-y: hidden;
	list-style-type: none;
}
.side-menu-ul li{
	padding: calc(var(--font-base) * 3) calc(var(--font-base) * 2);
}

.side-menu-btn{
	position: fixed;
	top: calc(var(--font-base) * 1);
	right: calc(var(--font-base) * 1);
	width: calc(var(--font-base) * 6);
	height: calc(var(--font-base) * 6);
	padding: 0;
	cursor: pointer;
	z-index: 4;
	background: rgba(255, 255, 255, 0.9);
}
.side-open .side-menu-btn{
	background: none;
}

.ellipsis-v{
	position: relative;
	display: block;
	cursor: pointer;
	width: 50%;
	left: 25%;
	height: 50%;
	top: 25%;
}

.ellipsis-v .point{
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 4px;
	margin: auto;
	background: #333;
	transition: all .3s;
}

.ellipsis-v .point.top{
	top: 0;
}

.ellipsis-v .point.mid{
	top: 0;
	bottom: 0;
}

.ellipsis-v .point.bot{
	bottom: 0;
}

.side-open .side-menu-btn:hover .top,
.side-open .top{
	width: 140%;
	height: 1px;
	background: #fff;
	transform-origin: left top;
	transform: rotate(45deg);
}

.side-open .mid{
	opacity: 0;
}

.side-open .side-menu-btn:hover .bot,
.side-open .bot{
	width: 140%;
	height: 1px;
	background: #fff;
	transform-origin: left bottom;
	transform: rotate(-45deg);
}

.side-open .side-menu-btn:hover .bot,
.side-open .side-menu-btn:hover .top{
	background: #ccc;
}