/* header-renew.css */

/* =========================================================
   PC Header Renew
   ========================================================= */
.header-renew {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #fff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	position: relative;
	z-index: 1000;
}
.header-renew-top {
	display: flex;
	justify-content:flex-end;
	align-items: center;
	padding: 15px 20px 0 20px;
	height: 100%;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.header-logo a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #000;
}

.header-logo-text {
	font-size: 16px;
	font-weight: bold;
	margin-left: 15px;
}

.header-renew-top-right {
	display: flex;
	align-items: center;
	gap: 32px;
}

.header-global-menu{
	display:flex;
	align-items: center;
}
.header-renew-link-faq,
.header-renew-link-reason {
	font-size: 13px;
	color: #333;
	text-decoration: none;
}

.header-renew-link-faq:hover,
.header-renew-link-reason:hover {
	text-decoration: underline;
}

.header-renew-btn-download,
.header-renew-btn-contact {
	padding: 8px 24px;
	border-radius: 30px;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
}

.header-renew-btn-download {
	background-color: #2b99ff;
}




.header-renew-btn-contact {
	background-color: #e60000;
}

.header-renew-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.header-renew-btn-download:hover,
.header-renew-btn-contact:hover {
	opacity: 0.8;
	text-decoration: none;
}
.pc-header-nav-renew {
	flex: 1;
}

.pc-header-nav-list-renew {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pc-header-nav-item-renew {
	margin-right: 32px;
}

.pc-header-nav-link-renew {
	display: block;
	padding: 15px 0 15px 0;
	font-size: 15px;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	position: relative;
	cursor: pointer;
}

@media (max-width: 1126px) {
	.pc-header-nav-link-renew {
		font-size: 13px;
	}
	.pc-header-nav-item-renew{
		margin-right:14px;
	}
}
@media (max-width: 927px) {
	.pc-header-nav-link-renew {
		font-size: 12px;
	}
	.header-logo{
		margin-right:20px;
	}
	.header-logo-text{
		font-size:12px;
	}
	.header-logo img{
		width:94px;
	}
}




.pc-header-nav-link-renew:hover {
	color: #2699FB;
}

.js-megamenu-trigger.is-active::after {
	content: '';
	position: absolute;
	bottom: -10px; /* Reaches down to the megamenu */
	left: 50%;
	transform: translateX(-50%);
	border-bottom: 20px solid #000;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	z-index: 6001;
}

.pc-header-search-renew {
	/* position: relative; removed to allow full-width search dropdown */
}

/* =========================================================
   PC Megamenu Renew
   ========================================================= */
.megamenu-renew {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	border-top: 1px solid #ddd;
	z-index: 999;
}

.megamenu-renew.is-active {
	display: block;
}

.megamenu-renew-inner {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.megamenu-renew-left {
	width: 250px;
	flex-shrink: 0;
	padding-right: 30px;
	border-right: 1px solid #eee;
}

.megamenu-renew-topic img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	margin-bottom: 10px;
}

.megamenu-renew-topic-title {
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 14px;
}

.megamenu-renew-topic-text {
	font-size: 12px;
	line-height: 1.5;
	color: #666;
	margin-bottom: 10px;
}

.megamenu-renew-btn {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #333;
	border-radius: 4px;
	font-size: 12px;
	text-decoration: none;
	color: #333;
}

.megamenu-renew-main-link {
	margin-top: 20px;
}

.megamenu-renew-main-link a {
	font-weight: bold;
	color: #0056b3;
	text-decoration: none;
}

.megamenu-renew-right {
	flex: 1;
	display: flex;
	padding-left: 30px;
}

.megamenu-renew-col {
	flex: 1;
	padding-right: 20px;
}

.megamenu-renew-col:last-child {
	padding-right: 0;
}

.megamenu-renew-h3 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 2px solid #333;
	line-height: 1;
}

.megamenu-renew-h3 span {
	font-size: 15px;
	font-weight: bold;
	margin-left: 5px;
}

