@charset "UTF-8";
*{
	margin: 0;
	padding: 0;
  
  
}
body {
    
    font-feature-settings: "palt";   
    color: #5D4E72;
    background-color: #F8F4F2;
    scroll-behavior: smooth;
    font-family: "Noto Serif JP", serif;
    overflow-y: hidden;
}
.burger{
    cursor: pointer;
    display: none;
}
.burger div{
    width: 25px;
    height: 3px;
    margin: 5px;
    background-color: #fff;
}

header{
    color: #fff;
    padding-inline: 4vw;
    padding-block: 2vw;
    display: flex;
    flex-direction: column;
    opacity: 0;
    translate: 0 -100%;/* 「translate」を使うと「要素を平行に移動させる」ことができます2つの値を使うと、まず１つ目に書いた値で水平方向（x軸方向）に
    
    そして、２つ目に書いた値で垂直方向（y軸方向）に指定した長さだけ動かすことができます。 */
    animation: appear 1s .8s ease-in-out forwards;
    
    nav{
        margin-right: auto;
        margin-left: auto;
        ul{
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: none;/* gapの指定でliタグ同士の間隔を空けてあげる */
        }
    }
}

header .logo{
    text-align: center;
    width: 5vw;
    height: auto;
    text-decoration: none;
}

.logo a img{
    width: 100%;
    height: auto;
    object-fit: cover;
}

header ul li{
    width: calc(100%/6);
    text-align: center;
    list-style-type: none;
}

header ul li a{
    font-size: 1.5vw;
    font-weight: 500;
    color:#fff;
    text-decoration: none;
}



.fv{
    height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
    background: linear-gradient(rgb(0 0 0 /.5),rgb(0 0 0/.5)),no-repeat center / cover url(../images/header.jpg);
    background-position: right 10% bottom 80%;
    background-color: #9EC2C2;
    position: relative;
&::before {
    content: "";
    display: block;
    background-color:#9EC2C2;
    position: absolute;
    inset: 0;
    animation: clip-fv 1s forwards;
    z-index: 1;
}
.hero{
    color: #fff;
    text-align: center;
    display: grid;
    place-items: center;/* 格子状に配置された要素を中央に揃えること */
    align-content: center;/* コンテナ内のアイテムを垂直方向の中央に配置する意味 */
    position: relative;
    h2{
        
        font-weight: 400;
        line-height: 1.5;
        gap: .25em;
        span{
            font-size: 5vw;
            display: block;
            line-height: 1;
            translate: 0 .5em;/* 2つの値を使うと、まず１つ目に書いた値で水平方向（x軸方向）に

            そして、２つ目に書いた値で垂直方向（y軸方向）に指定した長さだけ動かすことができます。 */
            opacity: 0;
            animation: appear 1s .8s cubic-bezier(.17,.88,.44,1) forwards;
            &:nth-of-type(2){
                animation-delay: 0.9s;
                font-size: 2rem;
            }
        }
  
    }
}
.text{
    font-size: 1em;
    letter-spacing: .08em;
    line-height: 2;
    margin-top: 3em;
    color: #fff;
    translate: 0 2em;
    opacity: 0;
    animation: appear 1s 1s ease-in-out forwards;
}
.scroll{
    position: absolute;
    inset: auto auto 0 4vw; /* 上 右 下 左 */
    writing-mode: vertical-lr;/* 文字を縦にしている */
    opacity: 0;/* 透明にしている */
    translate: -5rem;/*左から5rem */
    animation: appear 1s 1s ease-in-out forwards;
    a{
        font-size: 14px;
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        inline-size: 160px;/* 書字方向に応じた要素ブロックの水平または垂直方向の寸法を160ピクセルに指定すること */

        gap: 0.5em;
        &::after{
            content: "";
            display: grid;
            background-image:
                linear-gradient(
                    to bottom,
                    rgb(255 255 255 / 1),
                    rgb(255 255 255 / 0)
                ) 
            ;
            block-size: 4px;
        }
    }
}

}

@keyframes appear{
to{
    translate: 0 0;
    opacity: 1;
}
}
@keyframes clip-fv{
from{
clip-path: inset(0 0 0 0);
}
to{
clip-path: inset(0 0 0 100%);
}
}

.strengtharea{
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}

