/* ------------------
    $common
-------------------*/ 
.bg{
  width: 100%;
  height: 300px;
  padding-top: 80px;
  top: 0;
  left: 0;
  background: linear-gradient( var(--color-main2), var(--color-second) 70%);
  box-shadow: 1px 1px 12px 0px rgba(0, 0, 0, 0.2);
  color: var(--color-white);
  transition: all .4s;
  h1{
      opacity: 0.7;
      font-weight: 600;
      font-size: 2rem;
      line-height: 1.4;
      letter-spacing: 0.5rem;
      margin: 0; }
      h5{
          opacity: 0.7;
          font-weight: 600;
          font-size: 1rem;
          margin: 0; }
}
.common-bg{
    height: 260px; }

.common-title{
    top: 50%;
    transform: translateY(-50%);
    p{
      padding: 16px 0;
      font-weight: 600;
      opacity: 0.7; }
  }

.common .row{
    margin-top: 4rem; }

  .common .row:nth-of-type(2){
    margin-top: 2rem; }

@media (max-width: 768px) {
    .common .row{
        padding: 1rem;
        margin-top: 0; }

    .common .col-12{
        margin-bottom: 2rem; }
 }

.common .img-box{
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: all .5s;
    img{
      width: 100%;
      height: 100%; }
      .img-fit-height{
        height: 100%;
        object-fit: cover;
        object-position: center; }
}

.common p, .common h4{
    text-align: center; }
    .common p{
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; }

.common .text-group a{
    justify-content: center;
    margin: 0; }

/* $work-wall */
#illust .work-wall,
#web .work-wall,
#sns .work-wall{
  margin-top: 60px; }

 /* $img-msg  */
.img-msg::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0px; height: 0px;
  transition: all .4s; }

.img-msg:hover{
  opacity: 1; }

.img-msg:hover::before{
  width: 100%;
  height: 100%;
  background-color: var(--color-dark);
  opacity: .5;
  z-index: 2; }

.img-msg:hover::after{
  content: "SEE MORE";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: var(--color-white);
  font-size: 2rem;
  font-weight: 600;
  z-index: 2; }

/* $info-outter dash */
.info-outter{
  margin-top: 8px;
  margin-bottom: 1rem;
  border: 2px dashed var(--color-main);
  border-radius: 8px;
  padding: 1rem;
  line-height: 1.5;
  p{ text-align: left; }
}

/* ------------------
 $page-sns
-------------------*/
.sns .container .row:nth-of-type(1){
  margin-top: 1rem; }

.sns table{
    line-height: 1.8;
    padding: 8px 0;
    td:nth-of-type(1){
      width: 15%;
      vertical-align: top;
      @media (max-width: 768px) {
        width: 35%; }
    }
  }

.sns h4{
    text-align: center; }

.sns .text-group{
    padding: 16px;
    background-color: var(--color-main);
    border-radius: 8px;
    div{
      display: flex;
      align-items: center;
      img{
        width: 24px;
        height: 24px;
        margin-right: 8px; }
    }
    a{
      display: flex;
      align-items: center;
      margin: 1rem 0;
      justify-content: flex-start;
      h5{
        margin: 0; }
        span{
          font-size: 16px;
          margin-left: 4px; }
    }
}

.sns .container:nth-last-of-type(1){
    line-height: 2.2; }

/* ------------------
 $page-web
-------------------*/
.web .info-outter{
  margin-top: 0;
}

.web .row:nth-child(3){
  overflow: hidden;
}
/* #web-my .container .row:nth-of-type(3) .img-msg:hover::after{
  content: "SEE GUIDELINE"; } */

.img-display{
  .img-box{
    overflow: auto;
    width: auto;
    height: 500px;
    @media (max-width: 768px) {
      height: 300px;
      padding-bottom: 2rem;
    }
    img{ height: auto;}
  }
  p:nth-of-type(2){text-align: left; line-height: 1.8;}
}

.web .container .row:nth-of-type(3) .img-msg:hover::after,
.ec .container .row:nth-of-type(5) .img-msg:hover::after{
  content: "SEE WEBSITE"; }

.web .img-msg:hover::after{
  transform: translate(-50%,0); }

/* ------------------
 $page-ec
-------------------*/

/* ------------------
 $page-guilde
-------------------*/
.guilde .row{
  margin-bottom: 4rem; }

.guilde .title{
  display: flex;
  *{
    padding-left: 0.5rem;
    padding-right: 0.5rem; }
}