.megamenu-renew-list-wrap {
	display: flex;
	gap: 20px;
}

.megamenu-renew-list {
	list-style: none;
	margin: 0;
	padding: 0 0 0 16px;
	flex: 1;
}

#megamenu02 .megamenu-renew-list {
	padding: 0;
}

#megamenu02 .megamenu-renew-list li{
	font-size: 15px;
}



.megamenu-renew-list li {
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.5;
}

.megamenu-renew-list li a {
	color: #333;
	text-decoration: none;
}

.megamenu-renew-list li a:hover {
	text-decoration: underline;
}

.megamenu-renew-list-heading {
	font-weight: bold;
	color: #000;
	margin-bottom: 10px;
}

.megamenu-renew-list-subheading a {
	color: #0056b3;
	font-weight: bold;
}

.mt-renew {
	margin-top: 20px;
}

.megamenu-renew-brand-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.megamenu-renew-brand-grid img {
	width: 100%;
	height: auto;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.megamenu-renew-guide-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.guide-item {
	text-decoration: none;
	color: #333;
}

.guide-item img {
	width: 100%;
	height: 100px;
	border-radius: 4px;
	margin-bottom: 8px;
	object-fit: cover;
}

.guide-item p {
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

/* =========================================================
   SP Menu Accordion Renew
   ========================================================= */
.sp-nav-renew {
	background: #fff;
	width: 100%;
}

.sp-accordion-level1,
.sp-accordion-level2,
.sp-accordion-level3,
.sp-accordion-level4 {
	list-style: none;
	margin: 0;
	padding: 0;
}


.sp-accordion-level1 > li > a,
.sp-accordion-toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 13px 20px;
	font-size: 16px;
	font-weight: bold;
	color: #333;
	text-decoration: none;
	cursor: pointer;
	line-height:1;
}

.sp-accordion-toggle{
	border-bottom: 1px solid #c0c0c0;
}

.sp-accordion-toggle > span {
	flex: 1;
}

.sp-accordion-toggle > img {
	max-width: 60px;
	max-height: 30px;
	margin-right: 15px;
	object-fit: contain;
}

.sp-accordion-toggle i.icon-plus {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2' stroke-linecap='round' d='M8 2v12M2 8h12'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sp-accordion-toggle.is-open i.icon-plus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2' stroke-linecap='round' d='M2 8h12'/%3E%3C/svg%3E");
}

.sp-accordion-toggle i.icon-arrow {
	display: inline-block;
	width: 12px;
	height: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7.787' viewBox='0 0 12 7.787'%3E%3Cpath d='M8,9.787l-6-6L3.787,2,8,6.213,12.213,2,14,3.787Z' transform='translate(-2 -2)' fill='%23002e95'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s;
}

.sp-accordion-toggle.is-open.bg-gray{
	background: #F3F3F3;
}

.sp-accordion-toggle.is-open i.icon-arrow {
	transform: rotate(-180deg);
}

.sp-accordion-level2,
.sp-accordion-level3,
.sp-accordion-level4 {
	display: none;
	background: #fff;
}

.sp-accordion-level2 > li > a,
.sp-accordion-level2 .sp-accordion-toggle {
	padding: 15px 20px 15px 34px;
	font-size: 13px;
	font-weight:bold;
	max-height: 40px;
}

.has-child .sp-accordion-level2 .sp-accordion-toggle{
	border-top: none;
	min-height:40px;
	max-height:40px;
}


.sp-accordion-level2 .sp-accordion-toggle{
	margin-left:16px;
	padding: 15px 20px 15px 40px;
}

.sp-accordion-level2 > li > a{
	padding: 15px 23px 15px 30px;
	border-bottom: 1px solid #c0c0c0;
}


.sp-accordion-level3 > li > a{
	height: 40px;
	padding: 6px 20px 6px 50px;
	font-size: 13px;
	background: #fff;
	font-weight:bold;
	border-bottom: 1px solid #c0c0c0;
}
.sp-accordion-level3 .sp-accordion-toggle {
	padding: 6px 20px 6px 50px;
	font-size: 13px;
	background: #fff;
	border-top: 1px solid #c0c0c0;
}

.sp-accordion-level3 > li > a.brand-link-sp{
	margin-left:16px;
}

.sp-accordion-level4 > li > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6px 20px 6px 60px;
	margin-left:16px;
	font-size: 13px;
	background: #fff;
	color: #333;
	text-decoration: none;
	border-bottom:1px solid #c0c0c0;
	height:40px;
}

