@charset "UTF-8";

/* ============================================
   メインビジュアル
============================================ */
.sec_mv {
	position:relative;
	width:100%;
	height:100vh;
	min-height:600px;
	overflow:hidden;
}

/* スライド背景 */
.sec_mv_slides {
	position:absolute;
	inset:0;
	z-index:0;
}

.sec_mv_slide {
	position:absolute;
	inset:0;
	background-size:cover;
	background-position:center;
	opacity:0;
	transition:opacity 1.5s ease-in-out;
}

.sec_mv_slide.is-active {
	opacity:1;
}

/* 暗幕オーバーレイ */
.sec_mv_overlay {
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.45);
	z-index:1;
}

/* テキスト・ボタンエリア */
.sec_mv_inner {
	position:absolute;
	inset:0;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:flex-end;
}

.sec_mv_content {
	text-align:right;
	padding:0 60px 80px 0;
	max-width:700px;
}

/* ゴールドのキャッチコピー1行目 */
.sec_mv_catch_sub {
	font-size:5rem;
	font-weight:900;
	color:#d4af37;
	line-height:1.3;
	letter-spacing:0.05em;
	margin-bottom:0;
}

/* 白のキャッチコピー2行目 */
.sec_mv_catch_main {
	font-size:5rem;
	font-weight:900;
	color:#fff;
	line-height:1.3;
	letter-spacing:0.05em;
	margin-bottom:30px;
}

/* サブテキスト */
.sec_mv_text {
	font-size:1.125rem;
	color:#fff;
	line-height:2.2;
	letter-spacing:0.05em;
	margin-bottom:40px;
	text-shadow:0 1px 4px rgba(0,0,0,0.5);
}

/* ボタングループ */
.sec_mv_btn_wrap {
	display:flex;
	justify-content:flex-end;
	gap:20px;
	flex-wrap:wrap;
}

/* ボタン：ゴールド塗り */
.sec_mv_btn_primary {
	display:inline-flex;
	align-items:center;
	gap:0;
	padding:0 35px;
	height:64px;
	background:#d4af37;
	color:#1c1c1c;
	font-size:1rem;
	font-weight:700;
	text-decoration:none;
	border:1px solid transparent;
	letter-spacing:0.05em;
	transition:background 0.3s;
	white-space:nowrap;
}

.sec_mv_btn_primary:hover {
	background:#e5c158;
	color:#1c1c1c;
}

