@charset "UTF-8";

/*
Theme Name: mj_kasukabe-mima
Description: mj_kasukabe-mima
Theme URI: https://majestic.tokyo
Author: MAJESTIC
Author URI: https://majestic.tokyo
Version: 2.0.0
*/

@font-face {
	font-family: 'ZenAntiqueSoft-Regular';
	src: url(fonts/Zen_Antique_Soft/ZenAntiqueSoft-Regular.ttf) format('truetype');
	font-display: swap;
}


html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #000;
	font-size: 18px;
	line-height: 1.8;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
	font-weight: 200;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
p {
	margin:0 0 1em 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
@media screen and (max-width: 560px) {
	body {
		font-size: 16px;
	}
	p {
		margin: 0 0 0.8em 0;
	}
}
@media screen and (max-width: 320px) {
	body {
		font-size: 15px;
	}
}

/****************************************
リンク
*****************************************/
a {
	color: #146152;
	text-decoration: none;
	transition: all .3s;
}
a:hover {
	color: #25B699;
}

a img {
	-webkit-transition: all .3s linear;
}
a img:hover {
	opacity:.7;
}
a.link {
	text-decoration: none;
	float: right;
	font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
a.link:after {
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;
}

img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}

/* ふつうのボタン
 * *************************************/

a.btn {
	display: inline-block;
    background: #146152;
    color: #FFF;
    padding: 12px 3em;
    border-radius: 60px;
	border: 1px solid #FFF;
}
a.btn:hover {
	background: #FFF;
	color: #146152;
	border: 1px solid #146152;
}

@media screen and (max-width: 430px) {
	a.btn {
		width: 100%;
	}
}

/* メール問い合わせボタン
 * *************************************/

a.btn_mail {
	display: inline-block;
	text-align: center;
	background: #FF5A33;
	border-radius: 4px;
	padding: 12px 30px;
	font-weight: bolder;
	color: #FFF;
	border: 1px solid #FFF;
}
a.btn_mail:hover {
	box-shadow: 0 1px 18px rgba(0, 0, 0, 10%);
	transform: translateY(-3px);
	border: 1px solid #FF5A33;
	background: #FFF;
	color: #FC4A1A;
}

@media screen and (max-width: 960px) {
	a.btn_mail {
		padding: 12px 18px;
		font-size: .9em;
	}
}
@media screen and (max-width: 768px) {
	a.btn_mail {
		width: 100%;
		font-size: 1em;
	}
}
@media screen and (max-width: 560px) {
	a.btn_mail {
		font-size: 1.2em;
		font-weight: bold;
	}
}
@media screen and (max-width: 320px) {
	a.btn_mail {
		padding: 8px 18px;
		font-size: 1.1em;
	}
}

/* 別ウィンドウ
 * *************************************/

a.window {
	display: inline-block;
	padding-right: 18px;
	position: relative;
}
a.window:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_window.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 18px;
	height: 18px;
	transition: all .3s;
	z-index: 1;
}
a.window:hover:after {
	background: url(images/common/icon_window-FFF.png) no-repeat;
	background-position: center;
	background-size: 100%;
}
a.window-FFF {
	display: inline-block;
	padding-right: 4em;
	position: relative;
}
a.window-FFF:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_window-FFF.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 18px;
	height: 18px;
	transition: all .3s;
	z-index: 1;
}
a.window-FFF:hover:after {
	background: url(images/common/icon_window.png) no-repeat;
	background-position: center;
	background-size: 100%;
}

a.windowB {
	display: inline-block;
	padding-right: 18px;
	position: relative;
}
a.windowB:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: -8px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_window.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 18px;
	height: 18px;
	transition: all .3s;
	z-index: 1;
}
a.windowB:hover:after {
	background: url(images/common/icon_window-25B699.png) no-repeat;
    background-position: center;
    background-size: 100%;
}
aside a.windowB {
	padding-right: 6px;
}
aside a.windowB:after {
	width: 12px;
	height: 12px;
}


/****************************************
 * 見出し
*****************************************/

h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
	font-family: 'ZenAntiqueSoft-Regular';
	line-height: 1.6;
}

h1 {
	font-size: 2.3em;
	margin: 0;
	position: relative;
}
h1 span {
	display: block;
	font-size: .4em;
}
h2 {
	font-size: 1.8em;
	text-align: center;
}
h3 {
	font-size: 1.6em;
}
h4 {
	font-size: 1.5em;
}
h5 {
	font-size: 1.1em;
	margin: 0 0 12px;
}
h6 {
	font-size: 1.1em;
	margin: 0 0 12px;
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 1.6em;
	}
	h1 span {
		font-size: .6em;
	}
	h2 {
		font-size: 1.6em;
	}
	h3 {
		font-size: 1.5em;
	}
	h4 {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 560px) {
	h1 {
		font-size: 1.5em;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.4em;
	}
	h4 {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 430px) {
	h2 {
		font-size: 1.4em;
	}
	h3 {
		font-size: 1.3em;
	}
	h4 {
		font-size: 1.1em;
	}
	h5,
	h6 {
		font-size: 1em;
	}
}
@media screen and (max-width: 320px) {
	h1, h2, h3, h4, h5, h6 {
		line-height: 1.4;
	}
	h2 {
		font-size: 1.3em;
	}
	h3 {
		font-size: 1.2em;
	}
	h4 {
		font-size: 1em;
	}
}



.main_title {
	margin: 0 0 60px;
    font-size: 2.6em;
	line-height: 1.6;
}
.conts_title {
	margin: 0 0 30px;
	padding: 12px 22px 12px 82px;
	text-align: left;
	background: #F6FDFB;
	color: #146152;
	border-top: 1px solid #146152;
	border-bottom: 1px solid #146152;
	position: relative;
	z-index: -1;
}
.conts_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_dots.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 45px;
	height: 45px;
	z-index: 1;
}
#single-general h3,
.conts_subtitle {
	margin: 0 0 30px;
	padding: 12px 30px 12px 46px;
	text-align: left;
	border-bottom: 1px solid #146152;
	position: relative;
}
#single-general h3:before,
.conts_subtitle:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(images/common/icon_sq.png) no-repeat;
	background-size: cover;
	background-position: center;
	width: 28px;
	height: 28px;
	z-index: -1;
}

.post_title {
	margin: 0 0 12px;
	position: relative;
    display: block;
    padding: 0 0 0 1.3em;
}
.post_title:before {
	content: "";
	display: block;
	position: absolute;
    top: 50%;
    left: 0;
	transform: translateY(-50%);
	background: url(images/common/icon_sqarrow-orange.png) no-repeat;
	background-size: 100%;
    width: 18px;
    height: 18px;
}

#single-general h4 {
	margin: 0 0 30px;
	padding-left: 18px;
	border-left: 5px solid #146152;
    line-height: 1.3;
	color: #146152;
}

/* サイドバー */
.aside_title {
	margin-bottom: 12px;
    font-size: 1.1em;
	text-align: center;
	color: #146152;
	border-bottom: 1px solid #146152;
}


@media screen and (max-width: 1024px) {
	.main_title {
		font-size: 2.3em;
		margin: 0 0 45px;
	}
}
@media screen and (max-width: 768px) {
	.main_title {
		font-size: 1.8em;
		margin: 0 0 30px;
	}
}
@media screen and (max-width: 560px) {
	.main_title {
		font-size: 1.6em;
	}
	.conts_title {
		padding: 12px 18px 12px 62px;
	}
	.conts_title:before {
		left: 16px;
		width: 32px;
		height: 32px;
	}
}
@media screen and (max-width: 430px) {
	.main_title {
		font-size: 1.6em;
	}
	.conts_title {
		padding: 12px 12px 12px 48px;
	}
	.conts_title:before {
		left: 12px;
		width: 28px;
		height: 28px;
	}
	#single-general h3,
	.conts_subtitle {
		padding: 12px 30px 12px 38px;
	}
	#single-general h3:before,
	.conts_subtitle:before {
		width: 22px;
		height: 22px;
	}
}
@media screen and (max-width: 320px) {
	.main_title {
		font-size: 1.5em;
	}
	.conts_title {
		padding: 8px 8px 8px 40px;
	}
	.conts_title:before {
		left: 8px;
		width: 24px;
		height: 24px;
	}
	#single-general h3,
	.conts_subtitle {
		padding: 12px 30px 12px 26px;
	}
	#single-general h3:before,
	.conts_subtitle:before {
		width: 16px;
		height: 16px;
	}
}


/****************************************
 * WPネイティブCSS
*****************************************/

blockquote {
	margin-bottom: 2em;
	margin-left: 1em;
	padding: 30px;
	border-left: 1px solid #ddd;
	background: #fafafa;
}

/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #fafafa;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
figure.wp-block-table table,
figure.wp-block-table table th,
figure.wp-block-table table td,
figure.wp-block-table tfoot {
	border-collapse: collapse;
	border: 1px #999 solid;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	padding: 18px 15px;
}
figure.wp-block-table table th {
	width: 30%;
	background: #fafafa;
	border-bottom: 2px solid #333;
}
figure.wp-block-table tfoot {
	border-top: 1px solid #333;
}
.wp-block-group {
	margin-top: 60px;
}
.wp-block-image {
	margin-bottom: 1.5em !important;
}
.wp-block-media-text {
	margin-bottom: 1.5em !important;
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .8em;
	text-align: center;
	margin-top: 15px;
}


/****************************************
 * リスト
*****************************************/
table {
	border-collapse: collapse;
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul,ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}

/****************************************
 * レスポンシブ
*****************************************/

@media screen and (min-width: 1025px) {/*1025px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:1024px) {/*1024px以下で*/
	.tb {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 560px) {/*480px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/****************************************
 * レイアウト
*****************************************/

.inner {
	width: 1100px;
	margin: 0 auto;
}
main {
	margin-top: 30px !important;
	padding-bottom: 60px;
	display: flex;
	justify-content: space-between;
}
main.lp {
	width: 100%;
	display: block;
	margin: 0 !important;
	padding-bottom: 0;
}
article {
	order: 2;
	width: calc(100% - 250px);
}
article.lp {
	width: 100%;
	padding-bottom: 0;
}
aside {
	order: 1;
	width: 220px;
	margin-right: 30px;
}
section {
	padding: 120px 0;
}
.contents {
	padding: 0;
}
.contents_box {
	margin-top: 60px;
}
.contents_inbox {
	margin-top: 45px;
}

.button_box {
	text-align: center;
	margin-top: 30px;
}
.button_box ul {
	width: 640px;
    margin: 0 auto;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
.button_box ul li {
	
}
hr {
	border-top: 1px solid;
    border-bottom: none;
    margin: 45px 0;
}
span.marker {
	background: linear-gradient(transparent 40%, #ff6 40%);
}

@media screen and (max-width: 1180px) {
	.inner {
		width: 100%;
		padding: 0 60px;
	}
}
@media screen and (max-width: 1024px) {
	.inner {
		padding: 0 45px;
	}
}
@media screen and (max-width: 768px) {
	.inner {
		padding: 0 30px;
	}
	main {
		flex-direction: column;
	}
	article {
		order: 1;
		width: 100%;
		padding-bottom: 60px;
	}
	aside {
		display: none;
	}
	section {
		padding: 90px 0;
	}
}
@media screen and (max-width: 560px) {
	section {
		padding: 75px 0;
	}
	.button_box ul {
		width: 100%;
		flex-direction: column;
		margin-top: -12px;
	}
	.button_box ul li {
		width: 100%;
		margin-top: 12px;
	}
}
@media screen and (max-width: 430px) {
	.inner {
		padding: 0 20px;
	}
	section {
		padding: 60px 0;
	}
}
@media screen and (max-width: 320px) {
	section {
		padding: 60px 0;
	}
	.contents_box {
		margin-top: 45px;
	}
}

/*記事下部*/
#single .meta {
	margin: 30px 0 0;
    padding: 30px 30px 0;
	border-top: 1px solid #ededed;
}
#single .meta p.author {
	text-align: right;
	margin-bottom: 0;
}
#single .meta p.author_profile {
	text-align: right;
	
}
#single .meta a.category {
	display: inline-block;
	background: #FC4A1A;
    color: #FFF;
	border-radius: 4px;
    padding: 1px 12px;
}

