@font-face {
    font-family: "Relancer-Regular";
    src: url(fonts/Relancer-Regular.woff) format("woff");
}

@font-face {
    font-family: "mplus-1c-thin";
    font-weight: bolder;
    src: url(fonts/mplus-1c-thin.woff) format("woff");
}

@font-face {
    font-family: "LexendDeca-Regular";
src: url(../fonts/LexendDeca-Regular.woff) format("woff");
}

@font-face {
    font-family: "Font Awesome 5 Brands";
src: url(../fonts/fa-brands-400.woff) format("woff");
}

@font-face {
  font-family: "Electrolize-Regular";
src: url(../fonts/Electrolize-Regular.woff) format("woff");
}

html {
    overflow-x: hidden;
    font-family: "Font Awesome 5 Brands","Relancer-Regular","mplus-1c-thin";
    -webkit-font-smoothing: subpixel-antialiased;
    height: 100vh;
    width: 100vw;
}

header{
    top:0;
    left:0;
    position: fixed;
    min-height: 56px;
    width: 100vw;
    z-index: 9;
    border-bottom-right-radius: 40px;
    border-bottom-left-radius: 40px;
    opacity:0.75;
    font-size: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr 15fr 2fr 1fr;
}

header::before {
    min-height: 56px;
    width: 100vw;
    z-index: 10;
    content: '';
    position: absolute;
    border-bottom-right-radius: 40px;
    border-bottom-left-radius: 40px;
    filter: blur(5px);
    z-index: -1;
}

header div{
 margin: auto;
}

body a,
body a:visited {
    text-decoration: none !important;
    color:white;
}

.opening{
  font-family: "Electrolize-Regular";
  width: 100vw;
  height: 125vh;
  z-index: 99;
  position: fixed;
  background: rgba(0,0,0,0.9);
  animation-name: op0;
  animation-duration: 4.5s;
  animation-fill-mode: forwards;
}

.opening::before {
    content: '';
    position: absolute;
    /* 輪郭がぼやけてしまうのでブラー範囲を広げる */
    width: 100%;
    height: 100%;
    top: -5px;
    bottom: -5px;
    left: -5px;
    right: -5px;
    background: inherit;
    position: fixed;
    filter: blur(5px);
    z-index: 998;
    opacity:0;
}

.openingcontent{
  text-align: center;
  padding-top: 50vh;
  padding-left: 10vw;
  margin: auto auto;
  font-size: 2em;
  text-shadow:0 0 10px white;
}

.optext{
  position:absolute;
  margin: auto auto;
  text-align: center;
  animation-name: op1;
  animation-duration: 3s;
}

.optextb{
  position:absolute;
  margin: auto auto;
  transform: translateY(250%);
  text-align: center;
  font-size: 0.5em;
}


.button{
    border-radius: 4px;
    font-size: 12px;
    position: relative;
    margin: auto;
    width: 100%;
    transition: .4s;
}

.button a{
    margin: auto auto;
}

.fa-twitter:before{font-family: "Font Awesome 5 Brands",content:"\f099"}

.social{
    position: relative;
    left: 25%;
    width: 50%;
    font-family: "LexendDeca-Regular";
}

.social a{
padding-left: 2.5%;
padding-right: 2.5%;
}

.socialtitle{
    padding: 5%;  
     border-top: dotted 2px whitesmoke;
}

.env{
    position: relative;
    left: 25%;
    width: 50%;
    font-weight: bolder;
}

.envtitle{
    padding: 5%;  
     border-top: dotted 2px whitesmoke;
}

.envcontent{
    padding: 2.5%;
    font-family: "LexendDeca-Regular","mplus-1c-thin";
}

body{
    margin: 0;
    padding: 0;
    height: 100%;
    color:white;
    z-index: 0;
}

#top{
    width: 100vw;
    height: 100vh;
}

.toptext{
    margin: auto;
    position: relative;
    text-align: center;
    padding-top: 20%;
    font-size: 6em;
    text-shadow:0 0 10px gray;
}

.titlebg{
    margin: auto;
    position: relative;
    text-align: center;
    padding-top: 10%;
    padding-bottom: 10%;
}

.titlebg p{
    font-weight: bold;
    font-size:24px;
}

.titletext{
    font-size: 6em;
    opacity:1;
}

#about{
    width: 100vw;
    text-align: center;
    background: linear-gradient(to bottom,transparent, #4000c0ff, #60008033);
}