.sec_mv_btn_primary::after {
	content:'';
	display:inline-block;
	width:30px;
	height:12px;
	margin-left:14px;
	background-image:url(../images/arrow_primary.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	flex-shrink:0;
}

/* ボタン：枠線のみ */
.sec_mv_btn_secondary {
	display:inline-flex;
	align-items:center;
	gap:0;
	padding:0 35px;
	height:64px;
	background:transparent;
	color:#fff;
	font-size:1rem;
	font-weight:700;
	text-decoration:none;
	border:1px solid #fff;
	letter-spacing:0.05em;
	transition:background 0.3s;
	white-space:nowrap;
}

.sec_mv_btn_secondary:hover {
	background:rgba(255,255,255,0.15);
	color:#fff;
}

.sec_mv_btn_secondary::after {
	content:'';
	display:inline-block;
	width:30px;
	height:12px;
	margin-left:14px;
	background-image:url(../images/arrow_secondary.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	flex-shrink:0;
}

/* imgタグが残存する場合の非表示 */
.sec_mv_arrow {
	display:none;
}

/* SCROLLアニメーション */
.sec_mv_scroll {
	position:absolute;
	bottom:30px;
	left:50%;
	transform:translateX(-50%);
	z-index:3;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:8px;
}

.sec_mv_scroll_text {
	font-family:'Bebas Neue', sans-serif;
	font-size:0.8rem;
	letter-spacing:0.3em;
	color:#fff;
}

.sec_mv_scroll_line {
	width:1px;
	height:60px;
	background:rgba(255,255,255,0.3);
	position:relative;
	overflow:hidden;
}

.sec_mv_scroll_line::after {
	content:'';
	position:absolute;
	top:-100%;
	left:0;
	width:100%;
	height:100%;
	background:#d4af37;
	animation:sec_mv_scroll_anim 2s ease-in-out infinite;
}

@keyframes sec_mv_scroll_anim {
	0%   { top:-100%; }
	100% { top:100%; }
}

/* ドットナビ（右下） */
.sec_mv_dots {
	position:absolute;
	bottom:40px;
	right:40px;
	z-index:3;
	display:flex;
	gap:10px;
	align-items:center;
}

.sec_mv_dot {
	width:10px;
	height:10px;
	border-radius:50%;
	background:rgba(255,255,255,0.4);
	border:none;
	cursor:pointer;
	padding:0;
	transition:background 0.3s, transform 0.3s;
}

.sec_mv_dot.is-active {
	background:#d4af37;
	transform:scale(1.3);
}

.sec_mv_dot:hover {
	background:rgba(255,255,255,0.7);
}

/* ============================================
   メインビジュアル SP
============================================ */
@media screen and (max-width:768px) {
	.sec_mv {
		height:100svh;
		min-height:500px;
	}

	.sec_mv_content {
		text-align:right;
		padding:0 4% 60px 4%;
		max-width:100%;
		margin-top:15vh;
	}

	.sec_mv_catch_sub {
		font-size:10vw;
	}

	.sec_mv_catch_main {
		font-size:10vw;
		margin-bottom:20px;
	}

	.sec_mv_text {
		font-size:3.2vw;
		margin-bottom:25px;
		line-height:2;
	}

	.sec_mv_btn_wrap {
		flex-direction:column;
		align-items:flex-end;
		gap:12px;
		width:100%;
	}

	.sec_mv_btn_primary,
	.sec_mv_btn_secondary {
		height:13vw;
		font-size:3.8vw;
		padding:0 5vw;
		gap:8px;
		width:100%;
		box-sizing:border-box;
		justify-content:center;
	}

	.sec_mv_scroll {
		bottom:20px;
	}

	.sec_mv_scroll_line {
		height:40px;
	}

	.sec_mv_dots {
		bottom:25px;
		right:20px;
		gap:8px;
	}

	.sec_mv_dot {
		width:8px;
		height:8px;
	}
}


/* ============================================
   ABOUTセクション
============================================ */
.tmpl_about {
	position:relative;
	padding:0 0 0;
	background:#fff;
	overflow:hidden;
}

/* 右側の薄い黄色の背景ブロック：上端から下端まで・右側55% */
.tmpl_about_bg_color {
	position:absolute;
	top:0;
	right:0;
	width:35%;
	bottom:0;
	background:#f5f0e4;
	z-index:0;
}

.tmpl_about .tmpl_inner {
	position:relative;
	z-index:1;
	padding-top:120px;
	padding-bottom:220px;
}

/* 左右グリッド */
.tmpl_about_grid {
	display:flex;
	align-items:flex-start;
	gap:60px;
}

/* 左：テキスト */
.tmpl_about_text {
	flex:1;
	padding-top:50px;
}

.tmpl_about_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.3em;
	color:#d4af37;
	margin-bottom:20px;
}

.tmpl_about_title {
	font-size:2.875rem;
	font-weight:900;
	color:#1a1a1a;
	margin-bottom:100px;
	letter-spacing:0.05em;
	line-height:1.4;
}

/* 左ボーダーのキャッチコピー */
.tmpl_about_catch {
	border-left:4px solid #d4af37;
	padding-left:20px;
	margin-bottom:60px;
}

.tmpl_about_catch p {
	font-size:1.625rem;
	font-weight:700;
	color:#1a1a1a;
	line-height:1.7;
}

.tmpl_about_desc {
	font-size:1.125rem;
	line-height:2.2;
	color:#333;
	margin-bottom:20px;
}

/* 右：写真 */
.tmpl_about_photo {
	flex:0 0 520px;
	position:relative;
	padding-top:40px;
}

.tmpl_about_photo img {
	width:100%;
	height:auto;
	aspect-ratio:3/4;
	object-fit:cover;
	display:block;
}

/* aboutとcareerpathの境界：左上→右下の斜め黒 */
.tmpl_about::after {
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:160px;
	background:#1a1a1a;
	clip-path:polygon(0 40%, 100% 100%, 100% 100%, 0 100%);
	z-index:2;
}


/* ============================================
   CAREER PATHセクション
============================================ */
.tmpl_career {
	position:relative;
	background:#1a1a1a;
	color:#fff;
	padding:160px 0 60px;
	overflow:hidden;
}

/* 下部の斜め：左上→右下（上と同じ方向） */
.tmpl_career::after {
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:160px;
	background:#fff;
	clip-path:polygon(0 40%, 100% 100%, 100% 100%, 0 100%);
	z-index:2;
}

/* 背景の薄い「CAREER PATH」文字 */
.tmpl_career_bg_text {
	position:absolute;
	top:auto;
	bottom:340px;
	left:50%;
	transform:translateX(-50%);
	font-family:'Bebas Neue', sans-serif;
	font-size:22vw;
	font-weight:400;
	color:rgba(255,255,255,0.05);
	white-space:nowrap;
	letter-spacing:0.1em;
	pointer-events:none;
	z-index:0;
}

.tmpl_career .tmpl_inner {
	position:relative;
	z-index:1;
}

/* セクションヘッダー */
.tmpl_career_header {
	text-align:center;
	margin-bottom:50px;
}

.tmpl_career_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.35em;
	color:#d4af37;
	margin-bottom:15px;
}