@media screen and (max-width: 430px) {
	#single .meta {
		padding: 20px 20px 0;
	}
}


/*相続放棄の紙面*/
.houki_note {
	margin-top: 30px;
	padding: 45px;
	background: linear-gradient(-45deg,transparent 25%,#eee 25%,#eee 50%,transparent 50%,transparent 75%,#eee 75%,#eee);
    background-size: 4px 4px;
    border-bottom: 4px double #ddd;
    border-top: 4px double #ddd;
    background-clip: padding-box;
}

@media screen and (max-width: 560px) {
	.houki_note {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	.houki_note {
		padding: 20px;
	}
}

/* 関連記事
 * **************************************/

#related {
	margin-top: 60px;
	padding: 45px;
    background: linear-gradient(-45deg,transparent 25%,#eee 25%,#eee 50%,transparent 50%,transparent 75%,#eee 75%,#eee);
    background-size: 4px 4px;
    border-bottom: 4px double #ddd;
    border-top: 4px double #ddd;
    background-clip: padding-box;
}
#related .related_title {
	text-align: center;
	padding: 0;
    margin: 0 0 30px;
}
#related .related_title:before {
	content: none;
}
#related .related_box {
	
}

@media screen and (max-width: 560px) {
	#related {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	#related {
		padding: 20px;
	}
	#related .related_title {
		margin: 0 0 18px;
	}
}


/* おすすめ記事へのリンク
 * **************************************/

.recommend_page {
	padding: 45px 30px 30px;
	margin: 60px 0 0;
	background: #ededed;
	border-radius: 12px;
	position: relative;
	font-size: .9em !important;
}
.recommend_page p.title {
	display: inline-block;
	position: absolute;
	top: -18px;
	left: 22px;
	margin: 0;
	background: #FFF;
	border: 3px solid #ededed;
	border-radius: 30px;
    padding: 3px 18px;
}
.recommend_page ul {
	list-style: inside;
	margin-top: -12px;
}
.recommend_page ul li {
	margin-top: 12px;
}
.recommend_page ul li a {
	display: inline-block;
	font-weight: bolder;
}

@media screen and (max-width: 430px) {
	.recommend_page {
		margin: 45px 0 0;
		padding: 32px 20px 20px;
	}
}
@media screen and (max-width: 320px) {
	.recommend_page p.title {
		left: 16px;
		padding: 1px 12px;
		font-size: 12px;
	}
	.recommend_page {
		padding: 22px 12px 12px;
	}
}



/* ページ内リンク
 * **************************************/

.jump {
	margin-bottom: 30px;
}
.jump ul {
	border: none;
	border-top: 1px solid #FFF;
}
.jump ul li {
	background: #F6FDFB;
	border-bottom: 3px solid #FFF;
}
.jump ul li a {
	display: inline-block;
	padding: 12px 30px;
	font-weight: bolder;
}
.jump ul li a span {
	display: inline-block;
	width: 30px;
    height: 30px;
    border-radius: 30px;
    line-height: 30px;
	margin-right: 12px;
	background: #146152;
	color: #FFF;
	font-size: .8em;
    text-align: center;
}

@media screen and (max-width: 560px) {
	.jump ul li a {
		padding: 12px;
	}
	.jump ul li a span {
		width: 24px;
		height: 24px;
		border-radius: 24px;
		line-height: 24px;
		font-size: 10px;
	}
}
@media screen and (max-width: 320px) {
	.jump ul li a {
		padding: 8px 12px;
	}
}


/****************************************
 * 上部固定ヘッダー
*****************************************/

.fix_header {
	position: fixed;
	top: -100px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	opacity:0;
	z-index: 1000;
}
.fix_header .fix_header_inner {
	padding: 0 90px;
}
.fix_header .fix_header_flex {
	width: 100%;
	padding-top: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.fix_header .fix_header_flex .fix_header_flex___logo {
	width: 180px;
	padding: 18px 0;
}
.fix_header .fix_header_flex .fix_header_flex___nav {
	text-align: right;
}
.fix_header nav#fix_header {
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 1180px) {
	.fix_header ul li.home {
		width: calc(100% - 600px);
	}
	.fix_header .fix_header_flex .fix_header_flex___nav {
		padding-left: 45px;
	}
}
@media screen and (max-width: 1024px) {
	.fix_header {
		display: none;
	}
}


/****************************************
 * ヘッダー
*****************************************/

header {
	background: url(images/common_img/page_topimage.jpg) no-repeat;
    background-size: cover;
    background-position: bottom center;
}
header.fp_header {
	background: url(images/front-page/topimage.jpg) no-repeat;
    background-size: cover;
    background-position: bottom center;
}
header .header_inner {
	width: 100%;
	padding: 0 90px;
}
header .header_flex {
	padding-top: 30px;
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
}
header .header_flex .header_flex___logo a {
	display: inline-block;
}
header #description {
	font-size: .7em;
	margin: 6px 0 0;
}
header .header_flex .header_flex___nav {
	text-align: right;
}
header .header_flex .header_flex___nav a {
	display: inline-block;
}
header img.topimage_on {
	margin: 150px 0;
}
header img.topimage {
	position: absolute;
	top: 0;
	left: 0;
    z-index: -1;
}

header .haader_title {
	text-align: center;
	padding: 90px 0;
}

@media screen and (max-width: 1180px) {
	header .header_inner {
		padding: 0 60px;
	}
	header .header_flex .header_flex___logo {
		width: 320px;
	}
}
@media screen and (max-width: 1024px) {
	header .header_inner {
		padding: 0 30px;
	}
}
@media screen and (max-width: 768px) {
	header .header_flex {
		flex-direction: column;
	}
	header .header_flex .header_flex___nav {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	header {
		background: url(images/common_img/page_topimage_sp.jpg) no-repeat;
		background-size: cover;
		background-position: bottom center;
	}
	header.fp_header {
		background: url(images/front-page/topimage_sp.jpg) no-repeat;
		background-size: cover;
		background-position: bottom center;
	}
	header .header_inner {
		padding: 0;
	}
	header .header_flex {
		position: fixed;
		width: 100%;
		z-index: 2;
		
		background: #146152;
		padding: 12px 18px;
	}
	header .header_flex .header_flex___logo {
		width: 200px;
	}
	header img.topimage_on {
		margin: 240px 0 60px;
	}
	header .haader_title {
		padding: 150px 0 60px;
	}
}
@media screen and (max-width: 430px) {
	
	header img.topimage_on {
		margin: 270px 0 30px;
	}
}

/****************************************
 * ナビゲーション
*****************************************/

nav.fix_header_nav,
nav.header_nav {
	overflow: hidden;
	width: 100%;
	background: linear-gradient(to bottom, #44803F, #146152);
	border-radius: 8px;
    padding: 0 8px;
	margin-top: 12px;
}
nav.fix_header_nav ul,
nav.header_nav ul {
	padding: 8px 0;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
nav.fix_header_nav ul li,
nav.header_nav ul li {
	width: auto;
	text-align: center;
}
nav.fix_header_nav ul li:last-child,
nav.header_nav ul li:last-child {
	border-right: none;
}
nav.fix_header_nav a,
nav.header_nav a {
	display: inline-block;
	padding: 12px 16px;
	color: #FFF;
	line-height: 1.3;
	font-weight: bolder;
    font-size: .9em;
	text-align: center;
}
nav.fix_header_nav a:after
nav.header_nav a:after {
	content: none;
}

@media screen and (max-width: 1280px) {
	nav.fix_header_nav a,
	nav.header_nav a {
		font-size: .8em;
		padding: 12px 8px;
	}
}
@media screen and (max-width: 1180px) {
	nav.fix_header_nav a,
	nav.header_nav a {
		font-size: .8em;
	}
}

/****************************************
 * グローバルナビゲーション（スマホ）
*****************************************/

#sp_nav,
.open_btn {
	display: none;
}

@media screen and (max-width: 560px) {
	#sp_nav {
		display: block;
		position:fixed;
		z-index: 999;
		top: -120%;
		left:0;
		width: 100%;
		height: 100vh;
		background: #F7FAEF;
		transition: all .6s;
	}
	#sp_nav.panelactive{
		top: 0;
	}
	#sp_nav.panelactive #g-nav-list{
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	#sp_nav ul { /*ナビゲーション*/
		margin: 30px 0 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		border-top: 1px solid #E4EDC8;
	}
	#sp_nav li {
		width: 100%;
		text-align: left;
		border-bottom: 1px solid #E4EDC8;
		padding: 0 0 0 1.6em;
		position: relative;
	}
	#sp_nav li:before{
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 30px;
		transform: translateY(-50%);
		background: url(images/common/icon_sqarrow.png) no-repeat;
		background-size: 100%;
		width: 18px;
		height: 18px;
	}
	#sp_nav li a {
		display: block;
		padding: 12px 30px;
		font-weight: bolder;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}

	.open_btn { /*ボタン*/
		display: block;
		position:fixed;
		top: 3px;
		right: 18px;
		cursor: pointer;
		width: 40px;
		height: 40px;
		z-index: 9999;
	}
	.open_btn span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 0;
		height: 3px;
		border-radius: 2px;
		background: #FFF;
		width: 100%;
	}
	.open_btn span:nth-of-type(1) {
		top: 15px; 
	}
	.open_btn span:nth-of-type(2) {
		top: 23px;
	}
	.open_btn span:nth-of-type(3) {
		top: 31px;
	}
	.open_btn.active span:nth-of-type(1) {
		top: 18px;
		left: 2px;
		transform: translateY(6px) rotate(-45deg);
		width: 90%;
		background: #146152;
	}
	.open_btn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.open_btn.active span:nth-of-type(3){
		top: 30px;
		left: 2px;
		transform: translateY(-6px) rotate(45deg);
		width: 90%;
		background: #146152;
	}
	.sp_nav_contents {
		height: 100vh;
		overflow: scroll;
		padding: 30px 0 90px;
	}
	.sp_nav_contact {
		margin-top: 30px;
		padding: 0 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.sp_nav_contact a {
		text-align: center;
		margin-top: 12px;
		margin-left: 0;
	}
	.sp_nav_contact a.mail_btn {
		max-width: 100%;
		margin-left: auto;
	}
}
@media screen and (max-width: 430px) {
	#sp_nav li {
		width: 100%;
		border-right: none;
		
	}
	#sp_nav li:nth-child(odd) {
		border-right: none !important;
	}
	#sp_nav li:nth-child(even) {
		border-left: none !important;
	}
	#sp_nav li:last-child {
		
	}
	
}


