@charset "utf-8";
/*
Theme Name: 税理士法人　JPコンサルタンツ
Author: Kotaro Saito
Description:  税理士法人　JPコンサルタンツのテーマ
version: 1.0.0
*/

/*common
-----------------------------------------------------------------------------------------*/
html,body{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	color: rgba(54, 54, 54, 1);
	scroll-behavior: smooth;
}

.font-mincho {
  font-family: "Zen Old Mincho", serif;
}

.font-sc {
  font-family: "Cormorant SC", serif;
  letter-spacing: 2px;
}

.tont-antique{
  font-family: "Zen Antique", serif;
}

.font-eb {
  font-family: "EB Garamond", serif;
}



@media screen and (min-width:768px) {
.sp{
	display: none;
}
}

@media screen and (max-width:767px) {
.pc{
	display: none;
}

html,body{
	font-size: 14px;
}

}


/*header
-----------------------------------------------------------------------------------------*/
.header-top{
	height: 80px;
	padding-left: 30px
}

.header-flex{
	align-items: center;
	justify-content: space-between;
}

.header-logo{
	width: 270px;
}

.header-link{
	gap: 50px;
	align-items: center;
	justify-content: flex-end;
}

.header-link a{
	font-size: 1.2rem;
	color: rgba(255, 255, 255, 1);
}

.header-contact{
	background: linear-gradient(to right, rgba(61, 106, 194, 1), rgba(4, 44, 121, 1));
	width: 300px;
	padding: 25px;
	height: 80px;
	display: inline-block;
	color: rgba(255, 255, 255, 1);
}

.header-contact img{
	width: 30px;
	display: inline-block;
	padding-right: 10px;
}

.sp-navigation{
	display: none;
}

@media screen and (max-width:1500px) {
	.header-link {
		gap: 30px;
	}
}

@media screen and (max-width:1400px) {
	.header-contact {
		width: 200px;
	}

	.header-link {
        gap: 20px;
    }
}

@media screen and (max-width:1200px) {
	.header-link{
		display: none;
	}

	.sp-navigation{
		display: block;
	}

	.header-logo{
		margin-top: 20px;
	}

	.drawer-nav{
		padding-top: 100px;
	}

	.drawer--right.drawer-open button.drawer-hamburger{
		right: 20px;

	}
}

@media screen and (max-width:767px) {
	.header-logo {
		width: 170px;
		margin-top: 10px;
	}

	.header-top {
		padding-left: 10px;
		height: 60px;
	}

	.header-contact{
		height: auto;
		padding: 15px;
		margin-top: 10px;
	}
}


/*footer
-----------------------------------------------------------------------------------------*/
div.copy-right{
	padding: 80px 0 30px;
	background-color: rgba(0, 60, 120, 1);
	color: rgba(255, 255, 255, 1);
	position: relative;
}

.footer-flex{
	gap: 100px;
	font-size: 0.9rem;
	text-align: left;
}	

.footer-left{
	width: 40%;
}	

.footer-title{
	font-size: 1.2rem;
	font-weight: 600;
	margin: 55px 0 15px;
}

.footer-right{
	width: 50%;
	margin: 60px 0 50px;
}	

.footer-right a{
	color: rgba(255, 255, 255, 1);
	display: block;
	line-height: 2;
}

.footer-lien{
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px 3px 0;
	width: 18px;
	height: 1px;
	background-color: rgba(255, 255, 255, 1);
}

.footer-logo{
	width: 100%;
	display: inline-block;
}	

.footer-below-as{
	margin-bottom: 20px;
}

.footer-left-as{
	margin-left: 80px;
}

.footer-link-left{
	width: 40%;
}

.footer-privacy-policy{
	color: rgba(255, 255, 255, 1);
	margin-left: 30px;
}

.footer-copy-right{
	margin-right: auto;
	text-align: left;
	font-size: 0.9rem;
}

.footer-top{
	writing-mode: vertical-rl;
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255, 255, 255, 1);
	font-size: 1.1rem;
	font-weight: 500;
}

