 @charset "UTF-8";
 
 *,*:before,*:after {
    box-sizing: border-box;
}

body {
    
    display: flex;
    min-height: 100vh;
    font-size: 16px;
    background-color: #e2e2e2;
    font-family: -apple-system, BlinkMacSystemFont,'Noto Serif JP', serif;
    color: black;
    margin: 0;
    padding: 0;
}

/* header */
.left {
    width: 150px;
    height: 900px;
    text-align: center;
    background-color: rgba(255, 255, 255, 0);
    border-right: 1px solid gray;
    color: #5e5e5e;
    font-family: sans-serif;
    position: fixed;
    z-index: 10;
}
.name {
    margin-top: 20px;
    color: #5e5e5e;
}
.name a {
    text-decoration: none;
    font-size: 14px;  
}
.name a,
.name a:link,
.name a:visited {
    color: #5e5e5e;
    letter-spacing: 1px;    
}
.name a:hover {
    color: #888;
}
.left nav ul {
    list-style-type: none;
    margin: 20px;
    padding: 10px;
}
.left nav ul li a,
.left nav ul li a:link,
.left nav ul li a:visited {
    display: block;
    padding: 15px;
    text-decoration: none;
    color: #5e5e5e;
    letter-spacing: 1px;
    font-size: 14px; 
}
.left nav ul li a:hover {
    color: #888;
}
.left p {
    writing-mode: vertical-rl;
    margin-left: 135px;
    margin-top: -25px;
    font-size: 10px;
}
.sns {
    writing-mode: vertical-rl;
    margin-left: 35px;
    margin-top: 40px;
}
.sns img {
    width: 20px;
    margin: 0;
    padding-top: 20px;

}
/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_text {
  position: absolute;
  top: 50%;
  left: 50%;
    z-index: 999;
  transform: translate(-50%, -50%);
  color: #fff;
  width: 100%;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
    height: 2px;
}

/*割れる画面のアニメーション*/
.loader_cover {
    width: 100%;
    height: 50%;
    background-color: rgb(56, 91, 105);
    transition: all .2s cubic-bezier(.04, .435, .315, .9);
    transform: scaleY(1);
}
/*上の画面*/
.loader_cover-up {
    transform-origin: center top;
}

/*下の画面*/
.loader_cover-down {
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
}
/*クラス名がついたらY軸方向に0*/
.coveranime {
    transform: scaleY(0);
}


/* main */
main {
    font-family: sans-serif;
}
/*
.home {
    background: url(../images/visual_1.jpg) 
    no-repeat center center;
    background-size: cover;
}
*/
.top_photo {
    margin: 0;
}
.top_photo img {
    position: relative;
    left: -100px;/*トップ写真開始ずらし*/
    height: 100vh;
    margin: 0;
}
.top_photo{
    animation:cloud linear 12s infinite alternate;
    -webkit-animation:cloud linear 12s infinite alternate;
    -moz-animation:cloud elinear 12s infinite alternate;
  }
@keyframes cloud{
    0%   { transform:translate(0%, 0%);  opacity:0.8;}
    100% { transform:translate(100px, 0%); opacity:1;}
  }
  @-webkit-keyframes cloud{
    0%   { -webkit-transform:translate(0%, 0%);  opacity:1;}
    100% { -webkit-transform:translate(100px, 0%); opacity:1;}
  }
  @-moz-keyframes cloud{
    0%   { -moz-transform:translate(0%, 0%);  opacity:1;}
    100% { -moz-transform:translate(100px, 0%); opacity:1;}
  }
main {
    margin: 50px 0 0 150px;
}
main h2 {
    margin: 30px 0 0 20px;
    font-weight: normal;
    font-size: 20px;
    color: #303030;
}
main .title ol {
    list-style-type: none;
    margin: 20px 0 0 20px;
    padding: 0;
    display: flex;
}
.title ol li a {
    text-decoration: none;
    color: rgb(73, 73, 73);
}
main .title ol li {
    font-size: 13px;
}
main .title ol li::after {
    content: ">";
    margin: 0 5px 0 10px;
}
main .title ol li:last-child::after {
    content: none;
}


/* home */

/* news */
.gallery {
    columns: 4;
    margin: 0;
    margin-top: 50px;
    padding: 0 15px; 
    height: 100%; 
}
.gallery li {
    margin-bottom: 10px;
    list-style: none; 
    border: 1px solid #000; 
}
.gallery img,
.gallery iframe {
    width: 80%;
    height: auto;
    margin-top: 20px;
    margin-left: 20px;
}
.gallery img:hover {
    transform: translateY(-10px);
    transition-duration: 0.5s;
}
.gallery p{
    width: 100%;
    font-size: 12px;
    line-height: 1,7em;
    padding-left: 5px; 
}
.gallery a {
    text-decoration: none;
    color: black;
}
.gallery a:hover {
    color: rgb(117, 117, 117);
}

