@charset "utf-8";

/*
 Theme Name:twentytwelve-child4
 Template:twentytwelve
*/

/* CSSが一瞬効かないのを非表示にする */

.entry-title {
	display: none;
}

/* CSS Document */
/* html {
	scroll-behavior: smooth;
} */

#secondary {
	display: none !important;
}

#page-contents-top {
	margin-top: 20px;
}

#main {
	flex: 0 0 auto;
	padding-top: 140px;
}

.entry-header {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.main-sp-navigation {
	display: none;
}

#site-navigation {
	display: block;
}

body {
	min-height: 100vh;
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #ffffff;
	color: #333;
	display: flex;
	flex-direction: column;
}

html,
body {
	height: 100%;
	margin: 0;
}

img {
	width: 100%;
	vertical-align: top;
	box-shadow: none !important;
}

a {
	color: #333333 !important;
	text-decoration: none;
	cursor: pointer;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.container {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0;
}

.site-content {
	width: 100%;
	clear: both;
	margin: 0;
}

.site-content article {
	margin: 0;
	padding: 0;
	border-bottom: none;
}

header#header.UpMove {
	position: fixed;
	width: 100%;
	animation: UpAnime 0.5s forwards;
}

footer,
.site-footer,
#footer {
	flex-shrink: 0;
	margin-top: auto;
}

.serch_resault_wrap,
.inline_contents_wrap {
	padding-bottom: 120px;
}

/* メインコンテンツは上詰め */
#primary,
#content,
.serch_resault_wrap {
	flex: 0 0 auto;
}

/* 中身(検索結果エリア)は通常の高さ → 余白は下に逃す */
.serch_resault_wrap {
	flex: 0 0 auto;
	margin-bottom: 100px;
}

/* footerを最下部に固定 */
footer,
.site-footer,
#footer {
	margin-top: auto;
	flex-shrink: 0;
}

@keyframes UpAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-90px);
	}
}

header#header.DownMove {
	position: fixed;
	width: 100%;
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-90px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* 電話のリンクPCで取る */

a.h_tel,
a.h_tel_f {
	pointer-events: none;
}

/* トップページのページ内リンク調整 ここから */

.page-in_link {
	padding-top: 300px !important;
	margin-top: -300px !important;
}

@media (max-width:800px) {
	.page-in_link {
		padding-top: 260px !important;
		margin-top: -260px !important;
	}

	#main {
		padding-top: 70px;
		padding-bottom: 0;
	}
}

@media (max-width:480px) {
	.page-in_link {
		padding-top: 200px !important;
		margin-top: -200px !important;
	}
}

/* トップページのページ内リンク調整 ここまで */

@media (max-width:1200px) {
	.entry-content-inner {
		width: 90%;
	}
}

@media (max-width:800px) {
	header {

		height: 70px;
	}

	#page-contents-top {
		margin-top: 0;
	}

	div.entry-content {
		margin-top: 0;
	}


}

@media (max-width:640px) {

	a.h_tel,
	a.h_tel_f {

		pointer-events: auto;
	}
}


/**************************************************************************************************

共通項目

**************************************************************************************************/
body p {
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 20px;
}

.inline_800 {
	display: block;
}

.note {
	padding-left: 1em;
	text-indent: -1em;
}

div.container-wrap {
	padding-bottom: 120px;
	max-width: 1200px;
	margin: 0 auto;
}

div.contents-wrap {
	max-width: 1200px;
	margin: 0 auto;
}

