/* 追加CSS */
html {
  font-size: 100%;
}

.splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #15110C;
  z-index: 1000;
  opacity: 1;
  /* 初期状態 */
  transition: opacity 1.5s ease;
  /* フェードアウトのアニメーションを設定 */
}

.splash-image {
  width: 50%;
  /* 表示幅の調整 */
  opacity: 0;
  /* 初期状態を透明にする */
  transform: translateY(10px);
  /* 下に 10px ずらしておく */
  animation: slideUpFadeIn 1s ease-in-out forwards;
  /* 下から上にスライドしながらフェードイン */
}

@keyframes slideUpFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    /* 下に 10px ずらす */
  }

  to {
    opacity: 1;
    transform: translateY(0);
    /* 元の位置に戻る */
  }
}


/* Animation */
.fade-in {
  opacity: 0;
  transform: translateY(40px); /* 初期位置を少し下に */
  transition: opacity 1s ease-out, transform 1s ease-out; /* アニメーション時間を調整 */
}
.fade-in.active {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻す */
}

/* 同じアニメーション名を使う場合、keyframesは1回のみ定義 */
@keyframes delay {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* home hero 用 
.home .hero-txt-left .fade-in {
  animation-name: delay;
  animation-delay: 4s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); 
}
.home .hero-mobile .fade-in, .hero .fade-in {
  animation-name: delay;
  animation-delay: 4.5s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); 
}
.home .san .fade-in {
  animation-name: delay;
  animation-delay: 5s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); 
}
*/

/* internal hero 用 */
.hero-txt-left .fade-in {
  animation-name: delay;
  animation-delay: 1s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); /* 初期位置を少し下に */
}
/* .hero .fade-in 用 */
.hero-mobile .fade-in, .hero .fade-in {
  animation-name: delay;
  animation-delay: 1.5s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); /* 初期位置を少し下に */
}
/* .san .fade-in 用 */
.san .fade-in {
  animation-name: delay;
  animation-delay: 1.8s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(40px); /* 初期位置を少し下に */
}


/* 
.elementor-element h1, .elementor-element h2, .elementor-element h3, .elementor-element h4, .elementor-element h5, .elementor-element h6 {
  margin: 0;
}
*/
.elementor-element h2,
.elementor-element h3,
.elementor-element h4,
.elementor-element h5,
.elementor-element h6 {
  font-family: "Syne", sans-serif;
  font-weight: 700;
}

.elementor-element h1 {
  font-size: 3.75rem;
  /* 60px */
  margin-bottom: 1em;
}

.elementor-element h2 {
  font-size: 3rem;
  /* 48px */
  margin-bottom: 1em;
}

.elementor-element h3 {
  font-size: 2.25rem;
  /* 36px */
  margin-bottom: 1em;
}

.elementor-element h4 {
  font-size: 1.875rem;
  /* 30px */
  margin-bottom: 1em;
}

.elementor-element h5 {
  font-size: 1.5rem;
  /* 24px */
  margin-bottom: 1em;
}

.elementor-element h6 {
  font-size: 1.25rem;
  /* 20px */
  margin-bottom: 1em;
}

.elementor-element p {
  font-size: 1rem;
  /* 16px */
  font-weight: 400;
  line-height: 1.5;
}

.elementor-element .large {
  font-size: 1.875rem;
  /* 30px */
}

.elementor-element .xlarge {
  font-size: 3rem;
  /* 48px */
}

.elementor-element .xxlarge {
  font-size: 3.75rem;
  /* 60px */
}

.elementor-element .small {
  font-size: .8125rem;
  /* 13px */
}

.elementor-element x.small {
  font-size: .6875rem;
  /* 11px */
}

.elementor-element xx.small {
  font-size: .5;
  /* 8px */
}

.elementor a {
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  text-decoration: underline;
}
.elementor a:hover {
  color: #986F31;
}

.elementor hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #838381;
  margin: 1em 0;
  padding: 0;
}

.elementor .elementor-widget-button a {
  text-decoration: none;
}

.elementor .menu-item a {
  text-decoration: none;
}

.e-con {
  padding: 0;
}

.elementor-button {
  padding: 15px 30px;
  background: #775B30;
  border-radius: 100vh;
  min-width: 180px;
  transition: all .5s;
}
.elementor-button:hover a {
  background: #986F31;
  color: #fff;
}

