@charset "UTF-8";
/* ========================================================================
   introduction.css : はじめての方にページ
   ======================================================================== */


/* ---------- ページ固有の mvLower 背景画像 ---------- */
.mvLower {
	background-image: url("/img/introduction/bg_mv.jpg");
}


/* ============================================================
   このサイトのご案内（2カラム）
   - 画像アスペクト 5:4（横長）
   ============================================================ */
.intro__guide {
	padding: 100px 0 80px;
}
.intro__guide-inner {
	display: flex;
	gap: 48px;
	align-items: stretch;
}

.intro__guide-left {
	width: 50%;
}
.intro__guide-h2 {
	font-size: 21px;
	font-weight: 700;
	color: var(--color-corp);
	margin-bottom: 24px;
}
.intro__guide-txt {
	font-size: 16px;
	color: #333;
	line-height: 1.95;
	margin-bottom: 32px;
}
.intro__guide-btn {
	margin: 0;
}

.intro__guide-img {
	position: relative;
	width: 50%;
	background-color: #d9d9d9;
	aspect-ratio: 5 / 4;          /* 横長に変更 */
	overflow: hidden;
	margin: 0;
}
.intro__guide-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.intro__guide-img-deco {
	position: absolute;
	right: 16px;
	top: 0;
	font-family: var(--font-en);
	font-size: 70px;
	font-weight: 700;
	color: rgba(255,255,255,.3);
	writing-mode: vertical-rl;
	letter-spacing: .04em;
	pointer-events: none;
}
.intro__guide-ph {
	position: absolute;
	right: 18px;
	bottom: 14px;
	font-family: var(--font-en);
	font-size: 12px;
	color: #FFF;
	letter-spacing: .15em;
	z-index: 2;
}


/* ============================================================
   支援内容（上下構造：上=見出し+テキスト / 下=ボタン+4画像）
   - 画像アスペクト 10:19、各画像 max-width 140px
   - テキストは下のボタンより 120px 左に広く取る
   ============================================================ */
.intro__service {
	padding: 80px 0;
}

.intro__service-inner {
	display: block;
}

/* === 上：見出し + テキスト ===
   テキストの左カラムが下のボタンより 120px 狭くなるよう調整 */
.intro__service-top {
	display: flex;
	gap: 48px;
	align-items: flex-start;
	margin-bottom: 40px;
}
.intro__service-top-left {
	width: 22%;     /* 下のボタン領域 28% より 120px 狭い */
	flex-shrink: 0;
}
.intro__service-top-left .lower-secH2 {
	margin: 0;
	flex-wrap: wrap;
}
.intro__service-top-right {
	flex: 1;
	min-width: 0;
}
.intro__service-txt {
	font-size: 16px;
	color: #333;
	line-height: 1.95;
	margin: 0;
}

/* === 下：ボタン + 4画像 === */
.intro__service-bottom {
	display: flex;
	gap: 60px;
	align-items: flex-end;
}
.intro__service-bottom-left {
	width: 30%;
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
}
.intro__service-btn {
	margin: 0;
	align-self: flex-start;
}
.intro__service-bottom-right {
	flex: 1;
	min-width: 0;
}

/* 画像4枚（各最大140px、左寄せ） */
.intro__service-imgs {
	display: flex;
	gap: 15px;
	justify-content: flex-end;
}
.intro__service-img {
	position: relative;
	flex: 1 1 0;
	max-width: 140px;
	aspect-ratio: 10 / 19;
	background-color: #d9d9d9;
	margin: 0;
	overflow: hidden;
}
.intro__service-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.intro__service-ph {
	position: absolute;
	right: 10px;
	bottom: 8px;
	font-family: var(--font-en);
	font-size: 11px;
	color: #FFF;
	letter-spacing: .15em;
}


/* ============================================================
   支援事例（緑バンド・フルブリード）
   - 左：見出し+テキスト+ボタン（wrapper_small左に揃える）
   - 右：スライダー（画面右端まで延伸、4枚表示で4枚目右半分50%はみ出し）
   - スライダー画像アスペクト 5:6
   ============================================================ */
.intro__works {
	background-color: var(--color-corp);
	padding: 80px 0 100px 0;
	/* section は main 内で完結（margin-right 負値は使わない）。
	   緑バンドは main 幅いっぱい（sidebar右〜viewport右）に広がる。 */
	color: #FFF;
	overflow: hidden;
}

/* inner: wrapper_small（最大960px）に戻す */
.intro__works-inner {
	display: flex;
	gap: 48px;
	align-items: stretch;
	position: relative;
}

/* 左カラム：48%幅 */
.intro__works-left {
	width: 48%;
	flex-shrink: 0;
}
.intro__works-h2 {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 24px;
}
.intro__works-h2-ja {
	font-size: 21px;
	font-weight: 700;
	color: #FFF;
}
.intro__works-h2-bar {
	font-size: 16px;
	color: #FFF;
}
.intro__works-h2-en {
	font-family: var(--font-en);
	font-size: 14px;
	color: #FFF;
	letter-spacing: .12em;
	font-weight: 500;
}
.intro__works-txt {
	font-size: 16px;
	color: #FFF;
	line-height: 1.85;
	margin-bottom: 32px;
}
.intro__works-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 290px;
	height: 47px;
	background-color: transparent;
	border: 1.5px solid #FFF;
	border-radius: 999px;
	color: #FFF;
	font-size: 16px;
	font-weight: 700;
	transition: .25s;
}
.intro__works-btn:hover {
	background-color: #FFF;
	color: var(--color-corp);
}