span.y-marker {
	background: linear-gradient(transparent 60%, #fff27e 60%);
	font-weight: bold;
}

div.contents-page {
	padding-top: 45px;
}

div.blue_back {
	background: #EEF2F5;
}

div.blue_back_b {
	background: #EEF2F5;
}

div.ttl-innr_page {
	height: 200px;
	background: #F0F3F6;
	text-align: center;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

div.ttl-innr_page div.title {
	max-width: 1200px;
	margin: 0 auto;
}

div.ttl-innr_page h1 {
	font-size: 38px;
	line-height: 1.4;
}

h2.contents-title {
	text-align: center;
	font-size: 40px;
	font-weight: 600;
	color: #094165;
	letter-spacing: 0;
	position: relative;
}

h2.contents-title::before {
	content: '';
	position: absolute;
	left: 50%;
	top: -20px;
	display: inline-block;
	width: 30px;
	height: 3px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%);
	background-color: #08AFE6;
}

div.topic_pazing_wrap {
	padding-top: 30px;
	font-size: 16px;
	letter-spacing: 0.1em;
	padding-right: 10px;
	text-align: right;
}

p.h2_subtxt {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 50px;
}

h2.headline_01_text_03 {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
}

span.bold_blue {
	font-weight: bold;
	color: #0068AB;
	font-size: 18px;
}

.br_s {
	display: block;
	font-size: 80%;
}

.block_1100,
.block_1050,
.block_1100_none_800,
.block_1200,
.block_1200_none_480,
.block_1200_none_610,
.block_1000,
.block_850,
.block_800,
.block_600,
.block_480,
.block_450,
.block_430,
.block_400 {
	display: none !important;
}

div.title--100--blue {
	position: relative;
	width: 100%;
	height: 220px;
	background: #0068AB;
	margin-top: -20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

div.title--100--blue p {
	color: #fff;
	font-size: 40px;
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: 0;
}

/* 共通タイトル部分 */

div.wrapper div.ttl-innr_use-case {
	background-image: url(/wp-content/uploads/img/back---use-case.webp);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#title {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
	text-align: center;
	z-index: 1;
}

div.ttl-innr_use-case h1 {
	position: relative;
	z-index: 1;
	color: #fff;
	text-align: center;
	font-size: 38px;
}


/* パンくず */

div.breadcrumb_box {
	width: 100%;
}

div.breadcrumb {
	font-size: 13px;
	padding: 8px 0;
	color: #094165;
	line-height: 1.5;
}

/* ▼ 通常のリンク色（最後の現在ページ以外） */
div.breadcrumb a {
	color: #6AA9D2 !important;
	/* 薄いブルー */
	text-decoration: underline;
	/* 下線を付ける */
}


/* ▼ 通常のリンクの状態ごとの色も維持 */
div.breadcrumb a:link,
div.breadcrumb a:visited,
div.breadcrumb a:hover,
div.breadcrumb a:active {
	color: #6AA9D2 !important;
}

/* ▼ パンくずが2階層（＝リンクが1個しかない）場合にも確実に適用 */
div.breadcrumb a:first-of-type {
	color: #6AA9D2 !important;
	/* 薄いブルー */
	text-decoration: underline !important;
	/* 下線 */
}

/*  */

span.txt_bold {
	font-weight: bold;
}

@media (max-width:1200px) {
	body p {
		font-size: 16px;
	}

	div.contents-wrap {
		width: 90%;
	}

	p.h2_subtxt {
		font-size: 18px;
	}

	span.bold_blue {
		font-size: 16px;
	}

	.block_1200 {
		display: block !important;
	}

	.block_1200_none_610 {
		display: block !important;
	}

	.block_1200_none_480 {
		display: block !important;
	}

	span.none_1200 {
		display: none !important;
	}

	.none_1200 {
		display: none !important;
	}

	div.breadcrumb {
		width: 90%;
		margin: 0 auto;
	}

	div.container-wrap {
		width: 90%;
	}

	div.ttl-innr_page div.title {
		width: 90%;
		padding: 30px 0;
		box-sizing: border-box;
	}

	div.ttl-innr_page {
		height: auto;
	}
}

@media (max-width:1100px) {
	.block_1100 {
		display: block !important;
		content: "" !important;
		margin: -6px 0 !important;

	}

	.block_1100_none_800 {
		display: block !important;
	}
}

@media (max-width:850px) {
	.none_850 {
		display: none !important;
	}
}

@media (max-width:800px) {


	div.ttl-innr_page h1 {
		font-size: 34px;
	}

	.block_800 {
		display: block !important;
	}

	.block_1100_none_800 {
		display: none !important;
	}

	h2.contents-title {
		line-height: 1.5;
	}

	p.h2_subtxt {
		margin-bottom: 30px;
	}

	div.contents-page {
		padding-top: 15px;
	}

	div.container-wrap {
		padding-bottom: 80px;
	}

	div.wrapper div.ttl-innr_use-case {
		height: 120px;
	}

	div.ttl-innr_use-case h1 {
		font-size: 34px;
	}

	.inline_800 {
		display: inline;
	}
}

@media (max-width:610px) {
	.block_1200_none_610 {
		display: none !important;
	}
}


@media (max-width:600px) {


	h2.contents-title {
		font-size: 36px;
		line-height: 1.4;
	}

	.none_600 {
		display: none !important;
	}
}

@media (max-width:500px) {


	div.title--100--blue p {
		font-size: 32px;
	}

	div.title--100--blue {
		height: 160px;
	}

	.none_500 {
		display: none !important;
	}
}

@media (max-width:480px) {
	.block_480 {
		display: block !important;
	}

	div.inn_b {
		padding-bottom: 20px;
	}

	div.introduction_results_box {
		padding-bottom: 0;
	}

	h2.contents-title {
		font-size: 30px;
	}

	.block_1200_none_480 {
		display: none !important;
	}
}

@media (max-width:480px) {
	.block_400 {
		display: block !important;
	}
}

/***********************************************************

ヘッダー

***********************************************************/
.site-header {
	position: fixed;
	width: 100%;
	height: 90px;
	margin: 0 auto;
	padding: 0;
	top: 0;
	box-shadow: none;
	z-index: 999;
}

div.headerMenuArea_top {
	background: #094165;
	width: 100%;
}

.headerMenuArea .headerMenuArea-inner {
	max-width: 1200px;
	height: 90px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


div.headerMenuArea-right {
	display: flex;
	justify-content: flex-end;
	padding-right: 25px;
	align-items: center;
}

div.headerMenuArea-right a {
	text-decoration: none;
	align-items: center;
}

div.headerMenuArea-right a.h_tel {
	color: #fff !important;
}

h1.site-title {
	display: block;
	line-height: 0;
	text-align: center;
}

h2.site-title_copy {
	font-size: 11px;
	color: #ffffff !important;
	margin-bottom: 2px;
}

p.header_contact_tel_company {
	font-size: 14px;
	color: #ffffff !important;
	align-items: flex-start !important;
	font-weight: bold;
}

.headerMenuArea {
	width: 100%;
}


div.menu-mainmenu-container {
	max-width: 1080px;
	margin: 0 auto;
}

p.h_tel_number {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.2;
}

p.h_tel_txt {
	font-size: 14px;
	line-height: 1.4;
}

a.h_contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
	margin-right: 15px;
	border-radius: 5px;
	padding: 5px 35px;
	background: #FFF957;
	color: #094165 !important;
	height: 50px;
}

a.h_contact:hover {
	background: #08AFE6;
	color: #ffffff !important;
}

p.h_contact {
	font-size: 20px;
	font-weight: bold;
}

.search-button {
	display: flex;
	align-items: center;
	cursor: pointer;
}

img.search-button {
	max-width: 35px;
}

.search-button_sp-box {
	display: none;
}

li.sp-cta {
	background: #FFF957;
	margin: 0 40px 0 !important;
	border: none !important;
	padding: 10px 0 10px 30px !important;
	border-radius: 10px;
}

li.sp-tel {
	background: #094165;
	margin: 30px 40px 20px !important;
	border: none !important;
	border-radius: 10px;
	padding: 10px 0 10px 30px !important;
}

li.sp-tel p.h_tel_txt {
	margin-bottom: 0;
	color: #ffffff;
	font-size: 14px;
}

li.sp-tel p.h_tel_number {
	margin-bottom: 5px;
	color: #ffffff;
	font-size: 22px !important;
}

li.sp-cta p.h_contact {
	margin-bottom: 0;
	color: #094165;
	border: none;
	font-size: 22px !important;
}

.headerMenuArea .headerMenuArea-inner p {
	text-align: center;
	margin-bottom: 0 !important;
	vertical-align: middle;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}

a.h_tel {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	pointer-events: none;
}

.main-navigation {
	margin-top: 0px !important;
}

div.headerMenuArea_bottom {
	background: #0068AB;
}

div.headerMenuArea_bottom ul li a {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
	height: 100%;
	padding: 5px 0;
}

.main-navigation ul.nav-menu,
.main-navigation div.nav-menu>ul {
	text-align: center;
}

/* ------------検索窓  START------------*/
div.search_accordion-text_inn {
	max-width: 1200px;
	margin: 0 auto;
}

/* 初期状態で非表示 */
.search_accordion-text {
	max-height: 0;
	overflow: hidden;
	background: #e6f5ff;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
	z-index: 98;
	margin: 0;
	right: 0;
	padding: 0 1em;
	visibility: hidden;
	position: absolute;
	top: 100%;
	transition: max-height 0.2s ease, opacity 0.2s ease, visibility 0.2s ease;
	opacity: 0;
	pointer-events: none;
}

/* 開いた状態のスタイル */
.search_accordion-text.open {
	max-height: 500px;
	/* 中身の高さに応じて調整 */
	visibility: visible;
	padding: 1em;
	opacity: 1;
	pointer-events: auto;
}

div.header_search_wrap {
	padding: 60px;
	text-align: center;
}

div.header_search_wrap ul li {
	list-style: none;
	margin: 0;
	color: #333333;
	font-size: 20px;
	font-weight: normal;
}

.close-button {
	float: right;
	top: 10px;
	right: 20px;
	background: transparent;
	border: none;
	font-size: 28px;
	color: #333;
	cursor: pointer;
	z-index: 99;
}

.close-button:hover {
	background: transparent;
	color: #666;
}

.close-button:active {
	background: transparent;
	box-shadow: none;
}

/* ------------検索窓  END------------*/

/* ------------下部グローバルメニュー  START------------*/
.nav-menu {
	display: flex;
	justify-content: center;
	gap: 28px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.gnavi__list {
	position: relative;
	flex: 0 0 auto;
	text-align: center;
}

.gnavi__list_link {
	display: inline-block !important;
	padding: 5px 15px !important;
	color: #fff !important;
	text-decoration: none;
	font-size: 14px;
	position: relative;
	background: transparent !important;
	z-index: 2;
	transition: background-color 0.2s ease, color 0.2s ease;
}

a.gnavi__list_link:link,
a.gnavi__list_link:visited,
a.gnavi__list_link:hover,
a.gnavi__list_link:active {
	color: #fff !important;
}

/* ホバー時の水色背景を “ドロップダウンと同じ幅” で表示 */
.gnavi__list:hover>.gnavi__list_link::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 180px;
	/* ← dropdown__lists と同じ幅 */
	height: 100%;
	background: #08AFE6;
	z-index: -1;
	/* リンク文字の背面 */
	border-radius: 0;
	/* 角丸にしたければ 4px など */
}

.gnavi__list:hover .gnavi__list_link {
	background: transparent !important;
	color: #fff !important;
	display: block !important;

}

/* --- ドロップダウン背景 --- */
.dropdown__lists {
	background-color: #0068AB;
	padding: 0;
	margin: 0;
	list-style: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 180px;
	z-index: 9999;
	box-sizing: border-box;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}

.gnavi__list:hover .dropdown__lists {
	overflow: visible;
	max-height: 150px;
}

.dropdown__list_item {
	overflow: hidden;
	height: 0;
	transition: height 0.2s ease;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}


/* --- ホバー時に高さで広がる --- */
.gnavi__list:hover .dropdown__list_item {
	height: 50px;
	overflow: visible;
}

/* --- ドロップダウン中のリンク --- */
.dropdown__list_link {
	display: block;
	height: 100%;
	padding: 10px 0;
	/* 上下10pxで合計20px */
	background: #0068AB;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-bottom: 1px solid #83a2b6 !important;
	font-size: 14px;
	transition: background 0.2s;
	box-sizing: border-box;
}

.dropdown__list_item:first-child .dropdown__list_link {
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.dropdown__list_item:last-child .dropdown__list_link {
	border-bottom: none;
}

.dropdown__list_item:last-child {
	margin-bottom: 0;
}

a.dropdown__list_link:link,
a.dropdown__list_link:visited,
a.dropdown__list_link:active {
	color: #fff !important;
}

a.dropdown__list_link:hover {
	color: #0068AB !important;
}

/* ------------下部グローバルメニュー  END------------*/

/* 親テーマのcssを一部削除または変更 */
.main-navigation li a {
	line-height: 2 !important;
	padding: 0;
}

.main-navigation ul.nav-menu {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
}

a:link,
a:active,
a:hover,
a:focus {
	outline: none !important;
}

.main-navigation li:last-child {
	margin-right: 0 !important;
}

.site-content nav {
	overflow: visible !important;
}

.main-navigation li ul li a {
	padding: 0;
	background: transparent;
	width: 180px;
	line-height: 2.2 !important;
}

@media (max-width:1100px) {
	div.menu-mainmenu-container {
		max-width: none;
		width: 90%;
	}

	div.headerMenuArea_bottom ul li a {
		font-size: 19px;
	}

	.nav-menu {
		gap: 16px;
	}

	.gnavi__list_link {
		padding: 5px 10px !important;
	}

	div.headerMenuArea_bottom ul li a {
		letter-spacing: 0.05em;
	}
}

@media (min-width:800px) {

	div.menu-mainmenu-container ul li a:after:hover,
	div.menu-mainmenu-container ul li a:after:focus {
		content: url(/wp-content/uploads/img/page-link_arrow_y.webp);
		width: 20px;
		height: auto;
		margin-right: 10px;
		position: relative;
		top: 0;
		left: 10px;
	}

	h2.site-title_copy {
		font-size: 11px;
		margin-bottom: 0;
	}
}

@media (max-width:640px) {
	a.h_tel {
		pointer-events: auto;
	}
}

@media (min-width:600px) {

	.main-navigation ul.nav-menu,
	.main-navigation div.nav-menu>ul {
		border: none;
	}

	.main-navigation li {
		margin: 0;
	}
}

@media (max-width:480px) {
	div.header_search_wrap {
		padding: 60px 20px;
	}

	h2.site-title_copy {
		font-size: 10px;
	}
}

/**************************************************************************************************

メインビジュアル

**************************************************************************************************/

div.mainVisual {
	max-width: 1920px;
	margin: 0 auto;
	height: 900px;
	background-image: url(/wp-content/uploads/img/top/monnit_mv.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

div.mainVisual_back {
	background: #040B1C;
	margin-top: -120px;
}

div.mainVisual_catch_box {
	padding-top: 225px;
}

div.mainVisual_innr {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

div.mainVisual_innr p {
	color: #fff;
	font-weight: bold;
}

div.mainVisual_innr p.mainVisual_catch_a {
	font-size: 36px;
	background: #08AFE6;
	padding: 10px 60px;
	margin-bottom: 50px;
	display: inline-block;
	box-shadow: 0 0 50px #012136;
}

div.mainVisual_innr p.mainVisual_catch_b {
	font-size: 40px;
	margin-bottom: 0;
	text-shadow: 0 0 10px #012136;
	margin-bottom: 20px;
}

div.mainVisual_innr p.mainVisual_catch_c {
	font-size: 58px;
	margin-bottom: 0;
	text-shadow: 0 0 10px #012136;
	line-height: 1.5;
}



@media (max-width:1400px) {
	div.mainVisual {
		background-image: url(/wp-content/uploads/img/top/monnit_mv_b.webp);
	}

	div.mainVisual {
		margin-top: -20px;
		height: 850px;
	}
}

@media (max-width:1200px) {
	.block_1200 {
		display: block !important;
	}

	div.mainVisual_innr {
		width: 95%;
	}

}

@media (max-width:1100px) {
	div.mainVisual {
		margin-top: -70px;
		height: 780px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 34px
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 38px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 55px;
	}

	div.mainVisual_catch_box {
		padding-top: 180px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 45px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 32px;
	}

	div.mainVisual {
		height: 750px;
	}

}

@media (max-width:1050px) {
	.block_1050 {
		display: block;
	}

	div.mainVisual_catch_box {
		padding-top: 185px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		line-height: 1.4;
	}
}

@media (max-width:1000px) {
	.block_1000 {
		display: block;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		line-height: 1.5;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		line-height: 1.5;
	}
}

@media (max-width:900px) {
	div.mainVisual {
		background-image: url(/wp-content/uploads/img/top/monnit_mv_c.webp);
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 26px;
	}

}

@media (max-width:850px) {
	.block_850 {
		display: block;
	}
}

@media (max-width:800px) {

	div.mainVisual_back {
		margin-top: -170px;
	}

	div.mainVisual_catch_box {
		padding-top: 140px;
	}

	div.mainVisual {
		height: 640px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 20px;
		margin-bottom: 35px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 25px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 45px;
	}

}

@media (max-width:600px) {
	div.mainVisual {
		height: 510px;
		background-image: url(/wp-content/uploads/img/top/monnit_mv_e.webp);
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 22px;
		margin-bottom: 45px;
		line-height: 1.3;
		padding: 10px 15px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 24px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 32px;
	}

	div.mainVisual_innr p.mainVisual_catch_c_a {
		line-height: 1.3;
		margin: 10px 0 0;
	}

	div.mainVisual_back {
		margin-top: -140px;
	}

	div.mainVisual_catch_box {
		padding-top: 95px;
	}
}

@media (max-width:480px) {
	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 20px;
		margin-bottom: 30px;
	}

	div.mainVisual_catch_box {
		padding-top: 105px;
	}
}

@media (max-width:450px) {
	.block_450 {
		display: block !important;
	}

	span.none_450 {
		display: none !important;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		padding: 10px 35px;
		line-height: 1.5;
		margin-bottom: 25px;
	}

	div.mainVisual_catch_box {
		padding-top: 95px;
	}

	div.mainVisual {
		height: 530px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		line-height: 1.3;
	}
}

@media (max-width:430px) {
	.block_430 {
		display: block !important;
	}
}

@media (max-width:400px) {
	.block_400 {
		display: block !important;
	}

	div.mainVisual {
		height: 510px;
	}
}

@media (max-width:370px) {
	div.mainVisual_catch_box {
		margin: -125px auto 0;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 19px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 27px;
		margin: 5px 0;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 30px;
	}

}

/**************************************************************************************************

ABOUT

**************************************************************************************************/

div.about_area {
	width: 100%;
	background-image: url(/wp-content/uploads/img/top/monnit_about.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

div.contents-wrap_about {
	padding: 150px 0;
	margin-top: -5px;
}

div.about_area_txtbox {
	background: #fff;
	padding: 60px;
	opacity: 0.8;
	text-align: center;
}

p.about_area_txt_a {
	font-size: 46px;
	position: relative;
	color: #094165;
	font-weight: bold;
	line-height: 1.4;
}

p.about_area_txt_a::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 5px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%);
	background-color: #094165;
}

p.about_area_txt_b {
	font-size: 22px;
	margin-top: 40px;
	line-height: 1.8;
}

@media (max-width:1200px) {

	div.contents-wrap_about {
		width: 90%;
	}

	p.about_area_txt_b {
		font-size: 18px;
	}
}

@media (max-width:1000px) {
	div.contents-wrap_about {
		padding: 80px 0;
	}
}

@media (max-width:800px) {
	p.about_area_txt_a {
		font-size: 40px;
	}


	div.about_area_txtbox {
		padding: 30px 60px;
	}

	div.contents-wrap_about {
		margin: 0 auto;
		padding: 50px 0;
	}
}

@media (max-width:600px) {
	p.about_area_txt_b {
		margin-bottom: 0;
	}

	p.about_area_txt_a {
		font-size: 38px;
	}
}

@media (max-width:720px) {
	div.about_area_txtbox {
		padding: 30px 30px;
	}

	p.about_area_txt_b {
		font-size: 16px;
	}
}

@media (max-width:480px) {
	p.about_area_txt_a {
		font-size: 30px;
	}
}

/**************************************************************************************************

活用例

**************************************************************************************************/
div.contents-wrap_u-e {
	padding-top: 140px;
	padding-bottom: 140px;
}

div.contents-wrap_u-e div.text-area {
	margin-bottom: 50px;
}

h3.usage_example_subttl {
	font-size: 26px;
	font-weight: bold;
	background: #0068AB;
	color: #fff;
	display: inline-block;
	letter-spacing: 0.1em;
	padding: 3px 15px;
	margin-bottom: 15px;
}

div.usage_example_box {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 120px;
}


div.usage_example_box:nth-child(odd) {
	flex-direction: row-reverse;
}

div.usage_example_box:last-child {
	margin-bottom: 0;
}

div.usage_example_box {
	display: flex;
	align-items: flex-end;
}

div.usage_example_img {
	width: 60%;

}

div.usage_example_txtbox p {
	margin-bottom: 0;
	font-size: 20px;
}

div.usage_example_txtbox {
	width: 35%;
}

div.usage_example_img {
	--tw-shadow: 0px 16px 40px -8px #19334542;
	--tw-shadow-colored: 0px 16px 40px -8px var(--tw-shadow-color);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

nav.use-case-pagination {
	padding-top: 30px;
	font-size: 16px;
	letter-spacing: 0.1em;
	padding-right: 10px;
	text-align: right;
}

@media (max-width:1200px) {
	div.usage_example_txtbox p {
		font-size: 18px;
		line-height: 1.6;
	}

	h3.usage_example_subttl {
		font-size: 22px;
		padding: 2px 13px;
	}

	div.usage_example_box {
		margin-bottom: 80px;
	}
}

@media (max-width:950px) {
	div.usage_example_box {
		display: block;
	}

	div.usage_example_img {
		width: 100%;
	}

	div.usage_example_txtbox {
		width: 100%;
	}

	h3.usage_example_subttl {
		font-size: 20PX;
	}
}

@media (max-width:950px) {
	h3.usage_example_subttl {
		font-size: 18PX;
		margin-bottom: 10PX;
	}
}

@media (max-width:800px) {
	div.contents-wrap_u-e {
		padding-top: 90px;
		padding-bottom: 90px;
	}

}

@media (max-width:600px) {
	div.usage_example_box {
		margin-bottom: 50px;
	}

}

@media (max-width:480px) {
	div.contents-wrap_u-e {
		padding-top: 70px;
		padding-bottom: 70px;
	}


	p.h2_subtxt_u-e {
		margin-top: -240px !important;
		padding-top: 240px !important;
	}
}

/**************************************************************************************************

全世界で10年の実績

**************************************************************************************************/
/* =====================================================
   achievements 共通
===================================================== */

div.achievements_contbox {
	position: relative;
	--tw-shadow: 0px 5px 15px -10px #19334542;
	box-shadow: var(--tw-shadow);
	padding: 40px 65px 10px;
	margin: 70px 0;
	background: #fff;
}

div.contents-wrap_achievements {
	padding-top: 100px;
	padding-bottom: 120px;
}

/* 共通 */
div.achievements_contbox_innr_box {
	padding-top: 40px;
	padding-bottom: 40px;
}


/* =====================================================
   A：フロー（→あり）
===================================================== */

div.achievements_contbox_innr_box_a {
	display: flex;
	align-items: stretch;
	/* ★ 高さを揃える */
	justify-content: center;
	gap: 30px;
}

/* ★ ボックスを等高にする */
div.achievements_contbox_innr_box_item_g {
	padding: 25px;
	background: #F1F1F1;
	display: flex;
	flex-direction: column;
	width: 260px;
	text-align: center;
	box-sizing: border-box;
	min-height: 380px;
	/* ★ ここが重要 */
}

div.achievements_item_arrow {
	display: flex;
	align-items: center;
}


/* =====================================================
   B：アワード（grid）
===================================================== */

div.achievements_contbox_b {
	padding: 50px 20px 0;
	margin-bottom: 0;
}

div.achievements_contbox_innr_box_b {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 40px 30px;
	justify-items: center;
}

div.achievements_contbox_innr_box_item_award {
	width: 100%;
	max-width: 180px;
}

div.achievements_contbox_innr_box_item_award p {
	text-align: center;
	height: 70px;
	font-size: 13.5px;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
}


/* =====================================================
   テキスト系
===================================================== */

p.blue_tag {
	background: #C6DEF1;
	padding: 10px;
	color: #094165;
	margin-top: auto;
	/* 下に固定 */
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 0;
	line-height: 1.4;
}

p.top_small {
	font-size: 16px;
}

p.height_p {
	line-height: 1.5;
	margin-bottom: 0;
}

h3.h3_achievements {
	color: #fff;
	font-weight: bold;
	font-size: 22px;
	text-align: center;
	background: #0068AB;
	max-width: 1110px;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	padding: 12px 0;
	line-height: 1.5;
}

div.achievements_contbox_c h3.h3_achievements {
	top: -90px;
	width: 1080px !important;
}

div.achievements_contbox_c .h3_achievements {
	position: relative;
	text-align: center;
	color: #fff;
	padding: 20px 80px;
}


div.achievements_contbox_c .h3_achievements::before,
div.achievements_contbox_c .h3_achievements::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 40px;
	/* 線の長さ */
	height: 2px;
	/* 線の太さ */
	background: #fff;
	/* 線の色 */
	transform: translateY(-50%);
}

div.achievements_contbox_c .h3_achievements::before {
	left: 90px;
}

div.achievements_contbox_c .h3_achievements::after {
	right: 90px;
}

div.achievements_contbox_c .h3_achievements .txt-yellow {
	color: #ffd400;
	font-weight: bold;
}

span.txt-yellow {
	color: #ffde19;
}

div.achievements_contbox_c p {
	text-align: center;
}

div.achievements_contbox_innr_box_item_img {
	margin: 0 auto 10px;
	width: 70%;
}

div.achievements_img_txt {
	display: block;
	text-align: center;
}


/* =====================================================
   レスポンシブ
===================================================== */

@media (max-width:1200px) {

	h3.h3_achievements {
		font-size: 18px;
		line-height: 1.5;
		padding: 20px;
		top: -60px;
	}

	div.achievements_contbox_innr_box_b {
		grid-template-columns: repeat(3, 1fr);
	}

	div.achievements_contbox_innr_box_item_g {
		padding: 15px;
	}

	div.achievements_contbox_innr_box_a {
		gap: 25px;
	}

	div.achievements_contbox {
		padding: 40px 45px 0px;
	}

	div.achievements_contbox_c h3.h3_achievements {
		width: 90% !important;
		padding: 20px;
		position: absolute;
	}
}

@media (max-width:1000px) {
	div.achievements_contbox_innr_box_a {
		gap: 15px;
	}
}

@media (max-width:800px) {

	/* ★ フローを縦並びに切替 */
	div.achievements_contbox_innr_box_a {
		flex-direction: column;
	}

	div.achievements_contbox_innr_box_item_g {
		width: 100%;
		/* ★ はみ出し防止 */
		min-height: auto;
		/* ★ 高さ固定解除 */
	}

	div.contents-wrap_achievements {
		padding-top: 70px;
		padding-bottom: 100px;
	}



	div.achievements_img_txt {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		text-align: left;
	}

	div.achievements_contbox_innr_box_item_img {
		width: 90%;
	}

	div.achievements_contbox_innr_box_a div.achievements_contbox_innr_box_item_img {
		width: 30% !important;
	}

	div.achievements_img_txt p {
		width: 60%;
	}

	div.achievements_item_arrow {
		transform: rotate(90deg);
		margin: 10px auto;
	}

	/* アワードは2列 */
	div.achievements_contbox_innr_box_b {
		grid-template-columns: repeat(2, 1fr);
	}

	div.achievements_contbox_innr_box_item_g {
		padding: 25px;
	}

	p.height_p {
		margin-bottom: 25px !important;
	}
}


@media (max-width:600px) {
	div.achievements_img_txt {
		display: block;
		/* ← flex を解除 */
		text-align: center;
	}

	div.achievements_contbox_innr_box_item_img {
		width: 80%;
		margin: 0 auto 15px;
	}

	div.achievements_img_txt p {
		width: 100%;
		margin: 0 auto;
	}

	div.achievements_contbox_innr_box_a div.achievements_contbox_innr_box_item_img {
		width: 50% !important;
	}
}

@media (max-width:480px) {

	div.contents-wrap_achievements {
		padding: 60px 0;
	}

	div.achievements_contbox {
		padding: 120px 35px 0;
	}

	div.achievements_contbox_innr_box_b {
		grid-template-columns: 1fr;
	}

	div.achievements_contbox_innr_box_item_g {
		padding: 20px;
	}

	h3.h3_achievements {
		font-size: 17px;
	}

	div.achievements_contbox_innr_box_item_img {
		width: 90%;
	}

	div.achievements_contbox_innr_box_b {
		gap: 10px 30px;
	}

	div.achievements_contbox_innr_box_item_award p {
		font-size: 14.5px;
	}
}


/**************************************************************************************************

MONNIT無線センサーの特長

**************************************************************************************************/

div.features_box {
	display: flex;
	justify-content: space-between;
}

ul.features_list {
	margin-bottom: 0;
	list-style: none;
}

ul.features_list li {
	position: relative;
	font-size: 24px;
	padding-left: 40px;
	line-height: 1.7;
	font-weight: bold;
	margin-bottom: 10px;
	margin-left: 10px;
}

ul.features_list li::before {
	content: url(/wp-content/uploads/img/top/features_list_ico.png);
	position: absolute;
	display: block;
	width: 15px;
	top: 3.5px;
	left: 2px;
}



div.features_box div.img-area {
	border: 10px solid #0068AB;
	box-sizing: border-box;
}


div.contents-wrap_features {
	padding-top: 100px;
	padding-bottom: 100px;
}

div.text-area_features {
	margin-top: -200px;
	padding-top: 200px;
}

@media (max-width:1200px) {
	ul.features_list li {
		font-size: 18px;
		padding-left: 30px;
	}

	ul.features_list li::before {

		top: 5.5px;
		left: -8px;
	}

	div.features_box div.img-area {
		width: 52%;
	}


}

@media (max-width:1100px) {
	ul.features_list li {
		font-size: 18px;
	}

	div.features_box {
		display: block;

	}

	div.features_box div.img-area {
		width: 80%;
		margin: 0 auto 30px;
	}

	div.features_txtbox {
		width: 80%;
		margin: 0 auto;
	}


}

@media (max-width:800px) {
	div.features_box div.img-area {
		width: 100%;
	}

	div.features_txtbox {
		width: 100%;
	}

	div.contents-wrap_features {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	div.text-area_features {
		margin-top: -135px;
		padding-top: 135px;
	}


}


@media (max-width:480px) {
	ul.features_list li {
		font-size: 16px;
		line-height: 1.4;
		margin-left: 0;
		padding-left: 30px;
	}


	div.contents-wrap_features {
		padding-top: 60px;
		padding-bottom: 60px;
	}


	p.h2_subtxt_features {
		padding-top: 250px !important;
		margin-top: -250px !important;
	}

	ul.features_list li::before {
		content: url(/wp-content/uploads/img/top/features_list_ico_b.png);
		top: 3.5px;
		left: 1px;
	}
}




/**************************************************************************************************

MONNIT無線センサーのユースケース

**************************************************************************************************/


div.use-case_box {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
}

div.use-case_box_item {
	width: 45%;
	/* margin-bottom: 30px; */
}

h3.use-case_h3 {
	text-align: center;
	color: #fff;
	font-weight: bold;
	padding: 5px;
	background: #0068AB;
	font-size: 22px;
}

h4.use-case_subttl {
	font-size: 24px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 0;
	margin-top: 10px;
}

div.use-case_box_item p {
	line-height: 1.5;
}

div.use-case_img {
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

div.contents-wrap_use-case {
	padding-top: 100px;
	padding-bottom: 120px;
}


p.h3_subtxt {
	text-align: center;
}

@media (max-width:1000px) {
	div.use-case_box_item {
		width: 48%;
	}

	div.use-case_box_item p {
		line-height: 1.6;
	}

	h4.use-case_subttl {
		font-size: 20px;
		margin-bottom: 0;
		margin-top: 15px;
	}

	h3.use-case_h3 {
		padding: 5px;
		font-size: 20px;
		margin-bottom: 15px;
	}
}

@media (max-width:800px) {
	div.contents-wrap_use-case {
		padding-top: 90px;
		padding-bottom: 90px;
	}

	div.text-area_use-case {
		margin-top: -135px;
		padding-top: 135px;
	}
}

@media (max-width:600px) {
	div.use-case_box {
		display: block;
	}

	div.use-case_box_item {
		width: 100%;
	}

	h4.use-case_subttl {
		margin-top: 10px;
	}
}

@media (max-width:480px) {
	div.contents-wrap_use-case {
		padding-top: 60px;
		padding-bottom: 70px;
	}

	div.use-case_box:last-of-type {
		padding-bottom: 60px;
	}
}

/**************************************************************************************************

導入実績

**************************************************************************************************/

div.introduction_results_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

div.introduction_results_box_item {
	width: 18.5%;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	padding: 0 12px 12px;
	margin-bottom: 15px;
}

div.introduction_results_box_item p.introduction_results_name {
	text-align: center;
	height: 55px;
	font-size: 14px;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(2 * 1.4em);
	/* line-height:  1.4; の場合*/
	margin-bottom: 0;
}

div.introduction_results_name_box {
	box-sizing: border-box;
	/* 箱の高さ合わせる */
	background: #EEF2F5;
}

div.intro_logo {
	padding: 10px 10px 15px;
}


div.contents-wrap_introduction_results {
	padding-top: 100px;
	padding-bottom: 120px;
}



@media (max-width:950px) {
	div.introduction_results_box_item {
		width: 30%;
		margin-bottom: 25px;
	}
}

@media (max-width:800px) {
	p.h2_subtxt_introduction_results {
		padding-top: 220px !important;
		margin-top: -220px !important;
	}

	div.contents-wrap_introduction_results {
		padding-top: 90px;
		padding-bottom: 90px;
	}

	div.text-area_introduction_results {
		margin-top: -135px;
		padding-top: 135px;
	}
}

@media (max-width:680px) {
	div.introduction_results_box_item {
		width: 47%;
	}

	div.introduction_results_box_item p.introduction_results_name {
		font-size: 16px;
	}

	div.intro_logo {
		padding: 30px;
	}
}

@media (max-width:480px) {
	div.introduction_results_box_item {
		width: 80%;
		margin: 0 auto;
		margin-bottom: 30px;
	}

	.introduction_results_box_item:last-child {
		margin-bottom: 0;
	}

	div.contents-wrap_introduction_results {
		padding-top: 60px;
		padding-bottom: 60px;
	}


	p.h2_subtxt_introduction_results {
		padding-top: 45px;
		margin-top: -45px;
	}
}

@media (max-width:400px) {
	div.introduction_results_box_item {
		width: 90%;
	}
}

body.is-news-page .inline_contents_wrap {
	padding-bottom: 0;
}

div.contents-wrap_news {
	padding-top: 100px;
	padding-bottom: 120px;
}

div.news-list {
	max-width: 1200px;
	margin: 30px auto 80px;
}

div.news-list .list {
	width: 100%;
	padding: 35px 5px;
	border-top: 1px solid #0a1929;
	display: flex;
	flex-direction: row;
}

div.news-list .list .list--left--box {
	width: 195px;
	margin-right: 20px;
	display: flex;
	flex-direction: row;
}

div.news-list .list:last-child {
	border-bottom: 1px solid #0a1929;
}

div.news-list .list .news-day {
	margin-right: 5px;
}

div.news-list .list .news-category {
	width: 90px;
	font-size: 12px;
	color: #fff;
	background: #0a1929;
	padding: 5px 0 1px;
	text-align: center;
	line-height: 1.2;
}

div.news-list .list .news a {
	margin-right: 10px;
}

div.news-list .list .news span {
	font-size: 10px;
	color: #fff;
	background: #e5004b;
	padding: 3px 8px 2px;
}


a.top_btn3:link,
a.top_btn3:visited,
a.top_btn3:hover,
a.top_btn3:active {
	color: #fff !important;
}

a.h_tel_f:link,
a.h_tel_f:visited,
a.h_tel_f:hover,
a.h_tel_f:active {
	color: #ffffff !important;
}




@media (max-width:800px) {
	div.contents-wrap_news {
		padding-top: 90px;
		padding-bottom: 90px;
	}

	p.h2_subtxt_news {
		padding-top: 75px;
		margin-top: -75px;
	}
}


@media (max-width:480px) {
	div.contents-wrap_news {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	p.h2_subtxt_news {
		padding-top: 45px;
		margin-top: -45px;
	}
}

/**************************************************************************************************

footer

**************************************************************************************************/

footer[role="contentinfo"] {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	background: #333;
	padding: 0;
	margin-top: 0;
	border-top: none;
}

footer[role="contentinfo"] a {
	color: #ffffff;
}

.wt--inn {
	max-width: 1200px;
	margin: auto;
	padding: 60px 0 20px;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.wt--inn .address .address-logo {
	padding-right: 50px;
}

.logo--size {
	width: 180px;
	height: 100%;
}

.wt--inn .address {
	width: 320px;
	padding-right: 60px;
	display: flex;
	flex-direction: column;
	font-size: 13px;
	color: #fff;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}

.wt--inn .menu {
	width: calc(100% - 580px);
	display: flex;
	flex-direction: row;
}

.wt--inn .menu ul.footer-Nav {
	width: calc(50% - 60px);
	margin-right: 60px;
	padding-top: 8px;
}

.wt--inn .address .title {
	font-size: 18px !important;
	font-weight: 600;
	margin-top: 4px !important;
	margin-bottom: 10px !important;
}

.wt--inn .address p {
	font-size: 13px;
	margin-bottom: 0 !important;
	line-height: 1.9;
}

.wt--inn .address a {
	color: #fff !important;
	text-decoration: none;
}

.monnit--inn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	background: #676767;
}

.copy {
	font-size: 13px;
	padding: 10px 0 0;
	color: #fff;
	text-align: center;
	margin-bottom: 0 !important;
	padding-bottom: 5px;
	opacity: 0.5;
	padding-bottom: 15px;
	border-top: 1px solid #ffffff;
}

div.footer_security_box {
	width: 200px;
	padding: 10px;
	color: #0a1929;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
}

.isms_text {
	font-size: 11px;
	padding: 5px 0;
}

.link--blank {
	position: relative;
	padding-right: 26px;
}

.link--blank::after {
	position: absolute;
	content: url(/wp-content/uploads/img/top/blank.svg);
	width: 16px;
	height: 16px;
	top: 0;
	right: 2px;
}

.wt--inn .menu ul.footer-Nav .link--blank span {
	padding-left: 0;
}

.wt--inn .menu ul.footer-Nav .link--blank span::before {
	content: none;
}


img.pmark_img {
	max-width: 85px;
}

img.iso_img {
	max-width: 130px;
}

.wt--inn .menu ul.footer-Nav li a {
	text-decoration: none;
}

.wt--inn .menu ul.footer-Nav li a:hover {
	opacity: 0.5;
	transition: ease .1s;
}

.wt--inn .menu ul.footer-Nav span {
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #fff !important;

}


ul.footer-Nav_b {
	margin-left: 20px;
}

li.footer-Nav_list {
	margin-bottom: 10px;
}

@media (max-width:1200px) {
	.wt--inn {
		width: 90%;
	}

	.wt--inn .address {
		width: 250px;
		padding-right: 0;
	}

	.wt--inn .menu {
		width: calc(100% - 450px);
	}

	.wt--inn .menu ul.footer-Nav {
		margin-right: 30px;
	}

}

@media (max-width:1000px) {
	.wt--inn .menu ul.footer-Nav {
		width: 200px;
	}

	.wt--inn .menu ul.footer-Nav span {
		padding-left: 0;
	}

	.wt--inn .menu {
		display: block;
		width: 30%;
	}
}

@media (max-width:800px) {
	.wt--inn {
		width: 65%;
		margin: 0 auto;
		flex-direction: column;
	}

	.footer_sp-hide {
		display: none;
	}

	.wt--inn .address {
		width: 100%;
		margin-bottom: 30px !important;
	}

	.wt--inn .menu {
		margin-bottom: 40px;
	}

	div.footer_security_box {
		margin: 0 auto;
	}
}

@media (max-width:480px) {
	.wt--inn {
		width: 80%;
	}

	.footer_sp-hide_a {
		display: block !important;
	}
}


/***********************************************************

テキストスクロール

***********************************************************/
.fade-in {
	opacity: 0;
	transition-duration: 500ms;
	transition-property: opacity, transform;
}

.fade-in-up {
	transform: translate(0, 50px);
}

.fade-in-down {
	transform: translate(0, -50px);
}

.fade-in-left {
	transform: translate(-50px, 0);
}

.fade-in-right {
	transform: translate(50px, 0);
}

.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

/* 左から右にフェードイン */
.fadeInLeft.visible {
	animation: fadeInLeft 0.7s ease 0s 1 normal;
}

/* fadeInLeft */
@keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translateX(-30px);
	}

	100% {
		opacity: 1;
	}
}

/* 右から左にフェードイン */
.fadeInRight.visible {
	animation: fadeInRight 0.7s ease 0s 1 normal;
}

/* fadeInLeft */
@keyframes fadeInRight {
	0% {
		opacity: 0;
		transform: translateX(30px);
	}

	100% {
		opacity: 1;
	}
}

/* 下から上にフェードイン */
.fadeInBottom.visible {
	animation: fadeInBottom 1s ease 0s 1 normal;
}

/* fadeInBottom */
@keyframes fadeInBottom {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}

	100% {
		opacity: 1;
	}
}

.fadeInBottom2.visible {
	animation: fadeInBottom2 1s ease 0s 1 normal;
}

/* fadeInBottom */
@keyframes fadeInBottom2 {
	15% {
		opacity: 0;
		transform: translateY(30px);
	}

	100% {
		opacity: 1;
	}
}

.fadeInBottom3.visible {
	animation: fadeInBottom3 1s ease 0s 1 normal;
}

/* fadeInBottom */
@keyframes fadeInBottom3 {
	30% {
		opacity: 0;
		transform: translateY(30px);
	}

	100% {
		opacity: 1;
	}
}


.fadeInBottom4.visible {
	animation: fadeInBottom4 1s ease 0s 1 normal;
}

/* fadeInBottom */
@keyframes fadeInBottom4 {
	45% {
		opacity: 0;
		transform: translateY(30px);
	}

	100% {
		opacity: 1;
	}
}

.pc_hide {
	display: none;
}

.sp_hide {
	display: block;
}



/**************************************************************************************************

SP Gnav

**************************************************************************************************/

.main-sp-navigation {
	display: none;
}

#site-navigation {
	display: block;
}

.hamburger {
	display: none;
}

@media (max-width:1200px) {
	.headerMenuArea .headerMenuArea-inner {
		width: 90%;
	}
}

@media (max-width:800px) {
	.hamburger {
		display: block;
	}

	.main-sp-navigation {
		display: block;
	}

	#site-navigation,
	.menu--area--top {
		display: none;
	}

	.site-header {
		background-color: transparent;
		height: 70px;
	}

	h1 img {
		width: 180px;
	}

	.headerMenuArea {
		padding: 0;
	}

	.headerMenuArea .headerMenuArea-inner {
		width: 100%;
		height: 70px;
		background: #094165;
	}

	.headerMenuArea .headerMenuArea-inner .top--logo--area {
		padding-left: 0;
		margin: 0 auto;
	}

	div.headerMenuArea-inner {
		position: fixed;
		width: 100%;
		height: 90px;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		margin-top: -1px;
		z-index: 3;
	}

	div.headerMenuArea-inner .hamburger {
		display: block;
		position: fixed;
		top: 13px;
		right: 75px;
		width: 28px;
		height: 28px;
		cursor: pointer;
		text-align: center;
		z-index: 3;
	}

	div.headerMenuArea-inner .hamburger span {
		display: block;
		position: absolute;
		width: 28px;
		height: 3px;
		left: 0;
		background: #fff;
		border-radius: 15px;
		-webkit-transition: all 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}

	div.headerMenuArea-inner .hamburger span:nth-child(1) {
		top: 10px;
	}

	div.headerMenuArea-inner .hamburger span:nth-child(2) {
		top: 20px;
	}

	div.headerMenuArea-inner .hamburger span:nth-child(3) {
		top: 30px;
	}

	div.headerMenuArea-inner .hamburger.active {
		-webkit-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		-webkit-transition-delay: 0.6s;
		-o-transition-delay: 0.6s;
		transition-delay: 0.6s;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 20px;
	}

	div.headerMenuArea-inner .hamburger.active span:nth-child(2) {
		width: 0px;
	}

	div.headerMenuArea-inner .hamburger.active span:nth-child(1),
	div.headerMenuArea-inner .hamburger.active span:nth-child(3) {
		-webkit-transition-delay: 0.3s;
		-o-transition-delay: 0.3s;
		transition-delay: 0.3s;
	}

	div.headerMenuArea-inner .hamburger.active span:nth-child(1) {
		-webkit-transform: translateY(4px);
		-ms-transform: translateY(4px);
		-o-transform: translateY(4px);
		transform: translateY(4px);
	}

	div.headerMenuArea-inner .hamburger.active span:nth-child(3) {
		-webkit-transform: translateY(-16px) rotate(90deg);
		-ms-transform: translateY(-16px) rotate(90deg);
		-o-transform: translateY(-16px) rotate(90deg);
		transform: translateY(-16px) rotate(90deg);
	}

	nav.main-sp-navigation {
		position: fixed;
		z-index: 2;
		top: -10px;
		left: 0;
		background: #EEF2F5;
		text-align: left;
		transform: translateY(-100%);
		transition: all 0.9s;
		opacity: .98;
		width: 100%;
		height: 100vh;
	}


	nav.main-sp-navigation ul li {
		position: relative;
		list-style-type: none;
		display: flex;
		flex-wrap: wrap;
		margin-left: 0;
		padding: 8px 35px 8px 35px;
		transition: .25s ease-in-out;
	}

	nav.main-sp-navigation ul li a.product_parent {
		padding-bottom: 0;
	}

	nav.main-sp-navigation ul li.product {
		font-size: 95%;
		padding: 8px 35px 0 10px;
	}

	nav.main-sp-navigation ul li.blank-- {
		position: relative;
	}

	nav.main-sp-navigation ul li.blank--:hover::after,
	nav.main-sp-navigation ul li:hover::after {
		right: 12px;
		transition: .25s ease-in-out;
	}

	nav.main-sp-navigation ul li a {
		position: relative;
		display: block;
		font-size: 18px !important;
		font-weight: 600;
		color: #094165;
		padding: 12px 0 12px 5px;
		text-decoration: none;
		vertical-align: middle;
		width: 100%;
		height: 100%;
	}

	nav.main-sp-navigation ul li a.sp_contact p {
		font-size: 20px !important;
		margin-bottom: 0 !important;
	}

	nav.main-sp-navigation ul li a:link,
	nav.main-sp-navigation ul li a:visited,
	nav.main-sp-navigation ul li a:hover,
	nav.main-sp-navigation ul li a:active {
		color: #094165 !important;
	}

	nav.main-sp-navigation ul li a.sp_contact:link,
	nav.main-sp-navigation ul li a.sp_contact:visited,
	nav.main-sp-navigation ul li a.sp_contact:hover,
	nav.main-sp-navigation ul li a.sp_contact:active {
		color: #094165 !important;
	}

	nav.main-sp-navigation ul li:nth-of-type(1),
	nav.main-sp-navigation ul li:nth-of-type(2) {
		width: 100%;
		box-sizing: border-box;
	}

	nav.main-sp-navigation ul li .sp-menu-form-ico {
		margin-top: -5px;
		width: 30px;
		height: auto;
		margin-right: 10px;
		vertical-align: middle;
	}

	nav.main-sp-navigation ul li .sp-menu-tel-ico {
		width: 30px;
		height: auto;
		margin-right: 5px;
	}

	nav.main-sp-navigation.active {
		transform: translateY(80px);
	}

	/* =========================
   SPメニューのスクロール安定化
   ========================= */

	/* 800px以下で常にスクロールできるようにする */
	nav.main-sp-navigation {
		/* まずスクロール領域を保証 */
		top: 70px;
		/* ヘッダー高に合わせる（70px） */
		bottom: 0;
		/* 高さを bottom で確保 */
		height: auto;
		/* 100vh をやめる */
		overflow-y: auto;
		/* ★常に */
		-webkit-overflow-scrolling: touch;
		/* iOS慣性 */
		overscroll-behavior: contain;
		/* 背面へスクロール伝播しにくく */
	}

	/* transformで位置をずらすとスクロールが死にやすいので、表示/非表示はtopでやる */
	nav.main-sp-navigation {
		transform: translateY(-100%);
		/* いったん残す */
	}

	nav.main-sp-navigation.active {
		transform: translateY(0);
		/* ★ 80px 分は top:70px で吸収 */
	}

	div.headerMenuArea-right {
		display: none;
	}

	h1.site-title {
		margin-left: 0;
	}

	.site-header h1 img {
		display: block;
	}

	.search-button_sp-box {
		display: block;
		padding-right: 20px;
	}
}

@media (max-width:600px) {
	nav.main-sp-navigation {
		overflow-y: scroll;
		scrollbar-color: rgba(255, 255, 255, .2);
	}

	nav.main-sp-navigation ul {
		width: 100%;
	}

	nav.main-sp-navigation ul {
		top: 0;
	}

	nav.main-sp-navigation ul li a {
		font-size: 18px !important;
	}

	nav.main-sp-navigation ul li:nth-of-type(2) {
		border-top: none;
	}

	.headerMenuArea .headerMenuArea-inner .top--logo--area {
		width: 80%;
		padding-left: 0;
	}

	div.headerMenuArea-right .hamburger {
		right: 3%;
	}

	.block_600 {
		display: block !important;
	}

	h1.site-title {
		margin-bottom: 0;
	}

	h1 img {
		width: 160px !important;
	}
}

@media (max-width:480px) {
	.search-button_sp-box {
		padding-right: 10px;
	}

	div.headerMenuArea-inner .hamburger {
		right: 63px;
	}

}

/**************************************************************************************************

footer の 余計な部分を削除

**************************************************************************************************/


@media (max-width:800px) {


	.logo--size {
		padding-right: 20px;
	}
}

@media (max-width:700px) {

	/* スマホ*/
	.pc_hide {
		display: block;
	}

	.sp_hide {
		display: none;
	}
}

@media (max-width:600px) {
	.hide_600 {
		display: none;
	}


	div.footer_security_box {
		margin: 30px auto 0;
	}
}

@media (max-width:500px) {
	.address-text {
		padding-top: 20px;
	}

	ul li {
		flex-direction: column;
		align-items: flex-start !important;
	}

	ul.form_inquiry span:first-of-type {
		flex-basis: 20px !important;
		line-height: 2.2 !important;
	}

	span.category_icon {
		line-height: 21px !important;
	}

	ul span:nth-of-type(2) {
		width: 100%;
	}

	section.reason .inn .box03--list .box03 .inner p.title {
		font-size: 22px;
	}

	div.news-list .list {
		flex-direction: column;
	}

	div.news-list .list .news {
		padding-top: 10px;
	}

	div.page--contents-wrap {
		width: 94%;
		margin: 20px auto auto;
	}

	div.page--contents-wrap .contents--inner .img--area {
		width: 100%;
		margin: auto auto 50px;
	}

	.logo--size_a {
		width: 160px !important;
	}
}

@media (max-width:375px) {
	div.contents-wrap .text-area .point--box span {
		padding: 7px 4px 6px 12px;
	}
}

/* footerの下の非表示 */
.entry-meta {
	display: none;
}


/**************************************************************************************************

PAGE TOP   トップへ戻る

**************************************************************************************************/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 77%;
	z-index: 2;
}

#page-top a {
	text-decoration: none;
	color: #fff;
	width: 60px;
	padding: 10px 10px;
	text-align: center;
	display: block;
	border-radius: 5px;
	line-height: 15px;
	background: #08AFE6;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

#page-top a:link,
#page-top a:visited,
#page-top a:hover,
#page-top a:active {
	color: #ffffff !important;
}

/***********************************************************

お知らせ一覧

***********************************************************/

body.is-news-page div.wrapper {
	padding-top: 140px;
}


.home .topic_pazing_wrap {
	display: none;
}

div.news-list-btn_box {
	text-align: center;
	margin-top: 30px;
}

a.news-list-btn {
	padding: 12px 70px 14px 60px;
	box-sizing: border-box;
	position: relative;
	background: #0068AB;
	color: #ffffff !important;
	border-radius: 35px;
	font-weight: bold;
}

a.news-list-btn:hover {
	color: #ffffff !important;
	background: #0082d6;
	transition: ease .1s;
}

a.news-list-btn::after {
	content: "";
	position: absolute;
	top: 38%;
	bottom: 0;
	right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 10px;
	height: 10px;
	background: url(/wp-content/uploads/img/top/arrow_news.svg) center center / 10px no-repeat;
	transition: all .3s;
}

span.page-numbers {
	background: #0068AB;
	padding: 0 8px 2px;
	border-radius: 15px;
	font-weight: bold;
	color: #ffffff;
	margin: 0 5px;
}

dt.topic_info {
	font-size: 15px;
}

nav.nav-single {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
}

/* お知らせ末尾：会社概要・お問い合わせ */
.news-footer {
	margin-top: 50px;
	padding-top: 25px;
	border-top: 1px solid #a2a2a2;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}

/* 【会社概要】【報道機関からのお問い合わせ先】のラベル */
.news-footer-label {
	margin-top: 28px;
	margin-bottom: 6px;
	font-weight: 700;
	color: #094165;
}

/* 本文テキスト */
.news-footer-body {
	margin: 0;
	line-height: 1.7;
}

/* メール・URLリンク */
.news-footer a {
	color: #0068AB;
	text-decoration: none;
	word-break: break-all;
}

.news-footer a:hover {
	text-decoration: underline;
}

/* お知らせ用見出し */
h2.news_ttl {
	border-left: 5px solid #333;
	padding: 10px 15px;
	font-size: 22px;
	margin-top: 50px;
	margin-bottom: 20px;
	background: #f1f1f1;
	color: #333;

}

p.news-footer_ttl {
	font-weight: bold;
	margin-bottom: 5px;
}

a.news_link span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-color: #333;
	text-underline-offset: 3px;
	text-indent: 0;
}

a.news_link {
	position: relative;
	display: inline-block;
	line-height: 1.6;
}



div.news-footer a.h_tel_f {
	color: #333 !important;
}

.nav-previous,
.previous-image {
	line-height: 1.4;
}

span.nav-previous a:hover,
span.nav-next a:hover {
	text-decoration: underline;
}

@media (max-width: 1200px) {
	nav.nav-single {
		width: 90%;
	}
}

@media (max-width: 800px) {
	body.is-news-page div.wrapper {
		padding-bottom: 80px;
		padding-top: 70px;
	}
}

@media screen and (max-width: 600px) {
	.news-footer {
		font-size: 13px;
		margin-top: 40px;
		padding-top: 20px;
	}

	.news-footer-label {
		margin-top: 22px;
	}
}

/**************************************************************************************************

お問い合わせ（form_inquery.php）

**************************************************************************************************/

div.contact_wrap_inner {
	max-width: 1100px;
	margin: 0 auto;
}

section#contact .form_wrap {
	box-sizing: border-box;
	padding: 0 50px 20px;
	border-radius: 8px;
	max-width: 1200px;
	margin: 40px auto 20px;
	box-sizing: border-box;
}

section#contact .form_wrap p {
	font-size: 16px;
}

form#form_inquiry {
	display: block;
}

