@charset "utf-8";

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    /* outline: 2px solid blue; 右側余白確認用アウトライン　*/
 }
 
 body {
    margin: 0;
    padding: 0;
    font-family:'Times New Roman', Times, serif;
    font-size: 13px;
    background-color: #fff;
    height: 100%;
 }

 a {
   text-decoration: none;
   color: #4b4b4b;
}

 ul {
   margin: 0;
   padding: 0;
   list-style: none;

}

 /*　header開始　*/
header {
    padding: 4px 4px;
    height: 80px;
    width: 100%;
    background-color: #fff;
    justify-content: space-between;
    align-items: center;
    display: flex;
 }

 h1 {
   letter-spacing: 0.3em;
   padding-left: 40px;
   font-size: 25px;
   font-weight: lighter;
 }

 h4 {
   letter-spacing: 0.3em;
   padding-left: 40px;
   font-size: 25px;
   font-weight: lighter;
 }

.header_nav {
   margin: 0 0 0 auto;
   position: absolute;
   right: 0;
}

.h_name {
   font-size: 17px;
}

.header_name {
   font-size: 12px;
   letter-spacing: 0.3em;
}

 .header_ul {
    display: flex;
    list-style: none;
    align-items: center;
    margin: 0 0 0 auto;
 }

 .header_li {
    margin: 0 0 0 45px;
    font-size: 18px;
    padding-bottom: 5px;
    position: relative;
 }

.h_snsicon {
   display: flex;
   padding: 0 40px 0 50px;
}

.header_icon {
   align-items: center;
   vertical-align: middle;
   padding: 0 15px;
   height: 25px;
}

 .header_li::before {
   background: #C9B285;
   content: '';
   width: 100%;
   height: 2px;
   position: absolute;
   left: 0;
   bottom: 0;
   margin: auto;
   transform-origin: right top;
   transform: scale(0, 1);
   transition: transform .2s;
 }
 .header_li:hover:before {
   transform-origin: center top;
   transform: scale(1, 1);
 }

 @media screen and (min-width: 799px) {
.hamburger-menu {
   display: none;
   }
 
 .header_li_sns {
   margin: 0 0 0 45px;
   font-size: 18px;
   padding-bottom: 5px;
   position: relative;
   display: none;
}  
}
/*　header終了　*/
 

/* ハンバーガーメニュー開始 */
@media screen and (max-width: 800px) {
 .hamburger-menu {
   width: 50px;
   height: 50px;
   position: relative;
   border: none;
   background: transparent;
   appearance: none;
   padding: 0;
   right: 30px;
   cursor: pointer;
 }

 .hamburger-menu__bar {
   display: inline-block;
   width: 44%;
   height: 2px;
   background: #C9B285;
   position: absolute;
   right: 0;
   transform: translateX(-50%);
   transition: .5s;
 }

 .hamburger-menu__bar:first-child {
   top: 16px;
 }

 .hamburger-menu__bar:nth-child(2) {
   top: 24px;
 }

 .hamburger-menu__bar:last-child {
   top: 32px;
 }

 .hamburger-menu--open .hamburger-menu__bar {
   top: 50%;
 }

 
 .hamburger-menu--open .hamburger-menu__bar:first-child {
   transform: translateX(-50%) translateY(-50%) rotate(45deg);
 }

 .hamburger-menu--open .hamburger-menu__bar:last-child {
   transform: translateX(-50%) translateY(-50%) rotate(-45deg);
 }

 .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
   display: none;
 }
 
 .header_nav {
   display: none;
   background: #eeee;
   position: absolute;
   top: 120px;
   width: 100%;
   z-index: 9999;
 }
 
 .header_ul {
   text-align: center;
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
 }

 .header_li {
   margin: 0 0 0 45px;
   font-size: 18px;
   padding-bottom: 5px;
   position: relative;
   margin: 20px;
}

.header_li_sns {
   margin: 0 0 0 45px;
   font-size: 18px;
   padding-bottom: 5px;
   position: relative;
   margin: 20px;
}