.tmpl_career_title {
	font-size:3.25rem;
	font-weight:900;
	color:#fff;
	letter-spacing:0.05em;
	line-height:1.3;
}

/* リード文 */
.tmpl_career_lead {
	text-align:center;
	margin-bottom:80px;
}

.tmpl_career_lead p {
	font-size:1.125rem;
	color:rgba(255,255,255,0.8);
	line-height:2.2;
}

/* ステップ全体ラッパー */
.tmpl_career_steps {
	margin-bottom:20px;
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
}

/* 上段：丸＋線を横一列 */
.tmpl_career_steps_row {
	display:flex;
	align-items:center;
	margin-bottom:24px;
}

/* 番号の丸 */
.tmpl_career_step_num {
	width:80px;
	height:80px;
	border-radius:50%;
	border:2px solid #d4af37;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:'Bebas Neue', sans-serif;
	font-size:1.875rem;
	color:#d4af37;
	background:#1a1a1a;
	flex-shrink:0;
	position:relative;
	z-index:1;
}

/* GOALだけゴールド塗り */
.tmpl_career_step_num_goal {
	background:#d4af37;
	color:#1a1a1a;
	font-size:1rem;
	font-weight:700;
	font-family:'Noto Sans JP', sans-serif;
	letter-spacing:0.05em;
	border:none;
}

/* ステップ間のライン：丸と丸をつなぐ */
.tmpl_career_step_line {
	flex:1;
	height:2px;
	background:#d4af37;
}

/* 下段：テキストを横一列 */
.tmpl_career_steps_text {
	display:flex;
	align-items:flex-start;
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:80px;
}

/* 各bodyは均等幅で横並び（PCのみ） */
.tmpl_career_step_body {
	flex:1;
	text-align:center;
	padding:0;
}

/* 01（左端）：paddingで調整 */
.tmpl_career_step_body:first-child {
	padding-right:;
}

/* GOAL（右端）：paddingで調整 */
.tmpl_career_step_body:last-child {
	padding-left:;
}

.tmpl_career_step_title {
	font-size:1.25rem;
	font-weight:700;
	color:#fff;
	margin-bottom:12px;
	letter-spacing:0.05em;
	white-space:nowrap;
}

.tmpl_career_step_body_goal .tmpl_career_step_title {
	color:#d4af37;
}

.tmpl_career_step_desc {
	font-size:0.9375rem;
	color:rgba(255,255,255,0.7);
	line-height:2;
}

/* ハイライトボックス：ゴールド枠＋半透明黄色背景 */
.tmpl_career_highlight {
	border:1px solid #d4af37;
	background:rgba(212,175,55,0.1);
	padding:50px 60px;
	text-align:center;
	margin-bottom:160px;
}

.tmpl_career_highlight p {
	font-size:1.125rem;
	color:rgba(255,255,255,0.9);
	line-height:2.2;
}

.tmpl_career_highlight strong {
	color:#d4af37;
	font-weight:700;
}