.footer-top span{
	height: 150px;
	width: 0.5px;
	background-color: rgba(255, 255, 255, 1);
	display: block;
	position: absolute;
	top: -170px;
	left: 10px;
}

@media screen and (max-width:1400px) {
	.footer-left {
		width: 30%;
	}

	.footer-flex {
		gap: 50px;
	}

	.footer-right {
		width: 65%;
	}

}


@media screen and (max-width:1200px) {
	.footer-sp{
		display: none;
	}

	a.footer-sp{
		display: none;
	}

	.footer-flex {
        gap: 50px;
    }

	.footer-left {
        width: 35%;
    }

	.footer-right {
        width: 55%;
		  margin: 0;
    }

	 .footer-link-left {
		width: 50%;
	}
}

@media screen and (max-width:1023px) {
	.footer-left {
		width: 60%;
	}

	div.copy-right {
		padding: 30px 0 20px;
	}

	.footer-right {
		width: 100%;
		margin-bottom: 20px;
    }
}

@media screen and (max-width:767px) {
	.footer-top {
		right: 30px;
	}

	.footer-left {
		width: 86%;
	}

	.footer-title {
		margin: 25px 0 15px;
	}

	.footer-flex {
		gap: 25px;
	}

	.footer-link-left {
		width: 90%;
	}

	.footer-link-sp{
		margin-bottom: 20px;
	}

	.footer-privacy-policy {
		margin-left: 10px;
	}
}




/*news
-----------------------------------------------------------------------------------------*/
.home-left{
	width: 65%;
}

.home-text-flex{
	gap: 50px;
	margin-top: 50px;
	align-items: center;
}

.home-tagu{
	text-align: center;
}


.home-ymd{
	color: rgba(156, 156, 156, 1);
}

.home-tagu{
	color: rgba(156, 156, 156, 1);
	border: 1px solid rgba(156, 156, 156, 1);
	padding: 4px;
	width: 110px;
	border-radius: 50px;
}

.home-list{
	padding-bottom: 25px;
	border-bottom: 1px solid rgba(156, 156, 156, 1);
}

.home-title{
	color: rgba(54, 54, 54, 1);
}

.home-flex{
	gap: 50px;
	justify-content: space-between;

}

.home-right{
	width: 30%;
}

.select-archive{
	border: none;
	color: rgba(15, 57, 139, 1);
	padding-left: 100px;
}

.select-archive-sidbar{
	border: none;
	color: rgba(15, 57, 139, 1);
	padding-left: 66px;
}

.side-report{
	color: rgba(15, 57, 139, 1);
	font-weight: 500;
}

.side-report-flex{
	width: 300px;
	background-color: rgba(255, 255, 255, 1);
	padding: 10px 15px;
	border: 1px solid rgba(156, 156, 156, 1);
}

.select-archive option{
	font-weight: 500;
	color: rgba(145, 145, 145, 1);
}

.hone-sidebar{
	margin-top: 30px;
}

.home-pagenavi{
	margin-top: 150px;
}

