@charset "utf-8";
/* =========================================================
   TOPページ リニューアル（2026.10）
   index.php で top.css の後に読み込み。
   既存の style.css / top.css は変更せず、ここで上書きします。
   ・新規ブロック … .top_mv / .top_sec
   ・お知らせ（#sec5）… HTMLはそのまま、見た目のみ上書き
========================================================= */

/* ---------- 共通 ---------- */
.top_mv,
.home #main .top_sec{
	font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
	color: #222a38;
}
.top_mv *,
.home #main .top_sec *{
	box-sizing: border-box;
}
.top_mv p, .top_mv h1, .top_mv h2, .top_mv h3,
.home #main .top_sec p, .home #main .top_sec h2, .home #main .top_sec h3{
	background: none; /* style.css の p,h1…{background:url(blank.png)} を打ち消し */
}
.top_mv .ico,
.home #main .top_sec .ico{
	display: inline-block;
	flex-shrink: 0;
	vertical-align: middle;
}
.home #main .top_sec{
	padding: 76px 0 92px;
	background: #fff;
}
.home #main .top_sec.bg_gray{
	background: #f4f4f9;
}

/* 見出し（h2.sub_b を上書き。英字は data-en 属性から表示） */
.home #main .top_sec .sub_b{
	margin: 0 0 40px;
	padding: 0;
	background: none;
	color: #1d2087;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}
.home #main .top_sec .sub_b::before{
	content: attr(data-en);
	display: block;
	margin-bottom: 4px;
	color: #4b4db0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.16em;
}
.home #main .top_sec .sub_b span{
	padding: 0;
	border-left: none;
}
.home #main .top_sec .lead{
	margin: -30px 0 34px;
	font-size: 16px;
	line-height: 1.6;
}

/* =========================================================
   MV
========================================================= */
.top_mv{
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #fff 0%, #eeeef8 100%);
	--mv-h: 190px;     /* パネル1段の高さ */
	--mv-slope: 43px;  /* 斜めのずれ幅 */
	--mv-w: 55.3%;     /* パネルの幅（一番下の段） */
}
.top_mv .mv_main{
	position: relative;
	height: calc(var(--mv-h) * 3 + 6px);
}

/* キャッチ（左側の余白の中央に配置・文字は左揃え） */
.top_mv .mv_copy{
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - var(--mv-w));
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
}
.top_mv .mv_copy h1{
	margin: 0;
	color: #1d2087;
	font-weight: 700;
	line-height: 1.31;
}
.top_mv .mv_copy h1 span{
	display: block;
}
.top_mv .mv_copy h1 .l1{
	font-size: 48px;
	letter-spacing: 0.04em;
}
.top_mv .mv_copy h1 .l2{
	font-size: 58px;
	letter-spacing: 0.06em;
}
.top_mv .mv_copy .en{
	margin: 8px 0 0 4px;
	padding-bottom: 16px;
	color: #4b4db0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.6;
	position: relative;
}
.top_mv .mv_copy .en::after{
	content: "";
	position: absolute;
	left: -1px;
	bottom: 0;
	width: 184px;
	height: 1px;
	background: #c6c7e8;
}
.top_mv .mv_copy .catch{
	margin: 20px 0 0;
	color: #1d2087;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.08em;
}
.top_mv .mv_copy .txt{
	margin: 10px 0 0 -3px;
	font-size: 15px;
	line-height: 1.85;
	letter-spacing: 0.03em;
}

