@charset "UTF-8";
*{
	margin: 0;
	padding: 0;
    box-sizing: border-box;
   
}
body {
    margin: 0;
    font-feature-settings: "palt";
    color: #5D4E72;
    background-color: #F8F4F2;
    scroll-behavior: smooth;
    font-family: "Noto Serif JP", serif;
}
img{
    max-width: 100%;
}
li{
    list-style: none;
}
header{
    color: #fff;
    padding-inline: 4vw;
    padding-block: 2vw;
    display: flex;
    align-items: center;
    opacity: 0;
    translate: 0 -100%;/* 「translate」を使うと「要素を平行に移動させる」ことができます2つの値を使うと、まず１つ目に書いた値で水平方向（x軸方向）に

    そして、２つ目に書いた値で垂直方向（y軸方向）に指定した長さだけ動かすことができます。 */
    animation: appear 1s .8s ease-in-out forwards;

nav{
    margin-left: auto;
    ul{
        width: 50%;
        display: flex;
        align-items: center;
        gap: 3em;/* gapの指定でliタグ同士の間隔を空けてあげる */
    }
}
}
.logo{
width: 5vw;
height: auto;
line-height: 0;
}
.logo a {
    text-decoration: none;
}
.logo a img{
    width: 100%;
    height: auto;
    vertical-align: middle;
    object-fit: cover;
}
header ul li{

list-style-type: none;

}
header ul li a{
font-size: 1.2vw;
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;
background-position: center center;
background-color: #5d447e;
position: relative;
&::before {
    content: "";
    display: block;
    background-color:#5d4e7e;
    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: 2vw;
            }
        }
  
    }
}
.text{
    font-size: 1.2vw;
    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.25vw;
    padding: 3%;
    line-height: 1.5;
}

.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;
    transition: 0.2s;
}
.profilesentence a:hover{
    font-size: 1.3vw;
    color: #9EC2C2;
    transition: 0.2s;
}
.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 h2{
    text-align: center;
    font-size: 3vw;
    margin-bottom: 3%;
}
.posters{
    display: flex;
    flex-wrap: wrap;
    margin-right: auto;
    margin-left: auto;
    width: 90%;
    margin-bottom: 10%;
    
}
.posters li{
    width: 32%;
    margin: 0% 2% 2% 0%;
    list-style: none;
}

.posters li:nth-child(5n){
    margin-right: 0;
}

.posters li img{
    width: 100%;
    height: auto;
    object-fit: contain;
}


.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-bottom: 5%;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}
.bannerarea h2{
    text-align: center;
    font-size: 3vw;
    color: #5D4E72;
    margin-bottom: 3%;
    margin-top: 10%;
}
.banners{
    
    margin-bottom: 5%;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
}
.banner{
    width: 32%;
    margin: 0% 2% 2% 0;

}
.banner img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.banner:nth-child(5n) {
  margin-right: 0;
}

.banner:nth-child(11n) {
    margin-right: 0;
  }


.collagearea {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
    margin-bottom: 10%;
    display: flex;
    flex-wrap: wrap;
	
}

.collagea{
	width: 32%;
    margin: 0 2% 2% 0;
	height: auto;
}
.collagea:nth-child(5n){
    margin-right: 0;
}
.collagea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.threehomepage h2{
    text-align: center;
    font-size: 3vw;
    margin-top: 10%;
    margin-bottom: 3%;
}
.homepagearea{
    width: 90%;
    display: flex;
    flex-direction: column;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10%;

}
.homepage{
    margin-right: auto;
    margin-left: 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: #5D4E72;
	position: relative;
}
	
.footer a:hover {
	
    color: #9EC2C2;
	
}
.clickhere{
    margin-top: 1%;
    margin-bottom: 2%;
    display: block;
    text-align: center;
    color: #5D4E72;
    font-size: 1.5vw;
    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;
  }
  

  .copyright{
    font-size: 1vw;
    text-align: center;
  }
  
  .copyright a{
   color: #F8F4F2;
   text-decoration: none;
  }