/* ============================================
   ABOUT / CAREER PATH SP
============================================ */
@media screen and (max-width:768px) {

	/* ABOUT SP */
	.tmpl_about {
		padding:0 0 0;
	}

	.tmpl_about .tmpl_inner {
		padding-top:50px;
		padding-bottom:100px;
	}

	.tmpl_about_bg_color {
		top:auto;
		width:100%;
		height:40%;
		bottom:0;
	}

	.tmpl_about_grid {
		flex-direction:column;
		gap:30px;
	}

	.tmpl_about_photo {
		flex:none;
		width:100%;
		padding-top:0;
	}

	.tmpl_about_title {
		font-size:7vw;
		margin-bottom:25px;
	}

	.tmpl_about_catch p {
		font-size:4.5vw;
	}

	.tmpl_about_desc {
		font-size:3.8vw;
	}

	.tmpl_about::after {
		height:80px;
	}

	/* CAREER PATH SP */
	.tmpl_career {
		padding:80px 0 40px;
	}

	.tmpl_career_bg_text {
		font-size:25vw;
	}

	.tmpl_career_title {
		font-size:9vw;
	}

	.tmpl_career_lead p {
		font-size:3.8vw;
	}

	/* SP：丸とテキストを横並びの1行ずつに切り替え */
	.tmpl_career_steps_row {
		display:none;
	}

	.tmpl_career_steps_text {
		flex-direction:column;
		gap:0;
		padding-left:5%;
		max-width:100%;
		margin-bottom:50px;
	}

	/* 各ステップ：丸＋テキストの横並び */
	.tmpl_career_step_body {
		display:flex;
		align-items:flex-start;
		gap:20px;
		text-align:left;
		padding:0;
		position:relative;
	}

	/* 丸と丸をつなぐ縦線 */
	.tmpl_career_step_body:not(:last-child)::after {
		content:'';
		position:absolute;
		left:24px; /* 丸の中心（50px÷2=25px - border1px） */
		top:50px;  /* 丸の底辺 */
		width:2px;
		height:calc(100% - 20px);
		background:#d4af37;
		z-index:0;
	}

	/* SP用：各bodyの前に丸を表示 */
	.tmpl_career_step_body::before {
		content:attr(data-num);
		width:50px;
		height:50px;
		min-width:50px;
		border-radius:50%;
		border:2px solid #d4af37;
		display:flex;
		align-items:center;
		justify-content:center;
		font-family:'Bebas Neue', sans-serif;
		font-size:18px;
		color:#d4af37;
		background:#1a1a1a;
		flex-shrink:0;
		position:relative;
		z-index:1;
	}

	/* GOALだけゴールド塗り */
	.tmpl_career_step_body_goal::before {
		content:'GOAL';
		background:#d4af37;
		color:#1a1a1a;
		font-size:11px;
		font-weight:700;
		font-family:'Noto Sans JP', sans-serif;
		letter-spacing:0.05em;
		border:none;
	}

	/* タイトルと説明文を縦並びに */
	.tmpl_career_step_body_text {
		display:flex;
		flex-direction:column;
		padding:12px 0 30px;
	}

	.tmpl_career_step_title {
		font-size:5.5vw;
		margin-bottom:8px;
		white-space:normal;
	}

	.tmpl_career_step_desc {
		font-size:3.5vw;
	}

	.tmpl_career_highlight {
		padding:30px 5%;
		margin-bottom:100px;
	}

	.tmpl_career_highlight p {
		font-size:3.8vw;
	}

	.tmpl_career::after {
		height:80px;
	}
}

/* ============================================
   WORKセクション
============================================ */
.tmpl_work {
	background:#fff;
	padding:120px 0 140px;
	position:relative;
}

/* セクションヘッダー：左右2カラム */
.tmpl_work_header {
	display:flex;
	align-items:flex-end;
	gap:0;
	margin-bottom:80px;
}

.tmpl_work_header_left {
	flex-shrink:0;
	width:380px;
}

.tmpl_work_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.35em;
	color:#d4af37;
	margin-bottom:15px;
}

.tmpl_work_title {
	font-size:2.875rem;
	font-weight:900;
	color:#1a1a1a;
	letter-spacing:0.05em;
	line-height:1.3;
	white-space:nowrap;
}

.tmpl_work_header_right {
	flex:1;
	padding-bottom:10px;
	padding-left:40px;
}

.tmpl_work_lead {
	font-size:1.125rem;
	color:#333;
	line-height:2;
}

/* カード3枚横並び */
.tmpl_work_cards {
	display:flex;
	gap:40px;
}

.tmpl_work_card {
	flex:1;
	display:flex;
	flex-direction:column;
	box-shadow:0 4px 20px rgba(0,0,0,0.12);
}

/* テキストエリア：黒背景 */
.tmpl_work_card_body {
	background:#1a1a1a;
	padding:40px 30px;
	flex:1;
}

/* タイトル：ゴールドの横線付き */
.tmpl_work_card_title {
	font-size:1.375rem;
	font-weight:700;
	color:#fff;
	margin-bottom:20px;
	display:flex;
	align-items:center;
	gap:14px;
	letter-spacing:0.05em;
}