.link_sns {
   color: #c9b285;
}

 .navigation__link {
   color: #fff;
   font-weight: 700;
   text-decoration: none;
   display: block;
   padding: 24px 0;
   transition: .5s;
 }

 @media (hover: hover) and (pointer: fine) {
   .navigation__link:hover {
     background: #4b4b4b;
   }
 }

.h_snsicon {
   display: none;
}

.header_li_sns::before {
   background: #C9B285;
   content: '';
   width: 100%;
   height: 2px;
   position: absolute;
   left: 0;
   bottom: 0;
   margin: auto;
   transform-origin: right top;
   transform: scale(0, 1);
   transition: transform .2s;
 }
 .header_li_sns:hover:before {
   transform-origin: center top;
   transform: scale(1, 1);
 }

}
/* ハンバーガーメニュー終了 */


/* topページ開始 */
/*
.top_main {
   width: 100%;
   overflow: hidden;
   background-color: #DBE5E8;
}

.top_main_visual {
   width: 100%;
   height: auto;
   animation-name:fadeInAnime;
   animation-duration:2s;
   animation-fill-mode:forwards;
   opacity:0;
   vertical-align: top;
}
*/

.top_main {
   width: 100%;
   overflow: hidden;
   background-color: #DBE5E8;
   text-align: center;
}

.top_main_visual {
   width: 75%;
   height: auto;
   animation-name:fadeInAnime;
   animation-duration:2s;
   animation-fill-mode:forwards;
   opacity:0;
   vertical-align: top;
}


@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.top_menu {
   display: flex;
   height: auto;
   margin: 15px;
}

.topmenu_btnarea {
   display: flex;
   width: 50%;
   padding-left: 60px;
}