.colum_news_wrap01 p {
	margin-bottom: 10px;
	text-indent: -0em;
	padding-left: 0.5em;
}

.colum_news_wrap01 h2 {
	font-size: 22px;
	margin-bottom: 30px;
	margin-top: 50px;
	font-weight: we;
	color: #e64437;
	letter-spacing: 1px;
	position: relative;
	padding: .5em .75em;
	background-color: #fffdf3;
	border: 2px solid #ccc;
	border-radius: 5px;
}

.colum_news_wrap01 h2.seminar_form_h2 {
	border: 0;
	background: #e64437;
	text-align: center;
	margin-bottom: 0;
	color: #fff;
	padding: 5px;
	margin-top: 0;
}

input[type="checkbox"] {
	margin-left: 10px;
	margin-top: 5px;
	display: inline-block;
	width: 15px;
	height: 15px;
	position: static;
	bottom: auto;
	margin-top: 0;
	margin-bottom: -2px;
}

p.page-link_cta_subtxt_b {
	font-weight: bold;
	font-size: 15px;
	text-align: center;
	margin: 30px auto 0;
}


/* flexbox form text */
span.hissu {
	font-size: 11px !important;
	font-weight: 700;
	color: #fff;
	background: #0068AB;
	margin-left: 10px;
	padding: 1px 6px 2px 5px;
}