/****************************************
 * 記事メニュー
*****************************************/

.article_index {
	padding: 0;
    margin-top: -25px;
}
.article_index .article_index_box {
    background: linear-gradient(to bottom, #B4CF66, #93A854);
    border-radius: 8px;
    padding: 0 8px;
    margin: 0 120px;
}
.article_index .article_index_box .article_index_title {
	margin: 0;
}
.article_index .article_index_box .article_index_title img {
	position: relative;
	top: -60px;
}
nav.article_nav {
	margin-top: -75px;
	padding-top: 12px;
}
nav.article_nav ul {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
nav.article_nav ul li {
	width: 100%;
	text-align: center;
	border-right: 1px solid #93A854;
}
nav.article_nav ul li:first-child {
	width: 120%;
}
nav.article_nav ul li:last-child {
	border-right: none;
}
nav.article_nav a {
	display: inline-block;
	width: 100%;
	padding: 6px 16px 12px;
	color: #FFF;
	letter-spacing: .1em;
	font-weight: bolder;
    font-size: 1em;
}
nav.article_nav a:after {
	content: none;
}

@media screen and (max-width: 1024px) {
	.article_index .article_index_box {
		margin: 0 60px;
	}
}
@media screen and (max-width: 768px) {
	.article_index .article_index_box {
		margin: 0;
	}
	nav.article_nav a {
		font-size: .9em;
		letter-spacing: .06em;
	}
}
@media screen and (max-width: 560px) {
	nav.article_nav a {
		padding: 6px 3px 12px;
		font-size: .8em;
		line-height: 1.3;
		letter-spacing: 0;
	}
}

/****************************************
 * パンくず
*****************************************/

.breadcrumbs_box {
	padding: 0;
	margin-top: 30px !important;
}
.breadcrumbs {
	font-size: .8em;
}

@media screen and (max-width: 480px) {
	.breadcrumbs {
	}
}


/****************************************
 * p-contact.php
*****************************************/

.p-contact {
	padding: 60px 0;
	background: #B4CF66;
}
.p-contact .p-contact_box {
	clear: both;
	position: relative;
	width: 100%;
	background: #FFF;
	border-radius: 12px;
	padding: 60px;
	box-shadow: 0 1px 18px rgba(0, 0, 0, 10%);
	z-index: 1;
}
.p-contact .p-contact_box img.deco {
	position: absolute;
	right: 45px;
    top: -40px;
}
.p-contact .p-contact_flex {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-contact .p-contact_flex .p-contact_flex___info {
	width: calc(100% - 320px);
	text-align: center;
}
.p-contact .p-contact_flex .p-contact_flex___map {
	width: 260px;
	margin-left: 60px;
}
.p-contact .p-contact_info {
	padding: 0 45px;
	margin-top: 18px;
}
.p-contact .p-contact_info dl {
	width: 100%;
	display: table;
	text-align: left;
	margin-top: 8px;
}
.p-contact .p-contact_info dt,
.p-contact .p-contact_info dd {
	display: table-cell;
}
.p-contact .p-contact_info dt {
	width: 120px;
}
.p-contact .p-contact_info dd {
	padding-left: 10px;
}

.p-contact .p-contact_btn {
	margin-top: 18px;
}
.p-contact .p-contact_btn p.yoko {
	display: flex;
    align-items: center;
	color: #FF5A33;
	font-weight: bolder;
}
.p-contact .p-contact_btn p.yoko:before,
.p-contact .p-contact_btn p.yoko:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #FC4A1A;
}
.p-contact .p-contact_btn p.yoko:before {
    margin-right: 1rem;
}
 .p-contact .p-contact_btn p.yoko:after {
    margin-left: 1rem;
}
.p-contact .p-contact_btn ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-contact .p-contact_btn ul li:first-child {
	margin-right: 18px;
}
.p-contact .p-contact_phone {
	margin-top: 18px;
}
.p-contact .p-contact_mail {
	margin-top: 18px;
}	

@media screen and (max-width: 960px) {
	.p-contact .p-contact_info {
		font-size: .9em;
	}
	.p-contact .p-contact_info dt {
		width: 90px;
	}
	.p-contact .p-contact_btn ul li {
		width: calc(100% - 220px);
	}
	.p-contact .p-contact_btn ul li:first-child {
		width: 220px;
	}
}
@media screen and (max-width: 768px) {
	.p-contact .p-contact_box {
		padding: 45px;
	}
	.p-contact .p-contact_info {
		padding: 0;
		font-size: .8em;
	}
	.p-contact .p-contact_flex .p-contact_flex___info {
		width: calc(100% - 290px);
	}
	.p-contact .p-contact_flex .p-contact_flex___map {
		width: 260px;
		margin-left: 30px;
	}
	.p-contact .p-contact_btn p.yoko {
		margin: 0;
	}
	.p-contact .p-contact_btn ul {
		flex-direction: column;
	}
	.p-contact .p-contact_btn ul li,
	.p-contact .p-contact_btn ul li:first-child {
		width: 100%;
		margin: 12px 0 0;
	}
	.p-contact .p-contact_box img.deco {
		width: 120px;
	}
}
@media screen and (max-width: 560px) {
	.p-contact .p-contact_box {
		padding: 30px;
	}
	.p-contact .p-contact_flex {
		flex-direction: column;
	}
	.p-contact .p-contact_flex .p-contact_flex___info,
	.p-contact .p-contact_flex .p-contact_flex___map {
		width: 100%;
	}
	.p-contact .p-contact_flex .p-contact_flex___map {
		margin: 30px 0 0;
		text-align: center;
	}
	.p-contact .p-contact_box img.deco {
		width: 90px;
	}
}
@media screen and (max-width: 430px) {
	.p-contact .p-contact_box {
		padding: 30px 20px;
	}
	.p-contact .p-contact_box img.deco {
		right: 18px;
		top: -43px;
	}
	.p-contact .p-contact_flex .p-contact_flex___info img.logo {
		width: 280px;
	}
	.p-contact .p-contact_info {
		font-size: .9em;
	}
	.p-contact .p-contact_info dt {
		display: none;
	}
}
@media screen and (max-width: 320px) {
	.p-contact .p-contact_box {
		padding: 30px 12px;
	}
	.p-contact .p-contact_btn p.yoko {
		font-size: .9em;
	}
	.p-contact .p-contact_btn p.yoko:before {
		margin-right: 0.5rem;
	}
	.p-contact .p-contact_btn p.yoko:after {
		margin-left: 0.5rem;
	}
}

/****************************************
 * p-articles.php
*****************************************/

.p-articles {
	background: #FFF;
}
.p-articles .p-articles_box {
}
.p-articles .p-articles_summary {
	text-align: center;
} 
.p-articles .p-articles_main {
	margin-top: 60px;
	padding-bottom: 30px;
	border-bottom: 1px solid #FEEBE5;
}
.p-articles_flex {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #EEF3DC;
	display: flex;
}
.p-articles_flex .p-articles_flex___title {
	width: 180px;
	padding-right: 30px;
}
.p-articles_flex .p-articles_flex___title .p-articles_title {
	text-align: center;
	position: relative;
	z-index: 1;
}
.p-articles_flex .p-articles_flex___title .p-articles_title span {
	display: block;
}
.p-articles_flex .p-articles_flex___title .p-articles_title:before {
	content: "";
    display: inline-block;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: url(images/common/deco_hane.png) no-repeat;
    background-size: 100%;
    width: 120px;
    height: 120px;
	z-index: -1;
}
.p-articles_flex .p-articles_flex___posts {
	width: calc(100% - 210px);
}

ul.posts_list {
	list-style: disc;
	display: flex;
	flex-wrap: wrap;
    align-items: flex-start;
	border: none !important;
}
ul.posts_list li {
	width: calc(100%/3 - 1em);
	margin-top: 8px;
    margin-left: 1em;
    padding: 0 1.2em 0 0.3em;
	font-size: .9em;
	line-height: 1.6;
	border: none !important;
}
ul.posts_list li:nth-child(3n) {
	padding-right: 0;
}

/* 通常ページ */
#archive .p-articles_flex {
	margin-top: 30px;
}
#archive ul.posts_list li {
	width: calc(100%/2 - 1em);
}
#archive ul.posts_list li:nth-child(2n) {
	padding-right: 0;
}
ul.posts_list li:nth-child(3n) {
	padding-right: 1em;
}

ul.posts_list li span.new {
	display: inline-block;
	background: #FFEC5C;
	color: #FF5A33;
	font-size: 12px;
	font-weight: bolder;
	padding: 2px 6px;
	margin-right: 6px;
}

@media screen and (max-width: 768px) {
	ul.posts_list li {
		width: calc(100%/2 - 1em);
	}
}
@media screen and (max-width: 560px) {
	.p-articles_flex {
		flex-direction: column;
		align-items: center;
		margin-top: 18px;
		padding-top: 18px;
	}
	.p-articles_flex .p-articles_flex___title,
	.p-articles_flex .p-articles_flex___posts {
		width: 100%;
		padding: 0;
	}
	.p-articles_flex .p-articles_flex___title .p-articles_title span {
		display: inline-block;
	}
	
	ul.posts_list li,
	#archive ul.posts_list li {
		width: 100%;
		padding: 0 0 0 0.3em;
	}
}
@media screen and (max-width: 430px) {
	.p-articles_flex .p-articles_flex___title .p-articles_title:before {
		top: -21px;
		width: 90px;
		height: 90px;
	}
	ul.posts_list li {
		font-size: 1em;
		margin-top: 12px;
	}
}

/****************************************
 * トップページ
*****************************************/

.ill_position {
	position: relative;
}
.ill_position img.ill {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	.ill_position img.ill {
		width: 120px;
	}
}
@media screen and (max-width: 430px) {
	.ill_position img.ill {
		top: -20px;
		width: 90px;
	}
}

/* お知らせ
 * **************************************/

