html{
  font-size: clamp(14px, 1vw + 10px, 20px);
}
body {
  background: linear-gradient(90deg,rgba(201, 120, 255, 1) 0%, rgba(0, 255, 183, 1) 54%, rgba(232, 144, 144, 1) 68%, rgba(87, 20, 255, 1) 79%, rgba(252, 69, 69, 1) 100%);
  color: black;
  font-family: Helvetica;
  font-weight: 100;
  min-height: 100vh;
  display: flex;
  flex-direction: column; /* 要素を縦並びにする */
  min-height: 100vh;
}

.body{
  display: flex;
  justify-content: center; /* 横方向の中央揃え */
  align-items: normal; 
}

.menu ul{
  list-style:none;
  color: #ffffff;
  display: flex;
  justify-content: left;
  padding: 0;
  margin: 0;
}

.menu li{
  margin: 3vw;
}

.menu li:hover{
  color: #d07eff;
  font-weight: bold;
  transform: rotate(45deg);
  padding: 0;
  display: block;
  cursor: pointer;
  background: #ffffff;
  max-height: 100%;
  max-width: 100%;
}
.container{
  background: #ffffff;
  box-shadow: 0 0 15px 15px rgba(208, 255, 0, 0.25);
  max-width: 100%;
  padding: 2em 1.5em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10%;
  width: 50%; /* メニューとの間隔をあける */
  padding: 20px;
  border-radius: 30vw;
  font-size: 1rem;
  transition: font-size 0.4s ease, padding 0.4s ease;
}

.container h1{
  width: 100%;
  font-size: 10vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 20px;
  line-height: 1; 
  transition: font-size 0.4s ease;
}

.title{
  display: flex;
  margin: 0;
  padding: 0;
}


.face {
  display: none;
  margin: 0;
  padding: 0;
}

.container .face {
  display: none;
}

.container:focus .title {
  display: none;
}
.container:focus .face {
  display: flex;
  color: #d07eff;
  font-family: Arial, Helvetica, sans-serif
  font-size: 10vw; /* 親のfont-sizeが縮んでいるので、これでも自動的に小さくなる */
  margin: 0;
}