p.error {
	color: red;
	font-weight: bold;
	font-size: smaller;
	margin-bottom: 5px;
	margin-left: 0px;
}


ul.form_inquiry>li:first-of-type {
	align-items: flex-start;
}

ul.form_inquiry {
	font-size: 15px;
	margin-bottom: 0;
}

.required {
	color: inherit;
}

input[type="submit"] {
	width: 220px;
	padding: 12px 0;
	background: #0068AB;
	border-radius: 25px;
	border: 0;
	color: #FFF;
	letter-spacing: 2px;
	font-size: 15px;
	font-weight: 600;
	transition: ease .3s;
}

input[type="submit"]:hover {
	color: #fff;

	background: #08AFE6;
	transform: scale(1.2);
	transition: ease .1s;
}

input[type="submit"]:active {
	box-shadow: none;
}

textarea#etc_text {
	margin-left: 0;
}

ol li {
	flex-wrap: inherit;
	align-items: inherit;
	list-style-type: decimal;
	display: list-item;
}

ul.form_inquiry li {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

ul.form_inquiry li {
	margin: 15px 10px 10px;
	margin-left: 0;
	border-bottom: 1px dashed #e1e1e1;
	padding-bottom: 15px;
}

ul.form_inquiry span:first-of-type {
	-webkit-flex-basis: 170px;
	flex-basis: 170px;
	font-weight: 500;
}

ul.form_inquiry span:nth-of-type(2) {
	-webkit-flex-basis: calc(100% - 170px);
	flex-basis: calc(100% - 170px);
	-webkit-flex-grow: 1;
	flex-grow: 1;
}

ul.form_inquiry li.headline {
	margin-left: 10px;
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

ul.form_inquiry input[type="text"],
ul.form_inquiry textarea {
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


.other-row input[type="checkbox"] {
	bottom: 0;
	/* ← -3px を打ち消す */
	margin-top: 0;
}

/* その他行は必ずブロックとして扱う */
.checkboxRequired2 .other-row {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	white-space: nowrap;
}


/* 「その他」ラベル（文字部分） */
.checkboxRequired2 .other-row>span,
.checkboxRequired2 .other-row>label,
.checkboxRequired2 .other-row {
	line-height: 1.6;
}



/* チェックボックスと「その他」文字の横並びは維持 */
.checkboxRequired2 .other-row input[type="checkbox"] {
	flex: 0 0 auto;
	margin: 0;
}

/* その他テキストボックス */
.checkboxRequired2 .other-row .anke2-box {
	flex: 1 1 auto;
	/* ← 残り幅を使う */
	min-width: 0;
	/* ← はみ出し防止の要 */
	box-sizing: border-box;
}

.checkboxRequired2 .other-row::before {
	content: "";
}

@media (max-width:1200px) {
	section#contact .form_wrap {
		width: 100%;
		padding: 40px 35px 20px;
	}

	div.contact_wrap_inner {
		width: 90%;
		margin: 0 auto;
	}

	p.page-link_cta_subtxt_b {
		width: 75%;
	}

	section#contact .form_wrap {
		padding-top: 0;
		margin-top: 0;
	}

}

@media (max-width:800px) {
	ul.form_inquiry li {
		display: block;
	}

	p.page-link_cta_subtxt_b {
		width: 100%;
	}



	ul.form_inquiry li span.form_item_name {
		display: block;
	}

	ul.form_inquiry li span.form_item_name_a {
		margin-bottom: 5px;
	}

	li.send--btn {
		display: flex !important;
	}

	ul.form_inquiry input[type="text"],
	ul.form_inquiry textarea {
		margin-top: 7px;
	}


	.other-row .anke2-box {
		width: 100%;
	}
}

@media (max-width:600px) {
	section#contact .form_wrap {
		padding: 0;
	}
}


@media (max-width:500px) {
	li.send--btn {
		align-items: center !important;
	}

}

@media (max-width:480px) {
	ul.form_inquiry li {
		margin: 10px;
		margin-left: 0;
	}

	ul.form_inquiry li.headline {
		margin-left: 0;
	}

	textarea#etc_text {
		margin-left: 0;
	}

	p.error {
		margin-left: 0px;
	}

	section#contact .form_wrap {
		width: 100%;
		margin: 0 auto 20px;
		box-sizing: border-box;
	}


	ul.form_inquiry li {
		margin-right: 5px;
	}

	ul.form_inquiry {
		margin-left: 5px;
	}
}

button,
input,
select,
textarea {
	border: 1px solid #ccc;
	border-radius: 3px;
	font-family: inherit;
	padding: 6px;
	padding: 10px;
	background: #fff;
}

span.att_blue {
	color: #41b1ff;
	font-size: 11px;
}


.error-left {
	margin-left: 170px !important;
}

p.error {
	color: red;
	font-weight: bold;
	font-size: smaller !important;
	margin-bottom: 5px;
	margin-left: 0;
	padding: 0 !important;
}




/**************************************************************************************************

お問い合わせエリア

**************************************************************************************************/


div.top_cta_area {
	width: 100%;
	margin: auto;
	padding: 70px 0;

	background-color: #094165;

}

div.text-animation h2 {
	font-size: 42px;
	text-align: center;
}

div.cta-box {
	color: #fff;
	display: flex;
	justify-content: space-around;
	margin-top: 30px;
}

div.cta-box a {
	color: #fff;
	text-decoration: none;
}


div.cta_left_box,
div.cta_right_box {
	text-align: center;
	width: 100%;
	height: 260px;
	margin: auto;
	display: flex;
	flex-wrap: nowrap;
	text-align: center;
	justify-content: center;
}

div.cta_left_box {
	border-right: 1px solid #ffffff;
}

div.cta_inner h3 {
	font-size: 22px;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 30px;
	margin-top: 0;
}

div.cta_btn a.top_btn3 {
	background: #FFF957;
	padding: 7px 18px;
	border-radius: 20px;
	font-size: 20px;
	font-weight: 500;
	color: #094165 !important;
	font-weight: bold;
}

div.cta_inner div.tel_text a {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
	margin-left: 20px;
}

div.cta_inner p.comment {
	margin-bottom: 45px;
}


div.cta_btn a.top_btn3:hover {
	background: #08AFE6;
	color: #ffffff !important;
}


div.cta_inner div.tel_text a::before {
	content: url(/wp-content/uploads/img/cta_area_tel_icon.png);
	width: 27px;
	height: 27px;
	float: left;
	margin-top: 4px;
	margin-left: -22px;
	margin-right: 8px;

}

p.page-link_cta {
	text-align: center;
}

@media (max-width:800px) {
	div.cta-box {
		display: block;
	}



	div.cta_left_box {
		border-right: none;
		border-bottom: 1px solid #ffffff;
	}

	div.cta_right_box {
		margin-top: 30px;
	}

	p.cta_ttl {
		margin-top: -165px;
		padding-top: 165px;
	}

	div.top_cta_area {
		padding: 70px 0 10px;
	}

}

@media (max-width:600px) {
	div.text-animation h2 {
		font-size: 36px;
		margin-bottom: 40px !important;
	}

	div.cta-box {
		margin-top: 0;
	}

	div.cta_btn a.top_btn3 {
		font-size: 18px;
		font-weight: bold;
	}

	div.cta_inner div.tel_text a {
		font-size: 34px;
	}

	div.cta_inner div.tel_text a::before {
		content: url(/wp-content/uploads/img/cta_area_tel_icon_b.png);
		width: 27px;
		height: 27px;
		margin-left: 10px;
		margin-right: -31px;
		margin-top: 2px;
	}

}

@media (max-width:480px) {

	p.page-link_cta,
	p.page-link_cta_subtxt_b {
		text-align: left;
	}
}

@media (max-width:400px) {
	div.cta_inner div.tel_text a {
		font-size: 33px;
	}

	div.cta_inner div.tel_text a::before {
		margin-left: 20px;
		margin-right: -36px;
		margin-top: 2px;
	}

	div.cta_inner h3 {
		font-size: 20.5px;
	}
}




/***********************************************************

製品（センサー・ゲートウェイ・ソフトウェア）

***********************************************************/


div.category_term-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2rem;
	/* ← 横方向のみ */
	align-items: stretch;
	/* ★高さ揃える */
	justify-content: space-between;
	margin-bottom: 80px;
}

div.category_term-list>.category_term-card {
	margin-bottom: 2rem;
	/* 行間の余白 */
}

div.category_term-card {
	width: 31%;
	border-radius: 3px;
	padding: 21px;
	text-align: center;
	line-height: 1.5;
	border: 1px solid rgba(0, 0, 0, .15);
	display: flex;
	flex-direction: column;
	box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
	box-sizing: border-box;
	transition: transform .25s ease;
	flex-direction: column;
	height: auto;
}

/* a をブロック要素にしてカード全体をクリック可能に */
.category_term-card_link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
	color: inherit;
}