.sp-accordion-level1 a:not(.brand-link-sp) {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-left: 16px;
}

.sp-accordion-level1 .toplevel_link{
	border-bottom: 1px solid #c0c0c0;
}
.sp-accordion-level1 .toplevel_link a{
	margin:0;
}

.sp-accordion-level1 a:not(.brand-link-sp)::after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.787' height='12' viewBox='0 0 7.787 12'%3E%3Cpath d='M8,9.787l-6-6L3.787,2,8,6.213,12.213,2,14,3.787Z' transform='translate(-2 14) rotate(-90)' fill='%23002e95'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sp-search {
	padding: 15px 20px;
	background: #f5f5f5;
}

.brand-link-sp {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
}

.brand-logo-sp {
	height:auto;
	display: flex;
	align-items: center;
	margin-right: 0;
}

.brand-logo-sp img {
	max-width:90px;
	max-height:30px;
	margin-right:15px;
	object-fit: contain;
}

.brand-text-sp {
	flex: 1;
	font-weight: bold;
	display: block;
	min-height:30px;
	display:flex;
	align-items: center;
}

i.icon-arrow-right {
	display: inline-block;
	width: 12px;
	height: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7.787' viewBox='0 0 12 7.787'%3E%3Cpath d='M8,9.787l-6-6L3.787,2,8,6.213,12.213,2,14,3.787Z' transform='translate(-2 -2)' fill='%23002e95'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: rotate(-90deg);
}

.sp-nav-btn {
	padding: 15px 20px;
	text-align: center;
}

.sp-nav-btn a {
	display: block;
	padding: 12px;
	background: #ff9900;
	color: #fff;
	font-weight: bold;
	border-radius: 4px;
	text-decoration: none;
}

.sp-nav-btn.btn-black a {
	background: #333;
}

@media screen and (max-width: 768px) {
	.header-renew-top-right,
	.header-renew-bottom {
		display: none;
	}
}

/* Overrides for broken layout */
.header-renew {
	height: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	border: none !important;
}

#fixedheadwrap {
	height: auto !important;
}

@media (min-width: 768px) {
	#wrapper {
		padding-top: 110px !important;
	}
}

@media (max-width: 768px) {
	.header-renew {
		height: 35px !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		position: relative;
	}
	#wrapper {
		padding-top: 35px !important;
	}
	.hide2.sp-nav-renew {
		top: 35px !important;
		height: calc(100vh - 60px) !important;
	}
	.header-renew-top {
		height: 35px !important;
		padding: 0 !important;
		width: auto !important;
		position: absolute;
		right: 0;
		top: 0;
	}
	.header-renew-top-right {
		display: none !important;
	}
	.header-renew-bottom {
		height: 35px !important;
		padding-left: 0px;
		display: flex;
		align-items: center;
	}
	.header-global-menu {
		display: none !important;
	}
	.header-logo {
		margin: 0 !important;
	}
	.header-logo a {
		display: flex;
		align-items: center;
	}
	.header-logo img {
		width: 85px !important;
	}
	.header-logo-text {
		display: none !important;
	}
	.spmenu {
		display: flex !important;
		height: 35px !important;
	}
	.spmenu p {
		height: 35px !important;
		width: 50px !important;
		margin: 0;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		border-left: 1px solid #eee;
	}
	.spmenu1 {
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.35-4.35'/%3E%3C/svg%3E") no-repeat center center !important;
		background-size: 24px 24px !important;
	}
	.spmenu1.active {
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2.5' stroke-linecap='round' d='M6 6l12 12M6 18L18 6'/%3E%3C/svg%3E") no-repeat center center !important;
		background-size: 24px 24px !important;
	}
	.spmenu2 {
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2.5' stroke-linecap='round' d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E") no-repeat center center !important;
		background-size: 28px 28px !important;
	}
	.spmenu2.active {
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230056b3' stroke-width='2.5' stroke-linecap='round' d='M6 6l12 12M6 18L18 6'/%3E%3C/svg%3E") no-repeat center center !important;
		background-size: 24px 24px !important;
	}
}