.wp-pagenavi a, .wp-pagenavi span{
	border: none;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current{
	border-bottom: 1px solid rgba(15, 57, 139, 1);
	color: rgba(15, 57, 139, 1);
}

a.nextpostslink, a.previouspostslink{
	color: rgba(255, 255, 255, 1);
	background-color: rgba(156, 156, 156, 1);
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 50%;
}

@media screen and (max-width:1200px) {
	.home-text-flex {
		gap: 20px;
	}

	.home-left {
		width: 60%;
	}
}

@media screen and (max-width:1023px) {
	.home-left {
		width: 100%;
	}

	.home-box{
		display: flex;
		gap: 30px;
		align-items: flex-end;
	}

}


@media screen and (max-width:767px) {
	.home-text-flex {
		margin-top: 20px;
	}

	.home-text-flex {
		gap: 15px;
	}

	.home-list {
		padding-bottom: 15px;
	}

	.home-flex {
		gap: 30px;
	}

	.home-box{
		display: block;
	}

	.home-pagenavi {
		margin: 30px 0 60px;
	}


}





/*single
-----------------------------------------------------------------------------------------*/
.single-top{
	text-align: left;
}

.single-img{
	width: 80%;
	margin: auto;
}

.single-content{
	margin-top: 120px;
}

.single-title{
	font-size: 1.7rem;
	font-weight: 600;
	border-bottom: 1px solid rgba(0, 0, 0, 1);
	padding-bottom: 50px;
	margin: 25px 0 120px;
}

.single-img img{
	object-fit: contain;
	height: auto;
}

.single-link-flex{
	margin-top: 150px;
	justify-content: center;
}

.single-link{
	color: rgba(78, 78, 78, 1);
	margin: 0 30px;
}

.single-arrow a{
	background-color: rgba(15, 57, 139, 1);
	color: rgba(255, 255, 255, 1);
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 50%;
}

@media screen and (max-width:767px) {
	.single-img {
		width: 100%;
	}

	.single-title {
		padding-bottom: 20px;
		margin: 20px 0 25px;
	}

	.single-content {
		margin-top: 25px;
	}

	.single-link-flex {
		margin-top: 30px;
		}
}




/*事例紹介
-----------------------------------------------------------------------------------------*/
.cases-content-top{
	padding-top: 150px;
}


.cases-content-flwx{
	gap: 50px;
}

.cases-content-flwx a{
	width: 170px;
	font-weight: 500;
	padding: 10px;
	border-radius: 50px;
	display: inline-block;
	text-align: center;
	border: 1px solid rgba(15, 57, 139, 1);
	color: rgba(15, 57, 139, 1);
}

a.cases-content-all{
	color: rgba(255, 255, 255, 1);
	background-color: rgba(78, 78, 78, 1);
}

.cases-content-box{
	justify-content: space-between;
	align-items: flex-end;
}

.cases-top{
	width: 80%;
	margin: auto;
	padding: 100px 0 200px;
}

.cases-list{
	list-style-type: none;
	box-shadow: 0px 0px 8px rgba(163, 163, 163, 0.25);
	padding: 70px;
	margin-bottom: 50px;
	text-align: left;
	background-color: rgba(255, 255, 255, 1);
}

.label{
	width: 170px;
	font-weight: 500;
	padding: 10px;
	border-radius: 50px;
	display: inline-block;
	text-align: center;
}

.label.product-general{
	border: 1px solid rgba(15, 57, 139, 1);
	color: rgba(15, 57, 139, 1);
}

.label.product-inheritance{
	border: 1px solid rgba(218, 147, 10, 1);
	color: rgba(218, 147, 10, 1);
}

.label.product-medical{
	border: 1px solid rgba(0, 151, 124, 1);
	color: rgba(0, 151, 124, 1);
}

.cases-title{
	font-size: 1.2rem;
	font-weight: 500;
	margin: 15px 0;
}

.cases-name{
	font-size: 0.9rem;
	margin-top: 15px;
}

@media screen and (max-width:1500px) {
	.cases-content-flwx {
		gap: 15px;
	}
}


@media screen and (max-width:1200px) {
	.cases-content-box {
		gap: 0px 50px;
	}

	.hone-sidebar {
		margin-top: 40px;
		margin-left: auto;
	}

	.cases-top {
		width: 100%;
	}
}

@media screen and (max-width:1023px) {
	.cases-content-flwx a {
    width: 150px;
	}

	.cases-content-all{
		width: 150px;
	}

	.cases-list {
		padding: 50px;
	}
}

@media screen and (max-width:767px) {
	.cases-content-top {
		padding-top: 40px;
	}

	.hone-sidebar{
		margin: 30px 0 0;
	}

	.cases-top {
		padding: 10px 0 0px;
	}

	.cases-list {
		padding: 20px;
		margin-bottom: 25px;
    }
}

/*404
-----------------------------------------------------------------------------------------*/
div.error-message{
	font-size: 150%;
}

@media screen and (max-width:767px) {
div.error-message{
	font-size: 120%;
}
}