#header {
  padding: 0 5%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  /* 初期の高さ */
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: height 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  box-shadow: none;
  z-index: 1000;
}
#header {
  opacity: 0;
  transform: translateY(40px);
  animation: slideUpFadeIn 1s ease-out forwards;
}
@keyframes slideUpFadeIn {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#header .logo {
  margin-top: 50px;
}
#header .logo img {
  width: 100px;
  transition: width 0.3s ease-in-out;
}
#header .header-menu {
  text-align: right;
}
#header .hfe-nav-menu li {
  margin-right: 30px;
  display: inline-block;
}
#header .hfe-nav-menu li a.hfe-menu-item {
  font-family: "Figtree", sans-serif;
}
#header .hfe-nav-menu li a {
  padding: 10px 0;
}
#header .hfe-nav-menu li a:hover {
  color:#986F31;
}
#header .hfe-nav-menu #menu-item-3015 a {
  color: #EBE7E0;
}
#header .hfe-nav-menu #menu-item-3015 a:hover {
  color:#986F31;
}
#header .elementor-widget-container {
  margin: 0;
}
#header .hfe-nav-menu li:last-child {
  display: none;
}

#header .hfe-nav-menu li a {
  font-size: 1rem;
  /* 16px */
}

#header .elementor-button {
  min-width: 100px;
  font-size: 1rem;
  /* 16px */
}
#header .elementor-button a {
  color: #fff !important;
}
#header .elementor-button:hover {
  background: #986F31;
}

/* sticky header */
#header.sticky-header {
  height: 100px;
  /* 縮小後の高さ */
  background: #15110C;
  border-bottom: #363430 1px solid;
}

#header.sticky-header .logo {
  margin-top: 0;
}

#header.sticky-header .logo img {
  width: 70px;
}





#footer {
  border-top: #363430 1px solid;
  padding-top: 10vh;
  padding-bottom: 10vh;
  color: #EBE7E0;
  font-size: .8125rem;
  /* 13px */
}
#footer .footer-menu li {
  display: inline-block;
  margin-left: 30px;
}
#footer .footer-menu li a {
  font-size: 1rem;
  /* 16px */
}

#footer a {
  color: #EBE7E0;
}

#footer a:hover {
  color: #986F31;
}

#footer .footer-bottom {
  margin-top: 20vh;
  font-size: .8125rem;
  /* 13px */
}

#footer .logo-footer img {
  width: 220px;
}
#footer .footer-WMB img {
  width: 300px;
}


#page {
  padding: 400px 0 0;
}

.page .hero-text {
  position: relative;
  padding: 0 5%;
  margin-bottom: 10vh;
}

.page .hero-text .hero-txt-left h2 {
  width: 50%;
  font-size: 3.75rem;
  /* 60px */
  margin-bottom: 0.5em;
}
.page .hero-text .hero-txt-left p {
  width: 50%;
  font-size: 1.25rem;
  /* 20px */
  max-width: 640px;
}

.page .hero-text .san {
  max-width: 478px;
  width: 30%;
  position: absolute;
  right: 10%;
  top: -50px;
  z-index: 2;
}
.page .hero-text .san img {
  width: 100%;
}
.page .hero {
  margin-bottom: 15vh;
}
.page .hero img {
  border-radius: 100px;
}
.page .hero-mobile {
  display: none;
}




/* Home */
.home .intro {
  margin-bottom: 10vh;
}

.home .intro h2 {
  margin-bottom: 0.5em;
  font-size: 3rem !important;
  /* 48px */
}

.home .intro p {
  width: 45%;
  max-width: 720px;
  font-size: 1rem;
  /* 16px */
}

.home .image-tiles img {
  border-radius: 30px;
}

.home .image-tiles .img01 {
  width: 30%;
  margin-top: 20vh;
  margin-right: 5%;
}

.home .image-tiles .img02 {
  width: 30%;
  margin-top: 10vh;
  margin-right: 5%;
}

.home .image-tiles .img03 {
  width: 30%;
}

.home .txt-img01 {
  margin-top: 15vh;
  margin-bottom: 15vh;
}

.home .txt-img01 .txt {
  padding-right: 15%;
}


.home .txt-img02 {
  margin-bottom: 15vh;
}

.home .txt-img02 .txt {
  padding: 0 18% 0 5%;
}


