.code {
	max-height: 200px;
	overflow: auto;
	overflow-x: hidden;
	margin: 0 15px 15px;
}

pre {
	max-width: 650px !important;
	overflow-x: auto;
	padding: 10px;
	border: 1px solid gainsboro;
	font-size: 90%;
	color: darkblue;
}

code {
	background: transparent;
	padding: 0px;
	margin: 0px;
}

.syntaxhighlighter {
	margin: 0px !important;
}

div.syntaxhighlighter {
	border: 1px solid gainsboro !important;
	margin-bottom: 24px !important;
	word-break: break-all;
}

.code,
pre {
	max-height: 300px;
	overflow: auto;
	overflow-x: hidden;
	margin: 0 0px 15px;
}

#table-of-contents {
    background: #F8FAFC;
    border: 1px solid rgba(0, 160, 255, 0.15);
    border-radius: 8px;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    position: relative;
}

#table-of-contents::before {
    content: "目次";
    position: absolute;
    top: -0.9rem;
    left: 1.5rem;
    background: #fff;
    padding: 0.2rem 1rem;
    color: #00A0FF;
    font-weight: 500;
    font-size: 1rem;
    border: 1px solid rgba(0, 160, 255, 0.15);
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

#table-of-contents h4 {
    color: #002147;
    font-size: 1.2rem;
    font-weight: 500;
    margin: 0.5rem 0 1rem 0;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(0, 160, 255, 0.15);
    visibility: hidden;  /* h4を非表示にし、代わりに::beforeで「目次」を表示 */
}

#table-of-contents ul {
    list-style: none;
    padding: 0;
    margin: 0;
}


#table-of-contents li {
    margin: 0.8rem 0;
    padding-left: 1.2rem;
    position: relative;
    line-height: 1.6;
}

#table-of-contents li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 4px;
    height: 4px;
    background: #00A0FF;
    border-radius: 50%;
}

#table-of-contents a {
    color: #2D3748;
    text-decoration: none;
    transition: color 0.2s ease;
    font-size: 0.95rem;
}

#table-of-contents a:hover {
    color: #00A0FF;
}

/* スマートフォン対応 */
@media (max-width: 768px) {
    #table-of-contents {
        padding: 1.2rem 1.5rem;
        margin: 1.5rem 0;
    }

    #table-of-contents h4 {
        font-size: 1.1rem;
    }

    #table-of-contents a {
        font-size: 0.9rem;
    }
}

#entry ul {
	margin: 0px 0 10px 20px;
	padding-left: 12px;
	margin-bottom: 24px;
}

#entry li {
	line-height: 1.7em;
	margin-bottom: .4em;
}

.tech-article-img {
	max-width: 60%;
	display: block;
	margin: 10px auto 20px auto;
	padding: 1px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
	max-height: 280px;
	border: 1px solid gainsboro;
}

.ds-img {
	margin-top:2rem;
}

/* SUb navigation bar */

.nav-select-wrapper {
	position: relative;
	display: inline-block;
	min-width: 270px;
}

.custom-dropdown {
	position: relative;
	width: 100%;
}

.dropdown-toggle {
	width: 100%;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 14px;
	color: #231e20!important;
	background: #fff;
	border: 2px solid #DBDFEA;
	transition: border-color .15s linear;
	text-align: left;
	position: relative;
	cursor: pointer;
}

.dropdown-toggle i {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #666;
}

.dropdown-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #DBDFEA;
	border-radius: 6px;
	margin-top: 4px;
	max-height: 400px;
	overflow-y: auto;
	z-index: 1000;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	padding: 8px 0;
}

.dropdown-header {
	position: sticky;
	top: 0;
	z-index: 2;
	background: white;
	padding: 8px;
	border-bottom: 1px solid #DBDFEA;
}

.dropdown-filter {
	width: 100%;
	border: 1px solid #DBDFEA;
	border-radius: 4px;
	padding: 6px 12px;
	font-size: 14px;
}

.dropdown-filter:focus {
	outline: none;
	border-color: #2193D6;
	box-shadow: 0 0 0 2px rgba(33,147,214,0.1);
}

.dropdown-item.filtered,
.dropdown-group.filtered {
	display: none;
}

.dropdown-menu.show {
	display: block;
}

.dropdown-group {
	padding: 4px 0;
}

.dropdown-group-label {
	width: 100%;
	text-align: left;
	border: none;
	background: none;
	padding: 4px 16px;
	color: #333!important;
	font-weight: bold;
	font-size: 12px;
	text-transform: uppercase;
	background-color: #f1f3f5;
	cursor: pointer;
	display: flex;
	align-items: center;
}