.aboutc{
    text-align: center;
    padding: 1%;
}

#skill{
    width: 100vw;
    text-align: center;
    background: rgba(0,0,0,0.5);
}

.skilllist{
    padding-bottom: 5%;
}

footer{
  font-family: "LexendDeca-Regular";
  width: 100vw;
  font-size: 10px;
  text-align: center;
  background: black;
  padding-top: 1%;
}

.skillbg{
    margin: auto;
    position: relative;
    padding-top: 10%;
    padding-bottom: 10%;
}

.skillbg p{
    font-weight: bold;
    font-size:24px;
}

.skilltext{
    font-size: 6em;
}

.skillcontent{
    text-align: center;
}

.cpp{
   font-size: 4em;
   font-weight: bolder;
}

.skillcontent p{
    font-weight: bolder;
}

.skillcontent span{
    font-weight: bolder;
}

.list {
  overflow-x: auto;
  white-space: nowrap;
}

.keikou {
  display: inline-block;
  position: relative;
  height: 180px;
  width: 320px;
  transition: all .5s;
  transform: scale(0.75);
  background: url("img/k.png") no-repeat;
  border-radius: 18px 18px 18px 18px;
}

.keikou:hover {
  transform: scale(1);
}

.andmore{
  display: inline-block;
  position: relative;
  width: 320px;
  height: 180px;
  transform: scale(0.75);
  background-color: black;
  border-radius: 18px 18px 18px 18px;
}

.c{
  position: absolute;
  width: 320px;
  height: 180px;
  transition: all .5s;
  transform: scale(0.75);
  background-color: black;
  opacity: 0;
  border-radius: 18px 18px 18px 18px;
}

.c:hover {
  transform: scale(1);
  opacity: 0.75;
}

.t {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  margin: 45px auto;
  text-align: center;
  font-size: 18px;
  color:white;
  font-weight: bolder;
}

.t div {
  font-size: 36px;
}