/* 右側の3パネル */
.top_mv .mv_panels{
	position: absolute;
	top: 0;
	right: 0;
	width: var(--mv-w);
	margin: 0;
	padding: 0;
}
.top_mv .mv_panels li{
	margin-bottom: 3px;
}
.top_mv .mv_panel{
	position: relative;
	display: block;
	height: var(--mv-h);
	color: #fff;
	text-decoration: none;
	--x0: 0px;
	clip-path: polygon(calc(var(--x0) + var(--mv-slope)) 0, 100% 0, 100% 100%, var(--x0) 100%);
}
.top_mv .mv_panel.p1{ --x0: calc(var(--mv-slope) * 2); background: linear-gradient(90deg, #1d2087 0%, #5a5cc2 100%); --fade: #5a5cc2; }
.top_mv .mv_panel.p2{ --x0: var(--mv-slope);           background: linear-gradient(90deg, #03325c 0%, #3f8ab3 100%); --fade: #3f8ab3; }
.top_mv .mv_panel.p3{ --x0: 0px;                       background: linear-gradient(90deg, #24421d 0%, #6f8b62 100%); --fade: #6f8b62; }
.top_mv .mv_panel .photo{
	position: absolute;
	top: 0;
	right: 0;
	width: 42.5%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.top_mv .mv_panel .photo::before{ /* 写真の左端をパネル色になじませる */
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 32%;
	height: 100%;
	background: linear-gradient(90deg, var(--fade) 0%, rgba(255,255,255,0) 100%);
	background: linear-gradient(90deg, var(--fade) 0%, color-mix(in srgb, var(--fade) 0%, transparent) 100%);
}
.top_mv .mv_panel .body{
	position: absolute;
	top: 0;
	left: calc(var(--x0) + 62px);
	width: calc(66% - var(--x0) - 62px); /* 写真の左端（パネル色になじませた部分）まで使える */
	max-width: 330px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.top_mv .mv_panel .label{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.6;
}
.top_mv .mv_panel .label .ico{
	width: 36px;
	height: 36px;
}
.top_mv .mv_panel .ttl{
	white-space: nowrap; /* 「…ソリューション」が途中で折り返さないように */
	margin-top: 6px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.55;
}
.top_mv .mv_panel .desc{
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.7;
}
.top_mv .mv_panel .more{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}
.top_mv .mv_panel .more .ico{
	width: 18px;
	height: 18px;
}
.top_mv a.mv_panel:hover{
	opacity: 0.85;
}

/* 下段（業界・タグライン） */
.top_mv .mv_foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
	padding: 0 max(30px, calc((100% - 1100px) / 2)); /* 下のセクションの本文幅（.inner）に揃える */
	border-top: 1px solid #d9d9ec;
}
.top_mv .mv_foot ul{
	display: flex;
	gap: 34px;
	margin: 0;
	padding: 0;
}
.top_mv .mv_foot li{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}
.top_mv .mv_foot li .ico{
	width: 28px;
	height: 28px;
	color: #1d2087;
}
.top_mv .mv_foot .tagline{
	margin: 0;
	text-align: right;
}
.top_mv .mv_foot .tagline span{
	display: block;
}
.top_mv .mv_foot .tagline .ja{
	color: #1d2087;
	font-size: 16.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
}
.top_mv .mv_foot .tagline .en{
	color: #56607a;
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

/* =========================================================
   OUR BUSINESS
========================================================= */
.home #main .top_ob{
	position: relative;
	overflow: hidden;
	padding: 88px 0 0; /* 帯（ob_band）の下に余白を作らない */
}
.home #main .top_ob::before{ /* 右上の地球イメージ */
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 61%;
	max-width: 1000px;
	aspect-ratio: 692 / 397;
	background: url(../images/home/renewal/ob_bg.jpg) no-repeat right top / cover;
	opacity: 0.55;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}
.home #main .top_ob .inner{
	position: relative;
}
.home #main .top_ob .ob_head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 50px;
}
.home #main .top_ob .ob_head .sub_b{
	margin: 0;
	line-height: 1.66;
}
.home #main .top_ob .ob_head .ob_txt{
	width: 340px;
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.88;
	letter-spacing: 0.03em;
}
.home #main .top_ob .ob_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin: 0;
	padding: 0;
}
.home #main .top_ob .ob_list li{
	--c: #1d2087;
	--c2: #4b4db0;
}
.home #main .top_ob .ob_list li.c2{ --c: #1d5785; --c2: #3a83ad; }
.home #main .top_ob .ob_list li.c3{ --c: #2f5126; --c2: #5f7d52; }
.home #main .top_ob .ob_list .ob_img{ /* 画像もリンク */
	display: block;
	text-decoration: none;
}
.home #main .top_ob .ob_list h3 a{ /* 見出しもリンク */
	color: inherit;
	text-decoration: none;
}
.home #main .top_ob .ob_list figure{
	position: relative;
	margin: 0;
	aspect-ratio: 298 / 188;
	overflow: hidden;
}
.home #main .top_ob .ob_list figure img{
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
.home #main .top_ob .ob_list figcaption{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 6px 13px;
	background: var(--c);
	background: color-mix(in srgb, var(--c) 88%, transparent);
	color: #fff;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.6;
}
.home #main .top_ob .ob_list .num{
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 22px 0 0;
	color: var(--c2);
	font-size: 27.5px;
	font-weight: 700;
	line-height: 1.2;
}
.home #main .top_ob .ob_list .num span{
	color: #56607a;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.home #main .top_ob .ob_list h3{
	margin: 6px 0 0;
	color: var(--c);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
}
.home #main .top_ob .ob_list .desc{
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.78;
}
.home #main .top_ob .ob_list .tags{
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid #d9d9ec;
	color: var(--c2);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.83;
}
.home #main .top_ob .ob_list .more{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 20px;
	color: var(--c);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
}
.home #main .top_ob .ob_list .more .ico{
	width: 18px;
	height: 18px;
}
.home #main .top_ob .ob_band{
	margin: 66px 0 0;
	padding: 23px 20px;
	background: #1d2087;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

