@charset "utf-8";
/* CSS Document */
/* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background:#fff;
  text-align:center;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:40rem;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
 .body__button {
  margin: 3rem auto 0;
  width: 20rem;
  text-align: center;
  background-color: #efc0c2;
  padding: 1.5rem 0;
  display: inline-block;
}
.body__button p {
  font-weight: 600;
  color: #fff;
}
.section__head {
  background-color: #efc0c2;
}
.head-body {
  position: relative;
}
.head-body__title {
  padding: 6rem 0 0;
  text-align: center;
  width: 47.5rem;
  height: 78rem;
  margin: 0 auto;
    color: #fff;
  line-height: 1.2;
  letter-spacing: 1.5px;
}
#slider {
    width: 100%;
    height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
.head-body__slider {
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.slider-item01 {background:url("/img/top_image03.png");
}

.slider-item02 { background:url("/img/top_image.png");
}

.slider-item03 { background:url("/img/top_image02.png");
}

.slider-item {
 width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.head-title {
  position: absolute;
  margin: auto;
  top:48%;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.head-title span{
  font-size: 10rem;
  letter-spacing: 5px;
}
.head-text {
  padding: 3rem 0 11rem;
  color: #fff;
  position: relative;
}
.head-text p {
  font-size: 1.8rem;
  line-height: 2.5;
  letter-spacing: 1.5px;
  font-weight: 600;
}
.head-circle {
  max-width: 20rem;
  position: absolute;
  top:-65%;
  right: 29%;
  animation: 15s linear infinite rotation1;
}
@keyframes rotation1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.head-circle img{
  width: 100%;
}
.section__top-skill {
  padding: 13rem 22rem 13rem;
  text-align: center;
}
.skill-title, .works-title {
  display: flex;
  margin: 0 0 7rem;
}
.skill-title p, .works-title p{
  border-bottom: 2px #efc0c2 dashed;
  margin: 0.5rem 0 0 2rem;
  font-weight: 600;
  color: #efc0c2;
}
.skill-body {
  display: flex;
  justify-content: space-between;
  padding: 0 5rem;
}
.skill-content {
  flex-basis: 29%;
}
.skill-content img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 20rem;
}
.skill-content p {
  padding: 3rem 0 4rem;
  text-align: left;
  letter-spacing: 1.3px;
}
.section__top-works {
  padding: 0 22rem 13rem;
}
.works-body {
  padding: 0 0 4rem;
}
.work-content {
  position: relative;
  display: inline-block;
}
.work-content img {
  width: 100%;
  max-width: 64rem;
}
.work-text {
  position: absolute;
  bottom: 10%;
  left: 4%;
  display: flex;
  align-items: flex-end;
  color: #fff;
  text-align: left;
  text-shadow: 0.1px 0.1px 0.1px #1f160e;
}
.body-content-genre {
  display: inline-block;
  border: 1px #fff solid;
  border-radius: 7px;
  padding: 0.3rem 1rem;
  font-weight: 600;
  margin: 0 0 2rem;
}
.work-text h2, .work-text_02 h2 {
  padding: 0 0 2rem;
}
.work-text__number p, .work-text__number_02 p {
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 4px;
  margin: 0 0 0 10rem;
  line-height: 1.0;
}
.work-text__number_carry p {
  margin: 0 0 0 17rem;
}
.work-text__number p::before {
  content: '';
  position: absolute;
  bottom: 33%;
  right: 11%;
  width: 10rem;
  height: 2px;
  background-color: #fff;
  transform: rotate(135deg);
}
.work-text__number_02 p::before {
  content: '';
  position: absolute;
  bottom: 33%;
  right: 11%;
  width: 10rem;
  height: 2px;
  background-color: #1f160e;
  transform: rotate(135deg);
}
.work-text_02 {
  position: absolute;
  bottom: 10%;
  left: 4%;
  display: flex;
  align-items: flex-end;
  color: #1f160e;
  text-align: left;
}
.body-content-genre_02 {
  display: inline-block;
  border: 1px #1f160e solid;
  border-radius: 7px;
  padding: 0.3rem 1rem;
  font-weight: 600;
  margin: 0 0 2rem;
}
.work-list {
  padding: 0 0 3rem;
}
.work-list li {
  list-style: none;
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev, .slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 3;
  top: 50%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 3px solid #1f160e; /*矢印の色*/
  border-right: 3px solid #1f160e; /*矢印の色*/
  height: 4rem;
  width: 4rem;
}
.slick-prev { /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}
.slick-next { /*次へ矢印の位置と形状*/
  right: 2.5%;
  transform: rotate(45deg);
}
/*選択するサムネイル画像の設定*/
.choice-btn {
  max-width: 60rem;
  margin: 0 auto;
}
.choice-btn li {
  cursor: pointer;
  outline: none;
  background: #333;
  list-style: none;
  margin: 0 1rem;
}
.choice-btn li img {
  opacity: 0.4; /*選択されていないものは透過40%*/
  width: 100%;
}
.choice-btn li.slick-current img {
  opacity: 1; /*選択されているものは透過しない*/
  width: 100%;
}
.section__top-about{
  padding: 0 22rem 13rem;
}
.about-body{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 5rem 4rem;
  max-width: 91rem;
}
.about-left{
  text-align: left;
  max-width: 39.5rem;
}
.about-right{
  padding: 2rem 0 ;
}
.about-right img{
  width: 80%;
}
.about-title{
padding: 0 0 5rem;  
}
.about-title h1{
font-size: 4.8rem;
  line-height: 1.8;
  letter-spacing: 1.5px;
}
.about-title p{
  border-bottom: 2px #efc0c2 dashed;
  margin: 0.5rem 0 0 1rem;
  font-weight: 600;
  color: #efc0c2;
  display: inline-block;
}
.about-left_text{
  line-height: 1.5;
    letter-spacing: 1.3px;
  padding: 0 0 0 1rem;
}
.about-left_top{
  padding: 0 0 4rem;
}
@media(max-width:1440px) {
  .head-body__title{
    width: 44rem;
    height: 72rem;
  }
}
@media(max-width:1200px) {
    .head-body__title{
    width: 44rem;
    height: 76rem;
  }
  .head-circle{
    right: 21%;
    top:-73%;
  }
  .section__top-skill{
    padding: 13rem 10rem;
  }
  .skill-content{
    flex-basis: 31%;
  }
  .section__top-works{
    padding: 0 10rem 13rem;
  }
  .section__top-about{
    position: relative;
    padding: 0 10rem 13rem;
  }
  .about-body{
    display: block;
    padding: 0 0 11rem 5rem;
  }
  .about-left{
    position: absolute;
    top:-2%;
    left: 10%;
  }
  .about-title{
    padding: 0 0 9rem 1rem;
  }
  .about-left_top{
    padding: 0 0 3rem;
  }
  .about-right{
    padding: 5rem 0 0 54%;
  }
}
@media(max-width:960px) {
  .head-body__title{
    height: 74rem;
  }
  .head-circle{
    right: auto;
    left: 9%;
  }
  .section__top-skill{
    padding: 11rem 5rem;
  }
  .skill-body{
    padding: 0;
  }
  .section__top-works{
    padding: 0 5rem 13rem;
  }
  .section__top-about{
    padding: 0 0 13rem;
  }
  .about-body{
    padding: 0 0 6rem 5rem;
  }
  .about-left{
    left: 5%;
  }
  .about-title{
    padding: 0 0 4rem 1rem;
  }
  .about-title h1{
    line-height: 1.5;
  }
  .about-title p{
    margin: 1rem 0 0;
  }
  .about-left_text{
    width: 83%;
  }
  .about-left_top{
    padding: 0 0 2rem;
  }
  .about-right{
    padding: 2rem 0 0 47%;
  }
  .about-right img{
width: 100%;
    max-width: 30rem;
  }
}
@media(max-width:520px){
  .head-text{
    padding: 0 0 7rem;
    margin: -1rem 0 0;
  }
  .head-text p{
    font-size: 1.4rem;
    letter-spacing: 1.3px;
    line-height: 2;
  }
  .head-body__title {
    padding: 6rem 0 0;
    width: 38.5rem;
    height: 64rem;
}
  .slider-item{
    height: 87vh;
  }
  .head-body__title p{
    font-size: 1.2rem;
    font-weight: 600;
    padding: 0;
  }
  .head-title p{
    margin: -6rem 0 0;
  }
  .head-title span{
    font-size: 6rem;
  }
  .head-circle{
    max-width: 13rem;
    top: -76%;
    left: -3%;
      animation: 17s linear infinite rotation1;
  }
  .section__top-skill{
    padding: 7rem 3rem;
  }
  .skill-title{
    margin: 0 0 5rem;
  }
  .skill-body{
    flex-direction: column;
  }
  .skill-content p{
    padding: 2.5rem 0 4.5rem;
  }
      .body__button {
      margin: 0;
    max-width: 31.5rem;
      width:100%;
    padding: 1rem 0;
}
  
  .section__top-works{
    padding: 0 3rem 7rem;
  }
  .works-body{
    padding: 0 0 5rem;
  }
  .work-text{
    bottom: 5%;
    left: 4%;
  }
  .work-text_02{
    bottom: 5%;
    left: 4%;
  }
  .work-text__number,.work-text__number_02{
    position: absolute;
    top:0;
    right: 0;
  }
  .work-text h2, .work-text_02 h2 {
  padding: 0 0 1rem;
}

  .work-text__number p{
    font-size: 3.6rem;
  }
  .work-text__number p::before{
    width: 5rem;
    right: 26%;
    bottom: 58%;
  }
  .work-text__number_carry p::before{
    right: 19%;
  }
  .work-text__number_02 p{
    font-size: 3.6rem;
  }
  .work-text__number_02 p::before{
    width: 5rem;
    right: 26%;
    bottom: 58%;
  }
  .about-body{
    padding: 0 0 6rem 5rem;
  }
  .about-right{
    padding: 10rem 0 13rem;
    text-align: right;
  }
  .about-title{
    padding: 0 0 38rem 1rem;
  }
  .about-title h1{
    font-size: 2.8rem;
  }
  .about-title h1 br{
    display: none;
  }
  .about-title p{
    margin: 1rem 0 0;
  }
  .about-left_top{
    padding: 0;
  }
  .about-left_text br{
    display: none;
  }
}
@media(max-width:380px){
  .head-body__title{
    width: 33rem;
    padding: 10rem 0 0;
    height: 58rem;
  }
    .slider-item{
    height: 77vh;
  }
}
@media(max-width:350px){
    .head-body__title{
    width: 28rem;
      height:57rem;
  }
  .head-title span{
    font-size: 5rem;
  }
  .body__button{
   max-width: 26rem;
  }
  .slider-item {
    height:73vh;
}
  .head-text{
    padding: 2rem 0 7rem;
  }
}