/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
:root {
	--theme-color:#FF791F;
	--strong-color:#BA1B43;
}
strong {
	color:var(--strong-color);
	font-weight:900;
}
.fs_08 {
	font-size:.8em !important;
}
.zeikomi {
	color:#fff !important;
	font-size:0.9rem;
}
.block-tab-4 .nav-link {
	padding-top: 20px;
	padding-bottom: 20px;
	font-weight: 500;
	color: #222;
	transition: none;
}
.hosoku {
	display:block;
	font-size:.8rem;
}
.copyright {
	text-align:center;
	position:relative;
	z-index:10;
}
.color1 {
	color:var(--theme-color) !important;
}
.news_title:first-letter {
	color:var(--theme-color);
	font-size:1.4em;
}
.gmap_iframe {
	aspect-ratio: 16 / 8;
	width:100%;
	height:100%;
}
.telnum {
	font-size:4vw;
	line-height: 1;
}
.footer_main {
	font-size:4vw;
	line-height:1.2;
}
.maru {
	display:inline-block;
	text-align:center;
	height:30px;
	width:30px;
	border-radius:50%;
	line-height:30px;
	color:#fffc02;
	background-color:#03147a;
	font-size:20px;
	margin-right:5px;
	font-weight:bold;
}
.top_service dt{
	font-size:20px;
	color:#03147a;
}

.block-tab-4 .nav-link.active,
.block-tab-4 .tab-pane {
	color: #FFF;
	background-color: #125715;
}

.block-tab-4 .nav-link:nth-child(2).active,
.block-tab-4 .tab-pane:nth-child(2) {
	background-color: #6d0f0f;
}

.block-tab-4 .nav-link:nth-child(3).active,
.block-tab-4 .tab-pane:nth-child(3) {
	background-color: #1d0f6d;
}

.block-tab-4 .nav-link:nth-child(4).active,
.block-tab-4 .tab-pane:nth-child(4) {
	background-color: #0f6d60;
}

.block-tab-4 .nav-link:nth-child(5).active,
.block-tab-4 .tab-pane:nth-child(5) {
	background-color: #6d6b0f;
}

.block-tab-4 .nav-link:nth-child(6).active,
.block-tab-4 .tab-pane:nth-child(6) {
	background-color: #0f676d;
}

.block-tab-4 .nav-link:nth-child(7).active,
.block-tab-4 .tab-pane:nth-child(7) {
	background-color: #6d0f55;
}

.feature-box-border-vertical .feature-box { position: relative; }

.feature-box-border-vertical .feature-box:not(.noborder)::before,
.feature-box-border-vertical.border-hover-animate .feature-box:not(.noborder)::after {
	content: "";
	position: absolute;
	top: calc(64px + 13px);
	left: 59px;
	width: 2px;
	height: calc(100% - 90px);
	background-color: #EEE;
	z-index: 0;
}

.feature-box-border-vertical.border-hover-animate .feature-box:not(.noborder)::after {
	background-color: #0F6458;
	height: 0;
	transition: height .3s ease-in-out;
}