/* =========================================================
   技術・製品から探す（既存の .product_box ul.li_index を上書き）
========================================================= */
.home #main .top_tech .product_box ul{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 23px 35px;
	margin: 0;
	padding: 0;
}
.home #main .top_tech .li_index li{
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	background: #fff;
}
.home #main .top_tech .li_index li figure{
	aspect-ratio: 294 / 200;
	overflow: hidden;
}
.home #main .top_tech .li_index li figure a,
.home #main .top_tech .li_index li figure img{
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
.home #main .top_tech .li_index li div{
	padding: 0;
}
.home #main .top_tech .li_index li div h3{
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}
.home #main .top_tech .li_index li div h3 a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 65px;
	padding: 10px 18px 10px 19px;
	color: #222a38;
	text-decoration: none;
}
.home #main .top_tech .li_index li div h3 a::after{ /* 矢印 */
	content: "";
	flex-shrink: 0;
	width: 21px;
	height: 21px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231d2087' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 7.8h9.8M9.2 11.1l3.3-3.3-3.3-3.3'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* =========================================================
   導入・開発事例紹介（既存の #sec3 の書き方を流用）
========================================================= */
.home #main .top_case #sec3{
	padding: 0;
}
.home #main .top_case #sec3 ul.flex{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 47px 28px;
	margin: 0;
	padding: 0;
}
.home #main .top_case #sec3 li.li50k{
	width: auto;
	margin: 0;
}
.home #main .top_case #sec3 .youtube{
	margin-bottom: 16px;
	background: #000;
}
.home #main .top_case #sec3 p{
	margin: 0;
	padding: 0;
}
.home #main .top_case #sec3 p.ttl{
	margin: 0;
	color: #222a38;
	font-size: 17.5px;
	font-weight: 700;
	line-height: 1.6;
}
.home #main .top_case #sec3 p.desc{
	margin-top: 4px;
	color: #56607a;
	font-size: 15px;
	line-height: 1.65;
}