.news {
	padding: 30px 0 60px;
}
.news .news_box {
	margin: 0 120px;
	padding: 12px;
	border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.news .news_box dl {
	width: 100%;
	display: flex;
}
.news .news_box dl dt {
	width: 120px;
}
.news .news_box dl dd {
	width: calc(100% - 120px);
}
.news a {
	display: block;
	color: #000;
}

@media screen and (max-width: 1024px) {
	.news .news_box {
		margin: 0;
	}
}
@media screen and (max-width: 768px) {
	.news .news_box dl {
		font-size: .8em;
		
	}
}
@media screen and (max-width: 560px) {
	.news .news_box dl dt {
		width: 90px;
	}
	.news .news_box dl dd {
		width: calc(100% - 90px);
	}
}
@media screen and (max-width: 430px) {
	.news .news_box {
		padding: 12px 0;
	}
	.news .news_box dl {
		flex-direction: column;
	}
	.news .news_box dl dt,
	.news .news_box dl dd {
		width: 100%;
	}

	
	
}

/* 問題
 * **************************************/

.problem {
	padding: 90px 0 120px;
	background: url(images/front-page/problem_bg.jpg) no-repeat;
	background-size: cover;
	position: relative;
}
.problem .problem_ask {
	width: 600px;
	margin-left: auto;
}
.problem .problem_ask .problem_ask_title {
	margin: 0;
}
.problem ul.problem_list {
	margin-top: 45px;
}
.problem ul.problem_list li {
	background: #FFF;
	color: #000;
	margin-top: 12px;
	padding: 12px 30px 12px 45px;
	border-radius: 30px;
	font-size: 1.1em;
	font-weight: bolder;
	position: relative;
}
.problem ul.problem_list li:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
    left: 18px;
	transform: translateY(-50%);
	background: url(images/common/icon_arrow-orange.png) no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
}

@media screen and (max-width: 1024px) {
	.problem {
		background-position: center left -150px;
	}
}
@media screen and (max-width: 768px) {
	.problem .problem_ask {
		width: 420px;
	}
}
@media screen and (max-width: 560px) {
	.problem {
		padding: 60px 0 0;
		background: url(images/front-page/problem_bg_sp.jpg) no-repeat;
		background-size: contain;
	}
	.problem .problem_ask {
		width: 100%;
		padding-top: 90px;
	}
	.problem ul.problem_list li {
		background: #E4EDC8;
		font-size: 1em;
		font-weight: bold;
	}
}
@media screen and (max-width: 320px) {
	.problem ul.problem_list {
		margin-top: 30px;
	}
	.problem ul.problem_list li {
		padding: 8px 20px 8px 36px;
	}
	.problem ul.problem_list li:before {
		left: 12px;
	}
}

/* 解決
 * **************************************/

.solution ul.solution_list {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.solution ul.solution_list li {
	width: 33.3333%;
	border-radius: 12px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 10%);
}
.solution ul.solution_list li:first-child {
	margin-right: 18px;
}
.solution ul.solution_list li:last-child {
	margin-left: 18px;
}
.solution ul.solution_list li .solution_item {
	padding: 30px;
	margin: 0 0 12px;
}
.solution ul.solution_list li p.solution_item_title {
	text-align: center;
	margin-bottom: 18px;
	font-size: 1.6em;
	font-weight: bold;
	color: #FC4A1A;
}

@media screen and (max-width: 768px) {
	.solution ul.solution_list {
		flex-direction: column;
	}
	.solution ul.solution_list li,
	.solution ul.solution_list li:first-child,
	.solution ul.solution_list li:last-child {
		width: 100%;
		margin: 12px 0 0;
	}
}
@media screen and (max-width: 560px) {
	.solution ul.solution_list {
		margin-top: 45px;
	}
	.solution ul.solution_list li {
		box-shadow: 0 0 12px 3px rgba(168, 168, 168, 20%);
	}
}
@media screen and (max-width: 430px) {
	.solution .solution_box .solution_box_title {
		text-align: center;
		width: 260px;
		margin: 0 auto;
	}
	.solution ul.solution_list {
		margin-top: 30px;
	}
	.solution ul.solution_list li .solution_item {
		padding: 18px;
	}
	.solution ul.solution_list li p.solution_item_title {
		font-size: 1.4em;
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 320px) {
	.solution .solution_box .solution_box_title {
		width: 180px;
	}
	.solution ul.solution_list {
		margin-top: 18px;
	}
}


/* 費用
 * **************************************/

.price {
	background: linear-gradient(to bottom, #197A67, #146152);
}
.price .price_box {
	padding: 60px;
	background: #FFF;
	border-radius: 12px;
	box-shadow: 0 1px 18px rgba(0, 0, 0, 10%);
}
.price ul.price_list {
	border-top: 1px solid #ededed;
}
.price ul.price_list li {
	padding: 18px 90px;
	border-bottom: 1px solid #ededed;
}
.price ul.price_list li dl {
	font-weight: bolder;
	display: flex;
}
.price ul.price_list li dl dt {
	width: 320px;
	position: relative;
}
.price ul.price_list li dl dt:before {
	content: "：";
	position: absolute;
	right: 0;
}
.price ul.price_list li dl dd {
	width: calc(100% - 320px);
	text-align: right;
	font-size: .8em;
}
.price ul.price_list li dl dd span {
	display: inline-block;
	margin-left: 30px;
	font-size: 1.3em;
}

@media screen and (max-width: 1024px) {
	.price ul.price_list li dl dt {
		width: 280px;
	}
	.price ul.price_list li dl dd {
		width: calc(100% - 280px);
	}
	.price ul.price_list li {
		padding: 18px 60px;
	}
}
@media screen and (max-width: 768px) {
	.price .price_box {
		padding: 45px;
	}
	.price ul.price_list li dl dt {
		width: 190px;
	}
	.price ul.price_list li dl dd {
		width: calc(100% - 190px);
	}
	.price ul.price_list li {
		padding: 18px 18px;
	}
	.price ul.price_list li dl dd span {
		margin-left: 18px;
	}
}
@media screen and (max-width: 560px) {
	.price .price_box {
		padding: 30px;
	}
	.price ul.price_list li {
		padding: 18px 0;
	}
	.price ul.price_list li dl {
		align-items: center;
	}
	.price ul.price_list li dl dt {
		width: 180px;
		font-size: .9em;
	}
	.price ul.price_list li dl dd {
		width: calc(100% - 180px);
	}
}
@media screen and (max-width: 430px) {
	.price .price_box {
		padding: 20px;
	}
	.price ul.price_list li {
		padding: 12px 0;
	}
	.price ul.price_list li dl {
		flex-direction: column;
	}
	.price ul.price_list li dl dt,
	.price ul.price_list li dl dd {
		width: 100%;
		font-size: 1em;
		text-align: left;
	}
	.price ul.price_list li dl dt:before {
		content: none;
	}
	.price ul.price_list li dl dd {
		margin-top: 3px;
		font-size: .9em;
		color: #FF5A33;
	}
	.price ul.price_list li dl dd span {
		margin-left: 8px;
	}
}
@media screen and (max-width: 320px) {
	.price ul.price_list li {
		padding: 10px 0;
	}
}

/* メリット
 * **************************************/

.merit {
	
}
.merit .merit_box {
	width: 100%;
}
.merit .merit_item {
	width: 100%;
	margin-top: 60px;
	display: flex;
	align-items: center;
}
.merit .merit_item .merit_item___text {
	width: calc(100% - 480px);
}
.merit .merit_item .merit_item___img {
	width: 420px;
}
.merit .merit_item .merit_item___img.right {
	margin-left: 60px;
}
.merit .merit_item .merit_item___img.left {
	margin-right: 60px;
}
.merit .merit_item .merit_item___img img {
	border-radius: 12px;
}
.merit .merit_item .merit_item_title {
	margin: 0 0 18px;
	line-height: 1.6;
}
.merit .merit_item .merit_item_title span {
	display: block;
	font-size: .8em;
	margin-bottom: 8px;
	padding-left: 30px;
	color: #146152;
	position: relative;
}
.merit .merit_item .merit_item_title span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(images/common/icon_sq.png) no-repeat;
	background-size: cover;
	background-position: center;
	width: 28px;
	height: 28px;
	z-index: -1;
}

@media screen and (max-width: 768px) {
	.merit .merit_item .merit_item___text {
		width: calc(100% - 320px);
	}
	.merit .merit_item .merit_item___img {
		width: 320px;
	}
	.merit .merit_item .merit_item___img.right {
		margin-left: 45px;
	}
	.merit .merit_item .merit_item___img.left {
		margin-right: 45px;
	}
}
@media screen and (max-width: 560px) {
	.merit .merit_item {
		flex-direction: column;
	}
	.merit .merit_item .merit_item___text,
	.merit .merit_item .merit_item___img {
		width: 100%;
	}
	.merit .merit_item .merit_item___img.right,
	.merit .merit_item .merit_item___img.left {
		margin: 0;
	}
	.merit .merit_item .merit_item___text {
		order: 1;
	}
	.merit .merit_item .merit_item___img {
		order: 2;
		margin-top: 18px !important;
	}
}
@media screen and (max-width: 430px) {
	.merit .merit_item .merit_item_title span:before {
		width: 22px;
		height: 22px;
	}
}


/* 事務所
 * **************************************/

.office {
	padding: 0;
}
.office .office_box {
	display: flex;
	align-items: stretch;
	position: relative;
	background: #FFEAE5;
}
.office .office_image {
	width: 100%;
}
.office .office_image img {
	width: 48%;
}
.office .office_main {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.office .office_main .office_text_box {
	display: flex;
    align-items: center;
	position: relative;
	max-width: 1140px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
.office .office_main .office_text_box .office_text {
	width: 540px;
	margin-left: auto;
}
.office .office_title {
	text-align: left;
	font-size: 1.3em;
	margin-top: 0;
	margin-bottom: 30px;
}

@media screen and (max-width: 1130px) {
	
}
@media screen and (max-width: 1024px) {
	.office .office_image {
		position: relative;
    left: -230px;
	}
	.office .office_image img {
		width: 85%;
	}
	.office .office_main .office_text_box {
		max-width: 920px;
		
	}
	.office .office_main .office_text_box .office_text {
		background: #FFF;
		padding: 45px;
		position: absolute;
		right: 45px;
	}
}
@media screen and (max-width: 768px) {
	.office .office_image {
		position: relative;
		left: 0;
		padding-bottom: 150px;
	}
	.office .office_image img {
		width: 100%;
	}
	.office .office_main .office_text_box {
		max-width: 100%;
		padding: 0 45px;
	}
	.office .office_main .office_text_box .office_text {
		position: static;
		width: 100%;
		margin-top: 150px;
	}
	.office .office_title {
		text-align: center;
	}
}
@media screen and (max-width: 560px) {
	.office .office_image {
		padding-bottom: 330px;
	}
	.office .office_main .office_text_box {
		max-width: 100%;
		padding: 0 30px;
	}
	.office .office_main .office_text_box .office_text {
		padding: 30px;
		margin-top: 190px;
	}
	.office .office_title {
		text-align: center;
	}
	.office .office_main .office_text_box .office_text {
		text-align: center;
		font-size: .9em;
	}
}
@media screen and (max-width: 430px) {
	.office .office_image {
		padding-bottom: 280px;
	}
	.office .office_main .office_text_box {
		padding: 0 20px;
	}
	.office .office_main .office_text_box .office_text {
		padding: 20px;
		margin-top: 150px;
	}
	.office .office_title {
		font-size: 1.1em;
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 380px) {
	.office .office_main .office_text_box .office_text {
		margin-top: 120px;
	}
}
@media screen and (max-width: 320px) {
	.office .office_image {
		padding-bottom: 350px;
	}
	.office .office_main .office_text_box .office_text {
		margin-top: 120px;
	}
}

/* 流れ
 * **************************************/

.flow {
	background-image: radial-gradient(#fafafa 20%, transparent 20%), radial-gradient(#fafafa 20%, transparent 20%);
    background-size: 12px 12px;
    background-position: 0 0, 6px 6px;
}
.flow .flow_box {
	
}
.flow ul.flow_list {
	display: flex;
}
.flow ul.flow_list li {
	width: 33.33333%;
}
.flow ul.flow_list li:first-child {
	margin-right: 26px;
}
.flow ul.flow_list li:last-child {
	margin-left: 26px;
}
.flow ul.flow_list li img {
	border-radius: 12px;
}
.flow ul.flow_list li span {
	display: block;
	text-align: center;
    font-size: 2em;
	font-family: 'ZenAntiqueSoft-Regular';
	color: #146242;
	margin-bottom: -22px;
    position: relative;
    z-index: 1;
}
.flow ul.flow_list li .flow_item_text {
	margin-top: 30px;
	padding: 0 18px;
}

@media screen and (max-width: 560px) {
	.flow ul.flow_list {
		flex-direction: column;
	}
	.flow ul.flow_list li {
		width: 100%;
		margin: 0 !important;
	}
}
@media screen and (max-width: 430px) {
	
}
@media screen and (max-width: 320px) {
	
}

/****************************************
 * 固定ページ・投稿ページ共通
*****************************************/

.post-meta .post-date {font-size: 80%;width: 100%;text-align: right;}

/* 画像 */
figure {
	display: block;
	margin: 2em;
}
@media screen and (max-width: 768px) {
	figure {
		display: block;
		margin: 1em;
	}
}
@media screen and (max-width: 480px) {
	figure {
		display: block;
		margin: 1em;
	}
}

.link-box {
	clear: both;
	overflow: hidden;
	text-align: center;
}
.link-box ul {
	width: 100%;
	letter-spacing: -.4em;
}
.link-box ul li {
	display: inline-block;
    width: 20%;
	letter-spacing: normal;
}
.link-box ul li a {
    float: none !important;
}
span.red {
	color: #FF0000;
	font-weight: bold;
}
span.green {
	color: green;
	font-weight: bold;
}
.red {
	color: #FF0000;
}
.blue {
	color: blue;
}
.font120 {
	font-size: 120%;
}
.font110 {
	font-size: 110%;
}
.font90 {
	font-size: 90%;
}
.font80 {
	font-size: 80%;
}
.font70 {
	font-size: 70%;
}
.textleft {
	text-align: left;
}
.textcenter {
	text-align: center;
}
.textright {
	text-align: right;
}
.mg10 {
	margin-bottom: 10px;
}
.mg20 {
	margin-bottom: 20px;
}

/* ページトップへ戻る */
.totop_box {
	overflow: hidden;}
p.totop {
	float: right;
	font-size: 90%;
}
p.totop::after {
	content: "\f01b";
	font-family: FontAwesome;
	font-size: 150%;
	vertical-align: middle;
	margin-left: 5px;
}

/* 一覧へ戻る */
.tolist {
	text-align: center;
	margin:30px 0;
}
.tolist a {
	background: #E8DBD2;
	color: #6B5141;
	padding: 10px 30px;
	border: none;
	border-radius: 3px;
}




/****************************************
 * 取扱業務 service
*****************************************/

#service ul li dl {
	display: table;
}
#service ul li dt,
#service ul li dd {
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
}
#service ul li dt {
	width: 200px;
	background: #fafafa;
	border-right: 1px solid #ededed;
}
#service ul li dd span {
	display: block;
	color: #FF1650;
}

#service ul.service_flow {
	display: flex;
	justify-content: space-between;
}
#service ul.service_flow li .flow_inbox {
	padding: 30px 12px;
	height: 100%;
	display: flex;
    flex-direction: column;
    align-items: center;
	background: #F7FAEF;
	border: 3px solid #B4CF66;
	border-radius: 3px 3px 60px 60px;
}
#service ul.service_flow li .flow_inbox span {
	display: block;
    background: #B4CF66;
	color: #FFF;
	font-weight: bolder;
	margin-top: -45px;
    width: 45px;
    height: 45px;
    border-radius: 45px;
	line-height: 45px;
	text-align: center;
}
#service ul.service_flow li .flow_inbox p.item {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-top: 12px;
	font-weight: bolder;
	font-size: 1.1em;
    letter-spacing: .1em;
}