.main-color .p-5::after,
.deco .p-5::after,
.guilde .deco .col-12:nth-last-of-type(1) .p-5::before,
.guilde .ui .row:nth-last-of-type(2) .col-12:nth-child(1):before{
  content: "";
  display: block;
  color: var(--color-dark);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.guilde .main-color .color-main::after{
  content: "Primary Color"; }

.guilde .main-color .color-second::after{
  content: "Secondary Color"; }

.guilde .main-color .color-white::after{
  content: "White"; }

.guilde .main-color .color-dark::after{
  content: "Black";
  color: var(--color-white); }

.main-color .color-light .color-white,
.set-color .col-12:nth-of-type(3) .p-5{
  border: 1px solid var(--color-dark); }

.set-color .p-5 > div{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  padding-top: 30%;
  @media (max-width: 768px) {
    padding-top: 20%;}
}

.guilde .deco .header-shadow::after{
  content: "Header Shadow"; }

.guilde .deco .btn-shadow::after{
  content: "Button Shadow"; }

.guilde .deco .col-12:nth-last-of-type(1) .p-5::before,
.guilde .ui .row:nth-last-of-type(2) .col-12:nth-child(1):before{
  background: var(--bg-shadow);
  width: 100%;
  height: 100%; }

.guilde .deco .col-12:nth-last-of-type(1) .p-5::after{
  content: "Deco Background"; }

.guilde .text-style .row > *{
  margin: 0.5rem; }

.guilde .text .col-12:nth-last-of-type(2),
.point{
  background-color: var(--color-main);
  border-radius: 8px;
  padding: 16px; }

.guilde .btn{ cursor: pointer; }

.guilde .go-top-btn {
    text-align: center;
    line-height: 50px;
    font-size: 1rem;
    font-weight: 600;
    background-color: var(--color-main2);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    color: var(--color-second2);
    cursor: pointer;
    width: 62px;
    height: 50px;
    border-radius: 5rem;
    transition: .3s; }

  .guilde .go-top-btn:hover{
    color: var(--color-main);
    background-color: var(--color-white);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }

.guilde .ui .pic, .guilde .ui .ex-text{
  width: 100%;
  height: 200px;
}

.guilde .ui .pic{
  background-color: var(--color-main2);
  p{
    width: 220px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
 }

.guilde .ui .row:nth-child(1) .pic{
  margin-top: 2rem;
  @media (max-width: 768px) {
    margin-top: 0;
  }
}

.guilde .ui .ex-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  @media (max-width: 768px) {
    height: auto;
    margin: 1rem 0;
  }
}

.guilde .ui .row:nth-last-of-type(1) .col-12:nth-child(1)::before{
  width: 50%;
  left: 75%;  }

.guilde .ui .row:nth-last-of-type(1) .col-12:nth-child(1) p{
  line-height: 2.6; }

/* pc style */
@media (min-width: 768px){
  .guilde .text .col-md-4{
    width: 30%; }
  }

/* sp style */
@media screen and (max-width: 768px) {
  .guilde .row{
    padding-left: 1rem;
    padding-right: 1rem; }

  .guilde .typo .row:nth-of-type(2){
    margin-bottom: 0; }
  
  .guilde .typo .row > *,
  .guilde .text-style .row > *,
  .guilde .ui .row > *{
    margin: 1rem 0; }

  .guilde .btn{
    left: 50%;
    transform: translateX(-50%); }

  .guilde .go-top-btn{
    margin-top: 1rem; }

  .guilde .ui .row:nth-last-of-type(2) h5{
    text-align: center; }

  .guilde .ui .row:nth-last-of-type(2)::before{
    width: 100%;
    height: 50%;
    top: 75%;
    left: 50%; }

  .guilde .ui .title{
    flex-direction: column; }
}

 /* ------------------
 $loader
-------------------*/
#loader{
  position: fixed;
  z-index: 200;
  height: 100vh;
  width: 100%;
  background: var(--color-main2);
  .cube-group{
    display: flex;
    justify-content: space-around;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100px;
    .cube {
      flex-shrink: 0;
      width: calc(100px * 0.2);
      height: calc(100px * 0.2);
      animation: jump 2s ease-in-out infinite;
      .cube__inner {
        display: block;
        height: 100%;
        width: 100%;
        border-radius: 25%;
        background-color: var(--color-second);
        transform-origin: center bottom;
        animation: morph 2s ease-in-out infinite;
        transition: background-color 0.3s ease;
      }
    }
    .cube:nth-child(2) {
      animation-delay: calc(2s * -0.36);
    
      .cube__inner {
        animation-delay: calc(2s * -0.36); }
    }
    .cube:nth-child(3) {
      animation-delay: calc(2s * -0.2);
    
      .cube__inner {
        animation-delay: calc(2s * -0.2); }
    }
  }
}
@keyframes jump {
  0% { transform: translateY(0px); }

  30% {
    transform: translateY(0px);
    animation-timing-function: ease-out;
  }

  50% {
    transform: translateY(-200%);
    animation-timing-function: ease-in;
  }

  75% {
    transform: translateY(0px);
    animation-timing-function: ease-in;
  }
}
  
@keyframes morph {
  0% { transform: scaleY(1); }

  10% { transform: scaleY(1); }

  20%,
  25% {
    transform: scaleY(0.6) scaleX(1.3);
    animation-timing-function: ease-in-out;
  }

  30% {
    transform: scaleY(1.15) scaleX(0.9);
    animation-timing-function: ease-in-out;
  }

  40% { transform: scaleY(1); }

  70%,
  85%,
  100% { transform: scaleY(1); }

  75% { transform: scaleY(0.8) scaleX(1.2); }
}
 /* ------------------
 $fancy-box
-------------------*/
.fancybox__container{
  --fancybox-bg: var(--color-second2);
}