.strengtharea h2{
    text-align: center;
    font-size: 3vw;
    color: #5D4E72;
}
.strengths{
    width: 100%;
    height: auto;
}
.strengths h3{
    font-size: 2vw;
    margin-bottom: 3%;
    text-align: center;
}
.strengths p{
    font-size: 1.2vw;
    color: #5D4E72;
    text-align: center;
    line-height: 2;
    font-weight: 600;
}
section {
    font-size: 2em;
}

.profile{
    width: 90%;
    height: 40vw;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10%;
    margin-top: 10%;
}

.profileimg{
    width: 30%;
    height: 100%;
    padding: 0;
    margin: 0;
}

.profileimg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    padding: 0;
    margin: 0;

}

.profilesentence{
    width: 65%;
    font-size: 1.2vw;
}

.profilesentence h2{
    margin-bottom: 3%;
}

.profilesentence p{
    font-weight: 600;
}
.profilesentence p:nth-child(6){
    margin-top: 3%;
}
.profilesentence a{
    font-size: 1.3vw;
    color: #5D4E72;
}
.skillarea{
	margin-top: 10%;
	margin-bottom: 10%;
}
.skillarea h2{
    text-align: center;
    font-size: 3vw;
    margin-bottom: 3%;
}
.skillicon{
	width: 90%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
}

.icons{
	width: 16.66%;
	height: auto;
	object-fit: cover;
}
.icons p{
    text-align: center;
}
.icons img{
    width: 100%;
    height: auto;
}

.featherlight-sample {
	display: none;
}
.posterarea{
    margin-top: 10%;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	
}
.posterarea h2{
    text-align: center;
    font-size: 3vw;
    margin-bottom: 3%;
}
.posters{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.posterstwo{
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
	margin-top: 3%;
    margin-bottom: 10%;

}
.poster{
    width: 33%;
    height: auto;
}

.poster img{
    width: 100%;
    height: auto;
}


.featherlight-sample{
	width: 90%;
	height: 100%;
	margin-right: auto;
	margin-left: auto;
}
.featherlight-sample h2,
.featherlight-sample h1{
    margin-bottom: 0.5%;
}
.featherlight-sample img{
	width: 100%;
	height: auto;
}
.bannerarea{
    margin-top: 10%;
    margin-bottom: 5%;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}
.bannerarea h2{
    text-align: center;
    font-size: 3vw;
    color: #5D4E72;
    margin-bottom: 3%;
}
.banners{
  display: flex;
  justify-content: space-between;
}
.banner{
    width: 30%;
    height: auto;

}
.banner img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bannerareatwo{
    width: 90%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: space-between;
}
.bannerstwo{
    width: 30%;
    height: 100%;
}
.bannerstwo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.collagearea{
	margin-top: 10%;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	
}
.collagearea h2{
    text-align: center;
    font-size: 3vw;
    margin-bottom: 3%;
}
.threecollage{
    display: flex;
    justify-content: space-between;
}
.collagea{
	width: 30%;
	height: auto;
}
.collagea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.threehomepage{
    margin-top: 10%;
	margin-bottom: 10%;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.threehomepage h2{
    text-align: center;
    font-size: 3vw;
    margin-bottom: 3%;
}
.homepagearea{

	display: flex;
	justify-content: space-between;

}
.homepage{
	width: 33%;
	height: auto;
}

.homepage img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.md-flex{
	list-style: none;
	padding: 0;
	margin-bottom: 5%;
	}
	
.md-flex li{
	margin-bottom: 3%;
}
	
.md-flex li a{
	color: #fdfdfd;
	text-decoration: none;
	font-size: 1.2vw;
}
	
.footer {
	padding: 2rem;
	font-size: 15px;
	color: #fdfdfd;
	background-color: #9EC2C2;
	position: relative;
}
	
.footer a:hover {
	
color: #333;
	
}
.clickhere{
    margin-top: 1%;
    display: block;
    text-align: center;
    color: #5D4E72;
    font-size: 2vw;
    transition: 0.2s;
}

.clickhere:hover{
    color: #9EC2C2;
    transition: 0.2s;
}
.block {
    width: 10vw;
    height: 10vw;
    margin: auto;
    position: absolute;
    top: 160%;
    left: 25%;
  }
  
  .circleText {
    overflow: visible;
  }
  
  .circleText__circle {
    fill: none;
  }
  
  .circleText__text {
    fill: #5D4E72;
    font-size: 0.75vw;
    font-weight: 700;
  }

  .circleText {
    overflow: visible;
    animation: rotation 18s linear infinite;
  }
  
  @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(-360deg);
    }
  }
  .copyright{
    font-size: 1vw;
  }