.dropdown-group-label:hover {
	background-color: #e9ecef;
}

.dropdown-group-label i {
	transition: transform 0.2s;
	color: #666;
}

.dropdown-group-label.expanded i {
	transform: rotate(90deg);
}

.dropdown-group-content {
	display: none;
	padding: 4px 0;
}

.dropdown-group-content.show {
	display: block;
}

.dropdown-item {
	display: block;
	padding: 8px 32px;
	color: #444;
	text-decoration: none;
	transition: background-color 0.2s;
	font-size: 14px;
}

.dropdown-item:hover {
	background-color: #f1f3f5;
	color: #2193D6;
}

#top-navigation-cloud {
    box-shadow: 0px 2px 10px rgb(10 10 10 / 5%)!important;
    width: 100%;
	height: 63px!important;
    z-index: 1;
    display: flex;
    align-items: center;
    position: fixed;
}

#toolSelect {
	width: 270px;
}
#dataSourceSelect {
	width: 270px;
}

.prod-name {
	font-weight: bold;
}

.resource-headline {
    color: #231e20;
    font-weight:700;
}

@media screen and (max-width:767px) {

	.article-grid,
	.pinned-grid,
	.featured-wrapper {
		display: block;
	}

	.featured-wrapper {
		border-radius: 10px;
		-webkit-border-radius: 10px;
	}

	.featured-text {
		border-radius: 0 0 10px 10px;
		-webkit-border-radius: 0 0 10px 10px;
	}

	#featured {
		border-radius: 10px 10px 0 0;
		-webkit-border-radius: 10px 10px 0 0;
		height: 280px;
	}

	.article-item {
		margin-bottom: 1em;
	}

	.col {
		width: 100%;
	}

	#top-navigation-cloud .top-navigation ul>li .sub-menu.first {
		left: -30px;
	}

	.latestBlog {
		/*background-position: -150px -30px;*/
		padding: 40px 0 120px;
	}

	.popularContent {
		padding: 0 0 2em;
		margin-top: -80px;
	}

	.blogList {
		padding: 1.5em 0;
	}
}

@media screen and (max-width:640px) {
	#featured {
		width: auto;
	}

	.right-section,
	#menu-blogs-search {
		display: none;
	}

	#top-navigation-cloud .top-navigation ul>li a.btn.arrow {
		font-size: 12px;
		margin-left: 0;
	}

}

@media screen and (max-width: 980px) {
	#subheader_container .subheader {
		width: auto;
	}

	#menu-blogs-search {
		margin-right: 15px;
		width: 20%;
	}

	.container {
		width: auto;
	}
}

@media screen and (min-width: 1250px) {
	#menu-blogs-search {
		margin-right: -70px;
		width: 230px;
	}
}

@media screen and (min-width: 768px) {

	.blogSearch,
	.subNavSocials {
		flex: 0 0 13%;
		max-width: 25%;
		padding: 0 15px;
	}

	.subNavMenu {
		flex: 0 0 50%;
		max-width: 50%;
		padding: 0 15px;
	}

	.blogSearch>div {
		display: flex;
		align-items: center;
	}

	.blogSearch>div h5 {
		margin-right: 15px;
	}

	.blogSearch>div form {
		width: 100%;
	}
}

@media screen and (min-width: 640px) {
	.pg-content>.tab-content {
		min-height: 1450px;
	}
}

@media screen and (max-width: 415px) {

	.blogSearch>div h5 {
		margin-right: 30px;
	}

	.social-bread {
		align-items: flex-start;
	}

	.social-bread ol {
		flex: 0 0 70%;
		font-size: 13px;
	}

	.social-bread .social-media {
		flex: 0 0 30%;
	}

	.social-media ul li {
		margin-bottom: 0;
	}

}

@media screen and (max-width: 320px) {

	.social-bread ol,
	.social-bread .social-media {
		flex: 0 0 100%;
	}

	#top-navigation-cloud .top-navigation ul>li a.btn.arrow {
		font-size: 10px;
		margin-right: 0;
	}

}