/* 右カラム：左カラムの右側〜画面右端まで */
.intro__works-right {
	flex: 1;
	position: relative;
	min-width: 0;
}

/* ナビゲーション：◀ ▶ Unicode（TOP works と同形）。
   right はviewport右端から20pxの位置に配置（wrapper_small右端より外側にはみ出す） */
.intro__works-nav {
	position: absolute;
	top: 9px;
	right: calc(20px - (100vw - var(--sidebar-width) - 960px) / 2);
	display: flex;
	gap: 12px;
}
@media screen and (max-width: 1010px){
	.intro__works-nav {
		right: calc(20px - (100vw - var(--sidebar-width)) * 0.025);
	}
}
.intro__works-arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid #FFF;
	background-color: transparent;
	color: #FFF;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: 1;
	padding: 0;
	transition: .2s;
}
.intro__works-arrow:hover {
	background-color: #FFF;
	color: var(--color-corp);
}
.intro__works-arrow--prev::before {
	content: "\25C0";  /* ◀ */
}
.intro__works-arrow--next::before {
	content: "\25B6";  /* ▶ */
}

/* スライダー本体：右側に延伸して画面右端まで広がる
   3.5枚分の幅で4枚並ぶ → 4枚目の右半分50%は画面外 */
.intro__works-cards {
	overflow: hidden;
	margin-top: 65px;                                                       /* スライダー本体を65px下に (+5) */
	width: calc(100% + (100vw - var(--sidebar-width) - 960px) / 2);          /* 右側に延伸 */
}
.intro__works-track {
	display: flex;
	gap: 12px;
	will-change: transform;
}
@media screen and (max-width: 1010px){
	.intro__works-cards {
		width: calc(100% + ((100vw - var(--sidebar-width)) * 0.025));
	}
}
.intro__works-card {
	position: relative;
	flex: 0 0 calc((100% - 36px) / 3.5);  /* 3.5枚分 = 4枚目右半分50%はみ出し */
	aspect-ratio: 5 / 6;                  /* 縦長 5:6 */
	background-color: #b8d6d2;
	margin: 0;
	overflow: hidden;
}
.intro__works-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.intro__works-ph {
	position: absolute;
	right: 10px;
	bottom: 8px;
	font-family: var(--font-en);
	font-size: 11px;
	color: #FFF;
	letter-spacing: .15em;
}


/* ============================================================
   FAQ 誘導
   ============================================================ */
.intro__faq {
	padding: 150px 0;             /* 80px 0 100px → 150px 0 */
}
.intro__faq .lower-secH2 {
	margin-bottom: 0;
}


/* ============================================================
   SP（〜767px）
   ============================================================ */
@media screen and (max-width: 767px){
	
	/* 共通のボタンスタイリング */
	.btn {
		margin: 0 auto 20px auto;
		display: block;
		text-align: center;
		line-height: 35px;
	}
	
	/* このサイトのご案内：縦積み */
	.intro__guide {
		padding: 60px 0 50px;
	}
	.intro__guide-inner {
		flex-direction: column;
		gap: 28px;
	}
	.intro__guide-left,
	.intro__guide-img {
		width: 100%;
	}
	.intro__guide-h2 {
		font-size: 18px;
		margin-bottom: 18px;
		text-align: center;
	}
	.intro__guide-txt {
		font-size: 14px;
		line-height: 1.85;
		margin-bottom: 24px;
	}
	
	
	
	

	/* 支援内容：上下ともに縦積み */
	.intro__service {
		padding: 50px 0;
	}
	.intro__service-top,
	.intro__service-bottom {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 30px;
	}
	.intro__service-bottom {
		margin-bottom: 0;
	}
	.intro__service-top-left,
	.intro__service-top-right,
	.intro__service-bottom-left,
	.intro__service-bottom-right {
		width: 100%;
	}
	.intro__service-txt {
		font-size: 14px;
		line-height: 1.85;
	}
	.intro__service-imgs {
		gap: 8px;
		justify-content: space-between;
	}
	.intro__service-img {
		max-width: none;
	}

	/* 支援事例（緑バンド） */
	.intro__works {
		padding: 50px 0;
	}
	.intro__works-inner {
		flex-direction: column;
		gap: 30px;
	}
	.intro__works-left {
		width: 100%;
	}
	.intro__works-h2-ja {
		font-size: 18px;
	}
	.intro__works-h2-en {
		font-size: 12px;
	}
	.intro__works-txt {
		font-size: 14px;
		line-height: 1.85;
		margin-bottom: 24px;
	}
	.intro__works-btn {
		width: 220px;
		height: 44px;
		font-size: 14px;
		display: block;
		margin: 0 auto;
		line-height: 40px;
		text-align: center;
	}
	.intro__works-right {
		width: 100%;
	}
	.intro__works-nav {
		position: static;
		justify-content: flex-end;
		right: auto;
		top: auto;
		margin-bottom: 16px;
	}
	.intro__works-cards {
		margin-top: 0;
		width: 100%;
	}
	/* SP時：2.5枚表示（2枚＋3枚目の左半分） */
	.intro__works-card {
		flex: 0 0 calc((100% - 24px) / 2.5);
	}
	.intro__works-arrow {
		width: 36px;
		height: 36px;
		font-size: 16px;
	}

	/* FAQ 誘導 */
	.intro__faq {
		padding: 60px 0;
	}
}


/* === 自動生成: PC→SPフォントマッピング統一 === */
@media screen and (max-width: 767px){
	.intro__works-h2-bar {
		font-size: 14px;
	}
}