@media screen and (max-width: 560px) {
	#service ul.service_flow {
		flex-wrap: wrap;
	}
	#service ul.service_flow li {
		width: calc(100% / 7);
	}
	
	#service ul li dl,
	#service ul li dl dt,
	#service ul li dl dd {
		display: block;
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
	#service ul.service_flow {
		flex-wrap: wrap;
	}
	#service ul.service_flow li {
		width: calc(100% / 7);
	}
	#service ul.service_flow li .flow_inbox {
		padding: 28px 8px;
	}
	#service ul.service_flow li .flow_inbox span {
		width: 35px;
    height: 35px;
    border-radius: 35px;
    line-height: 35px;
	}
	#service ul.service_flow li .flow_inbox p.item {
		font-size: 1em;
	}
}
@media screen and (max-width: 320px) {
	#service ul.service_flow li .flow_inbox span {
		width: 30px;
		height: 30px;
		border-radius: 30px;
		line-height: 30px;
		font-size: 12px;
	}
	
}

/****************************************
 * 事務所紹介 office
*****************************************/

/*ごあいさつ*/
#office .greeting .msg_flex {
	display: flex;
}
#office .greeting .msg_flex figure {
	width: 250px;
	margin: 0 30px 30px 0;
}
#office .greeting .msg_flex figure img {
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.22);
}
#office .greeting .msg_flex .msg_flex___msg {
	width: calc(100% - 280px);
}

/*略歴等*/
#office .greeting .profile {
	margin-top: 60px;
}
#office .greeting .profile h3 {
	
}
#office .greeting .profile dl {
	display: table;
	margin: 45px 0 0;
}
#office .greeting .profile dt,
#office .greeting .profile dd {
	display: table-cell;
	vertical-align: top;
}
#office .greeting .profile dt {
	border-right: 1px solid;
	width: 100px;
}
#office .greeting .profile dd {
	padding-left: 20px;
}
#office .greeting .profile dd h4 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
	font-size: 1em;
	color: #333;
	padding: 0 0 0 18px;
	margin: 0 0 12px;
	position: relative;
}
#office .greeting .profile dd h4:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 10px;
	height: 3px;
	background: #333;
}
#office .greeting .media {
	background: #fafafa;
	padding: 20px;
	margin: 0 auto 50px;
	font-size: .9em;
}
#office .greeting .media dt {
	margin: 0 0 10px;
}
#office .greeting .media dd {
	margin: 0;
}

#office .media ul {
	list-style: inside;
	border-top: 1px solid #EDEDED;
}
#office .media ul li {
	padding: 12px;
	border-bottom: 1px solid #EDEDED;
}

#office .overview table {
	table-layout: fixed;
	width: 100%;
}
#office .overview table,
#office .overview table th,
#office .overview table td {
	border-collapse: collapse;
	border: 1px solid #ededed;
}
#office .overview table th {
	width: 25%;
	font-weight: 200;
	padding: 30px;
	background: #FFFCF9;
}
#office .overview table td {
	padding: 30px;
	border-bottom: 1px solid #ededed;
}
#office .overview table td .button_box {
	margin-top: 12px;
}
#office .overview table td ul {
	margin: 0;
	padding: 0;
	list-style: inside;
}
#office .overview table td ul li {
	
}
#office .overview table td ul li a.window {
	
}
#office .overview table td ul li a.window:after {
	right: -6px;
	background: url(images/common/icon_window.png) no-repeat;
    background-position: center;
    background-size: 100%;
}
#office .overview table td ul li a.window:hover:after {
	background: url(images/common/icon_window-AD3113.png) no-repeat;
    background-position: center;
    background-size: 100%;
}

@media screen and (max-width: 768px) {
	#office .greeting .msg_flex figure {
		width: 180px;
	}
	#office .greeting .msg_flex .msg_flex___msg {
		width: calc(100% - 150px);
	}
}
@media screen and (max-width: 560px) {
	#office .overview table th,
	#office .overview table td {
		padding: 18px;
	}
	
}
@media screen and (max-width: 430px) {
	#office .greeting .msg_flex {
		display: block;
	}
	#office .greeting .msg_flex figure {
		
	}
	#office .greeting .msg_flex .msg_flex___msg {
		width: 100%;
	}
	#office .greeting .profile dl,
	#office .greeting .profile dt,
	#office .greeting .profile dd {
		display: block;
		width: 100%;
	}
	#office .greeting .profile dt {
		border-right: none;
		border-bottom: 1px solid;
	}
	#office .greeting .profile dd {
	    padding: 18px 0 0 0;
	}
	#office .greeting .profile dd h4 {
		position: relative;
	}
	#office .greeting .profile dd h4:before {
		position: absolute;
		left: 0;
	}
	
	#office .overview table th,
	#office .overview table td {
		display: block;
		width: 100%;
		text-align: left;
	}
}
@media screen and (max-width: 320px) {
	
}

/****************************************
 * 料金表 price
*****************************************/

#price .promise {
	margin-bottom: 30px;
}
#price .promise .promise_box {
	
}
#price .promise p.promise_title {
	text-align: center;
}


#price .item {
	margin-top: 30px;
}
#price span.price {
	color: #FF5A33;
	font-weight: 600;
	background: none !important;
}

/*価格*/
#price .price_value dl {
	display: flex;
	align-items: center;
	font-size: 1.3em;
	width: 100%;
}
#price .price_value dt {
	width: 50%;
	text-align: center;
	background: #FF5A33;
	color: #FFF;
	padding: 8px;
    font-weight: bolder;
	border-radius: 12px;
}
#price .price_value dt span {
	display: block;
	font-size: .7em;
}
#price .price_value dd {
	width: 50%;
	color: #FF5A33;
	text-align: center;
	padding: 8px;
    font-weight: 600;
}
#price .price_value dd span {
	font-size: .8em;
	display: block;
}
#price .price_value ul.options {
	margin-top: 30px;
	list-style: inside;
}
#price .price_value ul.options li {
	margin-top: 6px;
}

/*内容*/
#price .process {
	width: 100%;
	padding: 30px;
	margin: 30px auto 0;
	border: 8px solid #eee;
	position: relative;
	z-index: 0;
}
#price .process:before {
	content: '';
	display: block;
	background: #146152;
	position: absolute;
	top: -8px;
	left: -8px;
	width: 8px;
	height: 8px;
	z-index: 1;
}
#price .process ol {
	margin-left: 2em;
    list-style: decimal-leading-zero;
}
#price .process ol li {
	margin-top: 6px;
}