.kb-article-body-main {
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji"!important;
    font-size: 16px!important;
    line-height: 1.8!important;
    color: #231E20!important;
    letter-spacing: 0.01em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.kb-article-body-main p {
    font-size: 1.25rem!important;
    line-height: 1.8!important;
    color: #231E20!important;
    margin-bottom: 1.5em;
}
.kb-article-body-main h1 {
    font-weight: 550!important;
}
/* 段落間の余白を調整 */
.kb-article-body-main p + p {
    margin-top: 1.8em;
}
.kb-article-body-main h2 {
    font-size: 1.75rem;
    color: #002147;
    margin: 2.5rem 0 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-weight: 550;
}
/* 見出し下の余白を調整 */
.kb-article-body-main h2 + p,
.kb-article-body-main h3 + p {
    margin-top: 1.2em;
}
.kb-article-body-main h3 {
    font-size: 1.35rem;
    color: #002147;
    margin: 2rem 0 1rem;
    font-weight: 500;
}

/* リストスタイルの改善 */
.kb-article-body-main ol,
.kb-article-body-main ul {
    padding-left: 1.5rem;
    margin: 1rem 0;
}
/* リストの可読性向上 */
.kb-article-body-main li {
    margin-bottom: 0.8rem;
    line-height: 2.2!important;
    max-width: 45em;
}
/* 注意書きブロックのスタイル */
.kb-article-body-main .note {
    background: #F8FAFC;
    border-left: 4px solid #00A0FF;
    padding: 1.2rem;
    margin: 1.5rem 0;
    border-radius: 0 4px 4px 0;
}
/* コードブロックの可読性向上 */
.kb-article-body-main pre {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    padding: 1.25rem;
    margin: 1.5rem 0;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 0.9rem;
    line-height: 1.6;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 中間CTAセクションの改善 */
.home-cta-wrapper.mid {
    border-radius: 12px;
    padding: 3rem 2rem;
    background: linear-gradient(114.89deg, #00A0FF 10.14%, #0B59CE 67.78%);
}

.home-cta-wrapper.mid h2 {
    margin-bottom: 1.5rem;
    color: white;
}

.home-cta-wrapper.mid .btn {
    min-width: 200px;
    margin: 0 0.75rem;
    font-weight: 500;
    box-shadow: 0 5px 8px rgba(7, 12, 89, 0.2);
}

#product-wrapper * {
box-sizing: border-box;
}

.padder.padder-hero {
padding-top: 4em;
}

.kb-article {
display: flex;
flex-direction: column;
max-width: 1165px;
margin: 0 auto;
}

.kb-article-body {
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
}

.kb-article-body-main {
width: 800px;
}

.kb-article-body-main hr {
margin: 10px 0 20px;
}

.kb-article-body-sidebar {
margin-top: 10px;
width: 300px;
}

.kb-flow-illustration {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(to right, #f8f9fa, #f1f3f5, #f8f9fa);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.flow-description {
    text-align: center;
    font-size: 1.8rem;
    color: #002147;
    font-weight: 500;
}

/* h2のデフォルトマージンをオーバーライド */
.kb-flow-illustration h2.flow-description {
    margin-top: 0 !important;
}

/* フローの水平配置用コンテナ */
.flow-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.kb-flow-illustration a {
    text-decoration: none;
    color: inherit;
    display: inline-block;
}

.kb-flow-illustration a:hover {
    text-decoration: none;
}

.kb_source, .kb-client {
    max-width: 200px;
    height: auto;
    object-fit: contain;
    padding: 1.5rem;
    border-radius: 8px;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kb_source:hover, .kb-client:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.vertical {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 2rem;
    min-height: 150px;
}

.middle {
    text-align: center;
    background: transparent;
    z-index: 2;
    position: relative;
    padding: 1.5rem;
}

/* CDataロゴとテキストを含むコンテナ */
.middle .logo-container {
    padding: 1.5rem;
    border-radius: 8px;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: inline-block;
}

.middle .logo-container:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tech-middle {
    margin: 0;
    padding-bottom: 0.8em;
    font-size: 1.2rem;
    color: #002147;
    font-weight: 500;
}

.middle img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* レスポンシブ対応の改善 */
@media (max-width: 768px) {
    .flow-container {
        flex-direction: column;
        gap: 4rem;
    }

    .vertical {
        position: relative;
        margin: 2rem 0;
    }

    .kb_arrow {
        width: 3px;
        height: 100px;
        left: 50%;
        bottom: -90px;
        transform: translateX(-50%);
        background: linear-gradient(to bottom, #00A0FF, #2193D6);
    }

    .kb_arrow::after {
        right: -4.5px;
        top: auto;
        bottom: -6px;
        transform: rotate(135deg);
    }
}

@media (max-width: 480px) {
    .flow-container {
        gap: 3rem;
    }

    .kb_arrow {
        height: 80px;
        bottom: -70px;
    }
}

/* Author card */
/*Image*/
.card-avatar {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background-position: center;
    background-size: cover;
    transition: transform .2s ease;
    float: left;
    margin-right: 10px;
}

.kb-author {
    margin-top:-2px;
    color: #333;
    font-size: 1em;
}

.date {
    color: #231E20;
    font-size: 0.9em;
}

.kb-title {
    font-size: 0.8em;
}

/*Hover*/
.card-avatar:hover {
transform: scale(1.1);
}

/* responsive */

@media (max-width: 1250px) {
    .kb-article-body {
        display: block;
    }

    .kb-article-body-main {
    width: 100%;
    }

    .kb-article-body-sidebar .sidebar-sticky {
    display: none;
    }

    .kb-article-body-sidebar {
    width: 100%;
    }

    #product-wrapper {
    margin: 0 40px;
    }

    .kb-article-title > h1{
    font-size:32px;
    font-weight:550!important;
    }

    .kb-article-body-main > h3{
        font-size:1.4rem;
    }

    .kb-article-body-main > h2{
        font-size:1.6rem;
    }
}
/* responsive */

/* Sidebar */

.arrow-wrap {
    display: inline-block;
    width: 12px;
    margin-right: 10px;
}
.arrow-down {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #2193D6;
    display: inline-block;
    position: relative;
    top: -4px;
}

.arrow-right {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #2193D6;
    display: inline-block;
    position: relative;
    top: -4px;
}
#product-wrapper .window {
    border: 1px solid #DFDFDF;
    border-top: 3px solid #00A0FF;
    border-radius: 4px;
    padding: 1.2rem;
    background: white;
    max-width: 300px;
}
#product-wrapper .window h3.black {
    color: #002147;
    font-size: 1.1rem;
    font-weight: 500;
}
#product-wrapper .window .btn.btn-primary {
    margin-top: .5em;
    margin-bottom: 1.5em;
    margin-left: 0;
    padding: 0;
    display: table;
    white-space: pre-line;
    overflow:hidden;
    padding-right:10px;
    font-size:16px;
}
#product-wrapper .window .btn.btn-primary.btn-download {
    background-color: #2193D6;
    border-color: #2193D6;
    transition: 0.2s all linear;
}
#product-wrapper .window .btn.btn-download:hover {
    background-color: #177CB8;
}
#product-wrapper .window .btn.btn-primary.btn-learnmore {
    background-color: white;
    border-color: #2193D6;
}
#product-wrapper .window .btn.btn-primary span {
    transition: 0.1s all linear;
}
#product-wrapper .window .btn.btn-primary.btn-learnmore:hover {
    background-color: rgba(33, 147, 214, 0.1);
}
#product-wrapper .window .btn.btn-primary > * {
    padding: 8px 8px 8px 12px;
    text-shadow: none;
    display: table-cell;
    vertical-align: middle;
    text-align:left;
}
#product-wrapper .window .btn.btn-primary > *:nth-child(1) {
    width: 40px;
    line-height: 18px;
    font-size: 1.2em;
}
#product-wrapper .window .btn.btn-primary > *:nth-child(1) > img {
    width: 20px;
}
#product-wrapper .window .btn.btn-primary.btn-download > *:nth-child(1) {background-color: #177CB8;}
#product-wrapper .window .btn.btn-primary.btn-learnmore > *:nth-child(1) {
    background-color: rgba(33, 147, 214, 0.2);
    color: #2193D6;
}
#product-wrapper .window .btn.btn-primary > *:nth-child(2) {
    font-weight: 400;
    font-size: 1em;
    line-height: 20px;
}
#product-wrapper .window .btn.btn-primary.btn-learnmore > *:nth-child(2) {
    color: #2193D6;
}
#product-wrapper .window .desc {
    color: #4A5568;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0.8rem 0;
}
#product-wrapper .window hr {
    border: 0;
    border-top: 1px solid #E2E8F0;
    margin: 1rem 0;
}
#product-wrapper .related-articles {
    margin-left: 26px;
}