.feature-box-border-vertical .feature-box:nth-child(1):not(.noborder)::before { background-color: #0F6458; }

.feature-box-border-vertical.border-hover-animate .feature-box:hover:not(.noborder)::after { height: calc(100% - 90px); }

.feature-box-border-vertical .fbox-icon i,
.feature-box-border-vertical .fbox-border.fbox-light .fbox-icon i {
	line-height: 60px;
	font-size: 24px;
	z-index: 1;
	text-align: center;
}

.grid-filter.flex-column {
	border: 1px solid rgba(0,0,0,0.07);
	border-radius: 4px;
}
.grid-filter.flex-column,
.grid-filter.flex-column li {
	width: 100%;
}
.grid-filter.flex-column li a {
	padding: 14px 20px;
	font-size: 0.9375rem;
	text-align: left;
	border-left: 0;
	border-radius: 0;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}
.grid-filter.flex-column li:first-child a {
	border-radius: 4px 4px 0 0;
}
.grid-filter.flex-column li:last-child a {
	border-bottom: 0;
	border-radius: 0 0 4px 4px;
}

.toggle-active > .toggle-header {
	color:var(--cnvs-themecolor);
}
.page-title {
	border-bottom: none;
}
.plan {
	padding:20px;
}
.plan h3 {
	font-weight:bold;
	padding:0.5em 1em;
	box-shadow: 6px -6px var(--theme-color);
	outline: 3px solid #fff;
	border:3px solid var(--theme-color);
	position:relative;
}
.caution {
	border:solid 1px var(--theme-color);
	padding:10px;
	background-color:#fff;
	box-shadow:3px 3px 0 var(--theme-color);
}
.breadcrumb-item.active {
	color:var(--theme-color);
}

.plan_rank {
	max-width: 180px;
}
.plan_box_content {
	max-width:400px;
	margin:0 auto;
	border-radius:20px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
	padding:20px;
	height:100%;
}
.plan_txt {
	border-top: solid 1px #ccc;
	padding:10px 0;
}
.plan_txt p {
	margin:0;
	text-align:justify;
}
.num_times span {
	background-color:#333;
	color:#fff;
	border-radius:20px;
	padding:2px 1em;
}
.price_box {
	font-size:2rem;
	font-weight:bold;
	line-height:1;
}
.price_box .yen {
	font-size: .8em;
}
.price_box .yen2 {
	font-size: .5em;
	font-weight:normal;
}
.rank_ume {
	color:#CB708C;
}
.rank_take {
	color:#989E3C;
}
.rank_matsu {
	color:#6E9B76;
}
.rank_ec {
	color:#905FBD;
}
.rank_web {
	color:#6073D4;
}

.content4 {
	margin-bottom: 20px;
}
.merit{
	position:relative;
}
.merit::before {
	content:'';
	display:block;
	width:20px;
	height:20px;
	border-left:solid 2px var(--theme-color);
	border-bottom:solid 2px var(--theme-color);
	position:absolute;
	bottom:0;
	left: 0;
}
.merit::after {
	content:'';
	display:block;
	width:20px;
	height:20px;
	border-right:solid 2px var(--theme-color);
	border-bottom:solid 2px var(--theme-color);
	position:absolute;
	bottom:0;
	right: 0;
}
.merit h3 {
	position:relative;
	padding:20px 10px 0;
	line-height:1.2;
	margin:0 0 20px;
}
.merit h3 span {
	display:block;
	font-size:1.8em;
	font-weight:900;
}
.merit h3::before {
	content:'';
	display:block;
	width:20px;
	height:20px;
	border-left:solid 2px var(--theme-color);
	border-top:solid 2px var(--theme-color);
	position:absolute;
	top:0;
	left: 0;
}
.merit h3::after {
	content:'';
	display:block;
	width:20px;
	height:20px;
	border-right:solid 2px var(--theme-color);
	border-top:solid 2px var(--theme-color);
	position:absolute;
	top:0;
	right: 0;
}
.merit p {
	padding:0 15px 20px;
	margin:0;
}
.merit img {
	width:100px;
	vertical-align: middle;
}
.merit img.eight {
	width:80px;
}
.icon_box {
	height:100px;
}
.entry-image a img:hover {
	opacity: .7;
}
.entry-meta a:hover, .blog_content a:hover, .short a:hover {
	color:var(--strong-color);
	text-decoration: underline !important;
}
.tagcloud a:hover {
	text-decoration: none !important;
}

.entry-title h1.short {
	overflow: hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.entry-content p.short {
	overflow: hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	margin:0;
}
.blog_content h2 {
	margin:1.5em 0 1em;
	position:relative;
	padding-left:20px;
	letter-spacing: 0.12em;
}
.blog_content h2::before {
	content:'';
	display:block;
	height:100%;
	width:10px;
	background-color:var(--theme-color);
	position:absolute;
	left:0;
	top:0;
	border-radius:5px;
}
.blog_content h3 {
	margin:1.5em 0 1em;
	padding-left:5px;
	border-bottom:solid 3px var(--theme-color);
	letter-spacing: 0.1em;
}
.blog_content h4 {
	margin:1.5em 0 1em;
	padding:5px;
	border-top:dashed 1px var(--theme-color);
	border-bottom:dashed 1px var(--theme-color);
	letter-spacing: 0.1em;
}
.blog_content h5 {
	margin:1.5em 0 1em;
	position:relative;
	padding:5px 10px;
	color:#fff;
	background-color:#222;
	letter-spacing: 0.1em;
	border-radius:5px;
}
.blog_content ul,.blog_content ol {
	border:dashed 1px var(--theme-color);
	padding: 0.5em 1em 0.5em 1.5em;
	position:relative;
}
.blog_content ul li {
	line-height: 1.5;
	list-style:none !important;
}
.blog_content ul li::before {
	font-family:"Font Awesome 6 Free";
	content: "\f138";/*アイコンの種類*/
	left : 2em;/*左端からのアイコンまでの距離*/
	color: var(--theme-color);/*アイコン色*/
	font-weight:900;
	margin-right: .5em;
}
.blog_content ol {
	counter-reset: item;
	list-style:none !important;
}
.blog_content ol li {
	line-height: 1.5;
	list-style:none !important;
	text-indent: -1.3em;
	padding-left: 1.3em;
}
.blog_content ol li::before {
	counter-increment: item;
	content: counter(item);
	margin-right:.5em;
	font-weight:bold;
	color:var(--theme-color);
}

.category ul {
	list-style: none;
}
.category ul li a {
	display:block;
}
.category ul li a:hover {
	color:var(--strong-color);
}

.pp h3 {
	margin:2em 0 .5em;
	border-top:dashed 1px var(--theme-color);
	padding:1em 0 0;
}
.pp ul {
	padding-left: 25px;
}

@media (max-width: 991px) {
	body:not(.is-expanded-menu) #header:not([data-mobile-sticky=true]) #header-wrap {
		position:fixed;
	}
	#header-wrap #logo img {
		height:auto;
	}
	.footer_main {
		font-size:6vw;
	}
}