.btn_topmenu {
   display: inline-block;
   text-align: center;
   width: auto;
   height: 40px;
   filter: drop-shadow(1px 4px 4px #999999);
   padding-left: 10px;
   margin: 0 20px;
}

@media (any-hover: hover) {
   .btn_topmenu {
     transition: box-shadow 0.2s;
   }
 
   .btn_topmenu:hover {
     filter: drop-shadow(2px 2px 4px rgb(0 0 0 / 24%));
   }
 }

.top_menu_sns {
   display: flex;
   width: 50%;
   justify-content: flex-end;
   align-items: center;
   padding-right: 60px;
}

.top_menu_sns_text {
   display: block;
   padding-right: 10px;
}

.top_menu_sns_icon {
   padding: 0 10px;
   width: 50px;
}


.home_topbottom {
   width: 100%;
}

.history {
   width: 80%;
   margin: 0 auto;
   padding: 50px 0 0;
}

.history_content {
   padding: 30px 0;
}

.title1 {
   text-align: center;
   font-size: 40px;
   padding-top: 40px;
   padding-bottom: 30px;
   color: #4D4D4D;
}

.title2 {
   text-align: center;
   font-size: 24px;
   color: #4D4D4D;
   padding: 40px 0 20px;
}

.title3 {
   text-align: center;
   font-size: 15px;
   color: #4D4D4D;
   padding: 0 0 40px;
}

.title_text {
   text-align: center;
   font-size: 16px;
   color: #4D4D4D;

   padding: 10px 0;
}

.sub_text {
   text-align: center;
   font-size: 13px;
   color: #4D4D4D;
}

.btn_area {
   padding: 35px 0 70px;
}

.btn_top {
   display: block;
   text-align: center;
   font-size: 20px;
   text-decoration: none;
   width: 280px;
   height: 60px;
   margin: auto;
   padding: 1rem 4rem;
   font-weight: bold;
   color: #EAEAEA;
   background: #4D4D4D;
   transition: 0.1s;
   letter-spacing: 2px;
}

a.btn_top:hover {
   color: #4D4D4D;
   background: #C9B285;
}

.top_gallery {
   background-color: #DBE5E8;
   padding-bottom: 20px;
   width: 100%;
   margin: 0 auto;
   overflow: hidden;
}

.top_gallery_img {
  width: 100%;
  height: 35vw;
  object-fit: contain;
}


/* topページ終了 */


/* profileページ開始 */

.profile_main {
    display: flex;
    width: 80%;
    margin: 0 auto;
    object-fit: cover;
    padding: 70px 0;
}

.profile_visual {
   width: 600px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.profile_photo {
   width: auto;
   height: 600px;
}

.profile_maintext {
   display: block;
   height: 600px;
   align-items: center;
   margin: auto 50px;
   font-size: 15px;
}

.jp_name {
   font-size: 35px;
   margin-bottom: 0px;
   letter-spacing: 6.5px;
   padding-top: 100px;
   color: #4D4D4D;
}

.en_name {
   font-size: 15px;
   padding-left: 5px;
   letter-spacing: 2px;
   color: #4D4D4D;
}

.profiletext {
   padding-top: 40px;
   color: #4D4D4D;
}

.main_ul {
   list-style: none;
   margin: 40px 0;
   padding-left: 0px;
   color: #4D4D4D;
}


/* profileページ終了 */

/* Galleryページ開始 */
.please-click {
   padding: 70px 0 5px;
   width: 80%;
   margin: 0 auto;
}

.Gallery {
   columns: 3;
   padding: 50px 0;
   width: 80%;
   margin: 0 auto;
}

.Gallery img {
   width: 100%;
   height: auto;
   vertical-align: bottom;
   padding: 15px;
   filter: drop-shadow(4px 7px 4px #ccc);
}

/* Galleryページ終了 */

/*　作品紹介ページ開始　*/

.gallery_main {
   width: 50%;
   margin: 0 auto;
}

.gallery_title {
  font-size: 20px;
  padding-left: 15px;
}

.gallery_ul {
  list-style: none;
  font-size: 13px;
  padding: 5px 20px;
}

.gallery_img {
  width: 100%;
  height: 35vw;
  object-fit: contain;
}

.gallery_img:hover {
   filter: drop-shadow(4px 4px 4px rgb(0 0 0 / 40%));
 }

 .d_gallery_img {
   width: 100%;
   height: 35vw;
   object-fit: contain;
 }

.pageback {
  text-align: center;
  font-size: 16px;
  padding: 30px 0 40px;
}

/*　作品紹介ページ終了　*/


/* footer開始*/
footer {
   height: 500px;
}


.footer_image {
   width: 100%;
}

.footertext {
   text-align: center;
}

.footer_jp_name {
   font-size: 30px;
   letter-spacing: 0.2em;
   padding: 120px 0 10px;
}

.footer_en_name {
   font-size: 13px;
   letter-spacing: 0.1em;
   padding: 0 0 50px;
}

.footer_icon {
   display: flex;
   justify-content: center;
}

.f_snsicon {
   padding: 0 1vw 0;
   width: 90px;
   height: auto;
}

@media (any-hover: hover) {
   .f_snsicon {
     transition: box-shadow 0.2s;
   }
 
   .f_snsicon:hover {
     filter: drop-shadow(2px 2px 4px rgb(0 0 0 / 24%));
   }
 }

 .contact {
   text-align: center;
   padding-top: 100px;
}

.text_contact {
   font-size: 12px;
   letter-spacing: 0.1em;
}

.mail_contact {
   font-size: 12px;
   letter-spacing: 0.1em;
   text-decoration: none;
}

/* footer終了 */


/* スマホ表示　メディアクエリ開始 */
@media screen and (max-width: 428px) {
   header {
      height: 120px;
   }

   .h_name {
      font-size: 15px;
   }

   .header_name {
      font-size: 10px;
   }

   .top_main {
      height: 520px;
      width: 100%;
      display: flex;
      align-items: flex-end;
      justify-content: center;
   }

   .top_main_visual {
      height: auto;
      width: 1000px;
      flex-direction: column;
      animation-name:fadeInAnime;
      animation-duration:3s;
      animation-fill-mode:forwards;
      opacity:0;
   }

   @keyframes fadeInAnime{
     from {
       opacity: 0;
     }
   
     to {
       opacity: 1;
     }
   }

   .title1 {
      font-size: 30px;
   }
   
   .title2 {
      font-size: 20px;
   }
   
   .title3 {
      font-size: 10px;
   }

   .title_text {
      font-size: 12px;
   }
   
   .sub_text {
      text-align: center;
      font-size: 10px;
   }

   .history {
      padding: 10px 0 0;
   }

   .gallery_img {
      padding-top: 20px;
    }

    .profile_main {
      display: block;
      width: 100%;
      margin: 0 auto;
      padding: 0;
   }
  
  .profile_visual {
      width: 100%;
      height: 520px;
      justify-content: center;
      align-items: center;
  }
  
  .profile_photo {
      width: auto;
      max-width: 100%;
      object-fit: contain;
  }

  .jp_name {
      font-size: 30px;
      letter-spacing: 4.5px;
      padding-top: 80px;
}

   .en_name {
      font-size: 14px;
      padding-left: 5px;
      letter-spacing: 2px;
}
   .profiletext {
      font-size: 12px;
      padding-top: 40px;
}

   .main_ul {
      list-style: none;
      font-size: 10px; 
      margin: 40px 0;
}
  
   .please-click {
      width: 80%;
      margin: 0 auto;
      padding-bottom: 20px;
}

   .Gallery {
      columns: 1;
      padding: 0;
      width: 80%;
      margin: 0 auto;
}

   .gallery_img {
      width: 90%;
      margin: 0 auto;
      height: auto;
   }

   .d_gallery_img {
      width: 90%;
      margin: 0 auto;
      height: auto;
      padding-top: 20px;
   }

   .footertext {
      text-align: center;
}

   .footer_jp_name {
      font-size: 20px;
      letter-spacing: 0.2em;
      padding: 100px 0 10px;
}

   .footer_en_name {
      font-size: 10px;
      letter-spacing: 0.1em;
}
 
   .contact {
      text-align: center;
      padding-top: 40px;
 }

   .text_contact {
      font-size: 10px;
      letter-spacing: 0.1em;
   }

   .mail_contact {
      font-size: 10px;
      letter-spacing: 0.1em;
      text-decoration: none;
   }

}

.gallery_main {
   padding-top: 40px;
   width: 80%;
}

.gallery_title {
  font-size: 18px;
  padding-left: 10px;
}


.gallery_ul {
  list-style: none;
  font-size: 13px;
  padding-top: 10px;
  padding-left: 65px;
}

.pageback {
  text-align: center;
  font-size: 14px;
  padding: 30px 0 40px;
}

.f_snsicon {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

/* スマホ表示　メディアクエリ終了 */

/* タブレット表示　メディアクエリ開始 */
@media screen and (max-width: 960px) {
   header {
      height: 120px;
   }
   .h_name {
      font-size: 15px;
   }
   
   .header_name {
      font-size: 10px;
   }

  .jp_name {
      font-size: 22px;
}

   .en_name {
      font-size: 10px;
}

   .profiletext {
      font-size: 13px;
}

   .main_ul {
      font-size: 8px; 
   }

   .f_snsnicon {
      -webkit-tap-highlight-color:rgba(0,0,0,0);
      cursor:pointer;
   }
}

@media screen and (max-width: 885px) {
.top_gallery_img {
   width: 90%;
   margin: 0 auto;
   height: auto;
}


.profile_main {
   display: block;
   width: 100%;
   margin: 0 auto;
   padding: 0
}

.profile_visual {
   width: 100%;
   height: auto;
   justify-content: center;
   align-items: center;
}

.profile_photo {
   width: auto;
}

.jp_name {
   font-size: 30px;
   letter-spacing: 4.5px;
   padding-top: 80px;
}

.en_name {
   font-size: 14px;
   padding-left: 5px;
   letter-spacing: 2px;
}

.profile_maintext {
   width: 60%;
   margin: 0 auto;
   height: 550px;
}

.profiletext {
   font-size: 11px;
   padding-top: 40px;
}

.main_ul {
   list-style: none;
   font-size: 10px; 
   margin: 40px 0;
}

.f_snsicon {
   padding: 0 1vw 0;
   width: 65px;
   height: auto;
}

.gallery_ul {
  list-style: none;
  font-size: 13px;
  padding-top: 10px;
  padding-left: 30px;
}

.f_snsnicon {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

}
/* タブレット表示　メディアクエリ終了 */