@media only screen and (max-width: 900px) {
    .gallery{
        columns: 2;
    } 
  }
@media only screen and (max-width: 768px) {
    .gallery{
    columns:1;
    } 
  }

  
/* works */
.works {
    height: 1500px;
}
.worksphoto .art {
    margin: 80px 0 0 20px;
}
.artphoto {
    margin: 50px 0 50px 100px;
    
}
.artphoto img {
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.artphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}

.business_works .business {
    margin: 0 0 50px 20px;
}
.businessphoto {
    margin: 50px 0 50px 100px;
}
.businessphoto img {
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.businessphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}

/* photoアーカイブ*/
/*creator*/
.st20_photo {
    margin: 0;
    padding: 0;
}
.st20_photo p {
    margin: 50px 0 50px 20px;
    font-size: 16px; 
}
.st20_photo img {
    width: 85%;
    padding: 0 0 50px 120px;
}
.st20_photo a {
    text-decoration: none;
    line-height: 1.7em;
    font-size: 12px;
    color: black;
}
.st20_photo a:hover {
    color: rgb(252, 88, 88);
}


/* product */
.productphoto {
    height: 900px;
    margin-left: 100px;
    margin-top: 70px;
}
.productphoto img {
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.productphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}

.other {
    margin-top: 50px;
    margin-bottom: 300px;
}
.other img {
    width: 50%;
}
/*
.diybook_photo {
    margin: 0;
    padding: 0;
}
.diybook_photo img {
    width: 85%;
    padding: 0 0 50px 120px;
}
.diybook_photo p {
    margin-top: 50px 0 0 0;
}
*/
/* profile */
.profile_page{
    margin: 0;
    margin-left: 10px;
}
.profilephoto {
    margin: 50px 50px;
}
.profilephoto img {
    width: 50%;
}


.profile h3 {
    padding: 10px 0 10px 50px;
}
.profile main div p {
        font-size: 13px;
        font-family: sans-serif;
        letter-spacing: 1px;
        line-height: 1.7em;
        color: #595959;
        margin: 20px 0 30px 50px;
}
.privacypolicy_link p a {
    text-decoration: none;
    color: rgb(55, 53, 73);   
}

/*privacypolicy*/
.privacypolicy {
    margin-top: 100px;
    width: 80%;
}
.privacypolicy  h6 {
    margin-left: 30px;
}
.privacypolicy li {
    font-size: 13px;
    margin-left: 30px;
}

/* studio */
.contact_text {
    margin-left: 100px;
    margin-top: 50px;
    font-size: 13px;
}
.contact dt {
    font-size: 13px;
    font-family: sans-serif;
}
.inner {
    margin: 80px 0 50px 100px;
}
.contact dl dt {
    float: left;
}
.contact dl {
    margin-bottom: 30px;
}
.contact dd {
    padding-left: 50px;
    padding-bottom: 50px;
}
input[type="text"] {
    width: 20em;
}
input[type="email"] {
    width: 20em;
}
input {
    font-size: 13px;
    padding-left: 5px;
}
textarea {
    width: 30em;
}

.submit input {
    margin-left: 260px;
    margin-bottom: 100px;
}
input[type="submit"] {
    padding: 20px 50px;
    background-color: #ffffff;
    color: rgb(66, 66, 66);
    font-weight: bold;
    border-radius: 10px;
    cursor: pointer;
}
input[type="submit"]:hover {
    opacity: 0.8;
}
.ss_studio {
    margin-bottom: 100px;
}

/* responsive */
@media screen and (min-width:1600px) {
    .top_photo {
        margin: 0;
}
   .top_photo img {
        position: relative;
        left: -100px;/*トップ写真開始ずらし*/
        height: 100vh;
        margin: 0;
    }
}