.awes span {
    font-size:7em
  }
  .awes span:before {
    opacity: 1;
    background-clip: text;
    text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%;
  }

  .linuxt,
  .linuxt:before{
      font-family: "Font Awesome 5 Brands";
      content:"\f17c";
      font-weight: 400;
      color:white;
  }
  .linuxt:before{
    background-color: #5fc9f8;
    background-image: linear-gradient(45deg, #5fc9f8 0%, #147efb 75% );
  }

  .htmlt,
  .htmlt:before{
      font-family: "Font Awesome 5 Brands";
      content:"\f13b";
      font-weight: 400;
      color:white;
  }
  .htmlt:before{
    background-color: #e55126;
    background-image: linear-gradient(90deg, #e55126 0%, #f1672c 75% );
  }

  .csst,
  .csst:before{
        font-family: "Font Awesome 5 Brands";
        content:"\f38b";
        font-weight: 400;
        color:white;
    }
    .csst:before{
      background-color: #0c73b8;
      background-image: linear-gradient(90deg, #0c73b8 0%, #30a9dc 75% );
    }

.jst,
.jst:before{
      font-family: "Font Awesome 5 Brands";
      content:"\f3b8";
      font-weight: 400;
      color:white;
  }
  .jst:before{
    background-color: #e5a228;
    background-image: linear-gradient(90deg, #e5a228 0%, #e5a228 50% );
  }

.drawt,
.drawt:before{
    font-family: "Righteous-Regular";
    content:"DRAW";
    
    }
.drawt:before{
    background-color: rgb(255, 0, 255) ;
    background-image: linear-gradient(90deg, rgb(255, 0, 255) 0%, #30a9dc 75% );
}
  

.swiftt,
.swiftt:before{
    font-family: "Font Awesome 5 Brands";
    content:"\f8e1";
    font-weight: 400;
}
.swiftt:before{
  background-color: #f05138;
  background-image: linear-gradient(45deg, #f05138 0%, #fbaf40 90% );
}

.rubyt,
.rubyt:before{
    font-family: "Font Awesome 5 Brands";
    content:"\f7c6";
    font-weight: 400;
}
.rubyt:before{
  background-color: #A91401;
  background-image: linear-gradient(90deg, #A91401 0%, #DE3F24 75% );
}

.gitt,
.gitt:before{
      font-family: "Font Awesome 5 Brands";
      content:"\f841";
      font-weight: 400;
      color:white;
  }
  .gitt:before{
    background-color: #F1502F;
    background-image: linear-gradient(45deg, red 0%, #F1502F 25% );
  }

.blockubuntu{
color:#E95420;
padding: 1%;
}

.blockdebian{
    color:#c70036;
    padding: 1%;
    }
.blockcent{
        color:red;
        padding: 1%;
        }

.block{
    color:whitesmoke;
    padding: 1%;
}

.swift{
    color:linear-gradient(bottom, #fbaf40 ,#f05138);
}



#about img {
    margin: auto auto;
    text-decoration: none;
    transition: all .5s;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom-right-radius: 12.5%;
    border-bottom-left-radius: 50%;
    width: 160px;
}

#works{
    width: 100vw;
    text-align: center;
    background: linear-gradient(to bottom,transparent, #000000, #00000033);
}

.worksc{
    border-radius: 4px;
    font-size: 12px;
    position: relative;
    margin: auto;
    transition: .4s;
    color: white;
}

.fonts{
  padding-top: 1%;
}

@media (prefers-color-scheme: light) {
    header{
        background: white;
        color:black;
    }
    header a,
    header a:visited{
      color:black;
  }
    body{
        background: url("img/bglight.svg") no-repeat;
        background-attachment: fixed;
        background-size: cover;
    }
    .button{
        color:gray;
        border: solid 1px gray;}
}

@media (prefers-color-scheme: dark) {
    header{
        background: black;
        color:white;
    }
    header a,
    header a:visited{
      color:white;
  }
    body{
        background: url("img/bgdark.svg") no-repeat;
        background-attachment: fixed;
        background-size: cover;
    }
    .button{
        color:whitesmoke;
        border: solid 1px whitesmoke;}
}

@media screen and (min-width: 1000px) {
    .social{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
.skilllist{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

}

@media screen and (max-width: 999px){
    .social div{
padding-top: 5%;
    }
} 

@keyframes op0 {
  0% {
    opacity:1;
  }
  90%{
    opacity:1;}
  99% {
    opacity:0;
    transform: translateY(0%);
  }
  100%{
    display:none;
    transform: translateY(200%);
  }
}    

@keyframes op1 {
    0%{
        transform: scale(1);
        color: purple;
    }
    2% {
        clip: rect(40px, auto, 19px, 0);
        color: white;
    }
    5% {
      clip: rect(41px, 799px, 66px, 0);
    }
    10% {
        clip: rect(40px, auto 58px, 0);
        transform: scale(1.5);
        color: darkred;
      }
      12% {
        clip: rect(10px, auto, 58px, 0);
      }
      15% {
        clip: rect(30px, auto, 46px, 0);
        color: darkgray;
      }
      
      25% {
        clip: rect(50px, auto, 12px, 0);
        transform: scale(0.8);
      }
    30% {
        clip: rect(80px, auto, 30px, 0);
        color: wheat;
      }
      32% {
        clip: rect(30px, auto, 46px, 0);
        color: whitesmoke;
      }
      35% {
        clip: rect(70px, auto, 90px, 0);
        color: #e55126;
      }
      40% {
        clip: rect(60px, auto, 20px, 0);
        color: #A91401;
      }
      45% {
        clip: rect(50px, auto, 12px, 0);
        color: #e55126;
      }
      50% {
        clip: rect(40px, auto, 19px, 0);
        color: cornsilk;
      }
      55% {
        clip: rect(30px, auto, 46px, 0);
      }
      60% {
        clip: rect(20px, auto, 48px, 0);
        transform: scale(1.25);
        color:red;
      }
      62% {
        clip: rect(10px, auto, 58px, 0);
        color:white;
      }
      64% {
        clip: rect(40px, auto 30px, 0);
      }
      65% {
        clip: rect(82px, auto 90px, 0);
        transform: scale(0.9);
      }
      70% {
        clip: rect(100px, auto, 65px, 0);
      }
      75% {
        clip: rect(41px, 799px, 66px, 0);
        transform: scale(1.1);
      }
      78% {
        clip: rect(61px, auto, 60px, 0);
      }
      80% {
        clip: rect(81px, auto, 2px, 0);
      }
      85% {
        clip: rect(91px, 969px, 69px, 0);
      }
      88% {
        clip: rect(10px, 9999px, 39px, 0);
      }
      90% {
        clip: rect(14px, 9999px, 79px, 0);
        transform: scale(1.5);
      }
      93%{
        transform: scale(10);
      }
      95%{
        transform: scale(100);
      }
  }