@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');

body {
  font-family: "Lucida Grande", "Segoe UI", sans-serif;
  scroll-behavior: smooth;
  overflow-x: hidden;
  background-color: #0f1219; 
  color: #e5e7eb; 
}

.jp {
  font-family: 'Noto Sans JP', sans-serif;
}

/* タイピングアニメーションのキーフレーム */
@keyframes typing {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* タイピングテキストのスタイル */
.typing-text {
  display: inline-block;
  animation: typing 1s ease-out forwards;
}

/* ヒーローセクションの英語部分のディレイ設定 */
.typing-text:nth-child(1) {
  animation-delay: 0.5s;
}

.typing-text:nth-child(2) {
  animation-delay: 1.5s;
}

/* ヒーローセクションの日本語部分のディレイ設定 */
.typing-text-jp {
  display: inline-block;
  animation: typing 1s ease-out forwards;
}

.typing-text-jp:nth-child(1) {
  animation-delay: 2.5s;
}

.typing-text-jp:nth-child(2) {
  animation-delay: 3.5s;
}

/* パララックス効果の要素スタイル */
.parallax-container {
  position: relative;
  overflow: hidden;
}

.parallax-element {
  will-change: transform;
  transition: transform 0.1s cubic-bezier(0.2, 0, 0.2, 1);
}

/* スクロールインジケーターのアニメーション */
.scroll-indicator {
  animation: bounce 2s infinite;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

.main_new {
	margin-top: -60px;
	overflow: hidden;
	width: 100%;
	height: 140vh;
	position: relative;
}
.main_new_img  {
	will-change: transform;;
	inset: 0px;
	position: absolute;
	transform: translateY(0)
}
.main_new_img_innter {
	background-position: center;
	background-size: cover;
	height: 100%;
	background-image: url("../img/top/img-main-pc-new-01.jpg");
}
.main_new_img_bg {
    position: absolute;
    inset: 0;
    /* 对应 from-black/30 (0.3), via-black/20 (0.2), to-[#0a0c11] */
    background-image: linear-gradient(
        to bottom, 
        rgba(0, 0, 0, 0.3) 0%, 
        rgba(0, 0, 0, 0.2) 50%, 
        #000000 100%
    );
}
.main_new_test {
	/* absolute */
    position: absolute;

    /* inset-0 */
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;

    /* flex */
    display: flex;

    /* items-center (垂直方向の中央) */
    align-items: center;

    /* justify-center (水平方向の中央) */
    justify-content: center;

    /* style="padding-bottom: 35vh;" */
    padding-bottom: 35vh;
}
#hero-text {
    text-align: center;
    /*width: 100%;*/
    display: block;
    transform: translateY(0px);
    opacity: 1;
}
/* 标题容器样式 */
.test_new_h1 {
    font-size: 60px;
    font-weight: 500; /* font-light */
    margin-bottom: 2rem; /* mb-8 (8 * 4px) */
    color: #ffffff; /* text-white */
    letter-spacing: 0.15em; /* tracking-[0.15em] */
    font-family: 'Inter', sans-serif;
    font-style: italic;
    transition: all 1000ms; /* duration-1000 */
	padding: 0 1rem;
}

/* 日本語メッセージ全体のコンテナ */
.test_new_p {
    font-family: 'Noto Sans JP', sans-serif; /* jp クラスの役割 */
    font-size: 20px; /* text-[20px] */
    font-weight: 700; /* font-medium */
    color: #ffffff; /* text-white */
    letter-spacing: 0.25em; /* tracking-[0.25em] */
    line-height: 1.8; /* 行間の調整（任意） */
    transition: all 1000ms; /* duration-1000 */
	text-align: center;
	padding: 0 1rem;
}


/* 基础文字样式（共同部分） */
.test_new_h1_01, 
.test_new_h1_02 {
    display: inline-block; /* 必须是 block 或 inline-block 才能应用 transform */
    opacity: 0; /* 初始透明 */
}

/* 第一行文字：从左侧移入 */
.test_new_h1_01 {
    margin-left: -13.5%; /* -ml-96 (96 * 4px) */
    animation: typing 1s ease-out forwards;
    animation-delay: 0.5s; /* 提取 style 里的延迟 */
	width: 100%;
}

/* 第二行文字：从右侧移入 */
.test_new_h1_02 {
    margin-left: 39%; /* ml-96 (96 * 4px) */
    animation: typing 1s ease-out forwards;
    animation-delay: 1.0s; /* 提取 style 里的延迟 */
	width: 100%;
}
@media only screen and (max-width : 1600px) {
	.test_new_h1_01 {
		margin-left: -10%; 
	}
	.test_new_h1_02 {
		margin-left: 35%;
	}
}
@media only screen and (max-width : 1400px) {
	.test_new_h1_01 {
		margin-left: -6%; 
	}
	.test_new_h1_02 {
		margin-left: 33%;
	}
}
@media only screen and (max-width : 1240px) {
	.test_new_h1_01 {
		margin-left: -5%; 
	}
	.test_new_h1_02 {
		margin-left: 30%;
	}
}
@media only screen and (max-width : 900px) {
	.test_new_h1_01 {
		margin-left: -3%; 
	}
	.test_new_h1_02 {
		margin-left: 32%;
	}
	.test_new_h1 {
    	font-size: 50px;
    }	
	.test_new_p {
	    font-size: 18px;
	}
}
@media only screen and (max-width : 800px) {
	.test_new_h1_01 {
		margin-left: 5%; 
	}
	.test_new_h1_02 {
		margin-left: 32%;
	}
	.test_new_h1 {
    	font-size: 40px;
    }
	.test_new_p {
	    font-size: 16px;
	}
}
@media only screen and (max-width : 750px) {
	.test_new_h1_01 {
		margin-left: 0%; 
	}
	.test_new_h1_02 {
		margin-left: 0%;
	}
	.test_new_h1 {
    	font-size: 32px;
    }
	.test_new_p {
	    font-size: 13px;
		text-align: left;
	}
	
	
}

@media only screen and (max-width : 360px) {
	.test_new_h1_01 {
		margin-left: 0%; 
	}
	.test_new_h1_02 {
		margin-left: 0%;
	}
	.test_new_h1 {
    	font-size: 28px;
    }
	.test_new_p {
	    font-size: 12px;
		text-align: left;
	}
	
	
}

/* 动画定义 */
@keyframes typing {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* 日本語メッセージ全体のコンテナ */


/* 各行の共通スタイル */
.test_new_p_01, 
.test_new_p_02 {
    display: inline-block; /* アニメーション（transform）を有効にするため */
    opacity: 0; /* 始点は透明 */
}

/* 日本語1行目：2.5秒後に開始 */
.test_new_p_01 {
    animation: typing-jp 1s ease-out forwards;
    animation-delay: 1.5s;
}

/* 日本語2行目：3.5秒後に開始 */
.test_new_p_02 {
    animation: typing-jp 1s ease-out forwards;
    animation-delay: 2.0s;
}

/* 日本語用のアニメーション定義（少し下からふわっと浮き上がる） */
@keyframes typing-jp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

