html{
    background-color: #333333;
    color: aliceblue;
}

a{
    color:aliceblue;
    text-decoration: none;    
  }
a:visited{color: aliceblue}
body{
    display: flex;
    flex-direction: column;
    max-height: 100vh;
    margin: 0 0 0 0;
}
nav a{
    padding: 16px 4px;
}
nav a:hover{
    padding: 12px 0;
    border: 4px solid rgb(52,212,212);
}
header{
    z-index: 1;
    background-color: #345;
    position: sticky;
    width: 100%;
    top: 0;
    left: 0;
    }
.logo{
    margin: 9px;
    align-items: center;
    display: flex;
    float: left;
}
.img {
    text-align: center;
    width: 80%;
    height: 80%;
    border: 1px solid #111;
}
.illust {
    display: grid;
    place-items: center;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    list-style-type: none;
    text-decoration: none;
    font-size: calc(1vw + 0.5em);
}
.SNS a{
    color: aqua;
    font-size: 20px;
    margin-right: 20px;
    text-decoration: underline;
    padding-bottom: 60px;
}
.SNS:visited a{
    color: aqua;
}
.index{
    margin: 0 20px 0 0;
    align-items: center;
    list-style: none;
    display: flex;
    float: right;
    gap: 20px;
    font-size: 22px;
    font-weight: bold;
    padding-left: 0;
}
.intro{
    margin: 20px;
}
/*文字のスライドイン表示*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;
	opacity:0;
}
@keyframes bgextendAnimeBase{
    from {
      opacity:0;
    }
  
    to {
      opacity:1;  
  }
  }
  .bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1.5s;
	animation-delay: 0.9s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 180%;
    bottom: 0;
    top: 0;
    margin: auto 0;
    z-index: 1;
    background-color: rgb(52, 212, 212);/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}
.bgappearTrigger,
.bgLRextendTrigger{
    opacity: 0;
}
/*スライドイン終わり*/

/*slick*/
.sld1 {
    object-view-box: inset(300px 0 0 100px);
    object-fit: cover;
    object-position: 10% 0;
    height: calc(100vh - 121px);
     }
.sld2{
    object-view-box: inset(0 0 0 70px);
    object-fit: cover;
    height: calc(100vh - 121px);
}
.sld3{
    object-view-box: inset(20px 30px 0 0);
    object-fit: cover;
    height: calc(100vh - 121px);
}
.sld4{
    object-view-box: inset(20px 30px 0 0);
    object-fit: cover;
    height: calc(100vh - 121px);
}
     
.slide-items {
    padding: 0;
    margin: 0;
}
.slide-items__item{
    list-style-type: none; 
    padding: 0;
    margin: 0 0 0 0;
   }
.slide{position: relative;}
.slide-text__wrap{
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
    width: 100vw;
}
.slide-text{
    margin: 0;
    padding: 0;
    line-height: 0;
}
/*slick終わり*/

footer{
    position:fixed;
    bottom: 0;
    width: 100%;
    padding: 0;
    background-color: #345;
    text-align: center;
    z-index: 999;
}
main{
    text-align: left;
    margin: 20px;
}
.text{
    font-size: 3vmax;
    font-weight: bold;
    font-family: "游ゴシック体", 'YuGothic', "游ゴシック", "Yu Gothic", sans-serif;
}
.slide-text__item{
    background-color: rgba(0,0,0,.5);
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (min-width:1200px){
    .slide-text__item{
        font-size: 3vw;
    }
    .message1{
        background-color: rgba(0,0,0,.5);
        position: absolute;
        top: 8vh;
        left: 5vw;
    }
    .message2{
        background-color: rgba(0,0,0,.5);
        position: absolute;
        top: 20vh;
        left: 10vw;
    }
    .message3{
        background-color: rgba(0,0,0,.5);
        position: absolute;
        top: 32vh;
        left: 23vw;
    }
}
@media screen and (max-width:1200px) {
    .slide-text__wrap{
        position: absolute;
        bottom: 0;
        right: 0;
        text-align: right;
        width: 100vw;
    }
    .sld1{height: 70vh;}
    .sld2{height: 70vh;}
    .sld3{height: 70vh;}
    .text{
        justify-content: center;
        display: flex;
        gap: 20px;
    }
    .slide-text__item{
        font-size: 4vw;
    }
    .illust{
        grid-template-columns: 1fr 1fr 1fr;
      }
}