/* Dark Megamenu Styles */
.megamenu-dark {
	color: #fff;
	border-top: none;
	position: relative;
	overflow: visible;
	z-index: 1;
}
.megamenu-dark .megamenu-renew-inner {
	padding:0px;
	gap: 40px;
}
.megamenu-dark .megamenu-renew-left {
	border-right: none;
	width: 200px;
	padding-right: 0;
}

.megamenu-dark .megamenu-renew-left .megamenu-renew-header{
	border-bottom:none;
}

#megamenu01 .megamenu-renew-middle {
	flex: 2;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

#megamenu01 .megamenu-renew-right {
	flex: 1.5;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	max-width:305px;
}

.megamenu-renew-header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom: 2px solid #fff;
	padding-bottom: 6px;
	margin-bottom: 12px;
	gap:16px;
}

#megamenu02 .megamenu-renew-header {
	border-bottom: none;
	padding-bottom: 6px;
	margin-bottom: 24px;
}

.megamenu-dark .megamenu-renew-title {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	margin: 0;
	padding: 0;
	border: none;
	line-height:1;
}
.megamenu-dark .megamenu-renew-title span {
	font-size: 15px;
	color: #fff;
	margin-left: 5px;
	font-weight: bold;
}
.megamenu-renew-pill {
	display: inline-block;
	background: #fff;
	color: #000;
	font-size: 10px;
	font-weight: bold;
	padding: 4px 8px;
	border-radius: 20px;
	text-decoration: none;
	line-height: 1;
}
.megamenu-renew-pill:hover {
	background: #eee;
	text-decoration: none;
}

.megamenu-dark .megamenu-renew-topic-title {
	color: #fff;
	font-size: 16px;
	margin-top: 10px;
}
.megamenu-dark .megamenu-renew-topic-text {
	color: #ccc;
	font-size: 13px;
}
.megamenu-dark .megamenu-renew-btn {
	color: #fff;
	padding: 8px 20px;
	border-radius: 30px;
	margin: 10px auto 0 auto;
	display:block;
	width:126px;
}
.megamenu-dark .megamenu-renew-btn:hover {
	text-decoration: none;
	opacity: 0.8;
}

.megamenu-renew-badge {
	display: inline-block;
	background: #444;
	color: #fff;
	font-size: 12px;
	padding: 0 12px;
	border-radius: 20px;
	margin-bottom: 13px;
	width:120px;
}

.megamenu-renew-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.megamenu-dark .megamenu-renew-subtitle {
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 7px;
}

.megamenu-dark .megamenu-renew-subtitle a {
	color: #fff;
	text-decoration: none;
}
.megamenu-dark .megamenu-renew-subtitle a:hover{
	text-decoration: underline;
}

.megamenu-dark .megamenu-renew-list li a {
	color: #000;
}

.megamenu-renew-software-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.megamenu-renew-software-list li {
	margin-bottom: 10px;
}
.megamenu-renew-software-list li a {
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	display: flex;
	align-items: center;
}
.megamenu-renew-software-list li a:hover{
	text-decoration: underline;
}
.circle-num {
	display: inline-block;
	margin-right: 5px;
}

