/* Main-color-only adopted overrides.
 * Replaces the KAKERU red pair (#b01331 / #9c112b) without touching header, footer,
 * bottom breadcrumbs, article cards, or tag palettes.
 */

.border-bottom {
	border-bottom-color: var(--kakeru-proposal-main) !important;
}

.border-top-bottom {
	border-top-color: var(--kakeru-proposal-main) !important;
	border-bottom-color: var(--kakeru-proposal-main) !important;
}

.border-left,
.border-all,
.headline8,
.kakeruDetailArea h3 {
	border-color: var(--kakeru-proposal-main) !important;
}

.border-bottom-redgray:before {
	background-color: var(--kakeru-proposal-main) !important;
}

.headline20,
.textRed,
.styleTable th {
	color: var(--kakeru-proposal-accent-text) !important;
}

.kakeruContact .title {
	color: var(--kakeru-proposal-accent-text) !important;
}

.breadcrumbs li a,
.breadcrumbs02:not(.style01) li a,
.breadcrumbs02:not(.style01) li a:hover {
	color: var(--kakeru-proposal-accent-text) !important;
}

.keyvKakeru,
.keyvKakeru .keyvBlock {
	background: var(--kakeru-proposal-main) !important;
	background-color: var(--kakeru-proposal-main) !important;
}

.headSearch {
	background: var(--kakeru-proposal-main) !important;
	background-color: var(--kakeru-proposal-main) !important;
	border-bottom: 1px solid var(--kakeru-proposal-head-border) !important;
}

body.home .headSearch {
	border-bottom: none !important;
}

.keyvKakeru .textKeyv,
.headSearch,
.headSearch .ttlHead,
.headSearch .ttlHead span {
	color: var(--kakeru-proposal-text) !important;
}

.keyvKakeru .textKeyv::before {
	background-color: var(--kakeru-proposal-divider) !important;
}

.kakeruMenu,
.kakeruMenu .menu {
	background-color: var(--kakeru-proposal-menu-bg) !important;
}

.kakeruMenu {
	border-bottom: 1px solid var(--kakeru-proposal-menu-border) !important;
}

.kakeruMenu .menu > li > a,
.kakeruMenu .menu > li > a span {
	color: var(--kakeru-proposal-text) !important;
}

.kakeruMenu .menu > li {
	align-items: center;
}

.kakeruMenu .menu > li > a {
	align-items: center;
	border-radius: 5px !important;
	font-weight: 500 !important;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease !important;
}

@media screen and (min-width: 768px) {
	.kakeruMenu .menu > li > a {
		padding-top: 5.5px !important;
		padding-bottom: 5.5px !important;
		border-bottom: 0 !important;
	}
}

.kakeruMenu .menu > li > a:before,
.kakeruMenu .menu > li:last-child > a:after {
	background-color: var(--kakeru-proposal-divider) !important;
}

.kakeruMenu .menu > li > a.active span:after {
	background-color: var(--kakeru-proposal-action) !important;
}

.kakeruMenu .menu > li > a:hover,
.kakeruMenu .menu > li:hover > a {
	background-color: var(--kakeru-proposal-menu-hover-bg) !important;
	color: var(--kakeru-proposal-action-hover) !important;
	opacity: 1 !important;
	z-index: 10;
}

.kakeruMenu .menu > li > a:hover span,
.kakeruMenu .menu > li:hover > a span {
	color: var(--kakeru-proposal-action-hover) !important;
}

.kakeruMenu .subNav li a.active,
.kakeruMenu .subNav li a:hover {
	color: var(--kakeru-proposal-accent-text) !important;
}

body.kakeru-proposal-c .kakeruMenu .subNav {
	background-color: var(--kakeru-proposal-subnav-bg) !important;
	border-bottom: 1px solid var(--kakeru-proposal-subnav-border) !important;
	box-shadow: inset 0 1px 0 var(--kakeru-proposal-menu-border);
}

