/*
Theme Name: Laddear to
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: テーマのスラッグ (例: my-theme)
Tags: custom-background, custom-logo, full-width-template
*/
body {
    /* 日本語優先: 英字はMontserrat、フォールバックはsans-serif */
    font-family: "Noto Sans JP", "Montserrat", sans-serif;
    font-weight: 400; /* 通常はRegular (400) */
    color: #0F1419;
}
/* Medium (500) を使いたい要素 */
.medium-text {
    font-weight: 500; 
}

/* Bold (700) を使いたい要素（見出しなど） */
h1, h2, h3 {
    font-weight: 700; 
}
.en-accent {
    /* 英字優先: 英字はMontserrat、日本語はNoto Sans JP */
    font-family: "Montserrat", sans-serif;
    font-weight: 500; /* Montserratで読み込んだのはMedium (500)のみ */
}
header{
    padding: 17.5px 80px;
    border-bottom: 1px solid #0F1419;
}
header img{
    width: 64px;
}
.header-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20px;
}
.logo-container a{
    display: flex;
    align-items: center;
    font-size: 28px;
}
.menu-container,
.menu-container ul{
    display: flex;
    align-items: center;
}
.menu-container ul li{
    margin-right: 40px;
}
.menu-container ul li a{
    display: inline-block;
    transition: all 0.3s ease-in-out;
    transform: scale(1);
    box-shadow: none;
    text-shadow: 0 0 transparent;
}
.menu-container ul li a:hover{
    transform: scale(1.1);
    text-shadow: 3px 3px 8px rgba(201,201,201,1);
}
header .entry-btn{
    background-color: #0F1419;
    border-radius: 8px;
    border: 2px solid #0F1419;
    transition: background-color 0.3s ease-in-out;
}
header .entry-btn:hover{
    background-color: #fff;
    color: #0F1419;
}
header .entry-btn a{
    display: inline-block;
    padding: 8.5px 25px;
    color: #fff;
}
header .entry-btn a:hover{
    color: #0F1419;
}
header .menu-item{
    position: relative;
}
header .menu-item a{
    display: block;
}
header .dropdown-menu{
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    min-width: 200px;
    background-color: #FFF;
    border: 1px solid #0F1419;
    margin-top: 37px;
}
.dropdown-menu .dropdown-item a {
    display:block;
    padding: 13.5px 57px 13.5px 15px;
    white-space: nowrap;
    font-size: 16px;
}
header .has-dropdown:hover > .dropdown-menu {
    visibility: visible;
    opacity: 1;
}
.dropdown-menu .dropdown-item{
    position: relative;
    margin: 0;
}
.dropdown-menu .dropdown-item::after{
    content:'';
    background-image: url('img/arrow.svg');
    background-repeat: no-repeat;
    background-size: contain;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}
/*メインビジュアル*/
.main-visual{
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 0 15px;
    height: 45.83vw;
    overflow: hidden;
}
 .main-visual-logo{
    width:43%;
 }
 .main-visual h1{
    position: absolute;
    top: 50%;
    left:30px;
    transform: rotate(-10deg) translateY(-50%);
    font-size: 96px;
    z-index: 100;
 }
 .main-visual-staff{
    flex: 1;
    display: flex;
    gap: 15px;
    overflow: hidden; 
    width: 58%;
 }
 .scroll-column{
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}
.image-scroll{
    display: flex;
    flex-direction: column;
    gap: 15px;
    will-change: transdorm;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}
.image-clipper{
    width: 100%;
    height: 16%;
    border-radius: 10px;
    overflow: hidden; 
    flex-shrink: 0;
}
.scroll-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/*staff画像自動スクロール*/
@keyframes scroll-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%); 
  }
}
@keyframes scroll-down {
  100% {
    transform: translateY(0);
  }
  0% {
    transform: translateY(-50%); 
  }
}
.left-column .image-clipper{
    animation-name: scroll-up;
    animation-duration: 40s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.right-column .image-clipper{
    animation-name: scroll-down;
    animation-duration: 40s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.site-main-section{
    padding: 80px 0px;
}
/*TOP-company*/
.top-company-section{
    width: 100%;
    height: 640px;
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url(img/top-company-bgimg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.top-company{
    padding-left: 80px;
}
.top-company-section h2{
    font-size: 96px;
    padding: 20px 50px;
    background-color: #0F1419;
    width: 44.4%;
    margin-bottom: 60px;
}
.top-company h3{
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 40px;
}
.top-company-section h2,
.top-company h3{
    color: #fff;
}
.top-company p{
    color: #fff;
    margin-bottom: 25px;
}
/* 1. 最初に「消しておく」設定 */
.slide-in {
    opacity: 0 !important;       /* 透明にする */
    transform: translateX(-50px); /* 左にずらす */
    display: block;              /* または inline-block */
}

/* 2. JSでクラスがついた時の設定 */
.slide-in.is-show {
    opacity: 1 !important;
    transform: translateX(0);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* ここにtransitionを書く */
}