/* ホバーエフェクトは div.category_term-card に適用したままでOK */
.category_term-card:hover {
	transform: translateY(-2px);

	border-color: #0068ab;
}

div.category_term-list::after {
	content: "";
	width: 31%;
	/* 左揃え用 */
	height: 0 !important;
	/* 余白を発生させない */
	margin: 0 !important;
	/* gap の影響も受けない */
	padding: 0 !important;

}

div.category_term-card_topbox {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

div.category_term-card img {
	margin-bottom: 1rem;
}

div.category_term-card h3 {
	font-size: 1.2rem;
	margin-bottom: 0.5rem;
}

div.category_term-card p {
	font-size: 15px;
	color: #333;
}

div.category_term-card_desc {
	margin-bottom: 35px;
	text-align: left;
}

.category_term-card a.archive-cat-detail-link {
	display: block;
	margin-top: auto;
	padding: 12px 20px;
	text-align: center;
	border-radius: 5px;
	background: #0068AB;
	color: #fff;
	font-weight: 700;
	letter-spacing: .1em;
	transition: background .25s ease;
}

.category_term-card a.archive-cat-detail-link:link,
.category_term-card a.archive-cat-detail-link:visited,
.category_term-card a.archive-cat-detail-link:hover,
.category_term-card a.archive-cat-detail-link:active {
	color: #ffffff !important;
}

/* ボタン */
.category_term-card span.archive-cat-detail-link {
	background: #0073aa;
	color: #fff !important;
	font-weight: bold;
	padding: 12px 20px;
	border-radius: 4px;
	text-decoration: none;
	display: block;
	margin-top: auto;
	text-align: center;
}



/* ■■■■ archive-sensors.php ■■■■ */
/* ■■■■ archive-gateways.php ■■■■ */
/* ■■■■ archive-platform.php ■■■■ */

/* 共通：リンクボタンスタイル */
.product-type-nav {
	display: flex;
	justify-content: center;
	gap: 1.5rem;
	font-size: 17px;
}


.product-type-nav a.active {
	background: #08AFE6;
	color: #fff;
	box-shadow: 0 .3rem 0.7rem rgba(0, 0, 0, .2);
}

div.archive-sensors,
div.archive-gateways,
div.archive-platform {
	box-sizing: border-box;
	background-color: #fff;
}

div.breadcrumb_box_innr,
div.archive-sensors_cont_innr,
div.archive-gateways_cont_innr,
div.archive-platform_cont_innr {
	max-width: 1200px;
	margin: 0 auto;
}

div.archive-sensors_cont_innr,
div.archive-gateways_cont_innr,
div.archive-platform_cont_innr {
	margin: 50px auto 0;
}

div.archive-httl-box {
	text-align: center;
	margin-bottom: 50px;
}

div.archive-sensors h1,
div.archive-gateways h1,
div.archive-platform h1 {
	font-size: 40px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 20px;
	line-height: 1.4;
}


h2.sensor-group-title {
	font-size: 26px;
	text-align: center;
	color: #ffffff;
	font-weight: normal;
	padding: 10px;
	margin-bottom: 35px;
	line-height: 1.4;
}

h2.sensor-group-title span.group-note {
	font-size: 88%;
}

div.sensor-group-label_box {
	text-align: end;
	margin-bottom: 20px;
}

.sensor-group-label {
	display: inline-block;
	padding: 4px 14px;
	font-size: 12px;
	font-weight: normal;
	border-radius: 2px;
	vertical-align: middle;
	letter-spacing: .05em;
}

.sensor-group-environmental {
	background: #48bfa4;
}

.sensor-group-power {
	background: #f76666;
}

.sensor-group-motion {
	background: #fdbf5c;
}

/* Environmental */
.group-environmental {
	background: #48bfa4;
	color: #fff;
}

/* Power */
.group-power {
	background: #f76666;
	color: #fff;
}

/* Motion */
.group-motion {
	background: #fdbf5c;
	color: #fff;
}



h2.archive-cat-ttl {
	font-size: 22px;
	color: #000000;
	text-align: left;
	margin-bottom: 20px;
	line-height: 1.4;
}



span.archive-cat-ttl_sub {
	display: block;

}

div.category_term-card_topbox_l {
	width: 75%;
}

div.category_term-card_topbox_r {
	width: 20%;
}

div.archive-sensors h2.archive-cat-ttl span.slash,
div.archive-gateways h2.archive-cat-ttl span.slash,
div.archive-platform h2.archive-cat-ttl span.slash {
	display: none;
}

div.archive-sensors h2.archive-cat-ttl span.sub_ja,
div.archive-gateways h2.archive-cat-ttl span.sub_ja,
div.archive-platform h2.archive-cat-ttl span.sub_ja {
	display: block;
	font-size: 15px;
	margin-top: 10px;
}

/* トップリンクボタンの色調整 */
.product-type-nav {
	display: flex;
	gap: 60px;
	margin-bottom: 60px;
}

.product-type-nav a {
	font-weight: bold;
	margin-top: 50px;
	width: 160px;
	text-align: center;
	display: inline-block;
	padding: 15px 20px;
	text-decoration: none;
	background-color: #f0f0f0;
	/* デフォルトの薄い色 */
	border-radius: 5px;
	transition: background-color 0.3s ease;
}

.product-type-nav a:link,
.product-type-nav a:visited,
.product-type-nav a:hover,
.product-type-nav a:active {
	color: #094165 !important;
}

/* 現在のページのボタン */
.product-type-nav a.active {
	background-color: #0073aa;
	/* 濃いブルー */
	color: white !important;
	font-weight: bold;
}

.product-type-nav a.active {
	background-color: #0073aa !important;
	/* WordPressブルーなど任意の色 */
	color: #fff !important;
	font-weight: bold;
}

/* ホバーで色が濃くなる（現在のページ以外のボタン） */
.product-type-nav a:not(.active):hover {
	background-color: #0073aa;
	color: white !important;
	transition: ease .1s;
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  sensor/gateway/platform の親ページ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

div.term_cont_innr {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 0;
	font-size: 18px;
	line-height: 1.4;
}

div.term_wrap_sensors,
div.term_wrap_platform {
	padding-bottom: 120px;
}

div.term_cont_innr_sensors div.top-img_sp,
div.term_cont_innr_gateways div.top-img_sp,
div.term_cont_innr_platform div.top-img_sp {
	display: none;
}

div.term_cont_innr_sensors div.top-img_pc,
div.term_cont_innr_gateways div.top-img_pc,
div.term_cont_innr_platform div.top-img_pc {
	display: block;
	margin-bottom: 40px;
}

div.term_cont_innr_bottom {
	padding-bottom: 150px;
}

div.term_cont_innr h1 {
	font-size: 34px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 0 !important;
}

div.term_usecase {
	margin-bottom: 40px;
	padding: 20px 35px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 3px;
}

div.usecase--img {
	width: 70%;
	margin: 30px auto 0;
}

div.usecase--img img {
	box-shadow: 0 1px 4px rgba(0, 0, 0, .2) !important;
}

div.usecase_item_bootm {
	margin-bottom: 0;
}

div.term_cont_innr div.top-img_pc_bottom,
div.term_cont_innr div.top-img_sp_bottom {
	margin-bottom: 40px;
}

div.single-product_txtbox-top div.term_usecase {
	padding: 20px !important;
	margin-top: 25px !important;
	margin-bottom: 0 !important;
}

p.term_usecase_head {
	margin-bottom: 10px;
	color: #094165;
	font-weight: bold;
	font-size: 22px;
}

span.term_usecase_head_sub {
	font-weight: bold;
}

div.term_usecase ul {
	padding-left: 25px;
}

div.term_usecase ul li {
	font-size: 17px;
	margin-bottom: 10px;
	list-style: disc !important;
	line-height: 1.5;
}

div.term_usecase ul li:last-child {
	margin-bottom: 0;
}

div.product-linkbox {
	margin-bottom: 30px;
}

a.product-link-btn {
	font-weight: bold;
}

div.product-linkbox p {
	background: #EEF2F5;
	padding: 10px 15px 12px 47px;
	margin-bottom: 20px;
	position: relative;
	border-radius: 3px;
	line-height: 1.5;
}

div.product-linkbox p:hover {
	background: #ddecf8;
	transition: ease .1s;
}

div.product-linkbox p::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	bottom: 0;
	left: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	background: url(/wp-content/uploads/img/product/product-link_arrow.svg) center center / 20px no-repeat;
	transition: all .3s;
}

h2.product_ttl_a {
	border-left: 5px solid #0068AB;
	padding: 10px 15px;
	font-size: 22px;
	margin-top: 50px;
	margin-bottom: 20px;
	background: #EEF2F5;
	color: #0068AB;
}

h3.product_ttl_b {
	font-size: 20px;
	color: #0068AB;
	position: relative;
	padding-left: 25px;
	margin-top: 30px;
	margin-bottom: 8px;
}

h3.product_ttl_b::before {
	position: absolute;
	content: "■";
	font-size: 16px;
	top: 3px;
	left: 0;
}

div.product_attection {
	margin-bottom: 150px;
	text-align: right;
	margin-top: 90px;
}


.term_wrap_sensors h2.page-product--ttl_b {
	border-left: 5px solid #0068AB;
	padding: 10px 15px;
	font-size: 22px;
	margin-top: 60px;
	margin-bottom: 20px;
	background: #EEF2F5;
	color: #0068AB;
}

.term_wrap_sensors ul.normal-list {
	font-size: 17px;
	border: 5px solid #EEF2F5;
	border-radius: 10px;
	margin-top: 5px;
	padding: 15px 15px 10px 40px;
}

.term_wrap_sensors ul.normal-list li {
	margin-bottom: 5px;
	list-style: disc;
}

.term_wrap_sensors h3.page-product--ttl_b {
	font-size: 20px;
	color: #0068AB;
	position: relative;
	padding-left: 25px;
	margin-top: 30px;
	margin-bottom: 8px;
}

.term_wrap_sensors h3.page-product--ttl_b::before {
	position: absolute;
	content: "■";
	font-size: 16px;
	top: 3px;
	left: 0;
}

/* sensors-xxxxxx.php（自動出力ページ）では非表示にする */
.term_wrap_sensors .single-product_attection {
	display: none !important;
}

/* カスタム投稿タイプの個別ページでは通常通り表示 */
.single-product_attection {
	display: block;
	margin-top: 35px;
	text-align: right;
}

/* ▼リンク全体をブロックにして折り返し制御を安定 */
.dl_link {
	position: relative;
	display: inline-block;
	padding-left: 24px;
	/* 1行目だけの余白 */
	line-height: 1.6;
}

/* ▼テキストが折り返しても2行目以降は左に揃える */
.dl_link span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-color: #333;
	text-underline-offset: 3px;
	/* 2行目以降のインデントをゼロに戻す */
	text-indent: 0;
}

/* ▼青丸（絶対配置で1行目の先頭固定） */
.dl_link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.37em;
	/* 行の高さに合わせて微調整 */
	width: 18px;
	height: 18px;
	background: #0074b9;
	border-radius: 50%;
}

/* ▼白い三角矢印 */
.dl_link::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 0.57em;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 7px;
	border-color: transparent transparent transparent #ffffff;
}

/* === 固定ヘッダー付き ソフトウェア比較表 CSS（clone方式）START=== */

tr.table-caption th {
	background: #ffffff;
	padding: 85px 14px 20px;
	text-align: center;
	border-right: 3px solid #ffffff;
	border-left: 3px solid #ffffff;
	border-top: none;
	font-size: 18px;
	font-weight: bold;
}

thead th.head_b_a,
thead th.head_b_b {
	background: #0068AB;
	color: #ffffff;
	font-weight: bold;
}

.platform-comparison-table {
	width: 100%;
	border-collapse: collapse;
}

.platform-comparison-table th.head_b_a {
	width: 28% !important;
	vertical-align: middle;
}

.platform-comparison-table th.head_b_b,
.platform-comparison-table td.head_b_b {
	width: 18%;
}

.platform-comparison-table th,
.platform-comparison-table td {
	padding: 10px 14px;
	border: 1px solid #9d9d9d;
	background: #fff;
	text-align: center;
	width: 18% !important;
}

.platform-comparison-table th {
	text-align: left;
}

/* 固定ヘッダー */
.fixed-header {
	position: fixed;
	top: 140px;
	left: 0;
	z-index: 10;
	display: none;
	pointer-events: none;
	border-collapse: collapse;
}

.fixed-header th {
	padding: 10px 14px;
	border: 1px solid #ddd;
	color: #ffffff;
	font-weight: bold;
	text-align: center !important;
	background: #0068AB;
	box-sizing: border-box;
}

.fixed-header .table-caption th {
	border-left: none !important;
	border-right: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	color: #000 !important;
}

table.platform-comparison-table_sp {
	display: none;
}

th.section-title_pc {
	background: #EEF2F5;
}

article.embedded-child-post {
	margin-bottom: 70px;
}

p.product-attention {
	text-align: right;
}


/* 📱 幅800px以下 */
@media screen and (max-width: 800px) {

	div.term_cont_innr_sensors div.top-img_sp,
	div.term_cont_innr_gateways div.top-img_sp,
	div.term_cont_innr_platform div.top-img_sp {
		display: block;
		margin-bottom: 40px;
	}


	div.term_cont_innr_sensors div.top-img_pc,
	div.term_cont_innr_gateways div.top-img_pc,
	div.term_cont_innr_platform div.top-img_pc {
		display: none;
	}

	.fixed-header {
		top: 70px !important;
	}

	div.platform-comparison-wrapper_pc {
		display: none;
	}

	table.platform-comparison-table_sp {
		display: block;
	}

	/* スマホ表示のテーブル */
	.platform-comparison-table_sp {
		width: 100%;
		border-collapse: collapse;
	}

	/* ===== thead 全体を固定（1行目）===== */
	.platform-comparison-table_sp thead tr.table-caption th {
		position: sticky;
		top: 70px;
		background: #ffffff;
		z-index: 20;
		padding: 55px 14px 20px;
		color: #333333;
		border: none;
		font-size: 16px;
	}

	/* 左右の枠線を非表示にする白帯（左） */
	.platform-comparison-table_sp thead tr.table-caption th::before {
		content: "";
		position: sticky;
		top: 70px;
		/* thと完全に一致 */
		left: -10px;
		/* はみ出し分調整 */
		width: 12px;
		/* 外枠線を覆う十分な幅 */
		height: 1px;
		background: #fff;
		z-index: 19;
		/* thより前面 */
		display: block;
	}

	/* 右側も同様に隠す */
	.platform-comparison-table_sp thead tr.table-caption th::after {
		content: "";
		position: sticky;
		top: 70px;
		right: -10px;
		width: 12px;
		height: 1px;
		background: #fff;
		z-index: 19;
		display: block;
	}

	/* ===== 製品名行（2行目）も固定 ===== */
	.platform-comparison-table_sp thead tr:not(.table-caption) th {
		position: sticky;
		top: 168px;
		/* ★1行目＋余白分 */
		background: #0068AB;
		z-index: 19;
		width: 25% !important;
	}

	/* PC用表を非表示 / SP表を表示 */
	.platform-comparison-table-container {
		display: none;
	}

	.platform-comparison-table_sp {
		display: table;
		/* 表として表示 */
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
	}

	/* 製品名行（thead） */
	.platform-comparison-table_sp thead th {
		background: #0068AB;
		color: #fff;
		font-weight: bold;
		text-align: center;
		padding: 10px;
		border: 1px solid #ddd;
	}

	/* 項目セクション（利用形式 / 価格 など） */
	.platform-comparison-table_sp th.section-title {
		background: #EEF2F5;
		text-align: center;
		font-weight: bold;
		padding: 10px;
		border: 1px solid #ddd;
	}

	/* データセル */
	.platform-comparison-table_sp td {
		padding: 10px;
		border: 1px solid #ddd;
		text-align: center;
		background: #fff;
	}

	/* 行間少し余裕 */
	.platform-comparison-table_sp tbody tr {
		display: table-row;
	}

	/* span (英語表記) 調整 */
	.platform-comparison-table_sp thead th span {
		font-size: 85%;
		display: block;
		opacity: 0.9;
	}

	.platform-comparison-table_sp tr.table-caption th {
		padding: 30px 0 10px;
	}

	div.usecase--img {
		width: 100%;
	}
}

@media screen and (max-width:600px) {
	article.embedded-child-post {
		margin-bottom: 0;
	}

	div.term_cont_innr {
		padding-top: 20px;
	}


	div.term_wrap_sensors,
	div.term_wrap_platform {
		padding-bottom: 90px;
	}


	h2.sensor-group-title {
		font-size: 21px;
	}

	h2.platform-group-title {
		font-size: 21px;
	}
}

@media screen and (max-width:480px) {
	div.product_attection {
		text-align: left;
	}

	div.term_wrap_sensors,
	div.term_wrap_platform {
		padding-bottom: 70px;
	}
}

/* === 固定ヘッダー付き ソフトウェア比較表 CSS（clone方式）END=== */



@media screen and (max-width:1200px) {
	div.term_cont_innr {
		width: 90%;
	}

	div.archive-sensors_cont_innr,
	div.archive-gateways_cont_innr,
	div.archive-platform_cont_innr {
		width: 90%;
	}

	div.category_term-card {
		width: 48%;
	}

	div.category_term-list::after {
		content: "";
		display: block;
		width: 48%;
	}

	ul.fontsize {
		font-size: 16px;
	}

	div.term_usecase ul li {
		font-size: 16px;
	}

}


