* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: Helvetica, sans-serif;
	word-break: keep-all;
}

#intro {
	padding-top: 55px;
}

#intro,
#mft,
#epi {
	margin-bottom: 40px;
}

#intro p,
#mft li,
#epi li {
	font-size: 20px;
	line-height: 1.6;
}

#intro h1 {
	padding-bottom: 7.5px;
}

#intro h1,
#mft h2,
#epi h2 {
	font-size: 40px;
}

#mft h2,
#epi h2 {
	padding-bottom: 10px;
}

#mft,
#nav,
#epi {
	padding-top: 20px;
	border-top: 2px solid black;
}

.board {
	position: absolute;
	top: 50svh;
	left: 0;
	width: 100%;
	height: 50svh;
  animation: veil 4s both;
  z-index: 2;
  background-color: #efefef;
  box-shadow: 2px 5px 10px 2px gray;
}

.board2 {
	position: absolute;
	top: 50svh;
	right: 0;
	width: 100%;
	height: 50svh;
  animation: veil 4s both;
  z-index: 2;
  background-color: #efefef;
  box-shadow: 2px 5px 10px 2px gray;
}

@keyframes veil {
  0% {
    width: 100%;
  }

  100% {
    width: 0;
  }
}

.blink {
  animation: blinking 0.75s step-end infinite;
}

@keyframes blinking {
  50% {
    opacity: 0;
  }
}

h1,
h2,
h3,
h4 {
	font-weight: 500;
}

body {
	padding: 15px;
	width: 100%;
	height: 100%;
	background-color: #efefef;
}

.head {
	background-color: #efefef;
	border-bottom: 2px solid black;
}

body { 
	-ms-overflow-style: none; 
} 

body::-webkit-scrollbar { 
	display: none; 
} 

.big {
	letter-spacing: 0px;
	line-height: 1.2;
	word-spacing: 8px;
}

header {
	position: fixed;
	top: 0;
	width: calc(100% - 30px);
	height: 50px;
	z-index: 2;
	padding-top: 15px;
}

header p {
	position: absolute;
	top: 15px;
	right: 15px;
	font-size: 20px;
}

.logo {
	width: 55px;
	margin-left: 3px;
}

.lang {
	font-size: 15px;
	position: absolute;
	top: 15px;
	right: 5px;
}

/*nav {
	position: absolute;
	top: 55px;
}

nav li {
	height: calc((100% - 65px) / 2);
	width: calc(100vw - 30px);
	border-top: 2px solid black;
	font-size: 20px;
	writing-mode: vertical-rl;
	padding-top: 10px;
	padding-bottom: 20px;
}
*/
.series {
	position: absolute;
	left: 0px;
	font-size: 16px;
	letter-spacing: -2.5px;
	word-spacing: 6px;
}

section h2 {
	position: absolute;
	top: 20px;
	right: 20px;
	line-height: 1.2;
	font-size: 45px;
	writing-mode: vertical-rl;
	height: 30svh;
}

.num {
	text-orientation: upright;
	padding-top: 5px;
}

.video,
.howto {
	position: absolute;
	width: 100vw;
	height: 50svh;
}

.mean,
.review {
	width: calc(100vw - 30px);
	padding-top: 15px;
	font-size: 20px;
	display: flex;
	margin-bottom: 40px;
}

.in {
	text-indent: 30px;
}

.mb {
	margin-bottom: 20px;
}

.video {
	top: 0;
	left: 0;
}

video  {
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 50svh;
}

.left {
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
}

.howto {
	top: 50svh;
	left: 0;
	font-size: 24px;
	line-height: 1.5;
	z-index: 2;
}

.howto p {
	writing-mode: vertical-rl;
}

.step,
.inst,
.anno {
	position: absolute;
	top: 20px;
}

.step {
	right: 10px;
}

.inst {
	right: 50px;
	height: 42svh;
	letter-spacing: -1px;
	word-spacing: 6px;
}

.anno {
	top: 24px;
	left: 20px;
	font-size: 16px;
	word-spacing: 6px;
}

.gori {
	font-size: 18px;
	position: relative;
	right: -8px;
	margin-top: 3px;
}

.ddd {
	position: relative;
	right: -14px;
}

.review {
	border-top: 2px solid black;
}

.review ul {
	display: flex;
	margin-left: -5px;

}

.review ul li {
	writing-mode: vertical-rl;
	line-height: 1.55;
	letter-spacing: 0px;
	word-spacing: 6px;
}

.review section {
	position: absolute;
	left: 60px;
	width: calc(100% - 80px);
}

.mean section,
.review ul {
	position: relative;
	left: 35px;
	width: calc(100% - 80px);
}

.info {
	position: absolute;
	top: 55px;
}

h3 {
	writing-mode: vertical-rl;
	margin-bottom: 20px;
	font-size: 16px;
	letter-spacing: 0px;
	word-spacing: 4px;
}

h4 {
	position: fixed;
	top: 70px;
	left: 15px;
	writing-mode: vertical-rl;
	font-size: 16px;
	margin-right: 30px;
	letter-spacing: 0-px;
	word-spacing: 4px;
	height: calc(100% - 70px);
}

.title {
	padding-top: 5px;
}

.name {
	position: absolute;
	bottom: 20px;
}

.inter {
	top: 15px;
	position: relative;
	left: 60px;
	font-size: 20px;
	width: calc(100% - 80px);
}

.inter section {
	padding-bottom: 40px;
}

.dial p {
	margin-bottom: 24px;
}

p {
	line-height: 1.6;
}

a {
	text-decoration: none;
	color: black;
}

li {
	list-style: none;
}

.ul {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.en h2 {
	padding: 0 10px 0 20px;
}

.en h2,
.en .anno,
.en .inst {
 	writing-mode: horizontal-tb;
 	letter-spacing: 0;
 	word-spacing: 0;
}

.en .step {
	right: auto;
	left: 10px;
}

.en .inst {
	top: 60px;
	right: auto;
	left: 22px;
	width: calc(100% - 44px);
}

.en .anno {
	bottom: 15px;
	top: auto;
	left: auto;
	right: 20px;
}

.en #mft h2,
.en #epi h2 {
	margin-left: -20px;
}

.ns {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


.anno:hover {
	opacity: 50%;
}

@media screen and (max-width: 900px) {

	.inst .ns {
		letter-spacing: -2px;
		word-spacing: 8px;
		line-height: -0.2;
	} 

	.big {
		letter-spacing: -5px;
		line-height: 0.5;
		word-spacing: 8px;
	}
}