@charset "utf-8";

html{
color-scheme: dark light;
scroll-behavior: smooth;
}

/* Reset */
*{
margin:0;
padding: 0;
}
body{
line-height: 1;
font-family: sans-serif;
/* color: #fff;
background: #000; */
} 
ul{
list-style: none;
}
a{
text-decoration: none;
color: inherit;
display: block;
}
img{
max-width: 100%;
}

/* Header */
header{
margin-block: 50px 150px; 
padding-inline: 50px;
display: flex;
justify-content: 
space-between;
align-items: flex-end;
}
h1{
font-size: 3em;
font-family:'Ruthie', cursive;
}

/* Pc navigation */
.pcnav ul{
display: flex;
gap: 20px;
}
.pcnav li{
color: #777;
}
.pcnav a{
color: #777;
transition: 200ms;
}
.pcnav a:hover{
color: #fff;
}
.pcnav a::after{
content: "";
display: block;
height: 3px;
scale:0 1;
background: #fff;
margin-top: 2px;
transition: 200ms;
}
.pcnav a:hover::after{
scale: 1;
}
 
/* Main Contents */
main{
max-width:1200px;
margin-inline: auto;
padding-inline:10px;
background:
url(../img/self2.png) no-repeat right top/35% auto;
}
.main{
height:calc(100vh - 240px);
}

/* コピー、SNS */
.intro,.sns{
width:60%;
}
.intro h2{
/* outline: 1px solid #ff0; */
font-family:'Ruthie', cursive;
font-size: 5em;
font-weight: bold;
text-align: center;
background:
linear-gradient(
#fff 10%,
#555 45%,
#fff 46%,
#555);
padding-top: 10px;
height: 1.5em;

background-clip: text;
-webkit-background-clip: text;
color: transparent;
/* outline: 1px solid #ff0; */
}
.intro h2 span{
display: block;
font-family: san-serif;
font-weight: normal;
font-size: 16px;
margin-top: 2em;
color: #fff;
}
.intro p{
line-height: 1.3;
font-size: 1.2em;
}
.intro>p:nth-of-type(1){
margin-block:3em 1.5em;
}

/* SNS icons */
.sns{
margin-block: 2.5em;
}
 .sns ul{
display: flex;
justify-content: end;
gap: 20px;
}
.sns a i, .sns i{
color: #555;
font-size:50px;
transition: 300ms;
}
.sns a:hover i{
color: #fff;
scale: 1.4;
}

/* プロフィール、データリンク */
.link{
display: flex;
gap:1em;
}
.link li{
border:1px solid #777;
width: 150px;
line-height: 50px;
border-radius: 5px;
text-align: center;
position: relative;
}
.link a{
color: #777;
transition: 200ms;
}
.link a::before{
content: "";
display: inline-block;
height:100%;
width:0;
background: #fff;
position: absolute;
top: 0;
left: 0;
transition: 200ms;
z-index: -1;
}
.link a:hover{
color: #000;
}
.link a:hover::before{
width:100%;
}

/* スクロールリンク */
.link-btm{
color: #777;
font-size: 5em;
width: fit-content;
position: absolute;
margin: auto;
left: 0;
right: 0;
bottom: 50px;
transition:300ms;
}
.link-btm:hover{
color: #fff;
}
.top-btn{
font-size: 5em;
position: fixed;
bottom: 50px;
right: 50px;
width: 50px;
height: 50px;
/* opacity: 0; */
transition: 300ms;
}



/* Works */
.works h2{
font-family:'Ruthie', cursive;
font-size: 5em;
font-weight: bold;
margin-block:1.5em  0.7em;
text-align: center;
}
.works h2 span{
display: block;
font-family: san-serif;
font-weight: normal;
font-size: 16px;
margin-left: 1em;
color: #fff;
}
.web{
padding:100px 10px 0;
}
.web ul{
display: flex;
justify-content: space-between;
}
.web ul:nth-of-type(odd){
align-items: flex-end;
}
.web ul:nth-of-type(even){
margin-bottom: 50px;
}
.web li{
width:23%;
text-align: center;
margin-bottom: 25px;
}
.web img{
box-sizing: border-box;
border:7px solid #999;
border-radius: 5px;
margin: 5px 0;
}

/* Visual */
.design ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.design li{
width:23%;
margin-bottom: 30px;
}
.design img{
width:100%;
height: 170px;
object-fit: cover;
box-sizing: border-box;
border:7px solid #999;
border-radius: 5px;
}

/* Profile */
.profile dl{
width: fit-content;
margin-inline: auto;
margin-bottom: 7em;
}
.profile dt{
float: left;
}
.profile dd{
margin: 0 0 2em 10em;
}

footer{
border-top: 1px solid #aaa;
padding-top: 2em;
text-align: center;
margin-bottom: 5em;
}