@media screen and (max-width:800px) {


	div.category_term-list {
		display: block;
		margin: 0 auto;
		width: 100%;
		margin-bottom: 80px;
	}

	div.category_term-card {
		width: 100%;
		margin-bottom: 40px;
	}

}


@media screen and (max-width:600px) {

	div.archive-sensors h1,
	div.archive-gateways h1,
	div.archive-platform h1 {
		font-size: 32px;
	}

	div.term_cont_innr h1 {
		font-size: 28px;
	}

	div.term_usecase {
		margin: 25px 0 36px;
		padding: 15px 25px;
	}


	div.term_usecase ul li {
		line-height: 1.5;
	}


	div.category_term-list {
		width: 100%;
	}

	div.term_cont_innr_bottom {
		padding-bottom: 55px;
	}

	div.product_attection {
		margin-bottom: 100px;
	}

	h2.product_ttl_a {
		font-size: 22px;
	}
}

@media screen and (max-width:480px) {
	div.category_term-list {
		margin-bottom: 50px;
	}

	div.category_term-card {
		margin-bottom: 25px;
	}

	p.term_usecase_head {
		font-size: 20px;
	}

	.product-type-nav {
		margin-bottom: 40px;
	}

	div.archive-sensors h1,
	div.archive-gateways h1,
	div.archive-platform h1 {
		font-size: 32px;
	}

	div.term_cont_innr h1 {
		font-size: 26px;
	}

	div.term_usecase {
		padding: 15px;
	}

}

/* センサー・ゲートウェイ・ソフトウェアのカスタム投稿タイプの個別ページ */


div.post_product_cont_innr {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

div.ttl-innr_product {
	background: transparent;
}

div.ttl-innr_product {
	max-width: 1200px;
	margin: 50px auto 0;
}

div.ttl-innr_product div.title {
	width: 100%;
	text-align: left;
}

h1.single-product_ttl,
h2.single-product_ttl {
	color: #ffffff !important;
	background: #0068AB !important;
	padding: 5px 17px 8px !important;
	margin: 24px 0 !important;
	font-size: 22px !important;
	letter-spacing: 0.05em !important;
	line-height: 1.5 !important;
}


div.single-product_item_inner {
	display: flex;
	justify-content: space-between;
}

div.single-product_imgbox {
	width: 33%;
}

div.single-product_txtbox {
	width: 63%;
	display: flex;
	flex-direction: column;
}


div.single-product_txtbox-top {
	margin-bottom: 10px;
}

div.datesheet {
	padding: 15px 30px;
	border: 1px solid rgba(0, 0, 0, .15);
	box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
	border-radius: 3px;
}

p.datesheet_ttl {
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 17px;
	color: #094165;
}

a.datesheet_pdf_link {
	display: block;
	/* ★必須 */
	text-decoration: none;
}

a.datesheet_pdf_link p {
	position: relative;
	/* ★基準点をここに */
	background: #EEF2F5;
	padding: 12px 12px 12px 48px;
	font-size: 15px;
	color: #0068AB;
	line-height: 1.5;
	z-index: 1;
	box-sizing: border-box;
	margin-bottom: 5px;
}

a.datesheet_pdf_link p:hover {
	text-decoration: underline;
}

a.datesheet_pdf_link p::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	background: url(/wp-content/uploads/img/product/pdf_icon.svg) no-repeat center / contain;
	z-index: 2;
}

article.sensor-child div.sensor-single--content {
	padding-bottom: 90px;
}

@media screen and (max-width:1200px) {

	div.ttl-innr_product,
	div.post_product_cont_innr {
		width: 90%;
	}

	div.term_wrap div.ttl-innr_product,
	div.term_wrap div.post_product_cont_innr {
		width: 100%;
	}

	article.sensor-parent div.ttl-innr_product,
	article.gateway-parent div.ttl-innr_product,
	article.platform-parent div.ttl-innr_product {
		width: 100% !important;
	}

	span.single-product_ttl_ja {

		font-size: 16px;
	}

	article.sensor-child div.breadcrumb_box div.breadcrumb_box_innr div.breadcrumb span.single-product_ttl_ja,
	article.platform-child div.breadcrumb_box div.breadcrumb_box_innr div.breadcrumb span.single-product_ttl_ja,
	div.ttl-innr_product h1.single-product_ttl span.single-product_ttl_ja,
	div.ttl-innr_product h2.single-product_ttl span.single-product_ttl_ja {
		display: inline !important;
	}

}

@media screen and (max-width:1000px) {

	h1.single-product_ttl,
	h2.single-product_ttl {
		text-align: center;
		margin-bottom: 0 !important;
	}

	div.single-product_item_inner {
		display: block;
	}

	div.single-product_imgbox {
		width: 480px;
		margin: 15px auto;
	}

	div.single-product_txtbox {
		width: 100%;
	}
}

@media screen and (max-width:800px) {
	.product-type-nav {
		gap: 30px;
	}

	article.sensor-child div.breadcrumb_box div.breadcrumb_box_innr div.breadcrumb span.single-product_ttl_ja,
	article.platform-child div.breadcrumb_box div.breadcrumb_box_innr div.breadcrumb span.single-product_ttl_ja,
	div.ttl-innr_product h1.single-product_ttl span.single-product_ttl_ja,
	div.ttl-innr_product h2.single-product_ttl span.single-product_ttl_ja {
		display: block !important;
	}

}

@media screen and (max-width:600px) {

	div.single-product_imgbox {
		width: 350px;
	}

	div.post_product_cont_innr {
		padding: 0 0 55px;
	}


	div.single-product_txtbox-top {
		margin-bottom: 30px;
	}


	h1.single-product_ttl,
	h2.single-product_ttl {
		margin-bottom: 0 !important;
		font-size: 20px !important;
		padding: 8px 12px 11px !important;
	}


	div.datesheet {
		padding: 15px 15px;
	}

	.product-type-nav {
		display: block;
		margin: 30px auto 60px;
	}

	.product-type-nav a {
		display: block;
		width: 280px;
		margin: 20px auto 0;
		padding: 15px;
	}

	div.archive-httl-box {
		margin-bottom: 30px;
	}

	div.archive-sensors,
	div.archive-gateways,
	div.archive-platform {
		padding-bottom: 50px;
	}


	a.product-link-btn span.single-product_ttl_ja {
		display: block !important;
	}

	div.ttl-innr_product {
		margin-top: 10px;
	}
}

@media screen and (max-width:480px) {
	div.single-product_imgbox {
		width: 100%;
	}

	.product-type-nav a {
		margin: 25px auto 0;
	}

	div.archive-sensors,
	div.archive-gateways,
	div.archive-platform {
		padding-bottom: 30px;
	}


}

@media screen and (max-width:320px) {
	.product-type-nav a {
		width: 90%;
	}

}

/***********************************************************

活用事例

***********************************************************/


/* 活用事例一覧ページ */

.use-case-archive {
	padding: 50px 0 80px;
	max-width: 1200px;
	margin: 0 auto;
}

.use-case-archive div.archive-httl-box h1 {
	font-size: 40px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 20px;
}

.use-case-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 30px;
	margin: 40px 0;
}

.use-case-card {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	width: calc(33.333% - 20px);
	padding: 20px;
	text-align: left;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	transition: transform 0.2s ease;
	width: 31%;
	display: flex;
	flex-direction: column;
}

.use-case-card:hover {
	transform: translateY(-2px);
	border-color: #0068ab;
}

.use-case-thumb {
	width: 100%;
	height: 160px;
	margin-bottom: 15px;
	overflow: hidden;
	/* 枠外にはみ出さない */
	background: #f8f8f8;
	/* 背景を淡いグレーに（任意） */
}

.use-case-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* 縦横比を保ったまま全体を収める */
	display: block;
}

.use-case-card h3 {
	margin-bottom: 8px;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4;
}

.use-case-card p {
	font-size: 0.95rem;
	color: #333;
	line-height: 1.6;
	min-height: 70px;
}

div.use-case-card_desc {
	margin-bottom: 35px;
	margin-top: 10px;
}

a.use-case_card_link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none !important;
}

span.case-btn {
	display: inline-block;
	margin-top: 10px;
	background: #0073aa;
	color: #fff !important;
	padding: 12px 20px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: bold;
	display: block;
	margin-top: auto;
	text-align: center;
}


@media screen and (max-width: 1200px) {
	.use-case-archive {
		width: 90%;
	}
}

/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
	.use-case-card {
		width: calc(50% - 15px);
	}
}


@media screen and (max-width: 600px) {
	.use-case-card {
		width: 100%;
	}

	.use-case-archive div.archive-httl-box h1 {
		font-size: 32px;
	}


	.use-case-archive div.archive-httl-box h1 {
		line-height: 1.4;
	}

}

/* 活用事例個別ページ */


div.use-case_single-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 150px;
	line-height: 1.4;
}

div.use-case_single-page-content {
	border-top: 1px solid #333333;
	padding-top: 30px;

}

div.use-case_single-page div.flex--imgbox {
	display: flex;
	justify-content: center;
	gap: 50px;
}

div.use-case_single-page div.flex--imgbox img.wh--450 {
	width: auto;
}

div.use-case_single-page div.flex--imgbox img.wh--600 {
	width: auto;
}


div.use-case_single-page ul.normal-list {
	font-size: 17px;
	border: 5px solid #EEF2F5;
	border-radius: 10px;
	padding: 10px 15px 10px 35px;
	margin-top: 5px;
}

div.use-case_single-page ul.normal-list li {
	margin-bottom: 5px;
	list-style: disc;
}


div.use-case_single-page ul.short-list li {
	list-style: none;
	position: relative;
	margin-left: 10px;
	padding-left: 28px;
	margin-bottom: 10px;
	font-size: 17px;
}

div.use-case_single-page ul.short-list li::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 18px;
	height: 18px;
	background-image: url(/wp-content/uploads/img/check-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
}

div.use-case_single-page div.top-img_sp {
	display: none;
}

h1.use-case_single-page-title {
	font-size: 38px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 20px;
	line-height: 1.5;
}

h2.usecase_ttl_a {
	border-left: 5px solid #0068AB;
	padding: 10px 15px;
	font-size: 22px;
	margin-top: 60px;
	margin-bottom: 20px;
	background: #EEF2F5;
	color: #0068AB;
}

h3.usecase_ttl_b {
	font-size: 20px;
	color: #0068AB;
	position: relative;
	padding-left: 25px;
	margin-top: 30px;
	margin-bottom: 8px;
}

h3.usecase_ttl_b::before {
	position: absolute;
	content: "■";
	font-size: 16px;
	top: 3px;
	left: 0;
}

div.usecase-come_box {
	margin-top: 50px;
}

div.usecase-come_box p {
	font-size: 15px;
}

span.sub_ttl_txt {
	font-size: 20px;
}

p.sub_ttl_txt_a {
	font-weight: bold;
	font-size: 18px;
}

p.sub_ttl_txt_a::after {
	content: "▼";
	margin-left: 0.4em;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}



/* =========================================================
   UseCase table（3列）
   ========================================================= */
table.uc--table--3 {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border: 1px solid #333;
	background: #fff;
	font-size: 14px;
	line-height: 1.6;
}

table.uc--table--3 th,
table.uc--table--3 td {
	border: 1px solid #333;
	padding: 10px 14px;
	vertical-align: middle;
	font-size: 17px;
}

table.uc--table--3 th {
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}

table.uc--table--3 th.th_a,
table.uc--table--3 tbody tr td:first-child {
	width: 18%;
}

table.uc--table--3 th.th_b {
	width: 41%;
}

table.uc--table--3 tbody tr td:first-child {
	font-weight: 700;
	white-space: nowrap;
}

table.uc--table--3 tbody tr td:nth-child(2),
table.uc--table--3 tbody tr td:nth-child(3) {
	white-space: normal;
}

table.uc--table--3 thead th,
table.uc--table--3 tbody tr:first-child th {
	background: #EEF2F5;
}

div.sum-list_box {
	background: #f4f6f8;
	border: 1px solid #EEF2F5;
	border-radius: 10px;
	padding: 15px 10px;
	margin-top: 15px;
	position: relative;
}

div.sum-list_box_b {
	border: 5px solid #EEF2F5;
	border-radius: 10px;
	padding: 10px 15px;
	margin-top: 5px;
}

div.sum-list_box p {
	margin: 0;
	padding-left: 14px;
	font-size: 120%;
	font-weight: 800;
	color: #1f2937;
	letter-spacing: .02em;
}

ul.sum-list {
	padding: 0 20px 0 40px;
	font-size: 17px;
}

ul.sum-list li {
	margin: 8px 0;
	line-height: 1.8;
	color: #374151;
	list-style: disc;
}

ul.sum-list li::marker {
	color: #0068AB;
}


/* CVエリア ここから */
.monnit-contact-box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	padding: 35px 50px;
	border-radius: 4px;
	font-family: "Noto Sans JP", sans-serif;
	overflow: hidden;
	transition: box-shadow 0.1s;
	border: 2px solid #0068AB;
	text-decoration: none;
	color: #0068AB;
}

/* ホバー演出 */
.monnit-contact-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 5px;
	background-color: #0068AB;
	transition: width 0.25s ease-out;
}

.monnit-contact-box:hover::before {
	width: 100%;
}

.monnit-contact-box:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* テキストグループ */
.monnit-contact-box .text-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	flex-grow: 1;
}

/* タイトル */
.contact-title {
	color: #0068AB;
	font-size: 28px;
	font-weight: 700;
	margin: 0 !important;
	line-height: 1.4;
}

/* サブテキスト */
.contact-text {
	margin: 0 !important;
	color: #0068AB;
	white-space: nowrap;
}

/* 矢印 */
.monnit-contact-box .arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	/* 青丸のサイズ */
	height: 28px;
	background: #0068AB;
	/* 青色の背景 */
	border-radius: 50%;
	/* 丸にする */
	position: relative;
	margin-left: 20px;
	transition: transform 0.3s;
}

.monnit-contact-box .arrow::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 12px solid #ffffff;
	transform: translateX(2px);
	/* 白い矢印 */
}

/* hover時 少し右にスライド */
.monnit-contact-box:hover .arrow {
	transform: translateX(4px);
}

.use-case_single-page-date {
	margin: 20px 0;
	color: #333;
	font-size: 15px;
	line-height: 1.6;
	text-align: right;
}

.use-case_single-page-date span+span {
	margin-left: 1em;
}

@media screen and (max-width: 1000px) {
	div.use-case_single-page div.flex--imgbox {
		display: block;
	}

	div.use-case_single-page div.flex--imgbox div {
		margin-bottom: 30px;
	}

	div.use-case_single-page div.flex--imgbox>div:last-child {
		margin-bottom: 0 !important;
	}
}

/* 🔸800px以下（スマホ対応） */
@media screen and (max-width: 800px) {

	.monnit-contact-box {
		flex-direction: column;
		align-items: center;
		padding: 25px 20px;
		text-align: center;
	}

	.monnit-contact-box .text-group {
		align-items: center;
		gap: 8px;
	}

	/* 改行制御 */
	br.block_800 {
		display: inline;
	}

	/* タイトル → MONNIT / お問い合わせフォーム を分ける */
	.contact-title {
		font-size: 22px;
		line-height: 1.3;
	}

	/* サブテキスト */
	.contact-text {
		font-size: 14px;
		white-space: normal;
		line-height: 1.4;
	}

	/* 🔹矢印（ラフ参考で小さく & 右側配置） */
	.monnit-contact-box .arrow {
		width: 24px;
		height: 24px;
		margin-top: 10px;
		margin-left: 0;
	}

	.monnit-contact-box .arrow::before {
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 10px solid #ffffff;
		transform: translateX(2px);
	}

	/* ホバー時 */
	.monnit-contact-box:hover .arrow {
		transform: translateX(2px);
	}

	.use-case_single-page-date {
		margin: -4px 0 22px;
		font-size: 13px;
		text-align: left;
	}

	.use-case_single-page-date span {
		display: inline-block;
	}

	.use-case_single-page-date span+span {
		margin-left: 0.8em;
	}
}

@media screen and (max-width: 600px) {
	div.use-case_single-page div.flex--imgbox img.wh--600 {
		width: 100%;
	}
}

@media screen and (max-width: 450px) {
	div.use-case_single-page div.flex--imgbox img.wh--450 {
		width: 100%;
	}
}


/* CVエリア ここまで */




@media screen and (max-width: 1200px) {
	div.use-case_single-page {
		width: 90%;
	}

	table.uc--table--3 th,
	table.uc--table--3 td {
		font-size: 16px;
	}

	div.use-case_single-page ul.short-list li {
		font-size: 16px;
	}

	div.use-case_single-page ul.normal-list {
		font-size: 16px;
	}

	div.use-case_single-page ul.sum-list {
		font-size: 16px;
	}

}

@media screen and (max-width: 800px) {
	div.use-case_single-page {
		padding-bottom: 70px;
	}

	h1.use-case_single-page-title {
		font-size: 36px;
	}
}