/* =========================================================
   お知らせ（#sec5）
   ※ HTMLは従来どおり。ここでは色・余白・線のみ上書き
========================================================= */
.home #main .top_news{
	padding-bottom: 84px;
}
.home #main .top_news #sec5{
	padding: 0;
}
.home #main .top_news #sec5 ul{
	margin: 0;
}
.home #main .top_news #sec5 div.ttl{
	border-bottom: 1px solid #d9d9ec;
	padding: 0 0 10px;
}
.home #main .top_news #sec5 div.ttl a{
	color: #1d2087;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0;
}
.home #main .top_news #sec5 div.date{
	margin-top: 10px;
	color: #56607a;
	font-size: 13px;
	font-weight: 500;
}
.home #main .top_news #sec5 div.date p{
	font-size: 13px;
	line-height: 1.6;
}
.home #main .top_news #sec5 div.desc{
	height: auto; /* 既存の height:150px（文章が長いと次の記事に重なる）を解除 */
	padding: 10px 0 0;
	color: #222a38;
	font-size: 14px;
	line-height: 1.6;
}
.home #main .top_news #sec5 div.desc p{
	font-size: 14px;
	line-height: 1.6;
}
.home #main .top_news #sec5 div.desc a,
.home #main .top_news #sec5 div.desc b{
	color: #1d2087;
	font-weight: 700;
}
/* AVNET様紹介枠 */
.home #main .top_news #sec5 .flex.info.col1{
	margin-top: 48px;
}
.home #main .top_news #sec5 .col1 div.date br{
	display: none;
}
.home #main .top_news #sec5 .desc.flex{
	padding-top: 24px;
}
.home #main .top_news #sec5 .video-item p{
	margin-bottom: 6px;
	color: #56607a;
	font-size: 13px;
}
.home #main .top_news #sec5 .desc.flex .right .desc{
	padding-top: 22px;
}
.home #main .top_news #sec5 .sensor-img{
	margin-top: 16px;
	padding: 20px 24px 22px;
	background: #fff;
	border: 1px solid #d9d9ec;
}
.home #main .top_news #sec5 .sensor-img > p a{
	color: #1d2087;
	font-size: 15px;
	letter-spacing: 0;
}
.home #main .top_news #sec5 .sensor-img .img-wrap{
	justify-content: flex-start;
	gap: 22px;
	padding: 14px 0 0;
}
.home #main .top_news #sec5 .sensor-img .img-wrap figure{
	width: calc(50% - 11px);
}
.home #main .top_news #sec5 .sensor-img .img-wrap figure img{
	width: 100%;
	margin-bottom: 8px;
	aspect-ratio: 4 / 3;
}
.home #main .top_news #sec5 .sensor-img figcaption{
	text-align: left;
}
.home #main .top_news #sec5 .sensor-img figcaption a{
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0;
}
.home #main .top_news #sec5 .sensor-img figcaption a::after{
	content: " →";
}
/* お知らせ一覧ボタン（a.a_line_2） */
.home #main .top_news #sec5 .a_line_2{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 252px;
	margin: 44px auto 0;
	padding: 15px 20px;
	background: #fff;
	border: 1px solid #1d2087;
	color: #1d2087;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}
.home #main .top_news #sec5 .a_line_2::after{
	content: "";
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231d2087' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 7.8h9.8M9.2 11.1l3.3-3.3-3.3-3.3'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* PC：2列レイアウト */
@media screen and (min-width: 751px){
	.home #main .top_news #sec5 ul.flex.info:not(.col1){
		justify-content: flex-start;
		gap: 40px;
	}
	.home #main .top_news #sec5 ul.flex.info:not(.col1) > li{
		width: calc(50% - 20px);
	}
}

/* バナー（#sec6・既存のまま。上の余白だけ調整） */
.home #main #sec6{
	padding-top: 56px;
}