.megamenu-renew-brand-list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.brand-link {
	display: flex;
	align-items: center;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	min-height:25px;
}
.brand-link-sei .brand-logo img{
	max-height:46px;
}
.brand-logo {
	width: 100px;
	height: 30px;
	display: flex;
	align-items: center;
	margin-right: 25px;
}
.brand-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.megamenu-renew-software-brands {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.megamenu-renew-software-brands a {
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	font-size: 15px;
}
.megamenu-renew-software-brands a:hover{
	text-decoration: underline;
}

#megamenu02.megamenu-dark {
	padding:0 0 30px 0;
}

#megamenu02 .megamenu-renew-right-navi {
	padding-left: 0;
}

.megamenu-renew-right-guide {
	flex-direction: column;
}

.mt-10 { margin-top: 10px; }
.mt-11 { margin-top: 11px; }
.mt-12 { margin-top: 12px; }
.mt-13 { margin-top: 13px; }
.mt-14 { margin-top: 14px; }
.mt-15 { margin-top: 15px; }
.mt-16 { margin-top: 16px; }
.mt-17 { margin-top: 17px; }
.mt-18 { margin-top: 18px; }
.mt-19 { margin-top: 19px; }
.mt-20 { margin-top: 20px; }
.mt-21 { margin-top: 25px; }
.mt-22 { margin-top: 22px; }
.mt-23 { margin-top: 23px; }
.mt-24 { margin-top: 24px; }
.mt-25 { margin-top: 25px; }
.mt-26 { margin-top: 26px; }
.mt-30 { margin-top: 30px; }


/* Dark mode styles for megamenu02 and megamenu03 */
.megamenu-dark .megamenu-renew-h3 {
	color: #fff;
	border-bottom-color: #fff;
}
.megamenu-dark .megamenu-renew-h3 span {
	color: #fff;
}
.megamenu-dark .megamenu-renew-list-heading,
.megamenu-dark .megamenu-renew-list-heading a,
.megamenu-dark .megamenu-renew-list li a {
	color: #fff;
}


#megamenu02.megamenu-dark .megamenu-renew-list-heading,
#megamenu02.megamenu-dark .megamenu-renew-list-heading a,
#megamenu02.megamenu-dark .megamenu-renew-list li a {
	color: #fff;
	line-height:1;
}


#megamenu02 .megamenu-renew-list li a.megamenu-renew-pill{
		color: #000;
		font-size:10px;
}
#megamenu02 .megamenu-renew-list li a.megamenu-renew-pill:hover{
		text-decoration: none;
		opacity: 0.8;
}
.megamenu-dark .megamenu-renew-list-heading a:hover,
.megamenu-dark .megamenu-renew-list li a:hover {
	color: #fff;
}
.megamenu-dark .guide-item p {
	color: #fff;
}
.megamenu-dark .guide-item:hover p {
	color: #fff;
}
.megamenu-dark .megamenu-renew-main-link a {
	color: #66b3ff;
}
.megamenu-dark .megamenu-renew-main-link a:hover {
	color: #99ccff;
}

/* Dark mode button overrides */
.megamenu-dark .megamenu-renew-header-link {
	background: #fff;
	color: #000;
	border: 1px solid #fff;
}
.megamenu-dark .megamenu-renew-header-link:hover {
	background: #ccc;
	color: #000;
	border-color: #ccc;
}
.megamenu-dark .megamenu-renew-btn {
	background: #1e90ff;
	color: #fff;
}
.megamenu-dark .megamenu-renew-btn:hover {
	background: #187bcd;
}

.megamenu-renew-guide-footer {
	display: flex;
	justify-content:start;
	align-items: center;
	gap:60px;
	border-top: 1px solid #fff;
	padding-top: 20px;
	margin-top: 30px;
}

.guide-footer-link {
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-decoration: none;
}

.guide-footer-link:hover {
	text-decoration: underline;
}

/* Other L