/*実費*/
#price .detail {
	padding: 60px 0 0;
	position: relative;
}
#price .detail .detail_title {
	display: inline-block;
    background: #FFF;
	border: 1px solid #738B2C;
    font-size: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
    color: #738B2C;
    border-radius: 30px;
    padding: 6px 22px;
	position: absolute;
	top: -25px;
}
#price .detail ol {
	margin-left: 2em;
	margin-top: -6px;
    list-style: decimal-leading-zero;
}
#price .detail ol li {
	margin-top: 6px;
}

/* お客様へのお願い */
#price .request {
	padding: 60px 30px 30px;
	background: #F7FAEF;
	border: 1px dashed #B4CF66;
	position: relative;
}
#price .request .request_title {
	display: inline-block;
    background: #738B2C;
    font-size: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
    color: #FFF;
    border-radius: 30px;
    padding: 6px 22px;
	position: absolute;
	top: -25px;
}

/* 計算例 */
#price .example .example_flex {
	display: flex;
	align-items: flex-start;
}
#price .example .example_flex > div {
	padding-right: 60px;
	width: 45px;
}
#price .example .example_flex > div .example_title {
	margin: 0;
	font-size: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
#price .example .example_flex .example_flex___text {
	padding: 0;
	width: calc(100% - 45px);
}

/*表*/
#price table,
#price table tr,
#price table th,
#price table td {
	border-collapse: collapse;
	border: 1px solid #ededed;
}
#price table {
	table-layout: fixed;
	width: 100%;
}
#price table th,
#price table td {
	text-align: center;
	font-weight: 200;
	padding: 10px;
}
#price table td.each-price {
	color: #FF5A33;
	font-weight: 600;
}
#price table th {
	font-weight: 600;
	background: #F6FDFB;
}
#price table th span {
	display: block;
	font-size: .9em;
}
#price p.memo {
	margin-top: 12px;
	color: #146152;
	text-align: center;
	font-weight: 600;
}

/*遺言*/
.price_igon {
	margin-top: 45px;
}

@media screen and (max-width: 560px) {
	#price .price_value dl {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 430px) {
	#price .price_value dl,
	#price .price_value dl dt,
	#price .price_value dl dd {
		display: block;
		width: 100%;
	}
	
	#price .process {
		padding: 20px;
	}
	#price .request {
    padding: 45px 20px 20px;
	}
	#price .example .example_flex > div {
		padding-right: 30px;
		width: 35px;
	}
}
@media screen and (max-width: 320px) {
	
}

/****************************************
 * 相談の流れ flow
*****************************************/

#flow .flowstep_item {
	margin-top: 60px;
}
#flow .flowstep_item .conts_title {
	margin: 0;
}
#flow .flowstep_item .conts_title span.step {
	font-size: .5em;
    display: block;
    margin-bottom: -12px;
    letter-spacing: .09em;
}
#flow .flowstep_item dl {
	
}
#flow .flowstep_item dl dt {
	
}
#flow .flowstep_item dl dd {
	padding: 30px;
	margin: 0;
}

@media screen and (max-width: 560px) {
	#flow .flowstep_item {
		margin-top: 45px;
	}
	#flow .flowstep_item .conts_title {
		display: flex;
		align-items: center;
	}
	#flow .flowstep_item .conts_title span.step {
		margin: 0 6px 0 0;
	}
}
@media screen and (max-width: 430px) {
	#flow .flowstep_item {
		margin-top: 30px;
	}
	#flow .flowstep_item dl dd {
		padding: 30px 0;
	}
}

/****************************************
 * アクセス access
*****************************************/

#access .map_text {
	margin-top: 30px;
}
#access dl.aroundmap {
	width: 100%;
	display: table;
}
#access dl.aroundmap dt,
#access dl.aroundmap dd {
	display: table-cell;
	vertical-align: top;
}
#access dl.aroundmap dt {
	width: 60%;
}
#access dl.aroundmap dd {
	padding-left: 20px;
}
#access .route {
	background: url(images/access/route_bg.png) repeat;
	padding: 10px 20px;
}
#access .route dl {
	width: 100%;
	display: table;
	margin-top: 30px;
}
#access .route dl dt,
#access .route dl dd {
	display: table-cell;
	vertical-align: top;
}
#access .route dl dt {
	width: 50%;
	padding-left: 20px;
}
#access .route dl dt .ribbon-box {
	display: block;
	position: relative;
	margin: 0 auto;
	width: 100%;
}
#access .route dl dt .ribbon-box p.ribbon {
	display: inline-block;
	position: absolute;
	box-sizing: border-box;
	padding: 5px 10px 5px 15px;
	margin: 0 0 0 -20px;
	width: 4.5em;
	color: #fff;
	background: #74b902;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	bottom: 30px;
	border-radius: 0 30px 30px 0;
}
#access .route dl dt .ribbon-box p.ribbon:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px #659E03;
}
#access .route dl dd {
	padding-left: 20px;
	padding: 30px 0 30px 30px;
}
#access dl.googlemap {
	width: 100%;
	margin: 30px auto 10px;
}
#access dl.googlemap dt {
	padding: 20px;
	background: #FFFCF9;
}
#access dl.googlemap i {
	color: #FF9A16;
	margin-right: 10px;
	font-size: 2em;
	vertical-align: middle;
}
#access dl.googlemap dd {
	width:100%;
	margin: 0;
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 768px) {
	#access .route {
		padding: 0;
	}
}
@media screen and (max-width: 560px) {
	#access .route dl dt {
		width: 45%;
	}
	#access .route dl dd {
		padding: 0 0 0 18px;
	}
}
@media screen and (max-width: 430px) {
	#access .route dl,
	#access .route dl dt,
	#access .route dl dd {
		display: block;
		width: 100%;
	}
	#access .route dl dd {
		padding: 0;
		margin-top: 18px;
	}
}

/****************************************
 * お問い合わせ
 * *************************************/

#contact .contact_box {
	margin-top: 45px;
}
#contact p.open {
	font-size: 1.1em;
}
#contact p.open span {
	color: #FC4A1A;
	font-weight: bolder;
	margin-right: 12px;
}

@media screen and (max-width: 430px) {
	#contact img {
		width: 280px;
	}
}

/****************************************
 * フォーム
 * **************************************/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	margin: 0;
	padding: 10px;
	max-width: 100%;
	outline: none;
	border: 1px solid #ddd;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	background: #fafafa;
	color: #777;
	vertical-align: bottom;
	font-size: 1.1em;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	border: 1px solid #fafafa;
	background: #FFEFE0;
	color: #333333;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: linear-gradient(to bottom, #FFB000, #FF9A16);
	color: #FFFFFF;
	text-decoration: none;
	font-weight: bold;
	line-height: normal;
	cursor: pointer;
	-webkit-transition: all .3s;
	transition: all .3s;
	-webkit-appearance: none;
	width: 40%;
	padding:15px 0;
	font-size: 1.1em;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	color: #FFFFFF;
	opacity: .7;
}
.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
	position: relative;
	top: 1px;
}

/****************************************
 * よくある質問 faq
 * *************************************/

#faq .faq_set {
	margin-top: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ededed;
}
#faq .faq_set .faq_q {
	font-size: 1.3em;
	line-height: 1.6;
}
#faq .faq_set .faq_q span.q {
	display: block;
	padding-left: 38px;
	position: relative;
}
#faq .faq_set .faq_q span.q:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
	background: url(images/common/icon_q.png) no-repeat;
	background-size: 100%;
	width: 28px;
	height: 28px;
}
#faq .faq_set .faq_a {
	padding-left: 30px;
}

@media screen and (max-width: 560px) {
	#faq .faq_set .faq_q {
		font-size: 1.1em;
		margin: 0 0 12px;
	}
	#faq .faq_set .faq_q span.q:before {
		width: 22px;
    height: 22px;
	}
	#faq .faq_set .faq_a {
		padding: 0;
	}
}
@media screen and (max-width: 430px) {
	#faq .faq_set .faq_q {
		font-size: 1em;
	}
	#faq .faq_set .faq_q span.q {
		padding-left: 28px;
	}
	#faq .faq_set .faq_q span.q:before {
		width: 18px;
		height: 18px;
	}
}

/****************************************
 * 対応地域 area
*****************************************/

#area .area_inbox {
	margin-top: 60px;
}
#area ul.case {
	list-style: inside;
    border: none;
    font-weight: bolder;
}
#area ul.area-list {
	width: 100%;
	margin-bottom: 50px;
}
#area ul.area-list li {
	display: inline-block;
	margin-right: 3px;
}
#area ul.area-list li:after {
	content: "／";
	margin-left: 3px;
}
#area ul.area-list li:last-child:after {
	content: none;
}

/****************************************
 * 掲載メディア media
*****************************************/

#media .majestic a {
	display: inline-block;
	background: #74b901;
	color: #FFF;
	border-radius: 60px;
	padding: 12px 28px 12px 22px;
}


/****************************************
 * privacy-policy　プライバシーポリシー
 * *************************************/

#privacy-policy ul {
	list-style: inside;
	margin-bottom: 30px;
	margin-left: .6em;
}
#privacy-policy ul li {
	padding-left: 1em;
	text-indent: -1.4em;
	margin-bottom: 10px;
}

/****************************************
 * サイトマップ sitemaps
 * *************************************/

.sitemaps_nav ul {
	list-style: inside;
	border-top: 1px solid #ededed;
}
.sitemaps_nav ul li {
	padding-left: 30px;
	border-bottom: 1px solid #ededed;
}

ul.sitemaps_articles {
	margin-top: 30px;
	list-style: inside;
	border-top: 1px solid #ededed;
}
ul.sitemaps_articles li {
	padding-left: 30px;
	border-bottom: 1px solid #ededed;
}
.sitemaps_nav ul li a,
ul.sitemaps_articles li a {
	display: inline-block;
	padding: 8px 12px;
}

@media screen and (max-width: 560px) {
	.sitemaps_nav ul li,
	ul.sitemaps_articles li {
		padding-left: 20px;
	}
	.sitemaps_nav ul li a,
	ul.sitemaps_articles li a {
		padding: 8px 0;
	}
}

/****************************************
 * 404 error
*****************************************/

#error {
	text-align: center;
}
#error .error_sitemap {
	margin-top: 60px;
	text-align: left;
}


/****************************************
 * index.php Main
*****************************************/
.content-box{float: right;margin-top: -0.25em;width: 420px;}
.content-box .more-link{margin: 0;}

.thumbnail-box{float: left;width: 160px;}
.thumbnail-box img{width: 160px;height: 160px;}


/****************************************
 * オリジナル記事
 * home.php
 * archive.php
 * single.php
*****************************************/

.archive_note {
	margin-top: 60px;
}
.archive_posts {
	margin-top: 18px;
}
.archive_posts ul li {
	margin-top: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #ededed;
}
.archive_posts .excerpt {
	position: relative;
}
.archive_posts .excerpt > div {
	text-align: right;
	margin-top: 3px;
}
.archive_posts a.more {
	position: relative;
	padding-right: 22px;
	color: #FF5A33;
}
.archive_posts a.more:after {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
	background: url(images/common/icon_arrow-orange.png) no-repeat;
	background-size: 100%;
	width: 16px;
	height: 16px
}