/* =========================================================
   1199px以下（.inner が 980px になる幅）
========================================================= */
@media screen and (max-width: 1199px){
	.top_mv{
		--mv-h: 172px;
		--mv-slope: 32px;
		--mv-w: 58%;
	}
	.top_mv .mv_copy h1 .l1{ font-size: 38px; }
	.top_mv .mv_copy h1 .l2{ font-size: 46px; }
	.top_mv .mv_copy .en{ font-size: 12px; letter-spacing: 0.18em; }
	.top_mv .mv_copy .en::after{ width: 160px; }
	.top_mv .mv_copy .catch{ font-size: 23px; }
	.top_mv .mv_copy .txt{ font-size: 14px; }
	.top_mv .mv_panel .photo{ width: 36%; }
	.top_mv .mv_panel .body{
		left: calc(var(--x0) + 48px);
		width: calc(72% - var(--x0) - 48px);
	}
	.top_mv .mv_panel .label .ico{ width: 30px; height: 30px; }
	.top_mv .mv_panel .ttl{ font-size: 18px; }
	.top_mv .mv_panel .desc{ font-size: 13px; }
	.top_mv .mv_foot{ padding: 0 max(30px, calc((100% - 980px) / 2)); }
	.top_mv .mv_foot ul{ gap: 22px; }
	.top_mv .mv_foot .tagline .ja{ font-size: 15px; }
	.home #main .top_sec .sub_b{ font-size: 28px; }
}