.tmpl_work_card_title::before {
	content:'';
	display:inline-block;
	width:24px;
	height:2px;
	background:#d4af37;
	flex-shrink:0;
}

.tmpl_work_card_desc {
	font-size:1rem;
	color:rgba(255,255,255,0.75);
	line-height:2;
}

/* ============================================
   WORK SP
============================================ */
@media screen and (max-width:768px) {
	.tmpl_work {
		padding:80px 0 100px;
	}

	.tmpl_work_header {
		flex-direction:column;
		align-items:flex-start;
		gap:20px;
		margin-bottom:50px;
	}

	.tmpl_work_header_left {
		width:auto;
	}

	.tmpl_work_header_right {
		padding-left:0;
	}

	.tmpl_work_title {
		font-size:8vw;
		white-space:normal;
	}

	.tmpl_work_lead {
		font-size:3.8vw;
		line-height:1.9;
	}

	.tmpl_work_cards {
		flex-direction:column;
		gap:25px;
	}

	.tmpl_work_card_body {
		padding:25px 20px;
	}

	.tmpl_work_card_title {
		font-size:5.5vw;
		margin-bottom:12px;
	}

	.tmpl_work_card_desc {
		font-size:3.8vw;
	}
}

/* ============================================
   INTERVIEWセクション
============================================ */
.tmpl_interview {
	background:#1a1a1a;
	color:#fff;
	padding:260px 0 60px;
	position:relative;
	overflow:hidden;
}

/* 上部の斜め：左が上・右が下（左から右に下がる） */
.tmpl_interview::before {
	content:'';
	position:absolute;
	top:-1px;
	left:0;
	width:100%;
	height:160px;
	background:#fff;
	clip-path:polygon(0 0, 100% 0, 100% 100%, 0 40%);
	z-index:1;
}

/* 下部の斜め：左上→右下・NEWSセクションの背景色に合わせる */
.tmpl_interview::after {
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:160px;
	background:#f5f5f5;
	clip-path:polygon(0 40%, 100% 100%, 100% 100%, 0 100%);
	z-index:1;
}

/* セクションヘッダー：中央寄せ */
.tmpl_interview_header {
	text-align:center;
	margin-bottom:80px;
	position:relative;
	z-index:2;
}

.tmpl_interview_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.35em;
	color:#d4af37;
	margin-bottom:15px;
}

.tmpl_interview_title {
	font-size:2.875rem;
	font-weight:900;
	color:#fff;
	letter-spacing:0.05em;
	line-height:1.3;
}

/* インタビューアイテム */
.tmpl_interview_item {
	display:flex;
	align-items:flex-start;
	margin-bottom:80px;
	position:relative;
	z-index:2;
}

.tmpl_interview_item:last-child {
	margin-bottom:160px;
}

/* 写真 */
.tmpl_interview_photo {
	flex:0 0 300px;
	position:relative;
	z-index:2;
}

.tmpl_interview_photo img {
	width:100%;
	height:auto;
	display:block;
}

/* テキストボックス：濃いグレー背景・写真に重なる */
.tmpl_interview_body {
	flex:1;
	background:#2a2a2a;
	padding:70px 70px 70px 100px;
	margin-left:-40px;
	margin-top:60px;
	position:relative;
	z-index:1;
}

/* 2件目：逆レイアウト */
.tmpl_interview_item_reverse {
	flex-direction:row-reverse;
}

.tmpl_interview_item_reverse .tmpl_interview_body {
	padding:70px 100px 70px 70px;
	margin-left:0;
	margin-right:-40px;
}

/* 名前＋役職 */
.tmpl_interview_name_wrap {
	display:flex;
	align-items:baseline;
	gap:20px;
	margin-bottom:60px;
}

.tmpl_interview_name {
	font-size:1.875rem;
	font-weight:900;
	color:#d4af37;
	letter-spacing:0.1em;
	line-height:1;
}

.tmpl_interview_role {
	font-size:1rem;
	color:rgba(255,255,255,0.5);
	letter-spacing:0.05em;
}

/* クォート本文 */
.tmpl_interview_quote {
	position:relative;
	padding-left:30px;
	padding-right:30px;
}