.home .txt-img02 img {
  border-radius: 0 30px 30px 0;
}

.home .txt-img03 {
  margin-bottom: 15vh;
}

.home .txt-img03 .txt {
  padding-right: 15%;
}

.home .img-mobile {
  display: none;
}

/* About */
.page-id-3318 .intro {
  margin-bottom: 10vh;
}
.page-id-3318 .intro p {
  font-size: 1.5rem;
  /* 24px */
}
.page-id-3318 .txt-img {
  margin-bottom: 15vh;
}

/* Talent */
.page-id-3331 .txt-img {
  margin-bottom: 15vh;
}
.page-id-3331 .txt-img .img {
  padding-right: 10%;
}
.page-id-3331 .txt-img .img img{
  border-radius: 30px;
}

/* Peoject */
.page-id-3338 .project-info {
  margin-bottom: 15vh;
}
.page-id-3338 .project-info .border {
  margin-bottom: 50px;
}

.page-id-3338 .project-info .title {
  padding-right: 20%;
}
.page-id-3338 .project-info .title h3 {
  margin-bottom: 20px;
}
.page-id-3338 .project-info .title p {
  font-size: .8125rem;
  /* 13px */
}

/* Contact */
.page-id-3343 .enquiry {
  margin-bottom: 15vh;
}
.page-id-3343 .enquiry .txt {
  padding-right: 10%;
}
.page-id-3343 .enquiry .form {
  padding-left: 10%;
}


/* all internals */


/* Form */
.wpcf7 form .heading-small {
  display: block;
  font-size: .8125rem;
  /* 13px */
}
.wpcf7 form label {
  width: 100%;
}
.wpcf7 form input {
  height: 60px;
  background: none;
  border: 1px solid #363430;
  border-radius: 5px;
  margin-bottom: 20px;
  color: #EBE7E0;
}
.wpcf7 form textarea {
  background: none;
  border: 1px solid #363430;
  border-radius: 5px;
  margin-bottom: 20px;
  color: #EBE7E0;
}
.wpcf7 form input[type="submit"] {
  padding: 15px 40px;
  background: #775B30;
  border-radius: 100vh;
  transition: all .5s;
}
.wpcf7 form input[type="submit"]:hover {
  background: #986F31;
  color: #fff;
}
.wpcf7 form .wpcf7-not-valid-tip {
  margin-bottom: 30px;
}

@media screen and (max-width:1500px) {
  .e-parent  {
    padding: 0 5%;
  }
  .e-parent.e-con-full {
    padding: 0;
  }
  .page .hero-text   {
    padding: 0 5%;
  }
  .page .hero-text .hero-txt-left h2 {
    font-size: 3rem;
      /* 48px */
  }
}
@media screen and (max-width:1200px) {
  .home .intro p {
    width: 70%;
  }
}
@media screen and (max-width:1140px) {
  #page {
    padding: 300px 0 0;
  }
  .page .hero-text .san {
    top: 0;
  }
  .page .hero-text .hero-txt-left p {
    font-size: 1rem;
    /* 16px */
  }

  .page-id-3318 .intro {
    margin-bottom: 5vh;
  }
  .page-id-3318 .txt-img {
    margin-bottom: 5vh;
  }
}

@media screen and (max-width:1024px) {
#footer .logo-footer, #footer .footer-WMB {
  width: 20%;
}
#footer .footer-menu, #footer .copyright {
  width: 80%;
}
.home .txt-img01 .txt, .home .txt-img03 .txt {
  padding-right: 5%;
}
.home .txt-img02 .txt{
  padding: 0 5%;
}
.home .intro p {
  width: 100%;
}
.page-id-3318 .txt-img .img {
  padding-right: 10%;
}
.page-id-3343 .enquiry .form {
  padding-left: 0;
}

}