#single .summary {
	width: 100%;
	margin: 30px 0;
    padding: 0 30px;
}
#single .summary .box {
	position: relative;
	background: url(images/articles/summary_bg.jpg) no-repeat;
	background-size: 140px;
	background-position: left 12px top 20px;
	padding: 40px 30px 30px 170px;
	margin-top: -40px;
}
#single .content {
	margin-top: 30px;
}

/*箇条書き*/
.explanation {
	margin-bottom: 30px;
}
.explanation ol {
	margin: 0 0 30px 2em;
	list-style: decimal;
}
.explanation ol li {
	margin-top: 8px;
}

#single ul {
	list-style: inside;
	margin: 0 0 30px 2em;
}
#single ul li {
	margin-top: 8px;
}

/*条文*/
dl.legal-text {
	background: #fafafa;
	width: 100%;
	margin-bottom: 30px;
	display: table;
}
dl.legal-text dt,
dl.legal-text dd {
	display: table-cell;
	vertical-align: middle;
}
dl.legal-text dt {
	position: relative;
	width: 140px;
	text-align: center;
	color: #fff;
	clear: both;
	padding: 10px 15px;
	background: #146152;
}
dl.legal-text dt span {
	display: block;
	font-size: .9em;
}
dl.legal-text dt::after {
	content: " ";
	position: absolute;
    left: 100%;
    top: 50%;
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
    border-width: 10px;
    margin-top: -10px;
    border-left-color: #146152;
}
dl.legal-text dd {
	padding: 30px;
	margin: 0;
	display: table-cell;
	border: 1px solid #146152;
}
dl.legal-text dd dt,
dl.legal-text dd dd {
	display: block;
	border: none;
	padding: 0 0 0 15px;
}
dl.legal-text dd ol {
	margin: 0;
	padding-left: 20px;
	list-style: decimal;
}
dl.legal-text dd ol li {
	margin: 0 0 10px;
}
dl.legal-text dd ol li:last-child {
	margin-bottom: 0;
}

/*判例*/
.case {
    position: relative;
    margin-bottom: 30px;
    border: solid 2px #74b902;
}
.case span.case-court {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 5px 10px;
    line-height: 25px;
    background: #74b902;
    color: #ffffff;
}
.case .case-text {
	width: 96%;
	margin: 40px auto 20px;
}

/*関連記事*/
.related {
	padding: 30px 30px 50px;
	background: #ededed url(images/articles/related_bg.png) repeat;
}
.related ul {
	overflow: hidden;
	background: #FFF;
	border-radius: 5px;
	padding: 30px;
}
.related ul li {
	float: left;
	width: calc(100%/2);
	padding: 5px 0;
	border-bottom: 1px dotted #ededed;
}
.related ul li a:before {
	content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}
.related ul li a:hover {
	opacity: .7;
}

@media screen and (max-width: 1024px) {
	.office-information ul li a {
		padding: 10px 3px;
	}
}
@media screen and (max-width: 768px) {
	.office-information ul li a {
		padding: 10px 6px;
	}
}
@media screen and (max-width: 560px) {
	#article-contents .writer span {
		display: block;
	}
}
@media screen and (max-width: 480px) {
	dl.legal-text,
	dl.legal-text dt,
	dl.legal-text dd {
		display: block;
		width: 100%;
	}
	dl.legal-text dt {
		padding: 5px 0;
	}
	dl.legal-text dt::after {
		left: 0;
		top: 100%;
		right: 0;
		bottom: -10px;
		width: 0px;
		height: 0px;
		margin: auto;
		border-style: solid;
		border-color: #146152 transparent transparent transparent;
		border-width: 10px 10px 0 10px;
	}
	dl.legal-text dt span {
		display: inline;
		font-size: 1em;
		margin-right: 10px;
	}
	dl.legal-text dd {
		padding: 20px;
	}
	.case {
		padding: 0 10px;
	}
	.case span.case-court {
		font-size: .9em;
	}
	.related {
		padding: 15px 15px 20px;
	}
	.related ul {
		padding: 15px;
	}
	.related ul li {
		float :none;
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
	#single .summary {
		padding: 0 12px;
		margin: 20px 0;
	}
}
@media screen and (max-width: 320px) {
	#single .summary {
		padding: 0 12px;
	}
	dl.legal-text dd {
		padding: 18px 12px;
	}
}

/****************************************
 * ページナビゲーション
*****************************************/

nav.navigation {
	clear: both;
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin-top: 30px;
}
nav.navigation > div {
	width: 30%;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	border-left: 1px solid #ededed;
    border-top: 1px solid #ededed;
	display: flex;
    justify-content: space-between;
	align-items: stretch;
	font-size: .9em;
	font-weight: bolder;
}
nav.navigation .nav-links .page-numbers{
	display: inline-block;
	border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    width: 100%;
	padding: 6px;
}
nav.navigation .nav-links .page-numbers.dots {
	color: #999;
}
nav.navigation .nav-links span.current {
	background: #ededed;
	color: #146152;
}
nav.navigation .nav-links a:hover {
	display: inline-block;
	background: #B4CF66;
	color: #FFF;
}
nav.navigation .nav-links a.page-numbers:hover {
	opacity: .7;
}
nav.navigation .nav-links a.prev,
nav.navigation .nav-links a.next {
	
}
nav.navigation .nav-links a.prev:hover,
nav.navigation .nav-links a.next:hover {
}

@media screen and (max-width: 768px) {
	nav.navigation {display:block;}
}

/****************************************
 * 用語集
 * archive-glossary.php
 * single-glossary.php
*****************************************/

#archive-glossary ul {
	width: 100%;
	border-top: 1px solid #ededed;
}
#archive-glossary ul li {
	margin-top: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid #ededed;
}

@media screen and (max-width: 420px) {
	#archive-glossary-contents .content {
		padding: 0 0 30px;
	}
	#archive-glossary-contents .content ul li {
		float: none;
		width: 100%;
	}
	#archive-glossary-contents .content ul li dl {
		margin-bottom: 15px;
	}
	#archive-glossary-contents .content ul li dd {
		font-size: .8em;
	}
}

#single-glossary .description {
	
}



/* 
 * 関連記事
 * **************************************/

#related .related_item {
	background: #FFF;
	margin-top: 12px;
	padding: 30px;
}
#related .related_item .related_title {
	display: block;
	text-align: left;
	margin: 0 0 12px;
    padding: 0 0 0 1.3em;
	border: none;
	position: relative;
}
#related .related_item .related_title:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url(images/common/icon_sqarrow-orange.png) no-repeat;
    background-size: 100%;
    width: 18px;
    height: 18px;
}
#related .related_item p {
	margin: 0;
}
#related .related_item > div {
	text-align: right;
	margin-top: 3px;
}
#related .related_item a.more {
	position: relative;
	padding-right: 22px;
	color: #FF5A33;
}
#related .related_item a.more:after {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
	background: url(images/common/icon_arrow-orange.png) no-repeat;
	background-size: 100%;
	width: 16px;
	height: 16px
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 560px) {
	
}
@media screen and (max-width: 430px) {
	#related .related_item {
		padding: 20px;
	}
	#related .related_item .related_title:before {
		width: 14px;
		height: 14px;
	}
}
@media screen and (max-width: 320px) {
	#related,
	#related .related_item {
		padding: 18px 12px;
	}
	#related .related_item .related_title:before {
		width: 12px;
		height: 12px;
	}
}

/****************************************
 * お知らせ
 * archive-news.php
 * single-news.php
*****************************************/

#archive-news dl {
	display: table;
	width: 100%;
	margin-bottom: 15px;
    border-bottom: 1px solid #ededed;
    padding-bottom: 15px;
}
#archive-news dl dt,
#archive-news dl dd {
	display: table-cell;
}
#archive-news dl dt {
	width: 20%;
}
#archive-news dl dd {
	
}
#archive-news dl dd span {
	float: right;
}
#archive-news dl dd span a {
	display: inline-block;
    background: #44803F;
    color: #FFF;
    border-radius: 4px;
    font-size: .9em;
    padding: 2px 26px 2px 12px;
	position: relative;
}
#archive-news dl dd span a:after {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    background: url(images/common/icon_arrow.png) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px
}

#single #news-contents .content {
	margin: 50px 0 0;
    overflow: hidden;
    position: relative;
    background: #fafafa;
    padding: 30px 50px 70px;
    color: #454545;
}
#single #news-contents .content:after{
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    border-width: 0 35px 35px 0;
    border-style: solid;
    border-color: #EDEDED #fff #EDEDED;
}
#single #news-contents .content .meta {
	text-align: right;
	margin: 10px 0 70px;
}
#single #news-contents .content .meta span {
	display: block;
	border-bottom: 1px solid #ededed;
	padding-bottom: 5px;
}
#single #news-contents .content ul {
	list-style: inside;
	margin-bottom: 30px;
}
#single #news-contents .content ul li {
	text-indent: -26px;
    padding-left: 30px;
	margin: 0 0 5px;
}

@media screen and (max-width: 560px) {
	#archive-news dl,
	#archive-news dl dt,
	#archive-news dl dd {
		display: block;
		width: 100%;
	}
	#archive-news dl dt {
		font-size: .9em;
	}
	#archive-news dl dd {
		padding: 0 90px 0 0;
		position: relative;
	}
	#archive-news dl dd span {
		position: absolute;
		right: 0;
		bottom: 0;
	}
}
@media screen and (max-width: 480px) {
	
}


/****************************************
 * サイドバー
*****************************************/

aside .aside_box {
	margin-top: 30px;
}
aside .aside_info p {
	font-size: .73em;
	margin: 0;
}
aside .aside_info p.aside_info_open {
	text-align: center;
    font-size: 1.3em;
	font-weight: bold;
	color: #FF5A33;
}
aside .aside_info p.aside_info_phone {
	text-align: center;
    font-size: 1.1em;
	font-weight: bolder;
	color: #FF5A33;
	margin-top: 5px;
}
aside .aside_info p.aside_info_free {
	text-align: center;
	color: #FF5A33;
	background: #FFEC5C;
    border-radius: 60px;
    padding: 6px;
    font-size: 1em;
    font-weight: bolder;
}

aside .aside_nav {
	
}
aside .aside_nav ul {
	border-top: 1px solid #146152;
}
aside .aside_nav ul li {
	background: #F6FDFB;
    color: #146152;
    border-bottom: 1px solid #146152;
	position: relative;
}
aside .aside_nav ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_sq.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 12px;
	height: 12px;
	transition: all .3s;
	z-index: 1;
}
aside .aside_nav ul li a {
	display: block;
	padding: 12px 12px 12px 32px;
	font-weight: bolder;
	font-size: .9em;
}

aside .aside_bnr a {
	display: block;
	margin-top: 12px;
}