@media screen and (min-width:376px) {
    .humburger {
        display: none;
    }
    .responsive {
        display: none;
    }

}
@media screen and (max-width:375px) {
    .left {
        display: none;
    }
    .top_photo {
        display: none;
    }
    /*ハンバーガーメニュー*/
    .humburger p {
        float: left;
        margin-left: 65px;
        font-family: sans-serif;
    }
    
    .humburger {
        position: absolute;
        top: 10px;
        left: 10px;
        width: 100%;
        z-index: 9;
        position: fixed;
    }

    .nav_menu {
        font-size: 16px;
        font-family: sans-serif;
        background-color: rgba(255, 255, 255, 0.952);
        line-height: 2.7em;
        margin-left: 25px;
        height: 410px;
        width: 140px;
    }
    .nav_menu ul {
        text-align: top;
        position: absolute;
        top: 60px;
        left: 30px;
    }
    .nav_menu ul li {
        list-style-type: none;
        margin-bottom: 20px;
    }
    .nav_menu ul li a {
        text-decoration: none;
        color: black;
    }
    /*ボタン外側*/
    .openbtn {
        position: relative;
        background: rgb(233, 233, 233);
        cursor: pointer;
          width: 50px;
          height:50px;
        border-radius: 5px;
      }
    /*ボタン内側*/
    .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background: rgb(0, 0, 0);
        width: 45%;
        }
    .openbtn span:nth-of-type(1) {
        top:15px; 
    }
    .openbtn span:nth-of-type(2) {
        top:23px;
      }
      .openbtn span:nth-of-type(3) {
        top:31px;
      }
    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
      }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
/*コピーライト*/
    .responsive {
        position: absolute;
        bottom: 0;
    }
    .responsive p {
        margin: 0;
        padding-left: 5px;
        font-size: 13px;
        color: rgb(214, 214, 214);
    }
    /*レスポTOP*/
    .home {
        background: url(../images/visual_1.jpg);
        background-repeat: no-repeat;
        background-size: 155%;
        background-color: rgb(158, 158, 158);
    }
    /*レスポnews*/
    .news {
        margin: 0;
    }
    .title {
        position: absolute;
        top: -8px;
        left: 200px;
    }
    .title li {
        display: none;
    }
    .gallery {
        width: 100%;
        padding: 0;
        margin-top: 100px;
    }
   .gallery img {
    margin-left: 35px;
   }
   .gallery p {
       width: 300px;
       margin-left: 35px;
       line-height: 1.5em;
   }
   .asa  iframe {
       margin-left: 35px;
   }

/* レスポworks */
.works {
    margin: 0;
    height: 3000px;
}
.art {
    margin: 80px 0 0 40px;
}
.artphoto {
    margin: 50px 0 0 70px;
}
.artphoto img {
    margin-bottom: 30px;
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.artphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}

.business_works .business {
    margin: 50px 0 50px 20px;
}
.businessphoto {
    margin: 50px 0 0 70px;
}
.businessphoto img {
    margin-bottom: 20px;
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.businessphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}
/* レスポphotoアーカイブ*/
.archive_photo {
    margin: 0;
}
/*
.archive_photo p{
    margin: 100px 0 30px 10px;
    font-size: 14px;    
}
*/


/*レスポcreator*/
.st20_photo {
    margin: 0;
    padding: 0;
}
.st20_photo img {
    width: 100%;
    padding: 0;
}
.st20_photo p {
    margin-top: 100px;
}
.st20_photo a {
    text-decoration: none;
    line-height: 1.7em;
    font-size: 12px;
    color: black;
}
.st20_photo a:hover {
    color: rgb(252, 88, 88);
}


/*レスポproduct*/
.product {
    width: 100%;
    margin: 0;
    height: 3000px;
}
.productphoto {
    margin: 100px 0 0 70px;
}
.productphoto img {
    margin-bottom: 30px;
    padding: 3px;
    transition-duration: 0.5s;
    cursor: pointer;
}
.productphoto img:hover{
    transform: translateY(-10px);
    transition-duration: 0.5s;
}
/*book page*/
/*レスポprofile*/
.profile {
    margin-left: 0;
}
.profile_page {
    width: 90%;
}
.profilephoto {
    margin: 50px 50px;
}
.profilephoto img {
    width: 100%;
}
.profile h3 {
    padding: 10px 0 10px 10px;
}
.profile main div p {
    font-size: 10px;
    font-family: sans-serif;
    letter-spacing: 1px;
    line-height: 1.7em;
    color: #595959;
    margin: 20px 0 30px 10px;
}

/* レスポstudio */
.studio {
    margin: 0;
}
.contact_text {
    font-size: 10px;
    margin-top: 150px;
    margin-left: 40px;
}
.inner {
    margin: 100px 0 50px 30px;
    font-family: sans-serif;
    font-size: 10px;
}
.contact dl {
    margin-bottom: 80px;
}
.contact dd {
    padding: 20px 0;
}
.contact dt {
    line-height: 1.7em;
}
input[type="text"] {
    width: 20em;
}
input[type="email"] {
    width: 20em;
}
textarea {
    width: 25em;
}
p.submit {
    margin: 0;
}
.submit input {
    margin-left: 100px;
}