/* 開きクォートマーク */
.tmpl_interview_quote::before {
	content:'\201C';
	position:absolute;
	top:-10px;
	left:0;
	font-family:'Bebas Neue', sans-serif;
	font-size:5rem;
	color:#7d6a2e;
	line-height:1;
}

/* 閉じクォートマーク：右寄せ */
.tmpl_interview_quote::after {
	content:'\201D';
	display:block;
	text-align:right;
	font-family:'Bebas Neue', sans-serif;
	font-size:5rem;
	color:#7d6a2e;
	line-height:0.5;
	margin-top:10px;
}

.tmpl_interview_quote p {
	padding:20px 0;
	font-size:1.125rem;
	color:rgba(255,255,255,0.85);
	line-height:2.2;
}

/* ============================================
   INTERVIEW SP
============================================ */
@media screen and (max-width:768px) {
	.tmpl_interview {
		padding:160px 0 40px;
	}

	.tmpl_interview::before {
		height:80px;
	}

	.tmpl_interview::after {
		height:80px;
	}

	.tmpl_interview_header {
		margin-bottom:50px;
	}

	.tmpl_interview_title {
		font-size:8vw;
	}

	.tmpl_interview_item {
		flex-direction:column;
		margin-bottom:50px;
	}

	.tmpl_interview_item:last-child {
		margin-bottom:80px;
	}

	.tmpl_interview_item_reverse {
		flex-direction:column;
	}

	.tmpl_interview_photo {
		flex:none;
		width:60%;
		max-width:240px;
	}

	.tmpl_interview_body {
		margin-left:0;
		margin-top:-30px;
		margin-right:0;
		padding:40px 20px 30px 20px;
		width:100%;
	}

	.tmpl_interview_item_reverse .tmpl_interview_body {
		margin-right:0;
		padding:40px 20px 30px 20px;
	}

	/* SP：名前と役職を縦並び */
	.tmpl_interview_name_wrap {
		flex-direction:column;
		align-items:flex-start;
		gap:8px;
		margin-bottom:30px;
	}

	.tmpl_interview_name {
		font-size:5.5vw;
	}

	.tmpl_interview_role {
		font-size:3.2vw;
	}

	/* SP：クォート上の余白を広げる */
	.tmpl_interview_quote {
		margin-top:15px;
	}

	.tmpl_interview_quote p {
		font-size:3.8vw;
	}

	.tmpl_interview_quote::before {
		font-size:36px;
	}

	.tmpl_interview_quote::after {
		font-size:36px;
	}
}

/* ============================================
   NEWSセクション
============================================ */
.tmpl_news {
	background:#f5f5f5;
	padding:120px 0 140px;
	position:relative;
	overflow:hidden;
}

/* 背景の薄い「NEWS」文字：上下センター */
.tmpl_news_bg_text {
	position:absolute;
	top:50%;
	right:-40px;
	transform:translateY(-50%);
	font-family:'Bebas Neue', sans-serif;
	font-size:20vw;
	font-weight:400;
	color:rgba(26,26,26,0.04);
	white-space:nowrap;
	letter-spacing:0.1em;
	pointer-events:none;
	z-index:0;
	line-height:1;
}

/* セクションヘッダー：中央寄せ */
.tmpl_news_header {
	text-align:center;
	margin-bottom:80px;
	position:relative;
	z-index:1;
}

.tmpl_news_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.35em;
	color:#d4af37;
	margin-bottom:15px;
}

.tmpl_news_title {
	font-size:2.875rem;
	font-weight:900;
	color:#1a1a1a;
	letter-spacing:0.05em;
	line-height:1.3;
}

/* ニュースリスト */
.tmpl_news_list {
	list-style:none;
	position:relative;
	z-index:1;
	max-width:900px;
	margin:0 auto 60px;
}

/* 各行 */
.tmpl_news_item {
	border-bottom:1px solid #ddd;
}

.tmpl_news_item:first-child {
	border-top:1px solid #ddd;
}

.tmpl_news_link {
	display:flex;
	align-items:center;
	gap:24px;
	padding:48px 20px;
	text-decoration:none;
	color:inherit;
	transition:background 0.3s;
}

.tmpl_news_link:hover {
	background:rgba(0,0,0,0.04);
}

/* 日付 */
.tmpl_news_date {
	font-size:0.875rem;
	color:#888;
	letter-spacing:0.05em;
	flex-shrink:0;
	min-width:90px;
}

