@charset "utf-8";

body {
	background-color: black;
	background-image: url(bg.jpg);
	background-size: cover;
	will-change: background-position;
}

.xx-small {
	font-size: xx-small;
}

.right {
	text-align: right;
}

.top_text {
	margin-left: 10vw;
	margin-right: 5vw;
}

.header2 {
	font-size: 2em;
	font-weight: 600;
	margin-bottom: 2em;
	text-align: center;
}

#content {
	text-align: left;
}

.outline_section {
	width: 100%;
	padding: 6vw 0;
	margin-left: auto;
	margin-right: auto;
}

.top-img_container {
	width: 100%;
	height: 70vh;
	margin: 0;
	z-index: 1;
	position: relative;
	overflow: hidden;
}


.top-img {
	position: absolute;
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;
	background: no-repeat center center;
	background-size: cover;
	z-index: 1;
	position: relative;
	overflow: hidden;

}

.top-text_font {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #434342;
	display: grid;
	grid-gap: 0 0;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(12, 1fr);
	grid-column: 1 / -1;
	grid-row: 1/-1;
}


.hero_paragraph {
	color: rgb(5, 4, 4);
}

.hero_paragraph_w1 {
	font-size: max(48px, 4vw);
}

.hero_paragraph_w2 {
	font-size: max(24px, 2vw);
}

.hero_paragraph_w3 {
	font-size: max(16px, 1.5vw);
}

/* font-family: a-otf-ud-reimin-pr6n, sans-serif;
font-weight: 300;
font-style: normal; */
/* .fonts_krete {
	font-family: "krete", serif;
	font-weight: 200;
	font-style: normal;
} */


.fonts_seiwa-do-l {
	font-family: seiwa-do-l, sans-serif !important;
	font-weight: 400;
	font-style: normal;
}

.fonts_sinete {
	font-family: sinete, sans-serif;
	font-weight: 400;
	font-style: normal;
}

.test-box p {
	position: absolute;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;

}

.style59 {
	font-weight: bold;
	text-align: left;
}

.style64 {
	font-weight: normal;
	text-align: left;
}

.black {
	color: black;
}

/* .line_svg {
	background: url('..//svg/line.svg') no-repeat;
	width: 100%;
	height:3em;
	color:white;
} */

.rows_container {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	grid-gap: 32px 0;
	padding: 3vw;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}

.container {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: 80vh;
	grid-gap: min(3.125%, 32px);
	height: 100vh;
	margin-left: 0;
	margin-right: 0;
	grid-auto-flow: column;
}

.top-img_text {
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	z-index: 1;
	color: #818180;
	text-align: center;
	align-self: center;
}

/* =========================================
   ヒーロー：842を「単体・原色」で即表示
   ========================================= */

/* 842を本体背景に固定 */
.top-img.hero_change{
  background-image: url("img/0206_P3.jpg") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;

  /* 薄く見える原因になりがちな効果を無効化 */
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  transition: none !important;
}
.top-img.hero_change {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* メディアクエリはtext_on_image.cssで管理 */

/* 旧：遅延クロスフェード用の疑似要素（白膜/重ね）を完全停止 */
.top-img.hero_change::before,
.top-img.hero_change::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* ヒーロー上のテキスト演出を止めたい場合（出て消えるのを防止） */
.hero_text_change{
  animation: none !important;
  opacity: 1 !important; /* テキストを常時表示する場合 */
}

  .back-to-top {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: 3000;
    transition: opacity 0.35s ease;
  }