@media screen and (max-width: 600px) {

	h1.use-case_single-page-title {
		font-size: 32px;
	}

	div.use-case_single-page div.top-img_pc {
		display: none;
	}

	div.use-case_single-page div.top-img_sp {
		display: block;
	}


	table.uc--table--3 {
		font-size: 13px;
	}

	table.uc--table--3 th,
	table.uc--table--3 td {
		padding: 8px 10px;

	}

	table.uc--table--3 th.th_a,
	table.uc--table--3 tbody tr td:first-child {
		width: 100px;
	}

	table.uc--table--3 th,
	table.uc--table--3 td {
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	table.uc--table--3 th {
		white-space: normal;
	}

	table.uc--table--3 tbody tr td:first-child {
		white-space: normal;
	}
}

@media screen and (max-width: 480px) {
	.use-case-archive {
		padding-bottom: 40px;
	}

	h1.use-case_single-page-title {
		font-size: 30px;
	}
}

@media screen and (max-width: 420px) {

	table.uc--table--3 th,
	table.uc--table--3 td {
		padding: 5px 5px;
	}

	table.uc--table--3 th.th_a,
	table.uc--table--3 tbody tr td:first-child {
		width: 90px;
	}
}



/**************************************************************************************************

お問い合わせから導入までの流れ

**************************************************************************************************/
div.contens-flow_wrap {
	margin-top: 50px;
}

div.flow-box {
	border: 5px solid #EEF2F5;
	background-color: #ffffff;
	box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
	padding: 0 25px 25px;
	-ms-overflow-style: 50px;
	position: relative;
	margin-bottom: 60px;
	/* 矢印分の余白 */
}

/* 下の矢印（V字） */
.flow-box::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -42px;
	width: 25px;
	height: 25px;
	border-right: 4px solid #094165;
	border-bottom: 4px solid #094165;
	transform: translateX(-50%) rotate(45deg);
}

h2.fliw-box_ttl {
	font-size: 22px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 22px;
	border-bottom: 1px solid #094165;
}

span.step_ttl {
	margin-right: 15px;
	display: flex;
	align-items: center;
	gap: 6px;
}

span.step_txt {
	color: #0068AB;
	font-size: 18px;
}

span.step_no {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background-color: #0068AB;
	color: #fff;
	border-radius: 50%;
	font-size: 18px;
	font-weight: bold;
}

ul.flow-txtlist {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.flow-txtlist li {
	position: relative;
	padding-left: 36px;
	margin-bottom: 10px;
	line-height: 1.6;
	margin-left: 10px;
	font-size: 17px;
}

/* チェックアイコン */
.flow-txtlist li::before {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 18px;
	height: 18px;
	background-image: url(/wp-content/uploads/img/check-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.flow-box:last-of-type::before {
	content: none;
}

div.flow-txtlist_box {
	background: #EEF2F5;
	padding: 15px;
}

.flow-txtlist li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
	.flow-txtlist li {
		font-size: 16px;
	}
}


@media screen and (max-width: 600px) {

	h2.fliw-box_ttl {
		display: block;
		line-height: 0.7;
		margin-top: 18px;
	}

	.flow-txtlist li {
		padding-left: 22px;
		margin-left: 0;
	}

	.flow-txtlist li::before {
		width: 15px;
		height: 15px;
	}

	.flow-box::before {
		width: 20px;
		height: 20px;
		bottom: -30px;
	}

	div.flow-box {
		padding: 0 20px 20px;
	}

	div.flow-box {
		margin-bottom: 40px;
	}

	span.step_no {
		width: 25px;
		height: 25px;
		font-size: 15px;
	}
}


/**************************************************************************************************

販売店・パートナー募集

**************************************************************************************************/
h2.partner_ttl {
	border-left: 5px solid #0068AB;
	padding: 10px 15px;
	font-size: 22px;
	margin-top: 70px;
	margin-bottom: 20px;
	background: #EEF2F5;
	color: #0068AB;
}


ul.partner_item_list {
	font-size: 17px;
	border: 5px solid #EEF2F5;
	border-radius: 10px;
	padding: 15px 15px 15px 5px;
}

ul.partner_item_list li {
	list-style: none;
	position: relative;
	margin-left: 15px;
	padding-left: 28px;
	margin-bottom: 10px;
}

ul.partner_item_list li::before {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 18px;
	height: 18px;
	background-image: url(/wp-content/uploads/img/check-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
}

ul.partner_item_list li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
	ul.partner_item_list {
		font-size: 16px;
	}

}

@media screen and (max-width: 600px) {
	ul.partner_item_list li {
		margin-left: 10px;
	}

	ul.partner_item_list li::before {
		width: 15px;
		height: 15px;
		top: 0.6em;
	}

	ul.partner_item_list li {
		padding-left: 25px;
	}

}


/**************************************************************************************************

トップページに伴う追加修正 2026.01.20 START

**************************************************************************************************/

div.top--cv-btn_box {
	margin-top: 90px;
	padding: 40px 20px;
	background: #fff;
	text-align: center;
}

div.achievements_contbox_c--box_btm {
	display: flex;
	justify-content: space-between;
	width: 75%;
	margin: 0 auto;
}

div.achievements_contbox_c--imgbox {
	width: 18%;
}

div.achievements_contbox_c--imgbox img {
	opacity: 0.7;
}

div.achievements_contbox_c--box {
	margin-top: -80px;
}

p.achievements_contbox_c--img_txt {
	font-size: 14px;
	line-height: 1.5;
}

a.top--inq--btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 34px;
	border-radius: 6px;
	background: #0068AB;
	border: 2px solid #0068AB;
	color: #fff !important;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	box-shadow: 0 6px 14px rgba(0, 0, 0, .12);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

a.top--inq--btn:hover {
	background: #005b96;
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, .16);
}

.top--cv-btn_box {
	background: #ffffff;
	border-top: 7px solid #0068AB;
	/* ここが効く */
	padding: 28px 18px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

a.top--inq--btn p {
	margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
	div.achievements_contbox_c--box_btm {
		width: 90%;
	}

	div.achievements_contbox_c .h3_achievements {
		padding: 20px 0;
	}

	div.achievements_contbox_c .h3_achievements::before,
	div.achievements_contbox_c .h3_achievements::after {
		content: none;

	}

	div.achievements_contbox_c {
		padding-top: 160px;
		margin-top: 100px;
	}
}

@media screen and (max-width: 1100px) {
	div.achievements_contbox_c--imgbox {
		width: 20%;
	}
}

@media screen and (max-width: 950px) {
	div.achievements_contbox_c--imgbox {
		width: 24%;
	}

	div.achievements_contbox_c--box_btm {
		width: 100%;
	}
}

@media screen and (max-width: 800px) {
	div.achievements_contbox_c--box {
		margin-top: -90px;
	}
}

@media screen and (max-width: 700px) {
	div.achievements_contbox_c--box_btm {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 0 auto;
	}

	div.achievements_contbox_c--imgbox {
		width: calc(50% - 10px);
		text-align: center;
	}

	div.achievements_contbox_c--imgbox img {
		max-width: 150px;
		margin: 0 auto;
		display: block;
	}
}

@media screen and (max-width: 600px) {
	div.achievements_contbox_c {
		padding-top: 200px;
	}


	p.top--cv-btn_box_txt {
		text-align: left;
	}

	div.top--cv-btn_box {
		padding: 25px 20px;
	}

	div.top--cv-btn_box {
		margin-top: 50px;
	}
}

@media screen and (max-width: 480px) {
	div.achievements_contbox_c {
		padding-left: 20px;
		padding-right: 20px;
	}

	p.achievements_contbox_c--img_txt {
		font-size: 13px;
	}


}

@media screen and (max-width: 365px) {
	div.achievements_contbox_c {
		padding-top: 230px;
	}
}

/**************************************************************************************************

トップページに伴う追加修正 2026.01.20 END

**************************************************************************************************/

/**************************************************************************************************

よくあるご質問追加 2026.01.13 START

**************************************************************************************************/
div.faq_linklist {
	display: flex;
	gap: 20px 30px;
	flex-wrap: wrap;
	margin: 45px auto;
	max-width: 800px;
	justify-content: center;
	font-size: 18px;
}

a.faq_linklist_item {
	font-weight: bold;
	box-sizing: border-box;
	background: #EEF2F5;
	padding: 15px 10px;
	border-radius: 3px;
	flex: 1 1 380px;
	max-width: 380px;
	text-align: center;
	position: relative;
}

a.faq_linklist_item::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	bottom: 0;
	left: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	background: url(/wp-content/uploads/img/product/product-link_arrow.svg) center center / 20px no-repeat;
	transition: all .3s;
}

a.faq_linklist_item span.arrow3 {
	padding-left: 15px;
	font-size: 18px;
}

a.faq_linklist_item:hover {
	background: #ddecf8;
	transition: ease .1s;
}

body.single-faq nav.nav-single {
	display: none;
}

body.single-faq .colums_wrap02 {
	border-bottom: none;
	padding-bottom: 0;
}

body.single-faq .inline_contents_wrap {
	padding-bottom: 20px;
}

body.single-faq div.post-date {
	display: none;
}

body.single-faq ul,
body.single-faq ol {
	font-size: 17px;
}

body.single-faq ul li,
body.single-faq ol li {
	margin-left: 25px;
}

.single-faq__question-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	padding-left: 35px;
	background-image: url(/wp-content/uploads/img/faqlist-icon-q.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
}

.single-faq__title {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6;
}


div.archive-faq {
	background: #ffffff;
}

div.archive-faq_innr {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 50px;
	padding-bottom: 70px;
}

/* Q行全体を横並びに */
p.faq-list__question {
	position: relative;
	display: flex;
	align-items: center;
	padding-right: 40px;
	/* 右に矢印分の余白 */
	cursor: pointer;
}

/* 右端の矢印（閉じている状態：∨） */
p.faq-list__question::after {
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid #8c8c8c;
	border-bottom: 2px solid #8c8c8c;
	transform: translateY(-50%) rotate(45deg);
	/* 下向き */
	transition: transform 0.25s ease;
}

/* ▼ 追加：アコーディオンOPEN時（∧） */
p.faq-list__question.acc_open::after {
	transform: translateY(-50%) rotate(-135deg);
	/* 上向き */
}

p.faq-list__question,
p.faq-list__question:active,
p.faq-list__question:focus,
p.faq-list__question:focus-visible {
	background-color: transparent !important;
	outline: none;
}

/* ===== クリック時に一瞬青くなる（タップハイライト/選択）を無効化 ===== */
p.faq-list__question,
p.faq-list__question * {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	/* iOS/Android の青いフラッシュ対策 */
}

/* :active / :focus が span 側に付いても背景を変えない */
p.faq-list__question:active,
p.faq-list__question:focus,
p.faq-list__question:focus-visible,
p.faq-list__question *:active,
p.faq-list__question *:focus,
p.faq-list__question *:focus-visible {
	background-color: transparent !important;
	outline: none !important;
}

/* 押した瞬間に文字選択されて青く見えるのを防ぐ（必要なら） */
p.faq-list__question {
	-webkit-user-select: none;
	user-select: none;
	touch-action: manipulation;
}

/* Qアイコン（画像） */
.faq-list__question-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	padding-left: 35px;
	background-image: url("/wp-content/uploads/img/faqlist-icon-q.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	flex-shrink: 0;
	/* テキストが長くても潰れない */
}

div.faq-itemname {
	margin-bottom: 5px;
	text-align: center;
	border-bottom: 3px solid #094165;
	padding-bottom: 20px;
}

.archive-faq_bottom .faq-itemname:first-of-type {
	margin-top: 0;
}

div.faq-itemname span {
	font-weight: bold;
	font-size: 24px;
	color: #094165;
}

div.faq-accordion {
	margin-bottom: 80px;
}

div.archive-faq_top {
	margin-bottom: 80px;
}

/* FAQページ限定：固定ヘッダー分だけアンカー位置を下げる */
body.post-type-archive-faq .faq-itemname[id] {
	scroll-margin-top: 190px;
	/* PC：ヘッダー(140) + 余白(20) くらい */
}

a.faq-link {
	text-decoration: underline;
	color: #0068AB !important;
}

@media screen and (max-width: 1200px) {

	div.archive-faq_innr {
		width: 90%;
	}

	body.single-faq ul,
	body.single-faq ol {
		font-size: 16px;
	}
}

@media screen and (max-width: 800px) {
	div.faq_linklist {
		gap: 20px;
	}

	p.faq-list__question::after {
		right: 20px;
	}

	body.post-type-archive-faq .faq-itemname[id] {
		scroll-margin-top: 120px;
		/* SP：ヘッダー(70) + 余白(20) くらい */
	}

}


@media screen and (max-width: 480px) {
	a.faq_linklist_item span.arrow3 {
		font-size: 17px;
	}

	div.archive-faq_top {
		margin-bottom: 60px;
	}

	div.faq-itemname {
		margin-bottom: 15px;
		padding-bottom: 10px;
	}

	p.faq-list__question::after {
		right: 10px;
	}

	.faq-list__question-icon {
		margin-right: 12px;
		padding-left: 25px;
	}

	p.faq-list__question {
		padding-right: 37px;
	}

	.faq-list__question-icon {
		width: 18px;
		height: 18px;
	}

	div.faq-itemname span {
		font-size: 20px;
		line-height: 1.4;
	}

	body.post-type-archive-faq .faq-itemname[id] {
		scroll-margin-top: 105px;
		/* SP：ヘッダー(70) + 余白(20) くらい */
	}

	div.faq-accordion {
		margin-bottom: 60px;
	}

	a.faq_linklist_item {
		max-width: none;
		width: 90%;
	}
}

@media screen and (max-width: 380px) {
	a.faq_linklist_item span.arrow3 {
		font-size: 16px;
	}

	a.faq_linklist_item {
		padding: 12px 10px;
	}

	a.faq_linklist_item::after {
		left: 10px;
		width: 18px;
		height: 18px;
		background: url(/wp-content/uploads/img/product/product-link_arrow.svg) center center / 18px no-repeat;
	}
}

/**************************************************************************************************

よくあるご質問追加 2026.01.13 END

**************************************************************************************************/

/**************************************************************************************************

活用事例追加 2026.02.09 START

**************************************************************************************************/
span.txt_bold_y {
	font-weight: 700;
	background: #fff957;
	padding: 2px 5px 3px;
}

h3.faq-list__q {
	position: relative;
	font-size: 20px;
	font-weight: 600;
	padding: 13px 15px 13px 55px;
	border: 3px solid #eaeaea;
	border-radius: 7px;
}

h3.faq-list__q::before {
	position: absolute;
	content: "";
	width: 22px;
	height: 22px;
	top: 17px;
	left: 22px;
	background-image: url(/wp-content/uploads/img/faqlist-icon-q.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

p.faq-list__a {
	padding: 12px 5px 25px;
}

div.use-case_single-page ul.normal-list {
	padding: 15px 15px 10px 40px;
}

div.list_box {
	font-size: 17px;
	line-height: 1.7;
	padding: 20px 30px;
	background: #ebf7ff;
	border-radius: 7px;
}

div.list_box p {
	margin-bottom: 0 !important;
}

.link--arrow {
	position: relative;
	padding-left: 25px;
}

.link--arrow::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 18px;
	height: 18px;
	background: url(/wp-content/uploads/img/arrow_b.svg) center center / 18px no-repeat;
}

.txt_deco {
	text-decoration: underline;
}

table.uc--table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border: 1px solid #333;
	background: #fff;
	font-size: 14px;
	line-height: 1.6;
}

table.uc--table th,
table.uc--table td {
	border: 1px solid #333;
	padding: 9px 14px;
	vertical-align: middle;
	font-size: 17px;
}

table.uc--table th {
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}

table.uc--table--2 th,
table.uc--table--2 td {
	width: 80%;
}

table.uc--table--2 th:first-child,
table.uc--table--2 td:first-child {
	width: 20%;
}

table.uc--table--2 th {
	background: #eef2f5;
}

table.uc--table--2--half th,
table.uc--table--2--half td {
	width: 50% !important;
}

h4.usecase_ttl_c {
	position: relative;
	font-size: 18px;
	padding-left: 60px;
	margin-bottom: 7px;
}

h4.usecase_ttl_c::before {
	content: "";
	width: 50px;
	height: 1px;
	background-color: #5f7a88;
	border-radius: 3px;
	position: absolute;
	left: 0;
	top: 12px;
}

ul.list-b-padding li {
	padding-bottom: 8px;
}

.usecase--img-s {
	width: 100%;
	max-width: 700px;
	margin: 40px auto 50px;
}

.usecase--img-s img {
	width: 100%;
	margin: auto;
	text-align: center;
}

.usecase--img-s .img--txt {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px;
	line-height: 1.6;
	text-align: center;
}

.usecase--img-s .img--txt--bottom {
	font-size: 20px;
	margin-top: 5px;
	margin-bottom: 0;
}

.usecase--img-s .img--txt--bottom2 {
	font-size: 28px;
	letter-spacing: 1.5px;
	margin-top: -15px;
	margin-bottom: 0;
}

@media (max-width:1200px) {

	table.uc--table th,
	table.uc--table td {
		font-size: 16px;
	}
}

@media (max-width:600px) {

	table.uc--table--2 th,
	table.uc--table--2 td {
		width: 60%;
	}

	table.uc--table--2 th:first-child,
	table.uc--table--2 td:first-child {
		width: 40%;
	}

	.usecase--img-s {
		max-width: 100%;
		margin: 30px auto 0;
	}

	.usecase--img-s .img--txt {
		font-size: 19px;
	}

	.usecase--img-s .img--txt--bottom2 {
		margin-top: 0;
	}

	h3.faq-list__q {
		font-size: 17px;
		padding: 10px 15px 10px 42px;
	}

	h3.faq-list__q::before {
		top: 13px;
		left: 12px;
	}

	table.uc--table th {
		white-space: normal;
	}
}

@media (max-width:480px) {

	table.uc--table th,
	table.uc--table td {
		padding: 9px 11px;
	}
}

@media (max-width:414px) {
	.usecase--img-s .img--txt {
		font-size: 18px;
	}

	h2.usecase_ttl_a {
		margin-top: 40px;
	}
}

@media (max-width:375px) {
	.usecase--img-s .img--txt {
		font-size: 17px;
	}
}

.s-point {
	position: relative;
	font-weight: 600;
	padding-left: 23px;
	margin-bottom: 5px;
}

.s-point::before {
	position: absolute;
	content: "◇";
	font-size: 14px;
	top: 3px;
	left: 2px;
}

.use-case-template-default .contact-title {
	margin-left: -16px !important;
}

@media(max-width:800px) {
	.use-case-template-default .contact-title {
		margin-left: 0 !important;
	}
}

/**************************************************************************************************

活用事例追加 2026.02.09 END

**************************************************************************************************/



/**************************************************************************************************

2026.03.11 ページ修正 START

**************************************************************************************************/
.gnavi__list:hover>.gnavi__list_link::before {
	width: 100%;
}

span.txt_bold {
	font-weight: 700;
}

div.mainVisual_innr p.mainVisual_catch_a {
	font-size: 32px;
	padding: 12px 60px 15px;
	line-height: 1.4;
}

div.mainVisual_innr p.mainVisual_catch_b {
	font-size: 36px;
	font-weight: 400;
}

p.about_area_txt_a {
	font-size: 38px;
}

p.about_area_txt_a::after {
	bottom: -30px;
}

p.about_area_txt_b {
	margin-top: 50px;
}

h3.h3_achievements {
	top: -65px;
	padding: 12px 0 18px;
}

p.height_p {
	margin-bottom: 10px;
}

p.blue_tag {
	padding: 7px 10px 10px;
}

div.achievements_contbox_c .h3_achievements::before {
	left: 50px;
}

div.achievements_contbox_c .h3_achievements::after {
	right: 50px;
}

@media(max-width:1200px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 55px;
	}

	p.about_area_txt_a {
		font-size: 34px;
	}

	p.height_p {
		margin-bottom: 0;
	}
}