@media screen and (max-width:768px) {
  h2 br,
  h3 br,
  h4 br,
  h5 br,
  h6 br {
    display: none;
  }
  #page {
    padding: 250px 0 0;
  }
  .page .hero {
    margin-bottom: 5vh;
  }
  .page .hero-text, .home .intro {
    margin-bottom: 5vh;
  }
  .page .hero-text .san {
    display: none;
  }
  .page .hero-text .hero-txt-left h2 {
    font-size: 2.25rem;
    /* 36px */
  }

  .page .hero-text .hero-txt-left h2 {
    width: 100%;
  }
  .page .hero-text .hero-txt-left p {
    width: 100%;
  }
  .page .hero-text .hero-txt-left p br {
    display: none;
  }  
  .page .hero img {
    border-radius: 50px;
  }

  .home .intro h2 {
    font-size: 2.25rem !important;
    /* 36px */
  }
  .home .intro p {
    width: 100%;
}
  .home .image-tiles .img01 {
    margin-top: 100px;
  }
  
  .home .image-tiles .img02 {
    margin-top: 50px;
  }

  .page-id-3318 .txt-img .img {
    margin-bottom: 50px;
  }
  .page-id-3331 .txt-img {
    margin-bottom: 10vh;
  }
  .page-id-3331 .txt-img .img {
    margin-bottom: 50px;
  }
}

@media screen and (max-width:767px) {
  #header {
    height: 100px;
    padding: 0;
  }
  #header .btn {
    display: none;
  }

  #header .hfe-nav-menu li:last-child {
    display: block;
  }
  #header .logo {
    width: 70px;
    margin-top: 0;
    position: absolute;
    top: 20px;
    left: 5%;
    display: block;
}
#header .logo img {
  width: 70px;
}
#header .header-menu {
  width: 100%;
  display: block;
}
#header .header-menu .hfe-dropdown {
  width: 100% !important;
  display: block;
  top: 70px;
  border-top: 1px solid #363430;
  border-bottom: 1px solid #363430;
}
#header .hfe-nav-menu-icon {
  margin-right: 10px;
}
#header .hfe-nav-menu .hfe-dropdown li {
  margin: 0;
  display: block;
}
#header .hfe-nav-menu .hfe-dropdown li a {
  background: #231F20;
  padding: 20px;
}
#header .hfe-nav-menu .hfe-dropdown li a:hover {
  background: #775B30;
  color: #fff !important;
}
#footer .logo-footer, #footer .footer-WMB, #footer .footer-menu, #footer .copyright {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
#footer .logo-footer .elementor-widget-container{
  text-align: center;
}
#footer .logo-footer {
  margin-bottom: 60px;
}
#footer .logo-footer img {
  margin: 0 auto;
  display: block;
}
#footer .hfe-nav-menu {
  text-align: center;
  margin: 0 auto;
}
#footer .hfe-nav-menu li {
  margin: 0 15px;
  display: inline-block;
}
#footer .footer-bottom {
  margin-top: 40px;
}
#footer .footer-WMB {
  margin-bottom: 30px;
}

  .home .txt-img01 {
    margin-top: 10vh;
    margin-bottom: 10vh;
}
  .home .txt-img01 .txt {
    width: 100%;
    padding-right: 0;
    margin-bottom: 5vh;
  }
.home .txt-img02 {
  margin-bottom: 5vh;
}
.home .txt-img02 .txt {
    width: 100%;
    padding: 0 5%;
  }
  .home .txt-img02 img {
    display: none;
  }
  .home .txt-img03 .txt {
    width: 100%;
    padding-right: 0;
    margin-bottom: 5vh;
  }

  .home .img-mobile {
    display: block;
    margin-bottom: 10vh;
  }
  .home .img-mobile img {
    border-radius: 50px;
  }
  .page-id-3318 .txt-img .img {
    padding-right: 0;
  }
  .page-id-3331 .txt-img .img {
    padding-right: 0;
  }
  .page-id-3338 .project-info .title {
    padding-right: 0%;
    margin-bottom: 50px;
  }
  .page-id-3343 .enquiry .txt {
    padding-right: 0;
  }
}

@media screen and (max-width:480px) {
  .splash-image {
    width: 80%;
  }
  #footer .footer-menu li {
    margin: 0 10px;
  }
  #footer .footer-menu li a {
      font-size: .8125rem;
      /* 13px */
    }
  .page .hero {
    display: none;
  }
  .page .hero-mobile {
    display: block;
    margin-bottom: 10vh;
  }
  .page .hero-mobile img {
    border-radius: 30px;
  }
  .home .image-tiles img {
    border-radius: 10px;
  } 
  .home .img-mobile img {
    border-radius: 30px;
  }
  .page-id-3343 .enquiry .txt {
    margin-bottom: 50px;
  }
}