/* カテゴリバッジ */
.tmpl_news_cat {
	display:inline-block;
	padding:5px 14px;
	font-size:0.8rem;
	font-weight:700;
	letter-spacing:0.05em;
	flex-shrink:0;
	min-width:90px;
	text-align:center;
	color:#1a1a1a;
}

.tmpl_news_cat_tryout {
	background:#1a1a1a;
	color:#fff;
}

.tmpl_news_cat_info {
	background:#d4af37;
	color:#1a1a1a;
}

.tmpl_news_cat_report {
	background:#ccc;
	color:#1a1a1a;
}

/* タイトル */
.tmpl_news_text {
	flex:1;
	font-size:1rem;
	font-weight:500;
	color:#1a1a1a;
	letter-spacing:0.03em;
}

/* 矢印 */
/* imgタグが残存する場合の非表示 */
.tmpl_news_arrow {
	display:none;
}

/* 一覧ボタン */
.tmpl_news_btn_wrap {
	text-align:center;
	position:relative;
	z-index:1;
}

.tmpl_news_btn {
	display:inline-flex;
	align-items:center;
	gap:0;
	padding:0 40px;
	height:64px;
	background:transparent;
	color:#1a1a1a;
	font-size:1rem;
	font-weight:700;
	text-decoration:none;
	border:1px solid #1a1a1a;
	letter-spacing:0.05em;
	transition:background 0.3s, color 0.3s;
}

.tmpl_news_btn:hover {
	background:#1a1a1a;
	color:#fff;
}

