*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Lato', sans-serif;
  font-family: 'Oswald', sans-serif;
}
.wrapper{
  position: fixed;
  top: 0;
  /*left: -100%;*/
  right: -100%;
  height: 100%;
  width: 12%;
  background: #0964B0;
  /*background: linear-gradient(90deg, #f92c78, #4114a1);*/
  /* background: linear-gradient(375deg, #1cc7d0, #2ede98); */
/* background: linear-gradient(-45deg, #e3eefe 0%, #efddfb 100%);*/
  transition: all 0.6s ease-in-out;
}
#active:checked ~ .wrapper{
  /*left: 0;*/
  right:0;
}
.menu-btn{
  position: absolute;
  z-index: 2;
  right: 20px;
  /*left: 20px; */
  top: 20px;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  /*color: #fff;*/
  /*background: linear-gradient(90deg, #f92c78, #4114a1);*/
  /* background: linear-gradient(375deg, #1cc7d0, #2ede98); */
/* background: linear-gradient(-45deg, #e3eefe 0%, #efddfb 100%); */
  transition: all 0.3s ease-in-out;
}
.menu-btn span,
.menu-btn:before,
.menu-btn:after{
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 30%;
  width: 40%;
  border-bottom: 2px solid #000;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-btn:before{
  transform: translateY(-8px);
}
.menu-btn:after{
  transform: translateY(8px);
}


.close {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: background .6s;
}

/* closing animation */
#active:checked + .menu-btn span {
  transform: scaleX(0);
}
#active:checked + .menu-btn:before {
  transform: rotate(45deg);
  border-color: #fff;
}
#active:checked + .menu-btn:after {
  transform: rotate(-45deg);
  border-color: #fff;
}
.wrapper ul{
  position: absolute;
  top: 60%;
  left: 50%;
  height: 90%;
  transform: translate(-50%, -50%);
  list-style: none;
  text-align: center;
}
.wrapper ul li{
  height: 10%;
  margin: 15px 0;
}
.wrapper ul li a{
  text-decoration: none;
  font-size: 30px;
  font-weight: 500;
  padding: 5px 30px;
  color: #fff;
  border-radius: 50px;
  position: absolute;
  line-height: 50px;
  margin: 5px 30px;
  opacity: 0;
  transition: all 0.3s ease;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper ul li a:after{
  position: absolute;
  content: "";
  background: #fff;
  /*background: linear-gradient(#14ffe9, #ffeb3b, #ff00e0);*/
  /*background: linear-gradient(375deg, #1cc7d0, #2ede98);*/
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50px;
  transform: scaleY(0);
  z-index: -1;
  transition: transform 0.3s ease;
}
.wrapper ul li a:hover:after{
  transform: scaleY(1);
}
.wrapper ul li a:hover{
  color: #0964B0;
}
input[type="checkbox"]{
  display: none;
}


.wrapper_sublist ul{
  position: absolute;
  top: 30%;
  left: 50%;
  height: 90%;
  transform: translate(-50%, -50%);
  list-style: none;
  text-align: left;
}
.wrapper_sublist ul li{
  height: 10%;
  margin: 15px 0;
}
.wrapper_sublist ul li a{
  text-decoration: none;
  font-size: 30px;
  font-weight: 500;
  padding: 5px 30px;
  color: #fff;
  border-radius: 50px;
  position: absolute;
  line-height: 50px;
  margin: 5px 30px;
  opacity: 0;
  transition: all 0.3s ease;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}



.content_home{
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  text-align: center;
  width: 100%;
  color: #202020;
}        
.content_home h1{
  font-size: 46px;
  font-weight: 700;
}
.content_home h3{
  font-size: 36px;
  font-weight: 620;
}



.content_about {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  text-align: center;
  width: 100%;
  color: #202020;
}
.content_about h1{
  font-size: 40px;
  font-weight: 700;
}
.content_about p{
  font-size: 24px;
  font-weight: 600;
  margin-right:20%;
  margin-left:20%;
}


.content_contact {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  text-align: center;
  width: 100%;
  color: #202020;
}
.content_contact h1{
  font-size: 40px;
  font-weight: 700;
}
.content_contact p{
  font-size: 24px;
  font-weight: 600;
  margin-right:20%;
  margin-left:20%;
}


.content_projects h1{
  font-size: 34px;
  font-weight: 700;
  text-align: left;
  margin-left:20%;
}
.content_projects h2{
  font-size: 30px;
  font-weight: 650;
  text-align: left;
  margin-left:20%;
}
.content_projects h3{
  font-size: 24px;
  font-weight: 620;
  text-align: left;
  margin-left:20%;
}
.content_projects p{
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  margin-left:20%;
  margin-right:20%;
}


#active:checked ~ .wrapper ul li a{
  opacity: 1;
}
.wrapper ul li a{
  transition: opacity 1.2s, transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(100px);
}
#active:checked ~ .wrapper ul li a{
  transform: none;
  transition-timing-function: ease, cubic-bezier(.1,1.3,.3,1); /* easeOutBackを緩めた感じ */
  transition-delay: .6s;
  transform: translateX(-100px);
}
.logo {
      font-size: 35px;
      font-weight: bold;
      color: #0964B0;
      margin-top:10px;
      margin-left:15px
  }

.animate__animated.animate__zoomInDown {
    --animate-duration: 2s;
}
.animate__animated.animate__zoomIn {
    --animate-duration: 2s;
    --animate-delay: 3s;
}
.animate__animated.animate__zoomInUp {
    --animate-duration: 2s;
}
.animate__animated.animate__fadeIn {
  --animate-duration: 2.5s;
}
body {
  background-image: url('../images/bakground_cut_2.jpg');
}

img {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px;
  width: 20%;
  height: 20%;
}

img:hover {
  box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
}


#overlay {
position: fixed;
display: none;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
z-index: 2;
cursor: pointer;
}

.overlay_image{
display: block;
margin-left: auto;
margin-right: auto;
margin-top: 10%;
width: 60%;
height: 60%;
}
.thumbnail_image{
width:150px;
height:150px;
}

.flex-container {
display: flex;
margin-left:20%;
}