hr.sidebar-divide {
    margin: 30px 0;
}
.sidebar-sticky {
    position: sticky;
    top: 150px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #DBDFEA transparent;
}

/* Webkit scrollbar styling */
.sidebar-sticky::-webkit-scrollbar {
    width: 6px;
}

.sidebar-sticky::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-sticky::-webkit-scrollbar-thumb {
    background-color: #DBDFEA;
    border-radius: 3px;
}

.sidebar-sticky::-webkit-scrollbar-thumb:hover {
    background-color: #C4C9D4;
}

.scroll-tracing-tree > ul {
    font-size:16px;
}

.toc-divider {
    margin: 30px 0;
    border-top: 1px solid #DBDFEA;
}

/* 目次が空の場合は非表示 */
#table-of-contents:empty,
#table-of-contents:empty + .toc-divider {
    display: none;
}

/* エンゲージメントセクション */
.engagement-section {
    margin-top: 40px;
}

.engagement-group {
    margin-bottom: 24px;
}

.engagement-group:last-child {
    margin-bottom: 0;
}

.engagement-label {
    font-size: 14px;
    color: #666;
    margin-bottom: 12px;
}

/* 関連記事 ミニ表示 */
.related-articles-mini {
    font-size: 14px;
}

.related-article-item {
    margin-bottom: 12px;
    padding-left: 16px;
    position: relative;
}