.tmpl_news_btn::after {
	content:'';
	display:inline-block;
	width:30px;
	height:12px;
	margin-left:14px;
	background-image:url(../images/arrow_primary.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	flex-shrink:0;
	transition:background-image 0.3s;
}

.tmpl_news_btn:hover::after {
	background-image:url(../images/arrow_white.png);
}

/* imgタグが残存する場合の非表示 */
.tmpl_news_btn_arrow_default,
.tmpl_news_btn_arrow_hover {
	display:none;
}

/* ============================================
   NEWS SP
============================================ */
@media screen and (max-width:768px) {
	.tmpl_news {
		padding:80px 0 100px;
	}

	.tmpl_news_bg_text {
		font-size:30vw;
		right:-20px;
	}

	.tmpl_news_title {
		font-size:8vw;
	}

	.tmpl_news_list {
		margin-bottom:40px;
	}

	.tmpl_news_link {
		flex-wrap:wrap;
		gap:0;
		padding:20px 10px;
		align-items:center;
		position:relative;
		padding-right:40px; /* 矢印分の余白 */
	}

	/* 上段左：日付 */
	.tmpl_news_date {
		font-size:3.2vw;
		min-width:auto;
	}

	/* 上段左：アイコン */
	.tmpl_news_cat {
		font-size:3vw;
		padding:4px 10px;
		min-width:auto;
		margin-left:10px;
	}

	/* 下段：タイトル（全幅・改行） */
	.tmpl_news_text {
		font-size:4vw;
		width:100%;
		flex:none;
		margin-top:8px;
	}

	.tmpl_news_btn {
		font-size:4vw;
		height:14vw;
		padding:0 6vw;
		box-sizing:border-box;
	}
}


/* ============================================
   RECRUITセクション
============================================ */
.tmpl_recruit {
	background:#fff;
	padding:120px 0 140px;
	position:relative;
	overflow:hidden;
}

/* 薄い黄色背景：下半分に */
.tmpl_recruit_bg_color {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:55%;
	background:#f5f0e4;
	z-index:0;
}

.tmpl_recruit .tmpl_inner {
	position:relative;
	z-index:1;
}

/* セクションヘッダー：中央寄せ */
.tmpl_recruit_header {
	text-align:center;
	margin-bottom:60px;
}

.tmpl_recruit_label {
	font-family:'Bebas Neue', sans-serif;
	font-size:1.125rem;
	letter-spacing:0.35em;
	color:#d4af37;
	margin-bottom:15px;
}

.tmpl_recruit_title {
	font-size:2.875rem;
	font-weight:900;
	color:#1a1a1a;
	letter-spacing:0.05em;
	line-height:1.3;
}

/* 2カラムグリッド */
.tmpl_recruit_grid {
	display:flex;
	gap:60px;
	align-items:stretch;
}

/* ============================================
   左カード：応募資格
============================================ */
.tmpl_recruit_card_left {
	flex:1;
	background:#fff;
	box-shadow:0 4px 30px rgba(0,0,0,0.08);
	padding:80px 60px 90px;
}

.tmpl_recruit_card_title {
	font-size:1.5rem;
	font-weight:900;
	color:#1a1a1a;
	margin-bottom:20px;
	letter-spacing:0.05em;
}

/* ゴールドの下線 */
.tmpl_recruit_card_title::after {
	content:'';
	display:block;
	width:100%;
	height:2px;
	background:#d4af37;
	margin-top:16px;
}

/* リスト */
.tmpl_recruit_list {
	list-style:none;
	margin-top:40px;
	display:flex;
	flex-direction:column;
	gap:28px;
}

.tmpl_recruit_item {
	display:flex;
	align-items:center;
	gap:24px;
}

/* グレーバッジ */
.tmpl_recruit_tag {
	display:inline-block;
	background:#f0f0f0;
	color:#1a1a1a;
	font-size:0.875rem;
	font-weight:700;
	padding:6px 16px;
	min-width:70px;
	text-align:center;
	flex-shrink:0;
	letter-spacing:0.05em;
}

.tmpl_recruit_item_text {
	font-size:1rem;
	color:#333;
	line-height:1.6;
}

/* ============================================
   右カード：次回トライアウト
============================================ */
.tmpl_recruit_card_right {
	flex:1;
	background:#1a1a1a;
	padding:80px 60px 80px;
	color:#fff;
}

.tmpl_recruit_tryout_label {
	font-size:1.25rem;
	font-weight:700;
	color:#d4af37;
	margin-bottom:30px;
	letter-spacing:0.05em;
}

/* 日付：大きくBebas Neue */
.tmpl_recruit_tryout_date {
	font-family:'Bebas Neue', sans-serif;
	font-size:4.5rem;
	font-weight:400;
	color:#fff;
	letter-spacing:0.05em;
	line-height:1;
	margin-bottom:40px;
}

/* 注意書き */
.tmpl_recruit_tryout_notes {
	list-style:none;
	margin-bottom:50px;
	display:flex;
	flex-direction:column;
	gap:8px;
}

.tmpl_recruit_tryout_notes li {
	font-size:0.875rem;
	color:rgba(255,255,255,0.6);
	line-height:1.7;
}

/* ボタン */
.tmpl_recruit_btn {
	display:inline-flex;
	align-items:center;
	gap:0;
	padding:0 40px;
	height:64px;
	background:#d4af37;
	color:#1a1a1a;
	font-size:1rem;
	font-weight:700;
	text-decoration:none;
	letter-spacing:0.05em;
	transition:background 0.3s;
	white-space:nowrap;
	width:100%;
	box-sizing:border-box;
	justify-content:center;
}

.tmpl_recruit_btn:hover {
	background:#e5c158;
	color:#1a1a1a;
}

.tmpl_recruit_btn::after {
	content:'';
	display:inline-block;
	width:30px;
	height:12px;
	margin-left:14px;
	background-image:url(../images/arrow_primary.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	flex-shrink:0;
}

/* imgタグが残存する場合の非表示 */
.tmpl_recruit_btn_arrow {
	display:none;
}

/* ============================================
   RECRUIT SP
============================================ */
@media screen and (max-width:768px) {
	.tmpl_recruit {
		padding:80px 0 100px;
	}

	.tmpl_recruit_bg_color {
		height:60%;
	}

	.tmpl_recruit_title {
		font-size:8vw;
	}

	.tmpl_recruit_grid {
		flex-direction:column;
		gap:30px;
	}

	.tmpl_recruit_card_left {
		padding:40px 30px 50px;
	}

	.tmpl_recruit_card_title {
		font-size:5.5vw;
	}

	.tmpl_recruit_list {
		gap:20px;
		margin-top:30px;
	}

	.tmpl_recruit_tag {
		font-size:3.2vw;
		padding:5px 10px;
		min-width:55px;
	}

	.tmpl_recruit_item_text {
		font-size:3.8vw;
	}

	.tmpl_recruit_card_right {
		padding:40px 30px 50px;
	}

	.tmpl_recruit_tryout_label {
		font-size:4.5vw;
		margin-bottom:20px;
	}

	.tmpl_recruit_tryout_date {
		font-size:13vw;
		margin-bottom:30px;
	}

	.tmpl_recruit_tryout_notes li {
		font-size:3.2vw;
	}

	.tmpl_recruit_btn {
		font-size:4vw;
		height:14vw;
	}
}