.kakeruMenu .subNav li a {
	border-radius: 5px !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.kakeruMenu .subNav li a:hover {
	background-color: var(--kakeru-proposal-subnav-hover-bg) !important;
	color: var(--kakeru-proposal-action-hover) !important;
}

.kakeruMenu .subNav li a.active:after {
	background-color: var(--kakeru-proposal-action) !important;
}

.blockSearch .searchform .searchBtn:hover,
.boxSearch02 .searchform .searchBtn:hover {
	background-color: var(--kakeru-proposal-action) !important;
}

.sliderBlock .slick-arrow::after {
	border-color: var(--kakeru-proposal-slider-arrow) !important;
}

.sliderBlock .slick-arrow:hover {
	background-color: var(--kakeru-proposal-action-hover) !important;
}

.sliderBlock .slick-arrow:hover::after {
	border-color: #ffffff !important;
}

.listSeminar .slick-dots,
.sliderBlock .slick-dots,
.jsSlider .slick-dots {
	align-items: center;
}

.listSeminar .slick-dots li,
.sliderBlock .slick-dots li,
.jsSlider .slick-dots li {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.listSeminar .slick-dots li button,
.sliderBlock .slick-dots li button,
.jsSlider .slick-dots li button {
	box-sizing: border-box;
	overflow: hidden;
	color: transparent !important;
	font-size: 0;
	line-height: 0;
	text-indent: 0 !important;
	appearance: none;
}

.listSeminar .slick-dots li.slick-active button,
.sliderBlock .slick-dots li.slick-active button,
.jsSlider .slick-dots li.slick-active button {
	background-color: var(--kakeru-proposal-slider-active) !important;
}

.blockSeminar .btnList:hover {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.06%22%20height%3D%2211.31%22%20viewBox%3D%220%200%207.06%2011.31%22%3E%3Cpath%20fill%3D%22%232f6daa%22%20fill-rule%3D%22evenodd%22%20d%3D%22M5.65%205.66%201.41%209.9%200%208.49l4.24-4.24L0%201.41%201.41%200l4.24%204.24%201.41%201.41Z%22%2F%3E%3C%2Fsvg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: 69% 50% !important;
	color: var(--kakeru-proposal-action) !important;
}

.sideItem .rankList li a:hover,
.sideItem .rankList li a:hover .contentItem,
.sideItem .rankList li a:hover .contentItem span,
.sideItem .recentPostsBlock li a:hover,
.sideItem .recentPostsBlock li a:hover .contentItem,
.sideItem .recentPostsBlock li a:hover .contentItem span,
.sideItem .sideBox li a:hover,
.sideItem .sideBox li a:hover .contentItem,
.sideItem .sideBox li a:hover .contentItem span,
#sideKakeru .recentPostsBlock a:hover {
	color: var(--kakeru-proposal-accent-text) !important;
}

.sideItem .rankTxt a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 30px;
	padding: 6px 26px 6px 12px !important;
	background-position: right 12px center !important;
	background-repeat: no-repeat !important;
	line-height: 1.35;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.sideItem .rankTxt a:hover {
	background-color: var(--kakeru-proposal-subnav-hover-bg) !important;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%3E%3Cpath%20fill%3D%22%232f6daa%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4%204%201%207%200%206l3-3-3-3%201-1%203%203%201%201Z%22%2F%3E%3C%2Fsvg%3E") !important;
	background-position: right 12px center !important;
	color: var(--kakeru-proposal-accent-text) !important;
}

.btnMore:hover {
	background-color: var(--kakeru-proposal-subnav-hover-bg) !important;
}

.btnMore:hover span {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.312%22%20height%3D%227.07%22%20viewBox%3D%220%200%2011.312%207.07%22%3E%3Cpath%20fill%3D%22%232f6daa%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4.24%205.65%200%201.41%201.41%200l4.24%204.24L9.9%200l1.41%201.41-4.24%204.24-1.41%201.42Z%22%2F%3E%3C%2Fsvg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: 100% 50% !important;
}

.sideMenu a.active:after,
.sideMenu a:hover:after,
.sideMenu .globalNav a.active:after,
.sideMenu .globalNav a:hover:after {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%3E%3Cpath%20fill%3D%22%232f6daa%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4%204%201%207%200%206l3-3-3-3%201-1%203%203%201%201Z%22%2F%3E%3C%2Fsvg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: 50% 50% !important;
	background-color: #ffffff !important;
}

.btnList:hover,
.interviewList a:hover .contentItem .ttlItem,
.btnMore:hover span,
.sideMenu li .ttlSub.active,
.sideMenu a.active,
.sideMenu a:hover,
.sideMenu li .ttlSub:hover,
.sideMenu .ttlSub.expand:hover a:not(.hightlight),
.sideItem .rankList li a:hover .contentItem,
.sideItem .recentPostsBlock li a:hover .contentItem,
.sideItem .sideBox li a:hover .contentItem,
.sideItem .rankTxt a:hover,
.hoverStyle:hover,
.listPopular a:hover .contentItem,
.listPopular a:hover .contentItem .txtItem,
.btnWhite:hover span,
.avatarBox .title a,
.boxGray .title span,
.boxGray h2 span {
	color: var(--kakeru-proposal-accent-text) !important;
}

.sideMenu li .ttlSub.active span:after,
.sideMenu li .ttlSub.active span:before,
.sideMenu li .ttlSub span:hover:after,
.sideMenu li .ttlSub span:hover:before,
.sideItem .rankList .imgItem .num,
.sideItem .rankList .imgItem .num.style01 {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	padding: 1px 0 0 !important;
	background-color: var(--kakeru-proposal-action) !important;
	color: #ffffff !important;
	line-height: 1 !important;
}

@media screen and (max-width: 767px) {
	/* Mobile: Icon is on .btnMore, not span - hide span background */
	.btnMore:hover span {
		background-image: none !important;
		padding-right: 0 !important;
	}
	
	/* Mobile: Apply hover icon to .btnMore itself */
	.btnMore:hover {
		background-color: var(--kakeru-proposal-subnav-hover-bg) !important;
		background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.312%22%20height%3D%227.07%22%20viewBox%3D%220%200%2011.312%207.07%22%3E%3Cpath%20fill%3D%22%232f6daa%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4.24%205.65%200%201.41%201.41%200l4.24%204.24L9.9%200l1.41%201.41-4.24%204.24-1.41%201.42Z%22%2F%3E%3C%2Fsvg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: 96% 50% !important;
	}

	#pageKakeru.fixTop .kakeruMenu,
	.kakeruMenu .menu {
		background-color: var(--kakeru-proposal-menu-bg) !important;
		align-items: stretch;
		box-sizing: border-box;
		padding: 8px 8px 7px !important;
	}

	.kakeruMenu .menu > li,
	.fixTop .kakeruMenu .menu > li {
		position: relative;
		box-sizing: border-box;
		width: 25%;
		padding: 3px 3px !important;
	}

	.kakeruMenu .menu > li:nth-child(-n+3),
	.fixTop .kakeruMenu .menu > li:nth-child(-n+3) {
		width: 33.333%;
	}

	.kakeruMenu .menu > li > a {
		align-items: center;
		box-sizing: border-box;
		min-height: 32px;
		padding: 4px 2px !important;
		border-radius: 4px !important;
		font-size: 12px;
		font-weight: 600 !important;
		line-height: 1.25;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
		z-index: 2;
	}

	.kakeruMenu .menu > li > a:hover,
	.kakeruMenu .menu > li:hover > a {
		background-color: transparent !important;
		color: var(--kakeru-proposal-text) !important;
		opacity: 1 !important;
	}

	.kakeruMenu .menu > li > a:hover span,
	.kakeruMenu .menu > li:hover > a span {
		color: var(--kakeru-proposal-text) !important;
	}

	.kakeruMenu .menu > li:hover .subNav {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
		transform: none !important;
	}

	.kakeruMenu .subNav {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}

	.kakeruMenu .subNav li a:hover {
		background-color: transparent !important;
		color: #333333 !important;
	}

	.kakeruMenu .menu.sticky {
		box-shadow: 0 2px 8px rgba(32, 48, 64, 0.12) !important;
	}

	.sidebar .sideItem .listBnr .imgItem,
	.sidebar .sideItem .listBnr .imgItem img {
		display: block;
		margin-right: auto;
		margin-left: auto;
	}

	.sidebar .sideBnr,
	.sidebar .sideBnr .logoSidebar,
	.sidebar .sideBnr .logoSidebar img {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sidebar .sideBnr .logoSidebar img {
		height: auto !important;
		aspect-ratio: auto !important;
	}

	.kakeruMenu .menu > li > a:before {
		left: -3px;
		height: 18px;
	}

	.kakeruMenu .menu > li:nth-child(4) > a:before {
		display: none;
	}

	.headSearch .ttlHead img {
		width: 235px !important;
		min-width: 180px !important;
		max-width: calc(100vw - 40px);
	}

	#spHeader #logo img {
		aspect-ratio: auto !important;
		width: 150px !important;
		height: auto !important;
	}

	.keyvKakeru {
		background: #ffffff !important;
		background-color: #ffffff !important;
	}

	.keyvKakeru .keyvBlock {
		background: var(--kakeru-proposal-main) !important;
		background-color: var(--kakeru-proposal-main) !important;
	}

	.jsSlider .content {
		box-sizing: border-box;
	}

	.jsSlider .content .title {
		display: -webkit-box;
		min-height: calc(1.3em * 3);
		max-height: calc(1.3em * 3);
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.jsSlider .content .text02 {
		display: -webkit-box;
		min-height: 1.4em;
		max-height: 1.4em;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu,
body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu {
	background: transparent !important;
	background-color: transparent !important;
}

body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu {
	border-bottom: none !important;
}

body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

@media screen and (max-width: 767px) {
	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu,
	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu {
		background: var(--kakeru-proposal-menu-bg) !important;
		background-color: var(--kakeru-proposal-menu-bg) !important;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu {
		border-bottom: 1px solid var(--kakeru-proposal-menu-border) !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu {
		width: calc(100% + 16px);
		margin-right: -8px;
		margin-left: -8px;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li {
		padding: 3px 3px !important;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .jsSlider .content {
		padding-top: 30px !important;
	}

	body.home .listKeys li {
		box-sizing: border-box;
		width: 33.333%;
		padding: 2px;
	}

	body.home .listKeys li a {
		box-sizing: border-box;
		width: 100% !important;
		margin: 0;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li > a,
	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li > a span {
		color: var(--kakeru-proposal-text) !important;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li > a:before,
	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li:last-child > a:after {
		background-color: var(--kakeru-proposal-divider) !important;
	}

	body.home#pageKakeru.fixTop .keyvKakeru .kakeruMenu .menu > li > a.active span:after {
		background-color: var(--kakeru-proposal-action) !important;
	}
}