aside .aside_sites {
	
}
aside .aside_sites ul {
	
}
aside .aside_sites ul li {
	font-size: .8em;
}
aside .aside_sites ul li:first-child {
	letter-spacing: -.1em;
}



/* 事務所概要 */
aside #sidebar-office {
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 10px;
}
aside .office {
	font-size: .85em;
	margin-bottom: 10px;
}
aside .office .service {
	position: relative;
	margin: 0 auto 10px;
	padding: 10px;
	width: 100%;
}
aside .office .service:before,
aside .office .service:after {
	position: absolute;
	top: 0;
	content: '';
	width: 10px;
	height: 100%;
	border-top: 1px solid #C9C9C9;
	border-bottom: 1px solid #C9C9C9;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
aside .office .service:before {
	left: 0;
	border-left: 1px solid #C9C9C9;
}
aside .office .service:after {
	right: 0;
	border-right: 1px solid #C9C9C9;
}
aside .office ul li {
	background: url(images/aside/aside-icon.png) no-repeat;
	background-position: left 0 top 10px;
	background-size: 28px;
	padding: 0 0 0 36px;
	margin-bottom: 5px;
	line-height: 1.6;
}
aside .office p.number {
	font-size: 1.8em;
	font-family: 'Lato', sans-serif;
	margin: -5px 0;
	font-weight: 600;
	text-align: center;
}
aside .office p.number a::before {
	content: "\f095";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: .8em;
	display: inline-block;
	margin-right: 10px;
}
aside .office .contact-btn {
	margin-bottom: 10px;
}
aside .office .contact-btn a {
	background: linear-gradient(to bottom, #FF7066, #FF1500);
	display: block;
	color: #fff;
	font-size: 1em;
	padding: 5px 15px;
	border-radius: 5px;
	text-align: center;
	width: 100%;
}
aside .office .contact-btn a:after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;
}
aside .office .contact-btn a:hover {
	opacity: .7;
}
aside .office .time {
	margin: 10px 0;
	color: #ff1500;
	font-weight: 600;
}
aside .office .time span:before {
	content: "《";
}
aside .office .time span:after {
	content: "》";
	margin-right: 5px;
}
aside .office dt,
aside .office dd {
	margin: 0 0 5px;
	font-size: .9em;
	text-align: center;
}

/* その他 */
aside #sidebar-other {
	border-radius: 5px;
	padding: 10px;
	font-size: .85em;
	margin-bottom: 10px;
}
aside #sidebar-other .images {
	text-align: center;
}

/* サイドバーのメニュー */
#nav_menu-2 {overflow: hidden;}
#nav_menu-2 .menu-side1-container {background: #6B5141;}
#nav_menu-2 .menu-side1-container ul#menu-side1 {}
#nav_menu-2 .menu-side1-container ul#menu-side1 li {position:relative;text-align:left;padding:12px 20px;border-top: 1px solid #6D4C37;border-bottom: 1px solid #443023;}
#nav_menu-2 .menu-side1-container ul#menu-side1 li a {display: block;color:#FFFFFF;text-align:left;}
#nav_menu-2 .menu-side1-container ul#menu-side1 li a:after {position:absolute;content: "\f105";font-family: FontAwesome;right:0;width:30px;}
#nav_menu-2 .menu-side1-container ul#menu-side1 li:hover {background:#AF907D;}

/* 記事メニュー */
#sidebar .side_article {margin-bottom:20px;}
#sidebar .side_article h2 {background: none;border:0;padding:0;box-shadow:none;}
#nav_menu-3 {margin-bottom:10px;}
#nav_menu-3 ul#menu-side2 li {padding:10px 20px;background:url(images/common/side_article_li-min.png) no-repeat;background-position: bottom;}
#nav_menu-3 ul#menu-side2 li ul.sub-menu {margin: 0;}
#nav_menu-3 ul#menu-side2 li ul.sub-menu li {background:none;padding: 5px;font-size:90%;}
#nav_menu-3 ul#menu-side2 li ul.sub-menu li:before {content: "-";margin-right: 5px;}
#nav_menu-3 ul#menu-side2 li a {text-align:left;display: inline;}

#nav_menu-4 ul#menu-side3 li {line-height: 2;font-size: 90%;}
#nav_menu-4 ul#menu-side3 li::before {content: "\f0da";font-family: FontAwesome;margin-right: 10px;}


/* 新着表示 */
#sidebar .newarrivals {width: 100%;line-height: 1;background:url(images/common/newarrivals_bg_middle-min.png) repeat;background-size: contain;}
#sidebar .newarrivals h3 {background:none;text-align: center;padding: 0;margin:0 0 20px 0;color:#6B5141;}
#sidebar .newarrivals ul {width:80%;margin: 0 auto 10px;}
#sidebar .newarrivals ul li {line-height: 1;color: #666666;margin-bottom:5px;}
#sidebar .newarrivals ul li span.new {background: red;color: #FFFFFF;padding:2px 5px;}
#sidebar .newarrivals ul li p {margin:5px 0 0 0;line-height: 1.6;}

/* サイト内検索 */
#search-3 {
	margin-bottom: 10%;
}

/* バナー */
#sidebar .bnr img {border: none;margin-bottom: 10px;}

/* リンク */
#sidebar .link {overflow: hidden;}
#sidebar .link img {width: 70%;display:block;margin: 0 auto;}
#sidebar .link ul {margin: 10px 0;}

@media screen and (max-width: 1024px) {
	.link {clear:both;text-align:center;}
	.link img {width:30%}
}




/****************************************
 * フッター
*****************************************/

footer {
	overflow: hidden;
	background: #ededed;
	padding: 90px 0 0;
}
footer a {
	color: #000;
}
footer .totop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 999;
	transition: all .5s;
}

/*フッターナビ*/
footer nav.footer_nav {
	width: 920px;
    margin-left: auto;
}
footer nav.footer_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: -6px;
}
footer nav.footer_nav ul li {
	margin-left: 18px;
	margin-top: 6px;
	padding-left: 16px;
	position: relative;
}
footer nav.footer_nav ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_arrow.png) no-repeat;
	background-position: center;
	background-size: 100%;
	width: 12px;
	height: 12px;
	transition: all .3s;
	z-index: 1;
}

.footer_must {
	margin-bottom: 30px;
}
.footer_must nav ul {
	display: flex;
}
.footer_must nav ul li {
	display: inline-block;
	margin-right: 12px;
	font-size: .8em;
}

/*ロゴ以下*/
footer .footer_info {
	margin: 60px 0 30px;
}
footer .footer_info p {
	font-size: .9em;
}
footer .footer_info img.footer_logo {
	margin-bottom: 6px;
}
#copyright{
	padding: 22px 0;
	font-size: .8em;
	text-align: center;
	border-top: 1px solid #C6C0CD;
	color: #393441;
}
#copyright a {
	display: inline-block;
	color: #393441;
}

@media screen and (max-width: 1024px) {
	footer nav.footer_nav {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	footer {
		padding: 75px 0 0;
	}
}
@media screen and (max-width: 560px) {
	footer {
		padding: 60px 0 0;
	}
	footer .totop {
		bottom: 18px;
		right: 18px;
		width: 60px;
	}
	footer .footer_info {
		margin: 0 0 30px;
		text-align: center;
	}
	footer .footer_info img.footer_logo {
		margin-bottom: 18px;
		width: 280px;
	}
	.footer_must nav ul {
		margin-top: 12px;
		justify-content: center;
	}
}
@media screen and (max-width: 320px) {
	footer {
		padding: 45px 0 0;
	}
	footer .totop {
		width: 45px;
	}
}

/****************************************
画像キャプション
*****************************************/
.wp-caption {text-align: right;}
.wp-caption-text, .gallery-caption{font-size: 10px;margin: 0;color: #6d4c37;}
.wp-caption img {margin: 0;padding: 0;border: 0 none;vertical-align: bottom;}
.wp-caption-dd {margin: 0;padding: 0 4px 5px;font-size: 11px;line-height: 17px;}

figcaption {font-size: 10px;line-height: 1.5;text-align: center;margin-top:3px;}

/****************************************
WordPress Misc
*****************************************/
.alignleft {float: left;}
.alignright {float: right;}
img.alignright {display: inline-block;margin: 0 0 1em 1.5em;}
img.alignleft {display: inline-block;margin: 0 1.5em 1em 0;}

/****************************************
Clearfix
*****************************************/

#container:after,#header .menu > ul:after,#header ul.menu:after,.clearfix:after {display: block;visibility: hidden;clear: both;height: 0;content: " ";font-size: 0;}

/* clearfix for ie7 */
#container,#header .menu > ul,#header ul.menu,.clearfix {display: inline-block;}
#container,#header .menu > ul,#header ul.menu,.clearfix {display: block;}

.sub_list ol {line-height: 2.8;}
.sub_list ol li {line-height: 2;font-size: 100%;}


/******************************************
2021.6.11 追加 */

.souzokuhouki {
	
}
.souzokuhouki .souzokuhouki_title {
	margin: 0 !important;
	padding: 15px 0 !important;
	color: #CC0000 !important;
	border-bottom: 4px double #CC0000 !important;
}
.souzokuhouki .souzokuhouki_title:before {
	content: "";
	background: linear-gradient(to bottom, #CC0000, #990000) !important;
	width: 100%;
	height: 24px;
	display: inline-block;
	border-radius: 6px;
}
.souzokuhouki .souzokuhouki_top {
	margin: 45px auto 0;
}
.souzokuhouki .souzokuhouki_text {
	border: 1px solid;
	background: #FFF;
	padding: 30px;
	width: 900px;
	margin: 60px auto 0;
}
.souzokuhouki ul {
	border: none !important;
}
.souzokuhouki ul li {
	line-height: 1.8 !important;
	border: none !important;
}
.souzokuhouki ul li ul li {
	line-height: 1.3 !important;
	border: none !important;
}


/*カテゴリー.php */
#category .souzokuhouki,
#page .souzokuhouki {
	background: none !important;
	margin-bottom: 30px;
}
#category .souzokuhouki .souzokuhouki_title,
#page .souzokuhouki .souzokuhouki_title {
	padding-top: 0 !important;
	background: none !important;
} 
#category .souzokuhouki .souzokuhouki_title:before,
#page .souzokuhouki .souzokuhouki_title:before {
	width: 100% !important;
	height: 24px !important;
	position: static !important;
}
#category .souzokuhouki .souzokuhouki_top,
#page .souzokuhouki .souzokuhouki_top {
	margin: 30px auto 0;
}
#category .souzokuhouki .souzokuhouki_text,
#page .souzokuhouki .souzokuhouki_text {
	width: 100%;
	margin: 30px auto 0;
}


@media screen and (max-width: 768px) {
	.souzokuhouki .souzokuhouki_text {
		width: 100%;
		margin: 45px auto 0;
	}
}
@media screen and (max-width: 559px) {
	.souzokuhouki {
		padding: 0 0 30px !important;
	}
	.souzokuhouki .souzokuhouki_top,
	.souzokuhouki .souzokuhouki_text {
		margin: 30px auto 0;
	}
	.souzokuhouki ul {
		padding: 0 !important;
	}
}