.related-article-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    background: #2193D6;
    border-radius: 50%;
}

.related-article-item a {
    color: #444;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
    line-height: 1.4;
}

.related-article-item a:hover {
    color: #2193D6;
}

/* サポートリンク */
.support-link,
.community-link {
    display: flex;
    align-items: center;
    padding: 10px;
    margin-bottom: 8px;
    color: #444;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s;
}

.support-link:hover,
.community-link:hover {
    background: #f1f3f5;
    color: #2193D6;
}

.support-link i,
.community-link i {
    width: 24px;
    margin-right: 8px;
    color: #00A0FF;
}

/* 検索ボックス */
.kb-search {
    position: relative;
}

.search-input-group {
    display: flex;
    align-items: center;
    position: relative;
}

.kb-search .form-control {
    width: 100%;
    padding: 8px 36px 8px 36px;
    border: 1px solid #DBDFEA;
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.2s;
}

.kb-search .form-control:focus {
    outline: none;
    border-color: #2193D6;
    box-shadow: 0 0 0 3px rgba(33,147,214,0.1);
}

.search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #00A0FF;
    font-size: 14px;
    pointer-events: none;
}

.search-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 4px;
    color: #666;
    cursor: pointer;
    transition: color 0.2s;
}

.search-btn:hover {
    color: #2193D6;
}

/* 矢印の基本スタイル - 重複を削除して一箇所にまとめる */
.kb_arrow {
    position: absolute;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #00A0FF, #2193D6);
    bottom: 40%;
    left: 0;
}

.kb_arrow::after {
    content: '';
    position: absolute;
    right: -6px;
    top: -4.5px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #2193D6;
    border-right: 3px solid #2193D6;
    transform: rotate(45deg);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .flow-container {
        flex-direction: column;
        gap: 4rem;
    }

    .vertical {
        position: relative;
        margin: 2rem 0;
    }

    .kb_arrow {
        width: 3px;
        height: 340px;
        left: 50%;
        bottom: -90px;
        transform: translateX(-50%);
        background: linear-gradient(to bottom, #00A0FF, #2193D6);
    }

    .kb_arrow::after {
        right: -4.5px;
        top: auto;
        bottom: -6px;
        transform: rotate(135deg);
    }
}

@media (max-width: 480px) {
    .flow-container {
        gap: 3rem;
    }

    .kb_arrow {
        height: 350px;
        bottom: -60px;
    }
}

/* レスポンシブ対応の改善 */
@media (max-width: 1250px) {
    #product-wrapper .window {
        margin: 1.5rem auto;
    }
}

/* アイキャッチ画像のスタイル */
.eyecatch {
    width: 100%;
    max-width: 800px;
    height: auto;
    border-radius: 8px;
    margin: 1.5rem 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .eyecatch {
        margin: 1rem 0;
    }
}

.use-cases {
    width: 100%;
    position: relative;
    padding: 80px 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.use-cases-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 60px;
    color: #002147;
    font-weight: normal;
}

.use-cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.use-case-card {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 40px 30px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.icons-group {
    width: 280px;
    margin: 0 auto 30px;
    padding: 20px;
}

.icons-group img {
    width: 100%;
    height: auto;
    display: block;
}

.use-case-title {
    font-size: 16px;
    color: #002147;
    margin-bottom: 25px;
    line-height: 1.5;
    font-weight: normal;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
}

.use-case-link {
    display: inline-block;
    color: #00A0FF;
    border: 1px solid #00A0FF;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 18px;
}

.use-case-link:hover {
    background: #00A0FF;
    color: #FFFFFF;
    text-decoration: none;
}

@media (max-width: 992px) {
    .use-cases-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .use-cases {
        padding: 60px 0;
    }

    .use-cases-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .use-case-card {
        padding: 30px 20px;
    }

    .icons-group {
        width: 240px;
        padding: 15px;
    }

    .use-cases-title {
        font-size: 24px;
        margin-bottom: 40px;
    }
}