@media(max-width:1100px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 52px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 32px;
	}

	p.about_area_txt_a {
		font-size: 38px;
	}

	p.height_p {
		margin-bottom: 0;
	}
}

@media(max-width:1000px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 48px;
	}
}

@media(max-width:900px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 46px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 30px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 30px;
	}
}

@media(max-width:850px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 42px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 26px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 26px;
	}

	h3.h3_achievements {
		padding-right: 15px;
		padding-left: 15px;
	}
}

@media(max-width:800px) {
	p.about_area_txt_a {
		font-size: 36px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 20px;
		padding: 12px 15px 15px;
		margin-bottom: 35px;
	}
}

@media(max-width:700px) {
	div.mainVisual_innr p.mainVisual_catch_a {
		padding: 12px 30px 15px;
	}
}

@media(max-width:610px) {
	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 22px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 24px;
	}

	p.about_area_txt_a {
		font-size: 32px;
	}

	div.achievements_contbox_c {
		margin-top: 120px;
	}

	div.achievements_contbox_c h3.h3_achievements {
		top: -115px;
	}
}

@media(max-width:600px) {
	div.achievements_contbox_c {
		margin-top: 90px;
	}

	div.achievements_contbox_c h3.h3_achievements {
		top: -80px;
	}

	p.h2_subtxt {
		font-size: 16px;
	}

	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 36px;
	}



	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 22px;
	}

	p.about_area_txt_a {
		font-size: 30px;
	}
}

@media(max-width:500px) {
	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 18px;
	}

	p.about_area_txt_a {
		font-size: 28px;
	}
}

@media(max-width:440px) {
	div.mainVisual_catch_box {
		padding-top: 110px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 16px;
	}
}

@media(max-width:430px) {
	div.achievements_contbox_c {
		margin-top: 100px;
	}

	div.achievements_contbox_c h3.h3_achievements {
		top: -90px;
	}

	div.achievements_contbox_innr_box {
		padding-top: 0;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 20px;
		margin-bottom: 25px;
	}
}

@media(max-width:414px) {
	div.mainVisual_innr p.mainVisual_catch_c {
		font-size: 32px;
	}

	div.mainVisual_innr p.mainVisual_catch_a {
		font-size: 16px;
		padding: 12px 10px 15px;
	}

	div.mainVisual_innr p.mainVisual_catch_b {
		font-size: 20px;
	}
}

@media(max-width:375px) {
	div.achievements_contbox_c {
		margin-top: 120px;
	}

	div.achievements_contbox_c h3.h3_achievements {
		top: -120px;
	}
}

.platform-group-label_box {
	display: none;
}

.sensor-group-gateway {
	background: #ff8238;
}

.group-gateway {
	background: #ff8238;
	color: #fff;
}

table.platform-table3 {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #9d9d9d;
}

table.platform-table3 th,
table.platform-table3 td {
	width: 62%;
	line-height: 1.6;
	padding: 15px;
	border-bottom: 1px solid #9d9d9d;
	vertical-align: middle;
}

table.platform-table3 th {
	background: #0068AB;
	color: #fff;
	font-weight: 700;
	text-align: center;
	border-left: 1px solid #fff;
}

table.platform-table3 th:first-child {
	border-left: none;
}

table.platform-table3 td {
	border-left: 1px solid #9d9d9d;
}

table.platform-table3 td:first-child {
	font-weight: 700;
	border-left: none;
}

table.platform-table3 th:first-child,
table.platform-table3 td:first-child {
	width: 25%;
}

table.platform-table3 th:last-child,
table.platform-table3 td:last-child {
	width: 13%;
}

table.platform-table3-2 th,
table.platform-table3-2 td {
	width: 63%;
}

table.platform-table3-2 th:first-child,
table.platform-table3-2 td:first-child {
	width: 22%;
}

table.platform-table3-2 th:last-child,
table.platform-table3-2 td:last-child {
	width: 15%;
}

ul.list li {
	position: relative;
	padding-left: 35px;
	padding-bottom: 5px;
}

ul.list li::before {
	position: absolute;
	content: "●";
	font-size: 7px;
	top: 10px;
	left: 20px;
}

p.sub_ttl_txt_left_a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	padding-left: 15px;
}

p.sub_ttl_txt_left_a::before {
	position: absolute;
	content: "▶";
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}

div.inquiry_box {
	margin: 10px auto 70px;
}

@media(max-width:600px) {

	table.platform-table3 th,
	table.platform-table3 td {
		width: 50%;
		font-size: 15px;
		padding: 8px;
		vertical-align: top;
	}

	table.platform-table3 th {
		vertical-align: middle;
		padding: 8px 5px;
	}

	table.platform-table3 th:first-child,
	table.platform-table3 td:first-child {
		width: 30%;
	}

	table.platform-table3 th:last-child,
	table.platform-table3 td:last-child {
		width: 20%;
	}

	table.platform-table3-2 th,
	table.platform-table3-2 td {
		width: 55%;
	}

	table.platform-table3-2 th:first-child,
	table.platform-table3-2 td:first-child {
		width: 25%;
	}

	table.platform-table3-2 th:last-child,
	table.platform-table3-2 td:last-child {
		width: 20%;
	}

	p.sub_ttl_txt_left_a::before {
		top: 25%;
	}
}

body.single-platform .term_wrap_platform .term_cont_innr h1 {
	display: none;
}

body.single-platform .term_wrap_platform .term_cont_innr h1.product_ttl_pf {
	display: block !important;
}

body.single-platform .term_wrap_platform .breadcrumb_box {
	display: none;
}

body.single-platform .term_wrap_platform .breadcrumb_box_platform {
	width: 100%;
}

body.single-platform .term_wrap_platform .breadcrumb_box_platform .breadcrumb_box_innr_platform {
	max-width: 1200px;
	margin: -50px auto 50px;
}

body.single-platform .term_wrap_platform .breadcrumb_box_platform .breadcrumb_box_innr_platform .breadcrumb_platform {
	font-size: 13px;
	padding: 8px 0;
	color: #094165;
	line-height: 1.5;
}

body.single-platform .term_wrap_platform .breadcrumb_box_platform .breadcrumb_box_innr_platform .breadcrumb_platform a,
body.single-platform .term_wrap_platform .breadcrumb_box_platform .breadcrumb_box_innr_platform .breadcrumb_platform a:active {
	color: #6aa9d2 !important;
	text-decoration: underline;
}

/**************************************************************************************************

2026.03.11 ページ修正 END

**************************************************************************************************/

table.uc--table--3 th,
table.uc--table--3 td {
	width: 40%;
}

table.uc--table--3 th:first-child,
table.uc--table--3 td:first-child {
	width: 20%;
}

@media(max-width:600px) {

	table.uc--table--3 th,
	table.uc--table--3 td {
		width: 35%;
	}

	table.uc--table--3 th:first-child,
	table.uc--table--3 td:first-child {
		width: 30%;
	}
}

/***************************************

2026.04.21 資料ダウンロードカテゴリ START

***************************************/
div.header_contact_mail {
	display: flex;
	flex-direction: column;
}

div.header_contact_mail {
	margin-right: 15px;
	margin-left: 8px;
}

div.header_contact_mail a.btn-dn {
	position: relative;
	font-size: 12px;
	color: #fff !important;
	padding-bottom: 8px;
	padding-left: 22px;
	letter-spacing: 1.2px;
	text-decoration: underline;
}

div.header_contact_mail a.btn-dn::before {
	position: absolute;
	content: url(/wp-content/uploads/img/ico_pdf_dn.svg);
	width: 15px;
	height: 15px;
	top: -1px;
	left: 0
}

div.header_contact_mail a.h_contact {
	margin-right: 0;
	margin-left: 0;
}

div.headerMenuArea-right a {
	align-items: flex-start;
}

p.header_contact_tel_company {
	font-size: 13px;
	letter-spacing: 2px;
}

p.h_tel_number {
	font-size: 25px;
	letter-spacing: 1.3px;
	padding-bottom: 2px;
}

p.h_tel_txt {
	font-size: 13px;
	letter-spacing: 1.6px;
}

body.single-download #content {
	margin-bottom: 50px;
}

article.type-download .post-date p {
	display: none;
}

div.wrapper div.ttl-innr_download {
	background-image: url(/wp-content/uploads/img/back--download.webp);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

div.wrapper div.ttl-innr_download h1 {
	position: relative;
	z-index: 1;
	color: #fff;
	text-align: center;
	font-size: 38px;
}

article.type-download .inline_contents_wrap {
	padding-bottom: 20px;
}

article.type-download .colums_wrap02 {
	border-bottom: none;
	padding-bottom: 0;
}

body.single-download .nav-single {
	display: none;
}

div.page_dl_area {
	width: 100%;
	display: flex;
	flex-direction: row;
}

div.page_dl_area .txt {
	width: 50%;
	padding-right: 50px;
}

div.page_dl_area .form {
	width: 50%;
	padding-left: 50px;
}

div.page_dl_area .txt .sub {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-top: -5px;
	margin-bottom: 15px;
}

div.page_dl_area .txt .dl_pdf_img {
	margin-bottom: 10px;
	border: 1px solid #ddd;
}

article.type-download h1.inquiry_banner {
	display: none;
}

p.dl-page-top-title {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	padding: 10px 0 20px;
	margin-top: 10px;
	margin-bottom: 40px;
	border-bottom: 3px solid #094165;
}

.download-category-title {
	display: none;
}

main.download-archive {
	max-width: 1200px;
	margin: 50px auto 100px;
}

main.download-archive .archive-httl-box h1 {
	font-size: 40px;
	font-weight: bold;
	color: #094165;
	margin-bottom: 20px;
}

.download-archive .download-category-block .download-grid {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.download-archive .download-category-block .download-grid .download-card {
	width: calc((100% - 60px) / 3);
	margin-right: 30px;
}

.download-archive .download-category-block .download-grid .download-card:nth-child(3n) {
	margin-right: 0;
}

div.download-grid .download-card h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 15px;
	text-align: center;
}

div.download-grid .download-card .download-thumb {
	border: 1px solid #ddd;
}

div.download-grid .download-card span.case-btn {
	width: 200px;
	padding: 12px 0 14px;
	margin: auto;
	border-radius: 22px;
}

div.download-grid .download-card span.case-btn:hover {
	background: #08afe6 !important;
}

/********************* ダウンロードフォーム *********************/
ul.dl_form li {
	list-style: none;
	margin-left: 0 !important;
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
}

ul.dl_form li.dl_file {
	display: none;
}

ul.dl_form li span:first-of-type {
	flex-basis: 140px;
}

ul.dl_form li span:nth-of-type(2) {
	flex-basis: calc(100% - 140px);
}

ul.dl_form input,
ul.dl_form textarea {
	width: 100%;
	background: #f8f8f8;
}

ul.dl_form textarea {
	resize: vertical;
}

ul.dl_form input[type="checkbox"] {
	width: auto;
}

ul.dl_form .checkboxRequired3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 5px;
}

ul.dl_form input[type="submit"] {
	width: 220px;
	padding: 12px 0;
	margin-top: 10px;
	background: #0068ab;
	border-radius: 25px;
	border: 0;
	color: #fff;
	letter-spacing: 2px;
	font-size: 15px;
	font-weight: 600;
	transition: ease .3s;
}

ul.dl_form input[type="submit"]:hover {
	background: #08afe6 !important;
	transform: scale(1);
}

ul.dl_form .error {
	margin-bottom: -5px;
}

@media(max-width:800px) {
	div.page_dl_area {
		flex-direction: column;
	}

	div.page_dl_area .txt {
		width: 100%;
		padding-right: 0;
	}

	div.page_dl_area .form {
		width: 100%;
		padding-left: 0;
		padding-top: 30px;
	}

	.download-archive .download-category-block .download-grid {
		flex-direction: column;
		margin-top: 40px;
	}

	.download-archive .download-category-block .download-grid .download-card {
		width: 100%;
		padding: 0 10px;
		margin-right: 0;
	}

	div.download-grid .download-card h3 {
		font-size: 20px;
	}

	ul.dl_form li span:first-of-type {
		flex-basis: inherit;
		margin-bottom: 10px;
	}
}

/***************************************

2026.04.21 資料ダウンロードカテゴリ END

***************************************/


/**************************************

活用事例 目次デザイン追加  2026.06.10

**************************************/
/* 目次ボックス */
.toc-box {
	box-sizing: border-box;
	width: 100%;
	margin: 40px 0 45px;
	padding: 22px 30px 24px;
	background: #f7f7f7;
	border: 1px solid #dfdfdf;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 62, 99, 0.06);
}

/* 目次タイトル */
.toc-title {
	margin: 0 0 14px !important;
	color: #003e63;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

/* 目次リスト */
.toc-list {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	list-style: none !important;
}

/* 目次項目 */
.toc-list li {
	position: relative;
	display: block;
	margin: 0 0 12px !important;
	padding: 0 0 0 22px !important;
	line-height: 1.7;
	list-style: none !important;
}

.toc-list li:last-child {
	margin-bottom: 0 !important;
}

.toc-list li::marker {
	content: "" !important;
}

/* 青丸 */
.toc-list li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 7px;
	height: 7px;
	background: #0072a8;
	border-radius: 50%;
}

/* 目次リンク */
.toc-list a {
	color: #003e63;
	text-decoration: none;
}

.toc-list a:hover {
	color: #0072a8;
	text-decoration: underline;
}

/* ページ内リンクのスクロール位置調整 */
html {
	scroll-behavior: smooth;
}

.usecase_ttl_a[id] {
	scroll-margin-top: 90px;
}

@media screen and (max-width: 768px) {
	.toc-box {
		margin: 30px 0 36px;
		padding: 20px 20px 22px;
	}

	.toc-title {
		font-size: 17px;
	}

	.toc-list li {
		margin-bottom: 10px !important;
	}

	.usecase_ttl_a[id] {
		scroll-margin-top: 70px;
	}
}


/**************************************

活用事例 モーダル追加  2026.06.10
※画像をクリックすると拡大表示する

**************************************/


/* クリック拡大対象 */
.js-image-modal {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

/* 画像ホバー時 */
.js-image-modal img {
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.js-image-modal:hover img {
	opacity: 0.88;
}

/* 拡大できることを示す＋アイコン */
.js-image-modal::after {
	content: "+";
	position: absolute;
	right: -18px;
	bottom: -16px;
	width: 36px;
	height: 36px;
	color: #fff;
	font-size: 30px;
	font-weight: 400;
	line-height: 27px;
	text-align: center;
	background: rgb(255 255 255 / 88%);
	border: 3px solid #0068ab;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
	pointer-events: none;
	color: #0068ab;
	font-weight: bold;
}


/* 画像拡大モーダル */
.image-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	inset: 0;
}

.image-modal.is-active {
	display: block;
}

.image-modal__bg {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

.image-modal__content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(96vw, 1400px);
	max-height: 92vh;
	transform: translate(-50%, -50%);
	text-align: center;
}

.image-modal__img {
	max-width: 100%;
	max-height: 92vh;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.image-modal__close {
	position: absolute;
	top: -44px;
	right: 0;
	width: 38px;
	height: 38px;
	padding: 0;
	color: #fff;
	font-size: 30px;
	line-height: 1;
	background: transparent;
	border: none;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
	.js-image-modal::after {
		right: -16px;
		bottom: -12px;
		width: 28px;
		height: 28px;
		font-size: 20px;
		line-height: 21px;


	}

	.image-modal__content {
		width: 94vw;
	}

	.image-modal__close {
		top: -40px;
		right: -4px;
	}
}