/* =========================================================
   750px以下（スマートフォン）
========================================================= */
@media screen and (max-width: 750px){
	/* MV */
	.top_mv{
		--mv-slope: 0px;
	}
	.top_mv .mv_main{
		height: auto;
	}
	.top_mv .mv_copy{
		position: static;
		width: auto;
		height: auto;
		display: block;
		padding: 9vw 6vw 8vw;
	}
	.top_mv .mv_copy h1 .l1{ font-size: 7.6vw; }
	.top_mv .mv_copy h1 .l2{ font-size: 9.4vw; }
	.top_mv .mv_copy .en{ font-size: 2.6vw; letter-spacing: 0.14em; padding-bottom: 3vw; }
	.top_mv .mv_copy .en::after{ width: 32vw; }
	.top_mv .mv_copy .catch{ margin-top: 4vw; font-size: 5.4vw; }
	.top_mv .mv_copy .txt{ margin-left: 0; font-size: 3.7vw; }
	.top_mv .mv_copy .txt br{ display: none; }
	.top_mv .mv_panels{
		position: static;
		width: auto;
	}
	.top_mv .mv_panel{
		height: auto;
		min-height: 40vw;
		clip-path: none;
	}
	.top_mv .mv_panel .photo{ width: 38%; }
	.top_mv .mv_panel .body{
		position: relative;
		left: auto;
		width: 64%;
		max-width: none;
		min-height: 40vw;
		padding: 4vw 0 4vw 5vw;
	}
	.top_mv .mv_panel .label{ font-size: 3.2vw; gap: 2vw; }
	.top_mv .mv_panel .label .ico{ width: 7vw; height: 7vw; }
	.top_mv .mv_panel .ttl{ margin-top: 1vw; font-size: 4.4vw; white-space: normal; }
	.top_mv .mv_panel .desc{ font-size: 3.5vw; }
	.top_mv .mv_panel .desc br{ display: none; }
	.top_mv .mv_panel .more{ font-size: 3.4vw; margin-top: 1.5vw; }
	.top_mv .mv_foot{
		flex-direction: column;
		align-items: flex-start;
		gap: 3vw;
		height: auto;
		padding: 5vw 6vw;
		border-top: none;
	}
	.top_mv .mv_foot ul{ flex-wrap: wrap; gap: 2vw 5vw; }
	.top_mv .mv_foot li{ font-size: 3.5vw; }
	.top_mv .mv_foot li .ico{ width: 6vw; height: 6vw; }
	.top_mv .mv_foot .tagline{ text-align: left; }
	.top_mv .mv_foot .tagline .ja{ font-size: 3.8vw; }
	.top_mv .mv_foot .tagline .en{ font-size: 2.6vw; }

	/* 共通 */
	.home #main .top_sec{ padding: 12vw 0 14vw; }
	.home #main .top_sec .sub_b{ margin-bottom: 6vw; font-size: 6vw; }
	.home #main .top_sec .sub_b::before{ font-size: 3vw; }
	.home #main .top_sec .lead{ margin: -3vw 0 6vw; font-size: 3.6vw; }

	/* OUR BUSINESS */
	.home #main .top_ob{ padding-bottom: 0; }
	.home #main .top_ob::before{ width: 100%; opacity: 0.35; }
	.home #main .top_ob .ob_head{ display: block; margin-bottom: 8vw; }
	.home #main .top_ob .ob_head .sub_b{ margin-bottom: 4vw; font-size: 5vw; }
	.home #main .top_ob .ob_head .ob_txt{ width: auto; font-size: 3.9vw; }
	.home #main .top_ob .ob_list{ grid-template-columns: 1fr; gap: 10vw; }
	.home #main .top_ob .ob_list figcaption{ font-size: 3.3vw; }
	.home #main .top_ob .ob_list .num{ margin-top: 4vw; font-size: 6.6vw; }
	.home #main .top_ob .ob_list .num span{ font-size: 3.3vw; }
	.home #main .top_ob .ob_list h3{ font-size: 5vw; }
	.home #main .top_ob .ob_list .desc{ font-size: 3.9vw; }
	.home #main .top_ob .ob_list .tags{ font-size: 3.4vw; }
	.home #main .top_ob .ob_list .more{ margin-top: 3vw; font-size: 3.6vw; }
	.home #main .top_ob .ob_band{ margin-top: 12vw; padding: 5vw; font-size: 3.8vw; }

	/* 技術・製品から探す */
	.home #main .top_tech .product_box ul{
		width: auto;
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw;
	}
	.home #main .top_tech .li_index li{ text-align: left; }
	.home #main .top_tech .li_index li div h3{ font-size: 3.4vw; text-align: left; }
	.home #main .top_tech .li_index li div h3 a{ min-height: 14vw; padding: 2vw 3vw; }
	.home #main .top_tech .li_index li div h3 a::after{ width: 4vw; height: 4vw; }

	/* 事例・お知らせ：.inner の左右余白を戻す */
	.home #main .top_case #sec3,
	.home #main .top_news #sec5{ padding: 0 3vw; }

	/* 事例 */
	.home #main .top_case #sec3 ul.flex{ grid-template-columns: 1fr; gap: 8vw; }
	.home #main .top_case #sec3 p{ padding: 0; }
	.home #main .top_case #sec3 p.ttl{ font-size: 4.2vw; }
	.home #main .top_case #sec3 p.desc{ font-size: 3.8vw; }

	/* お知らせ */
	.home #main .top_news #sec5 div.ttl{ height: auto; }
	.home #main .top_news #sec5 div.ttl a{ font-size: 4vw; }
	.home #main .top_news #sec5 ul{ margin: 0 0 8vw; }
	.home #main .top_news #sec5 ul li{ margin: 0 0 6vw; } /* 既存の margin:2px による横はみ出しを解消 */
	.home #main .top_news #sec5 .flex.info.col1{ margin-top: 0; }
	.home #main .top_news #sec5 .sensor-img{ padding: 4vw; }
	.home #main .top_news #sec5 .sensor-img .img-wrap{ display: flex; gap: 3vw; }
	.home #main .top_news #sec5 .sensor-img .img-wrap figure{ width: calc(50% - 1.5vw); }
	.home #main .top_news #sec5 .sensor-img figcaption a{ font-size: 3.5vw; }
	.home #main .top_news #sec5 .a_line_2{ width: 70%; margin-top: 6vw; font-size: 3.8vw; }

	.home #main #sec6{ padding-top: 10vw; }
}
